diff --git a/bench/abseil-cpp/optimized/algorithm_test.cc.ll b/bench/abseil-cpp/optimized/algorithm_test.cc.ll index e868db31e9c..d5b150c2684 100644 --- a/bench/abseil-cpp/optimized/algorithm_test.cc.ll +++ b/bench/abseil-cpp/optimized/algorithm_test.cc.ll @@ -249,7 +249,7 @@ lpad.body.i.i: ; preds = %.noexc invoke.cont: ; preds = %.noexc store ptr %call5.i.i.i.i2.i.i.i, ptr %container_.i.i, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 3 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 12 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::LinearSearchTest", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 store i32 1, ptr %call5.i.i.i.i2.i.i.i, align 4 @@ -859,7 +859,7 @@ lpad.body.i.i: ; preds = %.noexc invoke.cont: ; preds = %.noexc store ptr %call5.i.i.i.i2.i.i.i, ptr %container_.i.i, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 3 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 12 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::LinearSearchTest", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 store i32 1, ptr %call5.i.i.i.i2.i.i.i, align 4 diff --git a/bench/abseil-cpp/optimized/bernoulli_distribution_test.cc.ll b/bench/abseil-cpp/optimized/bernoulli_distribution_test.cc.ll index f6f59ef706b..76ed8b8f3fd 100644 --- a/bench/abseil-cpp/optimized/bernoulli_distribution_test.cc.ll +++ b/bench/abseil-cpp/optimized/bernoulli_distribution_test.cc.ll @@ -667,23 +667,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #28 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -5126,7 +5127,7 @@ entry: %conv.i3.i = sext i32 %3 to i64 %conv4.i.i = sext i32 %1 to i64 %conv.i.i = sitofp i32 %0 to double - %add.ptr.i1.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i2.i.i, i64 14 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 224 store double %conv.i.i, ptr %call5.i.i.i.i2.i.i, align 8, !noalias !133 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 8 store i64 %conv4.i.i, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i, align 8, !noalias !133 @@ -5206,8 +5207,7 @@ entry: %__first.coerce4.i.i.i = ptrtoint ptr %begin.coerce to i64 %__last.coerce3.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i, %__first.coerce4.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 4 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -5222,7 +5222,7 @@ _ZNSt6vectorISt4pairIdmESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i: ; preds = br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseISt4pairIdmESaIS1_EE11_M_allocateEm.exit.thread.i.i.i, label %for.body.i.i.i.i.preheader.i.i.i _ZNSt12_Vector_baseISt4pairIdmESaIS1_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i - %add.ptr6.i.i.i = getelementptr inbounds %"struct.std::pair", ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr6.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage7.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr6.i.i.i, ptr %_M_end_of_storage7.i.i.i, align 8 br label %invoke.cont @@ -5233,10 +5233,10 @@ for.body.i.i.i.i.preheader.i.i.i: ; preds = %_ZNSt6vectorISt4pai call5.i.i.i.i.noexc.i.i: ; preds = %for.body.i.i.i.i.preheader.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 - %0 = and i64 %sub.ptr.sub.i.i.i.i.i.i, -16 + %0 = and i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775792 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i, ptr align 8 %begin.coerce, i64 %0, i1 false) %scevgep.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i, i64 %0 br label %invoke.cont @@ -5712,7 +5712,7 @@ entry: store i64 0, ptr %urbg, align 8 %call5.i.i.i.i2.i.i = tail call noalias noundef nonnull dereferenceable(336) ptr @_Znwm(i64 noundef 336) #26 store ptr %call5.i.i.i.i2.i.i, ptr %data_.i, align 8 - %add.ptr.i1.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 42 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 336 %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(336) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(336) @constinit, i64 336, i1 false) @@ -7116,7 +7116,7 @@ entry: store i64 0, ptr %urbg, align 8 %call5.i.i.i.i2.i.i = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #26 store ptr %call5.i.i.i.i2.i.i, ptr %data_.i, align 8 - %add.ptr.i1.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 12 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 96 %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(96) @constinit.59, i64 96, i1 false) diff --git a/bench/abseil-cpp/optimized/beta_distribution_test.cc.ll b/bench/abseil-cpp/optimized/beta_distribution_test.cc.ll index 8c34838cfda..270e0198965 100644 --- a/bench/abseil-cpp/optimized/beta_distribution_test.cc.ll +++ b/bench/abseil-cpp/optimized/beta_distribution_test.cc.ll @@ -50,11 +50,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.testing::internal::FlatTupleElemBase.88" = type { double } %"struct.testing::internal::FlatTupleElemBase.89" = type { double } %"struct.std::_Head_base.90" = type { %"class.testing::internal::ValueArray" } -%"class.std::tuple.24" = type { %"struct.std::_Tuple_impl.25" } -%"struct.std::_Tuple_impl.25" = type { %"struct.std::_Tuple_impl.26", %"struct.std::_Head_base.28" } -%"struct.std::_Tuple_impl.26" = type { %"struct.std::_Head_base.27" } -%"struct.std::_Head_base.27" = type { double } -%"struct.std::_Head_base.28" = type { double } %"class.std::_Sp_counted_base" = type { ptr, i32, i32 } %"struct.testing::internal::ParameterizedTestSuiteInfo<(anonymous namespace)::BetaDistributionTest>::TestInfo" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unique_ptr", %"struct.testing::internal::CodeLocation" } %"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" } @@ -66,6 +61,11 @@ target triple = "x86_64-unknown-linux-gnu" %"class.std::_Sp_counted_ptr" = type { %"class.std::_Sp_counted_base", ptr } %"class.testing::internal::ParameterizedTestFactory" = type { %"class.testing::internal::TestFactoryBase", %"class.std::tuple.24" } %"class.testing::internal::TestFactoryBase" = type { ptr } +%"class.std::tuple.24" = type { %"struct.std::_Tuple_impl.25" } +%"struct.std::_Tuple_impl.25" = type { %"struct.std::_Tuple_impl.26", %"struct.std::_Head_base.28" } +%"struct.std::_Tuple_impl.26" = type { %"struct.std::_Head_base.27" } +%"struct.std::_Head_base.27" = type { double } +%"struct.std::_Head_base.28" = type { double } %"class.(anonymous namespace)::BetaDistributionTest" = type { %"class.testing::TestWithParam", %"class.(anonymous namespace)::BetaDistributionModel", [8 x i8], %"class.absl::random_internal::NonsecureURBGBase" } %"class.testing::TestWithParam" = type { %"class.testing::Test", %"class.testing::WithParamInterface" } %"class.testing::Test" = type { ptr, %"class.std::unique_ptr.29" } @@ -1527,23 +1527,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #32 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -1714,7 +1715,7 @@ entry: define internal void @_ZN12_GLOBAL__N_175gtest_TestSampleStatistics_SelectedPairsBetaDistributionTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #4 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #34, !noalias !12 - %add.ptr.i1.i.i.i = getelementptr inbounds %"class.std::tuple.24", ptr %call5.i.i.i.i2.i.i.i, i64 6 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 96 store <2 x double> , ptr %call5.i.i.i.i2.i.i.i, align 8, !noalias !12 %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 16 store <2 x double> , ptr %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 8, !noalias !12 @@ -2192,13 +2193,13 @@ declare void @_ZN7testing4Test8TearDownEv(ptr noundef nonnull align 8 dereferenc ; Function Attrs: mustprogress uwtable define internal void @_ZN12_GLOBAL__N_146BetaDistributionTest_TestSampleStatistics_Test8TestBodyEv(ptr nocapture noundef nonnull align 16 dereferenceable(64) %this) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: - %v.addr.i212.i = alloca double, align 8 - %v.addr.i207.i = alloca double, align 8 - %v.addr.i196.i = alloca double, align 8 - %v.addr.i191.i = alloca double, align 8 - %v.addr.i186.i = alloca i32, align 4 - %v.addr.i181.i = alloca i32, align 4 - %v.addr.i176.i = alloca double, align 8 + %v.addr.i214.i = alloca double, align 8 + %v.addr.i209.i = alloca double, align 8 + %v.addr.i198.i = alloca double, align 8 + %v.addr.i193.i = alloca double, align 8 + %v.addr.i188.i = alloca i32, align 4 + %v.addr.i183.i = alloca i32, align 4 + %v.addr.i178.i = alloca double, align 8 %v.addr.i.i4 = alloca i64, align 8 %gtest_ar.i5 = alloca %"class.testing::AssertionResult", align 8 %ref.tmp33.i = alloca i64, align 8 @@ -2257,20 +2258,20 @@ entry: %inverted_.i = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i, i64 0, i32 9 %variance.i = getelementptr inbounds %"struct.absl::random_internal::DistributionMoments", ptr %m.i, i64 0, i32 2 %mean.i = getelementptr inbounds %"struct.absl::random_internal::DistributionMoments", ptr %m.i, i64 0, i32 1 - %message_.i.i.i64 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i5, i64 0, i32 1 - %method_.i.i.i24 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 8 - %beta_.i.i.i.i25 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 1 - %x_.i.i.i.i27 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 4 - %y_.i162 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 6 - %a_.i163 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 2 - %b_.i164 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 3 - %gamma_.i165 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 7 - %log_x_.i167 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 5 - %inverted_.i224 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 9 + %message_.i.i.i63 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i5, i64 0, i32 1 + %method_.i.i.i23 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 8 + %beta_.i.i.i.i24 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 1 + %x_.i.i.i.i26 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 4 + %y_.i163 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 6 + %a_.i164 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 2 + %b_.i165 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 3 + %gamma_.i166 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 7 + %log_x_.i168 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 5 + %inverted_.i225 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %dis.i6, i64 0, i32 9 br label %for.body for.body: ; preds = %entry, %for.inc - %i.0423 = phi i32 [ 0, %entry ], [ %inc7, %for.inc ] + %i.0424 = phi i32 [ 0, %entry ], [ %inc7, %for.inc ] call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %dis.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %variate.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar_.i) @@ -2304,40 +2305,40 @@ for.body.i: ; preds = %for.inc.i, %_ZNSt6v %data.sroa.15.1227.i = phi ptr [ %add.ptr21.i.i, %_ZNSt6vectorIdSaIdEE7reserveEm.exit.i ], [ %data.sroa.15.2.i, %for.inc.i ] %2 = load i32, ptr %method_.i.i.i, align 8 switch i32 %2, label %if.end.i.i.i.i [ - i32 0, label %for.cond.i127 + i32 0, label %for.cond.i128 i32 1, label %sw.bb3.i.i.i i32 2, label %sw.bb3.i.i.i i32 3, label %land.lhs.true.i.i.i.i ] -for.cond.i127: ; preds = %for.body.i, %for.cond.i127.backedge - %agg.tmp.sroa.0.0.copyload.i.i.i.i.i128 = load i64, ptr %rng_.i, align 16 - %agg.tmp.sroa.2.0.copyload.i.i.i.i.i129 = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 - %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i130 = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i129 to i128 - %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i131 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i130, 64 - %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i132 = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i128 to i128 - %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i133 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i131, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i132 - %mul.i.i.i.i.i.i.i134 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i133, 47026247687942121848144207491837523525 - %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i135 = add i128 %mul.i.i.i.i.i.i.i134, 1442695040888963407 - %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i136 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i135 to i64 - %3 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i135, 64 - %.tr.i.i.i.i.i.i.i137 = trunc i128 %3 to i64 - %.narrow.i.i.i.i.i.i.i138 = add i64 %.tr.i.i.i.i.i.i.i137, 6364136223846793005 - %shr.i.i.i.i.i.i.i139 = lshr i64 %.narrow.i.i.i.i.i.i.i138, 58 - %xor.i.i12.i.i.i.i.i.i140 = xor i64 %.narrow.i.i.i.i.i.i.i138, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i136 - %or.i.i.i.i.i.i.i.i141 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i.i140, i64 %xor.i.i12.i.i.i.i.i.i140, i64 %shr.i.i.i.i.i.i.i139) - %4 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i.i141, i1 false), !range !18 - %and.i.i142 = and i64 %4, 63 - %shl.i.i143 = shl i64 %or.i.i.i.i.i.i.i.i141, %and.i.i142 - %shr.i.i144 = lshr i64 %shl.i.i143, 11 - %and2.i.i145 = and i64 %shr.i.i144, 4503599627370495 +for.cond.i128: ; preds = %for.body.i, %for.cond.i128.backedge + %agg.tmp.sroa.0.0.copyload.i.i.i.i.i129 = load i64, ptr %rng_.i, align 16 + %agg.tmp.sroa.2.0.copyload.i.i.i.i.i130 = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 + %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i131 = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i130 to i128 + %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i132 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i131, 64 + %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i133 = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i129 to i128 + %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i134 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i132, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i133 + %mul.i.i.i.i.i.i.i135 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i134, 47026247687942121848144207491837523525 + %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i136 = add i128 %mul.i.i.i.i.i.i.i135, 1442695040888963407 + %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i137 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i136 to i64 + %3 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i136, 64 + %.tr.i.i.i.i.i.i.i138 = trunc i128 %3 to i64 + %.narrow.i.i.i.i.i.i.i139 = add i64 %.tr.i.i.i.i.i.i.i138, 6364136223846793005 + %shr.i.i.i.i.i.i.i140 = lshr i64 %.narrow.i.i.i.i.i.i.i139, 58 + %xor.i.i12.i.i.i.i.i.i141 = xor i64 %.narrow.i.i.i.i.i.i.i139, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i137 + %or.i.i.i.i.i.i.i.i142 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i.i141, i64 %xor.i.i12.i.i.i.i.i.i141, i64 %shr.i.i.i.i.i.i.i140) + %4 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i.i142, i1 false), !range !18 + %and.i.i143 = and i64 %4, 63 + %shl.i.i144 = shl i64 %or.i.i.i.i.i.i.i.i142, %and.i.i143 + %shr.i.i145 = lshr i64 %shl.i.i144, 11 + %and2.i.i146 = and i64 %shr.i.i145, 4503599627370495 %5 = shl nuw nsw i64 %4, 52 - %reass.sub426 = sub nsw i64 %and2.i.i145, %5 - %or3.i.i147 = add nsw i64 %reass.sub426, 4602678819172646912 - %6 = bitcast i64 %or3.i.i147 to double - %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i26.i = zext i64 %.narrow.i.i.i.i.i.i.i138 to i128 + %reass.sub427 = sub nsw i64 %and2.i.i146, %5 + %or3.i.i148 = add nsw i64 %reass.sub427, 4602678819172646912 + %6 = bitcast i64 %or3.i.i148 to double + %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i26.i = zext i64 %.narrow.i.i.i.i.i.i.i139 to i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i27.i = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i26.i, 64 - %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i28.i = and i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i135, 18446744073709551615 + %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i28.i = and i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i136, 18446744073709551615 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i29.i = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i27.i, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i28.i %mul.i.i.i.i.i.i30.i = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i29.i, 47026247687942121848144207491837523525 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i31.i = add i128 %mul.i.i.i.i.i.i30.i, 1442695040888963407 @@ -2356,57 +2357,57 @@ for.cond.i127: ; preds = %for.body.i, %for.co %shr.i42.i = lshr i64 %shl.i40.i, 11 %and2.i45.i = and i64 %shr.i42.i, 4503599627370495 %9 = shl nuw nsw i64 %8, 52 - %reass.sub427 = sub nsw i64 %and2.i45.i, %9 - %or3.i46.i = add nsw i64 %reass.sub427, 4602678819172646912 + %reass.sub428 = sub nsw i64 %and2.i45.i, %9 + %or3.i46.i = add nsw i64 %reass.sub428, 4602678819172646912 %10 = bitcast i64 %or3.i46.i to double %11 = load double, ptr %a_.i, align 8 - %call6.i148 = call double @pow(double noundef %6, double noundef %11) #31 + %call6.i149 = call double @pow(double noundef %6, double noundef %11) #31 %12 = load double, ptr %b_.i, align 8 - %call7.i149 = call double @pow(double noundef %10, double noundef %12) #31 - %add.i150 = fadd double %call6.i148, %call7.i149 - %cmp.i151 = fcmp ogt double %add.i150, 1.000000e+00 - br i1 %cmp.i151, label %for.cond.i127.backedge, label %if.end.i152 + %call7.i150 = call double @pow(double noundef %10, double noundef %12) #31 + %add.i151 = fadd double %call6.i149, %call7.i150 + %cmp.i152 = fcmp ogt double %add.i151, 1.000000e+00 + br i1 %cmp.i152, label %for.cond.i128.backedge, label %if.end.i153 -if.end.i152: ; preds = %for.cond.i127 - %cmp8.i = fcmp ogt double %add.i150, 0.000000e+00 +if.end.i153: ; preds = %for.cond.i128 + %cmp8.i = fcmp ogt double %add.i151, 0.000000e+00 br i1 %cmp8.i, label %if.then9.i, label %if.end10.i -if.then9.i: ; preds = %if.end.i152 - %div.i158 = fdiv double %call6.i148, %add.i150 +if.then9.i: ; preds = %if.end.i153 + %div.i159 = fdiv double %call6.i149, %add.i151 br label %invoke.cont3.i -if.end10.i: ; preds = %if.end.i152 +if.end10.i: ; preds = %if.end.i153 %call11.i = call double @log(double noundef %6) #31 %13 = load double, ptr %a_.i, align 8 - %mul.i153 = fmul double %call11.i, %13 + %mul.i154 = fmul double %call11.i, %13 %call13.i = call double @log(double noundef %10) #31 %14 = load double, ptr %b_.i, align 8 - %mul15.i154 = fmul double %call13.i, %14 - %15 = call double @llvm.fabs.f64(double %mul.i153) + %mul15.i155 = fmul double %call13.i, %14 + %15 = call double @llvm.fabs.f64(double %mul.i154) %16 = fcmp one double %15, 0x7FF0000000000000 - %17 = call double @llvm.fabs.f64(double %mul15.i154) + %17 = call double @llvm.fabs.f64(double %mul15.i155) %18 = fcmp one double %17, 0x7FF0000000000000 - %or.cond.i155 = select i1 %16, i1 %18, i1 false - br i1 %or.cond.i155, label %if.end19.i, label %for.cond.i127.backedge + %or.cond.i156 = select i1 %16, i1 %18, i1 false + br i1 %or.cond.i156, label %if.end19.i, label %for.cond.i128.backedge if.end19.i: ; preds = %if.end10.i - %cmp20.i = fcmp ogt double %mul.i153, %mul15.i154 - %sub25.i = fsub double %mul.i153, %mul15.i154 - %sub.i156 = fsub double %mul15.i154, %mul.i153 - %sub25.sink.i = select i1 %cmp20.i, double %sub.i156, double %sub25.i - %mul15.sink.i = select i1 %cmp20.i, double %mul.i153, double %mul15.i154 + %cmp20.i = fcmp ogt double %mul.i154, %mul15.i155 + %sub25.i = fsub double %mul.i154, %mul15.i155 + %sub.i157 = fsub double %mul15.i155, %mul.i154 + %sub25.sink.i = select i1 %cmp20.i, double %sub.i157, double %sub25.i + %mul15.sink.i = select i1 %cmp20.i, double %mul.i154, double %mul15.i155 %call26.i = call double @exp(double noundef %sub25.sink.i) #31 - %add27.i157 = fadd double %call26.i, 1.000000e+00 - %call28.i = call double @log(double noundef %add27.i157) #31 + %add27.i158 = fadd double %call26.i, 1.000000e+00 + %call28.i = call double @log(double noundef %add27.i158) #31 %add29.i = fadd double %mul15.sink.i, %call28.i %cmp30.i = fcmp ogt double %add29.i, 0.000000e+00 - br i1 %cmp30.i, label %for.cond.i127.backedge, label %if.end32.i + br i1 %cmp30.i, label %for.cond.i128.backedge, label %if.end32.i -for.cond.i127.backedge: ; preds = %if.end19.i, %if.end10.i, %for.cond.i127 - br label %for.cond.i127, !llvm.loop !19 +for.cond.i128.backedge: ; preds = %if.end19.i, %if.end10.i, %for.cond.i128 + br label %for.cond.i128, !llvm.loop !19 if.end32.i: ; preds = %if.end19.i - %sub33.i = fsub double %mul.i153, %add29.i + %sub33.i = fsub double %mul.i154, %add29.i %call34.i = call double @exp(double noundef %sub33.i) #31 br label %invoke.cont3.i @@ -2421,8 +2422,8 @@ for.cond.i: ; preds = %if.end24.i, %sw.bb3 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i, 64 %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i to i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i - %mul.i.i.i.i.i.i.i116 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i, 47026247687942121848144207491837523525 - %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i = add i128 %mul.i.i.i.i.i.i.i116, 1442695040888963407 + %mul.i.i.i.i.i.i.i117 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i, 47026247687942121848144207491837523525 + %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i = add i128 %mul.i.i.i.i.i.i.i117, 1442695040888963407 %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i to i64 %19 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i, 64 %.tr.i.i.i.i.i.i.i = trunc i128 %19 to i64 @@ -2460,22 +2461,22 @@ for.cond.i: ; preds = %if.end24.i, %sw.bb3 %shr.i43.i = lshr i64 %shl.i41.i, 11 %and2.i46.i = and i64 %shr.i43.i, 4503599627370495 %25 = shl nuw nsw i64 %24, 52 - %reass.sub425 = sub nsw i64 %and2.i46.i, %25 - %or3.i47.i = add nsw i64 %reass.sub425, 4602678819172646912 + %reass.sub426 = sub nsw i64 %and2.i46.i, %25 + %or3.i47.i = add nsw i64 %reass.sub426, 4602678819172646912 %26 = bitcast i64 %or3.i47.i to double %27 = load double, ptr %y_.i, align 8 - %sub.i117 = fsub double 1.000000e+00, %22 - %div.i118 = fdiv double %22, %sub.i117 - %call6.i = call double @log(double noundef %div.i118) #31 - %mul.i119 = fmul double %27, %call6.i + %sub.i118 = fsub double 1.000000e+00, %22 + %div.i119 = fdiv double %22, %sub.i118 + %call6.i = call double @log(double noundef %div.i119) #31 + %mul.i120 = fmul double %27, %call6.i %28 = load double, ptr %a_.i, align 8 - %call7.i = call double @exp(double noundef %mul.i119) #31 + %call7.i = call double @exp(double noundef %mul.i120) #31 %mul8.i = fmul double %28, %call7.i %29 = load double, ptr %b_.i, align 8 - %add.i120 = fadd double %29, %mul8.i - %div9.i = fdiv double 1.000000e+00, %add.i120 + %add.i121 = fadd double %29, %mul8.i + %div9.i = fdiv double 1.000000e+00, %add.i121 %30 = load double, ptr %gamma_.i, align 8 - %31 = call double @llvm.fmuladd.f64(double %30, double %mul.i119, double 0xBFF62E42FEFA39EF) + %31 = call double @llvm.fmuladd.f64(double %30, double %mul.i120, double 0xBFF62E42FEFA39EF) %32 = load double, ptr %a_.i, align 8 %add12.i = fadd double %32, %31 %sub13.i = fsub double %add12.i, %mul8.i @@ -2489,17 +2490,17 @@ if.end.thread.i: ; preds = %for.cond.i land.lhs.true.i: ; preds = %for.cond.i %add16.i = fadd double %sub13.i, 0x4004E020FBF6C69A - %mul17.i121 = fmul double %mul15.i, 5.000000e+00 - %cmp18.i = fcmp ult double %add16.i, %mul17.i121 - br i1 %cmp18.i, label %if.end.i123, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit + %mul17.i122 = fmul double %mul15.i, 5.000000e+00 + %cmp18.i = fcmp ult double %add16.i, %mul17.i122 + br i1 %cmp18.i, label %if.end.i124, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit -if.end.i123: ; preds = %land.lhs.true.i +if.end.i124: ; preds = %land.lhs.true.i %call19.i = call double @log(double noundef %mul15.i) #31 %cmp22.i = fcmp ult double %sub13.i, %call19.i br i1 %cmp22.i, label %if.end24.i, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit -if.end24.i: ; preds = %if.end.i123, %if.end.thread.i - %call1951.i = phi double [ %call1948.i, %if.end.thread.i ], [ %call19.i, %if.end.i123 ] +if.end24.i: ; preds = %if.end.i124, %if.end.thread.i + %call1951.i = phi double [ %call1948.i, %if.end.thread.i ], [ %call19.i, %if.end.i124 ] %33 = load double, ptr %x_.i.i.i.i, align 8 %34 = load double, ptr %log_x_.i, align 8 %call25.i = call double @log(double noundef %div9.i) #31 @@ -2508,7 +2509,7 @@ if.end24.i: ; preds = %if.end.i123, %if.en %cmp28.i = fcmp ult double %35, %call1951.i br i1 %cmp28.i, label %for.cond.i, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit, !llvm.loop !20 -_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit: ; preds = %land.lhs.true.i, %if.end.i123, %if.end24.i +_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit: ; preds = %land.lhs.true.i, %if.end.i124, %if.end24.i %36 = load i8, ptr %inverted_.i, align 4 %37 = and i8 %36, 1 %tobool31.not.i = icmp eq i8 %37, 0 @@ -2556,7 +2557,7 @@ if.end.i.i.i.i: ; preds = %land.lhs.true.i.i.i br label %invoke.cont3.i invoke.cont3.i: ; preds = %if.end32.i, %if.then9.i, %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit, %if.end.i.i.i.i - %retval.0.i.i.i = phi double [ %43, %if.end.i.i.i.i ], [ %cond.i, %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit ], [ %div.i158, %if.then9.i ], [ %call34.i, %if.end32.i ] + %retval.0.i.i.i = phi double [ %43, %if.end.i.i.i.i ], [ %cond.i, %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit ], [ %div.i159, %if.then9.i ], [ %call34.i, %if.end32.i ] store double %retval.0.i.i.i, ptr %variate.i, align 8 %44 = fcmp ord double %retval.0.i.i.i, 0.000000e+00 %frombool.i = zext i1 %44 to i8 @@ -2930,30 +2931,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %add.ptr.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i %78 = load double, ptr %variate.i, align 8 store double %78, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %data.sroa.0.1229.i, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %data.sroa.0.1229.i, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %data.sroa.0.1229.i) #32 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc.i for.inc.i: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, %if.then.i88.i %data.sroa.15.2.i = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.15.1227.i, %if.then.i88.i ] - %add.ptr.i.i.pn.i = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.8.1228.i, %if.then.i88.i ] + %add.ptr.i.i.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.8.1228.i, %if.then.i88.i ] %data.sroa.0.3.i = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.0.1229.i, %if.then.i88.i ] - %data.sroa.8.2.i = getelementptr inbounds double, ptr %add.ptr.i.i.pn.i, i64 1 + %data.sroa.8.2.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn.i, i64 1 %inc.i = add nuw nsw i64 %i.0230.i, 1 %exitcond.not.i = icmp eq i64 %inc.i, 10000 br i1 %exitcond.not.i, label %for.end.i, label %for.body.i, !llvm.loop !27 @@ -3212,8 +3214,8 @@ if.then.i.i.i183.i: ; preds = %ehcleanup176.i call void @_ZdlPv(ptr noundef nonnull %data.sroa.0.4.i) #32 br label %common.resume -common.resume: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit227.i, %if.then.i.i.i229.i, %ehcleanup176.i, %if.then.i.i.i183.i, %ehcleanup20 - %common.resume.op = phi { ptr, i32 } [ %.pn.pn, %ehcleanup20 ], [ %.pn15.i, %if.then.i.i.i183.i ], [ %.pn15.i, %ehcleanup176.i ], [ %.pn23.pn.i, %if.then.i.i.i229.i ], [ %.pn23.pn.i, %_ZNSt6vectorIdSaIdEED2Ev.exit227.i ] +common.resume: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit229.i, %if.then.i.i.i231.i, %ehcleanup176.i, %if.then.i.i.i183.i, %ehcleanup20 + %common.resume.op = phi { ptr, i32 } [ %.pn.pn, %ehcleanup20 ], [ %.pn15.i, %if.then.i.i.i183.i ], [ %.pn15.i, %ehcleanup176.i ], [ %.pn23.pn.i, %if.then.i.i.i231.i ], [ %.pn23.pn.i, %_ZNSt6vectorIdSaIdEED2Ev.exit229.i ] resume { ptr, i32 } %common.resume.op _ZN12_GLOBAL__N_120BetaDistributionTest28SingleZTestOnMeanAndVarianceIN4absl17beta_distributionIdEEEEbdm.exit: ; preds = %if.end174.i, %if.then.i.i.i181.i @@ -3253,82 +3255,82 @@ if.end: ; preds = %if.then, %_ZN12_GLO br label %for.body.i9 for.body.i9: ; preds = %for.inc.i13, %if.end - %i.0315.i = phi i32 [ 1, %if.end ], [ %inc21.i, %for.inc.i13 ] - %unmerged_buckets.0314.i = phi i32 [ 0, %if.end ], [ %unmerged_buckets.1.i, %for.inc.i13 ] - %cutoffs.sroa.0.0313.i = phi ptr [ null, %if.end ], [ %cutoffs.sroa.0.3.i, %for.inc.i13 ] - %cutoffs.sroa.16.0312.i = phi ptr [ null, %if.end ], [ %cutoffs.sroa.16.2.i, %for.inc.i13 ] - %cutoffs.sroa.32.0311.i = phi ptr [ null, %if.end ], [ %cutoffs.sroa.32.2.i, %for.inc.i13 ] - %expected.sroa.0.0310.i = phi ptr [ null, %if.end ], [ %expected.sroa.0.3.i, %for.inc.i13 ] - %expected.sroa.9.0309.i = phi ptr [ null, %if.end ], [ %expected.sroa.9.2.i, %for.inc.i13 ] - %expected.sroa.18.0308.i = phi ptr [ null, %if.end ], [ %expected.sroa.18.2.i, %for.inc.i13 ] - %conv4.i = sitofp i32 %i.0315.i to double + %i.0317.i = phi i32 [ 1, %if.end ], [ %inc21.i, %for.inc.i13 ] + %unmerged_buckets.0316.i = phi i32 [ 0, %if.end ], [ %unmerged_buckets.1.i, %for.inc.i13 ] + %cutoffs.sroa.0.0315.i = phi ptr [ null, %if.end ], [ %cutoffs.sroa.0.3.i, %for.inc.i13 ] + %cutoffs.sroa.16.0314.i = phi ptr [ null, %if.end ], [ %cutoffs.sroa.16.2.i, %for.inc.i13 ] + %cutoffs.sroa.32.0313.i = phi ptr [ null, %if.end ], [ %cutoffs.sroa.32.2.i, %for.inc.i13 ] + %expected.sroa.0.0312.i = phi ptr [ null, %if.end ], [ %expected.sroa.0.3.i, %for.inc.i13 ] + %expected.sroa.9.0311.i = phi ptr [ null, %if.end ], [ %expected.sroa.9.2.i, %for.inc.i13 ] + %expected.sroa.18.0310.i = phi ptr [ null, %if.end ], [ %expected.sroa.18.2.i, %for.inc.i13 ] + %conv4.i = sitofp i32 %i.0317.i to double %mul.i10 = fmul double %conv4.i, 1.000000e-02 %96 = load double, ptr %add.ptr.i, align 8 %97 = load double, ptr %beta_.i, align 16 %call.i = invoke noundef double @_ZN4absl15random_internal17BetaIncompleteInvEddd(double noundef %96, double noundef %97, double noundef %mul.i10) - to label %invoke.cont.i unwind label %lpad.loopexit282.i + to label %invoke.cont.i unwind label %lpad.loopexit284.i invoke.cont.i: ; preds = %for.body.i9 - %cmp.i.i.i = icmp eq ptr %cutoffs.sroa.0.0313.i, %cutoffs.sroa.16.0312.i + %cmp.i.i.i = icmp eq ptr %cutoffs.sroa.0.0315.i, %cutoffs.sroa.16.0314.i %cmp7.i = fcmp olt double %call.i, 0x3E7AD7F29ABCAF48 %or.cond.i = and i1 %cmp.i.i.i, %cmp7.i br i1 %or.cond.i, label %if.then.i, label %lor.lhs.false.i lor.lhs.false.i: ; preds = %invoke.cont.i - br i1 %cmp.i.i.i, label %if.end.i76, label %land.lhs.true9.i + br i1 %cmp.i.i.i, label %if.end.i75, label %land.lhs.true9.i land.lhs.true9.i: ; preds = %lor.lhs.false.i - %add.ptr.i.i.i11 = getelementptr inbounds double, ptr %cutoffs.sroa.16.0312.i, i64 -1 + %add.ptr.i.i.i11 = getelementptr inbounds double, ptr %cutoffs.sroa.16.0314.i, i64 -1 %98 = load double, ptr %add.ptr.i.i.i11, align 8 %cmp11.i = fcmp ugt double %call.i, %98 - br i1 %cmp11.i, label %if.end.i76, label %if.then.i + br i1 %cmp11.i, label %if.end.i75, label %if.then.i if.then.i: ; preds = %land.lhs.true9.i, %invoke.cont.i - %inc.i12 = add nsw i32 %unmerged_buckets.0314.i, 1 + %inc.i12 = add nsw i32 %unmerged_buckets.0316.i, 1 br label %for.inc.i13 -lpad.loopexit282.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i95, %for.body.i9 - %cutoffs.sroa.0.1.ph.i = phi ptr [ %cutoffs.sroa.0.0313.i, %for.body.i9 ], [ %cutoffs.sroa.0.0313.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i95 ], [ %cutoffs.sroa.0.2.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i ] - %lpad.loopexit284.i = landingpad { ptr, i32 } +lpad.loopexit284.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i95, %for.body.i9 + %cutoffs.sroa.0.1.ph.i = phi ptr [ %cutoffs.sroa.0.0315.i, %for.body.i9 ], [ %cutoffs.sroa.0.0315.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i95 ], [ %cutoffs.sroa.0.2.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i ] + %lpad.loopexit286.i = landingpad { ptr, i32 } cleanup br label %ehcleanup199.i -lpad.loopexit.split-lp.i18.loopexit: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i91.i, %if.then.i111.i, %if.else.i112.i, %_ZN7testing15AssertionResultD2Ev.exit.i22 - %expected.sroa.0.1.ph.i.ph = phi ptr [ %expected.sroa.0.4.i, %_ZN7testing15AssertionResultD2Ev.exit.i22 ], [ %expected.sroa.0.4.i, %if.else.i112.i ], [ %expected.sroa.0.4.i, %if.then.i111.i ], [ %expected.sroa.0.0.lcssa.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i91.i ], [ %expected.sroa.0.0.lcssa.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i ] - %cutoffs.sroa.0.1.ph283.i.ph = phi ptr [ %cutoffs.sroa.0.4.i, %_ZN7testing15AssertionResultD2Ev.exit.i22 ], [ %cutoffs.sroa.0.4.i, %if.else.i112.i ], [ %cutoffs.sroa.0.4.i, %if.then.i111.i ], [ %cutoffs.sroa.0.4.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i91.i ], [ %cutoffs.sroa.0.0.lcssa.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i ] - %lpad.loopexit322 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.i17.loopexit: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i92.i, %if.then.i113.i, %if.else.i114.i, %_ZN7testing15AssertionResultD2Ev.exit.i21 + %expected.sroa.0.1.ph.i.ph = phi ptr [ %expected.sroa.0.4.i, %_ZN7testing15AssertionResultD2Ev.exit.i21 ], [ %expected.sroa.0.4.i, %if.else.i114.i ], [ %expected.sroa.0.4.i, %if.then.i113.i ], [ %expected.sroa.0.0.lcssa.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i92.i ], [ %expected.sroa.0.0.lcssa.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i ] + %cutoffs.sroa.0.1.ph285.i.ph = phi ptr [ %cutoffs.sroa.0.4.i, %_ZN7testing15AssertionResultD2Ev.exit.i21 ], [ %cutoffs.sroa.0.4.i, %if.else.i114.i ], [ %cutoffs.sroa.0.4.i, %if.then.i113.i ], [ %cutoffs.sroa.0.4.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i92.i ], [ %cutoffs.sroa.0.0.lcssa.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i ] + %lpad.loopexit323 = landingpad { ptr, i32 } cleanup br label %ehcleanup199.i -lpad.loopexit.split-lp.i18.loopexit.split-lp: ; preds = %if.then.i.i.i.i, %if.then.i.i.i.i.i, %if.then.i.i.i.i67.i, %if.then.i.i.i.i104.i - %expected.sroa.0.1.ph.i.ph320 = phi ptr [ %expected.sroa.0.0310.i, %if.then.i.i.i.i ], [ %expected.sroa.0.0310.i, %if.then.i.i.i.i.i ], [ %expected.sroa.0.0.lcssa.i, %if.then.i.i.i.i67.i ], [ %expected.sroa.0.0.lcssa.i, %if.then.i.i.i.i104.i ] - %cutoffs.sroa.0.1.ph283.i.ph321 = phi ptr [ %cutoffs.sroa.0.0313.i, %if.then.i.i.i.i ], [ %cutoffs.sroa.0.2.i, %if.then.i.i.i.i.i ], [ %cutoffs.sroa.0.0.lcssa.i, %if.then.i.i.i.i67.i ], [ %cutoffs.sroa.0.4.i, %if.then.i.i.i.i104.i ] - %lpad.loopexit.split-lp323 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.i17.loopexit.split-lp: ; preds = %if.then.i.i.i.i, %if.then.i.i.i.i.i, %if.then.i.i.i.i68.i, %if.then.i.i.i.i106.i + %expected.sroa.0.1.ph.i.ph321 = phi ptr [ %expected.sroa.0.0312.i, %if.then.i.i.i.i ], [ %expected.sroa.0.0312.i, %if.then.i.i.i.i.i ], [ %expected.sroa.0.0.lcssa.i, %if.then.i.i.i.i68.i ], [ %expected.sroa.0.0.lcssa.i, %if.then.i.i.i.i106.i ] + %cutoffs.sroa.0.1.ph285.i.ph322 = phi ptr [ %cutoffs.sroa.0.0315.i, %if.then.i.i.i.i ], [ %cutoffs.sroa.0.2.i, %if.then.i.i.i.i.i ], [ %cutoffs.sroa.0.0.lcssa.i, %if.then.i.i.i.i68.i ], [ %cutoffs.sroa.0.4.i, %if.then.i.i.i.i106.i ] + %lpad.loopexit.split-lp324 = landingpad { ptr, i32 } cleanup br label %ehcleanup199.i -if.end.i76: ; preds = %land.lhs.true9.i, %lor.lhs.false.i +if.end.i75: ; preds = %land.lhs.true9.i, %lor.lhs.false.i %cmp12.i = fcmp ult double %call.i, 0x3FEFFFFFFFF24190 br i1 %cmp12.i, label %if.end14.i, label %for.end.i15 -if.end14.i: ; preds = %if.end.i76 - %cmp.not.i.i77 = icmp eq ptr %cutoffs.sroa.16.0312.i, %cutoffs.sroa.32.0311.i - br i1 %cmp.not.i.i77, label %if.else.i.i81, label %if.then.i.i78 +if.end14.i: ; preds = %if.end.i75 + %cmp.not.i.i76 = icmp eq ptr %cutoffs.sroa.16.0314.i, %cutoffs.sroa.32.0313.i + br i1 %cmp.not.i.i76, label %if.else.i.i81, label %if.then.i.i77 -if.then.i.i78: ; preds = %if.end14.i - store double %call.i, ptr %cutoffs.sroa.16.0312.i, align 8 - br label %invoke.cont15.i79 +if.then.i.i77: ; preds = %if.end14.i + store double %call.i, ptr %cutoffs.sroa.16.0314.i, align 8 + br label %invoke.cont15.i78 if.else.i.i81: ; preds = %if.end14.i - %sub.ptr.lhs.cast.i.i.i.i.i82 = ptrtoint ptr %cutoffs.sroa.16.0312.i to i64 - %sub.ptr.rhs.cast.i.i.i.i.i83 = ptrtoint ptr %cutoffs.sroa.0.0313.i to i64 + %sub.ptr.lhs.cast.i.i.i.i.i82 = ptrtoint ptr %cutoffs.sroa.16.0314.i to i64 + %sub.ptr.rhs.cast.i.i.i.i.i83 = ptrtoint ptr %cutoffs.sroa.0.0315.i to i64 %sub.ptr.sub.i.i.i.i.i84 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i82, %sub.ptr.rhs.cast.i.i.i.i.i83 %cmp.i.i.i.i85 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i84, 9223372036854775800 br i1 %cmp.i.i.i.i85, label %if.then.i.i.i.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i86 if.then.i.i.i.i: ; preds = %if.else.i.i81 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.18) #33 - to label %.noexc.i unwind label %lpad.loopexit.split-lp.i18.loopexit.split-lp + to label %.noexc.i unwind label %lpad.loopexit.split-lp.i17.loopexit.split-lp .noexc.i: ; preds = %if.then.i.i.i.i unreachable @@ -3347,58 +3349,59 @@ _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i86: ; preds = %if.else.i.i81 _ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i95: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i86 %mul.i.i.i.i.i.i96 = shl nuw nsw i64 %cond.i.i.i.i93, 3 %call5.i.i.i.i.i30.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i96) #34 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i97 unwind label %lpad.loopexit282.i + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i97 unwind label %lpad.loopexit284.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i97: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i95, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i86 %cond.i10.i.i.i98 = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i86 ], [ %call5.i.i.i.i.i30.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i95 ] %add.ptr.i.i29.i = getelementptr inbounds double, ptr %cond.i10.i.i.i98, i64 %sub.ptr.div.i.i.i.i.i87 store double %call.i, ptr %add.ptr.i.i29.i, align 8 - %cmp.i.i.i11.i.i.i99 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i87, 0 - br i1 %cmp.i.i.i11.i.i.i99, label %if.then.i.i.i12.i.i.i105, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i100 - -if.then.i.i.i12.i.i.i105: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i97 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i98, ptr align 8 %cutoffs.sroa.0.0313.i, i64 %sub.ptr.sub.i.i.i.i.i84, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i100 - -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i100: ; preds = %if.then.i.i.i12.i.i.i105, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i97 - %tobool.not.i.i.i.i101 = icmp eq ptr %cutoffs.sroa.0.0313.i, null - br i1 %tobool.not.i.i.i.i101, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i103, label %if.then.i21.i.i.i102 - -if.then.i21.i.i.i102: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i100 - call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.0313.i) #32 - br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i103 - -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i103: ; preds = %if.then.i21.i.i.i102, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i100 - %add.ptr19.i.i.i104 = getelementptr inbounds double, ptr %cond.i10.i.i.i98, i64 %cond.i.i.i.i93 - br label %invoke.cont15.i79 - -invoke.cont15.i79: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i103, %if.then.i.i78 - %cutoffs.sroa.32.1.i = phi ptr [ %add.ptr19.i.i.i104, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i103 ], [ %cutoffs.sroa.32.0311.i, %if.then.i.i78 ] - %add.ptr.i.i29.pn.i = phi ptr [ %add.ptr.i.i29.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i103 ], [ %cutoffs.sroa.16.0312.i, %if.then.i.i78 ] - %cutoffs.sroa.0.2.i = phi ptr [ %cond.i10.i.i.i98, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i103 ], [ %cutoffs.sroa.0.0313.i, %if.then.i.i78 ] - %cutoffs.sroa.16.1.i = getelementptr inbounds double, ptr %add.ptr.i.i29.pn.i, i64 1 - %add.i = add nsw i32 %unmerged_buckets.0314.i, 1 + %cmp.i.i.i11.i.i.i99 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i84, 0 + br i1 %cmp.i.i.i11.i.i.i99, label %if.then.i.i.i12.i.i.i106, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i100 + +if.then.i.i.i12.i.i.i106: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i97 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i98, ptr align 8 %cutoffs.sroa.0.0315.i, i64 %sub.ptr.sub.i.i.i.i.i84, i1 false) + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i100 + +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i100: ; preds = %if.then.i.i.i12.i.i.i106, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i97 + %add.ptr.i.i.i.i.i.i101 = getelementptr inbounds i8, ptr %cond.i10.i.i.i98, i64 %sub.ptr.sub.i.i.i.i.i84 + %tobool.not.i.i.i.i102 = icmp eq ptr %cutoffs.sroa.0.0315.i, null + br i1 %tobool.not.i.i.i.i102, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i104, label %if.then.i20.i.i.i103 + +if.then.i20.i.i.i103: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i100 + call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.0315.i) #32 + br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i104 + +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i104: ; preds = %if.then.i20.i.i.i103, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i100 + %add.ptr19.i.i.i105 = getelementptr inbounds double, ptr %cond.i10.i.i.i98, i64 %cond.i.i.i.i93 + br label %invoke.cont15.i78 + +invoke.cont15.i78: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i104, %if.then.i.i77 + %cutoffs.sroa.32.1.i = phi ptr [ %add.ptr19.i.i.i105, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i104 ], [ %cutoffs.sroa.32.0313.i, %if.then.i.i77 ] + %add.ptr.i.i.i.i.i.pn.i79 = phi ptr [ %add.ptr.i.i.i.i.i.i101, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i104 ], [ %cutoffs.sroa.16.0314.i, %if.then.i.i77 ] + %cutoffs.sroa.0.2.i = phi ptr [ %cond.i10.i.i.i98, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i104 ], [ %cutoffs.sroa.0.0315.i, %if.then.i.i77 ] + %cutoffs.sroa.16.1.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn.i79, i64 1 + %add.i = add nsw i32 %unmerged_buckets.0316.i, 1 %conv16.i = sitofp i32 %add.i to double %mul17.i = fmul double %conv16.i, 1.000000e-02 %mul19.i = fmul double %mul17.i, 1.000000e+04 - %cmp.not.i.i.i80 = icmp eq ptr %expected.sroa.9.0309.i, %expected.sroa.18.0308.i + %cmp.not.i.i.i80 = icmp eq ptr %expected.sroa.9.0311.i, %expected.sroa.18.0310.i br i1 %cmp.not.i.i.i80, label %if.else.i.i.i, label %if.then.i.i.i -if.then.i.i.i: ; preds = %invoke.cont15.i79 - store double %mul19.i, ptr %expected.sroa.9.0309.i, align 8 - %incdec.ptr.i.i32.i = getelementptr inbounds double, ptr %expected.sroa.9.0309.i, i64 1 +if.then.i.i.i: ; preds = %invoke.cont15.i78 + store double %mul19.i, ptr %expected.sroa.9.0311.i, align 8 + %incdec.ptr.i.i32.i = getelementptr inbounds double, ptr %expected.sroa.9.0311.i, i64 1 br label %for.inc.i13 -if.else.i.i.i: ; preds = %invoke.cont15.i79 - %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %expected.sroa.9.0309.i to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %expected.sroa.0.0310.i to i64 +if.else.i.i.i: ; preds = %invoke.cont15.i78 + %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %expected.sroa.9.0311.i to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %expected.sroa.0.0312.i to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.18) #33 - to label %.noexc33.i unwind label %lpad.loopexit.split-lp.i18.loopexit.split-lp + to label %.noexc33.i unwind label %lpad.loopexit.split-lp.i17.loopexit.split-lp .noexc33.i: ; preds = %if.then.i.i.i.i.i unreachable @@ -3417,52 +3420,53 @@ _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 3 %call5.i.i.i.i.i.i34.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #34 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit282.i + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit284.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i34.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store double %mul19.i, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %expected.sroa.0.0310.i, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %expected.sroa.0.0312.i, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i, i64 1 - %tobool.not.i.i.i.i.i = icmp eq ptr %expected.sroa.0.0310.i, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i.i = icmp eq ptr %expected.sroa.0.0312.i, null + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %expected.sroa.0.0310.i) #32 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %expected.sroa.0.0312.i) #32 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %for.inc.i13 for.inc.i13: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i, %if.then.i - %expected.sroa.18.2.i = phi ptr [ %expected.sroa.18.0308.i, %if.then.i ], [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %expected.sroa.18.0308.i, %if.then.i.i.i ] - %expected.sroa.9.2.i = phi ptr [ %expected.sroa.9.0309.i, %if.then.i ], [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i32.i, %if.then.i.i.i ] - %expected.sroa.0.3.i = phi ptr [ %expected.sroa.0.0310.i, %if.then.i ], [ %cond.i10.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %expected.sroa.0.0310.i, %if.then.i.i.i ] - %cutoffs.sroa.32.2.i = phi ptr [ %cutoffs.sroa.32.0311.i, %if.then.i ], [ %cutoffs.sroa.32.1.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.32.1.i, %if.then.i.i.i ] - %cutoffs.sroa.16.2.i = phi ptr [ %cutoffs.sroa.16.0312.i, %if.then.i ], [ %cutoffs.sroa.16.1.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.16.1.i, %if.then.i.i.i ] - %cutoffs.sroa.0.3.i = phi ptr [ %cutoffs.sroa.0.0313.i, %if.then.i ], [ %cutoffs.sroa.0.2.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.0.2.i, %if.then.i.i.i ] + %expected.sroa.18.2.i = phi ptr [ %expected.sroa.18.0310.i, %if.then.i ], [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %expected.sroa.18.0310.i, %if.then.i.i.i ] + %expected.sroa.9.2.i = phi ptr [ %expected.sroa.9.0311.i, %if.then.i ], [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i32.i, %if.then.i.i.i ] + %expected.sroa.0.3.i = phi ptr [ %expected.sroa.0.0312.i, %if.then.i ], [ %cond.i10.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %expected.sroa.0.0312.i, %if.then.i.i.i ] + %cutoffs.sroa.32.2.i = phi ptr [ %cutoffs.sroa.32.0313.i, %if.then.i ], [ %cutoffs.sroa.32.1.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.32.1.i, %if.then.i.i.i ] + %cutoffs.sroa.16.2.i = phi ptr [ %cutoffs.sroa.16.0314.i, %if.then.i ], [ %cutoffs.sroa.16.1.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.16.1.i, %if.then.i.i.i ] + %cutoffs.sroa.0.3.i = phi ptr [ %cutoffs.sroa.0.0315.i, %if.then.i ], [ %cutoffs.sroa.0.2.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.0.2.i, %if.then.i.i.i ] %unmerged_buckets.1.i = phi i32 [ %inc.i12, %if.then.i ], [ 0, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ 0, %if.then.i.i.i ] - %inc21.i = add nuw nsw i32 %i.0315.i, 1 + %inc21.i = add nuw nsw i32 %i.0317.i, 1 %exitcond.not.i14 = icmp eq i32 %inc21.i, 100 br i1 %exitcond.not.i14, label %for.end.i15, label %for.body.i9, !llvm.loop !28 -for.end.i15: ; preds = %for.inc.i13, %if.end.i76 - %i.0.lcssa.i = phi i32 [ %i.0315.i, %if.end.i76 ], [ 100, %for.inc.i13 ] - %expected.sroa.18.0.lcssa.i = phi ptr [ %expected.sroa.18.0308.i, %if.end.i76 ], [ %expected.sroa.18.2.i, %for.inc.i13 ] - %expected.sroa.9.0.lcssa.i = phi ptr [ %expected.sroa.9.0309.i, %if.end.i76 ], [ %expected.sroa.9.2.i, %for.inc.i13 ] - %expected.sroa.0.0.lcssa.i = phi ptr [ %expected.sroa.0.0310.i, %if.end.i76 ], [ %expected.sroa.0.3.i, %for.inc.i13 ] - %cutoffs.sroa.32.0.lcssa.i = phi ptr [ %cutoffs.sroa.32.0311.i, %if.end.i76 ], [ %cutoffs.sroa.32.2.i, %for.inc.i13 ] - %cutoffs.sroa.16.0.lcssa.i = phi ptr [ %cutoffs.sroa.16.0312.i, %if.end.i76 ], [ %cutoffs.sroa.16.2.i, %for.inc.i13 ] - %cutoffs.sroa.0.0.lcssa.i = phi ptr [ %cutoffs.sroa.0.0313.i, %if.end.i76 ], [ %cutoffs.sroa.0.3.i, %for.inc.i13 ] +for.end.i15: ; preds = %for.inc.i13, %if.end.i75 + %i.0.lcssa.i = phi i32 [ %i.0317.i, %if.end.i75 ], [ 100, %for.inc.i13 ] + %expected.sroa.18.0.lcssa.i = phi ptr [ %expected.sroa.18.0310.i, %if.end.i75 ], [ %expected.sroa.18.2.i, %for.inc.i13 ] + %expected.sroa.9.0.lcssa.i = phi ptr [ %expected.sroa.9.0311.i, %if.end.i75 ], [ %expected.sroa.9.2.i, %for.inc.i13 ] + %expected.sroa.0.0.lcssa.i = phi ptr [ %expected.sroa.0.0312.i, %if.end.i75 ], [ %expected.sroa.0.3.i, %for.inc.i13 ] + %cutoffs.sroa.32.0.lcssa.i = phi ptr [ %cutoffs.sroa.32.0313.i, %if.end.i75 ], [ %cutoffs.sroa.32.2.i, %for.inc.i13 ] + %cutoffs.sroa.16.0.lcssa.i = phi ptr [ %cutoffs.sroa.16.0314.i, %if.end.i75 ], [ %cutoffs.sroa.16.2.i, %for.inc.i13 ] + %cutoffs.sroa.0.0.lcssa.i = phi ptr [ %cutoffs.sroa.0.0315.i, %if.end.i75 ], [ %cutoffs.sroa.0.3.i, %for.inc.i13 ] %conv2.le.i = zext nneg i32 %i.0.lcssa.i to i64 %cmp.not.i.i37.i = icmp eq ptr %cutoffs.sroa.16.0.lcssa.i, %cutoffs.sroa.32.0.lcssa.i br i1 %cmp.not.i.i37.i, label %if.else.i.i40.i, label %if.then.i.i38.i @@ -3477,13 +3481,13 @@ if.else.i.i40.i: ; preds = %for.end.i15 %sub.ptr.rhs.cast.i.i.i.i.i42.i = ptrtoint ptr %cutoffs.sroa.0.0.lcssa.i to i64 %sub.ptr.sub.i.i.i.i.i43.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i41.i, %sub.ptr.rhs.cast.i.i.i.i.i42.i %cmp.i.i.i.i44.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i43.i, 9223372036854775800 - br i1 %cmp.i.i.i.i44.i, label %if.then.i.i.i.i67.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i45.i + br i1 %cmp.i.i.i.i44.i, label %if.then.i.i.i.i68.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i45.i -if.then.i.i.i.i67.i: ; preds = %if.else.i.i40.i +if.then.i.i.i.i68.i: ; preds = %if.else.i.i40.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.18) #33 - to label %.noexc68.i unwind label %lpad.loopexit.split-lp.i18.loopexit.split-lp + to label %.noexc69.i unwind label %lpad.loopexit.split-lp.i17.loopexit.split-lp -.noexc68.i: ; preds = %if.then.i.i.i.i67.i +.noexc69.i: ; preds = %if.then.i.i.i.i68.i unreachable _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i45.i: ; preds = %if.else.i.i40.i @@ -3499,514 +3503,516 @@ _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i45.i: ; preds = %if.else.i.i4 _ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i45.i %mul.i.i.i.i.i.i55.i = shl nuw nsw i64 %cond.i.i.i.i52.i, 3 - %call5.i.i.i.i.i.i70.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i55.i) #34 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i56.i unwind label %lpad.loopexit.split-lp.i18.loopexit + %call5.i.i.i.i.i.i71.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i55.i) #34 + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i56.i unwind label %lpad.loopexit.split-lp.i17.loopexit _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i56.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i45.i - %cond.i10.i.i.i57.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i45.i ], [ %call5.i.i.i.i.i.i70.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i ] + %cond.i10.i.i.i57.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i45.i ], [ %call5.i.i.i.i.i.i71.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i54.i ] %add.ptr.i.i.i58.i = getelementptr inbounds double, ptr %cond.i10.i.i.i57.i, i64 %sub.ptr.div.i.i.i.i.i46.i store double 0x7FF0000000000000, ptr %add.ptr.i.i.i58.i, align 8 - %cmp.i.i.i11.i.i.i59.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i46.i, 0 - br i1 %cmp.i.i.i11.i.i.i59.i, label %if.then.i.i.i12.i.i.i66.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i60.i + %cmp.i.i.i11.i.i.i59.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i43.i, 0 + br i1 %cmp.i.i.i11.i.i.i59.i, label %if.then.i.i.i12.i.i.i67.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i60.i -if.then.i.i.i12.i.i.i66.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i56.i +if.then.i.i.i12.i.i.i67.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i56.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i57.i, ptr align 8 %cutoffs.sroa.0.0.lcssa.i, i64 %sub.ptr.sub.i.i.i.i.i43.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i60.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i60.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i60.i: ; preds = %if.then.i.i.i12.i.i.i66.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i56.i - %incdec.ptr.i.i.i61.i = getelementptr inbounds double, ptr %add.ptr.i.i.i58.i, i64 1 - %tobool.not.i.i.i.i62.i = icmp eq ptr %cutoffs.sroa.0.0.lcssa.i, null - br i1 %tobool.not.i.i.i.i62.i, label %invoke.cont24.i16, label %if.then.i21.i.i.i63.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i60.i: ; preds = %if.then.i.i.i12.i.i.i67.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i56.i + %add.ptr.i.i.i.i.i.i61.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i57.i, i64 %sub.ptr.sub.i.i.i.i.i43.i + %incdec.ptr.i.i.i62.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i61.i, i64 1 + %tobool.not.i.i.i.i63.i = icmp eq ptr %cutoffs.sroa.0.0.lcssa.i, null + br i1 %tobool.not.i.i.i.i63.i, label %invoke.cont24.i16, label %if.then.i20.i.i.i64.i -if.then.i21.i.i.i63.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i60.i +if.then.i20.i.i.i64.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i60.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.0.lcssa.i) #32 br label %invoke.cont24.i16 -invoke.cont24.i16: ; preds = %if.then.i21.i.i.i63.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i60.i, %if.then.i.i38.i - %cutoffs.sroa.16.3.i = phi ptr [ %incdec.ptr.i.i39.i, %if.then.i.i38.i ], [ %incdec.ptr.i.i.i61.i, %if.then.i21.i.i.i63.i ], [ %incdec.ptr.i.i.i61.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i60.i ] - %cutoffs.sroa.0.4.i = phi ptr [ %cutoffs.sroa.0.0.lcssa.i, %if.then.i.i38.i ], [ %cond.i10.i.i.i57.i, %if.then.i21.i.i.i63.i ], [ %cond.i10.i.i.i57.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i60.i ] +invoke.cont24.i16: ; preds = %if.then.i20.i.i.i64.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i60.i, %if.then.i.i38.i + %cutoffs.sroa.16.3.i = phi ptr [ %incdec.ptr.i.i39.i, %if.then.i.i38.i ], [ %incdec.ptr.i.i.i62.i, %if.then.i20.i.i.i64.i ], [ %incdec.ptr.i.i.i62.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i60.i ] + %cutoffs.sroa.0.4.i = phi ptr [ %cutoffs.sroa.0.0.lcssa.i, %if.then.i.i38.i ], [ %cond.i10.i.i.i57.i, %if.then.i20.i.i.i64.i ], [ %cond.i10.i.i.i57.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i60.i ] %add27.i = sub nsw i64 101, %conv2.le.i %conv28.i = uitofp i64 %add27.i to double %mul29.i = fmul double %conv28.i, 1.000000e-02 %mul31.i = fmul double %mul29.i, 1.000000e+04 - %cmp.not.i.i74.i17 = icmp eq ptr %expected.sroa.9.0.lcssa.i, %expected.sroa.18.0.lcssa.i - br i1 %cmp.not.i.i74.i17, label %if.else.i.i77.i, label %if.then.i.i75.i + %cmp.not.i.i75.i = icmp eq ptr %expected.sroa.9.0.lcssa.i, %expected.sroa.18.0.lcssa.i + br i1 %cmp.not.i.i75.i, label %if.else.i.i78.i, label %if.then.i.i76.i -if.then.i.i75.i: ; preds = %invoke.cont24.i16 +if.then.i.i76.i: ; preds = %invoke.cont24.i16 store double %mul31.i, ptr %expected.sroa.9.0.lcssa.i, align 8 - %incdec.ptr.i.i76.i = getelementptr inbounds double, ptr %expected.sroa.9.0.lcssa.i, i64 1 + %incdec.ptr.i.i77.i = getelementptr inbounds double, ptr %expected.sroa.9.0.lcssa.i, i64 1 br label %invoke.cont32.i -if.else.i.i77.i: ; preds = %invoke.cont24.i16 - %sub.ptr.lhs.cast.i.i.i.i.i78.i = ptrtoint ptr %expected.sroa.18.0.lcssa.i to i64 - %sub.ptr.rhs.cast.i.i.i.i.i79.i = ptrtoint ptr %expected.sroa.0.0.lcssa.i to i64 - %sub.ptr.sub.i.i.i.i.i80.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i78.i, %sub.ptr.rhs.cast.i.i.i.i.i79.i - %cmp.i.i.i.i81.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i80.i, 9223372036854775800 - br i1 %cmp.i.i.i.i81.i, label %if.then.i.i.i.i104.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i82.i +if.else.i.i78.i: ; preds = %invoke.cont24.i16 + %sub.ptr.lhs.cast.i.i.i.i.i79.i = ptrtoint ptr %expected.sroa.18.0.lcssa.i to i64 + %sub.ptr.rhs.cast.i.i.i.i.i80.i = ptrtoint ptr %expected.sroa.0.0.lcssa.i to i64 + %sub.ptr.sub.i.i.i.i.i81.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i79.i, %sub.ptr.rhs.cast.i.i.i.i.i80.i + %cmp.i.i.i.i82.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i81.i, 9223372036854775800 + br i1 %cmp.i.i.i.i82.i, label %if.then.i.i.i.i106.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i83.i -if.then.i.i.i.i104.i: ; preds = %if.else.i.i77.i +if.then.i.i.i.i106.i: ; preds = %if.else.i.i78.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.18) #33 - to label %.noexc105.i unwind label %lpad.loopexit.split-lp.i18.loopexit.split-lp + to label %.noexc107.i unwind label %lpad.loopexit.split-lp.i17.loopexit.split-lp -.noexc105.i: ; preds = %if.then.i.i.i.i104.i +.noexc107.i: ; preds = %if.then.i.i.i.i106.i unreachable -_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i82.i: ; preds = %if.else.i.i77.i - %sub.ptr.div.i.i.i.i.i83.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i80.i, 3 - %.sroa.speculated.i.i.i.i84.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i83.i, i64 1) - %add.i.i.i.i85.i = add i64 %.sroa.speculated.i.i.i.i84.i, %sub.ptr.div.i.i.i.i.i83.i - %cmp7.i.i.i.i86.i = icmp ult i64 %add.i.i.i.i85.i, %sub.ptr.div.i.i.i.i.i83.i - %cmp9.i.i.i.i87.i = icmp ugt i64 %add.i.i.i.i85.i, 1152921504606846975 - %or.cond.i.i.i.i88.i = or i1 %cmp7.i.i.i.i86.i, %cmp9.i.i.i.i87.i - %cond.i.i.i.i89.i = select i1 %or.cond.i.i.i.i88.i, i64 1152921504606846975, i64 %add.i.i.i.i85.i - %cmp.not.i.i.i.i90.i = icmp eq i64 %cond.i.i.i.i89.i, 0 - br i1 %cmp.not.i.i.i.i90.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i93.i, label %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i91.i - -_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i91.i: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i82.i - %mul.i.i.i.i.i.i92.i = shl nuw nsw i64 %cond.i.i.i.i89.i, 3 - %call5.i.i.i.i.i.i107.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i92.i) #34 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i93.i unwind label %lpad.loopexit.split-lp.i18.loopexit - -_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i93.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i91.i, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i82.i - %cond.i10.i.i.i94.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i82.i ], [ %call5.i.i.i.i.i.i107.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i91.i ] - %add.ptr.i.i.i95.i = getelementptr inbounds double, ptr %cond.i10.i.i.i94.i, i64 %sub.ptr.div.i.i.i.i.i83.i - store double %mul31.i, ptr %add.ptr.i.i.i95.i, align 8 - %cmp.i.i.i11.i.i.i96.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i83.i, 0 - br i1 %cmp.i.i.i11.i.i.i96.i, label %if.then.i.i.i12.i.i.i103.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i97.i - -if.then.i.i.i12.i.i.i103.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i93.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i94.i, ptr align 8 %expected.sroa.0.0.lcssa.i, i64 %sub.ptr.sub.i.i.i.i.i80.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i97.i - -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i97.i: ; preds = %if.then.i.i.i12.i.i.i103.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i93.i - %incdec.ptr.i.i.i98.i = getelementptr inbounds double, ptr %add.ptr.i.i.i95.i, i64 1 - %tobool.not.i.i.i.i99.i = icmp eq ptr %expected.sroa.0.0.lcssa.i, null - br i1 %tobool.not.i.i.i.i99.i, label %invoke.cont32.i, label %if.then.i21.i.i.i100.i - -if.then.i21.i.i.i100.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i97.i +_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i83.i: ; preds = %if.else.i.i78.i + %sub.ptr.div.i.i.i.i.i84.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i81.i, 3 + %.sroa.speculated.i.i.i.i85.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i84.i, i64 1) + %add.i.i.i.i86.i = add i64 %.sroa.speculated.i.i.i.i85.i, %sub.ptr.div.i.i.i.i.i84.i + %cmp7.i.i.i.i87.i = icmp ult i64 %add.i.i.i.i86.i, %sub.ptr.div.i.i.i.i.i84.i + %cmp9.i.i.i.i88.i = icmp ugt i64 %add.i.i.i.i86.i, 1152921504606846975 + %or.cond.i.i.i.i89.i = or i1 %cmp7.i.i.i.i87.i, %cmp9.i.i.i.i88.i + %cond.i.i.i.i90.i = select i1 %or.cond.i.i.i.i89.i, i64 1152921504606846975, i64 %add.i.i.i.i86.i + %cmp.not.i.i.i.i91.i = icmp eq i64 %cond.i.i.i.i90.i, 0 + br i1 %cmp.not.i.i.i.i91.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i94.i, label %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i92.i + +_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i92.i: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i83.i + %mul.i.i.i.i.i.i93.i = shl nuw nsw i64 %cond.i.i.i.i90.i, 3 + %call5.i.i.i.i.i.i109.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i93.i) #34 + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i94.i unwind label %lpad.loopexit.split-lp.i17.loopexit + +_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i94.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i92.i, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i83.i + %cond.i10.i.i.i95.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i83.i ], [ %call5.i.i.i.i.i.i109.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i92.i ] + %add.ptr.i.i.i96.i = getelementptr inbounds double, ptr %cond.i10.i.i.i95.i, i64 %sub.ptr.div.i.i.i.i.i84.i + store double %mul31.i, ptr %add.ptr.i.i.i96.i, align 8 + %cmp.i.i.i11.i.i.i97.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i81.i, 0 + br i1 %cmp.i.i.i11.i.i.i97.i, label %if.then.i.i.i12.i.i.i105.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i98.i + +if.then.i.i.i12.i.i.i105.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i94.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i95.i, ptr align 8 %expected.sroa.0.0.lcssa.i, i64 %sub.ptr.sub.i.i.i.i.i81.i, i1 false) + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i98.i + +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i98.i: ; preds = %if.then.i.i.i12.i.i.i105.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i94.i + %add.ptr.i.i.i.i.i.i99.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i95.i, i64 %sub.ptr.sub.i.i.i.i.i81.i + %incdec.ptr.i.i.i100.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i99.i, i64 1 + %tobool.not.i.i.i.i101.i = icmp eq ptr %expected.sroa.0.0.lcssa.i, null + br i1 %tobool.not.i.i.i.i101.i, label %invoke.cont32.i, label %if.then.i20.i.i.i102.i + +if.then.i20.i.i.i102.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i98.i call void @_ZdlPv(ptr noundef nonnull %expected.sroa.0.0.lcssa.i) #32 br label %invoke.cont32.i -invoke.cont32.i: ; preds = %if.then.i21.i.i.i100.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i97.i, %if.then.i.i75.i - %expected.sroa.9.3.i = phi ptr [ %incdec.ptr.i.i76.i, %if.then.i.i75.i ], [ %incdec.ptr.i.i.i98.i, %if.then.i21.i.i.i100.i ], [ %incdec.ptr.i.i.i98.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i97.i ] - %expected.sroa.0.4.i = phi ptr [ %expected.sroa.0.0.lcssa.i, %if.then.i.i75.i ], [ %cond.i10.i.i.i94.i, %if.then.i21.i.i.i100.i ], [ %cond.i10.i.i.i94.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i97.i ] +invoke.cont32.i: ; preds = %if.then.i20.i.i.i102.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i98.i, %if.then.i.i76.i + %expected.sroa.9.3.i = phi ptr [ %incdec.ptr.i.i77.i, %if.then.i.i76.i ], [ %incdec.ptr.i.i.i100.i, %if.then.i20.i.i.i102.i ], [ %incdec.ptr.i.i.i100.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i98.i ] + %expected.sroa.0.4.i = phi ptr [ %expected.sroa.0.0.lcssa.i, %if.then.i.i76.i ], [ %cond.i10.i.i.i95.i, %if.then.i20.i.i.i102.i ], [ %cond.i10.i.i.i95.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i98.i ] %sub.ptr.lhs.cast.i.i = ptrtoint ptr %cutoffs.sroa.16.3.i to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %cutoffs.sroa.0.4.i to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 3 store i64 %sub.ptr.div.i.i, ptr %ref.tmp33.i, align 8 store i32 3, ptr %ref.tmp35.i, align 4 - %cmp.not.i110.i = icmp ult i64 %sub.ptr.div.i.i, 3 - br i1 %cmp.not.i110.i, label %if.else.i112.i, label %if.then.i111.i + %cmp.not.i112.i = icmp ult i64 %sub.ptr.div.i.i, 3 + br i1 %cmp.not.i112.i, label %if.else.i114.i, label %if.then.i113.i -if.then.i111.i: ; preds = %invoke.cont32.i +if.then.i113.i: ; preds = %invoke.cont32.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i5) - to label %invoke.cont36.i19 unwind label %lpad.loopexit.split-lp.i18.loopexit + to label %invoke.cont36.i18 unwind label %lpad.loopexit.split-lp.i17.loopexit -if.else.i112.i: ; preds = %invoke.cont32.i +if.else.i114.i: ; preds = %invoke.cont32.i invoke void @_ZN7testing8internal18CmpHelperOpFailureImiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i5, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.50, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp33.i, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp35.i, ptr noundef nonnull @.str.41) - to label %invoke.cont36.i19 unwind label %lpad.loopexit.split-lp.i18.loopexit + to label %invoke.cont36.i18 unwind label %lpad.loopexit.split-lp.i17.loopexit -invoke.cont36.i19: ; preds = %if.else.i112.i, %if.then.i111.i +invoke.cont36.i18: ; preds = %if.else.i114.i, %if.then.i113.i %99 = load i8, ptr %gtest_ar.i5, align 8 %100 = and i8 %99, 1 %tobool.i.not.i = icmp eq i8 %100, 0 - br i1 %tobool.i.not.i, label %if.else.i57, label %if.end60.i + br i1 %tobool.i.not.i, label %if.else.i56, label %if.end60.i -lpad37.i58: ; preds = %if.else.i57 +lpad37.i57: ; preds = %if.else.i56 %101 = landingpad { ptr, i32 } cleanup - br label %ehcleanup61.i59 + br label %ehcleanup61.i58 -if.else.i57: ; preds = %invoke.cont36.i19 +if.else.i56: ; preds = %invoke.cont36.i18 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41.i) - to label %invoke.cont42.i unwind label %lpad37.i58 + to label %invoke.cont42.i unwind label %lpad37.i57 -invoke.cont42.i: ; preds = %if.else.i57 +invoke.cont42.i: ; preds = %if.else.i56 %102 = load ptr, ptr %ref.tmp41.i, align 8 %add.ptr.i.i = getelementptr inbounds i8, ptr %102, i64 16 %103 = load double, ptr %add.ptr.i, align 8 - %call2.i115.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i, double noundef %103) + %call2.i117.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i, double noundef %103) to label %invoke.cont46.i unwind label %lpad45.i invoke.cont46.i: ; preds = %invoke.cont42.i %104 = load ptr, ptr %ref.tmp41.i, align 8 - %add.ptr.i116.i = getelementptr inbounds i8, ptr %104, i64 16 - %call2.i117.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i116.i, ptr noundef nonnull @.str.34) + %add.ptr.i118.i = getelementptr inbounds i8, ptr %104, i64 16 + %call2.i119.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i118.i, ptr noundef nonnull @.str.34) to label %invoke.cont48.i unwind label %lpad45.i invoke.cont48.i: ; preds = %invoke.cont46.i %105 = load ptr, ptr %ref.tmp41.i, align 8 - %add.ptr.i118.i = getelementptr inbounds i8, ptr %105, i64 16 + %add.ptr.i120.i = getelementptr inbounds i8, ptr %105, i64 16 %106 = load double, ptr %beta_.i, align 16 - %call2.i119.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i118.i, double noundef %106) - to label %invoke.cont52.i63 unwind label %lpad45.i + %call2.i121.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i120.i, double noundef %106) + to label %invoke.cont52.i62 unwind label %lpad45.i -invoke.cont52.i63: ; preds = %invoke.cont48.i - %107 = load ptr, ptr %message_.i.i.i64, align 8 - %cmp.i.i.not.i.i.i65 = icmp eq ptr %107, null - br i1 %cmp.i.i.not.i.i.i65, label %invoke.cont55.i68, label %cond.true.i.i.i66 +invoke.cont52.i62: ; preds = %invoke.cont48.i + %107 = load ptr, ptr %message_.i.i.i63, align 8 + %cmp.i.i.not.i.i.i64 = icmp eq ptr %107, null + br i1 %cmp.i.i.not.i.i.i64, label %invoke.cont55.i67, label %cond.true.i.i.i65 -cond.true.i.i.i66: ; preds = %invoke.cont52.i63 - %call4.i.i.i67 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #31 - br label %invoke.cont55.i68 +cond.true.i.i.i65: ; preds = %invoke.cont52.i62 + %call4.i.i.i66 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #31 + br label %invoke.cont55.i67 -invoke.cont55.i68: ; preds = %cond.true.i.i.i66, %invoke.cont52.i63 - %cond.i.i.i69 = phi ptr [ %call4.i.i.i67, %cond.true.i.i.i66 ], [ @.str, %invoke.cont52.i63 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54.i, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 377, ptr noundef %cond.i.i.i69) - to label %invoke.cont57.i70 unwind label %lpad45.i +invoke.cont55.i67: ; preds = %cond.true.i.i.i65, %invoke.cont52.i62 + %cond.i.i.i68 = phi ptr [ %call4.i.i.i66, %cond.true.i.i.i65 ], [ @.str, %invoke.cont52.i62 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54.i, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 377, ptr noundef %cond.i.i.i68) + to label %invoke.cont57.i69 unwind label %lpad45.i -invoke.cont57.i70: ; preds = %invoke.cont55.i68 +invoke.cont57.i69: ; preds = %invoke.cont55.i67 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54.i, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41.i) - to label %invoke.cont59.i72 unwind label %lpad58.i71 + to label %invoke.cont59.i71 unwind label %lpad58.i70 -invoke.cont59.i72: ; preds = %invoke.cont57.i70 +invoke.cont59.i71: ; preds = %invoke.cont57.i69 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54.i) #31 %108 = load ptr, ptr %ref.tmp41.i, align 8 - %cmp.not.i.i121.i = icmp eq ptr %108, null - br i1 %cmp.not.i.i121.i, label %_ZN7testing7MessageD2Ev.exit.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i73 + %cmp.not.i.i123.i = icmp eq ptr %108, null + br i1 %cmp.not.i.i123.i, label %_ZN7testing7MessageD2Ev.exit.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i72 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i73: ; preds = %invoke.cont59.i72 - %vtable.i.i.i.i74 = load ptr, ptr %108, align 8 - %vfn.i.i.i.i75 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i74, i64 1 - %109 = load ptr, ptr %vfn.i.i.i.i75, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i72: ; preds = %invoke.cont59.i71 + %vtable.i.i.i.i73 = load ptr, ptr %108, align 8 + %vfn.i.i.i.i74 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i73, i64 1 + %109 = load ptr, ptr %vfn.i.i.i.i74, align 8 call void %109(ptr noundef nonnull align 8 dereferenceable(128) %108) #31 br label %_ZN7testing7MessageD2Ev.exit.i -_ZN7testing7MessageD2Ev.exit.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i73, %invoke.cont59.i72 +_ZN7testing7MessageD2Ev.exit.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i72, %invoke.cont59.i71 store ptr null, ptr %ref.tmp41.i, align 8 br label %if.end60.i -lpad45.i: ; preds = %invoke.cont55.i68, %invoke.cont48.i, %invoke.cont46.i, %invoke.cont42.i +lpad45.i: ; preds = %invoke.cont55.i67, %invoke.cont48.i, %invoke.cont46.i, %invoke.cont42.i %110 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i61 + br label %ehcleanup.i60 -lpad58.i71: ; preds = %invoke.cont57.i70 +lpad58.i70: ; preds = %invoke.cont57.i69 %111 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54.i) #31 - br label %ehcleanup.i61 + br label %ehcleanup.i60 -ehcleanup.i61: ; preds = %lpad58.i71, %lpad45.i - %.pn.i62 = phi { ptr, i32 } [ %111, %lpad58.i71 ], [ %110, %lpad45.i ] +ehcleanup.i60: ; preds = %lpad58.i70, %lpad45.i + %.pn.i61 = phi { ptr, i32 } [ %111, %lpad58.i70 ], [ %110, %lpad45.i ] %112 = load ptr, ptr %ref.tmp41.i, align 8 - %cmp.not.i.i122.i = icmp eq ptr %112, null - br i1 %cmp.not.i.i122.i, label %_ZN7testing7MessageD2Ev.exit126.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i123.i + %cmp.not.i.i124.i = icmp eq ptr %112, null + br i1 %cmp.not.i.i124.i, label %_ZN7testing7MessageD2Ev.exit128.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125.i -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i123.i: ; preds = %ehcleanup.i61 - %vtable.i.i.i124.i = load ptr, ptr %112, align 8 - %vfn.i.i.i125.i = getelementptr inbounds ptr, ptr %vtable.i.i.i124.i, i64 1 - %113 = load ptr, ptr %vfn.i.i.i125.i, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125.i: ; preds = %ehcleanup.i60 + %vtable.i.i.i126.i = load ptr, ptr %112, align 8 + %vfn.i.i.i127.i = getelementptr inbounds ptr, ptr %vtable.i.i.i126.i, i64 1 + %113 = load ptr, ptr %vfn.i.i.i127.i, align 8 call void %113(ptr noundef nonnull align 8 dereferenceable(128) %112) #31 - br label %_ZN7testing7MessageD2Ev.exit126.i + br label %_ZN7testing7MessageD2Ev.exit128.i -_ZN7testing7MessageD2Ev.exit126.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i123.i, %ehcleanup.i61 +_ZN7testing7MessageD2Ev.exit128.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125.i, %ehcleanup.i60 store ptr null, ptr %ref.tmp41.i, align 8 - br label %ehcleanup61.i59 + br label %ehcleanup61.i58 -if.end60.i: ; preds = %_ZN7testing7MessageD2Ev.exit.i, %invoke.cont36.i19 - %114 = load ptr, ptr %message_.i.i.i64, align 8 - %cmp.not.i.i127.i = icmp eq ptr %114, null - br i1 %cmp.not.i.i127.i, label %_ZN7testing15AssertionResultD2Ev.exit.i22, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i21 +if.end60.i: ; preds = %_ZN7testing7MessageD2Ev.exit.i, %invoke.cont36.i18 + %114 = load ptr, ptr %message_.i.i.i63, align 8 + %cmp.not.i.i129.i = icmp eq ptr %114, null + br i1 %cmp.not.i.i129.i, label %_ZN7testing15AssertionResultD2Ev.exit.i21, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i20 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i21: ; preds = %if.end60.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i20: ; preds = %if.end60.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #31 call void @_ZdlPv(ptr noundef nonnull %114) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit.i22 + br label %_ZN7testing15AssertionResultD2Ev.exit.i21 -_ZN7testing15AssertionResultD2Ev.exit.i22: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i21, %if.end60.i - store ptr null, ptr %message_.i.i.i64, align 8 +_ZN7testing15AssertionResultD2Ev.exit.i21: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i20, %if.end60.i + store ptr null, ptr %message_.i.i.i63, align 8 %115 = load double, ptr %add.ptr.i, align 8 %116 = load double, ptr %beta_.i, align 16 invoke void @_ZN4absl17beta_distributionIdE10param_typeC2Edd(ptr noundef nonnull align 8 dereferenceable(69) %dis.i6, double noundef %115, double noundef %116) - to label %invoke.cont66.i unwind label %lpad.loopexit.split-lp.i18.loopexit + to label %invoke.cont66.i unwind label %lpad.loopexit.split-lp.i17.loopexit -invoke.cont66.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i22 - %cmp.i.i134.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 - br i1 %cmp.i.i134.i, label %if.then.i.i138.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i +invoke.cont66.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i21 + %cmp.i.i136.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + br i1 %cmp.i.i136.i, label %if.then.i.i140.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i -if.then.i.i138.i: ; preds = %invoke.cont66.i +if.then.i.i140.i: ; preds = %invoke.cont66.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.57) #33 - to label %.noexc139.i unwind label %lpad70.i.loopexit.split-lp + to label %.noexc141.i unwind label %lpad70.i.loopexit.split-lp -.noexc139.i: ; preds = %if.then.i.i138.i +.noexc141.i: ; preds = %if.then.i.i140.i unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %invoke.cont66.i - %cmp.not.i.i.i.i135.i = icmp eq ptr %cutoffs.sroa.16.3.i, %cutoffs.sroa.0.4.i - br i1 %cmp.not.i.i.i.i135.i, label %invoke.cont71.i, label %if.end.i.i.i.i.i.i.i.i + %cmp.not.i.i.i.i137.i = icmp eq ptr %cutoffs.sroa.16.3.i, %cutoffs.sroa.0.4.i + br i1 %cmp.not.i.i.i.i137.i, label %invoke.cont71.i, label %if.end.i.i.i.i.i.i.i.i if.end.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i - %mul.i.i.i.i.i.i136.i = ashr exact i64 %sub.ptr.sub.i.i, 1 - %call5.i.i.i.i2.i.i140.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i136.i) #34 + %mul.i.i.i.i.i.i138.i = ashr exact i64 %sub.ptr.sub.i.i, 1 + %call5.i.i.i.i2.i.i142.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i138.i) #34 to label %call5.i.i.i.i2.i.i.noexc.i unwind label %lpad70.i.loopexit call5.i.i.i.i2.i.i.noexc.i: ; preds = %if.end.i.i.i.i.i.i.i.i - %117 = and i64 %mul.i.i.i.i.i.i136.i, -4 - call void @llvm.memset.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i.i140.i, i8 0, i64 %117, i1 false) - %add.ptr.i.i.i137.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i140.i, i64 %sub.ptr.div.i.i + %117 = and i64 %mul.i.i.i.i.i.i138.i, -4 + call void @llvm.memset.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i.i142.i, i8 0, i64 %117, i1 false) + %add.ptr.i.i.i139.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i142.i, i64 %sub.ptr.div.i.i br label %invoke.cont71.i invoke.cont71.i: ; preds = %call5.i.i.i.i2.i.i.noexc.i, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i - %counts.sroa.0.0.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %call5.i.i.i.i2.i.i140.i, %call5.i.i.i.i2.i.i.noexc.i ] - %retval.0.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %add.ptr.i.i.i137.i, %call5.i.i.i.i2.i.i.noexc.i ] + %counts.sroa.0.0.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %call5.i.i.i.i2.i.i142.i, %call5.i.i.i.i2.i.i.noexc.i ] + %retval.0.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %add.ptr.i.i.i139.i, %call5.i.i.i.i2.i.i.noexc.i ] br label %for.body77.i for.body77.i: ; preds = %invoke.cont96.i, %invoke.cont71.i - %i73.0317.i = phi i32 [ 0, %invoke.cont71.i ], [ %inc101.i, %invoke.cont96.i ] - %118 = load i32, ptr %method_.i.i.i24, align 8 - switch i32 %118, label %if.end.i.i.i.i30 [ - i32 0, label %for.cond.i243 - i32 1, label %sw.bb3.i.i.i55 - i32 2, label %sw.bb3.i.i.i55 - i32 3, label %land.lhs.true.i.i.i.i28 + %i73.0319.i = phi i32 [ 0, %invoke.cont71.i ], [ %inc101.i, %invoke.cont96.i ] + %118 = load i32, ptr %method_.i.i.i23, align 8 + switch i32 %118, label %if.end.i.i.i.i29 [ + i32 0, label %for.cond.i244 + i32 1, label %sw.bb3.i.i.i54 + i32 2, label %sw.bb3.i.i.i54 + i32 3, label %land.lhs.true.i.i.i.i27 ] -for.cond.i243: ; preds = %for.body77.i, %for.cond.i243.backedge - %agg.tmp.sroa.0.0.copyload.i.i.i.i.i244 = load i64, ptr %rng_.i, align 16 - %agg.tmp.sroa.2.0.copyload.i.i.i.i.i245 = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 - %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i246 = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i245 to i128 - %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i247 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i246, 64 - %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i248 = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i244 to i128 - %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i249 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i247, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i248 - %mul.i.i.i.i.i.i.i250 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i249, 47026247687942121848144207491837523525 - %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i251 = add i128 %mul.i.i.i.i.i.i.i250, 1442695040888963407 - %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i252 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i251 to i64 - %119 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i251, 64 - %.tr.i.i.i.i.i.i.i253 = trunc i128 %119 to i64 - %.narrow.i.i.i.i.i.i.i254 = add i64 %.tr.i.i.i.i.i.i.i253, 6364136223846793005 - %shr.i.i.i.i.i.i.i255 = lshr i64 %.narrow.i.i.i.i.i.i.i254, 58 - %xor.i.i12.i.i.i.i.i.i256 = xor i64 %.narrow.i.i.i.i.i.i.i254, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i252 - %or.i.i.i.i.i.i.i.i257 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i.i256, i64 %xor.i.i12.i.i.i.i.i.i256, i64 %shr.i.i.i.i.i.i.i255) - %120 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i.i257, i1 false), !range !18 - %and.i.i258 = and i64 %120, 63 - %shl.i.i259 = shl i64 %or.i.i.i.i.i.i.i.i257, %and.i.i258 - %shr.i.i260 = lshr i64 %shl.i.i259, 11 - %and2.i.i261 = and i64 %shr.i.i260, 4503599627370495 +for.cond.i244: ; preds = %for.body77.i, %for.cond.i244.backedge + %agg.tmp.sroa.0.0.copyload.i.i.i.i.i245 = load i64, ptr %rng_.i, align 16 + %agg.tmp.sroa.2.0.copyload.i.i.i.i.i246 = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 + %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i247 = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i246 to i128 + %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i248 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i247, 64 + %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i249 = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i245 to i128 + %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i250 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i248, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i249 + %mul.i.i.i.i.i.i.i251 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i250, 47026247687942121848144207491837523525 + %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i252 = add i128 %mul.i.i.i.i.i.i.i251, 1442695040888963407 + %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i253 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i252 to i64 + %119 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i252, 64 + %.tr.i.i.i.i.i.i.i254 = trunc i128 %119 to i64 + %.narrow.i.i.i.i.i.i.i255 = add i64 %.tr.i.i.i.i.i.i.i254, 6364136223846793005 + %shr.i.i.i.i.i.i.i256 = lshr i64 %.narrow.i.i.i.i.i.i.i255, 58 + %xor.i.i12.i.i.i.i.i.i257 = xor i64 %.narrow.i.i.i.i.i.i.i255, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i253 + %or.i.i.i.i.i.i.i.i258 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i.i257, i64 %xor.i.i12.i.i.i.i.i.i257, i64 %shr.i.i.i.i.i.i.i256) + %120 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i.i258, i1 false), !range !18 + %and.i.i259 = and i64 %120, 63 + %shl.i.i260 = shl i64 %or.i.i.i.i.i.i.i.i258, %and.i.i259 + %shr.i.i261 = lshr i64 %shl.i.i260, 11 + %and2.i.i262 = and i64 %shr.i.i261, 4503599627370495 %121 = shl nuw nsw i64 %120, 52 - %reass.sub430 = sub nsw i64 %and2.i.i261, %121 - %or3.i.i263 = add nsw i64 %reass.sub430, 4602678819172646912 - %122 = bitcast i64 %or3.i.i263 to double - %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i26.i264 = zext i64 %.narrow.i.i.i.i.i.i.i254 to i128 - %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i27.i265 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i26.i264, 64 - %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i28.i266 = and i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i251, 18446744073709551615 - %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i29.i267 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i27.i265, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i28.i266 - %mul.i.i.i.i.i.i30.i268 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i29.i267, 47026247687942121848144207491837523525 - %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i31.i269 = add i128 %mul.i.i.i.i.i.i30.i268, 1442695040888963407 - %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i32.i270 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i31.i269 to i64 - %123 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i31.i269, 64 - %.tr.i.i.i.i.i.i33.i271 = trunc i128 %123 to i64 - %.narrow.i.i.i.i.i.i34.i272 = add i64 %.tr.i.i.i.i.i.i33.i271, 6364136223846793005 - store i64 %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i32.i270, ptr %rng_.i, align 16 - store i64 %.narrow.i.i.i.i.i.i34.i272, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 - %shr.i.i.i.i.i.i35.i273 = lshr i64 %.narrow.i.i.i.i.i.i34.i272, 58 - %xor.i.i12.i.i.i.i.i36.i274 = xor i64 %.narrow.i.i.i.i.i.i34.i272, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i32.i270 - %or.i.i.i.i.i.i.i37.i275 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i36.i274, i64 %xor.i.i12.i.i.i.i.i36.i274, i64 %shr.i.i.i.i.i.i35.i273) - %124 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i37.i275, i1 false), !range !18 - %and.i39.i276 = and i64 %124, 63 - %shl.i40.i277 = shl i64 %or.i.i.i.i.i.i.i37.i275, %and.i39.i276 - %shr.i42.i278 = lshr i64 %shl.i40.i277, 11 - %and2.i45.i279 = and i64 %shr.i42.i278, 4503599627370495 + %reass.sub431 = sub nsw i64 %and2.i.i262, %121 + %or3.i.i264 = add nsw i64 %reass.sub431, 4602678819172646912 + %122 = bitcast i64 %or3.i.i264 to double + %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i26.i265 = zext i64 %.narrow.i.i.i.i.i.i.i255 to i128 + %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i27.i266 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i26.i265, 64 + %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i28.i267 = and i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i252, 18446744073709551615 + %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i29.i268 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i27.i266, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i28.i267 + %mul.i.i.i.i.i.i30.i269 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i29.i268, 47026247687942121848144207491837523525 + %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i31.i270 = add i128 %mul.i.i.i.i.i.i30.i269, 1442695040888963407 + %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i32.i271 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i31.i270 to i64 + %123 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i31.i270, 64 + %.tr.i.i.i.i.i.i33.i272 = trunc i128 %123 to i64 + %.narrow.i.i.i.i.i.i34.i273 = add i64 %.tr.i.i.i.i.i.i33.i272, 6364136223846793005 + store i64 %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i32.i271, ptr %rng_.i, align 16 + store i64 %.narrow.i.i.i.i.i.i34.i273, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 + %shr.i.i.i.i.i.i35.i274 = lshr i64 %.narrow.i.i.i.i.i.i34.i273, 58 + %xor.i.i12.i.i.i.i.i36.i275 = xor i64 %.narrow.i.i.i.i.i.i34.i273, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i32.i271 + %or.i.i.i.i.i.i.i37.i276 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i36.i275, i64 %xor.i.i12.i.i.i.i.i36.i275, i64 %shr.i.i.i.i.i.i35.i274) + %124 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i37.i276, i1 false), !range !18 + %and.i39.i277 = and i64 %124, 63 + %shl.i40.i278 = shl i64 %or.i.i.i.i.i.i.i37.i276, %and.i39.i277 + %shr.i42.i279 = lshr i64 %shl.i40.i278, 11 + %and2.i45.i280 = and i64 %shr.i42.i279, 4503599627370495 %125 = shl nuw nsw i64 %124, 52 - %reass.sub431 = sub nsw i64 %and2.i45.i279, %125 - %or3.i46.i281 = add nsw i64 %reass.sub431, 4602678819172646912 - %126 = bitcast i64 %or3.i46.i281 to double - %127 = load double, ptr %a_.i163, align 8 - %call6.i282 = call double @pow(double noundef %122, double noundef %127) #31 - %128 = load double, ptr %b_.i164, align 8 - %call7.i283 = call double @pow(double noundef %126, double noundef %128) #31 - %add.i284 = fadd double %call6.i282, %call7.i283 - %cmp.i285 = fcmp ogt double %add.i284, 1.000000e+00 - br i1 %cmp.i285, label %for.cond.i243.backedge, label %if.end.i286 - -if.end.i286: ; preds = %for.cond.i243 - %cmp8.i287 = fcmp ogt double %add.i284, 0.000000e+00 - br i1 %cmp8.i287, label %if.then9.i310, label %if.end10.i288 - -if.then9.i310: ; preds = %if.end.i286 - %div.i311 = fdiv double %call6.i282, %add.i284 + %reass.sub432 = sub nsw i64 %and2.i45.i280, %125 + %or3.i46.i282 = add nsw i64 %reass.sub432, 4602678819172646912 + %126 = bitcast i64 %or3.i46.i282 to double + %127 = load double, ptr %a_.i164, align 8 + %call6.i283 = call double @pow(double noundef %122, double noundef %127) #31 + %128 = load double, ptr %b_.i165, align 8 + %call7.i284 = call double @pow(double noundef %126, double noundef %128) #31 + %add.i285 = fadd double %call6.i283, %call7.i284 + %cmp.i286 = fcmp ogt double %add.i285, 1.000000e+00 + br i1 %cmp.i286, label %for.cond.i244.backedge, label %if.end.i287 + +if.end.i287: ; preds = %for.cond.i244 + %cmp8.i288 = fcmp ogt double %add.i285, 0.000000e+00 + br i1 %cmp8.i288, label %if.then9.i311, label %if.end10.i289 + +if.then9.i311: ; preds = %if.end.i287 + %div.i312 = fdiv double %call6.i283, %add.i285 br label %invoke.cont79.i -if.end10.i288: ; preds = %if.end.i286 - %call11.i289 = call double @log(double noundef %122) #31 - %129 = load double, ptr %a_.i163, align 8 - %mul.i290 = fmul double %call11.i289, %129 - %call13.i291 = call double @log(double noundef %126) #31 - %130 = load double, ptr %b_.i164, align 8 - %mul15.i292 = fmul double %call13.i291, %130 - %131 = call double @llvm.fabs.f64(double %mul.i290) +if.end10.i289: ; preds = %if.end.i287 + %call11.i290 = call double @log(double noundef %122) #31 + %129 = load double, ptr %a_.i164, align 8 + %mul.i291 = fmul double %call11.i290, %129 + %call13.i292 = call double @log(double noundef %126) #31 + %130 = load double, ptr %b_.i165, align 8 + %mul15.i293 = fmul double %call13.i292, %130 + %131 = call double @llvm.fabs.f64(double %mul.i291) %132 = fcmp one double %131, 0x7FF0000000000000 - %133 = call double @llvm.fabs.f64(double %mul15.i292) + %133 = call double @llvm.fabs.f64(double %mul15.i293) %134 = fcmp one double %133, 0x7FF0000000000000 - %or.cond.i293 = select i1 %132, i1 %134, i1 false - br i1 %or.cond.i293, label %if.end19.i295, label %for.cond.i243.backedge - -if.end19.i295: ; preds = %if.end10.i288 - %cmp20.i296 = fcmp ogt double %mul.i290, %mul15.i292 - %sub25.i297 = fsub double %mul.i290, %mul15.i292 - %sub.i298 = fsub double %mul15.i292, %mul.i290 - %sub25.sink.i299 = select i1 %cmp20.i296, double %sub.i298, double %sub25.i297 - %mul15.sink.i300 = select i1 %cmp20.i296, double %mul.i290, double %mul15.i292 - %call26.i301 = call double @exp(double noundef %sub25.sink.i299) #31 - %add27.i302 = fadd double %call26.i301, 1.000000e+00 - %call28.i303 = call double @log(double noundef %add27.i302) #31 - %add29.i304 = fadd double %mul15.sink.i300, %call28.i303 - %cmp30.i305 = fcmp ogt double %add29.i304, 0.000000e+00 - br i1 %cmp30.i305, label %for.cond.i243.backedge, label %if.end32.i306 - -for.cond.i243.backedge: ; preds = %if.end19.i295, %if.end10.i288, %for.cond.i243 - br label %for.cond.i243, !llvm.loop !19 - -if.end32.i306: ; preds = %if.end19.i295 - %sub33.i307 = fsub double %mul.i290, %add29.i304 - %call34.i308 = call double @exp(double noundef %sub33.i307) #31 + %or.cond.i294 = select i1 %132, i1 %134, i1 false + br i1 %or.cond.i294, label %if.end19.i296, label %for.cond.i244.backedge + +if.end19.i296: ; preds = %if.end10.i289 + %cmp20.i297 = fcmp ogt double %mul.i291, %mul15.i293 + %sub25.i298 = fsub double %mul.i291, %mul15.i293 + %sub.i299 = fsub double %mul15.i293, %mul.i291 + %sub25.sink.i300 = select i1 %cmp20.i297, double %sub.i299, double %sub25.i298 + %mul15.sink.i301 = select i1 %cmp20.i297, double %mul.i291, double %mul15.i293 + %call26.i302 = call double @exp(double noundef %sub25.sink.i300) #31 + %add27.i303 = fadd double %call26.i302, 1.000000e+00 + %call28.i304 = call double @log(double noundef %add27.i303) #31 + %add29.i305 = fadd double %mul15.sink.i301, %call28.i304 + %cmp30.i306 = fcmp ogt double %add29.i305, 0.000000e+00 + br i1 %cmp30.i306, label %for.cond.i244.backedge, label %if.end32.i307 + +for.cond.i244.backedge: ; preds = %if.end19.i296, %if.end10.i289, %for.cond.i244 + br label %for.cond.i244, !llvm.loop !19 + +if.end32.i307: ; preds = %if.end19.i296 + %sub33.i308 = fsub double %mul.i291, %add29.i305 + %call34.i309 = call double @exp(double noundef %sub33.i308) #31 br label %invoke.cont79.i -sw.bb3.i.i.i55: ; preds = %for.body77.i, %for.body77.i - %cmp.i160 = icmp eq i32 %118, 1 - br label %for.cond.i168 - -for.cond.i168: ; preds = %if.end24.i232, %sw.bb3.i.i.i55 - %agg.tmp.sroa.0.0.copyload.i.i.i.i.i169 = load i64, ptr %rng_.i, align 16 - %agg.tmp.sroa.2.0.copyload.i.i.i.i.i170 = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 - %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i171 = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i170 to i128 - %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i172 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i171, 64 - %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i173 = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i169 to i128 - %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i174 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i172, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i173 - %mul.i.i.i.i.i.i.i175 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i174, 47026247687942121848144207491837523525 - %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i176 = add i128 %mul.i.i.i.i.i.i.i175, 1442695040888963407 - %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i177 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i176 to i64 - %135 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i176, 64 - %.tr.i.i.i.i.i.i.i178 = trunc i128 %135 to i64 - %.narrow.i.i.i.i.i.i.i179 = add i64 %.tr.i.i.i.i.i.i.i178, 6364136223846793005 - %shr.i.i.i.i.i.i.i180 = lshr i64 %.narrow.i.i.i.i.i.i.i179, 58 - %xor.i.i12.i.i.i.i.i.i181 = xor i64 %.narrow.i.i.i.i.i.i.i179, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i177 - %or.i.i.i.i.i.i.i.i182 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i.i181, i64 %xor.i.i12.i.i.i.i.i.i181, i64 %shr.i.i.i.i.i.i.i180) - %136 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i.i182, i1 false), !range !18 - %and.i.i183 = and i64 %136, 63 - %shl.i.i184 = shl i64 %or.i.i.i.i.i.i.i.i182, %and.i.i183 - %shr.i.i185 = lshr i64 %shl.i.i184, 11 - %and2.i.i186 = and i64 %shr.i.i185, 4503599627370495 +sw.bb3.i.i.i54: ; preds = %for.body77.i, %for.body77.i + %cmp.i161 = icmp eq i32 %118, 1 + br label %for.cond.i169 + +for.cond.i169: ; preds = %if.end24.i233, %sw.bb3.i.i.i54 + %agg.tmp.sroa.0.0.copyload.i.i.i.i.i170 = load i64, ptr %rng_.i, align 16 + %agg.tmp.sroa.2.0.copyload.i.i.i.i.i171 = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 + %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i172 = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i171 to i128 + %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i173 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i172, 64 + %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i174 = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i170 to i128 + %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i175 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i173, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i174 + %mul.i.i.i.i.i.i.i176 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i175, 47026247687942121848144207491837523525 + %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i177 = add i128 %mul.i.i.i.i.i.i.i176, 1442695040888963407 + %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i178 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i177 to i64 + %135 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i177, 64 + %.tr.i.i.i.i.i.i.i179 = trunc i128 %135 to i64 + %.narrow.i.i.i.i.i.i.i180 = add i64 %.tr.i.i.i.i.i.i.i179, 6364136223846793005 + %shr.i.i.i.i.i.i.i181 = lshr i64 %.narrow.i.i.i.i.i.i.i180, 58 + %xor.i.i12.i.i.i.i.i.i182 = xor i64 %.narrow.i.i.i.i.i.i.i180, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i178 + %or.i.i.i.i.i.i.i.i183 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i.i182, i64 %xor.i.i12.i.i.i.i.i.i182, i64 %shr.i.i.i.i.i.i.i181) + %136 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i.i183, i1 false), !range !18 + %and.i.i184 = and i64 %136, 63 + %shl.i.i185 = shl i64 %or.i.i.i.i.i.i.i.i183, %and.i.i184 + %shr.i.i186 = lshr i64 %shl.i.i185, 11 + %and2.i.i187 = and i64 %shr.i.i186, 4503599627370495 %137 = shl nuw nsw i64 %136, 52 - %reass.sub428 = sub nsw i64 %and2.i.i186, %137 - %or3.i.i188 = add nsw i64 %reass.sub428, 4602678819172646912 - %138 = bitcast i64 %or3.i.i188 to double - %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i27.i189 = zext i64 %.narrow.i.i.i.i.i.i.i179 to i128 - %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i28.i190 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i27.i189, 64 - %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i29.i191 = and i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i176, 18446744073709551615 - %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i30.i192 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i28.i190, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i29.i191 - %mul.i.i.i.i.i.i31.i193 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i30.i192, 47026247687942121848144207491837523525 - %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i32.i194 = add i128 %mul.i.i.i.i.i.i31.i193, 1442695040888963407 - %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i33.i195 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i32.i194 to i64 - %139 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i32.i194, 64 - %.tr.i.i.i.i.i.i34.i196 = trunc i128 %139 to i64 - %.narrow.i.i.i.i.i.i35.i197 = add i64 %.tr.i.i.i.i.i.i34.i196, 6364136223846793005 - store i64 %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i33.i195, ptr %rng_.i, align 16 - store i64 %.narrow.i.i.i.i.i.i35.i197, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 - %shr.i.i.i.i.i.i36.i198 = lshr i64 %.narrow.i.i.i.i.i.i35.i197, 58 - %xor.i.i12.i.i.i.i.i37.i199 = xor i64 %.narrow.i.i.i.i.i.i35.i197, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i33.i195 - %or.i.i.i.i.i.i.i38.i200 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i37.i199, i64 %xor.i.i12.i.i.i.i.i37.i199, i64 %shr.i.i.i.i.i.i36.i198) - %140 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i38.i200, i1 false), !range !18 - %and.i40.i201 = and i64 %140, 63 - %shl.i41.i202 = shl i64 %or.i.i.i.i.i.i.i38.i200, %and.i40.i201 - %shr.i43.i203 = lshr i64 %shl.i41.i202, 11 - %and2.i46.i204 = and i64 %shr.i43.i203, 4503599627370495 + %reass.sub429 = sub nsw i64 %and2.i.i187, %137 + %or3.i.i189 = add nsw i64 %reass.sub429, 4602678819172646912 + %138 = bitcast i64 %or3.i.i189 to double + %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i27.i190 = zext i64 %.narrow.i.i.i.i.i.i.i180 to i128 + %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i28.i191 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i27.i190, 64 + %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i29.i192 = and i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i177, 18446744073709551615 + %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i30.i193 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i28.i191, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i29.i192 + %mul.i.i.i.i.i.i31.i194 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i30.i193, 47026247687942121848144207491837523525 + %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i32.i195 = add i128 %mul.i.i.i.i.i.i31.i194, 1442695040888963407 + %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i33.i196 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i32.i195 to i64 + %139 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i32.i195, 64 + %.tr.i.i.i.i.i.i34.i197 = trunc i128 %139 to i64 + %.narrow.i.i.i.i.i.i35.i198 = add i64 %.tr.i.i.i.i.i.i34.i197, 6364136223846793005 + store i64 %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i33.i196, ptr %rng_.i, align 16 + store i64 %.narrow.i.i.i.i.i.i35.i198, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 + %shr.i.i.i.i.i.i36.i199 = lshr i64 %.narrow.i.i.i.i.i.i35.i198, 58 + %xor.i.i12.i.i.i.i.i37.i200 = xor i64 %.narrow.i.i.i.i.i.i35.i198, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i33.i196 + %or.i.i.i.i.i.i.i38.i201 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i37.i200, i64 %xor.i.i12.i.i.i.i.i37.i200, i64 %shr.i.i.i.i.i.i36.i199) + %140 = call i64 @llvm.ctlz.i64(i64 %or.i.i.i.i.i.i.i38.i201, i1 false), !range !18 + %and.i40.i202 = and i64 %140, 63 + %shl.i41.i203 = shl i64 %or.i.i.i.i.i.i.i38.i201, %and.i40.i202 + %shr.i43.i204 = lshr i64 %shl.i41.i203, 11 + %and2.i46.i205 = and i64 %shr.i43.i204, 4503599627370495 %141 = shl nuw nsw i64 %140, 52 - %reass.sub429 = sub nsw i64 %and2.i46.i204, %141 - %or3.i47.i206 = add nsw i64 %reass.sub429, 4602678819172646912 - %142 = bitcast i64 %or3.i47.i206 to double - %143 = load double, ptr %y_.i162, align 8 - %sub.i207 = fsub double 1.000000e+00, %138 - %div.i208 = fdiv double %138, %sub.i207 - %call6.i209 = call double @log(double noundef %div.i208) #31 - %mul.i210 = fmul double %143, %call6.i209 - %144 = load double, ptr %a_.i163, align 8 - %call7.i211 = call double @exp(double noundef %mul.i210) #31 - %mul8.i212 = fmul double %144, %call7.i211 - %145 = load double, ptr %b_.i164, align 8 - %add.i213 = fadd double %145, %mul8.i212 - %div9.i214 = fdiv double 1.000000e+00, %add.i213 - %146 = load double, ptr %gamma_.i165, align 8 - %147 = call double @llvm.fmuladd.f64(double %146, double %mul.i210, double 0xBFF62E42FEFA39EF) - %148 = load double, ptr %a_.i163, align 8 - %add12.i215 = fadd double %148, %147 - %sub13.i216 = fsub double %add12.i215, %mul8.i212 - %mul14.i217 = fmul double %138, %138 - %mul15.i218 = fmul double %mul14.i217, %142 - br i1 %cmp.i160, label %if.end.thread.i237, label %land.lhs.true.i219 - -if.end.thread.i237: ; preds = %for.cond.i168 - %call1948.i238 = call double @log(double noundef %mul15.i218) #31 - br label %if.end24.i232 - -land.lhs.true.i219: ; preds = %for.cond.i168 - %add16.i220 = fadd double %sub13.i216, 0x4004E020FBF6C69A - %mul17.i221 = fmul double %mul15.i218, 5.000000e+00 - %cmp18.i222 = fcmp ult double %add16.i220, %mul17.i221 - br i1 %cmp18.i222, label %if.end.i229, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit239 - -if.end.i229: ; preds = %land.lhs.true.i219 - %call19.i230 = call double @log(double noundef %mul15.i218) #31 - %cmp22.i231 = fcmp ult double %sub13.i216, %call19.i230 - br i1 %cmp22.i231, label %if.end24.i232, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit239 - -if.end24.i232: ; preds = %if.end.i229, %if.end.thread.i237 - %call1951.i233 = phi double [ %call1948.i238, %if.end.thread.i237 ], [ %call19.i230, %if.end.i229 ] - %149 = load double, ptr %x_.i.i.i.i27, align 8 - %150 = load double, ptr %log_x_.i167, align 8 - %call25.i234 = call double @log(double noundef %div9.i214) #31 - %add26.i235 = fadd double %150, %call25.i234 - %151 = call double @llvm.fmuladd.f64(double %149, double %add26.i235, double %147) - %cmp28.i236 = fcmp ult double %151, %call1951.i233 - br i1 %cmp28.i236, label %for.cond.i168, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit239, !llvm.loop !20 - -_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit239: ; preds = %land.lhs.true.i219, %if.end.i229, %if.end24.i232 - %152 = load i8, ptr %inverted_.i224, align 4 + %reass.sub430 = sub nsw i64 %and2.i46.i205, %141 + %or3.i47.i207 = add nsw i64 %reass.sub430, 4602678819172646912 + %142 = bitcast i64 %or3.i47.i207 to double + %143 = load double, ptr %y_.i163, align 8 + %sub.i208 = fsub double 1.000000e+00, %138 + %div.i209 = fdiv double %138, %sub.i208 + %call6.i210 = call double @log(double noundef %div.i209) #31 + %mul.i211 = fmul double %143, %call6.i210 + %144 = load double, ptr %a_.i164, align 8 + %call7.i212 = call double @exp(double noundef %mul.i211) #31 + %mul8.i213 = fmul double %144, %call7.i212 + %145 = load double, ptr %b_.i165, align 8 + %add.i214 = fadd double %145, %mul8.i213 + %div9.i215 = fdiv double 1.000000e+00, %add.i214 + %146 = load double, ptr %gamma_.i166, align 8 + %147 = call double @llvm.fmuladd.f64(double %146, double %mul.i211, double 0xBFF62E42FEFA39EF) + %148 = load double, ptr %a_.i164, align 8 + %add12.i216 = fadd double %148, %147 + %sub13.i217 = fsub double %add12.i216, %mul8.i213 + %mul14.i218 = fmul double %138, %138 + %mul15.i219 = fmul double %mul14.i218, %142 + br i1 %cmp.i161, label %if.end.thread.i238, label %land.lhs.true.i220 + +if.end.thread.i238: ; preds = %for.cond.i169 + %call1948.i239 = call double @log(double noundef %mul15.i219) #31 + br label %if.end24.i233 + +land.lhs.true.i220: ; preds = %for.cond.i169 + %add16.i221 = fadd double %sub13.i217, 0x4004E020FBF6C69A + %mul17.i222 = fmul double %mul15.i219, 5.000000e+00 + %cmp18.i223 = fcmp ult double %add16.i221, %mul17.i222 + br i1 %cmp18.i223, label %if.end.i230, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit240 + +if.end.i230: ; preds = %land.lhs.true.i220 + %call19.i231 = call double @log(double noundef %mul15.i219) #31 + %cmp22.i232 = fcmp ult double %sub13.i217, %call19.i231 + br i1 %cmp22.i232, label %if.end24.i233, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit240 + +if.end24.i233: ; preds = %if.end.i230, %if.end.thread.i238 + %call1951.i234 = phi double [ %call1948.i239, %if.end.thread.i238 ], [ %call19.i231, %if.end.i230 ] + %149 = load double, ptr %x_.i.i.i.i26, align 8 + %150 = load double, ptr %log_x_.i168, align 8 + %call25.i235 = call double @log(double noundef %div9.i215) #31 + %add26.i236 = fadd double %150, %call25.i235 + %151 = call double @llvm.fmuladd.f64(double %149, double %add26.i236, double %147) + %cmp28.i237 = fcmp ult double %151, %call1951.i234 + br i1 %cmp28.i237, label %for.cond.i169, label %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit240, !llvm.loop !20 + +_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit240: ; preds = %land.lhs.true.i220, %if.end.i230, %if.end24.i233 + %152 = load i8, ptr %inverted_.i225, align 4 %153 = and i8 %152, 1 - %tobool31.not.i225 = icmp eq i8 %153, 0 - %neg.i226 = fneg double %mul8.i212 - %154 = call double @llvm.fmuladd.f64(double %neg.i226, double %div9.i214, double 1.000000e+00) - %mul33.i227 = fmul double %mul8.i212, %div9.i214 - %cond.i228 = select i1 %tobool31.not.i225, double %mul33.i227, double %154 + %tobool31.not.i226 = icmp eq i8 %153, 0 + %neg.i227 = fneg double %mul8.i213 + %154 = call double @llvm.fmuladd.f64(double %neg.i227, double %div9.i215, double 1.000000e+00) + %mul33.i228 = fmul double %mul8.i213, %div9.i215 + %cond.i229 = select i1 %tobool31.not.i226, double %mul33.i228, double %154 br label %invoke.cont79.i -land.lhs.true.i.i.i.i28: ; preds = %for.body77.i +land.lhs.true.i.i.i.i27: ; preds = %for.body77.i %155 = load double, ptr %dis.i6, align 8 - %156 = load double, ptr %beta_.i.i.i.i25, align 8 - %cmp2.i.i.i.i29 = fcmp oeq double %155, %156 - br i1 %cmp2.i.i.i.i29, label %if.then.i.i.i141.i, label %if.end.i.i.i.i30 - -if.then.i.i.i141.i: ; preds = %land.lhs.true.i.i.i.i28 - %agg.tmp.sroa.0.0.copyload.i.i.i.i.i.i.i.i39 = load i64, ptr %rng_.i, align 16 - %agg.tmp.sroa.2.0.copyload.i.i.i.i.i.i.i.i40 = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 - %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i.i.i.i41 = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i.i.i.i40 to i128 - %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i.i.i.i42 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i.i.i.i41, 64 - %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i.i.i.i43 = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i.i.i.i39 to i128 - %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i.i.i.i44 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i.i.i.i42, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i.i.i.i43 - %mul.i.i.i.i.i.i.i.i.i.i45 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i.i.i.i44, 47026247687942121848144207491837523525 - %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i.i.i.i46 = add i128 %mul.i.i.i.i.i.i.i.i.i.i45, 1442695040888963407 - %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i.i.i.i47 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i.i.i.i46 to i64 - %157 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i.i.i.i46, 64 - %.tr.i.i.i.i.i.i.i.i.i.i48 = trunc i128 %157 to i64 - %.narrow.i.i.i.i.i.i.i.i.i.i49 = add i64 %.tr.i.i.i.i.i.i.i.i.i.i48, 6364136223846793005 - store i64 %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i.i.i.i47, ptr %rng_.i, align 16 - store i64 %.narrow.i.i.i.i.i.i.i.i.i.i49, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 - %shr.i.i.i.i.i.i.i.i.i.i50 = lshr i64 %.narrow.i.i.i.i.i.i.i.i.i.i49, 58 - %xor.i.i12.i.i.i.i.i.i.i.i.i51 = xor i64 %.narrow.i.i.i.i.i.i.i.i.i.i49, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i.i.i.i47 - %or.i.i.i.i.i.i.i.i.i.i.i52 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i.i.i.i.i51, i64 %xor.i.i12.i.i.i.i.i.i.i.i.i51, i64 %shr.i.i.i.i.i.i.i.i.i.i50) - %158 = and i64 %or.i.i.i.i.i.i.i.i.i.i.i52, 16 - %cmp3.i.i.i.i53 = icmp ne i64 %158, 0 - %conv4.i.i.i.i54 = uitofp i1 %cmp3.i.i.i.i53 to double + %156 = load double, ptr %beta_.i.i.i.i24, align 8 + %cmp2.i.i.i.i28 = fcmp oeq double %155, %156 + br i1 %cmp2.i.i.i.i28, label %if.then.i.i.i143.i, label %if.end.i.i.i.i29 + +if.then.i.i.i143.i: ; preds = %land.lhs.true.i.i.i.i27 + %agg.tmp.sroa.0.0.copyload.i.i.i.i.i.i.i.i38 = load i64, ptr %rng_.i, align 16 + %agg.tmp.sroa.2.0.copyload.i.i.i.i.i.i.i.i39 = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 + %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i.i.i.i40 = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i.i.i.i39 to i128 + %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i.i.i.i41 = shl nuw i128 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i.i.i.i40, 64 + %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i.i.i.i42 = zext i64 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i.i.i.i38 to i128 + %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i.i.i.i43 = or disjoint i128 %coerce.sroa.2.0.insert.shift.i.i.i.i.i.i.i.i.i.i41, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i.i.i.i.i42 + %mul.i.i.i.i.i.i.i.i.i.i44 = mul i128 %coerce.sroa.0.0.insert.insert.i.i.i.i.i.i.i.i.i.i43, 47026247687942121848144207491837523525 + %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i.i.i.i45 = add i128 %mul.i.i.i.i.i.i.i.i.i.i44, 1442695040888963407 + %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i.i.i.i46 = trunc i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i.i.i.i45 to i64 + %157 = lshr i128 %coerce.sroa.0.0.insert.insert.i6.i.i.i.i.i.i.i.i.i45, 64 + %.tr.i.i.i.i.i.i.i.i.i.i47 = trunc i128 %157 to i64 + %.narrow.i.i.i.i.i.i.i.i.i.i48 = add i64 %.tr.i.i.i.i.i.i.i.i.i.i47, 6364136223846793005 + store i64 %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i.i.i.i46, ptr %rng_.i, align 16 + store i64 %.narrow.i.i.i.i.i.i.i.i.i.i48, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i.i.i, align 8 + %shr.i.i.i.i.i.i.i.i.i.i49 = lshr i64 %.narrow.i.i.i.i.i.i.i.i.i.i48, 58 + %xor.i.i12.i.i.i.i.i.i.i.i.i50 = xor i64 %.narrow.i.i.i.i.i.i.i.i.i.i48, %coerce3.sroa.0.0.extract.trunc.i7.i.i.i.i.i.i.i.i.i46 + %or.i.i.i.i.i.i.i.i.i.i.i51 = call noundef i64 @llvm.fshr.i64(i64 %xor.i.i12.i.i.i.i.i.i.i.i.i50, i64 %xor.i.i12.i.i.i.i.i.i.i.i.i50, i64 %shr.i.i.i.i.i.i.i.i.i.i49) + %158 = and i64 %or.i.i.i.i.i.i.i.i.i.i.i51, 16 + %cmp3.i.i.i.i52 = icmp ne i64 %158, 0 + %conv4.i.i.i.i53 = uitofp i1 %cmp3.i.i.i.i52 to double br label %invoke.cont79.i -if.end.i.i.i.i30: ; preds = %land.lhs.true.i.i.i.i28, %for.body77.i - %159 = load double, ptr %x_.i.i.i.i27, align 8 +if.end.i.i.i.i29: ; preds = %land.lhs.true.i.i.i.i27, %for.body77.i + %159 = load double, ptr %x_.i.i.i.i26, align 8 br label %invoke.cont79.i -invoke.cont79.i: ; preds = %if.end32.i306, %if.then9.i310, %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit239, %if.end.i.i.i.i30, %if.then.i.i.i141.i - %retval.0.i.i.i31 = phi double [ %conv4.i.i.i.i54, %if.then.i.i.i141.i ], [ %159, %if.end.i.i.i.i30 ], [ %cond.i228, %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit239 ], [ %div.i311, %if.then9.i310 ], [ %call34.i308, %if.end32.i306 ] - br i1 %cmp.not.i.i.i.i135.i, label %invoke.cont96.i, label %while.body.i.i.i +invoke.cont79.i: ; preds = %if.end32.i307, %if.then9.i311, %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit240, %if.end.i.i.i.i29, %if.then.i.i.i143.i + %retval.0.i.i.i30 = phi double [ %conv4.i.i.i.i53, %if.then.i.i.i143.i ], [ %159, %if.end.i.i.i.i29 ], [ %cond.i229, %_ZN4absl17beta_distributionIdE14AlgorithmChengINS_15random_internal17NonsecureURBGBaseINS3_10pcg_engineINS3_13pcg128_paramsILm2549297995355413924ELm4865540595714422341ELm6364136223846793005ELm1442695040888963407EEENS3_17pcg_xsl_rr_128_64EEENS3_17RandenPoolSeedSeqEEEEEdRT_RKNS1_10param_typeE.exit240 ], [ %div.i312, %if.then9.i311 ], [ %call34.i309, %if.end32.i307 ] + br i1 %cmp.not.i.i.i.i137.i, label %invoke.cont96.i, label %while.body.i.i.i while.body.i.i.i: ; preds = %invoke.cont79.i, %while.body.i.i.i %__len.08.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i, %invoke.cont79.i ] @@ -4014,53 +4020,53 @@ while.body.i.i.i: ; preds = %invoke.cont79.i, %w %shr.i.i.i = lshr i64 %__len.08.i.i.i, 1 %incdec.ptr.i8.sink.i.i.i.i.i = getelementptr inbounds double, ptr %__first.sroa.0.07.i.i.i, i64 %shr.i.i.i %160 = load double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, align 8 - %cmp.i.i.i152.i = fcmp olt double %retval.0.i.i.i31, %160 - %incdec.ptr.i.i.i153.i = getelementptr inbounds double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, i64 1 + %cmp.i.i.i154.i = fcmp olt double %retval.0.i.i.i30, %160 + %incdec.ptr.i.i.i155.i = getelementptr inbounds double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, i64 1 %161 = xor i64 %shr.i.i.i, -1 %sub9.i.i.i = add nsw i64 %__len.08.i.i.i, %161 - %__first.sroa.0.1.i.i.i = select i1 %cmp.i.i.i152.i, ptr %__first.sroa.0.07.i.i.i, ptr %incdec.ptr.i.i.i153.i - %__len.1.i.i.i = select i1 %cmp.i.i.i152.i, i64 %shr.i.i.i, i64 %sub9.i.i.i - %cmp.i.i154.i = icmp sgt i64 %__len.1.i.i.i, 0 - br i1 %cmp.i.i154.i, label %while.body.i.i.i, label %invoke.cont96.loopexit.i, !llvm.loop !29 + %__first.sroa.0.1.i.i.i = select i1 %cmp.i.i.i154.i, ptr %__first.sroa.0.07.i.i.i, ptr %incdec.ptr.i.i.i155.i + %__len.1.i.i.i = select i1 %cmp.i.i.i154.i, i64 %shr.i.i.i, i64 %sub9.i.i.i + %cmp.i.i156.i = icmp sgt i64 %__len.1.i.i.i, 0 + br i1 %cmp.i.i156.i, label %while.body.i.i.i, label %invoke.cont96.loopexit.i, !llvm.loop !29 invoke.cont96.loopexit.i: ; preds = %while.body.i.i.i %.pre.i = ptrtoint ptr %__first.sroa.0.1.i.i.i to i64 - %.pre328.i = sub i64 %.pre.i, %sub.ptr.rhs.cast.i.i - %.pre329.i = ashr exact i64 %.pre328.i, 3 + %.pre330.i = sub i64 %.pre.i, %sub.ptr.rhs.cast.i.i + %.pre331.i = ashr exact i64 %.pre330.i, 3 br label %invoke.cont96.i invoke.cont96.i: ; preds = %invoke.cont96.loopexit.i, %invoke.cont79.i - %sub.ptr.div.i.i.i.pre-phi.i = phi i64 [ %.pre329.i, %invoke.cont96.loopexit.i ], [ %sub.ptr.div.i.i, %invoke.cont79.i ] - %add.ptr.i155.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %sub.ptr.div.i.i.i.pre-phi.i - %162 = load i32, ptr %add.ptr.i155.i, align 4 + %sub.ptr.div.i.i.i.pre-phi.i = phi i64 [ %.pre331.i, %invoke.cont96.loopexit.i ], [ %sub.ptr.div.i.i, %invoke.cont79.i ] + %add.ptr.i157.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %sub.ptr.div.i.i.i.pre-phi.i + %162 = load i32, ptr %add.ptr.i157.i, align 4 %inc99.i = add nsw i32 %162, 1 - store i32 %inc99.i, ptr %add.ptr.i155.i, align 4 - %inc101.i = add nuw nsw i32 %i73.0317.i, 1 - %exitcond326.not.i = icmp eq i32 %inc101.i, 10000 - br i1 %exitcond326.not.i, label %for.end102.i, label %for.body77.i, !llvm.loop !30 + store i32 %inc99.i, ptr %add.ptr.i157.i, align 4 + %inc101.i = add nuw nsw i32 %i73.0319.i, 1 + %exitcond328.not.i = icmp eq i32 %inc101.i, 10000 + br i1 %exitcond328.not.i, label %for.end102.i, label %for.body77.i, !llvm.loop !30 -ehcleanup61.i59: ; preds = %_ZN7testing7MessageD2Ev.exit126.i, %lpad37.i58 - %.pn.pn.i60 = phi { ptr, i32 } [ %.pn.i62, %_ZN7testing7MessageD2Ev.exit126.i ], [ %101, %lpad37.i58 ] +ehcleanup61.i58: ; preds = %_ZN7testing7MessageD2Ev.exit128.i, %lpad37.i57 + %.pn.pn.i59 = phi { ptr, i32 } [ %.pn.i61, %_ZN7testing7MessageD2Ev.exit128.i ], [ %101, %lpad37.i57 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i5) #31 br label %ehcleanup199.i lpad70.i.loopexit: ; preds = %if.end.i.i.i.i.i.i.i.i - %lpad.loopexit325 = landingpad { ptr, i32 } + %lpad.loopexit326 = landingpad { ptr, i32 } cleanup br label %ehcleanup199.i -lpad70.i.loopexit.split-lp: ; preds = %if.then.i.i138.i - %lpad.loopexit.split-lp326 = landingpad { ptr, i32 } +lpad70.i.loopexit.split-lp: ; preds = %if.then.i.i140.i + %lpad.loopexit.split-lp327 = landingpad { ptr, i32 } cleanup br label %ehcleanup199.i lpad78.loopexit.i: ; preds = %for.body132.i - %lpad.loopexit.i32 = landingpad { ptr, i32 } + %lpad.loopexit.i31 = landingpad { ptr, i32 } cleanup br label %ehcleanup198.i lpad78.loopexit.split-lp.loopexit.split-lp.i: ; preds = %for.end162.i, %_ZN4absl15random_internal9ChiSquareIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS3_IPdS5_IdSaIdEEEEEEdT_SD_T0_SE_.exit.i - %lpad.loopexit.split-lp280.i = landingpad { ptr, i32 } + %lpad.loopexit.split-lp282.i = landingpad { ptr, i32 } cleanup br label %ehcleanup198.i @@ -4074,22 +4080,22 @@ for.end102.i: ; preds = %invoke.cont96.i for.body.i.i: ; preds = %for.end102.i, %for.body.i.i %chi_square.017.i.i = phi double [ %chi_square.1.i.i, %for.body.i.i ], [ 0.000000e+00, %for.end102.i ] - %it.sroa.0.016.i.i = phi ptr [ %incdec.ptr.i.i164.i, %for.body.i.i ], [ %counts.sroa.0.0.i, %for.end102.i ] + %it.sroa.0.016.i.i = phi ptr [ %incdec.ptr.i.i166.i, %for.body.i.i ], [ %counts.sroa.0.0.i, %for.end102.i ] %eit.sroa.0.015.i.i = phi ptr [ %incdec.ptr.i5.i.i, %for.body.i.i ], [ %expected.sroa.0.4.i, %for.end102.i ] %164 = load double, ptr %eit.sroa.0.015.i.i, align 8 %165 = load i32, ptr %it.sroa.0.016.i.i, align 4 - %conv.i163.i = sitofp i32 %165 to double - %sub.i.i35 = fsub double %conv.i163.i, %164 - %cmp9.i.i = fcmp une double %sub.i.i35, 0.000000e+00 - %mul.i.i36 = fmul double %sub.i.i35, %sub.i.i35 - %div.i.i37 = fdiv double %mul.i.i36, %164 - %add.i.i38 = select i1 %cmp9.i.i, double %div.i.i37, double -0.000000e+00 - %chi_square.1.i.i = fadd double %chi_square.017.i.i, %add.i.i38 - %incdec.ptr.i.i164.i = getelementptr inbounds i32, ptr %it.sroa.0.016.i.i, i64 1 + %conv.i165.i = sitofp i32 %165 to double + %sub.i.i34 = fsub double %conv.i165.i, %164 + %cmp9.i.i = fcmp une double %sub.i.i34, 0.000000e+00 + %mul.i.i35 = fmul double %sub.i.i34, %sub.i.i34 + %div.i.i36 = fdiv double %mul.i.i35, %164 + %add.i.i37 = select i1 %cmp9.i.i, double %div.i.i36, double -0.000000e+00 + %chi_square.1.i.i = fadd double %chi_square.017.i.i, %add.i.i37 + %incdec.ptr.i.i166.i = getelementptr inbounds i32, ptr %it.sroa.0.016.i.i, i64 1 %incdec.ptr.i5.i.i = getelementptr inbounds double, ptr %eit.sroa.0.015.i.i, i64 1 - %cmp.i.i165.i = icmp ne ptr %incdec.ptr.i.i164.i, %retval.0.i.i.i.i.i.i.i.i + %cmp.i.i167.i = icmp ne ptr %incdec.ptr.i.i166.i, %retval.0.i.i.i.i.i.i.i.i %cmp.i4.i.i = icmp ne ptr %incdec.ptr.i5.i.i, %expected.sroa.9.3.i - %or.cond.i.i = select i1 %cmp.i.i165.i, i1 %cmp.i4.i.i, i1 false + %or.cond.i.i = select i1 %cmp.i.i167.i, i1 %cmp.i4.i.i, i1 false br i1 %or.cond.i.i, label %for.body.i.i, label %_ZN4absl15random_internal9ChiSquareIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS3_IPdS5_IdSaIdEEEEEEdT_SD_T0_SE_.exit.i, !llvm.loop !31 _ZN4absl15random_internal9ChiSquareIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS3_IPdS5_IdSaIdEEEEEEdT_SD_T0_SE_.exit.i: ; preds = %for.body.i.i, %for.end102.i @@ -4102,14 +4108,14 @@ invoke.cont124.i: ; preds = %_ZN4absl15random_in br i1 %cmp126.i, label %if.end196.i, label %for.cond129.preheader.i for.cond129.preheader.i: ; preds = %invoke.cont124.i - br i1 %cmp.not.i.i.i.i135.i, label %for.end162.i, label %for.body132.preheader.i + br i1 %cmp.not.i.i.i.i137.i, label %for.end162.i, label %for.body132.preheader.i for.body132.preheader.i: ; preds = %for.cond129.preheader.i %umax.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i, i64 1) br label %for.body132.i for.body132.i: ; preds = %invoke.cont157.i, %for.body132.preheader.i - %i128.0319.i = phi i64 [ %inc161.i, %invoke.cont157.i ], [ 0, %for.body132.preheader.i ] + %i128.0321.i = phi i64 [ %inc161.i, %invoke.cont157.i ], [ 0, %for.body132.preheader.i ] invoke void @_ZN4absl12log_internal10LogMessageC1EPKciNS1_7InfoTagE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp134.i, ptr noundef nonnull @.str.2, i32 noundef 398) #36 to label %invoke.cont136.i unwind label %lpad78.loopexit.i @@ -4119,58 +4125,58 @@ invoke.cont136.i: ; preds = %for.body132.i invoke.cont139.i: ; preds = %invoke.cont136.i call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i.i4) - store i64 %i128.0319.i, ptr %v.addr.i.i4, align 8 - %call.i172.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp134.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i.i4) + store i64 %i128.0321.i, ptr %v.addr.i.i4, align 8 + %call.i174.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp134.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i.i4) to label %invoke.cont141.i unwind label %lpad138.i invoke.cont141.i: ; preds = %invoke.cont139.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i.i4) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i172.i, i64 4, ptr nonnull @.str.52) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i174.i, i64 4, ptr nonnull @.str.52) to label %invoke.cont143.i unwind label %lpad138.i invoke.cont143.i: ; preds = %invoke.cont141.i - %add.ptr.i175.i = getelementptr inbounds double, ptr %cutoffs.sroa.0.4.i, i64 %i128.0319.i - %166 = load double, ptr %add.ptr.i175.i, align 8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i176.i) - store double %166, ptr %v.addr.i176.i, align 8 - %call.i177.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i172.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i176.i) - to label %invoke.cont146.i33 unwind label %lpad138.i - -invoke.cont146.i33: ; preds = %invoke.cont143.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i176.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i177.i, i64 15, ptr nonnull @.str.53) + %add.ptr.i177.i = getelementptr inbounds double, ptr %cutoffs.sroa.0.4.i, i64 %i128.0321.i + %166 = load double, ptr %add.ptr.i177.i, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i178.i) + store double %166, ptr %v.addr.i178.i, align 8 + %call.i179.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i174.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i178.i) + to label %invoke.cont146.i32 unwind label %lpad138.i + +invoke.cont146.i32: ; preds = %invoke.cont143.i + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i178.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i179.i, i64 15, ptr nonnull @.str.53) to label %invoke.cont148.i unwind label %lpad138.i -invoke.cont148.i: ; preds = %invoke.cont146.i33 - %add.ptr.i180.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %i128.0319.i - %167 = load i32, ptr %add.ptr.i180.i, align 4 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %v.addr.i181.i) - store i32 %167, ptr %v.addr.i181.i, align 4 - %call.i182.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i177.i, ptr noundef nonnull align 4 dereferenceable(4) %v.addr.i181.i) - to label %invoke.cont151.i34 unwind label %lpad138.i - -invoke.cont151.i34: ; preds = %invoke.cont148.i - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %v.addr.i181.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i182.i, i64 11, ptr nonnull @.str.54) +invoke.cont148.i: ; preds = %invoke.cont146.i32 + %add.ptr.i182.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %i128.0321.i + %167 = load i32, ptr %add.ptr.i182.i, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %v.addr.i183.i) + store i32 %167, ptr %v.addr.i183.i, align 4 + %call.i184.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i179.i, ptr noundef nonnull align 4 dereferenceable(4) %v.addr.i183.i) + to label %invoke.cont151.i33 unwind label %lpad138.i + +invoke.cont151.i33: ; preds = %invoke.cont148.i + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %v.addr.i183.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i184.i, i64 11, ptr nonnull @.str.54) to label %invoke.cont153.i unwind label %lpad138.i -invoke.cont153.i: ; preds = %invoke.cont151.i34 - %add.ptr.i185.i = getelementptr inbounds double, ptr %expected.sroa.0.4.i, i64 %i128.0319.i - %168 = load double, ptr %add.ptr.i185.i, align 8 +invoke.cont153.i: ; preds = %invoke.cont151.i33 + %add.ptr.i187.i = getelementptr inbounds double, ptr %expected.sroa.0.4.i, i64 %i128.0321.i + %168 = load double, ptr %add.ptr.i187.i, align 8 %conv156.i = fptosi double %168 to i32 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %v.addr.i186.i) - store i32 %conv156.i, ptr %v.addr.i186.i, align 4 - %call.i187.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i182.i, ptr noundef nonnull align 4 dereferenceable(4) %v.addr.i186.i) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %v.addr.i188.i) + store i32 %conv156.i, ptr %v.addr.i188.i, align 4 + %call.i189.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i184.i, ptr noundef nonnull align 4 dereferenceable(4) %v.addr.i188.i) to label %invoke.cont157.i unwind label %lpad138.i invoke.cont157.i: ; preds = %invoke.cont153.i - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %v.addr.i186.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %v.addr.i188.i) call void @_ZN4absl12log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp134.i) #37 - %inc161.i = add nuw i64 %i128.0319.i, 1 - %exitcond327.not.i = icmp eq i64 %inc161.i, %umax.i - br i1 %exitcond327.not.i, label %for.end162.i, label %for.body132.i, !llvm.loop !32 + %inc161.i = add nuw i64 %i128.0321.i, 1 + %exitcond329.not.i = icmp eq i64 %inc161.i, %umax.i + br i1 %exitcond329.not.i, label %for.end162.i, label %for.body132.i, !llvm.loop !32 -lpad138.i: ; preds = %invoke.cont153.i, %invoke.cont151.i34, %invoke.cont148.i, %invoke.cont146.i33, %invoke.cont143.i, %invoke.cont141.i, %invoke.cont139.i, %invoke.cont136.i +lpad138.i: ; preds = %invoke.cont153.i, %invoke.cont151.i33, %invoke.cont148.i, %invoke.cont146.i32, %invoke.cont143.i, %invoke.cont141.i, %invoke.cont139.i, %invoke.cont136.i %169 = landingpad { ptr, i32 } cleanup call void @_ZN4absl12log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp134.i) #37 @@ -4186,45 +4192,45 @@ invoke.cont166.i: ; preds = %for.end162.i invoke.cont169.i: ; preds = %invoke.cont166.i %170 = load double, ptr %add.ptr.i, align 8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i191.i) - store double %170, ptr %v.addr.i191.i, align 8 - %call.i192.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i191.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i193.i) + store double %170, ptr %v.addr.i193.i, align 8 + %call.i194.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i193.i) to label %invoke.cont173.i unwind label %lpad168.i invoke.cont173.i: ; preds = %invoke.cont169.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i191.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i192.i, i64 2, ptr nonnull @.str.34) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i193.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i194.i, i64 2, ptr nonnull @.str.34) to label %invoke.cont175.i unwind label %lpad168.i invoke.cont175.i: ; preds = %invoke.cont173.i %171 = load double, ptr %beta_.i, align 16 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i196.i) - store double %171, ptr %v.addr.i196.i, align 8 - %call.i197.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i192.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i196.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i198.i) + store double %171, ptr %v.addr.i198.i, align 8 + %call.i199.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i194.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i198.i) to label %invoke.cont179.i unwind label %lpad168.i invoke.cont179.i: ; preds = %invoke.cont175.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i196.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i197.i, i64 2, ptr nonnull @.str.43) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i198.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i199.i, i64 2, ptr nonnull @.str.43) to label %invoke.cont181.i unwind label %lpad168.i invoke.cont181.i: ; preds = %invoke.cont179.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i197.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i199.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) to label %invoke.cont183.i unwind label %lpad168.i invoke.cont183.i: ; preds = %invoke.cont181.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i197.i, i64 1, ptr nonnull @.str.55) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i199.i, i64 1, ptr nonnull @.str.55) to label %invoke.cont185.i unwind label %lpad168.i invoke.cont185.i: ; preds = %invoke.cont183.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i207.i) - store double %chi_square.0.lcssa.i.i, ptr %v.addr.i207.i, align 8 - %call.i208.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i197.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i207.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i209.i) + store double %chi_square.0.lcssa.i.i, ptr %v.addr.i209.i, align 8 + %call.i210.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i199.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i209.i) to label %invoke.cont187.i unwind label %lpad168.i invoke.cont187.i: ; preds = %invoke.cont185.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i207.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i208.i, i64 6, ptr nonnull @.str.56) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i209.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i210.i, i64 6, ptr nonnull @.str.56) to label %invoke.cont189.i unwind label %lpad168.i invoke.cont189.i: ; preds = %invoke.cont187.i @@ -4232,13 +4238,13 @@ invoke.cont189.i: ; preds = %invoke.cont187.i to label %invoke.cont191.i unwind label %lpad168.i invoke.cont191.i: ; preds = %invoke.cont189.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i212.i) - store double %call192.i, ptr %v.addr.i212.i, align 8 - %call.i213.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i208.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i212.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i214.i) + store double %call192.i, ptr %v.addr.i214.i, align 8 + %call.i215.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i210.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i214.i) to label %invoke.cont193.i unwind label %lpad168.i invoke.cont193.i: ; preds = %invoke.cont191.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i212.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i214.i) call void @_ZN4absl12log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i) #37 br label %if.end196.i @@ -4249,58 +4255,58 @@ lpad168.i: ; preds = %invoke.cont191.i, % br label %ehcleanup198.i if.end196.i: ; preds = %invoke.cont193.i, %invoke.cont124.i - %tobool.not.i.i.i215.i = icmp eq ptr %counts.sroa.0.0.i, null - br i1 %tobool.not.i.i.i215.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i216.i + %tobool.not.i.i.i217.i = icmp eq ptr %counts.sroa.0.0.i, null + br i1 %tobool.not.i.i.i217.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i218.i -if.then.i.i.i216.i: ; preds = %if.end196.i +if.then.i.i.i218.i: ; preds = %if.end196.i call void @_ZdlPv(ptr noundef nonnull %counts.sroa.0.0.i) #32 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i -_ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i216.i, %if.end196.i - %tobool.not.i.i.i217.i = icmp eq ptr %expected.sroa.0.4.i, null - br i1 %tobool.not.i.i.i217.i, label %_ZNSt6vectorIdSaIdEED2Ev.exit.i, label %if.then.i.i.i218.i +_ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i218.i, %if.end196.i + %tobool.not.i.i.i219.i = icmp eq ptr %expected.sroa.0.4.i, null + br i1 %tobool.not.i.i.i219.i, label %_ZNSt6vectorIdSaIdEED2Ev.exit.i, label %if.then.i.i.i220.i -if.then.i.i.i218.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i +if.then.i.i.i220.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i call void @_ZdlPv(ptr noundef nonnull %expected.sroa.0.4.i) #32 br label %_ZNSt6vectorIdSaIdEED2Ev.exit.i -_ZNSt6vectorIdSaIdEED2Ev.exit.i: ; preds = %if.then.i.i.i218.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i - %tobool.not.i.i.i219.i = icmp eq ptr %cutoffs.sroa.0.4.i, null - br i1 %tobool.not.i.i.i219.i, label %_ZN12_GLOBAL__N_120BetaDistributionTest20SingleChiSquaredTestIN4absl17beta_distributionIdEEEEbdmm.exit, label %if.then.i.i.i220.i +_ZNSt6vectorIdSaIdEED2Ev.exit.i: ; preds = %if.then.i.i.i220.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i + %tobool.not.i.i.i221.i = icmp eq ptr %cutoffs.sroa.0.4.i, null + br i1 %tobool.not.i.i.i221.i, label %_ZN12_GLOBAL__N_120BetaDistributionTest20SingleChiSquaredTestIN4absl17beta_distributionIdEEEEbdmm.exit, label %if.then.i.i.i222.i -if.then.i.i.i220.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit.i +if.then.i.i.i222.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.4.i) #32 br label %_ZN12_GLOBAL__N_120BetaDistributionTest20SingleChiSquaredTestIN4absl17beta_distributionIdEEEEbdmm.exit ehcleanup198.i: ; preds = %lpad168.i, %lpad138.i, %lpad78.loopexit.split-lp.loopexit.split-lp.i, %lpad78.loopexit.i - %.pn23.i = phi { ptr, i32 } [ %169, %lpad138.i ], [ %172, %lpad168.i ], [ %lpad.loopexit.i32, %lpad78.loopexit.i ], [ %lpad.loopexit.split-lp280.i, %lpad78.loopexit.split-lp.loopexit.split-lp.i ] - %tobool.not.i.i.i222.i = icmp eq ptr %counts.sroa.0.0.i, null - br i1 %tobool.not.i.i.i222.i, label %ehcleanup199.i, label %if.then.i.i.i223.i + %.pn23.i = phi { ptr, i32 } [ %169, %lpad138.i ], [ %172, %lpad168.i ], [ %lpad.loopexit.i31, %lpad78.loopexit.i ], [ %lpad.loopexit.split-lp282.i, %lpad78.loopexit.split-lp.loopexit.split-lp.i ] + %tobool.not.i.i.i224.i = icmp eq ptr %counts.sroa.0.0.i, null + br i1 %tobool.not.i.i.i224.i, label %ehcleanup199.i, label %if.then.i.i.i225.i -if.then.i.i.i223.i: ; preds = %ehcleanup198.i +if.then.i.i.i225.i: ; preds = %ehcleanup198.i call void @_ZdlPv(ptr noundef nonnull %counts.sroa.0.0.i) #32 br label %ehcleanup199.i -ehcleanup199.i: ; preds = %lpad70.i.loopexit, %lpad70.i.loopexit.split-lp, %lpad.loopexit.split-lp.i18.loopexit, %lpad.loopexit.split-lp.i18.loopexit.split-lp, %if.then.i.i.i223.i, %ehcleanup198.i, %ehcleanup61.i59, %lpad.loopexit282.i - %expected.sroa.0.5.i = phi ptr [ %expected.sroa.0.4.i, %ehcleanup61.i59 ], [ %expected.sroa.0.4.i, %ehcleanup198.i ], [ %expected.sroa.0.4.i, %if.then.i.i.i223.i ], [ %expected.sroa.0.0310.i, %lpad.loopexit282.i ], [ %expected.sroa.0.1.ph.i.ph, %lpad.loopexit.split-lp.i18.loopexit ], [ %expected.sroa.0.1.ph.i.ph320, %lpad.loopexit.split-lp.i18.loopexit.split-lp ], [ %expected.sroa.0.4.i, %lpad70.i.loopexit ], [ %expected.sroa.0.4.i, %lpad70.i.loopexit.split-lp ] - %cutoffs.sroa.0.5.i = phi ptr [ %cutoffs.sroa.0.4.i, %ehcleanup61.i59 ], [ %cutoffs.sroa.0.4.i, %ehcleanup198.i ], [ %cutoffs.sroa.0.4.i, %if.then.i.i.i223.i ], [ %cutoffs.sroa.0.1.ph.i, %lpad.loopexit282.i ], [ %cutoffs.sroa.0.1.ph283.i.ph, %lpad.loopexit.split-lp.i18.loopexit ], [ %cutoffs.sroa.0.1.ph283.i.ph321, %lpad.loopexit.split-lp.i18.loopexit.split-lp ], [ %cutoffs.sroa.0.4.i, %lpad70.i.loopexit ], [ %cutoffs.sroa.0.4.i, %lpad70.i.loopexit.split-lp ] - %.pn23.pn.i = phi { ptr, i32 } [ %.pn.pn.i60, %ehcleanup61.i59 ], [ %.pn23.i, %ehcleanup198.i ], [ %.pn23.i, %if.then.i.i.i223.i ], [ %lpad.loopexit284.i, %lpad.loopexit282.i ], [ %lpad.loopexit322, %lpad.loopexit.split-lp.i18.loopexit ], [ %lpad.loopexit.split-lp323, %lpad.loopexit.split-lp.i18.loopexit.split-lp ], [ %lpad.loopexit325, %lpad70.i.loopexit ], [ %lpad.loopexit.split-lp326, %lpad70.i.loopexit.split-lp ] - %tobool.not.i.i.i225.i = icmp eq ptr %expected.sroa.0.5.i, null - br i1 %tobool.not.i.i.i225.i, label %_ZNSt6vectorIdSaIdEED2Ev.exit227.i, label %if.then.i.i.i226.i +ehcleanup199.i: ; preds = %lpad70.i.loopexit, %lpad70.i.loopexit.split-lp, %lpad.loopexit.split-lp.i17.loopexit, %lpad.loopexit.split-lp.i17.loopexit.split-lp, %if.then.i.i.i225.i, %ehcleanup198.i, %ehcleanup61.i58, %lpad.loopexit284.i + %expected.sroa.0.5.i = phi ptr [ %expected.sroa.0.4.i, %ehcleanup61.i58 ], [ %expected.sroa.0.4.i, %ehcleanup198.i ], [ %expected.sroa.0.4.i, %if.then.i.i.i225.i ], [ %expected.sroa.0.0312.i, %lpad.loopexit284.i ], [ %expected.sroa.0.1.ph.i.ph, %lpad.loopexit.split-lp.i17.loopexit ], [ %expected.sroa.0.1.ph.i.ph321, %lpad.loopexit.split-lp.i17.loopexit.split-lp ], [ %expected.sroa.0.4.i, %lpad70.i.loopexit ], [ %expected.sroa.0.4.i, %lpad70.i.loopexit.split-lp ] + %cutoffs.sroa.0.5.i = phi ptr [ %cutoffs.sroa.0.4.i, %ehcleanup61.i58 ], [ %cutoffs.sroa.0.4.i, %ehcleanup198.i ], [ %cutoffs.sroa.0.4.i, %if.then.i.i.i225.i ], [ %cutoffs.sroa.0.1.ph.i, %lpad.loopexit284.i ], [ %cutoffs.sroa.0.1.ph285.i.ph, %lpad.loopexit.split-lp.i17.loopexit ], [ %cutoffs.sroa.0.1.ph285.i.ph322, %lpad.loopexit.split-lp.i17.loopexit.split-lp ], [ %cutoffs.sroa.0.4.i, %lpad70.i.loopexit ], [ %cutoffs.sroa.0.4.i, %lpad70.i.loopexit.split-lp ] + %.pn23.pn.i = phi { ptr, i32 } [ %.pn.pn.i59, %ehcleanup61.i58 ], [ %.pn23.i, %ehcleanup198.i ], [ %.pn23.i, %if.then.i.i.i225.i ], [ %lpad.loopexit286.i, %lpad.loopexit284.i ], [ %lpad.loopexit323, %lpad.loopexit.split-lp.i17.loopexit ], [ %lpad.loopexit.split-lp324, %lpad.loopexit.split-lp.i17.loopexit.split-lp ], [ %lpad.loopexit326, %lpad70.i.loopexit ], [ %lpad.loopexit.split-lp327, %lpad70.i.loopexit.split-lp ] + %tobool.not.i.i.i227.i = icmp eq ptr %expected.sroa.0.5.i, null + br i1 %tobool.not.i.i.i227.i, label %_ZNSt6vectorIdSaIdEED2Ev.exit229.i, label %if.then.i.i.i228.i -if.then.i.i.i226.i: ; preds = %ehcleanup199.i +if.then.i.i.i228.i: ; preds = %ehcleanup199.i call void @_ZdlPv(ptr noundef nonnull %expected.sroa.0.5.i) #32 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit227.i + br label %_ZNSt6vectorIdSaIdEED2Ev.exit229.i -_ZNSt6vectorIdSaIdEED2Ev.exit227.i: ; preds = %if.then.i.i.i226.i, %ehcleanup199.i - %tobool.not.i.i.i228.i = icmp eq ptr %cutoffs.sroa.0.5.i, null - br i1 %tobool.not.i.i.i228.i, label %common.resume, label %if.then.i.i.i229.i +_ZNSt6vectorIdSaIdEED2Ev.exit229.i: ; preds = %if.then.i.i.i228.i, %ehcleanup199.i + %tobool.not.i.i.i230.i = icmp eq ptr %cutoffs.sroa.0.5.i, null + br i1 %tobool.not.i.i.i230.i, label %common.resume, label %if.then.i.i.i231.i -if.then.i.i.i229.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit227.i +if.then.i.i.i231.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit229.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.5.i) #32 br label %common.resume -_ZN12_GLOBAL__N_120BetaDistributionTest20SingleChiSquaredTestIN4absl17beta_distributionIdEEEEbdmm.exit: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit.i, %if.then.i.i.i220.i +_ZN12_GLOBAL__N_120BetaDistributionTest20SingleChiSquaredTestIN4absl17beta_distributionIdEEEEbdmm.exit: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit.i, %if.then.i.i.i222.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar.i5) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp33.i) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp35.i) @@ -4318,7 +4324,7 @@ if.then4: ; preds = %_ZN12_GLOBAL__N_120 br label %for.inc for.inc: ; preds = %_ZN12_GLOBAL__N_120BetaDistributionTest20SingleChiSquaredTestIN4absl17beta_distributionIdEEEEbdmm.exit, %if.then4 - %inc7 = add nuw nsw i32 %i.0423, 1 + %inc7 = add nuw nsw i32 %i.0424, 1 %exitcond.not = icmp eq i32 %inc7, 20 br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !33 @@ -4326,17 +4332,17 @@ for.end: ; preds = %for.inc store i32 5, ptr %ref.tmp, align 4 %174 = load i32, ptr %failed, align 4, !noalias !34 %cmp.not.i = icmp sgt i32 %174, 5 - br i1 %cmp.not.i, label %if.else.i107, label %if.then.i106 + br i1 %cmp.not.i, label %if.else.i108, label %if.then.i107 -if.then.i106: ; preds = %for.end +if.then.i107: ; preds = %for.end call void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar) br label %_ZN7testing8internal11CmpHelperLEIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_.exit -if.else.i107: ; preds = %for.end +if.else.i108: ; preds = %for.end call void @_ZN7testing8internal18CmpHelperOpFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.24, ptr noundef nonnull align 4 dereferenceable(4) %failed, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp, ptr noundef nonnull @.str.48) br label %_ZN7testing8internal11CmpHelperLEIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_.exit -_ZN7testing8internal11CmpHelperLEIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_.exit: ; preds = %if.then.i106, %if.else.i107 +_ZN7testing8internal11CmpHelperLEIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_.exit: ; preds = %if.then.i107, %if.else.i108 %175 = load i8, ptr %gtest_ar, align 8 %176 = and i8 %175, 1 %tobool.i.not = icmp eq i8 %176, 0 @@ -4352,8 +4358,8 @@ if.else: ; preds = %_ZN7testing8interna to label %invoke.cont11 unwind label %lpad invoke.cont11: ; preds = %if.else - %message_.i.i108 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 - %178 = load ptr, ptr %message_.i.i108, align 8 + %message_.i.i109 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 + %178 = load ptr, ptr %message_.i.i109, align 8 %cmp.i.i.not.i.i = icmp eq ptr %178, null br i1 %cmp.i.i.not.i.i, label %invoke.cont14, label %cond.true.i.i @@ -4373,8 +4379,8 @@ invoke.cont16: ; preds = %invoke.cont14 invoke.cont18: ; preds = %invoke.cont16 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #31 %179 = load ptr, ptr %ref.tmp10, align 8 - %cmp.not.i.i109 = icmp eq ptr %179, null - br i1 %cmp.not.i.i109, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i110 = icmp eq ptr %179, null + br i1 %cmp.not.i.i110, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont18 %vtable.i.i.i = load ptr, ptr %179, align 8 @@ -4401,25 +4407,25 @@ lpad17: ; preds = %invoke.cont16 ehcleanup: ; preds = %lpad17, %lpad13 %.pn = phi { ptr, i32 } [ %182, %lpad17 ], [ %181, %lpad13 ] %183 = load ptr, ptr %ref.tmp10, align 8 - %cmp.not.i.i110 = icmp eq ptr %183, null - br i1 %cmp.not.i.i110, label %_ZN7testing7MessageD2Ev.exit114, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 + %cmp.not.i.i111 = icmp eq ptr %183, null + br i1 %cmp.not.i.i111, label %_ZN7testing7MessageD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111: ; preds = %ehcleanup - %vtable.i.i.i112 = load ptr, ptr %183, align 8 - %vfn.i.i.i113 = getelementptr inbounds ptr, ptr %vtable.i.i.i112, i64 1 - %184 = load ptr, ptr %vfn.i.i.i113, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112: ; preds = %ehcleanup + %vtable.i.i.i113 = load ptr, ptr %183, align 8 + %vfn.i.i.i114 = getelementptr inbounds ptr, ptr %vtable.i.i.i113, i64 1 + %184 = load ptr, ptr %vfn.i.i.i114, align 8 call void %184(ptr noundef nonnull align 8 dereferenceable(128) %183) #31 - br label %_ZN7testing7MessageD2Ev.exit114 + br label %_ZN7testing7MessageD2Ev.exit115 -_ZN7testing7MessageD2Ev.exit114: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 +_ZN7testing7MessageD2Ev.exit115: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 store ptr null, ptr %ref.tmp10, align 8 br label %ehcleanup20 if.end19: ; preds = %_ZN7testing8internal11CmpHelperLEIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %185 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i115 = icmp eq ptr %185, null - br i1 %cmp.not.i.i115, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i116 = icmp eq ptr %185, null + br i1 %cmp.not.i.i116, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end19 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #31 @@ -4429,8 +4435,8 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end19, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ret void -ehcleanup20: ; preds = %_ZN7testing7MessageD2Ev.exit114, %lpad - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit114 ], [ %177, %lpad ] +ehcleanup20: ; preds = %_ZN7testing7MessageD2Ev.exit115, %lpad + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit115 ], [ %177, %lpad ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #31 br label %common.resume } @@ -6737,7 +6743,7 @@ entry: %add.ptr.i5.i.i.i.i = getelementptr inbounds i8, ptr %__in, i64 48 %0 = load double, ptr %add.ptr.i5.i.i.i.i, align 8, !noalias !88 %call5.i.i.i.i2.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #34, !noalias !88 - %add.ptr.i1.i.i.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i.i.i, i64 7 + %add.ptr.i1.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i.i, i64 56 %1 = load <2 x double>, ptr %__in, align 8, !noalias !88 store <2 x double> %1, ptr %call5.i.i.i.i2.i.i.i.i.i, align 8, !noalias !88 %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i.i, i64 16 @@ -6776,7 +6782,7 @@ _ZNSt11_Tuple_implILm1EJN7testing8internal14ParamGeneratorIdEEEEC2INS1_10ValueAr call5.i.i.i.i2.i.i.i.i.noexc: ; preds = %_ZNSt11_Tuple_implILm1EJN7testing8internal14ParamGeneratorIdEEEEC2INS1_10ValueArrayIJdddddddEEEEERKS_ILm1EJT_EE.exit %9 = getelementptr inbounds i8, ptr %this, i64 16 - %add.ptr.i1.i.i.i.i2 = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i.i3, i64 7 + %add.ptr.i1.i.i.i.i2 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i3, i64 56 store <2 x double> %5, ptr %call5.i.i.i.i2.i.i.i.i3, align 8, !noalias !93 %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i3, i64 16 store <2 x double> %6, ptr %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx.i.i.i, align 8, !noalias !93 @@ -6898,8 +6904,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -6914,7 +6919,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i.i: ; preds = %entry br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i.i - %add.ptr3.i.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr3.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage4.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i, ptr %_M_end_of_storage4.i.i.i, align 8 br label %invoke.cont @@ -6925,7 +6930,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) @@ -6943,9 +6948,10 @@ if.then.i.i2.i.i: ; preds = %lpad.i.i br label %lpad.body invoke.cont: ; preds = %call5.i.i.i.i.noexc.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i.i - %add.ptr5.i.i.i = phi ptr [ %add.ptr3.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i.i ], [ %add.ptr.i.i.i, %call5.i.i.i.i.noexc.i.i ] + %cond.i5.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %call5.i.i.i.i.noexc.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_finish.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %call, ptr %agg.result, align 8 %_M_refcount.i.i.i = getelementptr inbounds %"class.std::__shared_ptr.97", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i, align 8 @@ -8837,8 +8843,7 @@ entry: %__first.coerce4.i.i.i = ptrtoint ptr %begin.coerce to i64 %__last.coerce3.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i, %__first.coerce4.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 4 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorISt5tupleIJddEESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -8853,7 +8858,7 @@ _ZNSt6vectorISt5tupleIJddEESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i: ; pred br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseISt5tupleIJddEESaIS1_EE11_M_allocateEm.exit.thread.i.i.i, label %for.body.i.i.i.i.preheader.i.i.i _ZNSt12_Vector_baseISt5tupleIJddEESaIS1_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorISt5tupleIJddEESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i - %add.ptr6.i.i.i = getelementptr inbounds %"class.std::tuple.24", ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr6.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage7.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.166", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr6.i.i.i, ptr %_M_end_of_storage7.i.i.i, align 8 br label %invoke.cont @@ -8864,10 +8869,10 @@ for.body.i.i.i.i.preheader.i.i.i: ; preds = %_ZNSt6vectorISt5tup call5.i.i.i.i.noexc.i.i: ; preds = %for.body.i.i.i.i.preheader.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::tuple.24", ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.166", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 - %0 = and i64 %sub.ptr.sub.i.i.i.i.i.i, -16 + %0 = and i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775792 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i, ptr align 8 %begin.coerce, i64 %0, i1 false) %scevgep.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i, i64 %0 br label %invoke.cont @@ -9290,7 +9295,7 @@ entry: store i64 0, ptr %urbg, align 8 %call5.i.i.i.i2.i.i = tail call noalias noundef nonnull dereferenceable(456) ptr @_Znwm(i64 noundef 456) #34 store ptr %call5.i.i.i.i2.i.i, ptr %data_.i, align 8 - %add.ptr.i1.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 57 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 456 %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(456) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(456) @constinit, i64 456, i1 false) @@ -18047,7 +18052,7 @@ entry: store i64 0, ptr %urbg, align 8 %call5.i.i.i.i2.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #34 store ptr %call5.i.i.i.i2.i.i, ptr %data_.i, align 8 - %add.ptr.i1.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 2 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 16 %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 store i64 9204925292781066240, ptr %call5.i.i.i.i2.i.i, align 8 @@ -18310,43 +18315,43 @@ _ZN4absl15random_internal13sequence_urbgD2Ev.exit: ; preds = %_ZN7testing15Asser store i64 0, ptr %urbg41, align 8 %call5.i.i.i.i2.i.i59 = call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #34 store ptr %call5.i.i.i.i2.i.i59, ptr %data_.i58, align 8 - %add.ptr.i1.i.i64 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i59, i64 4 + %add.ptr.i1.i.i64 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i59, i64 32 %_M_end_of_storage.i.i.i65 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg41, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i.i64, ptr %_M_end_of_storage.i.i.i65, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %call5.i.i.i.i2.i.i59, ptr noundef nonnull align 8 dereferenceable(32) @constinit.109, i64 32, i1 false) - %_M_finish.i.i.i66 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg41, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i.i64, ptr %_M_finish.i.i.i66, align 8 + %_M_finish.i.i.i67 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg41, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i.i64, ptr %_M_finish.i.i.i67, align 8 store <2 x double> , ptr %ref.tmp48, align 16 %27 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %ref.tmp48, i64 0, i32 9 store i8 0, ptr %27, align 4 %28 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %ref.tmp48, i64 0, i32 2 - %method_31.i245 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %ref.tmp48, i64 0, i32 8 - store i32 0, ptr %method_31.i245, align 16 + %method_31.i246 = getelementptr inbounds %"class.absl::beta_distribution<>::param_type", ptr %ref.tmp48, i64 0, i32 8 + store i32 0, ptr %method_31.i246, align 16 store <2 x double> , ptr %28, align 16 - %call.i.i93 = invoke noundef double @_ZN4absl17beta_distributionIdE15AlgorithmJoehnkINS_15random_internal13sequence_urbgEEEdRT_RKNS1_10param_typeE(ptr noundef nonnull align 8 dereferenceable(73) %ref.tmp48, ptr noundef nonnull align 8 dereferenceable(32) %urbg41, ptr noundef nonnull align 8 dereferenceable(69) %ref.tmp48) + %call.i.i94 = invoke noundef double @_ZN4absl17beta_distributionIdE15AlgorithmJoehnkINS_15random_internal13sequence_urbgEEEdRT_RKNS1_10param_typeE(ptr noundef nonnull align 8 dereferenceable(73) %ref.tmp48, ptr noundef nonnull align 8 dereferenceable(32) %urbg41, ptr noundef nonnull align 8 dereferenceable(69) %ref.tmp48) to label %invoke.cont51 unwind label %lpad49 invoke.cont51: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit - store double %call.i.i93, ptr %y, align 8 + store double %call.i.i94, ptr %y, align 8 store i32 4, ptr %ref.tmp54, align 4 %29 = load i64, ptr %urbg41, align 8 store i64 %29, ptr %ref.tmp55, align 8 - %cmp.i.i97 = icmp eq i64 %29, 4 - br i1 %cmp.i.i97, label %if.then.i.i99, label %if.end.i.i98 + %cmp.i.i98 = icmp eq i64 %29, 4 + br i1 %cmp.i.i98, label %if.then.i.i100, label %if.end.i.i99 -if.then.i.i99: ; preds = %invoke.cont51 +if.then.i.i100: ; preds = %invoke.cont51 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar53) to label %invoke.cont57 unwind label %lpad49 -if.end.i.i98: ; preds = %invoke.cont51 +if.end.i.i99: ; preds = %invoke.cont51 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar53, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.71, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp54, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55) to label %invoke.cont57 unwind label %lpad49 -invoke.cont57: ; preds = %if.then.i.i99, %if.end.i.i98 +invoke.cont57: ; preds = %if.then.i.i100, %if.end.i.i99 %30 = load i8, ptr %gtest_ar53, align 8 %31 = and i8 %30, 1 - %tobool.i103.not = icmp eq i8 %31, 0 - br i1 %tobool.i103.not, label %if.else60, label %if.end73 + %tobool.i104.not = icmp eq i8 %31, 0 + br i1 %tobool.i104.not, label %if.else60, label %if.end73 ehcleanup38: ; preds = %_ZN7testing7MessageD2Ev.exit51, %lpad26 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit51 ], [ %20, %lpad26 ] @@ -18356,10 +18361,10 @@ ehcleanup38: ; preds = %_ZN7testing7Message ehcleanup39: ; preds = %ehcleanup38, %ehcleanup16, %lpad %.pn3.pn.pn = phi { ptr, i32 } [ %.pn3.pn, %ehcleanup38 ], [ %4, %lpad ], [ %.pn.pn, %ehcleanup16 ] %32 = load ptr, ptr %data_.i, align 8 - %tobool.not.i.i.i.i105 = icmp eq ptr %32, null - br i1 %tobool.not.i.i.i.i105, label %common.resume, label %common.resume.sink.split + %tobool.not.i.i.i.i106 = icmp eq ptr %32, null + br i1 %tobool.not.i.i.i.i106, label %common.resume, label %common.resume.sink.split -lpad49: ; preds = %if.end.i.i184, %if.then.i.i185, %sw.bb.i.i178, %if.end.i.i129, %if.then.i.i130, %if.end.i.i98, %if.then.i.i99, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit, %_ZN7testing15AssertionResultD2Ev.exit209 +lpad49: ; preds = %if.end.i.i185, %if.then.i.i186, %sw.bb.i.i179, %if.end.i.i130, %if.then.i.i131, %if.end.i.i99, %if.then.i.i100, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit, %_ZN7testing15AssertionResultD2Ev.exit210 %33 = landingpad { ptr, i32 } cleanup br label %ehcleanup146 @@ -18369,18 +18374,18 @@ if.else60: ; preds = %invoke.cont57 to label %invoke.cont63 unwind label %lpad62 invoke.cont63: ; preds = %if.else60 - %message_.i.i108 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar53, i64 0, i32 1 - %34 = load ptr, ptr %message_.i.i108, align 8 - %cmp.i.i.not.i.i109 = icmp eq ptr %34, null - br i1 %cmp.i.i.not.i.i109, label %invoke.cont66, label %cond.true.i.i110 + %message_.i.i109 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar53, i64 0, i32 1 + %34 = load ptr, ptr %message_.i.i109, align 8 + %cmp.i.i.not.i.i110 = icmp eq ptr %34, null + br i1 %cmp.i.i.not.i.i110, label %invoke.cont66, label %cond.true.i.i111 -cond.true.i.i110: ; preds = %invoke.cont63 - %call4.i.i111 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #31 +cond.true.i.i111: ; preds = %invoke.cont63 + %call4.i.i112 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #31 br label %invoke.cont66 -invoke.cont66: ; preds = %cond.true.i.i110, %invoke.cont63 - %cond.i.i112 = phi ptr [ %call4.i.i111, %cond.true.i.i110 ], [ @.str, %invoke.cont63 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 598, ptr noundef %cond.i.i112) +invoke.cont66: ; preds = %cond.true.i.i111, %invoke.cont63 + %cond.i.i113 = phi ptr [ %call4.i.i112, %cond.true.i.i111 ], [ @.str, %invoke.cont63 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 598, ptr noundef %cond.i.i113) to label %invoke.cont68 unwind label %lpad65 invoke.cont68: ; preds = %invoke.cont66 @@ -18390,17 +18395,17 @@ invoke.cont68: ; preds = %invoke.cont66 invoke.cont70: ; preds = %invoke.cont68 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64) #31 %35 = load ptr, ptr %ref.tmp61, align 8 - %cmp.not.i.i114 = icmp eq ptr %35, null - br i1 %cmp.not.i.i114, label %_ZN7testing7MessageD2Ev.exit118, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 + %cmp.not.i.i115 = icmp eq ptr %35, null + br i1 %cmp.not.i.i115, label %_ZN7testing7MessageD2Ev.exit119, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %invoke.cont70 - %vtable.i.i.i116 = load ptr, ptr %35, align 8 - %vfn.i.i.i117 = getelementptr inbounds ptr, ptr %vtable.i.i.i116, i64 1 - %36 = load ptr, ptr %vfn.i.i.i117, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116: ; preds = %invoke.cont70 + %vtable.i.i.i117 = load ptr, ptr %35, align 8 + %vfn.i.i.i118 = getelementptr inbounds ptr, ptr %vtable.i.i.i117, i64 1 + %36 = load ptr, ptr %vfn.i.i.i118, align 8 call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #31 - br label %_ZN7testing7MessageD2Ev.exit118 + br label %_ZN7testing7MessageD2Ev.exit119 -_ZN7testing7MessageD2Ev.exit118: ; preds = %invoke.cont70, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 +_ZN7testing7MessageD2Ev.exit119: ; preds = %invoke.cont70, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116 store ptr null, ptr %ref.tmp61, align 8 br label %if.end73 @@ -18423,54 +18428,54 @@ lpad69: ; preds = %invoke.cont68 ehcleanup72: ; preds = %lpad69, %lpad65 %.pn7 = phi { ptr, i32 } [ %39, %lpad69 ], [ %38, %lpad65 ] %40 = load ptr, ptr %ref.tmp61, align 8 - %cmp.not.i.i119 = icmp eq ptr %40, null - br i1 %cmp.not.i.i119, label %_ZN7testing7MessageD2Ev.exit123, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 + %cmp.not.i.i120 = icmp eq ptr %40, null + br i1 %cmp.not.i.i120, label %_ZN7testing7MessageD2Ev.exit124, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120: ; preds = %ehcleanup72 - %vtable.i.i.i121 = load ptr, ptr %40, align 8 - %vfn.i.i.i122 = getelementptr inbounds ptr, ptr %vtable.i.i.i121, i64 1 - %41 = load ptr, ptr %vfn.i.i.i122, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121: ; preds = %ehcleanup72 + %vtable.i.i.i122 = load ptr, ptr %40, align 8 + %vfn.i.i.i123 = getelementptr inbounds ptr, ptr %vtable.i.i.i122, i64 1 + %41 = load ptr, ptr %vfn.i.i.i123, align 8 call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #31 - br label %_ZN7testing7MessageD2Ev.exit123 + br label %_ZN7testing7MessageD2Ev.exit124 -_ZN7testing7MessageD2Ev.exit123: ; preds = %ehcleanup72, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 +_ZN7testing7MessageD2Ev.exit124: ; preds = %ehcleanup72, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121 store ptr null, ptr %ref.tmp61, align 8 br label %ehcleanup74 -if.end73: ; preds = %invoke.cont57, %_ZN7testing7MessageD2Ev.exit118 - %message_.i124 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar53, i64 0, i32 1 - %42 = load ptr, ptr %message_.i124, align 8 - %cmp.not.i.i125 = icmp eq ptr %42, null - br i1 %cmp.not.i.i125, label %_ZN7testing15AssertionResultD2Ev.exit127, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126 +if.end73: ; preds = %invoke.cont57, %_ZN7testing7MessageD2Ev.exit119 + %message_.i125 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar53, i64 0, i32 1 + %42 = load ptr, ptr %message_.i125, align 8 + %cmp.not.i.i126 = icmp eq ptr %42, null + br i1 %cmp.not.i.i126, label %_ZN7testing15AssertionResultD2Ev.exit128, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126: ; preds = %if.end73 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127: ; preds = %if.end73 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #31 call void @_ZdlPv(ptr noundef nonnull %42) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit127 + br label %_ZN7testing15AssertionResultD2Ev.exit128 -_ZN7testing15AssertionResultD2Ev.exit127: ; preds = %if.end73, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126 - store ptr null, ptr %message_.i124, align 8 +_ZN7testing15AssertionResultD2Ev.exit128: ; preds = %if.end73, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127 + store ptr null, ptr %message_.i125, align 8 store double 0x3FEF64E666CB0627, ptr %ref.tmp76, align 8 %43 = load double, ptr %y, align 8, !noalias !682 - %cmp.i.i128 = fcmp oeq double %43, 0x3FEF64E666CB0627 - br i1 %cmp.i.i128, label %if.then.i.i130, label %if.end.i.i129 + %cmp.i.i129 = fcmp oeq double %43, 0x3FEF64E666CB0627 + br i1 %cmp.i.i129, label %if.then.i.i131, label %if.end.i.i130 -if.then.i.i130: ; preds = %_ZN7testing15AssertionResultD2Ev.exit127 +if.then.i.i131: ; preds = %_ZN7testing15AssertionResultD2Ev.exit128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar75) to label %invoke.cont77 unwind label %lpad49 -if.end.i.i129: ; preds = %_ZN7testing15AssertionResultD2Ev.exit127 +if.end.i.i130: ; preds = %_ZN7testing15AssertionResultD2Ev.exit128 invoke void @_ZN7testing8internal18CmpHelperEQFailureIddEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar75, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.112, ptr noundef nonnull align 8 dereferenceable(8) %y, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) to label %invoke.cont77 unwind label %lpad49 -invoke.cont77: ; preds = %if.then.i.i130, %if.end.i.i129 +invoke.cont77: ; preds = %if.then.i.i131, %if.end.i.i130 %44 = load i8, ptr %gtest_ar75, align 8 %45 = and i8 %44, 1 - %tobool.i134.not = icmp eq i8 %45, 0 - br i1 %tobool.i134.not, label %if.else80, label %if.end95 + %tobool.i135.not = icmp eq i8 %45, 0 + br i1 %tobool.i135.not, label %if.else80, label %if.end95 -ehcleanup74: ; preds = %_ZN7testing7MessageD2Ev.exit123, %lpad62 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit123 ], [ %37, %lpad62 ] +ehcleanup74: ; preds = %_ZN7testing7MessageD2Ev.exit124, %lpad62 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit124 ], [ %37, %lpad62 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar53) #31 br label %ehcleanup146 @@ -18482,22 +18487,22 @@ invoke.cont83: ; preds = %if.else80 %46 = load ptr, ptr %ref.tmp81, align 8 %add.ptr.i = getelementptr inbounds i8, ptr %46, i64 16 %47 = load double, ptr %y, align 8 - %call2.i135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i, double noundef %47) + %call2.i136 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i, double noundef %47) to label %invoke.cont85 unwind label %lpad84 invoke.cont85: ; preds = %invoke.cont83 - %message_.i.i136 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 - %48 = load ptr, ptr %message_.i.i136, align 8 - %cmp.i.i.not.i.i137 = icmp eq ptr %48, null - br i1 %cmp.i.i.not.i.i137, label %invoke.cont88, label %cond.true.i.i138 + %message_.i.i137 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 + %48 = load ptr, ptr %message_.i.i137, align 8 + %cmp.i.i.not.i.i138 = icmp eq ptr %48, null + br i1 %cmp.i.i.not.i.i138, label %invoke.cont88, label %cond.true.i.i139 -cond.true.i.i138: ; preds = %invoke.cont85 - %call4.i.i139 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %48) #31 +cond.true.i.i139: ; preds = %invoke.cont85 + %call4.i.i140 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %48) #31 br label %invoke.cont88 -invoke.cont88: ; preds = %cond.true.i.i138, %invoke.cont85 - %cond.i.i140 = phi ptr [ %call4.i.i139, %cond.true.i.i138 ], [ @.str, %invoke.cont85 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp87, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 599, ptr noundef %cond.i.i140) +invoke.cont88: ; preds = %cond.true.i.i139, %invoke.cont85 + %cond.i.i141 = phi ptr [ %call4.i.i140, %cond.true.i.i139 ], [ @.str, %invoke.cont85 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp87, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 599, ptr noundef %cond.i.i141) to label %invoke.cont90 unwind label %lpad84 invoke.cont90: ; preds = %invoke.cont88 @@ -18507,17 +18512,17 @@ invoke.cont90: ; preds = %invoke.cont88 invoke.cont92: ; preds = %invoke.cont90 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp87) #31 %49 = load ptr, ptr %ref.tmp81, align 8 - %cmp.not.i.i142 = icmp eq ptr %49, null - br i1 %cmp.not.i.i142, label %_ZN7testing7MessageD2Ev.exit146, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143 + %cmp.not.i.i143 = icmp eq ptr %49, null + br i1 %cmp.not.i.i143, label %_ZN7testing7MessageD2Ev.exit147, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143: ; preds = %invoke.cont92 - %vtable.i.i.i144 = load ptr, ptr %49, align 8 - %vfn.i.i.i145 = getelementptr inbounds ptr, ptr %vtable.i.i.i144, i64 1 - %50 = load ptr, ptr %vfn.i.i.i145, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144: ; preds = %invoke.cont92 + %vtable.i.i.i145 = load ptr, ptr %49, align 8 + %vfn.i.i.i146 = getelementptr inbounds ptr, ptr %vtable.i.i.i145, i64 1 + %50 = load ptr, ptr %vfn.i.i.i146, align 8 call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #31 - br label %_ZN7testing7MessageD2Ev.exit146 + br label %_ZN7testing7MessageD2Ev.exit147 -_ZN7testing7MessageD2Ev.exit146: ; preds = %invoke.cont92, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143 +_ZN7testing7MessageD2Ev.exit147: ; preds = %invoke.cont92, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 store ptr null, ptr %ref.tmp81, align 8 br label %if.end95 @@ -18540,65 +18545,65 @@ lpad91: ; preds = %invoke.cont90 ehcleanup94: ; preds = %lpad91, %lpad84 %.pn10 = phi { ptr, i32 } [ %53, %lpad91 ], [ %52, %lpad84 ] %54 = load ptr, ptr %ref.tmp81, align 8 - %cmp.not.i.i147 = icmp eq ptr %54, null - br i1 %cmp.not.i.i147, label %_ZN7testing7MessageD2Ev.exit151, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 + %cmp.not.i.i148 = icmp eq ptr %54, null + br i1 %cmp.not.i.i148, label %_ZN7testing7MessageD2Ev.exit152, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148: ; preds = %ehcleanup94 - %vtable.i.i.i149 = load ptr, ptr %54, align 8 - %vfn.i.i.i150 = getelementptr inbounds ptr, ptr %vtable.i.i.i149, i64 1 - %55 = load ptr, ptr %vfn.i.i.i150, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149: ; preds = %ehcleanup94 + %vtable.i.i.i150 = load ptr, ptr %54, align 8 + %vfn.i.i.i151 = getelementptr inbounds ptr, ptr %vtable.i.i.i150, i64 1 + %55 = load ptr, ptr %vfn.i.i.i151, align 8 call void %55(ptr noundef nonnull align 8 dereferenceable(128) %54) #31 - br label %_ZN7testing7MessageD2Ev.exit151 + br label %_ZN7testing7MessageD2Ev.exit152 -_ZN7testing7MessageD2Ev.exit151: ; preds = %ehcleanup94, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 +_ZN7testing7MessageD2Ev.exit152: ; preds = %ehcleanup94, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149 store ptr null, ptr %ref.tmp81, align 8 br label %ehcleanup96 -if.end95: ; preds = %invoke.cont77, %_ZN7testing7MessageD2Ev.exit146 - %message_.i152 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 - %56 = load ptr, ptr %message_.i152, align 8 - %cmp.not.i.i153 = icmp eq ptr %56, null - br i1 %cmp.not.i.i153, label %sw.bb.i.i178, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 +if.end95: ; preds = %invoke.cont77, %_ZN7testing7MessageD2Ev.exit147 + %message_.i153 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 + %56 = load ptr, ptr %message_.i153, align 8 + %cmp.not.i.i154 = icmp eq ptr %56, null + br i1 %cmp.not.i.i154, label %sw.bb.i.i179, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %if.end95 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155: ; preds = %if.end95 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #31 call void @_ZdlPv(ptr noundef nonnull %56) #32 - br label %sw.bb.i.i178 + br label %sw.bb.i.i179 -sw.bb.i.i178: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154, %if.end95 - store ptr null, ptr %message_.i152, align 8 +sw.bb.i.i179: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155, %if.end95 + store ptr null, ptr %message_.i153, align 8 store i64 0, ptr %urbg41, align 8 %57 = getelementptr inbounds %"class.absl::beta_distribution::param_type", ptr %ref.tmp97, i64 0, i32 9 store i8 0, ptr %57, align 4 - %method_33.i247 = getelementptr inbounds %"class.absl::beta_distribution::param_type", ptr %ref.tmp97, i64 0, i32 8 - store i32 0, ptr %method_33.i247, align 16 + %method_33.i248 = getelementptr inbounds %"class.absl::beta_distribution::param_type", ptr %ref.tmp97, i64 0, i32 8 + store i32 0, ptr %method_33.i248, align 16 store <4 x float> , ptr %ref.tmp97, align 16 - %call.i.i180 = invoke noundef float @_ZN4absl17beta_distributionIfE15AlgorithmJoehnkINS_15random_internal13sequence_urbgEEEfRT_RKNS1_10param_typeE(ptr noundef nonnull align 4 dereferenceable(41) %ref.tmp97, ptr noundef nonnull align 8 dereferenceable(32) %urbg41, ptr noundef nonnull align 4 dereferenceable(37) %ref.tmp97) + %call.i.i181 = invoke noundef float @_ZN4absl17beta_distributionIfE15AlgorithmJoehnkINS_15random_internal13sequence_urbgEEEfRT_RKNS1_10param_typeE(ptr noundef nonnull align 4 dereferenceable(41) %ref.tmp97, ptr noundef nonnull align 8 dereferenceable(32) %urbg41, ptr noundef nonnull align 4 dereferenceable(37) %ref.tmp97) to label %invoke.cont99 unwind label %lpad49 -invoke.cont99: ; preds = %sw.bb.i.i178 +invoke.cont99: ; preds = %sw.bb.i.i179 store i32 4, ptr %ref.tmp102, align 4 %58 = load i64, ptr %urbg41, align 8 store i64 %58, ptr %ref.tmp103, align 8 - %cmp.i.i183 = icmp eq i64 %58, 4 - br i1 %cmp.i.i183, label %if.then.i.i185, label %if.end.i.i184 + %cmp.i.i184 = icmp eq i64 %58, 4 + br i1 %cmp.i.i184, label %if.then.i.i186, label %if.end.i.i185 -if.then.i.i185: ; preds = %invoke.cont99 +if.then.i.i186: ; preds = %invoke.cont99 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar101) to label %invoke.cont105 unwind label %lpad49 -if.end.i.i184: ; preds = %invoke.cont99 +if.end.i.i185: ; preds = %invoke.cont99 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar101, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.71, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp102, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp103) to label %invoke.cont105 unwind label %lpad49 -invoke.cont105: ; preds = %if.then.i.i185, %if.end.i.i184 +invoke.cont105: ; preds = %if.then.i.i186, %if.end.i.i185 %59 = load i8, ptr %gtest_ar101, align 8 %60 = and i8 %59, 1 - %tobool.i189.not = icmp eq i8 %60, 0 - br i1 %tobool.i189.not, label %if.else108, label %if.end121 + %tobool.i190.not = icmp eq i8 %60, 0 + br i1 %tobool.i190.not, label %if.else108, label %if.end121 -ehcleanup96: ; preds = %_ZN7testing7MessageD2Ev.exit151, %lpad82 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit151 ], [ %51, %lpad82 ] +ehcleanup96: ; preds = %_ZN7testing7MessageD2Ev.exit152, %lpad82 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit152 ], [ %51, %lpad82 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar75) #31 br label %ehcleanup146 @@ -18607,18 +18612,18 @@ if.else108: ; preds = %invoke.cont105 to label %invoke.cont111 unwind label %lpad110 invoke.cont111: ; preds = %if.else108 - %message_.i.i190 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar101, i64 0, i32 1 - %61 = load ptr, ptr %message_.i.i190, align 8 - %cmp.i.i.not.i.i191 = icmp eq ptr %61, null - br i1 %cmp.i.i.not.i.i191, label %invoke.cont114, label %cond.true.i.i192 + %message_.i.i191 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar101, i64 0, i32 1 + %61 = load ptr, ptr %message_.i.i191, align 8 + %cmp.i.i.not.i.i192 = icmp eq ptr %61, null + br i1 %cmp.i.i.not.i.i192, label %invoke.cont114, label %cond.true.i.i193 -cond.true.i.i192: ; preds = %invoke.cont111 - %call4.i.i193 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %61) #31 +cond.true.i.i193: ; preds = %invoke.cont111 + %call4.i.i194 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %61) #31 br label %invoke.cont114 -invoke.cont114: ; preds = %cond.true.i.i192, %invoke.cont111 - %cond.i.i194 = phi ptr [ %call4.i.i193, %cond.true.i.i192 ], [ @.str, %invoke.cont111 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 609, ptr noundef %cond.i.i194) +invoke.cont114: ; preds = %cond.true.i.i193, %invoke.cont111 + %cond.i.i195 = phi ptr [ %call4.i.i194, %cond.true.i.i193 ], [ @.str, %invoke.cont111 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 609, ptr noundef %cond.i.i195) to label %invoke.cont116 unwind label %lpad113 invoke.cont116: ; preds = %invoke.cont114 @@ -18628,17 +18633,17 @@ invoke.cont116: ; preds = %invoke.cont114 invoke.cont118: ; preds = %invoke.cont116 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #31 %62 = load ptr, ptr %ref.tmp109, align 8 - %cmp.not.i.i196 = icmp eq ptr %62, null - br i1 %cmp.not.i.i196, label %_ZN7testing7MessageD2Ev.exit200, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197 + %cmp.not.i.i197 = icmp eq ptr %62, null + br i1 %cmp.not.i.i197, label %_ZN7testing7MessageD2Ev.exit201, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197: ; preds = %invoke.cont118 - %vtable.i.i.i198 = load ptr, ptr %62, align 8 - %vfn.i.i.i199 = getelementptr inbounds ptr, ptr %vtable.i.i.i198, i64 1 - %63 = load ptr, ptr %vfn.i.i.i199, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198: ; preds = %invoke.cont118 + %vtable.i.i.i199 = load ptr, ptr %62, align 8 + %vfn.i.i.i200 = getelementptr inbounds ptr, ptr %vtable.i.i.i199, i64 1 + %63 = load ptr, ptr %vfn.i.i.i200, align 8 call void %63(ptr noundef nonnull align 8 dereferenceable(128) %62) #31 - br label %_ZN7testing7MessageD2Ev.exit200 + br label %_ZN7testing7MessageD2Ev.exit201 -_ZN7testing7MessageD2Ev.exit200: ; preds = %invoke.cont118, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197 +_ZN7testing7MessageD2Ev.exit201: ; preds = %invoke.cont118, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 store ptr null, ptr %ref.tmp109, align 8 br label %if.end121 @@ -18661,45 +18666,45 @@ lpad117: ; preds = %invoke.cont116 ehcleanup120: ; preds = %lpad117, %lpad113 %.pn13 = phi { ptr, i32 } [ %66, %lpad117 ], [ %65, %lpad113 ] %67 = load ptr, ptr %ref.tmp109, align 8 - %cmp.not.i.i201 = icmp eq ptr %67, null - br i1 %cmp.not.i.i201, label %_ZN7testing7MessageD2Ev.exit205, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202 + %cmp.not.i.i202 = icmp eq ptr %67, null + br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202: ; preds = %ehcleanup120 - %vtable.i.i.i203 = load ptr, ptr %67, align 8 - %vfn.i.i.i204 = getelementptr inbounds ptr, ptr %vtable.i.i.i203, i64 1 - %68 = load ptr, ptr %vfn.i.i.i204, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %ehcleanup120 + %vtable.i.i.i204 = load ptr, ptr %67, align 8 + %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 + %68 = load ptr, ptr %vfn.i.i.i205, align 8 call void %68(ptr noundef nonnull align 8 dereferenceable(128) %67) #31 - br label %_ZN7testing7MessageD2Ev.exit205 + br label %_ZN7testing7MessageD2Ev.exit206 -_ZN7testing7MessageD2Ev.exit205: ; preds = %ehcleanup120, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202 +_ZN7testing7MessageD2Ev.exit206: ; preds = %ehcleanup120, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 store ptr null, ptr %ref.tmp109, align 8 br label %ehcleanup122 -if.end121: ; preds = %invoke.cont105, %_ZN7testing7MessageD2Ev.exit200 - %message_.i206 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar101, i64 0, i32 1 - %69 = load ptr, ptr %message_.i206, align 8 - %cmp.not.i.i207 = icmp eq ptr %69, null - br i1 %cmp.not.i.i207, label %_ZN7testing15AssertionResultD2Ev.exit209, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +if.end121: ; preds = %invoke.cont105, %_ZN7testing7MessageD2Ev.exit201 + %message_.i207 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar101, i64 0, i32 1 + %69 = load ptr, ptr %message_.i207, align 8 + %cmp.not.i.i208 = icmp eq ptr %69, null + br i1 %cmp.not.i.i208, label %_ZN7testing15AssertionResultD2Ev.exit210, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %if.end121 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209: ; preds = %if.end121 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #31 call void @_ZdlPv(ptr noundef nonnull %69) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit209 + br label %_ZN7testing15AssertionResultD2Ev.exit210 -_ZN7testing15AssertionResultD2Ev.exit209: ; preds = %if.end121, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 - store ptr null, ptr %message_.i206, align 8 - %conv = fpext float %call.i.i180 to double +_ZN7testing15AssertionResultD2Ev.exit210: ; preds = %if.end121, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209 + store ptr null, ptr %message_.i207, align 8 + %conv = fpext float %call.i.i181 to double invoke void @_ZN7testing8internal20DoubleNearPredFormatEPKcS2_S2_ddd(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar123, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.115, double noundef 0x3FEF64E660000000, double noundef %conv, double noundef 5.000000e-07) to label %invoke.cont124 unwind label %lpad49 -invoke.cont124: ; preds = %_ZN7testing15AssertionResultD2Ev.exit209 +invoke.cont124: ; preds = %_ZN7testing15AssertionResultD2Ev.exit210 %70 = load i8, ptr %gtest_ar123, align 8 %71 = and i8 %70, 1 - %tobool.i210.not = icmp eq i8 %71, 0 - br i1 %tobool.i210.not, label %if.else127, label %if.end144 + %tobool.i211.not = icmp eq i8 %71, 0 + br i1 %tobool.i211.not, label %if.else127, label %if.end144 -ehcleanup122: ; preds = %_ZN7testing7MessageD2Ev.exit205, %lpad110 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit205 ], [ %64, %lpad110 ] +ehcleanup122: ; preds = %_ZN7testing7MessageD2Ev.exit206, %lpad110 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit206 ], [ %64, %lpad110 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar101) #31 br label %ehcleanup146 @@ -18709,29 +18714,29 @@ if.else127: ; preds = %invoke.cont124 invoke.cont130: ; preds = %if.else127 %72 = load ptr, ptr %ref.tmp128, align 8 - %add.ptr.i211 = getelementptr inbounds i8, ptr %72, i64 16 - %call2.i212 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i211, float noundef %call.i.i180) + %add.ptr.i212 = getelementptr inbounds i8, ptr %72, i64 16 + %call2.i213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i212, float noundef %call.i.i181) to label %invoke.cont132 unwind label %lpad131 invoke.cont132: ; preds = %invoke.cont130 %73 = load ptr, ptr %ref.tmp128, align 8 - %add.ptr.i213 = getelementptr inbounds i8, ptr %73, i64 16 - %call2.i214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i213, ptr noundef nonnull @.str.116) + %add.ptr.i214 = getelementptr inbounds i8, ptr %73, i64 16 + %call2.i215 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i214, ptr noundef nonnull @.str.116) to label %invoke.cont134 unwind label %lpad131 invoke.cont134: ; preds = %invoke.cont132 - %message_.i.i215 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar123, i64 0, i32 1 - %74 = load ptr, ptr %message_.i.i215, align 8 - %cmp.i.i.not.i.i216 = icmp eq ptr %74, null - br i1 %cmp.i.i.not.i.i216, label %invoke.cont137, label %cond.true.i.i217 + %message_.i.i216 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar123, i64 0, i32 1 + %74 = load ptr, ptr %message_.i.i216, align 8 + %cmp.i.i.not.i.i217 = icmp eq ptr %74, null + br i1 %cmp.i.i.not.i.i217, label %invoke.cont137, label %cond.true.i.i218 -cond.true.i.i217: ; preds = %invoke.cont134 - %call4.i.i218 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %74) #31 +cond.true.i.i218: ; preds = %invoke.cont134 + %call4.i.i219 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %74) #31 br label %invoke.cont137 -invoke.cont137: ; preds = %cond.true.i.i217, %invoke.cont134 - %cond.i.i219 = phi ptr [ %call4.i.i218, %cond.true.i.i217 ], [ @.str, %invoke.cont134 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 610, ptr noundef %cond.i.i219) +invoke.cont137: ; preds = %cond.true.i.i218, %invoke.cont134 + %cond.i.i220 = phi ptr [ %call4.i.i219, %cond.true.i.i218 ], [ @.str, %invoke.cont134 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 610, ptr noundef %cond.i.i220) to label %invoke.cont139 unwind label %lpad131 invoke.cont139: ; preds = %invoke.cont137 @@ -18741,17 +18746,17 @@ invoke.cont139: ; preds = %invoke.cont137 invoke.cont141: ; preds = %invoke.cont139 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136) #31 %75 = load ptr, ptr %ref.tmp128, align 8 - %cmp.not.i.i221 = icmp eq ptr %75, null - br i1 %cmp.not.i.i221, label %_ZN7testing7MessageD2Ev.exit225, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222 + %cmp.not.i.i222 = icmp eq ptr %75, null + br i1 %cmp.not.i.i222, label %_ZN7testing7MessageD2Ev.exit226, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222: ; preds = %invoke.cont141 - %vtable.i.i.i223 = load ptr, ptr %75, align 8 - %vfn.i.i.i224 = getelementptr inbounds ptr, ptr %vtable.i.i.i223, i64 1 - %76 = load ptr, ptr %vfn.i.i.i224, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223: ; preds = %invoke.cont141 + %vtable.i.i.i224 = load ptr, ptr %75, align 8 + %vfn.i.i.i225 = getelementptr inbounds ptr, ptr %vtable.i.i.i224, i64 1 + %76 = load ptr, ptr %vfn.i.i.i225, align 8 call void %76(ptr noundef nonnull align 8 dereferenceable(128) %75) #31 - br label %_ZN7testing7MessageD2Ev.exit225 + br label %_ZN7testing7MessageD2Ev.exit226 -_ZN7testing7MessageD2Ev.exit225: ; preds = %invoke.cont141, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222 +_ZN7testing7MessageD2Ev.exit226: ; preds = %invoke.cont141, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 store ptr null, ptr %ref.tmp128, align 8 br label %if.end144 @@ -18774,54 +18779,54 @@ lpad140: ; preds = %invoke.cont139 ehcleanup143: ; preds = %lpad140, %lpad131 %.pn16 = phi { ptr, i32 } [ %79, %lpad140 ], [ %78, %lpad131 ] %80 = load ptr, ptr %ref.tmp128, align 8 - %cmp.not.i.i226 = icmp eq ptr %80, null - br i1 %cmp.not.i.i226, label %_ZN7testing7MessageD2Ev.exit230, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i227 + %cmp.not.i.i227 = icmp eq ptr %80, null + br i1 %cmp.not.i.i227, label %_ZN7testing7MessageD2Ev.exit231, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i227: ; preds = %ehcleanup143 - %vtable.i.i.i228 = load ptr, ptr %80, align 8 - %vfn.i.i.i229 = getelementptr inbounds ptr, ptr %vtable.i.i.i228, i64 1 - %81 = load ptr, ptr %vfn.i.i.i229, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228: ; preds = %ehcleanup143 + %vtable.i.i.i229 = load ptr, ptr %80, align 8 + %vfn.i.i.i230 = getelementptr inbounds ptr, ptr %vtable.i.i.i229, i64 1 + %81 = load ptr, ptr %vfn.i.i.i230, align 8 call void %81(ptr noundef nonnull align 8 dereferenceable(128) %80) #31 - br label %_ZN7testing7MessageD2Ev.exit230 + br label %_ZN7testing7MessageD2Ev.exit231 -_ZN7testing7MessageD2Ev.exit230: ; preds = %ehcleanup143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i227 +_ZN7testing7MessageD2Ev.exit231: ; preds = %ehcleanup143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228 store ptr null, ptr %ref.tmp128, align 8 br label %ehcleanup145 -if.end144: ; preds = %invoke.cont124, %_ZN7testing7MessageD2Ev.exit225 - %message_.i231 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar123, i64 0, i32 1 - %82 = load ptr, ptr %message_.i231, align 8 - %cmp.not.i.i232 = icmp eq ptr %82, null - br i1 %cmp.not.i.i232, label %_ZN7testing15AssertionResultD2Ev.exit234, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233 +if.end144: ; preds = %invoke.cont124, %_ZN7testing7MessageD2Ev.exit226 + %message_.i232 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar123, i64 0, i32 1 + %82 = load ptr, ptr %message_.i232, align 8 + %cmp.not.i.i233 = icmp eq ptr %82, null + br i1 %cmp.not.i.i233, label %_ZN7testing15AssertionResultD2Ev.exit235, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233: ; preds = %if.end144 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234: ; preds = %if.end144 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #31 call void @_ZdlPv(ptr noundef nonnull %82) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit234 + br label %_ZN7testing15AssertionResultD2Ev.exit235 -_ZN7testing15AssertionResultD2Ev.exit234: ; preds = %if.end144, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233 - store ptr null, ptr %message_.i231, align 8 +_ZN7testing15AssertionResultD2Ev.exit235: ; preds = %if.end144, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234 + store ptr null, ptr %message_.i232, align 8 %83 = load ptr, ptr %data_.i58, align 8 - %tobool.not.i.i.i.i236 = icmp eq ptr %83, null - br i1 %tobool.not.i.i.i.i236, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit238, label %if.then.i.i.i.i237 + %tobool.not.i.i.i.i237 = icmp eq ptr %83, null + br i1 %tobool.not.i.i.i.i237, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit239, label %if.then.i.i.i.i238 -if.then.i.i.i.i237: ; preds = %_ZN7testing15AssertionResultD2Ev.exit234 +if.then.i.i.i.i238: ; preds = %_ZN7testing15AssertionResultD2Ev.exit235 call void @_ZdlPv(ptr noundef nonnull %83) #32 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit238 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit239 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit238: ; preds = %_ZN7testing15AssertionResultD2Ev.exit234, %if.then.i.i.i.i237 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit239: ; preds = %_ZN7testing15AssertionResultD2Ev.exit235, %if.then.i.i.i.i238 ret void -ehcleanup145: ; preds = %_ZN7testing7MessageD2Ev.exit230, %lpad129 - %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit230 ], [ %77, %lpad129 ] +ehcleanup145: ; preds = %_ZN7testing7MessageD2Ev.exit231, %lpad129 + %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit231 ], [ %77, %lpad129 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar123) #31 br label %ehcleanup146 ehcleanup146: ; preds = %ehcleanup145, %ehcleanup122, %ehcleanup96, %ehcleanup74, %lpad49 %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %ehcleanup145 ], [ %33, %lpad49 ], [ %.pn13.pn, %ehcleanup122 ], [ %.pn10.pn, %ehcleanup96 ], [ %.pn7.pn, %ehcleanup74 ] %84 = load ptr, ptr %data_.i58, align 8 - %tobool.not.i.i.i.i240 = icmp eq ptr %84, null - br i1 %tobool.not.i.i.i.i240, label %common.resume, label %common.resume.sink.split + %tobool.not.i.i.i.i241 = icmp eq ptr %84, null + br i1 %tobool.not.i.i.i.i241, label %common.resume, label %common.resume.sink.split } declare void @_ZN7testing8internal20DoubleNearPredFormatEPKcS2_S2_ddd(ptr sret(%"class.testing::AssertionResult") align 8, ptr noundef, ptr noundef, ptr noundef, double noundef, double noundef, double noundef) local_unnamed_addr #0 diff --git a/bench/abseil-cpp/optimized/bit_gen_ref_test.cc.ll b/bench/abseil-cpp/optimized/bit_gen_ref_test.cc.ll index affe420569e..3818444177c 100644 --- a/bench/abseil-cpp/optimized/bit_gen_ref_test.cc.ll +++ b/bench/abseil-cpp/optimized/bit_gen_ref_test.cc.ll @@ -4271,7 +4271,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont9 to label %invoke.cont29 unwind label %lpad26 invoke.cont29: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i6.i.i.i.i22, i64 12 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i22, i64 96 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %call5.i.i.i.i2.i6.i.i.i.i22, ptr noundef nonnull align 8 dereferenceable(96) @constinit.11, i64 96, i1 false) store ptr %call5.i.i.i.i2.i6.i.i.i.i22, ptr %ref.tmp21, align 8, !alias.scope !44 %_M_finish.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp21, i64 0, i32 1 @@ -4467,21 +4467,20 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %2 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i, 3 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %value.i.i.i.i.i.i.i.i.i, i8 0, i64 24, i1 false), !noalias !59 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %1, %2 br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.thread.i.i.i.i.i.i.i.i, label %cond.true.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i invoke.cont.i.i.i.i.thread.i.i.i.i.i.i.i.i: ; preds = %entry %_M_finish.i.i.i.i.i.i3.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload", ptr %call.i.i1.i.i.i.i.i.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i4.i.i.i.i.i.i.i.i = getelementptr inbounds i64, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i4.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i.i.i5.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload", ptr %call.i.i1.i.i.i.i.i.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %value.i.i.i.i.i.i.i.i.i, i8 0, i64 16, i1 false), !noalias !59 store ptr %add.ptr.i.i.i.i.i.i4.i.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i5.i.i.i.i.i.i.i.i, align 8, !noalias !59 br label %_ZN7testing15SafeMatcherCastIRKSt6vectorImSaImEENS_8internal9EqMatcherIS3_EEEENS_7MatcherIT_EERKT0_.exit cond.true.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %entry - %cmp.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i @@ -4499,7 +4498,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_tr store ptr %call5.i.i.i.i2.i6.i.i.i.i1.i.i.i.i.i.i.i.i, ptr %value.i.i.i.i.i.i.i.i.i, align 8, !noalias !59 %_M_finish.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload", ptr %call.i.i1.i.i.i.i.i.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 store ptr %call5.i.i.i.i2.i6.i.i.i.i1.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !59 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i6.i.i.i.i1.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i1.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload", ptr %call.i.i1.i.i.i.i.i.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !noalias !59 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i.i1.i.i.i.i.i.i.i.i, ptr align 8 %2, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i, i1 false), !noalias !59 @@ -4516,9 +4515,10 @@ lpad.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_tr br label %common.resume _ZN7testing15SafeMatcherCastIRKSt6vectorImSaImEENS_8internal9EqMatcherIS3_EEEENS_7MatcherIT_EERKT0_.exit: ; preds = %invoke.cont.i.i.i.i.thread.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i7.i.i.i.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i.i.i4.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.thread.i.i.i.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] - %_M_finish.i.i.i.i.i.i6.i.i.i.i.i.i.i.i = phi ptr [ %_M_finish.i.i.i.i.i.i3.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.thread.i.i.i.i.i.i.i.i ], [ %_M_finish.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] - store ptr %add.ptr.i.i.i.i.i.i7.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i6.i.i.i.i.i.i.i.i, align 8, !noalias !59 + %_M_finish.i.i.i.i.i.i7.i.i.i.i.i.i.i.i = phi ptr [ %_M_finish.i.i.i.i.i.i3.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.thread.i.i.i.i.i.i.i.i ], [ %_M_finish.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] + %cond.i.i.i.i.i.i.i6.i.i.i.i.i.i.i.i = phi ptr [ null, %invoke.cont.i.i.i.i.thread.i.i.i.i.i.i.i.i ], [ %call5.i.i.i.i2.i6.i.i.i.i1.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i.i.i6.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i7.i.i.i.i.i.i.i.i, align 8, !noalias !59 store ptr %call.i.i1.i.i.i.i.i.i, ptr %0, align 8, !alias.scope !59 store ptr getelementptr inbounds ({ [6 x ptr] }, ptr @_ZTVN7testing7MatcherIRKSt6vectorImSaImEEEE, i64 0, inrange i32 0, i64 2), ptr %matcher, align 8, !alias.scope !59 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %dummy.i) diff --git a/bench/abseil-cpp/optimized/chi_square_test.cc.ll b/bench/abseil-cpp/optimized/chi_square_test.cc.ll index 017eae95da4..ba22c64ca34 100644 --- a/bench/abseil-cpp/optimized/chi_square_test.cc.ll +++ b/bench/abseil-cpp/optimized/chi_square_test.cc.ll @@ -1744,176 +1744,176 @@ entry: %expected = getelementptr inbounds %struct.anon.27, ptr %specs, i64 0, i32 1 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 store ptr %call5.i.i.i.i2.i, ptr %expected, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 10 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 40 %_M_end_of_storage.i.i = getelementptr inbounds %struct.anon.27, ptr %specs, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(40) @constinit, i64 40, i1 false) %_M_finish.i.i = getelementptr inbounds %struct.anon.27, ptr %specs, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 store ptr %add.ptr.i1.i, ptr %_M_finish.i.i, align 16 %call5.i.i.i.i2.i33 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 - to label %invoke.cont12 unwind label %if.then.i.i.i140 + to label %invoke.cont12 unwind label %if.then.i.i.i149 invoke.cont12: ; preds = %entry %actual = getelementptr inbounds %struct.anon.27, ptr %specs, i64 0, i32 2 store ptr %call5.i.i.i.i2.i33, ptr %actual, align 16 - %add.ptr.i1.i38 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i33, i64 10 + %add.ptr.i1.i38 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 40 %_M_end_of_storage.i.i39 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i38, ptr %_M_end_of_storage.i.i39, align 16 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i33, ptr noundef nonnull align 4 dereferenceable(40) @constinit.45, i64 40, i1 false) - %_M_finish.i.i40 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i38, ptr %_M_finish.i.i40, align 8 + %_M_finish.i.i41 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i38, ptr %_M_finish.i.i41, align 8 %arrayinit.element = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1 store i32 151, ptr %arrayinit.element, align 8 %expected14 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %expected14, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i43 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 - to label %invoke.cont23 unwind label %lpad.i44 + %call5.i.i.i.i2.i44 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 + to label %invoke.cont23 unwind label %lpad.i45 -lpad.i44: ; preds = %invoke.cont12 +lpad.i45: ; preds = %invoke.cont12 %0 = landingpad { ptr, i32 } cleanup br label %ehcleanup128 invoke.cont23: ; preds = %invoke.cont12 - store ptr %call5.i.i.i.i2.i43, ptr %expected14, align 16 - %add.ptr.i1.i48 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i43, i64 10 - %_M_end_of_storage.i.i49 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i48, ptr %_M_end_of_storage.i.i49, align 16 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i43, ptr noundef nonnull align 4 dereferenceable(40) @constinit.46, i64 40, i1 false) - %_M_finish.i.i50 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i48, ptr %_M_finish.i.i50, align 8 + store ptr %call5.i.i.i.i2.i44, ptr %expected14, align 16 + %add.ptr.i1.i49 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i44, i64 40 + %_M_end_of_storage.i.i50 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i49, ptr %_M_end_of_storage.i.i50, align 16 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i44, ptr noundef nonnull align 4 dereferenceable(40) @constinit.46, i64 40, i1 false) + %_M_finish.i.i52 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i49, ptr %_M_finish.i.i52, align 8 %actual24 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual24, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i53 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 - to label %invoke.cont33 unwind label %if.then.i.i.i136 + %call5.i.i.i.i2.i55 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 + to label %invoke.cont33 unwind label %if.then.i.i.i145 invoke.cont33: ; preds = %invoke.cont23 - store ptr %call5.i.i.i.i2.i53, ptr %actual24, align 8 - %add.ptr.i1.i58 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i53, i64 10 - %_M_end_of_storage.i.i59 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 2, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i58, ptr %_M_end_of_storage.i.i59, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i53, ptr noundef nonnull align 4 dereferenceable(40) @constinit.47, i64 40, i1 false) - %_M_finish.i.i60 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i58, ptr %_M_finish.i.i60, align 16 + store ptr %call5.i.i.i.i2.i55, ptr %actual24, align 8 + %add.ptr.i1.i60 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i55, i64 40 + %_M_end_of_storage.i.i61 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 2, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i60, ptr %_M_end_of_storage.i.i61, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i55, ptr noundef nonnull align 4 dereferenceable(40) @constinit.47, i64 40, i1 false) + %_M_finish.i.i63 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 1, i32 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i60, ptr %_M_finish.i.i63, align 16 %arrayinit.element35 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2 store i32 154, ptr %arrayinit.element35, align 16 %expected37 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected37, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i63 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 - to label %invoke.cont46 unwind label %lpad.i64 + %call5.i.i.i.i2.i66 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 + to label %invoke.cont46 unwind label %lpad.i67 -lpad.i64: ; preds = %invoke.cont33 +lpad.i67: ; preds = %invoke.cont33 %1 = landingpad { ptr, i32 } cleanup br label %ehcleanup128 invoke.cont46: ; preds = %invoke.cont33 - store ptr %call5.i.i.i.i2.i63, ptr %expected37, align 8 - %add.ptr.i1.i68 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i63, i64 10 - %_M_end_of_storage.i.i69 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i68, ptr %_M_end_of_storage.i.i69, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i63, ptr noundef nonnull align 4 dereferenceable(40) @constinit.49, i64 40, i1 false) - %_M_finish.i.i70 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i68, ptr %_M_finish.i.i70, align 16 + store ptr %call5.i.i.i.i2.i66, ptr %expected37, align 8 + %add.ptr.i1.i71 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i66, i64 40 + %_M_end_of_storage.i.i72 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i71, ptr %_M_end_of_storage.i.i72, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i66, ptr noundef nonnull align 4 dereferenceable(40) @constinit.49, i64 40, i1 false) + %_M_finish.i.i74 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i71, ptr %_M_finish.i.i74, align 16 %actual47 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %actual47, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i73 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 - to label %invoke.cont56 unwind label %if.then.i.i.i132 + %call5.i.i.i.i2.i77 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #17 + to label %invoke.cont56 unwind label %if.then.i.i.i141 invoke.cont56: ; preds = %invoke.cont46 - store ptr %call5.i.i.i.i2.i73, ptr %actual47, align 16 - %add.ptr.i1.i78 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i73, i64 10 - %_M_end_of_storage.i.i79 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 2, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i78, ptr %_M_end_of_storage.i.i79, align 16 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i73, ptr noundef nonnull align 4 dereferenceable(40) @constinit.49, i64 40, i1 false) - %_M_finish.i.i80 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i78, ptr %_M_finish.i.i80, align 8 + store ptr %call5.i.i.i.i2.i77, ptr %actual47, align 16 + %add.ptr.i1.i82 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i77, i64 40 + %_M_end_of_storage.i.i83 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 2, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i82, ptr %_M_end_of_storage.i.i83, align 16 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i2.i77, ptr noundef nonnull align 4 dereferenceable(40) @constinit.49, i64 40, i1 false) + %_M_finish.i.i85 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 2, i32 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i82, ptr %_M_finish.i.i85, align 8 %arrayinit.element58 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3 store i32 157, ptr %arrayinit.element58, align 8 %expected60 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %expected60, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i83 = invoke noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #17 - to label %invoke.cont69 unwind label %lpad.i84 + %call5.i.i.i.i2.i88 = invoke noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #17 + to label %invoke.cont69 unwind label %lpad.i89 -lpad.i84: ; preds = %invoke.cont56 +lpad.i89: ; preds = %invoke.cont56 %2 = landingpad { ptr, i32 } cleanup br label %ehcleanup128 invoke.cont69: ; preds = %invoke.cont56 - store ptr %call5.i.i.i.i2.i83, ptr %expected60, align 16 - %add.ptr.i1.i88 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i83, i64 7 - %_M_end_of_storage.i.i89 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i88, ptr %_M_end_of_storage.i.i89, align 16 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i83, ptr noundef nonnull align 4 dereferenceable(28) @constinit.50, i64 28, i1 false) - %_M_finish.i.i90 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i88, ptr %_M_finish.i.i90, align 8 + store ptr %call5.i.i.i.i2.i88, ptr %expected60, align 16 + %add.ptr.i1.i93 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i88, i64 28 + %_M_end_of_storage.i.i94 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i93, ptr %_M_end_of_storage.i.i94, align 16 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i88, ptr noundef nonnull align 4 dereferenceable(28) @constinit.50, i64 28, i1 false) + %_M_finish.i.i96 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i93, ptr %_M_finish.i.i96, align 8 %actual70 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual70, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i93 = invoke noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #17 - to label %invoke.cont79 unwind label %if.then.i.i.i128 + %call5.i.i.i.i2.i99 = invoke noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #17 + to label %invoke.cont79 unwind label %if.then.i.i.i137 invoke.cont79: ; preds = %invoke.cont69 - store ptr %call5.i.i.i.i2.i93, ptr %actual70, align 8 - %add.ptr.i1.i98 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i93, i64 7 - %_M_end_of_storage.i.i99 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 2, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i98, ptr %_M_end_of_storage.i.i99, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i93, ptr noundef nonnull align 4 dereferenceable(28) @constinit.51, i64 28, i1 false) - %_M_finish.i.i100 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i98, ptr %_M_finish.i.i100, align 16 + store ptr %call5.i.i.i.i2.i99, ptr %actual70, align 8 + %add.ptr.i1.i104 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i99, i64 28 + %_M_end_of_storage.i.i105 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 2, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i104, ptr %_M_end_of_storage.i.i105, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i99, ptr noundef nonnull align 4 dereferenceable(28) @constinit.51, i64 28, i1 false) + %_M_finish.i.i107 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 3, i32 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i104, ptr %_M_finish.i.i107, align 16 %arrayinit.element81 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4 store i32 158, ptr %arrayinit.element81, align 16 %expected83 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected83, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i103 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #17 - to label %invoke.cont92 unwind label %lpad.i104 + %call5.i.i.i.i2.i110 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #17 + to label %invoke.cont92 unwind label %lpad.i111 -lpad.i104: ; preds = %invoke.cont79 +lpad.i111: ; preds = %invoke.cont79 %3 = landingpad { ptr, i32 } cleanup br label %ehcleanup128 invoke.cont92: ; preds = %invoke.cont79 - store ptr %call5.i.i.i.i2.i103, ptr %expected83, align 8 - %add.ptr.i1.i108 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i103, i64 1 - %_M_end_of_storage.i.i109 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i108, ptr %_M_end_of_storage.i.i109, align 8 - store i32 1, ptr %call5.i.i.i.i2.i103, align 4 - %_M_finish.i.i110 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i108, ptr %_M_finish.i.i110, align 16 + store ptr %call5.i.i.i.i2.i110, ptr %expected83, align 8 + %add.ptr.i1.i115 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i110, i64 4 + %_M_end_of_storage.i.i116 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i115, ptr %_M_end_of_storage.i.i116, align 8 + store i32 1, ptr %call5.i.i.i.i2.i110, align 4 + %_M_finish.i.i118 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i115, ptr %_M_finish.i.i118, align 16 %actual93 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(24) %actual93, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i113 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #17 + %call5.i.i.i.i2.i121 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #17 to label %invoke.cont102 unwind label %if.then.i.i.i invoke.cont102: ; preds = %invoke.cont92 - store ptr %call5.i.i.i.i2.i113, ptr %actual93, align 16 - %add.ptr.i1.i118 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i113, i64 1 - %_M_end_of_storage.i.i119 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 2, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i118, ptr %_M_end_of_storage.i.i119, align 16 - store i32 23, ptr %call5.i.i.i.i2.i113, align 4 - %_M_finish.i.i120 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i118, ptr %_M_finish.i.i120, align 8 + store ptr %call5.i.i.i.i2.i121, ptr %actual93, align 16 + %add.ptr.i1.i126 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i121, i64 4 + %_M_end_of_storage.i.i127 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 2, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i126, ptr %_M_end_of_storage.i.i127, align 16 + store i32 23, ptr %call5.i.i.i.i2.i121, align 4 + %_M_finish.i.i129 = getelementptr inbounds %struct.anon.27, ptr %specs, i64 4, i32 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i126, ptr %_M_finish.i.i129, align 8 %add.ptr = getelementptr inbounds %struct.anon.27, ptr %specs, i64 5 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 br label %for.body for.body: ; preds = %invoke.cont102, %_ZN7testing15AssertionResultD2Ev.exit - %__begin1.0.ptr175 = phi ptr [ %specs, %invoke.cont102 ], [ %__begin1.0.ptr, %_ZN7testing15AssertionResultD2Ev.exit ] - %__begin1.0.idx174 = phi i64 [ 0, %invoke.cont102 ], [ %__begin1.0.add, %_ZN7testing15AssertionResultD2Ev.exit ] - invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_161, ptr noundef nonnull @.str.3, i32 noundef 161, ptr noundef nonnull align 4 dereferenceable(4) %__begin1.0.ptr175) + %__begin1.0.ptr184 = phi ptr [ %specs, %invoke.cont102 ], [ %__begin1.0.ptr, %_ZN7testing15AssertionResultD2Ev.exit ] + %__begin1.0.idx183 = phi i64 [ 0, %invoke.cont102 ], [ %__begin1.0.add, %_ZN7testing15AssertionResultD2Ev.exit ] + invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_161, ptr noundef nonnull @.str.3, i32 noundef 161, ptr noundef nonnull align 4 dereferenceable(4) %__begin1.0.ptr184) to label %for.cond138.preheader unwind label %lpad136 for.cond138.preheader: ; preds = %for.body - %expected139 = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr175, i64 0, i32 1 - %_M_finish.i = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr175, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + %expected139 = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr184, i64 0, i32 1 + %_M_finish.i = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr184, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 %4 = load ptr, ptr %_M_finish.i, align 8 %5 = load ptr, ptr %expected139, align 8 - %cmp140168.not = icmp eq ptr %4, %5 - br i1 %cmp140168.not, label %for.cond138.preheader.for.end_crit_edge, label %for.body141.lr.ph + %cmp140177.not = icmp eq ptr %4, %5 + br i1 %cmp140177.not, label %for.cond138.preheader.for.end_crit_edge, label %for.body141.lr.ph for.cond138.preheader.for.end_crit_edge: ; preds = %for.cond138.preheader - %actual154.phi.trans.insert = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr175, i64 0, i32 2 + %actual154.phi.trans.insert = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr184, i64 0, i32 2 %.pre = load ptr, ptr %actual154.phi.trans.insert, align 8 br label %for.end @@ -1922,24 +1922,24 @@ for.body141.lr.ph: ; preds = %for.cond138.prehead %sub.ptr.rhs.cast.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 2 - %actual142 = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr175, i64 0, i32 2 + %actual142 = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr184, i64 0, i32 2 %6 = load ptr, ptr %actual142, align 8 %umax = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i, i64 1) br label %for.body141 for.body141: ; preds = %for.body141.lr.ph, %for.body141 %indvars.iv = phi i64 [ 0, %for.body141.lr.ph ], [ %indvars.iv.next, %for.body141 ] - %chi_square.0169 = phi double [ 0.000000e+00, %for.body141.lr.ph ], [ %add, %for.body141 ] + %chi_square.0178 = phi double [ 0.000000e+00, %for.body141.lr.ph ], [ %add, %for.body141 ] %add.ptr.i = getelementptr inbounds i32, ptr %6, i64 %indvars.iv %7 = load i32, ptr %add.ptr.i, align 4 - %add.ptr.i123 = getelementptr inbounds i32, ptr %5, i64 %indvars.iv - %8 = load i32, ptr %add.ptr.i123, align 4 + %add.ptr.i132 = getelementptr inbounds i32, ptr %5, i64 %indvars.iv + %8 = load i32, ptr %add.ptr.i132, align 4 %sub = sub nsw i32 %7, %8 %conv148 = sitofp i32 %sub to double %mul = fmul double %conv148, %conv148 %conv152 = sitofp i32 %8 to double %div = fdiv double %mul, %conv152 - %add = fadd double %chi_square.0169, %div + %add = fadd double %chi_square.0178, %div %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %umax br i1 %exitcond.not, label %for.end, label %for.body141, !llvm.loop !5 @@ -1947,36 +1947,36 @@ for.body141: ; preds = %for.body141.lr.ph, if.then.i.i.i: ; preds = %invoke.cont92 %9 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i103) #16 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i110) #16 br label %ehcleanup128 -if.then.i.i.i128: ; preds = %invoke.cont69 +if.then.i.i.i137: ; preds = %invoke.cont69 %10 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i83) #16 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i88) #16 br label %ehcleanup128 -if.then.i.i.i132: ; preds = %invoke.cont46 +if.then.i.i.i141: ; preds = %invoke.cont46 %11 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i63) #16 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i66) #16 br label %ehcleanup128 -if.then.i.i.i136: ; preds = %invoke.cont23 +if.then.i.i.i145: ; preds = %invoke.cont23 %12 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i43) #16 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i44) #16 br label %ehcleanup128 -if.then.i.i.i140: ; preds = %entry +if.then.i.i.i149: ; preds = %entry %13 = landingpad { ptr, i32 } cleanup tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #16 br label %eh.resume -ehcleanup128: ; preds = %lpad.i104, %lpad.i84, %lpad.i64, %lpad.i44, %if.then.i.i.i, %if.then.i.i.i128, %if.then.i.i.i132, %if.then.i.i.i136 - %.pn.pn.pn.pn.pn.pn.pn.pn.ph = phi { ptr, i32 } [ %12, %if.then.i.i.i136 ], [ %0, %lpad.i44 ], [ %11, %if.then.i.i.i132 ], [ %1, %lpad.i64 ], [ %10, %if.then.i.i.i128 ], [ %2, %lpad.i84 ], [ %9, %if.then.i.i.i ], [ %3, %lpad.i104 ] - %arrayinit.endOfInit.6.ph = phi ptr [ %arrayinit.element, %if.then.i.i.i136 ], [ %arrayinit.element, %lpad.i44 ], [ %arrayinit.element35, %if.then.i.i.i132 ], [ %arrayinit.element35, %lpad.i64 ], [ %arrayinit.element58, %if.then.i.i.i128 ], [ %arrayinit.element58, %lpad.i84 ], [ %arrayinit.element81, %if.then.i.i.i ], [ %arrayinit.element81, %lpad.i104 ] +ehcleanup128: ; preds = %lpad.i111, %lpad.i89, %lpad.i67, %lpad.i45, %if.then.i.i.i, %if.then.i.i.i137, %if.then.i.i.i141, %if.then.i.i.i145 + %.pn.pn.pn.pn.pn.pn.pn.pn.ph = phi { ptr, i32 } [ %12, %if.then.i.i.i145 ], [ %0, %lpad.i45 ], [ %11, %if.then.i.i.i141 ], [ %1, %lpad.i67 ], [ %10, %if.then.i.i.i137 ], [ %2, %lpad.i89 ], [ %9, %if.then.i.i.i ], [ %3, %lpad.i111 ] + %arrayinit.endOfInit.6.ph = phi ptr [ %arrayinit.element, %if.then.i.i.i145 ], [ %arrayinit.element, %lpad.i45 ], [ %arrayinit.element35, %if.then.i.i.i141 ], [ %arrayinit.element35, %lpad.i67 ], [ %arrayinit.element58, %if.then.i.i.i137 ], [ %arrayinit.element58, %lpad.i89 ], [ %arrayinit.element81, %if.then.i.i.i ], [ %arrayinit.element81, %lpad.i111 ] br label %arraydestroy.body arraydestroy.body: ; preds = %ehcleanup128, %arraydestroy.body @@ -1994,8 +1994,8 @@ lpad136: ; preds = %for.body for.end: ; preds = %for.body141, %for.cond138.preheader.for.end_crit_edge %15 = phi ptr [ %.pre, %for.cond138.preheader.for.end_crit_edge ], [ %6, %for.body141 ] %chi_square.0.lcssa = phi double [ 0.000000e+00, %for.cond138.preheader.for.end_crit_edge ], [ %add, %for.body141 ] - %_M_finish.i.i143 = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr175, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 - %16 = load ptr, ptr %_M_finish.i.i143, align 8 + %_M_finish.i.i152 = getelementptr inbounds %struct.anon.27, ptr %__begin1.0.ptr184, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 + %16 = load ptr, ptr %_M_finish.i.i152, align 8 %cmp.i12.i = icmp ne ptr %15, %16 %cmp.i413.i = icmp ne ptr %5, %4 %or.cond14.i = and i1 %cmp.i413.i, %cmp.i12.i @@ -2102,24 +2102,24 @@ lpad189: ; preds = %invoke.cont188 ehcleanup192: ; preds = %lpad189, %lpad185 %.pn27 = phi { ptr, i32 } [ %27, %lpad189 ], [ %26, %lpad185 ] %28 = load ptr, ptr %ref.tmp181, align 8 - %cmp.not.i.i145 = icmp eq ptr %28, null - br i1 %cmp.not.i.i145, label %_ZN7testing7MessageD2Ev.exit149, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146 + %cmp.not.i.i154 = icmp eq ptr %28, null + br i1 %cmp.not.i.i154, label %_ZN7testing7MessageD2Ev.exit158, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146: ; preds = %ehcleanup192 - %vtable.i.i.i147 = load ptr, ptr %28, align 8 - %vfn.i.i.i148 = getelementptr inbounds ptr, ptr %vtable.i.i.i147, i64 1 - %29 = load ptr, ptr %vfn.i.i.i148, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155: ; preds = %ehcleanup192 + %vtable.i.i.i156 = load ptr, ptr %28, align 8 + %vfn.i.i.i157 = getelementptr inbounds ptr, ptr %vtable.i.i.i156, i64 1 + %29 = load ptr, ptr %vfn.i.i.i157, align 8 call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #15 - br label %_ZN7testing7MessageD2Ev.exit149 + br label %_ZN7testing7MessageD2Ev.exit158 -_ZN7testing7MessageD2Ev.exit149: ; preds = %ehcleanup192, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146 +_ZN7testing7MessageD2Ev.exit158: ; preds = %ehcleanup192, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 store ptr null, ptr %ref.tmp181, align 8 br label %ehcleanup193 if.end: ; preds = %invoke.cont179, %_ZN7testing7MessageD2Ev.exit %30 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i150 = icmp eq ptr %30, null - br i1 %cmp.not.i.i150, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i159 = icmp eq ptr %30, null + br i1 %cmp.not.i.i159, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #15 @@ -2129,13 +2129,13 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i.i, align 8 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_161) #15 - %__begin1.0.add = add nuw nsw i64 %__begin1.0.idx174, 56 + %__begin1.0.add = add nuw nsw i64 %__begin1.0.idx183, 56 %__begin1.0.ptr = getelementptr inbounds i8, ptr %specs, i64 %__begin1.0.add %cmp.not = icmp eq i64 %__begin1.0.add, 280 br i1 %cmp.not, label %arraydestroy.body197, label %for.body -ehcleanup193: ; preds = %_ZN7testing7MessageD2Ev.exit149, %lpad182 - %.pn27.pn = phi { ptr, i32 } [ %.pn27, %_ZN7testing7MessageD2Ev.exit149 ], [ %25, %lpad182 ] +ehcleanup193: ; preds = %_ZN7testing7MessageD2Ev.exit158, %lpad182 + %.pn27.pn = phi { ptr, i32 } [ %.pn27, %_ZN7testing7MessageD2Ev.exit158 ], [ %25, %lpad182 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #15 br label %ehcleanup194 @@ -2184,8 +2184,8 @@ arraydestroy.body204: ; preds = %arraydestroy.body20 %arraydestroy.done207 = icmp eq ptr %arraydestroy.element206, %specs br i1 %arraydestroy.done207, label %eh.resume, label %arraydestroy.body204 -eh.resume: ; preds = %arraydestroy.body, %arraydestroy.body204, %if.then.i.i.i140 - %.pn27.pn.pn.pn.pn = phi { ptr, i32 } [ %13, %if.then.i.i.i140 ], [ %.pn27.pn.pn.pn, %arraydestroy.body204 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.ph, %arraydestroy.body ] +eh.resume: ; preds = %arraydestroy.body, %arraydestroy.body204, %if.then.i.i.i149 + %.pn27.pn.pn.pn.pn = phi { ptr, i32 } [ %13, %if.then.i.i.i149 ], [ %.pn27.pn.pn.pn, %arraydestroy.body204 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.ph, %arraydestroy.body ] resume { ptr, i32 } %.pn27.pn.pn.pn.pn } diff --git a/bench/abseil-cpp/optimized/common_policy_traits_test.cc.ll b/bench/abseil-cpp/optimized/common_policy_traits_test.cc.ll index 28b08342b89..0a3e293edbb 100644 --- a/bench/abseil-cpp/optimized/common_policy_traits_test.cc.ll +++ b/bench/abseil-cpp/optimized/common_policy_traits_test.cc.ll @@ -17833,23 +17833,24 @@ _ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPKvEE8allocateERS2_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPKvSaIS1_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i -_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #25 br label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i -_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %untyped_actions_, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/container_test.cc.ll b/bench/abseil-cpp/optimized/container_test.cc.ll index 6ed975dc419..f98d8e4b06a 100644 --- a/bench/abseil-cpp/optimized/container_test.cc.ll +++ b/bench/abseil-cpp/optimized/container_test.cc.ll @@ -2579,13 +2579,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2621,13 +2621,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2675,13 +2675,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2717,13 +2717,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2759,13 +2759,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2801,13 +2801,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2845,13 +2845,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2887,13 +2887,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2929,13 +2929,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2971,13 +2971,13 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %invoke.cont10, %invoke.cont8, %invoke.cont6, %invoke.cont, %if.else %0 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %0 if.end: ; preds = %entry, %invoke.cont12 @@ -2995,14 +2995,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129NonMutatingTest_Distance_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129NonMutatingTest_Distance_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -3013,7 +3013,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -3058,7 +3058,7 @@ invoke.cont: ; preds = %entry for.body.i.i: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %invoke.cont %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %invoke.cont ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -3066,7 +3066,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %0 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %0, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %sequence_) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %sequence_) #28 %1 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %1, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -3084,19 +3084,19 @@ lpad3.i: ; preds = %for.body.i.i while.body.i.i.i: ; preds = %lpad3.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %4, %while.body.i.i.i ], [ %3, %lpad3.i ] %4 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %4, %sequence_ br i1 %cmp.not.i.i.i, label %ehcleanup, label %while.body.i.i.i, !llvm.loop !7 invoke.cont16: ; preds = %call5.i.i.i.i.i.i.i.noexc.i %vector_ = getelementptr inbounds %"class.(anonymous namespace)::NonMutatingTest", ptr %this, i64 0, i32 3 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %vector_, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %invoke.cont27 unwind label %lpad26.body invoke.cont27: ; preds = %invoke.cont16 store ptr %call5.i.i.i.i2.i, ptr %vector_, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 %_M_end_of_storage.i.i = getelementptr inbounds %"class.(anonymous namespace)::NonMutatingTest", ptr %this, i64 0, i32 3, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 1, ptr %call5.i.i.i.i2.i, align 4 @@ -3129,33 +3129,33 @@ lpad26.body: ; preds = %invoke.cont16 while.body.i.i.i5: ; preds = %lpad26.body, %while.body.i.i.i5 %__cur.05.i.i.i6 = phi ptr [ %7, %while.body.i.i.i5 ], [ %.pre, %lpad26.body ] %7 = load ptr, ptr %__cur.05.i.i.i6, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i6) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i6) #29 %cmp.not.i.i.i7 = icmp eq ptr %7, %sequence_ br i1 %cmp.not.i.i.i7, label %ehcleanup, label %while.body.i.i.i5, !llvm.loop !7 ehcleanup: ; preds = %while.body.i.i.i, %while.body.i.i.i5, %lpad26.body, %lpad3.i %.pn = phi { ptr, i32 } [ %2, %lpad3.i ], [ %6, %lpad26.body ], [ %6, %while.body.i.i.i5 ], [ %2, %while.body.i.i.i ] - call void @_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %container_) #27 + call void @_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %container_) #28 br label %ehcleanup31 ehcleanup31: ; preds = %ehcleanup, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %5, %lpad ] - call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 resume { ptr, i32 } %.pn.pn } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129NonMutatingTest_Distance_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129NonMutatingTest_Distance_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -3235,7 +3235,7 @@ invoke.cont7: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont10, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont7 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #28 br label %invoke.cont10 invoke.cont10: ; preds = %cond.true.i.i, %invoke.cont7 @@ -3248,7 +3248,7 @@ invoke.cont12: ; preds = %invoke.cont10 to label %invoke.cont14 unwind label %lpad13 invoke.cont14: ; preds = %invoke.cont12 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp8) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp8) #28 %7 = load ptr, ptr %ref.tmp6, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -3257,7 +3257,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -3272,7 +3272,7 @@ lpad9: ; preds = %invoke.cont10 lpad13: ; preds = %invoke.cont12 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp8) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp8) #28 br label %ehcleanup ehcleanup: ; preds = %lpad13, %lpad9 @@ -3285,7 +3285,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i18 = load ptr, ptr %11, align 8 %vfn.i.i.i19 = getelementptr inbounds ptr, ptr %vtable.i.i.i18, i64 1 %12 = load ptr, ptr %vfn.i.i.i19, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit20 _ZN7testing7MessageD2Ev.exit20: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -3299,8 +3299,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i21, label %_ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit26, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit26 _ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit26: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -3313,7 +3313,7 @@ _ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integra ehcleanup15: ; preds = %_ZN7testing7MessageD2Ev.exit20, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit20 ], [ %5, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %eh.resume lpad22: ; preds = %if.else26 @@ -3332,7 +3332,7 @@ invoke.cont28: ; preds = %if.else26 br i1 %cmp.i.i.not.i.i29, label %invoke.cont31, label %cond.true.i.i30 cond.true.i.i30: ; preds = %invoke.cont28 - %call4.i.i31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 + %call4.i.i31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont31 invoke.cont31: ; preds = %cond.true.i.i30, %invoke.cont28 @@ -3345,7 +3345,7 @@ invoke.cont33: ; preds = %invoke.cont31 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 %18 = load ptr, ptr %ref.tmp27, align 8 %cmp.not.i.i34 = icmp eq ptr %18, null br i1 %cmp.not.i.i34, label %_ZN7testing7MessageD2Ev.exit38, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -3354,7 +3354,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i36 = load ptr, ptr %18, align 8 %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 %19 = load ptr, ptr %vfn.i.i.i37, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit38 _ZN7testing7MessageD2Ev.exit38: ; preds = %invoke.cont35, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -3369,7 +3369,7 @@ lpad30: ; preds = %invoke.cont31 lpad34: ; preds = %invoke.cont33 %21 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad30 @@ -3382,7 +3382,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i41 = load ptr, ptr %22, align 8 %vfn.i.i.i42 = getelementptr inbounds ptr, ptr %vtable.i.i.i41, i64 1 %23 = load ptr, ptr %vfn.i.i.i42, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #27 + call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 br label %_ZN7testing7MessageD2Ev.exit43 _ZN7testing7MessageD2Ev.exit43: ; preds = %ehcleanup37, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 @@ -3396,8 +3396,8 @@ if.end38: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i45, label %_ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit51, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %if.end38 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #27 - call void @_ZdlPv(ptr noundef nonnull %24) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #28 + call void @_ZdlPv(ptr noundef nonnull %24) #29 br label %_ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit51 _ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit51: ; preds = %if.end38, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 @@ -3412,7 +3412,7 @@ _ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integra ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit43, %lpad22 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit43 ], [ %16, %lpad22 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar16) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar16) #28 br label %eh.resume lpad46: ; preds = %if.else50 @@ -3431,7 +3431,7 @@ invoke.cont52: ; preds = %if.else50 br i1 %cmp.i.i.not.i.i54, label %invoke.cont55, label %cond.true.i.i55 cond.true.i.i55: ; preds = %invoke.cont52 - %call4.i.i56 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #27 + %call4.i.i56 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #28 br label %invoke.cont55 invoke.cont55: ; preds = %cond.true.i.i55, %invoke.cont52 @@ -3444,7 +3444,7 @@ invoke.cont57: ; preds = %invoke.cont55 to label %invoke.cont59 unwind label %lpad58 invoke.cont59: ; preds = %invoke.cont57 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #28 %29 = load ptr, ptr %ref.tmp51, align 8 %cmp.not.i.i59 = icmp eq ptr %29, null br i1 %cmp.not.i.i59, label %_ZN7testing7MessageD2Ev.exit63, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60 @@ -3453,7 +3453,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i61 = load ptr, ptr %29, align 8 %vfn.i.i.i62 = getelementptr inbounds ptr, ptr %vtable.i.i.i61, i64 1 %30 = load ptr, ptr %vfn.i.i.i62, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %_ZN7testing7MessageD2Ev.exit63 _ZN7testing7MessageD2Ev.exit63: ; preds = %invoke.cont59, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60 @@ -3468,7 +3468,7 @@ lpad54: ; preds = %invoke.cont55 lpad58: ; preds = %invoke.cont57 %32 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #28 br label %ehcleanup61 ehcleanup61: ; preds = %lpad58, %lpad54 @@ -3481,7 +3481,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i66 = load ptr, ptr %33, align 8 %vfn.i.i.i67 = getelementptr inbounds ptr, ptr %vtable.i.i.i66, i64 1 %34 = load ptr, ptr %vfn.i.i.i67, align 8 - call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #27 + call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #28 br label %_ZN7testing7MessageD2Ev.exit68 _ZN7testing7MessageD2Ev.exit68: ; preds = %ehcleanup61, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 @@ -3495,8 +3495,8 @@ if.end62: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i70, label %_ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit76, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %if.end62 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #27 - call void @_ZdlPv(ptr noundef nonnull %35) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #28 + call void @_ZdlPv(ptr noundef nonnull %35) #29 br label %_ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit76 _ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit76: ; preds = %if.end62, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 @@ -3509,7 +3509,7 @@ _ZN7testing8internal8EqHelper7CompareImmTnPNSt9enable_ifIXoontsr3std11is_integra ehcleanup63: ; preds = %_ZN7testing7MessageD2Ev.exit68, %lpad46 %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit68 ], [ %27, %lpad46 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar40) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar40) #28 br label %eh.resume lpad68: ; preds = %if.else72 @@ -3528,7 +3528,7 @@ invoke.cont74: ; preds = %if.else72 br i1 %cmp.i.i.not.i.i79, label %invoke.cont77, label %cond.true.i.i80 cond.true.i.i80: ; preds = %invoke.cont74 - %call4.i.i81 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #27 + %call4.i.i81 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #28 br label %invoke.cont77 invoke.cont77: ; preds = %cond.true.i.i80, %invoke.cont74 @@ -3541,7 +3541,7 @@ invoke.cont79: ; preds = %invoke.cont77 to label %invoke.cont81 unwind label %lpad80 invoke.cont81: ; preds = %invoke.cont79 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #28 %40 = load ptr, ptr %ref.tmp73, align 8 %cmp.not.i.i84 = icmp eq ptr %40, null br i1 %cmp.not.i.i84, label %_ZN7testing7MessageD2Ev.exit88, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i85 @@ -3550,7 +3550,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i86 = load ptr, ptr %40, align 8 %vfn.i.i.i87 = getelementptr inbounds ptr, ptr %vtable.i.i.i86, i64 1 %41 = load ptr, ptr %vfn.i.i.i87, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 br label %_ZN7testing7MessageD2Ev.exit88 _ZN7testing7MessageD2Ev.exit88: ; preds = %invoke.cont81, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i85 @@ -3565,7 +3565,7 @@ lpad76: ; preds = %invoke.cont77 lpad80: ; preds = %invoke.cont79 %43 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #28 br label %ehcleanup83 ehcleanup83: ; preds = %lpad80, %lpad76 @@ -3578,7 +3578,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i91 = load ptr, ptr %44, align 8 %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 %45 = load ptr, ptr %vfn.i.i.i92, align 8 - call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #27 + call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #28 br label %_ZN7testing7MessageD2Ev.exit93 _ZN7testing7MessageD2Ev.exit93: ; preds = %ehcleanup83, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 @@ -3592,8 +3592,8 @@ if.end84: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i95, label %_ZN7testing15AssertionResultD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96: ; preds = %if.end84 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #27 - call void @_ZdlPv(ptr noundef nonnull %46) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #28 + call void @_ZdlPv(ptr noundef nonnull %46) #29 br label %_ZN7testing15AssertionResultD2Ev.exit97 _ZN7testing15AssertionResultD2Ev.exit97: ; preds = %if.end84, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96 @@ -3611,11 +3611,11 @@ cond.true.i.i.i.i: ; preds = %_ZN7testing15Assert br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - call void @_ZSt28__throw_bad_array_new_lengthv() #30 + call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable if.then.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - %call5.i.i.i.i2.i6.i = call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i101) #29 + %call5.i.i.i.i2.i6.i = call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i101) #30 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i, ptr align 4 %48, i64 %sub.ptr.sub.i101, i1 false) br label %invoke.cont94 @@ -3629,7 +3629,7 @@ invoke.cont96: ; preds = %invoke.cont94 br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont96 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i142) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i142) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont96, %if.then.i.i.i @@ -3640,7 +3640,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont96, %if. ehcleanup85: ; preds = %_ZN7testing7MessageD2Ev.exit93, %lpad68 %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit93 ], [ %38, %lpad68 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar64) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar64) #28 br label %eh.resume lpad93: ; preds = %invoke.cont94 @@ -3650,7 +3650,7 @@ lpad93: ; preds = %invoke.cont94 br i1 %tobool.not.i.i.i116, label %eh.resume, label %if.then.i.i.i117 if.then.i.i.i117: ; preds = %lpad93 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i142) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i142) #29 br label %eh.resume lpad98: ; preds = %if.else102 @@ -3669,7 +3669,7 @@ invoke.cont104: ; preds = %if.else102 br i1 %cmp.i.i.not.i.i120, label %invoke.cont107, label %cond.true.i.i121 cond.true.i.i121: ; preds = %invoke.cont104 - %call4.i.i122 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #27 + %call4.i.i122 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #28 br label %invoke.cont107 invoke.cont107: ; preds = %cond.true.i.i121, %invoke.cont104 @@ -3682,7 +3682,7 @@ invoke.cont109: ; preds = %invoke.cont107 to label %invoke.cont111 unwind label %lpad110 invoke.cont111: ; preds = %invoke.cont109 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp105) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp105) #28 %54 = load ptr, ptr %ref.tmp103, align 8 %cmp.not.i.i125 = icmp eq ptr %54, null br i1 %cmp.not.i.i125, label %_ZN7testing7MessageD2Ev.exit129, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126 @@ -3691,7 +3691,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i127 = load ptr, ptr %54, align 8 %vfn.i.i.i128 = getelementptr inbounds ptr, ptr %vtable.i.i.i127, i64 1 %55 = load ptr, ptr %vfn.i.i.i128, align 8 - call void %55(ptr noundef nonnull align 8 dereferenceable(128) %54) #27 + call void %55(ptr noundef nonnull align 8 dereferenceable(128) %54) #28 br label %_ZN7testing7MessageD2Ev.exit129 _ZN7testing7MessageD2Ev.exit129: ; preds = %invoke.cont111, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126 @@ -3706,7 +3706,7 @@ lpad106: ; preds = %invoke.cont107 lpad110: ; preds = %invoke.cont109 %57 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp105) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp105) #28 br label %ehcleanup113 ehcleanup113: ; preds = %lpad110, %lpad106 @@ -3719,7 +3719,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i132 = load ptr, ptr %58, align 8 %vfn.i.i.i133 = getelementptr inbounds ptr, ptr %vtable.i.i.i132, i64 1 %59 = load ptr, ptr %vfn.i.i.i133, align 8 - call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #27 + call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #28 br label %_ZN7testing7MessageD2Ev.exit134 _ZN7testing7MessageD2Ev.exit134: ; preds = %ehcleanup113, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i131 @@ -3733,8 +3733,8 @@ if.end114: ; preds = %_ZNSt6vectorIiSaIiE br i1 %cmp.not.i.i136, label %_ZN7testing15AssertionResultD2Ev.exit138, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i137 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i137: ; preds = %if.end114 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #27 - call void @_ZdlPv(ptr noundef nonnull %60) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #28 + call void @_ZdlPv(ptr noundef nonnull %60) #29 br label %_ZN7testing15AssertionResultD2Ev.exit138 _ZN7testing15AssertionResultD2Ev.exit138: ; preds = %if.end114, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i137 @@ -3742,7 +3742,7 @@ _ZN7testing15AssertionResultD2Ev.exit138: ; preds = %if.end114, %_ZNKSt1 ehcleanup115: ; preds = %_ZN7testing7MessageD2Ev.exit134, %lpad98 %.pn12.pn = phi { ptr, i32 } [ %.pn12, %_ZN7testing7MessageD2Ev.exit134 ], [ %52, %lpad98 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar86) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar86) #28 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i117, %lpad93, %ehcleanup115, %ehcleanup85, %ehcleanup63, %ehcleanup39, %ehcleanup15 @@ -3769,7 +3769,7 @@ entry: while.body.i.i.i: ; preds = %entry, %while.body.i.i.i %__n.addr.04.i.i.i = phi ptr [ %1, %while.body.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__n.addr.04.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i) #29 %tobool.not.i.i.i = icmp eq ptr %1, null br i1 %tobool.not.i.i.i, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i, label %while.body.i.i.i, !llvm.loop !9 @@ -3786,7 +3786,7 @@ _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_M br i1 %cmp.i.i.i.i, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEED2Ev.exit, label %if.end.i.i.i if.end.i.i.i: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i - tail call void @_ZdlPv(ptr noundef %4) #28 + tail call void @_ZdlPv(ptr noundef %4) #29 br label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEED2Ev.exit _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEED2Ev.exit: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i, %if.end.i.i.i @@ -3806,7 +3806,7 @@ entry: br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %entry, %if.then.i.i.i @@ -3818,7 +3818,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %entry, %if.then.i.i while.body.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %2, %while.body.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit ] %2 = load ptr, ptr %__cur.05.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %2, %sequence_ br i1 %cmp.not.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i, !llvm.loop !7 @@ -3832,7 +3832,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i, % while.body.i.i.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %while.body.i.i.i.i %__n.addr.04.i.i.i.i = phi ptr [ %4, %while.body.i.i.i.i ], [ %3, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit ] %4 = load ptr, ptr %__n.addr.04.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i.i) #29 %tobool.not.i.i.i.i = icmp eq ptr %4, null br i1 %tobool.not.i.i.i.i, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i, label %while.body.i.i.i.i, !llvm.loop !9 @@ -3849,18 +3849,18 @@ _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_M br i1 %cmp.i.i.i.i.i, label %_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit, label %if.end.i.i.i.i if.end.i.i.i.i: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i - tail call void @_ZdlPv(ptr noundef %7) #28 + tail call void @_ZdlPv(ptr noundef %7) #29 br label %_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit _ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i, %if.end.i.i.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress noreturn nounwind memory(inaccessiblemem: write) uwtable define internal void @_ZN12_GLOBAL__N_115NonMutatingTestD0Ev(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #9 align 2 { entry: - tail call void @llvm.trap() #31 + tail call void @llvm.trap() #32 unreachable } @@ -3906,14 +3906,14 @@ if.then.i.i.i.i.i: ; preds = %if.end.i.i br i1 %cmp2.i.i.i.i.i, label %if.then3.i.i.i.i.i, label %if.end.i.i.i.i.i if.then3.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i - invoke void @_ZSt28__throw_bad_array_new_lengthv() #30 + invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 to label %.noexc.i unwind label %lpad.i .noexc.i: ; preds = %if.then3.i.i.i.i.i unreachable if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i - invoke void @_ZSt17__throw_bad_allocv() #30 + invoke void @_ZSt17__throw_bad_allocv() #31 to label %.noexc4.i unwind label %lpad.i .noexc4.i: ; preds = %if.end.i.i.i.i.i @@ -3921,7 +3921,7 @@ if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i _ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeIiLb0EEEEE19_M_allocate_bucketsEm.exit.i.i: ; preds = %if.end.i.i %mul.i.i.i.i.i = shl nuw nsw i64 %call.i, 3 - %call5.i.i4.i.i5.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #29 + %call5.i.i4.i.i5.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #30 to label %call5.i.i4.i.i.noexc.i unwind label %lpad.i call5.i.i4.i.i.noexc.i: ; preds = %_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeIiLb0EEEEE19_M_allocate_bucketsEm.exit.i.i @@ -3941,7 +3941,7 @@ common.resume: ; preds = %lpad, %lpad.i lpad.i: ; preds = %_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeIiLb0EEEEE19_M_allocate_bucketsEm.exit.i.i, %if.end.i.i.i.i.i, %if.then3.i.i.i.i.i, %entry %1 = landingpad { ptr, i32 } cleanup - tail call void @_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) #27 + tail call void @_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) #28 br label %common.resume _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEEC2EmRKS6_RKS4_RKS0_.exit: ; preds = %invoke.cont.i, %invoke.cont2.i @@ -3964,7 +3964,7 @@ invoke.cont: ; preds = %for.body lpad: ; preds = %for.body %2 = landingpad { ptr, i32 } cleanup - call void @_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) #27 + call void @_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %this) #28 br label %common.resume for.end: ; preds = %invoke.cont, %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEEC2EmRKS6_RKS4_RKS0_.exit @@ -4055,7 +4055,7 @@ if.end25: ; preds = %if.end3.i.i, %lor.l %rem.i.i.i25 = phi i64 [ %rem.i.i.i, %if.end13 ], [ %rem.i.i.i22, %if.end13.thread ], [ %rem.i.i.i22, %lor.lhs.false.i.i ], [ %rem.i.i.i22, %if.end3.i.i ] %conv.i.i23 = phi i64 [ %conv.i.i, %if.end13 ], [ %conv.i.i20, %if.end13.thread ], [ %conv.i.i20, %lor.lhs.false.i.i ], [ %conv.i.i20, %if.end3.i.i ] %12 = phi i32 [ %5, %if.end13 ], [ %1, %if.end13.thread ], [ %1, %lor.lhs.false.i.i ], [ %1, %if.end3.i.i ] - %call5.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr null, ptr %call5.i.i.i.i.i, align 8 %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 8 store i32 %12, ptr %add.ptr.i.i.i, align 4 @@ -4065,7 +4065,7 @@ if.end25: ; preds = %if.end3.i.i, %lor.l _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15: ; preds = %if.end25 %13 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i) #29 resume { ptr, i32 } %13 return: ; preds = %for.cond.i.i, %for.body, %if.end25, %if.end.i.i @@ -4101,9 +4101,9 @@ lpad.i: ; preds = %if.then %6 = landingpad { ptr, i32 } catch ptr null %7 = extractvalue { ptr, i32 } %6, 0 - %8 = tail call ptr @__cxa_begin_catch(ptr %7) #27 + %8 = tail call ptr @__cxa_begin_catch(ptr %7) #28 store i64 %0, ptr %_M_next_resize.i, align 8 - invoke void @__cxa_rethrow() #30 + invoke void @__cxa_rethrow() #31 to label %unreachable.i unwind label %lpad2.i lpad2.i: ; preds = %lpad.i @@ -4119,7 +4119,7 @@ terminate.lpad.i: ; preds = %lpad2.i %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - tail call void @__clang_call_terminate(ptr %11) #31 + tail call void @__clang_call_terminate(ptr %11) #32 unreachable unreachable.i: ; preds = %lpad.i @@ -4182,8 +4182,8 @@ _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_M ; Function Attrs: noreturn nounwind uwtable define linkonce_odr hidden void @__clang_call_terminate(ptr noundef %0) local_unnamed_addr #13 comdat { - %2 = tail call ptr @__cxa_begin_catch(ptr %0) #27 - tail call void @_ZSt9terminatev() #31 + %2 = tail call ptr @__cxa_begin_catch(ptr %0) #28 + tail call void @_ZSt9terminatev() #32 unreachable } @@ -4217,16 +4217,16 @@ if.then.i.i.i.i: ; preds = %if.end.i br i1 %cmp2.i.i.i.i, label %if.then3.i.i.i.i, label %if.end.i.i.i.i if.then3.i.i.i.i: ; preds = %if.then.i.i.i.i - tail call void @_ZSt28__throw_bad_array_new_lengthv() #30 + tail call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable if.end.i.i.i.i: ; preds = %if.then.i.i.i.i - tail call void @_ZSt17__throw_bad_allocv() #30 + tail call void @_ZSt17__throw_bad_allocv() #31 unreachable _ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeIiLb0EEEEE19_M_allocate_bucketsEm.exit.i: ; preds = %if.end.i %mul.i.i.i.i = shl nuw nsw i64 %__bkt_count, 3 - %call5.i.i4.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #29 + %call5.i.i4.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #30 tail call void @llvm.memset.p0.i64(ptr nonnull align 8 %call5.i.i4.i.i, i8 0, i64 %mul.i.i.i.i, i1 false) br label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit @@ -4288,7 +4288,7 @@ while.end: ; preds = %if.end22, %_ZNSt10_ br i1 %cmp.i.i.i, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE21_M_deallocate_bucketsEv.exit, label %if.end.i.i if.end.i.i: ; preds = %while.end - tail call void @_ZdlPv(ptr noundef %8) #28 + tail call void @_ZdlPv(ptr noundef %8) #29 br label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE21_M_deallocate_bucketsEv.exit _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE21_M_deallocate_bucketsEv.exit: ; preds = %while.end, %if.end.i.i @@ -4309,7 +4309,7 @@ entry: while.body.i: ; preds = %entry, %while.body.i %__n.addr.04.i = phi ptr [ %1, %while.body.i ], [ %0, %entry ] %1 = load ptr, ptr %__n.addr.04.i, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i) #29 %tobool.not.i = icmp eq ptr %1, null br i1 %tobool.not.i, label %invoke.cont, label %while.body.i, !llvm.loop !9 @@ -4343,7 +4343,7 @@ entry: while.body.i.i: ; preds = %entry, %while.body.i.i %__n.addr.04.i.i = phi ptr [ %1, %while.body.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__n.addr.04.i.i, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i) #29 %tobool.not.i.i = icmp eq ptr %1, null br i1 %tobool.not.i.i, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit, label %while.body.i.i, !llvm.loop !9 @@ -4360,7 +4360,7 @@ _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_M br i1 %cmp.i.i.i, label %invoke.cont, label %if.end.i.i if.end.i.i: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit - tail call void @_ZdlPv(ptr noundef %4) #28 + tail call void @_ZdlPv(ptr noundef %4) #29 br label %invoke.cont invoke.cont: ; preds = %if.end.i.i, %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit @@ -4385,8 +4385,8 @@ entry: br i1 %cmp.not.i, label %_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i: ; preds = %entry - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #27 - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EED2Ev.exit _ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EED2Ev.exit: ; preds = %entry, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i @@ -4421,11 +4421,11 @@ common.resume: ; preds = %ehcleanup, %lpad.i. lpad.i.i.i: ; preds = %invoke.cont.i.i.i, %entry %1 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 br label %common.resume _ZN7testing8internal33FormatForComparisonFailureMessageImmEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit: ; preds = %invoke.cont.i.i.i - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i), !noalias !14 call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !22 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) @@ -4444,18 +4444,18 @@ invoke.cont.i.i.i8: ; preds = %.noexc lpad.i.i.i7: ; preds = %invoke.cont.i.i.i8, %.noexc %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 br label %ehcleanup invoke.cont: ; preds = %invoke.cont.i.i.i8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !22 invoke void @_ZN7testing8internal9EqFailureEPKcS2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_b(ptr sret(%"class.testing::AssertionResult") align 8 %agg.result, ptr noundef %lhs_expression, ptr noundef %rhs_expression, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1, i1 noundef zeroext false) to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %_ZN7testing8internal33FormatForComparisonFailureMessageImmEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit @@ -4466,12 +4466,12 @@ lpad: ; preds = %_ZN7testing8interna lpad2: ; preds = %invoke.cont %5 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad.i.i.i7, %lpad2 %.pn = phi { ptr, i32 } [ %5, %lpad2 ], [ %4, %lpad ], [ %3, %lpad.i.i.i7 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %common.resume } @@ -4498,14 +4498,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_148NonMutatingTest_Distance_OverloadedBeginEnd_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_148NonMutatingTest_Distance_OverloadedBeginEnd_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -4516,22 +4516,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_148NonMutatingTest_Distance_OverloadedBeginEnd_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_148NonMutatingTest_Distance_OverloadedBeginEnd_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -4544,7 +4544,7 @@ if.then.i.i: %gtest_ar25 = alloca %"class.testing::AssertionResult", align 8 %ref.tmp34 = alloca %"class.testing::Message", align 8 %ref.tmp37 = alloca %"class.testing::internal::AssertHelper", align 8 - %call.i.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + %call.i.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 store i32 1, ptr %call.i.i, align 4 %ref.tmp3.sroa.2.0.call.i.i.sroa_idx = getelementptr inbounds i8, ptr %call.i.i, i64 4 store i32 2, ptr %ref.tmp3.sroa.2.0.call.i.i.sroa_idx, align 4 @@ -4575,7 +4575,7 @@ invoke.cont16: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont19, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont16 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont19 invoke.cont19: ; preds = %cond.true.i.i, %invoke.cont16 @@ -4588,7 +4588,7 @@ invoke.cont21: ; preds = %invoke.cont19 to label %invoke.cont23 unwind label %lpad22 invoke.cont23: ; preds = %invoke.cont21 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 %4 = load ptr, ptr %ref.tmp14, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -4597,7 +4597,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont23, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -4617,7 +4617,7 @@ lpad18: ; preds = %invoke.cont19 lpad22: ; preds = %invoke.cont21 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad22, %lpad18 @@ -4630,7 +4630,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %9, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %10 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -4644,8 +4644,8 @@ if.end: ; preds = %invoke.cont12, %_ZN br i1 %cmp.not.i.i13, label %if.then.i.i17, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %if.then.i.i17 if.then.i.i17: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -4661,7 +4661,7 @@ invoke.cont30: ; preds = %if.then.i.i17 ehcleanup24: ; preds = %_ZN7testing7MessageD2Ev.exit12, %lpad15 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %6, %lpad15 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup48 if.else33: ; preds = %invoke.cont30 @@ -4675,7 +4675,7 @@ invoke.cont36: ; preds = %if.else33 br i1 %cmp.i.i.not.i.i23, label %invoke.cont39, label %cond.true.i.i24 cond.true.i.i24: ; preds = %invoke.cont36 - %call4.i.i25 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 + %call4.i.i25 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 br label %invoke.cont39 invoke.cont39: ; preds = %cond.true.i.i24, %invoke.cont36 @@ -4688,7 +4688,7 @@ invoke.cont41: ; preds = %invoke.cont39 to label %invoke.cont43 unwind label %lpad42 invoke.cont43: ; preds = %invoke.cont41 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 %15 = load ptr, ptr %ref.tmp34, align 8 %cmp.not.i.i28 = icmp eq ptr %15, null br i1 %cmp.not.i.i28, label %_ZN7testing7MessageD2Ev.exit32, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i29 @@ -4697,7 +4697,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i30 = load ptr, ptr %15, align 8 %vfn.i.i.i31 = getelementptr inbounds ptr, ptr %vtable.i.i.i30, i64 1 %16 = load ptr, ptr %vfn.i.i.i31, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %_ZN7testing7MessageD2Ev.exit32 _ZN7testing7MessageD2Ev.exit32: ; preds = %invoke.cont43, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i29 @@ -4717,7 +4717,7 @@ lpad38: ; preds = %invoke.cont39 lpad42: ; preds = %invoke.cont41 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 br label %ehcleanup45 ehcleanup45: ; preds = %lpad42, %lpad38 @@ -4730,7 +4730,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i35 = load ptr, ptr %20, align 8 %vfn.i.i.i36 = getelementptr inbounds ptr, ptr %vtable.i.i.i35, i64 1 %21 = load ptr, ptr %vfn.i.i.i36, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit37 _ZN7testing7MessageD2Ev.exit37: ; preds = %ehcleanup45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 @@ -4744,23 +4744,23 @@ if.end46: ; preds = %invoke.cont30, %_ZN br i1 %cmp.not.i.i39, label %_ZN7testing15AssertionResultD2Ev.exit41, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40: ; preds = %if.end46 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #27 - call void @_ZdlPv(ptr noundef nonnull %22) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #28 + call void @_ZdlPv(ptr noundef nonnull %22) #29 br label %_ZN7testing15AssertionResultD2Ev.exit41 _ZN7testing15AssertionResultD2Ev.exit41: ; preds = %if.end46, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 store ptr null, ptr %message_.i38, align 8 - call void @_ZdlPv(ptr noundef nonnull %call.i.i) #27 + call void @_ZdlPv(ptr noundef nonnull %call.i.i) #28 ret void ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit37, %lpad35 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit37 ], [ %17, %lpad35 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar25) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar25) #28 br label %ehcleanup48 ehcleanup48: ; preds = %ehcleanup47, %ehcleanup24, %lpad %.pn3.pn.pn = phi { ptr, i32 } [ %.pn3.pn, %ehcleanup47 ], [ %2, %lpad ], [ %.pn.pn, %ehcleanup24 ] - call void @_ZdlPv(ptr noundef nonnull %call.i.i) #27 + call void @_ZdlPv(ptr noundef nonnull %call.i.i) #28 resume { ptr, i32 } %.pn3.pn.pn } @@ -4789,11 +4789,11 @@ common.resume: ; preds = %ehcleanup, %lpad.i. lpad.i.i.i: ; preds = %invoke.cont.i.i.i, %entry %1 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 br label %common.resume _ZN7testing8internal33FormatForComparisonFailureMessageIilEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit: ; preds = %invoke.cont.i.i.i - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i), !noalias !30 call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !38 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) @@ -4812,18 +4812,18 @@ invoke.cont.i.i.i8: ; preds = %.noexc lpad.i.i.i7: ; preds = %invoke.cont.i.i.i8, %.noexc %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 br label %ehcleanup invoke.cont: ; preds = %invoke.cont.i.i.i8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !38 invoke void @_ZN7testing8internal9EqFailureEPKcS2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_b(ptr sret(%"class.testing::AssertionResult") align 8 %agg.result, ptr noundef %lhs_expression, ptr noundef %rhs_expression, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1, i1 noundef zeroext false) to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %_ZN7testing8internal33FormatForComparisonFailureMessageIilEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit @@ -4834,12 +4834,12 @@ lpad: ; preds = %_ZN7testing8interna lpad2: ; preds = %invoke.cont %5 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad.i.i.i7, %lpad2 %.pn = phi { ptr, i32 } [ %5, %lpad2 ], [ %4, %lpad ], [ %3, %lpad.i.i.i7 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %common.resume } @@ -4856,14 +4856,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128NonMutatingTest_ForEach_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128NonMutatingTest_ForEach_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -4874,22 +4874,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128NonMutatingTest_ForEach_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128NonMutatingTest_ForEach_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -4936,7 +4936,7 @@ if.else.i.i.i.i: ; preds = %for.body.i.i br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc.i unwind label %lpad.loopexit.split-lp.i, !noalias !46 .noexc.i: ; preds = %if.then.i.i.i.i.i.i @@ -4955,37 +4955,38 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i3.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i3.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.i, !noalias !46 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i.i3.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store i32 %2, ptr %add.ptr.i.i.i.i.i, align 4, !noalias !52 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i, ptr align 4 %agg.tmp6.sroa.0.0.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false), !noalias !52 - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i %tobool.not.i.i.i.i.i.i = icmp eq ptr %agg.tmp6.sroa.0.0.i, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %agg.tmp6.sroa.0.0.i) #28, !noalias !52 +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %agg.tmp6.sroa.0.0.i) #29, !noalias !52 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i %add.ptr19.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i br label %_ZN12_GLOBAL__N_115AccumulateCallsclEi.exit.i.i _ZN12_GLOBAL__N_115AccumulateCallsclEi.exit.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i %agg.tmp6.sroa.0.1.i = phi ptr [ %cond.i10.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i ], [ %agg.tmp6.sroa.0.0.i, %if.then.i.i.i.i ] - %add.ptr.i.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i ], [ %1, %if.then.i.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i ], [ %1, %if.then.i.i.i.i ] %agg.tmp6.sroa.13.1.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i ], [ %agg.tmp6.sroa.13.0.i, %if.then.i.i.i.i ] - %agg.tmp6.sroa.7.1.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.pn.i, i64 1 + %agg.tmp6.sroa.7.1.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.pn.i, i64 1 %3 = load ptr, ptr %__first.sroa.0.04.i.i, align 8, !noalias !52 %cmp.i.not.i.i = icmp eq ptr %3, null br i1 %cmp.i.not.i.i, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit, label %for.body.i.i, !llvm.loop !53 @@ -5006,7 +5007,7 @@ lpad.i: ; preds = %lpad.loopexit.split br i1 %tobool.not.i.i.i.i4.i, label %eh.resume, label %if.then.i.i.i.i5.i if.then.i.i.i.i5.i: ; preds = %lpad.i - tail call void @_ZdlPv(ptr noundef nonnull %agg.tmp6.sroa.0.0.i) #28, !noalias !46 + tail call void @_ZdlPv(ptr noundef nonnull %agg.tmp6.sroa.0.0.i) #29, !noalias !46 br label %eh.resume _ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsclEi.exit.i.i, %entry @@ -5076,7 +5077,7 @@ invoke.cont15: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont18, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont15 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %12) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %12) #28 br label %invoke.cont18 invoke.cont18: ; preds = %cond.true.i.i, %invoke.cont15 @@ -5089,7 +5090,7 @@ invoke.cont20: ; preds = %invoke.cont18 to label %invoke.cont22 unwind label %lpad21 invoke.cont22: ; preds = %invoke.cont20 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 %13 = load ptr, ptr %ref.tmp13, align 8 %cmp.not.i.i = icmp eq ptr %13, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -5098,7 +5099,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %13, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %14 = load ptr, ptr %vfn.i.i.i, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont22, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -5118,7 +5119,7 @@ lpad17: ; preds = %invoke.cont18 lpad21: ; preds = %invoke.cont20 %17 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 br label %ehcleanup ehcleanup: ; preds = %lpad21, %lpad17 @@ -5131,7 +5132,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i20 = load ptr, ptr %18, align 8 %vfn.i.i.i21 = getelementptr inbounds ptr, ptr %vtable.i.i.i20, i64 1 %19 = load ptr, ptr %vfn.i.i.i21, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit22 _ZN7testing7MessageD2Ev.exit22: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19 @@ -5145,8 +5146,8 @@ if.end: ; preds = %invoke.cont11, %_ZN br i1 %cmp.not.i.i23, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #27 - call void @_ZdlPv(ptr noundef nonnull %20) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #28 + call void @_ZdlPv(ptr noundef nonnull %20) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -5178,10 +5179,10 @@ invoke.cont26: ; preds = %_ZN7testing15Assert call void @llvm.experimental.noalias.scope.decl(metadata !59) call void @llvm.experimental.noalias.scope.decl(metadata !62) %cmp.i.not3.i.i27 = icmp eq ptr %ref.tmp24.val, null - br i1 %cmp.i.not3.i.i27, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86.thread, label %for.body.i.i28 + br i1 %cmp.i.not3.i.i27, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87.thread, label %for.body.i.i28 -_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86.thread: ; preds = %invoke.cont26 - %_M_finish.i.i.i.i.i.i.i43172 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %c2, i64 0, i32 1 +_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87.thread: ; preds = %invoke.cont26 + %_M_finish.i.i.i.i.i.i.i43173 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %c2, i64 0, i32 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %c2, i8 0, i64 24, i1 false) br label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i @@ -5204,13 +5205,13 @@ if.else.i.i.i.i45: ; preds = %for.body.i.i28 %sub.ptr.rhs.cast.i.i.i.i.i.i.i47 = ptrtoint ptr %agg.tmp6.sroa.0.0.i29 to i64 %sub.ptr.sub.i.i.i.i.i.i.i48 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i46, %sub.ptr.rhs.cast.i.i.i.i.i.i.i47 %cmp.i.i.i.i.i.i49 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i48, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i49, label %if.then.i.i.i.i.i.i79, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i50 + br i1 %cmp.i.i.i.i.i.i49, label %if.then.i.i.i.i.i.i80, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i50 -if.then.i.i.i.i.i.i79: ; preds = %if.else.i.i.i.i45 - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 - to label %.noexc.i82 unwind label %lpad.loopexit.split-lp.i80, !noalias !59 +if.then.i.i.i.i.i.i80: ; preds = %if.else.i.i.i.i45 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 + to label %.noexc.i83 unwind label %lpad.loopexit.split-lp.i81, !noalias !59 -.noexc.i82: ; preds = %if.then.i.i.i.i.i.i79 +.noexc.i83: ; preds = %if.then.i.i.i.i.i.i80 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i50: ; preds = %if.else.i.i.i.i45 @@ -5226,61 +5227,62 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i50: ; preds = %if.else.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i59: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i50 %mul.i.i.i.i.i.i.i.i60 = shl nuw nsw i64 %cond.i.i.i.i.i.i57, 2 - %call5.i.i.i.i.i.i.i3.i61 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i60) #29 + %call5.i.i.i.i.i.i.i3.i61 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i60) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i69 unwind label %lpad.loopexit.i62, !noalias !59 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i69: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i59, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i50 %cond.i10.i.i.i.i.i70 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i50 ], [ %call5.i.i.i.i.i.i.i3.i61, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i59 ] %add.ptr.i.i.i.i.i71 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i70, i64 %sub.ptr.div.i.i.i.i.i.i.i51 store i32 %24, ptr %add.ptr.i.i.i.i.i71, align 4, !noalias !65 - %cmp.i.i.i11.i.i.i.i.i72 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i51, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i72, label %if.then.i.i.i12.i.i.i.i.i78, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i73 + %cmp.i.i.i11.i.i.i.i.i72 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i48, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i72, label %if.then.i.i.i12.i.i.i.i.i79, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i73 -if.then.i.i.i12.i.i.i.i.i78: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i69 +if.then.i.i.i12.i.i.i.i.i79: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i69 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i70, ptr align 4 %agg.tmp6.sroa.0.0.i29, i64 %sub.ptr.sub.i.i.i.i.i.i.i48, i1 false), !noalias !65 - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i73 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i73 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i73: ; preds = %if.then.i.i.i12.i.i.i.i.i78, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i69 - %tobool.not.i.i.i.i.i.i74 = icmp eq ptr %agg.tmp6.sroa.0.0.i29, null - br i1 %tobool.not.i.i.i.i.i.i74, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i76, label %if.then.i21.i.i.i.i.i75 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i73: ; preds = %if.then.i.i.i12.i.i.i.i.i79, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i69 + %add.ptr.i.i.i.i.i.i.i.i74 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i70, i64 %sub.ptr.sub.i.i.i.i.i.i.i48 + %tobool.not.i.i.i.i.i.i75 = icmp eq ptr %agg.tmp6.sroa.0.0.i29, null + br i1 %tobool.not.i.i.i.i.i.i75, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i77, label %if.then.i20.i.i.i.i.i76 -if.then.i21.i.i.i.i.i75: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i73 - call void @_ZdlPv(ptr noundef nonnull %agg.tmp6.sroa.0.0.i29) #28, !noalias !65 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i76 +if.then.i20.i.i.i.i.i76: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i73 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp6.sroa.0.0.i29) #29, !noalias !65 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i77 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i76: ; preds = %if.then.i21.i.i.i.i.i75, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i73 - %add.ptr19.i.i.i.i.i77 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i70, i64 %cond.i.i.i.i.i.i57 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i77: ; preds = %if.then.i20.i.i.i.i.i76, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i73 + %add.ptr19.i.i.i.i.i78 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i70, i64 %cond.i.i.i.i.i.i57 br label %_ZN12_GLOBAL__N_115AccumulateCallsclEi.exit.i.i35 -_ZN12_GLOBAL__N_115AccumulateCallsclEi.exit.i.i35: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i76, %if.then.i.i.i.i34 - %agg.tmp6.sroa.0.1.i36 = phi ptr [ %cond.i10.i.i.i.i.i70, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i76 ], [ %agg.tmp6.sroa.0.0.i29, %if.then.i.i.i.i34 ] - %add.ptr.i.i.i.i.pn.i37 = phi ptr [ %add.ptr.i.i.i.i.i71, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i76 ], [ %23, %if.then.i.i.i.i34 ] - %agg.tmp6.sroa.13.1.i38 = phi ptr [ %add.ptr19.i.i.i.i.i77, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i76 ], [ %agg.tmp6.sroa.13.0.i30, %if.then.i.i.i.i34 ] - %agg.tmp6.sroa.7.1.i39 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.pn.i37, i64 1 +_ZN12_GLOBAL__N_115AccumulateCallsclEi.exit.i.i35: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i77, %if.then.i.i.i.i34 + %agg.tmp6.sroa.0.1.i36 = phi ptr [ %cond.i10.i.i.i.i.i70, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i77 ], [ %agg.tmp6.sroa.0.0.i29, %if.then.i.i.i.i34 ] + %add.ptr.i.i.i.i.i.i.i.pn.i37 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i74, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i77 ], [ %23, %if.then.i.i.i.i34 ] + %agg.tmp6.sroa.13.1.i38 = phi ptr [ %add.ptr19.i.i.i.i.i78, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i77 ], [ %agg.tmp6.sroa.13.0.i30, %if.then.i.i.i.i34 ] + %agg.tmp6.sroa.7.1.i39 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.pn.i37, i64 1 %25 = load ptr, ptr %__first.sroa.0.04.i.i31, align 8, !noalias !65 %cmp.i.not.i.i40 = icmp eq ptr %25, null - br i1 %cmp.i.not.i.i40, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86, label %for.body.i.i28, !llvm.loop !53 + br i1 %cmp.i.not.i.i40, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87, label %for.body.i.i28, !llvm.loop !53 lpad.loopexit.i62: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i59 %lpad.loopexit3.i63 = landingpad { ptr, i32 } cleanup br label %lpad.i64 -lpad.loopexit.split-lp.i80: ; preds = %if.then.i.i.i.i.i.i79 - %lpad.loopexit.split-lp4.i81 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.i81: ; preds = %if.then.i.i.i.i.i.i80 + %lpad.loopexit.split-lp4.i82 = landingpad { ptr, i32 } cleanup br label %lpad.i64 -lpad.i64: ; preds = %lpad.loopexit.split-lp.i80, %lpad.loopexit.i62 - %lpad.phi.i65 = phi { ptr, i32 } [ %lpad.loopexit3.i63, %lpad.loopexit.i62 ], [ %lpad.loopexit.split-lp4.i81, %lpad.loopexit.split-lp.i80 ] +lpad.i64: ; preds = %lpad.loopexit.split-lp.i81, %lpad.loopexit.i62 + %lpad.phi.i65 = phi { ptr, i32 } [ %lpad.loopexit3.i63, %lpad.loopexit.i62 ], [ %lpad.loopexit.split-lp4.i82, %lpad.loopexit.split-lp.i81 ] %tobool.not.i.i.i.i4.i66 = icmp eq ptr %agg.tmp6.sroa.0.0.i29, null - br i1 %tobool.not.i.i.i.i4.i66, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit113, label %if.then.i.i.i.i5.i67 + br i1 %tobool.not.i.i.i.i4.i66, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit114, label %if.then.i.i.i.i5.i67 if.then.i.i.i.i5.i67: ; preds = %lpad.i64 - call void @_ZdlPv(ptr noundef nonnull %agg.tmp6.sroa.0.0.i29) #28, !noalias !59 - br label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit113 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp6.sroa.0.0.i29) #29, !noalias !59 + br label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit114 -_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsclEi.exit.i.i35 +_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsclEi.exit.i.i35 %.pre = load ptr, ptr %_M_before_begin.i.i, align 8 store ptr %agg.tmp6.sroa.0.1.i36, ptr %c2, align 8, !alias.scope !65 %_M_finish.i.i.i.i.i.i.i43 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %c2, i64 0, i32 1 @@ -5290,15 +5292,15 @@ _ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86: ; preds = %_ZN12_GLOBAL__N_115 %tobool.not3.i.i.i.i = icmp eq ptr %.pre, null br i1 %tobool.not3.i.i.i.i, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i, label %while.body.i.i.i.i -while.body.i.i.i.i: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86, %while.body.i.i.i.i - %__n.addr.04.i.i.i.i = phi ptr [ %26, %while.body.i.i.i.i ], [ %.pre, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86 ] +while.body.i.i.i.i: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87, %while.body.i.i.i.i + %__n.addr.04.i.i.i.i = phi ptr [ %26, %while.body.i.i.i.i ], [ %.pre, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87 ] %26 = load ptr, ptr %__n.addr.04.i.i.i.i, align 8 - call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i.i) #28 - %tobool.not.i.i.i.i87 = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i87, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i, label %while.body.i.i.i.i, !llvm.loop !9 + call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i.i) #29 + %tobool.not.i.i.i.i88 = icmp eq ptr %26, null + br i1 %tobool.not.i.i.i.i88, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i, label %while.body.i.i.i.i, !llvm.loop !9 -_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i: ; preds = %while.body.i.i.i.i, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86.thread, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86 - %_M_finish.i.i.i.i.i.i.i43175 = phi ptr [ %_M_finish.i.i.i.i.i.i.i43172, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86.thread ], [ %_M_finish.i.i.i.i.i.i.i43, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit86 ], [ %_M_finish.i.i.i.i.i.i.i43, %while.body.i.i.i.i ] +_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i: ; preds = %while.body.i.i.i.i, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87.thread, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87 + %_M_finish.i.i.i.i.i.i.i43176 = phi ptr [ %_M_finish.i.i.i.i.i.i.i43173, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87.thread ], [ %_M_finish.i.i.i.i.i.i.i43, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit87 ], [ %_M_finish.i.i.i.i.i.i.i43, %while.body.i.i.i.i ] %27 = load ptr, ptr %ref.tmp24, align 8 %28 = load i64, ptr %_M_bucket_count.i.i, align 8 %mul.i.i.i = shl i64 %28, 3 @@ -5309,60 +5311,60 @@ _ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_M br i1 %cmp.i.i.i.i.i, label %_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit, label %if.end.i.i.i.i if.end.i.i.i.i: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i - call void @_ZdlPv(ptr noundef %29) #28 + call void @_ZdlPv(ptr noundef %29) #29 br label %_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit _ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i, %if.end.i.i.i.i %30 = load ptr, ptr %c2, align 8 - %31 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i43175, align 8 + %31 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i43176, align 8 invoke void @_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_T0_(ptr %30, ptr %31) to label %invoke.cont43 unwind label %lpad42 invoke.cont43: ; preds = %_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit %32 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !66 %33 = load ptr, ptr %vector_, align 8, !noalias !66 - %sub.ptr.lhs.cast.i.i.i.i92 = ptrtoint ptr %32 to i64 - %sub.ptr.rhs.cast.i.i.i.i93 = ptrtoint ptr %33 to i64 - %sub.ptr.sub.i.i.i.i94 = sub i64 %sub.ptr.lhs.cast.i.i.i.i92, %sub.ptr.rhs.cast.i.i.i.i93 - %sub.ptr.lhs.cast.i5.i.i.i96 = ptrtoint ptr %31 to i64 - %sub.ptr.rhs.cast.i6.i.i.i97 = ptrtoint ptr %30 to i64 - %sub.ptr.sub.i7.i.i.i98 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i96, %sub.ptr.rhs.cast.i6.i.i.i97 - %cmp.i.i.i99 = icmp eq i64 %sub.ptr.sub.i.i.i.i94, %sub.ptr.sub.i7.i.i.i98 - br i1 %cmp.i.i.i99, label %land.rhs.i.i.i101, label %if.end.i.i100 - -land.rhs.i.i.i101: ; preds = %invoke.cont43 - %tobool.not.i.i.i.i.i.i.i102 = icmp eq ptr %32, %33 - br i1 %tobool.not.i.i.i.i.i.i.i102, label %if.then.i.i106, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i103 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i103: ; preds = %land.rhs.i.i.i101 - %bcmp.i.i.i.i.i.i.i104 = call i32 @bcmp(ptr %33, ptr %30, i64 %sub.ptr.sub.i.i.i.i94), !noalias !66 - %tobool1.not.i.i.i.i.i.i.i105 = icmp eq i32 %bcmp.i.i.i.i.i.i.i104, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i105, label %if.then.i.i106, label %if.end.i.i100 - -if.then.i.i106: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i103, %land.rhs.i.i.i101 + %sub.ptr.lhs.cast.i.i.i.i93 = ptrtoint ptr %32 to i64 + %sub.ptr.rhs.cast.i.i.i.i94 = ptrtoint ptr %33 to i64 + %sub.ptr.sub.i.i.i.i95 = sub i64 %sub.ptr.lhs.cast.i.i.i.i93, %sub.ptr.rhs.cast.i.i.i.i94 + %sub.ptr.lhs.cast.i5.i.i.i97 = ptrtoint ptr %31 to i64 + %sub.ptr.rhs.cast.i6.i.i.i98 = ptrtoint ptr %30 to i64 + %sub.ptr.sub.i7.i.i.i99 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i97, %sub.ptr.rhs.cast.i6.i.i.i98 + %cmp.i.i.i100 = icmp eq i64 %sub.ptr.sub.i.i.i.i95, %sub.ptr.sub.i7.i.i.i99 + br i1 %cmp.i.i.i100, label %land.rhs.i.i.i102, label %if.end.i.i101 + +land.rhs.i.i.i102: ; preds = %invoke.cont43 + %tobool.not.i.i.i.i.i.i.i103 = icmp eq ptr %32, %33 + br i1 %tobool.not.i.i.i.i.i.i.i103, label %if.then.i.i107, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i104 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i104: ; preds = %land.rhs.i.i.i102 + %bcmp.i.i.i.i.i.i.i105 = call i32 @bcmp(ptr %33, ptr %30, i64 %sub.ptr.sub.i.i.i.i95), !noalias !66 + %tobool1.not.i.i.i.i.i.i.i106 = icmp eq i32 %bcmp.i.i.i.i.i.i.i105, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i106, label %if.then.i.i107, label %if.end.i.i101 + +if.then.i.i107: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i104, %land.rhs.i.i.i102 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar44) to label %invoke.cont47 unwind label %lpad42 -if.end.i.i100: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i103, %invoke.cont43 +if.end.i.i101: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i104, %invoke.cont43 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar44, ptr noundef nonnull @.str.259, ptr noundef nonnull @.str.261, ptr noundef nonnull align 8 dereferenceable(24) %vector_, ptr noundef nonnull align 8 dereferenceable(24) %c2) to label %invoke.cont47 unwind label %lpad42 -invoke.cont47: ; preds = %if.then.i.i106, %if.end.i.i100 +invoke.cont47: ; preds = %if.then.i.i107, %if.end.i.i101 %34 = load i8, ptr %gtest_ar44, align 8 %35 = and i8 %34, 1 - %tobool.i110.not = icmp eq i8 %35, 0 - br i1 %tobool.i110.not, label %if.else50, label %if.end63 + %tobool.i111.not = icmp eq i8 %35, 0 + br i1 %tobool.i111.not, label %if.else50, label %if.end63 ehcleanup23: ; preds = %_ZN7testing7MessageD2Ev.exit22, %lpad14 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit22 ], [ %15, %lpad14 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup66 -_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit113: ; preds = %if.then.i.i.i.i5.i67, %lpad.i64 - call void @_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %ref.tmp24) #27 +_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit114: ; preds = %if.then.i.i.i.i5.i67, %lpad.i64 + call void @_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %ref.tmp24) #28 br label %ehcleanup66 -lpad42: ; preds = %if.end.i.i100, %if.then.i.i106, %_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit +lpad42: ; preds = %if.end.i.i101, %if.then.i.i107, %_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev.exit %36 = landingpad { ptr, i32 } cleanup br label %ehcleanup65 @@ -5372,18 +5374,18 @@ if.else50: ; preds = %invoke.cont47 to label %invoke.cont53 unwind label %lpad52 invoke.cont53: ; preds = %if.else50 - %message_.i.i114 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar44, i64 0, i32 1 - %37 = load ptr, ptr %message_.i.i114, align 8 - %cmp.i.i.not.i.i115 = icmp eq ptr %37, null - br i1 %cmp.i.i.not.i.i115, label %invoke.cont56, label %cond.true.i.i116 + %message_.i.i115 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar44, i64 0, i32 1 + %37 = load ptr, ptr %message_.i.i115, align 8 + %cmp.i.i.not.i.i116 = icmp eq ptr %37, null + br i1 %cmp.i.i.not.i.i116, label %invoke.cont56, label %cond.true.i.i117 -cond.true.i.i116: ; preds = %invoke.cont53 - %call4.i.i117 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %37) #27 +cond.true.i.i117: ; preds = %invoke.cont53 + %call4.i.i118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %37) #28 br label %invoke.cont56 -invoke.cont56: ; preds = %cond.true.i.i116, %invoke.cont53 - %cond.i.i118 = phi ptr [ %call4.i.i117, %cond.true.i.i116 ], [ @.str.255, %invoke.cont53 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 104, ptr noundef %cond.i.i118) +invoke.cont56: ; preds = %cond.true.i.i117, %invoke.cont53 + %cond.i.i119 = phi ptr [ %call4.i.i118, %cond.true.i.i117 ], [ @.str.255, %invoke.cont53 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 104, ptr noundef %cond.i.i119) to label %invoke.cont58 unwind label %lpad55 invoke.cont58: ; preds = %invoke.cont56 @@ -5391,19 +5393,19 @@ invoke.cont58: ; preds = %invoke.cont56 to label %invoke.cont60 unwind label %lpad59 invoke.cont60: ; preds = %invoke.cont58 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54) #28 %38 = load ptr, ptr %ref.tmp51, align 8 - %cmp.not.i.i120 = icmp eq ptr %38, null - br i1 %cmp.not.i.i120, label %_ZN7testing7MessageD2Ev.exit124, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121 + %cmp.not.i.i121 = icmp eq ptr %38, null + br i1 %cmp.not.i.i121, label %_ZN7testing7MessageD2Ev.exit125, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121: ; preds = %invoke.cont60 - %vtable.i.i.i122 = load ptr, ptr %38, align 8 - %vfn.i.i.i123 = getelementptr inbounds ptr, ptr %vtable.i.i.i122, i64 1 - %39 = load ptr, ptr %vfn.i.i.i123, align 8 - call void %39(ptr noundef nonnull align 8 dereferenceable(128) %38) #27 - br label %_ZN7testing7MessageD2Ev.exit124 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122: ; preds = %invoke.cont60 + %vtable.i.i.i123 = load ptr, ptr %38, align 8 + %vfn.i.i.i124 = getelementptr inbounds ptr, ptr %vtable.i.i.i123, i64 1 + %39 = load ptr, ptr %vfn.i.i.i124, align 8 + call void %39(ptr noundef nonnull align 8 dereferenceable(128) %38) #28 + br label %_ZN7testing7MessageD2Ev.exit125 -_ZN7testing7MessageD2Ev.exit124: ; preds = %invoke.cont60, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121 +_ZN7testing7MessageD2Ev.exit125: ; preds = %invoke.cont60, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 store ptr null, ptr %ref.tmp51, align 8 br label %if.end63 @@ -5420,86 +5422,86 @@ lpad55: ; preds = %invoke.cont56 lpad59: ; preds = %invoke.cont58 %42 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54) #28 br label %ehcleanup62 ehcleanup62: ; preds = %lpad59, %lpad55 %.pn3 = phi { ptr, i32 } [ %42, %lpad59 ], [ %41, %lpad55 ] %43 = load ptr, ptr %ref.tmp51, align 8 - %cmp.not.i.i125 = icmp eq ptr %43, null - br i1 %cmp.not.i.i125, label %_ZN7testing7MessageD2Ev.exit129, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126 + %cmp.not.i.i126 = icmp eq ptr %43, null + br i1 %cmp.not.i.i126, label %_ZN7testing7MessageD2Ev.exit130, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126: ; preds = %ehcleanup62 - %vtable.i.i.i127 = load ptr, ptr %43, align 8 - %vfn.i.i.i128 = getelementptr inbounds ptr, ptr %vtable.i.i.i127, i64 1 - %44 = load ptr, ptr %vfn.i.i.i128, align 8 - call void %44(ptr noundef nonnull align 8 dereferenceable(128) %43) #27 - br label %_ZN7testing7MessageD2Ev.exit129 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127: ; preds = %ehcleanup62 + %vtable.i.i.i128 = load ptr, ptr %43, align 8 + %vfn.i.i.i129 = getelementptr inbounds ptr, ptr %vtable.i.i.i128, i64 1 + %44 = load ptr, ptr %vfn.i.i.i129, align 8 + call void %44(ptr noundef nonnull align 8 dereferenceable(128) %43) #28 + br label %_ZN7testing7MessageD2Ev.exit130 -_ZN7testing7MessageD2Ev.exit129: ; preds = %ehcleanup62, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126 +_ZN7testing7MessageD2Ev.exit130: ; preds = %ehcleanup62, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127 store ptr null, ptr %ref.tmp51, align 8 br label %ehcleanup64 -if.end63: ; preds = %invoke.cont47, %_ZN7testing7MessageD2Ev.exit124 - %message_.i130 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar44, i64 0, i32 1 - %45 = load ptr, ptr %message_.i130, align 8 - %cmp.not.i.i131 = icmp eq ptr %45, null - br i1 %cmp.not.i.i131, label %_ZN7testing15AssertionResultD2Ev.exit133, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i132 +if.end63: ; preds = %invoke.cont47, %_ZN7testing7MessageD2Ev.exit125 + %message_.i131 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar44, i64 0, i32 1 + %45 = load ptr, ptr %message_.i131, align 8 + %cmp.not.i.i132 = icmp eq ptr %45, null + br i1 %cmp.not.i.i132, label %_ZN7testing15AssertionResultD2Ev.exit134, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i132: ; preds = %if.end63 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #27 - call void @_ZdlPv(ptr noundef nonnull %45) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit133 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133: ; preds = %if.end63 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #28 + call void @_ZdlPv(ptr noundef nonnull %45) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit134 -_ZN7testing15AssertionResultD2Ev.exit133: ; preds = %if.end63, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i132 - store ptr null, ptr %message_.i130, align 8 +_ZN7testing15AssertionResultD2Ev.exit134: ; preds = %if.end63, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133 + store ptr null, ptr %message_.i131, align 8 %c2.val = load ptr, ptr %c2, align 8 - %tobool.not.i.i.i.i134 = icmp eq ptr %c2.val, null - br i1 %tobool.not.i.i.i.i134, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit136, label %if.then.i.i.i.i135 + %tobool.not.i.i.i.i135 = icmp eq ptr %c2.val, null + br i1 %tobool.not.i.i.i.i135, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit137, label %if.then.i.i.i.i136 -if.then.i.i.i.i135: ; preds = %_ZN7testing15AssertionResultD2Ev.exit133 - call void @_ZdlPv(ptr noundef nonnull %c2.val) #28 - br label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit136 +if.then.i.i.i.i136: ; preds = %_ZN7testing15AssertionResultD2Ev.exit134 + call void @_ZdlPv(ptr noundef nonnull %c2.val) #29 + br label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit137 -_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit136: ; preds = %_ZN7testing15AssertionResultD2Ev.exit133, %if.then.i.i.i.i135 +_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit137: ; preds = %_ZN7testing15AssertionResultD2Ev.exit134, %if.then.i.i.i.i136 %c.val = load ptr, ptr %c, align 8 - %tobool.not.i.i.i.i137 = icmp eq ptr %c.val, null - br i1 %tobool.not.i.i.i.i137, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit139, label %if.then.i.i.i.i138 + %tobool.not.i.i.i.i138 = icmp eq ptr %c.val, null + br i1 %tobool.not.i.i.i.i138, label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit140, label %if.then.i.i.i.i139 -if.then.i.i.i.i138: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit136 - call void @_ZdlPv(ptr noundef nonnull %c.val) #28 - br label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit139 +if.then.i.i.i.i139: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit137 + call void @_ZdlPv(ptr noundef nonnull %c.val) #29 + br label %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit140 -_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit139: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit136, %if.then.i.i.i.i138 +_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit140: ; preds = %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit137, %if.then.i.i.i.i139 ret void -ehcleanup64: ; preds = %_ZN7testing7MessageD2Ev.exit129, %lpad52 - %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit129 ], [ %40, %lpad52 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar44) #27 +ehcleanup64: ; preds = %_ZN7testing7MessageD2Ev.exit130, %lpad52 + %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit130 ], [ %40, %lpad52 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar44) #28 br label %ehcleanup65 ehcleanup65: ; preds = %ehcleanup64, %lpad42 %.pn3.pn.pn = phi { ptr, i32 } [ %.pn3.pn, %ehcleanup64 ], [ %36, %lpad42 ] %c2.val11 = load ptr, ptr %c2, align 8 - %tobool.not.i.i.i.i140 = icmp eq ptr %c2.val11, null - br i1 %tobool.not.i.i.i.i140, label %ehcleanup66, label %if.then.i.i.i.i141 + %tobool.not.i.i.i.i141 = icmp eq ptr %c2.val11, null + br i1 %tobool.not.i.i.i.i141, label %ehcleanup66, label %if.then.i.i.i.i142 -if.then.i.i.i.i141: ; preds = %ehcleanup65 - call void @_ZdlPv(ptr noundef nonnull %c2.val11) #28 +if.then.i.i.i.i142: ; preds = %ehcleanup65 + call void @_ZdlPv(ptr noundef nonnull %c2.val11) #29 br label %ehcleanup66 -ehcleanup66: ; preds = %if.then.i.i.i.i141, %ehcleanup65, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit113, %ehcleanup23, %lpad8 - %.pn3.pn.pn.pn = phi { ptr, i32 } [ %lpad.phi.i65, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit113 ], [ %11, %lpad8 ], [ %.pn.pn, %ehcleanup23 ], [ %.pn3.pn.pn, %ehcleanup65 ], [ %.pn3.pn.pn, %if.then.i.i.i.i141 ] +ehcleanup66: ; preds = %if.then.i.i.i.i142, %ehcleanup65, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit114, %ehcleanup23, %lpad8 + %.pn3.pn.pn.pn = phi { ptr, i32 } [ %lpad.phi.i65, %_ZN12_GLOBAL__N_115AccumulateCallsD2Ev.exit114 ], [ %11, %lpad8 ], [ %.pn.pn, %ehcleanup23 ], [ %.pn3.pn.pn, %ehcleanup65 ], [ %.pn3.pn.pn, %if.then.i.i.i.i142 ] %c.val12 = load ptr, ptr %c, align 8 - %tobool.not.i.i.i.i143 = icmp eq ptr %c.val12, null - br i1 %tobool.not.i.i.i.i143, label %eh.resume, label %if.then.i.i.i.i144 + %tobool.not.i.i.i.i144 = icmp eq ptr %c.val12, null + br i1 %tobool.not.i.i.i.i144, label %eh.resume, label %if.then.i.i.i.i145 -if.then.i.i.i.i144: ; preds = %ehcleanup66 - call void @_ZdlPv(ptr noundef nonnull %c.val12) #28 +if.then.i.i.i.i145: ; preds = %ehcleanup66 + call void @_ZdlPv(ptr noundef nonnull %c.val12) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i.i144, %ehcleanup66, %lpad.i, %if.then.i.i.i.i5.i - %.pn3.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.phi.i, %if.then.i.i.i.i5.i ], [ %lpad.phi.i, %lpad.i ], [ %.pn3.pn.pn.pn, %ehcleanup66 ], [ %.pn3.pn.pn.pn, %if.then.i.i.i.i144 ] +eh.resume: ; preds = %if.then.i.i.i.i145, %ehcleanup66, %lpad.i, %if.then.i.i.i.i5.i + %.pn3.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.phi.i, %if.then.i.i.i.i5.i ], [ %lpad.phi.i, %lpad.i ], [ %.pn3.pn.pn.pn, %ehcleanup66 ], [ %.pn3.pn.pn.pn, %if.then.i.i.i.i145 ] resume { ptr, i32 } %.pn3.pn.pn.pn.pn } @@ -5610,7 +5612,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T %sub.ptr.div.i.i.i.i.i.i34.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i33.i, 2 %.pre.i.i.i.i.i.i35.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i34.i %add.ptr.i.i.i.i.i.i36.i = getelementptr inbounds i32, ptr %add.ptr.i3.i31.i, i64 %.pre.i.i.i.i.i.i35.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i36.i, ptr nonnull align 4 %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i33.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i36.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i33.i, i1 false) br label %for.inc.i21.i if.else.i19.i: ; preds = %for.body.i15.i @@ -6202,11 +6204,11 @@ common.resume: ; preds = %ehcleanup, %lpad.i. lpad.i.i.i: ; preds = %invoke.cont.i.i.i, %entry %0 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 br label %common.resume _ZN7testing8internal33FormatForComparisonFailureMessageISt6vectorIiSaIiEES4_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit: ; preds = %invoke.cont.i.i.i - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i), !noalias !84 call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !92 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) @@ -6224,18 +6226,18 @@ invoke.cont.i.i.i7: ; preds = %.noexc lpad.i.i.i6: ; preds = %invoke.cont.i.i.i7, %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 br label %ehcleanup invoke.cont: ; preds = %invoke.cont.i.i.i7 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !92 invoke void @_ZN7testing8internal9EqFailureEPKcS2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_b(ptr sret(%"class.testing::AssertionResult") align 8 %agg.result, ptr noundef %lhs_expression, ptr noundef %rhs_expression, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1, i1 noundef zeroext false) to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %_ZN7testing8internal33FormatForComparisonFailureMessageISt6vectorIiSaIiEES4_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit @@ -6246,12 +6248,12 @@ lpad: ; preds = %_ZN7testing8interna lpad2: ; preds = %invoke.cont %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad.i.i.i6, %lpad2 %.pn = phi { ptr, i32 } [ %3, %lpad2 ], [ %2, %lpad ], [ %1, %lpad.i.i.i6 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %common.resume } @@ -6333,16 +6335,16 @@ if.then.i.i.i.i: ; preds = %if.end.i br i1 %cmp2.i.i.i.i, label %if.then3.i.i.i.i, label %if.end.i.i.i.i if.then3.i.i.i.i: ; preds = %if.then.i.i.i.i - tail call void @_ZSt28__throw_bad_array_new_lengthv() #30 + tail call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable if.end.i.i.i.i: ; preds = %if.then.i.i.i.i - tail call void @_ZSt17__throw_bad_allocv() #30 + tail call void @_ZSt17__throw_bad_allocv() #31 unreachable _ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeIiLb0EEEEE19_M_allocate_bucketsEm.exit.i: ; preds = %if.end.i %mul.i.i.i.i = shl nuw nsw i64 %1, 3 - %call5.i.i4.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #29 + %call5.i.i4.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #30 tail call void @llvm.memset.p0.i64(ptr nonnull align 8 %call5.i.i4.i.i, i8 0, i64 %mul.i.i.i.i, i1 false) br label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit @@ -6359,7 +6361,7 @@ if.end: ; preds = %_ZNSt10_HashtableIi br i1 %tobool3.not, label %try.cont, label %if.end5 if.end5: ; preds = %if.end - %call5.i.i.i.i17 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i17 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont13 unwind label %lpad.loopexit.split-lp invoke.cont13: ; preds = %if.end5 @@ -6383,7 +6385,7 @@ invoke.cont13: ; preds = %if.end5 for.body: ; preds = %invoke.cont13, %if.end32 %__ht_n.028 = phi ptr [ %__ht_n.0, %if.end32 ], [ %__ht_n.025, %invoke.cont13 ] %__prev_n.027 = phi ptr [ %call5.i.i.i.i21, %if.end32 ], [ %call5.i.i.i.i17, %invoke.cont13 ] - %call5.i.i.i.i21 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i21 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont19 unwind label %lpad.loopexit invoke.cont19: ; preds = %for.body @@ -6420,8 +6422,8 @@ lpad.loopexit.split-lp: ; preds = %if.end5 lpad: ; preds = %lpad.loopexit.split-lp, %lpad.loopexit %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit23, %lpad.loopexit ], [ %lpad.loopexit.split-lp24, %lpad.loopexit.split-lp ] %11 = extractvalue { ptr, i32 } %lpad.phi, 0 - %12 = tail call ptr @__cxa_begin_catch(ptr %11) #27 - tail call void @_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv(ptr noundef nonnull align 8 dereferenceable(56) %this) #27 + %12 = tail call ptr @__cxa_begin_catch(ptr %11) #28 + tail call void @_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv(ptr noundef nonnull align 8 dereferenceable(56) %this) #28 br i1 %tobool.not.not, label %if.then35, label %if.end38 if.then35: ; preds = %lpad @@ -6431,7 +6433,7 @@ if.then35: ; preds = %lpad br i1 %cmp.i.i.i, label %if.end38, label %if.end.i.i if.end.i.i: ; preds = %if.then35 - tail call void @_ZdlPv(ptr noundef %13) #28 + tail call void @_ZdlPv(ptr noundef %13) #29 br label %if.end38 if.end32: ; preds = %if.then29, %invoke.cont19 @@ -6446,7 +6448,7 @@ lpad36: ; preds = %if.end38 to label %eh.resume unwind label %terminate.lpad if.end38: ; preds = %if.end.i.i, %if.then35, %lpad - invoke void @__cxa_rethrow() #30 + invoke void @__cxa_rethrow() #31 to label %unreachable unwind label %lpad36 try.cont: ; preds = %if.end32, %invoke.cont13, %if.end @@ -6459,7 +6461,7 @@ terminate.lpad: ; preds = %lpad36 %15 = landingpad { ptr, i32 } catch ptr null %16 = extractvalue { ptr, i32 } %15, 0 - tail call void @__clang_call_terminate(ptr %16) #31 + tail call void @__clang_call_terminate(ptr %16) #32 unreachable unreachable: ; preds = %if.end38 @@ -6475,14 +6477,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NonMutatingTest_FindReturnsCorrectType_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NonMutatingTest_FindReturnsCorrectType_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -6493,22 +6495,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_143NonMutatingTest_FindReturnsCorrectType_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_143NonMutatingTest_FindReturnsCorrectType_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -6569,7 +6571,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont9, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #28 br label %invoke.cont9 invoke.cont9: ; preds = %cond.true.i.i, %invoke.cont @@ -6582,7 +6584,7 @@ invoke.cont11: ; preds = %invoke.cont9 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #28 %7 = load ptr, ptr %ref.tmp6, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -6591,7 +6593,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont13, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -6611,7 +6613,7 @@ lpad8: ; preds = %invoke.cont9 lpad12: ; preds = %invoke.cont11 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad8 @@ -6624,7 +6626,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %12, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %13 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -6638,8 +6640,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN4absl6c_findIKNSt7__cxx114listIiSaIiEEEiEEDTcl5beginclsr3stdE7declvalIRT_EEEES7_OT0_.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 - call void @_ZdlPv(ptr noundef nonnull %14) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 + call void @_ZdlPv(ptr noundef nonnull %14) #29 br label %_ZN4absl6c_findIKNSt7__cxx114listIiSaIiEEEiEEDTcl5beginclsr3stdE7declvalIRT_EEEES7_OT0_.exit _ZN4absl6c_findIKNSt7__cxx114listIiSaIiEEEiEEDTcl5beginclsr3stdE7declvalIRT_EEEES7_OT0_.exit: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end @@ -6647,7 +6649,7 @@ _ZN4absl6c_findIKNSt7__cxx114listIiSaIiEEEiEEDTcl5beginclsr3stdE7declvalIRT_EEEE ehcleanup14: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %9, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -6676,11 +6678,11 @@ common.resume: ; preds = %ehcleanup, %lpad.i. lpad.i.i.i: ; preds = %invoke.cont.i.i.i, %entry %1 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 br label %common.resume _ZN7testing8internal33FormatForComparisonFailureMessageIiiEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit: ; preds = %invoke.cont.i.i.i - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i), !noalias !107 call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !115 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) @@ -6699,18 +6701,18 @@ invoke.cont.i.i.i8: ; preds = %.noexc lpad.i.i.i7: ; preds = %invoke.cont.i.i.i8, %.noexc %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 br label %ehcleanup invoke.cont: ; preds = %invoke.cont.i.i.i8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !115 invoke void @_ZN7testing8internal9EqFailureEPKcS2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_b(ptr sret(%"class.testing::AssertionResult") align 8 %agg.result, ptr noundef %lhs_expression, ptr noundef %rhs_expression, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1, i1 noundef zeroext false) to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %_ZN7testing8internal33FormatForComparisonFailureMessageIiiEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit @@ -6721,12 +6723,12 @@ lpad: ; preds = %_ZN7testing8interna lpad2: ; preds = %invoke.cont %5 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad.i.i.i7, %lpad2 %.pn = phi { ptr, i32 } [ %5, %lpad2 ], [ %4, %lpad ], [ %3, %lpad.i.i.i7 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %common.resume } @@ -6739,14 +6741,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127NonMutatingTest_FindIf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127NonMutatingTest_FindIf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -6757,22 +6759,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127NonMutatingTest_FindIf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127NonMutatingTest_FindIf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -6791,14 +6793,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130NonMutatingTest_FindIfNot_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130NonMutatingTest_FindIfNot_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -6809,22 +6811,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130NonMutatingTest_FindIfNot_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130NonMutatingTest_FindIfNot_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -6843,14 +6845,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128NonMutatingTest_FindEnd_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128NonMutatingTest_FindEnd_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -6861,22 +6863,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128NonMutatingTest_FindEnd_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128NonMutatingTest_FindEnd_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -7334,14 +7336,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141NonMutatingTest_FindEndWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141NonMutatingTest_FindEndWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -7352,22 +7354,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141NonMutatingTest_FindEndWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141NonMutatingTest_FindEndWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -7776,14 +7778,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_132NonMutatingTest_FindFirstOf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_132NonMutatingTest_FindFirstOf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -7794,22 +7796,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_132NonMutatingTest_FindFirstOf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_132NonMutatingTest_FindFirstOf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -7888,14 +7890,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_145NonMutatingTest_FindFirstOfWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_145NonMutatingTest_FindFirstOfWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -7906,22 +7908,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_145NonMutatingTest_FindFirstOfWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_145NonMutatingTest_FindFirstOfWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -8000,14 +8002,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133NonMutatingTest_AdjacentFind_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133NonMutatingTest_AdjacentFind_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -8018,22 +8020,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133NonMutatingTest_AdjacentFind_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133NonMutatingTest_AdjacentFind_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -8052,14 +8054,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_146NonMutatingTest_AdjacentFindWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_146NonMutatingTest_AdjacentFindWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -8070,22 +8072,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_146NonMutatingTest_AdjacentFindWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_146NonMutatingTest_AdjacentFindWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -8104,14 +8106,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126NonMutatingTest_Count_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126NonMutatingTest_Count_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -8122,22 +8124,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126NonMutatingTest_Count_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126NonMutatingTest_Count_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -8201,7 +8203,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont8, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont8 invoke.cont8: ; preds = %cond.true.i.i, %invoke.cont @@ -8214,7 +8216,7 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 %6 = load ptr, ptr %ref.tmp5, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8223,7 +8225,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8243,7 +8245,7 @@ lpad7: ; preds = %invoke.cont8 lpad11: ; preds = %invoke.cont10 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad7 @@ -8256,7 +8258,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %11, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %12 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -8270,8 +8272,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8279,7 +8281,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup13: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %8, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -8292,14 +8294,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128NonMutatingTest_CountIf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128NonMutatingTest_CountIf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -8310,22 +8312,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128NonMutatingTest_CountIf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128NonMutatingTest_CountIf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -8394,7 +8396,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont7, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont7 invoke.cont7: ; preds = %cond.true.i.i, %invoke.cont @@ -8407,7 +8409,7 @@ invoke.cont9: ; preds = %invoke.cont7 to label %invoke.cont11 unwind label %lpad10 invoke.cont11: ; preds = %invoke.cont9 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 %6 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8416,7 +8418,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont11, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8436,7 +8438,7 @@ lpad6: ; preds = %invoke.cont7 lpad10: ; preds = %invoke.cont9 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad10, %lpad6 @@ -8449,7 +8451,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i9 = load ptr, ptr %11, align 8 %vfn.i.i.i10 = getelementptr inbounds ptr, ptr %vtable.i.i.i9, i64 1 %12 = load ptr, ptr %vfn.i.i.i10, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit11 _ZN7testing7MessageD2Ev.exit11: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i8 @@ -8463,8 +8465,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i12, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8520,7 +8522,7 @@ invoke.cont23: ; preds = %if.else20 br i1 %cmp.i.i.not.i.i32, label %invoke.cont26, label %cond.true.i.i33 cond.true.i.i33: ; preds = %invoke.cont23 - %call4.i.i34 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #27 + %call4.i.i34 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #28 br label %invoke.cont26 invoke.cont26: ; preds = %cond.true.i.i33, %invoke.cont23 @@ -8533,7 +8535,7 @@ invoke.cont28: ; preds = %invoke.cont26 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont28 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #28 %20 = load ptr, ptr %ref.tmp21, align 8 %cmp.not.i.i37 = icmp eq ptr %20, null br i1 %cmp.not.i.i37, label %_ZN7testing7MessageD2Ev.exit41, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i38 @@ -8542,7 +8544,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i39 = load ptr, ptr %20, align 8 %vfn.i.i.i40 = getelementptr inbounds ptr, ptr %vtable.i.i.i39, i64 1 %21 = load ptr, ptr %vfn.i.i.i40, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit41 _ZN7testing7MessageD2Ev.exit41: ; preds = %invoke.cont30, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i38 @@ -8562,7 +8564,7 @@ lpad25: ; preds = %invoke.cont26 lpad29: ; preds = %invoke.cont28 %24 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #28 br label %ehcleanup32 ehcleanup32: ; preds = %lpad29, %lpad25 @@ -8575,7 +8577,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i44 = load ptr, ptr %25, align 8 %vfn.i.i.i45 = getelementptr inbounds ptr, ptr %vtable.i.i.i44, i64 1 %26 = load ptr, ptr %vfn.i.i.i45, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %_ZN7testing7MessageD2Ev.exit46 _ZN7testing7MessageD2Ev.exit46: ; preds = %ehcleanup32, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i43 @@ -8589,8 +8591,8 @@ if.end33: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i48, label %_ZN7testing15AssertionResultD2Ev.exit50, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %if.end33 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #27 - call void @_ZdlPv(ptr noundef nonnull %27) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #28 + call void @_ZdlPv(ptr noundef nonnull %27) #29 br label %_ZN7testing15AssertionResultD2Ev.exit50 _ZN7testing15AssertionResultD2Ev.exit50: ; preds = %if.end33, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 @@ -8599,7 +8601,7 @@ _ZN7testing15AssertionResultD2Ev.exit50: ; preds = %if.end33, %_ZNKSt14 eh.resume: ; preds = %lpad22, %_ZN7testing7MessageD2Ev.exit46, %lpad, %_ZN7testing7MessageD2Ev.exit11 %gtest_ar14.sink = phi ptr [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit11 ], [ %gtest_ar, %lpad ], [ %gtest_ar14, %_ZN7testing7MessageD2Ev.exit46 ], [ %gtest_ar14, %lpad22 ] %.pn3.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit11 ], [ %8, %lpad ], [ %.pn3, %_ZN7testing7MessageD2Ev.exit46 ], [ %22, %lpad22 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar14.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar14.sink) #28 resume { ptr, i32 } %.pn3.pn.pn } @@ -8612,14 +8614,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129NonMutatingTest_Mismatch_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129NonMutatingTest_Mismatch_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -8630,22 +8632,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129NonMutatingTest_Mismatch_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129NonMutatingTest_Mismatch_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -8769,7 +8771,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont8, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %9) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %9) #28 br label %invoke.cont8 invoke.cont8: ; preds = %cond.true.i.i, %invoke.cont @@ -8782,7 +8784,7 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 %10 = load ptr, ptr %ref.tmp5, align 8 %cmp.not.i.i = icmp eq ptr %10, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8791,7 +8793,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %10, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %11 = load ptr, ptr %vfn.i.i.i, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8811,7 +8813,7 @@ lpad7: ; preds = %invoke.cont8 lpad11: ; preds = %invoke.cont10 %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad7 @@ -8824,7 +8826,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i45 = load ptr, ptr %15, align 8 %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 %16 = load ptr, ptr %vfn.i.i.i46, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %_ZN7testing7MessageD2Ev.exit47 _ZN7testing7MessageD2Ev.exit47: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 @@ -8838,8 +8840,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i48, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8874,7 +8876,7 @@ invoke.cont24: ; preds = %if.else21 br i1 %cmp.i.i.not.i.i54, label %invoke.cont27, label %cond.true.i.i55 cond.true.i.i55: ; preds = %invoke.cont24 - %call4.i.i56 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %21) #27 + %call4.i.i56 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %21) #28 br label %invoke.cont27 invoke.cont27: ; preds = %cond.true.i.i55, %invoke.cont24 @@ -8887,7 +8889,7 @@ invoke.cont29: ; preds = %invoke.cont27 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont29 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 %22 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i59 = icmp eq ptr %22, null br i1 %cmp.not.i.i59, label %_ZN7testing7MessageD2Ev.exit63, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60 @@ -8896,7 +8898,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i61 = load ptr, ptr %22, align 8 %vfn.i.i.i62 = getelementptr inbounds ptr, ptr %vtable.i.i.i61, i64 1 %23 = load ptr, ptr %vfn.i.i.i62, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #27 + call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 br label %_ZN7testing7MessageD2Ev.exit63 _ZN7testing7MessageD2Ev.exit63: ; preds = %invoke.cont31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60 @@ -8916,7 +8918,7 @@ lpad26: ; preds = %invoke.cont27 lpad30: ; preds = %invoke.cont29 %26 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup33 ehcleanup33: ; preds = %lpad30, %lpad26 @@ -8929,7 +8931,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i66 = load ptr, ptr %27, align 8 %vfn.i.i.i67 = getelementptr inbounds ptr, ptr %vtable.i.i.i66, i64 1 %28 = load ptr, ptr %vfn.i.i.i67, align 8 - call void %28(ptr noundef nonnull align 8 dereferenceable(128) %27) #27 + call void %28(ptr noundef nonnull align 8 dereferenceable(128) %27) #28 br label %_ZN7testing7MessageD2Ev.exit68 _ZN7testing7MessageD2Ev.exit68: ; preds = %ehcleanup33, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 @@ -8943,8 +8945,8 @@ if.end34: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i70, label %_ZN7testing15AssertionResultD2Ev.exit72, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %if.end34 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #27 - call void @_ZdlPv(ptr noundef nonnull %29) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #28 + call void @_ZdlPv(ptr noundef nonnull %29) #29 br label %_ZN7testing15AssertionResultD2Ev.exit72 _ZN7testing15AssertionResultD2Ev.exit72: ; preds = %if.end34, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 @@ -9009,7 +9011,7 @@ invoke.cont51: ; preds = %if.else48 br i1 %cmp.i.i.not.i.i97, label %invoke.cont54, label %cond.true.i.i98 cond.true.i.i98: ; preds = %invoke.cont51 - %call4.i.i99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #27 + %call4.i.i99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #28 br label %invoke.cont54 invoke.cont54: ; preds = %cond.true.i.i98, %invoke.cont51 @@ -9022,7 +9024,7 @@ invoke.cont56: ; preds = %invoke.cont54 to label %invoke.cont58 unwind label %lpad57 invoke.cont58: ; preds = %invoke.cont56 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 %40 = load ptr, ptr %ref.tmp49, align 8 %cmp.not.i.i102 = icmp eq ptr %40, null br i1 %cmp.not.i.i102, label %_ZN7testing7MessageD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 @@ -9031,7 +9033,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i104 = load ptr, ptr %40, align 8 %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 %41 = load ptr, ptr %vfn.i.i.i105, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 br label %_ZN7testing7MessageD2Ev.exit106 _ZN7testing7MessageD2Ev.exit106: ; preds = %invoke.cont58, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 @@ -9051,7 +9053,7 @@ lpad53: ; preds = %invoke.cont54 lpad57: ; preds = %invoke.cont56 %44 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 br label %ehcleanup60 ehcleanup60: ; preds = %lpad57, %lpad53 @@ -9064,7 +9066,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i109 = load ptr, ptr %45, align 8 %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 %46 = load ptr, ptr %vfn.i.i.i110, align 8 - call void %46(ptr noundef nonnull align 8 dereferenceable(128) %45) #27 + call void %46(ptr noundef nonnull align 8 dereferenceable(128) %45) #28 br label %_ZN7testing7MessageD2Ev.exit111 _ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup60, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 @@ -9078,8 +9080,8 @@ if.end61: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end61 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #27 - call void @_ZdlPv(ptr noundef nonnull %47) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #28 + call void @_ZdlPv(ptr noundef nonnull %47) #29 br label %_ZN7testing15AssertionResultD2Ev.exit115 _ZN7testing15AssertionResultD2Ev.exit115: ; preds = %if.end61, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 @@ -9115,7 +9117,7 @@ invoke.cont74: ; preds = %if.else71 br i1 %cmp.i.i.not.i.i123, label %invoke.cont77, label %cond.true.i.i124 cond.true.i.i124: ; preds = %invoke.cont74 - %call4.i.i125 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %52) #27 + %call4.i.i125 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %52) #28 br label %invoke.cont77 invoke.cont77: ; preds = %cond.true.i.i124, %invoke.cont74 @@ -9128,7 +9130,7 @@ invoke.cont79: ; preds = %invoke.cont77 to label %invoke.cont81 unwind label %lpad80 invoke.cont81: ; preds = %invoke.cont79 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #28 %53 = load ptr, ptr %ref.tmp72, align 8 %cmp.not.i.i128 = icmp eq ptr %53, null br i1 %cmp.not.i.i128, label %_ZN7testing7MessageD2Ev.exit132, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i129 @@ -9137,7 +9139,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i130 = load ptr, ptr %53, align 8 %vfn.i.i.i131 = getelementptr inbounds ptr, ptr %vtable.i.i.i130, i64 1 %54 = load ptr, ptr %vfn.i.i.i131, align 8 - call void %54(ptr noundef nonnull align 8 dereferenceable(128) %53) #27 + call void %54(ptr noundef nonnull align 8 dereferenceable(128) %53) #28 br label %_ZN7testing7MessageD2Ev.exit132 _ZN7testing7MessageD2Ev.exit132: ; preds = %invoke.cont81, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i129 @@ -9157,7 +9159,7 @@ lpad76: ; preds = %invoke.cont77 lpad80: ; preds = %invoke.cont79 %57 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #28 br label %ehcleanup83 ehcleanup83: ; preds = %lpad80, %lpad76 @@ -9170,7 +9172,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i135 = load ptr, ptr %58, align 8 %vfn.i.i.i136 = getelementptr inbounds ptr, ptr %vtable.i.i.i135, i64 1 %59 = load ptr, ptr %vfn.i.i.i136, align 8 - call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #27 + call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #28 br label %_ZN7testing7MessageD2Ev.exit137 _ZN7testing7MessageD2Ev.exit137: ; preds = %ehcleanup83, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i134 @@ -9184,8 +9186,8 @@ if.end84: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i139, label %_ZN7testing15AssertionResultD2Ev.exit141, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140: ; preds = %if.end84 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #27 - call void @_ZdlPv(ptr noundef nonnull %60) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #28 + call void @_ZdlPv(ptr noundef nonnull %60) #29 br label %_ZN7testing15AssertionResultD2Ev.exit141 _ZN7testing15AssertionResultD2Ev.exit141: ; preds = %if.end84, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 @@ -9255,7 +9257,7 @@ invoke.cont106: ; preds = %if.else103 br i1 %cmp.i.i.not.i.i169, label %invoke.cont109, label %cond.true.i.i170 cond.true.i.i170: ; preds = %invoke.cont106 - %call4.i.i171 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %71) #27 + %call4.i.i171 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %71) #28 br label %invoke.cont109 invoke.cont109: ; preds = %cond.true.i.i170, %invoke.cont106 @@ -9268,7 +9270,7 @@ invoke.cont111: ; preds = %invoke.cont109 to label %invoke.cont113 unwind label %lpad112 invoke.cont113: ; preds = %invoke.cont111 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107) #28 %72 = load ptr, ptr %ref.tmp104, align 8 %cmp.not.i.i174 = icmp eq ptr %72, null br i1 %cmp.not.i.i174, label %_ZN7testing7MessageD2Ev.exit178, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 @@ -9277,7 +9279,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i176 = load ptr, ptr %72, align 8 %vfn.i.i.i177 = getelementptr inbounds ptr, ptr %vtable.i.i.i176, i64 1 %73 = load ptr, ptr %vfn.i.i.i177, align 8 - call void %73(ptr noundef nonnull align 8 dereferenceable(128) %72) #27 + call void %73(ptr noundef nonnull align 8 dereferenceable(128) %72) #28 br label %_ZN7testing7MessageD2Ev.exit178 _ZN7testing7MessageD2Ev.exit178: ; preds = %invoke.cont113, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 @@ -9297,7 +9299,7 @@ lpad108: ; preds = %invoke.cont109 lpad112: ; preds = %invoke.cont111 %76 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107) #28 br label %ehcleanup115 ehcleanup115: ; preds = %lpad112, %lpad108 @@ -9310,7 +9312,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i181 = load ptr, ptr %77, align 8 %vfn.i.i.i182 = getelementptr inbounds ptr, ptr %vtable.i.i.i181, i64 1 %78 = load ptr, ptr %vfn.i.i.i182, align 8 - call void %78(ptr noundef nonnull align 8 dereferenceable(128) %77) #27 + call void %78(ptr noundef nonnull align 8 dereferenceable(128) %77) #28 br label %_ZN7testing7MessageD2Ev.exit183 _ZN7testing7MessageD2Ev.exit183: ; preds = %ehcleanup115, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 @@ -9324,8 +9326,8 @@ if.end116: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i185, label %_ZN7testing15AssertionResultD2Ev.exit187, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186: ; preds = %if.end116 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #27 - call void @_ZdlPv(ptr noundef nonnull %79) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #28 + call void @_ZdlPv(ptr noundef nonnull %79) #29 br label %_ZN7testing15AssertionResultD2Ev.exit187 _ZN7testing15AssertionResultD2Ev.exit187: ; preds = %if.end116, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186 @@ -9362,7 +9364,7 @@ invoke.cont133: ; preds = %if.else130 br i1 %cmp.i.i.not.i.i194, label %invoke.cont136, label %cond.true.i.i195 cond.true.i.i195: ; preds = %invoke.cont133 - %call4.i.i196 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %84) #27 + %call4.i.i196 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %84) #28 br label %invoke.cont136 invoke.cont136: ; preds = %cond.true.i.i195, %invoke.cont133 @@ -9375,7 +9377,7 @@ invoke.cont138: ; preds = %invoke.cont136 to label %invoke.cont140 unwind label %lpad139 invoke.cont140: ; preds = %invoke.cont138 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp134) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp134) #28 %85 = load ptr, ptr %ref.tmp131, align 8 %cmp.not.i.i199 = icmp eq ptr %85, null br i1 %cmp.not.i.i199, label %_ZN7testing7MessageD2Ev.exit203, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i200 @@ -9384,7 +9386,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i201 = load ptr, ptr %85, align 8 %vfn.i.i.i202 = getelementptr inbounds ptr, ptr %vtable.i.i.i201, i64 1 %86 = load ptr, ptr %vfn.i.i.i202, align 8 - call void %86(ptr noundef nonnull align 8 dereferenceable(128) %85) #27 + call void %86(ptr noundef nonnull align 8 dereferenceable(128) %85) #28 br label %_ZN7testing7MessageD2Ev.exit203 _ZN7testing7MessageD2Ev.exit203: ; preds = %invoke.cont140, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i200 @@ -9404,7 +9406,7 @@ lpad135: ; preds = %invoke.cont136 lpad139: ; preds = %invoke.cont138 %89 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp134) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp134) #28 br label %ehcleanup142 ehcleanup142: ; preds = %lpad139, %lpad135 @@ -9417,7 +9419,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i206 = load ptr, ptr %90, align 8 %vfn.i.i.i207 = getelementptr inbounds ptr, ptr %vtable.i.i.i206, i64 1 %91 = load ptr, ptr %vfn.i.i.i207, align 8 - call void %91(ptr noundef nonnull align 8 dereferenceable(128) %90) #27 + call void %91(ptr noundef nonnull align 8 dereferenceable(128) %90) #28 br label %_ZN7testing7MessageD2Ev.exit208 _ZN7testing7MessageD2Ev.exit208: ; preds = %ehcleanup142, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i205 @@ -9431,8 +9433,8 @@ if.end143: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i210, label %_ZN7testing15AssertionResultD2Ev.exit212, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211: ; preds = %if.end143 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #27 - call void @_ZdlPv(ptr noundef nonnull %92) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #28 + call void @_ZdlPv(ptr noundef nonnull %92) #29 br label %_ZN7testing15AssertionResultD2Ev.exit212 _ZN7testing15AssertionResultD2Ev.exit212: ; preds = %if.end143, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211 @@ -9498,7 +9500,7 @@ invoke.cont164: ; preds = %if.else161 br i1 %cmp.i.i.not.i.i244, label %invoke.cont167, label %cond.true.i.i245 cond.true.i.i245: ; preds = %invoke.cont164 - %call4.i.i246 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %103) #27 + %call4.i.i246 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %103) #28 br label %invoke.cont167 invoke.cont167: ; preds = %cond.true.i.i245, %invoke.cont164 @@ -9511,7 +9513,7 @@ invoke.cont169: ; preds = %invoke.cont167 to label %invoke.cont171 unwind label %lpad170 invoke.cont171: ; preds = %invoke.cont169 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #28 %104 = load ptr, ptr %ref.tmp162, align 8 %cmp.not.i.i249 = icmp eq ptr %104, null br i1 %cmp.not.i.i249, label %_ZN7testing7MessageD2Ev.exit253, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 @@ -9520,7 +9522,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i251 = load ptr, ptr %104, align 8 %vfn.i.i.i252 = getelementptr inbounds ptr, ptr %vtable.i.i.i251, i64 1 %105 = load ptr, ptr %vfn.i.i.i252, align 8 - call void %105(ptr noundef nonnull align 8 dereferenceable(128) %104) #27 + call void %105(ptr noundef nonnull align 8 dereferenceable(128) %104) #28 br label %_ZN7testing7MessageD2Ev.exit253 _ZN7testing7MessageD2Ev.exit253: ; preds = %invoke.cont171, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 @@ -9540,7 +9542,7 @@ lpad166: ; preds = %invoke.cont167 lpad170: ; preds = %invoke.cont169 %108 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #28 br label %ehcleanup173 ehcleanup173: ; preds = %lpad170, %lpad166 @@ -9553,7 +9555,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i256 = load ptr, ptr %109, align 8 %vfn.i.i.i257 = getelementptr inbounds ptr, ptr %vtable.i.i.i256, i64 1 %110 = load ptr, ptr %vfn.i.i.i257, align 8 - call void %110(ptr noundef nonnull align 8 dereferenceable(128) %109) #27 + call void %110(ptr noundef nonnull align 8 dereferenceable(128) %109) #28 br label %_ZN7testing7MessageD2Ev.exit258 _ZN7testing7MessageD2Ev.exit258: ; preds = %ehcleanup173, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i255 @@ -9567,8 +9569,8 @@ if.end174: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i260, label %_ZN7testing15AssertionResultD2Ev.exit262, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i261 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i261: ; preds = %if.end174 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #27 - call void @_ZdlPv(ptr noundef nonnull %111) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #28 + call void @_ZdlPv(ptr noundef nonnull %111) #29 br label %_ZN7testing15AssertionResultD2Ev.exit262 _ZN7testing15AssertionResultD2Ev.exit262: ; preds = %if.end174, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i261 @@ -9605,7 +9607,7 @@ invoke.cont191: ; preds = %if.else188 br i1 %cmp.i.i.not.i.i271, label %invoke.cont194, label %cond.true.i.i272 cond.true.i.i272: ; preds = %invoke.cont191 - %call4.i.i273 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %116) #27 + %call4.i.i273 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %116) #28 br label %invoke.cont194 invoke.cont194: ; preds = %cond.true.i.i272, %invoke.cont191 @@ -9618,7 +9620,7 @@ invoke.cont196: ; preds = %invoke.cont194 to label %invoke.cont198 unwind label %lpad197 invoke.cont198: ; preds = %invoke.cont196 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp192) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp192) #28 %117 = load ptr, ptr %ref.tmp189, align 8 %cmp.not.i.i276 = icmp eq ptr %117, null br i1 %cmp.not.i.i276, label %_ZN7testing7MessageD2Ev.exit280, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i277 @@ -9627,7 +9629,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i278 = load ptr, ptr %117, align 8 %vfn.i.i.i279 = getelementptr inbounds ptr, ptr %vtable.i.i.i278, i64 1 %118 = load ptr, ptr %vfn.i.i.i279, align 8 - call void %118(ptr noundef nonnull align 8 dereferenceable(128) %117) #27 + call void %118(ptr noundef nonnull align 8 dereferenceable(128) %117) #28 br label %_ZN7testing7MessageD2Ev.exit280 _ZN7testing7MessageD2Ev.exit280: ; preds = %invoke.cont198, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i277 @@ -9647,7 +9649,7 @@ lpad193: ; preds = %invoke.cont194 lpad197: ; preds = %invoke.cont196 %121 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp192) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp192) #28 br label %ehcleanup200 ehcleanup200: ; preds = %lpad197, %lpad193 @@ -9660,7 +9662,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i283 = load ptr, ptr %122, align 8 %vfn.i.i.i284 = getelementptr inbounds ptr, ptr %vtable.i.i.i283, i64 1 %123 = load ptr, ptr %vfn.i.i.i284, align 8 - call void %123(ptr noundef nonnull align 8 dereferenceable(128) %122) #27 + call void %123(ptr noundef nonnull align 8 dereferenceable(128) %122) #28 br label %_ZN7testing7MessageD2Ev.exit285 _ZN7testing7MessageD2Ev.exit285: ; preds = %ehcleanup200, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i282 @@ -9674,8 +9676,8 @@ if.end201: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i287, label %_ZN7testing15AssertionResultD2Ev.exit289, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288: ; preds = %if.end201 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #27 - call void @_ZdlPv(ptr noundef nonnull %124) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #28 + call void @_ZdlPv(ptr noundef nonnull %124) #29 br label %_ZN7testing15AssertionResultD2Ev.exit289 _ZN7testing15AssertionResultD2Ev.exit289: ; preds = %if.end201, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 @@ -9685,8 +9687,8 @@ _ZN7testing15AssertionResultD2Ev.exit289: ; preds = %if.end201, %_ZNKSt1 %126 = load i64, ptr %_M_size.i.i.i, align 8 %sub.i.i.i = add i64 %126, -1 store i64 %sub.i.i.i, ptr %_M_size.i.i.i, align 8 - call void @_ZNSt8__detail15_List_node_base9_M_unhookEv(ptr noundef nonnull align 8 dereferenceable(16) %125) #27 - call void @_ZdlPv(ptr noundef %125) #28 + call void @_ZNSt8__detail15_List_node_base9_M_unhookEv(ptr noundef nonnull align 8 dereferenceable(16) %125) #28 + call void @_ZdlPv(ptr noundef %125) #29 %127 = load ptr, ptr %vector_, align 8 %128 = load ptr, ptr %_M_finish.i.i.i.i, align 8 %129 = load ptr, ptr %sequence_, align 8 @@ -9748,7 +9750,7 @@ invoke.cont223: ; preds = %if.else220 br i1 %cmp.i.i.not.i.i317, label %invoke.cont226, label %cond.true.i.i318 cond.true.i.i318: ; preds = %invoke.cont223 - %call4.i.i319 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %136) #27 + %call4.i.i319 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %136) #28 br label %invoke.cont226 invoke.cont226: ; preds = %cond.true.i.i318, %invoke.cont223 @@ -9761,7 +9763,7 @@ invoke.cont228: ; preds = %invoke.cont226 to label %invoke.cont230 unwind label %lpad229 invoke.cont230: ; preds = %invoke.cont228 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp224) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp224) #28 %137 = load ptr, ptr %ref.tmp221, align 8 %cmp.not.i.i322 = icmp eq ptr %137, null br i1 %cmp.not.i.i322, label %_ZN7testing7MessageD2Ev.exit326, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i323 @@ -9770,7 +9772,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i324 = load ptr, ptr %137, align 8 %vfn.i.i.i325 = getelementptr inbounds ptr, ptr %vtable.i.i.i324, i64 1 %138 = load ptr, ptr %vfn.i.i.i325, align 8 - call void %138(ptr noundef nonnull align 8 dereferenceable(128) %137) #27 + call void %138(ptr noundef nonnull align 8 dereferenceable(128) %137) #28 br label %_ZN7testing7MessageD2Ev.exit326 _ZN7testing7MessageD2Ev.exit326: ; preds = %invoke.cont230, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i323 @@ -9790,7 +9792,7 @@ lpad225: ; preds = %invoke.cont226 lpad229: ; preds = %invoke.cont228 %141 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp224) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp224) #28 br label %ehcleanup232 ehcleanup232: ; preds = %lpad229, %lpad225 @@ -9803,7 +9805,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i329 = load ptr, ptr %142, align 8 %vfn.i.i.i330 = getelementptr inbounds ptr, ptr %vtable.i.i.i329, i64 1 %143 = load ptr, ptr %vfn.i.i.i330, align 8 - call void %143(ptr noundef nonnull align 8 dereferenceable(128) %142) #27 + call void %143(ptr noundef nonnull align 8 dereferenceable(128) %142) #28 br label %_ZN7testing7MessageD2Ev.exit331 _ZN7testing7MessageD2Ev.exit331: ; preds = %ehcleanup232, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i328 @@ -9817,8 +9819,8 @@ if.end233: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i333, label %_ZN7testing15AssertionResultD2Ev.exit335, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334: ; preds = %if.end233 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #27 - call void @_ZdlPv(ptr noundef nonnull %144) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #28 + call void @_ZdlPv(ptr noundef nonnull %144) #29 br label %_ZN7testing15AssertionResultD2Ev.exit335 _ZN7testing15AssertionResultD2Ev.exit335: ; preds = %if.end233, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334 @@ -9853,7 +9855,7 @@ invoke.cont246: ; preds = %if.else243 br i1 %cmp.i.i.not.i.i342, label %invoke.cont249, label %cond.true.i.i343 cond.true.i.i343: ; preds = %invoke.cont246 - %call4.i.i344 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %148) #27 + %call4.i.i344 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %148) #28 br label %invoke.cont249 invoke.cont249: ; preds = %cond.true.i.i343, %invoke.cont246 @@ -9866,7 +9868,7 @@ invoke.cont251: ; preds = %invoke.cont249 to label %invoke.cont253 unwind label %lpad252 invoke.cont253: ; preds = %invoke.cont251 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp247) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp247) #28 %149 = load ptr, ptr %ref.tmp244, align 8 %cmp.not.i.i347 = icmp eq ptr %149, null br i1 %cmp.not.i.i347, label %_ZN7testing7MessageD2Ev.exit351, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i348 @@ -9875,7 +9877,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i349 = load ptr, ptr %149, align 8 %vfn.i.i.i350 = getelementptr inbounds ptr, ptr %vtable.i.i.i349, i64 1 %150 = load ptr, ptr %vfn.i.i.i350, align 8 - call void %150(ptr noundef nonnull align 8 dereferenceable(128) %149) #27 + call void %150(ptr noundef nonnull align 8 dereferenceable(128) %149) #28 br label %_ZN7testing7MessageD2Ev.exit351 _ZN7testing7MessageD2Ev.exit351: ; preds = %invoke.cont253, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i348 @@ -9895,7 +9897,7 @@ lpad248: ; preds = %invoke.cont249 lpad252: ; preds = %invoke.cont251 %153 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp247) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp247) #28 br label %ehcleanup255 ehcleanup255: ; preds = %lpad252, %lpad248 @@ -9908,7 +9910,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i354 = load ptr, ptr %154, align 8 %vfn.i.i.i355 = getelementptr inbounds ptr, ptr %vtable.i.i.i354, i64 1 %155 = load ptr, ptr %vfn.i.i.i355, align 8 - call void %155(ptr noundef nonnull align 8 dereferenceable(128) %154) #27 + call void %155(ptr noundef nonnull align 8 dereferenceable(128) %154) #28 br label %_ZN7testing7MessageD2Ev.exit356 _ZN7testing7MessageD2Ev.exit356: ; preds = %ehcleanup255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i353 @@ -9922,8 +9924,8 @@ if.end256: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i358, label %_ZN7testing15AssertionResultD2Ev.exit360, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i359 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i359: ; preds = %if.end256 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #27 - call void @_ZdlPv(ptr noundef nonnull %156) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #28 + call void @_ZdlPv(ptr noundef nonnull %156) #29 br label %_ZN7testing15AssertionResultD2Ev.exit360 _ZN7testing15AssertionResultD2Ev.exit360: ; preds = %if.end256, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i359 @@ -9988,7 +9990,7 @@ invoke.cont273: ; preds = %if.else270 br i1 %cmp.i.i.not.i.i386, label %invoke.cont276, label %cond.true.i.i387 cond.true.i.i387: ; preds = %invoke.cont273 - %call4.i.i388 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %166) #27 + %call4.i.i388 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %166) #28 br label %invoke.cont276 invoke.cont276: ; preds = %cond.true.i.i387, %invoke.cont273 @@ -10001,7 +10003,7 @@ invoke.cont278: ; preds = %invoke.cont276 to label %invoke.cont280 unwind label %lpad279 invoke.cont280: ; preds = %invoke.cont278 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp274) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp274) #28 %167 = load ptr, ptr %ref.tmp271, align 8 %cmp.not.i.i391 = icmp eq ptr %167, null br i1 %cmp.not.i.i391, label %_ZN7testing7MessageD2Ev.exit395, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i392 @@ -10010,7 +10012,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i393 = load ptr, ptr %167, align 8 %vfn.i.i.i394 = getelementptr inbounds ptr, ptr %vtable.i.i.i393, i64 1 %168 = load ptr, ptr %vfn.i.i.i394, align 8 - call void %168(ptr noundef nonnull align 8 dereferenceable(128) %167) #27 + call void %168(ptr noundef nonnull align 8 dereferenceable(128) %167) #28 br label %_ZN7testing7MessageD2Ev.exit395 _ZN7testing7MessageD2Ev.exit395: ; preds = %invoke.cont280, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i392 @@ -10030,7 +10032,7 @@ lpad275: ; preds = %invoke.cont276 lpad279: ; preds = %invoke.cont278 %171 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp274) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp274) #28 br label %ehcleanup282 ehcleanup282: ; preds = %lpad279, %lpad275 @@ -10043,7 +10045,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i398 = load ptr, ptr %172, align 8 %vfn.i.i.i399 = getelementptr inbounds ptr, ptr %vtable.i.i.i398, i64 1 %173 = load ptr, ptr %vfn.i.i.i399, align 8 - call void %173(ptr noundef nonnull align 8 dereferenceable(128) %172) #27 + call void %173(ptr noundef nonnull align 8 dereferenceable(128) %172) #28 br label %_ZN7testing7MessageD2Ev.exit400 _ZN7testing7MessageD2Ev.exit400: ; preds = %ehcleanup282, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i397 @@ -10057,8 +10059,8 @@ if.end283: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i402, label %_ZN7testing15AssertionResultD2Ev.exit404, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i403 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i403: ; preds = %if.end283 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #27 - call void @_ZdlPv(ptr noundef nonnull %174) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #28 + call void @_ZdlPv(ptr noundef nonnull %174) #29 br label %_ZN7testing15AssertionResultD2Ev.exit404 _ZN7testing15AssertionResultD2Ev.exit404: ; preds = %if.end283, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i403 @@ -10095,7 +10097,7 @@ invoke.cont300: ; preds = %if.else297 br i1 %cmp.i.i.not.i.i413, label %invoke.cont303, label %cond.true.i.i414 cond.true.i.i414: ; preds = %invoke.cont300 - %call4.i.i415 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %179) #27 + %call4.i.i415 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %179) #28 br label %invoke.cont303 invoke.cont303: ; preds = %cond.true.i.i414, %invoke.cont300 @@ -10108,7 +10110,7 @@ invoke.cont305: ; preds = %invoke.cont303 to label %invoke.cont307 unwind label %lpad306 invoke.cont307: ; preds = %invoke.cont305 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp301) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp301) #28 %180 = load ptr, ptr %ref.tmp298, align 8 %cmp.not.i.i418 = icmp eq ptr %180, null br i1 %cmp.not.i.i418, label %_ZN7testing7MessageD2Ev.exit422, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i419 @@ -10117,7 +10119,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i420 = load ptr, ptr %180, align 8 %vfn.i.i.i421 = getelementptr inbounds ptr, ptr %vtable.i.i.i420, i64 1 %181 = load ptr, ptr %vfn.i.i.i421, align 8 - call void %181(ptr noundef nonnull align 8 dereferenceable(128) %180) #27 + call void %181(ptr noundef nonnull align 8 dereferenceable(128) %180) #28 br label %_ZN7testing7MessageD2Ev.exit422 _ZN7testing7MessageD2Ev.exit422: ; preds = %invoke.cont307, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i419 @@ -10137,7 +10139,7 @@ lpad302: ; preds = %invoke.cont303 lpad306: ; preds = %invoke.cont305 %184 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp301) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp301) #28 br label %ehcleanup309 ehcleanup309: ; preds = %lpad306, %lpad302 @@ -10150,7 +10152,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i425 = load ptr, ptr %185, align 8 %vfn.i.i.i426 = getelementptr inbounds ptr, ptr %vtable.i.i.i425, i64 1 %186 = load ptr, ptr %vfn.i.i.i426, align 8 - call void %186(ptr noundef nonnull align 8 dereferenceable(128) %185) #27 + call void %186(ptr noundef nonnull align 8 dereferenceable(128) %185) #28 br label %_ZN7testing7MessageD2Ev.exit427 _ZN7testing7MessageD2Ev.exit427: ; preds = %ehcleanup309, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i424 @@ -10164,8 +10166,8 @@ if.end310: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i429, label %_ZNSt6vectorIZN12_GLOBAL__N_129NonMutatingTest_Mismatch_Test8TestBodyEvE11NoNotEqualsSaIS2_EED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i430 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i430: ; preds = %if.end310 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #27 - call void @_ZdlPv(ptr noundef nonnull %187) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %187) #28 + call void @_ZdlPv(ptr noundef nonnull %187) #29 br label %_ZNSt6vectorIZN12_GLOBAL__N_129NonMutatingTest_Mismatch_Test8TestBodyEvE11NoNotEqualsSaIS2_EED2Ev.exit _ZNSt6vectorIZN12_GLOBAL__N_129NonMutatingTest_Mismatch_Test8TestBodyEvE11NoNotEqualsSaIS2_EED2Ev.exit: ; preds = %if.end310, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i430 @@ -10174,7 +10176,7 @@ _ZNSt6vectorIZN12_GLOBAL__N_129NonMutatingTest_Mismatch_Test8TestBodyEvE11NoNotE eh.resume: ; preds = %lpad299, %_ZN7testing7MessageD2Ev.exit427, %lpad272, %_ZN7testing7MessageD2Ev.exit400, %lpad245, %_ZN7testing7MessageD2Ev.exit356, %lpad222, %_ZN7testing7MessageD2Ev.exit331, %lpad190, %_ZN7testing7MessageD2Ev.exit285, %lpad163, %_ZN7testing7MessageD2Ev.exit258, %lpad132, %_ZN7testing7MessageD2Ev.exit208, %lpad105, %_ZN7testing7MessageD2Ev.exit183, %lpad73, %_ZN7testing7MessageD2Ev.exit137, %lpad50, %_ZN7testing7MessageD2Ev.exit111, %lpad23, %_ZN7testing7MessageD2Ev.exit68, %lpad, %_ZN7testing7MessageD2Ev.exit47 %gtest_ar285.sink = phi ptr [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit47 ], [ %gtest_ar, %lpad ], [ %gtest_ar14, %_ZN7testing7MessageD2Ev.exit68 ], [ %gtest_ar14, %lpad23 ], [ %gtest_ar40, %_ZN7testing7MessageD2Ev.exit111 ], [ %gtest_ar40, %lpad50 ], [ %gtest_ar63, %_ZN7testing7MessageD2Ev.exit137 ], [ %gtest_ar63, %lpad73 ], [ %gtest_ar92, %_ZN7testing7MessageD2Ev.exit183 ], [ %gtest_ar92, %lpad105 ], [ %gtest_ar118, %_ZN7testing7MessageD2Ev.exit208 ], [ %gtest_ar118, %lpad132 ], [ %gtest_ar149, %_ZN7testing7MessageD2Ev.exit258 ], [ %gtest_ar149, %lpad163 ], [ %gtest_ar176, %_ZN7testing7MessageD2Ev.exit285 ], [ %gtest_ar176, %lpad190 ], [ %gtest_ar208, %_ZN7testing7MessageD2Ev.exit331 ], [ %gtest_ar208, %lpad222 ], [ %gtest_ar235, %_ZN7testing7MessageD2Ev.exit356 ], [ %gtest_ar235, %lpad245 ], [ %gtest_ar262, %_ZN7testing7MessageD2Ev.exit400 ], [ %gtest_ar262, %lpad272 ], [ %gtest_ar285, %_ZN7testing7MessageD2Ev.exit427 ], [ %gtest_ar285, %lpad299 ] %.pn36 = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit47 ], [ %12, %lpad ], [ %.pn3, %_ZN7testing7MessageD2Ev.exit68 ], [ %24, %lpad23 ], [ %.pn6, %_ZN7testing7MessageD2Ev.exit111 ], [ %42, %lpad50 ], [ %.pn9, %_ZN7testing7MessageD2Ev.exit137 ], [ %55, %lpad73 ], [ %.pn12, %_ZN7testing7MessageD2Ev.exit183 ], [ %74, %lpad105 ], [ %.pn15, %_ZN7testing7MessageD2Ev.exit208 ], [ %87, %lpad132 ], [ %.pn18, %_ZN7testing7MessageD2Ev.exit258 ], [ %106, %lpad163 ], [ %.pn21, %_ZN7testing7MessageD2Ev.exit285 ], [ %119, %lpad190 ], [ %.pn24, %_ZN7testing7MessageD2Ev.exit331 ], [ %139, %lpad222 ], [ %.pn27, %_ZN7testing7MessageD2Ev.exit356 ], [ %151, %lpad245 ], [ %.pn30, %_ZN7testing7MessageD2Ev.exit400 ], [ %169, %lpad272 ], [ %.pn33, %_ZN7testing7MessageD2Ev.exit427 ], [ %182, %lpad299 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar285.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar285.sink) #28 resume { ptr, i32 } %.pn36 } @@ -10202,11 +10204,11 @@ common.resume: ; preds = %ehcleanup, %lpad.i. lpad.i.i.i: ; preds = %invoke.cont.i.i.i, %entry %0 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 br label %common.resume _ZN7testing8internal33FormatForComparisonFailureMessageIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit: ; preds = %invoke.cont.i.i.i - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i), !noalias !215 call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !223 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) @@ -10224,18 +10226,18 @@ invoke.cont.i.i.i7: ; preds = %.noexc lpad.i.i.i6: ; preds = %invoke.cont.i.i.i7, %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 br label %ehcleanup invoke.cont: ; preds = %invoke.cont.i.i.i7 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !223 invoke void @_ZN7testing8internal9EqFailureEPKcS2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_b(ptr sret(%"class.testing::AssertionResult") align 8 %agg.result, ptr noundef %lhs_expression, ptr noundef %rhs_expression, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1, i1 noundef zeroext false) to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %_ZN7testing8internal33FormatForComparisonFailureMessageIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES8_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit @@ -10246,12 +10248,12 @@ lpad: ; preds = %_ZN7testing8interna lpad2: ; preds = %invoke.cont %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad.i.i.i6, %lpad2 %.pn = phi { ptr, i32 } [ %3, %lpad2 ], [ %2, %lpad ], [ %1, %lpad.i.i.i6 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %common.resume } @@ -10281,11 +10283,11 @@ common.resume: ; preds = %ehcleanup, %lpad.i. lpad.i.i.i: ; preds = %invoke.cont.i.i.i, %entry %0 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 br label %common.resume _ZN7testing8internal33FormatForComparisonFailureMessageISt14_List_iteratorIiES3_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit: ; preds = %invoke.cont.i.i.i - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i), !noalias !231 call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !239 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) @@ -10303,18 +10305,18 @@ invoke.cont.i.i.i7: ; preds = %.noexc lpad.i.i.i6: ; preds = %invoke.cont.i.i.i7, %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 br label %ehcleanup invoke.cont: ; preds = %invoke.cont.i.i.i7 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !239 invoke void @_ZN7testing8internal9EqFailureEPKcS2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_b(ptr sret(%"class.testing::AssertionResult") align 8 %agg.result, ptr noundef %lhs_expression, ptr noundef %rhs_expression, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1, i1 noundef zeroext false) to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %_ZN7testing8internal33FormatForComparisonFailureMessageISt14_List_iteratorIiES3_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit @@ -10325,12 +10327,12 @@ lpad: ; preds = %_ZN7testing8interna lpad2: ; preds = %invoke.cont %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad.i.i.i6, %lpad2 %.pn = phi { ptr, i32 } [ %3, %lpad2 ], [ %2, %lpad ], [ %1, %lpad.i.i.i6 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %common.resume } @@ -10346,14 +10348,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_142NonMutatingTest_MismatchWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_142NonMutatingTest_MismatchWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -10364,22 +10366,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_142NonMutatingTest_MismatchWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_142NonMutatingTest_MismatchWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -10517,7 +10519,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont8, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 br label %invoke.cont8 invoke.cont8: ; preds = %cond.true.i.i, %invoke.cont @@ -10530,7 +10532,7 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 %15 = load ptr, ptr %ref.tmp5, align 8 %cmp.not.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -10539,7 +10541,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %15, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -10559,7 +10561,7 @@ lpad7: ; preds = %invoke.cont8 lpad11: ; preds = %invoke.cont10 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad7 @@ -10572,7 +10574,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i39 = load ptr, ptr %20, align 8 %vfn.i.i.i40 = getelementptr inbounds ptr, ptr %vtable.i.i.i39, i64 1 %21 = load ptr, ptr %vfn.i.i.i40, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit41 _ZN7testing7MessageD2Ev.exit41: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i38 @@ -10586,8 +10588,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i42, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #27 - call void @_ZdlPv(ptr noundef nonnull %22) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #28 + call void @_ZdlPv(ptr noundef nonnull %22) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -10623,7 +10625,7 @@ invoke.cont24: ; preds = %if.else21 br i1 %cmp.i.i.not.i.i48, label %invoke.cont27, label %cond.true.i.i49 cond.true.i.i49: ; preds = %invoke.cont24 - %call4.i.i50 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %27) #27 + %call4.i.i50 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %27) #28 br label %invoke.cont27 invoke.cont27: ; preds = %cond.true.i.i49, %invoke.cont24 @@ -10636,7 +10638,7 @@ invoke.cont29: ; preds = %invoke.cont27 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont29 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 %28 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i53 = icmp eq ptr %28, null br i1 %cmp.not.i.i53, label %_ZN7testing7MessageD2Ev.exit57, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 @@ -10645,7 +10647,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i55 = load ptr, ptr %28, align 8 %vfn.i.i.i56 = getelementptr inbounds ptr, ptr %vtable.i.i.i55, i64 1 %29 = load ptr, ptr %vfn.i.i.i56, align 8 - call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #27 + call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #28 br label %_ZN7testing7MessageD2Ev.exit57 _ZN7testing7MessageD2Ev.exit57: ; preds = %invoke.cont31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 @@ -10665,7 +10667,7 @@ lpad26: ; preds = %invoke.cont27 lpad30: ; preds = %invoke.cont29 %32 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup33 ehcleanup33: ; preds = %lpad30, %lpad26 @@ -10678,7 +10680,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i60 = load ptr, ptr %33, align 8 %vfn.i.i.i61 = getelementptr inbounds ptr, ptr %vtable.i.i.i60, i64 1 %34 = load ptr, ptr %vfn.i.i.i61, align 8 - call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #27 + call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #28 br label %_ZN7testing7MessageD2Ev.exit62 _ZN7testing7MessageD2Ev.exit62: ; preds = %ehcleanup33, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i59 @@ -10692,8 +10694,8 @@ if.end34: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i64, label %_ZN7testing15AssertionResultD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65: ; preds = %if.end34 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #27 - call void @_ZdlPv(ptr noundef nonnull %35) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #28 + call void @_ZdlPv(ptr noundef nonnull %35) #29 br label %_ZN7testing15AssertionResultD2Ev.exit66 _ZN7testing15AssertionResultD2Ev.exit66: ; preds = %if.end34, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 @@ -10767,7 +10769,7 @@ invoke.cont51: ; preds = %if.else48 br i1 %cmp.i.i.not.i.i91, label %invoke.cont54, label %cond.true.i.i92 cond.true.i.i92: ; preds = %invoke.cont51 - %call4.i.i93 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %48) #27 + %call4.i.i93 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %48) #28 br label %invoke.cont54 invoke.cont54: ; preds = %cond.true.i.i92, %invoke.cont51 @@ -10780,7 +10782,7 @@ invoke.cont56: ; preds = %invoke.cont54 to label %invoke.cont58 unwind label %lpad57 invoke.cont58: ; preds = %invoke.cont56 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 %49 = load ptr, ptr %ref.tmp49, align 8 %cmp.not.i.i96 = icmp eq ptr %49, null br i1 %cmp.not.i.i96, label %_ZN7testing7MessageD2Ev.exit100, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 @@ -10789,7 +10791,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i98 = load ptr, ptr %49, align 8 %vfn.i.i.i99 = getelementptr inbounds ptr, ptr %vtable.i.i.i98, i64 1 %50 = load ptr, ptr %vfn.i.i.i99, align 8 - call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #27 + call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #28 br label %_ZN7testing7MessageD2Ev.exit100 _ZN7testing7MessageD2Ev.exit100: ; preds = %invoke.cont58, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 @@ -10809,7 +10811,7 @@ lpad53: ; preds = %invoke.cont54 lpad57: ; preds = %invoke.cont56 %53 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 br label %ehcleanup60 ehcleanup60: ; preds = %lpad57, %lpad53 @@ -10822,7 +10824,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i103 = load ptr, ptr %54, align 8 %vfn.i.i.i104 = getelementptr inbounds ptr, ptr %vtable.i.i.i103, i64 1 %55 = load ptr, ptr %vfn.i.i.i104, align 8 - call void %55(ptr noundef nonnull align 8 dereferenceable(128) %54) #27 + call void %55(ptr noundef nonnull align 8 dereferenceable(128) %54) #28 br label %_ZN7testing7MessageD2Ev.exit105 _ZN7testing7MessageD2Ev.exit105: ; preds = %ehcleanup60, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i102 @@ -10836,8 +10838,8 @@ if.end61: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i107, label %_ZN7testing15AssertionResultD2Ev.exit109, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108: ; preds = %if.end61 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #27 - call void @_ZdlPv(ptr noundef nonnull %56) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #28 + call void @_ZdlPv(ptr noundef nonnull %56) #29 br label %_ZN7testing15AssertionResultD2Ev.exit109 _ZN7testing15AssertionResultD2Ev.exit109: ; preds = %if.end61, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 @@ -10873,7 +10875,7 @@ invoke.cont74: ; preds = %if.else71 br i1 %cmp.i.i.not.i.i116, label %invoke.cont77, label %cond.true.i.i117 cond.true.i.i117: ; preds = %invoke.cont74 - %call4.i.i118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %61) #27 + %call4.i.i118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %61) #28 br label %invoke.cont77 invoke.cont77: ; preds = %cond.true.i.i117, %invoke.cont74 @@ -10886,7 +10888,7 @@ invoke.cont79: ; preds = %invoke.cont77 to label %invoke.cont81 unwind label %lpad80 invoke.cont81: ; preds = %invoke.cont79 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #28 %62 = load ptr, ptr %ref.tmp72, align 8 %cmp.not.i.i121 = icmp eq ptr %62, null br i1 %cmp.not.i.i121, label %_ZN7testing7MessageD2Ev.exit125, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 @@ -10895,7 +10897,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i123 = load ptr, ptr %62, align 8 %vfn.i.i.i124 = getelementptr inbounds ptr, ptr %vtable.i.i.i123, i64 1 %63 = load ptr, ptr %vfn.i.i.i124, align 8 - call void %63(ptr noundef nonnull align 8 dereferenceable(128) %62) #27 + call void %63(ptr noundef nonnull align 8 dereferenceable(128) %62) #28 br label %_ZN7testing7MessageD2Ev.exit125 _ZN7testing7MessageD2Ev.exit125: ; preds = %invoke.cont81, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 @@ -10915,7 +10917,7 @@ lpad76: ; preds = %invoke.cont77 lpad80: ; preds = %invoke.cont79 %66 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75) #28 br label %ehcleanup83 ehcleanup83: ; preds = %lpad80, %lpad76 @@ -10928,7 +10930,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i128 = load ptr, ptr %67, align 8 %vfn.i.i.i129 = getelementptr inbounds ptr, ptr %vtable.i.i.i128, i64 1 %68 = load ptr, ptr %vfn.i.i.i129, align 8 - call void %68(ptr noundef nonnull align 8 dereferenceable(128) %67) #27 + call void %68(ptr noundef nonnull align 8 dereferenceable(128) %67) #28 br label %_ZN7testing7MessageD2Ev.exit130 _ZN7testing7MessageD2Ev.exit130: ; preds = %ehcleanup83, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127 @@ -10942,8 +10944,8 @@ if.end84: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i132, label %_ZN7testing15AssertionResultD2Ev.exit134, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133: ; preds = %if.end84 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #27 - call void @_ZdlPv(ptr noundef nonnull %69) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #28 + call void @_ZdlPv(ptr noundef nonnull %69) #29 br label %_ZN7testing15AssertionResultD2Ev.exit134 _ZN7testing15AssertionResultD2Ev.exit134: ; preds = %if.end84, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133 @@ -11026,7 +11028,7 @@ invoke.cont103: ; preds = %if.else100 br i1 %cmp.i.i.not.i.i160, label %invoke.cont106, label %cond.true.i.i161 cond.true.i.i161: ; preds = %invoke.cont103 - %call4.i.i162 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %85) #27 + %call4.i.i162 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %85) #28 br label %invoke.cont106 invoke.cont106: ; preds = %cond.true.i.i161, %invoke.cont103 @@ -11039,7 +11041,7 @@ invoke.cont108: ; preds = %invoke.cont106 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %invoke.cont108 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #28 %86 = load ptr, ptr %ref.tmp101, align 8 %cmp.not.i.i165 = icmp eq ptr %86, null br i1 %cmp.not.i.i165, label %_ZN7testing7MessageD2Ev.exit169, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 @@ -11048,7 +11050,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i167 = load ptr, ptr %86, align 8 %vfn.i.i.i168 = getelementptr inbounds ptr, ptr %vtable.i.i.i167, i64 1 %87 = load ptr, ptr %vfn.i.i.i168, align 8 - call void %87(ptr noundef nonnull align 8 dereferenceable(128) %86) #27 + call void %87(ptr noundef nonnull align 8 dereferenceable(128) %86) #28 br label %_ZN7testing7MessageD2Ev.exit169 _ZN7testing7MessageD2Ev.exit169: ; preds = %invoke.cont110, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 @@ -11068,7 +11070,7 @@ lpad105: ; preds = %invoke.cont106 lpad109: ; preds = %invoke.cont108 %90 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #28 br label %ehcleanup112 ehcleanup112: ; preds = %lpad109, %lpad105 @@ -11081,7 +11083,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i172 = load ptr, ptr %91, align 8 %vfn.i.i.i173 = getelementptr inbounds ptr, ptr %vtable.i.i.i172, i64 1 %92 = load ptr, ptr %vfn.i.i.i173, align 8 - call void %92(ptr noundef nonnull align 8 dereferenceable(128) %91) #27 + call void %92(ptr noundef nonnull align 8 dereferenceable(128) %91) #28 br label %_ZN7testing7MessageD2Ev.exit174 _ZN7testing7MessageD2Ev.exit174: ; preds = %ehcleanup112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171 @@ -11095,8 +11097,8 @@ if.end113: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i176, label %_ZN7testing15AssertionResultD2Ev.exit178, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177: ; preds = %if.end113 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #27 - call void @_ZdlPv(ptr noundef nonnull %93) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #28 + call void @_ZdlPv(ptr noundef nonnull %93) #29 br label %_ZN7testing15AssertionResultD2Ev.exit178 _ZN7testing15AssertionResultD2Ev.exit178: ; preds = %if.end113, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177 @@ -11132,7 +11134,7 @@ invoke.cont126: ; preds = %if.else123 br i1 %cmp.i.i.not.i.i185, label %invoke.cont129, label %cond.true.i.i186 cond.true.i.i186: ; preds = %invoke.cont126 - %call4.i.i187 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %98) #27 + %call4.i.i187 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %98) #28 br label %invoke.cont129 invoke.cont129: ; preds = %cond.true.i.i186, %invoke.cont126 @@ -11145,7 +11147,7 @@ invoke.cont131: ; preds = %invoke.cont129 to label %invoke.cont133 unwind label %lpad132 invoke.cont133: ; preds = %invoke.cont131 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127) #28 %99 = load ptr, ptr %ref.tmp124, align 8 %cmp.not.i.i190 = icmp eq ptr %99, null br i1 %cmp.not.i.i190, label %_ZN7testing7MessageD2Ev.exit194, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191 @@ -11154,7 +11156,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i192 = load ptr, ptr %99, align 8 %vfn.i.i.i193 = getelementptr inbounds ptr, ptr %vtable.i.i.i192, i64 1 %100 = load ptr, ptr %vfn.i.i.i193, align 8 - call void %100(ptr noundef nonnull align 8 dereferenceable(128) %99) #27 + call void %100(ptr noundef nonnull align 8 dereferenceable(128) %99) #28 br label %_ZN7testing7MessageD2Ev.exit194 _ZN7testing7MessageD2Ev.exit194: ; preds = %invoke.cont133, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191 @@ -11174,7 +11176,7 @@ lpad128: ; preds = %invoke.cont129 lpad132: ; preds = %invoke.cont131 %103 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127) #28 br label %ehcleanup135 ehcleanup135: ; preds = %lpad132, %lpad128 @@ -11187,7 +11189,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i197 = load ptr, ptr %104, align 8 %vfn.i.i.i198 = getelementptr inbounds ptr, ptr %vtable.i.i.i197, i64 1 %105 = load ptr, ptr %vfn.i.i.i198, align 8 - call void %105(ptr noundef nonnull align 8 dereferenceable(128) %104) #27 + call void %105(ptr noundef nonnull align 8 dereferenceable(128) %104) #28 br label %_ZN7testing7MessageD2Ev.exit199 _ZN7testing7MessageD2Ev.exit199: ; preds = %ehcleanup135, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196 @@ -11201,8 +11203,8 @@ if.end136: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i201, label %_ZN7testing15AssertionResultD2Ev.exit203, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202: ; preds = %if.end136 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #27 - call void @_ZdlPv(ptr noundef nonnull %106) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #28 + call void @_ZdlPv(ptr noundef nonnull %106) #29 br label %_ZN7testing15AssertionResultD2Ev.exit203 _ZN7testing15AssertionResultD2Ev.exit203: ; preds = %if.end136, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202 @@ -11268,7 +11270,7 @@ invoke.cont156: ; preds = %if.else153 br i1 %cmp.i.i.not.i.i230, label %invoke.cont159, label %cond.true.i.i231 cond.true.i.i231: ; preds = %invoke.cont156 - %call4.i.i232 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %117) #27 + %call4.i.i232 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %117) #28 br label %invoke.cont159 invoke.cont159: ; preds = %cond.true.i.i231, %invoke.cont156 @@ -11281,7 +11283,7 @@ invoke.cont161: ; preds = %invoke.cont159 to label %invoke.cont163 unwind label %lpad162 invoke.cont163: ; preds = %invoke.cont161 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp157) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp157) #28 %118 = load ptr, ptr %ref.tmp154, align 8 %cmp.not.i.i235 = icmp eq ptr %118, null br i1 %cmp.not.i.i235, label %_ZN7testing7MessageD2Ev.exit239, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236 @@ -11290,7 +11292,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i237 = load ptr, ptr %118, align 8 %vfn.i.i.i238 = getelementptr inbounds ptr, ptr %vtable.i.i.i237, i64 1 %119 = load ptr, ptr %vfn.i.i.i238, align 8 - call void %119(ptr noundef nonnull align 8 dereferenceable(128) %118) #27 + call void %119(ptr noundef nonnull align 8 dereferenceable(128) %118) #28 br label %_ZN7testing7MessageD2Ev.exit239 _ZN7testing7MessageD2Ev.exit239: ; preds = %invoke.cont163, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236 @@ -11310,7 +11312,7 @@ lpad158: ; preds = %invoke.cont159 lpad162: ; preds = %invoke.cont161 %122 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp157) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp157) #28 br label %ehcleanup165 ehcleanup165: ; preds = %lpad162, %lpad158 @@ -11323,7 +11325,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i242 = load ptr, ptr %123, align 8 %vfn.i.i.i243 = getelementptr inbounds ptr, ptr %vtable.i.i.i242, i64 1 %124 = load ptr, ptr %vfn.i.i.i243, align 8 - call void %124(ptr noundef nonnull align 8 dereferenceable(128) %123) #27 + call void %124(ptr noundef nonnull align 8 dereferenceable(128) %123) #28 br label %_ZN7testing7MessageD2Ev.exit244 _ZN7testing7MessageD2Ev.exit244: ; preds = %ehcleanup165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241 @@ -11337,8 +11339,8 @@ if.end166: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i246, label %_ZN7testing15AssertionResultD2Ev.exit248, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247: ; preds = %if.end166 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #27 - call void @_ZdlPv(ptr noundef nonnull %125) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #28 + call void @_ZdlPv(ptr noundef nonnull %125) #29 br label %_ZN7testing15AssertionResultD2Ev.exit248 _ZN7testing15AssertionResultD2Ev.exit248: ; preds = %if.end166, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 @@ -11375,7 +11377,7 @@ invoke.cont183: ; preds = %if.else180 br i1 %cmp.i.i.not.i.i256, label %invoke.cont186, label %cond.true.i.i257 cond.true.i.i257: ; preds = %invoke.cont183 - %call4.i.i258 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %130) #27 + %call4.i.i258 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %130) #28 br label %invoke.cont186 invoke.cont186: ; preds = %cond.true.i.i257, %invoke.cont183 @@ -11388,7 +11390,7 @@ invoke.cont188: ; preds = %invoke.cont186 to label %invoke.cont190 unwind label %lpad189 invoke.cont190: ; preds = %invoke.cont188 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp184) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp184) #28 %131 = load ptr, ptr %ref.tmp181, align 8 %cmp.not.i.i261 = icmp eq ptr %131, null br i1 %cmp.not.i.i261, label %_ZN7testing7MessageD2Ev.exit265, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i262 @@ -11397,7 +11399,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i263 = load ptr, ptr %131, align 8 %vfn.i.i.i264 = getelementptr inbounds ptr, ptr %vtable.i.i.i263, i64 1 %132 = load ptr, ptr %vfn.i.i.i264, align 8 - call void %132(ptr noundef nonnull align 8 dereferenceable(128) %131) #27 + call void %132(ptr noundef nonnull align 8 dereferenceable(128) %131) #28 br label %_ZN7testing7MessageD2Ev.exit265 _ZN7testing7MessageD2Ev.exit265: ; preds = %invoke.cont190, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i262 @@ -11417,7 +11419,7 @@ lpad185: ; preds = %invoke.cont186 lpad189: ; preds = %invoke.cont188 %135 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp184) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp184) #28 br label %ehcleanup192 ehcleanup192: ; preds = %lpad189, %lpad185 @@ -11430,7 +11432,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i268 = load ptr, ptr %136, align 8 %vfn.i.i.i269 = getelementptr inbounds ptr, ptr %vtable.i.i.i268, i64 1 %137 = load ptr, ptr %vfn.i.i.i269, align 8 - call void %137(ptr noundef nonnull align 8 dereferenceable(128) %136) #27 + call void %137(ptr noundef nonnull align 8 dereferenceable(128) %136) #28 br label %_ZN7testing7MessageD2Ev.exit270 _ZN7testing7MessageD2Ev.exit270: ; preds = %ehcleanup192, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i267 @@ -11444,8 +11446,8 @@ if.end193: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i272, label %_ZN7testing15AssertionResultD2Ev.exit274, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i273 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i273: ; preds = %if.end193 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #27 - call void @_ZdlPv(ptr noundef nonnull %138) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #28 + call void @_ZdlPv(ptr noundef nonnull %138) #29 br label %_ZN7testing15AssertionResultD2Ev.exit274 _ZN7testing15AssertionResultD2Ev.exit274: ; preds = %if.end193, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i273 @@ -11457,7 +11459,7 @@ _ZN7testing15AssertionResultD2Ev.exit274: ; preds = %if.end193, %_ZNKSt1 while.body.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit274, %while.body.i.i %__cur.05.i.i = phi ptr [ %140, %while.body.i.i ], [ %139, %_ZN7testing15AssertionResultD2Ev.exit274 ] %140 = load ptr, ptr %__cur.05.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i) #29 %cmp.not.i.i275 = icmp eq ptr %140, %sequence_ br i1 %cmp.not.i.i275, label %_ZN4absl10c_mismatchISt6vectorIiSaIiEENSt7__cxx114listIiS2_EEPFbiiEEEDTclsr3stdE9make_paircvDTcl5beginclsr3stdE7declvalIRT_EEEE_EcvDTcl5beginclsr3stdE7declvalIRT0_EEEE_EEESA_SD_T1_.exit294, label %while.body.i.i, !llvm.loop !7 @@ -11488,7 +11490,7 @@ invoke.cont211: ; preds = %if.else208 br i1 %cmp.i.i.not.i.i301, label %invoke.cont214, label %cond.true.i.i302 cond.true.i.i302: ; preds = %invoke.cont211 - %call4.i.i303 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %145) #27 + %call4.i.i303 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %145) #28 br label %invoke.cont214 invoke.cont214: ; preds = %cond.true.i.i302, %invoke.cont211 @@ -11501,7 +11503,7 @@ invoke.cont216: ; preds = %invoke.cont214 to label %invoke.cont218 unwind label %lpad217 invoke.cont218: ; preds = %invoke.cont216 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp212) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp212) #28 %146 = load ptr, ptr %ref.tmp209, align 8 %cmp.not.i.i306 = icmp eq ptr %146, null br i1 %cmp.not.i.i306, label %_ZN7testing7MessageD2Ev.exit310, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i307 @@ -11510,7 +11512,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i308 = load ptr, ptr %146, align 8 %vfn.i.i.i309 = getelementptr inbounds ptr, ptr %vtable.i.i.i308, i64 1 %147 = load ptr, ptr %vfn.i.i.i309, align 8 - call void %147(ptr noundef nonnull align 8 dereferenceable(128) %146) #27 + call void %147(ptr noundef nonnull align 8 dereferenceable(128) %146) #28 br label %_ZN7testing7MessageD2Ev.exit310 _ZN7testing7MessageD2Ev.exit310: ; preds = %invoke.cont218, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i307 @@ -11530,7 +11532,7 @@ lpad213: ; preds = %invoke.cont214 lpad217: ; preds = %invoke.cont216 %150 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp212) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp212) #28 br label %ehcleanup220 ehcleanup220: ; preds = %lpad217, %lpad213 @@ -11543,7 +11545,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i313 = load ptr, ptr %151, align 8 %vfn.i.i.i314 = getelementptr inbounds ptr, ptr %vtable.i.i.i313, i64 1 %152 = load ptr, ptr %vfn.i.i.i314, align 8 - call void %152(ptr noundef nonnull align 8 dereferenceable(128) %151) #27 + call void %152(ptr noundef nonnull align 8 dereferenceable(128) %151) #28 br label %_ZN7testing7MessageD2Ev.exit315 _ZN7testing7MessageD2Ev.exit315: ; preds = %ehcleanup220, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i312 @@ -11557,8 +11559,8 @@ if.end221: ; preds = %_ZN4absl10c_mismatc br i1 %cmp.not.i.i317, label %_ZN7testing15AssertionResultD2Ev.exit319, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i318 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i318: ; preds = %if.end221 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #27 - call void @_ZdlPv(ptr noundef nonnull %153) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #28 + call void @_ZdlPv(ptr noundef nonnull %153) #29 br label %_ZN7testing15AssertionResultD2Ev.exit319 _ZN7testing15AssertionResultD2Ev.exit319: ; preds = %if.end221, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i318 @@ -11593,7 +11595,7 @@ invoke.cont234: ; preds = %if.else231 br i1 %cmp.i.i.not.i.i326, label %invoke.cont237, label %cond.true.i.i327 cond.true.i.i327: ; preds = %invoke.cont234 - %call4.i.i328 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %157) #27 + %call4.i.i328 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %157) #28 br label %invoke.cont237 invoke.cont237: ; preds = %cond.true.i.i327, %invoke.cont234 @@ -11606,7 +11608,7 @@ invoke.cont239: ; preds = %invoke.cont237 to label %invoke.cont241 unwind label %lpad240 invoke.cont241: ; preds = %invoke.cont239 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp235) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp235) #28 %158 = load ptr, ptr %ref.tmp232, align 8 %cmp.not.i.i331 = icmp eq ptr %158, null br i1 %cmp.not.i.i331, label %_ZN7testing7MessageD2Ev.exit335, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i332 @@ -11615,7 +11617,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i333 = load ptr, ptr %158, align 8 %vfn.i.i.i334 = getelementptr inbounds ptr, ptr %vtable.i.i.i333, i64 1 %159 = load ptr, ptr %vfn.i.i.i334, align 8 - call void %159(ptr noundef nonnull align 8 dereferenceable(128) %158) #27 + call void %159(ptr noundef nonnull align 8 dereferenceable(128) %158) #28 br label %_ZN7testing7MessageD2Ev.exit335 _ZN7testing7MessageD2Ev.exit335: ; preds = %invoke.cont241, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i332 @@ -11635,7 +11637,7 @@ lpad236: ; preds = %invoke.cont237 lpad240: ; preds = %invoke.cont239 %162 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp235) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp235) #28 br label %ehcleanup243 ehcleanup243: ; preds = %lpad240, %lpad236 @@ -11648,7 +11650,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i338 = load ptr, ptr %163, align 8 %vfn.i.i.i339 = getelementptr inbounds ptr, ptr %vtable.i.i.i338, i64 1 %164 = load ptr, ptr %vfn.i.i.i339, align 8 - call void %164(ptr noundef nonnull align 8 dereferenceable(128) %163) #27 + call void %164(ptr noundef nonnull align 8 dereferenceable(128) %163) #28 br label %_ZN7testing7MessageD2Ev.exit340 _ZN7testing7MessageD2Ev.exit340: ; preds = %ehcleanup243, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i337 @@ -11662,8 +11664,8 @@ if.end244: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i342, label %_ZN7testing15AssertionResultD2Ev.exit344, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343: ; preds = %if.end244 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #27 - call void @_ZdlPv(ptr noundef nonnull %165) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #28 + call void @_ZdlPv(ptr noundef nonnull %165) #29 br label %_ZN7testing15AssertionResultD2Ev.exit344 _ZN7testing15AssertionResultD2Ev.exit344: ; preds = %if.end244, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343 @@ -11728,7 +11730,7 @@ invoke.cont261: ; preds = %if.else258 br i1 %cmp.i.i.not.i.i370, label %invoke.cont264, label %cond.true.i.i371 cond.true.i.i371: ; preds = %invoke.cont261 - %call4.i.i372 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %175) #27 + %call4.i.i372 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %175) #28 br label %invoke.cont264 invoke.cont264: ; preds = %cond.true.i.i371, %invoke.cont261 @@ -11741,7 +11743,7 @@ invoke.cont266: ; preds = %invoke.cont264 to label %invoke.cont268 unwind label %lpad267 invoke.cont268: ; preds = %invoke.cont266 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp262) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp262) #28 %176 = load ptr, ptr %ref.tmp259, align 8 %cmp.not.i.i375 = icmp eq ptr %176, null br i1 %cmp.not.i.i375, label %_ZN7testing7MessageD2Ev.exit379, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i376 @@ -11750,7 +11752,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i377 = load ptr, ptr %176, align 8 %vfn.i.i.i378 = getelementptr inbounds ptr, ptr %vtable.i.i.i377, i64 1 %177 = load ptr, ptr %vfn.i.i.i378, align 8 - call void %177(ptr noundef nonnull align 8 dereferenceable(128) %176) #27 + call void %177(ptr noundef nonnull align 8 dereferenceable(128) %176) #28 br label %_ZN7testing7MessageD2Ev.exit379 _ZN7testing7MessageD2Ev.exit379: ; preds = %invoke.cont268, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i376 @@ -11770,7 +11772,7 @@ lpad263: ; preds = %invoke.cont264 lpad267: ; preds = %invoke.cont266 %180 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp262) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp262) #28 br label %ehcleanup270 ehcleanup270: ; preds = %lpad267, %lpad263 @@ -11783,7 +11785,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i382 = load ptr, ptr %181, align 8 %vfn.i.i.i383 = getelementptr inbounds ptr, ptr %vtable.i.i.i382, i64 1 %182 = load ptr, ptr %vfn.i.i.i383, align 8 - call void %182(ptr noundef nonnull align 8 dereferenceable(128) %181) #27 + call void %182(ptr noundef nonnull align 8 dereferenceable(128) %181) #28 br label %_ZN7testing7MessageD2Ev.exit384 _ZN7testing7MessageD2Ev.exit384: ; preds = %ehcleanup270, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i381 @@ -11797,8 +11799,8 @@ if.end271: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i386, label %_ZN7testing15AssertionResultD2Ev.exit388, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i387 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i387: ; preds = %if.end271 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #27 - call void @_ZdlPv(ptr noundef nonnull %183) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #28 + call void @_ZdlPv(ptr noundef nonnull %183) #29 br label %_ZN7testing15AssertionResultD2Ev.exit388 _ZN7testing15AssertionResultD2Ev.exit388: ; preds = %if.end271, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i387 @@ -11834,7 +11836,7 @@ invoke.cont284: ; preds = %if.else281 br i1 %cmp.i.i.not.i.i395, label %invoke.cont287, label %cond.true.i.i396 cond.true.i.i396: ; preds = %invoke.cont284 - %call4.i.i397 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %188) #27 + %call4.i.i397 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %188) #28 br label %invoke.cont287 invoke.cont287: ; preds = %cond.true.i.i396, %invoke.cont284 @@ -11847,7 +11849,7 @@ invoke.cont289: ; preds = %invoke.cont287 to label %invoke.cont291 unwind label %lpad290 invoke.cont291: ; preds = %invoke.cont289 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) #28 %189 = load ptr, ptr %ref.tmp282, align 8 %cmp.not.i.i400 = icmp eq ptr %189, null br i1 %cmp.not.i.i400, label %_ZN7testing7MessageD2Ev.exit404, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i401 @@ -11856,7 +11858,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i402 = load ptr, ptr %189, align 8 %vfn.i.i.i403 = getelementptr inbounds ptr, ptr %vtable.i.i.i402, i64 1 %190 = load ptr, ptr %vfn.i.i.i403, align 8 - call void %190(ptr noundef nonnull align 8 dereferenceable(128) %189) #27 + call void %190(ptr noundef nonnull align 8 dereferenceable(128) %189) #28 br label %_ZN7testing7MessageD2Ev.exit404 _ZN7testing7MessageD2Ev.exit404: ; preds = %invoke.cont291, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i401 @@ -11876,7 +11878,7 @@ lpad286: ; preds = %invoke.cont287 lpad290: ; preds = %invoke.cont289 %193 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) #28 br label %ehcleanup293 ehcleanup293: ; preds = %lpad290, %lpad286 @@ -11889,7 +11891,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i407 = load ptr, ptr %194, align 8 %vfn.i.i.i408 = getelementptr inbounds ptr, ptr %vtable.i.i.i407, i64 1 %195 = load ptr, ptr %vfn.i.i.i408, align 8 - call void %195(ptr noundef nonnull align 8 dereferenceable(128) %194) #27 + call void %195(ptr noundef nonnull align 8 dereferenceable(128) %194) #28 br label %_ZN7testing7MessageD2Ev.exit409 _ZN7testing7MessageD2Ev.exit409: ; preds = %ehcleanup293, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i406 @@ -11903,8 +11905,8 @@ if.end294: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i411, label %_ZN7testing15AssertionResultD2Ev.exit413, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412: ; preds = %if.end294 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %196) #27 - call void @_ZdlPv(ptr noundef nonnull %196) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %196) #28 + call void @_ZdlPv(ptr noundef nonnull %196) #29 br label %_ZN7testing15AssertionResultD2Ev.exit413 _ZN7testing15AssertionResultD2Ev.exit413: ; preds = %if.end294, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412 @@ -11913,7 +11915,7 @@ _ZN7testing15AssertionResultD2Ev.exit413: ; preds = %if.end294, %_ZNKSt1 eh.resume: ; preds = %lpad283, %_ZN7testing7MessageD2Ev.exit409, %lpad260, %_ZN7testing7MessageD2Ev.exit384, %lpad233, %_ZN7testing7MessageD2Ev.exit340, %lpad210, %_ZN7testing7MessageD2Ev.exit315, %lpad182, %_ZN7testing7MessageD2Ev.exit270, %lpad155, %_ZN7testing7MessageD2Ev.exit244, %lpad125, %_ZN7testing7MessageD2Ev.exit199, %lpad102, %_ZN7testing7MessageD2Ev.exit174, %lpad73, %_ZN7testing7MessageD2Ev.exit130, %lpad50, %_ZN7testing7MessageD2Ev.exit105, %lpad23, %_ZN7testing7MessageD2Ev.exit62, %lpad, %_ZN7testing7MessageD2Ev.exit41 %gtest_ar273.sink = phi ptr [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit41 ], [ %gtest_ar, %lpad ], [ %gtest_ar14, %_ZN7testing7MessageD2Ev.exit62 ], [ %gtest_ar14, %lpad23 ], [ %gtest_ar40, %_ZN7testing7MessageD2Ev.exit105 ], [ %gtest_ar40, %lpad50 ], [ %gtest_ar63, %_ZN7testing7MessageD2Ev.exit130 ], [ %gtest_ar63, %lpad73 ], [ %gtest_ar92, %_ZN7testing7MessageD2Ev.exit174 ], [ %gtest_ar92, %lpad102 ], [ %gtest_ar115, %_ZN7testing7MessageD2Ev.exit199 ], [ %gtest_ar115, %lpad125 ], [ %gtest_ar142, %_ZN7testing7MessageD2Ev.exit244 ], [ %gtest_ar142, %lpad155 ], [ %gtest_ar168, %_ZN7testing7MessageD2Ev.exit270 ], [ %gtest_ar168, %lpad182 ], [ %gtest_ar200, %_ZN7testing7MessageD2Ev.exit315 ], [ %gtest_ar200, %lpad210 ], [ %gtest_ar223, %_ZN7testing7MessageD2Ev.exit340 ], [ %gtest_ar223, %lpad233 ], [ %gtest_ar250, %_ZN7testing7MessageD2Ev.exit384 ], [ %gtest_ar250, %lpad260 ], [ %gtest_ar273, %_ZN7testing7MessageD2Ev.exit409 ], [ %gtest_ar273, %lpad283 ] %.pn33.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit41 ], [ %17, %lpad ], [ %.pn3, %_ZN7testing7MessageD2Ev.exit62 ], [ %30, %lpad23 ], [ %.pn6, %_ZN7testing7MessageD2Ev.exit105 ], [ %51, %lpad50 ], [ %.pn9, %_ZN7testing7MessageD2Ev.exit130 ], [ %64, %lpad73 ], [ %.pn12, %_ZN7testing7MessageD2Ev.exit174 ], [ %88, %lpad102 ], [ %.pn15, %_ZN7testing7MessageD2Ev.exit199 ], [ %101, %lpad125 ], [ %.pn18, %_ZN7testing7MessageD2Ev.exit244 ], [ %120, %lpad155 ], [ %.pn21, %_ZN7testing7MessageD2Ev.exit270 ], [ %133, %lpad182 ], [ %.pn24, %_ZN7testing7MessageD2Ev.exit315 ], [ %148, %lpad210 ], [ %.pn27, %_ZN7testing7MessageD2Ev.exit340 ], [ %160, %lpad233 ], [ %.pn30, %_ZN7testing7MessageD2Ev.exit384 ], [ %178, %lpad260 ], [ %.pn33, %_ZN7testing7MessageD2Ev.exit409 ], [ %191, %lpad283 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar273.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar273.sink) #28 resume { ptr, i32 } %.pn33.pn.pn } @@ -11926,14 +11928,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126NonMutatingTest_Equal_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126NonMutatingTest_Equal_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -11944,22 +11946,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126NonMutatingTest_Equal_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126NonMutatingTest_Equal_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -12046,7 +12048,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont7 unwind label %lpad6 invoke.cont7: ; preds = %invoke.cont - %call8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + %call8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 241, ptr noundef %call8) to label %invoke.cont10 unwind label %lpad9 @@ -12055,8 +12057,8 @@ invoke.cont10: ; preds = %invoke.cont7 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 %6 = load ptr, ptr %ref.tmp3, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -12065,7 +12067,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %if.end lpad: ; preds = %if.else @@ -12086,12 +12088,12 @@ lpad9: ; preds = %invoke.cont7 lpad11: ; preds = %invoke.cont10 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad9 %.pn = phi { ptr, i32 } [ %11, %lpad11 ], [ %10, %lpad9 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 br label %ehcleanup13 ehcleanup13: ; preds = %ehcleanup, %lpad6 @@ -12104,7 +12106,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i32 = load ptr, ptr %12, align 8 %vfn.i.i.i33 = getelementptr inbounds ptr, ptr %vtable.i.i.i32, i64 1 %13 = load ptr, ptr %vfn.i.i.i33, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit34 _ZN7testing7MessageD2Ev.exit34: ; preds = %ehcleanup13, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 @@ -12118,8 +12120,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i36, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl7c_equalISt6vectorIiSaIiEENSt7__cxx114listIiS2_EEEEbRKT_RKT0_.exit, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -12170,7 +12172,7 @@ _ZN4absl7c_equalINSt7__cxx114listIiSaIiEEESt6vectorIiS3_EEEbRKT_RKT0_.exit: ; pr ehcleanup14: ; preds = %_ZN7testing7MessageD2Ev.exit34, %lpad %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit34 ], [ %8, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %eh.resume if.else23: ; preds = %_ZN4absl7c_equalINSt7__cxx114listIiSaIiEEESt6vectorIiS3_EEEbRKT_RKT0_.exit.thread, %_ZN4absl7c_equalINSt7__cxx114listIiSaIiEEESt6vectorIiS3_EEEbRKT_RKT0_.exit @@ -12183,7 +12185,7 @@ invoke.cont26: ; preds = %if.else23 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont26 - %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 242, ptr noundef %call31) to label %invoke.cont33 unwind label %lpad32 @@ -12192,8 +12194,8 @@ invoke.cont33: ; preds = %invoke.cont30 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 %20 = load ptr, ptr %ref.tmp24, align 8 %cmp.not.i.i60 = icmp eq ptr %20, null br i1 %cmp.not.i.i60, label %if.end39, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i61 @@ -12202,7 +12204,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i62 = load ptr, ptr %20, align 8 %vfn.i.i.i63 = getelementptr inbounds ptr, ptr %vtable.i.i.i62, i64 1 %21 = load ptr, ptr %vfn.i.i.i63, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %if.end39 lpad25: ; preds = %if.else23 @@ -12223,12 +12225,12 @@ lpad32: ; preds = %invoke.cont30 lpad34: ; preds = %invoke.cont33 %25 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad32 %.pn4 = phi { ptr, i32 } [ %25, %lpad34 ], [ %24, %lpad32 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 br label %ehcleanup38 ehcleanup38: ; preds = %ehcleanup37, %lpad29 @@ -12241,7 +12243,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i67 = load ptr, ptr %26, align 8 %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 %27 = load ptr, ptr %vfn.i.i.i68, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #27 + call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 br label %_ZN7testing7MessageD2Ev.exit69 _ZN7testing7MessageD2Ev.exit69: ; preds = %ehcleanup38, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 @@ -12255,8 +12257,8 @@ if.end39: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i71, label %_ZN7testing15AssertionResultD2Ev.exit73, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72: ; preds = %if.end39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr255) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr255) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr255) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr255) #29 br label %_ZN7testing15AssertionResultD2Ev.exit73 _ZN7testing15AssertionResultD2Ev.exit73: ; preds = %_ZN4absl7c_equalINSt7__cxx114listIiSaIiEEESt6vectorIiS3_EEEbRKT_RKT0_.exit, %if.end39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -12297,7 +12299,7 @@ _ZN4absl7c_equalINSt7__cxx114listIiSaIiEEEA3_iEEbRKT_RKT0_.exit: ; preds = %for. ehcleanup40: ; preds = %_ZN7testing7MessageD2Ev.exit69, %lpad25 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit69 ], [ %22, %lpad25 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_15) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_15) #28 br label %eh.resume if.else48.sink.split: ; preds = %for.body.i.i.i74, %_ZN7testing15AssertionResultD2Ev.exit73 @@ -12316,7 +12318,7 @@ invoke.cont51: ; preds = %if.else48 to label %invoke.cont55 unwind label %lpad54 invoke.cont55: ; preds = %invoke.cont51 - %call56 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #27 + %call56 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 243, ptr noundef %call56) to label %invoke.cont58 unwind label %lpad57 @@ -12325,8 +12327,8 @@ invoke.cont58: ; preds = %invoke.cont55 to label %invoke.cont60 unwind label %lpad59 invoke.cont60: ; preds = %invoke.cont58 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #28 %35 = load ptr, ptr %ref.tmp49, align 8 %cmp.not.i.i84 = icmp eq ptr %35, null br i1 %cmp.not.i.i84, label %if.end64, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i85 @@ -12335,7 +12337,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i86 = load ptr, ptr %35, align 8 %vfn.i.i.i87 = getelementptr inbounds ptr, ptr %vtable.i.i.i86, i64 1 %36 = load ptr, ptr %vfn.i.i.i87, align 8 - call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #27 + call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 br label %if.end64 lpad50: ; preds = %if.else48 @@ -12356,12 +12358,12 @@ lpad57: ; preds = %invoke.cont55 lpad59: ; preds = %invoke.cont58 %40 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 br label %ehcleanup62 ehcleanup62: ; preds = %lpad59, %lpad57 %.pn8 = phi { ptr, i32 } [ %40, %lpad59 ], [ %39, %lpad57 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #28 br label %ehcleanup63 ehcleanup63: ; preds = %ehcleanup62, %lpad54 @@ -12374,7 +12376,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i91 = load ptr, ptr %41, align 8 %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 %42 = load ptr, ptr %vfn.i.i.i92, align 8 - call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #27 + call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #28 br label %_ZN7testing7MessageD2Ev.exit93 _ZN7testing7MessageD2Ev.exit93: ; preds = %ehcleanup63, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 @@ -12388,8 +12390,8 @@ if.end64: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i95, label %_ZN7testing15AssertionResultD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96: ; preds = %if.end64 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr265) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr265) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr265) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr265) #29 br label %_ZN7testing15AssertionResultD2Ev.exit97 _ZN7testing15AssertionResultD2Ev.exit97: ; preds = %_ZN4absl7c_equalINSt7__cxx114listIiSaIiEEEA3_iEEbRKT_RKT0_.exit, %if.end64, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96 @@ -12420,7 +12422,7 @@ _ZN4absl7c_equalIA3_iSt6vectorIiSaIiEEEEbRKT_RKT0_.exit: ; preds = %_ZN7testing1 ehcleanup65: ; preds = %_ZN7testing7MessageD2Ev.exit93, %lpad50 %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit93 ], [ %37, %lpad50 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_41) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_41) #28 br label %eh.resume if.else74: ; preds = %_ZN4absl7c_equalIA3_iSt6vectorIiSaIiEEEEbRKT_RKT0_.exit.thread, %_ZN4absl7c_equalIA3_iSt6vectorIiSaIiEEEEbRKT_RKT0_.exit @@ -12433,7 +12435,7 @@ invoke.cont77: ; preds = %if.else74 to label %invoke.cont81 unwind label %lpad80 invoke.cont81: ; preds = %invoke.cont77 - %call82 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #27 + %call82 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 244, ptr noundef %call82) to label %invoke.cont84 unwind label %lpad83 @@ -12442,8 +12444,8 @@ invoke.cont84: ; preds = %invoke.cont81 to label %invoke.cont86 unwind label %lpad85 invoke.cont86: ; preds = %invoke.cont84 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #28 %45 = load ptr, ptr %ref.tmp75, align 8 %cmp.not.i.i102 = icmp eq ptr %45, null br i1 %cmp.not.i.i102, label %if.end90, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 @@ -12452,7 +12454,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i104 = load ptr, ptr %45, align 8 %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 %46 = load ptr, ptr %vfn.i.i.i105, align 8 - call void %46(ptr noundef nonnull align 8 dereferenceable(128) %45) #27 + call void %46(ptr noundef nonnull align 8 dereferenceable(128) %45) #28 br label %if.end90 lpad76: ; preds = %if.else74 @@ -12473,12 +12475,12 @@ lpad83: ; preds = %invoke.cont81 lpad85: ; preds = %invoke.cont84 %50 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #28 br label %ehcleanup88 ehcleanup88: ; preds = %lpad85, %lpad83 %.pn12 = phi { ptr, i32 } [ %50, %lpad85 ], [ %49, %lpad83 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #28 br label %ehcleanup89 ehcleanup89: ; preds = %ehcleanup88, %lpad80 @@ -12491,7 +12493,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i109 = load ptr, ptr %51, align 8 %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 %52 = load ptr, ptr %vfn.i.i.i110, align 8 - call void %52(ptr noundef nonnull align 8 dereferenceable(128) %51) #27 + call void %52(ptr noundef nonnull align 8 dereferenceable(128) %51) #28 br label %_ZN7testing7MessageD2Ev.exit111 _ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup89, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 @@ -12505,27 +12507,27 @@ if.end90: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end90 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr275) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr275) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr275) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr275) #29 br label %_ZN7testing15AssertionResultD2Ev.exit115 _ZN7testing15AssertionResultD2Ev.exit115: ; preds = %_ZN4absl7c_equalIA3_iSt6vectorIiSaIiEEEEbRKT_RKT0_.exit, %if.end90, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 %message_.i100274278 = phi ptr [ %message_.i100273, %if.end90 ], [ %message_.i100273, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 ], [ %message_.i100, %_ZN4absl7c_equalIA3_iSt6vectorIiSaIiEEEEbRKT_RKT0_.exit ] store ptr null, ptr %message_.i100274278, align 8 - %call5.i.i.i.i2.i = call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store i32 1, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp92.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 2, ptr %ref.tmp92.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 %ref.tmp92.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store i32 3, ptr %ref.tmp92.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, align 4 - %call5.i.i.i.i.i.i120 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i120 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %invoke.cont100 unwind label %lpad99 invoke.cont100: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i120, i64 3 store i32 4, ptr %add.ptr.i.i.i, align 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i.i.i120, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 %53 = load ptr, ptr %sequence_, align 8 %cmp.i115.i.i.i123.not = icmp eq ptr %53, %sequence_ br i1 %cmp.i115.i.i.i123.not, label %invoke.cont104.thread323, label %for.body.i.i.i132 @@ -12572,7 +12574,7 @@ invoke.cont104: ; preds = %for.inc.i.i.i137 ehcleanup91: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad76 %.pn12.pn.pn = phi { ptr, i32 } [ %.pn12.pn, %_ZN7testing7MessageD2Ev.exit111 ], [ %47, %lpad76 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_66) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_66) #28 br label %eh.resume lpad99: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 @@ -12589,7 +12591,7 @@ invoke.cont113: ; preds = %if.else110 to label %invoke.cont117 unwind label %lpad116 invoke.cont117: ; preds = %invoke.cont113 - %call118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #27 + %call118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 249, ptr noundef %call118) to label %invoke.cont120 unwind label %lpad119 @@ -12598,8 +12600,8 @@ invoke.cont120: ; preds = %invoke.cont117 to label %invoke.cont122 unwind label %lpad121 invoke.cont122: ; preds = %invoke.cont120 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #28 %58 = load ptr, ptr %ref.tmp111, align 8 %cmp.not.i.i145 = icmp eq ptr %58, null br i1 %cmp.not.i.i145, label %if.end126, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146 @@ -12608,7 +12610,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i147 = load ptr, ptr %58, align 8 %vfn.i.i.i148 = getelementptr inbounds ptr, ptr %vtable.i.i.i147, i64 1 %59 = load ptr, ptr %vfn.i.i.i148, align 8 - call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #27 + call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #28 br label %if.end126 lpad112: ; preds = %if.else110 @@ -12629,12 +12631,12 @@ lpad119: ; preds = %invoke.cont117 lpad121: ; preds = %invoke.cont120 %63 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) #28 br label %ehcleanup124 ehcleanup124: ; preds = %lpad121, %lpad119 %.pn16 = phi { ptr, i32 } [ %63, %lpad121 ], [ %62, %lpad119 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #28 br label %ehcleanup125 ehcleanup125: ; preds = %ehcleanup124, %lpad116 @@ -12647,7 +12649,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i152 = load ptr, ptr %64, align 8 %vfn.i.i.i153 = getelementptr inbounds ptr, ptr %vtable.i.i.i152, i64 1 %65 = load ptr, ptr %vfn.i.i.i153, align 8 - call void %65(ptr noundef nonnull align 8 dereferenceable(128) %64) #27 + call void %65(ptr noundef nonnull align 8 dereferenceable(128) %64) #28 br label %_ZN7testing7MessageD2Ev.exit154 _ZN7testing7MessageD2Ev.exit154: ; preds = %ehcleanup125, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 @@ -12661,8 +12663,8 @@ if.end126: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i156, label %_ZN7testing15AssertionResultD2Ev.exit158, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157: ; preds = %if.end126 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr285) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr285) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr285) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr285) #29 br label %_ZN7testing15AssertionResultD2Ev.exit158 _ZN7testing15AssertionResultD2Ev.exit158: ; preds = %invoke.cont104.thread323, %invoke.cont104, %invoke.cont104.thread, %if.end126, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157 @@ -12714,7 +12716,7 @@ invoke.cont131: ; preds = %for.inc.i.i.i175 ehcleanup127: ; preds = %_ZN7testing7MessageD2Ev.exit154, %lpad112 %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %_ZN7testing7MessageD2Ev.exit154 ], [ %60, %lpad112 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_101) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_101) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit228 if.else138: ; preds = %invoke.cont131 @@ -12726,7 +12728,7 @@ invoke.cont141: ; preds = %if.else138 to label %invoke.cont145 unwind label %lpad144 invoke.cont145: ; preds = %invoke.cont141 - %call146 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #27 + %call146 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 250, ptr noundef %call146) to label %invoke.cont148 unwind label %lpad147 @@ -12735,8 +12737,8 @@ invoke.cont148: ; preds = %invoke.cont145 to label %invoke.cont150 unwind label %lpad149 invoke.cont150: ; preds = %invoke.cont148 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #28 %71 = load ptr, ptr %ref.tmp139, align 8 %cmp.not.i.i183 = icmp eq ptr %71, null br i1 %cmp.not.i.i183, label %if.end154, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184 @@ -12745,7 +12747,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i185 = load ptr, ptr %71, align 8 %vfn.i.i.i186 = getelementptr inbounds ptr, ptr %vtable.i.i.i185, i64 1 %72 = load ptr, ptr %vfn.i.i.i186, align 8 - call void %72(ptr noundef nonnull align 8 dereferenceable(128) %71) #27 + call void %72(ptr noundef nonnull align 8 dereferenceable(128) %71) #28 br label %if.end154 lpad140: ; preds = %if.else138 @@ -12766,12 +12768,12 @@ lpad147: ; preds = %invoke.cont145 lpad149: ; preds = %invoke.cont148 %76 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142) #28 br label %ehcleanup152 ehcleanup152: ; preds = %lpad149, %lpad147 %.pn20 = phi { ptr, i32 } [ %76, %lpad149 ], [ %75, %lpad147 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #28 br label %ehcleanup153 ehcleanup153: ; preds = %ehcleanup152, %lpad144 @@ -12784,7 +12786,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i190 = load ptr, ptr %77, align 8 %vfn.i.i.i191 = getelementptr inbounds ptr, ptr %vtable.i.i.i190, i64 1 %78 = load ptr, ptr %vfn.i.i.i191, align 8 - call void %78(ptr noundef nonnull align 8 dereferenceable(128) %77) #27 + call void %78(ptr noundef nonnull align 8 dereferenceable(128) %77) #28 br label %_ZN7testing7MessageD2Ev.exit192 _ZN7testing7MessageD2Ev.exit192: ; preds = %ehcleanup153, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 @@ -12798,25 +12800,25 @@ if.end154: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i194, label %_ZN7testing15AssertionResultD2Ev.exit196, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195: ; preds = %if.end154 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr295) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr295) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr295) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr295) #29 br label %_ZN7testing15AssertionResultD2Ev.exit196 _ZN7testing15AssertionResultD2Ev.exit196: ; preds = %invoke.cont131.thread331, %invoke.cont131, %invoke.cont131.thread, %if.end154, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 %message_.i181294298 = phi ptr [ %message_.i181, %if.end154 ], [ %message_.i181, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 ], [ %message_.i181, %invoke.cont131 ], [ %message_.i181292, %invoke.cont131.thread ], [ %message_.i181337, %invoke.cont131.thread331 ] store ptr null, ptr %message_.i181294298, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i120) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i120) #29 ret void ehcleanup155: ; preds = %_ZN7testing7MessageD2Ev.exit192, %lpad140 %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit192 ], [ %73, %lpad140 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_128) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_128) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit228 _ZNSt6vectorIiSaIiEED2Ev.exit228: ; preds = %ehcleanup155, %ehcleanup127, %lpad99 %vector_plus.sroa.0.1 = phi ptr [ %call5.i.i.i.i2.i, %lpad99 ], [ %call5.i.i.i.i.i.i120, %ehcleanup155 ], [ %call5.i.i.i.i.i.i120, %ehcleanup127 ] %.pn24.pn.pn.pn = phi { ptr, i32 } [ %57, %lpad99 ], [ %.pn20.pn.pn, %ehcleanup155 ], [ %.pn16.pn.pn, %ehcleanup127 ] - call void @_ZdlPv(ptr noundef nonnull %vector_plus.sroa.0.1) #28 + call void @_ZdlPv(ptr noundef nonnull %vector_plus.sroa.0.1) #29 br label %eh.resume eh.resume: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit228, %ehcleanup91, %ehcleanup65, %ehcleanup40, %ehcleanup14 @@ -12835,14 +12837,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_139NonMutatingTest_EqualWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_139NonMutatingTest_EqualWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -12853,22 +12855,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_139NonMutatingTest_EqualWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_139NonMutatingTest_EqualWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -12955,7 +12957,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont7 unwind label %lpad6 invoke.cont7: ; preds = %invoke.cont - %call8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + %call8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 255, ptr noundef %call8) to label %invoke.cont10 unwind label %lpad9 @@ -12964,8 +12966,8 @@ invoke.cont10: ; preds = %invoke.cont7 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 %6 = load ptr, ptr %ref.tmp3, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -12974,7 +12976,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %if.end lpad: ; preds = %if.else @@ -12995,12 +12997,12 @@ lpad9: ; preds = %invoke.cont7 lpad11: ; preds = %invoke.cont10 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad9 %.pn = phi { ptr, i32 } [ %11, %lpad11 ], [ %10, %lpad9 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 br label %ehcleanup13 ehcleanup13: ; preds = %ehcleanup, %lpad6 @@ -13013,7 +13015,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i32 = load ptr, ptr %12, align 8 %vfn.i.i.i33 = getelementptr inbounds ptr, ptr %vtable.i.i.i32, i64 1 %13 = load ptr, ptr %vfn.i.i.i33, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit34 _ZN7testing7MessageD2Ev.exit34: ; preds = %ehcleanup13, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 @@ -13027,8 +13029,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i36, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl7c_equalISt6vectorIiSaIiEENSt7__cxx114listIiS2_EERFbiiEEEbRKT_RKT0_OT1_.exit, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -13079,7 +13081,7 @@ _ZN4absl7c_equalINSt7__cxx114listIiSaIiEEESt6vectorIiS3_ERFbiiEEEbRKT_RKT0_OT1_. ehcleanup14: ; preds = %_ZN7testing7MessageD2Ev.exit34, %lpad %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit34 ], [ %8, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %eh.resume if.else23: ; preds = %_ZN4absl7c_equalINSt7__cxx114listIiSaIiEEESt6vectorIiS3_ERFbiiEEEbRKT_RKT0_OT1_.exit.thread, %_ZN4absl7c_equalINSt7__cxx114listIiSaIiEEESt6vectorIiS3_ERFbiiEEEbRKT_RKT0_OT1_.exit @@ -13092,7 +13094,7 @@ invoke.cont26: ; preds = %if.else23 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont26 - %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 256, ptr noundef %call31) to label %invoke.cont33 unwind label %lpad32 @@ -13101,8 +13103,8 @@ invoke.cont33: ; preds = %invoke.cont30 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 %20 = load ptr, ptr %ref.tmp24, align 8 %cmp.not.i.i60 = icmp eq ptr %20, null br i1 %cmp.not.i.i60, label %if.end39, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i61 @@ -13111,7 +13113,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i62 = load ptr, ptr %20, align 8 %vfn.i.i.i63 = getelementptr inbounds ptr, ptr %vtable.i.i.i62, i64 1 %21 = load ptr, ptr %vfn.i.i.i63, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %if.end39 lpad25: ; preds = %if.else23 @@ -13132,12 +13134,12 @@ lpad32: ; preds = %invoke.cont30 lpad34: ; preds = %invoke.cont33 %25 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad32 %.pn4 = phi { ptr, i32 } [ %25, %lpad34 ], [ %24, %lpad32 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 br label %ehcleanup38 ehcleanup38: ; preds = %ehcleanup37, %lpad29 @@ -13150,7 +13152,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i67 = load ptr, ptr %26, align 8 %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 %27 = load ptr, ptr %vfn.i.i.i68, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #27 + call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 br label %_ZN7testing7MessageD2Ev.exit69 _ZN7testing7MessageD2Ev.exit69: ; preds = %ehcleanup38, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 @@ -13164,8 +13166,8 @@ if.end39: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i71, label %_ZN7testing15AssertionResultD2Ev.exit73, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72: ; preds = %if.end39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr266) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr266) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr266) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr266) #29 br label %_ZN7testing15AssertionResultD2Ev.exit73 _ZN7testing15AssertionResultD2Ev.exit73: ; preds = %_ZN4absl7c_equalINSt7__cxx114listIiSaIiEEESt6vectorIiS3_ERFbiiEEEbRKT_RKT0_OT1_.exit, %if.end39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -13211,7 +13213,7 @@ _ZN4absl7c_equalIA3_iNSt7__cxx114listIiSaIiEEERFbiiEEEbRKT_RKT0_OT1_.exit: ; pre ehcleanup40: ; preds = %_ZN7testing7MessageD2Ev.exit69, %lpad25 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit69 ], [ %22, %lpad25 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_15) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_15) #28 br label %eh.resume if.else48: ; preds = %_ZN4absl7c_equalIA3_iNSt7__cxx114listIiSaIiEEERFbiiEEEbRKT_RKT0_OT1_.exit.thread, %_ZN4absl7c_equalIA3_iNSt7__cxx114listIiSaIiEEERFbiiEEEbRKT_RKT0_OT1_.exit @@ -13224,7 +13226,7 @@ invoke.cont51: ; preds = %if.else48 to label %invoke.cont55 unwind label %lpad54 invoke.cont55: ; preds = %invoke.cont51 - %call56 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #27 + %call56 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 257, ptr noundef %call56) to label %invoke.cont58 unwind label %lpad57 @@ -13233,8 +13235,8 @@ invoke.cont58: ; preds = %invoke.cont55 to label %invoke.cont60 unwind label %lpad59 invoke.cont60: ; preds = %invoke.cont58 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #28 %32 = load ptr, ptr %ref.tmp49, align 8 %cmp.not.i.i80 = icmp eq ptr %32, null br i1 %cmp.not.i.i80, label %if.end64, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i81 @@ -13243,7 +13245,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i82 = load ptr, ptr %32, align 8 %vfn.i.i.i83 = getelementptr inbounds ptr, ptr %vtable.i.i.i82, i64 1 %33 = load ptr, ptr %vfn.i.i.i83, align 8 - call void %33(ptr noundef nonnull align 8 dereferenceable(128) %32) #27 + call void %33(ptr noundef nonnull align 8 dereferenceable(128) %32) #28 br label %if.end64 lpad50: ; preds = %if.else48 @@ -13264,12 +13266,12 @@ lpad57: ; preds = %invoke.cont55 lpad59: ; preds = %invoke.cont58 %37 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 br label %ehcleanup62 ehcleanup62: ; preds = %lpad59, %lpad57 %.pn8 = phi { ptr, i32 } [ %37, %lpad59 ], [ %36, %lpad57 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp53) #28 br label %ehcleanup63 ehcleanup63: ; preds = %ehcleanup62, %lpad54 @@ -13282,7 +13284,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i87 = load ptr, ptr %38, align 8 %vfn.i.i.i88 = getelementptr inbounds ptr, ptr %vtable.i.i.i87, i64 1 %39 = load ptr, ptr %vfn.i.i.i88, align 8 - call void %39(ptr noundef nonnull align 8 dereferenceable(128) %38) #27 + call void %39(ptr noundef nonnull align 8 dereferenceable(128) %38) #28 br label %_ZN7testing7MessageD2Ev.exit89 _ZN7testing7MessageD2Ev.exit89: ; preds = %ehcleanup63, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 @@ -13296,8 +13298,8 @@ if.end64: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i91, label %_ZN7testing15AssertionResultD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92: ; preds = %if.end64 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr276) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr276) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr276) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr276) #29 br label %_ZN7testing15AssertionResultD2Ev.exit93 _ZN7testing15AssertionResultD2Ev.exit93: ; preds = %_ZN4absl7c_equalIA3_iNSt7__cxx114listIiSaIiEEERFbiiEEEbRKT_RKT0_OT1_.exit, %if.end64, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 @@ -13337,7 +13339,7 @@ if.end90.thread: ; preds = %for.inc.i.i.i.i, %i ehcleanup65: ; preds = %_ZN7testing7MessageD2Ev.exit89, %lpad50 %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit89 ], [ %34, %lpad50 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_41) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_41) #28 br label %eh.resume if.else74: ; preds = %for.body.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit93 @@ -13352,7 +13354,7 @@ invoke.cont77: ; preds = %if.else74 to label %invoke.cont81 unwind label %lpad80 invoke.cont81: ; preds = %invoke.cont77 - %call82 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #27 + %call82 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 258, ptr noundef %call82) to label %invoke.cont84 unwind label %lpad83 @@ -13361,8 +13363,8 @@ invoke.cont84: ; preds = %invoke.cont81 to label %invoke.cont86 unwind label %lpad85 invoke.cont86: ; preds = %invoke.cont84 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #28 %44 = load ptr, ptr %ref.tmp75, align 8 %cmp.not.i.i100 = icmp eq ptr %44, null br i1 %cmp.not.i.i100, label %if.end90, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 @@ -13371,7 +13373,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i102 = load ptr, ptr %44, align 8 %vfn.i.i.i103 = getelementptr inbounds ptr, ptr %vtable.i.i.i102, i64 1 %45 = load ptr, ptr %vfn.i.i.i103, align 8 - call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #27 + call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #28 br label %if.end90 lpad76: ; preds = %if.else74 @@ -13392,12 +13394,12 @@ lpad83: ; preds = %invoke.cont81 lpad85: ; preds = %invoke.cont84 %49 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #28 br label %ehcleanup88 ehcleanup88: ; preds = %lpad85, %lpad83 %.pn12 = phi { ptr, i32 } [ %49, %lpad85 ], [ %48, %lpad83 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp79) #28 br label %ehcleanup89 ehcleanup89: ; preds = %ehcleanup88, %lpad80 @@ -13410,7 +13412,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i107 = load ptr, ptr %50, align 8 %vfn.i.i.i108 = getelementptr inbounds ptr, ptr %vtable.i.i.i107, i64 1 %51 = load ptr, ptr %vfn.i.i.i108, align 8 - call void %51(ptr noundef nonnull align 8 dereferenceable(128) %50) #27 + call void %51(ptr noundef nonnull align 8 dereferenceable(128) %50) #28 br label %_ZN7testing7MessageD2Ev.exit109 _ZN7testing7MessageD2Ev.exit109: ; preds = %ehcleanup89, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 @@ -13424,27 +13426,27 @@ if.end90: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i111, label %_ZN7testing15AssertionResultD2Ev.exit113, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112: ; preds = %if.end90 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr285) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr285) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr285) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr285) #29 br label %_ZN7testing15AssertionResultD2Ev.exit113 _ZN7testing15AssertionResultD2Ev.exit113: ; preds = %if.end90.thread, %if.end90, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 %message_.i98284288 = phi ptr [ %message_.i98282, %if.end90.thread ], [ %message_.i98, %if.end90 ], [ %message_.i98, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 ] store ptr null, ptr %message_.i98284288, align 8 - %call5.i.i.i.i2.i = call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store i32 1, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp92.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 2, ptr %ref.tmp92.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 %ref.tmp92.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store i32 3, ptr %ref.tmp92.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, align 4 - %call5.i.i.i.i.i.i118 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i118 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %invoke.cont100 unwind label %lpad99 invoke.cont100: ; preds = %_ZN7testing15AssertionResultD2Ev.exit113 %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i118, i64 3 store i32 4, ptr %add.ptr.i.i.i, align 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i.i.i118, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 %52 = load ptr, ptr %sequence_, align 8 %cmp.i115.i.i.i121.not = icmp eq ptr %52, %sequence_ br i1 %cmp.i115.i.i.i121.not, label %invoke.cont104.thread327, label %for.body.i.i.i130 @@ -13491,7 +13493,7 @@ invoke.cont104: ; preds = %for.inc.i.i.i135 ehcleanup91: ; preds = %_ZN7testing7MessageD2Ev.exit109, %lpad76 %.pn12.pn.pn = phi { ptr, i32 } [ %.pn12.pn, %_ZN7testing7MessageD2Ev.exit109 ], [ %46, %lpad76 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_66) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_66) #28 br label %eh.resume lpad99: ; preds = %_ZN7testing15AssertionResultD2Ev.exit113 @@ -13508,7 +13510,7 @@ invoke.cont113: ; preds = %if.else110 to label %invoke.cont117 unwind label %lpad116 invoke.cont117: ; preds = %invoke.cont113 - %call118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #27 + %call118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 263, ptr noundef %call118) to label %invoke.cont120 unwind label %lpad119 @@ -13517,8 +13519,8 @@ invoke.cont120: ; preds = %invoke.cont117 to label %invoke.cont122 unwind label %lpad121 invoke.cont122: ; preds = %invoke.cont120 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #28 %57 = load ptr, ptr %ref.tmp111, align 8 %cmp.not.i.i143 = icmp eq ptr %57, null br i1 %cmp.not.i.i143, label %if.end126, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 @@ -13527,7 +13529,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i145 = load ptr, ptr %57, align 8 %vfn.i.i.i146 = getelementptr inbounds ptr, ptr %vtable.i.i.i145, i64 1 %58 = load ptr, ptr %vfn.i.i.i146, align 8 - call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #27 + call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #28 br label %if.end126 lpad112: ; preds = %if.else110 @@ -13548,12 +13550,12 @@ lpad119: ; preds = %invoke.cont117 lpad121: ; preds = %invoke.cont120 %62 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) #28 br label %ehcleanup124 ehcleanup124: ; preds = %lpad121, %lpad119 %.pn16 = phi { ptr, i32 } [ %62, %lpad121 ], [ %61, %lpad119 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp115) #28 br label %ehcleanup125 ehcleanup125: ; preds = %ehcleanup124, %lpad116 @@ -13566,7 +13568,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i150 = load ptr, ptr %63, align 8 %vfn.i.i.i151 = getelementptr inbounds ptr, ptr %vtable.i.i.i150, i64 1 %64 = load ptr, ptr %vfn.i.i.i151, align 8 - call void %64(ptr noundef nonnull align 8 dereferenceable(128) %63) #27 + call void %64(ptr noundef nonnull align 8 dereferenceable(128) %63) #28 br label %_ZN7testing7MessageD2Ev.exit152 _ZN7testing7MessageD2Ev.exit152: ; preds = %ehcleanup125, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149 @@ -13580,8 +13582,8 @@ if.end126: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i154, label %_ZN7testing15AssertionResultD2Ev.exit156, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155: ; preds = %if.end126 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr295) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr295) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr295) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr295) #29 br label %_ZN7testing15AssertionResultD2Ev.exit156 _ZN7testing15AssertionResultD2Ev.exit156: ; preds = %invoke.cont104.thread327, %invoke.cont104, %invoke.cont104.thread, %if.end126, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 @@ -13633,7 +13635,7 @@ invoke.cont131: ; preds = %for.inc.i.i.i173 ehcleanup127: ; preds = %_ZN7testing7MessageD2Ev.exit152, %lpad112 %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %_ZN7testing7MessageD2Ev.exit152 ], [ %59, %lpad112 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_101) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_101) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit233 if.else138: ; preds = %invoke.cont131 @@ -13645,7 +13647,7 @@ invoke.cont141: ; preds = %if.else138 to label %invoke.cont145 unwind label %lpad144 invoke.cont145: ; preds = %invoke.cont141 - %call146 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #27 + %call146 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 264, ptr noundef %call146) to label %invoke.cont148 unwind label %lpad147 @@ -13654,8 +13656,8 @@ invoke.cont148: ; preds = %invoke.cont145 to label %invoke.cont150 unwind label %lpad149 invoke.cont150: ; preds = %invoke.cont148 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #28 %70 = load ptr, ptr %ref.tmp139, align 8 %cmp.not.i.i181 = icmp eq ptr %70, null br i1 %cmp.not.i.i181, label %if.end154, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 @@ -13664,7 +13666,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i183 = load ptr, ptr %70, align 8 %vfn.i.i.i184 = getelementptr inbounds ptr, ptr %vtable.i.i.i183, i64 1 %71 = load ptr, ptr %vfn.i.i.i184, align 8 - call void %71(ptr noundef nonnull align 8 dereferenceable(128) %70) #27 + call void %71(ptr noundef nonnull align 8 dereferenceable(128) %70) #28 br label %if.end154 lpad140: ; preds = %if.else138 @@ -13685,12 +13687,12 @@ lpad147: ; preds = %invoke.cont145 lpad149: ; preds = %invoke.cont148 %75 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp142) #28 br label %ehcleanup152 ehcleanup152: ; preds = %lpad149, %lpad147 %.pn20 = phi { ptr, i32 } [ %75, %lpad149 ], [ %74, %lpad147 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp143) #28 br label %ehcleanup153 ehcleanup153: ; preds = %ehcleanup152, %lpad144 @@ -13703,7 +13705,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i188 = load ptr, ptr %76, align 8 %vfn.i.i.i189 = getelementptr inbounds ptr, ptr %vtable.i.i.i188, i64 1 %77 = load ptr, ptr %vfn.i.i.i189, align 8 - call void %77(ptr noundef nonnull align 8 dereferenceable(128) %76) #27 + call void %77(ptr noundef nonnull align 8 dereferenceable(128) %76) #28 br label %_ZN7testing7MessageD2Ev.exit190 _ZN7testing7MessageD2Ev.exit190: ; preds = %ehcleanup153, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 @@ -13717,25 +13719,25 @@ if.end154: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i192, label %_ZN7testing15AssertionResultD2Ev.exit194, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193: ; preds = %if.end154 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr305) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr305) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr305) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr305) #29 br label %_ZN7testing15AssertionResultD2Ev.exit194 _ZN7testing15AssertionResultD2Ev.exit194: ; preds = %invoke.cont131.thread335, %invoke.cont131, %invoke.cont131.thread, %if.end154, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 %message_.i179304308 = phi ptr [ %message_.i179, %if.end154 ], [ %message_.i179, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 ], [ %message_.i179, %invoke.cont131 ], [ %message_.i179302, %invoke.cont131.thread ], [ %message_.i179341, %invoke.cont131.thread335 ] store ptr null, ptr %message_.i179304308, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i118) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i118) #29 ret void ehcleanup155: ; preds = %_ZN7testing7MessageD2Ev.exit190, %lpad140 %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit190 ], [ %72, %lpad140 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_128) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_128) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit233 _ZNSt6vectorIiSaIiEED2Ev.exit233: ; preds = %ehcleanup155, %ehcleanup127, %lpad99 %vector_plus.sroa.0.1 = phi ptr [ %call5.i.i.i.i2.i, %lpad99 ], [ %call5.i.i.i.i.i.i118, %ehcleanup155 ], [ %call5.i.i.i.i.i.i118, %ehcleanup127 ] %.pn24.pn.pn.pn = phi { ptr, i32 } [ %56, %lpad99 ], [ %.pn20.pn.pn, %ehcleanup155 ], [ %.pn16.pn.pn, %ehcleanup127 ] - call void @_ZdlPv(ptr noundef nonnull %vector_plus.sroa.0.1) #28 + call void @_ZdlPv(ptr noundef nonnull %vector_plus.sroa.0.1) #29 br label %eh.resume eh.resume: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit233, %ehcleanup91, %ehcleanup65, %ehcleanup40, %ehcleanup14 @@ -13752,14 +13754,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_134NonMutatingTest_IsPermutation_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_134NonMutatingTest_IsPermutation_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -13770,22 +13772,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_134NonMutatingTest_IsPermutation_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_134NonMutatingTest_IsPermutation_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -13815,32 +13817,31 @@ entry: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %0 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %1 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 %cmp.not.i.i.i.i = icmp eq ptr %0, %1 br i1 %cmp.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread, label %cond.true.i.i.i.i _ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread: ; preds = %entry - %add.ptr.i.i.i.i.i.i.i.i.i156 = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.ptr156 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i br label %invoke.cont cond.true.i.i.i.i: ; preds = %entry - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit if.then3.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - tail call void @_ZSt28__throw_bad_array_new_lengthv() #30 + tail call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable _ZNSt6vectorIiSaIiEEC2ERKS1_.exit: ; preds = %cond.true.i.i.i.i - %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #29 + %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #30 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i, ptr align 4 %1, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i, i64 %sub.ptr.div.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i, i64 %sub.ptr.sub.i.i %cmp.i1.i.i = icmp eq i64 %sub.ptr.sub.i.i, 4 %or.cond.i.i = or i1 %cmp.not.i.i.i.i, %cmp.i1.i.i br i1 %or.cond.i.i, label %invoke.cont, label %if.end5.i.i if.end5.i.i: ; preds = %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit - %incdec.ptr.i2.ptr.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 -4 + %incdec.ptr.i2.ptr.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr, i64 -4 %.pre.i.i = load i32, ptr %incdec.ptr.i2.ptr.i.i, align 4 br label %for.cond.i.i @@ -13848,13 +13849,13 @@ for.cond.i.i: ; preds = %if.end28.i.i, %if.e %2 = phi i32 [ %.pre.i.i, %if.end5.i.i ], [ %3, %if.end28.i.i ] %__i.sroa.0.0.idx.i.i = phi i64 [ -4, %if.end5.i.i ], [ %__i.sroa.0.0.add.i.i, %if.end28.i.i ] %__i.sroa.0.0.add.i.i = add nsw i64 %__i.sroa.0.0.idx.i.i, -4 - %incdec.ptr.i3.ptr.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 %__i.sroa.0.0.add.i.i + %incdec.ptr.i3.ptr.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr, i64 %__i.sroa.0.0.add.i.i %3 = load i32, ptr %incdec.ptr.i3.ptr.i.i, align 4 %cmp.i4.i.i = icmp slt i32 %3, %2 br i1 %cmp.i4.i.i, label %while.cond.i.i, label %if.end28.i.i while.cond.i.i: ; preds = %for.cond.i.i, %while.cond.i.i - %__j.sroa.0.0.i.i = phi ptr [ %incdec.ptr.i5.i.i, %while.cond.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %for.cond.i.i ] + %__j.sroa.0.0.i.i = phi ptr [ %incdec.ptr.i5.i.i, %while.cond.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %for.cond.i.i ] %incdec.ptr.i5.i.i = getelementptr inbounds i32, ptr %__j.sroa.0.0.i.i, i64 -1 %4 = load i32, ptr %incdec.ptr.i5.i.i, align 4 %cmp.i6.i.i = icmp slt i32 %3, %4 @@ -13867,7 +13868,7 @@ while.end.i.i: ; preds = %while.cond.i.i br i1 %cmp.i110.i.not.i.i, label %invoke.cont, label %while.body.i.i.preheader.i while.body.i.i.preheader.i: ; preds = %while.end.i.i - %__i.sroa.0.0.ptr.le.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 %__i.sroa.0.0.idx.i.i + %__i.sroa.0.0.ptr.le.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr, i64 %__i.sroa.0.0.idx.i.i br label %while.body.i.i.i while.body.i.i.i: ; preds = %while.body.i.i.i, %while.body.i.i.preheader.i @@ -13903,11 +13904,11 @@ while.body.i12.i.i: ; preds = %if.then30.i.i, %whi br i1 %cmp.i1.i17.i.i, label %while.body.i12.i.i, label %invoke.cont, !llvm.loop !287 invoke.cont: ; preds = %while.body.i12.i.i, %while.body.i.i.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread, %if.then30.i.i, %while.end.i.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit - %add.ptr.i.i.i.i.i.i.i.i.i170 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i156, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %if.then30.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %while.end.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %while.body.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %while.body.i12.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.ptr170 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr156, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %if.then30.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %while.end.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %while.body.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %while.body.i12.i.i ] %cond.i.i.i.i127159 = phi ptr [ null, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread ], [ %call5.i.i.i.i2.i6.i, %if.then30.i.i ], [ %call5.i.i.i.i2.i6.i, %while.end.i.i ], [ %call5.i.i.i.i2.i6.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ], [ %call5.i.i.i.i2.i6.i, %while.body.i.i.i ], [ %call5.i.i.i.i2.i6.i, %while.body.i12.i.i ] %sequence_ = getelementptr inbounds %"class.(anonymous namespace)::NonMutatingTest", ptr %this, i64 0, i32 2 %9 = load ptr, ptr %sequence_, align 8 - %call.i.i18 = invoke noundef zeroext i1 @_ZSt16__is_permutationIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20_List_const_iteratorIiENS0_5__ops19_Iter_equal_to_iterEEbT_SC_T0_SD_T1_(ptr %cond.i.i.i.i127159, ptr %add.ptr.i.i.i.i.i.i.i.i.i170, ptr %9, ptr nonnull %sequence_) + %call.i.i18 = invoke noundef zeroext i1 @_ZSt16__is_permutationIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20_List_const_iteratorIiENS0_5__ops19_Iter_equal_to_iterEEbT_SC_T0_SD_T1_(ptr %cond.i.i.i.i127159, ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr170, ptr %9, ptr nonnull %sequence_) to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont @@ -13931,7 +13932,7 @@ invoke.cont14: ; preds = %if.else to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont14 - %call19 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #27 + %call19 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 271, ptr noundef %call19) to label %invoke.cont21 unwind label %lpad20 @@ -13940,8 +13941,8 @@ invoke.cont21: ; preds = %invoke.cont18 to label %invoke.cont23 unwind label %lpad22 invoke.cont23: ; preds = %invoke.cont21 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #28 %11 = load ptr, ptr %ref.tmp12, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -13950,7 +13951,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %if.end lpad13: ; preds = %if.else @@ -13971,12 +13972,12 @@ lpad20: ; preds = %invoke.cont18 lpad22: ; preds = %invoke.cont21 %16 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #28 br label %ehcleanup ehcleanup: ; preds = %lpad22, %lpad20 %.pn = phi { ptr, i32 } [ %16, %lpad22 ], [ %15, %lpad20 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #28 br label %ehcleanup24 ehcleanup24: ; preds = %ehcleanup, %lpad17 @@ -13989,7 +13990,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i21 = load ptr, ptr %17, align 8 %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 %18 = load ptr, ptr %vfn.i.i.i22, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit23 _ZN7testing7MessageD2Ev.exit23: ; preds = %ehcleanup24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 @@ -14003,14 +14004,14 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i25, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont8, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %19 = load ptr, ptr %sequence_, align 8 - %call.i.i27 = invoke noundef zeroext i1 @_ZSt16__is_permutationISt20_List_const_iteratorIiEN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS2_5__ops19_Iter_equal_to_iterEEbT_SC_T0_SD_T1_(ptr %19, ptr nonnull %sequence_, ptr %cond.i.i.i.i127159, ptr %add.ptr.i.i.i.i.i.i.i.i.i170) + %call.i.i27 = invoke noundef zeroext i1 @_ZSt16__is_permutationISt20_List_const_iteratorIiEN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS2_5__ops19_Iter_equal_to_iterEEbT_SC_T0_SD_T1_(ptr %19, ptr nonnull %sequence_, ptr %cond.i.i.i.i127159, ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr170) to label %invoke.cont29 unwind label %lpad invoke.cont29: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -14022,7 +14023,7 @@ invoke.cont29: ; preds = %_ZN7testing15Assert ehcleanup25: ; preds = %_ZN7testing7MessageD2Ev.exit23, %lpad13 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit23 ], [ %13, %lpad13 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup119 if.else35: ; preds = %invoke.cont29 @@ -14034,7 +14035,7 @@ invoke.cont38: ; preds = %if.else35 to label %invoke.cont42 unwind label %lpad41 invoke.cont42: ; preds = %invoke.cont38 - %call43 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + %call43 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 272, ptr noundef %call43) to label %invoke.cont45 unwind label %lpad44 @@ -14043,8 +14044,8 @@ invoke.cont45: ; preds = %invoke.cont42 to label %invoke.cont47 unwind label %lpad46 invoke.cont47: ; preds = %invoke.cont45 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 %20 = load ptr, ptr %ref.tmp36, align 8 %cmp.not.i.i30 = icmp eq ptr %20, null br i1 %cmp.not.i.i30, label %if.end51, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 @@ -14053,7 +14054,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i32 = load ptr, ptr %20, align 8 %vfn.i.i.i33 = getelementptr inbounds ptr, ptr %vtable.i.i.i32, i64 1 %21 = load ptr, ptr %vfn.i.i.i33, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %if.end51 lpad37: ; preds = %if.else35 @@ -14074,12 +14075,12 @@ lpad44: ; preds = %invoke.cont42 lpad46: ; preds = %invoke.cont45 %25 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #28 br label %ehcleanup49 ehcleanup49: ; preds = %lpad46, %lpad44 %.pn4 = phi { ptr, i32 } [ %25, %lpad46 ], [ %24, %lpad44 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 br label %ehcleanup50 ehcleanup50: ; preds = %ehcleanup49, %lpad41 @@ -14092,7 +14093,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i37 = load ptr, ptr %26, align 8 %vfn.i.i.i38 = getelementptr inbounds ptr, ptr %vtable.i.i.i37, i64 1 %27 = load ptr, ptr %vfn.i.i.i38, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #27 + call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 br label %_ZN7testing7MessageD2Ev.exit39 _ZN7testing7MessageD2Ev.exit39: ; preds = %ehcleanup50, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i36 @@ -14106,13 +14107,13 @@ if.end51: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i41, label %_ZN7testing15AssertionResultD2Ev.exit43, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42: ; preds = %if.end51 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr133) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr133) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr133) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr133) #29 br label %_ZN7testing15AssertionResultD2Ev.exit43 _ZN7testing15AssertionResultD2Ev.exit43: ; preds = %invoke.cont29, %if.end51, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 store ptr null, ptr %message_.i28, align 8 - %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i51 unwind label %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i _ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit43 @@ -14126,7 +14127,7 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i51: ; preds = %_ZN7tes store i32 2, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 %ref.tmp54.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store i32 3, ptr %ref.tmp54.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, align 4 - %call5.i.i.i.i.i.i54 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i54 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %invoke.cont62 unwind label %lpad61 invoke.cont62: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i51 @@ -14134,7 +14135,7 @@ invoke.cont62: ; preds = %_ZNSt16allocator_tr store i32 4, ptr %add.ptr.i.i.i52, align 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i.i.i54, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) %incdec.ptr.i.i.i53 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i54, i64 4 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 %29 = load ptr, ptr %sequence_, align 8 %call.i.i56 = invoke noundef zeroext i1 @_ZSt16__is_permutationIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20_List_const_iteratorIiENS0_5__ops19_Iter_equal_to_iterEEbT_SC_T0_SD_T1_(ptr nonnull %call5.i.i.i.i.i.i54, ptr nonnull %incdec.ptr.i.i.i53, ptr %29, ptr nonnull %sequence_) to label %invoke.cont66 unwind label %lpad61 @@ -14149,7 +14150,7 @@ invoke.cont66: ; preds = %invoke.cont62 ehcleanup52: ; preds = %_ZN7testing7MessageD2Ev.exit39, %lpad37 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit39 ], [ %22, %lpad37 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_26) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_26) #28 br label %ehcleanup119 lpad61: ; preds = %_ZN7testing15AssertionResultD2Ev.exit73, %invoke.cont62, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i51 @@ -14167,7 +14168,7 @@ invoke.cont75: ; preds = %if.else72 to label %invoke.cont79 unwind label %lpad78 invoke.cont79: ; preds = %invoke.cont75 - %call80 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #27 + %call80 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 277, ptr noundef %call80) to label %invoke.cont82 unwind label %lpad81 @@ -14176,8 +14177,8 @@ invoke.cont82: ; preds = %invoke.cont79 to label %invoke.cont84 unwind label %lpad83 invoke.cont84: ; preds = %invoke.cont82 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #28 %31 = load ptr, ptr %ref.tmp73, align 8 %cmp.not.i.i60 = icmp eq ptr %31, null br i1 %cmp.not.i.i60, label %if.end88, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i61 @@ -14186,7 +14187,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i62 = load ptr, ptr %31, align 8 %vfn.i.i.i63 = getelementptr inbounds ptr, ptr %vtable.i.i.i62, i64 1 %32 = load ptr, ptr %vfn.i.i.i63, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %if.end88 lpad74: ; preds = %if.else72 @@ -14207,12 +14208,12 @@ lpad81: ; preds = %invoke.cont79 lpad83: ; preds = %invoke.cont82 %36 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #28 br label %ehcleanup86 ehcleanup86: ; preds = %lpad83, %lpad81 %.pn8 = phi { ptr, i32 } [ %36, %lpad83 ], [ %35, %lpad81 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #28 br label %ehcleanup87 ehcleanup87: ; preds = %ehcleanup86, %lpad78 @@ -14225,7 +14226,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i67 = load ptr, ptr %37, align 8 %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 %38 = load ptr, ptr %vfn.i.i.i68, align 8 - call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #27 + call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #28 br label %_ZN7testing7MessageD2Ev.exit69 _ZN7testing7MessageD2Ev.exit69: ; preds = %ehcleanup87, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 @@ -14239,8 +14240,8 @@ if.end88: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i71, label %_ZN7testing15AssertionResultD2Ev.exit73, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72: ; preds = %if.end88 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr135) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr135) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr135) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr135) #29 br label %_ZN7testing15AssertionResultD2Ev.exit73 _ZN7testing15AssertionResultD2Ev.exit73: ; preds = %invoke.cont66, %if.end88, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -14259,7 +14260,7 @@ invoke.cont93: ; preds = %_ZN7testing15Assert ehcleanup89: ; preds = %_ZN7testing7MessageD2Ev.exit69, %lpad74 %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit69 ], [ %33, %lpad74 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_63) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_63) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit105 if.else100: ; preds = %invoke.cont93 @@ -14271,7 +14272,7 @@ invoke.cont103: ; preds = %if.else100 to label %invoke.cont107 unwind label %lpad106 invoke.cont107: ; preds = %invoke.cont103 - %call108 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #27 + %call108 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 278, ptr noundef %call108) to label %invoke.cont110 unwind label %lpad109 @@ -14280,8 +14281,8 @@ invoke.cont110: ; preds = %invoke.cont107 to label %invoke.cont112 unwind label %lpad111 invoke.cont112: ; preds = %invoke.cont110 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #28 %40 = load ptr, ptr %ref.tmp101, align 8 %cmp.not.i.i79 = icmp eq ptr %40, null br i1 %cmp.not.i.i79, label %if.end116, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i80 @@ -14290,7 +14291,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i81 = load ptr, ptr %40, align 8 %vfn.i.i.i82 = getelementptr inbounds ptr, ptr %vtable.i.i.i81, i64 1 %41 = load ptr, ptr %vfn.i.i.i82, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 br label %if.end116 lpad102: ; preds = %if.else100 @@ -14311,12 +14312,12 @@ lpad109: ; preds = %invoke.cont107 lpad111: ; preds = %invoke.cont110 %45 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #28 br label %ehcleanup114 ehcleanup114: ; preds = %lpad111, %lpad109 %.pn12 = phi { ptr, i32 } [ %45, %lpad111 ], [ %44, %lpad109 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #28 br label %ehcleanup115 ehcleanup115: ; preds = %ehcleanup114, %lpad106 @@ -14329,7 +14330,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i86 = load ptr, ptr %46, align 8 %vfn.i.i.i87 = getelementptr inbounds ptr, ptr %vtable.i.i.i86, i64 1 %47 = load ptr, ptr %vfn.i.i.i87, align 8 - call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #27 + call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #28 br label %_ZN7testing7MessageD2Ev.exit88 _ZN7testing7MessageD2Ev.exit88: ; preds = %ehcleanup115, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i85 @@ -14343,18 +14344,18 @@ if.end116: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i90, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91: ; preds = %if.end116 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr137) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr137) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr137) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr137) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont93, %if.end116, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 store ptr null, ptr %message_.i77, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i54) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i54) #29 %tobool.not.i.i.i97 = icmp eq ptr %cond.i.i.i.i127159, null br i1 %tobool.not.i.i.i97, label %_ZNSt6vectorIiSaIiEED2Ev.exit100, label %if.then.i.i.i98 if.then.i.i.i98: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i127159) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i127159) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit100 _ZNSt6vectorIiSaIiEED2Ev.exit100: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i98 @@ -14362,13 +14363,13 @@ _ZNSt6vectorIiSaIiEED2Ev.exit100: ; preds = %_ZNSt6vectorIiSaIiE ehcleanup117: ; preds = %_ZN7testing7MessageD2Ev.exit88, %lpad102 %.pn12.pn.pn = phi { ptr, i32 } [ %.pn12.pn, %_ZN7testing7MessageD2Ev.exit88 ], [ %42, %lpad102 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_90) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_90) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit105 _ZNSt6vectorIiSaIiEED2Ev.exit105: ; preds = %ehcleanup117, %ehcleanup89, %lpad61 %vector_plus.sroa.0.2 = phi ptr [ %vector_plus.sroa.0.1, %lpad61 ], [ %call5.i.i.i.i.i.i54, %ehcleanup117 ], [ %call5.i.i.i.i.i.i54, %ehcleanup89 ] %.pn12.pn.pn.pn = phi { ptr, i32 } [ %30, %lpad61 ], [ %.pn12.pn.pn, %ehcleanup117 ], [ %.pn8.pn.pn, %ehcleanup89 ] - call void @_ZdlPv(ptr noundef nonnull %vector_plus.sroa.0.2) #28 + call void @_ZdlPv(ptr noundef nonnull %vector_plus.sroa.0.2) #29 br label %ehcleanup119 ehcleanup119: ; preds = %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i, %_ZNSt6vectorIiSaIiEED2Ev.exit105, %ehcleanup52, %ehcleanup25, %lpad @@ -14377,7 +14378,7 @@ ehcleanup119: ; preds = %_ZNSt12_Vector_base br i1 %tobool.not.i.i.i107, label %_ZNSt6vectorIiSaIiEED2Ev.exit110, label %if.then.i.i.i108 if.then.i.i.i108: ; preds = %ehcleanup119 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i127159) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i127159) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit110 _ZNSt6vectorIiSaIiEED2Ev.exit110: ; preds = %ehcleanup119, %if.then.i.i.i108 @@ -14788,14 +14789,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_147NonMutatingTest_IsPermutationWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_147NonMutatingTest_IsPermutationWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -14806,22 +14807,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_147NonMutatingTest_IsPermutationWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_147NonMutatingTest_IsPermutationWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -14851,32 +14852,31 @@ entry: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %0 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %1 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 %cmp.not.i.i.i.i = icmp eq ptr %0, %1 br i1 %cmp.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread, label %cond.true.i.i.i.i _ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread: ; preds = %entry - %add.ptr.i.i.i.i.i.i.i.i.i537 = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.ptr537 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i br label %invoke.cont cond.true.i.i.i.i: ; preds = %entry - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit if.then3.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - tail call void @_ZSt28__throw_bad_array_new_lengthv() #30 + tail call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable _ZNSt6vectorIiSaIiEEC2ERKS1_.exit: ; preds = %cond.true.i.i.i.i - %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #29 + %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #30 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i, ptr align 4 %1, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i, i64 %sub.ptr.div.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i, i64 %sub.ptr.sub.i.i %cmp.i1.i.i = icmp eq i64 %sub.ptr.sub.i.i, 4 %or.cond.i.i = or i1 %cmp.not.i.i.i.i, %cmp.i1.i.i br i1 %or.cond.i.i, label %invoke.cont, label %if.end5.i.i if.end5.i.i: ; preds = %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit - %incdec.ptr.i2.ptr.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 -4 + %incdec.ptr.i2.ptr.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr, i64 -4 %.pre.i.i = load i32, ptr %incdec.ptr.i2.ptr.i.i, align 4 br label %for.cond.i.i @@ -14884,13 +14884,13 @@ for.cond.i.i: ; preds = %if.end28.i.i, %if.e %2 = phi i32 [ %.pre.i.i, %if.end5.i.i ], [ %3, %if.end28.i.i ] %__i.sroa.0.0.idx.i.i = phi i64 [ -4, %if.end5.i.i ], [ %__i.sroa.0.0.add.i.i, %if.end28.i.i ] %__i.sroa.0.0.add.i.i = add nsw i64 %__i.sroa.0.0.idx.i.i, -4 - %incdec.ptr.i3.ptr.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 %__i.sroa.0.0.add.i.i + %incdec.ptr.i3.ptr.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr, i64 %__i.sroa.0.0.add.i.i %3 = load i32, ptr %incdec.ptr.i3.ptr.i.i, align 4 %cmp.i4.i.i = icmp slt i32 %3, %2 br i1 %cmp.i4.i.i, label %while.cond.i.i, label %if.end28.i.i while.cond.i.i: ; preds = %for.cond.i.i, %while.cond.i.i - %__j.sroa.0.0.i.i = phi ptr [ %incdec.ptr.i5.i.i, %while.cond.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %for.cond.i.i ] + %__j.sroa.0.0.i.i = phi ptr [ %incdec.ptr.i5.i.i, %while.cond.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %for.cond.i.i ] %incdec.ptr.i5.i.i = getelementptr inbounds i32, ptr %__j.sroa.0.0.i.i, i64 -1 %4 = load i32, ptr %incdec.ptr.i5.i.i, align 4 %cmp.i6.i.i = icmp slt i32 %3, %4 @@ -14903,7 +14903,7 @@ while.end.i.i: ; preds = %while.cond.i.i br i1 %cmp.i110.i.not.i.i, label %invoke.cont, label %while.body.i.i.preheader.i while.body.i.i.preheader.i: ; preds = %while.end.i.i - %__i.sroa.0.0.ptr.le.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 %__i.sroa.0.0.idx.i.i + %__i.sroa.0.0.ptr.le.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr, i64 %__i.sroa.0.0.idx.i.i br label %while.body.i.i.i while.body.i.i.i: ; preds = %while.body.i.i.i, %while.body.i.i.preheader.i @@ -14939,7 +14939,7 @@ while.body.i12.i.i: ; preds = %if.then30.i.i, %whi br i1 %cmp.i1.i17.i.i, label %while.body.i12.i.i, label %invoke.cont, !llvm.loop !287 invoke.cont: ; preds = %while.body.i12.i.i, %while.body.i.i.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread, %if.then30.i.i, %while.end.i.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit - %add.ptr.i.i.i.i.i.i.i.i.i551 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i537, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %if.then30.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %while.end.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %while.body.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %while.body.i12.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr537, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %if.then30.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %while.end.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %while.body.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.ptr, %while.body.i12.i.i ] %cond.i.i.i.i435540 = phi ptr [ null, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit.thread ], [ %call5.i.i.i.i2.i6.i, %if.then30.i.i ], [ %call5.i.i.i.i2.i6.i, %while.end.i.i ], [ %call5.i.i.i.i2.i6.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ], [ %call5.i.i.i.i2.i6.i, %while.body.i.i.i ], [ %call5.i.i.i.i2.i6.i, %while.body.i12.i.i ] %sequence_ = getelementptr inbounds %"class.(anonymous namespace)::NonMutatingTest", ptr %this, i64 0, i32 2 %9 = load ptr, ptr %sequence_, align 8 @@ -14960,7 +14960,7 @@ for.body.i: ; preds = %invoke.cont, %for.i for.inc.i: ; preds = %for.body.i %incdec.ptr.i.i116 = getelementptr inbounds i32, ptr %__first1.sroa.0.036.i, i64 1 %12 = load ptr, ptr %__first2.sroa.0.035.i, align 8 - %cmp.i.i = icmp ne ptr %incdec.ptr.i.i116, %add.ptr.i.i.i.i.i.i.i.i.i551 + %cmp.i.i = icmp ne ptr %incdec.ptr.i.i116, %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 %cmp.i4.i = icmp ne ptr %12, %sequence_ %or.cond31.i = select i1 %cmp.i.i, i1 %cmp.i4.i, i1 false br i1 %or.cond31.i, label %for.body.i, label %for.end.i, !llvm.loop !300 @@ -14968,7 +14968,7 @@ for.inc.i: ; preds = %for.body.i for.end.i: ; preds = %for.inc.i, %for.body.i, %invoke.cont %__first2.sroa.0.0.lcssa.i = phi ptr [ %9, %invoke.cont ], [ %__first2.sroa.0.035.i, %for.body.i ], [ %12, %for.inc.i ] %__first1.sroa.0.0.lcssa.i = phi ptr [ %cond.i.i.i.i435540, %invoke.cont ], [ %__first1.sroa.0.036.i, %for.body.i ], [ %incdec.ptr.i.i116, %for.inc.i ] - %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %add.ptr.i.i.i.i.i.i.i.i.i551 to i64 + %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 to i64 %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %__first1.sroa.0.0.lcssa.i to i64 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %sub.ptr.div.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 2 @@ -14994,7 +14994,7 @@ if.end24.i: ; preds = %_ZSt8distanceISt20_ br i1 %cmp25.not.i, label %for.cond28.preheader.i, label %if.else for.cond28.preheader.i: ; preds = %if.end24.i - %cmp.i5.not48.i = icmp eq ptr %__first1.sroa.0.0.lcssa.i, %add.ptr.i.i.i.i.i.i.i.i.i551 + %cmp.i5.not48.i = icmp eq ptr %__first1.sroa.0.0.lcssa.i, %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 br i1 %cmp.i5.not48.i, label %if.end.thread, label %for.body30.lr.ph.i for.body30.lr.ph.i: ; preds = %for.cond28.preheader.i @@ -15032,13 +15032,13 @@ if.end9.i.i.i: ; preds = %if.end.i.i.i %incdec.ptr.i11.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i, i64 2 %19 = load i32, ptr %incdec.ptr.i11.i.i.i, align 4 %cmp.i395 = icmp eq i32 %19, %15 - br i1 %cmp.i395, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit567, label %if.end15.i.i.i + br i1 %cmp.i395, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit563, label %if.end15.i.i.i if.end15.i.i.i: ; preds = %if.end9.i.i.i %incdec.ptr.i14.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i, i64 3 %20 = load i32, ptr %incdec.ptr.i14.i.i.i, align 4 %cmp.i394 = icmp eq i32 %20, %15 - br i1 %cmp.i394, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit569, label %if.end21.i.i.i + br i1 %cmp.i394, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit565, label %if.end21.i.i.i if.end21.i.i.i: ; preds = %if.end15.i.i.i %incdec.ptr.i17.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i, i64 4 @@ -15102,16 +15102,16 @@ _ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18 %incdec.ptr.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i, i64 1 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit567: ; preds = %if.end9.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit563: ; preds = %if.end9.i.i.i %incdec.ptr.i11.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i, i64 2 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit569: ; preds = %if.end15.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit565: ; preds = %if.end15.i.i.i %incdec.ptr.i14.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i, i64 3 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i: ; preds = %for.body.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit567, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit569, %sw.bb37.i.i.i, %sw.bb30.i.i.i, %sw.bb.i.i.i, %for.end.i.i.i - %retval.sroa.0.0.in.sroa.speculated.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i, %sw.bb.i.i.i ], [ %__first.sroa.0.1.i.i.i, %sw.bb30.i.i.i ], [ %__scan.sroa.0.049.i, %for.end.i.i.i ], [ %spec.select.i.i.i, %sw.bb37.i.i.i ], [ %incdec.ptr.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit ], [ %incdec.ptr.i11.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit567 ], [ %incdec.ptr.i14.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit569 ], [ %__first.sroa.0.063.i.i.i, %for.body.i.i.i ] +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i: ; preds = %for.body.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit563, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit565, %sw.bb37.i.i.i, %sw.bb30.i.i.i, %sw.bb.i.i.i, %for.end.i.i.i + %retval.sroa.0.0.in.sroa.speculated.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i, %sw.bb.i.i.i ], [ %__first.sroa.0.1.i.i.i, %sw.bb30.i.i.i ], [ %__scan.sroa.0.049.i, %for.end.i.i.i ], [ %spec.select.i.i.i, %sw.bb37.i.i.i ], [ %incdec.ptr.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit ], [ %incdec.ptr.i11.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit563 ], [ %incdec.ptr.i14.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i.loopexit.split.loop.exit565 ], [ %__first.sroa.0.063.i.i.i, %for.body.i.i.i ] %cmp.i9.not.i = icmp eq ptr %__scan.sroa.0.049.i, %retval.sroa.0.0.in.sroa.speculated.i.i.i br i1 %cmp.i9.not.i, label %if.end45.i, label %for.inc72.i @@ -15146,7 +15146,7 @@ for.body.i15.i: ; preds = %_ZSt10__count_ifISt %inc.i19.i = zext i1 %cmp.i to i64 %spec.select.i20.i = add nuw nsw i64 %__n.05.i16.i, %inc.i19.i %incdec.ptr.i.i.i113 = getelementptr inbounds i32, ptr %__first.sroa.0.04.i17.i, i64 1 - %cmp.i.not.i21.i = icmp eq ptr %incdec.ptr.i.i.i113, %add.ptr.i.i.i.i.i.i.i.i.i551 + %cmp.i.not.i21.i = icmp eq ptr %incdec.ptr.i.i.i113, %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 br i1 %cmp.i.not.i21.i, label %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEENSt15iterator_traitsIT_E15difference_typeESE_SE_T0_.exit.i, label %for.body.i15.i, !llvm.loop !303 _ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEENSt15iterator_traitsIT_E15difference_typeESE_SE_T0_.exit.i: ; preds = %for.body.i15.i @@ -15155,7 +15155,7 @@ _ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops for.inc72.i: ; preds = %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEENSt15iterator_traitsIT_E15difference_typeESE_SE_T0_.exit.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i %incdec.ptr.i23.i = getelementptr inbounds i32, ptr %__scan.sroa.0.049.i, i64 1 - %cmp.i5.not.i = icmp eq ptr %incdec.ptr.i23.i, %add.ptr.i.i.i.i.i.i.i.i.i551 + %cmp.i5.not.i = icmp eq ptr %incdec.ptr.i23.i, %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 br i1 %cmp.i5.not.i, label %if.end.thread, label %for.body30.i, !llvm.loop !304 if.end.thread: ; preds = %for.inc72.i, %for.cond28.preheader.i, %_ZSt8distanceISt20_List_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i @@ -15176,7 +15176,7 @@ invoke.cont14: ; preds = %if.else to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont14 - %call19 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #27 + %call19 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 284, ptr noundef %call19) to label %invoke.cont21 unwind label %lpad20 @@ -15185,8 +15185,8 @@ invoke.cont21: ; preds = %invoke.cont18 to label %invoke.cont23 unwind label %lpad22 invoke.cont23: ; preds = %invoke.cont21 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #28 %31 = load ptr, ptr %ref.tmp12, align 8 %cmp.not.i.i = icmp eq ptr %31, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -15195,7 +15195,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %31, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %32 = load ptr, ptr %vfn.i.i.i, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %if.end lpad13: ; preds = %if.else @@ -15216,12 +15216,12 @@ lpad20: ; preds = %invoke.cont18 lpad22: ; preds = %invoke.cont21 %36 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #28 br label %ehcleanup ehcleanup: ; preds = %lpad22, %lpad20 %.pn = phi { ptr, i32 } [ %36, %lpad22 ], [ %35, %lpad20 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #28 br label %ehcleanup24 ehcleanup24: ; preds = %ehcleanup, %lpad17 @@ -15234,7 +15234,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i21 = load ptr, ptr %37, align 8 %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 %38 = load ptr, ptr %vfn.i.i.i22, align 8 - call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #27 + call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #28 br label %_ZN7testing7MessageD2Ev.exit23 _ZN7testing7MessageD2Ev.exit23: ; preds = %ehcleanup24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 @@ -15248,8 +15248,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i25, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end.thread, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -15273,7 +15273,7 @@ for.inc.i168: ; preds = %for.body.i165 %42 = load ptr, ptr %__first1.sroa.0.035.i, align 8 %incdec.ptr.i.i169 = getelementptr inbounds i32, ptr %__first2.sroa.0.034.i, i64 1 %cmp.i.i170 = icmp ne ptr %42, %sequence_ - %cmp.i4.i171 = icmp ne ptr %incdec.ptr.i.i169, %add.ptr.i.i.i.i.i.i.i.i.i551 + %cmp.i4.i171 = icmp ne ptr %incdec.ptr.i.i169, %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 %or.cond30.i = select i1 %cmp.i.i170, i1 %cmp.i4.i171, i1 false br i1 %or.cond30.i, label %for.body.i165, label %while.cond.preheader.i.i.i122, !llvm.loop !305 @@ -15309,7 +15309,7 @@ for.cond28.preheader.i139: ; preds = %if.end24.i136 br i1 %cmp.i5.not39.i, label %if.end51.thread, label %for.body30.lr.ph.i140 for.body30.lr.ph.i140: ; preds = %for.cond28.preheader.i139 - %cmp.i.not3.i.i141 = icmp eq ptr %__first2.sroa.0.0.lcssa.i118, %add.ptr.i.i.i.i.i.i.i.i.i551 + %cmp.i.not3.i.i141 = icmp eq ptr %__first2.sroa.0.0.lcssa.i118, %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 %cmp.i.not3.i.fr.i = freeze i1 %cmp.i.not3.i.i141 br i1 %cmp.i.not3.i.fr.i, label %for.body30.us.i, label %for.body30.i142 @@ -15385,7 +15385,7 @@ for.body.i.i149: ; preds = %for.body.i.i149, %i %inc.i.i153 = zext i1 %cmp.i400 to i64 %spec.select.i.i154 = add nuw nsw i64 %__n.05.i.i150, %inc.i.i153 %incdec.ptr.i.i.i155 = getelementptr inbounds i32, ptr %__first.sroa.0.04.i.i151, i64 1 - %cmp.i.not.i.i156 = icmp eq ptr %incdec.ptr.i.i.i155, %add.ptr.i.i.i.i.i.i.i.i.i551 + %cmp.i.not.i.i156 = icmp eq ptr %incdec.ptr.i.i.i155, %add.ptr.i.i.i.i.i.i.i.i.i.ptr551 br i1 %cmp.i.not.i.i156, label %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiESt20_List_const_iteratorIiEEEENSt15iterator_traitsIT_E15difference_typeESG_SG_T0_.exit.i, label %for.body.i.i149, !llvm.loop !308 _ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiESt20_List_const_iteratorIiEEEENSt15iterator_traitsIT_E15difference_typeESG_SG_T0_.exit.i: ; preds = %for.body.i.i149 @@ -15426,7 +15426,7 @@ if.end51.thread: ; preds = %for.inc72.i145, %fo ehcleanup25: ; preds = %_ZN7testing7MessageD2Ev.exit23, %lpad13 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit23 ], [ %33, %lpad13 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup119 if.else35: ; preds = %_ZSt10__count_ifISt20_List_const_iteratorIiEN9__gnu_cxx5__ops18_Iter_comp_to_iterIPFbiiES1_EEENSt15iterator_traitsIT_E15difference_typeES9_S9_T0_.exit.i, %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiESt20_List_const_iteratorIiEEEENSt15iterator_traitsIT_E15difference_typeESG_SG_T0_.exit.i, %_ZSt9__find_ifISt20_List_const_iteratorIiEN9__gnu_cxx5__ops18_Iter_comp_to_iterIPFbiiES1_EEET_S8_S8_T0_.exit.us.i, %if.end24.i136 @@ -15441,7 +15441,7 @@ invoke.cont38: ; preds = %if.else35 to label %invoke.cont42 unwind label %lpad41 invoke.cont42: ; preds = %invoke.cont38 - %call43 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + %call43 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 285, ptr noundef %call43) to label %invoke.cont45 unwind label %lpad44 @@ -15450,8 +15450,8 @@ invoke.cont45: ; preds = %invoke.cont42 to label %invoke.cont47 unwind label %lpad46 invoke.cont47: ; preds = %invoke.cont45 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 %57 = load ptr, ptr %ref.tmp36, align 8 %cmp.not.i.i30 = icmp eq ptr %57, null br i1 %cmp.not.i.i30, label %if.end51, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 @@ -15460,7 +15460,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i32 = load ptr, ptr %57, align 8 %vfn.i.i.i33 = getelementptr inbounds ptr, ptr %vtable.i.i.i32, i64 1 %58 = load ptr, ptr %vfn.i.i.i33, align 8 - call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #27 + call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #28 br label %if.end51 lpad37: ; preds = %if.else35 @@ -15481,12 +15481,12 @@ lpad44: ; preds = %invoke.cont42 lpad46: ; preds = %invoke.cont45 %62 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #28 br label %ehcleanup49 ehcleanup49: ; preds = %lpad46, %lpad44 %.pn4 = phi { ptr, i32 } [ %62, %lpad46 ], [ %61, %lpad44 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 br label %ehcleanup50 ehcleanup50: ; preds = %ehcleanup49, %lpad41 @@ -15499,7 +15499,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i37 = load ptr, ptr %63, align 8 %vfn.i.i.i38 = getelementptr inbounds ptr, ptr %vtable.i.i.i37, i64 1 %64 = load ptr, ptr %vfn.i.i.i38, align 8 - call void %64(ptr noundef nonnull align 8 dereferenceable(128) %63) #27 + call void %64(ptr noundef nonnull align 8 dereferenceable(128) %63) #28 br label %_ZN7testing7MessageD2Ev.exit39 _ZN7testing7MessageD2Ev.exit39: ; preds = %ehcleanup50, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i36 @@ -15513,14 +15513,14 @@ if.end51: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i41, label %_ZN7testing15AssertionResultD2Ev.exit43, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42: ; preds = %if.end51 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr454) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr454) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr454) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr454) #29 br label %_ZN7testing15AssertionResultD2Ev.exit43 _ZN7testing15AssertionResultD2Ev.exit43: ; preds = %if.end51.thread, %if.end51, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 %message_.i28453457 = phi ptr [ %message_.i28451, %if.end51.thread ], [ %message_.i28, %if.end51 ], [ %message_.i28, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 ] store ptr null, ptr %message_.i28453457, align 8 - %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i51 unwind label %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i _ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit43 @@ -15534,14 +15534,14 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i51: ; preds = %_ZN7tes store i32 2, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 %ref.tmp54.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store i32 3, ptr %ref.tmp54.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, align 4 - %call5.i.i.i.i.i.i54 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i54 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %invoke.cont62 unwind label %lpad61 invoke.cont62: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i51 %add.ptr.i.i.i52 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i54, i64 3 store i32 4, ptr %add.ptr.i.i.i52, align 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i.i.i54, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 %66 = load ptr, ptr %sequence_, align 8 %cmp.i433.i173.not = icmp eq ptr %66, %sequence_ br i1 %cmp.i433.i173.not, label %for.end.i175, label %for.body.i279 @@ -15632,13 +15632,13 @@ if.end9.i.i.i258: ; preds = %if.end.i.i.i255 %incdec.ptr.i11.i.i.i259 = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i253, i64 2 %76 = load i32, ptr %incdec.ptr.i11.i.i.i259, align 4 %cmp.i410 = icmp eq i32 %76, %72 - br i1 %cmp.i410, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit575, label %if.end15.i.i.i261 + br i1 %cmp.i410, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit571, label %if.end15.i.i.i261 if.end15.i.i.i261: ; preds = %if.end9.i.i.i258 %incdec.ptr.i14.i.i.i262 = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i253, i64 3 %77 = load i32, ptr %incdec.ptr.i14.i.i.i262, align 4 %cmp.i409 = icmp eq i32 %77, %72 - br i1 %cmp.i409, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit577, label %if.end21.i.i.i264 + br i1 %cmp.i409, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit573, label %if.end21.i.i.i264 if.end21.i.i.i264: ; preds = %if.end15.i.i.i261 %incdec.ptr.i17.i.i.i265 = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i253, i64 4 @@ -15702,16 +15702,16 @@ _ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18 %incdec.ptr.i.i.i.i256.le = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i253, i64 1 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215 -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit575: ; preds = %if.end9.i.i.i258 +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit571: ; preds = %if.end9.i.i.i258 %incdec.ptr.i11.i.i.i259.le = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i253, i64 2 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215 -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit577: ; preds = %if.end15.i.i.i261 +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit573: ; preds = %if.end15.i.i.i261 %incdec.ptr.i14.i.i.i262.le = getelementptr inbounds i32, ptr %__first.sroa.0.063.i.i.i253, i64 3 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215 -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215: ; preds = %for.body.i.i.i251, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit575, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit577, %sw.bb37.i.i.i211, %sw.bb30.i.i.i242, %sw.bb.i.i.i247 - %retval.sroa.0.0.in.sroa.speculated.i.i.i216 = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i209, %sw.bb.i.i.i247 ], [ %__first.sroa.0.1.i.i.i243, %sw.bb30.i.i.i242 ], [ %spec.select.i.i.i214, %sw.bb37.i.i.i211 ], [ %incdec.ptr.i.i.i.i256.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit ], [ %incdec.ptr.i11.i.i.i259.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit575 ], [ %incdec.ptr.i14.i.i.i262.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit577 ], [ %__first.sroa.0.063.i.i.i253, %for.body.i.i.i251 ] +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215: ; preds = %for.body.i.i.i251, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit571, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit573, %sw.bb37.i.i.i211, %sw.bb30.i.i.i242, %sw.bb.i.i.i247 + %retval.sroa.0.0.in.sroa.speculated.i.i.i216 = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i209, %sw.bb.i.i.i247 ], [ %__first.sroa.0.1.i.i.i243, %sw.bb30.i.i.i242 ], [ %spec.select.i.i.i214, %sw.bb37.i.i.i211 ], [ %incdec.ptr.i.i.i.i256.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit ], [ %incdec.ptr.i11.i.i.i259.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit571 ], [ %incdec.ptr.i14.i.i.i262.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i215.loopexit.split.loop.exit573 ], [ %__first.sroa.0.063.i.i.i253, %for.body.i.i.i251 ] %cmp.i9.not.i217 = icmp eq ptr %__scan.sroa.0.049.i202.ptr, %retval.sroa.0.0.in.sroa.speculated.i.i.i216 br i1 %cmp.i9.not.i217, label %if.end45.i221, label %for.inc72.i218 @@ -15767,7 +15767,7 @@ if.end88.thread: ; preds = %if.end45.i221, %_ZS ehcleanup52: ; preds = %_ZN7testing7MessageD2Ev.exit39, %lpad37 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit39 ], [ %59, %lpad37 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_26) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_26) #28 br label %ehcleanup119 lpad61: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i51 @@ -15787,7 +15787,7 @@ invoke.cont75: ; preds = %if.else72 to label %invoke.cont79 unwind label %lpad78 invoke.cont79: ; preds = %invoke.cont75 - %call80 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #27 + %call80 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 290, ptr noundef %call80) to label %invoke.cont82 unwind label %lpad81 @@ -15796,8 +15796,8 @@ invoke.cont82: ; preds = %invoke.cont79 to label %invoke.cont84 unwind label %lpad83 invoke.cont84: ; preds = %invoke.cont82 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #28 %89 = load ptr, ptr %ref.tmp73, align 8 %cmp.not.i.i60 = icmp eq ptr %89, null br i1 %cmp.not.i.i60, label %if.end88, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i61 @@ -15806,7 +15806,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i62 = load ptr, ptr %89, align 8 %vfn.i.i.i63 = getelementptr inbounds ptr, ptr %vtable.i.i.i62, i64 1 %90 = load ptr, ptr %vfn.i.i.i63, align 8 - call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #27 + call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #28 br label %if.end88 lpad74: ; preds = %if.else72 @@ -15827,12 +15827,12 @@ lpad81: ; preds = %invoke.cont79 lpad83: ; preds = %invoke.cont82 %94 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #28 br label %ehcleanup86 ehcleanup86: ; preds = %lpad83, %lpad81 %.pn8 = phi { ptr, i32 } [ %94, %lpad83 ], [ %93, %lpad81 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp77) #28 br label %ehcleanup87 ehcleanup87: ; preds = %ehcleanup86, %lpad78 @@ -15845,7 +15845,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i67 = load ptr, ptr %95, align 8 %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 %96 = load ptr, ptr %vfn.i.i.i68, align 8 - call void %96(ptr noundef nonnull align 8 dereferenceable(128) %95) #27 + call void %96(ptr noundef nonnull align 8 dereferenceable(128) %95) #28 br label %_ZN7testing7MessageD2Ev.exit69 _ZN7testing7MessageD2Ev.exit69: ; preds = %ehcleanup87, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 @@ -15859,8 +15859,8 @@ if.end88: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i71, label %_ZN7testing15AssertionResultD2Ev.exit73, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72: ; preds = %if.end88 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr464) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr464) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr464) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr464) #29 br label %_ZN7testing15AssertionResultD2Ev.exit73 _ZN7testing15AssertionResultD2Ev.exit73: ; preds = %if.end88.thread, %if.end88, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -16037,7 +16037,7 @@ if.end116.thread: ; preds = %_ZSt10__count_ifIN9 ehcleanup89: ; preds = %_ZN7testing7MessageD2Ev.exit69, %lpad74 %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit69 ], [ %91, %lpad74 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_63) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_63) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit105 if.else100: ; preds = %for.inc72.i334, %for.inc72.us.i375, %for.cond28.preheader.i315, %_ZSt8distanceISt20_List_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i305 @@ -16052,7 +16052,7 @@ invoke.cont103: ; preds = %if.else100 to label %invoke.cont107 unwind label %lpad106 invoke.cont107: ; preds = %invoke.cont103 - %call108 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #27 + %call108 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 291, ptr noundef %call108) to label %invoke.cont110 unwind label %lpad109 @@ -16061,8 +16061,8 @@ invoke.cont110: ; preds = %invoke.cont107 to label %invoke.cont112 unwind label %lpad111 invoke.cont112: ; preds = %invoke.cont110 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #28 %115 = load ptr, ptr %ref.tmp101, align 8 %cmp.not.i.i79 = icmp eq ptr %115, null br i1 %cmp.not.i.i79, label %if.end116, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i80 @@ -16071,7 +16071,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i81 = load ptr, ptr %115, align 8 %vfn.i.i.i82 = getelementptr inbounds ptr, ptr %vtable.i.i.i81, i64 1 %116 = load ptr, ptr %vfn.i.i.i82, align 8 - call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #27 + call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #28 br label %if.end116 lpad102: ; preds = %if.else100 @@ -16092,12 +16092,12 @@ lpad109: ; preds = %invoke.cont107 lpad111: ; preds = %invoke.cont110 %120 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #28 br label %ehcleanup114 ehcleanup114: ; preds = %lpad111, %lpad109 %.pn12 = phi { ptr, i32 } [ %120, %lpad111 ], [ %119, %lpad109 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105) #28 br label %ehcleanup115 ehcleanup115: ; preds = %ehcleanup114, %lpad106 @@ -16110,7 +16110,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i86 = load ptr, ptr %121, align 8 %vfn.i.i.i87 = getelementptr inbounds ptr, ptr %vtable.i.i.i86, i64 1 %122 = load ptr, ptr %vfn.i.i.i87, align 8 - call void %122(ptr noundef nonnull align 8 dereferenceable(128) %121) #27 + call void %122(ptr noundef nonnull align 8 dereferenceable(128) %121) #28 br label %_ZN7testing7MessageD2Ev.exit88 _ZN7testing7MessageD2Ev.exit88: ; preds = %ehcleanup115, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i85 @@ -16124,19 +16124,19 @@ if.end116: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i90, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91: ; preds = %if.end116 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr474) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr474) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr474) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr474) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %if.end116.thread, %if.end116, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 %message_.i77473477 = phi ptr [ %message_.i77471, %if.end116.thread ], [ %message_.i77, %if.end116 ], [ %message_.i77, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 ] store ptr null, ptr %message_.i77473477, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i54) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i54) #29 %tobool.not.i.i.i97 = icmp eq ptr %cond.i.i.i.i435540, null br i1 %tobool.not.i.i.i97, label %_ZNSt6vectorIiSaIiEED2Ev.exit100, label %if.then.i.i.i98 if.then.i.i.i98: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i435540) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i435540) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit100 _ZNSt6vectorIiSaIiEED2Ev.exit100: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i98 @@ -16144,13 +16144,13 @@ _ZNSt6vectorIiSaIiEED2Ev.exit100: ; preds = %_ZNSt6vectorIiSaIiE ehcleanup117: ; preds = %_ZN7testing7MessageD2Ev.exit88, %lpad102 %.pn12.pn.pn = phi { ptr, i32 } [ %.pn12.pn, %_ZN7testing7MessageD2Ev.exit88 ], [ %117, %lpad102 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_90) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_90) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit105 _ZNSt6vectorIiSaIiEED2Ev.exit105: ; preds = %ehcleanup117, %ehcleanup89, %lpad61 %vector_plus.sroa.0.1 = phi ptr [ %call5.i.i.i.i2.i, %lpad61 ], [ %call5.i.i.i.i.i.i54, %ehcleanup117 ], [ %call5.i.i.i.i.i.i54, %ehcleanup89 ] %.pn12.pn.pn.pn = phi { ptr, i32 } [ %88, %lpad61 ], [ %.pn12.pn.pn, %ehcleanup117 ], [ %.pn8.pn.pn, %ehcleanup89 ] - call void @_ZdlPv(ptr noundef nonnull %vector_plus.sroa.0.1) #28 + call void @_ZdlPv(ptr noundef nonnull %vector_plus.sroa.0.1) #29 br label %ehcleanup119 ehcleanup119: ; preds = %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i, %_ZNSt6vectorIiSaIiEED2Ev.exit105, %ehcleanup52, %ehcleanup25 @@ -16159,7 +16159,7 @@ ehcleanup119: ; preds = %_ZNSt12_Vector_base br i1 %tobool.not.i.i.i107, label %_ZNSt6vectorIiSaIiEED2Ev.exit110, label %if.then.i.i.i108 if.then.i.i.i108: ; preds = %ehcleanup119 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i435540) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i435540) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit110 _ZNSt6vectorIiSaIiEED2Ev.exit110: ; preds = %ehcleanup119, %if.then.i.i.i108 @@ -16175,14 +16175,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127NonMutatingTest_Search_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127NonMutatingTest_Search_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -16193,22 +16193,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127NonMutatingTest_Search_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127NonMutatingTest_Search_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -16841,14 +16841,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_140NonMutatingTest_SearchWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_140NonMutatingTest_SearchWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -16859,22 +16859,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_140NonMutatingTest_SearchWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_140NonMutatingTest_SearchWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -17108,14 +17108,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128NonMutatingTest_SearchN_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128NonMutatingTest_SearchN_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -17126,22 +17126,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128NonMutatingTest_SearchN_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128NonMutatingTest_SearchN_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -17234,14 +17234,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141NonMutatingTest_SearchNWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141NonMutatingTest_SearchNWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -17252,22 +17252,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141NonMutatingTest_SearchNWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141NonMutatingTest_SearchNWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -17360,14 +17360,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_LowerBound_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_LowerBound_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -17378,22 +17378,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_LowerBound_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_LowerBound_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -17472,7 +17472,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont - %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 313, ptr noundef %call14) to label %invoke.cont16 unwind label %lpad15 @@ -17481,8 +17481,8 @@ invoke.cont16: ; preds = %invoke.cont13 to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont16 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 %7 = load ptr, ptr %ref.tmp9, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %cleanup, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -17491,7 +17491,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %cleanup lpad: ; preds = %if.else @@ -17512,12 +17512,12 @@ lpad15: ; preds = %invoke.cont13 lpad17: ; preds = %invoke.cont16 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 br label %ehcleanup ehcleanup: ; preds = %lpad17, %lpad15 %.pn = phi { ptr, i32 } [ %12, %lpad17 ], [ %11, %lpad15 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 br label %ehcleanup19 ehcleanup19: ; preds = %ehcleanup, %lpad12 @@ -17530,7 +17530,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i13 = load ptr, ptr %13, align 8 %vfn.i.i.i14 = getelementptr inbounds ptr, ptr %vtable.i.i.i13, i64 1 %14 = load ptr, ptr %vfn.i.i.i14, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit15 _ZN7testing7MessageD2Ev.exit15: ; preds = %ehcleanup19, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i12 @@ -17590,7 +17590,7 @@ invoke.cont35: ; preds = %if.else32 br i1 %cmp.i.i.not.i.i, label %invoke.cont38, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont35 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 br label %invoke.cont38 invoke.cont38: ; preds = %cond.true.i.i, %invoke.cont35 @@ -17603,7 +17603,7 @@ invoke.cont40: ; preds = %invoke.cont38 to label %invoke.cont42 unwind label %lpad41 invoke.cont42: ; preds = %invoke.cont40 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #28 %19 = load ptr, ptr %ref.tmp33, align 8 %cmp.not.i.i22 = icmp eq ptr %19, null br i1 %cmp.not.i.i22, label %_ZN7testing7MessageD2Ev.exit26, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i23 @@ -17612,7 +17612,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i24 = load ptr, ptr %19, align 8 %vfn.i.i.i25 = getelementptr inbounds ptr, ptr %vtable.i.i.i24, i64 1 %20 = load ptr, ptr %vfn.i.i.i25, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 br label %_ZN7testing7MessageD2Ev.exit26 _ZN7testing7MessageD2Ev.exit26: ; preds = %invoke.cont42, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i23 @@ -17632,7 +17632,7 @@ lpad37: ; preds = %invoke.cont38 lpad41: ; preds = %invoke.cont40 %23 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #28 br label %ehcleanup44 ehcleanup44: ; preds = %lpad41, %lpad37 @@ -17645,7 +17645,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i29 = load ptr, ptr %24, align 8 %vfn.i.i.i30 = getelementptr inbounds ptr, ptr %vtable.i.i.i29, i64 1 %25 = load ptr, ptr %vfn.i.i.i30, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #27 + call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #28 br label %_ZN7testing7MessageD2Ev.exit31 _ZN7testing7MessageD2Ev.exit31: ; preds = %ehcleanup44, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28 @@ -17659,8 +17659,8 @@ if.end45: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i33, label %_ZN7testing15AssertionResultD2Ev.exit35, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34: ; preds = %if.end45 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #27 - call void @_ZdlPv(ptr noundef nonnull %26) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #28 + call void @_ZdlPv(ptr noundef nonnull %26) #29 br label %_ZN7testing15AssertionResultD2Ev.exit35 _ZN7testing15AssertionResultD2Ev.exit35: ; preds = %if.end45, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 @@ -17696,7 +17696,7 @@ invoke.cont55: ; preds = %if.else52 br i1 %cmp.i.i.not.i.i41, label %invoke.cont58, label %cond.true.i.i42 cond.true.i.i42: ; preds = %invoke.cont55 - %call4.i.i43 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #27 + %call4.i.i43 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #28 br label %invoke.cont58 invoke.cont58: ; preds = %cond.true.i.i42, %invoke.cont55 @@ -17709,7 +17709,7 @@ invoke.cont60: ; preds = %invoke.cont58 to label %invoke.cont62 unwind label %lpad61 invoke.cont62: ; preds = %invoke.cont60 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) #28 %31 = load ptr, ptr %ref.tmp53, align 8 %cmp.not.i.i46 = icmp eq ptr %31, null br i1 %cmp.not.i.i46, label %_ZN7testing7MessageD2Ev.exit50, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i47 @@ -17718,7 +17718,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i48 = load ptr, ptr %31, align 8 %vfn.i.i.i49 = getelementptr inbounds ptr, ptr %vtable.i.i.i48, i64 1 %32 = load ptr, ptr %vfn.i.i.i49, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %_ZN7testing7MessageD2Ev.exit50 _ZN7testing7MessageD2Ev.exit50: ; preds = %invoke.cont62, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i47 @@ -17738,7 +17738,7 @@ lpad57: ; preds = %invoke.cont58 lpad61: ; preds = %invoke.cont60 %35 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) #28 br label %ehcleanup64 ehcleanup64: ; preds = %lpad61, %lpad57 @@ -17751,7 +17751,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i53 = load ptr, ptr %36, align 8 %vfn.i.i.i54 = getelementptr inbounds ptr, ptr %vtable.i.i.i53, i64 1 %37 = load ptr, ptr %vfn.i.i.i54, align 8 - call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #27 + call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #28 br label %_ZN7testing7MessageD2Ev.exit55 _ZN7testing7MessageD2Ev.exit55: ; preds = %ehcleanup64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 @@ -17766,8 +17766,8 @@ if.end65: ; preds = %_ZN7testing8interna return.sink.split: ; preds = %if.end65, %cleanup %.sink65 = phi ptr [ %.pr, %cleanup ], [ %38, %if.end65 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink65) #27 - call void @_ZdlPv(ptr noundef nonnull %.sink65) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink65) #28 + call void @_ZdlPv(ptr noundef nonnull %.sink65) #29 br label %return return: ; preds = %return.sink.split, %if.end65, %cleanup @@ -17776,7 +17776,7 @@ return: ; preds = %return.sink.split, eh.resume: ; preds = %lpad54, %_ZN7testing7MessageD2Ev.exit55, %lpad34, %_ZN7testing7MessageD2Ev.exit31, %lpad, %_ZN7testing7MessageD2Ev.exit15 %gtest_ar47.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit15 ], [ %gtest_ar_, %lpad ], [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit31 ], [ %gtest_ar, %lpad34 ], [ %gtest_ar47, %_ZN7testing7MessageD2Ev.exit55 ], [ %gtest_ar47, %lpad54 ] %.pn7.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit15 ], [ %9, %lpad ], [ %.pn4, %_ZN7testing7MessageD2Ev.exit31 ], [ %21, %lpad34 ], [ %.pn7, %_ZN7testing7MessageD2Ev.exit55 ], [ %33, %lpad54 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar47.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar47.sink) #28 resume { ptr, i32 } %.pn7.pn.pn } @@ -17789,14 +17789,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_LowerBoundWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_LowerBoundWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -17807,22 +17807,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_LowerBoundWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_LowerBoundWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -17844,31 +17844,31 @@ entry: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %0 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %1 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 %cmp.not.i.i.i.i = icmp eq ptr %0, %1 br i1 %cmp.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit, label %cond.true.i.i.i.i cond.true.i.i.i.i: ; preds = %entry - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - tail call void @_ZSt28__throw_bad_array_new_lengthv() #30 + tail call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable if.then.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #29 + %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #30 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i, ptr align 4 %1, i64 %sub.ptr.sub.i.i, i1 false) br label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit _ZNSt6vectorIiSaIiEEC2ERKS1_.exit: ; preds = %entry, %if.then.i.i.i.i.i.i.i.i.i %cond.i.i.i.i43 = phi ptr [ %call5.i.i.i.i2.i6.i, %if.then.i.i.i.i.i.i.i.i.i ], [ null, %entry ] - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i43, i64 %sub.ptr.div.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i43, i64 %sub.ptr.sub.i.i invoke void @_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_T0_(ptr %cond.i.i.i.i43, ptr %add.ptr.i.i.i.i.i.i.i.i.i) to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit - %cmp7.i.i.i = icmp sgt i64 %sub.ptr.div.i.i, 0 + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 + %cmp7.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 br i1 %cmp7.i.i.i, label %while.body.i.i.i, label %invoke.cont9.thread invoke.cont9.thread: ; preds = %invoke.cont @@ -17878,7 +17878,7 @@ invoke.cont9.thread: ; preds = %invoke.cont br label %_ZN7testing15AssertionResultD2Ev.exit while.body.i.i.i: ; preds = %invoke.cont, %while.body.i.i.i - %__len.09.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i, %invoke.cont ] + %__len.09.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i.i.i.i.i, %invoke.cont ] %__first.sroa.0.08.i.i.i = phi ptr [ %__first.sroa.0.1.i.i.i, %while.body.i.i.i ], [ %cond.i.i.i.i43, %invoke.cont ] %shr.i.i.i = lshr i64 %__len.09.i.i.i, 1 %incdec.ptr.i8.sink.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.08.i.i.i, i64 %shr.i.i.i @@ -17914,7 +17914,7 @@ invoke.cont21: ; preds = %if.else to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont21 - %call26 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp23) #27 + %call26 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp23) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 322, ptr noundef %call26) to label %invoke.cont28 unwind label %lpad27 @@ -17923,8 +17923,8 @@ invoke.cont28: ; preds = %invoke.cont25 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont28 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp23) #28 %5 = load ptr, ptr %ref.tmp19, align 8 %cmp.not.i.i = icmp eq ptr %5, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -17933,7 +17933,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %5, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %6 = load ptr, ptr %vfn.i.i.i, align 8 - call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 + call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #28 br label %if.end lpad20: ; preds = %if.else @@ -17954,12 +17954,12 @@ lpad27: ; preds = %invoke.cont25 lpad29: ; preds = %invoke.cont28 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) #28 br label %ehcleanup ehcleanup: ; preds = %lpad29, %lpad27 %.pn = phi { ptr, i32 } [ %10, %lpad29 ], [ %9, %lpad27 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp23) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp23) #28 br label %ehcleanup31 ehcleanup31: ; preds = %ehcleanup, %lpad24 @@ -17972,7 +17972,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %11, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %12 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -17986,8 +17986,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont9, %invoke.cont9.thread, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -18015,7 +18015,7 @@ invoke.cont35: ; preds = %if.then.i.i, %if.en ehcleanup32: ; preds = %_ZN7testing7MessageD2Ev.exit12, %lpad20 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %7, %lpad20 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup53 if.else38: ; preds = %invoke.cont35 @@ -18029,7 +18029,7 @@ invoke.cont41: ; preds = %if.else38 br i1 %cmp.i.i.not.i.i, label %invoke.cont44, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont41 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #28 br label %invoke.cont44 invoke.cont44: ; preds = %cond.true.i.i, %invoke.cont41 @@ -18042,7 +18042,7 @@ invoke.cont46: ; preds = %invoke.cont44 to label %invoke.cont48 unwind label %lpad47 invoke.cont48: ; preds = %invoke.cont46 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp42) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp42) #28 %17 = load ptr, ptr %ref.tmp39, align 8 %cmp.not.i.i17 = icmp eq ptr %17, null br i1 %cmp.not.i.i17, label %_ZN7testing7MessageD2Ev.exit21, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i18 @@ -18051,7 +18051,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i19 = load ptr, ptr %17, align 8 %vfn.i.i.i20 = getelementptr inbounds ptr, ptr %vtable.i.i.i19, i64 1 %18 = load ptr, ptr %vfn.i.i.i20, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit21 _ZN7testing7MessageD2Ev.exit21: ; preds = %invoke.cont48, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i18 @@ -18071,7 +18071,7 @@ lpad43: ; preds = %invoke.cont44 lpad47: ; preds = %invoke.cont46 %21 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp42) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp42) #28 br label %ehcleanup50 ehcleanup50: ; preds = %lpad47, %lpad43 @@ -18084,7 +18084,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i24 = load ptr, ptr %22, align 8 %vfn.i.i.i25 = getelementptr inbounds ptr, ptr %vtable.i.i.i24, i64 1 %23 = load ptr, ptr %vfn.i.i.i25, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #27 + call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 br label %_ZN7testing7MessageD2Ev.exit26 _ZN7testing7MessageD2Ev.exit26: ; preds = %ehcleanup50, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i23 @@ -18098,8 +18098,8 @@ if.end51: ; preds = %invoke.cont35, %_ZN br i1 %cmp.not.i.i28, label %_ZN7testing15AssertionResultD2Ev.exit30, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i29 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i29: ; preds = %if.end51 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #27 - call void @_ZdlPv(ptr noundef nonnull %24) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #28 + call void @_ZdlPv(ptr noundef nonnull %24) #29 br label %_ZN7testing15AssertionResultD2Ev.exit30 _ZN7testing15AssertionResultD2Ev.exit30: ; preds = %if.end51, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i29 @@ -18108,7 +18108,7 @@ _ZN7testing15AssertionResultD2Ev.exit30: ; preds = %if.end51, %_ZNKSt14 br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit30 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i43) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i43) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit30, %if.then.i.i.i @@ -18116,7 +18116,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup52: ; preds = %_ZN7testing7MessageD2Ev.exit26, %lpad40 %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit26 ], [ %19, %lpad40 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup53 ehcleanup53: ; preds = %ehcleanup52, %ehcleanup32, %lpad @@ -18125,7 +18125,7 @@ ehcleanup53: ; preds = %ehcleanup52, %ehcle br i1 %tobool.not.i.i.i33, label %_ZNSt6vectorIiSaIiEED2Ev.exit35, label %if.then.i.i.i34 if.then.i.i.i34: ; preds = %ehcleanup53 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i43) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i43) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit35 _ZNSt6vectorIiSaIiEED2Ev.exit35: ; preds = %ehcleanup53, %if.then.i.i.i34 @@ -18239,7 +18239,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T %sub.ptr.div.i.i.i.i.i.i36.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i35.i, 2 %.pre.i.i.i.i.i.i37.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i36.i %add.ptr.i.i.i.i.i.i38.i = getelementptr inbounds i32, ptr %add.ptr.i2.i33.i, i64 %.pre.i.i.i.i.i.i37.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i38.i, ptr nonnull align 4 %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i35.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i38.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i35.i, i1 false) br label %for.inc.i23.i if.else.i21.i: ; preds = %for.body.i17.i @@ -18813,14 +18813,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_UpperBound_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_UpperBound_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -18831,22 +18831,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_UpperBound_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_UpperBound_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -18925,7 +18925,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont - %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 328, ptr noundef %call14) to label %invoke.cont16 unwind label %lpad15 @@ -18934,8 +18934,8 @@ invoke.cont16: ; preds = %invoke.cont13 to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont16 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 %7 = load ptr, ptr %ref.tmp9, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %cleanup, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -18944,7 +18944,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %cleanup lpad: ; preds = %if.else @@ -18965,12 +18965,12 @@ lpad15: ; preds = %invoke.cont13 lpad17: ; preds = %invoke.cont16 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 br label %ehcleanup ehcleanup: ; preds = %lpad17, %lpad15 %.pn = phi { ptr, i32 } [ %12, %lpad17 ], [ %11, %lpad15 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 br label %ehcleanup19 ehcleanup19: ; preds = %ehcleanup, %lpad12 @@ -18983,7 +18983,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i13 = load ptr, ptr %13, align 8 %vfn.i.i.i14 = getelementptr inbounds ptr, ptr %vtable.i.i.i13, i64 1 %14 = load ptr, ptr %vfn.i.i.i14, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit15 _ZN7testing7MessageD2Ev.exit15: ; preds = %ehcleanup19, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i12 @@ -19043,7 +19043,7 @@ invoke.cont35: ; preds = %if.else32 br i1 %cmp.i.i.not.i.i, label %invoke.cont38, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont35 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 br label %invoke.cont38 invoke.cont38: ; preds = %cond.true.i.i, %invoke.cont35 @@ -19056,7 +19056,7 @@ invoke.cont40: ; preds = %invoke.cont38 to label %invoke.cont42 unwind label %lpad41 invoke.cont42: ; preds = %invoke.cont40 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #28 %19 = load ptr, ptr %ref.tmp33, align 8 %cmp.not.i.i21 = icmp eq ptr %19, null br i1 %cmp.not.i.i21, label %_ZN7testing7MessageD2Ev.exit25, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22 @@ -19065,7 +19065,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i23 = load ptr, ptr %19, align 8 %vfn.i.i.i24 = getelementptr inbounds ptr, ptr %vtable.i.i.i23, i64 1 %20 = load ptr, ptr %vfn.i.i.i24, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 br label %_ZN7testing7MessageD2Ev.exit25 _ZN7testing7MessageD2Ev.exit25: ; preds = %invoke.cont42, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22 @@ -19085,7 +19085,7 @@ lpad37: ; preds = %invoke.cont38 lpad41: ; preds = %invoke.cont40 %23 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #28 br label %ehcleanup44 ehcleanup44: ; preds = %lpad41, %lpad37 @@ -19098,7 +19098,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i28 = load ptr, ptr %24, align 8 %vfn.i.i.i29 = getelementptr inbounds ptr, ptr %vtable.i.i.i28, i64 1 %25 = load ptr, ptr %vfn.i.i.i29, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #27 + call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #28 br label %_ZN7testing7MessageD2Ev.exit30 _ZN7testing7MessageD2Ev.exit30: ; preds = %ehcleanup44, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i27 @@ -19112,8 +19112,8 @@ if.end45: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i32, label %_ZN7testing15AssertionResultD2Ev.exit34, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i33 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i33: ; preds = %if.end45 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #27 - call void @_ZdlPv(ptr noundef nonnull %26) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #28 + call void @_ZdlPv(ptr noundef nonnull %26) #29 br label %_ZN7testing15AssertionResultD2Ev.exit34 _ZN7testing15AssertionResultD2Ev.exit34: ; preds = %if.end45, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i33 @@ -19149,7 +19149,7 @@ invoke.cont55: ; preds = %if.else52 br i1 %cmp.i.i.not.i.i40, label %invoke.cont58, label %cond.true.i.i41 cond.true.i.i41: ; preds = %invoke.cont55 - %call4.i.i42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #27 + %call4.i.i42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #28 br label %invoke.cont58 invoke.cont58: ; preds = %cond.true.i.i41, %invoke.cont55 @@ -19162,7 +19162,7 @@ invoke.cont60: ; preds = %invoke.cont58 to label %invoke.cont62 unwind label %lpad61 invoke.cont62: ; preds = %invoke.cont60 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) #28 %31 = load ptr, ptr %ref.tmp53, align 8 %cmp.not.i.i45 = icmp eq ptr %31, null br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 @@ -19171,7 +19171,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i47 = load ptr, ptr %31, align 8 %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 %32 = load ptr, ptr %vfn.i.i.i48, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %_ZN7testing7MessageD2Ev.exit49 _ZN7testing7MessageD2Ev.exit49: ; preds = %invoke.cont62, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 @@ -19191,7 +19191,7 @@ lpad57: ; preds = %invoke.cont58 lpad61: ; preds = %invoke.cont60 %35 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) #28 br label %ehcleanup64 ehcleanup64: ; preds = %lpad61, %lpad57 @@ -19204,7 +19204,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i52 = load ptr, ptr %36, align 8 %vfn.i.i.i53 = getelementptr inbounds ptr, ptr %vtable.i.i.i52, i64 1 %37 = load ptr, ptr %vfn.i.i.i53, align 8 - call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #27 + call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #28 br label %_ZN7testing7MessageD2Ev.exit54 _ZN7testing7MessageD2Ev.exit54: ; preds = %ehcleanup64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i51 @@ -19219,8 +19219,8 @@ if.end65: ; preds = %_ZN7testing8interna return.sink.split: ; preds = %if.end65, %cleanup %.sink64 = phi ptr [ %.pr, %cleanup ], [ %38, %if.end65 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink64) #27 - call void @_ZdlPv(ptr noundef nonnull %.sink64) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink64) #28 + call void @_ZdlPv(ptr noundef nonnull %.sink64) #29 br label %return return: ; preds = %return.sink.split, %if.end65, %cleanup @@ -19229,7 +19229,7 @@ return: ; preds = %return.sink.split, eh.resume: ; preds = %lpad54, %_ZN7testing7MessageD2Ev.exit54, %lpad34, %_ZN7testing7MessageD2Ev.exit30, %lpad, %_ZN7testing7MessageD2Ev.exit15 %gtest_ar47.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit15 ], [ %gtest_ar_, %lpad ], [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit30 ], [ %gtest_ar, %lpad34 ], [ %gtest_ar47, %_ZN7testing7MessageD2Ev.exit54 ], [ %gtest_ar47, %lpad54 ] %.pn7.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit15 ], [ %9, %lpad ], [ %.pn4, %_ZN7testing7MessageD2Ev.exit30 ], [ %21, %lpad34 ], [ %.pn7, %_ZN7testing7MessageD2Ev.exit54 ], [ %33, %lpad54 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar47.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar47.sink) #28 resume { ptr, i32 } %.pn7.pn.pn } @@ -19242,14 +19242,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_UpperBoundWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_UpperBoundWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -19260,22 +19260,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_UpperBoundWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_UpperBoundWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -19298,36 +19298,36 @@ entry: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %0 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %1 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 %cmp.not.i.i.i.i = icmp eq ptr %0, %1 br i1 %cmp.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit, label %cond.true.i.i.i.i cond.true.i.i.i.i: ; preds = %entry - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - tail call void @_ZSt28__throw_bad_array_new_lengthv() #30 + tail call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable if.then.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #29 + %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #30 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i, ptr align 4 %1, i64 %sub.ptr.sub.i.i, i1 false) br label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit _ZNSt6vectorIiSaIiEEC2ERKS1_.exit: ; preds = %entry, %if.then.i.i.i.i.i.i.i.i.i %cond.i.i.i.i45 = phi ptr [ %call5.i.i.i.i2.i6.i, %if.then.i.i.i.i.i.i.i.i.i ], [ null, %entry ] - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i45, i64 %sub.ptr.div.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i45, i64 %sub.ptr.sub.i.i invoke void @_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_T0_(ptr %cond.i.i.i.i45, ptr %add.ptr.i.i.i.i.i.i.i.i.i) to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cond.i.i.i.i45 to i64 - %cmp7.i.i.i = icmp sgt i64 %sub.ptr.div.i.i, 0 + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 + %cmp7.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 br i1 %cmp7.i.i.i, label %while.body.i.i.i, label %invoke.cont9 while.body.i.i.i: ; preds = %invoke.cont, %while.body.i.i.i - %__len.09.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i, %invoke.cont ] + %__len.09.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i.i.i.i.i, %invoke.cont ] %__first.sroa.0.08.i.i.i = phi ptr [ %__first.sroa.0.1.i.i.i, %while.body.i.i.i ], [ %cond.i.i.i.i45, %invoke.cont ] %shr.i.i.i = lshr i64 %__len.09.i.i.i, 1 %incdec.ptr.i8.sink.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.08.i.i.i, i64 %shr.i.i.i @@ -19385,7 +19385,7 @@ invoke.cont22: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont25, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont22 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont25 invoke.cont25: ; preds = %cond.true.i.i, %invoke.cont22 @@ -19398,7 +19398,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #28 %8 = load ptr, ptr %ref.tmp20, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -19407,7 +19407,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont29, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -19427,7 +19427,7 @@ lpad24: ; preds = %invoke.cont25 lpad28: ; preds = %invoke.cont27 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #28 br label %ehcleanup ehcleanup: ; preds = %lpad28, %lpad24 @@ -19440,7 +19440,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %13, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %14 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -19454,8 +19454,8 @@ if.end: ; preds = %invoke.cont18, %_ZN br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -19469,7 +19469,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup30: ; preds = %_ZN7testing7MessageD2Ev.exit13, %lpad21 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %10, %lpad21 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup57 if.else39: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -19481,7 +19481,7 @@ invoke.cont42: ; preds = %if.else39 to label %invoke.cont46 unwind label %lpad45 invoke.cont46: ; preds = %invoke.cont42 - %call47 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp44) #27 + %call47 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp44) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp43, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 338, ptr noundef %call47) to label %invoke.cont49 unwind label %lpad48 @@ -19490,8 +19490,8 @@ invoke.cont49: ; preds = %invoke.cont46 to label %invoke.cont51 unwind label %lpad50 invoke.cont51: ; preds = %invoke.cont49 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp43) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp44) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp43) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp44) #28 %16 = load ptr, ptr %ref.tmp40, align 8 %cmp.not.i.i18 = icmp eq ptr %16, null br i1 %cmp.not.i.i18, label %if.end55, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19 @@ -19500,7 +19500,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i20 = load ptr, ptr %16, align 8 %vfn.i.i.i21 = getelementptr inbounds ptr, ptr %vtable.i.i.i20, i64 1 %17 = load ptr, ptr %vfn.i.i.i21, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %if.end55 lpad41: ; preds = %if.else39 @@ -19521,12 +19521,12 @@ lpad48: ; preds = %invoke.cont46 lpad50: ; preds = %invoke.cont49 %21 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp43) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp43) #28 br label %ehcleanup53 ehcleanup53: ; preds = %lpad50, %lpad48 %.pn3 = phi { ptr, i32 } [ %21, %lpad50 ], [ %20, %lpad48 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp44) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp44) #28 br label %ehcleanup54 ehcleanup54: ; preds = %ehcleanup53, %lpad45 @@ -19539,7 +19539,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i25 = load ptr, ptr %22, align 8 %vfn.i.i.i26 = getelementptr inbounds ptr, ptr %vtable.i.i.i25, i64 1 %23 = load ptr, ptr %vfn.i.i.i26, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #27 + call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 br label %_ZN7testing7MessageD2Ev.exit27 _ZN7testing7MessageD2Ev.exit27: ; preds = %ehcleanup54, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i24 @@ -19553,8 +19553,8 @@ if.end55: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i29, label %_ZN7testing15AssertionResultD2Ev.exit31, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30: ; preds = %if.end55 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit31 _ZN7testing15AssertionResultD2Ev.exit31: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end55, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30 @@ -19563,7 +19563,7 @@ _ZN7testing15AssertionResultD2Ev.exit31: ; preds = %_ZN7testing15Assert br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit31 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i45) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i45) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit31, %if.then.i.i.i @@ -19571,7 +19571,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup56: ; preds = %_ZN7testing7MessageD2Ev.exit27, %lpad41 %.pn3.pn.pn = phi { ptr, i32 } [ %.pn3.pn, %_ZN7testing7MessageD2Ev.exit27 ], [ %18, %lpad41 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup57 ehcleanup57: ; preds = %ehcleanup56, %ehcleanup30, %lpad @@ -19580,7 +19580,7 @@ ehcleanup57: ; preds = %ehcleanup56, %ehcle br i1 %tobool.not.i.i.i34, label %_ZNSt6vectorIiSaIiEED2Ev.exit36, label %if.then.i.i.i35 if.then.i.i.i35: ; preds = %ehcleanup57 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i45) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i45) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit36 _ZNSt6vectorIiSaIiEED2Ev.exit36: ; preds = %ehcleanup57, %if.then.i.i.i35 @@ -19596,14 +19596,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_EqualRange_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_EqualRange_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -19614,22 +19614,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_EqualRange_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_EqualRange_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -19700,7 +19700,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont14, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont14 invoke.cont14: ; preds = %cond.true.i.i, %invoke.cont @@ -19713,7 +19713,7 @@ invoke.cont16: ; preds = %invoke.cont14 to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont16 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #28 %8 = load ptr, ptr %ref.tmp11, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -19722,7 +19722,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont18, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -19742,7 +19742,7 @@ lpad13: ; preds = %invoke.cont14 lpad17: ; preds = %invoke.cont16 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #28 br label %ehcleanup ehcleanup: ; preds = %lpad17, %lpad13 @@ -19755,7 +19755,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i9 = load ptr, ptr %13, align 8 %vfn.i.i.i10 = getelementptr inbounds ptr, ptr %vtable.i.i.i9, i64 1 %14 = load ptr, ptr %vfn.i.i.i10, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit11 _ZN7testing7MessageD2Ev.exit11: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i8 @@ -19769,8 +19769,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i12, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -19822,7 +19822,7 @@ invoke.cont36: ; preds = %if.else33 br i1 %cmp.i.i.not.i.i33, label %invoke.cont39, label %cond.true.i.i34 cond.true.i.i34: ; preds = %invoke.cont36 - %call4.i.i35 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %20) #27 + %call4.i.i35 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %20) #28 br label %invoke.cont39 invoke.cont39: ; preds = %cond.true.i.i34, %invoke.cont36 @@ -19835,7 +19835,7 @@ invoke.cont41: ; preds = %invoke.cont39 to label %invoke.cont43 unwind label %lpad42 invoke.cont43: ; preds = %invoke.cont41 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 %21 = load ptr, ptr %ref.tmp34, align 8 %cmp.not.i.i38 = icmp eq ptr %21, null br i1 %cmp.not.i.i38, label %_ZN7testing7MessageD2Ev.exit42, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i39 @@ -19844,7 +19844,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i40 = load ptr, ptr %21, align 8 %vfn.i.i.i41 = getelementptr inbounds ptr, ptr %vtable.i.i.i40, i64 1 %22 = load ptr, ptr %vfn.i.i.i41, align 8 - call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #27 + call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #28 br label %_ZN7testing7MessageD2Ev.exit42 _ZN7testing7MessageD2Ev.exit42: ; preds = %invoke.cont43, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i39 @@ -19864,7 +19864,7 @@ lpad38: ; preds = %invoke.cont39 lpad42: ; preds = %invoke.cont41 %25 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 br label %ehcleanup45 ehcleanup45: ; preds = %lpad42, %lpad38 @@ -19877,7 +19877,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i45 = load ptr, ptr %26, align 8 %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 %27 = load ptr, ptr %vfn.i.i.i46, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #27 + call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 br label %_ZN7testing7MessageD2Ev.exit47 _ZN7testing7MessageD2Ev.exit47: ; preds = %ehcleanup45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 @@ -19891,8 +19891,8 @@ if.end46: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i49, label %_ZN7testing15AssertionResultD2Ev.exit51, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50: ; preds = %if.end46 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #27 - call void @_ZdlPv(ptr noundef nonnull %28) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #28 + call void @_ZdlPv(ptr noundef nonnull %28) #29 br label %_ZN7testing15AssertionResultD2Ev.exit51 _ZN7testing15AssertionResultD2Ev.exit51: ; preds = %if.end46, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50 @@ -19901,7 +19901,7 @@ _ZN7testing15AssertionResultD2Ev.exit51: ; preds = %if.end46, %_ZNKSt14 eh.resume: ; preds = %lpad35, %_ZN7testing7MessageD2Ev.exit47, %lpad, %_ZN7testing7MessageD2Ev.exit11 %gtest_ar20.sink = phi ptr [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit11 ], [ %gtest_ar, %lpad ], [ %gtest_ar20, %_ZN7testing7MessageD2Ev.exit47 ], [ %gtest_ar20, %lpad35 ] %.pn3.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit11 ], [ %10, %lpad ], [ %.pn3, %_ZN7testing7MessageD2Ev.exit47 ], [ %23, %lpad35 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar20.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar20.sink) #28 resume { ptr, i32 } %.pn3.pn.pn } @@ -20083,14 +20083,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_136NonMutatingTest_EqualRangeArray_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_136NonMutatingTest_EqualRangeArray_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -20101,22 +20101,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_136NonMutatingTest_EqualRangeArray_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_136NonMutatingTest_EqualRangeArray_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -20243,7 +20243,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont11, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #28 br label %invoke.cont11 invoke.cont11: ; preds = %cond.true.i.i, %invoke.cont @@ -20256,7 +20256,7 @@ invoke.cont13: ; preds = %invoke.cont11 to label %invoke.cont15 unwind label %lpad14 invoke.cont15: ; preds = %invoke.cont13 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #28 %9 = load ptr, ptr %ref.tmp8, align 8 %cmp.not.i.i = icmp eq ptr %9, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -20265,7 +20265,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %9, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont15, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -20285,7 +20285,7 @@ lpad10: ; preds = %invoke.cont11 lpad14: ; preds = %invoke.cont13 %13 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #28 br label %ehcleanup ehcleanup: ; preds = %lpad14, %lpad10 @@ -20298,7 +20298,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i9 = load ptr, ptr %14, align 8 %vfn.i.i.i10 = getelementptr inbounds ptr, ptr %vtable.i.i.i9, i64 1 %15 = load ptr, ptr %vfn.i.i.i10, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %_ZN7testing7MessageD2Ev.exit11 _ZN7testing7MessageD2Ev.exit11: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i8 @@ -20312,8 +20312,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i12, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #27 - call void @_ZdlPv(ptr noundef nonnull %16) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #28 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -20351,7 +20351,7 @@ invoke.cont28: ; preds = %if.else25 br i1 %cmp.i.i.not.i.i24, label %invoke.cont31, label %cond.true.i.i25 cond.true.i.i25: ; preds = %invoke.cont28 - %call4.i.i26 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #27 + %call4.i.i26 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #28 br label %invoke.cont31 invoke.cont31: ; preds = %cond.true.i.i25, %invoke.cont28 @@ -20364,7 +20364,7 @@ invoke.cont33: ; preds = %invoke.cont31 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 %20 = load ptr, ptr %ref.tmp26, align 8 %cmp.not.i.i29 = icmp eq ptr %20, null br i1 %cmp.not.i.i29, label %_ZN7testing7MessageD2Ev.exit33, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30 @@ -20373,7 +20373,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i31 = load ptr, ptr %20, align 8 %vfn.i.i.i32 = getelementptr inbounds ptr, ptr %vtable.i.i.i31, i64 1 %21 = load ptr, ptr %vfn.i.i.i32, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit33 _ZN7testing7MessageD2Ev.exit33: ; preds = %invoke.cont35, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30 @@ -20393,7 +20393,7 @@ lpad30: ; preds = %invoke.cont31 lpad34: ; preds = %invoke.cont33 %24 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad30 @@ -20406,7 +20406,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i36 = load ptr, ptr %25, align 8 %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 %26 = load ptr, ptr %vfn.i.i.i37, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %_ZN7testing7MessageD2Ev.exit38 _ZN7testing7MessageD2Ev.exit38: ; preds = %ehcleanup37, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -20420,8 +20420,8 @@ if.end38: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i40, label %_ZN7testing15AssertionResultD2Ev.exit42, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %if.end38 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #27 - call void @_ZdlPv(ptr noundef nonnull %27) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #28 + call void @_ZdlPv(ptr noundef nonnull %27) #29 br label %_ZN7testing15AssertionResultD2Ev.exit42 _ZN7testing15AssertionResultD2Ev.exit42: ; preds = %if.end38, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 @@ -20430,7 +20430,7 @@ _ZN7testing15AssertionResultD2Ev.exit42: ; preds = %if.end38, %_ZNKSt14 eh.resume: ; preds = %lpad27, %_ZN7testing7MessageD2Ev.exit38, %lpad, %_ZN7testing7MessageD2Ev.exit11 %gtest_ar17.sink = phi ptr [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit11 ], [ %gtest_ar, %lpad ], [ %gtest_ar17, %_ZN7testing7MessageD2Ev.exit38 ], [ %gtest_ar17, %lpad27 ] %.pn3.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit11 ], [ %11, %lpad ], [ %.pn3, %_ZN7testing7MessageD2Ev.exit38 ], [ %22, %lpad27 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar17.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar17.sink) #28 resume { ptr, i32 } %.pn3.pn.pn } @@ -20443,14 +20443,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_EqualRangeWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_EqualRangeWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -20461,22 +20461,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_EqualRangeWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_EqualRangeWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -20500,36 +20500,36 @@ entry: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %0 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %1 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 %cmp.not.i.i.i.i = icmp eq ptr %0, %1 br i1 %cmp.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit, label %cond.true.i.i.i.i cond.true.i.i.i.i: ; preds = %entry - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - tail call void @_ZSt28__throw_bad_array_new_lengthv() #30 + tail call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable if.then.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #29 + %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #30 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i, ptr align 4 %1, i64 %sub.ptr.sub.i.i, i1 false) br label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit _ZNSt6vectorIiSaIiEEC2ERKS1_.exit: ; preds = %entry, %if.then.i.i.i.i.i.i.i.i.i %cond.i.i.i.i60 = phi ptr [ %call5.i.i.i.i2.i6.i, %if.then.i.i.i.i.i.i.i.i.i ], [ null, %entry ] - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i60, i64 %sub.ptr.div.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i60, i64 %sub.ptr.sub.i.i invoke void @_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_T0_(ptr %cond.i.i.i.i60, ptr %add.ptr.i.i.i.i.i.i.i.i.i) to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cond.i.i.i.i60 to i64 - %cmp51.i.i.i = icmp sgt i64 %sub.ptr.div.i.i, 0 + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 + %cmp51.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 br i1 %cmp51.i.i.i, label %while.body.i.i.i, label %invoke.cont19 while.body.i.i.i: ; preds = %invoke.cont, %if.end31.i.i.i - %__len.053.i.i.i = phi i64 [ %__len.1.i.i.i, %if.end31.i.i.i ], [ %sub.ptr.div.i.i, %invoke.cont ] + %__len.053.i.i.i = phi i64 [ %__len.1.i.i.i, %if.end31.i.i.i ], [ %sub.ptr.div.i.i.i.i.i.i, %invoke.cont ] %__first.sroa.0.052.i.i.i = phi ptr [ %__first.sroa.0.1.i.i.i, %if.end31.i.i.i ], [ %cond.i.i.i.i60, %invoke.cont ] %shr.i.i.i = lshr i64 %__len.053.i.i.i, 1 %incdec.ptr.i8.sink.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.052.i.i.i, i64 %shr.i.i.i @@ -20639,7 +20639,7 @@ invoke.cont25: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont28, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont25 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 br label %invoke.cont28 invoke.cont28: ; preds = %cond.true.i.i, %invoke.cont25 @@ -20652,7 +20652,7 @@ invoke.cont30: ; preds = %invoke.cont28 to label %invoke.cont32 unwind label %lpad31 invoke.cont32: ; preds = %invoke.cont30 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #28 %12 = load ptr, ptr %ref.tmp23, align 8 %cmp.not.i.i = icmp eq ptr %12, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -20661,7 +20661,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont32, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -20681,7 +20681,7 @@ lpad27: ; preds = %invoke.cont28 lpad31: ; preds = %invoke.cont30 %16 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #28 br label %ehcleanup ehcleanup: ; preds = %lpad31, %lpad27 @@ -20694,7 +20694,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %17, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %18 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -20708,8 +20708,8 @@ if.end: ; preds = %invoke.cont21, %_ZN br i1 %cmp.not.i.i14, label %invoke.cont43, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #27 - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %invoke.cont43 invoke.cont43: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end @@ -20738,7 +20738,7 @@ invoke.cont45: ; preds = %if.then.i.i22, %if. ehcleanup33: ; preds = %_ZN7testing7MessageD2Ev.exit13, %lpad24 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %14, %lpad24 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup63 if.else48: ; preds = %invoke.cont45 @@ -20752,7 +20752,7 @@ invoke.cont51: ; preds = %if.else48 br i1 %cmp.i.i.not.i.i28, label %invoke.cont54, label %cond.true.i.i29 cond.true.i.i29: ; preds = %invoke.cont51 - %call4.i.i30 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #27 + %call4.i.i30 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #28 br label %invoke.cont54 invoke.cont54: ; preds = %cond.true.i.i29, %invoke.cont51 @@ -20765,7 +20765,7 @@ invoke.cont56: ; preds = %invoke.cont54 to label %invoke.cont58 unwind label %lpad57 invoke.cont58: ; preds = %invoke.cont56 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 %23 = load ptr, ptr %ref.tmp49, align 8 %cmp.not.i.i33 = icmp eq ptr %23, null br i1 %cmp.not.i.i33, label %_ZN7testing7MessageD2Ev.exit37, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 @@ -20774,7 +20774,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i35 = load ptr, ptr %23, align 8 %vfn.i.i.i36 = getelementptr inbounds ptr, ptr %vtable.i.i.i35, i64 1 %24 = load ptr, ptr %vfn.i.i.i36, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %_ZN7testing7MessageD2Ev.exit37 _ZN7testing7MessageD2Ev.exit37: ; preds = %invoke.cont58, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 @@ -20794,7 +20794,7 @@ lpad53: ; preds = %invoke.cont54 lpad57: ; preds = %invoke.cont56 %27 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 br label %ehcleanup60 ehcleanup60: ; preds = %lpad57, %lpad53 @@ -20807,7 +20807,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i40 = load ptr, ptr %28, align 8 %vfn.i.i.i41 = getelementptr inbounds ptr, ptr %vtable.i.i.i40, i64 1 %29 = load ptr, ptr %vfn.i.i.i41, align 8 - call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #27 + call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #28 br label %_ZN7testing7MessageD2Ev.exit42 _ZN7testing7MessageD2Ev.exit42: ; preds = %ehcleanup60, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i39 @@ -20821,8 +20821,8 @@ if.end61: ; preds = %invoke.cont45, %_ZN br i1 %cmp.not.i.i44, label %_ZN7testing15AssertionResultD2Ev.exit46, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45: ; preds = %if.end61 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #27 - call void @_ZdlPv(ptr noundef nonnull %30) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #28 + call void @_ZdlPv(ptr noundef nonnull %30) #29 br label %_ZN7testing15AssertionResultD2Ev.exit46 _ZN7testing15AssertionResultD2Ev.exit46: ; preds = %if.end61, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45 @@ -20831,7 +20831,7 @@ _ZN7testing15AssertionResultD2Ev.exit46: ; preds = %if.end61, %_ZNKSt14 br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i48 if.then.i.i.i48: ; preds = %_ZN7testing15AssertionResultD2Ev.exit46 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i60) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i60) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit46, %if.then.i.i.i48 @@ -20839,7 +20839,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup62: ; preds = %_ZN7testing7MessageD2Ev.exit42, %lpad50 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit42 ], [ %25, %lpad50 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar34) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar34) #28 br label %ehcleanup63 ehcleanup63: ; preds = %ehcleanup62, %ehcleanup33, %lpad @@ -20848,7 +20848,7 @@ ehcleanup63: ; preds = %ehcleanup62, %ehcle br i1 %tobool.not.i.i.i50, label %_ZNSt6vectorIiSaIiEED2Ev.exit52, label %if.then.i.i.i51 if.then.i.i.i51: ; preds = %ehcleanup63 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i60) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i60) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit52 _ZNSt6vectorIiSaIiEED2Ev.exit52: ; preds = %ehcleanup63, %if.then.i.i.i51 @@ -20864,14 +20864,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133NonMutatingTest_BinarySearch_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133NonMutatingTest_BinarySearch_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -20882,22 +20882,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133NonMutatingTest_BinarySearch_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133NonMutatingTest_BinarySearch_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -20968,7 +20968,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont8 unwind label %lpad7 invoke.cont8: ; preds = %invoke.cont - %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 364, ptr noundef %call9) to label %invoke.cont11 unwind label %lpad10 @@ -20977,8 +20977,8 @@ invoke.cont11: ; preds = %invoke.cont8 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 %5 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %5, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -20987,7 +20987,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %5, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %6 = load ptr, ptr %vfn.i.i.i, align 8 - call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 + call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #28 br label %if.end lpad: ; preds = %if.else @@ -21008,12 +21008,12 @@ lpad10: ; preds = %invoke.cont8 lpad12: ; preds = %invoke.cont11 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad10 %.pn = phi { ptr, i32 } [ %10, %lpad12 ], [ %9, %lpad10 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 br label %ehcleanup14 ehcleanup14: ; preds = %ehcleanup, %lpad7 @@ -21026,7 +21026,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %11, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %12 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -21040,8 +21040,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i15, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl15c_binary_searchISt6vectorIiSaIiEEiEEbRKT_RKT0_.exit, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -21052,31 +21052,31 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl15c_binary_ %sub.ptr.lhs.cast.i.i = ptrtoint ptr %13 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %14 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 %cmp.not.i.i.i.i = icmp eq ptr %13, %14 br i1 %cmp.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit, label %cond.true.i.i.i.i cond.true.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - call void @_ZSt28__throw_bad_array_new_lengthv() #30 + call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable if.then.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - %call5.i.i.i.i2.i6.i = call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #29 + %call5.i.i.i.i2.i6.i = call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #30 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i, ptr align 4 %14, i64 %sub.ptr.sub.i.i, i1 false) br label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit _ZNSt6vectorIiSaIiEEC2ERKS1_.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i.i.i.i.i.i.i %cond.i.i.i.i77 = phi ptr [ %call5.i.i.i.i2.i6.i, %if.then.i.i.i.i.i.i.i.i.i ], [ null, %_ZN7testing15AssertionResultD2Ev.exit ] - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i77, i64 %sub.ptr.div.i.i - %cmp6.i.i.i21 = icmp sgt i64 %sub.ptr.div.i.i, 0 + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i77, i64 %sub.ptr.sub.i.i + %sub.ptr.div.i.i.i.i.i.i20 = ashr exact i64 %sub.ptr.sub.i.i, 2 + %cmp6.i.i.i21 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i20, 0 br i1 %cmp6.i.i.i21, label %while.body.i.i.i28, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_SA_SA_RKT0_T1_.exit.i.i22 while.body.i.i.i28: ; preds = %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit, %while.body.i.i.i28 - %__len.08.i.i.i29 = phi i64 [ %__len.1.i.i.i40, %while.body.i.i.i28 ], [ %sub.ptr.div.i.i, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ] + %__len.08.i.i.i29 = phi i64 [ %__len.1.i.i.i40, %while.body.i.i.i28 ], [ %sub.ptr.div.i.i.i.i.i.i20, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ] %__first.sroa.0.07.i.i.i30 = phi ptr [ %__first.sroa.0.1.i.i.i39, %while.body.i.i.i28 ], [ %cond.i.i.i.i77, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit ] %shr.i.i.i31 = lshr i64 %__len.08.i.i.i29, 1 %incdec.ptr.i8.sink.i.i.i.i.i35 = getelementptr inbounds i32, ptr %__first.sroa.0.07.i.i.i30, i64 %shr.i.i.i31 @@ -21110,7 +21110,7 @@ invoke.cont22: ; preds = %land.rhs.i.i25, %_Z br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont22 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i77) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i77) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont22, %if.then.i.i.i @@ -21126,7 +21126,7 @@ invoke.cont32: ; preds = %if.else29 to label %invoke.cont36 unwind label %lpad35 invoke.cont36: ; preds = %invoke.cont32 - %call37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp34) #27 + %call37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp34) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp33, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 365, ptr noundef %call37) to label %invoke.cont39 unwind label %lpad38 @@ -21135,8 +21135,8 @@ invoke.cont39: ; preds = %invoke.cont36 to label %invoke.cont41 unwind label %lpad40 invoke.cont41: ; preds = %invoke.cont39 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp33) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp34) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp33) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp34) #28 %20 = load ptr, ptr %ref.tmp30, align 8 %cmp.not.i.i50 = icmp eq ptr %20, null br i1 %cmp.not.i.i50, label %if.end45, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i51 @@ -21145,7 +21145,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i52 = load ptr, ptr %20, align 8 %vfn.i.i.i53 = getelementptr inbounds ptr, ptr %vtable.i.i.i52, i64 1 %21 = load ptr, ptr %vfn.i.i.i53, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %if.end45 lpad31: ; preds = %if.else29 @@ -21166,12 +21166,12 @@ lpad38: ; preds = %invoke.cont36 lpad40: ; preds = %invoke.cont39 %25 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp33) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp33) #28 br label %ehcleanup43 ehcleanup43: ; preds = %lpad40, %lpad38 %.pn4 = phi { ptr, i32 } [ %25, %lpad40 ], [ %24, %lpad38 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp34) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp34) #28 br label %ehcleanup44 ehcleanup44: ; preds = %ehcleanup43, %lpad35 @@ -21184,7 +21184,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i57 = load ptr, ptr %26, align 8 %vfn.i.i.i58 = getelementptr inbounds ptr, ptr %vtable.i.i.i57, i64 1 %27 = load ptr, ptr %vfn.i.i.i58, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #27 + call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 br label %_ZN7testing7MessageD2Ev.exit59 _ZN7testing7MessageD2Ev.exit59: ; preds = %ehcleanup44, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i56 @@ -21198,8 +21198,8 @@ if.end45: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i61, label %_ZN7testing15AssertionResultD2Ev.exit63, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i62 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i62: ; preds = %if.end45 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pre) #27 - call void @_ZdlPv(ptr noundef nonnull %.pre) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pre) #28 + call void @_ZdlPv(ptr noundef nonnull %.pre) #29 br label %_ZN7testing15AssertionResultD2Ev.exit63 _ZN7testing15AssertionResultD2Ev.exit63: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.end45, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i62 @@ -21208,7 +21208,7 @@ _ZN7testing15AssertionResultD2Ev.exit63: ; preds = %_ZNSt6vectorIiSaIiE eh.resume: ; preds = %lpad31, %_ZN7testing7MessageD2Ev.exit59, %lpad, %_ZN7testing7MessageD2Ev.exit13 %gtest_ar_16.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit13 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_16, %_ZN7testing7MessageD2Ev.exit59 ], [ %gtest_ar_16, %lpad31 ] %.pn4.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %7, %lpad ], [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit59 ], [ %22, %lpad31 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #28 resume { ptr, i32 } %.pn4.pn.pn.pn } @@ -21221,14 +21221,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_146NonMutatingTest_BinarySearchWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_146NonMutatingTest_BinarySearchWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -21239,22 +21239,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_146NonMutatingTest_BinarySearchWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_146NonMutatingTest_BinarySearchWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -21276,36 +21276,36 @@ entry: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %0 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %1 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 %cmp.not.i.i.i.i = icmp eq ptr %0, %1 br i1 %cmp.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit, label %cond.true.i.i.i.i cond.true.i.i.i.i: ; preds = %entry - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - tail call void @_ZSt28__throw_bad_array_new_lengthv() #30 + tail call void @_ZSt28__throw_bad_array_new_lengthv() #31 unreachable if.then.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i - %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #29 + %call5.i.i.i.i2.i6.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #30 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i, ptr align 4 %1, i64 %sub.ptr.sub.i.i, i1 false) br label %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit _ZNSt6vectorIiSaIiEEC2ERKS1_.exit: ; preds = %entry, %if.then.i.i.i.i.i.i.i.i.i - %cond.i.i.i.i110 = phi ptr [ %call5.i.i.i.i2.i6.i, %if.then.i.i.i.i.i.i.i.i.i ], [ null, %entry ] - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i110, i64 %sub.ptr.div.i.i - invoke void @_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_T0_(ptr %cond.i.i.i.i110, ptr %add.ptr.i.i.i.i.i.i.i.i.i) + %cond.i.i.i.i109 = phi ptr [ %call5.i.i.i.i2.i6.i, %if.then.i.i.i.i.i.i.i.i.i ], [ null, %entry ] + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i109, i64 %sub.ptr.sub.i.i + invoke void @_ZSt6__sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_T0_(ptr %cond.i.i.i.i109, ptr %add.ptr.i.i.i.i.i.i.i.i.i) to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit - %cmp7.i.i.i = icmp sgt i64 %sub.ptr.div.i.i, 0 + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 + %cmp7.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 br i1 %cmp7.i.i.i, label %while.body.i.i.i, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i while.body.i.i.i: ; preds = %invoke.cont, %while.body.i.i.i - %__len.09.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i, %invoke.cont ] - %__first.sroa.0.08.i.i.i = phi ptr [ %__first.sroa.0.1.i.i.i, %while.body.i.i.i ], [ %cond.i.i.i.i110, %invoke.cont ] + %__len.09.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i.i.i.i.i, %invoke.cont ] + %__first.sroa.0.08.i.i.i = phi ptr [ %__first.sroa.0.1.i.i.i, %while.body.i.i.i ], [ %cond.i.i.i.i109, %invoke.cont ] %shr.i.i.i = lshr i64 %__len.09.i.i.i, 1 %incdec.ptr.i8.sink.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.08.i.i.i, i64 %shr.i.i.i %2 = load i32, ptr %incdec.ptr.i8.sink.i.i.i.i.i, align 4 @@ -21319,14 +21319,14 @@ while.body.i.i.i: ; preds = %invoke.cont, %while br i1 %cmp.i.i.i, label %while.body.i.i.i, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i, !llvm.loop !367 _ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i: ; preds = %while.body.i.i.i, %invoke.cont - %__first.sroa.0.0.lcssa.i.i.i = phi ptr [ %cond.i.i.i.i110, %invoke.cont ], [ %__first.sroa.0.1.i.i.i, %while.body.i.i.i ] + %__first.sroa.0.0.lcssa.i.i.i = phi ptr [ %cond.i.i.i.i109, %invoke.cont ], [ %__first.sroa.0.1.i.i.i, %while.body.i.i.i ] %cmp.i2.not.i.i = icmp eq ptr %__first.sroa.0.0.lcssa.i.i.i, %add.ptr.i.i.i.i.i.i.i.i.i br i1 %cmp.i2.not.i.i, label %invoke.cont10.thread, label %invoke.cont10 invoke.cont10.thread: ; preds = %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i store i8 0, ptr %gtest_ar_, align 8 - %message_.i117 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i117, align 8 + %message_.i116 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i116, align 8 br label %if.else invoke.cont10: ; preds = %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i @@ -21338,13 +21338,13 @@ invoke.cont10: ; preds = %_ZSt13__lower_bound store ptr null, ptr %message_.i, align 8 br i1 %cmp.i3.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %if.else -lpad: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i24, %if.then3.i.i.i.i.i.i38, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit +lpad: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i24, %if.then3.i.i.i.i.i.i37, %_ZNSt6vectorIiSaIiEEC2ERKS1_.exit %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup60 if.else: ; preds = %invoke.cont10.thread, %invoke.cont10 - %message_.i119 = phi ptr [ %message_.i117, %invoke.cont10.thread ], [ %message_.i, %invoke.cont10 ] + %message_.i118 = phi ptr [ %message_.i116, %invoke.cont10.thread ], [ %message_.i, %invoke.cont10 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp14) to label %invoke.cont16 unwind label %lpad15 @@ -21353,7 +21353,7 @@ invoke.cont16: ; preds = %if.else to label %invoke.cont20 unwind label %lpad19 invoke.cont20: ; preds = %invoke.cont16 - %call21 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + %call21 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 371, ptr noundef %call21) to label %invoke.cont23 unwind label %lpad22 @@ -21362,8 +21362,8 @@ invoke.cont23: ; preds = %invoke.cont20 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 %6 = load ptr, ptr %ref.tmp14, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -21372,7 +21372,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %if.end lpad15: ; preds = %if.else @@ -21393,12 +21393,12 @@ lpad22: ; preds = %invoke.cont20 lpad24: ; preds = %invoke.cont23 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad22 %.pn = phi { ptr, i32 } [ %11, %lpad24 ], [ %10, %lpad22 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 br label %ehcleanup26 ehcleanup26: ; preds = %ehcleanup, %lpad19 @@ -21411,7 +21411,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %12, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %13 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup26, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -21420,89 +21420,89 @@ _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup26, %_ZNKS if.end: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %invoke.cont25 store ptr null, ptr %ref.tmp14, align 8 - %.pr = load ptr, ptr %message_.i119, align 8 + %.pr = load ptr, ptr %message_.i118, align 8 %cmp.not.i.i15 = icmp eq ptr %.pr, null br i1 %cmp.not.i.i15, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont10, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i - %message_.i120123 = phi ptr [ %message_.i119, %if.end ], [ %message_.i119, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ], [ %message_.i, %invoke.cont10 ] - store ptr null, ptr %message_.i120123, align 8 + %message_.i119122 = phi ptr [ %message_.i118, %if.end ], [ %message_.i118, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ], [ %message_.i, %invoke.cont10 ] + store ptr null, ptr %message_.i119122, align 8 br i1 %cmp.not.i.i.i.i, label %invoke.cont31, label %cond.true.i.i.i.i22 cond.true.i.i.i.i22: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %cmp.i.i.i.i.i.i23 = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i23, label %if.then3.i.i.i.i.i.i38, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i24 + %cmp.i.i.i.i.i.i23 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 2305843009213693951 + br i1 %cmp.i.i.i.i.i.i23, label %if.then3.i.i.i.i.i.i37, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i24 -if.then3.i.i.i.i.i.i38: ; preds = %cond.true.i.i.i.i22 - invoke void @_ZSt28__throw_bad_array_new_lengthv() #30 +if.then3.i.i.i.i.i.i37: ; preds = %cond.true.i.i.i.i22 + invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 to label %.noexc unwind label %lpad -.noexc: ; preds = %if.then3.i.i.i.i.i.i38 +.noexc: ; preds = %if.then3.i.i.i.i.i.i37 unreachable _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i24: ; preds = %cond.true.i.i.i.i22 - %call5.i.i.i.i2.i6.i2539 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #29 + %call5.i.i.i.i2.i6.i2538 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #30 to label %if.then.i.i.i.i.i.i.i.i.i35 unwind label %lpad if.then.i.i.i.i.i.i.i.i.i35: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i24 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i2539, ptr align 4 %cond.i.i.i.i110, i64 %sub.ptr.sub.i.i, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i2538, ptr align 4 %cond.i.i.i.i109, i64 %sub.ptr.sub.i.i, i1 false) br label %invoke.cont31 invoke.cont31: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i.i.i.i.i.i.i35 - %cond.i.i.i.i27125 = phi ptr [ %call5.i.i.i.i2.i6.i2539, %if.then.i.i.i.i.i.i.i.i.i35 ], [ null, %_ZN7testing15AssertionResultD2Ev.exit ] - %add.ptr.i.i.i.i.i.i.i.i.i37 = getelementptr inbounds i32, ptr %cond.i.i.i.i27125, i64 %sub.ptr.div.i.i - br i1 %cmp7.i.i.i, label %while.body.i.i.i53, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i47 - -while.body.i.i.i53: ; preds = %invoke.cont31, %while.body.i.i.i53 - %__len.09.i.i.i54 = phi i64 [ %__len.1.i.i.i65, %while.body.i.i.i53 ], [ %sub.ptr.div.i.i, %invoke.cont31 ] - %__first.sroa.0.08.i.i.i55 = phi ptr [ %__first.sroa.0.1.i.i.i64, %while.body.i.i.i53 ], [ %cond.i.i.i.i27125, %invoke.cont31 ] - %shr.i.i.i56 = lshr i64 %__len.09.i.i.i54, 1 - %incdec.ptr.i8.sink.i.i.i.i.i60 = getelementptr inbounds i32, ptr %__first.sroa.0.08.i.i.i55, i64 %shr.i.i.i56 - %14 = load i32, ptr %incdec.ptr.i8.sink.i.i.i.i.i60, align 4 - %cmp.i.i5.i.i.i61 = icmp sgt i32 %14, 2 - %incdec.ptr.i.i.i.i62 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i.i.i60, i64 1 - %15 = xor i64 %shr.i.i.i56, -1 - %sub9.i.i.i63 = add nsw i64 %__len.09.i.i.i54, %15 - %__first.sroa.0.1.i.i.i64 = select i1 %cmp.i.i5.i.i.i61, ptr %incdec.ptr.i.i.i.i62, ptr %__first.sroa.0.08.i.i.i55 - %__len.1.i.i.i65 = select i1 %cmp.i.i5.i.i.i61, i64 %sub9.i.i.i63, i64 %shr.i.i.i56 - %cmp.i.i.i66 = icmp sgt i64 %__len.1.i.i.i65, 0 - br i1 %cmp.i.i.i66, label %while.body.i.i.i53, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i47, !llvm.loop !367 - -_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i47: ; preds = %while.body.i.i.i53, %invoke.cont31 - %__first.sroa.0.0.lcssa.i.i.i48 = phi ptr [ %cond.i.i.i.i27125, %invoke.cont31 ], [ %__first.sroa.0.1.i.i.i64, %while.body.i.i.i53 ] - %cmp.i2.not.i.i49 = icmp eq ptr %__first.sroa.0.0.lcssa.i.i.i48, %add.ptr.i.i.i.i.i.i.i.i.i37 - br i1 %cmp.i2.not.i.i49, label %invoke.cont35, label %land.rhs.i.i50 - -land.rhs.i.i50: ; preds = %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i47 - %16 = load i32, ptr %__first.sroa.0.0.lcssa.i.i.i48, align 4 - %cmp.i3.i.i51 = icmp sgt i32 %16, 1 - %17 = zext i1 %cmp.i3.i.i51 to i8 + %cond.i.i.i.i27124 = phi ptr [ %call5.i.i.i.i2.i6.i2538, %if.then.i.i.i.i.i.i.i.i.i35 ], [ null, %_ZN7testing15AssertionResultD2Ev.exit ] + %add.ptr.i.i.i.i.i.i.i.i.i36 = getelementptr inbounds i8, ptr %cond.i.i.i.i27124, i64 %sub.ptr.sub.i.i + br i1 %cmp7.i.i.i, label %while.body.i.i.i52, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i46 + +while.body.i.i.i52: ; preds = %invoke.cont31, %while.body.i.i.i52 + %__len.09.i.i.i53 = phi i64 [ %__len.1.i.i.i64, %while.body.i.i.i52 ], [ %sub.ptr.div.i.i.i.i.i.i, %invoke.cont31 ] + %__first.sroa.0.08.i.i.i54 = phi ptr [ %__first.sroa.0.1.i.i.i63, %while.body.i.i.i52 ], [ %cond.i.i.i.i27124, %invoke.cont31 ] + %shr.i.i.i55 = lshr i64 %__len.09.i.i.i53, 1 + %incdec.ptr.i8.sink.i.i.i.i.i59 = getelementptr inbounds i32, ptr %__first.sroa.0.08.i.i.i54, i64 %shr.i.i.i55 + %14 = load i32, ptr %incdec.ptr.i8.sink.i.i.i.i.i59, align 4 + %cmp.i.i5.i.i.i60 = icmp sgt i32 %14, 2 + %incdec.ptr.i.i.i.i61 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i.i.i59, i64 1 + %15 = xor i64 %shr.i.i.i55, -1 + %sub9.i.i.i62 = add nsw i64 %__len.09.i.i.i53, %15 + %__first.sroa.0.1.i.i.i63 = select i1 %cmp.i.i5.i.i.i60, ptr %incdec.ptr.i.i.i.i61, ptr %__first.sroa.0.08.i.i.i54 + %__len.1.i.i.i64 = select i1 %cmp.i.i5.i.i.i60, i64 %sub9.i.i.i62, i64 %shr.i.i.i55 + %cmp.i.i.i65 = icmp sgt i64 %__len.1.i.i.i64, 0 + br i1 %cmp.i.i.i65, label %while.body.i.i.i52, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i46, !llvm.loop !367 + +_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i46: ; preds = %while.body.i.i.i52, %invoke.cont31 + %__first.sroa.0.0.lcssa.i.i.i47 = phi ptr [ %cond.i.i.i.i27124, %invoke.cont31 ], [ %__first.sroa.0.1.i.i.i63, %while.body.i.i.i52 ] + %cmp.i2.not.i.i48 = icmp eq ptr %__first.sroa.0.0.lcssa.i.i.i47, %add.ptr.i.i.i.i.i.i.i.i.i36 + br i1 %cmp.i2.not.i.i48, label %invoke.cont35, label %land.rhs.i.i49 + +land.rhs.i.i49: ; preds = %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i46 + %16 = load i32, ptr %__first.sroa.0.0.lcssa.i.i.i47, align 4 + %cmp.i3.i.i50 = icmp sgt i32 %16, 1 + %17 = zext i1 %cmp.i3.i.i50 to i8 br label %invoke.cont35 -invoke.cont35: ; preds = %land.rhs.i.i50, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i47 - %18 = phi i8 [ 0, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i47 ], [ %17, %land.rhs.i.i50 ] +invoke.cont35: ; preds = %land.rhs.i.i49, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i46 + %18 = phi i8 [ 0, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SD_SD_RKT0_T1_.exit.i.i46 ], [ %17, %land.rhs.i.i49 ] store i8 %18, ptr %gtest_ar_28, align 8 - %message_.i68 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_28, i64 0, i32 1 - store ptr null, ptr %message_.i68, align 8 - %tobool.not.i.i.i = icmp eq ptr %cond.i.i.i.i27125, null + %message_.i67 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_28, i64 0, i32 1 + store ptr null, ptr %message_.i67, align 8 + %tobool.not.i.i.i = icmp eq ptr %cond.i.i.i.i27124, null br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont35 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i27125) #28 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i27124) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont35, %if.then.i.i.i - %tobool.i70.not = icmp eq i8 %18, 0 - br i1 %tobool.i70.not, label %if.else42, label %_ZN7testing15AssertionResultD2Ev.exit88 + %tobool.i69.not = icmp eq i8 %18, 0 + br i1 %tobool.i69.not, label %if.else42, label %_ZN7testing15AssertionResultD2Ev.exit87 ehcleanup27: ; preds = %_ZN7testing7MessageD2Ev.exit13, %lpad15 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %8, %lpad15 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup60 if.else42: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit @@ -21514,7 +21514,7 @@ invoke.cont45: ; preds = %if.else42 to label %invoke.cont49 unwind label %lpad48 invoke.cont49: ; preds = %invoke.cont45 - %call50 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp47) #27 + %call50 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp47) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 373, ptr noundef %call50) to label %invoke.cont52 unwind label %lpad51 @@ -21523,17 +21523,17 @@ invoke.cont52: ; preds = %invoke.cont49 to label %invoke.cont54 unwind label %lpad53 invoke.cont54: ; preds = %invoke.cont52 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp47) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp47) #28 %19 = load ptr, ptr %ref.tmp43, align 8 - %cmp.not.i.i75 = icmp eq ptr %19, null - br i1 %cmp.not.i.i75, label %if.end58, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76 + %cmp.not.i.i74 = icmp eq ptr %19, null + br i1 %cmp.not.i.i74, label %if.end58, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76: ; preds = %invoke.cont54 - %vtable.i.i.i77 = load ptr, ptr %19, align 8 - %vfn.i.i.i78 = getelementptr inbounds ptr, ptr %vtable.i.i.i77, i64 1 - %20 = load ptr, ptr %vfn.i.i.i78, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75: ; preds = %invoke.cont54 + %vtable.i.i.i76 = load ptr, ptr %19, align 8 + %vfn.i.i.i77 = getelementptr inbounds ptr, ptr %vtable.i.i.i76, i64 1 + %20 = load ptr, ptr %vfn.i.i.i77, align 8 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 br label %if.end58 lpad44: ; preds = %if.else42 @@ -21554,69 +21554,69 @@ lpad51: ; preds = %invoke.cont49 lpad53: ; preds = %invoke.cont52 %24 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46) #28 br label %ehcleanup56 ehcleanup56: ; preds = %lpad53, %lpad51 %.pn4 = phi { ptr, i32 } [ %24, %lpad53 ], [ %23, %lpad51 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp47) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp47) #28 br label %ehcleanup57 ehcleanup57: ; preds = %ehcleanup56, %lpad48 %.pn4.pn = phi { ptr, i32 } [ %.pn4, %ehcleanup56 ], [ %22, %lpad48 ] %25 = load ptr, ptr %ref.tmp43, align 8 - %cmp.not.i.i80 = icmp eq ptr %25, null - br i1 %cmp.not.i.i80, label %_ZN7testing7MessageD2Ev.exit84, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i81 + %cmp.not.i.i79 = icmp eq ptr %25, null + br i1 %cmp.not.i.i79, label %_ZN7testing7MessageD2Ev.exit83, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i80 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i81: ; preds = %ehcleanup57 - %vtable.i.i.i82 = load ptr, ptr %25, align 8 - %vfn.i.i.i83 = getelementptr inbounds ptr, ptr %vtable.i.i.i82, i64 1 - %26 = load ptr, ptr %vfn.i.i.i83, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 - br label %_ZN7testing7MessageD2Ev.exit84 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i80: ; preds = %ehcleanup57 + %vtable.i.i.i81 = load ptr, ptr %25, align 8 + %vfn.i.i.i82 = getelementptr inbounds ptr, ptr %vtable.i.i.i81, i64 1 + %26 = load ptr, ptr %vfn.i.i.i82, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 + br label %_ZN7testing7MessageD2Ev.exit83 -_ZN7testing7MessageD2Ev.exit84: ; preds = %ehcleanup57, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i81 +_ZN7testing7MessageD2Ev.exit83: ; preds = %ehcleanup57, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i80 store ptr null, ptr %ref.tmp43, align 8 br label %ehcleanup59 -if.end58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76, %invoke.cont54 +if.end58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75, %invoke.cont54 store ptr null, ptr %ref.tmp43, align 8 - %.pre = load ptr, ptr %message_.i68, align 8 - %cmp.not.i.i86 = icmp eq ptr %.pre, null - br i1 %cmp.not.i.i86, label %_ZN7testing15AssertionResultD2Ev.exit88, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87 + %.pre = load ptr, ptr %message_.i67, align 8 + %cmp.not.i.i85 = icmp eq ptr %.pre, null + br i1 %cmp.not.i.i85, label %_ZN7testing15AssertionResultD2Ev.exit87, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87: ; preds = %if.end58 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pre) #27 - call void @_ZdlPv(ptr noundef nonnull %.pre) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit88 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86: ; preds = %if.end58 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pre) #28 + call void @_ZdlPv(ptr noundef nonnull %.pre) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit87 -_ZN7testing15AssertionResultD2Ev.exit88: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.end58, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87 - store ptr null, ptr %message_.i68, align 8 - %tobool.not.i.i.i90 = icmp eq ptr %cond.i.i.i.i110, null - br i1 %tobool.not.i.i.i90, label %_ZNSt6vectorIiSaIiEED2Ev.exit92, label %if.then.i.i.i91 +_ZN7testing15AssertionResultD2Ev.exit87: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.end58, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 + store ptr null, ptr %message_.i67, align 8 + %tobool.not.i.i.i89 = icmp eq ptr %cond.i.i.i.i109, null + br i1 %tobool.not.i.i.i89, label %_ZNSt6vectorIiSaIiEED2Ev.exit91, label %if.then.i.i.i90 -if.then.i.i.i91: ; preds = %_ZN7testing15AssertionResultD2Ev.exit88 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i110) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit92 +if.then.i.i.i90: ; preds = %_ZN7testing15AssertionResultD2Ev.exit87 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i109) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit91 -_ZNSt6vectorIiSaIiEED2Ev.exit92: ; preds = %_ZN7testing15AssertionResultD2Ev.exit88, %if.then.i.i.i91 +_ZNSt6vectorIiSaIiEED2Ev.exit91: ; preds = %_ZN7testing15AssertionResultD2Ev.exit87, %if.then.i.i.i90 ret void -ehcleanup59: ; preds = %_ZN7testing7MessageD2Ev.exit84, %lpad44 - %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit84 ], [ %21, %lpad44 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_28) #27 +ehcleanup59: ; preds = %_ZN7testing7MessageD2Ev.exit83, %lpad44 + %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit83 ], [ %21, %lpad44 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_28) #28 br label %ehcleanup60 ehcleanup60: ; preds = %ehcleanup59, %ehcleanup27, %lpad %.pn4.pn.pn.pn = phi { ptr, i32 } [ %.pn4.pn.pn, %ehcleanup59 ], [ %5, %lpad ], [ %.pn.pn.pn, %ehcleanup27 ] - %tobool.not.i.i.i94 = icmp eq ptr %cond.i.i.i.i110, null - br i1 %tobool.not.i.i.i94, label %_ZNSt6vectorIiSaIiEED2Ev.exit96, label %if.then.i.i.i95 + %tobool.not.i.i.i93 = icmp eq ptr %cond.i.i.i.i109, null + br i1 %tobool.not.i.i.i93, label %_ZNSt6vectorIiSaIiEED2Ev.exit95, label %if.then.i.i.i94 -if.then.i.i.i95: ; preds = %ehcleanup60 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i110) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit96 +if.then.i.i.i94: ; preds = %ehcleanup60 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i109) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit95 -_ZNSt6vectorIiSaIiEED2Ev.exit96: ; preds = %ehcleanup60, %if.then.i.i.i95 +_ZNSt6vectorIiSaIiEED2Ev.exit95: ; preds = %ehcleanup60, %if.then.i.i.i94 resume { ptr, i32 } %.pn4.pn.pn.pn } @@ -21629,14 +21629,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_MinElement_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_MinElement_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -21647,22 +21647,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_MinElement_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_MinElement_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -21725,7 +21725,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont - %call13 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + %call13 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 378, ptr noundef %call13) to label %invoke.cont15 unwind label %lpad14 @@ -21734,8 +21734,8 @@ invoke.cont15: ; preds = %invoke.cont12 to label %invoke.cont17 unwind label %lpad16 invoke.cont17: ; preds = %invoke.cont15 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 %6 = load ptr, ptr %ref.tmp8, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %cleanup, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -21744,7 +21744,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %cleanup lpad: ; preds = %if.else @@ -21765,12 +21765,12 @@ lpad14: ; preds = %invoke.cont12 lpad16: ; preds = %invoke.cont15 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #28 br label %ehcleanup ehcleanup: ; preds = %lpad16, %lpad14 %.pn = phi { ptr, i32 } [ %11, %lpad16 ], [ %10, %lpad14 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 br label %ehcleanup18 ehcleanup18: ; preds = %ehcleanup, %lpad11 @@ -21783,7 +21783,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %12, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %13 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup18, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -21797,8 +21797,8 @@ cleanup: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit.thread, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit.thread _ZN7testing15AssertionResultD2Ev.exit.thread: ; preds = %cleanup, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -21837,7 +21837,7 @@ invoke.cont27: ; preds = %if.else24 br i1 %cmp.i.i.not.i.i, label %invoke.cont30, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont27 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont30 invoke.cont30: ; preds = %cond.true.i.i, %invoke.cont27 @@ -21850,7 +21850,7 @@ invoke.cont32: ; preds = %invoke.cont30 to label %invoke.cont34 unwind label %lpad33 invoke.cont34: ; preds = %invoke.cont32 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 %18 = load ptr, ptr %ref.tmp25, align 8 %cmp.not.i.i16 = icmp eq ptr %18, null br i1 %cmp.not.i.i16, label %_ZN7testing7MessageD2Ev.exit20, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -21859,7 +21859,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i18 = load ptr, ptr %18, align 8 %vfn.i.i.i19 = getelementptr inbounds ptr, ptr %vtable.i.i.i18, i64 1 %19 = load ptr, ptr %vfn.i.i.i19, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit20 _ZN7testing7MessageD2Ev.exit20: ; preds = %invoke.cont34, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -21879,7 +21879,7 @@ lpad29: ; preds = %invoke.cont30 lpad33: ; preds = %invoke.cont32 %22 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 br label %ehcleanup36 ehcleanup36: ; preds = %lpad33, %lpad29 @@ -21892,7 +21892,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i23 = load ptr, ptr %23, align 8 %vfn.i.i.i24 = getelementptr inbounds ptr, ptr %vtable.i.i.i23, i64 1 %24 = load ptr, ptr %vfn.i.i.i24, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %_ZN7testing7MessageD2Ev.exit25 _ZN7testing7MessageD2Ev.exit25: ; preds = %ehcleanup36, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22 @@ -21906,8 +21906,8 @@ if.end37: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i27, label %return, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28: ; preds = %if.end37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #27 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %return return: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28, %if.end37, %_ZN7testing15AssertionResultD2Ev.exit.thread @@ -21916,7 +21916,7 @@ return: ; preds = %_ZNKSt14default_del eh.resume: ; preds = %lpad26, %_ZN7testing7MessageD2Ev.exit25, %lpad, %_ZN7testing7MessageD2Ev.exit12 %gtest_ar.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit12 ], [ %gtest_ar_, %lpad ], [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit25 ], [ %gtest_ar, %lpad26 ] %.pn4.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %8, %lpad ], [ %.pn4, %_ZN7testing7MessageD2Ev.exit25 ], [ %20, %lpad26 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.sink) #28 resume { ptr, i32 } %.pn4.pn.pn } @@ -21929,14 +21929,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_MinElementWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_MinElementWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -21947,22 +21947,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_MinElementWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_MinElementWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -22025,7 +22025,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont - %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 385, ptr noundef %call14) to label %invoke.cont16 unwind label %lpad15 @@ -22034,8 +22034,8 @@ invoke.cont16: ; preds = %invoke.cont13 to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont16 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 %6 = load ptr, ptr %ref.tmp9, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %cleanup, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -22044,7 +22044,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %cleanup lpad: ; preds = %if.else @@ -22065,12 +22065,12 @@ lpad15: ; preds = %invoke.cont13 lpad17: ; preds = %invoke.cont16 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 br label %ehcleanup ehcleanup: ; preds = %lpad17, %lpad15 %.pn = phi { ptr, i32 } [ %11, %lpad17 ], [ %10, %lpad15 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 br label %ehcleanup19 ehcleanup19: ; preds = %ehcleanup, %lpad12 @@ -22083,7 +22083,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %12, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %13 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup19, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -22097,8 +22097,8 @@ cleanup: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit.thread, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit.thread _ZN7testing15AssertionResultD2Ev.exit.thread: ; preds = %cleanup, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -22137,7 +22137,7 @@ invoke.cont28: ; preds = %if.else25 br i1 %cmp.i.i.not.i.i, label %invoke.cont31, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont28 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont31 invoke.cont31: ; preds = %cond.true.i.i, %invoke.cont28 @@ -22150,7 +22150,7 @@ invoke.cont33: ; preds = %invoke.cont31 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 %18 = load ptr, ptr %ref.tmp26, align 8 %cmp.not.i.i16 = icmp eq ptr %18, null br i1 %cmp.not.i.i16, label %_ZN7testing7MessageD2Ev.exit20, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -22159,7 +22159,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i18 = load ptr, ptr %18, align 8 %vfn.i.i.i19 = getelementptr inbounds ptr, ptr %vtable.i.i.i18, i64 1 %19 = load ptr, ptr %vfn.i.i.i19, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit20 _ZN7testing7MessageD2Ev.exit20: ; preds = %invoke.cont35, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -22179,7 +22179,7 @@ lpad30: ; preds = %invoke.cont31 lpad34: ; preds = %invoke.cont33 %22 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad30 @@ -22192,7 +22192,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i23 = load ptr, ptr %23, align 8 %vfn.i.i.i24 = getelementptr inbounds ptr, ptr %vtable.i.i.i23, i64 1 %24 = load ptr, ptr %vfn.i.i.i24, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %_ZN7testing7MessageD2Ev.exit25 _ZN7testing7MessageD2Ev.exit25: ; preds = %ehcleanup37, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22 @@ -22206,8 +22206,8 @@ if.end38: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i27, label %return, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28: ; preds = %if.end38 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #27 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %return return: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28, %if.end38, %_ZN7testing15AssertionResultD2Ev.exit.thread @@ -22216,7 +22216,7 @@ return: ; preds = %_ZNKSt14default_del eh.resume: ; preds = %lpad27, %_ZN7testing7MessageD2Ev.exit25, %lpad, %_ZN7testing7MessageD2Ev.exit12 %gtest_ar.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit12 ], [ %gtest_ar_, %lpad ], [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit25 ], [ %gtest_ar, %lpad27 ] %.pn4.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %8, %lpad ], [ %.pn4, %_ZN7testing7MessageD2Ev.exit25 ], [ %20, %lpad27 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.sink) #28 resume { ptr, i32 } %.pn4.pn.pn } @@ -22229,14 +22229,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_MaxElement_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_MaxElement_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -22247,22 +22247,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_MaxElement_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_MaxElement_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -22325,7 +22325,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont - %call13 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + %call13 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 391, ptr noundef %call13) to label %invoke.cont15 unwind label %lpad14 @@ -22334,8 +22334,8 @@ invoke.cont15: ; preds = %invoke.cont12 to label %invoke.cont17 unwind label %lpad16 invoke.cont17: ; preds = %invoke.cont15 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 %6 = load ptr, ptr %ref.tmp8, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %cleanup, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -22344,7 +22344,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %cleanup lpad: ; preds = %if.else @@ -22365,12 +22365,12 @@ lpad14: ; preds = %invoke.cont12 lpad16: ; preds = %invoke.cont15 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #28 br label %ehcleanup ehcleanup: ; preds = %lpad16, %lpad14 %.pn = phi { ptr, i32 } [ %11, %lpad16 ], [ %10, %lpad14 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 br label %ehcleanup18 ehcleanup18: ; preds = %ehcleanup, %lpad11 @@ -22383,7 +22383,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %12, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %13 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup18, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -22397,8 +22397,8 @@ cleanup: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit.thread, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit.thread _ZN7testing15AssertionResultD2Ev.exit.thread: ; preds = %cleanup, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -22437,7 +22437,7 @@ invoke.cont27: ; preds = %if.else24 br i1 %cmp.i.i.not.i.i, label %invoke.cont30, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont27 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont30 invoke.cont30: ; preds = %cond.true.i.i, %invoke.cont27 @@ -22450,7 +22450,7 @@ invoke.cont32: ; preds = %invoke.cont30 to label %invoke.cont34 unwind label %lpad33 invoke.cont34: ; preds = %invoke.cont32 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 %18 = load ptr, ptr %ref.tmp25, align 8 %cmp.not.i.i16 = icmp eq ptr %18, null br i1 %cmp.not.i.i16, label %_ZN7testing7MessageD2Ev.exit20, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -22459,7 +22459,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i18 = load ptr, ptr %18, align 8 %vfn.i.i.i19 = getelementptr inbounds ptr, ptr %vtable.i.i.i18, i64 1 %19 = load ptr, ptr %vfn.i.i.i19, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit20 _ZN7testing7MessageD2Ev.exit20: ; preds = %invoke.cont34, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -22479,7 +22479,7 @@ lpad29: ; preds = %invoke.cont30 lpad33: ; preds = %invoke.cont32 %22 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 br label %ehcleanup36 ehcleanup36: ; preds = %lpad33, %lpad29 @@ -22492,7 +22492,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i23 = load ptr, ptr %23, align 8 %vfn.i.i.i24 = getelementptr inbounds ptr, ptr %vtable.i.i.i23, i64 1 %24 = load ptr, ptr %vfn.i.i.i24, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %_ZN7testing7MessageD2Ev.exit25 _ZN7testing7MessageD2Ev.exit25: ; preds = %ehcleanup36, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22 @@ -22506,8 +22506,8 @@ if.end37: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i27, label %return, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28: ; preds = %if.end37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #27 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %return return: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28, %if.end37, %_ZN7testing15AssertionResultD2Ev.exit.thread @@ -22516,7 +22516,7 @@ return: ; preds = %_ZNKSt14default_del eh.resume: ; preds = %lpad26, %_ZN7testing7MessageD2Ev.exit25, %lpad, %_ZN7testing7MessageD2Ev.exit12 %gtest_ar.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit12 ], [ %gtest_ar_, %lpad ], [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit25 ], [ %gtest_ar, %lpad26 ] %.pn4.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %8, %lpad ], [ %.pn4, %_ZN7testing7MessageD2Ev.exit25 ], [ %20, %lpad26 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.sink) #28 resume { ptr, i32 } %.pn4.pn.pn } @@ -22529,14 +22529,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_MaxElementWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144NonMutatingTest_MaxElementWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -22547,22 +22547,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_MaxElementWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144NonMutatingTest_MaxElementWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -22625,7 +22625,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont - %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 398, ptr noundef %call14) to label %invoke.cont16 unwind label %lpad15 @@ -22634,8 +22634,8 @@ invoke.cont16: ; preds = %invoke.cont13 to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont16 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 %6 = load ptr, ptr %ref.tmp9, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %cleanup, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -22644,7 +22644,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %cleanup lpad: ; preds = %if.else @@ -22665,12 +22665,12 @@ lpad15: ; preds = %invoke.cont13 lpad17: ; preds = %invoke.cont16 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 br label %ehcleanup ehcleanup: ; preds = %lpad17, %lpad15 %.pn = phi { ptr, i32 } [ %11, %lpad17 ], [ %10, %lpad15 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 br label %ehcleanup19 ehcleanup19: ; preds = %ehcleanup, %lpad12 @@ -22683,7 +22683,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %12, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %13 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup19, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -22697,8 +22697,8 @@ cleanup: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit.thread, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit.thread _ZN7testing15AssertionResultD2Ev.exit.thread: ; preds = %cleanup, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -22737,7 +22737,7 @@ invoke.cont28: ; preds = %if.else25 br i1 %cmp.i.i.not.i.i, label %invoke.cont31, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont28 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont31 invoke.cont31: ; preds = %cond.true.i.i, %invoke.cont28 @@ -22750,7 +22750,7 @@ invoke.cont33: ; preds = %invoke.cont31 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 %18 = load ptr, ptr %ref.tmp26, align 8 %cmp.not.i.i16 = icmp eq ptr %18, null br i1 %cmp.not.i.i16, label %_ZN7testing7MessageD2Ev.exit20, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -22759,7 +22759,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i18 = load ptr, ptr %18, align 8 %vfn.i.i.i19 = getelementptr inbounds ptr, ptr %vtable.i.i.i18, i64 1 %19 = load ptr, ptr %vfn.i.i.i19, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit20 _ZN7testing7MessageD2Ev.exit20: ; preds = %invoke.cont35, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -22779,7 +22779,7 @@ lpad30: ; preds = %invoke.cont31 lpad34: ; preds = %invoke.cont33 %22 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad30 @@ -22792,7 +22792,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i23 = load ptr, ptr %23, align 8 %vfn.i.i.i24 = getelementptr inbounds ptr, ptr %vtable.i.i.i23, i64 1 %24 = load ptr, ptr %vfn.i.i.i24, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %_ZN7testing7MessageD2Ev.exit25 _ZN7testing7MessageD2Ev.exit25: ; preds = %ehcleanup37, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22 @@ -22806,8 +22806,8 @@ if.end38: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i27, label %return, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28: ; preds = %if.end38 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #27 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %return return: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28, %if.end38, %_ZN7testing15AssertionResultD2Ev.exit.thread @@ -22816,7 +22816,7 @@ return: ; preds = %_ZNKSt14default_del eh.resume: ; preds = %lpad27, %_ZN7testing7MessageD2Ev.exit25, %lpad, %_ZN7testing7MessageD2Ev.exit12 %gtest_ar.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit12 ], [ %gtest_ar_, %lpad ], [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit25 ], [ %gtest_ar, %lpad27 ] %.pn4.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %8, %lpad ], [ %.pn4, %_ZN7testing7MessageD2Ev.exit25 ], [ %20, %lpad27 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.sink) #28 resume { ptr, i32 } %.pn4.pn.pn } @@ -22829,14 +22829,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NonMutatingTest_LexicographicalCompare_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NonMutatingTest_LexicographicalCompare_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -22847,22 +22847,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_143NonMutatingTest_LexicographicalCompare_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_143NonMutatingTest_LexicographicalCompare_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -22885,12 +22885,12 @@ entry: %sequence_ = getelementptr inbounds %"class.(anonymous namespace)::NonMutatingTest", ptr %this, i64 0, i32 2 %0 = load ptr, ptr %sequence_, align 8 %cmp.i13.i.i.i.i.i.i.not = icmp eq ptr %0, %sequence_ - br i1 %cmp.i13.i.i.i.i.i.i.not, label %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread243, label %for.body.i.i.i.i.i.i + br i1 %cmp.i13.i.i.i.i.i.i.not, label %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread245, label %for.body.i.i.i.i.i.i -_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread243: ; preds = %entry +_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread245: ; preds = %entry store i8 1, ptr %gtest_ar_, align 8 - %message_.i250 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i250, align 8 + %message_.i252 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i252, align 8 br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %entry, %for.inc.i.i.i.i.i.i @@ -22901,12 +22901,12 @@ for.body.i.i.i.i.i.i: ; preds = %entry, %for.inc.i.i %_M_storage.i.i1.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %__first2.sroa.0.016.i.i.i.i.i.i, i64 0, i32 1 %2 = load i32, ptr %_M_storage.i.i1.i.i.i.i.i.i.i, align 4 %cmp.i1.i.i.i.i.i.i = icmp slt i32 %1, %2 - br i1 %cmp.i1.i.i.i.i.i.i, label %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread199, label %if.end.i.i.i.i.i.i + br i1 %cmp.i1.i.i.i.i.i.i, label %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread201, label %if.end.i.i.i.i.i.i -_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread199: ; preds = %for.body.i.i.i.i.i.i +_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread201: ; preds = %for.body.i.i.i.i.i.i store i8 0, ptr %gtest_ar_, align 8 - %message_.i203 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i203, align 8 + %message_.i205 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i205, align 8 br label %if.else if.end.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i @@ -22915,8 +22915,8 @@ if.end.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. _ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread: ; preds = %if.end.i.i.i.i.i.i store i8 1, ptr %gtest_ar_, align 8 - %message_.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i196, align 8 + %message_.i198 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i198, align 8 br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i for.inc.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i @@ -22937,8 +22937,8 @@ _ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exi store ptr null, ptr %message_.i, align 8 br i1 %spec.select.i.i.i.i.i.i.not, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, label %if.else -if.else: ; preds = %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread199, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit - %message_.i205 = phi ptr [ %message_.i203, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread199 ], [ %message_.i, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit ] +if.else: ; preds = %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread201, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit + %message_.i207 = phi ptr [ %message_.i205, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread201 ], [ %message_.i, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) to label %invoke.cont unwind label %lpad @@ -22947,7 +22947,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont8 unwind label %lpad7 invoke.cont8: ; preds = %invoke.cont - %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 403, ptr noundef %call9) to label %invoke.cont11 unwind label %lpad10 @@ -22956,8 +22956,8 @@ invoke.cont11: ; preds = %invoke.cont8 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 %5 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %5, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -22966,7 +22966,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %5, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %6 = load ptr, ptr %vfn.i.i.i, align 8 - call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 + call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #28 br label %if.end lpad: ; preds = %if.else @@ -22987,12 +22987,12 @@ lpad10: ; preds = %invoke.cont8 lpad12: ; preds = %invoke.cont11 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad10 %.pn = phi { ptr, i32 } [ %10, %lpad12 ], [ %9, %lpad10 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 br label %ehcleanup14 ehcleanup14: ; preds = %ehcleanup, %lpad7 @@ -23005,7 +23005,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i16 = load ptr, ptr %11, align 8 %vfn.i.i.i17 = getelementptr inbounds ptr, ptr %vtable.i.i.i16, i64 1 %12 = load ptr, ptr %vfn.i.i.i17, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit18 _ZN7testing7MessageD2Ev.exit18: ; preds = %ehcleanup14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i15 @@ -23014,94 +23014,94 @@ _ZN7testing7MessageD2Ev.exit18: ; preds = %ehcleanup14, %_ZNKS if.end: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %invoke.cont13 store ptr null, ptr %ref.tmp4, align 8 - %.pr = load ptr, ptr %message_.i205, align 8 + %.pr = load ptr, ptr %message_.i207, align 8 %cmp.not.i.i20 = icmp eq ptr %.pr, null br i1 %cmp.not.i.i20, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread243, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end - %message_.i198208 = phi ptr [ %message_.i205, %if.end ], [ %message_.i205, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ], [ %message_.i, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit ], [ %message_.i196, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread ], [ %message_.i250, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread243 ] - store ptr null, ptr %message_.i198208, align 8 - %call5.i.i.i.i.i.i22 = call noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread245, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end + %message_.i200210 = phi ptr [ %message_.i207, %if.end ], [ %message_.i207, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ], [ %message_.i, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit ], [ %message_.i198, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread ], [ %message_.i252, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_EEbRKT_RKT0_.exit.thread245 ] + store ptr null, ptr %message_.i200210, align 8 + %call5.i.i.i.i.i.i22 = call noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 store i32 1, ptr %call5.i.i.i.i.i.i22, align 4 - %call5.i.i.i.i.i.i58 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44 unwind label %ehcleanup81.thread263 + %call5.i.i.i.i.i.i59 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44 unwind label %ehcleanup81.thread265 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i - %add.ptr.i.i.i46 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i58, i64 1 + %add.ptr.i.i.i46 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i59, i64 1 store i32 2, ptr %add.ptr.i.i.i46, align 4 - store i32 1, ptr %call5.i.i.i.i.i.i58, align 4 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i22) #28 - %call5.i.i.i.i.i.i95 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i81 unwind label %ehcleanup81.thread263 - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i81: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44 - %add.ptr.i.i.i83 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i95, i64 2 - store i32 4, ptr %add.ptr.i.i.i83, align 4 - %13 = load i64, ptr %call5.i.i.i.i.i.i58, align 4 - store i64 %13, ptr %call5.i.i.i.i.i.i95, align 4 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i58) #28 + store i32 1, ptr %call5.i.i.i.i.i.i59, align 4 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i22) #29 + %call5.i.i.i.i.i.i97 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i82 unwind label %ehcleanup81.thread265 + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i82: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44 + %add.ptr.i.i.i84 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i97, i64 2 + store i32 4, ptr %add.ptr.i.i.i84, align 4 + %13 = load i64, ptr %call5.i.i.i.i.i.i59, align 4 + store i64 %13, ptr %call5.i.i.i.i.i.i97, align 4 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i59) #29 %14 = load ptr, ptr %sequence_, align 8 %cmp.i18.i.i.i.i.i.i.not = icmp eq ptr %14, %sequence_ - br i1 %cmp.i18.i.i.i.i.i.i.not, label %invoke.cont26, label %for.body.i.i.i.i.i.i100 - -for.body.i.i.i.i.i.i100: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i81, %for.inc.i.i.i.i.i.i103 - %__first2.addr.022.i.i.i.i.i.i.idx = phi i64 [ %__first2.addr.022.i.i.i.i.i.i.add, %for.inc.i.i.i.i.i.i103 ], [ 0, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i81 ] - %__first1.sroa.0.021.i.i.i.i.i.i = phi ptr [ %17, %for.inc.i.i.i.i.i.i103 ], [ %14, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i81 ] - %__first2.addr.022.i.i.i.i.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i95, i64 %__first2.addr.022.i.i.i.i.i.i.idx - %_M_storage.i.i.i.i.i.i.i.i.i101 = getelementptr inbounds %"struct.std::_List_node", ptr %__first1.sroa.0.021.i.i.i.i.i.i, i64 0, i32 1 - %15 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i101, align 4 + br i1 %cmp.i18.i.i.i.i.i.i.not, label %invoke.cont26, label %for.body.i.i.i.i.i.i102 + +for.body.i.i.i.i.i.i102: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i82, %for.inc.i.i.i.i.i.i105 + %__first2.addr.022.i.i.i.i.i.i.idx = phi i64 [ %__first2.addr.022.i.i.i.i.i.i.add, %for.inc.i.i.i.i.i.i105 ], [ 0, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i82 ] + %__first1.sroa.0.021.i.i.i.i.i.i = phi ptr [ %17, %for.inc.i.i.i.i.i.i105 ], [ %14, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i82 ] + %__first2.addr.022.i.i.i.i.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i97, i64 %__first2.addr.022.i.i.i.i.i.i.idx + %_M_storage.i.i.i.i.i.i.i.i.i103 = getelementptr inbounds %"struct.std::_List_node", ptr %__first1.sroa.0.021.i.i.i.i.i.i, i64 0, i32 1 + %15 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i103, align 4 %16 = load i32, ptr %__first2.addr.022.i.i.i.i.i.i.ptr, align 4 %cmp.i9.i.i.i.i.i.i = icmp slt i32 %15, %16 - br i1 %cmp.i9.i.i.i.i.i.i, label %invoke.cont26.thread, label %if.end.i.i.i.i.i.i102 + br i1 %cmp.i9.i.i.i.i.i.i, label %invoke.cont26.thread, label %if.end.i.i.i.i.i.i104 -invoke.cont26.thread: ; preds = %for.body.i.i.i.i.i.i100 +invoke.cont26.thread: ; preds = %for.body.i.i.i.i.i.i102 store i8 1, ptr %gtest_ar_23, align 8 - %message_.i106217 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_23, i64 0, i32 1 - store ptr null, ptr %message_.i106217, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit121 + %message_.i108219 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_23, i64 0, i32 1 + store ptr null, ptr %message_.i108219, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit123 -if.end.i.i.i.i.i.i102: ; preds = %for.body.i.i.i.i.i.i100 +if.end.i.i.i.i.i.i104: ; preds = %for.body.i.i.i.i.i.i102 %cmp.i11.i.i.i.i.i.i = icmp slt i32 %16, %15 - br i1 %cmp.i11.i.i.i.i.i.i, label %invoke.cont26.thread220, label %for.inc.i.i.i.i.i.i103 + br i1 %cmp.i11.i.i.i.i.i.i, label %invoke.cont26.thread222, label %for.inc.i.i.i.i.i.i105 -invoke.cont26.thread220: ; preds = %if.end.i.i.i.i.i.i102 +invoke.cont26.thread222: ; preds = %if.end.i.i.i.i.i.i104 store i8 0, ptr %gtest_ar_23, align 8 - %message_.i106223 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_23, i64 0, i32 1 - store ptr null, ptr %message_.i106223, align 8 + %message_.i108225 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_23, i64 0, i32 1 + store ptr null, ptr %message_.i108225, align 8 br label %if.else32 -for.inc.i.i.i.i.i.i103: ; preds = %if.end.i.i.i.i.i.i102 +for.inc.i.i.i.i.i.i105: ; preds = %if.end.i.i.i.i.i.i104 %17 = load ptr, ptr %__first1.sroa.0.021.i.i.i.i.i.i, align 8 %__first2.addr.022.i.i.i.i.i.i.add = add nuw nsw i64 %__first2.addr.022.i.i.i.i.i.i.idx, 4 - %cmp.i.i.i.i.i.i.i104 = icmp ne ptr %17, %sequence_ + %cmp.i.i.i.i.i.i.i106 = icmp ne ptr %17, %sequence_ %cmp.i8.i.i.i.i.i.i = icmp ne i64 %__first2.addr.022.i.i.i.i.i.i.add, 12 - %or.cond.i.i.i.i.i.i105 = select i1 %cmp.i.i.i.i.i.i.i104, i1 %cmp.i8.i.i.i.i.i.i, i1 false - br i1 %or.cond.i.i.i.i.i.i105, label %for.body.i.i.i.i.i.i100, label %invoke.cont26, !llvm.loop !393 + %or.cond.i.i.i.i.i.i107 = select i1 %cmp.i.i.i.i.i.i.i106, i1 %cmp.i8.i.i.i.i.i.i, i1 false + br i1 %or.cond.i.i.i.i.i.i107, label %for.body.i.i.i.i.i.i102, label %invoke.cont26, !llvm.loop !393 -invoke.cont26: ; preds = %for.inc.i.i.i.i.i.i103, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i81 - %__first1.sroa.0.0.lcssa.i.i.i.i.i.i98 = phi ptr [ %sequence_, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i81 ], [ %17, %for.inc.i.i.i.i.i.i103 ] - %__first2.addr.0.lcssa.i.i.i.i.i.i.idx = phi i64 [ 0, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i81 ], [ %__first2.addr.022.i.i.i.i.i.i.add, %for.inc.i.i.i.i.i.i103 ] - %cmp.i12.i.i.i.i.i.i = icmp eq ptr %__first1.sroa.0.0.lcssa.i.i.i.i.i.i98, %sequence_ +invoke.cont26: ; preds = %for.inc.i.i.i.i.i.i105, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i82 + %__first1.sroa.0.0.lcssa.i.i.i.i.i.i100 = phi ptr [ %sequence_, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i82 ], [ %17, %for.inc.i.i.i.i.i.i105 ] + %__first2.addr.0.lcssa.i.i.i.i.i.i.idx = phi i64 [ 0, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i82 ], [ %__first2.addr.022.i.i.i.i.i.i.add, %for.inc.i.i.i.i.i.i105 ] + %cmp.i12.i.i.i.i.i.i = icmp eq ptr %__first1.sroa.0.0.lcssa.i.i.i.i.i.i100, %sequence_ %cmp.i.i.i.i.i.i = icmp ne i64 %__first2.addr.0.lcssa.i.i.i.i.i.i.idx, 12 %18 = select i1 %cmp.i12.i.i.i.i.i.i, i1 %cmp.i.i.i.i.i.i, i1 false %frombool28 = zext i1 %18 to i8 store i8 %frombool28, ptr %gtest_ar_23, align 8 - %message_.i106 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_23, i64 0, i32 1 - store ptr null, ptr %message_.i106, align 8 - br i1 %18, label %_ZN7testing15AssertionResultD2Ev.exit121, label %if.else32 + %message_.i108 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_23, i64 0, i32 1 + store ptr null, ptr %message_.i108, align 8 + br i1 %18, label %_ZN7testing15AssertionResultD2Ev.exit123, label %if.else32 ehcleanup15: ; preds = %_ZN7testing7MessageD2Ev.exit18, %lpad %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit18 ], [ %7, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %eh.resume -if.else32: ; preds = %invoke.cont26.thread220, %invoke.cont26 - %message_.i106225 = phi ptr [ %message_.i106223, %invoke.cont26.thread220 ], [ %message_.i106, %invoke.cont26 ] +if.else32: ; preds = %invoke.cont26.thread222, %invoke.cont26 + %message_.i108227 = phi ptr [ %message_.i108225, %invoke.cont26.thread222 ], [ %message_.i108, %invoke.cont26 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp33) to label %invoke.cont35 unwind label %lpad34 @@ -23110,7 +23110,7 @@ invoke.cont35: ; preds = %if.else32 to label %invoke.cont39 unwind label %lpad38 invoke.cont39: ; preds = %invoke.cont35 - %call40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #27 + %call40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 410, ptr noundef %call40) to label %invoke.cont42 unwind label %lpad41 @@ -23119,17 +23119,17 @@ invoke.cont42: ; preds = %invoke.cont39 to label %invoke.cont44 unwind label %lpad43 invoke.cont44: ; preds = %invoke.cont42 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #28 %19 = load ptr, ptr %ref.tmp33, align 8 - %cmp.not.i.i108 = icmp eq ptr %19, null - br i1 %cmp.not.i.i108, label %if.end48, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 + %cmp.not.i.i110 = icmp eq ptr %19, null + br i1 %cmp.not.i.i110, label %if.end48, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109: ; preds = %invoke.cont44 - %vtable.i.i.i110 = load ptr, ptr %19, align 8 - %vfn.i.i.i111 = getelementptr inbounds ptr, ptr %vtable.i.i.i110, i64 1 - %20 = load ptr, ptr %vfn.i.i.i111, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111: ; preds = %invoke.cont44 + %vtable.i.i.i112 = load ptr, ptr %19, align 8 + %vfn.i.i.i113 = getelementptr inbounds ptr, ptr %vtable.i.i.i112, i64 1 + %20 = load ptr, ptr %vfn.i.i.i113, align 8 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 br label %if.end48 lpad34: ; preds = %if.else32 @@ -23150,45 +23150,45 @@ lpad41: ; preds = %invoke.cont39 lpad43: ; preds = %invoke.cont42 %24 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #28 br label %ehcleanup46 ehcleanup46: ; preds = %lpad43, %lpad41 %.pn4 = phi { ptr, i32 } [ %24, %lpad43 ], [ %23, %lpad41 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #28 br label %ehcleanup47 ehcleanup47: ; preds = %ehcleanup46, %lpad38 %.pn4.pn = phi { ptr, i32 } [ %.pn4, %ehcleanup46 ], [ %22, %lpad38 ] %25 = load ptr, ptr %ref.tmp33, align 8 - %cmp.not.i.i113 = icmp eq ptr %25, null - br i1 %cmp.not.i.i113, label %_ZN7testing7MessageD2Ev.exit117, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 + %cmp.not.i.i115 = icmp eq ptr %25, null + br i1 %cmp.not.i.i115, label %_ZN7testing7MessageD2Ev.exit119, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %ehcleanup47 - %vtable.i.i.i115 = load ptr, ptr %25, align 8 - %vfn.i.i.i116 = getelementptr inbounds ptr, ptr %vtable.i.i.i115, i64 1 - %26 = load ptr, ptr %vfn.i.i.i116, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 - br label %_ZN7testing7MessageD2Ev.exit117 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116: ; preds = %ehcleanup47 + %vtable.i.i.i117 = load ptr, ptr %25, align 8 + %vfn.i.i.i118 = getelementptr inbounds ptr, ptr %vtable.i.i.i117, i64 1 + %26 = load ptr, ptr %vfn.i.i.i118, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 + br label %_ZN7testing7MessageD2Ev.exit119 -_ZN7testing7MessageD2Ev.exit117: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 +_ZN7testing7MessageD2Ev.exit119: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116 store ptr null, ptr %ref.tmp33, align 8 br label %ehcleanup49 -if.end48: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109, %invoke.cont44 +if.end48: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111, %invoke.cont44 store ptr null, ptr %ref.tmp33, align 8 - %.pr226 = load ptr, ptr %message_.i106225, align 8 - %cmp.not.i.i119 = icmp eq ptr %.pr226, null - br i1 %cmp.not.i.i119, label %_ZN7testing15AssertionResultD2Ev.exit121, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120: ; preds = %if.end48 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr226) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr226) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit121 - -_ZN7testing15AssertionResultD2Ev.exit121: ; preds = %invoke.cont26, %invoke.cont26.thread, %if.end48, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 - %message_.i106219229 = phi ptr [ %message_.i106225, %if.end48 ], [ %message_.i106225, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 ], [ %message_.i106, %invoke.cont26 ], [ %message_.i106217, %invoke.cont26.thread ] - store ptr null, ptr %message_.i106219229, align 8 + %.pr228 = load ptr, ptr %message_.i108227, align 8 + %cmp.not.i.i121 = icmp eq ptr %.pr228, null + br i1 %cmp.not.i.i121, label %_ZN7testing15AssertionResultD2Ev.exit123, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122: ; preds = %if.end48 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr228) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr228) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit123 + +_ZN7testing15AssertionResultD2Ev.exit123: ; preds = %invoke.cont26, %invoke.cont26.thread, %if.end48, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 + %message_.i108221231 = phi ptr [ %message_.i108227, %if.end48 ], [ %message_.i108227, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 ], [ %message_.i108, %invoke.cont26 ], [ %message_.i108219, %invoke.cont26.thread ] + store ptr null, ptr %message_.i108221231, align 8 %_M_prev.i.i.i.i.i = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %ref.tmp52, i64 0, i32 1 store ptr %ref.tmp52, ptr %_M_prev.i.i.i.i.i, align 8 store ptr %ref.tmp52, ptr %ref.tmp52, align 8 @@ -23198,9 +23198,9 @@ _ZN7testing15AssertionResultD2Ev.exit121: ; preds = %invoke.cont26, %inv %cmp.i.not3.i.i = icmp eq ptr %27, %sequence_ br i1 %cmp.i.not3.i.i, label %if.end79.thread, label %for.body.i.i -for.body.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit121, %call5.i.i.i.i.i.i.i.noexc.i - %__first.sroa.0.04.i.i = phi ptr [ %30, %call5.i.i.i.i.i.i.i.noexc.i ], [ %27, %_ZN7testing15AssertionResultD2Ev.exit121 ] - %call5.i.i.i.i.i.i.i4.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 +for.body.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit123, %call5.i.i.i.i.i.i.i.noexc.i + %__first.sroa.0.04.i.i = phi ptr [ %30, %call5.i.i.i.i.i.i.i.noexc.i ], [ %27, %_ZN7testing15AssertionResultD2Ev.exit123 ] + %call5.i.i.i.i.i.i.i4.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -23208,7 +23208,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i4.i, i64 0, i32 1 %28 = load i32, ptr %_M_storage.i.i.i.i, align 4 store i32 %28, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i4.i, ptr noundef nonnull %ref.tmp52) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i4.i, ptr noundef nonnull %ref.tmp52) #28 %29 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %29, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -23221,91 +23221,91 @@ lpad.i: ; preds = %for.body.i.i cleanup %32 = load ptr, ptr %ref.tmp52, align 8 %cmp.not4.i.i.i = icmp eq ptr %32, %ref.tmp52 - br i1 %cmp.not4.i.i.i, label %if.then.i.i.i173, label %while.body.i.i.i + br i1 %cmp.not4.i.i.i, label %if.then.i.i.i175, label %while.body.i.i.i while.body.i.i.i: ; preds = %lpad.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %33, %while.body.i.i.i ], [ %32, %lpad.i ] %33 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %33, %ref.tmp52 - br i1 %cmp.not.i.i.i, label %if.then.i.i.i173, label %while.body.i.i.i, !llvm.loop !7 + br i1 %cmp.not.i.i.i, label %if.then.i.i.i175, label %while.body.i.i.i, !llvm.loop !7 invoke.cont54: ; preds = %call5.i.i.i.i.i.i.i.noexc.i %.pre = load ptr, ptr %ref.tmp52, align 8 - %cmp.i18.i.i.i.i.i.i123.not = icmp eq ptr %.pre, %ref.tmp52 - br i1 %cmp.i18.i.i.i.i.i.i123.not, label %if.end79.thread, label %for.body.i.i.i.i.i.i132 - -for.body.i.i.i.i.i.i132: ; preds = %invoke.cont54, %for.inc.i.i.i.i.i.i139 - %__first2.addr.022.i.i.i.i.i.i133.idx = phi i64 [ %__first2.addr.022.i.i.i.i.i.i133.add, %for.inc.i.i.i.i.i.i139 ], [ 0, %invoke.cont54 ] - %__first1.sroa.0.021.i.i.i.i.i.i134 = phi ptr [ %36, %for.inc.i.i.i.i.i.i139 ], [ %.pre, %invoke.cont54 ] - %__first2.addr.022.i.i.i.i.i.i133.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i95, i64 %__first2.addr.022.i.i.i.i.i.i133.idx - %_M_storage.i.i.i.i.i.i.i.i.i135 = getelementptr inbounds %"struct.std::_List_node", ptr %__first1.sroa.0.021.i.i.i.i.i.i134, i64 0, i32 1 - %34 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i135, align 4 - %35 = load i32, ptr %__first2.addr.022.i.i.i.i.i.i133.ptr, align 4 - %cmp.i9.i.i.i.i.i.i136 = icmp slt i32 %34, %35 - br i1 %cmp.i9.i.i.i.i.i.i136, label %invoke.cont56, label %if.end.i.i.i.i.i.i137 - -if.end.i.i.i.i.i.i137: ; preds = %for.body.i.i.i.i.i.i132 - %cmp.i11.i.i.i.i.i.i138 = icmp slt i32 %35, %34 - br i1 %cmp.i11.i.i.i.i.i.i138, label %invoke.cont56, label %for.inc.i.i.i.i.i.i139 - -for.inc.i.i.i.i.i.i139: ; preds = %if.end.i.i.i.i.i.i137 - %36 = load ptr, ptr %__first1.sroa.0.021.i.i.i.i.i.i134, align 8 - %__first2.addr.022.i.i.i.i.i.i133.add = add nuw nsw i64 %__first2.addr.022.i.i.i.i.i.i133.idx, 4 - %cmp.i.i.i.i.i.i.i141 = icmp ne ptr %36, %ref.tmp52 - %cmp.i8.i.i.i.i.i.i142 = icmp ne i64 %__first2.addr.022.i.i.i.i.i.i133.add, 12 - %or.cond.i.i.i.i.i.i143 = select i1 %cmp.i.i.i.i.i.i.i141, i1 %cmp.i8.i.i.i.i.i.i142, i1 false - br i1 %or.cond.i.i.i.i.i.i143, label %for.body.i.i.i.i.i.i132, label %for.end.i.i.i.i.i.i126, !llvm.loop !393 - -if.end79.thread: ; preds = %invoke.cont54, %_ZN7testing15AssertionResultD2Ev.exit121 + %cmp.i18.i.i.i.i.i.i125.not = icmp eq ptr %.pre, %ref.tmp52 + br i1 %cmp.i18.i.i.i.i.i.i125.not, label %if.end79.thread, label %for.body.i.i.i.i.i.i134 + +for.body.i.i.i.i.i.i134: ; preds = %invoke.cont54, %for.inc.i.i.i.i.i.i141 + %__first2.addr.022.i.i.i.i.i.i135.idx = phi i64 [ %__first2.addr.022.i.i.i.i.i.i135.add, %for.inc.i.i.i.i.i.i141 ], [ 0, %invoke.cont54 ] + %__first1.sroa.0.021.i.i.i.i.i.i136 = phi ptr [ %36, %for.inc.i.i.i.i.i.i141 ], [ %.pre, %invoke.cont54 ] + %__first2.addr.022.i.i.i.i.i.i135.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i97, i64 %__first2.addr.022.i.i.i.i.i.i135.idx + %_M_storage.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds %"struct.std::_List_node", ptr %__first1.sroa.0.021.i.i.i.i.i.i136, i64 0, i32 1 + %34 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i137, align 4 + %35 = load i32, ptr %__first2.addr.022.i.i.i.i.i.i135.ptr, align 4 + %cmp.i9.i.i.i.i.i.i138 = icmp slt i32 %34, %35 + br i1 %cmp.i9.i.i.i.i.i.i138, label %invoke.cont56, label %if.end.i.i.i.i.i.i139 + +if.end.i.i.i.i.i.i139: ; preds = %for.body.i.i.i.i.i.i134 + %cmp.i11.i.i.i.i.i.i140 = icmp slt i32 %35, %34 + br i1 %cmp.i11.i.i.i.i.i.i140, label %invoke.cont56, label %for.inc.i.i.i.i.i.i141 + +for.inc.i.i.i.i.i.i141: ; preds = %if.end.i.i.i.i.i.i139 + %36 = load ptr, ptr %__first1.sroa.0.021.i.i.i.i.i.i136, align 8 + %__first2.addr.022.i.i.i.i.i.i135.add = add nuw nsw i64 %__first2.addr.022.i.i.i.i.i.i135.idx, 4 + %cmp.i.i.i.i.i.i.i143 = icmp ne ptr %36, %ref.tmp52 + %cmp.i8.i.i.i.i.i.i144 = icmp ne i64 %__first2.addr.022.i.i.i.i.i.i135.add, 12 + %or.cond.i.i.i.i.i.i145 = select i1 %cmp.i.i.i.i.i.i.i143, i1 %cmp.i8.i.i.i.i.i.i144, i1 false + br i1 %or.cond.i.i.i.i.i.i145, label %for.body.i.i.i.i.i.i134, label %for.end.i.i.i.i.i.i128, !llvm.loop !393 + +if.end79.thread: ; preds = %invoke.cont54, %_ZN7testing15AssertionResultD2Ev.exit123 store i8 1, ptr %gtest_ar_50, align 8 - %message_.i145254271 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_50, i64 0, i32 1 - store ptr null, ptr %message_.i145254271, align 8 + %message_.i147256273 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_50, i64 0, i32 1 + store ptr null, ptr %message_.i147256273, align 8 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -for.end.i.i.i.i.i.i126: ; preds = %for.inc.i.i.i.i.i.i139 - %37 = icmp ne i64 %__first2.addr.022.i.i.i.i.i.i133.add, 12 - %cmp.i12.i.i.i.i.i.i129 = icmp eq ptr %36, %ref.tmp52 - %38 = select i1 %cmp.i12.i.i.i.i.i.i129, i1 %37, i1 false +for.end.i.i.i.i.i.i128: ; preds = %for.inc.i.i.i.i.i.i141 + %37 = icmp ne i64 %__first2.addr.022.i.i.i.i.i.i135.add, 12 + %cmp.i12.i.i.i.i.i.i131 = icmp eq ptr %36, %ref.tmp52 + %38 = select i1 %cmp.i12.i.i.i.i.i.i131, i1 %37, i1 false %39 = zext i1 %38 to i8 store i8 %39, ptr %gtest_ar_50, align 8 - %message_.i145254 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_50, i64 0, i32 1 - store ptr null, ptr %message_.i145254, align 8 - br i1 %cmp.i18.i.i.i.i.i.i123.not, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i147.preheader - -invoke.cont56: ; preds = %if.end.i.i.i.i.i.i137, %for.body.i.i.i.i.i.i132 - %retval.0.i.i.i.i.i.i131 = phi i8 [ 1, %for.body.i.i.i.i.i.i132 ], [ 0, %if.end.i.i.i.i.i.i137 ] - store i8 %retval.0.i.i.i.i.i.i131, ptr %gtest_ar_50, align 8 - %message_.i145 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_50, i64 0, i32 1 - store ptr null, ptr %message_.i145, align 8 - br i1 %cmp.i18.i.i.i.i.i.i123.not, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i147.preheader - -while.body.i.i.i147.preheader: ; preds = %for.end.i.i.i.i.i.i126, %invoke.cont56 - %message_.i145255 = phi ptr [ %message_.i145254, %for.end.i.i.i.i.i.i126 ], [ %message_.i145, %invoke.cont56 ] - br label %while.body.i.i.i147 - -while.body.i.i.i147: ; preds = %while.body.i.i.i147.preheader, %while.body.i.i.i147 - %__cur.05.i.i.i148 = phi ptr [ %40, %while.body.i.i.i147 ], [ %.pre, %while.body.i.i.i147.preheader ] - %40 = load ptr, ptr %__cur.05.i.i.i148, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i148) #28 - %cmp.not.i.i.i149 = icmp eq ptr %40, %ref.tmp52 - br i1 %cmp.not.i.i.i149, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit, label %while.body.i.i.i147, !llvm.loop !7 - -_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit: ; preds = %while.body.i.i.i147 - %.pre242 = load i8, ptr %gtest_ar_50, align 8 + %message_.i147256 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_50, i64 0, i32 1 + store ptr null, ptr %message_.i147256, align 8 + br i1 %cmp.i18.i.i.i.i.i.i125.not, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i149.preheader + +invoke.cont56: ; preds = %if.end.i.i.i.i.i.i139, %for.body.i.i.i.i.i.i134 + %retval.0.i.i.i.i.i.i133 = phi i8 [ 1, %for.body.i.i.i.i.i.i134 ], [ 0, %if.end.i.i.i.i.i.i139 ] + store i8 %retval.0.i.i.i.i.i.i133, ptr %gtest_ar_50, align 8 + %message_.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_50, i64 0, i32 1 + store ptr null, ptr %message_.i147, align 8 + br i1 %cmp.i18.i.i.i.i.i.i125.not, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i149.preheader + +while.body.i.i.i149.preheader: ; preds = %for.end.i.i.i.i.i.i128, %invoke.cont56 + %message_.i147257 = phi ptr [ %message_.i147256, %for.end.i.i.i.i.i.i128 ], [ %message_.i147, %invoke.cont56 ] + br label %while.body.i.i.i149 + +while.body.i.i.i149: ; preds = %while.body.i.i.i149.preheader, %while.body.i.i.i149 + %__cur.05.i.i.i150 = phi ptr [ %40, %while.body.i.i.i149 ], [ %.pre, %while.body.i.i.i149.preheader ] + %40 = load ptr, ptr %__cur.05.i.i.i150, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i150) #29 + %cmp.not.i.i.i151 = icmp eq ptr %40, %ref.tmp52 + br i1 %cmp.not.i.i.i151, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit, label %while.body.i.i.i149, !llvm.loop !7 + +_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit: ; preds = %while.body.i.i.i149 + %.pre244 = load i8, ptr %gtest_ar_50, align 8 br label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit -_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %for.end.i.i.i.i.i.i126, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit, %invoke.cont56 - %message_.i145256 = phi ptr [ %message_.i145255, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit ], [ %message_.i145, %invoke.cont56 ], [ %message_.i145254, %for.end.i.i.i.i.i.i126 ] - %41 = phi i8 [ %.pre242, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit ], [ %retval.0.i.i.i.i.i.i131, %invoke.cont56 ], [ %39, %for.end.i.i.i.i.i.i126 ] +_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %for.end.i.i.i.i.i.i128, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit, %invoke.cont56 + %message_.i147258 = phi ptr [ %message_.i147257, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit ], [ %message_.i147, %invoke.cont56 ], [ %message_.i147256, %for.end.i.i.i.i.i.i128 ] + %41 = phi i8 [ %.pre244, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.loopexit ], [ %retval.0.i.i.i.i.i.i133, %invoke.cont56 ], [ %39, %for.end.i.i.i.i.i.i128 ] %42 = and i8 %41, 1 - %tobool.i151.not = icmp eq i8 %42, 0 - br i1 %tobool.i151.not, label %if.else63, label %if.end79 + %tobool.i153.not = icmp eq i8 %42, 0 + br i1 %tobool.i153.not, label %if.else63, label %if.end79 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit117, %lpad34 - %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit117 ], [ %21, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_23) #27 - br label %if.then.i.i.i173 +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit119, %lpad34 + %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit119 ], [ %21, %lpad34 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_23) #28 + br label %if.then.i.i.i175 if.else63: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64) @@ -23316,7 +23316,7 @@ invoke.cont66: ; preds = %if.else63 to label %invoke.cont70 unwind label %lpad69 invoke.cont70: ; preds = %invoke.cont66 - %call71 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp68) #27 + %call71 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp68) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 411, ptr noundef %call71) to label %invoke.cont73 unwind label %lpad72 @@ -23325,20 +23325,20 @@ invoke.cont73: ; preds = %invoke.cont70 to label %invoke.cont75 unwind label %lpad74 invoke.cont75: ; preds = %invoke.cont73 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp68) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp68) #28 %43 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i158 = icmp eq ptr %43, null - br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 + %cmp.not.i.i160 = icmp eq ptr %43, null + br i1 %cmp.not.i.i160, label %_ZN7testing7MessageD2Ev.exit164, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %invoke.cont75 - %vtable.i.i.i160 = load ptr, ptr %43, align 8 - %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 - %44 = load ptr, ptr %vfn.i.i.i161, align 8 - call void %44(ptr noundef nonnull align 8 dereferenceable(128) %43) #27 - br label %_ZN7testing7MessageD2Ev.exit162 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161: ; preds = %invoke.cont75 + %vtable.i.i.i162 = load ptr, ptr %43, align 8 + %vfn.i.i.i163 = getelementptr inbounds ptr, ptr %vtable.i.i.i162, i64 1 + %44 = load ptr, ptr %vfn.i.i.i163, align 8 + call void %44(ptr noundef nonnull align 8 dereferenceable(128) %43) #28 + br label %_ZN7testing7MessageD2Ev.exit164 -_ZN7testing7MessageD2Ev.exit162: ; preds = %invoke.cont75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 +_ZN7testing7MessageD2Ev.exit164: ; preds = %invoke.cont75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 store ptr null, ptr %ref.tmp64, align 8 br label %if.end79 @@ -23360,66 +23360,66 @@ lpad72: ; preds = %invoke.cont70 lpad74: ; preds = %invoke.cont73 %48 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #28 br label %ehcleanup77 ehcleanup77: ; preds = %lpad74, %lpad72 %.pn8 = phi { ptr, i32 } [ %48, %lpad74 ], [ %47, %lpad72 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp68) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp68) #28 br label %ehcleanup78 ehcleanup78: ; preds = %ehcleanup77, %lpad69 %.pn8.pn = phi { ptr, i32 } [ %.pn8, %ehcleanup77 ], [ %46, %lpad69 ] %49 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i163 = icmp eq ptr %49, null - br i1 %cmp.not.i.i163, label %_ZN7testing7MessageD2Ev.exit167, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 + %cmp.not.i.i165 = icmp eq ptr %49, null + br i1 %cmp.not.i.i165, label %_ZN7testing7MessageD2Ev.exit169, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164: ; preds = %ehcleanup78 - %vtable.i.i.i165 = load ptr, ptr %49, align 8 - %vfn.i.i.i166 = getelementptr inbounds ptr, ptr %vtable.i.i.i165, i64 1 - %50 = load ptr, ptr %vfn.i.i.i166, align 8 - call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #27 - br label %_ZN7testing7MessageD2Ev.exit167 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166: ; preds = %ehcleanup78 + %vtable.i.i.i167 = load ptr, ptr %49, align 8 + %vfn.i.i.i168 = getelementptr inbounds ptr, ptr %vtable.i.i.i167, i64 1 + %50 = load ptr, ptr %vfn.i.i.i168, align 8 + call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #28 + br label %_ZN7testing7MessageD2Ev.exit169 -_ZN7testing7MessageD2Ev.exit167: ; preds = %ehcleanup78, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 +_ZN7testing7MessageD2Ev.exit169: ; preds = %ehcleanup78, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup80 -if.end79: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit162 - %.pr275 = load ptr, ptr %message_.i145256, align 8 - %cmp.not.i.i169 = icmp eq ptr %.pr275, null - br i1 %cmp.not.i.i169, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 +if.end79: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit164 + %.pr277 = load ptr, ptr %message_.i147258, align 8 + %cmp.not.i.i171 = icmp eq ptr %.pr277, null + br i1 %cmp.not.i.i171, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170: ; preds = %if.end79 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr275) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr275) #28 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172: ; preds = %if.end79 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr277) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr277) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %if.end79.thread, %if.end79, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 - %message_.i145256274278 = phi ptr [ %message_.i145254271, %if.end79.thread ], [ %message_.i145256, %if.end79 ], [ %message_.i145256, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 ] - store ptr null, ptr %message_.i145256274278, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i95) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %if.end79.thread, %if.end79, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172 + %message_.i147258276280 = phi ptr [ %message_.i147256273, %if.end79.thread ], [ %message_.i147258, %if.end79 ], [ %message_.i147258, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172 ] + store ptr null, ptr %message_.i147258276280, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i97) #29 ret void -ehcleanup80: ; preds = %_ZN7testing7MessageD2Ev.exit167, %lpad65 - %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit167 ], [ %45, %lpad65 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_50) #27 - br label %if.then.i.i.i173 +ehcleanup80: ; preds = %_ZN7testing7MessageD2Ev.exit169, %lpad65 + %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit169 ], [ %45, %lpad65 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_50) #28 + br label %if.then.i.i.i175 -ehcleanup81.thread263: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i - %v.sroa.0.3.ph = phi ptr [ %call5.i.i.i.i.i.i22, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i58, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44 ] +ehcleanup81.thread265: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i + %v.sroa.0.3.ph = phi ptr [ %call5.i.i.i.i.i.i22, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i59, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i44 ] %lpad.thr_comm = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i173 + br label %if.then.i.i.i175 -if.then.i.i.i173: ; preds = %while.body.i.i.i, %lpad.i, %ehcleanup49, %ehcleanup80, %ehcleanup81.thread263 - %.pn8.pn.pn.pn261 = phi { ptr, i32 } [ %lpad.thr_comm, %ehcleanup81.thread263 ], [ %31, %lpad.i ], [ %.pn4.pn.pn, %ehcleanup49 ], [ %.pn8.pn.pn, %ehcleanup80 ], [ %31, %while.body.i.i.i ] - %v.sroa.0.5260 = phi ptr [ %v.sroa.0.3.ph, %ehcleanup81.thread263 ], [ %call5.i.i.i.i.i.i95, %lpad.i ], [ %call5.i.i.i.i.i.i95, %ehcleanup49 ], [ %call5.i.i.i.i.i.i95, %ehcleanup80 ], [ %call5.i.i.i.i.i.i95, %while.body.i.i.i ] - call void @_ZdlPv(ptr noundef nonnull %v.sroa.0.5260) #28 +if.then.i.i.i175: ; preds = %while.body.i.i.i, %lpad.i, %ehcleanup49, %ehcleanup80, %ehcleanup81.thread265 + %.pn8.pn.pn.pn263 = phi { ptr, i32 } [ %lpad.thr_comm, %ehcleanup81.thread265 ], [ %31, %lpad.i ], [ %.pn4.pn.pn, %ehcleanup49 ], [ %.pn8.pn.pn, %ehcleanup80 ], [ %31, %while.body.i.i.i ] + %v.sroa.0.5262 = phi ptr [ %v.sroa.0.3.ph, %ehcleanup81.thread265 ], [ %call5.i.i.i.i.i.i97, %lpad.i ], [ %call5.i.i.i.i.i.i97, %ehcleanup49 ], [ %call5.i.i.i.i.i.i97, %ehcleanup80 ], [ %call5.i.i.i.i.i.i97, %while.body.i.i.i ] + call void @_ZdlPv(ptr noundef nonnull %v.sroa.0.5262) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i173, %ehcleanup15 - %.pn8.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup15 ], [ %.pn8.pn.pn.pn261, %if.then.i.i.i173 ] +eh.resume: ; preds = %if.then.i.i.i175, %ehcleanup15 + %.pn8.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup15 ], [ %.pn8.pn.pn.pn263, %if.then.i.i.i175 ] resume { ptr, i32 } %.pn8.pn.pn.pn.pn } @@ -23432,14 +23432,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_156NonMutatingTest_LexicographicalCopmareWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_156NonMutatingTest_LexicographicalCopmareWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -23450,22 +23450,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_156NonMutatingTest_LexicographicalCopmareWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_156NonMutatingTest_LexicographicalCopmareWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -23488,12 +23488,12 @@ entry: %sequence_ = getelementptr inbounds %"class.(anonymous namespace)::NonMutatingTest", ptr %this, i64 0, i32 2 %0 = load ptr, ptr %sequence_, align 8 %cmp.i13.i.i.i.not = icmp eq ptr %0, %sequence_ - br i1 %cmp.i13.i.i.i.not, label %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread278, label %for.body.i.i.i + br i1 %cmp.i13.i.i.i.not, label %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread280, label %for.body.i.i.i -_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread278: ; preds = %entry +_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread280: ; preds = %entry store i8 1, ptr %gtest_ar_, align 8 - %message_.i285 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i285, align 8 + %message_.i287 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i287, align 8 br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i for.body.i.i.i: ; preds = %entry, %for.inc.i.i.i @@ -23504,12 +23504,12 @@ for.body.i.i.i: ; preds = %entry, %for.inc.i.i %1 = load i32, ptr %_M_storage.i.i.i.i.i.i, align 4 %2 = load i32, ptr %_M_storage.i.i1.i.i.i.i, align 4 %cmp.i.i1.i.i.i = icmp sgt i32 %1, %2 - br i1 %cmp.i.i1.i.i.i, label %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread231, label %if.end.i.i.i + br i1 %cmp.i.i1.i.i.i, label %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread233, label %if.end.i.i.i -_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread231: ; preds = %for.body.i.i.i +_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread233: ; preds = %for.body.i.i.i store i8 0, ptr %gtest_ar_, align 8 - %message_.i235 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i235, align 8 + %message_.i237 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i237, align 8 br label %if.else if.end.i.i.i: ; preds = %for.body.i.i.i @@ -23518,8 +23518,8 @@ if.end.i.i.i: ; preds = %for.body.i.i.i _ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread: ; preds = %if.end.i.i.i store i8 1, ptr %gtest_ar_, align 8 - %message_.i228 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i228, align 8 + %message_.i230 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i230, align 8 br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i for.inc.i.i.i: ; preds = %if.end.i.i.i @@ -23540,8 +23540,8 @@ _ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEb store ptr null, ptr %message_.i, align 8 br i1 %spec.select.i.i.i.not, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, label %if.else -if.else: ; preds = %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread231, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit - %message_.i237 = phi ptr [ %message_.i235, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread231 ], [ %message_.i, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit ] +if.else: ; preds = %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread233, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit + %message_.i239 = phi ptr [ %message_.i237, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread233 ], [ %message_.i, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) to label %invoke.cont unwind label %lpad @@ -23550,7 +23550,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont9 unwind label %lpad8 invoke.cont9: ; preds = %invoke.cont - %call10 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp7) #27 + %call10 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp7) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 416, ptr noundef %call10) to label %invoke.cont12 unwind label %lpad11 @@ -23559,8 +23559,8 @@ invoke.cont12: ; preds = %invoke.cont9 to label %invoke.cont14 unwind label %lpad13 invoke.cont14: ; preds = %invoke.cont12 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp7) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp7) #28 %5 = load ptr, ptr %ref.tmp5, align 8 %cmp.not.i.i = icmp eq ptr %5, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -23569,7 +23569,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %5, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %6 = load ptr, ptr %vfn.i.i.i, align 8 - call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 + call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #28 br label %if.end lpad: ; preds = %if.else @@ -23590,12 +23590,12 @@ lpad11: ; preds = %invoke.cont9 lpad13: ; preds = %invoke.cont12 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 br label %ehcleanup ehcleanup: ; preds = %lpad13, %lpad11 %.pn = phi { ptr, i32 } [ %10, %lpad13 ], [ %9, %lpad11 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp7) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp7) #28 br label %ehcleanup15 ehcleanup15: ; preds = %ehcleanup, %lpad8 @@ -23608,7 +23608,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i18 = load ptr, ptr %11, align 8 %vfn.i.i.i19 = getelementptr inbounds ptr, ptr %vtable.i.i.i18, i64 1 %12 = load ptr, ptr %vfn.i.i.i19, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit20 _ZN7testing7MessageD2Ev.exit20: ; preds = %ehcleanup15, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i17 @@ -23617,92 +23617,92 @@ _ZN7testing7MessageD2Ev.exit20: ; preds = %ehcleanup15, %_ZNKS if.end: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %invoke.cont14 store ptr null, ptr %ref.tmp5, align 8 - %.pr = load ptr, ptr %message_.i237, align 8 + %.pr = load ptr, ptr %message_.i239, align 8 %cmp.not.i.i22 = icmp eq ptr %.pr, null br i1 %cmp.not.i.i22, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread278, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end - %message_.i230240 = phi ptr [ %message_.i237, %if.end ], [ %message_.i237, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ], [ %message_.i, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit ], [ %message_.i228, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread ], [ %message_.i285, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread278 ] - store ptr null, ptr %message_.i230240, align 8 - %call5.i.i.i.i.i.i25 = call noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread280, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end + %message_.i232242 = phi ptr [ %message_.i239, %if.end ], [ %message_.i239, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ], [ %message_.i, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit ], [ %message_.i230, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread ], [ %message_.i287, %_ZN4absl25c_lexicographical_compareINSt7__cxx114listIiSaIiEEES4_St7greaterIiEEEbRKT_RKT0_OT1_.exit.thread280 ] + store ptr null, ptr %message_.i232242, align 8 + %call5.i.i.i.i.i.i25 = call noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 store i32 1, ptr %call5.i.i.i.i.i.i25, align 4 - %call5.i.i.i.i.i.i61 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47 unwind label %ehcleanup88.thread306 + %call5.i.i.i.i.i.i62 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47 unwind label %ehcleanup88.thread308 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i - %add.ptr.i.i.i49 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i61, i64 1 + %add.ptr.i.i.i49 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i62, i64 1 store i32 2, ptr %add.ptr.i.i.i49, align 4 - store i32 1, ptr %call5.i.i.i.i.i.i61, align 4 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i25) #28 - %call5.i.i.i.i.i.i98 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i84 unwind label %ehcleanup88.thread306 - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i84: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47 - %add.ptr.i.i.i86 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i98, i64 2 - store i32 4, ptr %add.ptr.i.i.i86, align 4 - %13 = load i64, ptr %call5.i.i.i.i.i.i61, align 4 - store i64 %13, ptr %call5.i.i.i.i.i.i98, align 4 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i61) #28 + store i32 1, ptr %call5.i.i.i.i.i.i62, align 4 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i25) #29 + %call5.i.i.i.i.i.i100 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i85 unwind label %ehcleanup88.thread308 + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i85: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47 + %add.ptr.i.i.i87 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i.i100, i64 2 + store i32 4, ptr %add.ptr.i.i.i87, align 4 + %13 = load i64, ptr %call5.i.i.i.i.i.i62, align 4 + store i64 %13, ptr %call5.i.i.i.i.i.i100, align 4 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i62) #29 %14 = load ptr, ptr %sequence_, align 8 %cmp.i.i13.i.i.i.not = icmp eq ptr %14, %sequence_ - br i1 %cmp.i.i13.i.i.i.not, label %if.else34.sink.split, label %for.body.i.i.i106 + br i1 %cmp.i.i13.i.i.i.not, label %if.else34.sink.split, label %for.body.i.i.i108 -for.body.i.i.i106: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i84, %for.inc.i.i.i110 - %__first1.sroa.0.016.i.i.i.idx = phi i64 [ %__first1.sroa.0.016.i.i.i.add, %for.inc.i.i.i110 ], [ 0, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i84 ] - %__first2.sroa.0.015.i.i.i = phi ptr [ %17, %for.inc.i.i.i110 ], [ %14, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i84 ] - %__first1.sroa.0.016.i.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i98, i64 %__first1.sroa.0.016.i.i.i.idx - %_M_storage.i.i.i.i.i.i107 = getelementptr inbounds %"struct.std::_List_node", ptr %__first2.sroa.0.015.i.i.i, i64 0, i32 1 +for.body.i.i.i108: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i85, %for.inc.i.i.i112 + %__first1.sroa.0.016.i.i.i.idx = phi i64 [ %__first1.sroa.0.016.i.i.i.add, %for.inc.i.i.i112 ], [ 0, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i85 ] + %__first2.sroa.0.015.i.i.i = phi ptr [ %17, %for.inc.i.i.i112 ], [ %14, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i85 ] + %__first1.sroa.0.016.i.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i100, i64 %__first1.sroa.0.016.i.i.i.idx + %_M_storage.i.i.i.i.i.i109 = getelementptr inbounds %"struct.std::_List_node", ptr %__first2.sroa.0.015.i.i.i, i64 0, i32 1 %15 = load i32, ptr %__first1.sroa.0.016.i.i.i.ptr, align 4 - %16 = load i32, ptr %_M_storage.i.i.i.i.i.i107, align 4 - %cmp.i.i1.i.i.i108 = icmp sgt i32 %15, %16 - br i1 %cmp.i.i1.i.i.i108, label %invoke.cont28.thread, label %if.end.i.i.i109 + %16 = load i32, ptr %_M_storage.i.i.i.i.i.i109, align 4 + %cmp.i.i1.i.i.i110 = icmp sgt i32 %15, %16 + br i1 %cmp.i.i1.i.i.i110, label %invoke.cont28.thread, label %if.end.i.i.i111 -invoke.cont28.thread: ; preds = %for.body.i.i.i106 +invoke.cont28.thread: ; preds = %for.body.i.i.i108 store i8 1, ptr %gtest_ar_24, align 8 - %message_.i114249 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_24, i64 0, i32 1 - store ptr null, ptr %message_.i114249, align 8 - br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i132 + %message_.i116251 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_24, i64 0, i32 1 + store ptr null, ptr %message_.i116251, align 8 + br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i134 -if.end.i.i.i109: ; preds = %for.body.i.i.i106 +if.end.i.i.i111: ; preds = %for.body.i.i.i108 %cmp.i.i3.i.i.i = icmp sgt i32 %16, %15 - br i1 %cmp.i.i3.i.i.i, label %if.else34.sink.split, label %for.inc.i.i.i110 + br i1 %cmp.i.i3.i.i.i, label %if.else34.sink.split, label %for.inc.i.i.i112 -for.inc.i.i.i110: ; preds = %if.end.i.i.i109 +for.inc.i.i.i112: ; preds = %if.end.i.i.i111 %__first1.sroa.0.016.i.i.i.add = add nuw nsw i64 %__first1.sroa.0.016.i.i.i.idx, 4 %17 = load ptr, ptr %__first2.sroa.0.015.i.i.i, align 8 - %cmp.i.i.i.i111 = icmp ne i64 %__first1.sroa.0.016.i.i.i.add, 12 - %cmp.i.i.i.i.i112 = icmp ne ptr %17, %sequence_ - %or.cond.i.i.i113 = select i1 %cmp.i.i.i.i111, i1 %cmp.i.i.i.i.i112, i1 false - br i1 %or.cond.i.i.i113, label %for.body.i.i.i106, label %invoke.cont28, !llvm.loop !396 + %cmp.i.i.i.i113 = icmp ne i64 %__first1.sroa.0.016.i.i.i.add, 12 + %cmp.i.i.i.i.i114 = icmp ne ptr %17, %sequence_ + %or.cond.i.i.i115 = select i1 %cmp.i.i.i.i113, i1 %cmp.i.i.i.i.i114, i1 false + br i1 %or.cond.i.i.i115, label %for.body.i.i.i108, label %invoke.cont28, !llvm.loop !396 -invoke.cont28: ; preds = %for.inc.i.i.i110 +invoke.cont28: ; preds = %for.inc.i.i.i112 %cmp.i4.i.i.i = icmp eq i64 %__first1.sroa.0.016.i.i.i.add, 12 - %cmp.i5.i.i.i103 = icmp ne ptr %17, %sequence_ - %spec.select.i.i.i104 = select i1 %cmp.i4.i.i.i, i1 %cmp.i5.i.i.i103, i1 false - %frombool30 = zext i1 %spec.select.i.i.i104 to i8 + %cmp.i5.i.i.i105 = icmp ne ptr %17, %sequence_ + %spec.select.i.i.i106 = select i1 %cmp.i4.i.i.i, i1 %cmp.i5.i.i.i105, i1 false + %frombool30 = zext i1 %spec.select.i.i.i106 to i8 store i8 %frombool30, ptr %gtest_ar_24, align 8 - %message_.i114 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_24, i64 0, i32 1 - store ptr null, ptr %message_.i114, align 8 - br i1 %spec.select.i.i.i104, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i132, label %if.else34 + %message_.i116 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_24, i64 0, i32 1 + store ptr null, ptr %message_.i116, align 8 + br i1 %spec.select.i.i.i106, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i134, label %if.else34 ehcleanup16: ; preds = %_ZN7testing7MessageD2Ev.exit20, %lpad %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit20 ], [ %7, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %eh.resume -if.else34.sink.split: ; preds = %if.end.i.i.i109, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i84 +if.else34.sink.split: ; preds = %if.end.i.i.i111, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i85 store i8 0, ptr %gtest_ar_24, align 8 - %message_.i114255 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_24, i64 0, i32 1 - store ptr null, ptr %message_.i114255, align 8 + %message_.i116257 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_24, i64 0, i32 1 + store ptr null, ptr %message_.i116257, align 8 br label %if.else34 if.else34: ; preds = %if.else34.sink.split, %invoke.cont28 - %message_.i114257 = phi ptr [ %message_.i114, %invoke.cont28 ], [ %message_.i114255, %if.else34.sink.split ] + %message_.i116259 = phi ptr [ %message_.i116, %invoke.cont28 ], [ %message_.i116257, %if.else34.sink.split ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp35) to label %invoke.cont37 unwind label %lpad36 @@ -23711,7 +23711,7 @@ invoke.cont37: ; preds = %if.else34 to label %invoke.cont41 unwind label %lpad40 invoke.cont41: ; preds = %invoke.cont37 - %call42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + %call42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 424, ptr noundef %call42) to label %invoke.cont44 unwind label %lpad43 @@ -23720,17 +23720,17 @@ invoke.cont44: ; preds = %invoke.cont41 to label %invoke.cont46 unwind label %lpad45 invoke.cont46: ; preds = %invoke.cont44 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 %18 = load ptr, ptr %ref.tmp35, align 8 - %cmp.not.i.i116 = icmp eq ptr %18, null - br i1 %cmp.not.i.i116, label %if.end50, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117: ; preds = %invoke.cont46 - %vtable.i.i.i118 = load ptr, ptr %18, align 8 - %vfn.i.i.i119 = getelementptr inbounds ptr, ptr %vtable.i.i.i118, i64 1 - %19 = load ptr, ptr %vfn.i.i.i119, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + %cmp.not.i.i118 = icmp eq ptr %18, null + br i1 %cmp.not.i.i118, label %if.end50, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119: ; preds = %invoke.cont46 + %vtable.i.i.i120 = load ptr, ptr %18, align 8 + %vfn.i.i.i121 = getelementptr inbounds ptr, ptr %vtable.i.i.i120, i64 1 + %19 = load ptr, ptr %vfn.i.i.i121, align 8 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %if.end50 lpad36: ; preds = %if.else34 @@ -23751,50 +23751,50 @@ lpad43: ; preds = %invoke.cont41 lpad45: ; preds = %invoke.cont44 %23 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #28 br label %ehcleanup48 ehcleanup48: ; preds = %lpad45, %lpad43 %.pn4 = phi { ptr, i32 } [ %23, %lpad45 ], [ %22, %lpad43 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 br label %ehcleanup49 ehcleanup49: ; preds = %ehcleanup48, %lpad40 %.pn4.pn = phi { ptr, i32 } [ %.pn4, %ehcleanup48 ], [ %21, %lpad40 ] %24 = load ptr, ptr %ref.tmp35, align 8 - %cmp.not.i.i121 = icmp eq ptr %24, null - br i1 %cmp.not.i.i121, label %_ZN7testing7MessageD2Ev.exit125, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 + %cmp.not.i.i123 = icmp eq ptr %24, null + br i1 %cmp.not.i.i123, label %_ZN7testing7MessageD2Ev.exit127, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122: ; preds = %ehcleanup49 - %vtable.i.i.i123 = load ptr, ptr %24, align 8 - %vfn.i.i.i124 = getelementptr inbounds ptr, ptr %vtable.i.i.i123, i64 1 - %25 = load ptr, ptr %vfn.i.i.i124, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #27 - br label %_ZN7testing7MessageD2Ev.exit125 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124: ; preds = %ehcleanup49 + %vtable.i.i.i125 = load ptr, ptr %24, align 8 + %vfn.i.i.i126 = getelementptr inbounds ptr, ptr %vtable.i.i.i125, i64 1 + %25 = load ptr, ptr %vfn.i.i.i126, align 8 + call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #28 + br label %_ZN7testing7MessageD2Ev.exit127 -_ZN7testing7MessageD2Ev.exit125: ; preds = %ehcleanup49, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 +_ZN7testing7MessageD2Ev.exit127: ; preds = %ehcleanup49, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124 store ptr null, ptr %ref.tmp35, align 8 br label %ehcleanup51 -if.end50: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117, %invoke.cont46 +if.end50: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119, %invoke.cont46 store ptr null, ptr %ref.tmp35, align 8 - %.pr258 = load ptr, ptr %message_.i114257, align 8 - %cmp.not.i.i127 = icmp eq ptr %.pr258, null - br i1 %cmp.not.i.i127, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i132, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i128 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i128: ; preds = %if.end50 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr258) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr258) #28 - br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i132 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i132: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i128, %if.end50, %invoke.cont28.thread, %invoke.cont28 - %message_.i114251261 = phi ptr [ %message_.i114257, %if.end50 ], [ %message_.i114257, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i128 ], [ %message_.i114, %invoke.cont28 ], [ %message_.i114249, %invoke.cont28.thread ] - store ptr null, ptr %message_.i114251261, align 8 - %call5.i.i.i.i2.i6.i136 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 - to label %if.then.i.i.i.i.i.i.i.i.i unwind label %ehcleanup88.thread306 - -if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i132 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i136, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i.i.i98, i64 12, i1 false) + %.pr260 = load ptr, ptr %message_.i116259, align 8 + %cmp.not.i.i129 = icmp eq ptr %.pr260, null + br i1 %cmp.not.i.i129, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i134, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130: ; preds = %if.end50 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr260) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr260) #29 + br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i134 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i134: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130, %if.end50, %invoke.cont28.thread, %invoke.cont28 + %message_.i116253263 = phi ptr [ %message_.i116259, %if.end50 ], [ %message_.i116259, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130 ], [ %message_.i116, %invoke.cont28 ], [ %message_.i116251, %invoke.cont28.thread ] + store ptr null, ptr %message_.i116253263, align 8 + %call5.i.i.i.i2.i6.i138 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 + to label %if.then.i.i.i.i.i.i.i.i.i unwind label %ehcleanup88.thread308 + +if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i134 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i138, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i.i.i100, i64 12, i1 false) %_M_prev.i.i.i.i.i = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %ref.tmp56, i64 0, i32 1 store ptr %ref.tmp56, ptr %_M_prev.i.i.i.i.i, align 8 store ptr %ref.tmp56, ptr %ref.tmp56, align 8 @@ -23802,19 +23802,19 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_tr store i64 0, ptr %_M_size.i.i.i.i.i, align 8 %26 = load ptr, ptr %sequence_, align 8 %cmp.i.not3.i.i = icmp eq ptr %26, %sequence_ - br i1 %cmp.i.not3.i.i, label %for.end.i.i.i143.thread, label %for.body.i.i + br i1 %cmp.i.not3.i.i, label %for.end.i.i.i145.thread, label %for.body.i.i for.body.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %call5.i.i.i.i.i.i.i.noexc.i %__first.sroa.0.04.i.i = phi ptr [ %29, %call5.i.i.i.i.i.i.i.noexc.i ], [ %26, %if.then.i.i.i.i.i.i.i.i.i ] - %call5.i.i.i.i.i.i.i4.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i4.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %__first.sroa.0.04.i.i, i64 0, i32 1 - %_M_storage.i.i.i.i.i.i137 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i4.i, i64 0, i32 1 + %_M_storage.i.i.i.i.i.i139 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i4.i, i64 0, i32 1 %27 = load i32, ptr %_M_storage.i.i.i.i, align 4 - store i32 %27, ptr %_M_storage.i.i.i.i.i.i137, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i4.i, ptr noundef nonnull %ref.tmp56) #27 + store i32 %27, ptr %_M_storage.i.i.i.i.i.i139, align 4 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i4.i, ptr noundef nonnull %ref.tmp56) #28 %28 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %28, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -23827,92 +23827,92 @@ lpad.i: ; preds = %for.body.i.i cleanup %31 = load ptr, ptr %ref.tmp56, align 8 %cmp.not4.i.i.i = icmp eq ptr %31, %ref.tmp56 - br i1 %cmp.not4.i.i.i, label %if.then.i.i.i179, label %while.body.i.i.i + br i1 %cmp.not4.i.i.i, label %if.then.i.i.i181, label %while.body.i.i.i while.body.i.i.i: ; preds = %lpad.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %32, %while.body.i.i.i ], [ %31, %lpad.i ] %32 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %32, %ref.tmp56 - br i1 %cmp.not.i.i.i, label %if.then.i.i.i179, label %while.body.i.i.i, !llvm.loop !7 + br i1 %cmp.not.i.i.i, label %if.then.i.i.i181, label %while.body.i.i.i, !llvm.loop !7 invoke.cont59: ; preds = %call5.i.i.i.i.i.i.i.noexc.i %.pre = load ptr, ptr %ref.tmp56, align 8 - %cmp.i.i13.i.i.i141.not = icmp eq ptr %.pre, %ref.tmp56 - br i1 %cmp.i.i13.i.i.i141.not, label %for.end.i.i.i143.thread, label %for.body.i.i.i150 - -for.body.i.i.i150: ; preds = %invoke.cont59, %for.inc.i.i.i157 - %__first1.sroa.0.016.i.i.i151.idx = phi i64 [ %__first1.sroa.0.016.i.i.i151.add, %for.inc.i.i.i157 ], [ 0, %invoke.cont59 ] - %__first2.sroa.0.015.i.i.i152 = phi ptr [ %35, %for.inc.i.i.i157 ], [ %.pre, %invoke.cont59 ] - %__first1.sroa.0.016.i.i.i151.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i136, i64 %__first1.sroa.0.016.i.i.i151.idx - %_M_storage.i.i.i.i.i.i153 = getelementptr inbounds %"struct.std::_List_node", ptr %__first2.sroa.0.015.i.i.i152, i64 0, i32 1 - %33 = load i32, ptr %__first1.sroa.0.016.i.i.i151.ptr, align 4 - %34 = load i32, ptr %_M_storage.i.i.i.i.i.i153, align 4 - %cmp.i.i1.i.i.i154 = icmp sgt i32 %33, %34 - br i1 %cmp.i.i1.i.i.i154, label %invoke.cont62, label %if.end.i.i.i155 - -if.end.i.i.i155: ; preds = %for.body.i.i.i150 - %cmp.i.i3.i.i.i156 = icmp sgt i32 %34, %33 - br i1 %cmp.i.i3.i.i.i156, label %invoke.cont62, label %for.inc.i.i.i157 - -for.inc.i.i.i157: ; preds = %if.end.i.i.i155 - %__first1.sroa.0.016.i.i.i151.add = add nuw nsw i64 %__first1.sroa.0.016.i.i.i151.idx, 4 - %35 = load ptr, ptr %__first2.sroa.0.015.i.i.i152, align 8 - %cmp.i.i.i.i159 = icmp ne i64 %__first1.sroa.0.016.i.i.i151.add, 12 - %cmp.i.i.i.i.i160 = icmp ne ptr %35, %ref.tmp56 - %or.cond.i.i.i161 = select i1 %cmp.i.i.i.i159, i1 %cmp.i.i.i.i.i160, i1 false - br i1 %or.cond.i.i.i161, label %for.body.i.i.i150, label %for.end.i.i.i143, !llvm.loop !396 - -for.end.i.i.i143.thread: ; preds = %invoke.cont59, %if.then.i.i.i.i.i.i.i.i.i + %cmp.i.i13.i.i.i143.not = icmp eq ptr %.pre, %ref.tmp56 + br i1 %cmp.i.i13.i.i.i143.not, label %for.end.i.i.i145.thread, label %for.body.i.i.i152 + +for.body.i.i.i152: ; preds = %invoke.cont59, %for.inc.i.i.i159 + %__first1.sroa.0.016.i.i.i153.idx = phi i64 [ %__first1.sroa.0.016.i.i.i153.add, %for.inc.i.i.i159 ], [ 0, %invoke.cont59 ] + %__first2.sroa.0.015.i.i.i154 = phi ptr [ %35, %for.inc.i.i.i159 ], [ %.pre, %invoke.cont59 ] + %__first1.sroa.0.016.i.i.i153.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i138, i64 %__first1.sroa.0.016.i.i.i153.idx + %_M_storage.i.i.i.i.i.i155 = getelementptr inbounds %"struct.std::_List_node", ptr %__first2.sroa.0.015.i.i.i154, i64 0, i32 1 + %33 = load i32, ptr %__first1.sroa.0.016.i.i.i153.ptr, align 4 + %34 = load i32, ptr %_M_storage.i.i.i.i.i.i155, align 4 + %cmp.i.i1.i.i.i156 = icmp sgt i32 %33, %34 + br i1 %cmp.i.i1.i.i.i156, label %invoke.cont62, label %if.end.i.i.i157 + +if.end.i.i.i157: ; preds = %for.body.i.i.i152 + %cmp.i.i3.i.i.i158 = icmp sgt i32 %34, %33 + br i1 %cmp.i.i3.i.i.i158, label %invoke.cont62, label %for.inc.i.i.i159 + +for.inc.i.i.i159: ; preds = %if.end.i.i.i157 + %__first1.sroa.0.016.i.i.i153.add = add nuw nsw i64 %__first1.sroa.0.016.i.i.i153.idx, 4 + %35 = load ptr, ptr %__first2.sroa.0.015.i.i.i154, align 8 + %cmp.i.i.i.i161 = icmp ne i64 %__first1.sroa.0.016.i.i.i153.add, 12 + %cmp.i.i.i.i.i162 = icmp ne ptr %35, %ref.tmp56 + %or.cond.i.i.i163 = select i1 %cmp.i.i.i.i161, i1 %cmp.i.i.i.i.i162, i1 false + br i1 %or.cond.i.i.i163, label %for.body.i.i.i152, label %for.end.i.i.i145, !llvm.loop !396 + +for.end.i.i.i145.thread: ; preds = %invoke.cont59, %if.then.i.i.i.i.i.i.i.i.i store i8 0, ptr %gtest_ar_52, align 8 - %message_.i163297316 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_52, i64 0, i32 1 - store ptr null, ptr %message_.i163297316, align 8 + %message_.i165299318 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_52, i64 0, i32 1 + store ptr null, ptr %message_.i165299318, align 8 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -for.end.i.i.i143: ; preds = %for.inc.i.i.i157 - %cmp.i4.i.i.i146 = icmp eq i64 %__first1.sroa.0.016.i.i.i151.add, 12 - %cmp.i5.i.i.i147 = icmp ne ptr %35, %ref.tmp56 - %spec.select.i.i.i148 = select i1 %cmp.i4.i.i.i146, i1 %cmp.i5.i.i.i147, i1 false - %36 = zext i1 %spec.select.i.i.i148 to i8 +for.end.i.i.i145: ; preds = %for.inc.i.i.i159 + %cmp.i4.i.i.i148 = icmp eq i64 %__first1.sroa.0.016.i.i.i153.add, 12 + %cmp.i5.i.i.i149 = icmp ne ptr %35, %ref.tmp56 + %spec.select.i.i.i150 = select i1 %cmp.i4.i.i.i148, i1 %cmp.i5.i.i.i149, i1 false + %36 = zext i1 %spec.select.i.i.i150 to i8 store i8 %36, ptr %gtest_ar_52, align 8 - %message_.i163297 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_52, i64 0, i32 1 - store ptr null, ptr %message_.i163297, align 8 - br i1 %cmp.i.i13.i.i.i141.not, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %while.body.i.i.i165.preheader - -invoke.cont62: ; preds = %if.end.i.i.i155, %for.body.i.i.i150 - %retval.0.i.i.i149 = phi i8 [ 1, %for.body.i.i.i150 ], [ 0, %if.end.i.i.i155 ] - store i8 %retval.0.i.i.i149, ptr %gtest_ar_52, align 8 - %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_52, i64 0, i32 1 - store ptr null, ptr %message_.i163, align 8 - br i1 %cmp.i.i13.i.i.i141.not, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %while.body.i.i.i165.preheader - -while.body.i.i.i165.preheader: ; preds = %for.end.i.i.i143, %invoke.cont62 - %message_.i163298 = phi ptr [ %message_.i163297, %for.end.i.i.i143 ], [ %message_.i163, %invoke.cont62 ] - br label %while.body.i.i.i165 - -while.body.i.i.i165: ; preds = %while.body.i.i.i165.preheader, %while.body.i.i.i165 - %__cur.05.i.i.i166 = phi ptr [ %37, %while.body.i.i.i165 ], [ %.pre, %while.body.i.i.i165.preheader ] - %37 = load ptr, ptr %__cur.05.i.i.i166, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i166) #28 - %cmp.not.i.i.i167 = icmp eq ptr %37, %ref.tmp56 - br i1 %cmp.not.i.i.i167, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %while.body.i.i.i165, !llvm.loop !7 - -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i165, %for.end.i.i.i143.thread, %for.end.i.i.i143, %invoke.cont62 - %message_.i163299 = phi ptr [ %message_.i163297, %for.end.i.i.i143 ], [ %message_.i163, %invoke.cont62 ], [ %message_.i163297316, %for.end.i.i.i143.thread ], [ %message_.i163298, %while.body.i.i.i165 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i136) #28 + %message_.i165299 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_52, i64 0, i32 1 + store ptr null, ptr %message_.i165299, align 8 + br i1 %cmp.i.i13.i.i.i143.not, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %while.body.i.i.i167.preheader + +invoke.cont62: ; preds = %if.end.i.i.i157, %for.body.i.i.i152 + %retval.0.i.i.i151 = phi i8 [ 1, %for.body.i.i.i152 ], [ 0, %if.end.i.i.i157 ] + store i8 %retval.0.i.i.i151, ptr %gtest_ar_52, align 8 + %message_.i165 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_52, i64 0, i32 1 + store ptr null, ptr %message_.i165, align 8 + br i1 %cmp.i.i13.i.i.i143.not, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %while.body.i.i.i167.preheader + +while.body.i.i.i167.preheader: ; preds = %for.end.i.i.i145, %invoke.cont62 + %message_.i165300 = phi ptr [ %message_.i165299, %for.end.i.i.i145 ], [ %message_.i165, %invoke.cont62 ] + br label %while.body.i.i.i167 + +while.body.i.i.i167: ; preds = %while.body.i.i.i167.preheader, %while.body.i.i.i167 + %__cur.05.i.i.i168 = phi ptr [ %37, %while.body.i.i.i167 ], [ %.pre, %while.body.i.i.i167.preheader ] + %37 = load ptr, ptr %__cur.05.i.i.i168, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i168) #29 + %cmp.not.i.i.i169 = icmp eq ptr %37, %ref.tmp56 + br i1 %cmp.not.i.i.i169, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %while.body.i.i.i167, !llvm.loop !7 + +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i167, %for.end.i.i.i145.thread, %for.end.i.i.i145, %invoke.cont62 + %message_.i165301 = phi ptr [ %message_.i165299, %for.end.i.i.i145 ], [ %message_.i165, %invoke.cont62 ], [ %message_.i165299318, %for.end.i.i.i145.thread ], [ %message_.i165300, %while.body.i.i.i167 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i138) #29 %38 = load i8, ptr %gtest_ar_52, align 8 %39 = and i8 %38, 1 - %tobool.i170.not = icmp eq i8 %39, 0 - br i1 %tobool.i170.not, label %if.else70, label %if.end86 + %tobool.i172.not = icmp eq i8 %39, 0 + br i1 %tobool.i172.not, label %if.else70, label %if.end86 -ehcleanup51: ; preds = %_ZN7testing7MessageD2Ev.exit125, %lpad36 - %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit125 ], [ %20, %lpad36 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_24) #27 - br label %if.then.i.i.i201 +ehcleanup51: ; preds = %_ZN7testing7MessageD2Ev.exit127, %lpad36 + %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit127 ], [ %20, %lpad36 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_24) #28 + br label %if.then.i.i.i203 -if.then.i.i.i179: ; preds = %while.body.i.i.i, %lpad.i - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i136) #28 - br label %if.then.i.i.i201 +if.then.i.i.i181: ; preds = %while.body.i.i.i, %lpad.i + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i138) #29 + br label %if.then.i.i.i203 if.else70: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp71) @@ -23923,7 +23923,7 @@ invoke.cont73: ; preds = %if.else70 to label %invoke.cont77 unwind label %lpad76 invoke.cont77: ; preds = %invoke.cont73 - %call78 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp75) #27 + %call78 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp75) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp74, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 426, ptr noundef %call78) to label %invoke.cont80 unwind label %lpad79 @@ -23932,20 +23932,20 @@ invoke.cont80: ; preds = %invoke.cont77 to label %invoke.cont82 unwind label %lpad81 invoke.cont82: ; preds = %invoke.cont80 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp74) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp75) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp74) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp75) #28 %40 = load ptr, ptr %ref.tmp71, align 8 - %cmp.not.i.i181 = icmp eq ptr %40, null - br i1 %cmp.not.i.i181, label %_ZN7testing7MessageD2Ev.exit185, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 + %cmp.not.i.i183 = icmp eq ptr %40, null + br i1 %cmp.not.i.i183, label %_ZN7testing7MessageD2Ev.exit187, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182: ; preds = %invoke.cont82 - %vtable.i.i.i183 = load ptr, ptr %40, align 8 - %vfn.i.i.i184 = getelementptr inbounds ptr, ptr %vtable.i.i.i183, i64 1 - %41 = load ptr, ptr %vfn.i.i.i184, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 - br label %_ZN7testing7MessageD2Ev.exit185 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184: ; preds = %invoke.cont82 + %vtable.i.i.i185 = load ptr, ptr %40, align 8 + %vfn.i.i.i186 = getelementptr inbounds ptr, ptr %vtable.i.i.i185, i64 1 + %41 = load ptr, ptr %vfn.i.i.i186, align 8 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 + br label %_ZN7testing7MessageD2Ev.exit187 -_ZN7testing7MessageD2Ev.exit185: ; preds = %invoke.cont82, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 +_ZN7testing7MessageD2Ev.exit187: ; preds = %invoke.cont82, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184 store ptr null, ptr %ref.tmp71, align 8 br label %if.end86 @@ -23967,65 +23967,65 @@ lpad79: ; preds = %invoke.cont77 lpad81: ; preds = %invoke.cont80 %45 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp74) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp74) #28 br label %ehcleanup84 ehcleanup84: ; preds = %lpad81, %lpad79 %.pn10 = phi { ptr, i32 } [ %45, %lpad81 ], [ %44, %lpad79 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp75) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp75) #28 br label %ehcleanup85 ehcleanup85: ; preds = %ehcleanup84, %lpad76 %.pn10.pn = phi { ptr, i32 } [ %.pn10, %ehcleanup84 ], [ %43, %lpad76 ] %46 = load ptr, ptr %ref.tmp71, align 8 - %cmp.not.i.i186 = icmp eq ptr %46, null - br i1 %cmp.not.i.i186, label %_ZN7testing7MessageD2Ev.exit190, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 + %cmp.not.i.i188 = icmp eq ptr %46, null + br i1 %cmp.not.i.i188, label %_ZN7testing7MessageD2Ev.exit192, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187: ; preds = %ehcleanup85 - %vtable.i.i.i188 = load ptr, ptr %46, align 8 - %vfn.i.i.i189 = getelementptr inbounds ptr, ptr %vtable.i.i.i188, i64 1 - %47 = load ptr, ptr %vfn.i.i.i189, align 8 - call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #27 - br label %_ZN7testing7MessageD2Ev.exit190 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189: ; preds = %ehcleanup85 + %vtable.i.i.i190 = load ptr, ptr %46, align 8 + %vfn.i.i.i191 = getelementptr inbounds ptr, ptr %vtable.i.i.i190, i64 1 + %47 = load ptr, ptr %vfn.i.i.i191, align 8 + call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #28 + br label %_ZN7testing7MessageD2Ev.exit192 -_ZN7testing7MessageD2Ev.exit190: ; preds = %ehcleanup85, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 +_ZN7testing7MessageD2Ev.exit192: ; preds = %ehcleanup85, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 store ptr null, ptr %ref.tmp71, align 8 br label %ehcleanup87 -if.end86: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit185 - %48 = load ptr, ptr %message_.i163299, align 8 - %cmp.not.i.i192 = icmp eq ptr %48, null - br i1 %cmp.not.i.i192, label %_ZNSt6vectorIiSaIiEED2Ev.exit198, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 +if.end86: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit187 + %48 = load ptr, ptr %message_.i165301, align 8 + %cmp.not.i.i194 = icmp eq ptr %48, null + br i1 %cmp.not.i.i194, label %_ZNSt6vectorIiSaIiEED2Ev.exit200, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193: ; preds = %if.end86 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #27 - call void @_ZdlPv(ptr noundef nonnull %48) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit198 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195: ; preds = %if.end86 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #28 + call void @_ZdlPv(ptr noundef nonnull %48) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit200 -_ZNSt6vectorIiSaIiEED2Ev.exit198: ; preds = %if.end86, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 - store ptr null, ptr %message_.i163299, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i98) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit200: ; preds = %if.end86, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 + store ptr null, ptr %message_.i165301, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i100) #29 ret void -ehcleanup87: ; preds = %_ZN7testing7MessageD2Ev.exit190, %lpad72 - %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %_ZN7testing7MessageD2Ev.exit190 ], [ %42, %lpad72 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_52) #27 - br label %if.then.i.i.i201 +ehcleanup87: ; preds = %_ZN7testing7MessageD2Ev.exit192, %lpad72 + %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %_ZN7testing7MessageD2Ev.exit192 ], [ %42, %lpad72 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_52) #28 + br label %if.then.i.i.i203 -ehcleanup88.thread306: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i132, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i - %v.sroa.0.3.ph = phi ptr [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i61, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47 ], [ %call5.i.i.i.i.i.i98, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i132 ] +ehcleanup88.thread308: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i134, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i + %v.sroa.0.3.ph = phi ptr [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i62, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i47 ], [ %call5.i.i.i.i.i.i100, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i134 ] %lpad.thr_comm = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i201 + br label %if.then.i.i.i203 -if.then.i.i.i201: ; preds = %if.then.i.i.i179, %ehcleanup51, %ehcleanup87, %ehcleanup88.thread306 - %.pn10.pn.pn.pn304 = phi { ptr, i32 } [ %lpad.thr_comm, %ehcleanup88.thread306 ], [ %30, %if.then.i.i.i179 ], [ %.pn4.pn.pn, %ehcleanup51 ], [ %.pn10.pn.pn, %ehcleanup87 ] - %v.sroa.0.4303 = phi ptr [ %v.sroa.0.3.ph, %ehcleanup88.thread306 ], [ %call5.i.i.i.i.i.i98, %if.then.i.i.i179 ], [ %call5.i.i.i.i.i.i98, %ehcleanup51 ], [ %call5.i.i.i.i.i.i98, %ehcleanup87 ] - call void @_ZdlPv(ptr noundef nonnull %v.sroa.0.4303) #28 +if.then.i.i.i203: ; preds = %if.then.i.i.i181, %ehcleanup51, %ehcleanup87, %ehcleanup88.thread308 + %.pn10.pn.pn.pn306 = phi { ptr, i32 } [ %lpad.thr_comm, %ehcleanup88.thread308 ], [ %30, %if.then.i.i.i181 ], [ %.pn4.pn.pn, %ehcleanup51 ], [ %.pn10.pn.pn, %ehcleanup87 ] + %v.sroa.0.4305 = phi ptr [ %v.sroa.0.3.ph, %ehcleanup88.thread308 ], [ %call5.i.i.i.i.i.i100, %if.then.i.i.i181 ], [ %call5.i.i.i.i.i.i100, %ehcleanup51 ], [ %call5.i.i.i.i.i.i100, %ehcleanup87 ] + call void @_ZdlPv(ptr noundef nonnull %v.sroa.0.4305) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i201, %ehcleanup16 - %.pn10.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup16 ], [ %.pn10.pn.pn.pn304, %if.then.i.i.i201 ] +eh.resume: ; preds = %if.then.i.i.i203, %ehcleanup16 + %.pn10.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup16 ], [ %.pn10.pn.pn.pn306, %if.then.i.i.i203 ] resume { ptr, i32 } %.pn10.pn.pn.pn.pn } @@ -24038,14 +24038,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129NonMutatingTest_Includes_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129NonMutatingTest_Includes_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -24056,22 +24056,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129NonMutatingTest_Includes_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129NonMutatingTest_Includes_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -24117,7 +24117,7 @@ if.then.i.i.i: ; preds = %while.end.i.i.i, %e br i1 %cmp.i4.i.i.i, label %if.then.i.i, label %if.else.i.i.i if.else.i.i.i: ; preds = %if.then.i.i.i - %call.i.i.i.i = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i) #33 + %call.i.i.i.i = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i) #34 %_M_storage.i.i.i.i.phi.trans.insert.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %call.i.i.i.i, i64 0, i32 1 %.pre.i.i = load i32, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i, align 4 br label %if.end12.i.i.i @@ -24141,13 +24141,13 @@ lor.rhs.i.i.i: ; preds = %if.then.i.i _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i: ; preds = %lor.rhs.i.i.i, %if.then.i.i %6 = phi i1 [ true, %if.then.i.i ], [ %cmp.i.i7.i.i, %lor.rhs.i.i.i ] - %call5.i.i.i.i.i.i.i.i5 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #29 + %call5.i.i.i.i.i.i.i.i5 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #30 to label %call5.i.i.i.i.i.i.i.i.noexc unwind label %lpad call5.i.i.i.i.i.i.i.i.noexc: ; preds = %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i %_M_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %call5.i.i.i.i.i.i.i.i5, i64 0, i32 1 store i32 4, ptr %_M_storage.i.i.i.i.i.i.i, align 4 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %6, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i5, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i) #27 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %6, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i5, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i) #28 %_M_node_count.i.i.i = getelementptr inbounds i8, ptr %s, i64 40 %7 = load i64, ptr %_M_node_count.i.i.i, align 8 %inc.i.i.i = add i64 %7, 1 @@ -24183,7 +24183,7 @@ if.end.i.i.i: ; preds = %while.body.i.i.i8 %cmp.i4.i.i.i9 = icmp sge i32 %12, %11 %spec.select.idx.i.i.i = zext i1 %cmp.i4.i.i.i9 to i64 %spec.select.i.i.i = getelementptr inbounds i32, ptr %__first2.sroa.0.014.i.i.i, i64 %spec.select.idx.i.i.i - %call.i.i.i.i10 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef nonnull %__first1.sroa.0.015.i.i.i) #33 + %call.i.i.i.i10 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef nonnull %__first1.sroa.0.015.i.i.i) #34 %cmp.i.i.i.i11 = icmp ne ptr %call.i.i.i.i10, %add.ptr.i.i.i.i %cmp.i1.i.i.i = icmp ne ptr %spec.select.i.i.i, %10 %or.cond.i.i.i = select i1 %cmp.i.i.i.i11, i1 %cmp.i1.i.i.i, i1 false @@ -24213,7 +24213,7 @@ invoke.cont17: ; preds = %if.else to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont17 - %call22 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + %call22 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 432, ptr noundef %call22) to label %invoke.cont24 unwind label %lpad23 @@ -24222,8 +24222,8 @@ invoke.cont24: ; preds = %invoke.cont21 to label %invoke.cont26 unwind label %lpad25 invoke.cont26: ; preds = %invoke.cont24 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 %14 = load ptr, ptr %ref.tmp15, align 8 %cmp.not.i.i = icmp eq ptr %14, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -24232,7 +24232,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %if.end lpad16: ; preds = %if.else @@ -24253,12 +24253,12 @@ lpad23: ; preds = %invoke.cont21 lpad25: ; preds = %invoke.cont24 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #28 br label %ehcleanup ehcleanup: ; preds = %lpad25, %lpad23 %.pn = phi { ptr, i32 } [ %19, %lpad25 ], [ %18, %lpad23 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 br label %ehcleanup27 ehcleanup27: ; preds = %ehcleanup, %lpad20 @@ -24271,7 +24271,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i14 = load ptr, ptr %20, align 8 %vfn.i.i.i15 = getelementptr inbounds ptr, ptr %vtable.i.i.i14, i64 1 %21 = load ptr, ptr %vfn.i.i.i15, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit16 _ZN7testing7MessageD2Ev.exit16: ; preds = %ehcleanup27, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i13 @@ -24285,8 +24285,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i18, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont11, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -24300,7 +24300,7 @@ terminate.lpad.i.i: ; preds = %_ZN7testing15Assert %23 = landingpad { ptr, i32 } catch ptr null %24 = extractvalue { ptr, i32 } %23, 0 - call void @__clang_call_terminate(ptr %24) #31 + call void @__clang_call_terminate(ptr %24) #32 unreachable _ZNSt3setIiSt4lessIiESaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -24308,12 +24308,12 @@ _ZNSt3setIiSt4lessIiESaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup28: ; preds = %_ZN7testing7MessageD2Ev.exit16, %lpad16 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit16 ], [ %16, %lpad16 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup29 ehcleanup29: ; preds = %ehcleanup28, %lpad %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup28 ], [ %13, %lpad ] - call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %s) #27 + call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %s) #28 resume { ptr, i32 } %.pn.pn.pn.pn } @@ -24373,7 +24373,7 @@ if.then.i.i5: ; preds = %while.end.i.i, %if. br i1 %cmp.i4.i.i, label %if.then.i.i, label %if.else.i.i if.else.i.i: ; preds = %if.then.i.i5 - %call.i.i.i = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i) #33 + %call.i.i.i = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i) #34 %_M_storage.i.i.i.i.phi.trans.insert.i = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %call.i.i.i, i64 0, i32 1 %.pre116.i = load i32, ptr %_M_storage.i.i.i.i.phi.trans.insert.i, align 4 br label %if.end12.i.i @@ -24397,13 +24397,13 @@ lor.rhs.i.i.i: ; preds = %if.then.i.i _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSC_OT_RT0_.exit.i.i: ; preds = %lor.rhs.i.i.i, %if.then.i.i %7 = phi i1 [ true, %if.then.i.i ], [ %cmp.i.i.i.i, %lor.rhs.i.i.i ] - %call5.i.i.i.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #29 + %call5.i.i.i.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #30 to label %call5.i.i.i.i.i.i.i.i.noexc unwind label %lpad call5.i.i.i.i.i.i.i.i.noexc: ; preds = %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSC_OT_RT0_.exit.i.i %_M_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %call5.i.i.i.i.i.i.i.i2, i64 0, i32 1 store i32 %.pre.i.i.i.pre.pre.pre, ptr %_M_storage.i.i.i.i.i.i.i, align 4 - tail call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %7, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i2, ptr noundef nonnull %retval.sroa.12.0.i.ph, ptr noundef nonnull align 8 dereferenceable(32) %0) #27 + tail call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %7, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i2, ptr noundef nonnull %retval.sroa.12.0.i.ph, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %8 = load i64, ptr %_M_node_count.i.i.i.i, align 8 %inc.i.i.i = add i64 %8, 1 store i64 %inc.i.i.i, ptr %_M_node_count.i.i.i.i, align 8 @@ -24421,7 +24421,7 @@ invoke.cont: ; preds = %_ZNSt8_Rb_treeIiiSt lpad: ; preds = %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE10_M_insert_IRiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSC_OT_RT0_.exit.i.i %9 = landingpad { ptr, i32 } cleanup - tail call void @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %this) #27 + tail call void @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %this) #28 resume { ptr, i32 } %9 } @@ -24437,7 +24437,7 @@ terminate.lpad.i: ; preds = %entry %1 = landingpad { ptr, i32 } catch ptr null %2 = extractvalue { ptr, i32 } %1, 0 - tail call void @__clang_call_terminate(ptr %2) #31 + tail call void @__clang_call_terminate(ptr %2) #32 unreachable _ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEED2Ev.exit: ; preds = %entry @@ -24459,7 +24459,7 @@ terminate.lpad: ; preds = %entry %1 = landingpad { ptr, i32 } catch ptr null %2 = extractvalue { ptr, i32 } %1, 0 - tail call void @__clang_call_terminate(ptr %2) #31 + tail call void @__clang_call_terminate(ptr %2) #32 unreachable } @@ -24482,7 +24482,7 @@ while.body: ; preds = %entry, %while.body tail call void @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE(ptr noundef nonnull align 8 dereferenceable(48) %this, ptr noundef %0) %_M_left.i = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.05, i64 0, i32 2 %1 = load ptr, ptr %_M_left.i, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %__x.addr.05) #28 + tail call void @_ZdlPv(ptr noundef nonnull %__x.addr.05) #29 %cmp.not = icmp eq ptr %1, null br i1 %cmp.not, label %while.end, label %while.body, !llvm.loop !400 @@ -24502,14 +24502,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_142NonMutatingTest_IncludesWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_142NonMutatingTest_IncludesWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -24520,22 +24520,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_142NonMutatingTest_IncludesWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_142NonMutatingTest_IncludesWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -24547,14 +24547,14 @@ entry: %ref.tmp22 = alloca %"class.testing::Message", align 8 %ref.tmp25 = alloca %"class.testing::internal::AssertHelper", align 8 %ref.tmp26 = alloca %"class.std::__cxx11::basic_string", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store i32 3, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 2, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store i32 1, ptr %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, align 4 - invoke void @_ZNSt3setIiSt7greaterIiESaIiEEC2IN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiS2_EEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %s, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 + invoke void @_ZNSt3setIiSt7greaterIiESaIiEEC2IN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiS2_EEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %s, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont11 unwind label %lpad10 invoke.cont11: ; preds = %entry @@ -24587,7 +24587,7 @@ if.then.i.i.i: ; preds = %while.end.i.i.i, %i br i1 %cmp.i4.i.i.i, label %if.then.i.i, label %if.else.i.i.i if.else.i.i.i: ; preds = %if.then.i.i.i - %call.i.i.i.i = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i) #33 + %call.i.i.i.i = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i) #34 %_M_storage.i.i.i.i.phi.trans.insert.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %call.i.i.i.i, i64 0, i32 1 %.pre.i.i = load i32, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i, align 4 br label %if.end12.i.i.i @@ -24611,13 +24611,13 @@ lor.rhs.i.i.i: ; preds = %if.then.i.i _ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEE10_M_insert_IiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i: ; preds = %lor.rhs.i.i.i, %if.then.i.i %4 = phi i1 [ true, %if.then.i.i ], [ %cmp.i.i7.i.i, %lor.rhs.i.i.i ] - %call5.i.i.i.i.i.i.i.i7 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #29 + %call5.i.i.i.i.i.i.i.i7 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #30 to label %call5.i.i.i.i.i.i.i.i.noexc unwind label %lpad13 call5.i.i.i.i.i.i.i.i.noexc: ; preds = %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEE10_M_insert_IiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i %_M_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %call5.i.i.i.i.i.i.i.i7, i64 0, i32 1 store i32 4, ptr %_M_storage.i.i.i.i.i.i.i, align 4 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %4, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i7, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i) #27 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %4, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i7, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i, ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i.i) #28 %_M_node_count.i.i.i = getelementptr inbounds i8, ptr %s, i64 40 %5 = load i64, ptr %_M_node_count.i.i.i, align 8 %inc.i.i.i = add i64 %5, 1 @@ -24644,7 +24644,7 @@ if.end.i.i.i: ; preds = %while.body.i.i.i10 %cmp.i.i3.i.i.i.not = icmp sgt i32 %8, %7 %spec.select.i.i.i.idx = select i1 %cmp.i.i3.i.i.i.not, i64 0, i64 4 %__first2.sroa.0.013.i.i.i.add = add nuw nsw i64 %spec.select.i.i.i.idx, %__first2.sroa.0.013.i.i.i.idx - %call.i.i.i.i11 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef nonnull %__first1.sroa.0.014.i.i.i) #33 + %call.i.i.i.i11 = call noundef ptr @_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base(ptr noundef nonnull %__first1.sroa.0.014.i.i.i) #34 %cmp.i.i.i.i12 = icmp ne ptr %call.i.i.i.i11, %add.ptr.i.i.i.i %cmp.i1.i.i.i = icmp ne i64 %__first2.sroa.0.013.i.i.i.add, 12 %or.cond.i.i.i = select i1 %cmp.i.i.i.i12, i1 %cmp.i1.i.i.i, i1 false @@ -24684,7 +24684,7 @@ invoke.cont24: ; preds = %if.else to label %invoke.cont28 unwind label %lpad27 invoke.cont28: ; preds = %invoke.cont24 - %call29 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #27 + %call29 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 439, ptr noundef %call29) to label %invoke.cont31 unwind label %lpad30 @@ -24693,8 +24693,8 @@ invoke.cont31: ; preds = %invoke.cont28 to label %invoke.cont33 unwind label %lpad32 invoke.cont33: ; preds = %invoke.cont31 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #28 %11 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -24703,7 +24703,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %if.end lpad23: ; preds = %if.else @@ -24724,12 +24724,12 @@ lpad30: ; preds = %invoke.cont28 lpad32: ; preds = %invoke.cont31 %16 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup ehcleanup: ; preds = %lpad32, %lpad30 %.pn = phi { ptr, i32 } [ %16, %lpad32 ], [ %15, %lpad30 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #28 br label %ehcleanup34 ehcleanup34: ; preds = %ehcleanup, %lpad27 @@ -24742,7 +24742,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i15 = load ptr, ptr %17, align 8 %vfn.i.i.i16 = getelementptr inbounds ptr, ptr %vtable.i.i.i15, i64 1 %18 = load ptr, ptr %vfn.i.i.i16, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit17 _ZN7testing7MessageD2Ev.exit17: ; preds = %ehcleanup34, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i14 @@ -24756,8 +24756,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont18, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -24771,26 +24771,26 @@ terminate.lpad.i.i: ; preds = %_ZN7testing15Assert %20 = landingpad { ptr, i32 } catch ptr null %21 = extractvalue { ptr, i32 } %20, 0 - call void @__clang_call_terminate(ptr %21) #31 + call void @__clang_call_terminate(ptr %21) #32 unreachable _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void ehcleanup35: ; preds = %_ZN7testing7MessageD2Ev.exit17, %lpad23 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit17 ], [ %13, %lpad23 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup36 ehcleanup36: ; preds = %ehcleanup35, %lpad13 %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup35 ], [ %10, %lpad13 ] - call void @_ZNSt3setIiSt7greaterIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %s) #27 + call void @_ZNSt3setIiSt7greaterIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %s) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit26 _ZNSt6vectorIiSaIiEED2Ev.exit26: ; preds = %ehcleanup36, %lpad10 %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %ehcleanup36 ], [ %9, %lpad10 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn.pn.pn.pn.pn } @@ -24850,7 +24850,7 @@ if.then.i.i5: ; preds = %while.end.i.i, %if. br i1 %cmp.i4.i.i, label %if.then.i.i, label %if.else.i.i if.else.i.i: ; preds = %if.then.i.i5 - %call.i.i.i = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i) #33 + %call.i.i.i = tail call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i) #34 %_M_storage.i.i.i.i.phi.trans.insert.i = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %call.i.i.i, i64 0, i32 1 %.pre116.i = load i32, ptr %_M_storage.i.i.i.i.phi.trans.insert.i, align 4 br label %if.end12.i.i @@ -24874,13 +24874,13 @@ lor.rhs.i.i.i: ; preds = %if.then.i.i _ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEE10_M_insert_IRiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSC_OT_RT0_.exit.i.i: ; preds = %lor.rhs.i.i.i, %if.then.i.i %7 = phi i1 [ true, %if.then.i.i ], [ %cmp.i.i.i.i, %lor.rhs.i.i.i ] - %call5.i.i.i.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #29 + %call5.i.i.i.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #30 to label %call5.i.i.i.i.i.i.i.i.noexc unwind label %lpad call5.i.i.i.i.i.i.i.i.noexc: ; preds = %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEE10_M_insert_IRiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSC_OT_RT0_.exit.i.i %_M_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %call5.i.i.i.i.i.i.i.i2, i64 0, i32 1 store i32 %.pre.i.i.i.pre.pre.pre, ptr %_M_storage.i.i.i.i.i.i.i, align 4 - tail call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %7, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i2, ptr noundef nonnull %retval.sroa.12.0.i.ph, ptr noundef nonnull align 8 dereferenceable(32) %0) #27 + tail call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %7, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i2, ptr noundef nonnull %retval.sroa.12.0.i.ph, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %8 = load i64, ptr %_M_node_count.i.i.i.i, align 8 %inc.i.i.i = add i64 %8, 1 store i64 %inc.i.i.i, ptr %_M_node_count.i.i.i.i, align 8 @@ -24898,7 +24898,7 @@ invoke.cont: ; preds = %_ZNSt8_Rb_treeIiiSt lpad: ; preds = %_ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEE10_M_insert_IRiNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIiEPSt18_Rb_tree_node_baseSC_OT_RT0_.exit.i.i %9 = landingpad { ptr, i32 } cleanup - tail call void @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %this) #27 + tail call void @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %this) #28 resume { ptr, i32 } %9 } @@ -24914,7 +24914,7 @@ terminate.lpad.i: ; preds = %entry %1 = landingpad { ptr, i32 } catch ptr null %2 = extractvalue { ptr, i32 } %1, 0 - tail call void @__clang_call_terminate(ptr %2) #31 + tail call void @__clang_call_terminate(ptr %2) #32 unreachable _ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEED2Ev.exit: ; preds = %entry @@ -24936,7 +24936,7 @@ terminate.lpad: ; preds = %entry %1 = landingpad { ptr, i32 } catch ptr null %2 = extractvalue { ptr, i32 } %1, 0 - tail call void @__clang_call_terminate(ptr %2) #31 + tail call void @__clang_call_terminate(ptr %2) #32 unreachable } @@ -24953,7 +24953,7 @@ while.body: ; preds = %entry, %while.body tail call void @_ZNSt8_Rb_treeIiiSt9_IdentityIiESt7greaterIiESaIiEE8_M_eraseEPSt13_Rb_tree_nodeIiE(ptr noundef nonnull align 8 dereferenceable(48) %this, ptr noundef %0) %_M_left.i = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.05, i64 0, i32 2 %1 = load ptr, ptr %_M_left.i, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %__x.addr.05) #28 + tail call void @_ZdlPv(ptr noundef nonnull %__x.addr.05) #29 %cmp.not = icmp eq ptr %1, null br i1 %cmp.not, label %while.end, label %while.body, !llvm.loop !404 @@ -24970,14 +24970,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129NumericMutatingTest_Iota_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129NumericMutatingTest_Iota_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #29 + %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #30 invoke fastcc void @_ZN12_GLOBAL__N_119NumericMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(64) %call) to label %invoke.cont unwind label %lpad @@ -24988,7 +24988,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -25013,7 +25013,7 @@ entry: for.body.i.i: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %entry %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %entry ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -25021,7 +25021,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %0 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %0, ptr %_M_storage.i.i.i.i.i.i, align 4 - tail call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %list_) #27 + tail call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %list_) #28 %1 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %1, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -25039,7 +25039,7 @@ lpad3.i: ; preds = %for.body.i.i while.body.i.i.i: ; preds = %lpad3.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %4, %while.body.i.i.i ], [ %3, %lpad3.i ] %4 = load ptr, ptr %__cur.05.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %4, %list_ br i1 %cmp.not.i.i.i, label %lpad.body, label %while.body.i.i.i, !llvm.loop !7 @@ -25049,7 +25049,7 @@ invoke.cont: ; preds = %call5.i.i.i.i.i.i.i ret void lpad.body: ; preds = %while.body.i.i.i, %lpad3.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 resume { ptr, i32 } %2 } @@ -25063,7 +25063,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -25075,12 +25075,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e while.body.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %2, %list_.i br i1 %cmp.not.i.i.i.i, label %_ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit, label %while.body.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit: ; preds = %while.body.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -25094,7 +25094,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -25106,13 +25106,13 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, while.body.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %2, %list_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZN12_GLOBAL__N_129NumericMutatingTest_Iota_TestD2Ev.exit, label %while.body.i.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_129NumericMutatingTest_Iota_TestD2Ev.exit: ; preds = %while.body.i.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -25154,7 +25154,7 @@ _ZN4absl6c_iotaINSt7__cxx114listIiSaIiEEEiEEvRT_RKT0_.exit: ; preds = %for.body. for.body.i.i5: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %_ZN4absl6c_iotaINSt7__cxx114listIiSaIiEEEiEEvRT_RKT0_.exit %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %_ZN4absl6c_iotaINSt7__cxx114listIiSaIiEEEiEEvRT_RKT0_.exit ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i5 @@ -25162,7 +25162,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i5 %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %2 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %2, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %expected) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %expected) #28 %3 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %3, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -25180,7 +25180,7 @@ lpad3.i: ; preds = %for.body.i.i5 while.body.i.i.i: ; preds = %lpad3.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %6, %while.body.i.i.i ], [ %5, %lpad3.i ] %6 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %6, %expected br i1 %cmp.not.i.i.i, label %eh.resume, label %while.body.i.i.i, !llvm.loop !7 @@ -25244,7 +25244,7 @@ invoke.cont10: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont13, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont10 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 br label %invoke.cont13 invoke.cont13: ; preds = %cond.true.i.i, %invoke.cont10 @@ -25257,7 +25257,7 @@ invoke.cont15: ; preds = %invoke.cont13 to label %invoke.cont17 unwind label %lpad16 invoke.cont17: ; preds = %invoke.cont15 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp11) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp11) #28 %14 = load ptr, ptr %ref.tmp8, align 8 %cmp.not.i.i8 = icmp eq ptr %14, null br i1 %cmp.not.i.i8, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25266,7 +25266,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25286,7 +25286,7 @@ lpad12: ; preds = %invoke.cont13 lpad16: ; preds = %invoke.cont15 %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp11) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp11) #28 br label %ehcleanup ehcleanup: ; preds = %lpad16, %lpad12 @@ -25299,7 +25299,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %19, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %20 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -25313,8 +25313,8 @@ if.end: ; preds = %invoke.cont7, %_ZN7 br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #27 - call void @_ZdlPv(ptr noundef nonnull %21) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #28 + call void @_ZdlPv(ptr noundef nonnull %21) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25326,7 +25326,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de while.body.i.i.i16: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %while.body.i.i.i16 %__cur.05.i.i.i17 = phi ptr [ %23, %while.body.i.i.i16 ], [ %22, %_ZN7testing15AssertionResultD2Ev.exit ] %23 = load ptr, ptr %__cur.05.i.i.i17, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i17) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i17) #29 %cmp.not.i.i.i18 = icmp eq ptr %23, %expected br i1 %cmp.not.i.i.i18, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i16, !llvm.loop !7 @@ -25335,7 +25335,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i16, ehcleanup18: ; preds = %_ZN7testing7MessageD2Ev.exit13, %lpad9 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %16, %lpad9 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup19 ehcleanup19: ; preds = %ehcleanup18, %lpad6 @@ -25347,7 +25347,7 @@ ehcleanup19: ; preds = %ehcleanup18, %lpad6 while.body.i.i.i21: ; preds = %ehcleanup19, %while.body.i.i.i21 %__cur.05.i.i.i22 = phi ptr [ %25, %while.body.i.i.i21 ], [ %24, %ehcleanup19 ] %25 = load ptr, ptr %__cur.05.i.i.i22, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i22) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i22) #29 %cmp.not.i.i.i23 = icmp eq ptr %25, %expected br i1 %cmp.not.i.i.i23, label %eh.resume, label %while.body.i.i.i21, !llvm.loop !7 @@ -25366,7 +25366,7 @@ entry: br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %entry, %if.then.i.i.i @@ -25378,19 +25378,19 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %entry, %if.then.i.i while.body.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %2, %while.body.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit ] %2 = load ptr, ptr %__cur.05.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %2, %list_ br i1 %cmp.not.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i, !llvm.loop !7 _ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress noreturn nounwind memory(inaccessiblemem: write) uwtable define internal void @_ZN12_GLOBAL__N_119NumericMutatingTestD0Ev(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #9 align 2 { entry: - tail call void @llvm.trap() #31 + tail call void @llvm.trap() #32 unreachable } @@ -25418,11 +25418,11 @@ common.resume: ; preds = %ehcleanup, %lpad.i. lpad.i.i.i: ; preds = %invoke.cont.i.i.i, %entry %0 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 br label %common.resume _ZN7testing8internal33FormatForComparisonFailureMessageINSt7__cxx114listIiSaIiEEES5_EENS2_12basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit: ; preds = %invoke.cont.i.i.i - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i), !noalias !412 call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !420 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) @@ -25440,18 +25440,18 @@ invoke.cont.i.i.i7: ; preds = %.noexc lpad.i.i.i6: ; preds = %invoke.cont.i.i.i7, %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 br label %ehcleanup invoke.cont: ; preds = %invoke.cont.i.i.i7 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i.i.i4) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i.i.i4), !noalias !420 invoke void @_ZN7testing8internal9EqFailureEPKcS2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_b(ptr sret(%"class.testing::AssertionResult") align 8 %agg.result, ptr noundef %lhs_expression, ptr noundef %rhs_expression, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1, i1 noundef zeroext false) to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %_ZN7testing8internal33FormatForComparisonFailureMessageINSt7__cxx114listIiSaIiEEES5_EENS2_12basic_stringIcSt11char_traitsIcESaIcEEERKT_RKT0_.exit @@ -25462,12 +25462,12 @@ lpad: ; preds = %_ZN7testing8interna lpad2: ; preds = %invoke.cont %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp1) #28 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad.i.i.i6, %lpad2 %.pn = phi { ptr, i32 } [ %3, %lpad2 ], [ %2, %lpad ], [ %1, %lpad.i.i.i6 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %common.resume } @@ -25526,14 +25526,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_Accumulate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131NonMutatingTest_Accumulate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -25544,22 +25544,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_Accumulate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131NonMutatingTest_Accumulate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -25622,7 +25622,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont8, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont8 invoke.cont8: ; preds = %cond.true.i.i, %invoke.cont @@ -25635,7 +25635,7 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 %6 = load ptr, ptr %ref.tmp5, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25644,7 +25644,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25664,7 +25664,7 @@ lpad7: ; preds = %invoke.cont8 lpad11: ; preds = %invoke.cont10 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad7 @@ -25677,7 +25677,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %11, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %12 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -25691,8 +25691,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25700,7 +25700,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup13: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %8, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -25713,14 +25713,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NonMutatingTest_AccumulateWithBinaryOp_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NonMutatingTest_AccumulateWithBinaryOp_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -25731,22 +25731,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_143NonMutatingTest_AccumulateWithBinaryOp_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_143NonMutatingTest_AccumulateWithBinaryOp_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -25809,7 +25809,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont9, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont9 invoke.cont9: ; preds = %cond.true.i.i, %invoke.cont @@ -25822,7 +25822,7 @@ invoke.cont11: ; preds = %invoke.cont9 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #28 %6 = load ptr, ptr %ref.tmp6, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25831,7 +25831,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont13, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25851,7 +25851,7 @@ lpad8: ; preds = %invoke.cont9 lpad12: ; preds = %invoke.cont11 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad8 @@ -25864,7 +25864,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %11, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %12 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -25878,8 +25878,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -25887,7 +25887,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup14: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %8, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -25900,14 +25900,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141NonMutatingTest_AccumulateLvalueInit_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141NonMutatingTest_AccumulateLvalueInit_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -25918,22 +25918,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141NonMutatingTest_AccumulateLvalueInit_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141NonMutatingTest_AccumulateLvalueInit_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -25996,7 +25996,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont7, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont7 invoke.cont7: ; preds = %cond.true.i.i, %invoke.cont @@ -26009,7 +26009,7 @@ invoke.cont9: ; preds = %invoke.cont7 to label %invoke.cont11 unwind label %lpad10 invoke.cont11: ; preds = %invoke.cont9 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 %6 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26018,7 +26018,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont11, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26038,7 +26038,7 @@ lpad6: ; preds = %invoke.cont7 lpad10: ; preds = %invoke.cont9 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad10, %lpad6 @@ -26051,7 +26051,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %11, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %12 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -26065,8 +26065,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26074,7 +26074,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup12: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %8, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -26087,14 +26087,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_153NonMutatingTest_AccumulateWithBinaryOpLvalueInit_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_153NonMutatingTest_AccumulateWithBinaryOpLvalueInit_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -26105,22 +26105,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_153NonMutatingTest_AccumulateWithBinaryOpLvalueInit_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_153NonMutatingTest_AccumulateWithBinaryOpLvalueInit_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -26183,7 +26183,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont8, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont8 invoke.cont8: ; preds = %cond.true.i.i, %invoke.cont @@ -26196,7 +26196,7 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 %6 = load ptr, ptr %ref.tmp5, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26205,7 +26205,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26225,7 +26225,7 @@ lpad7: ; preds = %invoke.cont8 lpad11: ; preds = %invoke.cont10 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad7 @@ -26238,7 +26238,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %11, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %12 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -26252,8 +26252,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26261,7 +26261,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup13: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %8, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -26274,14 +26274,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133NonMutatingTest_InnerProduct_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133NonMutatingTest_InnerProduct_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -26292,22 +26292,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133NonMutatingTest_InnerProduct_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133NonMutatingTest_InnerProduct_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -26379,7 +26379,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont8, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont8 invoke.cont8: ; preds = %cond.true.i.i, %invoke.cont @@ -26392,7 +26392,7 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 %8 = load ptr, ptr %ref.tmp5, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26401,7 +26401,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26421,7 +26421,7 @@ lpad7: ; preds = %invoke.cont8 lpad11: ; preds = %invoke.cont10 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad7 @@ -26434,7 +26434,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %13, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %14 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -26448,8 +26448,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26457,7 +26457,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup13: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %10, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -26470,14 +26470,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_146NonMutatingTest_InnerProductWithBinaryOps_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_146NonMutatingTest_InnerProductWithBinaryOps_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -26488,22 +26488,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_146NonMutatingTest_InnerProductWithBinaryOps_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_146NonMutatingTest_InnerProductWithBinaryOps_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -26575,7 +26575,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont10, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont10 invoke.cont10: ; preds = %cond.true.i.i, %invoke.cont @@ -26588,7 +26588,7 @@ invoke.cont12: ; preds = %invoke.cont10 to label %invoke.cont14 unwind label %lpad13 invoke.cont14: ; preds = %invoke.cont12 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp8) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp8) #28 %8 = load ptr, ptr %ref.tmp7, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26597,7 +26597,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26617,7 +26617,7 @@ lpad9: ; preds = %invoke.cont10 lpad13: ; preds = %invoke.cont12 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp8) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp8) #28 br label %ehcleanup ehcleanup: ; preds = %lpad13, %lpad9 @@ -26630,7 +26630,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %13, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %14 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -26644,8 +26644,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26653,7 +26653,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup15: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %10, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -26666,14 +26666,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NonMutatingTest_InnerProductLvalueInit_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NonMutatingTest_InnerProductLvalueInit_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -26684,22 +26684,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_143NonMutatingTest_InnerProductLvalueInit_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_143NonMutatingTest_InnerProductLvalueInit_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -26771,7 +26771,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont7, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont7 invoke.cont7: ; preds = %cond.true.i.i, %invoke.cont @@ -26784,7 +26784,7 @@ invoke.cont9: ; preds = %invoke.cont7 to label %invoke.cont11 unwind label %lpad10 invoke.cont11: ; preds = %invoke.cont9 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 %8 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26793,7 +26793,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont11, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26813,7 +26813,7 @@ lpad6: ; preds = %invoke.cont7 lpad10: ; preds = %invoke.cont9 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad10, %lpad6 @@ -26826,7 +26826,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %13, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %14 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -26840,8 +26840,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26849,7 +26849,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup12: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %10, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -26862,14 +26862,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_156NonMutatingTest_InnerProductWithBinaryOpsLvalueInit_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_156NonMutatingTest_InnerProductWithBinaryOpsLvalueInit_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -26880,22 +26880,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_156NonMutatingTest_InnerProductWithBinaryOpsLvalueInit_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_156NonMutatingTest_InnerProductWithBinaryOpsLvalueInit_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -26967,7 +26967,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont9, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont9 invoke.cont9: ; preds = %cond.true.i.i, %invoke.cont @@ -26980,7 +26980,7 @@ invoke.cont11: ; preds = %invoke.cont9 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #28 %8 = load ptr, ptr %ref.tmp6, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -26989,7 +26989,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont13, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -27009,7 +27009,7 @@ lpad8: ; preds = %invoke.cont9 lpad12: ; preds = %invoke.cont11 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad8 @@ -27022,7 +27022,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i5 = load ptr, ptr %13, align 8 %vfn.i.i.i6 = getelementptr inbounds ptr, ptr %vtable.i.i.i5, i64 1 %14 = load ptr, ptr %vfn.i.i.i6, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit7 _ZN7testing7MessageD2Ev.exit7: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4 @@ -27036,8 +27036,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i8, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -27045,7 +27045,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de ehcleanup14: ; preds = %_ZN7testing7MessageD2Ev.exit7, %lpad %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit7 ], [ %10, %lpad ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 resume { ptr, i32 } %.pn.pn } @@ -27058,14 +27058,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NumericMutatingTest_AdjacentDifference_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_143NumericMutatingTest_AdjacentDifference_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #29 + %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #30 invoke fastcc void @_ZN12_GLOBAL__N_119NumericMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(64) %call) to label %invoke.cont unwind label %lpad @@ -27076,7 +27076,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -27090,7 +27090,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -27102,12 +27102,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e while.body.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %2, %list_.i br i1 %cmp.not.i.i.i.i, label %_ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit, label %while.body.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit: ; preds = %while.body.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -27121,7 +27121,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -27133,13 +27133,13 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, while.body.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %2, %list_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZN12_GLOBAL__N_143NumericMutatingTest_AdjacentDifference_TestD2Ev.exit, label %while.body.i.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_143NumericMutatingTest_AdjacentDifference_TestD2Ev.exit: ; preds = %while.body.i.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -27177,7 +27177,7 @@ if.else.i.i.i: ; preds = %entry br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i @@ -27193,30 +27193,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 1000, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %call9.i, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -27224,9 +27225,9 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit: ; preds = %if.then.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %expected, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 @@ -27280,7 +27281,7 @@ invoke.cont18: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont21, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont18 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #28 br label %invoke.cont21 invoke.cont21: ; preds = %cond.true.i.i, %invoke.cont18 @@ -27293,7 +27294,7 @@ invoke.cont23: ; preds = %invoke.cont21 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 %11 = load ptr, ptr %ref.tmp16, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -27302,7 +27303,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont25, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -27322,7 +27323,7 @@ lpad20: ; preds = %invoke.cont21 lpad24: ; preds = %invoke.cont23 %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad20 @@ -27335,7 +27336,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %16, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %17 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -27349,8 +27350,8 @@ if.end: ; preds = %invoke.cont14, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -27360,7 +27361,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i13 @@ -27368,7 +27369,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad17 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %13, %lpad17 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup27 ehcleanup27: ; preds = %ehcleanup26, %lpad13 @@ -27378,7 +27379,7 @@ ehcleanup27: ; preds = %ehcleanup26, %lpad1 br i1 %tobool.not.i.i.i15, label %eh.resume, label %if.then.i.i.i16 if.then.i.i.i16: ; preds = %ehcleanup27 - call void @_ZdlPv(ptr noundef nonnull %20) #28 + call void @_ZdlPv(ptr noundef nonnull %20) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i16, %ehcleanup27 @@ -27417,7 +27418,7 @@ if.else.i.i: ; preds = %if.end br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -27433,30 +27434,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %0, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -27496,7 +27498,7 @@ if.else.i.i.i: ; preds = %while.body br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i @@ -27512,30 +27514,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %sub, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %12, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %12) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -27561,14 +27564,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_155NumericMutatingTest_AdjacentDifferenceWithBinaryOp_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_155NumericMutatingTest_AdjacentDifferenceWithBinaryOp_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #29 + %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #30 invoke fastcc void @_ZN12_GLOBAL__N_119NumericMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(64) %call) to label %invoke.cont unwind label %lpad @@ -27579,7 +27582,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -27593,7 +27596,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -27605,12 +27608,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e while.body.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %2, %list_.i br i1 %cmp.not.i.i.i.i, label %_ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit, label %while.body.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit: ; preds = %while.body.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -27624,7 +27627,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -27636,13 +27639,13 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, while.body.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %2, %list_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZN12_GLOBAL__N_155NumericMutatingTest_AdjacentDifferenceWithBinaryOp_TestD2Ev.exit, label %while.body.i.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_155NumericMutatingTest_AdjacentDifferenceWithBinaryOp_TestD2Ev.exit: ; preds = %while.body.i.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -27680,7 +27683,7 @@ if.else.i.i.i: ; preds = %entry br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i @@ -27696,30 +27699,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 1000, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %call10.i, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -27727,9 +27731,9 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit: ; preds = %if.then.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %expected, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 @@ -27783,7 +27787,7 @@ invoke.cont19: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont22, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont19 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #28 br label %invoke.cont22 invoke.cont22: ; preds = %cond.true.i.i, %invoke.cont19 @@ -27796,7 +27800,7 @@ invoke.cont24: ; preds = %invoke.cont22 to label %invoke.cont26 unwind label %lpad25 invoke.cont26: ; preds = %invoke.cont24 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #28 %11 = load ptr, ptr %ref.tmp17, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -27805,7 +27809,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont26, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -27825,7 +27829,7 @@ lpad21: ; preds = %invoke.cont22 lpad25: ; preds = %invoke.cont24 %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #28 br label %ehcleanup ehcleanup: ; preds = %lpad25, %lpad21 @@ -27838,7 +27842,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %16, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %17 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -27852,8 +27856,8 @@ if.end: ; preds = %invoke.cont15, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -27863,7 +27867,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i13 @@ -27871,7 +27875,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup27: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad18 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %13, %lpad18 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup28 ehcleanup28: ; preds = %ehcleanup27, %lpad14 @@ -27881,7 +27885,7 @@ ehcleanup28: ; preds = %ehcleanup27, %lpad1 br i1 %tobool.not.i.i.i15, label %eh.resume, label %if.then.i.i.i16 if.then.i.i.i16: ; preds = %ehcleanup28 - call void @_ZdlPv(ptr noundef nonnull %20) #28 + call void @_ZdlPv(ptr noundef nonnull %20) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i16, %ehcleanup28 @@ -27920,7 +27924,7 @@ if.else.i.i: ; preds = %if.end br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -27936,30 +27940,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %0, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -27999,7 +28004,7 @@ if.else.i.i.i: ; preds = %while.body br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i @@ -28015,30 +28020,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %mul.i, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %12, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %12) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -28064,14 +28070,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_135NumericMutatingTest_PartialSum_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_135NumericMutatingTest_PartialSum_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #29 + %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #30 invoke fastcc void @_ZN12_GLOBAL__N_119NumericMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(64) %call) to label %invoke.cont unwind label %lpad @@ -28082,7 +28088,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -28096,7 +28102,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -28108,12 +28114,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e while.body.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %2, %list_.i br i1 %cmp.not.i.i.i.i, label %_ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit, label %while.body.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit: ; preds = %while.body.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -28127,7 +28133,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -28139,13 +28145,13 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, while.body.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %2, %list_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZN12_GLOBAL__N_135NumericMutatingTest_PartialSum_TestD2Ev.exit, label %while.body.i.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_135NumericMutatingTest_PartialSum_TestD2Ev.exit: ; preds = %while.body.i.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -28183,7 +28189,7 @@ if.else.i.i.i: ; preds = %entry br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i @@ -28199,30 +28205,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 1000, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %call9.i, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -28230,9 +28237,9 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit: ; preds = %if.then.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %expected, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 @@ -28286,7 +28293,7 @@ invoke.cont18: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont21, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont18 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #28 br label %invoke.cont21 invoke.cont21: ; preds = %cond.true.i.i, %invoke.cont18 @@ -28299,7 +28306,7 @@ invoke.cont23: ; preds = %invoke.cont21 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 %11 = load ptr, ptr %ref.tmp16, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -28308,7 +28315,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont25, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -28328,7 +28335,7 @@ lpad20: ; preds = %invoke.cont21 lpad24: ; preds = %invoke.cont23 %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad20 @@ -28341,7 +28348,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %16, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %17 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -28355,8 +28362,8 @@ if.end: ; preds = %invoke.cont14, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -28366,7 +28373,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i13 @@ -28374,7 +28381,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad17 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %13, %lpad17 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup27 ehcleanup27: ; preds = %ehcleanup26, %lpad13 @@ -28384,7 +28391,7 @@ ehcleanup27: ; preds = %ehcleanup26, %lpad1 br i1 %tobool.not.i.i.i15, label %eh.resume, label %if.then.i.i.i16 if.then.i.i.i16: ; preds = %ehcleanup27 - call void @_ZdlPv(ptr noundef nonnull %20) #28 + call void @_ZdlPv(ptr noundef nonnull %20) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i16, %ehcleanup27 @@ -28423,7 +28430,7 @@ if.else.i.i: ; preds = %if.end br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -28439,30 +28446,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %0, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -28472,16 +28480,16 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIP _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i %5 = phi ptr [ %incdec.ptr.i.i, %if.then.i.i ], [ %incdec.ptr.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ] %6 = load ptr, ptr %__first.coerce, align 8 - %cmp.i2.not49 = icmp eq ptr %6, %__last.coerce - br i1 %cmp.i2.not49, label %return, label %while.body + %cmp.i2.not50 = icmp eq ptr %6, %__last.coerce + br i1 %cmp.i2.not50, label %return, label %while.body -while.body: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 - %7 = phi ptr [ %13, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %5, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] - %8 = phi ptr [ %14, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %6, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] - %__value.050 = phi i32 [ %add, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %0, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] +while.body: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 + %7 = phi ptr [ %13, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %5, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] + %8 = phi ptr [ %14, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %6, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] + %__value.051 = phi i32 [ %add, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %0, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] %_M_storage.i.i3 = getelementptr inbounds %"struct.std::_List_node", ptr %8, i64 0, i32 1 %9 = load i32, ptr %_M_storage.i.i3, align 4 - %add = add nsw i32 %9, %__value.050 + %add = add nsw i32 %9, %__value.051 %10 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i6 = icmp eq ptr %7, %10 br i1 %cmp.not.i.i6, label %if.else.i.i9, label %if.then.i.i7 @@ -28491,7 +28499,7 @@ if.then.i.i7: ; preds = %while.body %11 = load ptr, ptr %_M_finish.i.i, align 8 %incdec.ptr.i.i8 = getelementptr inbounds i32, ptr %11, i64 1 store ptr %incdec.ptr.i.i8, ptr %_M_finish.i.i, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 if.else.i.i9: ; preds = %while.body %12 = load ptr, ptr %__result.coerce, align 8 @@ -28499,10 +28507,10 @@ if.else.i.i9: ; preds = %while.body %sub.ptr.rhs.cast.i.i.i.i.i11 = ptrtoint ptr %12 to i64 %sub.ptr.sub.i.i.i.i.i12 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i10, %sub.ptr.rhs.cast.i.i.i.i.i11 %cmp.i.i.i.i13 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i12, 9223372036854775804 - br i1 %cmp.i.i.i.i13, label %if.then.i.i.i.i37, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 + br i1 %cmp.i.i.i.i13, label %if.then.i.i.i.i38, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 -if.then.i.i.i.i37: ; preds = %if.else.i.i9 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i38: ; preds = %if.else.i.i9 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14: ; preds = %if.else.i.i9 @@ -28518,43 +28526,44 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14: ; preds = %if.else.i.i9 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 %mul.i.i.i.i.i.i24 = shl nuw nsw i64 %cond.i.i.i.i21, 2 - %call5.i.i.i.i.i.i25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i24) #29 + %call5.i.i.i.i.i.i25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i24) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 %cond.i10.i.i.i27 = phi ptr [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 ] %add.ptr.i.i.i28 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %sub.ptr.div.i.i.i.i.i15 store i32 %add, ptr %add.ptr.i.i.i28, align 4 - %cmp.i.i.i11.i.i.i29 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i15, 0 - br i1 %cmp.i.i.i11.i.i.i29, label %if.then.i.i.i12.i.i.i36, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 + %cmp.i.i.i11.i.i.i29 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i12, 0 + br i1 %cmp.i.i.i11.i.i.i29, label %if.then.i.i.i12.i.i.i37, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 -if.then.i.i.i12.i.i.i36: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 +if.then.i.i.i12.i.i.i37: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i27, ptr align 4 %12, i64 %sub.ptr.sub.i.i.i.i.i12, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30: ; preds = %if.then.i.i.i12.i.i.i36, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 - %incdec.ptr.i.i.i31 = getelementptr inbounds i32, ptr %add.ptr.i.i.i28, i64 1 - %tobool.not.i.i.i.i32 = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i.i32, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34, label %if.then.i21.i.i.i33 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30: ; preds = %if.then.i.i.i12.i.i.i37, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 + %add.ptr.i.i.i.i.i.i31 = getelementptr inbounds i8, ptr %cond.i10.i.i.i27, i64 %sub.ptr.sub.i.i.i.i.i12 + %incdec.ptr.i.i.i32 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i31, i64 1 + %tobool.not.i.i.i.i33 = icmp eq ptr %12, null + br i1 %tobool.not.i.i.i.i33, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35, label %if.then.i20.i.i.i34 -if.then.i21.i.i.i33: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 - tail call void @_ZdlPv(ptr noundef nonnull %12) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 +if.then.i20.i.i.i34: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 + tail call void @_ZdlPv(ptr noundef nonnull %12) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34: ; preds = %if.then.i21.i.i.i33, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35: ; preds = %if.then.i20.i.i.i34, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 store ptr %cond.i10.i.i.i27, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i31, ptr %_M_finish.i.i, align 8 - %add.ptr19.i.i.i35 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %cond.i.i.i.i21 - store ptr %add.ptr19.i.i.i35, ptr %_M_end_of_storage.i.i, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 + store ptr %incdec.ptr.i.i.i32, ptr %_M_finish.i.i, align 8 + %add.ptr19.i.i.i36 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %cond.i.i.i.i21 + store ptr %add.ptr19.i.i.i36, ptr %_M_end_of_storage.i.i, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38: ; preds = %if.then.i.i7, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 - %13 = phi ptr [ %incdec.ptr.i.i8, %if.then.i.i7 ], [ %incdec.ptr.i.i.i31, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 ] +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39: ; preds = %if.then.i.i7, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 + %13 = phi ptr [ %incdec.ptr.i.i8, %if.then.i.i7 ], [ %incdec.ptr.i.i.i32, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 ] %14 = load ptr, ptr %8, align 8 %cmp.i2.not = icmp eq ptr %14, %__last.coerce br i1 %cmp.i2.not, label %return, label %while.body, !llvm.loop !449 -return: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %entry +return: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %entry ret ptr %__result.coerce } @@ -28567,14 +28576,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_147NumericMutatingTest_PartialSumWithBinaryOp_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_147NumericMutatingTest_PartialSumWithBinaryOp_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #29 + %call = tail call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #30 invoke fastcc void @_ZN12_GLOBAL__N_119NumericMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(64) %call) to label %invoke.cont unwind label %lpad @@ -28585,7 +28594,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -28599,7 +28608,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -28611,12 +28620,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e while.body.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %2, %list_.i br i1 %cmp.not.i.i.i.i, label %_ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit, label %while.body.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_119NumericMutatingTestD2Ev.exit: ; preds = %while.body.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -28630,7 +28639,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -28642,13 +28651,13 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, while.body.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %2, %while.body.i.i.i.i.i ], [ %1, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i ] %2 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %2, %list_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZN12_GLOBAL__N_147NumericMutatingTest_PartialSumWithBinaryOp_TestD2Ev.exit, label %while.body.i.i.i.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_147NumericMutatingTest_PartialSumWithBinaryOp_TestD2Ev.exit: ; preds = %while.body.i.i.i.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -28686,7 +28695,7 @@ if.else.i.i.i: ; preds = %entry br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i @@ -28702,30 +28711,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 1000, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %call10.i, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -28733,9 +28743,9 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit: ; preds = %if.then.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %expected, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 @@ -28789,7 +28799,7 @@ invoke.cont19: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont22, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont19 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #28 br label %invoke.cont22 invoke.cont22: ; preds = %cond.true.i.i, %invoke.cont19 @@ -28802,7 +28812,7 @@ invoke.cont24: ; preds = %invoke.cont22 to label %invoke.cont26 unwind label %lpad25 invoke.cont26: ; preds = %invoke.cont24 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #28 %11 = load ptr, ptr %ref.tmp17, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -28811,7 +28821,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont26, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -28831,7 +28841,7 @@ lpad21: ; preds = %invoke.cont22 lpad25: ; preds = %invoke.cont24 %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #28 br label %ehcleanup ehcleanup: ; preds = %lpad25, %lpad21 @@ -28844,7 +28854,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %16, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %17 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -28858,8 +28868,8 @@ if.end: ; preds = %invoke.cont15, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -28869,7 +28879,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i13 @@ -28877,7 +28887,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup27: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad18 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %13, %lpad18 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup28 ehcleanup28: ; preds = %ehcleanup27, %lpad14 @@ -28887,7 +28897,7 @@ ehcleanup28: ; preds = %ehcleanup27, %lpad1 br i1 %tobool.not.i.i.i15, label %eh.resume, label %if.then.i.i.i16 if.then.i.i.i16: ; preds = %ehcleanup28 - call void @_ZdlPv(ptr noundef nonnull %20) #28 + call void @_ZdlPv(ptr noundef nonnull %20) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i16, %ehcleanup28 @@ -28926,7 +28936,7 @@ if.else.i.i: ; preds = %if.end br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -28942,30 +28952,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %0, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -28975,16 +28986,16 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIP _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i %5 = phi ptr [ %incdec.ptr.i.i, %if.then.i.i ], [ %incdec.ptr.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ] %6 = load ptr, ptr %__first.coerce, align 8 - %cmp.i2.not49 = icmp eq ptr %6, %__last.coerce - br i1 %cmp.i2.not49, label %return, label %while.body + %cmp.i2.not50 = icmp eq ptr %6, %__last.coerce + br i1 %cmp.i2.not50, label %return, label %while.body -while.body: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 - %7 = phi ptr [ %13, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %5, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] - %8 = phi ptr [ %14, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %6, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] - %__value.050 = phi i32 [ %mul.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %0, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] +while.body: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 + %7 = phi ptr [ %13, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %5, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] + %8 = phi ptr [ %14, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %6, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] + %__value.051 = phi i32 [ %mul.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %0, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] %_M_storage.i.i3 = getelementptr inbounds %"struct.std::_List_node", ptr %8, i64 0, i32 1 %9 = load i32, ptr %_M_storage.i.i3, align 4 - %mul.i = mul nsw i32 %9, %__value.050 + %mul.i = mul nsw i32 %9, %__value.051 %10 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i6 = icmp eq ptr %7, %10 br i1 %cmp.not.i.i6, label %if.else.i.i9, label %if.then.i.i7 @@ -28994,7 +29005,7 @@ if.then.i.i7: ; preds = %while.body %11 = load ptr, ptr %_M_finish.i.i, align 8 %incdec.ptr.i.i8 = getelementptr inbounds i32, ptr %11, i64 1 store ptr %incdec.ptr.i.i8, ptr %_M_finish.i.i, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 if.else.i.i9: ; preds = %while.body %12 = load ptr, ptr %__result.coerce, align 8 @@ -29002,10 +29013,10 @@ if.else.i.i9: ; preds = %while.body %sub.ptr.rhs.cast.i.i.i.i.i11 = ptrtoint ptr %12 to i64 %sub.ptr.sub.i.i.i.i.i12 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i10, %sub.ptr.rhs.cast.i.i.i.i.i11 %cmp.i.i.i.i13 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i12, 9223372036854775804 - br i1 %cmp.i.i.i.i13, label %if.then.i.i.i.i37, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 + br i1 %cmp.i.i.i.i13, label %if.then.i.i.i.i38, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 -if.then.i.i.i.i37: ; preds = %if.else.i.i9 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i38: ; preds = %if.else.i.i9 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14: ; preds = %if.else.i.i9 @@ -29021,43 +29032,44 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14: ; preds = %if.else.i.i9 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 %mul.i.i.i.i.i.i24 = shl nuw nsw i64 %cond.i.i.i.i21, 2 - %call5.i.i.i.i.i.i25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i24) #29 + %call5.i.i.i.i.i.i25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i24) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 %cond.i10.i.i.i27 = phi ptr [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 ] %add.ptr.i.i.i28 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %sub.ptr.div.i.i.i.i.i15 store i32 %mul.i, ptr %add.ptr.i.i.i28, align 4 - %cmp.i.i.i11.i.i.i29 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i15, 0 - br i1 %cmp.i.i.i11.i.i.i29, label %if.then.i.i.i12.i.i.i36, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 + %cmp.i.i.i11.i.i.i29 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i12, 0 + br i1 %cmp.i.i.i11.i.i.i29, label %if.then.i.i.i12.i.i.i37, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 -if.then.i.i.i12.i.i.i36: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 +if.then.i.i.i12.i.i.i37: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i27, ptr align 4 %12, i64 %sub.ptr.sub.i.i.i.i.i12, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30: ; preds = %if.then.i.i.i12.i.i.i36, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 - %incdec.ptr.i.i.i31 = getelementptr inbounds i32, ptr %add.ptr.i.i.i28, i64 1 - %tobool.not.i.i.i.i32 = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i.i32, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34, label %if.then.i21.i.i.i33 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30: ; preds = %if.then.i.i.i12.i.i.i37, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 + %add.ptr.i.i.i.i.i.i31 = getelementptr inbounds i8, ptr %cond.i10.i.i.i27, i64 %sub.ptr.sub.i.i.i.i.i12 + %incdec.ptr.i.i.i32 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i31, i64 1 + %tobool.not.i.i.i.i33 = icmp eq ptr %12, null + br i1 %tobool.not.i.i.i.i33, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35, label %if.then.i20.i.i.i34 -if.then.i21.i.i.i33: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 - tail call void @_ZdlPv(ptr noundef nonnull %12) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 +if.then.i20.i.i.i34: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 + tail call void @_ZdlPv(ptr noundef nonnull %12) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34: ; preds = %if.then.i21.i.i.i33, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35: ; preds = %if.then.i20.i.i.i34, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 store ptr %cond.i10.i.i.i27, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i31, ptr %_M_finish.i.i, align 8 - %add.ptr19.i.i.i35 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %cond.i.i.i.i21 - store ptr %add.ptr19.i.i.i35, ptr %_M_end_of_storage.i.i, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 + store ptr %incdec.ptr.i.i.i32, ptr %_M_finish.i.i, align 8 + %add.ptr19.i.i.i36 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %cond.i.i.i.i21 + store ptr %add.ptr19.i.i.i36, ptr %_M_end_of_storage.i.i, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38: ; preds = %if.then.i.i7, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 - %13 = phi ptr [ %incdec.ptr.i.i8, %if.then.i.i7 ], [ %incdec.ptr.i.i.i31, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 ] +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39: ; preds = %if.then.i.i7, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 + %13 = phi ptr [ %incdec.ptr.i.i8, %if.then.i.i7 ], [ %incdec.ptr.i.i.i32, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 ] %14 = load ptr, ptr %8, align 8 %cmp.i2.not = icmp eq ptr %14, %__last.coerce br i1 %cmp.i2.not, label %return, label %while.body, !llvm.loop !455 -return: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %entry +return: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %entry ret ptr %__result.coerce } @@ -29070,14 +29082,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133NonMutatingTest_LinearSearch_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133NonMutatingTest_LinearSearch_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -29088,22 +29100,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133NonMutatingTest_LinearSearch_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133NonMutatingTest_LinearSearch_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -29153,7 +29165,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont8 unwind label %lpad7 invoke.cont8: ; preds = %invoke.cont - %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 529, ptr noundef %call9) to label %invoke.cont11 unwind label %lpad10 @@ -29162,8 +29174,8 @@ invoke.cont11: ; preds = %invoke.cont8 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 %3 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %3, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -29172,7 +29184,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %3, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %4 = load ptr, ptr %vfn.i.i.i, align 8 - call void %4(ptr noundef nonnull align 8 dereferenceable(128) %3) #27 + call void %4(ptr noundef nonnull align 8 dereferenceable(128) %3) #28 br label %if.end lpad: ; preds = %if.else @@ -29193,12 +29205,12 @@ lpad10: ; preds = %invoke.cont8 lpad12: ; preds = %invoke.cont11 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad10 %.pn = phi { ptr, i32 } [ %8, %lpad12 ], [ %7, %lpad10 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 br label %ehcleanup14 ehcleanup14: ; preds = %ehcleanup, %lpad7 @@ -29211,7 +29223,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %9, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %10 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -29225,8 +29237,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i15, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end.thread, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -29264,7 +29276,7 @@ invoke.cont27: ; preds = %if.else24 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont27 - %call32 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #27 + %call32 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 530, ptr noundef %call32) to label %invoke.cont34 unwind label %lpad33 @@ -29273,8 +29285,8 @@ invoke.cont34: ; preds = %invoke.cont31 to label %invoke.cont36 unwind label %lpad35 invoke.cont36: ; preds = %invoke.cont34 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #28 %14 = load ptr, ptr %ref.tmp25, align 8 %cmp.not.i.i29 = icmp eq ptr %14, null br i1 %cmp.not.i.i29, label %if.end40, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30 @@ -29283,7 +29295,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i31 = load ptr, ptr %14, align 8 %vfn.i.i.i32 = getelementptr inbounds ptr, ptr %vtable.i.i.i31, i64 1 %15 = load ptr, ptr %vfn.i.i.i32, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %if.end40 lpad26: ; preds = %if.else24 @@ -29304,12 +29316,12 @@ lpad33: ; preds = %invoke.cont31 lpad35: ; preds = %invoke.cont34 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 br label %ehcleanup38 ehcleanup38: ; preds = %lpad35, %lpad33 %.pn4 = phi { ptr, i32 } [ %19, %lpad35 ], [ %18, %lpad33 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #28 br label %ehcleanup39 ehcleanup39: ; preds = %ehcleanup38, %lpad30 @@ -29322,7 +29334,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i36 = load ptr, ptr %20, align 8 %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 %21 = load ptr, ptr %vfn.i.i.i37, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit38 _ZN7testing7MessageD2Ev.exit38: ; preds = %ehcleanup39, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -29336,8 +29348,8 @@ if.end40: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i40, label %_ZN7testing15AssertionResultD2Ev.exit42, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %if.end40 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr58) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr58) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr58) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr58) #29 br label %_ZN7testing15AssertionResultD2Ev.exit42 _ZN7testing15AssertionResultD2Ev.exit42: ; preds = %if.end40.thread, %if.end40, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 @@ -29348,7 +29360,7 @@ _ZN7testing15AssertionResultD2Ev.exit42: ; preds = %if.end40.thread, %i eh.resume: ; preds = %lpad26, %_ZN7testing7MessageD2Ev.exit38, %lpad, %_ZN7testing7MessageD2Ev.exit13 %gtest_ar_16.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit13 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_16, %_ZN7testing7MessageD2Ev.exit38 ], [ %gtest_ar_16, %lpad26 ] %.pn4.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %5, %lpad ], [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit38 ], [ %16, %lpad26 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #28 resume { ptr, i32 } %.pn4.pn.pn.pn } @@ -29361,14 +29373,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126NonMutatingTest_AllOf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126NonMutatingTest_AllOf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -29379,22 +29391,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126NonMutatingTest_AllOf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126NonMutatingTest_AllOf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -29534,7 +29546,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont8 unwind label %lpad7 invoke.cont8: ; preds = %invoke.cont - %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 535, ptr noundef %call9) to label %invoke.cont11 unwind label %lpad10 @@ -29543,8 +29555,8 @@ invoke.cont11: ; preds = %invoke.cont8 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 %9 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %9, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -29553,7 +29565,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %9, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %if.end lpad: ; preds = %if.else @@ -29574,12 +29586,12 @@ lpad10: ; preds = %invoke.cont8 lpad12: ; preds = %invoke.cont11 %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad10 %.pn = phi { ptr, i32 } [ %14, %lpad12 ], [ %13, %lpad10 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 br label %ehcleanup14 ehcleanup14: ; preds = %ehcleanup, %lpad7 @@ -29592,7 +29604,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i15 = load ptr, ptr %15, align 8 %vfn.i.i.i16 = getelementptr inbounds ptr, ptr %vtable.i.i.i15, i64 1 %16 = load ptr, ptr %vfn.i.i.i16, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %_ZN7testing7MessageD2Ev.exit17 _ZN7testing7MessageD2Ev.exit17: ; preds = %ehcleanup14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i14 @@ -29606,8 +29618,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %"_ZN4absl8c_all_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_126NonMutatingTest_AllOf_Test8TestBodyEvE3$_0EEbRKT_OT0_.exit", %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -29733,7 +29745,7 @@ invoke.cont26: ; preds = %if.else23 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont26 - %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 536, ptr noundef %call31) to label %invoke.cont33 unwind label %lpad32 @@ -29742,8 +29754,8 @@ invoke.cont33: ; preds = %invoke.cont30 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 %25 = load ptr, ptr %ref.tmp24, align 8 %cmp.not.i.i71 = icmp eq ptr %25, null br i1 %cmp.not.i.i71, label %if.end39, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -29752,7 +29764,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i73 = load ptr, ptr %25, align 8 %vfn.i.i.i74 = getelementptr inbounds ptr, ptr %vtable.i.i.i73, i64 1 %26 = load ptr, ptr %vfn.i.i.i74, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %if.end39 lpad25: ; preds = %if.else23 @@ -29773,12 +29785,12 @@ lpad32: ; preds = %invoke.cont30 lpad34: ; preds = %invoke.cont33 %30 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad32 %.pn5 = phi { ptr, i32 } [ %30, %lpad34 ], [ %29, %lpad32 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 br label %ehcleanup38 ehcleanup38: ; preds = %ehcleanup37, %lpad29 @@ -29791,7 +29803,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i78 = load ptr, ptr %31, align 8 %vfn.i.i.i79 = getelementptr inbounds ptr, ptr %vtable.i.i.i78, i64 1 %32 = load ptr, ptr %vfn.i.i.i79, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %_ZN7testing7MessageD2Ev.exit80 _ZN7testing7MessageD2Ev.exit80: ; preds = %ehcleanup38, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 @@ -29805,8 +29817,8 @@ if.end39: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i82, label %_ZN7testing15AssertionResultD2Ev.exit84, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83: ; preds = %if.end39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr92) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr92) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr92) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr92) #29 br label %_ZN7testing15AssertionResultD2Ev.exit84 _ZN7testing15AssertionResultD2Ev.exit84: ; preds = %"_ZN4absl8c_all_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_126NonMutatingTest_AllOf_Test8TestBodyEvE3$_1EEbRKT_OT0_.exit", %"_ZN4absl8c_all_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_126NonMutatingTest_AllOf_Test8TestBodyEvE3$_1EEbRKT_OT0_.exit.thread", %if.end39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 @@ -29817,7 +29829,7 @@ _ZN7testing15AssertionResultD2Ev.exit84: ; preds = %"_ZN4absl8c_all_ofI eh.resume: ; preds = %lpad25, %_ZN7testing7MessageD2Ev.exit80, %lpad, %_ZN7testing7MessageD2Ev.exit17 %gtest_ar_16.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit17 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_16, %_ZN7testing7MessageD2Ev.exit80 ], [ %gtest_ar_16, %lpad25 ] %.pn5.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit17 ], [ %11, %lpad ], [ %.pn5.pn, %_ZN7testing7MessageD2Ev.exit80 ], [ %27, %lpad25 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #28 resume { ptr, i32 } %.pn5.pn.pn.pn } @@ -29830,14 +29842,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126NonMutatingTest_AnyOf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126NonMutatingTest_AnyOf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -29848,22 +29860,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126NonMutatingTest_AnyOf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126NonMutatingTest_AnyOf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -30003,7 +30015,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont8 unwind label %lpad7 invoke.cont8: ; preds = %invoke.cont - %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 541, ptr noundef %call9) to label %invoke.cont11 unwind label %lpad10 @@ -30012,8 +30024,8 @@ invoke.cont11: ; preds = %invoke.cont8 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 %9 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %9, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -30022,7 +30034,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %9, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %if.end lpad: ; preds = %if.else @@ -30043,12 +30055,12 @@ lpad10: ; preds = %invoke.cont8 lpad12: ; preds = %invoke.cont11 %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad10 %.pn = phi { ptr, i32 } [ %14, %lpad12 ], [ %13, %lpad10 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 br label %ehcleanup14 ehcleanup14: ; preds = %ehcleanup, %lpad7 @@ -30061,7 +30073,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i15 = load ptr, ptr %15, align 8 %vfn.i.i.i16 = getelementptr inbounds ptr, ptr %vtable.i.i.i15, i64 1 %16 = load ptr, ptr %vfn.i.i.i16, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %_ZN7testing7MessageD2Ev.exit17 _ZN7testing7MessageD2Ev.exit17: ; preds = %ehcleanup14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i14 @@ -30075,8 +30087,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %"_ZN4absl8c_any_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_126NonMutatingTest_AnyOf_Test8TestBodyEvE3$_0EEbRKT_OT0_.exit", %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -30202,7 +30214,7 @@ invoke.cont26: ; preds = %if.else23 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont26 - %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 542, ptr noundef %call31) to label %invoke.cont33 unwind label %lpad32 @@ -30211,8 +30223,8 @@ invoke.cont33: ; preds = %invoke.cont30 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 %25 = load ptr, ptr %ref.tmp24, align 8 %cmp.not.i.i71 = icmp eq ptr %25, null br i1 %cmp.not.i.i71, label %if.end39, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -30221,7 +30233,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i73 = load ptr, ptr %25, align 8 %vfn.i.i.i74 = getelementptr inbounds ptr, ptr %vtable.i.i.i73, i64 1 %26 = load ptr, ptr %vfn.i.i.i74, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %if.end39 lpad25: ; preds = %if.else23 @@ -30242,12 +30254,12 @@ lpad32: ; preds = %invoke.cont30 lpad34: ; preds = %invoke.cont33 %30 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad32 %.pn5 = phi { ptr, i32 } [ %30, %lpad34 ], [ %29, %lpad32 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 br label %ehcleanup38 ehcleanup38: ; preds = %ehcleanup37, %lpad29 @@ -30260,7 +30272,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i78 = load ptr, ptr %31, align 8 %vfn.i.i.i79 = getelementptr inbounds ptr, ptr %vtable.i.i.i78, i64 1 %32 = load ptr, ptr %vfn.i.i.i79, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %_ZN7testing7MessageD2Ev.exit80 _ZN7testing7MessageD2Ev.exit80: ; preds = %ehcleanup38, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 @@ -30274,8 +30286,8 @@ if.end39: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i82, label %_ZN7testing15AssertionResultD2Ev.exit84, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83: ; preds = %if.end39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr95) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr95) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr95) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr95) #29 br label %_ZN7testing15AssertionResultD2Ev.exit84 _ZN7testing15AssertionResultD2Ev.exit84: ; preds = %"_ZN4absl8c_any_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_126NonMutatingTest_AnyOf_Test8TestBodyEvE3$_1EEbRKT_OT0_.exit.thread", %"_ZN4absl8c_any_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_126NonMutatingTest_AnyOf_Test8TestBodyEvE3$_1EEbRKT_OT0_.exit", %if.end39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 @@ -30286,7 +30298,7 @@ _ZN7testing15AssertionResultD2Ev.exit84: ; preds = %"_ZN4absl8c_any_ofI eh.resume: ; preds = %lpad25, %_ZN7testing7MessageD2Ev.exit80, %lpad, %_ZN7testing7MessageD2Ev.exit17 %gtest_ar_16.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit17 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_16, %_ZN7testing7MessageD2Ev.exit80 ], [ %gtest_ar_16, %lpad25 ] %.pn5.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit17 ], [ %11, %lpad ], [ %.pn5.pn, %_ZN7testing7MessageD2Ev.exit80 ], [ %27, %lpad25 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #28 resume { ptr, i32 } %.pn5.pn.pn.pn } @@ -30299,14 +30311,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127NonMutatingTest_NoneOf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127NonMutatingTest_NoneOf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -30317,22 +30329,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127NonMutatingTest_NoneOf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127NonMutatingTest_NoneOf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -30472,7 +30484,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont8 unwind label %lpad7 invoke.cont8: ; preds = %invoke.cont - %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 547, ptr noundef %call9) to label %invoke.cont11 unwind label %lpad10 @@ -30481,8 +30493,8 @@ invoke.cont11: ; preds = %invoke.cont8 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 %9 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %9, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -30491,7 +30503,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %9, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %if.end lpad: ; preds = %if.else @@ -30512,12 +30524,12 @@ lpad10: ; preds = %invoke.cont8 lpad12: ; preds = %invoke.cont11 %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad10 %.pn = phi { ptr, i32 } [ %14, %lpad12 ], [ %13, %lpad10 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 br label %ehcleanup14 ehcleanup14: ; preds = %ehcleanup, %lpad7 @@ -30530,7 +30542,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i15 = load ptr, ptr %15, align 8 %vfn.i.i.i16 = getelementptr inbounds ptr, ptr %vtable.i.i.i15, i64 1 %16 = load ptr, ptr %vfn.i.i.i16, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %_ZN7testing7MessageD2Ev.exit17 _ZN7testing7MessageD2Ev.exit17: ; preds = %ehcleanup14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i14 @@ -30544,8 +30556,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %"_ZN4absl9c_none_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_127NonMutatingTest_NoneOf_Test8TestBodyEvE3$_0EEbRKT_OT0_.exit", %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -30671,7 +30683,7 @@ invoke.cont26: ; preds = %if.else23 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont26 - %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + %call31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 548, ptr noundef %call31) to label %invoke.cont33 unwind label %lpad32 @@ -30680,8 +30692,8 @@ invoke.cont33: ; preds = %invoke.cont30 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 %25 = load ptr, ptr %ref.tmp24, align 8 %cmp.not.i.i71 = icmp eq ptr %25, null br i1 %cmp.not.i.i71, label %if.end39, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -30690,7 +30702,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i73 = load ptr, ptr %25, align 8 %vfn.i.i.i74 = getelementptr inbounds ptr, ptr %vtable.i.i.i73, i64 1 %26 = load ptr, ptr %vfn.i.i.i74, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %if.end39 lpad25: ; preds = %if.else23 @@ -30711,12 +30723,12 @@ lpad32: ; preds = %invoke.cont30 lpad34: ; preds = %invoke.cont33 %30 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 br label %ehcleanup37 ehcleanup37: ; preds = %lpad34, %lpad32 %.pn5 = phi { ptr, i32 } [ %30, %lpad34 ], [ %29, %lpad32 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp28) #28 br label %ehcleanup38 ehcleanup38: ; preds = %ehcleanup37, %lpad29 @@ -30729,7 +30741,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i78 = load ptr, ptr %31, align 8 %vfn.i.i.i79 = getelementptr inbounds ptr, ptr %vtable.i.i.i78, i64 1 %32 = load ptr, ptr %vfn.i.i.i79, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %_ZN7testing7MessageD2Ev.exit80 _ZN7testing7MessageD2Ev.exit80: ; preds = %ehcleanup38, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 @@ -30743,8 +30755,8 @@ if.end39: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i82, label %_ZN7testing15AssertionResultD2Ev.exit84, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83: ; preds = %if.end39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr92) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr92) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr92) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr92) #29 br label %_ZN7testing15AssertionResultD2Ev.exit84 _ZN7testing15AssertionResultD2Ev.exit84: ; preds = %"_ZN4absl9c_none_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_127NonMutatingTest_NoneOf_Test8TestBodyEvE3$_1EEbRKT_OT0_.exit", %"_ZN4absl9c_none_ofISt6vectorIiSaIiEEZN12_GLOBAL__N_127NonMutatingTest_NoneOf_Test8TestBodyEvE3$_1EEbRKT_OT0_.exit.thread", %if.end39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 @@ -30755,7 +30767,7 @@ _ZN7testing15AssertionResultD2Ev.exit84: ; preds = %"_ZN4absl9c_none_of eh.resume: ; preds = %lpad25, %_ZN7testing7MessageD2Ev.exit80, %lpad, %_ZN7testing7MessageD2Ev.exit17 %gtest_ar_16.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit17 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_16, %_ZN7testing7MessageD2Ev.exit80 ], [ %gtest_ar_16, %lpad25 ] %.pn5.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit17 ], [ %11, %lpad ], [ %.pn5.pn, %_ZN7testing7MessageD2Ev.exit80 ], [ %27, %lpad25 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_16.sink) #28 resume { ptr, i32 } %.pn5.pn.pn.pn } @@ -30768,14 +30780,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_138NonMutatingTest_MinMaxElementLess_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_138NonMutatingTest_MinMaxElementLess_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -30786,22 +30798,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_138NonMutatingTest_MinMaxElementLess_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_138NonMutatingTest_MinMaxElementLess_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -30914,7 +30926,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont - %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + %call14 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 554, ptr noundef %call14) to label %invoke.cont16 unwind label %lpad15 @@ -30923,8 +30935,8 @@ invoke.cont16: ; preds = %invoke.cont13 to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont16 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 %14 = load ptr, ptr %ref.tmp9, align 8 %cmp.not.i.i = icmp eq ptr %14, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -30933,7 +30945,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %if.end lpad: ; preds = %if.else @@ -30954,12 +30966,12 @@ lpad15: ; preds = %invoke.cont13 lpad17: ; preds = %invoke.cont16 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) #28 br label %ehcleanup ehcleanup: ; preds = %lpad17, %lpad15 %.pn = phi { ptr, i32 } [ %19, %lpad17 ], [ %18, %lpad15 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp11) #28 br label %ehcleanup19 ehcleanup19: ; preds = %ehcleanup, %lpad12 @@ -30972,7 +30984,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %20, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %21 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup19, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -30986,8 +30998,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i15, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl16c_minmax_elementISt6vectorIiSaIiEESt4lessIiEEEDTclsr3stdE9make_paircvDTcl5beginclsr3stdE7declvalIRT_EEEE_EcvS8__EEES7_OT0_.exit.thread, %_ZN4absl16c_minmax_elementISt6vectorIiSaIiEESt4lessIiEEEDTclsr3stdE9make_paircvDTcl5beginclsr3stdE7declvalIRT_EEEE_EcvS8__EEES7_OT0_.exit, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -31012,7 +31024,7 @@ invoke.cont37: ; preds = %if.else34 to label %invoke.cont41 unwind label %lpad40 invoke.cont41: ; preds = %invoke.cont37 - %call42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + %call42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 555, ptr noundef %call42) to label %invoke.cont44 unwind label %lpad43 @@ -31021,8 +31033,8 @@ invoke.cont44: ; preds = %invoke.cont41 to label %invoke.cont46 unwind label %lpad45 invoke.cont46: ; preds = %invoke.cont44 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 %23 = load ptr, ptr %ref.tmp35, align 8 %cmp.not.i.i19 = icmp eq ptr %23, null br i1 %cmp.not.i.i19, label %if.end50, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 @@ -31031,7 +31043,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i21 = load ptr, ptr %23, align 8 %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 %24 = load ptr, ptr %vfn.i.i.i22, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %if.end50 lpad36: ; preds = %if.else34 @@ -31052,12 +31064,12 @@ lpad43: ; preds = %invoke.cont41 lpad45: ; preds = %invoke.cont44 %28 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #28 br label %ehcleanup48 ehcleanup48: ; preds = %lpad45, %lpad43 %.pn4 = phi { ptr, i32 } [ %28, %lpad45 ], [ %27, %lpad43 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 br label %ehcleanup49 ehcleanup49: ; preds = %ehcleanup48, %lpad40 @@ -31070,7 +31082,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i26 = load ptr, ptr %29, align 8 %vfn.i.i.i27 = getelementptr inbounds ptr, ptr %vtable.i.i.i26, i64 1 %30 = load ptr, ptr %vfn.i.i.i27, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %_ZN7testing7MessageD2Ev.exit28 _ZN7testing7MessageD2Ev.exit28: ; preds = %ehcleanup49, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i25 @@ -31084,8 +31096,8 @@ if.end50: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i30, label %_ZN7testing15AssertionResultD2Ev.exit32, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31: ; preds = %if.end50 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr34) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr34) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr34) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr34) #29 br label %_ZN7testing15AssertionResultD2Ev.exit32 _ZN7testing15AssertionResultD2Ev.exit32: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end50, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 @@ -31094,7 +31106,7 @@ _ZN7testing15AssertionResultD2Ev.exit32: ; preds = %_ZN7testing15Assert eh.resume: ; preds = %lpad36, %_ZN7testing7MessageD2Ev.exit28, %lpad, %_ZN7testing7MessageD2Ev.exit13 %gtest_ar_21.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit13 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_21, %_ZN7testing7MessageD2Ev.exit28 ], [ %gtest_ar_21, %lpad36 ] %.pn4.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %16, %lpad ], [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit28 ], [ %25, %lpad36 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_21.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_21.sink) #28 resume { ptr, i32 } %.pn4.pn.pn.pn } @@ -31107,14 +31119,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141NonMutatingTest_MinMaxElementGreater_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141NonMutatingTest_MinMaxElementGreater_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -31125,22 +31137,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141NonMutatingTest_MinMaxElementGreater_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141NonMutatingTest_MinMaxElementGreater_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -31248,7 +31260,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont16 unwind label %lpad15 invoke.cont16: ; preds = %invoke.cont - %call17 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #27 + %call17 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 561, ptr noundef %call17) to label %invoke.cont19 unwind label %lpad18 @@ -31257,8 +31269,8 @@ invoke.cont19: ; preds = %invoke.cont16 to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont19 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #28 %14 = load ptr, ptr %ref.tmp12, align 8 %cmp.not.i.i = icmp eq ptr %14, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -31267,7 +31279,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %if.end lpad: ; preds = %if.else @@ -31288,12 +31300,12 @@ lpad18: ; preds = %invoke.cont16 lpad20: ; preds = %invoke.cont19 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13) #28 br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad18 %.pn = phi { ptr, i32 } [ %19, %lpad20 ], [ %18, %lpad18 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #28 br label %ehcleanup22 ehcleanup22: ; preds = %ehcleanup, %lpad15 @@ -31306,7 +31318,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %20, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %21 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup22, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -31320,8 +31332,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i15, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl16c_minmax_elementISt6vectorIiSaIiEESt7greaterIiEEEDTclsr3stdE9make_paircvDTcl5beginclsr3stdE7declvalIRT_EEEE_EcvS8__EEES7_OT0_.exit, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -31345,7 +31357,7 @@ invoke.cont37: ; preds = %if.else34 to label %invoke.cont41 unwind label %lpad40 invoke.cont41: ; preds = %invoke.cont37 - %call42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + %call42 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 562, ptr noundef %call42) to label %invoke.cont44 unwind label %lpad43 @@ -31354,8 +31366,8 @@ invoke.cont44: ; preds = %invoke.cont41 to label %invoke.cont46 unwind label %lpad45 invoke.cont46: ; preds = %invoke.cont44 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 %23 = load ptr, ptr %ref.tmp35, align 8 %cmp.not.i.i19 = icmp eq ptr %23, null br i1 %cmp.not.i.i19, label %if.end50, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 @@ -31364,7 +31376,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i21 = load ptr, ptr %23, align 8 %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 %24 = load ptr, ptr %vfn.i.i.i22, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %if.end50 lpad36: ; preds = %if.else34 @@ -31385,12 +31397,12 @@ lpad43: ; preds = %invoke.cont41 lpad45: ; preds = %invoke.cont44 %28 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #28 br label %ehcleanup48 ehcleanup48: ; preds = %lpad45, %lpad43 %.pn4 = phi { ptr, i32 } [ %28, %lpad45 ], [ %27, %lpad43 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp39) #28 br label %ehcleanup49 ehcleanup49: ; preds = %ehcleanup48, %lpad40 @@ -31403,7 +31415,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i26 = load ptr, ptr %29, align 8 %vfn.i.i.i27 = getelementptr inbounds ptr, ptr %vtable.i.i.i26, i64 1 %30 = load ptr, ptr %vfn.i.i.i27, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %_ZN7testing7MessageD2Ev.exit28 _ZN7testing7MessageD2Ev.exit28: ; preds = %ehcleanup49, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i25 @@ -31417,8 +31429,8 @@ if.end50: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i30, label %_ZN7testing15AssertionResultD2Ev.exit32, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31: ; preds = %if.end50 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr34) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr34) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr34) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr34) #29 br label %_ZN7testing15AssertionResultD2Ev.exit32 _ZN7testing15AssertionResultD2Ev.exit32: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end50, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 @@ -31427,7 +31439,7 @@ _ZN7testing15AssertionResultD2Ev.exit32: ; preds = %_ZN7testing15Assert eh.resume: ; preds = %lpad36, %_ZN7testing7MessageD2Ev.exit28, %lpad, %_ZN7testing7MessageD2Ev.exit13 %gtest_ar_24.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit13 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_24, %_ZN7testing7MessageD2Ev.exit28 ], [ %gtest_ar_24, %lpad36 ] %.pn4.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %16, %lpad ], [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit28 ], [ %25, %lpad36 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_24.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_24.sink) #28 resume { ptr, i32 } %.pn4.pn.pn.pn } @@ -31440,14 +31452,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_145NonMutatingTest_MinMaxElementNoPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_145NonMutatingTest_MinMaxElementNoPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -31458,22 +31470,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_145NonMutatingTest_MinMaxElementNoPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_145NonMutatingTest_MinMaxElementNoPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -31586,7 +31598,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont - %call13 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + %call13 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 568, ptr noundef %call13) to label %invoke.cont15 unwind label %lpad14 @@ -31595,8 +31607,8 @@ invoke.cont15: ; preds = %invoke.cont12 to label %invoke.cont17 unwind label %lpad16 invoke.cont17: ; preds = %invoke.cont15 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 %14 = load ptr, ptr %ref.tmp8, align 8 %cmp.not.i.i = icmp eq ptr %14, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -31605,7 +31617,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %if.end lpad: ; preds = %if.else @@ -31626,12 +31638,12 @@ lpad14: ; preds = %invoke.cont12 lpad16: ; preds = %invoke.cont15 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) #28 br label %ehcleanup ehcleanup: ; preds = %lpad16, %lpad14 %.pn = phi { ptr, i32 } [ %19, %lpad16 ], [ %18, %lpad14 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp10) #28 br label %ehcleanup18 ehcleanup18: ; preds = %ehcleanup, %lpad11 @@ -31644,7 +31656,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %20, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %21 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup18, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -31658,8 +31670,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i15, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl16c_minmax_elementISt6vectorIiSaIiEEEEDTclsr3stdE9make_paircvDTcl5beginclsr3stdE7declvalIRT_EEEE_EcvS6__EEES5_.exit.thread, %_ZN4absl16c_minmax_elementISt6vectorIiSaIiEEEEDTclsr3stdE9make_paircvDTcl5beginclsr3stdE7declvalIRT_EEEE_EcvS6__EEES5_.exit, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -31684,7 +31696,7 @@ invoke.cont36: ; preds = %if.else33 to label %invoke.cont40 unwind label %lpad39 invoke.cont40: ; preds = %invoke.cont36 - %call41 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) #27 + %call41 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 569, ptr noundef %call41) to label %invoke.cont43 unwind label %lpad42 @@ -31693,8 +31705,8 @@ invoke.cont43: ; preds = %invoke.cont40 to label %invoke.cont45 unwind label %lpad44 invoke.cont45: ; preds = %invoke.cont43 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) #28 %23 = load ptr, ptr %ref.tmp34, align 8 %cmp.not.i.i19 = icmp eq ptr %23, null br i1 %cmp.not.i.i19, label %if.end49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 @@ -31703,7 +31715,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i21 = load ptr, ptr %23, align 8 %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 %24 = load ptr, ptr %vfn.i.i.i22, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %if.end49 lpad35: ; preds = %if.else33 @@ -31724,12 +31736,12 @@ lpad42: ; preds = %invoke.cont40 lpad44: ; preds = %invoke.cont43 %28 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 br label %ehcleanup47 ehcleanup47: ; preds = %lpad44, %lpad42 %.pn4 = phi { ptr, i32 } [ %28, %lpad44 ], [ %27, %lpad42 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) #28 br label %ehcleanup48 ehcleanup48: ; preds = %ehcleanup47, %lpad39 @@ -31742,7 +31754,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i26 = load ptr, ptr %29, align 8 %vfn.i.i.i27 = getelementptr inbounds ptr, ptr %vtable.i.i.i26, i64 1 %30 = load ptr, ptr %vfn.i.i.i27, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %_ZN7testing7MessageD2Ev.exit28 _ZN7testing7MessageD2Ev.exit28: ; preds = %ehcleanup48, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i25 @@ -31756,8 +31768,8 @@ if.end49: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i30, label %_ZN7testing15AssertionResultD2Ev.exit32, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31: ; preds = %if.end49 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr34) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr34) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr34) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr34) #29 br label %_ZN7testing15AssertionResultD2Ev.exit32 _ZN7testing15AssertionResultD2Ev.exit32: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end49, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 @@ -31766,7 +31778,7 @@ _ZN7testing15AssertionResultD2Ev.exit32: ; preds = %_ZN7testing15Assert eh.resume: ; preds = %lpad35, %_ZN7testing7MessageD2Ev.exit28, %lpad, %_ZN7testing7MessageD2Ev.exit13 %gtest_ar_20.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit13 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_20, %_ZN7testing7MessageD2Ev.exit28 ], [ %gtest_ar_20, %lpad35 ] %.pn4.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %16, %lpad ], [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit28 ], [ %25, %lpad35 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_20.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_20.sink) #28 resume { ptr, i32 } %.pn4.pn.pn.pn } @@ -31779,14 +31791,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_125SortingTest_IsSorted_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_125SortingTest_IsSorted_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #29 + %call = tail call noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #30 invoke fastcc void @_ZN12_GLOBAL__N_111SortingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(88) %call) to label %invoke.cont unwind label %lpad @@ -31797,7 +31809,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -31820,7 +31832,7 @@ entry: for.body.i.i: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %entry %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %entry ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -31828,7 +31840,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %0 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %0, ptr %_M_storage.i.i.i.i.i.i, align 4 - tail call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %sorted_) #27 + tail call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %sorted_) #28 %1 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %1, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -31846,7 +31858,7 @@ lpad3.i: ; preds = %for.body.i.i while.body.i.i.i: ; preds = %lpad3.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %4, %while.body.i.i.i ], [ %3, %lpad3.i ] %4 = load ptr, ptr %__cur.05.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %4, %sorted_ br i1 %cmp.not.i.i.i, label %ehcleanup29, label %while.body.i.i.i, !llvm.loop !7 @@ -31862,7 +31874,7 @@ invoke.cont: ; preds = %call5.i.i.i.i.i.i.i for.body.i.i6: ; preds = %call5.i.i.i.i.i.i.i.noexc.i15, %invoke.cont %__first.addr.04.i.i7.idx = phi i64 [ %__first.addr.04.i.i7.add, %call5.i.i.i.i.i.i.i.noexc.i15 ], [ 0, %invoke.cont ] - %call5.i.i.i.i.i.i.i2.i8 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i8 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i15 unwind label %lpad3.i9 call5.i.i.i.i.i.i.i.noexc.i15: ; preds = %for.body.i.i6 @@ -31870,7 +31882,7 @@ call5.i.i.i.i.i.i.i.noexc.i15: ; preds = %for.body.i.i6 %_M_storage.i.i.i.i.i.i16 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i8, i64 0, i32 1 %5 = load i32, ptr %__first.addr.04.i.i7.ptr, align 4 store i32 %5, ptr %_M_storage.i.i.i.i.i.i16, align 4 - tail call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i8, ptr noundef nonnull %unsorted_) #27 + tail call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i8, ptr noundef nonnull %unsorted_) #28 %6 = load i64, ptr %_M_size.i.i.i.i.i4, align 8 %add.i.i.i.i.i17 = add i64 %6, 1 store i64 %add.i.i.i.i.i17, ptr %_M_size.i.i.i.i.i4, align 8 @@ -31888,7 +31900,7 @@ lpad3.i9: ; preds = %for.body.i.i6 while.body.i.i.i11: ; preds = %lpad3.i9, %while.body.i.i.i11 %__cur.05.i.i.i12 = phi ptr [ %9, %while.body.i.i.i11 ], [ %8, %lpad3.i9 ] %9 = load ptr, ptr %__cur.05.i.i.i12, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i12) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i12) #29 %cmp.not.i.i.i13 = icmp eq ptr %9, %unsorted_ br i1 %cmp.not.i.i.i13, label %ehcleanup, label %while.body.i.i.i11, !llvm.loop !7 @@ -31904,7 +31916,7 @@ invoke.cont16: ; preds = %call5.i.i.i.i.i.i.i for.body.i.i25: ; preds = %call5.i.i.i.i.i.i.i.noexc.i34, %invoke.cont16 %__first.addr.04.i.i26.idx = phi i64 [ %__first.addr.04.i.i26.add, %call5.i.i.i.i.i.i.i.noexc.i34 ], [ 0, %invoke.cont16 ] - %call5.i.i.i.i.i.i.i2.i27 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i27 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i34 unwind label %lpad3.i28 call5.i.i.i.i.i.i.i.noexc.i34: ; preds = %for.body.i.i25 @@ -31912,7 +31924,7 @@ call5.i.i.i.i.i.i.i.noexc.i34: ; preds = %for.body.i.i25 %_M_storage.i.i.i.i.i.i35 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i27, i64 0, i32 1 %10 = load i32, ptr %__first.addr.04.i.i26.ptr, align 4 store i32 %10, ptr %_M_storage.i.i.i.i.i.i35, align 4 - tail call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i27, ptr noundef nonnull %reversed_) #27 + tail call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i27, ptr noundef nonnull %reversed_) #28 %11 = load i64, ptr %_M_size.i.i.i.i.i23, align 8 %add.i.i.i.i.i36 = add i64 %11, 1 store i64 %add.i.i.i.i.i36, ptr %_M_size.i.i.i.i.i23, align 8 @@ -31930,7 +31942,7 @@ lpad3.i28: ; preds = %for.body.i.i25 while.body.i.i.i30: ; preds = %lpad3.i28, %while.body.i.i.i30 %__cur.05.i.i.i31 = phi ptr [ %14, %while.body.i.i.i30 ], [ %13, %lpad3.i28 ] %14 = load ptr, ptr %__cur.05.i.i.i31, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i31) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i31) #29 %cmp.not.i.i.i32 = icmp eq ptr %14, %reversed_ br i1 %cmp.not.i.i.i32, label %lpad27.body, label %while.body.i.i.i30, !llvm.loop !7 @@ -31945,7 +31957,7 @@ lpad27.body: ; preds = %while.body.i.i.i30, while.body.i.i.i42: ; preds = %lpad27.body, %while.body.i.i.i42 %__cur.05.i.i.i43 = phi ptr [ %16, %while.body.i.i.i42 ], [ %15, %lpad27.body ] %16 = load ptr, ptr %__cur.05.i.i.i43, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i43) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i43) #29 %cmp.not.i.i.i44 = icmp eq ptr %16, %unsorted_ br i1 %cmp.not.i.i.i44, label %ehcleanup, label %while.body.i.i.i42, !llvm.loop !7 @@ -31958,13 +31970,13 @@ ehcleanup: ; preds = %while.body.i.i.i11, while.body.i.i.i47: ; preds = %ehcleanup, %while.body.i.i.i47 %__cur.05.i.i.i48 = phi ptr [ %18, %while.body.i.i.i47 ], [ %17, %ehcleanup ] %18 = load ptr, ptr %__cur.05.i.i.i48, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i48) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i48) #29 %cmp.not.i.i.i49 = icmp eq ptr %18, %sorted_ br i1 %cmp.not.i.i.i49, label %ehcleanup29, label %while.body.i.i.i47, !llvm.loop !7 ehcleanup29: ; preds = %while.body.i.i.i, %while.body.i.i.i47, %ehcleanup, %lpad3.i %.pn.pn = phi { ptr, i32 } [ %2, %lpad3.i ], [ %.pn, %ehcleanup ], [ %.pn, %while.body.i.i.i47 ], [ %2, %while.body.i.i.i ] - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 resume { ptr, i32 } %.pn.pn } @@ -31980,7 +31992,7 @@ entry: while.body.i.i.i.i: ; preds = %entry, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %1, %while.body.i.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %1, %reversed_.i br i1 %cmp.not.i.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i, label %while.body.i.i.i.i, !llvm.loop !7 @@ -31993,7 +32005,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit.i: ; preds = %while.body.i.i.i.i, while.body.i.i.i2.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i, %while.body.i.i.i2.i %__cur.05.i.i.i3.i = phi ptr [ %3, %while.body.i.i.i2.i ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i ] %3 = load ptr, ptr %__cur.05.i.i.i3.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i) #29 %cmp.not.i.i.i4.i = icmp eq ptr %3, %unsorted_.i br i1 %cmp.not.i.i.i4.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i, label %while.body.i.i.i2.i, !llvm.loop !7 @@ -32006,12 +32018,12 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i: ; preds = %while.body.i.i.i2.i while.body.i.i.i7.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i, %while.body.i.i.i7.i %__cur.05.i.i.i8.i = phi ptr [ %5, %while.body.i.i.i7.i ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i ] %5 = load ptr, ptr %__cur.05.i.i.i8.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i) #29 %cmp.not.i.i.i9.i = icmp eq ptr %5, %sorted_.i br i1 %cmp.not.i.i.i9.i, label %_ZN12_GLOBAL__N_111SortingTestD2Ev.exit, label %while.body.i.i.i7.i, !llvm.loop !7 _ZN12_GLOBAL__N_111SortingTestD2Ev.exit: ; preds = %while.body.i.i.i7.i, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -32027,7 +32039,7 @@ entry: while.body.i.i.i.i.i: ; preds = %entry, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %1, %while.body.i.i.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %1, %reversed_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i, label %while.body.i.i.i.i.i, !llvm.loop !7 @@ -32040,7 +32052,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i: ; preds = %while.body.i.i.i.i. while.body.i.i.i2.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i2.i.i %__cur.05.i.i.i3.i.i = phi ptr [ %3, %while.body.i.i.i2.i.i ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i ] %3 = load ptr, ptr %__cur.05.i.i.i3.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i.i) #29 %cmp.not.i.i.i4.i.i = icmp eq ptr %3, %unsorted_.i.i br i1 %cmp.not.i.i.i4.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i, label %while.body.i.i.i2.i.i, !llvm.loop !7 @@ -32053,13 +32065,13 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i: ; preds = %while.body.i.i.i2.i while.body.i.i.i7.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i, %while.body.i.i.i7.i.i %__cur.05.i.i.i8.i.i = phi ptr [ %5, %while.body.i.i.i7.i.i ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i ] %5 = load ptr, ptr %__cur.05.i.i.i8.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i.i) #29 %cmp.not.i.i.i9.i.i = icmp eq ptr %5, %sorted_.i.i br i1 %cmp.not.i.i.i9.i.i, label %_ZN12_GLOBAL__N_125SortingTest_IsSorted_TestD2Ev.exit, label %while.body.i.i.i7.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_125SortingTest_IsSorted_TestD2Ev.exit: ; preds = %while.body.i.i.i7.i.i, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -32115,7 +32127,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont7 unwind label %lpad6 invoke.cont7: ; preds = %invoke.cont - %call8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + %call8 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 580, ptr noundef %call8) to label %invoke.cont10 unwind label %lpad9 @@ -32124,8 +32136,8 @@ invoke.cont10: ; preds = %invoke.cont7 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 %3 = load ptr, ptr %ref.tmp3, align 8 %cmp.not.i.i = icmp eq ptr %3, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -32134,7 +32146,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %3, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %4 = load ptr, ptr %vfn.i.i.i, align 8 - call void %4(ptr noundef nonnull align 8 dereferenceable(128) %3) #27 + call void %4(ptr noundef nonnull align 8 dereferenceable(128) %3) #28 br label %if.end lpad: ; preds = %if.else @@ -32155,12 +32167,12 @@ lpad9: ; preds = %invoke.cont7 lpad11: ; preds = %invoke.cont10 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp4) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad9 %.pn = phi { ptr, i32 } [ %8, %lpad11 ], [ %7, %lpad9 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp5) #28 br label %ehcleanup13 ehcleanup13: ; preds = %ehcleanup, %lpad6 @@ -32173,7 +32185,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i15 = load ptr, ptr %9, align 8 %vfn.i.i.i16 = getelementptr inbounds ptr, ptr %vtable.i.i.i15, i64 1 %10 = load ptr, ptr %vfn.i.i.i16, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit17 _ZN7testing7MessageD2Ev.exit17: ; preds = %ehcleanup13, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i14 @@ -32187,8 +32199,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl11c_is_sortedINSt7__cxx114listIiSaIiEEEEEbRKT_.exit.thread, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -32237,7 +32249,7 @@ invoke.cont24: ; preds = %if.else21 to label %invoke.cont28 unwind label %lpad27 invoke.cont28: ; preds = %invoke.cont24 - %call29 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #27 + %call29 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 581, ptr noundef %call29) to label %invoke.cont31 unwind label %lpad30 @@ -32246,8 +32258,8 @@ invoke.cont31: ; preds = %invoke.cont28 to label %invoke.cont33 unwind label %lpad32 invoke.cont33: ; preds = %invoke.cont31 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #28 %14 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i34 = icmp eq ptr %14, null br i1 %cmp.not.i.i34, label %if.end37, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -32256,7 +32268,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i36 = load ptr, ptr %14, align 8 %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 %15 = load ptr, ptr %vfn.i.i.i37, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %if.end37 lpad23: ; preds = %if.else21 @@ -32277,12 +32289,12 @@ lpad30: ; preds = %invoke.cont28 lpad32: ; preds = %invoke.cont31 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup35 ehcleanup35: ; preds = %lpad32, %lpad30 %.pn4 = phi { ptr, i32 } [ %19, %lpad32 ], [ %18, %lpad30 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp26) #28 br label %ehcleanup36 ehcleanup36: ; preds = %ehcleanup35, %lpad27 @@ -32295,7 +32307,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i41 = load ptr, ptr %20, align 8 %vfn.i.i.i42 = getelementptr inbounds ptr, ptr %vtable.i.i.i41, i64 1 %21 = load ptr, ptr %vfn.i.i.i42, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit43 _ZN7testing7MessageD2Ev.exit43: ; preds = %ehcleanup36, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 @@ -32309,8 +32321,8 @@ if.end37: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i45, label %_ZN7testing15AssertionResultD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %if.end37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr85) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr85) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr85) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr85) #29 br label %_ZN7testing15AssertionResultD2Ev.exit47 _ZN7testing15AssertionResultD2Ev.exit47: ; preds = %_ZN4absl11c_is_sortedINSt7__cxx114listIiSaIiEEEEEbRKT_.exit31, %if.end37, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 @@ -32359,7 +32371,7 @@ invoke.cont49: ; preds = %if.else46 to label %invoke.cont53 unwind label %lpad52 invoke.cont53: ; preds = %invoke.cont49 - %call54 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #27 + %call54 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 582, ptr noundef %call54) to label %invoke.cont56 unwind label %lpad55 @@ -32368,8 +32380,8 @@ invoke.cont56: ; preds = %invoke.cont53 to label %invoke.cont58 unwind label %lpad57 invoke.cont58: ; preds = %invoke.cont56 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #28 %25 = load ptr, ptr %ref.tmp47, align 8 %cmp.not.i.i62 = icmp eq ptr %25, null br i1 %cmp.not.i.i62, label %if.end62, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 @@ -32378,7 +32390,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i64 = load ptr, ptr %25, align 8 %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 %26 = load ptr, ptr %vfn.i.i.i65, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %if.end62 lpad48: ; preds = %if.else46 @@ -32399,12 +32411,12 @@ lpad55: ; preds = %invoke.cont53 lpad57: ; preds = %invoke.cont56 %30 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50) #28 br label %ehcleanup60 ehcleanup60: ; preds = %lpad57, %lpad55 %.pn8 = phi { ptr, i32 } [ %30, %lpad57 ], [ %29, %lpad55 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #28 br label %ehcleanup61 ehcleanup61: ; preds = %ehcleanup60, %lpad52 @@ -32417,7 +32429,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i69 = load ptr, ptr %31, align 8 %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 %32 = load ptr, ptr %vfn.i.i.i70, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %_ZN7testing7MessageD2Ev.exit71 _ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup61, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 @@ -32431,8 +32443,8 @@ if.end62: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end62 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr87) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr87) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr87) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr87) #29 br label %_ZN7testing15AssertionResultD2Ev.exit75 _ZN7testing15AssertionResultD2Ev.exit75: ; preds = %_ZN4absl11c_is_sortedINSt7__cxx114listIiSaIiEEEEEbRKT_.exit59, %if.end62, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 @@ -32443,7 +32455,7 @@ _ZN7testing15AssertionResultD2Ev.exit75: ; preds = %_ZN4absl11c_is_sort eh.resume: ; preds = %lpad48, %_ZN7testing7MessageD2Ev.exit71, %lpad23, %_ZN7testing7MessageD2Ev.exit43, %lpad, %_ZN7testing7MessageD2Ev.exit17 %gtest_ar_39.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit17 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_15, %_ZN7testing7MessageD2Ev.exit43 ], [ %gtest_ar_15, %lpad23 ], [ %gtest_ar_39, %_ZN7testing7MessageD2Ev.exit71 ], [ %gtest_ar_39, %lpad48 ] %.pn8.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit17 ], [ %5, %lpad ], [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit43 ], [ %16, %lpad23 ], [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit71 ], [ %27, %lpad48 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_39.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_39.sink) #28 resume { ptr, i32 } %.pn8.pn.pn.pn } @@ -32459,7 +32471,7 @@ entry: while.body.i.i.i: ; preds = %entry, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %1, %while.body.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %1, %reversed_ br i1 %cmp.not.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i, !llvm.loop !7 @@ -32472,7 +32484,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i, % while.body.i.i.i2: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %while.body.i.i.i2 %__cur.05.i.i.i3 = phi ptr [ %3, %while.body.i.i.i2 ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit ] %3 = load ptr, ptr %__cur.05.i.i.i3, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3) #29 %cmp.not.i.i.i4 = icmp eq ptr %3, %unsorted_ br i1 %cmp.not.i.i.i4, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5, label %while.body.i.i.i2, !llvm.loop !7 @@ -32485,19 +32497,19 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5: ; preds = %while.body.i.i.i2, while.body.i.i.i7: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5, %while.body.i.i.i7 %__cur.05.i.i.i8 = phi ptr [ %5, %while.body.i.i.i7 ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5 ] %5 = load ptr, ptr %__cur.05.i.i.i8, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8) #29 %cmp.not.i.i.i9 = icmp eq ptr %5, %sorted_ br i1 %cmp.not.i.i.i9, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit10, label %while.body.i.i.i7, !llvm.loop !7 _ZNSt7__cxx114listIiSaIiEED2Ev.exit10: ; preds = %while.body.i.i.i7, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5 - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress noreturn nounwind memory(inaccessiblemem: write) uwtable define internal void @_ZN12_GLOBAL__N_111SortingTestD0Ev(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #9 align 2 { entry: - tail call void @llvm.trap() #31 + tail call void @llvm.trap() #32 unreachable } @@ -32510,14 +32522,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_138SortingTest_IsSortedWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_138SortingTest_IsSortedWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #29 + %call = tail call noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #30 invoke fastcc void @_ZN12_GLOBAL__N_111SortingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(88) %call) to label %invoke.cont unwind label %lpad @@ -32528,7 +32540,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -32544,7 +32556,7 @@ entry: while.body.i.i.i.i: ; preds = %entry, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %1, %while.body.i.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %1, %reversed_.i br i1 %cmp.not.i.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i, label %while.body.i.i.i.i, !llvm.loop !7 @@ -32557,7 +32569,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit.i: ; preds = %while.body.i.i.i.i, while.body.i.i.i2.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i, %while.body.i.i.i2.i %__cur.05.i.i.i3.i = phi ptr [ %3, %while.body.i.i.i2.i ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i ] %3 = load ptr, ptr %__cur.05.i.i.i3.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i) #29 %cmp.not.i.i.i4.i = icmp eq ptr %3, %unsorted_.i br i1 %cmp.not.i.i.i4.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i, label %while.body.i.i.i2.i, !llvm.loop !7 @@ -32570,12 +32582,12 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i: ; preds = %while.body.i.i.i2.i while.body.i.i.i7.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i, %while.body.i.i.i7.i %__cur.05.i.i.i8.i = phi ptr [ %5, %while.body.i.i.i7.i ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i ] %5 = load ptr, ptr %__cur.05.i.i.i8.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i) #29 %cmp.not.i.i.i9.i = icmp eq ptr %5, %sorted_.i br i1 %cmp.not.i.i.i9.i, label %_ZN12_GLOBAL__N_111SortingTestD2Ev.exit, label %while.body.i.i.i7.i, !llvm.loop !7 _ZN12_GLOBAL__N_111SortingTestD2Ev.exit: ; preds = %while.body.i.i.i7.i, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -32591,7 +32603,7 @@ entry: while.body.i.i.i.i.i: ; preds = %entry, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %1, %while.body.i.i.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %1, %reversed_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i, label %while.body.i.i.i.i.i, !llvm.loop !7 @@ -32604,7 +32616,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i: ; preds = %while.body.i.i.i.i. while.body.i.i.i2.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i2.i.i %__cur.05.i.i.i3.i.i = phi ptr [ %3, %while.body.i.i.i2.i.i ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i ] %3 = load ptr, ptr %__cur.05.i.i.i3.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i.i) #29 %cmp.not.i.i.i4.i.i = icmp eq ptr %3, %unsorted_.i.i br i1 %cmp.not.i.i.i4.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i, label %while.body.i.i.i2.i.i, !llvm.loop !7 @@ -32617,13 +32629,13 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i: ; preds = %while.body.i.i.i2.i while.body.i.i.i7.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i, %while.body.i.i.i7.i.i %__cur.05.i.i.i8.i.i = phi ptr [ %5, %while.body.i.i.i7.i.i ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i ] %5 = load ptr, ptr %__cur.05.i.i.i8.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i.i) #29 %cmp.not.i.i.i9.i.i = icmp eq ptr %5, %sorted_.i.i br i1 %cmp.not.i.i.i9.i.i, label %_ZN12_GLOBAL__N_138SortingTest_IsSortedWithPredicate_TestD2Ev.exit, label %while.body.i.i.i7.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_138SortingTest_IsSortedWithPredicate_TestD2Ev.exit: ; preds = %while.body.i.i.i7.i.i, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -32685,7 +32697,7 @@ invoke.cont: ; preds = %if.else to label %invoke.cont8 unwind label %lpad7 invoke.cont8: ; preds = %invoke.cont - %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + %call9 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 586, ptr noundef %call9) to label %invoke.cont11 unwind label %lpad10 @@ -32694,8 +32706,8 @@ invoke.cont11: ; preds = %invoke.cont8 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %invoke.cont11 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 %3 = load ptr, ptr %ref.tmp4, align 8 %cmp.not.i.i = icmp eq ptr %3, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -32704,7 +32716,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %3, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %4 = load ptr, ptr %vfn.i.i.i, align 8 - call void %4(ptr noundef nonnull align 8 dereferenceable(128) %3) #27 + call void %4(ptr noundef nonnull align 8 dereferenceable(128) %3) #28 br label %if.end lpad: ; preds = %if.else @@ -32725,12 +32737,12 @@ lpad10: ; preds = %invoke.cont8 lpad12: ; preds = %invoke.cont11 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp5) #28 br label %ehcleanup ehcleanup: ; preds = %lpad12, %lpad10 %.pn = phi { ptr, i32 } [ %8, %lpad12 ], [ %7, %lpad10 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 br label %ehcleanup14 ehcleanup14: ; preds = %ehcleanup, %lpad7 @@ -32743,7 +32755,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i15 = load ptr, ptr %9, align 8 %vfn.i.i.i16 = getelementptr inbounds ptr, ptr %vtable.i.i.i15, i64 1 %10 = load ptr, ptr %vfn.i.i.i16, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit17 _ZN7testing7MessageD2Ev.exit17: ; preds = %ehcleanup14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i14 @@ -32757,8 +32769,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %_ZN4absl11c_is_sortedINSt7__cxx114listIiSaIiEEESt7greaterIiEEEbRKT_OT0_.exit, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -32807,7 +32819,7 @@ invoke.cont27: ; preds = %if.else24 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont27 - %call32 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #27 + %call32 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 587, ptr noundef %call32) to label %invoke.cont34 unwind label %lpad33 @@ -32816,8 +32828,8 @@ invoke.cont34: ; preds = %invoke.cont31 to label %invoke.cont36 unwind label %lpad35 invoke.cont36: ; preds = %invoke.cont34 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #28 %14 = load ptr, ptr %ref.tmp25, align 8 %cmp.not.i.i34 = icmp eq ptr %14, null br i1 %cmp.not.i.i34, label %if.end40, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -32826,7 +32838,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i36 = load ptr, ptr %14, align 8 %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 %15 = load ptr, ptr %vfn.i.i.i37, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %if.end40 lpad26: ; preds = %if.else24 @@ -32847,12 +32859,12 @@ lpad33: ; preds = %invoke.cont31 lpad35: ; preds = %invoke.cont34 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 br label %ehcleanup38 ehcleanup38: ; preds = %lpad35, %lpad33 %.pn4 = phi { ptr, i32 } [ %19, %lpad35 ], [ %18, %lpad33 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp29) #28 br label %ehcleanup39 ehcleanup39: ; preds = %ehcleanup38, %lpad30 @@ -32865,7 +32877,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i41 = load ptr, ptr %20, align 8 %vfn.i.i.i42 = getelementptr inbounds ptr, ptr %vtable.i.i.i41, i64 1 %21 = load ptr, ptr %vfn.i.i.i42, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit43 _ZN7testing7MessageD2Ev.exit43: ; preds = %ehcleanup39, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 @@ -32879,8 +32891,8 @@ if.end40: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i45, label %_ZN7testing15AssertionResultD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %if.end40 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr77) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr77) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr77) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr77) #29 br label %_ZN7testing15AssertionResultD2Ev.exit47 _ZN7testing15AssertionResultD2Ev.exit47: ; preds = %_ZN4absl11c_is_sortedINSt7__cxx114listIiSaIiEEESt7greaterIiEEEbRKT_OT0_.exit31, %if.end40, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 @@ -32921,7 +32933,7 @@ invoke.cont52: ; preds = %if.else49 to label %invoke.cont56 unwind label %lpad55 invoke.cont56: ; preds = %invoke.cont52 - %call57 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp54) #27 + %call57 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp54) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 588, ptr noundef %call57) to label %invoke.cont59 unwind label %lpad58 @@ -32930,8 +32942,8 @@ invoke.cont59: ; preds = %invoke.cont56 to label %invoke.cont61 unwind label %lpad60 invoke.cont61: ; preds = %invoke.cont59 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp54) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp54) #28 %25 = load ptr, ptr %ref.tmp50, align 8 %cmp.not.i.i62 = icmp eq ptr %25, null br i1 %cmp.not.i.i62, label %if.end65, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 @@ -32940,7 +32952,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i64 = load ptr, ptr %25, align 8 %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 %26 = load ptr, ptr %vfn.i.i.i65, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %if.end65 lpad51: ; preds = %if.else49 @@ -32961,12 +32973,12 @@ lpad58: ; preds = %invoke.cont56 lpad60: ; preds = %invoke.cont59 %30 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #28 br label %ehcleanup63 ehcleanup63: ; preds = %lpad60, %lpad58 %.pn8 = phi { ptr, i32 } [ %30, %lpad60 ], [ %29, %lpad58 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp54) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp54) #28 br label %ehcleanup64 ehcleanup64: ; preds = %ehcleanup63, %lpad55 @@ -32979,7 +32991,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i69 = load ptr, ptr %31, align 8 %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 %32 = load ptr, ptr %vfn.i.i.i70, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %_ZN7testing7MessageD2Ev.exit71 _ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 @@ -32993,8 +33005,8 @@ if.end65: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end65 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr85) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr85) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr85) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr85) #29 br label %_ZN7testing15AssertionResultD2Ev.exit75 _ZN7testing15AssertionResultD2Ev.exit75: ; preds = %_ZN4absl11c_is_sortedINSt7__cxx114listIiSaIiEEESt7greaterIiEEEbRKT_OT0_.exit59.thread, %if.end65, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 @@ -33005,7 +33017,7 @@ _ZN7testing15AssertionResultD2Ev.exit75: ; preds = %_ZN4absl11c_is_sort eh.resume: ; preds = %lpad51, %_ZN7testing7MessageD2Ev.exit71, %lpad26, %_ZN7testing7MessageD2Ev.exit43, %lpad, %_ZN7testing7MessageD2Ev.exit17 %gtest_ar_42.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit17 ], [ %gtest_ar_, %lpad ], [ %gtest_ar_16, %_ZN7testing7MessageD2Ev.exit43 ], [ %gtest_ar_16, %lpad26 ], [ %gtest_ar_42, %_ZN7testing7MessageD2Ev.exit71 ], [ %gtest_ar_42, %lpad51 ] %.pn8.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit17 ], [ %5, %lpad ], [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit43 ], [ %16, %lpad26 ], [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit71 ], [ %27, %lpad51 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_42.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_42.sink) #28 resume { ptr, i32 } %.pn8.pn.pn.pn } @@ -33018,14 +33030,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130SortingTest_IsSortedUntil_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130SortingTest_IsSortedUntil_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #29 + %call = tail call noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #30 invoke fastcc void @_ZN12_GLOBAL__N_111SortingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(88) %call) to label %invoke.cont unwind label %lpad @@ -33036,7 +33048,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -33052,7 +33064,7 @@ entry: while.body.i.i.i.i: ; preds = %entry, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %1, %while.body.i.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %1, %reversed_.i br i1 %cmp.not.i.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i, label %while.body.i.i.i.i, !llvm.loop !7 @@ -33065,7 +33077,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit.i: ; preds = %while.body.i.i.i.i, while.body.i.i.i2.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i, %while.body.i.i.i2.i %__cur.05.i.i.i3.i = phi ptr [ %3, %while.body.i.i.i2.i ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i ] %3 = load ptr, ptr %__cur.05.i.i.i3.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i) #29 %cmp.not.i.i.i4.i = icmp eq ptr %3, %unsorted_.i br i1 %cmp.not.i.i.i4.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i, label %while.body.i.i.i2.i, !llvm.loop !7 @@ -33078,12 +33090,12 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i: ; preds = %while.body.i.i.i2.i while.body.i.i.i7.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i, %while.body.i.i.i7.i %__cur.05.i.i.i8.i = phi ptr [ %5, %while.body.i.i.i7.i ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i ] %5 = load ptr, ptr %__cur.05.i.i.i8.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i) #29 %cmp.not.i.i.i9.i = icmp eq ptr %5, %sorted_.i br i1 %cmp.not.i.i.i9.i, label %_ZN12_GLOBAL__N_111SortingTestD2Ev.exit, label %while.body.i.i.i7.i, !llvm.loop !7 _ZN12_GLOBAL__N_111SortingTestD2Ev.exit: ; preds = %while.body.i.i.i7.i, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -33099,7 +33111,7 @@ entry: while.body.i.i.i.i.i: ; preds = %entry, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %1, %while.body.i.i.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %1, %reversed_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i, label %while.body.i.i.i.i.i, !llvm.loop !7 @@ -33112,7 +33124,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i: ; preds = %while.body.i.i.i.i. while.body.i.i.i2.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i2.i.i %__cur.05.i.i.i3.i.i = phi ptr [ %3, %while.body.i.i.i2.i.i ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i ] %3 = load ptr, ptr %__cur.05.i.i.i3.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i.i) #29 %cmp.not.i.i.i4.i.i = icmp eq ptr %3, %unsorted_.i.i br i1 %cmp.not.i.i.i4.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i, label %while.body.i.i.i2.i.i, !llvm.loop !7 @@ -33125,13 +33137,13 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i: ; preds = %while.body.i.i.i2.i while.body.i.i.i7.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i, %while.body.i.i.i7.i.i %__cur.05.i.i.i8.i.i = phi ptr [ %5, %while.body.i.i.i7.i.i ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i ] %5 = load ptr, ptr %__cur.05.i.i.i8.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i.i) #29 %cmp.not.i.i.i9.i.i = icmp eq ptr %5, %sorted_.i.i br i1 %cmp.not.i.i.i9.i.i, label %_ZN12_GLOBAL__N_130SortingTest_IsSortedUntil_TestD2Ev.exit, label %while.body.i.i.i7.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_130SortingTest_IsSortedUntil_TestD2Ev.exit: ; preds = %while.body.i.i.i7.i.i, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -33198,7 +33210,7 @@ invoke.cont: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont8, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #28 br label %invoke.cont8 invoke.cont8: ; preds = %cond.true.i.i, %invoke.cont @@ -33211,7 +33223,7 @@ invoke.cont10: ; preds = %invoke.cont8 to label %invoke.cont12 unwind label %lpad11 invoke.cont12: ; preds = %invoke.cont10 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 %7 = load ptr, ptr %ref.tmp5, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -33220,7 +33232,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -33240,7 +33252,7 @@ lpad7: ; preds = %invoke.cont8 lpad11: ; preds = %invoke.cont10 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp6) #28 br label %ehcleanup ehcleanup: ; preds = %lpad11, %lpad7 @@ -33253,7 +33265,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i9 = load ptr, ptr %12, align 8 %vfn.i.i.i10 = getelementptr inbounds ptr, ptr %vtable.i.i.i9, i64 1 %13 = load ptr, ptr %vfn.i.i.i10, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit11 _ZN7testing7MessageD2Ev.exit11: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i8 @@ -33267,8 +33279,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i12, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 - call void @_ZdlPv(ptr noundef nonnull %14) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 + call void @_ZdlPv(ptr noundef nonnull %14) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -33324,7 +33336,7 @@ invoke.cont27: ; preds = %if.else24 br i1 %cmp.i.i.not.i.i29, label %invoke.cont30, label %cond.true.i.i30 cond.true.i.i30: ; preds = %invoke.cont27 - %call4.i.i31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %21) #27 + %call4.i.i31 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %21) #28 br label %invoke.cont30 invoke.cont30: ; preds = %cond.true.i.i30, %invoke.cont27 @@ -33337,7 +33349,7 @@ invoke.cont32: ; preds = %invoke.cont30 to label %invoke.cont34 unwind label %lpad33 invoke.cont34: ; preds = %invoke.cont32 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 %22 = load ptr, ptr %ref.tmp25, align 8 %cmp.not.i.i34 = icmp eq ptr %22, null br i1 %cmp.not.i.i34, label %_ZN7testing7MessageD2Ev.exit38, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -33346,7 +33358,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i36 = load ptr, ptr %22, align 8 %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 %23 = load ptr, ptr %vfn.i.i.i37, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #27 + call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 br label %_ZN7testing7MessageD2Ev.exit38 _ZN7testing7MessageD2Ev.exit38: ; preds = %invoke.cont34, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -33366,7 +33378,7 @@ lpad29: ; preds = %invoke.cont30 lpad33: ; preds = %invoke.cont32 %26 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp28) #28 br label %ehcleanup36 ehcleanup36: ; preds = %lpad33, %lpad29 @@ -33379,7 +33391,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i41 = load ptr, ptr %27, align 8 %vfn.i.i.i42 = getelementptr inbounds ptr, ptr %vtable.i.i.i41, i64 1 %28 = load ptr, ptr %vfn.i.i.i42, align 8 - call void %28(ptr noundef nonnull align 8 dereferenceable(128) %27) #27 + call void %28(ptr noundef nonnull align 8 dereferenceable(128) %27) #28 br label %_ZN7testing7MessageD2Ev.exit43 _ZN7testing7MessageD2Ev.exit43: ; preds = %ehcleanup36, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 @@ -33393,8 +33405,8 @@ if.end37: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i45, label %_ZN7testing15AssertionResultD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %if.end37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #27 - call void @_ZdlPv(ptr noundef nonnull %29) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #28 + call void @_ZdlPv(ptr noundef nonnull %29) #29 br label %_ZN7testing15AssertionResultD2Ev.exit47 _ZN7testing15AssertionResultD2Ev.exit47: ; preds = %if.end37, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 @@ -33403,7 +33415,7 @@ _ZN7testing15AssertionResultD2Ev.exit47: ; preds = %if.end37, %_ZNKSt14 eh.resume: ; preds = %lpad26, %_ZN7testing7MessageD2Ev.exit43, %lpad, %_ZN7testing7MessageD2Ev.exit11 %gtest_ar14.sink = phi ptr [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit11 ], [ %gtest_ar, %lpad ], [ %gtest_ar14, %_ZN7testing7MessageD2Ev.exit43 ], [ %gtest_ar14, %lpad26 ] %.pn3.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit11 ], [ %9, %lpad ], [ %.pn3, %_ZN7testing7MessageD2Ev.exit43 ], [ %24, %lpad26 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar14.sink) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar14.sink) #28 resume { ptr, i32 } %.pn3.pn.pn } @@ -33416,14 +33428,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127SortingTest_NthElement_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127SortingTest_NthElement_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #29 + %call = tail call noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #30 invoke fastcc void @_ZN12_GLOBAL__N_111SortingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(88) %call) to label %invoke.cont unwind label %lpad @@ -33434,7 +33446,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -33450,7 +33462,7 @@ entry: while.body.i.i.i.i: ; preds = %entry, %while.body.i.i.i.i %__cur.05.i.i.i.i = phi ptr [ %1, %while.body.i.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i) #29 %cmp.not.i.i.i.i = icmp eq ptr %1, %reversed_.i br i1 %cmp.not.i.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i, label %while.body.i.i.i.i, !llvm.loop !7 @@ -33463,7 +33475,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit.i: ; preds = %while.body.i.i.i.i, while.body.i.i.i2.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i, %while.body.i.i.i2.i %__cur.05.i.i.i3.i = phi ptr [ %3, %while.body.i.i.i2.i ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i ] %3 = load ptr, ptr %__cur.05.i.i.i3.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i) #29 %cmp.not.i.i.i4.i = icmp eq ptr %3, %unsorted_.i br i1 %cmp.not.i.i.i4.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i, label %while.body.i.i.i2.i, !llvm.loop !7 @@ -33476,12 +33488,12 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i: ; preds = %while.body.i.i.i2.i while.body.i.i.i7.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i, %while.body.i.i.i7.i %__cur.05.i.i.i8.i = phi ptr [ %5, %while.body.i.i.i7.i ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i ] %5 = load ptr, ptr %__cur.05.i.i.i8.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i) #29 %cmp.not.i.i.i9.i = icmp eq ptr %5, %sorted_.i br i1 %cmp.not.i.i.i9.i, label %_ZN12_GLOBAL__N_111SortingTestD2Ev.exit, label %while.body.i.i.i7.i, !llvm.loop !7 _ZN12_GLOBAL__N_111SortingTestD2Ev.exit: ; preds = %while.body.i.i.i7.i, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -33497,7 +33509,7 @@ entry: while.body.i.i.i.i.i: ; preds = %entry, %while.body.i.i.i.i.i %__cur.05.i.i.i.i.i = phi ptr [ %1, %while.body.i.i.i.i.i ], [ %0, %entry ] %1 = load ptr, ptr %__cur.05.i.i.i.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i.i.i) #29 %cmp.not.i.i.i.i.i = icmp eq ptr %1, %reversed_.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i, label %while.body.i.i.i.i.i, !llvm.loop !7 @@ -33510,7 +33522,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i: ; preds = %while.body.i.i.i.i. while.body.i.i.i2.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i, %while.body.i.i.i2.i.i %__cur.05.i.i.i3.i.i = phi ptr [ %3, %while.body.i.i.i2.i.i ], [ %2, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit.i.i ] %3 = load ptr, ptr %__cur.05.i.i.i3.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i3.i.i) #29 %cmp.not.i.i.i4.i.i = icmp eq ptr %3, %unsorted_.i.i br i1 %cmp.not.i.i.i4.i.i, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i, label %while.body.i.i.i2.i.i, !llvm.loop !7 @@ -33523,13 +33535,13 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i: ; preds = %while.body.i.i.i2.i while.body.i.i.i7.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i, %while.body.i.i.i7.i.i %__cur.05.i.i.i8.i.i = phi ptr [ %5, %while.body.i.i.i7.i.i ], [ %4, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i ] %5 = load ptr, ptr %__cur.05.i.i.i8.i.i, align 8 - tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i.i) #28 + tail call void @_ZdlPv(ptr noundef %__cur.05.i.i.i8.i.i) #29 %cmp.not.i.i.i9.i.i = icmp eq ptr %5, %sorted_.i.i br i1 %cmp.not.i.i.i9.i.i, label %_ZN12_GLOBAL__N_127SortingTest_NthElement_TestD2Ev.exit, label %while.body.i.i.i7.i.i, !llvm.loop !7 _ZN12_GLOBAL__N_127SortingTest_NthElement_TestD2Ev.exit: ; preds = %while.body.i.i.i7.i.i, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit5.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -33545,9 +33557,9 @@ entry: %ref.tmp55 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.242", align 16 %ref.tmp79 = alloca %"class.testing::Message", align 8 %ref.tmp82 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %unsorted, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %unsorted, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 @@ -33584,7 +33596,7 @@ invoke.cont36: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont39, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont36 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont39 invoke.cont39: ; preds = %cond.true.i.i, %invoke.cont36 @@ -33597,7 +33609,7 @@ invoke.cont41: ; preds = %invoke.cont39 to label %invoke.cont43 unwind label %lpad42 invoke.cont43: ; preds = %invoke.cont41 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 %4 = load ptr, ptr %ref.tmp34, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -33606,7 +33618,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont43, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -33626,7 +33638,7 @@ lpad38: ; preds = %invoke.cont39 lpad42: ; preds = %invoke.cont41 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 br label %ehcleanup ehcleanup: ; preds = %lpad42, %lpad38 @@ -33639,7 +33651,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %9, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %10 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -33653,8 +33665,8 @@ if.end: ; preds = %invoke.cont32, %_ZN br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -33691,7 +33703,7 @@ invoke.cont75: ; preds = %invoke.cont74 ehcleanup44: ; preds = %_ZN7testing7MessageD2Ev.exit13, %lpad35 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %6, %lpad35 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup93 if.else78: ; preds = %invoke.cont75 @@ -33705,7 +33717,7 @@ invoke.cont81: ; preds = %if.else78 br i1 %cmp.i.i.not.i.i34, label %invoke.cont84, label %cond.true.i.i35 cond.true.i.i35: ; preds = %invoke.cont81 - %call4.i.i36 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 + %call4.i.i36 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont84 invoke.cont84: ; preds = %cond.true.i.i35, %invoke.cont81 @@ -33718,7 +33730,7 @@ invoke.cont86: ; preds = %invoke.cont84 to label %invoke.cont88 unwind label %lpad87 invoke.cont88: ; preds = %invoke.cont86 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp82) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp82) #28 %18 = load ptr, ptr %ref.tmp79, align 8 %cmp.not.i.i39 = icmp eq ptr %18, null br i1 %cmp.not.i.i39, label %_ZN7testing7MessageD2Ev.exit43, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 @@ -33727,7 +33739,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i41 = load ptr, ptr %18, align 8 %vfn.i.i.i42 = getelementptr inbounds ptr, ptr %vtable.i.i.i41, i64 1 %19 = load ptr, ptr %vfn.i.i.i42, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit43 _ZN7testing7MessageD2Ev.exit43: ; preds = %invoke.cont88, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 @@ -33747,7 +33759,7 @@ lpad83: ; preds = %invoke.cont84 lpad87: ; preds = %invoke.cont86 %22 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp82) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp82) #28 br label %ehcleanup90 ehcleanup90: ; preds = %lpad87, %lpad83 @@ -33760,7 +33772,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i46 = load ptr, ptr %23, align 8 %vfn.i.i.i47 = getelementptr inbounds ptr, ptr %vtable.i.i.i46, i64 1 %24 = load ptr, ptr %vfn.i.i.i47, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %_ZN7testing7MessageD2Ev.exit48 _ZN7testing7MessageD2Ev.exit48: ; preds = %ehcleanup90, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45 @@ -33774,8 +33786,8 @@ if.end91: ; preds = %invoke.cont75, %_ZN br i1 %cmp.not.i.i50, label %_ZN7testing15AssertionResultD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i51 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i51: ; preds = %if.end91 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #27 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %_ZN7testing15AssertionResultD2Ev.exit52 _ZN7testing15AssertionResultD2Ev.exit52: ; preds = %if.end91, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i51 @@ -33785,7 +33797,7 @@ _ZN7testing15AssertionResultD2Ev.exit52: ; preds = %if.end91, %_ZNKSt14 br i1 %tobool.not.i.i.i53, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit52 - call void @_ZdlPv(ptr noundef nonnull %26) #28 + call void @_ZdlPv(ptr noundef nonnull %26) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit52, %if.then.i.i.i @@ -33793,7 +33805,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup92: ; preds = %_ZN7testing7MessageD2Ev.exit48, %lpad80 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit48 ], [ %20, %lpad80 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar54) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar54) #28 br label %ehcleanup93 ehcleanup93: ; preds = %ehcleanup92, %ehcleanup44, %lpad10 @@ -33803,7 +33815,7 @@ ehcleanup93: ; preds = %ehcleanup92, %ehcle br i1 %tobool.not.i.i.i55, label %eh.resume, label %if.then.i.i.i56 if.then.i.i.i56: ; preds = %ehcleanup93 - call void @_ZdlPv(ptr noundef nonnull %27) #28 + call void @_ZdlPv(ptr noundef nonnull %27) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i56, %ehcleanup93 @@ -33847,13 +33859,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -33916,13 +33928,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -33976,7 +33988,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -34008,7 +34020,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -34022,7 +34034,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -34031,28 +34043,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -34067,23 +34079,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -34117,7 +34129,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -34125,7 +34137,7 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -34166,13 +34178,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -34235,13 +34247,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -34295,7 +34307,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -34327,7 +34339,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -34341,7 +34353,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -34350,28 +34362,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -34386,23 +34398,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -34436,7 +34448,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -34444,7 +34456,7 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -34605,7 +34617,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 2 %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i3.i, i64 %.pre.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i, ptr nonnull align 4 %__first.sroa.0.0.lcssa, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.sroa.0.0.lcssa, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) br label %for.inc.i if.else.i: ; preds = %for.body.i @@ -34650,13 +34662,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -34699,7 +34711,7 @@ if.else.i.i: ; preds = %if.then to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %if.else.i.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE7MatchesES6_.exit common.resume: ; preds = %ehcleanup23, %lpad.i.i @@ -34709,7 +34721,7 @@ common.resume: ; preds = %ehcleanup23, %lpad. lpad.i.i: ; preds = %if.else.i.i %2 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE7MatchesES6_.exit: ; preds = %if.then, %invoke.cont.i.i @@ -34746,13 +34758,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup23 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -34772,12 +34784,12 @@ invoke.cont4: ; preds = %invoke.cont to label %invoke.cont5 unwind label %lpad invoke.cont5: ; preds = %invoke.cont4 - %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 %cmp.i16 = icmp ult i64 %call.i, 21 br i1 %cmp.i16, label %if.then9, label %_ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %invoke.cont5 - %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #27 + %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #28 %cmp2.i = icmp eq i64 %call1.i, -1 br i1 %cmp2.i, label %if.then9, label %if.end17 @@ -34810,7 +34822,7 @@ if.end17: ; preds = %invoke.cont13, %_ZN invoke.cont19: ; preds = %if.end17 %13 = load ptr, ptr %stream_.i, align 8 - %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 %cmp.i22 = icmp eq ptr %13, null %or.cond.not.i = or i1 %cmp.i22, %call.i21 br i1 %or.cond.not.i, label %invoke.cont22, label %if.then.i @@ -34824,27 +34836,27 @@ call1.i23.noexc: ; preds = %if.then.i to label %invoke.cont22 unwind label %lpad21 invoke.cont22: ; preds = %invoke.cont19, %call1.i23.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %return lpad21: ; preds = %call1.i23.noexc, %if.then.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 br label %ehcleanup ehcleanup: ; preds = %lpad21, %lpad6 %.pn = phi { ptr, i32 } [ %14, %lpad21 ], [ %12, %lpad6 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup23 ehcleanup23: ; preds = %lpad, %lpad.i, %ehcleanup %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %11, %lpad ], [ %6, %lpad.i ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %common.resume return: ; preds = %invoke.cont22, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE7MatchesES6_.exit @@ -34863,7 +34875,7 @@ define linkonce_odr dso_local void @_ZN7testing25StringMatchResultListenerD2Ev(p entry: store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %this, align 8 %ss_ = getelementptr inbounds %"class.testing::StringMatchResultListener", ptr %this, i64 0, i32 1 - tail call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_) #27 + tail call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_) #28 ret void } @@ -34901,7 +34913,7 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i @@ -34914,7 +34926,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::LtMatcher, int, testing::internal::GtMatcher>, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -34930,7 +34942,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -34946,7 +34958,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -34965,7 +34977,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -34980,7 +34992,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -34994,12 +35006,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -35101,7 +35113,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %17 = landingpad { ptr, i32 } catch ptr null %18 = extractvalue { ptr, i32 } %17, 0 - call void @__clang_call_terminate(ptr %18) #31 + call void @__clang_call_terminate(ptr %18) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont9, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -35111,8 +35123,8 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont9, %_ZNK lpad8: ; preds = %if.else.i.i %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #28 resume { ptr, i32 } %19 while.end: ; preds = %_ZN7testing7MatcherIRKiED2Ev.exit, %entry @@ -35132,7 +35144,7 @@ for.body.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.body.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #28 %incdec.ptr.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i, i64 1 %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %1 br i1 %cmp.not.i.i.i, label %invoke.contthread-pre-split, label %for.body.i.i.i, !llvm.loop !481 @@ -35147,7 +35159,7 @@ invoke.cont: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i, label %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont, %if.then.i.i @@ -35188,7 +35200,7 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKiED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i @@ -35229,11 +35241,11 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -35253,13 +35265,13 @@ if.else: ; preds = %entry to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont3 @@ -35286,13 +35298,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -35340,7 +35352,7 @@ terminate.lpad: ; preds = %if.then.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable } @@ -35378,11 +35390,11 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKiED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -35477,7 +35489,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i2 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont7.thread, %invoke.cont7, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i2 @@ -35487,7 +35499,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont7.thread lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -35563,7 +35575,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i2 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i2 @@ -35573,7 +35585,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -35618,7 +35630,7 @@ entry: br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIN7testing7MatcherIRKiEESaIS4_EE12_M_check_lenEmPKc.exit if.then.i: ; preds = %entry - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIN7testing7MatcherIRKiEESaIS4_EE12_M_check_lenEmPKc.exit: ; preds = %entry @@ -35637,7 +35649,7 @@ _ZNKSt6vectorIN7testing7MatcherIRKiEESaIS4_EE12_M_check_lenEmPKc.exit: ; preds = _ZNSt16allocator_traitsISaIN7testing7MatcherIRKiEEEE8allocateERS5_m.exit.i: ; preds = %_ZNKSt6vectorIN7testing7MatcherIRKiEESaIS4_EE12_M_check_lenEmPKc.exit %mul.i.i.i = mul nuw nsw i64 %cond.i, 24 - %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #29 + %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #30 br label %invoke.cont invoke.cont: ; preds = %_ZNSt16allocator_traitsISaIN7testing7MatcherIRKiEEEE8allocateERS5_m.exit.i, %_ZNKSt6vectorIN7testing7MatcherIRKiEESaIS4_EE12_M_check_lenEmPKc.exit @@ -35736,7 +35748,7 @@ for.body.i.i.i: ; preds = %invoke.cont14, %for %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.body.i.i.i ], [ %1, %invoke.cont14 ] %vtable.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i, align 8 %14 = load ptr, ptr %vtable.i.i.i.i, align 8 - tail call void %14(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #27 + tail call void %14(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #28 %incdec.ptr.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i, i64 1 %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %0 br i1 %cmp.not.i.i.i, label %_ZSt8_DestroyIPN7testing7MatcherIRKiEES4_EvT_S6_RSaIT0_E.exit, label %for.body.i.i.i, !llvm.loop !481 @@ -35746,7 +35758,7 @@ _ZSt8_DestroyIPN7testing7MatcherIRKiEES4_EvT_S6_RSaIT0_E.exit: ; preds = %for.bo br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE13_M_deallocateEPS4_m.exit, label %if.then.i39 if.then.i39: ; preds = %_ZSt8_DestroyIPN7testing7MatcherIRKiEES4_EvT_S6_RSaIT0_E.exit - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE13_M_deallocateEPS4_m.exit _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE13_M_deallocateEPS4_m.exit: ; preds = %_ZSt8_DestroyIPN7testing7MatcherIRKiEES4_EvT_S6_RSaIT0_E.exit, %if.then.i39 @@ -35829,7 +35841,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -35896,13 +35908,13 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i2.i %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 - call void @__clang_call_terminate(ptr %23) #31 + call void @__clang_call_terminate(ptr %23) #32 unreachable common.resume: ; preds = %lpad, %lpad.i %ref.tmp.sink = phi ptr [ %ref.tmp, %lpad ], [ %ref.tmp.i, %lpad.i ] %common.resume.op = phi { ptr, i32 } [ %25, %lpad ], [ %24, %lpad.i ] - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #28 resume { ptr, i32 } %common.resume.op lpad.i: ; preds = %if.else.i.i.i.i @@ -35991,7 +36003,7 @@ for.body.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !481 @@ -36006,7 +36018,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -36028,7 +36040,7 @@ for.body.i.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #28 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i.i, label %invoke.contthread-pre-split.i.i, label %for.body.i.i.i.i.i, !llvm.loop !481 @@ -36043,11 +36055,11 @@ invoke.cont.i.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIiSaIiEEED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIiSaIiEEED2Ev.exit _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -36092,7 +36104,7 @@ if.else.i: ; preds = %if.then5 to label %invoke.cont3.i unwind label %lpad.i invoke.cont3.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53, %lpad.body, %lpad.i24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i42, %lpad.i @@ -36102,7 +36114,7 @@ common.resume: ; preds = %_ZNKSt14default_del lpad.i: ; preds = %if.else.i %4 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit: ; preds = %if.then5, %invoke.cont3.i @@ -36149,7 +36161,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIiSaIiEEE8ElementsEm.exit lpad.i24: ; preds = %invoke.cont2.i, %invoke.cont.i, %if.else8 @@ -36163,7 +36175,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %14, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %common.resume _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIiSaIiEEE8ElementsEm.exit: ; preds = %invoke.cont4.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i @@ -36179,11 +36191,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIiSaIiEEE8ElementsEm.exi lpad.i28: ; preds = %.noexc %16 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i26) %call13 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i27, ptr noundef nonnull @.str.385) to label %invoke.cont12 unwind label %lpad @@ -36197,7 +36209,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %17, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %18 = load ptr, ptr %vfn.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -36227,13 +36239,13 @@ if.else.i40: ; preds = %for.body to label %invoke.cont3.i43 unwind label %lpad.i42 invoke.cont3.i43: ; preds = %if.else.i40 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45 lpad.i42: ; preds = %if.else.i40 %23 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45: ; preds = %for.body, %invoke.cont3.i43 @@ -36277,7 +36289,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i54 = load ptr, ptr %29, align 8 %vfn.i.i.i55 = getelementptr inbounds ptr, ptr %vtable.i.i.i54, i64 1 %30 = load ptr, ptr %vfn.i.i.i55, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45, %if.then23 @@ -36343,7 +36355,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIiSaIiEEE8ElementsEm.exit lpad.i: ; preds = %invoke.cont2.i, %invoke.cont.i, %if.end @@ -36357,7 +36369,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %9, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %common.resume common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i36, %lpad.body, %lpad.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i27 @@ -36377,11 +36389,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIiSaIiEEE8ElementsEm.exi lpad.i16: ; preds = %.noexc %11 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i15) %call7 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i, ptr noundef nonnull @.str.393) to label %invoke.cont6 unwind label %lpad @@ -36395,7 +36407,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont6, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -36425,13 +36437,13 @@ if.else.i: ; preds = %for.body to label %invoke.cont.i28 unwind label %lpad.i27 invoke.cont.i28: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit lpad.i27: ; preds = %if.else.i %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit: ; preds = %for.body, %invoke.cont.i28 @@ -36475,7 +36487,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i37 = load ptr, ptr %24, align 8 %vfn.i.i.i38 = getelementptr inbounds ptr, ptr %vtable.i.i.i37, i64 1 %25 = load ptr, ptr %vfn.i.i.i38, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #27 + call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit, %if.then16 @@ -36515,7 +36527,7 @@ entry: br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i if.then.i.i: ; preds = %entry - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #31 unreachable _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i: ; preds = %entry @@ -36529,7 +36541,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %sub.ptr.div.i.i, 5 - %call5.i.i.i.i2.i.i18 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i2.i.i18 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 store ptr %call5.i.i.i.i2.i.i18, ptr %explanations, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %explanations, i64 0, i32 1 store ptr %call5.i.i.i.i2.i.i18, ptr %_M_finish.i.i.i, align 8 @@ -36541,7 +36553,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i %__cur.06.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %call5.i.i.i.i2.i.i18, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] %__n.addr.05.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %sub.ptr.div.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #28 %dec.i.i.i.i.i = add i64 %__n.addr.05.i.i.i.i.i, -1 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.06.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq i64 %dec.i.i.i.i.i, 0 @@ -36605,7 +36617,7 @@ if.else.i.us: ; preds = %call.i.noexc.us to label %invoke.cont.i.us unwind label %lpad.i.split.us invoke.cont.i.us: ; preds = %.noexc30.us - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i.us if.end.i.us: ; preds = %invoke.cont.i.us, %call.i.noexc.us @@ -36621,10 +36633,10 @@ invoke.cont16.us: ; preds = %if.end.i.us invoke.cont20.us: ; preds = %invoke.cont16.us %add.ptr.i34.us = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge192.us - %call22.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i34.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + %call22.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i34.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br i1 %call5.i31.us, label %for.inc.us, label %for.end for.inc.us: ; preds = %invoke.cont20.us @@ -36647,7 +36659,7 @@ lpad15.split.us: ; preds = %invoke.cont16.us, % lpad.i.split.us: ; preds = %.noexc30.us %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %lpad15.body land.rhs: ; preds = %land.rhs.lr.ph, %for.inc @@ -36692,7 +36704,7 @@ lpad3.loopexit.split-lp.loopexit.split-lp: ; preds = %call1.i.noexc, %if. lpad15.body: ; preds = %lpad.i.split.us, %lpad15.split.us %eh.lpad-body = phi { ptr, i32 } [ %13, %lpad15.split.us ], [ %14, %lpad.i.split.us ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup call.i1.i.noexc: ; preds = %for.body @@ -36707,13 +36719,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc40 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc40 %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -36809,7 +36821,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %34, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %35 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %35(ptr noundef nonnull align 8 dereferenceable(128) %34) #27 + call void %35(ptr noundef nonnull align 8 dereferenceable(128) %34) #28 br label %invoke.cont52 lpad.i57: ; preds = %invoke.cont2.i, %invoke.cont.i58, %.noexc60 @@ -36823,7 +36835,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %37, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %38 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #27 + call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #28 br label %ehcleanup invoke.cont52: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont4.i @@ -36844,11 +36856,11 @@ if.then.i66: ; preds = %invoke.cont52 lpad.i.i67: ; preds = %.noexc69 %40 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i63) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i63) #28 br label %lpad53.body _ZN7testinglsERSoRKNS_7MessageE.exit.i: ; preds = %.noexc69 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i63) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i63) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i63) br label %invoke.cont54 @@ -36861,7 +36873,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %41, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %42 = load ptr, ptr %vfn.i.i.i, align 8 - call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #27 + call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont54, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -36883,7 +36895,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i73 = load ptr, ptr %44, align 8 %vfn.i.i.i74 = getelementptr inbounds ptr, ptr %vtable.i.i.i73, i64 1 %45 = load ptr, ptr %vfn.i.i.i74, align 8 - call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #27 + call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #28 br label %_ZN7testing7MessageD2Ev.exit75 _ZN7testing7MessageD2Ev.exit75: ; preds = %lpad53.body, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -36930,7 +36942,7 @@ if.then.i90.invoke.cont66_crit_edge: ; preds = %if.then.i90 invoke.cont66: ; preds = %if.then.i90.invoke.cont66_crit_edge, %if.then61, %invoke.cont62, %invoke.cont64 %47 = phi ptr [ %.pre, %if.then.i90.invoke.cont66_crit_edge ], [ null, %if.then61 ], [ null, %invoke.cont62 ], [ null, %invoke.cont64 ] %add.ptr.i94 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge.lcssa - %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i94) #27 + %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i94) #28 %cmp.i96 = icmp eq ptr %47, null %or.cond.not.i = or i1 %cmp.i96, %call.i br i1 %or.cond.not.i, label %cleanup, label %if.then.i97 @@ -36952,7 +36964,7 @@ for.body78: ; preds = %if.end72, %for.inc9 %reason_printed.0226 = phi i8 [ %reason_printed.1, %for.inc97 ], [ 0, %if.end72 ] %storemerge15225 = phi i64 [ %inc98, %for.inc97 ], [ 0, %if.end72 ] %add.ptr.i107 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge15225 - %call81 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i107) #27 + %call81 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i107) #28 br i1 %call81, label %for.inc97, label %if.then82 if.then82: ; preds = %for.body78 @@ -37027,7 +37039,7 @@ cleanup: ; preds = %for.inc97, %invoke. for.body.i.i.i.i: ; preds = %cleanup, %for.body.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %52, %cleanup ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i142 = icmp eq ptr %incdec.ptr.i.i.i.i, %53 br i1 %cmp.not.i.i.i.i142, label %invoke.cont.i143, label %for.body.i.i.i.i, !llvm.loop !557 @@ -37037,7 +37049,7 @@ invoke.cont.i143: ; preds = %for.body.i.i.i.i, % br i1 %tobool.not.i.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i143 - call void @_ZdlPv(ptr noundef nonnull %52) #28 + call void @_ZdlPv(ptr noundef nonnull %52) #29 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i143, %if.then.i.i.i @@ -37045,7 +37057,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.ex ehcleanup: ; preds = %lpad3.loopexit, %lpad3.loopexit.split-lp.loopexit.split, %lpad3.loopexit.split-lp.loopexit.split.us, %lpad3.loopexit.split-lp.loopexit.split-lp, %lpad.i57, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i.i, %_ZN7testing7MessageD2Ev.exit75, %lpad15.body %.pn = phi { ptr, i32 } [ %eh.lpad-body70, %_ZN7testing7MessageD2Ev.exit75 ], [ %eh.lpad-body, %lpad15.body ], [ %18, %lpad.i.i ], [ %36, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i ], [ %36, %lpad.i57 ], [ %lpad.loopexit, %lpad3.loopexit ], [ %lpad.loopexit.split-lp174, %lpad3.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit173, %lpad3.loopexit.split-lp.loopexit.split ], [ %lpad.loopexit173.us, %lpad3.loopexit.split-lp.loopexit.split.us ] - call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #27 + call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #28 resume { ptr, i32 } %.pn } @@ -37055,7 +37067,7 @@ declare void @_ZNK7testing7Message9GetStringB5cxx11Ev(ptr sret(%"class.std::__cx define linkonce_odr dso_local void @_ZN7testing7MessageC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(8) %this, ptr noundef nonnull align 8 dereferenceable(8) %msg) unnamed_addr #3 comdat align 2 personality ptr @__gxx_personality_v0 { entry: %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 - %call = tail call noalias noundef nonnull dereferenceable(392) ptr @_Znwm(i64 noundef 392) #29 + %call = tail call noalias noundef nonnull dereferenceable(392) ptr @_Znwm(i64 noundef 392) #30 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %call) to label %invoke.cont unwind label %lpad @@ -37070,13 +37082,13 @@ invoke.cont5: ; preds = %invoke.cont to label %invoke.cont7 unwind label %lpad6 invoke.cont7: ; preds = %invoke.cont5 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 br label %eh.resume lpad4: ; preds = %invoke.cont @@ -37087,7 +37099,7 @@ lpad4: ; preds = %invoke.cont lpad6: ; preds = %invoke.cont5 %2 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup ehcleanup: ; preds = %lpad6, %lpad4 @@ -37100,7 +37112,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i = load ptr, ptr %3, align 8 %vfn.i.i = getelementptr inbounds ptr, ptr %vtable.i.i, i64 1 %4 = load ptr, ptr %vfn.i.i, align 8 - call void %4(ptr noundef nonnull align 8 dereferenceable(128) %3) #27 + call void %4(ptr noundef nonnull align 8 dereferenceable(128) %3) #28 br label %_ZNSt10unique_ptrINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EED2Ev.exit _ZNSt10unique_ptrINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EED2Ev.exit: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i @@ -37129,7 +37141,7 @@ entry: for.body.i.i.i: ; preds = %entry, %for.body.i.i.i %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.body.i.i.i ], [ %0, %entry ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i) #28 %incdec.ptr.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i, i64 1 %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %1 br i1 %cmp.not.i.i.i, label %invoke.contthread-pre-split, label %for.body.i.i.i, !llvm.loop !557 @@ -37144,7 +37156,7 @@ invoke.cont: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i, label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont, %if.then.i.i @@ -37163,7 +37175,7 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr dso_local void @_ZN7testing8internal24DummyMatchResultListenerD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 comdat align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -37201,11 +37213,11 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -37225,13 +37237,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -37279,7 +37291,7 @@ terminate.lpad: ; preds = %if.then.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable } @@ -37317,11 +37329,11 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -37380,11 +37392,11 @@ _ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKSt6vectorIiSaIiEEEEEclEPS8 %vtable.i.i.i = load ptr, ptr %0, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %1 = load ptr, ptr %vfn.i.i.i, align 8 - tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #27 + tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #28 br label %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIiSaIiEEEESt14default_deleteISA_EEED2Ev.exit _ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIiSaIiEEEESt14default_deleteISA_EEED2Ev.exit: ; preds = %delete.notnull, %_ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKSt6vectorIiSaIiEEEEEclEPS8_.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %shared) #28 + tail call void @_ZdlPv(ptr noundef nonnull %shared) #29 br label %delete.end delete.end: ; preds = %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIiSaIiEEEESt14default_deleteISA_EEED2Ev.exit, %entry @@ -37396,8 +37408,8 @@ define linkonce_odr dso_local void @_ZN7testing25StringMatchResultListenerD0Ev(p entry: store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %this, align 8 %ss_.i = getelementptr inbounds %"class.testing::StringMatchResultListener", ptr %this, i64 0, i32 1 - tail call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -37419,7 +37431,7 @@ entry: %2 = load i32, ptr %status, align 4 %cmp = icmp eq i32 %2, 0 %cond = select i1 %cmp, ptr %call1, ptr %cond.i - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #28 %call.i6 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %name_str) to label %call.i.noexc unwind label %lpad @@ -37432,7 +37444,7 @@ call.i.noexc: ; preds = %entry br i1 %cmp.i5, label %if.then.i, label %if.end.i if.then.i: ; preds = %.noexc - invoke void @_ZSt19__throw_logic_errorPKc(ptr noundef nonnull @.str.486) #30 + invoke void @_ZSt19__throw_logic_errorPKc(ptr noundef nonnull @.str.486) #31 to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %if.then.i @@ -37441,18 +37453,18 @@ invoke.cont.i: ; preds = %if.then.i lpad.i: ; preds = %if.end.i, %if.then.i %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %name_str) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %name_str) #28 br label %lpad.body if.end.i: ; preds = %.noexc - %call.i.i = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %cond) #27 + %call.i.i = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %cond) #28 %add.ptr.i = getelementptr inbounds i8, ptr %cond, i64 %call.i.i invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %name_str, ptr noundef nonnull %cond, ptr noundef nonnull %add.ptr.i) to label %invoke.cont unwind label %lpad.i invoke.cont: ; preds = %if.end.i - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #27 - call void @free(ptr noundef %call1) #27 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #28 + call void @free(ptr noundef %call1) #28 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp, ptr noundef nonnull align 8 dereferenceable(32) %name_str) to label %invoke.cont3 unwind label %lpad2 @@ -37461,8 +37473,8 @@ invoke.cont3: ; preds = %invoke.cont to label %invoke.cont5 unwind label %lpad4 invoke.cont5: ; preds = %invoke.cont3 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %name_str) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %name_str) #28 ret void lpad: ; preds = %call.i.noexc, %entry @@ -37472,7 +37484,7 @@ lpad: ; preds = %call.i.noexc, %entr lpad.body: ; preds = %lpad.i, %lpad %eh.lpad-body = phi { ptr, i32 } [ %4, %lpad ], [ %3, %lpad.i ] - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #27 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #28 br label %eh.resume lpad2: ; preds = %invoke.cont @@ -37483,12 +37495,12 @@ lpad2: ; preds = %invoke.cont lpad4: ; preds = %invoke.cont3 %6 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp) #28 br label %ehcleanup ehcleanup: ; preds = %lpad4, %lpad2 %.pn = phi { ptr, i32 } [ %6, %lpad4 ], [ %5, %lpad2 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %name_str) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %name_str) #28 br label %eh.resume eh.resume: ; preds = %ehcleanup, %lpad.body @@ -37509,7 +37521,7 @@ entry: br i1 %cmp, label %if.then, label %if.end5 if.then: ; preds = %entry - %call1 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %s, ptr noundef nonnull @.str.401, i64 noundef 7) #27 + %call1 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %s, ptr noundef nonnull @.str.401, i64 noundef 7) #28 %cmp2.not = icmp eq i64 %call1, -1 br i1 %cmp2.not, label %if.end5, label %if.then3 @@ -37519,7 +37531,7 @@ if.then3: ; preds = %if.then br label %if.end5 if.end5: ; preds = %if.then, %if.then3, %entry - %call65 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %s, ptr noundef nonnull @_ZZN7testing8internal31CanonicalizeForStdLibVersioningENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9to_search, i64 noundef 0) #27 + %call65 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %s, ptr noundef nonnull @_ZZN7testing8internal31CanonicalizeForStdLibVersioningENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9to_search, i64 noundef 0) #28 %cmp76 = icmp eq i64 %call65, -1 br i1 %cmp76, label %while.end, label %if.end9 @@ -37527,12 +37539,12 @@ if.end9: ; preds = %if.end5, %if.end9 %call67 = phi i64 [ %call6, %if.end9 ], [ %call65, %if.end5 ] %call10 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKc(ptr noundef nonnull align 8 dereferenceable(32) %s, i64 noundef %call67, i64 noundef 2, ptr noundef nonnull @_ZZN7testing8internal31CanonicalizeForStdLibVersioningENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE11replace_str) %add = add nuw i64 %call67, 1 - %call6 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %s, ptr noundef nonnull @_ZZN7testing8internal31CanonicalizeForStdLibVersioningENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9to_search, i64 noundef %add) #27 + %call6 = tail call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %s, ptr noundef nonnull @_ZZN7testing8internal31CanonicalizeForStdLibVersioningENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9to_search, i64 noundef %add) #28 %cmp7 = icmp eq i64 %call6, -1 br i1 %cmp7, label %while.end, label %if.end9, !llvm.loop !558 while.end: ; preds = %if.end9, %if.end5 - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %agg.result, ptr noundef nonnull align 8 dereferenceable(32) %s) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %agg.result, ptr noundef nonnull align 8 dereferenceable(32) %s) #28 ret void } @@ -37564,34 +37576,34 @@ entry: br i1 %cmp.i.not.i, label %if.then, label %if.end if.then: ; preds = %entry - %call.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !559 - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %call.i) #27, !noalias !559 + %call.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !559 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %call.i) #28, !noalias !559 %1 = load ptr, ptr %message_, align 8 store ptr %call.i, ptr %message_, align 8 %tobool.not.i.i.i.i = icmp eq ptr %1, null br i1 %tobool.not.i.i.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i: ; preds = %if.then - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #27 - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 %.pre = load ptr, ptr %message_, align 8 br label %if.end if.end: ; preds = %if.then, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i, %entry %2 = phi ptr [ %call.i, %if.then ], [ %.pre, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i ], [ %0, %entry ] call void @_ZNK7testing7Message9GetStringB5cxx11Ev(ptr nonnull sret(%"class.std::__cxx11::basic_string") align 8 %ref.tmp6, ptr noundef nonnull align 8 dereferenceable(8) %a_message) - %call7 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + %call7 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 %call8 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef %call7) to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 ret void lpad: ; preds = %if.end %3 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp6) #28 resume { ptr, i32 } %3 } @@ -37754,7 +37766,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 2 %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i2.i7, i64 %.pre.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i, ptr nonnull align 4 %__first.sroa.0.0.lcssa, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.sroa.0.0.lcssa, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) br label %for.inc.i if.else.i: ; preds = %for.body.i @@ -37789,7 +37801,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::GtMatcher, int, testing::internal::LtMatcher>, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -37805,7 +37817,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -37821,7 +37833,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -37840,7 +37852,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -37855,7 +37867,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -37869,12 +37881,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -37950,7 +37962,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i2 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i2 @@ -37960,7 +37972,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -38036,7 +38048,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i2 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i2 @@ -38046,7 +38058,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -38121,7 +38133,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -38188,13 +38200,13 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i2.i %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 - call void @__clang_call_terminate(ptr %23) #31 + call void @__clang_call_terminate(ptr %23) #32 unreachable common.resume: ; preds = %lpad, %lpad.i %ref.tmp.sink = phi ptr [ %ref.tmp, %lpad ], [ %ref.tmp.i, %lpad.i ] %common.resume.op = phi { ptr, i32 } [ %25, %lpad ], [ %24, %lpad.i ] - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #28 resume { ptr, i32 } %common.resume.op lpad.i: ; preds = %if.else.i.i.i.i @@ -38221,14 +38233,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131MutatingTest_IsPartitioned_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131MutatingTest_IsPartitioned_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -38239,22 +38251,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131MutatingTest_IsPartitioned_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131MutatingTest_IsPartitioned_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -38273,32 +38285,32 @@ sw.bb31.i.i.i.i.i: %ref.tmp87 = alloca %"class.testing::Message", align 8 %ref.tmp90 = alloca %"class.testing::internal::AssertHelper", align 8 %ref.tmp91 = alloca %"class.std::__cxx11::basic_string", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 6 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(24) @constinit, i64 24, i1 false) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 %incdec.ptr.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 %0 = load i32, ptr %incdec.ptr.i.i, align 4 %1 = and i32 %0, 1 - %cmp.i317.not = icmp eq i32 %1, 0 - br i1 %cmp.i317.not, label %sw.bb38.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit + %cmp.i319.not = icmp eq i32 %1, 0 + br i1 %cmp.i319.not, label %sw.bb38.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit sw.bb38.i.i.i.i.i: ; preds = %sw.bb31.i.i.i.i.i %incdec.ptr.i22.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 %2 = load i32, ptr %incdec.ptr.i22.i.i.i.i.i, align 4 %3 = and i32 %2, 1 %cmp.i.not = icmp eq i32 %3, 0 - %spec.select.i.i.i.i.i = select i1 %cmp.i.not, ptr %add.ptr.i1.i, ptr %incdec.ptr.i22.i.i.i.i.i + %spec.select.i.i.i.i.i = select i1 %cmp.i.not, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %incdec.ptr.i22.i.i.i.i.i br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %sw.bb31.i.i.i.i.i, %sw.bb38.i.i.i.i.i %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i, %sw.bb31.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb38.i.i.i.i.i ] - %cmp.i.i.i = icmp eq ptr %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i, %add.ptr.i1.i + %cmp.i.i.i = icmp eq ptr %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i, %add.ptr.i.i.i.i.i.i.i.i.i.i %frombool = zext i1 %cmp.i.i.i to i8 store i8 %frombool, ptr %gtest_ar_, align 8 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 store ptr null, ptr %message_.i, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 - br i1 %cmp.i.i.i, label %for.body.i.i.i.i.i150.preheader, label %if.else + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 + br i1 %cmp.i.i.i, label %for.body.i.i.i.i.i152.preheader, label %if.else if.else: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) @@ -38309,7 +38321,7 @@ invoke.cont11: ; preds = %if.else to label %invoke.cont15 unwind label %lpad14 invoke.cont15: ; preds = %invoke.cont11 - %call16 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #27 + %call16 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 606, ptr noundef %call16) to label %invoke.cont18 unwind label %lpad17 @@ -38318,8 +38330,8 @@ invoke.cont18: ; preds = %invoke.cont15 to label %invoke.cont20 unwind label %lpad19 invoke.cont20: ; preds = %invoke.cont18 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #28 %4 = load ptr, ptr %ref.tmp9, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -38328,7 +38340,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %if.end lpad10: ; preds = %if.else @@ -38349,12 +38361,12 @@ lpad17: ; preds = %invoke.cont15 lpad19: ; preds = %invoke.cont18 %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #28 br label %ehcleanup22 ehcleanup22: ; preds = %lpad19, %lpad17 %.pn2 = phi { ptr, i32 } [ %9, %lpad19 ], [ %8, %lpad17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #28 br label %ehcleanup23 ehcleanup23: ; preds = %ehcleanup22, %lpad14 @@ -38367,7 +38379,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i28 = load ptr, ptr %10, align 8 %vfn.i.i.i29 = getelementptr inbounds ptr, ptr %vtable.i.i.i28, i64 1 %11 = load ptr, ptr %vfn.i.i.i29, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit30 _ZN7testing7MessageD2Ev.exit30: ; preds = %ehcleanup23, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i27 @@ -38378,59 +38390,59 @@ if.end: ; preds = %_ZNKSt14default_del store ptr null, ptr %ref.tmp9, align 8 %.pre = load ptr, ptr %message_.i, align 8 %cmp.not.i.i32 = icmp eq ptr %.pre, null - br i1 %cmp.not.i.i32, label %for.body.i.i.i.i.i150.preheader, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + br i1 %cmp.not.i.i32, label %for.body.i.i.i.i.i152.preheader, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pre) #27 - call void @_ZdlPv(ptr noundef nonnull %.pre) #28 - br label %for.body.i.i.i.i.i150.preheader + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pre) #28 + call void @_ZdlPv(ptr noundef nonnull %.pre) #29 + br label %for.body.i.i.i.i.i152.preheader -for.body.i.i.i.i.i150.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end +for.body.i.i.i.i.i152.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end store ptr null, ptr %message_.i, align 8 - %call5.i.i.i.i2.i33 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i2.i33 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i33, ptr noundef nonnull align 4 dereferenceable(24) @constinit.404, i64 24, i1 false) - %__first.sroa.0.051.i.i.i.i.i152.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 8 - %12 = load i32, ptr %__first.sroa.0.051.i.i.i.i.i152.ptr, align 4 + %__first.sroa.0.051.i.i.i.i.i154.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 8 + %12 = load i32, ptr %__first.sroa.0.051.i.i.i.i.i154.ptr, align 4 %13 = and i32 %12, 1 - %cmp.i336.not = icmp eq i32 %13, 0 - br i1 %cmp.i336.not, label %if.end.i.i.i.i.i154, label %_ZNSt6vectorIiSaIiEED2Ev.exit50 + %cmp.i338.not = icmp eq i32 %13, 0 + br i1 %cmp.i338.not, label %if.end.i.i.i.i.i156, label %_ZNSt6vectorIiSaIiEED2Ev.exit51 -if.end.i.i.i.i.i154: ; preds = %for.body.i.i.i.i.i150.preheader - %incdec.ptr.i.i.i.i.i.i155 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 12 - %14 = load i32, ptr %incdec.ptr.i.i.i.i.i.i155, align 4 +if.end.i.i.i.i.i156: ; preds = %for.body.i.i.i.i.i152.preheader + %incdec.ptr.i.i.i.i.i.i157 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 12 + %14 = load i32, ptr %incdec.ptr.i.i.i.i.i.i157, align 4 %15 = and i32 %14, 1 - %cmp.i335.not = icmp eq i32 %15, 0 - br i1 %cmp.i335.not, label %if.end10.i.i.i.i.i157, label %_ZNSt6vectorIiSaIiEED2Ev.exit50 + %cmp.i337.not = icmp eq i32 %15, 0 + br i1 %cmp.i337.not, label %if.end10.i.i.i.i.i159, label %_ZNSt6vectorIiSaIiEED2Ev.exit51 -if.end10.i.i.i.i.i157: ; preds = %if.end.i.i.i.i.i154 - %incdec.ptr.i10.i.i.i.i.i158 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 16 - %16 = load i32, ptr %incdec.ptr.i10.i.i.i.i.i158, align 4 +if.end10.i.i.i.i.i159: ; preds = %if.end.i.i.i.i.i156 + %incdec.ptr.i10.i.i.i.i.i160 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 16 + %16 = load i32, ptr %incdec.ptr.i10.i.i.i.i.i160, align 4 %17 = and i32 %16, 1 - %cmp.i334.not = icmp eq i32 %17, 0 - br i1 %cmp.i334.not, label %if.end16.i.i.i.i.i160, label %_ZNSt6vectorIiSaIiEED2Ev.exit50 + %cmp.i336.not = icmp eq i32 %17, 0 + br i1 %cmp.i336.not, label %if.end16.i.i.i.i.i162, label %_ZNSt6vectorIiSaIiEED2Ev.exit51 -if.end16.i.i.i.i.i160: ; preds = %if.end10.i.i.i.i.i157 - %incdec.ptr.i12.i.i.i.i.i161 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 20 - %18 = load i32, ptr %incdec.ptr.i12.i.i.i.i.i161, align 4 +if.end16.i.i.i.i.i162: ; preds = %if.end10.i.i.i.i.i159 + %incdec.ptr.i12.i.i.i.i.i163 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i33, i64 20 + %18 = load i32, ptr %incdec.ptr.i12.i.i.i.i.i163, align 4 %19 = and i32 %18, 1 - %cmp.i333.not = icmp eq i32 %19, 0 - %spec.select = select i1 %cmp.i333.not, i64 24, i64 20 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit50 - -_ZNSt6vectorIiSaIiEED2Ev.exit50: ; preds = %if.end16.i.i.i.i.i160, %for.body.i.i.i.i.i150.preheader, %if.end10.i.i.i.i.i157, %if.end.i.i.i.i.i154 - %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i138.idx = phi i64 [ 12, %if.end.i.i.i.i.i154 ], [ 16, %if.end10.i.i.i.i.i157 ], [ 8, %for.body.i.i.i.i.i150.preheader ], [ %spec.select, %if.end16.i.i.i.i.i160 ] - %cmp.i.i.i139 = icmp ne i64 %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i138.idx, 24 - %frombool40 = zext i1 %cmp.i.i.i139 to i8 + %cmp.i335.not = icmp eq i32 %19, 0 + %spec.select = select i1 %cmp.i335.not, i64 24, i64 20 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit51 + +_ZNSt6vectorIiSaIiEED2Ev.exit51: ; preds = %if.end16.i.i.i.i.i162, %for.body.i.i.i.i.i152.preheader, %if.end10.i.i.i.i.i159, %if.end.i.i.i.i.i156 + %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i140.idx = phi i64 [ 12, %if.end.i.i.i.i.i156 ], [ 16, %if.end10.i.i.i.i.i159 ], [ 8, %for.body.i.i.i.i.i152.preheader ], [ %spec.select, %if.end16.i.i.i.i.i162 ] + %cmp.i.i.i141 = icmp ne i64 %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i140.idx, 24 + %frombool40 = zext i1 %cmp.i.i.i141 to i8 store i8 %frombool40, ptr %gtest_ar_25, align 8 - %message_.i46 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_25, i64 0, i32 1 - store ptr null, ptr %message_.i46, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i33) #28 + %message_.i47 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_25, i64 0, i32 1 + store ptr null, ptr %message_.i47, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i33) #29 %20 = load i8, ptr %gtest_ar_25, align 8 %21 = and i8 %20, 1 - %tobool.i51.not = icmp eq i8 %21, 0 - br i1 %tobool.i51.not, label %if.else46, label %if.end62 + %tobool.i52.not = icmp eq i8 %21, 0 + br i1 %tobool.i52.not, label %if.else46, label %if.end62 -if.else46: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit50 +if.else46: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit51 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp47) to label %invoke.cont49 unwind label %lpad48 @@ -38439,7 +38451,7 @@ invoke.cont49: ; preds = %if.else46 to label %invoke.cont53 unwind label %lpad52 invoke.cont53: ; preds = %invoke.cont49 - %call54 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #27 + %call54 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 608, ptr noundef %call54) to label %invoke.cont56 unwind label %lpad55 @@ -38448,20 +38460,20 @@ invoke.cont56: ; preds = %invoke.cont53 to label %invoke.cont58 unwind label %lpad57 invoke.cont58: ; preds = %invoke.cont56 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #28 %22 = load ptr, ptr %ref.tmp47, align 8 - %cmp.not.i.i56 = icmp eq ptr %22, null - br i1 %cmp.not.i.i56, label %_ZN7testing7MessageD2Ev.exit60, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i57 + %cmp.not.i.i57 = icmp eq ptr %22, null + br i1 %cmp.not.i.i57, label %_ZN7testing7MessageD2Ev.exit61, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i58 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i57: ; preds = %invoke.cont58 - %vtable.i.i.i58 = load ptr, ptr %22, align 8 - %vfn.i.i.i59 = getelementptr inbounds ptr, ptr %vtable.i.i.i58, i64 1 - %23 = load ptr, ptr %vfn.i.i.i59, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #27 - br label %_ZN7testing7MessageD2Ev.exit60 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i58: ; preds = %invoke.cont58 + %vtable.i.i.i59 = load ptr, ptr %22, align 8 + %vfn.i.i.i60 = getelementptr inbounds ptr, ptr %vtable.i.i.i59, i64 1 + %23 = load ptr, ptr %vfn.i.i.i60, align 8 + call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 + br label %_ZN7testing7MessageD2Ev.exit61 -_ZN7testing7MessageD2Ev.exit60: ; preds = %invoke.cont58, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i57 +_ZN7testing7MessageD2Ev.exit61: ; preds = %invoke.cont58, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i58 store ptr null, ptr %ref.tmp47, align 8 br label %if.end62 @@ -38483,92 +38495,92 @@ lpad55: ; preds = %invoke.cont53 lpad57: ; preds = %invoke.cont56 %27 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp50) #28 br label %ehcleanup60 ehcleanup60: ; preds = %lpad57, %lpad55 %.pn8 = phi { ptr, i32 } [ %27, %lpad57 ], [ %26, %lpad55 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp51) #28 br label %ehcleanup61 ehcleanup61: ; preds = %ehcleanup60, %lpad52 %.pn8.pn = phi { ptr, i32 } [ %.pn8, %ehcleanup60 ], [ %25, %lpad52 ] %28 = load ptr, ptr %ref.tmp47, align 8 - %cmp.not.i.i61 = icmp eq ptr %28, null - br i1 %cmp.not.i.i61, label %_ZN7testing7MessageD2Ev.exit65, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i62 + %cmp.not.i.i62 = icmp eq ptr %28, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i62: ; preds = %ehcleanup61 - %vtable.i.i.i63 = load ptr, ptr %28, align 8 - %vfn.i.i.i64 = getelementptr inbounds ptr, ptr %vtable.i.i.i63, i64 1 - %29 = load ptr, ptr %vfn.i.i.i64, align 8 - call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #27 - br label %_ZN7testing7MessageD2Ev.exit65 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %ehcleanup61 + %vtable.i.i.i64 = load ptr, ptr %28, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %29 = load ptr, ptr %vfn.i.i.i65, align 8 + call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #28 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit65: ; preds = %ehcleanup61, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i62 +_ZN7testing7MessageD2Ev.exit66: ; preds = %ehcleanup61, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp47, align 8 br label %eh.resume -if.end62: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit50, %_ZN7testing7MessageD2Ev.exit60 - %30 = load ptr, ptr %message_.i46, align 8 - %cmp.not.i.i67 = icmp eq ptr %30, null - br i1 %cmp.not.i.i67, label %for.body.i.i.i.i.i255, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 +if.end62: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit51, %_ZN7testing7MessageD2Ev.exit61 + %30 = load ptr, ptr %message_.i47, align 8 + %cmp.not.i.i68 = icmp eq ptr %30, null + br i1 %cmp.not.i.i68, label %for.body.i.i.i.i.i257, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %if.end62 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #27 - call void @_ZdlPv(ptr noundef nonnull %30) #28 - br label %for.body.i.i.i.i.i255 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69: ; preds = %if.end62 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #28 + call void @_ZdlPv(ptr noundef nonnull %30) #29 + br label %for.body.i.i.i.i.i257 -for.body.i.i.i.i.i255: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68, %if.end62 - store ptr null, ptr %message_.i46, align 8 - %call5.i.i.i.i2.i70 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 - %add.ptr.i1.i75 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i70, i64 6 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i70, ptr noundef nonnull align 4 dereferenceable(24) @constinit.406, i64 24, i1 false) - %incdec.ptr.i.i229 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i70, i64 1 - %scevgep446 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i70, i64 20 - %31 = load i32, ptr %incdec.ptr.i.i229, align 4 +for.body.i.i.i.i.i257: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69, %if.end62 + store ptr null, ptr %message_.i47, align 8 + %call5.i.i.i.i2.i71 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i71, ptr noundef nonnull align 4 dereferenceable(24) @constinit.406, i64 24, i1 false) + %add.ptr.i.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i71, i64 24 + %incdec.ptr.i.i231 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i71, i64 1 + %scevgep448 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i71, i64 20 + %31 = load i32, ptr %incdec.ptr.i.i231, align 4 %32 = and i32 %31, 1 - %cmp.i350.not = icmp eq i32 %32, 0 - br i1 %cmp.i350.not, label %if.end.i.i.i.i.i259, label %_ZNSt6vectorIiSaIiEED2Ev.exit87 + %cmp.i352.not = icmp eq i32 %32, 0 + br i1 %cmp.i352.not, label %if.end.i.i.i.i.i261, label %_ZNSt6vectorIiSaIiEED2Ev.exit89 -if.end.i.i.i.i.i259: ; preds = %for.body.i.i.i.i.i255 - %incdec.ptr.i.i.i.i.i.i260 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i70, i64 2 - %33 = load i32, ptr %incdec.ptr.i.i.i.i.i.i260, align 4 +if.end.i.i.i.i.i261: ; preds = %for.body.i.i.i.i.i257 + %incdec.ptr.i.i.i.i.i.i262 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i71, i64 2 + %33 = load i32, ptr %incdec.ptr.i.i.i.i.i.i262, align 4 %34 = and i32 %33, 1 - %cmp.i349.not = icmp eq i32 %34, 0 - br i1 %cmp.i349.not, label %if.end10.i.i.i.i.i262, label %_ZNSt6vectorIiSaIiEED2Ev.exit87 + %cmp.i351.not = icmp eq i32 %34, 0 + br i1 %cmp.i351.not, label %if.end10.i.i.i.i.i264, label %_ZNSt6vectorIiSaIiEED2Ev.exit89 -if.end10.i.i.i.i.i262: ; preds = %if.end.i.i.i.i.i259 - %incdec.ptr.i10.i.i.i.i.i263 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i70, i64 3 - %35 = load i32, ptr %incdec.ptr.i10.i.i.i.i.i263, align 4 +if.end10.i.i.i.i.i264: ; preds = %if.end.i.i.i.i.i261 + %incdec.ptr.i10.i.i.i.i.i265 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i71, i64 3 + %35 = load i32, ptr %incdec.ptr.i10.i.i.i.i.i265, align 4 %36 = and i32 %35, 1 - %cmp.i348.not = icmp eq i32 %36, 0 - br i1 %cmp.i348.not, label %if.end16.i.i.i.i.i265, label %_ZNSt6vectorIiSaIiEED2Ev.exit87 + %cmp.i350.not = icmp eq i32 %36, 0 + br i1 %cmp.i350.not, label %if.end16.i.i.i.i.i267, label %_ZNSt6vectorIiSaIiEED2Ev.exit89 -if.end16.i.i.i.i.i265: ; preds = %if.end10.i.i.i.i.i262 - %incdec.ptr.i12.i.i.i.i.i266 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i70, i64 4 - %37 = load i32, ptr %incdec.ptr.i12.i.i.i.i.i266, align 4 +if.end16.i.i.i.i.i267: ; preds = %if.end10.i.i.i.i.i264 + %incdec.ptr.i12.i.i.i.i.i268 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i71, i64 4 + %37 = load i32, ptr %incdec.ptr.i12.i.i.i.i.i268, align 4 %38 = and i32 %37, 1 - %cmp.i347.not = icmp eq i32 %38, 0 - br i1 %cmp.i347.not, label %sw.bb38.i.i.i.i.i238, label %_ZNSt6vectorIiSaIiEED2Ev.exit87 + %cmp.i349.not = icmp eq i32 %38, 0 + br i1 %cmp.i349.not, label %sw.bb38.i.i.i.i.i240, label %_ZNSt6vectorIiSaIiEED2Ev.exit89 -sw.bb38.i.i.i.i.i238: ; preds = %if.end16.i.i.i.i.i265 - %39 = load i32, ptr %scevgep446, align 4 +sw.bb38.i.i.i.i.i240: ; preds = %if.end16.i.i.i.i.i267 + %39 = load i32, ptr %scevgep448, align 4 %40 = and i32 %39, 1 - %cmp.i344.not = icmp eq i32 %40, 0 - %spec.select.i.i.i.i.i241 = select i1 %cmp.i344.not, ptr %add.ptr.i1.i75, ptr %scevgep446 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit87 - -_ZNSt6vectorIiSaIiEED2Ev.exit87: ; preds = %sw.bb38.i.i.i.i.i238, %if.end.i.i.i.i.i259, %if.end10.i.i.i.i.i262, %if.end16.i.i.i.i.i265, %for.body.i.i.i.i.i255 - %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i243 = phi ptr [ %spec.select.i.i.i.i.i241, %sw.bb38.i.i.i.i.i238 ], [ %incdec.ptr.i.i.i.i.i.i260, %if.end.i.i.i.i.i259 ], [ %incdec.ptr.i10.i.i.i.i.i263, %if.end10.i.i.i.i.i262 ], [ %incdec.ptr.i12.i.i.i.i.i266, %if.end16.i.i.i.i.i265 ], [ %incdec.ptr.i.i229, %for.body.i.i.i.i.i255 ] - %cmp.i.i.i244 = icmp ne ptr %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i243, %add.ptr.i1.i75 - %41 = zext i1 %cmp.i.i.i244 to i8 + %cmp.i346.not = icmp eq i32 %40, 0 + %spec.select.i.i.i.i.i243 = select i1 %cmp.i346.not, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i78, ptr %scevgep448 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit89 + +_ZNSt6vectorIiSaIiEED2Ev.exit89: ; preds = %sw.bb38.i.i.i.i.i240, %if.end.i.i.i.i.i261, %if.end10.i.i.i.i.i264, %if.end16.i.i.i.i.i267, %for.body.i.i.i.i.i257 + %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i245 = phi ptr [ %spec.select.i.i.i.i.i243, %sw.bb38.i.i.i.i.i240 ], [ %incdec.ptr.i.i.i.i.i.i262, %if.end.i.i.i.i.i261 ], [ %incdec.ptr.i10.i.i.i.i.i265, %if.end10.i.i.i.i.i264 ], [ %incdec.ptr.i12.i.i.i.i.i268, %if.end16.i.i.i.i.i267 ], [ %incdec.ptr.i.i231, %for.body.i.i.i.i.i257 ] + %cmp.i.i.i246 = icmp ne ptr %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i245, %add.ptr.i.i.i.i.i.i.i.i.i.i78 + %41 = zext i1 %cmp.i.i.i246 to i8 store i8 %41, ptr %gtest_ar_64, align 8 - %message_.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_64, i64 0, i32 1 - store ptr null, ptr %message_.i83, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i70) #28 - br i1 %cmp.i.i.i244, label %_ZN7testing15AssertionResultD2Ev.exit106, label %if.else86 + %message_.i85 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_64, i64 0, i32 1 + store ptr null, ptr %message_.i85, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i71) #29 + br i1 %cmp.i.i.i246, label %_ZN7testing15AssertionResultD2Ev.exit108, label %if.else86 -if.else86: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit87 +if.else86: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit89 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp87) to label %invoke.cont89 unwind label %lpad88 @@ -38577,7 +38589,7 @@ invoke.cont89: ; preds = %if.else86 to label %invoke.cont93 unwind label %lpad92 invoke.cont93: ; preds = %invoke.cont89 - %call94 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp91) #27 + %call94 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp91) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 610, ptr noundef %call94) to label %invoke.cont96 unwind label %lpad95 @@ -38586,17 +38598,17 @@ invoke.cont96: ; preds = %invoke.cont93 to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont96 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp91) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp91) #28 %42 = load ptr, ptr %ref.tmp87, align 8 - %cmp.not.i.i93 = icmp eq ptr %42, null - br i1 %cmp.not.i.i93, label %if.end102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont98 - %vtable.i.i.i95 = load ptr, ptr %42, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %43 = load ptr, ptr %vfn.i.i.i96, align 8 - call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #27 + %cmp.not.i.i95 = icmp eq ptr %42, null + br i1 %cmp.not.i.i95, label %if.end102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96: ; preds = %invoke.cont98 + %vtable.i.i.i97 = load ptr, ptr %42, align 8 + %vfn.i.i.i98 = getelementptr inbounds ptr, ptr %vtable.i.i.i97, i64 1 + %43 = load ptr, ptr %vfn.i.i.i98, align 8 + call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #28 br label %if.end102 lpad88: ; preds = %if.else86 @@ -38617,49 +38629,49 @@ lpad95: ; preds = %invoke.cont93 lpad97: ; preds = %invoke.cont96 %47 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #28 br label %ehcleanup100 ehcleanup100: ; preds = %lpad97, %lpad95 %.pn14 = phi { ptr, i32 } [ %47, %lpad97 ], [ %46, %lpad95 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp91) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp91) #28 br label %ehcleanup101 ehcleanup101: ; preds = %ehcleanup100, %lpad92 %.pn14.pn = phi { ptr, i32 } [ %.pn14, %ehcleanup100 ], [ %45, %lpad92 ] %48 = load ptr, ptr %ref.tmp87, align 8 - %cmp.not.i.i98 = icmp eq ptr %48, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i100 = icmp eq ptr %48, null + br i1 %cmp.not.i.i100, label %_ZN7testing7MessageD2Ev.exit104, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup101 - %vtable.i.i.i100 = load ptr, ptr %48, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %49 = load ptr, ptr %vfn.i.i.i101, align 8 - call void %49(ptr noundef nonnull align 8 dereferenceable(128) %48) #27 - br label %_ZN7testing7MessageD2Ev.exit102 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %ehcleanup101 + %vtable.i.i.i102 = load ptr, ptr %48, align 8 + %vfn.i.i.i103 = getelementptr inbounds ptr, ptr %vtable.i.i.i102, i64 1 + %49 = load ptr, ptr %vfn.i.i.i103, align 8 + call void %49(ptr noundef nonnull align 8 dereferenceable(128) %48) #28 + br label %_ZN7testing7MessageD2Ev.exit104 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup101, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit104: ; preds = %ehcleanup101, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 store ptr null, ptr %ref.tmp87, align 8 br label %eh.resume -if.end102: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94, %invoke.cont98 +if.end102: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96, %invoke.cont98 store ptr null, ptr %ref.tmp87, align 8 - %.pre447 = load ptr, ptr %message_.i83, align 8 - %cmp.not.i.i104 = icmp eq ptr %.pre447, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 + %.pre449 = load ptr, ptr %message_.i85, align 8 + %cmp.not.i.i106 = icmp eq ptr %.pre449, null + br i1 %cmp.not.i.i106, label %_ZN7testing15AssertionResultD2Ev.exit108, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end102 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pre447) #27 - call void @_ZdlPv(ptr noundef nonnull %.pre447) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107: ; preds = %if.end102 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pre449) #28 + call void @_ZdlPv(ptr noundef nonnull %.pre449) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit108 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit87, %if.end102, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +_ZN7testing15AssertionResultD2Ev.exit108: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit89, %if.end102, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107 ret void -eh.resume: ; preds = %lpad88, %_ZN7testing7MessageD2Ev.exit102, %lpad48, %_ZN7testing7MessageD2Ev.exit65, %lpad10, %_ZN7testing7MessageD2Ev.exit30 - %gtest_ar_64.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit30 ], [ %gtest_ar_, %lpad10 ], [ %gtest_ar_25, %_ZN7testing7MessageD2Ev.exit65 ], [ %gtest_ar_25, %lpad48 ], [ %gtest_ar_64, %_ZN7testing7MessageD2Ev.exit102 ], [ %gtest_ar_64, %lpad88 ] - %.pn14.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn, %_ZN7testing7MessageD2Ev.exit30 ], [ %6, %lpad10 ], [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit65 ], [ %24, %lpad48 ], [ %.pn14.pn, %_ZN7testing7MessageD2Ev.exit102 ], [ %44, %lpad88 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_64.sink) #27 +eh.resume: ; preds = %lpad88, %_ZN7testing7MessageD2Ev.exit104, %lpad48, %_ZN7testing7MessageD2Ev.exit66, %lpad10, %_ZN7testing7MessageD2Ev.exit30 + %gtest_ar_64.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit30 ], [ %gtest_ar_, %lpad10 ], [ %gtest_ar_25, %_ZN7testing7MessageD2Ev.exit66 ], [ %gtest_ar_25, %lpad48 ], [ %gtest_ar_64, %_ZN7testing7MessageD2Ev.exit104 ], [ %gtest_ar_64, %lpad88 ] + %.pn14.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn, %_ZN7testing7MessageD2Ev.exit30 ], [ %6, %lpad10 ], [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit66 ], [ %24, %lpad48 ], [ %.pn14.pn, %_ZN7testing7MessageD2Ev.exit104 ], [ %44, %lpad88 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_64.sink) #28 resume { ptr, i32 } %.pn14.pn.pn.pn } @@ -38680,14 +38692,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127MutatingTest_Partition_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127MutatingTest_Partition_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -38698,22 +38710,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127MutatingTest_Partition_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127MutatingTest_Partition_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -38734,9 +38746,9 @@ entry: %gtest_ar = alloca %"class.testing::AssertionResult", align 8 %ref.tmp13 = alloca %"class.testing::Message", align 8 %ref.tmp16 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i, ptr %actual, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.468, i64 20, i1 false) @@ -38792,7 +38804,7 @@ invoke.cont9: ; preds = %while.end23.i.i.i, tail call void @llvm.experimental.noalias.scope.decl(metadata !624) tail call void @llvm.experimental.noalias.scope.decl(metadata !627) tail call void @llvm.experimental.noalias.scope.decl(metadata !630) - %call.i.i.i.i.i.i7 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i.i.i.i.i7 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i.i.i.i.i.noexc unwind label %lpad3 call.i.i.i.i.i.i.noexc: ; preds = %invoke.cont9 @@ -38800,7 +38812,7 @@ call.i.i.i.i.i.i.noexc: ; preds = %invoke.cont9 %vtable_.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %matcher.i, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %matcher.i, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i.i, align 8, !alias.scope !636, !noalias !637 - %call.i.i1.i.i.i.i.i.i.i.i8 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i.i.i.i.i.i.i8 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i1.i.i.i.i.i.i.i.i.noexc unwind label %lpad3 call.i.i1.i.i.i.i.i.i.i.i.noexc: ; preds = %call.i.i.i.i.i.i.noexc @@ -38830,13 +38842,13 @@ if.else.i.i.i6: ; preds = %call.i1.i.noexc.i to label %invoke.cont.i.i.i unwind label %lpad.i.i.i, !noalias !637 invoke.cont.i.i.i: ; preds = %.noexc.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i.i) #27, !noalias !637 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i.i) #28, !noalias !637 br label %if.end.i.i.i lpad.i.i.i: ; preds = %.noexc.i %5 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i.i) #27, !noalias !637 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i.i) #28, !noalias !637 br label %ehcleanup42.i if.end.i.i.i: ; preds = %invoke.cont.i.i.i, %call.i1.i.noexc.i @@ -38899,13 +38911,13 @@ if.else.i.i: ; preds = %call.i.noexc.i to label %invoke.cont.i.i unwind label %lpad.i.i, !noalias !637 invoke.cont.i.i: ; preds = %.noexc10.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27, !noalias !637 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28, !noalias !637 br label %if.end.i.i lpad.i.i: ; preds = %.noexc10.i %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27, !noalias !637 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28, !noalias !637 br label %ehcleanup41.i if.end.i.i: ; preds = %invoke.cont.i.i, %call.i.noexc.i @@ -38959,7 +38971,7 @@ invoke.cont27.i: ; preds = %invoke.cont25.i to label %invoke.cont29.i unwind label %lpad28.i, !noalias !637 invoke.cont29.i: ; preds = %invoke.cont27.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #27, !noalias !637 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #28, !noalias !637 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31.i) to label %invoke.cont32.i unwind label %lpad16.i, !noalias !637 @@ -38991,7 +39003,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i.i = load ptr, ptr %16, align 8, !noalias !637 %vfn.i.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i, i64 1 %17 = load ptr, ptr %vfn.i.i.i.i.i, align 8, !noalias !637 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27, !noalias !637 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28, !noalias !637 br label %invoke.cont37.i lpad.i17.i: ; preds = %invoke.cont.i18.i, %.noexc19.i @@ -39005,7 +39017,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i.i = load ptr, ptr %19, align 8, !noalias !637 %vfn.i.i.i5.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i, i64 1 %20 = load ptr, ptr %vfn.i.i.i5.i.i, align 8, !noalias !637 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27, !noalias !637 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28, !noalias !637 br label %lpad36.body.i invoke.cont37.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i, %invoke.cont2.i.i @@ -39014,28 +39026,28 @@ invoke.cont37.i: ; preds = %_ZNKSt14default_del to label %invoke.cont39.i unwind label %lpad36.i invoke.cont39.i: ; preds = %invoke.cont37.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33.i) #28 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31.i, i64 0, i32 1 %21 = load ptr, ptr %message_.i.i, align 8, !noalias !637 %cmp.not.i.i.i = icmp eq ptr %21, null br i1 %cmp.not.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i: ; preds = %invoke.cont39.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #27 - call void @_ZdlPv(ptr noundef nonnull %21) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #28 + call void @_ZdlPv(ptr noundef nonnull %21) #29 br label %_ZN7testing15AssertionResultD2Ev.exit.i _ZN7testing15AssertionResultD2Ev.exit.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont39.i store ptr null, ptr %message_.i.i, align 8, !noalias !637 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener.i, align 8, !noalias !637 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i) #28 br label %cleanup.i lpad28.i: ; preds = %invoke.cont27.i %22 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #27, !noalias !637 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #28, !noalias !637 br label %ehcleanup40.i lpad34.i: ; preds = %invoke.cont32.i @@ -39050,23 +39062,23 @@ lpad36.i: ; preds = %invoke.cont37.i, %i lpad36.body.i: ; preds = %lpad36.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i, %lpad.i17.i %eh.lpad-body20.i = phi { ptr, i32 } [ %24, %lpad36.i ], [ %18, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i ], [ %18, %lpad.i17.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33.i) #28 br label %ehcleanup.i ehcleanup.i: ; preds = %lpad36.body.i, %lpad34.i %.pn.i = phi { ptr, i32 } [ %eh.lpad-body20.i, %lpad36.body.i ], [ %23, %lpad34.i ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31.i) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31.i) #28 br label %ehcleanup40.i ehcleanup40.i: ; preds = %ehcleanup.i, %lpad28.i, %lpad16.i %.pn.pn.i = phi { ptr, i32 } [ %.pn.i, %ehcleanup.i ], [ %14, %lpad16.i ], [ %22, %lpad28.i ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener.i, align 8, !noalias !637 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i.i) #28 br label %ehcleanup41.i ehcleanup41.i: ; preds = %ehcleanup40.i, %lpad4.i, %lpad.i.i %.pn.pn.pn.i = phi { ptr, i32 } [ %.pn.pn.i, %ehcleanup40.i ], [ %13, %lpad4.i ], [ %10, %lpad.i.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i) #28 br label %ehcleanup42.i cleanup.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i, %if.then.i @@ -39099,12 +39111,12 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i.i %32 = landingpad { ptr, i32 } catch ptr null %33 = extractvalue { ptr, i32 } %32, 0 - call void @__clang_call_terminate(ptr %33) #31 + call void @__clang_call_terminate(ptr %33) #32 unreachable ehcleanup42.i: ; preds = %ehcleanup41.i, %lpad.i5, %lpad.i.i.i %.pn5.i = phi { ptr, i32 } [ %.pn.pn.pn.i, %ehcleanup41.i ], [ %8, %lpad.i5 ], [ %5, %lpad.i.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher.i) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher.i) #28 br label %ehcleanup24 invoke.cont11: ; preds = %if.then.i.i.i.i, %land.lhs.true.i.i.i.i, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i.i, %cleanup.i @@ -39135,7 +39147,7 @@ invoke.cont15: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont18, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont15 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %37) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %37) #28 br label %invoke.cont18 invoke.cont18: ; preds = %cond.true.i.i, %invoke.cont15 @@ -39148,7 +39160,7 @@ invoke.cont20: ; preds = %invoke.cont18 to label %invoke.cont22 unwind label %lpad21 invoke.cont22: ; preds = %invoke.cont20 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 %38 = load ptr, ptr %ref.tmp13, align 8 %cmp.not.i.i = icmp eq ptr %38, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -39157,7 +39169,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %38, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %39 = load ptr, ptr %vfn.i.i.i, align 8 - call void %39(ptr noundef nonnull align 8 dereferenceable(128) %38) #27 + call void %39(ptr noundef nonnull align 8 dereferenceable(128) %38) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont22, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -39177,7 +39189,7 @@ lpad17: ; preds = %invoke.cont18 lpad21: ; preds = %invoke.cont20 %42 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 br label %ehcleanup ehcleanup: ; preds = %lpad21, %lpad17 @@ -39190,7 +39202,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i13 = load ptr, ptr %43, align 8 %vfn.i.i.i14 = getelementptr inbounds ptr, ptr %vtable.i.i.i13, i64 1 %44 = load ptr, ptr %vfn.i.i.i14, align 8 - call void %44(ptr noundef nonnull align 8 dereferenceable(128) %43) #27 + call void %44(ptr noundef nonnull align 8 dereferenceable(128) %43) #28 br label %_ZN7testing7MessageD2Ev.exit15 _ZN7testing7MessageD2Ev.exit15: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i12 @@ -39204,8 +39216,8 @@ if.end: ; preds = %invoke.cont11, %_ZN br i1 %cmp.not.i.i16, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #27 - call void @_ZdlPv(ptr noundef nonnull %45) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #28 + call void @_ZdlPv(ptr noundef nonnull %45) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -39215,7 +39227,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i18, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %46) #28 + call void @_ZdlPv(ptr noundef nonnull %46) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -39223,7 +39235,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup23: ; preds = %_ZN7testing7MessageD2Ev.exit15, %lpad14 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit15 ], [ %40, %lpad14 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup24 ehcleanup24: ; preds = %lpad3, %ehcleanup42.i, %ehcleanup23 @@ -39233,7 +39245,7 @@ ehcleanup24: ; preds = %lpad3, %ehcleanup42 br i1 %tobool.not.i.i.i21, label %eh.resume, label %if.then.i.i.i22 if.then.i.i.i22: ; preds = %ehcleanup24 - call void @_ZdlPv(ptr noundef nonnull %47) #28 + call void @_ZdlPv(ptr noundef nonnull %47) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i22, %ehcleanup24 @@ -39249,7 +39261,7 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @"_ZN7testing18PolymorphicMatcherINS_8internal12TrulyMatcherIZN12_GLOBAL__N_127MutatingTest_Partition_Test8TestBodyEvE3$_0EEE15MonomorphicImplIRKSt6vectorIiSaIiEEED0Ev"(ptr noundef nonnull align 8 dereferenceable(9) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -39515,14 +39527,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133MutatingTest_StablePartition_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133MutatingTest_StablePartition_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -39533,22 +39545,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133MutatingTest_StablePartition_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133MutatingTest_StablePartition_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -39560,9 +39572,9 @@ entry: %ref.tmp5 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.324", align 16 %ref.tmp16 = alloca %"class.testing::Message", align 8 %ref.tmp19 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i, ptr %actual, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.468, i64 20, i1 false) @@ -39574,7 +39586,7 @@ entry: while.body.i.i.i: ; preds = %entry, %if.end4.i.i.i %storemerge27.i.i.i = phi i64 [ %div5.i.i.i, %if.end4.i.i.i ], [ 4, %entry ] %mul.i.i.i = shl nuw i64 %storemerge27.i.i.i, 2 - %call.i.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #34 + %call.i.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #35 %cmp2.not.i.i.i = icmp eq ptr %call.i.i.i, null br i1 %cmp2.not.i.i.i, label %if.end4.i.i.i, label %_ZNSt17_Temporary_bufferIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEC2ES6_l.exit.i @@ -39592,11 +39604,11 @@ _ZNSt17_Temporary_bufferIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEC lpad.i19: ; preds = %_ZNSt17_Temporary_bufferIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEC2ES6_l.exit.i %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef %call.i.i.i) #27 + tail call void @_ZdlPv(ptr noundef %call.i.i.i) #28 br label %ehcleanup27 invoke.cont13: ; preds = %_ZNSt17_Temporary_bufferIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEC2ES6_l.exit.i - tail call void @_ZdlPv(ptr noundef %call.i.i.i) #27 + tail call void @_ZdlPv(ptr noundef %call.i.i.i) #28 store <4 x i32> , ptr %ref.tmp5, align 16 %agg.tmp66.sroa.7.0.ref.tmp5.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp5, i64 16 store i32 1, ptr %agg.tmp66.sroa.7.0.ref.tmp5.sroa_idx, align 16 @@ -39625,7 +39637,7 @@ invoke.cont18: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont21, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont18 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #28 br label %invoke.cont21 invoke.cont21: ; preds = %cond.true.i.i, %invoke.cont18 @@ -39638,7 +39650,7 @@ invoke.cont23: ; preds = %invoke.cont21 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 %5 = load ptr, ptr %ref.tmp16, align 8 %cmp.not.i.i = icmp eq ptr %5, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -39647,7 +39659,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %5, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %6 = load ptr, ptr %vfn.i.i.i, align 8 - call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 + call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont25, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -39667,7 +39679,7 @@ lpad20: ; preds = %invoke.cont21 lpad24: ; preds = %invoke.cont23 %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad20 @@ -39680,7 +39692,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i9 = load ptr, ptr %10, align 8 %vfn.i.i.i10 = getelementptr inbounds ptr, ptr %vtable.i.i.i9, i64 1 %11 = load ptr, ptr %vfn.i.i.i10, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit11 _ZN7testing7MessageD2Ev.exit11: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i8 @@ -39694,8 +39706,8 @@ if.end: ; preds = %invoke.cont14, %_ZN br i1 %cmp.not.i.i12, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #27 - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -39705,7 +39717,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i13, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -39713,7 +39725,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit11, %lpad17 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit11 ], [ %7, %lpad17 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup27 ehcleanup27: ; preds = %lpad3, %lpad.i19, %ehcleanup26 @@ -39723,7 +39735,7 @@ ehcleanup27: ; preds = %lpad3, %lpad.i19, % br i1 %tobool.not.i.i.i15, label %eh.resume, label %if.then.i.i.i16 if.then.i.i.i16: ; preds = %ehcleanup27 - call void @_ZdlPv(ptr noundef nonnull %14) #28 + call void @_ZdlPv(ptr noundef nonnull %14) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i16, %ehcleanup27 @@ -39767,13 +39779,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -39836,13 +39848,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -39896,7 +39908,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -39928,7 +39940,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -39942,7 +39954,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -39951,28 +39963,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -39987,23 +39999,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -40037,7 +40049,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -40045,7 +40057,7 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -40136,8 +40148,8 @@ if.end47: ; preds = %for.inc.i, %if.end2 %call.i = tail call ptr @_ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEET_S8_S8_S8_St26random_access_iterator_tag(ptr %call29, ptr %incdec.ptr.i.i.i, ptr %__right_split.sroa.0.0) br label %return -return: ; preds = %if.then.i.i.i.i.i, %for.end, %entry, %if.end47 - %retval.sroa.0.2 = phi ptr [ %call.i, %if.end47 ], [ %__first.coerce, %entry ], [ %retval.sroa.0.1, %for.end ], [ %retval.sroa.0.0.lcssa45, %if.then.i.i.i.i.i ] +return: ; preds = %entry, %if.then.i.i.i.i.i, %for.end, %if.end47 + %retval.sroa.0.2 = phi ptr [ %call.i, %if.end47 ], [ %retval.sroa.0.1, %for.end ], [ %retval.sroa.0.0.lcssa45, %if.then.i.i.i.i.i ], [ %__first.coerce, %entry ] ret ptr %retval.sroa.0.2 } @@ -40180,8 +40192,7 @@ for.body.i: ; preds = %if.end5, %for.body. if.end16: ; preds = %if.end5 %sub.ptr.sub.i12 = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.lhs.cast.i6 - %sub.ptr.div.i13 = ashr exact i64 %sub.ptr.sub.i12, 2 - %add.ptr.i = getelementptr inbounds i32, ptr %__first.coerce, i64 %sub.ptr.div.i13 + %add.ptr.i = getelementptr inbounds i8, ptr %__first.coerce, i64 %sub.ptr.sub.i12 br label %for.cond for.cond: ; preds = %for.cond.backedge, %if.end16 @@ -40215,26 +40226,26 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.ex br label %return if.end45: ; preds = %if.then22 - %cmp5083 = icmp sgt i64 %sub20, 0 - br i1 %cmp5083, label %for.body.preheader, label %for.end + %cmp5082 = icmp sgt i64 %sub20, 0 + br i1 %cmp5082, label %for.body.preheader, label %for.end for.body.preheader: ; preds = %if.end45 %add.ptr.i18 = getelementptr i32, ptr %__p.sroa.0.0, i64 %__k.0 br label %for.body for.body: ; preds = %for.body.preheader, %for.body - %__i.086 = phi i64 [ %inc, %for.body ], [ 0, %for.body.preheader ] - %__p.sroa.0.185 = phi ptr [ %incdec.ptr.i, %for.body ], [ %__p.sroa.0.0, %for.body.preheader ] - %__q.sroa.0.084 = phi ptr [ %incdec.ptr.i19, %for.body ], [ %add.ptr.i18, %for.body.preheader ] - %3 = load i32, ptr %__p.sroa.0.185, align 4 - %4 = load i32, ptr %__q.sroa.0.084, align 4 - store i32 %4, ptr %__p.sroa.0.185, align 4 - store i32 %3, ptr %__q.sroa.0.084, align 4 - %incdec.ptr.i = getelementptr inbounds i32, ptr %__p.sroa.0.185, i64 1 - %incdec.ptr.i19 = getelementptr inbounds i32, ptr %__q.sroa.0.084, i64 1 - %inc = add nuw nsw i64 %__i.086, 1 - %exitcond93.not = icmp eq i64 %inc, %sub20 - br i1 %exitcond93.not, label %for.end, label %for.body, !llvm.loop !644 + %__i.085 = phi i64 [ %inc, %for.body ], [ 0, %for.body.preheader ] + %__p.sroa.0.184 = phi ptr [ %incdec.ptr.i, %for.body ], [ %__p.sroa.0.0, %for.body.preheader ] + %__q.sroa.0.083 = phi ptr [ %incdec.ptr.i19, %for.body ], [ %add.ptr.i18, %for.body.preheader ] + %3 = load i32, ptr %__p.sroa.0.184, align 4 + %4 = load i32, ptr %__q.sroa.0.083, align 4 + store i32 %4, ptr %__p.sroa.0.184, align 4 + store i32 %3, ptr %__q.sroa.0.083, align 4 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__p.sroa.0.184, i64 1 + %incdec.ptr.i19 = getelementptr inbounds i32, ptr %__q.sroa.0.083, i64 1 + %inc = add nuw nsw i64 %__i.085, 1 + %exitcond92.not = icmp eq i64 %inc, %sub20 + br i1 %exitcond92.not, label %for.end, label %for.body, !llvm.loop !644 for.end: ; preds = %for.body, %if.end45 %__p.sroa.0.1.lcssa = phi ptr [ %__p.sroa.0.0, %if.end45 ], [ %incdec.ptr.i, %for.body ] @@ -40254,45 +40265,45 @@ if.else61: ; preds = %for.cond if.then64: ; preds = %if.else61 %add.ptr.i21 = getelementptr inbounds i32, ptr %add.ptr.i20, i64 -1 %5 = load i32, ptr %add.ptr.i21, align 4 - %tobool.not.i.i.i.i.i29 = icmp eq ptr %add.ptr.i21, %__p.sroa.0.0 - br i1 %tobool.not.i.i.i.i.i29, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit, label %if.then.i.i.i.i.i30 + %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr.i21, %__p.sroa.0.0 + br i1 %tobool.not.i.i.i.i.i28, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit, label %if.then.i.i.i.i.i29 -if.then.i.i.i.i.i30: ; preds = %if.then64 +if.then.i.i.i.i.i29: ; preds = %if.then64 %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr.i21 to i64 %sub.ptr.rhs.cast.i.i.i.i.i26 = ptrtoint ptr %__p.sroa.0.0 to i64 %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast.i.i.i.i.i26 - %sub.ptr.div.i.i.i.i.i28 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i27, 2 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i28 - %add.ptr.i.i.i.i.i31 = getelementptr inbounds i32, ptr %add.ptr.i20, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i31, ptr nonnull align 4 %__p.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i27, 2 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i30 = getelementptr inbounds i32, ptr %add.ptr.i20, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i30, ptr nonnull align 4 %__p.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) br label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit -_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit: ; preds = %if.then64, %if.then.i.i.i.i.i30 +_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit: ; preds = %if.then64, %if.then.i.i.i.i.i29 store i32 %5, ptr %__p.sroa.0.0, align 4 br label %return if.end90: ; preds = %if.else61 %idx.neg.i = sub i64 0, %sub20 - %add.ptr.i33 = getelementptr inbounds i32, ptr %add.ptr.i20, i64 %idx.neg.i - %cmp10079 = icmp sgt i64 %__k.0, 0 - br i1 %cmp10079, label %for.body101, label %for.end110 + %add.ptr.i32 = getelementptr inbounds i32, ptr %add.ptr.i20, i64 %idx.neg.i + %cmp10078 = icmp sgt i64 %__k.0, 0 + br i1 %cmp10078, label %for.body101, label %for.end110 for.body101: ; preds = %if.end90, %for.body101 - %__i97.082 = phi i64 [ %inc109, %for.body101 ], [ 0, %if.end90 ] - %__q91.sroa.0.081 = phi ptr [ %incdec.ptr.i35, %for.body101 ], [ %add.ptr.i20, %if.end90 ] - %__p.sroa.0.280 = phi ptr [ %incdec.ptr.i34, %for.body101 ], [ %add.ptr.i33, %if.end90 ] - %incdec.ptr.i34 = getelementptr inbounds i32, ptr %__p.sroa.0.280, i64 -1 - %incdec.ptr.i35 = getelementptr inbounds i32, ptr %__q91.sroa.0.081, i64 -1 - %6 = load i32, ptr %incdec.ptr.i34, align 4 - %7 = load i32, ptr %incdec.ptr.i35, align 4 - store i32 %7, ptr %incdec.ptr.i34, align 4 - store i32 %6, ptr %incdec.ptr.i35, align 4 - %inc109 = add nuw nsw i64 %__i97.082, 1 + %__i97.081 = phi i64 [ %inc109, %for.body101 ], [ 0, %if.end90 ] + %__q91.sroa.0.080 = phi ptr [ %incdec.ptr.i34, %for.body101 ], [ %add.ptr.i20, %if.end90 ] + %__p.sroa.0.279 = phi ptr [ %incdec.ptr.i33, %for.body101 ], [ %add.ptr.i32, %if.end90 ] + %incdec.ptr.i33 = getelementptr inbounds i32, ptr %__p.sroa.0.279, i64 -1 + %incdec.ptr.i34 = getelementptr inbounds i32, ptr %__q91.sroa.0.080, i64 -1 + %6 = load i32, ptr %incdec.ptr.i33, align 4 + %7 = load i32, ptr %incdec.ptr.i34, align 4 + store i32 %7, ptr %incdec.ptr.i33, align 4 + store i32 %6, ptr %incdec.ptr.i34, align 4 + %inc109 = add nuw nsw i64 %__i97.081, 1 %exitcond.not = icmp eq i64 %inc109, %__k.0 br i1 %exitcond.not, label %for.end110, label %for.body101, !llvm.loop !645 for.end110: ; preds = %for.body101, %if.end90 - %__p.sroa.0.2.lcssa = phi ptr [ %add.ptr.i33, %if.end90 ], [ %__p.sroa.0.0, %for.body101 ] + %__p.sroa.0.2.lcssa = phi ptr [ %add.ptr.i32, %if.end90 ], [ %__p.sroa.0.0, %for.body101 ] %rem111 = srem i64 %__n.0, %sub20 %cmp112 = icmp eq i64 %rem111, 0 br i1 %cmp112, label %return, label %for.cond.backedge @@ -40314,7 +40325,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -40330,7 +40341,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -40346,7 +40357,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -40365,7 +40376,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -40380,7 +40391,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -40394,12 +40405,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -40474,7 +40485,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -40484,7 +40495,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -40559,7 +40570,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -40569,7 +40580,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -40644,7 +40655,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -40654,7 +40665,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -40729,7 +40740,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -40795,13 +40806,13 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i3.i %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 - call void @__clang_call_terminate(ptr %23) #31 + call void @__clang_call_terminate(ptr %23) #32 unreachable common.resume: ; preds = %lpad, %lpad.i %ref.tmp.sink = phi ptr [ %ref.tmp, %lpad ], [ %ref.tmp.i, %lpad.i ] %common.resume.op = phi { ptr, i32 } [ %25, %lpad ], [ %24, %lpad.i ] - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #28 resume { ptr, i32 } %common.resume.op lpad.i: ; preds = %if.else.i.i.i.i @@ -40828,14 +40839,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131MutatingTest_PartitionCopy_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131MutatingTest_PartitionCopy_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -40846,22 +40857,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131MutatingTest_PartitionCopy_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131MutatingTest_PartitionCopy_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -40878,12 +40889,12 @@ entry: %ref.tmp44 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.354", align 4 %ref.tmp55 = alloca %"class.testing::Message", align 8 %ref.tmp58 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.468, i64 20, i1 false) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %odds, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %evens, i8 0, i64 24, i1 false) - %call12.i8 = invoke { ptr, ptr } @_ZSt14partition_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20back_insert_iteratorIS6_ES9_PFbiEESt4pairIT0_T1_ET_SG_SD_SE_T2_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i, ptr nonnull %odds, ptr nonnull %evens, ptr noundef nonnull @_ZN12_GLOBAL__N_15IsOddEi) + %call12.i8 = invoke { ptr, ptr } @_ZSt14partition_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20back_insert_iteratorIS6_ES9_PFbiEESt4pairIT0_T1_ET_SG_SD_SE_T2_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr nonnull %odds, ptr nonnull %evens, ptr noundef nonnull @_ZN12_GLOBAL__N_15IsOddEi) to label %invoke.cont12 unwind label %lpad4 invoke.cont12: ; preds = %entry @@ -40909,7 +40920,7 @@ if.else.i.i.i: ; preds = %invoke.cont12 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775804 - br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i42.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i + br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i43.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 2 @@ -40924,30 +40935,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i9 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i9 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad4 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i9, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 7, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %0, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -40975,13 +40987,13 @@ if.else.i.i.i15: ; preds = %invoke.cont16 %sub.ptr.rhs.cast.i.i.i.i.i.i17 = ptrtoint ptr %9 to i64 %sub.ptr.sub.i.i.i.i.i.i18 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i16, %sub.ptr.rhs.cast.i.i.i.i.i.i17 %cmp.i.i.i.i.i19 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i18, 9223372036854775804 - br i1 %cmp.i.i.i.i.i19, label %if.then.i.i.i.i.i42.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i20 + br i1 %cmp.i.i.i.i.i19, label %if.then.i.i.i.i.i43.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i20 -if.then.i.i.i.i.i42.invoke: ; preds = %if.else.i.i.i15, %if.else.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 - to label %if.then.i.i.i.i.i42.cont unwind label %lpad4 +if.then.i.i.i.i.i43.invoke: ; preds = %if.else.i.i.i15, %if.else.i.i.i + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 + to label %if.then.i.i.i.i.i43.cont unwind label %lpad4 -if.then.i.i.i.i.i42.cont: ; preds = %if.then.i.i.i.i.i42.invoke +if.then.i.i.i.i.i43.cont: ; preds = %if.then.i.i.i.i.i43.invoke unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i20: ; preds = %if.else.i.i.i15 @@ -40997,37 +41009,38 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i20: ; preds = %if.else.i.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i29: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i20 %mul.i.i.i.i.i.i.i30 = shl nuw nsw i64 %cond.i.i.i.i.i27, 2 - %call5.i.i.i.i.i.i.i45 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i30) #29 + %call5.i.i.i.i.i.i.i46 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i30) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i31 unwind label %lpad4 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i31: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i29, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i20 - %cond.i10.i.i.i.i32 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i20 ], [ %call5.i.i.i.i.i.i.i45, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i29 ] + %cond.i10.i.i.i.i32 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i20 ], [ %call5.i.i.i.i.i.i.i46, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i29 ] %add.ptr.i.i.i.i33 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i32, i64 %sub.ptr.div.i.i.i.i.i.i21 store i32 6, ptr %add.ptr.i.i.i.i33, align 4 - %cmp.i.i.i11.i.i.i.i34 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i21, 0 - br i1 %cmp.i.i.i11.i.i.i.i34, label %if.then.i.i.i12.i.i.i.i41, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i35 + %cmp.i.i.i11.i.i.i.i34 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i18, 0 + br i1 %cmp.i.i.i11.i.i.i.i34, label %if.then.i.i.i12.i.i.i.i42, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i35 -if.then.i.i.i12.i.i.i.i41: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i31 +if.then.i.i.i12.i.i.i.i42: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i31 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i32, ptr align 4 %9, i64 %sub.ptr.sub.i.i.i.i.i.i18, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i35 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i35 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i35: ; preds = %if.then.i.i.i12.i.i.i.i41, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i31 - %incdec.ptr.i.i.i.i36 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i33, i64 1 - %tobool.not.i.i.i.i.i37 = icmp eq ptr %9, null - br i1 %tobool.not.i.i.i.i.i37, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i39, label %if.then.i21.i.i.i.i38 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i35: ; preds = %if.then.i.i.i12.i.i.i.i42, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i31 + %add.ptr.i.i.i.i.i.i.i36 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i32, i64 %sub.ptr.sub.i.i.i.i.i.i18 + %incdec.ptr.i.i.i.i37 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i36, i64 1 + %tobool.not.i.i.i.i.i38 = icmp eq ptr %9, null + br i1 %tobool.not.i.i.i.i.i38, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i40, label %if.then.i20.i.i.i.i39 -if.then.i21.i.i.i.i38: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i35 - call void @_ZdlPv(ptr noundef nonnull %9) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i39 +if.then.i20.i.i.i.i39: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i35 + call void @_ZdlPv(ptr noundef nonnull %9) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i40 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i39: ; preds = %if.then.i21.i.i.i.i38, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i35 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i40: ; preds = %if.then.i20.i.i.i.i39, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i35 store ptr %cond.i10.i.i.i.i32, ptr %1, align 8 - store ptr %incdec.ptr.i.i.i.i36, ptr %_M_finish.i.i.i10, align 8 - %add.ptr19.i.i.i.i40 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i32, i64 %cond.i.i.i.i.i27 - store ptr %add.ptr19.i.i.i.i40, ptr %_M_end_of_storage.i.i.i11, align 8 + store ptr %incdec.ptr.i.i.i.i37, ptr %_M_finish.i.i.i10, align 8 + %add.ptr19.i.i.i.i41 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i32, i64 %cond.i.i.i.i.i27 + store ptr %add.ptr19.i.i.i.i41, ptr %_M_end_of_storage.i.i.i11, align 8 br label %invoke.cont29 -invoke.cont29: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i39, %if.then.i.i.i13 +invoke.cont29: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i40, %if.then.i.i.i13 store <4 x i32> , ptr %ref.tmp22, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(16) %ref.tmp22, ptr noundef nonnull @.str.415, ptr noundef nonnull align 8 dereferenceable(24) %odds) to label %invoke.cont30 unwind label %lpad4 @@ -41038,7 +41051,7 @@ invoke.cont30: ; preds = %invoke.cont29 %tobool.i.not = icmp eq i8 %11, 0 br i1 %tobool.i.not, label %if.else, label %if.end -lpad4: ; preds = %if.then.i.i.i.i.i42.invoke, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i29, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %entry, %invoke.cont50, %invoke.cont29 +lpad4: ; preds = %if.then.i.i.i.i.i43.invoke, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i29, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %entry, %invoke.cont50, %invoke.cont29 %12 = landingpad { ptr, i32 } cleanup br label %ehcleanup69 @@ -41054,7 +41067,7 @@ invoke.cont34: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont37, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont34 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 br label %invoke.cont37 invoke.cont37: ; preds = %cond.true.i.i, %invoke.cont34 @@ -41067,7 +41080,7 @@ invoke.cont39: ; preds = %invoke.cont37 to label %invoke.cont41 unwind label %lpad40 invoke.cont41: ; preds = %invoke.cont39 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp35) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp35) #28 %14 = load ptr, ptr %ref.tmp32, align 8 %cmp.not.i.i = icmp eq ptr %14, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -41076,7 +41089,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont41, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -41096,56 +41109,56 @@ lpad36: ; preds = %invoke.cont37 lpad40: ; preds = %invoke.cont39 %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp35) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp35) #28 br label %ehcleanup ehcleanup: ; preds = %lpad40, %lpad36 %.pn = phi { ptr, i32 } [ %18, %lpad40 ], [ %17, %lpad36 ] %19 = load ptr, ptr %ref.tmp32, align 8 - %cmp.not.i.i48 = icmp eq ptr %19, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i49 = icmp eq ptr %19, null + br i1 %cmp.not.i.i49, label %_ZN7testing7MessageD2Ev.exit53, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup - %vtable.i.i.i50 = load ptr, ptr %19, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %20 = load ptr, ptr %vfn.i.i.i51, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 - br label %_ZN7testing7MessageD2Ev.exit52 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50: ; preds = %ehcleanup + %vtable.i.i.i51 = load ptr, ptr %19, align 8 + %vfn.i.i.i52 = getelementptr inbounds ptr, ptr %vtable.i.i.i51, i64 1 + %20 = load ptr, ptr %vfn.i.i.i52, align 8 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 + br label %_ZN7testing7MessageD2Ev.exit53 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit53: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50 store ptr null, ptr %ref.tmp32, align 8 br label %ehcleanup42 if.end: ; preds = %invoke.cont30, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %21 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i53 = icmp eq ptr %21, null - br i1 %cmp.not.i.i53, label %invoke.cont50, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i54 = icmp eq ptr %21, null + br i1 %cmp.not.i.i54, label %invoke.cont50, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #27 - call void @_ZdlPv(ptr noundef nonnull %21) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #28 + call void @_ZdlPv(ptr noundef nonnull %21) #29 br label %invoke.cont50 invoke.cont50: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store i32 6, ptr %ref.tmp44, align 4 - %agg.tmp4556.sroa.4.0.ref.tmp44.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp44, i64 4 - store i32 4, ptr %agg.tmp4556.sroa.4.0.ref.tmp44.sroa_idx, align 4 - %agg.tmp4556.sroa.5.0.ref.tmp44.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp44, i64 8 - store i32 2, ptr %agg.tmp4556.sroa.5.0.ref.tmp44.sroa_idx, align 4 + %agg.tmp4557.sroa.4.0.ref.tmp44.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp44, i64 4 + store i32 4, ptr %agg.tmp4557.sroa.4.0.ref.tmp44.sroa_idx, align 4 + %agg.tmp4557.sroa.5.0.ref.tmp44.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp44, i64 8 + store i32 2, ptr %agg.tmp4557.sroa.5.0.ref.tmp44.sroa_idx, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar43, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp44, ptr noundef nonnull @.str.416, ptr noundef nonnull align 8 dereferenceable(24) %evens) to label %invoke.cont51 unwind label %lpad4 invoke.cont51: ; preds = %invoke.cont50 %22 = load i8, ptr %gtest_ar43, align 8 %23 = and i8 %22, 1 - %tobool.i57.not = icmp eq i8 %23, 0 - br i1 %tobool.i57.not, label %if.else54, label %if.end67 + %tobool.i58.not = icmp eq i8 %23, 0 + br i1 %tobool.i58.not, label %if.else54, label %if.end67 -ehcleanup42: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad33 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit52 ], [ %16, %lpad33 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup42: ; preds = %_ZN7testing7MessageD2Ev.exit53, %lpad33 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit53 ], [ %16, %lpad33 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup69 if.else54: ; preds = %invoke.cont51 @@ -41153,18 +41166,18 @@ if.else54: ; preds = %invoke.cont51 to label %invoke.cont57 unwind label %lpad56 invoke.cont57: ; preds = %if.else54 - %message_.i.i58 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar43, i64 0, i32 1 - %24 = load ptr, ptr %message_.i.i58, align 8 - %cmp.i.i.not.i.i59 = icmp eq ptr %24, null - br i1 %cmp.i.i.not.i.i59, label %invoke.cont60, label %cond.true.i.i60 + %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar43, i64 0, i32 1 + %24 = load ptr, ptr %message_.i.i59, align 8 + %cmp.i.i.not.i.i60 = icmp eq ptr %24, null + br i1 %cmp.i.i.not.i.i60, label %invoke.cont60, label %cond.true.i.i61 -cond.true.i.i60: ; preds = %invoke.cont57 - %call4.i.i61 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %24) #27 +cond.true.i.i61: ; preds = %invoke.cont57 + %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %24) #28 br label %invoke.cont60 -invoke.cont60: ; preds = %cond.true.i.i60, %invoke.cont57 - %cond.i.i62 = phi ptr [ %call4.i.i61, %cond.true.i.i60 ], [ @.str.255, %invoke.cont57 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 635, ptr noundef %cond.i.i62) +invoke.cont60: ; preds = %cond.true.i.i61, %invoke.cont57 + %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str.255, %invoke.cont57 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 635, ptr noundef %cond.i.i63) to label %invoke.cont62 unwind label %lpad59 invoke.cont62: ; preds = %invoke.cont60 @@ -41172,19 +41185,19 @@ invoke.cont62: ; preds = %invoke.cont60 to label %invoke.cont64 unwind label %lpad63 invoke.cont64: ; preds = %invoke.cont62 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #28 %25 = load ptr, ptr %ref.tmp55, align 8 - %cmp.not.i.i64 = icmp eq ptr %25, null - br i1 %cmp.not.i.i64, label %_ZN7testing7MessageD2Ev.exit68, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 + %cmp.not.i.i65 = icmp eq ptr %25, null + br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65: ; preds = %invoke.cont64 - %vtable.i.i.i66 = load ptr, ptr %25, align 8 - %vfn.i.i.i67 = getelementptr inbounds ptr, ptr %vtable.i.i.i66, i64 1 - %26 = load ptr, ptr %vfn.i.i.i67, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 - br label %_ZN7testing7MessageD2Ev.exit68 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont64 + %vtable.i.i.i67 = load ptr, ptr %25, align 8 + %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 + %26 = load ptr, ptr %vfn.i.i.i68, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 + br label %_ZN7testing7MessageD2Ev.exit69 -_ZN7testing7MessageD2Ev.exit68: ; preds = %invoke.cont64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 +_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 store ptr null, ptr %ref.tmp55, align 8 br label %if.end67 @@ -41201,86 +41214,86 @@ lpad59: ; preds = %invoke.cont60 lpad63: ; preds = %invoke.cont62 %29 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #28 br label %ehcleanup66 ehcleanup66: ; preds = %lpad63, %lpad59 %.pn3 = phi { ptr, i32 } [ %29, %lpad63 ], [ %28, %lpad59 ] %30 = load ptr, ptr %ref.tmp55, align 8 - %cmp.not.i.i69 = icmp eq ptr %30, null - br i1 %cmp.not.i.i69, label %_ZN7testing7MessageD2Ev.exit73, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i70 + %cmp.not.i.i70 = icmp eq ptr %30, null + br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i70: ; preds = %ehcleanup66 - %vtable.i.i.i71 = load ptr, ptr %30, align 8 - %vfn.i.i.i72 = getelementptr inbounds ptr, ptr %vtable.i.i.i71, i64 1 - %31 = load ptr, ptr %vfn.i.i.i72, align 8 - call void %31(ptr noundef nonnull align 8 dereferenceable(128) %30) #27 - br label %_ZN7testing7MessageD2Ev.exit73 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup66 + %vtable.i.i.i72 = load ptr, ptr %30, align 8 + %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 + %31 = load ptr, ptr %vfn.i.i.i73, align 8 + call void %31(ptr noundef nonnull align 8 dereferenceable(128) %30) #28 + br label %_ZN7testing7MessageD2Ev.exit74 -_ZN7testing7MessageD2Ev.exit73: ; preds = %ehcleanup66, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i70 +_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup66, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 store ptr null, ptr %ref.tmp55, align 8 br label %ehcleanup68 -if.end67: ; preds = %invoke.cont51, %_ZN7testing7MessageD2Ev.exit68 - %message_.i74 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar43, i64 0, i32 1 - %32 = load ptr, ptr %message_.i74, align 8 - %cmp.not.i.i75 = icmp eq ptr %32, null - br i1 %cmp.not.i.i75, label %_ZN7testing15AssertionResultD2Ev.exit77, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76 +if.end67: ; preds = %invoke.cont51, %_ZN7testing7MessageD2Ev.exit69 + %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar43, i64 0, i32 1 + %32 = load ptr, ptr %message_.i75, align 8 + %cmp.not.i.i76 = icmp eq ptr %32, null + br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76: ; preds = %if.end67 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #27 - call void @_ZdlPv(ptr noundef nonnull %32) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit77 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end67 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #28 + call void @_ZdlPv(ptr noundef nonnull %32) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit78 -_ZN7testing15AssertionResultD2Ev.exit77: ; preds = %if.end67, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76 - store ptr null, ptr %message_.i74, align 8 +_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end67, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 + store ptr null, ptr %message_.i75, align 8 %33 = load ptr, ptr %evens, align 8 - %tobool.not.i.i.i78 = icmp eq ptr %33, null - br i1 %tobool.not.i.i.i78, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i79 + %tobool.not.i.i.i79 = icmp eq ptr %33, null + br i1 %tobool.not.i.i.i79, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i80 -if.then.i.i.i79: ; preds = %_ZN7testing15AssertionResultD2Ev.exit77 - call void @_ZdlPv(ptr noundef nonnull %33) #28 +if.then.i.i.i80: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 + call void @_ZdlPv(ptr noundef nonnull %33) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit77, %if.then.i.i.i79 +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78, %if.then.i.i.i80 %34 = load ptr, ptr %odds, align 8 - %tobool.not.i.i.i81 = icmp eq ptr %34, null - br i1 %tobool.not.i.i.i81, label %_ZNSt6vectorIiSaIiEED2Ev.exit88, label %if.then.i.i.i82 + %tobool.not.i.i.i82 = icmp eq ptr %34, null + br i1 %tobool.not.i.i.i82, label %_ZNSt6vectorIiSaIiEED2Ev.exit89, label %if.then.i.i.i83 -if.then.i.i.i82: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %34) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit88 +if.then.i.i.i83: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %34) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit89 -_ZNSt6vectorIiSaIiEED2Ev.exit88: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i82 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit89: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i83 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void -ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit73, %lpad56 - %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit73 ], [ %27, %lpad56 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar43) #27 +ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad56 + %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit74 ], [ %27, %lpad56 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar43) #28 br label %ehcleanup69 ehcleanup69: ; preds = %ehcleanup68, %ehcleanup42, %lpad4 %.pn3.pn.pn = phi { ptr, i32 } [ %.pn3.pn, %ehcleanup68 ], [ %12, %lpad4 ], [ %.pn.pn, %ehcleanup42 ] %35 = load ptr, ptr %evens, align 8 - %tobool.not.i.i.i89 = icmp eq ptr %35, null - br i1 %tobool.not.i.i.i89, label %_ZNSt6vectorIiSaIiEED2Ev.exit92, label %if.then.i.i.i90 + %tobool.not.i.i.i90 = icmp eq ptr %35, null + br i1 %tobool.not.i.i.i90, label %_ZNSt6vectorIiSaIiEED2Ev.exit93, label %if.then.i.i.i91 -if.then.i.i.i90: ; preds = %ehcleanup69 - call void @_ZdlPv(ptr noundef nonnull %35) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit92 +if.then.i.i.i91: ; preds = %ehcleanup69 + call void @_ZdlPv(ptr noundef nonnull %35) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit93 -_ZNSt6vectorIiSaIiEED2Ev.exit92: ; preds = %ehcleanup69, %if.then.i.i.i90 +_ZNSt6vectorIiSaIiEED2Ev.exit93: ; preds = %ehcleanup69, %if.then.i.i.i91 %36 = load ptr, ptr %odds, align 8 - %tobool.not.i.i.i93 = icmp eq ptr %36, null - br i1 %tobool.not.i.i.i93, label %_ZNSt6vectorIiSaIiEED2Ev.exit100, label %if.then.i.i.i94 + %tobool.not.i.i.i94 = icmp eq ptr %36, null + br i1 %tobool.not.i.i.i94, label %_ZNSt6vectorIiSaIiEED2Ev.exit101, label %if.then.i.i.i95 -if.then.i.i.i94: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit92 - call void @_ZdlPv(ptr noundef nonnull %36) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit100 +if.then.i.i.i95: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit93 + call void @_ZdlPv(ptr noundef nonnull %36) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit101 -_ZNSt6vectorIiSaIiEED2Ev.exit100: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit92, %if.then.i.i.i94 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit101: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit93, %if.then.i.i.i95 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn3.pn.pn } @@ -41321,13 +41334,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -41390,13 +41403,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -41450,7 +41463,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -41482,7 +41495,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -41496,7 +41509,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -41505,28 +41518,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -41541,23 +41554,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -41591,7 +41604,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -41599,7 +41612,7 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -41640,13 +41653,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -41709,13 +41722,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -41769,7 +41782,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -41801,7 +41814,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -41815,7 +41828,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -41824,28 +41837,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -41860,23 +41873,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -41910,7 +41923,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -41918,15 +41931,15 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local { ptr, ptr } @_ZSt14partition_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20back_insert_iteratorIS6_ES9_PFbiEESt4pairIT0_T1_ET_SG_SD_SE_T2_(ptr %__first.coerce, ptr %__last.coerce, ptr %__out_true.coerce, ptr %__out_false.coerce, ptr noundef %__pred) local_unnamed_addr #3 comdat personality ptr @__gxx_personality_v0 { entry: - %cmp.i.not40 = icmp eq ptr %__first.coerce, %__last.coerce - br i1 %cmp.i.not40, label %for.end, label %for.body.lr.ph + %cmp.i.not41 = icmp eq ptr %__first.coerce, %__last.coerce + br i1 %cmp.i.not41, label %for.end, label %for.body.lr.ph for.body.lr.ph: ; preds = %entry %_M_finish.i.i1 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__out_false.coerce, i64 0, i32 1 @@ -41936,8 +41949,8 @@ for.body.lr.ph: ; preds = %entry br label %for.body for.body: ; preds = %for.body.lr.ph, %for.inc - %__first.sroa.0.041 = phi ptr [ %__first.coerce, %for.body.lr.ph ], [ %incdec.ptr.i, %for.inc ] - %0 = load i32, ptr %__first.sroa.0.041, align 4 + %__first.sroa.0.042 = phi ptr [ %__first.coerce, %for.body.lr.ph ], [ %incdec.ptr.i, %for.inc ] + %0 = load i32, ptr %__first.sroa.0.042, align 4 %call5 = tail call noundef zeroext i1 %__pred(i32 noundef %0) br i1 %call5, label %if.then, label %if.else @@ -41948,7 +41961,7 @@ if.then: ; preds = %for.body br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then - %3 = load i32, ptr %__first.sroa.0.041, align 4 + %3 = load i32, ptr %__first.sroa.0.042, align 4 store i32 %3, ptr %1, align 4 %4 = load ptr, ptr %_M_finish.i.i, align 8 %incdec.ptr.i.i = getelementptr inbounds i32, ptr %4, i64 1 @@ -41964,7 +41977,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -41980,31 +41993,32 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i - %6 = load i32, ptr %__first.sroa.0.041, align 4 + %6 = load i32, ptr %__first.sroa.0.042, align 4 store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__out_true.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -42018,7 +42032,7 @@ if.else: ; preds = %for.body br i1 %cmp.not.i.i3, label %if.else.i.i6, label %if.then.i.i4 if.then.i.i4: ; preds = %if.else - %9 = load i32, ptr %__first.sroa.0.041, align 4 + %9 = load i32, ptr %__first.sroa.0.042, align 4 store i32 %9, ptr %7, align 4 %10 = load ptr, ptr %_M_finish.i.i1, align 8 %incdec.ptr.i.i5 = getelementptr inbounds i32, ptr %10, i64 1 @@ -42031,10 +42045,10 @@ if.else.i.i6: ; preds = %if.else %sub.ptr.rhs.cast.i.i.i.i.i8 = ptrtoint ptr %11 to i64 %sub.ptr.sub.i.i.i.i.i9 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i7, %sub.ptr.rhs.cast.i.i.i.i.i8 %cmp.i.i.i.i10 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i9, 9223372036854775804 - br i1 %cmp.i.i.i.i10, label %if.then.i.i.i.i34, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11 + br i1 %cmp.i.i.i.i10, label %if.then.i.i.i.i35, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11 -if.then.i.i.i.i34: ; preds = %if.else.i.i6 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i35: ; preds = %if.else.i.i6 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11: ; preds = %if.else.i.i6 @@ -42050,39 +42064,40 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11: ; preds = %if.else.i.i6 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11 %mul.i.i.i.i.i.i21 = shl nuw nsw i64 %cond.i.i.i.i18, 2 - %call5.i.i.i.i.i.i22 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i21) #29 + %call5.i.i.i.i.i.i22 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i21) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11 %cond.i10.i.i.i24 = phi ptr [ %call5.i.i.i.i.i.i22, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11 ] %add.ptr.i.i.i25 = getelementptr inbounds i32, ptr %cond.i10.i.i.i24, i64 %sub.ptr.div.i.i.i.i.i12 - %12 = load i32, ptr %__first.sroa.0.041, align 4 + %12 = load i32, ptr %__first.sroa.0.042, align 4 store i32 %12, ptr %add.ptr.i.i.i25, align 4 - %cmp.i.i.i11.i.i.i26 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i12, 0 - br i1 %cmp.i.i.i11.i.i.i26, label %if.then.i.i.i12.i.i.i33, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27 + %cmp.i.i.i11.i.i.i26 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i9, 0 + br i1 %cmp.i.i.i11.i.i.i26, label %if.then.i.i.i12.i.i.i34, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27 -if.then.i.i.i12.i.i.i33: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23 +if.then.i.i.i12.i.i.i34: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i24, ptr align 4 %11, i64 %sub.ptr.sub.i.i.i.i.i9, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27: ; preds = %if.then.i.i.i12.i.i.i33, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23 - %incdec.ptr.i.i.i28 = getelementptr inbounds i32, ptr %add.ptr.i.i.i25, i64 1 - %tobool.not.i.i.i.i29 = icmp eq ptr %11, null - br i1 %tobool.not.i.i.i.i29, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31, label %if.then.i21.i.i.i30 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27: ; preds = %if.then.i.i.i12.i.i.i34, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23 + %add.ptr.i.i.i.i.i.i28 = getelementptr inbounds i8, ptr %cond.i10.i.i.i24, i64 %sub.ptr.sub.i.i.i.i.i9 + %incdec.ptr.i.i.i29 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i28, i64 1 + %tobool.not.i.i.i.i30 = icmp eq ptr %11, null + br i1 %tobool.not.i.i.i.i30, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32, label %if.then.i20.i.i.i31 -if.then.i21.i.i.i30: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27 - tail call void @_ZdlPv(ptr noundef nonnull %11) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31 +if.then.i20.i.i.i31: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27 + tail call void @_ZdlPv(ptr noundef nonnull %11) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31: ; preds = %if.then.i21.i.i.i30, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32: ; preds = %if.then.i20.i.i.i31, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27 store ptr %cond.i10.i.i.i24, ptr %__out_false.coerce, align 8 - store ptr %incdec.ptr.i.i.i28, ptr %_M_finish.i.i1, align 8 - %add.ptr19.i.i.i32 = getelementptr inbounds i32, ptr %cond.i10.i.i.i24, i64 %cond.i.i.i.i18 - store ptr %add.ptr19.i.i.i32, ptr %_M_end_of_storage.i.i2, align 8 + store ptr %incdec.ptr.i.i.i29, ptr %_M_finish.i.i1, align 8 + %add.ptr19.i.i.i33 = getelementptr inbounds i32, ptr %cond.i10.i.i.i24, i64 %cond.i.i.i.i18 + store ptr %add.ptr19.i.i.i33, ptr %_M_end_of_storage.i.i2, align 8 br label %for.inc -for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31, %if.then.i.i4, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %if.then.i.i - %incdec.ptr.i = getelementptr inbounds i32, ptr %__first.sroa.0.041, i64 1 +for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32, %if.then.i.i4, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %if.then.i.i + %incdec.ptr.i = getelementptr inbounds i32, ptr %__first.sroa.0.042, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %__last.coerce br i1 %cmp.i.not, label %for.end, label %for.body, !llvm.loop !712 @@ -42098,7 +42113,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -42114,7 +42129,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -42130,7 +42145,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -42149,7 +42164,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -42164,7 +42179,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -42178,12 +42193,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -42258,7 +42273,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -42268,7 +42283,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -42343,7 +42358,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -42353,7 +42368,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -42428,7 +42443,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -42494,13 +42509,13 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i3.i %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 - call void @__clang_call_terminate(ptr %23) #31 + call void @__clang_call_terminate(ptr %23) #32 unreachable common.resume: ; preds = %lpad, %lpad.i %ref.tmp.sink = phi ptr [ %ref.tmp, %lpad ], [ %ref.tmp.i, %lpad.i ] %common.resume.op = phi { ptr, i32 } [ %25, %lpad ], [ %24, %lpad.i ] - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #28 resume { ptr, i32 } %common.resume.op lpad.i: ; preds = %if.else.i.i.i.i @@ -42524,7 +42539,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -42540,7 +42555,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -42556,7 +42571,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -42575,7 +42590,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -42590,7 +42605,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -42604,12 +42619,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -42684,7 +42699,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -42694,7 +42709,7 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, lpad: ; preds = %if.else.i.i.i %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %12 } @@ -42769,7 +42784,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -42835,13 +42850,13 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i3.i %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 - call void @__clang_call_terminate(ptr %23) #31 + call void @__clang_call_terminate(ptr %23) #32 unreachable common.resume: ; preds = %lpad, %lpad.i %ref.tmp.sink = phi ptr [ %ref.tmp, %lpad ], [ %ref.tmp.i, %lpad.i ] %common.resume.op = phi { ptr, i32 } [ %25, %lpad ], [ %24, %lpad.i ] - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #28 resume { ptr, i32 } %common.resume.op lpad.i: ; preds = %if.else.i.i.i.i @@ -42868,14 +42883,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_132MutatingTest_PartitionPoint_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_132MutatingTest_PartitionPoint_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -42886,22 +42901,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_132MutatingTest_PartitionPoint_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_132MutatingTest_PartitionPoint_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -42912,7 +42927,7 @@ entry: %ref.tmp5 = alloca i32, align 4 %ref.tmp9 = alloca %"class.testing::Message", align 8 %ref.tmp12 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.471, i64 20, i1 false) br label %while.body.i.i @@ -42968,7 +42983,7 @@ invoke.cont11: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont14, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont11 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont14 invoke.cont14: ; preds = %cond.true.i.i, %invoke.cont11 @@ -42981,7 +42996,7 @@ invoke.cont16: ; preds = %invoke.cont14 to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont16 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #28 %8 = load ptr, ptr %ref.tmp9, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -42990,7 +43005,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont18, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -43010,7 +43025,7 @@ lpad13: ; preds = %invoke.cont14 lpad17: ; preds = %invoke.cont16 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #28 br label %ehcleanup ehcleanup: ; preds = %lpad17, %lpad13 @@ -43023,7 +43038,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i9 = load ptr, ptr %13, align 8 %vfn.i.i.i10 = getelementptr inbounds ptr, ptr %vtable.i.i.i9, i64 1 %14 = load ptr, ptr %vfn.i.i.i10, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit11 _ZN7testing7MessageD2Ev.exit11: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i8 @@ -43037,23 +43052,23 @@ if.end: ; preds = %invoke.cont7, %_ZN7 br i1 %cmp.not.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void ehcleanup19: ; preds = %_ZN7testing7MessageD2Ev.exit11, %lpad10 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit11 ], [ %10, %lpad10 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit18 _ZNSt6vectorIiSaIiEED2Ev.exit18: ; preds = %ehcleanup19, %lpad3 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup19 ], [ %6, %lpad3 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn.pn.pn } @@ -43066,14 +43081,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_CopyMiddle_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_CopyMiddle_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -43084,22 +43099,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_CopyMiddle_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_CopyMiddle_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -43118,7 +43133,7 @@ entry: %gtest_ar82 = alloca %"class.testing::AssertionResult", align 8 %ref.tmp87 = alloca %"class.testing::Message", align 8 %ref.tmp90 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.419, i64 20, i1 false) store i32 1, ptr %ref.tmp4, align 4 %arrayinit.element = getelementptr inbounds i32, ptr %ref.tmp4, i64 1 @@ -43134,7 +43149,7 @@ entry: for.body.i.i: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %entry %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %entry ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -43142,7 +43157,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %0 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %0, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %input) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %input) #28 %1 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %1, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -43155,18 +43170,18 @@ lpad3.i: ; preds = %for.body.i.i cleanup %3 = load ptr, ptr %input, align 8 %cmp.not4.i.i.i = icmp eq ptr %3, %input - br i1 %cmp.not4.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit167, label %while.body.i.i.i + br i1 %cmp.not4.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit168, label %while.body.i.i.i while.body.i.i.i: ; preds = %lpad3.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %4, %while.body.i.i.i ], [ %3, %lpad3.i ] %4 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %4, %input - br i1 %cmp.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit167, label %while.body.i.i.i, !llvm.loop !7 + br i1 %cmp.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit168, label %while.body.i.i.i, !llvm.loop !7 invoke.cont12: ; preds = %call5.i.i.i.i.i.i.i.noexc.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i15 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i15 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 to label %invoke.cont21 unwind label %lpad.i16 lpad.i16: ; preds = %invoke.cont12 @@ -43176,52 +43191,52 @@ lpad.i16: ; preds = %invoke.cont12 invoke.cont21: ; preds = %invoke.cont12 store ptr %call5.i.i.i.i2.i15, ptr %expected, align 8 - %add.ptr.i1.i20 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i15, i64 5 + %add.ptr.i1.i20 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i15, i64 20 %_M_end_of_storage.i.i21 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i20, ptr %_M_end_of_storage.i.i21, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i15, ptr noundef nonnull align 4 dereferenceable(20) @constinit.420, i64 20, i1 false) - %_M_finish.i.i22 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 - store ptr %add.ptr.i1.i20, ptr %_M_finish.i.i22, align 8 - %_M_prev.i.i.i.i.i25 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %test_list, i64 0, i32 1 - store ptr %test_list, ptr %_M_prev.i.i.i.i.i25, align 8 + %_M_finish.i.i23 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 + store ptr %add.ptr.i1.i20, ptr %_M_finish.i.i23, align 8 + %_M_prev.i.i.i.i.i26 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %test_list, i64 0, i32 1 + store ptr %test_list, ptr %_M_prev.i.i.i.i.i26, align 8 store ptr %test_list, ptr %test_list, align 8 - %_M_size.i.i.i.i.i26 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %test_list, i64 0, i32 1 - store i64 0, ptr %_M_size.i.i.i.i.i26, align 8 - br label %for.body.i.i27 + %_M_size.i.i.i.i.i27 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %test_list, i64 0, i32 1 + store i64 0, ptr %_M_size.i.i.i.i.i27, align 8 + br label %for.body.i.i28 -for.body.i.i27: ; preds = %invoke.cont21, %call5.i.i.i.i.i.i.i.noexc.i35 - %__first.sroa.0.04.i.i.idx = phi i64 [ %__first.sroa.0.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i35 ], [ 0, %invoke.cont21 ] - %call5.i.i.i.i.i.i.i2.i28 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 - to label %call5.i.i.i.i.i.i.i.noexc.i35 unwind label %lpad.i29 +for.body.i.i28: ; preds = %invoke.cont21, %call5.i.i.i.i.i.i.i.noexc.i36 + %__first.sroa.0.04.i.i.idx = phi i64 [ %__first.sroa.0.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i36 ], [ 0, %invoke.cont21 ] + %call5.i.i.i.i.i.i.i2.i29 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 + to label %call5.i.i.i.i.i.i.i.noexc.i36 unwind label %lpad.i30 -call5.i.i.i.i.i.i.i.noexc.i35: ; preds = %for.body.i.i27 +call5.i.i.i.i.i.i.i.noexc.i36: ; preds = %for.body.i.i28 %__first.sroa.0.04.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %__first.sroa.0.04.i.i.idx - %_M_storage.i.i.i.i.i.i36 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i28, i64 0, i32 1 + %_M_storage.i.i.i.i.i.i37 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i29, i64 0, i32 1 %6 = load i32, ptr %__first.sroa.0.04.i.i.ptr, align 4 - store i32 %6, ptr %_M_storage.i.i.i.i.i.i36, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i28, ptr noundef nonnull %test_list) #27 - %7 = load i64, ptr %_M_size.i.i.i.i.i26, align 8 - %add.i.i.i.i.i37 = add i64 %7, 1 - store i64 %add.i.i.i.i.i37, ptr %_M_size.i.i.i.i.i26, align 8 + store i32 %6, ptr %_M_storage.i.i.i.i.i.i37, align 4 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i29, ptr noundef nonnull %test_list) #28 + %7 = load i64, ptr %_M_size.i.i.i.i.i27, align 8 + %add.i.i.i.i.i38 = add i64 %7, 1 + store i64 %add.i.i.i.i.i38, ptr %_M_size.i.i.i.i.i27, align 8 %__first.sroa.0.04.i.i.add = add nuw nsw i64 %__first.sroa.0.04.i.i.idx, 4 %cmp.i.not.i.i = icmp eq i64 %__first.sroa.0.04.i.i.add, 20 - br i1 %cmp.i.not.i.i, label %invoke.cont30, label %for.body.i.i27, !llvm.loop !810 + br i1 %cmp.i.not.i.i, label %invoke.cont30, label %for.body.i.i28, !llvm.loop !810 -lpad.i29: ; preds = %for.body.i.i27 +lpad.i30: ; preds = %for.body.i.i28 %8 = landingpad { ptr, i32 } cleanup %9 = load ptr, ptr %test_list, align 8 - %cmp.not4.i.i.i30 = icmp eq ptr %9, %test_list - br i1 %cmp.not4.i.i.i30, label %ehcleanup103, label %while.body.i.i.i31 + %cmp.not4.i.i.i31 = icmp eq ptr %9, %test_list + br i1 %cmp.not4.i.i.i31, label %ehcleanup103, label %while.body.i.i.i32 -while.body.i.i.i31: ; preds = %lpad.i29, %while.body.i.i.i31 - %__cur.05.i.i.i32 = phi ptr [ %10, %while.body.i.i.i31 ], [ %9, %lpad.i29 ] - %10 = load ptr, ptr %__cur.05.i.i.i32, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i32) #28 - %cmp.not.i.i.i33 = icmp eq ptr %10, %test_list - br i1 %cmp.not.i.i.i33, label %ehcleanup103, label %while.body.i.i.i31, !llvm.loop !7 +while.body.i.i.i32: ; preds = %lpad.i30, %while.body.i.i.i32 + %__cur.05.i.i.i33 = phi ptr [ %10, %while.body.i.i.i32 ], [ %9, %lpad.i30 ] + %10 = load ptr, ptr %__cur.05.i.i.i33, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i33) #29 + %cmp.not.i.i.i34 = icmp eq ptr %10, %test_list + br i1 %cmp.not.i.i.i34, label %ehcleanup103, label %while.body.i.i.i32, !llvm.loop !7 -invoke.cont30: ; preds = %call5.i.i.i.i.i.i.i.noexc.i35 +invoke.cont30: ; preds = %call5.i.i.i.i.i.i.i.noexc.i36 %11 = load ptr, ptr %input, align 8 %cmp.i.not5.i.i.i.i.i.i = icmp eq ptr %11, %input br i1 %cmp.i.not5.i.i.i.i.i.i, label %invoke.cont38, label %for.body.i.i.i.i.i.i.preheader @@ -43244,51 +43259,51 @@ for.body.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. invoke.cont38: ; preds = %for.body.i.i.i.i.i.i, %invoke.cont30 %15 = load ptr, ptr %expected, align 8 - %16 = load ptr, ptr %_M_finish.i.i22, align 8 - %_M_prev.i.i.i.i.i40 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %ref.tmp41, i64 0, i32 1 - store ptr %ref.tmp41, ptr %_M_prev.i.i.i.i.i40, align 8 + %16 = load ptr, ptr %_M_finish.i.i23, align 8 + %_M_prev.i.i.i.i.i41 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %ref.tmp41, i64 0, i32 1 + store ptr %ref.tmp41, ptr %_M_prev.i.i.i.i.i41, align 8 store ptr %ref.tmp41, ptr %ref.tmp41, align 8 - %_M_size.i.i.i.i.i41 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %ref.tmp41, i64 0, i32 1 - store i64 0, ptr %_M_size.i.i.i.i.i41, align 8 - %cmp.i.not3.i.i42 = icmp eq ptr %15, %16 - br i1 %cmp.i.not3.i.i42, label %invoke.cont52, label %for.body.i.i43 - -for.body.i.i43: ; preds = %invoke.cont38, %call5.i.i.i.i.i.i.i.noexc.i52 - %__first.sroa.0.04.i.i44 = phi ptr [ %incdec.ptr.i.i.i55, %call5.i.i.i.i.i.i.i.noexc.i52 ], [ %15, %invoke.cont38 ] - %call5.i.i.i.i.i.i.i2.i45 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 - to label %call5.i.i.i.i.i.i.i.noexc.i52 unwind label %lpad.i46 - -call5.i.i.i.i.i.i.i.noexc.i52: ; preds = %for.body.i.i43 - %_M_storage.i.i.i.i.i.i53 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i45, i64 0, i32 1 - %17 = load i32, ptr %__first.sroa.0.04.i.i44, align 4 - store i32 %17, ptr %_M_storage.i.i.i.i.i.i53, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i45, ptr noundef nonnull %ref.tmp41) #27 - %18 = load i64, ptr %_M_size.i.i.i.i.i41, align 8 - %add.i.i.i.i.i54 = add i64 %18, 1 - store i64 %add.i.i.i.i.i54, ptr %_M_size.i.i.i.i.i41, align 8 - %incdec.ptr.i.i.i55 = getelementptr inbounds i32, ptr %__first.sroa.0.04.i.i44, i64 1 - %cmp.i.not.i.i56 = icmp eq ptr %incdec.ptr.i.i.i55, %16 - br i1 %cmp.i.not.i.i56, label %invoke.cont52, label %for.body.i.i43, !llvm.loop !810 - -lpad.i46: ; preds = %for.body.i.i43 + %_M_size.i.i.i.i.i42 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %ref.tmp41, i64 0, i32 1 + store i64 0, ptr %_M_size.i.i.i.i.i42, align 8 + %cmp.i.not3.i.i43 = icmp eq ptr %15, %16 + br i1 %cmp.i.not3.i.i43, label %invoke.cont52, label %for.body.i.i44 + +for.body.i.i44: ; preds = %invoke.cont38, %call5.i.i.i.i.i.i.i.noexc.i53 + %__first.sroa.0.04.i.i45 = phi ptr [ %incdec.ptr.i.i.i56, %call5.i.i.i.i.i.i.i.noexc.i53 ], [ %15, %invoke.cont38 ] + %call5.i.i.i.i.i.i.i2.i46 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 + to label %call5.i.i.i.i.i.i.i.noexc.i53 unwind label %lpad.i47 + +call5.i.i.i.i.i.i.i.noexc.i53: ; preds = %for.body.i.i44 + %_M_storage.i.i.i.i.i.i54 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i46, i64 0, i32 1 + %17 = load i32, ptr %__first.sroa.0.04.i.i45, align 4 + store i32 %17, ptr %_M_storage.i.i.i.i.i.i54, align 4 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i46, ptr noundef nonnull %ref.tmp41) #28 + %18 = load i64, ptr %_M_size.i.i.i.i.i42, align 8 + %add.i.i.i.i.i55 = add i64 %18, 1 + store i64 %add.i.i.i.i.i55, ptr %_M_size.i.i.i.i.i42, align 8 + %incdec.ptr.i.i.i56 = getelementptr inbounds i32, ptr %__first.sroa.0.04.i.i45, i64 1 + %cmp.i.not.i.i57 = icmp eq ptr %incdec.ptr.i.i.i56, %16 + br i1 %cmp.i.not.i.i57, label %invoke.cont52, label %for.body.i.i44, !llvm.loop !810 + +lpad.i47: ; preds = %for.body.i.i44 %19 = landingpad { ptr, i32 } cleanup %20 = load ptr, ptr %ref.tmp41, align 8 - %cmp.not4.i.i.i47 = icmp eq ptr %20, %ref.tmp41 - br i1 %cmp.not4.i.i.i47, label %ehcleanup102, label %while.body.i.i.i48 - -while.body.i.i.i48: ; preds = %lpad.i46, %while.body.i.i.i48 - %__cur.05.i.i.i49 = phi ptr [ %21, %while.body.i.i.i48 ], [ %20, %lpad.i46 ] - %21 = load ptr, ptr %__cur.05.i.i.i49, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i49) #28 - %cmp.not.i.i.i50 = icmp eq ptr %21, %ref.tmp41 - br i1 %cmp.not.i.i.i50, label %ehcleanup102, label %while.body.i.i.i48, !llvm.loop !7 - -invoke.cont52: ; preds = %call5.i.i.i.i.i.i.i.noexc.i52, %invoke.cont38 - %22 = phi i64 [ 0, %invoke.cont38 ], [ %add.i.i.i.i.i54, %call5.i.i.i.i.i.i.i.noexc.i52 ] - %23 = load i64, ptr %_M_size.i.i.i.i.i26, align 8, !noalias !812 - %cmp.not.i.i.i59 = icmp eq i64 %22, %23 - br i1 %cmp.not.i.i.i59, label %while.cond.i.i.i, label %if.end.i.i + %cmp.not4.i.i.i48 = icmp eq ptr %20, %ref.tmp41 + br i1 %cmp.not4.i.i.i48, label %ehcleanup102, label %while.body.i.i.i49 + +while.body.i.i.i49: ; preds = %lpad.i47, %while.body.i.i.i49 + %__cur.05.i.i.i50 = phi ptr [ %21, %while.body.i.i.i49 ], [ %20, %lpad.i47 ] + %21 = load ptr, ptr %__cur.05.i.i.i50, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i50) #29 + %cmp.not.i.i.i51 = icmp eq ptr %21, %ref.tmp41 + br i1 %cmp.not.i.i.i51, label %ehcleanup102, label %while.body.i.i.i49, !llvm.loop !7 + +invoke.cont52: ; preds = %call5.i.i.i.i.i.i.i.noexc.i53, %invoke.cont38 + %22 = phi i64 [ 0, %invoke.cont38 ], [ %add.i.i.i.i.i55, %call5.i.i.i.i.i.i.i.noexc.i53 ] + %23 = load i64, ptr %_M_size.i.i.i.i.i27, align 8, !noalias !812 + %cmp.not.i.i.i60 = icmp eq i64 %22, %23 + br i1 %cmp.not.i.i.i60, label %while.cond.i.i.i, label %if.end.i.i while.cond.i.i.i: ; preds = %invoke.cont52, %land.rhs.i.i.i %__i1.sroa.0.0.in.i.i.i = phi ptr [ %__i1.sroa.0.0.i.i.i, %land.rhs.i.i.i ], [ %ref.tmp41, %invoke.cont52 ] @@ -43324,17 +43339,17 @@ if.end.i.i: ; preds = %_ZSteqIiSaIiEEbRKNS invoke.cont54: ; preds = %if.then.i.i, %if.end.i.i %26 = load ptr, ptr %ref.tmp41, align 8 - %cmp.not4.i.i.i61 = icmp eq ptr %26, %ref.tmp41 - br i1 %cmp.not4.i.i.i61, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i62 + %cmp.not4.i.i.i62 = icmp eq ptr %26, %ref.tmp41 + br i1 %cmp.not4.i.i.i62, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i63 -while.body.i.i.i62: ; preds = %invoke.cont54, %while.body.i.i.i62 - %__cur.05.i.i.i63 = phi ptr [ %27, %while.body.i.i.i62 ], [ %26, %invoke.cont54 ] - %27 = load ptr, ptr %__cur.05.i.i.i63, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i63) #28 - %cmp.not.i.i.i64 = icmp eq ptr %27, %ref.tmp41 - br i1 %cmp.not.i.i.i64, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i62, !llvm.loop !7 +while.body.i.i.i63: ; preds = %invoke.cont54, %while.body.i.i.i63 + %__cur.05.i.i.i64 = phi ptr [ %27, %while.body.i.i.i63 ], [ %26, %invoke.cont54 ] + %27 = load ptr, ptr %__cur.05.i.i.i64, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i64) #29 + %cmp.not.i.i.i65 = icmp eq ptr %27, %ref.tmp41 + br i1 %cmp.not.i.i.i65, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i63, !llvm.loop !7 -_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i62, %invoke.cont54 +_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i63, %invoke.cont54 %28 = load i8, ptr %gtest_ar, align 8 %29 = and i8 %28, 1 %tobool.i.not = icmp eq i8 %29, 0 @@ -43349,15 +43364,15 @@ lpad53: ; preds = %if.end.i.i, %if.the %31 = landingpad { ptr, i32 } cleanup %32 = load ptr, ptr %ref.tmp41, align 8 - %cmp.not4.i.i.i66 = icmp eq ptr %32, %ref.tmp41 - br i1 %cmp.not4.i.i.i66, label %ehcleanup102, label %while.body.i.i.i67 + %cmp.not4.i.i.i67 = icmp eq ptr %32, %ref.tmp41 + br i1 %cmp.not4.i.i.i67, label %ehcleanup102, label %while.body.i.i.i68 -while.body.i.i.i67: ; preds = %lpad53, %while.body.i.i.i67 - %__cur.05.i.i.i68 = phi ptr [ %33, %while.body.i.i.i67 ], [ %32, %lpad53 ] - %33 = load ptr, ptr %__cur.05.i.i.i68, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i68) #28 - %cmp.not.i.i.i69 = icmp eq ptr %33, %ref.tmp41 - br i1 %cmp.not.i.i.i69, label %ehcleanup102, label %while.body.i.i.i67, !llvm.loop !7 +while.body.i.i.i68: ; preds = %lpad53, %while.body.i.i.i68 + %__cur.05.i.i.i69 = phi ptr [ %33, %while.body.i.i.i68 ], [ %32, %lpad53 ] + %33 = load ptr, ptr %__cur.05.i.i.i69, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i69) #29 + %cmp.not.i.i.i70 = icmp eq ptr %33, %ref.tmp41 + br i1 %cmp.not.i.i.i70, label %ehcleanup102, label %while.body.i.i.i68, !llvm.loop !7 if.else: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) @@ -43370,7 +43385,7 @@ invoke.cont58: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont61, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont58 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 br label %invoke.cont61 invoke.cont61: ; preds = %cond.true.i.i, %invoke.cont58 @@ -43383,16 +43398,16 @@ invoke.cont63: ; preds = %invoke.cont61 to label %invoke.cont65 unwind label %lpad64 invoke.cont65: ; preds = %invoke.cont63 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #28 %35 = load ptr, ptr %ref.tmp56, align 8 - %cmp.not.i.i72 = icmp eq ptr %35, null - br i1 %cmp.not.i.i72, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i73 = icmp eq ptr %35, null + br i1 %cmp.not.i.i73, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont65 %vtable.i.i.i = load ptr, ptr %35, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %36 = load ptr, ptr %vfn.i.i.i, align 8 - call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #27 + call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont65, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -43412,104 +43427,104 @@ lpad60: ; preds = %invoke.cont61 lpad64: ; preds = %invoke.cont63 %39 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #28 br label %ehcleanup67 ehcleanup67: ; preds = %lpad64, %lpad60 %.pn2 = phi { ptr, i32 } [ %39, %lpad64 ], [ %38, %lpad60 ] %40 = load ptr, ptr %ref.tmp56, align 8 - %cmp.not.i.i73 = icmp eq ptr %40, null - br i1 %cmp.not.i.i73, label %_ZN7testing7MessageD2Ev.exit77, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + %cmp.not.i.i74 = icmp eq ptr %40, null + br i1 %cmp.not.i.i74, label %_ZN7testing7MessageD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %ehcleanup67 - %vtable.i.i.i75 = load ptr, ptr %40, align 8 - %vfn.i.i.i76 = getelementptr inbounds ptr, ptr %vtable.i.i.i75, i64 1 - %41 = load ptr, ptr %vfn.i.i.i76, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 - br label %_ZN7testing7MessageD2Ev.exit77 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75: ; preds = %ehcleanup67 + %vtable.i.i.i76 = load ptr, ptr %40, align 8 + %vfn.i.i.i77 = getelementptr inbounds ptr, ptr %vtable.i.i.i76, i64 1 + %41 = load ptr, ptr %vfn.i.i.i77, align 8 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 + br label %_ZN7testing7MessageD2Ev.exit78 -_ZN7testing7MessageD2Ev.exit77: ; preds = %ehcleanup67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 +_ZN7testing7MessageD2Ev.exit78: ; preds = %ehcleanup67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75 store ptr null, ptr %ref.tmp56, align 8 br label %ehcleanup68 if.end: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %42 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i78 = icmp eq ptr %42, null - br i1 %cmp.not.i.i78, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i79 = icmp eq ptr %42, null + br i1 %cmp.not.i.i79, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #27 - call void @_ZdlPv(ptr noundef nonnull %42) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 + call void @_ZdlPv(ptr noundef nonnull %42) #29 br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %test_vector, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i81 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i6.i82 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 to label %invoke.cont69 unwind label %lpad37 invoke.cont69: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i - store ptr %call5.i.i.i.i2.i6.i81, ptr %test_vector, align 8 + store ptr %call5.i.i.i.i2.i6.i82, ptr %test_vector, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 1 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i81, i64 5 + %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i82, i64 5 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i6.i81, ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, i64 20, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i6.i82, ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, i64 20, i1 false) store ptr %add.ptr.i.i.i, ptr %_M_finish.i.i.i, align 8 %43 = load ptr, ptr %input, align 8 - %cmp.i.not5.i.i.i.i.i.i82 = icmp eq ptr %43, %input - br i1 %cmp.i.not5.i.i.i.i.i.i82, label %invoke.cont78, label %for.body.i.i.i.i.i.i83 + %cmp.i.not5.i.i.i.i.i.i83 = icmp eq ptr %43, %input + br i1 %cmp.i.not5.i.i.i.i.i.i83, label %invoke.cont78, label %for.body.i.i.i.i.i.i84 -for.body.i.i.i.i.i.i83: ; preds = %invoke.cont69, %for.body.i.i.i.i.i.i83 - %__result.addr.07.i.i.i.i.i.i.pn = phi ptr [ %__result.addr.07.i.i.i.i.i.i, %for.body.i.i.i.i.i.i83 ], [ %call5.i.i.i.i2.i6.i81, %invoke.cont69 ] - %__first.sroa.0.06.i.i.i.i.i.i84 = phi ptr [ %45, %for.body.i.i.i.i.i.i83 ], [ %43, %invoke.cont69 ] +for.body.i.i.i.i.i.i84: ; preds = %invoke.cont69, %for.body.i.i.i.i.i.i84 + %__result.addr.07.i.i.i.i.i.i.pn = phi ptr [ %__result.addr.07.i.i.i.i.i.i, %for.body.i.i.i.i.i.i84 ], [ %call5.i.i.i.i2.i6.i82, %invoke.cont69 ] + %__first.sroa.0.06.i.i.i.i.i.i85 = phi ptr [ %45, %for.body.i.i.i.i.i.i84 ], [ %43, %invoke.cont69 ] %__result.addr.07.i.i.i.i.i.i = getelementptr inbounds i32, ptr %__result.addr.07.i.i.i.i.i.i.pn, i64 1 - %_M_storage.i.i.i.i.i.i.i.i85 = getelementptr inbounds %"struct.std::_List_node", ptr %__first.sroa.0.06.i.i.i.i.i.i84, i64 0, i32 1 - %44 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i85, align 4 + %_M_storage.i.i.i.i.i.i.i.i86 = getelementptr inbounds %"struct.std::_List_node", ptr %__first.sroa.0.06.i.i.i.i.i.i85, i64 0, i32 1 + %44 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i86, align 4 store i32 %44, ptr %__result.addr.07.i.i.i.i.i.i, align 4 - %45 = load ptr, ptr %__first.sroa.0.06.i.i.i.i.i.i84, align 8 - %cmp.i.not.i.i.i.i.i.i86 = icmp eq ptr %45, %input - br i1 %cmp.i.not.i.i.i.i.i.i86, label %invoke.cont78, label %for.body.i.i.i.i.i.i83, !llvm.loop !817 + %45 = load ptr, ptr %__first.sroa.0.06.i.i.i.i.i.i85, align 8 + %cmp.i.not.i.i.i.i.i.i87 = icmp eq ptr %45, %input + br i1 %cmp.i.not.i.i.i.i.i.i87, label %invoke.cont78, label %for.body.i.i.i.i.i.i84, !llvm.loop !817 -invoke.cont78: ; preds = %for.body.i.i.i.i.i.i83, %invoke.cont69 - %46 = load ptr, ptr %_M_finish.i.i22, align 8, !noalias !818 +invoke.cont78: ; preds = %for.body.i.i.i.i.i.i84, %invoke.cont69 + %46 = load ptr, ptr %_M_finish.i.i23, align 8, !noalias !818 %47 = load ptr, ptr %expected, align 8, !noalias !818 - %sub.ptr.lhs.cast.i.i.i.i87 = ptrtoint ptr %46 to i64 - %sub.ptr.rhs.cast.i.i.i.i88 = ptrtoint ptr %47 to i64 - %sub.ptr.sub.i.i.i.i89 = sub i64 %sub.ptr.lhs.cast.i.i.i.i87, %sub.ptr.rhs.cast.i.i.i.i88 - %cmp.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i89, 20 - br i1 %cmp.i.i.i, label %land.rhs.i.i.i91, label %if.end.i.i90 + %sub.ptr.lhs.cast.i.i.i.i88 = ptrtoint ptr %46 to i64 + %sub.ptr.rhs.cast.i.i.i.i89 = ptrtoint ptr %47 to i64 + %sub.ptr.sub.i.i.i.i90 = sub i64 %sub.ptr.lhs.cast.i.i.i.i88, %sub.ptr.rhs.cast.i.i.i.i89 + %cmp.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i90, 20 + br i1 %cmp.i.i.i, label %land.rhs.i.i.i92, label %if.end.i.i91 -land.rhs.i.i.i91: ; preds = %invoke.cont78 +land.rhs.i.i.i92: ; preds = %invoke.cont78 %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %46, %47 - br i1 %tobool.not.i.i.i.i.i.i.i, label %if.then.i.i92, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i + br i1 %tobool.not.i.i.i.i.i.i.i, label %if.then.i.i93, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i: ; preds = %land.rhs.i.i.i91 - %bcmp.i.i.i.i.i.i.i = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %47, ptr noundef nonnull dereferenceable(20) %call5.i.i.i.i2.i6.i81, i64 20), !noalias !818 +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i: ; preds = %land.rhs.i.i.i92 + %bcmp.i.i.i.i.i.i.i = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %47, ptr noundef nonnull dereferenceable(20) %call5.i.i.i.i2.i6.i82, i64 20), !noalias !818 %tobool1.not.i.i.i.i.i.i.i = icmp eq i32 %bcmp.i.i.i.i.i.i.i, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i92, label %if.end.i.i90 + br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i93, label %if.end.i.i91 -if.then.i.i92: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, %land.rhs.i.i.i91 +if.then.i.i93: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, %land.rhs.i.i.i92 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar82) to label %invoke.cont83 unwind label %lpad77 -if.end.i.i90: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, %invoke.cont78 +if.end.i.i91: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, %invoke.cont78 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar82, ptr noundef nonnull @.str.329, ptr noundef nonnull @.str.423, ptr noundef nonnull align 8 dereferenceable(24) %expected, ptr noundef nonnull align 8 dereferenceable(24) %test_vector) to label %invoke.cont83 unwind label %lpad77 -invoke.cont83: ; preds = %if.then.i.i92, %if.end.i.i90 +invoke.cont83: ; preds = %if.then.i.i93, %if.end.i.i91 %48 = load i8, ptr %gtest_ar82, align 8 %49 = and i8 %48, 1 - %tobool.i95.not = icmp eq i8 %49, 0 - br i1 %tobool.i95.not, label %if.else86, label %if.end99 + %tobool.i96.not = icmp eq i8 %49, 0 + br i1 %tobool.i96.not, label %if.else86, label %if.end99 -ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit77, %lpad57 - %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit77 ], [ %37, %lpad57 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit78, %lpad57 + %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit78 ], [ %37, %lpad57 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup102 -lpad77: ; preds = %if.end.i.i90, %if.then.i.i92 +lpad77: ; preds = %if.end.i.i91, %if.then.i.i93 %50 = landingpad { ptr, i32 } cleanup br label %ehcleanup101 @@ -43519,18 +43534,18 @@ if.else86: ; preds = %invoke.cont83 to label %invoke.cont89 unwind label %lpad88 invoke.cont89: ; preds = %if.else86 - %message_.i.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar82, i64 0, i32 1 - %51 = load ptr, ptr %message_.i.i96, align 8 - %cmp.i.i.not.i.i97 = icmp eq ptr %51, null - br i1 %cmp.i.i.not.i.i97, label %invoke.cont92, label %cond.true.i.i98 + %message_.i.i97 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar82, i64 0, i32 1 + %51 = load ptr, ptr %message_.i.i97, align 8 + %cmp.i.i.not.i.i98 = icmp eq ptr %51, null + br i1 %cmp.i.i.not.i.i98, label %invoke.cont92, label %cond.true.i.i99 -cond.true.i.i98: ; preds = %invoke.cont89 - %call4.i.i99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %51) #27 +cond.true.i.i99: ; preds = %invoke.cont89 + %call4.i.i100 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %51) #28 br label %invoke.cont92 -invoke.cont92: ; preds = %cond.true.i.i98, %invoke.cont89 - %cond.i.i100 = phi ptr [ %call4.i.i99, %cond.true.i.i98 ], [ @.str.255, %invoke.cont89 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 655, ptr noundef %cond.i.i100) +invoke.cont92: ; preds = %cond.true.i.i99, %invoke.cont89 + %cond.i.i101 = phi ptr [ %call4.i.i100, %cond.true.i.i99 ], [ @.str.255, %invoke.cont89 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 655, ptr noundef %cond.i.i101) to label %invoke.cont94 unwind label %lpad91 invoke.cont94: ; preds = %invoke.cont92 @@ -43538,19 +43553,19 @@ invoke.cont94: ; preds = %invoke.cont92 to label %invoke.cont96 unwind label %lpad95 invoke.cont96: ; preds = %invoke.cont94 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #28 %52 = load ptr, ptr %ref.tmp87, align 8 - %cmp.not.i.i102 = icmp eq ptr %52, null - br i1 %cmp.not.i.i102, label %_ZN7testing7MessageD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 + %cmp.not.i.i103 = icmp eq ptr %52, null + br i1 %cmp.not.i.i103, label %_ZN7testing7MessageD2Ev.exit107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103: ; preds = %invoke.cont96 - %vtable.i.i.i104 = load ptr, ptr %52, align 8 - %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 - %53 = load ptr, ptr %vfn.i.i.i105, align 8 - call void %53(ptr noundef nonnull align 8 dereferenceable(128) %52) #27 - br label %_ZN7testing7MessageD2Ev.exit106 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104: ; preds = %invoke.cont96 + %vtable.i.i.i105 = load ptr, ptr %52, align 8 + %vfn.i.i.i106 = getelementptr inbounds ptr, ptr %vtable.i.i.i105, i64 1 + %53 = load ptr, ptr %vfn.i.i.i106, align 8 + call void %53(ptr noundef nonnull align 8 dereferenceable(128) %52) #28 + br label %_ZN7testing7MessageD2Ev.exit107 -_ZN7testing7MessageD2Ev.exit106: ; preds = %invoke.cont96, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 +_ZN7testing7MessageD2Ev.exit107: ; preds = %invoke.cont96, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 store ptr null, ptr %ref.tmp87, align 8 br label %if.end99 @@ -43567,138 +43582,138 @@ lpad91: ; preds = %invoke.cont92 lpad95: ; preds = %invoke.cont94 %56 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #28 br label %ehcleanup98 ehcleanup98: ; preds = %lpad95, %lpad91 %.pn5 = phi { ptr, i32 } [ %56, %lpad95 ], [ %55, %lpad91 ] %57 = load ptr, ptr %ref.tmp87, align 8 - %cmp.not.i.i107 = icmp eq ptr %57, null - br i1 %cmp.not.i.i107, label %_ZN7testing7MessageD2Ev.exit111, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 + %cmp.not.i.i108 = icmp eq ptr %57, null + br i1 %cmp.not.i.i108, label %_ZN7testing7MessageD2Ev.exit112, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108: ; preds = %ehcleanup98 - %vtable.i.i.i109 = load ptr, ptr %57, align 8 - %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 - %58 = load ptr, ptr %vfn.i.i.i110, align 8 - call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #27 - br label %_ZN7testing7MessageD2Ev.exit111 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109: ; preds = %ehcleanup98 + %vtable.i.i.i110 = load ptr, ptr %57, align 8 + %vfn.i.i.i111 = getelementptr inbounds ptr, ptr %vtable.i.i.i110, i64 1 + %58 = load ptr, ptr %vfn.i.i.i111, align 8 + call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #28 + br label %_ZN7testing7MessageD2Ev.exit112 -_ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 +_ZN7testing7MessageD2Ev.exit112: ; preds = %ehcleanup98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 store ptr null, ptr %ref.tmp87, align 8 br label %ehcleanup100 -if.end99: ; preds = %invoke.cont83, %_ZN7testing7MessageD2Ev.exit106 - %message_.i112 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar82, i64 0, i32 1 - %59 = load ptr, ptr %message_.i112, align 8 - %cmp.not.i.i113 = icmp eq ptr %59, null - br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 +if.end99: ; preds = %invoke.cont83, %_ZN7testing7MessageD2Ev.exit107 + %message_.i113 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar82, i64 0, i32 1 + %59 = load ptr, ptr %message_.i113, align 8 + %cmp.not.i.i114 = icmp eq ptr %59, null + br i1 %cmp.not.i.i114, label %_ZN7testing15AssertionResultD2Ev.exit116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end99 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #27 - call void @_ZdlPv(ptr noundef nonnull %59) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit115 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %if.end99 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #28 + call void @_ZdlPv(ptr noundef nonnull %59) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit116 -_ZN7testing15AssertionResultD2Ev.exit115: ; preds = %if.end99, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 - store ptr null, ptr %message_.i112, align 8 +_ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end99, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 + store ptr null, ptr %message_.i113, align 8 %60 = load ptr, ptr %test_vector, align 8 - %tobool.not.i.i.i117 = icmp eq ptr %60, null - br i1 %tobool.not.i.i.i117, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i118 = icmp eq ptr %60, null + br i1 %tobool.not.i.i.i118, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 - call void @_ZdlPv(ptr noundef nonnull %60) #28 +if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 + call void @_ZdlPv(ptr noundef nonnull %60) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115, %if.then.i.i.i +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116, %if.then.i.i.i %61 = load ptr, ptr %test_list, align 8 - %cmp.not4.i.i.i119 = icmp eq ptr %61, %test_list - br i1 %cmp.not4.i.i.i119, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit124, label %while.body.i.i.i120 + %cmp.not4.i.i.i120 = icmp eq ptr %61, %test_list + br i1 %cmp.not4.i.i.i120, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit125, label %while.body.i.i.i121 -while.body.i.i.i120: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %while.body.i.i.i120 - %__cur.05.i.i.i121 = phi ptr [ %62, %while.body.i.i.i120 ], [ %61, %_ZNSt6vectorIiSaIiEED2Ev.exit ] - %62 = load ptr, ptr %__cur.05.i.i.i121, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i121) #28 - %cmp.not.i.i.i122 = icmp eq ptr %62, %test_list - br i1 %cmp.not.i.i.i122, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit124, label %while.body.i.i.i120, !llvm.loop !7 +while.body.i.i.i121: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %while.body.i.i.i121 + %__cur.05.i.i.i122 = phi ptr [ %62, %while.body.i.i.i121 ], [ %61, %_ZNSt6vectorIiSaIiEED2Ev.exit ] + %62 = load ptr, ptr %__cur.05.i.i.i122, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i122) #29 + %cmp.not.i.i.i123 = icmp eq ptr %62, %test_list + br i1 %cmp.not.i.i.i123, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit125, label %while.body.i.i.i121, !llvm.loop !7 -_ZNSt7__cxx114listIiSaIiEED2Ev.exit124: ; preds = %while.body.i.i.i120, %_ZNSt6vectorIiSaIiEED2Ev.exit +_ZNSt7__cxx114listIiSaIiEED2Ev.exit125: ; preds = %while.body.i.i.i121, %_ZNSt6vectorIiSaIiEED2Ev.exit %63 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i126 = icmp eq ptr %63, null - br i1 %tobool.not.i.i.i126, label %_ZNSt6vectorIiSaIiEED2Ev.exit129, label %if.then.i.i.i127 + %tobool.not.i.i.i127 = icmp eq ptr %63, null + br i1 %tobool.not.i.i.i127, label %_ZNSt6vectorIiSaIiEED2Ev.exit130, label %if.then.i.i.i128 -if.then.i.i.i127: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit124 - call void @_ZdlPv(ptr noundef nonnull %63) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit129 +if.then.i.i.i128: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit125 + call void @_ZdlPv(ptr noundef nonnull %63) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit130 -_ZNSt6vectorIiSaIiEED2Ev.exit129: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit124, %if.then.i.i.i127 +_ZNSt6vectorIiSaIiEED2Ev.exit130: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit125, %if.then.i.i.i128 %64 = load ptr, ptr %input, align 8 - %cmp.not4.i.i.i130 = icmp eq ptr %64, %input - br i1 %cmp.not4.i.i.i130, label %_ZNSt6vectorIiSaIiEED2Ev.exit140, label %while.body.i.i.i131 + %cmp.not4.i.i.i131 = icmp eq ptr %64, %input + br i1 %cmp.not4.i.i.i131, label %_ZNSt6vectorIiSaIiEED2Ev.exit141, label %while.body.i.i.i132 -while.body.i.i.i131: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit129, %while.body.i.i.i131 - %__cur.05.i.i.i132 = phi ptr [ %65, %while.body.i.i.i131 ], [ %64, %_ZNSt6vectorIiSaIiEED2Ev.exit129 ] - %65 = load ptr, ptr %__cur.05.i.i.i132, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i132) #28 - %cmp.not.i.i.i133 = icmp eq ptr %65, %input - br i1 %cmp.not.i.i.i133, label %_ZNSt6vectorIiSaIiEED2Ev.exit140, label %while.body.i.i.i131, !llvm.loop !7 +while.body.i.i.i132: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit130, %while.body.i.i.i132 + %__cur.05.i.i.i133 = phi ptr [ %65, %while.body.i.i.i132 ], [ %64, %_ZNSt6vectorIiSaIiEED2Ev.exit130 ] + %65 = load ptr, ptr %__cur.05.i.i.i133, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i133) #29 + %cmp.not.i.i.i134 = icmp eq ptr %65, %input + br i1 %cmp.not.i.i.i134, label %_ZNSt6vectorIiSaIiEED2Ev.exit141, label %while.body.i.i.i132, !llvm.loop !7 -_ZNSt6vectorIiSaIiEED2Ev.exit140: ; preds = %while.body.i.i.i131, %_ZNSt6vectorIiSaIiEED2Ev.exit129 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit141: ; preds = %while.body.i.i.i132, %_ZNSt6vectorIiSaIiEED2Ev.exit130 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void -ehcleanup100: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad88 - %.pn5.pn = phi { ptr, i32 } [ %.pn5, %_ZN7testing7MessageD2Ev.exit111 ], [ %54, %lpad88 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar82) #27 +ehcleanup100: ; preds = %_ZN7testing7MessageD2Ev.exit112, %lpad88 + %.pn5.pn = phi { ptr, i32 } [ %.pn5, %_ZN7testing7MessageD2Ev.exit112 ], [ %54, %lpad88 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar82) #28 br label %ehcleanup101 ehcleanup101: ; preds = %ehcleanup100, %lpad77 %.pn5.pn.pn = phi { ptr, i32 } [ %.pn5.pn, %ehcleanup100 ], [ %50, %lpad77 ] %66 = load ptr, ptr %test_vector, align 8 - %tobool.not.i.i.i142 = icmp eq ptr %66, null - br i1 %tobool.not.i.i.i142, label %ehcleanup102, label %if.then.i.i.i143 + %tobool.not.i.i.i143 = icmp eq ptr %66, null + br i1 %tobool.not.i.i.i143, label %ehcleanup102, label %if.then.i.i.i144 -if.then.i.i.i143: ; preds = %ehcleanup101 - call void @_ZdlPv(ptr noundef nonnull %66) #28 +if.then.i.i.i144: ; preds = %ehcleanup101 + call void @_ZdlPv(ptr noundef nonnull %66) #29 br label %ehcleanup102 -ehcleanup102: ; preds = %while.body.i.i.i48, %while.body.i.i.i67, %if.then.i.i.i143, %ehcleanup101, %lpad.i46, %lpad53, %ehcleanup68, %lpad37 - %.pn5.pn.pn.pn = phi { ptr, i32 } [ %30, %lpad37 ], [ %.pn2.pn, %ehcleanup68 ], [ %19, %lpad.i46 ], [ %31, %lpad53 ], [ %.pn5.pn.pn, %ehcleanup101 ], [ %.pn5.pn.pn, %if.then.i.i.i143 ], [ %31, %while.body.i.i.i67 ], [ %19, %while.body.i.i.i48 ] +ehcleanup102: ; preds = %while.body.i.i.i49, %while.body.i.i.i68, %if.then.i.i.i144, %ehcleanup101, %lpad.i47, %lpad53, %ehcleanup68, %lpad37 + %.pn5.pn.pn.pn = phi { ptr, i32 } [ %30, %lpad37 ], [ %.pn2.pn, %ehcleanup68 ], [ %19, %lpad.i47 ], [ %31, %lpad53 ], [ %.pn5.pn.pn, %ehcleanup101 ], [ %.pn5.pn.pn, %if.then.i.i.i144 ], [ %31, %while.body.i.i.i68 ], [ %19, %while.body.i.i.i49 ] %67 = load ptr, ptr %test_list, align 8 - %cmp.not4.i.i.i146 = icmp eq ptr %67, %test_list - br i1 %cmp.not4.i.i.i146, label %ehcleanup103, label %while.body.i.i.i147 - -while.body.i.i.i147: ; preds = %ehcleanup102, %while.body.i.i.i147 - %__cur.05.i.i.i148 = phi ptr [ %68, %while.body.i.i.i147 ], [ %67, %ehcleanup102 ] - %68 = load ptr, ptr %__cur.05.i.i.i148, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i148) #28 - %cmp.not.i.i.i149 = icmp eq ptr %68, %test_list - br i1 %cmp.not.i.i.i149, label %ehcleanup103, label %while.body.i.i.i147, !llvm.loop !7 - -ehcleanup103: ; preds = %while.body.i.i.i31, %while.body.i.i.i147, %ehcleanup102, %lpad.i29 - %.pn5.pn.pn.pn.pn = phi { ptr, i32 } [ %8, %lpad.i29 ], [ %.pn5.pn.pn.pn, %ehcleanup102 ], [ %.pn5.pn.pn.pn, %while.body.i.i.i147 ], [ %8, %while.body.i.i.i31 ] + %cmp.not4.i.i.i147 = icmp eq ptr %67, %test_list + br i1 %cmp.not4.i.i.i147, label %ehcleanup103, label %while.body.i.i.i148 + +while.body.i.i.i148: ; preds = %ehcleanup102, %while.body.i.i.i148 + %__cur.05.i.i.i149 = phi ptr [ %68, %while.body.i.i.i148 ], [ %67, %ehcleanup102 ] + %68 = load ptr, ptr %__cur.05.i.i.i149, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i149) #29 + %cmp.not.i.i.i150 = icmp eq ptr %68, %test_list + br i1 %cmp.not.i.i.i150, label %ehcleanup103, label %while.body.i.i.i148, !llvm.loop !7 + +ehcleanup103: ; preds = %while.body.i.i.i32, %while.body.i.i.i148, %ehcleanup102, %lpad.i30 + %.pn5.pn.pn.pn.pn = phi { ptr, i32 } [ %8, %lpad.i30 ], [ %.pn5.pn.pn.pn, %ehcleanup102 ], [ %.pn5.pn.pn.pn, %while.body.i.i.i148 ], [ %8, %while.body.i.i.i32 ] %69 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i153 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i153, label %ehcleanup104, label %if.then.i.i.i154 + %tobool.not.i.i.i154 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i154, label %ehcleanup104, label %if.then.i.i.i155 -if.then.i.i.i154: ; preds = %ehcleanup103 - call void @_ZdlPv(ptr noundef nonnull %69) #28 +if.then.i.i.i155: ; preds = %ehcleanup103 + call void @_ZdlPv(ptr noundef nonnull %69) #29 br label %ehcleanup104 -ehcleanup104: ; preds = %lpad.i16, %if.then.i.i.i154, %ehcleanup103 - %.pn5.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %5, %lpad.i16 ], [ %.pn5.pn.pn.pn.pn, %ehcleanup103 ], [ %.pn5.pn.pn.pn.pn, %if.then.i.i.i154 ] +ehcleanup104: ; preds = %lpad.i16, %if.then.i.i.i155, %ehcleanup103 + %.pn5.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %5, %lpad.i16 ], [ %.pn5.pn.pn.pn.pn, %ehcleanup103 ], [ %.pn5.pn.pn.pn.pn, %if.then.i.i.i155 ] %70 = load ptr, ptr %input, align 8 - %cmp.not4.i.i.i157 = icmp eq ptr %70, %input - br i1 %cmp.not4.i.i.i157, label %_ZNSt6vectorIiSaIiEED2Ev.exit167, label %while.body.i.i.i158 - -while.body.i.i.i158: ; preds = %ehcleanup104, %while.body.i.i.i158 - %__cur.05.i.i.i159 = phi ptr [ %71, %while.body.i.i.i158 ], [ %70, %ehcleanup104 ] - %71 = load ptr, ptr %__cur.05.i.i.i159, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i159) #28 - %cmp.not.i.i.i160 = icmp eq ptr %71, %input - br i1 %cmp.not.i.i.i160, label %_ZNSt6vectorIiSaIiEED2Ev.exit167, label %while.body.i.i.i158, !llvm.loop !7 - -_ZNSt6vectorIiSaIiEED2Ev.exit167: ; preds = %while.body.i.i.i, %while.body.i.i.i158, %ehcleanup104, %lpad3.i - %.pn5.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad3.i ], [ %.pn5.pn.pn.pn.pn.pn, %ehcleanup104 ], [ %.pn5.pn.pn.pn.pn.pn, %while.body.i.i.i158 ], [ %2, %while.body.i.i.i ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + %cmp.not4.i.i.i158 = icmp eq ptr %70, %input + br i1 %cmp.not4.i.i.i158, label %_ZNSt6vectorIiSaIiEED2Ev.exit168, label %while.body.i.i.i159 + +while.body.i.i.i159: ; preds = %ehcleanup104, %while.body.i.i.i159 + %__cur.05.i.i.i160 = phi ptr [ %71, %while.body.i.i.i159 ], [ %70, %ehcleanup104 ] + %71 = load ptr, ptr %__cur.05.i.i.i160, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i160) #29 + %cmp.not.i.i.i161 = icmp eq ptr %71, %input + br i1 %cmp.not.i.i.i161, label %_ZNSt6vectorIiSaIiEED2Ev.exit168, label %while.body.i.i.i159, !llvm.loop !7 + +_ZNSt6vectorIiSaIiEED2Ev.exit168: ; preds = %while.body.i.i.i, %while.body.i.i.i159, %ehcleanup104, %lpad3.i + %.pn5.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad3.i ], [ %.pn5.pn.pn.pn.pn.pn, %ehcleanup104 ], [ %.pn5.pn.pn.pn.pn.pn, %while.body.i.i.i159 ], [ %2, %while.body.i.i.i ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn5.pn.pn.pn.pn.pn.pn } @@ -43711,14 +43726,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_135MutatingTest_CopyFrontInserter_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_135MutatingTest_CopyFrontInserter_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -43729,22 +43744,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_135MutatingTest_CopyFrontInserter_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_135MutatingTest_CopyFrontInserter_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -43772,7 +43787,7 @@ entry: for.body.i.i: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %entry %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %entry ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -43780,7 +43795,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %0 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %0, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %initial) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %initial) #28 %1 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %1, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -43798,7 +43813,7 @@ lpad3.i: ; preds = %for.body.i.i while.body.i.i.i: ; preds = %lpad3.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %4, %while.body.i.i.i ], [ %3, %lpad3.i ] %4 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %4, %initial br i1 %cmp.not.i.i.i, label %eh.resume, label %while.body.i.i.i, !llvm.loop !7 @@ -43817,7 +43832,7 @@ invoke.cont: ; preds = %call5.i.i.i.i.i.i.i for.body.i.i11: ; preds = %call5.i.i.i.i.i.i.i.noexc.i20, %invoke.cont %__first.addr.04.i.i12.idx = phi i64 [ %__first.addr.04.i.i12.add, %call5.i.i.i.i.i.i.i.noexc.i20 ], [ 0, %invoke.cont ] - %call5.i.i.i.i.i.i.i2.i13 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i13 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i20 unwind label %lpad3.i14 call5.i.i.i.i.i.i.i.noexc.i20: ; preds = %for.body.i.i11 @@ -43825,7 +43840,7 @@ call5.i.i.i.i.i.i.i.noexc.i20: ; preds = %for.body.i.i11 %_M_storage.i.i.i.i.i.i21 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i13, i64 0, i32 1 %5 = load i32, ptr %__first.addr.04.i.i12.ptr, align 4 store i32 %5, ptr %_M_storage.i.i.i.i.i.i21, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i13, ptr noundef nonnull %input) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i13, ptr noundef nonnull %input) #28 %6 = load i64, ptr %_M_size.i.i.i.i.i9, align 8 %add.i.i.i.i.i22 = add i64 %6, 1 store i64 %add.i.i.i.i.i22, ptr %_M_size.i.i.i.i.i9, align 8 @@ -43843,7 +43858,7 @@ lpad3.i14: ; preds = %for.body.i.i11 while.body.i.i.i16: ; preds = %lpad3.i14, %while.body.i.i.i16 %__cur.05.i.i.i17 = phi ptr [ %9, %while.body.i.i.i16 ], [ %8, %lpad3.i14 ] %9 = load ptr, ptr %__cur.05.i.i.i17, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i17) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i17) #29 %cmp.not.i.i.i18 = icmp eq ptr %9, %input br i1 %cmp.not.i.i.i18, label %ehcleanup48, label %while.body.i.i.i16, !llvm.loop !7 @@ -43857,7 +43872,7 @@ invoke.cont13: ; preds = %call5.i.i.i.i.i.i.i for.body.i.i30: ; preds = %call5.i.i.i.i.i.i.i.noexc.i39, %invoke.cont13 %__first.addr.04.i.i31.idx = phi i64 [ %__first.addr.04.i.i31.add, %call5.i.i.i.i.i.i.i.noexc.i39 ], [ 0, %invoke.cont13 ] - %call5.i.i.i.i.i.i.i2.i32 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i32 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i39 unwind label %lpad3.i33 call5.i.i.i.i.i.i.i.noexc.i39: ; preds = %for.body.i.i30 @@ -43865,7 +43880,7 @@ call5.i.i.i.i.i.i.i.noexc.i39: ; preds = %for.body.i.i30 %_M_storage.i.i.i.i.i.i40 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i32, i64 0, i32 1 %10 = load i32, ptr %__first.addr.04.i.i31.ptr, align 4 store i32 %10, ptr %_M_storage.i.i.i.i.i.i40, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i32, ptr noundef nonnull %expected) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i32, ptr noundef nonnull %expected) #28 %11 = load i64, ptr %_M_size.i.i.i.i.i28, align 8 %add.i.i.i.i.i41 = add i64 %11, 1 store i64 %add.i.i.i.i.i41, ptr %_M_size.i.i.i.i.i28, align 8 @@ -43883,7 +43898,7 @@ lpad3.i33: ; preds = %for.body.i.i30 while.body.i.i.i35: ; preds = %lpad3.i33, %while.body.i.i.i35 %__cur.05.i.i.i36 = phi ptr [ %14, %while.body.i.i.i35 ], [ %13, %lpad3.i33 ] %14 = load ptr, ptr %__cur.05.i.i.i36, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i36) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i36) #29 %cmp.not.i.i.i37 = icmp eq ptr %14, %expected br i1 %cmp.not.i.i.i37, label %ehcleanup47, label %while.body.i.i.i35, !llvm.loop !7 @@ -43899,7 +43914,7 @@ invoke.cont22: ; preds = %call5.i.i.i.i.i.i.i for.body.i.i48: ; preds = %invoke.cont22, %call5.i.i.i.i.i.i.i.noexc.i54 %__first.sroa.0.04.i.i = phi ptr [ %18, %call5.i.i.i.i.i.i.i.noexc.i54 ], [ %15, %invoke.cont22 ] - %call5.i.i.i.i.i.i.i4.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i4.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i54 unwind label %lpad.i call5.i.i.i.i.i.i.i.noexc.i54: ; preds = %for.body.i.i48 @@ -43907,7 +43922,7 @@ call5.i.i.i.i.i.i.i.noexc.i54: ; preds = %for.body.i.i48 %_M_storage.i.i.i.i.i.i55 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i4.i, i64 0, i32 1 %16 = load i32, ptr %_M_storage.i.i.i.i, align 4 store i32 %16, ptr %_M_storage.i.i.i.i.i.i55, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i4.i, ptr noundef nonnull %test_list) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i4.i, ptr noundef nonnull %test_list) #28 %17 = load i64, ptr %_M_size.i.i.i.i.i47, align 8 %add.i.i.i.i.i56 = add i64 %17, 1 store i64 %add.i.i.i.i.i56, ptr %_M_size.i.i.i.i.i47, align 8 @@ -43925,7 +43940,7 @@ lpad.i: ; preds = %for.body.i.i48 while.body.i.i.i50: ; preds = %lpad.i, %while.body.i.i.i50 %__cur.05.i.i.i51 = phi ptr [ %21, %while.body.i.i.i50 ], [ %20, %lpad.i ] %21 = load ptr, ptr %__cur.05.i.i.i51, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i51) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i51) #29 %cmp.not.i.i.i52 = icmp eq ptr %21, %test_list br i1 %cmp.not.i.i.i52, label %ehcleanup46, label %while.body.i.i.i50, !llvm.loop !7 @@ -43938,7 +43953,7 @@ invoke.cont27: ; preds = %call5.i.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %invoke.cont27, %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc %__first.sroa.0.04.i.i.i.i.i.i = phi ptr [ %27, %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc ], [ %23, %invoke.cont27 ] %24 = load ptr, ptr %test_list, align 8 - %call5.i.i.i.i.i.i.i.i.i.i.i.i.i58 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i.i.i.i.i.i.i58 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc unwind label %lpad26.loopexit call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.i.i @@ -43946,7 +43961,7 @@ call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.i. %_M_storage.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i.i.i.i.i.i.i58, i64 0, i32 1 %25 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i, align 4 store i32 %25, ptr %_M_storage.i.i.i.i.i.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i.i.i.i.i.i.i58, ptr noundef %24) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i.i.i.i.i.i.i58, ptr noundef %24) #28 %26 = load i64, ptr %_M_size.i.i.i.i.i47, align 8 %add.i.i.i.i.i.i.i.i.i.i = add i64 %26, 1 store i64 %add.i.i.i.i.i.i.i.i.i.i, ptr %_M_size.i.i.i.i.i47, align 8 @@ -44019,7 +44034,7 @@ invoke.cont36: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont39, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont36 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 br label %invoke.cont39 invoke.cont39: ; preds = %cond.true.i.i, %invoke.cont36 @@ -44032,7 +44047,7 @@ invoke.cont41: ; preds = %invoke.cont39 to label %invoke.cont43 unwind label %lpad42 invoke.cont43: ; preds = %invoke.cont41 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 %35 = load ptr, ptr %ref.tmp34, align 8 %cmp.not.i.i61 = icmp eq ptr %35, null br i1 %cmp.not.i.i61, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -44041,7 +44056,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %35, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %36 = load ptr, ptr %vfn.i.i.i, align 8 - call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #27 + call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont43, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -44061,7 +44076,7 @@ lpad38: ; preds = %invoke.cont39 lpad42: ; preds = %invoke.cont41 %39 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #28 br label %ehcleanup ehcleanup: ; preds = %lpad42, %lpad38 @@ -44074,7 +44089,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i64 = load ptr, ptr %40, align 8 %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 %41 = load ptr, ptr %vfn.i.i.i65, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 br label %_ZN7testing7MessageD2Ev.exit66 _ZN7testing7MessageD2Ev.exit66: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 @@ -44088,8 +44103,8 @@ if.end: ; preds = %invoke.cont32, %_ZN br i1 %cmp.not.i.i67, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #27 - call void @_ZdlPv(ptr noundef nonnull %42) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 + call void @_ZdlPv(ptr noundef nonnull %42) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -44101,7 +44116,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de while.body.i.i.i69: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %while.body.i.i.i69 %__cur.05.i.i.i70 = phi ptr [ %44, %while.body.i.i.i69 ], [ %43, %_ZN7testing15AssertionResultD2Ev.exit ] %44 = load ptr, ptr %__cur.05.i.i.i70, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i70) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i70) #29 %cmp.not.i.i.i71 = icmp eq ptr %44, %test_list br i1 %cmp.not.i.i.i71, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i69, !llvm.loop !7 @@ -44113,7 +44128,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i69, while.body.i.i.i74: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %while.body.i.i.i74 %__cur.05.i.i.i75 = phi ptr [ %46, %while.body.i.i.i74 ], [ %45, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit ] %46 = load ptr, ptr %__cur.05.i.i.i75, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i75) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i75) #29 %cmp.not.i.i.i76 = icmp eq ptr %46, %expected br i1 %cmp.not.i.i.i76, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit78, label %while.body.i.i.i74, !llvm.loop !7 @@ -44125,7 +44140,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit78: ; preds = %while.body.i.i.i74, while.body.i.i.i80: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit78, %while.body.i.i.i80 %__cur.05.i.i.i81 = phi ptr [ %48, %while.body.i.i.i80 ], [ %47, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit78 ] %48 = load ptr, ptr %__cur.05.i.i.i81, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i81) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i81) #29 %cmp.not.i.i.i82 = icmp eq ptr %48, %input br i1 %cmp.not.i.i.i82, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit84, label %while.body.i.i.i80, !llvm.loop !7 @@ -44137,7 +44152,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit84: ; preds = %while.body.i.i.i80, while.body.i.i.i86: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit84, %while.body.i.i.i86 %__cur.05.i.i.i87 = phi ptr [ %50, %while.body.i.i.i86 ], [ %49, %_ZNSt7__cxx114listIiSaIiEED2Ev.exit84 ] %50 = load ptr, ptr %__cur.05.i.i.i87, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i87) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i87) #29 %cmp.not.i.i.i88 = icmp eq ptr %50, %initial br i1 %cmp.not.i.i.i88, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit90, label %while.body.i.i.i86, !llvm.loop !7 @@ -44146,7 +44161,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit90: ; preds = %while.body.i.i.i86, ehcleanup44: ; preds = %_ZN7testing7MessageD2Ev.exit66, %lpad35 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit66 ], [ %37, %lpad35 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup45 ehcleanup45: ; preds = %lpad26.loopexit, %lpad26.loopexit.split-lp, %ehcleanup44 @@ -44158,7 +44173,7 @@ ehcleanup45: ; preds = %lpad26.loopexit, %l while.body.i.i.i92: ; preds = %ehcleanup45, %while.body.i.i.i92 %__cur.05.i.i.i93 = phi ptr [ %52, %while.body.i.i.i92 ], [ %51, %ehcleanup45 ] %52 = load ptr, ptr %__cur.05.i.i.i93, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i93) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i93) #29 %cmp.not.i.i.i94 = icmp eq ptr %52, %test_list br i1 %cmp.not.i.i.i94, label %ehcleanup46, label %while.body.i.i.i92, !llvm.loop !7 @@ -44171,7 +44186,7 @@ ehcleanup46: ; preds = %while.body.i.i.i50, while.body.i.i.i98: ; preds = %ehcleanup46, %while.body.i.i.i98 %__cur.05.i.i.i99 = phi ptr [ %54, %while.body.i.i.i98 ], [ %53, %ehcleanup46 ] %54 = load ptr, ptr %__cur.05.i.i.i99, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i99) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i99) #29 %cmp.not.i.i.i100 = icmp eq ptr %54, %expected br i1 %cmp.not.i.i.i100, label %ehcleanup47, label %while.body.i.i.i98, !llvm.loop !7 @@ -44184,7 +44199,7 @@ ehcleanup47: ; preds = %while.body.i.i.i35, while.body.i.i.i104: ; preds = %ehcleanup47, %while.body.i.i.i104 %__cur.05.i.i.i105 = phi ptr [ %56, %while.body.i.i.i104 ], [ %55, %ehcleanup47 ] %56 = load ptr, ptr %__cur.05.i.i.i105, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i105) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i105) #29 %cmp.not.i.i.i106 = icmp eq ptr %56, %input br i1 %cmp.not.i.i.i106, label %ehcleanup48, label %while.body.i.i.i104, !llvm.loop !7 @@ -44197,7 +44212,7 @@ ehcleanup48: ; preds = %while.body.i.i.i16, while.body.i.i.i110: ; preds = %ehcleanup48, %while.body.i.i.i110 %__cur.05.i.i.i111 = phi ptr [ %58, %while.body.i.i.i110 ], [ %57, %ehcleanup48 ] %58 = load ptr, ptr %__cur.05.i.i.i111, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i111) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i111) #29 %cmp.not.i.i.i112 = icmp eq ptr %58, %initial br i1 %cmp.not.i.i.i112, label %eh.resume, label %while.body.i.i.i110, !llvm.loop !7 @@ -44215,14 +44230,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_134MutatingTest_CopyBackInserter_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_134MutatingTest_CopyBackInserter_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -44233,22 +44248,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_134MutatingTest_CopyBackInserter_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_134MutatingTest_CopyBackInserter_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -44267,7 +44282,7 @@ entry: %gtest_ar80 = alloca %"class.testing::AssertionResult", align 8 %ref.tmp85 = alloca %"class.testing::Message", align 8 %ref.tmp88 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 store i32 4, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 5, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 @@ -44285,7 +44300,7 @@ entry: for.body.i.i: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %entry %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %entry ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -44293,7 +44308,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %0 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %0, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %input) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %input) #28 %1 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %1, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -44306,18 +44321,18 @@ lpad3.i: ; preds = %for.body.i.i cleanup %3 = load ptr, ptr %input, align 8 %cmp.not4.i.i.i = icmp eq ptr %3, %input - br i1 %cmp.not4.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit170, label %while.body.i.i.i + br i1 %cmp.not4.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit171, label %while.body.i.i.i while.body.i.i.i: ; preds = %lpad3.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %4, %while.body.i.i.i ], [ %3, %lpad3.i ] %4 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %4, %input - br i1 %cmp.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit170, label %while.body.i.i.i, !llvm.loop !7 + br i1 %cmp.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit171, label %while.body.i.i.i, !llvm.loop !7 invoke.cont13: ; preds = %call5.i.i.i.i.i.i.i.noexc.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i15 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i15 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 to label %invoke.cont22 unwind label %lpad.i16 lpad.i16: ; preds = %invoke.cont13 @@ -44327,126 +44342,126 @@ lpad.i16: ; preds = %invoke.cont13 invoke.cont22: ; preds = %invoke.cont13 store ptr %call5.i.i.i.i2.i15, ptr %expected, align 8 - %add.ptr.i1.i20 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i15, i64 5 + %add.ptr.i1.i20 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i15, i64 20 %_M_end_of_storage.i.i21 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i20, ptr %_M_end_of_storage.i.i21, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i15, ptr noundef nonnull align 4 dereferenceable(20) @constinit.425, i64 20, i1 false) - %_M_finish.i.i22 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 - store ptr %add.ptr.i1.i20, ptr %_M_finish.i.i22, align 8 - %_M_prev.i.i.i.i.i25 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %test_list, i64 0, i32 1 - store ptr %test_list, ptr %_M_prev.i.i.i.i.i25, align 8 + %_M_finish.i.i23 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 + store ptr %add.ptr.i1.i20, ptr %_M_finish.i.i23, align 8 + %_M_prev.i.i.i.i.i26 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %test_list, i64 0, i32 1 + store ptr %test_list, ptr %_M_prev.i.i.i.i.i26, align 8 store ptr %test_list, ptr %test_list, align 8 - %_M_size.i.i.i.i.i26 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %test_list, i64 0, i32 1 - store i64 0, ptr %_M_size.i.i.i.i.i26, align 8 - br label %for.body.i.i27 + %_M_size.i.i.i.i.i27 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %test_list, i64 0, i32 1 + store i64 0, ptr %_M_size.i.i.i.i.i27, align 8 + br label %for.body.i.i28 -for.body.i.i27: ; preds = %invoke.cont22, %call5.i.i.i.i.i.i.i.noexc.i35 - %__first.sroa.0.04.i.i.idx = phi i64 [ %__first.sroa.0.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i35 ], [ 0, %invoke.cont22 ] - %call5.i.i.i.i.i.i.i2.i28 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 - to label %call5.i.i.i.i.i.i.i.noexc.i35 unwind label %lpad.i29 +for.body.i.i28: ; preds = %invoke.cont22, %call5.i.i.i.i.i.i.i.noexc.i36 + %__first.sroa.0.04.i.i.idx = phi i64 [ %__first.sroa.0.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i36 ], [ 0, %invoke.cont22 ] + %call5.i.i.i.i.i.i.i2.i29 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 + to label %call5.i.i.i.i.i.i.i.noexc.i36 unwind label %lpad.i30 -call5.i.i.i.i.i.i.i.noexc.i35: ; preds = %for.body.i.i27 +call5.i.i.i.i.i.i.i.noexc.i36: ; preds = %for.body.i.i28 %__first.sroa.0.04.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %__first.sroa.0.04.i.i.idx - %_M_storage.i.i.i.i.i.i36 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i28, i64 0, i32 1 + %_M_storage.i.i.i.i.i.i37 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i29, i64 0, i32 1 %6 = load i32, ptr %__first.sroa.0.04.i.i.ptr, align 4 - store i32 %6, ptr %_M_storage.i.i.i.i.i.i36, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i28, ptr noundef nonnull %test_list) #27 - %7 = load i64, ptr %_M_size.i.i.i.i.i26, align 8 - %add.i.i.i.i.i37 = add i64 %7, 1 - store i64 %add.i.i.i.i.i37, ptr %_M_size.i.i.i.i.i26, align 8 + store i32 %6, ptr %_M_storage.i.i.i.i.i.i37, align 4 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i29, ptr noundef nonnull %test_list) #28 + %7 = load i64, ptr %_M_size.i.i.i.i.i27, align 8 + %add.i.i.i.i.i38 = add i64 %7, 1 + store i64 %add.i.i.i.i.i38, ptr %_M_size.i.i.i.i.i27, align 8 %__first.sroa.0.04.i.i.add = add nuw nsw i64 %__first.sroa.0.04.i.i.idx, 4 %cmp.i.not.i.i = icmp eq i64 %__first.sroa.0.04.i.i.add, 8 - br i1 %cmp.i.not.i.i, label %invoke.cont34, label %for.body.i.i27, !llvm.loop !810 + br i1 %cmp.i.not.i.i, label %invoke.cont34, label %for.body.i.i28, !llvm.loop !810 -lpad.i29: ; preds = %for.body.i.i27 +lpad.i30: ; preds = %for.body.i.i28 %8 = landingpad { ptr, i32 } cleanup %9 = load ptr, ptr %test_list, align 8 - %cmp.not4.i.i.i30 = icmp eq ptr %9, %test_list - br i1 %cmp.not4.i.i.i30, label %ehcleanup101, label %while.body.i.i.i31 + %cmp.not4.i.i.i31 = icmp eq ptr %9, %test_list + br i1 %cmp.not4.i.i.i31, label %ehcleanup101, label %while.body.i.i.i32 -while.body.i.i.i31: ; preds = %lpad.i29, %while.body.i.i.i31 - %__cur.05.i.i.i32 = phi ptr [ %10, %while.body.i.i.i31 ], [ %9, %lpad.i29 ] - %10 = load ptr, ptr %__cur.05.i.i.i32, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i32) #28 - %cmp.not.i.i.i33 = icmp eq ptr %10, %test_list - br i1 %cmp.not.i.i.i33, label %ehcleanup101, label %while.body.i.i.i31, !llvm.loop !7 +while.body.i.i.i32: ; preds = %lpad.i30, %while.body.i.i.i32 + %__cur.05.i.i.i33 = phi ptr [ %10, %while.body.i.i.i32 ], [ %9, %lpad.i30 ] + %10 = load ptr, ptr %__cur.05.i.i.i33, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i33) #29 + %cmp.not.i.i.i34 = icmp eq ptr %10, %test_list + br i1 %cmp.not.i.i.i34, label %ehcleanup101, label %while.body.i.i.i32, !llvm.loop !7 -invoke.cont34: ; preds = %call5.i.i.i.i.i.i.i.noexc.i35 +invoke.cont34: ; preds = %call5.i.i.i.i.i.i.i.noexc.i36 %11 = load ptr, ptr %input, align 8 %cmp.i.not3.i.i.i.i.i.i = icmp eq ptr %11, %input br i1 %cmp.i.not3.i.i.i.i.i.i, label %invoke.cont38, label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %invoke.cont34, %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc %__first.sroa.0.04.i.i.i.i.i.i = phi ptr [ %14, %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc ], [ %11, %invoke.cont34 ] - %call5.i.i.i.i.i.i.i.i.i.i.i.i.i39 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i.i.i.i.i.i.i40 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc unwind label %lpad33.loopexit call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.i.i %_M_storage.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %__first.sroa.0.04.i.i.i.i.i.i, i64 0, i32 1 - %_M_storage.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i.i.i.i.i.i.i39, i64 0, i32 1 + %_M_storage.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i.i.i.i.i.i.i40, i64 0, i32 1 %12 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i, align 4 store i32 %12, ptr %_M_storage.i.i.i.i.i.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i.i.i.i.i.i.i39, ptr noundef nonnull %test_list) #27 - %13 = load i64, ptr %_M_size.i.i.i.i.i26, align 8 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i.i.i.i.i.i.i40, ptr noundef nonnull %test_list) #28 + %13 = load i64, ptr %_M_size.i.i.i.i.i27, align 8 %add.i.i.i.i.i.i.i.i.i.i = add i64 %13, 1 - store i64 %add.i.i.i.i.i.i.i.i.i.i, ptr %_M_size.i.i.i.i.i26, align 8 + store i64 %add.i.i.i.i.i.i.i.i.i.i, ptr %_M_size.i.i.i.i.i27, align 8 %14 = load ptr, ptr %__first.sroa.0.04.i.i.i.i.i.i, align 8 %cmp.i.not.i.i.i.i.i.i = icmp eq ptr %14, %input br i1 %cmp.i.not.i.i.i.i.i.i, label %invoke.cont38, label %for.body.i.i.i.i.i.i, !llvm.loop !829 invoke.cont38: ; preds = %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc, %invoke.cont34 - %15 = phi i64 [ %add.i.i.i.i.i37, %invoke.cont34 ], [ %add.i.i.i.i.i.i.i.i.i.i, %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc ] + %15 = phi i64 [ %add.i.i.i.i.i38, %invoke.cont34 ], [ %add.i.i.i.i.i.i.i.i.i.i, %call5.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc ] %16 = load ptr, ptr %expected, align 8 - %17 = load ptr, ptr %_M_finish.i.i22, align 8 - %_M_prev.i.i.i.i.i41 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %ref.tmp41, i64 0, i32 1 - store ptr %ref.tmp41, ptr %_M_prev.i.i.i.i.i41, align 8 + %17 = load ptr, ptr %_M_finish.i.i23, align 8 + %_M_prev.i.i.i.i.i42 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %ref.tmp41, i64 0, i32 1 + store ptr %ref.tmp41, ptr %_M_prev.i.i.i.i.i42, align 8 store ptr %ref.tmp41, ptr %ref.tmp41, align 8 - %_M_size.i.i.i.i.i42 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %ref.tmp41, i64 0, i32 1 - store i64 0, ptr %_M_size.i.i.i.i.i42, align 8 - %cmp.i.not3.i.i43 = icmp eq ptr %16, %17 - br i1 %cmp.i.not3.i.i43, label %invoke.cont52, label %for.body.i.i44 - -for.body.i.i44: ; preds = %invoke.cont38, %call5.i.i.i.i.i.i.i.noexc.i53 - %__first.sroa.0.04.i.i45 = phi ptr [ %incdec.ptr.i.i.i56, %call5.i.i.i.i.i.i.i.noexc.i53 ], [ %16, %invoke.cont38 ] - %call5.i.i.i.i.i.i.i2.i46 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 - to label %call5.i.i.i.i.i.i.i.noexc.i53 unwind label %lpad.i47 - -call5.i.i.i.i.i.i.i.noexc.i53: ; preds = %for.body.i.i44 - %_M_storage.i.i.i.i.i.i54 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i46, i64 0, i32 1 - %18 = load i32, ptr %__first.sroa.0.04.i.i45, align 4 - store i32 %18, ptr %_M_storage.i.i.i.i.i.i54, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i46, ptr noundef nonnull %ref.tmp41) #27 - %19 = load i64, ptr %_M_size.i.i.i.i.i42, align 8 - %add.i.i.i.i.i55 = add i64 %19, 1 - store i64 %add.i.i.i.i.i55, ptr %_M_size.i.i.i.i.i42, align 8 - %incdec.ptr.i.i.i56 = getelementptr inbounds i32, ptr %__first.sroa.0.04.i.i45, i64 1 - %cmp.i.not.i.i57 = icmp eq ptr %incdec.ptr.i.i.i56, %17 - br i1 %cmp.i.not.i.i57, label %invoke.cont52.loopexit, label %for.body.i.i44, !llvm.loop !810 - -lpad.i47: ; preds = %for.body.i.i44 + %_M_size.i.i.i.i.i43 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %ref.tmp41, i64 0, i32 1 + store i64 0, ptr %_M_size.i.i.i.i.i43, align 8 + %cmp.i.not3.i.i44 = icmp eq ptr %16, %17 + br i1 %cmp.i.not3.i.i44, label %invoke.cont52, label %for.body.i.i45 + +for.body.i.i45: ; preds = %invoke.cont38, %call5.i.i.i.i.i.i.i.noexc.i54 + %__first.sroa.0.04.i.i46 = phi ptr [ %incdec.ptr.i.i.i57, %call5.i.i.i.i.i.i.i.noexc.i54 ], [ %16, %invoke.cont38 ] + %call5.i.i.i.i.i.i.i2.i47 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 + to label %call5.i.i.i.i.i.i.i.noexc.i54 unwind label %lpad.i48 + +call5.i.i.i.i.i.i.i.noexc.i54: ; preds = %for.body.i.i45 + %_M_storage.i.i.i.i.i.i55 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i47, i64 0, i32 1 + %18 = load i32, ptr %__first.sroa.0.04.i.i46, align 4 + store i32 %18, ptr %_M_storage.i.i.i.i.i.i55, align 4 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i47, ptr noundef nonnull %ref.tmp41) #28 + %19 = load i64, ptr %_M_size.i.i.i.i.i43, align 8 + %add.i.i.i.i.i56 = add i64 %19, 1 + store i64 %add.i.i.i.i.i56, ptr %_M_size.i.i.i.i.i43, align 8 + %incdec.ptr.i.i.i57 = getelementptr inbounds i32, ptr %__first.sroa.0.04.i.i46, i64 1 + %cmp.i.not.i.i58 = icmp eq ptr %incdec.ptr.i.i.i57, %17 + br i1 %cmp.i.not.i.i58, label %invoke.cont52.loopexit, label %for.body.i.i45, !llvm.loop !810 + +lpad.i48: ; preds = %for.body.i.i45 %20 = landingpad { ptr, i32 } cleanup %21 = load ptr, ptr %ref.tmp41, align 8 - %cmp.not4.i.i.i48 = icmp eq ptr %21, %ref.tmp41 - br i1 %cmp.not4.i.i.i48, label %ehcleanup100, label %while.body.i.i.i49 - -while.body.i.i.i49: ; preds = %lpad.i47, %while.body.i.i.i49 - %__cur.05.i.i.i50 = phi ptr [ %22, %while.body.i.i.i49 ], [ %21, %lpad.i47 ] - %22 = load ptr, ptr %__cur.05.i.i.i50, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i50) #28 - %cmp.not.i.i.i51 = icmp eq ptr %22, %ref.tmp41 - br i1 %cmp.not.i.i.i51, label %ehcleanup100, label %while.body.i.i.i49, !llvm.loop !7 - -invoke.cont52.loopexit: ; preds = %call5.i.i.i.i.i.i.i.noexc.i53 - %.pre = load i64, ptr %_M_size.i.i.i.i.i26, align 8, !noalias !830 + %cmp.not4.i.i.i49 = icmp eq ptr %21, %ref.tmp41 + br i1 %cmp.not4.i.i.i49, label %ehcleanup100, label %while.body.i.i.i50 + +while.body.i.i.i50: ; preds = %lpad.i48, %while.body.i.i.i50 + %__cur.05.i.i.i51 = phi ptr [ %22, %while.body.i.i.i50 ], [ %21, %lpad.i48 ] + %22 = load ptr, ptr %__cur.05.i.i.i51, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i51) #29 + %cmp.not.i.i.i52 = icmp eq ptr %22, %ref.tmp41 + br i1 %cmp.not.i.i.i52, label %ehcleanup100, label %while.body.i.i.i50, !llvm.loop !7 + +invoke.cont52.loopexit: ; preds = %call5.i.i.i.i.i.i.i.noexc.i54 + %.pre = load i64, ptr %_M_size.i.i.i.i.i27, align 8, !noalias !830 br label %invoke.cont52 invoke.cont52: ; preds = %invoke.cont52.loopexit, %invoke.cont38 %23 = phi i64 [ %.pre, %invoke.cont52.loopexit ], [ %15, %invoke.cont38 ] - %24 = phi i64 [ %add.i.i.i.i.i55, %invoke.cont52.loopexit ], [ 0, %invoke.cont38 ] - %cmp.not.i.i.i60 = icmp eq i64 %24, %23 - br i1 %cmp.not.i.i.i60, label %while.cond.i.i.i, label %if.end.i.i + %24 = phi i64 [ %add.i.i.i.i.i56, %invoke.cont52.loopexit ], [ 0, %invoke.cont38 ] + %cmp.not.i.i.i61 = icmp eq i64 %24, %23 + br i1 %cmp.not.i.i.i61, label %while.cond.i.i.i, label %if.end.i.i while.cond.i.i.i: ; preds = %invoke.cont52, %land.rhs.i.i.i %__i1.sroa.0.0.in.i.i.i = phi ptr [ %__i1.sroa.0.0.i.i.i, %land.rhs.i.i.i ], [ %ref.tmp41, %invoke.cont52 ] @@ -44482,29 +44497,29 @@ if.end.i.i: ; preds = %_ZSteqIiSaIiEEbRKNS invoke.cont54: ; preds = %if.then.i.i, %if.end.i.i %27 = load ptr, ptr %ref.tmp41, align 8 - %cmp.not4.i.i.i62 = icmp eq ptr %27, %ref.tmp41 - br i1 %cmp.not4.i.i.i62, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i63 + %cmp.not4.i.i.i63 = icmp eq ptr %27, %ref.tmp41 + br i1 %cmp.not4.i.i.i63, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i64 -while.body.i.i.i63: ; preds = %invoke.cont54, %while.body.i.i.i63 - %__cur.05.i.i.i64 = phi ptr [ %28, %while.body.i.i.i63 ], [ %27, %invoke.cont54 ] - %28 = load ptr, ptr %__cur.05.i.i.i64, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i64) #28 - %cmp.not.i.i.i65 = icmp eq ptr %28, %ref.tmp41 - br i1 %cmp.not.i.i.i65, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i63, !llvm.loop !7 +while.body.i.i.i64: ; preds = %invoke.cont54, %while.body.i.i.i64 + %__cur.05.i.i.i65 = phi ptr [ %28, %while.body.i.i.i64 ], [ %27, %invoke.cont54 ] + %28 = load ptr, ptr %__cur.05.i.i.i65, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i65) #29 + %cmp.not.i.i.i66 = icmp eq ptr %28, %ref.tmp41 + br i1 %cmp.not.i.i.i66, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i64, !llvm.loop !7 -_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i63, %invoke.cont54 +_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i64, %invoke.cont54 %29 = load i8, ptr %gtest_ar, align 8 %30 = and i8 %29, 1 %tobool.i.not = icmp eq i8 %30, 0 br i1 %tobool.i.not, label %if.else, label %if.end lpad33.loopexit: ; preds = %for.body.i.i.i.i.i.i - %lpad.loopexit179 = landingpad { ptr, i32 } + %lpad.loopexit180 = landingpad { ptr, i32 } cleanup br label %ehcleanup100 lpad33.loopexit.split-lp: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i - %lpad.loopexit.split-lp180 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp181 = landingpad { ptr, i32 } cleanup br label %ehcleanup100 @@ -44512,15 +44527,15 @@ lpad53: ; preds = %if.end.i.i, %if.the %31 = landingpad { ptr, i32 } cleanup %32 = load ptr, ptr %ref.tmp41, align 8 - %cmp.not4.i.i.i67 = icmp eq ptr %32, %ref.tmp41 - br i1 %cmp.not4.i.i.i67, label %ehcleanup100, label %while.body.i.i.i68 + %cmp.not4.i.i.i68 = icmp eq ptr %32, %ref.tmp41 + br i1 %cmp.not4.i.i.i68, label %ehcleanup100, label %while.body.i.i.i69 -while.body.i.i.i68: ; preds = %lpad53, %while.body.i.i.i68 - %__cur.05.i.i.i69 = phi ptr [ %33, %while.body.i.i.i68 ], [ %32, %lpad53 ] - %33 = load ptr, ptr %__cur.05.i.i.i69, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i69) #28 - %cmp.not.i.i.i70 = icmp eq ptr %33, %ref.tmp41 - br i1 %cmp.not.i.i.i70, label %ehcleanup100, label %while.body.i.i.i68, !llvm.loop !7 +while.body.i.i.i69: ; preds = %lpad53, %while.body.i.i.i69 + %__cur.05.i.i.i70 = phi ptr [ %33, %while.body.i.i.i69 ], [ %32, %lpad53 ] + %33 = load ptr, ptr %__cur.05.i.i.i70, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i70) #29 + %cmp.not.i.i.i71 = icmp eq ptr %33, %ref.tmp41 + br i1 %cmp.not.i.i.i71, label %ehcleanup100, label %while.body.i.i.i69, !llvm.loop !7 if.else: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp56) @@ -44533,7 +44548,7 @@ invoke.cont58: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont61, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont58 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 br label %invoke.cont61 invoke.cont61: ; preds = %cond.true.i.i, %invoke.cont58 @@ -44546,16 +44561,16 @@ invoke.cont63: ; preds = %invoke.cont61 to label %invoke.cont65 unwind label %lpad64 invoke.cont65: ; preds = %invoke.cont63 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #28 %35 = load ptr, ptr %ref.tmp56, align 8 - %cmp.not.i.i73 = icmp eq ptr %35, null - br i1 %cmp.not.i.i73, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i74 = icmp eq ptr %35, null + br i1 %cmp.not.i.i74, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont65 %vtable.i.i.i = load ptr, ptr %35, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %36 = load ptr, ptr %vfn.i.i.i, align 8 - call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #27 + call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont65, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -44575,73 +44590,73 @@ lpad60: ; preds = %invoke.cont61 lpad64: ; preds = %invoke.cont63 %39 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #28 br label %ehcleanup67 ehcleanup67: ; preds = %lpad64, %lpad60 %.pn2 = phi { ptr, i32 } [ %39, %lpad64 ], [ %38, %lpad60 ] %40 = load ptr, ptr %ref.tmp56, align 8 - %cmp.not.i.i74 = icmp eq ptr %40, null - br i1 %cmp.not.i.i74, label %_ZN7testing7MessageD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75 + %cmp.not.i.i75 = icmp eq ptr %40, null + br i1 %cmp.not.i.i75, label %_ZN7testing7MessageD2Ev.exit79, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75: ; preds = %ehcleanup67 - %vtable.i.i.i76 = load ptr, ptr %40, align 8 - %vfn.i.i.i77 = getelementptr inbounds ptr, ptr %vtable.i.i.i76, i64 1 - %41 = load ptr, ptr %vfn.i.i.i77, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 - br label %_ZN7testing7MessageD2Ev.exit78 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76: ; preds = %ehcleanup67 + %vtable.i.i.i77 = load ptr, ptr %40, align 8 + %vfn.i.i.i78 = getelementptr inbounds ptr, ptr %vtable.i.i.i77, i64 1 + %41 = load ptr, ptr %vfn.i.i.i78, align 8 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 + br label %_ZN7testing7MessageD2Ev.exit79 -_ZN7testing7MessageD2Ev.exit78: ; preds = %ehcleanup67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i75 +_ZN7testing7MessageD2Ev.exit79: ; preds = %ehcleanup67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76 store ptr null, ptr %ref.tmp56, align 8 br label %ehcleanup68 if.end: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %42 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i79 = icmp eq ptr %42, null - br i1 %cmp.not.i.i79, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i80 = icmp eq ptr %42, null + br i1 %cmp.not.i.i80, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #27 - call void @_ZdlPv(ptr noundef nonnull %42) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 + call void @_ZdlPv(ptr noundef nonnull %42) #29 br label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %test_vector, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i82 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i2.i6.i83 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont72 unwind label %lpad33.loopexit.split-lp invoke.cont72: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i - store ptr %call5.i.i.i.i2.i6.i82, ptr %test_vector, align 8 + store ptr %call5.i.i.i.i2.i6.i83, ptr %test_vector, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 1 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i82, i64 2 + %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i83, i64 2 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 %43 = load i64, ptr %call5.i.i.i.i2.i, align 4 - store i64 %43, ptr %call5.i.i.i.i2.i6.i82, align 4 + store i64 %43, ptr %call5.i.i.i.i2.i6.i83, align 4 store ptr %add.ptr.i.i.i, ptr %_M_finish.i.i.i, align 8 %44 = load ptr, ptr %input, align 8 - %cmp.i.not3.i.i.i.i.i.i83 = icmp eq ptr %44, %input - br i1 %cmp.i.not3.i.i.i.i.i.i83, label %invoke.cont76, label %for.body.i.i.i.i.i.i85 + %cmp.i.not3.i.i.i.i.i.i84 = icmp eq ptr %44, %input + br i1 %cmp.i.not3.i.i.i.i.i.i84, label %invoke.cont76, label %for.body.i.i.i.i.i.i86 -for.body.i.i.i.i.i.i85: ; preds = %invoke.cont72, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i86: ; preds = %invoke.cont72, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i.i.i.i %45 = phi ptr [ %51, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i.i.i.i ], [ %add.ptr.i.i.i, %invoke.cont72 ] - %__first.sroa.0.04.i.i.i.i.i.i86 = phi ptr [ %52, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i.i.i.i ], [ %44, %invoke.cont72 ] - %_M_storage.i.i.i.i.i.i.i.i87 = getelementptr inbounds %"struct.std::_List_node", ptr %__first.sroa.0.04.i.i.i.i.i.i86, i64 0, i32 1 + %__first.sroa.0.04.i.i.i.i.i.i87 = phi ptr [ %52, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i.i.i.i ], [ %44, %invoke.cont72 ] + %_M_storage.i.i.i.i.i.i.i.i88 = getelementptr inbounds %"struct.std::_List_node", ptr %__first.sroa.0.04.i.i.i.i.i.i87, i64 0, i32 1 %46 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 %cmp.not.i.i.i.i.i.i.i.i = icmp eq ptr %45, %46 br i1 %cmp.not.i.i.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i85 - %47 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i87, align 4 +if.then.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i86 + %47 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i88, align 4 store i32 %47, ptr %45, align 4 %48 = load ptr, ptr %_M_finish.i.i.i, align 8 %incdec.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %48, i64 1 store ptr %incdec.ptr.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i.i.i.i -if.else.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i85 +if.else.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i86 %49 = load ptr, ptr %test_vector, align 8 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %45 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %49 to i64 @@ -44650,50 +44665,51 @@ if.else.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %cmp.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 - to label %.noexc91 unwind label %lpad71.loopexit.split-lp + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 + to label %.noexc92 unwind label %lpad71.loopexit.split-lp -.noexc91: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i +.noexc92: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i, 2 %.sroa.speculated.i.i.i.i.i.i.i.i.i.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i, i64 1) - %add.i.i.i.i.i.i.i.i.i.i89 = add i64 %.sroa.speculated.i.i.i.i.i.i.i.i.i.i, %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i - %cmp7.i.i.i.i.i.i.i.i.i.i = icmp ult i64 %add.i.i.i.i.i.i.i.i.i.i89, %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i - %cmp9.i.i.i.i.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i.i.i.i.i89, 2305843009213693951 + %add.i.i.i.i.i.i.i.i.i.i90 = add i64 %.sroa.speculated.i.i.i.i.i.i.i.i.i.i, %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i + %cmp7.i.i.i.i.i.i.i.i.i.i = icmp ult i64 %add.i.i.i.i.i.i.i.i.i.i90, %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i + %cmp9.i.i.i.i.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i.i.i.i.i90, 2305843009213693951 %or.cond.i.i.i.i.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i.i.i.i.i - %cond.i.i.i.i.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i.i.i.i.i, i64 2305843009213693951, i64 %add.i.i.i.i.i.i.i.i.i.i89 + %cond.i.i.i.i.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i.i.i.i.i, i64 2305843009213693951, i64 %add.i.i.i.i.i.i.i.i.i.i90 %cmp.not.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %cond.i.i.i.i.i.i.i.i.i.i, 0 br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i.i.i.i %mul.i.i.i.i.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i.i.i.i.i.i92 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i.i.i.i.i.i93 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i.i.i.i unwind label %lpad71.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i.i.i.i - %cond.i10.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i.i.i.i ], [ %call5.i.i.i.i.i.i.i.i.i.i.i.i92, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i ] - %add.ptr.i.i.i.i.i.i.i.i.i90 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i - %50 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i87, align 4 - store i32 %50, ptr %add.ptr.i.i.i.i.i.i.i.i.i90, align 4 - %cmp.i.i.i11.i.i.i.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i.i.i.i + %cond.i10.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i.i.i.i ], [ %call5.i.i.i.i.i.i.i.i.i.i.i.i93, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i91 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i + %50 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i88, align 4 + store i32 %50, ptr %add.ptr.i.i.i.i.i.i.i.i.i91, align 4 + %cmp.i.i.i11.i.i.i.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i.i.i.i.i, ptr align 4 %49, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i.i.i.i - %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i90, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i.i.i.i, label %if.then.i21.i.i.i.i.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i.i.i.i, label %if.then.i20.i.i.i.i.i.i.i.i.i -if.then.i21.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %49) #28 +if.then.i20.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %49) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i.i.i.i.i, ptr %test_vector, align 8 store ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i.i.i.i.i, i64 %cond.i.i.i.i.i.i.i.i.i.i @@ -44702,18 +44718,18 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIP _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i %51 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i.i.i.i ] - %52 = load ptr, ptr %__first.sroa.0.04.i.i.i.i.i.i86, align 8 - %cmp.i.not.i.i.i.i.i.i88 = icmp eq ptr %52, %input - br i1 %cmp.i.not.i.i.i.i.i.i88, label %invoke.cont76.loopexit, label %for.body.i.i.i.i.i.i85, !llvm.loop !835 + %52 = load ptr, ptr %__first.sroa.0.04.i.i.i.i.i.i87, align 8 + %cmp.i.not.i.i.i.i.i.i89 = icmp eq ptr %52, %input + br i1 %cmp.i.not.i.i.i.i.i.i89, label %invoke.cont76.loopexit, label %for.body.i.i.i.i.i.i86, !llvm.loop !835 invoke.cont76.loopexit: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i.i.i.i - %.pre187 = load ptr, ptr %test_vector, align 8, !noalias !836 + %.pre188 = load ptr, ptr %test_vector, align 8, !noalias !836 br label %invoke.cont76 invoke.cont76: ; preds = %invoke.cont76.loopexit, %invoke.cont72 - %53 = phi ptr [ %.pre187, %invoke.cont76.loopexit ], [ %call5.i.i.i.i2.i6.i82, %invoke.cont72 ] + %53 = phi ptr [ %.pre188, %invoke.cont76.loopexit ], [ %call5.i.i.i.i2.i6.i83, %invoke.cont72 ] %54 = phi ptr [ %51, %invoke.cont76.loopexit ], [ %add.ptr.i.i.i, %invoke.cont72 ] - %55 = load ptr, ptr %_M_finish.i.i22, align 8, !noalias !836 + %55 = load ptr, ptr %_M_finish.i.i23, align 8, !noalias !836 %56 = load ptr, ptr %expected, align 8, !noalias !836 %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %55 to i64 %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %56 to i64 @@ -44722,34 +44738,34 @@ invoke.cont76: ; preds = %invoke.cont76.loope %sub.ptr.rhs.cast.i6.i.i.i = ptrtoint ptr %53 to i64 %sub.ptr.sub.i7.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i %cmp.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i, %sub.ptr.sub.i7.i.i.i - br i1 %cmp.i.i.i, label %land.rhs.i.i.i94, label %if.end.i.i93 + br i1 %cmp.i.i.i, label %land.rhs.i.i.i95, label %if.end.i.i94 -land.rhs.i.i.i94: ; preds = %invoke.cont76 +land.rhs.i.i.i95: ; preds = %invoke.cont76 %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %55, %56 - br i1 %tobool.not.i.i.i.i.i.i.i, label %if.then.i.i95, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i + br i1 %tobool.not.i.i.i.i.i.i.i, label %if.then.i.i96, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i: ; preds = %land.rhs.i.i.i94 +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i: ; preds = %land.rhs.i.i.i95 %bcmp.i.i.i.i.i.i.i = call i32 @bcmp(ptr %56, ptr %53, i64 %sub.ptr.sub.i.i.i.i), !noalias !836 %tobool1.not.i.i.i.i.i.i.i = icmp eq i32 %bcmp.i.i.i.i.i.i.i, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i95, label %if.end.i.i93 + br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i96, label %if.end.i.i94 -if.then.i.i95: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, %land.rhs.i.i.i94 +if.then.i.i96: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, %land.rhs.i.i.i95 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar80) to label %invoke.cont81 unwind label %lpad71.loopexit.split-lp -if.end.i.i93: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, %invoke.cont76 +if.end.i.i94: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, %invoke.cont76 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar80, ptr noundef nonnull @.str.329, ptr noundef nonnull @.str.423, ptr noundef nonnull align 8 dereferenceable(24) %expected, ptr noundef nonnull align 8 dereferenceable(24) %test_vector) to label %invoke.cont81 unwind label %lpad71.loopexit.split-lp -invoke.cont81: ; preds = %if.then.i.i95, %if.end.i.i93 +invoke.cont81: ; preds = %if.then.i.i96, %if.end.i.i94 %57 = load i8, ptr %gtest_ar80, align 8 %58 = and i8 %57, 1 - %tobool.i98.not = icmp eq i8 %58, 0 - br i1 %tobool.i98.not, label %if.else84, label %if.end97 + %tobool.i99.not = icmp eq i8 %58, 0 + br i1 %tobool.i99.not, label %if.else84, label %if.end97 -ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit78, %lpad57 - %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit78 ], [ %37, %lpad57 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit79, %lpad57 + %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit79 ], [ %37, %lpad57 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup100 lpad71.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i @@ -44757,7 +44773,7 @@ lpad71.loopexit: ; preds = %_ZNSt16allocator_tr cleanup br label %ehcleanup99 -lpad71.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i, %if.then.i.i95, %if.end.i.i93 +lpad71.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i, %if.then.i.i96, %if.end.i.i94 %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %ehcleanup99 @@ -44767,18 +44783,18 @@ if.else84: ; preds = %invoke.cont81 to label %invoke.cont87 unwind label %lpad86 invoke.cont87: ; preds = %if.else84 - %message_.i.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar80, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i99, align 8 - %cmp.i.i.not.i.i100 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i100, label %invoke.cont90, label %cond.true.i.i101 + %message_.i.i100 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar80, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i100, align 8 + %cmp.i.i.not.i.i101 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i101, label %invoke.cont90, label %cond.true.i.i102 -cond.true.i.i101: ; preds = %invoke.cont87 - %call4.i.i102 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #27 +cond.true.i.i102: ; preds = %invoke.cont87 + %call4.i.i103 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #28 br label %invoke.cont90 -invoke.cont90: ; preds = %cond.true.i.i101, %invoke.cont87 - %cond.i.i103 = phi ptr [ %call4.i.i102, %cond.true.i.i101 ], [ @.str.255, %invoke.cont87 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 679, ptr noundef %cond.i.i103) +invoke.cont90: ; preds = %cond.true.i.i102, %invoke.cont87 + %cond.i.i104 = phi ptr [ %call4.i.i103, %cond.true.i.i102 ], [ @.str.255, %invoke.cont87 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 679, ptr noundef %cond.i.i104) to label %invoke.cont92 unwind label %lpad89 invoke.cont92: ; preds = %invoke.cont90 @@ -44786,19 +44802,19 @@ invoke.cont92: ; preds = %invoke.cont90 to label %invoke.cont94 unwind label %lpad93 invoke.cont94: ; preds = %invoke.cont92 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88) #28 %60 = load ptr, ptr %ref.tmp85, align 8 - %cmp.not.i.i105 = icmp eq ptr %60, null - br i1 %cmp.not.i.i105, label %_ZN7testing7MessageD2Ev.exit109, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 + %cmp.not.i.i106 = icmp eq ptr %60, null + br i1 %cmp.not.i.i106, label %_ZN7testing7MessageD2Ev.exit110, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106: ; preds = %invoke.cont94 - %vtable.i.i.i107 = load ptr, ptr %60, align 8 - %vfn.i.i.i108 = getelementptr inbounds ptr, ptr %vtable.i.i.i107, i64 1 - %61 = load ptr, ptr %vfn.i.i.i108, align 8 - call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #27 - br label %_ZN7testing7MessageD2Ev.exit109 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107: ; preds = %invoke.cont94 + %vtable.i.i.i108 = load ptr, ptr %60, align 8 + %vfn.i.i.i109 = getelementptr inbounds ptr, ptr %vtable.i.i.i108, i64 1 + %61 = load ptr, ptr %vfn.i.i.i109, align 8 + call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #28 + br label %_ZN7testing7MessageD2Ev.exit110 -_ZN7testing7MessageD2Ev.exit109: ; preds = %invoke.cont94, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 +_ZN7testing7MessageD2Ev.exit110: ; preds = %invoke.cont94, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107 store ptr null, ptr %ref.tmp85, align 8 br label %if.end97 @@ -44815,138 +44831,138 @@ lpad89: ; preds = %invoke.cont90 lpad93: ; preds = %invoke.cont92 %64 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88) #28 br label %ehcleanup96 ehcleanup96: ; preds = %lpad93, %lpad89 %.pn5 = phi { ptr, i32 } [ %64, %lpad93 ], [ %63, %lpad89 ] %65 = load ptr, ptr %ref.tmp85, align 8 - %cmp.not.i.i110 = icmp eq ptr %65, null - br i1 %cmp.not.i.i110, label %_ZN7testing7MessageD2Ev.exit114, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 + %cmp.not.i.i111 = icmp eq ptr %65, null + br i1 %cmp.not.i.i111, label %_ZN7testing7MessageD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111: ; preds = %ehcleanup96 - %vtable.i.i.i112 = load ptr, ptr %65, align 8 - %vfn.i.i.i113 = getelementptr inbounds ptr, ptr %vtable.i.i.i112, i64 1 - %66 = load ptr, ptr %vfn.i.i.i113, align 8 - call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #27 - br label %_ZN7testing7MessageD2Ev.exit114 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112: ; preds = %ehcleanup96 + %vtable.i.i.i113 = load ptr, ptr %65, align 8 + %vfn.i.i.i114 = getelementptr inbounds ptr, ptr %vtable.i.i.i113, i64 1 + %66 = load ptr, ptr %vfn.i.i.i114, align 8 + call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #28 + br label %_ZN7testing7MessageD2Ev.exit115 -_ZN7testing7MessageD2Ev.exit114: ; preds = %ehcleanup96, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 +_ZN7testing7MessageD2Ev.exit115: ; preds = %ehcleanup96, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 store ptr null, ptr %ref.tmp85, align 8 br label %ehcleanup98 -if.end97: ; preds = %invoke.cont81, %_ZN7testing7MessageD2Ev.exit109 - %message_.i115 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar80, i64 0, i32 1 - %67 = load ptr, ptr %message_.i115, align 8 - %cmp.not.i.i116 = icmp eq ptr %67, null - br i1 %cmp.not.i.i116, label %_ZN7testing15AssertionResultD2Ev.exit118, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117 +if.end97: ; preds = %invoke.cont81, %_ZN7testing7MessageD2Ev.exit110 + %message_.i116 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar80, i64 0, i32 1 + %67 = load ptr, ptr %message_.i116, align 8 + %cmp.not.i.i117 = icmp eq ptr %67, null + br i1 %cmp.not.i.i117, label %_ZN7testing15AssertionResultD2Ev.exit119, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117: ; preds = %if.end97 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #27 - call void @_ZdlPv(ptr noundef nonnull %67) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit118 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118: ; preds = %if.end97 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #28 + call void @_ZdlPv(ptr noundef nonnull %67) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit119 -_ZN7testing15AssertionResultD2Ev.exit118: ; preds = %if.end97, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117 - store ptr null, ptr %message_.i115, align 8 +_ZN7testing15AssertionResultD2Ev.exit119: ; preds = %if.end97, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118 + store ptr null, ptr %message_.i116, align 8 %68 = load ptr, ptr %test_vector, align 8 - %tobool.not.i.i.i120 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i120, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i121 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i121, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit118 - call void @_ZdlPv(ptr noundef nonnull %68) #28 +if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit119 + call void @_ZdlPv(ptr noundef nonnull %68) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit118, %if.then.i.i.i +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit119, %if.then.i.i.i %69 = load ptr, ptr %test_list, align 8 - %cmp.not4.i.i.i122 = icmp eq ptr %69, %test_list - br i1 %cmp.not4.i.i.i122, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit127, label %while.body.i.i.i123 + %cmp.not4.i.i.i123 = icmp eq ptr %69, %test_list + br i1 %cmp.not4.i.i.i123, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit128, label %while.body.i.i.i124 -while.body.i.i.i123: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %while.body.i.i.i123 - %__cur.05.i.i.i124 = phi ptr [ %70, %while.body.i.i.i123 ], [ %69, %_ZNSt6vectorIiSaIiEED2Ev.exit ] - %70 = load ptr, ptr %__cur.05.i.i.i124, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i124) #28 - %cmp.not.i.i.i125 = icmp eq ptr %70, %test_list - br i1 %cmp.not.i.i.i125, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit127, label %while.body.i.i.i123, !llvm.loop !7 +while.body.i.i.i124: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %while.body.i.i.i124 + %__cur.05.i.i.i125 = phi ptr [ %70, %while.body.i.i.i124 ], [ %69, %_ZNSt6vectorIiSaIiEED2Ev.exit ] + %70 = load ptr, ptr %__cur.05.i.i.i125, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i125) #29 + %cmp.not.i.i.i126 = icmp eq ptr %70, %test_list + br i1 %cmp.not.i.i.i126, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit128, label %while.body.i.i.i124, !llvm.loop !7 -_ZNSt7__cxx114listIiSaIiEED2Ev.exit127: ; preds = %while.body.i.i.i123, %_ZNSt6vectorIiSaIiEED2Ev.exit +_ZNSt7__cxx114listIiSaIiEED2Ev.exit128: ; preds = %while.body.i.i.i124, %_ZNSt6vectorIiSaIiEED2Ev.exit %71 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i129 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i129, label %_ZNSt6vectorIiSaIiEED2Ev.exit132, label %if.then.i.i.i130 + %tobool.not.i.i.i130 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i130, label %_ZNSt6vectorIiSaIiEED2Ev.exit133, label %if.then.i.i.i131 -if.then.i.i.i130: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit127 - call void @_ZdlPv(ptr noundef nonnull %71) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit132 +if.then.i.i.i131: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit128 + call void @_ZdlPv(ptr noundef nonnull %71) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit133 -_ZNSt6vectorIiSaIiEED2Ev.exit132: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit127, %if.then.i.i.i130 +_ZNSt6vectorIiSaIiEED2Ev.exit133: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit128, %if.then.i.i.i131 %72 = load ptr, ptr %input, align 8 - %cmp.not4.i.i.i133 = icmp eq ptr %72, %input - br i1 %cmp.not4.i.i.i133, label %_ZNSt6vectorIiSaIiEED2Ev.exit143, label %while.body.i.i.i134 + %cmp.not4.i.i.i134 = icmp eq ptr %72, %input + br i1 %cmp.not4.i.i.i134, label %_ZNSt6vectorIiSaIiEED2Ev.exit144, label %while.body.i.i.i135 -while.body.i.i.i134: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit132, %while.body.i.i.i134 - %__cur.05.i.i.i135 = phi ptr [ %73, %while.body.i.i.i134 ], [ %72, %_ZNSt6vectorIiSaIiEED2Ev.exit132 ] - %73 = load ptr, ptr %__cur.05.i.i.i135, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i135) #28 - %cmp.not.i.i.i136 = icmp eq ptr %73, %input - br i1 %cmp.not.i.i.i136, label %_ZNSt6vectorIiSaIiEED2Ev.exit143, label %while.body.i.i.i134, !llvm.loop !7 +while.body.i.i.i135: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit133, %while.body.i.i.i135 + %__cur.05.i.i.i136 = phi ptr [ %73, %while.body.i.i.i135 ], [ %72, %_ZNSt6vectorIiSaIiEED2Ev.exit133 ] + %73 = load ptr, ptr %__cur.05.i.i.i136, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i136) #29 + %cmp.not.i.i.i137 = icmp eq ptr %73, %input + br i1 %cmp.not.i.i.i137, label %_ZNSt6vectorIiSaIiEED2Ev.exit144, label %while.body.i.i.i135, !llvm.loop !7 -_ZNSt6vectorIiSaIiEED2Ev.exit143: ; preds = %while.body.i.i.i134, %_ZNSt6vectorIiSaIiEED2Ev.exit132 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit144: ; preds = %while.body.i.i.i135, %_ZNSt6vectorIiSaIiEED2Ev.exit133 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void -ehcleanup98: ; preds = %_ZN7testing7MessageD2Ev.exit114, %lpad86 - %.pn5.pn = phi { ptr, i32 } [ %.pn5, %_ZN7testing7MessageD2Ev.exit114 ], [ %62, %lpad86 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar80) #27 +ehcleanup98: ; preds = %_ZN7testing7MessageD2Ev.exit115, %lpad86 + %.pn5.pn = phi { ptr, i32 } [ %.pn5, %_ZN7testing7MessageD2Ev.exit115 ], [ %62, %lpad86 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar80) #28 br label %ehcleanup99 ehcleanup99: ; preds = %lpad71.loopexit, %lpad71.loopexit.split-lp, %ehcleanup98 %.pn5.pn.pn = phi { ptr, i32 } [ %.pn5.pn, %ehcleanup98 ], [ %lpad.loopexit, %lpad71.loopexit ], [ %lpad.loopexit.split-lp, %lpad71.loopexit.split-lp ] %74 = load ptr, ptr %test_vector, align 8 - %tobool.not.i.i.i145 = icmp eq ptr %74, null - br i1 %tobool.not.i.i.i145, label %ehcleanup100, label %if.then.i.i.i146 + %tobool.not.i.i.i146 = icmp eq ptr %74, null + br i1 %tobool.not.i.i.i146, label %ehcleanup100, label %if.then.i.i.i147 -if.then.i.i.i146: ; preds = %ehcleanup99 - call void @_ZdlPv(ptr noundef nonnull %74) #28 +if.then.i.i.i147: ; preds = %ehcleanup99 + call void @_ZdlPv(ptr noundef nonnull %74) #29 br label %ehcleanup100 -ehcleanup100: ; preds = %while.body.i.i.i49, %while.body.i.i.i68, %lpad33.loopexit, %lpad33.loopexit.split-lp, %if.then.i.i.i146, %ehcleanup99, %lpad.i47, %lpad53, %ehcleanup68 - %.pn5.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn, %ehcleanup68 ], [ %20, %lpad.i47 ], [ %31, %lpad53 ], [ %.pn5.pn.pn, %ehcleanup99 ], [ %.pn5.pn.pn, %if.then.i.i.i146 ], [ %lpad.loopexit179, %lpad33.loopexit ], [ %lpad.loopexit.split-lp180, %lpad33.loopexit.split-lp ], [ %31, %while.body.i.i.i68 ], [ %20, %while.body.i.i.i49 ] +ehcleanup100: ; preds = %while.body.i.i.i50, %while.body.i.i.i69, %lpad33.loopexit, %lpad33.loopexit.split-lp, %if.then.i.i.i147, %ehcleanup99, %lpad.i48, %lpad53, %ehcleanup68 + %.pn5.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn, %ehcleanup68 ], [ %20, %lpad.i48 ], [ %31, %lpad53 ], [ %.pn5.pn.pn, %ehcleanup99 ], [ %.pn5.pn.pn, %if.then.i.i.i147 ], [ %lpad.loopexit180, %lpad33.loopexit ], [ %lpad.loopexit.split-lp181, %lpad33.loopexit.split-lp ], [ %31, %while.body.i.i.i69 ], [ %20, %while.body.i.i.i50 ] %75 = load ptr, ptr %test_list, align 8 - %cmp.not4.i.i.i149 = icmp eq ptr %75, %test_list - br i1 %cmp.not4.i.i.i149, label %ehcleanup101, label %while.body.i.i.i150 - -while.body.i.i.i150: ; preds = %ehcleanup100, %while.body.i.i.i150 - %__cur.05.i.i.i151 = phi ptr [ %76, %while.body.i.i.i150 ], [ %75, %ehcleanup100 ] - %76 = load ptr, ptr %__cur.05.i.i.i151, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i151) #28 - %cmp.not.i.i.i152 = icmp eq ptr %76, %test_list - br i1 %cmp.not.i.i.i152, label %ehcleanup101, label %while.body.i.i.i150, !llvm.loop !7 - -ehcleanup101: ; preds = %while.body.i.i.i31, %while.body.i.i.i150, %ehcleanup100, %lpad.i29 - %.pn5.pn.pn.pn.pn = phi { ptr, i32 } [ %8, %lpad.i29 ], [ %.pn5.pn.pn.pn, %ehcleanup100 ], [ %.pn5.pn.pn.pn, %while.body.i.i.i150 ], [ %8, %while.body.i.i.i31 ] + %cmp.not4.i.i.i150 = icmp eq ptr %75, %test_list + br i1 %cmp.not4.i.i.i150, label %ehcleanup101, label %while.body.i.i.i151 + +while.body.i.i.i151: ; preds = %ehcleanup100, %while.body.i.i.i151 + %__cur.05.i.i.i152 = phi ptr [ %76, %while.body.i.i.i151 ], [ %75, %ehcleanup100 ] + %76 = load ptr, ptr %__cur.05.i.i.i152, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i152) #29 + %cmp.not.i.i.i153 = icmp eq ptr %76, %test_list + br i1 %cmp.not.i.i.i153, label %ehcleanup101, label %while.body.i.i.i151, !llvm.loop !7 + +ehcleanup101: ; preds = %while.body.i.i.i32, %while.body.i.i.i151, %ehcleanup100, %lpad.i30 + %.pn5.pn.pn.pn.pn = phi { ptr, i32 } [ %8, %lpad.i30 ], [ %.pn5.pn.pn.pn, %ehcleanup100 ], [ %.pn5.pn.pn.pn, %while.body.i.i.i151 ], [ %8, %while.body.i.i.i32 ] %77 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i156 = icmp eq ptr %77, null - br i1 %tobool.not.i.i.i156, label %ehcleanup102, label %if.then.i.i.i157 + %tobool.not.i.i.i157 = icmp eq ptr %77, null + br i1 %tobool.not.i.i.i157, label %ehcleanup102, label %if.then.i.i.i158 -if.then.i.i.i157: ; preds = %ehcleanup101 - call void @_ZdlPv(ptr noundef nonnull %77) #28 +if.then.i.i.i158: ; preds = %ehcleanup101 + call void @_ZdlPv(ptr noundef nonnull %77) #29 br label %ehcleanup102 -ehcleanup102: ; preds = %lpad.i16, %if.then.i.i.i157, %ehcleanup101 - %.pn5.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %5, %lpad.i16 ], [ %.pn5.pn.pn.pn.pn, %ehcleanup101 ], [ %.pn5.pn.pn.pn.pn, %if.then.i.i.i157 ] +ehcleanup102: ; preds = %lpad.i16, %if.then.i.i.i158, %ehcleanup101 + %.pn5.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %5, %lpad.i16 ], [ %.pn5.pn.pn.pn.pn, %ehcleanup101 ], [ %.pn5.pn.pn.pn.pn, %if.then.i.i.i158 ] %78 = load ptr, ptr %input, align 8 - %cmp.not4.i.i.i160 = icmp eq ptr %78, %input - br i1 %cmp.not4.i.i.i160, label %_ZNSt6vectorIiSaIiEED2Ev.exit170, label %while.body.i.i.i161 - -while.body.i.i.i161: ; preds = %ehcleanup102, %while.body.i.i.i161 - %__cur.05.i.i.i162 = phi ptr [ %79, %while.body.i.i.i161 ], [ %78, %ehcleanup102 ] - %79 = load ptr, ptr %__cur.05.i.i.i162, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i162) #28 - %cmp.not.i.i.i163 = icmp eq ptr %79, %input - br i1 %cmp.not.i.i.i163, label %_ZNSt6vectorIiSaIiEED2Ev.exit170, label %while.body.i.i.i161, !llvm.loop !7 - -_ZNSt6vectorIiSaIiEED2Ev.exit170: ; preds = %while.body.i.i.i, %while.body.i.i.i161, %ehcleanup102, %lpad3.i - %.pn5.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad3.i ], [ %.pn5.pn.pn.pn.pn.pn, %ehcleanup102 ], [ %.pn5.pn.pn.pn.pn.pn, %while.body.i.i.i161 ], [ %2, %while.body.i.i.i ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + %cmp.not4.i.i.i161 = icmp eq ptr %78, %input + br i1 %cmp.not4.i.i.i161, label %_ZNSt6vectorIiSaIiEED2Ev.exit171, label %while.body.i.i.i162 + +while.body.i.i.i162: ; preds = %ehcleanup102, %while.body.i.i.i162 + %__cur.05.i.i.i163 = phi ptr [ %79, %while.body.i.i.i162 ], [ %78, %ehcleanup102 ] + %79 = load ptr, ptr %__cur.05.i.i.i163, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i163) #29 + %cmp.not.i.i.i164 = icmp eq ptr %79, %input + br i1 %cmp.not.i.i.i164, label %_ZNSt6vectorIiSaIiEED2Ev.exit171, label %while.body.i.i.i162, !llvm.loop !7 + +_ZNSt6vectorIiSaIiEED2Ev.exit171: ; preds = %while.body.i.i.i, %while.body.i.i.i162, %ehcleanup102, %lpad3.i + %.pn5.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad3.i ], [ %.pn5.pn.pn.pn.pn.pn, %ehcleanup102 ], [ %.pn5.pn.pn.pn.pn.pn, %while.body.i.i.i162 ], [ %2, %while.body.i.i.i ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn5.pn.pn.pn.pn.pn.pn } @@ -44959,14 +44975,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_123MutatingTest_CopyN_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_123MutatingTest_CopyN_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -44977,22 +44993,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_123MutatingTest_CopyN_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_123MutatingTest_CopyN_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -45004,27 +45020,27 @@ entry: %gtest_ar = alloca %"class.testing::AssertionResult", align 8 %ref.tmp21 = alloca %"class.testing::Message", align 8 %ref.tmp24 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.468, i64 20, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont14 unwind label %lpad.i7 lpad.i7: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIiSaIiEED2Ev.exit45 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit46 invoke.cont14: ; preds = %entry store ptr %call5.i.i.i.i2.i6, ptr %expected, align 8 - %add.ptr.i1.i11 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6, i64 2 + %add.ptr.i1.i11 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6, i64 8 %_M_end_of_storage.i.i12 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i11, ptr %_M_end_of_storage.i.i12, align 8 store i32 1, ptr %call5.i.i.i.i2.i6, align 4 %ref.tmp4.sroa.2.0.call5.i.i.i.i2.i6.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6, i64 4 store i32 2, ptr %ref.tmp4.sroa.2.0.call5.i.i.i.i2.i6.sroa_idx, align 4 - %_M_finish.i.i13 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 - store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i13, align 8 + %_M_finish.i.i14 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 + store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i14, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 @@ -45036,9 +45052,9 @@ for.body.i: ; preds = %_ZNSt20back_insert_ %__first.addr.05.i = phi ptr [ %call5.i.i.i.i2.i, %invoke.cont14 ], [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i ] %2 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 %cmp.not.i.i.i = icmp eq ptr %1, %2 - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i46 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i47 -if.then.i.i.i46: ; preds = %for.body.i +if.then.i.i.i47: ; preds = %for.body.i %3 = load i32, ptr %__first.addr.05.i, align 4 store i32 %3, ptr %1, align 4 %4 = load ptr, ptr %_M_finish.i.i.i, align 8 @@ -45055,10 +45071,10 @@ if.else.i.i.i: ; preds = %for.body.i br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 - to label %.noexc48 unwind label %lpad13.loopexit.split-lp + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 + to label %.noexc49 unwind label %lpad13.loopexit.split-lp -.noexc48: ; preds = %if.then.i.i.i.i.i +.noexc49: ; preds = %if.then.i.i.i.i.i unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i @@ -45074,46 +45090,47 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i49 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i50 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad13.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i49, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] - %add.ptr.i.i.i.i47 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i50, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] + %add.ptr.i.i.i.i48 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i %6 = load i32, ptr %__first.addr.05.i, align 4 - store i32 %6, ptr %add.ptr.i.i.i.i47, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + store i32 %6, ptr %add.ptr.i.i.i.i48, align 4 + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i47, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %actual, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i46 - %7 = phi ptr [ %incdec.ptr.i.i.i, %if.then.i.i.i46 ], [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ] +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i47 + %7 = phi ptr [ %incdec.ptr.i.i.i, %if.then.i.i.i47 ], [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ] %incdec.ptr.i = getelementptr inbounds i32, ptr %__first.addr.05.i, i64 1 %dec.i = add nsw i64 %__n.06.i, -1 %cmp.i = icmp ugt i64 %__n.06.i, 1 br i1 %cmp.i, label %for.body.i, label %invoke.cont16, !llvm.loop !841 invoke.cont16: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i - %8 = load ptr, ptr %_M_finish.i.i13, align 8, !noalias !842 + %8 = load ptr, ptr %_M_finish.i.i14, align 8, !noalias !842 %9 = load ptr, ptr %expected, align 8, !noalias !842 %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %8 to i64 %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %9 to i64 @@ -45169,7 +45186,7 @@ invoke.cont23: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont26, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont23 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 br label %invoke.cont26 invoke.cont26: ; preds = %cond.true.i.i, %invoke.cont23 @@ -45182,7 +45199,7 @@ invoke.cont28: ; preds = %invoke.cont26 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont28 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #28 %14 = load ptr, ptr %ref.tmp21, align 8 %cmp.not.i.i = icmp eq ptr %14, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -45191,7 +45208,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont30, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -45211,87 +45228,87 @@ lpad25: ; preds = %invoke.cont26 lpad29: ; preds = %invoke.cont28 %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #28 br label %ehcleanup ehcleanup: ; preds = %lpad29, %lpad25 %.pn = phi { ptr, i32 } [ %18, %lpad29 ], [ %17, %lpad25 ] %19 = load ptr, ptr %ref.tmp21, align 8 - %cmp.not.i.i18 = icmp eq ptr %19, null - br i1 %cmp.not.i.i18, label %_ZN7testing7MessageD2Ev.exit22, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19 + %cmp.not.i.i19 = icmp eq ptr %19, null + br i1 %cmp.not.i.i19, label %_ZN7testing7MessageD2Ev.exit23, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19: ; preds = %ehcleanup - %vtable.i.i.i20 = load ptr, ptr %19, align 8 - %vfn.i.i.i21 = getelementptr inbounds ptr, ptr %vtable.i.i.i20, i64 1 - %20 = load ptr, ptr %vfn.i.i.i21, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 - br label %_ZN7testing7MessageD2Ev.exit22 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20: ; preds = %ehcleanup + %vtable.i.i.i21 = load ptr, ptr %19, align 8 + %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 + %20 = load ptr, ptr %vfn.i.i.i22, align 8 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 + br label %_ZN7testing7MessageD2Ev.exit23 -_ZN7testing7MessageD2Ev.exit22: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19 +_ZN7testing7MessageD2Ev.exit23: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 store ptr null, ptr %ref.tmp21, align 8 br label %ehcleanup31 if.end: ; preds = %invoke.cont19, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %21 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i23 = icmp eq ptr %21, null - br i1 %cmp.not.i.i23, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i24 = icmp eq ptr %21, null + br i1 %cmp.not.i.i24, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #27 - call void @_ZdlPv(ptr noundef nonnull %21) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #28 + call void @_ZdlPv(ptr noundef nonnull %21) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %22 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i24 = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i24, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i25 = icmp eq ptr %22, null + br i1 %tobool.not.i.i.i25, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %22) #28 + call void @_ZdlPv(ptr noundef nonnull %22) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i %23 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i26 = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i26, label %_ZNSt6vectorIiSaIiEED2Ev.exit33, label %if.then.i.i.i27 + %tobool.not.i.i.i27 = icmp eq ptr %23, null + br i1 %tobool.not.i.i.i27, label %_ZNSt6vectorIiSaIiEED2Ev.exit34, label %if.then.i.i.i28 -if.then.i.i.i27: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %23) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit33 +if.then.i.i.i28: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %23) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit34 -_ZNSt6vectorIiSaIiEED2Ev.exit33: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i27 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit34: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void -ehcleanup31: ; preds = %_ZN7testing7MessageD2Ev.exit22, %lpad22 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit22 ], [ %16, %lpad22 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup31: ; preds = %_ZN7testing7MessageD2Ev.exit23, %lpad22 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit23 ], [ %16, %lpad22 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup32 ehcleanup32: ; preds = %lpad13.loopexit, %lpad13.loopexit.split-lp, %ehcleanup31 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup31 ], [ %lpad.loopexit, %lpad13.loopexit ], [ %lpad.loopexit.split-lp, %lpad13.loopexit.split-lp ] %24 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i34 = icmp eq ptr %24, null - br i1 %tobool.not.i.i.i34, label %_ZNSt6vectorIiSaIiEED2Ev.exit37, label %if.then.i.i.i35 + %tobool.not.i.i.i35 = icmp eq ptr %24, null + br i1 %tobool.not.i.i.i35, label %_ZNSt6vectorIiSaIiEED2Ev.exit38, label %if.then.i.i.i36 -if.then.i.i.i35: ; preds = %ehcleanup32 - call void @_ZdlPv(ptr noundef nonnull %24) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit37 +if.then.i.i.i36: ; preds = %ehcleanup32 + call void @_ZdlPv(ptr noundef nonnull %24) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit38 -_ZNSt6vectorIiSaIiEED2Ev.exit37: ; preds = %ehcleanup32, %if.then.i.i.i35 +_ZNSt6vectorIiSaIiEED2Ev.exit38: ; preds = %ehcleanup32, %if.then.i.i.i36 %25 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i38 = icmp eq ptr %25, null - br i1 %tobool.not.i.i.i38, label %_ZNSt6vectorIiSaIiEED2Ev.exit45, label %if.then.i.i.i39 + %tobool.not.i.i.i39 = icmp eq ptr %25, null + br i1 %tobool.not.i.i.i39, label %_ZNSt6vectorIiSaIiEED2Ev.exit46, label %if.then.i.i.i40 -if.then.i.i.i39: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit37 - call void @_ZdlPv(ptr noundef nonnull %25) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit45 +if.then.i.i.i40: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit38 + call void @_ZdlPv(ptr noundef nonnull %25) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit46 -_ZNSt6vectorIiSaIiEED2Ev.exit45: ; preds = %lpad.i7, %if.then.i.i.i39, %_ZNSt6vectorIiSaIiEED2Ev.exit37 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit37 ], [ %.pn.pn.pn, %if.then.i.i.i39 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit46: ; preds = %lpad.i7, %if.then.i.i.i40, %_ZNSt6vectorIiSaIiEED2Ev.exit38 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit38 ], [ %.pn.pn.pn, %if.then.i.i.i40 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn.pn.pn.pn } @@ -45336,7 +45353,7 @@ if.else.i.i: ; preds = %for.body br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -45352,7 +45369,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i @@ -45360,23 +45377,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i %5 = load i32, ptr %__first.addr.05, align 4 store i32 %5, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -45403,14 +45421,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_124MutatingTest_CopyIf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_124MutatingTest_CopyIf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -45421,22 +45439,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_124MutatingTest_CopyIf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_124MutatingTest_CopyIf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -45464,7 +45482,7 @@ entry: for.body.i.i: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %entry %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %entry ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -45472,7 +45490,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %0 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %0, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %input) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %input) #28 %1 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %1, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -45490,7 +45508,7 @@ lpad3.i: ; preds = %for.body.i.i while.body.i.i.i: ; preds = %lpad3.i, %while.body.i.i.i %__cur.05.i.i.i = phi ptr [ %4, %while.body.i.i.i ], [ %3, %lpad3.i ] %4 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %4, %input br i1 %cmp.not.i.i.i, label %eh.resume, label %while.body.i.i.i, !llvm.loop !7 @@ -45534,7 +45552,7 @@ if.else.i.i.i.i: ; preds = %if.then.i.i br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc unwind label %lpad5.loopexit.split-lp .noexc: ; preds = %if.then.i.i.i.i.i.i @@ -45553,7 +45571,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i.i6 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i.i6 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #30 to label %call5.i.i.i.i.i.i.i.i.noexc unwind label %lpad5.loopexit call5.i.i.i.i.i.i.i.i.noexc: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i @@ -45565,23 +45583,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %call5.i.i. %cond.i10.i.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i.i6, %call5.i.i.i.i.i.i.i.i.noexc ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store i32 %11, ptr %add.ptr.i.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i, ptr align 4 %10, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %10) #28 +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %10) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %output, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -45626,7 +45645,7 @@ invoke.cont22: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont25, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont22 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #28 br label %invoke.cont25 invoke.cont25: ; preds = %cond.true.i.i, %invoke.cont22 @@ -45639,7 +45658,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #28 %17 = load ptr, ptr %ref.tmp20, align 8 %cmp.not.i.i8 = icmp eq ptr %17, null br i1 %cmp.not.i.i8, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -45648,7 +45667,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %17, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %18 = load ptr, ptr %vfn.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont29, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -45668,7 +45687,7 @@ lpad24: ; preds = %invoke.cont25 lpad28: ; preds = %invoke.cont27 %21 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #28 br label %ehcleanup ehcleanup: ; preds = %lpad28, %lpad24 @@ -45681,7 +45700,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %22, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %23 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #27 + call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -45695,8 +45714,8 @@ if.end: ; preds = %invoke.cont18, %_ZN br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #27 - call void @_ZdlPv(ptr noundef nonnull %24) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #28 + call void @_ZdlPv(ptr noundef nonnull %24) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -45706,7 +45725,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -45717,7 +45736,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert while.body.i.i.i16: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %while.body.i.i.i16 %__cur.05.i.i.i17 = phi ptr [ %27, %while.body.i.i.i16 ], [ %26, %_ZNSt6vectorIiSaIiEED2Ev.exit ] %27 = load ptr, ptr %__cur.05.i.i.i17, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i17) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i17) #29 %cmp.not.i.i.i18 = icmp eq ptr %27, %input br i1 %cmp.not.i.i.i18, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i16, !llvm.loop !7 @@ -45726,7 +45745,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i16, ehcleanup30: ; preds = %_ZN7testing7MessageD2Ev.exit13, %lpad21 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %19, %lpad21 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup31 ehcleanup31: ; preds = %lpad5.loopexit, %lpad5.loopexit.split-lp, %ehcleanup30 @@ -45736,7 +45755,7 @@ ehcleanup31: ; preds = %lpad5.loopexit, %lp br i1 %tobool.not.i.i.i20, label %_ZNSt6vectorIiSaIiEED2Ev.exit22, label %if.then.i.i.i21 if.then.i.i.i21: ; preds = %ehcleanup31 - call void @_ZdlPv(ptr noundef nonnull %28) #28 + call void @_ZdlPv(ptr noundef nonnull %28) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit22 _ZNSt6vectorIiSaIiEED2Ev.exit22: ; preds = %ehcleanup31, %if.then.i.i.i21 @@ -45747,7 +45766,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit22: ; preds = %ehcleanup31, %if.th while.body.i.i.i24: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit22, %while.body.i.i.i24 %__cur.05.i.i.i25 = phi ptr [ %30, %while.body.i.i.i24 ], [ %29, %_ZNSt6vectorIiSaIiEED2Ev.exit22 ] %30 = load ptr, ptr %__cur.05.i.i.i25, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i25) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i25) #29 %cmp.not.i.i.i26 = icmp eq ptr %30, %input br i1 %cmp.not.i.i.i26, label %eh.resume, label %while.body.i.i.i24, !llvm.loop !7 @@ -45793,13 +45812,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -45862,13 +45881,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -45922,7 +45941,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -45954,7 +45973,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -45968,7 +45987,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -45977,28 +45996,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -46013,23 +46032,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -46063,7 +46082,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -46071,7 +46090,7 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -46081,7 +46100,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -46097,7 +46116,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -46113,7 +46132,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -46132,7 +46151,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -46147,7 +46166,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -46161,12 +46180,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -46241,7 +46260,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i3 %10 = landingpad { ptr, i32 } catch ptr null %11 = extractvalue { ptr, i32 } %10, 0 - call void @__clang_call_terminate(ptr %11) #31 + call void @__clang_call_terminate(ptr %11) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i3 @@ -46307,13 +46326,13 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i3.i %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 - call void @__clang_call_terminate(ptr %23) #31 + call void @__clang_call_terminate(ptr %23) #32 unreachable common.resume: ; preds = %lpad, %lpad.i %ref.tmp.sink = phi ptr [ %ref.tmp, %lpad ], [ %ref.tmp.i, %lpad.i ] %common.resume.op = phi { ptr, i32 } [ %25, %lpad ], [ %24, %lpad.i ] - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink) #28 resume { ptr, i32 } %common.resume.op lpad.i: ; preds = %if.else.i.i.i.i @@ -46340,14 +46359,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130MutatingTest_CopyBackward_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130MutatingTest_CopyBackward_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -46358,22 +46377,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130MutatingTest_CopyBackward_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130MutatingTest_CopyBackward_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -46385,16 +46404,16 @@ entry: %gtest_ar = alloca %"class.testing::AssertionResult", align 8 %ref.tmp23 = alloca %"class.testing::Message", align 8 %ref.tmp26 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i, ptr %actual, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.468, i64 20, i1 false) %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 store ptr %add.ptr.i1.i, ptr %_M_finish.i.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 to label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i unwind label %lpad.i7 lpad.i7: ; preds = %entry @@ -46404,13 +46423,13 @@ lpad.i7: ; preds = %entry _ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i: ; preds = %entry store ptr %call5.i.i.i.i2.i6, ptr %expected, align 8 - %add.ptr.i1.i11 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6, i64 5 + %add.ptr.i1.i11 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6, i64 20 %_M_end_of_storage.i.i12 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i11, ptr %_M_end_of_storage.i.i12, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i6, ptr noundef nonnull align 4 dereferenceable(20) @constinit.429, i64 20, i1 false) - %_M_finish.i.i13 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 - store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i13, align 8 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 2 + %_M_finish.i.i14 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 + store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i14, align 8 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) %bcmp.i.i.i.i.i.i.i = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %call5.i.i.i.i2.i6, ptr noundef nonnull dereferenceable(20) %call5.i.i.i.i2.i, i64 20), !noalias !877 %tobool1.not.i.i.i.i.i.i.i = icmp eq i32 %bcmp.i.i.i.i.i.i.i, 0 @@ -46446,7 +46465,7 @@ invoke.cont25: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont28, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont25 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #28 br label %invoke.cont28 invoke.cont28: ; preds = %cond.true.i.i, %invoke.cont25 @@ -46459,7 +46478,7 @@ invoke.cont30: ; preds = %invoke.cont28 to label %invoke.cont32 unwind label %lpad31 invoke.cont32: ; preds = %invoke.cont30 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #28 %5 = load ptr, ptr %ref.tmp23, align 8 %cmp.not.i.i = icmp eq ptr %5, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -46468,7 +46487,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %5, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %6 = load ptr, ptr %vfn.i.i.i, align 8 - call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 + call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont32, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -46488,85 +46507,85 @@ lpad27: ; preds = %invoke.cont28 lpad31: ; preds = %invoke.cont30 %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #28 br label %ehcleanup ehcleanup: ; preds = %lpad31, %lpad27 %.pn = phi { ptr, i32 } [ %9, %lpad31 ], [ %8, %lpad27 ] %10 = load ptr, ptr %ref.tmp23, align 8 - %cmp.not.i.i17 = icmp eq ptr %10, null - br i1 %cmp.not.i.i17, label %_ZN7testing7MessageD2Ev.exit21, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i18 + %cmp.not.i.i18 = icmp eq ptr %10, null + br i1 %cmp.not.i.i18, label %_ZN7testing7MessageD2Ev.exit22, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i18: ; preds = %ehcleanup - %vtable.i.i.i19 = load ptr, ptr %10, align 8 - %vfn.i.i.i20 = getelementptr inbounds ptr, ptr %vtable.i.i.i19, i64 1 - %11 = load ptr, ptr %vfn.i.i.i20, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 - br label %_ZN7testing7MessageD2Ev.exit21 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19: ; preds = %ehcleanup + %vtable.i.i.i20 = load ptr, ptr %10, align 8 + %vfn.i.i.i21 = getelementptr inbounds ptr, ptr %vtable.i.i.i20, i64 1 + %11 = load ptr, ptr %vfn.i.i.i21, align 8 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 + br label %_ZN7testing7MessageD2Ev.exit22 -_ZN7testing7MessageD2Ev.exit21: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i18 +_ZN7testing7MessageD2Ev.exit22: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19 store ptr null, ptr %ref.tmp23, align 8 br label %ehcleanup33 if.end: ; preds = %invoke.cont21, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %12 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i22 = icmp eq ptr %12, null - br i1 %cmp.not.i.i22, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i23 = icmp eq ptr %12, null + br i1 %cmp.not.i.i23, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #27 - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %13 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i23 = icmp eq ptr %13, null - br i1 %tobool.not.i.i.i23, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i24 = icmp eq ptr %13, null + br i1 %tobool.not.i.i.i24, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i %14 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i25 = icmp eq ptr %14, null - br i1 %tobool.not.i.i.i25, label %_ZNSt6vectorIiSaIiEED2Ev.exit28, label %if.then.i.i.i26 + %tobool.not.i.i.i26 = icmp eq ptr %14, null + br i1 %tobool.not.i.i.i26, label %_ZNSt6vectorIiSaIiEED2Ev.exit29, label %if.then.i.i.i27 -if.then.i.i.i26: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %14) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit28 +if.then.i.i.i27: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %14) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit29 -_ZNSt6vectorIiSaIiEED2Ev.exit28: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i26 +_ZNSt6vectorIiSaIiEED2Ev.exit29: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i27 ret void -ehcleanup33: ; preds = %_ZN7testing7MessageD2Ev.exit21, %lpad24 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit21 ], [ %7, %lpad24 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup33: ; preds = %_ZN7testing7MessageD2Ev.exit22, %lpad24 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit22 ], [ %7, %lpad24 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup34 ehcleanup34: ; preds = %ehcleanup33, %lpad17 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup33 ], [ %3, %lpad17 ] %15 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i29 = icmp eq ptr %15, null - br i1 %tobool.not.i.i.i29, label %ehcleanup35, label %if.then.i.i.i30 + %tobool.not.i.i.i30 = icmp eq ptr %15, null + br i1 %tobool.not.i.i.i30, label %ehcleanup35, label %if.then.i.i.i31 -if.then.i.i.i30: ; preds = %ehcleanup34 - call void @_ZdlPv(ptr noundef nonnull %15) #28 +if.then.i.i.i31: ; preds = %ehcleanup34 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %ehcleanup35 -ehcleanup35: ; preds = %lpad.i7, %if.then.i.i.i30, %ehcleanup34 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %ehcleanup34 ], [ %.pn.pn.pn, %if.then.i.i.i30 ] +ehcleanup35: ; preds = %lpad.i7, %if.then.i.i.i31, %ehcleanup34 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %ehcleanup34 ], [ %.pn.pn.pn, %if.then.i.i.i31 ] %16 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i33 = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i33, label %eh.resume, label %if.then.i.i.i34 + %tobool.not.i.i.i34 = icmp eq ptr %16, null + br i1 %tobool.not.i.i.i34, label %eh.resume, label %if.then.i.i.i35 -if.then.i.i.i34: ; preds = %ehcleanup35 - call void @_ZdlPv(ptr noundef nonnull %16) #28 +if.then.i.i.i35: ; preds = %ehcleanup35 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i34, %ehcleanup35 +eh.resume: ; preds = %if.then.i.i.i35, %ehcleanup35 resume { ptr, i32 } %.pn.pn.pn.pn } @@ -46579,14 +46598,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_122MutatingTest_Move_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_122MutatingTest_Move_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -46597,22 +46616,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_122MutatingTest_Move_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_122MutatingTest_Move_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -46630,14 +46649,14 @@ entry: %ref.tmp91 = alloca %"class.testing::Message", align 8 %ref.tmp94 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %src, i8 0, i64 24, i1 false) - %call.i8 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i8 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i unwind label %lpad _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i: ; preds = %entry store i32 1, ptr %call.i8, align 4, !noalias !882 %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %src, i64 0, i32 1 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %src, i64 0, i32 2 - %call5.i.i.i.i138 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i138 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit73 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i @@ -46647,12 +46666,12 @@ _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit: ; preds = %_ZNSt16allocator_ store ptr %call5.i.i.i.i138, ptr %src, align 8 store ptr %incdec.ptr.i135, ptr %_M_finish.i, align 8 store ptr %incdec.ptr.i135, ptr %_M_end_of_storage.i, align 8 - %call.i10 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i10 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i156 unwind label %lpad _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i156: ; preds = %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit store i32 2, ptr %call.i10, align 4, !noalias !885 - %call5.i.i.i.i187 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i187 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %for.body.i.i.i.i162.preheader unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit76 for.body.i.i.i.i162.preheader: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i156 @@ -46665,17 +46684,17 @@ for.body.i.i.i.i162.preheader: ; preds = %_ZNSt16allocator_tr store i64 %2, ptr %call5.i.i.i.i187, align 8, !alias.scope !888, !noalias !891 store ptr null, ptr %call5.i.i.i.i138, align 8, !alias.scope !891, !noalias !888 %incdec.ptr.i170 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i187, i64 2 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i138) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i138) #29 store ptr %call5.i.i.i.i187, ptr %src, align 8 store ptr %incdec.ptr.i170, ptr %_M_finish.i, align 8 %add.ptr19.i183 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i187, i64 2 store ptr %add.ptr19.i183, ptr %_M_end_of_storage.i, align 8 - %call.i25 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i25 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %invoke.cont13 unwind label %lpad invoke.cont13: ; preds = %for.body.i.i.i.i162.preheader store i32 3, ptr %call.i25, align 4, !noalias !893 - %call5.i.i.i.i237 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call5.i.i.i.i237 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i208 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79 _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i208: ; preds = %invoke.cont13 @@ -46700,12 +46719,12 @@ for.body.i.i.i.i212: ; preds = %_ZNSt12_Vector_base .noexc35: ; preds = %for.body.i.i.i.i212 %incdec.ptr.i220 = getelementptr %"class.std::unique_ptr.388", ptr %__cur.07.i.i.i.i213, i64 2 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i187) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i187) #29 store ptr %call5.i.i.i.i237, ptr %src, align 8 store ptr %incdec.ptr.i220, ptr %_M_finish.i, align 8 %add.ptr19.i233 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i237, i64 4 store ptr %add.ptr19.i233, ptr %_M_end_of_storage.i, align 8 - %call.i40 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i40 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %invoke.cont19 unwind label %lpad invoke.cont19: ; preds = %.noexc35 @@ -46731,7 +46750,7 @@ if.else.i48: ; preds = %invoke.cont19 br i1 %cmp.i.i243, label %if.then.i.i284, label %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i244 if.then.i.i284: ; preds = %if.else.i48 - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc285 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82 .noexc285: ; preds = %if.then.i.i284 @@ -46750,7 +46769,7 @@ _ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc. _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i256: ; preds = %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i244 %mul.i.i.i.i257 = shl nuw nsw i64 %cond.i.i251, 3 - %call5.i.i.i.i287 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i257) #29 + %call5.i.i.i.i287 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i257) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i258 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82 _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i258: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i256, %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i244 @@ -46781,7 +46800,7 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_ br i1 %tobool.not.i.i280, label %.noexc50, label %if.then.i20.i281 if.then.i20.i281: ; preds = %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i278 - tail call void @_ZdlPv(ptr noundef nonnull %8) #28 + tail call void @_ZdlPv(ptr noundef nonnull %8) #29 br label %.noexc50 .noexc50: ; preds = %if.then.i20.i281, %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i278 @@ -46793,7 +46812,7 @@ if.then.i20.i281: ; preds = %_ZNSt6vectorISt10un _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit54: ; preds = %if.then.i45, %.noexc50 %11 = phi ptr [ %incdec.ptr.i46, %if.then.i45 ], [ %incdec.ptr.i270, %.noexc50 ] - %call.i55 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i55 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %invoke.cont25 unwind label %lpad invoke.cont25: ; preds = %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit54 @@ -46820,7 +46839,7 @@ if.else.i63: ; preds = %invoke.cont25 br i1 %cmp.i.i293, label %if.then.i.i334, label %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i294 if.then.i.i334: ; preds = %if.else.i63 - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc335 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit85 .noexc335: ; preds = %if.then.i.i334 @@ -46839,7 +46858,7 @@ _ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc. _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i306: ; preds = %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i294 %mul.i.i.i.i307 = shl nuw nsw i64 %cond.i.i301, 3 - %call5.i.i.i.i337 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i307) #29 + %call5.i.i.i.i337 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i307) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i308 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit85 _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i308: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i306, %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i294 @@ -46870,7 +46889,7 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_ br i1 %tobool.not.i.i330, label %.noexc65, label %if.then.i20.i331 if.then.i20.i331: ; preds = %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i328 - tail call void @_ZdlPv(ptr noundef nonnull %15) #28 + tail call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %.noexc65 .noexc65: ; preds = %if.then.i20.i331, %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i328 @@ -46922,7 +46941,7 @@ if.else.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %cmp.i.i343, label %if.then.i.i384, label %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i344 if.then.i.i384: ; preds = %if.else.i.i.i.i.i.i.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc385 unwind label %lpad29.loopexit.split-lp .noexc385: ; preds = %if.then.i.i384 @@ -46941,7 +46960,7 @@ _ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc. _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i356: ; preds = %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i344 %mul.i.i.i.i357 = shl nuw nsw i64 %cond.i.i351, 3 - %call5.i.i.i.i387 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i357) #29 + %call5.i.i.i.i387 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i357) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i358 unwind label %lpad29.loopexit _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i358: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i356, %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i344 @@ -46973,7 +46992,7 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_ br i1 %tobool.not.i.i380, label %.noexc70, label %if.then.i20.i381 if.then.i20.i381: ; preds = %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i378 - tail call void @_ZdlPv(ptr noundef nonnull %24) #28 + tail call void @_ZdlPv(ptr noundef nonnull %24) #29 br label %.noexc70 .noexc70: ; preds = %if.then.i20.i381, %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i378 @@ -47008,31 +47027,31 @@ lpad: ; preds = %_ZNSt10unique_ptrIi _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit73: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i %31 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i8) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i8) #29 br label %ehcleanup106 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit76: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i156 %32 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i10) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i10) #29 br label %ehcleanup106 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79: ; preds = %invoke.cont13 %33 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i25) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i25) #29 br label %ehcleanup106 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i256, %if.then.i.i284 %34 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i40) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i40) #29 br label %ehcleanup106 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit85: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i306, %if.then.i.i334 %35 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i55) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i55) #29 br label %ehcleanup106 lpad29.loopexit: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i356 @@ -47056,7 +47075,7 @@ invoke.cont48: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont51, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont48 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #28 br label %invoke.cont51 invoke.cont51: ; preds = %cond.true.i.i, %invoke.cont48 @@ -47069,7 +47088,7 @@ invoke.cont53: ; preds = %invoke.cont51 to label %invoke.cont55 unwind label %lpad54 invoke.cont55: ; preds = %invoke.cont53 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp49) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp49) #28 %37 = load ptr, ptr %ref.tmp46, align 8 %cmp.not.i.i = icmp eq ptr %37, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -47078,7 +47097,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %37, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %38 = load ptr, ptr %vfn.i.i.i, align 8 - call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #27 + call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont55, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -47098,7 +47117,7 @@ lpad50: ; preds = %invoke.cont51 lpad54: ; preds = %invoke.cont53 %41 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp49) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp49) #28 br label %ehcleanup ehcleanup: ; preds = %lpad54, %lpad50 @@ -47111,7 +47130,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i88 = load ptr, ptr %42, align 8 %vfn.i.i.i89 = getelementptr inbounds ptr, ptr %vtable.i.i.i88, i64 1 %43 = load ptr, ptr %vfn.i.i.i89, align 8 - call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #27 + call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #28 br label %_ZN7testing7MessageD2Ev.exit90 _ZN7testing7MessageD2Ev.exit90: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87 @@ -47125,8 +47144,8 @@ if.end: ; preds = %invoke.cont44, %_ZN br i1 %cmp.not.i.i91, label %invoke.cont86, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #27 - call void @_ZdlPv(ptr noundef nonnull %44) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #28 + call void @_ZdlPv(ptr noundef nonnull %44) #29 br label %invoke.cont86 invoke.cont86: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end @@ -47145,7 +47164,7 @@ invoke.cont87: ; preds = %invoke.cont86 ehcleanup56: ; preds = %_ZN7testing7MessageD2Ev.exit90, %lpad47 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit90 ], [ %39, %lpad47 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup105 if.else90: ; preds = %invoke.cont87 @@ -47159,7 +47178,7 @@ invoke.cont93: ; preds = %if.else90 br i1 %cmp.i.i.not.i.i95, label %invoke.cont96, label %cond.true.i.i96 cond.true.i.i96: ; preds = %invoke.cont93 - %call4.i.i97 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #27 + %call4.i.i97 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #28 br label %invoke.cont96 invoke.cont96: ; preds = %cond.true.i.i96, %invoke.cont93 @@ -47172,7 +47191,7 @@ invoke.cont98: ; preds = %invoke.cont96 to label %invoke.cont100 unwind label %lpad99 invoke.cont100: ; preds = %invoke.cont98 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp94) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp94) #28 %48 = load ptr, ptr %ref.tmp91, align 8 %cmp.not.i.i100 = icmp eq ptr %48, null br i1 %cmp.not.i.i100, label %_ZN7testing7MessageD2Ev.exit104, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 @@ -47181,7 +47200,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i102 = load ptr, ptr %48, align 8 %vfn.i.i.i103 = getelementptr inbounds ptr, ptr %vtable.i.i.i102, i64 1 %49 = load ptr, ptr %vfn.i.i.i103, align 8 - call void %49(ptr noundef nonnull align 8 dereferenceable(128) %48) #27 + call void %49(ptr noundef nonnull align 8 dereferenceable(128) %48) #28 br label %_ZN7testing7MessageD2Ev.exit104 _ZN7testing7MessageD2Ev.exit104: ; preds = %invoke.cont100, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 @@ -47201,7 +47220,7 @@ lpad95: ; preds = %invoke.cont96 lpad99: ; preds = %invoke.cont98 %52 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp94) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp94) #28 br label %ehcleanup102 ehcleanup102: ; preds = %lpad99, %lpad95 @@ -47214,7 +47233,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i107 = load ptr, ptr %53, align 8 %vfn.i.i.i108 = getelementptr inbounds ptr, ptr %vtable.i.i.i107, i64 1 %54 = load ptr, ptr %vfn.i.i.i108, align 8 - call void %54(ptr noundef nonnull align 8 dereferenceable(128) %53) #27 + call void %54(ptr noundef nonnull align 8 dereferenceable(128) %53) #28 br label %_ZN7testing7MessageD2Ev.exit109 _ZN7testing7MessageD2Ev.exit109: ; preds = %ehcleanup102, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 @@ -47228,8 +47247,8 @@ if.end103: ; preds = %invoke.cont87, %_ZN br i1 %cmp.not.i.i111, label %_ZN7testing15AssertionResultD2Ev.exit113, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112: ; preds = %if.end103 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #27 - call void @_ZdlPv(ptr noundef nonnull %55) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #28 + call void @_ZdlPv(ptr noundef nonnull %55) #29 br label %_ZN7testing15AssertionResultD2Ev.exit113 _ZN7testing15AssertionResultD2Ev.exit113: ; preds = %if.end103, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 @@ -47247,7 +47266,7 @@ for.body.i.i.i.i: ; preds = %_ZN7testing15Assert br i1 %cmp.not.i.i.i.i.i.i, label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i, label %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i _ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %58) #28 + call void @_ZdlPv(ptr noundef nonnull %58) #29 br label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i _ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i: ; preds = %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i, %for.body.i.i.i.i @@ -47266,7 +47285,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %59) #28 + call void @_ZdlPv(ptr noundef nonnull %59) #29 br label %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -47282,7 +47301,7 @@ for.body.i.i.i.i117: ; preds = %_ZNSt6vectorISt10un br i1 %cmp.not.i.i.i.i.i.i119, label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i121, label %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i120 _ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i120: ; preds = %for.body.i.i.i.i117 - call void @_ZdlPv(ptr noundef nonnull %62) #28 + call void @_ZdlPv(ptr noundef nonnull %62) #29 br label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i121 _ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i121: ; preds = %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i120, %for.body.i.i.i.i117 @@ -47301,7 +47320,7 @@ invoke.cont.i126: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i127, label %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit129, label %if.then.i.i.i128 if.then.i.i.i128: ; preds = %invoke.cont.i126 - call void @_ZdlPv(ptr noundef nonnull %63) #28 + call void @_ZdlPv(ptr noundef nonnull %63) #29 br label %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit129 _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit129: ; preds = %invoke.cont.i126, %if.then.i.i.i128 @@ -47309,17 +47328,17 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit129: ; preds ehcleanup104: ; preds = %_ZN7testing7MessageD2Ev.exit109, %lpad92 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit109 ], [ %50, %lpad92 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar57) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar57) #28 br label %ehcleanup105 ehcleanup105: ; preds = %lpad29.loopexit, %lpad29.loopexit.split-lp, %ehcleanup104, %ehcleanup56 %.pn3.pn.pn = phi { ptr, i32 } [ %.pn3.pn, %ehcleanup104 ], [ %.pn.pn, %ehcleanup56 ], [ %lpad.loopexit, %lpad29.loopexit ], [ %lpad.loopexit.split-lp, %lpad29.loopexit.split-lp ] - call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %dest) #27 + call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %dest) #28 br label %ehcleanup106 ehcleanup106: ; preds = %ehcleanup105, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit85, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit76, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit73, %lpad %.pn3.pn.pn.pn = phi { ptr, i32 } [ %.pn3.pn.pn, %ehcleanup105 ], [ %35, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit85 ], [ %30, %lpad ], [ %34, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82 ], [ %33, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79 ], [ %32, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit76 ], [ %31, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit73 ] - call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %src) #27 + call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %src) #28 resume { ptr, i32 } %.pn3.pn.pn.pn } @@ -47341,7 +47360,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !931) tail call void @llvm.experimental.noalias.scope.decl(metadata !934) tail call void @llvm.experimental.noalias.scope.decl(metadata !937) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !940 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !940 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal21QuantifierMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !940 %inner_matcher_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::QuantifierMatcherImpl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !941) @@ -47349,7 +47368,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !947) tail call void @llvm.experimental.noalias.scope.decl(metadata !950) tail call void @llvm.experimental.noalias.scope.decl(metadata !953) - %call.i.i.i.i.i1.i.i1.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i.i.i.i1.i.i1.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i.i.i.i1.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !940 call.i.i.i.i.i1.i.i.noexc.i.i.i.i.i: ; preds = %entry @@ -47359,7 +47378,7 @@ call.i.i.i.i.i1.i.i.noexc.i.i.i.i.i: ; preds = %entry %buffer_.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::QuantifierMatcherImpl", ptr %call.i.i.i.i.i, i64 0, i32 1, i32 0, i32 2 store i64 0, ptr %buffer_.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !957, !noalias !940 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !957, !noalias !940 - %call.i.i1.i.i.i.i.i.i.i2.i.i2.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i.i.i.i.i.i2.i.i2.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %_ZN7testing15SafeMatcherCastIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EENS_8internal11EachMatcherINS_18PolymorphicMatcherINSA_13IsNullMatcherEEEEEEENS_7MatcherIT_EERKT0_.exit unwind label %lpad.i.i.i.i.i, !noalias !940 common.resume: ; preds = %ehcleanup42, %lpad.i.i.i.i.i @@ -47369,7 +47388,7 @@ common.resume: ; preds = %ehcleanup42, %lpad. lpad.i.i.i.i.i: ; preds = %call.i.i.i.i.i1.i.i.noexc.i.i.i.i.i, %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i.i.i.i.i) #28, !noalias !940 + tail call void @_ZdlPv(ptr noundef nonnull %call.i.i.i.i.i) #29, !noalias !940 br label %common.resume _ZN7testing15SafeMatcherCastIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EENS_8internal11EachMatcherINS_18PolymorphicMatcherINSA_13IsNullMatcherEEEEEEENS_7MatcherIT_EERKT0_.exit: ; preds = %call.i.i.i.i.i1.i.i.noexc.i.i.i.i.i @@ -47383,7 +47402,7 @@ _ZN7testing15SafeMatcherCastIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEES %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.416", ptr %matcher, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.416", ptr %matcher, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE9GetVTableINSB_11ValuePolicyIPKNS_16MatcherInterfaceISA_EELb1EEEEEPKNSB_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !940 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !940 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !940 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !940 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.442", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %2 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -47410,13 +47429,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %3 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -47479,13 +47498,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -47539,7 +47558,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -47571,7 +47590,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -47585,7 +47604,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %17, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %18 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -47594,28 +47613,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %19 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %19, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #27 - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %20 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -47630,23 +47649,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %22, %lpad36 ], [ %16, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %16, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %21, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %12, %lpad16 ], [ %20, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %11, %lpad4 ], [ %8, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -47679,7 +47698,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %30 = landingpad { ptr, i32 } catch ptr null %31 = extractvalue { ptr, i32 } %30, 0 - call void @__clang_call_terminate(ptr %31) #31 + call void @__clang_call_terminate(ptr %31) #32 unreachable _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -47687,7 +47706,7 @@ _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %6, %lpad ], [ %3, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 br label %common.resume } @@ -47728,13 +47747,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -47797,13 +47816,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -47857,7 +47876,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -47889,7 +47908,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -47903,7 +47922,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -47912,28 +47931,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -47948,23 +47967,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -47998,7 +48017,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -48006,7 +48025,7 @@ _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -48026,7 +48045,7 @@ for.body.i.i.i: ; preds = %entry, %_ZSt8_Destr br i1 %cmp.not.i.i.i.i.i, label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i, label %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i _ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i: ; preds = %for.body.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i _ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i: ; preds = %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i, %for.body.i.i.i @@ -48045,7 +48064,7 @@ invoke.cont: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i, label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit: ; preds = %invoke.cont, %if.then.i.i @@ -48068,13 +48087,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -48117,7 +48136,7 @@ if.else.i.i: ; preds = %if.then to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %if.else.i.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE7MatchesESA_.exit common.resume: ; preds = %ehcleanup22, %lpad.i.i @@ -48127,7 +48146,7 @@ common.resume: ; preds = %ehcleanup22, %lpad. lpad.i.i: ; preds = %if.else.i.i %2 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE7MatchesESA_.exit: ; preds = %if.then, %invoke.cont.i.i @@ -48164,13 +48183,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup22 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -48190,12 +48209,12 @@ invoke.cont4: ; preds = %invoke.cont to label %invoke.cont5 unwind label %lpad invoke.cont5: ; preds = %invoke.cont4 - %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 %cmp.i16 = icmp ult i64 %call.i, 21 br i1 %cmp.i16, label %if.then7, label %_ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %invoke.cont5 - %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #27 + %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #28 %cmp2.i = icmp eq i64 %call1.i, -1 br i1 %cmp2.i, label %if.then7, label %if.end16 @@ -48228,7 +48247,7 @@ if.end16: ; preds = %invoke.cont12, %_ZN invoke.cont18: ; preds = %if.end16 %13 = load ptr, ptr %stream_.i, align 8 - %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 + %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 %cmp.i22 = icmp eq ptr %13, null %or.cond.not.i = or i1 %cmp.i22, %call.i21 br i1 %or.cond.not.i, label %invoke.cont21, label %if.then.i @@ -48242,27 +48261,27 @@ call1.i23.noexc: ; preds = %if.then.i to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont18, %call1.i23.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %return lpad20: ; preds = %call1.i23.noexc, %if.then.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad9 %.pn = phi { ptr, i32 } [ %14, %lpad20 ], [ %12, %lpad9 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup22 ehcleanup22: ; preds = %lpad, %lpad.i, %ehcleanup %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %11, %lpad ], [ %6, %lpad.i ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %common.resume return: ; preds = %invoke.cont21, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE7MatchesESA_.exit @@ -48304,7 +48323,7 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i @@ -48347,7 +48366,7 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal21QuantifierMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i.i, %land.lhs.true.i.i.i.i, %if.then.i.i.i.i @@ -48390,11 +48409,11 @@ terminate.lpad.i.i.i.i: ; preds = %if.then.i.i.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal15EachMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i.i.i, %land.lhs.true.i.i.i.i.i, %if.then.i.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -48416,13 +48435,13 @@ if.else.i: ; preds = %entry to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE10DescribeToEPSo.exit lpad.i: ; preds = %if.else.i %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 resume { ptr, i32 } %1 _ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE10DescribeToEPSo.exit: ; preds = %entry, %invoke.cont.i @@ -48453,13 +48472,13 @@ if.else.i: ; preds = %entry to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE18DescribeNegationToEPSo.exit lpad.i: ; preds = %if.else.i %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 resume { ptr, i32 } %1 _ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE18DescribeNegationToEPSo.exit: ; preds = %entry, %invoke.cont.i @@ -48515,7 +48534,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -48525,7 +48544,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr dso_local void @_ZN7testing8internal21QuantifierMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEED0Ev(ptr noundef nonnull align 8 dereferenceable(32) %this) unnamed_addr #7 comdat align 2 { entry: - tail call void @llvm.trap() #31 + tail call void @llvm.trap() #32 unreachable } @@ -48538,7 +48557,7 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr dso_local void @_ZN7testing18PolymorphicMatcherINS_8internal13IsNullMatcherEE15MonomorphicImplIRKSt10unique_ptrIiSt14default_deleteIiEEED0Ev(ptr noundef nonnull align 8 dereferenceable(9) %this) unnamed_addr #7 comdat align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -48598,7 +48617,7 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i @@ -48639,11 +48658,11 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -48663,13 +48682,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -48696,13 +48715,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -48750,7 +48769,7 @@ terminate.lpad: ; preds = %if.then.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable } @@ -48788,11 +48807,11 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -48851,11 +48870,11 @@ _ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKSt10unique_ptrIiS_IiEEEEEc %vtable.i.i.i = load ptr, ptr %0, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %1 = load ptr, ptr %vfn.i.i.i, align 8 - tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #27 + tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #28 br label %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKS2_IiSt14default_deleteIiEEEES4_ISA_EEED2Ev.exit _ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKS2_IiSt14default_deleteIiEEEES4_ISA_EEED2Ev.exit: ; preds = %delete.notnull, %_ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKSt10unique_ptrIiS_IiEEEEEclEPS8_.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %shared) #28 + tail call void @_ZdlPv(ptr noundef nonnull %shared) #29 br label %delete.end delete.end: ; preds = %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKS2_IiSt14default_deleteIiEEEES4_ISA_EEED2Ev.exit, %entry @@ -48906,13 +48925,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc %3 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -48961,7 +48980,7 @@ invoke.cont17: ; preds = %if.then, %invoke.co invoke.cont20: ; preds = %invoke.cont17 %8 = load ptr, ptr %stream_.i, align 8 - %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 %cmp.i28 = icmp eq ptr %8, null %or.cond.not.i = or i1 %cmp.i28, %call.i br i1 %or.cond.not.i, label %cleanup, label %if.then.i29 @@ -48987,19 +49006,19 @@ lpad.loopexit.split-lp: ; preds = %if.then.i, %if.then lpad22: ; preds = %call1.i.noexc, %if.then.i29 %9 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 br label %ehcleanup cleanup: ; preds = %call1.i.noexc, %invoke.cont20 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 %lnot = xor i1 %all_elements_should_match, true store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %return for.inc: ; preds = %invoke.cont store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 %incdec.ptr.i = getelementptr inbounds %"class.std::unique_ptr.388", ptr %it.sroa.0.055, i64 1 %inc = add i64 %i.056, 1 %10 = load ptr, ptr %_M_finish.i, align 8 @@ -49009,7 +49028,7 @@ for.inc: ; preds = %invoke.cont ehcleanup: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %lpad.i, %lpad22 %.pn = phi { ptr, i32 } [ %9, %lpad22 ], [ %3, %lpad.i ], [ %lpad.loopexit45, %lpad.loopexit ], [ %lpad.loopexit.split-lp46, %lpad.loopexit.split-lp ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 resume { ptr, i32 } %.pn return: ; preds = %for.inc, %entry, %cleanup @@ -49051,11 +49070,11 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -49075,13 +49094,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -49129,7 +49148,7 @@ terminate.lpad: ; preds = %if.then.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable } @@ -49167,11 +49186,11 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -49230,11 +49249,11 @@ _ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKSt6vectorISt10unique_ptrIi %vtable.i.i.i = load ptr, ptr %0, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %1 = load ptr, ptr %vfn.i.i.i, align 8 - tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #27 + tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #28 br label %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIS2_IiSt14default_deleteIiEESaIS7_EEEES5_ISD_EEED2Ev.exit _ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIS2_IiSt14default_deleteIiEESaIS7_EEEES5_ISD_EEED2Ev.exit: ; preds = %delete.notnull, %_ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKSt6vectorISt10unique_ptrIiS_IiEESaIS5_EEEEEclEPSB_.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %shared) #28 + tail call void @_ZdlPv(ptr noundef nonnull %shared) #29 br label %delete.end delete.end: ; preds = %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIS2_IiSt14default_deleteIiEESaIS7_EEEES5_ISD_EEED2Ev.exit, %entry @@ -49311,7 +49330,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEE %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher>, testing::internal::CastAndAppendTransform &>, std::back_insert_iterator &>>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.460", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE11_M_allocateEm.exit.i.i @@ -49327,7 +49346,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -49343,7 +49362,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.416", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE9GetVTableINSB_11ValuePolicyIPKNS_16MatcherInterfaceISA_EELb1EEEEEPKNSB_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -49362,7 +49381,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.420", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !959 @@ -49377,7 +49396,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -49391,12 +49410,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -49498,7 +49517,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %17 = landingpad { ptr, i32 } catch ptr null %18 = extractvalue { ptr, i32 } %17, 0 - call void @__clang_call_terminate(ptr %18) #31 + call void @__clang_call_terminate(ptr %18) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont9, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -49508,8 +49527,8 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad8: ; preds = %if.else.i.i %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 - call void @_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 + call void @_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #28 resume { ptr, i32 } %19 while.end: ; preds = %_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit, %entry @@ -49529,7 +49548,7 @@ for.body.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.body.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #28 %incdec.ptr.i.i.i = getelementptr inbounds %"class.testing::Matcher.420", ptr %__first.addr.04.i.i.i, i64 1 %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %1 br i1 %cmp.not.i.i.i, label %invoke.contthread-pre-split, label %for.body.i.i.i, !llvm.loop !959 @@ -49544,7 +49563,7 @@ invoke.cont: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i, label %_ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit _ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont, %if.then.i.i @@ -49562,7 +49581,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !974) tail call void @llvm.experimental.noalias.scope.decl(metadata !977) tail call void @llvm.experimental.noalias.scope.decl(metadata !980) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !983 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !983 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !983 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !984) @@ -49578,7 +49597,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !983 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !983 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !983 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !983 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -49640,7 +49659,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont7.thread, %invoke.cont7, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -49650,7 +49669,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -49665,7 +49684,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1001) tail call void @llvm.experimental.noalias.scope.decl(metadata !1004) tail call void @llvm.experimental.noalias.scope.decl(metadata !1007) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1010 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1010 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1010 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1011) @@ -49681,7 +49700,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1010 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1010 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1010 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1010 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -49743,7 +49762,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -49753,7 +49772,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -49793,7 +49812,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -49836,11 +49855,11 @@ terminate.lpad.i.i.i: ; preds = %if.then.i.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i.i, %land.lhs.true.i.i.i.i, %if.then.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -49862,13 +49881,13 @@ if.else.i: ; preds = %entry to label %invoke.cont3.i unwind label %lpad.i invoke.cont3.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit lpad.i: ; preds = %if.else.i %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 resume { ptr, i32 } %1 _ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit: ; preds = %entry, %invoke.cont3.i @@ -49899,13 +49918,13 @@ if.else.i: ; preds = %entry to label %invoke.cont3.i unwind label %lpad.i invoke.cont3.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit lpad.i: ; preds = %if.else.i %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 resume { ptr, i32 } %1 _ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit: ; preds = %entry, %invoke.cont3.i @@ -49979,7 +49998,7 @@ if.else.i.i: ; preds = %if.then to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %if.else.i.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE7MatchesES3_.exit common.resume: ; preds = %ehcleanup22, %lpad.i.i @@ -49989,7 +50008,7 @@ common.resume: ; preds = %ehcleanup22, %lpad. lpad.i.i: ; preds = %if.else.i.i %2 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE7MatchesES3_.exit: ; preds = %if.then, %invoke.cont.i.i @@ -50026,13 +50045,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup22 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -50053,12 +50072,12 @@ invoke.cont4: ; preds = %invoke.cont to label %invoke.cont5 unwind label %lpad invoke.cont5: ; preds = %invoke.cont4 - %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 %cmp.i16 = icmp ult i64 %call.i, 21 br i1 %cmp.i16, label %if.then7, label %_ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %invoke.cont5 - %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #27 + %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #28 %cmp2.i = icmp eq i64 %call1.i, -1 br i1 %cmp2.i, label %if.then7, label %if.end16 @@ -50091,7 +50110,7 @@ if.end16: ; preds = %invoke.cont12, %_ZN invoke.cont18: ; preds = %if.end16 %14 = load ptr, ptr %stream_.i, align 8 - %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 + %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 %cmp.i22 = icmp eq ptr %14, null %or.cond.not.i = or i1 %cmp.i22, %call.i21 br i1 %or.cond.not.i, label %invoke.cont21, label %if.then.i @@ -50105,27 +50124,27 @@ call1.i23.noexc: ; preds = %if.then.i to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont18, %call1.i23.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %return lpad20: ; preds = %call1.i23.noexc, %if.then.i %15 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad9 %.pn = phi { ptr, i32 } [ %15, %lpad20 ], [ %13, %lpad9 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup22 ehcleanup22: ; preds = %lpad, %lpad.i, %ehcleanup %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %12, %lpad ], [ %6, %lpad.i ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %common.resume return: ; preds = %invoke.cont21, %_ZNK7testing8internal11MatcherBaseIRKiE7MatchesES3_.exit @@ -50146,7 +50165,7 @@ entry: br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE12_M_check_lenEmPKc.exit if.then.i: ; preds = %entry - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE12_M_check_lenEmPKc.exit: ; preds = %entry @@ -50165,7 +50184,7 @@ _ZNKSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_ _ZNSt16allocator_traitsISaIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEEEE8allocateERS9_m.exit.i: ; preds = %_ZNKSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE12_M_check_lenEmPKc.exit %mul.i.i.i = mul nuw nsw i64 %cond.i, 24 - %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #29 + %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #30 br label %invoke.cont invoke.cont: ; preds = %_ZNSt16allocator_traitsISaIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEEEE8allocateERS9_m.exit.i, %_ZNKSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE12_M_check_lenEmPKc.exit @@ -50264,7 +50283,7 @@ for.body.i.i.i: ; preds = %invoke.cont14, %for %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.body.i.i.i ], [ %1, %invoke.cont14 ] %vtable.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i, align 8 %14 = load ptr, ptr %vtable.i.i.i.i, align 8 - tail call void %14(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #27 + tail call void %14(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #28 %incdec.ptr.i.i.i = getelementptr inbounds %"class.testing::Matcher.420", ptr %__first.addr.04.i.i.i, i64 1 %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %0 br i1 %cmp.not.i.i.i, label %_ZSt8_DestroyIPN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEES8_EvT_SA_RSaIT0_E.exit, label %for.body.i.i.i, !llvm.loop !959 @@ -50274,7 +50293,7 @@ _ZSt8_DestroyIPN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEES8_Ev br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE13_M_deallocateEPS8_m.exit, label %if.then.i39 if.then.i39: ; preds = %_ZSt8_DestroyIPN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEES8_EvT_SA_RSaIT0_E.exit - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE13_M_deallocateEPS8_m.exit _ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE13_M_deallocateEPS8_m.exit: ; preds = %_ZSt8_DestroyIPN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEES8_EvT_SA_RSaIT0_E.exit, %if.then.i39 @@ -50297,7 +50316,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1029) tail call void @llvm.experimental.noalias.scope.decl(metadata !1032) tail call void @llvm.experimental.noalias.scope.decl(metadata !1035) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1038 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1038 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1038 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1039) @@ -50313,7 +50332,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1038 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1038 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1038 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1038 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -50375,7 +50394,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -50385,7 +50404,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -50400,7 +50419,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1056) tail call void @llvm.experimental.noalias.scope.decl(metadata !1059) tail call void @llvm.experimental.noalias.scope.decl(metadata !1062) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1065 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1065 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1065 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1066) @@ -50416,7 +50435,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1065 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1065 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1065 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1065 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -50478,7 +50497,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -50488,7 +50507,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -50501,7 +50520,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1083) tail call void @llvm.experimental.noalias.scope.decl(metadata !1086) tail call void @llvm.experimental.noalias.scope.decl(metadata !1089) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1092 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1092 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1092 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1093) @@ -50517,7 +50536,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1092 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1092 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1092 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1092 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -50577,7 +50596,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -50586,7 +50605,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -50605,7 +50624,7 @@ for.body.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.420", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !959 @@ -50620,7 +50639,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -50642,7 +50661,7 @@ for.body.i.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #28 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.420", ptr %__first.addr.04.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i.i, label %invoke.contthread-pre-split.i.i, label %for.body.i.i.i.i.i, !llvm.loop !959 @@ -50657,11 +50676,11 @@ invoke.cont.i.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEED2Ev.exit _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -50706,7 +50725,7 @@ if.else.i: ; preds = %if.then5 to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE10DescribeToEPSo.exit common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54, %lpad.body, %lpad.i24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i43, %lpad.i @@ -50716,7 +50735,7 @@ common.resume: ; preds = %_ZNKSt14default_del lpad.i: ; preds = %if.else.i %4 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE10DescribeToEPSo.exit: ; preds = %if.then5, %invoke.cont.i @@ -50763,7 +50782,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8ElementsEm.exit lpad.i24: ; preds = %invoke.cont2.i, %invoke.cont.i25, %if.else8 @@ -50777,7 +50796,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %14, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %common.resume _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8ElementsEm.exit: ; preds = %invoke.cont4.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i @@ -50793,11 +50812,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorISt10unique_ptrIiSt14def lpad.i29: ; preds = %.noexc %16 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i27) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i27) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i27) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i27) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i27) %call13 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i28, ptr noundef nonnull @.str.385) to label %invoke.cont12 unwind label %lpad @@ -50811,7 +50830,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %17, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %18 = load ptr, ptr %vfn.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -50841,13 +50860,13 @@ if.else.i41: ; preds = %for.body to label %invoke.cont.i44 unwind label %lpad.i43 invoke.cont.i44: ; preds = %if.else.i41 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i37) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i37) #28 br label %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE10DescribeToEPSo.exit46 lpad.i43: ; preds = %if.else.i41 %23 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i37) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i37) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE10DescribeToEPSo.exit46: ; preds = %for.body, %invoke.cont.i44 @@ -50891,7 +50910,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i55 = load ptr, ptr %29, align 8 %vfn.i.i.i56 = getelementptr inbounds ptr, ptr %vtable.i.i.i55, i64 1 %30 = load ptr, ptr %vfn.i.i.i56, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE10DescribeToEPSo.exit46, %if.then23 @@ -50957,7 +50976,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8ElementsEm.exit lpad.i: ; preds = %invoke.cont2.i, %invoke.cont.i, %if.end @@ -50971,7 +50990,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %9, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %common.resume common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i36, %lpad.body, %lpad.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i27 @@ -50991,11 +51010,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorISt10unique_ptrIiSt14def lpad.i16: ; preds = %.noexc %11 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i15) %call7 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i, ptr noundef nonnull @.str.393) to label %invoke.cont6 unwind label %lpad @@ -51009,7 +51028,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont6, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -51039,13 +51058,13 @@ if.else.i: ; preds = %for.body to label %invoke.cont.i28 unwind label %lpad.i27 invoke.cont.i28: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #28 br label %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE18DescribeNegationToEPSo.exit lpad.i27: ; preds = %if.else.i %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE18DescribeNegationToEPSo.exit: ; preds = %for.body, %invoke.cont.i28 @@ -51089,7 +51108,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i37 = load ptr, ptr %24, align 8 %vfn.i.i.i38 = getelementptr inbounds ptr, ptr %vtable.i.i.i37, i64 1 %25 = load ptr, ptr %vfn.i.i.i38, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #27 + call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE18DescribeNegationToEPSo.exit, %if.then16 @@ -51129,7 +51148,7 @@ entry: br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i if.then.i.i: ; preds = %entry - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #31 unreachable _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i: ; preds = %entry @@ -51143,7 +51162,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %sub.ptr.div.i.i, 5 - %call5.i.i.i.i2.i.i18 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i2.i.i18 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 store ptr %call5.i.i.i.i2.i.i18, ptr %explanations, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %explanations, i64 0, i32 1 store ptr %call5.i.i.i.i2.i.i18, ptr %_M_finish.i.i.i, align 8 @@ -51155,7 +51174,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i %__cur.06.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %call5.i.i.i.i2.i.i18, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] %__n.addr.05.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %sub.ptr.div.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #28 %dec.i.i.i.i.i = add i64 %__n.addr.05.i.i.i.i.i, -1 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.06.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq i64 %dec.i.i.i.i.i, 0 @@ -51219,7 +51238,7 @@ if.else.i.us: ; preds = %call.i.noexc.us to label %invoke.cont.i.us unwind label %lpad.i.split.us invoke.cont.i.us: ; preds = %.noexc30.us - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i.us if.end.i.us: ; preds = %invoke.cont.i.us, %call.i.noexc.us @@ -51235,10 +51254,10 @@ invoke.cont15.us: ; preds = %if.end.i.us invoke.cont19.us: ; preds = %invoke.cont15.us %add.ptr.i34.us = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge192.us - %call21.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i34.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + %call21.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i34.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br i1 %call5.i31.us, label %for.inc.us, label %for.end for.inc.us: ; preds = %invoke.cont19.us @@ -51261,7 +51280,7 @@ lpad14.split.us: ; preds = %invoke.cont15.us, % lpad.i.split.us: ; preds = %.noexc30.us %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %lpad14.body land.rhs: ; preds = %land.rhs.lr.ph, %for.inc @@ -51306,7 +51325,7 @@ lpad10.loopexit.split-lp.loopexit.split-lp: ; preds = %call1.i.noexc, %if. lpad14.body: ; preds = %lpad.i.split.us, %lpad14.split.us %eh.lpad-body = phi { ptr, i32 } [ %13, %lpad14.split.us ], [ %14, %lpad.i.split.us ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup call.i1.i.noexc: ; preds = %for.body @@ -51321,13 +51340,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc40 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc40 %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -51423,7 +51442,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %34, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %35 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %35(ptr noundef nonnull align 8 dereferenceable(128) %34) #27 + call void %35(ptr noundef nonnull align 8 dereferenceable(128) %34) #28 br label %invoke.cont51 lpad.i57: ; preds = %invoke.cont2.i, %invoke.cont.i58, %.noexc60 @@ -51437,7 +51456,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %37, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %38 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #27 + call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #28 br label %ehcleanup invoke.cont51: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont4.i @@ -51458,11 +51477,11 @@ if.then.i66: ; preds = %invoke.cont51 lpad.i.i67: ; preds = %.noexc69 %40 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i63) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i63) #28 br label %lpad52.body _ZN7testinglsERSoRKNS_7MessageE.exit.i: ; preds = %.noexc69 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i63) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i63) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i63) br label %invoke.cont53 @@ -51475,7 +51494,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %41, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %42 = load ptr, ptr %vfn.i.i.i, align 8 - call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #27 + call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont53, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -51497,7 +51516,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i73 = load ptr, ptr %44, align 8 %vfn.i.i.i74 = getelementptr inbounds ptr, ptr %vtable.i.i.i73, i64 1 %45 = load ptr, ptr %vfn.i.i.i74, align 8 - call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #27 + call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #28 br label %_ZN7testing7MessageD2Ev.exit75 _ZN7testing7MessageD2Ev.exit75: ; preds = %lpad52.body, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 @@ -51544,7 +51563,7 @@ if.then.i90.invoke.cont65_crit_edge: ; preds = %if.then.i90 invoke.cont65: ; preds = %if.then.i90.invoke.cont65_crit_edge, %if.then60, %invoke.cont61, %invoke.cont63 %47 = phi ptr [ %.pre, %if.then.i90.invoke.cont65_crit_edge ], [ null, %if.then60 ], [ null, %invoke.cont61 ], [ null, %invoke.cont63 ] %add.ptr.i94 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge.lcssa - %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i94) #27 + %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i94) #28 %cmp.i96 = icmp eq ptr %47, null %or.cond.not.i = or i1 %cmp.i96, %call.i br i1 %or.cond.not.i, label %cleanup, label %if.then.i97 @@ -51566,7 +51585,7 @@ for.body77: ; preds = %if.end71, %for.inc9 %reason_printed.0226 = phi i8 [ %reason_printed.1, %for.inc96 ], [ 0, %if.end71 ] %storemerge15225 = phi i64 [ %inc97, %for.inc96 ], [ 0, %if.end71 ] %add.ptr.i107 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge15225 - %call80 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i107) #27 + %call80 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i107) #28 br i1 %call80, label %for.inc96, label %if.then81 if.then81: ; preds = %for.body77 @@ -51641,7 +51660,7 @@ cleanup: ; preds = %for.inc96, %invoke. for.body.i.i.i.i: ; preds = %cleanup, %for.body.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %52, %cleanup ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i142 = icmp eq ptr %incdec.ptr.i.i.i.i, %53 br i1 %cmp.not.i.i.i.i142, label %invoke.cont.i143, label %for.body.i.i.i.i, !llvm.loop !557 @@ -51651,7 +51670,7 @@ invoke.cont.i143: ; preds = %for.body.i.i.i.i, % br i1 %tobool.not.i.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i143 - call void @_ZdlPv(ptr noundef nonnull %52) #28 + call void @_ZdlPv(ptr noundef nonnull %52) #29 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i143, %if.then.i.i.i @@ -51659,7 +51678,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.ex ehcleanup: ; preds = %lpad10.loopexit, %lpad10.loopexit.split-lp.loopexit.split, %lpad10.loopexit.split-lp.loopexit.split.us, %lpad10.loopexit.split-lp.loopexit.split-lp, %lpad.i57, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i.i, %_ZN7testing7MessageD2Ev.exit75, %lpad14.body %.pn = phi { ptr, i32 } [ %eh.lpad-body70, %_ZN7testing7MessageD2Ev.exit75 ], [ %eh.lpad-body, %lpad14.body ], [ %18, %lpad.i.i ], [ %36, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i ], [ %36, %lpad.i57 ], [ %lpad.loopexit, %lpad10.loopexit ], [ %lpad.loopexit.split-lp174, %lpad10.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit173, %lpad10.loopexit.split-lp.loopexit.split ], [ %lpad.loopexit173.us, %lpad10.loopexit.split-lp.loopexit.split.us ] - call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #27 + call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #28 resume { ptr, i32 } %.pn } @@ -51672,14 +51691,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130MutatingTest_MoveBackward_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130MutatingTest_MoveBackward_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -51690,22 +51709,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130MutatingTest_MoveBackward_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130MutatingTest_MoveBackward_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -51718,14 +51737,14 @@ entry: %ref.tmp62 = alloca %"class.testing::Message", align 8 %ref.tmp65 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call.i4 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i4 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i unwind label %lpad _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i: ; preds = %entry store i32 1, ptr %call.i4, align 4, !noalias !1117 %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %actual, i64 0, i32 1 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %actual, i64 0, i32 2 - %call5.i.i.i.i98 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i98 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit70 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i @@ -51735,12 +51754,12 @@ _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit: ; preds = %_ZNSt16allocator_ store ptr %call5.i.i.i.i98, ptr %actual, align 8 store ptr %incdec.ptr.i95, ptr %_M_finish.i, align 8 store ptr %incdec.ptr.i95, ptr %_M_end_of_storage.i, align 8 - %call.i6 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i6 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i116 unwind label %lpad _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i116: ; preds = %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit store i32 2, ptr %call.i6, align 4, !noalias !1120 - %call5.i.i.i.i147 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i147 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %for.body.i.i.i.i122.preheader unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit73 for.body.i.i.i.i122.preheader: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i116 @@ -51753,17 +51772,17 @@ for.body.i.i.i.i122.preheader: ; preds = %_ZNSt16allocator_tr store i64 %2, ptr %call5.i.i.i.i147, align 8, !alias.scope !1123, !noalias !1126 store ptr null, ptr %call5.i.i.i.i98, align 8, !alias.scope !1126, !noalias !1123 %incdec.ptr.i130 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i147, i64 2 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i98) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i98) #29 store ptr %call5.i.i.i.i147, ptr %actual, align 8 store ptr %incdec.ptr.i130, ptr %_M_finish.i, align 8 %add.ptr19.i143 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i147, i64 2 store ptr %add.ptr19.i143, ptr %_M_end_of_storage.i, align 8 - %call.i21 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i21 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %invoke.cont13 unwind label %lpad invoke.cont13: ; preds = %for.body.i.i.i.i122.preheader store i32 3, ptr %call.i21, align 4, !noalias !1128 - %call5.i.i.i.i197 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call5.i.i.i.i197 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i168 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit76 _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i168: ; preds = %invoke.cont13 @@ -51788,12 +51807,12 @@ for.body.i.i.i.i172: ; preds = %_ZNSt12_Vector_base .noexc31: ; preds = %for.body.i.i.i.i172 %incdec.ptr.i180 = getelementptr %"class.std::unique_ptr.388", ptr %__cur.07.i.i.i.i173, i64 2 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i147) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i147) #29 store ptr %call5.i.i.i.i197, ptr %actual, align 8 store ptr %incdec.ptr.i180, ptr %_M_finish.i, align 8 %add.ptr19.i193 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i197, i64 4 store ptr %add.ptr19.i193, ptr %_M_end_of_storage.i, align 8 - %call.i36 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i36 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %invoke.cont19 unwind label %lpad invoke.cont19: ; preds = %.noexc31 @@ -51819,7 +51838,7 @@ if.else.i44: ; preds = %invoke.cont19 br i1 %cmp.i.i203, label %if.then.i.i244, label %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i204 if.then.i.i244: ; preds = %if.else.i44 - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc245 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79 .noexc245: ; preds = %if.then.i.i244 @@ -51838,7 +51857,7 @@ _ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc. _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i216: ; preds = %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i204 %mul.i.i.i.i217 = shl nuw nsw i64 %cond.i.i211, 3 - %call5.i.i.i.i247 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i217) #29 + %call5.i.i.i.i247 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i217) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i218 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79 _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i218: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i216, %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i204 @@ -51869,7 +51888,7 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_ br i1 %tobool.not.i.i240, label %.noexc46, label %if.then.i20.i241 if.then.i20.i241: ; preds = %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i238 - tail call void @_ZdlPv(ptr noundef nonnull %8) #28 + tail call void @_ZdlPv(ptr noundef nonnull %8) #29 br label %.noexc46 .noexc46: ; preds = %if.then.i20.i241, %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i238 @@ -51881,7 +51900,7 @@ if.then.i20.i241: ; preds = %_ZNSt6vectorISt10un _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit50: ; preds = %if.then.i41, %.noexc46 %11 = phi ptr [ %incdec.ptr.i42, %if.then.i41 ], [ %incdec.ptr.i230, %.noexc46 ] - %call.i51 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i51 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %invoke.cont25 unwind label %lpad invoke.cont25: ; preds = %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit50 @@ -51908,7 +51927,7 @@ if.else.i59: ; preds = %invoke.cont25 br i1 %cmp.i.i253, label %if.then.i.i294, label %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i254 if.then.i.i294: ; preds = %if.else.i59 - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc295 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82 .noexc295: ; preds = %if.then.i.i294 @@ -51927,7 +51946,7 @@ _ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc. _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i266: ; preds = %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i254 %mul.i.i.i.i267 = shl nuw nsw i64 %cond.i.i261, 3 - %call5.i.i.i.i297 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i267) #29 + %call5.i.i.i.i297 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i267) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i268 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82 _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i268: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i266, %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i254 @@ -51958,7 +51977,7 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_ br i1 %tobool.not.i.i290, label %.noexc61, label %if.then.i20.i291 if.then.i20.i291: ; preds = %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i288 - tail call void @_ZdlPv(ptr noundef nonnull %15) #28 + tail call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %.noexc61 .noexc61: ; preds = %if.then.i20.i291, %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i288 @@ -51988,7 +52007,7 @@ for.body.i.i.i.i.i.i: ; preds = %_ZNSt10unique_ptrIi br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZNSt10unique_ptrIiSt14default_deleteIiEEaSEOS2_.exit.i.i.i.i.i.i, label %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i.i.i.i.i _ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %21) #28 + tail call void @_ZdlPv(ptr noundef nonnull %21) #29 br label %_ZNSt10unique_ptrIiSt14default_deleteIiEEaSEOS2_.exit.i.i.i.i.i.i _ZNSt10unique_ptrIiSt14default_deleteIiEEaSEOS2_.exit.i.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i @@ -52019,31 +52038,31 @@ lpad: ; preds = %_ZNSt10unique_ptrIi _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit70: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i %25 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i4) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i4) #29 br label %ehcleanup73 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit73: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i116 %26 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i6) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i6) #29 br label %ehcleanup73 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit76: ; preds = %invoke.cont13 %27 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i21) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i21) #29 br label %ehcleanup73 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i216, %if.then.i.i244 %28 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i36) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i36) #29 br label %ehcleanup73 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i266, %if.then.i.i294 %29 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i51) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i51) #29 br label %ehcleanup73 if.else: ; preds = %invoke.cont60 @@ -52057,7 +52076,7 @@ invoke.cont64: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont67, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont64 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #28 br label %invoke.cont67 invoke.cont67: ; preds = %cond.true.i.i, %invoke.cont64 @@ -52070,7 +52089,7 @@ invoke.cont69: ; preds = %invoke.cont67 to label %invoke.cont71 unwind label %lpad70 invoke.cont71: ; preds = %invoke.cont69 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65) #28 %31 = load ptr, ptr %ref.tmp62, align 8 %cmp.not.i.i = icmp eq ptr %31, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -52079,7 +52098,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %31, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %32 = load ptr, ptr %vfn.i.i.i, align 8 - call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #27 + call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont71, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -52099,7 +52118,7 @@ lpad66: ; preds = %invoke.cont67 lpad70: ; preds = %invoke.cont69 %35 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65) #28 br label %ehcleanup ehcleanup: ; preds = %lpad70, %lpad66 @@ -52112,7 +52131,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i85 = load ptr, ptr %36, align 8 %vfn.i.i.i86 = getelementptr inbounds ptr, ptr %vtable.i.i.i85, i64 1 %37 = load ptr, ptr %vfn.i.i.i86, align 8 - call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #27 + call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #28 br label %_ZN7testing7MessageD2Ev.exit87 _ZN7testing7MessageD2Ev.exit87: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84 @@ -52126,8 +52145,8 @@ if.end: ; preds = %invoke.cont60, %_ZN br i1 %cmp.not.i.i88, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #27 - call void @_ZdlPv(ptr noundef nonnull %38) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #28 + call void @_ZdlPv(ptr noundef nonnull %38) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -52144,7 +52163,7 @@ for.body.i.i.i.i: ; preds = %_ZN7testing15Assert br i1 %cmp.not.i.i.i.i.i.i, label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i, label %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i _ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %41) #28 + call void @_ZdlPv(ptr noundef nonnull %41) #29 br label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i _ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i: ; preds = %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i, %for.body.i.i.i.i @@ -52163,7 +52182,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %42) #28 + call void @_ZdlPv(ptr noundef nonnull %42) #29 br label %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -52171,12 +52190,12 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit: ; preds = ehcleanup72: ; preds = %_ZN7testing7MessageD2Ev.exit87, %lpad63 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit87 ], [ %33, %lpad63 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup73 ehcleanup73: ; preds = %ehcleanup72, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit76, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit73, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit70, %lpad %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup72 ], [ %24, %lpad ], [ %29, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit82 ], [ %28, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit79 ], [ %27, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit76 ], [ %26, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit73 ], [ %25, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit70 ] - call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %actual) #27 + call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %actual) #28 resume { ptr, i32 } %.pn.pn.pn } @@ -52217,13 +52236,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -52286,13 +52305,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -52346,7 +52365,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -52378,7 +52397,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -52392,7 +52411,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -52401,28 +52420,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -52437,23 +52456,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -52487,7 +52506,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -52495,7 +52514,7 @@ _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -52505,7 +52524,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEE %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::PolymorphicMatcher, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher>, testing::internal::CastAndAppendTransform &>, std::back_insert_iterator &>>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.460", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE11_M_allocateEm.exit.i.i @@ -52521,7 +52540,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -52537,7 +52556,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.416", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE9GetVTableINSB_11ValuePolicyIPKNS_16MatcherInterfaceISA_EELb1EEEEEPKNSB_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -52556,7 +52575,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.420", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !959 @@ -52571,7 +52590,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -52585,12 +52604,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -52604,12 +52623,12 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1159) tail call void @llvm.experimental.noalias.scope.decl(metadata !1162) tail call void @llvm.experimental.noalias.scope.decl(metadata !1165) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1168 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1168 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing18PolymorphicMatcherINS_8internal13IsNullMatcherEE15MonomorphicImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1168 %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1168 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1168 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1168 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1168 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %0 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -52671,7 +52690,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 - call void @__clang_call_terminate(ptr %12) #31 + call void @__clang_call_terminate(ptr %12) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -52681,7 +52700,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %13 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %13 } @@ -52695,12 +52714,12 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1175) tail call void @llvm.experimental.noalias.scope.decl(metadata !1178) tail call void @llvm.experimental.noalias.scope.decl(metadata !1181) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1184 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1184 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing18PolymorphicMatcherINS_8internal13IsNullMatcherEE15MonomorphicImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1184 %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1184 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1184 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1184 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1184 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %0 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -52762,7 +52781,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 - call void @__clang_call_terminate(ptr %12) #31 + call void @__clang_call_terminate(ptr %12) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -52772,7 +52791,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %13 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %13 } @@ -52787,7 +52806,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1191) tail call void @llvm.experimental.noalias.scope.decl(metadata !1194) tail call void @llvm.experimental.noalias.scope.decl(metadata !1197) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1200 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1200 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1200 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1201) @@ -52803,7 +52822,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1200 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1200 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1200 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1200 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -52865,7 +52884,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -52875,7 +52894,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -52890,7 +52909,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1218) tail call void @llvm.experimental.noalias.scope.decl(metadata !1221) tail call void @llvm.experimental.noalias.scope.decl(metadata !1224) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1227 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1227 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1227 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1228) @@ -52906,7 +52925,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1227 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1227 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1227 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1227 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -52968,7 +52987,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -52978,7 +52997,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -52991,7 +53010,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1245) tail call void @llvm.experimental.noalias.scope.decl(metadata !1248) tail call void @llvm.experimental.noalias.scope.decl(metadata !1251) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1254 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1254 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1254 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1255) @@ -53007,7 +53026,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1254 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1254 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1254 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1254 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -53067,7 +53086,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -53076,7 +53095,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -53089,14 +53108,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_132MutatingTest_MoveWithRvalue_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_132MutatingTest_MoveWithRvalue_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -53107,22 +53126,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_132MutatingTest_MoveWithRvalue_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_132MutatingTest_MoveWithRvalue_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -53182,7 +53201,7 @@ if.else.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %cmp.i.i, label %if.then.i.i, label %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i if.then.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc31 unwind label %lpad2.loopexit.split-lp .noexc31: ; preds = %if.then.i.i @@ -53201,7 +53220,7 @@ _ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc. _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i: ; preds = %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i %mul.i.i.i.i = shl nuw nsw i64 %cond.i.i26, 3 - %call5.i.i.i.i32 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #29 + %call5.i.i.i.i32 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i unwind label %lpad2.loopexit _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i, %_ZNKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE12_M_check_lenEmPKc.exit.i @@ -53233,7 +53252,7 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_ br i1 %tobool.not.i.i, label %.noexc, label %if.then.i20.i if.then.i20.i: ; preds = %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %.noexc .noexc: ; preds = %if.then.i20.i, %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i @@ -53268,7 +53287,7 @@ for.body.i.i.i.i: ; preds = %invoke.cont5, %_ZSt br i1 %cmp.not.i.i.i.i.i.i, label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i, label %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i _ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i _ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i: ; preds = %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i, %for.body.i.i.i.i @@ -53287,7 +53306,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %invoke.cont41, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %invoke.cont41 invoke.cont41: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -53322,7 +53341,7 @@ lpad2.loopexit.split-lp: ; preds = %if.then.i.i lpad2: ; preds = %lpad2.loopexit.split-lp, %lpad2.loopexit %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %lpad2.loopexit ], [ %lpad.loopexit.split-lp, %lpad2.loopexit.split-lp ] - call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 br label %ehcleanup55 if.else: ; preds = %invoke.cont42 @@ -53336,7 +53355,7 @@ invoke.cont46: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont49, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont46 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont49 invoke.cont49: ; preds = %cond.true.i.i, %invoke.cont46 @@ -53349,7 +53368,7 @@ invoke.cont51: ; preds = %invoke.cont49 to label %invoke.cont53 unwind label %lpad52 invoke.cont53: ; preds = %invoke.cont51 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp47) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp47) #28 %18 = load ptr, ptr %ref.tmp44, align 8 %cmp.not.i.i = icmp eq ptr %18, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -53358,7 +53377,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %18, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %19 = load ptr, ptr %vfn.i.i.i, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont53, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -53378,7 +53397,7 @@ lpad48: ; preds = %invoke.cont49 lpad52: ; preds = %invoke.cont51 %22 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp47) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp47) #28 br label %ehcleanup ehcleanup: ; preds = %lpad52, %lpad48 @@ -53391,7 +53410,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i7 = load ptr, ptr %23, align 8 %vfn.i.i.i8 = getelementptr inbounds ptr, ptr %vtable.i.i.i7, i64 1 %24 = load ptr, ptr %vfn.i.i.i8, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %_ZN7testing7MessageD2Ev.exit9 _ZN7testing7MessageD2Ev.exit9: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i6 @@ -53405,8 +53424,8 @@ if.end: ; preds = %invoke.cont42, %_ZN br i1 %cmp.not.i.i10, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #27 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -53424,7 +53443,7 @@ for.body.i.i.i.i13: ; preds = %_ZN7testing15Assert br i1 %cmp.not.i.i.i.i.i.i15, label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i17, label %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i16 _ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i16: ; preds = %for.body.i.i.i.i13 - call void @_ZdlPv(ptr noundef nonnull %28) #28 + call void @_ZdlPv(ptr noundef nonnull %28) #29 br label %_ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i17 _ZSt8_DestroyISt10unique_ptrIiSt14default_deleteIiEEEvPT_.exit.i.i.i.i17: ; preds = %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i.i16, %for.body.i.i.i.i13 @@ -53443,7 +53462,7 @@ invoke.cont.i22: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i23, label %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit25, label %if.then.i.i.i24 if.then.i.i.i24: ; preds = %invoke.cont.i22 - call void @_ZdlPv(ptr noundef nonnull %29) #28 + call void @_ZdlPv(ptr noundef nonnull %29) #29 br label %_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit25 _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit25: ; preds = %invoke.cont.i22, %if.then.i.i.i24 @@ -53451,12 +53470,12 @@ _ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev.exit25: ; preds ehcleanup54: ; preds = %_ZN7testing7MessageD2Ev.exit9, %lpad45 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit9 ], [ %20, %lpad45 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup55 ehcleanup55: ; preds = %ehcleanup54, %lpad2, %lpad %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup54 ], [ %16, %lpad ], [ %lpad.phi, %lpad2 ] - call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %dest) #27 + call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %dest) #28 resume { ptr, i32 } %.pn.pn.pn } @@ -53464,14 +53483,14 @@ ehcleanup55: ; preds = %ehcleanup54, %lpad2 define internal fastcc void @"_ZZN12_GLOBAL__N_132MutatingTest_MoveWithRvalue_Test8TestBodyEvENK3$_0clEv"(ptr noalias align 8 %agg.result) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.result, i8 0, i64 24, i1 false) - %call.i2 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i2 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i unwind label %lpad _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i: ; preds = %entry store i32 1, ptr %call.i2, align 4, !noalias !1271 %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %agg.result, i64 0, i32 1 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %agg.result, i64 0, i32 2 - %call5.i.i.i.i46 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i46 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit36 _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i @@ -53481,12 +53500,12 @@ _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit: ; preds = %_ZNSt16allocator_ store ptr %call5.i.i.i.i46, ptr %agg.result, align 8 store ptr %incdec.ptr.i43, ptr %_M_finish.i, align 8 store ptr %incdec.ptr.i43, ptr %_M_end_of_storage.i, align 8 - %call.i4 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i4 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i64 unwind label %lpad _ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i64: ; preds = %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit store i32 2, ptr %call.i4, align 4, !noalias !1274 - %call5.i.i.i.i95 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i95 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %for.body.i.i.i.i70.preheader unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit39 for.body.i.i.i.i70.preheader: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i64 @@ -53499,17 +53518,17 @@ for.body.i.i.i.i70.preheader: ; preds = %_ZNSt16allocator_tr store i64 %2, ptr %call5.i.i.i.i95, align 8, !alias.scope !1277, !noalias !1280 store ptr null, ptr %call5.i.i.i.i46, align 8, !alias.scope !1280, !noalias !1277 %incdec.ptr.i78 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i95, i64 2 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i46) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i46) #29 store ptr %call5.i.i.i.i95, ptr %agg.result, align 8 store ptr %incdec.ptr.i78, ptr %_M_finish.i, align 8 %add.ptr19.i91 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i95, i64 2 store ptr %add.ptr19.i91, ptr %_M_end_of_storage.i, align 8 - %call.i19 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call.i19 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %invoke.cont13 unwind label %lpad invoke.cont13: ; preds = %for.body.i.i.i.i70.preheader store i32 3, ptr %call.i19, align 4, !noalias !1282 - %call5.i.i.i.i145 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call5.i.i.i.i145 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %_ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i116 unwind label %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit42 _ZNSt12_Vector_baseISt10unique_ptrIiSt14default_deleteIiEESaIS3_EE11_M_allocateEm.exit.i116: ; preds = %invoke.cont13 @@ -53534,7 +53553,7 @@ for.body.i.i.i.i120: ; preds = %_ZNSt12_Vector_base .noexc29: ; preds = %for.body.i.i.i.i120 %incdec.ptr.i128 = getelementptr %"class.std::unique_ptr.388", ptr %__cur.07.i.i.i.i121, i64 2 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i95) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i95) #29 store ptr %call5.i.i.i.i145, ptr %agg.result, align 8 store ptr %incdec.ptr.i128, ptr %_M_finish.i, align 8 %add.ptr19.i141 = getelementptr inbounds %"class.std::unique_ptr.388", ptr %call5.i.i.i.i145, i64 4 @@ -53549,24 +53568,24 @@ lpad: ; preds = %for.body.i.i.i.i70. _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit36: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i %6 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i2) #29 br label %ehcleanup _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit39: ; preds = %_ZNSt16allocator_traitsISaISt10unique_ptrIiSt14default_deleteIiEEEE8allocateERS4_m.exit.i.i64 %7 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i4) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i4) #29 br label %ehcleanup _ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit42: ; preds = %invoke.cont13 %8 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i19) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call.i19) #29 br label %ehcleanup ehcleanup: ; preds = %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit42, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit39, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit36, %lpad %.pn = phi { ptr, i32 } [ %8, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit42 ], [ %5, %lpad ], [ %7, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit39 ], [ %6, %_ZNSt10unique_ptrIiSt14default_deleteIiEED2Ev.exit36 ] - tail call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %agg.result) #27 + tail call void @_ZNSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %agg.result) #28 resume { ptr, i32 } %.pn } @@ -53607,13 +53626,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -53676,13 +53695,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -53736,7 +53755,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -53768,7 +53787,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -53782,7 +53801,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -53791,28 +53810,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -53827,23 +53846,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -53877,7 +53896,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -53885,7 +53904,7 @@ _ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -53895,7 +53914,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEE %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher, testing::internal::PointeeMatcher>, testing::internal::CastAndAppendTransform &>, std::back_insert_iterator &>>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.460", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(144) ptr @_Znwm(i64 noundef 144) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(144) ptr @_Znwm(i64 noundef 144) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EE11_M_allocateEm.exit.i.i @@ -53911,7 +53930,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -53927,7 +53946,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.416", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorISt10unique_ptrIiSt14default_deleteIiEESaIS6_EEE9GetVTableINSB_11ValuePolicyIPKNS_16MatcherInterfaceISA_EELb1EEEEEPKNSB_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -53946,7 +53965,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.420", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !959 @@ -53961,7 +53980,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -53975,12 +53994,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -53995,7 +54014,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1296) tail call void @llvm.experimental.noalias.scope.decl(metadata !1299) tail call void @llvm.experimental.noalias.scope.decl(metadata !1302) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1305 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1305 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1305 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1306) @@ -54011,7 +54030,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1305 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1305 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1305 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1305 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -54073,7 +54092,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -54083,7 +54102,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -54098,7 +54117,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1323) tail call void @llvm.experimental.noalias.scope.decl(metadata !1326) tail call void @llvm.experimental.noalias.scope.decl(metadata !1329) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1332 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1332 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1332 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1333) @@ -54114,7 +54133,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1332 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1332 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1332 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1332 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -54176,7 +54195,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -54186,7 +54205,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -54201,7 +54220,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1350) tail call void @llvm.experimental.noalias.scope.decl(metadata !1353) tail call void @llvm.experimental.noalias.scope.decl(metadata !1356) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1359 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1359 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1359 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1360) @@ -54217,7 +54236,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1359 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1359 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1359 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1359 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -54279,7 +54298,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -54289,7 +54308,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -54304,7 +54323,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1377) tail call void @llvm.experimental.noalias.scope.decl(metadata !1380) tail call void @llvm.experimental.noalias.scope.decl(metadata !1383) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1386 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1386 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1386 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1387) @@ -54320,7 +54339,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1386 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1386 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1386 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1386 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -54382,7 +54401,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -54392,7 +54411,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -54407,7 +54426,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1404) tail call void @llvm.experimental.noalias.scope.decl(metadata !1407) tail call void @llvm.experimental.noalias.scope.decl(metadata !1410) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1413 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1413 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1413 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1414) @@ -54423,7 +54442,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1413 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1413 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1413 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1413 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -54485,7 +54504,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -54495,7 +54514,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -54508,7 +54527,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1431) tail call void @llvm.experimental.noalias.scope.decl(metadata !1434) tail call void @llvm.experimental.noalias.scope.decl(metadata !1437) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1440 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1440 store ptr getelementptr inbounds ({ [7 x ptr] }, ptr @_ZTVN7testing8internal14PointeeMatcherIiE4ImplIRKSt10unique_ptrIiSt14default_deleteIiEEEE, i64 0, inrange i32 0, i64 2), ptr %call.i.i.i.i.i, align 8, !noalias !1440 %matcher_.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointeeMatcher::Impl", ptr %call.i.i.i.i.i, i64 0, i32 1 tail call void @llvm.experimental.noalias.scope.decl(metadata !1441) @@ -54524,7 +54543,7 @@ entry: %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.421", ptr %ref.tmp, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1440 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1440 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1440 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1440 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload.425", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %1 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -54584,7 +54603,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i4 %12 = landingpad { ptr, i32 } catch ptr null %13 = extractvalue { ptr, i32 } %12, 0 - call void @__clang_call_terminate(ptr %13) #31 + call void @__clang_call_terminate(ptr %13) #32 unreachable _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds = %invoke.cont.thread, %invoke.cont, %_ZNK7testing8internal11MatcherBaseIRKSt10unique_ptrIiSt14default_deleteIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i4 @@ -54593,7 +54612,7 @@ _ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev.exit: ; preds lpad: ; preds = %if.else.i.i.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKSt10unique_ptrIiSt14default_deleteIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 resume { ptr, i32 } %14 } @@ -54606,14 +54625,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_SwapRanges_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_SwapRanges_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -54624,22 +54643,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_SwapRanges_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_SwapRanges_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -54672,9 +54691,9 @@ entry: %ref.tmp148 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.354", align 4 %ref.tmp159 = alloca %"class.testing::Message", align 8 %ref.tmp162 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store ptr %call5.i.i.i.i2.i, ptr %odds, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %odds, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 2, ptr %call5.i.i.i.i2.i, align 4 @@ -54685,7 +54704,7 @@ entry: %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %odds, i64 0, i32 1 store ptr %add.ptr.i1.i, ptr %_M_finish.i.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %evens, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i21 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i21 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %invoke.cont14 unwind label %lpad.i22 lpad.i22: ; preds = %entry @@ -54695,7 +54714,7 @@ lpad.i22: ; preds = %entry invoke.cont14: ; preds = %entry store ptr %call5.i.i.i.i2.i21, ptr %evens, align 8 - %add.ptr.i1.i26 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i21, i64 3 + %add.ptr.i1.i26 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i21, i64 12 %_M_end_of_storage.i.i27 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %evens, i64 0, i32 2 store ptr %add.ptr.i1.i26, ptr %_M_end_of_storage.i.i27, align 8 store i32 1, ptr %call5.i.i.i.i2.i21, align 4 @@ -54703,8 +54722,8 @@ invoke.cont14: ; preds = %entry store i32 3, ptr %ref.tmp5.sroa.2.0.call5.i.i.i.i2.i21.sroa_idx, align 4 %ref.tmp5.sroa.3.0.call5.i.i.i.i2.i21.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i21, i64 8 store i32 5, ptr %ref.tmp5.sroa.3.0.call5.i.i.i.i2.i21.sroa_idx, align 4 - %_M_finish.i.i28 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %evens, i64 0, i32 1 - store ptr %add.ptr.i1.i26, ptr %_M_finish.i.i28, align 8 + %_M_finish.i.i29 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %evens, i64 0, i32 1 + store ptr %add.ptr.i1.i26, ptr %_M_finish.i.i29, align 8 br label %for.body.i for.body.i: ; preds = %invoke.cont14, %for.body.i @@ -54721,10 +54740,10 @@ for.body.i: ; preds = %invoke.cont14, %for invoke.cont23: ; preds = %for.body.i store i32 5, ptr %ref.tmp17, align 4 - %agg.tmp1831.sroa.4.0.ref.tmp17.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp17, i64 4 - store i32 3, ptr %agg.tmp1831.sroa.4.0.ref.tmp17.sroa_idx, align 4 - %agg.tmp1831.sroa.5.0.ref.tmp17.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp17, i64 8 - store i32 1, ptr %agg.tmp1831.sroa.5.0.ref.tmp17.sroa_idx, align 4 + %agg.tmp1832.sroa.4.0.ref.tmp17.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp17, i64 4 + store i32 3, ptr %agg.tmp1832.sroa.4.0.ref.tmp17.sroa_idx, align 4 + %agg.tmp1832.sroa.5.0.ref.tmp17.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp17, i64 8 + store i32 1, ptr %agg.tmp1832.sroa.5.0.ref.tmp17.sroa_idx, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp17, ptr noundef nonnull @.str.415, ptr noundef nonnull align 8 dereferenceable(24) %odds) to label %invoke.cont24 unwind label %lpad15 @@ -54750,7 +54769,7 @@ invoke.cont28: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont31, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont28 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #28 br label %invoke.cont31 invoke.cont31: ; preds = %cond.true.i.i, %invoke.cont28 @@ -54763,7 +54782,7 @@ invoke.cont33: ; preds = %invoke.cont31 to label %invoke.cont35 unwind label %lpad34 invoke.cont35: ; preds = %invoke.cont33 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 %7 = load ptr, ptr %ref.tmp26, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -54772,7 +54791,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont35, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -54792,56 +54811,56 @@ lpad30: ; preds = %invoke.cont31 lpad34: ; preds = %invoke.cont33 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) #28 br label %ehcleanup ehcleanup: ; preds = %lpad34, %lpad30 %.pn = phi { ptr, i32 } [ %11, %lpad34 ], [ %10, %lpad30 ] %12 = load ptr, ptr %ref.tmp26, align 8 - %cmp.not.i.i32 = icmp eq ptr %12, null - br i1 %cmp.not.i.i32, label %_ZN7testing7MessageD2Ev.exit36, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i33 + %cmp.not.i.i33 = icmp eq ptr %12, null + br i1 %cmp.not.i.i33, label %_ZN7testing7MessageD2Ev.exit37, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i33: ; preds = %ehcleanup - %vtable.i.i.i34 = load ptr, ptr %12, align 8 - %vfn.i.i.i35 = getelementptr inbounds ptr, ptr %vtable.i.i.i34, i64 1 - %13 = load ptr, ptr %vfn.i.i.i35, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 - br label %_ZN7testing7MessageD2Ev.exit36 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34: ; preds = %ehcleanup + %vtable.i.i.i35 = load ptr, ptr %12, align 8 + %vfn.i.i.i36 = getelementptr inbounds ptr, ptr %vtable.i.i.i35, i64 1 + %13 = load ptr, ptr %vfn.i.i.i36, align 8 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 + br label %_ZN7testing7MessageD2Ev.exit37 -_ZN7testing7MessageD2Ev.exit36: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i33 +_ZN7testing7MessageD2Ev.exit37: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 store ptr null, ptr %ref.tmp26, align 8 br label %ehcleanup36 if.end: ; preds = %invoke.cont24, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %14 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i37 = icmp eq ptr %14, null - br i1 %cmp.not.i.i37, label %invoke.cont44, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i38 = icmp eq ptr %14, null + br i1 %cmp.not.i.i38, label %invoke.cont44, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 - call void @_ZdlPv(ptr noundef nonnull %14) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 + call void @_ZdlPv(ptr noundef nonnull %14) #29 br label %invoke.cont44 invoke.cont44: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store i32 6, ptr %ref.tmp38, align 4 - %agg.tmp3940.sroa.4.0.ref.tmp38.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp38, i64 4 - store i32 4, ptr %agg.tmp3940.sroa.4.0.ref.tmp38.sroa_idx, align 4 - %agg.tmp3940.sroa.5.0.ref.tmp38.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp38, i64 8 - store i32 2, ptr %agg.tmp3940.sroa.5.0.ref.tmp38.sroa_idx, align 4 + %agg.tmp3941.sroa.4.0.ref.tmp38.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp38, i64 4 + store i32 4, ptr %agg.tmp3941.sroa.4.0.ref.tmp38.sroa_idx, align 4 + %agg.tmp3941.sroa.5.0.ref.tmp38.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp38, i64 8 + store i32 2, ptr %agg.tmp3941.sroa.5.0.ref.tmp38.sroa_idx, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar37, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp38, ptr noundef nonnull @.str.416, ptr noundef nonnull align 8 dereferenceable(24) %evens) to label %invoke.cont45 unwind label %lpad15 invoke.cont45: ; preds = %invoke.cont44 %15 = load i8, ptr %gtest_ar37, align 8 %16 = and i8 %15, 1 - %tobool.i41.not = icmp eq i8 %16, 0 - br i1 %tobool.i41.not, label %if.else48, label %if.end61 + %tobool.i42.not = icmp eq i8 %16, 0 + br i1 %tobool.i42.not, label %if.else48, label %if.end61 -ehcleanup36: ; preds = %_ZN7testing7MessageD2Ev.exit36, %lpad27 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit36 ], [ %9, %lpad27 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup36: ; preds = %_ZN7testing7MessageD2Ev.exit37, %lpad27 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit37 ], [ %9, %lpad27 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup173 if.else48: ; preds = %invoke.cont45 @@ -54849,18 +54868,18 @@ if.else48: ; preds = %invoke.cont45 to label %invoke.cont51 unwind label %lpad50 invoke.cont51: ; preds = %if.else48 - %message_.i.i42 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar37, i64 0, i32 1 - %17 = load ptr, ptr %message_.i.i42, align 8 - %cmp.i.i.not.i.i43 = icmp eq ptr %17, null - br i1 %cmp.i.i.not.i.i43, label %invoke.cont54, label %cond.true.i.i44 + %message_.i.i43 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar37, i64 0, i32 1 + %17 = load ptr, ptr %message_.i.i43, align 8 + %cmp.i.i.not.i.i44 = icmp eq ptr %17, null + br i1 %cmp.i.i.not.i.i44, label %invoke.cont54, label %cond.true.i.i45 -cond.true.i.i44: ; preds = %invoke.cont51 - %call4.i.i45 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 +cond.true.i.i45: ; preds = %invoke.cont51 + %call4.i.i46 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont54 -invoke.cont54: ; preds = %cond.true.i.i44, %invoke.cont51 - %cond.i.i46 = phi ptr [ %call4.i.i45, %cond.true.i.i44 ], [ @.str.255, %invoke.cont51 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 753, ptr noundef %cond.i.i46) +invoke.cont54: ; preds = %cond.true.i.i45, %invoke.cont51 + %cond.i.i47 = phi ptr [ %call4.i.i46, %cond.true.i.i45 ], [ @.str.255, %invoke.cont51 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 753, ptr noundef %cond.i.i47) to label %invoke.cont56 unwind label %lpad53 invoke.cont56: ; preds = %invoke.cont54 @@ -54868,19 +54887,19 @@ invoke.cont56: ; preds = %invoke.cont54 to label %invoke.cont58 unwind label %lpad57 invoke.cont58: ; preds = %invoke.cont56 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 %18 = load ptr, ptr %ref.tmp49, align 8 - %cmp.not.i.i48 = icmp eq ptr %18, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i49 = icmp eq ptr %18, null + br i1 %cmp.not.i.i49, label %_ZN7testing7MessageD2Ev.exit53, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %invoke.cont58 - %vtable.i.i.i50 = load ptr, ptr %18, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %19 = load ptr, ptr %vfn.i.i.i51, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 - br label %_ZN7testing7MessageD2Ev.exit52 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50: ; preds = %invoke.cont58 + %vtable.i.i.i51 = load ptr, ptr %18, align 8 + %vfn.i.i.i52 = getelementptr inbounds ptr, ptr %vtable.i.i.i51, i64 1 + %19 = load ptr, ptr %vfn.i.i.i52, align 8 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 + br label %_ZN7testing7MessageD2Ev.exit53 -_ZN7testing7MessageD2Ev.exit52: ; preds = %invoke.cont58, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit53: ; preds = %invoke.cont58, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i50 store ptr null, ptr %ref.tmp49, align 8 br label %if.end61 @@ -54897,65 +54916,65 @@ lpad53: ; preds = %invoke.cont54 lpad57: ; preds = %invoke.cont56 %22 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) #28 br label %ehcleanup60 ehcleanup60: ; preds = %lpad57, %lpad53 %.pn3 = phi { ptr, i32 } [ %22, %lpad57 ], [ %21, %lpad53 ] %23 = load ptr, ptr %ref.tmp49, align 8 - %cmp.not.i.i53 = icmp eq ptr %23, null - br i1 %cmp.not.i.i53, label %_ZN7testing7MessageD2Ev.exit57, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 + %cmp.not.i.i54 = icmp eq ptr %23, null + br i1 %cmp.not.i.i54, label %_ZN7testing7MessageD2Ev.exit58, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54: ; preds = %ehcleanup60 - %vtable.i.i.i55 = load ptr, ptr %23, align 8 - %vfn.i.i.i56 = getelementptr inbounds ptr, ptr %vtable.i.i.i55, i64 1 - %24 = load ptr, ptr %vfn.i.i.i56, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 - br label %_ZN7testing7MessageD2Ev.exit57 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %ehcleanup60 + %vtable.i.i.i56 = load ptr, ptr %23, align 8 + %vfn.i.i.i57 = getelementptr inbounds ptr, ptr %vtable.i.i.i56, i64 1 + %24 = load ptr, ptr %vfn.i.i.i57, align 8 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 + br label %_ZN7testing7MessageD2Ev.exit58 -_ZN7testing7MessageD2Ev.exit57: ; preds = %ehcleanup60, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 +_ZN7testing7MessageD2Ev.exit58: ; preds = %ehcleanup60, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 store ptr null, ptr %ref.tmp49, align 8 br label %ehcleanup62 -if.end61: ; preds = %invoke.cont45, %_ZN7testing7MessageD2Ev.exit52 - %message_.i58 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar37, i64 0, i32 1 - %25 = load ptr, ptr %message_.i58, align 8 - %cmp.not.i.i59 = icmp eq ptr %25, null - br i1 %cmp.not.i.i59, label %_ZN7testing15AssertionResultD2Ev.exit61, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60 +if.end61: ; preds = %invoke.cont45, %_ZN7testing7MessageD2Ev.exit53 + %message_.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar37, i64 0, i32 1 + %25 = load ptr, ptr %message_.i59, align 8 + %cmp.not.i.i60 = icmp eq ptr %25, null + br i1 %cmp.not.i.i60, label %_ZN7testing15AssertionResultD2Ev.exit62, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i61 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60: ; preds = %if.end61 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #27 - call void @_ZdlPv(ptr noundef nonnull %25) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit61 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i61: ; preds = %if.end61 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit62 -_ZN7testing15AssertionResultD2Ev.exit61: ; preds = %if.end61, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60 - store ptr null, ptr %message_.i58, align 8 +_ZN7testing15AssertionResultD2Ev.exit62: ; preds = %if.end61, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i61 + store ptr null, ptr %message_.i59, align 8 %26 = load ptr, ptr %_M_finish.i.i, align 8 %incdec.ptr.i = getelementptr inbounds i32, ptr %26, i64 -1 store ptr %incdec.ptr.i, ptr %_M_finish.i.i, align 8 %27 = load ptr, ptr %odds, align 8 %28 = load ptr, ptr %evens, align 8 - %29 = load ptr, ptr %_M_finish.i.i28, align 8 - %cmp.i11.i64 = icmp ne ptr %27, %incdec.ptr.i - %cmp.i412.i65 = icmp ne ptr %28, %29 - %or.cond13.i66 = select i1 %cmp.i11.i64, i1 %cmp.i412.i65, i1 false - br i1 %or.cond13.i66, label %for.body.i68, label %invoke.cont73 - -for.body.i68: ; preds = %_ZN7testing15AssertionResultD2Ev.exit61, %for.body.i68 - %retval.sroa.0.015.i69 = phi ptr [ %incdec.ptr.i5.i72, %for.body.i68 ], [ %28, %_ZN7testing15AssertionResultD2Ev.exit61 ] - %first1.sroa.0.014.i70 = phi ptr [ %incdec.ptr.i.i71, %for.body.i68 ], [ %27, %_ZN7testing15AssertionResultD2Ev.exit61 ] - %30 = load i32, ptr %first1.sroa.0.014.i70, align 4 - %31 = load i32, ptr %retval.sroa.0.015.i69, align 4 - store i32 %31, ptr %first1.sroa.0.014.i70, align 4 - store i32 %30, ptr %retval.sroa.0.015.i69, align 4 - %incdec.ptr.i.i71 = getelementptr inbounds i32, ptr %first1.sroa.0.014.i70, i64 1 - %incdec.ptr.i5.i72 = getelementptr inbounds i32, ptr %retval.sroa.0.015.i69, i64 1 - %cmp.i.i73 = icmp ne ptr %incdec.ptr.i.i71, %incdec.ptr.i - %cmp.i4.i74 = icmp ne ptr %incdec.ptr.i5.i72, %29 - %or.cond.i75 = select i1 %cmp.i.i73, i1 %cmp.i4.i74, i1 false - br i1 %or.cond.i75, label %for.body.i68, label %invoke.cont73, !llvm.loop !1452 - -invoke.cont73: ; preds = %for.body.i68, %_ZN7testing15AssertionResultD2Ev.exit61 + %29 = load ptr, ptr %_M_finish.i.i29, align 8 + %cmp.i11.i65 = icmp ne ptr %27, %incdec.ptr.i + %cmp.i412.i66 = icmp ne ptr %28, %29 + %or.cond13.i67 = select i1 %cmp.i11.i65, i1 %cmp.i412.i66, i1 false + br i1 %or.cond13.i67, label %for.body.i69, label %invoke.cont73 + +for.body.i69: ; preds = %_ZN7testing15AssertionResultD2Ev.exit62, %for.body.i69 + %retval.sroa.0.015.i70 = phi ptr [ %incdec.ptr.i5.i73, %for.body.i69 ], [ %28, %_ZN7testing15AssertionResultD2Ev.exit62 ] + %first1.sroa.0.014.i71 = phi ptr [ %incdec.ptr.i.i72, %for.body.i69 ], [ %27, %_ZN7testing15AssertionResultD2Ev.exit62 ] + %30 = load i32, ptr %first1.sroa.0.014.i71, align 4 + %31 = load i32, ptr %retval.sroa.0.015.i70, align 4 + store i32 %31, ptr %first1.sroa.0.014.i71, align 4 + store i32 %30, ptr %retval.sroa.0.015.i70, align 4 + %incdec.ptr.i.i72 = getelementptr inbounds i32, ptr %first1.sroa.0.014.i71, i64 1 + %incdec.ptr.i5.i73 = getelementptr inbounds i32, ptr %retval.sroa.0.015.i70, i64 1 + %cmp.i.i74 = icmp ne ptr %incdec.ptr.i.i72, %incdec.ptr.i + %cmp.i4.i75 = icmp ne ptr %incdec.ptr.i5.i73, %29 + %or.cond.i76 = select i1 %cmp.i.i74, i1 %cmp.i4.i75, i1 false + br i1 %or.cond.i76, label %for.body.i69, label %invoke.cont73, !llvm.loop !1452 + +invoke.cont73: ; preds = %for.body.i69, %_ZN7testing15AssertionResultD2Ev.exit62 store i64 8589934596, ptr %ref.tmp68, align 8, !alias.scope !1453 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar67, ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp68, ptr noundef nonnull @.str.415, ptr noundef nonnull align 8 dereferenceable(24) %odds) to label %invoke.cont74 unwind label %lpad15 @@ -54963,12 +54982,12 @@ invoke.cont73: ; preds = %for.body.i68, %_ZN7 invoke.cont74: ; preds = %invoke.cont73 %32 = load i8, ptr %gtest_ar67, align 8 %33 = and i8 %32, 1 - %tobool.i78.not = icmp eq i8 %33, 0 - br i1 %tobool.i78.not, label %if.else77, label %if.end90 + %tobool.i79.not = icmp eq i8 %33, 0 + br i1 %tobool.i79.not, label %if.else77, label %if.end90 -ehcleanup62: ; preds = %_ZN7testing7MessageD2Ev.exit57, %lpad50 - %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit57 ], [ %20, %lpad50 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar37) #27 +ehcleanup62: ; preds = %_ZN7testing7MessageD2Ev.exit58, %lpad50 + %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit58 ], [ %20, %lpad50 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar37) #28 br label %ehcleanup173 if.else77: ; preds = %invoke.cont74 @@ -54976,18 +54995,18 @@ if.else77: ; preds = %invoke.cont74 to label %invoke.cont80 unwind label %lpad79 invoke.cont80: ; preds = %if.else77 - %message_.i.i79 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar67, i64 0, i32 1 - %34 = load ptr, ptr %message_.i.i79, align 8 - %cmp.i.i.not.i.i80 = icmp eq ptr %34, null - br i1 %cmp.i.i.not.i.i80, label %invoke.cont83, label %cond.true.i.i81 + %message_.i.i80 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar67, i64 0, i32 1 + %34 = load ptr, ptr %message_.i.i80, align 8 + %cmp.i.i.not.i.i81 = icmp eq ptr %34, null + br i1 %cmp.i.i.not.i.i81, label %invoke.cont83, label %cond.true.i.i82 -cond.true.i.i81: ; preds = %invoke.cont80 - %call4.i.i82 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #27 +cond.true.i.i82: ; preds = %invoke.cont80 + %call4.i.i83 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 br label %invoke.cont83 -invoke.cont83: ; preds = %cond.true.i.i81, %invoke.cont80 - %cond.i.i83 = phi ptr [ %call4.i.i82, %cond.true.i.i81 ], [ @.str.255, %invoke.cont80 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 757, ptr noundef %cond.i.i83) +invoke.cont83: ; preds = %cond.true.i.i82, %invoke.cont80 + %cond.i.i84 = phi ptr [ %call4.i.i83, %cond.true.i.i82 ], [ @.str.255, %invoke.cont80 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 757, ptr noundef %cond.i.i84) to label %invoke.cont85 unwind label %lpad82 invoke.cont85: ; preds = %invoke.cont83 @@ -54995,19 +55014,19 @@ invoke.cont85: ; preds = %invoke.cont83 to label %invoke.cont87 unwind label %lpad86 invoke.cont87: ; preds = %invoke.cont85 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81) #28 %35 = load ptr, ptr %ref.tmp78, align 8 - %cmp.not.i.i85 = icmp eq ptr %35, null - br i1 %cmp.not.i.i85, label %_ZN7testing7MessageD2Ev.exit89, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 + %cmp.not.i.i86 = icmp eq ptr %35, null + br i1 %cmp.not.i.i86, label %_ZN7testing7MessageD2Ev.exit90, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86: ; preds = %invoke.cont87 - %vtable.i.i.i87 = load ptr, ptr %35, align 8 - %vfn.i.i.i88 = getelementptr inbounds ptr, ptr %vtable.i.i.i87, i64 1 - %36 = load ptr, ptr %vfn.i.i.i88, align 8 - call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #27 - br label %_ZN7testing7MessageD2Ev.exit89 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87: ; preds = %invoke.cont87 + %vtable.i.i.i88 = load ptr, ptr %35, align 8 + %vfn.i.i.i89 = getelementptr inbounds ptr, ptr %vtable.i.i.i88, i64 1 + %36 = load ptr, ptr %vfn.i.i.i89, align 8 + call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 + br label %_ZN7testing7MessageD2Ev.exit90 -_ZN7testing7MessageD2Ev.exit89: ; preds = %invoke.cont87, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 +_ZN7testing7MessageD2Ev.exit90: ; preds = %invoke.cont87, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87 store ptr null, ptr %ref.tmp78, align 8 br label %if.end90 @@ -55024,56 +55043,56 @@ lpad82: ; preds = %invoke.cont83 lpad86: ; preds = %invoke.cont85 %39 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81) #28 br label %ehcleanup89 ehcleanup89: ; preds = %lpad86, %lpad82 %.pn6 = phi { ptr, i32 } [ %39, %lpad86 ], [ %38, %lpad82 ] %40 = load ptr, ptr %ref.tmp78, align 8 - %cmp.not.i.i90 = icmp eq ptr %40, null - br i1 %cmp.not.i.i90, label %_ZN7testing7MessageD2Ev.exit94, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 + %cmp.not.i.i91 = icmp eq ptr %40, null + br i1 %cmp.not.i.i91, label %_ZN7testing7MessageD2Ev.exit95, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91: ; preds = %ehcleanup89 - %vtable.i.i.i92 = load ptr, ptr %40, align 8 - %vfn.i.i.i93 = getelementptr inbounds ptr, ptr %vtable.i.i.i92, i64 1 - %41 = load ptr, ptr %vfn.i.i.i93, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 - br label %_ZN7testing7MessageD2Ev.exit94 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92: ; preds = %ehcleanup89 + %vtable.i.i.i93 = load ptr, ptr %40, align 8 + %vfn.i.i.i94 = getelementptr inbounds ptr, ptr %vtable.i.i.i93, i64 1 + %41 = load ptr, ptr %vfn.i.i.i94, align 8 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 + br label %_ZN7testing7MessageD2Ev.exit95 -_ZN7testing7MessageD2Ev.exit94: ; preds = %ehcleanup89, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 +_ZN7testing7MessageD2Ev.exit95: ; preds = %ehcleanup89, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 store ptr null, ptr %ref.tmp78, align 8 br label %ehcleanup91 -if.end90: ; preds = %invoke.cont74, %_ZN7testing7MessageD2Ev.exit89 - %message_.i95 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar67, i64 0, i32 1 - %42 = load ptr, ptr %message_.i95, align 8 - %cmp.not.i.i96 = icmp eq ptr %42, null - br i1 %cmp.not.i.i96, label %invoke.cont99, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 +if.end90: ; preds = %invoke.cont74, %_ZN7testing7MessageD2Ev.exit90 + %message_.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar67, i64 0, i32 1 + %42 = load ptr, ptr %message_.i96, align 8 + %cmp.not.i.i97 = icmp eq ptr %42, null + br i1 %cmp.not.i.i97, label %invoke.cont99, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97: ; preds = %if.end90 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #27 - call void @_ZdlPv(ptr noundef nonnull %42) #28 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98: ; preds = %if.end90 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 + call void @_ZdlPv(ptr noundef nonnull %42) #29 br label %invoke.cont99 -invoke.cont99: ; preds = %if.end90, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 - store ptr null, ptr %message_.i95, align 8 +invoke.cont99: ; preds = %if.end90, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 + store ptr null, ptr %message_.i96, align 8 store i32 6, ptr %ref.tmp93, align 4 - %agg.tmp94101.sroa.4.0.ref.tmp93.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp93, i64 4 - store i32 3, ptr %agg.tmp94101.sroa.4.0.ref.tmp93.sroa_idx, align 4 - %agg.tmp94101.sroa.5.0.ref.tmp93.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp93, i64 8 - store i32 1, ptr %agg.tmp94101.sroa.5.0.ref.tmp93.sroa_idx, align 4 + %agg.tmp94102.sroa.4.0.ref.tmp93.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp93, i64 4 + store i32 3, ptr %agg.tmp94102.sroa.4.0.ref.tmp93.sroa_idx, align 4 + %agg.tmp94102.sroa.5.0.ref.tmp93.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp93, i64 8 + store i32 1, ptr %agg.tmp94102.sroa.5.0.ref.tmp93.sroa_idx, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar92, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp93, ptr noundef nonnull @.str.416, ptr noundef nonnull align 8 dereferenceable(24) %evens) to label %invoke.cont100 unwind label %lpad15 invoke.cont100: ; preds = %invoke.cont99 %43 = load i8, ptr %gtest_ar92, align 8 %44 = and i8 %43, 1 - %tobool.i102.not = icmp eq i8 %44, 0 - br i1 %tobool.i102.not, label %if.else103, label %if.end116 + %tobool.i103.not = icmp eq i8 %44, 0 + br i1 %tobool.i103.not, label %if.else103, label %if.end116 -ehcleanup91: ; preds = %_ZN7testing7MessageD2Ev.exit94, %lpad79 - %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit94 ], [ %37, %lpad79 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar67) #27 +ehcleanup91: ; preds = %_ZN7testing7MessageD2Ev.exit95, %lpad79 + %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit95 ], [ %37, %lpad79 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar67) #28 br label %ehcleanup173 if.else103: ; preds = %invoke.cont100 @@ -55081,18 +55100,18 @@ if.else103: ; preds = %invoke.cont100 to label %invoke.cont106 unwind label %lpad105 invoke.cont106: ; preds = %if.else103 - %message_.i.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 - %45 = load ptr, ptr %message_.i.i103, align 8 - %cmp.i.i.not.i.i104 = icmp eq ptr %45, null - br i1 %cmp.i.i.not.i.i104, label %invoke.cont109, label %cond.true.i.i105 + %message_.i.i104 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 + %45 = load ptr, ptr %message_.i.i104, align 8 + %cmp.i.i.not.i.i105 = icmp eq ptr %45, null + br i1 %cmp.i.i.not.i.i105, label %invoke.cont109, label %cond.true.i.i106 -cond.true.i.i105: ; preds = %invoke.cont106 - %call4.i.i106 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %45) #27 +cond.true.i.i106: ; preds = %invoke.cont106 + %call4.i.i107 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %45) #28 br label %invoke.cont109 -invoke.cont109: ; preds = %cond.true.i.i105, %invoke.cont106 - %cond.i.i107 = phi ptr [ %call4.i.i106, %cond.true.i.i105 ], [ @.str.255, %invoke.cont106 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 758, ptr noundef %cond.i.i107) +invoke.cont109: ; preds = %cond.true.i.i106, %invoke.cont106 + %cond.i.i108 = phi ptr [ %call4.i.i107, %cond.true.i.i106 ], [ @.str.255, %invoke.cont106 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 758, ptr noundef %cond.i.i108) to label %invoke.cont111 unwind label %lpad108 invoke.cont111: ; preds = %invoke.cont109 @@ -55100,19 +55119,19 @@ invoke.cont111: ; preds = %invoke.cont109 to label %invoke.cont113 unwind label %lpad112 invoke.cont113: ; preds = %invoke.cont111 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107) #28 %46 = load ptr, ptr %ref.tmp104, align 8 - %cmp.not.i.i109 = icmp eq ptr %46, null - br i1 %cmp.not.i.i109, label %_ZN7testing7MessageD2Ev.exit113, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i110 + %cmp.not.i.i110 = icmp eq ptr %46, null + br i1 %cmp.not.i.i110, label %_ZN7testing7MessageD2Ev.exit114, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i110: ; preds = %invoke.cont113 - %vtable.i.i.i111 = load ptr, ptr %46, align 8 - %vfn.i.i.i112 = getelementptr inbounds ptr, ptr %vtable.i.i.i111, i64 1 - %47 = load ptr, ptr %vfn.i.i.i112, align 8 - call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #27 - br label %_ZN7testing7MessageD2Ev.exit113 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111: ; preds = %invoke.cont113 + %vtable.i.i.i112 = load ptr, ptr %46, align 8 + %vfn.i.i.i113 = getelementptr inbounds ptr, ptr %vtable.i.i.i112, i64 1 + %47 = load ptr, ptr %vfn.i.i.i113, align 8 + call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #28 + br label %_ZN7testing7MessageD2Ev.exit114 -_ZN7testing7MessageD2Ev.exit113: ; preds = %invoke.cont113, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i110 +_ZN7testing7MessageD2Ev.exit114: ; preds = %invoke.cont113, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 store ptr null, ptr %ref.tmp104, align 8 br label %if.end116 @@ -55129,63 +55148,63 @@ lpad108: ; preds = %invoke.cont109 lpad112: ; preds = %invoke.cont111 %50 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp107) #28 br label %ehcleanup115 ehcleanup115: ; preds = %lpad112, %lpad108 %.pn9 = phi { ptr, i32 } [ %50, %lpad112 ], [ %49, %lpad108 ] %51 = load ptr, ptr %ref.tmp104, align 8 - %cmp.not.i.i114 = icmp eq ptr %51, null - br i1 %cmp.not.i.i114, label %_ZN7testing7MessageD2Ev.exit118, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 + %cmp.not.i.i115 = icmp eq ptr %51, null + br i1 %cmp.not.i.i115, label %_ZN7testing7MessageD2Ev.exit119, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %ehcleanup115 - %vtable.i.i.i116 = load ptr, ptr %51, align 8 - %vfn.i.i.i117 = getelementptr inbounds ptr, ptr %vtable.i.i.i116, i64 1 - %52 = load ptr, ptr %vfn.i.i.i117, align 8 - call void %52(ptr noundef nonnull align 8 dereferenceable(128) %51) #27 - br label %_ZN7testing7MessageD2Ev.exit118 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116: ; preds = %ehcleanup115 + %vtable.i.i.i117 = load ptr, ptr %51, align 8 + %vfn.i.i.i118 = getelementptr inbounds ptr, ptr %vtable.i.i.i117, i64 1 + %52 = load ptr, ptr %vfn.i.i.i118, align 8 + call void %52(ptr noundef nonnull align 8 dereferenceable(128) %51) #28 + br label %_ZN7testing7MessageD2Ev.exit119 -_ZN7testing7MessageD2Ev.exit118: ; preds = %ehcleanup115, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 +_ZN7testing7MessageD2Ev.exit119: ; preds = %ehcleanup115, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i116 store ptr null, ptr %ref.tmp104, align 8 br label %ehcleanup117 -if.end116: ; preds = %invoke.cont100, %_ZN7testing7MessageD2Ev.exit113 - %message_.i119 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 - %53 = load ptr, ptr %message_.i119, align 8 - %cmp.not.i.i120 = icmp eq ptr %53, null - br i1 %cmp.not.i.i120, label %_ZN7testing15AssertionResultD2Ev.exit122, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121 +if.end116: ; preds = %invoke.cont100, %_ZN7testing7MessageD2Ev.exit114 + %message_.i120 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 + %53 = load ptr, ptr %message_.i120, align 8 + %cmp.not.i.i121 = icmp eq ptr %53, null + br i1 %cmp.not.i.i121, label %_ZN7testing15AssertionResultD2Ev.exit123, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121: ; preds = %if.end116 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #27 - call void @_ZdlPv(ptr noundef nonnull %53) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit122 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122: ; preds = %if.end116 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #28 + call void @_ZdlPv(ptr noundef nonnull %53) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit123 -_ZN7testing15AssertionResultD2Ev.exit122: ; preds = %if.end116, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i121 - store ptr null, ptr %message_.i119, align 8 +_ZN7testing15AssertionResultD2Ev.exit123: ; preds = %if.end116, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 + store ptr null, ptr %message_.i120, align 8 %54 = load ptr, ptr %evens, align 8 - %55 = load ptr, ptr %_M_finish.i.i28, align 8 + %55 = load ptr, ptr %_M_finish.i.i29, align 8 %56 = load ptr, ptr %odds, align 8 %57 = load ptr, ptr %_M_finish.i.i, align 8 - %cmp.i11.i125 = icmp ne ptr %54, %55 - %cmp.i412.i126 = icmp ne ptr %56, %57 - %or.cond13.i127 = select i1 %cmp.i11.i125, i1 %cmp.i412.i126, i1 false - br i1 %or.cond13.i127, label %for.body.i129, label %invoke.cont128 - -for.body.i129: ; preds = %_ZN7testing15AssertionResultD2Ev.exit122, %for.body.i129 - %retval.sroa.0.015.i130 = phi ptr [ %incdec.ptr.i5.i133, %for.body.i129 ], [ %56, %_ZN7testing15AssertionResultD2Ev.exit122 ] - %first1.sroa.0.014.i131 = phi ptr [ %incdec.ptr.i.i132, %for.body.i129 ], [ %54, %_ZN7testing15AssertionResultD2Ev.exit122 ] - %58 = load i32, ptr %first1.sroa.0.014.i131, align 4 - %59 = load i32, ptr %retval.sroa.0.015.i130, align 4 - store i32 %59, ptr %first1.sroa.0.014.i131, align 4 - store i32 %58, ptr %retval.sroa.0.015.i130, align 4 - %incdec.ptr.i.i132 = getelementptr inbounds i32, ptr %first1.sroa.0.014.i131, i64 1 - %incdec.ptr.i5.i133 = getelementptr inbounds i32, ptr %retval.sroa.0.015.i130, i64 1 - %cmp.i.i134 = icmp ne ptr %incdec.ptr.i.i132, %55 - %cmp.i4.i135 = icmp ne ptr %incdec.ptr.i5.i133, %57 - %or.cond.i136 = select i1 %cmp.i.i134, i1 %cmp.i4.i135, i1 false - br i1 %or.cond.i136, label %for.body.i129, label %invoke.cont128, !llvm.loop !1452 - -invoke.cont128: ; preds = %for.body.i129, %_ZN7testing15AssertionResultD2Ev.exit122 + %cmp.i11.i126 = icmp ne ptr %54, %55 + %cmp.i412.i127 = icmp ne ptr %56, %57 + %or.cond13.i128 = select i1 %cmp.i11.i126, i1 %cmp.i412.i127, i1 false + br i1 %or.cond13.i128, label %for.body.i130, label %invoke.cont128 + +for.body.i130: ; preds = %_ZN7testing15AssertionResultD2Ev.exit123, %for.body.i130 + %retval.sroa.0.015.i131 = phi ptr [ %incdec.ptr.i5.i134, %for.body.i130 ], [ %56, %_ZN7testing15AssertionResultD2Ev.exit123 ] + %first1.sroa.0.014.i132 = phi ptr [ %incdec.ptr.i.i133, %for.body.i130 ], [ %54, %_ZN7testing15AssertionResultD2Ev.exit123 ] + %58 = load i32, ptr %first1.sroa.0.014.i132, align 4 + %59 = load i32, ptr %retval.sroa.0.015.i131, align 4 + store i32 %59, ptr %first1.sroa.0.014.i132, align 4 + store i32 %58, ptr %retval.sroa.0.015.i131, align 4 + %incdec.ptr.i.i133 = getelementptr inbounds i32, ptr %first1.sroa.0.014.i132, i64 1 + %incdec.ptr.i5.i134 = getelementptr inbounds i32, ptr %retval.sroa.0.015.i131, i64 1 + %cmp.i.i135 = icmp ne ptr %incdec.ptr.i.i133, %55 + %cmp.i4.i136 = icmp ne ptr %incdec.ptr.i5.i134, %57 + %or.cond.i137 = select i1 %cmp.i.i135, i1 %cmp.i4.i136, i1 false + br i1 %or.cond.i137, label %for.body.i130, label %invoke.cont128, !llvm.loop !1452 + +invoke.cont128: ; preds = %for.body.i130, %_ZN7testing15AssertionResultD2Ev.exit123 store i64 4294967299, ptr %ref.tmp123, align 8, !alias.scope !1456 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar122, ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp123, ptr noundef nonnull @.str.415, ptr noundef nonnull align 8 dereferenceable(24) %odds) to label %invoke.cont129 unwind label %lpad15 @@ -55193,12 +55212,12 @@ invoke.cont128: ; preds = %for.body.i129, %_ZN invoke.cont129: ; preds = %invoke.cont128 %60 = load i8, ptr %gtest_ar122, align 8 %61 = and i8 %60, 1 - %tobool.i143.not = icmp eq i8 %61, 0 - br i1 %tobool.i143.not, label %if.else132, label %if.end145 + %tobool.i144.not = icmp eq i8 %61, 0 + br i1 %tobool.i144.not, label %if.else132, label %if.end145 -ehcleanup117: ; preds = %_ZN7testing7MessageD2Ev.exit118, %lpad105 - %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit118 ], [ %48, %lpad105 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar92) #27 +ehcleanup117: ; preds = %_ZN7testing7MessageD2Ev.exit119, %lpad105 + %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit119 ], [ %48, %lpad105 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar92) #28 br label %ehcleanup173 if.else132: ; preds = %invoke.cont129 @@ -55206,18 +55225,18 @@ if.else132: ; preds = %invoke.cont129 to label %invoke.cont135 unwind label %lpad134 invoke.cont135: ; preds = %if.else132 - %message_.i.i144 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar122, i64 0, i32 1 - %62 = load ptr, ptr %message_.i.i144, align 8 - %cmp.i.i.not.i.i145 = icmp eq ptr %62, null - br i1 %cmp.i.i.not.i.i145, label %invoke.cont138, label %cond.true.i.i146 + %message_.i.i145 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar122, i64 0, i32 1 + %62 = load ptr, ptr %message_.i.i145, align 8 + %cmp.i.i.not.i.i146 = icmp eq ptr %62, null + br i1 %cmp.i.i.not.i.i146, label %invoke.cont138, label %cond.true.i.i147 -cond.true.i.i146: ; preds = %invoke.cont135 - %call4.i.i147 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %62) #27 +cond.true.i.i147: ; preds = %invoke.cont135 + %call4.i.i148 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %62) #28 br label %invoke.cont138 -invoke.cont138: ; preds = %cond.true.i.i146, %invoke.cont135 - %cond.i.i148 = phi ptr [ %call4.i.i147, %cond.true.i.i146 ], [ @.str.255, %invoke.cont135 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 761, ptr noundef %cond.i.i148) +invoke.cont138: ; preds = %cond.true.i.i147, %invoke.cont135 + %cond.i.i149 = phi ptr [ %call4.i.i148, %cond.true.i.i147 ], [ @.str.255, %invoke.cont135 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 761, ptr noundef %cond.i.i149) to label %invoke.cont140 unwind label %lpad137 invoke.cont140: ; preds = %invoke.cont138 @@ -55225,19 +55244,19 @@ invoke.cont140: ; preds = %invoke.cont138 to label %invoke.cont142 unwind label %lpad141 invoke.cont142: ; preds = %invoke.cont140 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136) #28 %63 = load ptr, ptr %ref.tmp133, align 8 - %cmp.not.i.i150 = icmp eq ptr %63, null - br i1 %cmp.not.i.i150, label %_ZN7testing7MessageD2Ev.exit154, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 + %cmp.not.i.i151 = icmp eq ptr %63, null + br i1 %cmp.not.i.i151, label %_ZN7testing7MessageD2Ev.exit155, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151: ; preds = %invoke.cont142 - %vtable.i.i.i152 = load ptr, ptr %63, align 8 - %vfn.i.i.i153 = getelementptr inbounds ptr, ptr %vtable.i.i.i152, i64 1 - %64 = load ptr, ptr %vfn.i.i.i153, align 8 - call void %64(ptr noundef nonnull align 8 dereferenceable(128) %63) #27 - br label %_ZN7testing7MessageD2Ev.exit154 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152: ; preds = %invoke.cont142 + %vtable.i.i.i153 = load ptr, ptr %63, align 8 + %vfn.i.i.i154 = getelementptr inbounds ptr, ptr %vtable.i.i.i153, i64 1 + %64 = load ptr, ptr %vfn.i.i.i154, align 8 + call void %64(ptr noundef nonnull align 8 dereferenceable(128) %63) #28 + br label %_ZN7testing7MessageD2Ev.exit155 -_ZN7testing7MessageD2Ev.exit154: ; preds = %invoke.cont142, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 +_ZN7testing7MessageD2Ev.exit155: ; preds = %invoke.cont142, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 store ptr null, ptr %ref.tmp133, align 8 br label %if.end145 @@ -55254,56 +55273,56 @@ lpad137: ; preds = %invoke.cont138 lpad141: ; preds = %invoke.cont140 %67 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136) #28 br label %ehcleanup144 ehcleanup144: ; preds = %lpad141, %lpad137 %.pn12 = phi { ptr, i32 } [ %67, %lpad141 ], [ %66, %lpad137 ] %68 = load ptr, ptr %ref.tmp133, align 8 - %cmp.not.i.i155 = icmp eq ptr %68, null - br i1 %cmp.not.i.i155, label %_ZN7testing7MessageD2Ev.exit159, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 + %cmp.not.i.i156 = icmp eq ptr %68, null + br i1 %cmp.not.i.i156, label %_ZN7testing7MessageD2Ev.exit160, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156: ; preds = %ehcleanup144 - %vtable.i.i.i157 = load ptr, ptr %68, align 8 - %vfn.i.i.i158 = getelementptr inbounds ptr, ptr %vtable.i.i.i157, i64 1 - %69 = load ptr, ptr %vfn.i.i.i158, align 8 - call void %69(ptr noundef nonnull align 8 dereferenceable(128) %68) #27 - br label %_ZN7testing7MessageD2Ev.exit159 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157: ; preds = %ehcleanup144 + %vtable.i.i.i158 = load ptr, ptr %68, align 8 + %vfn.i.i.i159 = getelementptr inbounds ptr, ptr %vtable.i.i.i158, i64 1 + %69 = load ptr, ptr %vfn.i.i.i159, align 8 + call void %69(ptr noundef nonnull align 8 dereferenceable(128) %68) #28 + br label %_ZN7testing7MessageD2Ev.exit160 -_ZN7testing7MessageD2Ev.exit159: ; preds = %ehcleanup144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 +_ZN7testing7MessageD2Ev.exit160: ; preds = %ehcleanup144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157 store ptr null, ptr %ref.tmp133, align 8 br label %ehcleanup146 -if.end145: ; preds = %invoke.cont129, %_ZN7testing7MessageD2Ev.exit154 - %message_.i160 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar122, i64 0, i32 1 - %70 = load ptr, ptr %message_.i160, align 8 - %cmp.not.i.i161 = icmp eq ptr %70, null - br i1 %cmp.not.i.i161, label %invoke.cont154, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162 +if.end145: ; preds = %invoke.cont129, %_ZN7testing7MessageD2Ev.exit155 + %message_.i161 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar122, i64 0, i32 1 + %70 = load ptr, ptr %message_.i161, align 8 + %cmp.not.i.i162 = icmp eq ptr %70, null + br i1 %cmp.not.i.i162, label %invoke.cont154, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162: ; preds = %if.end145 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #27 - call void @_ZdlPv(ptr noundef nonnull %70) #28 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %if.end145 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #28 + call void @_ZdlPv(ptr noundef nonnull %70) #29 br label %invoke.cont154 -invoke.cont154: ; preds = %if.end145, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162 - store ptr null, ptr %message_.i160, align 8 +invoke.cont154: ; preds = %if.end145, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + store ptr null, ptr %message_.i161, align 8 store i32 6, ptr %ref.tmp148, align 4 - %agg.tmp149166.sroa.4.0.ref.tmp148.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp148, i64 4 - store i32 4, ptr %agg.tmp149166.sroa.4.0.ref.tmp148.sroa_idx, align 4 - %agg.tmp149166.sroa.5.0.ref.tmp148.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp148, i64 8 - store i32 2, ptr %agg.tmp149166.sroa.5.0.ref.tmp148.sroa_idx, align 4 + %agg.tmp149167.sroa.4.0.ref.tmp148.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp148, i64 4 + store i32 4, ptr %agg.tmp149167.sroa.4.0.ref.tmp148.sroa_idx, align 4 + %agg.tmp149167.sroa.5.0.ref.tmp148.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp148, i64 8 + store i32 2, ptr %agg.tmp149167.sroa.5.0.ref.tmp148.sroa_idx, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar147, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp148, ptr noundef nonnull @.str.416, ptr noundef nonnull align 8 dereferenceable(24) %evens) to label %invoke.cont155 unwind label %lpad15 invoke.cont155: ; preds = %invoke.cont154 %71 = load i8, ptr %gtest_ar147, align 8 %72 = and i8 %71, 1 - %tobool.i167.not = icmp eq i8 %72, 0 - br i1 %tobool.i167.not, label %if.else158, label %if.end171 + %tobool.i168.not = icmp eq i8 %72, 0 + br i1 %tobool.i168.not, label %if.else158, label %if.end171 -ehcleanup146: ; preds = %_ZN7testing7MessageD2Ev.exit159, %lpad134 - %.pn12.pn = phi { ptr, i32 } [ %.pn12, %_ZN7testing7MessageD2Ev.exit159 ], [ %65, %lpad134 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar122) #27 +ehcleanup146: ; preds = %_ZN7testing7MessageD2Ev.exit160, %lpad134 + %.pn12.pn = phi { ptr, i32 } [ %.pn12, %_ZN7testing7MessageD2Ev.exit160 ], [ %65, %lpad134 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar122) #28 br label %ehcleanup173 if.else158: ; preds = %invoke.cont155 @@ -55311,18 +55330,18 @@ if.else158: ; preds = %invoke.cont155 to label %invoke.cont161 unwind label %lpad160 invoke.cont161: ; preds = %if.else158 - %message_.i.i168 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar147, i64 0, i32 1 - %73 = load ptr, ptr %message_.i.i168, align 8 - %cmp.i.i.not.i.i169 = icmp eq ptr %73, null - br i1 %cmp.i.i.not.i.i169, label %invoke.cont164, label %cond.true.i.i170 + %message_.i.i169 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar147, i64 0, i32 1 + %73 = load ptr, ptr %message_.i.i169, align 8 + %cmp.i.i.not.i.i170 = icmp eq ptr %73, null + br i1 %cmp.i.i.not.i.i170, label %invoke.cont164, label %cond.true.i.i171 -cond.true.i.i170: ; preds = %invoke.cont161 - %call4.i.i171 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %73) #27 +cond.true.i.i171: ; preds = %invoke.cont161 + %call4.i.i172 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %73) #28 br label %invoke.cont164 -invoke.cont164: ; preds = %cond.true.i.i170, %invoke.cont161 - %cond.i.i172 = phi ptr [ %call4.i.i171, %cond.true.i.i170 ], [ @.str.255, %invoke.cont161 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 762, ptr noundef %cond.i.i172) +invoke.cont164: ; preds = %cond.true.i.i171, %invoke.cont161 + %cond.i.i173 = phi ptr [ %call4.i.i172, %cond.true.i.i171 ], [ @.str.255, %invoke.cont161 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 762, ptr noundef %cond.i.i173) to label %invoke.cont166 unwind label %lpad163 invoke.cont166: ; preds = %invoke.cont164 @@ -55330,19 +55349,19 @@ invoke.cont166: ; preds = %invoke.cont164 to label %invoke.cont168 unwind label %lpad167 invoke.cont168: ; preds = %invoke.cont166 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162) #28 %74 = load ptr, ptr %ref.tmp159, align 8 - %cmp.not.i.i174 = icmp eq ptr %74, null - br i1 %cmp.not.i.i174, label %_ZN7testing7MessageD2Ev.exit178, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 + %cmp.not.i.i175 = icmp eq ptr %74, null + br i1 %cmp.not.i.i175, label %_ZN7testing7MessageD2Ev.exit179, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175: ; preds = %invoke.cont168 - %vtable.i.i.i176 = load ptr, ptr %74, align 8 - %vfn.i.i.i177 = getelementptr inbounds ptr, ptr %vtable.i.i.i176, i64 1 - %75 = load ptr, ptr %vfn.i.i.i177, align 8 - call void %75(ptr noundef nonnull align 8 dereferenceable(128) %74) #27 - br label %_ZN7testing7MessageD2Ev.exit178 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176: ; preds = %invoke.cont168 + %vtable.i.i.i177 = load ptr, ptr %74, align 8 + %vfn.i.i.i178 = getelementptr inbounds ptr, ptr %vtable.i.i.i177, i64 1 + %75 = load ptr, ptr %vfn.i.i.i178, align 8 + call void %75(ptr noundef nonnull align 8 dereferenceable(128) %74) #28 + br label %_ZN7testing7MessageD2Ev.exit179 -_ZN7testing7MessageD2Ev.exit178: ; preds = %invoke.cont168, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 +_ZN7testing7MessageD2Ev.exit179: ; preds = %invoke.cont168, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 store ptr null, ptr %ref.tmp159, align 8 br label %if.end171 @@ -55359,85 +55378,85 @@ lpad163: ; preds = %invoke.cont164 lpad167: ; preds = %invoke.cont166 %78 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162) #28 br label %ehcleanup170 ehcleanup170: ; preds = %lpad167, %lpad163 %.pn15 = phi { ptr, i32 } [ %78, %lpad167 ], [ %77, %lpad163 ] %79 = load ptr, ptr %ref.tmp159, align 8 - %cmp.not.i.i179 = icmp eq ptr %79, null - br i1 %cmp.not.i.i179, label %_ZN7testing7MessageD2Ev.exit183, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 + %cmp.not.i.i180 = icmp eq ptr %79, null + br i1 %cmp.not.i.i180, label %_ZN7testing7MessageD2Ev.exit184, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180: ; preds = %ehcleanup170 - %vtable.i.i.i181 = load ptr, ptr %79, align 8 - %vfn.i.i.i182 = getelementptr inbounds ptr, ptr %vtable.i.i.i181, i64 1 - %80 = load ptr, ptr %vfn.i.i.i182, align 8 - call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #27 - br label %_ZN7testing7MessageD2Ev.exit183 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181: ; preds = %ehcleanup170 + %vtable.i.i.i182 = load ptr, ptr %79, align 8 + %vfn.i.i.i183 = getelementptr inbounds ptr, ptr %vtable.i.i.i182, i64 1 + %80 = load ptr, ptr %vfn.i.i.i183, align 8 + call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #28 + br label %_ZN7testing7MessageD2Ev.exit184 -_ZN7testing7MessageD2Ev.exit183: ; preds = %ehcleanup170, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 +_ZN7testing7MessageD2Ev.exit184: ; preds = %ehcleanup170, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 store ptr null, ptr %ref.tmp159, align 8 br label %ehcleanup172 -if.end171: ; preds = %invoke.cont155, %_ZN7testing7MessageD2Ev.exit178 - %message_.i184 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar147, i64 0, i32 1 - %81 = load ptr, ptr %message_.i184, align 8 - %cmp.not.i.i185 = icmp eq ptr %81, null - br i1 %cmp.not.i.i185, label %_ZN7testing15AssertionResultD2Ev.exit187, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186 +if.end171: ; preds = %invoke.cont155, %_ZN7testing7MessageD2Ev.exit179 + %message_.i185 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar147, i64 0, i32 1 + %81 = load ptr, ptr %message_.i185, align 8 + %cmp.not.i.i186 = icmp eq ptr %81, null + br i1 %cmp.not.i.i186, label %_ZN7testing15AssertionResultD2Ev.exit188, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186: ; preds = %if.end171 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #27 - call void @_ZdlPv(ptr noundef nonnull %81) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit187 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187: ; preds = %if.end171 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #28 + call void @_ZdlPv(ptr noundef nonnull %81) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit188 -_ZN7testing15AssertionResultD2Ev.exit187: ; preds = %if.end171, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186 - store ptr null, ptr %message_.i184, align 8 +_ZN7testing15AssertionResultD2Ev.exit188: ; preds = %if.end171, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 + store ptr null, ptr %message_.i185, align 8 %82 = load ptr, ptr %evens, align 8 - %tobool.not.i.i.i188 = icmp eq ptr %82, null - br i1 %tobool.not.i.i.i188, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i189 = icmp eq ptr %82, null + br i1 %tobool.not.i.i.i189, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit187 - call void @_ZdlPv(ptr noundef nonnull %82) #28 +if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit188 + call void @_ZdlPv(ptr noundef nonnull %82) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit187, %if.then.i.i.i +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit188, %if.then.i.i.i %83 = load ptr, ptr %odds, align 8 - %tobool.not.i.i.i190 = icmp eq ptr %83, null - br i1 %tobool.not.i.i.i190, label %_ZNSt6vectorIiSaIiEED2Ev.exit193, label %if.then.i.i.i191 + %tobool.not.i.i.i191 = icmp eq ptr %83, null + br i1 %tobool.not.i.i.i191, label %_ZNSt6vectorIiSaIiEED2Ev.exit194, label %if.then.i.i.i192 -if.then.i.i.i191: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %83) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit193 +if.then.i.i.i192: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %83) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit194 -_ZNSt6vectorIiSaIiEED2Ev.exit193: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i191 +_ZNSt6vectorIiSaIiEED2Ev.exit194: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i192 ret void -ehcleanup172: ; preds = %_ZN7testing7MessageD2Ev.exit183, %lpad160 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit183 ], [ %76, %lpad160 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar147) #27 +ehcleanup172: ; preds = %_ZN7testing7MessageD2Ev.exit184, %lpad160 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit184 ], [ %76, %lpad160 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar147) #28 br label %ehcleanup173 ehcleanup173: ; preds = %ehcleanup172, %ehcleanup146, %ehcleanup117, %ehcleanup91, %ehcleanup62, %ehcleanup36, %lpad15 %.pn15.pn.pn = phi { ptr, i32 } [ %.pn15.pn, %ehcleanup172 ], [ %5, %lpad15 ], [ %.pn12.pn, %ehcleanup146 ], [ %.pn9.pn, %ehcleanup117 ], [ %.pn6.pn, %ehcleanup91 ], [ %.pn3.pn, %ehcleanup62 ], [ %.pn.pn, %ehcleanup36 ] %84 = load ptr, ptr %evens, align 8 - %tobool.not.i.i.i194 = icmp eq ptr %84, null - br i1 %tobool.not.i.i.i194, label %ehcleanup174, label %if.then.i.i.i195 + %tobool.not.i.i.i195 = icmp eq ptr %84, null + br i1 %tobool.not.i.i.i195, label %ehcleanup174, label %if.then.i.i.i196 -if.then.i.i.i195: ; preds = %ehcleanup173 - call void @_ZdlPv(ptr noundef nonnull %84) #28 +if.then.i.i.i196: ; preds = %ehcleanup173 + call void @_ZdlPv(ptr noundef nonnull %84) #29 br label %ehcleanup174 -ehcleanup174: ; preds = %lpad.i22, %if.then.i.i.i195, %ehcleanup173 - %.pn15.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i22 ], [ %.pn15.pn.pn, %ehcleanup173 ], [ %.pn15.pn.pn, %if.then.i.i.i195 ] +ehcleanup174: ; preds = %lpad.i22, %if.then.i.i.i196, %ehcleanup173 + %.pn15.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i22 ], [ %.pn15.pn.pn, %ehcleanup173 ], [ %.pn15.pn.pn, %if.then.i.i.i196 ] %85 = load ptr, ptr %odds, align 8 - %tobool.not.i.i.i198 = icmp eq ptr %85, null - br i1 %tobool.not.i.i.i198, label %eh.resume, label %if.then.i.i.i199 + %tobool.not.i.i.i199 = icmp eq ptr %85, null + br i1 %tobool.not.i.i.i199, label %eh.resume, label %if.then.i.i.i200 -if.then.i.i.i199: ; preds = %ehcleanup174 - call void @_ZdlPv(ptr noundef nonnull %85) #28 +if.then.i.i.i200: ; preds = %ehcleanup174 + call void @_ZdlPv(ptr noundef nonnull %85) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i199, %ehcleanup174 +eh.resume: ; preds = %if.then.i.i.i200, %ehcleanup174 resume { ptr, i32 } %.pn15.pn.pn.pn } @@ -55450,14 +55469,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130NonMutatingTest_Transform_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130NonMutatingTest_Transform_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #29 + %call = tail call noalias noundef nonnull dereferenceable(136) ptr @_Znwm(i64 noundef 136) #30 invoke fastcc void @_ZN12_GLOBAL__N_115NonMutatingTestC2Ev(ptr noundef nonnull align 8 dereferenceable(132) %call) to label %invoke.cont unwind label %lpad @@ -55468,22 +55487,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130NonMutatingTest_Transform_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130NonMutatingTest_Transform_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN12_GLOBAL__N_115NonMutatingTestD2Ev(ptr noundef nonnull align 8 dereferenceable(132) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -55525,8 +55544,8 @@ entry: %ref.tmp301 = alloca %"class.std::vector", align 8 %ref.tmp320 = alloca %"class.testing::Message", align 8 %ref.tmp323 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 store i32 0, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 2, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 @@ -55561,7 +55580,7 @@ if.else.i.i.i.i.i: ; preds = %for.body.i.i %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i437.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i445.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 @@ -55576,30 +55595,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i: ; preds = %if.else.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i %mul.i.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i.i.i42 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i.i.i42 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i %cond.i10.i.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i ], [ %call5.i.i.i.i.i.i.i.i.i42, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i store i32 %sub.i.i.i, ptr %add.ptr.i.i.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i - %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i, label %if.then.i21.i.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i, label %if.then.i20.i.i.i.i.i.i -if.then.i21.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i.i, ptr %y, align 8 store ptr %incdec.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i.i, i64 %cond.i.i.i.i.i.i.i @@ -55614,7 +55634,7 @@ _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i.i: ; preds = %_ZNSt6v invoke.cont9: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp12, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i43 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i43 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %invoke.cont23 unwind label %lpad.i44 lpad.i44: ; preds = %invoke.cont9 @@ -55624,7 +55644,7 @@ lpad.i44: ; preds = %invoke.cont9 invoke.cont23: ; preds = %invoke.cont9 store ptr %call5.i.i.i.i2.i43, ptr %ref.tmp12, align 8 - %add.ptr.i1.i48 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i43, i64 3 + %add.ptr.i1.i48 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i43, i64 12 %_M_end_of_storage.i.i49 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp12, i64 0, i32 2 store ptr %add.ptr.i1.i48, ptr %_M_end_of_storage.i.i49, align 8 store i32 0, ptr %call5.i.i.i.i2.i43, align 4 @@ -55632,8 +55652,8 @@ invoke.cont23: ; preds = %invoke.cont9 store i32 -2, ptr %ref.tmp14.sroa.2.0.call5.i.i.i.i2.i43.sroa_idx, align 4 %ref.tmp14.sroa.3.0.call5.i.i.i.i2.i43.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i43, i64 8 store i32 -4, ptr %ref.tmp14.sroa.3.0.call5.i.i.i.i2.i43.sroa_idx, align 4 - %_M_finish.i.i50 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp12, i64 0, i32 1 - store ptr %add.ptr.i1.i48, ptr %_M_finish.i.i50, align 8 + %_M_finish.i.i51 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp12, i64 0, i32 1 + store ptr %add.ptr.i1.i48, ptr %_M_finish.i.i51, align 8 %7 = load ptr, ptr %y, align 8, !noalias !1460 %sub.ptr.lhs.cast.i5.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i6.i.i.i = ptrtoint ptr %7 to i64 @@ -55656,11 +55676,11 @@ if.end.i.i: ; preds = %_ZSteqIiSaIiEEbRKSt invoke.cont25: ; preds = %if.then.i.i, %if.end.i.i %8 = load ptr, ptr %ref.tmp12, align 8 - %tobool.not.i.i.i57 = icmp eq ptr %8, null - br i1 %tobool.not.i.i.i57, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i58 = icmp eq ptr %8, null + br i1 %tobool.not.i.i.i58, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont25 - call void @_ZdlPv(ptr noundef nonnull %8) #28 + call void @_ZdlPv(ptr noundef nonnull %8) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont25, %if.then.i.i.i @@ -55669,29 +55689,29 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont25, %if. %tobool.i.not = icmp eq i8 %10, 0 br i1 %tobool.i.not, label %if.else, label %if.end -lpad5.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i542 +lpad5.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i551 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %ehcleanup334 -lpad5.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i329 - %lpad.loopexit766 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i334 + %lpad.loopexit780 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 lpad5.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i - %lpad.loopexit769 = landingpad { ptr, i32 } + %lpad.loopexit783 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i - %lpad.loopexit771 = landingpad { ptr, i32 } + %lpad.loopexit785 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 -lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i437.invoke, %if.then.i.i.i.i.i650.invoke, %if.then.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i637, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i424, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i216, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i - %x.sroa.0.0.ph.ph.ph.ph = phi ptr [ %145, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i637 ], [ %call5.i.i.i.i2.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i424 ], [ %call5.i.i.i.i2.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i216 ], [ %call5.i.i.i.i2.i, %if.then.i ], [ %call5.i.i.i.i2.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ %145, %if.then.i.i.i.i.i650.invoke ], [ %call5.i.i.i.i2.i, %if.then.i.i.i.i.i437.invoke ] - %lpad.loopexit.split-lp772 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i445.invoke, %if.then.i.i.i.i.i662.invoke, %if.then.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i648, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i431, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i219, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i + %x.sroa.0.0.ph.ph.ph.ph = phi ptr [ %145, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i648 ], [ %call5.i.i.i.i2.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i431 ], [ %call5.i.i.i.i2.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i219 ], [ %call5.i.i.i.i2.i, %if.then.i ], [ %call5.i.i.i.i2.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ %145, %if.then.i.i.i.i.i662.invoke ], [ %call5.i.i.i.i2.i, %if.then.i.i.i.i.i445.invoke ] + %lpad.loopexit.split-lp786 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 @@ -55699,11 +55719,11 @@ lpad24: ; preds = %if.end.i.i, %if.the %11 = landingpad { ptr, i32 } cleanup %12 = load ptr, ptr %ref.tmp12, align 8 - %tobool.not.i.i.i59 = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i59, label %ehcleanup334, label %if.then.i.i.i60 + %tobool.not.i.i.i60 = icmp eq ptr %12, null + br i1 %tobool.not.i.i.i60, label %ehcleanup334, label %if.then.i.i.i61 -if.then.i.i.i60: ; preds = %lpad24 - call void @_ZdlPv(ptr noundef nonnull %12) #28 +if.then.i.i.i61: ; preds = %lpad24 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %ehcleanup334 if.else: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit @@ -55717,7 +55737,7 @@ invoke.cont29: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont32, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont29 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 br label %invoke.cont32 invoke.cont32: ; preds = %cond.true.i.i, %invoke.cont29 @@ -55730,7 +55750,7 @@ invoke.cont34: ; preds = %invoke.cont32 to label %invoke.cont36 unwind label %lpad35 invoke.cont36: ; preds = %invoke.cont34 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp30) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp30) #28 %14 = load ptr, ptr %ref.tmp27, align 8 %cmp.not.i.i = icmp eq ptr %14, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -55739,7 +55759,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont36, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -55759,35 +55779,35 @@ lpad31: ; preds = %invoke.cont32 lpad35: ; preds = %invoke.cont34 %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp30) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp30) #28 br label %ehcleanup38 ehcleanup38: ; preds = %lpad35, %lpad31 %.pn2 = phi { ptr, i32 } [ %18, %lpad35 ], [ %17, %lpad31 ] %19 = load ptr, ptr %ref.tmp27, align 8 - %cmp.not.i.i63 = icmp eq ptr %19, null - br i1 %cmp.not.i.i63, label %_ZN7testing7MessageD2Ev.exit67, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64 + %cmp.not.i.i64 = icmp eq ptr %19, null + br i1 %cmp.not.i.i64, label %_ZN7testing7MessageD2Ev.exit68, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64: ; preds = %ehcleanup38 - %vtable.i.i.i65 = load ptr, ptr %19, align 8 - %vfn.i.i.i66 = getelementptr inbounds ptr, ptr %vtable.i.i.i65, i64 1 - %20 = load ptr, ptr %vfn.i.i.i66, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 - br label %_ZN7testing7MessageD2Ev.exit67 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65: ; preds = %ehcleanup38 + %vtable.i.i.i66 = load ptr, ptr %19, align 8 + %vfn.i.i.i67 = getelementptr inbounds ptr, ptr %vtable.i.i.i66, i64 1 + %20 = load ptr, ptr %vfn.i.i.i67, align 8 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 + br label %_ZN7testing7MessageD2Ev.exit68 -_ZN7testing7MessageD2Ev.exit67: ; preds = %ehcleanup38, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64 +_ZN7testing7MessageD2Ev.exit68: ; preds = %ehcleanup38, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 store ptr null, ptr %ref.tmp27, align 8 br label %ehcleanup39 if.end: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %21 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i68 = icmp eq ptr %21, null - br i1 %cmp.not.i.i68, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i69 = icmp eq ptr %21, null + br i1 %cmp.not.i.i69, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #27 - call void @_ZdlPv(ptr noundef nonnull %21) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #28 + call void @_ZdlPv(ptr noundef nonnull %21) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -55795,13 +55815,13 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %22 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 %23 = load ptr, ptr %_M_end_of_storage.i.i.i.i.i, align 8 %cmp.not.i.i.i = icmp eq ptr %22, %23 - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i69 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i70 -if.then.i.i.i69: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +if.then.i.i.i70: ; preds = %_ZN7testing15AssertionResultD2Ev.exit store i32 7, ptr %22, align 4 %24 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 - %incdec.ptr.i.i.i70 = getelementptr inbounds i32, ptr %24, i64 1 - store ptr %incdec.ptr.i.i.i70, ptr %_M_finish.i.i.i.i.i, align 8 + %incdec.ptr.i.i.i71 = getelementptr inbounds i32, ptr %24, i64 1 + store ptr %incdec.ptr.i.i.i71, ptr %_M_finish.i.i.i.i.i, align 8 br label %invoke.cont42 if.else.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -55810,7 +55830,7 @@ if.else.i.i.i: ; preds = %_ZN7testing15Assert %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %25 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775804 - br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i437.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i + br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i445.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 2 @@ -55820,128 +55840,129 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %cmp9.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i, 2305843009213693951 %or.cond.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i, %cmp9.i.i.i.i.i %cond.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i, i64 2305843009213693951, i64 %add.i.i.i.i.i - %cmp.not.i.i.i.i.i71 = icmp eq i64 %cond.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i71, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i + %cmp.not.i.i.i.i.i72 = icmp eq i64 %cond.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i72, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i74 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i75 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i74, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] + %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i75, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 7, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %25, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %25, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %25) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %y, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8 br label %invoke.cont42 -invoke.cont42: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i69 - %26 = phi ptr [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i70, %if.then.i.i.i69 ] +invoke.cont42: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i70 + %26 = phi ptr [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i71, %if.then.i.i.i70 ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp45, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i75 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 - to label %invoke.cont57 unwind label %lpad.i76 + %call5.i.i.i.i2.i76 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 + to label %invoke.cont57 unwind label %lpad.i77 -lpad.i76: ; preds = %invoke.cont42 +lpad.i77: ; preds = %invoke.cont42 %27 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 invoke.cont57: ; preds = %invoke.cont42 - store ptr %call5.i.i.i.i2.i75, ptr %ref.tmp45, align 8 - %add.ptr.i1.i80 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i75, i64 4 - %_M_end_of_storage.i.i81 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp45, i64 0, i32 2 - store ptr %add.ptr.i1.i80, ptr %_M_end_of_storage.i.i81, align 8 - store <4 x i32> , ptr %call5.i.i.i.i2.i75, align 4 - %_M_finish.i.i82 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp45, i64 0, i32 1 - store ptr %add.ptr.i1.i80, ptr %_M_finish.i.i82, align 8 + store ptr %call5.i.i.i.i2.i76, ptr %ref.tmp45, align 8 + %add.ptr.i1.i81 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i76, i64 16 + %_M_end_of_storage.i.i82 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp45, i64 0, i32 2 + store ptr %add.ptr.i1.i81, ptr %_M_end_of_storage.i.i82, align 8 + store <4 x i32> , ptr %call5.i.i.i.i2.i76, align 4 + %_M_finish.i.i84 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp45, i64 0, i32 1 + store ptr %add.ptr.i1.i81, ptr %_M_finish.i.i84, align 8 %28 = load ptr, ptr %y, align 8, !noalias !1465 - %sub.ptr.lhs.cast.i5.i.i.i90 = ptrtoint ptr %26 to i64 - %sub.ptr.rhs.cast.i6.i.i.i91 = ptrtoint ptr %28 to i64 - %sub.ptr.sub.i7.i.i.i92 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i90, %sub.ptr.rhs.cast.i6.i.i.i91 - %cmp.i.i.i93 = icmp eq i64 %sub.ptr.sub.i7.i.i.i92, 16 - br i1 %cmp.i.i.i93, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i97, label %if.end.i.i94 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i97: ; preds = %invoke.cont57 - %bcmp.i.i.i.i.i.i.i98 = call i32 @bcmp(ptr noundef nonnull dereferenceable(16) %call5.i.i.i.i2.i75, ptr noundef nonnull dereferenceable(16) %28, i64 16), !noalias !1465 - %tobool1.not.i.i.i.i.i.i.i99 = icmp eq i32 %bcmp.i.i.i.i.i.i.i98, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i99, label %if.then.i.i100, label %if.end.i.i94 - -if.then.i.i100: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i97 + %sub.ptr.lhs.cast.i5.i.i.i92 = ptrtoint ptr %26 to i64 + %sub.ptr.rhs.cast.i6.i.i.i93 = ptrtoint ptr %28 to i64 + %sub.ptr.sub.i7.i.i.i94 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i92, %sub.ptr.rhs.cast.i6.i.i.i93 + %cmp.i.i.i95 = icmp eq i64 %sub.ptr.sub.i7.i.i.i94, 16 + br i1 %cmp.i.i.i95, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i99, label %if.end.i.i96 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i99: ; preds = %invoke.cont57 + %bcmp.i.i.i.i.i.i.i100 = call i32 @bcmp(ptr noundef nonnull dereferenceable(16) %call5.i.i.i.i2.i76, ptr noundef nonnull dereferenceable(16) %28, i64 16), !noalias !1465 + %tobool1.not.i.i.i.i.i.i.i101 = icmp eq i32 %bcmp.i.i.i.i.i.i.i100, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i101, label %if.then.i.i102, label %if.end.i.i96 + +if.then.i.i102: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i99 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar44) to label %invoke.cont59 unwind label %lpad58 -if.end.i.i94: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i97, %invoke.cont57 +if.end.i.i96: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i99, %invoke.cont57 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar44, ptr noundef nonnull @.str.445, ptr noundef nonnull @.str.444, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp45, ptr noundef nonnull align 8 dereferenceable(24) %y) to label %invoke.cont59 unwind label %lpad58 -invoke.cont59: ; preds = %if.then.i.i100, %if.end.i.i94 +invoke.cont59: ; preds = %if.then.i.i102, %if.end.i.i96 %29 = load ptr, ptr %ref.tmp45, align 8 - %tobool.not.i.i.i104 = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i104, label %_ZNSt6vectorIiSaIiEED2Ev.exit107, label %if.then.i.i.i105 + %tobool.not.i.i.i106 = icmp eq ptr %29, null + br i1 %tobool.not.i.i.i106, label %_ZNSt6vectorIiSaIiEED2Ev.exit109, label %if.then.i.i.i107 -if.then.i.i.i105: ; preds = %invoke.cont59 - call void @_ZdlPv(ptr noundef nonnull %29) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit107 +if.then.i.i.i107: ; preds = %invoke.cont59 + call void @_ZdlPv(ptr noundef nonnull %29) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit109 -_ZNSt6vectorIiSaIiEED2Ev.exit107: ; preds = %invoke.cont59, %if.then.i.i.i105 +_ZNSt6vectorIiSaIiEED2Ev.exit109: ; preds = %invoke.cont59, %if.then.i.i.i107 %30 = load i8, ptr %gtest_ar44, align 8 %31 = and i8 %30, 1 - %tobool.i108.not = icmp eq i8 %31, 0 - br i1 %tobool.i108.not, label %if.else64, label %if.end77 + %tobool.i110.not = icmp eq i8 %31, 0 + br i1 %tobool.i110.not, label %if.else64, label %if.end77 -ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit67, %lpad28 - %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit67 ], [ %16, %lpad28 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit68, %lpad28 + %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit68 ], [ %16, %lpad28 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup334 -lpad58: ; preds = %if.end.i.i94, %if.then.i.i100 +lpad58: ; preds = %if.end.i.i96, %if.then.i.i102 %32 = landingpad { ptr, i32 } cleanup %33 = load ptr, ptr %ref.tmp45, align 8 - %tobool.not.i.i.i109 = icmp eq ptr %33, null - br i1 %tobool.not.i.i.i109, label %ehcleanup334, label %if.then.i.i.i110 + %tobool.not.i.i.i111 = icmp eq ptr %33, null + br i1 %tobool.not.i.i.i111, label %ehcleanup334, label %if.then.i.i.i112 -if.then.i.i.i110: ; preds = %lpad58 - call void @_ZdlPv(ptr noundef nonnull %33) #28 +if.then.i.i.i112: ; preds = %lpad58 + call void @_ZdlPv(ptr noundef nonnull %33) #29 br label %ehcleanup334 -if.else64: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit107 +if.else64: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit109 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65) to label %invoke.cont67 unwind label %lpad66 invoke.cont67: ; preds = %if.else64 - %message_.i.i113 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar44, i64 0, i32 1 - %34 = load ptr, ptr %message_.i.i113, align 8 - %cmp.i.i.not.i.i114 = icmp eq ptr %34, null - br i1 %cmp.i.i.not.i.i114, label %invoke.cont70, label %cond.true.i.i115 + %message_.i.i115 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar44, i64 0, i32 1 + %34 = load ptr, ptr %message_.i.i115, align 8 + %cmp.i.i.not.i.i116 = icmp eq ptr %34, null + br i1 %cmp.i.i.not.i.i116, label %invoke.cont70, label %cond.true.i.i117 -cond.true.i.i115: ; preds = %invoke.cont67 - %call4.i.i116 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #27 +cond.true.i.i117: ; preds = %invoke.cont67 + %call4.i.i118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 br label %invoke.cont70 -invoke.cont70: ; preds = %cond.true.i.i115, %invoke.cont67 - %cond.i.i117 = phi ptr [ %call4.i.i116, %cond.true.i.i115 ], [ @.str.255, %invoke.cont67 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 770, ptr noundef %cond.i.i117) +invoke.cont70: ; preds = %cond.true.i.i117, %invoke.cont67 + %cond.i.i119 = phi ptr [ %call4.i.i118, %cond.true.i.i117 ], [ @.str.255, %invoke.cont67 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 770, ptr noundef %cond.i.i119) to label %invoke.cont72 unwind label %lpad69 invoke.cont72: ; preds = %invoke.cont70 @@ -55949,19 +55970,19 @@ invoke.cont72: ; preds = %invoke.cont70 to label %invoke.cont74 unwind label %lpad73 invoke.cont74: ; preds = %invoke.cont72 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #28 %35 = load ptr, ptr %ref.tmp65, align 8 - %cmp.not.i.i119 = icmp eq ptr %35, null - br i1 %cmp.not.i.i119, label %_ZN7testing7MessageD2Ev.exit123, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 + %cmp.not.i.i121 = icmp eq ptr %35, null + br i1 %cmp.not.i.i121, label %_ZN7testing7MessageD2Ev.exit125, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120: ; preds = %invoke.cont74 - %vtable.i.i.i121 = load ptr, ptr %35, align 8 - %vfn.i.i.i122 = getelementptr inbounds ptr, ptr %vtable.i.i.i121, i64 1 - %36 = load ptr, ptr %vfn.i.i.i122, align 8 - call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #27 - br label %_ZN7testing7MessageD2Ev.exit123 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122: ; preds = %invoke.cont74 + %vtable.i.i.i123 = load ptr, ptr %35, align 8 + %vfn.i.i.i124 = getelementptr inbounds ptr, ptr %vtable.i.i.i123, i64 1 + %36 = load ptr, ptr %vfn.i.i.i124, align 8 + call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 + br label %_ZN7testing7MessageD2Ev.exit125 -_ZN7testing7MessageD2Ev.exit123: ; preds = %invoke.cont74, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 +_ZN7testing7MessageD2Ev.exit125: ; preds = %invoke.cont74, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 store ptr null, ptr %ref.tmp65, align 8 br label %if.end77 @@ -55978,39 +55999,39 @@ lpad69: ; preds = %invoke.cont70 lpad73: ; preds = %invoke.cont72 %39 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #28 br label %ehcleanup76 ehcleanup76: ; preds = %lpad73, %lpad69 %.pn7 = phi { ptr, i32 } [ %39, %lpad73 ], [ %38, %lpad69 ] %40 = load ptr, ptr %ref.tmp65, align 8 - %cmp.not.i.i124 = icmp eq ptr %40, null - br i1 %cmp.not.i.i124, label %_ZN7testing7MessageD2Ev.exit128, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125 + %cmp.not.i.i126 = icmp eq ptr %40, null + br i1 %cmp.not.i.i126, label %_ZN7testing7MessageD2Ev.exit130, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125: ; preds = %ehcleanup76 - %vtable.i.i.i126 = load ptr, ptr %40, align 8 - %vfn.i.i.i127 = getelementptr inbounds ptr, ptr %vtable.i.i.i126, i64 1 - %41 = load ptr, ptr %vfn.i.i.i127, align 8 - call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #27 - br label %_ZN7testing7MessageD2Ev.exit128 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127: ; preds = %ehcleanup76 + %vtable.i.i.i128 = load ptr, ptr %40, align 8 + %vfn.i.i.i129 = getelementptr inbounds ptr, ptr %vtable.i.i.i128, i64 1 + %41 = load ptr, ptr %vfn.i.i.i129, align 8 + call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 + br label %_ZN7testing7MessageD2Ev.exit130 -_ZN7testing7MessageD2Ev.exit128: ; preds = %ehcleanup76, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125 +_ZN7testing7MessageD2Ev.exit130: ; preds = %ehcleanup76, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i127 store ptr null, ptr %ref.tmp65, align 8 br label %ehcleanup78 -if.end77: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit107, %_ZN7testing7MessageD2Ev.exit123 - %message_.i129 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar44, i64 0, i32 1 - %42 = load ptr, ptr %message_.i129, align 8 - %cmp.not.i.i130 = icmp eq ptr %42, null - br i1 %cmp.not.i.i130, label %_ZN7testing15AssertionResultD2Ev.exit132, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i131 +if.end77: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit109, %_ZN7testing7MessageD2Ev.exit125 + %message_.i131 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar44, i64 0, i32 1 + %42 = load ptr, ptr %message_.i131, align 8 + %cmp.not.i.i132 = icmp eq ptr %42, null + br i1 %cmp.not.i.i132, label %_ZN7testing15AssertionResultD2Ev.exit134, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i131: ; preds = %if.end77 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #27 - call void @_ZdlPv(ptr noundef nonnull %42) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit132 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133: ; preds = %if.end77 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 + call void @_ZdlPv(ptr noundef nonnull %42) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit134 -_ZN7testing15AssertionResultD2Ev.exit132: ; preds = %if.end77, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i131 - store ptr null, ptr %message_.i129, align 8 +_ZN7testing15AssertionResultD2Ev.exit134: ; preds = %if.end77, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133 + store ptr null, ptr %message_.i131, align 8 store i32 1, ptr %ref.tmp80, align 4 %arrayinit.element82 = getelementptr inbounds i32, ptr %ref.tmp80, i64 1 store i32 3, ptr %arrayinit.element82, align 4 @@ -56024,27 +56045,27 @@ _ZN7testing15AssertionResultD2Ev.exit132: ; preds = %if.end77, %_ZNKSt14 %cmp.i = icmp ult i64 %sub.ptr.sub.i.i, 12 br i1 %cmp.i, label %if.then.i, label %if.else.i -if.then.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit132 - %call5.i.i.i.i.i747 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 +if.then.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit134 + %call5.i.i.i.i.i761 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %call5.i.i.i.i.i.noexc unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp call5.i.i.i.i.i.noexc: ; preds = %if.then.i - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i.i747, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp80, i64 12, i1 false) - %tobool.not.i.i746 = icmp eq ptr %44, null - br i1 %tobool.not.i.i746, label %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit.i, label %if.then.i13.i + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i.i761, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp80, i64 12, i1 false) + %tobool.not.i.i760 = icmp eq ptr %44, null + br i1 %tobool.not.i.i760, label %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit.i, label %if.then.i13.i if.then.i13.i: ; preds = %call5.i.i.i.i.i.noexc - call void @_ZdlPv(ptr noundef nonnull %44) #28 + call void @_ZdlPv(ptr noundef nonnull %44) #29 br label %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit.i _ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit.i: ; preds = %if.then.i13.i, %call5.i.i.i.i.i.noexc - store ptr %call5.i.i.i.i.i747, ptr %y, align 8 - %add.ptr.i = getelementptr inbounds i32, ptr %call5.i.i.i.i.i747, i64 3 + store ptr %call5.i.i.i.i.i761, ptr %y, align 8 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i761, i64 12 store ptr %add.ptr.i, ptr %_M_finish.i.i.i.i.i, align 8 store ptr %add.ptr.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8 br label %invoke.cont91 -if.else.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit132 +if.else.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit134 %45 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 %sub.ptr.lhs.cast.i14.i = ptrtoint ptr %45 to i64 %sub.ptr.sub.i16.i = sub i64 %sub.ptr.lhs.cast.i14.i, %sub.ptr.rhs.cast.i.i @@ -56053,37 +56074,36 @@ if.else.i: ; preds = %_ZN7testing15Assert if.then25.i: ; preds = %if.else.i call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %44, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp80, i64 12, i1 false) - %.pre.i740 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 - %add.ptr.i.i.i.i.i.i741 = getelementptr inbounds i32, ptr %44, i64 3 - %tobool.not.i19.i = icmp eq ptr %.pre.i740, %add.ptr.i.i.i.i.i.i741 - br i1 %tobool.not.i19.i, label %invoke.cont91, label %invoke.cont.i.i742 + %.pre.i753 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 + %add.ptr.i.i.i.i.i.i754 = getelementptr inbounds i8, ptr %44, i64 12 + %tobool.not.i19.i = icmp eq ptr %.pre.i753, %add.ptr.i.i.i.i.i.i754 + br i1 %tobool.not.i19.i, label %invoke.cont91, label %invoke.cont.i.i755 -invoke.cont.i.i742: ; preds = %if.then25.i - store ptr %add.ptr.i.i.i.i.i.i741, ptr %_M_finish.i.i.i.i.i, align 8 +invoke.cont.i.i755: ; preds = %if.then25.i + store ptr %add.ptr.i.i.i.i.i.i754, ptr %_M_finish.i.i.i.i.i, align 8 br label %invoke.cont91 _ZSt7advanceIPKimEvRT_T0_.exit.i: ; preds = %if.else.i %tobool.not.i.i.i.i.i28.i = icmp eq i64 %sub.ptr.sub.i16.i, 0 - br i1 %tobool.not.i.i.i.i.i28.i, label %if.then.i.i.i.i.i.i.i.i.i, label %_ZSt4copyIPKiPiET0_T_S4_S3_.exit32.i + br i1 %tobool.not.i.i.i.i.i28.i, label %if.then.i.i.i.i.i.i.i.i.i, label %_ZSt4copyIPKiPiET0_T_S4_S3_.exit31.i -_ZSt4copyIPKiPiET0_T_S4_S3_.exit32.i: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit.i +_ZSt4copyIPKiPiET0_T_S4_S3_.exit31.i: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit.i call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %44, ptr noundef nonnull align 4 dereferenceable(1) %ref.tmp80, i64 %sub.ptr.sub.i16.i, i1 false) - %.pre51.i = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 + %.pre49.i = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 br label %if.then.i.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit.i, %_ZSt4copyIPKiPiET0_T_S4_S3_.exit32.i - %incdec.ptr4.sink.i.i46.i.idx780 = phi i64 [ %sub.ptr.sub.i16.i, %_ZSt4copyIPKiPiET0_T_S4_S3_.exit32.i ], [ 0, %_ZSt7advanceIPKimEvRT_T0_.exit.i ] - %46 = phi ptr [ %.pre51.i, %_ZSt4copyIPKiPiET0_T_S4_S3_.exit32.i ], [ %45, %_ZSt7advanceIPKimEvRT_T0_.exit.i ] - %sub.ptr.sub.i.i.i.i.i.i.i.i.i781 = sub nsw i64 12, %sub.ptr.sub.i16.i - %incdec.ptr4.sink.i.i46.i.ptr = getelementptr inbounds i8, ptr %ref.tmp80, i64 %incdec.ptr4.sink.i.i46.i.idx780 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %46, ptr nonnull align 4 %incdec.ptr4.sink.i.i46.i.ptr, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i781, i1 false) - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i781, 2 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %46, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i - store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i, align 8 +if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit.i, %_ZSt4copyIPKiPiET0_T_S4_S3_.exit31.i + %incdec.ptr4.sink.i.i45.i.idx794 = phi i64 [ %sub.ptr.sub.i16.i, %_ZSt4copyIPKiPiET0_T_S4_S3_.exit31.i ], [ 0, %_ZSt7advanceIPKimEvRT_T0_.exit.i ] + %46 = phi ptr [ %.pre49.i, %_ZSt4copyIPKiPiET0_T_S4_S3_.exit31.i ], [ %45, %_ZSt7advanceIPKimEvRT_T0_.exit.i ] + %sub.ptr.sub.i.i.i.i.i.i.i.i.i795 = sub nsw i64 12, %sub.ptr.sub.i16.i + %incdec.ptr4.sink.i.i45.i.ptr = getelementptr inbounds i8, ptr %ref.tmp80, i64 %incdec.ptr4.sink.i.i45.i.idx794 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %46, ptr nonnull align 4 %incdec.ptr4.sink.i.i45.i.ptr, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i795, i1 false) + %add.ptr.i.i.i.i.i.i.i.i.i758 = getelementptr inbounds i8, ptr %46, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i795 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i758, ptr %_M_finish.i.i.i.i.i, align 8 br label %invoke.cont91 -invoke.cont91: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i742, %if.then25.i, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit.i - %47 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i741, %invoke.cont.i.i742 ], [ %.pre.i740, %if.then25.i ], [ %add.ptr.i, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit.i ] +invoke.cont91: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i755, %if.then25.i, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit.i + %47 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i758, %if.then.i.i.i.i.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i754, %invoke.cont.i.i755 ], [ %.pre.i753, %if.then25.i ], [ %add.ptr.i, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit.i ] %48 = load ptr, ptr %y, align 8 %cmp.i413.i.not = icmp eq ptr %48, %47 br i1 %cmp.i413.i.not, label %invoke.cont96, label %for.body.lr.ph.i @@ -56109,8 +56129,8 @@ for.body.i: ; preds = %_ZNSt20back_insert_ if.then.i.i.i.i: ; preds = %for.body.i store i32 %add.i.i, ptr %49, align 4 %53 = load ptr, ptr %_M_finish.i.i.i5.i, align 8 - %incdec.ptr.i.i.i.i135 = getelementptr inbounds i32, ptr %53, i64 1 - store ptr %incdec.ptr.i.i.i.i135, ptr %_M_finish.i.i.i5.i, align 8 + %incdec.ptr.i.i.i.i137 = getelementptr inbounds i32, ptr %53, i64 1 + store ptr %incdec.ptr.i.i.i.i137, ptr %_M_finish.i.i.i5.i, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i if.else.i.i.i.i: ; preds = %for.body.i @@ -56119,7 +56139,7 @@ if.else.i.i.i.i: ; preds = %for.body.i %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %54 to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i437.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i445.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 2 @@ -56134,38 +56154,39 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i.i138 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i.i140 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i - %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i.i.i138, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i ] + %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i.i.i140, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store i32 %add.i.i, ptr %add.ptr.i.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i, ptr align 4 %54, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i136 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i138 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %54, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %54) #28 +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %54) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %z, align 8 - store ptr %incdec.ptr.i.i.i.i.i136, ptr %_M_finish.i.i.i5.i, align 8 + store ptr %incdec.ptr.i.i.i.i.i138, ptr %_M_finish.i.i.i5.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i store ptr %add.ptr19.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i - %55 = phi ptr [ %incdec.ptr.i.i.i.i135, %if.then.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i136, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i ] + %55 = phi ptr [ %incdec.ptr.i.i.i.i137, %if.then.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i138, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i ] %first1.sroa.0.016.i.add = add nuw nsw i64 %first1.sroa.0.016.i.idx, 4 %incdec.ptr.i6.i = getelementptr inbounds i32, ptr %first2.sroa.0.015.i, i64 1 %cmp.i.i = icmp ne i64 %first1.sroa.0.016.i.add, 12 @@ -56175,96 +56196,96 @@ _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i: ; preds = %_ZNSt6vec invoke.cont96: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i, %invoke.cont91 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp100, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i139 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 - to label %invoke.cont111 unwind label %lpad.i140 + %call5.i.i.i.i2.i141 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 + to label %invoke.cont111 unwind label %lpad.i142 -lpad.i140: ; preds = %invoke.cont96 +lpad.i142: ; preds = %invoke.cont96 %56 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 invoke.cont111: ; preds = %invoke.cont96 - store ptr %call5.i.i.i.i2.i139, ptr %ref.tmp100, align 8 - %add.ptr.i1.i144 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i139, i64 3 - %_M_end_of_storage.i.i145 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp100, i64 0, i32 2 - store ptr %add.ptr.i1.i144, ptr %_M_end_of_storage.i.i145, align 8 - store i32 1, ptr %call5.i.i.i.i2.i139, align 4 - %ref.tmp102.sroa.2.0.call5.i.i.i.i2.i139.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i139, i64 4 - store i32 5, ptr %ref.tmp102.sroa.2.0.call5.i.i.i.i2.i139.sroa_idx, align 4 - %ref.tmp102.sroa.3.0.call5.i.i.i.i2.i139.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i139, i64 8 - store i32 4, ptr %ref.tmp102.sroa.3.0.call5.i.i.i.i2.i139.sroa_idx, align 4 - %_M_finish.i.i146 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp100, i64 0, i32 1 - store ptr %add.ptr.i1.i144, ptr %_M_finish.i.i146, align 8 - %_M_finish.i4.i.i.i153 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %z, i64 0, i32 1 - %57 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8, !noalias !1471 + store ptr %call5.i.i.i.i2.i141, ptr %ref.tmp100, align 8 + %add.ptr.i1.i146 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i141, i64 12 + %_M_end_of_storage.i.i147 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp100, i64 0, i32 2 + store ptr %add.ptr.i1.i146, ptr %_M_end_of_storage.i.i147, align 8 + store i32 1, ptr %call5.i.i.i.i2.i141, align 4 + %ref.tmp102.sroa.2.0.call5.i.i.i.i2.i141.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i141, i64 4 + store i32 5, ptr %ref.tmp102.sroa.2.0.call5.i.i.i.i2.i141.sroa_idx, align 4 + %ref.tmp102.sroa.3.0.call5.i.i.i.i2.i141.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i141, i64 8 + store i32 4, ptr %ref.tmp102.sroa.3.0.call5.i.i.i.i2.i141.sroa_idx, align 4 + %_M_finish.i.i149 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp100, i64 0, i32 1 + store ptr %add.ptr.i1.i146, ptr %_M_finish.i.i149, align 8 + %_M_finish.i4.i.i.i156 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %z, i64 0, i32 1 + %57 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8, !noalias !1471 %58 = load ptr, ptr %z, align 8, !noalias !1471 - %sub.ptr.lhs.cast.i5.i.i.i154 = ptrtoint ptr %57 to i64 - %sub.ptr.rhs.cast.i6.i.i.i155 = ptrtoint ptr %58 to i64 - %sub.ptr.sub.i7.i.i.i156 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i154, %sub.ptr.rhs.cast.i6.i.i.i155 - %cmp.i.i.i157 = icmp eq i64 %sub.ptr.sub.i7.i.i.i156, 12 - br i1 %cmp.i.i.i157, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i161, label %if.end.i.i158 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i161: ; preds = %invoke.cont111 - %bcmp.i.i.i.i.i.i.i162 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %call5.i.i.i.i2.i139, ptr noundef nonnull dereferenceable(12) %58, i64 12), !noalias !1471 - %tobool1.not.i.i.i.i.i.i.i163 = icmp eq i32 %bcmp.i.i.i.i.i.i.i162, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i163, label %if.then.i.i164, label %if.end.i.i158 - -if.then.i.i164: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i161 + %sub.ptr.lhs.cast.i5.i.i.i157 = ptrtoint ptr %57 to i64 + %sub.ptr.rhs.cast.i6.i.i.i158 = ptrtoint ptr %58 to i64 + %sub.ptr.sub.i7.i.i.i159 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i157, %sub.ptr.rhs.cast.i6.i.i.i158 + %cmp.i.i.i160 = icmp eq i64 %sub.ptr.sub.i7.i.i.i159, 12 + br i1 %cmp.i.i.i160, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i164, label %if.end.i.i161 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i164: ; preds = %invoke.cont111 + %bcmp.i.i.i.i.i.i.i165 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %call5.i.i.i.i2.i141, ptr noundef nonnull dereferenceable(12) %58, i64 12), !noalias !1471 + %tobool1.not.i.i.i.i.i.i.i166 = icmp eq i32 %bcmp.i.i.i.i.i.i.i165, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i166, label %if.then.i.i167, label %if.end.i.i161 + +if.then.i.i167: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i164 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar99) to label %invoke.cont113 unwind label %lpad112 -if.end.i.i158: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i161, %invoke.cont111 +if.end.i.i161: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i164, %invoke.cont111 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar99, ptr noundef nonnull @.str.446, ptr noundef nonnull @.str.447, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp100, ptr noundef nonnull align 8 dereferenceable(24) %z) to label %invoke.cont113 unwind label %lpad112 -invoke.cont113: ; preds = %if.then.i.i164, %if.end.i.i158 +invoke.cont113: ; preds = %if.then.i.i167, %if.end.i.i161 %59 = load ptr, ptr %ref.tmp100, align 8 - %tobool.not.i.i.i168 = icmp eq ptr %59, null - br i1 %tobool.not.i.i.i168, label %_ZNSt6vectorIiSaIiEED2Ev.exit171, label %if.then.i.i.i169 + %tobool.not.i.i.i171 = icmp eq ptr %59, null + br i1 %tobool.not.i.i.i171, label %_ZNSt6vectorIiSaIiEED2Ev.exit174, label %if.then.i.i.i172 -if.then.i.i.i169: ; preds = %invoke.cont113 - call void @_ZdlPv(ptr noundef nonnull %59) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit171 +if.then.i.i.i172: ; preds = %invoke.cont113 + call void @_ZdlPv(ptr noundef nonnull %59) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit174 -_ZNSt6vectorIiSaIiEED2Ev.exit171: ; preds = %invoke.cont113, %if.then.i.i.i169 +_ZNSt6vectorIiSaIiEED2Ev.exit174: ; preds = %invoke.cont113, %if.then.i.i.i172 %60 = load i8, ptr %gtest_ar99, align 8 %61 = and i8 %60, 1 - %tobool.i172.not = icmp eq i8 %61, 0 - br i1 %tobool.i172.not, label %if.else118, label %if.end131 + %tobool.i175.not = icmp eq i8 %61, 0 + br i1 %tobool.i175.not, label %if.else118, label %if.end131 -ehcleanup78: ; preds = %_ZN7testing7MessageD2Ev.exit128, %lpad66 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit128 ], [ %37, %lpad66 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar44) #27 +ehcleanup78: ; preds = %_ZN7testing7MessageD2Ev.exit130, %lpad66 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit130 ], [ %37, %lpad66 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar44) #28 br label %ehcleanup334 -lpad112: ; preds = %if.end.i.i158, %if.then.i.i164 +lpad112: ; preds = %if.end.i.i161, %if.then.i.i167 %62 = landingpad { ptr, i32 } cleanup %63 = load ptr, ptr %ref.tmp100, align 8 - %tobool.not.i.i.i173 = icmp eq ptr %63, null - br i1 %tobool.not.i.i.i173, label %ehcleanup334, label %if.then.i.i.i174 + %tobool.not.i.i.i176 = icmp eq ptr %63, null + br i1 %tobool.not.i.i.i176, label %ehcleanup334, label %if.then.i.i.i177 -if.then.i.i.i174: ; preds = %lpad112 - call void @_ZdlPv(ptr noundef nonnull %63) #28 +if.then.i.i.i177: ; preds = %lpad112 + call void @_ZdlPv(ptr noundef nonnull %63) #29 br label %ehcleanup334 -if.else118: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit171 +if.else118: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit174 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp119) to label %invoke.cont121 unwind label %lpad120 invoke.cont121: ; preds = %if.else118 - %message_.i.i177 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar99, i64 0, i32 1 - %64 = load ptr, ptr %message_.i.i177, align 8 - %cmp.i.i.not.i.i178 = icmp eq ptr %64, null - br i1 %cmp.i.i.not.i.i178, label %invoke.cont124, label %cond.true.i.i179 + %message_.i.i180 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar99, i64 0, i32 1 + %64 = load ptr, ptr %message_.i.i180, align 8 + %cmp.i.i.not.i.i181 = icmp eq ptr %64, null + br i1 %cmp.i.i.not.i.i181, label %invoke.cont124, label %cond.true.i.i182 -cond.true.i.i179: ; preds = %invoke.cont121 - %call4.i.i180 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %64) #27 +cond.true.i.i182: ; preds = %invoke.cont121 + %call4.i.i183 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %64) #28 br label %invoke.cont124 -invoke.cont124: ; preds = %cond.true.i.i179, %invoke.cont121 - %cond.i.i181 = phi ptr [ %call4.i.i180, %cond.true.i.i179 ], [ @.str.255, %invoke.cont121 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 774, ptr noundef %cond.i.i181) +invoke.cont124: ; preds = %cond.true.i.i182, %invoke.cont121 + %cond.i.i184 = phi ptr [ %call4.i.i183, %cond.true.i.i182 ], [ @.str.255, %invoke.cont121 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 774, ptr noundef %cond.i.i184) to label %invoke.cont126 unwind label %lpad123 invoke.cont126: ; preds = %invoke.cont124 @@ -56272,19 +56293,19 @@ invoke.cont126: ; preds = %invoke.cont124 to label %invoke.cont128 unwind label %lpad127 invoke.cont128: ; preds = %invoke.cont126 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122) #28 %65 = load ptr, ptr %ref.tmp119, align 8 - %cmp.not.i.i183 = icmp eq ptr %65, null - br i1 %cmp.not.i.i183, label %_ZN7testing7MessageD2Ev.exit187, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184 + %cmp.not.i.i186 = icmp eq ptr %65, null + br i1 %cmp.not.i.i186, label %_ZN7testing7MessageD2Ev.exit190, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184: ; preds = %invoke.cont128 - %vtable.i.i.i185 = load ptr, ptr %65, align 8 - %vfn.i.i.i186 = getelementptr inbounds ptr, ptr %vtable.i.i.i185, i64 1 - %66 = load ptr, ptr %vfn.i.i.i186, align 8 - call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #27 - br label %_ZN7testing7MessageD2Ev.exit187 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187: ; preds = %invoke.cont128 + %vtable.i.i.i188 = load ptr, ptr %65, align 8 + %vfn.i.i.i189 = getelementptr inbounds ptr, ptr %vtable.i.i.i188, i64 1 + %66 = load ptr, ptr %vfn.i.i.i189, align 8 + call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #28 + br label %_ZN7testing7MessageD2Ev.exit190 -_ZN7testing7MessageD2Ev.exit187: ; preds = %invoke.cont128, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184 +_ZN7testing7MessageD2Ev.exit190: ; preds = %invoke.cont128, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 store ptr null, ptr %ref.tmp119, align 8 br label %if.end131 @@ -56301,190 +56322,191 @@ lpad123: ; preds = %invoke.cont124 lpad127: ; preds = %invoke.cont126 %69 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122) #28 br label %ehcleanup130 ehcleanup130: ; preds = %lpad127, %lpad123 %.pn12 = phi { ptr, i32 } [ %69, %lpad127 ], [ %68, %lpad123 ] %70 = load ptr, ptr %ref.tmp119, align 8 - %cmp.not.i.i188 = icmp eq ptr %70, null - br i1 %cmp.not.i.i188, label %_ZN7testing7MessageD2Ev.exit192, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 + %cmp.not.i.i191 = icmp eq ptr %70, null + br i1 %cmp.not.i.i191, label %_ZN7testing7MessageD2Ev.exit195, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189: ; preds = %ehcleanup130 - %vtable.i.i.i190 = load ptr, ptr %70, align 8 - %vfn.i.i.i191 = getelementptr inbounds ptr, ptr %vtable.i.i.i190, i64 1 - %71 = load ptr, ptr %vfn.i.i.i191, align 8 - call void %71(ptr noundef nonnull align 8 dereferenceable(128) %70) #27 - br label %_ZN7testing7MessageD2Ev.exit192 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192: ; preds = %ehcleanup130 + %vtable.i.i.i193 = load ptr, ptr %70, align 8 + %vfn.i.i.i194 = getelementptr inbounds ptr, ptr %vtable.i.i.i193, i64 1 + %71 = load ptr, ptr %vfn.i.i.i194, align 8 + call void %71(ptr noundef nonnull align 8 dereferenceable(128) %70) #28 + br label %_ZN7testing7MessageD2Ev.exit195 -_ZN7testing7MessageD2Ev.exit192: ; preds = %ehcleanup130, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 +_ZN7testing7MessageD2Ev.exit195: ; preds = %ehcleanup130, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 store ptr null, ptr %ref.tmp119, align 8 br label %ehcleanup132 -if.end131: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit171, %_ZN7testing7MessageD2Ev.exit187 - %message_.i193 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar99, i64 0, i32 1 - %72 = load ptr, ptr %message_.i193, align 8 - %cmp.not.i.i194 = icmp eq ptr %72, null - br i1 %cmp.not.i.i194, label %_ZN7testing15AssertionResultD2Ev.exit196, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 +if.end131: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit174, %_ZN7testing7MessageD2Ev.exit190 + %message_.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar99, i64 0, i32 1 + %72 = load ptr, ptr %message_.i196, align 8 + %cmp.not.i.i197 = icmp eq ptr %72, null + br i1 %cmp.not.i.i197, label %_ZN7testing15AssertionResultD2Ev.exit199, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195: ; preds = %if.end131 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #27 - call void @_ZdlPv(ptr noundef nonnull %72) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit196 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198: ; preds = %if.end131 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #28 + call void @_ZdlPv(ptr noundef nonnull %72) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit199 -_ZN7testing15AssertionResultD2Ev.exit196: ; preds = %if.end131, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 - store ptr null, ptr %message_.i193, align 8 - %73 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %_M_end_of_storage.i.i.i198 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %z, i64 0, i32 2 - %74 = load ptr, ptr %_M_end_of_storage.i.i.i198, align 8 - %cmp.not.i.i.i199 = icmp eq ptr %73, %74 - br i1 %cmp.not.i.i.i199, label %if.else.i.i.i202, label %if.then.i.i.i200 +_ZN7testing15AssertionResultD2Ev.exit199: ; preds = %if.end131, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 + store ptr null, ptr %message_.i196, align 8 + %73 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %_M_end_of_storage.i.i.i201 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %z, i64 0, i32 2 + %74 = load ptr, ptr %_M_end_of_storage.i.i.i201, align 8 + %cmp.not.i.i.i202 = icmp eq ptr %73, %74 + br i1 %cmp.not.i.i.i202, label %if.else.i.i.i205, label %if.then.i.i.i203 -if.then.i.i.i200: ; preds = %_ZN7testing15AssertionResultD2Ev.exit196 +if.then.i.i.i203: ; preds = %_ZN7testing15AssertionResultD2Ev.exit199 store i32 7, ptr %73, align 4 - %75 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %incdec.ptr.i.i.i201 = getelementptr inbounds i32, ptr %75, i64 1 - store ptr %incdec.ptr.i.i.i201, ptr %_M_finish.i4.i.i.i153, align 8 + %75 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %incdec.ptr.i.i.i204 = getelementptr inbounds i32, ptr %75, i64 1 + store ptr %incdec.ptr.i.i.i204, ptr %_M_finish.i4.i.i.i156, align 8 br label %invoke.cont135 -if.else.i.i.i202: ; preds = %_ZN7testing15AssertionResultD2Ev.exit196 +if.else.i.i.i205: ; preds = %_ZN7testing15AssertionResultD2Ev.exit199 %76 = load ptr, ptr %z, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i203 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i204 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i.i.i.i.i.i205 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i203, %sub.ptr.rhs.cast.i.i.i.i.i.i204 - %cmp.i.i.i.i.i206 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i205, 9223372036854775804 - br i1 %cmp.i.i.i.i.i206, label %if.then.i.i.i.i.i437.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i207 - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i207: ; preds = %if.else.i.i.i202 - %sub.ptr.div.i.i.i.i.i.i208 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i205, 2 - %.sroa.speculated.i.i.i.i.i209 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i208, i64 1) - %add.i.i.i.i.i210 = add i64 %.sroa.speculated.i.i.i.i.i209, %sub.ptr.div.i.i.i.i.i.i208 - %cmp7.i.i.i.i.i211 = icmp ult i64 %add.i.i.i.i.i210, %sub.ptr.div.i.i.i.i.i.i208 - %cmp9.i.i.i.i.i212 = icmp ugt i64 %add.i.i.i.i.i210, 2305843009213693951 - %or.cond.i.i.i.i.i213 = or i1 %cmp7.i.i.i.i.i211, %cmp9.i.i.i.i.i212 - %cond.i.i.i.i.i214 = select i1 %or.cond.i.i.i.i.i213, i64 2305843009213693951, i64 %add.i.i.i.i.i210 - %cmp.not.i.i.i.i.i215 = icmp eq i64 %cond.i.i.i.i.i214, 0 - br i1 %cmp.not.i.i.i.i.i215, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i218, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i216 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i216: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i207 - %mul.i.i.i.i.i.i.i217 = shl nuw nsw i64 %cond.i.i.i.i.i214, 2 - %call5.i.i.i.i.i.i.i232 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i217) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i218 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i218: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i216, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i207 - %cond.i10.i.i.i.i219 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i207 ], [ %call5.i.i.i.i.i.i.i232, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i216 ] - %add.ptr.i.i.i.i220 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i219, i64 %sub.ptr.div.i.i.i.i.i.i208 - store i32 7, ptr %add.ptr.i.i.i.i220, align 4 - %cmp.i.i.i11.i.i.i.i221 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i208, 0 - br i1 %cmp.i.i.i11.i.i.i.i221, label %if.then.i.i.i12.i.i.i.i228, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i222 - -if.then.i.i.i12.i.i.i.i228: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i218 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i219, ptr align 4 %76, i64 %sub.ptr.sub.i.i.i.i.i.i205, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i222 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i222: ; preds = %if.then.i.i.i12.i.i.i.i228, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i218 - %incdec.ptr.i.i.i.i223 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i220, i64 1 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %76, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i226, label %if.then.i21.i.i.i.i225 - -if.then.i21.i.i.i.i225: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i222 - call void @_ZdlPv(ptr noundef nonnull %76) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i226 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i226: ; preds = %if.then.i21.i.i.i.i225, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i222 - store ptr %cond.i10.i.i.i.i219, ptr %z, align 8 - store ptr %incdec.ptr.i.i.i.i223, ptr %_M_finish.i4.i.i.i153, align 8 - %add.ptr19.i.i.i.i227 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i219, i64 %cond.i.i.i.i.i214 - store ptr %add.ptr19.i.i.i.i227, ptr %_M_end_of_storage.i.i.i198, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i206 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i207 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i.i.i.i.i.i208 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i206, %sub.ptr.rhs.cast.i.i.i.i.i.i207 + %cmp.i.i.i.i.i209 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i208, 9223372036854775804 + br i1 %cmp.i.i.i.i.i209, label %if.then.i.i.i.i.i445.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i210 + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i210: ; preds = %if.else.i.i.i205 + %sub.ptr.div.i.i.i.i.i.i211 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i208, 2 + %.sroa.speculated.i.i.i.i.i212 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i211, i64 1) + %add.i.i.i.i.i213 = add i64 %.sroa.speculated.i.i.i.i.i212, %sub.ptr.div.i.i.i.i.i.i211 + %cmp7.i.i.i.i.i214 = icmp ult i64 %add.i.i.i.i.i213, %sub.ptr.div.i.i.i.i.i.i211 + %cmp9.i.i.i.i.i215 = icmp ugt i64 %add.i.i.i.i.i213, 2305843009213693951 + %or.cond.i.i.i.i.i216 = or i1 %cmp7.i.i.i.i.i214, %cmp9.i.i.i.i.i215 + %cond.i.i.i.i.i217 = select i1 %or.cond.i.i.i.i.i216, i64 2305843009213693951, i64 %add.i.i.i.i.i213 + %cmp.not.i.i.i.i.i218 = icmp eq i64 %cond.i.i.i.i.i217, 0 + br i1 %cmp.not.i.i.i.i.i218, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i221, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i219 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i219: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i210 + %mul.i.i.i.i.i.i.i220 = shl nuw nsw i64 %cond.i.i.i.i.i217, 2 + %call5.i.i.i.i.i.i.i236 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i220) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i221 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i221: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i219, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i210 + %cond.i10.i.i.i.i222 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i210 ], [ %call5.i.i.i.i.i.i.i236, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i219 ] + %add.ptr.i.i.i.i223 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i222, i64 %sub.ptr.div.i.i.i.i.i.i211 + store i32 7, ptr %add.ptr.i.i.i.i223, align 4 + %cmp.i.i.i11.i.i.i.i224 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i208, 0 + br i1 %cmp.i.i.i11.i.i.i.i224, label %if.then.i.i.i12.i.i.i.i232, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i225 + +if.then.i.i.i12.i.i.i.i232: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i221 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i222, ptr align 4 %76, i64 %sub.ptr.sub.i.i.i.i.i.i208, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i225 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i225: ; preds = %if.then.i.i.i12.i.i.i.i232, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i221 + %add.ptr.i.i.i.i.i.i.i226 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i222, i64 %sub.ptr.sub.i.i.i.i.i.i208 + %incdec.ptr.i.i.i.i227 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i226, i64 1 + %tobool.not.i.i.i.i.i228 = icmp eq ptr %76, null + br i1 %tobool.not.i.i.i.i.i228, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i230, label %if.then.i20.i.i.i.i229 + +if.then.i20.i.i.i.i229: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i225 + call void @_ZdlPv(ptr noundef nonnull %76) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i230 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i230: ; preds = %if.then.i20.i.i.i.i229, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i225 + store ptr %cond.i10.i.i.i.i222, ptr %z, align 8 + store ptr %incdec.ptr.i.i.i.i227, ptr %_M_finish.i4.i.i.i156, align 8 + %add.ptr19.i.i.i.i231 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i222, i64 %cond.i.i.i.i.i217 + store ptr %add.ptr19.i.i.i.i231, ptr %_M_end_of_storage.i.i.i201, align 8 br label %invoke.cont135 -invoke.cont135: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i226, %if.then.i.i.i200 - %77 = phi ptr [ %incdec.ptr.i.i.i.i223, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i226 ], [ %incdec.ptr.i.i.i201, %if.then.i.i.i200 ] +invoke.cont135: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i230, %if.then.i.i.i203 + %77 = phi ptr [ %incdec.ptr.i.i.i.i227, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i230 ], [ %incdec.ptr.i.i.i204, %if.then.i.i.i203 ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp138, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i234 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 - to label %invoke.cont150 unwind label %lpad.i235 + %call5.i.i.i.i2.i238 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 + to label %invoke.cont150 unwind label %lpad.i239 -lpad.i235: ; preds = %invoke.cont135 +lpad.i239: ; preds = %invoke.cont135 %78 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 invoke.cont150: ; preds = %invoke.cont135 - store ptr %call5.i.i.i.i2.i234, ptr %ref.tmp138, align 8 - %add.ptr.i1.i239 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i234, i64 4 - %_M_end_of_storage.i.i240 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp138, i64 0, i32 2 - store ptr %add.ptr.i1.i239, ptr %_M_end_of_storage.i.i240, align 8 - store <4 x i32> , ptr %call5.i.i.i.i2.i234, align 4 - %_M_finish.i.i241 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp138, i64 0, i32 1 - store ptr %add.ptr.i1.i239, ptr %_M_finish.i.i241, align 8 + store ptr %call5.i.i.i.i2.i238, ptr %ref.tmp138, align 8 + %add.ptr.i1.i243 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i238, i64 16 + %_M_end_of_storage.i.i244 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp138, i64 0, i32 2 + store ptr %add.ptr.i1.i243, ptr %_M_end_of_storage.i.i244, align 8 + store <4 x i32> , ptr %call5.i.i.i.i2.i238, align 4 + %_M_finish.i.i246 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp138, i64 0, i32 1 + store ptr %add.ptr.i1.i243, ptr %_M_finish.i.i246, align 8 %79 = load ptr, ptr %z, align 8, !noalias !1476 - %sub.ptr.lhs.cast.i5.i.i.i249 = ptrtoint ptr %77 to i64 - %sub.ptr.rhs.cast.i6.i.i.i250 = ptrtoint ptr %79 to i64 - %sub.ptr.sub.i7.i.i.i251 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i249, %sub.ptr.rhs.cast.i6.i.i.i250 - %cmp.i.i.i252 = icmp eq i64 %sub.ptr.sub.i7.i.i.i251, 16 - br i1 %cmp.i.i.i252, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i256, label %if.end.i.i253 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i256: ; preds = %invoke.cont150 - %bcmp.i.i.i.i.i.i.i257 = call i32 @bcmp(ptr noundef nonnull dereferenceable(16) %call5.i.i.i.i2.i234, ptr noundef nonnull dereferenceable(16) %79, i64 16), !noalias !1476 - %tobool1.not.i.i.i.i.i.i.i258 = icmp eq i32 %bcmp.i.i.i.i.i.i.i257, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i258, label %if.then.i.i259, label %if.end.i.i253 - -if.then.i.i259: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i256 + %sub.ptr.lhs.cast.i5.i.i.i254 = ptrtoint ptr %77 to i64 + %sub.ptr.rhs.cast.i6.i.i.i255 = ptrtoint ptr %79 to i64 + %sub.ptr.sub.i7.i.i.i256 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i254, %sub.ptr.rhs.cast.i6.i.i.i255 + %cmp.i.i.i257 = icmp eq i64 %sub.ptr.sub.i7.i.i.i256, 16 + br i1 %cmp.i.i.i257, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i261, label %if.end.i.i258 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i261: ; preds = %invoke.cont150 + %bcmp.i.i.i.i.i.i.i262 = call i32 @bcmp(ptr noundef nonnull dereferenceable(16) %call5.i.i.i.i2.i238, ptr noundef nonnull dereferenceable(16) %79, i64 16), !noalias !1476 + %tobool1.not.i.i.i.i.i.i.i263 = icmp eq i32 %bcmp.i.i.i.i.i.i.i262, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i263, label %if.then.i.i264, label %if.end.i.i258 + +if.then.i.i264: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i261 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar137) to label %invoke.cont152 unwind label %lpad151 -if.end.i.i253: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i256, %invoke.cont150 +if.end.i.i258: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i261, %invoke.cont150 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar137, ptr noundef nonnull @.str.448, ptr noundef nonnull @.str.447, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp138, ptr noundef nonnull align 8 dereferenceable(24) %z) to label %invoke.cont152 unwind label %lpad151 -invoke.cont152: ; preds = %if.then.i.i259, %if.end.i.i253 +invoke.cont152: ; preds = %if.then.i.i264, %if.end.i.i258 %80 = load ptr, ptr %ref.tmp138, align 8 - %tobool.not.i.i.i263 = icmp eq ptr %80, null - br i1 %tobool.not.i.i.i263, label %_ZNSt6vectorIiSaIiEED2Ev.exit266, label %if.then.i.i.i264 + %tobool.not.i.i.i268 = icmp eq ptr %80, null + br i1 %tobool.not.i.i.i268, label %_ZNSt6vectorIiSaIiEED2Ev.exit271, label %if.then.i.i.i269 -if.then.i.i.i264: ; preds = %invoke.cont152 - call void @_ZdlPv(ptr noundef nonnull %80) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit266 +if.then.i.i.i269: ; preds = %invoke.cont152 + call void @_ZdlPv(ptr noundef nonnull %80) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit271 -_ZNSt6vectorIiSaIiEED2Ev.exit266: ; preds = %invoke.cont152, %if.then.i.i.i264 +_ZNSt6vectorIiSaIiEED2Ev.exit271: ; preds = %invoke.cont152, %if.then.i.i.i269 %81 = load i8, ptr %gtest_ar137, align 8 %82 = and i8 %81, 1 - %tobool.i267.not = icmp eq i8 %82, 0 - br i1 %tobool.i267.not, label %if.else157, label %if.end170 + %tobool.i272.not = icmp eq i8 %82, 0 + br i1 %tobool.i272.not, label %if.else157, label %if.end170 -ehcleanup132: ; preds = %_ZN7testing7MessageD2Ev.exit192, %lpad120 - %.pn12.pn = phi { ptr, i32 } [ %.pn12, %_ZN7testing7MessageD2Ev.exit192 ], [ %67, %lpad120 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar99) #27 +ehcleanup132: ; preds = %_ZN7testing7MessageD2Ev.exit195, %lpad120 + %.pn12.pn = phi { ptr, i32 } [ %.pn12, %_ZN7testing7MessageD2Ev.exit195 ], [ %67, %lpad120 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar99) #28 br label %ehcleanup334 -lpad151: ; preds = %if.end.i.i253, %if.then.i.i259 +lpad151: ; preds = %if.end.i.i258, %if.then.i.i264 %83 = landingpad { ptr, i32 } cleanup %84 = load ptr, ptr %ref.tmp138, align 8 - %tobool.not.i.i.i268 = icmp eq ptr %84, null - br i1 %tobool.not.i.i.i268, label %ehcleanup334, label %if.then.i.i.i269 + %tobool.not.i.i.i273 = icmp eq ptr %84, null + br i1 %tobool.not.i.i.i273, label %ehcleanup334, label %if.then.i.i.i274 -if.then.i.i.i269: ; preds = %lpad151 - call void @_ZdlPv(ptr noundef nonnull %84) #28 +if.then.i.i.i274: ; preds = %lpad151 + call void @_ZdlPv(ptr noundef nonnull %84) #29 br label %ehcleanup334 -if.else157: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit266 +if.else157: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit271 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp158) to label %invoke.cont160 unwind label %lpad159 invoke.cont160: ; preds = %if.else157 - %message_.i.i272 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar137, i64 0, i32 1 - %85 = load ptr, ptr %message_.i.i272, align 8 - %cmp.i.i.not.i.i273 = icmp eq ptr %85, null - br i1 %cmp.i.i.not.i.i273, label %invoke.cont163, label %cond.true.i.i274 + %message_.i.i277 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar137, i64 0, i32 1 + %85 = load ptr, ptr %message_.i.i277, align 8 + %cmp.i.i.not.i.i278 = icmp eq ptr %85, null + br i1 %cmp.i.i.not.i.i278, label %invoke.cont163, label %cond.true.i.i279 -cond.true.i.i274: ; preds = %invoke.cont160 - %call4.i.i275 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %85) #27 +cond.true.i.i279: ; preds = %invoke.cont160 + %call4.i.i280 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %85) #28 br label %invoke.cont163 -invoke.cont163: ; preds = %cond.true.i.i274, %invoke.cont160 - %cond.i.i276 = phi ptr [ %call4.i.i275, %cond.true.i.i274 ], [ @.str.255, %invoke.cont160 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp161, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 776, ptr noundef %cond.i.i276) +invoke.cont163: ; preds = %cond.true.i.i279, %invoke.cont160 + %cond.i.i281 = phi ptr [ %call4.i.i280, %cond.true.i.i279 ], [ @.str.255, %invoke.cont160 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp161, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 776, ptr noundef %cond.i.i281) to label %invoke.cont165 unwind label %lpad162 invoke.cont165: ; preds = %invoke.cont163 @@ -56492,19 +56514,19 @@ invoke.cont165: ; preds = %invoke.cont163 to label %invoke.cont167 unwind label %lpad166 invoke.cont167: ; preds = %invoke.cont165 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp161) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp161) #28 %86 = load ptr, ptr %ref.tmp158, align 8 - %cmp.not.i.i278 = icmp eq ptr %86, null - br i1 %cmp.not.i.i278, label %_ZN7testing7MessageD2Ev.exit282, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279 + %cmp.not.i.i283 = icmp eq ptr %86, null + br i1 %cmp.not.i.i283, label %_ZN7testing7MessageD2Ev.exit287, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279: ; preds = %invoke.cont167 - %vtable.i.i.i280 = load ptr, ptr %86, align 8 - %vfn.i.i.i281 = getelementptr inbounds ptr, ptr %vtable.i.i.i280, i64 1 - %87 = load ptr, ptr %vfn.i.i.i281, align 8 - call void %87(ptr noundef nonnull align 8 dereferenceable(128) %86) #27 - br label %_ZN7testing7MessageD2Ev.exit282 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284: ; preds = %invoke.cont167 + %vtable.i.i.i285 = load ptr, ptr %86, align 8 + %vfn.i.i.i286 = getelementptr inbounds ptr, ptr %vtable.i.i.i285, i64 1 + %87 = load ptr, ptr %vfn.i.i.i286, align 8 + call void %87(ptr noundef nonnull align 8 dereferenceable(128) %86) #28 + br label %_ZN7testing7MessageD2Ev.exit287 -_ZN7testing7MessageD2Ev.exit282: ; preds = %invoke.cont167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279 +_ZN7testing7MessageD2Ev.exit287: ; preds = %invoke.cont167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284 store ptr null, ptr %ref.tmp158, align 8 br label %if.end170 @@ -56521,224 +56543,225 @@ lpad162: ; preds = %invoke.cont163 lpad166: ; preds = %invoke.cont165 %90 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp161) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp161) #28 br label %ehcleanup169 ehcleanup169: ; preds = %lpad166, %lpad162 %.pn17 = phi { ptr, i32 } [ %90, %lpad166 ], [ %89, %lpad162 ] %91 = load ptr, ptr %ref.tmp158, align 8 - %cmp.not.i.i283 = icmp eq ptr %91, null - br i1 %cmp.not.i.i283, label %_ZN7testing7MessageD2Ev.exit287, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284 + %cmp.not.i.i288 = icmp eq ptr %91, null + br i1 %cmp.not.i.i288, label %_ZN7testing7MessageD2Ev.exit292, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284: ; preds = %ehcleanup169 - %vtable.i.i.i285 = load ptr, ptr %91, align 8 - %vfn.i.i.i286 = getelementptr inbounds ptr, ptr %vtable.i.i.i285, i64 1 - %92 = load ptr, ptr %vfn.i.i.i286, align 8 - call void %92(ptr noundef nonnull align 8 dereferenceable(128) %91) #27 - br label %_ZN7testing7MessageD2Ev.exit287 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289: ; preds = %ehcleanup169 + %vtable.i.i.i290 = load ptr, ptr %91, align 8 + %vfn.i.i.i291 = getelementptr inbounds ptr, ptr %vtable.i.i.i290, i64 1 + %92 = load ptr, ptr %vfn.i.i.i291, align 8 + call void %92(ptr noundef nonnull align 8 dereferenceable(128) %91) #28 + br label %_ZN7testing7MessageD2Ev.exit292 -_ZN7testing7MessageD2Ev.exit287: ; preds = %ehcleanup169, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284 +_ZN7testing7MessageD2Ev.exit292: ; preds = %ehcleanup169, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289 store ptr null, ptr %ref.tmp158, align 8 br label %ehcleanup171 -if.end170: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit266, %_ZN7testing7MessageD2Ev.exit282 - %message_.i288 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar137, i64 0, i32 1 - %93 = load ptr, ptr %message_.i288, align 8 - %cmp.not.i.i289 = icmp eq ptr %93, null - br i1 %cmp.not.i.i289, label %_ZN7testing15AssertionResultD2Ev.exit291, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290 +if.end170: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit271, %_ZN7testing7MessageD2Ev.exit287 + %message_.i293 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar137, i64 0, i32 1 + %93 = load ptr, ptr %message_.i293, align 8 + %cmp.not.i.i294 = icmp eq ptr %93, null + br i1 %cmp.not.i.i294, label %_ZN7testing15AssertionResultD2Ev.exit296, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290: ; preds = %if.end170 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #27 - call void @_ZdlPv(ptr noundef nonnull %93) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit291 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295: ; preds = %if.end170 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #28 + call void @_ZdlPv(ptr noundef nonnull %93) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit296 -_ZN7testing15AssertionResultD2Ev.exit291: ; preds = %if.end170, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290 - store ptr null, ptr %message_.i288, align 8 +_ZN7testing15AssertionResultD2Ev.exit296: ; preds = %if.end170, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 + store ptr null, ptr %message_.i293, align 8 %94 = load ptr, ptr %z, align 8 - %95 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 + %95 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 %tobool.not.i.i = icmp eq ptr %95, %94 br i1 %tobool.not.i.i, label %invoke.cont174, label %invoke.cont.i.i -invoke.cont.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit291 - store ptr %94, ptr %_M_finish.i4.i.i.i153, align 8 +invoke.cont.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit296 + store ptr %94, ptr %_M_finish.i4.i.i.i156, align 8 br label %invoke.cont174 -invoke.cont174: ; preds = %invoke.cont.i.i, %_ZN7testing15AssertionResultD2Ev.exit291 +invoke.cont174: ; preds = %invoke.cont.i.i, %_ZN7testing15AssertionResultD2Ev.exit296 %96 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 %incdec.ptr.i = getelementptr inbounds i32, ptr %96, i64 -1 store ptr %incdec.ptr.i, ptr %_M_finish.i.i.i.i.i, align 8 %97 = load ptr, ptr %y, align 8 - %cmp.i413.i296.not = icmp eq ptr %97, %incdec.ptr.i - br i1 %cmp.i413.i296.not, label %invoke.cont179, label %for.body.i302 - -for.body.i302: ; preds = %invoke.cont174, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309 - %98 = phi ptr [ %104, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309 ], [ %94, %invoke.cont174 ] - %first1.sroa.0.016.i303.idx = phi i64 [ %first1.sroa.0.016.i303.add, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309 ], [ 0, %invoke.cont174 ] - %first2.sroa.0.015.i304 = phi ptr [ %incdec.ptr.i6.i311, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309 ], [ %97, %invoke.cont174 ] - %first1.sroa.0.016.i303.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %first1.sroa.0.016.i303.idx - %99 = load i32, ptr %first1.sroa.0.016.i303.ptr, align 4 - %100 = load i32, ptr %first2.sroa.0.015.i304, align 4 - %add.i.i305 = add nsw i32 %100, %99 - %101 = load ptr, ptr %_M_end_of_storage.i.i.i198, align 8 - %cmp.not.i.i.i.i306 = icmp eq ptr %98, %101 - br i1 %cmp.not.i.i.i.i306, label %if.else.i.i.i.i315, label %if.then.i.i.i.i307 - -if.then.i.i.i.i307: ; preds = %for.body.i302 - store i32 %add.i.i305, ptr %98, align 4 - %102 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %incdec.ptr.i.i.i.i308 = getelementptr inbounds i32, ptr %102, i64 1 - store ptr %incdec.ptr.i.i.i.i308, ptr %_M_finish.i4.i.i.i153, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309 - -if.else.i.i.i.i315: ; preds = %for.body.i302 + %cmp.i413.i301.not = icmp eq ptr %97, %incdec.ptr.i + br i1 %cmp.i413.i301.not, label %invoke.cont179, label %for.body.i307 + +for.body.i307: ; preds = %invoke.cont174, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314 + %98 = phi ptr [ %104, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314 ], [ %94, %invoke.cont174 ] + %first1.sroa.0.016.i308.idx = phi i64 [ %first1.sroa.0.016.i308.add, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314 ], [ 0, %invoke.cont174 ] + %first2.sroa.0.015.i309 = phi ptr [ %incdec.ptr.i6.i316, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314 ], [ %97, %invoke.cont174 ] + %first1.sroa.0.016.i308.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %first1.sroa.0.016.i308.idx + %99 = load i32, ptr %first1.sroa.0.016.i308.ptr, align 4 + %100 = load i32, ptr %first2.sroa.0.015.i309, align 4 + %add.i.i310 = add nsw i32 %100, %99 + %101 = load ptr, ptr %_M_end_of_storage.i.i.i201, align 8 + %cmp.not.i.i.i.i311 = icmp eq ptr %98, %101 + br i1 %cmp.not.i.i.i.i311, label %if.else.i.i.i.i320, label %if.then.i.i.i.i312 + +if.then.i.i.i.i312: ; preds = %for.body.i307 + store i32 %add.i.i310, ptr %98, align 4 + %102 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %incdec.ptr.i.i.i.i313 = getelementptr inbounds i32, ptr %102, i64 1 + store ptr %incdec.ptr.i.i.i.i313, ptr %_M_finish.i4.i.i.i156, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314 + +if.else.i.i.i.i320: ; preds = %for.body.i307 %103 = load ptr, ptr %z, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i316 = ptrtoint ptr %98 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i317 = ptrtoint ptr %103 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i318 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i316, %sub.ptr.rhs.cast.i.i.i.i.i.i.i317 - %cmp.i.i.i.i.i.i319 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i318, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i319, label %if.then.i.i.i.i.i437.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i320 - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i320: ; preds = %if.else.i.i.i.i315 - %sub.ptr.div.i.i.i.i.i.i.i321 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i318, 2 - %.sroa.speculated.i.i.i.i.i.i322 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i.i321, i64 1) - %add.i.i.i.i.i.i323 = add i64 %.sroa.speculated.i.i.i.i.i.i322, %sub.ptr.div.i.i.i.i.i.i.i321 - %cmp7.i.i.i.i.i.i324 = icmp ult i64 %add.i.i.i.i.i.i323, %sub.ptr.div.i.i.i.i.i.i.i321 - %cmp9.i.i.i.i.i.i325 = icmp ugt i64 %add.i.i.i.i.i.i323, 2305843009213693951 - %or.cond.i.i.i.i.i.i326 = or i1 %cmp7.i.i.i.i.i.i324, %cmp9.i.i.i.i.i.i325 - %cond.i.i.i.i.i.i327 = select i1 %or.cond.i.i.i.i.i.i326, i64 2305843009213693951, i64 %add.i.i.i.i.i.i323 - %cmp.not.i.i.i.i.i.i328 = icmp eq i64 %cond.i.i.i.i.i.i327, 0 - br i1 %cmp.not.i.i.i.i.i.i328, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i331, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i329 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i329: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i320 - %mul.i.i.i.i.i.i.i.i330 = shl nuw nsw i64 %cond.i.i.i.i.i.i327, 2 - %call5.i.i.i.i.i.i.i.i345 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i330) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i331 unwind label %lpad5.loopexit.split-lp.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i331: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i329, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i320 - %cond.i10.i.i.i.i.i332 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i320 ], [ %call5.i.i.i.i.i.i.i.i345, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i329 ] - %add.ptr.i.i.i.i.i333 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i332, i64 %sub.ptr.div.i.i.i.i.i.i.i321 - store i32 %add.i.i305, ptr %add.ptr.i.i.i.i.i333, align 4 - %cmp.i.i.i11.i.i.i.i.i334 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i321, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i334, label %if.then.i.i.i12.i.i.i.i.i341, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i335 - -if.then.i.i.i12.i.i.i.i.i341: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i331 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i332, ptr align 4 %103, i64 %sub.ptr.sub.i.i.i.i.i.i.i318, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i335 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i335: ; preds = %if.then.i.i.i12.i.i.i.i.i341, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i331 - %incdec.ptr.i.i.i.i.i336 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i333, i64 1 - %tobool.not.i.i.i.i.i.i337 = icmp eq ptr %103, null - br i1 %tobool.not.i.i.i.i.i.i337, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i339, label %if.then.i21.i.i.i.i.i338 - -if.then.i21.i.i.i.i.i338: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i335 - call void @_ZdlPv(ptr noundef nonnull %103) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i339 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i339: ; preds = %if.then.i21.i.i.i.i.i338, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i335 - store ptr %cond.i10.i.i.i.i.i332, ptr %z, align 8 - store ptr %incdec.ptr.i.i.i.i.i336, ptr %_M_finish.i4.i.i.i153, align 8 - %add.ptr19.i.i.i.i.i340 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i332, i64 %cond.i.i.i.i.i.i327 - store ptr %add.ptr19.i.i.i.i.i340, ptr %_M_end_of_storage.i.i.i198, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309 - -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i339, %if.then.i.i.i.i307 - %104 = phi ptr [ %incdec.ptr.i.i.i.i308, %if.then.i.i.i.i307 ], [ %incdec.ptr.i.i.i.i.i336, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i339 ] - %first1.sroa.0.016.i303.add = add nuw nsw i64 %first1.sroa.0.016.i303.idx, 4 - %incdec.ptr.i6.i311 = getelementptr inbounds i32, ptr %first2.sroa.0.015.i304, i64 1 - %cmp.i.i312 = icmp ne i64 %first1.sroa.0.016.i303.add, 12 - %cmp.i4.i313 = icmp ne ptr %incdec.ptr.i6.i311, %incdec.ptr.i - %or.cond.i314 = select i1 %cmp.i.i312, i1 %cmp.i4.i313, i1 false - br i1 %or.cond.i314, label %for.body.i302, label %invoke.cont179, !llvm.loop !1470 - -invoke.cont179: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309, %invoke.cont174 - %105 = phi ptr [ %94, %invoke.cont174 ], [ %104, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i309 ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i321 = ptrtoint ptr %98 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i322 = ptrtoint ptr %103 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i323 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i321, %sub.ptr.rhs.cast.i.i.i.i.i.i.i322 + %cmp.i.i.i.i.i.i324 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i323, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i324, label %if.then.i.i.i.i.i445.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i325 + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i325: ; preds = %if.else.i.i.i.i320 + %sub.ptr.div.i.i.i.i.i.i.i326 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i323, 2 + %.sroa.speculated.i.i.i.i.i.i327 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i.i326, i64 1) + %add.i.i.i.i.i.i328 = add i64 %.sroa.speculated.i.i.i.i.i.i327, %sub.ptr.div.i.i.i.i.i.i.i326 + %cmp7.i.i.i.i.i.i329 = icmp ult i64 %add.i.i.i.i.i.i328, %sub.ptr.div.i.i.i.i.i.i.i326 + %cmp9.i.i.i.i.i.i330 = icmp ugt i64 %add.i.i.i.i.i.i328, 2305843009213693951 + %or.cond.i.i.i.i.i.i331 = or i1 %cmp7.i.i.i.i.i.i329, %cmp9.i.i.i.i.i.i330 + %cond.i.i.i.i.i.i332 = select i1 %or.cond.i.i.i.i.i.i331, i64 2305843009213693951, i64 %add.i.i.i.i.i.i328 + %cmp.not.i.i.i.i.i.i333 = icmp eq i64 %cond.i.i.i.i.i.i332, 0 + br i1 %cmp.not.i.i.i.i.i.i333, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i336, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i334 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i334: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i325 + %mul.i.i.i.i.i.i.i.i335 = shl nuw nsw i64 %cond.i.i.i.i.i.i332, 2 + %call5.i.i.i.i.i.i.i.i351 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i335) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i336 unwind label %lpad5.loopexit.split-lp.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i336: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i334, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i325 + %cond.i10.i.i.i.i.i337 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i325 ], [ %call5.i.i.i.i.i.i.i.i351, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i334 ] + %add.ptr.i.i.i.i.i338 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i337, i64 %sub.ptr.div.i.i.i.i.i.i.i326 + store i32 %add.i.i310, ptr %add.ptr.i.i.i.i.i338, align 4 + %cmp.i.i.i11.i.i.i.i.i339 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i323, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i339, label %if.then.i.i.i12.i.i.i.i.i347, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i340 + +if.then.i.i.i12.i.i.i.i.i347: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i336 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i337, ptr align 4 %103, i64 %sub.ptr.sub.i.i.i.i.i.i.i323, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i340 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i340: ; preds = %if.then.i.i.i12.i.i.i.i.i347, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i336 + %add.ptr.i.i.i.i.i.i.i.i341 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i337, i64 %sub.ptr.sub.i.i.i.i.i.i.i323 + %incdec.ptr.i.i.i.i.i342 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i341, i64 1 + %tobool.not.i.i.i.i.i.i343 = icmp eq ptr %103, null + br i1 %tobool.not.i.i.i.i.i.i343, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i345, label %if.then.i20.i.i.i.i.i344 + +if.then.i20.i.i.i.i.i344: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i340 + call void @_ZdlPv(ptr noundef nonnull %103) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i345 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i345: ; preds = %if.then.i20.i.i.i.i.i344, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i340 + store ptr %cond.i10.i.i.i.i.i337, ptr %z, align 8 + store ptr %incdec.ptr.i.i.i.i.i342, ptr %_M_finish.i4.i.i.i156, align 8 + %add.ptr19.i.i.i.i.i346 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i337, i64 %cond.i.i.i.i.i.i332 + store ptr %add.ptr19.i.i.i.i.i346, ptr %_M_end_of_storage.i.i.i201, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314 + +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i345, %if.then.i.i.i.i312 + %104 = phi ptr [ %incdec.ptr.i.i.i.i313, %if.then.i.i.i.i312 ], [ %incdec.ptr.i.i.i.i.i342, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i345 ] + %first1.sroa.0.016.i308.add = add nuw nsw i64 %first1.sroa.0.016.i308.idx, 4 + %incdec.ptr.i6.i316 = getelementptr inbounds i32, ptr %first2.sroa.0.015.i309, i64 1 + %cmp.i.i317 = icmp ne i64 %first1.sroa.0.016.i308.add, 12 + %cmp.i4.i318 = icmp ne ptr %incdec.ptr.i6.i316, %incdec.ptr.i + %or.cond.i319 = select i1 %cmp.i.i317, i1 %cmp.i4.i318, i1 false + br i1 %or.cond.i319, label %for.body.i307, label %invoke.cont179, !llvm.loop !1470 + +invoke.cont179: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314, %invoke.cont174 + %105 = phi ptr [ %94, %invoke.cont174 ], [ %104, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i314 ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp183, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i347 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 - to label %invoke.cont193 unwind label %lpad.i348 + %call5.i.i.i.i2.i353 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 + to label %invoke.cont193 unwind label %lpad.i354 -lpad.i348: ; preds = %invoke.cont179 +lpad.i354: ; preds = %invoke.cont179 %106 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 invoke.cont193: ; preds = %invoke.cont179 - store ptr %call5.i.i.i.i2.i347, ptr %ref.tmp183, align 8 - %add.ptr.i1.i352 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i347, i64 2 - %_M_end_of_storage.i.i353 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp183, i64 0, i32 2 - store ptr %add.ptr.i1.i352, ptr %_M_end_of_storage.i.i353, align 8 - store i32 1, ptr %call5.i.i.i.i2.i347, align 4 - %ref.tmp185.sroa.2.0.call5.i.i.i.i2.i347.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i347, i64 4 - store i32 5, ptr %ref.tmp185.sroa.2.0.call5.i.i.i.i2.i347.sroa_idx, align 4 - %_M_finish.i.i354 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp183, i64 0, i32 1 - store ptr %add.ptr.i1.i352, ptr %_M_finish.i.i354, align 8 + store ptr %call5.i.i.i.i2.i353, ptr %ref.tmp183, align 8 + %add.ptr.i1.i358 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i353, i64 8 + %_M_end_of_storage.i.i359 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp183, i64 0, i32 2 + store ptr %add.ptr.i1.i358, ptr %_M_end_of_storage.i.i359, align 8 + store i32 1, ptr %call5.i.i.i.i2.i353, align 4 + %ref.tmp185.sroa.2.0.call5.i.i.i.i2.i353.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i353, i64 4 + store i32 5, ptr %ref.tmp185.sroa.2.0.call5.i.i.i.i2.i353.sroa_idx, align 4 + %_M_finish.i.i361 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp183, i64 0, i32 1 + store ptr %add.ptr.i1.i358, ptr %_M_finish.i.i361, align 8 %107 = load ptr, ptr %z, align 8, !noalias !1481 - %sub.ptr.lhs.cast.i5.i.i.i362 = ptrtoint ptr %105 to i64 - %sub.ptr.rhs.cast.i6.i.i.i363 = ptrtoint ptr %107 to i64 - %sub.ptr.sub.i7.i.i.i364 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i362, %sub.ptr.rhs.cast.i6.i.i.i363 - %cmp.i.i.i365 = icmp eq i64 %sub.ptr.sub.i7.i.i.i364, 8 - br i1 %cmp.i.i.i365, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i369, label %if.end.i.i366 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i369: ; preds = %invoke.cont193 - %bcmp.i.i.i.i.i.i.i370 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %call5.i.i.i.i2.i347, ptr noundef nonnull dereferenceable(8) %107, i64 8), !noalias !1481 - %tobool1.not.i.i.i.i.i.i.i371 = icmp eq i32 %bcmp.i.i.i.i.i.i.i370, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i371, label %if.then.i.i372, label %if.end.i.i366 - -if.then.i.i372: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i369 + %sub.ptr.lhs.cast.i5.i.i.i369 = ptrtoint ptr %105 to i64 + %sub.ptr.rhs.cast.i6.i.i.i370 = ptrtoint ptr %107 to i64 + %sub.ptr.sub.i7.i.i.i371 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i369, %sub.ptr.rhs.cast.i6.i.i.i370 + %cmp.i.i.i372 = icmp eq i64 %sub.ptr.sub.i7.i.i.i371, 8 + br i1 %cmp.i.i.i372, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i376, label %if.end.i.i373 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i376: ; preds = %invoke.cont193 + %bcmp.i.i.i.i.i.i.i377 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %call5.i.i.i.i2.i353, ptr noundef nonnull dereferenceable(8) %107, i64 8), !noalias !1481 + %tobool1.not.i.i.i.i.i.i.i378 = icmp eq i32 %bcmp.i.i.i.i.i.i.i377, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i378, label %if.then.i.i379, label %if.end.i.i373 + +if.then.i.i379: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i376 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar182) to label %invoke.cont195 unwind label %lpad194 -if.end.i.i366: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i369, %invoke.cont193 +if.end.i.i373: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i376, %invoke.cont193 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar182, ptr noundef nonnull @.str.449, ptr noundef nonnull @.str.447, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp183, ptr noundef nonnull align 8 dereferenceable(24) %z) to label %invoke.cont195 unwind label %lpad194 -invoke.cont195: ; preds = %if.then.i.i372, %if.end.i.i366 +invoke.cont195: ; preds = %if.then.i.i379, %if.end.i.i373 %108 = load ptr, ptr %ref.tmp183, align 8 - %tobool.not.i.i.i376 = icmp eq ptr %108, null - br i1 %tobool.not.i.i.i376, label %_ZNSt6vectorIiSaIiEED2Ev.exit379, label %if.then.i.i.i377 + %tobool.not.i.i.i383 = icmp eq ptr %108, null + br i1 %tobool.not.i.i.i383, label %_ZNSt6vectorIiSaIiEED2Ev.exit386, label %if.then.i.i.i384 -if.then.i.i.i377: ; preds = %invoke.cont195 - call void @_ZdlPv(ptr noundef nonnull %108) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit379 +if.then.i.i.i384: ; preds = %invoke.cont195 + call void @_ZdlPv(ptr noundef nonnull %108) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit386 -_ZNSt6vectorIiSaIiEED2Ev.exit379: ; preds = %invoke.cont195, %if.then.i.i.i377 +_ZNSt6vectorIiSaIiEED2Ev.exit386: ; preds = %invoke.cont195, %if.then.i.i.i384 %109 = load i8, ptr %gtest_ar182, align 8 %110 = and i8 %109, 1 - %tobool.i380.not = icmp eq i8 %110, 0 - br i1 %tobool.i380.not, label %if.else200, label %if.end213 + %tobool.i387.not = icmp eq i8 %110, 0 + br i1 %tobool.i387.not, label %if.else200, label %if.end213 -ehcleanup171: ; preds = %_ZN7testing7MessageD2Ev.exit287, %lpad159 - %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit287 ], [ %88, %lpad159 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar137) #27 +ehcleanup171: ; preds = %_ZN7testing7MessageD2Ev.exit292, %lpad159 + %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit292 ], [ %88, %lpad159 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar137) #28 br label %ehcleanup334 -lpad194: ; preds = %if.end.i.i366, %if.then.i.i372 +lpad194: ; preds = %if.end.i.i373, %if.then.i.i379 %111 = landingpad { ptr, i32 } cleanup %112 = load ptr, ptr %ref.tmp183, align 8 - %tobool.not.i.i.i381 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i381, label %ehcleanup334, label %if.then.i.i.i382 + %tobool.not.i.i.i388 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i388, label %ehcleanup334, label %if.then.i.i.i389 -if.then.i.i.i382: ; preds = %lpad194 - call void @_ZdlPv(ptr noundef nonnull %112) #28 +if.then.i.i.i389: ; preds = %lpad194 + call void @_ZdlPv(ptr noundef nonnull %112) #29 br label %ehcleanup334 -if.else200: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit379 +if.else200: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit386 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp201) to label %invoke.cont203 unwind label %lpad202 invoke.cont203: ; preds = %if.else200 - %message_.i.i385 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar182, i64 0, i32 1 - %113 = load ptr, ptr %message_.i.i385, align 8 - %cmp.i.i.not.i.i386 = icmp eq ptr %113, null - br i1 %cmp.i.i.not.i.i386, label %invoke.cont206, label %cond.true.i.i387 + %message_.i.i392 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar182, i64 0, i32 1 + %113 = load ptr, ptr %message_.i.i392, align 8 + %cmp.i.i.not.i.i393 = icmp eq ptr %113, null + br i1 %cmp.i.i.not.i.i393, label %invoke.cont206, label %cond.true.i.i394 -cond.true.i.i387: ; preds = %invoke.cont203 - %call4.i.i388 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %113) #27 +cond.true.i.i394: ; preds = %invoke.cont203 + %call4.i.i395 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %113) #28 br label %invoke.cont206 -invoke.cont206: ; preds = %cond.true.i.i387, %invoke.cont203 - %cond.i.i389 = phi ptr [ %call4.i.i388, %cond.true.i.i387 ], [ @.str.255, %invoke.cont203 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 781, ptr noundef %cond.i.i389) +invoke.cont206: ; preds = %cond.true.i.i394, %invoke.cont203 + %cond.i.i396 = phi ptr [ %call4.i.i395, %cond.true.i.i394 ], [ @.str.255, %invoke.cont203 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 781, ptr noundef %cond.i.i396) to label %invoke.cont208 unwind label %lpad205 invoke.cont208: ; preds = %invoke.cont206 @@ -56746,19 +56769,19 @@ invoke.cont208: ; preds = %invoke.cont206 to label %invoke.cont210 unwind label %lpad209 invoke.cont210: ; preds = %invoke.cont208 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204) #28 %114 = load ptr, ptr %ref.tmp201, align 8 - %cmp.not.i.i391 = icmp eq ptr %114, null - br i1 %cmp.not.i.i391, label %_ZN7testing7MessageD2Ev.exit395, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i392 + %cmp.not.i.i398 = icmp eq ptr %114, null + br i1 %cmp.not.i.i398, label %_ZN7testing7MessageD2Ev.exit402, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i392: ; preds = %invoke.cont210 - %vtable.i.i.i393 = load ptr, ptr %114, align 8 - %vfn.i.i.i394 = getelementptr inbounds ptr, ptr %vtable.i.i.i393, i64 1 - %115 = load ptr, ptr %vfn.i.i.i394, align 8 - call void %115(ptr noundef nonnull align 8 dereferenceable(128) %114) #27 - br label %_ZN7testing7MessageD2Ev.exit395 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399: ; preds = %invoke.cont210 + %vtable.i.i.i400 = load ptr, ptr %114, align 8 + %vfn.i.i.i401 = getelementptr inbounds ptr, ptr %vtable.i.i.i400, i64 1 + %115 = load ptr, ptr %vfn.i.i.i401, align 8 + call void %115(ptr noundef nonnull align 8 dereferenceable(128) %114) #28 + br label %_ZN7testing7MessageD2Ev.exit402 -_ZN7testing7MessageD2Ev.exit395: ; preds = %invoke.cont210, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i392 +_ZN7testing7MessageD2Ev.exit402: ; preds = %invoke.cont210, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399 store ptr null, ptr %ref.tmp201, align 8 br label %if.end213 @@ -56775,200 +56798,201 @@ lpad205: ; preds = %invoke.cont206 lpad209: ; preds = %invoke.cont208 %118 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204) #28 br label %ehcleanup212 ehcleanup212: ; preds = %lpad209, %lpad205 %.pn22 = phi { ptr, i32 } [ %118, %lpad209 ], [ %117, %lpad205 ] %119 = load ptr, ptr %ref.tmp201, align 8 - %cmp.not.i.i396 = icmp eq ptr %119, null - br i1 %cmp.not.i.i396, label %_ZN7testing7MessageD2Ev.exit400, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i397 + %cmp.not.i.i403 = icmp eq ptr %119, null + br i1 %cmp.not.i.i403, label %_ZN7testing7MessageD2Ev.exit407, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i404 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i397: ; preds = %ehcleanup212 - %vtable.i.i.i398 = load ptr, ptr %119, align 8 - %vfn.i.i.i399 = getelementptr inbounds ptr, ptr %vtable.i.i.i398, i64 1 - %120 = load ptr, ptr %vfn.i.i.i399, align 8 - call void %120(ptr noundef nonnull align 8 dereferenceable(128) %119) #27 - br label %_ZN7testing7MessageD2Ev.exit400 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i404: ; preds = %ehcleanup212 + %vtable.i.i.i405 = load ptr, ptr %119, align 8 + %vfn.i.i.i406 = getelementptr inbounds ptr, ptr %vtable.i.i.i405, i64 1 + %120 = load ptr, ptr %vfn.i.i.i406, align 8 + call void %120(ptr noundef nonnull align 8 dereferenceable(128) %119) #28 + br label %_ZN7testing7MessageD2Ev.exit407 -_ZN7testing7MessageD2Ev.exit400: ; preds = %ehcleanup212, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i397 +_ZN7testing7MessageD2Ev.exit407: ; preds = %ehcleanup212, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i404 store ptr null, ptr %ref.tmp201, align 8 br label %ehcleanup214 -if.end213: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit379, %_ZN7testing7MessageD2Ev.exit395 - %message_.i401 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar182, i64 0, i32 1 - %121 = load ptr, ptr %message_.i401, align 8 - %cmp.not.i.i402 = icmp eq ptr %121, null - br i1 %cmp.not.i.i402, label %_ZN7testing15AssertionResultD2Ev.exit404, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i403 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i403: ; preds = %if.end213 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #27 - call void @_ZdlPv(ptr noundef nonnull %121) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit404 - -_ZN7testing15AssertionResultD2Ev.exit404: ; preds = %if.end213, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i403 - store ptr null, ptr %message_.i401, align 8 - %122 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %123 = load ptr, ptr %_M_end_of_storage.i.i.i198, align 8 - %cmp.not.i.i.i407 = icmp eq ptr %122, %123 - br i1 %cmp.not.i.i.i407, label %if.else.i.i.i410, label %if.then.i.i.i408 - -if.then.i.i.i408: ; preds = %_ZN7testing15AssertionResultD2Ev.exit404 +if.end213: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit386, %_ZN7testing7MessageD2Ev.exit402 + %message_.i408 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar182, i64 0, i32 1 + %121 = load ptr, ptr %message_.i408, align 8 + %cmp.not.i.i409 = icmp eq ptr %121, null + br i1 %cmp.not.i.i409, label %_ZN7testing15AssertionResultD2Ev.exit411, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i410 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i410: ; preds = %if.end213 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #28 + call void @_ZdlPv(ptr noundef nonnull %121) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit411 + +_ZN7testing15AssertionResultD2Ev.exit411: ; preds = %if.end213, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i410 + store ptr null, ptr %message_.i408, align 8 + %122 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %123 = load ptr, ptr %_M_end_of_storage.i.i.i201, align 8 + %cmp.not.i.i.i414 = icmp eq ptr %122, %123 + br i1 %cmp.not.i.i.i414, label %if.else.i.i.i417, label %if.then.i.i.i415 + +if.then.i.i.i415: ; preds = %_ZN7testing15AssertionResultD2Ev.exit411 store i32 7, ptr %122, align 4 - %124 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %incdec.ptr.i.i.i409 = getelementptr inbounds i32, ptr %124, i64 1 - store ptr %incdec.ptr.i.i.i409, ptr %_M_finish.i4.i.i.i153, align 8 + %124 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %incdec.ptr.i.i.i416 = getelementptr inbounds i32, ptr %124, i64 1 + store ptr %incdec.ptr.i.i.i416, ptr %_M_finish.i4.i.i.i156, align 8 br label %invoke.cont217 -if.else.i.i.i410: ; preds = %_ZN7testing15AssertionResultD2Ev.exit404 +if.else.i.i.i417: ; preds = %_ZN7testing15AssertionResultD2Ev.exit411 %125 = load ptr, ptr %z, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i411 = ptrtoint ptr %122 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i412 = ptrtoint ptr %125 to i64 - %sub.ptr.sub.i.i.i.i.i.i413 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i411, %sub.ptr.rhs.cast.i.i.i.i.i.i412 - %cmp.i.i.i.i.i414 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i413, 9223372036854775804 - br i1 %cmp.i.i.i.i.i414, label %if.then.i.i.i.i.i437.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i415 + %sub.ptr.lhs.cast.i.i.i.i.i.i418 = ptrtoint ptr %122 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i419 = ptrtoint ptr %125 to i64 + %sub.ptr.sub.i.i.i.i.i.i420 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i418, %sub.ptr.rhs.cast.i.i.i.i.i.i419 + %cmp.i.i.i.i.i421 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i420, 9223372036854775804 + br i1 %cmp.i.i.i.i.i421, label %if.then.i.i.i.i.i445.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i422 -if.then.i.i.i.i.i437.invoke: ; preds = %if.else.i.i.i.i.i, %if.else.i.i.i.i, %if.else.i.i.i.i315, %if.else.i.i.i410, %if.else.i.i.i202, %if.else.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 - to label %if.then.i.i.i.i.i437.cont unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp +if.then.i.i.i.i.i445.invoke: ; preds = %if.else.i.i.i.i.i, %if.else.i.i.i.i, %if.else.i.i.i.i320, %if.else.i.i.i417, %if.else.i.i.i205, %if.else.i.i.i + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 + to label %if.then.i.i.i.i.i445.cont unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i.i437.cont: ; preds = %if.then.i.i.i.i.i437.invoke +if.then.i.i.i.i.i445.cont: ; preds = %if.then.i.i.i.i.i445.invoke unreachable -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i415: ; preds = %if.else.i.i.i410 - %sub.ptr.div.i.i.i.i.i.i416 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i413, 2 - %.sroa.speculated.i.i.i.i.i417 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i416, i64 1) - %add.i.i.i.i.i418 = add i64 %.sroa.speculated.i.i.i.i.i417, %sub.ptr.div.i.i.i.i.i.i416 - %cmp7.i.i.i.i.i419 = icmp ult i64 %add.i.i.i.i.i418, %sub.ptr.div.i.i.i.i.i.i416 - %cmp9.i.i.i.i.i420 = icmp ugt i64 %add.i.i.i.i.i418, 2305843009213693951 - %or.cond.i.i.i.i.i421 = or i1 %cmp7.i.i.i.i.i419, %cmp9.i.i.i.i.i420 - %cond.i.i.i.i.i422 = select i1 %or.cond.i.i.i.i.i421, i64 2305843009213693951, i64 %add.i.i.i.i.i418 - %cmp.not.i.i.i.i.i423 = icmp eq i64 %cond.i.i.i.i.i422, 0 - br i1 %cmp.not.i.i.i.i.i423, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i426, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i424 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i424: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i415 - %mul.i.i.i.i.i.i.i425 = shl nuw nsw i64 %cond.i.i.i.i.i422, 2 - %call5.i.i.i.i.i.i.i440 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i425) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i426 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i426: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i424, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i415 - %cond.i10.i.i.i.i427 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i415 ], [ %call5.i.i.i.i.i.i.i440, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i424 ] - %add.ptr.i.i.i.i428 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i427, i64 %sub.ptr.div.i.i.i.i.i.i416 - store i32 7, ptr %add.ptr.i.i.i.i428, align 4 - %cmp.i.i.i11.i.i.i.i429 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i416, 0 - br i1 %cmp.i.i.i11.i.i.i.i429, label %if.then.i.i.i12.i.i.i.i436, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i430 - -if.then.i.i.i12.i.i.i.i436: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i426 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i427, ptr align 4 %125, i64 %sub.ptr.sub.i.i.i.i.i.i413, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i430 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i430: ; preds = %if.then.i.i.i12.i.i.i.i436, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i426 - %incdec.ptr.i.i.i.i431 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i428, i64 1 - %tobool.not.i.i.i.i.i432 = icmp eq ptr %125, null - br i1 %tobool.not.i.i.i.i.i432, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i434, label %if.then.i21.i.i.i.i433 - -if.then.i21.i.i.i.i433: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i430 - call void @_ZdlPv(ptr noundef nonnull %125) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i434 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i434: ; preds = %if.then.i21.i.i.i.i433, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i430 - store ptr %cond.i10.i.i.i.i427, ptr %z, align 8 - store ptr %incdec.ptr.i.i.i.i431, ptr %_M_finish.i4.i.i.i153, align 8 - %add.ptr19.i.i.i.i435 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i427, i64 %cond.i.i.i.i.i422 - store ptr %add.ptr19.i.i.i.i435, ptr %_M_end_of_storage.i.i.i198, align 8 +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i422: ; preds = %if.else.i.i.i417 + %sub.ptr.div.i.i.i.i.i.i423 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i420, 2 + %.sroa.speculated.i.i.i.i.i424 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i423, i64 1) + %add.i.i.i.i.i425 = add i64 %.sroa.speculated.i.i.i.i.i424, %sub.ptr.div.i.i.i.i.i.i423 + %cmp7.i.i.i.i.i426 = icmp ult i64 %add.i.i.i.i.i425, %sub.ptr.div.i.i.i.i.i.i423 + %cmp9.i.i.i.i.i427 = icmp ugt i64 %add.i.i.i.i.i425, 2305843009213693951 + %or.cond.i.i.i.i.i428 = or i1 %cmp7.i.i.i.i.i426, %cmp9.i.i.i.i.i427 + %cond.i.i.i.i.i429 = select i1 %or.cond.i.i.i.i.i428, i64 2305843009213693951, i64 %add.i.i.i.i.i425 + %cmp.not.i.i.i.i.i430 = icmp eq i64 %cond.i.i.i.i.i429, 0 + br i1 %cmp.not.i.i.i.i.i430, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i433, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i431 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i431: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i422 + %mul.i.i.i.i.i.i.i432 = shl nuw nsw i64 %cond.i.i.i.i.i429, 2 + %call5.i.i.i.i.i.i.i448 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i432) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i433 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i433: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i431, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i422 + %cond.i10.i.i.i.i434 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i422 ], [ %call5.i.i.i.i.i.i.i448, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i431 ] + %add.ptr.i.i.i.i435 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i434, i64 %sub.ptr.div.i.i.i.i.i.i423 + store i32 7, ptr %add.ptr.i.i.i.i435, align 4 + %cmp.i.i.i11.i.i.i.i436 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i420, 0 + br i1 %cmp.i.i.i11.i.i.i.i436, label %if.then.i.i.i12.i.i.i.i444, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i437 + +if.then.i.i.i12.i.i.i.i444: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i433 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i434, ptr align 4 %125, i64 %sub.ptr.sub.i.i.i.i.i.i420, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i437 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i437: ; preds = %if.then.i.i.i12.i.i.i.i444, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i433 + %add.ptr.i.i.i.i.i.i.i438 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i434, i64 %sub.ptr.sub.i.i.i.i.i.i420 + %incdec.ptr.i.i.i.i439 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i438, i64 1 + %tobool.not.i.i.i.i.i440 = icmp eq ptr %125, null + br i1 %tobool.not.i.i.i.i.i440, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i442, label %if.then.i20.i.i.i.i441 + +if.then.i20.i.i.i.i441: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i437 + call void @_ZdlPv(ptr noundef nonnull %125) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i442 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i442: ; preds = %if.then.i20.i.i.i.i441, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i437 + store ptr %cond.i10.i.i.i.i434, ptr %z, align 8 + store ptr %incdec.ptr.i.i.i.i439, ptr %_M_finish.i4.i.i.i156, align 8 + %add.ptr19.i.i.i.i443 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i434, i64 %cond.i.i.i.i.i429 + store ptr %add.ptr19.i.i.i.i443, ptr %_M_end_of_storage.i.i.i201, align 8 br label %invoke.cont217 -invoke.cont217: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i434, %if.then.i.i.i408 - %126 = phi ptr [ %incdec.ptr.i.i.i.i431, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i434 ], [ %incdec.ptr.i.i.i409, %if.then.i.i.i408 ] +invoke.cont217: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i442, %if.then.i.i.i415 + %126 = phi ptr [ %incdec.ptr.i.i.i.i439, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i442 ], [ %incdec.ptr.i.i.i416, %if.then.i.i.i415 ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp220, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i442 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 - to label %invoke.cont231 unwind label %lpad.i443 + %call5.i.i.i.i2.i450 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 + to label %invoke.cont231 unwind label %lpad.i451 -lpad.i443: ; preds = %invoke.cont217 +lpad.i451: ; preds = %invoke.cont217 %127 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 invoke.cont231: ; preds = %invoke.cont217 - store ptr %call5.i.i.i.i2.i442, ptr %ref.tmp220, align 8 - %add.ptr.i1.i447 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i442, i64 3 - %_M_end_of_storage.i.i448 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp220, i64 0, i32 2 - store ptr %add.ptr.i1.i447, ptr %_M_end_of_storage.i.i448, align 8 - store i32 1, ptr %call5.i.i.i.i2.i442, align 4 - %ref.tmp222.sroa.2.0.call5.i.i.i.i2.i442.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i442, i64 4 - store i32 5, ptr %ref.tmp222.sroa.2.0.call5.i.i.i.i2.i442.sroa_idx, align 4 - %ref.tmp222.sroa.3.0.call5.i.i.i.i2.i442.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i442, i64 8 - store i32 7, ptr %ref.tmp222.sroa.3.0.call5.i.i.i.i2.i442.sroa_idx, align 4 - %_M_finish.i.i449 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp220, i64 0, i32 1 - store ptr %add.ptr.i1.i447, ptr %_M_finish.i.i449, align 8 + store ptr %call5.i.i.i.i2.i450, ptr %ref.tmp220, align 8 + %add.ptr.i1.i455 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i450, i64 12 + %_M_end_of_storage.i.i456 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp220, i64 0, i32 2 + store ptr %add.ptr.i1.i455, ptr %_M_end_of_storage.i.i456, align 8 + store i32 1, ptr %call5.i.i.i.i2.i450, align 4 + %ref.tmp222.sroa.2.0.call5.i.i.i.i2.i450.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i450, i64 4 + store i32 5, ptr %ref.tmp222.sroa.2.0.call5.i.i.i.i2.i450.sroa_idx, align 4 + %ref.tmp222.sroa.3.0.call5.i.i.i.i2.i450.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i450, i64 8 + store i32 7, ptr %ref.tmp222.sroa.3.0.call5.i.i.i.i2.i450.sroa_idx, align 4 + %_M_finish.i.i458 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp220, i64 0, i32 1 + store ptr %add.ptr.i1.i455, ptr %_M_finish.i.i458, align 8 %128 = load ptr, ptr %z, align 8, !noalias !1486 - %sub.ptr.lhs.cast.i5.i.i.i457 = ptrtoint ptr %126 to i64 - %sub.ptr.rhs.cast.i6.i.i.i458 = ptrtoint ptr %128 to i64 - %sub.ptr.sub.i7.i.i.i459 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i457, %sub.ptr.rhs.cast.i6.i.i.i458 - %cmp.i.i.i460 = icmp eq i64 %sub.ptr.sub.i7.i.i.i459, 12 - br i1 %cmp.i.i.i460, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i464, label %if.end.i.i461 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i464: ; preds = %invoke.cont231 - %bcmp.i.i.i.i.i.i.i465 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %call5.i.i.i.i2.i442, ptr noundef nonnull dereferenceable(12) %128, i64 12), !noalias !1486 - %tobool1.not.i.i.i.i.i.i.i466 = icmp eq i32 %bcmp.i.i.i.i.i.i.i465, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i466, label %if.then.i.i467, label %if.end.i.i461 - -if.then.i.i467: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i464 + %sub.ptr.lhs.cast.i5.i.i.i466 = ptrtoint ptr %126 to i64 + %sub.ptr.rhs.cast.i6.i.i.i467 = ptrtoint ptr %128 to i64 + %sub.ptr.sub.i7.i.i.i468 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i466, %sub.ptr.rhs.cast.i6.i.i.i467 + %cmp.i.i.i469 = icmp eq i64 %sub.ptr.sub.i7.i.i.i468, 12 + br i1 %cmp.i.i.i469, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i473, label %if.end.i.i470 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i473: ; preds = %invoke.cont231 + %bcmp.i.i.i.i.i.i.i474 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %call5.i.i.i.i2.i450, ptr noundef nonnull dereferenceable(12) %128, i64 12), !noalias !1486 + %tobool1.not.i.i.i.i.i.i.i475 = icmp eq i32 %bcmp.i.i.i.i.i.i.i474, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i475, label %if.then.i.i476, label %if.end.i.i470 + +if.then.i.i476: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i473 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar219) to label %invoke.cont233 unwind label %lpad232 -if.end.i.i461: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i464, %invoke.cont231 +if.end.i.i470: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i473, %invoke.cont231 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar219, ptr noundef nonnull @.str.450, ptr noundef nonnull @.str.447, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp220, ptr noundef nonnull align 8 dereferenceable(24) %z) to label %invoke.cont233 unwind label %lpad232 -invoke.cont233: ; preds = %if.then.i.i467, %if.end.i.i461 +invoke.cont233: ; preds = %if.then.i.i476, %if.end.i.i470 %129 = load ptr, ptr %ref.tmp220, align 8 - %tobool.not.i.i.i471 = icmp eq ptr %129, null - br i1 %tobool.not.i.i.i471, label %_ZNSt6vectorIiSaIiEED2Ev.exit474, label %if.then.i.i.i472 + %tobool.not.i.i.i480 = icmp eq ptr %129, null + br i1 %tobool.not.i.i.i480, label %_ZNSt6vectorIiSaIiEED2Ev.exit483, label %if.then.i.i.i481 -if.then.i.i.i472: ; preds = %invoke.cont233 - call void @_ZdlPv(ptr noundef nonnull %129) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit474 +if.then.i.i.i481: ; preds = %invoke.cont233 + call void @_ZdlPv(ptr noundef nonnull %129) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit483 -_ZNSt6vectorIiSaIiEED2Ev.exit474: ; preds = %invoke.cont233, %if.then.i.i.i472 +_ZNSt6vectorIiSaIiEED2Ev.exit483: ; preds = %invoke.cont233, %if.then.i.i.i481 %130 = load i8, ptr %gtest_ar219, align 8 %131 = and i8 %130, 1 - %tobool.i475.not = icmp eq i8 %131, 0 - br i1 %tobool.i475.not, label %if.else238, label %if.end251 + %tobool.i484.not = icmp eq i8 %131, 0 + br i1 %tobool.i484.not, label %if.else238, label %if.end251 -ehcleanup214: ; preds = %_ZN7testing7MessageD2Ev.exit400, %lpad202 - %.pn22.pn = phi { ptr, i32 } [ %.pn22, %_ZN7testing7MessageD2Ev.exit400 ], [ %116, %lpad202 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar182) #27 +ehcleanup214: ; preds = %_ZN7testing7MessageD2Ev.exit407, %lpad202 + %.pn22.pn = phi { ptr, i32 } [ %.pn22, %_ZN7testing7MessageD2Ev.exit407 ], [ %116, %lpad202 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar182) #28 br label %ehcleanup334 -lpad232: ; preds = %if.end.i.i461, %if.then.i.i467 +lpad232: ; preds = %if.end.i.i470, %if.then.i.i476 %132 = landingpad { ptr, i32 } cleanup %133 = load ptr, ptr %ref.tmp220, align 8 - %tobool.not.i.i.i476 = icmp eq ptr %133, null - br i1 %tobool.not.i.i.i476, label %ehcleanup334, label %if.then.i.i.i477 + %tobool.not.i.i.i485 = icmp eq ptr %133, null + br i1 %tobool.not.i.i.i485, label %ehcleanup334, label %if.then.i.i.i486 -if.then.i.i.i477: ; preds = %lpad232 - call void @_ZdlPv(ptr noundef nonnull %133) #28 +if.then.i.i.i486: ; preds = %lpad232 + call void @_ZdlPv(ptr noundef nonnull %133) #29 br label %ehcleanup334 -if.else238: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit474 +if.else238: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit483 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239) to label %invoke.cont241 unwind label %lpad240 invoke.cont241: ; preds = %if.else238 - %message_.i.i480 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar219, i64 0, i32 1 - %134 = load ptr, ptr %message_.i.i480, align 8 - %cmp.i.i.not.i.i481 = icmp eq ptr %134, null - br i1 %cmp.i.i.not.i.i481, label %invoke.cont244, label %cond.true.i.i482 + %message_.i.i489 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar219, i64 0, i32 1 + %134 = load ptr, ptr %message_.i.i489, align 8 + %cmp.i.i.not.i.i490 = icmp eq ptr %134, null + br i1 %cmp.i.i.not.i.i490, label %invoke.cont244, label %cond.true.i.i491 -cond.true.i.i482: ; preds = %invoke.cont241 - %call4.i.i483 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %134) #27 +cond.true.i.i491: ; preds = %invoke.cont241 + %call4.i.i492 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %134) #28 br label %invoke.cont244 -invoke.cont244: ; preds = %cond.true.i.i482, %invoke.cont241 - %cond.i.i484 = phi ptr [ %call4.i.i483, %cond.true.i.i482 ], [ @.str.255, %invoke.cont241 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp242, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 783, ptr noundef %cond.i.i484) +invoke.cont244: ; preds = %cond.true.i.i491, %invoke.cont241 + %cond.i.i493 = phi ptr [ %call4.i.i492, %cond.true.i.i491 ], [ @.str.255, %invoke.cont241 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp242, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 783, ptr noundef %cond.i.i493) to label %invoke.cont246 unwind label %lpad243 invoke.cont246: ; preds = %invoke.cont244 @@ -56976,19 +57000,19 @@ invoke.cont246: ; preds = %invoke.cont244 to label %invoke.cont248 unwind label %lpad247 invoke.cont248: ; preds = %invoke.cont246 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp242) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp242) #28 %135 = load ptr, ptr %ref.tmp239, align 8 - %cmp.not.i.i486 = icmp eq ptr %135, null - br i1 %cmp.not.i.i486, label %_ZN7testing7MessageD2Ev.exit490, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i487 + %cmp.not.i.i495 = icmp eq ptr %135, null + br i1 %cmp.not.i.i495, label %_ZN7testing7MessageD2Ev.exit499, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i496 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i487: ; preds = %invoke.cont248 - %vtable.i.i.i488 = load ptr, ptr %135, align 8 - %vfn.i.i.i489 = getelementptr inbounds ptr, ptr %vtable.i.i.i488, i64 1 - %136 = load ptr, ptr %vfn.i.i.i489, align 8 - call void %136(ptr noundef nonnull align 8 dereferenceable(128) %135) #27 - br label %_ZN7testing7MessageD2Ev.exit490 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i496: ; preds = %invoke.cont248 + %vtable.i.i.i497 = load ptr, ptr %135, align 8 + %vfn.i.i.i498 = getelementptr inbounds ptr, ptr %vtable.i.i.i497, i64 1 + %136 = load ptr, ptr %vfn.i.i.i498, align 8 + call void %136(ptr noundef nonnull align 8 dereferenceable(128) %135) #28 + br label %_ZN7testing7MessageD2Ev.exit499 -_ZN7testing7MessageD2Ev.exit490: ; preds = %invoke.cont248, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i487 +_ZN7testing7MessageD2Ev.exit499: ; preds = %invoke.cont248, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i496 store ptr null, ptr %ref.tmp239, align 8 br label %if.end251 @@ -57005,225 +57029,226 @@ lpad243: ; preds = %invoke.cont244 lpad247: ; preds = %invoke.cont246 %139 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp242) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp242) #28 br label %ehcleanup250 ehcleanup250: ; preds = %lpad247, %lpad243 %.pn27 = phi { ptr, i32 } [ %139, %lpad247 ], [ %138, %lpad243 ] %140 = load ptr, ptr %ref.tmp239, align 8 - %cmp.not.i.i491 = icmp eq ptr %140, null - br i1 %cmp.not.i.i491, label %_ZN7testing7MessageD2Ev.exit495, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i492 + %cmp.not.i.i500 = icmp eq ptr %140, null + br i1 %cmp.not.i.i500, label %_ZN7testing7MessageD2Ev.exit504, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i501 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i492: ; preds = %ehcleanup250 - %vtable.i.i.i493 = load ptr, ptr %140, align 8 - %vfn.i.i.i494 = getelementptr inbounds ptr, ptr %vtable.i.i.i493, i64 1 - %141 = load ptr, ptr %vfn.i.i.i494, align 8 - call void %141(ptr noundef nonnull align 8 dereferenceable(128) %140) #27 - br label %_ZN7testing7MessageD2Ev.exit495 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i501: ; preds = %ehcleanup250 + %vtable.i.i.i502 = load ptr, ptr %140, align 8 + %vfn.i.i.i503 = getelementptr inbounds ptr, ptr %vtable.i.i.i502, i64 1 + %141 = load ptr, ptr %vfn.i.i.i503, align 8 + call void %141(ptr noundef nonnull align 8 dereferenceable(128) %140) #28 + br label %_ZN7testing7MessageD2Ev.exit504 -_ZN7testing7MessageD2Ev.exit495: ; preds = %ehcleanup250, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i492 +_ZN7testing7MessageD2Ev.exit504: ; preds = %ehcleanup250, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i501 store ptr null, ptr %ref.tmp239, align 8 br label %ehcleanup252 -if.end251: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit474, %_ZN7testing7MessageD2Ev.exit490 - %message_.i496 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar219, i64 0, i32 1 - %142 = load ptr, ptr %message_.i496, align 8 - %cmp.not.i.i497 = icmp eq ptr %142, null - br i1 %cmp.not.i.i497, label %_ZN7testing15AssertionResultD2Ev.exit499, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498 +if.end251: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit483, %_ZN7testing7MessageD2Ev.exit499 + %message_.i505 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar219, i64 0, i32 1 + %142 = load ptr, ptr %message_.i505, align 8 + %cmp.not.i.i506 = icmp eq ptr %142, null + br i1 %cmp.not.i.i506, label %_ZN7testing15AssertionResultD2Ev.exit508, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i507 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498: ; preds = %if.end251 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #27 - call void @_ZdlPv(ptr noundef nonnull %142) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit499 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i507: ; preds = %if.end251 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #28 + call void @_ZdlPv(ptr noundef nonnull %142) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit508 -_ZN7testing15AssertionResultD2Ev.exit499: ; preds = %if.end251, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498 - store ptr null, ptr %message_.i496, align 8 +_ZN7testing15AssertionResultD2Ev.exit508: ; preds = %if.end251, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i507 + store ptr null, ptr %message_.i505, align 8 %143 = load ptr, ptr %z, align 8 - %144 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %tobool.not.i.i501 = icmp eq ptr %144, %143 - br i1 %tobool.not.i.i501, label %invoke.cont255, label %invoke.cont.i.i502 + %144 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %tobool.not.i.i510 = icmp eq ptr %144, %143 + br i1 %tobool.not.i.i510, label %invoke.cont255, label %invoke.cont.i.i511 -invoke.cont.i.i502: ; preds = %_ZN7testing15AssertionResultD2Ev.exit499 - store ptr %143, ptr %_M_finish.i4.i.i.i153, align 8 +invoke.cont.i.i511: ; preds = %_ZN7testing15AssertionResultD2Ev.exit508 + store ptr %143, ptr %_M_finish.i4.i.i.i156, align 8 br label %invoke.cont255 -invoke.cont255: ; preds = %invoke.cont.i.i502, %_ZN7testing15AssertionResultD2Ev.exit499 +invoke.cont255: ; preds = %invoke.cont.i.i511, %_ZN7testing15AssertionResultD2Ev.exit508 %145 = load ptr, ptr %y, align 8 %146 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 store ptr %call5.i.i.i.i2.i, ptr %y, align 8 store ptr %add.ptr.i1.i, ptr %_M_finish.i.i.i.i.i, align 8 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8 - %cmp.i12.i508.not = icmp eq ptr %145, %146 - br i1 %cmp.i12.i508.not, label %invoke.cont260, label %for.body.i515 - -for.body.i515: ; preds = %invoke.cont255, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522 - %147 = phi ptr [ %153, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522 ], [ %143, %invoke.cont255 ] - %first1.sroa.0.016.i516 = phi ptr [ %incdec.ptr.i.i523, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522 ], [ %145, %invoke.cont255 ] - %first2.sroa.0.015.i517.idx = phi i64 [ %first2.sroa.0.015.i517.add, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522 ], [ 0, %invoke.cont255 ] - %first2.sroa.0.015.i517.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %first2.sroa.0.015.i517.idx - %148 = load i32, ptr %first1.sroa.0.016.i516, align 4 - %149 = load i32, ptr %first2.sroa.0.015.i517.ptr, align 4 - %add.i.i518 = add nsw i32 %149, %148 - %150 = load ptr, ptr %_M_end_of_storage.i.i.i198, align 8 - %cmp.not.i.i.i.i519 = icmp eq ptr %147, %150 - br i1 %cmp.not.i.i.i.i519, label %if.else.i.i.i.i528, label %if.then.i.i.i.i520 - -if.then.i.i.i.i520: ; preds = %for.body.i515 - store i32 %add.i.i518, ptr %147, align 4 - %151 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %incdec.ptr.i.i.i.i521 = getelementptr inbounds i32, ptr %151, i64 1 - store ptr %incdec.ptr.i.i.i.i521, ptr %_M_finish.i4.i.i.i153, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522 - -if.else.i.i.i.i528: ; preds = %for.body.i515 + %cmp.i12.i517.not = icmp eq ptr %145, %146 + br i1 %cmp.i12.i517.not, label %invoke.cont260, label %for.body.i524 + +for.body.i524: ; preds = %invoke.cont255, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531 + %147 = phi ptr [ %153, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531 ], [ %143, %invoke.cont255 ] + %first1.sroa.0.016.i525 = phi ptr [ %incdec.ptr.i.i532, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531 ], [ %145, %invoke.cont255 ] + %first2.sroa.0.015.i526.idx = phi i64 [ %first2.sroa.0.015.i526.add, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531 ], [ 0, %invoke.cont255 ] + %first2.sroa.0.015.i526.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %first2.sroa.0.015.i526.idx + %148 = load i32, ptr %first1.sroa.0.016.i525, align 4 + %149 = load i32, ptr %first2.sroa.0.015.i526.ptr, align 4 + %add.i.i527 = add nsw i32 %149, %148 + %150 = load ptr, ptr %_M_end_of_storage.i.i.i201, align 8 + %cmp.not.i.i.i.i528 = icmp eq ptr %147, %150 + br i1 %cmp.not.i.i.i.i528, label %if.else.i.i.i.i537, label %if.then.i.i.i.i529 + +if.then.i.i.i.i529: ; preds = %for.body.i524 + store i32 %add.i.i527, ptr %147, align 4 + %151 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %incdec.ptr.i.i.i.i530 = getelementptr inbounds i32, ptr %151, i64 1 + store ptr %incdec.ptr.i.i.i.i530, ptr %_M_finish.i4.i.i.i156, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531 + +if.else.i.i.i.i537: ; preds = %for.body.i524 %152 = load ptr, ptr %z, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i529 = ptrtoint ptr %147 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i530 = ptrtoint ptr %152 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i531 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i529, %sub.ptr.rhs.cast.i.i.i.i.i.i.i530 - %cmp.i.i.i.i.i.i532 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i531, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i532, label %if.then.i.i.i.i.i650.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i533 - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i533: ; preds = %if.else.i.i.i.i528 - %sub.ptr.div.i.i.i.i.i.i.i534 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i531, 2 - %.sroa.speculated.i.i.i.i.i.i535 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i.i534, i64 1) - %add.i.i.i.i.i.i536 = add i64 %.sroa.speculated.i.i.i.i.i.i535, %sub.ptr.div.i.i.i.i.i.i.i534 - %cmp7.i.i.i.i.i.i537 = icmp ult i64 %add.i.i.i.i.i.i536, %sub.ptr.div.i.i.i.i.i.i.i534 - %cmp9.i.i.i.i.i.i538 = icmp ugt i64 %add.i.i.i.i.i.i536, 2305843009213693951 - %or.cond.i.i.i.i.i.i539 = or i1 %cmp7.i.i.i.i.i.i537, %cmp9.i.i.i.i.i.i538 - %cond.i.i.i.i.i.i540 = select i1 %or.cond.i.i.i.i.i.i539, i64 2305843009213693951, i64 %add.i.i.i.i.i.i536 - %cmp.not.i.i.i.i.i.i541 = icmp eq i64 %cond.i.i.i.i.i.i540, 0 - br i1 %cmp.not.i.i.i.i.i.i541, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i544, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i542 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i542: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i533 - %mul.i.i.i.i.i.i.i.i543 = shl nuw nsw i64 %cond.i.i.i.i.i.i540, 2 - %call5.i.i.i.i.i.i.i.i558 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i543) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i544 unwind label %lpad5.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i544: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i542, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i533 - %cond.i10.i.i.i.i.i545 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i533 ], [ %call5.i.i.i.i.i.i.i.i558, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i542 ] - %add.ptr.i.i.i.i.i546 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i545, i64 %sub.ptr.div.i.i.i.i.i.i.i534 - store i32 %add.i.i518, ptr %add.ptr.i.i.i.i.i546, align 4 - %cmp.i.i.i11.i.i.i.i.i547 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i534, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i547, label %if.then.i.i.i12.i.i.i.i.i554, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i548 - -if.then.i.i.i12.i.i.i.i.i554: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i544 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i545, ptr align 4 %152, i64 %sub.ptr.sub.i.i.i.i.i.i.i531, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i548 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i548: ; preds = %if.then.i.i.i12.i.i.i.i.i554, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i544 - %incdec.ptr.i.i.i.i.i549 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i546, i64 1 - %tobool.not.i.i.i.i.i.i550 = icmp eq ptr %152, null - br i1 %tobool.not.i.i.i.i.i.i550, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i552, label %if.then.i21.i.i.i.i.i551 - -if.then.i21.i.i.i.i.i551: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i548 - call void @_ZdlPv(ptr noundef nonnull %152) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i552 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i552: ; preds = %if.then.i21.i.i.i.i.i551, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i548 - store ptr %cond.i10.i.i.i.i.i545, ptr %z, align 8 - store ptr %incdec.ptr.i.i.i.i.i549, ptr %_M_finish.i4.i.i.i153, align 8 - %add.ptr19.i.i.i.i.i553 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i545, i64 %cond.i.i.i.i.i.i540 - store ptr %add.ptr19.i.i.i.i.i553, ptr %_M_end_of_storage.i.i.i198, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522 - -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i552, %if.then.i.i.i.i520 - %153 = phi ptr [ %incdec.ptr.i.i.i.i521, %if.then.i.i.i.i520 ], [ %incdec.ptr.i.i.i.i.i549, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i552 ] - %incdec.ptr.i.i523 = getelementptr inbounds i32, ptr %first1.sroa.0.016.i516, i64 1 - %first2.sroa.0.015.i517.add = add nuw nsw i64 %first2.sroa.0.015.i517.idx, 4 - %cmp.i.i525 = icmp ne ptr %incdec.ptr.i.i523, %146 - %cmp.i4.i526 = icmp ne i64 %first2.sroa.0.015.i517.add, 12 - %or.cond.i527 = select i1 %cmp.i.i525, i1 %cmp.i4.i526, i1 false - br i1 %or.cond.i527, label %for.body.i515, label %invoke.cont260, !llvm.loop !1470 - -invoke.cont260: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522, %invoke.cont255 - %154 = phi ptr [ %143, %invoke.cont255 ], [ %153, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i522 ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i538 = ptrtoint ptr %147 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i539 = ptrtoint ptr %152 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i540 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i538, %sub.ptr.rhs.cast.i.i.i.i.i.i.i539 + %cmp.i.i.i.i.i.i541 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i540, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i541, label %if.then.i.i.i.i.i662.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i542 + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i542: ; preds = %if.else.i.i.i.i537 + %sub.ptr.div.i.i.i.i.i.i.i543 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i540, 2 + %.sroa.speculated.i.i.i.i.i.i544 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i.i543, i64 1) + %add.i.i.i.i.i.i545 = add i64 %.sroa.speculated.i.i.i.i.i.i544, %sub.ptr.div.i.i.i.i.i.i.i543 + %cmp7.i.i.i.i.i.i546 = icmp ult i64 %add.i.i.i.i.i.i545, %sub.ptr.div.i.i.i.i.i.i.i543 + %cmp9.i.i.i.i.i.i547 = icmp ugt i64 %add.i.i.i.i.i.i545, 2305843009213693951 + %or.cond.i.i.i.i.i.i548 = or i1 %cmp7.i.i.i.i.i.i546, %cmp9.i.i.i.i.i.i547 + %cond.i.i.i.i.i.i549 = select i1 %or.cond.i.i.i.i.i.i548, i64 2305843009213693951, i64 %add.i.i.i.i.i.i545 + %cmp.not.i.i.i.i.i.i550 = icmp eq i64 %cond.i.i.i.i.i.i549, 0 + br i1 %cmp.not.i.i.i.i.i.i550, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i553, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i551 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i551: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i542 + %mul.i.i.i.i.i.i.i.i552 = shl nuw nsw i64 %cond.i.i.i.i.i.i549, 2 + %call5.i.i.i.i.i.i.i.i568 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i552) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i553 unwind label %lpad5.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i553: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i551, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i542 + %cond.i10.i.i.i.i.i554 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i542 ], [ %call5.i.i.i.i.i.i.i.i568, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i551 ] + %add.ptr.i.i.i.i.i555 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i554, i64 %sub.ptr.div.i.i.i.i.i.i.i543 + store i32 %add.i.i527, ptr %add.ptr.i.i.i.i.i555, align 4 + %cmp.i.i.i11.i.i.i.i.i556 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i540, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i556, label %if.then.i.i.i12.i.i.i.i.i564, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i557 + +if.then.i.i.i12.i.i.i.i.i564: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i553 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i554, ptr align 4 %152, i64 %sub.ptr.sub.i.i.i.i.i.i.i540, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i557 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i557: ; preds = %if.then.i.i.i12.i.i.i.i.i564, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i553 + %add.ptr.i.i.i.i.i.i.i.i558 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i554, i64 %sub.ptr.sub.i.i.i.i.i.i.i540 + %incdec.ptr.i.i.i.i.i559 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i558, i64 1 + %tobool.not.i.i.i.i.i.i560 = icmp eq ptr %152, null + br i1 %tobool.not.i.i.i.i.i.i560, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i562, label %if.then.i20.i.i.i.i.i561 + +if.then.i20.i.i.i.i.i561: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i557 + call void @_ZdlPv(ptr noundef nonnull %152) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i562 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i562: ; preds = %if.then.i20.i.i.i.i.i561, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i557 + store ptr %cond.i10.i.i.i.i.i554, ptr %z, align 8 + store ptr %incdec.ptr.i.i.i.i.i559, ptr %_M_finish.i4.i.i.i156, align 8 + %add.ptr19.i.i.i.i.i563 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i554, i64 %cond.i.i.i.i.i.i549 + store ptr %add.ptr19.i.i.i.i.i563, ptr %_M_end_of_storage.i.i.i201, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531 + +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i562, %if.then.i.i.i.i529 + %153 = phi ptr [ %incdec.ptr.i.i.i.i530, %if.then.i.i.i.i529 ], [ %incdec.ptr.i.i.i.i.i559, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i562 ] + %incdec.ptr.i.i532 = getelementptr inbounds i32, ptr %first1.sroa.0.016.i525, i64 1 + %first2.sroa.0.015.i526.add = add nuw nsw i64 %first2.sroa.0.015.i526.idx, 4 + %cmp.i.i534 = icmp ne ptr %incdec.ptr.i.i532, %146 + %cmp.i4.i535 = icmp ne i64 %first2.sroa.0.015.i526.add, 12 + %or.cond.i536 = select i1 %cmp.i.i534, i1 %cmp.i4.i535, i1 false + br i1 %or.cond.i536, label %for.body.i524, label %invoke.cont260, !llvm.loop !1470 + +invoke.cont260: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531, %invoke.cont255 + %154 = phi ptr [ %143, %invoke.cont255 ], [ %153, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSEOi.exit.i531 ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp264, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i560 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 - to label %invoke.cont274 unwind label %lpad.i561 + %call5.i.i.i.i2.i570 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 + to label %invoke.cont274 unwind label %lpad.i571 -lpad.i561: ; preds = %invoke.cont260 +lpad.i571: ; preds = %invoke.cont260 %155 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 invoke.cont274: ; preds = %invoke.cont260 - store ptr %call5.i.i.i.i2.i560, ptr %ref.tmp264, align 8 - %add.ptr.i1.i565 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i560, i64 2 - %_M_end_of_storage.i.i566 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp264, i64 0, i32 2 - store ptr %add.ptr.i1.i565, ptr %_M_end_of_storage.i.i566, align 8 - store i32 1, ptr %call5.i.i.i.i2.i560, align 4 - %ref.tmp266.sroa.2.0.call5.i.i.i.i2.i560.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i560, i64 4 - store i32 5, ptr %ref.tmp266.sroa.2.0.call5.i.i.i.i2.i560.sroa_idx, align 4 - %_M_finish.i.i567 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp264, i64 0, i32 1 - store ptr %add.ptr.i1.i565, ptr %_M_finish.i.i567, align 8 + store ptr %call5.i.i.i.i2.i570, ptr %ref.tmp264, align 8 + %add.ptr.i1.i575 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i570, i64 8 + %_M_end_of_storage.i.i576 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp264, i64 0, i32 2 + store ptr %add.ptr.i1.i575, ptr %_M_end_of_storage.i.i576, align 8 + store i32 1, ptr %call5.i.i.i.i2.i570, align 4 + %ref.tmp266.sroa.2.0.call5.i.i.i.i2.i570.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i570, i64 4 + store i32 5, ptr %ref.tmp266.sroa.2.0.call5.i.i.i.i2.i570.sroa_idx, align 4 + %_M_finish.i.i578 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp264, i64 0, i32 1 + store ptr %add.ptr.i1.i575, ptr %_M_finish.i.i578, align 8 %156 = load ptr, ptr %z, align 8, !noalias !1491 - %sub.ptr.lhs.cast.i5.i.i.i575 = ptrtoint ptr %154 to i64 - %sub.ptr.rhs.cast.i6.i.i.i576 = ptrtoint ptr %156 to i64 - %sub.ptr.sub.i7.i.i.i577 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i575, %sub.ptr.rhs.cast.i6.i.i.i576 - %cmp.i.i.i578 = icmp eq i64 %sub.ptr.sub.i7.i.i.i577, 8 - br i1 %cmp.i.i.i578, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i582, label %if.end.i.i579 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i582: ; preds = %invoke.cont274 - %bcmp.i.i.i.i.i.i.i583 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %call5.i.i.i.i2.i560, ptr noundef nonnull dereferenceable(8) %156, i64 8), !noalias !1491 - %tobool1.not.i.i.i.i.i.i.i584 = icmp eq i32 %bcmp.i.i.i.i.i.i.i583, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i584, label %if.then.i.i585, label %if.end.i.i579 - -if.then.i.i585: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i582 + %sub.ptr.lhs.cast.i5.i.i.i586 = ptrtoint ptr %154 to i64 + %sub.ptr.rhs.cast.i6.i.i.i587 = ptrtoint ptr %156 to i64 + %sub.ptr.sub.i7.i.i.i588 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i586, %sub.ptr.rhs.cast.i6.i.i.i587 + %cmp.i.i.i589 = icmp eq i64 %sub.ptr.sub.i7.i.i.i588, 8 + br i1 %cmp.i.i.i589, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i593, label %if.end.i.i590 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i593: ; preds = %invoke.cont274 + %bcmp.i.i.i.i.i.i.i594 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %call5.i.i.i.i2.i570, ptr noundef nonnull dereferenceable(8) %156, i64 8), !noalias !1491 + %tobool1.not.i.i.i.i.i.i.i595 = icmp eq i32 %bcmp.i.i.i.i.i.i.i594, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i595, label %if.then.i.i596, label %if.end.i.i590 + +if.then.i.i596: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i593 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar263) to label %invoke.cont276 unwind label %lpad275 -if.end.i.i579: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i582, %invoke.cont274 +if.end.i.i590: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i593, %invoke.cont274 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar263, ptr noundef nonnull @.str.449, ptr noundef nonnull @.str.447, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp264, ptr noundef nonnull align 8 dereferenceable(24) %z) to label %invoke.cont276 unwind label %lpad275 -invoke.cont276: ; preds = %if.then.i.i585, %if.end.i.i579 +invoke.cont276: ; preds = %if.then.i.i596, %if.end.i.i590 %157 = load ptr, ptr %ref.tmp264, align 8 - %tobool.not.i.i.i589 = icmp eq ptr %157, null - br i1 %tobool.not.i.i.i589, label %_ZNSt6vectorIiSaIiEED2Ev.exit592, label %if.then.i.i.i590 + %tobool.not.i.i.i600 = icmp eq ptr %157, null + br i1 %tobool.not.i.i.i600, label %_ZNSt6vectorIiSaIiEED2Ev.exit603, label %if.then.i.i.i601 -if.then.i.i.i590: ; preds = %invoke.cont276 - call void @_ZdlPv(ptr noundef nonnull %157) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit592 +if.then.i.i.i601: ; preds = %invoke.cont276 + call void @_ZdlPv(ptr noundef nonnull %157) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit603 -_ZNSt6vectorIiSaIiEED2Ev.exit592: ; preds = %invoke.cont276, %if.then.i.i.i590 +_ZNSt6vectorIiSaIiEED2Ev.exit603: ; preds = %invoke.cont276, %if.then.i.i.i601 %158 = load i8, ptr %gtest_ar263, align 8 %159 = and i8 %158, 1 - %tobool.i593.not = icmp eq i8 %159, 0 - br i1 %tobool.i593.not, label %if.else281, label %if.end294 + %tobool.i604.not = icmp eq i8 %159, 0 + br i1 %tobool.i604.not, label %if.else281, label %if.end294 -ehcleanup252: ; preds = %_ZN7testing7MessageD2Ev.exit495, %lpad240 - %.pn27.pn = phi { ptr, i32 } [ %.pn27, %_ZN7testing7MessageD2Ev.exit495 ], [ %137, %lpad240 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar219) #27 +ehcleanup252: ; preds = %_ZN7testing7MessageD2Ev.exit504, %lpad240 + %.pn27.pn = phi { ptr, i32 } [ %.pn27, %_ZN7testing7MessageD2Ev.exit504 ], [ %137, %lpad240 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar219) #28 br label %ehcleanup334 -lpad275: ; preds = %if.end.i.i579, %if.then.i.i585 +lpad275: ; preds = %if.end.i.i590, %if.then.i.i596 %160 = landingpad { ptr, i32 } cleanup %161 = load ptr, ptr %ref.tmp264, align 8 - %tobool.not.i.i.i594 = icmp eq ptr %161, null - br i1 %tobool.not.i.i.i594, label %ehcleanup334, label %if.then.i.i.i595 + %tobool.not.i.i.i605 = icmp eq ptr %161, null + br i1 %tobool.not.i.i.i605, label %ehcleanup334, label %if.then.i.i.i606 -if.then.i.i.i595: ; preds = %lpad275 - call void @_ZdlPv(ptr noundef nonnull %161) #28 +if.then.i.i.i606: ; preds = %lpad275 + call void @_ZdlPv(ptr noundef nonnull %161) #29 br label %ehcleanup334 -if.else281: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit592 +if.else281: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit603 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp282) to label %invoke.cont284 unwind label %lpad283 invoke.cont284: ; preds = %if.else281 - %message_.i.i598 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar263, i64 0, i32 1 - %162 = load ptr, ptr %message_.i.i598, align 8 - %cmp.i.i.not.i.i599 = icmp eq ptr %162, null - br i1 %cmp.i.i.not.i.i599, label %invoke.cont287, label %cond.true.i.i600 + %message_.i.i609 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar263, i64 0, i32 1 + %162 = load ptr, ptr %message_.i.i609, align 8 + %cmp.i.i.not.i.i610 = icmp eq ptr %162, null + br i1 %cmp.i.i.not.i.i610, label %invoke.cont287, label %cond.true.i.i611 -cond.true.i.i600: ; preds = %invoke.cont284 - %call4.i.i601 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %162) #27 +cond.true.i.i611: ; preds = %invoke.cont284 + %call4.i.i612 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %162) #28 br label %invoke.cont287 -invoke.cont287: ; preds = %cond.true.i.i600, %invoke.cont284 - %cond.i.i602 = phi ptr [ %call4.i.i601, %cond.true.i.i600 ], [ @.str.255, %invoke.cont284 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 788, ptr noundef %cond.i.i602) +invoke.cont287: ; preds = %cond.true.i.i611, %invoke.cont284 + %cond.i.i613 = phi ptr [ %call4.i.i612, %cond.true.i.i611 ], [ @.str.255, %invoke.cont284 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 788, ptr noundef %cond.i.i613) to label %invoke.cont289 unwind label %lpad286 invoke.cont289: ; preds = %invoke.cont287 @@ -57231,19 +57256,19 @@ invoke.cont289: ; preds = %invoke.cont287 to label %invoke.cont291 unwind label %lpad290 invoke.cont291: ; preds = %invoke.cont289 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) #28 %163 = load ptr, ptr %ref.tmp282, align 8 - %cmp.not.i.i604 = icmp eq ptr %163, null - br i1 %cmp.not.i.i604, label %_ZN7testing7MessageD2Ev.exit608, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i605 + %cmp.not.i.i615 = icmp eq ptr %163, null + br i1 %cmp.not.i.i615, label %_ZN7testing7MessageD2Ev.exit619, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i616 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i605: ; preds = %invoke.cont291 - %vtable.i.i.i606 = load ptr, ptr %163, align 8 - %vfn.i.i.i607 = getelementptr inbounds ptr, ptr %vtable.i.i.i606, i64 1 - %164 = load ptr, ptr %vfn.i.i.i607, align 8 - call void %164(ptr noundef nonnull align 8 dereferenceable(128) %163) #27 - br label %_ZN7testing7MessageD2Ev.exit608 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i616: ; preds = %invoke.cont291 + %vtable.i.i.i617 = load ptr, ptr %163, align 8 + %vfn.i.i.i618 = getelementptr inbounds ptr, ptr %vtable.i.i.i617, i64 1 + %164 = load ptr, ptr %vfn.i.i.i618, align 8 + call void %164(ptr noundef nonnull align 8 dereferenceable(128) %163) #28 + br label %_ZN7testing7MessageD2Ev.exit619 -_ZN7testing7MessageD2Ev.exit608: ; preds = %invoke.cont291, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i605 +_ZN7testing7MessageD2Ev.exit619: ; preds = %invoke.cont291, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i616 store ptr null, ptr %ref.tmp282, align 8 br label %if.end294 @@ -57260,200 +57285,201 @@ lpad286: ; preds = %invoke.cont287 lpad290: ; preds = %invoke.cont289 %167 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) #28 br label %ehcleanup293 ehcleanup293: ; preds = %lpad290, %lpad286 %.pn32 = phi { ptr, i32 } [ %167, %lpad290 ], [ %166, %lpad286 ] %168 = load ptr, ptr %ref.tmp282, align 8 - %cmp.not.i.i609 = icmp eq ptr %168, null - br i1 %cmp.not.i.i609, label %_ZN7testing7MessageD2Ev.exit613, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i610 + %cmp.not.i.i620 = icmp eq ptr %168, null + br i1 %cmp.not.i.i620, label %_ZN7testing7MessageD2Ev.exit624, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i621 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i610: ; preds = %ehcleanup293 - %vtable.i.i.i611 = load ptr, ptr %168, align 8 - %vfn.i.i.i612 = getelementptr inbounds ptr, ptr %vtable.i.i.i611, i64 1 - %169 = load ptr, ptr %vfn.i.i.i612, align 8 - call void %169(ptr noundef nonnull align 8 dereferenceable(128) %168) #27 - br label %_ZN7testing7MessageD2Ev.exit613 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i621: ; preds = %ehcleanup293 + %vtable.i.i.i622 = load ptr, ptr %168, align 8 + %vfn.i.i.i623 = getelementptr inbounds ptr, ptr %vtable.i.i.i622, i64 1 + %169 = load ptr, ptr %vfn.i.i.i623, align 8 + call void %169(ptr noundef nonnull align 8 dereferenceable(128) %168) #28 + br label %_ZN7testing7MessageD2Ev.exit624 -_ZN7testing7MessageD2Ev.exit613: ; preds = %ehcleanup293, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i610 +_ZN7testing7MessageD2Ev.exit624: ; preds = %ehcleanup293, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i621 store ptr null, ptr %ref.tmp282, align 8 br label %ehcleanup295 -if.end294: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit592, %_ZN7testing7MessageD2Ev.exit608 - %message_.i614 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar263, i64 0, i32 1 - %170 = load ptr, ptr %message_.i614, align 8 - %cmp.not.i.i615 = icmp eq ptr %170, null - br i1 %cmp.not.i.i615, label %_ZN7testing15AssertionResultD2Ev.exit617, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i616 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i616: ; preds = %if.end294 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #27 - call void @_ZdlPv(ptr noundef nonnull %170) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit617 - -_ZN7testing15AssertionResultD2Ev.exit617: ; preds = %if.end294, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i616 - store ptr null, ptr %message_.i614, align 8 - %171 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %172 = load ptr, ptr %_M_end_of_storage.i.i.i198, align 8 - %cmp.not.i.i.i620 = icmp eq ptr %171, %172 - br i1 %cmp.not.i.i.i620, label %if.else.i.i.i623, label %if.then.i.i.i621 - -if.then.i.i.i621: ; preds = %_ZN7testing15AssertionResultD2Ev.exit617 +if.end294: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit603, %_ZN7testing7MessageD2Ev.exit619 + %message_.i625 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar263, i64 0, i32 1 + %170 = load ptr, ptr %message_.i625, align 8 + %cmp.not.i.i626 = icmp eq ptr %170, null + br i1 %cmp.not.i.i626, label %_ZN7testing15AssertionResultD2Ev.exit628, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i627 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i627: ; preds = %if.end294 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #28 + call void @_ZdlPv(ptr noundef nonnull %170) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit628 + +_ZN7testing15AssertionResultD2Ev.exit628: ; preds = %if.end294, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i627 + store ptr null, ptr %message_.i625, align 8 + %171 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %172 = load ptr, ptr %_M_end_of_storage.i.i.i201, align 8 + %cmp.not.i.i.i631 = icmp eq ptr %171, %172 + br i1 %cmp.not.i.i.i631, label %if.else.i.i.i634, label %if.then.i.i.i632 + +if.then.i.i.i632: ; preds = %_ZN7testing15AssertionResultD2Ev.exit628 store i32 7, ptr %171, align 4 - %173 = load ptr, ptr %_M_finish.i4.i.i.i153, align 8 - %incdec.ptr.i.i.i622 = getelementptr inbounds i32, ptr %173, i64 1 - store ptr %incdec.ptr.i.i.i622, ptr %_M_finish.i4.i.i.i153, align 8 + %173 = load ptr, ptr %_M_finish.i4.i.i.i156, align 8 + %incdec.ptr.i.i.i633 = getelementptr inbounds i32, ptr %173, i64 1 + store ptr %incdec.ptr.i.i.i633, ptr %_M_finish.i4.i.i.i156, align 8 br label %invoke.cont298 -if.else.i.i.i623: ; preds = %_ZN7testing15AssertionResultD2Ev.exit617 +if.else.i.i.i634: ; preds = %_ZN7testing15AssertionResultD2Ev.exit628 %174 = load ptr, ptr %z, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i624 = ptrtoint ptr %171 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i625 = ptrtoint ptr %174 to i64 - %sub.ptr.sub.i.i.i.i.i.i626 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i624, %sub.ptr.rhs.cast.i.i.i.i.i.i625 - %cmp.i.i.i.i.i627 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i626, 9223372036854775804 - br i1 %cmp.i.i.i.i.i627, label %if.then.i.i.i.i.i650.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i628 + %sub.ptr.lhs.cast.i.i.i.i.i.i635 = ptrtoint ptr %171 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i636 = ptrtoint ptr %174 to i64 + %sub.ptr.sub.i.i.i.i.i.i637 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i635, %sub.ptr.rhs.cast.i.i.i.i.i.i636 + %cmp.i.i.i.i.i638 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i637, 9223372036854775804 + br i1 %cmp.i.i.i.i.i638, label %if.then.i.i.i.i.i662.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i639 -if.then.i.i.i.i.i650.invoke: ; preds = %if.else.i.i.i.i528, %if.else.i.i.i623 - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 - to label %if.then.i.i.i.i.i650.cont unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp +if.then.i.i.i.i.i662.invoke: ; preds = %if.else.i.i.i.i537, %if.else.i.i.i634 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 + to label %if.then.i.i.i.i.i662.cont unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i.i650.cont: ; preds = %if.then.i.i.i.i.i650.invoke +if.then.i.i.i.i.i662.cont: ; preds = %if.then.i.i.i.i.i662.invoke unreachable -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i628: ; preds = %if.else.i.i.i623 - %sub.ptr.div.i.i.i.i.i.i629 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i626, 2 - %.sroa.speculated.i.i.i.i.i630 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i629, i64 1) - %add.i.i.i.i.i631 = add i64 %.sroa.speculated.i.i.i.i.i630, %sub.ptr.div.i.i.i.i.i.i629 - %cmp7.i.i.i.i.i632 = icmp ult i64 %add.i.i.i.i.i631, %sub.ptr.div.i.i.i.i.i.i629 - %cmp9.i.i.i.i.i633 = icmp ugt i64 %add.i.i.i.i.i631, 2305843009213693951 - %or.cond.i.i.i.i.i634 = or i1 %cmp7.i.i.i.i.i632, %cmp9.i.i.i.i.i633 - %cond.i.i.i.i.i635 = select i1 %or.cond.i.i.i.i.i634, i64 2305843009213693951, i64 %add.i.i.i.i.i631 - %cmp.not.i.i.i.i.i636 = icmp eq i64 %cond.i.i.i.i.i635, 0 - br i1 %cmp.not.i.i.i.i.i636, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i639, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i637 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i637: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i628 - %mul.i.i.i.i.i.i.i638 = shl nuw nsw i64 %cond.i.i.i.i.i635, 2 - %call5.i.i.i.i.i.i.i653 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i638) #29 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i639 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i639: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i637, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i628 - %cond.i10.i.i.i.i640 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i628 ], [ %call5.i.i.i.i.i.i.i653, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i637 ] - %add.ptr.i.i.i.i641 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i640, i64 %sub.ptr.div.i.i.i.i.i.i629 - store i32 7, ptr %add.ptr.i.i.i.i641, align 4 - %cmp.i.i.i11.i.i.i.i642 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i629, 0 - br i1 %cmp.i.i.i11.i.i.i.i642, label %if.then.i.i.i12.i.i.i.i649, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i643 - -if.then.i.i.i12.i.i.i.i649: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i639 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i640, ptr align 4 %174, i64 %sub.ptr.sub.i.i.i.i.i.i626, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i643 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i643: ; preds = %if.then.i.i.i12.i.i.i.i649, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i639 - %incdec.ptr.i.i.i.i644 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i641, i64 1 - %tobool.not.i.i.i.i.i645 = icmp eq ptr %174, null - br i1 %tobool.not.i.i.i.i.i645, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i647, label %if.then.i21.i.i.i.i646 - -if.then.i21.i.i.i.i646: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i643 - call void @_ZdlPv(ptr noundef nonnull %174) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i647 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i647: ; preds = %if.then.i21.i.i.i.i646, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i643 - store ptr %cond.i10.i.i.i.i640, ptr %z, align 8 - store ptr %incdec.ptr.i.i.i.i644, ptr %_M_finish.i4.i.i.i153, align 8 - %add.ptr19.i.i.i.i648 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i640, i64 %cond.i.i.i.i.i635 - store ptr %add.ptr19.i.i.i.i648, ptr %_M_end_of_storage.i.i.i198, align 8 +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i639: ; preds = %if.else.i.i.i634 + %sub.ptr.div.i.i.i.i.i.i640 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i637, 2 + %.sroa.speculated.i.i.i.i.i641 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i640, i64 1) + %add.i.i.i.i.i642 = add i64 %.sroa.speculated.i.i.i.i.i641, %sub.ptr.div.i.i.i.i.i.i640 + %cmp7.i.i.i.i.i643 = icmp ult i64 %add.i.i.i.i.i642, %sub.ptr.div.i.i.i.i.i.i640 + %cmp9.i.i.i.i.i644 = icmp ugt i64 %add.i.i.i.i.i642, 2305843009213693951 + %or.cond.i.i.i.i.i645 = or i1 %cmp7.i.i.i.i.i643, %cmp9.i.i.i.i.i644 + %cond.i.i.i.i.i646 = select i1 %or.cond.i.i.i.i.i645, i64 2305843009213693951, i64 %add.i.i.i.i.i642 + %cmp.not.i.i.i.i.i647 = icmp eq i64 %cond.i.i.i.i.i646, 0 + br i1 %cmp.not.i.i.i.i.i647, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i650, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i648 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i648: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i639 + %mul.i.i.i.i.i.i.i649 = shl nuw nsw i64 %cond.i.i.i.i.i646, 2 + %call5.i.i.i.i.i.i.i665 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i649) #30 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i650 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i650: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i648, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i639 + %cond.i10.i.i.i.i651 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i639 ], [ %call5.i.i.i.i.i.i.i665, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i648 ] + %add.ptr.i.i.i.i652 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i651, i64 %sub.ptr.div.i.i.i.i.i.i640 + store i32 7, ptr %add.ptr.i.i.i.i652, align 4 + %cmp.i.i.i11.i.i.i.i653 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i637, 0 + br i1 %cmp.i.i.i11.i.i.i.i653, label %if.then.i.i.i12.i.i.i.i661, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i654 + +if.then.i.i.i12.i.i.i.i661: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i650 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i651, ptr align 4 %174, i64 %sub.ptr.sub.i.i.i.i.i.i637, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i654 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i654: ; preds = %if.then.i.i.i12.i.i.i.i661, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i650 + %add.ptr.i.i.i.i.i.i.i655 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i651, i64 %sub.ptr.sub.i.i.i.i.i.i637 + %incdec.ptr.i.i.i.i656 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i655, i64 1 + %tobool.not.i.i.i.i.i657 = icmp eq ptr %174, null + br i1 %tobool.not.i.i.i.i.i657, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i659, label %if.then.i20.i.i.i.i658 + +if.then.i20.i.i.i.i658: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i654 + call void @_ZdlPv(ptr noundef nonnull %174) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i659 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i659: ; preds = %if.then.i20.i.i.i.i658, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i654 + store ptr %cond.i10.i.i.i.i651, ptr %z, align 8 + store ptr %incdec.ptr.i.i.i.i656, ptr %_M_finish.i4.i.i.i156, align 8 + %add.ptr19.i.i.i.i660 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i651, i64 %cond.i.i.i.i.i646 + store ptr %add.ptr19.i.i.i.i660, ptr %_M_end_of_storage.i.i.i201, align 8 br label %invoke.cont298 -invoke.cont298: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i647, %if.then.i.i.i621 - %175 = phi ptr [ %incdec.ptr.i.i.i.i644, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i647 ], [ %incdec.ptr.i.i.i622, %if.then.i.i.i621 ] +invoke.cont298: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i659, %if.then.i.i.i632 + %175 = phi ptr [ %incdec.ptr.i.i.i.i656, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i659 ], [ %incdec.ptr.i.i.i633, %if.then.i.i.i632 ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp301, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i655 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 - to label %invoke.cont312 unwind label %lpad.i656 + %call5.i.i.i.i2.i667 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 + to label %invoke.cont312 unwind label %lpad.i668 -lpad.i656: ; preds = %invoke.cont298 +lpad.i668: ; preds = %invoke.cont298 %176 = landingpad { ptr, i32 } cleanup br label %ehcleanup334 invoke.cont312: ; preds = %invoke.cont298 - store ptr %call5.i.i.i.i2.i655, ptr %ref.tmp301, align 8 - %add.ptr.i1.i660 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i655, i64 3 - %_M_end_of_storage.i.i661 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp301, i64 0, i32 2 - store ptr %add.ptr.i1.i660, ptr %_M_end_of_storage.i.i661, align 8 - store i32 1, ptr %call5.i.i.i.i2.i655, align 4 - %ref.tmp303.sroa.2.0.call5.i.i.i.i2.i655.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i655, i64 4 - store i32 5, ptr %ref.tmp303.sroa.2.0.call5.i.i.i.i2.i655.sroa_idx, align 4 - %ref.tmp303.sroa.3.0.call5.i.i.i.i2.i655.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i655, i64 8 - store i32 7, ptr %ref.tmp303.sroa.3.0.call5.i.i.i.i2.i655.sroa_idx, align 4 - %_M_finish.i.i662 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp301, i64 0, i32 1 - store ptr %add.ptr.i1.i660, ptr %_M_finish.i.i662, align 8 + store ptr %call5.i.i.i.i2.i667, ptr %ref.tmp301, align 8 + %add.ptr.i1.i672 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i667, i64 12 + %_M_end_of_storage.i.i673 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp301, i64 0, i32 2 + store ptr %add.ptr.i1.i672, ptr %_M_end_of_storage.i.i673, align 8 + store i32 1, ptr %call5.i.i.i.i2.i667, align 4 + %ref.tmp303.sroa.2.0.call5.i.i.i.i2.i667.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i667, i64 4 + store i32 5, ptr %ref.tmp303.sroa.2.0.call5.i.i.i.i2.i667.sroa_idx, align 4 + %ref.tmp303.sroa.3.0.call5.i.i.i.i2.i667.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i667, i64 8 + store i32 7, ptr %ref.tmp303.sroa.3.0.call5.i.i.i.i2.i667.sroa_idx, align 4 + %_M_finish.i.i675 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp301, i64 0, i32 1 + store ptr %add.ptr.i1.i672, ptr %_M_finish.i.i675, align 8 %177 = load ptr, ptr %z, align 8, !noalias !1496 - %sub.ptr.lhs.cast.i5.i.i.i670 = ptrtoint ptr %175 to i64 - %sub.ptr.rhs.cast.i6.i.i.i671 = ptrtoint ptr %177 to i64 - %sub.ptr.sub.i7.i.i.i672 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i670, %sub.ptr.rhs.cast.i6.i.i.i671 - %cmp.i.i.i673 = icmp eq i64 %sub.ptr.sub.i7.i.i.i672, 12 - br i1 %cmp.i.i.i673, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i677, label %if.end.i.i674 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i677: ; preds = %invoke.cont312 - %bcmp.i.i.i.i.i.i.i678 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %call5.i.i.i.i2.i655, ptr noundef nonnull dereferenceable(12) %177, i64 12), !noalias !1496 - %tobool1.not.i.i.i.i.i.i.i679 = icmp eq i32 %bcmp.i.i.i.i.i.i.i678, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i679, label %if.then.i.i680, label %if.end.i.i674 - -if.then.i.i680: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i677 + %sub.ptr.lhs.cast.i5.i.i.i683 = ptrtoint ptr %175 to i64 + %sub.ptr.rhs.cast.i6.i.i.i684 = ptrtoint ptr %177 to i64 + %sub.ptr.sub.i7.i.i.i685 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i683, %sub.ptr.rhs.cast.i6.i.i.i684 + %cmp.i.i.i686 = icmp eq i64 %sub.ptr.sub.i7.i.i.i685, 12 + br i1 %cmp.i.i.i686, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i690, label %if.end.i.i687 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i690: ; preds = %invoke.cont312 + %bcmp.i.i.i.i.i.i.i691 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %call5.i.i.i.i2.i667, ptr noundef nonnull dereferenceable(12) %177, i64 12), !noalias !1496 + %tobool1.not.i.i.i.i.i.i.i692 = icmp eq i32 %bcmp.i.i.i.i.i.i.i691, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i692, label %if.then.i.i693, label %if.end.i.i687 + +if.then.i.i693: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i690 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar300) to label %invoke.cont314 unwind label %lpad313 -if.end.i.i674: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i677, %invoke.cont312 +if.end.i.i687: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i690, %invoke.cont312 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar300, ptr noundef nonnull @.str.450, ptr noundef nonnull @.str.447, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp301, ptr noundef nonnull align 8 dereferenceable(24) %z) to label %invoke.cont314 unwind label %lpad313 -invoke.cont314: ; preds = %if.then.i.i680, %if.end.i.i674 +invoke.cont314: ; preds = %if.then.i.i693, %if.end.i.i687 %178 = load ptr, ptr %ref.tmp301, align 8 - %tobool.not.i.i.i684 = icmp eq ptr %178, null - br i1 %tobool.not.i.i.i684, label %_ZNSt6vectorIiSaIiEED2Ev.exit687, label %if.then.i.i.i685 + %tobool.not.i.i.i697 = icmp eq ptr %178, null + br i1 %tobool.not.i.i.i697, label %_ZNSt6vectorIiSaIiEED2Ev.exit700, label %if.then.i.i.i698 -if.then.i.i.i685: ; preds = %invoke.cont314 - call void @_ZdlPv(ptr noundef nonnull %178) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit687 +if.then.i.i.i698: ; preds = %invoke.cont314 + call void @_ZdlPv(ptr noundef nonnull %178) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit700 -_ZNSt6vectorIiSaIiEED2Ev.exit687: ; preds = %invoke.cont314, %if.then.i.i.i685 +_ZNSt6vectorIiSaIiEED2Ev.exit700: ; preds = %invoke.cont314, %if.then.i.i.i698 %179 = load i8, ptr %gtest_ar300, align 8 %180 = and i8 %179, 1 - %tobool.i688.not = icmp eq i8 %180, 0 - br i1 %tobool.i688.not, label %if.else319, label %if.end332 + %tobool.i701.not = icmp eq i8 %180, 0 + br i1 %tobool.i701.not, label %if.else319, label %if.end332 -ehcleanup295: ; preds = %_ZN7testing7MessageD2Ev.exit613, %lpad283 - %.pn32.pn = phi { ptr, i32 } [ %.pn32, %_ZN7testing7MessageD2Ev.exit613 ], [ %165, %lpad283 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar263) #27 +ehcleanup295: ; preds = %_ZN7testing7MessageD2Ev.exit624, %lpad283 + %.pn32.pn = phi { ptr, i32 } [ %.pn32, %_ZN7testing7MessageD2Ev.exit624 ], [ %165, %lpad283 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar263) #28 br label %ehcleanup334 -lpad313: ; preds = %if.end.i.i674, %if.then.i.i680 +lpad313: ; preds = %if.end.i.i687, %if.then.i.i693 %181 = landingpad { ptr, i32 } cleanup %182 = load ptr, ptr %ref.tmp301, align 8 - %tobool.not.i.i.i689 = icmp eq ptr %182, null - br i1 %tobool.not.i.i.i689, label %ehcleanup334, label %if.then.i.i.i690 + %tobool.not.i.i.i702 = icmp eq ptr %182, null + br i1 %tobool.not.i.i.i702, label %ehcleanup334, label %if.then.i.i.i703 -if.then.i.i.i690: ; preds = %lpad313 - call void @_ZdlPv(ptr noundef nonnull %182) #28 +if.then.i.i.i703: ; preds = %lpad313 + call void @_ZdlPv(ptr noundef nonnull %182) #29 br label %ehcleanup334 -if.else319: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit687 +if.else319: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit700 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp320) to label %invoke.cont322 unwind label %lpad321 invoke.cont322: ; preds = %if.else319 - %message_.i.i693 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar300, i64 0, i32 1 - %183 = load ptr, ptr %message_.i.i693, align 8 - %cmp.i.i.not.i.i694 = icmp eq ptr %183, null - br i1 %cmp.i.i.not.i.i694, label %invoke.cont325, label %cond.true.i.i695 + %message_.i.i706 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar300, i64 0, i32 1 + %183 = load ptr, ptr %message_.i.i706, align 8 + %cmp.i.i.not.i.i707 = icmp eq ptr %183, null + br i1 %cmp.i.i.not.i.i707, label %invoke.cont325, label %cond.true.i.i708 -cond.true.i.i695: ; preds = %invoke.cont322 - %call4.i.i696 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %183) #27 +cond.true.i.i708: ; preds = %invoke.cont322 + %call4.i.i709 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %183) #28 br label %invoke.cont325 -invoke.cont325: ; preds = %cond.true.i.i695, %invoke.cont322 - %cond.i.i697 = phi ptr [ %call4.i.i696, %cond.true.i.i695 ], [ @.str.255, %invoke.cont322 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp323, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 790, ptr noundef %cond.i.i697) +invoke.cont325: ; preds = %cond.true.i.i708, %invoke.cont322 + %cond.i.i710 = phi ptr [ %call4.i.i709, %cond.true.i.i708 ], [ @.str.255, %invoke.cont322 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp323, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 790, ptr noundef %cond.i.i710) to label %invoke.cont327 unwind label %lpad324 invoke.cont327: ; preds = %invoke.cont325 @@ -57461,19 +57487,19 @@ invoke.cont327: ; preds = %invoke.cont325 to label %invoke.cont329 unwind label %lpad328 invoke.cont329: ; preds = %invoke.cont327 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp323) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp323) #28 %184 = load ptr, ptr %ref.tmp320, align 8 - %cmp.not.i.i699 = icmp eq ptr %184, null - br i1 %cmp.not.i.i699, label %_ZN7testing7MessageD2Ev.exit703, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i700 + %cmp.not.i.i712 = icmp eq ptr %184, null + br i1 %cmp.not.i.i712, label %_ZN7testing7MessageD2Ev.exit716, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i713 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i700: ; preds = %invoke.cont329 - %vtable.i.i.i701 = load ptr, ptr %184, align 8 - %vfn.i.i.i702 = getelementptr inbounds ptr, ptr %vtable.i.i.i701, i64 1 - %185 = load ptr, ptr %vfn.i.i.i702, align 8 - call void %185(ptr noundef nonnull align 8 dereferenceable(128) %184) #27 - br label %_ZN7testing7MessageD2Ev.exit703 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i713: ; preds = %invoke.cont329 + %vtable.i.i.i714 = load ptr, ptr %184, align 8 + %vfn.i.i.i715 = getelementptr inbounds ptr, ptr %vtable.i.i.i714, i64 1 + %185 = load ptr, ptr %vfn.i.i.i715, align 8 + call void %185(ptr noundef nonnull align 8 dereferenceable(128) %184) #28 + br label %_ZN7testing7MessageD2Ev.exit716 -_ZN7testing7MessageD2Ev.exit703: ; preds = %invoke.cont329, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i700 +_ZN7testing7MessageD2Ev.exit716: ; preds = %invoke.cont329, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i713 store ptr null, ptr %ref.tmp320, align 8 br label %if.end332 @@ -57490,101 +57516,101 @@ lpad324: ; preds = %invoke.cont325 lpad328: ; preds = %invoke.cont327 %188 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp323) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp323) #28 br label %ehcleanup331 ehcleanup331: ; preds = %lpad328, %lpad324 %.pn37 = phi { ptr, i32 } [ %188, %lpad328 ], [ %187, %lpad324 ] %189 = load ptr, ptr %ref.tmp320, align 8 - %cmp.not.i.i704 = icmp eq ptr %189, null - br i1 %cmp.not.i.i704, label %_ZN7testing7MessageD2Ev.exit708, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i705 + %cmp.not.i.i717 = icmp eq ptr %189, null + br i1 %cmp.not.i.i717, label %_ZN7testing7MessageD2Ev.exit721, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i718 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i705: ; preds = %ehcleanup331 - %vtable.i.i.i706 = load ptr, ptr %189, align 8 - %vfn.i.i.i707 = getelementptr inbounds ptr, ptr %vtable.i.i.i706, i64 1 - %190 = load ptr, ptr %vfn.i.i.i707, align 8 - call void %190(ptr noundef nonnull align 8 dereferenceable(128) %189) #27 - br label %_ZN7testing7MessageD2Ev.exit708 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i718: ; preds = %ehcleanup331 + %vtable.i.i.i719 = load ptr, ptr %189, align 8 + %vfn.i.i.i720 = getelementptr inbounds ptr, ptr %vtable.i.i.i719, i64 1 + %190 = load ptr, ptr %vfn.i.i.i720, align 8 + call void %190(ptr noundef nonnull align 8 dereferenceable(128) %189) #28 + br label %_ZN7testing7MessageD2Ev.exit721 -_ZN7testing7MessageD2Ev.exit708: ; preds = %ehcleanup331, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i705 +_ZN7testing7MessageD2Ev.exit721: ; preds = %ehcleanup331, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i718 store ptr null, ptr %ref.tmp320, align 8 br label %ehcleanup333 -if.end332: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit687, %_ZN7testing7MessageD2Ev.exit703 - %message_.i709 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar300, i64 0, i32 1 - %191 = load ptr, ptr %message_.i709, align 8 - %cmp.not.i.i710 = icmp eq ptr %191, null - br i1 %cmp.not.i.i710, label %_ZN7testing15AssertionResultD2Ev.exit712, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i711 +if.end332: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit700, %_ZN7testing7MessageD2Ev.exit716 + %message_.i722 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar300, i64 0, i32 1 + %191 = load ptr, ptr %message_.i722, align 8 + %cmp.not.i.i723 = icmp eq ptr %191, null + br i1 %cmp.not.i.i723, label %_ZN7testing15AssertionResultD2Ev.exit725, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i711: ; preds = %if.end332 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #27 - call void @_ZdlPv(ptr noundef nonnull %191) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit712 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724: ; preds = %if.end332 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #28 + call void @_ZdlPv(ptr noundef nonnull %191) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit725 -_ZN7testing15AssertionResultD2Ev.exit712: ; preds = %if.end332, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i711 - store ptr null, ptr %message_.i709, align 8 +_ZN7testing15AssertionResultD2Ev.exit725: ; preds = %if.end332, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724 + store ptr null, ptr %message_.i722, align 8 %192 = load ptr, ptr %z, align 8 - %tobool.not.i.i.i713 = icmp eq ptr %192, null - br i1 %tobool.not.i.i.i713, label %_ZNSt6vectorIiSaIiEED2Ev.exit716, label %if.then.i.i.i714 + %tobool.not.i.i.i726 = icmp eq ptr %192, null + br i1 %tobool.not.i.i.i726, label %_ZNSt6vectorIiSaIiEED2Ev.exit729, label %if.then.i.i.i727 -if.then.i.i.i714: ; preds = %_ZN7testing15AssertionResultD2Ev.exit712 - call void @_ZdlPv(ptr noundef nonnull %192) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit716 +if.then.i.i.i727: ; preds = %_ZN7testing15AssertionResultD2Ev.exit725 + call void @_ZdlPv(ptr noundef nonnull %192) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit729 -_ZNSt6vectorIiSaIiEED2Ev.exit716: ; preds = %_ZN7testing15AssertionResultD2Ev.exit712, %if.then.i.i.i714 +_ZNSt6vectorIiSaIiEED2Ev.exit729: ; preds = %_ZN7testing15AssertionResultD2Ev.exit725, %if.then.i.i.i727 %193 = load ptr, ptr %y, align 8 - %tobool.not.i.i.i717 = icmp eq ptr %193, null - br i1 %tobool.not.i.i.i717, label %_ZNSt6vectorIiSaIiEED2Ev.exit720, label %if.then.i.i.i718 + %tobool.not.i.i.i730 = icmp eq ptr %193, null + br i1 %tobool.not.i.i.i730, label %_ZNSt6vectorIiSaIiEED2Ev.exit733, label %if.then.i.i.i731 -if.then.i.i.i718: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit716 - call void @_ZdlPv(ptr noundef nonnull %193) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit720 +if.then.i.i.i731: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit729 + call void @_ZdlPv(ptr noundef nonnull %193) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit733 -_ZNSt6vectorIiSaIiEED2Ev.exit720: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit716, %if.then.i.i.i718 - %tobool.not.i.i.i721 = icmp eq ptr %145, null - br i1 %tobool.not.i.i.i721, label %_ZNSt6vectorIiSaIiEED2Ev.exit724, label %if.then.i.i.i722 +_ZNSt6vectorIiSaIiEED2Ev.exit733: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit729, %if.then.i.i.i731 + %tobool.not.i.i.i734 = icmp eq ptr %145, null + br i1 %tobool.not.i.i.i734, label %_ZNSt6vectorIiSaIiEED2Ev.exit737, label %if.then.i.i.i735 -if.then.i.i.i722: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit720 - call void @_ZdlPv(ptr noundef nonnull %145) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit724 +if.then.i.i.i735: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit733 + call void @_ZdlPv(ptr noundef nonnull %145) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit737 -_ZNSt6vectorIiSaIiEED2Ev.exit724: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit720, %if.then.i.i.i722 +_ZNSt6vectorIiSaIiEED2Ev.exit737: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit733, %if.then.i.i.i735 ret void -ehcleanup333: ; preds = %_ZN7testing7MessageD2Ev.exit708, %lpad321 - %.pn37.pn = phi { ptr, i32 } [ %.pn37, %_ZN7testing7MessageD2Ev.exit708 ], [ %186, %lpad321 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar300) #27 +ehcleanup333: ; preds = %_ZN7testing7MessageD2Ev.exit721, %lpad321 + %.pn37.pn = phi { ptr, i32 } [ %.pn37, %_ZN7testing7MessageD2Ev.exit721 ], [ %186, %lpad321 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar300) #28 br label %ehcleanup334 -ehcleanup334: ; preds = %lpad.i656, %lpad.i561, %lpad.i443, %lpad.i348, %lpad.i235, %lpad.i140, %lpad.i76, %lpad.i44, %lpad5.loopexit, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad5.loopexit.split-lp.loopexit, %lpad313, %if.then.i.i.i690, %lpad275, %if.then.i.i.i595, %lpad232, %if.then.i.i.i477, %lpad194, %if.then.i.i.i382, %lpad151, %if.then.i.i.i269, %lpad112, %if.then.i.i.i174, %lpad58, %if.then.i.i.i110, %lpad24, %if.then.i.i.i60, %ehcleanup333, %ehcleanup295, %ehcleanup252, %ehcleanup214, %ehcleanup171, %ehcleanup132, %ehcleanup78, %ehcleanup39 - %x.sroa.0.1 = phi ptr [ %145, %ehcleanup333 ], [ %145, %ehcleanup295 ], [ %call5.i.i.i.i2.i, %ehcleanup252 ], [ %call5.i.i.i.i2.i, %ehcleanup214 ], [ %call5.i.i.i.i2.i, %ehcleanup171 ], [ %call5.i.i.i.i2.i, %ehcleanup132 ], [ %call5.i.i.i.i2.i, %ehcleanup78 ], [ %call5.i.i.i.i2.i, %ehcleanup39 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i60 ], [ %call5.i.i.i.i2.i, %lpad24 ], [ %call5.i.i.i.i2.i, %lpad.i44 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i110 ], [ %call5.i.i.i.i2.i, %lpad58 ], [ %call5.i.i.i.i2.i, %lpad.i76 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i174 ], [ %call5.i.i.i.i2.i, %lpad112 ], [ %call5.i.i.i.i2.i, %lpad.i140 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i269 ], [ %call5.i.i.i.i2.i, %lpad151 ], [ %call5.i.i.i.i2.i, %lpad.i235 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i382 ], [ %call5.i.i.i.i2.i, %lpad194 ], [ %call5.i.i.i.i2.i, %lpad.i348 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i477 ], [ %call5.i.i.i.i2.i, %lpad232 ], [ %call5.i.i.i.i2.i, %lpad.i443 ], [ %145, %if.then.i.i.i595 ], [ %145, %lpad275 ], [ %145, %lpad.i561 ], [ %145, %if.then.i.i.i690 ], [ %145, %lpad313 ], [ %145, %lpad.i656 ], [ %145, %lpad5.loopexit ], [ %call5.i.i.i.i2.i, %lpad5.loopexit.split-lp.loopexit ], [ %call5.i.i.i.i2.i, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %call5.i.i.i.i2.i, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %x.sroa.0.0.ph.ph.ph.ph, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] - %.pn37.pn.pn = phi { ptr, i32 } [ %.pn37.pn, %ehcleanup333 ], [ %.pn32.pn, %ehcleanup295 ], [ %.pn27.pn, %ehcleanup252 ], [ %.pn22.pn, %ehcleanup214 ], [ %.pn17.pn, %ehcleanup171 ], [ %.pn12.pn, %ehcleanup132 ], [ %.pn7.pn, %ehcleanup78 ], [ %.pn2.pn, %ehcleanup39 ], [ %11, %if.then.i.i.i60 ], [ %11, %lpad24 ], [ %6, %lpad.i44 ], [ %32, %if.then.i.i.i110 ], [ %32, %lpad58 ], [ %27, %lpad.i76 ], [ %62, %if.then.i.i.i174 ], [ %62, %lpad112 ], [ %56, %lpad.i140 ], [ %83, %if.then.i.i.i269 ], [ %83, %lpad151 ], [ %78, %lpad.i235 ], [ %111, %if.then.i.i.i382 ], [ %111, %lpad194 ], [ %106, %lpad.i348 ], [ %132, %if.then.i.i.i477 ], [ %132, %lpad232 ], [ %127, %lpad.i443 ], [ %160, %if.then.i.i.i595 ], [ %160, %lpad275 ], [ %155, %lpad.i561 ], [ %181, %if.then.i.i.i690 ], [ %181, %lpad313 ], [ %176, %lpad.i656 ], [ %lpad.loopexit, %lpad5.loopexit ], [ %lpad.loopexit766, %lpad5.loopexit.split-lp.loopexit ], [ %lpad.loopexit769, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit771, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp772, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] +ehcleanup334: ; preds = %lpad.i668, %lpad.i571, %lpad.i451, %lpad.i354, %lpad.i239, %lpad.i142, %lpad.i77, %lpad.i44, %lpad5.loopexit, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad5.loopexit.split-lp.loopexit, %lpad313, %if.then.i.i.i703, %lpad275, %if.then.i.i.i606, %lpad232, %if.then.i.i.i486, %lpad194, %if.then.i.i.i389, %lpad151, %if.then.i.i.i274, %lpad112, %if.then.i.i.i177, %lpad58, %if.then.i.i.i112, %lpad24, %if.then.i.i.i61, %ehcleanup333, %ehcleanup295, %ehcleanup252, %ehcleanup214, %ehcleanup171, %ehcleanup132, %ehcleanup78, %ehcleanup39 + %x.sroa.0.1 = phi ptr [ %145, %ehcleanup333 ], [ %145, %ehcleanup295 ], [ %call5.i.i.i.i2.i, %ehcleanup252 ], [ %call5.i.i.i.i2.i, %ehcleanup214 ], [ %call5.i.i.i.i2.i, %ehcleanup171 ], [ %call5.i.i.i.i2.i, %ehcleanup132 ], [ %call5.i.i.i.i2.i, %ehcleanup78 ], [ %call5.i.i.i.i2.i, %ehcleanup39 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i61 ], [ %call5.i.i.i.i2.i, %lpad24 ], [ %call5.i.i.i.i2.i, %lpad.i44 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i112 ], [ %call5.i.i.i.i2.i, %lpad58 ], [ %call5.i.i.i.i2.i, %lpad.i77 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i177 ], [ %call5.i.i.i.i2.i, %lpad112 ], [ %call5.i.i.i.i2.i, %lpad.i142 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i274 ], [ %call5.i.i.i.i2.i, %lpad151 ], [ %call5.i.i.i.i2.i, %lpad.i239 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i389 ], [ %call5.i.i.i.i2.i, %lpad194 ], [ %call5.i.i.i.i2.i, %lpad.i354 ], [ %call5.i.i.i.i2.i, %if.then.i.i.i486 ], [ %call5.i.i.i.i2.i, %lpad232 ], [ %call5.i.i.i.i2.i, %lpad.i451 ], [ %145, %if.then.i.i.i606 ], [ %145, %lpad275 ], [ %145, %lpad.i571 ], [ %145, %if.then.i.i.i703 ], [ %145, %lpad313 ], [ %145, %lpad.i668 ], [ %145, %lpad5.loopexit ], [ %call5.i.i.i.i2.i, %lpad5.loopexit.split-lp.loopexit ], [ %call5.i.i.i.i2.i, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %call5.i.i.i.i2.i, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %x.sroa.0.0.ph.ph.ph.ph, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %.pn37.pn.pn = phi { ptr, i32 } [ %.pn37.pn, %ehcleanup333 ], [ %.pn32.pn, %ehcleanup295 ], [ %.pn27.pn, %ehcleanup252 ], [ %.pn22.pn, %ehcleanup214 ], [ %.pn17.pn, %ehcleanup171 ], [ %.pn12.pn, %ehcleanup132 ], [ %.pn7.pn, %ehcleanup78 ], [ %.pn2.pn, %ehcleanup39 ], [ %11, %if.then.i.i.i61 ], [ %11, %lpad24 ], [ %6, %lpad.i44 ], [ %32, %if.then.i.i.i112 ], [ %32, %lpad58 ], [ %27, %lpad.i77 ], [ %62, %if.then.i.i.i177 ], [ %62, %lpad112 ], [ %56, %lpad.i142 ], [ %83, %if.then.i.i.i274 ], [ %83, %lpad151 ], [ %78, %lpad.i239 ], [ %111, %if.then.i.i.i389 ], [ %111, %lpad194 ], [ %106, %lpad.i354 ], [ %132, %if.then.i.i.i486 ], [ %132, %lpad232 ], [ %127, %lpad.i451 ], [ %160, %if.then.i.i.i606 ], [ %160, %lpad275 ], [ %155, %lpad.i571 ], [ %181, %if.then.i.i.i703 ], [ %181, %lpad313 ], [ %176, %lpad.i668 ], [ %lpad.loopexit, %lpad5.loopexit ], [ %lpad.loopexit780, %lpad5.loopexit.split-lp.loopexit ], [ %lpad.loopexit783, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit785, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp786, %lpad5.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] %194 = load ptr, ptr %z, align 8 - %tobool.not.i.i.i725 = icmp eq ptr %194, null - br i1 %tobool.not.i.i.i725, label %_ZNSt6vectorIiSaIiEED2Ev.exit728, label %if.then.i.i.i726 + %tobool.not.i.i.i738 = icmp eq ptr %194, null + br i1 %tobool.not.i.i.i738, label %_ZNSt6vectorIiSaIiEED2Ev.exit741, label %if.then.i.i.i739 -if.then.i.i.i726: ; preds = %ehcleanup334 - call void @_ZdlPv(ptr noundef nonnull %194) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit728 +if.then.i.i.i739: ; preds = %ehcleanup334 + call void @_ZdlPv(ptr noundef nonnull %194) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit741 -_ZNSt6vectorIiSaIiEED2Ev.exit728: ; preds = %ehcleanup334, %if.then.i.i.i726 +_ZNSt6vectorIiSaIiEED2Ev.exit741: ; preds = %ehcleanup334, %if.then.i.i.i739 %195 = load ptr, ptr %y, align 8 - %tobool.not.i.i.i729 = icmp eq ptr %195, null - br i1 %tobool.not.i.i.i729, label %_ZNSt6vectorIiSaIiEED2Ev.exit732, label %if.then.i.i.i730 + %tobool.not.i.i.i742 = icmp eq ptr %195, null + br i1 %tobool.not.i.i.i742, label %_ZNSt6vectorIiSaIiEED2Ev.exit745, label %if.then.i.i.i743 -if.then.i.i.i730: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit728 - call void @_ZdlPv(ptr noundef nonnull %195) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit732 +if.then.i.i.i743: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit741 + call void @_ZdlPv(ptr noundef nonnull %195) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit745 -_ZNSt6vectorIiSaIiEED2Ev.exit732: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit728, %if.then.i.i.i730 - %tobool.not.i.i.i733 = icmp eq ptr %x.sroa.0.1, null - br i1 %tobool.not.i.i.i733, label %eh.resume, label %if.then.i.i.i734 +_ZNSt6vectorIiSaIiEED2Ev.exit745: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit741, %if.then.i.i.i743 + %tobool.not.i.i.i746 = icmp eq ptr %x.sroa.0.1, null + br i1 %tobool.not.i.i.i746, label %eh.resume, label %if.then.i.i.i747 -if.then.i.i.i734: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit732 - call void @_ZdlPv(ptr noundef nonnull %x.sroa.0.1) #28 +if.then.i.i.i747: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit745 + call void @_ZdlPv(ptr noundef nonnull %x.sroa.0.1) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i734, %_ZNSt6vectorIiSaIiEED2Ev.exit732 +eh.resume: ; preds = %if.then.i.i.i747, %_ZNSt6vectorIiSaIiEED2Ev.exit745 resume { ptr, i32 } %.pn37.pn.pn } @@ -57597,14 +57623,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_125MutatingTest_Replace_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_125MutatingTest_Replace_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -57615,22 +57641,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_125MutatingTest_Replace_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_125MutatingTest_Replace_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -57647,42 +57673,42 @@ entry: %ref.tmp46 = alloca %"class.std::__cxx11::list", align 8 %ref.tmp65 = alloca %"class.testing::Message", align 8 %ref.tmp68 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(24) @constinit.455, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i13 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i2.i13 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i unwind label %lpad.i14 lpad.i14: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIiSaIiEED2Ev.exit144 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit145 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %entry store ptr %call5.i.i.i.i2.i13, ptr %expected, align 8 - %add.ptr.i1.i18 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i13, i64 6 + %add.ptr.i1.i18 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i13, i64 24 %_M_end_of_storage.i.i19 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i18, ptr %_M_end_of_storage.i.i19, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i13, ptr noundef nonnull align 4 dereferenceable(24) @constinit.456, i64 24, i1 false) - %_M_finish.i.i20 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 - store ptr %add.ptr.i1.i18, ptr %_M_finish.i.i20, align 8 + %_M_finish.i.i21 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 + store ptr %add.ptr.i1.i18, ptr %_M_finish.i.i21, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %test_vector, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i24 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i2.i6.i25 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %invoke.cont13 unwind label %lpad12 invoke.cont13: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i - store ptr %call5.i.i.i.i2.i6.i24, ptr %test_vector, align 8 + store ptr %call5.i.i.i.i2.i6.i25, ptr %test_vector, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 1 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i24, i64 6 + %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i25, i64 6 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i6.i24, ptr noundef nonnull align 4 dereferenceable(24) @constinit.455, i64 24, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i6.i25, ptr noundef nonnull align 4 dereferenceable(24) @constinit.455, i64 24, i1 false) store ptr %add.ptr.i.i.i, ptr %_M_finish.i.i.i, align 8 br label %for.body.i.i for.body.i.i: ; preds = %invoke.cont13, %for.inc.i.i %__first.sroa.0.05.i.i.idx = phi i64 [ %__first.sroa.0.05.i.i.add, %for.inc.i.i ], [ 0, %invoke.cont13 ] - %__first.sroa.0.05.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i24, i64 %__first.sroa.0.05.i.i.idx + %__first.sroa.0.05.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i25, i64 %__first.sroa.0.05.i.i.idx %1 = load i32, ptr %__first.sroa.0.05.i.i.ptr, align 4 %cmp.i.i = icmp eq i32 %1, 1 br i1 %cmp.i.i, label %if.then.i.i, label %for.inc.i.i @@ -57697,11 +57723,11 @@ for.inc.i.i: ; preds = %if.then.i.i, %for.b br i1 %cmp.i.not.i.i, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i, label %for.body.i.i, !llvm.loop !1501 _ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i: ; preds = %for.inc.i.i - %bcmp.i.i.i.i.i.i.i = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(24) %call5.i.i.i.i2.i13, ptr noundef nonnull dereferenceable(24) %call5.i.i.i.i2.i6.i24, i64 24), !noalias !1502 + %bcmp.i.i.i.i.i.i.i = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(24) %call5.i.i.i.i2.i13, ptr noundef nonnull dereferenceable(24) %call5.i.i.i.i2.i6.i25, i64 24), !noalias !1502 %tobool1.not.i.i.i.i.i.i.i = icmp eq i32 %bcmp.i.i.i.i.i.i.i, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i26, label %if.end.i.i + br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i27, label %if.end.i.i -if.then.i.i26: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i +if.then.i.i27: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar) to label %invoke.cont18 unwind label %lpad16 @@ -57709,7 +57735,7 @@ if.end.i.i: ; preds = %_ZSteqIiSaIiEEbRKSt invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull @.str.329, ptr noundef nonnull @.str.423, ptr noundef nonnull align 8 dereferenceable(24) %expected, ptr noundef nonnull align 8 dereferenceable(24) %test_vector) to label %invoke.cont18 unwind label %lpad16 -invoke.cont18: ; preds = %if.then.i.i26, %if.end.i.i +invoke.cont18: ; preds = %if.then.i.i27, %if.end.i.i %2 = load i8, ptr %gtest_ar, align 8 %3 = and i8 %2, 1 %tobool.i.not = icmp eq i8 %3, 0 @@ -57720,7 +57746,7 @@ lpad12: ; preds = %_ZNSt16allocator_tr cleanup br label %ehcleanup81 -lpad16: ; preds = %if.end.i.i, %if.then.i.i26 +lpad16: ; preds = %if.end.i.i, %if.then.i.i27 %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup80 @@ -57736,7 +57762,7 @@ invoke.cont21: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont24, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont21 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #28 br label %invoke.cont24 invoke.cont24: ; preds = %cond.true.i.i, %invoke.cont21 @@ -57749,7 +57775,7 @@ invoke.cont26: ; preds = %invoke.cont24 to label %invoke.cont28 unwind label %lpad27 invoke.cont28: ; preds = %invoke.cont26 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) #28 %7 = load ptr, ptr %ref.tmp19, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -57758,7 +57784,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont28, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -57778,35 +57804,35 @@ lpad23: ; preds = %invoke.cont24 lpad27: ; preds = %invoke.cont26 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) #28 br label %ehcleanup ehcleanup: ; preds = %lpad27, %lpad23 %.pn = phi { ptr, i32 } [ %11, %lpad27 ], [ %10, %lpad23 ] %12 = load ptr, ptr %ref.tmp19, align 8 - %cmp.not.i.i29 = icmp eq ptr %12, null - br i1 %cmp.not.i.i29, label %_ZN7testing7MessageD2Ev.exit33, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30 + %cmp.not.i.i30 = icmp eq ptr %12, null + br i1 %cmp.not.i.i30, label %_ZN7testing7MessageD2Ev.exit34, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30: ; preds = %ehcleanup - %vtable.i.i.i31 = load ptr, ptr %12, align 8 - %vfn.i.i.i32 = getelementptr inbounds ptr, ptr %vtable.i.i.i31, i64 1 - %13 = load ptr, ptr %vfn.i.i.i32, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 - br label %_ZN7testing7MessageD2Ev.exit33 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31: ; preds = %ehcleanup + %vtable.i.i.i32 = load ptr, ptr %12, align 8 + %vfn.i.i.i33 = getelementptr inbounds ptr, ptr %vtable.i.i.i32, i64 1 + %13 = load ptr, ptr %vfn.i.i.i33, align 8 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 + br label %_ZN7testing7MessageD2Ev.exit34 -_ZN7testing7MessageD2Ev.exit33: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i30 +_ZN7testing7MessageD2Ev.exit34: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i31 store ptr null, ptr %ref.tmp19, align 8 br label %ehcleanup29 if.end: ; preds = %invoke.cont18, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %14 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i34 = icmp eq ptr %14, null - br i1 %cmp.not.i.i34, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i35 = icmp eq ptr %14, null + br i1 %cmp.not.i.i35, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 - call void @_ZdlPv(ptr noundef nonnull %14) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 + call void @_ZdlPv(ptr noundef nonnull %14) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -57816,120 +57842,120 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de store ptr %test_list, ptr %test_list, align 8 %_M_size.i.i.i.i.i = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %test_list, i64 0, i32 1 store i64 0, ptr %_M_size.i.i.i.i.i, align 8 - br label %for.body.i.i35 + br label %for.body.i.i36 -for.body.i.i35: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %call5.i.i.i.i.i.i.i.noexc.i +for.body.i.i36: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %call5.i.i.i.i.i.i.i.noexc.i %__first.sroa.0.04.i.i.idx = phi i64 [ %__first.sroa.0.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 - to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad.i36 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 + to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad.i37 -call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i35 +call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i36 %__first.sroa.0.04.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %__first.sroa.0.04.i.i.idx %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %15 = load i32, ptr %__first.sroa.0.04.i.i.ptr, align 4 store i32 %15, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %test_list) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %test_list) #28 %16 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %16, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 %__first.sroa.0.04.i.i.add = add nuw nsw i64 %__first.sroa.0.04.i.i.idx, 4 - %cmp.i.not.i.i38 = icmp eq i64 %__first.sroa.0.04.i.i.add, 24 - br i1 %cmp.i.not.i.i38, label %invoke.cont39, label %for.body.i.i35, !llvm.loop !810 + %cmp.i.not.i.i39 = icmp eq i64 %__first.sroa.0.04.i.i.add, 24 + br i1 %cmp.i.not.i.i39, label %invoke.cont39, label %for.body.i.i36, !llvm.loop !810 -lpad.i36: ; preds = %for.body.i.i35 +lpad.i37: ; preds = %for.body.i.i36 %17 = landingpad { ptr, i32 } cleanup %18 = load ptr, ptr %test_list, align 8 %cmp.not4.i.i.i = icmp eq ptr %18, %test_list br i1 %cmp.not4.i.i.i, label %ehcleanup80, label %while.body.i.i.i -while.body.i.i.i: ; preds = %lpad.i36, %while.body.i.i.i - %__cur.05.i.i.i = phi ptr [ %19, %while.body.i.i.i ], [ %18, %lpad.i36 ] +while.body.i.i.i: ; preds = %lpad.i37, %while.body.i.i.i + %__cur.05.i.i.i = phi ptr [ %19, %while.body.i.i.i ], [ %18, %lpad.i37 ] %19 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %19, %test_list br i1 %cmp.not.i.i.i, label %ehcleanup80, label %while.body.i.i.i, !llvm.loop !7 invoke.cont39: ; preds = %call5.i.i.i.i.i.i.i.noexc.i %20 = load ptr, ptr %test_list, align 8 %cmp.i.not5.i.i = icmp eq ptr %20, %test_list - br i1 %cmp.i.not5.i.i, label %invoke.cont44, label %for.body.i.i41 + br i1 %cmp.i.not5.i.i, label %invoke.cont44, label %for.body.i.i42 -for.body.i.i41: ; preds = %invoke.cont39, %for.inc.i.i43 - %__first.sroa.0.06.i.i = phi ptr [ %22, %for.inc.i.i43 ], [ %20, %invoke.cont39 ] +for.body.i.i42: ; preds = %invoke.cont39, %for.inc.i.i44 + %__first.sroa.0.06.i.i = phi ptr [ %22, %for.inc.i.i44 ], [ %20, %invoke.cont39 ] %_M_storage.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %__first.sroa.0.06.i.i, i64 0, i32 1 %21 = load i32, ptr %_M_storage.i.i.i.i, align 4 - %cmp.i.i42 = icmp eq i32 %21, 1 - br i1 %cmp.i.i42, label %if.then.i.i45, label %for.inc.i.i43 + %cmp.i.i43 = icmp eq i32 %21, 1 + br i1 %cmp.i.i43, label %if.then.i.i46, label %for.inc.i.i44 -if.then.i.i45: ; preds = %for.body.i.i41 +if.then.i.i46: ; preds = %for.body.i.i42 store i32 4, ptr %_M_storage.i.i.i.i, align 4 - br label %for.inc.i.i43 + br label %for.inc.i.i44 -for.inc.i.i43: ; preds = %if.then.i.i45, %for.body.i.i41 +for.inc.i.i44: ; preds = %if.then.i.i46, %for.body.i.i42 %22 = load ptr, ptr %__first.sroa.0.06.i.i, align 8 - %cmp.i.not.i.i44 = icmp eq ptr %22, %test_list - br i1 %cmp.i.not.i.i44, label %invoke.cont44, label %for.body.i.i41, !llvm.loop !1507 + %cmp.i.not.i.i45 = icmp eq ptr %22, %test_list + br i1 %cmp.i.not.i.i45, label %invoke.cont44, label %for.body.i.i42, !llvm.loop !1507 -invoke.cont44: ; preds = %for.inc.i.i43, %invoke.cont39 +invoke.cont44: ; preds = %for.inc.i.i44, %invoke.cont39 %23 = load ptr, ptr %expected, align 8 - %24 = load ptr, ptr %_M_finish.i.i20, align 8 - %_M_prev.i.i.i.i.i47 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %ref.tmp46, i64 0, i32 1 - store ptr %ref.tmp46, ptr %_M_prev.i.i.i.i.i47, align 8 + %24 = load ptr, ptr %_M_finish.i.i21, align 8 + %_M_prev.i.i.i.i.i48 = getelementptr inbounds %"struct.std::__detail::_List_node_base", ptr %ref.tmp46, i64 0, i32 1 + store ptr %ref.tmp46, ptr %_M_prev.i.i.i.i.i48, align 8 store ptr %ref.tmp46, ptr %ref.tmp46, align 8 - %_M_size.i.i.i.i.i48 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %ref.tmp46, i64 0, i32 1 - store i64 0, ptr %_M_size.i.i.i.i.i48, align 8 - %cmp.i.not3.i.i49 = icmp eq ptr %23, %24 - br i1 %cmp.i.not3.i.i49, label %invoke.cont57, label %for.body.i.i50 - -for.body.i.i50: ; preds = %invoke.cont44, %call5.i.i.i.i.i.i.i.noexc.i59 - %__first.sroa.0.04.i.i51 = phi ptr [ %incdec.ptr.i.i.i62, %call5.i.i.i.i.i.i.i.noexc.i59 ], [ %23, %invoke.cont44 ] - %call5.i.i.i.i.i.i.i2.i52 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 - to label %call5.i.i.i.i.i.i.i.noexc.i59 unwind label %lpad.i53 - -call5.i.i.i.i.i.i.i.noexc.i59: ; preds = %for.body.i.i50 - %_M_storage.i.i.i.i.i.i60 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i52, i64 0, i32 1 - %25 = load i32, ptr %__first.sroa.0.04.i.i51, align 4 - store i32 %25, ptr %_M_storage.i.i.i.i.i.i60, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i52, ptr noundef nonnull %ref.tmp46) #27 - %26 = load i64, ptr %_M_size.i.i.i.i.i48, align 8 - %add.i.i.i.i.i61 = add i64 %26, 1 - store i64 %add.i.i.i.i.i61, ptr %_M_size.i.i.i.i.i48, align 8 - %incdec.ptr.i.i.i62 = getelementptr inbounds i32, ptr %__first.sroa.0.04.i.i51, i64 1 - %cmp.i.not.i.i63 = icmp eq ptr %incdec.ptr.i.i.i62, %24 - br i1 %cmp.i.not.i.i63, label %invoke.cont57, label %for.body.i.i50, !llvm.loop !810 - -lpad.i53: ; preds = %for.body.i.i50 + %_M_size.i.i.i.i.i49 = getelementptr inbounds %"struct.std::__detail::_List_node_header", ptr %ref.tmp46, i64 0, i32 1 + store i64 0, ptr %_M_size.i.i.i.i.i49, align 8 + %cmp.i.not3.i.i50 = icmp eq ptr %23, %24 + br i1 %cmp.i.not3.i.i50, label %invoke.cont57, label %for.body.i.i51 + +for.body.i.i51: ; preds = %invoke.cont44, %call5.i.i.i.i.i.i.i.noexc.i60 + %__first.sroa.0.04.i.i52 = phi ptr [ %incdec.ptr.i.i.i63, %call5.i.i.i.i.i.i.i.noexc.i60 ], [ %23, %invoke.cont44 ] + %call5.i.i.i.i.i.i.i2.i53 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 + to label %call5.i.i.i.i.i.i.i.noexc.i60 unwind label %lpad.i54 + +call5.i.i.i.i.i.i.i.noexc.i60: ; preds = %for.body.i.i51 + %_M_storage.i.i.i.i.i.i61 = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i53, i64 0, i32 1 + %25 = load i32, ptr %__first.sroa.0.04.i.i52, align 4 + store i32 %25, ptr %_M_storage.i.i.i.i.i.i61, align 4 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i53, ptr noundef nonnull %ref.tmp46) #28 + %26 = load i64, ptr %_M_size.i.i.i.i.i49, align 8 + %add.i.i.i.i.i62 = add i64 %26, 1 + store i64 %add.i.i.i.i.i62, ptr %_M_size.i.i.i.i.i49, align 8 + %incdec.ptr.i.i.i63 = getelementptr inbounds i32, ptr %__first.sroa.0.04.i.i52, i64 1 + %cmp.i.not.i.i64 = icmp eq ptr %incdec.ptr.i.i.i63, %24 + br i1 %cmp.i.not.i.i64, label %invoke.cont57, label %for.body.i.i51, !llvm.loop !810 + +lpad.i54: ; preds = %for.body.i.i51 %27 = landingpad { ptr, i32 } cleanup %28 = load ptr, ptr %ref.tmp46, align 8 - %cmp.not4.i.i.i54 = icmp eq ptr %28, %ref.tmp46 - br i1 %cmp.not4.i.i.i54, label %ehcleanup79, label %while.body.i.i.i55 - -while.body.i.i.i55: ; preds = %lpad.i53, %while.body.i.i.i55 - %__cur.05.i.i.i56 = phi ptr [ %29, %while.body.i.i.i55 ], [ %28, %lpad.i53 ] - %29 = load ptr, ptr %__cur.05.i.i.i56, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i56) #28 - %cmp.not.i.i.i57 = icmp eq ptr %29, %ref.tmp46 - br i1 %cmp.not.i.i.i57, label %ehcleanup79, label %while.body.i.i.i55, !llvm.loop !7 - -invoke.cont57: ; preds = %call5.i.i.i.i.i.i.i.noexc.i59, %invoke.cont44 - %30 = phi i64 [ 0, %invoke.cont44 ], [ %add.i.i.i.i.i61, %call5.i.i.i.i.i.i.i.noexc.i59 ] + %cmp.not4.i.i.i55 = icmp eq ptr %28, %ref.tmp46 + br i1 %cmp.not4.i.i.i55, label %ehcleanup79, label %while.body.i.i.i56 + +while.body.i.i.i56: ; preds = %lpad.i54, %while.body.i.i.i56 + %__cur.05.i.i.i57 = phi ptr [ %29, %while.body.i.i.i56 ], [ %28, %lpad.i54 ] + %29 = load ptr, ptr %__cur.05.i.i.i57, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i57) #29 + %cmp.not.i.i.i58 = icmp eq ptr %29, %ref.tmp46 + br i1 %cmp.not.i.i.i58, label %ehcleanup79, label %while.body.i.i.i56, !llvm.loop !7 + +invoke.cont57: ; preds = %call5.i.i.i.i.i.i.i.noexc.i60, %invoke.cont44 + %30 = phi i64 [ 0, %invoke.cont44 ], [ %add.i.i.i.i.i62, %call5.i.i.i.i.i.i.i.noexc.i60 ] %31 = load i64, ptr %_M_size.i.i.i.i.i, align 8, !noalias !1508 - %cmp.not.i.i.i67 = icmp eq i64 %30, %31 - br i1 %cmp.not.i.i.i67, label %while.cond.i.i.i, label %if.end.i.i68 + %cmp.not.i.i.i68 = icmp eq i64 %30, %31 + br i1 %cmp.not.i.i.i68, label %while.cond.i.i.i, label %if.end.i.i69 -while.cond.i.i.i: ; preds = %invoke.cont57, %land.rhs.i.i.i70 - %__i1.sroa.0.0.in.i.i.i = phi ptr [ %__i1.sroa.0.0.i.i.i, %land.rhs.i.i.i70 ], [ %ref.tmp46, %invoke.cont57 ] - %__i2.sroa.0.0.in.i.i.i = phi ptr [ %__i2.sroa.0.0.i.i.i, %land.rhs.i.i.i70 ], [ %test_list, %invoke.cont57 ] +while.cond.i.i.i: ; preds = %invoke.cont57, %land.rhs.i.i.i71 + %__i1.sroa.0.0.in.i.i.i = phi ptr [ %__i1.sroa.0.0.i.i.i, %land.rhs.i.i.i71 ], [ %ref.tmp46, %invoke.cont57 ] + %__i2.sroa.0.0.in.i.i.i = phi ptr [ %__i2.sroa.0.0.i.i.i, %land.rhs.i.i.i71 ], [ %test_list, %invoke.cont57 ] %__i2.sroa.0.0.i.i.i = load ptr, ptr %__i2.sroa.0.0.in.i.i.i, align 8, !noalias !1508 %__i1.sroa.0.0.i.i.i = load ptr, ptr %__i1.sroa.0.0.in.i.i.i, align 8, !noalias !1508 %cmp.i.i.i.i = icmp ne ptr %__i1.sroa.0.0.i.i.i, %ref.tmp46 %cmp.i6.i.i.i = icmp ne ptr %__i2.sroa.0.0.i.i.i, %test_list %or.cond.i.i.i = select i1 %cmp.i.i.i.i, i1 %cmp.i6.i.i.i, i1 false - br i1 %or.cond.i.i.i, label %land.rhs.i.i.i70, label %_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i + br i1 %or.cond.i.i.i, label %land.rhs.i.i.i71, label %_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i -land.rhs.i.i.i70: ; preds = %while.cond.i.i.i +land.rhs.i.i.i71: ; preds = %while.cond.i.i.i %_M_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %__i1.sroa.0.0.i.i.i, i64 0, i32 1 %32 = load i32, ptr %_M_storage.i.i.i.i.i, align 4, !noalias !1508 %_M_storage.i.i7.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %__i2.sroa.0.0.i.i.i, i64 0, i32 1 @@ -57937,74 +57963,74 @@ land.rhs.i.i.i70: ; preds = %while.cond.i.i.i %cmp13.i.i.i = icmp eq i32 %32, %33 br i1 %cmp13.i.i.i, label %while.cond.i.i.i, label %_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i, !llvm.loop !411 -_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i: ; preds = %land.rhs.i.i.i70, %while.cond.i.i.i +_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i: ; preds = %land.rhs.i.i.i71, %while.cond.i.i.i %cmp.i8.i.i.i = icmp eq ptr %__i1.sroa.0.0.i.i.i, %ref.tmp46 %cmp.i9.i.i.i = icmp eq ptr %__i2.sroa.0.0.i.i.i, %test_list %spec.select.i.i.i = select i1 %cmp.i8.i.i.i, i1 %cmp.i9.i.i.i, i1 false - br i1 %spec.select.i.i.i, label %if.then.i.i69, label %if.end.i.i68 + br i1 %spec.select.i.i.i, label %if.then.i.i70, label %if.end.i.i69 -if.then.i.i69: ; preds = %_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i +if.then.i.i70: ; preds = %_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar45) to label %invoke.cont59 unwind label %lpad58 -if.end.i.i68: ; preds = %_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i, %invoke.cont57 +if.end.i.i69: ; preds = %_ZSteqIiSaIiEEbRKNSt7__cxx114listIT_T0_EES7_.exit.i.i, %invoke.cont57 invoke void @_ZN7testing8internal18CmpHelperEQFailureINSt7__cxx114listIiSaIiEEES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar45, ptr noundef nonnull @.str.421, ptr noundef nonnull @.str.422, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp46, ptr noundef nonnull align 8 dereferenceable(24) %test_list) to label %invoke.cont59 unwind label %lpad58 -invoke.cont59: ; preds = %if.then.i.i69, %if.end.i.i68 +invoke.cont59: ; preds = %if.then.i.i70, %if.end.i.i69 %34 = load ptr, ptr %ref.tmp46, align 8 - %cmp.not4.i.i.i73 = icmp eq ptr %34, %ref.tmp46 - br i1 %cmp.not4.i.i.i73, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i74 + %cmp.not4.i.i.i74 = icmp eq ptr %34, %ref.tmp46 + br i1 %cmp.not4.i.i.i74, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i75 -while.body.i.i.i74: ; preds = %invoke.cont59, %while.body.i.i.i74 - %__cur.05.i.i.i75 = phi ptr [ %35, %while.body.i.i.i74 ], [ %34, %invoke.cont59 ] - %35 = load ptr, ptr %__cur.05.i.i.i75, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i75) #28 - %cmp.not.i.i.i76 = icmp eq ptr %35, %ref.tmp46 - br i1 %cmp.not.i.i.i76, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i74, !llvm.loop !7 +while.body.i.i.i75: ; preds = %invoke.cont59, %while.body.i.i.i75 + %__cur.05.i.i.i76 = phi ptr [ %35, %while.body.i.i.i75 ], [ %34, %invoke.cont59 ] + %35 = load ptr, ptr %__cur.05.i.i.i76, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i76) #29 + %cmp.not.i.i.i77 = icmp eq ptr %35, %ref.tmp46 + br i1 %cmp.not.i.i.i77, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i75, !llvm.loop !7 -_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i74, %invoke.cont59 +_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i75, %invoke.cont59 %36 = load i8, ptr %gtest_ar45, align 8 %37 = and i8 %36, 1 - %tobool.i78.not = icmp eq i8 %37, 0 - br i1 %tobool.i78.not, label %if.else64, label %if.end77 + %tobool.i79.not = icmp eq i8 %37, 0 + br i1 %tobool.i79.not, label %if.else64, label %if.end77 -ehcleanup29: ; preds = %_ZN7testing7MessageD2Ev.exit33, %lpad20 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit33 ], [ %9, %lpad20 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup29: ; preds = %_ZN7testing7MessageD2Ev.exit34, %lpad20 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit34 ], [ %9, %lpad20 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup80 -lpad58: ; preds = %if.end.i.i68, %if.then.i.i69 +lpad58: ; preds = %if.end.i.i69, %if.then.i.i70 %38 = landingpad { ptr, i32 } cleanup %39 = load ptr, ptr %ref.tmp46, align 8 - %cmp.not4.i.i.i79 = icmp eq ptr %39, %ref.tmp46 - br i1 %cmp.not4.i.i.i79, label %ehcleanup79, label %while.body.i.i.i80 + %cmp.not4.i.i.i80 = icmp eq ptr %39, %ref.tmp46 + br i1 %cmp.not4.i.i.i80, label %ehcleanup79, label %while.body.i.i.i81 -while.body.i.i.i80: ; preds = %lpad58, %while.body.i.i.i80 - %__cur.05.i.i.i81 = phi ptr [ %40, %while.body.i.i.i80 ], [ %39, %lpad58 ] - %40 = load ptr, ptr %__cur.05.i.i.i81, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i81) #28 - %cmp.not.i.i.i82 = icmp eq ptr %40, %ref.tmp46 - br i1 %cmp.not.i.i.i82, label %ehcleanup79, label %while.body.i.i.i80, !llvm.loop !7 +while.body.i.i.i81: ; preds = %lpad58, %while.body.i.i.i81 + %__cur.05.i.i.i82 = phi ptr [ %40, %while.body.i.i.i81 ], [ %39, %lpad58 ] + %40 = load ptr, ptr %__cur.05.i.i.i82, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i82) #29 + %cmp.not.i.i.i83 = icmp eq ptr %40, %ref.tmp46 + br i1 %cmp.not.i.i.i83, label %ehcleanup79, label %while.body.i.i.i81, !llvm.loop !7 if.else64: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65) to label %invoke.cont67 unwind label %lpad66 invoke.cont67: ; preds = %if.else64 - %message_.i.i85 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar45, i64 0, i32 1 - %41 = load ptr, ptr %message_.i.i85, align 8 - %cmp.i.i.not.i.i86 = icmp eq ptr %41, null - br i1 %cmp.i.i.not.i.i86, label %invoke.cont70, label %cond.true.i.i87 + %message_.i.i86 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar45, i64 0, i32 1 + %41 = load ptr, ptr %message_.i.i86, align 8 + %cmp.i.i.not.i.i87 = icmp eq ptr %41, null + br i1 %cmp.i.i.not.i.i87, label %invoke.cont70, label %cond.true.i.i88 -cond.true.i.i87: ; preds = %invoke.cont67 - %call4.i.i88 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #27 +cond.true.i.i88: ; preds = %invoke.cont67 + %call4.i.i89 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #28 br label %invoke.cont70 -invoke.cont70: ; preds = %cond.true.i.i87, %invoke.cont67 - %cond.i.i89 = phi ptr [ %call4.i.i88, %cond.true.i.i87 ], [ @.str.255, %invoke.cont67 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 803, ptr noundef %cond.i.i89) +invoke.cont70: ; preds = %cond.true.i.i88, %invoke.cont67 + %cond.i.i90 = phi ptr [ %call4.i.i89, %cond.true.i.i88 ], [ @.str.255, %invoke.cont67 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 803, ptr noundef %cond.i.i90) to label %invoke.cont72 unwind label %lpad69 invoke.cont72: ; preds = %invoke.cont70 @@ -58012,19 +58038,19 @@ invoke.cont72: ; preds = %invoke.cont70 to label %invoke.cont74 unwind label %lpad73 invoke.cont74: ; preds = %invoke.cont72 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #28 %42 = load ptr, ptr %ref.tmp65, align 8 - %cmp.not.i.i91 = icmp eq ptr %42, null - br i1 %cmp.not.i.i91, label %_ZN7testing7MessageD2Ev.exit95, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 + %cmp.not.i.i92 = icmp eq ptr %42, null + br i1 %cmp.not.i.i92, label %_ZN7testing7MessageD2Ev.exit96, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92: ; preds = %invoke.cont74 - %vtable.i.i.i93 = load ptr, ptr %42, align 8 - %vfn.i.i.i94 = getelementptr inbounds ptr, ptr %vtable.i.i.i93, i64 1 - %43 = load ptr, ptr %vfn.i.i.i94, align 8 - call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #27 - br label %_ZN7testing7MessageD2Ev.exit95 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93: ; preds = %invoke.cont74 + %vtable.i.i.i94 = load ptr, ptr %42, align 8 + %vfn.i.i.i95 = getelementptr inbounds ptr, ptr %vtable.i.i.i94, i64 1 + %43 = load ptr, ptr %vfn.i.i.i95, align 8 + call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #28 + br label %_ZN7testing7MessageD2Ev.exit96 -_ZN7testing7MessageD2Ev.exit95: ; preds = %invoke.cont74, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 +_ZN7testing7MessageD2Ev.exit96: ; preds = %invoke.cont74, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93 store ptr null, ptr %ref.tmp65, align 8 br label %if.end77 @@ -58041,113 +58067,113 @@ lpad69: ; preds = %invoke.cont70 lpad73: ; preds = %invoke.cont72 %46 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #28 br label %ehcleanup76 ehcleanup76: ; preds = %lpad73, %lpad69 %.pn5 = phi { ptr, i32 } [ %46, %lpad73 ], [ %45, %lpad69 ] %47 = load ptr, ptr %ref.tmp65, align 8 - %cmp.not.i.i96 = icmp eq ptr %47, null - br i1 %cmp.not.i.i96, label %_ZN7testing7MessageD2Ev.exit100, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 + %cmp.not.i.i97 = icmp eq ptr %47, null + br i1 %cmp.not.i.i97, label %_ZN7testing7MessageD2Ev.exit101, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97: ; preds = %ehcleanup76 - %vtable.i.i.i98 = load ptr, ptr %47, align 8 - %vfn.i.i.i99 = getelementptr inbounds ptr, ptr %vtable.i.i.i98, i64 1 - %48 = load ptr, ptr %vfn.i.i.i99, align 8 - call void %48(ptr noundef nonnull align 8 dereferenceable(128) %47) #27 - br label %_ZN7testing7MessageD2Ev.exit100 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98: ; preds = %ehcleanup76 + %vtable.i.i.i99 = load ptr, ptr %47, align 8 + %vfn.i.i.i100 = getelementptr inbounds ptr, ptr %vtable.i.i.i99, i64 1 + %48 = load ptr, ptr %vfn.i.i.i100, align 8 + call void %48(ptr noundef nonnull align 8 dereferenceable(128) %47) #28 + br label %_ZN7testing7MessageD2Ev.exit101 -_ZN7testing7MessageD2Ev.exit100: ; preds = %ehcleanup76, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 +_ZN7testing7MessageD2Ev.exit101: ; preds = %ehcleanup76, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 store ptr null, ptr %ref.tmp65, align 8 br label %ehcleanup78 -if.end77: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit95 - %message_.i101 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar45, i64 0, i32 1 - %49 = load ptr, ptr %message_.i101, align 8 - %cmp.not.i.i102 = icmp eq ptr %49, null - br i1 %cmp.not.i.i102, label %_ZN7testing15AssertionResultD2Ev.exit104, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 +if.end77: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit96 + %message_.i102 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar45, i64 0, i32 1 + %49 = load ptr, ptr %message_.i102, align 8 + %cmp.not.i.i103 = icmp eq ptr %49, null + br i1 %cmp.not.i.i103, label %_ZN7testing15AssertionResultD2Ev.exit105, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103: ; preds = %if.end77 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #27 - call void @_ZdlPv(ptr noundef nonnull %49) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit104 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104: ; preds = %if.end77 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #28 + call void @_ZdlPv(ptr noundef nonnull %49) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit105 -_ZN7testing15AssertionResultD2Ev.exit104: ; preds = %if.end77, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 - store ptr null, ptr %message_.i101, align 8 +_ZN7testing15AssertionResultD2Ev.exit105: ; preds = %if.end77, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 + store ptr null, ptr %message_.i102, align 8 %50 = load ptr, ptr %test_list, align 8 - %cmp.not4.i.i.i105 = icmp eq ptr %50, %test_list - br i1 %cmp.not4.i.i.i105, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit110, label %while.body.i.i.i106 + %cmp.not4.i.i.i106 = icmp eq ptr %50, %test_list + br i1 %cmp.not4.i.i.i106, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit111, label %while.body.i.i.i107 -while.body.i.i.i106: ; preds = %_ZN7testing15AssertionResultD2Ev.exit104, %while.body.i.i.i106 - %__cur.05.i.i.i107 = phi ptr [ %51, %while.body.i.i.i106 ], [ %50, %_ZN7testing15AssertionResultD2Ev.exit104 ] - %51 = load ptr, ptr %__cur.05.i.i.i107, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i107) #28 - %cmp.not.i.i.i108 = icmp eq ptr %51, %test_list - br i1 %cmp.not.i.i.i108, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit110, label %while.body.i.i.i106, !llvm.loop !7 +while.body.i.i.i107: ; preds = %_ZN7testing15AssertionResultD2Ev.exit105, %while.body.i.i.i107 + %__cur.05.i.i.i108 = phi ptr [ %51, %while.body.i.i.i107 ], [ %50, %_ZN7testing15AssertionResultD2Ev.exit105 ] + %51 = load ptr, ptr %__cur.05.i.i.i108, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i108) #29 + %cmp.not.i.i.i109 = icmp eq ptr %51, %test_list + br i1 %cmp.not.i.i.i109, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit111, label %while.body.i.i.i107, !llvm.loop !7 -_ZNSt7__cxx114listIiSaIiEED2Ev.exit110: ; preds = %while.body.i.i.i106, %_ZN7testing15AssertionResultD2Ev.exit104 +_ZNSt7__cxx114listIiSaIiEED2Ev.exit111: ; preds = %while.body.i.i.i107, %_ZN7testing15AssertionResultD2Ev.exit105 %52 = load ptr, ptr %test_vector, align 8 - %tobool.not.i.i.i112 = icmp eq ptr %52, null - br i1 %tobool.not.i.i.i112, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i113 = icmp eq ptr %52, null + br i1 %tobool.not.i.i.i113, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit110 - call void @_ZdlPv(ptr noundef nonnull %52) #28 +if.then.i.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit111 + call void @_ZdlPv(ptr noundef nonnull %52) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit110, %if.then.i.i.i +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit111, %if.then.i.i.i %53 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i115 = icmp eq ptr %53, null - br i1 %tobool.not.i.i.i115, label %_ZNSt6vectorIiSaIiEED2Ev.exit123, label %if.then.i.i.i116 + %tobool.not.i.i.i116 = icmp eq ptr %53, null + br i1 %tobool.not.i.i.i116, label %_ZNSt6vectorIiSaIiEED2Ev.exit124, label %if.then.i.i.i117 -if.then.i.i.i116: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %53) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit123 +if.then.i.i.i117: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %53) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit124 -_ZNSt6vectorIiSaIiEED2Ev.exit123: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i116 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit124: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i117 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void -ehcleanup78: ; preds = %_ZN7testing7MessageD2Ev.exit100, %lpad66 - %.pn5.pn = phi { ptr, i32 } [ %.pn5, %_ZN7testing7MessageD2Ev.exit100 ], [ %44, %lpad66 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar45) #27 +ehcleanup78: ; preds = %_ZN7testing7MessageD2Ev.exit101, %lpad66 + %.pn5.pn = phi { ptr, i32 } [ %.pn5, %_ZN7testing7MessageD2Ev.exit101 ], [ %44, %lpad66 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar45) #28 br label %ehcleanup79 -ehcleanup79: ; preds = %while.body.i.i.i55, %while.body.i.i.i80, %lpad.i53, %lpad58, %ehcleanup78 - %.pn5.pn.pn = phi { ptr, i32 } [ %.pn5.pn, %ehcleanup78 ], [ %27, %lpad.i53 ], [ %38, %lpad58 ], [ %38, %while.body.i.i.i80 ], [ %27, %while.body.i.i.i55 ] +ehcleanup79: ; preds = %while.body.i.i.i56, %while.body.i.i.i81, %lpad.i54, %lpad58, %ehcleanup78 + %.pn5.pn.pn = phi { ptr, i32 } [ %.pn5.pn, %ehcleanup78 ], [ %27, %lpad.i54 ], [ %38, %lpad58 ], [ %38, %while.body.i.i.i81 ], [ %27, %while.body.i.i.i56 ] %54 = load ptr, ptr %test_list, align 8 - %cmp.not4.i.i.i124 = icmp eq ptr %54, %test_list - br i1 %cmp.not4.i.i.i124, label %ehcleanup80, label %while.body.i.i.i125 - -while.body.i.i.i125: ; preds = %ehcleanup79, %while.body.i.i.i125 - %__cur.05.i.i.i126 = phi ptr [ %55, %while.body.i.i.i125 ], [ %54, %ehcleanup79 ] - %55 = load ptr, ptr %__cur.05.i.i.i126, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i126) #28 - %cmp.not.i.i.i127 = icmp eq ptr %55, %test_list - br i1 %cmp.not.i.i.i127, label %ehcleanup80, label %while.body.i.i.i125, !llvm.loop !7 - -ehcleanup80: ; preds = %while.body.i.i.i, %while.body.i.i.i125, %ehcleanup79, %lpad.i36, %ehcleanup29, %lpad16 - %.pn5.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup29 ], [ %5, %lpad16 ], [ %17, %lpad.i36 ], [ %.pn5.pn.pn, %ehcleanup79 ], [ %.pn5.pn.pn, %while.body.i.i.i125 ], [ %17, %while.body.i.i.i ] + %cmp.not4.i.i.i125 = icmp eq ptr %54, %test_list + br i1 %cmp.not4.i.i.i125, label %ehcleanup80, label %while.body.i.i.i126 + +while.body.i.i.i126: ; preds = %ehcleanup79, %while.body.i.i.i126 + %__cur.05.i.i.i127 = phi ptr [ %55, %while.body.i.i.i126 ], [ %54, %ehcleanup79 ] + %55 = load ptr, ptr %__cur.05.i.i.i127, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i127) #29 + %cmp.not.i.i.i128 = icmp eq ptr %55, %test_list + br i1 %cmp.not.i.i.i128, label %ehcleanup80, label %while.body.i.i.i126, !llvm.loop !7 + +ehcleanup80: ; preds = %while.body.i.i.i, %while.body.i.i.i126, %ehcleanup79, %lpad.i37, %ehcleanup29, %lpad16 + %.pn5.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup29 ], [ %5, %lpad16 ], [ %17, %lpad.i37 ], [ %.pn5.pn.pn, %ehcleanup79 ], [ %.pn5.pn.pn, %while.body.i.i.i126 ], [ %17, %while.body.i.i.i ] %56 = load ptr, ptr %test_vector, align 8 - %tobool.not.i.i.i131 = icmp eq ptr %56, null - br i1 %tobool.not.i.i.i131, label %ehcleanup81, label %if.then.i.i.i132 + %tobool.not.i.i.i132 = icmp eq ptr %56, null + br i1 %tobool.not.i.i.i132, label %ehcleanup81, label %if.then.i.i.i133 -if.then.i.i.i132: ; preds = %ehcleanup80 - call void @_ZdlPv(ptr noundef nonnull %56) #28 +if.then.i.i.i133: ; preds = %ehcleanup80 + call void @_ZdlPv(ptr noundef nonnull %56) #29 br label %ehcleanup81 -ehcleanup81: ; preds = %if.then.i.i.i132, %ehcleanup80, %lpad12 - %.pn5.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %lpad12 ], [ %.pn5.pn.pn.pn, %ehcleanup80 ], [ %.pn5.pn.pn.pn, %if.then.i.i.i132 ] +ehcleanup81: ; preds = %if.then.i.i.i133, %ehcleanup80, %lpad12 + %.pn5.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %lpad12 ], [ %.pn5.pn.pn.pn, %ehcleanup80 ], [ %.pn5.pn.pn.pn, %if.then.i.i.i133 ] %57 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i136 = icmp eq ptr %57, null - br i1 %tobool.not.i.i.i136, label %_ZNSt6vectorIiSaIiEED2Ev.exit144, label %if.then.i.i.i137 + %tobool.not.i.i.i137 = icmp eq ptr %57, null + br i1 %tobool.not.i.i.i137, label %_ZNSt6vectorIiSaIiEED2Ev.exit145, label %if.then.i.i.i138 -if.then.i.i.i137: ; preds = %ehcleanup81 - call void @_ZdlPv(ptr noundef nonnull %57) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit144 +if.then.i.i.i138: ; preds = %ehcleanup81 + call void @_ZdlPv(ptr noundef nonnull %57) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit145 -_ZNSt6vectorIiSaIiEED2Ev.exit144: ; preds = %lpad.i14, %if.then.i.i.i137, %ehcleanup81 - %.pn5.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i14 ], [ %.pn5.pn.pn.pn.pn, %ehcleanup81 ], [ %.pn5.pn.pn.pn.pn, %if.then.i.i.i137 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit145: ; preds = %lpad.i14, %if.then.i.i.i138, %ehcleanup81 + %.pn5.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i14 ], [ %.pn5.pn.pn.pn.pn, %ehcleanup81 ], [ %.pn5.pn.pn.pn.pn, %if.then.i.i.i138 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn5.pn.pn.pn.pn.pn } @@ -58160,14 +58186,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127MutatingTest_ReplaceIf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127MutatingTest_ReplaceIf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -58178,22 +58204,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127MutatingTest_ReplaceIf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127MutatingTest_ReplaceIf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -58205,16 +58231,16 @@ entry: %gtest_ar = alloca %"class.testing::AssertionResult", align 8 %ref.tmp16 = alloca %"class.testing::Message", align 8 %ref.tmp19 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i, ptr %actual, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.468, i64 20, i1 false) %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 store ptr %add.ptr.i1.i, ptr %_M_finish.i.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 to label %invoke.cont11 unwind label %lpad.i7 lpad.i7: ; preds = %entry @@ -58224,12 +58250,12 @@ lpad.i7: ; preds = %entry invoke.cont11: ; preds = %entry store ptr %call5.i.i.i.i2.i6, ptr %expected, align 8 - %add.ptr.i1.i11 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6, i64 5 + %add.ptr.i1.i11 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6, i64 20 %_M_end_of_storage.i.i12 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i11, ptr %_M_end_of_storage.i.i12, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i6, ptr noundef nonnull align 4 dereferenceable(20) @constinit.465, i64 20, i1 false) - %_M_finish.i.i13 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 - store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i13, align 8 + %_M_finish.i.i14 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 + store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i14, align 8 br label %for.body.i.i for.body.i.i: ; preds = %invoke.cont11, %for.inc.i.i @@ -58252,9 +58278,9 @@ for.inc.i.i: ; preds = %if.then.i.i, %for.b _ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i: ; preds = %for.inc.i.i %bcmp.i.i.i.i.i.i.i = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %call5.i.i.i.i2.i6, ptr noundef nonnull dereferenceable(20) %call5.i.i.i.i2.i, i64 20), !noalias !1514 %tobool1.not.i.i.i.i.i.i.i = icmp eq i32 %bcmp.i.i.i.i.i.i.i, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i17, label %if.end.i.i + br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i18, label %if.end.i.i -if.then.i.i17: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i +if.then.i.i18: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar) to label %invoke.cont15 unwind label %lpad13 @@ -58262,13 +58288,13 @@ if.end.i.i: ; preds = %_ZSteqIiSaIiEEbRKSt invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull @.str.329, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(24) %expected, ptr noundef nonnull align 8 dereferenceable(24) %actual) to label %invoke.cont15 unwind label %lpad13 -invoke.cont15: ; preds = %if.then.i.i17, %if.end.i.i +invoke.cont15: ; preds = %if.then.i.i18, %if.end.i.i %3 = load i8, ptr %gtest_ar, align 8 %4 = and i8 %3, 1 %tobool.i.not = icmp eq i8 %4, 0 br i1 %tobool.i.not, label %if.else, label %if.end -lpad13: ; preds = %if.end.i.i, %if.then.i.i17 +lpad13: ; preds = %if.end.i.i, %if.then.i.i18 %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup27 @@ -58284,7 +58310,7 @@ invoke.cont18: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont21, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont18 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #28 br label %invoke.cont21 invoke.cont21: ; preds = %cond.true.i.i, %invoke.cont18 @@ -58297,7 +58323,7 @@ invoke.cont23: ; preds = %invoke.cont21 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 %7 = load ptr, ptr %ref.tmp16, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -58306,7 +58332,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont25, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -58326,85 +58352,85 @@ lpad20: ; preds = %invoke.cont21 lpad24: ; preds = %invoke.cont23 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad20 %.pn = phi { ptr, i32 } [ %11, %lpad24 ], [ %10, %lpad20 ] %12 = load ptr, ptr %ref.tmp16, align 8 - %cmp.not.i.i19 = icmp eq ptr %12, null - br i1 %cmp.not.i.i19, label %_ZN7testing7MessageD2Ev.exit23, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 + %cmp.not.i.i20 = icmp eq ptr %12, null + br i1 %cmp.not.i.i20, label %_ZN7testing7MessageD2Ev.exit24, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20: ; preds = %ehcleanup - %vtable.i.i.i21 = load ptr, ptr %12, align 8 - %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 - %13 = load ptr, ptr %vfn.i.i.i22, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 - br label %_ZN7testing7MessageD2Ev.exit23 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21: ; preds = %ehcleanup + %vtable.i.i.i22 = load ptr, ptr %12, align 8 + %vfn.i.i.i23 = getelementptr inbounds ptr, ptr %vtable.i.i.i22, i64 1 + %13 = load ptr, ptr %vfn.i.i.i23, align 8 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 + br label %_ZN7testing7MessageD2Ev.exit24 -_ZN7testing7MessageD2Ev.exit23: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 +_ZN7testing7MessageD2Ev.exit24: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21 store ptr null, ptr %ref.tmp16, align 8 br label %ehcleanup26 if.end: ; preds = %invoke.cont15, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %14 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i24 = icmp eq ptr %14, null - br i1 %cmp.not.i.i24, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i25 = icmp eq ptr %14, null + br i1 %cmp.not.i.i25, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 - call void @_ZdlPv(ptr noundef nonnull %14) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 + call void @_ZdlPv(ptr noundef nonnull %14) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %15 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i25 = icmp eq ptr %15, null - br i1 %tobool.not.i.i.i25, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i26 = icmp eq ptr %15, null + br i1 %tobool.not.i.i.i26, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i %16 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i27 = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i27, label %_ZNSt6vectorIiSaIiEED2Ev.exit30, label %if.then.i.i.i28 + %tobool.not.i.i.i28 = icmp eq ptr %16, null + br i1 %tobool.not.i.i.i28, label %_ZNSt6vectorIiSaIiEED2Ev.exit31, label %if.then.i.i.i29 -if.then.i.i.i28: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %16) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit30 +if.then.i.i.i29: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %16) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit31 -_ZNSt6vectorIiSaIiEED2Ev.exit30: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i28 +_ZNSt6vectorIiSaIiEED2Ev.exit31: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i29 ret void -ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit23, %lpad17 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit23 ], [ %9, %lpad17 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit24, %lpad17 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit24 ], [ %9, %lpad17 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup27 ehcleanup27: ; preds = %ehcleanup26, %lpad13 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup26 ], [ %5, %lpad13 ] %17 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i31 = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i31, label %ehcleanup28, label %if.then.i.i.i32 + %tobool.not.i.i.i32 = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i32, label %ehcleanup28, label %if.then.i.i.i33 -if.then.i.i.i32: ; preds = %ehcleanup27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 +if.then.i.i.i33: ; preds = %ehcleanup27 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %ehcleanup28 -ehcleanup28: ; preds = %lpad.i7, %if.then.i.i.i32, %ehcleanup27 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %ehcleanup27 ], [ %.pn.pn.pn, %if.then.i.i.i32 ] +ehcleanup28: ; preds = %lpad.i7, %if.then.i.i.i33, %ehcleanup27 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %ehcleanup27 ], [ %.pn.pn.pn, %if.then.i.i.i33 ] %18 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i35 = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i35, label %eh.resume, label %if.then.i.i.i36 + %tobool.not.i.i.i36 = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i36, label %eh.resume, label %if.then.i.i.i37 -if.then.i.i.i36: ; preds = %ehcleanup28 - call void @_ZdlPv(ptr noundef nonnull %18) #28 +if.then.i.i.i37: ; preds = %ehcleanup28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i36, %ehcleanup28 +eh.resume: ; preds = %if.then.i.i.i37, %ehcleanup28 resume { ptr, i32 } %.pn.pn.pn.pn } @@ -58417,14 +58443,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129MutatingTest_ReplaceCopy_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129MutatingTest_ReplaceCopy_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -58435,22 +58461,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129MutatingTest_ReplaceCopy_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129MutatingTest_ReplaceCopy_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -58464,30 +58490,30 @@ entry: %gtest_ar = alloca %"class.testing::AssertionResult", align 8 %ref.tmp23 = alloca %"class.testing::Message", align 8 %ref.tmp26 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(24) @constinit.455, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %invoke.cont14 unwind label %lpad.i7 lpad.i7: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIiSaIiEED2Ev.exit46 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit47 invoke.cont14: ; preds = %entry - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 6 + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 store ptr %call5.i.i.i.i2.i6, ptr %expected, align 8 - %add.ptr.i1.i11 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6, i64 6 + %add.ptr.i1.i11 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6, i64 24 %_M_end_of_storage.i.i12 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i11, ptr %_M_end_of_storage.i.i12, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i6, ptr noundef nonnull align 4 dereferenceable(24) @constinit.456, i64 24, i1 false) - %_M_finish.i.i13 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 - store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i13, align 8 + %_M_finish.i.i14 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 + store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i14, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) store i32 1, ptr %ref.tmp15, align 4 store i32 4, ptr %ref.tmp16, align 4 - %call11.i.i16 = invoke ptr @_ZSt17__replace_copy_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20back_insert_iteratorIS6_ENS0_5__ops16_Iter_equals_valIS2_EEiET0_T_SE_SD_T1_RKT2_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i, ptr nonnull %actual, ptr nonnull %ref.tmp15, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp16) + %call11.i.i17 = invoke ptr @_ZSt17__replace_copy_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20back_insert_iteratorIS6_ENS0_5__ops16_Iter_equals_valIS2_EEiET0_T_SE_SD_T1_RKT2_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr nonnull %actual, ptr nonnull %ref.tmp15, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp16) to label %invoke.cont18 unwind label %lpad13 invoke.cont18: ; preds = %invoke.cont14 @@ -58535,7 +58561,7 @@ invoke.cont25: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont28, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont25 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #28 br label %invoke.cont28 invoke.cont28: ; preds = %cond.true.i.i, %invoke.cont25 @@ -58548,7 +58574,7 @@ invoke.cont30: ; preds = %invoke.cont28 to label %invoke.cont32 unwind label %lpad31 invoke.cont32: ; preds = %invoke.cont30 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #28 %7 = load ptr, ptr %ref.tmp23, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -58557,7 +58583,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont32, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -58577,95 +58603,95 @@ lpad27: ; preds = %invoke.cont28 lpad31: ; preds = %invoke.cont30 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #28 br label %ehcleanup ehcleanup: ; preds = %lpad31, %lpad27 %.pn = phi { ptr, i32 } [ %11, %lpad31 ], [ %10, %lpad27 ] %12 = load ptr, ptr %ref.tmp23, align 8 - %cmp.not.i.i19 = icmp eq ptr %12, null - br i1 %cmp.not.i.i19, label %_ZN7testing7MessageD2Ev.exit23, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 + %cmp.not.i.i20 = icmp eq ptr %12, null + br i1 %cmp.not.i.i20, label %_ZN7testing7MessageD2Ev.exit24, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20: ; preds = %ehcleanup - %vtable.i.i.i21 = load ptr, ptr %12, align 8 - %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 - %13 = load ptr, ptr %vfn.i.i.i22, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 - br label %_ZN7testing7MessageD2Ev.exit23 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21: ; preds = %ehcleanup + %vtable.i.i.i22 = load ptr, ptr %12, align 8 + %vfn.i.i.i23 = getelementptr inbounds ptr, ptr %vtable.i.i.i22, i64 1 + %13 = load ptr, ptr %vfn.i.i.i23, align 8 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 + br label %_ZN7testing7MessageD2Ev.exit24 -_ZN7testing7MessageD2Ev.exit23: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 +_ZN7testing7MessageD2Ev.exit24: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21 store ptr null, ptr %ref.tmp23, align 8 br label %ehcleanup33 if.end: ; preds = %invoke.cont21, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %14 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i24 = icmp eq ptr %14, null - br i1 %cmp.not.i.i24, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i25 = icmp eq ptr %14, null + br i1 %cmp.not.i.i25, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 - call void @_ZdlPv(ptr noundef nonnull %14) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 + call void @_ZdlPv(ptr noundef nonnull %14) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %15 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i25 = icmp eq ptr %15, null - br i1 %tobool.not.i.i.i25, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i26 = icmp eq ptr %15, null + br i1 %tobool.not.i.i.i26, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i %16 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i27 = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i27, label %_ZNSt6vectorIiSaIiEED2Ev.exit34, label %if.then.i.i.i28 + %tobool.not.i.i.i28 = icmp eq ptr %16, null + br i1 %tobool.not.i.i.i28, label %_ZNSt6vectorIiSaIiEED2Ev.exit35, label %if.then.i.i.i29 -if.then.i.i.i28: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %16) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit34 +if.then.i.i.i29: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %16) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit35 -_ZNSt6vectorIiSaIiEED2Ev.exit34: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i28 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit35: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i29 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void -ehcleanup33: ; preds = %_ZN7testing7MessageD2Ev.exit23, %lpad24 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit23 ], [ %9, %lpad24 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup33: ; preds = %_ZN7testing7MessageD2Ev.exit24, %lpad24 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit24 ], [ %9, %lpad24 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup34 ehcleanup34: ; preds = %ehcleanup33, %lpad13 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup33 ], [ %5, %lpad13 ] %17 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i35 = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i35, label %_ZNSt6vectorIiSaIiEED2Ev.exit38, label %if.then.i.i.i36 + %tobool.not.i.i.i36 = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i36, label %_ZNSt6vectorIiSaIiEED2Ev.exit39, label %if.then.i.i.i37 -if.then.i.i.i36: ; preds = %ehcleanup34 - call void @_ZdlPv(ptr noundef nonnull %17) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit38 +if.then.i.i.i37: ; preds = %ehcleanup34 + call void @_ZdlPv(ptr noundef nonnull %17) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit39 -_ZNSt6vectorIiSaIiEED2Ev.exit38: ; preds = %ehcleanup34, %if.then.i.i.i36 +_ZNSt6vectorIiSaIiEED2Ev.exit39: ; preds = %ehcleanup34, %if.then.i.i.i37 %18 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i39 = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i39, label %_ZNSt6vectorIiSaIiEED2Ev.exit46, label %if.then.i.i.i40 + %tobool.not.i.i.i40 = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i40, label %_ZNSt6vectorIiSaIiEED2Ev.exit47, label %if.then.i.i.i41 -if.then.i.i.i40: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit38 - call void @_ZdlPv(ptr noundef nonnull %18) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit46 +if.then.i.i.i41: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit39 + call void @_ZdlPv(ptr noundef nonnull %18) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit47 -_ZNSt6vectorIiSaIiEED2Ev.exit46: ; preds = %lpad.i7, %if.then.i.i.i40, %_ZNSt6vectorIiSaIiEED2Ev.exit38 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit38 ], [ %.pn.pn.pn, %if.then.i.i.i40 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit47: ; preds = %lpad.i7, %if.then.i.i.i41, %_ZNSt6vectorIiSaIiEED2Ev.exit39 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit39 ], [ %.pn.pn.pn, %if.then.i.i.i41 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn.pn.pn.pn } ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local ptr @_ZSt17__replace_copy_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20back_insert_iteratorIS6_ENS0_5__ops16_Iter_equals_valIS2_EEiET0_T_SE_SD_T1_RKT2_(ptr %__first.coerce, ptr %__last.coerce, ptr %__result.coerce, ptr %__pred.coerce, ptr noundef nonnull align 4 dereferenceable(4) %__new_value) local_unnamed_addr #3 comdat personality ptr @__gxx_personality_v0 { entry: - %cmp.i.not40 = icmp eq ptr %__first.coerce, %__last.coerce - br i1 %cmp.i.not40, label %for.end, label %for.body.lr.ph + %cmp.i.not41 = icmp eq ptr %__first.coerce, %__last.coerce + br i1 %cmp.i.not41, label %for.end, label %for.body.lr.ph for.body.lr.ph: ; preds = %entry %_M_finish.i.i2 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 @@ -58673,8 +58699,8 @@ for.body.lr.ph: ; preds = %entry br label %for.body for.body: ; preds = %for.body.lr.ph, %for.inc - %__first.sroa.0.041 = phi ptr [ %__first.coerce, %for.body.lr.ph ], [ %incdec.ptr.i, %for.inc ] - %0 = load i32, ptr %__first.sroa.0.041, align 4 + %__first.sroa.0.042 = phi ptr [ %__first.coerce, %for.body.lr.ph ], [ %incdec.ptr.i, %for.inc ] + %0 = load i32, ptr %__first.sroa.0.042, align 4 %1 = load i32, ptr %__pred.coerce, align 4 %cmp.i1 = icmp eq i32 %0, %1 %2 = load ptr, ptr %_M_finish.i.i2, align 8 @@ -58702,7 +58728,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -58718,7 +58744,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i @@ -58726,23 +58752,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i %7 = load i32, ptr %__new_value, align 4 store i32 %7, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %6, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %6) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i2, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -58765,10 +58792,10 @@ if.else.i.i7: ; preds = %if.else %sub.ptr.rhs.cast.i.i.i.i.i9 = ptrtoint ptr %9 to i64 %sub.ptr.sub.i.i.i.i.i10 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i8, %sub.ptr.rhs.cast.i.i.i.i.i9 %cmp.i.i.i.i11 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i10, 9223372036854775804 - br i1 %cmp.i.i.i.i11, label %if.then.i.i.i.i35, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 + br i1 %cmp.i.i.i.i11, label %if.then.i.i.i.i36, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 -if.then.i.i.i.i35: ; preds = %if.else.i.i7 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i36: ; preds = %if.else.i.i7 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12: ; preds = %if.else.i.i7 @@ -58784,38 +58811,39 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12: ; preds = %if.else.i.i7 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 %mul.i.i.i.i.i.i22 = shl nuw nsw i64 %cond.i.i.i.i19, 2 - %call5.i.i.i.i.i.i23 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i22) #29 + %call5.i.i.i.i.i.i23 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i22) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 %cond.i10.i.i.i25 = phi ptr [ %call5.i.i.i.i.i.i23, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 ] %add.ptr.i.i.i26 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %sub.ptr.div.i.i.i.i.i13 store i32 %0, ptr %add.ptr.i.i.i26, align 4 - %cmp.i.i.i11.i.i.i27 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i13, 0 - br i1 %cmp.i.i.i11.i.i.i27, label %if.then.i.i.i12.i.i.i34, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 + %cmp.i.i.i11.i.i.i27 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i10, 0 + br i1 %cmp.i.i.i11.i.i.i27, label %if.then.i.i.i12.i.i.i35, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 -if.then.i.i.i12.i.i.i34: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 +if.then.i.i.i12.i.i.i35: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i25, ptr align 4 %9, i64 %sub.ptr.sub.i.i.i.i.i10, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28: ; preds = %if.then.i.i.i12.i.i.i34, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 - %incdec.ptr.i.i.i29 = getelementptr inbounds i32, ptr %add.ptr.i.i.i26, i64 1 - %tobool.not.i.i.i.i30 = icmp eq ptr %9, null - br i1 %tobool.not.i.i.i.i30, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32, label %if.then.i21.i.i.i31 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28: ; preds = %if.then.i.i.i12.i.i.i35, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 + %add.ptr.i.i.i.i.i.i29 = getelementptr inbounds i8, ptr %cond.i10.i.i.i25, i64 %sub.ptr.sub.i.i.i.i.i10 + %incdec.ptr.i.i.i30 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i29, i64 1 + %tobool.not.i.i.i.i31 = icmp eq ptr %9, null + br i1 %tobool.not.i.i.i.i31, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33, label %if.then.i20.i.i.i32 -if.then.i21.i.i.i31: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 - tail call void @_ZdlPv(ptr noundef nonnull %9) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32 +if.then.i20.i.i.i32: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 + tail call void @_ZdlPv(ptr noundef nonnull %9) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32: ; preds = %if.then.i21.i.i.i31, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33: ; preds = %if.then.i20.i.i.i32, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 store ptr %cond.i10.i.i.i25, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i29, ptr %_M_finish.i.i2, align 8 - %add.ptr19.i.i.i33 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %cond.i.i.i.i19 - store ptr %add.ptr19.i.i.i33, ptr %_M_end_of_storage.i.i3, align 8 + store ptr %incdec.ptr.i.i.i30, ptr %_M_finish.i.i2, align 8 + %add.ptr19.i.i.i34 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %cond.i.i.i.i19 + store ptr %add.ptr19.i.i.i34, ptr %_M_end_of_storage.i.i3, align 8 br label %for.inc -for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32, %if.then.i.i5, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %if.then.i.i - %incdec.ptr.i = getelementptr inbounds i32, ptr %__first.sroa.0.041, i64 1 +for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33, %if.then.i.i5, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %if.then.i.i + %incdec.ptr.i = getelementptr inbounds i32, ptr %__first.sroa.0.042, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %__last.coerce br i1 %cmp.i.not, label %for.end, label %for.body, !llvm.loop !1524 @@ -58832,14 +58860,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_122MutatingTest_Sort_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_122MutatingTest_Sort_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -58850,22 +58878,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_122MutatingTest_Sort_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_122MutatingTest_Sort_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -58877,9 +58905,9 @@ entry: %ref.tmp7 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.347", align 16 %ref.tmp16 = alloca %"class.testing::Message", align 8 %ref.tmp19 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %test_vector, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 @@ -58915,7 +58943,7 @@ invoke.cont18: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont21, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont18 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont21 invoke.cont21: ; preds = %cond.true.i.i, %invoke.cont18 @@ -58928,7 +58956,7 @@ invoke.cont23: ; preds = %invoke.cont21 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 %4 = load ptr, ptr %ref.tmp16, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -58937,7 +58965,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont25, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -58957,7 +58985,7 @@ lpad20: ; preds = %invoke.cont21 lpad24: ; preds = %invoke.cont23 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad20 @@ -58970,7 +58998,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %9, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %10 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -58984,8 +59012,8 @@ if.end: ; preds = %invoke.cont15, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -58995,7 +59023,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -59003,7 +59031,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad17 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %6, %lpad17 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup27 ehcleanup27: ; preds = %ehcleanup26, %lpad5 @@ -59013,7 +59041,7 @@ ehcleanup27: ; preds = %ehcleanup26, %lpad5 br i1 %tobool.not.i.i.i14, label %eh.resume, label %if.then.i.i.i15 if.then.i.i.i15: ; preds = %ehcleanup27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i15, %ehcleanup27 @@ -59029,14 +59057,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_135MutatingTest_SortWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_135MutatingTest_SortWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -59047,22 +59075,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_135MutatingTest_SortWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_135MutatingTest_SortWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -59074,9 +59102,9 @@ entry: %ref.tmp8 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.347", align 16 %ref.tmp17 = alloca %"class.testing::Message", align 8 %ref.tmp20 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %test_vector, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 @@ -59112,7 +59140,7 @@ invoke.cont19: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont22, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont19 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont22 invoke.cont22: ; preds = %cond.true.i.i, %invoke.cont19 @@ -59125,7 +59153,7 @@ invoke.cont24: ; preds = %invoke.cont22 to label %invoke.cont26 unwind label %lpad25 invoke.cont26: ; preds = %invoke.cont24 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #28 %4 = load ptr, ptr %ref.tmp17, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -59134,7 +59162,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont26, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -59154,7 +59182,7 @@ lpad21: ; preds = %invoke.cont22 lpad25: ; preds = %invoke.cont24 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp20) #28 br label %ehcleanup ehcleanup: ; preds = %lpad25, %lpad21 @@ -59167,7 +59195,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %9, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %10 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -59181,8 +59209,8 @@ if.end: ; preds = %invoke.cont16, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -59192,7 +59220,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -59200,7 +59228,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup27: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad18 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %6, %lpad18 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup28 ehcleanup28: ; preds = %ehcleanup27, %lpad6 @@ -59210,7 +59238,7 @@ ehcleanup28: ; preds = %ehcleanup27, %lpad6 br i1 %tobool.not.i.i.i14, label %eh.resume, label %if.then.i.i.i15 if.then.i.i.i15: ; preds = %ehcleanup28 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i15, %ehcleanup28 @@ -59226,14 +59254,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_StableSort_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_StableSort_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -59244,22 +59272,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_StableSort_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_StableSort_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -59271,9 +59299,9 @@ entry: %ref.tmp5 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.518", align 8 %ref.tmp20 = alloca %"class.testing::Message", align 8 %ref.tmp23 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i5.i10 = tail call noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #29 + %call5.i.i.i.i5.i10 = tail call noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #30 store ptr %call5.i.i.i.i5.i10, ptr %test_vector, align 8 - %add.ptr.i4.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %call5.i.i.i.i5.i10, i64 5 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i10, i64 40 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::Element, std::allocator<(anonymous namespace)::Element>>::_Vector_impl_data", ptr %test_vector, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i5.i10, ptr noundef nonnull align 4 dereferenceable(40) @constinit.463, i64 40, i1 false) @@ -59286,7 +59314,7 @@ while.body.i.i.i.i.i: ; preds = %entry, %if.end4.i.i %storemerge27.i.i.in.i.i.i = add nuw nsw i64 %storemerge27.i.i.in.in.i.i.i, 1 %storemerge27.i.i.i.i.i = lshr i64 %storemerge27.i.i.in.i.i.i, 1 %mul.i.i.i.i.i = shl i64 %storemerge27.i.i.i.i.i, 3 - %call.i.i.i.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #34 + %call.i.i.i.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #35 %cmp2.not.i.i.i.i.i = icmp eq ptr %call.i.i.i.i.i, null br i1 %cmp2.not.i.i.i.i.i, label %if.end4.i.i.i.i.i, label %if.else.i.i.i @@ -59303,7 +59331,7 @@ if.else.i.i.i: ; preds = %while.body.i.i.i.i. br label %invoke.cont18 invoke.cont18: ; preds = %if.then5.i.i.i, %if.else.i.i.i - tail call void @_ZdlPv(ptr noundef %call.i.i.i.i.i) #27 + tail call void @_ZdlPv(ptr noundef %call.i.i.i.i.i) #28 store i64 8589934594, ptr %ref.tmp5, align 8 %agg.tmp611.sroa.4.0.ref.tmp5.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp5, i64 8 store i64 8589934592, ptr %agg.tmp611.sroa.4.0.ref.tmp5.sroa_idx, align 8 @@ -59338,7 +59366,7 @@ invoke.cont22: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont25, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont22 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont25 invoke.cont25: ; preds = %cond.true.i.i, %invoke.cont22 @@ -59351,7 +59379,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #28 %4 = load ptr, ptr %ref.tmp20, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -59360,7 +59388,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont29, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -59380,7 +59408,7 @@ lpad24: ; preds = %invoke.cont25 lpad28: ; preds = %invoke.cont27 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #28 br label %ehcleanup ehcleanup: ; preds = %lpad28, %lpad24 @@ -59393,7 +59421,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i14 = load ptr, ptr %9, align 8 %vfn.i.i.i15 = getelementptr inbounds ptr, ptr %vtable.i.i.i14, i64 1 %10 = load ptr, ptr %vfn.i.i.i15, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit16 _ZN7testing7MessageD2Ev.exit16: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i13 @@ -59407,8 +59435,8 @@ if.end: ; preds = %invoke.cont19, %_ZN br i1 %cmp.not.i.i17, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -59418,7 +59446,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN12_GLOBAL__N_17ElementESaIS1_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %test_vector.val6) #28 + call void @_ZdlPv(ptr noundef nonnull %test_vector.val6) #29 br label %_ZNSt6vectorIN12_GLOBAL__N_17ElementESaIS1_EED2Ev.exit _ZNSt6vectorIN12_GLOBAL__N_17ElementESaIS1_EED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -59426,7 +59454,7 @@ _ZNSt6vectorIN12_GLOBAL__N_17ElementESaIS1_EED2Ev.exit: ; preds = %_ZN7testing15 ehcleanup30: ; preds = %_ZN7testing7MessageD2Ev.exit16, %lpad21 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit16 ], [ %6, %lpad21 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup31 ehcleanup31: ; preds = %ehcleanup30, %lpad3 @@ -59436,7 +59464,7 @@ ehcleanup31: ; preds = %ehcleanup30, %lpad3 br i1 %tobool.not.i.i.i18, label %eh.resume, label %if.then.i.i.i19 if.then.i.i.i19: ; preds = %ehcleanup31 - call void @_ZdlPv(ptr noundef nonnull %test_vector.val8) #28 + call void @_ZdlPv(ptr noundef nonnull %test_vector.val8) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i19, %ehcleanup31 @@ -59476,7 +59504,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1538) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %matchers.i.i.i.i.i), !noalias !1541 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers.i.i.i.i.i, i8 0, i64 24, i1 false), !noalias !1542 - %call5.i.i.i.i.i3.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #29 + %call5.i.i.i.i.i3.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #30 to label %invoke.cont3.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 invoke.cont3.i.i.i.i.i: ; preds = %entry @@ -59495,7 +59523,7 @@ invoke.cont3.i.i.i.i.i: ; preds = %entry tail call void @llvm.experimental.noalias.scope.decl(metadata !1552) tail call void @llvm.experimental.noalias.scope.decl(metadata !1555) tail call void @llvm.experimental.noalias.scope.decl(metadata !1558) - %call.i.i.i.i.i.i.i.i.i9.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i.i.i.i.i.i.i.i9.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %invoke.cont3.i.i.i.i.i @@ -59506,7 +59534,7 @@ call.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %invoke.cont3.i.i.i. %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE9GetVTableINS6_11ValuePolicyIPKNS_16MatcherInterfaceIS5_EELb1EEEEEPKNS6_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !1562, !noalias !1542 - %call.i.i1.i.i.i.i.i.i.i.i.i.i.i10.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i.i.i.i.i.i.i.i.i.i10.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i1.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %call.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i @@ -59549,7 +59577,7 @@ terminate.lpad.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 - tail call void @__clang_call_terminate(ptr %12) #31 + tail call void @__clang_call_terminate(ptr %12) #32 unreachable _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %land.lhs.true.i.i.i.i.i.i.i.i.i.i.i, %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE8IsSharedEv.exit.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont7.i.i.i.i.i.i.i.i @@ -59562,7 +59590,7 @@ _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i: ; pred tail call void @llvm.experimental.noalias.scope.decl(metadata !1572) tail call void @llvm.experimental.noalias.scope.decl(metadata !1575) tail call void @llvm.experimental.noalias.scope.decl(metadata !1578) - %call.i.i.i.i.i.i.i.i.i.i11.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i.i.i.i.i.i.i.i.i11.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i @@ -59573,7 +59601,7 @@ call.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %_ZN7testing7Matcher %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i.i, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i.i, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE9GetVTableINS6_11ValuePolicyIPKNS_16MatcherInterfaceIS5_EELb1EEEEEPKNS6_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !1582, !noalias !1542 - %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i12.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i12.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %call.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i @@ -59616,7 +59644,7 @@ terminate.lpad.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i %22 = landingpad { ptr, i32 } catch ptr null %23 = extractvalue { ptr, i32 } %22, 0 - tail call void @__clang_call_terminate(ptr %23) #31 + tail call void @__clang_call_terminate(ptr %23) #32 unreachable _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i, %land.lhs.true.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE8IsSharedEv.exit.i.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i.i.i @@ -59629,7 +59657,7 @@ _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i: ; pr tail call void @llvm.experimental.noalias.scope.decl(metadata !1592) tail call void @llvm.experimental.noalias.scope.decl(metadata !1595) tail call void @llvm.experimental.noalias.scope.decl(metadata !1598) - %call.i.i.i.i.i.i.i.i.i.i.i13.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i.i.i.i.i.i.i.i.i.i13.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i @@ -59640,7 +59668,7 @@ call.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %_ZN7testing7Matcher %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i.i.i, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i.i.i, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE9GetVTableINS6_11ValuePolicyIPKNS_16MatcherInterfaceIS5_EELb1EEEEEPKNS6_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !1602, !noalias !1542 - %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i14.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i14.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %call.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i @@ -59683,7 +59711,7 @@ terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i %33 = landingpad { ptr, i32 } catch ptr null %34 = extractvalue { ptr, i32 } %33, 0 - tail call void @__clang_call_terminate(ptr %34) #31 + tail call void @__clang_call_terminate(ptr %34) #32 unreachable _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %land.lhs.true.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE8IsSharedEv.exit.i.i.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i.i.i.i @@ -59696,7 +59724,7 @@ _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i.i: ; tail call void @llvm.experimental.noalias.scope.decl(metadata !1612) tail call void @llvm.experimental.noalias.scope.decl(metadata !1615) tail call void @llvm.experimental.noalias.scope.decl(metadata !1618) - %call.i.i.i.i.i.i.i.i.i.i.i.i15.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i.i.i.i.i.i.i.i.i.i.i15.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i.i @@ -59707,7 +59735,7 @@ call.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %_ZN7testing7Matcher %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i.i.i.i, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i.i.i.i, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE9GetVTableINS6_11ValuePolicyIPKNS_16MatcherInterfaceIS5_EELb1EEEEEPKNS6_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !1622, !noalias !1542 - %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i16.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i16.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %call.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i @@ -59750,7 +59778,7 @@ terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i %44 = landingpad { ptr, i32 } catch ptr null %45 = extractvalue { ptr, i32 } %44, 0 - tail call void @__clang_call_terminate(ptr %45) #31 + tail call void @__clang_call_terminate(ptr %45) #32 unreachable _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i8.i.i.i.i.i, %land.lhs.true.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE8IsSharedEv.exit.i.i.i.i.i.i.i.i.i5.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i.i.i.i.i @@ -59762,7 +59790,7 @@ _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i.i.i: tail call void @llvm.experimental.noalias.scope.decl(metadata !1632) tail call void @llvm.experimental.noalias.scope.decl(metadata !1635) tail call void @llvm.experimental.noalias.scope.decl(metadata !1638) - %call.i.i.i.i.i.i.i.i.i.i.i.i.i17.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i.i.i.i.i.i.i.i.i.i.i.i17.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i.i.i @@ -59773,7 +59801,7 @@ call.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %_ZN7testing7Matcher %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i.i.i.i.i, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.550", ptr %ref.tmp.i.i.i.i.i.i.i.i.i.i.i.i, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE9GetVTableINS6_11ValuePolicyIPKNS_16MatcherInterfaceIS5_EELb1EEEEEPKNS6_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !1642, !noalias !1542 - %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i18.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i18.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i: ; preds = %call.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i @@ -59816,13 +59844,13 @@ terminate.lpad.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i %55 = landingpad { ptr, i32 } catch ptr null %56 = extractvalue { ptr, i32 } %55, 0 - tail call void @__clang_call_terminate(ptr %56) #31 + tail call void @__clang_call_terminate(ptr %56) #32 unreachable common.resume.i.i.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i.i.i.i.i %ref.tmp.sink.i.i.i.i.i.i.i.i = phi ptr [ %ref.tmp.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i ], [ %ref.tmp.i.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i.i ], [ %ref.tmp.i.i.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i.i.i ], [ %ref.tmp.i.i.i.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i.i.i.i ], [ %ref.tmp.i.i.i.i.i.i.i.i.i.i.i.i, %lpad.i.i.i.i.i.i.i.i.i.i.i.i ] %common.resume.op.i.i.i.i.i.i.i.i = phi { ptr, i32 } [ %61, %lpad.i.i.i.i.i.i.i.i ], [ %60, %lpad.i.i.i.i.i.i.i.i.i ], [ %59, %lpad.i.i.i.i.i.i.i.i.i.i ], [ %58, %lpad.i.i.i.i.i.i.i.i.i.i.i ], [ %57, %lpad.i.i.i.i.i.i.i.i.i.i.i.i ] - call void @_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink.i.i.i.i.i.i.i.i) #27, !noalias !1542 + call void @_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sink.i.i.i.i.i.i.i.i) #28, !noalias !1542 br label %ehcleanup.i.i.i.i.i lpad.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %call.i.i1.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i @@ -59856,7 +59884,7 @@ invoke.cont5.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp.i.i.i.i.i.i.i.i.i.i), !noalias !1542 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp.i.i.i.i.i.i.i.i.i), !noalias !1542 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp.i.i.i.i.i.i.i.i), !noalias !1542 - %call9.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 invoke.cont8.i.i.i.i.i: ; preds = %invoke.cont5.i.i.i.i.i @@ -59934,7 +59962,7 @@ terminate.lpad.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i %73 = landingpad { ptr, i32 } catch ptr null %74 = extractvalue { ptr, i32 } %73, 0 - tail call void @__clang_call_terminate(ptr %74) #31 + tail call void @__clang_call_terminate(ptr %74) #32 unreachable _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %land.lhs.true.i.i.i.i.i.i.i.i.i, %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE8IsSharedEv.exit.i.i.i.i.i.i.i.i.i, %invoke.cont9.i.i.i.i.i.i @@ -59944,9 +59972,9 @@ _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i: ; preds = lpad8.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i.i %75 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i.i.i.i.i.i) #27, !noalias !1542 - tail call fastcc void @_ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_.i.i.i.i.i.i) #27, !noalias !1542 - tail call void @_ZdlPv(ptr noundef nonnull %call9.i.i.i.i.i) #28, !noalias !1542 + call void @_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i.i.i.i.i.i) #28, !noalias !1542 + tail call fastcc void @_ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_.i.i.i.i.i.i) #28, !noalias !1542 + tail call void @_ZdlPv(ptr noundef nonnull %call9.i.i.i.i.i) #29, !noalias !1542 br label %ehcleanup.i.i.i.i.i invoke.cont19.i.i.i.i.i: ; preds = %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i, %invoke.cont8.i.i.i.i.i @@ -59954,7 +59982,7 @@ invoke.cont19.i.i.i.i.i: ; preds = %_ZN7testing7Matcher %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.536", ptr %matcher, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.536", ptr %matcher, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE9GetVTableINS9_11ValuePolicyIPKNS_16MatcherInterfaceIS8_EELb1EEEEEPKNS9_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1542 - %call.i.i1.i.i22.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i22.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20.i.i.i.i.i unwind label %lpad.i.i.i.i.i, !noalias !1542 invoke.cont20.i.i.i.i.i: ; preds = %invoke.cont19.i.i.i.i.i @@ -59973,7 +60001,7 @@ for.body.i.i.i.i24.i.i.i.i.i: ; preds = %invoke.cont20.i.i.i %__first.addr.04.i.i.i.i25.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i27.i.i.i.i.i, %for.body.i.i.i.i24.i.i.i.i.i ], [ %77, %invoke.cont20.i.i.i.i.i ] %vtable.i.i.i.i.i26.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i25.i.i.i.i.i, align 8, !noalias !1542 %79 = load ptr, ptr %vtable.i.i.i.i.i26.i.i.i.i.i, align 8, !noalias !1542 - tail call void %79(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i25.i.i.i.i.i) #27, !noalias !1542 + tail call void %79(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i25.i.i.i.i.i) #28, !noalias !1542 %incdec.ptr.i.i.i.i27.i.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.549", ptr %__first.addr.04.i.i.i.i25.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i28.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i27.i.i.i.i.i, %78 br i1 %cmp.not.i.i.i.i28.i.i.i.i.i, label %invoke.cont.i29.i.i.i.i.i, label %for.body.i.i.i.i24.i.i.i.i.i, !llvm.loop !1652 @@ -59983,7 +60011,7 @@ invoke.cont.i29.i.i.i.i.i: ; preds = %for.body.i.i.i.i24. br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZN7testing15SafeMatcherCastIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS3_EENS_8internal18ElementsAreMatcherISt5tupleIJNS2_18IsElementMatcherP2IiiEESC_SC_SC_SC_EEEEEENS_7MatcherIT_EERKT0_.exit, label %if.then.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i29.i.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %77) #28, !noalias !1542 + tail call void @_ZdlPv(ptr noundef nonnull %77) #29, !noalias !1542 br label %_ZN7testing15SafeMatcherCastIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS3_EENS_8internal18ElementsAreMatcherISt5tupleIJNS2_18IsElementMatcherP2IiiEESC_SC_SC_SC_EEEEEENS_7MatcherIT_EERKT0_.exit lpad.i.i.i.i.i: ; preds = %invoke.cont19.i.i.i.i.i, %invoke.cont5.i.i.i.i.i, %call.i.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i, %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i.i.i, %call.i.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i, %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i.i, %call.i.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i, %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i.i, %call.i.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i, %_ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit.i.i.i.i.i.i.i.i, %call.i.i.i.i.i.i.i.i.i.noexc.i.i.i.i.i, %invoke.cont3.i.i.i.i.i, %entry @@ -59997,7 +60025,7 @@ common.resume: ; preds = %ehcleanup42, %ehcle ehcleanup.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i, %lpad8.i.i.i.i.i.i, %common.resume.i.i.i.i.i.i.i.i %.pn.i.i.i.i.i = phi { ptr, i32 } [ %75, %lpad8.i.i.i.i.i.i ], [ %80, %lpad.i.i.i.i.i ], [ %common.resume.op.i.i.i.i.i.i.i.i, %common.resume.i.i.i.i.i.i.i.i ] - call fastcc void @_ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers.i.i.i.i.i) #27, !noalias !1542 + call fastcc void @_ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers.i.i.i.i.i) #28, !noalias !1542 br label %common.resume _ZN7testing15SafeMatcherCastIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS3_EENS_8internal18ElementsAreMatcherISt5tupleIJNS2_18IsElementMatcherP2IiiEESC_SC_SC_SC_EEEEEENS_7MatcherIT_EERKT0_.exit: ; preds = %invoke.cont.i29.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i @@ -60022,13 +60050,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %81 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -60091,13 +60119,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %86 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -60148,13 +60176,13 @@ if.else.i.i.i: ; preds = %call.i1.i.i.noexc to label %invoke.cont.i.i.i unwind label %lpad.i.i.i invoke.cont.i.i.i: ; preds = %.noexc29 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE7MatchesES8_.exit.i lpad.i.i.i: ; preds = %.noexc29 %91 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i.i) #28 br label %ehcleanup40 _ZNK7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE7MatchesES8_.exit.i: ; preds = %invoke.cont.i.i.i, %call.i1.i.i.noexc @@ -60191,13 +60219,13 @@ if.else.i.i20: ; preds = %call.i.noexc.i to label %invoke.cont.i.i23 unwind label %lpad.i.i22 invoke.cont.i.i23: ; preds = %.noexc.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i14) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i14) #28 br label %if.end.i.i24 lpad.i.i22: ; preds = %.noexc.i %95 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i14) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i14) #28 br label %ehcleanup22.i if.end.i.i24: ; preds = %invoke.cont.i.i23, %call.i.noexc.i @@ -60287,12 +60315,12 @@ invoke.cont4.i: ; preds = %_ZN7testing8interna to label %invoke.cont5.i unwind label %lpad.loopexit.split-lp.i invoke.cont5.i: ; preds = %invoke.cont4.i - %call.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + %call.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 %cmp.i26.i = icmp ult i64 %call.i.i, 21 br i1 %cmp.i26.i, label %if.then7.i, label %_ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit.i _ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit.i: ; preds = %invoke.cont5.i - %call1.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15, ptr noundef nonnull @.str.402, i64 noundef 0) #27 + %call1.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15, ptr noundef nonnull @.str.402, i64 noundef 0) #28 %cmp2.i.i = icmp eq i64 %call1.i.i, -1 br i1 %cmp2.i.i, label %if.then7.i, label %if.end16.i @@ -60330,7 +60358,7 @@ if.end16.i: ; preds = %invoke.cont12.i, %_ invoke.cont18.i: ; preds = %if.end16.i %105 = load ptr, ptr %stream_.i.i, align 8 - %call.i31.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17.i) #27 + %call.i31.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17.i) #28 %cmp.i32.i = icmp eq ptr %105, null %or.cond.not.i.i = or i1 %cmp.i32.i, %call.i31.i br i1 %or.cond.not.i.i, label %invoke.cont21.i, label %if.then.i.i @@ -60344,10 +60372,10 @@ call1.i33.noexc.i: ; preds = %if.then.i.i to label %invoke.cont21.i unwind label %lpad20.i invoke.cont21.i: ; preds = %call1.i33.noexc.i, %invoke.cont18.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17.i) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17.i) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener.i, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i.i) #28 call void @llvm.lifetime.end.p0(i64 408, ptr nonnull %inner_listener.i) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i15) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp17.i) @@ -60356,18 +60384,18 @@ invoke.cont21.i: ; preds = %call1.i33.noexc.i, lpad20.i: ; preds = %call1.i33.noexc.i, %if.then.i.i %106 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17.i) #28 br label %ehcleanup.i ehcleanup.i: ; preds = %lpad20.i, %lpad9.i %.pn.i = phi { ptr, i32 } [ %106, %lpad20.i ], [ %104, %lpad9.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 br label %ehcleanup22.i ehcleanup22.i: ; preds = %ehcleanup.i, %lpad.loopexit.split-lp.i, %lpad.loopexit.i, %lpad.i.i22 %.pn.pn.i = phi { ptr, i32 } [ %.pn.i, %ehcleanup.i ], [ %95, %lpad.i.i22 ], [ %lpad.loopexit39.i, %lpad.loopexit.i ], [ %lpad.loopexit.split-lp40.i, %lpad.loopexit.split-lp.i ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener.i, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i.i) #28 br label %ehcleanup40 invoke.cont17: ; preds = %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE7MatchesES8_.exit.i @@ -60405,7 +60433,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -60437,7 +60465,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %110, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %111 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %111(ptr noundef nonnull align 8 dereferenceable(128) %110) #27 + call void %111(ptr noundef nonnull align 8 dereferenceable(128) %110) #28 br label %invoke.cont37 lpad.i37: ; preds = %invoke.cont.i38, %.noexc39 @@ -60451,7 +60479,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %113, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %114 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %114(ptr noundef nonnull align 8 dereferenceable(128) %113) #27 + call void %114(ptr noundef nonnull align 8 dereferenceable(128) %113) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -60460,28 +60488,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %115 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %115, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #27 - call void @_ZdlPv(ptr noundef nonnull %115) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #28 + call void @_ZdlPv(ptr noundef nonnull %115) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %116 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -60496,23 +60524,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i37, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body40 = phi { ptr, i32 } [ %118, %lpad36 ], [ %112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %112, %lpad.i37 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body40, %lpad36.body ], [ %117, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %lpad16, %ehcleanup22.i, %lpad.i.i.i, %ehcleanup, %lpad28 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %116, %lpad28 ], [ %108, %lpad16 ], [ %91, %lpad.i.i.i ], [ %.pn.pn.i, %ehcleanup22.i ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %107, %lpad4 ], [ %86, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -60545,7 +60573,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %125 = landingpad { ptr, i32 } catch ptr null %126 = extractvalue { ptr, i32 } %125, 0 - call void @__clang_call_terminate(ptr %126) #31 + call void @__clang_call_terminate(ptr %126) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS3_EEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -60553,7 +60581,7 @@ _ZN7testing7MatcherIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS3_EEED2Ev.exit: ; pr ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %84, %lpad ], [ %81, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS3_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS3_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 br label %common.resume } @@ -60590,7 +60618,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6v %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i7.i, i64 %.pre.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i, ptr nonnull align 4 %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) br label %for.inc.i if.else.i: ; preds = %for.body.i @@ -60790,8 +60818,8 @@ return: ; preds = %if.end49, %entry, % ret void } -; Function Attrs: mustprogress nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define internal fastcc ptr @_ZNSt3_V26rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_(ptr %__first.coerce, ptr %__middle.coerce, ptr %__last.coerce) unnamed_addr #19 { +; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable +define internal fastcc ptr @_ZNSt3_V26rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_(ptr %__first.coerce, ptr %__middle.coerce, ptr %__last.coerce) unnamed_addr #20 { entry: %cmp.i.i = icmp eq ptr %__first.coerce, %__middle.coerce br i1 %cmp.i.i, label %_ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_St26random_access_iterator_tag.exit, label %if.else.i @@ -60826,8 +60854,7 @@ for.body.i.i: ; preds = %if.end5.i, %for.bod if.end16.i: ; preds = %if.end5.i %sub.ptr.sub.i29.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.lhs.cast.i23.i - %sub.ptr.div.i30.i = ashr exact i64 %sub.ptr.sub.i29.i, 3 - %add.ptr.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.coerce, i64 %sub.ptr.div.i30.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first.coerce, i64 %sub.ptr.sub.i29.i br label %for.cond.i for.cond.i: ; preds = %for.cond.i.backedge, %if.end16.i @@ -60861,26 +60888,26 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_S br label %_ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_St26random_access_iterator_tag.exit if.end45.i: ; preds = %if.then22.i - %cmp5081.i = icmp sgt i64 %sub20.i, 0 - br i1 %cmp5081.i, label %for.body.preheader.i, label %for.end.i + %cmp5080.i = icmp sgt i64 %sub20.i, 0 + br i1 %cmp5080.i, label %for.body.preheader.i, label %for.end.i for.body.preheader.i: ; preds = %if.end45.i %add.ptr.i35.i = getelementptr %"struct.(anonymous namespace)::Element", ptr %__p.sroa.0.0.i, i64 %__k.0.i br label %for.body.i for.body.i: ; preds = %for.body.i, %for.body.preheader.i - %__i.084.i = phi i64 [ %inc.i, %for.body.i ], [ 0, %for.body.preheader.i ] - %__p.sroa.0.183.i = phi ptr [ %incdec.ptr.i.i, %for.body.i ], [ %__p.sroa.0.0.i, %for.body.preheader.i ] - %__q.sroa.0.082.i = phi ptr [ %incdec.ptr.i36.i, %for.body.i ], [ %add.ptr.i35.i, %for.body.preheader.i ] - %3 = load i64, ptr %__p.sroa.0.183.i, align 4 - %4 = load i64, ptr %__q.sroa.0.082.i, align 4 - store i64 %4, ptr %__p.sroa.0.183.i, align 4 - store i64 %3, ptr %__q.sroa.0.082.i, align 4 - %incdec.ptr.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__p.sroa.0.183.i, i64 1 - %incdec.ptr.i36.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__q.sroa.0.082.i, i64 1 - %inc.i = add nuw nsw i64 %__i.084.i, 1 - %exitcond91.not.i = icmp eq i64 %inc.i, %sub20.i - br i1 %exitcond91.not.i, label %for.end.i, label %for.body.i, !llvm.loop !1658 + %__i.083.i = phi i64 [ %inc.i, %for.body.i ], [ 0, %for.body.preheader.i ] + %__p.sroa.0.182.i = phi ptr [ %incdec.ptr.i.i, %for.body.i ], [ %__p.sroa.0.0.i, %for.body.preheader.i ] + %__q.sroa.0.081.i = phi ptr [ %incdec.ptr.i36.i, %for.body.i ], [ %add.ptr.i35.i, %for.body.preheader.i ] + %3 = load i64, ptr %__p.sroa.0.182.i, align 4 + %4 = load i64, ptr %__q.sroa.0.081.i, align 4 + store i64 %4, ptr %__p.sroa.0.182.i, align 4 + store i64 %3, ptr %__q.sroa.0.081.i, align 4 + %incdec.ptr.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__p.sroa.0.182.i, i64 1 + %incdec.ptr.i36.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__q.sroa.0.081.i, i64 1 + %inc.i = add nuw nsw i64 %__i.083.i, 1 + %exitcond90.not.i = icmp eq i64 %inc.i, %sub20.i + br i1 %exitcond90.not.i, label %for.end.i, label %for.body.i, !llvm.loop !1658 for.end.i: ; preds = %for.body.i, %if.end45.i %__p.sroa.0.1.lcssa.i = phi ptr [ %__p.sroa.0.0.i, %if.end45.i ], [ %incdec.ptr.i.i, %for.body.i ] @@ -60900,45 +60927,45 @@ if.else61.i: ; preds = %for.cond.i if.then64.i: ; preds = %if.else61.i %add.ptr.i38.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i37.i, i64 -1 %5 = load i64, ptr %add.ptr.i38.i, align 4 - %tobool.not.i.i.i.i.i46.i = icmp eq ptr %add.ptr.i38.i, %__p.sroa.0.0.i - br i1 %tobool.not.i.i.i.i.i46.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i47.i + %tobool.not.i.i.i.i.i45.i = icmp eq ptr %add.ptr.i38.i, %__p.sroa.0.0.i + br i1 %tobool.not.i.i.i.i.i45.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i46.i -if.then.i.i.i.i.i47.i: ; preds = %if.then64.i +if.then.i.i.i.i.i46.i: ; preds = %if.then64.i %sub.ptr.lhs.cast.i.i.i.i.i42.i = ptrtoint ptr %add.ptr.i38.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i43.i = ptrtoint ptr %__p.sroa.0.0.i to i64 %sub.ptr.sub.i.i.i.i.i44.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i42.i, %sub.ptr.rhs.cast.i.i.i.i.i43.i - %sub.ptr.div.i.i.i.i.i45.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i44.i, 3 - %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i45.i - %add.ptr.i.i.i.i.i48.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i37.i, i64 %.pre.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i48.i, ptr nonnull align 4 %__p.sroa.0.0.i, i64 %sub.ptr.sub.i.i.i.i.i44.i, i1 false) + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i44.i, 3 + %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i.i.i47.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i37.i, i64 %.pre.i.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i47.i, ptr nonnull align 4 %__p.sroa.0.0.i, i64 %sub.ptr.sub.i.i.i.i.i44.i, i1 false) br label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i -_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i47.i, %if.then64.i +_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i46.i, %if.then64.i store i64 %5, ptr %__p.sroa.0.0.i, align 4 br label %_ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_St26random_access_iterator_tag.exit if.end90.i: ; preds = %if.else61.i %idx.neg.i.i = sub i64 0, %sub20.i - %add.ptr.i50.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i37.i, i64 %idx.neg.i.i - %cmp10077.i = icmp sgt i64 %__k.0.i, 0 - br i1 %cmp10077.i, label %for.body101.i, label %for.end110.i + %add.ptr.i49.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i37.i, i64 %idx.neg.i.i + %cmp10076.i = icmp sgt i64 %__k.0.i, 0 + br i1 %cmp10076.i, label %for.body101.i, label %for.end110.i for.body101.i: ; preds = %if.end90.i, %for.body101.i - %__i97.080.i = phi i64 [ %inc109.i, %for.body101.i ], [ 0, %if.end90.i ] - %__q91.sroa.0.079.i = phi ptr [ %incdec.ptr.i52.i, %for.body101.i ], [ %add.ptr.i37.i, %if.end90.i ] - %__p.sroa.0.278.i = phi ptr [ %incdec.ptr.i51.i, %for.body101.i ], [ %add.ptr.i50.i, %if.end90.i ] - %incdec.ptr.i51.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__p.sroa.0.278.i, i64 -1 - %incdec.ptr.i52.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__q91.sroa.0.079.i, i64 -1 - %6 = load i64, ptr %incdec.ptr.i51.i, align 4 - %7 = load i64, ptr %incdec.ptr.i52.i, align 4 - store i64 %7, ptr %incdec.ptr.i51.i, align 4 - store i64 %6, ptr %incdec.ptr.i52.i, align 4 - %inc109.i = add nuw nsw i64 %__i97.080.i, 1 + %__i97.079.i = phi i64 [ %inc109.i, %for.body101.i ], [ 0, %if.end90.i ] + %__q91.sroa.0.078.i = phi ptr [ %incdec.ptr.i51.i, %for.body101.i ], [ %add.ptr.i37.i, %if.end90.i ] + %__p.sroa.0.277.i = phi ptr [ %incdec.ptr.i50.i, %for.body101.i ], [ %add.ptr.i49.i, %if.end90.i ] + %incdec.ptr.i50.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__p.sroa.0.277.i, i64 -1 + %incdec.ptr.i51.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__q91.sroa.0.078.i, i64 -1 + %6 = load i64, ptr %incdec.ptr.i50.i, align 4 + %7 = load i64, ptr %incdec.ptr.i51.i, align 4 + store i64 %7, ptr %incdec.ptr.i50.i, align 4 + store i64 %6, ptr %incdec.ptr.i51.i, align 4 + %inc109.i = add nuw nsw i64 %__i97.079.i, 1 %exitcond.not.i = icmp eq i64 %inc109.i, %__k.0.i br i1 %exitcond.not.i, label %for.end110.i, label %for.body101.i, !llvm.loop !1659 for.end110.i: ; preds = %for.body101.i, %if.end90.i - %__p.sroa.0.2.lcssa.i = phi ptr [ %add.ptr.i50.i, %if.end90.i ], [ %__p.sroa.0.0.i, %for.body101.i ] + %__p.sroa.0.2.lcssa.i = phi ptr [ %add.ptr.i49.i, %if.end90.i ], [ %__p.sroa.0.0.i, %for.body101.i ] %rem111.i = srem i64 %__n.0.i, %sub20.i %cmp112.i = icmp eq i64 %rem111.i, 0 br i1 %cmp112.i, label %_ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_St26random_access_iterator_tag.exit, label %for.cond.i.backedge @@ -60954,14 +60981,14 @@ _ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6ve ret ptr %retval.sroa.0.0.i } -; Function Attrs: mustprogress nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define internal fastcc void @_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_(ptr %__first.coerce, ptr %__last.coerce, ptr noundef %__buffer) unnamed_addr #19 { +; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable +define internal fastcc void @_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_(ptr %__first.coerce, ptr %__last.coerce, ptr noundef %__buffer) unnamed_addr #20 { entry: %sub.ptr.lhs.cast.i = ptrtoint ptr %__last.coerce to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %__first.coerce to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 - %add.ptr = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__buffer, i64 %sub.ptr.div.i + %add.ptr = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i %cmp41.i = icmp sgt i64 %sub.ptr.sub.i, 48 br i1 %cmp41.i, label %for.body.lr.ph.i.i, label %while.end.i @@ -60987,7 +61014,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6v %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 3 %.pre.i.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i7.i.i, i64 %.pre.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i, ptr nonnull align 4 %__first.sroa.0.042.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.sroa.0.042.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) br label %for.inc.i.i if.else.i.i: ; preds = %for.body.i.i @@ -61045,7 +61072,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6v %sub.ptr.div.i.i.i.i.i.i35.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i34.i, 3 %.pre.i.i.i.i.i.i36.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i35.i %add.ptr.i.i.i.i.i.i37.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i7.i32.i, i64 %.pre.i.i.i.i.i.i36.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i37.i, ptr nonnull align 4 %__first.sroa.0.0.lcssa.i, i64 %sub.ptr.sub.i.i.i.i.i.i34.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i37.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.sroa.0.0.lcssa.i, i64 %sub.ptr.sub.i.i.i.i.i.i34.i, i1 false) br label %for.inc.i21.i if.else.i17.i: ; preds = %for.body.i11.i @@ -61072,42 +61099,42 @@ for.inc.i21.i: ; preds = %while.body.i.i25.i, br i1 %cmp.i6.not.i24.i, label %_ZSt22__chunk_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_.exit, label %for.body.i11.i, !llvm.loop !1654 _ZSt22__chunk_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_.exit: ; preds = %for.inc.i21.i, %while.end.i - %cmp43 = icmp sgt i64 %sub.ptr.div.i, 7 - br i1 %cmp43, label %while.body.lr.ph, label %while.end + %cmp41 = icmp sgt i64 %sub.ptr.div.i, 7 + br i1 %cmp41, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %_ZSt22__chunk_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_.exit - %sub.ptr.lhs.cast.i22 = ptrtoint ptr %add.ptr to i64 + %sub.ptr.lhs.cast.i21 = ptrtoint ptr %add.ptr to i64 br label %while.body while.body: ; preds = %while.body.lr.ph, %_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit - %__step_size.044 = phi i64 [ 7, %while.body.lr.ph ], [ %mul.i21, %_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ] - %mul.i = shl nsw i64 %__step_size.044, 1 - %cmp.not69.i = icmp slt i64 %sub.ptr.div.i, %mul.i - br i1 %cmp.not69.i, label %while.end.i19, label %while.body.i + %__step_size.042 = phi i64 [ 7, %while.body.lr.ph ], [ %mul.i20, %_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ] + %mul.i = shl nsw i64 %__step_size.042, 1 + %cmp.not67.i = icmp slt i64 %sub.ptr.div.i, %mul.i + br i1 %cmp.not67.i, label %while.end.i18, label %while.body.i while.body.i: ; preds = %while.body, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i - %__result.addr.071.i = phi ptr [ %add.ptr.i.i.i.i.i14.i.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ], [ %__buffer, %while.body ] - %__first.sroa.0.070.i = phi ptr [ %add.ptr.i12.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ], [ %__first.coerce, %while.body ] - %add.ptr.i.i10 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.070.i, i64 %__step_size.044 - %add.ptr.i12.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.070.i, i64 %mul.i + %__result.addr.069.i = phi ptr [ %add.ptr.i.i.i.i.i13.i.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ], [ %__buffer, %while.body ] + %__first.sroa.0.068.i = phi ptr [ %add.ptr.i12.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ], [ %__first.coerce, %while.body ] + %add.ptr.i.i10 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.068.i, i64 %__step_size.042 + %add.ptr.i12.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.068.i, i64 %mul.i br label %while.body.i.i while.body.i.i: ; preds = %while.body.i.i, %while.body.i - %__result.addr.021.i.i = phi ptr [ %incdec.ptr.i.i, %while.body.i.i ], [ %__result.addr.071.i, %while.body.i ] - %__first1.sroa.0.020.i.i = phi ptr [ %__first1.sroa.0.1.i.i, %while.body.i.i ], [ %__first.sroa.0.070.i, %while.body.i ] - %__first2.sroa.0.019.i.i = phi ptr [ %__first2.sroa.0.1.i.i, %while.body.i.i ], [ %add.ptr.i.i10, %while.body.i ] - %call.val.i.i.i11 = load i32, ptr %__first2.sroa.0.019.i.i, align 4 - %call3.val.i.i.i12 = load i32, ptr %__first1.sroa.0.020.i.i, align 4 + %__result.addr.020.i.i = phi ptr [ %incdec.ptr.i.i, %while.body.i.i ], [ %__result.addr.069.i, %while.body.i ] + %__first1.sroa.0.019.i.i = phi ptr [ %__first1.sroa.0.1.i.i, %while.body.i.i ], [ %__first.sroa.0.068.i, %while.body.i ] + %__first2.sroa.0.018.i.i = phi ptr [ %__first2.sroa.0.1.i.i, %while.body.i.i ], [ %add.ptr.i.i10, %while.body.i ] + %call.val.i.i.i11 = load i32, ptr %__first2.sroa.0.018.i.i, align 4 + %call3.val.i.i.i12 = load i32, ptr %__first1.sroa.0.019.i.i, align 4 %cmp.i.i.i.i13 = icmp slt i32 %call.val.i.i.i11, %call3.val.i.i.i12 - %.sink.in.i.i = select i1 %cmp.i.i.i.i13, ptr %__first2.sroa.0.019.i.i, ptr %__first1.sroa.0.020.i.i + %.sink.in.i.i = select i1 %cmp.i.i.i.i13, ptr %__first2.sroa.0.018.i.i, ptr %__first1.sroa.0.019.i.i %__first2.sroa.0.1.idx.i.i = zext i1 %cmp.i.i.i.i13 to i64 - %__first2.sroa.0.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.sroa.0.019.i.i, i64 %__first2.sroa.0.1.idx.i.i + %__first2.sroa.0.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.sroa.0.018.i.i, i64 %__first2.sroa.0.1.idx.i.i %not.cmp.i.i.i.i = xor i1 %cmp.i.i.i.i13, true %__first1.sroa.0.1.idx.i.i = zext i1 %not.cmp.i.i.i.i to i64 - %__first1.sroa.0.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.sroa.0.020.i.i, i64 %__first1.sroa.0.1.idx.i.i + %__first1.sroa.0.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.sroa.0.019.i.i, i64 %__first1.sroa.0.1.idx.i.i %.sink.i.i = load i64, ptr %.sink.in.i.i, align 4 - store i64 %.sink.i.i, ptr %__result.addr.021.i.i, align 4 - %incdec.ptr.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.021.i.i, i64 1 + store i64 %.sink.i.i, ptr %__result.addr.020.i.i, align 4 + %incdec.ptr.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.020.i.i, i64 1 %cmp.i.i.i = icmp ne ptr %__first1.sroa.0.1.i.i, %add.ptr.i.i10 %cmp.i6.i.i = icmp ne ptr %__first2.sroa.0.1.i.i, %add.ptr.i12.i %or.cond.i.i = select i1 %cmp.i.i.i, i1 %cmp.i6.i.i, i1 false @@ -61125,8 +61152,7 @@ if.then.i.i.i.i.i.i.i: ; preds = %while.end.i.loopexi br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i.i _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i, %while.end.i.loopexit.i - %sub.ptr.div.i.i.i.i.i.i.i16 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i15, 3 - %add.ptr.i.i.i.i.i.i.i17 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i16 + %add.ptr.i.i.i.i.i.i.i16 = getelementptr inbounds i8, ptr %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i15 %sub.ptr.lhs.cast.i.i.i.i.i8.i.i = ptrtoint ptr %add.ptr.i12.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i9.i.i = ptrtoint ptr %__first2.sroa.0.1.i.i to i64 %sub.ptr.sub.i.i.i.i.i10.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i8.i.i, %sub.ptr.rhs.cast.i.i.i.i.i9.i.i @@ -61134,53 +61160,52 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_S br i1 %tobool.not.i.i.i.i.i11.i.i, label %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i, label %if.then.i.i.i.i.i12.i.i if.then.i.i.i.i.i12.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i17, ptr nonnull align 4 %__first2.sroa.0.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i10.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i16, ptr nonnull align 4 %__first2.sroa.0.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i10.i.i, i1 false) br label %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i _ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i: ; preds = %if.then.i.i.i.i.i12.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i.i - %sub.ptr.div.i.i.i.i.i13.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i10.i.i, 3 - %add.ptr.i.i.i.i.i14.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i.i.i.i.i.i.i17, i64 %sub.ptr.div.i.i.i.i.i13.i.i - %sub.ptr.sub.i.i18 = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.lhs.cast.i.i.i.i.i8.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i18, 3 + %add.ptr.i.i.i.i.i13.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i16, i64 %sub.ptr.sub.i.i.i.i.i10.i.i + %sub.ptr.sub.i.i17 = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.lhs.cast.i.i.i.i.i8.i.i + %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i17, 3 %cmp.not.i = icmp slt i64 %sub.ptr.div.i.i, %mul.i - br i1 %cmp.not.i, label %while.end.i19, label %while.body.i, !llvm.loop !1663 + br i1 %cmp.not.i, label %while.end.i18, label %while.body.i, !llvm.loop !1663 -while.end.i19: ; preds = %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i, %while.body - %__first.sroa.0.0.lcssa.i20 = phi ptr [ %__first.coerce, %while.body ], [ %add.ptr.i12.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] - %__result.addr.0.lcssa.i = phi ptr [ %__buffer, %while.body ], [ %add.ptr.i.i.i.i.i14.i.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] +while.end.i18: ; preds = %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i, %while.body + %__first.sroa.0.0.lcssa.i19 = phi ptr [ %__first.coerce, %while.body ], [ %add.ptr.i12.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] + %__result.addr.0.lcssa.i = phi ptr [ %__buffer, %while.body ], [ %add.ptr.i.i.i.i.i13.i.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] %sub.ptr.div.i.lcssa.i = phi i64 [ %sub.ptr.div.i, %while.body ], [ %sub.ptr.div.i.i, %_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] - %.sroa.speculated.i = tail call i64 @llvm.smin.i64(i64 %sub.ptr.div.i.lcssa.i, i64 %__step_size.044) - %add.ptr.i18.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.0.lcssa.i20, i64 %.sroa.speculated.i - %cmp.i16.i20.i = icmp ne i64 %.sroa.speculated.i, 0 - %cmp.i617.i21.i = icmp ne ptr %add.ptr.i18.i, %__last.coerce - %or.cond18.i22.i = select i1 %cmp.i16.i20.i, i1 %cmp.i617.i21.i, i1 false - br i1 %or.cond18.i22.i, label %while.body.i42.i, label %while.end.i23.i - -while.body.i42.i: ; preds = %while.end.i19, %while.body.i42.i - %__result.addr.021.i43.i = phi ptr [ %incdec.ptr.i56.i, %while.body.i42.i ], [ %__result.addr.0.lcssa.i, %while.end.i19 ] - %__first1.sroa.0.020.i44.i = phi ptr [ %__first1.sroa.0.1.i54.i, %while.body.i42.i ], [ %__first.sroa.0.0.lcssa.i20, %while.end.i19 ] - %__first2.sroa.0.019.i45.i = phi ptr [ %__first2.sroa.0.1.i51.i, %while.body.i42.i ], [ %add.ptr.i18.i, %while.end.i19 ] - %call.val.i.i46.i = load i32, ptr %__first2.sroa.0.019.i45.i, align 4 - %call3.val.i.i47.i = load i32, ptr %__first1.sroa.0.020.i44.i, align 4 - %cmp.i.i.i48.i = icmp slt i32 %call.val.i.i46.i, %call3.val.i.i47.i - %.sink.in.i49.i = select i1 %cmp.i.i.i48.i, ptr %__first2.sroa.0.019.i45.i, ptr %__first1.sroa.0.020.i44.i - %__first2.sroa.0.1.idx.i50.i = zext i1 %cmp.i.i.i48.i to i64 - %__first2.sroa.0.1.i51.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.sroa.0.019.i45.i, i64 %__first2.sroa.0.1.idx.i50.i - %not.cmp.i.i.i52.i = xor i1 %cmp.i.i.i48.i, true - %__first1.sroa.0.1.idx.i53.i = zext i1 %not.cmp.i.i.i52.i to i64 - %__first1.sroa.0.1.i54.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.sroa.0.020.i44.i, i64 %__first1.sroa.0.1.idx.i53.i - %.sink.i55.i = load i64, ptr %.sink.in.i49.i, align 4 - store i64 %.sink.i55.i, ptr %__result.addr.021.i43.i, align 4 - %incdec.ptr.i56.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.021.i43.i, i64 1 - %cmp.i.i57.i = icmp ne ptr %__first1.sroa.0.1.i54.i, %add.ptr.i18.i - %cmp.i6.i58.i = icmp ne ptr %__first2.sroa.0.1.i51.i, %__last.coerce - %or.cond.i59.i = select i1 %cmp.i.i57.i, i1 %cmp.i6.i58.i, i1 false - br i1 %or.cond.i59.i, label %while.body.i42.i, label %while.end.i23.i, !llvm.loop !1662 - -while.end.i23.i: ; preds = %while.body.i42.i, %while.end.i19 - %__first2.sroa.0.0.lcssa.i24.i = phi ptr [ %add.ptr.i18.i, %while.end.i19 ], [ %__first2.sroa.0.1.i51.i, %while.body.i42.i ] - %__first1.sroa.0.0.lcssa.i25.i = phi ptr [ %__first.sroa.0.0.lcssa.i20, %while.end.i19 ], [ %__first1.sroa.0.1.i54.i, %while.body.i42.i ] - %__result.addr.0.lcssa.i26.i = phi ptr [ %__result.addr.0.lcssa.i, %while.end.i19 ], [ %incdec.ptr.i56.i, %while.body.i42.i ] + %.sroa.speculated.i = tail call i64 @llvm.smin.i64(i64 %sub.ptr.div.i.lcssa.i, i64 %__step_size.042) + %add.ptr.i18.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.0.lcssa.i19, i64 %.sroa.speculated.i + %cmp.i15.i20.i = icmp ne i64 %.sroa.speculated.i, 0 + %cmp.i616.i21.i = icmp ne ptr %add.ptr.i18.i, %__last.coerce + %or.cond17.i22.i = select i1 %cmp.i15.i20.i, i1 %cmp.i616.i21.i, i1 false + br i1 %or.cond17.i22.i, label %while.body.i40.i, label %while.end.i23.i + +while.body.i40.i: ; preds = %while.end.i18, %while.body.i40.i + %__result.addr.020.i41.i = phi ptr [ %incdec.ptr.i54.i, %while.body.i40.i ], [ %__result.addr.0.lcssa.i, %while.end.i18 ] + %__first1.sroa.0.019.i42.i = phi ptr [ %__first1.sroa.0.1.i52.i, %while.body.i40.i ], [ %__first.sroa.0.0.lcssa.i19, %while.end.i18 ] + %__first2.sroa.0.018.i43.i = phi ptr [ %__first2.sroa.0.1.i49.i, %while.body.i40.i ], [ %add.ptr.i18.i, %while.end.i18 ] + %call.val.i.i44.i = load i32, ptr %__first2.sroa.0.018.i43.i, align 4 + %call3.val.i.i45.i = load i32, ptr %__first1.sroa.0.019.i42.i, align 4 + %cmp.i.i.i46.i = icmp slt i32 %call.val.i.i44.i, %call3.val.i.i45.i + %.sink.in.i47.i = select i1 %cmp.i.i.i46.i, ptr %__first2.sroa.0.018.i43.i, ptr %__first1.sroa.0.019.i42.i + %__first2.sroa.0.1.idx.i48.i = zext i1 %cmp.i.i.i46.i to i64 + %__first2.sroa.0.1.i49.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.sroa.0.018.i43.i, i64 %__first2.sroa.0.1.idx.i48.i + %not.cmp.i.i.i50.i = xor i1 %cmp.i.i.i46.i, true + %__first1.sroa.0.1.idx.i51.i = zext i1 %not.cmp.i.i.i50.i to i64 + %__first1.sroa.0.1.i52.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.sroa.0.019.i42.i, i64 %__first1.sroa.0.1.idx.i51.i + %.sink.i53.i = load i64, ptr %.sink.in.i47.i, align 4 + store i64 %.sink.i53.i, ptr %__result.addr.020.i41.i, align 4 + %incdec.ptr.i54.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.020.i41.i, i64 1 + %cmp.i.i55.i = icmp ne ptr %__first1.sroa.0.1.i52.i, %add.ptr.i18.i + %cmp.i6.i56.i = icmp ne ptr %__first2.sroa.0.1.i49.i, %__last.coerce + %or.cond.i57.i = select i1 %cmp.i.i55.i, i1 %cmp.i6.i56.i, i1 false + br i1 %or.cond.i57.i, label %while.body.i40.i, label %while.end.i23.i, !llvm.loop !1662 + +while.end.i23.i: ; preds = %while.body.i40.i, %while.end.i18 + %__first2.sroa.0.0.lcssa.i24.i = phi ptr [ %add.ptr.i18.i, %while.end.i18 ], [ %__first2.sroa.0.1.i49.i, %while.body.i40.i ] + %__first1.sroa.0.0.lcssa.i25.i = phi ptr [ %__first.sroa.0.0.lcssa.i19, %while.end.i18 ], [ %__first1.sroa.0.1.i52.i, %while.body.i40.i ] + %__result.addr.0.lcssa.i26.i = phi ptr [ %__result.addr.0.lcssa.i, %while.end.i18 ], [ %incdec.ptr.i54.i, %while.body.i40.i ] %sub.ptr.lhs.cast.i.i.i.i.i.i27.i = ptrtoint ptr %add.ptr.i18.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i28.i = ptrtoint ptr %__first1.sroa.0.0.lcssa.i25.i to i64 %sub.ptr.sub.i.i.i.i.i.i29.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i27.i, %sub.ptr.rhs.cast.i.i.i.i.i.i28.i @@ -61192,64 +61217,62 @@ if.then.i.i.i.i.i.i31.i: ; preds = %while.end.i23.i br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i32.i _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i32.i: ; preds = %if.then.i.i.i.i.i.i31.i, %while.end.i23.i - %tobool.not.i.i.i.i.i11.i38.i = icmp eq ptr %__first2.sroa.0.0.lcssa.i24.i, %__last.coerce - br i1 %tobool.not.i.i.i.i.i11.i38.i, label %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit, label %if.then.i.i.i.i.i12.i39.i - -if.then.i.i.i.i.i12.i39.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i32.i - %sub.ptr.rhs.cast.i.i.i.i.i9.i36.i = ptrtoint ptr %__first2.sroa.0.0.lcssa.i24.i to i64 - %sub.ptr.sub.i.i.i.i.i10.i37.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i.i.i.i.i9.i36.i - %sub.ptr.div.i.i.i.i.i.i33.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i29.i, 3 - %add.ptr.i.i.i.i.i.i34.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.0.lcssa.i26.i, i64 %sub.ptr.div.i.i.i.i.i.i33.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i34.i, ptr align 4 %__first2.sroa.0.0.lcssa.i24.i, i64 %sub.ptr.sub.i.i.i.i.i10.i37.i, i1 false) + %tobool.not.i.i.i.i.i11.i37.i = icmp eq ptr %__first2.sroa.0.0.lcssa.i24.i, %__last.coerce + br i1 %tobool.not.i.i.i.i.i11.i37.i, label %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit, label %if.then.i.i.i.i.i12.i38.i + +if.then.i.i.i.i.i12.i38.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i32.i + %sub.ptr.rhs.cast.i.i.i.i.i9.i35.i = ptrtoint ptr %__first2.sroa.0.0.lcssa.i24.i to i64 + %sub.ptr.sub.i.i.i.i.i10.i36.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i.i.i.i.i9.i35.i + %add.ptr.i.i.i.i.i.i33.i = getelementptr inbounds i8, ptr %__result.addr.0.lcssa.i26.i, i64 %sub.ptr.sub.i.i.i.i.i.i29.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i33.i, ptr align 4 %__first2.sroa.0.0.lcssa.i24.i, i64 %sub.ptr.sub.i.i.i.i.i10.i36.i, i1 false) br label %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit -_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i32.i, %if.then.i.i.i.i.i12.i39.i - %mul.i21 = shl nsw i64 %__step_size.044, 2 - %cmp.not60.i = icmp slt i64 %sub.ptr.div.i, %mul.i21 - br i1 %cmp.not60.i, label %while.end.i41, label %while.body.i24 - -while.body.i24: ; preds = %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i - %__result.sroa.0.062.i = phi ptr [ %add.ptr.i.i.i.i.i18.i.i, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ], [ %__first.coerce, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ] - %__first.addr.061.i = phi ptr [ %add.ptr2.i, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ], [ %__buffer, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ] - %add.ptr.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.061.i, i64 %mul.i - %add.ptr2.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.061.i, i64 %mul.i21 - br label %while.body.i.i25 - -while.body.i.i25: ; preds = %while.body.i.i25, %while.body.i24 - %__first1.addr.024.i.i = phi ptr [ %__first1.addr.1.i.i, %while.body.i.i25 ], [ %__first.addr.061.i, %while.body.i24 ] - %__first2.addr.023.i.i = phi ptr [ %__first2.addr.1.i.i, %while.body.i.i25 ], [ %add.ptr.i, %while.body.i24 ] - %__result.sroa.0.022.i.i = phi ptr [ %incdec.ptr.i.i.i, %while.body.i.i25 ], [ %__result.sroa.0.062.i, %while.body.i24 ] - %__first2.addr.0.val.i.i = load i32, ptr %__first2.addr.023.i.i, align 4 - %__first1.addr.0.val.i.i = load i32, ptr %__first1.addr.024.i.i, align 4 - %cmp.i.i.i.i26 = icmp slt i32 %__first2.addr.0.val.i.i, %__first1.addr.0.val.i.i - %.sink.in.i.i27 = select i1 %cmp.i.i.i.i26, ptr %__first2.addr.023.i.i, ptr %__first1.addr.024.i.i - %__first2.addr.1.idx.i.i = zext i1 %cmp.i.i.i.i26 to i64 - %__first2.addr.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.addr.023.i.i, i64 %__first2.addr.1.idx.i.i - %not.cmp.i.i.i.i28 = xor i1 %cmp.i.i.i.i26, true - %__first1.addr.1.idx.i.i = zext i1 %not.cmp.i.i.i.i28 to i64 - %__first1.addr.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.addr.024.i.i, i64 %__first1.addr.1.idx.i.i - %.sink.i.i29 = load i64, ptr %.sink.in.i.i27, align 4 - store i64 %.sink.i.i29, ptr %__result.sroa.0.022.i.i, align 4 - %incdec.ptr.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.022.i.i, i64 1 +_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i32.i, %if.then.i.i.i.i.i12.i38.i + %mul.i20 = shl nsw i64 %__step_size.042, 2 + %cmp.not58.i = icmp slt i64 %sub.ptr.div.i, %mul.i20 + br i1 %cmp.not58.i, label %while.end.i39, label %while.body.i23 + +while.body.i23: ; preds = %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i + %__result.sroa.0.060.i = phi ptr [ %add.ptr.i.i.i.i.i17.i.i, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ], [ %__first.coerce, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ] + %__first.addr.059.i = phi ptr [ %add.ptr2.i, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ], [ %__buffer, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ] + %add.ptr.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.059.i, i64 %mul.i + %add.ptr2.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.059.i, i64 %mul.i20 + br label %while.body.i.i24 + +while.body.i.i24: ; preds = %while.body.i.i24, %while.body.i23 + %__first1.addr.023.i.i = phi ptr [ %__first1.addr.1.i.i, %while.body.i.i24 ], [ %__first.addr.059.i, %while.body.i23 ] + %__first2.addr.022.i.i = phi ptr [ %__first2.addr.1.i.i, %while.body.i.i24 ], [ %add.ptr.i, %while.body.i23 ] + %__result.sroa.0.021.i.i = phi ptr [ %incdec.ptr.i.i.i, %while.body.i.i24 ], [ %__result.sroa.0.060.i, %while.body.i23 ] + %__first2.addr.0.val.i.i = load i32, ptr %__first2.addr.022.i.i, align 4 + %__first1.addr.0.val.i.i = load i32, ptr %__first1.addr.023.i.i, align 4 + %cmp.i.i.i.i25 = icmp slt i32 %__first2.addr.0.val.i.i, %__first1.addr.0.val.i.i + %.sink.in.i.i26 = select i1 %cmp.i.i.i.i25, ptr %__first2.addr.022.i.i, ptr %__first1.addr.023.i.i + %__first2.addr.1.idx.i.i = zext i1 %cmp.i.i.i.i25 to i64 + %__first2.addr.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.addr.022.i.i, i64 %__first2.addr.1.idx.i.i + %not.cmp.i.i.i.i27 = xor i1 %cmp.i.i.i.i25, true + %__first1.addr.1.idx.i.i = zext i1 %not.cmp.i.i.i.i27 to i64 + %__first1.addr.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.addr.023.i.i, i64 %__first1.addr.1.idx.i.i + %.sink.i.i28 = load i64, ptr %.sink.in.i.i26, align 4 + store i64 %.sink.i.i28, ptr %__result.sroa.0.021.i.i, align 4 + %incdec.ptr.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.021.i.i, i64 1 %cmp.i.i = icmp ne ptr %__first1.addr.1.i.i, %add.ptr.i %cmp1.i.i = icmp ne ptr %__first2.addr.1.i.i, %add.ptr2.i %4 = select i1 %cmp.i.i, i1 %cmp1.i.i, i1 false - br i1 %4, label %while.body.i.i25, label %while.end.i.loopexit.i30, !llvm.loop !1664 + br i1 %4, label %while.body.i.i24, label %while.end.i.loopexit.i29, !llvm.loop !1664 -while.end.i.loopexit.i30: ; preds = %while.body.i.i25 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i31 = ptrtoint ptr %add.ptr.i to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i32 = ptrtoint ptr %__first1.addr.1.i.i to i64 - %sub.ptr.sub.i.i.i.i.i.i.i33 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i31, %sub.ptr.rhs.cast.i.i.i.i.i.i.i32 - %tobool.not.i.i.i.i.i.i.i34 = icmp eq ptr %__first1.addr.1.i.i, %add.ptr.i - br i1 %tobool.not.i.i.i.i.i.i.i34, label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i, label %if.then.i.i.i.i.i.i.i35 +while.end.i.loopexit.i29: ; preds = %while.body.i.i24 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i30 = ptrtoint ptr %add.ptr.i to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i31 = ptrtoint ptr %__first1.addr.1.i.i to i64 + %sub.ptr.sub.i.i.i.i.i.i.i32 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i30, %sub.ptr.rhs.cast.i.i.i.i.i.i.i31 + %tobool.not.i.i.i.i.i.i.i33 = icmp eq ptr %__first1.addr.1.i.i, %add.ptr.i + br i1 %tobool.not.i.i.i.i.i.i.i33, label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i, label %if.then.i.i.i.i.i.i.i34 -if.then.i.i.i.i.i.i.i35: ; preds = %while.end.i.loopexit.i30 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %incdec.ptr.i.i.i, ptr nonnull align 4 %__first1.addr.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i33, i1 false) +if.then.i.i.i.i.i.i.i34: ; preds = %while.end.i.loopexit.i29 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %incdec.ptr.i.i.i, ptr nonnull align 4 %__first1.addr.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i32, i1 false) br label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i -_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i35, %while.end.i.loopexit.i30 - %sub.ptr.div.i.i.i.i.i.i.i36 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i33, 3 - %add.ptr.i.i.i.i.i.i.i37 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i36 +_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i34, %while.end.i.loopexit.i29 + %add.ptr.i.i.i.i.i.i.i35 = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i32 %sub.ptr.lhs.cast.i.i.i.i.i12.i.i = ptrtoint ptr %add.ptr2.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i13.i.i = ptrtoint ptr %__first2.addr.1.i.i to i64 %sub.ptr.sub.i.i.i.i.i14.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i12.i.i, %sub.ptr.rhs.cast.i.i.i.i.i13.i.i @@ -61257,53 +61280,52 @@ _ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS br i1 %tobool.not.i.i.i.i.i15.i.i, label %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i, label %if.then.i.i.i.i.i16.i.i if.then.i.i.i.i.i16.i.i: ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i37, ptr nonnull align 4 %__first2.addr.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i14.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i35, ptr nonnull align 4 %__first2.addr.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i14.i.i, i1 false) br label %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i _ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i: ; preds = %if.then.i.i.i.i.i16.i.i, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i - %sub.ptr.div.i.i.i.i.i17.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i14.i.i, 3 - %add.ptr.i.i.i.i.i18.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i.i.i.i.i.i.i37, i64 %sub.ptr.div.i.i.i.i.i17.i.i - %sub.ptr.sub.i38 = sub i64 %sub.ptr.lhs.cast.i22, %sub.ptr.lhs.cast.i.i.i.i.i12.i.i - %sub.ptr.div.i39 = ashr exact i64 %sub.ptr.sub.i38, 3 - %cmp.not.i40 = icmp slt i64 %sub.ptr.div.i39, %mul.i21 - br i1 %cmp.not.i40, label %while.end.i41, label %while.body.i24, !llvm.loop !1665 + %add.ptr.i.i.i.i.i17.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i35, i64 %sub.ptr.sub.i.i.i.i.i14.i.i + %sub.ptr.sub.i36 = sub i64 %sub.ptr.lhs.cast.i21, %sub.ptr.lhs.cast.i.i.i.i.i12.i.i + %sub.ptr.div.i37 = ashr exact i64 %sub.ptr.sub.i36, 3 + %cmp.not.i38 = icmp slt i64 %sub.ptr.div.i37, %mul.i20 + br i1 %cmp.not.i38, label %while.end.i39, label %while.body.i23, !llvm.loop !1665 -while.end.i41: ; preds = %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit +while.end.i39: ; preds = %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit %__first.addr.0.lcssa.i = phi ptr [ %__buffer, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ], [ %add.ptr2.i, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] - %__result.sroa.0.0.lcssa.i = phi ptr [ %__first.coerce, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ], [ %add.ptr.i.i.i.i.i18.i.i, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] - %sub.ptr.div.lcssa.i = phi i64 [ %sub.ptr.div.i, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ], [ %sub.ptr.div.i39, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] - %.sroa.speculated.i42 = tail call i64 @llvm.smin.i64(i64 %sub.ptr.div.lcssa.i, i64 %mul.i) - %add.ptr13.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.0.lcssa.i, i64 %.sroa.speculated.i42 - %cmp20.i15.i = icmp ne i64 %.sroa.speculated.i42, 0 - %cmp121.i16.i = icmp ne ptr %add.ptr13.i, %add.ptr - %5 = and i1 %cmp20.i15.i, %cmp121.i16.i - br i1 %5, label %while.body.i36.i, label %while.end.i17.i - -while.body.i36.i: ; preds = %while.end.i41, %while.body.i36.i - %__first1.addr.024.i37.i = phi ptr [ %__first1.addr.1.i48.i, %while.body.i36.i ], [ %__first.addr.0.lcssa.i, %while.end.i41 ] - %__first2.addr.023.i38.i = phi ptr [ %__first2.addr.1.i45.i, %while.body.i36.i ], [ %add.ptr13.i, %while.end.i41 ] - %__result.sroa.0.022.i39.i = phi ptr [ %incdec.ptr.i.i50.i, %while.body.i36.i ], [ %__result.sroa.0.0.lcssa.i, %while.end.i41 ] - %__first2.addr.0.val.i40.i = load i32, ptr %__first2.addr.023.i38.i, align 4 - %__first1.addr.0.val.i41.i = load i32, ptr %__first1.addr.024.i37.i, align 4 - %cmp.i.i.i42.i = icmp slt i32 %__first2.addr.0.val.i40.i, %__first1.addr.0.val.i41.i - %.sink.in.i43.i = select i1 %cmp.i.i.i42.i, ptr %__first2.addr.023.i38.i, ptr %__first1.addr.024.i37.i - %__first2.addr.1.idx.i44.i = zext i1 %cmp.i.i.i42.i to i64 - %__first2.addr.1.i45.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.addr.023.i38.i, i64 %__first2.addr.1.idx.i44.i - %not.cmp.i.i.i46.i = xor i1 %cmp.i.i.i42.i, true - %__first1.addr.1.idx.i47.i = zext i1 %not.cmp.i.i.i46.i to i64 - %__first1.addr.1.i48.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.addr.024.i37.i, i64 %__first1.addr.1.idx.i47.i - %.sink.i49.i = load i64, ptr %.sink.in.i43.i, align 4 - store i64 %.sink.i49.i, ptr %__result.sroa.0.022.i39.i, align 4 - %incdec.ptr.i.i50.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.022.i39.i, i64 1 - %cmp.i51.i = icmp ne ptr %__first1.addr.1.i48.i, %add.ptr13.i - %cmp1.i52.i = icmp ne ptr %__first2.addr.1.i45.i, %add.ptr - %6 = select i1 %cmp.i51.i, i1 %cmp1.i52.i, i1 false - br i1 %6, label %while.body.i36.i, label %while.end.i17.i, !llvm.loop !1664 - -while.end.i17.i: ; preds = %while.body.i36.i, %while.end.i41 - %__result.sroa.0.0.lcssa.i18.i = phi ptr [ %__result.sroa.0.0.lcssa.i, %while.end.i41 ], [ %incdec.ptr.i.i50.i, %while.body.i36.i ] - %__first2.addr.0.lcssa.i19.i = phi ptr [ %add.ptr13.i, %while.end.i41 ], [ %__first2.addr.1.i45.i, %while.body.i36.i ] - %__first1.addr.0.lcssa.i20.i = phi ptr [ %__first.addr.0.lcssa.i, %while.end.i41 ], [ %__first1.addr.1.i48.i, %while.body.i36.i ] + %__result.sroa.0.0.lcssa.i = phi ptr [ %__first.coerce, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ], [ %add.ptr.i.i.i.i.i17.i.i, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] + %sub.ptr.div.lcssa.i = phi i64 [ %sub.ptr.div.i, %_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit ], [ %sub.ptr.div.i37, %_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_less_iterEET0_T_SC_SC_SC_SB_T1_.exit.i ] + %.sroa.speculated.i40 = tail call i64 @llvm.smin.i64(i64 %sub.ptr.div.lcssa.i, i64 %mul.i) + %add.ptr13.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.0.lcssa.i, i64 %.sroa.speculated.i40 + %cmp19.i15.i = icmp ne i64 %.sroa.speculated.i40, 0 + %cmp120.i16.i = icmp ne ptr %add.ptr13.i, %add.ptr + %5 = and i1 %cmp19.i15.i, %cmp120.i16.i + br i1 %5, label %while.body.i34.i, label %while.end.i17.i + +while.body.i34.i: ; preds = %while.end.i39, %while.body.i34.i + %__first1.addr.023.i35.i = phi ptr [ %__first1.addr.1.i46.i, %while.body.i34.i ], [ %__first.addr.0.lcssa.i, %while.end.i39 ] + %__first2.addr.022.i36.i = phi ptr [ %__first2.addr.1.i43.i, %while.body.i34.i ], [ %add.ptr13.i, %while.end.i39 ] + %__result.sroa.0.021.i37.i = phi ptr [ %incdec.ptr.i.i48.i, %while.body.i34.i ], [ %__result.sroa.0.0.lcssa.i, %while.end.i39 ] + %__first2.addr.0.val.i38.i = load i32, ptr %__first2.addr.022.i36.i, align 4 + %__first1.addr.0.val.i39.i = load i32, ptr %__first1.addr.023.i35.i, align 4 + %cmp.i.i.i40.i = icmp slt i32 %__first2.addr.0.val.i38.i, %__first1.addr.0.val.i39.i + %.sink.in.i41.i = select i1 %cmp.i.i.i40.i, ptr %__first2.addr.022.i36.i, ptr %__first1.addr.023.i35.i + %__first2.addr.1.idx.i42.i = zext i1 %cmp.i.i.i40.i to i64 + %__first2.addr.1.i43.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.addr.022.i36.i, i64 %__first2.addr.1.idx.i42.i + %not.cmp.i.i.i44.i = xor i1 %cmp.i.i.i40.i, true + %__first1.addr.1.idx.i45.i = zext i1 %not.cmp.i.i.i44.i to i64 + %__first1.addr.1.i46.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.addr.023.i35.i, i64 %__first1.addr.1.idx.i45.i + %.sink.i47.i = load i64, ptr %.sink.in.i41.i, align 4 + store i64 %.sink.i47.i, ptr %__result.sroa.0.021.i37.i, align 4 + %incdec.ptr.i.i48.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.021.i37.i, i64 1 + %cmp.i49.i = icmp ne ptr %__first1.addr.1.i46.i, %add.ptr13.i + %cmp1.i50.i = icmp ne ptr %__first2.addr.1.i43.i, %add.ptr + %6 = select i1 %cmp.i49.i, i1 %cmp1.i50.i, i1 false + br i1 %6, label %while.body.i34.i, label %while.end.i17.i, !llvm.loop !1664 + +while.end.i17.i: ; preds = %while.body.i34.i, %while.end.i39 + %__result.sroa.0.0.lcssa.i18.i = phi ptr [ %__result.sroa.0.0.lcssa.i, %while.end.i39 ], [ %incdec.ptr.i.i48.i, %while.body.i34.i ] + %__first2.addr.0.lcssa.i19.i = phi ptr [ %add.ptr13.i, %while.end.i39 ], [ %__first2.addr.1.i43.i, %while.body.i34.i ] + %__first1.addr.0.lcssa.i20.i = phi ptr [ %__first.addr.0.lcssa.i, %while.end.i39 ], [ %__first1.addr.1.i46.i, %while.body.i34.i ] %sub.ptr.lhs.cast.i.i.i.i.i.i21.i = ptrtoint ptr %add.ptr13.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i22.i = ptrtoint ptr %__first1.addr.0.lcssa.i20.i to i64 %sub.ptr.sub.i.i.i.i.i.i23.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i21.i, %sub.ptr.rhs.cast.i.i.i.i.i.i22.i @@ -61315,19 +61337,18 @@ if.then.i.i.i.i.i.i25.i: ; preds = %while.end.i17.i br label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i26.i _ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i26.i: ; preds = %if.then.i.i.i.i.i.i25.i, %while.end.i17.i - %tobool.not.i.i.i.i.i15.i32.i = icmp eq ptr %__first2.addr.0.lcssa.i19.i, %add.ptr - br i1 %tobool.not.i.i.i.i.i15.i32.i, label %_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit, label %if.then.i.i.i.i.i16.i33.i - -if.then.i.i.i.i.i16.i33.i: ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i26.i - %sub.ptr.rhs.cast.i.i.i.i.i13.i30.i = ptrtoint ptr %__first2.addr.0.lcssa.i19.i to i64 - %sub.ptr.sub.i.i.i.i.i14.i31.i = sub i64 %sub.ptr.lhs.cast.i22, %sub.ptr.rhs.cast.i.i.i.i.i13.i30.i - %sub.ptr.div.i.i.i.i.i.i27.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i23.i, 3 - %add.ptr.i.i.i.i.i.i28.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.0.lcssa.i18.i, i64 %sub.ptr.div.i.i.i.i.i.i27.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i28.i, ptr align 4 %__first2.addr.0.lcssa.i19.i, i64 %sub.ptr.sub.i.i.i.i.i14.i31.i, i1 false) + %tobool.not.i.i.i.i.i15.i31.i = icmp eq ptr %__first2.addr.0.lcssa.i19.i, %add.ptr + br i1 %tobool.not.i.i.i.i.i15.i31.i, label %_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit, label %if.then.i.i.i.i.i16.i32.i + +if.then.i.i.i.i.i16.i32.i: ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i26.i + %sub.ptr.rhs.cast.i.i.i.i.i13.i29.i = ptrtoint ptr %__first2.addr.0.lcssa.i19.i to i64 + %sub.ptr.sub.i.i.i.i.i14.i30.i = sub i64 %sub.ptr.lhs.cast.i21, %sub.ptr.rhs.cast.i.i.i.i.i13.i29.i + %add.ptr.i.i.i.i.i.i27.i = getelementptr inbounds i8, ptr %__result.sroa.0.0.lcssa.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i23.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i27.i, ptr align 4 %__first2.addr.0.lcssa.i19.i, i64 %sub.ptr.sub.i.i.i.i.i14.i30.i, i1 false) br label %_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit -_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit: ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i26.i, %if.then.i.i.i.i.i16.i33.i - %cmp = icmp slt i64 %mul.i21, %sub.ptr.div.i +_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit: ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i26.i, %if.then.i.i.i.i.i16.i32.i + %cmp = icmp slt i64 %mul.i20, %sub.ptr.div.i br i1 %cmp, label %while.body, label %while.end, !llvm.loop !1666 while.end: ; preds = %_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_less_iterEEvT_SB_T0_T1_T2_.exit, %_ZSt22__chunk_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_less_iterEEvT_SB_T0_T1_.exit @@ -61337,10 +61358,10 @@ while.end: ; preds = %_ZSt17__merge_sort_ ; Function Attrs: mustprogress nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable define internal fastcc void @_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElS4_NS0_5__ops15_Iter_less_iterEEvT_SB_SB_T0_SC_T1_SC_T2_(ptr %__first.coerce, ptr %__middle.coerce, ptr %__last.coerce, i64 noundef %__len1, i64 noundef %__len2, ptr noundef %__buffer, i64 noundef %__buffer_size) unnamed_addr #19 { entry: - %cmp.not103 = icmp sgt i64 %__len1, %__len2 - %cmp3.not104 = icmp sgt i64 %__len1, %__buffer_size - %or.cond105 = or i1 %cmp3.not104, %cmp.not103 - br i1 %or.cond105, label %if.else.lr.ph, label %if.then + %cmp.not102 = icmp sgt i64 %__len1, %__len2 + %cmp3.not103 = icmp sgt i64 %__len1, %__buffer_size + %or.cond104 = or i1 %cmp3.not103, %cmp.not102 + br i1 %or.cond104, label %if.else.lr.ph, label %if.then if.else.lr.ph: ; preds = %entry %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %__last.coerce to i64 @@ -61357,8 +61378,7 @@ land.rhs.i.preheader: ; preds = %if.then %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %__first.coerce.tr.lcssa to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first.coerce.tr.lcssa, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__buffer, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i.i.i.i.i br label %land.rhs.i land.rhs.i: ; preds = %land.rhs.i.preheader, %while.body.i @@ -61392,58 +61412,58 @@ _ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS br label %if.end89 if.else: ; preds = %if.else.lr.ph, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit - %cmp.not112 = phi i1 [ %cmp.not103, %if.else.lr.ph ], [ %cmp.not, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %__len2.tr111 = phi i64 [ %__len2, %if.else.lr.ph ], [ %sub83, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %__len1.tr110 = phi i64 [ %__len1, %if.else.lr.ph ], [ %sub, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %__middle.coerce.tr108 = phi ptr [ %__middle.coerce, %if.else.lr.ph ], [ %__second_cut.sroa.0.0, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %__first.coerce.tr106 = phi ptr [ %__first.coerce, %if.else.lr.ph ], [ %retval.sroa.0.0.i, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %cmp14.not = icmp sgt i64 %__len2.tr111, %__buffer_size - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %__middle.coerce.tr108 to i64 + %cmp.not111 = phi i1 [ %cmp.not102, %if.else.lr.ph ], [ %cmp.not, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %__len2.tr110 = phi i64 [ %__len2, %if.else.lr.ph ], [ %sub83, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %__len1.tr109 = phi i64 [ %__len1, %if.else.lr.ph ], [ %sub, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %__middle.coerce.tr107 = phi ptr [ %__middle.coerce, %if.else.lr.ph ], [ %__second_cut.sroa.0.0, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %__first.coerce.tr105 = phi ptr [ %__first.coerce, %if.else.lr.ph ], [ %retval.sroa.0.0.i, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %cmp14.not = icmp sgt i64 %__len2.tr110, %__buffer_size + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %__middle.coerce.tr107 to i64 br i1 %cmp14.not, label %if.else29, label %if.then15 if.then15: ; preds = %if.else %sub.ptr.sub.i.i.i.i.i28 = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i - %tobool.not.i.i.i.i.i29 = icmp eq ptr %__middle.coerce.tr108, %__last.coerce - br i1 %tobool.not.i.i.i.i.i29, label %if.end89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit33.thread + %tobool.not.i.i.i.i.i29 = icmp eq ptr %__middle.coerce.tr107, %__last.coerce + br i1 %tobool.not.i.i.i.i.i29, label %if.end89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit32.thread -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit33.thread: ; preds = %if.then15 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr108, i64 %sub.ptr.sub.i.i.i.i.i28, i1 false) - %sub.ptr.div.i.i.i.i.i31124 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i28, 3 - %cmp.i.i126 = icmp eq ptr %__first.coerce.tr106, %__middle.coerce.tr108 - br i1 %cmp.i.i126, label %if.then.i.i.i.i.i.i, label %if.end7.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit32.thread: ; preds = %if.then15 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr107, i64 %sub.ptr.sub.i.i.i.i.i28, i1 false) + %cmp.i.i123 = icmp eq ptr %__first.coerce.tr105, %__middle.coerce.tr107 + br i1 %cmp.i.i123, label %if.then.i.i.i.i.i.i, label %if.end7.i -if.then.i.i.i.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit33.thread - %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i31124 +if.then.i.i.i.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit32.thread + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i28, 3 + %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__last.coerce, i64 %.pre.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i28, i1 false) br label %if.end89 -if.end7.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit33.thread - %add.ptr.i.i.i.i.i32125 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__buffer, i64 %sub.ptr.div.i.i.i.i.i31124 - %incdec.ptr.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i.i.i.i.i32125, i64 -1 - br label %while.body.i34.outer +if.end7.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit32.thread + %add.ptr.i.i.i.i.i31122 = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i.i.i.i.i28 + %incdec.ptr.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i.i.i.i.i31122, i64 -1 + br label %while.body.i33.outer -while.body.i34.outer: ; preds = %if.then12.i, %if.end7.i - %__last1.sroa.0.0.i.ph.pn = phi ptr [ %__middle.coerce.tr108, %if.end7.i ], [ %__last1.sroa.0.0.i.ph, %if.then12.i ] +while.body.i33.outer: ; preds = %if.then12.i, %if.end7.i + %__last1.sroa.0.0.i.ph.pn = phi ptr [ %__middle.coerce.tr107, %if.end7.i ], [ %__last1.sroa.0.0.i.ph, %if.then12.i ] %__result.sroa.0.0.i.ph = phi ptr [ %__last.coerce, %if.end7.i ], [ %incdec.ptr.i14.i, %if.then12.i ] %__last2.addr.0.i.ph = phi ptr [ %incdec.ptr.i, %if.end7.i ], [ %__last2.addr.0.i, %if.then12.i ] %__last1.sroa.0.0.i.ph = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__last1.sroa.0.0.i.ph.pn, i64 -1 - br label %while.body.i34 + br label %while.body.i33 -while.body.i34: ; preds = %while.body.i34.outer, %if.end31.i - %__result.sroa.0.0.i = phi ptr [ %incdec.ptr.i14.i, %if.end31.i ], [ %__result.sroa.0.0.i.ph, %while.body.i34.outer ] - %__last2.addr.0.i = phi ptr [ %incdec.ptr32.i, %if.end31.i ], [ %__last2.addr.0.i.ph, %while.body.i34.outer ] +while.body.i33: ; preds = %while.body.i33.outer, %if.end31.i + %__result.sroa.0.0.i = phi ptr [ %incdec.ptr.i14.i, %if.end31.i ], [ %__result.sroa.0.0.i.ph, %while.body.i33.outer ] + %__last2.addr.0.i = phi ptr [ %incdec.ptr32.i, %if.end31.i ], [ %__last2.addr.0.i.ph, %while.body.i33.outer ] %__last2.addr.0.val.i = load i32, ptr %__last2.addr.0.i, align 4 - %call.val.i.i35 = load i32, ptr %__last1.sroa.0.0.i.ph, align 4 - %cmp.i.i.i36 = icmp sgt i32 %call.val.i.i35, %__last2.addr.0.val.i + %call.val.i.i34 = load i32, ptr %__last1.sroa.0.0.i.ph, align 4 + %cmp.i.i.i35 = icmp sgt i32 %call.val.i.i34, %__last2.addr.0.val.i %incdec.ptr.i14.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.0.i, i64 -1 - br i1 %cmp.i.i.i36, label %if.then12.i, label %if.else26.i + br i1 %cmp.i.i.i35, label %if.then12.i, label %if.else26.i -if.then12.i: ; preds = %while.body.i34 +if.then12.i: ; preds = %while.body.i33 %0 = load i64, ptr %__last1.sroa.0.0.i.ph, align 4 store i64 %0, ptr %incdec.ptr.i14.i, align 4 - %cmp.i15.i = icmp eq ptr %__last1.sroa.0.0.i.ph, %__first.coerce.tr106 - br i1 %cmp.i15.i, label %if.then17.i, label %while.body.i34.outer, !llvm.loop !1668 + %cmp.i15.i = icmp eq ptr %__last1.sroa.0.0.i.ph, %__first.coerce.tr105 + br i1 %cmp.i15.i, label %if.then17.i, label %while.body.i33.outer, !llvm.loop !1668 if.then17.i: ; preds = %if.then12.i %incdec.ptr18.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__last2.addr.0.i, i64 1 @@ -61460,7 +61480,7 @@ if.then.i.i.i.i.i22.i: ; preds = %if.then17.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i23.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i18.i, i1 false) br label %if.end89 -if.else26.i: ; preds = %while.body.i34 +if.else26.i: ; preds = %while.body.i33 %1 = load i64, ptr %__last2.addr.0.i, align 4 store i64 %1, ptr %incdec.ptr.i14.i, align 4 %cmp29.i = icmp eq ptr %__last2.addr.0.i, %__buffer @@ -61468,131 +61488,130 @@ if.else26.i: ; preds = %while.body.i34 if.end31.i: ; preds = %if.else26.i %incdec.ptr32.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__last2.addr.0.i, i64 -1 - br label %while.body.i34, !llvm.loop !1668 + br label %while.body.i33, !llvm.loop !1668 if.else29: ; preds = %if.else - br i1 %cmp.not112, label %if.then31, label %if.else46 + br i1 %cmp.not111, label %if.then31, label %if.else46 if.then31: ; preds = %if.else29 - %div = sdiv i64 %__len1.tr110, 2 - %incdec.ptr.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.coerce.tr106, i64 %div + %div = sdiv i64 %__len1.tr109, 2 + %incdec.ptr.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.coerce.tr105, i64 %div %call34.val = load i32, ptr %incdec.ptr.i.i.i, align 4 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %sub.ptr.div.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 3 %cmp2.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp2.i, label %while.body.i41, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit + br i1 %cmp2.i, label %while.body.i40, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit -while.body.i41: ; preds = %if.then31, %while.body.i41 - %__len.04.i = phi i64 [ %__len.1.i, %while.body.i41 ], [ %sub.ptr.div.i.i.i.i, %if.then31 ] - %__first.sroa.0.03.i = phi ptr [ %__first.sroa.0.1.i, %while.body.i41 ], [ %__middle.coerce.tr108, %if.then31 ] +while.body.i40: ; preds = %if.then31, %while.body.i40 + %__len.04.i = phi i64 [ %__len.1.i, %while.body.i40 ], [ %sub.ptr.div.i.i.i.i, %if.then31 ] + %__first.sroa.0.03.i = phi ptr [ %__first.sroa.0.1.i, %while.body.i40 ], [ %__middle.coerce.tr107, %if.then31 ] %shr.i = lshr i64 %__len.04.i, 1 %incdec.ptr.i8.sink.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.03.i, i64 %shr.i - %call.val.i.i43 = load i32, ptr %incdec.ptr.i8.sink.i.i.i, align 4 - %cmp.i.i5.i = icmp slt i32 %call.val.i.i43, %call34.val - %incdec.ptr.i.i44 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i8.sink.i.i.i, i64 1 + %call.val.i.i42 = load i32, ptr %incdec.ptr.i8.sink.i.i.i, align 4 + %cmp.i.i5.i = icmp slt i32 %call.val.i.i42, %call34.val + %incdec.ptr.i.i43 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i8.sink.i.i.i, i64 1 %2 = xor i64 %shr.i, -1 %sub9.i = add nsw i64 %__len.04.i, %2 - %__first.sroa.0.1.i = select i1 %cmp.i.i5.i, ptr %incdec.ptr.i.i44, ptr %__first.sroa.0.03.i + %__first.sroa.0.1.i = select i1 %cmp.i.i5.i, ptr %incdec.ptr.i.i43, ptr %__first.sroa.0.03.i %__len.1.i = select i1 %cmp.i.i5.i, i64 %sub9.i, i64 %shr.i - %cmp.i45 = icmp sgt i64 %__len.1.i, 0 - br i1 %cmp.i45, label %while.body.i41, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit.loopexit, !llvm.loop !1655 + %cmp.i44 = icmp sgt i64 %__len.1.i, 0 + br i1 %cmp.i44, label %while.body.i40, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit.loopexit, !llvm.loop !1655 -_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit.loopexit: ; preds = %while.body.i41 +_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit.loopexit: ; preds = %while.body.i40 %.pre = ptrtoint ptr %__first.sroa.0.1.i to i64 br label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit _ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit: ; preds = %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit.loopexit, %if.then31 %sub.ptr.lhs.cast.i.i.i.pre-phi = phi i64 [ %.pre, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit.loopexit ], [ %sub.ptr.rhs.cast.i.i.i.i, %if.then31 ] - %__first.sroa.0.0.lcssa.i = phi ptr [ %__first.sroa.0.1.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit.loopexit ], [ %__middle.coerce.tr108, %if.then31 ] + %__first.sroa.0.0.lcssa.i = phi ptr [ %__first.sroa.0.1.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit.loopexit ], [ %__middle.coerce.tr107, %if.then31 ] %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.pre-phi, %sub.ptr.rhs.cast.i.i.i.i %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 3 br label %if.end if.else46: ; preds = %if.else29 - %div47 = sdiv i64 %__len2.tr111, 2 - %incdec.ptr.i.i.i57 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__middle.coerce.tr108, i64 %div47 - %call51.val = load i32, ptr %incdec.ptr.i.i.i57, align 4 - %sub.ptr.rhs.cast.i.i.i.i60 = ptrtoint ptr %__first.coerce.tr106 to i64 - %sub.ptr.sub.i.i.i.i61 = sub i64 %sub.ptr.rhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i60 - %sub.ptr.div.i.i.i.i62 = ashr exact i64 %sub.ptr.sub.i.i.i.i61, 3 - %cmp2.i63 = icmp sgt i64 %sub.ptr.div.i.i.i.i62, 0 - br i1 %cmp2.i63, label %while.body.i65, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit - -while.body.i65: ; preds = %if.else46, %while.body.i65 - %__len.04.i66 = phi i64 [ %__len.1.i78, %while.body.i65 ], [ %sub.ptr.div.i.i.i.i62, %if.else46 ] - %__first.sroa.0.03.i67 = phi ptr [ %__first.sroa.0.1.i77, %while.body.i65 ], [ %__first.coerce.tr106, %if.else46 ] - %shr.i68 = lshr i64 %__len.04.i66, 1 - %incdec.ptr.i8.sink.i.i.i72 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.03.i67, i64 %shr.i68 - %call.val.i.i73 = load i32, ptr %incdec.ptr.i8.sink.i.i.i72, align 4 - %cmp.i.i5.i74 = icmp sgt i32 %call.val.i.i73, %call51.val - %incdec.ptr.i.i75 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i8.sink.i.i.i72, i64 1 - %3 = xor i64 %shr.i68, -1 - %sub9.i76 = add nsw i64 %__len.04.i66, %3 - %__first.sroa.0.1.i77 = select i1 %cmp.i.i5.i74, ptr %__first.sroa.0.03.i67, ptr %incdec.ptr.i.i75 - %__len.1.i78 = select i1 %cmp.i.i5.i74, i64 %shr.i68, i64 %sub9.i76 - %cmp.i79 = icmp sgt i64 %__len.1.i78, 0 - br i1 %cmp.i79, label %while.body.i65, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit, !llvm.loop !1656 - -_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit: ; preds = %while.body.i65 - %.pre121 = ptrtoint ptr %__first.sroa.0.1.i77 to i64 + %div47 = sdiv i64 %__len2.tr110, 2 + %incdec.ptr.i.i.i56 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__middle.coerce.tr107, i64 %div47 + %call51.val = load i32, ptr %incdec.ptr.i.i.i56, align 4 + %sub.ptr.rhs.cast.i.i.i.i59 = ptrtoint ptr %__first.coerce.tr105 to i64 + %sub.ptr.sub.i.i.i.i60 = sub i64 %sub.ptr.rhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i59 + %sub.ptr.div.i.i.i.i61 = ashr exact i64 %sub.ptr.sub.i.i.i.i60, 3 + %cmp2.i62 = icmp sgt i64 %sub.ptr.div.i.i.i.i61, 0 + br i1 %cmp2.i62, label %while.body.i64, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit + +while.body.i64: ; preds = %if.else46, %while.body.i64 + %__len.04.i65 = phi i64 [ %__len.1.i77, %while.body.i64 ], [ %sub.ptr.div.i.i.i.i61, %if.else46 ] + %__first.sroa.0.03.i66 = phi ptr [ %__first.sroa.0.1.i76, %while.body.i64 ], [ %__first.coerce.tr105, %if.else46 ] + %shr.i67 = lshr i64 %__len.04.i65, 1 + %incdec.ptr.i8.sink.i.i.i71 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.03.i66, i64 %shr.i67 + %call.val.i.i72 = load i32, ptr %incdec.ptr.i8.sink.i.i.i71, align 4 + %cmp.i.i5.i73 = icmp sgt i32 %call.val.i.i72, %call51.val + %incdec.ptr.i.i74 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i8.sink.i.i.i71, i64 1 + %3 = xor i64 %shr.i67, -1 + %sub9.i75 = add nsw i64 %__len.04.i65, %3 + %__first.sroa.0.1.i76 = select i1 %cmp.i.i5.i73, ptr %__first.sroa.0.03.i66, ptr %incdec.ptr.i.i74 + %__len.1.i77 = select i1 %cmp.i.i5.i73, i64 %shr.i67, i64 %sub9.i75 + %cmp.i78 = icmp sgt i64 %__len.1.i77, 0 + br i1 %cmp.i78, label %while.body.i64, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit, !llvm.loop !1656 + +_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit: ; preds = %while.body.i64 + %.pre120 = ptrtoint ptr %__first.sroa.0.1.i76 to i64 br label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit _ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit: ; preds = %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit, %if.else46 - %sub.ptr.lhs.cast.i.i.i80.pre-phi = phi i64 [ %.pre121, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit ], [ %sub.ptr.rhs.cast.i.i.i.i60, %if.else46 ] - %__first.sroa.0.0.lcssa.i64 = phi ptr [ %__first.sroa.0.1.i77, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit ], [ %__first.coerce.tr106, %if.else46 ] - %sub.ptr.sub.i.i.i82 = sub i64 %sub.ptr.lhs.cast.i.i.i80.pre-phi, %sub.ptr.rhs.cast.i.i.i.i60 - %sub.ptr.div.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i82, 3 + %sub.ptr.lhs.cast.i.i.i79.pre-phi = phi i64 [ %.pre120, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit ], [ %sub.ptr.rhs.cast.i.i.i.i59, %if.else46 ] + %__first.sroa.0.0.lcssa.i63 = phi ptr [ %__first.sroa.0.1.i76, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit.loopexit ], [ %__first.coerce.tr105, %if.else46 ] + %sub.ptr.sub.i.i.i81 = sub i64 %sub.ptr.lhs.cast.i.i.i79.pre-phi, %sub.ptr.rhs.cast.i.i.i.i59 + %sub.ptr.div.i.i.i82 = ashr exact i64 %sub.ptr.sub.i.i.i81, 3 br label %if.end if.end: ; preds = %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit - %__first_cut.sroa.0.0 = phi ptr [ %incdec.ptr.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit ], [ %__first.sroa.0.0.lcssa.i64, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit ] - %__second_cut.sroa.0.0 = phi ptr [ %__first.sroa.0.0.lcssa.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit ], [ %incdec.ptr.i.i.i57, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit ] + %__first_cut.sroa.0.0 = phi ptr [ %incdec.ptr.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit ], [ %__first.sroa.0.0.lcssa.i63, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit ] + %__second_cut.sroa.0.0 = phi ptr [ %__first.sroa.0.0.lcssa.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit ], [ %incdec.ptr.i.i.i56, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit ] %__len22.0 = phi i64 [ %sub.ptr.div.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit ], [ %div47, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit ] - %__len11.0 = phi i64 [ %div, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit ], [ %sub.ptr.div.i.i.i83, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit ] - %sub = sub nsw i64 %__len1.tr110, %__len11.0 - %cmp.i84 = icmp sle i64 %sub, %__len22.0 + %__len11.0 = phi i64 [ %div, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_less_valEET_SB_SB_RKT0_T1_.exit ], [ %sub.ptr.div.i.i.i82, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_less_iterEET_SB_SB_RKT0_T1_.exit ] + %sub = sub nsw i64 %__len1.tr109, %__len11.0 + %cmp.i83 = icmp sle i64 %sub, %__len22.0 %cmp3.not.i = icmp sgt i64 %__len22.0, %__buffer_size - %or.cond.i = or i1 %cmp3.not.i, %cmp.i84 - br i1 %or.cond.i, label %if.else20.i, label %if.then.i85 + %or.cond.i = or i1 %cmp3.not.i, %cmp.i83 + br i1 %or.cond.i, label %if.else20.i, label %if.then.i84 -if.then.i85: ; preds = %if.end +if.then.i84: ; preds = %if.end %tobool.not.i = icmp eq i64 %__len22.0, 0 br i1 %tobool.not.i, label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit, label %if.then4.i -if.then4.i: ; preds = %if.then.i85 - %sub.ptr.lhs.cast.i.i.i.i.i.i86 = ptrtoint ptr %__second_cut.sroa.0.0 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i87 = ptrtoint ptr %__middle.coerce.tr108 to i64 - %sub.ptr.sub.i.i.i.i.i.i88 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i86, %sub.ptr.rhs.cast.i.i.i.i.i.i87 - %tobool.not.i.i.i.i.i.i89 = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr108 - br i1 %tobool.not.i.i.i.i.i.i89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i.i90 +if.then4.i: ; preds = %if.then.i84 + %sub.ptr.lhs.cast.i.i.i.i.i.i85 = ptrtoint ptr %__second_cut.sroa.0.0 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i86 = ptrtoint ptr %__middle.coerce.tr107 to i64 + %sub.ptr.sub.i.i.i.i.i.i87 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i85, %sub.ptr.rhs.cast.i.i.i.i.i.i86 + %tobool.not.i.i.i.i.i.i88 = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr107 + br i1 %tobool.not.i.i.i.i.i.i88, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i.i89 -if.then.i.i.i.i.i.i90: ; preds = %if.then4.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr108, i64 %sub.ptr.sub.i.i.i.i.i.i88, i1 false) +if.then.i.i.i.i.i.i89: ; preds = %if.then4.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr107, i64 %sub.ptr.sub.i.i.i.i.i.i87, i1 false) br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i.i90, %if.then4.i - %tobool.not.i.i.i.i.i14.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr108 - br i1 %tobool.not.i.i.i.i.i14.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i15.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i.i89, %if.then4.i + %tobool.not.i.i.i.i.i13.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr107 + br i1 %tobool.not.i.i.i.i.i13.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i14.i -if.then.i.i.i.i.i15.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i +if.then.i.i.i.i.i14.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i %sub.ptr.rhs.cast.i.i.i.i.i11.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i12.i = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i87, %sub.ptr.rhs.cast.i.i.i.i.i11.i - %sub.ptr.div.i.i.i.i.i13.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i12.i, 3 - %.pre.i.i.i.i.i.i91 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i13.i - %add.ptr.i.i.i.i.i16.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i.i91 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i16.i, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i12.i, i1 false) + %sub.ptr.sub.i.i.i.i.i12.i = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i86, %sub.ptr.rhs.cast.i.i.i.i.i11.i + %sub.ptr.div.i.i.i.i.i.i90 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i12.i, 3 + %.pre.i.i.i.i.i.i91 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i90 + %add.ptr.i.i.i.i.i15.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i.i91 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i15.i, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i12.i, i1 false) br label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i -_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i15.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i - br i1 %tobool.not.i.i.i.i.i.i89, label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92, label %if.then.i.i.i.i.i21.i +_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i14.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i + br i1 %tobool.not.i.i.i.i.i.i88, label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92, label %if.then.i.i.i.i.i20.i -if.then.i.i.i.i.i21.i: ; preds = %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i.i88, i1 false) +if.then.i.i.i.i.i20.i: ; preds = %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i.i87, i1 false) br label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92 -_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92: ; preds = %if.then.i.i.i.i.i21.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i - %sub.ptr.div.i.i.i.i.i22.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i88, 3 - %add.ptr.i.i.i.i.i23.i93 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first_cut.sroa.0.0, i64 %sub.ptr.div.i.i.i.i.i22.i +_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92: ; preds = %if.then.i.i.i.i.i20.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i + %add.ptr.i.i.i.i.i21.i = getelementptr inbounds i8, ptr %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i.i87 br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit if.else20.i: ; preds = %if.end @@ -61600,52 +61619,52 @@ if.else20.i: ; preds = %if.end br i1 %cmp21.not.i, label %if.else44.i, label %if.then22.i if.then22.i: ; preds = %if.else20.i - %tobool23.not.i = icmp eq i64 %__len11.0, %__len1.tr110 + %tobool23.not.i = icmp eq i64 %__len11.0, %__len1.tr109 br i1 %tobool23.not.i, label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit, label %if.then24.i if.then24.i: ; preds = %if.then22.i - %sub.ptr.lhs.cast.i.i.i.i.i24.i = ptrtoint ptr %__middle.coerce.tr108 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i25.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i26.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24.i, %sub.ptr.rhs.cast.i.i.i.i.i25.i - %tobool.not.i.i.i.i.i27.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr108 - br i1 %tobool.not.i.i.i.i.i27.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i, label %if.then.i.i.i.i.i28.i - -if.then.i.i.i.i.i28.i: ; preds = %if.then24.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i26.i, i1 false) - br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i - -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i: ; preds = %if.then.i.i.i.i.i28.i, %if.then24.i - %tobool.not.i.i.i.i.i35.i = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr108 - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i36.i - -if.then.i.i.i.i.i36.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i - %sub.ptr.lhs.cast.i.i.i.i.i32.i = ptrtoint ptr %__second_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i34.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i32.i, %sub.ptr.lhs.cast.i.i.i.i.i24.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__middle.coerce.tr108, i64 %sub.ptr.sub.i.i.i.i.i34.i, i1 false) + %sub.ptr.lhs.cast.i.i.i.i.i22.i = ptrtoint ptr %__middle.coerce.tr107 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i23.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 + %sub.ptr.sub.i.i.i.i.i24.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i22.i, %sub.ptr.rhs.cast.i.i.i.i.i23.i + %tobool.not.i.i.i.i.i25.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr107 + br i1 %tobool.not.i.i.i.i.i25.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i, label %if.then.i.i.i.i.i26.i + +if.then.i.i.i.i.i26.i: ; preds = %if.then24.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i24.i, i1 false) + br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i + +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i: ; preds = %if.then.i.i.i.i.i26.i, %if.then24.i + %tobool.not.i.i.i.i.i32.i = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr107 + br i1 %tobool.not.i.i.i.i.i32.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i33.i + +if.then.i.i.i.i.i33.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i + %sub.ptr.lhs.cast.i.i.i.i.i29.i = ptrtoint ptr %__second_cut.sroa.0.0 to i64 + %sub.ptr.sub.i.i.i.i.i31.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i29.i, %sub.ptr.lhs.cast.i.i.i.i.i22.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__middle.coerce.tr107, i64 %sub.ptr.sub.i.i.i.i.i31.i, i1 false) br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i36.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i - %sub.ptr.div.i.i.i.i.i42.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i26.i, 3 - %.pre.i.i.i.i.i44.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i42.i - br i1 %tobool.not.i.i.i.i.i27.i, label %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i45.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i33.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i + %sub.ptr.div.i.i.i.i.i38.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i24.i, 3 + %.pre.i.i.i.i.i40.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i38.i + br i1 %tobool.not.i.i.i.i.i25.i, label %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i41.i -if.then.i.i.i.i.i45.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i - %add.ptr.i.i.i.i.i46.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i44.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i46.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i26.i, i1 false) +if.then.i.i.i.i.i41.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i + %add.ptr.i.i.i.i.i42.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i40.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i42.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i24.i, i1 false) br label %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i -_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i45.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i - %add.ptr2.i.i.i.i.i47.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i44.i +_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i41.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i + %add.ptr2.i.i.i.i.i43.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i40.i br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit if.else44.i: ; preds = %if.else20.i - %call51.i = tail call fastcc ptr @_ZNSt3_V26rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_(ptr %__first_cut.sroa.0.0, ptr %__middle.coerce.tr108, ptr %__second_cut.sroa.0.0) + %call51.i = tail call fastcc ptr @_ZNSt3_V26rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_(ptr %__first_cut.sroa.0.0, ptr %__middle.coerce.tr107, ptr %__second_cut.sroa.0.0) br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit -_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit: ; preds = %if.then.i85, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92, %if.then22.i, %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i, %if.else44.i - %retval.sroa.0.0.i = phi ptr [ %add.ptr.i.i.i.i.i23.i93, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92 ], [ %add.ptr2.i.i.i.i.i47.i, %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i ], [ %call51.i, %if.else44.i ], [ %__first_cut.sroa.0.0, %if.then.i85 ], [ %__second_cut.sroa.0.0, %if.then22.i ] - tail call fastcc void @_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElS4_NS0_5__ops15_Iter_less_iterEEvT_SB_SB_T0_SC_T1_SC_T2_(ptr %__first.coerce.tr106, ptr %__first_cut.sroa.0.0, ptr %retval.sroa.0.0.i, i64 noundef %__len11.0, i64 noundef %__len22.0, ptr noundef %__buffer, i64 noundef %__buffer_size) - %sub83 = sub nsw i64 %__len2.tr111, %__len22.0 +_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit: ; preds = %if.then.i84, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92, %if.then22.i, %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i, %if.else44.i + %retval.sroa.0.0.i = phi ptr [ %add.ptr.i.i.i.i.i21.i, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i92 ], [ %add.ptr2.i.i.i.i.i43.i, %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i ], [ %call51.i, %if.else44.i ], [ %__first_cut.sroa.0.0, %if.then.i84 ], [ %__second_cut.sroa.0.0, %if.then22.i ] + tail call fastcc void @_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElS4_NS0_5__ops15_Iter_less_iterEEvT_SB_SB_T0_SC_T1_SC_T2_(ptr %__first.coerce.tr105, ptr %__first_cut.sroa.0.0, ptr %retval.sroa.0.0.i, i64 noundef %__len11.0, i64 noundef %__len22.0, ptr noundef %__buffer, i64 noundef %__buffer_size) + %sub83 = sub nsw i64 %__len2.tr110, %__len22.0 %cmp.not = icmp sgt i64 %sub, %sub83 %cmp3.not = icmp sgt i64 %sub, %__buffer_size %or.cond = or i1 %cmp3.not, %cmp.not @@ -61671,13 +61690,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -61722,7 +61741,7 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i @@ -61742,7 +61761,7 @@ for.body.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.body.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i) #28 %incdec.ptr.i.i.i = getelementptr inbounds %"class.testing::Matcher.549", ptr %__first.addr.04.i.i.i, i64 1 %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %1 br i1 %cmp.not.i.i.i, label %invoke.contthread-pre-split, label %for.body.i.i.i, !llvm.loop !1652 @@ -61757,7 +61776,7 @@ invoke.cont: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i, label %_ZNSt12_Vector_baseIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont - tail call void @_ZdlPv(ptr noundef nonnull %this.val) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this.val) #29 br label %_ZNSt12_Vector_baseIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev.exit _ZNSt12_Vector_baseIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev.exit: ; preds = %invoke.cont, %if.then.i.i @@ -61798,7 +61817,7 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i @@ -61839,11 +61858,11 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKN12_GLOBAL__N_17ElementEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -61863,13 +61882,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -61896,13 +61915,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -61950,7 +61969,7 @@ terminate.lpad: ; preds = %if.then.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable } @@ -61988,11 +62007,11 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -62005,7 +62024,7 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_118IsElementMatcherP2IiiE10gmock_ImplIRKNS_7ElementEED0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -62018,13 +62037,13 @@ entry: to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %entry - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 resume { ptr, i32 } %0 } @@ -62037,18 +62056,18 @@ entry: to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %entry - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 ret void lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable -define internal noundef zeroext i1 @_ZNK12_GLOBAL__N_118IsElementMatcherP2IiiE10gmock_ImplIRKNS_7ElementEE15MatchAndExplainES5_PN7testing19MatchResultListenerE(ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %this, ptr nocapture noundef nonnull readonly align 4 dereferenceable(8) %arg, ptr nocapture readnone %result_listener) unnamed_addr #20 align 2 { +define internal noundef zeroext i1 @_ZNK12_GLOBAL__N_118IsElementMatcherP2IiiE10gmock_ImplIRKNS_7ElementEE15MatchAndExplainES5_PN7testing19MatchResultListenerE(ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %this, ptr nocapture noundef nonnull readonly align 4 dereferenceable(8) %arg, ptr nocapture readnone %result_listener) unnamed_addr #21 align 2 { entry: %key2 = getelementptr inbounds %"class.(anonymous namespace)::IsElementMatcherP2::gmock_Impl", ptr %this, i64 0, i32 1 %0 = load <2 x i32>, ptr %arg, align 4 @@ -62067,16 +62086,16 @@ entry: %ref.tmp = alloca %"class.std::vector.555", align 8 %ref.tmp7 = alloca %"class.std::vector.293", align 8 %ref.tmp8 = alloca %"class.std::tuple.376", align 8 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #28 %call = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description, ptr noundef nonnull @.str.255) to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %entry - %call2 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #27 + %call2 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #28 br i1 %call2, label %if.end, label %if.then if.then: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %agg.result, ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %agg.result, ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #28 br label %cleanup lpad: ; preds = %entry @@ -62086,7 +62105,7 @@ lpad: ; preds = %entry if.end: ; preds = %invoke.cont call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont6 unwind label %lpad.i lpad.i: ; preds = %if.end @@ -62096,7 +62115,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.459, ptr %call5.i.i.i.i2.i, align 8 @@ -62115,7 +62134,7 @@ invoke.cont6: ; preds = %if.end ehcleanup.thread: ; preds = %invoke.cont6 %4 = landingpad { ptr, i32 } cleanup - call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp7) #27 + call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp7) #28 br label %if.then.i.i.i13 invoke.cont10: ; preds = %invoke.cont6 @@ -62131,7 +62150,7 @@ invoke.cont12: ; preds = %invoke.cont10 for.body.i.i.i.i: ; preds = %invoke.cont12, %for.body.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %5, %invoke.cont12 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i, %6 br i1 %cmp.not.i.i.i.i, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !557 @@ -62146,7 +62165,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i6, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %7) #28 + call void @_ZdlPv(ptr noundef nonnull %7) #29 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -62155,13 +62174,13 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.ex br i1 %tobool.not.i.i.i8, label %cleanup, label %if.then.i.i.i9 if.then.i.i.i9: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %8) #28 + call void @_ZdlPv(ptr noundef nonnull %8) #29 br label %cleanup ehcleanup: ; preds = %invoke.cont10 %9 = landingpad { ptr, i32 } cleanup - call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp7) #27 + call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp7) #28 %.pre = load ptr, ptr %ref.tmp, align 8 %tobool.not.i.i.i12 = icmp eq ptr %.pre, null br i1 %tobool.not.i.i.i12, label %ehcleanup14, label %if.then.i.i.i13 @@ -62169,16 +62188,16 @@ ehcleanup: ; preds = %invoke.cont10 if.then.i.i.i13: ; preds = %ehcleanup.thread, %ehcleanup %.pn18 = phi { ptr, i32 } [ %4, %ehcleanup.thread ], [ %9, %ehcleanup ] %10 = phi ptr [ %call5.i.i.i.i2.i, %ehcleanup.thread ], [ %.pre, %ehcleanup ] - call void @_ZdlPv(ptr noundef nonnull %10) #28 + call void @_ZdlPv(ptr noundef nonnull %10) #29 br label %ehcleanup14 cleanup: ; preds = %if.then.i.i.i9, %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, %if.then - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #28 ret void ehcleanup14: ; preds = %lpad.i, %ehcleanup, %if.then.i.i.i13, %lpad %.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad ], [ %1, %lpad.i ], [ %9, %ehcleanup ], [ %.pn18, %if.then.i.i.i13 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %gmock_description) #28 resume { ptr, i32 } %.pn.pn.pn } @@ -62211,7 +62230,7 @@ invoke.cont1: ; preds = %invoke.cont br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont1 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 %3 = load ptr, ptr %_M_finish.i.i, align 8 %incdec.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 1 store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 @@ -62222,8 +62241,8 @@ if.else.i.i: ; preds = %invoke.cont1 to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %if.then.i.i, %if.else.i.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 ret void lpad: ; preds = %entry, %invoke.cont @@ -62234,12 +62253,12 @@ lpad: ; preds = %entry, %invoke.cont lpad2: ; preds = %if.else.i.i %5 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup ehcleanup: ; preds = %lpad2, %lpad %.pn = phi { ptr, i32 } [ %5, %lpad2 ], [ %4, %lpad ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 resume { ptr, i32 } %.pn } @@ -62268,7 +62287,7 @@ invoke.cont1: ; preds = %invoke.cont br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont1 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 %3 = load ptr, ptr %_M_finish.i.i, align 8 %incdec.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 1 store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 @@ -62279,8 +62298,8 @@ if.else.i.i: ; preds = %invoke.cont1 to label %invoke.cont3 unwind label %lpad2 invoke.cont3: ; preds = %if.then.i.i, %if.else.i.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 ret void lpad: ; preds = %entry, %invoke.cont @@ -62291,12 +62310,12 @@ lpad: ; preds = %entry, %invoke.cont lpad2: ; preds = %if.else.i.i %5 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup ehcleanup: ; preds = %lpad2, %lpad %.pn = phi { ptr, i32 } [ %5, %lpad2 ], [ %4, %lpad ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 resume { ptr, i32 } %.pn } @@ -62313,7 +62332,7 @@ entry: br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit if.then.i: ; preds = %entry - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit: ; preds = %entry @@ -62332,21 +62351,21 @@ _ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_c _ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i: ; preds = %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit %mul.i.i.i = shl nuw nsw i64 %cond.i, 5 - %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #29 + %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #30 br label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i %cond.i10 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i ], [ null, %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit ] %add.ptr = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %cond.i10, i64 %sub.ptr.div.i - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr, ptr noundef nonnull align 8 dereferenceable(32) %__args) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr, ptr noundef nonnull align 8 dereferenceable(32) %__args) #28 %cmp.not5.i.i.i = icmp eq ptr %1, %__position.coerce br i1 %cmp.not5.i.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit, label %for.body.i.i.i for.body.i.i.i: ; preds = %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit, %for.body.i.i.i %__cur.07.i.i.i = phi ptr [ %incdec.ptr1.i.i.i, %for.body.i.i.i ], [ %cond.i10, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] %__first.addr.06.i.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.body.i.i.i ], [ %1, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.07.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.06.i.i.i) #27 - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.06.i.i.i) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.07.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.06.i.i.i) #28 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.06.i.i.i) #28 %incdec.ptr.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.06.i.i.i, i64 1 %incdec.ptr1.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.07.i.i.i, i64 1 %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %__position.coerce @@ -62361,8 +62380,8 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_re for.body.i.i.i12: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit, %for.body.i.i.i12 %__cur.07.i.i.i13 = phi ptr [ %incdec.ptr1.i.i.i16, %for.body.i.i.i12 ], [ %incdec.ptr, %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit ] %__first.addr.06.i.i.i14 = phi ptr [ %incdec.ptr.i.i.i15, %for.body.i.i.i12 ], [ %__position.coerce, %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.07.i.i.i13, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.06.i.i.i14) #27 - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.06.i.i.i14) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.07.i.i.i13, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.06.i.i.i14) #28 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.06.i.i.i14) #28 %incdec.ptr.i.i.i15 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.06.i.i.i14, i64 1 %incdec.ptr1.i.i.i16 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.07.i.i.i13, i64 1 %cmp.not.i.i.i17 = icmp eq ptr %incdec.ptr.i.i.i15, %0 @@ -62374,7 +62393,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_re br i1 %tobool.not.i, label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, label %if.then.i20 if.then.i20: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit19 - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit19, %if.then.i20 @@ -62441,11 +62460,11 @@ _ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKN12_GLOBAL__N_17ElementEEE %vtable.i.i.i = load ptr, ptr %0, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %1 = load ptr, ptr %vfn.i.i.i, align 8 - tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #27 + tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #28 br label %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKN12_GLOBAL__N_17ElementEEESt14default_deleteIS9_EEED2Ev.exit _ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKN12_GLOBAL__N_17ElementEEESt14default_deleteIS9_EEED2Ev.exit: ; preds = %delete.notnull, %_ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKN12_GLOBAL__N_17ElementEEEEclEPS7_.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %shared) #28 + tail call void @_ZdlPv(ptr noundef nonnull %shared) #29 br label %delete.end delete.end: ; preds = %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKN12_GLOBAL__N_17ElementEEESt14default_deleteIS9_EEED2Ev.exit, %entry @@ -62488,7 +62507,7 @@ if.else.i: ; preds = %entry br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNKSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EE12_M_check_lenEmPKc.exit.i.i if.then.i.i.i: ; preds = %if.else.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.else.i @@ -62505,7 +62524,7 @@ _ZNKSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EE12_M_check_l _ZNSt16allocator_traitsISaIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEEEE8allocateERS7_m.exit.i.i.i: ; preds = %_ZNKSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EE12_M_check_lenEmPKc.exit.i.i %mul.i.i.i.i.i = mul nuw nsw i64 %cond.i.i.i, 24 - %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #29 + %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #30 br label %invoke.cont.i.i invoke.cont.i.i: ; preds = %_ZNSt16allocator_traitsISaIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEEEE8allocateERS7_m.exit.i.i.i, %_ZNKSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EE12_M_check_lenEmPKc.exit.i.i @@ -62563,7 +62582,7 @@ for.body.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %this.val.i.i, %for.inc.i.i.i.i.i.i.i ] %vtable.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 %12 = load ptr, ptr %vtable.i.i.i.i.i.i, align 8 - tail call void %12(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #27 + tail call void %12(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #28 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.549", ptr %__first.addr.04.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %0 br i1 %cmp.not.i.i.i.i.i, label %_ZSt8_DestroyIPN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEES6_EvT_S8_RSaIT0_E.exit.i.i.loopexit, label %for.body.i.i.i.i.i, !llvm.loop !1652 @@ -62578,7 +62597,7 @@ _ZSt8_DestroyIPN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEES6_EvT_S8_RSaIT0_E. br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i, label %if.then.i41.i.i if.then.i41.i.i: ; preds = %_ZSt8_DestroyIPN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEES6_EvT_S8_RSaIT0_E.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this.val.i.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this.val.i.i) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i _ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i: ; preds = %if.then.i41.i.i, %_ZSt8_DestroyIPN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEES6_EvT_S8_RSaIT0_E.exit.i.i @@ -62607,7 +62626,7 @@ for.body.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.549", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !1652 @@ -62622,7 +62641,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - tail call void @_ZdlPv(ptr noundef nonnull %this.val.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this.val.i) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKN12_GLOBAL__N_17ElementEEESaIS6_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -62644,7 +62663,7 @@ for.body.i.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #28 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.549", ptr %__first.addr.04.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i.i, label %invoke.contthread-pre-split.i.i, label %for.body.i.i.i.i.i, !llvm.loop !1652 @@ -62659,11 +62678,11 @@ invoke.cont.i.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this.val.i.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this.val.i.i) #29 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEED2Ev.exit _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -62708,7 +62727,7 @@ if.else.i: ; preds = %if.then5 to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE10DescribeToEPSo.exit common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %lpad.body, %lpad.i29, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i46, %lpad.i @@ -62718,7 +62737,7 @@ common.resume: ; preds = %_ZNKSt14default_del lpad.i: ; preds = %if.else.i %3 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE10DescribeToEPSo.exit: ; preds = %if.then5, %invoke.cont.i @@ -62765,7 +62784,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE8ElementsEm.exit lpad.i29: ; preds = %invoke.cont2.i, %invoke.cont.i30, %if.else8 @@ -62779,7 +62798,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %11, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %common.resume _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE8ElementsEm.exit: ; preds = %invoke.cont4.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i @@ -62795,11 +62814,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIN12_GLOBAL__N_17Element lpad.i34: ; preds = %.noexc %13 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i32) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i32) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i32) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i32) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i32) %call13 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i33, ptr noundef nonnull @.str.385) to label %invoke.cont12 unwind label %lpad @@ -62813,7 +62832,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -62843,13 +62862,13 @@ if.else.i44: ; preds = %for.body to label %invoke.cont.i47 unwind label %lpad.i46 invoke.cont.i47: ; preds = %if.else.i44 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i40) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i40) #28 br label %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE10DescribeToEPSo.exit49 lpad.i46: ; preds = %if.else.i44 %17 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i40) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i40) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE10DescribeToEPSo.exit49: ; preds = %for.body, %invoke.cont.i47 @@ -62893,7 +62912,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i56 = load ptr, ptr %21, align 8 %vfn.i.i.i57 = getelementptr inbounds ptr, ptr %vtable.i.i.i56, i64 1 %22 = load ptr, ptr %vfn.i.i.i57, align 8 - call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #27 + call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE10DescribeToEPSo.exit49, %if.then23 @@ -62959,7 +62978,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE8ElementsEm.exit lpad.i: ; preds = %invoke.cont2.i, %invoke.cont.i, %if.end @@ -62973,7 +62992,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %7, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %common.resume common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i37, %lpad.body, %lpad.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i30 @@ -62993,11 +63012,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKSt6vectorIN12_GLOBAL__N_17Element lpad.i21: ; preds = %.noexc %9 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i20) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i20) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i20) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i20) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i20) %call7 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i, ptr noundef nonnull @.str.393) to label %invoke.cont6 unwind label %lpad @@ -63011,7 +63030,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %10, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %11 = load ptr, ptr %vfn.i.i.i, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont6, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -63041,13 +63060,13 @@ if.else.i: ; preds = %for.body to label %invoke.cont.i31 unwind label %lpad.i30 invoke.cont.i31: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i27) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i27) #28 br label %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE18DescribeNegationToEPSo.exit lpad.i30: ; preds = %if.else.i %13 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i27) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i27) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE18DescribeNegationToEPSo.exit: ; preds = %for.body, %invoke.cont.i31 @@ -63091,7 +63110,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i38 = load ptr, ptr %17, align 8 %vfn.i.i.i39 = getelementptr inbounds ptr, ptr %vtable.i.i.i38, i64 1 %18 = load ptr, ptr %vfn.i.i.i39, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKN12_GLOBAL__N_17ElementEE18DescribeNegationToEPSo.exit, %if.then16 @@ -63131,7 +63150,7 @@ entry: br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i if.then.i.i: ; preds = %entry - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #31 unreachable _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i: ; preds = %entry @@ -63145,7 +63164,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %sub.ptr.div.i.i, 5 - %call5.i.i.i.i2.i.i30 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i2.i.i30 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 store ptr %call5.i.i.i.i2.i.i30, ptr %explanations, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %explanations, i64 0, i32 1 store ptr %call5.i.i.i.i2.i.i30, ptr %_M_finish.i.i.i, align 8 @@ -63157,7 +63176,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i %__cur.06.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %call5.i.i.i.i2.i.i30, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] %__n.addr.05.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %sub.ptr.div.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #28 %dec.i.i.i.i.i = add i64 %__n.addr.05.i.i.i.i.i, -1 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.06.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq i64 %dec.i.i.i.i.i, 0 @@ -63221,7 +63240,7 @@ if.else.i.us: ; preds = %call.i.noexc.us to label %invoke.cont.i.us unwind label %lpad.i.split.us invoke.cont.i.us: ; preds = %.noexc40.us - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i.us if.end.i.us: ; preds = %invoke.cont.i.us, %call.i.noexc.us @@ -63237,10 +63256,10 @@ invoke.cont16.us: ; preds = %if.end.i.us invoke.cont20.us: ; preds = %invoke.cont16.us %add.ptr.i44.us = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge193.us - %call22.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i44.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + %call22.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i44.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br i1 %call5.i41.us, label %for.inc.us, label %for.end for.inc.us: ; preds = %invoke.cont20.us @@ -63263,7 +63282,7 @@ lpad15.split.us: ; preds = %invoke.cont16.us, % lpad.i.split.us: ; preds = %.noexc40.us %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %lpad15.body land.rhs: ; preds = %land.rhs.lr.ph, %for.inc @@ -63308,7 +63327,7 @@ lpad3.loopexit.split-lp.loopexit.split-lp: ; preds = %call1.i.noexc, %if. lpad15.body: ; preds = %lpad.i.split.us, %lpad15.split.us %eh.lpad-body = phi { ptr, i32 } [ %8, %lpad15.split.us ], [ %9, %lpad.i.split.us ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup call.i1.i.noexc: ; preds = %for.body @@ -63323,13 +63342,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc50 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc50 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -63425,7 +63444,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %22, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %23 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #27 + call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 br label %invoke.cont52 lpad.i64: ; preds = %invoke.cont2.i, %invoke.cont.i65, %.noexc67 @@ -63439,7 +63458,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %25, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %26 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %ehcleanup invoke.cont52: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont4.i @@ -63460,11 +63479,11 @@ if.then.i73: ; preds = %invoke.cont52 lpad.i.i74: ; preds = %.noexc76 %28 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i70) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i70) #28 br label %lpad53.body _ZN7testinglsERSoRKNS_7MessageE.exit.i: ; preds = %.noexc76 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i70) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i70) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i70) br label %invoke.cont54 @@ -63477,7 +63496,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %29, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %30 = load ptr, ptr %vfn.i.i.i, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont54, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -63499,7 +63518,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i80 = load ptr, ptr %32, align 8 %vfn.i.i.i81 = getelementptr inbounds ptr, ptr %vtable.i.i.i80, i64 1 %33 = load ptr, ptr %vfn.i.i.i81, align 8 - call void %33(ptr noundef nonnull align 8 dereferenceable(128) %32) #27 + call void %33(ptr noundef nonnull align 8 dereferenceable(128) %32) #28 br label %_ZN7testing7MessageD2Ev.exit82 _ZN7testing7MessageD2Ev.exit82: ; preds = %lpad53.body, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i79 @@ -63546,7 +63565,7 @@ if.then.i97.invoke.cont66_crit_edge: ; preds = %if.then.i97 invoke.cont66: ; preds = %if.then.i97.invoke.cont66_crit_edge, %if.then61, %invoke.cont62, %invoke.cont64 %35 = phi ptr [ %.pre, %if.then.i97.invoke.cont66_crit_edge ], [ null, %if.then61 ], [ null, %invoke.cont62 ], [ null, %invoke.cont64 ] %add.ptr.i101 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge.lcssa - %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i101) #27 + %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i101) #28 %cmp.i103 = icmp eq ptr %35, null %or.cond.not.i = or i1 %cmp.i103, %call.i br i1 %or.cond.not.i, label %cleanup, label %if.then.i104 @@ -63568,7 +63587,7 @@ for.body78: ; preds = %if.end72, %for.inc9 %reason_printed.0229 = phi i8 [ %reason_printed.1, %for.inc97 ], [ 0, %if.end72 ] %storemerge15228 = phi i64 [ %inc98, %for.inc97 ], [ 0, %if.end72 ] %add.ptr.i112 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge15228 - %call81 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i112) #27 + %call81 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i112) #28 br i1 %call81, label %for.inc97, label %if.then82 if.then82: ; preds = %for.body78 @@ -63643,7 +63662,7 @@ cleanup: ; preds = %for.inc97, %invoke. for.body.i.i.i.i: ; preds = %cleanup, %for.body.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %38, %cleanup ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i146 = icmp eq ptr %incdec.ptr.i.i.i.i, %39 br i1 %cmp.not.i.i.i.i146, label %invoke.cont.i147, label %for.body.i.i.i.i, !llvm.loop !557 @@ -63653,7 +63672,7 @@ invoke.cont.i147: ; preds = %for.body.i.i.i.i, % br i1 %tobool.not.i.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i147 - call void @_ZdlPv(ptr noundef nonnull %38) #28 + call void @_ZdlPv(ptr noundef nonnull %38) #29 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i147, %if.then.i.i.i @@ -63661,7 +63680,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.ex ehcleanup: ; preds = %lpad3.loopexit, %lpad3.loopexit.split-lp.loopexit.split, %lpad3.loopexit.split-lp.loopexit.split.us, %lpad3.loopexit.split-lp.loopexit.split-lp, %lpad.i64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i.i, %_ZN7testing7MessageD2Ev.exit82, %lpad15.body %.pn = phi { ptr, i32 } [ %eh.lpad-body77, %_ZN7testing7MessageD2Ev.exit82 ], [ %eh.lpad-body, %lpad15.body ], [ %11, %lpad.i.i ], [ %24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i ], [ %24, %lpad.i64 ], [ %lpad.loopexit, %lpad3.loopexit ], [ %lpad.loopexit.split-lp174, %lpad3.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit173, %lpad3.loopexit.split-lp.loopexit.split ], [ %lpad.loopexit173.us, %lpad3.loopexit.split-lp.loopexit.split.us ] - call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #27 + call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #28 resume { ptr, i32 } %.pn } @@ -63699,11 +63718,11 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS3_EEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -63723,13 +63742,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -63777,7 +63796,7 @@ terminate.lpad: ; preds = %if.then.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable } @@ -63815,11 +63834,11 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -63878,11 +63897,11 @@ _ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKSt6vectorIN12_GLOBAL__N_17 %vtable.i.i.i = load ptr, ptr %0, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %1 = load ptr, ptr %vfn.i.i.i, align 8 - tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #27 + tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #28 br label %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS6_EEEESt14default_deleteISC_EEED2Ev.exit _ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS6_EEEESt14default_deleteISC_EEED2Ev.exit: ; preds = %delete.notnull, %_ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS4_EEEEEclEPSA_.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %shared) #28 + tail call void @_ZdlPv(ptr noundef nonnull %shared) #29 br label %delete.end delete.end: ; preds = %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKSt6vectorIN12_GLOBAL__N_17ElementESaIS6_EEEESt14default_deleteISC_EEED2Ev.exit, %entry @@ -63898,14 +63917,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141MutatingTest_StableSortWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141MutatingTest_StableSortWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -63916,22 +63935,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141MutatingTest_StableSortWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141MutatingTest_StableSortWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -63943,9 +63962,9 @@ entry: %ref.tmp6 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.518", align 8 %ref.tmp21 = alloca %"class.testing::Message", align 8 %ref.tmp24 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i5.i10 = tail call noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #29 + %call5.i.i.i.i5.i10 = tail call noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #30 store ptr %call5.i.i.i.i5.i10, ptr %test_vector, align 8 - %add.ptr.i4.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %call5.i.i.i.i5.i10, i64 5 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i10, i64 40 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::Element, std::allocator<(anonymous namespace)::Element>>::_Vector_impl_data", ptr %test_vector, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i5.i10, ptr noundef nonnull align 4 dereferenceable(40) @constinit.463, i64 40, i1 false) @@ -63958,7 +63977,7 @@ while.body.i.i.i.i.i: ; preds = %entry, %if.end4.i.i %storemerge27.i.i.in.i.i.i = add nuw nsw i64 %storemerge27.i.i.in.in.i.i.i, 1 %storemerge27.i.i.i.i.i = lshr i64 %storemerge27.i.i.in.i.i.i, 1 %mul.i.i.i.i.i = shl i64 %storemerge27.i.i.i.i.i, 3 - %call.i.i.i.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #34 + %call.i.i.i.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i.i.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #35 %cmp2.not.i.i.i.i.i = icmp eq ptr %call.i.i.i.i.i, null br i1 %cmp2.not.i.i.i.i.i, label %if.end4.i.i.i.i.i, label %if.else.i.i.i @@ -63975,7 +63994,7 @@ if.else.i.i.i: ; preds = %while.body.i.i.i.i. br label %invoke.cont19 invoke.cont19: ; preds = %if.then5.i.i.i, %if.else.i.i.i - tail call void @_ZdlPv(ptr noundef %call.i.i.i.i.i) #27 + tail call void @_ZdlPv(ptr noundef %call.i.i.i.i.i) #28 store i64 4294967296, ptr %ref.tmp6, align 8 %agg.tmp711.sroa.4.0.ref.tmp6.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp6, i64 8 store i64 4294967297, ptr %agg.tmp711.sroa.4.0.ref.tmp6.sroa_idx, align 8 @@ -64010,7 +64029,7 @@ invoke.cont23: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont26, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont23 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont26 invoke.cont26: ; preds = %cond.true.i.i, %invoke.cont23 @@ -64023,7 +64042,7 @@ invoke.cont28: ; preds = %invoke.cont26 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont28 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #28 %4 = load ptr, ptr %ref.tmp21, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -64032,7 +64051,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont30, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -64052,7 +64071,7 @@ lpad25: ; preds = %invoke.cont26 lpad29: ; preds = %invoke.cont28 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #28 br label %ehcleanup ehcleanup: ; preds = %lpad29, %lpad25 @@ -64065,7 +64084,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i14 = load ptr, ptr %9, align 8 %vfn.i.i.i15 = getelementptr inbounds ptr, ptr %vtable.i.i.i14, i64 1 %10 = load ptr, ptr %vfn.i.i.i15, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit16 _ZN7testing7MessageD2Ev.exit16: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i13 @@ -64079,8 +64098,8 @@ if.end: ; preds = %invoke.cont20, %_ZN br i1 %cmp.not.i.i17, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -64090,7 +64109,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN12_GLOBAL__N_17ElementESaIS1_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %test_vector.val6) #28 + call void @_ZdlPv(ptr noundef nonnull %test_vector.val6) #29 br label %_ZNSt6vectorIN12_GLOBAL__N_17ElementESaIS1_EED2Ev.exit _ZNSt6vectorIN12_GLOBAL__N_17ElementESaIS1_EED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -64098,7 +64117,7 @@ _ZNSt6vectorIN12_GLOBAL__N_17ElementESaIS1_EED2Ev.exit: ; preds = %_ZN7testing15 ehcleanup31: ; preds = %_ZN7testing7MessageD2Ev.exit16, %lpad22 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit16 ], [ %6, %lpad22 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup32 ehcleanup32: ; preds = %ehcleanup31, %lpad4 @@ -64108,7 +64127,7 @@ ehcleanup32: ; preds = %ehcleanup31, %lpad4 br i1 %tobool.not.i.i.i18, label %eh.resume, label %if.then.i.i.i19 if.then.i.i.i19: ; preds = %ehcleanup32 - call void @_ZdlPv(ptr noundef nonnull %test_vector.val) #28 + call void @_ZdlPv(ptr noundef nonnull %test_vector.val) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i19, %ehcleanup32 @@ -64148,7 +64167,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6v %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i7.i, i64 %.pre.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i, ptr nonnull align 4 %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) br label %for.inc.i if.else.i: ; preds = %for.body.i @@ -64348,14 +64367,14 @@ return: ; preds = %if.end49, %entry, % ret void } -; Function Attrs: mustprogress nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable -define internal fastcc void @"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_"(ptr %__first.coerce, ptr %__last.coerce, ptr noundef %__buffer) unnamed_addr #19 { +; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable +define internal fastcc void @"_ZSt24__merge_sort_with_bufferIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_"(ptr %__first.coerce, ptr %__last.coerce, ptr noundef %__buffer) unnamed_addr #20 { entry: %sub.ptr.lhs.cast.i = ptrtoint ptr %__last.coerce to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %__first.coerce to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 - %add.ptr = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__buffer, i64 %sub.ptr.div.i + %add.ptr = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i %cmp42.i = icmp sgt i64 %sub.ptr.sub.i, 48 br i1 %cmp42.i, label %for.body.lr.ph.i.i, label %while.end.i @@ -64381,7 +64400,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6v %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 3 %.pre.i.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i7.i.i, i64 %.pre.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i, ptr nonnull align 4 %__first.sroa.0.043.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.sroa.0.043.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) br label %for.inc.i.i if.else.i.i: ; preds = %for.body.i.i @@ -64439,7 +64458,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6v %sub.ptr.div.i.i.i.i.i.i36.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i35.i, 3 %.pre.i.i.i.i.i.i37.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i36.i %add.ptr.i.i.i.i.i.i38.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i7.i33.i, i64 %.pre.i.i.i.i.i.i37.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i38.i, ptr nonnull align 4 %__first.sroa.0.0.lcssa.i, i64 %sub.ptr.sub.i.i.i.i.i.i35.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i38.i, ptr noundef nonnull align 4 dereferenceable(1) %__first.sroa.0.0.lcssa.i, i64 %sub.ptr.sub.i.i.i.i.i.i35.i, i1 false) br label %for.inc.i22.i if.else.i18.i: ; preds = %for.body.i12.i @@ -64466,42 +64485,42 @@ for.inc.i22.i: ; preds = %while.body.i.i26.i, br i1 %cmp.i6.not.i25.i, label %"_ZSt22__chunk_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_.exit", label %for.body.i12.i, !llvm.loop !1688 "_ZSt22__chunk_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_.exit": ; preds = %for.inc.i22.i, %while.end.i - %cmp45 = icmp sgt i64 %sub.ptr.div.i, 7 - br i1 %cmp45, label %while.body.lr.ph, label %while.end + %cmp43 = icmp sgt i64 %sub.ptr.div.i, 7 + br i1 %cmp43, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %"_ZSt22__chunk_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_.exit" - %sub.ptr.lhs.cast.i24 = ptrtoint ptr %add.ptr to i64 + %sub.ptr.lhs.cast.i23 = ptrtoint ptr %add.ptr to i64 br label %while.body while.body: ; preds = %while.body.lr.ph, %"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" - %__step_size.046 = phi i64 [ 7, %while.body.lr.ph ], [ %mul.i23, %"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ] - %mul.i = shl nsw i64 %__step_size.046, 1 - %cmp.not70.i = icmp slt i64 %sub.ptr.div.i, %mul.i - br i1 %cmp.not70.i, label %while.end.i21, label %while.body.i + %__step_size.044 = phi i64 [ 7, %while.body.lr.ph ], [ %mul.i22, %"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ] + %mul.i = shl nsw i64 %__step_size.044, 1 + %cmp.not68.i = icmp slt i64 %sub.ptr.div.i, %mul.i + br i1 %cmp.not68.i, label %while.end.i20, label %while.body.i while.body.i: ; preds = %while.body, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" - %__result.addr.072.i = phi ptr [ %add.ptr.i.i.i.i.i14.i.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ], [ %__buffer, %while.body ] - %__first.sroa.0.071.i = phi ptr [ %add.ptr.i13.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ], [ %__first.coerce, %while.body ] - %add.ptr.i.i12 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.071.i, i64 %__step_size.046 - %add.ptr.i13.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.071.i, i64 %mul.i + %__result.addr.070.i = phi ptr [ %add.ptr.i.i.i.i.i13.i.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ], [ %__buffer, %while.body ] + %__first.sroa.0.069.i = phi ptr [ %add.ptr.i13.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ], [ %__first.coerce, %while.body ] + %add.ptr.i.i12 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.069.i, i64 %__step_size.044 + %add.ptr.i13.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.069.i, i64 %mul.i br label %while.body.i.i while.body.i.i: ; preds = %while.body.i.i, %while.body.i - %__result.addr.021.i.i = phi ptr [ %incdec.ptr.i.i, %while.body.i.i ], [ %__result.addr.072.i, %while.body.i ] - %__first1.sroa.0.020.i.i = phi ptr [ %__first1.sroa.0.1.i.i, %while.body.i.i ], [ %__first.sroa.0.071.i, %while.body.i ] - %__first2.sroa.0.019.i.i = phi ptr [ %__first2.sroa.0.1.i.i, %while.body.i.i ], [ %add.ptr.i.i12, %while.body.i ] - %call.val.i.i.i13 = load i32, ptr %__first2.sroa.0.019.i.i, align 4 - %call3.val.i.i.i14 = load i32, ptr %__first1.sroa.0.020.i.i, align 4 + %__result.addr.020.i.i = phi ptr [ %incdec.ptr.i.i, %while.body.i.i ], [ %__result.addr.070.i, %while.body.i ] + %__first1.sroa.0.019.i.i = phi ptr [ %__first1.sroa.0.1.i.i, %while.body.i.i ], [ %__first.sroa.0.069.i, %while.body.i ] + %__first2.sroa.0.018.i.i = phi ptr [ %__first2.sroa.0.1.i.i, %while.body.i.i ], [ %add.ptr.i.i12, %while.body.i ] + %call.val.i.i.i13 = load i32, ptr %__first2.sroa.0.018.i.i, align 4 + %call3.val.i.i.i14 = load i32, ptr %__first1.sroa.0.019.i.i, align 4 %cmp.i.i.i.i.i15 = icmp slt i32 %call3.val.i.i.i14, %call.val.i.i.i13 - %.sink.in.i.i = select i1 %cmp.i.i.i.i.i15, ptr %__first2.sroa.0.019.i.i, ptr %__first1.sroa.0.020.i.i + %.sink.in.i.i = select i1 %cmp.i.i.i.i.i15, ptr %__first2.sroa.0.018.i.i, ptr %__first1.sroa.0.019.i.i %__first2.sroa.0.1.idx.i.i = zext i1 %cmp.i.i.i.i.i15 to i64 - %__first2.sroa.0.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.sroa.0.019.i.i, i64 %__first2.sroa.0.1.idx.i.i + %__first2.sroa.0.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.sroa.0.018.i.i, i64 %__first2.sroa.0.1.idx.i.i %not.cmp.i.i.i.i.i = xor i1 %cmp.i.i.i.i.i15, true %__first1.sroa.0.1.idx.i.i = zext i1 %not.cmp.i.i.i.i.i to i64 - %__first1.sroa.0.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.sroa.0.020.i.i, i64 %__first1.sroa.0.1.idx.i.i + %__first1.sroa.0.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.sroa.0.019.i.i, i64 %__first1.sroa.0.1.idx.i.i %.sink.i.i = load i64, ptr %.sink.in.i.i, align 4 - store i64 %.sink.i.i, ptr %__result.addr.021.i.i, align 4 - %incdec.ptr.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.021.i.i, i64 1 + store i64 %.sink.i.i, ptr %__result.addr.020.i.i, align 4 + %incdec.ptr.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.020.i.i, i64 1 %cmp.i.i.i = icmp ne ptr %__first1.sroa.0.1.i.i, %add.ptr.i.i12 %cmp.i6.i.i = icmp ne ptr %__first2.sroa.0.1.i.i, %add.ptr.i13.i %or.cond.i.i = select i1 %cmp.i.i.i, i1 %cmp.i6.i.i, i1 false @@ -64519,8 +64538,7 @@ if.then.i.i.i.i.i.i.i: ; preds = %while.end.i.loopexi br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i.i _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i, %while.end.i.loopexit.i - %sub.ptr.div.i.i.i.i.i.i.i18 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i17, 3 - %add.ptr.i.i.i.i.i.i.i19 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i18 + %add.ptr.i.i.i.i.i.i.i18 = getelementptr inbounds i8, ptr %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i17 %sub.ptr.lhs.cast.i.i.i.i.i8.i.i = ptrtoint ptr %add.ptr.i13.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i9.i.i = ptrtoint ptr %__first2.sroa.0.1.i.i to i64 %sub.ptr.sub.i.i.i.i.i10.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i8.i.i, %sub.ptr.rhs.cast.i.i.i.i.i9.i.i @@ -64528,53 +64546,52 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_S br i1 %tobool.not.i.i.i.i.i11.i.i, label %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i", label %if.then.i.i.i.i.i12.i.i if.then.i.i.i.i.i12.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i19, ptr nonnull align 4 %__first2.sroa.0.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i10.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i18, ptr nonnull align 4 %__first2.sroa.0.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i10.i.i, i1 false) br label %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" "_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i": ; preds = %if.then.i.i.i.i.i12.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i.i - %sub.ptr.div.i.i.i.i.i13.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i10.i.i, 3 - %add.ptr.i.i.i.i.i14.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i.i.i.i.i.i.i19, i64 %sub.ptr.div.i.i.i.i.i13.i.i - %sub.ptr.sub.i.i20 = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.lhs.cast.i.i.i.i.i8.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i20, 3 + %add.ptr.i.i.i.i.i13.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i18, i64 %sub.ptr.sub.i.i.i.i.i10.i.i + %sub.ptr.sub.i.i19 = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.lhs.cast.i.i.i.i.i8.i.i + %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i19, 3 %cmp.not.i = icmp slt i64 %sub.ptr.div.i.i, %mul.i - br i1 %cmp.not.i, label %while.end.i21, label %while.body.i, !llvm.loop !1693 + br i1 %cmp.not.i, label %while.end.i20, label %while.body.i, !llvm.loop !1693 -while.end.i21: ; preds = %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i", %while.body - %__first.sroa.0.0.lcssa.i22 = phi ptr [ %__first.coerce, %while.body ], [ %add.ptr.i13.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] - %__result.addr.0.lcssa.i = phi ptr [ %__buffer, %while.body ], [ %add.ptr.i.i.i.i.i14.i.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] +while.end.i20: ; preds = %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i", %while.body + %__first.sroa.0.0.lcssa.i21 = phi ptr [ %__first.coerce, %while.body ], [ %add.ptr.i13.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] + %__result.addr.0.lcssa.i = phi ptr [ %__buffer, %while.body ], [ %add.ptr.i.i.i.i.i13.i.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] %sub.ptr.div.i.lcssa.i = phi i64 [ %sub.ptr.div.i, %while.body ], [ %sub.ptr.div.i.i, %"_ZSt12__move_mergeIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] - %.sroa.speculated.i = tail call i64 @llvm.smin.i64(i64 %sub.ptr.div.i.lcssa.i, i64 %__step_size.046) - %add.ptr.i19.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.0.lcssa.i22, i64 %.sroa.speculated.i - %cmp.i16.i21.i = icmp ne i64 %.sroa.speculated.i, 0 - %cmp.i617.i22.i = icmp ne ptr %add.ptr.i19.i, %__last.coerce - %or.cond18.i23.i = select i1 %cmp.i16.i21.i, i1 %cmp.i617.i22.i, i1 false - br i1 %or.cond18.i23.i, label %while.body.i43.i, label %while.end.i24.i - -while.body.i43.i: ; preds = %while.end.i21, %while.body.i43.i - %__result.addr.021.i44.i = phi ptr [ %incdec.ptr.i57.i, %while.body.i43.i ], [ %__result.addr.0.lcssa.i, %while.end.i21 ] - %__first1.sroa.0.020.i45.i = phi ptr [ %__first1.sroa.0.1.i55.i, %while.body.i43.i ], [ %__first.sroa.0.0.lcssa.i22, %while.end.i21 ] - %__first2.sroa.0.019.i46.i = phi ptr [ %__first2.sroa.0.1.i52.i, %while.body.i43.i ], [ %add.ptr.i19.i, %while.end.i21 ] - %call.val.i.i47.i = load i32, ptr %__first2.sroa.0.019.i46.i, align 4 - %call3.val.i.i48.i = load i32, ptr %__first1.sroa.0.020.i45.i, align 4 - %cmp.i.i.i.i49.i = icmp slt i32 %call3.val.i.i48.i, %call.val.i.i47.i - %.sink.in.i50.i = select i1 %cmp.i.i.i.i49.i, ptr %__first2.sroa.0.019.i46.i, ptr %__first1.sroa.0.020.i45.i - %__first2.sroa.0.1.idx.i51.i = zext i1 %cmp.i.i.i.i49.i to i64 - %__first2.sroa.0.1.i52.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.sroa.0.019.i46.i, i64 %__first2.sroa.0.1.idx.i51.i - %not.cmp.i.i.i.i53.i = xor i1 %cmp.i.i.i.i49.i, true - %__first1.sroa.0.1.idx.i54.i = zext i1 %not.cmp.i.i.i.i53.i to i64 - %__first1.sroa.0.1.i55.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.sroa.0.020.i45.i, i64 %__first1.sroa.0.1.idx.i54.i - %.sink.i56.i = load i64, ptr %.sink.in.i50.i, align 4 - store i64 %.sink.i56.i, ptr %__result.addr.021.i44.i, align 4 - %incdec.ptr.i57.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.021.i44.i, i64 1 - %cmp.i.i58.i = icmp ne ptr %__first1.sroa.0.1.i55.i, %add.ptr.i19.i - %cmp.i6.i59.i = icmp ne ptr %__first2.sroa.0.1.i52.i, %__last.coerce - %or.cond.i60.i = select i1 %cmp.i.i58.i, i1 %cmp.i6.i59.i, i1 false - br i1 %or.cond.i60.i, label %while.body.i43.i, label %while.end.i24.i, !llvm.loop !1692 - -while.end.i24.i: ; preds = %while.body.i43.i, %while.end.i21 - %__first2.sroa.0.0.lcssa.i25.i = phi ptr [ %add.ptr.i19.i, %while.end.i21 ], [ %__first2.sroa.0.1.i52.i, %while.body.i43.i ] - %__first1.sroa.0.0.lcssa.i26.i = phi ptr [ %__first.sroa.0.0.lcssa.i22, %while.end.i21 ], [ %__first1.sroa.0.1.i55.i, %while.body.i43.i ] - %__result.addr.0.lcssa.i27.i = phi ptr [ %__result.addr.0.lcssa.i, %while.end.i21 ], [ %incdec.ptr.i57.i, %while.body.i43.i ] + %.sroa.speculated.i = tail call i64 @llvm.smin.i64(i64 %sub.ptr.div.i.lcssa.i, i64 %__step_size.044) + %add.ptr.i19.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.0.lcssa.i21, i64 %.sroa.speculated.i + %cmp.i15.i21.i = icmp ne i64 %.sroa.speculated.i, 0 + %cmp.i616.i22.i = icmp ne ptr %add.ptr.i19.i, %__last.coerce + %or.cond17.i23.i = select i1 %cmp.i15.i21.i, i1 %cmp.i616.i22.i, i1 false + br i1 %or.cond17.i23.i, label %while.body.i41.i, label %while.end.i24.i + +while.body.i41.i: ; preds = %while.end.i20, %while.body.i41.i + %__result.addr.020.i42.i = phi ptr [ %incdec.ptr.i55.i, %while.body.i41.i ], [ %__result.addr.0.lcssa.i, %while.end.i20 ] + %__first1.sroa.0.019.i43.i = phi ptr [ %__first1.sroa.0.1.i53.i, %while.body.i41.i ], [ %__first.sroa.0.0.lcssa.i21, %while.end.i20 ] + %__first2.sroa.0.018.i44.i = phi ptr [ %__first2.sroa.0.1.i50.i, %while.body.i41.i ], [ %add.ptr.i19.i, %while.end.i20 ] + %call.val.i.i45.i = load i32, ptr %__first2.sroa.0.018.i44.i, align 4 + %call3.val.i.i46.i = load i32, ptr %__first1.sroa.0.019.i43.i, align 4 + %cmp.i.i.i.i47.i = icmp slt i32 %call3.val.i.i46.i, %call.val.i.i45.i + %.sink.in.i48.i = select i1 %cmp.i.i.i.i47.i, ptr %__first2.sroa.0.018.i44.i, ptr %__first1.sroa.0.019.i43.i + %__first2.sroa.0.1.idx.i49.i = zext i1 %cmp.i.i.i.i47.i to i64 + %__first2.sroa.0.1.i50.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.sroa.0.018.i44.i, i64 %__first2.sroa.0.1.idx.i49.i + %not.cmp.i.i.i.i51.i = xor i1 %cmp.i.i.i.i47.i, true + %__first1.sroa.0.1.idx.i52.i = zext i1 %not.cmp.i.i.i.i51.i to i64 + %__first1.sroa.0.1.i53.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.sroa.0.019.i43.i, i64 %__first1.sroa.0.1.idx.i52.i + %.sink.i54.i = load i64, ptr %.sink.in.i48.i, align 4 + store i64 %.sink.i54.i, ptr %__result.addr.020.i42.i, align 4 + %incdec.ptr.i55.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.020.i42.i, i64 1 + %cmp.i.i56.i = icmp ne ptr %__first1.sroa.0.1.i53.i, %add.ptr.i19.i + %cmp.i6.i57.i = icmp ne ptr %__first2.sroa.0.1.i50.i, %__last.coerce + %or.cond.i58.i = select i1 %cmp.i.i56.i, i1 %cmp.i6.i57.i, i1 false + br i1 %or.cond.i58.i, label %while.body.i41.i, label %while.end.i24.i, !llvm.loop !1692 + +while.end.i24.i: ; preds = %while.body.i41.i, %while.end.i20 + %__first2.sroa.0.0.lcssa.i25.i = phi ptr [ %add.ptr.i19.i, %while.end.i20 ], [ %__first2.sroa.0.1.i50.i, %while.body.i41.i ] + %__first1.sroa.0.0.lcssa.i26.i = phi ptr [ %__first.sroa.0.0.lcssa.i21, %while.end.i20 ], [ %__first1.sroa.0.1.i53.i, %while.body.i41.i ] + %__result.addr.0.lcssa.i27.i = phi ptr [ %__result.addr.0.lcssa.i, %while.end.i20 ], [ %incdec.ptr.i55.i, %while.body.i41.i ] %sub.ptr.lhs.cast.i.i.i.i.i.i28.i = ptrtoint ptr %add.ptr.i19.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i29.i = ptrtoint ptr %__first1.sroa.0.0.lcssa.i26.i to i64 %sub.ptr.sub.i.i.i.i.i.i30.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i28.i, %sub.ptr.rhs.cast.i.i.i.i.i.i29.i @@ -64586,64 +64603,62 @@ if.then.i.i.i.i.i.i32.i: ; preds = %while.end.i24.i br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i33.i _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i33.i: ; preds = %if.then.i.i.i.i.i.i32.i, %while.end.i24.i - %tobool.not.i.i.i.i.i11.i39.i = icmp eq ptr %__first2.sroa.0.0.lcssa.i25.i, %__last.coerce - br i1 %tobool.not.i.i.i.i.i11.i39.i, label %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit", label %if.then.i.i.i.i.i12.i40.i - -if.then.i.i.i.i.i12.i40.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i33.i - %sub.ptr.rhs.cast.i.i.i.i.i9.i37.i = ptrtoint ptr %__first2.sroa.0.0.lcssa.i25.i to i64 - %sub.ptr.sub.i.i.i.i.i10.i38.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i.i.i.i.i9.i37.i - %sub.ptr.div.i.i.i.i.i.i34.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i30.i, 3 - %add.ptr.i.i.i.i.i.i35.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.addr.0.lcssa.i27.i, i64 %sub.ptr.div.i.i.i.i.i.i34.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i35.i, ptr align 4 %__first2.sroa.0.0.lcssa.i25.i, i64 %sub.ptr.sub.i.i.i.i.i10.i38.i, i1 false) + %tobool.not.i.i.i.i.i11.i38.i = icmp eq ptr %__first2.sroa.0.0.lcssa.i25.i, %__last.coerce + br i1 %tobool.not.i.i.i.i.i11.i38.i, label %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit", label %if.then.i.i.i.i.i12.i39.i + +if.then.i.i.i.i.i12.i39.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i33.i + %sub.ptr.rhs.cast.i.i.i.i.i9.i36.i = ptrtoint ptr %__first2.sroa.0.0.lcssa.i25.i to i64 + %sub.ptr.sub.i.i.i.i.i10.i37.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i.i.i.i.i9.i36.i + %add.ptr.i.i.i.i.i.i34.i = getelementptr inbounds i8, ptr %__result.addr.0.lcssa.i27.i, i64 %sub.ptr.sub.i.i.i.i.i.i30.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i34.i, ptr align 4 %__first2.sroa.0.0.lcssa.i25.i, i64 %sub.ptr.sub.i.i.i.i.i10.i37.i, i1 false) br label %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" -"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit": ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i33.i, %if.then.i.i.i.i.i12.i40.i - %mul.i23 = shl nsw i64 %__step_size.046, 2 - %cmp.not61.i = icmp slt i64 %sub.ptr.div.i, %mul.i23 - br i1 %cmp.not61.i, label %while.end.i43, label %while.body.i26 - -while.body.i26: ; preds = %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit", %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" - %__result.sroa.0.063.i = phi ptr [ %add.ptr.i.i.i.i.i18.i.i, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ], [ %__first.coerce, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ] - %__first.addr.062.i = phi ptr [ %add.ptr2.i, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ], [ %__buffer, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ] - %add.ptr.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.062.i, i64 %mul.i - %add.ptr2.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.062.i, i64 %mul.i23 - br label %while.body.i.i27 - -while.body.i.i27: ; preds = %while.body.i.i27, %while.body.i26 - %__first1.addr.024.i.i = phi ptr [ %__first1.addr.1.i.i, %while.body.i.i27 ], [ %__first.addr.062.i, %while.body.i26 ] - %__first2.addr.023.i.i = phi ptr [ %__first2.addr.1.i.i, %while.body.i.i27 ], [ %add.ptr.i, %while.body.i26 ] - %__result.sroa.0.022.i.i = phi ptr [ %incdec.ptr.i.i.i, %while.body.i.i27 ], [ %__result.sroa.0.063.i, %while.body.i26 ] - %__first2.addr.0.val.i.i = load i32, ptr %__first2.addr.023.i.i, align 4 - %__first1.addr.0.val.i.i = load i32, ptr %__first1.addr.024.i.i, align 4 - %cmp.i.i.i.i.i28 = icmp slt i32 %__first1.addr.0.val.i.i, %__first2.addr.0.val.i.i - %.sink.in.i.i29 = select i1 %cmp.i.i.i.i.i28, ptr %__first2.addr.023.i.i, ptr %__first1.addr.024.i.i - %__first2.addr.1.idx.i.i = zext i1 %cmp.i.i.i.i.i28 to i64 - %__first2.addr.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.addr.023.i.i, i64 %__first2.addr.1.idx.i.i - %not.cmp.i.i.i.i.i30 = xor i1 %cmp.i.i.i.i.i28, true - %__first1.addr.1.idx.i.i = zext i1 %not.cmp.i.i.i.i.i30 to i64 - %__first1.addr.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.addr.024.i.i, i64 %__first1.addr.1.idx.i.i - %.sink.i.i31 = load i64, ptr %.sink.in.i.i29, align 4 - store i64 %.sink.i.i31, ptr %__result.sroa.0.022.i.i, align 4 - %incdec.ptr.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.022.i.i, i64 1 +"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit": ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i33.i, %if.then.i.i.i.i.i12.i39.i + %mul.i22 = shl nsw i64 %__step_size.044, 2 + %cmp.not59.i = icmp slt i64 %sub.ptr.div.i, %mul.i22 + br i1 %cmp.not59.i, label %while.end.i41, label %while.body.i25 + +while.body.i25: ; preds = %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit", %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" + %__result.sroa.0.061.i = phi ptr [ %add.ptr.i.i.i.i.i17.i.i, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ], [ %__first.coerce, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ] + %__first.addr.060.i = phi ptr [ %add.ptr2.i, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ], [ %__buffer, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ] + %add.ptr.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.060.i, i64 %mul.i + %add.ptr2.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.060.i, i64 %mul.i22 + br label %while.body.i.i26 + +while.body.i.i26: ; preds = %while.body.i.i26, %while.body.i25 + %__first1.addr.023.i.i = phi ptr [ %__first1.addr.1.i.i, %while.body.i.i26 ], [ %__first.addr.060.i, %while.body.i25 ] + %__first2.addr.022.i.i = phi ptr [ %__first2.addr.1.i.i, %while.body.i.i26 ], [ %add.ptr.i, %while.body.i25 ] + %__result.sroa.0.021.i.i = phi ptr [ %incdec.ptr.i.i.i, %while.body.i.i26 ], [ %__result.sroa.0.061.i, %while.body.i25 ] + %__first2.addr.0.val.i.i = load i32, ptr %__first2.addr.022.i.i, align 4 + %__first1.addr.0.val.i.i = load i32, ptr %__first1.addr.023.i.i, align 4 + %cmp.i.i.i.i.i27 = icmp slt i32 %__first1.addr.0.val.i.i, %__first2.addr.0.val.i.i + %.sink.in.i.i28 = select i1 %cmp.i.i.i.i.i27, ptr %__first2.addr.022.i.i, ptr %__first1.addr.023.i.i + %__first2.addr.1.idx.i.i = zext i1 %cmp.i.i.i.i.i27 to i64 + %__first2.addr.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.addr.022.i.i, i64 %__first2.addr.1.idx.i.i + %not.cmp.i.i.i.i.i29 = xor i1 %cmp.i.i.i.i.i27, true + %__first1.addr.1.idx.i.i = zext i1 %not.cmp.i.i.i.i.i29 to i64 + %__first1.addr.1.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.addr.023.i.i, i64 %__first1.addr.1.idx.i.i + %.sink.i.i30 = load i64, ptr %.sink.in.i.i28, align 4 + store i64 %.sink.i.i30, ptr %__result.sroa.0.021.i.i, align 4 + %incdec.ptr.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.021.i.i, i64 1 %cmp.i.i = icmp ne ptr %__first1.addr.1.i.i, %add.ptr.i %cmp1.i.i = icmp ne ptr %__first2.addr.1.i.i, %add.ptr2.i %4 = select i1 %cmp.i.i, i1 %cmp1.i.i, i1 false - br i1 %4, label %while.body.i.i27, label %while.end.i.loopexit.i32, !llvm.loop !1694 + br i1 %4, label %while.body.i.i26, label %while.end.i.loopexit.i31, !llvm.loop !1694 -while.end.i.loopexit.i32: ; preds = %while.body.i.i27 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i33 = ptrtoint ptr %add.ptr.i to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i34 = ptrtoint ptr %__first1.addr.1.i.i to i64 - %sub.ptr.sub.i.i.i.i.i.i.i35 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i33, %sub.ptr.rhs.cast.i.i.i.i.i.i.i34 - %tobool.not.i.i.i.i.i.i.i36 = icmp eq ptr %__first1.addr.1.i.i, %add.ptr.i - br i1 %tobool.not.i.i.i.i.i.i.i36, label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i, label %if.then.i.i.i.i.i.i.i37 +while.end.i.loopexit.i31: ; preds = %while.body.i.i26 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i32 = ptrtoint ptr %add.ptr.i to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i33 = ptrtoint ptr %__first1.addr.1.i.i to i64 + %sub.ptr.sub.i.i.i.i.i.i.i34 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i32, %sub.ptr.rhs.cast.i.i.i.i.i.i.i33 + %tobool.not.i.i.i.i.i.i.i35 = icmp eq ptr %__first1.addr.1.i.i, %add.ptr.i + br i1 %tobool.not.i.i.i.i.i.i.i35, label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i, label %if.then.i.i.i.i.i.i.i36 -if.then.i.i.i.i.i.i.i37: ; preds = %while.end.i.loopexit.i32 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %incdec.ptr.i.i.i, ptr nonnull align 4 %__first1.addr.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i35, i1 false) +if.then.i.i.i.i.i.i.i36: ; preds = %while.end.i.loopexit.i31 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %incdec.ptr.i.i.i, ptr nonnull align 4 %__first1.addr.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i34, i1 false) br label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i -_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i37, %while.end.i.loopexit.i32 - %sub.ptr.div.i.i.i.i.i.i.i38 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i35, 3 - %add.ptr.i.i.i.i.i.i.i39 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i38 +_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i: ; preds = %if.then.i.i.i.i.i.i.i36, %while.end.i.loopexit.i31 + %add.ptr.i.i.i.i.i.i.i37 = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i34 %sub.ptr.lhs.cast.i.i.i.i.i12.i.i = ptrtoint ptr %add.ptr2.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i13.i.i = ptrtoint ptr %__first2.addr.1.i.i to i64 %sub.ptr.sub.i.i.i.i.i14.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i12.i.i, %sub.ptr.rhs.cast.i.i.i.i.i13.i.i @@ -64651,53 +64666,52 @@ _ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS br i1 %tobool.not.i.i.i.i.i15.i.i, label %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i", label %if.then.i.i.i.i.i16.i.i if.then.i.i.i.i.i16.i.i: ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i39, ptr nonnull align 4 %__first2.addr.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i14.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i37, ptr nonnull align 4 %__first2.addr.1.i.i, i64 %sub.ptr.sub.i.i.i.i.i14.i.i, i1 false) br label %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" "_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i": ; preds = %if.then.i.i.i.i.i16.i.i, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i.i - %sub.ptr.div.i.i.i.i.i17.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i14.i.i, 3 - %add.ptr.i.i.i.i.i18.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i.i.i.i.i.i.i39, i64 %sub.ptr.div.i.i.i.i.i17.i.i - %sub.ptr.sub.i40 = sub i64 %sub.ptr.lhs.cast.i24, %sub.ptr.lhs.cast.i.i.i.i.i12.i.i - %sub.ptr.div.i41 = ashr exact i64 %sub.ptr.sub.i40, 3 - %cmp.not.i42 = icmp slt i64 %sub.ptr.div.i41, %mul.i23 - br i1 %cmp.not.i42, label %while.end.i43, label %while.body.i26, !llvm.loop !1695 - -while.end.i43: ; preds = %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i", %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" + %add.ptr.i.i.i.i.i17.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i37, i64 %sub.ptr.sub.i.i.i.i.i14.i.i + %sub.ptr.sub.i38 = sub i64 %sub.ptr.lhs.cast.i23, %sub.ptr.lhs.cast.i.i.i.i.i12.i.i + %sub.ptr.div.i39 = ashr exact i64 %sub.ptr.sub.i38, 3 + %cmp.not.i40 = icmp slt i64 %sub.ptr.div.i39, %mul.i22 + br i1 %cmp.not.i40, label %while.end.i41, label %while.body.i25, !llvm.loop !1695 + +while.end.i41: ; preds = %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i", %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" %__first.addr.0.lcssa.i = phi ptr [ %__buffer, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ], [ %add.ptr2.i, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] - %__result.sroa.0.0.lcssa.i = phi ptr [ %__first.coerce, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ], [ %add.ptr.i.i.i.i.i18.i.i, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] - %sub.ptr.div.lcssa.i = phi i64 [ %sub.ptr.div.i, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ], [ %sub.ptr.div.i41, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] - %.sroa.speculated.i44 = tail call i64 @llvm.smin.i64(i64 %sub.ptr.div.lcssa.i, i64 %mul.i) - %add.ptr13.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.0.lcssa.i, i64 %.sroa.speculated.i44 - %cmp20.i16.i = icmp ne i64 %.sroa.speculated.i44, 0 - %cmp121.i17.i = icmp ne ptr %add.ptr13.i, %add.ptr - %5 = and i1 %cmp20.i16.i, %cmp121.i17.i - br i1 %5, label %while.body.i37.i, label %while.end.i18.i - -while.body.i37.i: ; preds = %while.end.i43, %while.body.i37.i - %__first1.addr.024.i38.i = phi ptr [ %__first1.addr.1.i49.i, %while.body.i37.i ], [ %__first.addr.0.lcssa.i, %while.end.i43 ] - %__first2.addr.023.i39.i = phi ptr [ %__first2.addr.1.i46.i, %while.body.i37.i ], [ %add.ptr13.i, %while.end.i43 ] - %__result.sroa.0.022.i40.i = phi ptr [ %incdec.ptr.i.i51.i, %while.body.i37.i ], [ %__result.sroa.0.0.lcssa.i, %while.end.i43 ] - %__first2.addr.0.val.i41.i = load i32, ptr %__first2.addr.023.i39.i, align 4 - %__first1.addr.0.val.i42.i = load i32, ptr %__first1.addr.024.i38.i, align 4 - %cmp.i.i.i.i43.i = icmp slt i32 %__first1.addr.0.val.i42.i, %__first2.addr.0.val.i41.i - %.sink.in.i44.i = select i1 %cmp.i.i.i.i43.i, ptr %__first2.addr.023.i39.i, ptr %__first1.addr.024.i38.i - %__first2.addr.1.idx.i45.i = zext i1 %cmp.i.i.i.i43.i to i64 - %__first2.addr.1.i46.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.addr.023.i39.i, i64 %__first2.addr.1.idx.i45.i - %not.cmp.i.i.i.i47.i = xor i1 %cmp.i.i.i.i43.i, true - %__first1.addr.1.idx.i48.i = zext i1 %not.cmp.i.i.i.i47.i to i64 - %__first1.addr.1.i49.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.addr.024.i38.i, i64 %__first1.addr.1.idx.i48.i - %.sink.i50.i = load i64, ptr %.sink.in.i44.i, align 4 - store i64 %.sink.i50.i, ptr %__result.sroa.0.022.i40.i, align 4 - %incdec.ptr.i.i51.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.022.i40.i, i64 1 - %cmp.i52.i = icmp ne ptr %__first1.addr.1.i49.i, %add.ptr13.i - %cmp1.i53.i = icmp ne ptr %__first2.addr.1.i46.i, %add.ptr - %6 = select i1 %cmp.i52.i, i1 %cmp1.i53.i, i1 false - br i1 %6, label %while.body.i37.i, label %while.end.i18.i, !llvm.loop !1694 - -while.end.i18.i: ; preds = %while.body.i37.i, %while.end.i43 - %__result.sroa.0.0.lcssa.i19.i = phi ptr [ %__result.sroa.0.0.lcssa.i, %while.end.i43 ], [ %incdec.ptr.i.i51.i, %while.body.i37.i ] - %__first2.addr.0.lcssa.i20.i = phi ptr [ %add.ptr13.i, %while.end.i43 ], [ %__first2.addr.1.i46.i, %while.body.i37.i ] - %__first1.addr.0.lcssa.i21.i = phi ptr [ %__first.addr.0.lcssa.i, %while.end.i43 ], [ %__first1.addr.1.i49.i, %while.body.i37.i ] + %__result.sroa.0.0.lcssa.i = phi ptr [ %__first.coerce, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ], [ %add.ptr.i.i.i.i.i17.i.i, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] + %sub.ptr.div.lcssa.i = phi i64 [ %sub.ptr.div.i, %"_ZSt17__merge_sort_loopIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" ], [ %sub.ptr.div.i39, %"_ZSt12__move_mergeIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEENS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET0_T_SF_SF_SF_SE_T1_.exit.i" ] + %.sroa.speculated.i42 = tail call i64 @llvm.smin.i64(i64 %sub.ptr.div.lcssa.i, i64 %mul.i) + %add.ptr13.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.addr.0.lcssa.i, i64 %.sroa.speculated.i42 + %cmp19.i16.i = icmp ne i64 %.sroa.speculated.i42, 0 + %cmp120.i17.i = icmp ne ptr %add.ptr13.i, %add.ptr + %5 = and i1 %cmp19.i16.i, %cmp120.i17.i + br i1 %5, label %while.body.i35.i, label %while.end.i18.i + +while.body.i35.i: ; preds = %while.end.i41, %while.body.i35.i + %__first1.addr.023.i36.i = phi ptr [ %__first1.addr.1.i47.i, %while.body.i35.i ], [ %__first.addr.0.lcssa.i, %while.end.i41 ] + %__first2.addr.022.i37.i = phi ptr [ %__first2.addr.1.i44.i, %while.body.i35.i ], [ %add.ptr13.i, %while.end.i41 ] + %__result.sroa.0.021.i38.i = phi ptr [ %incdec.ptr.i.i49.i, %while.body.i35.i ], [ %__result.sroa.0.0.lcssa.i, %while.end.i41 ] + %__first2.addr.0.val.i39.i = load i32, ptr %__first2.addr.022.i37.i, align 4 + %__first1.addr.0.val.i40.i = load i32, ptr %__first1.addr.023.i36.i, align 4 + %cmp.i.i.i.i41.i = icmp slt i32 %__first1.addr.0.val.i40.i, %__first2.addr.0.val.i39.i + %.sink.in.i42.i = select i1 %cmp.i.i.i.i41.i, ptr %__first2.addr.022.i37.i, ptr %__first1.addr.023.i36.i + %__first2.addr.1.idx.i43.i = zext i1 %cmp.i.i.i.i41.i to i64 + %__first2.addr.1.i44.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first2.addr.022.i37.i, i64 %__first2.addr.1.idx.i43.i + %not.cmp.i.i.i.i45.i = xor i1 %cmp.i.i.i.i41.i, true + %__first1.addr.1.idx.i46.i = zext i1 %not.cmp.i.i.i.i45.i to i64 + %__first1.addr.1.i47.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first1.addr.023.i36.i, i64 %__first1.addr.1.idx.i46.i + %.sink.i48.i = load i64, ptr %.sink.in.i42.i, align 4 + store i64 %.sink.i48.i, ptr %__result.sroa.0.021.i38.i, align 4 + %incdec.ptr.i.i49.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.021.i38.i, i64 1 + %cmp.i50.i = icmp ne ptr %__first1.addr.1.i47.i, %add.ptr13.i + %cmp1.i51.i = icmp ne ptr %__first2.addr.1.i44.i, %add.ptr + %6 = select i1 %cmp.i50.i, i1 %cmp1.i51.i, i1 false + br i1 %6, label %while.body.i35.i, label %while.end.i18.i, !llvm.loop !1694 + +while.end.i18.i: ; preds = %while.body.i35.i, %while.end.i41 + %__result.sroa.0.0.lcssa.i19.i = phi ptr [ %__result.sroa.0.0.lcssa.i, %while.end.i41 ], [ %incdec.ptr.i.i49.i, %while.body.i35.i ] + %__first2.addr.0.lcssa.i20.i = phi ptr [ %add.ptr13.i, %while.end.i41 ], [ %__first2.addr.1.i44.i, %while.body.i35.i ] + %__first1.addr.0.lcssa.i21.i = phi ptr [ %__first.addr.0.lcssa.i, %while.end.i41 ], [ %__first1.addr.1.i47.i, %while.body.i35.i ] %sub.ptr.lhs.cast.i.i.i.i.i.i22.i = ptrtoint ptr %add.ptr13.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i23.i = ptrtoint ptr %__first1.addr.0.lcssa.i21.i to i64 %sub.ptr.sub.i.i.i.i.i.i24.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i22.i, %sub.ptr.rhs.cast.i.i.i.i.i.i23.i @@ -64709,19 +64723,18 @@ if.then.i.i.i.i.i.i26.i: ; preds = %while.end.i18.i br label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i27.i _ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i27.i: ; preds = %if.then.i.i.i.i.i.i26.i, %while.end.i18.i - %tobool.not.i.i.i.i.i15.i33.i = icmp eq ptr %__first2.addr.0.lcssa.i20.i, %add.ptr - br i1 %tobool.not.i.i.i.i.i15.i33.i, label %"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit", label %if.then.i.i.i.i.i16.i34.i - -if.then.i.i.i.i.i16.i34.i: ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i27.i - %sub.ptr.rhs.cast.i.i.i.i.i13.i31.i = ptrtoint ptr %__first2.addr.0.lcssa.i20.i to i64 - %sub.ptr.sub.i.i.i.i.i14.i32.i = sub i64 %sub.ptr.lhs.cast.i24, %sub.ptr.rhs.cast.i.i.i.i.i13.i31.i - %sub.ptr.div.i.i.i.i.i.i28.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i24.i, 3 - %add.ptr.i.i.i.i.i.i29.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.0.lcssa.i19.i, i64 %sub.ptr.div.i.i.i.i.i.i28.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i29.i, ptr align 4 %__first2.addr.0.lcssa.i20.i, i64 %sub.ptr.sub.i.i.i.i.i14.i32.i, i1 false) + %tobool.not.i.i.i.i.i15.i32.i = icmp eq ptr %__first2.addr.0.lcssa.i20.i, %add.ptr + br i1 %tobool.not.i.i.i.i.i15.i32.i, label %"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit", label %if.then.i.i.i.i.i16.i33.i + +if.then.i.i.i.i.i16.i33.i: ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i27.i + %sub.ptr.rhs.cast.i.i.i.i.i13.i30.i = ptrtoint ptr %__first2.addr.0.lcssa.i20.i to i64 + %sub.ptr.sub.i.i.i.i.i14.i31.i = sub i64 %sub.ptr.lhs.cast.i23, %sub.ptr.rhs.cast.i.i.i.i.i13.i30.i + %add.ptr.i.i.i.i.i.i28.i = getelementptr inbounds i8, ptr %__result.sroa.0.0.lcssa.i19.i, i64 %sub.ptr.sub.i.i.i.i.i.i24.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i28.i, ptr align 4 %__first2.addr.0.lcssa.i20.i, i64 %sub.ptr.sub.i.i.i.i.i14.i31.i, i1 false) br label %"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit" -"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit": ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i27.i, %if.then.i.i.i.i.i16.i34.i - %cmp = icmp slt i64 %mul.i23, %sub.ptr.div.i +"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit": ; preds = %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i27.i, %if.then.i.i.i.i.i16.i33.i + %cmp = icmp slt i64 %mul.i22, %sub.ptr.div.i br i1 %cmp, label %while.body, label %while.end, !llvm.loop !1696 while.end: ; preds = %"_ZSt17__merge_sort_loopIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEElNS3_5__ops15_Iter_comp_iterIZNS0_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_T2_.exit", %"_ZSt22__chunk_insertion_sortIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_T0_T1_.exit" @@ -64731,10 +64744,10 @@ while.end: ; preds = %"_ZSt17__merge_sort ; Function Attrs: mustprogress nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable define internal fastcc void @"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElS4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_SE_T0_SF_T1_SF_T2_"(ptr %__first.coerce, ptr %__middle.coerce, ptr %__last.coerce, i64 noundef %__len1, i64 noundef %__len2, ptr noundef %__buffer, i64 noundef %__buffer_size) unnamed_addr #19 { entry: - %cmp.not108 = icmp sgt i64 %__len1, %__len2 - %cmp3.not109 = icmp sgt i64 %__len1, %__buffer_size - %or.cond110 = or i1 %cmp3.not109, %cmp.not108 - br i1 %or.cond110, label %if.else.lr.ph, label %if.then + %cmp.not107 = icmp sgt i64 %__len1, %__len2 + %cmp3.not108 = icmp sgt i64 %__len1, %__buffer_size + %or.cond109 = or i1 %cmp3.not108, %cmp.not107 + br i1 %or.cond109, label %if.else.lr.ph, label %if.then if.else.lr.ph: ; preds = %entry %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %__last.coerce to i64 @@ -64751,8 +64764,7 @@ land.rhs.i.preheader: ; preds = %if.then %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %__first.coerce.tr.lcssa to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first.coerce.tr.lcssa, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__buffer, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i.i.i.i.i br label %land.rhs.i land.rhs.i: ; preds = %land.rhs.i.preheader, %while.body.i @@ -64786,58 +64798,58 @@ _ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS br label %if.end89 if.else: ; preds = %if.else.lr.ph, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit - %cmp.not117 = phi i1 [ %cmp.not108, %if.else.lr.ph ], [ %cmp.not, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %__len2.tr116 = phi i64 [ %__len2, %if.else.lr.ph ], [ %sub83, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %__len1.tr115 = phi i64 [ %__len1, %if.else.lr.ph ], [ %sub, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %__middle.coerce.tr113 = phi ptr [ %__middle.coerce, %if.else.lr.ph ], [ %__second_cut.sroa.0.0, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %__first.coerce.tr111 = phi ptr [ %__first.coerce, %if.else.lr.ph ], [ %retval.sroa.0.0.i, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] - %cmp14.not = icmp sgt i64 %__len2.tr116, %__buffer_size - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %__middle.coerce.tr113 to i64 + %cmp.not116 = phi i1 [ %cmp.not107, %if.else.lr.ph ], [ %cmp.not, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %__len2.tr115 = phi i64 [ %__len2, %if.else.lr.ph ], [ %sub83, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %__len1.tr114 = phi i64 [ %__len1, %if.else.lr.ph ], [ %sub, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %__middle.coerce.tr112 = phi ptr [ %__middle.coerce, %if.else.lr.ph ], [ %__second_cut.sroa.0.0, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %__first.coerce.tr110 = phi ptr [ %__first.coerce, %if.else.lr.ph ], [ %retval.sroa.0.0.i, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit ] + %cmp14.not = icmp sgt i64 %__len2.tr115, %__buffer_size + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %__middle.coerce.tr112 to i64 br i1 %cmp14.not, label %if.else29, label %if.then15 if.then15: ; preds = %if.else %sub.ptr.sub.i.i.i.i.i33 = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i - %tobool.not.i.i.i.i.i34 = icmp eq ptr %__middle.coerce.tr113, %__last.coerce - br i1 %tobool.not.i.i.i.i.i34, label %if.end89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit38.thread + %tobool.not.i.i.i.i.i34 = icmp eq ptr %__middle.coerce.tr112, %__last.coerce + br i1 %tobool.not.i.i.i.i.i34, label %if.end89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit37.thread -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit38.thread: ; preds = %if.then15 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr113, i64 %sub.ptr.sub.i.i.i.i.i33, i1 false) - %sub.ptr.div.i.i.i.i.i36129 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i33, 3 - %cmp.i.i131 = icmp eq ptr %__first.coerce.tr111, %__middle.coerce.tr113 - br i1 %cmp.i.i131, label %if.then.i.i.i.i.i.i, label %if.end7.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit37.thread: ; preds = %if.then15 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr112, i64 %sub.ptr.sub.i.i.i.i.i33, i1 false) + %cmp.i.i128 = icmp eq ptr %__first.coerce.tr110, %__middle.coerce.tr112 + br i1 %cmp.i.i128, label %if.then.i.i.i.i.i.i, label %if.end7.i -if.then.i.i.i.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit38.thread - %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i36129 +if.then.i.i.i.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit37.thread + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i33, 3 + %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__last.coerce, i64 %.pre.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i33, i1 false) br label %if.end89 -if.end7.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit38.thread - %add.ptr.i.i.i.i.i37130 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__buffer, i64 %sub.ptr.div.i.i.i.i.i36129 - %incdec.ptr.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i.i.i.i.i37130, i64 -1 - br label %while.body.i39.outer +if.end7.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit37.thread + %add.ptr.i.i.i.i.i36127 = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i.i.i.i.i33 + %incdec.ptr.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %add.ptr.i.i.i.i.i36127, i64 -1 + br label %while.body.i38.outer -while.body.i39.outer: ; preds = %if.then12.i, %if.end7.i - %__last1.sroa.0.0.i.ph.pn = phi ptr [ %__middle.coerce.tr113, %if.end7.i ], [ %__last1.sroa.0.0.i.ph, %if.then12.i ] +while.body.i38.outer: ; preds = %if.then12.i, %if.end7.i + %__last1.sroa.0.0.i.ph.pn = phi ptr [ %__middle.coerce.tr112, %if.end7.i ], [ %__last1.sroa.0.0.i.ph, %if.then12.i ] %__result.sroa.0.0.i.ph = phi ptr [ %__last.coerce, %if.end7.i ], [ %incdec.ptr.i14.i, %if.then12.i ] %__last2.addr.0.i.ph = phi ptr [ %incdec.ptr.i, %if.end7.i ], [ %__last2.addr.0.i, %if.then12.i ] %__last1.sroa.0.0.i.ph = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__last1.sroa.0.0.i.ph.pn, i64 -1 - br label %while.body.i39 + br label %while.body.i38 -while.body.i39: ; preds = %while.body.i39.outer, %if.end31.i - %__result.sroa.0.0.i = phi ptr [ %incdec.ptr.i14.i, %if.end31.i ], [ %__result.sroa.0.0.i.ph, %while.body.i39.outer ] - %__last2.addr.0.i = phi ptr [ %incdec.ptr32.i, %if.end31.i ], [ %__last2.addr.0.i.ph, %while.body.i39.outer ] +while.body.i38: ; preds = %while.body.i38.outer, %if.end31.i + %__result.sroa.0.0.i = phi ptr [ %incdec.ptr.i14.i, %if.end31.i ], [ %__result.sroa.0.0.i.ph, %while.body.i38.outer ] + %__last2.addr.0.i = phi ptr [ %incdec.ptr32.i, %if.end31.i ], [ %__last2.addr.0.i.ph, %while.body.i38.outer ] %__last2.addr.0.val.i = load i32, ptr %__last2.addr.0.i, align 4 - %call.val.i.i40 = load i32, ptr %__last1.sroa.0.0.i.ph, align 4 - %cmp.i.i.i.i41 = icmp slt i32 %call.val.i.i40, %__last2.addr.0.val.i + %call.val.i.i39 = load i32, ptr %__last1.sroa.0.0.i.ph, align 4 + %cmp.i.i.i.i40 = icmp slt i32 %call.val.i.i39, %__last2.addr.0.val.i %incdec.ptr.i14.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__result.sroa.0.0.i, i64 -1 - br i1 %cmp.i.i.i.i41, label %if.then12.i, label %if.else26.i + br i1 %cmp.i.i.i.i40, label %if.then12.i, label %if.else26.i -if.then12.i: ; preds = %while.body.i39 +if.then12.i: ; preds = %while.body.i38 %0 = load i64, ptr %__last1.sroa.0.0.i.ph, align 4 store i64 %0, ptr %incdec.ptr.i14.i, align 4 - %cmp.i15.i = icmp eq ptr %__last1.sroa.0.0.i.ph, %__first.coerce.tr111 - br i1 %cmp.i15.i, label %if.then17.i, label %while.body.i39.outer, !llvm.loop !1698 + %cmp.i15.i = icmp eq ptr %__last1.sroa.0.0.i.ph, %__first.coerce.tr110 + br i1 %cmp.i15.i, label %if.then17.i, label %while.body.i38.outer, !llvm.loop !1698 if.then17.i: ; preds = %if.then12.i %incdec.ptr18.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__last2.addr.0.i, i64 1 @@ -64854,7 +64866,7 @@ if.then.i.i.i.i.i22.i: ; preds = %if.then17.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i23.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i18.i, i1 false) br label %if.end89 -if.else26.i: ; preds = %while.body.i39 +if.else26.i: ; preds = %while.body.i38 %1 = load i64, ptr %__last2.addr.0.i, align 4 store i64 %1, ptr %incdec.ptr.i14.i, align 4 %cmp29.i = icmp eq ptr %__last2.addr.0.i, %__buffer @@ -64862,131 +64874,130 @@ if.else26.i: ; preds = %while.body.i39 if.end31.i: ; preds = %if.else26.i %incdec.ptr32.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__last2.addr.0.i, i64 -1 - br label %while.body.i39, !llvm.loop !1698 + br label %while.body.i38, !llvm.loop !1698 if.else29: ; preds = %if.else - br i1 %cmp.not117, label %if.then31, label %if.else46 + br i1 %cmp.not116, label %if.then31, label %if.else46 if.then31: ; preds = %if.else29 - %div = sdiv i64 %__len1.tr115, 2 - %incdec.ptr.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.coerce.tr111, i64 %div + %div = sdiv i64 %__len1.tr114, 2 + %incdec.ptr.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.coerce.tr110, i64 %div %call34.val = load i32, ptr %incdec.ptr.i.i.i, align 4 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %sub.ptr.div.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 3 %cmp2.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp2.i, label %while.body.i46, label %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" + br i1 %cmp2.i, label %while.body.i45, label %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" -while.body.i46: ; preds = %if.then31, %while.body.i46 - %__len.04.i = phi i64 [ %__len.1.i, %while.body.i46 ], [ %sub.ptr.div.i.i.i.i, %if.then31 ] - %__first.sroa.0.03.i = phi ptr [ %__first.sroa.0.1.i, %while.body.i46 ], [ %__middle.coerce.tr113, %if.then31 ] +while.body.i45: ; preds = %if.then31, %while.body.i45 + %__len.04.i = phi i64 [ %__len.1.i, %while.body.i45 ], [ %sub.ptr.div.i.i.i.i, %if.then31 ] + %__first.sroa.0.03.i = phi ptr [ %__first.sroa.0.1.i, %while.body.i45 ], [ %__middle.coerce.tr112, %if.then31 ] %shr.i = lshr i64 %__len.04.i, 1 %incdec.ptr.i8.sink.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.03.i, i64 %shr.i - %call.val.i.i47 = load i32, ptr %incdec.ptr.i8.sink.i.i.i, align 4 - %cmp.i.i.i.i48 = icmp sgt i32 %call.val.i.i47, %call34.val - %incdec.ptr.i.i49 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i8.sink.i.i.i, i64 1 + %call.val.i.i46 = load i32, ptr %incdec.ptr.i8.sink.i.i.i, align 4 + %cmp.i.i.i.i47 = icmp sgt i32 %call.val.i.i46, %call34.val + %incdec.ptr.i.i48 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i8.sink.i.i.i, i64 1 %2 = xor i64 %shr.i, -1 %sub9.i = add nsw i64 %__len.04.i, %2 - %__first.sroa.0.1.i = select i1 %cmp.i.i.i.i48, ptr %incdec.ptr.i.i49, ptr %__first.sroa.0.03.i - %__len.1.i = select i1 %cmp.i.i.i.i48, i64 %sub9.i, i64 %shr.i - %cmp.i50 = icmp sgt i64 %__len.1.i, 0 - br i1 %cmp.i50, label %while.body.i46, label %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit", !llvm.loop !1689 + %__first.sroa.0.1.i = select i1 %cmp.i.i.i.i47, ptr %incdec.ptr.i.i48, ptr %__first.sroa.0.03.i + %__len.1.i = select i1 %cmp.i.i.i.i47, i64 %sub9.i, i64 %shr.i + %cmp.i49 = icmp sgt i64 %__len.1.i, 0 + br i1 %cmp.i49, label %while.body.i45, label %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit", !llvm.loop !1689 -"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit": ; preds = %while.body.i46 +"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit": ; preds = %while.body.i45 %.pre = ptrtoint ptr %__first.sroa.0.1.i to i64 br label %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" "_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit": ; preds = %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit", %if.then31 %sub.ptr.lhs.cast.i.i.i.pre-phi = phi i64 [ %.pre, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit" ], [ %sub.ptr.rhs.cast.i.i.i.i, %if.then31 ] - %__first.sroa.0.0.lcssa.i = phi ptr [ %__first.sroa.0.1.i, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit" ], [ %__middle.coerce.tr113, %if.then31 ] + %__first.sroa.0.0.lcssa.i = phi ptr [ %__first.sroa.0.1.i, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit" ], [ %__middle.coerce.tr112, %if.then31 ] %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.pre-phi, %sub.ptr.rhs.cast.i.i.i.i %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 3 br label %if.end if.else46: ; preds = %if.else29 - %div47 = sdiv i64 %__len2.tr116, 2 - %incdec.ptr.i.i.i62 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__middle.coerce.tr113, i64 %div47 - %call51.val = load i32, ptr %incdec.ptr.i.i.i62, align 4 - %sub.ptr.rhs.cast.i.i.i.i65 = ptrtoint ptr %__first.coerce.tr111 to i64 - %sub.ptr.sub.i.i.i.i66 = sub i64 %sub.ptr.rhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i65 - %sub.ptr.div.i.i.i.i67 = ashr exact i64 %sub.ptr.sub.i.i.i.i66, 3 - %cmp2.i68 = icmp sgt i64 %sub.ptr.div.i.i.i.i67, 0 - br i1 %cmp2.i68, label %while.body.i70, label %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" - -while.body.i70: ; preds = %if.else46, %while.body.i70 - %__len.04.i71 = phi i64 [ %__len.1.i83, %while.body.i70 ], [ %sub.ptr.div.i.i.i.i67, %if.else46 ] - %__first.sroa.0.03.i72 = phi ptr [ %__first.sroa.0.1.i82, %while.body.i70 ], [ %__first.coerce.tr111, %if.else46 ] - %shr.i73 = lshr i64 %__len.04.i71, 1 - %incdec.ptr.i8.sink.i.i.i77 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.03.i72, i64 %shr.i73 - %call.val.i.i78 = load i32, ptr %incdec.ptr.i8.sink.i.i.i77, align 4 - %cmp.i.i.i.i79 = icmp slt i32 %call.val.i.i78, %call51.val - %incdec.ptr.i.i80 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i8.sink.i.i.i77, i64 1 - %3 = xor i64 %shr.i73, -1 - %sub9.i81 = add nsw i64 %__len.04.i71, %3 - %__first.sroa.0.1.i82 = select i1 %cmp.i.i.i.i79, ptr %__first.sroa.0.03.i72, ptr %incdec.ptr.i.i80 - %__len.1.i83 = select i1 %cmp.i.i.i.i79, i64 %shr.i73, i64 %sub9.i81 - %cmp.i84 = icmp sgt i64 %__len.1.i83, 0 - br i1 %cmp.i84, label %while.body.i70, label %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit", !llvm.loop !1690 - -"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit": ; preds = %while.body.i70 - %.pre126 = ptrtoint ptr %__first.sroa.0.1.i82 to i64 + %div47 = sdiv i64 %__len2.tr115, 2 + %incdec.ptr.i.i.i61 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__middle.coerce.tr112, i64 %div47 + %call51.val = load i32, ptr %incdec.ptr.i.i.i61, align 4 + %sub.ptr.rhs.cast.i.i.i.i64 = ptrtoint ptr %__first.coerce.tr110 to i64 + %sub.ptr.sub.i.i.i.i65 = sub i64 %sub.ptr.rhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i64 + %sub.ptr.div.i.i.i.i66 = ashr exact i64 %sub.ptr.sub.i.i.i.i65, 3 + %cmp2.i67 = icmp sgt i64 %sub.ptr.div.i.i.i.i66, 0 + br i1 %cmp2.i67, label %while.body.i69, label %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" + +while.body.i69: ; preds = %if.else46, %while.body.i69 + %__len.04.i70 = phi i64 [ %__len.1.i82, %while.body.i69 ], [ %sub.ptr.div.i.i.i.i66, %if.else46 ] + %__first.sroa.0.03.i71 = phi ptr [ %__first.sroa.0.1.i81, %while.body.i69 ], [ %__first.coerce.tr110, %if.else46 ] + %shr.i72 = lshr i64 %__len.04.i70, 1 + %incdec.ptr.i8.sink.i.i.i76 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first.sroa.0.03.i71, i64 %shr.i72 + %call.val.i.i77 = load i32, ptr %incdec.ptr.i8.sink.i.i.i76, align 4 + %cmp.i.i.i.i78 = icmp slt i32 %call.val.i.i77, %call51.val + %incdec.ptr.i.i79 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %incdec.ptr.i8.sink.i.i.i76, i64 1 + %3 = xor i64 %shr.i72, -1 + %sub9.i80 = add nsw i64 %__len.04.i70, %3 + %__first.sroa.0.1.i81 = select i1 %cmp.i.i.i.i78, ptr %__first.sroa.0.03.i71, ptr %incdec.ptr.i.i79 + %__len.1.i82 = select i1 %cmp.i.i.i.i78, i64 %shr.i72, i64 %sub9.i80 + %cmp.i83 = icmp sgt i64 %__len.1.i82, 0 + br i1 %cmp.i83, label %while.body.i69, label %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit", !llvm.loop !1690 + +"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit": ; preds = %while.body.i69 + %.pre125 = ptrtoint ptr %__first.sroa.0.1.i81 to i64 br label %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" "_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit": ; preds = %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit", %if.else46 - %sub.ptr.lhs.cast.i.i.i85.pre-phi = phi i64 [ %.pre126, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit" ], [ %sub.ptr.rhs.cast.i.i.i.i65, %if.else46 ] - %__first.sroa.0.0.lcssa.i69 = phi ptr [ %__first.sroa.0.1.i82, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit" ], [ %__first.coerce.tr111, %if.else46 ] - %sub.ptr.sub.i.i.i87 = sub i64 %sub.ptr.lhs.cast.i.i.i85.pre-phi, %sub.ptr.rhs.cast.i.i.i.i65 - %sub.ptr.div.i.i.i88 = ashr exact i64 %sub.ptr.sub.i.i.i87, 3 + %sub.ptr.lhs.cast.i.i.i84.pre-phi = phi i64 [ %.pre125, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit" ], [ %sub.ptr.rhs.cast.i.i.i.i64, %if.else46 ] + %__first.sroa.0.0.lcssa.i68 = phi ptr [ %__first.sroa.0.1.i81, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit.loopexit" ], [ %__first.coerce.tr110, %if.else46 ] + %sub.ptr.sub.i.i.i86 = sub i64 %sub.ptr.lhs.cast.i.i.i84.pre-phi, %sub.ptr.rhs.cast.i.i.i.i64 + %sub.ptr.div.i.i.i87 = ashr exact i64 %sub.ptr.sub.i.i.i86, 3 br label %if.end if.end: ; preds = %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit", %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" - %__first_cut.sroa.0.0 = phi ptr [ %incdec.ptr.i.i.i, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ], [ %__first.sroa.0.0.lcssa.i69, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ] - %__second_cut.sroa.0.0 = phi ptr [ %__first.sroa.0.0.lcssa.i, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ], [ %incdec.ptr.i.i.i62, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ] + %__first_cut.sroa.0.0 = phi ptr [ %incdec.ptr.i.i.i, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ], [ %__first.sroa.0.0.lcssa.i68, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ] + %__second_cut.sroa.0.0 = phi ptr [ %__first.sroa.0.0.lcssa.i, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ], [ %incdec.ptr.i.i.i61, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ] %__len22.0 = phi i64 [ %sub.ptr.div.i.i.i, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ], [ %div47, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ] - %__len11.0 = phi i64 [ %div, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ], [ %sub.ptr.div.i.i.i88, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ] - %sub = sub nsw i64 %__len1.tr115, %__len11.0 - %cmp.i89 = icmp sle i64 %sub, %__len22.0 + %__len11.0 = phi i64 [ %div, %"_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Iter_comp_valIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ], [ %sub.ptr.div.i.i.i87, %"_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES3_NS0_5__ops14_Val_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEET_SE_SE_RKT0_T1_.exit" ] + %sub = sub nsw i64 %__len1.tr114, %__len11.0 + %cmp.i88 = icmp sle i64 %sub, %__len22.0 %cmp3.not.i = icmp sgt i64 %__len22.0, %__buffer_size - %or.cond.i = or i1 %cmp3.not.i, %cmp.i89 - br i1 %or.cond.i, label %if.else20.i, label %if.then.i90 + %or.cond.i = or i1 %cmp3.not.i, %cmp.i88 + br i1 %or.cond.i, label %if.else20.i, label %if.then.i89 -if.then.i90: ; preds = %if.end +if.then.i89: ; preds = %if.end %tobool.not.i = icmp eq i64 %__len22.0, 0 br i1 %tobool.not.i, label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit, label %if.then4.i -if.then4.i: ; preds = %if.then.i90 - %sub.ptr.lhs.cast.i.i.i.i.i.i91 = ptrtoint ptr %__second_cut.sroa.0.0 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i92 = ptrtoint ptr %__middle.coerce.tr113 to i64 - %sub.ptr.sub.i.i.i.i.i.i93 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i91, %sub.ptr.rhs.cast.i.i.i.i.i.i92 - %tobool.not.i.i.i.i.i.i94 = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr113 - br i1 %tobool.not.i.i.i.i.i.i94, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i.i95 +if.then4.i: ; preds = %if.then.i89 + %sub.ptr.lhs.cast.i.i.i.i.i.i90 = ptrtoint ptr %__second_cut.sroa.0.0 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i91 = ptrtoint ptr %__middle.coerce.tr112 to i64 + %sub.ptr.sub.i.i.i.i.i.i92 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i90, %sub.ptr.rhs.cast.i.i.i.i.i.i91 + %tobool.not.i.i.i.i.i.i93 = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr112 + br i1 %tobool.not.i.i.i.i.i.i93, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i.i94 -if.then.i.i.i.i.i.i95: ; preds = %if.then4.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr113, i64 %sub.ptr.sub.i.i.i.i.i.i93, i1 false) +if.then.i.i.i.i.i.i94: ; preds = %if.then4.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr112, i64 %sub.ptr.sub.i.i.i.i.i.i92, i1 false) br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i.i95, %if.then4.i - %tobool.not.i.i.i.i.i14.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr113 - br i1 %tobool.not.i.i.i.i.i14.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i15.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i.i94, %if.then4.i + %tobool.not.i.i.i.i.i13.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr112 + br i1 %tobool.not.i.i.i.i.i13.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i14.i -if.then.i.i.i.i.i15.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i +if.then.i.i.i.i.i14.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i %sub.ptr.rhs.cast.i.i.i.i.i11.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i12.i = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i92, %sub.ptr.rhs.cast.i.i.i.i.i11.i - %sub.ptr.div.i.i.i.i.i13.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i12.i, 3 - %.pre.i.i.i.i.i.i96 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i13.i - %add.ptr.i.i.i.i.i16.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i.i96 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i16.i, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i12.i, i1 false) + %sub.ptr.sub.i.i.i.i.i12.i = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i91, %sub.ptr.rhs.cast.i.i.i.i.i11.i + %sub.ptr.div.i.i.i.i.i.i95 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i12.i, 3 + %.pre.i.i.i.i.i.i96 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i95 + %add.ptr.i.i.i.i.i15.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i.i96 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i15.i, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i12.i, i1 false) br label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i -_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i15.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i - br i1 %tobool.not.i.i.i.i.i.i94, label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97, label %if.then.i.i.i.i.i21.i +_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i14.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit.i + br i1 %tobool.not.i.i.i.i.i.i93, label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97, label %if.then.i.i.i.i.i20.i -if.then.i.i.i.i.i21.i: ; preds = %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i.i93, i1 false) +if.then.i.i.i.i.i20.i: ; preds = %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i.i92, i1 false) br label %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97 -_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97: ; preds = %if.then.i.i.i.i.i21.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i - %sub.ptr.div.i.i.i.i.i22.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i93, 3 - %add.ptr.i.i.i.i.i23.i98 = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__first_cut.sroa.0.0, i64 %sub.ptr.div.i.i.i.i.i22.i +_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97: ; preds = %if.then.i.i.i.i.i20.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i + %add.ptr.i.i.i.i.i21.i = getelementptr inbounds i8, ptr %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i.i92 br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit if.else20.i: ; preds = %if.end @@ -64994,52 +65005,52 @@ if.else20.i: ; preds = %if.end br i1 %cmp21.not.i, label %if.else44.i, label %if.then22.i if.then22.i: ; preds = %if.else20.i - %tobool23.not.i = icmp eq i64 %__len11.0, %__len1.tr115 + %tobool23.not.i = icmp eq i64 %__len11.0, %__len1.tr114 br i1 %tobool23.not.i, label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit, label %if.then24.i if.then24.i: ; preds = %if.then22.i - %sub.ptr.lhs.cast.i.i.i.i.i24.i = ptrtoint ptr %__middle.coerce.tr113 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i25.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i26.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24.i, %sub.ptr.rhs.cast.i.i.i.i.i25.i - %tobool.not.i.i.i.i.i27.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr113 - br i1 %tobool.not.i.i.i.i.i27.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i, label %if.then.i.i.i.i.i28.i - -if.then.i.i.i.i.i28.i: ; preds = %if.then24.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i26.i, i1 false) - br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i - -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i: ; preds = %if.then.i.i.i.i.i28.i, %if.then24.i - %tobool.not.i.i.i.i.i35.i = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr113 - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i36.i - -if.then.i.i.i.i.i36.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i - %sub.ptr.lhs.cast.i.i.i.i.i32.i = ptrtoint ptr %__second_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i34.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i32.i, %sub.ptr.lhs.cast.i.i.i.i.i24.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__middle.coerce.tr113, i64 %sub.ptr.sub.i.i.i.i.i34.i, i1 false) + %sub.ptr.lhs.cast.i.i.i.i.i22.i = ptrtoint ptr %__middle.coerce.tr112 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i23.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 + %sub.ptr.sub.i.i.i.i.i24.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i22.i, %sub.ptr.rhs.cast.i.i.i.i.i23.i + %tobool.not.i.i.i.i.i25.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr112 + br i1 %tobool.not.i.i.i.i.i25.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i, label %if.then.i.i.i.i.i26.i + +if.then.i.i.i.i.i26.i: ; preds = %if.then24.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i24.i, i1 false) + br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i + +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i: ; preds = %if.then.i.i.i.i.i26.i, %if.then24.i + %tobool.not.i.i.i.i.i32.i = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr112 + br i1 %tobool.not.i.i.i.i.i32.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i33.i + +if.then.i.i.i.i.i33.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i + %sub.ptr.lhs.cast.i.i.i.i.i29.i = ptrtoint ptr %__second_cut.sroa.0.0 to i64 + %sub.ptr.sub.i.i.i.i.i31.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i29.i, %sub.ptr.lhs.cast.i.i.i.i.i22.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__middle.coerce.tr112, i64 %sub.ptr.sub.i.i.i.i.i31.i, i1 false) br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i36.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit31.i - %sub.ptr.div.i.i.i.i.i42.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i26.i, 3 - %.pre.i.i.i.i.i44.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i42.i - br i1 %tobool.not.i.i.i.i.i27.i, label %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i45.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i33.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_ET0_T_SA_S9_.exit28.i + %sub.ptr.div.i.i.i.i.i38.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i24.i, 3 + %.pre.i.i.i.i.i40.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i38.i + br i1 %tobool.not.i.i.i.i.i25.i, label %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i41.i -if.then.i.i.i.i.i45.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i - %add.ptr.i.i.i.i.i46.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i44.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i46.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i26.i, i1 false) +if.then.i.i.i.i.i41.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i + %add.ptr.i.i.i.i.i42.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i40.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i42.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i24.i, i1 false) br label %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i -_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i45.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i - %add.ptr2.i.i.i.i.i47.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i44.i +_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i41.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_.exit.i + %add.ptr2.i.i.i.i.i43.i = getelementptr inbounds %"struct.(anonymous namespace)::Element", ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i40.i br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit if.else44.i: ; preds = %if.else20.i - %call51.i = tail call fastcc ptr @_ZNSt3_V26rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_(ptr %__first_cut.sroa.0.0, ptr %__middle.coerce.tr113, ptr %__second_cut.sroa.0.0) + %call51.i = tail call fastcc ptr @_ZNSt3_V26rotateIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS4_SaIS4_EEEEEET_SA_SA_SA_(ptr %__first_cut.sroa.0.0, ptr %__middle.coerce.tr112, ptr %__second_cut.sroa.0.0) br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit -_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit: ; preds = %if.then.i90, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97, %if.then22.i, %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i, %if.else44.i - %retval.sroa.0.0.i = phi ptr [ %add.ptr.i.i.i.i.i23.i98, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97 ], [ %add.ptr2.i.i.i.i.i47.i, %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i ], [ %call51.i, %if.else44.i ], [ %__first_cut.sroa.0.0, %if.then.i90 ], [ %__second_cut.sroa.0.0, %if.then22.i ] - tail call fastcc void @"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElS4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_SE_T0_SF_T1_SF_T2_"(ptr %__first.coerce.tr111, ptr %__first_cut.sroa.0.0, ptr %retval.sroa.0.0.i, i64 noundef %__len11.0, i64 noundef %__len22.0, ptr noundef %__buffer, i64 noundef %__buffer_size) - %sub83 = sub nsw i64 %__len2.tr116, %__len22.0 +_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEES4_lET_S9_S9_S9_T1_SA_T0_SA_.exit: ; preds = %if.then.i89, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97, %if.then22.i, %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i, %if.else44.i + %retval.sroa.0.0.i = phi ptr [ %add.ptr.i.i.i.i.i21.i, %_ZSt4moveIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i97 ], [ %add.ptr2.i.i.i.i.i43.i, %_ZSt13move_backwardIPN12_GLOBAL__N_17ElementEN9__gnu_cxx17__normal_iteratorIS2_St6vectorIS1_SaIS1_EEEEET0_T_SA_S9_.exit.i ], [ %call51.i, %if.else44.i ], [ %__first_cut.sroa.0.0, %if.then.i89 ], [ %__second_cut.sroa.0.0, %if.then22.i ] + tail call fastcc void @"_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPN12_GLOBAL__N_17ElementESt6vectorIS3_SaIS3_EEEElS4_NS0_5__ops15_Iter_comp_iterIZNS2_41MutatingTest_StableSortWithPredicate_Test8TestBodyEvE3$_0EEEvT_SE_SE_T0_SF_T1_SF_T2_"(ptr %__first.coerce.tr110, ptr %__first_cut.sroa.0.0, ptr %retval.sroa.0.0.i, i64 noundef %__len11.0, i64 noundef %__len22.0, ptr noundef %__buffer, i64 noundef %__buffer_size) + %sub83 = sub nsw i64 %__len2.tr115, %__len22.0 %cmp.not = icmp sgt i64 %sub, %sub83 %cmp3.not = icmp sgt i64 %sub, %__buffer_size %or.cond = or i1 %cmp3.not, %cmp.not @@ -65058,14 +65069,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131MutatingTest_ReplaceCopyIf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131MutatingTest_ReplaceCopyIf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -65076,22 +65087,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131MutatingTest_ReplaceCopyIf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_131MutatingTest_ReplaceCopyIf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -65103,25 +65114,25 @@ entry: %gtest_ar = alloca %"class.testing::AssertionResult", align 8 %ref.tmp22 = alloca %"class.testing::Message", align 8 %ref.tmp25 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.468, i64 20, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %expected, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i6 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 to label %for.body.lr.ph.i unwind label %lpad.i7 lpad.i7: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIiSaIiEED2Ev.exit46 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit47 for.body.lr.ph.i: ; preds = %entry store ptr %call5.i.i.i.i2.i6, ptr %expected, align 8 - %add.ptr.i1.i11 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6, i64 5 + %add.ptr.i1.i11 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6, i64 20 %_M_end_of_storage.i.i12 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 2 store ptr %add.ptr.i1.i11, ptr %_M_end_of_storage.i.i12, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i6, ptr noundef nonnull align 4 dereferenceable(20) @constinit.465, i64 20, i1 false) - %_M_finish.i.i13 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 - store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i13, align 8 + %_M_finish.i.i14 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %expected, i64 0, i32 1 + store ptr %add.ptr.i1.i11, ptr %_M_finish.i.i14, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) %_M_finish.i.i1.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 %_M_end_of_storage.i.i2.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 @@ -65129,9 +65140,9 @@ for.body.lr.ph.i: ; preds = %entry for.body.i: ; preds = %for.inc.i, %for.body.lr.ph.i %1 = phi ptr [ null, %for.body.lr.ph.i ], [ %9, %for.inc.i ] - %__first.sroa.0.040.i.idx = phi i64 [ 0, %for.body.lr.ph.i ], [ %__first.sroa.0.040.i.add, %for.inc.i ] - %__first.sroa.0.040.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %__first.sroa.0.040.i.idx - %2 = load i32, ptr %__first.sroa.0.040.i.ptr, align 4 + %__first.sroa.0.041.i.idx = phi i64 [ 0, %for.body.lr.ph.i ], [ %__first.sroa.0.041.i.add, %for.inc.i ] + %__first.sroa.0.041.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %__first.sroa.0.041.i.idx + %2 = load i32, ptr %__first.sroa.0.041.i.ptr, align 4 %3 = and i32 %2, 1 %cmp.i.not = icmp eq i32 %3, 0 %4 = load ptr, ptr %_M_end_of_storage.i.i2.i, align 8 @@ -65139,9 +65150,9 @@ for.body.i: ; preds = %for.inc.i, %for.bod br i1 %cmp.i.not, label %if.else.i, label %if.then.i if.then.i: ; preds = %for.body.i - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i47 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i48 -if.then.i.i.i47: ; preds = %if.then.i +if.then.i.i.i48: ; preds = %if.then.i store i32 0, ptr %1, align 4 %5 = load ptr, ptr %_M_finish.i.i1.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %5, i64 1 @@ -65157,7 +65168,7 @@ if.else.i.i.i: ; preds = %if.then.i br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i.invoke: ; preds = %if.else.i.i6.i, %if.else.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %if.then.i.i.i.i.i.cont unwind label %lpad13.loopexit.split-lp if.then.i.i.i.i.i.cont: ; preds = %if.then.i.i.i.i.i.invoke @@ -65176,30 +65187,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i49 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i50 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad13.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i49, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] + %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i50, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 0, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %6, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %6) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %actual, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i1.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -65237,44 +65249,45 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i: ; preds = %if.else.i.i6 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i %mul.i.i.i.i.i.i21.i = shl nuw nsw i64 %cond.i.i.i.i18.i, 2 - %call5.i.i.i.i.i.i22.i51 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i21.i) #29 + %call5.i.i.i.i.i.i22.i52 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i21.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i unwind label %lpad13.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i - %cond.i10.i.i.i24.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i ], [ %call5.i.i.i.i.i.i22.i51, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20.i ] + %cond.i10.i.i.i24.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i ], [ %call5.i.i.i.i.i.i22.i52, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20.i ] %add.ptr.i.i.i25.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i24.i, i64 %sub.ptr.div.i.i.i.i.i12.i store i32 %2, ptr %add.ptr.i.i.i25.i, align 4 - %cmp.i.i.i11.i.i.i26.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i12.i, 0 - br i1 %cmp.i.i.i11.i.i.i26.i, label %if.then.i.i.i12.i.i.i33.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i + %cmp.i.i.i11.i.i.i26.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i9.i, 0 + br i1 %cmp.i.i.i11.i.i.i26.i, label %if.then.i.i.i12.i.i.i34.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i -if.then.i.i.i12.i.i.i33.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i +if.then.i.i.i12.i.i.i34.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i24.i, ptr align 4 %8, i64 %sub.ptr.sub.i.i.i.i.i9.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i: ; preds = %if.then.i.i.i12.i.i.i33.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i - %incdec.ptr.i.i.i28.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i25.i, i64 1 - %tobool.not.i.i.i.i29.i = icmp eq ptr %8, null - br i1 %tobool.not.i.i.i.i29.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i, label %if.then.i21.i.i.i30.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i: ; preds = %if.then.i.i.i12.i.i.i34.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i + %add.ptr.i.i.i.i.i.i28.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i24.i, i64 %sub.ptr.sub.i.i.i.i.i9.i + %incdec.ptr.i.i.i29.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i28.i, i64 1 + %tobool.not.i.i.i.i30.i = icmp eq ptr %8, null + br i1 %tobool.not.i.i.i.i30.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i, label %if.then.i20.i.i.i31.i -if.then.i21.i.i.i30.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i - tail call void @_ZdlPv(ptr noundef nonnull %8) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i +if.then.i20.i.i.i31.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i + tail call void @_ZdlPv(ptr noundef nonnull %8) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i: ; preds = %if.then.i21.i.i.i30.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i: ; preds = %if.then.i20.i.i.i31.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i store ptr %cond.i10.i.i.i24.i, ptr %actual, align 8 - store ptr %incdec.ptr.i.i.i28.i, ptr %_M_finish.i.i1.i, align 8 - %add.ptr19.i.i.i32.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i24.i, i64 %cond.i.i.i.i18.i - store ptr %add.ptr19.i.i.i32.i, ptr %_M_end_of_storage.i.i2.i, align 8 + store ptr %incdec.ptr.i.i.i29.i, ptr %_M_finish.i.i1.i, align 8 + %add.ptr19.i.i.i33.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i24.i, i64 %cond.i.i.i.i18.i + store ptr %add.ptr19.i.i.i33.i, ptr %_M_end_of_storage.i.i2.i, align 8 br label %for.inc.i -for.inc.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i, %if.then.i.i4.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i47 - %9 = phi ptr [ %incdec.ptr.i.i.i28.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i ], [ %incdec.ptr.i.i5.i, %if.then.i.i4.i ], [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i, %if.then.i.i.i47 ] - %__first.sroa.0.040.i.add = add nuw nsw i64 %__first.sroa.0.040.i.idx, 4 - %cmp.i.not.i = icmp eq i64 %__first.sroa.0.040.i.add, 20 +for.inc.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i, %if.then.i.i4.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i48 + %9 = phi ptr [ %incdec.ptr.i.i.i29.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i ], [ %incdec.ptr.i.i5.i, %if.then.i.i4.i ], [ %incdec.ptr.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i, %if.then.i.i.i48 ] + %__first.sroa.0.041.i.add = add nuw nsw i64 %__first.sroa.0.041.i.idx, 4 + %cmp.i.not.i = icmp eq i64 %__first.sroa.0.041.i.add, 20 br i1 %cmp.i.not.i, label %invoke.cont17, label %for.body.i, !llvm.loop !1699 invoke.cont17: ; preds = %for.inc.i - %10 = load ptr, ptr %_M_finish.i.i13, align 8, !noalias !1700 + %10 = load ptr, ptr %_M_finish.i.i14, align 8, !noalias !1700 %11 = load ptr, ptr %expected, align 8, !noalias !1700 %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %10 to i64 %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %11 to i64 @@ -65330,7 +65343,7 @@ invoke.cont24: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont27, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont24 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 br label %invoke.cont27 invoke.cont27: ; preds = %cond.true.i.i, %invoke.cont24 @@ -65343,7 +65356,7 @@ invoke.cont29: ; preds = %invoke.cont27 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont29 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 %16 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i = icmp eq ptr %16, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65352,7 +65365,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %16, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %17 = load ptr, ptr %vfn.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65372,87 +65385,87 @@ lpad26: ; preds = %invoke.cont27 lpad30: ; preds = %invoke.cont29 %20 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup ehcleanup: ; preds = %lpad30, %lpad26 %.pn = phi { ptr, i32 } [ %20, %lpad30 ], [ %19, %lpad26 ] %21 = load ptr, ptr %ref.tmp22, align 8 - %cmp.not.i.i19 = icmp eq ptr %21, null - br i1 %cmp.not.i.i19, label %_ZN7testing7MessageD2Ev.exit23, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 + %cmp.not.i.i20 = icmp eq ptr %21, null + br i1 %cmp.not.i.i20, label %_ZN7testing7MessageD2Ev.exit24, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20: ; preds = %ehcleanup - %vtable.i.i.i21 = load ptr, ptr %21, align 8 - %vfn.i.i.i22 = getelementptr inbounds ptr, ptr %vtable.i.i.i21, i64 1 - %22 = load ptr, ptr %vfn.i.i.i22, align 8 - call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #27 - br label %_ZN7testing7MessageD2Ev.exit23 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21: ; preds = %ehcleanup + %vtable.i.i.i22 = load ptr, ptr %21, align 8 + %vfn.i.i.i23 = getelementptr inbounds ptr, ptr %vtable.i.i.i22, i64 1 + %22 = load ptr, ptr %vfn.i.i.i23, align 8 + call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #28 + br label %_ZN7testing7MessageD2Ev.exit24 -_ZN7testing7MessageD2Ev.exit23: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i20 +_ZN7testing7MessageD2Ev.exit24: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21 store ptr null, ptr %ref.tmp22, align 8 br label %ehcleanup32 if.end: ; preds = %invoke.cont20, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %23 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i24 = icmp eq ptr %23, null - br i1 %cmp.not.i.i24, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i25 = icmp eq ptr %23, null + br i1 %cmp.not.i.i25, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #27 - call void @_ZdlPv(ptr noundef nonnull %23) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #28 + call void @_ZdlPv(ptr noundef nonnull %23) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %24 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i25 = icmp eq ptr %24, null - br i1 %tobool.not.i.i.i25, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i26 = icmp eq ptr %24, null + br i1 %tobool.not.i.i.i26, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %24) #28 + call void @_ZdlPv(ptr noundef nonnull %24) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i %25 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i27 = icmp eq ptr %25, null - br i1 %tobool.not.i.i.i27, label %_ZNSt6vectorIiSaIiEED2Ev.exit34, label %if.then.i.i.i28 + %tobool.not.i.i.i28 = icmp eq ptr %25, null + br i1 %tobool.not.i.i.i28, label %_ZNSt6vectorIiSaIiEED2Ev.exit35, label %if.then.i.i.i29 -if.then.i.i.i28: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %25) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit34 +if.then.i.i.i29: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %25) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit35 -_ZNSt6vectorIiSaIiEED2Ev.exit34: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i28 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit35: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i29 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void -ehcleanup32: ; preds = %_ZN7testing7MessageD2Ev.exit23, %lpad23 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit23 ], [ %18, %lpad23 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup32: ; preds = %_ZN7testing7MessageD2Ev.exit24, %lpad23 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit24 ], [ %18, %lpad23 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup33 ehcleanup33: ; preds = %lpad13.loopexit, %lpad13.loopexit.split-lp, %ehcleanup32 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup32 ], [ %lpad.loopexit, %lpad13.loopexit ], [ %lpad.loopexit.split-lp, %lpad13.loopexit.split-lp ] %26 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i35 = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i35, label %_ZNSt6vectorIiSaIiEED2Ev.exit38, label %if.then.i.i.i36 + %tobool.not.i.i.i36 = icmp eq ptr %26, null + br i1 %tobool.not.i.i.i36, label %_ZNSt6vectorIiSaIiEED2Ev.exit39, label %if.then.i.i.i37 -if.then.i.i.i36: ; preds = %ehcleanup33 - call void @_ZdlPv(ptr noundef nonnull %26) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit38 +if.then.i.i.i37: ; preds = %ehcleanup33 + call void @_ZdlPv(ptr noundef nonnull %26) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit39 -_ZNSt6vectorIiSaIiEED2Ev.exit38: ; preds = %ehcleanup33, %if.then.i.i.i36 +_ZNSt6vectorIiSaIiEED2Ev.exit39: ; preds = %ehcleanup33, %if.then.i.i.i37 %27 = load ptr, ptr %expected, align 8 - %tobool.not.i.i.i39 = icmp eq ptr %27, null - br i1 %tobool.not.i.i.i39, label %_ZNSt6vectorIiSaIiEED2Ev.exit46, label %if.then.i.i.i40 + %tobool.not.i.i.i40 = icmp eq ptr %27, null + br i1 %tobool.not.i.i.i40, label %_ZNSt6vectorIiSaIiEED2Ev.exit47, label %if.then.i.i.i41 -if.then.i.i.i40: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit38 - call void @_ZdlPv(ptr noundef nonnull %27) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit46 +if.then.i.i.i41: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit39 + call void @_ZdlPv(ptr noundef nonnull %27) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit47 -_ZNSt6vectorIiSaIiEED2Ev.exit46: ; preds = %lpad.i7, %if.then.i.i.i40, %_ZNSt6vectorIiSaIiEED2Ev.exit38 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit38 ], [ %.pn.pn.pn, %if.then.i.i.i40 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit47: ; preds = %lpad.i7, %if.then.i.i.i41, %_ZNSt6vectorIiSaIiEED2Ev.exit39 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i7 ], [ %.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit39 ], [ %.pn.pn.pn, %if.then.i.i.i41 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn.pn.pn.pn } @@ -65465,14 +65478,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_122MutatingTest_Fill_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_122MutatingTest_Fill_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -65483,22 +65496,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_122MutatingTest_Fill_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_122MutatingTest_Fill_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -65510,7 +65523,7 @@ entry: %ref.tmp5 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.324", align 16 %ref.tmp14 = alloca %"class.testing::Message", align 8 %ref.tmp17 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i.i5 = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i.i5 = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i.i5, ptr %actual, align 8 %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i5, i64 5 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 @@ -65557,7 +65570,7 @@ invoke.cont16: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont19, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont16 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont19 invoke.cont19: ; preds = %cond.true.i.i, %invoke.cont16 @@ -65570,7 +65583,7 @@ invoke.cont21: ; preds = %invoke.cont19 to label %invoke.cont23 unwind label %lpad22 invoke.cont23: ; preds = %invoke.cont21 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 %4 = load ptr, ptr %ref.tmp14, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65579,7 +65592,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont23, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65599,7 +65612,7 @@ lpad18: ; preds = %invoke.cont19 lpad22: ; preds = %invoke.cont21 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad22, %lpad18 @@ -65612,7 +65625,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %9, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %10 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -65626,8 +65639,8 @@ if.end: ; preds = %invoke.cont13, %_ZN br i1 %cmp.not.i.i13, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65637,7 +65650,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -65645,7 +65658,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup24: ; preds = %_ZN7testing7MessageD2Ev.exit12, %lpad15 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %6, %lpad15 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup25 ehcleanup25: ; preds = %ehcleanup24, %lpad3 @@ -65655,7 +65668,7 @@ ehcleanup25: ; preds = %ehcleanup24, %lpad3 br i1 %tobool.not.i.i.i14, label %eh.resume, label %if.then.i.i.i15 if.then.i.i.i15: ; preds = %ehcleanup25 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i15, %ehcleanup25 @@ -65671,14 +65684,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_123MutatingTest_FillN_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_123MutatingTest_FillN_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -65689,22 +65702,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_123MutatingTest_FillN_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_123MutatingTest_FillN_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -65716,7 +65729,7 @@ entry: %ref.tmp6 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.324", align 16 %ref.tmp15 = alloca %"class.testing::Message", align 8 %ref.tmp18 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i.i5 = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i.i5 = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i.i5, ptr %actual, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i5, i64 5 @@ -65763,7 +65776,7 @@ invoke.cont17: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont20, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont17 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont20 invoke.cont20: ; preds = %cond.true.i.i, %invoke.cont17 @@ -65776,7 +65789,7 @@ invoke.cont22: ; preds = %invoke.cont20 to label %invoke.cont24 unwind label %lpad23 invoke.cont24: ; preds = %invoke.cont22 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #28 %4 = load ptr, ptr %ref.tmp15, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65785,7 +65798,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65805,7 +65818,7 @@ lpad19: ; preds = %invoke.cont20 lpad23: ; preds = %invoke.cont22 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #28 br label %ehcleanup ehcleanup: ; preds = %lpad23, %lpad19 @@ -65818,7 +65831,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i9 = load ptr, ptr %9, align 8 %vfn.i.i.i10 = getelementptr inbounds ptr, ptr %vtable.i.i.i9, i64 1 %10 = load ptr, ptr %vfn.i.i.i10, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit11 _ZN7testing7MessageD2Ev.exit11: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i8 @@ -65832,8 +65845,8 @@ if.end: ; preds = %invoke.cont14, %_ZN br i1 %cmp.not.i.i12, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65843,7 +65856,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -65851,7 +65864,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup25: ; preds = %_ZN7testing7MessageD2Ev.exit11, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit11 ], [ %6, %lpad16 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup26 ehcleanup26: ; preds = %ehcleanup25, %lpad4 @@ -65861,7 +65874,7 @@ ehcleanup26: ; preds = %ehcleanup25, %lpad4 br i1 %tobool.not.i.i.i13, label %eh.resume, label %if.then.i.i.i14 if.then.i.i.i14: ; preds = %ehcleanup26 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i14, %ehcleanup26 @@ -65877,14 +65890,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126MutatingTest_Generate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_126MutatingTest_Generate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -65895,22 +65908,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126MutatingTest_Generate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_126MutatingTest_Generate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -65922,7 +65935,7 @@ entry: %ref.tmp5 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.324", align 16 %ref.tmp14 = alloca %"class.testing::Message", align 8 %ref.tmp17 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i.i6 = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i.i6 = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i.i6, ptr %actual, align 8 %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i6, i64 5 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 @@ -65971,7 +65984,7 @@ invoke.cont16: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont19, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont16 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont19 invoke.cont19: ; preds = %cond.true.i.i, %invoke.cont16 @@ -65984,7 +65997,7 @@ invoke.cont21: ; preds = %invoke.cont19 to label %invoke.cont23 unwind label %lpad22 invoke.cont23: ; preds = %invoke.cont21 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 %4 = load ptr, ptr %ref.tmp14, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -65993,7 +66006,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont23, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66013,7 +66026,7 @@ lpad18: ; preds = %invoke.cont19 lpad22: ; preds = %invoke.cont21 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad22, %lpad18 @@ -66026,7 +66039,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %9, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %10 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -66040,8 +66053,8 @@ if.end: ; preds = %invoke.cont13, %_ZN br i1 %cmp.not.i.i13, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66051,7 +66064,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -66059,7 +66072,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup24: ; preds = %_ZN7testing7MessageD2Ev.exit12, %lpad15 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %6, %lpad15 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup25 ehcleanup25: ; preds = %ehcleanup24, %lpad3 @@ -66069,7 +66082,7 @@ ehcleanup25: ; preds = %ehcleanup24, %lpad3 br i1 %tobool.not.i.i.i14, label %eh.resume, label %if.then.i.i.i15 if.then.i.i.i15: ; preds = %ehcleanup25 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i15, %ehcleanup25 @@ -66085,14 +66098,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127MutatingTest_GenerateN_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_127MutatingTest_GenerateN_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -66103,22 +66116,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127MutatingTest_GenerateN_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_127MutatingTest_GenerateN_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -66130,7 +66143,7 @@ entry: %ref.tmp6 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.324", align 16 %ref.tmp16 = alloca %"class.testing::Message", align 8 %ref.tmp19 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i.i5 = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i.i5 = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i.i5, ptr %actual, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i5, i64 5 @@ -66178,7 +66191,7 @@ invoke.cont18: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont21, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont18 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont21 invoke.cont21: ; preds = %cond.true.i.i, %invoke.cont18 @@ -66191,7 +66204,7 @@ invoke.cont23: ; preds = %invoke.cont21 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 %4 = load ptr, ptr %ref.tmp16, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66200,7 +66213,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont25, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66220,7 +66233,7 @@ lpad20: ; preds = %invoke.cont21 lpad24: ; preds = %invoke.cont23 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad20 @@ -66233,7 +66246,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i9 = load ptr, ptr %9, align 8 %vfn.i.i.i10 = getelementptr inbounds ptr, ptr %vtable.i.i.i9, i64 1 %10 = load ptr, ptr %vfn.i.i.i10, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit11 _ZN7testing7MessageD2Ev.exit11: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i8 @@ -66247,8 +66260,8 @@ if.end: ; preds = %invoke.cont14, %_ZN br i1 %cmp.not.i.i12, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66258,7 +66271,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -66266,7 +66279,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit11, %lpad17 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit11 ], [ %6, %lpad17 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup27 ehcleanup27: ; preds = %ehcleanup26, %lpad4 @@ -66276,7 +66289,7 @@ ehcleanup27: ; preds = %ehcleanup26, %lpad4 br i1 %tobool.not.i.i.i13, label %eh.resume, label %if.then.i.i.i14 if.then.i.i.i14: ; preds = %ehcleanup27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i14, %ehcleanup27 @@ -66292,14 +66305,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_RemoveCopy_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_RemoveCopy_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -66310,22 +66323,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_RemoveCopy_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_RemoveCopy_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -66338,7 +66351,7 @@ entry: %ref.tmp22 = alloca %"class.testing::Message", align 8 %ref.tmp25 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store i32 1, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp2.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 2, ptr %ref.tmp2.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 @@ -66377,7 +66390,7 @@ if.else.i.i.i.i.i: ; preds = %if.then.i.i.i br i1 %cmp.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i if.then.i.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit14.loopexit.split-lp .noexc: ; preds = %if.then.i.i.i.i.i.i.i @@ -66396,30 +66409,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i: ; preds = %if.else.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i %mul.i.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i.i.i6 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i.i.i6 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit14.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i %cond.i10.i.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i ], [ %call5.i.i.i.i.i.i.i.i.i6, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i store i32 %1, ptr %add.ptr.i.i.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i - %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i, label %if.then.i21.i.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i, label %if.then.i20.i.i.i.i.i.i -if.then.i21.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i.i, ptr %actual, align 8 store ptr %incdec.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i.i, i64 %cond.i.i.i.i.i.i.i @@ -66433,7 +66447,7 @@ for.inc.i.i.i: ; preds = %_ZNSt6vectorIiSaIiE br i1 %cmp.i.not.i.i.i, label %invoke.cont19, label %for.body.i.i.i, !llvm.loop !1708 invoke.cont19: ; preds = %for.inc.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 store i64 4294967299, ptr %ref.tmp13, align 8, !alias.scope !1709 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp13, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(24) %actual) to label %invoke.cont20 unwind label %lpad17 @@ -66456,7 +66470,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit14.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i. _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit14.loopexit.split-lp, %_ZNSt6vectorIiSaIiEED2Ev.exit14.loopexit %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %_ZNSt6vectorIiSaIiEED2Ev.exit14.loopexit ], [ %lpad.loopexit.split-lp, %_ZNSt6vectorIiSaIiEED2Ev.exit14.loopexit.split-lp ] - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 br label %ehcleanup35 lpad17: ; preds = %invoke.cont19 @@ -66475,7 +66489,7 @@ invoke.cont24: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont27, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont24 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %9) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %9) #28 br label %invoke.cont27 invoke.cont27: ; preds = %cond.true.i.i, %invoke.cont24 @@ -66488,7 +66502,7 @@ invoke.cont29: ; preds = %invoke.cont27 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont29 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 %10 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i = icmp eq ptr %10, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66497,7 +66511,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %10, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %11 = load ptr, ptr %vfn.i.i.i, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66517,7 +66531,7 @@ lpad26: ; preds = %invoke.cont27 lpad30: ; preds = %invoke.cont29 %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup33 ehcleanup33: ; preds = %lpad30, %lpad26 @@ -66530,7 +66544,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i17 = load ptr, ptr %15, align 8 %vfn.i.i.i18 = getelementptr inbounds ptr, ptr %vtable.i.i.i17, i64 1 %16 = load ptr, ptr %vfn.i.i.i18, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %_ZN7testing7MessageD2Ev.exit19 _ZN7testing7MessageD2Ev.exit19: ; preds = %ehcleanup33, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i16 @@ -66544,8 +66558,8 @@ if.end: ; preds = %invoke.cont20, %_ZN br i1 %cmp.not.i.i20, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66555,7 +66569,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i21, label %_ZNSt6vectorIiSaIiEED2Ev.exit24, label %if.then.i.i.i22 if.then.i.i.i22: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit24 _ZNSt6vectorIiSaIiEED2Ev.exit24: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i22 @@ -66563,7 +66577,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit24: ; preds = %_ZN7testing15Assert ehcleanup34: ; preds = %_ZN7testing7MessageD2Ev.exit19, %lpad23 %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit19 ], [ %12, %lpad23 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup35 ehcleanup35: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit14, %ehcleanup34, %lpad17 @@ -66573,7 +66587,7 @@ ehcleanup35: ; preds = %_ZNSt6vectorIiSaIiE br i1 %tobool.not.i.i.i25, label %_ZNSt6vectorIiSaIiEED2Ev.exit28, label %if.then.i.i.i26 if.then.i.i.i26: ; preds = %ehcleanup35 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit28 _ZNSt6vectorIiSaIiEED2Ev.exit28: ; preds = %ehcleanup35, %if.then.i.i.i26 @@ -66589,14 +66603,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130MutatingTest_RemoveCopyIf_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130MutatingTest_RemoveCopyIf_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -66607,22 +66621,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130MutatingTest_RemoveCopyIf_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130MutatingTest_RemoveCopyIf_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -66635,7 +66649,7 @@ entry: %ref.tmp20 = alloca %"class.testing::Message", align 8 %ref.tmp23 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store i32 1, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp2.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 2, ptr %ref.tmp2.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 @@ -66675,7 +66689,7 @@ if.else.i.i.i: ; preds = %if.then.i br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit.split-lp .noexc: ; preds = %if.then.i.i.i.i.i @@ -66694,30 +66708,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i29 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i29 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i29, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %1, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %actual, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -66731,7 +66746,7 @@ for.inc.i: ; preds = %_ZNSt6vectorIiSaIiE br i1 %cmp.i.not.i, label %invoke.cont17, label %for.body.i, !llvm.loop !1712 invoke.cont17: ; preds = %for.inc.i - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 store i32 2, ptr %ref.tmp12, align 4, !alias.scope !1713 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp12, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(24) %actual) to label %invoke.cont18 unwind label %lpad15 @@ -66754,7 +66769,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i _ZNSt6vectorIiSaIiEED2Ev.exit13: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit.split-lp, %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit ], [ %lpad.loopexit.split-lp, %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit.split-lp ] - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 br label %ehcleanup33 lpad15: ; preds = %invoke.cont17 @@ -66773,7 +66788,7 @@ invoke.cont22: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont25, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont22 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #28 br label %invoke.cont25 invoke.cont25: ; preds = %cond.true.i.i, %invoke.cont22 @@ -66786,7 +66801,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #28 %11 = load ptr, ptr %ref.tmp20, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66795,7 +66810,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont29, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66815,7 +66830,7 @@ lpad24: ; preds = %invoke.cont25 lpad28: ; preds = %invoke.cont27 %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #28 br label %ehcleanup31 ehcleanup31: ; preds = %lpad28, %lpad24 @@ -66828,7 +66843,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i16 = load ptr, ptr %16, align 8 %vfn.i.i.i17 = getelementptr inbounds ptr, ptr %vtable.i.i.i16, i64 1 %17 = load ptr, ptr %vfn.i.i.i17, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit18 _ZN7testing7MessageD2Ev.exit18: ; preds = %ehcleanup31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i15 @@ -66842,8 +66857,8 @@ if.end: ; preds = %invoke.cont18, %_ZN br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -66853,7 +66868,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i20, label %_ZNSt6vectorIiSaIiEED2Ev.exit23, label %if.then.i.i.i21 if.then.i.i.i21: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit23 _ZNSt6vectorIiSaIiEED2Ev.exit23: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i21 @@ -66861,7 +66876,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit23: ; preds = %_ZN7testing15Assert ehcleanup32: ; preds = %_ZN7testing7MessageD2Ev.exit18, %lpad21 %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit18 ], [ %13, %lpad21 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup33 ehcleanup33: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit13, %ehcleanup32, %lpad15 @@ -66871,7 +66886,7 @@ ehcleanup33: ; preds = %_ZNSt6vectorIiSaIiE br i1 %tobool.not.i.i.i24, label %_ZNSt6vectorIiSaIiEED2Ev.exit27, label %if.then.i.i.i25 if.then.i.i.i25: ; preds = %ehcleanup33 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit27 _ZNSt6vectorIiSaIiEED2Ev.exit27: ; preds = %ehcleanup33, %if.then.i.i.i25 @@ -66915,13 +66930,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -66984,13 +66999,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -67044,7 +67059,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -67076,7 +67091,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -67090,7 +67105,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -67099,28 +67114,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -67135,23 +67150,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -67185,7 +67200,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -67193,7 +67208,7 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -67202,7 +67217,7 @@ define linkonce_odr dso_local void @_ZNK7testing8internal18ElementsAreMatcherISt _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %invoke.cont5 unwind label %lpad invoke.cont5: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -67220,7 +67235,7 @@ invoke.cont5: ; preds = %_ZNSt12_Vector_base store ptr getelementptr inbounds ({ [6 x ptr] }, ptr @_ZTVN7testing7MatcherIRKiEE, i64 0, inrange i32 0, i64 2), ptr %call5.i.i.i.i.i2, align 8 %incdec.ptr.i.i.i.i.i.i5 = getelementptr inbounds %"class.testing::Matcher.261", ptr %call5.i.i.i.i.i2, i64 1 store ptr %incdec.ptr.i.i.i.i.i.i5, ptr %_M_finish.i.i.i.i.i.i, align 8 - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -67235,7 +67250,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i6 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i6 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -67254,7 +67269,7 @@ for.body.i.i.i.i9: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i10 = phi ptr [ %incdec.ptr.i.i.i.i12, %for.body.i.i.i.i9 ], [ %4, %invoke.cont20 ] %vtable.i.i.i.i.i11 = load ptr, ptr %__first.addr.04.i.i.i.i10, align 8 %6 = load ptr, ptr %vtable.i.i.i.i.i11, align 8 - tail call void %6(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i10) #27 + tail call void %6(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i10) #28 %incdec.ptr.i.i.i.i12 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i10, i64 1 %cmp.not.i.i.i.i13 = icmp eq ptr %incdec.ptr.i.i.i.i12, %5 br i1 %cmp.not.i.i.i.i13, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i9, !llvm.loop !481 @@ -67269,7 +67284,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - tail call void @_ZdlPv(ptr noundef nonnull %7) #28 + tail call void @_ZdlPv(ptr noundef nonnull %7) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -67283,12 +67298,12 @@ lpad: ; preds = %invoke.cont19, %_ZN lpad18: ; preds = %invoke.cont8 %9 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call9) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad18 %.pn = phi { ptr, i32 } [ %9, %lpad18 ], [ %8, %lpad ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -67301,14 +67316,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_UniqueCopy_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_UniqueCopy_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -67319,22 +67334,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_UniqueCopy_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_UniqueCopy_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -67347,14 +67362,14 @@ entry: %ref.tmp22 = alloca %"class.testing::Message", align 8 %ref.tmp25 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #29 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 7 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(28) @constinit.466, i64 28, i1 false) - %call13.i.i6 = invoke ptr @_ZSt13__unique_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20back_insert_iteratorIS6_ENS0_5__ops19_Iter_equal_to_iterEET0_T_SD_SC_T1_St20forward_iterator_tagSt19output_iterator_tag(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i, ptr nonnull %actual) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 28 + %call13.i.i6 = invoke ptr @_ZSt13__unique_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEESt20back_insert_iteratorIS6_ENS0_5__ops19_Iter_equal_to_iterEET0_T_SD_SC_T1_St20forward_iterator_tagSt19output_iterator_tag(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr nonnull %actual) to label %invoke.cont19 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit13 invoke.cont19: ; preds = %entry - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 store <4 x i32> , ptr %ref.tmp11, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(16) %ref.tmp11, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(24) %actual) to label %invoke.cont20 unwind label %lpad17 @@ -67368,7 +67383,7 @@ invoke.cont20: ; preds = %invoke.cont19 _ZNSt6vectorIiSaIiEED2Ev.exit13: ; preds = %entry %2 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 br label %ehcleanup35 lpad17: ; preds = %invoke.cont19 @@ -67387,7 +67402,7 @@ invoke.cont24: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont27, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont24 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #28 br label %invoke.cont27 invoke.cont27: ; preds = %cond.true.i.i, %invoke.cont24 @@ -67400,7 +67415,7 @@ invoke.cont29: ; preds = %invoke.cont27 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont29 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 %5 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i = icmp eq ptr %5, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -67409,7 +67424,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %5, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %6 = load ptr, ptr %vfn.i.i.i, align 8 - call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 + call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -67429,7 +67444,7 @@ lpad26: ; preds = %invoke.cont27 lpad30: ; preds = %invoke.cont29 %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup33 ehcleanup33: ; preds = %lpad30, %lpad26 @@ -67442,7 +67457,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i16 = load ptr, ptr %10, align 8 %vfn.i.i.i17 = getelementptr inbounds ptr, ptr %vtable.i.i.i16, i64 1 %11 = load ptr, ptr %vfn.i.i.i17, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit18 _ZN7testing7MessageD2Ev.exit18: ; preds = %ehcleanup33, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i15 @@ -67456,8 +67471,8 @@ if.end: ; preds = %invoke.cont20, %_ZN br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #27 - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -67467,7 +67482,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i20, label %_ZNSt6vectorIiSaIiEED2Ev.exit23, label %if.then.i.i.i21 if.then.i.i.i21: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit23 _ZNSt6vectorIiSaIiEED2Ev.exit23: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i21 @@ -67475,7 +67490,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit23: ; preds = %_ZN7testing15Assert ehcleanup34: ; preds = %_ZN7testing7MessageD2Ev.exit18, %lpad23 %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit18 ], [ %7, %lpad23 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup35 ehcleanup35: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit13, %ehcleanup34, %lpad17 @@ -67485,7 +67500,7 @@ ehcleanup35: ; preds = %_ZNSt6vectorIiSaIiE br i1 %tobool.not.i.i.i24, label %_ZNSt6vectorIiSaIiEED2Ev.exit27, label %if.then.i.i.i25 if.then.i.i.i25: ; preds = %ehcleanup35 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit27 _ZNSt6vectorIiSaIiEED2Ev.exit27: ; preds = %ehcleanup35, %if.then.i.i.i25 @@ -67519,7 +67534,7 @@ if.else.i.i: ; preds = %entry br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -67535,7 +67550,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i @@ -67543,23 +67558,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i %5 = load i32, ptr %__first.coerce, align 4 store i32 %5, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -67568,16 +67584,16 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIP _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i %6 = phi ptr [ %incdec.ptr.i.i, %if.then.i.i ], [ %incdec.ptr.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ] - %incdec.ptr.i40 = getelementptr inbounds i32, ptr %__first.coerce, i64 1 - %cmp.i.not41 = icmp eq ptr %incdec.ptr.i40, %__last.coerce - br i1 %cmp.i.not41, label %while.end, label %while.body + %incdec.ptr.i41 = getelementptr inbounds i32, ptr %__first.coerce, i64 1 + %cmp.i.not42 = icmp eq ptr %incdec.ptr.i41, %__last.coerce + br i1 %cmp.i.not42, label %while.end, label %while.body while.body: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit, %if.end %7 = phi ptr [ %13, %if.end ], [ %6, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] - %incdec.ptr.i43 = phi ptr [ %incdec.ptr.i, %if.end ], [ %incdec.ptr.i40, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] - %__first.sroa.0.042 = phi ptr [ %__first.sroa.0.1, %if.end ], [ %__first.coerce, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] - %8 = load i32, ptr %__first.sroa.0.042, align 4 - %9 = load i32, ptr %incdec.ptr.i43, align 4 + %incdec.ptr.i44 = phi ptr [ %incdec.ptr.i, %if.end ], [ %incdec.ptr.i41, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] + %__first.sroa.0.043 = phi ptr [ %__first.sroa.0.1, %if.end ], [ %__first.coerce, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ] + %8 = load i32, ptr %__first.sroa.0.043, align 4 + %9 = load i32, ptr %incdec.ptr.i44, align 4 %cmp.i1 = icmp eq i32 %8, %9 br i1 %cmp.i1, label %if.end, label %if.then @@ -67599,10 +67615,10 @@ if.else.i.i7: ; preds = %if.then %sub.ptr.rhs.cast.i.i.i.i.i9 = ptrtoint ptr %12 to i64 %sub.ptr.sub.i.i.i.i.i10 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i8, %sub.ptr.rhs.cast.i.i.i.i.i9 %cmp.i.i.i.i11 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i10, 9223372036854775804 - br i1 %cmp.i.i.i.i11, label %if.then.i.i.i.i35, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 + br i1 %cmp.i.i.i.i11, label %if.then.i.i.i.i36, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 -if.then.i.i.i.i35: ; preds = %if.else.i.i7 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i36: ; preds = %if.else.i.i7 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12: ; preds = %if.else.i.i7 @@ -67618,40 +67634,41 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12: ; preds = %if.else.i.i7 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 %mul.i.i.i.i.i.i22 = shl nuw nsw i64 %cond.i.i.i.i19, 2 - %call5.i.i.i.i.i.i23 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i22) #29 + %call5.i.i.i.i.i.i23 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i22) #30 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 %cond.i10.i.i.i25 = phi ptr [ %call5.i.i.i.i.i.i23, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 ] %add.ptr.i.i.i26 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %sub.ptr.div.i.i.i.i.i13 store i32 %9, ptr %add.ptr.i.i.i26, align 4 - %cmp.i.i.i11.i.i.i27 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i13, 0 - br i1 %cmp.i.i.i11.i.i.i27, label %if.then.i.i.i12.i.i.i34, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 + %cmp.i.i.i11.i.i.i27 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i10, 0 + br i1 %cmp.i.i.i11.i.i.i27, label %if.then.i.i.i12.i.i.i35, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 -if.then.i.i.i12.i.i.i34: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 +if.then.i.i.i12.i.i.i35: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i25, ptr align 4 %12, i64 %sub.ptr.sub.i.i.i.i.i10, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28: ; preds = %if.then.i.i.i12.i.i.i34, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 - %incdec.ptr.i.i.i29 = getelementptr inbounds i32, ptr %add.ptr.i.i.i26, i64 1 - %tobool.not.i.i.i.i30 = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i.i30, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32, label %if.then.i21.i.i.i31 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28: ; preds = %if.then.i.i.i12.i.i.i35, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 + %add.ptr.i.i.i.i.i.i29 = getelementptr inbounds i8, ptr %cond.i10.i.i.i25, i64 %sub.ptr.sub.i.i.i.i.i10 + %incdec.ptr.i.i.i30 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i29, i64 1 + %tobool.not.i.i.i.i31 = icmp eq ptr %12, null + br i1 %tobool.not.i.i.i.i31, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33, label %if.then.i20.i.i.i32 -if.then.i21.i.i.i31: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 - tail call void @_ZdlPv(ptr noundef nonnull %12) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32 +if.then.i20.i.i.i32: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 + tail call void @_ZdlPv(ptr noundef nonnull %12) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32: ; preds = %if.then.i21.i.i.i31, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33: ; preds = %if.then.i20.i.i.i32, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 store ptr %cond.i10.i.i.i25, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i29, ptr %_M_finish.i.i, align 8 - %add.ptr19.i.i.i33 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %cond.i.i.i.i19 - store ptr %add.ptr19.i.i.i33, ptr %_M_end_of_storage.i.i, align 8 + store ptr %incdec.ptr.i.i.i30, ptr %_M_finish.i.i, align 8 + %add.ptr19.i.i.i34 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %cond.i.i.i.i19 + store ptr %add.ptr19.i.i.i34, ptr %_M_end_of_storage.i.i, align 8 br label %if.end -if.end: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32, %if.then.i.i5, %while.body - %13 = phi ptr [ %7, %while.body ], [ %incdec.ptr.i.i6, %if.then.i.i5 ], [ %incdec.ptr.i.i.i29, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32 ] - %__first.sroa.0.1 = phi ptr [ %__first.sroa.0.042, %while.body ], [ %incdec.ptr.i43, %if.then.i.i5 ], [ %incdec.ptr.i43, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32 ] - %incdec.ptr.i = getelementptr inbounds i32, ptr %incdec.ptr.i43, i64 1 +if.end: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33, %if.then.i.i5, %while.body + %13 = phi ptr [ %7, %while.body ], [ %incdec.ptr.i.i6, %if.then.i.i5 ], [ %incdec.ptr.i.i.i30, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 ] + %__first.sroa.0.1 = phi ptr [ %__first.sroa.0.043, %while.body ], [ %incdec.ptr.i44, %if.then.i.i5 ], [ %incdec.ptr.i44, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 ] + %incdec.ptr.i = getelementptr inbounds i32, ptr %incdec.ptr.i44, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %__last.coerce br i1 %cmp.i.not, label %while.end, label %while.body, !llvm.loop !1725 @@ -67668,14 +67685,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141MutatingTest_UniqueCopyWithPredicate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141MutatingTest_UniqueCopyWithPredicate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -67686,22 +67703,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141MutatingTest_UniqueCopyWithPredicate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141MutatingTest_UniqueCopyWithPredicate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -67714,11 +67731,11 @@ entry: %ref.tmp22 = alloca %"class.testing::Message", align 8 %ref.tmp25 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #30 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(28) @constinit.467, i64 28, i1 false) %_M_finish.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 - %call5.i.i.i.i.i.i.i.i.i7 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #29 + %call5.i.i.i.i.i.i.i.i.i7 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #30 to label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit.split-lp _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i: ; preds = %entry @@ -67731,11 +67748,11 @@ _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i: ; preds = %entr while.body.i.i.i: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i, %if.end.i.i.i %0 = phi ptr [ %6, %if.end.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i ] - %incdec.ptr.i42.i.i.i.idx = phi i64 [ %incdec.ptr.i42.i.i.i.add, %if.end.i.i.i ], [ 4, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i ] - %__first.sroa.0.041.i.i.i = phi ptr [ %__first.sroa.0.1.i.i.i, %if.end.i.i.i ], [ %call5.i.i.i.i2.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i ] - %incdec.ptr.i42.i.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %incdec.ptr.i42.i.i.i.idx - %1 = load i32, ptr %__first.sroa.0.041.i.i.i, align 4 - %2 = load i32, ptr %incdec.ptr.i42.i.i.i.ptr, align 4 + %incdec.ptr.i43.i.i.i.idx = phi i64 [ %incdec.ptr.i43.i.i.i.add, %if.end.i.i.i ], [ 4, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i ] + %__first.sroa.0.042.i.i.i = phi ptr [ %__first.sroa.0.1.i.i.i, %if.end.i.i.i ], [ %call5.i.i.i.i2.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i.i ] + %incdec.ptr.i43.i.i.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %incdec.ptr.i43.i.i.i.idx + %1 = load i32, ptr %__first.sroa.0.042.i.i.i, align 4 + %2 = load i32, ptr %incdec.ptr.i43.i.i.i.ptr, align 4 %cmp4.unshifted.i.i.i.i.i = xor i32 %2, %1 %cmp4.i.i.i.i.i = icmp sgt i32 %cmp4.unshifted.i.i.i.i.i, -1 br i1 %cmp4.i.i.i.i.i, label %if.end.i.i.i, label %if.then.i.i.i @@ -67758,13 +67775,13 @@ if.else.i.i6.i.i.i: ; preds = %if.then.i.i.i %sub.ptr.rhs.cast.i.i.i.i.i8.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i9.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i7.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i8.i.i.i %cmp.i.i.i.i10.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i9.i.i.i, 9223372036854775804 - br i1 %cmp.i.i.i.i10.i.i.i, label %if.then.i.i.i.i34.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i.i.i + br i1 %cmp.i.i.i.i10.i.i.i, label %if.then.i.i.i.i35.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i.i.i -if.then.i.i.i.i34.i.i.i: ; preds = %if.else.i.i6.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i35.i.i.i: ; preds = %if.else.i.i6.i.i.i + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc8 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit.split-lp -.noexc8: ; preds = %if.then.i.i.i.i34.i.i.i +.noexc8: ; preds = %if.then.i.i.i.i35.i.i.i unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i.i.i: ; preds = %if.else.i.i6.i.i.i @@ -67780,45 +67797,46 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i.i.i: ; preds = %if.else. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i.i.i %mul.i.i.i.i.i.i21.i.i.i = shl nuw nsw i64 %cond.i.i.i.i18.i.i.i, 2 - %call5.i.i.i.i.i.i22.i.i.i9 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i21.i.i.i) #29 + %call5.i.i.i.i.i.i22.i.i.i9 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i21.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i.i.i %cond.i10.i.i.i24.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i11.i.i.i ], [ %call5.i.i.i.i.i.i22.i.i.i9, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i20.i.i.i ] %add.ptr.i.i.i25.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i24.i.i.i, i64 %sub.ptr.div.i.i.i.i.i12.i.i.i store i32 %2, ptr %add.ptr.i.i.i25.i.i.i, align 4 - %cmp.i.i.i11.i.i.i26.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i12.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i26.i.i.i, label %if.then.i.i.i12.i.i.i33.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i.i.i + %cmp.i.i.i11.i.i.i26.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i9.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i26.i.i.i, label %if.then.i.i.i12.i.i.i34.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i.i.i -if.then.i.i.i12.i.i.i33.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i.i.i +if.then.i.i.i12.i.i.i34.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i24.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i9.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i.i.i: ; preds = %if.then.i.i.i12.i.i.i33.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i.i.i - %incdec.ptr.i.i.i28.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i25.i.i.i, i64 1 - %tobool.not.i.i.i.i29.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i29.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i.i.i, label %if.then.i21.i.i.i30.i.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i.i.i: ; preds = %if.then.i.i.i12.i.i.i34.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i23.i.i.i + %add.ptr.i.i.i.i.i.i28.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i24.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i9.i.i.i + %incdec.ptr.i.i.i29.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i28.i.i.i, i64 1 + %tobool.not.i.i.i.i30.i.i.i = icmp eq ptr %5, null + br i1 %tobool.not.i.i.i.i30.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i.i.i, label %if.then.i20.i.i.i31.i.i.i -if.then.i21.i.i.i30.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i.i.i +if.then.i20.i.i.i31.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i.i.i: ; preds = %if.then.i21.i.i.i30.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i27.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i.i.i: ; preds = %if.then.i20.i.i.i31.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i27.i.i.i store ptr %cond.i10.i.i.i24.i.i.i, ptr %actual, align 8 - store ptr %incdec.ptr.i.i.i28.i.i.i, ptr %_M_finish.i.i.i.i.i, align 8 - %add.ptr19.i.i.i32.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i24.i.i.i, i64 %cond.i.i.i.i18.i.i.i - store ptr %add.ptr19.i.i.i32.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i29.i.i.i, ptr %_M_finish.i.i.i.i.i, align 8 + %add.ptr19.i.i.i33.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i24.i.i.i, i64 %cond.i.i.i.i18.i.i.i + store ptr %add.ptr19.i.i.i33.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8 br label %if.end.i.i.i -if.end.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i.i.i, %if.then.i.i4.i.i.i, %while.body.i.i.i - %6 = phi ptr [ %0, %while.body.i.i.i ], [ %incdec.ptr.i.i5.i.i.i, %if.then.i.i4.i.i.i ], [ %incdec.ptr.i.i.i28.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i.i.i ] - %__first.sroa.0.1.i.i.i = phi ptr [ %__first.sroa.0.041.i.i.i, %while.body.i.i.i ], [ %incdec.ptr.i42.i.i.i.ptr, %if.then.i.i4.i.i.i ], [ %incdec.ptr.i42.i.i.i.ptr, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i31.i.i.i ] - %incdec.ptr.i42.i.i.i.add = add nuw nsw i64 %incdec.ptr.i42.i.i.i.idx, 4 - %cmp.i.not.i.i.i = icmp eq i64 %incdec.ptr.i42.i.i.i.add, 28 +if.end.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i.i.i, %if.then.i.i4.i.i.i, %while.body.i.i.i + %6 = phi ptr [ %0, %while.body.i.i.i ], [ %incdec.ptr.i.i5.i.i.i, %if.then.i.i4.i.i.i ], [ %incdec.ptr.i.i.i29.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i.i.i ] + %__first.sroa.0.1.i.i.i = phi ptr [ %__first.sroa.0.042.i.i.i, %while.body.i.i.i ], [ %incdec.ptr.i43.i.i.i.ptr, %if.then.i.i4.i.i.i ], [ %incdec.ptr.i43.i.i.i.ptr, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32.i.i.i ] + %incdec.ptr.i43.i.i.i.add = add nuw nsw i64 %incdec.ptr.i43.i.i.i.idx, 4 + %cmp.i.not.i.i.i = icmp eq i64 %incdec.ptr.i43.i.i.i.add, 28 br i1 %cmp.i.not.i.i.i, label %invoke.cont19, label %while.body.i.i.i, !llvm.loop !1726 invoke.cont19: ; preds = %if.end.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 store i32 1, ptr %ref.tmp12, align 4 %agg.tmp1313.sroa.4.0.ref.tmp12.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp12, i64 4 store i32 -1, ptr %agg.tmp1313.sroa.4.0.ref.tmp12.sroa_idx, align 4 @@ -67838,14 +67856,14 @@ _ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit: ; preds = %_ZNSt16allocator_tr cleanup br label %_ZNSt6vectorIiSaIiEED2Ev.exit17 -_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit.split-lp: ; preds = %entry, %if.then.i.i.i.i34.i.i.i +_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit.split-lp: ; preds = %entry, %if.then.i.i.i.i35.i.i.i %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %_ZNSt6vectorIiSaIiEED2Ev.exit17 _ZNSt6vectorIiSaIiEED2Ev.exit17: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit.split-lp, %_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit ], [ %lpad.loopexit.split-lp, %_ZNSt6vectorIiSaIiEED2Ev.exit17.loopexit.split-lp ] - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 br label %ehcleanup35 lpad17: ; preds = %invoke.cont19 @@ -67864,7 +67882,7 @@ invoke.cont24: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont27, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont24 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #28 br label %invoke.cont27 invoke.cont27: ; preds = %cond.true.i.i, %invoke.cont24 @@ -67877,7 +67895,7 @@ invoke.cont29: ; preds = %invoke.cont27 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont29 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 %11 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -67886,7 +67904,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -67906,7 +67924,7 @@ lpad26: ; preds = %invoke.cont27 lpad30: ; preds = %invoke.cont29 %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup33 ehcleanup33: ; preds = %lpad30, %lpad26 @@ -67919,7 +67937,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i20 = load ptr, ptr %16, align 8 %vfn.i.i.i21 = getelementptr inbounds ptr, ptr %vtable.i.i.i20, i64 1 %17 = load ptr, ptr %vfn.i.i.i21, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit22 _ZN7testing7MessageD2Ev.exit22: ; preds = %ehcleanup33, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i19 @@ -67933,8 +67951,8 @@ if.end: ; preds = %invoke.cont20, %_ZN br i1 %cmp.not.i.i23, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -67944,7 +67962,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i24, label %_ZNSt6vectorIiSaIiEED2Ev.exit27, label %if.then.i.i.i25 if.then.i.i.i25: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit27 _ZNSt6vectorIiSaIiEED2Ev.exit27: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i25 @@ -67952,7 +67970,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit27: ; preds = %_ZN7testing15Assert ehcleanup34: ; preds = %_ZN7testing7MessageD2Ev.exit22, %lpad23 %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit22 ], [ %13, %lpad23 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup35 ehcleanup35: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit17, %ehcleanup34, %lpad17 @@ -67962,7 +67980,7 @@ ehcleanup35: ; preds = %_ZNSt6vectorIiSaIiE br i1 %tobool.not.i.i.i28, label %_ZNSt6vectorIiSaIiEED2Ev.exit31, label %if.then.i.i.i29 if.then.i.i.i29: ; preds = %ehcleanup35 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit31 _ZNSt6vectorIiSaIiEED2Ev.exit31: ; preds = %ehcleanup35, %if.then.i.i.i29 @@ -67978,14 +67996,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_125MutatingTest_Reverse_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_125MutatingTest_Reverse_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -67996,22 +68014,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_125MutatingTest_Reverse_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_125MutatingTest_Reverse_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -68030,9 +68048,9 @@ entry: %ref.tmp43 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.347", align 16 %ref.tmp55 = alloca %"class.testing::Message", align 8 %ref.tmp58 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %test_vector, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %test_vector, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 %ref.tmp.sroa.4.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 @@ -68080,7 +68098,7 @@ invoke.cont18: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont21, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont18 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont21 invoke.cont21: ; preds = %cond.true.i.i, %invoke.cont18 @@ -68093,7 +68111,7 @@ invoke.cont23: ; preds = %invoke.cont21 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 %6 = load ptr, ptr %ref.tmp16, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -68102,7 +68120,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont25, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -68122,7 +68140,7 @@ lpad20: ; preds = %invoke.cont21 lpad24: ; preds = %invoke.cont23 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad20 @@ -68135,7 +68153,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i12 = load ptr, ptr %11, align 8 %vfn.i.i.i13 = getelementptr inbounds ptr, ptr %vtable.i.i.i12, i64 1 %12 = load ptr, ptr %vfn.i.i.i13, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit14 _ZN7testing7MessageD2Ev.exit14: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i11 @@ -68149,8 +68167,8 @@ if.end: ; preds = %invoke.cont15, %_ZN br i1 %cmp.not.i.i15, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -68165,7 +68183,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de for.body.i.i: ; preds = %call5.i.i.i.i.i.i.i.noexc.i, %_ZN7testing15AssertionResultD2Ev.exit %__first.addr.04.i.i.idx = phi i64 [ %__first.addr.04.i.i.add, %call5.i.i.i.i.i.i.i.noexc.i ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit ] - %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #29 + %call5.i.i.i.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #30 to label %call5.i.i.i.i.i.i.i.noexc.i unwind label %lpad3.i call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i @@ -68173,7 +68191,7 @@ call5.i.i.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_List_node", ptr %call5.i.i.i.i.i.i.i2.i, i64 0, i32 1 %14 = load i32, ptr %__first.addr.04.i.i.ptr, align 4 store i32 %14, ptr %_M_storage.i.i.i.i.i.i, align 4 - call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %test_list) #27 + call void @_ZNSt8__detail15_List_node_base7_M_hookEPS0_(ptr noundef nonnull align 8 dereferenceable(16) %call5.i.i.i.i.i.i.i2.i, ptr noundef nonnull %test_list) #28 %15 = load i64, ptr %_M_size.i.i.i.i.i, align 8 %add.i.i.i.i.i = add i64 %15, 1 store i64 %add.i.i.i.i.i, ptr %_M_size.i.i.i.i.i, align 8 @@ -68191,7 +68209,7 @@ lpad3.i: ; preds = %for.body.i.i while.body.i.i.i16: ; preds = %lpad3.i, %while.body.i.i.i16 %__cur.05.i.i.i = phi ptr [ %18, %while.body.i.i.i16 ], [ %17, %lpad3.i ] %18 = load ptr, ptr %__cur.05.i.i.i, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i) #29 %cmp.not.i.i.i = icmp eq ptr %18, %test_list br i1 %cmp.not.i.i.i, label %ehcleanup70, label %while.body.i.i.i16, !llvm.loop !7 @@ -68232,7 +68250,7 @@ invoke.cont51: ; preds = %invoke.cont50 ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit14, %lpad17 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit14 ], [ %8, %lpad17 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup70 lpad40: ; preds = %invoke.cont50 @@ -68251,7 +68269,7 @@ invoke.cont57: ; preds = %if.else54 br i1 %cmp.i.i.not.i.i28, label %invoke.cont60, label %cond.true.i.i29 cond.true.i.i29: ; preds = %invoke.cont57 - %call4.i.i30 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %27) #27 + %call4.i.i30 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %27) #28 br label %invoke.cont60 invoke.cont60: ; preds = %cond.true.i.i29, %invoke.cont57 @@ -68264,7 +68282,7 @@ invoke.cont62: ; preds = %invoke.cont60 to label %invoke.cont64 unwind label %lpad63 invoke.cont64: ; preds = %invoke.cont62 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #28 %28 = load ptr, ptr %ref.tmp55, align 8 %cmp.not.i.i33 = icmp eq ptr %28, null br i1 %cmp.not.i.i33, label %_ZN7testing7MessageD2Ev.exit37, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 @@ -68273,7 +68291,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i35 = load ptr, ptr %28, align 8 %vfn.i.i.i36 = getelementptr inbounds ptr, ptr %vtable.i.i.i35, i64 1 %29 = load ptr, ptr %vfn.i.i.i36, align 8 - call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #27 + call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #28 br label %_ZN7testing7MessageD2Ev.exit37 _ZN7testing7MessageD2Ev.exit37: ; preds = %invoke.cont64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 @@ -68293,7 +68311,7 @@ lpad59: ; preds = %invoke.cont60 lpad63: ; preds = %invoke.cont62 %32 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #28 br label %ehcleanup66 ehcleanup66: ; preds = %lpad63, %lpad59 @@ -68306,7 +68324,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i40 = load ptr, ptr %33, align 8 %vfn.i.i.i41 = getelementptr inbounds ptr, ptr %vtable.i.i.i40, i64 1 %34 = load ptr, ptr %vfn.i.i.i41, align 8 - call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #27 + call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #28 br label %_ZN7testing7MessageD2Ev.exit42 _ZN7testing7MessageD2Ev.exit42: ; preds = %ehcleanup66, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i39 @@ -68320,8 +68338,8 @@ if.end67: ; preds = %invoke.cont51, %_ZN br i1 %cmp.not.i.i44, label %_ZN7testing15AssertionResultD2Ev.exit46, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45: ; preds = %if.end67 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #27 - call void @_ZdlPv(ptr noundef nonnull %35) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #28 + call void @_ZdlPv(ptr noundef nonnull %35) #29 br label %_ZN7testing15AssertionResultD2Ev.exit46 _ZN7testing15AssertionResultD2Ev.exit46: ; preds = %if.end67, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45 @@ -68333,7 +68351,7 @@ _ZN7testing15AssertionResultD2Ev.exit46: ; preds = %if.end67, %_ZNKSt14 while.body.i.i.i48: ; preds = %_ZN7testing15AssertionResultD2Ev.exit46, %while.body.i.i.i48 %__cur.05.i.i.i49 = phi ptr [ %37, %while.body.i.i.i48 ], [ %36, %_ZN7testing15AssertionResultD2Ev.exit46 ] %37 = load ptr, ptr %__cur.05.i.i.i49, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i49) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i49) #29 %cmp.not.i.i.i50 = icmp eq ptr %37, %test_list br i1 %cmp.not.i.i.i50, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i48, !llvm.loop !7 @@ -68343,7 +68361,7 @@ _ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i48, br i1 %tobool.not.i.i.i52, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %38) #28 + call void @_ZdlPv(ptr noundef nonnull %38) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, %if.then.i.i.i @@ -68351,7 +68369,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZNSt7__cxx114listI ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit42, %lpad56 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit42 ], [ %30, %lpad56 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar42) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar42) #28 br label %ehcleanup69 ehcleanup69: ; preds = %ehcleanup68, %lpad40 @@ -68363,7 +68381,7 @@ ehcleanup69: ; preds = %ehcleanup68, %lpad4 while.body.i.i.i55: ; preds = %ehcleanup69, %while.body.i.i.i55 %__cur.05.i.i.i56 = phi ptr [ %40, %while.body.i.i.i55 ], [ %39, %ehcleanup69 ] %40 = load ptr, ptr %__cur.05.i.i.i56, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i56) #28 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i56) #29 %cmp.not.i.i.i57 = icmp eq ptr %40, %test_list br i1 %cmp.not.i.i.i57, label %ehcleanup70, label %while.body.i.i.i55, !llvm.loop !7 @@ -68374,7 +68392,7 @@ ehcleanup70: ; preds = %while.body.i.i.i16, br i1 %tobool.not.i.i.i60, label %eh.resume, label %if.then.i.i.i61 if.then.i.i.i61: ; preds = %ehcleanup70 - call void @_ZdlPv(ptr noundef nonnull %41) #28 + call void @_ZdlPv(ptr noundef nonnull %41) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i61, %ehcleanup70 @@ -68418,13 +68436,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -68487,13 +68505,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -68547,7 +68565,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -68579,7 +68597,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -68593,7 +68611,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -68602,28 +68620,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -68638,23 +68656,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -68688,7 +68706,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKNSt7__cxx114listIiSaIiEEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -68696,7 +68714,7 @@ _ZN7testing7MatcherIRKNSt7__cxx114listIiSaIiEEEED2Ev.exit: ; preds = %cleanup, % ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKNSt7__cxx114listIiSaIiEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKNSt7__cxx114listIiSaIiEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -68716,13 +68734,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -68765,7 +68783,7 @@ if.else.i.i: ; preds = %if.then to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %if.else.i.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEE7MatchesES7_.exit common.resume: ; preds = %ehcleanup22, %lpad.i.i @@ -68775,7 +68793,7 @@ common.resume: ; preds = %ehcleanup22, %lpad. lpad.i.i: ; preds = %if.else.i.i %2 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEE7MatchesES7_.exit: ; preds = %if.then, %invoke.cont.i.i @@ -68812,13 +68830,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup22 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -68838,12 +68856,12 @@ invoke.cont4: ; preds = %invoke.cont to label %invoke.cont5 unwind label %lpad invoke.cont5: ; preds = %invoke.cont4 - %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 %cmp.i16 = icmp ult i64 %call.i, 21 br i1 %cmp.i16, label %if.then7, label %_ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %invoke.cont5 - %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #27 + %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #28 %cmp2.i = icmp eq i64 %call1.i, -1 br i1 %cmp2.i, label %if.then7, label %if.end16 @@ -68876,7 +68894,7 @@ if.end16: ; preds = %invoke.cont12, %_ZN invoke.cont18: ; preds = %if.end16 %13 = load ptr, ptr %stream_.i, align 8 - %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 + %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 %cmp.i22 = icmp eq ptr %13, null %or.cond.not.i = or i1 %cmp.i22, %call.i21 br i1 %or.cond.not.i, label %invoke.cont21, label %if.then.i @@ -68890,27 +68908,27 @@ call1.i23.noexc: ; preds = %if.then.i to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont18, %call1.i23.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %return lpad20: ; preds = %call1.i23.noexc, %if.then.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad9 %.pn = phi { ptr, i32 } [ %14, %lpad20 ], [ %12, %lpad9 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup22 ehcleanup22: ; preds = %lpad, %lpad.i, %ehcleanup %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %11, %lpad ], [ %6, %lpad.i ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %common.resume return: ; preds = %invoke.cont21, %_ZNK7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEE7MatchesES7_.exit @@ -68952,7 +68970,7 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i @@ -68965,7 +68983,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -68981,7 +68999,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -68997,7 +69015,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.620", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEE9GetVTableINS8_11ValuePolicyIPKNS_16MatcherInterfaceIS7_EELb1EEEEEPKNS8_6VTableEvE7kVTableB5cxx11, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -69016,7 +69034,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -69031,7 +69049,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -69045,12 +69063,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -69152,7 +69170,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %17 = landingpad { ptr, i32 } catch ptr null %18 = extractvalue { ptr, i32 } %17, 0 - call void @__clang_call_terminate(ptr %18) #31 + call void @__clang_call_terminate(ptr %18) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont9, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -69162,8 +69180,8 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont9, %_ZNK lpad8: ; preds = %if.else.i.i %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #28 resume { ptr, i32 } %19 while.end: ; preds = %_ZN7testing7MatcherIRKiED2Ev.exit, %entry @@ -69185,7 +69203,7 @@ for.body.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !481 @@ -69200,7 +69218,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -69222,7 +69240,7 @@ for.body.i.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #28 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i.i, label %invoke.contthread-pre-split.i.i, label %for.body.i.i.i.i.i, !llvm.loop !481 @@ -69237,11 +69255,11 @@ invoke.cont.i.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal22ElementsAreMatcherImplIRKNSt7__cxx114listIiSaIiEEEED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKNSt7__cxx114listIiSaIiEEEED2Ev.exit _ZN7testing8internal22ElementsAreMatcherImplIRKNSt7__cxx114listIiSaIiEEEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -69286,7 +69304,7 @@ if.else.i: ; preds = %if.then5 to label %invoke.cont3.i unwind label %lpad.i invoke.cont3.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53, %lpad.body, %lpad.i24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i42, %lpad.i @@ -69296,7 +69314,7 @@ common.resume: ; preds = %_ZNKSt14default_del lpad.i: ; preds = %if.else.i %4 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit: ; preds = %if.then5, %invoke.cont3.i @@ -69343,7 +69361,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKNSt7__cxx114listIiSaIiEEEE8ElementsEm.exit lpad.i24: ; preds = %invoke.cont2.i, %invoke.cont.i, %if.else8 @@ -69357,7 +69375,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %14, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %common.resume _ZN7testing8internal22ElementsAreMatcherImplIRKNSt7__cxx114listIiSaIiEEEE8ElementsEm.exit: ; preds = %invoke.cont4.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i @@ -69373,11 +69391,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKNSt7__cxx114listIiSaIiEEEE8Elemen lpad.i28: ; preds = %.noexc %16 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i26) %call13 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i27, ptr noundef nonnull @.str.385) to label %invoke.cont12 unwind label %lpad @@ -69391,7 +69409,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %17, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %18 = load ptr, ptr %vfn.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -69421,13 +69439,13 @@ if.else.i40: ; preds = %for.body to label %invoke.cont3.i43 unwind label %lpad.i42 invoke.cont3.i43: ; preds = %if.else.i40 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45 lpad.i42: ; preds = %if.else.i40 %23 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45: ; preds = %for.body, %invoke.cont3.i43 @@ -69471,7 +69489,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i54 = load ptr, ptr %29, align 8 %vfn.i.i.i55 = getelementptr inbounds ptr, ptr %vtable.i.i.i54, i64 1 %30 = load ptr, ptr %vfn.i.i.i55, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45, %if.then23 @@ -69537,7 +69555,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKNSt7__cxx114listIiSaIiEEEE8ElementsEm.exit lpad.i: ; preds = %invoke.cont2.i, %invoke.cont.i, %if.end @@ -69551,7 +69569,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %9, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %common.resume common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i36, %lpad.body, %lpad.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i27 @@ -69571,11 +69589,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKNSt7__cxx114listIiSaIiEEEE8Elemen lpad.i16: ; preds = %.noexc %11 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i15) %call7 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i, ptr noundef nonnull @.str.393) to label %invoke.cont6 unwind label %lpad @@ -69589,7 +69607,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont6, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -69619,13 +69637,13 @@ if.else.i: ; preds = %for.body to label %invoke.cont.i28 unwind label %lpad.i27 invoke.cont.i28: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit lpad.i27: ; preds = %if.else.i %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit: ; preds = %for.body, %invoke.cont.i28 @@ -69669,7 +69687,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i37 = load ptr, ptr %24, align 8 %vfn.i.i.i38 = getelementptr inbounds ptr, ptr %vtable.i.i.i37, i64 1 %25 = load ptr, ptr %vfn.i.i.i38, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #27 + call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit, %if.then16 @@ -69709,7 +69727,7 @@ entry: br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i if.then.i.i: ; preds = %entry - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #31 unreachable _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i: ; preds = %entry @@ -69723,7 +69741,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %sub.ptr.div.i.i, 5 - %call5.i.i.i.i2.i.i18 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i2.i.i18 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 store ptr %call5.i.i.i.i2.i.i18, ptr %explanations, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %explanations, i64 0, i32 1 store ptr %call5.i.i.i.i2.i.i18, ptr %_M_finish.i.i.i, align 8 @@ -69735,7 +69753,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i %__cur.06.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %call5.i.i.i.i2.i.i18, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] %__n.addr.05.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %sub.ptr.div.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #28 %dec.i.i.i.i.i = add i64 %__n.addr.05.i.i.i.i.i, -1 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.06.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq i64 %dec.i.i.i.i.i, 0 @@ -69797,7 +69815,7 @@ if.else.i.us: ; preds = %call.i.noexc.us to label %invoke.cont.i.us unwind label %lpad.i.split.us invoke.cont.i.us: ; preds = %.noexc30.us - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i.us if.end.i.us: ; preds = %invoke.cont.i.us, %call.i.noexc.us @@ -69814,10 +69832,10 @@ invoke.cont16.us: ; preds = %if.end.i.us invoke.cont20.us: ; preds = %invoke.cont16.us %9 = load ptr, ptr %explanations, align 8 %add.ptr.i34.us = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %9, i64 %storemerge186.us - %call22.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i34.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #27 + %call22.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i34.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp19) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br i1 %call5.i31.us, label %for.inc.us, label %for.end for.inc.us: ; preds = %invoke.cont20.us @@ -69839,7 +69857,7 @@ lpad15.split.us: ; preds = %invoke.cont16.us, % lpad.i.split.us: ; preds = %.noexc30.us %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %lpad15.body land.rhs: ; preds = %land.rhs.lr.ph, %for.inc @@ -69885,7 +69903,7 @@ lpad3.loopexit.split-lp.loopexit.split-lp: ; preds = %call1.i.noexc, %if. lpad15.body: ; preds = %lpad.i.split.us, %lpad15.split.us %eh.lpad-body = phi { ptr, i32 } [ %10, %lpad15.split.us ], [ %11, %lpad.i.split.us ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup call.i1.i.noexc: ; preds = %for.body @@ -69900,13 +69918,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc41 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc41 %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -70010,7 +70028,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %26, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %27 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #27 + call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 br label %invoke.cont52 lpad.i56: ; preds = %invoke.cont2.i, %invoke.cont.i57, %.noexc59 @@ -70024,7 +70042,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %29, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %30 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %ehcleanup invoke.cont52: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont4.i @@ -70045,11 +70063,11 @@ if.then.i65: ; preds = %invoke.cont52 lpad.i.i66: ; preds = %.noexc68 %32 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i62) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i62) #28 br label %lpad53.body _ZN7testinglsERSoRKNS_7MessageE.exit.i: ; preds = %.noexc68 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i62) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i62) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i62) br label %invoke.cont54 @@ -70062,7 +70080,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %33, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %34 = load ptr, ptr %vfn.i.i.i, align 8 - call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #27 + call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont54, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -70084,7 +70102,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i72 = load ptr, ptr %36, align 8 %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 %37 = load ptr, ptr %vfn.i.i.i73, align 8 - call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #27 + call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #28 br label %_ZN7testing7MessageD2Ev.exit74 _ZN7testing7MessageD2Ev.exit74: ; preds = %lpad53.body, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 @@ -70132,7 +70150,7 @@ invoke.cont66: ; preds = %if.then.i89.invoke. %39 = phi ptr [ %.pre226, %if.then.i89.invoke.cont66_crit_edge ], [ null, %if.then61 ], [ null, %invoke.cont62 ], [ null, %invoke.cont64 ] %40 = load ptr, ptr %explanations, align 8 %add.ptr.i93 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %40, i64 %storemerge.lcssa - %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i93) #27 + %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i93) #28 %cmp.i95 = icmp eq ptr %39, null %or.cond.not.i = or i1 %cmp.i95, %call.i br i1 %or.cond.not.i, label %cleanup, label %if.then.i96 @@ -70160,7 +70178,7 @@ for.body78: ; preds = %for.body78.preheade %reason_printed.0221 = phi i8 [ %reason_printed.1, %for.inc97 ], [ 0, %for.body78.preheader ] %storemerge15220 = phi i64 [ %inc98, %for.inc97 ], [ 0, %for.body78.preheader ] %add.ptr.i106 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %.pre, i64 %storemerge15220 - %call81 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i106) #27 + %call81 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i106) #28 br i1 %call81, label %for.inc97, label %if.then82 if.then82: ; preds = %for.body78 @@ -70235,7 +70253,7 @@ cleanup: ; preds = %for.inc97, %invoke. for.body.i.i.i.i: ; preds = %cleanup, %for.body.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %47, %cleanup ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i140 = icmp eq ptr %incdec.ptr.i.i.i.i, %48 br i1 %cmp.not.i.i.i.i140, label %invoke.cont.i141, label %for.body.i.i.i.i, !llvm.loop !557 @@ -70245,7 +70263,7 @@ invoke.cont.i141: ; preds = %for.body.i.i.i.i, % br i1 %tobool.not.i.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i141 - call void @_ZdlPv(ptr noundef nonnull %47) #28 + call void @_ZdlPv(ptr noundef nonnull %47) #29 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i141, %if.then.i.i.i @@ -70253,7 +70271,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.ex ehcleanup: ; preds = %lpad3.loopexit, %lpad3.loopexit.split-lp.loopexit.split, %lpad3.loopexit.split-lp.loopexit.split.us, %lpad3.loopexit.split-lp.loopexit.split-lp, %lpad.i56, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i.i, %_ZN7testing7MessageD2Ev.exit74, %lpad15.body %.pn = phi { ptr, i32 } [ %eh.lpad-body69, %_ZN7testing7MessageD2Ev.exit74 ], [ %eh.lpad-body, %lpad15.body ], [ %15, %lpad.i.i ], [ %28, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i ], [ %28, %lpad.i56 ], [ %lpad.loopexit, %lpad3.loopexit ], [ %lpad.loopexit.split-lp172, %lpad3.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit171, %lpad3.loopexit.split-lp.loopexit.split ], [ %lpad.loopexit171.us, %lpad3.loopexit.split-lp.loopexit.split.us ] - call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #27 + call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #28 resume { ptr, i32 } %.pn } @@ -70291,11 +70309,11 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKNSt7__cxx114listIiSaIiEEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -70315,13 +70333,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -70369,7 +70387,7 @@ terminate.lpad: ; preds = %if.then.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable } @@ -70407,11 +70425,11 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKNSt7__cxx114listIiSaIiEEEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -70470,11 +70488,11 @@ _ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKNSt7__cxx114listIiSaIiEEEE %vtable.i.i.i = load ptr, ptr %0, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %1 = load ptr, ptr %vfn.i.i.i, align 8 - tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #27 + tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #28 br label %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKNSt7__cxx114listIiSaIiEEEEESt14default_deleteISB_EEED2Ev.exit _ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKNSt7__cxx114listIiSaIiEEEEESt14default_deleteISB_EEED2Ev.exit: ; preds = %delete.notnull, %_ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKNSt7__cxx114listIiSaIiEEEEEEclEPS9_.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %shared) #28 + tail call void @_ZdlPv(ptr noundef nonnull %shared) #29 br label %delete.end delete.end: ; preds = %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKNSt7__cxx114listIiSaIiEEEEESt14default_deleteISB_EEED2Ev.exit, %entry @@ -70490,14 +70508,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129MutatingTest_ReverseCopy_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129MutatingTest_ReverseCopy_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -70508,22 +70526,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129MutatingTest_ReverseCopy_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129MutatingTest_ReverseCopy_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -70536,16 +70554,16 @@ entry: %ref.tmp24 = alloca %"class.testing::Message", align 8 %ref.tmp27 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_finish.i.i.i2.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 br label %while.body.i.i while.body.i.i: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i, %entry %0 = phi ptr [ null, %entry ], [ %6, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i ] - %__last.sroa.0.04.i.i = phi ptr [ %add.ptr.i1.i, %entry ], [ %incdec.ptr.i.i.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i ] + %__last.sroa.0.04.i.i = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i.i, %entry ], [ %incdec.ptr.i.i.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i ] %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %__last.sroa.0.04.i.i, i64 -1 %1 = load ptr, ptr %_M_end_of_storage.i.i.i.i, align 8 %cmp.not.i.i.i.i = icmp eq ptr %0, %1 @@ -70568,7 +70586,7 @@ if.else.i.i.i.i: ; preds = %while.body.i.i br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit.split-lp .noexc: ; preds = %if.then.i.i.i.i.i.i @@ -70587,7 +70605,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i.i6 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i.i6 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i.i @@ -70595,23 +70613,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i %5 = load i32, ptr %incdec.ptr.i.i.i, align 4 store i32 %5, ptr %add.ptr.i.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %actual, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i2.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -70624,7 +70643,7 @@ _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i: ; preds = %_ZNSt6 br i1 %cmp.i.not.i.i, label %invoke.cont21, label %while.body.i.i, !llvm.loop !1750 invoke.cont21: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 store <4 x i32> , ptr %ref.tmp13, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(16) %ref.tmp13, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(24) %actual) to label %invoke.cont22 unwind label %lpad19 @@ -70647,7 +70666,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i. _ZNSt6vectorIiSaIiEED2Ev.exit13: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit.split-lp, %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit ], [ %lpad.loopexit.split-lp, %_ZNSt6vectorIiSaIiEED2Ev.exit13.loopexit.split-lp ] - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 br label %ehcleanup37 lpad19: ; preds = %invoke.cont21 @@ -70666,7 +70685,7 @@ invoke.cont26: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont29, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont26 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %10) #28 br label %invoke.cont29 invoke.cont29: ; preds = %cond.true.i.i, %invoke.cont26 @@ -70679,7 +70698,7 @@ invoke.cont31: ; preds = %invoke.cont29 to label %invoke.cont33 unwind label %lpad32 invoke.cont33: ; preds = %invoke.cont31 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 %11 = load ptr, ptr %ref.tmp24, align 8 %cmp.not.i.i = icmp eq ptr %11, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -70688,7 +70707,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont33, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -70708,7 +70727,7 @@ lpad28: ; preds = %invoke.cont29 lpad32: ; preds = %invoke.cont31 %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp27) #28 br label %ehcleanup35 ehcleanup35: ; preds = %lpad32, %lpad28 @@ -70721,7 +70740,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i16 = load ptr, ptr %16, align 8 %vfn.i.i.i17 = getelementptr inbounds ptr, ptr %vtable.i.i.i16, i64 1 %17 = load ptr, ptr %vfn.i.i.i17, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit18 _ZN7testing7MessageD2Ev.exit18: ; preds = %ehcleanup35, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i15 @@ -70735,8 +70754,8 @@ if.end: ; preds = %invoke.cont22, %_ZN br i1 %cmp.not.i.i19, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #27 - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -70746,7 +70765,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i20, label %_ZNSt6vectorIiSaIiEED2Ev.exit23, label %if.then.i.i.i21 if.then.i.i.i21: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit23 _ZNSt6vectorIiSaIiEED2Ev.exit23: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i21 @@ -70754,7 +70773,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit23: ; preds = %_ZN7testing15Assert ehcleanup36: ; preds = %_ZN7testing7MessageD2Ev.exit18, %lpad25 %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit18 ], [ %13, %lpad25 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup37 ehcleanup37: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit13, %ehcleanup36, %lpad19 @@ -70764,7 +70783,7 @@ ehcleanup37: ; preds = %_ZNSt6vectorIiSaIiE br i1 %tobool.not.i.i.i24, label %_ZNSt6vectorIiSaIiEED2Ev.exit27, label %if.then.i.i.i25 if.then.i.i.i25: ; preds = %ehcleanup37 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit27 _ZNSt6vectorIiSaIiEED2Ev.exit27: ; preds = %ehcleanup37, %if.then.i.i.i25 @@ -70780,14 +70799,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_124MutatingTest_Rotate_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_124MutatingTest_Rotate_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -70798,22 +70817,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_124MutatingTest_Rotate_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_124MutatingTest_Rotate_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -70829,9 +70848,9 @@ entry: %ref.tmp46 = alloca i32, align 4 %ref.tmp51 = alloca %"class.testing::Message", align 8 %ref.tmp54 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %actual, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 @@ -70842,25 +70861,25 @@ entry: to label %invoke.cont11 unwind label %lpad10 invoke.cont11: ; preds = %entry - %call5.i.i.i.i1.i.i.i.i11 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad10 + %call5.i.i.i.i1.i.i.i.i11 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %lpad10 -cond.true.i.i.i.i.i.i.i: ; preds = %invoke.cont11 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %invoke.cont11 store <4 x i32> , ptr %call5.i.i.i.i1.i.i.i.i11, align 4, !noalias !1751 tail call void @llvm.experimental.noalias.scope.decl(metadata !1756) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp14, i8 0, i64 24, i1 false), !alias.scope !1756 - %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont27 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !1756 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %0 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21 -invoke.cont27: ; preds = %cond.true.i.i.i.i.i.i.i +invoke.cont27: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp14, align 8, !alias.scope !1756 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp14, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 4 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 16 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp14, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !1756 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i1.i.i.i.i11, i64 16, i1 false) @@ -70874,11 +70893,11 @@ invoke.cont29: ; preds = %invoke.cont27 br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i15 if.then.i.i.i.i.i15: ; preds = %invoke.cont29 - call void @_ZdlPv(ptr noundef nonnull %1) #28 + call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit _ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %invoke.cont29, %if.then.i.i.i.i.i15 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i.i11) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i.i11) #29 %2 = load i8, ptr %gtest_ar, align 8 %3 = and i8 %2, 1 %tobool.i.not = icmp eq i8 %3, 0 @@ -70897,12 +70916,12 @@ lpad28: ; preds = %invoke.cont27 br i1 %tobool.not.i.i.i.i.i16, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21, label %if.then.i.i.i.i.i17 if.then.i.i.i.i.i17: ; preds = %lpad28 - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21 _ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21: ; preds = %if.then.i.i.i.i.i17, %lpad28, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i %.pn = phi { ptr, i32 } [ %0, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ], [ %5, %lpad28 ], [ %5, %if.then.i.i.i.i.i17 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i.i11) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i.i11) #29 br label %ehcleanup65 if.else: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit @@ -70916,7 +70935,7 @@ invoke.cont33: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont36, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont33 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont36 invoke.cont36: ; preds = %cond.true.i.i, %invoke.cont33 @@ -70929,7 +70948,7 @@ invoke.cont38: ; preds = %invoke.cont36 to label %invoke.cont40 unwind label %lpad39 invoke.cont40: ; preds = %invoke.cont38 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp34) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp34) #28 %8 = load ptr, ptr %ref.tmp31, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -70938,7 +70957,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont40, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -70958,7 +70977,7 @@ lpad35: ; preds = %invoke.cont36 lpad39: ; preds = %invoke.cont38 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp34) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp34) #28 br label %ehcleanup42 ehcleanup42: ; preds = %lpad39, %lpad35 @@ -70971,7 +70990,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i24 = load ptr, ptr %13, align 8 %vfn.i.i.i25 = getelementptr inbounds ptr, ptr %vtable.i.i.i24, i64 1 %14 = load ptr, ptr %vfn.i.i.i25, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit26 _ZN7testing7MessageD2Ev.exit26: ; preds = %ehcleanup42, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i23 @@ -70985,8 +71004,8 @@ if.end: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i27, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -71012,7 +71031,7 @@ invoke.cont47: ; preds = %if.then.i.i, %if.en ehcleanup43: ; preds = %_ZN7testing7MessageD2Ev.exit26, %lpad32 %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit26 ], [ %10, %lpad32 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup65 if.else50: ; preds = %invoke.cont47 @@ -71026,7 +71045,7 @@ invoke.cont53: ; preds = %if.else50 br i1 %cmp.i.i.not.i.i32, label %invoke.cont56, label %cond.true.i.i33 cond.true.i.i33: ; preds = %invoke.cont53 - %call4.i.i34 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #27 + %call4.i.i34 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %19) #28 br label %invoke.cont56 invoke.cont56: ; preds = %cond.true.i.i33, %invoke.cont53 @@ -71039,7 +71058,7 @@ invoke.cont58: ; preds = %invoke.cont56 to label %invoke.cont60 unwind label %lpad59 invoke.cont60: ; preds = %invoke.cont58 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54) #28 %20 = load ptr, ptr %ref.tmp51, align 8 %cmp.not.i.i37 = icmp eq ptr %20, null br i1 %cmp.not.i.i37, label %_ZN7testing7MessageD2Ev.exit41, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i38 @@ -71048,7 +71067,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i39 = load ptr, ptr %20, align 8 %vfn.i.i.i40 = getelementptr inbounds ptr, ptr %vtable.i.i.i39, i64 1 %21 = load ptr, ptr %vfn.i.i.i40, align 8 - call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #27 + call void %21(ptr noundef nonnull align 8 dereferenceable(128) %20) #28 br label %_ZN7testing7MessageD2Ev.exit41 _ZN7testing7MessageD2Ev.exit41: ; preds = %invoke.cont60, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i38 @@ -71068,7 +71087,7 @@ lpad55: ; preds = %invoke.cont56 lpad59: ; preds = %invoke.cont58 %24 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp54) #28 br label %ehcleanup62 ehcleanup62: ; preds = %lpad59, %lpad55 @@ -71081,7 +71100,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i44 = load ptr, ptr %25, align 8 %vfn.i.i.i45 = getelementptr inbounds ptr, ptr %vtable.i.i.i44, i64 1 %26 = load ptr, ptr %vfn.i.i.i45, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %_ZN7testing7MessageD2Ev.exit46 _ZN7testing7MessageD2Ev.exit46: ; preds = %ehcleanup62, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i43 @@ -71095,8 +71114,8 @@ if.end63: ; preds = %invoke.cont47, %_ZN br i1 %cmp.not.i.i48, label %_ZN7testing15AssertionResultD2Ev.exit50, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %if.end63 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #27 - call void @_ZdlPv(ptr noundef nonnull %27) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #28 + call void @_ZdlPv(ptr noundef nonnull %27) #29 br label %_ZN7testing15AssertionResultD2Ev.exit50 _ZN7testing15AssertionResultD2Ev.exit50: ; preds = %if.end63, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 @@ -71106,7 +71125,7 @@ _ZN7testing15AssertionResultD2Ev.exit50: ; preds = %if.end63, %_ZNKSt14 br i1 %tobool.not.i.i.i51, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit50 - call void @_ZdlPv(ptr noundef nonnull %28) #28 + call void @_ZdlPv(ptr noundef nonnull %28) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit50, %if.then.i.i.i @@ -71114,7 +71133,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup64: ; preds = %_ZN7testing7MessageD2Ev.exit46, %lpad52 %.pn5.pn = phi { ptr, i32 } [ %.pn5, %_ZN7testing7MessageD2Ev.exit46 ], [ %22, %lpad52 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar44) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar44) #28 br label %ehcleanup65 ehcleanup65: ; preds = %ehcleanup64, %ehcleanup43, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21, %lpad10 @@ -71124,7 +71143,7 @@ ehcleanup65: ; preds = %ehcleanup64, %ehcle br i1 %tobool.not.i.i.i53, label %eh.resume, label %if.then.i.i.i54 if.then.i.i.i54: ; preds = %ehcleanup65 - call void @_ZdlPv(ptr noundef nonnull %29) #28 + call void @_ZdlPv(ptr noundef nonnull %29) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i54, %ehcleanup65 @@ -71149,7 +71168,7 @@ entry: tail call void @llvm.experimental.noalias.scope.decl(metadata !1770) tail call void @llvm.experimental.noalias.scope.decl(metadata !1773) tail call void @llvm.experimental.noalias.scope.decl(metadata !1776) - %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29, !noalias !1779 + %call.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30, !noalias !1779 %0 = load ptr, ptr %this, align 8, !noalias !1779 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 %1 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8, !noalias !1779 @@ -71163,14 +71182,14 @@ common.resume: ; preds = %ehcleanup42, %lpad. lpad.i.i.i.i.i: ; preds = %entry %2 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call.i.i.i.i.i) #28, !noalias !1779 + tail call void @_ZdlPv(ptr noundef nonnull %call.i.i.i.i.i) #29, !noalias !1779 br label %common.resume _ZN7testing15SafeMatcherCastIRKSt6vectorIiSaIiEENS_8internal23ElementsAreArrayMatcherIiEEEENS_7MatcherIT_EERKT0_.exit: ; preds = %entry %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %matcher, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %matcher, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !1779 - %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29, !noalias !1779 + %call.i.i1.i.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30, !noalias !1779 store i32 1, ptr %call.i.i1.i.i.i.i.i.i.i, align 4, !noalias !1779 %value.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.testing::internal::SharedPayload", ptr %call.i.i1.i.i.i.i.i.i.i, i64 0, i32 1 %3 = ptrtoint ptr %call.i.i.i.i.i to i64 @@ -71197,13 +71216,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %4 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -71266,13 +71285,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -71326,7 +71345,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -71358,7 +71377,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %15, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -71372,7 +71391,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %18, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %19 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -71381,28 +71400,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %20 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %20, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #27 - call void @_ZdlPv(ptr noundef nonnull %20) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #28 + call void @_ZdlPv(ptr noundef nonnull %20) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %21 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -71417,23 +71436,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %23, %lpad36 ], [ %17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %17, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %22, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %13, %lpad16 ], [ %21, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %12, %lpad4 ], [ %9, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -71466,7 +71485,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %31 = landingpad { ptr, i32 } catch ptr null %32 = extractvalue { ptr, i32 } %31, 0 - call void @__clang_call_terminate(ptr %32) #31 + call void @__clang_call_terminate(ptr %32) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -71474,7 +71493,7 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %7, %lpad ], [ %4, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 br label %common.resume } @@ -71560,7 +71579,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %13 = landingpad { ptr, i32 } catch ptr null %14 = extractvalue { ptr, i32 } %13, 0 - call void @__clang_call_terminate(ptr %14) #31 + call void @__clang_call_terminate(ptr %14) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont9, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -71570,8 +71589,8 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont9, %_ZNK lpad8: ; preds = %if.else.i.i %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #28 resume { ptr, i32 } %15 while.end: ; preds = %_ZN7testing7MatcherIRKiED2Ev.exit, %entry @@ -71587,14 +71606,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_RotateCopy_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_128MutatingTest_RotateCopy_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -71605,22 +71624,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_RotateCopy_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_128MutatingTest_RotateCopy_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -71632,7 +71651,7 @@ entry: %ref.tmp24 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.324", align 16 %ref.tmp35 = alloca %"class.testing::Message", align 8 %ref.tmp38 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) @@ -71677,39 +71696,40 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i40: ; preds = %if.else.i.i. _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i49: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i40 %mul.i.i.i.i.i.i.i50 = shl nuw nsw i64 %cond.i.i.i.i.i47, 2 - %call5.i.i.i.i.i.i.i64 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i50) #29 + %call5.i.i.i.i.i.i.i65 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i50) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i51 unwind label %lpad11.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i51: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i49, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i40 - %cond.i10.i.i.i.i52 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i40 ], [ %call5.i.i.i.i.i.i.i64, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i49 ] + %cond.i10.i.i.i.i52 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i40 ], [ %call5.i.i.i.i.i.i.i65, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i49 ] %add.ptr.i.i.i.i53 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i52, i64 %sub.ptr.div.i.i.i.i.i.i41 %5 = load i32, ptr %__first.addr.05.i, align 4 store i32 %5, ptr %add.ptr.i.i.i.i53, align 4 - %cmp.i.i.i11.i.i.i.i54 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i41, 0 - br i1 %cmp.i.i.i11.i.i.i.i54, label %if.then.i.i.i12.i.i.i.i60, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i55 + %cmp.i.i.i11.i.i.i.i54 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i38, 0 + br i1 %cmp.i.i.i11.i.i.i.i54, label %if.then.i.i.i12.i.i.i.i61, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i55 -if.then.i.i.i12.i.i.i.i60: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i51 +if.then.i.i.i12.i.i.i.i61: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i51 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i52, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i38, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i55 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i55 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i55: ; preds = %if.then.i.i.i12.i.i.i.i60, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i51 - %incdec.ptr.i.i.i.i56 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i53, i64 1 - %tobool.not.i.i.i.i.i57 = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i.i57, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i58 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i55: ; preds = %if.then.i.i.i12.i.i.i.i61, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i51 + %add.ptr.i.i.i.i.i.i.i56 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i52, i64 %sub.ptr.sub.i.i.i.i.i.i38 + %incdec.ptr.i.i.i.i57 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i56, i64 1 + %tobool.not.i.i.i.i.i58 = icmp eq ptr %4, null + br i1 %tobool.not.i.i.i.i.i58, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i59 -if.then.i21.i.i.i.i58: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i55 - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 +if.then.i20.i.i.i.i59: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i55 + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i58, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i55 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i59, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i55 store ptr %cond.i10.i.i.i.i52, ptr %actual, align 8 - store ptr %incdec.ptr.i.i.i.i56, ptr %_M_finish.i.i.i30, align 8 - %add.ptr19.i.i.i.i59 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i52, i64 %cond.i.i.i.i.i47 - store ptr %add.ptr19.i.i.i.i59, ptr %_M_end_of_storage.i.i.i31, align 8 + store ptr %incdec.ptr.i.i.i.i57, ptr %_M_finish.i.i.i30, align 8 + %add.ptr19.i.i.i.i60 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i52, i64 %cond.i.i.i.i.i47 + store ptr %add.ptr19.i.i.i.i60, ptr %_M_end_of_storage.i.i.i31, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i33 - %6 = phi ptr [ %incdec.ptr.i.i.i34, %if.then.i.i.i33 ], [ %incdec.ptr.i.i.i.i56, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ] + %6 = phi ptr [ %incdec.ptr.i.i.i34, %if.then.i.i.i33 ], [ %incdec.ptr.i.i.i.i57, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ] %incdec.ptr.i = getelementptr inbounds i32, ptr %__first.addr.05.i, i64 1 %dec.i = add nsw i64 %__n.06.i, -1 %cmp.i = icmp ugt i64 %__n.06.i, 1 @@ -71743,7 +71763,7 @@ if.else.i.i.i: ; preds = %invoke.cont17 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i.invoke: ; preds = %if.else.i.i.i35, %if.else.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %if.then.i.i.i.i.i.cont unwind label %lpad11.loopexit.split-lp if.then.i.i.i.i.i.cont: ; preds = %if.then.i.i.i.i.i.invoke @@ -71762,30 +71782,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i7 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i7 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad11.loopexit.split-lp _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i7, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 5, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %10, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %10) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %10) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %call.i.i.i.i1.i.i6, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -71826,7 +71847,7 @@ invoke.cont37: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont40, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont37 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 br label %invoke.cont40 invoke.cont40: ; preds = %cond.true.i.i, %invoke.cont37 @@ -71839,7 +71860,7 @@ invoke.cont42: ; preds = %invoke.cont40 to label %invoke.cont44 unwind label %lpad43 invoke.cont44: ; preds = %invoke.cont42 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #28 %14 = load ptr, ptr %ref.tmp35, align 8 %cmp.not.i.i = icmp eq ptr %14, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -71848,7 +71869,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %14, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont44, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -71868,7 +71889,7 @@ lpad39: ; preds = %invoke.cont40 lpad43: ; preds = %invoke.cont42 %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp38) #28 br label %ehcleanup ehcleanup: ; preds = %lpad43, %lpad39 @@ -71881,7 +71902,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %19, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %20 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -71895,8 +71916,8 @@ if.end: ; preds = %invoke.cont33, %_ZN br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #27 - call void @_ZdlPv(ptr noundef nonnull %21) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #28 + call void @_ZdlPv(ptr noundef nonnull %21) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -71906,16 +71927,16 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i15, label %_ZNSt6vectorIiSaIiEED2Ev.exit21, label %if.then.i.i.i16 if.then.i.i.i16: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %22) #28 + call void @_ZdlPv(ptr noundef nonnull %22) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit21 _ZNSt6vectorIiSaIiEED2Ev.exit21: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i16 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void ehcleanup45: ; preds = %_ZN7testing7MessageD2Ev.exit13, %lpad36 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %16, %lpad36 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup46 ehcleanup46: ; preds = %lpad11.loopexit, %lpad11.loopexit.split-lp, %ehcleanup45 @@ -71925,11 +71946,11 @@ ehcleanup46: ; preds = %lpad11.loopexit, %l br i1 %tobool.not.i.i.i22, label %_ZNSt6vectorIiSaIiEED2Ev.exit29, label %if.then.i.i.i23 if.then.i.i.i23: ; preds = %ehcleanup46 - call void @_ZdlPv(ptr noundef nonnull %23) #28 + call void @_ZdlPv(ptr noundef nonnull %23) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit29 _ZNSt6vectorIiSaIiEED2Ev.exit29: ; preds = %ehcleanup46, %if.then.i.i.i23 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn.pn.pn } @@ -71942,14 +71963,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_125MutatingTest_Shuffle_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_125MutatingTest_Shuffle_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -71960,22 +71981,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_125MutatingTest_Shuffle_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_125MutatingTest_Shuffle_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -71988,9 +72009,9 @@ entry: %ref.tmp8 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.646", align 16 %ref.tmp18 = alloca %"class.testing::Message", align 8 %ref.tmp21 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i, ptr %actual, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.468, i64 20, i1 false) @@ -72011,7 +72032,7 @@ terminate.lpad.i: ; preds = %invoke.cont7 %0 = landingpad { ptr, i32 } catch ptr null %1 = extractvalue { ptr, i32 } %0, 0 - call void @__clang_call_terminate(ptr %1) #31 + call void @__clang_call_terminate(ptr %1) #32 unreachable invoke.cont16: ; preds = %invoke.cont7 @@ -72042,7 +72063,7 @@ terminate.lpad.i6: ; preds = %lpad6 %6 = landingpad { ptr, i32 } catch ptr null %7 = extractvalue { ptr, i32 } %6, 0 - call void @__clang_call_terminate(ptr %7) #31 + call void @__clang_call_terminate(ptr %7) #32 unreachable if.else: ; preds = %invoke.cont17 @@ -72056,7 +72077,7 @@ invoke.cont20: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont23, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont20 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #28 br label %invoke.cont23 invoke.cont23: ; preds = %cond.true.i.i, %invoke.cont20 @@ -72069,7 +72090,7 @@ invoke.cont25: ; preds = %invoke.cont23 to label %invoke.cont27 unwind label %lpad26 invoke.cont27: ; preds = %invoke.cont25 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #28 %9 = load ptr, ptr %ref.tmp18, align 8 %cmp.not.i.i = icmp eq ptr %9, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -72078,7 +72099,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %9, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont27, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -72098,7 +72119,7 @@ lpad22: ; preds = %invoke.cont23 lpad26: ; preds = %invoke.cont25 %13 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #28 br label %ehcleanup ehcleanup: ; preds = %lpad26, %lpad22 @@ -72111,7 +72132,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i10 = load ptr, ptr %14, align 8 %vfn.i.i.i11 = getelementptr inbounds ptr, ptr %vtable.i.i.i10, i64 1 %15 = load ptr, ptr %vfn.i.i.i11, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %_ZN7testing7MessageD2Ev.exit12 _ZN7testing7MessageD2Ev.exit12: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i9 @@ -72125,8 +72146,8 @@ if.end: ; preds = %invoke.cont17, %_ZN br i1 %cmp.not.i.i13, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #27 - call void @_ZdlPv(ptr noundef nonnull %16) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #28 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -72136,7 +72157,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i14, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -72144,7 +72165,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup28: ; preds = %_ZN7testing7MessageD2Ev.exit12, %lpad19 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit12 ], [ %11, %lpad19 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup29 ehcleanup29: ; preds = %lpad6, %ehcleanup28, %lpad4 @@ -72154,7 +72175,7 @@ ehcleanup29: ; preds = %lpad6, %ehcleanup28 br i1 %tobool.not.i.i.i16, label %eh.resume, label %if.then.i.i.i17 if.then.i.i.i17: ; preds = %ehcleanup29 - call void @_ZdlPv(ptr noundef nonnull %18) #28 + call void @_ZdlPv(ptr noundef nonnull %18) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i17, %ehcleanup29 @@ -72166,7 +72187,7 @@ define linkonce_odr dso_local void @_ZNSt13random_deviceC2Ev(ptr noundef nonnull entry: %ref.tmp = alloca %"class.std::__cxx11::basic_string", align 8 %ref.tmp2 = alloca %"class.std::allocator", align 1 - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp2) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp2) #28 %call.i2 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) to label %call.i.noexc unwind label %lpad @@ -72181,7 +72202,7 @@ call.i.noexc: ; preds = %entry lpad.i: ; preds = %.noexc %0 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp) #28 br label %ehcleanup invoke.cont: ; preds = %.noexc @@ -72189,8 +72210,8 @@ invoke.cont: ; preds = %.noexc to label %invoke.cont4 unwind label %lpad3 invoke.cont4: ; preds = %invoke.cont - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp2) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp2) #28 ret void lpad: ; preds = %call.i.noexc, %entry @@ -72201,12 +72222,12 @@ lpad: ; preds = %call.i.noexc, %entr lpad3: ; preds = %invoke.cont %2 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup ehcleanup: ; preds = %lpad, %lpad.i, %lpad3 %.pn = phi { ptr, i32 } [ %2, %lpad3 ], [ %1, %lpad ], [ %0, %lpad.i ] - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp2) #27 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp2) #28 resume { ptr, i32 } %.pn } @@ -72247,13 +72268,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -72316,13 +72337,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -72376,7 +72397,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -72408,7 +72429,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -72422,7 +72443,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -72431,28 +72452,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -72467,23 +72488,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -72517,7 +72538,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -72525,7 +72546,7 @@ _ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7tes ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKSt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -72725,7 +72746,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(120) ptr @_Znwm(i64 noundef 120) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -72741,7 +72762,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -72757,7 +72778,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKSt6vectorIiSaIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -72776,7 +72797,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -72791,7 +72812,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -72805,12 +72826,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -72915,7 +72936,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %18 = landingpad { ptr, i32 } catch ptr null %19 = extractvalue { ptr, i32 } %18, 0 - call void @__clang_call_terminate(ptr %19) #31 + call void @__clang_call_terminate(ptr %19) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont8, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -72936,7 +72957,7 @@ lpad5.loopexit.split-lp: ; preds = %if.then.i.i.i.i16 lpad7: ; preds = %if.else.i.i %20 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 br label %ehcleanup for.end: ; preds = %_ZN7testing7MatcherIRKiED2Ev.exit @@ -72986,7 +73007,7 @@ if.else.i.i13: ; preds = %invoke.cont22 br i1 %cmp.i.i.i.i14, label %if.then.i.i.i.i16, label %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i16: ; preds = %if.else.i.i13 - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc17 unwind label %lpad5.loopexit.split-lp .noexc17: ; preds = %if.then.i.i.i.i16 @@ -73005,30 +73026,31 @@ _ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc _ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 3 - %call5.i.i.i.i.i.i18 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i18 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i unwind label %lpad5.loopexit _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i - call void @_ZdlPv(ptr noundef nonnull %26) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i + call void @_ZdlPv(ptr noundef nonnull %26) #29 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -73045,13 +73067,13 @@ for.end27: ; preds = %for.inc25, %entry, ehcleanup: ; preds = %lpad5.loopexit, %lpad5.loopexit.split-lp, %lpad7 %.pn = phi { ptr, i32 } [ %20, %lpad7 ], [ %lpad.loopexit, %lpad5.loopexit ], [ %lpad.loopexit.split-lp, %lpad5.loopexit.split-lp ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #28 %27 = load ptr, ptr %matcher_describers_.i, align 8 %tobool.not.i.i.i.i21 = icmp eq ptr %27, null br i1 %tobool.not.i.i.i.i21, label %_ZN7testing8internal35UnorderedElementsAreMatcherImplBaseD2Ev.exit, label %if.then.i.i.i.i22 if.then.i.i.i.i22: ; preds = %ehcleanup - call void @_ZdlPv(ptr noundef nonnull %27) #28 + call void @_ZdlPv(ptr noundef nonnull %27) #29 br label %_ZN7testing8internal35UnorderedElementsAreMatcherImplBaseD2Ev.exit _ZN7testing8internal35UnorderedElementsAreMatcherImplBaseD2Ev.exit: ; preds = %ehcleanup, %if.then.i.i.i.i22 @@ -73073,7 +73095,7 @@ for.body.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !481 @@ -73088,7 +73110,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -73098,7 +73120,7 @@ _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal35UnorderedElementsAreMatcherImplBaseD2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZN7testing8internal35UnorderedElementsAreMatcherImplBaseD2Ev.exit _ZN7testing8internal35UnorderedElementsAreMatcherImplBaseD2Ev.exit: ; preds = %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, %if.then.i.i.i.i @@ -73120,7 +73142,7 @@ for.body.i.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #28 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i.i, label %invoke.contthread-pre-split.i.i, label %for.body.i.i.i.i.i, !llvm.loop !481 @@ -73135,7 +73157,7 @@ invoke.cont.i.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit.i _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %invoke.cont.i.i @@ -73145,11 +73167,11 @@ _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit.i: ; preds = %if.then.i.i. br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal31UnorderedElementsAreMatcherImplIRKSt6vectorIiSaIiEEED2Ev.exit, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %_ZN7testing8internal31UnorderedElementsAreMatcherImplIRKSt6vectorIiSaIiEEED2Ev.exit _ZN7testing8internal31UnorderedElementsAreMatcherImplIRKSt6vectorIiSaIiEEED2Ev.exit: ; preds = %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit.i, %if.then.i.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -73201,11 +73223,11 @@ land.end: ; preds = %land.rhs, %invoke.c br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal11MatchMatrixD2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %land.end - call void @_ZdlPv(ptr noundef nonnull %3) #28 + call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN7testing8internal11MatchMatrixD2Ev.exit _ZN7testing8internal11MatchMatrixD2Ev.exit: ; preds = %land.end, %if.then.i.i.i.i - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %matched_.i) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %matched_.i) #28 %4 = load ptr, ptr %element_printouts, align 8 %_M_finish.i5 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %element_printouts, i64 0, i32 1 %5 = load ptr, ptr %_M_finish.i5, align 8 @@ -73214,7 +73236,7 @@ _ZN7testing8internal11MatchMatrixD2Ev.exit: ; preds = %land.end, %if.then. for.body.i.i.i.i: ; preds = %_ZN7testing8internal11MatchMatrixD2Ev.exit, %for.body.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %4, %_ZN7testing8internal11MatchMatrixD2Ev.exit ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i, %5 br i1 %cmp.not.i.i.i.i, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !557 @@ -73229,7 +73251,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -73243,12 +73265,12 @@ lpad: ; preds = %entry lpad8: ; preds = %land.rhs, %invoke.cont %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal11MatchMatrixD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %matrix) #27 + call void @_ZN7testing8internal11MatchMatrixD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %matrix) #28 br label %ehcleanup ehcleanup: ; preds = %lpad8, %lpad %.pn = phi { ptr, i32 } [ %8, %lpad8 ], [ %7, %lpad ] - call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %element_printouts) #27 + call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %element_printouts) #28 resume { ptr, i32 } %.pn } @@ -73272,7 +73294,7 @@ entry: for.body.i.i.i.i.i: ; preds = %entry, %for.body.i.i.i.i.i %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %0, %entry ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i) #28 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i, !llvm.loop !557 @@ -73282,7 +73304,7 @@ invoke.cont.i.i: ; preds = %for.body.i.i.i.i.i br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv.exit: ; preds = %entry, %invoke.cont.i.i - call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %did_match) #27 + call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %did_match) #28 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %did_match, i8 0, i64 24, i1 false) %stream_.i.i = getelementptr inbounds %"class.testing::MatchResultListener", ptr %dummy, i64 0, i32 1 store ptr null, ptr %stream_.i.i, align 8 @@ -73331,11 +73353,11 @@ invoke.cont.i: ; preds = %.noexc lpad.i: ; preds = %invoke.cont.i, %.noexc %4 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i) #28 br label %ehcleanup52 invoke.cont6: ; preds = %invoke.cont.i - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss.i) #28 call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %ss.i) %5 = load ptr, ptr %_M_finish.i.i, align 8 %6 = load ptr, ptr %_M_end_of_storage.i.i, align 8 @@ -73343,7 +73365,7 @@ invoke.cont6: ; preds = %invoke.cont.i br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont6 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 %7 = load ptr, ptr %_M_finish.i.i, align 8 %incdec.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %7, i64 1 store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 @@ -73354,7 +73376,7 @@ if.else.i.i: ; preds = %invoke.cont6 to label %invoke.cont8 unwind label %lpad7 invoke.cont8: ; preds = %if.then.i.i, %if.else.i.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %if.end lpad5.loopexit: ; preds = %for.body11, %if.else.i, %if.end.i, %_ZNSt16allocator_traitsISaIcEE8allocateERS0_m.exit.i.i.i.i @@ -73375,7 +73397,7 @@ lpad5.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i, %f lpad7: ; preds = %if.else.i.i %8 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup52 if.end: ; preds = %invoke.cont8, %for.body @@ -73407,13 +73429,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i18 unwind label %lpad.i17 invoke.cont.i18: ; preds = %.noexc20 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i17: ; preds = %.noexc20 %13 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup52 if.end.i: ; preds = %invoke.cont.i18, %call.i.noexc @@ -73446,7 +73468,7 @@ if.else.i.i29: ; preds = %invoke.cont16 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIcSaIcEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i29 - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc30 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp .noexc30: ; preds = %if.then.i.i.i.i @@ -73463,7 +73485,7 @@ _ZNKSt6vectorIcSaIcEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i29 br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIcSaIcEE11_M_allocateEm.exit.i.i.i, label %_ZNSt16allocator_traitsISaIcEE8allocateERS0_m.exit.i.i.i.i _ZNSt16allocator_traitsISaIcEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIcSaIcEE12_M_check_lenEmPKc.exit.i.i.i - %call5.i.i.i.i.i.i31 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %cond.i.i.i.i) #29 + %call5.i.i.i.i.i.i31 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %cond.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIcSaIcEE11_M_allocateEm.exit.i.i.i unwind label %lpad5.loopexit _ZNSt12_Vector_baseIcSaIcEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIcEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIcSaIcEE12_M_check_lenEmPKc.exit.i.i.i @@ -73483,7 +73505,7 @@ _ZNSt6vectorIcSaIcEE11_S_relocateEPcS2_S2_RS0_.exit18.i.i.i: ; preds = %if.then. br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIcSaIcEE17_M_realloc_insertIJcEEEvN9__gnu_cxx17__normal_iteratorIPcS1_EEDpOT_.exit.i.i, label %if.then.i19.i.i.i if.then.i19.i.i.i: ; preds = %_ZNSt6vectorIcSaIcEE11_S_relocateEPcS2_S2_RS0_.exit18.i.i.i - call void @_ZdlPv(ptr noundef nonnull %19) #28 + call void @_ZdlPv(ptr noundef nonnull %19) #29 br label %_ZNSt6vectorIcSaIcEE17_M_realloc_insertIJcEEEvN9__gnu_cxx17__normal_iteratorIPcS1_EEDpOT_.exit.i.i _ZNSt6vectorIcSaIcEE17_M_realloc_insertIJcEEEvN9__gnu_cxx17__normal_iteratorIPcS1_EEDpOT_.exit.i.i: ; preds = %if.then.i19.i.i.i, %_ZNSt6vectorIcSaIcEE11_S_relocateEPcS2_S2_RS0_.exit18.i.i.i @@ -73586,16 +73608,16 @@ nrvo.skipdtor: ; preds = %nrvo.skipdtor.loope br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIcSaIcEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %nrvo.skipdtor - call void @_ZdlPv(ptr noundef nonnull %36) #28 + call void @_ZdlPv(ptr noundef nonnull %36) #29 br label %_ZNSt6vectorIcSaIcEED2Ev.exit _ZNSt6vectorIcSaIcEED2Ev.exit: ; preds = %nrvo.skipdtor, %if.then.i.i.i - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %did_match) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %did_match) #28 ret void ehcleanup52: ; preds = %lpad5.loopexit, %lpad5.loopexit.split-lp.loopexit.split-lp, %lpad5.loopexit.split-lp.loopexit, %lpad7, %lpad.i17, %lpad.i %.pn.pn = phi { ptr, i32 } [ %8, %lpad7 ], [ %4, %lpad.i ], [ %13, %lpad.i17 ], [ %lpad.loopexit, %lpad5.loopexit ], [ %lpad.loopexit48, %lpad5.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp49, %lpad5.loopexit.split-lp.loopexit.split-lp ] - call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %did_match) #27 + call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %did_match) #28 resume { ptr, i32 } %.pn.pn } @@ -73612,11 +73634,11 @@ entry: br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIcSaIcEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIcSaIcEED2Ev.exit _ZNSt6vectorIcSaIcEED2Ev.exit: ; preds = %entry, %if.then.i.i.i - tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %matched_) #27 + tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %matched_) #28 ret void } @@ -73630,15 +73652,15 @@ entry: store i64 %num_matchers, ptr %num_matchers_, align 8 %matched_ = getelementptr inbounds %"class.testing::internal::MatchMatrix", ptr %this, i64 0, i32 2 %mul = mul i64 %num_matchers, %num_elements - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #28 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i.i) - call void @_ZNSaIcEC1ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #27 + call void @_ZNSaIcEC1ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #28 %cmp.i.i = icmp slt i64 %mul, 0 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i.i) #27 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i.i) #28 br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorIcSaIcEE17_S_check_init_lenEmRKS0_.exit.i if.then.i.i: ; preds = %entry - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #31 to label %.noexc unwind label %lpad .noexc: ; preds = %if.then.i.i @@ -73646,7 +73668,7 @@ if.then.i.i: ; preds = %entry _ZNSt6vectorIcSaIcEE17_S_check_init_lenEmRKS0_.exit.i: ; preds = %entry call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - call void @_ZNSaIcEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %matched_, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #27 + call void @_ZNSaIcEC2ERKS_(ptr noundef nonnull align 1 dereferenceable(1) %matched_, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #28 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matched_, i8 0, i64 24, i1 false) %cmp.not.i.i.i.i = icmp eq i64 %mul, 0 br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIcSaIcEEC2EmRKS0_.exit.thread.i, label %_ZNSt16allocator_traitsISaIcEE8allocateERS0_m.exit.i.i.i.i @@ -73656,13 +73678,13 @@ _ZNSt12_Vector_baseIcSaIcEEC2EmRKS0_.exit.thread.i: ; preds = %_ZNSt6vectorIcSaI br label %invoke.cont _ZNSt16allocator_traitsISaIcEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNSt6vectorIcSaIcEE17_S_check_init_lenEmRKS0_.exit.i - %call5.i.i.i.i1.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul) #29 + %call5.i.i.i.i1.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul) #30 to label %if.then.i.i.i.i.i.i.i.i.i unwind label %lpad.i.i lpad.i.i: ; preds = %_ZNSt16allocator_traitsISaIcEE8allocateERS0_m.exit.i.i.i.i %0 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %matched_) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %matched_) #28 br label %lpad.body if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIcEE8allocateERS0_m.exit.i.i.i.i @@ -73679,7 +73701,7 @@ invoke.cont: ; preds = %if.then.i.i.i.i.i.i %_M_finish.i.i7.i = phi ptr [ %_M_finish.i.i.i, %if.then.i.i.i.i.i.i.i.i.i ], [ %_M_finish.i.i4.i, %_ZNSt12_Vector_baseIcSaIcEEC2EmRKS0_.exit.thread.i ] %retval.0.i.i.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i, %if.then.i.i.i.i.i.i.i.i.i ], [ null, %_ZNSt12_Vector_baseIcSaIcEEC2EmRKS0_.exit.thread.i ] store ptr %retval.0.i.i.i.i.i.i.i, ptr %_M_finish.i.i7.i, align 8 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #27 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #28 ret void lpad: ; preds = %if.then.i.i @@ -73689,7 +73711,7 @@ lpad: ; preds = %if.then.i.i lpad.body: ; preds = %lpad.i.i, %lpad %eh.lpad-body = phi { ptr, i32 } [ %1, %lpad ], [ %0, %lpad.i.i ] - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #27 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp4) #28 resume { ptr, i32 } %eh.lpad-body } @@ -73701,11 +73723,11 @@ invoke.cont: br i1 %tobool.not.i.i, label %_ZNSt12_Vector_baseIcSaIcEED2Ev.exit, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt12_Vector_baseIcSaIcEED2Ev.exit _ZNSt12_Vector_baseIcSaIcEED2Ev.exit: ; preds = %invoke.cont, %if.then.i.i - tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %this) #27 + tail call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %this) #28 ret void } @@ -73730,14 +73752,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129MutatingTest_PartialSort_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_129MutatingTest_PartialSort_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -73748,22 +73770,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129MutatingTest_PartialSort_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_129MutatingTest_PartialSort_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -73780,11 +73802,11 @@ entry: %ref.tmp50 = alloca %"class.absl::Span", align 8 %ref.tmp57 = alloca %"class.testing::Message", align 8 %ref.tmp60 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 - invoke void @_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 + invoke void @_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i.i.i unwind label %lpad10 _ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i.i.i: ; preds = %entry @@ -73820,7 +73842,7 @@ invoke.cont25: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont28, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont25 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #28 br label %invoke.cont28 invoke.cont28: ; preds = %cond.true.i.i, %invoke.cont25 @@ -73833,7 +73855,7 @@ invoke.cont30: ; preds = %invoke.cont28 to label %invoke.cont32 unwind label %lpad31 invoke.cont32: ; preds = %invoke.cont30 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #28 %7 = load ptr, ptr %ref.tmp23, align 8 %cmp.not.i.i = icmp eq ptr %7, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -73842,7 +73864,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %7, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %8 = load ptr, ptr %vfn.i.i.i, align 8 - call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #27 + call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont32, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -73862,7 +73884,7 @@ lpad27: ; preds = %invoke.cont28 lpad31: ; preds = %invoke.cont30 %11 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp26) #28 br label %ehcleanup ehcleanup: ; preds = %lpad31, %lpad27 @@ -73875,7 +73897,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i11 = load ptr, ptr %12, align 8 %vfn.i.i.i12 = getelementptr inbounds ptr, ptr %vtable.i.i.i11, i64 1 %13 = load ptr, ptr %vfn.i.i.i12, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit13 _ZN7testing7MessageD2Ev.exit13: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i10 @@ -73889,13 +73911,13 @@ if.end: ; preds = %invoke.cont21, %_ZN br i1 %cmp.not.i.i14, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #27 - call void @_ZdlPv(ptr noundef nonnull %14) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 + call void @_ZdlPv(ptr noundef nonnull %14) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 - invoke void @_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_T0_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, ptr nonnull %add.ptr.i1.i) + invoke void @_ZSt13__heap_selectIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_T0_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %ref.tmp.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i.i.i unwind label %lpad10 _ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -73917,7 +73939,7 @@ invoke.cont53: ; preds = %_ZSt10__pop_heapIN9 ehcleanup33: ; preds = %_ZN7testing7MessageD2Ev.exit13, %lpad24 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit13 ], [ %9, %lpad24 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit99 if.else56: ; preds = %invoke.cont53 @@ -73931,7 +73953,7 @@ invoke.cont59: ; preds = %if.else56 br i1 %cmp.i.i.not.i.i75, label %invoke.cont62, label %cond.true.i.i76 cond.true.i.i76: ; preds = %invoke.cont59 - %call4.i.i77 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %20) #27 + %call4.i.i77 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %20) #28 br label %invoke.cont62 invoke.cont62: ; preds = %cond.true.i.i76, %invoke.cont59 @@ -73944,7 +73966,7 @@ invoke.cont64: ; preds = %invoke.cont62 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %invoke.cont64 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp60) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp60) #28 %21 = load ptr, ptr %ref.tmp57, align 8 %cmp.not.i.i80 = icmp eq ptr %21, null br i1 %cmp.not.i.i80, label %_ZN7testing7MessageD2Ev.exit84, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i81 @@ -73953,7 +73975,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i82 = load ptr, ptr %21, align 8 %vfn.i.i.i83 = getelementptr inbounds ptr, ptr %vtable.i.i.i82, i64 1 %22 = load ptr, ptr %vfn.i.i.i83, align 8 - call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #27 + call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #28 br label %_ZN7testing7MessageD2Ev.exit84 _ZN7testing7MessageD2Ev.exit84: ; preds = %invoke.cont66, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i81 @@ -73973,7 +73995,7 @@ lpad61: ; preds = %invoke.cont62 lpad65: ; preds = %invoke.cont64 %25 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp60) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp60) #28 br label %ehcleanup68 ehcleanup68: ; preds = %lpad65, %lpad61 @@ -73986,7 +74008,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i87 = load ptr, ptr %26, align 8 %vfn.i.i.i88 = getelementptr inbounds ptr, ptr %vtable.i.i.i87, i64 1 %27 = load ptr, ptr %vfn.i.i.i88, align 8 - call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #27 + call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 br label %_ZN7testing7MessageD2Ev.exit89 _ZN7testing7MessageD2Ev.exit89: ; preds = %ehcleanup68, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 @@ -74000,23 +74022,23 @@ if.end69: ; preds = %invoke.cont53, %_ZN br i1 %cmp.not.i.i91, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92: ; preds = %if.end69 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #27 - call void @_ZdlPv(ptr noundef nonnull %28) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #28 + call void @_ZdlPv(ptr noundef nonnull %28) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %if.end69, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 store ptr null, ptr %message_.i90, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void ehcleanup70: ; preds = %_ZN7testing7MessageD2Ev.exit89, %lpad58 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit89 ], [ %23, %lpad58 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar43) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar43) #28 br label %_ZNSt6vectorIiSaIiEED2Ev.exit99 _ZNSt6vectorIiSaIiEED2Ev.exit99: ; preds = %ehcleanup70, %ehcleanup33, %lpad10 %.pn3.pn.pn = phi { ptr, i32 } [ %.pn3.pn, %ehcleanup70 ], [ %5, %lpad10 ], [ %.pn.pn, %ehcleanup33 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn3.pn.pn } @@ -74057,13 +74079,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup42 if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -74126,13 +74148,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc10 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc10 %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup41 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -74186,7 +74208,7 @@ invoke.cont27: ; preds = %invoke.cont25 to label %invoke.cont29 unwind label %lpad28 invoke.cont29: ; preds = %invoke.cont27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp31) to label %invoke.cont32 unwind label %lpad16 @@ -74218,7 +74240,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %invoke.cont37 lpad.i17: ; preds = %invoke.cont.i18, %.noexc19 @@ -74232,7 +74254,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i4.i = load ptr, ptr %15, align 8 %vfn.i.i.i5.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i, i64 1 %16 = load ptr, ptr %vfn.i.i.i5.i, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %lpad36.body invoke.cont37: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont2.i @@ -74241,28 +74263,28 @@ invoke.cont37: ; preds = %_ZNKSt14default_del to label %invoke.cont39 unwind label %lpad36 invoke.cont39: ; preds = %invoke.cont37 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp31, i64 0, i32 1 %17 = load ptr, ptr %message_.i, align 8 %cmp.not.i.i = icmp eq ptr %17, null br i1 %cmp.not.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont39 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont39, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %cleanup lpad28: ; preds = %invoke.cont27 %18 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup40 lpad34: ; preds = %invoke.cont32 @@ -74277,23 +74299,23 @@ lpad36: ; preds = %invoke.cont35, %inv lpad36.body: ; preds = %lpad.i17, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i, %lpad36 %eh.lpad-body20 = phi { ptr, i32 } [ %20, %lpad36 ], [ %14, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i ], [ %14, %lpad.i17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp33) #28 br label %ehcleanup ehcleanup: ; preds = %lpad36.body, %lpad34 %.pn = phi { ptr, i32 } [ %eh.lpad-body20, %lpad36.body ], [ %19, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp31) #28 br label %ehcleanup40 ehcleanup40: ; preds = %ehcleanup, %lpad28, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %10, %lpad16 ], [ %18, %lpad28 ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup41 ehcleanup41: ; preds = %lpad4, %lpad.i, %ehcleanup40 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup40 ], [ %9, %lpad4 ], [ %6, %lpad.i ] - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #28 br label %ehcleanup42 cleanup: ; preds = %if.then, %_ZN7testing15AssertionResultD2Ev.exit @@ -74327,7 +74349,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %28 = landingpad { ptr, i32 } catch ptr null %29 = extractvalue { ptr, i32 } %28, 0 - call void @__clang_call_terminate(ptr %29) #31 + call void @__clang_call_terminate(ptr %29) #32 unreachable _ZN7testing7MatcherIRKN4absl4SpanIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7testing8internal11MatcherBaseIRKN4absl4SpanIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -74335,7 +74357,7 @@ _ZN7testing7MatcherIRKN4absl4SpanIiEEED2Ev.exit: ; preds = %cleanup, %_ZNK7test ehcleanup42: ; preds = %lpad, %lpad.i.i, %ehcleanup41 %.pn5 = phi { ptr, i32 } [ %.pn.pn.pn, %ehcleanup41 ], [ %4, %lpad ], [ %1, %lpad.i.i ] - call void @_ZN7testing7MatcherIRKN4absl4SpanIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #27 + call void @_ZN7testing7MatcherIRKN4absl4SpanIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matcher) #28 resume { ptr, i32 } %.pn5 } @@ -74355,13 +74377,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -74404,7 +74426,7 @@ if.else.i.i: ; preds = %if.then to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %if.else.i.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKN4absl4SpanIiEEE7MatchesES6_.exit common.resume: ; preds = %ehcleanup22, %lpad.i.i @@ -74414,7 +74436,7 @@ common.resume: ; preds = %ehcleanup22, %lpad. lpad.i.i: ; preds = %if.else.i.i %2 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKN4absl4SpanIiEEE7MatchesES6_.exit: ; preds = %if.then, %invoke.cont.i.i @@ -74451,13 +74473,13 @@ if.else.i: ; preds = %call.i.noexc to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i lpad.i: ; preds = %.noexc %6 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %ehcleanup22 if.end.i: ; preds = %invoke.cont.i, %call.i.noexc @@ -74477,12 +74499,12 @@ invoke.cont4: ; preds = %invoke.cont to label %invoke.cont5 unwind label %lpad invoke.cont5: ; preds = %invoke.cont4 - %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + %call.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 %cmp.i16 = icmp ult i64 %call.i, 21 br i1 %cmp.i16, label %if.then7, label %_ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZN7testing8internal18IsReadableTypeNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %invoke.cont5 - %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #27 + %call1.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp, ptr noundef nonnull @.str.402, i64 noundef 0) #28 %cmp2.i = icmp eq i64 %call1.i, -1 br i1 %cmp2.i, label %if.then7, label %if.end16 @@ -74515,7 +74537,7 @@ if.end16: ; preds = %invoke.cont12, %_ZN invoke.cont18: ; preds = %if.end16 %13 = load ptr, ptr %stream_.i, align 8 - %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 + %call.i21 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 %cmp.i22 = icmp eq ptr %13, null %or.cond.not.i = or i1 %cmp.i22, %call.i21 br i1 %or.cond.not.i, label %invoke.cont21, label %if.then.i @@ -74529,27 +74551,27 @@ call1.i23.noexc: ; preds = %if.then.i to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont18, %call1.i23.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %return lpad20: ; preds = %call1.i23.noexc, %if.then.i %14 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad9 %.pn = phi { ptr, i32 } [ %14, %lpad20 ], [ %12, %lpad9 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp) #28 br label %ehcleanup22 ehcleanup22: ; preds = %lpad, %lpad.i, %ehcleanup %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %11, %lpad ], [ %6, %lpad.i ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %inner_listener, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %common.resume return: ; preds = %invoke.cont21, %_ZNK7testing8internal11MatcherBaseIRKN4absl4SpanIiEEE7MatchesES6_.exit @@ -74591,7 +74613,7 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKN4absl4SpanIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKN4absl4SpanIiEEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i @@ -74604,7 +74626,7 @@ _ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i: %ref.tmp.i.i = alloca %"struct.testing::internal::TransformTupleValuesHelper, testing::internal::CastAndAppendTransform, std::back_insert_iterator>>>::IterateOverTuple", align 1 %matchers = alloca %"class.std::vector.254", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %matchers, i8 0, i64 24, i1 false) - %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #29 + %call5.i.i.i.i.i2 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #30 to label %invoke.cont3 unwind label %lpad invoke.cont3: ; preds = %_ZNSt12_Vector_baseIN7testing7MatcherIRKiEESaIS4_EE11_M_allocateEm.exit.i.i @@ -74620,7 +74642,7 @@ invoke.cont3: ; preds = %_ZNSt12_Vector_base invoke.cont5: ; preds = %invoke.cont3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i.i) - %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #29 + %call9 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #30 to label %invoke.cont8 unwind label %lpad invoke.cont8: ; preds = %invoke.cont5 @@ -74636,7 +74658,7 @@ invoke.cont19: ; preds = %invoke.cont8 %buffer_.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.662", ptr %agg.result, i64 0, i32 2 store i64 0, ptr %buffer_.i.i, align 8 store ptr @_ZZN7testing8internal11MatcherBaseIRKN4absl4SpanIiEEE9GetVTableINS7_11ValuePolicyIPKNS_16MatcherInterfaceIS6_EELb1EEEEEPKNS7_6VTableEvE7kVTable, ptr %vtable_.i.i, align 8 - %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call.i.i1.i.i4 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %invoke.cont20 unwind label %lpad invoke.cont20: ; preds = %invoke.cont19 @@ -74655,7 +74677,7 @@ for.body.i.i.i.i7: ; preds = %invoke.cont20, %for %__first.addr.04.i.i.i.i8 = phi ptr [ %incdec.ptr.i.i.i.i10, %for.body.i.i.i.i7 ], [ %3, %invoke.cont20 ] %vtable.i.i.i.i.i9 = load ptr, ptr %__first.addr.04.i.i.i.i8, align 8 %5 = load ptr, ptr %vtable.i.i.i.i.i9, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i8) #28 %incdec.ptr.i.i.i.i10 = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i8, i64 1 %cmp.not.i.i.i.i11 = icmp eq ptr %incdec.ptr.i.i.i.i10, %4 br i1 %cmp.not.i.i.i.i11, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i7, !llvm.loop !481 @@ -74670,7 +74692,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %6) #28 + call void @_ZdlPv(ptr noundef nonnull %6) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -74684,12 +74706,12 @@ lpad: ; preds = %invoke.cont19, %inv lpad18: ; preds = %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call9) #28 + call void @_ZdlPv(ptr noundef nonnull %call9) #29 br label %ehcleanup ehcleanup: ; preds = %lpad18, %lpad %.pn = phi { ptr, i32 } [ %7, %lpad ], [ %8, %lpad18 ] - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #27 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers) #28 resume { ptr, i32 } %.pn } @@ -74791,7 +74813,7 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %17 = landingpad { ptr, i32 } catch ptr null %18 = extractvalue { ptr, i32 } %17, 0 - call void @__clang_call_terminate(ptr %18) #31 + call void @__clang_call_terminate(ptr %18) #32 unreachable _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont9, %_ZNK7testing8internal11MatcherBaseIRKiE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i @@ -74801,8 +74823,8 @@ _ZN7testing7MatcherIRKiED2Ev.exit: ; preds = %invoke.cont9, %_ZNK lpad8: ; preds = %if.else.i.i %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #27 - call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #27 + call void @_ZN7testing7MatcherIRKiED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp) #28 + call void @_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %matchers_) #28 resume { ptr, i32 } %19 while.end: ; preds = %_ZN7testing7MatcherIRKiED2Ev.exit, %entry @@ -74824,7 +74846,7 @@ for.body.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i, label %invoke.contthread-pre-split.i, label %for.body.i.i.i.i, !llvm.loop !481 @@ -74839,7 +74861,7 @@ invoke.cont.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit _ZNSt6vectorIN7testing7MatcherIRKiEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i @@ -74861,7 +74883,7 @@ for.body.i.i.i.i.i: ; preds = %entry, %for.body.i. %__first.addr.04.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %0, %entry ] %vtable.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i, align 8 %2 = load ptr, ptr %vtable.i.i.i.i.i.i, align 8 - tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #27 + tail call void %2(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.04.i.i.i.i.i) #28 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.testing::Matcher.261", ptr %__first.addr.04.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i, %1 br i1 %cmp.not.i.i.i.i.i, label %invoke.contthread-pre-split.i.i, label %for.body.i.i.i.i.i, !llvm.loop !481 @@ -74876,11 +74898,11 @@ invoke.cont.i.i: ; preds = %invoke.contthread-p br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal22ElementsAreMatcherImplIRKN4absl4SpanIiEEED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKN4absl4SpanIiEEED2Ev.exit _ZN7testing8internal22ElementsAreMatcherImplIRKN4absl4SpanIiEEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -74925,7 +74947,7 @@ if.else.i: ; preds = %if.then5 to label %invoke.cont3.i unwind label %lpad.i invoke.cont3.i: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53, %lpad.body, %lpad.i24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i42, %lpad.i @@ -74935,7 +74957,7 @@ common.resume: ; preds = %_ZNKSt14default_del lpad.i: ; preds = %if.else.i %4 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit: ; preds = %if.then5, %invoke.cont3.i @@ -74982,7 +75004,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %11, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %12 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKN4absl4SpanIiEEE8ElementsEm.exit lpad.i24: ; preds = %invoke.cont2.i, %invoke.cont.i, %if.else8 @@ -74996,7 +75018,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %14, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %15 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #27 + call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #28 br label %common.resume _ZN7testing8internal22ElementsAreMatcherImplIRKN4absl4SpanIiEEE8ElementsEm.exit: ; preds = %invoke.cont4.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i @@ -75012,11 +75034,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKN4absl4SpanIiEEE8ElementsEm.exit: lpad.i28: ; preds = %.noexc %16 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i26) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i26) %call13 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i27, ptr noundef nonnull @.str.385) to label %invoke.cont12 unwind label %lpad @@ -75030,7 +75052,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %17, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %18 = load ptr, ptr %vfn.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #27 + call void %18(ptr noundef nonnull align 8 dereferenceable(128) %17) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont12, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -75060,13 +75082,13 @@ if.else.i40: ; preds = %for.body to label %invoke.cont3.i43 unwind label %lpad.i42 invoke.cont3.i43: ; preds = %if.else.i40 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45 lpad.i42: ; preds = %if.else.i40 %23 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i36) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45: ; preds = %for.body, %invoke.cont3.i43 @@ -75110,7 +75132,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i54 = load ptr, ptr %29, align 8 %vfn.i.i.i55 = getelementptr inbounds ptr, ptr %vtable.i.i.i54, i64 1 %30 = load ptr, ptr %vfn.i.i.i55, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #27 + call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKiE10DescribeToEPSo.exit45, %if.then23 @@ -75176,7 +75198,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing8internal22ElementsAreMatcherImplIRKN4absl4SpanIiEEE8ElementsEm.exit lpad.i: ; preds = %invoke.cont2.i, %invoke.cont.i, %if.end @@ -75190,7 +75212,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %9, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %common.resume common.resume: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i36, %lpad.body, %lpad.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i27 @@ -75210,11 +75232,11 @@ _ZN7testing8internal22ElementsAreMatcherImplIRKN4absl4SpanIiEEE8ElementsEm.exit: lpad.i16: ; preds = %.noexc %11 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 br label %lpad.body invoke.cont: ; preds = %.noexc - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i15) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i15) %call7 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %call.i, ptr noundef nonnull @.str.393) to label %invoke.cont6 unwind label %lpad @@ -75228,7 +75250,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %12, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %13 = load ptr, ptr %vfn.i.i.i, align 8 - call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #27 + call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont6, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -75258,13 +75280,13 @@ if.else.i: ; preds = %for.body to label %invoke.cont.i28 unwind label %lpad.i27 invoke.cont.i28: ; preds = %if.else.i - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #28 br label %_ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit lpad.i27: ; preds = %if.else.i %18 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i24) #28 br label %common.resume _ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit: ; preds = %for.body, %invoke.cont.i28 @@ -75308,7 +75330,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i37 = load ptr, ptr %24, align 8 %vfn.i.i.i38 = getelementptr inbounds ptr, ptr %vtable.i.i.i37, i64 1 %25 = load ptr, ptr %vfn.i.i.i38, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #27 + call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #28 br label %common.resume for.inc: ; preds = %_ZNK7testing8internal11MatcherBaseIRKiE18DescribeNegationToEPSo.exit, %if.then16 @@ -75348,7 +75370,7 @@ entry: br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i if.then.i.i: ; preds = %entry - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.245) #31 unreachable _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i: ; preds = %entry @@ -75362,7 +75384,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %sub.ptr.div.i.i, 5 - %call5.i.i.i.i2.i.i23 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i2.i.i23 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 store ptr %call5.i.i.i.i2.i.i23, ptr %explanations, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %explanations, i64 0, i32 1 store ptr %call5.i.i.i.i2.i.i23, ptr %_M_finish.i.i.i, align 8 @@ -75374,7 +75396,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i %__cur.06.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %call5.i.i.i.i2.i.i23, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] %__n.addr.05.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i, %for.body.i.i.i.i.i ], [ %sub.ptr.div.i.i, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_.exit.i ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #27 + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__cur.06.i.i.i.i.i) #28 %dec.i.i.i.i.i = add i64 %__n.addr.05.i.i.i.i.i, -1 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.06.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i = icmp eq i64 %dec.i.i.i.i.i, 0 @@ -75438,7 +75460,7 @@ if.else.i.us: ; preds = %call.i.noexc.us to label %invoke.cont.i.us unwind label %lpad.i.split.us invoke.cont.i.us: ; preds = %.noexc35.us - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %if.end.i.us if.end.i.us: ; preds = %invoke.cont.i.us, %call.i.noexc.us @@ -75454,10 +75476,10 @@ invoke.cont13.us: ; preds = %if.end.i.us invoke.cont17.us: ; preds = %invoke.cont13.us %add.ptr.i39.us = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge190.us - %call19.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i39.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #27 + %call19.us = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i39.us, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16) #28 store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br i1 %call5.i36.us, label %for.inc.us, label %for.end for.inc.us: ; preds = %invoke.cont17.us @@ -75482,7 +75504,7 @@ lpad12.split.us: ; preds = %invoke.cont13.us, % lpad.i.split.us: ; preds = %.noexc35.us %15 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) #28 br label %lpad12.body land.rhs: ; preds = %land.rhs.lr.ph, %for.inc @@ -75527,7 +75549,7 @@ lpad3.loopexit.split-lp.loopexit.split-lp: ; preds = %call1.i.noexc, %if. lpad12.body: ; preds = %lpad.i.split.us, %lpad12.split.us %eh.lpad-body = phi { ptr, i32 } [ %14, %lpad12.split.us ], [ %15, %lpad.i.split.us ] store ptr getelementptr inbounds ({ [4 x ptr] }, ptr @_ZTVN7testing25StringMatchResultListenerE, i64 0, inrange i32 0, i64 2), ptr %s, align 8 - call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #27 + call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss_.i) #28 br label %ehcleanup call.i1.i.noexc: ; preds = %for.body @@ -75542,13 +75564,13 @@ if.else.i.i: ; preds = %call.i1.i.noexc to label %invoke.cont.i.i unwind label %lpad.i.i invoke.cont.i.i: ; preds = %.noexc45 - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %if.end.i.i lpad.i.i: ; preds = %.noexc45 %19 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i.i) #28 br label %ehcleanup if.end.i.i: ; preds = %invoke.cont.i.i, %call.i1.i.noexc @@ -75650,7 +75672,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i.i = load ptr, ptr %39, align 8 %vfn.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i, i64 1 %40 = load ptr, ptr %vfn.i.i.i.i, align 8 - call void %40(ptr noundef nonnull align 8 dereferenceable(128) %39) #27 + call void %40(ptr noundef nonnull align 8 dereferenceable(128) %39) #28 br label %invoke.cont45 lpad.i61: ; preds = %invoke.cont2.i, %invoke.cont.i62, %.noexc64 @@ -75664,7 +75686,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i6.i = load ptr, ptr %42, align 8 %vfn.i.i.i7.i = getelementptr inbounds ptr, ptr %vtable.i.i.i6.i, i64 1 %43 = load ptr, ptr %vfn.i.i.i7.i, align 8 - call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #27 + call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #28 br label %ehcleanup invoke.cont45: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont4.i @@ -75685,11 +75707,11 @@ if.then.i70: ; preds = %invoke.cont45 lpad.i.i71: ; preds = %.noexc73 %45 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i67) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i67) #28 br label %lpad46.body _ZN7testinglsERSoRKNS_7MessageE.exit.i: ; preds = %.noexc73 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i67) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i.i67) #28 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i67) br label %invoke.cont47 @@ -75702,7 +75724,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %46, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %47 = load ptr, ptr %vfn.i.i.i, align 8 - call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #27 + call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -75724,7 +75746,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i77 = load ptr, ptr %49, align 8 %vfn.i.i.i78 = getelementptr inbounds ptr, ptr %vtable.i.i.i77, i64 1 %50 = load ptr, ptr %vfn.i.i.i78, align 8 - call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #27 + call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #28 br label %_ZN7testing7MessageD2Ev.exit79 _ZN7testing7MessageD2Ev.exit79: ; preds = %lpad46.body, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i76 @@ -75771,7 +75793,7 @@ if.then.i94.invoke.cont59_crit_edge: ; preds = %if.then.i94 invoke.cont59: ; preds = %if.then.i94.invoke.cont59_crit_edge, %if.then54, %invoke.cont55, %invoke.cont57 %52 = phi ptr [ %.pre, %if.then.i94.invoke.cont59_crit_edge ], [ null, %if.then54 ], [ null, %invoke.cont55 ], [ null, %invoke.cont57 ] %add.ptr.i98 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge.lcssa - %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i98) #27 + %call.i = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i98) #28 %cmp.i100 = icmp eq ptr %52, null %or.cond.not.i = or i1 %cmp.i100, %call.i br i1 %or.cond.not.i, label %cleanup, label %if.then.i101 @@ -75793,7 +75815,7 @@ for.body71: ; preds = %if.end65, %for.inc9 %reason_printed.0225 = phi i8 [ %reason_printed.1, %for.inc90 ], [ 0, %if.end65 ] %storemerge20224 = phi i64 [ %inc91, %for.inc90 ], [ 0, %if.end65 ] %add.ptr.i111 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %3, i64 %storemerge20224 - %call74 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i111) #27 + %call74 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i111) #28 br i1 %call74, label %for.inc90, label %if.then75 if.then75: ; preds = %for.body71 @@ -75868,7 +75890,7 @@ cleanup: ; preds = %for.inc90, %invoke. for.body.i.i.i.i: ; preds = %cleanup, %for.body.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i.i.i ], [ %57, %cleanup ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i) #28 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i, i64 1 %cmp.not.i.i.i.i145 = icmp eq ptr %incdec.ptr.i.i.i.i, %58 br i1 %cmp.not.i.i.i.i145, label %invoke.cont.i146, label %for.body.i.i.i.i, !llvm.loop !557 @@ -75878,7 +75900,7 @@ invoke.cont.i146: ; preds = %for.body.i.i.i.i, % br i1 %tobool.not.i.i.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i146 - call void @_ZdlPv(ptr noundef nonnull %57) #28 + call void @_ZdlPv(ptr noundef nonnull %57) #29 br label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i146, %if.then.i.i.i @@ -75886,7 +75908,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev.ex ehcleanup: ; preds = %lpad3.loopexit, %lpad3.loopexit.split-lp.loopexit.split, %lpad3.loopexit.split-lp.loopexit.split.us, %lpad3.loopexit.split-lp.loopexit.split-lp, %lpad.i61, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i, %lpad.i.i, %_ZN7testing7MessageD2Ev.exit79, %lpad12.body %.pn = phi { ptr, i32 } [ %eh.lpad-body74, %_ZN7testing7MessageD2Ev.exit79 ], [ %eh.lpad-body, %lpad12.body ], [ %19, %lpad.i.i ], [ %41, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5.i ], [ %41, %lpad.i61 ], [ %lpad.loopexit, %lpad3.loopexit ], [ %lpad.loopexit.split-lp172, %lpad3.loopexit.split-lp.loopexit.split-lp ], [ %lpad.loopexit171, %lpad3.loopexit.split-lp.loopexit.split ], [ %lpad.loopexit171.us, %lpad3.loopexit.split-lp.loopexit.split.us ] - call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #27 + call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %explanations) #28 resume { ptr, i32 } %.pn } @@ -75924,11 +75946,11 @@ terminate.lpad.i.i: ; preds = %if.then.i.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing7MatcherIRKN4absl4SpanIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKN4absl4SpanIiEEE8IsSharedEv.exit.i.i.i, %land.lhs.true.i.i.i, %if.then.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -75948,13 +75970,13 @@ if.else: ; preds = %entry to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.else - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 br label %if.end lpad: ; preds = %if.else %1 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #27 + call void @_ZN7testing8internal8GTestLogD1Ev(ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp) #28 resume { ptr, i32 } %1 if.end: ; preds = %entry, %invoke.cont @@ -76002,7 +76024,7 @@ terminate.lpad: ; preds = %if.then.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable } @@ -76040,11 +76062,11 @@ terminate.lpad.i: ; preds = %if.then.i.i %7 = landingpad { ptr, i32 } catch ptr null %8 = extractvalue { ptr, i32 } %7, 0 - tail call void @__clang_call_terminate(ptr %8) #31 + tail call void @__clang_call_terminate(ptr %8) #32 unreachable _ZN7testing8internal11MatcherBaseIRKN4absl4SpanIiEEED2Ev.exit: ; preds = %entry, %_ZNK7testing8internal11MatcherBaseIRKN4absl4SpanIiEEE8IsSharedEv.exit.i.i, %land.lhs.true.i.i, %if.then.i.i - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -76103,11 +76125,11 @@ _ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKN4absl4SpanIiEEEEEclEPS8_. %vtable.i.i.i = load ptr, ptr %0, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %1 = load ptr, ptr %vfn.i.i.i, align 8 - tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #27 + tail call void %1(ptr noundef nonnull align 8 dereferenceable(8) %0) #28 br label %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKN4absl4SpanIiEEEESt14default_deleteISA_EEED2Ev.exit _ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKN4absl4SpanIiEEEESt14default_deleteISA_EEED2Ev.exit: ; preds = %delete.notnull, %_ZNKSt14default_deleteIKN7testing16MatcherInterfaceIRKN4absl4SpanIiEEEEEclEPS8_.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %shared) #28 + tail call void @_ZdlPv(ptr noundef nonnull %shared) #29 br label %delete.end delete.end: ; preds = %_ZN7testing8internal13SharedPayloadISt10unique_ptrIKNS_16MatcherInterfaceIRKN4absl4SpanIiEEEESt14default_deleteISA_EEED2Ev.exit, %entry @@ -76170,14 +76192,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133MutatingTest_PartialSortCopy_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_133MutatingTest_PartialSortCopy_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -76188,22 +76210,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133MutatingTest_PartialSortCopy_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_133MutatingTest_PartialSortCopy_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -76219,11 +76241,11 @@ entry: %ref.tmp35 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.374", align 8 %ref.tmp45 = alloca %"class.testing::Message", align 8 %ref.tmp48 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i9 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i2.i.i9 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont7 unwind label %lpad6 invoke.cont7: ; preds = %entry @@ -76236,7 +76258,7 @@ invoke.cont7: ; preds = %entry store i32 0, ptr %incdec.ptr.i.i.i.i.i, align 4 %_M_finish.i.i7.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 1 store ptr %add.ptr.i.i.i, ptr %_M_finish.i.i7.i, align 8 - %call.i.i10 = invoke ptr @_ZSt19__partial_sort_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EENS0_5__ops15_Iter_less_iterEET0_T_SD_SC_SC_T1_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i, ptr nonnull %call5.i.i.i.i2.i.i9, ptr nonnull %add.ptr.i.i.i) + %call.i.i10 = invoke ptr @_ZSt19__partial_sort_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EENS0_5__ops15_Iter_less_iterEET0_T_SD_SC_SC_T1_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr nonnull %call5.i.i.i.i2.i.i9, ptr nonnull %add.ptr.i.i.i) to label %invoke.cont15 unwind label %lpad8 invoke.cont15: ; preds = %invoke.cont7 @@ -76271,7 +76293,7 @@ invoke.cont20: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont23, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont20 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #28 br label %invoke.cont23 invoke.cont23: ; preds = %cond.true.i.i, %invoke.cont20 @@ -76284,7 +76306,7 @@ invoke.cont25: ; preds = %invoke.cont23 to label %invoke.cont27 unwind label %lpad26 invoke.cont27: ; preds = %invoke.cont25 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #28 %5 = load ptr, ptr %ref.tmp18, align 8 %cmp.not.i.i = icmp eq ptr %5, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -76293,7 +76315,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %5, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %6 = load ptr, ptr %vfn.i.i.i, align 8 - call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #27 + call void %6(ptr noundef nonnull align 8 dereferenceable(128) %5) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont27, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -76313,7 +76335,7 @@ lpad22: ; preds = %invoke.cont23 lpad26: ; preds = %invoke.cont25 %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #28 br label %ehcleanup ehcleanup: ; preds = %lpad26, %lpad22 @@ -76326,7 +76348,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i14 = load ptr, ptr %10, align 8 %vfn.i.i.i15 = getelementptr inbounds ptr, ptr %vtable.i.i.i14, i64 1 %11 = load ptr, ptr %vfn.i.i.i15, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit16 _ZN7testing7MessageD2Ev.exit16: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i13 @@ -76340,15 +76362,15 @@ if.end: ; preds = %invoke.cont16, %_ZN br i1 %cmp.not.i.i17, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #27 - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %13 = load ptr, ptr %actual, align 8 %14 = load ptr, ptr %_M_finish.i.i7.i, align 8 - %call.i.i20 = invoke ptr @_ZSt19__partial_sort_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEET0_T_SG_SF_SF_T1_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i, ptr %13, ptr %14) + %call.i.i20 = invoke ptr @_ZSt19__partial_sort_copyIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS1_IPiS6_EENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEET0_T_SG_SF_SF_T1_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %13, ptr %14) to label %invoke.cont40 unwind label %lpad8 invoke.cont40: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -76364,7 +76386,7 @@ invoke.cont41: ; preds = %invoke.cont40 ehcleanup28: ; preds = %_ZN7testing7MessageD2Ev.exit16, %lpad19 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit16 ], [ %7, %lpad19 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup59 if.else44: ; preds = %invoke.cont41 @@ -76378,7 +76400,7 @@ invoke.cont47: ; preds = %if.else44 br i1 %cmp.i.i.not.i.i28, label %invoke.cont50, label %cond.true.i.i29 cond.true.i.i29: ; preds = %invoke.cont47 - %call4.i.i30 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #27 + %call4.i.i30 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %17) #28 br label %invoke.cont50 invoke.cont50: ; preds = %cond.true.i.i29, %invoke.cont47 @@ -76391,7 +76413,7 @@ invoke.cont52: ; preds = %invoke.cont50 to label %invoke.cont54 unwind label %lpad53 invoke.cont54: ; preds = %invoke.cont52 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp48) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp48) #28 %18 = load ptr, ptr %ref.tmp45, align 8 %cmp.not.i.i33 = icmp eq ptr %18, null br i1 %cmp.not.i.i33, label %_ZN7testing7MessageD2Ev.exit37, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 @@ -76400,7 +76422,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i35 = load ptr, ptr %18, align 8 %vfn.i.i.i36 = getelementptr inbounds ptr, ptr %vtable.i.i.i35, i64 1 %19 = load ptr, ptr %vfn.i.i.i36, align 8 - call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #27 + call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 br label %_ZN7testing7MessageD2Ev.exit37 _ZN7testing7MessageD2Ev.exit37: ; preds = %invoke.cont54, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 @@ -76420,7 +76442,7 @@ lpad49: ; preds = %invoke.cont50 lpad53: ; preds = %invoke.cont52 %22 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp48) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp48) #28 br label %ehcleanup56 ehcleanup56: ; preds = %lpad53, %lpad49 @@ -76433,7 +76455,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i40 = load ptr, ptr %23, align 8 %vfn.i.i.i41 = getelementptr inbounds ptr, ptr %vtable.i.i.i40, i64 1 %24 = load ptr, ptr %vfn.i.i.i41, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #27 + call void %24(ptr noundef nonnull align 8 dereferenceable(128) %23) #28 br label %_ZN7testing7MessageD2Ev.exit42 _ZN7testing7MessageD2Ev.exit42: ; preds = %ehcleanup56, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i39 @@ -76447,8 +76469,8 @@ if.end57: ; preds = %invoke.cont41, %_ZN br i1 %cmp.not.i.i44, label %_ZN7testing15AssertionResultD2Ev.exit46, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45: ; preds = %if.end57 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #27 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %_ZN7testing15AssertionResultD2Ev.exit46 _ZN7testing15AssertionResultD2Ev.exit46: ; preds = %if.end57, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i45 @@ -76458,16 +76480,16 @@ _ZN7testing15AssertionResultD2Ev.exit46: ; preds = %if.end57, %_ZNKSt14 br i1 %tobool.not.i.i.i47, label %_ZNSt6vectorIiSaIiEED2Ev.exit52, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit46 - call void @_ZdlPv(ptr noundef nonnull %26) #28 + call void @_ZdlPv(ptr noundef nonnull %26) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit52 _ZNSt6vectorIiSaIiEED2Ev.exit52: ; preds = %_ZN7testing15AssertionResultD2Ev.exit46, %if.then.i.i.i - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 ret void ehcleanup58: ; preds = %_ZN7testing7MessageD2Ev.exit42, %lpad46 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit42 ], [ %20, %lpad46 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar34) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar34) #28 br label %ehcleanup59 ehcleanup59: ; preds = %ehcleanup58, %ehcleanup28, %lpad8 @@ -76477,12 +76499,12 @@ ehcleanup59: ; preds = %ehcleanup58, %ehcle br i1 %tobool.not.i.i.i53, label %_ZNSt6vectorIiSaIiEED2Ev.exit60, label %if.then.i.i.i54 if.then.i.i.i54: ; preds = %ehcleanup59 - call void @_ZdlPv(ptr noundef nonnull %27) #28 + call void @_ZdlPv(ptr noundef nonnull %27) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit60 _ZNSt6vectorIiSaIiEED2Ev.exit60: ; preds = %if.then.i.i.i54, %ehcleanup59, %lpad6 %.pn3.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad6 ], [ %.pn3.pn.pn, %ehcleanup59 ], [ %.pn3.pn.pn, %if.then.i.i.i54 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 resume { ptr, i32 } %.pn3.pn.pn.pn } @@ -77063,14 +77085,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_123MutatingTest_Merge_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_123MutatingTest_Merge_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -77081,22 +77103,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_123MutatingTest_Merge_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_123MutatingTest_Merge_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -77109,35 +77131,35 @@ entry: %ref.tmp37 = alloca %"class.testing::Message", align 8 %ref.tmp40 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store i32 1, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp2.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 3, ptr %ref.tmp2.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 %ref.tmp2.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store i32 5, ptr %ref.tmp2.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, align 4 - %call5.i.i.i.i2.i7 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i2.i7 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont18 unwind label %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11 _ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIiSaIiEED2Ev.exit32 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit33 invoke.cont18: ; preds = %entry - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 - %add.ptr.i1.i12 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i7, i64 2 + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 store i32 2, ptr %call5.i.i.i.i2.i7, align 4 %ref.tmp7.sroa.2.0.call5.i.i.i.i2.i7.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i7, i64 4 store i32 4, ptr %ref.tmp7.sroa.2.0.call5.i.i.i.i2.i7.sroa_idx, align 4 - %call.i.i17 = invoke ptr @_ZSt7__mergeIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_less_iterEET1_T_SD_T0_SE_SC_T2_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i, ptr nonnull %call5.i.i.i.i2.i7, ptr nonnull %add.ptr.i1.i12, ptr nonnull %actual) - to label %invoke.cont34 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit28 + %add.ptr.i.i.i.i.i.i.i.i.i.i14 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i7, i64 8 + %call.i.i18 = invoke ptr @_ZSt7__mergeIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_less_iterEET1_T_SD_T0_SE_SC_T2_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr nonnull %call5.i.i.i.i2.i7, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i14, ptr nonnull %actual) + to label %invoke.cont34 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit29 invoke.cont34: ; preds = %invoke.cont18 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i7) #28 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i7) #29 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 store <4 x i32> , ptr %ref.tmp25, align 16 - %agg.tmp2624.sroa.7.0.ref.tmp25.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp25, i64 16 - store i32 1, ptr %agg.tmp2624.sroa.7.0.ref.tmp25.sroa_idx, align 16 + %agg.tmp2625.sroa.7.0.ref.tmp25.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp25, i64 16 + store i32 1, ptr %agg.tmp2625.sroa.7.0.ref.tmp25.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp25, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(24) %actual) to label %invoke.cont35 unwind label %lpad32 @@ -77147,15 +77169,15 @@ invoke.cont35: ; preds = %invoke.cont34 %tobool.i.not = icmp eq i8 %2, 0 br i1 %tobool.i.not, label %if.else, label %if.end -_ZNSt6vectorIiSaIiEED2Ev.exit28: ; preds = %invoke.cont18 +_ZNSt6vectorIiSaIiEED2Ev.exit29: ; preds = %invoke.cont18 %3 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i7) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit32 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i7) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit33 -_ZNSt6vectorIiSaIiEED2Ev.exit32: ; preds = %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11, %_ZNSt6vectorIiSaIiEED2Ev.exit28 - %.pn = phi { ptr, i32 } [ %3, %_ZNSt6vectorIiSaIiEED2Ev.exit28 ], [ %0, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit33: ; preds = %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11, %_ZNSt6vectorIiSaIiEED2Ev.exit29 + %.pn = phi { ptr, i32 } [ %3, %_ZNSt6vectorIiSaIiEED2Ev.exit29 ], [ %0, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 br label %ehcleanup50 lpad32: ; preds = %invoke.cont34 @@ -77174,7 +77196,7 @@ invoke.cont39: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont42, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont39 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont42 invoke.cont42: ; preds = %cond.true.i.i, %invoke.cont39 @@ -77187,7 +77209,7 @@ invoke.cont44: ; preds = %invoke.cont42 to label %invoke.cont46 unwind label %lpad45 invoke.cont46: ; preds = %invoke.cont44 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp40) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp40) #28 %6 = load ptr, ptr %ref.tmp37, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -77196,7 +77218,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -77216,76 +77238,76 @@ lpad41: ; preds = %invoke.cont42 lpad45: ; preds = %invoke.cont44 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp40) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp40) #28 br label %ehcleanup48 ehcleanup48: ; preds = %lpad45, %lpad41 %.pn3 = phi { ptr, i32 } [ %10, %lpad45 ], [ %9, %lpad41 ] %11 = load ptr, ptr %ref.tmp37, align 8 - %cmp.not.i.i33 = icmp eq ptr %11, null - br i1 %cmp.not.i.i33, label %_ZN7testing7MessageD2Ev.exit37, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 + %cmp.not.i.i34 = icmp eq ptr %11, null + br i1 %cmp.not.i.i34, label %_ZN7testing7MessageD2Ev.exit38, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34: ; preds = %ehcleanup48 - %vtable.i.i.i35 = load ptr, ptr %11, align 8 - %vfn.i.i.i36 = getelementptr inbounds ptr, ptr %vtable.i.i.i35, i64 1 - %12 = load ptr, ptr %vfn.i.i.i36, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 - br label %_ZN7testing7MessageD2Ev.exit37 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35: ; preds = %ehcleanup48 + %vtable.i.i.i36 = load ptr, ptr %11, align 8 + %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 + %12 = load ptr, ptr %vfn.i.i.i37, align 8 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 + br label %_ZN7testing7MessageD2Ev.exit38 -_ZN7testing7MessageD2Ev.exit37: ; preds = %ehcleanup48, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 +_ZN7testing7MessageD2Ev.exit38: ; preds = %ehcleanup48, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 store ptr null, ptr %ref.tmp37, align 8 br label %ehcleanup49 if.end: ; preds = %invoke.cont35, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %13 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i38 = icmp eq ptr %13, null - br i1 %cmp.not.i.i38, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i39 = icmp eq ptr %13, null + br i1 %cmp.not.i.i39, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %14 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i39 = icmp eq ptr %14, null - br i1 %tobool.not.i.i.i39, label %_ZNSt6vectorIiSaIiEED2Ev.exit42, label %if.then.i.i.i40 + %tobool.not.i.i.i40 = icmp eq ptr %14, null + br i1 %tobool.not.i.i.i40, label %_ZNSt6vectorIiSaIiEED2Ev.exit43, label %if.then.i.i.i41 -if.then.i.i.i40: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %14) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit42 +if.then.i.i.i41: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %14) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit43 -_ZNSt6vectorIiSaIiEED2Ev.exit42: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i40 +_ZNSt6vectorIiSaIiEED2Ev.exit43: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i41 ret void -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit37, %lpad38 - %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit37 ], [ %8, %lpad38 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit38, %lpad38 + %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit38 ], [ %8, %lpad38 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup50 -ehcleanup50: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit32, %ehcleanup49, %lpad32 - %.pn3.pn.pn.ph = phi { ptr, i32 } [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit32 ], [ %4, %lpad32 ], [ %.pn3.pn, %ehcleanup49 ] +ehcleanup50: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit33, %ehcleanup49, %lpad32 + %.pn3.pn.pn.ph = phi { ptr, i32 } [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit33 ], [ %4, %lpad32 ], [ %.pn3.pn, %ehcleanup49 ] %.pr = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i43 = icmp eq ptr %.pr, null - br i1 %tobool.not.i.i.i43, label %_ZNSt6vectorIiSaIiEED2Ev.exit46, label %if.then.i.i.i44 + %tobool.not.i.i.i44 = icmp eq ptr %.pr, null + br i1 %tobool.not.i.i.i44, label %_ZNSt6vectorIiSaIiEED2Ev.exit47, label %if.then.i.i.i45 -if.then.i.i.i44: ; preds = %ehcleanup50 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit46 +if.then.i.i.i45: ; preds = %ehcleanup50 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit47 -_ZNSt6vectorIiSaIiEED2Ev.exit46: ; preds = %ehcleanup50, %if.then.i.i.i44 +_ZNSt6vectorIiSaIiEED2Ev.exit47: ; preds = %ehcleanup50, %if.then.i.i.i45 resume { ptr, i32 } %.pn3.pn.pn.ph } ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local ptr @_ZSt7__mergeIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_less_iterEET1_T_SD_T0_SE_SC_T2_(ptr %__first1.coerce, ptr %__last1.coerce, ptr %__first2.coerce, ptr %__last2.coerce, ptr %__result.coerce) local_unnamed_addr #3 comdat personality ptr @__gxx_personality_v0 { entry: - %cmp.i49 = icmp ne ptr %__first1.coerce, %__last1.coerce - %cmp.i150 = icmp ne ptr %__first2.coerce, %__last2.coerce - %or.cond51 = select i1 %cmp.i49, i1 %cmp.i150, i1 false - br i1 %or.cond51, label %while.body.lr.ph, label %while.end + %cmp.i50 = icmp ne ptr %__first1.coerce, %__last1.coerce + %cmp.i151 = icmp ne ptr %__first2.coerce, %__last2.coerce + %or.cond52 = select i1 %cmp.i50, i1 %cmp.i151, i1 false + br i1 %or.cond52, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %entry %_M_finish.i.i3 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 @@ -77293,10 +77315,10 @@ while.body.lr.ph: ; preds = %entry br label %while.body while.body: ; preds = %while.body.lr.ph, %if.end - %__first1.sroa.0.053 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end ] - %__first2.sroa.0.052 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end ] - %0 = load i32, ptr %__first2.sroa.0.052, align 4 - %1 = load i32, ptr %__first1.sroa.0.053, align 4 + %__first1.sroa.0.054 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end ] + %__first2.sroa.0.053 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end ] + %0 = load i32, ptr %__first2.sroa.0.053, align 4 + %1 = load i32, ptr %__first1.sroa.0.054, align 4 %cmp.i2 = icmp slt i32 %0, %1 %2 = load ptr, ptr %_M_finish.i.i3, align 8 %3 = load ptr, ptr %_M_end_of_storage.i.i4, align 8 @@ -77322,7 +77344,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -77338,32 +77360,33 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 - %.pre55 = load i32, ptr %__first2.sroa.0.052, align 4 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 + %.pre56 = load i32, ptr %__first2.sroa.0.053, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i - %6 = phi i32 [ %.pre55, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] + %6 = phi i32 [ %.pre56, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i3, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -77371,7 +77394,7 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIP br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i - %incdec.ptr.i = getelementptr inbounds i32, ptr %__first2.sroa.0.052, i64 1 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__first2.sroa.0.053, i64 1 br label %if.end if.else: ; preds = %while.body @@ -77382,7 +77405,7 @@ if.then.i.i6: ; preds = %if.else %7 = load ptr, ptr %_M_finish.i.i3, align 8 %incdec.ptr.i.i7 = getelementptr inbounds i32, ptr %7, i64 1 store ptr %incdec.ptr.i.i7, ptr %_M_finish.i.i3, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 if.else.i.i8: ; preds = %if.else %8 = load ptr, ptr %__result.coerce, align 8 @@ -77390,10 +77413,10 @@ if.else.i.i8: ; preds = %if.else %sub.ptr.rhs.cast.i.i.i.i.i10 = ptrtoint ptr %8 to i64 %sub.ptr.sub.i.i.i.i.i11 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i9, %sub.ptr.rhs.cast.i.i.i.i.i10 %cmp.i.i.i.i12 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i11, 9223372036854775804 - br i1 %cmp.i.i.i.i12, label %if.then.i.i.i.i36, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 + br i1 %cmp.i.i.i.i12, label %if.then.i.i.i.i37, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 -if.then.i.i.i.i36: ; preds = %if.else.i.i8 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i37: ; preds = %if.else.i.i8 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13: ; preds = %if.else.i.i8 @@ -77409,8 +77432,8 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13: ; preds = %if.else.i.i8 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 %mul.i.i.i.i.i.i23 = shl nuw nsw i64 %cond.i.i.i.i20, 2 - %call5.i.i.i.i.i.i24 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i23) #29 - %.pre = load i32, ptr %__first1.sroa.0.053, align 4 + %call5.i.i.i.i.i.i24 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i23) #30 + %.pre = load i32, ptr %__first1.sroa.0.054, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 @@ -77418,36 +77441,37 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25: ; preds = %_ZNSt16alloc %cond.i10.i.i.i26 = phi ptr [ %call5.i.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 ] %add.ptr.i.i.i27 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %sub.ptr.div.i.i.i.i.i14 store i32 %9, ptr %add.ptr.i.i.i27, align 4 - %cmp.i.i.i11.i.i.i28 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i14, 0 - br i1 %cmp.i.i.i11.i.i.i28, label %if.then.i.i.i12.i.i.i35, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 + %cmp.i.i.i11.i.i.i28 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i11, 0 + br i1 %cmp.i.i.i11.i.i.i28, label %if.then.i.i.i12.i.i.i36, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 -if.then.i.i.i12.i.i.i35: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 +if.then.i.i.i12.i.i.i36: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i26, ptr align 4 %8, i64 %sub.ptr.sub.i.i.i.i.i11, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29: ; preds = %if.then.i.i.i12.i.i.i35, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 - %incdec.ptr.i.i.i30 = getelementptr inbounds i32, ptr %add.ptr.i.i.i27, i64 1 - %tobool.not.i.i.i.i31 = icmp eq ptr %8, null - br i1 %tobool.not.i.i.i.i31, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33, label %if.then.i21.i.i.i32 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29: ; preds = %if.then.i.i.i12.i.i.i36, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 + %add.ptr.i.i.i.i.i.i30 = getelementptr inbounds i8, ptr %cond.i10.i.i.i26, i64 %sub.ptr.sub.i.i.i.i.i11 + %incdec.ptr.i.i.i31 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i30, i64 1 + %tobool.not.i.i.i.i32 = icmp eq ptr %8, null + br i1 %tobool.not.i.i.i.i32, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34, label %if.then.i20.i.i.i33 -if.then.i21.i.i.i32: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 - tail call void @_ZdlPv(ptr noundef nonnull %8) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 +if.then.i20.i.i.i33: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 + tail call void @_ZdlPv(ptr noundef nonnull %8) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33: ; preds = %if.then.i21.i.i.i32, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34: ; preds = %if.then.i20.i.i.i33, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 store ptr %cond.i10.i.i.i26, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i30, ptr %_M_finish.i.i3, align 8 - %add.ptr19.i.i.i34 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %cond.i.i.i.i20 - store ptr %add.ptr19.i.i.i34, ptr %_M_end_of_storage.i.i4, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 + store ptr %incdec.ptr.i.i.i31, ptr %_M_finish.i.i3, align 8 + %add.ptr19.i.i.i35 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %cond.i.i.i.i20 + store ptr %add.ptr19.i.i.i35, ptr %_M_end_of_storage.i.i4, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37: ; preds = %if.then.i.i6, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 - %incdec.ptr.i38 = getelementptr inbounds i32, ptr %__first1.sroa.0.053, i64 1 +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38: ; preds = %if.then.i.i6, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 + %incdec.ptr.i39 = getelementptr inbounds i32, ptr %__first1.sroa.0.054, i64 1 br label %if.end -if.end: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit - %__first2.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first2.sroa.0.052, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 ] - %__first1.sroa.0.1 = phi ptr [ %__first1.sroa.0.053, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 ] +if.end: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit + %__first2.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first2.sroa.0.053, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ] + %__first1.sroa.0.1 = phi ptr [ %__first1.sroa.0.054, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i39, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ] %cmp.i = icmp ne ptr %__first1.sroa.0.1, %__last1.coerce %cmp.i1 = icmp ne ptr %__first2.sroa.0.1, %__last2.coerce %or.cond = select i1 %cmp.i, i1 %cmp.i1, i1 false @@ -77457,8 +77481,8 @@ while.end: ; preds = %if.end, %entry %__first2.sroa.0.0.lcssa = phi ptr [ %__first2.coerce, %entry ], [ %__first2.sroa.0.1, %if.end ] %__first1.sroa.0.0.lcssa = phi ptr [ %__first1.coerce, %entry ], [ %__first1.sroa.0.1, %if.end ] %call.i.i.i.i = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first1.sroa.0.0.lcssa, ptr noundef %__last1.coerce, ptr %__result.coerce) - %call.i.i.i.i39 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) - ret ptr %call.i.i.i.i39 + %call.i.i.i.i40 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) + ret ptr %call.i.i.i.i40 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable @@ -77470,14 +77494,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_137MutatingTest_MergeWithComparator_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_137MutatingTest_MergeWithComparator_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -77488,22 +77512,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_137MutatingTest_MergeWithComparator_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_137MutatingTest_MergeWithComparator_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -77516,35 +77540,35 @@ entry: %ref.tmp38 = alloca %"class.testing::Message", align 8 %ref.tmp41 = alloca %"class.testing::internal::AssertHelper", align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %actual, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store i32 5, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp2.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 3, ptr %ref.tmp2.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 %ref.tmp2.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store i32 1, ptr %ref.tmp2.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, align 4 - %call5.i.i.i.i2.i7 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call5.i.i.i.i2.i7 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont18 unwind label %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11 _ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIiSaIiEED2Ev.exit32 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit33 invoke.cont18: ; preds = %entry - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 - %add.ptr.i1.i12 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i7, i64 2 + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 store i32 4, ptr %call5.i.i.i.i2.i7, align 4 %ref.tmp7.sroa.2.0.call5.i.i.i.i2.i7.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i7, i64 4 store i32 2, ptr %ref.tmp7.sroa.2.0.call5.i.i.i.i2.i7.sroa_idx, align 4 - %call.i.i17 = invoke ptr @_ZSt7__mergeIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEET1_T_SG_T0_SH_SF_T2_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i, ptr nonnull %call5.i.i.i.i2.i7, ptr nonnull %add.ptr.i1.i12, ptr nonnull %actual) - to label %invoke.cont35 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit28 + %add.ptr.i.i.i.i.i.i.i.i.i.i14 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i7, i64 8 + %call.i.i18 = invoke ptr @_ZSt7__mergeIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEET1_T_SG_T0_SH_SF_T2_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr nonnull %call5.i.i.i.i2.i7, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i14, ptr nonnull %actual) + to label %invoke.cont35 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit29 invoke.cont35: ; preds = %invoke.cont18 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i7) #28 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i7) #29 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 store <4 x i32> , ptr %ref.tmp26, align 16 - %agg.tmp2724.sroa.7.0.ref.tmp26.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp26, i64 16 - store i32 5, ptr %agg.tmp2724.sroa.7.0.ref.tmp26.sroa_idx, align 16 + %agg.tmp2725.sroa.7.0.ref.tmp26.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp26, i64 16 + store i32 5, ptr %agg.tmp2725.sroa.7.0.ref.tmp26.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp26, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(24) %actual) to label %invoke.cont36 unwind label %lpad33 @@ -77554,15 +77578,15 @@ invoke.cont36: ; preds = %invoke.cont35 %tobool.i.not = icmp eq i8 %2, 0 br i1 %tobool.i.not, label %if.else, label %if.end -_ZNSt6vectorIiSaIiEED2Ev.exit28: ; preds = %invoke.cont18 +_ZNSt6vectorIiSaIiEED2Ev.exit29: ; preds = %invoke.cont18 %3 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i7) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit32 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i7) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit33 -_ZNSt6vectorIiSaIiEED2Ev.exit32: ; preds = %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11, %_ZNSt6vectorIiSaIiEED2Ev.exit28 - %.pn = phi { ptr, i32 } [ %3, %_ZNSt6vectorIiSaIiEED2Ev.exit28 ], [ %0, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #28 +_ZNSt6vectorIiSaIiEED2Ev.exit33: ; preds = %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11, %_ZNSt6vectorIiSaIiEED2Ev.exit29 + %.pn = phi { ptr, i32 } [ %3, %_ZNSt6vectorIiSaIiEED2Ev.exit29 ], [ %0, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i11 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #29 br label %ehcleanup51 lpad33: ; preds = %invoke.cont35 @@ -77581,7 +77605,7 @@ invoke.cont40: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont43, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont40 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #28 br label %invoke.cont43 invoke.cont43: ; preds = %cond.true.i.i, %invoke.cont40 @@ -77594,7 +77618,7 @@ invoke.cont45: ; preds = %invoke.cont43 to label %invoke.cont47 unwind label %lpad46 invoke.cont47: ; preds = %invoke.cont45 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41) #28 %6 = load ptr, ptr %ref.tmp38, align 8 %cmp.not.i.i = icmp eq ptr %6, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -77603,7 +77627,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %6, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %7 = load ptr, ptr %vfn.i.i.i, align 8 - call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #27 + call void %7(ptr noundef nonnull align 8 dereferenceable(128) %6) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -77623,76 +77647,76 @@ lpad42: ; preds = %invoke.cont43 lpad46: ; preds = %invoke.cont45 %10 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41) #28 br label %ehcleanup49 ehcleanup49: ; preds = %lpad46, %lpad42 %.pn3 = phi { ptr, i32 } [ %10, %lpad46 ], [ %9, %lpad42 ] %11 = load ptr, ptr %ref.tmp38, align 8 - %cmp.not.i.i33 = icmp eq ptr %11, null - br i1 %cmp.not.i.i33, label %_ZN7testing7MessageD2Ev.exit37, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 + %cmp.not.i.i34 = icmp eq ptr %11, null + br i1 %cmp.not.i.i34, label %_ZN7testing7MessageD2Ev.exit38, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34: ; preds = %ehcleanup49 - %vtable.i.i.i35 = load ptr, ptr %11, align 8 - %vfn.i.i.i36 = getelementptr inbounds ptr, ptr %vtable.i.i.i35, i64 1 - %12 = load ptr, ptr %vfn.i.i.i36, align 8 - call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #27 - br label %_ZN7testing7MessageD2Ev.exit37 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35: ; preds = %ehcleanup49 + %vtable.i.i.i36 = load ptr, ptr %11, align 8 + %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 + %12 = load ptr, ptr %vfn.i.i.i37, align 8 + call void %12(ptr noundef nonnull align 8 dereferenceable(128) %11) #28 + br label %_ZN7testing7MessageD2Ev.exit38 -_ZN7testing7MessageD2Ev.exit37: ; preds = %ehcleanup49, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i34 +_ZN7testing7MessageD2Ev.exit38: ; preds = %ehcleanup49, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 store ptr null, ptr %ref.tmp38, align 8 br label %ehcleanup50 if.end: ; preds = %invoke.cont36, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %13 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i38 = icmp eq ptr %13, null - br i1 %cmp.not.i.i38, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i39 = icmp eq ptr %13, null + br i1 %cmp.not.i.i39, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #27 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %14 = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i39 = icmp eq ptr %14, null - br i1 %tobool.not.i.i.i39, label %_ZNSt6vectorIiSaIiEED2Ev.exit42, label %if.then.i.i.i40 + %tobool.not.i.i.i40 = icmp eq ptr %14, null + br i1 %tobool.not.i.i.i40, label %_ZNSt6vectorIiSaIiEED2Ev.exit43, label %if.then.i.i.i41 -if.then.i.i.i40: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %14) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit42 +if.then.i.i.i41: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %14) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit43 -_ZNSt6vectorIiSaIiEED2Ev.exit42: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i40 +_ZNSt6vectorIiSaIiEED2Ev.exit43: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i41 ret void -ehcleanup50: ; preds = %_ZN7testing7MessageD2Ev.exit37, %lpad39 - %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit37 ], [ %8, %lpad39 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup50: ; preds = %_ZN7testing7MessageD2Ev.exit38, %lpad39 + %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit38 ], [ %8, %lpad39 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup51 -ehcleanup51: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit32, %ehcleanup50, %lpad33 - %.pn3.pn.pn.ph = phi { ptr, i32 } [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit32 ], [ %4, %lpad33 ], [ %.pn3.pn, %ehcleanup50 ] +ehcleanup51: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit33, %ehcleanup50, %lpad33 + %.pn3.pn.pn.ph = phi { ptr, i32 } [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit33 ], [ %4, %lpad33 ], [ %.pn3.pn, %ehcleanup50 ] %.pr = load ptr, ptr %actual, align 8 - %tobool.not.i.i.i43 = icmp eq ptr %.pr, null - br i1 %tobool.not.i.i.i43, label %_ZNSt6vectorIiSaIiEED2Ev.exit46, label %if.then.i.i.i44 + %tobool.not.i.i.i44 = icmp eq ptr %.pr, null + br i1 %tobool.not.i.i.i44, label %_ZNSt6vectorIiSaIiEED2Ev.exit47, label %if.then.i.i.i45 -if.then.i.i.i44: ; preds = %ehcleanup51 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit46 +if.then.i.i.i45: ; preds = %ehcleanup51 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit47 -_ZNSt6vectorIiSaIiEED2Ev.exit46: ; preds = %ehcleanup51, %if.then.i.i.i44 +_ZNSt6vectorIiSaIiEED2Ev.exit47: ; preds = %ehcleanup51, %if.then.i.i.i45 resume { ptr, i32 } %.pn3.pn.pn.ph } ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local ptr @_ZSt7__mergeIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEET1_T_SG_T0_SH_SF_T2_(ptr %__first1.coerce, ptr %__last1.coerce, ptr %__first2.coerce, ptr %__last2.coerce, ptr %__result.coerce) local_unnamed_addr #3 comdat personality ptr @__gxx_personality_v0 { entry: - %cmp.i48 = icmp ne ptr %__first1.coerce, %__last1.coerce - %cmp.i149 = icmp ne ptr %__first2.coerce, %__last2.coerce - %or.cond50 = select i1 %cmp.i48, i1 %cmp.i149, i1 false - br i1 %or.cond50, label %while.body.lr.ph, label %while.end + %cmp.i49 = icmp ne ptr %__first1.coerce, %__last1.coerce + %cmp.i150 = icmp ne ptr %__first2.coerce, %__last2.coerce + %or.cond51 = select i1 %cmp.i49, i1 %cmp.i150, i1 false + br i1 %or.cond51, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %entry %_M_finish.i.i2 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 @@ -77700,10 +77724,10 @@ while.body.lr.ph: ; preds = %entry br label %while.body while.body: ; preds = %while.body.lr.ph, %if.end - %__first1.sroa.0.052 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end ] - %__first2.sroa.0.051 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end ] - %0 = load i32, ptr %__first2.sroa.0.051, align 4 - %1 = load i32, ptr %__first1.sroa.0.052, align 4 + %__first1.sroa.0.053 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end ] + %__first2.sroa.0.052 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end ] + %0 = load i32, ptr %__first2.sroa.0.052, align 4 + %1 = load i32, ptr %__first1.sroa.0.053, align 4 %cmp.i.i = icmp sgt i32 %0, %1 %2 = load ptr, ptr %_M_finish.i.i2, align 8 %3 = load ptr, ptr %_M_end_of_storage.i.i3, align 8 @@ -77729,7 +77753,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -77745,32 +77769,33 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 - %.pre54 = load i32, ptr %__first2.sroa.0.051, align 4 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 + %.pre55 = load i32, ptr %__first2.sroa.0.052, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i - %6 = phi i32 [ %.pre54, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] + %6 = phi i32 [ %.pre55, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i2, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -77778,7 +77803,7 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIP br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i - %incdec.ptr.i = getelementptr inbounds i32, ptr %__first2.sroa.0.051, i64 1 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__first2.sroa.0.052, i64 1 br label %if.end if.else: ; preds = %while.body @@ -77789,7 +77814,7 @@ if.then.i.i5: ; preds = %if.else %7 = load ptr, ptr %_M_finish.i.i2, align 8 %incdec.ptr.i.i6 = getelementptr inbounds i32, ptr %7, i64 1 store ptr %incdec.ptr.i.i6, ptr %_M_finish.i.i2, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit36 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 if.else.i.i7: ; preds = %if.else %8 = load ptr, ptr %__result.coerce, align 8 @@ -77797,10 +77822,10 @@ if.else.i.i7: ; preds = %if.else %sub.ptr.rhs.cast.i.i.i.i.i9 = ptrtoint ptr %8 to i64 %sub.ptr.sub.i.i.i.i.i10 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i8, %sub.ptr.rhs.cast.i.i.i.i.i9 %cmp.i.i.i.i11 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i10, 9223372036854775804 - br i1 %cmp.i.i.i.i11, label %if.then.i.i.i.i35, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 + br i1 %cmp.i.i.i.i11, label %if.then.i.i.i.i36, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 -if.then.i.i.i.i35: ; preds = %if.else.i.i7 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i36: ; preds = %if.else.i.i7 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12: ; preds = %if.else.i.i7 @@ -77816,8 +77841,8 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12: ; preds = %if.else.i.i7 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 %mul.i.i.i.i.i.i22 = shl nuw nsw i64 %cond.i.i.i.i19, 2 - %call5.i.i.i.i.i.i23 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i22) #29 - %.pre = load i32, ptr %__first1.sroa.0.052, align 4 + %call5.i.i.i.i.i.i23 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i22) #30 + %.pre = load i32, ptr %__first1.sroa.0.053, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 @@ -77825,36 +77850,37 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24: ; preds = %_ZNSt16alloc %cond.i10.i.i.i25 = phi ptr [ %call5.i.i.i.i.i.i23, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i21 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i12 ] %add.ptr.i.i.i26 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %sub.ptr.div.i.i.i.i.i13 store i32 %9, ptr %add.ptr.i.i.i26, align 4 - %cmp.i.i.i11.i.i.i27 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i13, 0 - br i1 %cmp.i.i.i11.i.i.i27, label %if.then.i.i.i12.i.i.i34, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 + %cmp.i.i.i11.i.i.i27 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i10, 0 + br i1 %cmp.i.i.i11.i.i.i27, label %if.then.i.i.i12.i.i.i35, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 -if.then.i.i.i12.i.i.i34: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 +if.then.i.i.i12.i.i.i35: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i25, ptr align 4 %8, i64 %sub.ptr.sub.i.i.i.i.i10, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28: ; preds = %if.then.i.i.i12.i.i.i34, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 - %incdec.ptr.i.i.i29 = getelementptr inbounds i32, ptr %add.ptr.i.i.i26, i64 1 - %tobool.not.i.i.i.i30 = icmp eq ptr %8, null - br i1 %tobool.not.i.i.i.i30, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32, label %if.then.i21.i.i.i31 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28: ; preds = %if.then.i.i.i12.i.i.i35, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i24 + %add.ptr.i.i.i.i.i.i29 = getelementptr inbounds i8, ptr %cond.i10.i.i.i25, i64 %sub.ptr.sub.i.i.i.i.i10 + %incdec.ptr.i.i.i30 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i29, i64 1 + %tobool.not.i.i.i.i31 = icmp eq ptr %8, null + br i1 %tobool.not.i.i.i.i31, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33, label %if.then.i20.i.i.i32 -if.then.i21.i.i.i31: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 - tail call void @_ZdlPv(ptr noundef nonnull %8) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32 +if.then.i20.i.i.i32: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 + tail call void @_ZdlPv(ptr noundef nonnull %8) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32: ; preds = %if.then.i21.i.i.i31, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i28 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33: ; preds = %if.then.i20.i.i.i32, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i28 store ptr %cond.i10.i.i.i25, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i29, ptr %_M_finish.i.i2, align 8 - %add.ptr19.i.i.i33 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %cond.i.i.i.i19 - store ptr %add.ptr19.i.i.i33, ptr %_M_end_of_storage.i.i3, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit36 + store ptr %incdec.ptr.i.i.i30, ptr %_M_finish.i.i2, align 8 + %add.ptr19.i.i.i34 = getelementptr inbounds i32, ptr %cond.i10.i.i.i25, i64 %cond.i.i.i.i19 + store ptr %add.ptr19.i.i.i34, ptr %_M_end_of_storage.i.i3, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit36: ; preds = %if.then.i.i5, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i32 - %incdec.ptr.i37 = getelementptr inbounds i32, ptr %__first1.sroa.0.052, i64 1 +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37: ; preds = %if.then.i.i5, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 + %incdec.ptr.i38 = getelementptr inbounds i32, ptr %__first1.sroa.0.053, i64 1 br label %if.end -if.end: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit36, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit - %__first2.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first2.sroa.0.051, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit36 ] - %__first1.sroa.0.1 = phi ptr [ %__first1.sroa.0.052, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i37, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit36 ] +if.end: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit + %__first2.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first2.sroa.0.052, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 ] + %__first1.sroa.0.1 = phi ptr [ %__first1.sroa.0.053, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 ] %cmp.i = icmp ne ptr %__first1.sroa.0.1, %__last1.coerce %cmp.i1 = icmp ne ptr %__first2.sroa.0.1, %__last2.coerce %or.cond = select i1 %cmp.i, i1 %cmp.i1, i1 false @@ -77864,8 +77890,8 @@ while.end: ; preds = %if.end, %entry %__first2.sroa.0.0.lcssa = phi ptr [ %__first2.coerce, %entry ], [ %__first2.sroa.0.1, %if.end ] %__first1.sroa.0.0.lcssa = phi ptr [ %__first1.coerce, %entry ], [ %__first1.sroa.0.1, %if.end ] %call.i.i.i.i = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first1.sroa.0.0.lcssa, ptr noundef %__last1.coerce, ptr %__result.coerce) - %call.i.i.i.i38 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) - ret ptr %call.i.i.i.i38 + %call.i.i.i.i39 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) + ret ptr %call.i.i.i.i39 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable @@ -77877,14 +77903,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130MutatingTest_InplaceMerge_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_130MutatingTest_InplaceMerge_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -77895,22 +77921,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130MutatingTest_InplaceMerge_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_130MutatingTest_InplaceMerge_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -77922,9 +77948,9 @@ entry: %ref.tmp10 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.324", align 16 %ref.tmp21 = alloca %"class.testing::Message", align 8 %ref.tmp24 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i, ptr %actual, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.471, i64 20, i1 false) @@ -77963,7 +77989,7 @@ invoke.cont23: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont26, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont23 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont26 invoke.cont26: ; preds = %cond.true.i.i, %invoke.cont23 @@ -77976,7 +78002,7 @@ invoke.cont28: ; preds = %invoke.cont26 to label %invoke.cont30 unwind label %lpad29 invoke.cont30: ; preds = %invoke.cont28 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #28 %4 = load ptr, ptr %ref.tmp21, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -77985,7 +78011,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont30, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -78005,7 +78031,7 @@ lpad25: ; preds = %invoke.cont26 lpad29: ; preds = %invoke.cont28 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24) #28 br label %ehcleanup ehcleanup: ; preds = %lpad29, %lpad25 @@ -78018,7 +78044,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %9, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %10 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -78032,8 +78058,8 @@ if.end: ; preds = %invoke.cont19, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -78043,7 +78069,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -78051,7 +78077,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup31: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad22 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %6, %lpad22 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup32 ehcleanup32: ; preds = %ehcleanup31, %lpad8 @@ -78061,7 +78087,7 @@ ehcleanup32: ; preds = %ehcleanup31, %lpad8 br i1 %tobool.not.i.i.i14, label %eh.resume, label %if.then.i.i.i15 if.then.i.i.i15: ; preds = %ehcleanup32 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i15, %ehcleanup32 @@ -78091,7 +78117,7 @@ if.end: ; preds = %entry while.body.i.i: ; preds = %if.end, %if.end4.i.i %storemerge27.i.i = phi i64 [ %div5.i.i, %if.end4.i.i ], [ %.sroa.speculated, %if.end ] %mul.i.i = shl nuw i64 %storemerge27.i.i, 2 - %call.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #34 + %call.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #35 %cmp2.not.i.i = icmp eq ptr %call.i.i, null br i1 %cmp2.not.i.i, label %if.end4.i.i, label %if.else @@ -78109,7 +78135,7 @@ lpad: ; preds = %if.else, %if.then17 %__buf.sroa.4.031 = phi ptr [ %call.i.i, %if.else ], [ null, %if.then17 ] %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef %__buf.sroa.4.031) #27 + tail call void @_ZdlPv(ptr noundef %__buf.sroa.4.031) #28 resume { ptr, i32 } %0 if.else: ; preds = %while.body.i.i @@ -78118,7 +78144,7 @@ if.else: ; preds = %while.body.i.i if.end35: ; preds = %if.else, %if.then17 %__buf.sroa.4.029 = phi ptr [ %call.i.i, %if.else ], [ null, %if.then17 ] - tail call void @_ZdlPv(ptr noundef %__buf.sroa.4.029) #27 + tail call void @_ZdlPv(ptr noundef %__buf.sroa.4.029) #28 br label %return return: ; preds = %entry, %if.end35 @@ -78260,10 +78286,10 @@ return: ; preds = %if.end49, %entry, % ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local void @_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElS2_NS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_SA_T1_SA_T2_(ptr %__first.coerce, ptr %__middle.coerce, ptr %__last.coerce, i64 noundef %__len1, i64 noundef %__len2, ptr noundef %__buffer, i64 noundef %__buffer_size) local_unnamed_addr #3 comdat { entry: - %cmp.not101 = icmp sgt i64 %__len1, %__len2 - %cmp3.not102 = icmp sgt i64 %__len1, %__buffer_size - %or.cond103 = or i1 %cmp3.not102, %cmp.not101 - br i1 %or.cond103, label %if.else.lr.ph, label %if.then + %cmp.not103 = icmp sgt i64 %__len1, %__len2 + %cmp3.not104 = icmp sgt i64 %__len1, %__buffer_size + %or.cond105 = or i1 %cmp3.not104, %cmp.not103 + br i1 %or.cond105, label %if.else.lr.ph, label %if.then if.else.lr.ph: ; preds = %entry %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %__last.coerce to i64 @@ -78280,8 +78306,7 @@ land.rhs.i.preheader: ; preds = %if.then %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %__first.coerce.tr.lcssa to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first.coerce.tr.lcssa, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %__buffer, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i.i.i.i.i br label %land.rhs.i land.rhs.i: ; preds = %land.rhs.i.preheader, %while.body.i @@ -78314,57 +78339,57 @@ _ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.ex br label %if.end89 if.else: ; preds = %if.else.lr.ph, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit - %cmp.not109 = phi i1 [ %cmp.not101, %if.else.lr.ph ], [ %cmp.not, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] - %__len2.tr108 = phi i64 [ %__len2, %if.else.lr.ph ], [ %sub83, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] - %__len1.tr107 = phi i64 [ %__len1, %if.else.lr.ph ], [ %sub, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] - %__middle.coerce.tr105 = phi ptr [ %__middle.coerce, %if.else.lr.ph ], [ %__second_cut.sroa.0.0, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] - %__first.coerce.tr104 = phi ptr [ %__first.coerce, %if.else.lr.ph ], [ %retval.sroa.0.0.i, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] - %cmp14.not = icmp sgt i64 %__len2.tr108, %__buffer_size - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %__middle.coerce.tr105 to i64 + %cmp.not111 = phi i1 [ %cmp.not103, %if.else.lr.ph ], [ %cmp.not, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] + %__len2.tr110 = phi i64 [ %__len2, %if.else.lr.ph ], [ %sub83, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] + %__len1.tr109 = phi i64 [ %__len1, %if.else.lr.ph ], [ %sub, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] + %__middle.coerce.tr107 = phi ptr [ %__middle.coerce, %if.else.lr.ph ], [ %__second_cut.sroa.0.0, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] + %__first.coerce.tr106 = phi ptr [ %__first.coerce, %if.else.lr.ph ], [ %retval.sroa.0.0.i, %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit ] + %cmp14.not = icmp sgt i64 %__len2.tr110, %__buffer_size + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %__middle.coerce.tr107 to i64 br i1 %cmp14.not, label %if.else29, label %if.then15 if.then15: ; preds = %if.else %sub.ptr.sub.i.i.i.i.i28 = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i - %tobool.not.i.i.i.i.i29 = icmp eq ptr %__middle.coerce.tr105, %__last.coerce - br i1 %tobool.not.i.i.i.i.i29, label %if.end89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit33.thread + %tobool.not.i.i.i.i.i29 = icmp eq ptr %__middle.coerce.tr107, %__last.coerce + br i1 %tobool.not.i.i.i.i.i29, label %if.end89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit32.thread -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit33.thread: ; preds = %if.then15 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr105, i64 %sub.ptr.sub.i.i.i.i.i28, i1 false) - %sub.ptr.div.i.i.i.i.i31121 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i28, 2 - %cmp.i.i123 = icmp eq ptr %__first.coerce.tr104, %__middle.coerce.tr105 +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit32.thread: ; preds = %if.then15 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr107, i64 %sub.ptr.sub.i.i.i.i.i28, i1 false) + %cmp.i.i123 = icmp eq ptr %__first.coerce.tr106, %__middle.coerce.tr107 br i1 %cmp.i.i123, label %if.then.i.i.i.i.i.i, label %if.end7.i -if.then.i.i.i.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit33.thread - %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i31121 +if.then.i.i.i.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit32.thread + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i28, 2 + %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %__last.coerce, i64 %.pre.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i28, i1 false) br label %if.end89 -if.end7.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit33.thread - %add.ptr.i.i.i.i.i32122 = getelementptr inbounds i32, ptr %__buffer, i64 %sub.ptr.div.i.i.i.i.i31121 - %incdec.ptr.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i32122, i64 -1 - br label %while.body.i34.outer +if.end7.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit32.thread + %add.ptr.i.i.i.i.i31122 = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i.i.i.i.i28 + %incdec.ptr.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i31122, i64 -1 + br label %while.body.i33.outer -while.body.i34.outer: ; preds = %if.then12.i, %if.end7.i - %__last1.sroa.0.0.i.ph.pn = phi ptr [ %__middle.coerce.tr105, %if.end7.i ], [ %__last1.sroa.0.0.i.ph, %if.then12.i ] +while.body.i33.outer: ; preds = %if.then12.i, %if.end7.i + %__last1.sroa.0.0.i.ph.pn = phi ptr [ %__middle.coerce.tr107, %if.end7.i ], [ %__last1.sroa.0.0.i.ph, %if.then12.i ] %__result.sroa.0.0.i.ph = phi ptr [ %__last.coerce, %if.end7.i ], [ %incdec.ptr.i12.i, %if.then12.i ] %__last2.addr.0.i.ph = phi ptr [ %incdec.ptr.i, %if.end7.i ], [ %__last2.addr.0.i, %if.then12.i ] %__last1.sroa.0.0.i.ph = getelementptr inbounds i32, ptr %__last1.sroa.0.0.i.ph.pn, i64 -1 - br label %while.body.i34 + br label %while.body.i33 -while.body.i34: ; preds = %while.body.i34.outer, %if.end31.i - %__result.sroa.0.0.i = phi ptr [ %incdec.ptr.i12.i, %if.end31.i ], [ %__result.sroa.0.0.i.ph, %while.body.i34.outer ] - %__last2.addr.0.i = phi ptr [ %incdec.ptr32.i, %if.end31.i ], [ %__last2.addr.0.i.ph, %while.body.i34.outer ] +while.body.i33: ; preds = %while.body.i33.outer, %if.end31.i + %__result.sroa.0.0.i = phi ptr [ %incdec.ptr.i12.i, %if.end31.i ], [ %__result.sroa.0.0.i.ph, %while.body.i33.outer ] + %__last2.addr.0.i = phi ptr [ %incdec.ptr32.i, %if.end31.i ], [ %__last2.addr.0.i.ph, %while.body.i33.outer ] %2 = load i32, ptr %__last2.addr.0.i, align 4 %3 = load i32, ptr %__last1.sroa.0.0.i.ph, align 4 %cmp.i11.i = icmp slt i32 %2, %3 %incdec.ptr.i12.i = getelementptr inbounds i32, ptr %__result.sroa.0.0.i, i64 -1 br i1 %cmp.i11.i, label %if.then12.i, label %if.else26.i -if.then12.i: ; preds = %while.body.i34 +if.then12.i: ; preds = %while.body.i33 store i32 %3, ptr %incdec.ptr.i12.i, align 4 - %cmp.i13.i = icmp eq ptr %__last1.sroa.0.0.i.ph, %__first.coerce.tr104 - br i1 %cmp.i13.i, label %if.then17.i, label %while.body.i34.outer, !llvm.loop !1852 + %cmp.i13.i = icmp eq ptr %__last1.sroa.0.0.i.ph, %__first.coerce.tr106 + br i1 %cmp.i13.i, label %if.then17.i, label %while.body.i33.outer, !llvm.loop !1852 if.then17.i: ; preds = %if.then12.i %incdec.ptr18.i = getelementptr inbounds i32, ptr %__last2.addr.0.i, i64 1 @@ -78381,21 +78406,21 @@ if.then.i.i.i.i.i20.i: ; preds = %if.then17.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i21.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i16.i, i1 false) br label %if.end89 -if.else26.i: ; preds = %while.body.i34 +if.else26.i: ; preds = %while.body.i33 store i32 %2, ptr %incdec.ptr.i12.i, align 4 %cmp29.i = icmp eq ptr %__last2.addr.0.i, %__buffer br i1 %cmp29.i, label %if.end89, label %if.end31.i if.end31.i: ; preds = %if.else26.i %incdec.ptr32.i = getelementptr inbounds i32, ptr %__last2.addr.0.i, i64 -1 - br label %while.body.i34, !llvm.loop !1852 + br label %while.body.i33, !llvm.loop !1852 if.else29: ; preds = %if.else - br i1 %cmp.not109, label %if.then31, label %if.else46 + br i1 %cmp.not111, label %if.then31, label %if.else46 if.then31: ; preds = %if.else29 - %div = sdiv i64 %__len1.tr107, 2 - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %__first.coerce.tr104, i64 %div + %div = sdiv i64 %__len1.tr109, 2 + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %__first.coerce.tr106, i64 %div %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %sub.ptr.div.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 2 %cmp6.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 @@ -78403,122 +78428,121 @@ if.then31: ; preds = %if.else29 while.body.lr.ph.i: ; preds = %if.then31 %4 = load i32, ptr %incdec.ptr.i.i.i, align 4 - br label %while.body.i39 + br label %while.body.i38 -while.body.i39: ; preds = %while.body.i39, %while.body.lr.ph.i - %__len.08.i = phi i64 [ %sub.ptr.div.i.i.i.i, %while.body.lr.ph.i ], [ %__len.1.i, %while.body.i39 ] - %__first.sroa.0.07.i = phi ptr [ %__middle.coerce.tr105, %while.body.lr.ph.i ], [ %__first.sroa.0.1.i, %while.body.i39 ] +while.body.i38: ; preds = %while.body.i38, %while.body.lr.ph.i + %__len.08.i = phi i64 [ %sub.ptr.div.i.i.i.i, %while.body.lr.ph.i ], [ %__len.1.i, %while.body.i38 ] + %__first.sroa.0.07.i = phi ptr [ %__middle.coerce.tr107, %while.body.lr.ph.i ], [ %__first.sroa.0.1.i, %while.body.i38 ] %shr.i = lshr i64 %__len.08.i, 1 %incdec.ptr.i8.sink.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.07.i, i64 %shr.i %5 = load i32, ptr %incdec.ptr.i8.sink.i.i.i, align 4 - %cmp.i.i40 = icmp slt i32 %5, %4 - %incdec.ptr.i.i41 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i, i64 1 + %cmp.i.i39 = icmp slt i32 %5, %4 + %incdec.ptr.i.i40 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i, i64 1 %6 = xor i64 %shr.i, -1 %sub9.i = add nsw i64 %__len.08.i, %6 - %__first.sroa.0.1.i = select i1 %cmp.i.i40, ptr %incdec.ptr.i.i41, ptr %__first.sroa.0.07.i - %__len.1.i = select i1 %cmp.i.i40, i64 %sub9.i, i64 %shr.i - %cmp.i42 = icmp sgt i64 %__len.1.i, 0 - br i1 %cmp.i42, label %while.body.i39, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit.loopexit, !llvm.loop !1849 + %__first.sroa.0.1.i = select i1 %cmp.i.i39, ptr %incdec.ptr.i.i40, ptr %__first.sroa.0.07.i + %__len.1.i = select i1 %cmp.i.i39, i64 %sub9.i, i64 %shr.i + %cmp.i41 = icmp sgt i64 %__len.1.i, 0 + br i1 %cmp.i41, label %while.body.i38, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit.loopexit, !llvm.loop !1849 -_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit.loopexit: ; preds = %while.body.i39 +_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit.loopexit: ; preds = %while.body.i38 %.pre = ptrtoint ptr %__first.sroa.0.1.i to i64 br label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit _ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit: ; preds = %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit.loopexit, %if.then31 %sub.ptr.lhs.cast.i.i.i.pre-phi = phi i64 [ %.pre, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit.loopexit ], [ %sub.ptr.rhs.cast.i.i.i.i, %if.then31 ] - %__first.sroa.0.0.lcssa.i = phi ptr [ %__first.sroa.0.1.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit.loopexit ], [ %__middle.coerce.tr105, %if.then31 ] + %__first.sroa.0.0.lcssa.i = phi ptr [ %__first.sroa.0.1.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit.loopexit ], [ %__middle.coerce.tr107, %if.then31 ] %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.pre-phi, %sub.ptr.rhs.cast.i.i.i.i %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 2 br label %if.end if.else46: ; preds = %if.else29 - %div47 = sdiv i64 %__len2.tr108, 2 - %incdec.ptr.i.i.i54 = getelementptr inbounds i32, ptr %__middle.coerce.tr105, i64 %div47 - %sub.ptr.rhs.cast.i.i.i.i57 = ptrtoint ptr %__first.coerce.tr104 to i64 - %sub.ptr.sub.i.i.i.i58 = sub i64 %sub.ptr.rhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i57 - %sub.ptr.div.i.i.i.i59 = ashr exact i64 %sub.ptr.sub.i.i.i.i58, 2 - %cmp6.i60 = icmp sgt i64 %sub.ptr.div.i.i.i.i59, 0 - br i1 %cmp6.i60, label %while.body.lr.ph.i62, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit - -while.body.lr.ph.i62: ; preds = %if.else46 - %7 = load i32, ptr %incdec.ptr.i.i.i54, align 4 - br label %while.body.i63 - -while.body.i63: ; preds = %while.body.i63, %while.body.lr.ph.i62 - %__len.08.i64 = phi i64 [ %sub.ptr.div.i.i.i.i59, %while.body.lr.ph.i62 ], [ %__len.1.i75, %while.body.i63 ] - %__first.sroa.0.07.i65 = phi ptr [ %__first.coerce.tr104, %while.body.lr.ph.i62 ], [ %__first.sroa.0.1.i74, %while.body.i63 ] - %shr.i66 = lshr i64 %__len.08.i64, 1 - %incdec.ptr.i8.sink.i.i.i70 = getelementptr inbounds i32, ptr %__first.sroa.0.07.i65, i64 %shr.i66 - %8 = load i32, ptr %incdec.ptr.i8.sink.i.i.i70, align 4 - %cmp.i.i71 = icmp slt i32 %7, %8 - %incdec.ptr.i.i72 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i70, i64 1 - %9 = xor i64 %shr.i66, -1 - %sub9.i73 = add nsw i64 %__len.08.i64, %9 - %__first.sroa.0.1.i74 = select i1 %cmp.i.i71, ptr %__first.sroa.0.07.i65, ptr %incdec.ptr.i.i72 - %__len.1.i75 = select i1 %cmp.i.i71, i64 %shr.i66, i64 %sub9.i73 - %cmp.i76 = icmp sgt i64 %__len.1.i75, 0 - br i1 %cmp.i76, label %while.body.i63, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit, !llvm.loop !1850 - -_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit: ; preds = %while.body.i63 - %.pre118 = ptrtoint ptr %__first.sroa.0.1.i74 to i64 + %div47 = sdiv i64 %__len2.tr110, 2 + %incdec.ptr.i.i.i53 = getelementptr inbounds i32, ptr %__middle.coerce.tr107, i64 %div47 + %sub.ptr.rhs.cast.i.i.i.i56 = ptrtoint ptr %__first.coerce.tr106 to i64 + %sub.ptr.sub.i.i.i.i57 = sub i64 %sub.ptr.rhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i56 + %sub.ptr.div.i.i.i.i58 = ashr exact i64 %sub.ptr.sub.i.i.i.i57, 2 + %cmp6.i59 = icmp sgt i64 %sub.ptr.div.i.i.i.i58, 0 + br i1 %cmp6.i59, label %while.body.lr.ph.i61, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit + +while.body.lr.ph.i61: ; preds = %if.else46 + %7 = load i32, ptr %incdec.ptr.i.i.i53, align 4 + br label %while.body.i62 + +while.body.i62: ; preds = %while.body.i62, %while.body.lr.ph.i61 + %__len.08.i63 = phi i64 [ %sub.ptr.div.i.i.i.i58, %while.body.lr.ph.i61 ], [ %__len.1.i74, %while.body.i62 ] + %__first.sroa.0.07.i64 = phi ptr [ %__first.coerce.tr106, %while.body.lr.ph.i61 ], [ %__first.sroa.0.1.i73, %while.body.i62 ] + %shr.i65 = lshr i64 %__len.08.i63, 1 + %incdec.ptr.i8.sink.i.i.i69 = getelementptr inbounds i32, ptr %__first.sroa.0.07.i64, i64 %shr.i65 + %8 = load i32, ptr %incdec.ptr.i8.sink.i.i.i69, align 4 + %cmp.i.i70 = icmp slt i32 %7, %8 + %incdec.ptr.i.i71 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i69, i64 1 + %9 = xor i64 %shr.i65, -1 + %sub9.i72 = add nsw i64 %__len.08.i63, %9 + %__first.sroa.0.1.i73 = select i1 %cmp.i.i70, ptr %__first.sroa.0.07.i64, ptr %incdec.ptr.i.i71 + %__len.1.i74 = select i1 %cmp.i.i70, i64 %shr.i65, i64 %sub9.i72 + %cmp.i75 = icmp sgt i64 %__len.1.i74, 0 + br i1 %cmp.i75, label %while.body.i62, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit, !llvm.loop !1850 + +_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit: ; preds = %while.body.i62 + %.pre120 = ptrtoint ptr %__first.sroa.0.1.i73 to i64 br label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit _ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit: ; preds = %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit, %if.else46 - %sub.ptr.lhs.cast.i.i.i77.pre-phi = phi i64 [ %.pre118, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit ], [ %sub.ptr.rhs.cast.i.i.i.i57, %if.else46 ] - %__first.sroa.0.0.lcssa.i61 = phi ptr [ %__first.sroa.0.1.i74, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit ], [ %__first.coerce.tr104, %if.else46 ] - %sub.ptr.sub.i.i.i79 = sub i64 %sub.ptr.lhs.cast.i.i.i77.pre-phi, %sub.ptr.rhs.cast.i.i.i.i57 - %sub.ptr.div.i.i.i80 = ashr exact i64 %sub.ptr.sub.i.i.i79, 2 + %sub.ptr.lhs.cast.i.i.i76.pre-phi = phi i64 [ %.pre120, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit ], [ %sub.ptr.rhs.cast.i.i.i.i56, %if.else46 ] + %__first.sroa.0.0.lcssa.i60 = phi ptr [ %__first.sroa.0.1.i73, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit.loopexit ], [ %__first.coerce.tr106, %if.else46 ] + %sub.ptr.sub.i.i.i78 = sub i64 %sub.ptr.lhs.cast.i.i.i76.pre-phi, %sub.ptr.rhs.cast.i.i.i.i56 + %sub.ptr.div.i.i.i79 = ashr exact i64 %sub.ptr.sub.i.i.i78, 2 br label %if.end if.end: ; preds = %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit - %__first_cut.sroa.0.0 = phi ptr [ %incdec.ptr.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit ], [ %__first.sroa.0.0.lcssa.i61, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit ] - %__second_cut.sroa.0.0 = phi ptr [ %__first.sroa.0.0.lcssa.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit ], [ %incdec.ptr.i.i.i54, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit ] + %__first_cut.sroa.0.0 = phi ptr [ %incdec.ptr.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit ], [ %__first.sroa.0.0.lcssa.i60, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit ] + %__second_cut.sroa.0.0 = phi ptr [ %__first.sroa.0.0.lcssa.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit ], [ %incdec.ptr.i.i.i53, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit ] %__len22.0 = phi i64 [ %sub.ptr.div.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit ], [ %div47, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit ] - %__len11.0 = phi i64 [ %div, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit ], [ %sub.ptr.div.i.i.i80, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit ] - %sub = sub nsw i64 %__len1.tr107, %__len11.0 - %cmp.i81 = icmp sle i64 %sub, %__len22.0 + %__len11.0 = phi i64 [ %div, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_less_valEET_S9_S9_RKT0_T1_.exit ], [ %sub.ptr.div.i.i.i79, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_less_iterEET_S9_S9_RKT0_T1_.exit ] + %sub = sub nsw i64 %__len1.tr109, %__len11.0 + %cmp.i80 = icmp sle i64 %sub, %__len22.0 %cmp3.not.i = icmp sgt i64 %__len22.0, %__buffer_size - %or.cond.i = or i1 %cmp3.not.i, %cmp.i81 - br i1 %or.cond.i, label %if.else20.i, label %if.then.i82 + %or.cond.i = or i1 %cmp3.not.i, %cmp.i80 + br i1 %or.cond.i, label %if.else20.i, label %if.then.i81 -if.then.i82: ; preds = %if.end +if.then.i81: ; preds = %if.end %tobool.not.i = icmp eq i64 %__len22.0, 0 br i1 %tobool.not.i, label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit, label %if.then4.i -if.then4.i: ; preds = %if.then.i82 - %sub.ptr.lhs.cast.i.i.i.i.i.i83 = ptrtoint ptr %__second_cut.sroa.0.0 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i84 = ptrtoint ptr %__middle.coerce.tr105 to i64 - %sub.ptr.sub.i.i.i.i.i.i85 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i83, %sub.ptr.rhs.cast.i.i.i.i.i.i84 - %tobool.not.i.i.i.i.i.i86 = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr105 - br i1 %tobool.not.i.i.i.i.i.i86, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i.i87 +if.then4.i: ; preds = %if.then.i81 + %sub.ptr.lhs.cast.i.i.i.i.i.i82 = ptrtoint ptr %__second_cut.sroa.0.0 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i83 = ptrtoint ptr %__middle.coerce.tr107 to i64 + %sub.ptr.sub.i.i.i.i.i.i84 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i82, %sub.ptr.rhs.cast.i.i.i.i.i.i83 + %tobool.not.i.i.i.i.i.i85 = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr107 + br i1 %tobool.not.i.i.i.i.i.i85, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i.i86 -if.then.i.i.i.i.i.i87: ; preds = %if.then4.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr105, i64 %sub.ptr.sub.i.i.i.i.i.i85, i1 false) +if.then.i.i.i.i.i.i86: ; preds = %if.then4.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr107, i64 %sub.ptr.sub.i.i.i.i.i.i84, i1 false) br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i.i87, %if.then4.i - %tobool.not.i.i.i.i.i14.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr105 - br i1 %tobool.not.i.i.i.i.i14.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i15.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i.i86, %if.then4.i + %tobool.not.i.i.i.i.i13.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr107 + br i1 %tobool.not.i.i.i.i.i13.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i14.i -if.then.i.i.i.i.i15.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i +if.then.i.i.i.i.i14.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i %sub.ptr.rhs.cast.i.i.i.i.i11.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i12.i = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i84, %sub.ptr.rhs.cast.i.i.i.i.i11.i - %sub.ptr.div.i.i.i.i.i13.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i12.i, 2 - %.pre.i.i.i.i.i.i88 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i13.i - %add.ptr.i.i.i.i.i16.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i.i88 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i16.i, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i12.i, i1 false) + %sub.ptr.sub.i.i.i.i.i12.i = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i83, %sub.ptr.rhs.cast.i.i.i.i.i11.i + %sub.ptr.div.i.i.i.i.i.i87 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i12.i, 2 + %.pre.i.i.i.i.i.i88 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i87 + %add.ptr.i.i.i.i.i15.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i.i88 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i15.i, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i12.i, i1 false) br label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i -_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i15.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i - br i1 %tobool.not.i.i.i.i.i.i86, label %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i89, label %if.then.i.i.i.i.i21.i +_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i14.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i + br i1 %tobool.not.i.i.i.i.i.i85, label %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i90, label %if.then.i.i.i.i.i20.i89 -if.then.i.i.i.i.i21.i: ; preds = %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i.i85, i1 false) - br label %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i89 +if.then.i.i.i.i.i20.i89: ; preds = %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i.i84, i1 false) + br label %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i90 -_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i89: ; preds = %if.then.i.i.i.i.i21.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i - %sub.ptr.div.i.i.i.i.i22.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i85, 2 - %add.ptr.i.i.i.i.i23.i = getelementptr inbounds i32, ptr %__first_cut.sroa.0.0, i64 %sub.ptr.div.i.i.i.i.i22.i +_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i90: ; preds = %if.then.i.i.i.i.i20.i89, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i + %add.ptr.i.i.i.i.i21.i91 = getelementptr inbounds i8, ptr %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i.i84 br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit if.else20.i: ; preds = %if.end @@ -78526,52 +78550,52 @@ if.else20.i: ; preds = %if.end br i1 %cmp21.not.i, label %if.else44.i, label %if.then22.i if.then22.i: ; preds = %if.else20.i - %tobool23.not.i = icmp eq i64 %__len11.0, %__len1.tr107 + %tobool23.not.i = icmp eq i64 %__len11.0, %__len1.tr109 br i1 %tobool23.not.i, label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit, label %if.then24.i if.then24.i: ; preds = %if.then22.i - %sub.ptr.lhs.cast.i.i.i.i.i24.i = ptrtoint ptr %__middle.coerce.tr105 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i25.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i26.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24.i, %sub.ptr.rhs.cast.i.i.i.i.i25.i - %tobool.not.i.i.i.i.i27.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr105 - br i1 %tobool.not.i.i.i.i.i27.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i, label %if.then.i.i.i.i.i28.i - -if.then.i.i.i.i.i28.i: ; preds = %if.then24.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i26.i, i1 false) - br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i - -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i: ; preds = %if.then.i.i.i.i.i28.i, %if.then24.i - %tobool.not.i.i.i.i.i35.i = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr105 - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i36.i - -if.then.i.i.i.i.i36.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i - %sub.ptr.lhs.cast.i.i.i.i.i32.i = ptrtoint ptr %__second_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i34.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i32.i, %sub.ptr.lhs.cast.i.i.i.i.i24.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__middle.coerce.tr105, i64 %sub.ptr.sub.i.i.i.i.i34.i, i1 false) + %sub.ptr.lhs.cast.i.i.i.i.i22.i = ptrtoint ptr %__middle.coerce.tr107 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i23.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 + %sub.ptr.sub.i.i.i.i.i24.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i22.i, %sub.ptr.rhs.cast.i.i.i.i.i23.i + %tobool.not.i.i.i.i.i25.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr107 + br i1 %tobool.not.i.i.i.i.i25.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i, label %if.then.i.i.i.i.i26.i + +if.then.i.i.i.i.i26.i: ; preds = %if.then24.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i24.i, i1 false) + br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i + +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i: ; preds = %if.then.i.i.i.i.i26.i, %if.then24.i + %tobool.not.i.i.i.i.i32.i = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr107 + br i1 %tobool.not.i.i.i.i.i32.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i33.i + +if.then.i.i.i.i.i33.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i + %sub.ptr.lhs.cast.i.i.i.i.i29.i = ptrtoint ptr %__second_cut.sroa.0.0 to i64 + %sub.ptr.sub.i.i.i.i.i31.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i29.i, %sub.ptr.lhs.cast.i.i.i.i.i22.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__middle.coerce.tr107, i64 %sub.ptr.sub.i.i.i.i.i31.i, i1 false) br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i36.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i - %sub.ptr.div.i.i.i.i.i42.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i26.i, 2 - %.pre.i.i.i.i.i44.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i42.i - br i1 %tobool.not.i.i.i.i.i27.i, label %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i45.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i33.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i + %sub.ptr.div.i.i.i.i.i38.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i24.i, 2 + %.pre.i.i.i.i.i40.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i38.i + br i1 %tobool.not.i.i.i.i.i25.i, label %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i41.i -if.then.i.i.i.i.i45.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i - %add.ptr.i.i.i.i.i46.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i44.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i46.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i26.i, i1 false) +if.then.i.i.i.i.i41.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i + %add.ptr.i.i.i.i.i42.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i40.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i42.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i24.i, i1 false) br label %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i -_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i45.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i - %add.ptr2.i.i.i.i.i47.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i44.i +_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i41.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i + %add.ptr2.i.i.i.i.i43.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i40.i br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit if.else44.i: ; preds = %if.else20.i - %call.i.i = tail call ptr @_ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEET_S8_S8_S8_St26random_access_iterator_tag(ptr %__first_cut.sroa.0.0, ptr %__middle.coerce.tr105, ptr %__second_cut.sroa.0.0) + %call.i.i = tail call ptr @_ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEET_S8_S8_S8_St26random_access_iterator_tag(ptr %__first_cut.sroa.0.0, ptr %__middle.coerce.tr107, ptr %__second_cut.sroa.0.0) br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit -_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit: ; preds = %if.then.i82, %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i89, %if.then22.i, %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i, %if.else44.i - %retval.sroa.0.0.i = phi ptr [ %add.ptr.i.i.i.i.i23.i, %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i89 ], [ %add.ptr2.i.i.i.i.i47.i, %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i ], [ %call.i.i, %if.else44.i ], [ %__first_cut.sroa.0.0, %if.then.i82 ], [ %__second_cut.sroa.0.0, %if.then22.i ] - tail call void @_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElS2_NS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_SA_T1_SA_T2_(ptr %__first.coerce.tr104, ptr %__first_cut.sroa.0.0, ptr %retval.sroa.0.0.i, i64 noundef %__len11.0, i64 noundef %__len22.0, ptr noundef %__buffer, i64 noundef %__buffer_size) - %sub83 = sub nsw i64 %__len2.tr108, %__len22.0 +_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit: ; preds = %if.then.i81, %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i90, %if.then22.i, %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i, %if.else44.i + %retval.sroa.0.0.i = phi ptr [ %add.ptr.i.i.i.i.i21.i91, %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i90 ], [ %add.ptr2.i.i.i.i.i43.i, %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i ], [ %call.i.i, %if.else44.i ], [ %__first_cut.sroa.0.0, %if.then.i81 ], [ %__second_cut.sroa.0.0, %if.then22.i ] + tail call void @_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElS2_NS0_5__ops15_Iter_less_iterEEvT_S9_S9_T0_SA_T1_SA_T2_(ptr %__first.coerce.tr106, ptr %__first_cut.sroa.0.0, ptr %retval.sroa.0.0.i, i64 noundef %__len11.0, i64 noundef %__len22.0, ptr noundef %__buffer, i64 noundef %__buffer_size) + %sub83 = sub nsw i64 %__len2.tr110, %__len22.0 %cmp.not = icmp sgt i64 %sub, %sub83 %cmp3.not = icmp sgt i64 %sub, %__buffer_size %or.cond = or i1 %cmp3.not, %cmp.not @@ -78590,14 +78614,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144MutatingTest_InplaceMergeWithComparator_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_144MutatingTest_InplaceMergeWithComparator_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -78608,22 +78632,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144MutatingTest_InplaceMergeWithComparator_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_144MutatingTest_InplaceMergeWithComparator_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -78635,9 +78659,9 @@ entry: %ref.tmp11 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.324", align 16 %ref.tmp22 = alloca %"class.testing::Message", align 8 %ref.tmp25 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30 store ptr %call5.i.i.i.i2.i, ptr %actual, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %actual, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit.472, i64 20, i1 false) @@ -78676,7 +78700,7 @@ invoke.cont24: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont27, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont24 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %3) #28 br label %invoke.cont27 invoke.cont27: ; preds = %cond.true.i.i, %invoke.cont24 @@ -78689,7 +78713,7 @@ invoke.cont29: ; preds = %invoke.cont27 to label %invoke.cont31 unwind label %lpad30 invoke.cont31: ; preds = %invoke.cont29 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 %4 = load ptr, ptr %ref.tmp22, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -78698,7 +78722,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -78718,7 +78742,7 @@ lpad26: ; preds = %invoke.cont27 lpad30: ; preds = %invoke.cont29 %8 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp25) #28 br label %ehcleanup ehcleanup: ; preds = %lpad30, %lpad26 @@ -78731,7 +78755,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %9, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %10 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -78745,8 +78769,8 @@ if.end: ; preds = %invoke.cont20, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #27 - call void @_ZdlPv(ptr noundef nonnull %11) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #28 + call void @_ZdlPv(ptr noundef nonnull %11) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -78756,7 +78780,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %12) #28 + call void @_ZdlPv(ptr noundef nonnull %12) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -78764,7 +78788,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup32: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad23 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %6, %lpad23 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup33 ehcleanup33: ; preds = %ehcleanup32, %lpad9 @@ -78774,7 +78798,7 @@ ehcleanup33: ; preds = %ehcleanup32, %lpad9 br i1 %tobool.not.i.i.i14, label %eh.resume, label %if.then.i.i.i15 if.then.i.i.i15: ; preds = %ehcleanup33 - call void @_ZdlPv(ptr noundef nonnull %13) #28 + call void @_ZdlPv(ptr noundef nonnull %13) #29 br label %eh.resume eh.resume: ; preds = %if.then.i.i.i15, %ehcleanup33 @@ -78804,7 +78828,7 @@ if.end: ; preds = %entry while.body.i.i: ; preds = %if.end, %if.end4.i.i %storemerge27.i.i = phi i64 [ %div5.i.i, %if.end4.i.i ], [ %.sroa.speculated, %if.end ] %mul.i.i = shl nuw i64 %storemerge27.i.i, 2 - %call.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #34 + %call.i.i = tail call noalias noundef ptr @_ZnwmRKSt9nothrow_t(i64 noundef %mul.i.i, ptr noundef nonnull align 1 dereferenceable(1) @_ZSt7nothrow) #35 %cmp2.not.i.i = icmp eq ptr %call.i.i, null br i1 %cmp2.not.i.i, label %if.end4.i.i, label %if.else @@ -78822,7 +78846,7 @@ lpad: ; preds = %if.else, %if.then17 %__buf.sroa.4.032 = phi ptr [ %call.i.i, %if.else ], [ null, %if.then17 ] %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef %__buf.sroa.4.032) #27 + tail call void @_ZdlPv(ptr noundef %__buf.sroa.4.032) #28 resume { ptr, i32 } %0 if.else: ; preds = %while.body.i.i @@ -78831,7 +78855,7 @@ if.else: ; preds = %while.body.i.i if.end35: ; preds = %if.else, %if.then17 %__buf.sroa.4.030 = phi ptr [ %call.i.i, %if.else ], [ null, %if.then17 ] - tail call void @_ZdlPv(ptr noundef %__buf.sroa.4.030) #27 + tail call void @_ZdlPv(ptr noundef %__buf.sroa.4.030) #28 br label %return return: ; preds = %entry, %if.end35 @@ -78993,8 +79017,7 @@ land.rhs.i.preheader: ; preds = %if.then %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %__first.coerce.tr.lcssa to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first.coerce.tr.lcssa, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %__buffer, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i.i.i.i.i br label %land.rhs.i land.rhs.i: ; preds = %land.rhs.i.preheader, %while.body.i @@ -79039,45 +79062,45 @@ if.else: ; preds = %if.else.lr.ph, %_ZS if.then15: ; preds = %if.else %sub.ptr.sub.i.i.i.i.i33 = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %tobool.not.i.i.i.i.i34 = icmp eq ptr %__middle.coerce.tr111, %__last.coerce - br i1 %tobool.not.i.i.i.i.i34, label %if.end89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit38.thread + br i1 %tobool.not.i.i.i.i.i34, label %if.end89, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit37.thread -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit38.thread: ; preds = %if.then15 +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit37.thread: ; preds = %if.then15 tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr111, i64 %sub.ptr.sub.i.i.i.i.i33, i1 false) - %sub.ptr.div.i.i.i.i.i36127 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i33, 2 - %cmp.i.i129 = icmp eq ptr %__first.coerce.tr110, %__middle.coerce.tr111 - br i1 %cmp.i.i129, label %if.then.i.i.i.i.i.i, label %if.end7.i + %cmp.i.i127 = icmp eq ptr %__first.coerce.tr110, %__middle.coerce.tr111 + br i1 %cmp.i.i127, label %if.then.i.i.i.i.i.i, label %if.end7.i -if.then.i.i.i.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit38.thread - %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i36127 +if.then.i.i.i.i.i.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit37.thread + %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i33, 2 + %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %__last.coerce, i64 %.pre.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i33, i1 false) br label %if.end89 -if.end7.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit38.thread - %add.ptr.i.i.i.i.i37128 = getelementptr inbounds i32, ptr %__buffer, i64 %sub.ptr.div.i.i.i.i.i36127 - %incdec.ptr.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i37128, i64 -1 - br label %while.body.i39.outer +if.end7.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit37.thread + %add.ptr.i.i.i.i.i36126 = getelementptr inbounds i8, ptr %__buffer, i64 %sub.ptr.sub.i.i.i.i.i33 + %incdec.ptr.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i36126, i64 -1 + br label %while.body.i38.outer -while.body.i39.outer: ; preds = %if.then12.i, %if.end7.i +while.body.i38.outer: ; preds = %if.then12.i, %if.end7.i %__last1.sroa.0.0.i.ph.pn = phi ptr [ %__middle.coerce.tr111, %if.end7.i ], [ %__last1.sroa.0.0.i.ph, %if.then12.i ] %__result.sroa.0.0.i.ph = phi ptr [ %__last.coerce, %if.end7.i ], [ %incdec.ptr.i11.i, %if.then12.i ] %__last2.addr.0.i.ph = phi ptr [ %incdec.ptr.i, %if.end7.i ], [ %__last2.addr.0.i, %if.then12.i ] %__last1.sroa.0.0.i.ph = getelementptr inbounds i32, ptr %__last1.sroa.0.0.i.ph.pn, i64 -1 - br label %while.body.i39 + br label %while.body.i38 -while.body.i39: ; preds = %while.body.i39.outer, %if.end31.i - %__result.sroa.0.0.i = phi ptr [ %incdec.ptr.i11.i, %if.end31.i ], [ %__result.sroa.0.0.i.ph, %while.body.i39.outer ] - %__last2.addr.0.i = phi ptr [ %incdec.ptr32.i, %if.end31.i ], [ %__last2.addr.0.i.ph, %while.body.i39.outer ] +while.body.i38: ; preds = %while.body.i38.outer, %if.end31.i + %__result.sroa.0.0.i = phi ptr [ %incdec.ptr.i11.i, %if.end31.i ], [ %__result.sroa.0.0.i.ph, %while.body.i38.outer ] + %__last2.addr.0.i = phi ptr [ %incdec.ptr32.i, %if.end31.i ], [ %__last2.addr.0.i.ph, %while.body.i38.outer ] %2 = load i32, ptr %__last2.addr.0.i, align 4 %3 = load i32, ptr %__last1.sroa.0.0.i.ph, align 4 - %cmp.i.i.i40 = icmp sgt i32 %2, %3 + %cmp.i.i.i39 = icmp sgt i32 %2, %3 %incdec.ptr.i11.i = getelementptr inbounds i32, ptr %__result.sroa.0.0.i, i64 -1 - br i1 %cmp.i.i.i40, label %if.then12.i, label %if.else26.i + br i1 %cmp.i.i.i39, label %if.then12.i, label %if.else26.i -if.then12.i: ; preds = %while.body.i39 +if.then12.i: ; preds = %while.body.i38 store i32 %3, ptr %incdec.ptr.i11.i, align 4 %cmp.i12.i = icmp eq ptr %__last1.sroa.0.0.i.ph, %__first.coerce.tr110 - br i1 %cmp.i12.i, label %if.then17.i, label %while.body.i39.outer, !llvm.loop !1854 + br i1 %cmp.i12.i, label %if.then17.i, label %while.body.i38.outer, !llvm.loop !1854 if.then17.i: ; preds = %if.then12.i %incdec.ptr18.i = getelementptr inbounds i32, ptr %__last2.addr.0.i, i64 1 @@ -79094,14 +79117,14 @@ if.then.i.i.i.i.i19.i: ; preds = %if.then17.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i20.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i15.i, i1 false) br label %if.end89 -if.else26.i: ; preds = %while.body.i39 +if.else26.i: ; preds = %while.body.i38 store i32 %2, ptr %incdec.ptr.i11.i, align 4 %cmp29.i = icmp eq ptr %__last2.addr.0.i, %__buffer br i1 %cmp29.i, label %if.end89, label %if.end31.i if.end31.i: ; preds = %if.else26.i %incdec.ptr32.i = getelementptr inbounds i32, ptr %__last2.addr.0.i, i64 -1 - br label %while.body.i39, !llvm.loop !1854 + br label %while.body.i38, !llvm.loop !1854 if.else29: ; preds = %if.else br i1 %cmp.not115, label %if.then31, label %if.else46 @@ -79116,24 +79139,24 @@ if.then31: ; preds = %if.else29 while.body.lr.ph.i: ; preds = %if.then31 %4 = load i32, ptr %incdec.ptr.i.i.i, align 4 - br label %while.body.i45 + br label %while.body.i44 -while.body.i45: ; preds = %while.body.i45, %while.body.lr.ph.i - %__len.09.i = phi i64 [ %sub.ptr.div.i.i.i.i, %while.body.lr.ph.i ], [ %__len.1.i, %while.body.i45 ] - %__first.sroa.0.08.i = phi ptr [ %__middle.coerce.tr111, %while.body.lr.ph.i ], [ %__first.sroa.0.1.i, %while.body.i45 ] +while.body.i44: ; preds = %while.body.i44, %while.body.lr.ph.i + %__len.09.i = phi i64 [ %sub.ptr.div.i.i.i.i, %while.body.lr.ph.i ], [ %__len.1.i, %while.body.i44 ] + %__first.sroa.0.08.i = phi ptr [ %__middle.coerce.tr111, %while.body.lr.ph.i ], [ %__first.sroa.0.1.i, %while.body.i44 ] %shr.i = lshr i64 %__len.09.i, 1 %incdec.ptr.i8.sink.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.08.i, i64 %shr.i %5 = load i32, ptr %incdec.ptr.i8.sink.i.i.i, align 4 %cmp.i.i5.i = icmp sgt i32 %5, %4 - %incdec.ptr.i.i47 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i, i64 1 + %incdec.ptr.i.i46 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i, i64 1 %6 = xor i64 %shr.i, -1 %sub9.i = add nsw i64 %__len.09.i, %6 - %__first.sroa.0.1.i = select i1 %cmp.i.i5.i, ptr %incdec.ptr.i.i47, ptr %__first.sroa.0.08.i + %__first.sroa.0.1.i = select i1 %cmp.i.i5.i, ptr %incdec.ptr.i.i46, ptr %__first.sroa.0.08.i %__len.1.i = select i1 %cmp.i.i5.i, i64 %sub9.i, i64 %shr.i - %cmp.i48 = icmp sgt i64 %__len.1.i, 0 - br i1 %cmp.i48, label %while.body.i45, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit, !llvm.loop !336 + %cmp.i47 = icmp sgt i64 %__len.1.i, 0 + br i1 %cmp.i47, label %while.body.i44, label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit, !llvm.loop !336 -_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit: ; preds = %while.body.i45 +_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit: ; preds = %while.body.i44 %.pre = ptrtoint ptr %__first.sroa.0.1.i to i64 br label %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit @@ -79146,92 +79169,91 @@ _ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ if.else46: ; preds = %if.else29 %div47 = sdiv i64 %__len2.tr114, 2 - %incdec.ptr.i.i.i60 = getelementptr inbounds i32, ptr %__middle.coerce.tr111, i64 %div47 - %sub.ptr.rhs.cast.i.i.i.i63 = ptrtoint ptr %__first.coerce.tr110 to i64 - %sub.ptr.sub.i.i.i.i64 = sub i64 %sub.ptr.rhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i63 - %sub.ptr.div.i.i.i.i65 = ashr exact i64 %sub.ptr.sub.i.i.i.i64, 2 - %cmp7.i66 = icmp sgt i64 %sub.ptr.div.i.i.i.i65, 0 - br i1 %cmp7.i66, label %while.body.lr.ph.i68, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit - -while.body.lr.ph.i68: ; preds = %if.else46 - %7 = load i32, ptr %incdec.ptr.i.i.i60, align 4 - br label %while.body.i69 - -while.body.i69: ; preds = %while.body.i69, %while.body.lr.ph.i68 - %__len.09.i70 = phi i64 [ %sub.ptr.div.i.i.i.i65, %while.body.lr.ph.i68 ], [ %__len.1.i81, %while.body.i69 ] - %__first.sroa.0.08.i71 = phi ptr [ %__first.coerce.tr110, %while.body.lr.ph.i68 ], [ %__first.sroa.0.1.i80, %while.body.i69 ] - %shr.i72 = lshr i64 %__len.09.i70, 1 - %incdec.ptr.i8.sink.i.i.i76 = getelementptr inbounds i32, ptr %__first.sroa.0.08.i71, i64 %shr.i72 - %8 = load i32, ptr %incdec.ptr.i8.sink.i.i.i76, align 4 - %cmp.i.i5.i77 = icmp sgt i32 %7, %8 - %incdec.ptr.i.i78 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i76, i64 1 - %9 = xor i64 %shr.i72, -1 - %sub9.i79 = add nsw i64 %__len.09.i70, %9 - %__first.sroa.0.1.i80 = select i1 %cmp.i.i5.i77, ptr %__first.sroa.0.08.i71, ptr %incdec.ptr.i.i78 - %__len.1.i81 = select i1 %cmp.i.i5.i77, i64 %shr.i72, i64 %sub9.i79 - %cmp.i82 = icmp sgt i64 %__len.1.i81, 0 - br i1 %cmp.i82, label %while.body.i69, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit, !llvm.loop !360 - -_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit: ; preds = %while.body.i69 - %.pre124 = ptrtoint ptr %__first.sroa.0.1.i80 to i64 + %incdec.ptr.i.i.i59 = getelementptr inbounds i32, ptr %__middle.coerce.tr111, i64 %div47 + %sub.ptr.rhs.cast.i.i.i.i62 = ptrtoint ptr %__first.coerce.tr110 to i64 + %sub.ptr.sub.i.i.i.i63 = sub i64 %sub.ptr.rhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i62 + %sub.ptr.div.i.i.i.i64 = ashr exact i64 %sub.ptr.sub.i.i.i.i63, 2 + %cmp7.i65 = icmp sgt i64 %sub.ptr.div.i.i.i.i64, 0 + br i1 %cmp7.i65, label %while.body.lr.ph.i67, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit + +while.body.lr.ph.i67: ; preds = %if.else46 + %7 = load i32, ptr %incdec.ptr.i.i.i59, align 4 + br label %while.body.i68 + +while.body.i68: ; preds = %while.body.i68, %while.body.lr.ph.i67 + %__len.09.i69 = phi i64 [ %sub.ptr.div.i.i.i.i64, %while.body.lr.ph.i67 ], [ %__len.1.i80, %while.body.i68 ] + %__first.sroa.0.08.i70 = phi ptr [ %__first.coerce.tr110, %while.body.lr.ph.i67 ], [ %__first.sroa.0.1.i79, %while.body.i68 ] + %shr.i71 = lshr i64 %__len.09.i69, 1 + %incdec.ptr.i8.sink.i.i.i75 = getelementptr inbounds i32, ptr %__first.sroa.0.08.i70, i64 %shr.i71 + %8 = load i32, ptr %incdec.ptr.i8.sink.i.i.i75, align 4 + %cmp.i.i5.i76 = icmp sgt i32 %7, %8 + %incdec.ptr.i.i77 = getelementptr inbounds i32, ptr %incdec.ptr.i8.sink.i.i.i75, i64 1 + %9 = xor i64 %shr.i71, -1 + %sub9.i78 = add nsw i64 %__len.09.i69, %9 + %__first.sroa.0.1.i79 = select i1 %cmp.i.i5.i76, ptr %__first.sroa.0.08.i70, ptr %incdec.ptr.i.i77 + %__len.1.i80 = select i1 %cmp.i.i5.i76, i64 %shr.i71, i64 %sub9.i78 + %cmp.i81 = icmp sgt i64 %__len.1.i80, 0 + br i1 %cmp.i81, label %while.body.i68, label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit, !llvm.loop !360 + +_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit: ; preds = %while.body.i68 + %.pre124 = ptrtoint ptr %__first.sroa.0.1.i79 to i64 br label %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit _ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit: ; preds = %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit, %if.else46 - %sub.ptr.lhs.cast.i.i.i83.pre-phi = phi i64 [ %.pre124, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit ], [ %sub.ptr.rhs.cast.i.i.i.i63, %if.else46 ] - %__first.sroa.0.0.lcssa.i67 = phi ptr [ %__first.sroa.0.1.i80, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit ], [ %__first.coerce.tr110, %if.else46 ] - %sub.ptr.sub.i.i.i85 = sub i64 %sub.ptr.lhs.cast.i.i.i83.pre-phi, %sub.ptr.rhs.cast.i.i.i.i63 - %sub.ptr.div.i.i.i86 = ashr exact i64 %sub.ptr.sub.i.i.i85, 2 + %sub.ptr.lhs.cast.i.i.i82.pre-phi = phi i64 [ %.pre124, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit ], [ %sub.ptr.rhs.cast.i.i.i.i62, %if.else46 ] + %__first.sroa.0.0.lcssa.i66 = phi ptr [ %__first.sroa.0.1.i79, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.loopexit ], [ %__first.coerce.tr110, %if.else46 ] + %sub.ptr.sub.i.i.i84 = sub i64 %sub.ptr.lhs.cast.i.i.i82.pre-phi, %sub.ptr.rhs.cast.i.i.i.i62 + %sub.ptr.div.i.i.i85 = ashr exact i64 %sub.ptr.sub.i.i.i84, 2 br label %if.end if.end: ; preds = %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit - %__first_cut.sroa.0.0 = phi ptr [ %incdec.ptr.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ], [ %__first.sroa.0.0.lcssa.i67, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ] - %__second_cut.sroa.0.0 = phi ptr [ %__first.sroa.0.0.lcssa.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ], [ %incdec.ptr.i.i.i60, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ] + %__first_cut.sroa.0.0 = phi ptr [ %incdec.ptr.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ], [ %__first.sroa.0.0.lcssa.i66, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ] + %__second_cut.sroa.0.0 = phi ptr [ %__first.sroa.0.0.lcssa.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ], [ %incdec.ptr.i.i.i59, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ] %__len22.0 = phi i64 [ %sub.ptr.div.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ], [ %div47, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ] - %__len11.0 = phi i64 [ %div, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ], [ %sub.ptr.div.i.i.i86, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ] + %__len11.0 = phi i64 [ %div, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ], [ %sub.ptr.div.i.i.i85, %_ZSt13__upper_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Val_comp_iterISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit ] %sub = sub nsw i64 %__len1.tr113, %__len11.0 - %cmp.i87 = icmp sle i64 %sub, %__len22.0 + %cmp.i86 = icmp sle i64 %sub, %__len22.0 %cmp3.not.i = icmp sgt i64 %__len22.0, %__buffer_size - %or.cond.i = or i1 %cmp3.not.i, %cmp.i87 - br i1 %or.cond.i, label %if.else20.i, label %if.then.i88 + %or.cond.i = or i1 %cmp3.not.i, %cmp.i86 + br i1 %or.cond.i, label %if.else20.i, label %if.then.i87 -if.then.i88: ; preds = %if.end +if.then.i87: ; preds = %if.end %tobool.not.i = icmp eq i64 %__len22.0, 0 br i1 %tobool.not.i, label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit, label %if.then4.i -if.then4.i: ; preds = %if.then.i88 - %sub.ptr.lhs.cast.i.i.i.i.i.i89 = ptrtoint ptr %__second_cut.sroa.0.0 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i90 = ptrtoint ptr %__middle.coerce.tr111 to i64 - %sub.ptr.sub.i.i.i.i.i.i91 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i89, %sub.ptr.rhs.cast.i.i.i.i.i.i90 - %tobool.not.i.i.i.i.i.i92 = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr111 - br i1 %tobool.not.i.i.i.i.i.i92, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i.i93 +if.then4.i: ; preds = %if.then.i87 + %sub.ptr.lhs.cast.i.i.i.i.i.i88 = ptrtoint ptr %__second_cut.sroa.0.0 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i89 = ptrtoint ptr %__middle.coerce.tr111 to i64 + %sub.ptr.sub.i.i.i.i.i.i90 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i88, %sub.ptr.rhs.cast.i.i.i.i.i.i89 + %tobool.not.i.i.i.i.i.i91 = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr111 + br i1 %tobool.not.i.i.i.i.i.i91, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i.i92 -if.then.i.i.i.i.i.i93: ; preds = %if.then4.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr111, i64 %sub.ptr.sub.i.i.i.i.i.i91, i1 false) +if.then.i.i.i.i.i.i92: ; preds = %if.then4.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__middle.coerce.tr111, i64 %sub.ptr.sub.i.i.i.i.i.i90, i1 false) br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i.i93, %if.then4.i - %tobool.not.i.i.i.i.i14.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr111 - br i1 %tobool.not.i.i.i.i.i14.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i15.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i.i92, %if.then4.i + %tobool.not.i.i.i.i.i13.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr111 + br i1 %tobool.not.i.i.i.i.i13.i, label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i14.i -if.then.i.i.i.i.i15.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i +if.then.i.i.i.i.i14.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i %sub.ptr.rhs.cast.i.i.i.i.i11.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i12.i = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i90, %sub.ptr.rhs.cast.i.i.i.i.i11.i - %sub.ptr.div.i.i.i.i.i13.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i12.i, 2 - %.pre.i.i.i.i.i.i94 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i13.i - %add.ptr.i.i.i.i.i16.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i.i94 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i16.i, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i12.i, i1 false) + %sub.ptr.sub.i.i.i.i.i12.i = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i89, %sub.ptr.rhs.cast.i.i.i.i.i11.i + %sub.ptr.div.i.i.i.i.i.i93 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i12.i, 2 + %.pre.i.i.i.i.i.i94 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i93 + %add.ptr.i.i.i.i.i15.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i.i94 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i15.i, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i12.i, i1 false) br label %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i -_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i15.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i - br i1 %tobool.not.i.i.i.i.i.i92, label %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95, label %if.then.i.i.i.i.i21.i +_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i14.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit.i + br i1 %tobool.not.i.i.i.i.i.i91, label %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95, label %if.then.i.i.i.i.i20.i -if.then.i.i.i.i.i21.i: ; preds = %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i.i91, i1 false) +if.then.i.i.i.i.i20.i: ; preds = %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i.i90, i1 false) br label %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95 -_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95: ; preds = %if.then.i.i.i.i.i21.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i - %sub.ptr.div.i.i.i.i.i22.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i91, 2 - %add.ptr.i.i.i.i.i23.i = getelementptr inbounds i32, ptr %__first_cut.sroa.0.0, i64 %sub.ptr.div.i.i.i.i.i22.i +_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95: ; preds = %if.then.i.i.i.i.i20.i, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i + %add.ptr.i.i.i.i.i21.i = getelementptr inbounds i8, ptr %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i.i90 br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit if.else20.i: ; preds = %if.end @@ -79243,46 +79265,46 @@ if.then22.i: ; preds = %if.else20.i br i1 %tobool23.not.i, label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit, label %if.then24.i if.then24.i: ; preds = %if.then22.i - %sub.ptr.lhs.cast.i.i.i.i.i24.i = ptrtoint ptr %__middle.coerce.tr111 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i25.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i26.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24.i, %sub.ptr.rhs.cast.i.i.i.i.i25.i - %tobool.not.i.i.i.i.i27.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr111 - br i1 %tobool.not.i.i.i.i.i27.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i, label %if.then.i.i.i.i.i28.i - -if.then.i.i.i.i.i28.i: ; preds = %if.then24.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i26.i, i1 false) - br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i - -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i: ; preds = %if.then.i.i.i.i.i28.i, %if.then24.i - %tobool.not.i.i.i.i.i35.i = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr111 - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i36.i - -if.then.i.i.i.i.i36.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i - %sub.ptr.lhs.cast.i.i.i.i.i32.i = ptrtoint ptr %__second_cut.sroa.0.0 to i64 - %sub.ptr.sub.i.i.i.i.i34.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i32.i, %sub.ptr.lhs.cast.i.i.i.i.i24.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__middle.coerce.tr111, i64 %sub.ptr.sub.i.i.i.i.i34.i, i1 false) + %sub.ptr.lhs.cast.i.i.i.i.i22.i = ptrtoint ptr %__middle.coerce.tr111 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i23.i = ptrtoint ptr %__first_cut.sroa.0.0 to i64 + %sub.ptr.sub.i.i.i.i.i24.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i22.i, %sub.ptr.rhs.cast.i.i.i.i.i23.i + %tobool.not.i.i.i.i.i25.i = icmp eq ptr %__first_cut.sroa.0.0, %__middle.coerce.tr111 + br i1 %tobool.not.i.i.i.i.i25.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i, label %if.then.i.i.i.i.i26.i + +if.then.i.i.i.i.i26.i: ; preds = %if.then24.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__buffer, ptr align 4 %__first_cut.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i24.i, i1 false) + br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i + +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i: ; preds = %if.then.i.i.i.i.i26.i, %if.then24.i + %tobool.not.i.i.i.i.i32.i = icmp eq ptr %__second_cut.sroa.0.0, %__middle.coerce.tr111 + br i1 %tobool.not.i.i.i.i.i32.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i33.i + +if.then.i.i.i.i.i33.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i + %sub.ptr.lhs.cast.i.i.i.i.i29.i = ptrtoint ptr %__second_cut.sroa.0.0 to i64 + %sub.ptr.sub.i.i.i.i.i31.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i29.i, %sub.ptr.lhs.cast.i.i.i.i.i22.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__first_cut.sroa.0.0, ptr align 4 %__middle.coerce.tr111, i64 %sub.ptr.sub.i.i.i.i.i31.i, i1 false) br label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i36.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit31.i - %sub.ptr.div.i.i.i.i.i42.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i26.i, 2 - %.pre.i.i.i.i.i44.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i42.i - br i1 %tobool.not.i.i.i.i.i27.i, label %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i45.i +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i33.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_ET0_T_S8_S7_.exit28.i + %sub.ptr.div.i.i.i.i.i38.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i24.i, 2 + %.pre.i.i.i.i.i40.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i38.i + br i1 %tobool.not.i.i.i.i.i25.i, label %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i, label %if.then.i.i.i.i.i41.i -if.then.i.i.i.i.i45.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i - %add.ptr.i.i.i.i.i46.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i44.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i46.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i26.i, i1 false) +if.then.i.i.i.i.i41.i: ; preds = %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i + %add.ptr.i.i.i.i.i42.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i40.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i42.i, ptr align 4 %__buffer, i64 %sub.ptr.sub.i.i.i.i.i24.i, i1 false) br label %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i -_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i45.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i - %add.ptr2.i.i.i.i.i47.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i44.i +_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i: ; preds = %if.then.i.i.i.i.i41.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES6_ET0_T_S8_S7_.exit.i + %add.ptr2.i.i.i.i.i43.i = getelementptr inbounds i32, ptr %__second_cut.sroa.0.0, i64 %.pre.i.i.i.i.i40.i br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit if.else44.i: ; preds = %if.else20.i %call.i.i = tail call ptr @_ZNSt3_V28__rotateIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEET_S8_S8_S8_St26random_access_iterator_tag(ptr %__first_cut.sroa.0.0, ptr %__middle.coerce.tr111, ptr %__second_cut.sroa.0.0) br label %_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit -_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit: ; preds = %if.then.i88, %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95, %if.then22.i, %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i, %if.else44.i - %retval.sroa.0.0.i = phi ptr [ %add.ptr.i.i.i.i.i23.i, %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95 ], [ %add.ptr2.i.i.i.i.i47.i, %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i ], [ %call.i.i, %if.else44.i ], [ %__first_cut.sroa.0.0, %if.then.i88 ], [ %__second_cut.sroa.0.0, %if.then22.i ] +_ZSt17__rotate_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEES2_lET_S7_S7_S7_T1_S8_T0_S8_.exit: ; preds = %if.then.i87, %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95, %if.then22.i, %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i, %if.else44.i + %retval.sroa.0.0.i = phi ptr [ %add.ptr.i.i.i.i.i21.i, %_ZSt4moveIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i95 ], [ %add.ptr2.i.i.i.i.i43.i, %_ZSt13move_backwardIPiN9__gnu_cxx17__normal_iteratorIS0_St6vectorIiSaIiEEEEET0_T_S8_S7_.exit.i ], [ %call.i.i, %if.else44.i ], [ %__first_cut.sroa.0.0, %if.then.i87 ], [ %__second_cut.sroa.0.0, %if.then22.i ] tail call void @_ZSt16__merge_adaptiveIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElS2_NS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_T0_SD_T1_SD_T2_(ptr %__first.coerce.tr110, ptr %__first_cut.sroa.0.0, ptr %retval.sroa.0.0.i, i64 noundef %__len11.0, i64 noundef %__len22.0, ptr noundef %__buffer, i64 noundef %__buffer_size) %sub83 = sub nsw i64 %__len2.tr114, %__len22.0 %cmp.not = icmp sgt i64 %sub, %sub83 @@ -79303,14 +79325,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131SetOperationsTest_SetUnion_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_131SetOperationsTest_SetUnion_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #29 + %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #30 invoke fastcc void @_ZN12_GLOBAL__N_117SetOperationsTestC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %call) to label %invoke.cont unwind label %lpad @@ -79321,7 +79343,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -79332,7 +79354,7 @@ entry: store ptr getelementptr inbounds ({ [8 x ptr] }, ptr @_ZTVN12_GLOBAL__N_117SetOperationsTestE, i64 0, inrange i32 0, i64 2), ptr %this, align 8 %a_ = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %a_, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %invoke.cont unwind label %lpad.i lpad.i: ; preds = %entry @@ -79342,7 +79364,7 @@ lpad.i: ; preds = %entry invoke.cont: ; preds = %entry store ptr %call5.i.i.i.i2.i, ptr %a_, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 %_M_end_of_storage.i.i = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 1, ptr %call5.i.i.i.i2.i, align 4 @@ -79354,7 +79376,7 @@ invoke.cont: ; preds = %entry store ptr %add.ptr.i1.i, ptr %_M_finish.i.i, align 8 %b_ = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 2 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %b_, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i4 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i4 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %invoke.cont14 unwind label %lpad.i5 lpad.i5: ; preds = %invoke.cont @@ -79364,7 +79386,7 @@ lpad.i5: ; preds = %invoke.cont invoke.cont14: ; preds = %invoke.cont store ptr %call5.i.i.i.i2.i4, ptr %b_, align 8 - %add.ptr.i1.i9 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i4, i64 3 + %add.ptr.i1.i9 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i4, i64 12 %_M_end_of_storage.i.i10 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i9, ptr %_M_end_of_storage.i.i10, align 8 store i32 1, ptr %call5.i.i.i.i2.i4, align 4 @@ -79372,76 +79394,76 @@ invoke.cont14: ; preds = %invoke.cont store i32 3, ptr %ref.tmp5.sroa.2.0.call5.i.i.i.i2.i4.sroa_idx, align 4 %ref.tmp5.sroa.3.0.call5.i.i.i.i2.i4.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i4, i64 8 store i32 5, ptr %ref.tmp5.sroa.3.0.call5.i.i.i.i2.i4.sroa_idx, align 4 - %_M_finish.i.i11 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i9, ptr %_M_finish.i.i11, align 8 + %_M_finish.i.i12 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i9, ptr %_M_finish.i.i12, align 8 %a_reversed_ = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 3 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %a_reversed_, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i14 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i15 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %invoke.cont25 unwind label %ehcleanup.thread ehcleanup.thread: ; preds = %invoke.cont14 %2 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i37 + br label %if.then.i.i.i40 invoke.cont25: ; preds = %invoke.cont14 - store ptr %call5.i.i.i.i2.i14, ptr %a_reversed_, align 8 - %add.ptr.i1.i19 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i14, i64 3 - %_M_end_of_storage.i.i20 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 3, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i19, ptr %_M_end_of_storage.i.i20, align 8 - store i32 3, ptr %call5.i.i.i.i2.i14, align 4 - %ref.tmp16.sroa.2.0.call5.i.i.i.i2.i14.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i14, i64 4 - store i32 2, ptr %ref.tmp16.sroa.2.0.call5.i.i.i.i2.i14.sroa_idx, align 4 - %ref.tmp16.sroa.3.0.call5.i.i.i.i2.i14.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i14, i64 8 - store i32 1, ptr %ref.tmp16.sroa.3.0.call5.i.i.i.i2.i14.sroa_idx, align 4 - %_M_finish.i.i21 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 3, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i19, ptr %_M_finish.i.i21, align 8 + store ptr %call5.i.i.i.i2.i15, ptr %a_reversed_, align 8 + %add.ptr.i1.i20 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i15, i64 12 + %_M_end_of_storage.i.i21 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 3, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i20, ptr %_M_end_of_storage.i.i21, align 8 + store i32 3, ptr %call5.i.i.i.i2.i15, align 4 + %ref.tmp16.sroa.2.0.call5.i.i.i.i2.i15.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i15, i64 4 + store i32 2, ptr %ref.tmp16.sroa.2.0.call5.i.i.i.i2.i15.sroa_idx, align 4 + %ref.tmp16.sroa.3.0.call5.i.i.i.i2.i15.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i15, i64 8 + store i32 1, ptr %ref.tmp16.sroa.3.0.call5.i.i.i.i2.i15.sroa_idx, align 4 + %_M_finish.i.i23 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 3, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i20, ptr %_M_finish.i.i23, align 8 %b_reversed_ = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 4 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %b_reversed_, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i24 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i26 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 to label %invoke.cont36 unwind label %ehcleanup invoke.cont36: ; preds = %invoke.cont25 - store ptr %call5.i.i.i.i2.i24, ptr %b_reversed_, align 8 - %add.ptr.i1.i29 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i24, i64 3 - %_M_end_of_storage.i.i30 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 4, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i29, ptr %_M_end_of_storage.i.i30, align 8 - store i32 5, ptr %call5.i.i.i.i2.i24, align 4 - %ref.tmp27.sroa.2.0.call5.i.i.i.i2.i24.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i24, i64 4 - store i32 3, ptr %ref.tmp27.sroa.2.0.call5.i.i.i.i2.i24.sroa_idx, align 4 - %ref.tmp27.sroa.3.0.call5.i.i.i.i2.i24.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i24, i64 8 - store i32 1, ptr %ref.tmp27.sroa.3.0.call5.i.i.i.i2.i24.sroa_idx, align 4 - %_M_finish.i.i31 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 4, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i29, ptr %_M_finish.i.i31, align 8 + store ptr %call5.i.i.i.i2.i26, ptr %b_reversed_, align 8 + %add.ptr.i1.i31 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i26, i64 12 + %_M_end_of_storage.i.i32 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 4, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i31, ptr %_M_end_of_storage.i.i32, align 8 + store i32 5, ptr %call5.i.i.i.i2.i26, align 4 + %ref.tmp27.sroa.2.0.call5.i.i.i.i2.i26.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i26, i64 4 + store i32 3, ptr %ref.tmp27.sroa.2.0.call5.i.i.i.i2.i26.sroa_idx, align 4 + %ref.tmp27.sroa.3.0.call5.i.i.i.i2.i26.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i26, i64 8 + store i32 1, ptr %ref.tmp27.sroa.3.0.call5.i.i.i.i2.i26.sroa_idx, align 4 + %_M_finish.i.i34 = getelementptr inbounds %"class.(anonymous namespace)::SetOperationsTest", ptr %this, i64 0, i32 4, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i31, ptr %_M_finish.i.i34, align 8 ret void ehcleanup: ; preds = %invoke.cont25 %3 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i14) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i15) #29 %.pre = load ptr, ptr %b_, align 8 - %tobool.not.i.i.i36 = icmp eq ptr %.pre, null - br i1 %tobool.not.i.i.i36, label %ehcleanup37, label %if.then.i.i.i37 + %tobool.not.i.i.i39 = icmp eq ptr %.pre, null + br i1 %tobool.not.i.i.i39, label %ehcleanup37, label %if.then.i.i.i40 -if.then.i.i.i37: ; preds = %ehcleanup.thread, %ehcleanup - %.pn46 = phi { ptr, i32 } [ %2, %ehcleanup.thread ], [ %3, %ehcleanup ] +if.then.i.i.i40: ; preds = %ehcleanup.thread, %ehcleanup + %.pn49 = phi { ptr, i32 } [ %2, %ehcleanup.thread ], [ %3, %ehcleanup ] %4 = phi ptr [ %call5.i.i.i.i2.i4, %ehcleanup.thread ], [ %.pre, %ehcleanup ] - tail call void @_ZdlPv(ptr noundef nonnull %4) #28 + tail call void @_ZdlPv(ptr noundef nonnull %4) #29 br label %ehcleanup37 -ehcleanup37: ; preds = %lpad.i5, %if.then.i.i.i37, %ehcleanup - %.pn.pn = phi { ptr, i32 } [ %1, %lpad.i5 ], [ %3, %ehcleanup ], [ %.pn46, %if.then.i.i.i37 ] +ehcleanup37: ; preds = %lpad.i5, %if.then.i.i.i40, %ehcleanup + %.pn.pn = phi { ptr, i32 } [ %1, %lpad.i5 ], [ %3, %ehcleanup ], [ %.pn49, %if.then.i.i.i40 ] %5 = load ptr, ptr %a_, align 8 - %tobool.not.i.i.i40 = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i40, label %ehcleanup38, label %if.then.i.i.i41 + %tobool.not.i.i.i43 = icmp eq ptr %5, null + br i1 %tobool.not.i.i.i43, label %ehcleanup38, label %if.then.i.i.i44 -if.then.i.i.i41: ; preds = %ehcleanup37 - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i.i.i44: ; preds = %ehcleanup37 + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %ehcleanup38 -ehcleanup38: ; preds = %lpad.i, %if.then.i.i.i41, %ehcleanup37 - %.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i ], [ %.pn.pn, %ehcleanup37 ], [ %.pn.pn, %if.then.i.i.i41 ] - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 +ehcleanup38: ; preds = %lpad.i, %if.then.i.i.i44, %ehcleanup37 + %.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i ], [ %.pn.pn, %ehcleanup37 ], [ %.pn.pn, %if.then.i.i.i44 ] + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 resume { ptr, i32 } %.pn.pn.pn } @@ -79455,7 +79477,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -79465,7 +79487,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e br i1 %tobool.not.i.i.i1.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i, label %if.then.i.i.i2.i if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i @@ -79475,7 +79497,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, % br i1 %tobool.not.i.i.i4.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, label %if.then.i.i.i5.i if.then.i.i.i5.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -79485,11 +79507,11 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, % br i1 %tobool.not.i.i.i7.i, label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit, label %if.then.i.i.i8.i if.then.i.i.i8.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit _ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, %if.then.i.i.i8.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -79503,7 +79525,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -79513,7 +79535,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, br i1 %tobool.not.i.i.i1.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i, label %if.then.i.i.i2.i.i if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i @@ -79523,7 +79545,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, br i1 %tobool.not.i.i.i4.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, label %if.then.i.i.i5.i.i if.then.i.i.i5.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i @@ -79533,12 +79555,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, br i1 %tobool.not.i.i.i7.i.i, label %_ZN12_GLOBAL__N_131SetOperationsTest_SetUnion_TestD2Ev.exit, label %if.then.i.i.i8.i.i if.then.i.i.i8.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_131SetOperationsTest_SetUnion_TestD2Ev.exit _ZN12_GLOBAL__N_131SetOperationsTest_SetUnion_TestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, %if.then.i.i.i8.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -79589,7 +79611,7 @@ invoke.cont17: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont20, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont17 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont20 invoke.cont20: ; preds = %cond.true.i.i, %invoke.cont17 @@ -79602,7 +79624,7 @@ invoke.cont22: ; preds = %invoke.cont20 to label %invoke.cont24 unwind label %lpad23 invoke.cont24: ; preds = %invoke.cont22 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #28 %8 = load ptr, ptr %ref.tmp15, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -79611,7 +79633,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont24, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -79631,7 +79653,7 @@ lpad19: ; preds = %invoke.cont20 lpad23: ; preds = %invoke.cont22 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp18) #28 br label %ehcleanup ehcleanup: ; preds = %lpad23, %lpad19 @@ -79644,7 +79666,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %13, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %14 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -79658,8 +79680,8 @@ if.end: ; preds = %invoke.cont13, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -79669,7 +79691,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %16) #28 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -79677,7 +79699,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup25: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad16 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %10, %lpad16 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup26 ehcleanup26: ; preds = %ehcleanup25, %lpad @@ -79687,7 +79709,7 @@ ehcleanup26: ; preds = %ehcleanup25, %lpad br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit14, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %ehcleanup26 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit14 _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup26, %if.then.i.i.i13 @@ -79704,7 +79726,7 @@ entry: br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %entry, %if.then.i.i.i @@ -79714,7 +79736,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %entry, %if.then.i.i br i1 %tobool.not.i.i.i1, label %_ZNSt6vectorIiSaIiEED2Ev.exit3, label %if.then.i.i.i2 if.then.i.i.i2: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3 _ZNSt6vectorIiSaIiEED2Ev.exit3: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i2 @@ -79724,7 +79746,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3: ; preds = %_ZNSt6vectorIiSaIiE br i1 %tobool.not.i.i.i4, label %_ZNSt6vectorIiSaIiEED2Ev.exit6, label %if.then.i.i.i5 if.then.i.i.i5: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3 - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6 _ZNSt6vectorIiSaIiEED2Ev.exit6: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3, %if.then.i.i.i5 @@ -79734,53 +79756,53 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6: ; preds = %_ZNSt6vectorIiSaIiE br i1 %tobool.not.i.i.i7, label %_ZNSt6vectorIiSaIiEED2Ev.exit9, label %if.then.i.i.i8 if.then.i.i.i8: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6 - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit9 _ZNSt6vectorIiSaIiEED2Ev.exit9: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6, %if.then.i.i.i8 - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress noreturn nounwind memory(inaccessiblemem: write) uwtable define internal void @_ZN12_GLOBAL__N_117SetOperationsTestD0Ev(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #9 align 2 { entry: - tail call void @llvm.trap() #31 + tail call void @llvm.trap() #32 unreachable } ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local ptr @_ZSt11__set_unionIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_less_iterEET1_T_SD_T0_SE_SC_T2_(ptr %__first1.coerce, ptr %__last1.coerce, ptr %__first2.coerce, ptr %__last2.coerce, ptr %__result.coerce) local_unnamed_addr #3 comdat personality ptr @__gxx_personality_v0 { entry: - %cmp.i93 = icmp ne ptr %__first1.coerce, %__last1.coerce - %cmp.i194 = icmp ne ptr %__first2.coerce, %__last2.coerce - %or.cond95 = select i1 %cmp.i93, i1 %cmp.i194, i1 false - br i1 %or.cond95, label %while.body.lr.ph, label %while.end + %cmp.i95 = icmp ne ptr %__first1.coerce, %__last1.coerce + %cmp.i196 = icmp ne ptr %__first2.coerce, %__last2.coerce + %or.cond97 = select i1 %cmp.i95, i1 %cmp.i196, i1 false + br i1 %or.cond97, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %entry - %_M_finish.i.i40 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 - %_M_end_of_storage.i.i41 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 2 + %_M_finish.i.i41 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 + %_M_end_of_storage.i.i42 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 2 br label %while.body while.body: ; preds = %while.body.lr.ph, %if.end30 - %__first1.sroa.0.097 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end30 ] - %__first2.sroa.0.096 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end30 ] - %0 = load i32, ptr %__first1.sroa.0.097, align 4 - %1 = load i32, ptr %__first2.sroa.0.096, align 4 + %__first1.sroa.0.099 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end30 ] + %__first2.sroa.0.098 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end30 ] + %0 = load i32, ptr %__first1.sroa.0.099, align 4 + %1 = load i32, ptr %__first2.sroa.0.098, align 4 %cmp.i2 = icmp slt i32 %0, %1 br i1 %cmp.i2, label %if.then, label %if.else if.then: ; preds = %while.body - %2 = load ptr, ptr %_M_finish.i.i40, align 8 - %3 = load ptr, ptr %_M_end_of_storage.i.i41, align 8 + %2 = load ptr, ptr %_M_finish.i.i41, align 8 + %3 = load ptr, ptr %_M_end_of_storage.i.i42, align 8 %cmp.not.i.i = icmp eq ptr %2, %3 br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store i32 %0, ptr %2, align 4 - %4 = load ptr, ptr %_M_finish.i.i40, align 8 + %4 = load ptr, ptr %_M_finish.i.i41, align 8 %incdec.ptr.i.i = getelementptr inbounds i32, ptr %4, i64 1 - store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i40, align 8 + store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i41, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit if.else.i.i: ; preds = %if.then @@ -79792,7 +79814,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -79808,46 +79830,47 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 - %.pre100 = load i32, ptr %__first1.sroa.0.097, align 4 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 + %.pre102 = load i32, ptr %__first1.sroa.0.099, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i - %6 = phi i32 [ %.pre100, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] + %6 = phi i32 [ %.pre102, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i40, align 8 + store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i41, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i - store ptr %add.ptr19.i.i.i, ptr %_M_end_of_storage.i.i41, align 8 + store ptr %add.ptr19.i.i.i, ptr %_M_end_of_storage.i.i42, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i - %incdec.ptr.i = getelementptr inbounds i32, ptr %__first1.sroa.0.097, i64 1 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__first1.sroa.0.099, i64 1 br label %if.end30 if.else: ; preds = %while.body %cmp.i3 = icmp slt i32 %1, %0 - %7 = load ptr, ptr %_M_finish.i.i40, align 8 - %8 = load ptr, ptr %_M_end_of_storage.i.i41, align 8 + %7 = load ptr, ptr %_M_finish.i.i41, align 8 + %8 = load ptr, ptr %_M_end_of_storage.i.i42, align 8 %cmp.not.i.i6 = icmp eq ptr %7, %8 br i1 %cmp.i3, label %if.then19, label %if.else24 @@ -79856,10 +79879,10 @@ if.then19: ; preds = %if.else if.then.i.i7: ; preds = %if.then19 store i32 %1, ptr %7, align 4 - %9 = load ptr, ptr %_M_finish.i.i40, align 8 + %9 = load ptr, ptr %_M_finish.i.i41, align 8 %incdec.ptr.i.i8 = getelementptr inbounds i32, ptr %9, i64 1 - store ptr %incdec.ptr.i.i8, ptr %_M_finish.i.i40, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 + store ptr %incdec.ptr.i.i8, ptr %_M_finish.i.i41, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 if.else.i.i9: ; preds = %if.then19 %10 = load ptr, ptr %__result.coerce, align 8 @@ -79867,10 +79890,10 @@ if.else.i.i9: ; preds = %if.then19 %sub.ptr.rhs.cast.i.i.i.i.i11 = ptrtoint ptr %10 to i64 %sub.ptr.sub.i.i.i.i.i12 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i10, %sub.ptr.rhs.cast.i.i.i.i.i11 %cmp.i.i.i.i13 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i12, 9223372036854775804 - br i1 %cmp.i.i.i.i13, label %if.then.i.i.i.i37, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 + br i1 %cmp.i.i.i.i13, label %if.then.i.i.i.i38, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 -if.then.i.i.i.i37: ; preds = %if.else.i.i9 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i38: ; preds = %if.else.i.i9 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14: ; preds = %if.else.i.i9 @@ -79886,117 +79909,119 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14: ; preds = %if.else.i.i9 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 %mul.i.i.i.i.i.i24 = shl nuw nsw i64 %cond.i.i.i.i21, 2 - %call5.i.i.i.i.i.i25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i24) #29 - %.pre99 = load i32, ptr %__first2.sroa.0.096, align 4 + %call5.i.i.i.i.i.i25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i24) #30 + %.pre101 = load i32, ptr %__first2.sroa.0.098, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 - %11 = phi i32 [ %.pre99, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23 ], [ %1, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 ] + %11 = phi i32 [ %.pre101, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23 ], [ %1, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 ] %cond.i10.i.i.i27 = phi ptr [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 ] %add.ptr.i.i.i28 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %sub.ptr.div.i.i.i.i.i15 store i32 %11, ptr %add.ptr.i.i.i28, align 4 - %cmp.i.i.i11.i.i.i29 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i15, 0 - br i1 %cmp.i.i.i11.i.i.i29, label %if.then.i.i.i12.i.i.i36, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 + %cmp.i.i.i11.i.i.i29 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i12, 0 + br i1 %cmp.i.i.i11.i.i.i29, label %if.then.i.i.i12.i.i.i37, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 -if.then.i.i.i12.i.i.i36: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 +if.then.i.i.i12.i.i.i37: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i27, ptr align 4 %10, i64 %sub.ptr.sub.i.i.i.i.i12, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30: ; preds = %if.then.i.i.i12.i.i.i36, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 - %incdec.ptr.i.i.i31 = getelementptr inbounds i32, ptr %add.ptr.i.i.i28, i64 1 - %tobool.not.i.i.i.i32 = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i32, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34, label %if.then.i21.i.i.i33 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30: ; preds = %if.then.i.i.i12.i.i.i37, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 + %add.ptr.i.i.i.i.i.i31 = getelementptr inbounds i8, ptr %cond.i10.i.i.i27, i64 %sub.ptr.sub.i.i.i.i.i12 + %incdec.ptr.i.i.i32 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i31, i64 1 + %tobool.not.i.i.i.i33 = icmp eq ptr %10, null + br i1 %tobool.not.i.i.i.i33, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35, label %if.then.i20.i.i.i34 -if.then.i21.i.i.i33: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 - tail call void @_ZdlPv(ptr noundef nonnull %10) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 +if.then.i20.i.i.i34: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 + tail call void @_ZdlPv(ptr noundef nonnull %10) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34: ; preds = %if.then.i21.i.i.i33, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35: ; preds = %if.then.i20.i.i.i34, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 store ptr %cond.i10.i.i.i27, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i31, ptr %_M_finish.i.i40, align 8 - %add.ptr19.i.i.i35 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %cond.i.i.i.i21 - store ptr %add.ptr19.i.i.i35, ptr %_M_end_of_storage.i.i41, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 + store ptr %incdec.ptr.i.i.i32, ptr %_M_finish.i.i41, align 8 + %add.ptr19.i.i.i36 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %cond.i.i.i.i21 + store ptr %add.ptr19.i.i.i36, ptr %_M_end_of_storage.i.i42, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38: ; preds = %if.then.i.i7, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 - %incdec.ptr.i39 = getelementptr inbounds i32, ptr %__first2.sroa.0.096, i64 1 +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39: ; preds = %if.then.i.i7, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 + %incdec.ptr.i40 = getelementptr inbounds i32, ptr %__first2.sroa.0.098, i64 1 br label %if.end30 if.else24: ; preds = %if.else - br i1 %cmp.not.i.i6, label %if.else.i.i45, label %if.then.i.i43 + br i1 %cmp.not.i.i6, label %if.else.i.i46, label %if.then.i.i44 -if.then.i.i43: ; preds = %if.else24 +if.then.i.i44: ; preds = %if.else24 store i32 %0, ptr %7, align 4 - %12 = load ptr, ptr %_M_finish.i.i40, align 8 - %incdec.ptr.i.i44 = getelementptr inbounds i32, ptr %12, i64 1 - store ptr %incdec.ptr.i.i44, ptr %_M_finish.i.i40, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit74 + %12 = load ptr, ptr %_M_finish.i.i41, align 8 + %incdec.ptr.i.i45 = getelementptr inbounds i32, ptr %12, i64 1 + store ptr %incdec.ptr.i.i45, ptr %_M_finish.i.i41, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit76 -if.else.i.i45: ; preds = %if.else24 +if.else.i.i46: ; preds = %if.else24 %13 = load ptr, ptr %__result.coerce, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i46 = ptrtoint ptr %7 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i47 = ptrtoint ptr %13 to i64 - %sub.ptr.sub.i.i.i.i.i48 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i46, %sub.ptr.rhs.cast.i.i.i.i.i47 - %cmp.i.i.i.i49 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i48, 9223372036854775804 - br i1 %cmp.i.i.i.i49, label %if.then.i.i.i.i73, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 - -if.then.i.i.i.i73: ; preds = %if.else.i.i45 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + %sub.ptr.lhs.cast.i.i.i.i.i47 = ptrtoint ptr %7 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i48 = ptrtoint ptr %13 to i64 + %sub.ptr.sub.i.i.i.i.i49 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i47, %sub.ptr.rhs.cast.i.i.i.i.i48 + %cmp.i.i.i.i50 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i49, 9223372036854775804 + br i1 %cmp.i.i.i.i50, label %if.then.i.i.i.i75, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i51 + +if.then.i.i.i.i75: ; preds = %if.else.i.i46 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50: ; preds = %if.else.i.i45 - %sub.ptr.div.i.i.i.i.i51 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i48, 2 - %.sroa.speculated.i.i.i.i52 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i51, i64 1) - %add.i.i.i.i53 = add i64 %.sroa.speculated.i.i.i.i52, %sub.ptr.div.i.i.i.i.i51 - %cmp7.i.i.i.i54 = icmp ult i64 %add.i.i.i.i53, %sub.ptr.div.i.i.i.i.i51 - %cmp9.i.i.i.i55 = icmp ugt i64 %add.i.i.i.i53, 2305843009213693951 - %or.cond.i.i.i.i56 = or i1 %cmp7.i.i.i.i54, %cmp9.i.i.i.i55 - %cond.i.i.i.i57 = select i1 %or.cond.i.i.i.i56, i64 2305843009213693951, i64 %add.i.i.i.i53 - %cmp.not.i.i.i.i58 = icmp eq i64 %cond.i.i.i.i57, 0 - br i1 %cmp.not.i.i.i.i58, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 - %mul.i.i.i.i.i.i60 = shl nuw nsw i64 %cond.i.i.i.i57, 2 - %call5.i.i.i.i.i.i61 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i60) #29 - %.pre = load i32, ptr %__first1.sroa.0.097, align 4 - br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62 - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 - %14 = phi i32 [ %.pre, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59 ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 ] - %cond.i10.i.i.i63 = phi ptr [ %call5.i.i.i.i.i.i61, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 ] - %add.ptr.i.i.i64 = getelementptr inbounds i32, ptr %cond.i10.i.i.i63, i64 %sub.ptr.div.i.i.i.i.i51 - store i32 %14, ptr %add.ptr.i.i.i64, align 4 - %cmp.i.i.i11.i.i.i65 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i51, 0 - br i1 %cmp.i.i.i11.i.i.i65, label %if.then.i.i.i12.i.i.i72, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i66 - -if.then.i.i.i12.i.i.i72: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i63, ptr align 4 %13, i64 %sub.ptr.sub.i.i.i.i.i48, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i66 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i66: ; preds = %if.then.i.i.i12.i.i.i72, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62 - %incdec.ptr.i.i.i67 = getelementptr inbounds i32, ptr %add.ptr.i.i.i64, i64 1 - %tobool.not.i.i.i.i68 = icmp eq ptr %13, null - br i1 %tobool.not.i.i.i.i68, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i70, label %if.then.i21.i.i.i69 - -if.then.i21.i.i.i69: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i66 - tail call void @_ZdlPv(ptr noundef nonnull %13) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i70 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i70: ; preds = %if.then.i21.i.i.i69, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i66 - store ptr %cond.i10.i.i.i63, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i67, ptr %_M_finish.i.i40, align 8 - %add.ptr19.i.i.i71 = getelementptr inbounds i32, ptr %cond.i10.i.i.i63, i64 %cond.i.i.i.i57 - store ptr %add.ptr19.i.i.i71, ptr %_M_end_of_storage.i.i41, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit74 - -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit74: ; preds = %if.then.i.i43, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i70 - %incdec.ptr.i75 = getelementptr inbounds i32, ptr %__first1.sroa.0.097, i64 1 - %incdec.ptr.i76 = getelementptr inbounds i32, ptr %__first2.sroa.0.096, i64 1 +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i51: ; preds = %if.else.i.i46 + %sub.ptr.div.i.i.i.i.i52 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i49, 2 + %.sroa.speculated.i.i.i.i53 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i52, i64 1) + %add.i.i.i.i54 = add i64 %.sroa.speculated.i.i.i.i53, %sub.ptr.div.i.i.i.i.i52 + %cmp7.i.i.i.i55 = icmp ult i64 %add.i.i.i.i54, %sub.ptr.div.i.i.i.i.i52 + %cmp9.i.i.i.i56 = icmp ugt i64 %add.i.i.i.i54, 2305843009213693951 + %or.cond.i.i.i.i57 = or i1 %cmp7.i.i.i.i55, %cmp9.i.i.i.i56 + %cond.i.i.i.i58 = select i1 %or.cond.i.i.i.i57, i64 2305843009213693951, i64 %add.i.i.i.i54 + %cmp.not.i.i.i.i59 = icmp eq i64 %cond.i.i.i.i58, 0 + br i1 %cmp.not.i.i.i.i59, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i63, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i60 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i60: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i51 + %mul.i.i.i.i.i.i61 = shl nuw nsw i64 %cond.i.i.i.i58, 2 + %call5.i.i.i.i.i.i62 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i61) #30 + %.pre = load i32, ptr %__first1.sroa.0.099, align 4 + br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i63 + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i63: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i60, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i51 + %14 = phi i32 [ %.pre, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i60 ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i51 ] + %cond.i10.i.i.i64 = phi ptr [ %call5.i.i.i.i.i.i62, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i60 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i51 ] + %add.ptr.i.i.i65 = getelementptr inbounds i32, ptr %cond.i10.i.i.i64, i64 %sub.ptr.div.i.i.i.i.i52 + store i32 %14, ptr %add.ptr.i.i.i65, align 4 + %cmp.i.i.i11.i.i.i66 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i49, 0 + br i1 %cmp.i.i.i11.i.i.i66, label %if.then.i.i.i12.i.i.i74, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i67 + +if.then.i.i.i12.i.i.i74: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i63 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i64, ptr align 4 %13, i64 %sub.ptr.sub.i.i.i.i.i49, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i67 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i67: ; preds = %if.then.i.i.i12.i.i.i74, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i63 + %add.ptr.i.i.i.i.i.i68 = getelementptr inbounds i8, ptr %cond.i10.i.i.i64, i64 %sub.ptr.sub.i.i.i.i.i49 + %incdec.ptr.i.i.i69 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i68, i64 1 + %tobool.not.i.i.i.i70 = icmp eq ptr %13, null + br i1 %tobool.not.i.i.i.i70, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i72, label %if.then.i20.i.i.i71 + +if.then.i20.i.i.i71: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i67 + tail call void @_ZdlPv(ptr noundef nonnull %13) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i72 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i72: ; preds = %if.then.i20.i.i.i71, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i67 + store ptr %cond.i10.i.i.i64, ptr %__result.coerce, align 8 + store ptr %incdec.ptr.i.i.i69, ptr %_M_finish.i.i41, align 8 + %add.ptr19.i.i.i73 = getelementptr inbounds i32, ptr %cond.i10.i.i.i64, i64 %cond.i.i.i.i58 + store ptr %add.ptr19.i.i.i73, ptr %_M_end_of_storage.i.i42, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit76 + +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit76: ; preds = %if.then.i.i44, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i72 + %incdec.ptr.i77 = getelementptr inbounds i32, ptr %__first1.sroa.0.099, i64 1 + %incdec.ptr.i78 = getelementptr inbounds i32, ptr %__first2.sroa.0.098, i64 1 br label %if.end30 -if.end30: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit74, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit - %__first2.sroa.0.1 = phi ptr [ %__first2.sroa.0.096, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i39, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %incdec.ptr.i76, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit74 ] - %__first1.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first1.sroa.0.097, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %incdec.ptr.i75, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit74 ] +if.end30: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit76, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit + %__first2.sroa.0.1 = phi ptr [ %__first2.sroa.0.098, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i40, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %incdec.ptr.i78, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit76 ] + %__first1.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first1.sroa.0.099, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %incdec.ptr.i77, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit76 ] %cmp.i = icmp ne ptr %__first1.sroa.0.1, %__last1.coerce %cmp.i1 = icmp ne ptr %__first2.sroa.0.1, %__last2.coerce %or.cond = select i1 %cmp.i, i1 %cmp.i1, i1 false @@ -80006,8 +80031,8 @@ while.end: ; preds = %if.end30, %entry %__first2.sroa.0.0.lcssa = phi ptr [ %__first2.coerce, %entry ], [ %__first2.sroa.0.1, %if.end30 ] %__first1.sroa.0.0.lcssa = phi ptr [ %__first1.coerce, %entry ], [ %__first1.sroa.0.1, %if.end30 ] %call.i.i.i.i = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first1.sroa.0.0.lcssa, ptr noundef %__last1.coerce, ptr %__result.coerce) - %call.i.i.i.i77 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) - ret ptr %call.i.i.i.i77 + %call.i.i.i.i79 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) + ret ptr %call.i.i.i.i79 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable @@ -80019,14 +80044,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_145SetOperationsTest_SetUnionWithComparator_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_145SetOperationsTest_SetUnionWithComparator_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #29 + %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #30 invoke fastcc void @_ZN12_GLOBAL__N_117SetOperationsTestC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %call) to label %invoke.cont unwind label %lpad @@ -80037,7 +80062,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -80051,7 +80076,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -80061,7 +80086,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e br i1 %tobool.not.i.i.i1.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i, label %if.then.i.i.i2.i if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i @@ -80071,7 +80096,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, % br i1 %tobool.not.i.i.i4.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, label %if.then.i.i.i5.i if.then.i.i.i5.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -80081,11 +80106,11 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, % br i1 %tobool.not.i.i.i7.i, label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit, label %if.then.i.i.i8.i if.then.i.i.i8.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit _ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, %if.then.i.i.i8.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -80099,7 +80124,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -80109,7 +80134,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, br i1 %tobool.not.i.i.i1.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i, label %if.then.i.i.i2.i.i if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i @@ -80119,7 +80144,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, br i1 %tobool.not.i.i.i4.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, label %if.then.i.i.i5.i.i if.then.i.i.i5.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i @@ -80129,12 +80154,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, br i1 %tobool.not.i.i.i7.i.i, label %_ZN12_GLOBAL__N_145SetOperationsTest_SetUnionWithComparator_TestD2Ev.exit, label %if.then.i.i.i8.i.i if.then.i.i.i8.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_145SetOperationsTest_SetUnionWithComparator_TestD2Ev.exit _ZN12_GLOBAL__N_145SetOperationsTest_SetUnionWithComparator_TestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, %if.then.i.i.i8.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -80185,7 +80210,7 @@ invoke.cont18: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont21, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont18 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont21 invoke.cont21: ; preds = %cond.true.i.i, %invoke.cont18 @@ -80198,7 +80223,7 @@ invoke.cont23: ; preds = %invoke.cont21 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 %8 = load ptr, ptr %ref.tmp16, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -80207,7 +80232,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont25, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -80227,7 +80252,7 @@ lpad20: ; preds = %invoke.cont21 lpad24: ; preds = %invoke.cont23 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad20 @@ -80240,7 +80265,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %13, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %14 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -80254,8 +80279,8 @@ if.end: ; preds = %invoke.cont14, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -80265,7 +80290,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %16) #28 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -80273,7 +80298,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad17 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %10, %lpad17 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup27 ehcleanup27: ; preds = %ehcleanup26, %lpad @@ -80283,7 +80308,7 @@ ehcleanup27: ; preds = %ehcleanup26, %lpad br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit14, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %ehcleanup27 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit14 _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup27, %if.then.i.i.i13 @@ -80293,35 +80318,35 @@ _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup27, %if.th ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local ptr @_ZSt11__set_unionIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEET1_T_SG_T0_SH_SF_T2_(ptr %__first1.coerce, ptr %__last1.coerce, ptr %__first2.coerce, ptr %__last2.coerce, ptr %__result.coerce) local_unnamed_addr #3 comdat personality ptr @__gxx_personality_v0 { entry: - %cmp.i92 = icmp ne ptr %__first1.coerce, %__last1.coerce - %cmp.i193 = icmp ne ptr %__first2.coerce, %__last2.coerce - %or.cond94 = select i1 %cmp.i92, i1 %cmp.i193, i1 false - br i1 %or.cond94, label %while.body.lr.ph, label %while.end + %cmp.i94 = icmp ne ptr %__first1.coerce, %__last1.coerce + %cmp.i195 = icmp ne ptr %__first2.coerce, %__last2.coerce + %or.cond96 = select i1 %cmp.i94, i1 %cmp.i195, i1 false + br i1 %or.cond96, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %entry - %_M_finish.i.i39 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 - %_M_end_of_storage.i.i40 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 2 + %_M_finish.i.i40 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 + %_M_end_of_storage.i.i41 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 2 br label %while.body while.body: ; preds = %while.body.lr.ph, %if.end30 - %__first1.sroa.0.096 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end30 ] - %__first2.sroa.0.095 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end30 ] - %0 = load i32, ptr %__first1.sroa.0.096, align 4 - %1 = load i32, ptr %__first2.sroa.0.095, align 4 + %__first1.sroa.0.098 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end30 ] + %__first2.sroa.0.097 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end30 ] + %0 = load i32, ptr %__first1.sroa.0.098, align 4 + %1 = load i32, ptr %__first2.sroa.0.097, align 4 %cmp.i.i = icmp sgt i32 %0, %1 br i1 %cmp.i.i, label %if.then, label %if.else if.then: ; preds = %while.body - %2 = load ptr, ptr %_M_finish.i.i39, align 8 - %3 = load ptr, ptr %_M_end_of_storage.i.i40, align 8 + %2 = load ptr, ptr %_M_finish.i.i40, align 8 + %3 = load ptr, ptr %_M_end_of_storage.i.i41, align 8 %cmp.not.i.i = icmp eq ptr %2, %3 br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store i32 %0, ptr %2, align 4 - %4 = load ptr, ptr %_M_finish.i.i39, align 8 + %4 = load ptr, ptr %_M_finish.i.i40, align 8 %incdec.ptr.i.i = getelementptr inbounds i32, ptr %4, i64 1 - store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i39, align 8 + store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i40, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit if.else.i.i: ; preds = %if.then @@ -80333,7 +80358,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -80349,46 +80374,47 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 - %.pre99 = load i32, ptr %__first1.sroa.0.096, align 4 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 + %.pre101 = load i32, ptr %__first1.sroa.0.098, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i - %6 = phi i32 [ %.pre99, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] + %6 = phi i32 [ %.pre101, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i39, align 8 + store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i40, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i - store ptr %add.ptr19.i.i.i, ptr %_M_end_of_storage.i.i40, align 8 + store ptr %add.ptr19.i.i.i, ptr %_M_end_of_storage.i.i41, align 8 br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i - %incdec.ptr.i = getelementptr inbounds i32, ptr %__first1.sroa.0.096, i64 1 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__first1.sroa.0.098, i64 1 br label %if.end30 if.else: ; preds = %while.body %cmp.i.i2 = icmp sgt i32 %1, %0 - %7 = load ptr, ptr %_M_finish.i.i39, align 8 - %8 = load ptr, ptr %_M_end_of_storage.i.i40, align 8 + %7 = load ptr, ptr %_M_finish.i.i40, align 8 + %8 = load ptr, ptr %_M_end_of_storage.i.i41, align 8 %cmp.not.i.i5 = icmp eq ptr %7, %8 br i1 %cmp.i.i2, label %if.then19, label %if.else24 @@ -80397,10 +80423,10 @@ if.then19: ; preds = %if.else if.then.i.i6: ; preds = %if.then19 store i32 %1, ptr %7, align 4 - %9 = load ptr, ptr %_M_finish.i.i39, align 8 + %9 = load ptr, ptr %_M_finish.i.i40, align 8 %incdec.ptr.i.i7 = getelementptr inbounds i32, ptr %9, i64 1 - store ptr %incdec.ptr.i.i7, ptr %_M_finish.i.i39, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 + store ptr %incdec.ptr.i.i7, ptr %_M_finish.i.i40, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 if.else.i.i8: ; preds = %if.then19 %10 = load ptr, ptr %__result.coerce, align 8 @@ -80408,10 +80434,10 @@ if.else.i.i8: ; preds = %if.then19 %sub.ptr.rhs.cast.i.i.i.i.i10 = ptrtoint ptr %10 to i64 %sub.ptr.sub.i.i.i.i.i11 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i9, %sub.ptr.rhs.cast.i.i.i.i.i10 %cmp.i.i.i.i12 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i11, 9223372036854775804 - br i1 %cmp.i.i.i.i12, label %if.then.i.i.i.i36, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 + br i1 %cmp.i.i.i.i12, label %if.then.i.i.i.i37, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 -if.then.i.i.i.i36: ; preds = %if.else.i.i8 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i37: ; preds = %if.else.i.i8 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13: ; preds = %if.else.i.i8 @@ -80427,117 +80453,119 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13: ; preds = %if.else.i.i8 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 %mul.i.i.i.i.i.i23 = shl nuw nsw i64 %cond.i.i.i.i20, 2 - %call5.i.i.i.i.i.i24 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i23) #29 - %.pre98 = load i32, ptr %__first2.sroa.0.095, align 4 + %call5.i.i.i.i.i.i24 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i23) #30 + %.pre100 = load i32, ptr %__first2.sroa.0.097, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 - %11 = phi i32 [ %.pre98, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22 ], [ %1, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 ] + %11 = phi i32 [ %.pre100, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22 ], [ %1, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 ] %cond.i10.i.i.i26 = phi ptr [ %call5.i.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 ] %add.ptr.i.i.i27 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %sub.ptr.div.i.i.i.i.i14 store i32 %11, ptr %add.ptr.i.i.i27, align 4 - %cmp.i.i.i11.i.i.i28 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i14, 0 - br i1 %cmp.i.i.i11.i.i.i28, label %if.then.i.i.i12.i.i.i35, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 + %cmp.i.i.i11.i.i.i28 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i11, 0 + br i1 %cmp.i.i.i11.i.i.i28, label %if.then.i.i.i12.i.i.i36, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 -if.then.i.i.i12.i.i.i35: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 +if.then.i.i.i12.i.i.i36: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i26, ptr align 4 %10, i64 %sub.ptr.sub.i.i.i.i.i11, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29: ; preds = %if.then.i.i.i12.i.i.i35, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 - %incdec.ptr.i.i.i30 = getelementptr inbounds i32, ptr %add.ptr.i.i.i27, i64 1 - %tobool.not.i.i.i.i31 = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i31, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33, label %if.then.i21.i.i.i32 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29: ; preds = %if.then.i.i.i12.i.i.i36, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 + %add.ptr.i.i.i.i.i.i30 = getelementptr inbounds i8, ptr %cond.i10.i.i.i26, i64 %sub.ptr.sub.i.i.i.i.i11 + %incdec.ptr.i.i.i31 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i30, i64 1 + %tobool.not.i.i.i.i32 = icmp eq ptr %10, null + br i1 %tobool.not.i.i.i.i32, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34, label %if.then.i20.i.i.i33 -if.then.i21.i.i.i32: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 - tail call void @_ZdlPv(ptr noundef nonnull %10) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 +if.then.i20.i.i.i33: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 + tail call void @_ZdlPv(ptr noundef nonnull %10) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33: ; preds = %if.then.i21.i.i.i32, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34: ; preds = %if.then.i20.i.i.i33, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 store ptr %cond.i10.i.i.i26, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i30, ptr %_M_finish.i.i39, align 8 - %add.ptr19.i.i.i34 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %cond.i.i.i.i20 - store ptr %add.ptr19.i.i.i34, ptr %_M_end_of_storage.i.i40, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 + store ptr %incdec.ptr.i.i.i31, ptr %_M_finish.i.i40, align 8 + %add.ptr19.i.i.i35 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %cond.i.i.i.i20 + store ptr %add.ptr19.i.i.i35, ptr %_M_end_of_storage.i.i41, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37: ; preds = %if.then.i.i6, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 - %incdec.ptr.i38 = getelementptr inbounds i32, ptr %__first2.sroa.0.095, i64 1 +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38: ; preds = %if.then.i.i6, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 + %incdec.ptr.i39 = getelementptr inbounds i32, ptr %__first2.sroa.0.097, i64 1 br label %if.end30 if.else24: ; preds = %if.else - br i1 %cmp.not.i.i5, label %if.else.i.i44, label %if.then.i.i42 + br i1 %cmp.not.i.i5, label %if.else.i.i45, label %if.then.i.i43 -if.then.i.i42: ; preds = %if.else24 +if.then.i.i43: ; preds = %if.else24 store i32 %0, ptr %7, align 4 - %12 = load ptr, ptr %_M_finish.i.i39, align 8 - %incdec.ptr.i.i43 = getelementptr inbounds i32, ptr %12, i64 1 - store ptr %incdec.ptr.i.i43, ptr %_M_finish.i.i39, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit73 + %12 = load ptr, ptr %_M_finish.i.i40, align 8 + %incdec.ptr.i.i44 = getelementptr inbounds i32, ptr %12, i64 1 + store ptr %incdec.ptr.i.i44, ptr %_M_finish.i.i40, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit75 -if.else.i.i44: ; preds = %if.else24 +if.else.i.i45: ; preds = %if.else24 %13 = load ptr, ptr %__result.coerce, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i45 = ptrtoint ptr %7 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i46 = ptrtoint ptr %13 to i64 - %sub.ptr.sub.i.i.i.i.i47 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i45, %sub.ptr.rhs.cast.i.i.i.i.i46 - %cmp.i.i.i.i48 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i47, 9223372036854775804 - br i1 %cmp.i.i.i.i48, label %if.then.i.i.i.i72, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i49 - -if.then.i.i.i.i72: ; preds = %if.else.i.i44 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + %sub.ptr.lhs.cast.i.i.i.i.i46 = ptrtoint ptr %7 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i47 = ptrtoint ptr %13 to i64 + %sub.ptr.sub.i.i.i.i.i48 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i46, %sub.ptr.rhs.cast.i.i.i.i.i47 + %cmp.i.i.i.i49 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i48, 9223372036854775804 + br i1 %cmp.i.i.i.i49, label %if.then.i.i.i.i74, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 + +if.then.i.i.i.i74: ; preds = %if.else.i.i45 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i49: ; preds = %if.else.i.i44 - %sub.ptr.div.i.i.i.i.i50 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i47, 2 - %.sroa.speculated.i.i.i.i51 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i50, i64 1) - %add.i.i.i.i52 = add i64 %.sroa.speculated.i.i.i.i51, %sub.ptr.div.i.i.i.i.i50 - %cmp7.i.i.i.i53 = icmp ult i64 %add.i.i.i.i52, %sub.ptr.div.i.i.i.i.i50 - %cmp9.i.i.i.i54 = icmp ugt i64 %add.i.i.i.i52, 2305843009213693951 - %or.cond.i.i.i.i55 = or i1 %cmp7.i.i.i.i53, %cmp9.i.i.i.i54 - %cond.i.i.i.i56 = select i1 %or.cond.i.i.i.i55, i64 2305843009213693951, i64 %add.i.i.i.i52 - %cmp.not.i.i.i.i57 = icmp eq i64 %cond.i.i.i.i56, 0 - br i1 %cmp.not.i.i.i.i57, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i61, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i58 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i58: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i49 - %mul.i.i.i.i.i.i59 = shl nuw nsw i64 %cond.i.i.i.i56, 2 - %call5.i.i.i.i.i.i60 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i59) #29 - %.pre = load i32, ptr %__first1.sroa.0.096, align 4 - br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i61 - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i61: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i58, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i49 - %14 = phi i32 [ %.pre, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i58 ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i49 ] - %cond.i10.i.i.i62 = phi ptr [ %call5.i.i.i.i.i.i60, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i58 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i49 ] - %add.ptr.i.i.i63 = getelementptr inbounds i32, ptr %cond.i10.i.i.i62, i64 %sub.ptr.div.i.i.i.i.i50 - store i32 %14, ptr %add.ptr.i.i.i63, align 4 - %cmp.i.i.i11.i.i.i64 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i50, 0 - br i1 %cmp.i.i.i11.i.i.i64, label %if.then.i.i.i12.i.i.i71, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i65 - -if.then.i.i.i12.i.i.i71: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i62, ptr align 4 %13, i64 %sub.ptr.sub.i.i.i.i.i47, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i65 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i65: ; preds = %if.then.i.i.i12.i.i.i71, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i61 - %incdec.ptr.i.i.i66 = getelementptr inbounds i32, ptr %add.ptr.i.i.i63, i64 1 - %tobool.not.i.i.i.i67 = icmp eq ptr %13, null - br i1 %tobool.not.i.i.i.i67, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i69, label %if.then.i21.i.i.i68 - -if.then.i21.i.i.i68: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i65 - tail call void @_ZdlPv(ptr noundef nonnull %13) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i69 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i69: ; preds = %if.then.i21.i.i.i68, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i65 - store ptr %cond.i10.i.i.i62, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i66, ptr %_M_finish.i.i39, align 8 - %add.ptr19.i.i.i70 = getelementptr inbounds i32, ptr %cond.i10.i.i.i62, i64 %cond.i.i.i.i56 - store ptr %add.ptr19.i.i.i70, ptr %_M_end_of_storage.i.i40, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit73 - -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit73: ; preds = %if.then.i.i42, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i69 - %incdec.ptr.i74 = getelementptr inbounds i32, ptr %__first1.sroa.0.096, i64 1 - %incdec.ptr.i75 = getelementptr inbounds i32, ptr %__first2.sroa.0.095, i64 1 +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50: ; preds = %if.else.i.i45 + %sub.ptr.div.i.i.i.i.i51 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i48, 2 + %.sroa.speculated.i.i.i.i52 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i51, i64 1) + %add.i.i.i.i53 = add i64 %.sroa.speculated.i.i.i.i52, %sub.ptr.div.i.i.i.i.i51 + %cmp7.i.i.i.i54 = icmp ult i64 %add.i.i.i.i53, %sub.ptr.div.i.i.i.i.i51 + %cmp9.i.i.i.i55 = icmp ugt i64 %add.i.i.i.i53, 2305843009213693951 + %or.cond.i.i.i.i56 = or i1 %cmp7.i.i.i.i54, %cmp9.i.i.i.i55 + %cond.i.i.i.i57 = select i1 %or.cond.i.i.i.i56, i64 2305843009213693951, i64 %add.i.i.i.i53 + %cmp.not.i.i.i.i58 = icmp eq i64 %cond.i.i.i.i57, 0 + br i1 %cmp.not.i.i.i.i58, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 + %mul.i.i.i.i.i.i60 = shl nuw nsw i64 %cond.i.i.i.i57, 2 + %call5.i.i.i.i.i.i61 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i60) #30 + %.pre = load i32, ptr %__first1.sroa.0.098, align 4 + br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62 + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 + %14 = phi i32 [ %.pre, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59 ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 ] + %cond.i10.i.i.i63 = phi ptr [ %call5.i.i.i.i.i.i61, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i59 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i50 ] + %add.ptr.i.i.i64 = getelementptr inbounds i32, ptr %cond.i10.i.i.i63, i64 %sub.ptr.div.i.i.i.i.i51 + store i32 %14, ptr %add.ptr.i.i.i64, align 4 + %cmp.i.i.i11.i.i.i65 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i48, 0 + br i1 %cmp.i.i.i11.i.i.i65, label %if.then.i.i.i12.i.i.i73, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i66 + +if.then.i.i.i12.i.i.i73: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i63, ptr align 4 %13, i64 %sub.ptr.sub.i.i.i.i.i48, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i66 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i66: ; preds = %if.then.i.i.i12.i.i.i73, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i62 + %add.ptr.i.i.i.i.i.i67 = getelementptr inbounds i8, ptr %cond.i10.i.i.i63, i64 %sub.ptr.sub.i.i.i.i.i48 + %incdec.ptr.i.i.i68 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i67, i64 1 + %tobool.not.i.i.i.i69 = icmp eq ptr %13, null + br i1 %tobool.not.i.i.i.i69, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i71, label %if.then.i20.i.i.i70 + +if.then.i20.i.i.i70: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i66 + tail call void @_ZdlPv(ptr noundef nonnull %13) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i71 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i71: ; preds = %if.then.i20.i.i.i70, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i66 + store ptr %cond.i10.i.i.i63, ptr %__result.coerce, align 8 + store ptr %incdec.ptr.i.i.i68, ptr %_M_finish.i.i40, align 8 + %add.ptr19.i.i.i72 = getelementptr inbounds i32, ptr %cond.i10.i.i.i63, i64 %cond.i.i.i.i57 + store ptr %add.ptr19.i.i.i72, ptr %_M_end_of_storage.i.i41, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit75 + +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit75: ; preds = %if.then.i.i43, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i71 + %incdec.ptr.i76 = getelementptr inbounds i32, ptr %__first1.sroa.0.098, i64 1 + %incdec.ptr.i77 = getelementptr inbounds i32, ptr %__first2.sroa.0.097, i64 1 br label %if.end30 -if.end30: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit73, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit - %__first2.sroa.0.1 = phi ptr [ %__first2.sroa.0.095, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 ], [ %incdec.ptr.i75, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit73 ] - %__first1.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first1.sroa.0.096, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 ], [ %incdec.ptr.i74, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit73 ] +if.end30: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit75, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit + %__first2.sroa.0.1 = phi ptr [ %__first2.sroa.0.097, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i39, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %incdec.ptr.i77, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit75 ] + %__first1.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first1.sroa.0.098, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %incdec.ptr.i76, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit75 ] %cmp.i = icmp ne ptr %__first1.sroa.0.1, %__last1.coerce %cmp.i1 = icmp ne ptr %__first2.sroa.0.1, %__last2.coerce %or.cond = select i1 %cmp.i, i1 %cmp.i1, i1 false @@ -80547,8 +80575,8 @@ while.end: ; preds = %if.end30, %entry %__first2.sroa.0.0.lcssa = phi ptr [ %__first2.coerce, %entry ], [ %__first2.sroa.0.1, %if.end30 ] %__first1.sroa.0.0.lcssa = phi ptr [ %__first1.coerce, %entry ], [ %__first1.sroa.0.1, %if.end30 ] %call.i.i.i.i = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first1.sroa.0.0.lcssa, ptr noundef %__last1.coerce, ptr %__result.coerce) - %call.i.i.i.i76 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) - ret ptr %call.i.i.i.i76 + %call.i.i.i.i78 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) + ret ptr %call.i.i.i.i78 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable @@ -80560,14 +80588,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_138SetOperationsTest_SetIntersection_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_138SetOperationsTest_SetIntersection_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #29 + %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #30 invoke fastcc void @_ZN12_GLOBAL__N_117SetOperationsTestC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %call) to label %invoke.cont unwind label %lpad @@ -80578,7 +80606,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -80592,7 +80620,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -80602,7 +80630,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e br i1 %tobool.not.i.i.i1.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i, label %if.then.i.i.i2.i if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i @@ -80612,7 +80640,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, % br i1 %tobool.not.i.i.i4.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, label %if.then.i.i.i5.i if.then.i.i.i5.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -80622,11 +80650,11 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, % br i1 %tobool.not.i.i.i7.i, label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit, label %if.then.i.i.i8.i if.then.i.i.i8.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit _ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, %if.then.i.i.i8.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -80640,7 +80668,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -80650,7 +80678,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, br i1 %tobool.not.i.i.i1.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i, label %if.then.i.i.i2.i.i if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i @@ -80660,7 +80688,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, br i1 %tobool.not.i.i.i4.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, label %if.then.i.i.i5.i.i if.then.i.i.i5.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i @@ -80670,12 +80698,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, br i1 %tobool.not.i.i.i7.i.i, label %_ZN12_GLOBAL__N_138SetOperationsTest_SetIntersection_TestD2Ev.exit, label %if.then.i.i.i8.i.i if.then.i.i.i8.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_138SetOperationsTest_SetIntersection_TestD2Ev.exit _ZN12_GLOBAL__N_138SetOperationsTest_SetIntersection_TestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, %if.then.i.i.i8.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -80748,7 +80776,7 @@ if.else.i.i.i: ; preds = %if.else18.i br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc unwind label %lpad.loopexit.split-lp .noexc: ; preds = %if.then.i.i.i.i.i @@ -80767,7 +80795,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i16 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i16 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %call5.i.i.i.i.i.i.i.noexc unwind label %lpad.loopexit call5.i.i.i.i.i.i.i.noexc: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i @@ -80779,23 +80807,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %call5.i.i.i. %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i16, %call5.i.i.i.i.i.i.i.noexc ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %10, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %9, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %9, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %9) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %9) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %actual, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -80849,7 +80878,7 @@ invoke.cont15: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont18, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont15 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 br label %invoke.cont18 invoke.cont18: ; preds = %cond.true.i.i, %invoke.cont15 @@ -80862,7 +80891,7 @@ invoke.cont20: ; preds = %invoke.cont18 to label %invoke.cont22 unwind label %lpad21 invoke.cont22: ; preds = %invoke.cont20 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 %16 = load ptr, ptr %ref.tmp13, align 8 %cmp.not.i.i = icmp eq ptr %16, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -80871,7 +80900,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %16, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %17 = load ptr, ptr %vfn.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont22, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -80891,7 +80920,7 @@ lpad17: ; preds = %invoke.cont18 lpad21: ; preds = %invoke.cont20 %20 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 br label %ehcleanup ehcleanup: ; preds = %lpad21, %lpad17 @@ -80904,7 +80933,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %21, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %22 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #27 + call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -80918,8 +80947,8 @@ if.end: ; preds = %invoke.cont11, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #27 - call void @_ZdlPv(ptr noundef nonnull %23) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #28 + call void @_ZdlPv(ptr noundef nonnull %23) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -80929,7 +80958,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %24) #28 + call void @_ZdlPv(ptr noundef nonnull %24) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -80937,7 +80966,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup23: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad14 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %18, %lpad14 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup24 ehcleanup24: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %ehcleanup23 @@ -80947,7 +80976,7 @@ ehcleanup24: ; preds = %lpad.loopexit, %lpa br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit14, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %ehcleanup24 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit14 _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup24, %if.then.i.i.i13 @@ -80963,14 +80992,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_152SetOperationsTest_SetIntersectionWithComparator_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_152SetOperationsTest_SetIntersectionWithComparator_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #29 + %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #30 invoke fastcc void @_ZN12_GLOBAL__N_117SetOperationsTestC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %call) to label %invoke.cont unwind label %lpad @@ -80981,7 +81010,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -80995,7 +81024,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -81005,7 +81034,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e br i1 %tobool.not.i.i.i1.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i, label %if.then.i.i.i2.i if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i @@ -81015,7 +81044,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, % br i1 %tobool.not.i.i.i4.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, label %if.then.i.i.i5.i if.then.i.i.i5.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -81025,11 +81054,11 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, % br i1 %tobool.not.i.i.i7.i, label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit, label %if.then.i.i.i8.i if.then.i.i.i8.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit _ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, %if.then.i.i.i8.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -81043,7 +81072,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -81053,7 +81082,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, br i1 %tobool.not.i.i.i1.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i, label %if.then.i.i.i2.i.i if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i @@ -81063,7 +81092,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, br i1 %tobool.not.i.i.i4.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, label %if.then.i.i.i5.i.i if.then.i.i.i5.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i @@ -81073,12 +81102,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, br i1 %tobool.not.i.i.i7.i.i, label %_ZN12_GLOBAL__N_152SetOperationsTest_SetIntersectionWithComparator_TestD2Ev.exit, label %if.then.i.i.i8.i.i if.then.i.i.i8.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_152SetOperationsTest_SetIntersectionWithComparator_TestD2Ev.exit _ZN12_GLOBAL__N_152SetOperationsTest_SetIntersectionWithComparator_TestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, %if.then.i.i.i8.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -81151,7 +81180,7 @@ if.else.i.i.i: ; preds = %if.else18.i br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc unwind label %lpad.loopexit.split-lp .noexc: ; preds = %if.then.i.i.i.i.i @@ -81170,7 +81199,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 - %call5.i.i.i.i.i.i.i16 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i.i16 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %call5.i.i.i.i.i.i.i.noexc unwind label %lpad.loopexit call5.i.i.i.i.i.i.i.noexc: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i @@ -81182,23 +81211,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %call5.i.i.i. %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i16, %call5.i.i.i.i.i.i.i.noexc ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %10, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %9, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %9, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %9) #28 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %9) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %actual, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -81252,7 +81282,7 @@ invoke.cont16: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont19, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont16 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 br label %invoke.cont19 invoke.cont19: ; preds = %cond.true.i.i, %invoke.cont16 @@ -81265,7 +81295,7 @@ invoke.cont21: ; preds = %invoke.cont19 to label %invoke.cont23 unwind label %lpad22 invoke.cont23: ; preds = %invoke.cont21 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 %16 = load ptr, ptr %ref.tmp14, align 8 %cmp.not.i.i = icmp eq ptr %16, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -81274,7 +81304,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %16, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %17 = load ptr, ptr %vfn.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #27 + call void %17(ptr noundef nonnull align 8 dereferenceable(128) %16) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont23, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -81294,7 +81324,7 @@ lpad18: ; preds = %invoke.cont19 lpad22: ; preds = %invoke.cont21 %20 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad22, %lpad18 @@ -81307,7 +81337,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %21, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %22 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #27 + call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -81321,8 +81351,8 @@ if.end: ; preds = %invoke.cont12, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #27 - call void @_ZdlPv(ptr noundef nonnull %23) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #28 + call void @_ZdlPv(ptr noundef nonnull %23) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -81332,7 +81362,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %24) #28 + call void @_ZdlPv(ptr noundef nonnull %24) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -81340,7 +81370,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup24: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad15 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %18, %lpad15 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup25 ehcleanup25: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %ehcleanup24 @@ -81350,7 +81380,7 @@ ehcleanup25: ; preds = %lpad.loopexit, %lpa br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit14, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %ehcleanup25 - call void @_ZdlPv(ptr noundef nonnull %25) #28 + call void @_ZdlPv(ptr noundef nonnull %25) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit14 _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup25, %if.then.i.i.i13 @@ -81366,14 +81396,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_136SetOperationsTest_SetDifference_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_136SetOperationsTest_SetDifference_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #29 + %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #30 invoke fastcc void @_ZN12_GLOBAL__N_117SetOperationsTestC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %call) to label %invoke.cont unwind label %lpad @@ -81384,7 +81414,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -81398,7 +81428,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -81408,7 +81438,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e br i1 %tobool.not.i.i.i1.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i, label %if.then.i.i.i2.i if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i @@ -81418,7 +81448,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, % br i1 %tobool.not.i.i.i4.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, label %if.then.i.i.i5.i if.then.i.i.i5.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -81428,11 +81458,11 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, % br i1 %tobool.not.i.i.i7.i, label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit, label %if.then.i.i.i8.i if.then.i.i.i8.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit _ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, %if.then.i.i.i8.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -81446,7 +81476,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -81456,7 +81486,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, br i1 %tobool.not.i.i.i1.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i, label %if.then.i.i.i2.i.i if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i @@ -81466,7 +81496,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, br i1 %tobool.not.i.i.i4.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, label %if.then.i.i.i5.i.i if.then.i.i.i5.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i @@ -81476,12 +81506,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, br i1 %tobool.not.i.i.i7.i.i, label %_ZN12_GLOBAL__N_136SetOperationsTest_SetDifference_TestD2Ev.exit, label %if.then.i.i.i8.i.i if.then.i.i.i8.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_136SetOperationsTest_SetDifference_TestD2Ev.exit _ZN12_GLOBAL__N_136SetOperationsTest_SetDifference_TestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, %if.then.i.i.i8.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -81532,7 +81562,7 @@ invoke.cont14: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont17, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont14 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont17 invoke.cont17: ; preds = %cond.true.i.i, %invoke.cont14 @@ -81545,7 +81575,7 @@ invoke.cont19: ; preds = %invoke.cont17 to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont19 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #28 %8 = load ptr, ptr %ref.tmp12, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -81554,7 +81584,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont21, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -81574,7 +81604,7 @@ lpad16: ; preds = %invoke.cont17 lpad20: ; preds = %invoke.cont19 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15) #28 br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad16 @@ -81587,7 +81617,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %13, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %14 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -81601,8 +81631,8 @@ if.end: ; preds = %invoke.cont10, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -81612,7 +81642,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %16) #28 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -81620,7 +81650,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup22: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad13 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %10, %lpad13 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup23 ehcleanup23: ; preds = %ehcleanup22, %lpad @@ -81630,7 +81660,7 @@ ehcleanup23: ; preds = %ehcleanup22, %lpad br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit14, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %ehcleanup23 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit14 _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup23, %if.then.i.i.i13 @@ -81680,7 +81710,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -81696,7 +81726,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 %.pre = load i32, ptr %__first1.sroa.0.017, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i @@ -81705,23 +81735,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -81768,14 +81799,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_150SetOperationsTest_SetDifferenceWithComparator_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_150SetOperationsTest_SetDifferenceWithComparator_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #29 + %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #30 invoke fastcc void @_ZN12_GLOBAL__N_117SetOperationsTestC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %call) to label %invoke.cont unwind label %lpad @@ -81786,7 +81817,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -81800,7 +81831,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -81810,7 +81841,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e br i1 %tobool.not.i.i.i1.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i, label %if.then.i.i.i2.i if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i @@ -81820,7 +81851,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, % br i1 %tobool.not.i.i.i4.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, label %if.then.i.i.i5.i if.then.i.i.i5.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -81830,11 +81861,11 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, % br i1 %tobool.not.i.i.i7.i, label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit, label %if.then.i.i.i8.i if.then.i.i.i8.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit _ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, %if.then.i.i.i8.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -81848,7 +81879,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -81858,7 +81889,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, br i1 %tobool.not.i.i.i1.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i, label %if.then.i.i.i2.i.i if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i @@ -81868,7 +81899,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, br i1 %tobool.not.i.i.i4.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, label %if.then.i.i.i5.i.i if.then.i.i.i5.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i @@ -81878,12 +81909,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, br i1 %tobool.not.i.i.i7.i.i, label %_ZN12_GLOBAL__N_150SetOperationsTest_SetDifferenceWithComparator_TestD2Ev.exit, label %if.then.i.i.i8.i.i if.then.i.i.i8.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_150SetOperationsTest_SetDifferenceWithComparator_TestD2Ev.exit _ZN12_GLOBAL__N_150SetOperationsTest_SetDifferenceWithComparator_TestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, %if.then.i.i.i8.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -81934,7 +81965,7 @@ invoke.cont15: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont18, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont15 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont18 invoke.cont18: ; preds = %cond.true.i.i, %invoke.cont15 @@ -81947,7 +81978,7 @@ invoke.cont20: ; preds = %invoke.cont18 to label %invoke.cont22 unwind label %lpad21 invoke.cont22: ; preds = %invoke.cont20 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 %8 = load ptr, ptr %ref.tmp13, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -81956,7 +81987,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont22, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -81976,7 +82007,7 @@ lpad17: ; preds = %invoke.cont18 lpad21: ; preds = %invoke.cont20 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 br label %ehcleanup ehcleanup: ; preds = %lpad21, %lpad17 @@ -81989,7 +82020,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %13, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %14 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -82003,8 +82034,8 @@ if.end: ; preds = %invoke.cont11, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -82014,7 +82045,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %16) #28 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -82022,7 +82053,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup23: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad14 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %10, %lpad14 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup24 ehcleanup24: ; preds = %ehcleanup23, %lpad @@ -82032,7 +82063,7 @@ ehcleanup24: ; preds = %ehcleanup23, %lpad br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit14, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %ehcleanup24 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit14 _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup24, %if.then.i.i.i13 @@ -82082,7 +82113,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -82098,7 +82129,7 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 %.pre = load i32, ptr %__first1.sroa.0.016, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i @@ -82107,23 +82138,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -82170,14 +82202,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_145SetOperationsTest_SetSymmetricDifference_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_145SetOperationsTest_SetSymmetricDifference_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #29 + %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #30 invoke fastcc void @_ZN12_GLOBAL__N_117SetOperationsTestC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %call) to label %invoke.cont unwind label %lpad @@ -82188,7 +82220,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -82202,7 +82234,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -82212,7 +82244,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e br i1 %tobool.not.i.i.i1.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i, label %if.then.i.i.i2.i if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i @@ -82222,7 +82254,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, % br i1 %tobool.not.i.i.i4.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, label %if.then.i.i.i5.i if.then.i.i.i5.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -82232,11 +82264,11 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, % br i1 %tobool.not.i.i.i7.i, label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit, label %if.then.i.i.i8.i if.then.i.i.i8.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit _ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, %if.then.i.i.i8.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -82250,7 +82282,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -82260,7 +82292,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, br i1 %tobool.not.i.i.i1.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i, label %if.then.i.i.i2.i.i if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i @@ -82270,7 +82302,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, br i1 %tobool.not.i.i.i4.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, label %if.then.i.i.i5.i.i if.then.i.i.i5.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i @@ -82280,12 +82312,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, br i1 %tobool.not.i.i.i7.i.i, label %_ZN12_GLOBAL__N_145SetOperationsTest_SetSymmetricDifference_TestD2Ev.exit, label %if.then.i.i.i8.i.i if.then.i.i.i8.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_145SetOperationsTest_SetSymmetricDifference_TestD2Ev.exit _ZN12_GLOBAL__N_145SetOperationsTest_SetSymmetricDifference_TestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, %if.then.i.i.i8.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -82336,7 +82368,7 @@ invoke.cont15: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont18, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont15 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont18 invoke.cont18: ; preds = %cond.true.i.i, %invoke.cont15 @@ -82349,7 +82381,7 @@ invoke.cont20: ; preds = %invoke.cont18 to label %invoke.cont22 unwind label %lpad21 invoke.cont22: ; preds = %invoke.cont20 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 %8 = load ptr, ptr %ref.tmp13, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -82358,7 +82390,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont22, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -82378,7 +82410,7 @@ lpad17: ; preds = %invoke.cont18 lpad21: ; preds = %invoke.cont20 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16) #28 br label %ehcleanup ehcleanup: ; preds = %lpad21, %lpad17 @@ -82391,7 +82423,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %13, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %14 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -82405,8 +82437,8 @@ if.end: ; preds = %invoke.cont11, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -82416,7 +82448,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %16) #28 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -82424,7 +82456,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup23: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad14 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %10, %lpad14 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup24 ehcleanup24: ; preds = %ehcleanup23, %lpad @@ -82434,7 +82466,7 @@ ehcleanup24: ; preds = %ehcleanup23, %lpad br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit14, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %ehcleanup24 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit14 _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup24, %if.then.i.i.i13 @@ -82444,10 +82476,10 @@ _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup24, %if.th ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local ptr @_ZSt26__set_symmetric_differenceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_less_iterEET1_T_SD_T0_SE_SC_T2_(ptr %__first1.coerce, ptr %__last1.coerce, ptr %__first2.coerce, ptr %__last2.coerce, ptr %__result.coerce) local_unnamed_addr #3 comdat personality ptr @__gxx_personality_v0 { entry: - %cmp.i54 = icmp ne ptr %__first1.coerce, %__last1.coerce - %cmp.i155 = icmp ne ptr %__first2.coerce, %__last2.coerce - %or.cond56 = select i1 %cmp.i54, i1 %cmp.i155, i1 false - br i1 %or.cond56, label %while.body.lr.ph, label %while.end + %cmp.i55 = icmp ne ptr %__first1.coerce, %__last1.coerce + %cmp.i156 = icmp ne ptr %__first2.coerce, %__last2.coerce + %or.cond57 = select i1 %cmp.i55, i1 %cmp.i156, i1 false + br i1 %or.cond57, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %entry %_M_finish.i.i4 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 @@ -82455,10 +82487,10 @@ while.body.lr.ph: ; preds = %entry br label %while.body while.body: ; preds = %while.body.lr.ph, %if.end29 - %__first1.sroa.0.058 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end29 ] - %__first2.sroa.0.057 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end29 ] - %0 = load i32, ptr %__first1.sroa.0.058, align 4 - %1 = load i32, ptr %__first2.sroa.0.057, align 4 + %__first1.sroa.0.059 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end29 ] + %__first2.sroa.0.058 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end29 ] + %0 = load i32, ptr %__first1.sroa.0.059, align 4 + %1 = load i32, ptr %__first2.sroa.0.058, align 4 %cmp.i2 = icmp slt i32 %0, %1 br i1 %cmp.i2, label %if.then, label %if.else @@ -82484,7 +82516,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -82500,32 +82532,33 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 - %.pre60 = load i32, ptr %__first1.sroa.0.058, align 4 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 + %.pre61 = load i32, ptr %__first1.sroa.0.059, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i - %6 = phi i32 [ %.pre60, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] + %6 = phi i32 [ %.pre61, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i4, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -82533,7 +82566,7 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIP br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i - %incdec.ptr.i = getelementptr inbounds i32, ptr %__first1.sroa.0.058, i64 1 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__first1.sroa.0.059, i64 1 br label %if.end29 if.else: ; preds = %while.body @@ -82551,7 +82584,7 @@ if.then.i.i7: ; preds = %if.then20 %9 = load ptr, ptr %_M_finish.i.i4, align 8 %incdec.ptr.i.i8 = getelementptr inbounds i32, ptr %9, i64 1 store ptr %incdec.ptr.i.i8, ptr %_M_finish.i.i4, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 if.else.i.i9: ; preds = %if.then20 %10 = load ptr, ptr %__result.coerce, align 8 @@ -82559,10 +82592,10 @@ if.else.i.i9: ; preds = %if.then20 %sub.ptr.rhs.cast.i.i.i.i.i11 = ptrtoint ptr %10 to i64 %sub.ptr.sub.i.i.i.i.i12 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i10, %sub.ptr.rhs.cast.i.i.i.i.i11 %cmp.i.i.i.i13 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i12, 9223372036854775804 - br i1 %cmp.i.i.i.i13, label %if.then.i.i.i.i37, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 + br i1 %cmp.i.i.i.i13, label %if.then.i.i.i.i38, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 -if.then.i.i.i.i37: ; preds = %if.else.i.i9 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i38: ; preds = %if.else.i.i9 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14: ; preds = %if.else.i.i9 @@ -82578,8 +82611,8 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14: ; preds = %if.else.i.i9 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 %mul.i.i.i.i.i.i24 = shl nuw nsw i64 %cond.i.i.i.i21, 2 - %call5.i.i.i.i.i.i25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i24) #29 - %.pre = load i32, ptr %__first2.sroa.0.057, align 4 + %call5.i.i.i.i.i.i25 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i24) #30 + %.pre = load i32, ptr %__first2.sroa.0.058, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 @@ -82587,41 +82620,42 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26: ; preds = %_ZNSt16alloc %cond.i10.i.i.i27 = phi ptr [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i23 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i14 ] %add.ptr.i.i.i28 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %sub.ptr.div.i.i.i.i.i15 store i32 %11, ptr %add.ptr.i.i.i28, align 4 - %cmp.i.i.i11.i.i.i29 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i15, 0 - br i1 %cmp.i.i.i11.i.i.i29, label %if.then.i.i.i12.i.i.i36, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 + %cmp.i.i.i11.i.i.i29 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i12, 0 + br i1 %cmp.i.i.i11.i.i.i29, label %if.then.i.i.i12.i.i.i37, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 -if.then.i.i.i12.i.i.i36: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 +if.then.i.i.i12.i.i.i37: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i27, ptr align 4 %10, i64 %sub.ptr.sub.i.i.i.i.i12, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30: ; preds = %if.then.i.i.i12.i.i.i36, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 - %incdec.ptr.i.i.i31 = getelementptr inbounds i32, ptr %add.ptr.i.i.i28, i64 1 - %tobool.not.i.i.i.i32 = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i32, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34, label %if.then.i21.i.i.i33 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30: ; preds = %if.then.i.i.i12.i.i.i37, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i26 + %add.ptr.i.i.i.i.i.i31 = getelementptr inbounds i8, ptr %cond.i10.i.i.i27, i64 %sub.ptr.sub.i.i.i.i.i12 + %incdec.ptr.i.i.i32 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i31, i64 1 + %tobool.not.i.i.i.i33 = icmp eq ptr %10, null + br i1 %tobool.not.i.i.i.i33, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35, label %if.then.i20.i.i.i34 -if.then.i21.i.i.i33: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 - tail call void @_ZdlPv(ptr noundef nonnull %10) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 +if.then.i20.i.i.i34: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 + tail call void @_ZdlPv(ptr noundef nonnull %10) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34: ; preds = %if.then.i21.i.i.i33, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i30 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35: ; preds = %if.then.i20.i.i.i34, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i30 store ptr %cond.i10.i.i.i27, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i31, ptr %_M_finish.i.i4, align 8 - %add.ptr19.i.i.i35 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %cond.i.i.i.i21 - store ptr %add.ptr19.i.i.i35, ptr %_M_end_of_storage.i.i5, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 + store ptr %incdec.ptr.i.i.i32, ptr %_M_finish.i.i4, align 8 + %add.ptr19.i.i.i36 = getelementptr inbounds i32, ptr %cond.i10.i.i.i27, i64 %cond.i.i.i.i21 + store ptr %add.ptr19.i.i.i36, ptr %_M_end_of_storage.i.i5, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38: ; preds = %if.then.i.i7, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 - %incdec.ptr.i39 = getelementptr inbounds i32, ptr %__first2.sroa.0.057, i64 1 +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39: ; preds = %if.then.i.i7, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i35 + %incdec.ptr.i40 = getelementptr inbounds i32, ptr %__first2.sroa.0.058, i64 1 br label %if.end29 if.else26: ; preds = %if.else - %incdec.ptr.i40 = getelementptr inbounds i32, ptr %__first1.sroa.0.058, i64 1 - %incdec.ptr.i41 = getelementptr inbounds i32, ptr %__first2.sroa.0.057, i64 1 + %incdec.ptr.i41 = getelementptr inbounds i32, ptr %__first1.sroa.0.059, i64 1 + %incdec.ptr.i42 = getelementptr inbounds i32, ptr %__first2.sroa.0.058, i64 1 br label %if.end29 -if.end29: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38, %if.else26, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit - %__first2.sroa.0.1 = phi ptr [ %__first2.sroa.0.057, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i39, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %incdec.ptr.i41, %if.else26 ] - %__first1.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first1.sroa.0.058, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %incdec.ptr.i40, %if.else26 ] +if.end29: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39, %if.else26, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit + %__first2.sroa.0.1 = phi ptr [ %__first2.sroa.0.058, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i40, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %incdec.ptr.i42, %if.else26 ] + %__first1.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first1.sroa.0.059, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit39 ], [ %incdec.ptr.i41, %if.else26 ] %cmp.i = icmp ne ptr %__first1.sroa.0.1, %__last1.coerce %cmp.i1 = icmp ne ptr %__first2.sroa.0.1, %__last2.coerce %or.cond = select i1 %cmp.i, i1 %cmp.i1, i1 false @@ -82631,8 +82665,8 @@ while.end: ; preds = %if.end29, %entry %__first2.sroa.0.0.lcssa = phi ptr [ %__first2.coerce, %entry ], [ %__first2.sroa.0.1, %if.end29 ] %__first1.sroa.0.0.lcssa = phi ptr [ %__first1.coerce, %entry ], [ %__first1.sroa.0.1, %if.end29 ] %call.i.i.i.i = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first1.sroa.0.0.lcssa, ptr noundef %__last1.coerce, ptr %__result.coerce) - %call.i.i.i.i42 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) - ret ptr %call.i.i.i.i42 + %call.i.i.i.i43 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) + ret ptr %call.i.i.i.i43 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable @@ -82644,14 +82678,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_159SetOperationsTest_SetSymmetricDifferenceWithComparator_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_159SetOperationsTest_SetSymmetricDifferenceWithComparator_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #29 + %call = tail call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #30 invoke fastcc void @_ZN12_GLOBAL__N_117SetOperationsTestC2Ev(ptr noundef nonnull align 8 dereferenceable(112) %call) to label %invoke.cont unwind label %lpad @@ -82662,7 +82696,7 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } @@ -82676,7 +82710,7 @@ entry: br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %entry @@ -82686,7 +82720,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %e br i1 %tobool.not.i.i.i1.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i, label %if.then.i.i.i2.i if.then.i.i.i2.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i @@ -82696,7 +82730,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i: ; preds = %if.then.i.i.i2.i, % br i1 %tobool.not.i.i.i4.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, label %if.then.i.i.i5.i if.then.i.i.i5.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -82706,11 +82740,11 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i: ; preds = %if.then.i.i.i5.i, % br i1 %tobool.not.i.i.i7.i, label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit, label %if.then.i.i.i8.i if.then.i.i.i8.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit _ZN12_GLOBAL__N_117SetOperationsTestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i, %if.then.i.i.i8.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } @@ -82724,7 +82758,7 @@ entry: br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry - tail call void @_ZdlPv(ptr noundef nonnull %0) #28 + tail call void @_ZdlPv(ptr noundef nonnull %0) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %entry @@ -82734,7 +82768,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, br i1 %tobool.not.i.i.i1.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i, label %if.then.i.i.i2.i.i if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i - tail call void @_ZdlPv(ptr noundef nonnull %1) #28 + tail call void @_ZdlPv(ptr noundef nonnull %1) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit.i.i @@ -82744,7 +82778,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit3.i.i: ; preds = %if.then.i.i.i2.i.i, br i1 %tobool.not.i.i.i4.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, label %if.then.i.i.i5.i.i if.then.i.i.i5.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i - tail call void @_ZdlPv(ptr noundef nonnull %2) #28 + tail call void @_ZdlPv(ptr noundef nonnull %2) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, %_ZNSt6vectorIiSaIiEED2Ev.exit3.i.i @@ -82754,12 +82788,12 @@ _ZNSt6vectorIiSaIiEED2Ev.exit6.i.i: ; preds = %if.then.i.i.i5.i.i, br i1 %tobool.not.i.i.i7.i.i, label %_ZN12_GLOBAL__N_159SetOperationsTest_SetSymmetricDifferenceWithComparator_TestD2Ev.exit, label %if.then.i.i.i8.i.i if.then.i.i.i8.i.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i - tail call void @_ZdlPv(ptr noundef nonnull %3) #28 + tail call void @_ZdlPv(ptr noundef nonnull %3) #29 br label %_ZN12_GLOBAL__N_159SetOperationsTest_SetSymmetricDifferenceWithComparator_TestD2Ev.exit _ZN12_GLOBAL__N_159SetOperationsTest_SetSymmetricDifferenceWithComparator_TestD2Ev.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit6.i.i, %if.then.i.i.i8.i.i - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -82810,7 +82844,7 @@ invoke.cont16: ; preds = %if.else br i1 %cmp.i.i.not.i.i, label %invoke.cont19, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont16 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #28 br label %invoke.cont19 invoke.cont19: ; preds = %cond.true.i.i, %invoke.cont16 @@ -82823,7 +82857,7 @@ invoke.cont21: ; preds = %invoke.cont19 to label %invoke.cont23 unwind label %lpad22 invoke.cont23: ; preds = %invoke.cont21 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 %8 = load ptr, ptr %ref.tmp14, align 8 %cmp.not.i.i = icmp eq ptr %8, null br i1 %cmp.not.i.i, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -82832,7 +82866,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %8, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %9 = load ptr, ptr %vfn.i.i.i, align 8 - call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #27 + call void %9(ptr noundef nonnull align 8 dereferenceable(128) %8) #28 br label %_ZN7testing7MessageD2Ev.exit _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont23, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -82852,7 +82886,7 @@ lpad18: ; preds = %invoke.cont19 lpad22: ; preds = %invoke.cont21 %12 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad22, %lpad18 @@ -82865,7 +82899,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i8 = load ptr, ptr %13, align 8 %vfn.i.i.i9 = getelementptr inbounds ptr, ptr %vtable.i.i.i8, i64 1 %14 = load ptr, ptr %vfn.i.i.i9, align 8 - call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #27 + call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #28 br label %_ZN7testing7MessageD2Ev.exit10 _ZN7testing7MessageD2Ev.exit10: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i7 @@ -82879,8 +82913,8 @@ if.end: ; preds = %invoke.cont12, %_ZN br i1 %cmp.not.i.i11, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #27 - call void @_ZdlPv(ptr noundef nonnull %15) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #28 + call void @_ZdlPv(ptr noundef nonnull %15) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -82890,7 +82924,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %16) #28 + call void @_ZdlPv(ptr noundef nonnull %16) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i @@ -82898,7 +82932,7 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15Assert ehcleanup24: ; preds = %_ZN7testing7MessageD2Ev.exit10, %lpad15 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit10 ], [ %10, %lpad15 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup25 ehcleanup25: ; preds = %ehcleanup24, %lpad @@ -82908,7 +82942,7 @@ ehcleanup25: ; preds = %ehcleanup24, %lpad br i1 %tobool.not.i.i.i12, label %_ZNSt6vectorIiSaIiEED2Ev.exit14, label %if.then.i.i.i13 if.then.i.i.i13: ; preds = %ehcleanup25 - call void @_ZdlPv(ptr noundef nonnull %17) #28 + call void @_ZdlPv(ptr noundef nonnull %17) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit14 _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup25, %if.then.i.i.i13 @@ -82918,10 +82952,10 @@ _ZNSt6vectorIiSaIiEED2Ev.exit14: ; preds = %ehcleanup25, %if.th ; Function Attrs: mustprogress uwtable define linkonce_odr dso_local ptr @_ZSt26__set_symmetric_differenceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEES7_St20back_insert_iteratorIS6_ENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEET1_T_SG_T0_SH_SF_T2_(ptr %__first1.coerce, ptr %__last1.coerce, ptr %__first2.coerce, ptr %__last2.coerce, ptr %__result.coerce) local_unnamed_addr #3 comdat personality ptr @__gxx_personality_v0 { entry: - %cmp.i53 = icmp ne ptr %__first1.coerce, %__last1.coerce - %cmp.i154 = icmp ne ptr %__first2.coerce, %__last2.coerce - %or.cond55 = select i1 %cmp.i53, i1 %cmp.i154, i1 false - br i1 %or.cond55, label %while.body.lr.ph, label %while.end + %cmp.i54 = icmp ne ptr %__first1.coerce, %__last1.coerce + %cmp.i155 = icmp ne ptr %__first2.coerce, %__last2.coerce + %or.cond56 = select i1 %cmp.i54, i1 %cmp.i155, i1 false + br i1 %or.cond56, label %while.body.lr.ph, label %while.end while.body.lr.ph: ; preds = %entry %_M_finish.i.i3 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %__result.coerce, i64 0, i32 1 @@ -82929,10 +82963,10 @@ while.body.lr.ph: ; preds = %entry br label %while.body while.body: ; preds = %while.body.lr.ph, %if.end29 - %__first1.sroa.0.057 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end29 ] - %__first2.sroa.0.056 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end29 ] - %0 = load i32, ptr %__first1.sroa.0.057, align 4 - %1 = load i32, ptr %__first2.sroa.0.056, align 4 + %__first1.sroa.0.058 = phi ptr [ %__first1.coerce, %while.body.lr.ph ], [ %__first1.sroa.0.1, %if.end29 ] + %__first2.sroa.0.057 = phi ptr [ %__first2.coerce, %while.body.lr.ph ], [ %__first2.sroa.0.1, %if.end29 ] + %0 = load i32, ptr %__first1.sroa.0.058, align 4 + %1 = load i32, ptr %__first2.sroa.0.057, align 4 %cmp.i.i = icmp sgt i32 %0, %1 br i1 %cmp.i.i, label %if.then, label %if.else @@ -82958,7 +82992,7 @@ if.else.i.i: ; preds = %if.then br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i @@ -82974,32 +83008,33 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 - %.pre59 = load i32, ptr %__first1.sroa.0.057, align 4 + %call5.i.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 + %.pre60 = load i32, ptr %__first1.sroa.0.058, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i - %6 = phi i32 [ %.pre59, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] + %6 = phi i32 [ %.pre60, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ %0, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %6, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %5) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %5) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %__result.coerce, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i3, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -83007,7 +83042,7 @@ _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIP br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit _ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit: ; preds = %if.then.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i - %incdec.ptr.i = getelementptr inbounds i32, ptr %__first1.sroa.0.057, i64 1 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__first1.sroa.0.058, i64 1 br label %if.end29 if.else: ; preds = %while.body @@ -83025,7 +83060,7 @@ if.then.i.i6: ; preds = %if.then20 %9 = load ptr, ptr %_M_finish.i.i3, align 8 %incdec.ptr.i.i7 = getelementptr inbounds i32, ptr %9, i64 1 store ptr %incdec.ptr.i.i7, ptr %_M_finish.i.i3, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 if.else.i.i8: ; preds = %if.then20 %10 = load ptr, ptr %__result.coerce, align 8 @@ -83033,10 +83068,10 @@ if.else.i.i8: ; preds = %if.then20 %sub.ptr.rhs.cast.i.i.i.i.i10 = ptrtoint ptr %10 to i64 %sub.ptr.sub.i.i.i.i.i11 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i9, %sub.ptr.rhs.cast.i.i.i.i.i10 %cmp.i.i.i.i12 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i11, 9223372036854775804 - br i1 %cmp.i.i.i.i12, label %if.then.i.i.i.i36, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 + br i1 %cmp.i.i.i.i12, label %if.then.i.i.i.i37, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 -if.then.i.i.i.i36: ; preds = %if.else.i.i8 - tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 +if.then.i.i.i.i37: ; preds = %if.else.i.i8 + tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13: ; preds = %if.else.i.i8 @@ -83052,8 +83087,8 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13: ; preds = %if.else.i.i8 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 %mul.i.i.i.i.i.i23 = shl nuw nsw i64 %cond.i.i.i.i20, 2 - %call5.i.i.i.i.i.i24 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i23) #29 - %.pre = load i32, ptr %__first2.sroa.0.056, align 4 + %call5.i.i.i.i.i.i24 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i23) #30 + %.pre = load i32, ptr %__first2.sroa.0.057, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 @@ -83061,41 +83096,42 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25: ; preds = %_ZNSt16alloc %cond.i10.i.i.i26 = phi ptr [ %call5.i.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i22 ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i13 ] %add.ptr.i.i.i27 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %sub.ptr.div.i.i.i.i.i14 store i32 %11, ptr %add.ptr.i.i.i27, align 4 - %cmp.i.i.i11.i.i.i28 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i14, 0 - br i1 %cmp.i.i.i11.i.i.i28, label %if.then.i.i.i12.i.i.i35, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 + %cmp.i.i.i11.i.i.i28 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i11, 0 + br i1 %cmp.i.i.i11.i.i.i28, label %if.then.i.i.i12.i.i.i36, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 -if.then.i.i.i12.i.i.i35: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 +if.then.i.i.i12.i.i.i36: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i26, ptr align 4 %10, i64 %sub.ptr.sub.i.i.i.i.i11, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29: ; preds = %if.then.i.i.i12.i.i.i35, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 - %incdec.ptr.i.i.i30 = getelementptr inbounds i32, ptr %add.ptr.i.i.i27, i64 1 - %tobool.not.i.i.i.i31 = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i31, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33, label %if.then.i21.i.i.i32 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29: ; preds = %if.then.i.i.i12.i.i.i36, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i25 + %add.ptr.i.i.i.i.i.i30 = getelementptr inbounds i8, ptr %cond.i10.i.i.i26, i64 %sub.ptr.sub.i.i.i.i.i11 + %incdec.ptr.i.i.i31 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i30, i64 1 + %tobool.not.i.i.i.i32 = icmp eq ptr %10, null + br i1 %tobool.not.i.i.i.i32, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34, label %if.then.i20.i.i.i33 -if.then.i21.i.i.i32: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 - tail call void @_ZdlPv(ptr noundef nonnull %10) #28 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 +if.then.i20.i.i.i33: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 + tail call void @_ZdlPv(ptr noundef nonnull %10) #29 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33: ; preds = %if.then.i21.i.i.i32, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i29 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34: ; preds = %if.then.i20.i.i.i33, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i29 store ptr %cond.i10.i.i.i26, ptr %__result.coerce, align 8 - store ptr %incdec.ptr.i.i.i30, ptr %_M_finish.i.i3, align 8 - %add.ptr19.i.i.i34 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %cond.i.i.i.i20 - store ptr %add.ptr19.i.i.i34, ptr %_M_end_of_storage.i.i4, align 8 - br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 + store ptr %incdec.ptr.i.i.i31, ptr %_M_finish.i.i3, align 8 + %add.ptr19.i.i.i35 = getelementptr inbounds i32, ptr %cond.i10.i.i.i26, i64 %cond.i.i.i.i20 + store ptr %add.ptr19.i.i.i35, ptr %_M_end_of_storage.i.i4, align 8 + br label %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 -_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37: ; preds = %if.then.i.i6, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i33 - %incdec.ptr.i38 = getelementptr inbounds i32, ptr %__first2.sroa.0.056, i64 1 +_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38: ; preds = %if.then.i.i6, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i34 + %incdec.ptr.i39 = getelementptr inbounds i32, ptr %__first2.sroa.0.057, i64 1 br label %if.end29 if.else26: ; preds = %if.else - %incdec.ptr.i39 = getelementptr inbounds i32, ptr %__first1.sroa.0.057, i64 1 - %incdec.ptr.i40 = getelementptr inbounds i32, ptr %__first2.sroa.0.056, i64 1 + %incdec.ptr.i40 = getelementptr inbounds i32, ptr %__first1.sroa.0.058, i64 1 + %incdec.ptr.i41 = getelementptr inbounds i32, ptr %__first2.sroa.0.057, i64 1 br label %if.end29 -if.end29: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37, %if.else26, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit - %__first2.sroa.0.1 = phi ptr [ %__first2.sroa.0.056, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i38, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 ], [ %incdec.ptr.i40, %if.else26 ] - %__first1.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first1.sroa.0.057, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit37 ], [ %incdec.ptr.i39, %if.else26 ] +if.end29: ; preds = %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38, %if.else26, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit + %__first2.sroa.0.1 = phi ptr [ %__first2.sroa.0.057, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %incdec.ptr.i39, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %incdec.ptr.i41, %if.else26 ] + %__first1.sroa.0.1 = phi ptr [ %incdec.ptr.i, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit ], [ %__first1.sroa.0.058, %_ZNSt20back_insert_iteratorISt6vectorIiSaIiEEEaSERKi.exit38 ], [ %incdec.ptr.i40, %if.else26 ] %cmp.i = icmp ne ptr %__first1.sroa.0.1, %__last1.coerce %cmp.i1 = icmp ne ptr %__first2.sroa.0.1, %__last2.coerce %or.cond = select i1 %cmp.i, i1 %cmp.i1, i1 false @@ -83105,8 +83141,8 @@ while.end: ; preds = %if.end29, %entry %__first2.sroa.0.0.lcssa = phi ptr [ %__first2.coerce, %entry ], [ %__first2.sroa.0.1, %if.end29 ] %__first1.sroa.0.0.lcssa = phi ptr [ %__first1.coerce, %entry ], [ %__first1.sroa.0.1, %if.end29 ] %call.i.i.i.i = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first1.sroa.0.0.lcssa, ptr noundef %__last1.coerce, ptr %__result.coerce) - %call.i.i.i.i41 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) - ret ptr %call.i.i.i.i41 + %call.i.i.i.i42 = tail call ptr @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKiSt20back_insert_iteratorISt6vectorIiSaIiEEEEET0_T_SB_SA_(ptr noundef %__first2.sroa.0.0.lcssa, ptr noundef %__last2.coerce, ptr %call.i.i.i.i) + ret ptr %call.i.i.i.i42 } ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable @@ -83118,14 +83154,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141HeapOperationsTest_WithoutComparator_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_141HeapOperationsTest_WithoutComparator_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -83136,29 +83172,29 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141HeapOperationsTest_WithoutComparator_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_141HeapOperationsTest_WithoutComparator_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal void @_ZN12_GLOBAL__N_141HeapOperationsTest_WithoutComparator_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %__comp.i.i171 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 + %__comp.i.i172 = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %__comp.i.i = alloca %"struct.__gnu_cxx::__ops::_Iter_less_iter", align 1 %heap = alloca %"class.std::vector", align 8 %gtest_ar_ = alloca %"class.testing::AssertionResult", align 8 @@ -83190,9 +83226,9 @@ entry: %ref.tmp162 = alloca %"class.testing::Message", align 8 %ref.tmp165 = alloca %"class.testing::internal::AssertHelper", align 8 %ref.tmp166 = alloca %"class.std::__cxx11::basic_string", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store ptr %call5.i.i.i.i2.i, ptr %heap, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %heap, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 1, ptr %call5.i.i.i.i2.i, align 4 @@ -83224,8 +83260,8 @@ if.end.i.i.i.i: ; preds = %for.body.i.i.i.i invoke.cont6.thread: ; preds = %if.end.i.i.i.i store i8 0, ptr %gtest_ar_, align 8 - %message_.i262 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i262, align 8 + %message_.i263 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i263, align 8 br label %if.else invoke.cont6: ; preds = %for.body.i.i.i.i @@ -83236,13 +83272,13 @@ invoke.cont6: ; preds = %for.body.i.i.i.i store ptr null, ptr %message_.i, align 8 br i1 %cmp.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %if.else -lpad5: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170, %if.end.i.i145, %if.then.i.i146, %if.end.i.i107, %if.then.i.i108, %if.end.i.i, %if.then.i.i84, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %if.then.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont133 +lpad5: ; preds = %_ZN7testing15AssertionResultD2Ev.exit171, %if.end.i.i146, %if.then.i.i147, %if.end.i.i107, %if.then.i.i108, %if.end.i.i, %if.then.i.i84, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %if.then.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont133 %3 = landingpad { ptr, i32 } cleanup br label %ehcleanup179 if.else: ; preds = %invoke.cont6.thread, %invoke.cont6 - %message_.i263 = phi ptr [ %message_.i262, %invoke.cont6.thread ], [ %message_.i, %invoke.cont6 ] + %message_.i264 = phi ptr [ %message_.i263, %invoke.cont6.thread ], [ %message_.i, %invoke.cont6 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp9) to label %invoke.cont11 unwind label %lpad10 @@ -83251,7 +83287,7 @@ invoke.cont11: ; preds = %if.else to label %invoke.cont15 unwind label %lpad14 invoke.cont15: ; preds = %invoke.cont11 - %call16 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #27 + %call16 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1078, ptr noundef %call16) to label %invoke.cont18 unwind label %lpad17 @@ -83260,8 +83296,8 @@ invoke.cont18: ; preds = %invoke.cont15 to label %invoke.cont20 unwind label %lpad19 invoke.cont20: ; preds = %invoke.cont18 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #28 %4 = load ptr, ptr %ref.tmp9, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -83270,7 +83306,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %if.end lpad10: ; preds = %if.else @@ -83291,12 +83327,12 @@ lpad17: ; preds = %invoke.cont15 lpad19: ; preds = %invoke.cont18 %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12) #28 br label %ehcleanup ehcleanup: ; preds = %lpad19, %lpad17 %.pn = phi { ptr, i32 } [ %9, %lpad19 ], [ %8, %lpad17 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp13) #28 br label %ehcleanup21 ehcleanup21: ; preds = %ehcleanup, %lpad14 @@ -83309,7 +83345,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i28 = load ptr, ptr %10, align 8 %vfn.i.i.i29 = getelementptr inbounds ptr, ptr %vtable.i.i.i28, i64 1 %11 = load ptr, ptr %vfn.i.i.i29, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit30 _ZN7testing7MessageD2Ev.exit30: ; preds = %ehcleanup21, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i27 @@ -83318,18 +83354,18 @@ _ZN7testing7MessageD2Ev.exit30: ; preds = %ehcleanup21, %_ZNKS if.end: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %invoke.cont20 store ptr null, ptr %ref.tmp9, align 8 - %.pr = load ptr, ptr %message_.i263, align 8 + %.pr = load ptr, ptr %message_.i264, align 8 %cmp.not.i.i32 = icmp eq ptr %.pr, null br i1 %cmp.not.i.i32, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont6, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i - %message_.i264 = phi ptr [ %message_.i, %invoke.cont6 ], [ %message_.i263, %if.end ], [ %message_.i263, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ] - store ptr null, ptr %message_.i264, align 8 + %message_.i265 = phi ptr [ %message_.i, %invoke.cont6 ], [ %message_.i264, %if.end ], [ %message_.i264, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ] + store ptr null, ptr %message_.i265, align 8 %12 = load ptr, ptr %heap, align 8 %13 = load ptr, ptr %_M_finish.i.i, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__comp.i.i) @@ -83377,7 +83413,7 @@ invoke.cont26: ; preds = %if.end.i.i.i.i49, % ehcleanup22: ; preds = %_ZN7testing7MessageD2Ev.exit30, %lpad10 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit30 ], [ %6, %lpad10 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup179 if.else32: ; preds = %invoke.cont26 @@ -83389,7 +83425,7 @@ invoke.cont35: ; preds = %if.else32 to label %invoke.cont39 unwind label %lpad38 invoke.cont39: ; preds = %invoke.cont35 - %call40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #27 + %call40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1080, ptr noundef %call40) to label %invoke.cont42 unwind label %lpad41 @@ -83398,8 +83434,8 @@ invoke.cont42: ; preds = %invoke.cont39 to label %invoke.cont44 unwind label %lpad43 invoke.cont44: ; preds = %invoke.cont42 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #28 %19 = load ptr, ptr %ref.tmp33, align 8 %cmp.not.i.i57 = icmp eq ptr %19, null br i1 %cmp.not.i.i57, label %if.end48, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i58 @@ -83408,7 +83444,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i59 = load ptr, ptr %19, align 8 %vfn.i.i.i60 = getelementptr inbounds ptr, ptr %vtable.i.i.i59, i64 1 %20 = load ptr, ptr %vfn.i.i.i60, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 br label %if.end48 lpad34: ; preds = %if.else32 @@ -83429,12 +83465,12 @@ lpad41: ; preds = %invoke.cont39 lpad43: ; preds = %invoke.cont42 %24 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) #28 br label %ehcleanup46 ehcleanup46: ; preds = %lpad43, %lpad41 %.pn4 = phi { ptr, i32 } [ %24, %lpad43 ], [ %23, %lpad41 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp37) #28 br label %ehcleanup47 ehcleanup47: ; preds = %ehcleanup46, %lpad38 @@ -83447,7 +83483,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i64 = load ptr, ptr %25, align 8 %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 %26 = load ptr, ptr %vfn.i.i.i65, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %_ZN7testing7MessageD2Ev.exit66 _ZN7testing7MessageD2Ev.exit66: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 @@ -83456,13 +83492,13 @@ _ZN7testing7MessageD2Ev.exit66: ; preds = %ehcleanup47, %_ZNKS if.end48: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i58, %invoke.cont44 store ptr null, ptr %ref.tmp33, align 8 - %.pr254 = load ptr, ptr %message_.i55, align 8 - %cmp.not.i.i68 = icmp eq ptr %.pr254, null + %.pr255 = load ptr, ptr %message_.i55, align 8 + %cmp.not.i.i68 = icmp eq ptr %.pr255, null br i1 %cmp.not.i.i68, label %_ZN7testing15AssertionResultD2Ev.exit70, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69: ; preds = %if.end48 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr254) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr254) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr255) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr255) #29 br label %_ZN7testing15AssertionResultD2Ev.exit70 _ZN7testing15AssertionResultD2Ev.exit70: ; preds = %invoke.cont26, %if.end48, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69 @@ -83489,7 +83525,7 @@ if.else.i.i: ; preds = %_ZN7testing15Assert br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc unwind label %lpad5 .noexc: ; preds = %if.then.i.i.i.i @@ -83508,30 +83544,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i75 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i75 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i unwind label %lpad5 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i75, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 4, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %30, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %30, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - call void @_ZdlPv(ptr noundef nonnull %30) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + call void @_ZdlPv(ptr noundef nonnull %30) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %heap, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -83593,7 +83630,7 @@ invoke.cont61: ; preds = %if.then.i.i84, %if. ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit66, %lpad34 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit66 ], [ %21, %lpad34 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_24) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_24) #28 br label %ehcleanup179 if.else64: ; preds = %invoke.cont61 @@ -83607,7 +83644,7 @@ invoke.cont67: ; preds = %if.else64 br i1 %cmp.i.i.not.i.i, label %invoke.cont70, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont67 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %38) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %38) #28 br label %invoke.cont70 invoke.cont70: ; preds = %cond.true.i.i, %invoke.cont67 @@ -83620,7 +83657,7 @@ invoke.cont72: ; preds = %invoke.cont70 to label %invoke.cont74 unwind label %lpad73 invoke.cont74: ; preds = %invoke.cont72 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #28 %39 = load ptr, ptr %ref.tmp65, align 8 %cmp.not.i.i88 = icmp eq ptr %39, null br i1 %cmp.not.i.i88, label %_ZN7testing7MessageD2Ev.exit92, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 @@ -83629,7 +83666,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i90 = load ptr, ptr %39, align 8 %vfn.i.i.i91 = getelementptr inbounds ptr, ptr %vtable.i.i.i90, i64 1 %40 = load ptr, ptr %vfn.i.i.i91, align 8 - call void %40(ptr noundef nonnull align 8 dereferenceable(128) %39) #27 + call void %40(ptr noundef nonnull align 8 dereferenceable(128) %39) #28 br label %_ZN7testing7MessageD2Ev.exit92 _ZN7testing7MessageD2Ev.exit92: ; preds = %invoke.cont74, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 @@ -83649,7 +83686,7 @@ lpad69: ; preds = %invoke.cont70 lpad73: ; preds = %invoke.cont72 %43 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) #28 br label %ehcleanup76 ehcleanup76: ; preds = %lpad73, %lpad69 @@ -83662,7 +83699,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i95 = load ptr, ptr %44, align 8 %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 %45 = load ptr, ptr %vfn.i.i.i96, align 8 - call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #27 + call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #28 br label %_ZN7testing7MessageD2Ev.exit97 _ZN7testing7MessageD2Ev.exit97: ; preds = %ehcleanup76, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 @@ -83676,8 +83713,8 @@ if.end77: ; preds = %invoke.cont61, %_ZN br i1 %cmp.not.i.i99, label %_ZN7testing15AssertionResultD2Ev.exit101, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i100 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i100: ; preds = %if.end77 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #27 - call void @_ZdlPv(ptr noundef nonnull %46) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #28 + call void @_ZdlPv(ptr noundef nonnull %46) #29 br label %_ZN7testing15AssertionResultD2Ev.exit101 _ZN7testing15AssertionResultD2Ev.exit101: ; preds = %if.end77, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i100 @@ -83735,7 +83772,7 @@ invoke.cont83: ; preds = %if.then.i.i108, %if ehcleanup78: ; preds = %_ZN7testing7MessageD2Ev.exit97, %lpad66 %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit97 ], [ %41, %lpad66 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup179 if.else86: ; preds = %invoke.cont83 @@ -83749,7 +83786,7 @@ invoke.cont89: ; preds = %if.else86 br i1 %cmp.i.i.not.i.i113, label %invoke.cont92, label %cond.true.i.i114 cond.true.i.i114: ; preds = %invoke.cont89 - %call4.i.i115 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %55) #27 + %call4.i.i115 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %55) #28 br label %invoke.cont92 invoke.cont92: ; preds = %cond.true.i.i114, %invoke.cont89 @@ -83762,7 +83799,7 @@ invoke.cont94: ; preds = %invoke.cont92 to label %invoke.cont96 unwind label %lpad95 invoke.cont96: ; preds = %invoke.cont94 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #28 %56 = load ptr, ptr %ref.tmp87, align 8 %cmp.not.i.i118 = icmp eq ptr %56, null br i1 %cmp.not.i.i118, label %_ZN7testing7MessageD2Ev.exit122, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 @@ -83771,7 +83808,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i120 = load ptr, ptr %56, align 8 %vfn.i.i.i121 = getelementptr inbounds ptr, ptr %vtable.i.i.i120, i64 1 %57 = load ptr, ptr %vfn.i.i.i121, align 8 - call void %57(ptr noundef nonnull align 8 dereferenceable(128) %56) #27 + call void %57(ptr noundef nonnull align 8 dereferenceable(128) %56) #28 br label %_ZN7testing7MessageD2Ev.exit122 _ZN7testing7MessageD2Ev.exit122: ; preds = %invoke.cont96, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 @@ -83791,7 +83828,7 @@ lpad91: ; preds = %invoke.cont92 lpad95: ; preds = %invoke.cont94 %60 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90) #28 br label %ehcleanup98 ehcleanup98: ; preds = %lpad95, %lpad91 @@ -83804,7 +83841,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i125 = load ptr, ptr %61, align 8 %vfn.i.i.i126 = getelementptr inbounds ptr, ptr %vtable.i.i.i125, i64 1 %62 = load ptr, ptr %vfn.i.i.i126, align 8 - call void %62(ptr noundef nonnull align 8 dereferenceable(128) %61) #27 + call void %62(ptr noundef nonnull align 8 dereferenceable(128) %61) #28 br label %_ZN7testing7MessageD2Ev.exit127 _ZN7testing7MessageD2Ev.exit127: ; preds = %ehcleanup98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124 @@ -83818,8 +83855,8 @@ if.end99: ; preds = %invoke.cont83, %_ZN br i1 %cmp.not.i.i129, label %_ZN7testing15AssertionResultD2Ev.exit131, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130: ; preds = %if.end99 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #27 - call void @_ZdlPv(ptr noundef nonnull %63) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #28 + call void @_ZdlPv(ptr noundef nonnull %63) #29 br label %_ZN7testing15AssertionResultD2Ev.exit131 _ZN7testing15AssertionResultD2Ev.exit131: ; preds = %if.end99, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130 @@ -83846,25 +83883,25 @@ if.then.i.i137: ; preds = %_ZN7testing15Assert br i1 %cmp28.i.i.i.i, label %while.body.i.i.i.i, label %while.end.i.i.i.i while.body.i.i.i.i: ; preds = %if.then.i.i137, %while.body.i.i.i.i - %__holeIndex.addr.029.i.i.i.i = phi i64 [ %spec.select.i.i.i.i142, %while.body.i.i.i.i ], [ 0, %if.then.i.i137 ] - %add.i.i.i.i139 = shl i64 %__holeIndex.addr.029.i.i.i.i, 1 - %mul.i.i.i.i = add i64 %add.i.i.i.i139, 2 - %add.ptr.i.i.i.i.i140 = getelementptr inbounds i32, ptr %64, i64 %mul.i.i.i.i - %sub3.i.i.i.i = or disjoint i64 %add.i.i.i.i139, 1 + %__holeIndex.addr.029.i.i.i.i = phi i64 [ %spec.select.i.i.i.i143, %while.body.i.i.i.i ], [ 0, %if.then.i.i137 ] + %add.i.i.i.i140 = shl i64 %__holeIndex.addr.029.i.i.i.i, 1 + %mul.i.i.i.i = add i64 %add.i.i.i.i140, 2 + %add.ptr.i.i.i.i.i141 = getelementptr inbounds i32, ptr %64, i64 %mul.i.i.i.i + %sub3.i.i.i.i = or disjoint i64 %add.i.i.i.i140, 1 %add.ptr.i17.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %sub3.i.i.i.i - %68 = load i32, ptr %add.ptr.i.i.i.i.i140, align 4 + %68 = load i32, ptr %add.ptr.i.i.i.i.i141, align 4 %69 = load i32, ptr %add.ptr.i17.i.i.i.i, align 4 - %cmp.i.i.i.i.i141 = icmp slt i32 %68, %69 - %spec.select.i.i.i.i142 = select i1 %cmp.i.i.i.i.i141, i64 %sub3.i.i.i.i, i64 %mul.i.i.i.i - %add.ptr.i18.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %spec.select.i.i.i.i142 + %cmp.i.i.i.i.i142 = icmp slt i32 %68, %69 + %spec.select.i.i.i.i143 = select i1 %cmp.i.i.i.i.i142, i64 %sub3.i.i.i.i, i64 %mul.i.i.i.i + %add.ptr.i18.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %spec.select.i.i.i.i143 %70 = load i32, ptr %add.ptr.i18.i.i.i.i, align 4 %add.ptr.i19.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %__holeIndex.addr.029.i.i.i.i store i32 %70, ptr %add.ptr.i19.i.i.i.i, align 4 - %cmp.i.i.i.i143 = icmp slt i64 %spec.select.i.i.i.i142, %div.i.i.i.i - br i1 %cmp.i.i.i.i143, label %while.body.i.i.i.i, label %while.end.i.i.i.i, !llvm.loop !75 + %cmp.i.i.i.i144 = icmp slt i64 %spec.select.i.i.i.i143, %div.i.i.i.i + br i1 %cmp.i.i.i.i144, label %while.body.i.i.i.i, label %while.end.i.i.i.i, !llvm.loop !75 while.end.i.i.i.i: ; preds = %while.body.i.i.i.i, %if.then.i.i137 - %__holeIndex.addr.0.lcssa.i.i.i.i = phi i64 [ 0, %if.then.i.i137 ], [ %spec.select.i.i.i.i142, %while.body.i.i.i.i ] + %__holeIndex.addr.0.lcssa.i.i.i.i = phi i64 [ 0, %if.then.i.i137 ], [ %spec.select.i.i.i.i143, %while.body.i.i.i.i ] %71 = and i64 %sub.ptr.sub.i.i.i.i, 4 %cmp16.i.i.i.i = icmp eq i64 %71, 0 br i1 %cmp16.i.i.i.i, label %land.lhs.true.i.i.i.i, label %if.end33.i.i.i.i @@ -83893,8 +83930,8 @@ land.rhs.i.i.i.i.i: ; preds = %if.end33.i.i.i.i, % %__holeIndex.addr.017.i.i.i.i.i = phi i64 [ %__parent.018.i.i34.i.i.i, %while.body.i.i.i.i.i ], [ %__holeIndex.addr.1.i.i.i.i, %if.end33.i.i.i.i ] %__parent.018.in.i.i.i.i.i = add nsw i64 %__holeIndex.addr.017.i.i.i.i.i, -1 %__parent.018.i.i34.i.i.i = lshr i64 %__parent.018.in.i.i.i.i.i, 1 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %__parent.018.i.i34.i.i.i - %73 = load i32, ptr %add.ptr.i.i.i.i.i.i, align 4 + %add.ptr.i.i.i.i.i.i139 = getelementptr inbounds i32, ptr %64, i64 %__parent.018.i.i34.i.i.i + %73 = load i32, ptr %add.ptr.i.i.i.i.i.i139, align 4 %cmp.i.i.i.i.i.i = icmp slt i32 %73, %66 br i1 %cmp.i.i.i.i.i.i, label %while.body.i.i.i.i.i, label %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i @@ -83908,34 +83945,34 @@ _ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops1 %__holeIndex.addr.0.lcssa.i.i.i.i.i = phi i64 [ %__holeIndex.addr.1.i.i.i.i, %if.end33.i.i.i.i ], [ %__holeIndex.addr.017.i.i.i.i.i, %land.rhs.i.i.i.i.i ], [ 0, %while.body.i.i.i.i.i ] %add.ptr.i9.i.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i store i32 %66, ptr %add.ptr.i9.i.i.i.i.i, align 4 - %.pre258 = load ptr, ptr %heap, align 8 + %.pre259 = load ptr, ptr %heap, align 8 br label %invoke.cont101 invoke.cont101: ; preds = %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i, %_ZN7testing15AssertionResultD2Ev.exit131 - %74 = phi ptr [ %.pre258, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i ], [ %64, %_ZN7testing15AssertionResultD2Ev.exit131 ] + %74 = phi ptr [ %.pre259, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i ], [ %64, %_ZN7testing15AssertionResultD2Ev.exit131 ] store i32 4, ptr %ref.tmp103, align 4 %add.ptr.i = getelementptr inbounds i32, ptr %74, i64 3 %75 = load i32, ptr %add.ptr.i, align 4, !noalias !1888 - %cmp.i.i144 = icmp eq i32 %75, 4 - br i1 %cmp.i.i144, label %if.then.i.i146, label %if.end.i.i145 + %cmp.i.i145 = icmp eq i32 %75, 4 + br i1 %cmp.i.i145, label %if.then.i.i147, label %if.end.i.i146 -if.then.i.i146: ; preds = %invoke.cont101 +if.then.i.i147: ; preds = %invoke.cont101 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont105 unwind label %lpad5 -if.end.i.i145: ; preds = %invoke.cont101 +if.end.i.i146: ; preds = %invoke.cont101 invoke void @_ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.362, ptr noundef nonnull @.str.476, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp103, ptr noundef nonnull align 4 dereferenceable(4) %add.ptr.i) to label %invoke.cont105 unwind label %lpad5 -invoke.cont105: ; preds = %if.then.i.i146, %if.end.i.i145 +invoke.cont105: ; preds = %if.then.i.i147, %if.end.i.i146 %76 = load i8, ptr %gtest_ar102, align 8 %77 = and i8 %76, 1 - %tobool.i150.not = icmp eq i8 %77, 0 - br i1 %tobool.i150.not, label %if.else108, label %if.end121 + %tobool.i151.not = icmp eq i8 %77, 0 + br i1 %tobool.i151.not, label %if.else108, label %if.end121 ehcleanup100: ; preds = %_ZN7testing7MessageD2Ev.exit127, %lpad88 %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit127 ], [ %58, %lpad88 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar80) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar80) #28 br label %ehcleanup179 if.else108: ; preds = %invoke.cont105 @@ -83943,18 +83980,18 @@ if.else108: ; preds = %invoke.cont105 to label %invoke.cont111 unwind label %lpad110 invoke.cont111: ; preds = %if.else108 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %78 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %78, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont114, label %cond.true.i.i153 + %message_.i.i152 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %78 = load ptr, ptr %message_.i.i152, align 8 + %cmp.i.i.not.i.i153 = icmp eq ptr %78, null + br i1 %cmp.i.i.not.i.i153, label %invoke.cont114, label %cond.true.i.i154 -cond.true.i.i153: ; preds = %invoke.cont111 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #27 +cond.true.i.i154: ; preds = %invoke.cont111 + %call4.i.i155 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #28 br label %invoke.cont114 -invoke.cont114: ; preds = %cond.true.i.i153, %invoke.cont111 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str.255, %invoke.cont111 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1086, ptr noundef %cond.i.i155) +invoke.cont114: ; preds = %cond.true.i.i154, %invoke.cont111 + %cond.i.i156 = phi ptr [ %call4.i.i155, %cond.true.i.i154 ], [ @.str.255, %invoke.cont111 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1086, ptr noundef %cond.i.i156) to label %invoke.cont116 unwind label %lpad113 invoke.cont116: ; preds = %invoke.cont114 @@ -83962,19 +83999,19 @@ invoke.cont116: ; preds = %invoke.cont114 to label %invoke.cont118 unwind label %lpad117 invoke.cont118: ; preds = %invoke.cont116 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #28 %79 = load ptr, ptr %ref.tmp109, align 8 - %cmp.not.i.i157 = icmp eq ptr %79, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i158 = icmp eq ptr %79, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont118 - %vtable.i.i.i159 = load ptr, ptr %79, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %80 = load ptr, ptr %vfn.i.i.i160, align 8 - call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #27 - br label %_ZN7testing7MessageD2Ev.exit161 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %invoke.cont118 + %vtable.i.i.i160 = load ptr, ptr %79, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %80 = load ptr, ptr %vfn.i.i.i161, align 8 + call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #28 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont118, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit162: ; preds = %invoke.cont118, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp109, align 8 br label %if.end121 @@ -83991,110 +84028,110 @@ lpad113: ; preds = %invoke.cont114 lpad117: ; preds = %invoke.cont116 %83 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp112) #28 br label %ehcleanup120 ehcleanup120: ; preds = %lpad117, %lpad113 %.pn14 = phi { ptr, i32 } [ %83, %lpad117 ], [ %82, %lpad113 ] %84 = load ptr, ptr %ref.tmp109, align 8 - %cmp.not.i.i162 = icmp eq ptr %84, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i163 = icmp eq ptr %84, null + br i1 %cmp.not.i.i163, label %_ZN7testing7MessageD2Ev.exit167, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup120 - %vtable.i.i.i164 = load ptr, ptr %84, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %85 = load ptr, ptr %vfn.i.i.i165, align 8 - call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #27 - br label %_ZN7testing7MessageD2Ev.exit166 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164: ; preds = %ehcleanup120 + %vtable.i.i.i165 = load ptr, ptr %84, align 8 + %vfn.i.i.i166 = getelementptr inbounds ptr, ptr %vtable.i.i.i165, i64 1 + %85 = load ptr, ptr %vfn.i.i.i166, align 8 + call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #28 + br label %_ZN7testing7MessageD2Ev.exit167 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup120, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit167: ; preds = %ehcleanup120, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 store ptr null, ptr %ref.tmp109, align 8 br label %ehcleanup122 -if.end121: ; preds = %invoke.cont105, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %86 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %86, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end121: ; preds = %invoke.cont105, %_ZN7testing7MessageD2Ev.exit162 + %message_.i168 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %86 = load ptr, ptr %message_.i168, align 8 + %cmp.not.i.i169 = icmp eq ptr %86, null + br i1 %cmp.not.i.i169, label %_ZN7testing15AssertionResultD2Ev.exit171, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end121 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #27 - call void @_ZdlPv(ptr noundef nonnull %86) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit170 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170: ; preds = %if.end121 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #28 + call void @_ZdlPv(ptr noundef nonnull %86) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit171 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end121, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit171: ; preds = %if.end121, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 + store ptr null, ptr %message_.i168, align 8 %87 = load ptr, ptr %heap, align 8 %88 = load ptr, ptr %_M_finish.i.i, align 8 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__comp.i.i171) - invoke void @_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_RT0_(ptr %87, ptr %88, ptr noundef nonnull align 1 dereferenceable(1) %__comp.i.i171) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__comp.i.i172) + invoke void @_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_RT0_(ptr %87, ptr %88, ptr noundef nonnull align 1 dereferenceable(1) %__comp.i.i172) to label %invoke.cont123 unwind label %lpad5 -invoke.cont123: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__comp.i.i171) +invoke.cont123: ; preds = %_ZN7testing15AssertionResultD2Ev.exit171 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__comp.i.i172) %89 = load ptr, ptr %heap, align 8 %90 = load ptr, ptr %_M_finish.i.i, align 8 %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %89 to i64 %sub.ptr.lhs.cast.i2.i.i.i = ptrtoint ptr %90 to i64 %sub.ptr.sub.i3.i.i.i = sub i64 %sub.ptr.lhs.cast.i2.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %cmp4.i.i.i = icmp sgt i64 %sub.ptr.sub.i3.i.i.i, 4 - br i1 %cmp4.i.i.i, label %while.body.i.i.i176, label %invoke.cont133 + br i1 %cmp4.i.i.i, label %while.body.i.i.i177, label %invoke.cont133 -while.body.i.i.i176: ; preds = %invoke.cont123, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i.i +while.body.i.i.i177: ; preds = %invoke.cont123, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i.i %__last.sroa.0.05.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i.i ], [ %90, %invoke.cont123 ] %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %__last.sroa.0.05.i.i.i, i64 -1 %91 = load i32, ptr %incdec.ptr.i.i.i.i, align 4 %92 = load i32, ptr %89, align 4 store i32 %92, ptr %incdec.ptr.i.i.i.i, align 4 - %sub.ptr.lhs.cast.i.i.i.i.i177 = ptrtoint ptr %incdec.ptr.i.i.i.i to i64 - %sub.ptr.sub.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i177, %sub.ptr.rhs.cast.i.i.i.i - %sub.ptr.div.i.i.i.i.i179 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i178, 2 - %sub.i.i.i.i.i = add nsw i64 %sub.ptr.div.i.i.i.i.i179, -1 + %sub.ptr.lhs.cast.i.i.i.i.i178 = ptrtoint ptr %incdec.ptr.i.i.i.i to i64 + %sub.ptr.sub.i.i.i.i.i179 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i178, %sub.ptr.rhs.cast.i.i.i.i + %sub.ptr.div.i.i.i.i.i180 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i179, 2 + %sub.i.i.i.i.i = add nsw i64 %sub.ptr.div.i.i.i.i.i180, -1 %div.i.i.i.i.i = sdiv i64 %sub.i.i.i.i.i, 2 - %cmp28.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i179, 2 - br i1 %cmp28.i.i.i.i.i, label %while.body.i.i.i.i.i183, label %while.end.i.i.i.i.i + %cmp28.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i180, 2 + br i1 %cmp28.i.i.i.i.i, label %while.body.i.i.i.i.i184, label %while.end.i.i.i.i.i -while.body.i.i.i.i.i183: ; preds = %while.body.i.i.i176, %while.body.i.i.i.i.i183 - %__holeIndex.addr.029.i.i.i.i.i = phi i64 [ %spec.select.i.i.i.i.i, %while.body.i.i.i.i.i183 ], [ 0, %while.body.i.i.i176 ] +while.body.i.i.i.i.i184: ; preds = %while.body.i.i.i177, %while.body.i.i.i.i.i184 + %__holeIndex.addr.029.i.i.i.i.i = phi i64 [ %spec.select.i.i.i.i.i, %while.body.i.i.i.i.i184 ], [ 0, %while.body.i.i.i177 ] %add.i.i.i.i.i = shl i64 %__holeIndex.addr.029.i.i.i.i.i, 1 %mul.i.i.i.i.i = add i64 %add.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i184 = getelementptr inbounds i32, ptr %89, i64 %mul.i.i.i.i.i + %add.ptr.i.i.i.i.i.i185 = getelementptr inbounds i32, ptr %89, i64 %mul.i.i.i.i.i %sub3.i.i.i.i.i = or disjoint i64 %add.i.i.i.i.i, 1 %add.ptr.i17.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %sub3.i.i.i.i.i - %93 = load i32, ptr %add.ptr.i.i.i.i.i.i184, align 4 + %93 = load i32, ptr %add.ptr.i.i.i.i.i.i185, align 4 %94 = load i32, ptr %add.ptr.i17.i.i.i.i.i, align 4 - %cmp.i.i.i.i.i.i185 = icmp slt i32 %93, %94 - %spec.select.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i185, i64 %sub3.i.i.i.i.i, i64 %mul.i.i.i.i.i + %cmp.i.i.i.i.i.i186 = icmp slt i32 %93, %94 + %spec.select.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i186, i64 %sub3.i.i.i.i.i, i64 %mul.i.i.i.i.i %add.ptr.i18.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %spec.select.i.i.i.i.i %95 = load i32, ptr %add.ptr.i18.i.i.i.i.i, align 4 %add.ptr.i19.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %__holeIndex.addr.029.i.i.i.i.i store i32 %95, ptr %add.ptr.i19.i.i.i.i.i, align 4 - %cmp.i.i.i.i.i186 = icmp slt i64 %spec.select.i.i.i.i.i, %div.i.i.i.i.i - br i1 %cmp.i.i.i.i.i186, label %while.body.i.i.i.i.i183, label %while.end.i.i.i.i.i, !llvm.loop !75 + %cmp.i.i.i.i.i187 = icmp slt i64 %spec.select.i.i.i.i.i, %div.i.i.i.i.i + br i1 %cmp.i.i.i.i.i187, label %while.body.i.i.i.i.i184, label %while.end.i.i.i.i.i, !llvm.loop !75 -while.end.i.i.i.i.i: ; preds = %while.body.i.i.i.i.i183, %while.body.i.i.i176 - %__holeIndex.addr.0.lcssa.i.i.i.i.i180 = phi i64 [ 0, %while.body.i.i.i176 ], [ %spec.select.i.i.i.i.i, %while.body.i.i.i.i.i183 ] - %96 = and i64 %sub.ptr.sub.i.i.i.i.i178, 4 - %cmp16.i.i.i.i.i181 = icmp eq i64 %96, 0 - br i1 %cmp16.i.i.i.i.i181, label %land.lhs.true.i.i.i.i.i, label %if.end33.i.i.i.i.i +while.end.i.i.i.i.i: ; preds = %while.body.i.i.i.i.i184, %while.body.i.i.i177 + %__holeIndex.addr.0.lcssa.i.i.i.i.i181 = phi i64 [ 0, %while.body.i.i.i177 ], [ %spec.select.i.i.i.i.i, %while.body.i.i.i.i.i184 ] + %96 = and i64 %sub.ptr.sub.i.i.i.i.i179, 4 + %cmp16.i.i.i.i.i182 = icmp eq i64 %96, 0 + br i1 %cmp16.i.i.i.i.i182, label %land.lhs.true.i.i.i.i.i, label %if.end33.i.i.i.i.i land.lhs.true.i.i.i.i.i: ; preds = %while.end.i.i.i.i.i - %sub17.i.i.i.i.i = add nsw i64 %sub.ptr.div.i.i.i.i.i179, -2 + %sub17.i.i.i.i.i = add nsw i64 %sub.ptr.div.i.i.i.i.i180, -2 %div18.i.i.i.i.i = ashr exact i64 %sub17.i.i.i.i.i, 1 - %cmp19.i.i.i.i.i = icmp eq i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i180, %div18.i.i.i.i.i + %cmp19.i.i.i.i.i = icmp eq i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i181, %div18.i.i.i.i.i br i1 %cmp19.i.i.i.i.i, label %if.then20.i.i.i.i.i, label %if.end33.i.i.i.i.i if.then20.i.i.i.i.i: ; preds = %land.lhs.true.i.i.i.i.i - %add21.i.i.i.i.i = shl i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i180, 1 + %add21.i.i.i.i.i = shl i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i181, 1 %sub24.i.i.i.i.i = or disjoint i64 %add21.i.i.i.i.i, 1 %add.ptr.i20.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %sub24.i.i.i.i.i %97 = load i32, ptr %add.ptr.i20.i.i.i.i.i, align 4 - %add.ptr.i21.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i180 + %add.ptr.i21.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i181 store i32 %97, ptr %add.ptr.i21.i.i.i.i.i, align 4 br label %if.end33.i.i.i.i.i if.end33.i.i.i.i.i: ; preds = %if.then20.i.i.i.i.i, %land.lhs.true.i.i.i.i.i, %while.end.i.i.i.i.i - %__holeIndex.addr.1.i.i.i.i.i = phi i64 [ %sub24.i.i.i.i.i, %if.then20.i.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i.i180, %land.lhs.true.i.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i.i180, %while.end.i.i.i.i.i ] + %__holeIndex.addr.1.i.i.i.i.i = phi i64 [ %sub24.i.i.i.i.i, %if.then20.i.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i.i181, %land.lhs.true.i.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i.i181, %while.end.i.i.i.i.i ] %cmp16.i.i.i.i.i.i = icmp sgt i64 %__holeIndex.addr.1.i.i.i.i.i, 0 br i1 %cmp16.i.i.i.i.i.i, label %land.rhs.i.i.i.i.i.i, label %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i.i @@ -84117,8 +84154,8 @@ _ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops1 %__holeIndex.addr.0.lcssa.i.i.i.i.i.i = phi i64 [ %__holeIndex.addr.1.i.i.i.i.i, %if.end33.i.i.i.i.i ], [ 0, %while.body.i.i.i.i.i.i ], [ %__holeIndex.addr.017.i.i.i.i.i.i, %land.rhs.i.i.i.i.i.i ] %add.ptr.i9.i.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i.i store i32 %91, ptr %add.ptr.i9.i.i.i.i.i.i, align 4 - %cmp.i.i.i182 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i178, 4 - br i1 %cmp.i.i.i182, label %while.body.i.i.i176, label %invoke.cont133, !llvm.loop !77 + %cmp.i.i.i183 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i179, 4 + br i1 %cmp.i.i.i183, label %while.body.i.i.i177, label %invoke.cont133, !llvm.loop !77 invoke.cont133: ; preds = %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_less_iterEEvT_S9_S9_RT0_.exit.i.i.i, %invoke.cont123 store <4 x i32> , ptr %ref.tmp126, align 16 @@ -84128,12 +84165,12 @@ invoke.cont133: ; preds = %_ZSt10__pop_heapIN9 invoke.cont134: ; preds = %invoke.cont133 %99 = load i8, ptr %gtest_ar125, align 8 %100 = and i8 %99, 1 - %tobool.i188.not = icmp eq i8 %100, 0 - br i1 %tobool.i188.not, label %if.else137, label %if.end150 + %tobool.i189.not = icmp eq i8 %100, 0 + br i1 %tobool.i189.not, label %if.else137, label %if.end150 -ehcleanup122: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad110 - %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit166 ], [ %81, %lpad110 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #27 +ehcleanup122: ; preds = %_ZN7testing7MessageD2Ev.exit167, %lpad110 + %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit167 ], [ %81, %lpad110 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #28 br label %ehcleanup179 if.else137: ; preds = %invoke.cont134 @@ -84141,18 +84178,18 @@ if.else137: ; preds = %invoke.cont134 to label %invoke.cont140 unwind label %lpad139 invoke.cont140: ; preds = %if.else137 - %message_.i.i189 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar125, i64 0, i32 1 - %101 = load ptr, ptr %message_.i.i189, align 8 - %cmp.i.i.not.i.i190 = icmp eq ptr %101, null - br i1 %cmp.i.i.not.i.i190, label %invoke.cont143, label %cond.true.i.i191 + %message_.i.i190 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar125, i64 0, i32 1 + %101 = load ptr, ptr %message_.i.i190, align 8 + %cmp.i.i.not.i.i191 = icmp eq ptr %101, null + br i1 %cmp.i.i.not.i.i191, label %invoke.cont143, label %cond.true.i.i192 -cond.true.i.i191: ; preds = %invoke.cont140 - %call4.i.i192 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %101) #27 +cond.true.i.i192: ; preds = %invoke.cont140 + %call4.i.i193 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %101) #28 br label %invoke.cont143 -invoke.cont143: ; preds = %cond.true.i.i191, %invoke.cont140 - %cond.i.i193 = phi ptr [ %call4.i.i192, %cond.true.i.i191 ], [ @.str.255, %invoke.cont140 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp141, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1089, ptr noundef %cond.i.i193) +invoke.cont143: ; preds = %cond.true.i.i192, %invoke.cont140 + %cond.i.i194 = phi ptr [ %call4.i.i193, %cond.true.i.i192 ], [ @.str.255, %invoke.cont140 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp141, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1089, ptr noundef %cond.i.i194) to label %invoke.cont145 unwind label %lpad142 invoke.cont145: ; preds = %invoke.cont143 @@ -84160,19 +84197,19 @@ invoke.cont145: ; preds = %invoke.cont143 to label %invoke.cont147 unwind label %lpad146 invoke.cont147: ; preds = %invoke.cont145 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp141) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp141) #28 %102 = load ptr, ptr %ref.tmp138, align 8 - %cmp.not.i.i195 = icmp eq ptr %102, null - br i1 %cmp.not.i.i195, label %_ZN7testing7MessageD2Ev.exit199, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196 + %cmp.not.i.i196 = icmp eq ptr %102, null + br i1 %cmp.not.i.i196, label %_ZN7testing7MessageD2Ev.exit200, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196: ; preds = %invoke.cont147 - %vtable.i.i.i197 = load ptr, ptr %102, align 8 - %vfn.i.i.i198 = getelementptr inbounds ptr, ptr %vtable.i.i.i197, i64 1 - %103 = load ptr, ptr %vfn.i.i.i198, align 8 - call void %103(ptr noundef nonnull align 8 dereferenceable(128) %102) #27 - br label %_ZN7testing7MessageD2Ev.exit199 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197: ; preds = %invoke.cont147 + %vtable.i.i.i198 = load ptr, ptr %102, align 8 + %vfn.i.i.i199 = getelementptr inbounds ptr, ptr %vtable.i.i.i198, i64 1 + %103 = load ptr, ptr %vfn.i.i.i199, align 8 + call void %103(ptr noundef nonnull align 8 dereferenceable(128) %102) #28 + br label %_ZN7testing7MessageD2Ev.exit200 -_ZN7testing7MessageD2Ev.exit199: ; preds = %invoke.cont147, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196 +_ZN7testing7MessageD2Ev.exit200: ; preds = %invoke.cont147, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197 store ptr null, ptr %ref.tmp138, align 8 br label %if.end150 @@ -84189,79 +84226,79 @@ lpad142: ; preds = %invoke.cont143 lpad146: ; preds = %invoke.cont145 %106 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp141) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp141) #28 br label %ehcleanup149 ehcleanup149: ; preds = %lpad146, %lpad142 %.pn17 = phi { ptr, i32 } [ %106, %lpad146 ], [ %105, %lpad142 ] %107 = load ptr, ptr %ref.tmp138, align 8 - %cmp.not.i.i200 = icmp eq ptr %107, null - br i1 %cmp.not.i.i200, label %_ZN7testing7MessageD2Ev.exit204, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201 + %cmp.not.i.i201 = icmp eq ptr %107, null + br i1 %cmp.not.i.i201, label %_ZN7testing7MessageD2Ev.exit205, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201: ; preds = %ehcleanup149 - %vtable.i.i.i202 = load ptr, ptr %107, align 8 - %vfn.i.i.i203 = getelementptr inbounds ptr, ptr %vtable.i.i.i202, i64 1 - %108 = load ptr, ptr %vfn.i.i.i203, align 8 - call void %108(ptr noundef nonnull align 8 dereferenceable(128) %107) #27 - br label %_ZN7testing7MessageD2Ev.exit204 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202: ; preds = %ehcleanup149 + %vtable.i.i.i203 = load ptr, ptr %107, align 8 + %vfn.i.i.i204 = getelementptr inbounds ptr, ptr %vtable.i.i.i203, i64 1 + %108 = load ptr, ptr %vfn.i.i.i204, align 8 + call void %108(ptr noundef nonnull align 8 dereferenceable(128) %107) #28 + br label %_ZN7testing7MessageD2Ev.exit205 -_ZN7testing7MessageD2Ev.exit204: ; preds = %ehcleanup149, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201 +_ZN7testing7MessageD2Ev.exit205: ; preds = %ehcleanup149, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202 store ptr null, ptr %ref.tmp138, align 8 br label %ehcleanup151 -if.end150: ; preds = %invoke.cont134, %_ZN7testing7MessageD2Ev.exit199 - %message_.i205 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar125, i64 0, i32 1 - %109 = load ptr, ptr %message_.i205, align 8 - %cmp.not.i.i206 = icmp eq ptr %109, null - br i1 %cmp.not.i.i206, label %_ZN7testing15AssertionResultD2Ev.exit208, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207 +if.end150: ; preds = %invoke.cont134, %_ZN7testing7MessageD2Ev.exit200 + %message_.i206 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar125, i64 0, i32 1 + %109 = load ptr, ptr %message_.i206, align 8 + %cmp.not.i.i207 = icmp eq ptr %109, null + br i1 %cmp.not.i.i207, label %_ZN7testing15AssertionResultD2Ev.exit209, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207: ; preds = %if.end150 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #27 - call void @_ZdlPv(ptr noundef nonnull %109) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit208 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %if.end150 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #28 + call void @_ZdlPv(ptr noundef nonnull %109) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit209 -_ZN7testing15AssertionResultD2Ev.exit208: ; preds = %if.end150, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207 - store ptr null, ptr %message_.i205, align 8 +_ZN7testing15AssertionResultD2Ev.exit209: ; preds = %if.end150, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + store ptr null, ptr %message_.i206, align 8 %110 = load ptr, ptr %heap, align 8 %111 = load ptr, ptr %_M_finish.i.i, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i210 = ptrtoint ptr %111 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i211 = ptrtoint ptr %110 to i64 - %sub.ptr.sub.i.i.i.i.i.i212 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i210, %sub.ptr.rhs.cast.i.i.i.i.i.i211 - %sub.ptr.div.i.i.i.i.i.i213 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i212, 2 - %cmp9.i.i.i.i214 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i213, 1 - br i1 %cmp9.i.i.i.i214, label %for.body.i.i.i.i218, label %invoke.cont154 - -for.body.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit208, %if.end.i.i.i.i224 - %__parent.011.i.i.i.i219 = phi i64 [ %spec.select.i.i.i.i226, %if.end.i.i.i.i224 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit208 ] - %__child.010.i.i.i.i220 = phi i64 [ %inc11.i.i.i.i227, %if.end.i.i.i.i224 ], [ 1, %_ZN7testing15AssertionResultD2Ev.exit208 ] - %add.ptr.i.i.i.i.i221 = getelementptr inbounds i32, ptr %110, i64 %__parent.011.i.i.i.i219 - %add.ptr.i7.i.i.i.i222 = getelementptr inbounds i32, ptr %110, i64 %__child.010.i.i.i.i220 - %112 = load i32, ptr %add.ptr.i.i.i.i.i221, align 4 - %113 = load i32, ptr %add.ptr.i7.i.i.i.i222, align 4 - %cmp.i.i.i.i.i223 = icmp slt i32 %112, %113 - br i1 %cmp.i.i.i.i.i223, label %invoke.cont154, label %if.end.i.i.i.i224 - -if.end.i.i.i.i224: ; preds = %for.body.i.i.i.i218 - %and.i.i.i.i225 = and i64 %__child.010.i.i.i.i220, 1 - %114 = xor i64 %and.i.i.i.i225, 1 - %spec.select.i.i.i.i226 = add i64 %114, %__parent.011.i.i.i.i219 - %inc11.i.i.i.i227 = add nuw nsw i64 %__child.010.i.i.i.i220, 1 - %exitcond.not.i.i.i.i228 = icmp eq i64 %inc11.i.i.i.i227, %sub.ptr.div.i.i.i.i.i.i213 - br i1 %exitcond.not.i.i.i.i228, label %invoke.cont154, label %for.body.i.i.i.i218, !llvm.loop !1881 - -invoke.cont154: ; preds = %if.end.i.i.i.i224, %for.body.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit208 - %retval.0.i.i.i.i215 = phi i64 [ %sub.ptr.div.i.i.i.i.i.i213, %_ZN7testing15AssertionResultD2Ev.exit208 ], [ %sub.ptr.div.i.i.i.i.i.i213, %if.end.i.i.i.i224 ], [ %__child.010.i.i.i.i220, %for.body.i.i.i.i218 ] - %add.ptr.i.i.i.i216 = getelementptr inbounds i32, ptr %110, i64 %retval.0.i.i.i.i215 - %cmp.i.i.i217 = icmp ne ptr %add.ptr.i.i.i.i216, %111 - %frombool157 = zext i1 %cmp.i.i.i217 to i8 + %sub.ptr.lhs.cast.i.i.i.i.i.i211 = ptrtoint ptr %111 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i212 = ptrtoint ptr %110 to i64 + %sub.ptr.sub.i.i.i.i.i.i213 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i211, %sub.ptr.rhs.cast.i.i.i.i.i.i212 + %sub.ptr.div.i.i.i.i.i.i214 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i213, 2 + %cmp9.i.i.i.i215 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i214, 1 + br i1 %cmp9.i.i.i.i215, label %for.body.i.i.i.i219, label %invoke.cont154 + +for.body.i.i.i.i219: ; preds = %_ZN7testing15AssertionResultD2Ev.exit209, %if.end.i.i.i.i225 + %__parent.011.i.i.i.i220 = phi i64 [ %spec.select.i.i.i.i227, %if.end.i.i.i.i225 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit209 ] + %__child.010.i.i.i.i221 = phi i64 [ %inc11.i.i.i.i228, %if.end.i.i.i.i225 ], [ 1, %_ZN7testing15AssertionResultD2Ev.exit209 ] + %add.ptr.i.i.i.i.i222 = getelementptr inbounds i32, ptr %110, i64 %__parent.011.i.i.i.i220 + %add.ptr.i7.i.i.i.i223 = getelementptr inbounds i32, ptr %110, i64 %__child.010.i.i.i.i221 + %112 = load i32, ptr %add.ptr.i.i.i.i.i222, align 4 + %113 = load i32, ptr %add.ptr.i7.i.i.i.i223, align 4 + %cmp.i.i.i.i.i224 = icmp slt i32 %112, %113 + br i1 %cmp.i.i.i.i.i224, label %invoke.cont154, label %if.end.i.i.i.i225 + +if.end.i.i.i.i225: ; preds = %for.body.i.i.i.i219 + %and.i.i.i.i226 = and i64 %__child.010.i.i.i.i221, 1 + %114 = xor i64 %and.i.i.i.i226, 1 + %spec.select.i.i.i.i227 = add i64 %114, %__parent.011.i.i.i.i220 + %inc11.i.i.i.i228 = add nuw nsw i64 %__child.010.i.i.i.i221, 1 + %exitcond.not.i.i.i.i229 = icmp eq i64 %inc11.i.i.i.i228, %sub.ptr.div.i.i.i.i.i.i214 + br i1 %exitcond.not.i.i.i.i229, label %invoke.cont154, label %for.body.i.i.i.i219, !llvm.loop !1881 + +invoke.cont154: ; preds = %if.end.i.i.i.i225, %for.body.i.i.i.i219, %_ZN7testing15AssertionResultD2Ev.exit209 + %retval.0.i.i.i.i216 = phi i64 [ %sub.ptr.div.i.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit209 ], [ %sub.ptr.div.i.i.i.i.i.i214, %if.end.i.i.i.i225 ], [ %__child.010.i.i.i.i221, %for.body.i.i.i.i219 ] + %add.ptr.i.i.i.i217 = getelementptr inbounds i32, ptr %110, i64 %retval.0.i.i.i.i216 + %cmp.i.i.i218 = icmp ne ptr %add.ptr.i.i.i.i217, %111 + %frombool157 = zext i1 %cmp.i.i.i218 to i8 store i8 %frombool157, ptr %gtest_ar_152, align 8 - %message_.i230 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_152, i64 0, i32 1 - store ptr null, ptr %message_.i230, align 8 - br i1 %cmp.i.i.i217, label %_ZN7testing15AssertionResultD2Ev.exit245, label %if.else161 + %message_.i231 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_152, i64 0, i32 1 + store ptr null, ptr %message_.i231, align 8 + br i1 %cmp.i.i.i218, label %_ZN7testing15AssertionResultD2Ev.exit246, label %if.else161 -ehcleanup151: ; preds = %_ZN7testing7MessageD2Ev.exit204, %lpad139 - %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit204 ], [ %104, %lpad139 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar125) #27 +ehcleanup151: ; preds = %_ZN7testing7MessageD2Ev.exit205, %lpad139 + %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit205 ], [ %104, %lpad139 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar125) #28 br label %ehcleanup179 if.else161: ; preds = %invoke.cont154 @@ -84273,7 +84310,7 @@ invoke.cont164: ; preds = %if.else161 to label %invoke.cont168 unwind label %lpad167 invoke.cont168: ; preds = %invoke.cont164 - %call169 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp166) #27 + %call169 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp166) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1090, ptr noundef %call169) to label %invoke.cont171 unwind label %lpad170 @@ -84282,17 +84319,17 @@ invoke.cont171: ; preds = %invoke.cont168 to label %invoke.cont173 unwind label %lpad172 invoke.cont173: ; preds = %invoke.cont171 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp166) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp166) #28 %115 = load ptr, ptr %ref.tmp162, align 8 - %cmp.not.i.i232 = icmp eq ptr %115, null - br i1 %cmp.not.i.i232, label %if.end177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233: ; preds = %invoke.cont173 - %vtable.i.i.i234 = load ptr, ptr %115, align 8 - %vfn.i.i.i235 = getelementptr inbounds ptr, ptr %vtable.i.i.i234, i64 1 - %116 = load ptr, ptr %vfn.i.i.i235, align 8 - call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #27 + %cmp.not.i.i233 = icmp eq ptr %115, null + br i1 %cmp.not.i.i233, label %if.end177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234: ; preds = %invoke.cont173 + %vtable.i.i.i235 = load ptr, ptr %115, align 8 + %vfn.i.i.i236 = getelementptr inbounds ptr, ptr %vtable.i.i.i235, i64 1 + %116 = load ptr, ptr %vfn.i.i.i236, align 8 + call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #28 br label %if.end177 lpad163: ; preds = %if.else161 @@ -84313,71 +84350,71 @@ lpad170: ; preds = %invoke.cont168 lpad172: ; preds = %invoke.cont171 %120 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #28 br label %ehcleanup175 ehcleanup175: ; preds = %lpad172, %lpad170 %.pn20 = phi { ptr, i32 } [ %120, %lpad172 ], [ %119, %lpad170 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp166) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp166) #28 br label %ehcleanup176 ehcleanup176: ; preds = %ehcleanup175, %lpad167 %.pn20.pn = phi { ptr, i32 } [ %.pn20, %ehcleanup175 ], [ %118, %lpad167 ] %121 = load ptr, ptr %ref.tmp162, align 8 - %cmp.not.i.i237 = icmp eq ptr %121, null - br i1 %cmp.not.i.i237, label %_ZN7testing7MessageD2Ev.exit241, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238 + %cmp.not.i.i238 = icmp eq ptr %121, null + br i1 %cmp.not.i.i238, label %_ZN7testing7MessageD2Ev.exit242, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238: ; preds = %ehcleanup176 - %vtable.i.i.i239 = load ptr, ptr %121, align 8 - %vfn.i.i.i240 = getelementptr inbounds ptr, ptr %vtable.i.i.i239, i64 1 - %122 = load ptr, ptr %vfn.i.i.i240, align 8 - call void %122(ptr noundef nonnull align 8 dereferenceable(128) %121) #27 - br label %_ZN7testing7MessageD2Ev.exit241 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239: ; preds = %ehcleanup176 + %vtable.i.i.i240 = load ptr, ptr %121, align 8 + %vfn.i.i.i241 = getelementptr inbounds ptr, ptr %vtable.i.i.i240, i64 1 + %122 = load ptr, ptr %vfn.i.i.i241, align 8 + call void %122(ptr noundef nonnull align 8 dereferenceable(128) %121) #28 + br label %_ZN7testing7MessageD2Ev.exit242 -_ZN7testing7MessageD2Ev.exit241: ; preds = %ehcleanup176, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238 +_ZN7testing7MessageD2Ev.exit242: ; preds = %ehcleanup176, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239 store ptr null, ptr %ref.tmp162, align 8 br label %ehcleanup178 -if.end177: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233, %invoke.cont173 +if.end177: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234, %invoke.cont173 store ptr null, ptr %ref.tmp162, align 8 - %.pr256 = load ptr, ptr %message_.i230, align 8 - %cmp.not.i.i243 = icmp eq ptr %.pr256, null - br i1 %cmp.not.i.i243, label %_ZN7testing15AssertionResultD2Ev.exit245, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244 + %.pr257 = load ptr, ptr %message_.i231, align 8 + %cmp.not.i.i244 = icmp eq ptr %.pr257, null + br i1 %cmp.not.i.i244, label %_ZN7testing15AssertionResultD2Ev.exit246, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244: ; preds = %if.end177 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr256) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr256) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit245 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245: ; preds = %if.end177 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr257) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr257) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit246 -_ZN7testing15AssertionResultD2Ev.exit245: ; preds = %invoke.cont154, %if.end177, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244 - store ptr null, ptr %message_.i230, align 8 +_ZN7testing15AssertionResultD2Ev.exit246: ; preds = %invoke.cont154, %if.end177, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245 + store ptr null, ptr %message_.i231, align 8 %123 = load ptr, ptr %heap, align 8 - %tobool.not.i.i.i246 = icmp eq ptr %123, null - br i1 %tobool.not.i.i.i246, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i247 = icmp eq ptr %123, null + br i1 %tobool.not.i.i.i247, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit245 - call void @_ZdlPv(ptr noundef nonnull %123) #28 +if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit246 + call void @_ZdlPv(ptr noundef nonnull %123) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit245, %if.then.i.i.i +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit246, %if.then.i.i.i ret void -ehcleanup178: ; preds = %_ZN7testing7MessageD2Ev.exit241, %lpad163 - %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit241 ], [ %117, %lpad163 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_152) #27 +ehcleanup178: ; preds = %_ZN7testing7MessageD2Ev.exit242, %lpad163 + %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit242 ], [ %117, %lpad163 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_152) #28 br label %ehcleanup179 ehcleanup179: ; preds = %ehcleanup178, %ehcleanup151, %ehcleanup122, %ehcleanup100, %ehcleanup78, %ehcleanup49, %ehcleanup22, %lpad5 %.pn20.pn.pn.pn = phi { ptr, i32 } [ %.pn20.pn.pn, %ehcleanup178 ], [ %3, %lpad5 ], [ %.pn17.pn, %ehcleanup151 ], [ %.pn14.pn, %ehcleanup122 ], [ %.pn11.pn, %ehcleanup100 ], [ %.pn8.pn, %ehcleanup78 ], [ %.pn4.pn.pn, %ehcleanup49 ], [ %.pn.pn.pn, %ehcleanup22 ] %124 = load ptr, ptr %heap, align 8 - %tobool.not.i.i.i248 = icmp eq ptr %124, null - br i1 %tobool.not.i.i.i248, label %eh.resume, label %if.then.i.i.i249 + %tobool.not.i.i.i249 = icmp eq ptr %124, null + br i1 %tobool.not.i.i.i249, label %eh.resume, label %if.then.i.i.i250 -if.then.i.i.i249: ; preds = %ehcleanup179 - call void @_ZdlPv(ptr noundef nonnull %124) #28 +if.then.i.i.i250: ; preds = %ehcleanup179 + call void @_ZdlPv(ptr noundef nonnull %124) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i249, %ehcleanup179 +eh.resume: ; preds = %if.then.i.i.i250, %ehcleanup179 resume { ptr, i32 } %.pn20.pn.pn.pn } @@ -84390,14 +84427,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_138HeapOperationsTest_WithComparator_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_138HeapOperationsTest_WithComparator_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -84408,29 +84445,29 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_138HeapOperationsTest_WithComparator_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_138HeapOperationsTest_WithComparator_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal void @_ZN12_GLOBAL__N_138HeapOperationsTest_WithComparator_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %__cmp.i.i182 = alloca %"struct.__gnu_cxx::__ops::_Iter_comp_iter.188", align 1 + %__cmp.i.i183 = alloca %"struct.__gnu_cxx::__ops::_Iter_comp_iter.188", align 1 %__cmp.i.i = alloca %"struct.__gnu_cxx::__ops::_Iter_comp_iter.188", align 1 %heap = alloca %"class.std::vector", align 8 %gtest_ar_ = alloca %"class.testing::AssertionResult", align 8 @@ -84462,9 +84499,9 @@ entry: %ref.tmp171 = alloca %"class.testing::Message", align 8 %ref.tmp174 = alloca %"class.testing::internal::AssertHelper", align 8 %ref.tmp175 = alloca %"class.std::__cxx11::basic_string", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30 store ptr %call5.i.i.i.i2.i, ptr %heap, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %heap, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 3, ptr %call5.i.i.i.i2.i, align 4 @@ -84496,8 +84533,8 @@ if.end.i.i.i: ; preds = %for.body.i.i.i invoke.cont7.thread: ; preds = %if.end.i.i.i store i8 0, ptr %gtest_ar_, align 8 - %message_.i281 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i281, align 8 + %message_.i282 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i282, align 8 br label %if.else invoke.cont7: ; preds = %for.body.i.i.i @@ -84508,13 +84545,13 @@ invoke.cont7: ; preds = %for.body.i.i.i store ptr null, ptr %message_.i, align 8 br i1 %cmp.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %if.else -lpad6: ; preds = %_ZN7testing15AssertionResultD2Ev.exit181, %if.end.i.i156, %if.then.i.i157, %if.end.i.i121, %if.then.i.i122, %if.end.i.i, %if.then.i.i98, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %if.then.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont141 +lpad6: ; preds = %_ZN7testing15AssertionResultD2Ev.exit182, %if.end.i.i157, %if.then.i.i158, %if.end.i.i121, %if.then.i.i122, %if.end.i.i, %if.then.i.i98, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %if.then.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont141 %3 = landingpad { ptr, i32 } cleanup br label %ehcleanup188 if.else: ; preds = %invoke.cont7.thread, %invoke.cont7 - %message_.i282 = phi ptr [ %message_.i281, %invoke.cont7.thread ], [ %message_.i, %invoke.cont7 ] + %message_.i283 = phi ptr [ %message_.i282, %invoke.cont7.thread ], [ %message_.i, %invoke.cont7 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10) to label %invoke.cont12 unwind label %lpad11 @@ -84523,7 +84560,7 @@ invoke.cont12: ; preds = %if.else to label %invoke.cont16 unwind label %lpad15 invoke.cont16: ; preds = %invoke.cont12 - %call17 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #27 + %call17 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1096, ptr noundef %call17) to label %invoke.cont19 unwind label %lpad18 @@ -84532,8 +84569,8 @@ invoke.cont19: ; preds = %invoke.cont16 to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont19 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #28 %4 = load ptr, ptr %ref.tmp10, align 8 %cmp.not.i.i = icmp eq ptr %4, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -84542,7 +84579,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %4, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %5 = load ptr, ptr %vfn.i.i.i, align 8 - call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #27 + call void %5(ptr noundef nonnull align 8 dereferenceable(128) %4) #28 br label %if.end lpad11: ; preds = %if.else @@ -84563,12 +84600,12 @@ lpad18: ; preds = %invoke.cont16 lpad20: ; preds = %invoke.cont19 %9 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp13) #28 br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad18 %.pn = phi { ptr, i32 } [ %9, %lpad20 ], [ %8, %lpad18 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp14) #28 br label %ehcleanup22 ehcleanup22: ; preds = %ehcleanup, %lpad15 @@ -84581,7 +84618,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i28 = load ptr, ptr %10, align 8 %vfn.i.i.i29 = getelementptr inbounds ptr, ptr %vtable.i.i.i28, i64 1 %11 = load ptr, ptr %vfn.i.i.i29, align 8 - call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #27 + call void %11(ptr noundef nonnull align 8 dereferenceable(128) %10) #28 br label %_ZN7testing7MessageD2Ev.exit30 _ZN7testing7MessageD2Ev.exit30: ; preds = %ehcleanup22, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i27 @@ -84590,18 +84627,18 @@ _ZN7testing7MessageD2Ev.exit30: ; preds = %ehcleanup22, %_ZNKS if.end: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %invoke.cont21 store ptr null, ptr %ref.tmp10, align 8 - %.pr = load ptr, ptr %message_.i282, align 8 + %.pr = load ptr, ptr %message_.i283, align 8 %cmp.not.i.i32 = icmp eq ptr %.pr, null br i1 %cmp.not.i.i32, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont7, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i - %message_.i283 = phi ptr [ %message_.i, %invoke.cont7 ], [ %message_.i282, %if.end ], [ %message_.i282, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ] - store ptr null, ptr %message_.i283, align 8 + %message_.i284 = phi ptr [ %message_.i, %invoke.cont7 ], [ %message_.i283, %if.end ], [ %message_.i283, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i ] + store ptr null, ptr %message_.i284, align 8 %12 = load ptr, ptr %heap, align 8 %13 = load ptr, ptr %_M_finish.i.i, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__cmp.i.i) @@ -84639,8 +84676,8 @@ if.end.i.i.i48: ; preds = %for.body.i.i.i42 invoke.cont29.thread: ; preds = %if.end.i.i.i48, %invoke.cont25 store i8 1, ptr %gtest_ar_26, align 8 - %message_.i54266 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_26, i64 0, i32 1 - store ptr null, ptr %message_.i54266, align 8 + %message_.i54267 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_26, i64 0, i32 1 + store ptr null, ptr %message_.i54267, align 8 br label %_ZN7testing15AssertionResultD2Ev.exit69 invoke.cont29: ; preds = %for.body.i.i.i42 @@ -84653,7 +84690,7 @@ invoke.cont29: ; preds = %for.body.i.i.i42 ehcleanup23: ; preds = %_ZN7testing7MessageD2Ev.exit30, %lpad11 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit30 ], [ %6, %lpad11 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup188 if.else35: ; preds = %invoke.cont29 @@ -84665,7 +84702,7 @@ invoke.cont38: ; preds = %if.else35 to label %invoke.cont42 unwind label %lpad41 invoke.cont42: ; preds = %invoke.cont38 - %call43 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + %call43 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1098, ptr noundef %call43) to label %invoke.cont45 unwind label %lpad44 @@ -84674,8 +84711,8 @@ invoke.cont45: ; preds = %invoke.cont42 to label %invoke.cont47 unwind label %lpad46 invoke.cont47: ; preds = %invoke.cont45 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 %19 = load ptr, ptr %ref.tmp36, align 8 %cmp.not.i.i56 = icmp eq ptr %19, null br i1 %cmp.not.i.i56, label %if.end51, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i57 @@ -84684,7 +84721,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i58 = load ptr, ptr %19, align 8 %vfn.i.i.i59 = getelementptr inbounds ptr, ptr %vtable.i.i.i58, i64 1 %20 = load ptr, ptr %vfn.i.i.i59, align 8 - call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #27 + call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #28 br label %if.end51 lpad37: ; preds = %if.else35 @@ -84705,12 +84742,12 @@ lpad44: ; preds = %invoke.cont42 lpad46: ; preds = %invoke.cont45 %24 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #28 br label %ehcleanup49 ehcleanup49: ; preds = %lpad46, %lpad44 %.pn4 = phi { ptr, i32 } [ %24, %lpad46 ], [ %23, %lpad44 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp40) #28 br label %ehcleanup50 ehcleanup50: ; preds = %ehcleanup49, %lpad41 @@ -84723,7 +84760,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i63 = load ptr, ptr %25, align 8 %vfn.i.i.i64 = getelementptr inbounds ptr, ptr %vtable.i.i.i63, i64 1 %26 = load ptr, ptr %vfn.i.i.i64, align 8 - call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #27 + call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 br label %_ZN7testing7MessageD2Ev.exit65 _ZN7testing7MessageD2Ev.exit65: ; preds = %ehcleanup50, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i62 @@ -84732,18 +84769,18 @@ _ZN7testing7MessageD2Ev.exit65: ; preds = %ehcleanup50, %_ZNKS if.end51: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i57, %invoke.cont47 store ptr null, ptr %ref.tmp36, align 8 - %.pr269 = load ptr, ptr %message_.i54, align 8 - %cmp.not.i.i67 = icmp eq ptr %.pr269, null + %.pr270 = load ptr, ptr %message_.i54, align 8 + %cmp.not.i.i67 = icmp eq ptr %.pr270, null br i1 %cmp.not.i.i67, label %_ZN7testing15AssertionResultD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %if.end51 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr269) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr269) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr270) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr270) #29 br label %_ZN7testing15AssertionResultD2Ev.exit69 _ZN7testing15AssertionResultD2Ev.exit69: ; preds = %invoke.cont29, %invoke.cont29.thread, %if.end51, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 - %message_.i54268272 = phi ptr [ %message_.i54, %if.end51 ], [ %message_.i54, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 ], [ %message_.i54, %invoke.cont29 ], [ %message_.i54266, %invoke.cont29.thread ] - store ptr null, ptr %message_.i54268272, align 8 + %message_.i54269273 = phi ptr [ %message_.i54, %if.end51 ], [ %message_.i54, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 ], [ %message_.i54, %invoke.cont29 ], [ %message_.i54267, %invoke.cont29.thread ] + store ptr null, ptr %message_.i54269273, align 8 %27 = load ptr, ptr %_M_finish.i.i, align 8 %28 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i72 = icmp eq ptr %27, %28 @@ -84766,7 +84803,7 @@ if.else.i.i: ; preds = %_ZN7testing15Assert br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i if.then.i.i.i.i: ; preds = %if.else.i.i - invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #30 + invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.262) #31 to label %.noexc unwind label %lpad6 .noexc: ; preds = %if.then.i.i.i.i @@ -84785,30 +84822,31 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 2 - %call5.i.i.i.i.i.i77 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #29 + %call5.i.i.i.i.i.i77 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i unwind label %lpad6 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i77, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i76 store i32 0, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i76, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i75, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %30, i64 %sub.ptr.sub.i.i.i.i.i75, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i75 + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %30, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - call void @_ZdlPv(ptr noundef nonnull %30) #28 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + call void @_ZdlPv(ptr noundef nonnull %30) #29 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %heap, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -84870,7 +84908,7 @@ invoke.cont65: ; preds = %if.then.i.i98, %if. ehcleanup52: ; preds = %_ZN7testing7MessageD2Ev.exit65, %lpad37 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit65 ], [ %21, %lpad37 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_26) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_26) #28 br label %ehcleanup188 if.else68: ; preds = %invoke.cont65 @@ -84884,7 +84922,7 @@ invoke.cont71: ; preds = %if.else68 br i1 %cmp.i.i.not.i.i, label %invoke.cont74, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont71 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %38) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %38) #28 br label %invoke.cont74 invoke.cont74: ; preds = %cond.true.i.i, %invoke.cont71 @@ -84897,7 +84935,7 @@ invoke.cont76: ; preds = %invoke.cont74 to label %invoke.cont78 unwind label %lpad77 invoke.cont78: ; preds = %invoke.cont76 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72) #28 %39 = load ptr, ptr %ref.tmp69, align 8 %cmp.not.i.i102 = icmp eq ptr %39, null br i1 %cmp.not.i.i102, label %_ZN7testing7MessageD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 @@ -84906,7 +84944,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i104 = load ptr, ptr %39, align 8 %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 %40 = load ptr, ptr %vfn.i.i.i105, align 8 - call void %40(ptr noundef nonnull align 8 dereferenceable(128) %39) #27 + call void %40(ptr noundef nonnull align 8 dereferenceable(128) %39) #28 br label %_ZN7testing7MessageD2Ev.exit106 _ZN7testing7MessageD2Ev.exit106: ; preds = %invoke.cont78, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 @@ -84926,7 +84964,7 @@ lpad73: ; preds = %invoke.cont74 lpad77: ; preds = %invoke.cont76 %43 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72) #28 br label %ehcleanup80 ehcleanup80: ; preds = %lpad77, %lpad73 @@ -84939,7 +84977,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i109 = load ptr, ptr %44, align 8 %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 %45 = load ptr, ptr %vfn.i.i.i110, align 8 - call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #27 + call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #28 br label %_ZN7testing7MessageD2Ev.exit111 _ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup80, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 @@ -84953,8 +84991,8 @@ if.end81: ; preds = %invoke.cont65, %_ZN br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end81 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #27 - call void @_ZdlPv(ptr noundef nonnull %46) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #28 + call void @_ZdlPv(ptr noundef nonnull %46) #29 br label %_ZN7testing15AssertionResultD2Ev.exit115 _ZN7testing15AssertionResultD2Ev.exit115: ; preds = %if.end81, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 @@ -85012,7 +85050,7 @@ invoke.cont88: ; preds = %if.then.i.i122, %if ehcleanup82: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad70 %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit111 ], [ %41, %lpad70 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup188 if.else91: ; preds = %invoke.cont88 @@ -85026,7 +85064,7 @@ invoke.cont94: ; preds = %if.else91 br i1 %cmp.i.i.not.i.i127, label %invoke.cont97, label %cond.true.i.i128 cond.true.i.i128: ; preds = %invoke.cont94 - %call4.i.i129 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %55) #27 + %call4.i.i129 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %55) #28 br label %invoke.cont97 invoke.cont97: ; preds = %cond.true.i.i128, %invoke.cont94 @@ -85039,7 +85077,7 @@ invoke.cont99: ; preds = %invoke.cont97 to label %invoke.cont101 unwind label %lpad100 invoke.cont101: ; preds = %invoke.cont99 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95) #28 %56 = load ptr, ptr %ref.tmp92, align 8 %cmp.not.i.i132 = icmp eq ptr %56, null br i1 %cmp.not.i.i132, label %_ZN7testing7MessageD2Ev.exit136, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133 @@ -85048,7 +85086,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i134 = load ptr, ptr %56, align 8 %vfn.i.i.i135 = getelementptr inbounds ptr, ptr %vtable.i.i.i134, i64 1 %57 = load ptr, ptr %vfn.i.i.i135, align 8 - call void %57(ptr noundef nonnull align 8 dereferenceable(128) %56) #27 + call void %57(ptr noundef nonnull align 8 dereferenceable(128) %56) #28 br label %_ZN7testing7MessageD2Ev.exit136 _ZN7testing7MessageD2Ev.exit136: ; preds = %invoke.cont101, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i133 @@ -85068,7 +85106,7 @@ lpad96: ; preds = %invoke.cont97 lpad100: ; preds = %invoke.cont99 %60 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95) #28 br label %ehcleanup103 ehcleanup103: ; preds = %lpad100, %lpad96 @@ -85081,7 +85119,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i139 = load ptr, ptr %61, align 8 %vfn.i.i.i140 = getelementptr inbounds ptr, ptr %vtable.i.i.i139, i64 1 %62 = load ptr, ptr %vfn.i.i.i140, align 8 - call void %62(ptr noundef nonnull align 8 dereferenceable(128) %61) #27 + call void %62(ptr noundef nonnull align 8 dereferenceable(128) %61) #28 br label %_ZN7testing7MessageD2Ev.exit141 _ZN7testing7MessageD2Ev.exit141: ; preds = %ehcleanup103, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138 @@ -85095,8 +85133,8 @@ if.end104: ; preds = %invoke.cont88, %_ZN br i1 %cmp.not.i.i143, label %_ZN7testing15AssertionResultD2Ev.exit145, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144: ; preds = %if.end104 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #27 - call void @_ZdlPv(ptr noundef nonnull %63) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #28 + call void @_ZdlPv(ptr noundef nonnull %63) #29 br label %_ZN7testing15AssertionResultD2Ev.exit145 _ZN7testing15AssertionResultD2Ev.exit145: ; preds = %if.end104, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 @@ -85124,10 +85162,10 @@ if.then.i.i151: ; preds = %_ZN7testing15Assert while.body.i.i.i.i: ; preds = %if.then.i.i151, %while.body.i.i.i.i %__holeIndex.addr.028.i.i.i.i = phi i64 [ %spec.select.i.i.i.i, %while.body.i.i.i.i ], [ 0, %if.then.i.i151 ] - %add.i.i.i.i153 = shl i64 %__holeIndex.addr.028.i.i.i.i, 1 - %mul.i.i.i.i = add i64 %add.i.i.i.i153, 2 + %add.i.i.i.i154 = shl i64 %__holeIndex.addr.028.i.i.i.i, 1 + %mul.i.i.i.i = add i64 %add.i.i.i.i154, 2 %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %mul.i.i.i.i - %sub3.i.i.i.i = or disjoint i64 %add.i.i.i.i153, 1 + %sub3.i.i.i.i = or disjoint i64 %add.i.i.i.i154, 1 %add.ptr.i17.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %sub3.i.i.i.i %68 = load i32, ptr %add.ptr.i.i.i.i.i, align 4 %69 = load i32, ptr %add.ptr.i17.i.i.i.i, align 4 @@ -85137,8 +85175,8 @@ while.body.i.i.i.i: ; preds = %if.then.i.i151, %wh %70 = load i32, ptr %add.ptr.i18.i.i.i.i, align 4 %add.ptr.i19.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %__holeIndex.addr.028.i.i.i.i store i32 %70, ptr %add.ptr.i19.i.i.i.i, align 4 - %cmp.i.i.i.i154 = icmp slt i64 %spec.select.i.i.i.i, %div.i.i.i.i - br i1 %cmp.i.i.i.i154, label %while.body.i.i.i.i, label %while.end.i.i.i.i, !llvm.loop !345 + %cmp.i.i.i.i155 = icmp slt i64 %spec.select.i.i.i.i, %div.i.i.i.i + br i1 %cmp.i.i.i.i155, label %while.body.i.i.i.i, label %while.end.i.i.i.i, !llvm.loop !345 while.end.i.i.i.i: ; preds = %while.body.i.i.i.i, %if.then.i.i151 %__holeIndex.addr.0.lcssa.i.i.i.i = phi i64 [ 0, %if.then.i.i151 ], [ %spec.select.i.i.i.i, %while.body.i.i.i.i ] @@ -85170,8 +85208,8 @@ land.rhs.i.i.i.i.i: ; preds = %if.end33.i.i.i.i, % %__holeIndex.addr.017.i.i.i.i.i = phi i64 [ %__parent.018.i.i34.i.i.i, %while.body.i.i.i.i.i ], [ %__holeIndex.addr.1.i.i.i.i, %if.end33.i.i.i.i ] %__parent.018.in.i.i.i.i.i = add nsw i64 %__holeIndex.addr.017.i.i.i.i.i, -1 %__parent.018.i.i34.i.i.i = lshr i64 %__parent.018.in.i.i.i.i.i, 1 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %__parent.018.i.i34.i.i.i - %73 = load i32, ptr %add.ptr.i.i.i.i.i.i, align 4 + %add.ptr.i.i.i.i.i.i153 = getelementptr inbounds i32, ptr %64, i64 %__parent.018.i.i34.i.i.i + %73 = load i32, ptr %add.ptr.i.i.i.i.i.i153, align 4 %cmp.i.i.i.i.i.i.i = icmp sgt i32 %73, %66 br i1 %cmp.i.i.i.i.i.i.i, label %while.body.i.i.i.i.i, label %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i @@ -85185,34 +85223,34 @@ _ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops1 %__holeIndex.addr.0.lcssa.i.i.i.i.i = phi i64 [ %__holeIndex.addr.1.i.i.i.i, %if.end33.i.i.i.i ], [ %__holeIndex.addr.017.i.i.i.i.i, %land.rhs.i.i.i.i.i ], [ 0, %while.body.i.i.i.i.i ] %add.ptr.i9.i.i.i.i.i = getelementptr inbounds i32, ptr %64, i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i store i32 %66, ptr %add.ptr.i9.i.i.i.i.i, align 4 - %.pre277 = load ptr, ptr %heap, align 8 + %.pre278 = load ptr, ptr %heap, align 8 br label %invoke.cont107 invoke.cont107: ; preds = %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i, %_ZN7testing15AssertionResultD2Ev.exit145 - %74 = phi ptr [ %.pre277, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i ], [ %64, %_ZN7testing15AssertionResultD2Ev.exit145 ] + %74 = phi ptr [ %.pre278, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i ], [ %64, %_ZN7testing15AssertionResultD2Ev.exit145 ] store i32 0, ptr %ref.tmp109, align 4 %add.ptr.i = getelementptr inbounds i32, ptr %74, i64 3 %75 = load i32, ptr %add.ptr.i, align 4, !noalias !1900 - %cmp.i.i155 = icmp eq i32 %75, 0 - br i1 %cmp.i.i155, label %if.then.i.i157, label %if.end.i.i156 + %cmp.i.i156 = icmp eq i32 %75, 0 + br i1 %cmp.i.i156, label %if.then.i.i158, label %if.end.i.i157 -if.then.i.i157: ; preds = %invoke.cont107 +if.then.i.i158: ; preds = %invoke.cont107 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar108) to label %invoke.cont111 unwind label %lpad6 -if.end.i.i156: ; preds = %invoke.cont107 +if.end.i.i157: ; preds = %invoke.cont107 invoke void @_ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar108, ptr noundef nonnull @.str.480, ptr noundef nonnull @.str.476, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp109, ptr noundef nonnull align 4 dereferenceable(4) %add.ptr.i) to label %invoke.cont111 unwind label %lpad6 -invoke.cont111: ; preds = %if.then.i.i157, %if.end.i.i156 +invoke.cont111: ; preds = %if.then.i.i158, %if.end.i.i157 %76 = load i8, ptr %gtest_ar108, align 8 %77 = and i8 %76, 1 - %tobool.i161.not = icmp eq i8 %77, 0 - br i1 %tobool.i161.not, label %if.else114, label %if.end127 + %tobool.i162.not = icmp eq i8 %77, 0 + br i1 %tobool.i162.not, label %if.else114, label %if.end127 ehcleanup105: ; preds = %_ZN7testing7MessageD2Ev.exit141, %lpad93 %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit141 ], [ %58, %lpad93 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar85) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar85) #28 br label %ehcleanup188 if.else114: ; preds = %invoke.cont111 @@ -85220,18 +85258,18 @@ if.else114: ; preds = %invoke.cont111 to label %invoke.cont117 unwind label %lpad116 invoke.cont117: ; preds = %if.else114 - %message_.i.i162 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar108, i64 0, i32 1 - %78 = load ptr, ptr %message_.i.i162, align 8 - %cmp.i.i.not.i.i163 = icmp eq ptr %78, null - br i1 %cmp.i.i.not.i.i163, label %invoke.cont120, label %cond.true.i.i164 + %message_.i.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar108, i64 0, i32 1 + %78 = load ptr, ptr %message_.i.i163, align 8 + %cmp.i.i.not.i.i164 = icmp eq ptr %78, null + br i1 %cmp.i.i.not.i.i164, label %invoke.cont120, label %cond.true.i.i165 -cond.true.i.i164: ; preds = %invoke.cont117 - %call4.i.i165 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #27 +cond.true.i.i165: ; preds = %invoke.cont117 + %call4.i.i166 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #28 br label %invoke.cont120 -invoke.cont120: ; preds = %cond.true.i.i164, %invoke.cont117 - %cond.i.i166 = phi ptr [ %call4.i.i165, %cond.true.i.i164 ], [ @.str.255, %invoke.cont117 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp118, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1104, ptr noundef %cond.i.i166) +invoke.cont120: ; preds = %cond.true.i.i165, %invoke.cont117 + %cond.i.i167 = phi ptr [ %call4.i.i166, %cond.true.i.i165 ], [ @.str.255, %invoke.cont117 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp118, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1104, ptr noundef %cond.i.i167) to label %invoke.cont122 unwind label %lpad119 invoke.cont122: ; preds = %invoke.cont120 @@ -85239,19 +85277,19 @@ invoke.cont122: ; preds = %invoke.cont120 to label %invoke.cont124 unwind label %lpad123 invoke.cont124: ; preds = %invoke.cont122 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp118) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp118) #28 %79 = load ptr, ptr %ref.tmp115, align 8 - %cmp.not.i.i168 = icmp eq ptr %79, null - br i1 %cmp.not.i.i168, label %_ZN7testing7MessageD2Ev.exit172, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 + %cmp.not.i.i169 = icmp eq ptr %79, null + br i1 %cmp.not.i.i169, label %_ZN7testing7MessageD2Ev.exit173, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %invoke.cont124 - %vtable.i.i.i170 = load ptr, ptr %79, align 8 - %vfn.i.i.i171 = getelementptr inbounds ptr, ptr %vtable.i.i.i170, i64 1 - %80 = load ptr, ptr %vfn.i.i.i171, align 8 - call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #27 - br label %_ZN7testing7MessageD2Ev.exit172 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170: ; preds = %invoke.cont124 + %vtable.i.i.i171 = load ptr, ptr %79, align 8 + %vfn.i.i.i172 = getelementptr inbounds ptr, ptr %vtable.i.i.i171, i64 1 + %80 = load ptr, ptr %vfn.i.i.i172, align 8 + call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #28 + br label %_ZN7testing7MessageD2Ev.exit173 -_ZN7testing7MessageD2Ev.exit172: ; preds = %invoke.cont124, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +_ZN7testing7MessageD2Ev.exit173: ; preds = %invoke.cont124, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 store ptr null, ptr %ref.tmp115, align 8 br label %if.end127 @@ -85268,110 +85306,110 @@ lpad119: ; preds = %invoke.cont120 lpad123: ; preds = %invoke.cont122 %83 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp118) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp118) #28 br label %ehcleanup126 ehcleanup126: ; preds = %lpad123, %lpad119 %.pn14 = phi { ptr, i32 } [ %83, %lpad123 ], [ %82, %lpad119 ] %84 = load ptr, ptr %ref.tmp115, align 8 - %cmp.not.i.i173 = icmp eq ptr %84, null - br i1 %cmp.not.i.i173, label %_ZN7testing7MessageD2Ev.exit177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 + %cmp.not.i.i174 = icmp eq ptr %84, null + br i1 %cmp.not.i.i174, label %_ZN7testing7MessageD2Ev.exit178, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174: ; preds = %ehcleanup126 - %vtable.i.i.i175 = load ptr, ptr %84, align 8 - %vfn.i.i.i176 = getelementptr inbounds ptr, ptr %vtable.i.i.i175, i64 1 - %85 = load ptr, ptr %vfn.i.i.i176, align 8 - call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #27 - br label %_ZN7testing7MessageD2Ev.exit177 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175: ; preds = %ehcleanup126 + %vtable.i.i.i176 = load ptr, ptr %84, align 8 + %vfn.i.i.i177 = getelementptr inbounds ptr, ptr %vtable.i.i.i176, i64 1 + %85 = load ptr, ptr %vfn.i.i.i177, align 8 + call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #28 + br label %_ZN7testing7MessageD2Ev.exit178 -_ZN7testing7MessageD2Ev.exit177: ; preds = %ehcleanup126, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 +_ZN7testing7MessageD2Ev.exit178: ; preds = %ehcleanup126, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 store ptr null, ptr %ref.tmp115, align 8 br label %ehcleanup128 -if.end127: ; preds = %invoke.cont111, %_ZN7testing7MessageD2Ev.exit172 - %message_.i178 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar108, i64 0, i32 1 - %86 = load ptr, ptr %message_.i178, align 8 - %cmp.not.i.i179 = icmp eq ptr %86, null - br i1 %cmp.not.i.i179, label %_ZN7testing15AssertionResultD2Ev.exit181, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 +if.end127: ; preds = %invoke.cont111, %_ZN7testing7MessageD2Ev.exit173 + %message_.i179 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar108, i64 0, i32 1 + %86 = load ptr, ptr %message_.i179, align 8 + %cmp.not.i.i180 = icmp eq ptr %86, null + br i1 %cmp.not.i.i180, label %_ZN7testing15AssertionResultD2Ev.exit182, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180: ; preds = %if.end127 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #27 - call void @_ZdlPv(ptr noundef nonnull %86) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit181 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181: ; preds = %if.end127 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #28 + call void @_ZdlPv(ptr noundef nonnull %86) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit182 -_ZN7testing15AssertionResultD2Ev.exit181: ; preds = %if.end127, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 - store ptr null, ptr %message_.i178, align 8 +_ZN7testing15AssertionResultD2Ev.exit182: ; preds = %if.end127, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 + store ptr null, ptr %message_.i179, align 8 %87 = load ptr, ptr %heap, align 8 %88 = load ptr, ptr %_M_finish.i.i, align 8 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__cmp.i.i182) - invoke void @_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_RT0_(ptr %87, ptr %88, ptr noundef nonnull align 1 dereferenceable(1) %__cmp.i.i182) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %__cmp.i.i183) + invoke void @_ZSt11__make_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_RT0_(ptr %87, ptr %88, ptr noundef nonnull align 1 dereferenceable(1) %__cmp.i.i183) to label %invoke.cont130 unwind label %lpad6 -invoke.cont130: ; preds = %_ZN7testing15AssertionResultD2Ev.exit181 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__cmp.i.i182) +invoke.cont130: ; preds = %_ZN7testing15AssertionResultD2Ev.exit182 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %__cmp.i.i183) %89 = load ptr, ptr %heap, align 8 %90 = load ptr, ptr %_M_finish.i.i, align 8 %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %89 to i64 %sub.ptr.lhs.cast.i2.i.i.i = ptrtoint ptr %90 to i64 %sub.ptr.sub.i3.i.i.i = sub i64 %sub.ptr.lhs.cast.i2.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %cmp4.i.i.i = icmp sgt i64 %sub.ptr.sub.i3.i.i.i, 4 - br i1 %cmp4.i.i.i, label %while.body.i.i.i187, label %invoke.cont141 + br i1 %cmp4.i.i.i, label %while.body.i.i.i188, label %invoke.cont141 -while.body.i.i.i187: ; preds = %invoke.cont130, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i.i +while.body.i.i.i188: ; preds = %invoke.cont130, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i.i %__last.sroa.0.05.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i.i ], [ %90, %invoke.cont130 ] %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %__last.sroa.0.05.i.i.i, i64 -1 %91 = load i32, ptr %incdec.ptr.i.i.i.i, align 4 %92 = load i32, ptr %89, align 4 store i32 %92, ptr %incdec.ptr.i.i.i.i, align 4 - %sub.ptr.lhs.cast.i.i.i.i.i188 = ptrtoint ptr %incdec.ptr.i.i.i.i to i64 - %sub.ptr.sub.i.i.i.i.i189 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i188, %sub.ptr.rhs.cast.i.i.i.i - %sub.ptr.div.i.i.i.i.i190 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i189, 2 - %sub.i.i.i.i.i = add nsw i64 %sub.ptr.div.i.i.i.i.i190, -1 + %sub.ptr.lhs.cast.i.i.i.i.i189 = ptrtoint ptr %incdec.ptr.i.i.i.i to i64 + %sub.ptr.sub.i.i.i.i.i190 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i189, %sub.ptr.rhs.cast.i.i.i.i + %sub.ptr.div.i.i.i.i.i191 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i190, 2 + %sub.i.i.i.i.i = add nsw i64 %sub.ptr.div.i.i.i.i.i191, -1 %div.i.i.i.i.i = sdiv i64 %sub.i.i.i.i.i, 2 - %cmp27.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i190, 2 - br i1 %cmp27.i.i.i.i.i, label %while.body.i.i.i.i.i193, label %while.end.i.i.i.i.i + %cmp27.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i191, 2 + br i1 %cmp27.i.i.i.i.i, label %while.body.i.i.i.i.i194, label %while.end.i.i.i.i.i -while.body.i.i.i.i.i193: ; preds = %while.body.i.i.i187, %while.body.i.i.i.i.i193 - %__holeIndex.addr.028.i.i.i.i.i = phi i64 [ %spec.select.i.i.i.i.i, %while.body.i.i.i.i.i193 ], [ 0, %while.body.i.i.i187 ] +while.body.i.i.i.i.i194: ; preds = %while.body.i.i.i188, %while.body.i.i.i.i.i194 + %__holeIndex.addr.028.i.i.i.i.i = phi i64 [ %spec.select.i.i.i.i.i, %while.body.i.i.i.i.i194 ], [ 0, %while.body.i.i.i188 ] %add.i.i.i.i.i = shl i64 %__holeIndex.addr.028.i.i.i.i.i, 1 %mul.i.i.i.i.i = add i64 %add.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i194 = getelementptr inbounds i32, ptr %89, i64 %mul.i.i.i.i.i + %add.ptr.i.i.i.i.i.i195 = getelementptr inbounds i32, ptr %89, i64 %mul.i.i.i.i.i %sub3.i.i.i.i.i = or disjoint i64 %add.i.i.i.i.i, 1 %add.ptr.i17.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %sub3.i.i.i.i.i - %93 = load i32, ptr %add.ptr.i.i.i.i.i.i194, align 4 + %93 = load i32, ptr %add.ptr.i.i.i.i.i.i195, align 4 %94 = load i32, ptr %add.ptr.i17.i.i.i.i.i, align 4 - %cmp.i.i.i.i.i.i.i195 = icmp sgt i32 %93, %94 - %spec.select.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i195, i64 %sub3.i.i.i.i.i, i64 %mul.i.i.i.i.i + %cmp.i.i.i.i.i.i.i196 = icmp sgt i32 %93, %94 + %spec.select.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i196, i64 %sub3.i.i.i.i.i, i64 %mul.i.i.i.i.i %add.ptr.i18.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %spec.select.i.i.i.i.i %95 = load i32, ptr %add.ptr.i18.i.i.i.i.i, align 4 %add.ptr.i19.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %__holeIndex.addr.028.i.i.i.i.i store i32 %95, ptr %add.ptr.i19.i.i.i.i.i, align 4 - %cmp.i.i.i.i.i196 = icmp slt i64 %spec.select.i.i.i.i.i, %div.i.i.i.i.i - br i1 %cmp.i.i.i.i.i196, label %while.body.i.i.i.i.i193, label %while.end.i.i.i.i.i, !llvm.loop !345 + %cmp.i.i.i.i.i197 = icmp slt i64 %spec.select.i.i.i.i.i, %div.i.i.i.i.i + br i1 %cmp.i.i.i.i.i197, label %while.body.i.i.i.i.i194, label %while.end.i.i.i.i.i, !llvm.loop !345 -while.end.i.i.i.i.i: ; preds = %while.body.i.i.i.i.i193, %while.body.i.i.i187 - %__holeIndex.addr.0.lcssa.i.i.i.i.i191 = phi i64 [ 0, %while.body.i.i.i187 ], [ %spec.select.i.i.i.i.i, %while.body.i.i.i.i.i193 ] - %96 = and i64 %sub.ptr.sub.i.i.i.i.i189, 4 - %cmp16.i.i.i.i.i192 = icmp eq i64 %96, 0 - br i1 %cmp16.i.i.i.i.i192, label %land.lhs.true.i.i.i.i.i, label %if.end33.i.i.i.i.i +while.end.i.i.i.i.i: ; preds = %while.body.i.i.i.i.i194, %while.body.i.i.i188 + %__holeIndex.addr.0.lcssa.i.i.i.i.i192 = phi i64 [ 0, %while.body.i.i.i188 ], [ %spec.select.i.i.i.i.i, %while.body.i.i.i.i.i194 ] + %96 = and i64 %sub.ptr.sub.i.i.i.i.i190, 4 + %cmp16.i.i.i.i.i193 = icmp eq i64 %96, 0 + br i1 %cmp16.i.i.i.i.i193, label %land.lhs.true.i.i.i.i.i, label %if.end33.i.i.i.i.i land.lhs.true.i.i.i.i.i: ; preds = %while.end.i.i.i.i.i - %sub17.i.i.i.i.i = add nsw i64 %sub.ptr.div.i.i.i.i.i190, -2 + %sub17.i.i.i.i.i = add nsw i64 %sub.ptr.div.i.i.i.i.i191, -2 %div18.i.i.i.i.i = ashr exact i64 %sub17.i.i.i.i.i, 1 - %cmp19.i.i.i.i.i = icmp eq i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i191, %div18.i.i.i.i.i + %cmp19.i.i.i.i.i = icmp eq i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i192, %div18.i.i.i.i.i br i1 %cmp19.i.i.i.i.i, label %if.then20.i.i.i.i.i, label %if.end33.i.i.i.i.i if.then20.i.i.i.i.i: ; preds = %land.lhs.true.i.i.i.i.i - %add21.i.i.i.i.i = shl i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i191, 1 + %add21.i.i.i.i.i = shl i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i192, 1 %sub24.i.i.i.i.i = or disjoint i64 %add21.i.i.i.i.i, 1 %add.ptr.i20.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %sub24.i.i.i.i.i %97 = load i32, ptr %add.ptr.i20.i.i.i.i.i, align 4 - %add.ptr.i21.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i191 + %add.ptr.i21.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i192 store i32 %97, ptr %add.ptr.i21.i.i.i.i.i, align 4 br label %if.end33.i.i.i.i.i if.end33.i.i.i.i.i: ; preds = %if.then20.i.i.i.i.i, %land.lhs.true.i.i.i.i.i, %while.end.i.i.i.i.i - %__holeIndex.addr.1.i.i.i.i.i = phi i64 [ %sub24.i.i.i.i.i, %if.then20.i.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i.i191, %land.lhs.true.i.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i.i191, %while.end.i.i.i.i.i ] + %__holeIndex.addr.1.i.i.i.i.i = phi i64 [ %sub24.i.i.i.i.i, %if.then20.i.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i.i192, %land.lhs.true.i.i.i.i.i ], [ %__holeIndex.addr.0.lcssa.i.i.i.i.i192, %while.end.i.i.i.i.i ] %cmp16.i.i.i.i.i.i = icmp sgt i64 %__holeIndex.addr.1.i.i.i.i.i, 0 br i1 %cmp16.i.i.i.i.i.i, label %land.rhs.i.i.i.i.i.i, label %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i.i @@ -85394,8 +85432,8 @@ _ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops1 %__holeIndex.addr.0.lcssa.i.i.i.i.i.i = phi i64 [ %__holeIndex.addr.1.i.i.i.i.i, %if.end33.i.i.i.i.i ], [ 0, %while.body.i.i.i.i.i.i ], [ %__holeIndex.addr.017.i.i.i.i.i.i, %land.rhs.i.i.i.i.i.i ] %add.ptr.i9.i.i.i.i.i.i = getelementptr inbounds i32, ptr %89, i64 %__holeIndex.addr.0.lcssa.i.i.i.i.i.i store i32 %91, ptr %add.ptr.i9.i.i.i.i.i.i, align 4 - %cmp.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i189, 4 - br i1 %cmp.i.i.i, label %while.body.i.i.i187, label %invoke.cont141, !llvm.loop !347 + %cmp.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i190, 4 + br i1 %cmp.i.i.i, label %while.body.i.i.i188, label %invoke.cont141, !llvm.loop !347 invoke.cont141: ; preds = %_ZSt10__pop_heapIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEENS0_5__ops15_Iter_comp_iterISt7greaterIiEEEEvT_SC_SC_RT0_.exit.i.i.i, %invoke.cont130 store <4 x i32> , ptr %ref.tmp134, align 16 @@ -85405,12 +85443,12 @@ invoke.cont141: ; preds = %_ZSt10__pop_heapIN9 invoke.cont142: ; preds = %invoke.cont141 %99 = load i8, ptr %gtest_ar133, align 8 %100 = and i8 %99, 1 - %tobool.i198.not = icmp eq i8 %100, 0 - br i1 %tobool.i198.not, label %if.else145, label %if.end158 + %tobool.i199.not = icmp eq i8 %100, 0 + br i1 %tobool.i199.not, label %if.else145, label %if.end158 -ehcleanup128: ; preds = %_ZN7testing7MessageD2Ev.exit177, %lpad116 - %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit177 ], [ %81, %lpad116 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar108) #27 +ehcleanup128: ; preds = %_ZN7testing7MessageD2Ev.exit178, %lpad116 + %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit178 ], [ %81, %lpad116 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar108) #28 br label %ehcleanup188 if.else145: ; preds = %invoke.cont142 @@ -85418,18 +85456,18 @@ if.else145: ; preds = %invoke.cont142 to label %invoke.cont148 unwind label %lpad147 invoke.cont148: ; preds = %if.else145 - %message_.i.i199 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar133, i64 0, i32 1 - %101 = load ptr, ptr %message_.i.i199, align 8 - %cmp.i.i.not.i.i200 = icmp eq ptr %101, null - br i1 %cmp.i.i.not.i.i200, label %invoke.cont151, label %cond.true.i.i201 + %message_.i.i200 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar133, i64 0, i32 1 + %101 = load ptr, ptr %message_.i.i200, align 8 + %cmp.i.i.not.i.i201 = icmp eq ptr %101, null + br i1 %cmp.i.i.not.i.i201, label %invoke.cont151, label %cond.true.i.i202 -cond.true.i.i201: ; preds = %invoke.cont148 - %call4.i.i202 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %101) #27 +cond.true.i.i202: ; preds = %invoke.cont148 + %call4.i.i203 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %101) #28 br label %invoke.cont151 -invoke.cont151: ; preds = %cond.true.i.i201, %invoke.cont148 - %cond.i.i203 = phi ptr [ %call4.i.i202, %cond.true.i.i201 ], [ @.str.255, %invoke.cont148 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1107, ptr noundef %cond.i.i203) +invoke.cont151: ; preds = %cond.true.i.i202, %invoke.cont148 + %cond.i.i204 = phi ptr [ %call4.i.i203, %cond.true.i.i202 ], [ @.str.255, %invoke.cont148 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1107, ptr noundef %cond.i.i204) to label %invoke.cont153 unwind label %lpad150 invoke.cont153: ; preds = %invoke.cont151 @@ -85437,19 +85475,19 @@ invoke.cont153: ; preds = %invoke.cont151 to label %invoke.cont155 unwind label %lpad154 invoke.cont155: ; preds = %invoke.cont153 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149) #28 %102 = load ptr, ptr %ref.tmp146, align 8 - %cmp.not.i.i205 = icmp eq ptr %102, null - br i1 %cmp.not.i.i205, label %_ZN7testing7MessageD2Ev.exit209, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206 + %cmp.not.i.i206 = icmp eq ptr %102, null + br i1 %cmp.not.i.i206, label %_ZN7testing7MessageD2Ev.exit210, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206: ; preds = %invoke.cont155 - %vtable.i.i.i207 = load ptr, ptr %102, align 8 - %vfn.i.i.i208 = getelementptr inbounds ptr, ptr %vtable.i.i.i207, i64 1 - %103 = load ptr, ptr %vfn.i.i.i208, align 8 - call void %103(ptr noundef nonnull align 8 dereferenceable(128) %102) #27 - br label %_ZN7testing7MessageD2Ev.exit209 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207: ; preds = %invoke.cont155 + %vtable.i.i.i208 = load ptr, ptr %102, align 8 + %vfn.i.i.i209 = getelementptr inbounds ptr, ptr %vtable.i.i.i208, i64 1 + %103 = load ptr, ptr %vfn.i.i.i209, align 8 + call void %103(ptr noundef nonnull align 8 dereferenceable(128) %102) #28 + br label %_ZN7testing7MessageD2Ev.exit210 -_ZN7testing7MessageD2Ev.exit209: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206 +_ZN7testing7MessageD2Ev.exit210: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207 store ptr null, ptr %ref.tmp146, align 8 br label %if.end158 @@ -85466,87 +85504,87 @@ lpad150: ; preds = %invoke.cont151 lpad154: ; preds = %invoke.cont153 %106 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149) #28 br label %ehcleanup157 ehcleanup157: ; preds = %lpad154, %lpad150 %.pn17 = phi { ptr, i32 } [ %106, %lpad154 ], [ %105, %lpad150 ] %107 = load ptr, ptr %ref.tmp146, align 8 - %cmp.not.i.i210 = icmp eq ptr %107, null - br i1 %cmp.not.i.i210, label %_ZN7testing7MessageD2Ev.exit214, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211 + %cmp.not.i.i211 = icmp eq ptr %107, null + br i1 %cmp.not.i.i211, label %_ZN7testing7MessageD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211: ; preds = %ehcleanup157 - %vtable.i.i.i212 = load ptr, ptr %107, align 8 - %vfn.i.i.i213 = getelementptr inbounds ptr, ptr %vtable.i.i.i212, i64 1 - %108 = load ptr, ptr %vfn.i.i.i213, align 8 - call void %108(ptr noundef nonnull align 8 dereferenceable(128) %107) #27 - br label %_ZN7testing7MessageD2Ev.exit214 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212: ; preds = %ehcleanup157 + %vtable.i.i.i213 = load ptr, ptr %107, align 8 + %vfn.i.i.i214 = getelementptr inbounds ptr, ptr %vtable.i.i.i213, i64 1 + %108 = load ptr, ptr %vfn.i.i.i214, align 8 + call void %108(ptr noundef nonnull align 8 dereferenceable(128) %107) #28 + br label %_ZN7testing7MessageD2Ev.exit215 -_ZN7testing7MessageD2Ev.exit214: ; preds = %ehcleanup157, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211 +_ZN7testing7MessageD2Ev.exit215: ; preds = %ehcleanup157, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 store ptr null, ptr %ref.tmp146, align 8 br label %ehcleanup159 -if.end158: ; preds = %invoke.cont142, %_ZN7testing7MessageD2Ev.exit209 - %message_.i215 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar133, i64 0, i32 1 - %109 = load ptr, ptr %message_.i215, align 8 - %cmp.not.i.i216 = icmp eq ptr %109, null - br i1 %cmp.not.i.i216, label %_ZN7testing15AssertionResultD2Ev.exit218, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217 +if.end158: ; preds = %invoke.cont142, %_ZN7testing7MessageD2Ev.exit210 + %message_.i216 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar133, i64 0, i32 1 + %109 = load ptr, ptr %message_.i216, align 8 + %cmp.not.i.i217 = icmp eq ptr %109, null + br i1 %cmp.not.i.i217, label %_ZN7testing15AssertionResultD2Ev.exit219, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217: ; preds = %if.end158 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #27 - call void @_ZdlPv(ptr noundef nonnull %109) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit218 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218: ; preds = %if.end158 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #28 + call void @_ZdlPv(ptr noundef nonnull %109) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit219 -_ZN7testing15AssertionResultD2Ev.exit218: ; preds = %if.end158, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217 - store ptr null, ptr %message_.i215, align 8 +_ZN7testing15AssertionResultD2Ev.exit219: ; preds = %if.end158, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 + store ptr null, ptr %message_.i216, align 8 %110 = load ptr, ptr %heap, align 8 %111 = load ptr, ptr %_M_finish.i.i, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i220 = ptrtoint ptr %111 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i221 = ptrtoint ptr %110 to i64 - %sub.ptr.sub.i.i.i.i.i222 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i220, %sub.ptr.rhs.cast.i.i.i.i.i221 - %sub.ptr.div.i.i.i.i.i223 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i222, 2 - %cmp9.i.i.i224 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i223, 1 - br i1 %cmp9.i.i.i224, label %for.body.i.i.i227, label %invoke.cont163.thread - -for.body.i.i.i227: ; preds = %_ZN7testing15AssertionResultD2Ev.exit218, %if.end.i.i.i233 - %__parent.011.i.i.i228 = phi i64 [ %spec.select.i.i.i235, %if.end.i.i.i233 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit218 ] - %__child.010.i.i.i229 = phi i64 [ %inc11.i.i.i236, %if.end.i.i.i233 ], [ 1, %_ZN7testing15AssertionResultD2Ev.exit218 ] - %add.ptr.i.i.i.i230 = getelementptr inbounds i32, ptr %110, i64 %__parent.011.i.i.i228 - %add.ptr.i7.i.i.i231 = getelementptr inbounds i32, ptr %110, i64 %__child.010.i.i.i229 - %112 = load i32, ptr %add.ptr.i.i.i.i230, align 4 - %113 = load i32, ptr %add.ptr.i7.i.i.i231, align 4 - %cmp.i.i.i.i.i232 = icmp sgt i32 %112, %113 - br i1 %cmp.i.i.i.i.i232, label %invoke.cont163, label %if.end.i.i.i233 - -if.end.i.i.i233: ; preds = %for.body.i.i.i227 - %and.i.i.i234 = and i64 %__child.010.i.i.i229, 1 - %114 = xor i64 %and.i.i.i234, 1 - %spec.select.i.i.i235 = add i64 %114, %__parent.011.i.i.i228 - %inc11.i.i.i236 = add nuw nsw i64 %__child.010.i.i.i229, 1 - %exitcond.not.i.i.i237 = icmp eq i64 %inc11.i.i.i236, %sub.ptr.div.i.i.i.i.i223 - br i1 %exitcond.not.i.i.i237, label %invoke.cont163.thread, label %for.body.i.i.i227, !llvm.loop !1893 - -invoke.cont163.thread: ; preds = %if.end.i.i.i233, %_ZN7testing15AssertionResultD2Ev.exit218 + %sub.ptr.lhs.cast.i.i.i.i.i221 = ptrtoint ptr %111 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i222 = ptrtoint ptr %110 to i64 + %sub.ptr.sub.i.i.i.i.i223 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i221, %sub.ptr.rhs.cast.i.i.i.i.i222 + %sub.ptr.div.i.i.i.i.i224 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i223, 2 + %cmp9.i.i.i225 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i224, 1 + br i1 %cmp9.i.i.i225, label %for.body.i.i.i228, label %invoke.cont163.thread + +for.body.i.i.i228: ; preds = %_ZN7testing15AssertionResultD2Ev.exit219, %if.end.i.i.i234 + %__parent.011.i.i.i229 = phi i64 [ %spec.select.i.i.i236, %if.end.i.i.i234 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit219 ] + %__child.010.i.i.i230 = phi i64 [ %inc11.i.i.i237, %if.end.i.i.i234 ], [ 1, %_ZN7testing15AssertionResultD2Ev.exit219 ] + %add.ptr.i.i.i.i231 = getelementptr inbounds i32, ptr %110, i64 %__parent.011.i.i.i229 + %add.ptr.i7.i.i.i232 = getelementptr inbounds i32, ptr %110, i64 %__child.010.i.i.i230 + %112 = load i32, ptr %add.ptr.i.i.i.i231, align 4 + %113 = load i32, ptr %add.ptr.i7.i.i.i232, align 4 + %cmp.i.i.i.i.i233 = icmp sgt i32 %112, %113 + br i1 %cmp.i.i.i.i.i233, label %invoke.cont163, label %if.end.i.i.i234 + +if.end.i.i.i234: ; preds = %for.body.i.i.i228 + %and.i.i.i235 = and i64 %__child.010.i.i.i230, 1 + %114 = xor i64 %and.i.i.i235, 1 + %spec.select.i.i.i236 = add i64 %114, %__parent.011.i.i.i229 + %inc11.i.i.i237 = add nuw nsw i64 %__child.010.i.i.i230, 1 + %exitcond.not.i.i.i238 = icmp eq i64 %inc11.i.i.i237, %sub.ptr.div.i.i.i.i.i224 + br i1 %exitcond.not.i.i.i238, label %invoke.cont163.thread, label %for.body.i.i.i228, !llvm.loop !1893 + +invoke.cont163.thread: ; preds = %if.end.i.i.i234, %_ZN7testing15AssertionResultD2Ev.exit219 store i8 0, ptr %gtest_ar_160, align 8 - %message_.i239289 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_160, i64 0, i32 1 - store ptr null, ptr %message_.i239289, align 8 + %message_.i240290 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_160, i64 0, i32 1 + store ptr null, ptr %message_.i240290, align 8 br label %if.else170 -invoke.cont163: ; preds = %for.body.i.i.i227 - %cmp.i.i226 = icmp ne i64 %__child.010.i.i.i229, %sub.ptr.div.i.i.i.i.i223 - %frombool166 = zext i1 %cmp.i.i226 to i8 +invoke.cont163: ; preds = %for.body.i.i.i228 + %cmp.i.i227 = icmp ne i64 %__child.010.i.i.i230, %sub.ptr.div.i.i.i.i.i224 + %frombool166 = zext i1 %cmp.i.i227 to i8 store i8 %frombool166, ptr %gtest_ar_160, align 8 - %message_.i239 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_160, i64 0, i32 1 - store ptr null, ptr %message_.i239, align 8 - br i1 %cmp.i.i226, label %_ZN7testing15AssertionResultD2Ev.exit254, label %if.else170 + %message_.i240 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_160, i64 0, i32 1 + store ptr null, ptr %message_.i240, align 8 + br i1 %cmp.i.i227, label %_ZN7testing15AssertionResultD2Ev.exit255, label %if.else170 -ehcleanup159: ; preds = %_ZN7testing7MessageD2Ev.exit214, %lpad147 - %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit214 ], [ %104, %lpad147 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar133) #27 +ehcleanup159: ; preds = %_ZN7testing7MessageD2Ev.exit215, %lpad147 + %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit215 ], [ %104, %lpad147 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar133) #28 br label %ehcleanup188 if.else170: ; preds = %invoke.cont163.thread, %invoke.cont163 - %message_.i239290 = phi ptr [ %message_.i239289, %invoke.cont163.thread ], [ %message_.i239, %invoke.cont163 ] + %message_.i240291 = phi ptr [ %message_.i240290, %invoke.cont163.thread ], [ %message_.i240, %invoke.cont163 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp171) to label %invoke.cont173 unwind label %lpad172 @@ -85555,7 +85593,7 @@ invoke.cont173: ; preds = %if.else170 to label %invoke.cont177 unwind label %lpad176 invoke.cont177: ; preds = %invoke.cont173 - %call178 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp175) #27 + %call178 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp175) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp174, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1108, ptr noundef %call178) to label %invoke.cont180 unwind label %lpad179 @@ -85564,17 +85602,17 @@ invoke.cont180: ; preds = %invoke.cont177 to label %invoke.cont182 unwind label %lpad181 invoke.cont182: ; preds = %invoke.cont180 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp174) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp175) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp174) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp175) #28 %115 = load ptr, ptr %ref.tmp171, align 8 - %cmp.not.i.i241 = icmp eq ptr %115, null - br i1 %cmp.not.i.i241, label %if.end186, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242: ; preds = %invoke.cont182 - %vtable.i.i.i243 = load ptr, ptr %115, align 8 - %vfn.i.i.i244 = getelementptr inbounds ptr, ptr %vtable.i.i.i243, i64 1 - %116 = load ptr, ptr %vfn.i.i.i244, align 8 - call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #27 + %cmp.not.i.i242 = icmp eq ptr %115, null + br i1 %cmp.not.i.i242, label %if.end186, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243: ; preds = %invoke.cont182 + %vtable.i.i.i244 = load ptr, ptr %115, align 8 + %vfn.i.i.i245 = getelementptr inbounds ptr, ptr %vtable.i.i.i244, i64 1 + %116 = load ptr, ptr %vfn.i.i.i245, align 8 + call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #28 br label %if.end186 lpad172: ; preds = %if.else170 @@ -85595,72 +85633,72 @@ lpad179: ; preds = %invoke.cont177 lpad181: ; preds = %invoke.cont180 %120 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp174) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp174) #28 br label %ehcleanup184 ehcleanup184: ; preds = %lpad181, %lpad179 %.pn20 = phi { ptr, i32 } [ %120, %lpad181 ], [ %119, %lpad179 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp175) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp175) #28 br label %ehcleanup185 ehcleanup185: ; preds = %ehcleanup184, %lpad176 %.pn20.pn = phi { ptr, i32 } [ %.pn20, %ehcleanup184 ], [ %118, %lpad176 ] %121 = load ptr, ptr %ref.tmp171, align 8 - %cmp.not.i.i246 = icmp eq ptr %121, null - br i1 %cmp.not.i.i246, label %_ZN7testing7MessageD2Ev.exit250, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 + %cmp.not.i.i247 = icmp eq ptr %121, null + br i1 %cmp.not.i.i247, label %_ZN7testing7MessageD2Ev.exit251, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i248 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247: ; preds = %ehcleanup185 - %vtable.i.i.i248 = load ptr, ptr %121, align 8 - %vfn.i.i.i249 = getelementptr inbounds ptr, ptr %vtable.i.i.i248, i64 1 - %122 = load ptr, ptr %vfn.i.i.i249, align 8 - call void %122(ptr noundef nonnull align 8 dereferenceable(128) %121) #27 - br label %_ZN7testing7MessageD2Ev.exit250 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i248: ; preds = %ehcleanup185 + %vtable.i.i.i249 = load ptr, ptr %121, align 8 + %vfn.i.i.i250 = getelementptr inbounds ptr, ptr %vtable.i.i.i249, i64 1 + %122 = load ptr, ptr %vfn.i.i.i250, align 8 + call void %122(ptr noundef nonnull align 8 dereferenceable(128) %121) #28 + br label %_ZN7testing7MessageD2Ev.exit251 -_ZN7testing7MessageD2Ev.exit250: ; preds = %ehcleanup185, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 +_ZN7testing7MessageD2Ev.exit251: ; preds = %ehcleanup185, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i248 store ptr null, ptr %ref.tmp171, align 8 br label %ehcleanup187 -if.end186: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242, %invoke.cont182 +if.end186: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243, %invoke.cont182 store ptr null, ptr %ref.tmp171, align 8 - %.pr273 = load ptr, ptr %message_.i239290, align 8 - %cmp.not.i.i252 = icmp eq ptr %.pr273, null - br i1 %cmp.not.i.i252, label %_ZN7testing15AssertionResultD2Ev.exit254, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253: ; preds = %if.end186 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr273) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr273) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit254 - -_ZN7testing15AssertionResultD2Ev.exit254: ; preds = %invoke.cont163, %if.end186, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253 - %message_.i239291 = phi ptr [ %message_.i239, %invoke.cont163 ], [ %message_.i239290, %if.end186 ], [ %message_.i239290, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253 ] - store ptr null, ptr %message_.i239291, align 8 + %.pr274 = load ptr, ptr %message_.i240291, align 8 + %cmp.not.i.i253 = icmp eq ptr %.pr274, null + br i1 %cmp.not.i.i253, label %_ZN7testing15AssertionResultD2Ev.exit255, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254: ; preds = %if.end186 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr274) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr274) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit255 + +_ZN7testing15AssertionResultD2Ev.exit255: ; preds = %invoke.cont163, %if.end186, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254 + %message_.i240292 = phi ptr [ %message_.i240, %invoke.cont163 ], [ %message_.i240291, %if.end186 ], [ %message_.i240291, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254 ] + store ptr null, ptr %message_.i240292, align 8 %123 = load ptr, ptr %heap, align 8 - %tobool.not.i.i.i255 = icmp eq ptr %123, null - br i1 %tobool.not.i.i.i255, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i256 = icmp eq ptr %123, null + br i1 %tobool.not.i.i.i256, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit254 - call void @_ZdlPv(ptr noundef nonnull %123) #28 +if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit255 + call void @_ZdlPv(ptr noundef nonnull %123) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit254, %if.then.i.i.i +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit255, %if.then.i.i.i ret void -ehcleanup187: ; preds = %_ZN7testing7MessageD2Ev.exit250, %lpad172 - %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit250 ], [ %117, %lpad172 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_160) #27 +ehcleanup187: ; preds = %_ZN7testing7MessageD2Ev.exit251, %lpad172 + %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit251 ], [ %117, %lpad172 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_160) #28 br label %ehcleanup188 ehcleanup188: ; preds = %ehcleanup187, %ehcleanup159, %ehcleanup128, %ehcleanup105, %ehcleanup82, %ehcleanup52, %ehcleanup23, %lpad6 %.pn20.pn.pn.pn = phi { ptr, i32 } [ %.pn20.pn.pn, %ehcleanup187 ], [ %3, %lpad6 ], [ %.pn17.pn, %ehcleanup159 ], [ %.pn14.pn, %ehcleanup128 ], [ %.pn11.pn, %ehcleanup105 ], [ %.pn8.pn, %ehcleanup82 ], [ %.pn4.pn.pn, %ehcleanup52 ], [ %.pn.pn.pn, %ehcleanup23 ] %124 = load ptr, ptr %heap, align 8 - %tobool.not.i.i.i257 = icmp eq ptr %124, null - br i1 %tobool.not.i.i.i257, label %eh.resume, label %if.then.i.i.i258 + %tobool.not.i.i.i258 = icmp eq ptr %124, null + br i1 %tobool.not.i.i.i258, label %eh.resume, label %if.then.i.i.i259 -if.then.i.i.i258: ; preds = %ehcleanup188 - call void @_ZdlPv(ptr noundef nonnull %124) #28 +if.then.i.i.i259: ; preds = %ehcleanup188 + call void @_ZdlPv(ptr noundef nonnull %124) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i258, %ehcleanup188 +eh.resume: ; preds = %if.then.i.i.i259, %ehcleanup188 resume { ptr, i32 } %.pn20.pn.pn.pn } @@ -85673,14 +85711,14 @@ entry: ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_139MutatingTest_PermutationOperations_TestEED0Ev(ptr noundef nonnull align 8 dereferenceable(8) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } ; Function Attrs: mustprogress uwtable define internal noundef nonnull ptr @_ZN7testing8internal15TestFactoryImplIN12_GLOBAL__N_139MutatingTest_PermutationOperations_TestEE10CreateTestEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 invoke void @_ZN7testing4TestC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %call) to label %invoke.cont unwind label %lpad @@ -85691,22 +85729,22 @@ invoke.cont: ; preds = %entry lpad: ; preds = %entry %0 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call) #28 + tail call void @_ZdlPv(ptr noundef nonnull %call) #29 resume { ptr, i32 } %0 } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_139MutatingTest_PermutationOperations_TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 ret void } ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_139MutatingTest_PermutationOperations_TestD0Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) unnamed_addr #7 align 2 { entry: - tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #27 - tail call void @_ZdlPv(ptr noundef nonnull %this) #28 + tail call void @_ZN7testing4TestD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %this) #28 + tail call void @_ZdlPv(ptr noundef nonnull %this) #29 ret void } @@ -85730,16 +85768,16 @@ entry: %gtest_ar80 = alloca %"class.testing::AssertionResult", align 8 %ref.tmp85 = alloca %"class.testing::Message", align 8 %ref.tmp88 = alloca %"class.testing::internal::AssertHelper", align 8 - %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 store ptr %call5.i.i.i.i2.i, ptr %initial, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 4 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %initial, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i32> , ptr %call5.i.i.i.i2.i, align 4 %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %initial, i64 0, i32 1 store ptr %add.ptr.i1.i, ptr %_M_finish.i.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %permuted, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i19 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #29 + %call5.i.i.i.i2.i6.i19 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #30 to label %if.end5.i.i.i unwind label %lpad5 if.end5.i.i.i: ; preds = %entry @@ -85824,7 +85862,7 @@ lpad5: ; preds = %entry cleanup br label %ehcleanup101 -lpad7: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i56, %if.then3.i.i.i.i.i.i69, %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont8 +lpad7: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i56, %if.then3.i.i.i.i.i.i68, %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont8 %8 = landingpad { ptr, i32 } cleanup br label %ehcleanup100 @@ -85838,7 +85876,7 @@ invoke.cont16: ; preds = %if.else to label %invoke.cont20 unwind label %lpad19 invoke.cont20: ; preds = %invoke.cont16 - %call21 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + %call21 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1116, ptr noundef %call21) to label %invoke.cont23 unwind label %lpad22 @@ -85847,8 +85885,8 @@ invoke.cont23: ; preds = %invoke.cont20 to label %invoke.cont25 unwind label %lpad24 invoke.cont25: ; preds = %invoke.cont23 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 %9 = load ptr, ptr %ref.tmp14, align 8 %cmp.not.i.i = icmp eq ptr %9, null br i1 %cmp.not.i.i, label %if.end, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -85857,7 +85895,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i = load ptr, ptr %9, align 8 %vfn.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i, i64 1 %10 = load ptr, ptr %vfn.i.i.i, align 8 - call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #27 + call void %10(ptr noundef nonnull align 8 dereferenceable(128) %9) #28 br label %if.end lpad15: ; preds = %if.else @@ -85878,12 +85916,12 @@ lpad22: ; preds = %invoke.cont20 lpad24: ; preds = %invoke.cont23 %14 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp17) #28 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad22 %.pn = phi { ptr, i32 } [ %14, %lpad24 ], [ %13, %lpad22 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp18) #28 br label %ehcleanup26 ehcleanup26: ; preds = %ehcleanup, %lpad19 @@ -85896,7 +85934,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i24 = load ptr, ptr %15, align 8 %vfn.i.i.i25 = getelementptr inbounds ptr, ptr %vtable.i.i.i24, i64 1 %16 = load ptr, ptr %vfn.i.i.i25, align 8 - call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #27 + call void %16(ptr noundef nonnull align 8 dereferenceable(128) %15) #28 br label %_ZN7testing7MessageD2Ev.exit26 _ZN7testing7MessageD2Ev.exit26: ; preds = %ehcleanup26, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i23 @@ -85910,8 +85948,8 @@ if.end: ; preds = %_ZNKSt14default_del br i1 %cmp.not.i.i28, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr) #29 br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont10, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -85932,7 +85970,7 @@ invoke.cont31: ; preds = %_ZN7testing15Assert ehcleanup27: ; preds = %_ZN7testing7MessageD2Ev.exit26, %lpad15 %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit26 ], [ %11, %lpad15 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup100 if.else37: ; preds = %invoke.cont31 @@ -85944,7 +85982,7 @@ invoke.cont40: ; preds = %if.else37 to label %invoke.cont44 unwind label %lpad43 invoke.cont44: ; preds = %invoke.cont40 - %call45 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp42) #27 + %call45 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp42) #28 invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1117, ptr noundef %call45) to label %invoke.cont47 unwind label %lpad46 @@ -85953,8 +85991,8 @@ invoke.cont47: ; preds = %invoke.cont44 to label %invoke.cont49 unwind label %lpad48 invoke.cont49: ; preds = %invoke.cont47 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp42) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp42) #28 %21 = load ptr, ptr %ref.tmp38, align 8 %cmp.not.i.i34 = icmp eq ptr %21, null br i1 %cmp.not.i.i34, label %if.end53, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35 @@ -85963,7 +86001,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i36 = load ptr, ptr %21, align 8 %vfn.i.i.i37 = getelementptr inbounds ptr, ptr %vtable.i.i.i36, i64 1 %22 = load ptr, ptr %vfn.i.i.i37, align 8 - call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #27 + call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #28 br label %if.end53 lpad39: ; preds = %if.else37 @@ -85984,12 +86022,12 @@ lpad46: ; preds = %invoke.cont44 lpad48: ; preds = %invoke.cont47 %26 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp41) #28 br label %ehcleanup51 ehcleanup51: ; preds = %lpad48, %lpad46 %.pn4 = phi { ptr, i32 } [ %26, %lpad48 ], [ %25, %lpad46 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp42) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp42) #28 br label %ehcleanup52 ehcleanup52: ; preds = %ehcleanup51, %lpad43 @@ -86002,7 +86040,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE %vtable.i.i.i41 = load ptr, ptr %27, align 8 %vfn.i.i.i42 = getelementptr inbounds ptr, ptr %vtable.i.i.i41, i64 1 %28 = load ptr, ptr %vfn.i.i.i42, align 8 - call void %28(ptr noundef nonnull align 8 dereferenceable(128) %27) #27 + call void %28(ptr noundef nonnull align 8 dereferenceable(128) %27) #28 br label %_ZN7testing7MessageD2Ev.exit43 _ZN7testing7MessageD2Ev.exit43: ; preds = %ehcleanup52, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i40 @@ -86011,13 +86049,13 @@ _ZN7testing7MessageD2Ev.exit43: ; preds = %ehcleanup52, %_ZNKS if.end53: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i35, %invoke.cont49 store ptr null, ptr %ref.tmp38, align 8 - %.pr236 = load ptr, ptr %message_.i32, align 8 - %cmp.not.i.i45 = icmp eq ptr %.pr236, null + %.pr235 = load ptr, ptr %message_.i32, align 8 + %cmp.not.i.i45 = icmp eq ptr %.pr235, null br i1 %cmp.not.i.i45, label %_ZN7testing15AssertionResultD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %if.end53 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr236) #27 - call void @_ZdlPv(ptr noundef nonnull %.pr236) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr235) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr235) #29 br label %_ZN7testing15AssertionResultD2Ev.exit47 _ZN7testing15AssertionResultD2Ev.exit47: ; preds = %invoke.cont31, %if.end53, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 @@ -86027,137 +86065,132 @@ _ZN7testing15AssertionResultD2Ev.exit47: ; preds = %invoke.cont31, %if. %sub.ptr.lhs.cast.i.i49 = ptrtoint ptr %29 to i64 %sub.ptr.rhs.cast.i.i50 = ptrtoint ptr %30 to i64 %sub.ptr.sub.i.i51 = sub i64 %sub.ptr.lhs.cast.i.i49, %sub.ptr.rhs.cast.i.i50 - %sub.ptr.div.i.i52 = ashr exact i64 %sub.ptr.sub.i.i51, 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %permuted2, i8 0, i64 24, i1 false) %cmp.not.i.i.i.i53 = icmp eq ptr %29, %30 - br i1 %cmp.not.i.i.i.i53, label %invoke.cont.i57.thread, label %cond.true.i.i.i.i54 - -invoke.cont.i57.thread: ; preds = %_ZN7testing15AssertionResultD2Ev.exit47 - %_M_finish.i.i.i59239 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %permuted2, i64 0, i32 1 - %add.ptr.i.i.i60240 = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i52 - %_M_end_of_storage.i.i.i61241 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %permuted2, i64 0, i32 2 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %permuted2, i8 0, i64 16, i1 false) - store ptr %add.ptr.i.i.i60240, ptr %_M_end_of_storage.i.i.i61241, align 8 - br label %invoke.cont55 + br i1 %cmp.not.i.i.i.i53, label %invoke.cont55.thread, label %cond.true.i.i.i.i54 + +invoke.cont55.thread: ; preds = %_ZN7testing15AssertionResultD2Ev.exit47 + %_M_finish.i.i.i59238 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %permuted2, i64 0, i32 1 + %add.ptr.i.i.i60239 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i51 + %_M_end_of_storage.i.i.i61240 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %permuted2, i64 0, i32 2 + store i64 0, ptr %permuted2, align 8 + store ptr %add.ptr.i.i.i60239, ptr %_M_end_of_storage.i.i.i61240, align 8 + %add.ptr.i.i.i.i.i.i.i.i.i67.ptr279 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i51 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i67.ptr279, ptr %_M_finish.i.i.i59238, align 8 + br label %invoke.cont58 cond.true.i.i.i.i54: ; preds = %_ZN7testing15AssertionResultD2Ev.exit47 - %cmp.i.i.i.i.i.i55 = icmp ugt i64 %sub.ptr.div.i.i52, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i55, label %if.then3.i.i.i.i.i.i69, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i56 + %cmp.i.i.i.i.i.i55 = icmp ugt i64 %sub.ptr.sub.i.i51, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i55, label %if.then3.i.i.i.i.i.i68, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i56 -if.then3.i.i.i.i.i.i69: ; preds = %cond.true.i.i.i.i54 - invoke void @_ZSt28__throw_bad_array_new_lengthv() #30 - to label %.noexc70 unwind label %lpad7 +if.then3.i.i.i.i.i.i68: ; preds = %cond.true.i.i.i.i54 + invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 + to label %.noexc69 unwind label %lpad7 -.noexc70: ; preds = %if.then3.i.i.i.i.i.i69 +.noexc69: ; preds = %if.then3.i.i.i.i.i.i68 unreachable _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i56: ; preds = %cond.true.i.i.i.i54 - %call5.i.i.i.i2.i6.i72 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i51) #29 - to label %if.then.i.i.i.i.i.i.i.i.i66 unwind label %lpad7 + %call5.i.i.i.i2.i6.i71 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i51) #30 + to label %invoke.cont55 unwind label %lpad7 -if.then.i.i.i.i.i.i.i.i.i66: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i56 - store ptr %call5.i.i.i.i2.i6.i72, ptr %permuted2, align 8 +invoke.cont55: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i56 + store ptr %call5.i.i.i.i2.i6.i71, ptr %permuted2, align 8 %_M_finish.i.i.i59 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %permuted2, i64 0, i32 1 - store ptr %call5.i.i.i.i2.i6.i72, ptr %_M_finish.i.i.i59, align 8 - %add.ptr.i.i.i60 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i72, i64 %sub.ptr.div.i.i52 + store ptr %call5.i.i.i.i2.i6.i71, ptr %_M_finish.i.i.i59, align 8 + %add.ptr.i.i.i60 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i71, i64 %sub.ptr.sub.i.i51 %_M_end_of_storage.i.i.i61 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %permuted2, i64 0, i32 2 store ptr %add.ptr.i.i.i60, ptr %_M_end_of_storage.i.i.i61, align 8 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i72, ptr align 4 %30, i64 %sub.ptr.sub.i.i51, i1 false) - br label %invoke.cont55 - -invoke.cont55: ; preds = %if.then.i.i.i.i.i.i.i.i.i66, %invoke.cont.i57.thread - %31 = phi ptr [ %add.ptr.i.i.i60240, %invoke.cont.i57.thread ], [ %add.ptr.i.i.i60, %if.then.i.i.i.i.i.i.i.i.i66 ] - %_M_finish.i.i.i59243 = phi ptr [ %_M_finish.i.i.i59239, %invoke.cont.i57.thread ], [ %_M_finish.i.i.i59, %if.then.i.i.i.i.i.i.i.i.i66 ] - %cond.i.i.i.i58242 = phi ptr [ null, %invoke.cont.i57.thread ], [ %call5.i.i.i.i2.i6.i72, %if.then.i.i.i.i.i.i.i.i.i66 ] - store ptr %31, ptr %_M_finish.i.i.i59243, align 8 - %cmp.i.i.i.i75 = icmp eq ptr %cond.i.i.i.i58242, %31 - %incdec.ptr.i.i.i.i76 = getelementptr inbounds i32, ptr %cond.i.i.i.i58242, i64 1 - %cmp.i1.i.i.i77 = icmp eq ptr %incdec.ptr.i.i.i.i76, %31 - %or.cond.i.i.i78 = select i1 %cmp.i.i.i.i75, i1 true, i1 %cmp.i1.i.i.i77 - br i1 %or.cond.i.i.i78, label %invoke.cont58, label %if.end5.i.i.i79 - -if.end5.i.i.i79: ; preds = %invoke.cont55 - %incdec.ptr.i2.ptr.i.i.i80 = getelementptr inbounds i8, ptr %31, i64 -4 - %.pre.i.i.i81 = load i32, ptr %incdec.ptr.i2.ptr.i.i.i80, align 4 - br label %for.cond.i.i.i82 - -for.cond.i.i.i82: ; preds = %if.end28.i.i.i86, %if.end5.i.i.i79 - %32 = phi i32 [ %.pre.i.i.i81, %if.end5.i.i.i79 ], [ %33, %if.end28.i.i.i86 ] - %__i.sroa.0.0.idx.i.i.i83 = phi i64 [ -4, %if.end5.i.i.i79 ], [ %__i.sroa.0.0.add.i.i.i84, %if.end28.i.i.i86 ] - %__i.sroa.0.0.add.i.i.i84 = add nsw i64 %__i.sroa.0.0.idx.i.i.i83, -4 - %incdec.ptr.i3.ptr.i.i.i85 = getelementptr inbounds i8, ptr %31, i64 %__i.sroa.0.0.add.i.i.i84 - %33 = load i32, ptr %incdec.ptr.i3.ptr.i.i.i85, align 4 - %cmp.i.i.i.i.i = icmp sgt i32 %32, %33 - br i1 %cmp.i.i.i.i.i, label %while.cond.i.i.i98, label %if.end28.i.i.i86 - -while.cond.i.i.i98: ; preds = %for.cond.i.i.i82, %while.cond.i.i.i98 - %__j.sroa.0.0.i.i.i99 = phi ptr [ %incdec.ptr.i4.i.i.i, %while.cond.i.i.i98 ], [ %31, %for.cond.i.i.i82 ] - %incdec.ptr.i4.i.i.i = getelementptr inbounds i32, ptr %__j.sroa.0.0.i.i.i99, i64 -1 - %34 = load i32, ptr %incdec.ptr.i4.i.i.i, align 4 - %cmp.i.i5.i.i.i = icmp sgt i32 %34, %33 - br i1 %cmp.i.i5.i.i.i, label %while.end.i.i.i100, label %while.cond.i.i.i98, !llvm.loop !1905 - -while.end.i.i.i100: ; preds = %while.cond.i.i.i98 - store i32 %34, ptr %incdec.ptr.i3.ptr.i.i.i85, align 4 - store i32 %33, ptr %incdec.ptr.i4.i.i.i, align 4 - %cmp.i110.i.not.i.i.i101 = icmp eq i64 %__i.sroa.0.0.idx.i.i.i83, -4 - br i1 %cmp.i110.i.not.i.i.i101, label %invoke.cont58, label %while.body.i.i.preheader.i.i102 - -while.body.i.i.preheader.i.i102: ; preds = %while.end.i.i.i100 - %__i.sroa.0.0.ptr.le.i.i.i103 = getelementptr inbounds i8, ptr %31, i64 %__i.sroa.0.0.idx.i.i.i83 - br label %while.body.i.i.i.i104 - -while.body.i.i.i.i104: ; preds = %while.body.i.i.i.i104, %while.body.i.i.preheader.i.i102 - %__last.sroa.0.012.i.i.i.i105 = phi ptr [ %__last.sroa.0.0.i.i.i.i108, %while.body.i.i.i.i104 ], [ %incdec.ptr.i2.ptr.i.i.i80, %while.body.i.i.preheader.i.i102 ] - %__first.sroa.0.011.i.i.i.i106 = phi ptr [ %incdec.ptr.i2.i.i.i.i107, %while.body.i.i.i.i104 ], [ %__i.sroa.0.0.ptr.le.i.i.i103, %while.body.i.i.preheader.i.i102 ] - %35 = load i32, ptr %__first.sroa.0.011.i.i.i.i106, align 4 - %36 = load i32, ptr %__last.sroa.0.012.i.i.i.i105, align 4 - store i32 %36, ptr %__first.sroa.0.011.i.i.i.i106, align 4 - store i32 %35, ptr %__last.sroa.0.012.i.i.i.i105, align 4 - %incdec.ptr.i2.i.i.i.i107 = getelementptr inbounds i32, ptr %__first.sroa.0.011.i.i.i.i106, i64 1 - %__last.sroa.0.0.i.i.i.i108 = getelementptr inbounds i32, ptr %__last.sroa.0.012.i.i.i.i105, i64 -1 - %cmp.i1.i.i.i.i109 = icmp ult ptr %incdec.ptr.i2.i.i.i.i107, %__last.sroa.0.0.i.i.i.i108 - br i1 %cmp.i1.i.i.i.i109, label %while.body.i.i.i.i104, label %invoke.cont58, !llvm.loop !287 - -if.end28.i.i.i86: ; preds = %for.cond.i.i.i82 - %cmp.i7.i.i.i87 = icmp eq ptr %incdec.ptr.i3.ptr.i.i.i85, %cond.i.i.i.i58242 - br i1 %cmp.i7.i.i.i87, label %if.then30.i.i.i88, label %for.cond.i.i.i82, !llvm.loop !1906 - -if.then30.i.i.i88: ; preds = %if.end28.i.i.i86 - %cmp.i110.i10.i.i.i89 = icmp ugt ptr %incdec.ptr.i2.ptr.i.i.i80, %cond.i.i.i.i58242 - br i1 %cmp.i110.i10.i.i.i89, label %while.body.i12.i.i.i91, label %invoke.cont58 - -while.body.i12.i.i.i91: ; preds = %if.then30.i.i.i88, %while.body.i12.i.i.i91 - %__last.sroa.0.012.i13.i.i.i92 = phi ptr [ %__last.sroa.0.0.i16.i.i.i95, %while.body.i12.i.i.i91 ], [ %incdec.ptr.i2.ptr.i.i.i80, %if.then30.i.i.i88 ] - %__first.sroa.0.011.i14.i.i.i93 = phi ptr [ %incdec.ptr.i2.i15.i.i.i94, %while.body.i12.i.i.i91 ], [ %cond.i.i.i.i58242, %if.then30.i.i.i88 ] - %37 = load i32, ptr %__first.sroa.0.011.i14.i.i.i93, align 4 - %38 = load i32, ptr %__last.sroa.0.012.i13.i.i.i92, align 4 - store i32 %38, ptr %__first.sroa.0.011.i14.i.i.i93, align 4 - store i32 %37, ptr %__last.sroa.0.012.i13.i.i.i92, align 4 - %incdec.ptr.i2.i15.i.i.i94 = getelementptr inbounds i32, ptr %__first.sroa.0.011.i14.i.i.i93, i64 1 - %__last.sroa.0.0.i16.i.i.i95 = getelementptr inbounds i32, ptr %__last.sroa.0.012.i13.i.i.i92, i64 -1 - %cmp.i1.i17.i.i.i96 = icmp ult ptr %incdec.ptr.i2.i15.i.i.i94, %__last.sroa.0.0.i16.i.i.i95 - br i1 %cmp.i1.i17.i.i.i96, label %while.body.i12.i.i.i91, label %invoke.cont58, !llvm.loop !287 - -invoke.cont58: ; preds = %while.body.i12.i.i.i91, %while.body.i.i.i.i104, %if.then30.i.i.i88, %while.end.i.i.i100, %invoke.cont55 - %39 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1907 - %40 = load ptr, ptr %permuted, align 8, !noalias !1907 - %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %39 to i64 - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %40 to i64 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i71, ptr align 4 %30, i64 %sub.ptr.sub.i.i51, i1 false) + %add.ptr.i.i.i.i.i.i.i.i.i67.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i71, i64 %sub.ptr.sub.i.i51 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, ptr %_M_finish.i.i.i59, align 8 + %cmp.i1.i.i.i76 = icmp eq i64 %sub.ptr.sub.i.i51, 4 + %or.cond.i.i.i77 = or i1 %cmp.not.i.i.i.i53, %cmp.i1.i.i.i76 + br i1 %or.cond.i.i.i77, label %invoke.cont58, label %if.end5.i.i.i78 + +if.end5.i.i.i78: ; preds = %invoke.cont55 + %incdec.ptr.i2.ptr.i.i.i79 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, i64 -4 + %.pre.i.i.i80 = load i32, ptr %incdec.ptr.i2.ptr.i.i.i79, align 4 + br label %for.cond.i.i.i81 + +for.cond.i.i.i81: ; preds = %if.end28.i.i.i85, %if.end5.i.i.i78 + %31 = phi i32 [ %.pre.i.i.i80, %if.end5.i.i.i78 ], [ %32, %if.end28.i.i.i85 ] + %__i.sroa.0.0.idx.i.i.i82 = phi i64 [ -4, %if.end5.i.i.i78 ], [ %__i.sroa.0.0.add.i.i.i83, %if.end28.i.i.i85 ] + %__i.sroa.0.0.add.i.i.i83 = add nsw i64 %__i.sroa.0.0.idx.i.i.i82, -4 + %incdec.ptr.i3.ptr.i.i.i84 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, i64 %__i.sroa.0.0.add.i.i.i83 + %32 = load i32, ptr %incdec.ptr.i3.ptr.i.i.i84, align 4 + %cmp.i.i.i.i.i = icmp sgt i32 %31, %32 + br i1 %cmp.i.i.i.i.i, label %while.cond.i.i.i97, label %if.end28.i.i.i85 + +while.cond.i.i.i97: ; preds = %for.cond.i.i.i81, %while.cond.i.i.i97 + %__j.sroa.0.0.i.i.i98 = phi ptr [ %incdec.ptr.i4.i.i.i, %while.cond.i.i.i97 ], [ %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, %for.cond.i.i.i81 ] + %incdec.ptr.i4.i.i.i = getelementptr inbounds i32, ptr %__j.sroa.0.0.i.i.i98, i64 -1 + %33 = load i32, ptr %incdec.ptr.i4.i.i.i, align 4 + %cmp.i.i5.i.i.i = icmp sgt i32 %33, %32 + br i1 %cmp.i.i5.i.i.i, label %while.end.i.i.i99, label %while.cond.i.i.i97, !llvm.loop !1905 + +while.end.i.i.i99: ; preds = %while.cond.i.i.i97 + store i32 %33, ptr %incdec.ptr.i3.ptr.i.i.i84, align 4 + store i32 %32, ptr %incdec.ptr.i4.i.i.i, align 4 + %cmp.i110.i.not.i.i.i100 = icmp eq i64 %__i.sroa.0.0.idx.i.i.i82, -4 + br i1 %cmp.i110.i.not.i.i.i100, label %invoke.cont58, label %while.body.i.i.preheader.i.i101 + +while.body.i.i.preheader.i.i101: ; preds = %while.end.i.i.i99 + %__i.sroa.0.0.ptr.le.i.i.i102 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, i64 %__i.sroa.0.0.idx.i.i.i82 + br label %while.body.i.i.i.i103 + +while.body.i.i.i.i103: ; preds = %while.body.i.i.i.i103, %while.body.i.i.preheader.i.i101 + %__last.sroa.0.012.i.i.i.i104 = phi ptr [ %__last.sroa.0.0.i.i.i.i107, %while.body.i.i.i.i103 ], [ %incdec.ptr.i2.ptr.i.i.i79, %while.body.i.i.preheader.i.i101 ] + %__first.sroa.0.011.i.i.i.i105 = phi ptr [ %incdec.ptr.i2.i.i.i.i106, %while.body.i.i.i.i103 ], [ %__i.sroa.0.0.ptr.le.i.i.i102, %while.body.i.i.preheader.i.i101 ] + %34 = load i32, ptr %__first.sroa.0.011.i.i.i.i105, align 4 + %35 = load i32, ptr %__last.sroa.0.012.i.i.i.i104, align 4 + store i32 %35, ptr %__first.sroa.0.011.i.i.i.i105, align 4 + store i32 %34, ptr %__last.sroa.0.012.i.i.i.i104, align 4 + %incdec.ptr.i2.i.i.i.i106 = getelementptr inbounds i32, ptr %__first.sroa.0.011.i.i.i.i105, i64 1 + %__last.sroa.0.0.i.i.i.i107 = getelementptr inbounds i32, ptr %__last.sroa.0.012.i.i.i.i104, i64 -1 + %cmp.i1.i.i.i.i108 = icmp ult ptr %incdec.ptr.i2.i.i.i.i106, %__last.sroa.0.0.i.i.i.i107 + br i1 %cmp.i1.i.i.i.i108, label %while.body.i.i.i.i103, label %invoke.cont58, !llvm.loop !287 + +if.end28.i.i.i85: ; preds = %for.cond.i.i.i81 + %cmp.i7.i.i.i86 = icmp eq ptr %incdec.ptr.i3.ptr.i.i.i84, %call5.i.i.i.i2.i6.i71 + br i1 %cmp.i7.i.i.i86, label %if.then30.i.i.i87, label %for.cond.i.i.i81, !llvm.loop !1906 + +if.then30.i.i.i87: ; preds = %if.end28.i.i.i85 + %cmp.i110.i10.i.i.i88 = icmp ugt ptr %incdec.ptr.i2.ptr.i.i.i79, %call5.i.i.i.i2.i6.i71 + br i1 %cmp.i110.i10.i.i.i88, label %while.body.i12.i.i.i90, label %invoke.cont58 + +while.body.i12.i.i.i90: ; preds = %if.then30.i.i.i87, %while.body.i12.i.i.i90 + %__last.sroa.0.012.i13.i.i.i91 = phi ptr [ %__last.sroa.0.0.i16.i.i.i94, %while.body.i12.i.i.i90 ], [ %incdec.ptr.i2.ptr.i.i.i79, %if.then30.i.i.i87 ] + %__first.sroa.0.011.i14.i.i.i92 = phi ptr [ %incdec.ptr.i2.i15.i.i.i93, %while.body.i12.i.i.i90 ], [ %call5.i.i.i.i2.i6.i71, %if.then30.i.i.i87 ] + %36 = load i32, ptr %__first.sroa.0.011.i14.i.i.i92, align 4 + %37 = load i32, ptr %__last.sroa.0.012.i13.i.i.i91, align 4 + store i32 %37, ptr %__first.sroa.0.011.i14.i.i.i92, align 4 + store i32 %36, ptr %__last.sroa.0.012.i13.i.i.i91, align 4 + %incdec.ptr.i2.i15.i.i.i93 = getelementptr inbounds i32, ptr %__first.sroa.0.011.i14.i.i.i92, i64 1 + %__last.sroa.0.0.i16.i.i.i94 = getelementptr inbounds i32, ptr %__last.sroa.0.012.i13.i.i.i91, i64 -1 + %cmp.i1.i17.i.i.i95 = icmp ult ptr %incdec.ptr.i2.i15.i.i.i93, %__last.sroa.0.0.i16.i.i.i94 + br i1 %cmp.i1.i17.i.i.i95, label %while.body.i12.i.i.i90, label %invoke.cont58, !llvm.loop !287 + +invoke.cont58: ; preds = %while.body.i12.i.i.i90, %while.body.i.i.i.i103, %invoke.cont55.thread, %if.then30.i.i.i87, %while.end.i.i.i99, %invoke.cont55 + %add.ptr.i.i.i.i.i.i.i.i.i67.ptr282 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i67.ptr279, %invoke.cont55.thread ], [ %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, %if.then30.i.i.i87 ], [ %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, %while.end.i.i.i99 ], [ %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, %invoke.cont55 ], [ %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, %while.body.i.i.i.i103 ], [ %add.ptr.i.i.i.i.i.i.i.i.i67.ptr, %while.body.i12.i.i.i90 ] + %38 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1907 + %39 = load ptr, ptr %permuted, align 8, !noalias !1907 + %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %38 to i64 + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %39 to i64 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i - %41 = load ptr, ptr %permuted2, align 8, !noalias !1907 - %sub.ptr.lhs.cast.i5.i.i.i = ptrtoint ptr %31 to i64 - %sub.ptr.rhs.cast.i6.i.i.i = ptrtoint ptr %41 to i64 + %40 = load ptr, ptr %permuted2, align 8, !noalias !1907 + %sub.ptr.lhs.cast.i5.i.i.i = ptrtoint ptr %add.ptr.i.i.i.i.i.i.i.i.i67.ptr282 to i64 + %sub.ptr.rhs.cast.i6.i.i.i = ptrtoint ptr %40 to i64 %sub.ptr.sub.i7.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i %cmp.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i, %sub.ptr.sub.i7.i.i.i br i1 %cmp.i.i.i, label %land.rhs.i.i.i, label %if.end.i.i land.rhs.i.i.i: ; preds = %invoke.cont58 - %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %39, %40 + %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %38, %39 br i1 %tobool.not.i.i.i.i.i.i.i, label %if.then.i.i, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i _ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i: ; preds = %land.rhs.i.i.i - %bcmp.i.i.i.i.i.i.i = call i32 @bcmp(ptr %40, ptr %41, i64 %sub.ptr.sub.i.i.i.i), !noalias !1907 + %bcmp.i.i.i.i.i.i.i = call i32 @bcmp(ptr %39, ptr %40, i64 %sub.ptr.sub.i.i.i.i), !noalias !1907 %tobool1.not.i.i.i.i.i.i.i = icmp eq i32 %bcmp.i.i.i.i.i.i.i, 0 br i1 %tobool1.not.i.i.i.i.i.i.i, label %if.then.i.i, label %if.end.i.i @@ -86170,18 +86203,18 @@ if.end.i.i: ; preds = %_ZSteqIiSaIiEEbRKSt to label %invoke.cont60 unwind label %lpad57 invoke.cont60: ; preds = %if.then.i.i, %if.end.i.i - %42 = load i8, ptr %gtest_ar, align 8 - %43 = and i8 %42, 1 - %tobool.i113.not = icmp eq i8 %43, 0 - br i1 %tobool.i113.not, label %if.else63, label %if.end76 + %41 = load i8, ptr %gtest_ar, align 8 + %42 = and i8 %41, 1 + %tobool.i112.not = icmp eq i8 %42, 0 + br i1 %tobool.i112.not, label %if.else63, label %if.end76 ehcleanup54: ; preds = %_ZN7testing7MessageD2Ev.exit43, %lpad39 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %_ZN7testing7MessageD2Ev.exit43 ], [ %23, %lpad39 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_28) #27 + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_28) #28 br label %ehcleanup100 -lpad57: ; preds = %if.end.i.i176, %if.then.i.i182, %if.end.i.i, %if.then.i.i - %44 = landingpad { ptr, i32 } +lpad57: ; preds = %if.end.i.i175, %if.then.i.i181, %if.end.i.i, %if.then.i.i + %43 = landingpad { ptr, i32 } cleanup br label %ehcleanup99 @@ -86191,12 +86224,12 @@ if.else63: ; preds = %invoke.cont60 invoke.cont66: ; preds = %if.else63 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 - %45 = load ptr, ptr %message_.i.i, align 8 - %cmp.i.i.not.i.i = icmp eq ptr %45, null + %44 = load ptr, ptr %message_.i.i, align 8 + %cmp.i.i.not.i.i = icmp eq ptr %44, null br i1 %cmp.i.i.not.i.i, label %invoke.cont69, label %cond.true.i.i cond.true.i.i: ; preds = %invoke.cont66 - %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %45) #27 + %call4.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %44) #28 br label %invoke.cont69 invoke.cont69: ; preds = %cond.true.i.i, %invoke.cont66 @@ -86209,179 +86242,179 @@ invoke.cont71: ; preds = %invoke.cont69 to label %invoke.cont73 unwind label %lpad72 invoke.cont73: ; preds = %invoke.cont71 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #27 - %46 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i114 = icmp eq ptr %46, null - br i1 %cmp.not.i.i114, label %_ZN7testing7MessageD2Ev.exit118, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %invoke.cont73 - %vtable.i.i.i116 = load ptr, ptr %46, align 8 - %vfn.i.i.i117 = getelementptr inbounds ptr, ptr %vtable.i.i.i116, i64 1 - %47 = load ptr, ptr %vfn.i.i.i117, align 8 - call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #27 - br label %_ZN7testing7MessageD2Ev.exit118 - -_ZN7testing7MessageD2Ev.exit118: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #28 + %45 = load ptr, ptr %ref.tmp64, align 8 + %cmp.not.i.i113 = icmp eq ptr %45, null + br i1 %cmp.not.i.i113, label %_ZN7testing7MessageD2Ev.exit117, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %invoke.cont73 + %vtable.i.i.i115 = load ptr, ptr %45, align 8 + %vfn.i.i.i116 = getelementptr inbounds ptr, ptr %vtable.i.i.i115, i64 1 + %46 = load ptr, ptr %vfn.i.i.i116, align 8 + call void %46(ptr noundef nonnull align 8 dereferenceable(128) %45) #28 + br label %_ZN7testing7MessageD2Ev.exit117 + +_ZN7testing7MessageD2Ev.exit117: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 lpad65: ; preds = %if.else63 - %48 = landingpad { ptr, i32 } + %47 = landingpad { ptr, i32 } cleanup br label %ehcleanup77 lpad68: ; preds = %invoke.cont69 - %49 = landingpad { ptr, i32 } + %48 = landingpad { ptr, i32 } cleanup br label %ehcleanup75 lpad72: ; preds = %invoke.cont71 - %50 = landingpad { ptr, i32 } + %49 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #28 br label %ehcleanup75 ehcleanup75: ; preds = %lpad72, %lpad68 - %.pn8 = phi { ptr, i32 } [ %50, %lpad72 ], [ %49, %lpad68 ] - %51 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i119 = icmp eq ptr %51, null - br i1 %cmp.not.i.i119, label %_ZN7testing7MessageD2Ev.exit123, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120: ; preds = %ehcleanup75 - %vtable.i.i.i121 = load ptr, ptr %51, align 8 - %vfn.i.i.i122 = getelementptr inbounds ptr, ptr %vtable.i.i.i121, i64 1 - %52 = load ptr, ptr %vfn.i.i.i122, align 8 - call void %52(ptr noundef nonnull align 8 dereferenceable(128) %51) #27 - br label %_ZN7testing7MessageD2Ev.exit123 - -_ZN7testing7MessageD2Ev.exit123: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 + %.pn8 = phi { ptr, i32 } [ %49, %lpad72 ], [ %48, %lpad68 ] + %50 = load ptr, ptr %ref.tmp64, align 8 + %cmp.not.i.i118 = icmp eq ptr %50, null + br i1 %cmp.not.i.i118, label %_ZN7testing7MessageD2Ev.exit122, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119: ; preds = %ehcleanup75 + %vtable.i.i.i120 = load ptr, ptr %50, align 8 + %vfn.i.i.i121 = getelementptr inbounds ptr, ptr %vtable.i.i.i120, i64 1 + %51 = load ptr, ptr %vfn.i.i.i121, align 8 + call void %51(ptr noundef nonnull align 8 dereferenceable(128) %50) #28 + br label %_ZN7testing7MessageD2Ev.exit122 + +_ZN7testing7MessageD2Ev.exit122: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit118 - %message_.i124 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 - %53 = load ptr, ptr %message_.i124, align 8 - %cmp.not.i.i125 = icmp eq ptr %53, null - br i1 %cmp.not.i.i125, label %_ZN7testing15AssertionResultD2Ev.exit127, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126: ; preds = %if.end76 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #27 - call void @_ZdlPv(ptr noundef nonnull %53) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit127 - -_ZN7testing15AssertionResultD2Ev.exit127: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i126 - store ptr null, ptr %message_.i124, align 8 - %54 = load ptr, ptr %permuted, align 8 - %55 = load ptr, ptr %_M_finish.i.i.i, align 8 - %cmp.i.i.i.i129 = icmp eq ptr %54, %55 - %incdec.ptr.i.i.i.i130 = getelementptr inbounds i32, ptr %54, i64 1 - %cmp.i1.i.i.i131 = icmp eq ptr %incdec.ptr.i.i.i.i130, %55 - %or.cond.i.i.i132 = select i1 %cmp.i.i.i.i129, i1 true, i1 %cmp.i1.i.i.i131 - br i1 %or.cond.i.i.i132, label %invoke.cont78, label %if.end5.i.i.i133 - -if.end5.i.i.i133: ; preds = %_ZN7testing15AssertionResultD2Ev.exit127 - %incdec.ptr.i2.ptr.i.i.i134 = getelementptr inbounds i8, ptr %55, i64 -4 - %.pre.i.i.i135 = load i32, ptr %incdec.ptr.i2.ptr.i.i.i134, align 4 - br label %for.cond.i.i.i136 - -for.cond.i.i.i136: ; preds = %if.end28.i.i.i141, %if.end5.i.i.i133 - %56 = phi i32 [ %.pre.i.i.i135, %if.end5.i.i.i133 ], [ %57, %if.end28.i.i.i141 ] - %__i.sroa.0.0.idx.i.i.i137 = phi i64 [ -4, %if.end5.i.i.i133 ], [ %__i.sroa.0.0.add.i.i.i138, %if.end28.i.i.i141 ] - %__i.sroa.0.0.add.i.i.i138 = add nsw i64 %__i.sroa.0.0.idx.i.i.i137, -4 - %incdec.ptr.i3.ptr.i.i.i139 = getelementptr inbounds i8, ptr %55, i64 %__i.sroa.0.0.add.i.i.i138 - %57 = load i32, ptr %incdec.ptr.i3.ptr.i.i.i139, align 4 - %cmp.i4.i.i.i140 = icmp slt i32 %56, %57 - br i1 %cmp.i4.i.i.i140, label %while.cond.i.i.i153, label %if.end28.i.i.i141 - -while.cond.i.i.i153: ; preds = %for.cond.i.i.i136, %while.cond.i.i.i153 - %__j.sroa.0.0.i.i.i154 = phi ptr [ %incdec.ptr.i5.i.i.i155, %while.cond.i.i.i153 ], [ %55, %for.cond.i.i.i136 ] - %incdec.ptr.i5.i.i.i155 = getelementptr inbounds i32, ptr %__j.sroa.0.0.i.i.i154, i64 -1 - %58 = load i32, ptr %incdec.ptr.i5.i.i.i155, align 4 - %cmp.i6.i.i.i156 = icmp slt i32 %58, %57 - br i1 %cmp.i6.i.i.i156, label %while.end.i.i.i157, label %while.cond.i.i.i153, !llvm.loop !1912 - -while.end.i.i.i157: ; preds = %while.cond.i.i.i153 - store i32 %58, ptr %incdec.ptr.i3.ptr.i.i.i139, align 4 - store i32 %57, ptr %incdec.ptr.i5.i.i.i155, align 4 - %cmp.i110.i.not.i.i.i158 = icmp eq i64 %__i.sroa.0.0.idx.i.i.i137, -4 - br i1 %cmp.i110.i.not.i.i.i158, label %invoke.cont78, label %while.body.i.i.preheader.i.i159 - -while.body.i.i.preheader.i.i159: ; preds = %while.end.i.i.i157 - %__i.sroa.0.0.ptr.le.i.i.i160 = getelementptr inbounds i8, ptr %55, i64 %__i.sroa.0.0.idx.i.i.i137 - br label %while.body.i.i.i.i161 - -while.body.i.i.i.i161: ; preds = %while.body.i.i.i.i161, %while.body.i.i.preheader.i.i159 - %__last.sroa.0.012.i.i.i.i162 = phi ptr [ %__last.sroa.0.0.i.i.i.i165, %while.body.i.i.i.i161 ], [ %incdec.ptr.i2.ptr.i.i.i134, %while.body.i.i.preheader.i.i159 ] - %__first.sroa.0.011.i.i.i.i163 = phi ptr [ %incdec.ptr.i2.i.i.i.i164, %while.body.i.i.i.i161 ], [ %__i.sroa.0.0.ptr.le.i.i.i160, %while.body.i.i.preheader.i.i159 ] - %59 = load i32, ptr %__first.sroa.0.011.i.i.i.i163, align 4 - %60 = load i32, ptr %__last.sroa.0.012.i.i.i.i162, align 4 - store i32 %60, ptr %__first.sroa.0.011.i.i.i.i163, align 4 - store i32 %59, ptr %__last.sroa.0.012.i.i.i.i162, align 4 - %incdec.ptr.i2.i.i.i.i164 = getelementptr inbounds i32, ptr %__first.sroa.0.011.i.i.i.i163, i64 1 - %__last.sroa.0.0.i.i.i.i165 = getelementptr inbounds i32, ptr %__last.sroa.0.012.i.i.i.i162, i64 -1 - %cmp.i1.i.i.i.i166 = icmp ult ptr %incdec.ptr.i2.i.i.i.i164, %__last.sroa.0.0.i.i.i.i165 - br i1 %cmp.i1.i.i.i.i166, label %while.body.i.i.i.i161, label %invoke.cont78, !llvm.loop !287 - -if.end28.i.i.i141: ; preds = %for.cond.i.i.i136 - %cmp.i7.i.i.i142 = icmp eq ptr %incdec.ptr.i3.ptr.i.i.i139, %54 - br i1 %cmp.i7.i.i.i142, label %if.then30.i.i.i143, label %for.cond.i.i.i136, !llvm.loop !1913 - -if.then30.i.i.i143: ; preds = %if.end28.i.i.i141 - %cmp.i110.i10.i.i.i144 = icmp ugt ptr %incdec.ptr.i2.ptr.i.i.i134, %54 - br i1 %cmp.i110.i10.i.i.i144, label %while.body.i12.i.i.i146, label %invoke.cont78 - -while.body.i12.i.i.i146: ; preds = %if.then30.i.i.i143, %while.body.i12.i.i.i146 - %__last.sroa.0.012.i13.i.i.i147 = phi ptr [ %__last.sroa.0.0.i16.i.i.i150, %while.body.i12.i.i.i146 ], [ %incdec.ptr.i2.ptr.i.i.i134, %if.then30.i.i.i143 ] - %__first.sroa.0.011.i14.i.i.i148 = phi ptr [ %incdec.ptr.i2.i15.i.i.i149, %while.body.i12.i.i.i146 ], [ %54, %if.then30.i.i.i143 ] - %61 = load i32, ptr %__first.sroa.0.011.i14.i.i.i148, align 4 - %62 = load i32, ptr %__last.sroa.0.012.i13.i.i.i147, align 4 - store i32 %62, ptr %__first.sroa.0.011.i14.i.i.i148, align 4 - store i32 %61, ptr %__last.sroa.0.012.i13.i.i.i147, align 4 - %incdec.ptr.i2.i15.i.i.i149 = getelementptr inbounds i32, ptr %__first.sroa.0.011.i14.i.i.i148, i64 1 - %__last.sroa.0.0.i16.i.i.i150 = getelementptr inbounds i32, ptr %__last.sroa.0.012.i13.i.i.i147, i64 -1 - %cmp.i1.i17.i.i.i151 = icmp ult ptr %incdec.ptr.i2.i15.i.i.i149, %__last.sroa.0.0.i16.i.i.i150 - br i1 %cmp.i1.i17.i.i.i151, label %while.body.i12.i.i.i146, label %invoke.cont78, !llvm.loop !287 - -invoke.cont78: ; preds = %while.body.i12.i.i.i146, %while.body.i.i.i.i161, %if.then30.i.i.i143, %while.end.i.i.i157, %_ZN7testing15AssertionResultD2Ev.exit127 - %63 = load ptr, ptr %_M_finish.i.i, align 8, !noalias !1914 - %64 = load ptr, ptr %initial, align 8, !noalias !1914 - %sub.ptr.lhs.cast.i.i.i.i168 = ptrtoint ptr %63 to i64 - %sub.ptr.rhs.cast.i.i.i.i169 = ptrtoint ptr %64 to i64 - %sub.ptr.sub.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i169 - %65 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1914 - %66 = load ptr, ptr %permuted, align 8, !noalias !1914 - %sub.ptr.lhs.cast.i5.i.i.i172 = ptrtoint ptr %65 to i64 - %sub.ptr.rhs.cast.i6.i.i.i173 = ptrtoint ptr %66 to i64 - %sub.ptr.sub.i7.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i173 - %cmp.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i170, %sub.ptr.sub.i7.i.i.i174 - br i1 %cmp.i.i.i175, label %land.rhs.i.i.i177, label %if.end.i.i176 - -land.rhs.i.i.i177: ; preds = %invoke.cont78 - %tobool.not.i.i.i.i.i.i.i178 = icmp eq ptr %63, %64 - br i1 %tobool.not.i.i.i.i.i.i.i178, label %if.then.i.i182, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i179 - -_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i179: ; preds = %land.rhs.i.i.i177 - %bcmp.i.i.i.i.i.i.i180 = call i32 @bcmp(ptr %64, ptr %66, i64 %sub.ptr.sub.i.i.i.i170), !noalias !1914 - %tobool1.not.i.i.i.i.i.i.i181 = icmp eq i32 %bcmp.i.i.i.i.i.i.i180, 0 - br i1 %tobool1.not.i.i.i.i.i.i.i181, label %if.then.i.i182, label %if.end.i.i176 - -if.then.i.i182: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i179, %land.rhs.i.i.i177 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit117 + %message_.i123 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 + %52 = load ptr, ptr %message_.i123, align 8 + %cmp.not.i.i124 = icmp eq ptr %52, null + br i1 %cmp.not.i.i124, label %_ZN7testing15AssertionResultD2Ev.exit126, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125: ; preds = %if.end76 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #28 + call void @_ZdlPv(ptr noundef nonnull %52) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit126 + +_ZN7testing15AssertionResultD2Ev.exit126: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125 + store ptr null, ptr %message_.i123, align 8 + %53 = load ptr, ptr %permuted, align 8 + %54 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.i.i.i128 = icmp eq ptr %53, %54 + %incdec.ptr.i.i.i.i129 = getelementptr inbounds i32, ptr %53, i64 1 + %cmp.i1.i.i.i130 = icmp eq ptr %incdec.ptr.i.i.i.i129, %54 + %or.cond.i.i.i131 = select i1 %cmp.i.i.i.i128, i1 true, i1 %cmp.i1.i.i.i130 + br i1 %or.cond.i.i.i131, label %invoke.cont78, label %if.end5.i.i.i132 + +if.end5.i.i.i132: ; preds = %_ZN7testing15AssertionResultD2Ev.exit126 + %incdec.ptr.i2.ptr.i.i.i133 = getelementptr inbounds i8, ptr %54, i64 -4 + %.pre.i.i.i134 = load i32, ptr %incdec.ptr.i2.ptr.i.i.i133, align 4 + br label %for.cond.i.i.i135 + +for.cond.i.i.i135: ; preds = %if.end28.i.i.i140, %if.end5.i.i.i132 + %55 = phi i32 [ %.pre.i.i.i134, %if.end5.i.i.i132 ], [ %56, %if.end28.i.i.i140 ] + %__i.sroa.0.0.idx.i.i.i136 = phi i64 [ -4, %if.end5.i.i.i132 ], [ %__i.sroa.0.0.add.i.i.i137, %if.end28.i.i.i140 ] + %__i.sroa.0.0.add.i.i.i137 = add nsw i64 %__i.sroa.0.0.idx.i.i.i136, -4 + %incdec.ptr.i3.ptr.i.i.i138 = getelementptr inbounds i8, ptr %54, i64 %__i.sroa.0.0.add.i.i.i137 + %56 = load i32, ptr %incdec.ptr.i3.ptr.i.i.i138, align 4 + %cmp.i4.i.i.i139 = icmp slt i32 %55, %56 + br i1 %cmp.i4.i.i.i139, label %while.cond.i.i.i152, label %if.end28.i.i.i140 + +while.cond.i.i.i152: ; preds = %for.cond.i.i.i135, %while.cond.i.i.i152 + %__j.sroa.0.0.i.i.i153 = phi ptr [ %incdec.ptr.i5.i.i.i154, %while.cond.i.i.i152 ], [ %54, %for.cond.i.i.i135 ] + %incdec.ptr.i5.i.i.i154 = getelementptr inbounds i32, ptr %__j.sroa.0.0.i.i.i153, i64 -1 + %57 = load i32, ptr %incdec.ptr.i5.i.i.i154, align 4 + %cmp.i6.i.i.i155 = icmp slt i32 %57, %56 + br i1 %cmp.i6.i.i.i155, label %while.end.i.i.i156, label %while.cond.i.i.i152, !llvm.loop !1912 + +while.end.i.i.i156: ; preds = %while.cond.i.i.i152 + store i32 %57, ptr %incdec.ptr.i3.ptr.i.i.i138, align 4 + store i32 %56, ptr %incdec.ptr.i5.i.i.i154, align 4 + %cmp.i110.i.not.i.i.i157 = icmp eq i64 %__i.sroa.0.0.idx.i.i.i136, -4 + br i1 %cmp.i110.i.not.i.i.i157, label %invoke.cont78, label %while.body.i.i.preheader.i.i158 + +while.body.i.i.preheader.i.i158: ; preds = %while.end.i.i.i156 + %__i.sroa.0.0.ptr.le.i.i.i159 = getelementptr inbounds i8, ptr %54, i64 %__i.sroa.0.0.idx.i.i.i136 + br label %while.body.i.i.i.i160 + +while.body.i.i.i.i160: ; preds = %while.body.i.i.i.i160, %while.body.i.i.preheader.i.i158 + %__last.sroa.0.012.i.i.i.i161 = phi ptr [ %__last.sroa.0.0.i.i.i.i164, %while.body.i.i.i.i160 ], [ %incdec.ptr.i2.ptr.i.i.i133, %while.body.i.i.preheader.i.i158 ] + %__first.sroa.0.011.i.i.i.i162 = phi ptr [ %incdec.ptr.i2.i.i.i.i163, %while.body.i.i.i.i160 ], [ %__i.sroa.0.0.ptr.le.i.i.i159, %while.body.i.i.preheader.i.i158 ] + %58 = load i32, ptr %__first.sroa.0.011.i.i.i.i162, align 4 + %59 = load i32, ptr %__last.sroa.0.012.i.i.i.i161, align 4 + store i32 %59, ptr %__first.sroa.0.011.i.i.i.i162, align 4 + store i32 %58, ptr %__last.sroa.0.012.i.i.i.i161, align 4 + %incdec.ptr.i2.i.i.i.i163 = getelementptr inbounds i32, ptr %__first.sroa.0.011.i.i.i.i162, i64 1 + %__last.sroa.0.0.i.i.i.i164 = getelementptr inbounds i32, ptr %__last.sroa.0.012.i.i.i.i161, i64 -1 + %cmp.i1.i.i.i.i165 = icmp ult ptr %incdec.ptr.i2.i.i.i.i163, %__last.sroa.0.0.i.i.i.i164 + br i1 %cmp.i1.i.i.i.i165, label %while.body.i.i.i.i160, label %invoke.cont78, !llvm.loop !287 + +if.end28.i.i.i140: ; preds = %for.cond.i.i.i135 + %cmp.i7.i.i.i141 = icmp eq ptr %incdec.ptr.i3.ptr.i.i.i138, %53 + br i1 %cmp.i7.i.i.i141, label %if.then30.i.i.i142, label %for.cond.i.i.i135, !llvm.loop !1913 + +if.then30.i.i.i142: ; preds = %if.end28.i.i.i140 + %cmp.i110.i10.i.i.i143 = icmp ugt ptr %incdec.ptr.i2.ptr.i.i.i133, %53 + br i1 %cmp.i110.i10.i.i.i143, label %while.body.i12.i.i.i145, label %invoke.cont78 + +while.body.i12.i.i.i145: ; preds = %if.then30.i.i.i142, %while.body.i12.i.i.i145 + %__last.sroa.0.012.i13.i.i.i146 = phi ptr [ %__last.sroa.0.0.i16.i.i.i149, %while.body.i12.i.i.i145 ], [ %incdec.ptr.i2.ptr.i.i.i133, %if.then30.i.i.i142 ] + %__first.sroa.0.011.i14.i.i.i147 = phi ptr [ %incdec.ptr.i2.i15.i.i.i148, %while.body.i12.i.i.i145 ], [ %53, %if.then30.i.i.i142 ] + %60 = load i32, ptr %__first.sroa.0.011.i14.i.i.i147, align 4 + %61 = load i32, ptr %__last.sroa.0.012.i13.i.i.i146, align 4 + store i32 %61, ptr %__first.sroa.0.011.i14.i.i.i147, align 4 + store i32 %60, ptr %__last.sroa.0.012.i13.i.i.i146, align 4 + %incdec.ptr.i2.i15.i.i.i148 = getelementptr inbounds i32, ptr %__first.sroa.0.011.i14.i.i.i147, i64 1 + %__last.sroa.0.0.i16.i.i.i149 = getelementptr inbounds i32, ptr %__last.sroa.0.012.i13.i.i.i146, i64 -1 + %cmp.i1.i17.i.i.i150 = icmp ult ptr %incdec.ptr.i2.i15.i.i.i148, %__last.sroa.0.0.i16.i.i.i149 + br i1 %cmp.i1.i17.i.i.i150, label %while.body.i12.i.i.i145, label %invoke.cont78, !llvm.loop !287 + +invoke.cont78: ; preds = %while.body.i12.i.i.i145, %while.body.i.i.i.i160, %if.then30.i.i.i142, %while.end.i.i.i156, %_ZN7testing15AssertionResultD2Ev.exit126 + %62 = load ptr, ptr %_M_finish.i.i, align 8, !noalias !1914 + %63 = load ptr, ptr %initial, align 8, !noalias !1914 + %sub.ptr.lhs.cast.i.i.i.i167 = ptrtoint ptr %62 to i64 + %sub.ptr.rhs.cast.i.i.i.i168 = ptrtoint ptr %63 to i64 + %sub.ptr.sub.i.i.i.i169 = sub i64 %sub.ptr.lhs.cast.i.i.i.i167, %sub.ptr.rhs.cast.i.i.i.i168 + %64 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1914 + %65 = load ptr, ptr %permuted, align 8, !noalias !1914 + %sub.ptr.lhs.cast.i5.i.i.i171 = ptrtoint ptr %64 to i64 + %sub.ptr.rhs.cast.i6.i.i.i172 = ptrtoint ptr %65 to i64 + %sub.ptr.sub.i7.i.i.i173 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i171, %sub.ptr.rhs.cast.i6.i.i.i172 + %cmp.i.i.i174 = icmp eq i64 %sub.ptr.sub.i.i.i.i169, %sub.ptr.sub.i7.i.i.i173 + br i1 %cmp.i.i.i174, label %land.rhs.i.i.i176, label %if.end.i.i175 + +land.rhs.i.i.i176: ; preds = %invoke.cont78 + %tobool.not.i.i.i.i.i.i.i177 = icmp eq ptr %62, %63 + br i1 %tobool.not.i.i.i.i.i.i.i177, label %if.then.i.i181, label %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i178 + +_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i178: ; preds = %land.rhs.i.i.i176 + %bcmp.i.i.i.i.i.i.i179 = call i32 @bcmp(ptr %63, ptr %65, i64 %sub.ptr.sub.i.i.i.i169), !noalias !1914 + %tobool1.not.i.i.i.i.i.i.i180 = icmp eq i32 %bcmp.i.i.i.i.i.i.i179, 0 + br i1 %tobool1.not.i.i.i.i.i.i.i180, label %if.then.i.i181, label %if.end.i.i175 + +if.then.i.i181: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i178, %land.rhs.i.i.i176 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar80) to label %invoke.cont81 unwind label %lpad57 -if.end.i.i176: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i179, %invoke.cont78 +if.end.i.i175: ; preds = %_ZSteqIiSaIiEEbRKSt6vectorIT_T0_ES6_.exit.i.i178, %invoke.cont78 invoke void @_ZN7testing8internal18CmpHelperEQFailureISt6vectorIiSaIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar80, ptr noundef nonnull @.str.485, ptr noundef nonnull @.str.483, ptr noundef nonnull align 8 dereferenceable(24) %initial, ptr noundef nonnull align 8 dereferenceable(24) %permuted) to label %invoke.cont81 unwind label %lpad57 -invoke.cont81: ; preds = %if.then.i.i182, %if.end.i.i176 - %67 = load i8, ptr %gtest_ar80, align 8 - %68 = and i8 %67, 1 - %tobool.i186.not = icmp eq i8 %68, 0 - br i1 %tobool.i186.not, label %if.else84, label %if.end97 +invoke.cont81: ; preds = %if.then.i.i181, %if.end.i.i175 + %66 = load i8, ptr %gtest_ar80, align 8 + %67 = and i8 %66, 1 + %tobool.i185.not = icmp eq i8 %67, 0 + br i1 %tobool.i185.not, label %if.else84, label %if.end97 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit123, %lpad65 - %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit123 ], [ %48, %lpad65 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #27 +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit122, %lpad65 + %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit122 ], [ %47, %lpad65 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup99 if.else84: ; preds = %invoke.cont81 @@ -86389,18 +86422,18 @@ if.else84: ; preds = %invoke.cont81 to label %invoke.cont87 unwind label %lpad86 invoke.cont87: ; preds = %if.else84 - %message_.i.i187 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar80, i64 0, i32 1 - %69 = load ptr, ptr %message_.i.i187, align 8 - %cmp.i.i.not.i.i188 = icmp eq ptr %69, null - br i1 %cmp.i.i.not.i.i188, label %invoke.cont90, label %cond.true.i.i189 + %message_.i.i186 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar80, i64 0, i32 1 + %68 = load ptr, ptr %message_.i.i186, align 8 + %cmp.i.i.not.i.i187 = icmp eq ptr %68, null + br i1 %cmp.i.i.not.i.i187, label %invoke.cont90, label %cond.true.i.i188 -cond.true.i.i189: ; preds = %invoke.cont87 - %call4.i.i190 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %69) #27 +cond.true.i.i188: ; preds = %invoke.cont87 + %call4.i.i189 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #28 br label %invoke.cont90 -invoke.cont90: ; preds = %cond.true.i.i189, %invoke.cont87 - %cond.i.i191 = phi ptr [ %call4.i.i190, %cond.true.i.i189 ], [ @.str.255, %invoke.cont87 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1124, ptr noundef %cond.i.i191) +invoke.cont90: ; preds = %cond.true.i.i188, %invoke.cont87 + %cond.i.i190 = phi ptr [ %call4.i.i189, %cond.true.i.i188 ], [ @.str.255, %invoke.cont87 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 1124, ptr noundef %cond.i.i190) to label %invoke.cont92 unwind label %lpad89 invoke.cont92: ; preds = %invoke.cont90 @@ -86408,133 +86441,133 @@ invoke.cont92: ; preds = %invoke.cont90 to label %invoke.cont94 unwind label %lpad93 invoke.cont94: ; preds = %invoke.cont92 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88) #27 - %70 = load ptr, ptr %ref.tmp85, align 8 - %cmp.not.i.i193 = icmp eq ptr %70, null - br i1 %cmp.not.i.i193, label %_ZN7testing7MessageD2Ev.exit197, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i194 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i194: ; preds = %invoke.cont94 - %vtable.i.i.i195 = load ptr, ptr %70, align 8 - %vfn.i.i.i196 = getelementptr inbounds ptr, ptr %vtable.i.i.i195, i64 1 - %71 = load ptr, ptr %vfn.i.i.i196, align 8 - call void %71(ptr noundef nonnull align 8 dereferenceable(128) %70) #27 - br label %_ZN7testing7MessageD2Ev.exit197 - -_ZN7testing7MessageD2Ev.exit197: ; preds = %invoke.cont94, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i194 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88) #28 + %69 = load ptr, ptr %ref.tmp85, align 8 + %cmp.not.i.i192 = icmp eq ptr %69, null + br i1 %cmp.not.i.i192, label %_ZN7testing7MessageD2Ev.exit196, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193: ; preds = %invoke.cont94 + %vtable.i.i.i194 = load ptr, ptr %69, align 8 + %vfn.i.i.i195 = getelementptr inbounds ptr, ptr %vtable.i.i.i194, i64 1 + %70 = load ptr, ptr %vfn.i.i.i195, align 8 + call void %70(ptr noundef nonnull align 8 dereferenceable(128) %69) #28 + br label %_ZN7testing7MessageD2Ev.exit196 + +_ZN7testing7MessageD2Ev.exit196: ; preds = %invoke.cont94, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 store ptr null, ptr %ref.tmp85, align 8 br label %if.end97 lpad86: ; preds = %if.else84 - %72 = landingpad { ptr, i32 } + %71 = landingpad { ptr, i32 } cleanup br label %ehcleanup98 lpad89: ; preds = %invoke.cont90 - %73 = landingpad { ptr, i32 } + %72 = landingpad { ptr, i32 } cleanup br label %ehcleanup96 lpad93: ; preds = %invoke.cont92 - %74 = landingpad { ptr, i32 } + %73 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88) #27 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp88) #28 br label %ehcleanup96 ehcleanup96: ; preds = %lpad93, %lpad89 - %.pn11 = phi { ptr, i32 } [ %74, %lpad93 ], [ %73, %lpad89 ] - %75 = load ptr, ptr %ref.tmp85, align 8 - %cmp.not.i.i198 = icmp eq ptr %75, null - br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %ehcleanup96 - %vtable.i.i.i200 = load ptr, ptr %75, align 8 - %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 - %76 = load ptr, ptr %vfn.i.i.i201, align 8 - call void %76(ptr noundef nonnull align 8 dereferenceable(128) %75) #27 - br label %_ZN7testing7MessageD2Ev.exit202 - -_ZN7testing7MessageD2Ev.exit202: ; preds = %ehcleanup96, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 + %.pn11 = phi { ptr, i32 } [ %73, %lpad93 ], [ %72, %lpad89 ] + %74 = load ptr, ptr %ref.tmp85, align 8 + %cmp.not.i.i197 = icmp eq ptr %74, null + br i1 %cmp.not.i.i197, label %_ZN7testing7MessageD2Ev.exit201, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198: ; preds = %ehcleanup96 + %vtable.i.i.i199 = load ptr, ptr %74, align 8 + %vfn.i.i.i200 = getelementptr inbounds ptr, ptr %vtable.i.i.i199, i64 1 + %75 = load ptr, ptr %vfn.i.i.i200, align 8 + call void %75(ptr noundef nonnull align 8 dereferenceable(128) %74) #28 + br label %_ZN7testing7MessageD2Ev.exit201 + +_ZN7testing7MessageD2Ev.exit201: ; preds = %ehcleanup96, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 store ptr null, ptr %ref.tmp85, align 8 br label %ehcleanup98 -if.end97: ; preds = %invoke.cont81, %_ZN7testing7MessageD2Ev.exit197 - %message_.i203 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar80, i64 0, i32 1 - %77 = load ptr, ptr %message_.i203, align 8 - %cmp.not.i.i204 = icmp eq ptr %77, null - br i1 %cmp.not.i.i204, label %_ZN7testing15AssertionResultD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i205 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i205: ; preds = %if.end97 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #27 - call void @_ZdlPv(ptr noundef nonnull %77) #28 - br label %_ZN7testing15AssertionResultD2Ev.exit206 - -_ZN7testing15AssertionResultD2Ev.exit206: ; preds = %if.end97, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i205 - store ptr null, ptr %message_.i203, align 8 - %78 = load ptr, ptr %permuted2, align 8 - %tobool.not.i.i.i208 = icmp eq ptr %78, null - br i1 %tobool.not.i.i.i208, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i - -if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit206 - call void @_ZdlPv(ptr noundef nonnull %78) #28 +if.end97: ; preds = %invoke.cont81, %_ZN7testing7MessageD2Ev.exit196 + %message_.i202 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar80, i64 0, i32 1 + %76 = load ptr, ptr %message_.i202, align 8 + %cmp.not.i.i203 = icmp eq ptr %76, null + br i1 %cmp.not.i.i203, label %_ZN7testing15AssertionResultD2Ev.exit205, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %if.end97 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #28 + call void @_ZdlPv(ptr noundef nonnull %76) #29 + br label %_ZN7testing15AssertionResultD2Ev.exit205 + +_ZN7testing15AssertionResultD2Ev.exit205: ; preds = %if.end97, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 + store ptr null, ptr %message_.i202, align 8 + %77 = load ptr, ptr %permuted2, align 8 + %tobool.not.i.i.i207 = icmp eq ptr %77, null + br i1 %tobool.not.i.i.i207, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + +if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit205 + call void @_ZdlPv(ptr noundef nonnull %77) #29 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit206, %if.then.i.i.i - %79 = load ptr, ptr %permuted, align 8 - %tobool.not.i.i.i211 = icmp eq ptr %79, null - br i1 %tobool.not.i.i.i211, label %_ZNSt6vectorIiSaIiEED2Ev.exit214, label %if.then.i.i.i212 +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit205, %if.then.i.i.i + %78 = load ptr, ptr %permuted, align 8 + %tobool.not.i.i.i210 = icmp eq ptr %78, null + br i1 %tobool.not.i.i.i210, label %_ZNSt6vectorIiSaIiEED2Ev.exit213, label %if.then.i.i.i211 -if.then.i.i.i212: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %79) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit214 +if.then.i.i.i211: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %78) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit213 -_ZNSt6vectorIiSaIiEED2Ev.exit214: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i212 - %80 = load ptr, ptr %initial, align 8 - %tobool.not.i.i.i216 = icmp eq ptr %80, null - br i1 %tobool.not.i.i.i216, label %_ZNSt6vectorIiSaIiEED2Ev.exit219, label %if.then.i.i.i217 +_ZNSt6vectorIiSaIiEED2Ev.exit213: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %if.then.i.i.i211 + %79 = load ptr, ptr %initial, align 8 + %tobool.not.i.i.i215 = icmp eq ptr %79, null + br i1 %tobool.not.i.i.i215, label %_ZNSt6vectorIiSaIiEED2Ev.exit218, label %if.then.i.i.i216 -if.then.i.i.i217: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit214 - call void @_ZdlPv(ptr noundef nonnull %80) #28 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit219 +if.then.i.i.i216: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit213 + call void @_ZdlPv(ptr noundef nonnull %79) #29 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit218 -_ZNSt6vectorIiSaIiEED2Ev.exit219: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit214, %if.then.i.i.i217 +_ZNSt6vectorIiSaIiEED2Ev.exit218: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit213, %if.then.i.i.i216 ret void -ehcleanup98: ; preds = %_ZN7testing7MessageD2Ev.exit202, %lpad86 - %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit202 ], [ %72, %lpad86 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar80) #27 +ehcleanup98: ; preds = %_ZN7testing7MessageD2Ev.exit201, %lpad86 + %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit201 ], [ %71, %lpad86 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar80) #28 br label %ehcleanup99 ehcleanup99: ; preds = %ehcleanup98, %ehcleanup77, %lpad57 - %.pn11.pn.pn = phi { ptr, i32 } [ %.pn11.pn, %ehcleanup98 ], [ %44, %lpad57 ], [ %.pn8.pn, %ehcleanup77 ] - %81 = load ptr, ptr %permuted2, align 8 - %tobool.not.i.i.i221 = icmp eq ptr %81, null - br i1 %tobool.not.i.i.i221, label %ehcleanup100, label %if.then.i.i.i222 + %.pn11.pn.pn = phi { ptr, i32 } [ %.pn11.pn, %ehcleanup98 ], [ %43, %lpad57 ], [ %.pn8.pn, %ehcleanup77 ] + %80 = load ptr, ptr %permuted2, align 8 + %tobool.not.i.i.i220 = icmp eq ptr %80, null + br i1 %tobool.not.i.i.i220, label %ehcleanup100, label %if.then.i.i.i221 -if.then.i.i.i222: ; preds = %ehcleanup99 - call void @_ZdlPv(ptr noundef nonnull %81) #28 +if.then.i.i.i221: ; preds = %ehcleanup99 + call void @_ZdlPv(ptr noundef nonnull %80) #29 br label %ehcleanup100 -ehcleanup100: ; preds = %if.then.i.i.i222, %ehcleanup99, %ehcleanup54, %ehcleanup27, %lpad7 - %.pn11.pn.pn.pn = phi { ptr, i32 } [ %8, %lpad7 ], [ %.pn4.pn.pn, %ehcleanup54 ], [ %.pn.pn.pn, %ehcleanup27 ], [ %.pn11.pn.pn, %ehcleanup99 ], [ %.pn11.pn.pn, %if.then.i.i.i222 ] - %82 = load ptr, ptr %permuted, align 8 - %tobool.not.i.i.i226 = icmp eq ptr %82, null - br i1 %tobool.not.i.i.i226, label %ehcleanup101, label %if.then.i.i.i227 +ehcleanup100: ; preds = %if.then.i.i.i221, %ehcleanup99, %ehcleanup54, %ehcleanup27, %lpad7 + %.pn11.pn.pn.pn = phi { ptr, i32 } [ %8, %lpad7 ], [ %.pn4.pn.pn, %ehcleanup54 ], [ %.pn.pn.pn, %ehcleanup27 ], [ %.pn11.pn.pn, %ehcleanup99 ], [ %.pn11.pn.pn, %if.then.i.i.i221 ] + %81 = load ptr, ptr %permuted, align 8 + %tobool.not.i.i.i225 = icmp eq ptr %81, null + br i1 %tobool.not.i.i.i225, label %ehcleanup101, label %if.then.i.i.i226 -if.then.i.i.i227: ; preds = %ehcleanup100 - call void @_ZdlPv(ptr noundef nonnull %82) #28 +if.then.i.i.i226: ; preds = %ehcleanup100 + call void @_ZdlPv(ptr noundef nonnull %81) #29 br label %ehcleanup101 -ehcleanup101: ; preds = %if.then.i.i.i227, %ehcleanup100, %lpad5 - %.pn11.pn.pn.pn.pn = phi { ptr, i32 } [ %7, %lpad5 ], [ %.pn11.pn.pn.pn, %ehcleanup100 ], [ %.pn11.pn.pn.pn, %if.then.i.i.i227 ] - %83 = load ptr, ptr %initial, align 8 - %tobool.not.i.i.i231 = icmp eq ptr %83, null - br i1 %tobool.not.i.i.i231, label %eh.resume, label %if.then.i.i.i232 +ehcleanup101: ; preds = %if.then.i.i.i226, %ehcleanup100, %lpad5 + %.pn11.pn.pn.pn.pn = phi { ptr, i32 } [ %7, %lpad5 ], [ %.pn11.pn.pn.pn, %ehcleanup100 ], [ %.pn11.pn.pn.pn, %if.then.i.i.i226 ] + %82 = load ptr, ptr %initial, align 8 + %tobool.not.i.i.i230 = icmp eq ptr %82, null + br i1 %tobool.not.i.i.i230, label %eh.resume, label %if.then.i.i.i231 -if.then.i.i.i232: ; preds = %ehcleanup101 - call void @_ZdlPv(ptr noundef nonnull %83) #28 +if.then.i.i.i231: ; preds = %ehcleanup101 + call void @_ZdlPv(ptr noundef nonnull %82) #29 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i232, %ehcleanup101 +eh.resume: ; preds = %if.then.i.i.i231, %ehcleanup101 resume { ptr, i32 } %.pn11.pn.pn.pn.pn } @@ -86984,7 +87017,7 @@ terminate.lpad.i: ; preds = %if.else %1 = landingpad { ptr, i32 } catch ptr null %2 = extractvalue { ptr, i32 } %1, 0 - tail call void @__clang_call_terminate(ptr %2) #31 + tail call void @__clang_call_terminate(ptr %2) #32 unreachable if.end: ; preds = %if.else, %if.then @@ -86993,7 +87026,7 @@ if.end: ; preds = %if.else, %if.then to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %if.end - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_(ptr noundef %call4, ptr noundef %__beg, ptr noundef %__end) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_(ptr noundef %call4, ptr noundef %__beg, ptr noundef %__end) #28 store ptr null, ptr %__guard, align 8 %3 = load i64, ptr %__dnew, align 8 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm(ptr noundef nonnull align 8 dereferenceable(32) %this, i64 noundef %3) @@ -87005,12 +87038,12 @@ _ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_ lpad: ; preds = %invoke.cont, %if.end %4 = landingpad { ptr, i32 } cleanup - call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %__guard) #27 + call void @_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %__guard) #28 resume { ptr, i32 } %4 } ; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read) -declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #21 +declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #22 declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #0 @@ -87043,14 +87076,14 @@ terminate.lpad: ; preds = %if.then %1 = landingpad { ptr, i32 } catch ptr null %2 = extractvalue { ptr, i32 } %1, 0 - tail call void @__clang_call_terminate(ptr %2) #31 + tail call void @__clang_call_terminate(ptr %2) #32 unreachable } declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 ; Function Attrs: uwtable -define internal void @_GLOBAL__sub_I_container_test.cc() #22 section ".text.startup" personality ptr @__gxx_personality_v0 { +define internal void @_GLOBAL__sub_I_container_test.cc() #23 section ".text.startup" personality ptr @__gxx_personality_v0 { entry: %agg.tmp.i2892 = alloca %"struct.testing::internal::CodeLocation", align 8 %ref.tmp.i2893 = alloca %"class.std::__cxx11::basic_string", align 8 @@ -87410,11 +87443,11 @@ entry: %ref.tmp.i = alloca %"class.std::__cxx11::basic_string", align 8 %ref.tmp1.i = alloca %"class.std::allocator", align 1 tail call void @_ZNSt8ios_base4InitC1Ev(ptr noundef nonnull align 1 dereferenceable(1) @_ZStL8__ioinit) - %0 = tail call i32 @__cxa_atexit(ptr nonnull @_ZNSt8ios_base4InitD1Ev, ptr nonnull @_ZStL8__ioinit, ptr nonnull @__dso_handle) #27 + %0 = tail call i32 @__cxa_atexit(ptr nonnull @_ZNSt8ios_base4InitD1Ev, ptr nonnull @_ZStL8__ioinit, ptr nonnull @__dso_handle) #28 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i) #28 %call.i4.i = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) to label %call.i.noexc.i unwind label %lpad.i @@ -87429,7 +87462,7 @@ call.i.noexc.i: ; preds = %entry lpad.i.i: ; preds = %.noexc.i %1 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i) #28 br label %common.resume invoke.cont.i: ; preds = %.noexc.i @@ -87447,7 +87480,7 @@ invoke.cont6.i: ; preds = %invoke.cont3.i to label %invoke.cont8.i unwind label %lpad4.i invoke.cont8.i: ; preds = %invoke.cont6.i - %call11.i = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont13.i unwind label %lpad4.i invoke.cont13.i: ; preds = %invoke.cont8.i @@ -87468,24 +87501,24 @@ lpad2.i: ; preds = %invoke.cont.i lpad4.i: ; preds = %invoke.cont13.i, %invoke.cont8.i, %invoke.cont6.i, %invoke.cont3.i %4 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i) #28 br label %ehcleanup16.i ehcleanup16.i: ; preds = %lpad4.i, %lpad2.i %.pn.pn.i = phi { ptr, i32 } [ %4, %lpad4.i ], [ %3, %lpad2.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #28 br label %common.resume common.resume: ; preds = %lpad.i.i2901, %lpad.i2896, %ehcleanup16.i2904, %lpad.i.i2875, %lpad.i2870, %ehcleanup16.i2878, %lpad.i.i2849, %lpad.i2844, %ehcleanup16.i2852, %lpad.i.i2825, %lpad.i2820, %ehcleanup16.i2828, %lpad.i.i2801, %lpad.i2796, %ehcleanup16.i2804, %lpad.i.i2777, %lpad.i2772, %ehcleanup16.i2780, %lpad.i.i2753, %lpad.i2748, %ehcleanup16.i2756, %lpad.i.i2729, %lpad.i2724, %ehcleanup16.i2732, %lpad.i.i2705, %lpad.i2700, %ehcleanup16.i2708, %lpad.i.i2681, %lpad.i2676, %ehcleanup16.i2684, %lpad.i.i2657, %lpad.i2652, %ehcleanup16.i2660, %lpad.i.i2631, %lpad.i2626, %ehcleanup16.i2634, %lpad.i.i2605, %lpad.i2600, %ehcleanup16.i2608, %lpad.i.i2579, %lpad.i2574, %ehcleanup16.i2582, %lpad.i.i2553, %lpad.i2548, %ehcleanup16.i2556, %lpad.i.i2527, %lpad.i2522, %ehcleanup16.i2530, %lpad.i.i2501, %lpad.i2496, %ehcleanup16.i2504, %lpad.i.i2475, %lpad.i2470, %ehcleanup16.i2478, %lpad.i.i2449, %lpad.i2444, %ehcleanup16.i2452, %lpad.i.i2423, %lpad.i2418, %ehcleanup16.i2426, %lpad.i.i2397, %lpad.i2392, %ehcleanup16.i2400, %lpad.i.i2371, %lpad.i2366, %ehcleanup16.i2374, %lpad.i.i2345, %lpad.i2340, %ehcleanup16.i2348, %lpad.i.i2319, %lpad.i2314, %ehcleanup16.i2322, %lpad.i.i2293, %lpad.i2288, %ehcleanup16.i2296, %lpad.i.i2267, %lpad.i2262, %ehcleanup16.i2270, %lpad.i.i2241, %lpad.i2236, %ehcleanup16.i2244, %lpad.i.i2215, %lpad.i2210, %ehcleanup16.i2218, %lpad.i.i2189, %lpad.i2184, %ehcleanup16.i2192, %lpad.i.i2163, %lpad.i2158, %ehcleanup16.i2166, %lpad.i.i2137, %lpad.i2132, %ehcleanup16.i2140, %lpad.i.i2111, %lpad.i2106, %ehcleanup16.i2114, %lpad.i.i2085, %lpad.i2080, %ehcleanup16.i2088, %lpad.i.i2059, %lpad.i2054, %ehcleanup16.i2062, %lpad.i.i2033, %lpad.i2028, %ehcleanup16.i2036, %lpad.i.i2007, %lpad.i2002, %ehcleanup16.i2010, %lpad.i.i1981, %lpad.i1976, %ehcleanup16.i1984, %lpad.i.i1955, %lpad.i1950, %ehcleanup16.i1958, %lpad.i.i1931, %lpad.i1926, %ehcleanup16.i1934, %lpad.i.i1905, %lpad.i1900, %ehcleanup16.i1908, %lpad.i.i1879, %lpad.i1874, %ehcleanup16.i1882, %lpad.i.i1853, %lpad.i1848, %ehcleanup16.i1856, %lpad.i.i1827, %lpad.i1822, %ehcleanup16.i1830, %lpad.i.i1801, %lpad.i1796, %ehcleanup16.i1804, %lpad.i.i1775, %lpad.i1770, %ehcleanup16.i1778, %lpad.i.i1749, %lpad.i1744, %ehcleanup16.i1752, %lpad.i.i1723, %lpad.i1718, %ehcleanup16.i1726, %lpad.i.i1697, %lpad.i1692, %ehcleanup16.i1700, %lpad.i.i1671, %lpad.i1666, %ehcleanup16.i1674, %lpad.i.i1645, %lpad.i1640, %ehcleanup16.i1648, %lpad.i.i1619, %lpad.i1614, %ehcleanup16.i1622, %lpad.i.i1593, %lpad.i1588, %ehcleanup16.i1596, %lpad.i.i1567, %lpad.i1562, %ehcleanup16.i1570, %lpad.i.i1543, %lpad.i1538, %ehcleanup16.i1546, %lpad.i.i1519, %lpad.i1514, %ehcleanup16.i1522, %lpad.i.i1495, %lpad.i1490, %ehcleanup16.i1498, %lpad.i.i1471, %lpad.i1466, %ehcleanup16.i1474, %lpad.i.i1447, %lpad.i1442, %ehcleanup16.i1450, %lpad.i.i1423, %lpad.i1418, %ehcleanup16.i1426, %lpad.i.i1399, %lpad.i1394, %ehcleanup16.i1402, %lpad.i.i1375, %lpad.i1370, %ehcleanup16.i1378, %lpad.i.i1351, %lpad.i1346, %ehcleanup16.i1354, %lpad.i.i1327, %lpad.i1322, %ehcleanup16.i1330, %lpad.i.i1303, %lpad.i1298, %ehcleanup16.i1306, %lpad.i.i1279, %lpad.i1274, %ehcleanup16.i1282, %lpad.i.i1255, %lpad.i1250, %ehcleanup16.i1258, %lpad.i.i1231, %lpad.i1226, %ehcleanup16.i1234, %lpad.i.i1207, %lpad.i1202, %ehcleanup16.i1210, %lpad.i.i1183, %lpad.i1178, %ehcleanup16.i1186, %lpad.i.i1159, %lpad.i1154, %ehcleanup16.i1162, %lpad.i.i1135, %lpad.i1130, %ehcleanup16.i1138, %lpad.i.i1111, %lpad.i1106, %ehcleanup16.i1114, %lpad.i.i1087, %lpad.i1082, %ehcleanup16.i1090, %lpad.i.i1063, %lpad.i1058, %ehcleanup16.i1066, %lpad.i.i1039, %lpad.i1034, %ehcleanup16.i1042, %lpad.i.i1015, %lpad.i1010, %ehcleanup16.i1018, %lpad.i.i991, %lpad.i986, %ehcleanup16.i994, %lpad.i.i967, %lpad.i962, %ehcleanup16.i970, %lpad.i.i943, %lpad.i938, %ehcleanup16.i946, %lpad.i.i919, %lpad.i914, %ehcleanup16.i922, %lpad.i.i895, %lpad.i890, %ehcleanup16.i898, %lpad.i.i871, %lpad.i866, %ehcleanup16.i874, %lpad.i.i847, %lpad.i842, %ehcleanup16.i850, %lpad.i.i823, %lpad.i818, %ehcleanup16.i826, %lpad.i.i799, %lpad.i794, %ehcleanup16.i802, %lpad.i.i775, %lpad.i770, %ehcleanup16.i778, %lpad.i.i751, %lpad.i746, %ehcleanup16.i754, %lpad.i.i727, %lpad.i722, %ehcleanup16.i730, %lpad.i.i703, %lpad.i698, %ehcleanup16.i706, %lpad.i.i679, %lpad.i674, %ehcleanup16.i682, %lpad.i.i655, %lpad.i650, %ehcleanup16.i658, %lpad.i.i631, %lpad.i626, %ehcleanup16.i634, %lpad.i.i607, %lpad.i602, %ehcleanup16.i610, %lpad.i.i583, %lpad.i578, %ehcleanup16.i586, %lpad.i.i559, %lpad.i554, %ehcleanup16.i562, %lpad.i.i535, %lpad.i530, %ehcleanup16.i538, %lpad.i.i511, %lpad.i506, %ehcleanup16.i514, %lpad.i.i487, %lpad.i482, %ehcleanup16.i490, %lpad.i.i463, %lpad.i458, %ehcleanup16.i466, %lpad.i.i439, %lpad.i434, %ehcleanup16.i442, %lpad.i.i415, %lpad.i410, %ehcleanup16.i418, %lpad.i.i391, %lpad.i386, %ehcleanup16.i394, %lpad.i.i367, %lpad.i362, %ehcleanup16.i370, %lpad.i.i343, %lpad.i338, %ehcleanup16.i346, %lpad.i.i319, %lpad.i314, %ehcleanup16.i322, %lpad.i.i295, %lpad.i290, %ehcleanup16.i298, %lpad.i.i271, %lpad.i266, %ehcleanup16.i274, %lpad.i.i247, %lpad.i242, %ehcleanup16.i250, %lpad.i.i223, %lpad.i218, %ehcleanup16.i226, %lpad.i.i199, %lpad.i194, %ehcleanup16.i202, %lpad.i.i175, %lpad.i170, %ehcleanup16.i178, %lpad.i.i151, %lpad.i146, %ehcleanup16.i154, %lpad.i.i127, %lpad.i122, %ehcleanup16.i130, %lpad.i.i103, %lpad.i98, %ehcleanup16.i106, %lpad.i.i79, %lpad.i74, %ehcleanup16.i82, %lpad.i.i55, %lpad.i50, %ehcleanup16.i58, %lpad.i.i31, %lpad.i26, %ehcleanup16.i34, %lpad.i.i9, %lpad.i4, %ehcleanup16.i12, %lpad.i.i, %lpad.i, %ehcleanup16.i %ref.tmp1.i2894.sink = phi ptr [ %ref.tmp1.i, %ehcleanup16.i ], [ %ref.tmp1.i, %lpad.i ], [ %ref.tmp1.i, %lpad.i.i ], [ %ref.tmp1.i3, %ehcleanup16.i12 ], [ %ref.tmp1.i3, %lpad.i4 ], [ %ref.tmp1.i3, %lpad.i.i9 ], [ %ref.tmp1.i24, %ehcleanup16.i34 ], [ %ref.tmp1.i24, %lpad.i26 ], [ %ref.tmp1.i24, %lpad.i.i31 ], [ %ref.tmp1.i48, %ehcleanup16.i58 ], [ %ref.tmp1.i48, %lpad.i50 ], [ %ref.tmp1.i48, %lpad.i.i55 ], [ %ref.tmp1.i72, %ehcleanup16.i82 ], [ %ref.tmp1.i72, %lpad.i74 ], [ %ref.tmp1.i72, %lpad.i.i79 ], [ %ref.tmp1.i96, %ehcleanup16.i106 ], [ %ref.tmp1.i96, %lpad.i98 ], [ %ref.tmp1.i96, %lpad.i.i103 ], [ %ref.tmp1.i120, %ehcleanup16.i130 ], [ %ref.tmp1.i120, %lpad.i122 ], [ %ref.tmp1.i120, %lpad.i.i127 ], [ %ref.tmp1.i144, %ehcleanup16.i154 ], [ %ref.tmp1.i144, %lpad.i146 ], [ %ref.tmp1.i144, %lpad.i.i151 ], [ %ref.tmp1.i168, %ehcleanup16.i178 ], [ %ref.tmp1.i168, %lpad.i170 ], [ %ref.tmp1.i168, %lpad.i.i175 ], [ %ref.tmp1.i192, %ehcleanup16.i202 ], [ %ref.tmp1.i192, %lpad.i194 ], [ %ref.tmp1.i192, %lpad.i.i199 ], [ %ref.tmp1.i216, %ehcleanup16.i226 ], [ %ref.tmp1.i216, %lpad.i218 ], [ %ref.tmp1.i216, %lpad.i.i223 ], [ %ref.tmp1.i240, %ehcleanup16.i250 ], [ %ref.tmp1.i240, %lpad.i242 ], [ %ref.tmp1.i240, %lpad.i.i247 ], [ %ref.tmp1.i264, %ehcleanup16.i274 ], [ %ref.tmp1.i264, %lpad.i266 ], [ %ref.tmp1.i264, %lpad.i.i271 ], [ %ref.tmp1.i288, %ehcleanup16.i298 ], [ %ref.tmp1.i288, %lpad.i290 ], [ %ref.tmp1.i288, %lpad.i.i295 ], [ %ref.tmp1.i312, %ehcleanup16.i322 ], [ %ref.tmp1.i312, %lpad.i314 ], [ %ref.tmp1.i312, %lpad.i.i319 ], [ %ref.tmp1.i336, %ehcleanup16.i346 ], [ %ref.tmp1.i336, %lpad.i338 ], [ %ref.tmp1.i336, %lpad.i.i343 ], [ %ref.tmp1.i360, %ehcleanup16.i370 ], [ %ref.tmp1.i360, %lpad.i362 ], [ %ref.tmp1.i360, %lpad.i.i367 ], [ %ref.tmp1.i384, %ehcleanup16.i394 ], [ %ref.tmp1.i384, %lpad.i386 ], [ %ref.tmp1.i384, %lpad.i.i391 ], [ %ref.tmp1.i408, %ehcleanup16.i418 ], [ %ref.tmp1.i408, %lpad.i410 ], [ %ref.tmp1.i408, %lpad.i.i415 ], [ %ref.tmp1.i432, %ehcleanup16.i442 ], [ %ref.tmp1.i432, %lpad.i434 ], [ %ref.tmp1.i432, %lpad.i.i439 ], [ %ref.tmp1.i456, %ehcleanup16.i466 ], [ %ref.tmp1.i456, %lpad.i458 ], [ %ref.tmp1.i456, %lpad.i.i463 ], [ %ref.tmp1.i480, %ehcleanup16.i490 ], [ %ref.tmp1.i480, %lpad.i482 ], [ %ref.tmp1.i480, %lpad.i.i487 ], [ %ref.tmp1.i504, %ehcleanup16.i514 ], [ %ref.tmp1.i504, %lpad.i506 ], [ %ref.tmp1.i504, %lpad.i.i511 ], [ %ref.tmp1.i528, %ehcleanup16.i538 ], [ %ref.tmp1.i528, %lpad.i530 ], [ %ref.tmp1.i528, %lpad.i.i535 ], [ %ref.tmp1.i552, %ehcleanup16.i562 ], [ %ref.tmp1.i552, %lpad.i554 ], [ %ref.tmp1.i552, %lpad.i.i559 ], [ %ref.tmp1.i576, %ehcleanup16.i586 ], [ %ref.tmp1.i576, %lpad.i578 ], [ %ref.tmp1.i576, %lpad.i.i583 ], [ %ref.tmp1.i600, %ehcleanup16.i610 ], [ %ref.tmp1.i600, %lpad.i602 ], [ %ref.tmp1.i600, %lpad.i.i607 ], [ %ref.tmp1.i624, %ehcleanup16.i634 ], [ %ref.tmp1.i624, %lpad.i626 ], [ %ref.tmp1.i624, %lpad.i.i631 ], [ %ref.tmp1.i648, %ehcleanup16.i658 ], [ %ref.tmp1.i648, %lpad.i650 ], [ %ref.tmp1.i648, %lpad.i.i655 ], [ %ref.tmp1.i672, %ehcleanup16.i682 ], [ %ref.tmp1.i672, %lpad.i674 ], [ %ref.tmp1.i672, %lpad.i.i679 ], [ %ref.tmp1.i696, %ehcleanup16.i706 ], [ %ref.tmp1.i696, %lpad.i698 ], [ %ref.tmp1.i696, %lpad.i.i703 ], [ %ref.tmp1.i720, %ehcleanup16.i730 ], [ %ref.tmp1.i720, %lpad.i722 ], [ %ref.tmp1.i720, %lpad.i.i727 ], [ %ref.tmp1.i744, %ehcleanup16.i754 ], [ %ref.tmp1.i744, %lpad.i746 ], [ %ref.tmp1.i744, %lpad.i.i751 ], [ %ref.tmp1.i768, %ehcleanup16.i778 ], [ %ref.tmp1.i768, %lpad.i770 ], [ %ref.tmp1.i768, %lpad.i.i775 ], [ %ref.tmp1.i792, %ehcleanup16.i802 ], [ %ref.tmp1.i792, %lpad.i794 ], [ %ref.tmp1.i792, %lpad.i.i799 ], [ %ref.tmp1.i816, %ehcleanup16.i826 ], [ %ref.tmp1.i816, %lpad.i818 ], [ %ref.tmp1.i816, %lpad.i.i823 ], [ %ref.tmp1.i840, %ehcleanup16.i850 ], [ %ref.tmp1.i840, %lpad.i842 ], [ %ref.tmp1.i840, %lpad.i.i847 ], [ %ref.tmp1.i864, %ehcleanup16.i874 ], [ %ref.tmp1.i864, %lpad.i866 ], [ %ref.tmp1.i864, %lpad.i.i871 ], [ %ref.tmp1.i888, %ehcleanup16.i898 ], [ %ref.tmp1.i888, %lpad.i890 ], [ %ref.tmp1.i888, %lpad.i.i895 ], [ %ref.tmp1.i912, %ehcleanup16.i922 ], [ %ref.tmp1.i912, %lpad.i914 ], [ %ref.tmp1.i912, %lpad.i.i919 ], [ %ref.tmp1.i936, %ehcleanup16.i946 ], [ %ref.tmp1.i936, %lpad.i938 ], [ %ref.tmp1.i936, %lpad.i.i943 ], [ %ref.tmp1.i960, %ehcleanup16.i970 ], [ %ref.tmp1.i960, %lpad.i962 ], [ %ref.tmp1.i960, %lpad.i.i967 ], [ %ref.tmp1.i984, %ehcleanup16.i994 ], [ %ref.tmp1.i984, %lpad.i986 ], [ %ref.tmp1.i984, %lpad.i.i991 ], [ %ref.tmp1.i1008, %ehcleanup16.i1018 ], [ %ref.tmp1.i1008, %lpad.i1010 ], [ %ref.tmp1.i1008, %lpad.i.i1015 ], [ %ref.tmp1.i1032, %ehcleanup16.i1042 ], [ %ref.tmp1.i1032, %lpad.i1034 ], [ %ref.tmp1.i1032, %lpad.i.i1039 ], [ %ref.tmp1.i1056, %ehcleanup16.i1066 ], [ %ref.tmp1.i1056, %lpad.i1058 ], [ %ref.tmp1.i1056, %lpad.i.i1063 ], [ %ref.tmp1.i1080, %ehcleanup16.i1090 ], [ %ref.tmp1.i1080, %lpad.i1082 ], [ %ref.tmp1.i1080, %lpad.i.i1087 ], [ %ref.tmp1.i1104, %ehcleanup16.i1114 ], [ %ref.tmp1.i1104, %lpad.i1106 ], [ %ref.tmp1.i1104, %lpad.i.i1111 ], [ %ref.tmp1.i1128, %ehcleanup16.i1138 ], [ %ref.tmp1.i1128, %lpad.i1130 ], [ %ref.tmp1.i1128, %lpad.i.i1135 ], [ %ref.tmp1.i1152, %ehcleanup16.i1162 ], [ %ref.tmp1.i1152, %lpad.i1154 ], [ %ref.tmp1.i1152, %lpad.i.i1159 ], [ %ref.tmp1.i1176, %ehcleanup16.i1186 ], [ %ref.tmp1.i1176, %lpad.i1178 ], [ %ref.tmp1.i1176, %lpad.i.i1183 ], [ %ref.tmp1.i1200, %ehcleanup16.i1210 ], [ %ref.tmp1.i1200, %lpad.i1202 ], [ %ref.tmp1.i1200, %lpad.i.i1207 ], [ %ref.tmp1.i1224, %ehcleanup16.i1234 ], [ %ref.tmp1.i1224, %lpad.i1226 ], [ %ref.tmp1.i1224, %lpad.i.i1231 ], [ %ref.tmp1.i1248, %ehcleanup16.i1258 ], [ %ref.tmp1.i1248, %lpad.i1250 ], [ %ref.tmp1.i1248, %lpad.i.i1255 ], [ %ref.tmp1.i1272, %ehcleanup16.i1282 ], [ %ref.tmp1.i1272, %lpad.i1274 ], [ %ref.tmp1.i1272, %lpad.i.i1279 ], [ %ref.tmp1.i1296, %ehcleanup16.i1306 ], [ %ref.tmp1.i1296, %lpad.i1298 ], [ %ref.tmp1.i1296, %lpad.i.i1303 ], [ %ref.tmp1.i1320, %ehcleanup16.i1330 ], [ %ref.tmp1.i1320, %lpad.i1322 ], [ %ref.tmp1.i1320, %lpad.i.i1327 ], [ %ref.tmp1.i1344, %ehcleanup16.i1354 ], [ %ref.tmp1.i1344, %lpad.i1346 ], [ %ref.tmp1.i1344, %lpad.i.i1351 ], [ %ref.tmp1.i1368, %ehcleanup16.i1378 ], [ %ref.tmp1.i1368, %lpad.i1370 ], [ %ref.tmp1.i1368, %lpad.i.i1375 ], [ %ref.tmp1.i1392, %ehcleanup16.i1402 ], [ %ref.tmp1.i1392, %lpad.i1394 ], [ %ref.tmp1.i1392, %lpad.i.i1399 ], [ %ref.tmp1.i1416, %ehcleanup16.i1426 ], [ %ref.tmp1.i1416, %lpad.i1418 ], [ %ref.tmp1.i1416, %lpad.i.i1423 ], [ %ref.tmp1.i1440, %ehcleanup16.i1450 ], [ %ref.tmp1.i1440, %lpad.i1442 ], [ %ref.tmp1.i1440, %lpad.i.i1447 ], [ %ref.tmp1.i1464, %ehcleanup16.i1474 ], [ %ref.tmp1.i1464, %lpad.i1466 ], [ %ref.tmp1.i1464, %lpad.i.i1471 ], [ %ref.tmp1.i1488, %ehcleanup16.i1498 ], [ %ref.tmp1.i1488, %lpad.i1490 ], [ %ref.tmp1.i1488, %lpad.i.i1495 ], [ %ref.tmp1.i1512, %ehcleanup16.i1522 ], [ %ref.tmp1.i1512, %lpad.i1514 ], [ %ref.tmp1.i1512, %lpad.i.i1519 ], [ %ref.tmp1.i1536, %ehcleanup16.i1546 ], [ %ref.tmp1.i1536, %lpad.i1538 ], [ %ref.tmp1.i1536, %lpad.i.i1543 ], [ %ref.tmp1.i1560, %ehcleanup16.i1570 ], [ %ref.tmp1.i1560, %lpad.i1562 ], [ %ref.tmp1.i1560, %lpad.i.i1567 ], [ %ref.tmp1.i1586, %ehcleanup16.i1596 ], [ %ref.tmp1.i1586, %lpad.i1588 ], [ %ref.tmp1.i1586, %lpad.i.i1593 ], [ %ref.tmp1.i1612, %ehcleanup16.i1622 ], [ %ref.tmp1.i1612, %lpad.i1614 ], [ %ref.tmp1.i1612, %lpad.i.i1619 ], [ %ref.tmp1.i1638, %ehcleanup16.i1648 ], [ %ref.tmp1.i1638, %lpad.i1640 ], [ %ref.tmp1.i1638, %lpad.i.i1645 ], [ %ref.tmp1.i1664, %ehcleanup16.i1674 ], [ %ref.tmp1.i1664, %lpad.i1666 ], [ %ref.tmp1.i1664, %lpad.i.i1671 ], [ %ref.tmp1.i1690, %ehcleanup16.i1700 ], [ %ref.tmp1.i1690, %lpad.i1692 ], [ %ref.tmp1.i1690, %lpad.i.i1697 ], [ %ref.tmp1.i1716, %ehcleanup16.i1726 ], [ %ref.tmp1.i1716, %lpad.i1718 ], [ %ref.tmp1.i1716, %lpad.i.i1723 ], [ %ref.tmp1.i1742, %ehcleanup16.i1752 ], [ %ref.tmp1.i1742, %lpad.i1744 ], [ %ref.tmp1.i1742, %lpad.i.i1749 ], [ %ref.tmp1.i1768, %ehcleanup16.i1778 ], [ %ref.tmp1.i1768, %lpad.i1770 ], [ %ref.tmp1.i1768, %lpad.i.i1775 ], [ %ref.tmp1.i1794, %ehcleanup16.i1804 ], [ %ref.tmp1.i1794, %lpad.i1796 ], [ %ref.tmp1.i1794, %lpad.i.i1801 ], [ %ref.tmp1.i1820, %ehcleanup16.i1830 ], [ %ref.tmp1.i1820, %lpad.i1822 ], [ %ref.tmp1.i1820, %lpad.i.i1827 ], [ %ref.tmp1.i1846, %ehcleanup16.i1856 ], [ %ref.tmp1.i1846, %lpad.i1848 ], [ %ref.tmp1.i1846, %lpad.i.i1853 ], [ %ref.tmp1.i1872, %ehcleanup16.i1882 ], [ %ref.tmp1.i1872, %lpad.i1874 ], [ %ref.tmp1.i1872, %lpad.i.i1879 ], [ %ref.tmp1.i1898, %ehcleanup16.i1908 ], [ %ref.tmp1.i1898, %lpad.i1900 ], [ %ref.tmp1.i1898, %lpad.i.i1905 ], [ %ref.tmp1.i1924, %ehcleanup16.i1934 ], [ %ref.tmp1.i1924, %lpad.i1926 ], [ %ref.tmp1.i1924, %lpad.i.i1931 ], [ %ref.tmp1.i1948, %ehcleanup16.i1958 ], [ %ref.tmp1.i1948, %lpad.i1950 ], [ %ref.tmp1.i1948, %lpad.i.i1955 ], [ %ref.tmp1.i1974, %ehcleanup16.i1984 ], [ %ref.tmp1.i1974, %lpad.i1976 ], [ %ref.tmp1.i1974, %lpad.i.i1981 ], [ %ref.tmp1.i2000, %ehcleanup16.i2010 ], [ %ref.tmp1.i2000, %lpad.i2002 ], [ %ref.tmp1.i2000, %lpad.i.i2007 ], [ %ref.tmp1.i2026, %ehcleanup16.i2036 ], [ %ref.tmp1.i2026, %lpad.i2028 ], [ %ref.tmp1.i2026, %lpad.i.i2033 ], [ %ref.tmp1.i2052, %ehcleanup16.i2062 ], [ %ref.tmp1.i2052, %lpad.i2054 ], [ %ref.tmp1.i2052, %lpad.i.i2059 ], [ %ref.tmp1.i2078, %ehcleanup16.i2088 ], [ %ref.tmp1.i2078, %lpad.i2080 ], [ %ref.tmp1.i2078, %lpad.i.i2085 ], [ %ref.tmp1.i2104, %ehcleanup16.i2114 ], [ %ref.tmp1.i2104, %lpad.i2106 ], [ %ref.tmp1.i2104, %lpad.i.i2111 ], [ %ref.tmp1.i2130, %ehcleanup16.i2140 ], [ %ref.tmp1.i2130, %lpad.i2132 ], [ %ref.tmp1.i2130, %lpad.i.i2137 ], [ %ref.tmp1.i2156, %ehcleanup16.i2166 ], [ %ref.tmp1.i2156, %lpad.i2158 ], [ %ref.tmp1.i2156, %lpad.i.i2163 ], [ %ref.tmp1.i2182, %ehcleanup16.i2192 ], [ %ref.tmp1.i2182, %lpad.i2184 ], [ %ref.tmp1.i2182, %lpad.i.i2189 ], [ %ref.tmp1.i2208, %ehcleanup16.i2218 ], [ %ref.tmp1.i2208, %lpad.i2210 ], [ %ref.tmp1.i2208, %lpad.i.i2215 ], [ %ref.tmp1.i2234, %ehcleanup16.i2244 ], [ %ref.tmp1.i2234, %lpad.i2236 ], [ %ref.tmp1.i2234, %lpad.i.i2241 ], [ %ref.tmp1.i2260, %ehcleanup16.i2270 ], [ %ref.tmp1.i2260, %lpad.i2262 ], [ %ref.tmp1.i2260, %lpad.i.i2267 ], [ %ref.tmp1.i2286, %ehcleanup16.i2296 ], [ %ref.tmp1.i2286, %lpad.i2288 ], [ %ref.tmp1.i2286, %lpad.i.i2293 ], [ %ref.tmp1.i2312, %ehcleanup16.i2322 ], [ %ref.tmp1.i2312, %lpad.i2314 ], [ %ref.tmp1.i2312, %lpad.i.i2319 ], [ %ref.tmp1.i2338, %ehcleanup16.i2348 ], [ %ref.tmp1.i2338, %lpad.i2340 ], [ %ref.tmp1.i2338, %lpad.i.i2345 ], [ %ref.tmp1.i2364, %ehcleanup16.i2374 ], [ %ref.tmp1.i2364, %lpad.i2366 ], [ %ref.tmp1.i2364, %lpad.i.i2371 ], [ %ref.tmp1.i2390, %ehcleanup16.i2400 ], [ %ref.tmp1.i2390, %lpad.i2392 ], [ %ref.tmp1.i2390, %lpad.i.i2397 ], [ %ref.tmp1.i2416, %ehcleanup16.i2426 ], [ %ref.tmp1.i2416, %lpad.i2418 ], [ %ref.tmp1.i2416, %lpad.i.i2423 ], [ %ref.tmp1.i2442, %ehcleanup16.i2452 ], [ %ref.tmp1.i2442, %lpad.i2444 ], [ %ref.tmp1.i2442, %lpad.i.i2449 ], [ %ref.tmp1.i2468, %ehcleanup16.i2478 ], [ %ref.tmp1.i2468, %lpad.i2470 ], [ %ref.tmp1.i2468, %lpad.i.i2475 ], [ %ref.tmp1.i2494, %ehcleanup16.i2504 ], [ %ref.tmp1.i2494, %lpad.i2496 ], [ %ref.tmp1.i2494, %lpad.i.i2501 ], [ %ref.tmp1.i2520, %ehcleanup16.i2530 ], [ %ref.tmp1.i2520, %lpad.i2522 ], [ %ref.tmp1.i2520, %lpad.i.i2527 ], [ %ref.tmp1.i2546, %ehcleanup16.i2556 ], [ %ref.tmp1.i2546, %lpad.i2548 ], [ %ref.tmp1.i2546, %lpad.i.i2553 ], [ %ref.tmp1.i2572, %ehcleanup16.i2582 ], [ %ref.tmp1.i2572, %lpad.i2574 ], [ %ref.tmp1.i2572, %lpad.i.i2579 ], [ %ref.tmp1.i2598, %ehcleanup16.i2608 ], [ %ref.tmp1.i2598, %lpad.i2600 ], [ %ref.tmp1.i2598, %lpad.i.i2605 ], [ %ref.tmp1.i2624, %ehcleanup16.i2634 ], [ %ref.tmp1.i2624, %lpad.i2626 ], [ %ref.tmp1.i2624, %lpad.i.i2631 ], [ %ref.tmp1.i2650, %ehcleanup16.i2660 ], [ %ref.tmp1.i2650, %lpad.i2652 ], [ %ref.tmp1.i2650, %lpad.i.i2657 ], [ %ref.tmp1.i2674, %ehcleanup16.i2684 ], [ %ref.tmp1.i2674, %lpad.i2676 ], [ %ref.tmp1.i2674, %lpad.i.i2681 ], [ %ref.tmp1.i2698, %ehcleanup16.i2708 ], [ %ref.tmp1.i2698, %lpad.i2700 ], [ %ref.tmp1.i2698, %lpad.i.i2705 ], [ %ref.tmp1.i2722, %ehcleanup16.i2732 ], [ %ref.tmp1.i2722, %lpad.i2724 ], [ %ref.tmp1.i2722, %lpad.i.i2729 ], [ %ref.tmp1.i2746, %ehcleanup16.i2756 ], [ %ref.tmp1.i2746, %lpad.i2748 ], [ %ref.tmp1.i2746, %lpad.i.i2753 ], [ %ref.tmp1.i2770, %ehcleanup16.i2780 ], [ %ref.tmp1.i2770, %lpad.i2772 ], [ %ref.tmp1.i2770, %lpad.i.i2777 ], [ %ref.tmp1.i2794, %ehcleanup16.i2804 ], [ %ref.tmp1.i2794, %lpad.i2796 ], [ %ref.tmp1.i2794, %lpad.i.i2801 ], [ %ref.tmp1.i2818, %ehcleanup16.i2828 ], [ %ref.tmp1.i2818, %lpad.i2820 ], [ %ref.tmp1.i2818, %lpad.i.i2825 ], [ %ref.tmp1.i2842, %ehcleanup16.i2852 ], [ %ref.tmp1.i2842, %lpad.i2844 ], [ %ref.tmp1.i2842, %lpad.i.i2849 ], [ %ref.tmp1.i2868, %ehcleanup16.i2878 ], [ %ref.tmp1.i2868, %lpad.i2870 ], [ %ref.tmp1.i2868, %lpad.i.i2875 ], [ %ref.tmp1.i2894, %ehcleanup16.i2904 ], [ %ref.tmp1.i2894, %lpad.i2896 ], [ %ref.tmp1.i2894, %lpad.i.i2901 ] %common.resume.op = phi { ptr, i32 } [ %.pn.pn.i, %ehcleanup16.i ], [ %2, %lpad.i ], [ %1, %lpad.i.i ], [ %.pn.i, %ehcleanup16.i12 ], [ %6, %lpad.i4 ], [ %5, %lpad.i.i9 ], [ %.pn.i35, %ehcleanup16.i34 ], [ %10, %lpad.i26 ], [ %9, %lpad.i.i31 ], [ %.pn.i59, %ehcleanup16.i58 ], [ %14, %lpad.i50 ], [ %13, %lpad.i.i55 ], [ %.pn.i83, %ehcleanup16.i82 ], [ %18, %lpad.i74 ], [ %17, %lpad.i.i79 ], [ %.pn.i107, %ehcleanup16.i106 ], [ %22, %lpad.i98 ], [ %21, %lpad.i.i103 ], [ %.pn.i131, %ehcleanup16.i130 ], [ %26, %lpad.i122 ], [ %25, %lpad.i.i127 ], [ %.pn.i155, %ehcleanup16.i154 ], [ %30, %lpad.i146 ], [ %29, %lpad.i.i151 ], [ %.pn.i179, %ehcleanup16.i178 ], [ %34, %lpad.i170 ], [ %33, %lpad.i.i175 ], [ %.pn.i203, %ehcleanup16.i202 ], [ %38, %lpad.i194 ], [ %37, %lpad.i.i199 ], [ %.pn.i227, %ehcleanup16.i226 ], [ %42, %lpad.i218 ], [ %41, %lpad.i.i223 ], [ %.pn.i251, %ehcleanup16.i250 ], [ %46, %lpad.i242 ], [ %45, %lpad.i.i247 ], [ %.pn.i275, %ehcleanup16.i274 ], [ %50, %lpad.i266 ], [ %49, %lpad.i.i271 ], [ %.pn.i299, %ehcleanup16.i298 ], [ %54, %lpad.i290 ], [ %53, %lpad.i.i295 ], [ %.pn.i323, %ehcleanup16.i322 ], [ %58, %lpad.i314 ], [ %57, %lpad.i.i319 ], [ %.pn.i347, %ehcleanup16.i346 ], [ %62, %lpad.i338 ], [ %61, %lpad.i.i343 ], [ %.pn.i371, %ehcleanup16.i370 ], [ %66, %lpad.i362 ], [ %65, %lpad.i.i367 ], [ %.pn.i395, %ehcleanup16.i394 ], [ %70, %lpad.i386 ], [ %69, %lpad.i.i391 ], [ %.pn.i419, %ehcleanup16.i418 ], [ %74, %lpad.i410 ], [ %73, %lpad.i.i415 ], [ %.pn.i443, %ehcleanup16.i442 ], [ %78, %lpad.i434 ], [ %77, %lpad.i.i439 ], [ %.pn.i467, %ehcleanup16.i466 ], [ %82, %lpad.i458 ], [ %81, %lpad.i.i463 ], [ %.pn.i491, %ehcleanup16.i490 ], [ %86, %lpad.i482 ], [ %85, %lpad.i.i487 ], [ %.pn.i515, %ehcleanup16.i514 ], [ %90, %lpad.i506 ], [ %89, %lpad.i.i511 ], [ %.pn.i539, %ehcleanup16.i538 ], [ %94, %lpad.i530 ], [ %93, %lpad.i.i535 ], [ %.pn.i563, %ehcleanup16.i562 ], [ %98, %lpad.i554 ], [ %97, %lpad.i.i559 ], [ %.pn.i587, %ehcleanup16.i586 ], [ %102, %lpad.i578 ], [ %101, %lpad.i.i583 ], [ %.pn.i611, %ehcleanup16.i610 ], [ %106, %lpad.i602 ], [ %105, %lpad.i.i607 ], [ %.pn.i635, %ehcleanup16.i634 ], [ %110, %lpad.i626 ], [ %109, %lpad.i.i631 ], [ %.pn.i659, %ehcleanup16.i658 ], [ %114, %lpad.i650 ], [ %113, %lpad.i.i655 ], [ %.pn.i683, %ehcleanup16.i682 ], [ %118, %lpad.i674 ], [ %117, %lpad.i.i679 ], [ %.pn.i707, %ehcleanup16.i706 ], [ %122, %lpad.i698 ], [ %121, %lpad.i.i703 ], [ %.pn.i731, %ehcleanup16.i730 ], [ %126, %lpad.i722 ], [ %125, %lpad.i.i727 ], [ %.pn.i755, %ehcleanup16.i754 ], [ %130, %lpad.i746 ], [ %129, %lpad.i.i751 ], [ %.pn.i779, %ehcleanup16.i778 ], [ %134, %lpad.i770 ], [ %133, %lpad.i.i775 ], [ %.pn.i803, %ehcleanup16.i802 ], [ %138, %lpad.i794 ], [ %137, %lpad.i.i799 ], [ %.pn.i827, %ehcleanup16.i826 ], [ %142, %lpad.i818 ], [ %141, %lpad.i.i823 ], [ %.pn.i851, %ehcleanup16.i850 ], [ %146, %lpad.i842 ], [ %145, %lpad.i.i847 ], [ %.pn.i875, %ehcleanup16.i874 ], [ %150, %lpad.i866 ], [ %149, %lpad.i.i871 ], [ %.pn.i899, %ehcleanup16.i898 ], [ %154, %lpad.i890 ], [ %153, %lpad.i.i895 ], [ %.pn.i923, %ehcleanup16.i922 ], [ %158, %lpad.i914 ], [ %157, %lpad.i.i919 ], [ %.pn.i947, %ehcleanup16.i946 ], [ %162, %lpad.i938 ], [ %161, %lpad.i.i943 ], [ %.pn.i971, %ehcleanup16.i970 ], [ %166, %lpad.i962 ], [ %165, %lpad.i.i967 ], [ %.pn.i995, %ehcleanup16.i994 ], [ %170, %lpad.i986 ], [ %169, %lpad.i.i991 ], [ %.pn.i1019, %ehcleanup16.i1018 ], [ %174, %lpad.i1010 ], [ %173, %lpad.i.i1015 ], [ %.pn.i1043, %ehcleanup16.i1042 ], [ %178, %lpad.i1034 ], [ %177, %lpad.i.i1039 ], [ %.pn.i1067, %ehcleanup16.i1066 ], [ %182, %lpad.i1058 ], [ %181, %lpad.i.i1063 ], [ %.pn.i1091, %ehcleanup16.i1090 ], [ %186, %lpad.i1082 ], [ %185, %lpad.i.i1087 ], [ %.pn.i1115, %ehcleanup16.i1114 ], [ %190, %lpad.i1106 ], [ %189, %lpad.i.i1111 ], [ %.pn.i1139, %ehcleanup16.i1138 ], [ %194, %lpad.i1130 ], [ %193, %lpad.i.i1135 ], [ %.pn.i1163, %ehcleanup16.i1162 ], [ %198, %lpad.i1154 ], [ %197, %lpad.i.i1159 ], [ %.pn.i1187, %ehcleanup16.i1186 ], [ %202, %lpad.i1178 ], [ %201, %lpad.i.i1183 ], [ %.pn.i1211, %ehcleanup16.i1210 ], [ %206, %lpad.i1202 ], [ %205, %lpad.i.i1207 ], [ %.pn.i1235, %ehcleanup16.i1234 ], [ %210, %lpad.i1226 ], [ %209, %lpad.i.i1231 ], [ %.pn.i1259, %ehcleanup16.i1258 ], [ %214, %lpad.i1250 ], [ %213, %lpad.i.i1255 ], [ %.pn.i1283, %ehcleanup16.i1282 ], [ %218, %lpad.i1274 ], [ %217, %lpad.i.i1279 ], [ %.pn.i1307, %ehcleanup16.i1306 ], [ %222, %lpad.i1298 ], [ %221, %lpad.i.i1303 ], [ %.pn.i1331, %ehcleanup16.i1330 ], [ %226, %lpad.i1322 ], [ %225, %lpad.i.i1327 ], [ %.pn.i1355, %ehcleanup16.i1354 ], [ %230, %lpad.i1346 ], [ %229, %lpad.i.i1351 ], [ %.pn.i1379, %ehcleanup16.i1378 ], [ %234, %lpad.i1370 ], [ %233, %lpad.i.i1375 ], [ %.pn.i1403, %ehcleanup16.i1402 ], [ %238, %lpad.i1394 ], [ %237, %lpad.i.i1399 ], [ %.pn.i1427, %ehcleanup16.i1426 ], [ %242, %lpad.i1418 ], [ %241, %lpad.i.i1423 ], [ %.pn.i1451, %ehcleanup16.i1450 ], [ %246, %lpad.i1442 ], [ %245, %lpad.i.i1447 ], [ %.pn.i1475, %ehcleanup16.i1474 ], [ %250, %lpad.i1466 ], [ %249, %lpad.i.i1471 ], [ %.pn.i1499, %ehcleanup16.i1498 ], [ %254, %lpad.i1490 ], [ %253, %lpad.i.i1495 ], [ %.pn.i1523, %ehcleanup16.i1522 ], [ %258, %lpad.i1514 ], [ %257, %lpad.i.i1519 ], [ %.pn.i1547, %ehcleanup16.i1546 ], [ %262, %lpad.i1538 ], [ %261, %lpad.i.i1543 ], [ %.pn.i1571, %ehcleanup16.i1570 ], [ %266, %lpad.i1562 ], [ %265, %lpad.i.i1567 ], [ %.pn.i1597, %ehcleanup16.i1596 ], [ %270, %lpad.i1588 ], [ %269, %lpad.i.i1593 ], [ %.pn.i1623, %ehcleanup16.i1622 ], [ %274, %lpad.i1614 ], [ %273, %lpad.i.i1619 ], [ %.pn.i1649, %ehcleanup16.i1648 ], [ %278, %lpad.i1640 ], [ %277, %lpad.i.i1645 ], [ %.pn.i1675, %ehcleanup16.i1674 ], [ %282, %lpad.i1666 ], [ %281, %lpad.i.i1671 ], [ %.pn.i1701, %ehcleanup16.i1700 ], [ %286, %lpad.i1692 ], [ %285, %lpad.i.i1697 ], [ %.pn.i1727, %ehcleanup16.i1726 ], [ %290, %lpad.i1718 ], [ %289, %lpad.i.i1723 ], [ %.pn.i1753, %ehcleanup16.i1752 ], [ %294, %lpad.i1744 ], [ %293, %lpad.i.i1749 ], [ %.pn.i1779, %ehcleanup16.i1778 ], [ %298, %lpad.i1770 ], [ %297, %lpad.i.i1775 ], [ %.pn.i1805, %ehcleanup16.i1804 ], [ %302, %lpad.i1796 ], [ %301, %lpad.i.i1801 ], [ %.pn.i1831, %ehcleanup16.i1830 ], [ %306, %lpad.i1822 ], [ %305, %lpad.i.i1827 ], [ %.pn.i1857, %ehcleanup16.i1856 ], [ %310, %lpad.i1848 ], [ %309, %lpad.i.i1853 ], [ %.pn.i1883, %ehcleanup16.i1882 ], [ %314, %lpad.i1874 ], [ %313, %lpad.i.i1879 ], [ %.pn.i1909, %ehcleanup16.i1908 ], [ %318, %lpad.i1900 ], [ %317, %lpad.i.i1905 ], [ %.pn.i1935, %ehcleanup16.i1934 ], [ %322, %lpad.i1926 ], [ %321, %lpad.i.i1931 ], [ %.pn.i1959, %ehcleanup16.i1958 ], [ %326, %lpad.i1950 ], [ %325, %lpad.i.i1955 ], [ %.pn.i1985, %ehcleanup16.i1984 ], [ %330, %lpad.i1976 ], [ %329, %lpad.i.i1981 ], [ %.pn.i2011, %ehcleanup16.i2010 ], [ %334, %lpad.i2002 ], [ %333, %lpad.i.i2007 ], [ %.pn.i2037, %ehcleanup16.i2036 ], [ %338, %lpad.i2028 ], [ %337, %lpad.i.i2033 ], [ %.pn.i2063, %ehcleanup16.i2062 ], [ %342, %lpad.i2054 ], [ %341, %lpad.i.i2059 ], [ %.pn.i2089, %ehcleanup16.i2088 ], [ %346, %lpad.i2080 ], [ %345, %lpad.i.i2085 ], [ %.pn.i2115, %ehcleanup16.i2114 ], [ %350, %lpad.i2106 ], [ %349, %lpad.i.i2111 ], [ %.pn.i2141, %ehcleanup16.i2140 ], [ %354, %lpad.i2132 ], [ %353, %lpad.i.i2137 ], [ %.pn.i2167, %ehcleanup16.i2166 ], [ %358, %lpad.i2158 ], [ %357, %lpad.i.i2163 ], [ %.pn.i2193, %ehcleanup16.i2192 ], [ %362, %lpad.i2184 ], [ %361, %lpad.i.i2189 ], [ %.pn.i2219, %ehcleanup16.i2218 ], [ %366, %lpad.i2210 ], [ %365, %lpad.i.i2215 ], [ %.pn.i2245, %ehcleanup16.i2244 ], [ %370, %lpad.i2236 ], [ %369, %lpad.i.i2241 ], [ %.pn.i2271, %ehcleanup16.i2270 ], [ %374, %lpad.i2262 ], [ %373, %lpad.i.i2267 ], [ %.pn.i2297, %ehcleanup16.i2296 ], [ %378, %lpad.i2288 ], [ %377, %lpad.i.i2293 ], [ %.pn.i2323, %ehcleanup16.i2322 ], [ %382, %lpad.i2314 ], [ %381, %lpad.i.i2319 ], [ %.pn.i2349, %ehcleanup16.i2348 ], [ %386, %lpad.i2340 ], [ %385, %lpad.i.i2345 ], [ %.pn.i2375, %ehcleanup16.i2374 ], [ %390, %lpad.i2366 ], [ %389, %lpad.i.i2371 ], [ %.pn.i2401, %ehcleanup16.i2400 ], [ %394, %lpad.i2392 ], [ %393, %lpad.i.i2397 ], [ %.pn.i2427, %ehcleanup16.i2426 ], [ %398, %lpad.i2418 ], [ %397, %lpad.i.i2423 ], [ %.pn.i2453, %ehcleanup16.i2452 ], [ %402, %lpad.i2444 ], [ %401, %lpad.i.i2449 ], [ %.pn.i2479, %ehcleanup16.i2478 ], [ %406, %lpad.i2470 ], [ %405, %lpad.i.i2475 ], [ %.pn.i2505, %ehcleanup16.i2504 ], [ %410, %lpad.i2496 ], [ %409, %lpad.i.i2501 ], [ %.pn.i2531, %ehcleanup16.i2530 ], [ %414, %lpad.i2522 ], [ %413, %lpad.i.i2527 ], [ %.pn.i2557, %ehcleanup16.i2556 ], [ %418, %lpad.i2548 ], [ %417, %lpad.i.i2553 ], [ %.pn.i2583, %ehcleanup16.i2582 ], [ %422, %lpad.i2574 ], [ %421, %lpad.i.i2579 ], [ %.pn.i2609, %ehcleanup16.i2608 ], [ %426, %lpad.i2600 ], [ %425, %lpad.i.i2605 ], [ %.pn.i2635, %ehcleanup16.i2634 ], [ %430, %lpad.i2626 ], [ %429, %lpad.i.i2631 ], [ %.pn.i2661, %ehcleanup16.i2660 ], [ %434, %lpad.i2652 ], [ %433, %lpad.i.i2657 ], [ %.pn.i2685, %ehcleanup16.i2684 ], [ %438, %lpad.i2676 ], [ %437, %lpad.i.i2681 ], [ %.pn.i2709, %ehcleanup16.i2708 ], [ %442, %lpad.i2700 ], [ %441, %lpad.i.i2705 ], [ %.pn.i2733, %ehcleanup16.i2732 ], [ %446, %lpad.i2724 ], [ %445, %lpad.i.i2729 ], [ %.pn.i2757, %ehcleanup16.i2756 ], [ %450, %lpad.i2748 ], [ %449, %lpad.i.i2753 ], [ %.pn.i2781, %ehcleanup16.i2780 ], [ %454, %lpad.i2772 ], [ %453, %lpad.i.i2777 ], [ %.pn.i2805, %ehcleanup16.i2804 ], [ %458, %lpad.i2796 ], [ %457, %lpad.i.i2801 ], [ %.pn.i2829, %ehcleanup16.i2828 ], [ %462, %lpad.i2820 ], [ %461, %lpad.i.i2825 ], [ %.pn.i2853, %ehcleanup16.i2852 ], [ %466, %lpad.i2844 ], [ %465, %lpad.i.i2849 ], [ %.pn.i2879, %ehcleanup16.i2878 ], [ %470, %lpad.i2870 ], [ %469, %lpad.i.i2875 ], [ %.pn.i2905, %ehcleanup16.i2904 ], [ %474, %lpad.i2896 ], [ %473, %lpad.i.i2901 ] - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2894.sink) #27 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2894.sink) #28 resume { ptr, i32 } %common.resume.op __cxx_global_var_init.1.exit: ; preds = %invoke.cont13.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i) #28 store ptr %call15.i, ptr @_ZN12_GLOBAL__N_129NonMutatingTest_Distance_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i) @@ -87493,7 +87526,7 @@ __cxx_global_var_init.1.exit: ; preds = %invoke.cont13.i call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i3) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i3) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i3) #28 %call.i3.i = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2) to label %call.i.noexc.i7 unwind label %lpad.i4 @@ -87508,7 +87541,7 @@ call.i.noexc.i7: ; preds = %__cxx_global_var_in lpad.i.i9: ; preds = %.noexc.i8 %5 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2) #28 br label %common.resume invoke.cont.i10: ; preds = %.noexc.i8 @@ -87526,7 +87559,7 @@ invoke.cont6.i17: ; preds = %invoke.cont3.i13 to label %invoke.cont8.i19 unwind label %lpad4.i16 invoke.cont8.i19: ; preds = %invoke.cont6.i17 - %call11.i20 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i20 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i unwind label %lpad4.i16 invoke.cont10.i: ; preds = %invoke.cont8.i19 @@ -87547,18 +87580,18 @@ lpad2.i11: ; preds = %invoke.cont.i10 lpad4.i16: ; preds = %invoke.cont10.i, %invoke.cont8.i19, %invoke.cont6.i17, %invoke.cont3.i13 %8 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1) #28 br label %ehcleanup16.i12 ehcleanup16.i12: ; preds = %lpad4.i16, %lpad2.i11 %.pn.i = phi { ptr, i32 } [ %8, %lpad4.i16 ], [ %7, %lpad2.i11 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2) #28 br label %common.resume __cxx_global_var_init.4.exit: ; preds = %invoke.cont10.i - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i3) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i3) #28 store ptr %call15.i21, ptr @_ZN12_GLOBAL__N_148NonMutatingTest_Distance_OverloadedBeginEnd_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2) @@ -87566,7 +87599,7 @@ __cxx_global_var_init.4.exit: ; preds = %invoke.cont10.i call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i22) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i23) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i24) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i24) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i24) #28 %call.i3.i25 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i23) to label %call.i.noexc.i29 unwind label %lpad.i26 @@ -87581,7 +87614,7 @@ call.i.noexc.i29: ; preds = %__cxx_global_var_in lpad.i.i31: ; preds = %.noexc.i30 %9 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i23) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i23) #28 br label %common.resume invoke.cont.i32: ; preds = %.noexc.i30 @@ -87599,7 +87632,7 @@ invoke.cont6.i40: ; preds = %invoke.cont3.i36 to label %invoke.cont8.i42 unwind label %lpad4.i39 invoke.cont8.i42: ; preds = %invoke.cont6.i40 - %call11.i43 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i43 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i44 unwind label %lpad4.i39 invoke.cont10.i44: ; preds = %invoke.cont8.i42 @@ -87620,18 +87653,18 @@ lpad2.i33: ; preds = %invoke.cont.i32 lpad4.i39: ; preds = %invoke.cont10.i44, %invoke.cont8.i42, %invoke.cont6.i40, %invoke.cont3.i36 %12 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i22) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i22) #28 br label %ehcleanup16.i34 ehcleanup16.i34: ; preds = %lpad4.i39, %lpad2.i33 %.pn.i35 = phi { ptr, i32 } [ %12, %lpad4.i39 ], [ %11, %lpad2.i33 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i23) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i23) #28 br label %common.resume __cxx_global_var_init.6.exit: ; preds = %invoke.cont10.i44 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i22) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i23) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i24) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i22) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i23) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i24) #28 store ptr %call15.i45, ptr @_ZN12_GLOBAL__N_128NonMutatingTest_ForEach_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i22) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i23) @@ -87639,7 +87672,7 @@ __cxx_global_var_init.6.exit: ; preds = %invoke.cont10.i44 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i46) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i47) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i48) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i48) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i48) #28 %call.i3.i49 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i47) to label %call.i.noexc.i53 unwind label %lpad.i50 @@ -87654,7 +87687,7 @@ call.i.noexc.i53: ; preds = %__cxx_global_var_in lpad.i.i55: ; preds = %.noexc.i54 %13 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i47) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i47) #28 br label %common.resume invoke.cont.i56: ; preds = %.noexc.i54 @@ -87672,7 +87705,7 @@ invoke.cont6.i64: ; preds = %invoke.cont3.i60 to label %invoke.cont8.i66 unwind label %lpad4.i63 invoke.cont8.i66: ; preds = %invoke.cont6.i64 - %call11.i67 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i67 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i68 unwind label %lpad4.i63 invoke.cont10.i68: ; preds = %invoke.cont8.i66 @@ -87693,18 +87726,18 @@ lpad2.i57: ; preds = %invoke.cont.i56 lpad4.i63: ; preds = %invoke.cont10.i68, %invoke.cont8.i66, %invoke.cont6.i64, %invoke.cont3.i60 %16 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i46) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i46) #28 br label %ehcleanup16.i58 ehcleanup16.i58: ; preds = %lpad4.i63, %lpad2.i57 %.pn.i59 = phi { ptr, i32 } [ %16, %lpad4.i63 ], [ %15, %lpad2.i57 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i47) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i47) #28 br label %common.resume __cxx_global_var_init.8.exit: ; preds = %invoke.cont10.i68 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i46) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i47) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i48) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i46) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i47) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i48) #28 store ptr %call15.i69, ptr @_ZN12_GLOBAL__N_143NonMutatingTest_FindReturnsCorrectType_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i46) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i47) @@ -87712,7 +87745,7 @@ __cxx_global_var_init.8.exit: ; preds = %invoke.cont10.i68 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i70) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i71) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i72) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i72) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i72) #28 %call.i3.i73 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i71) to label %call.i.noexc.i77 unwind label %lpad.i74 @@ -87727,7 +87760,7 @@ call.i.noexc.i77: ; preds = %__cxx_global_var_in lpad.i.i79: ; preds = %.noexc.i78 %17 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i71) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i71) #28 br label %common.resume invoke.cont.i80: ; preds = %.noexc.i78 @@ -87745,7 +87778,7 @@ invoke.cont6.i88: ; preds = %invoke.cont3.i84 to label %invoke.cont8.i90 unwind label %lpad4.i87 invoke.cont8.i90: ; preds = %invoke.cont6.i88 - %call11.i91 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i91 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i92 unwind label %lpad4.i87 invoke.cont10.i92: ; preds = %invoke.cont8.i90 @@ -87766,18 +87799,18 @@ lpad2.i81: ; preds = %invoke.cont.i80 lpad4.i87: ; preds = %invoke.cont10.i92, %invoke.cont8.i90, %invoke.cont6.i88, %invoke.cont3.i84 %20 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i70) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i70) #28 br label %ehcleanup16.i82 ehcleanup16.i82: ; preds = %lpad4.i87, %lpad2.i81 %.pn.i83 = phi { ptr, i32 } [ %20, %lpad4.i87 ], [ %19, %lpad2.i81 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i71) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i71) #28 br label %common.resume __cxx_global_var_init.10.exit: ; preds = %invoke.cont10.i92 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i70) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i71) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i72) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i70) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i71) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i72) #28 store ptr %call15.i93, ptr @_ZN12_GLOBAL__N_127NonMutatingTest_FindIf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i70) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i71) @@ -87785,7 +87818,7 @@ __cxx_global_var_init.10.exit: ; preds = %invoke.cont10.i92 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i94) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i95) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i96) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i96) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i96) #28 %call.i3.i97 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i95) to label %call.i.noexc.i101 unwind label %lpad.i98 @@ -87800,7 +87833,7 @@ call.i.noexc.i101: ; preds = %__cxx_global_var_in lpad.i.i103: ; preds = %.noexc.i102 %21 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i95) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i95) #28 br label %common.resume invoke.cont.i104: ; preds = %.noexc.i102 @@ -87818,7 +87851,7 @@ invoke.cont6.i112: ; preds = %invoke.cont3.i108 to label %invoke.cont8.i114 unwind label %lpad4.i111 invoke.cont8.i114: ; preds = %invoke.cont6.i112 - %call11.i115 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i115 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i116 unwind label %lpad4.i111 invoke.cont10.i116: ; preds = %invoke.cont8.i114 @@ -87839,18 +87872,18 @@ lpad2.i105: ; preds = %invoke.cont.i104 lpad4.i111: ; preds = %invoke.cont10.i116, %invoke.cont8.i114, %invoke.cont6.i112, %invoke.cont3.i108 %24 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i94) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i94) #28 br label %ehcleanup16.i106 ehcleanup16.i106: ; preds = %lpad4.i111, %lpad2.i105 %.pn.i107 = phi { ptr, i32 } [ %24, %lpad4.i111 ], [ %23, %lpad2.i105 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i95) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i95) #28 br label %common.resume __cxx_global_var_init.12.exit: ; preds = %invoke.cont10.i116 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i94) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i95) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i96) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i94) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i95) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i96) #28 store ptr %call15.i117, ptr @_ZN12_GLOBAL__N_130NonMutatingTest_FindIfNot_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i94) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i95) @@ -87858,7 +87891,7 @@ __cxx_global_var_init.12.exit: ; preds = %invoke.cont10.i116 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i118) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i119) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i120) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i120) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i120) #28 %call.i3.i121 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i119) to label %call.i.noexc.i125 unwind label %lpad.i122 @@ -87873,7 +87906,7 @@ call.i.noexc.i125: ; preds = %__cxx_global_var_in lpad.i.i127: ; preds = %.noexc.i126 %25 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i119) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i119) #28 br label %common.resume invoke.cont.i128: ; preds = %.noexc.i126 @@ -87891,7 +87924,7 @@ invoke.cont6.i136: ; preds = %invoke.cont3.i132 to label %invoke.cont8.i138 unwind label %lpad4.i135 invoke.cont8.i138: ; preds = %invoke.cont6.i136 - %call11.i139 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i139 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i140 unwind label %lpad4.i135 invoke.cont10.i140: ; preds = %invoke.cont8.i138 @@ -87912,18 +87945,18 @@ lpad2.i129: ; preds = %invoke.cont.i128 lpad4.i135: ; preds = %invoke.cont10.i140, %invoke.cont8.i138, %invoke.cont6.i136, %invoke.cont3.i132 %28 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i118) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i118) #28 br label %ehcleanup16.i130 ehcleanup16.i130: ; preds = %lpad4.i135, %lpad2.i129 %.pn.i131 = phi { ptr, i32 } [ %28, %lpad4.i135 ], [ %27, %lpad2.i129 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i119) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i119) #28 br label %common.resume __cxx_global_var_init.14.exit: ; preds = %invoke.cont10.i140 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i118) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i119) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i120) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i118) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i119) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i120) #28 store ptr %call15.i141, ptr @_ZN12_GLOBAL__N_128NonMutatingTest_FindEnd_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i118) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i119) @@ -87931,7 +87964,7 @@ __cxx_global_var_init.14.exit: ; preds = %invoke.cont10.i140 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i142) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i143) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i144) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i144) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i144) #28 %call.i3.i145 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i143) to label %call.i.noexc.i149 unwind label %lpad.i146 @@ -87946,7 +87979,7 @@ call.i.noexc.i149: ; preds = %__cxx_global_var_in lpad.i.i151: ; preds = %.noexc.i150 %29 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i143) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i143) #28 br label %common.resume invoke.cont.i152: ; preds = %.noexc.i150 @@ -87964,7 +87997,7 @@ invoke.cont6.i160: ; preds = %invoke.cont3.i156 to label %invoke.cont8.i162 unwind label %lpad4.i159 invoke.cont8.i162: ; preds = %invoke.cont6.i160 - %call11.i163 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i163 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i164 unwind label %lpad4.i159 invoke.cont10.i164: ; preds = %invoke.cont8.i162 @@ -87985,18 +88018,18 @@ lpad2.i153: ; preds = %invoke.cont.i152 lpad4.i159: ; preds = %invoke.cont10.i164, %invoke.cont8.i162, %invoke.cont6.i160, %invoke.cont3.i156 %32 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i142) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i142) #28 br label %ehcleanup16.i154 ehcleanup16.i154: ; preds = %lpad4.i159, %lpad2.i153 %.pn.i155 = phi { ptr, i32 } [ %32, %lpad4.i159 ], [ %31, %lpad2.i153 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i143) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i143) #28 br label %common.resume __cxx_global_var_init.16.exit: ; preds = %invoke.cont10.i164 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i142) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i143) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i144) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i142) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i143) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i144) #28 store ptr %call15.i165, ptr @_ZN12_GLOBAL__N_141NonMutatingTest_FindEndWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i142) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i143) @@ -88004,7 +88037,7 @@ __cxx_global_var_init.16.exit: ; preds = %invoke.cont10.i164 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i166) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i167) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i168) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i168) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i168) #28 %call.i3.i169 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i167) to label %call.i.noexc.i173 unwind label %lpad.i170 @@ -88019,7 +88052,7 @@ call.i.noexc.i173: ; preds = %__cxx_global_var_in lpad.i.i175: ; preds = %.noexc.i174 %33 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i167) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i167) #28 br label %common.resume invoke.cont.i176: ; preds = %.noexc.i174 @@ -88037,7 +88070,7 @@ invoke.cont6.i184: ; preds = %invoke.cont3.i180 to label %invoke.cont8.i186 unwind label %lpad4.i183 invoke.cont8.i186: ; preds = %invoke.cont6.i184 - %call11.i187 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i187 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i188 unwind label %lpad4.i183 invoke.cont10.i188: ; preds = %invoke.cont8.i186 @@ -88058,18 +88091,18 @@ lpad2.i177: ; preds = %invoke.cont.i176 lpad4.i183: ; preds = %invoke.cont10.i188, %invoke.cont8.i186, %invoke.cont6.i184, %invoke.cont3.i180 %36 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i166) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i166) #28 br label %ehcleanup16.i178 ehcleanup16.i178: ; preds = %lpad4.i183, %lpad2.i177 %.pn.i179 = phi { ptr, i32 } [ %36, %lpad4.i183 ], [ %35, %lpad2.i177 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i167) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i167) #28 br label %common.resume __cxx_global_var_init.18.exit: ; preds = %invoke.cont10.i188 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i166) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i167) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i168) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i166) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i167) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i168) #28 store ptr %call15.i189, ptr @_ZN12_GLOBAL__N_132NonMutatingTest_FindFirstOf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i166) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i167) @@ -88077,7 +88110,7 @@ __cxx_global_var_init.18.exit: ; preds = %invoke.cont10.i188 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i190) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i191) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i192) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i192) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i192) #28 %call.i3.i193 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i191) to label %call.i.noexc.i197 unwind label %lpad.i194 @@ -88092,7 +88125,7 @@ call.i.noexc.i197: ; preds = %__cxx_global_var_in lpad.i.i199: ; preds = %.noexc.i198 %37 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i191) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i191) #28 br label %common.resume invoke.cont.i200: ; preds = %.noexc.i198 @@ -88110,7 +88143,7 @@ invoke.cont6.i208: ; preds = %invoke.cont3.i204 to label %invoke.cont8.i210 unwind label %lpad4.i207 invoke.cont8.i210: ; preds = %invoke.cont6.i208 - %call11.i211 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i211 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i212 unwind label %lpad4.i207 invoke.cont10.i212: ; preds = %invoke.cont8.i210 @@ -88131,18 +88164,18 @@ lpad2.i201: ; preds = %invoke.cont.i200 lpad4.i207: ; preds = %invoke.cont10.i212, %invoke.cont8.i210, %invoke.cont6.i208, %invoke.cont3.i204 %40 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i190) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i190) #28 br label %ehcleanup16.i202 ehcleanup16.i202: ; preds = %lpad4.i207, %lpad2.i201 %.pn.i203 = phi { ptr, i32 } [ %40, %lpad4.i207 ], [ %39, %lpad2.i201 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i191) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i191) #28 br label %common.resume __cxx_global_var_init.20.exit: ; preds = %invoke.cont10.i212 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i190) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i191) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i192) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i190) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i191) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i192) #28 store ptr %call15.i213, ptr @_ZN12_GLOBAL__N_145NonMutatingTest_FindFirstOfWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i190) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i191) @@ -88150,7 +88183,7 @@ __cxx_global_var_init.20.exit: ; preds = %invoke.cont10.i212 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i214) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i215) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i216) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i216) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i216) #28 %call.i3.i217 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i215) to label %call.i.noexc.i221 unwind label %lpad.i218 @@ -88165,7 +88198,7 @@ call.i.noexc.i221: ; preds = %__cxx_global_var_in lpad.i.i223: ; preds = %.noexc.i222 %41 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i215) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i215) #28 br label %common.resume invoke.cont.i224: ; preds = %.noexc.i222 @@ -88183,7 +88216,7 @@ invoke.cont6.i232: ; preds = %invoke.cont3.i228 to label %invoke.cont8.i234 unwind label %lpad4.i231 invoke.cont8.i234: ; preds = %invoke.cont6.i232 - %call11.i235 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i235 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i236 unwind label %lpad4.i231 invoke.cont10.i236: ; preds = %invoke.cont8.i234 @@ -88204,18 +88237,18 @@ lpad2.i225: ; preds = %invoke.cont.i224 lpad4.i231: ; preds = %invoke.cont10.i236, %invoke.cont8.i234, %invoke.cont6.i232, %invoke.cont3.i228 %44 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i214) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i214) #28 br label %ehcleanup16.i226 ehcleanup16.i226: ; preds = %lpad4.i231, %lpad2.i225 %.pn.i227 = phi { ptr, i32 } [ %44, %lpad4.i231 ], [ %43, %lpad2.i225 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i215) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i215) #28 br label %common.resume __cxx_global_var_init.22.exit: ; preds = %invoke.cont10.i236 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i214) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i215) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i216) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i214) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i215) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i216) #28 store ptr %call15.i237, ptr @_ZN12_GLOBAL__N_133NonMutatingTest_AdjacentFind_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i214) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i215) @@ -88223,7 +88256,7 @@ __cxx_global_var_init.22.exit: ; preds = %invoke.cont10.i236 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i238) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i239) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i240) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i240) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i240) #28 %call.i3.i241 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i239) to label %call.i.noexc.i245 unwind label %lpad.i242 @@ -88238,7 +88271,7 @@ call.i.noexc.i245: ; preds = %__cxx_global_var_in lpad.i.i247: ; preds = %.noexc.i246 %45 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i239) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i239) #28 br label %common.resume invoke.cont.i248: ; preds = %.noexc.i246 @@ -88256,7 +88289,7 @@ invoke.cont6.i256: ; preds = %invoke.cont3.i252 to label %invoke.cont8.i258 unwind label %lpad4.i255 invoke.cont8.i258: ; preds = %invoke.cont6.i256 - %call11.i259 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i259 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i260 unwind label %lpad4.i255 invoke.cont10.i260: ; preds = %invoke.cont8.i258 @@ -88277,18 +88310,18 @@ lpad2.i249: ; preds = %invoke.cont.i248 lpad4.i255: ; preds = %invoke.cont10.i260, %invoke.cont8.i258, %invoke.cont6.i256, %invoke.cont3.i252 %48 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i238) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i238) #28 br label %ehcleanup16.i250 ehcleanup16.i250: ; preds = %lpad4.i255, %lpad2.i249 %.pn.i251 = phi { ptr, i32 } [ %48, %lpad4.i255 ], [ %47, %lpad2.i249 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i239) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i239) #28 br label %common.resume __cxx_global_var_init.24.exit: ; preds = %invoke.cont10.i260 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i238) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i239) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i240) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i238) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i239) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i240) #28 store ptr %call15.i261, ptr @_ZN12_GLOBAL__N_146NonMutatingTest_AdjacentFindWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i238) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i239) @@ -88296,7 +88329,7 @@ __cxx_global_var_init.24.exit: ; preds = %invoke.cont10.i260 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i262) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i263) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i264) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i264) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i264) #28 %call.i3.i265 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i263) to label %call.i.noexc.i269 unwind label %lpad.i266 @@ -88311,7 +88344,7 @@ call.i.noexc.i269: ; preds = %__cxx_global_var_in lpad.i.i271: ; preds = %.noexc.i270 %49 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i263) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i263) #28 br label %common.resume invoke.cont.i272: ; preds = %.noexc.i270 @@ -88329,7 +88362,7 @@ invoke.cont6.i280: ; preds = %invoke.cont3.i276 to label %invoke.cont8.i282 unwind label %lpad4.i279 invoke.cont8.i282: ; preds = %invoke.cont6.i280 - %call11.i283 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i283 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i284 unwind label %lpad4.i279 invoke.cont10.i284: ; preds = %invoke.cont8.i282 @@ -88350,18 +88383,18 @@ lpad2.i273: ; preds = %invoke.cont.i272 lpad4.i279: ; preds = %invoke.cont10.i284, %invoke.cont8.i282, %invoke.cont6.i280, %invoke.cont3.i276 %52 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i262) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i262) #28 br label %ehcleanup16.i274 ehcleanup16.i274: ; preds = %lpad4.i279, %lpad2.i273 %.pn.i275 = phi { ptr, i32 } [ %52, %lpad4.i279 ], [ %51, %lpad2.i273 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i263) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i263) #28 br label %common.resume __cxx_global_var_init.26.exit: ; preds = %invoke.cont10.i284 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i262) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i263) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i264) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i262) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i263) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i264) #28 store ptr %call15.i285, ptr @_ZN12_GLOBAL__N_126NonMutatingTest_Count_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i262) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i263) @@ -88369,7 +88402,7 @@ __cxx_global_var_init.26.exit: ; preds = %invoke.cont10.i284 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i286) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i287) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i288) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i288) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i288) #28 %call.i3.i289 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i287) to label %call.i.noexc.i293 unwind label %lpad.i290 @@ -88384,7 +88417,7 @@ call.i.noexc.i293: ; preds = %__cxx_global_var_in lpad.i.i295: ; preds = %.noexc.i294 %53 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i287) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i287) #28 br label %common.resume invoke.cont.i296: ; preds = %.noexc.i294 @@ -88402,7 +88435,7 @@ invoke.cont6.i304: ; preds = %invoke.cont3.i300 to label %invoke.cont8.i306 unwind label %lpad4.i303 invoke.cont8.i306: ; preds = %invoke.cont6.i304 - %call11.i307 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i307 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i308 unwind label %lpad4.i303 invoke.cont10.i308: ; preds = %invoke.cont8.i306 @@ -88423,18 +88456,18 @@ lpad2.i297: ; preds = %invoke.cont.i296 lpad4.i303: ; preds = %invoke.cont10.i308, %invoke.cont8.i306, %invoke.cont6.i304, %invoke.cont3.i300 %56 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i286) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i286) #28 br label %ehcleanup16.i298 ehcleanup16.i298: ; preds = %lpad4.i303, %lpad2.i297 %.pn.i299 = phi { ptr, i32 } [ %56, %lpad4.i303 ], [ %55, %lpad2.i297 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i287) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i287) #28 br label %common.resume __cxx_global_var_init.28.exit: ; preds = %invoke.cont10.i308 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i286) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i287) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i288) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i286) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i287) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i288) #28 store ptr %call15.i309, ptr @_ZN12_GLOBAL__N_128NonMutatingTest_CountIf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i286) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i287) @@ -88442,7 +88475,7 @@ __cxx_global_var_init.28.exit: ; preds = %invoke.cont10.i308 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i310) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i311) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i312) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i312) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i312) #28 %call.i3.i313 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i311) to label %call.i.noexc.i317 unwind label %lpad.i314 @@ -88457,7 +88490,7 @@ call.i.noexc.i317: ; preds = %__cxx_global_var_in lpad.i.i319: ; preds = %.noexc.i318 %57 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i311) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i311) #28 br label %common.resume invoke.cont.i320: ; preds = %.noexc.i318 @@ -88475,7 +88508,7 @@ invoke.cont6.i328: ; preds = %invoke.cont3.i324 to label %invoke.cont8.i330 unwind label %lpad4.i327 invoke.cont8.i330: ; preds = %invoke.cont6.i328 - %call11.i331 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i331 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i332 unwind label %lpad4.i327 invoke.cont10.i332: ; preds = %invoke.cont8.i330 @@ -88496,18 +88529,18 @@ lpad2.i321: ; preds = %invoke.cont.i320 lpad4.i327: ; preds = %invoke.cont10.i332, %invoke.cont8.i330, %invoke.cont6.i328, %invoke.cont3.i324 %60 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i310) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i310) #28 br label %ehcleanup16.i322 ehcleanup16.i322: ; preds = %lpad4.i327, %lpad2.i321 %.pn.i323 = phi { ptr, i32 } [ %60, %lpad4.i327 ], [ %59, %lpad2.i321 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i311) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i311) #28 br label %common.resume __cxx_global_var_init.30.exit: ; preds = %invoke.cont10.i332 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i310) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i311) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i312) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i310) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i311) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i312) #28 store ptr %call15.i333, ptr @_ZN12_GLOBAL__N_129NonMutatingTest_Mismatch_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i310) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i311) @@ -88515,7 +88548,7 @@ __cxx_global_var_init.30.exit: ; preds = %invoke.cont10.i332 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i334) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i335) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i336) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i336) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i336) #28 %call.i3.i337 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i335) to label %call.i.noexc.i341 unwind label %lpad.i338 @@ -88530,7 +88563,7 @@ call.i.noexc.i341: ; preds = %__cxx_global_var_in lpad.i.i343: ; preds = %.noexc.i342 %61 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i335) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i335) #28 br label %common.resume invoke.cont.i344: ; preds = %.noexc.i342 @@ -88548,7 +88581,7 @@ invoke.cont6.i352: ; preds = %invoke.cont3.i348 to label %invoke.cont8.i354 unwind label %lpad4.i351 invoke.cont8.i354: ; preds = %invoke.cont6.i352 - %call11.i355 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i355 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i356 unwind label %lpad4.i351 invoke.cont10.i356: ; preds = %invoke.cont8.i354 @@ -88569,18 +88602,18 @@ lpad2.i345: ; preds = %invoke.cont.i344 lpad4.i351: ; preds = %invoke.cont10.i356, %invoke.cont8.i354, %invoke.cont6.i352, %invoke.cont3.i348 %64 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i334) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i334) #28 br label %ehcleanup16.i346 ehcleanup16.i346: ; preds = %lpad4.i351, %lpad2.i345 %.pn.i347 = phi { ptr, i32 } [ %64, %lpad4.i351 ], [ %63, %lpad2.i345 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i335) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i335) #28 br label %common.resume __cxx_global_var_init.32.exit: ; preds = %invoke.cont10.i356 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i334) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i335) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i336) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i334) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i335) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i336) #28 store ptr %call15.i357, ptr @_ZN12_GLOBAL__N_142NonMutatingTest_MismatchWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i334) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i335) @@ -88588,7 +88621,7 @@ __cxx_global_var_init.32.exit: ; preds = %invoke.cont10.i356 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i358) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i359) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i360) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i360) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i360) #28 %call.i3.i361 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i359) to label %call.i.noexc.i365 unwind label %lpad.i362 @@ -88603,7 +88636,7 @@ call.i.noexc.i365: ; preds = %__cxx_global_var_in lpad.i.i367: ; preds = %.noexc.i366 %65 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i359) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i359) #28 br label %common.resume invoke.cont.i368: ; preds = %.noexc.i366 @@ -88621,7 +88654,7 @@ invoke.cont6.i376: ; preds = %invoke.cont3.i372 to label %invoke.cont8.i378 unwind label %lpad4.i375 invoke.cont8.i378: ; preds = %invoke.cont6.i376 - %call11.i379 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i379 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i380 unwind label %lpad4.i375 invoke.cont10.i380: ; preds = %invoke.cont8.i378 @@ -88642,18 +88675,18 @@ lpad2.i369: ; preds = %invoke.cont.i368 lpad4.i375: ; preds = %invoke.cont10.i380, %invoke.cont8.i378, %invoke.cont6.i376, %invoke.cont3.i372 %68 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i358) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i358) #28 br label %ehcleanup16.i370 ehcleanup16.i370: ; preds = %lpad4.i375, %lpad2.i369 %.pn.i371 = phi { ptr, i32 } [ %68, %lpad4.i375 ], [ %67, %lpad2.i369 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i359) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i359) #28 br label %common.resume __cxx_global_var_init.34.exit: ; preds = %invoke.cont10.i380 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i358) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i359) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i360) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i358) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i359) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i360) #28 store ptr %call15.i381, ptr @_ZN12_GLOBAL__N_126NonMutatingTest_Equal_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i358) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i359) @@ -88661,7 +88694,7 @@ __cxx_global_var_init.34.exit: ; preds = %invoke.cont10.i380 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i382) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i383) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i384) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i384) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i384) #28 %call.i3.i385 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i383) to label %call.i.noexc.i389 unwind label %lpad.i386 @@ -88676,7 +88709,7 @@ call.i.noexc.i389: ; preds = %__cxx_global_var_in lpad.i.i391: ; preds = %.noexc.i390 %69 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i383) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i383) #28 br label %common.resume invoke.cont.i392: ; preds = %.noexc.i390 @@ -88694,7 +88727,7 @@ invoke.cont6.i400: ; preds = %invoke.cont3.i396 to label %invoke.cont8.i402 unwind label %lpad4.i399 invoke.cont8.i402: ; preds = %invoke.cont6.i400 - %call11.i403 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i403 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i404 unwind label %lpad4.i399 invoke.cont10.i404: ; preds = %invoke.cont8.i402 @@ -88715,18 +88748,18 @@ lpad2.i393: ; preds = %invoke.cont.i392 lpad4.i399: ; preds = %invoke.cont10.i404, %invoke.cont8.i402, %invoke.cont6.i400, %invoke.cont3.i396 %72 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i382) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i382) #28 br label %ehcleanup16.i394 ehcleanup16.i394: ; preds = %lpad4.i399, %lpad2.i393 %.pn.i395 = phi { ptr, i32 } [ %72, %lpad4.i399 ], [ %71, %lpad2.i393 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i383) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i383) #28 br label %common.resume __cxx_global_var_init.36.exit: ; preds = %invoke.cont10.i404 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i382) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i383) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i384) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i382) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i383) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i384) #28 store ptr %call15.i405, ptr @_ZN12_GLOBAL__N_139NonMutatingTest_EqualWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i382) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i383) @@ -88734,7 +88767,7 @@ __cxx_global_var_init.36.exit: ; preds = %invoke.cont10.i404 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i406) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i407) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i408) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i408) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i408) #28 %call.i3.i409 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i407) to label %call.i.noexc.i413 unwind label %lpad.i410 @@ -88749,7 +88782,7 @@ call.i.noexc.i413: ; preds = %__cxx_global_var_in lpad.i.i415: ; preds = %.noexc.i414 %73 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i407) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i407) #28 br label %common.resume invoke.cont.i416: ; preds = %.noexc.i414 @@ -88767,7 +88800,7 @@ invoke.cont6.i424: ; preds = %invoke.cont3.i420 to label %invoke.cont8.i426 unwind label %lpad4.i423 invoke.cont8.i426: ; preds = %invoke.cont6.i424 - %call11.i427 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i427 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i428 unwind label %lpad4.i423 invoke.cont10.i428: ; preds = %invoke.cont8.i426 @@ -88788,18 +88821,18 @@ lpad2.i417: ; preds = %invoke.cont.i416 lpad4.i423: ; preds = %invoke.cont10.i428, %invoke.cont8.i426, %invoke.cont6.i424, %invoke.cont3.i420 %76 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i406) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i406) #28 br label %ehcleanup16.i418 ehcleanup16.i418: ; preds = %lpad4.i423, %lpad2.i417 %.pn.i419 = phi { ptr, i32 } [ %76, %lpad4.i423 ], [ %75, %lpad2.i417 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i407) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i407) #28 br label %common.resume __cxx_global_var_init.38.exit: ; preds = %invoke.cont10.i428 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i406) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i407) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i408) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i406) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i407) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i408) #28 store ptr %call15.i429, ptr @_ZN12_GLOBAL__N_134NonMutatingTest_IsPermutation_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i406) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i407) @@ -88807,7 +88840,7 @@ __cxx_global_var_init.38.exit: ; preds = %invoke.cont10.i428 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i430) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i431) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i432) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i432) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i432) #28 %call.i3.i433 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i431) to label %call.i.noexc.i437 unwind label %lpad.i434 @@ -88822,7 +88855,7 @@ call.i.noexc.i437: ; preds = %__cxx_global_var_in lpad.i.i439: ; preds = %.noexc.i438 %77 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i431) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i431) #28 br label %common.resume invoke.cont.i440: ; preds = %.noexc.i438 @@ -88840,7 +88873,7 @@ invoke.cont6.i448: ; preds = %invoke.cont3.i444 to label %invoke.cont8.i450 unwind label %lpad4.i447 invoke.cont8.i450: ; preds = %invoke.cont6.i448 - %call11.i451 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i451 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i452 unwind label %lpad4.i447 invoke.cont10.i452: ; preds = %invoke.cont8.i450 @@ -88861,18 +88894,18 @@ lpad2.i441: ; preds = %invoke.cont.i440 lpad4.i447: ; preds = %invoke.cont10.i452, %invoke.cont8.i450, %invoke.cont6.i448, %invoke.cont3.i444 %80 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i430) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i430) #28 br label %ehcleanup16.i442 ehcleanup16.i442: ; preds = %lpad4.i447, %lpad2.i441 %.pn.i443 = phi { ptr, i32 } [ %80, %lpad4.i447 ], [ %79, %lpad2.i441 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i431) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i431) #28 br label %common.resume __cxx_global_var_init.40.exit: ; preds = %invoke.cont10.i452 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i430) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i431) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i432) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i430) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i431) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i432) #28 store ptr %call15.i453, ptr @_ZN12_GLOBAL__N_147NonMutatingTest_IsPermutationWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i430) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i431) @@ -88880,7 +88913,7 @@ __cxx_global_var_init.40.exit: ; preds = %invoke.cont10.i452 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i454) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i455) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i456) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i456) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i456) #28 %call.i3.i457 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i455) to label %call.i.noexc.i461 unwind label %lpad.i458 @@ -88895,7 +88928,7 @@ call.i.noexc.i461: ; preds = %__cxx_global_var_in lpad.i.i463: ; preds = %.noexc.i462 %81 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i455) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i455) #28 br label %common.resume invoke.cont.i464: ; preds = %.noexc.i462 @@ -88913,7 +88946,7 @@ invoke.cont6.i472: ; preds = %invoke.cont3.i468 to label %invoke.cont8.i474 unwind label %lpad4.i471 invoke.cont8.i474: ; preds = %invoke.cont6.i472 - %call11.i475 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i475 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i476 unwind label %lpad4.i471 invoke.cont10.i476: ; preds = %invoke.cont8.i474 @@ -88934,18 +88967,18 @@ lpad2.i465: ; preds = %invoke.cont.i464 lpad4.i471: ; preds = %invoke.cont10.i476, %invoke.cont8.i474, %invoke.cont6.i472, %invoke.cont3.i468 %84 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i454) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i454) #28 br label %ehcleanup16.i466 ehcleanup16.i466: ; preds = %lpad4.i471, %lpad2.i465 %.pn.i467 = phi { ptr, i32 } [ %84, %lpad4.i471 ], [ %83, %lpad2.i465 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i455) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i455) #28 br label %common.resume __cxx_global_var_init.42.exit: ; preds = %invoke.cont10.i476 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i454) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i455) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i456) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i454) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i455) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i456) #28 store ptr %call15.i477, ptr @_ZN12_GLOBAL__N_127NonMutatingTest_Search_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i454) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i455) @@ -88953,7 +88986,7 @@ __cxx_global_var_init.42.exit: ; preds = %invoke.cont10.i476 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i478) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i479) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i480) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i480) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i480) #28 %call.i3.i481 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i479) to label %call.i.noexc.i485 unwind label %lpad.i482 @@ -88968,7 +89001,7 @@ call.i.noexc.i485: ; preds = %__cxx_global_var_in lpad.i.i487: ; preds = %.noexc.i486 %85 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i479) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i479) #28 br label %common.resume invoke.cont.i488: ; preds = %.noexc.i486 @@ -88986,7 +89019,7 @@ invoke.cont6.i496: ; preds = %invoke.cont3.i492 to label %invoke.cont8.i498 unwind label %lpad4.i495 invoke.cont8.i498: ; preds = %invoke.cont6.i496 - %call11.i499 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i499 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i500 unwind label %lpad4.i495 invoke.cont10.i500: ; preds = %invoke.cont8.i498 @@ -89007,18 +89040,18 @@ lpad2.i489: ; preds = %invoke.cont.i488 lpad4.i495: ; preds = %invoke.cont10.i500, %invoke.cont8.i498, %invoke.cont6.i496, %invoke.cont3.i492 %88 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i478) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i478) #28 br label %ehcleanup16.i490 ehcleanup16.i490: ; preds = %lpad4.i495, %lpad2.i489 %.pn.i491 = phi { ptr, i32 } [ %88, %lpad4.i495 ], [ %87, %lpad2.i489 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i479) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i479) #28 br label %common.resume __cxx_global_var_init.44.exit: ; preds = %invoke.cont10.i500 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i478) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i479) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i480) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i478) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i479) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i480) #28 store ptr %call15.i501, ptr @_ZN12_GLOBAL__N_140NonMutatingTest_SearchWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i478) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i479) @@ -89026,7 +89059,7 @@ __cxx_global_var_init.44.exit: ; preds = %invoke.cont10.i500 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i502) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i503) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i504) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i504) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i504) #28 %call.i3.i505 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i503) to label %call.i.noexc.i509 unwind label %lpad.i506 @@ -89041,7 +89074,7 @@ call.i.noexc.i509: ; preds = %__cxx_global_var_in lpad.i.i511: ; preds = %.noexc.i510 %89 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i503) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i503) #28 br label %common.resume invoke.cont.i512: ; preds = %.noexc.i510 @@ -89059,7 +89092,7 @@ invoke.cont6.i520: ; preds = %invoke.cont3.i516 to label %invoke.cont8.i522 unwind label %lpad4.i519 invoke.cont8.i522: ; preds = %invoke.cont6.i520 - %call11.i523 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i523 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i524 unwind label %lpad4.i519 invoke.cont10.i524: ; preds = %invoke.cont8.i522 @@ -89080,18 +89113,18 @@ lpad2.i513: ; preds = %invoke.cont.i512 lpad4.i519: ; preds = %invoke.cont10.i524, %invoke.cont8.i522, %invoke.cont6.i520, %invoke.cont3.i516 %92 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i502) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i502) #28 br label %ehcleanup16.i514 ehcleanup16.i514: ; preds = %lpad4.i519, %lpad2.i513 %.pn.i515 = phi { ptr, i32 } [ %92, %lpad4.i519 ], [ %91, %lpad2.i513 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i503) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i503) #28 br label %common.resume __cxx_global_var_init.46.exit: ; preds = %invoke.cont10.i524 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i502) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i503) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i504) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i502) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i503) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i504) #28 store ptr %call15.i525, ptr @_ZN12_GLOBAL__N_128NonMutatingTest_SearchN_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i502) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i503) @@ -89099,7 +89132,7 @@ __cxx_global_var_init.46.exit: ; preds = %invoke.cont10.i524 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i526) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i527) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i528) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i528) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i528) #28 %call.i3.i529 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i527) to label %call.i.noexc.i533 unwind label %lpad.i530 @@ -89114,7 +89147,7 @@ call.i.noexc.i533: ; preds = %__cxx_global_var_in lpad.i.i535: ; preds = %.noexc.i534 %93 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i527) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i527) #28 br label %common.resume invoke.cont.i536: ; preds = %.noexc.i534 @@ -89132,7 +89165,7 @@ invoke.cont6.i544: ; preds = %invoke.cont3.i540 to label %invoke.cont8.i546 unwind label %lpad4.i543 invoke.cont8.i546: ; preds = %invoke.cont6.i544 - %call11.i547 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i547 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i548 unwind label %lpad4.i543 invoke.cont10.i548: ; preds = %invoke.cont8.i546 @@ -89153,18 +89186,18 @@ lpad2.i537: ; preds = %invoke.cont.i536 lpad4.i543: ; preds = %invoke.cont10.i548, %invoke.cont8.i546, %invoke.cont6.i544, %invoke.cont3.i540 %96 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i526) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i526) #28 br label %ehcleanup16.i538 ehcleanup16.i538: ; preds = %lpad4.i543, %lpad2.i537 %.pn.i539 = phi { ptr, i32 } [ %96, %lpad4.i543 ], [ %95, %lpad2.i537 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i527) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i527) #28 br label %common.resume __cxx_global_var_init.48.exit: ; preds = %invoke.cont10.i548 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i526) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i527) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i528) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i526) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i527) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i528) #28 store ptr %call15.i549, ptr @_ZN12_GLOBAL__N_141NonMutatingTest_SearchNWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i526) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i527) @@ -89172,7 +89205,7 @@ __cxx_global_var_init.48.exit: ; preds = %invoke.cont10.i548 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i550) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i551) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i552) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i552) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i552) #28 %call.i3.i553 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i551) to label %call.i.noexc.i557 unwind label %lpad.i554 @@ -89187,7 +89220,7 @@ call.i.noexc.i557: ; preds = %__cxx_global_var_in lpad.i.i559: ; preds = %.noexc.i558 %97 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i551) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i551) #28 br label %common.resume invoke.cont.i560: ; preds = %.noexc.i558 @@ -89205,7 +89238,7 @@ invoke.cont6.i568: ; preds = %invoke.cont3.i564 to label %invoke.cont8.i570 unwind label %lpad4.i567 invoke.cont8.i570: ; preds = %invoke.cont6.i568 - %call11.i571 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i571 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i572 unwind label %lpad4.i567 invoke.cont10.i572: ; preds = %invoke.cont8.i570 @@ -89226,18 +89259,18 @@ lpad2.i561: ; preds = %invoke.cont.i560 lpad4.i567: ; preds = %invoke.cont10.i572, %invoke.cont8.i570, %invoke.cont6.i568, %invoke.cont3.i564 %100 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i550) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i550) #28 br label %ehcleanup16.i562 ehcleanup16.i562: ; preds = %lpad4.i567, %lpad2.i561 %.pn.i563 = phi { ptr, i32 } [ %100, %lpad4.i567 ], [ %99, %lpad2.i561 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i551) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i551) #28 br label %common.resume __cxx_global_var_init.50.exit: ; preds = %invoke.cont10.i572 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i550) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i551) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i552) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i550) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i551) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i552) #28 store ptr %call15.i573, ptr @_ZN12_GLOBAL__N_131NonMutatingTest_LowerBound_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i550) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i551) @@ -89245,7 +89278,7 @@ __cxx_global_var_init.50.exit: ; preds = %invoke.cont10.i572 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i574) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i575) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i576) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i576) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i576) #28 %call.i3.i577 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i575) to label %call.i.noexc.i581 unwind label %lpad.i578 @@ -89260,7 +89293,7 @@ call.i.noexc.i581: ; preds = %__cxx_global_var_in lpad.i.i583: ; preds = %.noexc.i582 %101 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i575) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i575) #28 br label %common.resume invoke.cont.i584: ; preds = %.noexc.i582 @@ -89278,7 +89311,7 @@ invoke.cont6.i592: ; preds = %invoke.cont3.i588 to label %invoke.cont8.i594 unwind label %lpad4.i591 invoke.cont8.i594: ; preds = %invoke.cont6.i592 - %call11.i595 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i595 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i596 unwind label %lpad4.i591 invoke.cont10.i596: ; preds = %invoke.cont8.i594 @@ -89299,18 +89332,18 @@ lpad2.i585: ; preds = %invoke.cont.i584 lpad4.i591: ; preds = %invoke.cont10.i596, %invoke.cont8.i594, %invoke.cont6.i592, %invoke.cont3.i588 %104 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i574) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i574) #28 br label %ehcleanup16.i586 ehcleanup16.i586: ; preds = %lpad4.i591, %lpad2.i585 %.pn.i587 = phi { ptr, i32 } [ %104, %lpad4.i591 ], [ %103, %lpad2.i585 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i575) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i575) #28 br label %common.resume __cxx_global_var_init.52.exit: ; preds = %invoke.cont10.i596 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i574) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i575) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i576) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i574) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i575) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i576) #28 store ptr %call15.i597, ptr @_ZN12_GLOBAL__N_144NonMutatingTest_LowerBoundWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i574) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i575) @@ -89318,7 +89351,7 @@ __cxx_global_var_init.52.exit: ; preds = %invoke.cont10.i596 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i598) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i599) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i600) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i600) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i600) #28 %call.i3.i601 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i599) to label %call.i.noexc.i605 unwind label %lpad.i602 @@ -89333,7 +89366,7 @@ call.i.noexc.i605: ; preds = %__cxx_global_var_in lpad.i.i607: ; preds = %.noexc.i606 %105 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i599) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i599) #28 br label %common.resume invoke.cont.i608: ; preds = %.noexc.i606 @@ -89351,7 +89384,7 @@ invoke.cont6.i616: ; preds = %invoke.cont3.i612 to label %invoke.cont8.i618 unwind label %lpad4.i615 invoke.cont8.i618: ; preds = %invoke.cont6.i616 - %call11.i619 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i619 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i620 unwind label %lpad4.i615 invoke.cont10.i620: ; preds = %invoke.cont8.i618 @@ -89372,18 +89405,18 @@ lpad2.i609: ; preds = %invoke.cont.i608 lpad4.i615: ; preds = %invoke.cont10.i620, %invoke.cont8.i618, %invoke.cont6.i616, %invoke.cont3.i612 %108 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i598) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i598) #28 br label %ehcleanup16.i610 ehcleanup16.i610: ; preds = %lpad4.i615, %lpad2.i609 %.pn.i611 = phi { ptr, i32 } [ %108, %lpad4.i615 ], [ %107, %lpad2.i609 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i599) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i599) #28 br label %common.resume __cxx_global_var_init.54.exit: ; preds = %invoke.cont10.i620 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i598) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i599) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i600) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i598) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i599) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i600) #28 store ptr %call15.i621, ptr @_ZN12_GLOBAL__N_131NonMutatingTest_UpperBound_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i598) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i599) @@ -89391,7 +89424,7 @@ __cxx_global_var_init.54.exit: ; preds = %invoke.cont10.i620 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i622) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i623) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i624) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i624) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i624) #28 %call.i3.i625 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i623) to label %call.i.noexc.i629 unwind label %lpad.i626 @@ -89406,7 +89439,7 @@ call.i.noexc.i629: ; preds = %__cxx_global_var_in lpad.i.i631: ; preds = %.noexc.i630 %109 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i623) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i623) #28 br label %common.resume invoke.cont.i632: ; preds = %.noexc.i630 @@ -89424,7 +89457,7 @@ invoke.cont6.i640: ; preds = %invoke.cont3.i636 to label %invoke.cont8.i642 unwind label %lpad4.i639 invoke.cont8.i642: ; preds = %invoke.cont6.i640 - %call11.i643 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i643 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i644 unwind label %lpad4.i639 invoke.cont10.i644: ; preds = %invoke.cont8.i642 @@ -89445,18 +89478,18 @@ lpad2.i633: ; preds = %invoke.cont.i632 lpad4.i639: ; preds = %invoke.cont10.i644, %invoke.cont8.i642, %invoke.cont6.i640, %invoke.cont3.i636 %112 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i622) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i622) #28 br label %ehcleanup16.i634 ehcleanup16.i634: ; preds = %lpad4.i639, %lpad2.i633 %.pn.i635 = phi { ptr, i32 } [ %112, %lpad4.i639 ], [ %111, %lpad2.i633 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i623) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i623) #28 br label %common.resume __cxx_global_var_init.56.exit: ; preds = %invoke.cont10.i644 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i622) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i623) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i624) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i622) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i623) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i624) #28 store ptr %call15.i645, ptr @_ZN12_GLOBAL__N_144NonMutatingTest_UpperBoundWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i622) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i623) @@ -89464,7 +89497,7 @@ __cxx_global_var_init.56.exit: ; preds = %invoke.cont10.i644 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i646) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i647) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i648) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i648) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i648) #28 %call.i3.i649 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i647) to label %call.i.noexc.i653 unwind label %lpad.i650 @@ -89479,7 +89512,7 @@ call.i.noexc.i653: ; preds = %__cxx_global_var_in lpad.i.i655: ; preds = %.noexc.i654 %113 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i647) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i647) #28 br label %common.resume invoke.cont.i656: ; preds = %.noexc.i654 @@ -89497,7 +89530,7 @@ invoke.cont6.i664: ; preds = %invoke.cont3.i660 to label %invoke.cont8.i666 unwind label %lpad4.i663 invoke.cont8.i666: ; preds = %invoke.cont6.i664 - %call11.i667 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i667 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i668 unwind label %lpad4.i663 invoke.cont10.i668: ; preds = %invoke.cont8.i666 @@ -89518,18 +89551,18 @@ lpad2.i657: ; preds = %invoke.cont.i656 lpad4.i663: ; preds = %invoke.cont10.i668, %invoke.cont8.i666, %invoke.cont6.i664, %invoke.cont3.i660 %116 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i646) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i646) #28 br label %ehcleanup16.i658 ehcleanup16.i658: ; preds = %lpad4.i663, %lpad2.i657 %.pn.i659 = phi { ptr, i32 } [ %116, %lpad4.i663 ], [ %115, %lpad2.i657 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i647) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i647) #28 br label %common.resume __cxx_global_var_init.58.exit: ; preds = %invoke.cont10.i668 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i646) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i647) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i648) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i646) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i647) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i648) #28 store ptr %call15.i669, ptr @_ZN12_GLOBAL__N_131NonMutatingTest_EqualRange_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i646) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i647) @@ -89537,7 +89570,7 @@ __cxx_global_var_init.58.exit: ; preds = %invoke.cont10.i668 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i670) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i671) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i672) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i672) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i672) #28 %call.i3.i673 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i671) to label %call.i.noexc.i677 unwind label %lpad.i674 @@ -89552,7 +89585,7 @@ call.i.noexc.i677: ; preds = %__cxx_global_var_in lpad.i.i679: ; preds = %.noexc.i678 %117 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i671) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i671) #28 br label %common.resume invoke.cont.i680: ; preds = %.noexc.i678 @@ -89570,7 +89603,7 @@ invoke.cont6.i688: ; preds = %invoke.cont3.i684 to label %invoke.cont8.i690 unwind label %lpad4.i687 invoke.cont8.i690: ; preds = %invoke.cont6.i688 - %call11.i691 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i691 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i692 unwind label %lpad4.i687 invoke.cont10.i692: ; preds = %invoke.cont8.i690 @@ -89591,18 +89624,18 @@ lpad2.i681: ; preds = %invoke.cont.i680 lpad4.i687: ; preds = %invoke.cont10.i692, %invoke.cont8.i690, %invoke.cont6.i688, %invoke.cont3.i684 %120 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i670) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i670) #28 br label %ehcleanup16.i682 ehcleanup16.i682: ; preds = %lpad4.i687, %lpad2.i681 %.pn.i683 = phi { ptr, i32 } [ %120, %lpad4.i687 ], [ %119, %lpad2.i681 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i671) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i671) #28 br label %common.resume __cxx_global_var_init.60.exit: ; preds = %invoke.cont10.i692 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i670) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i671) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i672) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i670) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i671) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i672) #28 store ptr %call15.i693, ptr @_ZN12_GLOBAL__N_136NonMutatingTest_EqualRangeArray_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i670) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i671) @@ -89610,7 +89643,7 @@ __cxx_global_var_init.60.exit: ; preds = %invoke.cont10.i692 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i694) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i695) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i696) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i696) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i696) #28 %call.i3.i697 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i695) to label %call.i.noexc.i701 unwind label %lpad.i698 @@ -89625,7 +89658,7 @@ call.i.noexc.i701: ; preds = %__cxx_global_var_in lpad.i.i703: ; preds = %.noexc.i702 %121 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i695) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i695) #28 br label %common.resume invoke.cont.i704: ; preds = %.noexc.i702 @@ -89643,7 +89676,7 @@ invoke.cont6.i712: ; preds = %invoke.cont3.i708 to label %invoke.cont8.i714 unwind label %lpad4.i711 invoke.cont8.i714: ; preds = %invoke.cont6.i712 - %call11.i715 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i715 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i716 unwind label %lpad4.i711 invoke.cont10.i716: ; preds = %invoke.cont8.i714 @@ -89664,18 +89697,18 @@ lpad2.i705: ; preds = %invoke.cont.i704 lpad4.i711: ; preds = %invoke.cont10.i716, %invoke.cont8.i714, %invoke.cont6.i712, %invoke.cont3.i708 %124 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i694) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i694) #28 br label %ehcleanup16.i706 ehcleanup16.i706: ; preds = %lpad4.i711, %lpad2.i705 %.pn.i707 = phi { ptr, i32 } [ %124, %lpad4.i711 ], [ %123, %lpad2.i705 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i695) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i695) #28 br label %common.resume __cxx_global_var_init.62.exit: ; preds = %invoke.cont10.i716 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i694) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i695) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i696) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i694) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i695) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i696) #28 store ptr %call15.i717, ptr @_ZN12_GLOBAL__N_144NonMutatingTest_EqualRangeWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i694) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i695) @@ -89683,7 +89716,7 @@ __cxx_global_var_init.62.exit: ; preds = %invoke.cont10.i716 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i718) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i719) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i720) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i720) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i720) #28 %call.i3.i721 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i719) to label %call.i.noexc.i725 unwind label %lpad.i722 @@ -89698,7 +89731,7 @@ call.i.noexc.i725: ; preds = %__cxx_global_var_in lpad.i.i727: ; preds = %.noexc.i726 %125 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i719) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i719) #28 br label %common.resume invoke.cont.i728: ; preds = %.noexc.i726 @@ -89716,7 +89749,7 @@ invoke.cont6.i736: ; preds = %invoke.cont3.i732 to label %invoke.cont8.i738 unwind label %lpad4.i735 invoke.cont8.i738: ; preds = %invoke.cont6.i736 - %call11.i739 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i739 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i740 unwind label %lpad4.i735 invoke.cont10.i740: ; preds = %invoke.cont8.i738 @@ -89737,18 +89770,18 @@ lpad2.i729: ; preds = %invoke.cont.i728 lpad4.i735: ; preds = %invoke.cont10.i740, %invoke.cont8.i738, %invoke.cont6.i736, %invoke.cont3.i732 %128 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i718) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i718) #28 br label %ehcleanup16.i730 ehcleanup16.i730: ; preds = %lpad4.i735, %lpad2.i729 %.pn.i731 = phi { ptr, i32 } [ %128, %lpad4.i735 ], [ %127, %lpad2.i729 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i719) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i719) #28 br label %common.resume __cxx_global_var_init.64.exit: ; preds = %invoke.cont10.i740 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i718) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i719) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i720) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i718) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i719) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i720) #28 store ptr %call15.i741, ptr @_ZN12_GLOBAL__N_133NonMutatingTest_BinarySearch_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i718) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i719) @@ -89756,7 +89789,7 @@ __cxx_global_var_init.64.exit: ; preds = %invoke.cont10.i740 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i742) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i743) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i744) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i744) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i744) #28 %call.i3.i745 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i743) to label %call.i.noexc.i749 unwind label %lpad.i746 @@ -89771,7 +89804,7 @@ call.i.noexc.i749: ; preds = %__cxx_global_var_in lpad.i.i751: ; preds = %.noexc.i750 %129 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i743) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i743) #28 br label %common.resume invoke.cont.i752: ; preds = %.noexc.i750 @@ -89789,7 +89822,7 @@ invoke.cont6.i760: ; preds = %invoke.cont3.i756 to label %invoke.cont8.i762 unwind label %lpad4.i759 invoke.cont8.i762: ; preds = %invoke.cont6.i760 - %call11.i763 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i763 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i764 unwind label %lpad4.i759 invoke.cont10.i764: ; preds = %invoke.cont8.i762 @@ -89810,18 +89843,18 @@ lpad2.i753: ; preds = %invoke.cont.i752 lpad4.i759: ; preds = %invoke.cont10.i764, %invoke.cont8.i762, %invoke.cont6.i760, %invoke.cont3.i756 %132 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i742) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i742) #28 br label %ehcleanup16.i754 ehcleanup16.i754: ; preds = %lpad4.i759, %lpad2.i753 %.pn.i755 = phi { ptr, i32 } [ %132, %lpad4.i759 ], [ %131, %lpad2.i753 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i743) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i743) #28 br label %common.resume __cxx_global_var_init.66.exit: ; preds = %invoke.cont10.i764 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i742) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i743) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i744) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i742) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i743) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i744) #28 store ptr %call15.i765, ptr @_ZN12_GLOBAL__N_146NonMutatingTest_BinarySearchWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i742) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i743) @@ -89829,7 +89862,7 @@ __cxx_global_var_init.66.exit: ; preds = %invoke.cont10.i764 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i766) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i767) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i768) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i768) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i768) #28 %call.i3.i769 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i767) to label %call.i.noexc.i773 unwind label %lpad.i770 @@ -89844,7 +89877,7 @@ call.i.noexc.i773: ; preds = %__cxx_global_var_in lpad.i.i775: ; preds = %.noexc.i774 %133 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i767) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i767) #28 br label %common.resume invoke.cont.i776: ; preds = %.noexc.i774 @@ -89862,7 +89895,7 @@ invoke.cont6.i784: ; preds = %invoke.cont3.i780 to label %invoke.cont8.i786 unwind label %lpad4.i783 invoke.cont8.i786: ; preds = %invoke.cont6.i784 - %call11.i787 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i787 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i788 unwind label %lpad4.i783 invoke.cont10.i788: ; preds = %invoke.cont8.i786 @@ -89883,18 +89916,18 @@ lpad2.i777: ; preds = %invoke.cont.i776 lpad4.i783: ; preds = %invoke.cont10.i788, %invoke.cont8.i786, %invoke.cont6.i784, %invoke.cont3.i780 %136 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i766) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i766) #28 br label %ehcleanup16.i778 ehcleanup16.i778: ; preds = %lpad4.i783, %lpad2.i777 %.pn.i779 = phi { ptr, i32 } [ %136, %lpad4.i783 ], [ %135, %lpad2.i777 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i767) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i767) #28 br label %common.resume __cxx_global_var_init.68.exit: ; preds = %invoke.cont10.i788 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i766) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i767) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i768) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i766) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i767) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i768) #28 store ptr %call15.i789, ptr @_ZN12_GLOBAL__N_131NonMutatingTest_MinElement_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i766) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i767) @@ -89902,7 +89935,7 @@ __cxx_global_var_init.68.exit: ; preds = %invoke.cont10.i788 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i790) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i791) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i792) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i792) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i792) #28 %call.i3.i793 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i791) to label %call.i.noexc.i797 unwind label %lpad.i794 @@ -89917,7 +89950,7 @@ call.i.noexc.i797: ; preds = %__cxx_global_var_in lpad.i.i799: ; preds = %.noexc.i798 %137 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i791) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i791) #28 br label %common.resume invoke.cont.i800: ; preds = %.noexc.i798 @@ -89935,7 +89968,7 @@ invoke.cont6.i808: ; preds = %invoke.cont3.i804 to label %invoke.cont8.i810 unwind label %lpad4.i807 invoke.cont8.i810: ; preds = %invoke.cont6.i808 - %call11.i811 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i811 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i812 unwind label %lpad4.i807 invoke.cont10.i812: ; preds = %invoke.cont8.i810 @@ -89956,18 +89989,18 @@ lpad2.i801: ; preds = %invoke.cont.i800 lpad4.i807: ; preds = %invoke.cont10.i812, %invoke.cont8.i810, %invoke.cont6.i808, %invoke.cont3.i804 %140 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i790) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i790) #28 br label %ehcleanup16.i802 ehcleanup16.i802: ; preds = %lpad4.i807, %lpad2.i801 %.pn.i803 = phi { ptr, i32 } [ %140, %lpad4.i807 ], [ %139, %lpad2.i801 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i791) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i791) #28 br label %common.resume __cxx_global_var_init.70.exit: ; preds = %invoke.cont10.i812 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i790) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i791) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i792) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i790) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i791) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i792) #28 store ptr %call15.i813, ptr @_ZN12_GLOBAL__N_144NonMutatingTest_MinElementWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i790) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i791) @@ -89975,7 +90008,7 @@ __cxx_global_var_init.70.exit: ; preds = %invoke.cont10.i812 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i814) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i815) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i816) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i816) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i816) #28 %call.i3.i817 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i815) to label %call.i.noexc.i821 unwind label %lpad.i818 @@ -89990,7 +90023,7 @@ call.i.noexc.i821: ; preds = %__cxx_global_var_in lpad.i.i823: ; preds = %.noexc.i822 %141 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i815) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i815) #28 br label %common.resume invoke.cont.i824: ; preds = %.noexc.i822 @@ -90008,7 +90041,7 @@ invoke.cont6.i832: ; preds = %invoke.cont3.i828 to label %invoke.cont8.i834 unwind label %lpad4.i831 invoke.cont8.i834: ; preds = %invoke.cont6.i832 - %call11.i835 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i835 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i836 unwind label %lpad4.i831 invoke.cont10.i836: ; preds = %invoke.cont8.i834 @@ -90029,18 +90062,18 @@ lpad2.i825: ; preds = %invoke.cont.i824 lpad4.i831: ; preds = %invoke.cont10.i836, %invoke.cont8.i834, %invoke.cont6.i832, %invoke.cont3.i828 %144 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i814) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i814) #28 br label %ehcleanup16.i826 ehcleanup16.i826: ; preds = %lpad4.i831, %lpad2.i825 %.pn.i827 = phi { ptr, i32 } [ %144, %lpad4.i831 ], [ %143, %lpad2.i825 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i815) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i815) #28 br label %common.resume __cxx_global_var_init.72.exit: ; preds = %invoke.cont10.i836 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i814) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i815) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i816) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i814) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i815) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i816) #28 store ptr %call15.i837, ptr @_ZN12_GLOBAL__N_131NonMutatingTest_MaxElement_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i814) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i815) @@ -90048,7 +90081,7 @@ __cxx_global_var_init.72.exit: ; preds = %invoke.cont10.i836 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i838) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i839) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i840) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i840) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i840) #28 %call.i3.i841 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i839) to label %call.i.noexc.i845 unwind label %lpad.i842 @@ -90063,7 +90096,7 @@ call.i.noexc.i845: ; preds = %__cxx_global_var_in lpad.i.i847: ; preds = %.noexc.i846 %145 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i839) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i839) #28 br label %common.resume invoke.cont.i848: ; preds = %.noexc.i846 @@ -90081,7 +90114,7 @@ invoke.cont6.i856: ; preds = %invoke.cont3.i852 to label %invoke.cont8.i858 unwind label %lpad4.i855 invoke.cont8.i858: ; preds = %invoke.cont6.i856 - %call11.i859 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i859 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i860 unwind label %lpad4.i855 invoke.cont10.i860: ; preds = %invoke.cont8.i858 @@ -90102,18 +90135,18 @@ lpad2.i849: ; preds = %invoke.cont.i848 lpad4.i855: ; preds = %invoke.cont10.i860, %invoke.cont8.i858, %invoke.cont6.i856, %invoke.cont3.i852 %148 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i838) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i838) #28 br label %ehcleanup16.i850 ehcleanup16.i850: ; preds = %lpad4.i855, %lpad2.i849 %.pn.i851 = phi { ptr, i32 } [ %148, %lpad4.i855 ], [ %147, %lpad2.i849 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i839) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i839) #28 br label %common.resume __cxx_global_var_init.74.exit: ; preds = %invoke.cont10.i860 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i838) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i839) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i840) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i838) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i839) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i840) #28 store ptr %call15.i861, ptr @_ZN12_GLOBAL__N_144NonMutatingTest_MaxElementWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i838) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i839) @@ -90121,7 +90154,7 @@ __cxx_global_var_init.74.exit: ; preds = %invoke.cont10.i860 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i862) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i863) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i864) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i864) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i864) #28 %call.i3.i865 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i863) to label %call.i.noexc.i869 unwind label %lpad.i866 @@ -90136,7 +90169,7 @@ call.i.noexc.i869: ; preds = %__cxx_global_var_in lpad.i.i871: ; preds = %.noexc.i870 %149 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i863) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i863) #28 br label %common.resume invoke.cont.i872: ; preds = %.noexc.i870 @@ -90154,7 +90187,7 @@ invoke.cont6.i880: ; preds = %invoke.cont3.i876 to label %invoke.cont8.i882 unwind label %lpad4.i879 invoke.cont8.i882: ; preds = %invoke.cont6.i880 - %call11.i883 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i883 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i884 unwind label %lpad4.i879 invoke.cont10.i884: ; preds = %invoke.cont8.i882 @@ -90175,18 +90208,18 @@ lpad2.i873: ; preds = %invoke.cont.i872 lpad4.i879: ; preds = %invoke.cont10.i884, %invoke.cont8.i882, %invoke.cont6.i880, %invoke.cont3.i876 %152 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i862) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i862) #28 br label %ehcleanup16.i874 ehcleanup16.i874: ; preds = %lpad4.i879, %lpad2.i873 %.pn.i875 = phi { ptr, i32 } [ %152, %lpad4.i879 ], [ %151, %lpad2.i873 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i863) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i863) #28 br label %common.resume __cxx_global_var_init.76.exit: ; preds = %invoke.cont10.i884 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i862) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i863) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i864) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i862) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i863) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i864) #28 store ptr %call15.i885, ptr @_ZN12_GLOBAL__N_143NonMutatingTest_LexicographicalCompare_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i862) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i863) @@ -90194,7 +90227,7 @@ __cxx_global_var_init.76.exit: ; preds = %invoke.cont10.i884 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i886) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i887) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i888) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i888) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i888) #28 %call.i3.i889 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i887) to label %call.i.noexc.i893 unwind label %lpad.i890 @@ -90209,7 +90242,7 @@ call.i.noexc.i893: ; preds = %__cxx_global_var_in lpad.i.i895: ; preds = %.noexc.i894 %153 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i887) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i887) #28 br label %common.resume invoke.cont.i896: ; preds = %.noexc.i894 @@ -90227,7 +90260,7 @@ invoke.cont6.i904: ; preds = %invoke.cont3.i900 to label %invoke.cont8.i906 unwind label %lpad4.i903 invoke.cont8.i906: ; preds = %invoke.cont6.i904 - %call11.i907 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i907 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i908 unwind label %lpad4.i903 invoke.cont10.i908: ; preds = %invoke.cont8.i906 @@ -90248,18 +90281,18 @@ lpad2.i897: ; preds = %invoke.cont.i896 lpad4.i903: ; preds = %invoke.cont10.i908, %invoke.cont8.i906, %invoke.cont6.i904, %invoke.cont3.i900 %156 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i886) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i886) #28 br label %ehcleanup16.i898 ehcleanup16.i898: ; preds = %lpad4.i903, %lpad2.i897 %.pn.i899 = phi { ptr, i32 } [ %156, %lpad4.i903 ], [ %155, %lpad2.i897 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i887) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i887) #28 br label %common.resume __cxx_global_var_init.78.exit: ; preds = %invoke.cont10.i908 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i886) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i887) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i888) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i886) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i887) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i888) #28 store ptr %call15.i909, ptr @_ZN12_GLOBAL__N_156NonMutatingTest_LexicographicalCopmareWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i886) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i887) @@ -90267,7 +90300,7 @@ __cxx_global_var_init.78.exit: ; preds = %invoke.cont10.i908 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i910) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i911) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i912) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i912) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i912) #28 %call.i3.i913 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i911) to label %call.i.noexc.i917 unwind label %lpad.i914 @@ -90282,7 +90315,7 @@ call.i.noexc.i917: ; preds = %__cxx_global_var_in lpad.i.i919: ; preds = %.noexc.i918 %157 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i911) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i911) #28 br label %common.resume invoke.cont.i920: ; preds = %.noexc.i918 @@ -90300,7 +90333,7 @@ invoke.cont6.i928: ; preds = %invoke.cont3.i924 to label %invoke.cont8.i930 unwind label %lpad4.i927 invoke.cont8.i930: ; preds = %invoke.cont6.i928 - %call11.i931 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i931 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i932 unwind label %lpad4.i927 invoke.cont10.i932: ; preds = %invoke.cont8.i930 @@ -90321,18 +90354,18 @@ lpad2.i921: ; preds = %invoke.cont.i920 lpad4.i927: ; preds = %invoke.cont10.i932, %invoke.cont8.i930, %invoke.cont6.i928, %invoke.cont3.i924 %160 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i910) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i910) #28 br label %ehcleanup16.i922 ehcleanup16.i922: ; preds = %lpad4.i927, %lpad2.i921 %.pn.i923 = phi { ptr, i32 } [ %160, %lpad4.i927 ], [ %159, %lpad2.i921 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i911) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i911) #28 br label %common.resume __cxx_global_var_init.80.exit: ; preds = %invoke.cont10.i932 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i910) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i911) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i912) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i910) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i911) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i912) #28 store ptr %call15.i933, ptr @_ZN12_GLOBAL__N_129NonMutatingTest_Includes_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i910) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i911) @@ -90340,7 +90373,7 @@ __cxx_global_var_init.80.exit: ; preds = %invoke.cont10.i932 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i934) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i935) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i936) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i936) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i936) #28 %call.i3.i937 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i935) to label %call.i.noexc.i941 unwind label %lpad.i938 @@ -90355,7 +90388,7 @@ call.i.noexc.i941: ; preds = %__cxx_global_var_in lpad.i.i943: ; preds = %.noexc.i942 %161 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i935) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i935) #28 br label %common.resume invoke.cont.i944: ; preds = %.noexc.i942 @@ -90373,7 +90406,7 @@ invoke.cont6.i952: ; preds = %invoke.cont3.i948 to label %invoke.cont8.i954 unwind label %lpad4.i951 invoke.cont8.i954: ; preds = %invoke.cont6.i952 - %call11.i955 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i955 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i956 unwind label %lpad4.i951 invoke.cont10.i956: ; preds = %invoke.cont8.i954 @@ -90394,18 +90427,18 @@ lpad2.i945: ; preds = %invoke.cont.i944 lpad4.i951: ; preds = %invoke.cont10.i956, %invoke.cont8.i954, %invoke.cont6.i952, %invoke.cont3.i948 %164 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i934) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i934) #28 br label %ehcleanup16.i946 ehcleanup16.i946: ; preds = %lpad4.i951, %lpad2.i945 %.pn.i947 = phi { ptr, i32 } [ %164, %lpad4.i951 ], [ %163, %lpad2.i945 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i935) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i935) #28 br label %common.resume __cxx_global_var_init.82.exit: ; preds = %invoke.cont10.i956 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i934) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i935) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i936) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i934) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i935) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i936) #28 store ptr %call15.i957, ptr @_ZN12_GLOBAL__N_142NonMutatingTest_IncludesWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i934) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i935) @@ -90413,7 +90446,7 @@ __cxx_global_var_init.82.exit: ; preds = %invoke.cont10.i956 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i958) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i959) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i960) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i960) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i960) #28 %call.i3.i961 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i959) to label %call.i.noexc.i965 unwind label %lpad.i962 @@ -90428,7 +90461,7 @@ call.i.noexc.i965: ; preds = %__cxx_global_var_in lpad.i.i967: ; preds = %.noexc.i966 %165 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i959) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i959) #28 br label %common.resume invoke.cont.i968: ; preds = %.noexc.i966 @@ -90446,7 +90479,7 @@ invoke.cont6.i976: ; preds = %invoke.cont3.i972 to label %invoke.cont8.i978 unwind label %lpad4.i975 invoke.cont8.i978: ; preds = %invoke.cont6.i976 - %call11.i979 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i979 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i980 unwind label %lpad4.i975 invoke.cont10.i980: ; preds = %invoke.cont8.i978 @@ -90467,18 +90500,18 @@ lpad2.i969: ; preds = %invoke.cont.i968 lpad4.i975: ; preds = %invoke.cont10.i980, %invoke.cont8.i978, %invoke.cont6.i976, %invoke.cont3.i972 %168 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i958) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i958) #28 br label %ehcleanup16.i970 ehcleanup16.i970: ; preds = %lpad4.i975, %lpad2.i969 %.pn.i971 = phi { ptr, i32 } [ %168, %lpad4.i975 ], [ %167, %lpad2.i969 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i959) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i959) #28 br label %common.resume __cxx_global_var_init.84.exit: ; preds = %invoke.cont10.i980 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i958) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i959) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i960) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i958) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i959) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i960) #28 store ptr %call15.i981, ptr @_ZN12_GLOBAL__N_129NumericMutatingTest_Iota_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i958) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i959) @@ -90486,7 +90519,7 @@ __cxx_global_var_init.84.exit: ; preds = %invoke.cont10.i980 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i982) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i983) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i984) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i984) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i984) #28 %call.i3.i985 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i983) to label %call.i.noexc.i989 unwind label %lpad.i986 @@ -90501,7 +90534,7 @@ call.i.noexc.i989: ; preds = %__cxx_global_var_in lpad.i.i991: ; preds = %.noexc.i990 %169 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i983) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i983) #28 br label %common.resume invoke.cont.i992: ; preds = %.noexc.i990 @@ -90519,7 +90552,7 @@ invoke.cont6.i1000: ; preds = %invoke.cont3.i996 to label %invoke.cont8.i1002 unwind label %lpad4.i999 invoke.cont8.i1002: ; preds = %invoke.cont6.i1000 - %call11.i1003 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1003 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1004 unwind label %lpad4.i999 invoke.cont10.i1004: ; preds = %invoke.cont8.i1002 @@ -90540,18 +90573,18 @@ lpad2.i993: ; preds = %invoke.cont.i992 lpad4.i999: ; preds = %invoke.cont10.i1004, %invoke.cont8.i1002, %invoke.cont6.i1000, %invoke.cont3.i996 %172 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i982) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i982) #28 br label %ehcleanup16.i994 ehcleanup16.i994: ; preds = %lpad4.i999, %lpad2.i993 %.pn.i995 = phi { ptr, i32 } [ %172, %lpad4.i999 ], [ %171, %lpad2.i993 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i983) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i983) #28 br label %common.resume __cxx_global_var_init.87.exit: ; preds = %invoke.cont10.i1004 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i982) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i983) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i984) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i982) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i983) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i984) #28 store ptr %call15.i1005, ptr @_ZN12_GLOBAL__N_131NonMutatingTest_Accumulate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i982) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i983) @@ -90559,7 +90592,7 @@ __cxx_global_var_init.87.exit: ; preds = %invoke.cont10.i1004 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1006) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1007) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1008) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1008) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1008) #28 %call.i3.i1009 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1007) to label %call.i.noexc.i1013 unwind label %lpad.i1010 @@ -90574,7 +90607,7 @@ call.i.noexc.i1013: ; preds = %__cxx_global_var_in lpad.i.i1015: ; preds = %.noexc.i1014 %173 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1007) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1007) #28 br label %common.resume invoke.cont.i1016: ; preds = %.noexc.i1014 @@ -90592,7 +90625,7 @@ invoke.cont6.i1024: ; preds = %invoke.cont3.i1020 to label %invoke.cont8.i1026 unwind label %lpad4.i1023 invoke.cont8.i1026: ; preds = %invoke.cont6.i1024 - %call11.i1027 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1027 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1028 unwind label %lpad4.i1023 invoke.cont10.i1028: ; preds = %invoke.cont8.i1026 @@ -90613,18 +90646,18 @@ lpad2.i1017: ; preds = %invoke.cont.i1016 lpad4.i1023: ; preds = %invoke.cont10.i1028, %invoke.cont8.i1026, %invoke.cont6.i1024, %invoke.cont3.i1020 %176 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1006) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1006) #28 br label %ehcleanup16.i1018 ehcleanup16.i1018: ; preds = %lpad4.i1023, %lpad2.i1017 %.pn.i1019 = phi { ptr, i32 } [ %176, %lpad4.i1023 ], [ %175, %lpad2.i1017 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1007) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1007) #28 br label %common.resume __cxx_global_var_init.89.exit: ; preds = %invoke.cont10.i1028 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1006) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1007) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1008) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1006) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1007) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1008) #28 store ptr %call15.i1029, ptr @_ZN12_GLOBAL__N_143NonMutatingTest_AccumulateWithBinaryOp_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1006) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1007) @@ -90632,7 +90665,7 @@ __cxx_global_var_init.89.exit: ; preds = %invoke.cont10.i1028 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1030) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1031) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1032) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1032) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1032) #28 %call.i3.i1033 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1031) to label %call.i.noexc.i1037 unwind label %lpad.i1034 @@ -90647,7 +90680,7 @@ call.i.noexc.i1037: ; preds = %__cxx_global_var_in lpad.i.i1039: ; preds = %.noexc.i1038 %177 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1031) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1031) #28 br label %common.resume invoke.cont.i1040: ; preds = %.noexc.i1038 @@ -90665,7 +90698,7 @@ invoke.cont6.i1048: ; preds = %invoke.cont3.i1044 to label %invoke.cont8.i1050 unwind label %lpad4.i1047 invoke.cont8.i1050: ; preds = %invoke.cont6.i1048 - %call11.i1051 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1051 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1052 unwind label %lpad4.i1047 invoke.cont10.i1052: ; preds = %invoke.cont8.i1050 @@ -90686,18 +90719,18 @@ lpad2.i1041: ; preds = %invoke.cont.i1040 lpad4.i1047: ; preds = %invoke.cont10.i1052, %invoke.cont8.i1050, %invoke.cont6.i1048, %invoke.cont3.i1044 %180 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1030) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1030) #28 br label %ehcleanup16.i1042 ehcleanup16.i1042: ; preds = %lpad4.i1047, %lpad2.i1041 %.pn.i1043 = phi { ptr, i32 } [ %180, %lpad4.i1047 ], [ %179, %lpad2.i1041 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1031) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1031) #28 br label %common.resume __cxx_global_var_init.91.exit: ; preds = %invoke.cont10.i1052 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1030) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1031) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1032) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1030) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1031) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1032) #28 store ptr %call15.i1053, ptr @_ZN12_GLOBAL__N_141NonMutatingTest_AccumulateLvalueInit_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1030) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1031) @@ -90705,7 +90738,7 @@ __cxx_global_var_init.91.exit: ; preds = %invoke.cont10.i1052 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1054) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1055) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1056) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1056) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1056) #28 %call.i3.i1057 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1055) to label %call.i.noexc.i1061 unwind label %lpad.i1058 @@ -90720,7 +90753,7 @@ call.i.noexc.i1061: ; preds = %__cxx_global_var_in lpad.i.i1063: ; preds = %.noexc.i1062 %181 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1055) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1055) #28 br label %common.resume invoke.cont.i1064: ; preds = %.noexc.i1062 @@ -90738,7 +90771,7 @@ invoke.cont6.i1072: ; preds = %invoke.cont3.i1068 to label %invoke.cont8.i1074 unwind label %lpad4.i1071 invoke.cont8.i1074: ; preds = %invoke.cont6.i1072 - %call11.i1075 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1075 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1076 unwind label %lpad4.i1071 invoke.cont10.i1076: ; preds = %invoke.cont8.i1074 @@ -90759,18 +90792,18 @@ lpad2.i1065: ; preds = %invoke.cont.i1064 lpad4.i1071: ; preds = %invoke.cont10.i1076, %invoke.cont8.i1074, %invoke.cont6.i1072, %invoke.cont3.i1068 %184 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1054) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1054) #28 br label %ehcleanup16.i1066 ehcleanup16.i1066: ; preds = %lpad4.i1071, %lpad2.i1065 %.pn.i1067 = phi { ptr, i32 } [ %184, %lpad4.i1071 ], [ %183, %lpad2.i1065 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1055) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1055) #28 br label %common.resume __cxx_global_var_init.93.exit: ; preds = %invoke.cont10.i1076 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1054) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1055) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1056) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1054) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1055) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1056) #28 store ptr %call15.i1077, ptr @_ZN12_GLOBAL__N_153NonMutatingTest_AccumulateWithBinaryOpLvalueInit_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1054) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1055) @@ -90778,7 +90811,7 @@ __cxx_global_var_init.93.exit: ; preds = %invoke.cont10.i1076 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1078) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1079) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1080) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1080) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1080) #28 %call.i3.i1081 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1079) to label %call.i.noexc.i1085 unwind label %lpad.i1082 @@ -90793,7 +90826,7 @@ call.i.noexc.i1085: ; preds = %__cxx_global_var_in lpad.i.i1087: ; preds = %.noexc.i1086 %185 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1079) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1079) #28 br label %common.resume invoke.cont.i1088: ; preds = %.noexc.i1086 @@ -90811,7 +90844,7 @@ invoke.cont6.i1096: ; preds = %invoke.cont3.i1092 to label %invoke.cont8.i1098 unwind label %lpad4.i1095 invoke.cont8.i1098: ; preds = %invoke.cont6.i1096 - %call11.i1099 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1099 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1100 unwind label %lpad4.i1095 invoke.cont10.i1100: ; preds = %invoke.cont8.i1098 @@ -90832,18 +90865,18 @@ lpad2.i1089: ; preds = %invoke.cont.i1088 lpad4.i1095: ; preds = %invoke.cont10.i1100, %invoke.cont8.i1098, %invoke.cont6.i1096, %invoke.cont3.i1092 %188 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1078) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1078) #28 br label %ehcleanup16.i1090 ehcleanup16.i1090: ; preds = %lpad4.i1095, %lpad2.i1089 %.pn.i1091 = phi { ptr, i32 } [ %188, %lpad4.i1095 ], [ %187, %lpad2.i1089 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1079) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1079) #28 br label %common.resume __cxx_global_var_init.95.exit: ; preds = %invoke.cont10.i1100 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1078) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1079) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1080) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1078) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1079) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1080) #28 store ptr %call15.i1101, ptr @_ZN12_GLOBAL__N_133NonMutatingTest_InnerProduct_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1078) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1079) @@ -90851,7 +90884,7 @@ __cxx_global_var_init.95.exit: ; preds = %invoke.cont10.i1100 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1102) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1103) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1104) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1104) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1104) #28 %call.i3.i1105 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1103) to label %call.i.noexc.i1109 unwind label %lpad.i1106 @@ -90866,7 +90899,7 @@ call.i.noexc.i1109: ; preds = %__cxx_global_var_in lpad.i.i1111: ; preds = %.noexc.i1110 %189 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1103) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1103) #28 br label %common.resume invoke.cont.i1112: ; preds = %.noexc.i1110 @@ -90884,7 +90917,7 @@ invoke.cont6.i1120: ; preds = %invoke.cont3.i1116 to label %invoke.cont8.i1122 unwind label %lpad4.i1119 invoke.cont8.i1122: ; preds = %invoke.cont6.i1120 - %call11.i1123 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1123 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1124 unwind label %lpad4.i1119 invoke.cont10.i1124: ; preds = %invoke.cont8.i1122 @@ -90905,18 +90938,18 @@ lpad2.i1113: ; preds = %invoke.cont.i1112 lpad4.i1119: ; preds = %invoke.cont10.i1124, %invoke.cont8.i1122, %invoke.cont6.i1120, %invoke.cont3.i1116 %192 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1102) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1102) #28 br label %ehcleanup16.i1114 ehcleanup16.i1114: ; preds = %lpad4.i1119, %lpad2.i1113 %.pn.i1115 = phi { ptr, i32 } [ %192, %lpad4.i1119 ], [ %191, %lpad2.i1113 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1103) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1103) #28 br label %common.resume __cxx_global_var_init.97.exit: ; preds = %invoke.cont10.i1124 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1102) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1103) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1104) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1102) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1103) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1104) #28 store ptr %call15.i1125, ptr @_ZN12_GLOBAL__N_146NonMutatingTest_InnerProductWithBinaryOps_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1102) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1103) @@ -90924,7 +90957,7 @@ __cxx_global_var_init.97.exit: ; preds = %invoke.cont10.i1124 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1126) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1127) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1128) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1128) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1128) #28 %call.i3.i1129 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1127) to label %call.i.noexc.i1133 unwind label %lpad.i1130 @@ -90939,7 +90972,7 @@ call.i.noexc.i1133: ; preds = %__cxx_global_var_in lpad.i.i1135: ; preds = %.noexc.i1134 %193 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1127) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1127) #28 br label %common.resume invoke.cont.i1136: ; preds = %.noexc.i1134 @@ -90957,7 +90990,7 @@ invoke.cont6.i1144: ; preds = %invoke.cont3.i1140 to label %invoke.cont8.i1146 unwind label %lpad4.i1143 invoke.cont8.i1146: ; preds = %invoke.cont6.i1144 - %call11.i1147 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1147 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1148 unwind label %lpad4.i1143 invoke.cont10.i1148: ; preds = %invoke.cont8.i1146 @@ -90978,18 +91011,18 @@ lpad2.i1137: ; preds = %invoke.cont.i1136 lpad4.i1143: ; preds = %invoke.cont10.i1148, %invoke.cont8.i1146, %invoke.cont6.i1144, %invoke.cont3.i1140 %196 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1126) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1126) #28 br label %ehcleanup16.i1138 ehcleanup16.i1138: ; preds = %lpad4.i1143, %lpad2.i1137 %.pn.i1139 = phi { ptr, i32 } [ %196, %lpad4.i1143 ], [ %195, %lpad2.i1137 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1127) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1127) #28 br label %common.resume __cxx_global_var_init.99.exit: ; preds = %invoke.cont10.i1148 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1126) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1127) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1128) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1126) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1127) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1128) #28 store ptr %call15.i1149, ptr @_ZN12_GLOBAL__N_143NonMutatingTest_InnerProductLvalueInit_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1126) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1127) @@ -90997,7 +91030,7 @@ __cxx_global_var_init.99.exit: ; preds = %invoke.cont10.i1148 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1150) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1151) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1152) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1152) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1152) #28 %call.i3.i1153 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1151) to label %call.i.noexc.i1157 unwind label %lpad.i1154 @@ -91012,7 +91045,7 @@ call.i.noexc.i1157: ; preds = %__cxx_global_var_in lpad.i.i1159: ; preds = %.noexc.i1158 %197 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1151) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1151) #28 br label %common.resume invoke.cont.i1160: ; preds = %.noexc.i1158 @@ -91030,7 +91063,7 @@ invoke.cont6.i1168: ; preds = %invoke.cont3.i1164 to label %invoke.cont8.i1170 unwind label %lpad4.i1167 invoke.cont8.i1170: ; preds = %invoke.cont6.i1168 - %call11.i1171 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1171 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1172 unwind label %lpad4.i1167 invoke.cont10.i1172: ; preds = %invoke.cont8.i1170 @@ -91051,18 +91084,18 @@ lpad2.i1161: ; preds = %invoke.cont.i1160 lpad4.i1167: ; preds = %invoke.cont10.i1172, %invoke.cont8.i1170, %invoke.cont6.i1168, %invoke.cont3.i1164 %200 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1150) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1150) #28 br label %ehcleanup16.i1162 ehcleanup16.i1162: ; preds = %lpad4.i1167, %lpad2.i1161 %.pn.i1163 = phi { ptr, i32 } [ %200, %lpad4.i1167 ], [ %199, %lpad2.i1161 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1151) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1151) #28 br label %common.resume __cxx_global_var_init.101.exit: ; preds = %invoke.cont10.i1172 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1150) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1151) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1152) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1150) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1151) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1152) #28 store ptr %call15.i1173, ptr @_ZN12_GLOBAL__N_156NonMutatingTest_InnerProductWithBinaryOpsLvalueInit_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1150) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1151) @@ -91070,7 +91103,7 @@ __cxx_global_var_init.101.exit: ; preds = %invoke.cont10.i1172 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1174) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1175) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1176) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1176) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1176) #28 %call.i3.i1177 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1175) to label %call.i.noexc.i1181 unwind label %lpad.i1178 @@ -91085,7 +91118,7 @@ call.i.noexc.i1181: ; preds = %__cxx_global_var_in lpad.i.i1183: ; preds = %.noexc.i1182 %201 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1175) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1175) #28 br label %common.resume invoke.cont.i1184: ; preds = %.noexc.i1182 @@ -91103,7 +91136,7 @@ invoke.cont6.i1192: ; preds = %invoke.cont3.i1188 to label %invoke.cont8.i1194 unwind label %lpad4.i1191 invoke.cont8.i1194: ; preds = %invoke.cont6.i1192 - %call11.i1195 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1195 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1196 unwind label %lpad4.i1191 invoke.cont10.i1196: ; preds = %invoke.cont8.i1194 @@ -91124,18 +91157,18 @@ lpad2.i1185: ; preds = %invoke.cont.i1184 lpad4.i1191: ; preds = %invoke.cont10.i1196, %invoke.cont8.i1194, %invoke.cont6.i1192, %invoke.cont3.i1188 %204 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1174) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1174) #28 br label %ehcleanup16.i1186 ehcleanup16.i1186: ; preds = %lpad4.i1191, %lpad2.i1185 %.pn.i1187 = phi { ptr, i32 } [ %204, %lpad4.i1191 ], [ %203, %lpad2.i1185 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1175) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1175) #28 br label %common.resume __cxx_global_var_init.103.exit: ; preds = %invoke.cont10.i1196 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1174) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1175) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1176) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1174) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1175) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1176) #28 store ptr %call15.i1197, ptr @_ZN12_GLOBAL__N_143NumericMutatingTest_AdjacentDifference_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1174) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1175) @@ -91143,7 +91176,7 @@ __cxx_global_var_init.103.exit: ; preds = %invoke.cont10.i1196 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1198) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1199) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1200) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1200) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1200) #28 %call.i3.i1201 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1199) to label %call.i.noexc.i1205 unwind label %lpad.i1202 @@ -91158,7 +91191,7 @@ call.i.noexc.i1205: ; preds = %__cxx_global_var_in lpad.i.i1207: ; preds = %.noexc.i1206 %205 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1199) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1199) #28 br label %common.resume invoke.cont.i1208: ; preds = %.noexc.i1206 @@ -91176,7 +91209,7 @@ invoke.cont6.i1216: ; preds = %invoke.cont3.i1212 to label %invoke.cont8.i1218 unwind label %lpad4.i1215 invoke.cont8.i1218: ; preds = %invoke.cont6.i1216 - %call11.i1219 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1219 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1220 unwind label %lpad4.i1215 invoke.cont10.i1220: ; preds = %invoke.cont8.i1218 @@ -91197,18 +91230,18 @@ lpad2.i1209: ; preds = %invoke.cont.i1208 lpad4.i1215: ; preds = %invoke.cont10.i1220, %invoke.cont8.i1218, %invoke.cont6.i1216, %invoke.cont3.i1212 %208 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1198) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1198) #28 br label %ehcleanup16.i1210 ehcleanup16.i1210: ; preds = %lpad4.i1215, %lpad2.i1209 %.pn.i1211 = phi { ptr, i32 } [ %208, %lpad4.i1215 ], [ %207, %lpad2.i1209 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1199) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1199) #28 br label %common.resume __cxx_global_var_init.105.exit: ; preds = %invoke.cont10.i1220 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1198) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1199) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1200) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1198) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1199) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1200) #28 store ptr %call15.i1221, ptr @_ZN12_GLOBAL__N_155NumericMutatingTest_AdjacentDifferenceWithBinaryOp_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1198) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1199) @@ -91216,7 +91249,7 @@ __cxx_global_var_init.105.exit: ; preds = %invoke.cont10.i1220 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1222) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1223) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1224) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1224) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1224) #28 %call.i3.i1225 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1223) to label %call.i.noexc.i1229 unwind label %lpad.i1226 @@ -91231,7 +91264,7 @@ call.i.noexc.i1229: ; preds = %__cxx_global_var_in lpad.i.i1231: ; preds = %.noexc.i1230 %209 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1223) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1223) #28 br label %common.resume invoke.cont.i1232: ; preds = %.noexc.i1230 @@ -91249,7 +91282,7 @@ invoke.cont6.i1240: ; preds = %invoke.cont3.i1236 to label %invoke.cont8.i1242 unwind label %lpad4.i1239 invoke.cont8.i1242: ; preds = %invoke.cont6.i1240 - %call11.i1243 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1243 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1244 unwind label %lpad4.i1239 invoke.cont10.i1244: ; preds = %invoke.cont8.i1242 @@ -91270,18 +91303,18 @@ lpad2.i1233: ; preds = %invoke.cont.i1232 lpad4.i1239: ; preds = %invoke.cont10.i1244, %invoke.cont8.i1242, %invoke.cont6.i1240, %invoke.cont3.i1236 %212 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1222) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1222) #28 br label %ehcleanup16.i1234 ehcleanup16.i1234: ; preds = %lpad4.i1239, %lpad2.i1233 %.pn.i1235 = phi { ptr, i32 } [ %212, %lpad4.i1239 ], [ %211, %lpad2.i1233 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1223) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1223) #28 br label %common.resume __cxx_global_var_init.107.exit: ; preds = %invoke.cont10.i1244 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1222) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1223) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1224) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1222) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1223) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1224) #28 store ptr %call15.i1245, ptr @_ZN12_GLOBAL__N_135NumericMutatingTest_PartialSum_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1222) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1223) @@ -91289,7 +91322,7 @@ __cxx_global_var_init.107.exit: ; preds = %invoke.cont10.i1244 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1246) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1247) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1248) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1248) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1248) #28 %call.i3.i1249 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1247) to label %call.i.noexc.i1253 unwind label %lpad.i1250 @@ -91304,7 +91337,7 @@ call.i.noexc.i1253: ; preds = %__cxx_global_var_in lpad.i.i1255: ; preds = %.noexc.i1254 %213 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1247) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1247) #28 br label %common.resume invoke.cont.i1256: ; preds = %.noexc.i1254 @@ -91322,7 +91355,7 @@ invoke.cont6.i1264: ; preds = %invoke.cont3.i1260 to label %invoke.cont8.i1266 unwind label %lpad4.i1263 invoke.cont8.i1266: ; preds = %invoke.cont6.i1264 - %call11.i1267 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1267 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1268 unwind label %lpad4.i1263 invoke.cont10.i1268: ; preds = %invoke.cont8.i1266 @@ -91343,18 +91376,18 @@ lpad2.i1257: ; preds = %invoke.cont.i1256 lpad4.i1263: ; preds = %invoke.cont10.i1268, %invoke.cont8.i1266, %invoke.cont6.i1264, %invoke.cont3.i1260 %216 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1246) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1246) #28 br label %ehcleanup16.i1258 ehcleanup16.i1258: ; preds = %lpad4.i1263, %lpad2.i1257 %.pn.i1259 = phi { ptr, i32 } [ %216, %lpad4.i1263 ], [ %215, %lpad2.i1257 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1247) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1247) #28 br label %common.resume __cxx_global_var_init.109.exit: ; preds = %invoke.cont10.i1268 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1246) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1247) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1248) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1246) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1247) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1248) #28 store ptr %call15.i1269, ptr @_ZN12_GLOBAL__N_147NumericMutatingTest_PartialSumWithBinaryOp_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1246) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1247) @@ -91362,7 +91395,7 @@ __cxx_global_var_init.109.exit: ; preds = %invoke.cont10.i1268 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1270) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1271) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1272) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1272) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1272) #28 %call.i3.i1273 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1271) to label %call.i.noexc.i1277 unwind label %lpad.i1274 @@ -91377,7 +91410,7 @@ call.i.noexc.i1277: ; preds = %__cxx_global_var_in lpad.i.i1279: ; preds = %.noexc.i1278 %217 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1271) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1271) #28 br label %common.resume invoke.cont.i1280: ; preds = %.noexc.i1278 @@ -91395,7 +91428,7 @@ invoke.cont6.i1288: ; preds = %invoke.cont3.i1284 to label %invoke.cont8.i1290 unwind label %lpad4.i1287 invoke.cont8.i1290: ; preds = %invoke.cont6.i1288 - %call11.i1291 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1291 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1292 unwind label %lpad4.i1287 invoke.cont10.i1292: ; preds = %invoke.cont8.i1290 @@ -91416,18 +91449,18 @@ lpad2.i1281: ; preds = %invoke.cont.i1280 lpad4.i1287: ; preds = %invoke.cont10.i1292, %invoke.cont8.i1290, %invoke.cont6.i1288, %invoke.cont3.i1284 %220 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1270) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1270) #28 br label %ehcleanup16.i1282 ehcleanup16.i1282: ; preds = %lpad4.i1287, %lpad2.i1281 %.pn.i1283 = phi { ptr, i32 } [ %220, %lpad4.i1287 ], [ %219, %lpad2.i1281 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1271) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1271) #28 br label %common.resume __cxx_global_var_init.111.exit: ; preds = %invoke.cont10.i1292 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1270) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1271) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1272) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1270) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1271) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1272) #28 store ptr %call15.i1293, ptr @_ZN12_GLOBAL__N_133NonMutatingTest_LinearSearch_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1270) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1271) @@ -91435,7 +91468,7 @@ __cxx_global_var_init.111.exit: ; preds = %invoke.cont10.i1292 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1294) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1295) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1296) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1296) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1296) #28 %call.i3.i1297 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1295) to label %call.i.noexc.i1301 unwind label %lpad.i1298 @@ -91450,7 +91483,7 @@ call.i.noexc.i1301: ; preds = %__cxx_global_var_in lpad.i.i1303: ; preds = %.noexc.i1302 %221 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1295) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1295) #28 br label %common.resume invoke.cont.i1304: ; preds = %.noexc.i1302 @@ -91468,7 +91501,7 @@ invoke.cont6.i1312: ; preds = %invoke.cont3.i1308 to label %invoke.cont8.i1314 unwind label %lpad4.i1311 invoke.cont8.i1314: ; preds = %invoke.cont6.i1312 - %call11.i1315 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1315 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1316 unwind label %lpad4.i1311 invoke.cont10.i1316: ; preds = %invoke.cont8.i1314 @@ -91489,18 +91522,18 @@ lpad2.i1305: ; preds = %invoke.cont.i1304 lpad4.i1311: ; preds = %invoke.cont10.i1316, %invoke.cont8.i1314, %invoke.cont6.i1312, %invoke.cont3.i1308 %224 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1294) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1294) #28 br label %ehcleanup16.i1306 ehcleanup16.i1306: ; preds = %lpad4.i1311, %lpad2.i1305 %.pn.i1307 = phi { ptr, i32 } [ %224, %lpad4.i1311 ], [ %223, %lpad2.i1305 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1295) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1295) #28 br label %common.resume __cxx_global_var_init.113.exit: ; preds = %invoke.cont10.i1316 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1294) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1295) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1296) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1294) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1295) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1296) #28 store ptr %call15.i1317, ptr @_ZN12_GLOBAL__N_126NonMutatingTest_AllOf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1294) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1295) @@ -91508,7 +91541,7 @@ __cxx_global_var_init.113.exit: ; preds = %invoke.cont10.i1316 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1318) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1319) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1320) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1320) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1320) #28 %call.i3.i1321 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1319) to label %call.i.noexc.i1325 unwind label %lpad.i1322 @@ -91523,7 +91556,7 @@ call.i.noexc.i1325: ; preds = %__cxx_global_var_in lpad.i.i1327: ; preds = %.noexc.i1326 %225 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1319) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1319) #28 br label %common.resume invoke.cont.i1328: ; preds = %.noexc.i1326 @@ -91541,7 +91574,7 @@ invoke.cont6.i1336: ; preds = %invoke.cont3.i1332 to label %invoke.cont8.i1338 unwind label %lpad4.i1335 invoke.cont8.i1338: ; preds = %invoke.cont6.i1336 - %call11.i1339 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1339 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1340 unwind label %lpad4.i1335 invoke.cont10.i1340: ; preds = %invoke.cont8.i1338 @@ -91562,18 +91595,18 @@ lpad2.i1329: ; preds = %invoke.cont.i1328 lpad4.i1335: ; preds = %invoke.cont10.i1340, %invoke.cont8.i1338, %invoke.cont6.i1336, %invoke.cont3.i1332 %228 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1318) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1318) #28 br label %ehcleanup16.i1330 ehcleanup16.i1330: ; preds = %lpad4.i1335, %lpad2.i1329 %.pn.i1331 = phi { ptr, i32 } [ %228, %lpad4.i1335 ], [ %227, %lpad2.i1329 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1319) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1319) #28 br label %common.resume __cxx_global_var_init.115.exit: ; preds = %invoke.cont10.i1340 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1318) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1319) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1320) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1318) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1319) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1320) #28 store ptr %call15.i1341, ptr @_ZN12_GLOBAL__N_126NonMutatingTest_AnyOf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1318) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1319) @@ -91581,7 +91614,7 @@ __cxx_global_var_init.115.exit: ; preds = %invoke.cont10.i1340 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1342) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1343) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1344) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1344) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1344) #28 %call.i3.i1345 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1343) to label %call.i.noexc.i1349 unwind label %lpad.i1346 @@ -91596,7 +91629,7 @@ call.i.noexc.i1349: ; preds = %__cxx_global_var_in lpad.i.i1351: ; preds = %.noexc.i1350 %229 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1343) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1343) #28 br label %common.resume invoke.cont.i1352: ; preds = %.noexc.i1350 @@ -91614,7 +91647,7 @@ invoke.cont6.i1360: ; preds = %invoke.cont3.i1356 to label %invoke.cont8.i1362 unwind label %lpad4.i1359 invoke.cont8.i1362: ; preds = %invoke.cont6.i1360 - %call11.i1363 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1363 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1364 unwind label %lpad4.i1359 invoke.cont10.i1364: ; preds = %invoke.cont8.i1362 @@ -91635,18 +91668,18 @@ lpad2.i1353: ; preds = %invoke.cont.i1352 lpad4.i1359: ; preds = %invoke.cont10.i1364, %invoke.cont8.i1362, %invoke.cont6.i1360, %invoke.cont3.i1356 %232 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1342) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1342) #28 br label %ehcleanup16.i1354 ehcleanup16.i1354: ; preds = %lpad4.i1359, %lpad2.i1353 %.pn.i1355 = phi { ptr, i32 } [ %232, %lpad4.i1359 ], [ %231, %lpad2.i1353 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1343) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1343) #28 br label %common.resume __cxx_global_var_init.117.exit: ; preds = %invoke.cont10.i1364 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1342) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1343) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1344) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1342) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1343) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1344) #28 store ptr %call15.i1365, ptr @_ZN12_GLOBAL__N_127NonMutatingTest_NoneOf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1342) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1343) @@ -91654,7 +91687,7 @@ __cxx_global_var_init.117.exit: ; preds = %invoke.cont10.i1364 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1366) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1367) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1368) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1368) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1368) #28 %call.i3.i1369 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1367) to label %call.i.noexc.i1373 unwind label %lpad.i1370 @@ -91669,7 +91702,7 @@ call.i.noexc.i1373: ; preds = %__cxx_global_var_in lpad.i.i1375: ; preds = %.noexc.i1374 %233 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1367) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1367) #28 br label %common.resume invoke.cont.i1376: ; preds = %.noexc.i1374 @@ -91687,7 +91720,7 @@ invoke.cont6.i1384: ; preds = %invoke.cont3.i1380 to label %invoke.cont8.i1386 unwind label %lpad4.i1383 invoke.cont8.i1386: ; preds = %invoke.cont6.i1384 - %call11.i1387 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1387 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1388 unwind label %lpad4.i1383 invoke.cont10.i1388: ; preds = %invoke.cont8.i1386 @@ -91708,18 +91741,18 @@ lpad2.i1377: ; preds = %invoke.cont.i1376 lpad4.i1383: ; preds = %invoke.cont10.i1388, %invoke.cont8.i1386, %invoke.cont6.i1384, %invoke.cont3.i1380 %236 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1366) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1366) #28 br label %ehcleanup16.i1378 ehcleanup16.i1378: ; preds = %lpad4.i1383, %lpad2.i1377 %.pn.i1379 = phi { ptr, i32 } [ %236, %lpad4.i1383 ], [ %235, %lpad2.i1377 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1367) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1367) #28 br label %common.resume __cxx_global_var_init.119.exit: ; preds = %invoke.cont10.i1388 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1366) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1367) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1368) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1366) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1367) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1368) #28 store ptr %call15.i1389, ptr @_ZN12_GLOBAL__N_138NonMutatingTest_MinMaxElementLess_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1366) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1367) @@ -91727,7 +91760,7 @@ __cxx_global_var_init.119.exit: ; preds = %invoke.cont10.i1388 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1390) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1391) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1392) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1392) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1392) #28 %call.i3.i1393 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1391) to label %call.i.noexc.i1397 unwind label %lpad.i1394 @@ -91742,7 +91775,7 @@ call.i.noexc.i1397: ; preds = %__cxx_global_var_in lpad.i.i1399: ; preds = %.noexc.i1398 %237 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1391) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1391) #28 br label %common.resume invoke.cont.i1400: ; preds = %.noexc.i1398 @@ -91760,7 +91793,7 @@ invoke.cont6.i1408: ; preds = %invoke.cont3.i1404 to label %invoke.cont8.i1410 unwind label %lpad4.i1407 invoke.cont8.i1410: ; preds = %invoke.cont6.i1408 - %call11.i1411 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1411 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1412 unwind label %lpad4.i1407 invoke.cont10.i1412: ; preds = %invoke.cont8.i1410 @@ -91781,18 +91814,18 @@ lpad2.i1401: ; preds = %invoke.cont.i1400 lpad4.i1407: ; preds = %invoke.cont10.i1412, %invoke.cont8.i1410, %invoke.cont6.i1408, %invoke.cont3.i1404 %240 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1390) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1390) #28 br label %ehcleanup16.i1402 ehcleanup16.i1402: ; preds = %lpad4.i1407, %lpad2.i1401 %.pn.i1403 = phi { ptr, i32 } [ %240, %lpad4.i1407 ], [ %239, %lpad2.i1401 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1391) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1391) #28 br label %common.resume __cxx_global_var_init.121.exit: ; preds = %invoke.cont10.i1412 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1390) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1391) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1392) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1390) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1391) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1392) #28 store ptr %call15.i1413, ptr @_ZN12_GLOBAL__N_141NonMutatingTest_MinMaxElementGreater_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1390) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1391) @@ -91800,7 +91833,7 @@ __cxx_global_var_init.121.exit: ; preds = %invoke.cont10.i1412 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1414) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1415) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1416) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1416) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1416) #28 %call.i3.i1417 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1415) to label %call.i.noexc.i1421 unwind label %lpad.i1418 @@ -91815,7 +91848,7 @@ call.i.noexc.i1421: ; preds = %__cxx_global_var_in lpad.i.i1423: ; preds = %.noexc.i1422 %241 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1415) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1415) #28 br label %common.resume invoke.cont.i1424: ; preds = %.noexc.i1422 @@ -91833,7 +91866,7 @@ invoke.cont6.i1432: ; preds = %invoke.cont3.i1428 to label %invoke.cont8.i1434 unwind label %lpad4.i1431 invoke.cont8.i1434: ; preds = %invoke.cont6.i1432 - %call11.i1435 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1435 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1436 unwind label %lpad4.i1431 invoke.cont10.i1436: ; preds = %invoke.cont8.i1434 @@ -91854,18 +91887,18 @@ lpad2.i1425: ; preds = %invoke.cont.i1424 lpad4.i1431: ; preds = %invoke.cont10.i1436, %invoke.cont8.i1434, %invoke.cont6.i1432, %invoke.cont3.i1428 %244 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1414) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1414) #28 br label %ehcleanup16.i1426 ehcleanup16.i1426: ; preds = %lpad4.i1431, %lpad2.i1425 %.pn.i1427 = phi { ptr, i32 } [ %244, %lpad4.i1431 ], [ %243, %lpad2.i1425 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1415) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1415) #28 br label %common.resume __cxx_global_var_init.123.exit: ; preds = %invoke.cont10.i1436 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1414) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1415) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1416) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1414) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1415) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1416) #28 store ptr %call15.i1437, ptr @_ZN12_GLOBAL__N_145NonMutatingTest_MinMaxElementNoPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1414) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1415) @@ -91873,7 +91906,7 @@ __cxx_global_var_init.123.exit: ; preds = %invoke.cont10.i1436 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1438) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1439) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1440) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1440) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1440) #28 %call.i3.i1441 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1439) to label %call.i.noexc.i1445 unwind label %lpad.i1442 @@ -91888,7 +91921,7 @@ call.i.noexc.i1445: ; preds = %__cxx_global_var_in lpad.i.i1447: ; preds = %.noexc.i1446 %245 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1439) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1439) #28 br label %common.resume invoke.cont.i1448: ; preds = %.noexc.i1446 @@ -91906,7 +91939,7 @@ invoke.cont6.i1456: ; preds = %invoke.cont3.i1452 to label %invoke.cont8.i1458 unwind label %lpad4.i1455 invoke.cont8.i1458: ; preds = %invoke.cont6.i1456 - %call11.i1459 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1459 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1460 unwind label %lpad4.i1455 invoke.cont10.i1460: ; preds = %invoke.cont8.i1458 @@ -91927,18 +91960,18 @@ lpad2.i1449: ; preds = %invoke.cont.i1448 lpad4.i1455: ; preds = %invoke.cont10.i1460, %invoke.cont8.i1458, %invoke.cont6.i1456, %invoke.cont3.i1452 %248 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1438) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1438) #28 br label %ehcleanup16.i1450 ehcleanup16.i1450: ; preds = %lpad4.i1455, %lpad2.i1449 %.pn.i1451 = phi { ptr, i32 } [ %248, %lpad4.i1455 ], [ %247, %lpad2.i1449 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1439) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1439) #28 br label %common.resume __cxx_global_var_init.125.exit: ; preds = %invoke.cont10.i1460 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1438) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1439) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1440) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1438) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1439) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1440) #28 store ptr %call15.i1461, ptr @_ZN12_GLOBAL__N_125SortingTest_IsSorted_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1438) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1439) @@ -91946,7 +91979,7 @@ __cxx_global_var_init.125.exit: ; preds = %invoke.cont10.i1460 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1462) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1463) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1464) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1464) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1464) #28 %call.i3.i1465 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1463) to label %call.i.noexc.i1469 unwind label %lpad.i1466 @@ -91961,7 +91994,7 @@ call.i.noexc.i1469: ; preds = %__cxx_global_var_in lpad.i.i1471: ; preds = %.noexc.i1470 %249 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1463) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1463) #28 br label %common.resume invoke.cont.i1472: ; preds = %.noexc.i1470 @@ -91979,7 +92012,7 @@ invoke.cont6.i1480: ; preds = %invoke.cont3.i1476 to label %invoke.cont8.i1482 unwind label %lpad4.i1479 invoke.cont8.i1482: ; preds = %invoke.cont6.i1480 - %call11.i1483 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1483 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1484 unwind label %lpad4.i1479 invoke.cont10.i1484: ; preds = %invoke.cont8.i1482 @@ -92000,18 +92033,18 @@ lpad2.i1473: ; preds = %invoke.cont.i1472 lpad4.i1479: ; preds = %invoke.cont10.i1484, %invoke.cont8.i1482, %invoke.cont6.i1480, %invoke.cont3.i1476 %252 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1462) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1462) #28 br label %ehcleanup16.i1474 ehcleanup16.i1474: ; preds = %lpad4.i1479, %lpad2.i1473 %.pn.i1475 = phi { ptr, i32 } [ %252, %lpad4.i1479 ], [ %251, %lpad2.i1473 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1463) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1463) #28 br label %common.resume __cxx_global_var_init.128.exit: ; preds = %invoke.cont10.i1484 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1462) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1463) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1464) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1462) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1463) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1464) #28 store ptr %call15.i1485, ptr @_ZN12_GLOBAL__N_138SortingTest_IsSortedWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1462) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1463) @@ -92019,7 +92052,7 @@ __cxx_global_var_init.128.exit: ; preds = %invoke.cont10.i1484 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1486) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1487) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1488) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1488) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1488) #28 %call.i3.i1489 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1487) to label %call.i.noexc.i1493 unwind label %lpad.i1490 @@ -92034,7 +92067,7 @@ call.i.noexc.i1493: ; preds = %__cxx_global_var_in lpad.i.i1495: ; preds = %.noexc.i1494 %253 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1487) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1487) #28 br label %common.resume invoke.cont.i1496: ; preds = %.noexc.i1494 @@ -92052,7 +92085,7 @@ invoke.cont6.i1504: ; preds = %invoke.cont3.i1500 to label %invoke.cont8.i1506 unwind label %lpad4.i1503 invoke.cont8.i1506: ; preds = %invoke.cont6.i1504 - %call11.i1507 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1507 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1508 unwind label %lpad4.i1503 invoke.cont10.i1508: ; preds = %invoke.cont8.i1506 @@ -92073,18 +92106,18 @@ lpad2.i1497: ; preds = %invoke.cont.i1496 lpad4.i1503: ; preds = %invoke.cont10.i1508, %invoke.cont8.i1506, %invoke.cont6.i1504, %invoke.cont3.i1500 %256 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1486) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1486) #28 br label %ehcleanup16.i1498 ehcleanup16.i1498: ; preds = %lpad4.i1503, %lpad2.i1497 %.pn.i1499 = phi { ptr, i32 } [ %256, %lpad4.i1503 ], [ %255, %lpad2.i1497 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1487) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1487) #28 br label %common.resume __cxx_global_var_init.130.exit: ; preds = %invoke.cont10.i1508 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1486) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1487) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1488) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1486) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1487) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1488) #28 store ptr %call15.i1509, ptr @_ZN12_GLOBAL__N_130SortingTest_IsSortedUntil_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1486) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1487) @@ -92092,7 +92125,7 @@ __cxx_global_var_init.130.exit: ; preds = %invoke.cont10.i1508 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1510) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1511) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1512) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1512) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1512) #28 %call.i3.i1513 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1511) to label %call.i.noexc.i1517 unwind label %lpad.i1514 @@ -92107,7 +92140,7 @@ call.i.noexc.i1517: ; preds = %__cxx_global_var_in lpad.i.i1519: ; preds = %.noexc.i1518 %257 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1511) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1511) #28 br label %common.resume invoke.cont.i1520: ; preds = %.noexc.i1518 @@ -92125,7 +92158,7 @@ invoke.cont6.i1528: ; preds = %invoke.cont3.i1524 to label %invoke.cont8.i1530 unwind label %lpad4.i1527 invoke.cont8.i1530: ; preds = %invoke.cont6.i1528 - %call11.i1531 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1531 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1532 unwind label %lpad4.i1527 invoke.cont10.i1532: ; preds = %invoke.cont8.i1530 @@ -92146,18 +92179,18 @@ lpad2.i1521: ; preds = %invoke.cont.i1520 lpad4.i1527: ; preds = %invoke.cont10.i1532, %invoke.cont8.i1530, %invoke.cont6.i1528, %invoke.cont3.i1524 %260 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1510) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1510) #28 br label %ehcleanup16.i1522 ehcleanup16.i1522: ; preds = %lpad4.i1527, %lpad2.i1521 %.pn.i1523 = phi { ptr, i32 } [ %260, %lpad4.i1527 ], [ %259, %lpad2.i1521 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1511) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1511) #28 br label %common.resume __cxx_global_var_init.132.exit: ; preds = %invoke.cont10.i1532 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1510) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1511) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1512) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1510) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1511) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1512) #28 store ptr %call15.i1533, ptr @_ZN12_GLOBAL__N_127SortingTest_NthElement_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1510) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1511) @@ -92165,7 +92198,7 @@ __cxx_global_var_init.132.exit: ; preds = %invoke.cont10.i1532 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1534) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1535) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1536) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1536) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1536) #28 %call.i3.i1537 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1535) to label %call.i.noexc.i1541 unwind label %lpad.i1538 @@ -92180,7 +92213,7 @@ call.i.noexc.i1541: ; preds = %__cxx_global_var_in lpad.i.i1543: ; preds = %.noexc.i1542 %261 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1535) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1535) #28 br label %common.resume invoke.cont.i1544: ; preds = %.noexc.i1542 @@ -92202,7 +92235,7 @@ invoke.cont6.i1552: ; preds = %invoke.cont5.i to label %invoke.cont8.i1554 unwind label %lpad4.i1550 invoke.cont8.i1554: ; preds = %invoke.cont6.i1552 - %call11.i1555 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1555 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1556 unwind label %lpad4.i1550 invoke.cont10.i1556: ; preds = %invoke.cont8.i1554 @@ -92223,18 +92256,18 @@ lpad2.i1545: ; preds = %invoke.cont.i1544 lpad4.i1550: ; preds = %invoke.cont10.i1556, %invoke.cont8.i1554, %invoke.cont6.i1552, %invoke.cont5.i, %invoke.cont3.i1548 %264 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1534) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1534) #28 br label %ehcleanup16.i1546 ehcleanup16.i1546: ; preds = %lpad4.i1550, %lpad2.i1545 %.pn.i1547 = phi { ptr, i32 } [ %264, %lpad4.i1550 ], [ %263, %lpad2.i1545 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1535) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1535) #28 br label %common.resume __cxx_global_var_init.134.exit: ; preds = %invoke.cont10.i1556 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1534) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1535) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1536) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1534) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1535) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1536) #28 store ptr %call15.i1557, ptr @_ZN12_GLOBAL__N_131MutatingTest_IsPartitioned_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1534) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1535) @@ -92242,7 +92275,7 @@ __cxx_global_var_init.134.exit: ; preds = %invoke.cont10.i1556 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1558) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1559) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1560) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1560) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1560) #28 %call.i3.i1561 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1559) to label %call.i.noexc.i1565 unwind label %lpad.i1562 @@ -92257,7 +92290,7 @@ call.i.noexc.i1565: ; preds = %__cxx_global_var_in lpad.i.i1567: ; preds = %.noexc.i1566 %265 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1559) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1559) #28 br label %common.resume invoke.cont.i1568: ; preds = %.noexc.i1566 @@ -92279,7 +92312,7 @@ invoke.cont6.i1578: ; preds = %invoke.cont5.i1576 to label %invoke.cont8.i1580 unwind label %lpad4.i1575 invoke.cont8.i1580: ; preds = %invoke.cont6.i1578 - %call11.i1581 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1581 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1582 unwind label %lpad4.i1575 invoke.cont10.i1582: ; preds = %invoke.cont8.i1580 @@ -92300,18 +92333,18 @@ lpad2.i1569: ; preds = %invoke.cont.i1568 lpad4.i1575: ; preds = %invoke.cont10.i1582, %invoke.cont8.i1580, %invoke.cont6.i1578, %invoke.cont5.i1576, %invoke.cont3.i1572 %268 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1558) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1558) #28 br label %ehcleanup16.i1570 ehcleanup16.i1570: ; preds = %lpad4.i1575, %lpad2.i1569 %.pn.i1571 = phi { ptr, i32 } [ %268, %lpad4.i1575 ], [ %267, %lpad2.i1569 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1559) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1559) #28 br label %common.resume __cxx_global_var_init.137.exit: ; preds = %invoke.cont10.i1582 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1558) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1559) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1560) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1558) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1559) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1560) #28 store ptr %call15.i1583, ptr @_ZN12_GLOBAL__N_127MutatingTest_Partition_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1558) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1559) @@ -92319,7 +92352,7 @@ __cxx_global_var_init.137.exit: ; preds = %invoke.cont10.i1582 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1584) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1585) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1586) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1586) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1586) #28 %call.i3.i1587 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1585) to label %call.i.noexc.i1591 unwind label %lpad.i1588 @@ -92334,7 +92367,7 @@ call.i.noexc.i1591: ; preds = %__cxx_global_var_in lpad.i.i1593: ; preds = %.noexc.i1592 %269 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1585) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1585) #28 br label %common.resume invoke.cont.i1594: ; preds = %.noexc.i1592 @@ -92356,7 +92389,7 @@ invoke.cont6.i1604: ; preds = %invoke.cont5.i1602 to label %invoke.cont8.i1606 unwind label %lpad4.i1601 invoke.cont8.i1606: ; preds = %invoke.cont6.i1604 - %call11.i1607 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1607 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1608 unwind label %lpad4.i1601 invoke.cont10.i1608: ; preds = %invoke.cont8.i1606 @@ -92377,18 +92410,18 @@ lpad2.i1595: ; preds = %invoke.cont.i1594 lpad4.i1601: ; preds = %invoke.cont10.i1608, %invoke.cont8.i1606, %invoke.cont6.i1604, %invoke.cont5.i1602, %invoke.cont3.i1598 %272 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1584) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1584) #28 br label %ehcleanup16.i1596 ehcleanup16.i1596: ; preds = %lpad4.i1601, %lpad2.i1595 %.pn.i1597 = phi { ptr, i32 } [ %272, %lpad4.i1601 ], [ %271, %lpad2.i1595 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1585) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1585) #28 br label %common.resume __cxx_global_var_init.139.exit: ; preds = %invoke.cont10.i1608 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1584) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1585) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1586) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1584) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1585) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1586) #28 store ptr %call15.i1609, ptr @_ZN12_GLOBAL__N_133MutatingTest_StablePartition_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1584) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1585) @@ -92396,7 +92429,7 @@ __cxx_global_var_init.139.exit: ; preds = %invoke.cont10.i1608 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1610) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1611) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1612) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1612) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1612) #28 %call.i3.i1613 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1611) to label %call.i.noexc.i1617 unwind label %lpad.i1614 @@ -92411,7 +92444,7 @@ call.i.noexc.i1617: ; preds = %__cxx_global_var_in lpad.i.i1619: ; preds = %.noexc.i1618 %273 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1611) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1611) #28 br label %common.resume invoke.cont.i1620: ; preds = %.noexc.i1618 @@ -92433,7 +92466,7 @@ invoke.cont6.i1630: ; preds = %invoke.cont5.i1628 to label %invoke.cont8.i1632 unwind label %lpad4.i1627 invoke.cont8.i1632: ; preds = %invoke.cont6.i1630 - %call11.i1633 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1633 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1634 unwind label %lpad4.i1627 invoke.cont10.i1634: ; preds = %invoke.cont8.i1632 @@ -92454,18 +92487,18 @@ lpad2.i1621: ; preds = %invoke.cont.i1620 lpad4.i1627: ; preds = %invoke.cont10.i1634, %invoke.cont8.i1632, %invoke.cont6.i1630, %invoke.cont5.i1628, %invoke.cont3.i1624 %276 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1610) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1610) #28 br label %ehcleanup16.i1622 ehcleanup16.i1622: ; preds = %lpad4.i1627, %lpad2.i1621 %.pn.i1623 = phi { ptr, i32 } [ %276, %lpad4.i1627 ], [ %275, %lpad2.i1621 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1611) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1611) #28 br label %common.resume __cxx_global_var_init.141.exit: ; preds = %invoke.cont10.i1634 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1610) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1611) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1612) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1610) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1611) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1612) #28 store ptr %call15.i1635, ptr @_ZN12_GLOBAL__N_131MutatingTest_PartitionCopy_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1610) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1611) @@ -92473,7 +92506,7 @@ __cxx_global_var_init.141.exit: ; preds = %invoke.cont10.i1634 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1636) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1637) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1638) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1638) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1638) #28 %call.i3.i1639 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1637) to label %call.i.noexc.i1643 unwind label %lpad.i1640 @@ -92488,7 +92521,7 @@ call.i.noexc.i1643: ; preds = %__cxx_global_var_in lpad.i.i1645: ; preds = %.noexc.i1644 %277 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1637) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1637) #28 br label %common.resume invoke.cont.i1646: ; preds = %.noexc.i1644 @@ -92510,7 +92543,7 @@ invoke.cont6.i1656: ; preds = %invoke.cont5.i1654 to label %invoke.cont8.i1658 unwind label %lpad4.i1653 invoke.cont8.i1658: ; preds = %invoke.cont6.i1656 - %call11.i1659 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1659 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1660 unwind label %lpad4.i1653 invoke.cont10.i1660: ; preds = %invoke.cont8.i1658 @@ -92531,18 +92564,18 @@ lpad2.i1647: ; preds = %invoke.cont.i1646 lpad4.i1653: ; preds = %invoke.cont10.i1660, %invoke.cont8.i1658, %invoke.cont6.i1656, %invoke.cont5.i1654, %invoke.cont3.i1650 %280 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1636) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1636) #28 br label %ehcleanup16.i1648 ehcleanup16.i1648: ; preds = %lpad4.i1653, %lpad2.i1647 %.pn.i1649 = phi { ptr, i32 } [ %280, %lpad4.i1653 ], [ %279, %lpad2.i1647 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1637) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1637) #28 br label %common.resume __cxx_global_var_init.143.exit: ; preds = %invoke.cont10.i1660 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1636) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1637) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1638) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1636) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1637) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1638) #28 store ptr %call15.i1661, ptr @_ZN12_GLOBAL__N_132MutatingTest_PartitionPoint_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1636) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1637) @@ -92550,7 +92583,7 @@ __cxx_global_var_init.143.exit: ; preds = %invoke.cont10.i1660 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1662) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1663) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1664) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1664) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1664) #28 %call.i3.i1665 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1663) to label %call.i.noexc.i1669 unwind label %lpad.i1666 @@ -92565,7 +92598,7 @@ call.i.noexc.i1669: ; preds = %__cxx_global_var_in lpad.i.i1671: ; preds = %.noexc.i1670 %281 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1663) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1663) #28 br label %common.resume invoke.cont.i1672: ; preds = %.noexc.i1670 @@ -92587,7 +92620,7 @@ invoke.cont6.i1682: ; preds = %invoke.cont5.i1680 to label %invoke.cont8.i1684 unwind label %lpad4.i1679 invoke.cont8.i1684: ; preds = %invoke.cont6.i1682 - %call11.i1685 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1685 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1686 unwind label %lpad4.i1679 invoke.cont10.i1686: ; preds = %invoke.cont8.i1684 @@ -92608,18 +92641,18 @@ lpad2.i1673: ; preds = %invoke.cont.i1672 lpad4.i1679: ; preds = %invoke.cont10.i1686, %invoke.cont8.i1684, %invoke.cont6.i1682, %invoke.cont5.i1680, %invoke.cont3.i1676 %284 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1662) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1662) #28 br label %ehcleanup16.i1674 ehcleanup16.i1674: ; preds = %lpad4.i1679, %lpad2.i1673 %.pn.i1675 = phi { ptr, i32 } [ %284, %lpad4.i1679 ], [ %283, %lpad2.i1673 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1663) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1663) #28 br label %common.resume __cxx_global_var_init.145.exit: ; preds = %invoke.cont10.i1686 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1662) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1663) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1664) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1662) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1663) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1664) #28 store ptr %call15.i1687, ptr @_ZN12_GLOBAL__N_128MutatingTest_CopyMiddle_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1662) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1663) @@ -92627,7 +92660,7 @@ __cxx_global_var_init.145.exit: ; preds = %invoke.cont10.i1686 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1688) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1689) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1690) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1690) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1690) #28 %call.i3.i1691 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1689) to label %call.i.noexc.i1695 unwind label %lpad.i1692 @@ -92642,7 +92675,7 @@ call.i.noexc.i1695: ; preds = %__cxx_global_var_in lpad.i.i1697: ; preds = %.noexc.i1696 %285 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1689) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1689) #28 br label %common.resume invoke.cont.i1698: ; preds = %.noexc.i1696 @@ -92664,7 +92697,7 @@ invoke.cont6.i1708: ; preds = %invoke.cont5.i1706 to label %invoke.cont8.i1710 unwind label %lpad4.i1705 invoke.cont8.i1710: ; preds = %invoke.cont6.i1708 - %call11.i1711 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1711 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1712 unwind label %lpad4.i1705 invoke.cont10.i1712: ; preds = %invoke.cont8.i1710 @@ -92685,18 +92718,18 @@ lpad2.i1699: ; preds = %invoke.cont.i1698 lpad4.i1705: ; preds = %invoke.cont10.i1712, %invoke.cont8.i1710, %invoke.cont6.i1708, %invoke.cont5.i1706, %invoke.cont3.i1702 %288 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1688) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1688) #28 br label %ehcleanup16.i1700 ehcleanup16.i1700: ; preds = %lpad4.i1705, %lpad2.i1699 %.pn.i1701 = phi { ptr, i32 } [ %288, %lpad4.i1705 ], [ %287, %lpad2.i1699 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1689) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1689) #28 br label %common.resume __cxx_global_var_init.147.exit: ; preds = %invoke.cont10.i1712 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1688) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1689) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1690) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1688) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1689) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1690) #28 store ptr %call15.i1713, ptr @_ZN12_GLOBAL__N_135MutatingTest_CopyFrontInserter_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1688) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1689) @@ -92704,7 +92737,7 @@ __cxx_global_var_init.147.exit: ; preds = %invoke.cont10.i1712 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1714) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1715) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1716) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1716) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1716) #28 %call.i3.i1717 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1715) to label %call.i.noexc.i1721 unwind label %lpad.i1718 @@ -92719,7 +92752,7 @@ call.i.noexc.i1721: ; preds = %__cxx_global_var_in lpad.i.i1723: ; preds = %.noexc.i1722 %289 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1715) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1715) #28 br label %common.resume invoke.cont.i1724: ; preds = %.noexc.i1722 @@ -92741,7 +92774,7 @@ invoke.cont6.i1734: ; preds = %invoke.cont5.i1732 to label %invoke.cont8.i1736 unwind label %lpad4.i1731 invoke.cont8.i1736: ; preds = %invoke.cont6.i1734 - %call11.i1737 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1737 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1738 unwind label %lpad4.i1731 invoke.cont10.i1738: ; preds = %invoke.cont8.i1736 @@ -92762,18 +92795,18 @@ lpad2.i1725: ; preds = %invoke.cont.i1724 lpad4.i1731: ; preds = %invoke.cont10.i1738, %invoke.cont8.i1736, %invoke.cont6.i1734, %invoke.cont5.i1732, %invoke.cont3.i1728 %292 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1714) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1714) #28 br label %ehcleanup16.i1726 ehcleanup16.i1726: ; preds = %lpad4.i1731, %lpad2.i1725 %.pn.i1727 = phi { ptr, i32 } [ %292, %lpad4.i1731 ], [ %291, %lpad2.i1725 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1715) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1715) #28 br label %common.resume __cxx_global_var_init.149.exit: ; preds = %invoke.cont10.i1738 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1714) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1715) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1716) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1714) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1715) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1716) #28 store ptr %call15.i1739, ptr @_ZN12_GLOBAL__N_134MutatingTest_CopyBackInserter_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1714) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1715) @@ -92781,7 +92814,7 @@ __cxx_global_var_init.149.exit: ; preds = %invoke.cont10.i1738 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1740) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1741) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1742) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1742) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1742) #28 %call.i3.i1743 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1741) to label %call.i.noexc.i1747 unwind label %lpad.i1744 @@ -92796,7 +92829,7 @@ call.i.noexc.i1747: ; preds = %__cxx_global_var_in lpad.i.i1749: ; preds = %.noexc.i1748 %293 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1741) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1741) #28 br label %common.resume invoke.cont.i1750: ; preds = %.noexc.i1748 @@ -92818,7 +92851,7 @@ invoke.cont6.i1760: ; preds = %invoke.cont5.i1758 to label %invoke.cont8.i1762 unwind label %lpad4.i1757 invoke.cont8.i1762: ; preds = %invoke.cont6.i1760 - %call11.i1763 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1763 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1764 unwind label %lpad4.i1757 invoke.cont10.i1764: ; preds = %invoke.cont8.i1762 @@ -92839,18 +92872,18 @@ lpad2.i1751: ; preds = %invoke.cont.i1750 lpad4.i1757: ; preds = %invoke.cont10.i1764, %invoke.cont8.i1762, %invoke.cont6.i1760, %invoke.cont5.i1758, %invoke.cont3.i1754 %296 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1740) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1740) #28 br label %ehcleanup16.i1752 ehcleanup16.i1752: ; preds = %lpad4.i1757, %lpad2.i1751 %.pn.i1753 = phi { ptr, i32 } [ %296, %lpad4.i1757 ], [ %295, %lpad2.i1751 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1741) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1741) #28 br label %common.resume __cxx_global_var_init.151.exit: ; preds = %invoke.cont10.i1764 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1740) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1741) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1742) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1740) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1741) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1742) #28 store ptr %call15.i1765, ptr @_ZN12_GLOBAL__N_123MutatingTest_CopyN_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1740) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1741) @@ -92858,7 +92891,7 @@ __cxx_global_var_init.151.exit: ; preds = %invoke.cont10.i1764 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1766) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1767) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1768) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1768) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1768) #28 %call.i3.i1769 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1767) to label %call.i.noexc.i1773 unwind label %lpad.i1770 @@ -92873,7 +92906,7 @@ call.i.noexc.i1773: ; preds = %__cxx_global_var_in lpad.i.i1775: ; preds = %.noexc.i1774 %297 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1767) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1767) #28 br label %common.resume invoke.cont.i1776: ; preds = %.noexc.i1774 @@ -92895,7 +92928,7 @@ invoke.cont6.i1786: ; preds = %invoke.cont5.i1784 to label %invoke.cont8.i1788 unwind label %lpad4.i1783 invoke.cont8.i1788: ; preds = %invoke.cont6.i1786 - %call11.i1789 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1789 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1790 unwind label %lpad4.i1783 invoke.cont10.i1790: ; preds = %invoke.cont8.i1788 @@ -92916,18 +92949,18 @@ lpad2.i1777: ; preds = %invoke.cont.i1776 lpad4.i1783: ; preds = %invoke.cont10.i1790, %invoke.cont8.i1788, %invoke.cont6.i1786, %invoke.cont5.i1784, %invoke.cont3.i1780 %300 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1766) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1766) #28 br label %ehcleanup16.i1778 ehcleanup16.i1778: ; preds = %lpad4.i1783, %lpad2.i1777 %.pn.i1779 = phi { ptr, i32 } [ %300, %lpad4.i1783 ], [ %299, %lpad2.i1777 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1767) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1767) #28 br label %common.resume __cxx_global_var_init.153.exit: ; preds = %invoke.cont10.i1790 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1766) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1767) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1768) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1766) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1767) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1768) #28 store ptr %call15.i1791, ptr @_ZN12_GLOBAL__N_124MutatingTest_CopyIf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1766) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1767) @@ -92935,7 +92968,7 @@ __cxx_global_var_init.153.exit: ; preds = %invoke.cont10.i1790 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1792) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1793) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1794) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1794) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1794) #28 %call.i3.i1795 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1793) to label %call.i.noexc.i1799 unwind label %lpad.i1796 @@ -92950,7 +92983,7 @@ call.i.noexc.i1799: ; preds = %__cxx_global_var_in lpad.i.i1801: ; preds = %.noexc.i1800 %301 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1793) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1793) #28 br label %common.resume invoke.cont.i1802: ; preds = %.noexc.i1800 @@ -92972,7 +93005,7 @@ invoke.cont6.i1812: ; preds = %invoke.cont5.i1810 to label %invoke.cont8.i1814 unwind label %lpad4.i1809 invoke.cont8.i1814: ; preds = %invoke.cont6.i1812 - %call11.i1815 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1815 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1816 unwind label %lpad4.i1809 invoke.cont10.i1816: ; preds = %invoke.cont8.i1814 @@ -92993,18 +93026,18 @@ lpad2.i1803: ; preds = %invoke.cont.i1802 lpad4.i1809: ; preds = %invoke.cont10.i1816, %invoke.cont8.i1814, %invoke.cont6.i1812, %invoke.cont5.i1810, %invoke.cont3.i1806 %304 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1792) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1792) #28 br label %ehcleanup16.i1804 ehcleanup16.i1804: ; preds = %lpad4.i1809, %lpad2.i1803 %.pn.i1805 = phi { ptr, i32 } [ %304, %lpad4.i1809 ], [ %303, %lpad2.i1803 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1793) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1793) #28 br label %common.resume __cxx_global_var_init.155.exit: ; preds = %invoke.cont10.i1816 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1792) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1793) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1794) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1792) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1793) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1794) #28 store ptr %call15.i1817, ptr @_ZN12_GLOBAL__N_130MutatingTest_CopyBackward_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1792) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1793) @@ -93012,7 +93045,7 @@ __cxx_global_var_init.155.exit: ; preds = %invoke.cont10.i1816 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1818) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1819) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1820) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1820) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1820) #28 %call.i3.i1821 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1819) to label %call.i.noexc.i1825 unwind label %lpad.i1822 @@ -93027,7 +93060,7 @@ call.i.noexc.i1825: ; preds = %__cxx_global_var_in lpad.i.i1827: ; preds = %.noexc.i1826 %305 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1819) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1819) #28 br label %common.resume invoke.cont.i1828: ; preds = %.noexc.i1826 @@ -93049,7 +93082,7 @@ invoke.cont6.i1838: ; preds = %invoke.cont5.i1836 to label %invoke.cont8.i1840 unwind label %lpad4.i1835 invoke.cont8.i1840: ; preds = %invoke.cont6.i1838 - %call11.i1841 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1841 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1842 unwind label %lpad4.i1835 invoke.cont10.i1842: ; preds = %invoke.cont8.i1840 @@ -93070,18 +93103,18 @@ lpad2.i1829: ; preds = %invoke.cont.i1828 lpad4.i1835: ; preds = %invoke.cont10.i1842, %invoke.cont8.i1840, %invoke.cont6.i1838, %invoke.cont5.i1836, %invoke.cont3.i1832 %308 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1818) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1818) #28 br label %ehcleanup16.i1830 ehcleanup16.i1830: ; preds = %lpad4.i1835, %lpad2.i1829 %.pn.i1831 = phi { ptr, i32 } [ %308, %lpad4.i1835 ], [ %307, %lpad2.i1829 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1819) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1819) #28 br label %common.resume __cxx_global_var_init.157.exit: ; preds = %invoke.cont10.i1842 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1818) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1819) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1820) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1818) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1819) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1820) #28 store ptr %call15.i1843, ptr @_ZN12_GLOBAL__N_122MutatingTest_Move_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1818) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1819) @@ -93089,7 +93122,7 @@ __cxx_global_var_init.157.exit: ; preds = %invoke.cont10.i1842 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1844) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1845) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1846) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1846) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1846) #28 %call.i3.i1847 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1845) to label %call.i.noexc.i1851 unwind label %lpad.i1848 @@ -93104,7 +93137,7 @@ call.i.noexc.i1851: ; preds = %__cxx_global_var_in lpad.i.i1853: ; preds = %.noexc.i1852 %309 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1845) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1845) #28 br label %common.resume invoke.cont.i1854: ; preds = %.noexc.i1852 @@ -93126,7 +93159,7 @@ invoke.cont6.i1864: ; preds = %invoke.cont5.i1862 to label %invoke.cont8.i1866 unwind label %lpad4.i1861 invoke.cont8.i1866: ; preds = %invoke.cont6.i1864 - %call11.i1867 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1867 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1868 unwind label %lpad4.i1861 invoke.cont10.i1868: ; preds = %invoke.cont8.i1866 @@ -93147,18 +93180,18 @@ lpad2.i1855: ; preds = %invoke.cont.i1854 lpad4.i1861: ; preds = %invoke.cont10.i1868, %invoke.cont8.i1866, %invoke.cont6.i1864, %invoke.cont5.i1862, %invoke.cont3.i1858 %312 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1844) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1844) #28 br label %ehcleanup16.i1856 ehcleanup16.i1856: ; preds = %lpad4.i1861, %lpad2.i1855 %.pn.i1857 = phi { ptr, i32 } [ %312, %lpad4.i1861 ], [ %311, %lpad2.i1855 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1845) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1845) #28 br label %common.resume __cxx_global_var_init.159.exit: ; preds = %invoke.cont10.i1868 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1844) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1845) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1846) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1844) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1845) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1846) #28 store ptr %call15.i1869, ptr @_ZN12_GLOBAL__N_130MutatingTest_MoveBackward_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1844) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1845) @@ -93166,7 +93199,7 @@ __cxx_global_var_init.159.exit: ; preds = %invoke.cont10.i1868 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1870) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1871) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1872) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1872) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1872) #28 %call.i3.i1873 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1871) to label %call.i.noexc.i1877 unwind label %lpad.i1874 @@ -93181,7 +93214,7 @@ call.i.noexc.i1877: ; preds = %__cxx_global_var_in lpad.i.i1879: ; preds = %.noexc.i1878 %313 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1871) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1871) #28 br label %common.resume invoke.cont.i1880: ; preds = %.noexc.i1878 @@ -93203,7 +93236,7 @@ invoke.cont6.i1890: ; preds = %invoke.cont5.i1888 to label %invoke.cont8.i1892 unwind label %lpad4.i1887 invoke.cont8.i1892: ; preds = %invoke.cont6.i1890 - %call11.i1893 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1893 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1894 unwind label %lpad4.i1887 invoke.cont10.i1894: ; preds = %invoke.cont8.i1892 @@ -93224,18 +93257,18 @@ lpad2.i1881: ; preds = %invoke.cont.i1880 lpad4.i1887: ; preds = %invoke.cont10.i1894, %invoke.cont8.i1892, %invoke.cont6.i1890, %invoke.cont5.i1888, %invoke.cont3.i1884 %316 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1870) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1870) #28 br label %ehcleanup16.i1882 ehcleanup16.i1882: ; preds = %lpad4.i1887, %lpad2.i1881 %.pn.i1883 = phi { ptr, i32 } [ %316, %lpad4.i1887 ], [ %315, %lpad2.i1881 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1871) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1871) #28 br label %common.resume __cxx_global_var_init.161.exit: ; preds = %invoke.cont10.i1894 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1870) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1871) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1872) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1870) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1871) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1872) #28 store ptr %call15.i1895, ptr @_ZN12_GLOBAL__N_132MutatingTest_MoveWithRvalue_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1870) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1871) @@ -93243,7 +93276,7 @@ __cxx_global_var_init.161.exit: ; preds = %invoke.cont10.i1894 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1896) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1897) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1898) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1898) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1898) #28 %call.i3.i1899 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1897) to label %call.i.noexc.i1903 unwind label %lpad.i1900 @@ -93258,7 +93291,7 @@ call.i.noexc.i1903: ; preds = %__cxx_global_var_in lpad.i.i1905: ; preds = %.noexc.i1904 %317 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1897) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1897) #28 br label %common.resume invoke.cont.i1906: ; preds = %.noexc.i1904 @@ -93280,7 +93313,7 @@ invoke.cont6.i1916: ; preds = %invoke.cont5.i1914 to label %invoke.cont8.i1918 unwind label %lpad4.i1913 invoke.cont8.i1918: ; preds = %invoke.cont6.i1916 - %call11.i1919 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1919 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1920 unwind label %lpad4.i1913 invoke.cont10.i1920: ; preds = %invoke.cont8.i1918 @@ -93301,18 +93334,18 @@ lpad2.i1907: ; preds = %invoke.cont.i1906 lpad4.i1913: ; preds = %invoke.cont10.i1920, %invoke.cont8.i1918, %invoke.cont6.i1916, %invoke.cont5.i1914, %invoke.cont3.i1910 %320 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1896) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1896) #28 br label %ehcleanup16.i1908 ehcleanup16.i1908: ; preds = %lpad4.i1913, %lpad2.i1907 %.pn.i1909 = phi { ptr, i32 } [ %320, %lpad4.i1913 ], [ %319, %lpad2.i1907 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1897) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1897) #28 br label %common.resume __cxx_global_var_init.163.exit: ; preds = %invoke.cont10.i1920 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1896) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1897) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1898) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1896) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1897) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1898) #28 store ptr %call15.i1921, ptr @_ZN12_GLOBAL__N_128MutatingTest_SwapRanges_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1896) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1897) @@ -93320,7 +93353,7 @@ __cxx_global_var_init.163.exit: ; preds = %invoke.cont10.i1920 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1922) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1923) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1924) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1924) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1924) #28 %call.i3.i1925 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1923) to label %call.i.noexc.i1929 unwind label %lpad.i1926 @@ -93335,7 +93368,7 @@ call.i.noexc.i1929: ; preds = %__cxx_global_var_in lpad.i.i1931: ; preds = %.noexc.i1930 %321 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1923) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1923) #28 br label %common.resume invoke.cont.i1932: ; preds = %.noexc.i1930 @@ -93353,7 +93386,7 @@ invoke.cont6.i1940: ; preds = %invoke.cont3.i1936 to label %invoke.cont8.i1942 unwind label %lpad4.i1939 invoke.cont8.i1942: ; preds = %invoke.cont6.i1940 - %call11.i1943 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1943 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1944 unwind label %lpad4.i1939 invoke.cont10.i1944: ; preds = %invoke.cont8.i1942 @@ -93374,18 +93407,18 @@ lpad2.i1933: ; preds = %invoke.cont.i1932 lpad4.i1939: ; preds = %invoke.cont10.i1944, %invoke.cont8.i1942, %invoke.cont6.i1940, %invoke.cont3.i1936 %324 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1922) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1922) #28 br label %ehcleanup16.i1934 ehcleanup16.i1934: ; preds = %lpad4.i1939, %lpad2.i1933 %.pn.i1935 = phi { ptr, i32 } [ %324, %lpad4.i1939 ], [ %323, %lpad2.i1933 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1923) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1923) #28 br label %common.resume __cxx_global_var_init.165.exit: ; preds = %invoke.cont10.i1944 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1922) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1923) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1924) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1922) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1923) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1924) #28 store ptr %call15.i1945, ptr @_ZN12_GLOBAL__N_130NonMutatingTest_Transform_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1922) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1923) @@ -93393,7 +93426,7 @@ __cxx_global_var_init.165.exit: ; preds = %invoke.cont10.i1944 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1946) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1947) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1948) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1948) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1948) #28 %call.i3.i1949 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1947) to label %call.i.noexc.i1953 unwind label %lpad.i1950 @@ -93408,7 +93441,7 @@ call.i.noexc.i1953: ; preds = %__cxx_global_var_in lpad.i.i1955: ; preds = %.noexc.i1954 %325 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1947) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1947) #28 br label %common.resume invoke.cont.i1956: ; preds = %.noexc.i1954 @@ -93430,7 +93463,7 @@ invoke.cont6.i1966: ; preds = %invoke.cont5.i1964 to label %invoke.cont8.i1968 unwind label %lpad4.i1963 invoke.cont8.i1968: ; preds = %invoke.cont6.i1966 - %call11.i1969 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1969 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1970 unwind label %lpad4.i1963 invoke.cont10.i1970: ; preds = %invoke.cont8.i1968 @@ -93451,18 +93484,18 @@ lpad2.i1957: ; preds = %invoke.cont.i1956 lpad4.i1963: ; preds = %invoke.cont10.i1970, %invoke.cont8.i1968, %invoke.cont6.i1966, %invoke.cont5.i1964, %invoke.cont3.i1960 %328 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1946) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1946) #28 br label %ehcleanup16.i1958 ehcleanup16.i1958: ; preds = %lpad4.i1963, %lpad2.i1957 %.pn.i1959 = phi { ptr, i32 } [ %328, %lpad4.i1963 ], [ %327, %lpad2.i1957 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1947) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1947) #28 br label %common.resume __cxx_global_var_init.167.exit: ; preds = %invoke.cont10.i1970 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1946) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1947) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1948) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1946) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1947) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1948) #28 store ptr %call15.i1971, ptr @_ZN12_GLOBAL__N_125MutatingTest_Replace_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1946) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1947) @@ -93470,7 +93503,7 @@ __cxx_global_var_init.167.exit: ; preds = %invoke.cont10.i1970 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1972) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1973) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i1974) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1974) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1974) #28 %call.i3.i1975 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1973) to label %call.i.noexc.i1979 unwind label %lpad.i1976 @@ -93485,7 +93518,7 @@ call.i.noexc.i1979: ; preds = %__cxx_global_var_in lpad.i.i1981: ; preds = %.noexc.i1980 %329 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1973) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1973) #28 br label %common.resume invoke.cont.i1982: ; preds = %.noexc.i1980 @@ -93507,7 +93540,7 @@ invoke.cont6.i1992: ; preds = %invoke.cont5.i1990 to label %invoke.cont8.i1994 unwind label %lpad4.i1989 invoke.cont8.i1994: ; preds = %invoke.cont6.i1992 - %call11.i1995 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i1995 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i1996 unwind label %lpad4.i1989 invoke.cont10.i1996: ; preds = %invoke.cont8.i1994 @@ -93528,18 +93561,18 @@ lpad2.i1983: ; preds = %invoke.cont.i1982 lpad4.i1989: ; preds = %invoke.cont10.i1996, %invoke.cont8.i1994, %invoke.cont6.i1992, %invoke.cont5.i1990, %invoke.cont3.i1986 %332 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1972) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1972) #28 br label %ehcleanup16.i1984 ehcleanup16.i1984: ; preds = %lpad4.i1989, %lpad2.i1983 %.pn.i1985 = phi { ptr, i32 } [ %332, %lpad4.i1989 ], [ %331, %lpad2.i1983 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1973) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1973) #28 br label %common.resume __cxx_global_var_init.169.exit: ; preds = %invoke.cont10.i1996 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1972) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1973) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1974) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1972) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1973) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i1974) #28 store ptr %call15.i1997, ptr @_ZN12_GLOBAL__N_127MutatingTest_ReplaceIf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1972) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1973) @@ -93547,7 +93580,7 @@ __cxx_global_var_init.169.exit: ; preds = %invoke.cont10.i1996 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i1998) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i1999) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2000) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2000) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2000) #28 %call.i3.i2001 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1999) to label %call.i.noexc.i2005 unwind label %lpad.i2002 @@ -93562,7 +93595,7 @@ call.i.noexc.i2005: ; preds = %__cxx_global_var_in lpad.i.i2007: ; preds = %.noexc.i2006 %333 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1999) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i1999) #28 br label %common.resume invoke.cont.i2008: ; preds = %.noexc.i2006 @@ -93584,7 +93617,7 @@ invoke.cont6.i2018: ; preds = %invoke.cont5.i2016 to label %invoke.cont8.i2020 unwind label %lpad4.i2015 invoke.cont8.i2020: ; preds = %invoke.cont6.i2018 - %call11.i2021 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2021 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2022 unwind label %lpad4.i2015 invoke.cont10.i2022: ; preds = %invoke.cont8.i2020 @@ -93605,18 +93638,18 @@ lpad2.i2009: ; preds = %invoke.cont.i2008 lpad4.i2015: ; preds = %invoke.cont10.i2022, %invoke.cont8.i2020, %invoke.cont6.i2018, %invoke.cont5.i2016, %invoke.cont3.i2012 %336 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1998) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1998) #28 br label %ehcleanup16.i2010 ehcleanup16.i2010: ; preds = %lpad4.i2015, %lpad2.i2009 %.pn.i2011 = phi { ptr, i32 } [ %336, %lpad4.i2015 ], [ %335, %lpad2.i2009 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1999) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1999) #28 br label %common.resume __cxx_global_var_init.171.exit: ; preds = %invoke.cont10.i2022 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1998) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1999) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2000) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i1998) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i1999) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2000) #28 store ptr %call15.i2023, ptr @_ZN12_GLOBAL__N_129MutatingTest_ReplaceCopy_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i1998) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i1999) @@ -93624,7 +93657,7 @@ __cxx_global_var_init.171.exit: ; preds = %invoke.cont10.i2022 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2024) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2025) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2026) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2026) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2026) #28 %call.i3.i2027 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2025) to label %call.i.noexc.i2031 unwind label %lpad.i2028 @@ -93639,7 +93672,7 @@ call.i.noexc.i2031: ; preds = %__cxx_global_var_in lpad.i.i2033: ; preds = %.noexc.i2032 %337 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2025) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2025) #28 br label %common.resume invoke.cont.i2034: ; preds = %.noexc.i2032 @@ -93661,7 +93694,7 @@ invoke.cont6.i2044: ; preds = %invoke.cont5.i2042 to label %invoke.cont8.i2046 unwind label %lpad4.i2041 invoke.cont8.i2046: ; preds = %invoke.cont6.i2044 - %call11.i2047 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2047 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2048 unwind label %lpad4.i2041 invoke.cont10.i2048: ; preds = %invoke.cont8.i2046 @@ -93682,18 +93715,18 @@ lpad2.i2035: ; preds = %invoke.cont.i2034 lpad4.i2041: ; preds = %invoke.cont10.i2048, %invoke.cont8.i2046, %invoke.cont6.i2044, %invoke.cont5.i2042, %invoke.cont3.i2038 %340 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2024) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2024) #28 br label %ehcleanup16.i2036 ehcleanup16.i2036: ; preds = %lpad4.i2041, %lpad2.i2035 %.pn.i2037 = phi { ptr, i32 } [ %340, %lpad4.i2041 ], [ %339, %lpad2.i2035 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2025) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2025) #28 br label %common.resume __cxx_global_var_init.173.exit: ; preds = %invoke.cont10.i2048 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2024) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2025) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2026) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2024) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2025) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2026) #28 store ptr %call15.i2049, ptr @_ZN12_GLOBAL__N_122MutatingTest_Sort_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2024) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2025) @@ -93701,7 +93734,7 @@ __cxx_global_var_init.173.exit: ; preds = %invoke.cont10.i2048 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2050) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2051) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2052) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2052) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2052) #28 %call.i3.i2053 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2051) to label %call.i.noexc.i2057 unwind label %lpad.i2054 @@ -93716,7 +93749,7 @@ call.i.noexc.i2057: ; preds = %__cxx_global_var_in lpad.i.i2059: ; preds = %.noexc.i2058 %341 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2051) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2051) #28 br label %common.resume invoke.cont.i2060: ; preds = %.noexc.i2058 @@ -93738,7 +93771,7 @@ invoke.cont6.i2070: ; preds = %invoke.cont5.i2068 to label %invoke.cont8.i2072 unwind label %lpad4.i2067 invoke.cont8.i2072: ; preds = %invoke.cont6.i2070 - %call11.i2073 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2073 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2074 unwind label %lpad4.i2067 invoke.cont10.i2074: ; preds = %invoke.cont8.i2072 @@ -93759,18 +93792,18 @@ lpad2.i2061: ; preds = %invoke.cont.i2060 lpad4.i2067: ; preds = %invoke.cont10.i2074, %invoke.cont8.i2072, %invoke.cont6.i2070, %invoke.cont5.i2068, %invoke.cont3.i2064 %344 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2050) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2050) #28 br label %ehcleanup16.i2062 ehcleanup16.i2062: ; preds = %lpad4.i2067, %lpad2.i2061 %.pn.i2063 = phi { ptr, i32 } [ %344, %lpad4.i2067 ], [ %343, %lpad2.i2061 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2051) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2051) #28 br label %common.resume __cxx_global_var_init.175.exit: ; preds = %invoke.cont10.i2074 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2050) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2051) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2052) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2050) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2051) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2052) #28 store ptr %call15.i2075, ptr @_ZN12_GLOBAL__N_135MutatingTest_SortWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2050) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2051) @@ -93778,7 +93811,7 @@ __cxx_global_var_init.175.exit: ; preds = %invoke.cont10.i2074 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2076) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2077) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2078) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2078) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2078) #28 %call.i3.i2079 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2077) to label %call.i.noexc.i2083 unwind label %lpad.i2080 @@ -93793,7 +93826,7 @@ call.i.noexc.i2083: ; preds = %__cxx_global_var_in lpad.i.i2085: ; preds = %.noexc.i2084 %345 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2077) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2077) #28 br label %common.resume invoke.cont.i2086: ; preds = %.noexc.i2084 @@ -93815,7 +93848,7 @@ invoke.cont6.i2096: ; preds = %invoke.cont5.i2094 to label %invoke.cont8.i2098 unwind label %lpad4.i2093 invoke.cont8.i2098: ; preds = %invoke.cont6.i2096 - %call11.i2099 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2099 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2100 unwind label %lpad4.i2093 invoke.cont10.i2100: ; preds = %invoke.cont8.i2098 @@ -93836,18 +93869,18 @@ lpad2.i2087: ; preds = %invoke.cont.i2086 lpad4.i2093: ; preds = %invoke.cont10.i2100, %invoke.cont8.i2098, %invoke.cont6.i2096, %invoke.cont5.i2094, %invoke.cont3.i2090 %348 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2076) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2076) #28 br label %ehcleanup16.i2088 ehcleanup16.i2088: ; preds = %lpad4.i2093, %lpad2.i2087 %.pn.i2089 = phi { ptr, i32 } [ %348, %lpad4.i2093 ], [ %347, %lpad2.i2087 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2077) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2077) #28 br label %common.resume __cxx_global_var_init.177.exit: ; preds = %invoke.cont10.i2100 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2076) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2077) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2078) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2076) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2077) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2078) #28 store ptr %call15.i2101, ptr @_ZN12_GLOBAL__N_128MutatingTest_StableSort_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2076) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2077) @@ -93855,7 +93888,7 @@ __cxx_global_var_init.177.exit: ; preds = %invoke.cont10.i2100 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2102) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2103) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2104) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2104) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2104) #28 %call.i3.i2105 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2103) to label %call.i.noexc.i2109 unwind label %lpad.i2106 @@ -93870,7 +93903,7 @@ call.i.noexc.i2109: ; preds = %__cxx_global_var_in lpad.i.i2111: ; preds = %.noexc.i2110 %349 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2103) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2103) #28 br label %common.resume invoke.cont.i2112: ; preds = %.noexc.i2110 @@ -93892,7 +93925,7 @@ invoke.cont6.i2122: ; preds = %invoke.cont5.i2120 to label %invoke.cont8.i2124 unwind label %lpad4.i2119 invoke.cont8.i2124: ; preds = %invoke.cont6.i2122 - %call11.i2125 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2125 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2126 unwind label %lpad4.i2119 invoke.cont10.i2126: ; preds = %invoke.cont8.i2124 @@ -93913,18 +93946,18 @@ lpad2.i2113: ; preds = %invoke.cont.i2112 lpad4.i2119: ; preds = %invoke.cont10.i2126, %invoke.cont8.i2124, %invoke.cont6.i2122, %invoke.cont5.i2120, %invoke.cont3.i2116 %352 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2102) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2102) #28 br label %ehcleanup16.i2114 ehcleanup16.i2114: ; preds = %lpad4.i2119, %lpad2.i2113 %.pn.i2115 = phi { ptr, i32 } [ %352, %lpad4.i2119 ], [ %351, %lpad2.i2113 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2103) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2103) #28 br label %common.resume __cxx_global_var_init.179.exit: ; preds = %invoke.cont10.i2126 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2102) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2103) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2104) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2102) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2103) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2104) #28 store ptr %call15.i2127, ptr @_ZN12_GLOBAL__N_141MutatingTest_StableSortWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2102) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2103) @@ -93932,7 +93965,7 @@ __cxx_global_var_init.179.exit: ; preds = %invoke.cont10.i2126 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2128) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2129) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2130) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2130) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2130) #28 %call.i3.i2131 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2129) to label %call.i.noexc.i2135 unwind label %lpad.i2132 @@ -93947,7 +93980,7 @@ call.i.noexc.i2135: ; preds = %__cxx_global_var_in lpad.i.i2137: ; preds = %.noexc.i2136 %353 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2129) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2129) #28 br label %common.resume invoke.cont.i2138: ; preds = %.noexc.i2136 @@ -93969,7 +94002,7 @@ invoke.cont6.i2148: ; preds = %invoke.cont5.i2146 to label %invoke.cont8.i2150 unwind label %lpad4.i2145 invoke.cont8.i2150: ; preds = %invoke.cont6.i2148 - %call11.i2151 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2151 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2152 unwind label %lpad4.i2145 invoke.cont10.i2152: ; preds = %invoke.cont8.i2150 @@ -93990,18 +94023,18 @@ lpad2.i2139: ; preds = %invoke.cont.i2138 lpad4.i2145: ; preds = %invoke.cont10.i2152, %invoke.cont8.i2150, %invoke.cont6.i2148, %invoke.cont5.i2146, %invoke.cont3.i2142 %356 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2128) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2128) #28 br label %ehcleanup16.i2140 ehcleanup16.i2140: ; preds = %lpad4.i2145, %lpad2.i2139 %.pn.i2141 = phi { ptr, i32 } [ %356, %lpad4.i2145 ], [ %355, %lpad2.i2139 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2129) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2129) #28 br label %common.resume __cxx_global_var_init.181.exit: ; preds = %invoke.cont10.i2152 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2128) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2129) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2130) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2128) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2129) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2130) #28 store ptr %call15.i2153, ptr @_ZN12_GLOBAL__N_131MutatingTest_ReplaceCopyIf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2128) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2129) @@ -94009,7 +94042,7 @@ __cxx_global_var_init.181.exit: ; preds = %invoke.cont10.i2152 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2154) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2155) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2156) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2156) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2156) #28 %call.i3.i2157 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2155) to label %call.i.noexc.i2161 unwind label %lpad.i2158 @@ -94024,7 +94057,7 @@ call.i.noexc.i2161: ; preds = %__cxx_global_var_in lpad.i.i2163: ; preds = %.noexc.i2162 %357 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2155) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2155) #28 br label %common.resume invoke.cont.i2164: ; preds = %.noexc.i2162 @@ -94046,7 +94079,7 @@ invoke.cont6.i2174: ; preds = %invoke.cont5.i2172 to label %invoke.cont8.i2176 unwind label %lpad4.i2171 invoke.cont8.i2176: ; preds = %invoke.cont6.i2174 - %call11.i2177 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2177 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2178 unwind label %lpad4.i2171 invoke.cont10.i2178: ; preds = %invoke.cont8.i2176 @@ -94067,18 +94100,18 @@ lpad2.i2165: ; preds = %invoke.cont.i2164 lpad4.i2171: ; preds = %invoke.cont10.i2178, %invoke.cont8.i2176, %invoke.cont6.i2174, %invoke.cont5.i2172, %invoke.cont3.i2168 %360 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2154) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2154) #28 br label %ehcleanup16.i2166 ehcleanup16.i2166: ; preds = %lpad4.i2171, %lpad2.i2165 %.pn.i2167 = phi { ptr, i32 } [ %360, %lpad4.i2171 ], [ %359, %lpad2.i2165 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2155) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2155) #28 br label %common.resume __cxx_global_var_init.183.exit: ; preds = %invoke.cont10.i2178 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2154) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2155) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2156) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2154) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2155) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2156) #28 store ptr %call15.i2179, ptr @_ZN12_GLOBAL__N_122MutatingTest_Fill_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2154) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2155) @@ -94086,7 +94119,7 @@ __cxx_global_var_init.183.exit: ; preds = %invoke.cont10.i2178 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2180) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2181) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2182) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2182) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2182) #28 %call.i3.i2183 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2181) to label %call.i.noexc.i2187 unwind label %lpad.i2184 @@ -94101,7 +94134,7 @@ call.i.noexc.i2187: ; preds = %__cxx_global_var_in lpad.i.i2189: ; preds = %.noexc.i2188 %361 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2181) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2181) #28 br label %common.resume invoke.cont.i2190: ; preds = %.noexc.i2188 @@ -94123,7 +94156,7 @@ invoke.cont6.i2200: ; preds = %invoke.cont5.i2198 to label %invoke.cont8.i2202 unwind label %lpad4.i2197 invoke.cont8.i2202: ; preds = %invoke.cont6.i2200 - %call11.i2203 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2203 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2204 unwind label %lpad4.i2197 invoke.cont10.i2204: ; preds = %invoke.cont8.i2202 @@ -94144,18 +94177,18 @@ lpad2.i2191: ; preds = %invoke.cont.i2190 lpad4.i2197: ; preds = %invoke.cont10.i2204, %invoke.cont8.i2202, %invoke.cont6.i2200, %invoke.cont5.i2198, %invoke.cont3.i2194 %364 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2180) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2180) #28 br label %ehcleanup16.i2192 ehcleanup16.i2192: ; preds = %lpad4.i2197, %lpad2.i2191 %.pn.i2193 = phi { ptr, i32 } [ %364, %lpad4.i2197 ], [ %363, %lpad2.i2191 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2181) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2181) #28 br label %common.resume __cxx_global_var_init.185.exit: ; preds = %invoke.cont10.i2204 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2180) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2181) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2182) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2180) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2181) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2182) #28 store ptr %call15.i2205, ptr @_ZN12_GLOBAL__N_123MutatingTest_FillN_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2180) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2181) @@ -94163,7 +94196,7 @@ __cxx_global_var_init.185.exit: ; preds = %invoke.cont10.i2204 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2206) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2207) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2208) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2208) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2208) #28 %call.i3.i2209 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2207) to label %call.i.noexc.i2213 unwind label %lpad.i2210 @@ -94178,7 +94211,7 @@ call.i.noexc.i2213: ; preds = %__cxx_global_var_in lpad.i.i2215: ; preds = %.noexc.i2214 %365 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2207) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2207) #28 br label %common.resume invoke.cont.i2216: ; preds = %.noexc.i2214 @@ -94200,7 +94233,7 @@ invoke.cont6.i2226: ; preds = %invoke.cont5.i2224 to label %invoke.cont8.i2228 unwind label %lpad4.i2223 invoke.cont8.i2228: ; preds = %invoke.cont6.i2226 - %call11.i2229 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2229 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2230 unwind label %lpad4.i2223 invoke.cont10.i2230: ; preds = %invoke.cont8.i2228 @@ -94221,18 +94254,18 @@ lpad2.i2217: ; preds = %invoke.cont.i2216 lpad4.i2223: ; preds = %invoke.cont10.i2230, %invoke.cont8.i2228, %invoke.cont6.i2226, %invoke.cont5.i2224, %invoke.cont3.i2220 %368 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2206) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2206) #28 br label %ehcleanup16.i2218 ehcleanup16.i2218: ; preds = %lpad4.i2223, %lpad2.i2217 %.pn.i2219 = phi { ptr, i32 } [ %368, %lpad4.i2223 ], [ %367, %lpad2.i2217 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2207) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2207) #28 br label %common.resume __cxx_global_var_init.187.exit: ; preds = %invoke.cont10.i2230 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2206) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2207) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2208) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2206) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2207) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2208) #28 store ptr %call15.i2231, ptr @_ZN12_GLOBAL__N_126MutatingTest_Generate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2206) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2207) @@ -94240,7 +94273,7 @@ __cxx_global_var_init.187.exit: ; preds = %invoke.cont10.i2230 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2232) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2233) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2234) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2234) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2234) #28 %call.i3.i2235 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2233) to label %call.i.noexc.i2239 unwind label %lpad.i2236 @@ -94255,7 +94288,7 @@ call.i.noexc.i2239: ; preds = %__cxx_global_var_in lpad.i.i2241: ; preds = %.noexc.i2240 %369 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2233) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2233) #28 br label %common.resume invoke.cont.i2242: ; preds = %.noexc.i2240 @@ -94277,7 +94310,7 @@ invoke.cont6.i2252: ; preds = %invoke.cont5.i2250 to label %invoke.cont8.i2254 unwind label %lpad4.i2249 invoke.cont8.i2254: ; preds = %invoke.cont6.i2252 - %call11.i2255 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2255 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2256 unwind label %lpad4.i2249 invoke.cont10.i2256: ; preds = %invoke.cont8.i2254 @@ -94298,18 +94331,18 @@ lpad2.i2243: ; preds = %invoke.cont.i2242 lpad4.i2249: ; preds = %invoke.cont10.i2256, %invoke.cont8.i2254, %invoke.cont6.i2252, %invoke.cont5.i2250, %invoke.cont3.i2246 %372 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2232) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2232) #28 br label %ehcleanup16.i2244 ehcleanup16.i2244: ; preds = %lpad4.i2249, %lpad2.i2243 %.pn.i2245 = phi { ptr, i32 } [ %372, %lpad4.i2249 ], [ %371, %lpad2.i2243 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2233) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2233) #28 br label %common.resume __cxx_global_var_init.189.exit: ; preds = %invoke.cont10.i2256 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2232) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2233) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2234) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2232) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2233) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2234) #28 store ptr %call15.i2257, ptr @_ZN12_GLOBAL__N_127MutatingTest_GenerateN_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2232) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2233) @@ -94317,7 +94350,7 @@ __cxx_global_var_init.189.exit: ; preds = %invoke.cont10.i2256 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2258) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2259) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2260) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2260) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2260) #28 %call.i3.i2261 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2259) to label %call.i.noexc.i2265 unwind label %lpad.i2262 @@ -94332,7 +94365,7 @@ call.i.noexc.i2265: ; preds = %__cxx_global_var_in lpad.i.i2267: ; preds = %.noexc.i2266 %373 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2259) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2259) #28 br label %common.resume invoke.cont.i2268: ; preds = %.noexc.i2266 @@ -94354,7 +94387,7 @@ invoke.cont6.i2278: ; preds = %invoke.cont5.i2276 to label %invoke.cont8.i2280 unwind label %lpad4.i2275 invoke.cont8.i2280: ; preds = %invoke.cont6.i2278 - %call11.i2281 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2281 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2282 unwind label %lpad4.i2275 invoke.cont10.i2282: ; preds = %invoke.cont8.i2280 @@ -94375,18 +94408,18 @@ lpad2.i2269: ; preds = %invoke.cont.i2268 lpad4.i2275: ; preds = %invoke.cont10.i2282, %invoke.cont8.i2280, %invoke.cont6.i2278, %invoke.cont5.i2276, %invoke.cont3.i2272 %376 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2258) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2258) #28 br label %ehcleanup16.i2270 ehcleanup16.i2270: ; preds = %lpad4.i2275, %lpad2.i2269 %.pn.i2271 = phi { ptr, i32 } [ %376, %lpad4.i2275 ], [ %375, %lpad2.i2269 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2259) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2259) #28 br label %common.resume __cxx_global_var_init.191.exit: ; preds = %invoke.cont10.i2282 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2258) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2259) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2260) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2258) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2259) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2260) #28 store ptr %call15.i2283, ptr @_ZN12_GLOBAL__N_128MutatingTest_RemoveCopy_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2258) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2259) @@ -94394,7 +94427,7 @@ __cxx_global_var_init.191.exit: ; preds = %invoke.cont10.i2282 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2284) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2285) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2286) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2286) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2286) #28 %call.i3.i2287 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2285) to label %call.i.noexc.i2291 unwind label %lpad.i2288 @@ -94409,7 +94442,7 @@ call.i.noexc.i2291: ; preds = %__cxx_global_var_in lpad.i.i2293: ; preds = %.noexc.i2292 %377 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2285) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2285) #28 br label %common.resume invoke.cont.i2294: ; preds = %.noexc.i2292 @@ -94431,7 +94464,7 @@ invoke.cont6.i2304: ; preds = %invoke.cont5.i2302 to label %invoke.cont8.i2306 unwind label %lpad4.i2301 invoke.cont8.i2306: ; preds = %invoke.cont6.i2304 - %call11.i2307 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2307 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2308 unwind label %lpad4.i2301 invoke.cont10.i2308: ; preds = %invoke.cont8.i2306 @@ -94452,18 +94485,18 @@ lpad2.i2295: ; preds = %invoke.cont.i2294 lpad4.i2301: ; preds = %invoke.cont10.i2308, %invoke.cont8.i2306, %invoke.cont6.i2304, %invoke.cont5.i2302, %invoke.cont3.i2298 %380 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2284) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2284) #28 br label %ehcleanup16.i2296 ehcleanup16.i2296: ; preds = %lpad4.i2301, %lpad2.i2295 %.pn.i2297 = phi { ptr, i32 } [ %380, %lpad4.i2301 ], [ %379, %lpad2.i2295 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2285) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2285) #28 br label %common.resume __cxx_global_var_init.193.exit: ; preds = %invoke.cont10.i2308 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2284) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2285) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2286) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2284) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2285) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2286) #28 store ptr %call15.i2309, ptr @_ZN12_GLOBAL__N_130MutatingTest_RemoveCopyIf_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2284) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2285) @@ -94471,7 +94504,7 @@ __cxx_global_var_init.193.exit: ; preds = %invoke.cont10.i2308 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2310) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2311) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2312) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2312) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2312) #28 %call.i3.i2313 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2311) to label %call.i.noexc.i2317 unwind label %lpad.i2314 @@ -94486,7 +94519,7 @@ call.i.noexc.i2317: ; preds = %__cxx_global_var_in lpad.i.i2319: ; preds = %.noexc.i2318 %381 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2311) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2311) #28 br label %common.resume invoke.cont.i2320: ; preds = %.noexc.i2318 @@ -94508,7 +94541,7 @@ invoke.cont6.i2330: ; preds = %invoke.cont5.i2328 to label %invoke.cont8.i2332 unwind label %lpad4.i2327 invoke.cont8.i2332: ; preds = %invoke.cont6.i2330 - %call11.i2333 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2333 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2334 unwind label %lpad4.i2327 invoke.cont10.i2334: ; preds = %invoke.cont8.i2332 @@ -94529,18 +94562,18 @@ lpad2.i2321: ; preds = %invoke.cont.i2320 lpad4.i2327: ; preds = %invoke.cont10.i2334, %invoke.cont8.i2332, %invoke.cont6.i2330, %invoke.cont5.i2328, %invoke.cont3.i2324 %384 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2310) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2310) #28 br label %ehcleanup16.i2322 ehcleanup16.i2322: ; preds = %lpad4.i2327, %lpad2.i2321 %.pn.i2323 = phi { ptr, i32 } [ %384, %lpad4.i2327 ], [ %383, %lpad2.i2321 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2311) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2311) #28 br label %common.resume __cxx_global_var_init.195.exit: ; preds = %invoke.cont10.i2334 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2310) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2311) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2312) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2310) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2311) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2312) #28 store ptr %call15.i2335, ptr @_ZN12_GLOBAL__N_128MutatingTest_UniqueCopy_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2310) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2311) @@ -94548,7 +94581,7 @@ __cxx_global_var_init.195.exit: ; preds = %invoke.cont10.i2334 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2336) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2337) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2338) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2338) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2338) #28 %call.i3.i2339 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2337) to label %call.i.noexc.i2343 unwind label %lpad.i2340 @@ -94563,7 +94596,7 @@ call.i.noexc.i2343: ; preds = %__cxx_global_var_in lpad.i.i2345: ; preds = %.noexc.i2344 %385 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2337) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2337) #28 br label %common.resume invoke.cont.i2346: ; preds = %.noexc.i2344 @@ -94585,7 +94618,7 @@ invoke.cont6.i2356: ; preds = %invoke.cont5.i2354 to label %invoke.cont8.i2358 unwind label %lpad4.i2353 invoke.cont8.i2358: ; preds = %invoke.cont6.i2356 - %call11.i2359 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2359 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2360 unwind label %lpad4.i2353 invoke.cont10.i2360: ; preds = %invoke.cont8.i2358 @@ -94606,18 +94639,18 @@ lpad2.i2347: ; preds = %invoke.cont.i2346 lpad4.i2353: ; preds = %invoke.cont10.i2360, %invoke.cont8.i2358, %invoke.cont6.i2356, %invoke.cont5.i2354, %invoke.cont3.i2350 %388 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2336) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2336) #28 br label %ehcleanup16.i2348 ehcleanup16.i2348: ; preds = %lpad4.i2353, %lpad2.i2347 %.pn.i2349 = phi { ptr, i32 } [ %388, %lpad4.i2353 ], [ %387, %lpad2.i2347 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2337) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2337) #28 br label %common.resume __cxx_global_var_init.197.exit: ; preds = %invoke.cont10.i2360 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2336) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2337) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2338) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2336) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2337) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2338) #28 store ptr %call15.i2361, ptr @_ZN12_GLOBAL__N_141MutatingTest_UniqueCopyWithPredicate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2336) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2337) @@ -94625,7 +94658,7 @@ __cxx_global_var_init.197.exit: ; preds = %invoke.cont10.i2360 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2362) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2363) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2364) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2364) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2364) #28 %call.i3.i2365 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2363) to label %call.i.noexc.i2369 unwind label %lpad.i2366 @@ -94640,7 +94673,7 @@ call.i.noexc.i2369: ; preds = %__cxx_global_var_in lpad.i.i2371: ; preds = %.noexc.i2370 %389 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2363) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2363) #28 br label %common.resume invoke.cont.i2372: ; preds = %.noexc.i2370 @@ -94662,7 +94695,7 @@ invoke.cont6.i2382: ; preds = %invoke.cont5.i2380 to label %invoke.cont8.i2384 unwind label %lpad4.i2379 invoke.cont8.i2384: ; preds = %invoke.cont6.i2382 - %call11.i2385 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2385 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2386 unwind label %lpad4.i2379 invoke.cont10.i2386: ; preds = %invoke.cont8.i2384 @@ -94683,18 +94716,18 @@ lpad2.i2373: ; preds = %invoke.cont.i2372 lpad4.i2379: ; preds = %invoke.cont10.i2386, %invoke.cont8.i2384, %invoke.cont6.i2382, %invoke.cont5.i2380, %invoke.cont3.i2376 %392 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2362) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2362) #28 br label %ehcleanup16.i2374 ehcleanup16.i2374: ; preds = %lpad4.i2379, %lpad2.i2373 %.pn.i2375 = phi { ptr, i32 } [ %392, %lpad4.i2379 ], [ %391, %lpad2.i2373 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2363) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2363) #28 br label %common.resume __cxx_global_var_init.199.exit: ; preds = %invoke.cont10.i2386 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2362) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2363) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2364) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2362) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2363) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2364) #28 store ptr %call15.i2387, ptr @_ZN12_GLOBAL__N_125MutatingTest_Reverse_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2362) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2363) @@ -94702,7 +94735,7 @@ __cxx_global_var_init.199.exit: ; preds = %invoke.cont10.i2386 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2388) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2389) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2390) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2390) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2390) #28 %call.i3.i2391 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2389) to label %call.i.noexc.i2395 unwind label %lpad.i2392 @@ -94717,7 +94750,7 @@ call.i.noexc.i2395: ; preds = %__cxx_global_var_in lpad.i.i2397: ; preds = %.noexc.i2396 %393 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2389) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2389) #28 br label %common.resume invoke.cont.i2398: ; preds = %.noexc.i2396 @@ -94739,7 +94772,7 @@ invoke.cont6.i2408: ; preds = %invoke.cont5.i2406 to label %invoke.cont8.i2410 unwind label %lpad4.i2405 invoke.cont8.i2410: ; preds = %invoke.cont6.i2408 - %call11.i2411 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2411 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2412 unwind label %lpad4.i2405 invoke.cont10.i2412: ; preds = %invoke.cont8.i2410 @@ -94760,18 +94793,18 @@ lpad2.i2399: ; preds = %invoke.cont.i2398 lpad4.i2405: ; preds = %invoke.cont10.i2412, %invoke.cont8.i2410, %invoke.cont6.i2408, %invoke.cont5.i2406, %invoke.cont3.i2402 %396 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2388) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2388) #28 br label %ehcleanup16.i2400 ehcleanup16.i2400: ; preds = %lpad4.i2405, %lpad2.i2399 %.pn.i2401 = phi { ptr, i32 } [ %396, %lpad4.i2405 ], [ %395, %lpad2.i2399 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2389) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2389) #28 br label %common.resume __cxx_global_var_init.201.exit: ; preds = %invoke.cont10.i2412 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2388) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2389) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2390) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2388) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2389) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2390) #28 store ptr %call15.i2413, ptr @_ZN12_GLOBAL__N_129MutatingTest_ReverseCopy_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2388) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2389) @@ -94779,7 +94812,7 @@ __cxx_global_var_init.201.exit: ; preds = %invoke.cont10.i2412 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2414) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2415) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2416) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2416) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2416) #28 %call.i3.i2417 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2415) to label %call.i.noexc.i2421 unwind label %lpad.i2418 @@ -94794,7 +94827,7 @@ call.i.noexc.i2421: ; preds = %__cxx_global_var_in lpad.i.i2423: ; preds = %.noexc.i2422 %397 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2415) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2415) #28 br label %common.resume invoke.cont.i2424: ; preds = %.noexc.i2422 @@ -94816,7 +94849,7 @@ invoke.cont6.i2434: ; preds = %invoke.cont5.i2432 to label %invoke.cont8.i2436 unwind label %lpad4.i2431 invoke.cont8.i2436: ; preds = %invoke.cont6.i2434 - %call11.i2437 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2437 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2438 unwind label %lpad4.i2431 invoke.cont10.i2438: ; preds = %invoke.cont8.i2436 @@ -94837,18 +94870,18 @@ lpad2.i2425: ; preds = %invoke.cont.i2424 lpad4.i2431: ; preds = %invoke.cont10.i2438, %invoke.cont8.i2436, %invoke.cont6.i2434, %invoke.cont5.i2432, %invoke.cont3.i2428 %400 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2414) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2414) #28 br label %ehcleanup16.i2426 ehcleanup16.i2426: ; preds = %lpad4.i2431, %lpad2.i2425 %.pn.i2427 = phi { ptr, i32 } [ %400, %lpad4.i2431 ], [ %399, %lpad2.i2425 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2415) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2415) #28 br label %common.resume __cxx_global_var_init.203.exit: ; preds = %invoke.cont10.i2438 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2414) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2415) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2416) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2414) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2415) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2416) #28 store ptr %call15.i2439, ptr @_ZN12_GLOBAL__N_124MutatingTest_Rotate_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2414) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2415) @@ -94856,7 +94889,7 @@ __cxx_global_var_init.203.exit: ; preds = %invoke.cont10.i2438 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2440) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2441) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2442) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2442) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2442) #28 %call.i3.i2443 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2441) to label %call.i.noexc.i2447 unwind label %lpad.i2444 @@ -94871,7 +94904,7 @@ call.i.noexc.i2447: ; preds = %__cxx_global_var_in lpad.i.i2449: ; preds = %.noexc.i2448 %401 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2441) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2441) #28 br label %common.resume invoke.cont.i2450: ; preds = %.noexc.i2448 @@ -94893,7 +94926,7 @@ invoke.cont6.i2460: ; preds = %invoke.cont5.i2458 to label %invoke.cont8.i2462 unwind label %lpad4.i2457 invoke.cont8.i2462: ; preds = %invoke.cont6.i2460 - %call11.i2463 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2463 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2464 unwind label %lpad4.i2457 invoke.cont10.i2464: ; preds = %invoke.cont8.i2462 @@ -94914,18 +94947,18 @@ lpad2.i2451: ; preds = %invoke.cont.i2450 lpad4.i2457: ; preds = %invoke.cont10.i2464, %invoke.cont8.i2462, %invoke.cont6.i2460, %invoke.cont5.i2458, %invoke.cont3.i2454 %404 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2440) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2440) #28 br label %ehcleanup16.i2452 ehcleanup16.i2452: ; preds = %lpad4.i2457, %lpad2.i2451 %.pn.i2453 = phi { ptr, i32 } [ %404, %lpad4.i2457 ], [ %403, %lpad2.i2451 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2441) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2441) #28 br label %common.resume __cxx_global_var_init.205.exit: ; preds = %invoke.cont10.i2464 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2440) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2441) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2442) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2440) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2441) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2442) #28 store ptr %call15.i2465, ptr @_ZN12_GLOBAL__N_128MutatingTest_RotateCopy_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2440) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2441) @@ -94933,7 +94966,7 @@ __cxx_global_var_init.205.exit: ; preds = %invoke.cont10.i2464 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2466) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2467) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2468) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2468) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2468) #28 %call.i3.i2469 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2467) to label %call.i.noexc.i2473 unwind label %lpad.i2470 @@ -94948,7 +94981,7 @@ call.i.noexc.i2473: ; preds = %__cxx_global_var_in lpad.i.i2475: ; preds = %.noexc.i2474 %405 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2467) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2467) #28 br label %common.resume invoke.cont.i2476: ; preds = %.noexc.i2474 @@ -94970,7 +95003,7 @@ invoke.cont6.i2486: ; preds = %invoke.cont5.i2484 to label %invoke.cont8.i2488 unwind label %lpad4.i2483 invoke.cont8.i2488: ; preds = %invoke.cont6.i2486 - %call11.i2489 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2489 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2490 unwind label %lpad4.i2483 invoke.cont10.i2490: ; preds = %invoke.cont8.i2488 @@ -94991,18 +95024,18 @@ lpad2.i2477: ; preds = %invoke.cont.i2476 lpad4.i2483: ; preds = %invoke.cont10.i2490, %invoke.cont8.i2488, %invoke.cont6.i2486, %invoke.cont5.i2484, %invoke.cont3.i2480 %408 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2466) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2466) #28 br label %ehcleanup16.i2478 ehcleanup16.i2478: ; preds = %lpad4.i2483, %lpad2.i2477 %.pn.i2479 = phi { ptr, i32 } [ %408, %lpad4.i2483 ], [ %407, %lpad2.i2477 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2467) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2467) #28 br label %common.resume __cxx_global_var_init.207.exit: ; preds = %invoke.cont10.i2490 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2466) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2467) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2468) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2466) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2467) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2468) #28 store ptr %call15.i2491, ptr @_ZN12_GLOBAL__N_125MutatingTest_Shuffle_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2466) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2467) @@ -95010,7 +95043,7 @@ __cxx_global_var_init.207.exit: ; preds = %invoke.cont10.i2490 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2492) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2493) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2494) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2494) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2494) #28 %call.i3.i2495 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2493) to label %call.i.noexc.i2499 unwind label %lpad.i2496 @@ -95025,7 +95058,7 @@ call.i.noexc.i2499: ; preds = %__cxx_global_var_in lpad.i.i2501: ; preds = %.noexc.i2500 %409 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2493) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2493) #28 br label %common.resume invoke.cont.i2502: ; preds = %.noexc.i2500 @@ -95047,7 +95080,7 @@ invoke.cont6.i2512: ; preds = %invoke.cont5.i2510 to label %invoke.cont8.i2514 unwind label %lpad4.i2509 invoke.cont8.i2514: ; preds = %invoke.cont6.i2512 - %call11.i2515 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2515 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2516 unwind label %lpad4.i2509 invoke.cont10.i2516: ; preds = %invoke.cont8.i2514 @@ -95068,18 +95101,18 @@ lpad2.i2503: ; preds = %invoke.cont.i2502 lpad4.i2509: ; preds = %invoke.cont10.i2516, %invoke.cont8.i2514, %invoke.cont6.i2512, %invoke.cont5.i2510, %invoke.cont3.i2506 %412 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2492) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2492) #28 br label %ehcleanup16.i2504 ehcleanup16.i2504: ; preds = %lpad4.i2509, %lpad2.i2503 %.pn.i2505 = phi { ptr, i32 } [ %412, %lpad4.i2509 ], [ %411, %lpad2.i2503 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2493) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2493) #28 br label %common.resume __cxx_global_var_init.209.exit: ; preds = %invoke.cont10.i2516 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2492) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2493) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2494) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2492) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2493) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2494) #28 store ptr %call15.i2517, ptr @_ZN12_GLOBAL__N_129MutatingTest_PartialSort_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2492) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2493) @@ -95087,7 +95120,7 @@ __cxx_global_var_init.209.exit: ; preds = %invoke.cont10.i2516 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2518) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2519) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2520) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2520) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2520) #28 %call.i3.i2521 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2519) to label %call.i.noexc.i2525 unwind label %lpad.i2522 @@ -95102,7 +95135,7 @@ call.i.noexc.i2525: ; preds = %__cxx_global_var_in lpad.i.i2527: ; preds = %.noexc.i2526 %413 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2519) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2519) #28 br label %common.resume invoke.cont.i2528: ; preds = %.noexc.i2526 @@ -95124,7 +95157,7 @@ invoke.cont6.i2538: ; preds = %invoke.cont5.i2536 to label %invoke.cont8.i2540 unwind label %lpad4.i2535 invoke.cont8.i2540: ; preds = %invoke.cont6.i2538 - %call11.i2541 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2541 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2542 unwind label %lpad4.i2535 invoke.cont10.i2542: ; preds = %invoke.cont8.i2540 @@ -95145,18 +95178,18 @@ lpad2.i2529: ; preds = %invoke.cont.i2528 lpad4.i2535: ; preds = %invoke.cont10.i2542, %invoke.cont8.i2540, %invoke.cont6.i2538, %invoke.cont5.i2536, %invoke.cont3.i2532 %416 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2518) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2518) #28 br label %ehcleanup16.i2530 ehcleanup16.i2530: ; preds = %lpad4.i2535, %lpad2.i2529 %.pn.i2531 = phi { ptr, i32 } [ %416, %lpad4.i2535 ], [ %415, %lpad2.i2529 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2519) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2519) #28 br label %common.resume __cxx_global_var_init.211.exit: ; preds = %invoke.cont10.i2542 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2518) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2519) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2520) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2518) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2519) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2520) #28 store ptr %call15.i2543, ptr @_ZN12_GLOBAL__N_133MutatingTest_PartialSortCopy_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2518) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2519) @@ -95164,7 +95197,7 @@ __cxx_global_var_init.211.exit: ; preds = %invoke.cont10.i2542 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2544) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2545) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2546) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2546) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2546) #28 %call.i3.i2547 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2545) to label %call.i.noexc.i2551 unwind label %lpad.i2548 @@ -95179,7 +95212,7 @@ call.i.noexc.i2551: ; preds = %__cxx_global_var_in lpad.i.i2553: ; preds = %.noexc.i2552 %417 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2545) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2545) #28 br label %common.resume invoke.cont.i2554: ; preds = %.noexc.i2552 @@ -95201,7 +95234,7 @@ invoke.cont6.i2564: ; preds = %invoke.cont5.i2562 to label %invoke.cont8.i2566 unwind label %lpad4.i2561 invoke.cont8.i2566: ; preds = %invoke.cont6.i2564 - %call11.i2567 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2567 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2568 unwind label %lpad4.i2561 invoke.cont10.i2568: ; preds = %invoke.cont8.i2566 @@ -95222,18 +95255,18 @@ lpad2.i2555: ; preds = %invoke.cont.i2554 lpad4.i2561: ; preds = %invoke.cont10.i2568, %invoke.cont8.i2566, %invoke.cont6.i2564, %invoke.cont5.i2562, %invoke.cont3.i2558 %420 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2544) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2544) #28 br label %ehcleanup16.i2556 ehcleanup16.i2556: ; preds = %lpad4.i2561, %lpad2.i2555 %.pn.i2557 = phi { ptr, i32 } [ %420, %lpad4.i2561 ], [ %419, %lpad2.i2555 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2545) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2545) #28 br label %common.resume __cxx_global_var_init.213.exit: ; preds = %invoke.cont10.i2568 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2544) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2545) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2546) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2544) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2545) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2546) #28 store ptr %call15.i2569, ptr @_ZN12_GLOBAL__N_123MutatingTest_Merge_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2544) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2545) @@ -95241,7 +95274,7 @@ __cxx_global_var_init.213.exit: ; preds = %invoke.cont10.i2568 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2570) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2571) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2572) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2572) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2572) #28 %call.i3.i2573 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2571) to label %call.i.noexc.i2577 unwind label %lpad.i2574 @@ -95256,7 +95289,7 @@ call.i.noexc.i2577: ; preds = %__cxx_global_var_in lpad.i.i2579: ; preds = %.noexc.i2578 %421 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2571) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2571) #28 br label %common.resume invoke.cont.i2580: ; preds = %.noexc.i2578 @@ -95278,7 +95311,7 @@ invoke.cont6.i2590: ; preds = %invoke.cont5.i2588 to label %invoke.cont8.i2592 unwind label %lpad4.i2587 invoke.cont8.i2592: ; preds = %invoke.cont6.i2590 - %call11.i2593 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2593 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2594 unwind label %lpad4.i2587 invoke.cont10.i2594: ; preds = %invoke.cont8.i2592 @@ -95299,18 +95332,18 @@ lpad2.i2581: ; preds = %invoke.cont.i2580 lpad4.i2587: ; preds = %invoke.cont10.i2594, %invoke.cont8.i2592, %invoke.cont6.i2590, %invoke.cont5.i2588, %invoke.cont3.i2584 %424 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2570) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2570) #28 br label %ehcleanup16.i2582 ehcleanup16.i2582: ; preds = %lpad4.i2587, %lpad2.i2581 %.pn.i2583 = phi { ptr, i32 } [ %424, %lpad4.i2587 ], [ %423, %lpad2.i2581 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2571) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2571) #28 br label %common.resume __cxx_global_var_init.215.exit: ; preds = %invoke.cont10.i2594 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2570) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2571) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2572) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2570) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2571) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2572) #28 store ptr %call15.i2595, ptr @_ZN12_GLOBAL__N_137MutatingTest_MergeWithComparator_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2570) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2571) @@ -95318,7 +95351,7 @@ __cxx_global_var_init.215.exit: ; preds = %invoke.cont10.i2594 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2596) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2597) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2598) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2598) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2598) #28 %call.i3.i2599 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2597) to label %call.i.noexc.i2603 unwind label %lpad.i2600 @@ -95333,7 +95366,7 @@ call.i.noexc.i2603: ; preds = %__cxx_global_var_in lpad.i.i2605: ; preds = %.noexc.i2604 %425 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2597) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2597) #28 br label %common.resume invoke.cont.i2606: ; preds = %.noexc.i2604 @@ -95355,7 +95388,7 @@ invoke.cont6.i2616: ; preds = %invoke.cont5.i2614 to label %invoke.cont8.i2618 unwind label %lpad4.i2613 invoke.cont8.i2618: ; preds = %invoke.cont6.i2616 - %call11.i2619 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2619 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2620 unwind label %lpad4.i2613 invoke.cont10.i2620: ; preds = %invoke.cont8.i2618 @@ -95376,18 +95409,18 @@ lpad2.i2607: ; preds = %invoke.cont.i2606 lpad4.i2613: ; preds = %invoke.cont10.i2620, %invoke.cont8.i2618, %invoke.cont6.i2616, %invoke.cont5.i2614, %invoke.cont3.i2610 %428 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2596) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2596) #28 br label %ehcleanup16.i2608 ehcleanup16.i2608: ; preds = %lpad4.i2613, %lpad2.i2607 %.pn.i2609 = phi { ptr, i32 } [ %428, %lpad4.i2613 ], [ %427, %lpad2.i2607 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2597) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2597) #28 br label %common.resume __cxx_global_var_init.217.exit: ; preds = %invoke.cont10.i2620 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2596) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2597) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2598) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2596) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2597) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2598) #28 store ptr %call15.i2621, ptr @_ZN12_GLOBAL__N_130MutatingTest_InplaceMerge_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2596) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2597) @@ -95395,7 +95428,7 @@ __cxx_global_var_init.217.exit: ; preds = %invoke.cont10.i2620 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2622) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2623) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2624) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2624) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2624) #28 %call.i3.i2625 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2623) to label %call.i.noexc.i2629 unwind label %lpad.i2626 @@ -95410,7 +95443,7 @@ call.i.noexc.i2629: ; preds = %__cxx_global_var_in lpad.i.i2631: ; preds = %.noexc.i2630 %429 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2623) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2623) #28 br label %common.resume invoke.cont.i2632: ; preds = %.noexc.i2630 @@ -95432,7 +95465,7 @@ invoke.cont6.i2642: ; preds = %invoke.cont5.i2640 to label %invoke.cont8.i2644 unwind label %lpad4.i2639 invoke.cont8.i2644: ; preds = %invoke.cont6.i2642 - %call11.i2645 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2645 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2646 unwind label %lpad4.i2639 invoke.cont10.i2646: ; preds = %invoke.cont8.i2644 @@ -95453,18 +95486,18 @@ lpad2.i2633: ; preds = %invoke.cont.i2632 lpad4.i2639: ; preds = %invoke.cont10.i2646, %invoke.cont8.i2644, %invoke.cont6.i2642, %invoke.cont5.i2640, %invoke.cont3.i2636 %432 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2622) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2622) #28 br label %ehcleanup16.i2634 ehcleanup16.i2634: ; preds = %lpad4.i2639, %lpad2.i2633 %.pn.i2635 = phi { ptr, i32 } [ %432, %lpad4.i2639 ], [ %431, %lpad2.i2633 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2623) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2623) #28 br label %common.resume __cxx_global_var_init.219.exit: ; preds = %invoke.cont10.i2646 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2622) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2623) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2624) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2622) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2623) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2624) #28 store ptr %call15.i2647, ptr @_ZN12_GLOBAL__N_144MutatingTest_InplaceMergeWithComparator_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2622) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2623) @@ -95472,7 +95505,7 @@ __cxx_global_var_init.219.exit: ; preds = %invoke.cont10.i2646 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2648) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2649) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2650) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2650) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2650) #28 %call.i3.i2651 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2649) to label %call.i.noexc.i2655 unwind label %lpad.i2652 @@ -95487,7 +95520,7 @@ call.i.noexc.i2655: ; preds = %__cxx_global_var_in lpad.i.i2657: ; preds = %.noexc.i2656 %433 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2649) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2649) #28 br label %common.resume invoke.cont.i2658: ; preds = %.noexc.i2656 @@ -95505,7 +95538,7 @@ invoke.cont6.i2666: ; preds = %invoke.cont3.i2662 to label %invoke.cont8.i2668 unwind label %lpad4.i2665 invoke.cont8.i2668: ; preds = %invoke.cont6.i2666 - %call11.i2669 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2669 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2670 unwind label %lpad4.i2665 invoke.cont10.i2670: ; preds = %invoke.cont8.i2668 @@ -95526,18 +95559,18 @@ lpad2.i2659: ; preds = %invoke.cont.i2658 lpad4.i2665: ; preds = %invoke.cont10.i2670, %invoke.cont8.i2668, %invoke.cont6.i2666, %invoke.cont3.i2662 %436 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2648) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2648) #28 br label %ehcleanup16.i2660 ehcleanup16.i2660: ; preds = %lpad4.i2665, %lpad2.i2659 %.pn.i2661 = phi { ptr, i32 } [ %436, %lpad4.i2665 ], [ %435, %lpad2.i2659 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2649) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2649) #28 br label %common.resume __cxx_global_var_init.221.exit: ; preds = %invoke.cont10.i2670 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2648) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2649) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2650) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2648) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2649) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2650) #28 store ptr %call15.i2671, ptr @_ZN12_GLOBAL__N_131SetOperationsTest_SetUnion_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2648) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2649) @@ -95545,7 +95578,7 @@ __cxx_global_var_init.221.exit: ; preds = %invoke.cont10.i2670 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2672) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2673) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2674) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2674) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2674) #28 %call.i3.i2675 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2673) to label %call.i.noexc.i2679 unwind label %lpad.i2676 @@ -95560,7 +95593,7 @@ call.i.noexc.i2679: ; preds = %__cxx_global_var_in lpad.i.i2681: ; preds = %.noexc.i2680 %437 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2673) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2673) #28 br label %common.resume invoke.cont.i2682: ; preds = %.noexc.i2680 @@ -95578,7 +95611,7 @@ invoke.cont6.i2690: ; preds = %invoke.cont3.i2686 to label %invoke.cont8.i2692 unwind label %lpad4.i2689 invoke.cont8.i2692: ; preds = %invoke.cont6.i2690 - %call11.i2693 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2693 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2694 unwind label %lpad4.i2689 invoke.cont10.i2694: ; preds = %invoke.cont8.i2692 @@ -95599,18 +95632,18 @@ lpad2.i2683: ; preds = %invoke.cont.i2682 lpad4.i2689: ; preds = %invoke.cont10.i2694, %invoke.cont8.i2692, %invoke.cont6.i2690, %invoke.cont3.i2686 %440 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2672) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2672) #28 br label %ehcleanup16.i2684 ehcleanup16.i2684: ; preds = %lpad4.i2689, %lpad2.i2683 %.pn.i2685 = phi { ptr, i32 } [ %440, %lpad4.i2689 ], [ %439, %lpad2.i2683 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2673) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2673) #28 br label %common.resume __cxx_global_var_init.224.exit: ; preds = %invoke.cont10.i2694 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2672) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2673) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2674) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2672) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2673) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2674) #28 store ptr %call15.i2695, ptr @_ZN12_GLOBAL__N_145SetOperationsTest_SetUnionWithComparator_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2672) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2673) @@ -95618,7 +95651,7 @@ __cxx_global_var_init.224.exit: ; preds = %invoke.cont10.i2694 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2696) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2697) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2698) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2698) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2698) #28 %call.i3.i2699 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2697) to label %call.i.noexc.i2703 unwind label %lpad.i2700 @@ -95633,7 +95666,7 @@ call.i.noexc.i2703: ; preds = %__cxx_global_var_in lpad.i.i2705: ; preds = %.noexc.i2704 %441 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2697) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2697) #28 br label %common.resume invoke.cont.i2706: ; preds = %.noexc.i2704 @@ -95651,7 +95684,7 @@ invoke.cont6.i2714: ; preds = %invoke.cont3.i2710 to label %invoke.cont8.i2716 unwind label %lpad4.i2713 invoke.cont8.i2716: ; preds = %invoke.cont6.i2714 - %call11.i2717 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2717 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2718 unwind label %lpad4.i2713 invoke.cont10.i2718: ; preds = %invoke.cont8.i2716 @@ -95672,18 +95705,18 @@ lpad2.i2707: ; preds = %invoke.cont.i2706 lpad4.i2713: ; preds = %invoke.cont10.i2718, %invoke.cont8.i2716, %invoke.cont6.i2714, %invoke.cont3.i2710 %444 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2696) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2696) #28 br label %ehcleanup16.i2708 ehcleanup16.i2708: ; preds = %lpad4.i2713, %lpad2.i2707 %.pn.i2709 = phi { ptr, i32 } [ %444, %lpad4.i2713 ], [ %443, %lpad2.i2707 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2697) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2697) #28 br label %common.resume __cxx_global_var_init.226.exit: ; preds = %invoke.cont10.i2718 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2696) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2697) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2698) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2696) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2697) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2698) #28 store ptr %call15.i2719, ptr @_ZN12_GLOBAL__N_138SetOperationsTest_SetIntersection_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2696) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2697) @@ -95691,7 +95724,7 @@ __cxx_global_var_init.226.exit: ; preds = %invoke.cont10.i2718 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2720) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2721) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2722) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2722) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2722) #28 %call.i3.i2723 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2721) to label %call.i.noexc.i2727 unwind label %lpad.i2724 @@ -95706,7 +95739,7 @@ call.i.noexc.i2727: ; preds = %__cxx_global_var_in lpad.i.i2729: ; preds = %.noexc.i2728 %445 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2721) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2721) #28 br label %common.resume invoke.cont.i2730: ; preds = %.noexc.i2728 @@ -95724,7 +95757,7 @@ invoke.cont6.i2738: ; preds = %invoke.cont3.i2734 to label %invoke.cont8.i2740 unwind label %lpad4.i2737 invoke.cont8.i2740: ; preds = %invoke.cont6.i2738 - %call11.i2741 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2741 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2742 unwind label %lpad4.i2737 invoke.cont10.i2742: ; preds = %invoke.cont8.i2740 @@ -95745,18 +95778,18 @@ lpad2.i2731: ; preds = %invoke.cont.i2730 lpad4.i2737: ; preds = %invoke.cont10.i2742, %invoke.cont8.i2740, %invoke.cont6.i2738, %invoke.cont3.i2734 %448 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2720) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2720) #28 br label %ehcleanup16.i2732 ehcleanup16.i2732: ; preds = %lpad4.i2737, %lpad2.i2731 %.pn.i2733 = phi { ptr, i32 } [ %448, %lpad4.i2737 ], [ %447, %lpad2.i2731 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2721) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2721) #28 br label %common.resume __cxx_global_var_init.228.exit: ; preds = %invoke.cont10.i2742 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2720) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2721) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2722) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2720) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2721) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2722) #28 store ptr %call15.i2743, ptr @_ZN12_GLOBAL__N_152SetOperationsTest_SetIntersectionWithComparator_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2720) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2721) @@ -95764,7 +95797,7 @@ __cxx_global_var_init.228.exit: ; preds = %invoke.cont10.i2742 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2744) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2745) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2746) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2746) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2746) #28 %call.i3.i2747 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2745) to label %call.i.noexc.i2751 unwind label %lpad.i2748 @@ -95779,7 +95812,7 @@ call.i.noexc.i2751: ; preds = %__cxx_global_var_in lpad.i.i2753: ; preds = %.noexc.i2752 %449 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2745) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2745) #28 br label %common.resume invoke.cont.i2754: ; preds = %.noexc.i2752 @@ -95797,7 +95830,7 @@ invoke.cont6.i2762: ; preds = %invoke.cont3.i2758 to label %invoke.cont8.i2764 unwind label %lpad4.i2761 invoke.cont8.i2764: ; preds = %invoke.cont6.i2762 - %call11.i2765 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2765 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2766 unwind label %lpad4.i2761 invoke.cont10.i2766: ; preds = %invoke.cont8.i2764 @@ -95818,18 +95851,18 @@ lpad2.i2755: ; preds = %invoke.cont.i2754 lpad4.i2761: ; preds = %invoke.cont10.i2766, %invoke.cont8.i2764, %invoke.cont6.i2762, %invoke.cont3.i2758 %452 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2744) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2744) #28 br label %ehcleanup16.i2756 ehcleanup16.i2756: ; preds = %lpad4.i2761, %lpad2.i2755 %.pn.i2757 = phi { ptr, i32 } [ %452, %lpad4.i2761 ], [ %451, %lpad2.i2755 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2745) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2745) #28 br label %common.resume __cxx_global_var_init.230.exit: ; preds = %invoke.cont10.i2766 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2744) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2745) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2746) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2744) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2745) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2746) #28 store ptr %call15.i2767, ptr @_ZN12_GLOBAL__N_136SetOperationsTest_SetDifference_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2744) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2745) @@ -95837,7 +95870,7 @@ __cxx_global_var_init.230.exit: ; preds = %invoke.cont10.i2766 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2768) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2769) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2770) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2770) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2770) #28 %call.i3.i2771 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2769) to label %call.i.noexc.i2775 unwind label %lpad.i2772 @@ -95852,7 +95885,7 @@ call.i.noexc.i2775: ; preds = %__cxx_global_var_in lpad.i.i2777: ; preds = %.noexc.i2776 %453 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2769) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2769) #28 br label %common.resume invoke.cont.i2778: ; preds = %.noexc.i2776 @@ -95870,7 +95903,7 @@ invoke.cont6.i2786: ; preds = %invoke.cont3.i2782 to label %invoke.cont8.i2788 unwind label %lpad4.i2785 invoke.cont8.i2788: ; preds = %invoke.cont6.i2786 - %call11.i2789 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2789 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2790 unwind label %lpad4.i2785 invoke.cont10.i2790: ; preds = %invoke.cont8.i2788 @@ -95891,18 +95924,18 @@ lpad2.i2779: ; preds = %invoke.cont.i2778 lpad4.i2785: ; preds = %invoke.cont10.i2790, %invoke.cont8.i2788, %invoke.cont6.i2786, %invoke.cont3.i2782 %456 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2768) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2768) #28 br label %ehcleanup16.i2780 ehcleanup16.i2780: ; preds = %lpad4.i2785, %lpad2.i2779 %.pn.i2781 = phi { ptr, i32 } [ %456, %lpad4.i2785 ], [ %455, %lpad2.i2779 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2769) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2769) #28 br label %common.resume __cxx_global_var_init.232.exit: ; preds = %invoke.cont10.i2790 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2768) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2769) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2770) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2768) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2769) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2770) #28 store ptr %call15.i2791, ptr @_ZN12_GLOBAL__N_150SetOperationsTest_SetDifferenceWithComparator_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2768) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2769) @@ -95910,7 +95943,7 @@ __cxx_global_var_init.232.exit: ; preds = %invoke.cont10.i2790 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2792) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2793) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2794) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2794) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2794) #28 %call.i3.i2795 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2793) to label %call.i.noexc.i2799 unwind label %lpad.i2796 @@ -95925,7 +95958,7 @@ call.i.noexc.i2799: ; preds = %__cxx_global_var_in lpad.i.i2801: ; preds = %.noexc.i2800 %457 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2793) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2793) #28 br label %common.resume invoke.cont.i2802: ; preds = %.noexc.i2800 @@ -95943,7 +95976,7 @@ invoke.cont6.i2810: ; preds = %invoke.cont3.i2806 to label %invoke.cont8.i2812 unwind label %lpad4.i2809 invoke.cont8.i2812: ; preds = %invoke.cont6.i2810 - %call11.i2813 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2813 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2814 unwind label %lpad4.i2809 invoke.cont10.i2814: ; preds = %invoke.cont8.i2812 @@ -95964,18 +95997,18 @@ lpad2.i2803: ; preds = %invoke.cont.i2802 lpad4.i2809: ; preds = %invoke.cont10.i2814, %invoke.cont8.i2812, %invoke.cont6.i2810, %invoke.cont3.i2806 %460 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2792) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2792) #28 br label %ehcleanup16.i2804 ehcleanup16.i2804: ; preds = %lpad4.i2809, %lpad2.i2803 %.pn.i2805 = phi { ptr, i32 } [ %460, %lpad4.i2809 ], [ %459, %lpad2.i2803 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2793) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2793) #28 br label %common.resume __cxx_global_var_init.234.exit: ; preds = %invoke.cont10.i2814 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2792) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2793) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2794) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2792) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2793) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2794) #28 store ptr %call15.i2815, ptr @_ZN12_GLOBAL__N_145SetOperationsTest_SetSymmetricDifference_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2792) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2793) @@ -95983,7 +96016,7 @@ __cxx_global_var_init.234.exit: ; preds = %invoke.cont10.i2814 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2816) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2817) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2818) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2818) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2818) #28 %call.i3.i2819 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2817) to label %call.i.noexc.i2823 unwind label %lpad.i2820 @@ -95998,7 +96031,7 @@ call.i.noexc.i2823: ; preds = %__cxx_global_var_in lpad.i.i2825: ; preds = %.noexc.i2824 %461 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2817) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2817) #28 br label %common.resume invoke.cont.i2826: ; preds = %.noexc.i2824 @@ -96016,7 +96049,7 @@ invoke.cont6.i2834: ; preds = %invoke.cont3.i2830 to label %invoke.cont8.i2836 unwind label %lpad4.i2833 invoke.cont8.i2836: ; preds = %invoke.cont6.i2834 - %call11.i2837 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2837 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2838 unwind label %lpad4.i2833 invoke.cont10.i2838: ; preds = %invoke.cont8.i2836 @@ -96037,18 +96070,18 @@ lpad2.i2827: ; preds = %invoke.cont.i2826 lpad4.i2833: ; preds = %invoke.cont10.i2838, %invoke.cont8.i2836, %invoke.cont6.i2834, %invoke.cont3.i2830 %464 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2816) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2816) #28 br label %ehcleanup16.i2828 ehcleanup16.i2828: ; preds = %lpad4.i2833, %lpad2.i2827 %.pn.i2829 = phi { ptr, i32 } [ %464, %lpad4.i2833 ], [ %463, %lpad2.i2827 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2817) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2817) #28 br label %common.resume __cxx_global_var_init.236.exit: ; preds = %invoke.cont10.i2838 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2816) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2817) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2818) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2816) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2817) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2818) #28 store ptr %call15.i2839, ptr @_ZN12_GLOBAL__N_159SetOperationsTest_SetSymmetricDifferenceWithComparator_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2816) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2817) @@ -96056,7 +96089,7 @@ __cxx_global_var_init.236.exit: ; preds = %invoke.cont10.i2838 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2840) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2841) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2842) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2842) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2842) #28 %call.i3.i2843 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2841) to label %call.i.noexc.i2847 unwind label %lpad.i2844 @@ -96071,7 +96104,7 @@ call.i.noexc.i2847: ; preds = %__cxx_global_var_in lpad.i.i2849: ; preds = %.noexc.i2848 %465 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2841) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2841) #28 br label %common.resume invoke.cont.i2850: ; preds = %.noexc.i2848 @@ -96093,7 +96126,7 @@ invoke.cont6.i2860: ; preds = %invoke.cont5.i2858 to label %invoke.cont8.i2862 unwind label %lpad4.i2857 invoke.cont8.i2862: ; preds = %invoke.cont6.i2860 - %call11.i2863 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2863 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2864 unwind label %lpad4.i2857 invoke.cont10.i2864: ; preds = %invoke.cont8.i2862 @@ -96114,18 +96147,18 @@ lpad2.i2851: ; preds = %invoke.cont.i2850 lpad4.i2857: ; preds = %invoke.cont10.i2864, %invoke.cont8.i2862, %invoke.cont6.i2860, %invoke.cont5.i2858, %invoke.cont3.i2854 %468 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2840) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2840) #28 br label %ehcleanup16.i2852 ehcleanup16.i2852: ; preds = %lpad4.i2857, %lpad2.i2851 %.pn.i2853 = phi { ptr, i32 } [ %468, %lpad4.i2857 ], [ %467, %lpad2.i2851 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2841) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2841) #28 br label %common.resume __cxx_global_var_init.238.exit: ; preds = %invoke.cont10.i2864 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2840) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2841) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2842) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2840) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2841) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2842) #28 store ptr %call15.i2865, ptr @_ZN12_GLOBAL__N_141HeapOperationsTest_WithoutComparator_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2840) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2841) @@ -96133,7 +96166,7 @@ __cxx_global_var_init.238.exit: ; preds = %invoke.cont10.i2864 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2866) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2867) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2868) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2868) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2868) #28 %call.i3.i2869 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2867) to label %call.i.noexc.i2873 unwind label %lpad.i2870 @@ -96148,7 +96181,7 @@ call.i.noexc.i2873: ; preds = %__cxx_global_var_in lpad.i.i2875: ; preds = %.noexc.i2874 %469 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2867) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2867) #28 br label %common.resume invoke.cont.i2876: ; preds = %.noexc.i2874 @@ -96170,7 +96203,7 @@ invoke.cont6.i2886: ; preds = %invoke.cont5.i2884 to label %invoke.cont8.i2888 unwind label %lpad4.i2883 invoke.cont8.i2888: ; preds = %invoke.cont6.i2886 - %call11.i2889 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2889 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2890 unwind label %lpad4.i2883 invoke.cont10.i2890: ; preds = %invoke.cont8.i2888 @@ -96191,18 +96224,18 @@ lpad2.i2877: ; preds = %invoke.cont.i2876 lpad4.i2883: ; preds = %invoke.cont10.i2890, %invoke.cont8.i2888, %invoke.cont6.i2886, %invoke.cont5.i2884, %invoke.cont3.i2880 %472 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2866) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2866) #28 br label %ehcleanup16.i2878 ehcleanup16.i2878: ; preds = %lpad4.i2883, %lpad2.i2877 %.pn.i2879 = phi { ptr, i32 } [ %472, %lpad4.i2883 ], [ %471, %lpad2.i2877 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2867) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2867) #28 br label %common.resume __cxx_global_var_init.241.exit: ; preds = %invoke.cont10.i2890 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2866) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2867) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2868) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2866) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2867) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2868) #28 store ptr %call15.i2891, ptr @_ZN12_GLOBAL__N_138HeapOperationsTest_WithComparator_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2866) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2867) @@ -96210,7 +96243,7 @@ __cxx_global_var_init.241.exit: ; preds = %invoke.cont10.i2890 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %agg.tmp.i2892) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i2893) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp1.i2894) - call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2894) #27 + call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2894) #28 %call.i3.i2895 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2893) to label %call.i.noexc.i2899 unwind label %lpad.i2896 @@ -96225,7 +96258,7 @@ call.i.noexc.i2899: ; preds = %__cxx_global_var_in lpad.i.i2901: ; preds = %.noexc.i2900 %473 = landingpad { ptr, i32 } cleanup - call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2893) #27 + call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i2893) #28 br label %common.resume invoke.cont.i2902: ; preds = %.noexc.i2900 @@ -96247,7 +96280,7 @@ invoke.cont6.i2912: ; preds = %invoke.cont5.i2910 to label %invoke.cont8.i2914 unwind label %lpad4.i2909 invoke.cont8.i2914: ; preds = %invoke.cont6.i2912 - %call11.i2915 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #29 + %call11.i2915 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %invoke.cont10.i2916 unwind label %lpad4.i2909 invoke.cont10.i2916: ; preds = %invoke.cont8.i2914 @@ -96268,18 +96301,18 @@ lpad2.i2903: ; preds = %invoke.cont.i2902 lpad4.i2909: ; preds = %invoke.cont10.i2916, %invoke.cont8.i2914, %invoke.cont6.i2912, %invoke.cont5.i2910, %invoke.cont3.i2906 %476 = landingpad { ptr, i32 } cleanup - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2892) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2892) #28 br label %ehcleanup16.i2904 ehcleanup16.i2904: ; preds = %lpad4.i2909, %lpad2.i2903 %.pn.i2905 = phi { ptr, i32 } [ %476, %lpad4.i2909 ], [ %475, %lpad2.i2903 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2893) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2893) #28 br label %common.resume __cxx_global_var_init.243.exit: ; preds = %invoke.cont10.i2916 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2892) #27 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2893) #27 - call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2894) #27 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp.i2892) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i2893) #28 + call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp1.i2894) #28 store ptr %call15.i2917, ptr @_ZN12_GLOBAL__N_139MutatingTest_PermutationOperations_Test10test_info_E, align 8 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %agg.tmp.i2892) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i2893) @@ -96288,28 +96321,28 @@ __cxx_global_var_init.243.exit: ; preds = %invoke.cont10.i2916 } ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #23 +declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #24 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #23 +declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #24 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) -declare void @llvm.experimental.noalias.scope.decl(metadata) #24 +declare void @llvm.experimental.noalias.scope.decl(metadata) #25 ; Function Attrs: nofree nounwind willreturn memory(argmem: read) -declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #25 +declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #26 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i64 @llvm.umax.i64(i64, i64) #26 +declare i64 @llvm.umax.i64(i64, i64) #27 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.smin.i32(i32, i32) #26 +declare i32 @llvm.smin.i32(i32, i32) #27 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.smax.i32(i32, i32) #26 +declare i32 @llvm.smax.i32(i32, i32) #27 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i64 @llvm.smin.i64(i64, i64) #26 +declare i64 @llvm.smin.i64(i64, i64) #27 attributes #0 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #1 = { nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } @@ -96331,21 +96364,22 @@ attributes #16 = { mustprogress nofree nounwind willreturn memory(read) "frame-p attributes #17 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #18 = { nobuiltin nounwind allocsize(0) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #19 = { mustprogress nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #20 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #21 = { mustprogress nofree nounwind willreturn memory(argmem: read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #22 = { uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #23 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } -attributes #24 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } -attributes #25 = { nofree nounwind willreturn memory(argmem: read) } -attributes #26 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } -attributes #27 = { nounwind } -attributes #28 = { builtin nounwind } -attributes #29 = { builtin allocsize(0) } -attributes #30 = { noreturn } -attributes #31 = { noreturn nounwind } -attributes #32 = { allocsize(0) } -attributes #33 = { nounwind willreturn memory(read) } -attributes #34 = { nounwind allocsize(0) } +attributes #20 = { mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #21 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #22 = { mustprogress nofree nounwind willreturn memory(argmem: read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #23 = { uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #24 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } +attributes #25 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } +attributes #26 = { nofree nounwind willreturn memory(argmem: read) } +attributes #27 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } +attributes #28 = { nounwind } +attributes #29 = { builtin nounwind } +attributes #30 = { builtin allocsize(0) } +attributes #31 = { noreturn } +attributes #32 = { noreturn nounwind } +attributes #33 = { allocsize(0) } +attributes #34 = { nounwind willreturn memory(read) } +attributes #35 = { nounwind allocsize(0) } !llvm.module.flags = !{!0, !1, !2, !3, !4} diff --git a/bench/abseil-cpp/optimized/convert_test.cc.ll b/bench/abseil-cpp/optimized/convert_test.cc.ll index d56e988b49d..bb937fd314f 100644 --- a/bench/abseil-cpp/optimized/convert_test.cc.ll +++ b/bench/abseil-cpp/optimized/convert_test.cc.ll @@ -11211,7 +11211,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -12069,7 +12069,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -12355,7 +12355,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -12633,7 +12633,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -12968,7 +12968,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -13243,7 +13243,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -13521,7 +13521,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -13799,7 +13799,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -14085,7 +14085,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.145, ptr %call5.i.i.i.i2.i, align 8 @@ -16076,220 +16076,221 @@ invoke.cont31: ; preds = %entry %incdec.ptr.i.i.i = getelementptr inbounds float, ptr %call5.i.i.i.i.i.i15, i64 16 %add.ptr19.i.i.i = getelementptr inbounds float, ptr %call5.i.i.i.i.i.i15, i64 30 store <2 x float> , ptr %incdec.ptr.i.i.i, align 4 - %incdec.ptr.i.i57 = getelementptr inbounds float, ptr %call5.i.i.i.i.i.i15, i64 18 + %incdec.ptr.i.i58 = getelementptr inbounds float, ptr %call5.i.i.i.i.i.i15, i64 18 %arrayinit.element53 = getelementptr inbounds i32, ptr %ref.tmp51, i64 1 br label %for.body for.body: ; preds = %invoke.cont31, %for.inc68 - %__begin2.0.idx289 = phi i64 [ 0, %invoke.cont31 ], [ %__begin2.0.add, %for.inc68 ] - %floats.sroa.0.3288 = phi ptr [ %call5.i.i.i.i.i.i15, %invoke.cont31 ], [ %floats.sroa.0.6, %for.inc68 ] - %floats.sroa.19.3287 = phi ptr [ %incdec.ptr.i.i57, %invoke.cont31 ], [ %floats.sroa.19.6, %for.inc68 ] - %floats.sroa.47.3286 = phi ptr [ %add.ptr19.i.i.i, %invoke.cont31 ], [ %floats.sroa.47.6, %for.inc68 ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit, i64 %__begin2.0.idx289 + %__begin2.0.idx302 = phi i64 [ 0, %invoke.cont31 ], [ %__begin2.0.add, %for.inc68 ] + %floats.sroa.0.3301 = phi ptr [ %call5.i.i.i.i.i.i15, %invoke.cont31 ], [ %floats.sroa.0.6, %for.inc68 ] + %floats.sroa.19.3300 = phi ptr [ %incdec.ptr.i.i58, %invoke.cont31 ], [ %floats.sroa.19.6, %for.inc68 ] + %floats.sroa.47.3299 = phi ptr [ %add.ptr19.i.i.i, %invoke.cont31 ], [ %floats.sroa.47.6, %for.inc68 ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit, i64 %__begin2.0.idx302 %0 = load float, ptr %__begin2.0.ptr, align 4 br label %for.body49 for.body49: ; preds = %for.body, %for.inc66 - %exp.0285 = phi i32 [ -123, %for.body ], [ %inc, %for.inc66 ] - %floats.sroa.0.4284 = phi ptr [ %floats.sroa.0.3288, %for.body ], [ %floats.sroa.0.6, %for.inc66 ] - %floats.sroa.19.4283 = phi ptr [ %floats.sroa.19.3287, %for.body ], [ %floats.sroa.19.6, %for.inc66 ] - %floats.sroa.47.4282 = phi ptr [ %floats.sroa.47.3286, %for.body ], [ %floats.sroa.47.6, %for.inc66 ] + %exp.0298 = phi i32 [ -123, %for.body ], [ %inc, %for.inc66 ] + %floats.sroa.0.4297 = phi ptr [ %floats.sroa.0.3301, %for.body ], [ %floats.sroa.0.6, %for.inc66 ] + %floats.sroa.19.4296 = phi ptr [ %floats.sroa.19.3300, %for.body ], [ %floats.sroa.19.6, %for.inc66 ] + %floats.sroa.47.4295 = phi ptr [ %floats.sroa.47.3299, %for.body ], [ %floats.sroa.47.6, %for.inc66 ] store i32 1, ptr %ref.tmp51, align 4 store i32 -1, ptr %arrayinit.element53, align 4 br label %for.body61 for.body61: ; preds = %for.body49, %for.inc - %__begin4.0.idx281 = phi i64 [ 0, %for.body49 ], [ %__begin4.0.add, %for.inc ] - %floats.sroa.0.5280 = phi ptr [ %floats.sroa.0.4284, %for.body49 ], [ %floats.sroa.0.6, %for.inc ] - %floats.sroa.19.5279 = phi ptr [ %floats.sroa.19.4283, %for.body49 ], [ %floats.sroa.19.6, %for.inc ] - %floats.sroa.47.5278 = phi ptr [ %floats.sroa.47.4282, %for.body49 ], [ %floats.sroa.47.6, %for.inc ] - %__begin4.0.ptr = getelementptr inbounds i8, ptr %ref.tmp51, i64 %__begin4.0.idx281 + %__begin4.0.idx294 = phi i64 [ 0, %for.body49 ], [ %__begin4.0.add, %for.inc ] + %floats.sroa.0.5293 = phi ptr [ %floats.sroa.0.4297, %for.body49 ], [ %floats.sroa.0.6, %for.inc ] + %floats.sroa.19.5292 = phi ptr [ %floats.sroa.19.4296, %for.body49 ], [ %floats.sroa.19.6, %for.inc ] + %floats.sroa.47.5291 = phi ptr [ %floats.sroa.47.4295, %for.body49 ], [ %floats.sroa.47.6, %for.inc ] + %__begin4.0.ptr = getelementptr inbounds i8, ptr %ref.tmp51, i64 %__begin4.0.idx294 %1 = load i32, ptr %__begin4.0.ptr, align 4 %conv = sitofp i32 %1 to float - %call.i = tail call noundef float @ldexpf(float noundef %0, i32 noundef %exp.0285) #28 + %call.i = tail call noundef float @ldexpf(float noundef %0, i32 noundef %exp.0298) #28 %mul = fmul float %call.i, %conv - %cmp.not.i.i94 = icmp eq ptr %floats.sroa.19.5279, %floats.sroa.47.5278 - br i1 %cmp.not.i.i94, label %if.else.i.i97, label %if.then.i.i95 + %cmp.not.i.i96 = icmp eq ptr %floats.sroa.19.5292, %floats.sroa.47.5291 + br i1 %cmp.not.i.i96, label %if.else.i.i99, label %if.then.i.i97 -if.then.i.i95: ; preds = %for.body61 - store float %mul, ptr %floats.sroa.19.5279, align 4 +if.then.i.i97: ; preds = %for.body61 + store float %mul, ptr %floats.sroa.19.5292, align 4 br label %for.inc -if.else.i.i97: ; preds = %for.body61 - %sub.ptr.lhs.cast.i.i.i.i.i98 = ptrtoint ptr %floats.sroa.19.5279 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i99 = ptrtoint ptr %floats.sroa.0.5280 to i64 - %sub.ptr.sub.i.i.i.i.i100 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i98, %sub.ptr.rhs.cast.i.i.i.i.i99 - %cmp.i.i.i.i101 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i100, 9223372036854775804 - br i1 %cmp.i.i.i.i101, label %if.then.i.i.i.i124, label %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i102 +if.else.i.i99: ; preds = %for.body61 + %sub.ptr.lhs.cast.i.i.i.i.i100 = ptrtoint ptr %floats.sroa.19.5292 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i101 = ptrtoint ptr %floats.sroa.0.5293 to i64 + %sub.ptr.sub.i.i.i.i.i102 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i100, %sub.ptr.rhs.cast.i.i.i.i.i101 + %cmp.i.i.i.i103 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i102, 9223372036854775804 + br i1 %cmp.i.i.i.i103, label %if.then.i.i.i.i127, label %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i104 -if.then.i.i.i.i124: ; preds = %if.else.i.i97 +if.then.i.i.i.i127: ; preds = %if.else.i.i99 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.147) #31 - to label %.noexc125 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + to label %.noexc128 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp -.noexc125: ; preds = %if.then.i.i.i.i124 +.noexc128: ; preds = %if.then.i.i.i.i127 unreachable -_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i102: ; preds = %if.else.i.i97 - %sub.ptr.div.i.i.i.i.i103 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i100, 2 - %.sroa.speculated.i.i.i.i104 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i103, i64 1) - %add.i.i.i.i105 = add i64 %.sroa.speculated.i.i.i.i104, %sub.ptr.div.i.i.i.i.i103 - %cmp7.i.i.i.i106 = icmp ult i64 %add.i.i.i.i105, %sub.ptr.div.i.i.i.i.i103 - %cmp9.i.i.i.i107 = icmp ugt i64 %add.i.i.i.i105, 2305843009213693951 - %or.cond.i.i.i.i108 = or i1 %cmp7.i.i.i.i106, %cmp9.i.i.i.i107 - %cond.i.i.i.i109 = select i1 %or.cond.i.i.i.i108, i64 2305843009213693951, i64 %add.i.i.i.i105 - %cmp.not.i.i.i.i110 = icmp eq i64 %cond.i.i.i.i109, 0 - br i1 %cmp.not.i.i.i.i110, label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i113, label %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i111 - -_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i111: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i102 - %mul.i.i.i.i.i.i112 = shl nuw nsw i64 %cond.i.i.i.i109, 2 - %call5.i.i.i.i.i.i127 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i112) #33 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i113 unwind label %lpad30.loopexit.split-lp.loopexit - -_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i113: ; preds = %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i111, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i102 - %cond.i10.i.i.i114 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i102 ], [ %call5.i.i.i.i.i.i127, %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i111 ] - %add.ptr.i.i.i115 = getelementptr inbounds float, ptr %cond.i10.i.i.i114, i64 %sub.ptr.div.i.i.i.i.i103 - store float %mul, ptr %add.ptr.i.i.i115, align 4 - %cmp.i.i.i11.i.i.i116 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i103, 0 - br i1 %cmp.i.i.i11.i.i.i116, label %if.then.i.i.i12.i.i.i123, label %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i117 - -if.then.i.i.i12.i.i.i123: ; preds = %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i113 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i114, ptr align 4 %floats.sroa.0.5280, i64 %sub.ptr.sub.i.i.i.i.i100, i1 false) - br label %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i117 - -_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i117: ; preds = %if.then.i.i.i12.i.i.i123, %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i113 - %tobool.not.i.i.i.i119 = icmp eq ptr %floats.sroa.0.5280, null - br i1 %tobool.not.i.i.i.i119, label %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i121, label %if.then.i21.i.i.i120 - -if.then.i21.i.i.i120: ; preds = %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i117 - tail call void @_ZdlPv(ptr noundef nonnull %floats.sroa.0.5280) #32 - br label %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i121 - -_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i121: ; preds = %if.then.i21.i.i.i120, %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i117 - %add.ptr19.i.i.i122 = getelementptr inbounds float, ptr %cond.i10.i.i.i114, i64 %cond.i.i.i.i109 +_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i104: ; preds = %if.else.i.i99 + %sub.ptr.div.i.i.i.i.i105 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i102, 2 + %.sroa.speculated.i.i.i.i106 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i105, i64 1) + %add.i.i.i.i107 = add i64 %.sroa.speculated.i.i.i.i106, %sub.ptr.div.i.i.i.i.i105 + %cmp7.i.i.i.i108 = icmp ult i64 %add.i.i.i.i107, %sub.ptr.div.i.i.i.i.i105 + %cmp9.i.i.i.i109 = icmp ugt i64 %add.i.i.i.i107, 2305843009213693951 + %or.cond.i.i.i.i110 = or i1 %cmp7.i.i.i.i108, %cmp9.i.i.i.i109 + %cond.i.i.i.i111 = select i1 %or.cond.i.i.i.i110, i64 2305843009213693951, i64 %add.i.i.i.i107 + %cmp.not.i.i.i.i112 = icmp eq i64 %cond.i.i.i.i111, 0 + br i1 %cmp.not.i.i.i.i112, label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i115, label %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i113 + +_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i113: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i104 + %mul.i.i.i.i.i.i114 = shl nuw nsw i64 %cond.i.i.i.i111, 2 + %call5.i.i.i.i.i.i130 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i114) #33 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i115 unwind label %lpad30.loopexit.split-lp.loopexit + +_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i115: ; preds = %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i113, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i104 + %cond.i10.i.i.i116 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i104 ], [ %call5.i.i.i.i.i.i130, %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i113 ] + %add.ptr.i.i.i117 = getelementptr inbounds float, ptr %cond.i10.i.i.i116, i64 %sub.ptr.div.i.i.i.i.i105 + store float %mul, ptr %add.ptr.i.i.i117, align 4 + %cmp.i.i.i11.i.i.i118 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i102, 0 + br i1 %cmp.i.i.i11.i.i.i118, label %if.then.i.i.i12.i.i.i126, label %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i119 + +if.then.i.i.i12.i.i.i126: ; preds = %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i115 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i116, ptr align 4 %floats.sroa.0.5293, i64 %sub.ptr.sub.i.i.i.i.i102, i1 false) + br label %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i119 + +_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i119: ; preds = %if.then.i.i.i12.i.i.i126, %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i115 + %add.ptr.i.i.i.i.i.i120 = getelementptr inbounds i8, ptr %cond.i10.i.i.i116, i64 %sub.ptr.sub.i.i.i.i.i102 + %tobool.not.i.i.i.i122 = icmp eq ptr %floats.sroa.0.5293, null + br i1 %tobool.not.i.i.i.i122, label %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i124, label %if.then.i20.i.i.i123 + +if.then.i20.i.i.i123: ; preds = %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i119 + tail call void @_ZdlPv(ptr noundef nonnull %floats.sroa.0.5293) #32 + br label %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i124 + +_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i124: ; preds = %if.then.i20.i.i.i123, %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i119 + %add.ptr19.i.i.i125 = getelementptr inbounds float, ptr %cond.i10.i.i.i116, i64 %cond.i.i.i.i111 br label %for.inc -for.inc: ; preds = %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i121, %if.then.i.i95 - %floats.sroa.47.6 = phi ptr [ %add.ptr19.i.i.i122, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i121 ], [ %floats.sroa.47.5278, %if.then.i.i95 ] - %add.ptr.i.i.i115.pn = phi ptr [ %add.ptr.i.i.i115, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i121 ], [ %floats.sroa.19.5279, %if.then.i.i95 ] - %floats.sroa.0.6 = phi ptr [ %cond.i10.i.i.i114, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i121 ], [ %floats.sroa.0.5280, %if.then.i.i95 ] - %floats.sroa.19.6 = getelementptr inbounds float, ptr %add.ptr.i.i.i115.pn, i64 1 - %__begin4.0.add = add nuw nsw i64 %__begin4.0.idx281, 4 +for.inc: ; preds = %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i124, %if.then.i.i97 + %floats.sroa.47.6 = phi ptr [ %add.ptr19.i.i.i125, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i124 ], [ %floats.sroa.47.5291, %if.then.i.i97 ] + %add.ptr.i.i.i.i.i.i120.pn = phi ptr [ %add.ptr.i.i.i.i.i.i120, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i124 ], [ %floats.sroa.19.5292, %if.then.i.i97 ] + %floats.sroa.0.6 = phi ptr [ %cond.i10.i.i.i116, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i124 ], [ %floats.sroa.0.5293, %if.then.i.i97 ] + %floats.sroa.19.6 = getelementptr inbounds float, ptr %add.ptr.i.i.i.i.i.i120.pn, i64 1 + %__begin4.0.add = add nuw nsw i64 %__begin4.0.idx294, 4 %cmp60.not = icmp eq i64 %__begin4.0.add, 8 br i1 %cmp60.not, label %for.inc66, label %for.body61 -lpad30.loopexit: ; preds = %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i149 +lpad30.loopexit: ; preds = %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i152 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %ehcleanup -lpad30.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i111 - %lpad.loopexit241 = landingpad { ptr, i32 } +lpad30.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i113 + %lpad.loopexit253 = landingpad { ptr, i32 } cleanup br label %ehcleanup -lpad30.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i162, %if.then.i.i.i.i124, %entry - %floats.sroa.0.7.ph.ph = phi ptr [ %floats.sroa.0.8292, %if.then.i.i.i.i162 ], [ %floats.sroa.0.5280, %if.then.i.i.i.i124 ], [ %call5.i.i.i.i2.i, %entry ] - %lpad.loopexit.split-lp242 = landingpad { ptr, i32 } +lpad30.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i166, %if.then.i.i.i.i127, %entry + %floats.sroa.0.7.ph.ph = phi ptr [ %floats.sroa.0.8305, %if.then.i.i.i.i166 ], [ %floats.sroa.0.5293, %if.then.i.i.i.i127 ], [ %call5.i.i.i.i2.i, %entry ] + %lpad.loopexit.split-lp254 = landingpad { ptr, i32 } cleanup br label %ehcleanup for.inc66: ; preds = %for.inc - %inc = add nsw i32 %exp.0285, 1 + %inc = add nsw i32 %exp.0298, 1 %exitcond.not = icmp eq i32 %inc, 124 br i1 %exitcond.not, label %for.inc68, label %for.body49, !llvm.loop !465 for.inc68: ; preds = %for.inc66 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx289, 4 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx302, 4 %cmp.not = icmp eq i64 %__begin2.0.add, 52 br i1 %cmp.not, label %for.body74, label %for.body for.body74: ; preds = %for.inc68, %for.inc79 - %exp71.0293 = phi i32 [ %inc80, %for.inc79 ], [ -300, %for.inc68 ] - %floats.sroa.0.8292 = phi ptr [ %floats.sroa.0.9, %for.inc79 ], [ %floats.sroa.0.6, %for.inc68 ] - %floats.sroa.19.7291 = phi ptr [ %floats.sroa.19.8, %for.inc79 ], [ %floats.sroa.19.6, %for.inc68 ] - %floats.sroa.47.7290 = phi ptr [ %floats.sroa.47.8, %for.inc79 ], [ %floats.sroa.47.6, %for.inc68 ] - %call.i129 = tail call noundef float @ldexpf(float noundef 0x416FFFFFE0000000, i32 noundef %exp71.0293) #28 - %cmp.not.i.i132 = icmp eq ptr %floats.sroa.19.7291, %floats.sroa.47.7290 - br i1 %cmp.not.i.i132, label %if.else.i.i135, label %if.then.i.i133 - -if.then.i.i133: ; preds = %for.body74 - store float %call.i129, ptr %floats.sroa.19.7291, align 4 + %exp71.0306 = phi i32 [ %inc80, %for.inc79 ], [ -300, %for.inc68 ] + %floats.sroa.0.8305 = phi ptr [ %floats.sroa.0.9, %for.inc79 ], [ %floats.sroa.0.6, %for.inc68 ] + %floats.sroa.19.7304 = phi ptr [ %floats.sroa.19.8, %for.inc79 ], [ %floats.sroa.19.6, %for.inc68 ] + %floats.sroa.47.7303 = phi ptr [ %floats.sroa.47.8, %for.inc79 ], [ %floats.sroa.47.6, %for.inc68 ] + %call.i132 = tail call noundef float @ldexpf(float noundef 0x416FFFFFE0000000, i32 noundef %exp71.0306) #28 + %cmp.not.i.i135 = icmp eq ptr %floats.sroa.19.7304, %floats.sroa.47.7303 + br i1 %cmp.not.i.i135, label %if.else.i.i138, label %if.then.i.i136 + +if.then.i.i136: ; preds = %for.body74 + store float %call.i132, ptr %floats.sroa.19.7304, align 4 br label %for.inc79 -if.else.i.i135: ; preds = %for.body74 - %sub.ptr.lhs.cast.i.i.i.i.i136 = ptrtoint ptr %floats.sroa.19.7291 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i137 = ptrtoint ptr %floats.sroa.0.8292 to i64 - %sub.ptr.sub.i.i.i.i.i138 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i136, %sub.ptr.rhs.cast.i.i.i.i.i137 - %cmp.i.i.i.i139 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i138, 9223372036854775804 - br i1 %cmp.i.i.i.i139, label %if.then.i.i.i.i162, label %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i140 +if.else.i.i138: ; preds = %for.body74 + %sub.ptr.lhs.cast.i.i.i.i.i139 = ptrtoint ptr %floats.sroa.19.7304 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i140 = ptrtoint ptr %floats.sroa.0.8305 to i64 + %sub.ptr.sub.i.i.i.i.i141 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i139, %sub.ptr.rhs.cast.i.i.i.i.i140 + %cmp.i.i.i.i142 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i141, 9223372036854775804 + br i1 %cmp.i.i.i.i142, label %if.then.i.i.i.i166, label %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i143 -if.then.i.i.i.i162: ; preds = %if.else.i.i135 +if.then.i.i.i.i166: ; preds = %if.else.i.i138 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.147) #31 - to label %.noexc163 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + to label %.noexc167 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp -.noexc163: ; preds = %if.then.i.i.i.i162 +.noexc167: ; preds = %if.then.i.i.i.i166 unreachable -_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i140: ; preds = %if.else.i.i135 - %sub.ptr.div.i.i.i.i.i141 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i138, 2 - %.sroa.speculated.i.i.i.i142 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i141, i64 1) - %add.i.i.i.i143 = add i64 %.sroa.speculated.i.i.i.i142, %sub.ptr.div.i.i.i.i.i141 - %cmp7.i.i.i.i144 = icmp ult i64 %add.i.i.i.i143, %sub.ptr.div.i.i.i.i.i141 - %cmp9.i.i.i.i145 = icmp ugt i64 %add.i.i.i.i143, 2305843009213693951 - %or.cond.i.i.i.i146 = or i1 %cmp7.i.i.i.i144, %cmp9.i.i.i.i145 - %cond.i.i.i.i147 = select i1 %or.cond.i.i.i.i146, i64 2305843009213693951, i64 %add.i.i.i.i143 - %cmp.not.i.i.i.i148 = icmp eq i64 %cond.i.i.i.i147, 0 - br i1 %cmp.not.i.i.i.i148, label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i151, label %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i149 - -_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i149: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i140 - %mul.i.i.i.i.i.i150 = shl nuw nsw i64 %cond.i.i.i.i147, 2 - %call5.i.i.i.i.i.i165 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i150) #33 - to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i151 unwind label %lpad30.loopexit - -_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i151: ; preds = %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i149, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i140 - %cond.i10.i.i.i152 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i140 ], [ %call5.i.i.i.i.i.i165, %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i149 ] - %add.ptr.i.i.i153 = getelementptr inbounds float, ptr %cond.i10.i.i.i152, i64 %sub.ptr.div.i.i.i.i.i141 - store float %call.i129, ptr %add.ptr.i.i.i153, align 4 - %cmp.i.i.i11.i.i.i154 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i141, 0 - br i1 %cmp.i.i.i11.i.i.i154, label %if.then.i.i.i12.i.i.i161, label %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i155 - -if.then.i.i.i12.i.i.i161: ; preds = %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i151 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i152, ptr align 4 %floats.sroa.0.8292, i64 %sub.ptr.sub.i.i.i.i.i138, i1 false) - br label %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i155 - -_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i155: ; preds = %if.then.i.i.i12.i.i.i161, %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i151 - %tobool.not.i.i.i.i157 = icmp eq ptr %floats.sroa.0.8292, null - br i1 %tobool.not.i.i.i.i157, label %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i159, label %if.then.i21.i.i.i158 - -if.then.i21.i.i.i158: ; preds = %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i155 - tail call void @_ZdlPv(ptr noundef nonnull %floats.sroa.0.8292) #32 - br label %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i159 - -_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i159: ; preds = %if.then.i21.i.i.i158, %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit20.i.i.i155 - %add.ptr19.i.i.i160 = getelementptr inbounds float, ptr %cond.i10.i.i.i152, i64 %cond.i.i.i.i147 +_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i143: ; preds = %if.else.i.i138 + %sub.ptr.div.i.i.i.i.i144 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i141, 2 + %.sroa.speculated.i.i.i.i145 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i144, i64 1) + %add.i.i.i.i146 = add i64 %.sroa.speculated.i.i.i.i145, %sub.ptr.div.i.i.i.i.i144 + %cmp7.i.i.i.i147 = icmp ult i64 %add.i.i.i.i146, %sub.ptr.div.i.i.i.i.i144 + %cmp9.i.i.i.i148 = icmp ugt i64 %add.i.i.i.i146, 2305843009213693951 + %or.cond.i.i.i.i149 = or i1 %cmp7.i.i.i.i147, %cmp9.i.i.i.i148 + %cond.i.i.i.i150 = select i1 %or.cond.i.i.i.i149, i64 2305843009213693951, i64 %add.i.i.i.i146 + %cmp.not.i.i.i.i151 = icmp eq i64 %cond.i.i.i.i150, 0 + br i1 %cmp.not.i.i.i.i151, label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i154, label %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i152 + +_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i152: ; preds = %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i143 + %mul.i.i.i.i.i.i153 = shl nuw nsw i64 %cond.i.i.i.i150, 2 + %call5.i.i.i.i.i.i169 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i153) #33 + to label %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i154 unwind label %lpad30.loopexit + +_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i154: ; preds = %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i152, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i143 + %cond.i10.i.i.i155 = phi ptr [ null, %_ZNKSt6vectorIfSaIfEE12_M_check_lenEmPKc.exit.i.i.i143 ], [ %call5.i.i.i.i.i.i169, %_ZNSt16allocator_traitsISaIfEE8allocateERS0_m.exit.i.i.i.i152 ] + %add.ptr.i.i.i156 = getelementptr inbounds float, ptr %cond.i10.i.i.i155, i64 %sub.ptr.div.i.i.i.i.i144 + store float %call.i132, ptr %add.ptr.i.i.i156, align 4 + %cmp.i.i.i11.i.i.i157 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i141, 0 + br i1 %cmp.i.i.i11.i.i.i157, label %if.then.i.i.i12.i.i.i165, label %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i158 + +if.then.i.i.i12.i.i.i165: ; preds = %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i154 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i155, ptr align 4 %floats.sroa.0.8305, i64 %sub.ptr.sub.i.i.i.i.i141, i1 false) + br label %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i158 + +_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i158: ; preds = %if.then.i.i.i12.i.i.i165, %_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEm.exit.i.i.i154 + %add.ptr.i.i.i.i.i.i159 = getelementptr inbounds i8, ptr %cond.i10.i.i.i155, i64 %sub.ptr.sub.i.i.i.i.i141 + %tobool.not.i.i.i.i161 = icmp eq ptr %floats.sroa.0.8305, null + br i1 %tobool.not.i.i.i.i161, label %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i163, label %if.then.i20.i.i.i162 + +if.then.i20.i.i.i162: ; preds = %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i158 + tail call void @_ZdlPv(ptr noundef nonnull %floats.sroa.0.8305) #32 + br label %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i163 + +_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i163: ; preds = %if.then.i20.i.i.i162, %_ZNSt6vectorIfSaIfEE11_S_relocateEPfS2_S2_RS0_.exit19.i.i.i158 + %add.ptr19.i.i.i164 = getelementptr inbounds float, ptr %cond.i10.i.i.i155, i64 %cond.i.i.i.i150 br label %for.inc79 -for.inc79: ; preds = %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i159, %if.then.i.i133 - %floats.sroa.47.8 = phi ptr [ %add.ptr19.i.i.i160, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i159 ], [ %floats.sroa.47.7290, %if.then.i.i133 ] - %add.ptr.i.i.i153.pn = phi ptr [ %add.ptr.i.i.i153, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i159 ], [ %floats.sroa.19.7291, %if.then.i.i133 ] - %floats.sroa.0.9 = phi ptr [ %cond.i10.i.i.i152, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i159 ], [ %floats.sroa.0.8292, %if.then.i.i133 ] - %floats.sroa.19.8 = getelementptr inbounds float, ptr %add.ptr.i.i.i153.pn, i64 1 - %inc80 = add nsw i32 %exp71.0293, 1 - %exitcond301.not = icmp eq i32 %inc80, 301 - br i1 %exitcond301.not, label %for.end81, label %for.body74, !llvm.loop !466 +for.inc79: ; preds = %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i163, %if.then.i.i136 + %floats.sroa.47.8 = phi ptr [ %add.ptr19.i.i.i164, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i163 ], [ %floats.sroa.47.7303, %if.then.i.i136 ] + %add.ptr.i.i.i.i.i.i159.pn = phi ptr [ %add.ptr.i.i.i.i.i.i159, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i163 ], [ %floats.sroa.19.7304, %if.then.i.i136 ] + %floats.sroa.0.9 = phi ptr [ %cond.i10.i.i.i155, %_ZNSt6vectorIfSaIfEE17_M_realloc_insertIJfEEEvN9__gnu_cxx17__normal_iteratorIPfS1_EEDpOT_.exit.i.i163 ], [ %floats.sroa.0.8305, %if.then.i.i136 ] + %floats.sroa.19.8 = getelementptr inbounds float, ptr %add.ptr.i.i.i.i.i.i159.pn, i64 1 + %inc80 = add nsw i32 %exp71.0306, 1 + %exitcond314.not = icmp eq i32 %inc80, 301 + br i1 %exitcond314.not, label %for.end81, label %for.body74, !llvm.loop !466 for.end81: ; preds = %for.inc79 %cmp.i.not.i.i = icmp eq ptr %floats.sroa.0.9, %floats.sroa.19.8 - br i1 %cmp.i.not.i.i, label %for.end81.invoke.cont101_crit_edge, label %if.then.i.i167 + br i1 %cmp.i.not.i.i, label %for.end81.invoke.cont101_crit_edge, label %if.then.i.i171 for.end81.invoke.cont101_crit_edge: ; preds = %for.end81 - %.pre302 = ptrtoint ptr %floats.sroa.0.9 to i64 - %.pre303 = ptrtoint ptr %floats.sroa.19.8 to i64 - %.pre304 = sub i64 %.pre303, %.pre302 - %.pre305 = ashr exact i64 %.pre304, 2 + %.pre315 = ptrtoint ptr %floats.sroa.0.9 to i64 + %.pre316 = ptrtoint ptr %floats.sroa.19.8 to i64 + %.pre317 = sub i64 %.pre316, %.pre315 br label %invoke.cont101 -if.then.i.i167: ; preds = %for.end81 +if.then.i.i171: ; preds = %for.end81 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %floats.sroa.19.8 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %floats.sroa.0.9 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i @@ -16301,7 +16302,7 @@ if.then.i.i167: ; preds = %for.end81 %cmp.i2.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i, 64 br i1 %cmp.i2.i.i, label %for.body.lr.ph.i.i.i.i, label %if.else.i.i.i -for.body.lr.ph.i.i.i.i: ; preds = %if.then.i.i167 +for.body.lr.ph.i.i.i.i: ; preds = %if.then.i.i171 %scevgep.i.i.i = getelementptr i8, ptr %floats.sroa.0.9, i64 4 br label %for.body.i.i.i.i @@ -16385,11 +16386,11 @@ while.body.i.i8.i.i.i: ; preds = %"_ZN9__gnu_cxx5__op %__last.sroa.0.0.lcssa.i.i.i.i.i = phi ptr [ %__i.sroa.0.03.i.i.i.i, %for.body.i4.i.i.i ], [ %__i.sroa.0.03.i.i.i.i, %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_128FormatConvertTest_Float_Test8TestBodyEvE3$_0EclIfNS_17__normal_iteratorIPfSt6vectorIfSaIfEEEEEEbRT_T0_.exit.lr.ph.split.i.i5.i.i.i" ], [ %__next.sroa.0.0914.i.i10.i.i.i, %while.body.i.i8.i.i.i ] store float %12, ptr %__last.sroa.0.0.lcssa.i.i.i.i.i, align 4 %incdec.ptr.i.i.i.i.i = getelementptr inbounds float, ptr %__i.sroa.0.03.i.i.i.i, i64 1 - %cmp.i.not.i.i.i.i = icmp eq ptr %__i.sroa.0.03.i.i.i.i, %add.ptr.i.i.i153.pn + %cmp.i.not.i.i.i.i = icmp eq ptr %__i.sroa.0.03.i.i.i.i, %add.ptr.i.i.i.i.i.i159.pn br i1 %cmp.i.not.i.i.i.i, label %while.cond.i.i.i.preheader, label %for.body.i4.i.i.i, !llvm.loop !469 -if.else.i.i.i: ; preds = %if.then.i.i167 - %cmp.i1.not11.i17.i.i.i = icmp eq ptr %floats.sroa.0.9, %add.ptr.i.i.i153.pn +if.else.i.i.i: ; preds = %if.then.i.i171 + %cmp.i1.not11.i17.i.i.i = icmp eq ptr %floats.sroa.0.9, %add.ptr.i.i.i.i.i.i159.pn br i1 %cmp.i1.not11.i17.i.i.i, label %while.cond.i.i.i.preheader, label %for.body.i20.i.i.i for.body.i20.i.i.i: ; preds = %if.else.i.i.i, %for.inc.i29.i.i.i @@ -16413,7 +16414,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T %sub.ptr.div.i.i.i.i.i.i43.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i42.i.i.i, 2 %.pre.i.i.i.i.i.i44.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i43.i.i.i %add.ptr.i.i.i.i.i.i45.i.i.i = getelementptr inbounds float, ptr %add.ptr.i2.i40.i.i.i, i64 %.pre.i.i.i.i.i.i44.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i45.i.i.i, ptr nonnull align 4 %floats.sroa.0.9, i64 %sub.ptr.sub.i.i.i.i.i.i42.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i45.i.i.i, ptr noundef nonnull align 4 dereferenceable(1) %floats.sroa.0.9, i64 %sub.ptr.sub.i.i.i.i.i.i42.i.i.i, i1 false) br label %for.inc.i29.i.i.i "_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_128FormatConvertTest_Float_Test8TestBodyEvE3$_0EclIfNS_17__normal_iteratorIPfSt6vectorIfSaIfEEEEEEbRT_T0_.exit.lr.ph.split.i.i26.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_128FormatConvertTest_Float_Test8TestBodyEvE3$_0EclINS_17__normal_iteratorIPfSt6vectorIfSaIfEEEESE_EEbT_T0_.exit.i23.i.i.i" @@ -16438,7 +16439,7 @@ while.body.i.i33.i.i.i: ; preds = %"_ZN9__gnu_cxx5__op for.inc.i29.i.i.i: ; preds = %while.body.i.i33.i.i.i, %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_128FormatConvertTest_Float_Test8TestBodyEvE3$_0EclIfNS_17__normal_iteratorIPfSt6vectorIfSaIfEEEEEEbRT_T0_.exit.lr.ph.split.i.i26.i.i.i", %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i39.i.i.i, %for.body.i20.i.i.i %__first.coerce.sink.i30.i.i.i = phi ptr [ %floats.sroa.0.9, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i39.i.i.i ], [ %__i.sroa.0.013.i21.i.i.i, %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_128FormatConvertTest_Float_Test8TestBodyEvE3$_0EclIfNS_17__normal_iteratorIPfSt6vectorIfSaIfEEEEEEbRT_T0_.exit.lr.ph.split.i.i26.i.i.i" ], [ %__i.sroa.0.013.i21.i.i.i, %for.body.i20.i.i.i ], [ %__next.sroa.0.0914.i.i35.i.i.i, %while.body.i.i33.i.i.i ] store float %19, ptr %__first.coerce.sink.i30.i.i.i, align 4 - %cmp.i1.not.i32.i.i.i = icmp eq ptr %__i.sroa.0.013.i21.i.i.i, %add.ptr.i.i.i153.pn + %cmp.i1.not.i32.i.i.i = icmp eq ptr %__i.sroa.0.013.i21.i.i.i, %add.ptr.i.i.i.i.i.i159.pn br i1 %cmp.i1.not.i32.i.i.i, label %while.cond.i.i.i.preheader, label %for.body.i20.i.i.i, !llvm.loop !468 while.cond.i.i.i.preheader: ; preds = %for.inc.i29.i.i.i, %"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEENS0_5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_128FormatConvertTest_Float_Test8TestBodyEvE3$_0EEEvT_T0_.exit.i.i.i.i", %"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEENS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_128FormatConvertTest_Float_Test8TestBodyEvE3$_0EEEvT_SF_T0_.exit.i.i.i", %if.else.i.i.i @@ -16446,8 +16447,8 @@ while.cond.i.i.i.preheader: ; preds = %for.inc.i29.i.i.i, while.cond.i.i.i: ; preds = %while.cond.i.i.i.preheader, %while.body.i.i.i %__first.sroa.0.0.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %while.body.i.i.i ], [ %floats.sroa.0.9, %while.cond.i.i.i.preheader ] - %cmp.i3.not.i.i.i = icmp eq ptr %__first.sroa.0.0.i.i.i, %add.ptr.i.i.i153.pn - br i1 %cmp.i3.not.i.i.i, label %invoke.cont101, label %while.body.i.i.i + %cmp.i3.not.i.i.i = icmp eq ptr %__first.sroa.0.0.i.i.i, %add.ptr.i.i.i.i.i.i159.pn + br i1 %cmp.i3.not.i.i.i, label %invoke.cont110, label %while.body.i.i.i while.body.i.i.i: ; preds = %while.cond.i.i.i %incdec.ptr.i.i.i.i = getelementptr inbounds float, ptr %__first.sroa.0.0.i.i.i, i64 1 @@ -16478,7 +16479,7 @@ if.end20.i.i: ; preds = %if.then16.i.i, %whi %32 = phi float [ %30, %while.body.i.i ], [ %31, %if.then16.i.i ] %__dest.sroa.0.1.i.i = phi ptr [ %__dest.sroa.0.019.i.i, %while.body.i.i ], [ %incdec.ptr.i5.i.i, %if.then16.i.i ] %incdec.ptr.i2.i.i = getelementptr inbounds float, ptr %incdec.ptr.i220.i.i, i64 1 - %cmp.i3.not.i.i = icmp eq ptr %incdec.ptr.i220.i.i, %add.ptr.i.i.i153.pn + %cmp.i3.not.i.i = icmp eq ptr %incdec.ptr.i220.i.i, %add.ptr.i.i.i.i.i.i159.pn br i1 %cmp.i3.not.i.i, label %while.end.i.i, label %while.body.i.i, !llvm.loop !471 while.end.i.i: ; preds = %if.end20.i.i, %if.end.i.i @@ -16486,37 +16487,35 @@ while.end.i.i: ; preds = %if.end20.i.i, %if.e %incdec.ptr.i6.i.i = getelementptr inbounds float, ptr %__dest.sroa.0.0.lcssa.i.i, i64 1 br label %invoke.cont101 -invoke.cont101: ; preds = %while.cond.i.i.i, %for.end81.invoke.cont101_crit_edge, %while.end.i.i - %sub.ptr.div.i4.i.pre-phi = phi i64 [ %.pre305, %for.end81.invoke.cont101_crit_edge ], [ %sub.ptr.div.i.i.i, %while.end.i.i ], [ %sub.ptr.div.i.i.i, %while.cond.i.i.i ] - %sub.ptr.lhs.cast.i1.i.pre-phi = phi i64 [ %.pre303, %for.end81.invoke.cont101_crit_edge ], [ %sub.ptr.lhs.cast.i.i.i, %while.end.i.i ], [ %sub.ptr.lhs.cast.i.i.i, %while.cond.i.i.i ] - %sub.ptr.rhs.cast.i.i.pre-phi = phi i64 [ %.pre302, %for.end81.invoke.cont101_crit_edge ], [ %sub.ptr.rhs.cast.i.i.i, %while.end.i.i ], [ %sub.ptr.rhs.cast.i.i.i, %while.cond.i.i.i ] - %retval.sroa.0.0.in.sroa.speculated.i.i = phi ptr [ %floats.sroa.0.9, %for.end81.invoke.cont101_crit_edge ], [ %incdec.ptr.i6.i.i, %while.end.i.i ], [ %floats.sroa.19.8, %while.cond.i.i.i ] +invoke.cont101: ; preds = %for.end81.invoke.cont101_crit_edge, %while.end.i.i + %sub.ptr.sub.i3.i.pre-phi = phi i64 [ %.pre317, %for.end81.invoke.cont101_crit_edge ], [ %sub.ptr.sub.i.i.i, %while.end.i.i ] + %sub.ptr.lhs.cast.i1.i.pre-phi = phi i64 [ %.pre316, %for.end81.invoke.cont101_crit_edge ], [ %sub.ptr.lhs.cast.i.i.i, %while.end.i.i ] + %sub.ptr.rhs.cast.i.i.pre-phi = phi i64 [ %.pre315, %for.end81.invoke.cont101_crit_edge ], [ %sub.ptr.rhs.cast.i.i.i, %while.end.i.i ] + %retval.sroa.0.0.in.sroa.speculated.i.i = phi ptr [ %floats.sroa.0.9, %for.end81.invoke.cont101_crit_edge ], [ %incdec.ptr.i6.i.i, %while.end.i.i ] %sub.ptr.lhs.cast.i.i = ptrtoint ptr %retval.sroa.0.0.in.sroa.speculated.i.i to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.pre-phi - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 - %add.ptr.i.i = getelementptr inbounds float, ptr %floats.sroa.0.9, i64 %sub.ptr.div.i.i - %add.ptr.i5.i = getelementptr inbounds float, ptr %floats.sroa.0.9, i64 %sub.ptr.div.i4.i.pre-phi - %cmp.i.not.i.i171 = icmp eq i64 %sub.ptr.div.i.i, %sub.ptr.div.i4.i.pre-phi - br i1 %cmp.i.not.i.i171, label %invoke.cont110, label %if.then.i.i172 + %add.ptr.i.i = getelementptr inbounds i8, ptr %floats.sroa.0.9, i64 %sub.ptr.sub.i.i + %add.ptr.i5.i = getelementptr inbounds i8, ptr %floats.sroa.0.9, i64 %sub.ptr.sub.i3.i.pre-phi + %cmp.i.not.i.i175 = icmp eq ptr %retval.sroa.0.0.in.sroa.speculated.i.i, %floats.sroa.19.8 + br i1 %cmp.i.not.i.i175, label %invoke.cont110, label %if.then.i.i176 -if.then.i.i172: ; preds = %invoke.cont101 +if.then.i.i176: ; preds = %invoke.cont101 %cmp.i1.not.i.i = icmp eq ptr %floats.sroa.19.8, %add.ptr.i5.i - br i1 %cmp.i1.not.i.i, label %if.end.i.i173, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i.i + br i1 %cmp.i1.not.i.i, label %if.end.i.i177, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i.i: ; preds = %if.then.i.i172 +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i.i: ; preds = %if.then.i.i176 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i5.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i1.i.pre-phi, %sub.ptr.rhs.cast.i.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i, ptr align 4 %add.ptr.i5.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %if.end.i.i173 + br label %if.end.i.i177 -if.end.i.i173: ; preds = %if.then.i.i172, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i.i - %sub.ptr.sub.i.i.i174.pre-phi = phi i64 [ %sub.ptr.sub.i.i.i.i.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i.i ], [ 0, %if.then.i.i172 ] - %sub.ptr.div.i.i.i175 = ashr exact i64 %sub.ptr.sub.i.i.i174.pre-phi, 2 - %add.ptr.i6.i = getelementptr inbounds float, ptr %add.ptr.i.i, i64 %sub.ptr.div.i.i.i175 +if.end.i.i177: ; preds = %if.then.i.i176, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i.i + %sub.ptr.sub.i.i.i178.pre-phi = phi i64 [ %sub.ptr.sub.i.i.i.i.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPfSt6vectorIfSaIfEEEES6_ET0_T_S8_S7_.exit.i.i ], [ 0, %if.then.i.i176 ] + %add.ptr.i6.i = getelementptr inbounds i8, ptr %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i178.pre-phi br label %invoke.cont110 -invoke.cont110: ; preds = %if.end.i.i173, %invoke.cont101 - %floats.sroa.19.9 = phi ptr [ %floats.sroa.19.8, %invoke.cont101 ], [ %add.ptr.i6.i, %if.end.i.i173 ] +invoke.cont110: ; preds = %while.cond.i.i.i, %if.end.i.i177, %invoke.cont101 + %floats.sroa.19.9 = phi ptr [ %floats.sroa.19.8, %invoke.cont101 ], [ %add.ptr.i6.i, %if.end.i.i177 ], [ %floats.sroa.19.8, %while.cond.i.i.i ] %33 = getelementptr inbounds i8, ptr %ref.tmp113, i64 8 %_M_parent.i.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp113, i64 16 %_M_left.i.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp113, i64 24 @@ -16566,7 +16565,7 @@ lpad.i.i: ; preds = %init.i.i _ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i: ; preds = %invoke.cont.i.i, %init.check.i.i, %invoke.cont110 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %str_format_result.i) #28 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %str_format_result.i, i64 noundef 1048576) - to label %invoke.cont.i unwind label %lpad.i177 + to label %invoke.cont.i unwind label %lpad.i180 invoke.cont.i: ; preds = %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28 @@ -16597,7 +16596,7 @@ for.body15.us.i: ; preds = %for.body.i call.i35.noexc.us.i: ; preds = %for.body15.us.i invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16.i, ptr noundef %call.i3539.us.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp17.i) - to label %if.then.i.i186 unwind label %lpad18.split.us.i + to label %if.then.i.i189 unwind label %lpad18.split.us.i lpad18.split.us.i: ; preds = %call.i35.noexc.us.i, %for.body15.us.i %38 = landingpad { ptr, i32 } @@ -16622,11 +16621,11 @@ call.i35.noexc.i: ; preds = %for.body15.i invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16.i, ptr noundef nonnull %.fr.i, ptr noundef nonnull %add.ptr.i36.i) to label %invoke.cont19.i unwind label %lpad.i37.loopexit.i -if.then.i.i186: ; preds = %call.i35.noexc.us.i +if.then.i.i189: ; preds = %call.i35.noexc.us.i invoke void @_ZSt19__throw_logic_errorPKc(ptr noundef nonnull @.str.72) #31 to label %invoke.cont.i38.i unwind label %lpad.i37.loopexit.split-lp.i -invoke.cont.i38.i: ; preds = %if.then.i.i186 +invoke.cont.i38.i: ; preds = %if.then.i.i189 unreachable lpad.i37.loopexit.i: ; preds = %.noexc.i @@ -16634,7 +16633,7 @@ lpad.i37.loopexit.i: ; preds = %.noexc.i cleanup br label %lpad.i37.i -lpad.i37.loopexit.split-lp.i: ; preds = %if.then.i.i186 +lpad.i37.loopexit.split-lp.i: ; preds = %if.then.i.i189 %lpad.loopexit.split-lp.i = landingpad { ptr, i32 } cleanup br label %lpad.i37.i @@ -16669,7 +16668,7 @@ switch.early.test.i: ; preds = %_ZNSt11char_traitsI i8 65, label %if.end.i ] -lpad.i177: ; preds = %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i +lpad.i180: ; preds = %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i %40 = landingpad { ptr, i32 } cleanup br label %ehcleanup150.i @@ -16714,7 +16713,7 @@ for.body46.i.preheader: ; preds = %if.end40.i, %land.l br label %for.body46.i for.body46.i: ; preds = %for.body46.i.preheader, %for.inc.i - %__begin0.sroa.0.0119.i = phi ptr [ %incdec.ptr.i.i180, %for.inc.i ], [ %floats.sroa.0.9, %for.body46.i.preheader ] + %__begin0.sroa.0.0119.i = phi ptr [ %incdec.ptr.i.i183, %for.inc.i ], [ %floats.sroa.0.9, %for.body46.i.preheader ] %47 = load float, ptr %__begin0.sroa.0.0119.i, align 4 %48 = load i8, ptr getelementptr inbounds (%"struct.absl::str_format_internal::(anonymous namespace)::NativePrintfTraits", ptr @_ZZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEvE13native_traits, i64 0, i32 1), align 1 %49 = and i8 %48, 1 @@ -16767,8 +16766,8 @@ land.rhs.i.i.i: ; preds = %invoke.cont76.i %call2.i.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28 %call3.i.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %str_format_result.i) #28 %call4.i.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28 - %cmp.i.i.i.i185 = icmp eq i64 %call4.i.i.i, 0 - br i1 %cmp.i.i.i.i185, label %for.inc.i, label %_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.i + %cmp.i.i.i.i188 = icmp eq i64 %call4.i.i.i, 0 + br i1 %cmp.i.i.i.i188, label %for.inc.i, label %_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.i _ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.i: ; preds = %land.rhs.i.i.i %bcmp.i.i.i = call i32 @bcmp(ptr %call2.i.i.i, ptr %call3.i.i.i, i64 %call4.i.i.i) @@ -16786,13 +16785,13 @@ while.body.i.i.i.i: ; preds = %land.rhs.i, %while. %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node.191", ptr %__x.addr.07.i.i.i.i, i64 0, i32 1 %56 = load float, ptr %_M_storage.i.i.i.i.i.i, align 4 %cmp.i.i.i.i.i = fcmp olt float %56, %47 - %_M_right.i.i.i.i.i181 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.07.i.i.i.i, i64 0, i32 3 - %_M_left.i.i.i.i.i182 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.07.i.i.i.i, i64 0, i32 2 + %_M_right.i.i.i.i.i184 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.07.i.i.i.i, i64 0, i32 3 + %_M_left.i.i.i.i.i185 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.07.i.i.i.i, i64 0, i32 2 %__y.addr.1.i.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i, ptr %__x.addr.07.i.i.i.i - %__x.addr.1.in.i.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %_M_right.i.i.i.i.i181, ptr %_M_left.i.i.i.i.i182 + %__x.addr.1.in.i.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %_M_right.i.i.i.i.i184, ptr %_M_left.i.i.i.i.i185 %__x.addr.1.i.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i.i, align 8 - %cmp.not.i.i.i.i183 = icmp eq ptr %__x.addr.1.i.i.i.i, null - br i1 %cmp.not.i.i.i.i183, label %_ZNKSt8_Rb_treeIffSt9_IdentityIfESt4lessIfESaIfEE14_M_lower_boundEPKSt13_Rb_tree_nodeIfEPKSt18_Rb_tree_node_baseRKf.exit.i.i.i, label %while.body.i.i.i.i, !llvm.loop !474 + %cmp.not.i.i.i.i186 = icmp eq ptr %__x.addr.1.i.i.i.i, null + br i1 %cmp.not.i.i.i.i186, label %_ZNKSt8_Rb_treeIffSt9_IdentityIfESt4lessIfESaIfEE14_M_lower_boundEPKSt13_Rb_tree_nodeIfEPKSt18_Rb_tree_node_baseRKf.exit.i.i.i, label %while.body.i.i.i.i, !llvm.loop !474 _ZNKSt8_Rb_treeIffSt9_IdentityIfESt4lessIfESaIfEE14_M_lower_boundEPKSt13_Rb_tree_nodeIfEPKSt18_Rb_tree_node_baseRKf.exit.i.i.i: ; preds = %while.body.i.i.i.i %cmp.i.i.i53.i = icmp eq ptr %__y.addr.1.i.i.i.i, %33 @@ -16803,8 +16802,8 @@ lor.lhs.false.i.i.i: ; preds = %_ZNKSt8_Rb_treeIffS %__y.addr.06.i.i.i.i.sroa.gep = getelementptr inbounds %"struct.std::_Rb_tree_node.191", ptr %__y.addr.06.i.i.i.i, i64 0, i32 1 %__y.addr.1.i.i.i.i.sroa.sel = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i.sroa.gep, ptr %_M_storage.i.i.i.i.i.i.le %57 = load float, ptr %__y.addr.1.i.i.i.i.sroa.sel, align 4 - %cmp.i4.i.i.i184 = fcmp olt float %47, %57 - br i1 %cmp.i4.i.i.i184, label %if.then87.i, label %for.inc.i + %cmp.i4.i.i.i187 = fcmp olt float %47, %57 + br i1 %cmp.i4.i.i.i187, label %if.then87.i, label %for.inc.i if.then87.i: ; preds = %lor.lhs.false.i.i.i, %_ZNKSt8_Rb_treeIffSt9_IdentityIfESt4lessIfESaIfEE14_M_lower_boundEPKSt13_Rb_tree_nodeIfEPKSt18_Rb_tree_node_baseRKf.exit.i.i.i, %land.rhs.i %call.i.i86.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28, !noalias !475 @@ -17024,8 +17023,8 @@ _ZN7testing15AssertionResultD2Ev.exit85.i: ; preds = %_ZNKSt14default_del br label %for.inc.i for.inc.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit85.i, %lor.lhs.false.i.i.i, %_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.i, %land.rhs.i.i.i, %fpclassify_not_nan.i.i - %incdec.ptr.i.i180 = getelementptr inbounds float, ptr %__begin0.sroa.0.0119.i, i64 1 - %cmp.i46.not.i = icmp eq ptr %incdec.ptr.i.i180, %floats.sroa.19.9 + %incdec.ptr.i.i183 = getelementptr inbounds float, ptr %__begin0.sroa.0.0119.i, i64 1 + %cmp.i46.not.i = icmp eq ptr %incdec.ptr.i.i183, %floats.sroa.19.9 br i1 %cmp.i46.not.i, label %for.inc140.i, label %for.body46.i cleanup136.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %_ZN7testing7MessageD2Ev.exit.i @@ -17054,8 +17053,8 @@ ehcleanup146.i: ; preds = %ehcleanup139.i, %eh call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28 br label %ehcleanup150.i -ehcleanup150.i: ; preds = %ehcleanup146.i, %lpad.i177 - %.pn26.pn.pn.pn.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn26.pn.pn.pn.pn.pn.pn.i, %ehcleanup146.i ], [ %40, %lpad.i177 ] +ehcleanup150.i: ; preds = %ehcleanup146.i, %lpad.i180 + %.pn26.pn.pn.pn.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn26.pn.pn.pn.pn.pn.pn.i, %ehcleanup146.i ], [ %40, %lpad.i180 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %str_format_result.i) #28 br label %lpad114.body @@ -17087,8 +17086,8 @@ terminate.lpad.i.i: ; preds = %invoke.cont115 unreachable _ZNSt3setIfSt4lessIfESaIfEED2Ev.exit: ; preds = %invoke.cont115 - %tobool.not.i.i.i190 = icmp eq ptr %floats.sroa.0.9, null - br i1 %tobool.not.i.i.i190, label %_ZNSt6vectorIfSaIfEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i193 = icmp eq ptr %floats.sroa.0.9, null + br i1 %tobool.not.i.i.i193, label %_ZNSt6vectorIfSaIfEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %_ZNSt3setIfSt4lessIfESaIfEED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %floats.sroa.0.9) #32 @@ -17098,21 +17097,21 @@ _ZNSt6vectorIfSaIfEED2Ev.exit: ; preds = %_ZNSt3setIfSt4lessI ret void lpad114.body: ; preds = %lpad.i.i, %ehcleanup150.i - %eh.lpad-body187 = phi { ptr, i32 } [ %36, %lpad.i.i ], [ %.pn26.pn.pn.pn.pn.pn.pn.pn.i, %ehcleanup150.i ] + %eh.lpad-body190 = phi { ptr, i32 } [ %36, %lpad.i.i ], [ %.pn26.pn.pn.pn.pn.pn.pn.pn.i, %ehcleanup150.i ] call void @_ZNSt3setIfSt4lessIfESaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp113) #28 br label %ehcleanup ehcleanup: ; preds = %lpad30.loopexit, %lpad30.loopexit.split-lp.loopexit.split-lp, %lpad30.loopexit.split-lp.loopexit, %lpad114.body - %floats.sroa.0.10 = phi ptr [ %floats.sroa.0.9, %lpad114.body ], [ %floats.sroa.0.8292, %lpad30.loopexit ], [ %floats.sroa.0.5280, %lpad30.loopexit.split-lp.loopexit ], [ %floats.sroa.0.7.ph.ph, %lpad30.loopexit.split-lp.loopexit.split-lp ] - %.pn = phi { ptr, i32 } [ %eh.lpad-body187, %lpad114.body ], [ %lpad.loopexit, %lpad30.loopexit ], [ %lpad.loopexit241, %lpad30.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp242, %lpad30.loopexit.split-lp.loopexit.split-lp ] - %tobool.not.i.i.i193 = icmp eq ptr %floats.sroa.0.10, null - br i1 %tobool.not.i.i.i193, label %eh.resume, label %if.then.i.i.i194 + %floats.sroa.0.10 = phi ptr [ %floats.sroa.0.9, %lpad114.body ], [ %floats.sroa.0.8305, %lpad30.loopexit ], [ %floats.sroa.0.5293, %lpad30.loopexit.split-lp.loopexit ], [ %floats.sroa.0.7.ph.ph, %lpad30.loopexit.split-lp.loopexit.split-lp ] + %.pn = phi { ptr, i32 } [ %eh.lpad-body190, %lpad114.body ], [ %lpad.loopexit, %lpad30.loopexit ], [ %lpad.loopexit253, %lpad30.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp254, %lpad30.loopexit.split-lp.loopexit.split-lp ] + %tobool.not.i.i.i196 = icmp eq ptr %floats.sroa.0.10, null + br i1 %tobool.not.i.i.i196, label %eh.resume, label %if.then.i.i.i197 -if.then.i.i.i194: ; preds = %ehcleanup +if.then.i.i.i197: ; preds = %ehcleanup call void @_ZdlPv(ptr noundef nonnull %floats.sroa.0.10) #32 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i194, %ehcleanup +eh.resume: ; preds = %if.then.i.i.i197, %ehcleanup resume { ptr, i32 } %.pn } @@ -18184,141 +18183,142 @@ invoke.cont31: ; preds = %_ZNSt16allocator_tr %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i15, i64 16 %add.ptr19.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i15, i64 30 store <2 x double> , ptr %incdec.ptr.i.i.i, align 8 - %incdec.ptr.i.i57 = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i15, i64 18 + %incdec.ptr.i.i58 = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i15, i64 18 %arrayinit.element53 = getelementptr inbounds i32, ptr %ref.tmp51, i64 1 br label %for.body for.body: ; preds = %invoke.cont31, %for.inc67 - %__begin2.0.idx571 = phi i64 [ 0, %invoke.cont31 ], [ %__begin2.0.add, %for.inc67 ] - %doubles.sroa.0.3570 = phi ptr [ %call5.i.i.i.i.i.i15, %invoke.cont31 ], [ %doubles.sroa.0.6, %for.inc67 ] - %doubles.sroa.19.3569 = phi ptr [ %incdec.ptr.i.i57, %invoke.cont31 ], [ %doubles.sroa.19.6, %for.inc67 ] - %doubles.sroa.48.3568 = phi ptr [ %add.ptr19.i.i.i, %invoke.cont31 ], [ %doubles.sroa.48.6, %for.inc67 ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit.232, i64 %__begin2.0.idx571 + %__begin2.0.idx584 = phi i64 [ 0, %invoke.cont31 ], [ %__begin2.0.add, %for.inc67 ] + %doubles.sroa.0.3583 = phi ptr [ %call5.i.i.i.i.i.i15, %invoke.cont31 ], [ %doubles.sroa.0.6, %for.inc67 ] + %doubles.sroa.19.3582 = phi ptr [ %incdec.ptr.i.i58, %invoke.cont31 ], [ %doubles.sroa.19.6, %for.inc67 ] + %doubles.sroa.48.3581 = phi ptr [ %add.ptr19.i.i.i, %invoke.cont31 ], [ %doubles.sroa.48.6, %for.inc67 ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit.232, i64 %__begin2.0.idx584 %2 = load double, ptr %__begin2.0.ptr, align 8 br label %for.body49 for.body49: ; preds = %for.body, %for.inc65 - %exp.0567 = phi i32 [ -123, %for.body ], [ %inc, %for.inc65 ] - %doubles.sroa.0.4566 = phi ptr [ %doubles.sroa.0.3570, %for.body ], [ %doubles.sroa.0.6, %for.inc65 ] - %doubles.sroa.19.4565 = phi ptr [ %doubles.sroa.19.3569, %for.body ], [ %doubles.sroa.19.6, %for.inc65 ] - %doubles.sroa.48.4564 = phi ptr [ %doubles.sroa.48.3568, %for.body ], [ %doubles.sroa.48.6, %for.inc65 ] + %exp.0580 = phi i32 [ -123, %for.body ], [ %inc, %for.inc65 ] + %doubles.sroa.0.4579 = phi ptr [ %doubles.sroa.0.3583, %for.body ], [ %doubles.sroa.0.6, %for.inc65 ] + %doubles.sroa.19.4578 = phi ptr [ %doubles.sroa.19.3582, %for.body ], [ %doubles.sroa.19.6, %for.inc65 ] + %doubles.sroa.48.4577 = phi ptr [ %doubles.sroa.48.3581, %for.body ], [ %doubles.sroa.48.6, %for.inc65 ] store i32 1, ptr %ref.tmp51, align 4 store i32 -1, ptr %arrayinit.element53, align 4 br label %for.body61 for.body61: ; preds = %for.body49, %for.inc - %__begin4.0.idx563 = phi i64 [ 0, %for.body49 ], [ %__begin4.0.add, %for.inc ] - %doubles.sroa.0.5562 = phi ptr [ %doubles.sroa.0.4566, %for.body49 ], [ %doubles.sroa.0.6, %for.inc ] - %doubles.sroa.19.5561 = phi ptr [ %doubles.sroa.19.4565, %for.body49 ], [ %doubles.sroa.19.6, %for.inc ] - %doubles.sroa.48.5560 = phi ptr [ %doubles.sroa.48.4564, %for.body49 ], [ %doubles.sroa.48.6, %for.inc ] - %__begin4.0.ptr = getelementptr inbounds i8, ptr %ref.tmp51, i64 %__begin4.0.idx563 + %__begin4.0.idx576 = phi i64 [ 0, %for.body49 ], [ %__begin4.0.add, %for.inc ] + %doubles.sroa.0.5575 = phi ptr [ %doubles.sroa.0.4579, %for.body49 ], [ %doubles.sroa.0.6, %for.inc ] + %doubles.sroa.19.5574 = phi ptr [ %doubles.sroa.19.4578, %for.body49 ], [ %doubles.sroa.19.6, %for.inc ] + %doubles.sroa.48.5573 = phi ptr [ %doubles.sroa.48.4577, %for.body49 ], [ %doubles.sroa.48.6, %for.inc ] + %__begin4.0.ptr = getelementptr inbounds i8, ptr %ref.tmp51, i64 %__begin4.0.idx576 %3 = load i32, ptr %__begin4.0.ptr, align 4 %conv = sitofp i32 %3 to double - %call63 = call double @ldexp(double noundef %2, i32 noundef %exp.0567) #28 + %call63 = call double @ldexp(double noundef %2, i32 noundef %exp.0580) #28 %mul = fmul double %call63, %conv - %cmp.not.i.i94 = icmp eq ptr %doubles.sroa.19.5561, %doubles.sroa.48.5560 - br i1 %cmp.not.i.i94, label %if.else.i.i97, label %if.then.i.i95 + %cmp.not.i.i96 = icmp eq ptr %doubles.sroa.19.5574, %doubles.sroa.48.5573 + br i1 %cmp.not.i.i96, label %if.else.i.i99, label %if.then.i.i97 -if.then.i.i95: ; preds = %for.body61 - store double %mul, ptr %doubles.sroa.19.5561, align 8 +if.then.i.i97: ; preds = %for.body61 + store double %mul, ptr %doubles.sroa.19.5574, align 8 br label %for.inc -if.else.i.i97: ; preds = %for.body61 - %sub.ptr.lhs.cast.i.i.i.i.i98 = ptrtoint ptr %doubles.sroa.19.5561 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i99 = ptrtoint ptr %doubles.sroa.0.5562 to i64 - %sub.ptr.sub.i.i.i.i.i100 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i98, %sub.ptr.rhs.cast.i.i.i.i.i99 - %cmp.i.i.i.i101 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i100, 9223372036854775800 - br i1 %cmp.i.i.i.i101, label %if.then.i.i.i.i124, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i102 +if.else.i.i99: ; preds = %for.body61 + %sub.ptr.lhs.cast.i.i.i.i.i100 = ptrtoint ptr %doubles.sroa.19.5574 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i101 = ptrtoint ptr %doubles.sroa.0.5575 to i64 + %sub.ptr.sub.i.i.i.i.i102 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i100, %sub.ptr.rhs.cast.i.i.i.i.i101 + %cmp.i.i.i.i103 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i102, 9223372036854775800 + br i1 %cmp.i.i.i.i103, label %if.then.i.i.i.i127, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i104 -if.then.i.i.i.i124: ; preds = %if.else.i.i97 +if.then.i.i.i.i127: ; preds = %if.else.i.i99 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.147) #31 - to label %.noexc125 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + to label %.noexc128 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp -.noexc125: ; preds = %if.then.i.i.i.i124 +.noexc128: ; preds = %if.then.i.i.i.i127 unreachable -_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i102: ; preds = %if.else.i.i97 - %sub.ptr.div.i.i.i.i.i103 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i100, 3 - %.sroa.speculated.i.i.i.i104 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i103, i64 1) - %add.i.i.i.i105 = add i64 %.sroa.speculated.i.i.i.i104, %sub.ptr.div.i.i.i.i.i103 - %cmp7.i.i.i.i106 = icmp ult i64 %add.i.i.i.i105, %sub.ptr.div.i.i.i.i.i103 - %cmp9.i.i.i.i107 = icmp ugt i64 %add.i.i.i.i105, 1152921504606846975 - %or.cond.i.i.i.i108 = or i1 %cmp7.i.i.i.i106, %cmp9.i.i.i.i107 - %cond.i.i.i.i109 = select i1 %or.cond.i.i.i.i108, i64 1152921504606846975, i64 %add.i.i.i.i105 - %cmp.not.i.i.i.i110 = icmp eq i64 %cond.i.i.i.i109, 0 - br i1 %cmp.not.i.i.i.i110, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i113, label %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i111 - -_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i111: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i102 - %mul.i.i.i.i.i.i112 = shl nuw nsw i64 %cond.i.i.i.i109, 3 - %call5.i.i.i.i.i.i127 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i112) #33 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i113 unwind label %lpad30.loopexit.split-lp.loopexit - -_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i113: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i111, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i102 - %cond.i10.i.i.i114 = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i102 ], [ %call5.i.i.i.i.i.i127, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i111 ] - %add.ptr.i.i.i115 = getelementptr inbounds double, ptr %cond.i10.i.i.i114, i64 %sub.ptr.div.i.i.i.i.i103 - store double %mul, ptr %add.ptr.i.i.i115, align 8 - %cmp.i.i.i11.i.i.i116 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i103, 0 - br i1 %cmp.i.i.i11.i.i.i116, label %if.then.i.i.i12.i.i.i123, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i117 - -if.then.i.i.i12.i.i.i123: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i113 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i114, ptr align 8 %doubles.sroa.0.5562, i64 %sub.ptr.sub.i.i.i.i.i100, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i117 - -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i117: ; preds = %if.then.i.i.i12.i.i.i123, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i113 - %tobool.not.i.i.i.i119 = icmp eq ptr %doubles.sroa.0.5562, null - br i1 %tobool.not.i.i.i.i119, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i121, label %if.then.i21.i.i.i120 - -if.then.i21.i.i.i120: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i117 - call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.5562) #32 - br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i121 - -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i121: ; preds = %if.then.i21.i.i.i120, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i117 - %add.ptr19.i.i.i122 = getelementptr inbounds double, ptr %cond.i10.i.i.i114, i64 %cond.i.i.i.i109 +_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i104: ; preds = %if.else.i.i99 + %sub.ptr.div.i.i.i.i.i105 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i102, 3 + %.sroa.speculated.i.i.i.i106 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i105, i64 1) + %add.i.i.i.i107 = add i64 %.sroa.speculated.i.i.i.i106, %sub.ptr.div.i.i.i.i.i105 + %cmp7.i.i.i.i108 = icmp ult i64 %add.i.i.i.i107, %sub.ptr.div.i.i.i.i.i105 + %cmp9.i.i.i.i109 = icmp ugt i64 %add.i.i.i.i107, 1152921504606846975 + %or.cond.i.i.i.i110 = or i1 %cmp7.i.i.i.i108, %cmp9.i.i.i.i109 + %cond.i.i.i.i111 = select i1 %or.cond.i.i.i.i110, i64 1152921504606846975, i64 %add.i.i.i.i107 + %cmp.not.i.i.i.i112 = icmp eq i64 %cond.i.i.i.i111, 0 + br i1 %cmp.not.i.i.i.i112, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i115, label %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i113 + +_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i113: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i104 + %mul.i.i.i.i.i.i114 = shl nuw nsw i64 %cond.i.i.i.i111, 3 + %call5.i.i.i.i.i.i130 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i114) #33 + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i115 unwind label %lpad30.loopexit.split-lp.loopexit + +_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i115: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i113, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i104 + %cond.i10.i.i.i116 = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i104 ], [ %call5.i.i.i.i.i.i130, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i113 ] + %add.ptr.i.i.i117 = getelementptr inbounds double, ptr %cond.i10.i.i.i116, i64 %sub.ptr.div.i.i.i.i.i105 + store double %mul, ptr %add.ptr.i.i.i117, align 8 + %cmp.i.i.i11.i.i.i118 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i102, 0 + br i1 %cmp.i.i.i11.i.i.i118, label %if.then.i.i.i12.i.i.i126, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i119 + +if.then.i.i.i12.i.i.i126: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i115 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i116, ptr align 8 %doubles.sroa.0.5575, i64 %sub.ptr.sub.i.i.i.i.i102, i1 false) + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i119 + +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i119: ; preds = %if.then.i.i.i12.i.i.i126, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i115 + %add.ptr.i.i.i.i.i.i120 = getelementptr inbounds i8, ptr %cond.i10.i.i.i116, i64 %sub.ptr.sub.i.i.i.i.i102 + %tobool.not.i.i.i.i122 = icmp eq ptr %doubles.sroa.0.5575, null + br i1 %tobool.not.i.i.i.i122, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i124, label %if.then.i20.i.i.i123 + +if.then.i20.i.i.i123: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i119 + call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.5575) #32 + br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i124 + +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i124: ; preds = %if.then.i20.i.i.i123, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i119 + %add.ptr19.i.i.i125 = getelementptr inbounds double, ptr %cond.i10.i.i.i116, i64 %cond.i.i.i.i111 br label %for.inc -for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i121, %if.then.i.i95 - %doubles.sroa.48.6 = phi ptr [ %add.ptr19.i.i.i122, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i121 ], [ %doubles.sroa.48.5560, %if.then.i.i95 ] - %add.ptr.i.i.i115.pn = phi ptr [ %add.ptr.i.i.i115, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i121 ], [ %doubles.sroa.19.5561, %if.then.i.i95 ] - %doubles.sroa.0.6 = phi ptr [ %cond.i10.i.i.i114, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i121 ], [ %doubles.sroa.0.5562, %if.then.i.i95 ] - %doubles.sroa.19.6 = getelementptr inbounds double, ptr %add.ptr.i.i.i115.pn, i64 1 - %__begin4.0.add = add nuw nsw i64 %__begin4.0.idx563, 4 +for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i124, %if.then.i.i97 + %doubles.sroa.48.6 = phi ptr [ %add.ptr19.i.i.i125, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i124 ], [ %doubles.sroa.48.5573, %if.then.i.i97 ] + %add.ptr.i.i.i.i.i.i120.pn = phi ptr [ %add.ptr.i.i.i.i.i.i120, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i124 ], [ %doubles.sroa.19.5574, %if.then.i.i97 ] + %doubles.sroa.0.6 = phi ptr [ %cond.i10.i.i.i116, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i124 ], [ %doubles.sroa.0.5575, %if.then.i.i97 ] + %doubles.sroa.19.6 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i120.pn, i64 1 + %__begin4.0.add = add nuw nsw i64 %__begin4.0.idx576, 4 %cmp60.not = icmp eq i64 %__begin4.0.add, 8 br i1 %cmp60.not, label %for.inc65, label %for.body61 -lpad30.loopexit: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i150, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i - %doubles.sroa.0.7.ph = phi ptr [ %doubles.sroa.0.9574, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i150 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i ] +lpad30.loopexit: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i153, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i + %doubles.sroa.0.7.ph = phi ptr [ %doubles.sroa.0.9587, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i153 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i ] %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %lpad30.body -lpad30.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i111 - %lpad.loopexit521 = landingpad { ptr, i32 } +lpad30.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i113 + %lpad.loopexit533 = landingpad { ptr, i32 } cleanup br label %lpad30.body -lpad30.loopexit.split-lp.loopexit.split-lp: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i421, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i377, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i333, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i289, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i245, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i, %if.then.i.i.i.i163, %if.then.i.i.i.i124, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i, %for.end69 - %doubles.sroa.0.7.ph520.ph = phi ptr [ %doubles.sroa.0.9574, %if.then.i.i.i.i163 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i421 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i377 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i333 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i289 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i245 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i ], [ %doubles.sroa.0.6, %for.end69 ], [ %doubles.sroa.0.5562, %if.then.i.i.i.i124 ], [ %call5.i.i.i.i2.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i ] - %lpad.loopexit.split-lp522 = landingpad { ptr, i32 } +lpad30.loopexit.split-lp.loopexit.split-lp: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i425, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i381, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i337, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i293, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i249, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i, %if.then.i.i.i.i167, %if.then.i.i.i.i127, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i, %for.end69 + %doubles.sroa.0.7.ph532.ph = phi ptr [ %doubles.sroa.0.9587, %if.then.i.i.i.i167 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i425 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i381 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i337 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i293 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i249 ], [ %doubles.sroa.0.10, %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i ], [ %doubles.sroa.0.6, %for.end69 ], [ %doubles.sroa.0.5575, %if.then.i.i.i.i127 ], [ %call5.i.i.i.i2.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i ] + %lpad.loopexit.split-lp534 = landingpad { ptr, i32 } cleanup br label %lpad30.body lpad30.body: ; preds = %lpad30.loopexit, %lpad30.loopexit.split-lp.loopexit.split-lp, %lpad30.loopexit.split-lp.loopexit, %lpad.i.i, %ehcleanup146.i - %doubles.sroa.0.8 = phi ptr [ %doubles.sroa.0.10, %ehcleanup146.i ], [ %doubles.sroa.0.10, %lpad.i.i ], [ %doubles.sroa.0.7.ph, %lpad30.loopexit ], [ %doubles.sroa.0.5562, %lpad30.loopexit.split-lp.loopexit ], [ %doubles.sroa.0.7.ph520.ph, %lpad30.loopexit.split-lp.loopexit.split-lp ] - %eh.lpad-body465 = phi { ptr, i32 } [ %.pn26.pn.pn.pn.pn.pn.pn.pn.i, %ehcleanup146.i ], [ %79, %lpad.i.i ], [ %lpad.loopexit, %lpad30.loopexit ], [ %lpad.loopexit521, %lpad30.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp522, %lpad30.loopexit.split-lp.loopexit.split-lp ] - %tobool.not.i.i.i129 = icmp eq ptr %doubles.sroa.0.8, null - br i1 %tobool.not.i.i.i129, label %ehcleanup158, label %if.then.i.i.i + %doubles.sroa.0.8 = phi ptr [ %doubles.sroa.0.10, %ehcleanup146.i ], [ %doubles.sroa.0.10, %lpad.i.i ], [ %doubles.sroa.0.7.ph, %lpad30.loopexit ], [ %doubles.sroa.0.5575, %lpad30.loopexit.split-lp.loopexit ], [ %doubles.sroa.0.7.ph532.ph, %lpad30.loopexit.split-lp.loopexit.split-lp ] + %eh.lpad-body468 = phi { ptr, i32 } [ %.pn26.pn.pn.pn.pn.pn.pn.pn.i, %ehcleanup146.i ], [ %79, %lpad.i.i ], [ %lpad.loopexit, %lpad30.loopexit ], [ %lpad.loopexit533, %lpad30.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp534, %lpad30.loopexit.split-lp.loopexit.split-lp ] + %tobool.not.i.i.i132 = icmp eq ptr %doubles.sroa.0.8, null + br i1 %tobool.not.i.i.i132, label %ehcleanup158, label %if.then.i.i.i if.then.i.i.i: ; preds = %lpad30.body call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.8) #32 br label %ehcleanup158 for.inc65: ; preds = %for.inc - %inc = add nsw i32 %exp.0567, 1 + %inc = add nsw i32 %exp.0580, 1 %exitcond.not = icmp eq i32 %inc, 124 br i1 %exitcond.not, label %for.inc67, label %for.body49, !llvm.loop !503 for.inc67: ; preds = %for.inc65 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx571, 8 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx584, 8 %cmp.not = icmp eq i64 %__begin2.0.add, 104 br i1 %cmp.not, label %for.end69, label %for.body @@ -18333,106 +18333,107 @@ invoke.cont72: ; preds = %for.end69 br label %for.body79 for.body79: ; preds = %for.body79.backedge, %invoke.cont72 - %exp76.0575 = phi i32 [ -300, %invoke.cont72 ], [ %exp76.0575.be, %for.body79.backedge ] - %doubles.sroa.0.9574 = phi ptr [ %doubles.sroa.0.6, %invoke.cont72 ], [ %doubles.sroa.0.10, %for.body79.backedge ] - %doubles.sroa.19.7573 = phi ptr [ %doubles.sroa.19.6, %invoke.cont72 ], [ %doubles.sroa.19.8, %for.body79.backedge ] - %doubles.sroa.48.7572 = phi ptr [ %doubles.sroa.48.6, %invoke.cont72 ], [ %doubles.sroa.48.8, %for.body79.backedge ] - %call81 = call double @ldexp(double noundef 0x433FFFFFFFFFFFFF, i32 noundef %exp76.0575) #28 - %cmp.not.i.i133 = icmp eq ptr %doubles.sroa.19.7573, %doubles.sroa.48.7572 - br i1 %cmp.not.i.i133, label %if.else.i.i136, label %if.then.i.i134 - -if.then.i.i134: ; preds = %for.body79 - store double %call81, ptr %doubles.sroa.19.7573, align 8 + %exp76.0588 = phi i32 [ -300, %invoke.cont72 ], [ %exp76.0588.be, %for.body79.backedge ] + %doubles.sroa.0.9587 = phi ptr [ %doubles.sroa.0.6, %invoke.cont72 ], [ %doubles.sroa.0.10, %for.body79.backedge ] + %doubles.sroa.19.7586 = phi ptr [ %doubles.sroa.19.6, %invoke.cont72 ], [ %doubles.sroa.19.8, %for.body79.backedge ] + %doubles.sroa.48.7585 = phi ptr [ %doubles.sroa.48.6, %invoke.cont72 ], [ %doubles.sroa.48.8, %for.body79.backedge ] + %call81 = call double @ldexp(double noundef 0x433FFFFFFFFFFFFF, i32 noundef %exp76.0588) #28 + %cmp.not.i.i136 = icmp eq ptr %doubles.sroa.19.7586, %doubles.sroa.48.7585 + br i1 %cmp.not.i.i136, label %if.else.i.i139, label %if.then.i.i137 + +if.then.i.i137: ; preds = %for.body79 + store double %call81, ptr %doubles.sroa.19.7586, align 8 br label %invoke.cont82 -if.else.i.i136: ; preds = %for.body79 - %sub.ptr.lhs.cast.i.i.i.i.i137 = ptrtoint ptr %doubles.sroa.19.7573 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i138 = ptrtoint ptr %doubles.sroa.0.9574 to i64 - %sub.ptr.sub.i.i.i.i.i139 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i137, %sub.ptr.rhs.cast.i.i.i.i.i138 - %cmp.i.i.i.i140 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i139, 9223372036854775800 - br i1 %cmp.i.i.i.i140, label %if.then.i.i.i.i163, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i141 +if.else.i.i139: ; preds = %for.body79 + %sub.ptr.lhs.cast.i.i.i.i.i140 = ptrtoint ptr %doubles.sroa.19.7586 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i141 = ptrtoint ptr %doubles.sroa.0.9587 to i64 + %sub.ptr.sub.i.i.i.i.i142 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i140, %sub.ptr.rhs.cast.i.i.i.i.i141 + %cmp.i.i.i.i143 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i142, 9223372036854775800 + br i1 %cmp.i.i.i.i143, label %if.then.i.i.i.i167, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i144 -if.then.i.i.i.i163: ; preds = %if.else.i.i136 +if.then.i.i.i.i167: ; preds = %if.else.i.i139 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.147) #31 - to label %.noexc164 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + to label %.noexc168 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp -.noexc164: ; preds = %if.then.i.i.i.i163 +.noexc168: ; preds = %if.then.i.i.i.i167 unreachable -_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i141: ; preds = %if.else.i.i136 - %sub.ptr.div.i.i.i.i.i142 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i139, 3 - %.sroa.speculated.i.i.i.i143 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i142, i64 1) - %add.i.i.i.i144 = add i64 %.sroa.speculated.i.i.i.i143, %sub.ptr.div.i.i.i.i.i142 - %cmp7.i.i.i.i145 = icmp ult i64 %add.i.i.i.i144, %sub.ptr.div.i.i.i.i.i142 - %cmp9.i.i.i.i146 = icmp ugt i64 %add.i.i.i.i144, 1152921504606846975 - %or.cond.i.i.i.i147 = or i1 %cmp7.i.i.i.i145, %cmp9.i.i.i.i146 - %cond.i.i.i.i148 = select i1 %or.cond.i.i.i.i147, i64 1152921504606846975, i64 %add.i.i.i.i144 - %cmp.not.i.i.i.i149 = icmp eq i64 %cond.i.i.i.i148, 0 - br i1 %cmp.not.i.i.i.i149, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i152, label %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i150 - -_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i150: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i141 - %mul.i.i.i.i.i.i151 = shl nuw nsw i64 %cond.i.i.i.i148, 3 - %call5.i.i.i.i.i.i166 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i151) #33 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i152 unwind label %lpad30.loopexit - -_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i152: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i150, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i141 - %cond.i10.i.i.i153 = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i141 ], [ %call5.i.i.i.i.i.i166, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i150 ] - %add.ptr.i.i.i154 = getelementptr inbounds double, ptr %cond.i10.i.i.i153, i64 %sub.ptr.div.i.i.i.i.i142 - store double %call81, ptr %add.ptr.i.i.i154, align 8 - %cmp.i.i.i11.i.i.i155 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i142, 0 - br i1 %cmp.i.i.i11.i.i.i155, label %if.then.i.i.i12.i.i.i162, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i156 - -if.then.i.i.i12.i.i.i162: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i152 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i153, ptr align 8 %doubles.sroa.0.9574, i64 %sub.ptr.sub.i.i.i.i.i139, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i156 - -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i156: ; preds = %if.then.i.i.i12.i.i.i162, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i152 - %tobool.not.i.i.i.i158 = icmp eq ptr %doubles.sroa.0.9574, null - br i1 %tobool.not.i.i.i.i158, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i160, label %if.then.i21.i.i.i159 - -if.then.i21.i.i.i159: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i156 - call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.9574) #32 - br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i160 - -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i160: ; preds = %if.then.i21.i.i.i159, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i156 - %add.ptr19.i.i.i161 = getelementptr inbounds double, ptr %cond.i10.i.i.i153, i64 %cond.i.i.i.i148 +_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i144: ; preds = %if.else.i.i139 + %sub.ptr.div.i.i.i.i.i145 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i142, 3 + %.sroa.speculated.i.i.i.i146 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i145, i64 1) + %add.i.i.i.i147 = add i64 %.sroa.speculated.i.i.i.i146, %sub.ptr.div.i.i.i.i.i145 + %cmp7.i.i.i.i148 = icmp ult i64 %add.i.i.i.i147, %sub.ptr.div.i.i.i.i.i145 + %cmp9.i.i.i.i149 = icmp ugt i64 %add.i.i.i.i147, 1152921504606846975 + %or.cond.i.i.i.i150 = or i1 %cmp7.i.i.i.i148, %cmp9.i.i.i.i149 + %cond.i.i.i.i151 = select i1 %or.cond.i.i.i.i150, i64 1152921504606846975, i64 %add.i.i.i.i147 + %cmp.not.i.i.i.i152 = icmp eq i64 %cond.i.i.i.i151, 0 + br i1 %cmp.not.i.i.i.i152, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i155, label %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i153 + +_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i153: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i144 + %mul.i.i.i.i.i.i154 = shl nuw nsw i64 %cond.i.i.i.i151, 3 + %call5.i.i.i.i.i.i170 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i154) #33 + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i155 unwind label %lpad30.loopexit + +_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i155: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i153, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i144 + %cond.i10.i.i.i156 = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i144 ], [ %call5.i.i.i.i.i.i170, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i153 ] + %add.ptr.i.i.i157 = getelementptr inbounds double, ptr %cond.i10.i.i.i156, i64 %sub.ptr.div.i.i.i.i.i145 + store double %call81, ptr %add.ptr.i.i.i157, align 8 + %cmp.i.i.i11.i.i.i158 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i142, 0 + br i1 %cmp.i.i.i11.i.i.i158, label %if.then.i.i.i12.i.i.i166, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i159 + +if.then.i.i.i12.i.i.i166: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i155 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i156, ptr align 8 %doubles.sroa.0.9587, i64 %sub.ptr.sub.i.i.i.i.i142, i1 false) + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i159 + +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i159: ; preds = %if.then.i.i.i12.i.i.i166, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i155 + %add.ptr.i.i.i.i.i.i160 = getelementptr inbounds i8, ptr %cond.i10.i.i.i156, i64 %sub.ptr.sub.i.i.i.i.i142 + %tobool.not.i.i.i.i162 = icmp eq ptr %doubles.sroa.0.9587, null + br i1 %tobool.not.i.i.i.i162, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i164, label %if.then.i20.i.i.i163 + +if.then.i20.i.i.i163: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i159 + call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.9587) #32 + br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i164 + +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i164: ; preds = %if.then.i20.i.i.i163, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i159 + %add.ptr19.i.i.i165 = getelementptr inbounds double, ptr %cond.i10.i.i.i156, i64 %cond.i.i.i.i151 br label %invoke.cont82 -invoke.cont82: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i160, %if.then.i.i134 - %doubles.sroa.48.8 = phi ptr [ %add.ptr19.i.i.i161, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i160 ], [ %doubles.sroa.48.7572, %if.then.i.i134 ] - %add.ptr.i.i.i154.pn = phi ptr [ %add.ptr.i.i.i154, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i160 ], [ %doubles.sroa.19.7573, %if.then.i.i134 ] - %doubles.sroa.0.10 = phi ptr [ %cond.i10.i.i.i153, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i160 ], [ %doubles.sroa.0.9574, %if.then.i.i134 ] - %doubles.sroa.19.8 = getelementptr inbounds double, ptr %add.ptr.i.i.i154.pn, i64 1 +invoke.cont82: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i164, %if.then.i.i137 + %doubles.sroa.48.8 = phi ptr [ %add.ptr19.i.i.i165, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i164 ], [ %doubles.sroa.48.7585, %if.then.i.i137 ] + %add.ptr.i.i.i.i.i.i160.pn = phi ptr [ %add.ptr.i.i.i.i.i.i160, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i164 ], [ %doubles.sroa.19.7586, %if.then.i.i137 ] + %doubles.sroa.0.10 = phi ptr [ %cond.i10.i.i.i156, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i164 ], [ %doubles.sroa.0.9587, %if.then.i.i137 ] + %doubles.sroa.19.8 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i160.pn, i64 1 br i1 %cmp.i.i.not, label %for.inc86.thread, label %if.then if.then: ; preds = %invoke.cont82 %__x.018.i.i.i = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 %cmp.not19.i.i.i = icmp eq ptr %__x.018.i.i.i, null - %.pre.i.pre.pre.i.i = load double, ptr %add.ptr.i.i.i154.pn, align 8 - br i1 %cmp.not19.i.i.i, label %if.then.i.i.i172, label %while.body.i.i.i + %.pre.i.pre.pre.i.i = load double, ptr %add.ptr.i.i.i.i.i.i160.pn, align 8 + br i1 %cmp.not19.i.i.i, label %if.then.i.i.i176, label %while.body.i.i.i while.body.i.i.i: ; preds = %if.then, %while.body.i.i.i %__x.020.i.i.i = phi ptr [ %__x.0.i.i.i, %while.body.i.i.i ], [ %__x.018.i.i.i, %if.then ] %_M_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i, i64 0, i32 1 %4 = load double, ptr %_M_storage.i.i.i.i.i, align 8 - %cmp.i.i.i.i170 = fcmp olt double %.pre.i.pre.pre.i.i, %4 + %cmp.i.i.i.i174 = fcmp olt double %.pre.i.pre.pre.i.i, %4 %_M_left.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i, i64 0, i32 2 %_M_right.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i, i64 0, i32 3 - %cond.in.i.i.i = select i1 %cmp.i.i.i.i170, ptr %_M_left.i.i.i.i, ptr %_M_right.i.i.i.i + %cond.in.i.i.i = select i1 %cmp.i.i.i.i174, ptr %_M_left.i.i.i.i, ptr %_M_right.i.i.i.i %__x.0.i.i.i = load ptr, ptr %cond.in.i.i.i, align 8 %cmp.not.i.i.i = icmp eq ptr %__x.0.i.i.i, null br i1 %cmp.not.i.i.i, label %while.end.i.i.i, label %while.body.i.i.i, !llvm.loop !504 while.end.i.i.i: ; preds = %while.body.i.i.i - br i1 %cmp.i.i.i.i170, label %if.then.i.i.i172, label %if.end12.i.i.i + br i1 %cmp.i.i.i.i174, label %if.then.i.i.i176, label %if.end12.i.i.i -if.then.i.i.i172: ; preds = %while.end.i.i.i, %if.then +if.then.i.i.i176: ; preds = %while.end.i.i.i, %if.then %__y.0.lcssa25.i.i.i = phi ptr [ %__x.020.i.i.i, %while.end.i.i.i ], [ %0, %if.then ] %5 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 %cmp.i4.i.i.i = icmp eq ptr %__y.0.lcssa25.i.i.i, %5 - br i1 %cmp.i4.i.i.i, label %if.then.i.i171, label %if.else.i.i.i + br i1 %cmp.i4.i.i.i, label %if.then.i.i175, label %if.else.i.i.i -if.else.i.i.i: ; preds = %if.then.i.i.i172 +if.else.i.i.i: ; preds = %if.then.i.i.i176 %call.i.i.i.i = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i) #34 %_M_storage.i.i.i.i.phi.trans.insert.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i, i64 0, i32 1 %.pre.i.i = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i, align 8 @@ -18442,445 +18443,444 @@ if.end12.i.i.i: ; preds = %if.else.i.i.i, %whi %6 = phi double [ %.pre.i.i, %if.else.i.i.i ], [ %4, %while.end.i.i.i ] %__y.0.lcssa24.i.i.i = phi ptr [ %__y.0.lcssa25.i.i.i, %if.else.i.i.i ], [ %__x.020.i.i.i, %while.end.i.i.i ] %cmp.i5.i.i.i = fcmp olt double %6, %.pre.i.pre.pre.i.i - br i1 %cmp.i5.i.i.i, label %if.then.i.i171, label %for.inc86 + br i1 %cmp.i5.i.i.i, label %if.then.i.i175, label %for.inc86 -if.then.i.i171: ; preds = %if.end12.i.i.i, %if.then.i.i.i172 - %retval.sroa.4.0.i.ph.i.i = phi ptr [ %__y.0.lcssa24.i.i.i, %if.end12.i.i.i ], [ %__y.0.lcssa25.i.i.i, %if.then.i.i.i172 ] +if.then.i.i175: ; preds = %if.end12.i.i.i, %if.then.i.i.i176 + %retval.sroa.4.0.i.ph.i.i = phi ptr [ %__y.0.lcssa24.i.i.i, %if.end12.i.i.i ], [ %__y.0.lcssa25.i.i.i, %if.then.i.i.i176 ] %cmp2.i.i.i = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i br i1 %cmp2.i.i.i, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i, label %lor.rhs.i.i.i -lor.rhs.i.i.i: ; preds = %if.then.i.i171 +lor.rhs.i.i.i: ; preds = %if.then.i.i175 %_M_storage.i.i.i.i6.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i, i64 0, i32 1 %7 = load double, ptr %_M_storage.i.i.i.i6.i.i, align 8 %cmp.i.i7.i.i = fcmp olt double %.pre.i.pre.pre.i.i, %7 br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i -_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i: ; preds = %lor.rhs.i.i.i, %if.then.i.i171 - %8 = phi i1 [ true, %if.then.i.i171 ], [ %cmp.i.i7.i.i, %lor.rhs.i.i.i ] - %call5.i.i.i.i.i.i.i.i173 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 +_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i: ; preds = %lor.rhs.i.i.i, %if.then.i.i175 + %8 = phi i1 [ true, %if.then.i.i175 ], [ %cmp.i.i7.i.i, %lor.rhs.i.i.i ] + %call5.i.i.i.i.i.i.i.i177 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 to label %call5.i.i.i.i.i.i.i.i.noexc unwind label %lpad30.loopexit call5.i.i.i.i.i.i.i.i.noexc: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IRKdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSD_OT_RT0_.exit.i.i - %_M_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i173, i64 0, i32 1 + %_M_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i177, i64 0, i32 1 store double %.pre.i.pre.pre.i.i, ptr %_M_storage.i.i.i.i.i.i.i, align 8 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %8, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i173, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %8, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i177, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %9 = load i64, ptr %_M_node_count.i.i.i.i.i, align 8 %inc.i.i.i = add i64 %9, 1 store i64 %inc.i.i.i, ptr %_M_node_count.i.i.i.i.i, align 8 br label %for.inc86 for.inc86: ; preds = %call5.i.i.i.i.i.i.i.i.noexc, %if.end12.i.i.i - %inc87 = add nsw i32 %exp76.0575, 1 - %exitcond591.not = icmp eq i32 %inc87, 301 - br i1 %exitcond591.not, label %for.end88, label %for.body79.backedge + %inc87 = add nsw i32 %exp76.0588, 1 + %exitcond604.not = icmp eq i32 %inc87, 301 + br i1 %exitcond604.not, label %for.end88, label %for.body79.backedge for.body79.backedge: ; preds = %for.inc86, %for.inc86.thread - %exp76.0575.be = phi i32 [ %inc87, %for.inc86 ], [ %inc87601, %for.inc86.thread ] + %exp76.0588.be = phi i32 [ %inc87, %for.inc86 ], [ %inc87613, %for.inc86.thread ] br label %for.body79, !llvm.loop !505 for.inc86.thread: ; preds = %invoke.cont82 - %inc87601 = add nsw i32 %exp76.0575, 1 - %exitcond591.not602 = icmp eq i32 %inc87601, 301 - br i1 %exitcond591.not602, label %if.end124, label %for.body79.backedge + %inc87613 = add nsw i32 %exp76.0588, 1 + %exitcond604.not614 = icmp eq i32 %inc87613, 301 + br i1 %exitcond604.not614, label %if.end124, label %for.body79.backedge for.end88: ; preds = %for.inc86 br i1 %cmp.i.i.not, label %if.end124, label %if.then90 if.then90: ; preds = %for.end88 - %__x.018.i.i.i176 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 - %cmp.not19.i.i.i177 = icmp eq ptr %__x.018.i.i.i176, null - br i1 %cmp.not19.i.i.i177, label %if.then.i.i.i206, label %while.body.i.i.i179 - -while.body.i.i.i179: ; preds = %if.then90, %while.body.i.i.i179 - %__x.020.i.i.i180 = phi ptr [ %__x.0.i.i.i186, %while.body.i.i.i179 ], [ %__x.018.i.i.i176, %if.then90 ] - %_M_storage.i.i.i.i.i181 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i180, i64 0, i32 1 - %10 = load double, ptr %_M_storage.i.i.i.i.i181, align 8 - %cmp.i.i.i.i182 = fcmp ogt double %10, 0x7FEFFFFFFFFFFFFF - %_M_left.i.i.i.i183 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i180, i64 0, i32 2 - %_M_right.i.i.i.i184 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i180, i64 0, i32 3 - %cond.in.i.i.i185 = select i1 %cmp.i.i.i.i182, ptr %_M_left.i.i.i.i183, ptr %_M_right.i.i.i.i184 - %__x.0.i.i.i186 = load ptr, ptr %cond.in.i.i.i185, align 8 - %cmp.not.i.i.i187 = icmp eq ptr %__x.0.i.i.i186, null - br i1 %cmp.not.i.i.i187, label %while.end.i.i.i188, label %while.body.i.i.i179, !llvm.loop !504 - -while.end.i.i.i188: ; preds = %while.body.i.i.i179 - br i1 %cmp.i.i.i.i182, label %if.then.i.i.i206, label %if.end12.i.i.i189 - -if.then.i.i.i206: ; preds = %while.end.i.i.i188, %if.then90 - %__y.0.lcssa25.i.i.i207 = phi ptr [ %__x.020.i.i.i180, %while.end.i.i.i188 ], [ %0, %if.then90 ] + %__x.018.i.i.i180 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %cmp.not19.i.i.i181 = icmp eq ptr %__x.018.i.i.i180, null + br i1 %cmp.not19.i.i.i181, label %if.then.i.i.i210, label %while.body.i.i.i183 + +while.body.i.i.i183: ; preds = %if.then90, %while.body.i.i.i183 + %__x.020.i.i.i184 = phi ptr [ %__x.0.i.i.i190, %while.body.i.i.i183 ], [ %__x.018.i.i.i180, %if.then90 ] + %_M_storage.i.i.i.i.i185 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i184, i64 0, i32 1 + %10 = load double, ptr %_M_storage.i.i.i.i.i185, align 8 + %cmp.i.i.i.i186 = fcmp ogt double %10, 0x7FEFFFFFFFFFFFFF + %_M_left.i.i.i.i187 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i184, i64 0, i32 2 + %_M_right.i.i.i.i188 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i184, i64 0, i32 3 + %cond.in.i.i.i189 = select i1 %cmp.i.i.i.i186, ptr %_M_left.i.i.i.i187, ptr %_M_right.i.i.i.i188 + %__x.0.i.i.i190 = load ptr, ptr %cond.in.i.i.i189, align 8 + %cmp.not.i.i.i191 = icmp eq ptr %__x.0.i.i.i190, null + br i1 %cmp.not.i.i.i191, label %while.end.i.i.i192, label %while.body.i.i.i183, !llvm.loop !504 + +while.end.i.i.i192: ; preds = %while.body.i.i.i183 + br i1 %cmp.i.i.i.i186, label %if.then.i.i.i210, label %if.end12.i.i.i193 + +if.then.i.i.i210: ; preds = %while.end.i.i.i192, %if.then90 + %__y.0.lcssa25.i.i.i211 = phi ptr [ %__x.020.i.i.i184, %while.end.i.i.i192 ], [ %0, %if.then90 ] %11 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 - %cmp.i4.i.i.i209 = icmp eq ptr %__y.0.lcssa25.i.i.i207, %11 - br i1 %cmp.i4.i.i.i209, label %if.then.i.i197, label %if.else.i.i.i210 - -if.else.i.i.i210: ; preds = %if.then.i.i.i206 - %call.i.i.i.i211 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i207) #34 - %_M_storage.i.i.i.i.phi.trans.insert.i.i212 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i211, i64 0, i32 1 - %.pre.i.i213 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i212, align 8 - br label %if.end12.i.i.i189 - -if.end12.i.i.i189: ; preds = %if.else.i.i.i210, %while.end.i.i.i188 - %12 = phi double [ %.pre.i.i213, %if.else.i.i.i210 ], [ %10, %while.end.i.i.i188 ] - %__y.0.lcssa24.i.i.i190 = phi ptr [ %__y.0.lcssa25.i.i.i207, %if.else.i.i.i210 ], [ %__x.020.i.i.i180, %while.end.i.i.i188 ] - %cmp.i5.i.i.i192 = fcmp olt double %12, 0x7FEFFFFFFFFFFFFF - br i1 %cmp.i5.i.i.i192, label %if.then.i.i197, label %invoke.cont93 - -if.then.i.i197: ; preds = %if.end12.i.i.i189, %if.then.i.i.i206 - %retval.sroa.4.0.i.ph.i.i198 = phi ptr [ %__y.0.lcssa24.i.i.i190, %if.end12.i.i.i189 ], [ %__y.0.lcssa25.i.i.i207, %if.then.i.i.i206 ] - %cmp2.i.i.i199 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i198 - br i1 %cmp2.i.i.i199, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i, label %lor.rhs.i.i.i200 - -lor.rhs.i.i.i200: ; preds = %if.then.i.i197 - %_M_storage.i.i.i.i6.i.i201 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i198, i64 0, i32 1 - %13 = load double, ptr %_M_storage.i.i.i.i6.i.i201, align 8 - %cmp.i.i7.i.i202 = fcmp ogt double %13, 0x7FEFFFFFFFFFFFFF + %cmp.i4.i.i.i213 = icmp eq ptr %__y.0.lcssa25.i.i.i211, %11 + br i1 %cmp.i4.i.i.i213, label %if.then.i.i201, label %if.else.i.i.i214 + +if.else.i.i.i214: ; preds = %if.then.i.i.i210 + %call.i.i.i.i215 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i211) #34 + %_M_storage.i.i.i.i.phi.trans.insert.i.i216 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i215, i64 0, i32 1 + %.pre.i.i217 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i216, align 8 + br label %if.end12.i.i.i193 + +if.end12.i.i.i193: ; preds = %if.else.i.i.i214, %while.end.i.i.i192 + %12 = phi double [ %.pre.i.i217, %if.else.i.i.i214 ], [ %10, %while.end.i.i.i192 ] + %__y.0.lcssa24.i.i.i194 = phi ptr [ %__y.0.lcssa25.i.i.i211, %if.else.i.i.i214 ], [ %__x.020.i.i.i184, %while.end.i.i.i192 ] + %cmp.i5.i.i.i196 = fcmp olt double %12, 0x7FEFFFFFFFFFFFFF + br i1 %cmp.i5.i.i.i196, label %if.then.i.i201, label %invoke.cont93 + +if.then.i.i201: ; preds = %if.end12.i.i.i193, %if.then.i.i.i210 + %retval.sroa.4.0.i.ph.i.i202 = phi ptr [ %__y.0.lcssa24.i.i.i194, %if.end12.i.i.i193 ], [ %__y.0.lcssa25.i.i.i211, %if.then.i.i.i210 ] + %cmp2.i.i.i203 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i202 + br i1 %cmp2.i.i.i203, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i, label %lor.rhs.i.i.i204 + +lor.rhs.i.i.i204: ; preds = %if.then.i.i201 + %_M_storage.i.i.i.i6.i.i205 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i202, i64 0, i32 1 + %13 = load double, ptr %_M_storage.i.i.i.i6.i.i205, align 8 + %cmp.i.i7.i.i206 = fcmp ogt double %13, 0x7FEFFFFFFFFFFFFF br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i -_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i: ; preds = %lor.rhs.i.i.i200, %if.then.i.i197 - %14 = phi i1 [ true, %if.then.i.i197 ], [ %cmp.i.i7.i.i202, %lor.rhs.i.i.i200 ] - %call5.i.i.i.i.i.i.i.i215 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 - to label %call5.i.i.i.i.i.i.i.i.noexc214 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp +_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i: ; preds = %lor.rhs.i.i.i204, %if.then.i.i201 + %14 = phi i1 [ true, %if.then.i.i201 ], [ %cmp.i.i7.i.i206, %lor.rhs.i.i.i204 ] + %call5.i.i.i.i.i.i.i.i219 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 + to label %call5.i.i.i.i.i.i.i.i.noexc218 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp -call5.i.i.i.i.i.i.i.i.noexc214: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i - %_M_storage.i.i.i.i.i.i.i203 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i215, i64 0, i32 1 - store double 0x7FEFFFFFFFFFFFFF, ptr %_M_storage.i.i.i.i.i.i.i203, align 8 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %14, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i215, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i198, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 +call5.i.i.i.i.i.i.i.i.noexc218: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i + %_M_storage.i.i.i.i.i.i.i207 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i219, i64 0, i32 1 + store double 0x7FEFFFFFFFFFFFFF, ptr %_M_storage.i.i.i.i.i.i.i207, align 8 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %14, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i219, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i202, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %15 = load i64, ptr %_M_node_count.i.i.i.i.i, align 8 - %inc.i.i.i205 = add i64 %15, 1 - store i64 %inc.i.i.i205, ptr %_M_node_count.i.i.i.i.i, align 8 - %__x.018.i.i.i218.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %inc.i.i.i209 = add i64 %15, 1 + store i64 %inc.i.i.i209, ptr %_M_node_count.i.i.i.i.i, align 8 + %__x.018.i.i.i222.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 br label %invoke.cont93 -invoke.cont93: ; preds = %call5.i.i.i.i.i.i.i.i.noexc214, %if.end12.i.i.i189 - %__x.018.i.i.i218 = phi ptr [ %__x.018.i.i.i218.pre, %call5.i.i.i.i.i.i.i.i.noexc214 ], [ %__x.018.i.i.i176, %if.end12.i.i.i189 ] - %cmp.not19.i.i.i219 = icmp eq ptr %__x.018.i.i.i218, null - br i1 %cmp.not19.i.i.i219, label %if.then.i.i.i249, label %while.body.i.i.i221 - -while.body.i.i.i221: ; preds = %invoke.cont93, %while.body.i.i.i221 - %__x.020.i.i.i222 = phi ptr [ %__x.0.i.i.i228, %while.body.i.i.i221 ], [ %__x.018.i.i.i218, %invoke.cont93 ] - %_M_storage.i.i.i.i.i223 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i222, i64 0, i32 1 - %16 = load double, ptr %_M_storage.i.i.i.i.i223, align 8 - %cmp.i.i.i.i224 = fcmp ogt double %16, 0x10000000000000 - %_M_left.i.i.i.i225 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i222, i64 0, i32 2 - %_M_right.i.i.i.i226 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i222, i64 0, i32 3 - %cond.in.i.i.i227 = select i1 %cmp.i.i.i.i224, ptr %_M_left.i.i.i.i225, ptr %_M_right.i.i.i.i226 - %__x.0.i.i.i228 = load ptr, ptr %cond.in.i.i.i227, align 8 - %cmp.not.i.i.i229 = icmp eq ptr %__x.0.i.i.i228, null - br i1 %cmp.not.i.i.i229, label %while.end.i.i.i230, label %while.body.i.i.i221, !llvm.loop !504 - -while.end.i.i.i230: ; preds = %while.body.i.i.i221 - br i1 %cmp.i.i.i.i224, label %if.then.i.i.i249, label %if.end12.i.i.i231 - -if.then.i.i.i249: ; preds = %while.end.i.i.i230, %invoke.cont93 - %__y.0.lcssa25.i.i.i250 = phi ptr [ %__x.020.i.i.i222, %while.end.i.i.i230 ], [ %0, %invoke.cont93 ] +invoke.cont93: ; preds = %call5.i.i.i.i.i.i.i.i.noexc218, %if.end12.i.i.i193 + %__x.018.i.i.i222 = phi ptr [ %__x.018.i.i.i222.pre, %call5.i.i.i.i.i.i.i.i.noexc218 ], [ %__x.018.i.i.i180, %if.end12.i.i.i193 ] + %cmp.not19.i.i.i223 = icmp eq ptr %__x.018.i.i.i222, null + br i1 %cmp.not19.i.i.i223, label %if.then.i.i.i253, label %while.body.i.i.i225 + +while.body.i.i.i225: ; preds = %invoke.cont93, %while.body.i.i.i225 + %__x.020.i.i.i226 = phi ptr [ %__x.0.i.i.i232, %while.body.i.i.i225 ], [ %__x.018.i.i.i222, %invoke.cont93 ] + %_M_storage.i.i.i.i.i227 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i226, i64 0, i32 1 + %16 = load double, ptr %_M_storage.i.i.i.i.i227, align 8 + %cmp.i.i.i.i228 = fcmp ogt double %16, 0x10000000000000 + %_M_left.i.i.i.i229 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i226, i64 0, i32 2 + %_M_right.i.i.i.i230 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i226, i64 0, i32 3 + %cond.in.i.i.i231 = select i1 %cmp.i.i.i.i228, ptr %_M_left.i.i.i.i229, ptr %_M_right.i.i.i.i230 + %__x.0.i.i.i232 = load ptr, ptr %cond.in.i.i.i231, align 8 + %cmp.not.i.i.i233 = icmp eq ptr %__x.0.i.i.i232, null + br i1 %cmp.not.i.i.i233, label %while.end.i.i.i234, label %while.body.i.i.i225, !llvm.loop !504 + +while.end.i.i.i234: ; preds = %while.body.i.i.i225 + br i1 %cmp.i.i.i.i228, label %if.then.i.i.i253, label %if.end12.i.i.i235 + +if.then.i.i.i253: ; preds = %while.end.i.i.i234, %invoke.cont93 + %__y.0.lcssa25.i.i.i254 = phi ptr [ %__x.020.i.i.i226, %while.end.i.i.i234 ], [ %0, %invoke.cont93 ] %17 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 - %cmp.i4.i.i.i252 = icmp eq ptr %__y.0.lcssa25.i.i.i250, %17 - br i1 %cmp.i4.i.i.i252, label %if.then.i.i239, label %if.else.i.i.i253 - -if.else.i.i.i253: ; preds = %if.then.i.i.i249 - %call.i.i.i.i254 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i250) #34 - %_M_storage.i.i.i.i.phi.trans.insert.i.i255 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i254, i64 0, i32 1 - %.pre.i.i256 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i255, align 8 - br label %if.end12.i.i.i231 - -if.end12.i.i.i231: ; preds = %if.else.i.i.i253, %while.end.i.i.i230 - %18 = phi double [ %.pre.i.i256, %if.else.i.i.i253 ], [ %16, %while.end.i.i.i230 ] - %__y.0.lcssa24.i.i.i232 = phi ptr [ %__y.0.lcssa25.i.i.i250, %if.else.i.i.i253 ], [ %__x.020.i.i.i222, %while.end.i.i.i230 ] - %cmp.i5.i.i.i234 = fcmp olt double %18, 0x10000000000000 - br i1 %cmp.i5.i.i.i234, label %if.then.i.i239, label %invoke.cont98 - -if.then.i.i239: ; preds = %if.end12.i.i.i231, %if.then.i.i.i249 - %retval.sroa.4.0.i.ph.i.i240 = phi ptr [ %__y.0.lcssa24.i.i.i232, %if.end12.i.i.i231 ], [ %__y.0.lcssa25.i.i.i250, %if.then.i.i.i249 ] - %cmp2.i.i.i241 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i240 - br i1 %cmp2.i.i.i241, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i245, label %lor.rhs.i.i.i242 - -lor.rhs.i.i.i242: ; preds = %if.then.i.i239 - %_M_storage.i.i.i.i6.i.i243 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i240, i64 0, i32 1 - %19 = load double, ptr %_M_storage.i.i.i.i6.i.i243, align 8 - %cmp.i.i7.i.i244 = fcmp ogt double %19, 0x10000000000000 - br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i245 - -_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i245: ; preds = %lor.rhs.i.i.i242, %if.then.i.i239 - %20 = phi i1 [ true, %if.then.i.i239 ], [ %cmp.i.i7.i.i244, %lor.rhs.i.i.i242 ] - %call5.i.i.i.i.i.i.i.i258 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 - to label %call5.i.i.i.i.i.i.i.i.noexc257 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp - -call5.i.i.i.i.i.i.i.i.noexc257: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i245 - %_M_storage.i.i.i.i.i.i.i246 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i258, i64 0, i32 1 - store double 0x10000000000000, ptr %_M_storage.i.i.i.i.i.i.i246, align 8 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %20, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i258, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i240, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 + %cmp.i4.i.i.i256 = icmp eq ptr %__y.0.lcssa25.i.i.i254, %17 + br i1 %cmp.i4.i.i.i256, label %if.then.i.i243, label %if.else.i.i.i257 + +if.else.i.i.i257: ; preds = %if.then.i.i.i253 + %call.i.i.i.i258 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i254) #34 + %_M_storage.i.i.i.i.phi.trans.insert.i.i259 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i258, i64 0, i32 1 + %.pre.i.i260 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i259, align 8 + br label %if.end12.i.i.i235 + +if.end12.i.i.i235: ; preds = %if.else.i.i.i257, %while.end.i.i.i234 + %18 = phi double [ %.pre.i.i260, %if.else.i.i.i257 ], [ %16, %while.end.i.i.i234 ] + %__y.0.lcssa24.i.i.i236 = phi ptr [ %__y.0.lcssa25.i.i.i254, %if.else.i.i.i257 ], [ %__x.020.i.i.i226, %while.end.i.i.i234 ] + %cmp.i5.i.i.i238 = fcmp olt double %18, 0x10000000000000 + br i1 %cmp.i5.i.i.i238, label %if.then.i.i243, label %invoke.cont98 + +if.then.i.i243: ; preds = %if.end12.i.i.i235, %if.then.i.i.i253 + %retval.sroa.4.0.i.ph.i.i244 = phi ptr [ %__y.0.lcssa24.i.i.i236, %if.end12.i.i.i235 ], [ %__y.0.lcssa25.i.i.i254, %if.then.i.i.i253 ] + %cmp2.i.i.i245 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i244 + br i1 %cmp2.i.i.i245, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i249, label %lor.rhs.i.i.i246 + +lor.rhs.i.i.i246: ; preds = %if.then.i.i243 + %_M_storage.i.i.i.i6.i.i247 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i244, i64 0, i32 1 + %19 = load double, ptr %_M_storage.i.i.i.i6.i.i247, align 8 + %cmp.i.i7.i.i248 = fcmp ogt double %19, 0x10000000000000 + br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i249 + +_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i249: ; preds = %lor.rhs.i.i.i246, %if.then.i.i243 + %20 = phi i1 [ true, %if.then.i.i243 ], [ %cmp.i.i7.i.i248, %lor.rhs.i.i.i246 ] + %call5.i.i.i.i.i.i.i.i262 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 + to label %call5.i.i.i.i.i.i.i.i.noexc261 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + +call5.i.i.i.i.i.i.i.i.noexc261: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i249 + %_M_storage.i.i.i.i.i.i.i250 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i262, i64 0, i32 1 + store double 0x10000000000000, ptr %_M_storage.i.i.i.i.i.i.i250, align 8 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %20, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i262, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i244, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %21 = load i64, ptr %_M_node_count.i.i.i.i.i, align 8 - %inc.i.i.i248 = add i64 %21, 1 - store i64 %inc.i.i.i248, ptr %_M_node_count.i.i.i.i.i, align 8 - %__x.018.i.i.i262.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %inc.i.i.i252 = add i64 %21, 1 + store i64 %inc.i.i.i252, ptr %_M_node_count.i.i.i.i.i, align 8 + %__x.018.i.i.i266.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 br label %invoke.cont98 -invoke.cont98: ; preds = %call5.i.i.i.i.i.i.i.i.noexc257, %if.end12.i.i.i231 - %__x.018.i.i.i262 = phi ptr [ %__x.018.i.i.i262.pre, %call5.i.i.i.i.i.i.i.i.noexc257 ], [ %__x.018.i.i.i218, %if.end12.i.i.i231 ] - %cmp.not19.i.i.i263 = icmp eq ptr %__x.018.i.i.i262, null - br i1 %cmp.not19.i.i.i263, label %if.then.i.i.i293, label %while.body.i.i.i265 - -while.body.i.i.i265: ; preds = %invoke.cont98, %while.body.i.i.i265 - %__x.020.i.i.i266 = phi ptr [ %__x.0.i.i.i272, %while.body.i.i.i265 ], [ %__x.018.i.i.i262, %invoke.cont98 ] - %_M_storage.i.i.i.i.i267 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i266, i64 0, i32 1 - %22 = load double, ptr %_M_storage.i.i.i.i.i267, align 8 - %cmp.i.i.i.i268 = fcmp ogt double %22, 4.940660e-324 - %_M_left.i.i.i.i269 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i266, i64 0, i32 2 - %_M_right.i.i.i.i270 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i266, i64 0, i32 3 - %cond.in.i.i.i271 = select i1 %cmp.i.i.i.i268, ptr %_M_left.i.i.i.i269, ptr %_M_right.i.i.i.i270 - %__x.0.i.i.i272 = load ptr, ptr %cond.in.i.i.i271, align 8 - %cmp.not.i.i.i273 = icmp eq ptr %__x.0.i.i.i272, null - br i1 %cmp.not.i.i.i273, label %while.end.i.i.i274, label %while.body.i.i.i265, !llvm.loop !504 - -while.end.i.i.i274: ; preds = %while.body.i.i.i265 - br i1 %cmp.i.i.i.i268, label %if.then.i.i.i293, label %if.end12.i.i.i275 - -if.then.i.i.i293: ; preds = %while.end.i.i.i274, %invoke.cont98 - %__y.0.lcssa25.i.i.i294 = phi ptr [ %__x.020.i.i.i266, %while.end.i.i.i274 ], [ %0, %invoke.cont98 ] +invoke.cont98: ; preds = %call5.i.i.i.i.i.i.i.i.noexc261, %if.end12.i.i.i235 + %__x.018.i.i.i266 = phi ptr [ %__x.018.i.i.i266.pre, %call5.i.i.i.i.i.i.i.i.noexc261 ], [ %__x.018.i.i.i222, %if.end12.i.i.i235 ] + %cmp.not19.i.i.i267 = icmp eq ptr %__x.018.i.i.i266, null + br i1 %cmp.not19.i.i.i267, label %if.then.i.i.i297, label %while.body.i.i.i269 + +while.body.i.i.i269: ; preds = %invoke.cont98, %while.body.i.i.i269 + %__x.020.i.i.i270 = phi ptr [ %__x.0.i.i.i276, %while.body.i.i.i269 ], [ %__x.018.i.i.i266, %invoke.cont98 ] + %_M_storage.i.i.i.i.i271 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i270, i64 0, i32 1 + %22 = load double, ptr %_M_storage.i.i.i.i.i271, align 8 + %cmp.i.i.i.i272 = fcmp ogt double %22, 4.940660e-324 + %_M_left.i.i.i.i273 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i270, i64 0, i32 2 + %_M_right.i.i.i.i274 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i270, i64 0, i32 3 + %cond.in.i.i.i275 = select i1 %cmp.i.i.i.i272, ptr %_M_left.i.i.i.i273, ptr %_M_right.i.i.i.i274 + %__x.0.i.i.i276 = load ptr, ptr %cond.in.i.i.i275, align 8 + %cmp.not.i.i.i277 = icmp eq ptr %__x.0.i.i.i276, null + br i1 %cmp.not.i.i.i277, label %while.end.i.i.i278, label %while.body.i.i.i269, !llvm.loop !504 + +while.end.i.i.i278: ; preds = %while.body.i.i.i269 + br i1 %cmp.i.i.i.i272, label %if.then.i.i.i297, label %if.end12.i.i.i279 + +if.then.i.i.i297: ; preds = %while.end.i.i.i278, %invoke.cont98 + %__y.0.lcssa25.i.i.i298 = phi ptr [ %__x.020.i.i.i270, %while.end.i.i.i278 ], [ %0, %invoke.cont98 ] %23 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 - %cmp.i4.i.i.i296 = icmp eq ptr %__y.0.lcssa25.i.i.i294, %23 - br i1 %cmp.i4.i.i.i296, label %if.then.i.i283, label %if.else.i.i.i297 - -if.else.i.i.i297: ; preds = %if.then.i.i.i293 - %call.i.i.i.i298 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i294) #34 - %_M_storage.i.i.i.i.phi.trans.insert.i.i299 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i298, i64 0, i32 1 - %.pre.i.i300 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i299, align 8 - br label %if.end12.i.i.i275 - -if.end12.i.i.i275: ; preds = %if.else.i.i.i297, %while.end.i.i.i274 - %24 = phi double [ %.pre.i.i300, %if.else.i.i.i297 ], [ %22, %while.end.i.i.i274 ] - %__y.0.lcssa24.i.i.i276 = phi ptr [ %__y.0.lcssa25.i.i.i294, %if.else.i.i.i297 ], [ %__x.020.i.i.i266, %while.end.i.i.i274 ] - %cmp.i5.i.i.i278 = fcmp olt double %24, 4.940660e-324 - br i1 %cmp.i5.i.i.i278, label %if.then.i.i283, label %invoke.cont103 - -if.then.i.i283: ; preds = %if.end12.i.i.i275, %if.then.i.i.i293 - %retval.sroa.4.0.i.ph.i.i284 = phi ptr [ %__y.0.lcssa24.i.i.i276, %if.end12.i.i.i275 ], [ %__y.0.lcssa25.i.i.i294, %if.then.i.i.i293 ] - %cmp2.i.i.i285 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i284 - br i1 %cmp2.i.i.i285, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i289, label %lor.rhs.i.i.i286 - -lor.rhs.i.i.i286: ; preds = %if.then.i.i283 - %_M_storage.i.i.i.i6.i.i287 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i284, i64 0, i32 1 - %25 = load double, ptr %_M_storage.i.i.i.i6.i.i287, align 8 - %cmp.i.i7.i.i288 = fcmp ogt double %25, 4.940660e-324 - br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i289 - -_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i289: ; preds = %lor.rhs.i.i.i286, %if.then.i.i283 - %26 = phi i1 [ true, %if.then.i.i283 ], [ %cmp.i.i7.i.i288, %lor.rhs.i.i.i286 ] - %call5.i.i.i.i.i.i.i.i302 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 - to label %call5.i.i.i.i.i.i.i.i.noexc301 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp - -call5.i.i.i.i.i.i.i.i.noexc301: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i289 - %_M_storage.i.i.i.i.i.i.i290 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i302, i64 0, i32 1 - store double 4.940660e-324, ptr %_M_storage.i.i.i.i.i.i.i290, align 8 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %26, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i302, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i284, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 + %cmp.i4.i.i.i300 = icmp eq ptr %__y.0.lcssa25.i.i.i298, %23 + br i1 %cmp.i4.i.i.i300, label %if.then.i.i287, label %if.else.i.i.i301 + +if.else.i.i.i301: ; preds = %if.then.i.i.i297 + %call.i.i.i.i302 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i298) #34 + %_M_storage.i.i.i.i.phi.trans.insert.i.i303 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i302, i64 0, i32 1 + %.pre.i.i304 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i303, align 8 + br label %if.end12.i.i.i279 + +if.end12.i.i.i279: ; preds = %if.else.i.i.i301, %while.end.i.i.i278 + %24 = phi double [ %.pre.i.i304, %if.else.i.i.i301 ], [ %22, %while.end.i.i.i278 ] + %__y.0.lcssa24.i.i.i280 = phi ptr [ %__y.0.lcssa25.i.i.i298, %if.else.i.i.i301 ], [ %__x.020.i.i.i270, %while.end.i.i.i278 ] + %cmp.i5.i.i.i282 = fcmp olt double %24, 4.940660e-324 + br i1 %cmp.i5.i.i.i282, label %if.then.i.i287, label %invoke.cont103 + +if.then.i.i287: ; preds = %if.end12.i.i.i279, %if.then.i.i.i297 + %retval.sroa.4.0.i.ph.i.i288 = phi ptr [ %__y.0.lcssa24.i.i.i280, %if.end12.i.i.i279 ], [ %__y.0.lcssa25.i.i.i298, %if.then.i.i.i297 ] + %cmp2.i.i.i289 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i288 + br i1 %cmp2.i.i.i289, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i293, label %lor.rhs.i.i.i290 + +lor.rhs.i.i.i290: ; preds = %if.then.i.i287 + %_M_storage.i.i.i.i6.i.i291 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i288, i64 0, i32 1 + %25 = load double, ptr %_M_storage.i.i.i.i6.i.i291, align 8 + %cmp.i.i7.i.i292 = fcmp ogt double %25, 4.940660e-324 + br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i293 + +_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i293: ; preds = %lor.rhs.i.i.i290, %if.then.i.i287 + %26 = phi i1 [ true, %if.then.i.i287 ], [ %cmp.i.i7.i.i292, %lor.rhs.i.i.i290 ] + %call5.i.i.i.i.i.i.i.i306 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 + to label %call5.i.i.i.i.i.i.i.i.noexc305 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + +call5.i.i.i.i.i.i.i.i.noexc305: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i293 + %_M_storage.i.i.i.i.i.i.i294 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i306, i64 0, i32 1 + store double 4.940660e-324, ptr %_M_storage.i.i.i.i.i.i.i294, align 8 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %26, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i306, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i288, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %27 = load i64, ptr %_M_node_count.i.i.i.i.i, align 8 - %inc.i.i.i292 = add i64 %27, 1 - store i64 %inc.i.i.i292, ptr %_M_node_count.i.i.i.i.i, align 8 - %__x.018.i.i.i306.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %inc.i.i.i296 = add i64 %27, 1 + store i64 %inc.i.i.i296, ptr %_M_node_count.i.i.i.i.i, align 8 + %__x.018.i.i.i310.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 br label %invoke.cont103 -invoke.cont103: ; preds = %call5.i.i.i.i.i.i.i.i.noexc301, %if.end12.i.i.i275 - %__x.018.i.i.i306 = phi ptr [ %__x.018.i.i.i306.pre, %call5.i.i.i.i.i.i.i.i.noexc301 ], [ %__x.018.i.i.i262, %if.end12.i.i.i275 ] - %cmp.not19.i.i.i307 = icmp eq ptr %__x.018.i.i.i306, null - br i1 %cmp.not19.i.i.i307, label %if.then.i.i.i337, label %while.body.i.i.i309 - -while.body.i.i.i309: ; preds = %invoke.cont103, %while.body.i.i.i309 - %__x.020.i.i.i310 = phi ptr [ %__x.0.i.i.i316, %while.body.i.i.i309 ], [ %__x.018.i.i.i306, %invoke.cont103 ] - %_M_storage.i.i.i.i.i311 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i310, i64 0, i32 1 - %28 = load double, ptr %_M_storage.i.i.i.i.i311, align 8 - %cmp.i.i.i.i312 = fcmp ogt double %28, 0xFFEFFFFFFFFFFFFF - %_M_left.i.i.i.i313 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i310, i64 0, i32 2 - %_M_right.i.i.i.i314 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i310, i64 0, i32 3 - %cond.in.i.i.i315 = select i1 %cmp.i.i.i.i312, ptr %_M_left.i.i.i.i313, ptr %_M_right.i.i.i.i314 - %__x.0.i.i.i316 = load ptr, ptr %cond.in.i.i.i315, align 8 - %cmp.not.i.i.i317 = icmp eq ptr %__x.0.i.i.i316, null - br i1 %cmp.not.i.i.i317, label %while.end.i.i.i318, label %while.body.i.i.i309, !llvm.loop !504 - -while.end.i.i.i318: ; preds = %while.body.i.i.i309 - br i1 %cmp.i.i.i.i312, label %if.then.i.i.i337, label %if.end12.i.i.i319 - -if.then.i.i.i337: ; preds = %while.end.i.i.i318, %invoke.cont103 - %__y.0.lcssa25.i.i.i338 = phi ptr [ %__x.020.i.i.i310, %while.end.i.i.i318 ], [ %0, %invoke.cont103 ] +invoke.cont103: ; preds = %call5.i.i.i.i.i.i.i.i.noexc305, %if.end12.i.i.i279 + %__x.018.i.i.i310 = phi ptr [ %__x.018.i.i.i310.pre, %call5.i.i.i.i.i.i.i.i.noexc305 ], [ %__x.018.i.i.i266, %if.end12.i.i.i279 ] + %cmp.not19.i.i.i311 = icmp eq ptr %__x.018.i.i.i310, null + br i1 %cmp.not19.i.i.i311, label %if.then.i.i.i341, label %while.body.i.i.i313 + +while.body.i.i.i313: ; preds = %invoke.cont103, %while.body.i.i.i313 + %__x.020.i.i.i314 = phi ptr [ %__x.0.i.i.i320, %while.body.i.i.i313 ], [ %__x.018.i.i.i310, %invoke.cont103 ] + %_M_storage.i.i.i.i.i315 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i314, i64 0, i32 1 + %28 = load double, ptr %_M_storage.i.i.i.i.i315, align 8 + %cmp.i.i.i.i316 = fcmp ogt double %28, 0xFFEFFFFFFFFFFFFF + %_M_left.i.i.i.i317 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i314, i64 0, i32 2 + %_M_right.i.i.i.i318 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i314, i64 0, i32 3 + %cond.in.i.i.i319 = select i1 %cmp.i.i.i.i316, ptr %_M_left.i.i.i.i317, ptr %_M_right.i.i.i.i318 + %__x.0.i.i.i320 = load ptr, ptr %cond.in.i.i.i319, align 8 + %cmp.not.i.i.i321 = icmp eq ptr %__x.0.i.i.i320, null + br i1 %cmp.not.i.i.i321, label %while.end.i.i.i322, label %while.body.i.i.i313, !llvm.loop !504 + +while.end.i.i.i322: ; preds = %while.body.i.i.i313 + br i1 %cmp.i.i.i.i316, label %if.then.i.i.i341, label %if.end12.i.i.i323 + +if.then.i.i.i341: ; preds = %while.end.i.i.i322, %invoke.cont103 + %__y.0.lcssa25.i.i.i342 = phi ptr [ %__x.020.i.i.i314, %while.end.i.i.i322 ], [ %0, %invoke.cont103 ] %29 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 - %cmp.i4.i.i.i340 = icmp eq ptr %__y.0.lcssa25.i.i.i338, %29 - br i1 %cmp.i4.i.i.i340, label %if.then.i.i327, label %if.else.i.i.i341 - -if.else.i.i.i341: ; preds = %if.then.i.i.i337 - %call.i.i.i.i342 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i338) #34 - %_M_storage.i.i.i.i.phi.trans.insert.i.i343 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i342, i64 0, i32 1 - %.pre.i.i344 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i343, align 8 - br label %if.end12.i.i.i319 - -if.end12.i.i.i319: ; preds = %if.else.i.i.i341, %while.end.i.i.i318 - %30 = phi double [ %.pre.i.i344, %if.else.i.i.i341 ], [ %28, %while.end.i.i.i318 ] - %__y.0.lcssa24.i.i.i320 = phi ptr [ %__y.0.lcssa25.i.i.i338, %if.else.i.i.i341 ], [ %__x.020.i.i.i310, %while.end.i.i.i318 ] - %cmp.i5.i.i.i322 = fcmp olt double %30, 0xFFEFFFFFFFFFFFFF - br i1 %cmp.i5.i.i.i322, label %if.then.i.i327, label %invoke.cont109 - -if.then.i.i327: ; preds = %if.end12.i.i.i319, %if.then.i.i.i337 - %retval.sroa.4.0.i.ph.i.i328 = phi ptr [ %__y.0.lcssa24.i.i.i320, %if.end12.i.i.i319 ], [ %__y.0.lcssa25.i.i.i338, %if.then.i.i.i337 ] - %cmp2.i.i.i329 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i328 - br i1 %cmp2.i.i.i329, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i333, label %lor.rhs.i.i.i330 - -lor.rhs.i.i.i330: ; preds = %if.then.i.i327 - %_M_storage.i.i.i.i6.i.i331 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i328, i64 0, i32 1 - %31 = load double, ptr %_M_storage.i.i.i.i6.i.i331, align 8 - %cmp.i.i7.i.i332 = fcmp ogt double %31, 0xFFEFFFFFFFFFFFFF - br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i333 - -_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i333: ; preds = %lor.rhs.i.i.i330, %if.then.i.i327 - %32 = phi i1 [ true, %if.then.i.i327 ], [ %cmp.i.i7.i.i332, %lor.rhs.i.i.i330 ] - %call5.i.i.i.i.i.i.i.i346 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 - to label %call5.i.i.i.i.i.i.i.i.noexc345 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp - -call5.i.i.i.i.i.i.i.i.noexc345: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i333 - %_M_storage.i.i.i.i.i.i.i334 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i346, i64 0, i32 1 - store double 0xFFEFFFFFFFFFFFFF, ptr %_M_storage.i.i.i.i.i.i.i334, align 8 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %32, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i346, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i328, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 + %cmp.i4.i.i.i344 = icmp eq ptr %__y.0.lcssa25.i.i.i342, %29 + br i1 %cmp.i4.i.i.i344, label %if.then.i.i331, label %if.else.i.i.i345 + +if.else.i.i.i345: ; preds = %if.then.i.i.i341 + %call.i.i.i.i346 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i342) #34 + %_M_storage.i.i.i.i.phi.trans.insert.i.i347 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i346, i64 0, i32 1 + %.pre.i.i348 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i347, align 8 + br label %if.end12.i.i.i323 + +if.end12.i.i.i323: ; preds = %if.else.i.i.i345, %while.end.i.i.i322 + %30 = phi double [ %.pre.i.i348, %if.else.i.i.i345 ], [ %28, %while.end.i.i.i322 ] + %__y.0.lcssa24.i.i.i324 = phi ptr [ %__y.0.lcssa25.i.i.i342, %if.else.i.i.i345 ], [ %__x.020.i.i.i314, %while.end.i.i.i322 ] + %cmp.i5.i.i.i326 = fcmp olt double %30, 0xFFEFFFFFFFFFFFFF + br i1 %cmp.i5.i.i.i326, label %if.then.i.i331, label %invoke.cont109 + +if.then.i.i331: ; preds = %if.end12.i.i.i323, %if.then.i.i.i341 + %retval.sroa.4.0.i.ph.i.i332 = phi ptr [ %__y.0.lcssa24.i.i.i324, %if.end12.i.i.i323 ], [ %__y.0.lcssa25.i.i.i342, %if.then.i.i.i341 ] + %cmp2.i.i.i333 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i332 + br i1 %cmp2.i.i.i333, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i337, label %lor.rhs.i.i.i334 + +lor.rhs.i.i.i334: ; preds = %if.then.i.i331 + %_M_storage.i.i.i.i6.i.i335 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i332, i64 0, i32 1 + %31 = load double, ptr %_M_storage.i.i.i.i6.i.i335, align 8 + %cmp.i.i7.i.i336 = fcmp ogt double %31, 0xFFEFFFFFFFFFFFFF + br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i337 + +_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i337: ; preds = %lor.rhs.i.i.i334, %if.then.i.i331 + %32 = phi i1 [ true, %if.then.i.i331 ], [ %cmp.i.i7.i.i336, %lor.rhs.i.i.i334 ] + %call5.i.i.i.i.i.i.i.i350 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 + to label %call5.i.i.i.i.i.i.i.i.noexc349 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + +call5.i.i.i.i.i.i.i.i.noexc349: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i337 + %_M_storage.i.i.i.i.i.i.i338 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i350, i64 0, i32 1 + store double 0xFFEFFFFFFFFFFFFF, ptr %_M_storage.i.i.i.i.i.i.i338, align 8 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %32, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i350, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i332, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %33 = load i64, ptr %_M_node_count.i.i.i.i.i, align 8 - %inc.i.i.i336 = add i64 %33, 1 - store i64 %inc.i.i.i336, ptr %_M_node_count.i.i.i.i.i, align 8 - %__x.018.i.i.i350.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %inc.i.i.i340 = add i64 %33, 1 + store i64 %inc.i.i.i340, ptr %_M_node_count.i.i.i.i.i, align 8 + %__x.018.i.i.i354.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 br label %invoke.cont109 -invoke.cont109: ; preds = %call5.i.i.i.i.i.i.i.i.noexc345, %if.end12.i.i.i319 - %__x.018.i.i.i350 = phi ptr [ %__x.018.i.i.i350.pre, %call5.i.i.i.i.i.i.i.i.noexc345 ], [ %__x.018.i.i.i306, %if.end12.i.i.i319 ] - %cmp.not19.i.i.i351 = icmp eq ptr %__x.018.i.i.i350, null - br i1 %cmp.not19.i.i.i351, label %if.then.i.i.i381, label %while.body.i.i.i353 - -while.body.i.i.i353: ; preds = %invoke.cont109, %while.body.i.i.i353 - %__x.020.i.i.i354 = phi ptr [ %__x.0.i.i.i360, %while.body.i.i.i353 ], [ %__x.018.i.i.i350, %invoke.cont109 ] - %_M_storage.i.i.i.i.i355 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i354, i64 0, i32 1 - %34 = load double, ptr %_M_storage.i.i.i.i.i355, align 8 - %cmp.i.i.i.i356 = fcmp ogt double %34, 0x8010000000000000 - %_M_left.i.i.i.i357 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i354, i64 0, i32 2 - %_M_right.i.i.i.i358 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i354, i64 0, i32 3 - %cond.in.i.i.i359 = select i1 %cmp.i.i.i.i356, ptr %_M_left.i.i.i.i357, ptr %_M_right.i.i.i.i358 - %__x.0.i.i.i360 = load ptr, ptr %cond.in.i.i.i359, align 8 - %cmp.not.i.i.i361 = icmp eq ptr %__x.0.i.i.i360, null - br i1 %cmp.not.i.i.i361, label %while.end.i.i.i362, label %while.body.i.i.i353, !llvm.loop !504 - -while.end.i.i.i362: ; preds = %while.body.i.i.i353 - br i1 %cmp.i.i.i.i356, label %if.then.i.i.i381, label %if.end12.i.i.i363 - -if.then.i.i.i381: ; preds = %while.end.i.i.i362, %invoke.cont109 - %__y.0.lcssa25.i.i.i382 = phi ptr [ %__x.020.i.i.i354, %while.end.i.i.i362 ], [ %0, %invoke.cont109 ] +invoke.cont109: ; preds = %call5.i.i.i.i.i.i.i.i.noexc349, %if.end12.i.i.i323 + %__x.018.i.i.i354 = phi ptr [ %__x.018.i.i.i354.pre, %call5.i.i.i.i.i.i.i.i.noexc349 ], [ %__x.018.i.i.i310, %if.end12.i.i.i323 ] + %cmp.not19.i.i.i355 = icmp eq ptr %__x.018.i.i.i354, null + br i1 %cmp.not19.i.i.i355, label %if.then.i.i.i385, label %while.body.i.i.i357 + +while.body.i.i.i357: ; preds = %invoke.cont109, %while.body.i.i.i357 + %__x.020.i.i.i358 = phi ptr [ %__x.0.i.i.i364, %while.body.i.i.i357 ], [ %__x.018.i.i.i354, %invoke.cont109 ] + %_M_storage.i.i.i.i.i359 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i358, i64 0, i32 1 + %34 = load double, ptr %_M_storage.i.i.i.i.i359, align 8 + %cmp.i.i.i.i360 = fcmp ogt double %34, 0x8010000000000000 + %_M_left.i.i.i.i361 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i358, i64 0, i32 2 + %_M_right.i.i.i.i362 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i358, i64 0, i32 3 + %cond.in.i.i.i363 = select i1 %cmp.i.i.i.i360, ptr %_M_left.i.i.i.i361, ptr %_M_right.i.i.i.i362 + %__x.0.i.i.i364 = load ptr, ptr %cond.in.i.i.i363, align 8 + %cmp.not.i.i.i365 = icmp eq ptr %__x.0.i.i.i364, null + br i1 %cmp.not.i.i.i365, label %while.end.i.i.i366, label %while.body.i.i.i357, !llvm.loop !504 + +while.end.i.i.i366: ; preds = %while.body.i.i.i357 + br i1 %cmp.i.i.i.i360, label %if.then.i.i.i385, label %if.end12.i.i.i367 + +if.then.i.i.i385: ; preds = %while.end.i.i.i366, %invoke.cont109 + %__y.0.lcssa25.i.i.i386 = phi ptr [ %__x.020.i.i.i358, %while.end.i.i.i366 ], [ %0, %invoke.cont109 ] %35 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 - %cmp.i4.i.i.i384 = icmp eq ptr %__y.0.lcssa25.i.i.i382, %35 - br i1 %cmp.i4.i.i.i384, label %if.then.i.i371, label %if.else.i.i.i385 - -if.else.i.i.i385: ; preds = %if.then.i.i.i381 - %call.i.i.i.i386 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i382) #34 - %_M_storage.i.i.i.i.phi.trans.insert.i.i387 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i386, i64 0, i32 1 - %.pre.i.i388 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i387, align 8 - br label %if.end12.i.i.i363 - -if.end12.i.i.i363: ; preds = %if.else.i.i.i385, %while.end.i.i.i362 - %36 = phi double [ %.pre.i.i388, %if.else.i.i.i385 ], [ %34, %while.end.i.i.i362 ] - %__y.0.lcssa24.i.i.i364 = phi ptr [ %__y.0.lcssa25.i.i.i382, %if.else.i.i.i385 ], [ %__x.020.i.i.i354, %while.end.i.i.i362 ] - %cmp.i5.i.i.i366 = fcmp olt double %36, 0x8010000000000000 - br i1 %cmp.i5.i.i.i366, label %if.then.i.i371, label %invoke.cont115 - -if.then.i.i371: ; preds = %if.end12.i.i.i363, %if.then.i.i.i381 - %retval.sroa.4.0.i.ph.i.i372 = phi ptr [ %__y.0.lcssa24.i.i.i364, %if.end12.i.i.i363 ], [ %__y.0.lcssa25.i.i.i382, %if.then.i.i.i381 ] - %cmp2.i.i.i373 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i372 - br i1 %cmp2.i.i.i373, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i377, label %lor.rhs.i.i.i374 - -lor.rhs.i.i.i374: ; preds = %if.then.i.i371 - %_M_storage.i.i.i.i6.i.i375 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i372, i64 0, i32 1 - %37 = load double, ptr %_M_storage.i.i.i.i6.i.i375, align 8 - %cmp.i.i7.i.i376 = fcmp ogt double %37, 0x8010000000000000 - br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i377 - -_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i377: ; preds = %lor.rhs.i.i.i374, %if.then.i.i371 - %38 = phi i1 [ true, %if.then.i.i371 ], [ %cmp.i.i7.i.i376, %lor.rhs.i.i.i374 ] - %call5.i.i.i.i.i.i.i.i390 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 - to label %call5.i.i.i.i.i.i.i.i.noexc389 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp - -call5.i.i.i.i.i.i.i.i.noexc389: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i377 - %_M_storage.i.i.i.i.i.i.i378 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i390, i64 0, i32 1 - store double 0x8010000000000000, ptr %_M_storage.i.i.i.i.i.i.i378, align 8 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %38, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i390, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i372, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 + %cmp.i4.i.i.i388 = icmp eq ptr %__y.0.lcssa25.i.i.i386, %35 + br i1 %cmp.i4.i.i.i388, label %if.then.i.i375, label %if.else.i.i.i389 + +if.else.i.i.i389: ; preds = %if.then.i.i.i385 + %call.i.i.i.i390 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i386) #34 + %_M_storage.i.i.i.i.phi.trans.insert.i.i391 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i390, i64 0, i32 1 + %.pre.i.i392 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i391, align 8 + br label %if.end12.i.i.i367 + +if.end12.i.i.i367: ; preds = %if.else.i.i.i389, %while.end.i.i.i366 + %36 = phi double [ %.pre.i.i392, %if.else.i.i.i389 ], [ %34, %while.end.i.i.i366 ] + %__y.0.lcssa24.i.i.i368 = phi ptr [ %__y.0.lcssa25.i.i.i386, %if.else.i.i.i389 ], [ %__x.020.i.i.i358, %while.end.i.i.i366 ] + %cmp.i5.i.i.i370 = fcmp olt double %36, 0x8010000000000000 + br i1 %cmp.i5.i.i.i370, label %if.then.i.i375, label %invoke.cont115 + +if.then.i.i375: ; preds = %if.end12.i.i.i367, %if.then.i.i.i385 + %retval.sroa.4.0.i.ph.i.i376 = phi ptr [ %__y.0.lcssa24.i.i.i368, %if.end12.i.i.i367 ], [ %__y.0.lcssa25.i.i.i386, %if.then.i.i.i385 ] + %cmp2.i.i.i377 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i376 + br i1 %cmp2.i.i.i377, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i381, label %lor.rhs.i.i.i378 + +lor.rhs.i.i.i378: ; preds = %if.then.i.i375 + %_M_storage.i.i.i.i6.i.i379 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i376, i64 0, i32 1 + %37 = load double, ptr %_M_storage.i.i.i.i6.i.i379, align 8 + %cmp.i.i7.i.i380 = fcmp ogt double %37, 0x8010000000000000 + br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i381 + +_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i381: ; preds = %lor.rhs.i.i.i378, %if.then.i.i375 + %38 = phi i1 [ true, %if.then.i.i375 ], [ %cmp.i.i7.i.i380, %lor.rhs.i.i.i378 ] + %call5.i.i.i.i.i.i.i.i394 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 + to label %call5.i.i.i.i.i.i.i.i.noexc393 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + +call5.i.i.i.i.i.i.i.i.noexc393: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i381 + %_M_storage.i.i.i.i.i.i.i382 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i394, i64 0, i32 1 + store double 0x8010000000000000, ptr %_M_storage.i.i.i.i.i.i.i382, align 8 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %38, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i394, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i376, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %39 = load i64, ptr %_M_node_count.i.i.i.i.i, align 8 - %inc.i.i.i380 = add i64 %39, 1 - store i64 %inc.i.i.i380, ptr %_M_node_count.i.i.i.i.i, align 8 - %__x.018.i.i.i394.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 + %inc.i.i.i384 = add i64 %39, 1 + store i64 %inc.i.i.i384, ptr %_M_node_count.i.i.i.i.i, align 8 + %__x.018.i.i.i398.pre = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 br label %invoke.cont115 -invoke.cont115: ; preds = %call5.i.i.i.i.i.i.i.i.noexc389, %if.end12.i.i.i363 - %__x.018.i.i.i394 = phi ptr [ %__x.018.i.i.i394.pre, %call5.i.i.i.i.i.i.i.i.noexc389 ], [ %__x.018.i.i.i350, %if.end12.i.i.i363 ] - %cmp.not19.i.i.i395 = icmp eq ptr %__x.018.i.i.i394, null - br i1 %cmp.not19.i.i.i395, label %if.then.i.i.i425, label %while.body.i.i.i397 - -while.body.i.i.i397: ; preds = %invoke.cont115, %while.body.i.i.i397 - %__x.020.i.i.i398 = phi ptr [ %__x.0.i.i.i404, %while.body.i.i.i397 ], [ %__x.018.i.i.i394, %invoke.cont115 ] - %_M_storage.i.i.i.i.i399 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i398, i64 0, i32 1 - %40 = load double, ptr %_M_storage.i.i.i.i.i399, align 8 - %cmp.i.i.i.i400 = fcmp ogt double %40, -4.940660e-324 - %_M_left.i.i.i.i401 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i398, i64 0, i32 2 - %_M_right.i.i.i.i402 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i398, i64 0, i32 3 - %cond.in.i.i.i403 = select i1 %cmp.i.i.i.i400, ptr %_M_left.i.i.i.i401, ptr %_M_right.i.i.i.i402 - %__x.0.i.i.i404 = load ptr, ptr %cond.in.i.i.i403, align 8 - %cmp.not.i.i.i405 = icmp eq ptr %__x.0.i.i.i404, null - br i1 %cmp.not.i.i.i405, label %while.end.i.i.i406, label %while.body.i.i.i397, !llvm.loop !504 - -while.end.i.i.i406: ; preds = %while.body.i.i.i397 - br i1 %cmp.i.i.i.i400, label %if.then.i.i.i425, label %if.end12.i.i.i407 - -if.then.i.i.i425: ; preds = %while.end.i.i.i406, %invoke.cont115 - %__y.0.lcssa25.i.i.i426 = phi ptr [ %__x.020.i.i.i398, %while.end.i.i.i406 ], [ %0, %invoke.cont115 ] +invoke.cont115: ; preds = %call5.i.i.i.i.i.i.i.i.noexc393, %if.end12.i.i.i367 + %__x.018.i.i.i398 = phi ptr [ %__x.018.i.i.i398.pre, %call5.i.i.i.i.i.i.i.i.noexc393 ], [ %__x.018.i.i.i354, %if.end12.i.i.i367 ] + %cmp.not19.i.i.i399 = icmp eq ptr %__x.018.i.i.i398, null + br i1 %cmp.not19.i.i.i399, label %if.then.i.i.i429, label %while.body.i.i.i401 + +while.body.i.i.i401: ; preds = %invoke.cont115, %while.body.i.i.i401 + %__x.020.i.i.i402 = phi ptr [ %__x.0.i.i.i408, %while.body.i.i.i401 ], [ %__x.018.i.i.i398, %invoke.cont115 ] + %_M_storage.i.i.i.i.i403 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.020.i.i.i402, i64 0, i32 1 + %40 = load double, ptr %_M_storage.i.i.i.i.i403, align 8 + %cmp.i.i.i.i404 = fcmp ogt double %40, -4.940660e-324 + %_M_left.i.i.i.i405 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i402, i64 0, i32 2 + %_M_right.i.i.i.i406 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.020.i.i.i402, i64 0, i32 3 + %cond.in.i.i.i407 = select i1 %cmp.i.i.i.i404, ptr %_M_left.i.i.i.i405, ptr %_M_right.i.i.i.i406 + %__x.0.i.i.i408 = load ptr, ptr %cond.in.i.i.i407, align 8 + %cmp.not.i.i.i409 = icmp eq ptr %__x.0.i.i.i408, null + br i1 %cmp.not.i.i.i409, label %while.end.i.i.i410, label %while.body.i.i.i401, !llvm.loop !504 + +while.end.i.i.i410: ; preds = %while.body.i.i.i401 + br i1 %cmp.i.i.i.i404, label %if.then.i.i.i429, label %if.end12.i.i.i411 + +if.then.i.i.i429: ; preds = %while.end.i.i.i410, %invoke.cont115 + %__y.0.lcssa25.i.i.i430 = phi ptr [ %__x.020.i.i.i402, %while.end.i.i.i410 ], [ %0, %invoke.cont115 ] %41 = load ptr, ptr %_M_left.i.i.i.i.i, align 8 - %cmp.i4.i.i.i428 = icmp eq ptr %__y.0.lcssa25.i.i.i426, %41 - br i1 %cmp.i4.i.i.i428, label %if.then.i.i415, label %if.else.i.i.i429 - -if.else.i.i.i429: ; preds = %if.then.i.i.i425 - %call.i.i.i.i430 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i426) #34 - %_M_storage.i.i.i.i.phi.trans.insert.i.i431 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i430, i64 0, i32 1 - %.pre.i.i432 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i431, align 8 - br label %if.end12.i.i.i407 - -if.end12.i.i.i407: ; preds = %if.else.i.i.i429, %while.end.i.i.i406 - %42 = phi double [ %.pre.i.i432, %if.else.i.i.i429 ], [ %40, %while.end.i.i.i406 ] - %__y.0.lcssa24.i.i.i408 = phi ptr [ %__y.0.lcssa25.i.i.i426, %if.else.i.i.i429 ], [ %__x.020.i.i.i398, %while.end.i.i.i406 ] - %cmp.i5.i.i.i410 = fcmp olt double %42, -4.940660e-324 - br i1 %cmp.i5.i.i.i410, label %if.then.i.i415, label %if.end124 - -if.then.i.i415: ; preds = %if.end12.i.i.i407, %if.then.i.i.i425 - %retval.sroa.4.0.i.ph.i.i416 = phi ptr [ %__y.0.lcssa24.i.i.i408, %if.end12.i.i.i407 ], [ %__y.0.lcssa25.i.i.i426, %if.then.i.i.i425 ] - %cmp2.i.i.i417 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i416 - br i1 %cmp2.i.i.i417, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i421, label %lor.rhs.i.i.i418 - -lor.rhs.i.i.i418: ; preds = %if.then.i.i415 - %_M_storage.i.i.i.i6.i.i419 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i416, i64 0, i32 1 - %43 = load double, ptr %_M_storage.i.i.i.i6.i.i419, align 8 - %cmp.i.i7.i.i420 = fcmp ogt double %43, -4.940660e-324 - br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i421 - -_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i421: ; preds = %lor.rhs.i.i.i418, %if.then.i.i415 - %44 = phi i1 [ true, %if.then.i.i415 ], [ %cmp.i.i7.i.i420, %lor.rhs.i.i.i418 ] - %call5.i.i.i.i.i.i.i.i434 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 - to label %call5.i.i.i.i.i.i.i.i.noexc433 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp - -call5.i.i.i.i.i.i.i.i.noexc433: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i421 - %_M_storage.i.i.i.i.i.i.i422 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i434, i64 0, i32 1 - store double -4.940660e-324, ptr %_M_storage.i.i.i.i.i.i.i422, align 8 - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %44, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i434, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i416, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 + %cmp.i4.i.i.i432 = icmp eq ptr %__y.0.lcssa25.i.i.i430, %41 + br i1 %cmp.i4.i.i.i432, label %if.then.i.i419, label %if.else.i.i.i433 + +if.else.i.i.i433: ; preds = %if.then.i.i.i429 + %call.i.i.i.i434 = call noundef ptr @_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(ptr noundef nonnull %__y.0.lcssa25.i.i.i430) #34 + %_M_storage.i.i.i.i.phi.trans.insert.i.i435 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call.i.i.i.i434, i64 0, i32 1 + %.pre.i.i436 = load double, ptr %_M_storage.i.i.i.i.phi.trans.insert.i.i435, align 8 + br label %if.end12.i.i.i411 + +if.end12.i.i.i411: ; preds = %if.else.i.i.i433, %while.end.i.i.i410 + %42 = phi double [ %.pre.i.i436, %if.else.i.i.i433 ], [ %40, %while.end.i.i.i410 ] + %__y.0.lcssa24.i.i.i412 = phi ptr [ %__y.0.lcssa25.i.i.i430, %if.else.i.i.i433 ], [ %__x.020.i.i.i402, %while.end.i.i.i410 ] + %cmp.i5.i.i.i414 = fcmp olt double %42, -4.940660e-324 + br i1 %cmp.i5.i.i.i414, label %if.then.i.i419, label %if.end124 + +if.then.i.i419: ; preds = %if.end12.i.i.i411, %if.then.i.i.i429 + %retval.sroa.4.0.i.ph.i.i420 = phi ptr [ %__y.0.lcssa24.i.i.i412, %if.end12.i.i.i411 ], [ %__y.0.lcssa25.i.i.i430, %if.then.i.i.i429 ] + %cmp2.i.i.i421 = icmp eq ptr %0, %retval.sroa.4.0.i.ph.i.i420 + br i1 %cmp2.i.i.i421, label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i425, label %lor.rhs.i.i.i422 + +lor.rhs.i.i.i422: ; preds = %if.then.i.i419 + %_M_storage.i.i.i.i6.i.i423 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %retval.sroa.4.0.i.ph.i.i420, i64 0, i32 1 + %43 = load double, ptr %_M_storage.i.i.i.i6.i.i423, align 8 + %cmp.i.i7.i.i424 = fcmp ogt double %43, -4.940660e-324 + br label %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i425 + +_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i425: ; preds = %lor.rhs.i.i.i422, %if.then.i.i419 + %44 = phi i1 [ true, %if.then.i.i419 ], [ %cmp.i.i7.i.i424, %lor.rhs.i.i.i422 ] + %call5.i.i.i.i.i.i.i.i438 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #33 + to label %call5.i.i.i.i.i.i.i.i.noexc437 unwind label %lpad30.loopexit.split-lp.loopexit.split-lp + +call5.i.i.i.i.i.i.i.i.noexc437: ; preds = %_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE10_M_insert_IdNS5_11_Alloc_nodeEEESt17_Rb_tree_iteratorIdEPSt18_Rb_tree_node_baseSB_OT_RT0_.exit.i.i425 + %_M_storage.i.i.i.i.i.i.i426 = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %call5.i.i.i.i.i.i.i.i438, i64 0, i32 1 + store double -4.940660e-324, ptr %_M_storage.i.i.i.i.i.i.i426, align 8 + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %44, ptr noundef nonnull %call5.i.i.i.i.i.i.i.i438, ptr noundef nonnull %retval.sroa.4.0.i.ph.i.i420, ptr noundef nonnull align 8 dereferenceable(32) %0) #28 %45 = load i64, ptr %_M_node_count.i.i.i.i.i, align 8 - %inc.i.i.i424 = add i64 %45, 1 - store i64 %inc.i.i.i424, ptr %_M_node_count.i.i.i.i.i, align 8 + %inc.i.i.i428 = add i64 %45, 1 + store i64 %inc.i.i.i428, ptr %_M_node_count.i.i.i.i.i, align 8 br label %if.end124 -if.end124: ; preds = %for.inc86.thread, %call5.i.i.i.i.i.i.i.i.noexc433, %if.end12.i.i.i407, %for.end88 +if.end124: ; preds = %for.inc86.thread, %call5.i.i.i.i.i.i.i.i.noexc437, %if.end12.i.i.i411, %for.end88 %cmp.i.not.i.i = icmp eq ptr %doubles.sroa.0.10, %doubles.sroa.19.8 - br i1 %cmp.i.not.i.i, label %if.end124.invoke.cont144_crit_edge, label %if.then.i.i436 + br i1 %cmp.i.not.i.i, label %if.end124.invoke.cont144_crit_edge, label %if.then.i.i440 if.end124.invoke.cont144_crit_edge: ; preds = %if.end124 - %.pre597 = ptrtoint ptr %doubles.sroa.0.10 to i64 - %.pre598 = ptrtoint ptr %doubles.sroa.19.8 to i64 - %.pre599 = sub i64 %.pre598, %.pre597 - %.pre600 = ashr exact i64 %.pre599, 3 + %.pre610 = ptrtoint ptr %doubles.sroa.0.10 to i64 + %.pre611 = ptrtoint ptr %doubles.sroa.19.8 to i64 + %.pre612 = sub i64 %.pre611, %.pre610 br label %invoke.cont144 -if.then.i.i436: ; preds = %if.end124 +if.then.i.i440: ; preds = %if.end124 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %doubles.sroa.19.8 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %doubles.sroa.0.10 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i @@ -18890,9 +18890,9 @@ if.then.i.i436: ; preds = %if.end124 %mul.i.i = xor i64 %sub.i.i.i, 126 call fastcc void @"_ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEElNS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_SF_T0_T1_"(ptr %doubles.sroa.0.10, ptr nonnull %doubles.sroa.19.8, i64 noundef %mul.i.i) %cmp.i2.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i, 128 - br i1 %cmp.i2.i.i, label %for.body.lr.ph.i.i.i.i, label %if.else.i.i.i437 + br i1 %cmp.i2.i.i, label %for.body.lr.ph.i.i.i.i, label %if.else.i.i.i441 -for.body.lr.ph.i.i.i.i: ; preds = %if.then.i.i436 +for.body.lr.ph.i.i.i.i: ; preds = %if.then.i.i440 %scevgep.i.i.i = getelementptr i8, ptr %doubles.sroa.0.10, i64 8 br label %for.body.i.i.i.i @@ -18942,12 +18942,12 @@ for.inc.i.i.i.i: ; preds = %while.body.i.i.i.i. br i1 %cmp.i1.not.i.i.i.i, label %"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_SF_T0_.exit.i.i.i", label %for.body.i.i.i.i, !llvm.loop !506 "_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_SF_T0_.exit.i.i.i": ; preds = %for.inc.i.i.i.i - %add.ptr.i.i.i.i438 = getelementptr inbounds double, ptr %doubles.sroa.0.10, i64 16 - %cmp.i.not2.i.i.i.i = icmp eq ptr %add.ptr.i.i.i.i438, %doubles.sroa.19.8 + %add.ptr.i.i.i.i442 = getelementptr inbounds double, ptr %doubles.sroa.0.10, i64 16 + %cmp.i.not2.i.i.i.i = icmp eq ptr %add.ptr.i.i.i.i442, %doubles.sroa.19.8 br i1 %cmp.i.not2.i.i.i.i, label %while.cond.i.i.i.preheader, label %for.body.i4.i.i.i for.body.i4.i.i.i: ; preds = %"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_SF_T0_.exit.i.i.i", %"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_T0_.exit.i.i.i.i" - %__i.sroa.0.03.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_T0_.exit.i.i.i.i" ], [ %add.ptr.i.i.i.i438, %"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_SF_T0_.exit.i.i.i" ] + %__i.sroa.0.03.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_T0_.exit.i.i.i.i" ], [ %add.ptr.i.i.i.i442, %"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_SF_T0_.exit.i.i.i" ] %56 = load double, ptr %__i.sroa.0.03.i.i.i.i, align 8 %57 = fcmp uno double %56, 0.000000e+00 br i1 %57, label %"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_T0_.exit.i.i.i.i", label %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EclIdNS_17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEbRT_T0_.exit.lr.ph.split.i.i5.i.i.i" @@ -18976,15 +18976,15 @@ while.body.i.i8.i.i.i: ; preds = %"_ZN9__gnu_cxx5__op %__last.sroa.0.0.lcssa.i.i.i.i.i = phi ptr [ %__i.sroa.0.03.i.i.i.i, %for.body.i4.i.i.i ], [ %__i.sroa.0.03.i.i.i.i, %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EclIdNS_17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEbRT_T0_.exit.lr.ph.split.i.i5.i.i.i" ], [ %__next.sroa.0.0914.i.i10.i.i.i, %while.body.i.i8.i.i.i ] store double %56, ptr %__last.sroa.0.0.lcssa.i.i.i.i.i, align 8 %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %__i.sroa.0.03.i.i.i.i, i64 1 - %cmp.i.not.i.i.i.i = icmp eq ptr %__i.sroa.0.03.i.i.i.i, %add.ptr.i.i.i154.pn + %cmp.i.not.i.i.i.i = icmp eq ptr %__i.sroa.0.03.i.i.i.i, %add.ptr.i.i.i.i.i.i160.pn br i1 %cmp.i.not.i.i.i.i, label %while.cond.i.i.i.preheader, label %for.body.i4.i.i.i, !llvm.loop !507 -if.else.i.i.i437: ; preds = %if.then.i.i436 - %cmp.i1.not11.i17.i.i.i = icmp eq ptr %doubles.sroa.0.10, %add.ptr.i.i.i154.pn +if.else.i.i.i441: ; preds = %if.then.i.i440 + %cmp.i1.not11.i17.i.i.i = icmp eq ptr %doubles.sroa.0.10, %add.ptr.i.i.i.i.i.i160.pn br i1 %cmp.i1.not11.i17.i.i.i, label %while.cond.i.i.i.preheader, label %for.body.i20.i.i.i -for.body.i20.i.i.i: ; preds = %if.else.i.i.i437, %for.inc.i29.i.i.i - %__first.coerce.pn12.i22.i.i.i = phi ptr [ %__i.sroa.0.013.i21.i.i.i, %for.inc.i29.i.i.i ], [ %doubles.sroa.0.10, %if.else.i.i.i437 ] +for.body.i20.i.i.i: ; preds = %if.else.i.i.i441, %for.inc.i29.i.i.i + %__first.coerce.pn12.i22.i.i.i = phi ptr [ %__i.sroa.0.013.i21.i.i.i, %for.inc.i29.i.i.i ], [ %doubles.sroa.0.10, %if.else.i.i.i441 ] %__i.sroa.0.013.i21.i.i.i = getelementptr inbounds double, ptr %__first.coerce.pn12.i22.i.i.i, i64 1 %63 = load double, ptr %__i.sroa.0.013.i21.i.i.i, align 8 %64 = fcmp uno double %63, 0.000000e+00 @@ -19004,7 +19004,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T %sub.ptr.div.i.i.i.i.i.i43.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i42.i.i.i, 3 %.pre.i.i.i.i.i.i44.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i43.i.i.i %add.ptr.i.i.i.i.i.i45.i.i.i = getelementptr inbounds double, ptr %add.ptr.i2.i40.i.i.i, i64 %.pre.i.i.i.i.i.i44.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr.i.i.i.i.i.i45.i.i.i, ptr nonnull align 8 %doubles.sroa.0.10, i64 %sub.ptr.sub.i.i.i.i.i.i42.i.i.i, i1 false) + call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1) %add.ptr.i.i.i.i.i.i45.i.i.i, ptr noundef nonnull align 8 dereferenceable(1) %doubles.sroa.0.10, i64 %sub.ptr.sub.i.i.i.i.i.i42.i.i.i, i1 false) br label %for.inc.i29.i.i.i "_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EclIdNS_17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEbRT_T0_.exit.lr.ph.split.i.i26.i.i.i": ; preds = %"_ZN9__gnu_cxx5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EclINS_17__normal_iteratorIPdSt6vectorIdSaIdEEEESE_EEbT_T0_.exit.i23.i.i.i" @@ -19029,25 +19029,25 @@ while.body.i.i33.i.i.i: ; preds = %"_ZN9__gnu_cxx5__op for.inc.i29.i.i.i: ; preds = %while.body.i.i33.i.i.i, %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EclIdNS_17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEbRT_T0_.exit.lr.ph.split.i.i26.i.i.i", %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i39.i.i.i, %for.body.i20.i.i.i %__first.coerce.sink.i30.i.i.i = phi ptr [ %doubles.sroa.0.10, %_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i39.i.i.i ], [ %__i.sroa.0.013.i21.i.i.i, %"_ZN9__gnu_cxx5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EclIdNS_17__normal_iteratorIPdSt6vectorIdSaIdEEEEEEbRT_T0_.exit.lr.ph.split.i.i26.i.i.i" ], [ %__i.sroa.0.013.i21.i.i.i, %for.body.i20.i.i.i ], [ %__next.sroa.0.0914.i.i35.i.i.i, %while.body.i.i33.i.i.i ] store double %63, ptr %__first.coerce.sink.i30.i.i.i, align 8 - %cmp.i1.not.i32.i.i.i = icmp eq ptr %__i.sroa.0.013.i21.i.i.i, %add.ptr.i.i.i154.pn + %cmp.i1.not.i32.i.i.i = icmp eq ptr %__i.sroa.0.013.i21.i.i.i, %add.ptr.i.i.i.i.i.i160.pn br i1 %cmp.i1.not.i32.i.i.i, label %while.cond.i.i.i.preheader, label %for.body.i20.i.i.i, !llvm.loop !506 -while.cond.i.i.i.preheader: ; preds = %for.inc.i29.i.i.i, %"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_T0_.exit.i.i.i.i", %"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_SF_T0_.exit.i.i.i", %if.else.i.i.i437 +while.cond.i.i.i.preheader: ; preds = %for.inc.i29.i.i.i, %"_ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops14_Val_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_T0_.exit.i.i.i.i", %"_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEENS0_5__ops15_Iter_comp_iterIZN4absl19str_format_internal12_GLOBAL__N_129FormatConvertTest_Double_Test8TestBodyEvE3$_0EEEvT_SF_T0_.exit.i.i.i", %if.else.i.i.i441 br label %while.cond.i.i.i -while.cond.i.i.i: ; preds = %while.cond.i.i.i.preheader, %while.body.i.i.i441 - %__first.sroa.0.0.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %while.body.i.i.i441 ], [ %doubles.sroa.0.10, %while.cond.i.i.i.preheader ] - %cmp.i3.not.i.i.i = icmp eq ptr %__first.sroa.0.0.i.i.i, %add.ptr.i.i.i154.pn - br i1 %cmp.i3.not.i.i.i, label %invoke.cont144, label %while.body.i.i.i441 +while.cond.i.i.i: ; preds = %while.cond.i.i.i.preheader, %while.body.i.i.i445 + %__first.sroa.0.0.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %while.body.i.i.i445 ], [ %doubles.sroa.0.10, %while.cond.i.i.i.preheader ] + %cmp.i3.not.i.i.i = icmp eq ptr %__first.sroa.0.0.i.i.i, %add.ptr.i.i.i.i.i.i160.pn + br i1 %cmp.i3.not.i.i.i, label %invoke.cont153, label %while.body.i.i.i445 -while.body.i.i.i441: ; preds = %while.cond.i.i.i +while.body.i.i.i445: ; preds = %while.cond.i.i.i %incdec.ptr.i.i.i.i = getelementptr inbounds double, ptr %__first.sroa.0.0.i.i.i, i64 1 %72 = load double, ptr %__first.sroa.0.0.i.i.i, align 8 %73 = load double, ptr %incdec.ptr.i.i.i.i, align 8 - %cmp.i4.i.i.i442 = fcmp oeq double %72, %73 - br i1 %cmp.i4.i.i.i442, label %if.end.i.i, label %while.cond.i.i.i, !llvm.loop !508 + %cmp.i4.i.i.i446 = fcmp oeq double %72, %73 + br i1 %cmp.i4.i.i.i446, label %if.end.i.i, label %while.cond.i.i.i, !llvm.loop !508 -if.end.i.i: ; preds = %while.body.i.i.i441 +if.end.i.i: ; preds = %while.body.i.i.i445 %incdec.ptr.i217.i.i = getelementptr inbounds double, ptr %__first.sroa.0.0.i.i.i, i64 2 %cmp.i3.not18.i.i = icmp eq ptr %incdec.ptr.i217.i.i, %doubles.sroa.19.8 br i1 %cmp.i3.not18.i.i, label %while.end.i.i, label %while.body.i.i @@ -19069,7 +19069,7 @@ if.end20.i.i: ; preds = %if.then16.i.i, %whi %76 = phi double [ %74, %while.body.i.i ], [ %75, %if.then16.i.i ] %__dest.sroa.0.1.i.i = phi ptr [ %__dest.sroa.0.019.i.i, %while.body.i.i ], [ %incdec.ptr.i5.i.i, %if.then16.i.i ] %incdec.ptr.i2.i.i = getelementptr inbounds double, ptr %incdec.ptr.i220.i.i, i64 1 - %cmp.i3.not.i.i = icmp eq ptr %incdec.ptr.i220.i.i, %add.ptr.i.i.i154.pn + %cmp.i3.not.i.i = icmp eq ptr %incdec.ptr.i220.i.i, %add.ptr.i.i.i.i.i.i160.pn br i1 %cmp.i3.not.i.i, label %while.end.i.i, label %while.body.i.i, !llvm.loop !509 while.end.i.i: ; preds = %if.end20.i.i, %if.end.i.i @@ -19077,37 +19077,35 @@ while.end.i.i: ; preds = %if.end20.i.i, %if.e %incdec.ptr.i6.i.i = getelementptr inbounds double, ptr %__dest.sroa.0.0.lcssa.i.i, i64 1 br label %invoke.cont144 -invoke.cont144: ; preds = %while.cond.i.i.i, %if.end124.invoke.cont144_crit_edge, %while.end.i.i - %sub.ptr.div.i4.i.pre-phi = phi i64 [ %.pre600, %if.end124.invoke.cont144_crit_edge ], [ %sub.ptr.div.i.i.i, %while.end.i.i ], [ %sub.ptr.div.i.i.i, %while.cond.i.i.i ] - %sub.ptr.lhs.cast.i1.i.pre-phi = phi i64 [ %.pre598, %if.end124.invoke.cont144_crit_edge ], [ %sub.ptr.lhs.cast.i.i.i, %while.end.i.i ], [ %sub.ptr.lhs.cast.i.i.i, %while.cond.i.i.i ] - %sub.ptr.rhs.cast.i.i.pre-phi = phi i64 [ %.pre597, %if.end124.invoke.cont144_crit_edge ], [ %sub.ptr.rhs.cast.i.i.i, %while.end.i.i ], [ %sub.ptr.rhs.cast.i.i.i, %while.cond.i.i.i ] - %retval.sroa.0.0.in.sroa.speculated.i.i = phi ptr [ %doubles.sroa.0.10, %if.end124.invoke.cont144_crit_edge ], [ %incdec.ptr.i6.i.i, %while.end.i.i ], [ %doubles.sroa.19.8, %while.cond.i.i.i ] +invoke.cont144: ; preds = %if.end124.invoke.cont144_crit_edge, %while.end.i.i + %sub.ptr.sub.i3.i.pre-phi = phi i64 [ %.pre612, %if.end124.invoke.cont144_crit_edge ], [ %sub.ptr.sub.i.i.i, %while.end.i.i ] + %sub.ptr.lhs.cast.i1.i.pre-phi = phi i64 [ %.pre611, %if.end124.invoke.cont144_crit_edge ], [ %sub.ptr.lhs.cast.i.i.i, %while.end.i.i ] + %sub.ptr.rhs.cast.i.i.pre-phi = phi i64 [ %.pre610, %if.end124.invoke.cont144_crit_edge ], [ %sub.ptr.rhs.cast.i.i.i, %while.end.i.i ] + %retval.sroa.0.0.in.sroa.speculated.i.i = phi ptr [ %doubles.sroa.0.10, %if.end124.invoke.cont144_crit_edge ], [ %incdec.ptr.i6.i.i, %while.end.i.i ] %sub.ptr.lhs.cast.i.i = ptrtoint ptr %retval.sroa.0.0.in.sroa.speculated.i.i to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.pre-phi - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 3 - %add.ptr.i.i444 = getelementptr inbounds double, ptr %doubles.sroa.0.10, i64 %sub.ptr.div.i.i - %add.ptr.i5.i = getelementptr inbounds double, ptr %doubles.sroa.0.10, i64 %sub.ptr.div.i4.i.pre-phi - %cmp.i.not.i.i445 = icmp eq i64 %sub.ptr.div.i.i, %sub.ptr.div.i4.i.pre-phi - br i1 %cmp.i.not.i.i445, label %invoke.cont153, label %if.then.i.i446 + %add.ptr.i.i448 = getelementptr inbounds i8, ptr %doubles.sroa.0.10, i64 %sub.ptr.sub.i.i + %add.ptr.i5.i = getelementptr inbounds i8, ptr %doubles.sroa.0.10, i64 %sub.ptr.sub.i3.i.pre-phi + %cmp.i.not.i.i449 = icmp eq ptr %retval.sroa.0.0.in.sroa.speculated.i.i, %doubles.sroa.19.8 + br i1 %cmp.i.not.i.i449, label %invoke.cont153, label %if.then.i.i450 -if.then.i.i446: ; preds = %invoke.cont144 +if.then.i.i450: ; preds = %invoke.cont144 %cmp.i1.not.i.i = icmp eq ptr %doubles.sroa.19.8, %add.ptr.i5.i - br i1 %cmp.i1.not.i.i, label %if.end.i.i448, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i.i + br i1 %cmp.i1.not.i.i, label %if.end.i.i452, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i.i -_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i.i: ; preds = %if.then.i.i446 +_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i.i: ; preds = %if.then.i.i450 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i5.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i1.i.pre-phi, %sub.ptr.rhs.cast.i.i.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i444, ptr align 8 %add.ptr.i5.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %if.end.i.i448 + call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i448, ptr align 8 %add.ptr.i5.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) + br label %if.end.i.i452 -if.end.i.i448: ; preds = %if.then.i.i446, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i.i - %sub.ptr.sub.i.i.i449.pre-phi = phi i64 [ %sub.ptr.sub.i.i.i.i.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i.i ], [ 0, %if.then.i.i446 ] - %sub.ptr.div.i.i.i450 = ashr exact i64 %sub.ptr.sub.i.i.i449.pre-phi, 3 - %add.ptr.i6.i = getelementptr inbounds double, ptr %add.ptr.i.i444, i64 %sub.ptr.div.i.i.i450 +if.end.i.i452: ; preds = %if.then.i.i450, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i.i + %sub.ptr.sub.i.i.i453.pre-phi = phi i64 [ %sub.ptr.sub.i.i.i.i.i.i.i, %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES6_ET0_T_S8_S7_.exit.i.i ], [ 0, %if.then.i.i450 ] + %add.ptr.i6.i = getelementptr inbounds i8, ptr %add.ptr.i.i448, i64 %sub.ptr.sub.i.i.i453.pre-phi br label %invoke.cont153 -invoke.cont153: ; preds = %if.end.i.i448, %invoke.cont144 - %doubles.sroa.19.9 = phi ptr [ %doubles.sroa.19.8, %invoke.cont144 ], [ %add.ptr.i6.i, %if.end.i.i448 ] +invoke.cont153: ; preds = %while.cond.i.i.i, %if.end.i.i452, %invoke.cont144 + %doubles.sroa.19.9 = phi ptr [ %doubles.sroa.19.8, %invoke.cont144 ], [ %add.ptr.i6.i, %if.end.i.i452 ], [ %doubles.sroa.19.8, %while.cond.i.i.i ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %str_format_result.i) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %string_printf_result.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp4.i) @@ -19131,11 +19129,11 @@ init.check.i.i: ; preds = %invoke.cont153 br i1 %tobool.not.i.i, label %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i, label %init.i.i init.i.i: ; preds = %init.check.i.i - %call.i.i464 = invoke fastcc i32 @_ZN4absl19str_format_internal12_GLOBAL__N_130VerifyNativeImplementationImplEv() + %call.i.i467 = invoke fastcc i32 @_ZN4absl19str_format_internal12_GLOBAL__N_130VerifyNativeImplementationImplEv() to label %invoke.cont.i.i unwind label %lpad.i.i, !range !473 invoke.cont.i.i: ; preds = %init.i.i - store i32 %call.i.i464, ptr @_ZZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEvE13native_traits, align 4 + store i32 %call.i.i467, ptr @_ZZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEvE13native_traits, align 4 call void @__cxa_guard_release(ptr nonnull @_ZGVZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEvE13native_traits) #28 br label %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i @@ -19148,7 +19146,7 @@ lpad.i.i: ; preds = %init.i.i _ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i: ; preds = %invoke.cont.i.i, %init.check.i.i, %invoke.cont153 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %str_format_result.i) #28 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %str_format_result.i, i64 noundef 1048576) - to label %invoke.cont.i unwind label %lpad.i452 + to label %invoke.cont.i unwind label %lpad.i455 invoke.cont.i: ; preds = %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28 @@ -19169,8 +19167,8 @@ for.body.i: ; preds = %for.inc138.i, %for. %80 = load ptr, ptr %__begin3.0.ptr.i, align 8 %.fr.i = freeze ptr %80 store <8 x i8> , ptr %ref.tmp4.i, align 8 - %cmp.i.i455 = icmp eq ptr %.fr.i, null - br i1 %cmp.i.i455, label %for.body15.us.i, label %for.body15.i + %cmp.i.i458 = icmp eq ptr %.fr.i, null + br i1 %cmp.i.i458, label %for.body15.us.i, label %for.body15.i for.body15.us.i: ; preds = %for.body.i call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp17.i) #28 @@ -19179,7 +19177,7 @@ for.body15.us.i: ; preds = %for.body.i call.i35.noexc.us.i: ; preds = %for.body15.us.i invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp16.i, ptr noundef %call.i3539.us.i, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp17.i) - to label %if.then.i.i463 unwind label %lpad18.split.us.i + to label %if.then.i.i466 unwind label %lpad18.split.us.i lpad18.split.us.i: ; preds = %call.i35.noexc.us.i, %for.body15.us.i %81 = landingpad { ptr, i32 } @@ -19204,11 +19202,11 @@ call.i35.noexc.i: ; preds = %for.body15.i invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp16.i, ptr noundef nonnull %.fr.i, ptr noundef nonnull %add.ptr.i36.i) to label %invoke.cont19.i unwind label %lpad.i37.loopexit.i -if.then.i.i463: ; preds = %call.i35.noexc.us.i +if.then.i.i466: ; preds = %call.i35.noexc.us.i invoke void @_ZSt19__throw_logic_errorPKc(ptr noundef nonnull @.str.72) #31 to label %invoke.cont.i38.i unwind label %lpad.i37.loopexit.split-lp.i -invoke.cont.i38.i: ; preds = %if.then.i.i463 +invoke.cont.i38.i: ; preds = %if.then.i.i466 unreachable lpad.i37.loopexit.i: ; preds = %.noexc.i @@ -19216,7 +19214,7 @@ lpad.i37.loopexit.i: ; preds = %.noexc.i cleanup br label %lpad.i37.i -lpad.i37.loopexit.split-lp.i: ; preds = %if.then.i.i463 +lpad.i37.loopexit.split-lp.i: ; preds = %if.then.i.i466 %lpad.loopexit.split-lp.i = landingpad { ptr, i32 } cleanup br label %lpad.i37.i @@ -19251,7 +19249,7 @@ switch.early.test.i: ; preds = %_ZNSt11char_traitsI i8 65, label %if.end.i ] -lpad.i452: ; preds = %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i +lpad.i455: ; preds = %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit.i %83 = landingpad { ptr, i32 } cleanup br label %ehcleanup146.i @@ -19296,7 +19294,7 @@ for.body46.i.preheader: ; preds = %if.end40.i, %land.l br label %for.body46.i for.body46.i: ; preds = %for.body46.i.preheader, %for.inc.i - %__begin0.sroa.0.0117.i = phi ptr [ %incdec.ptr.i.i456, %for.inc.i ], [ %doubles.sroa.0.10, %for.body46.i.preheader ] + %__begin0.sroa.0.0117.i = phi ptr [ %incdec.ptr.i.i459, %for.inc.i ], [ %doubles.sroa.0.10, %for.body46.i.preheader ] %90 = load double, ptr %__begin0.sroa.0.0117.i, align 8 %91 = load i8, ptr getelementptr inbounds (%"struct.absl::str_format_internal::(anonymous namespace)::NativePrintfTraits", ptr @_ZZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEvE13native_traits, i64 0, i32 1), align 1 %92 = and i8 %91, 1 @@ -19347,8 +19345,8 @@ land.rhs.i.i.i: ; preds = %invoke.cont75.i %call2.i.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28 %call3.i.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %str_format_result.i) #28 %call4.i.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28 - %cmp.i.i.i.i462 = icmp eq i64 %call4.i.i.i, 0 - br i1 %cmp.i.i.i.i462, label %for.inc.i, label %_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.i + %cmp.i.i.i.i465 = icmp eq i64 %call4.i.i.i, 0 + br i1 %cmp.i.i.i.i465, label %for.inc.i, label %_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.i _ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.i: ; preds = %land.rhs.i.i.i %bcmp.i.i.i = call i32 @bcmp(ptr %call2.i.i.i, ptr %call3.i.i.i, i64 %call4.i.i.i) @@ -19366,13 +19364,13 @@ while.body.i.i.i.i: ; preds = %land.rhs.i, %while. %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__x.addr.07.i.i.i.i, i64 0, i32 1 %99 = load double, ptr %_M_storage.i.i.i.i.i.i, align 8 %cmp.i.i.i.i.i = fcmp olt double %99, %90 - %_M_right.i.i.i.i.i457 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.07.i.i.i.i, i64 0, i32 3 - %_M_left.i.i.i.i.i458 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.07.i.i.i.i, i64 0, i32 2 + %_M_right.i.i.i.i.i460 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.07.i.i.i.i, i64 0, i32 3 + %_M_left.i.i.i.i.i461 = getelementptr inbounds %"struct.std::_Rb_tree_node_base", ptr %__x.addr.07.i.i.i.i, i64 0, i32 2 %__y.addr.1.i.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i, ptr %__x.addr.07.i.i.i.i - %__x.addr.1.in.i.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %_M_right.i.i.i.i.i457, ptr %_M_left.i.i.i.i.i458 + %__x.addr.1.in.i.i.i.i = select i1 %cmp.i.i.i.i.i, ptr %_M_right.i.i.i.i.i460, ptr %_M_left.i.i.i.i.i461 %__x.addr.1.i.i.i.i = load ptr, ptr %__x.addr.1.in.i.i.i.i, align 8 - %cmp.not.i.i.i.i459 = icmp eq ptr %__x.addr.1.i.i.i.i, null - br i1 %cmp.not.i.i.i.i459, label %_ZNKSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE14_M_lower_boundEPKSt13_Rb_tree_nodeIdEPKSt18_Rb_tree_node_baseRKd.exit.i.i.i, label %while.body.i.i.i.i, !llvm.loop !510 + %cmp.not.i.i.i.i462 = icmp eq ptr %__x.addr.1.i.i.i.i, null + br i1 %cmp.not.i.i.i.i462, label %_ZNKSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE14_M_lower_boundEPKSt13_Rb_tree_nodeIdEPKSt18_Rb_tree_node_baseRKd.exit.i.i.i, label %while.body.i.i.i.i, !llvm.loop !510 _ZNKSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE14_M_lower_boundEPKSt13_Rb_tree_nodeIdEPKSt18_Rb_tree_node_baseRKd.exit.i.i.i: ; preds = %while.body.i.i.i.i %cmp.i.i.i52.i = icmp eq ptr %__y.addr.1.i.i.i.i, %0 @@ -19383,8 +19381,8 @@ lor.lhs.false.i.i.i: ; preds = %_ZNKSt8_Rb_treeIddS %__y.addr.06.i.i.i.i.sroa.gep = getelementptr inbounds %"struct.std::_Rb_tree_node.222", ptr %__y.addr.06.i.i.i.i, i64 0, i32 1 %__y.addr.1.i.i.i.i.sroa.sel = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i.sroa.gep, ptr %_M_storage.i.i.i.i.i.i.le %100 = load double, ptr %__y.addr.1.i.i.i.i.sroa.sel, align 8 - %cmp.i4.i.i.i460 = fcmp olt double %90, %100 - br i1 %cmp.i4.i.i.i460, label %if.then86.i, label %for.inc.i + %cmp.i4.i.i.i463 = fcmp olt double %90, %100 + br i1 %cmp.i4.i.i.i463, label %if.then86.i, label %for.inc.i if.then86.i: ; preds = %lor.lhs.false.i.i.i, %_ZNKSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE14_M_lower_boundEPKSt13_Rb_tree_nodeIdEPKSt18_Rb_tree_node_baseRKd.exit.i.i.i, %land.rhs.i %call.i.i85.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28, !noalias !511 @@ -19500,8 +19498,8 @@ invoke.cont122.i: ; preds = %invoke.cont120.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp105.i) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp98.i) #28 %112 = load ptr, ptr %ref.tmp90.i, align 8 - %cmp.not.i.i.i461 = icmp eq ptr %112, null - br i1 %cmp.not.i.i.i461, label %_ZN7testing7MessageD2Ev.exit.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i + %cmp.not.i.i.i464 = icmp eq ptr %112, null + br i1 %cmp.not.i.i.i464, label %_ZN7testing7MessageD2Ev.exit.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i: ; preds = %invoke.cont122.i %vtable.i.i.i.i = load ptr, ptr %112, align 8 @@ -19604,8 +19602,8 @@ _ZN7testing15AssertionResultD2Ev.exit84.i: ; preds = %_ZNKSt14default_del br label %for.inc.i for.inc.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit84.i, %lor.lhs.false.i.i.i, %_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_.exit.i, %land.rhs.i.i.i, %fpclassify_not_nan.i.i - %incdec.ptr.i.i456 = getelementptr inbounds double, ptr %__begin0.sroa.0.0117.i, i64 1 - %cmp.i46.not.i = icmp eq ptr %incdec.ptr.i.i456, %doubles.sroa.19.9 + %incdec.ptr.i.i459 = getelementptr inbounds double, ptr %__begin0.sroa.0.0117.i, i64 1 + %cmp.i46.not.i = icmp eq ptr %incdec.ptr.i.i459, %doubles.sroa.19.9 br i1 %cmp.i46.not.i, label %for.inc136.i, label %for.body46.i cleanup132.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %_ZN7testing7MessageD2Ev.exit.i @@ -19634,8 +19632,8 @@ ehcleanup142.i: ; preds = %ehcleanup135.i, %eh call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %string_printf_result.i) #28 br label %ehcleanup146.i -ehcleanup146.i: ; preds = %ehcleanup142.i, %lpad.i452 - %.pn26.pn.pn.pn.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn26.pn.pn.pn.pn.pn.pn.i, %ehcleanup142.i ], [ %83, %lpad.i452 ] +ehcleanup146.i: ; preds = %ehcleanup142.i, %lpad.i455 + %.pn26.pn.pn.pn.pn.pn.pn.pn.i = phi { ptr, i32 } [ %.pn26.pn.pn.pn.pn.pn.pn.i, %ehcleanup142.i ], [ %83, %lpad.i455 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %str_format_result.i) #28 br label %lpad30.body @@ -19655,42 +19653,42 @@ invoke.cont157: ; preds = %for.inc138.i, %clea call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp105.i) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp112.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp117.i) - %tobool.not.i.i.i467 = icmp eq ptr %doubles.sroa.0.10, null - br i1 %tobool.not.i.i.i467, label %_ZNSt6vectorIdSaIdEED2Ev.exit470, label %if.then.i.i.i468 + %tobool.not.i.i.i470 = icmp eq ptr %doubles.sroa.0.10, null + br i1 %tobool.not.i.i.i470, label %_ZNSt6vectorIdSaIdEED2Ev.exit473, label %if.then.i.i.i471 -if.then.i.i.i468: ; preds = %invoke.cont157 +if.then.i.i.i471: ; preds = %invoke.cont157 call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.10) #32 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit470 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit473 -_ZNSt6vectorIdSaIdEED2Ev.exit470: ; preds = %invoke.cont157, %if.then.i.i.i468 +_ZNSt6vectorIdSaIdEED2Ev.exit473: ; preds = %invoke.cont157, %if.then.i.i.i471 %124 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 invoke void @_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE8_M_eraseEPSt13_Rb_tree_nodeIdE(ptr noundef nonnull align 8 dereferenceable(48) %skip_verify, ptr noundef %124) to label %_ZNSt3setIdSt4lessIdESaIdEED2Ev.exit unwind label %terminate.lpad.i.i -terminate.lpad.i.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit470 +terminate.lpad.i.i: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit473 %125 = landingpad { ptr, i32 } catch ptr null %126 = extractvalue { ptr, i32 } %125, 0 call void @__clang_call_terminate(ptr %126) #29 unreachable -_ZNSt3setIdSt4lessIdESaIdEED2Ev.exit: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit470 +_ZNSt3setIdSt4lessIdESaIdEED2Ev.exit: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit473 ret void ehcleanup158: ; preds = %if.then.i.i.i, %lpad30.body, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i - %.pn = phi { ptr, i32 } [ %1, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ], [ %eh.lpad-body465, %lpad30.body ], [ %eh.lpad-body465, %if.then.i.i.i ] + %.pn = phi { ptr, i32 } [ %1, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ], [ %eh.lpad-body468, %lpad30.body ], [ %eh.lpad-body468, %if.then.i.i.i ] %127 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 invoke void @_ZNSt8_Rb_treeIddSt9_IdentityIdESt4lessIdESaIdEE8_M_eraseEPSt13_Rb_tree_nodeIdE(ptr noundef nonnull align 8 dereferenceable(48) %skip_verify, ptr noundef %127) - to label %_ZNSt3setIdSt4lessIdESaIdEED2Ev.exit474 unwind label %terminate.lpad.i.i473 + to label %_ZNSt3setIdSt4lessIdESaIdEED2Ev.exit477 unwind label %terminate.lpad.i.i476 -terminate.lpad.i.i473: ; preds = %ehcleanup158 +terminate.lpad.i.i476: ; preds = %ehcleanup158 %128 = landingpad { ptr, i32 } catch ptr null %129 = extractvalue { ptr, i32 } %128, 0 call void @__clang_call_terminate(ptr %129) #29 unreachable -_ZNSt3setIdSt4lessIdESaIdEED2Ev.exit474: ; preds = %ehcleanup158 +_ZNSt3setIdSt4lessIdESaIdEED2Ev.exit477: ; preds = %ehcleanup158 resume { ptr, i32 } %.pn } @@ -41491,8 +41489,8 @@ invoke.cont.i: ; preds = %init.i tail call void @__cxa_guard_release(ptr nonnull @_ZGVZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEvE13native_traits) #28 br label %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit -common.resume: ; preds = %ehcleanup201, %if.then.i.i.i189, %lpad.i - %common.resume.op = phi { ptr, i32 } [ %2, %lpad.i ], [ %.pn45, %ehcleanup201 ], [ %.pn45, %if.then.i.i.i189 ] +common.resume: ; preds = %ehcleanup201, %if.then.i.i.i191, %lpad.i + %common.resume.op = phi { ptr, i32 } [ %2, %lpad.i ], [ %.pn45, %ehcleanup201 ], [ %.pn45, %if.then.i.i.i191 ] resume { ptr, i32 } %common.resume.op lpad.i: ; preds = %init.i @@ -41503,51 +41501,51 @@ lpad.i: ; preds = %init.i _ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit: ; preds = %entry, %init.check.i, %invoke.cont.i %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(128) ptr @_Znwm(i64 noundef 128) #33 - %add.ptr.i1.i = getelementptr inbounds x86_fp80, ptr %call5.i.i.i.i2.i, i64 8 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 128 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(128) %call5.i.i.i.i2.i, ptr noundef nonnull align 16 dereferenceable(128) @constinit.734, i64 128, i1 false) %arrayinit.element = getelementptr inbounds i32, ptr %ref.tmp23, i64 1 br label %for.body for.body: ; preds = %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit, %for.inc46 - %__begin2.0.idx265 = phi i64 [ 0, %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit ], [ %__begin2.0.add, %for.inc46 ] - %doubles.sroa.0.0264 = phi ptr [ %call5.i.i.i.i2.i, %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit ], [ %doubles.sroa.0.4, %for.inc46 ] - %doubles.sroa.12.0263 = phi ptr [ %add.ptr.i1.i, %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit ], [ %doubles.sroa.12.4, %for.inc46 ] - %doubles.sroa.26.0262 = phi ptr [ %add.ptr.i1.i, %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit ], [ %doubles.sroa.26.4, %for.inc46 ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit.735, i64 %__begin2.0.idx265 + %__begin2.0.idx267 = phi i64 [ 0, %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit ], [ %__begin2.0.add, %for.inc46 ] + %doubles.sroa.0.0266 = phi ptr [ %call5.i.i.i.i2.i, %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit ], [ %doubles.sroa.0.4, %for.inc46 ] + %doubles.sroa.12.0265 = phi ptr [ %add.ptr.i1.i, %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit ], [ %doubles.sroa.12.4, %for.inc46 ] + %doubles.sroa.26.0264 = phi ptr [ %add.ptr.i1.i, %_ZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEv.exit ], [ %doubles.sroa.26.4, %for.inc46 ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit.735, i64 %__begin2.0.idx267 %3 = load x86_fp80, ptr %__begin2.0.ptr, align 16 br label %for.body21 for.body21: ; preds = %for.body, %for.inc43 - %__begin3.0.idx261 = phi i64 [ 0, %for.body ], [ %__begin3.0.add, %for.inc43 ] - %doubles.sroa.0.1260 = phi ptr [ %doubles.sroa.0.0264, %for.body ], [ %doubles.sroa.0.4, %for.inc43 ] - %doubles.sroa.12.1259 = phi ptr [ %doubles.sroa.12.0263, %for.body ], [ %doubles.sroa.12.4, %for.inc43 ] - %doubles.sroa.26.1258 = phi ptr [ %doubles.sroa.26.0262, %for.body ], [ %doubles.sroa.26.4, %for.inc43 ] - %__begin3.0.ptr = getelementptr inbounds i8, ptr @constinit.736, i64 %__begin3.0.idx261 + %__begin3.0.idx263 = phi i64 [ 0, %for.body ], [ %__begin3.0.add, %for.inc43 ] + %doubles.sroa.0.1262 = phi ptr [ %doubles.sroa.0.0266, %for.body ], [ %doubles.sroa.0.4, %for.inc43 ] + %doubles.sroa.12.1261 = phi ptr [ %doubles.sroa.12.0265, %for.body ], [ %doubles.sroa.12.4, %for.inc43 ] + %doubles.sroa.26.1260 = phi ptr [ %doubles.sroa.26.0264, %for.body ], [ %doubles.sroa.26.4, %for.inc43 ] + %__begin3.0.ptr = getelementptr inbounds i8, ptr @constinit.736, i64 %__begin3.0.idx263 %4 = load i32, ptr %__begin3.0.ptr, align 4 store i32 1, ptr %ref.tmp23, align 4 store i32 -1, ptr %arrayinit.element, align 4 br label %for.body32 for.body32: ; preds = %for.body21, %for.inc - %__begin4.0.idx257 = phi i64 [ 0, %for.body21 ], [ %__begin4.0.add, %for.inc ] - %doubles.sroa.0.2256 = phi ptr [ %doubles.sroa.0.1260, %for.body21 ], [ %doubles.sroa.0.4, %for.inc ] - %doubles.sroa.12.2255 = phi ptr [ %doubles.sroa.12.1259, %for.body21 ], [ %doubles.sroa.12.4, %for.inc ] - %doubles.sroa.26.2254 = phi ptr [ %doubles.sroa.26.1258, %for.body21 ], [ %doubles.sroa.26.4, %for.inc ] - %__begin4.0.ptr = getelementptr inbounds i8, ptr %ref.tmp23, i64 %__begin4.0.idx257 + %__begin4.0.idx259 = phi i64 [ 0, %for.body21 ], [ %__begin4.0.add, %for.inc ] + %doubles.sroa.0.2258 = phi ptr [ %doubles.sroa.0.1262, %for.body21 ], [ %doubles.sroa.0.4, %for.inc ] + %doubles.sroa.12.2257 = phi ptr [ %doubles.sroa.12.1261, %for.body21 ], [ %doubles.sroa.12.4, %for.inc ] + %doubles.sroa.26.2256 = phi ptr [ %doubles.sroa.26.1260, %for.body21 ], [ %doubles.sroa.26.4, %for.inc ] + %__begin4.0.ptr = getelementptr inbounds i8, ptr %ref.tmp23, i64 %__begin4.0.idx259 %5 = load i32, ptr %__begin4.0.ptr, align 4 %conv = sitofp i32 %5 to x86_fp80 %call.i54 = tail call noundef x86_fp80 @ldexpl(x86_fp80 noundef %3, i32 noundef %4) #28 %mul = fmul x86_fp80 %call.i54, %conv - %cmp.not.i.i = icmp eq ptr %doubles.sroa.12.2255, %doubles.sroa.26.2254 + %cmp.not.i.i = icmp eq ptr %doubles.sroa.12.2257, %doubles.sroa.26.2256 br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %for.body32 - store x86_fp80 %mul, ptr %doubles.sroa.12.2255, align 16 + store x86_fp80 %mul, ptr %doubles.sroa.12.2257, align 16 br label %invoke.cont37 if.else.i.i: ; preds = %for.body32 - %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %doubles.sroa.12.2255 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %doubles.sroa.0.2256 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %doubles.sroa.12.2257 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %doubles.sroa.0.2258 to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i %cmp.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i @@ -41579,30 +41577,31 @@ _ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i57, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds x86_fp80, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store x86_fp80 %mul, ptr %add.ptr.i.i.i, align 16 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 16 %cond.i10.i.i.i, ptr align 16 %doubles.sroa.0.2256, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 16 %cond.i10.i.i.i, ptr align 16 %doubles.sroa.0.2258, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i - %tobool.not.i.i.i.i = icmp eq ptr %doubles.sroa.0.2256, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i +_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %tobool.not.i.i.i.i = icmp eq ptr %doubles.sroa.0.2258, null + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.2256) #32 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.2258) #32 br label %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i -_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds x86_fp80, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %invoke.cont37 invoke.cont37: ; preds = %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i, %if.then.i.i - %doubles.sroa.26.3 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i ], [ %doubles.sroa.26.2254, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i ], [ %doubles.sroa.12.2255, %if.then.i.i ] - %doubles.sroa.0.3 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i ], [ %doubles.sroa.0.2256, %if.then.i.i ] - %doubles.sroa.12.3 = getelementptr inbounds x86_fp80, ptr %add.ptr.i.i.i.pn, i64 1 + %doubles.sroa.26.3 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i ], [ %doubles.sroa.26.2256, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i ], [ %doubles.sroa.12.2257, %if.then.i.i ] + %doubles.sroa.0.3 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i ], [ %doubles.sroa.0.2258, %if.then.i.i ] + %doubles.sroa.12.3 = getelementptr inbounds x86_fp80, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %call.i58 = tail call noundef x86_fp80 @ldexpl(x86_fp80 noundef %3, i32 noundef %4) #28 %div = fdiv x86_fp80 %conv, %call.i58 %cmp.not.i.i61 = icmp eq ptr %doubles.sroa.12.3, %doubles.sroa.26.3 @@ -41610,7 +41609,7 @@ invoke.cont37: ; preds = %_ZNSt6vectorIeSaIeE if.then.i.i62: ; preds = %invoke.cont37 store x86_fp80 %div, ptr %doubles.sroa.12.3, align 16 - %incdec.ptr.i.i63 = getelementptr inbounds x86_fp80, ptr %add.ptr.i.i.i.pn, i64 2 + %incdec.ptr.i.i63 = getelementptr inbounds x86_fp80, ptr %add.ptr.i.i.i.i.i.i.pn, i64 2 br label %for.inc if.else.i.i64: ; preds = %invoke.cont37 @@ -41618,13 +41617,13 @@ if.else.i.i64: ; preds = %invoke.cont37 %sub.ptr.rhs.cast.i.i.i.i.i66 = ptrtoint ptr %doubles.sroa.0.3 to i64 %sub.ptr.sub.i.i.i.i.i67 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i65, %sub.ptr.rhs.cast.i.i.i.i.i66 %cmp.i.i.i.i68 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i67, 9223372036854775792 - br i1 %cmp.i.i.i.i68, label %if.then.i.i.i.i91, label %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i69 + br i1 %cmp.i.i.i.i68, label %if.then.i.i.i.i92, label %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i69 -if.then.i.i.i.i91: ; preds = %if.else.i.i64 +if.then.i.i.i.i92: ; preds = %if.else.i.i64 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.147) #31 - to label %.noexc92 unwind label %lpad34.loopexit.split-lp + to label %.noexc93 unwind label %lpad34.loopexit.split-lp -.noexc92: ; preds = %if.then.i.i.i.i91 +.noexc93: ; preds = %if.then.i.i.i.i92 unreachable _ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i69: ; preds = %if.else.i.i64 @@ -41640,134 +41639,136 @@ _ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i69: ; preds = %if.else.i.i64 _ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i78: ; preds = %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i69 %mul.i.i.i.i.i.i79 = shl nuw nsw i64 %cond.i.i.i.i76, 4 - %call5.i.i.i.i.i.i94 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i79) #33 + %call5.i.i.i.i.i.i95 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i79) #33 to label %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i80 unwind label %lpad34.loopexit _ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i80: ; preds = %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i78, %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i69 - %cond.i10.i.i.i81 = phi ptr [ null, %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i69 ], [ %call5.i.i.i.i.i.i94, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i78 ] + %cond.i10.i.i.i81 = phi ptr [ null, %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i69 ], [ %call5.i.i.i.i.i.i95, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i78 ] %add.ptr.i.i.i82 = getelementptr inbounds x86_fp80, ptr %cond.i10.i.i.i81, i64 %sub.ptr.div.i.i.i.i.i70 store x86_fp80 %div, ptr %add.ptr.i.i.i82, align 16 - %cmp.i.i.i11.i.i.i83 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i70, 0 - br i1 %cmp.i.i.i11.i.i.i83, label %if.then.i.i.i12.i.i.i90, label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i84 + %cmp.i.i.i11.i.i.i83 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i67, 0 + br i1 %cmp.i.i.i11.i.i.i83, label %if.then.i.i.i12.i.i.i91, label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i84 -if.then.i.i.i12.i.i.i90: ; preds = %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i80 +if.then.i.i.i12.i.i.i91: ; preds = %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i80 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 16 %cond.i10.i.i.i81, ptr align 16 %doubles.sroa.0.3, i64 %sub.ptr.sub.i.i.i.i.i67, i1 false) - br label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i84 + br label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i84 -_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i84: ; preds = %if.then.i.i.i12.i.i.i90, %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i80 - %incdec.ptr.i.i.i85 = getelementptr inbounds x86_fp80, ptr %add.ptr.i.i.i82, i64 1 - %tobool.not.i.i.i.i86 = icmp eq ptr %doubles.sroa.0.3, null - br i1 %tobool.not.i.i.i.i86, label %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i88, label %if.then.i21.i.i.i87 +_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i84: ; preds = %if.then.i.i.i12.i.i.i91, %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i80 + %add.ptr.i.i.i.i.i.i85 = getelementptr inbounds i8, ptr %cond.i10.i.i.i81, i64 %sub.ptr.sub.i.i.i.i.i67 + %incdec.ptr.i.i.i86 = getelementptr inbounds x86_fp80, ptr %add.ptr.i.i.i.i.i.i85, i64 1 + %tobool.not.i.i.i.i87 = icmp eq ptr %doubles.sroa.0.3, null + br i1 %tobool.not.i.i.i.i87, label %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i89, label %if.then.i20.i.i.i88 -if.then.i21.i.i.i87: ; preds = %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i84 +if.then.i20.i.i.i88: ; preds = %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i84 tail call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.3) #32 - br label %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i88 + br label %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i89 -_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i88: ; preds = %if.then.i21.i.i.i87, %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i84 - %add.ptr19.i.i.i89 = getelementptr inbounds x86_fp80, ptr %cond.i10.i.i.i81, i64 %cond.i.i.i.i76 +_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i89: ; preds = %if.then.i20.i.i.i88, %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i84 + %add.ptr19.i.i.i90 = getelementptr inbounds x86_fp80, ptr %cond.i10.i.i.i81, i64 %cond.i.i.i.i76 br label %for.inc -for.inc: ; preds = %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i88, %if.then.i.i62 - %doubles.sroa.26.4 = phi ptr [ %add.ptr19.i.i.i89, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i88 ], [ %doubles.sroa.26.3, %if.then.i.i62 ] - %doubles.sroa.12.4 = phi ptr [ %incdec.ptr.i.i.i85, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i88 ], [ %incdec.ptr.i.i63, %if.then.i.i62 ] - %doubles.sroa.0.4 = phi ptr [ %cond.i10.i.i.i81, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i88 ], [ %doubles.sroa.0.3, %if.then.i.i62 ] - %__begin4.0.add = add nuw nsw i64 %__begin4.0.idx257, 4 +for.inc: ; preds = %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i89, %if.then.i.i62 + %doubles.sroa.26.4 = phi ptr [ %add.ptr19.i.i.i90, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i89 ], [ %doubles.sroa.26.3, %if.then.i.i62 ] + %doubles.sroa.12.4 = phi ptr [ %incdec.ptr.i.i.i86, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i89 ], [ %incdec.ptr.i.i63, %if.then.i.i62 ] + %doubles.sroa.0.4 = phi ptr [ %cond.i10.i.i.i81, %_ZNSt6vectorIeSaIeEE17_M_realloc_insertIJeEEEvN9__gnu_cxx17__normal_iteratorIPeS1_EEDpOT_.exit.i.i89 ], [ %doubles.sroa.0.3, %if.then.i.i62 ] + %__begin4.0.add = add nuw nsw i64 %__begin4.0.idx259, 4 %cmp31.not = icmp eq i64 %__begin4.0.add, 8 br i1 %cmp31.not, label %for.inc43, label %for.body32 lpad34.loopexit: ; preds = %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i78 - %doubles.sroa.0.5.ph = phi ptr [ %doubles.sroa.0.2256, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i ], [ %doubles.sroa.0.3, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i78 ] - %lpad.loopexit224 = landingpad { ptr, i32 } + %doubles.sroa.0.5.ph = phi ptr [ %doubles.sroa.0.2258, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i ], [ %doubles.sroa.0.3, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i78 ] + %lpad.loopexit226 = landingpad { ptr, i32 } cleanup br label %ehcleanup201 -lpad34.loopexit.split-lp: ; preds = %if.then.i.i.i.i, %if.then.i.i.i.i91, %if.then.i.i.i.i128, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i115 - %doubles.sroa.0.5.ph223 = phi ptr [ %doubles.sroa.0.3, %if.then.i.i.i.i91 ], [ %doubles.sroa.0.2256, %if.then.i.i.i.i ], [ %doubles.sroa.0.4, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i115 ], [ %doubles.sroa.0.4, %if.then.i.i.i.i128 ] - %lpad.loopexit.split-lp225 = landingpad { ptr, i32 } +lpad34.loopexit.split-lp: ; preds = %if.then.i.i.i.i, %if.then.i.i.i.i92, %if.then.i.i.i.i130, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i116 + %doubles.sroa.0.5.ph225 = phi ptr [ %doubles.sroa.0.3, %if.then.i.i.i.i92 ], [ %doubles.sroa.0.2258, %if.then.i.i.i.i ], [ %doubles.sroa.0.4, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i116 ], [ %doubles.sroa.0.4, %if.then.i.i.i.i130 ] + %lpad.loopexit.split-lp227 = landingpad { ptr, i32 } cleanup br label %ehcleanup201 for.inc43: ; preds = %for.inc - %__begin3.0.add = add nuw nsw i64 %__begin3.0.idx261, 4 + %__begin3.0.add = add nuw nsw i64 %__begin3.0.idx263, 4 %cmp20.not = icmp eq i64 %__begin3.0.add, 20 br i1 %cmp20.not, label %for.inc46, label %for.body21 for.inc46: ; preds = %for.inc43 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx265, 16 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx267, 16 %cmp.not = icmp eq i64 %__begin2.0.add, 224 br i1 %cmp.not, label %for.end48, label %for.body for.end48: ; preds = %for.inc46 %call50 = tail call x86_fp80 @strtold(ptr nocapture noundef nonnull @.str.737, ptr noundef null) #28 - %cmp.not.i.i98 = icmp eq ptr %doubles.sroa.12.4, %doubles.sroa.26.4 - br i1 %cmp.not.i.i98, label %if.else.i.i101, label %if.then.i.i99 + %cmp.not.i.i99 = icmp eq ptr %doubles.sroa.12.4, %doubles.sroa.26.4 + br i1 %cmp.not.i.i99, label %if.else.i.i102, label %if.then.i.i100 -if.then.i.i99: ; preds = %for.end48 +if.then.i.i100: ; preds = %for.end48 store x86_fp80 %call50, ptr %doubles.sroa.12.4, align 16 - %incdec.ptr.i.i100 = getelementptr inbounds x86_fp80, ptr %doubles.sroa.12.4, i64 1 - br label %_ZNSt6vectorIeSaIeEE9push_backEOe.exit132 + %incdec.ptr.i.i101 = getelementptr inbounds x86_fp80, ptr %doubles.sroa.12.4, i64 1 + br label %_ZNSt6vectorIeSaIeEE9push_backEOe.exit134 -if.else.i.i101: ; preds = %for.end48 - %sub.ptr.lhs.cast.i.i.i.i.i102 = ptrtoint ptr %doubles.sroa.26.4 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i103 = ptrtoint ptr %doubles.sroa.0.4 to i64 - %sub.ptr.sub.i.i.i.i.i104 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i102, %sub.ptr.rhs.cast.i.i.i.i.i103 - %cmp.i.i.i.i105 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i104, 9223372036854775792 - br i1 %cmp.i.i.i.i105, label %if.then.i.i.i.i128, label %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i106 +if.else.i.i102: ; preds = %for.end48 + %sub.ptr.lhs.cast.i.i.i.i.i103 = ptrtoint ptr %doubles.sroa.26.4 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i104 = ptrtoint ptr %doubles.sroa.0.4 to i64 + %sub.ptr.sub.i.i.i.i.i105 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i103, %sub.ptr.rhs.cast.i.i.i.i.i104 + %cmp.i.i.i.i106 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i105, 9223372036854775792 + br i1 %cmp.i.i.i.i106, label %if.then.i.i.i.i130, label %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i107 -if.then.i.i.i.i128: ; preds = %if.else.i.i101 +if.then.i.i.i.i130: ; preds = %if.else.i.i102 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.147) #31 - to label %.noexc129 unwind label %lpad34.loopexit.split-lp + to label %.noexc131 unwind label %lpad34.loopexit.split-lp -.noexc129: ; preds = %if.then.i.i.i.i128 +.noexc131: ; preds = %if.then.i.i.i.i130 unreachable -_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i106: ; preds = %if.else.i.i101 - %sub.ptr.div.i.i.i.i.i107 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i104, 4 - %.sroa.speculated.i.i.i.i108 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i107, i64 1) - %add.i.i.i.i109 = add i64 %.sroa.speculated.i.i.i.i108, %sub.ptr.div.i.i.i.i.i107 - %cmp7.i.i.i.i110 = icmp ult i64 %add.i.i.i.i109, %sub.ptr.div.i.i.i.i.i107 - %cmp9.i.i.i.i111 = icmp ugt i64 %add.i.i.i.i109, 576460752303423487 - %or.cond.i.i.i.i112 = or i1 %cmp7.i.i.i.i110, %cmp9.i.i.i.i111 - %cond.i.i.i.i113 = select i1 %or.cond.i.i.i.i112, i64 576460752303423487, i64 %add.i.i.i.i109 - %cmp.not.i.i.i.i114 = icmp eq i64 %cond.i.i.i.i113, 0 - br i1 %cmp.not.i.i.i.i114, label %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i117, label %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i115 - -_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i115: ; preds = %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i106 - %mul.i.i.i.i.i.i116 = shl nuw nsw i64 %cond.i.i.i.i113, 4 - %call5.i.i.i.i.i.i131 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i116) #33 - to label %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i117 unwind label %lpad34.loopexit.split-lp - -_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i117: ; preds = %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i115, %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i106 - %cond.i10.i.i.i118 = phi ptr [ null, %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i106 ], [ %call5.i.i.i.i.i.i131, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i115 ] - %add.ptr.i.i.i119 = getelementptr inbounds x86_fp80, ptr %cond.i10.i.i.i118, i64 %sub.ptr.div.i.i.i.i.i107 - store x86_fp80 %call50, ptr %add.ptr.i.i.i119, align 16 - %cmp.i.i.i11.i.i.i120 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i107, 0 - br i1 %cmp.i.i.i11.i.i.i120, label %if.then.i.i.i12.i.i.i127, label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i121 - -if.then.i.i.i12.i.i.i127: ; preds = %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i117 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 16 %cond.i10.i.i.i118, ptr align 16 %doubles.sroa.0.4, i64 %sub.ptr.sub.i.i.i.i.i104, i1 false) - br label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i121 - -_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i121: ; preds = %if.then.i.i.i12.i.i.i127, %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i117 - %incdec.ptr.i.i.i122 = getelementptr inbounds x86_fp80, ptr %add.ptr.i.i.i119, i64 1 - %tobool.not.i.i.i.i123 = icmp eq ptr %doubles.sroa.0.4, null - br i1 %tobool.not.i.i.i.i123, label %_ZNSt6vectorIeSaIeEE9push_backEOe.exit132, label %if.then.i21.i.i.i124 - -if.then.i21.i.i.i124: ; preds = %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i121 +_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i107: ; preds = %if.else.i.i102 + %sub.ptr.div.i.i.i.i.i108 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i105, 4 + %.sroa.speculated.i.i.i.i109 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i108, i64 1) + %add.i.i.i.i110 = add i64 %.sroa.speculated.i.i.i.i109, %sub.ptr.div.i.i.i.i.i108 + %cmp7.i.i.i.i111 = icmp ult i64 %add.i.i.i.i110, %sub.ptr.div.i.i.i.i.i108 + %cmp9.i.i.i.i112 = icmp ugt i64 %add.i.i.i.i110, 576460752303423487 + %or.cond.i.i.i.i113 = or i1 %cmp7.i.i.i.i111, %cmp9.i.i.i.i112 + %cond.i.i.i.i114 = select i1 %or.cond.i.i.i.i113, i64 576460752303423487, i64 %add.i.i.i.i110 + %cmp.not.i.i.i.i115 = icmp eq i64 %cond.i.i.i.i114, 0 + br i1 %cmp.not.i.i.i.i115, label %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i118, label %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i116 + +_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i116: ; preds = %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i107 + %mul.i.i.i.i.i.i117 = shl nuw nsw i64 %cond.i.i.i.i114, 4 + %call5.i.i.i.i.i.i133 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i117) #33 + to label %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i118 unwind label %lpad34.loopexit.split-lp + +_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i118: ; preds = %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i116, %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i107 + %cond.i10.i.i.i119 = phi ptr [ null, %_ZNKSt6vectorIeSaIeEE12_M_check_lenEmPKc.exit.i.i.i107 ], [ %call5.i.i.i.i.i.i133, %_ZNSt16allocator_traitsISaIeEE8allocateERS0_m.exit.i.i.i.i116 ] + %add.ptr.i.i.i120 = getelementptr inbounds x86_fp80, ptr %cond.i10.i.i.i119, i64 %sub.ptr.div.i.i.i.i.i108 + store x86_fp80 %call50, ptr %add.ptr.i.i.i120, align 16 + %cmp.i.i.i11.i.i.i121 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i105, 0 + br i1 %cmp.i.i.i11.i.i.i121, label %if.then.i.i.i12.i.i.i129, label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i122 + +if.then.i.i.i12.i.i.i129: ; preds = %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i118 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 16 %cond.i10.i.i.i119, ptr align 16 %doubles.sroa.0.4, i64 %sub.ptr.sub.i.i.i.i.i105, i1 false) + br label %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i122 + +_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i122: ; preds = %if.then.i.i.i12.i.i.i129, %_ZNSt12_Vector_baseIeSaIeEE11_M_allocateEm.exit.i.i.i118 + %add.ptr.i.i.i.i.i.i123 = getelementptr inbounds i8, ptr %cond.i10.i.i.i119, i64 %sub.ptr.sub.i.i.i.i.i105 + %incdec.ptr.i.i.i124 = getelementptr inbounds x86_fp80, ptr %add.ptr.i.i.i.i.i.i123, i64 1 + %tobool.not.i.i.i.i125 = icmp eq ptr %doubles.sroa.0.4, null + br i1 %tobool.not.i.i.i.i125, label %_ZNSt6vectorIeSaIeEE9push_backEOe.exit134, label %if.then.i20.i.i.i126 + +if.then.i20.i.i.i126: ; preds = %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i122 tail call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.4) #32 - br label %_ZNSt6vectorIeSaIeEE9push_backEOe.exit132 + br label %_ZNSt6vectorIeSaIeEE9push_backEOe.exit134 -_ZNSt6vectorIeSaIeEE9push_backEOe.exit132: ; preds = %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i121, %if.then.i21.i.i.i124, %if.then.i.i99 - %doubles.sroa.12.5 = phi ptr [ %incdec.ptr.i.i100, %if.then.i.i99 ], [ %incdec.ptr.i.i.i122, %if.then.i21.i.i.i124 ], [ %incdec.ptr.i.i.i122, %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i121 ] - %doubles.sroa.0.6 = phi ptr [ %doubles.sroa.0.4, %if.then.i.i99 ], [ %cond.i10.i.i.i118, %if.then.i21.i.i.i124 ], [ %cond.i10.i.i.i118, %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit20.i.i.i121 ] - %cmp.i152.not266 = icmp eq ptr %doubles.sroa.0.6, %doubles.sroa.12.5 +_ZNSt6vectorIeSaIeEE9push_backEOe.exit134: ; preds = %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i122, %if.then.i20.i.i.i126, %if.then.i.i100 + %doubles.sroa.12.5 = phi ptr [ %incdec.ptr.i.i101, %if.then.i.i100 ], [ %incdec.ptr.i.i.i124, %if.then.i20.i.i.i126 ], [ %incdec.ptr.i.i.i124, %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i122 ] + %doubles.sroa.0.6 = phi ptr [ %doubles.sroa.0.4, %if.then.i.i100 ], [ %cond.i10.i.i.i119, %if.then.i20.i.i.i126 ], [ %cond.i10.i.i.i119, %_ZNSt6vectorIeSaIeEE11_S_relocateEPeS2_S2_RS0_.exit19.i.i.i122 ] + %cmp.i154.not268 = icmp eq ptr %doubles.sroa.0.6, %doubles.sroa.12.5 %dispatcher_.i.i = getelementptr inbounds %"class.absl::str_format_internal::FormatArgImpl", ptr %arg, i64 0, i32 1 - %message_.i180 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 + %message_.i182 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 br label %for.body58 -for.body58: ; preds = %_ZNSt6vectorIeSaIeEE9push_backEOe.exit132, %for.inc195 - %__begin253.0.idx269 = phi i64 [ 0, %_ZNSt6vectorIeSaIeEE9push_backEOe.exit132 ], [ %__begin253.0.add, %for.inc195 ] - %__begin253.0.ptr = getelementptr inbounds i8, ptr @__const._ZN4absl19str_format_internal12_GLOBAL__N_133FormatConvertTest_LongDouble_Test8TestBodyEv.kFormats, i64 %__begin253.0.idx269 +for.body58: ; preds = %_ZNSt6vectorIeSaIeEE9push_backEOe.exit134, %for.inc195 + %__begin253.0.idx271 = phi i64 [ 0, %_ZNSt6vectorIeSaIeEE9push_backEOe.exit134 ], [ %__begin253.0.add, %for.inc195 ] + %__begin253.0.ptr = getelementptr inbounds i8, ptr @__const._ZN4absl19str_format_internal12_GLOBAL__N_133FormatConvertTest_LongDouble_Test8TestBodyEv.kFormats, i64 %__begin253.0.idx271 %6 = load ptr, ptr %__begin253.0.ptr, align 8 %.fr = freeze ptr %6 store <8 x i8> , ptr %ref.tmp61, align 8 @@ -41776,75 +41777,75 @@ for.body58: ; preds = %_ZNSt6vectorIeSaIeE for.body79.us: ; preds = %for.body58 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp82) #28 - %call.i135139.us = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81) - to label %call.i135.noexc.us unwind label %lpad83.split.us + %call.i137141.us = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81) + to label %call.i137.noexc.us unwind label %lpad83.split.us -call.i135.noexc.us: ; preds = %for.body79.us - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81, ptr noundef %call.i135139.us, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp82) +call.i137.noexc.us: ; preds = %for.body79.us + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81, ptr noundef %call.i137141.us, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp82) to label %if.then.i unwind label %lpad83.split.us -lpad83.split.us: ; preds = %call.i135.noexc.us, %for.body79.us +lpad83.split.us: ; preds = %call.i137.noexc.us, %for.body79.us %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup89 for.body79: ; preds = %for.body58, %for.inc192 - %__begin373.0.idx268 = phi i64 [ %__begin373.0.add, %for.inc192 ], [ 0, %for.body58 ] - %__begin373.0.ptr = getelementptr inbounds i8, ptr %ref.tmp61, i64 %__begin373.0.idx268 + %__begin373.0.idx270 = phi i64 [ %__begin373.0.add, %for.inc192 ], [ 0, %for.body58 ] + %__begin373.0.ptr = getelementptr inbounds i8, ptr %ref.tmp61, i64 %__begin373.0.idx270 %8 = load i8, ptr %__begin373.0.ptr, align 1 call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp82) #28 - %call.i135139 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81) - to label %call.i135.noexc unwind label %lpad83.split + %call.i137141 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81) + to label %call.i137.noexc unwind label %lpad83.split -call.i135.noexc: ; preds = %for.body79 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81, ptr noundef %call.i135139, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp82) - to label %.noexc140 unwind label %lpad83.split +call.i137.noexc: ; preds = %for.body79 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81, ptr noundef %call.i137141, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp82) + to label %.noexc142 unwind label %lpad83.split -.noexc140: ; preds = %call.i135.noexc +.noexc142: ; preds = %call.i137.noexc %call.i.i = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %.fr) #28 - %add.ptr.i136 = getelementptr inbounds i8, ptr %.fr, i64 %call.i.i - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81, ptr noundef nonnull %.fr, ptr noundef nonnull %add.ptr.i136) - to label %invoke.cont84 unwind label %lpad.i137.loopexit + %add.ptr.i138 = getelementptr inbounds i8, ptr %.fr, i64 %call.i.i + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81, ptr noundef nonnull %.fr, ptr noundef nonnull %add.ptr.i138) + to label %invoke.cont84 unwind label %lpad.i139.loopexit -if.then.i: ; preds = %call.i135.noexc.us +if.then.i: ; preds = %call.i137.noexc.us invoke void @_ZSt19__throw_logic_errorPKc(ptr noundef nonnull @.str.72) #31 - to label %invoke.cont.i138 unwind label %lpad.i137.loopexit.split-lp + to label %invoke.cont.i140 unwind label %lpad.i139.loopexit.split-lp -invoke.cont.i138: ; preds = %if.then.i +invoke.cont.i140: ; preds = %if.then.i unreachable -lpad.i137.loopexit: ; preds = %.noexc140 +lpad.i139.loopexit: ; preds = %.noexc142 %lpad.loopexit = landingpad { ptr, i32 } cleanup - br label %lpad.i137 + br label %lpad.i139 -lpad.i137.loopexit.split-lp: ; preds = %if.then.i +lpad.i139.loopexit.split-lp: ; preds = %if.then.i %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup - br label %lpad.i137 + br label %lpad.i139 -lpad.i137: ; preds = %lpad.i137.loopexit.split-lp, %lpad.i137.loopexit - %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %lpad.i137.loopexit ], [ %lpad.loopexit.split-lp, %lpad.i137.loopexit.split-lp ] +lpad.i139: ; preds = %lpad.i139.loopexit.split-lp, %lpad.i139.loopexit + %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %lpad.i139.loopexit ], [ %lpad.loopexit.split-lp, %lpad.i139.loopexit.split-lp ] call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp81) #28 br label %ehcleanup89 -invoke.cont84: ; preds = %.noexc140 - %call.i142143 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81, i64 noundef 1, i8 noundef signext 76) +invoke.cont84: ; preds = %.noexc142 + %call.i144145 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81, i64 noundef 1, i8 noundef signext 76) to label %invoke.cont86 unwind label %lpad85 invoke.cont86: ; preds = %invoke.cont84 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp80, ptr noundef nonnull align 8 dereferenceable(32) %call.i142143) #28 - %call.i144145 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp80, i64 noundef 1, i8 noundef signext %8) + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp80, ptr noundef nonnull align 8 dereferenceable(32) %call.i144145) #28 + %call.i146147 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp80, i64 noundef 1, i8 noundef signext %8) to label %invoke.cont88 unwind label %lpad87 invoke.cont88: ; preds = %invoke.cont86 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %fmt_str, ptr noundef nonnull align 8 dereferenceable(32) %call.i144145) #28 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %fmt_str, ptr noundef nonnull align 8 dereferenceable(32) %call.i146147) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp80) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81) #28 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp82) #28 - %call.i.i147 = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %.fr) #28 - %cmp.i150 = icmp eq i64 %call.i.i147, 6 - br i1 %cmp.i150, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i, label %if.end + %call.i.i149 = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %.fr) #28 + %cmp.i152 = icmp eq i64 %call.i.i149, 6 + br i1 %cmp.i152, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i, label %if.end _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i: ; preds = %invoke.cont88 %bcmp.i = call i32 @bcmp(ptr noundef nonnull dereferenceable(6) %.fr, ptr noundef nonnull dereferenceable(6) @.str.205, i64 6) @@ -41859,7 +41860,7 @@ switch.early.test: ; preds = %_ZNSt11char_traitsI i8 65, label %if.end ] -lpad83.split: ; preds = %call.i135.noexc, %for.body79 +lpad83.split: ; preds = %call.i137.noexc, %for.body79 %9 = landingpad { ptr, i32 } cleanup br label %ehcleanup89 @@ -41880,8 +41881,8 @@ ehcleanup: ; preds = %lpad87, %lpad85 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp81) #28 br label %ehcleanup89 -ehcleanup89: ; preds = %lpad83.split, %lpad83.split.us, %lpad.i137, %ehcleanup - %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %lpad.phi, %lpad.i137 ], [ %9, %lpad83.split ], [ %7, %lpad83.split.us ] +ehcleanup89: ; preds = %lpad83.split, %lpad83.split.us, %lpad.i139, %ehcleanup + %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %lpad.phi, %lpad.i139 ], [ %9, %lpad83.split ], [ %7, %lpad83.split.us ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp82) #28 br label %ehcleanup201 @@ -41900,18 +41901,18 @@ lor.lhs.false109: ; preds = %if.then108 %15 = load i8, ptr getelementptr inbounds (%"struct.absl::str_format_internal::(anonymous namespace)::NativePrintfTraits", ptr @_ZZN4absl19str_format_internal12_GLOBAL__N_126VerifyNativeImplementationEvE13native_traits, i64 0, i32 3), align 1 %16 = and i8 %15, 1 %tobool110.not = icmp eq i8 %16, 0 - %brmerge = select i1 %tobool110.not, i1 true, i1 %cmp.i152.not266 + %brmerge = select i1 %tobool110.not, i1 true, i1 %cmp.i154.not268 br i1 %brmerge, label %for.inc192, label %invoke.cont125.preheader if.end113: ; preds = %if.end - br i1 %cmp.i152.not266, label %for.inc192, label %invoke.cont125.preheader + br i1 %cmp.i154.not268, label %for.inc192, label %invoke.cont125.preheader invoke.cont125.preheader: ; preds = %if.end113, %lor.lhs.false109 br label %invoke.cont125 invoke.cont125: ; preds = %invoke.cont125.preheader, %for.inc185 - %__begin4115.sroa.0.0267 = phi ptr [ %incdec.ptr.i, %for.inc185 ], [ %doubles.sroa.0.6, %invoke.cont125.preheader ] - %17 = load x86_fp80, ptr %__begin4115.sroa.0.0267, align 16 + %__begin4115.sroa.0.0269 = phi ptr [ %incdec.ptr.i, %for.inc185 ], [ %doubles.sroa.0.6, %invoke.cont125.preheader ] + %17 = load x86_fp80, ptr %__begin4115.sroa.0.0269, align 16 store x86_fp80 %17, ptr %d, align 16 store ptr %d, ptr %arg, align 8 store ptr @_ZN4absl19str_format_internal13FormatArgImpl8DispatchIeEEbNS1_4DataENS0_24FormatConversionSpecImplEPv, ptr %dispatcher_.i.i, align 8 @@ -41928,32 +41929,32 @@ invoke.cont131: ; preds = %invoke.cont125 to label %invoke.cont135 unwind label %lpad134 invoke.cont135: ; preds = %invoke.cont131 - %call.i.i192 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp132) #28, !noalias !1932 + %call.i.i194 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp132) #28, !noalias !1932 %call1.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %result) #28, !noalias !1932 - %cmp.i.i193 = icmp eq i64 %call.i.i192, %call1.i.i - br i1 %cmp.i.i193, label %land.rhs.i.i, label %if.end.i194 + %cmp.i.i195 = icmp eq i64 %call.i.i194, %call1.i.i + br i1 %cmp.i.i195, label %land.rhs.i.i, label %if.end.i196 land.rhs.i.i: ; preds = %invoke.cont135 %call2.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp132) #28, !noalias !1932 %call3.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %result) #28, !noalias !1932 - %call4.i.i195 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp132) #28, !noalias !1932 - %cmp.i.i.i = icmp eq i64 %call4.i.i195, 0 - br i1 %cmp.i.i.i, label %if.then.i196, label %_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit.i + %call4.i.i197 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp132) #28, !noalias !1932 + %cmp.i.i.i = icmp eq i64 %call4.i.i197, 0 + br i1 %cmp.i.i.i, label %if.then.i198, label %_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit.i _ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit.i: ; preds = %land.rhs.i.i - %bcmp.i.i = call i32 @bcmp(ptr %call2.i.i, ptr %call3.i.i, i64 %call4.i.i195), !noalias !1932 + %bcmp.i.i = call i32 @bcmp(ptr %call2.i.i, ptr %call3.i.i, i64 %call4.i.i197), !noalias !1932 %21 = icmp eq i32 %bcmp.i.i, 0 - br i1 %21, label %if.then.i196, label %if.end.i194 + br i1 %21, label %if.then.i198, label %if.end.i196 -if.then.i196: ; preds = %_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit.i, %land.rhs.i.i +if.then.i198: ; preds = %_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit.i, %land.rhs.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar) to label %invoke.cont137 unwind label %lpad136 -if.end.i194: ; preds = %_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit.i, %invoke.cont135 +if.end.i196: ; preds = %_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_.exit.i, %invoke.cont135 invoke void @_ZN7testing8internal18CmpHelperEQFailureINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EENS_15AssertionResultEPKcSA_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull @.str.738, ptr noundef nonnull @.str.739, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp132, ptr noundef nonnull align 8 dereferenceable(32) %result) to label %invoke.cont137 unwind label %lpad136 -invoke.cont137: ; preds = %if.end.i194, %if.then.i196 +invoke.cont137: ; preds = %if.end.i196, %if.then.i198 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp132) #28 %22 = load i8, ptr %gtest_ar, align 8 %23 = and i8 %22, 1 @@ -41970,7 +41971,7 @@ lpad134: ; preds = %invoke.cont131 cleanup br label %ehcleanup184 -lpad136: ; preds = %if.end.i194, %if.then.i196 +lpad136: ; preds = %if.end.i196, %if.then.i198 %26 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp132) #28 @@ -41982,14 +41983,14 @@ if.else: ; preds = %invoke.cont137 invoke.cont143: ; preds = %if.else %27 = load ptr, ptr %ref.tmp141, align 8 - %add.ptr.i154 = getelementptr inbounds i8, ptr %27, i64 16 - %call2.i155 = 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) %add.ptr.i154, ptr noundef nonnull align 8 dereferenceable(32) %fmt_str) + %add.ptr.i156 = getelementptr inbounds i8, ptr %27, i64 16 + %call2.i157 = 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) %add.ptr.i156, ptr noundef nonnull align 8 dereferenceable(32) %fmt_str) to label %invoke.cont145 unwind label %lpad144 invoke.cont145: ; preds = %invoke.cont143 %28 = load ptr, ptr %ref.tmp141, align 8 - %add.ptr.i156 = getelementptr inbounds i8, ptr %28, i64 16 - %call2.i157 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i156, ptr noundef nonnull @.str.219) + %add.ptr.i158 = getelementptr inbounds i8, ptr %28, i64 16 + %call2.i159 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i158, ptr noundef nonnull @.str.219) to label %invoke.cont147 unwind label %lpad144 invoke.cont147: ; preds = %invoke.cont145 @@ -41999,14 +42000,14 @@ invoke.cont147: ; preds = %invoke.cont145 invoke.cont150: ; preds = %invoke.cont147 %30 = load ptr, ptr %ref.tmp141, align 8 - %add.ptr.i158 = getelementptr inbounds i8, ptr %30, i64 16 - %call2.i159 = 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) %add.ptr.i158, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp149) + %add.ptr.i160 = getelementptr inbounds i8, ptr %30, i64 16 + %call2.i161 = 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) %add.ptr.i160, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp149) to label %invoke.cont152 unwind label %lpad151 invoke.cont152: ; preds = %invoke.cont150 %31 = load ptr, ptr %ref.tmp141, align 8 - %add.ptr.i161 = getelementptr inbounds i8, ptr %31, i64 16 - %call2.i162 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i161, ptr noundef nonnull @.str.219) + %add.ptr.i163 = getelementptr inbounds i8, ptr %31, i64 16 + %call2.i164 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i163, ptr noundef nonnull @.str.219) to label %invoke.cont154 unwind label %lpad151 invoke.cont154: ; preds = %invoke.cont152 @@ -42016,14 +42017,14 @@ invoke.cont154: ; preds = %invoke.cont152 invoke.cont157: ; preds = %invoke.cont154 %33 = load ptr, ptr %ref.tmp141, align 8 - %add.ptr.i164 = getelementptr inbounds i8, ptr %33, i64 16 - %call2.i165 = 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) %add.ptr.i164, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp156) + %add.ptr.i166 = getelementptr inbounds i8, ptr %33, i64 16 + %call2.i167 = 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) %add.ptr.i166, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp156) to label %invoke.cont159 unwind label %lpad158 invoke.cont159: ; preds = %invoke.cont157 %34 = load ptr, ptr %ref.tmp141, align 8 - %add.ptr.i167 = getelementptr inbounds i8, ptr %34, i64 16 - %call2.i168 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i167, ptr noundef nonnull @.str.219) + %add.ptr.i169 = getelementptr inbounds i8, ptr %34, i64 16 + %call2.i170 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i169, ptr noundef nonnull @.str.219) to label %invoke.cont161 unwind label %lpad158 invoke.cont161: ; preds = %invoke.cont159 @@ -42033,12 +42034,12 @@ invoke.cont161: ; preds = %invoke.cont159 invoke.cont164: ; preds = %invoke.cont161 %36 = load ptr, ptr %ref.tmp141, align 8 - %add.ptr.i170 = getelementptr inbounds i8, ptr %36, i64 16 - %call2.i171 = 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) %add.ptr.i170, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp163) + %add.ptr.i172 = getelementptr inbounds i8, ptr %36, i64 16 + %call2.i173 = 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) %add.ptr.i172, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp163) to label %invoke.cont166 unwind label %lpad165 invoke.cont166: ; preds = %invoke.cont164 - %37 = load ptr, ptr %message_.i180, align 8 + %37 = load ptr, ptr %message_.i182, align 8 %cmp.i.i.not.i.i = icmp eq ptr %37, null br i1 %cmp.i.i.not.i.i, label %invoke.cont169, label %cond.true.i.i @@ -42061,8 +42062,8 @@ invoke.cont173: ; preds = %invoke.cont171 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp156) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp149) #28 %38 = load ptr, ptr %ref.tmp141, align 8 - %cmp.not.i.i173 = icmp eq ptr %38, null - br i1 %cmp.not.i.i173, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i175 = icmp eq ptr %38, null + br i1 %cmp.not.i.i175, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont173 %vtable.i.i.i = load ptr, ptr %38, align 8 @@ -42073,9 +42074,9 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont173, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %ref.tmp141, align 8 - %40 = load ptr, ptr %message_.i180, align 8 - %cmp.not.i.i174 = icmp eq ptr %40, null - br i1 %cmp.not.i.i174, label %cleanup188, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %40 = load ptr, ptr %message_.i182, align 8 + %cmp.not.i.i176 = icmp eq ptr %40, null + br i1 %cmp.not.i.i176, label %cleanup188, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #28 @@ -42131,39 +42132,39 @@ ehcleanup177: ; preds = %ehcleanup176, %lpad ehcleanup178: ; preds = %ehcleanup177, %lpad144 %.pn37.pn.pn.pn = phi { ptr, i32 } [ %.pn37.pn.pn, %ehcleanup177 ], [ %42, %lpad144 ] %47 = load ptr, ptr %ref.tmp141, align 8 - %cmp.not.i.i175 = icmp eq ptr %47, null - br i1 %cmp.not.i.i175, label %_ZN7testing7MessageD2Ev.exit179, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 + %cmp.not.i.i177 = icmp eq ptr %47, null + br i1 %cmp.not.i.i177, label %_ZN7testing7MessageD2Ev.exit181, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176: ; preds = %ehcleanup178 - %vtable.i.i.i177 = load ptr, ptr %47, align 8 - %vfn.i.i.i178 = getelementptr inbounds ptr, ptr %vtable.i.i.i177, i64 1 - %48 = load ptr, ptr %vfn.i.i.i178, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178: ; preds = %ehcleanup178 + %vtable.i.i.i179 = load ptr, ptr %47, align 8 + %vfn.i.i.i180 = getelementptr inbounds ptr, ptr %vtable.i.i.i179, i64 1 + %48 = load ptr, ptr %vfn.i.i.i180, align 8 call void %48(ptr noundef nonnull align 8 dereferenceable(128) %47) #28 - br label %_ZN7testing7MessageD2Ev.exit179 + br label %_ZN7testing7MessageD2Ev.exit181 -_ZN7testing7MessageD2Ev.exit179: ; preds = %ehcleanup178, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 +_ZN7testing7MessageD2Ev.exit181: ; preds = %ehcleanup178, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178 store ptr null, ptr %ref.tmp141, align 8 br label %ehcleanup180 for.inc185.critedge: ; preds = %invoke.cont137 - %49 = load ptr, ptr %message_.i180, align 8 - %cmp.not.i.i181 = icmp eq ptr %49, null - br i1 %cmp.not.i.i181, label %for.inc185, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 + %49 = load ptr, ptr %message_.i182, align 8 + %cmp.not.i.i183 = icmp eq ptr %49, null + br i1 %cmp.not.i.i183, label %for.inc185, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182: ; preds = %for.inc185.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184: ; preds = %for.inc185.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #28 call void @_ZdlPv(ptr noundef nonnull %49) #32 br label %for.inc185 -for.inc185: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182, %for.inc185.critedge - store ptr null, ptr %message_.i180, align 8 +for.inc185: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184, %for.inc185.critedge + store ptr null, ptr %message_.i182, align 8 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %result) #28 - %incdec.ptr.i = getelementptr inbounds x86_fp80, ptr %__begin4115.sroa.0.0267, i64 1 - %cmp.i152.not = icmp eq ptr %incdec.ptr.i, %doubles.sroa.12.5 - br i1 %cmp.i152.not, label %for.inc192, label %invoke.cont125 + %incdec.ptr.i = getelementptr inbounds x86_fp80, ptr %__begin4115.sroa.0.0269, i64 1 + %cmp.i154.not = icmp eq ptr %incdec.ptr.i, %doubles.sroa.12.5 + br i1 %cmp.i154.not, label %for.inc192, label %invoke.cont125 -ehcleanup180: ; preds = %_ZN7testing7MessageD2Ev.exit179, %lpad142 - %.pn37.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn37.pn.pn.pn, %_ZN7testing7MessageD2Ev.exit179 ], [ %41, %lpad142 ] +ehcleanup180: ; preds = %_ZN7testing7MessageD2Ev.exit181, %lpad142 + %.pn37.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn37.pn.pn.pn, %_ZN7testing7MessageD2Ev.exit181 ], [ %41, %lpad142 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup184 @@ -42173,14 +42174,14 @@ ehcleanup184: ; preds = %ehcleanup180, %lpad br label %ehcleanup191 cleanup188: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %_ZN7testing7MessageD2Ev.exit - store ptr null, ptr %message_.i180, align 8 + store ptr null, ptr %message_.i182, align 8 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %result) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %fmt_str) #28 br label %cleanup198 for.inc192: ; preds = %for.inc185, %lor.lhs.false109, %if.end113, %switch.early.test, %if.then108 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %fmt_str) #28 - %__begin373.0.add = add nuw nsw i64 %__begin373.0.idx268, 1 + %__begin373.0.add = add nuw nsw i64 %__begin373.0.idx270, 1 %cmp78.not = icmp eq i64 %__begin373.0.add, 8 br i1 %cmp78.not, label %for.inc195, label %for.body79 @@ -42190,13 +42191,13 @@ ehcleanup191: ; preds = %ehcleanup184, %lpad br label %ehcleanup201 for.inc195: ; preds = %for.inc192 - %__begin253.0.add = add nuw nsw i64 %__begin253.0.idx269, 8 + %__begin253.0.add = add nuw nsw i64 %__begin253.0.idx271, 8 %cmp57.not = icmp eq i64 %__begin253.0.add, 72 br i1 %cmp57.not, label %cleanup198, label %for.body58 cleanup198: ; preds = %for.inc195, %cleanup188 - %tobool.not.i.i.i185 = icmp eq ptr %doubles.sroa.0.6, null - br i1 %tobool.not.i.i.i185, label %_ZNSt6vectorIeSaIeEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i187 = icmp eq ptr %doubles.sroa.0.6, null + br i1 %tobool.not.i.i.i187, label %_ZNSt6vectorIeSaIeEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %cleanup198 call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.6) #32 @@ -42206,12 +42207,12 @@ _ZNSt6vectorIeSaIeEED2Ev.exit: ; preds = %cleanup198, %if.the ret void ehcleanup201: ; preds = %lpad34.loopexit, %lpad34.loopexit.split-lp, %ehcleanup191, %ehcleanup89 - %doubles.sroa.0.7 = phi ptr [ %doubles.sroa.0.6, %ehcleanup89 ], [ %doubles.sroa.0.6, %ehcleanup191 ], [ %doubles.sroa.0.5.ph, %lpad34.loopexit ], [ %doubles.sroa.0.5.ph223, %lpad34.loopexit.split-lp ] - %.pn45 = phi { ptr, i32 } [ %.pn.pn, %ehcleanup89 ], [ %.pn37.pn.pn.pn.pn.pn.pn, %ehcleanup191 ], [ %lpad.loopexit224, %lpad34.loopexit ], [ %lpad.loopexit.split-lp225, %lpad34.loopexit.split-lp ] - %tobool.not.i.i.i188 = icmp eq ptr %doubles.sroa.0.7, null - br i1 %tobool.not.i.i.i188, label %common.resume, label %if.then.i.i.i189 + %doubles.sroa.0.7 = phi ptr [ %doubles.sroa.0.6, %ehcleanup89 ], [ %doubles.sroa.0.6, %ehcleanup191 ], [ %doubles.sroa.0.5.ph, %lpad34.loopexit ], [ %doubles.sroa.0.5.ph225, %lpad34.loopexit.split-lp ] + %.pn45 = phi { ptr, i32 } [ %.pn.pn, %ehcleanup89 ], [ %.pn37.pn.pn.pn.pn.pn.pn, %ehcleanup191 ], [ %lpad.loopexit226, %lpad34.loopexit ], [ %lpad.loopexit.split-lp227, %lpad34.loopexit.split-lp ] + %tobool.not.i.i.i190 = icmp eq ptr %doubles.sroa.0.7, null + br i1 %tobool.not.i.i.i190, label %common.resume, label %if.then.i.i.i191 -if.then.i.i.i189: ; preds = %ehcleanup201 +if.then.i.i.i191: ; preds = %ehcleanup201 call void @_ZdlPv(ptr noundef nonnull %doubles.sroa.0.7) #32 br label %common.resume } @@ -42385,7 +42386,7 @@ invoke.cont18: ; preds = %invoke.cont13 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont18 store ptr %call5.i.i.i.i5.i21, ptr %expect, align 8 - %add.ptr.i4.i = getelementptr inbounds %struct.Expectation.243, ptr %call5.i.i.i.i5.i21, i64 4 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i21, i64 192 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i @@ -66554,7 +66555,7 @@ entry: %ref.tmp108 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 28 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(28) @constinit.814, i64 28, i1 false) @@ -66590,8 +66591,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 - %add.ptr.i.i = getelementptr inbounds i32, ptr %4, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i32, ptr %ref.tmp9, i64 4 invoke void @_ZNSt6vectorIiSaIiEE15_M_range_insertIPKiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp9, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont18 unwind label %lpad17.loopexit.split-lp @@ -67296,14 +67296,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 2 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKimEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i32, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i32, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -67321,48 +67321,48 @@ _ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__position.coerce, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKimEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i32, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKimEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i32, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr36, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i32, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__position.coerce, ptr align 4 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 2 - %sub.i = sub nsw i64 2305843009213693951, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 2 + %sub.i = sub nsw i64 2305843009213693951, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit @@ -67371,9 +67371,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 2305843009213693951 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 2305843009213693951, i64 %add.i @@ -67386,47 +67386,45 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIi br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i62, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i59, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 2 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i32, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 2 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit -_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i32, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i32, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPim.exit, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit, %entry ret void } @@ -67509,7 +67507,7 @@ entry: %ref.tmp106 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 28 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(28) @constinit.814, i64 28, i1 false) @@ -67545,8 +67543,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 - %add.ptr.i.i = getelementptr inbounds i32, ptr %4, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i32, ptr %ref.tmp9, i64 4 invoke void @_ZNSt6vectorIjSaIjEE15_M_range_insertIPKjEEvN9__gnu_cxx17__normal_iteratorIPjS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp9, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont18 unwind label %lpad17.loopexit.split-lp @@ -68103,14 +68100,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 2 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKjmEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i32, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i32, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKjN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -68128,48 +68125,48 @@ _ZSt4copyIPKjN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__position.coerce, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKjmEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i32, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKjmEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKjmEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKjmEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i32, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr36, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i32, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKjPjjET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__position.coerce, ptr align 4 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 2 - %sub.i = sub nsw i64 2305843009213693951, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 2 + %sub.i = sub nsw i64 2305843009213693951, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit @@ -68178,9 +68175,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 2305843009213693951 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 2305843009213693951, i64 %add.i @@ -68193,47 +68190,45 @@ _ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIj br label %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i62, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i59, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 2 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i32, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 2 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit -_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i32, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i32, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit, %_ZSt4copyIPKjN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPjS0_SaIjEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit, %_ZSt4copyIPKjN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEET0_T_SA_S9_.exit, %entry ret void } @@ -68313,7 +68308,7 @@ entry: %ref.tmp104 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 28 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(28) @constinit.814, i64 28, i1 false) @@ -68352,8 +68347,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %7 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 - %add.ptr.i.i = getelementptr inbounds i32, ptr %7, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %7, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i32, ptr %ref.tmp9, i64 4 invoke void @_ZNSt6vectorIiSaIiEE15_M_range_insertIPKiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp9, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont18 unwind label %lpad17.loopexit.split-lp @@ -68961,7 +68955,7 @@ entry: %ref.tmp115 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(14) ptr @_Znwm(i64 noundef 14) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i16, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 14 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i16> , ptr %call5.i.i.i.i2.i, align 2 @@ -69003,8 +68997,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 1 - %add.ptr.i.i = getelementptr inbounds i16, ptr %4, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i16, ptr %ref.tmp14, i64 4 invoke void @_ZNSt6vectorIsSaIsEE15_M_range_insertIPKsEEvN9__gnu_cxx17__normal_iteratorIPsS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp14, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont25 unwind label %lpad24.loopexit.split-lp @@ -69564,14 +69557,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 1 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKsmEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i16, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %1, ptr align 2 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i16, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKsN9__gnu_cxx17__normal_iteratorIPsSt6vectorIsSaIsEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -69589,48 +69582,48 @@ _ZSt4copyIPKsN9__gnu_cxx17__normal_iteratorIPsSt6vectorIsSaIsEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %__position.coerce, ptr align 2 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKsmEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i16, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKsmEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %1, ptr align 2 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %1, ptr align 2 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKsmEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKsmEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i16, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %add.ptr36, ptr align 2 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i16, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKsPssET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %__position.coerce, ptr align 2 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 1 - %sub.i = sub nsw i64 4611686018427387903, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 1 + %sub.i = sub nsw i64 4611686018427387903, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIsSaIsEE12_M_check_lenEmPKc.exit @@ -69639,9 +69632,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorIsSaIsEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 4611686018427387903 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 4611686018427387903, i64 %add.i @@ -69654,47 +69647,45 @@ _ZNSt16allocator_traitsISaIsEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIs br label %_ZNSt12_Vector_baseIsSaIsEE11_M_allocateEm.exit _ZNSt12_Vector_baseIsSaIsEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorIsSaIsEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaIsEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIsEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIsSaIsEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseIsSaIsEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %cond.i62, ptr align 2 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIsEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIsSaIsEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIsSaIsEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %cond.i59, ptr align 2 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseIsSaIsEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 1 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i16, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 2 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i16, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 2 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 2 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseIsSaIsEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 2 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 2 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 1 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i16, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIsSaIsEE13_M_deallocateEPsm.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIsSaIsEE13_M_deallocateEPsm.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseIsSaIsEE13_M_deallocateEPsm.exit -_ZNSt12_Vector_baseIsSaIsEE13_M_deallocateEPsm.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i16, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseIsSaIsEE13_M_deallocateEPsm.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i16, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseIsSaIsEE13_M_deallocateEPsm.exit, %_ZSt4copyIPKsN9__gnu_cxx17__normal_iteratorIPsSt6vectorIsSaIsEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPsS0_SaIsEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseIsSaIsEE13_M_deallocateEPsm.exit, %_ZSt4copyIPKsN9__gnu_cxx17__normal_iteratorIPsSt6vectorIsSaIsEEEEET0_T_SA_S9_.exit, %entry ret void } @@ -69772,7 +69763,7 @@ entry: %ref.tmp115 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(14) ptr @_Znwm(i64 noundef 14) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i16, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 14 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store <4 x i16> , ptr %call5.i.i.i.i2.i, align 2 @@ -69814,8 +69805,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 1 - %add.ptr.i.i = getelementptr inbounds i16, ptr %4, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i16, ptr %ref.tmp14, i64 4 invoke void @_ZNSt6vectorItSaItEE15_M_range_insertIPKtEEvN9__gnu_cxx17__normal_iteratorIPtS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp14, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont25 unwind label %lpad24.loopexit.split-lp @@ -70374,14 +70364,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 1 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKtmEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i16, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %1, ptr align 2 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i16, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKtN9__gnu_cxx17__normal_iteratorIPtSt6vectorItSaItEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -70399,48 +70389,48 @@ _ZSt4copyIPKtN9__gnu_cxx17__normal_iteratorIPtSt6vectorItSaItEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %__position.coerce, ptr align 2 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKtmEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i16, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKtmEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %1, ptr align 2 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %1, ptr align 2 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKtmEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKtmEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i16, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %add.ptr36, ptr align 2 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i16, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKtPttET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %__position.coerce, ptr align 2 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 1 - %sub.i = sub nsw i64 4611686018427387903, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 1 + %sub.i = sub nsw i64 4611686018427387903, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorItSaItEE12_M_check_lenEmPKc.exit @@ -70449,9 +70439,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorItSaItEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 4611686018427387903 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 4611686018427387903, i64 %add.i @@ -70464,47 +70454,45 @@ _ZNSt16allocator_traitsISaItEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIt br label %_ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit _ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorItSaItEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaItEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaItEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorItSaItEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %cond.i62, ptr align 2 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaItEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorItSaItEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %cond.i59, ptr align 2 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 1 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i16, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 2 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i16, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 2 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 2 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 2 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 2 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 2 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 1 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i16, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseItSaItEE13_M_deallocateEPtm.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseItSaItEE13_M_deallocateEPtm.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseItSaItEE13_M_deallocateEPtm.exit -_ZNSt12_Vector_baseItSaItEE13_M_deallocateEPtm.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i16, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseItSaItEE13_M_deallocateEPtm.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i16, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseItSaItEE13_M_deallocateEPtm.exit, %_ZSt4copyIPKtN9__gnu_cxx17__normal_iteratorIPtSt6vectorItSaItEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPtS0_SaItEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseItSaItEE13_M_deallocateEPtm.exit, %_ZSt4copyIPKtN9__gnu_cxx17__normal_iteratorIPtSt6vectorItSaItEEEEET0_T_SA_S9_.exit, %entry ret void } @@ -70582,7 +70570,7 @@ entry: %ref.tmp107 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 56 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(56) @constinit.813, i64 56, i1 false) @@ -70618,8 +70606,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 3 - %add.ptr.i.i = getelementptr inbounds i64, ptr %4, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i64, ptr %ref.tmp9, i64 4 invoke void @_ZNSt6vectorIlSaIlEE15_M_range_insertIPKlEEvN9__gnu_cxx17__normal_iteratorIPlS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp9, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont18 unwind label %lpad17.loopexit.split-lp @@ -71177,14 +71164,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKlmEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i64, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i64, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKlN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -71202,48 +71189,48 @@ _ZSt4copyIPKlN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__position.coerce, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKlmEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i64, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKlmEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKlmEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKlmEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i64, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr36, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i64, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKlPllET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__position.coerce, ptr align 8 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 3 - %sub.i = sub nsw i64 1152921504606846975, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 3 + %sub.i = sub nsw i64 1152921504606846975, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit @@ -71252,9 +71239,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 1152921504606846975 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 1152921504606846975, i64 %add.i @@ -71267,47 +71254,45 @@ _ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIl br label %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit _ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i62, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIlEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIlSaIlEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i59, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 3 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i64, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 3 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIlSaIlEE13_M_deallocateEPlm.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIlSaIlEE13_M_deallocateEPlm.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseIlSaIlEE13_M_deallocateEPlm.exit -_ZNSt12_Vector_baseIlSaIlEE13_M_deallocateEPlm.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i64, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseIlSaIlEE13_M_deallocateEPlm.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i64, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseIlSaIlEE13_M_deallocateEPlm.exit, %_ZSt4copyIPKlN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPlS0_SaIlEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseIlSaIlEE13_M_deallocateEPlm.exit, %_ZSt4copyIPKlN9__gnu_cxx17__normal_iteratorIPlSt6vectorIlSaIlEEEEET0_T_SA_S9_.exit, %entry ret void } @@ -73298,7 +73283,7 @@ entry: %ref.tmp105 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 56 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(56) @constinit.813, i64 56, i1 false) @@ -73334,8 +73319,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 3 - %add.ptr.i.i = getelementptr inbounds i64, ptr %4, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i64, ptr %ref.tmp9, i64 4 invoke void @_ZNSt6vectorImSaImEE15_M_range_insertIPKmEEvN9__gnu_cxx17__normal_iteratorIPmS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp9, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont18 unwind label %lpad17.loopexit.split-lp @@ -73892,14 +73876,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKmmEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i64, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i64, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKmN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -73917,48 +73901,48 @@ _ZSt4copyIPKmN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__position.coerce, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKmmEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i64, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKmmEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKmmEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKmmEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i64, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr36, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i64, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKmPmmET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__position.coerce, ptr align 8 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 3 - %sub.i = sub nsw i64 1152921504606846975, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 3 + %sub.i = sub nsw i64 1152921504606846975, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit @@ -73967,9 +73951,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 1152921504606846975 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 1152921504606846975, i64 %add.i @@ -73982,47 +73966,45 @@ _ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIm br label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit _ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i62, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i59, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 3 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i64, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 3 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm.exit -_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i64, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i64, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm.exit, %_ZSt4copyIPKmN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPmS0_SaImEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseImSaImEE13_M_deallocateEPmm.exit, %_ZSt4copyIPKmN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEEET0_T_SA_S9_.exit, %entry ret void } @@ -74100,7 +74082,7 @@ entry: %ref.tmp107 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 56 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(56) @constinit.813, i64 56, i1 false) @@ -74136,8 +74118,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 3 - %add.ptr.i.i = getelementptr inbounds i64, ptr %4, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i64, ptr %ref.tmp9, i64 4 invoke void @_ZNSt6vectorIxSaIxEE15_M_range_insertIPKxEEvN9__gnu_cxx17__normal_iteratorIPxS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp9, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont18 unwind label %lpad17.loopexit.split-lp @@ -74695,14 +74676,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKxmEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i64, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i64, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKxN9__gnu_cxx17__normal_iteratorIPxSt6vectorIxSaIxEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -74720,48 +74701,48 @@ _ZSt4copyIPKxN9__gnu_cxx17__normal_iteratorIPxSt6vectorIxSaIxEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__position.coerce, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKxmEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i64, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKxmEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKxmEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKxmEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i64, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr36, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i64, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKxPxxET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__position.coerce, ptr align 8 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 3 - %sub.i = sub nsw i64 1152921504606846975, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 3 + %sub.i = sub nsw i64 1152921504606846975, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIxSaIxEE12_M_check_lenEmPKc.exit @@ -74770,9 +74751,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorIxSaIxEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 1152921504606846975 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 1152921504606846975, i64 %add.i @@ -74785,47 +74766,45 @@ _ZNSt16allocator_traitsISaIxEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIx br label %_ZNSt12_Vector_baseIxSaIxEE11_M_allocateEm.exit _ZNSt12_Vector_baseIxSaIxEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorIxSaIxEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaIxEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIxEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIxSaIxEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseIxSaIxEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i62, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIxEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIxSaIxEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIxSaIxEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i59, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseIxSaIxEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 3 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i64, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseIxSaIxEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 3 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIxSaIxEE13_M_deallocateEPxm.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIxSaIxEE13_M_deallocateEPxm.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseIxSaIxEE13_M_deallocateEPxm.exit -_ZNSt12_Vector_baseIxSaIxEE13_M_deallocateEPxm.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i64, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseIxSaIxEE13_M_deallocateEPxm.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i64, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseIxSaIxEE13_M_deallocateEPxm.exit, %_ZSt4copyIPKxN9__gnu_cxx17__normal_iteratorIPxSt6vectorIxSaIxEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPxS0_SaIxEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseIxSaIxEE13_M_deallocateEPxm.exit, %_ZSt4copyIPKxN9__gnu_cxx17__normal_iteratorIPxSt6vectorIxSaIxEEEEET0_T_SA_S9_.exit, %entry ret void } @@ -74903,7 +74882,7 @@ entry: %ref.tmp107 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #33 store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 56 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(56) @constinit.813, i64 56, i1 false) @@ -74939,8 +74918,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %2 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 3 - %add.ptr.i.i = getelementptr inbounds i64, ptr %4, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i64, ptr %ref.tmp9, i64 4 invoke void @_ZNSt6vectorIySaIyEE15_M_range_insertIPKyEEvN9__gnu_cxx17__normal_iteratorIPyS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp9, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont18 unwind label %lpad17.loopexit.split-lp @@ -75497,14 +75475,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKymEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i64, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i64, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKyN9__gnu_cxx17__normal_iteratorIPySt6vectorIySaIyEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -75522,48 +75500,48 @@ _ZSt4copyIPKyN9__gnu_cxx17__normal_iteratorIPySt6vectorIySaIyEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__position.coerce, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKymEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i64, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKymEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %1, ptr align 8 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKymEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKymEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i64, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr36, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i64, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKyPyyET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__position.coerce, ptr align 8 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 3 - %sub.i = sub nsw i64 1152921504606846975, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 3 + %sub.i = sub nsw i64 1152921504606846975, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIySaIyEE12_M_check_lenEmPKc.exit @@ -75572,9 +75550,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorIySaIyEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 1152921504606846975 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 1152921504606846975, i64 %add.i @@ -75587,47 +75565,45 @@ _ZNSt16allocator_traitsISaIyEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIy br label %_ZNSt12_Vector_baseIySaIyEE11_M_allocateEm.exit _ZNSt12_Vector_baseIySaIyEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorIySaIyEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaIyEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIyEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIySaIyEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseIySaIyEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i62, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIyEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIySaIyEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIySaIyEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i59, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseIySaIyEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 3 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i64, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseIySaIyEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 8 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 8 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 3 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIySaIyEE13_M_deallocateEPym.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIySaIyEE13_M_deallocateEPym.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseIySaIyEE13_M_deallocateEPym.exit -_ZNSt12_Vector_baseIySaIyEE13_M_deallocateEPym.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i64, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseIySaIyEE13_M_deallocateEPym.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i64, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseIySaIyEE13_M_deallocateEPym.exit, %_ZSt4copyIPKyN9__gnu_cxx17__normal_iteratorIPySt6vectorIySaIyEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPyS0_SaIyEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseIySaIyEE13_M_deallocateEPym.exit, %_ZSt4copyIPKyN9__gnu_cxx17__normal_iteratorIPySt6vectorIySaIyEEEEET0_T_SA_S9_.exit, %entry ret void } @@ -78073,7 +78049,7 @@ lpad.i: ; preds = %entry invoke.cont: ; preds = %entry store ptr %call5.i.i.i.i2.i, ptr %vals, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 7 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 28 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %vals, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(28) @constinit.814, i64 28, i1 false) @@ -78110,8 +78086,7 @@ init.end: ; preds = %init, %init.check, %sub.ptr.lhs.cast.i.i = ptrtoint ptr %3 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 - %add.ptr.i.i = getelementptr inbounds i32, ptr %5, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %5, i64 %sub.ptr.sub.i.i %add.ptr.i2.i = getelementptr inbounds i32, ptr %ref.tmp7, i64 4 invoke void @_ZNSt6vectorIwSaIwEE15_M_range_insertIPKwEEvN9__gnu_cxx17__normal_iteratorIPwS1_EET_S9_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %vals, ptr %add.ptr.i.i, ptr noundef nonnull %ref.tmp7, ptr noundef nonnull %add.ptr.i2.i) to label %invoke.cont16 unwind label %lpad15.loopexit.split-lp @@ -78665,14 +78640,14 @@ if.then4: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 2 %cmp10 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i - br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit, label %_ZSt7advanceIPKwmEvRT_T0_.exit + br i1 %cmp10, label %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit, label %if.else5.i.i _ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit: ; preds = %if.then4 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i %add.ptr = getelementptr inbounds i32, ptr %1, i64 %idx.neg tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %add.ptr, i64 %sub.ptr.sub.i.i, i1 false) - %.pre98 = load ptr, ptr %_M_finish, align 8 - %add.ptr22 = getelementptr inbounds i32, ptr %.pre98, i64 %sub.ptr.div.i.i + %.pre92 = load ptr, ptr %_M_finish, align 8 + %add.ptr22 = getelementptr inbounds i8, ptr %.pre92, i64 %sub.ptr.sub.i.i store ptr %add.ptr22, ptr %_M_finish, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %add.ptr, %__position.coerce br i1 %tobool.not.i.i.i.i.i, label %_ZSt4copyIPKwN9__gnu_cxx17__normal_iteratorIPwSt6vectorIwSaIwEEEEET0_T_SA_S9_.exit, label %if.then.i.i.i.i.i @@ -78690,48 +78665,48 @@ _ZSt4copyIPKwN9__gnu_cxx17__normal_iteratorIPwSt6vectorIwSaIwEEEEET0_T_SA_S9_.ex tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__position.coerce, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) br label %if.end87 -_ZSt7advanceIPKwmEvRT_T0_.exit: ; preds = %if.then4 - %incdec.ptr.i.i = getelementptr inbounds i32, ptr %__first, i64 %sub.ptr.div.i - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i, %__last +if.else5.i.i: ; preds = %if.then4 + %add.ptr.i.i = getelementptr inbounds i8, ptr %__first, i64 %sub.ptr.sub.i + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i, %__last br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit, label %if.then.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIPKwmEvRT_T0_.exit - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %incdec.ptr.i.i to i64 +if.then.i.i.i.i.i.i.i.i: ; preds = %if.else5.i.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %incdec.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %1, ptr align 4 %add.ptr.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit: ; preds = %_ZSt7advanceIPKwmEvRT_T0_.exit, %if.then.i.i.i.i.i.i.i.i - %2 = phi ptr [ %1, %_ZSt7advanceIPKwmEvRT_T0_.exit ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] +_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit: ; preds = %if.else5.i.i, %if.then.i.i.i.i.i.i.i.i + %2 = phi ptr [ %1, %if.else5.i.i ], [ %.pre, %if.then.i.i.i.i.i.i.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i, %sub.ptr.div.i %add.ptr36 = getelementptr inbounds i32, ptr %2, i64 %sub store ptr %add.ptr36, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit49, label %if.then.i.i.i.i.i.i.i.i.i46 + %tobool.not.i.i.i.i.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit47, label %if.then.i.i.i.i.i.i.i.i.i45 -if.then.i.i.i.i.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit +if.then.i.i.i.i.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr36, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i, i1 false) - %.pre97 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit49 + %.pre91 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit47 -_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit49: ; preds = %_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i46 - %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre97, %if.then.i.i.i.i.i.i.i.i.i46 ] - %add.ptr44 = getelementptr inbounds i32, ptr %3, i64 %sub.ptr.div.i +_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit47: ; preds = %_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit, %if.then.i.i.i.i.i.i.i.i.i45 + %3 = phi ptr [ %add.ptr36, %_ZSt22__uninitialized_copy_aIPKwPwwET0_T_S4_S3_RSaIT1_E.exit ], [ %.pre91, %if.then.i.i.i.i.i.i.i.i.i45 ] + %add.ptr44 = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i store ptr %add.ptr44, ptr %_M_finish, align 8 - %tobool.not.i.i.i.i.i53 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i53, label %if.end87, label %if.then.i.i.i.i.i54 + %tobool.not.i.i.i.i.i51 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i51, label %if.end87, label %if.then.i.i.i.i.i52 -if.then.i.i.i.i.i54: ; preds = %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit49 +if.then.i.i.i.i.i52: ; preds = %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit47 tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %__position.coerce, ptr align 4 %__first, i64 %sub.ptr.sub.i, i1 false) br label %if.end87 if.else50: ; preds = %if.then %4 = load ptr, ptr %this, align 8 - %sub.ptr.rhs.cast.i.i59 = ptrtoint ptr %4 to i64 - %sub.ptr.sub.i.i60 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i59 - %sub.ptr.div.i.i61 = ashr exact i64 %sub.ptr.sub.i.i60, 2 - %sub.i = sub nsw i64 2305843009213693951, %sub.ptr.div.i.i61 + %sub.ptr.rhs.cast.i.i56 = ptrtoint ptr %4 to i64 + %sub.ptr.sub.i.i57 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i56 + %sub.ptr.div.i.i58 = ashr exact i64 %sub.ptr.sub.i.i57, 2 + %sub.i = sub nsw i64 2305843009213693951, %sub.ptr.div.i.i58 %cmp.i = icmp ult i64 %sub.i, %sub.ptr.div.i.i br i1 %cmp.i, label %if.then.i, label %_ZNKSt6vectorIwSaIwEE12_M_check_lenEmPKc.exit @@ -78740,9 +78715,9 @@ if.then.i: ; preds = %if.else50 unreachable _ZNKSt6vectorIwSaIwEE12_M_check_lenEmPKc.exit: ; preds = %if.else50 - %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61, i64 %sub.ptr.div.i.i) - %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i61 - %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i61 + %.sroa.speculated.i = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58, i64 %sub.ptr.div.i.i) + %add.i = add nsw i64 %.sroa.speculated.i, %sub.ptr.div.i.i58 + %cmp7.i = icmp ult i64 %add.i, %sub.ptr.div.i.i58 %cmp9.i = icmp ugt i64 %add.i, 2305843009213693951 %or.cond.i = or i1 %cmp7.i, %cmp9.i %cond.i = select i1 %or.cond.i, i64 2305843009213693951, i64 %add.i @@ -78755,47 +78730,45 @@ _ZNSt16allocator_traitsISaIwEE8allocateERS0_m.exit.i: ; preds = %_ZNKSt6vectorIw br label %_ZNSt12_Vector_baseIwSaIwEE11_M_allocateEm.exit _ZNSt12_Vector_baseIwSaIwEE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorIwSaIwEE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaIwEE8allocateERS0_m.exit.i - %cond.i62 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIwEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIwSaIwEE12_M_check_lenEmPKc.exit ] - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 = ptrtoint ptr %__position.coerce to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i65 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63, %sub.ptr.rhs.cast.i.i59 - %tobool.not.i.i.i.i.i.i.i.i.i66 = icmp eq ptr %4, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i67 - -if.then.i.i.i.i.i.i.i.i.i67: ; preds = %_ZNSt12_Vector_baseIwSaIwEE11_M_allocateEm.exit - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i62, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, i1 false) + %cond.i59 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaIwEE8allocateERS0_m.exit.i ], [ null, %_ZNKSt6vectorIwSaIwEE12_M_check_lenEmPKc.exit ] + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 = ptrtoint ptr %__position.coerce to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60, %sub.ptr.rhs.cast.i.i56 + %tobool.not.i.i.i.i.i.i.i.i.i63 = icmp eq ptr %4, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63, label %invoke.cont61, label %if.then.i.i.i.i.i.i.i.i.i64 + +if.then.i.i.i.i.i.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIwSaIwEE11_M_allocateEm.exit + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i59, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62, i1 false) br label %invoke.cont61 -invoke.cont61: ; preds = %_ZNSt12_Vector_baseIwSaIwEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i67 - %sub.ptr.div.i.i.i.i.i.i.i.i.i68 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i65, 2 - %add.ptr.i.i.i.i.i.i.i.i.i69 = getelementptr inbounds i32, ptr %cond.i62, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i68 - tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i.i69, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i69, i64 %sub.ptr.div.i.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i63 - %tobool.not.i.i.i.i.i.i.i.i.i81 = icmp eq ptr %1, %__position.coerce - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i82 - -if.then.i.i.i.i.i.i.i.i.i82: ; preds = %invoke.cont61 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i76, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, i1 false) +invoke.cont61: ; preds = %_ZNSt12_Vector_baseIwSaIwEE11_M_allocateEm.exit, %if.then.i.i.i.i.i.i.i.i.i64 + %add.ptr.i.i.i.i.i.i.i.i.i65 = getelementptr inbounds i8, ptr %cond.i59, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i.i65, ptr align 4 %__first, i64 %sub.ptr.sub.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65, i64 %sub.ptr.sub.i.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 = sub i64 %sub.ptr.rhs.cast, %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i60 + %tobool.not.i.i.i.i.i.i.i.i.i76 = icmp eq ptr %1, %__position.coerce + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76, label %invoke.cont65, label %if.then.i.i.i.i.i.i.i.i.i77 + +if.then.i.i.i.i.i.i.i.i.i77: ; preds = %invoke.cont61 + tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i71, ptr align 4 %__position.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75, i1 false) br label %invoke.cont65 -invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i82, %invoke.cont61 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80, 2 - %add.ptr.i.i.i.i.i.i.i.i.i84 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i76, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83 +invoke.cont65: ; preds = %if.then.i.i.i.i.i.i.i.i.i77, %invoke.cont61 + %add.ptr.i.i.i.i.i.i.i.i.i78 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75 %tobool.not.i = icmp eq ptr %4, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIwSaIwEE13_M_deallocateEPwm.exit, label %if.then.i86 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseIwSaIwEE13_M_deallocateEPwm.exit, label %if.then.i80 -if.then.i86: ; preds = %invoke.cont65 +if.then.i80: ; preds = %invoke.cont65 tail call void @_ZdlPv(ptr noundef nonnull %4) #32 br label %_ZNSt12_Vector_baseIwSaIwEE13_M_deallocateEPwm.exit -_ZNSt12_Vector_baseIwSaIwEE13_M_deallocateEPwm.exit: ; preds = %invoke.cont65, %if.then.i86 - store ptr %cond.i62, ptr %this, align 8 - store ptr %add.ptr.i.i.i.i.i.i.i.i.i84, ptr %_M_finish, align 8 - %add.ptr83 = getelementptr inbounds i32, ptr %cond.i62, i64 %cond.i +_ZNSt12_Vector_baseIwSaIwEE13_M_deallocateEPwm.exit: ; preds = %invoke.cont65, %if.then.i80 + store ptr %cond.i59, ptr %this, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i78, ptr %_M_finish, align 8 + %add.ptr83 = getelementptr inbounds i32, ptr %cond.i59, i64 %cond.i store ptr %add.ptr83, ptr %_M_end_of_storage, align 8 br label %if.end87 -if.end87: ; preds = %if.then.i.i.i.i.i54, %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit49, %_ZNSt12_Vector_baseIwSaIwEE13_M_deallocateEPwm.exit, %_ZSt4copyIPKwN9__gnu_cxx17__normal_iteratorIPwSt6vectorIwSaIwEEEEET0_T_SA_S9_.exit, %entry +if.end87: ; preds = %if.then.i.i.i.i.i52, %_ZSt22__uninitialized_move_aIPwS0_SaIwEET0_T_S3_S2_RT1_.exit47, %_ZNSt12_Vector_baseIwSaIwEE13_M_deallocateEPwm.exit, %_ZSt4copyIPKwN9__gnu_cxx17__normal_iteratorIPwSt6vectorIwSaIwEEEEET0_T_SA_S9_.exit, %entry ret void } diff --git a/bench/abseil-cpp/optimized/cord.cc.ll b/bench/abseil-cpp/optimized/cord.cc.ll index 06dd6cd5d2f..e87dccf6ee1 100644 --- a/bench/abseil-cpp/optimized/cord.cc.ll +++ b/bench/abseil-cpp/optimized/cord.cc.ll @@ -11704,16 +11704,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -11744,24 +11744,24 @@ _ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_all %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #26 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -11773,11 +11773,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"struct.absl::crc_internal::CrcCordState::PrefixCrc", ptr %6, i64 32 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"struct.absl::crc_internal::CrcCordState::PrefixCrc", ptr %6, i64 32 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } diff --git a/bench/abseil-cpp/optimized/cord_rep_btree_navigator_test.cc.ll b/bench/abseil-cpp/optimized/cord_rep_btree_navigator_test.cc.ll index 4d229744198..920480f0ec7 100644 --- a/bench/abseil-cpp/optimized/cord_rep_btree_navigator_test.cc.ll +++ b/bench/abseil-cpp/optimized/cord_rep_btree_navigator_test.cc.ll @@ -1079,23 +1079,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #30 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -1131,7 +1132,7 @@ declare i32 @__gxx_personality_v0(...) define internal void @_ZN4absl13cord_internal12_GLOBAL__N_155gtest_WithParamCordRepBtreeNavigatorTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(56) ptr @_Znwm(i64 noundef 56) #29, !noalias !5 - %add.ptr.i1.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i.i, i64 7 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 56 store i64 1, ptr %call5.i.i.i.i2.i.i.i, align 8, !noalias !5 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 8 store i64 5, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 8, !noalias !5 @@ -1304,8 +1305,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorImSaImEE17_S_check_init_lenEmRKS0_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -1320,7 +1320,7 @@ _ZNSt6vectorImSaImEE17_S_check_init_lenEmRKS0_.exit.i.i.i: ; preds = %entry br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.thread.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorImSaImEE17_S_check_init_lenEmRKS0_.exit.i.i.i - %add.ptr3.i.i.i = getelementptr inbounds i64, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr3.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage4.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i, ptr %_M_end_of_storage4.i.i.i, align 8 br label %invoke.cont @@ -1331,7 +1331,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorImSaImE call5.i.i.i.i.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) @@ -1349,9 +1349,10 @@ if.then.i.i2.i.i: ; preds = %lpad.i.i br label %lpad.body invoke.cont: ; preds = %call5.i.i.i.i.noexc.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.thread.i.i.i - %add.ptr5.i.i.i = phi ptr [ %add.ptr3.i.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.thread.i.i.i ], [ %add.ptr.i.i.i, %call5.i.i.i.i.noexc.i.i ] + %cond.i5.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %call5.i.i.i.i.noexc.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_finish.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %call, ptr %agg.result, align 8 %_M_refcount.i.i.i = getelementptr inbounds %"class.std::__shared_ptr", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i, align 8 @@ -4521,23 +4522,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i4, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call4.i.i.i2, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %cond.i10.i.i.i1315, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %cond.i10.i.i.i1315, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i1315) #30 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %agg.result, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/cord_rep_btree_reader_test.cc.ll b/bench/abseil-cpp/optimized/cord_rep_btree_reader_test.cc.ll index 905cf77d8a1..b019b383c35 100644 --- a/bench/abseil-cpp/optimized/cord_rep_btree_reader_test.cc.ll +++ b/bench/abseil-cpp/optimized/cord_rep_btree_reader_test.cc.ll @@ -2132,23 +2132,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i4, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call4.i.i.i2, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %cond.i10.i.i.i1315, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %cond.i10.i.i.i1315, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i1315) #21 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %agg.result, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/cord_rep_btree_test.cc.ll b/bench/abseil-cpp/optimized/cord_rep_btree_test.cc.ll index f38af1bc702..16a17cd262d 100644 --- a/bench/abseil-cpp/optimized/cord_rep_btree_test.cc.ll +++ b/bench/abseil-cpp/optimized/cord_rep_btree_test.cc.ll @@ -3587,23 +3587,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -4144,23 +4145,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -4598,23 +4600,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -22006,21 +22009,21 @@ _ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit: ; preds = %if. %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 - %agg.tmp4591.sroa.5.0.ref.tmp44.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp44, i64 8 - %agg.tmp4591.sroa.6.0.ref.tmp44.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp44, i64 16 - %message_.i.i93 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar43, i64 0, i32 1 + %agg.tmp4592.sroa.5.0.ref.tmp44.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp44, i64 8 + %agg.tmp4592.sroa.6.0.ref.tmp44.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp44, i64 16 + %message_.i.i94 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar43, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp83, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp83, i64 0, i32 2 %4 = getelementptr inbounds { ptr, i64 }, ptr %ref.tmp88, i64 0, i32 1 - %message_.i.i132 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar82, i64 0, i32 1 + %message_.i.i133 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar82, i64 0, i32 1 br label %for.body -for.body: ; preds = %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit, %_ZN7testing15AssertionResultD2Ev.exit151 - %leaf.0246 = phi ptr [ %retval.0.i, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %58, %_ZN7testing15AssertionResultD2Ev.exit151 ] - %i.0245 = phi i64 [ 1, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %inc, %_ZN7testing15AssertionResultD2Ev.exit151 ] - %flats.sroa.0.1244 = phi ptr [ %call5.i.i.i.i.i.i18, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %flats.sroa.0.2, %_ZN7testing15AssertionResultD2Ev.exit151 ] - %flats.sroa.8.1243 = phi ptr [ %incdec.ptr.i.i.i, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %flats.sroa.8.2, %_ZN7testing15AssertionResultD2Ev.exit151 ] - %flats.sroa.19.1242 = phi ptr [ %incdec.ptr.i.i.i, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %flats.sroa.19.2, %_ZN7testing15AssertionResultD2Ev.exit151 ] +for.body: ; preds = %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit, %_ZN7testing15AssertionResultD2Ev.exit152 + %leaf.0247 = phi ptr [ %retval.0.i, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %58, %_ZN7testing15AssertionResultD2Ev.exit152 ] + %i.0246 = phi i64 [ 1, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %inc, %_ZN7testing15AssertionResultD2Ev.exit152 ] + %flats.sroa.0.1245 = phi ptr [ %call5.i.i.i.i.i.i18, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %flats.sroa.0.2, %_ZN7testing15AssertionResultD2Ev.exit152 ] + %flats.sroa.8.1244 = phi ptr [ %incdec.ptr.i.i.i, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %flats.sroa.8.2, %_ZN7testing15AssertionResultD2Ev.exit152 ] + %flats.sroa.19.1243 = phi ptr [ %incdec.ptr.i.i.i, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ], [ %flats.sroa.19.2, %_ZN7testing15AssertionResultD2Ev.exit152 ] %call.i22 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont6 unwind label %lpad.loopexit @@ -22031,9 +22034,9 @@ invoke.cont6: ; preds = %for.body br i1 %tobool.i.not, label %invoke.cont8, label %if.then.i if.then.i: ; preds = %invoke.cont6 - %cmp.i.i = icmp ne ptr %leaf.0246, null + %cmp.i.i = icmp ne ptr %leaf.0247, null call void @llvm.assume(i1 %cmp.i.i) - %refcount.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %leaf.0246, i64 0, i32 1 + %refcount.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %leaf.0247, i64 0, i32 1 %7 = atomicrmw add ptr %refcount.i.i, i32 2 monotonic, align 4 %8 = load ptr, ptr %_M_finish.i.i.i, align 8 %9 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 @@ -22041,7 +22044,7 @@ if.then.i: ; preds = %invoke.cont6 br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i if.then.i.i.i: ; preds = %if.then.i - store ptr %leaf.0246, ptr %8, align 8 + store ptr %leaf.0247, ptr %8, align 8 %incdec.ptr.i.i.i24 = getelementptr inbounds ptr, ptr %8, i64 1 store ptr %incdec.ptr.i.i.i24, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont8 @@ -22080,24 +22083,25 @@ _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i26, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i - store ptr %leaf.0246, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + store ptr %leaf.0247, ptr %add.ptr.i.i.i.i, align 8 + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -22105,20 +22109,20 @@ _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEv br label %invoke.cont8 invoke.cont8: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, %if.then.i.i.i, %invoke.cont6 - %call12 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0245) + %call12 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0246) to label %invoke.cont11 unwind label %lpad.loopexit invoke.cont11: ; preds = %invoke.cont8 - %cmp.not.i.i29 = icmp eq ptr %flats.sroa.8.1243, %flats.sroa.19.1242 + %cmp.not.i.i29 = icmp eq ptr %flats.sroa.8.1244, %flats.sroa.19.1243 br i1 %cmp.not.i.i29, label %if.else.i.i32, label %if.then.i.i30 if.then.i.i30: ; preds = %invoke.cont11 - store ptr %call12, ptr %flats.sroa.8.1243, align 8 + store ptr %call12, ptr %flats.sroa.8.1244, align 8 br label %invoke.cont13 if.else.i.i32: ; preds = %invoke.cont11 - %sub.ptr.lhs.cast.i.i.i.i.i33 = ptrtoint ptr %flats.sroa.8.1243 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i34 = ptrtoint ptr %flats.sroa.0.1244 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i33 = ptrtoint ptr %flats.sroa.8.1244 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i34 = ptrtoint ptr %flats.sroa.0.1245 to i64 %sub.ptr.sub.i.i.i.i.i35 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i33, %sub.ptr.rhs.cast.i.i.i.i.i34 %cmp.i.i.i.i36 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i35, 9223372036854775800 br i1 %cmp.i.i.i.i36, label %if.then.i.i.i.i.i.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i37 @@ -22136,69 +22140,70 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i46: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i37 %mul.i.i.i.i.i.i47 = shl nuw nsw i64 %cond.i.i.i.i44, 3 - %call5.i.i.i.i.i.i62 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i47) #30 + %call5.i.i.i.i.i.i63 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i47) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i48 unwind label %lpad.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i48: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i46, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i37 - %cond.i10.i.i.i49 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i37 ], [ %call5.i.i.i.i.i.i62, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i46 ] + %cond.i10.i.i.i49 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i37 ], [ %call5.i.i.i.i.i.i63, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i46 ] %add.ptr.i.i.i50 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i49, i64 %sub.ptr.div.i.i.i.i.i38 store ptr %call12, ptr %add.ptr.i.i.i50, align 8 - %cmp.i.i.i11.i.i.i51 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i38, 0 - br i1 %cmp.i.i.i11.i.i.i51, label %if.then.i.i.i12.i.i.i58, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i52 + %cmp.i.i.i11.i.i.i51 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i35, 0 + br i1 %cmp.i.i.i11.i.i.i51, label %if.then.i.i.i12.i.i.i59, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i52 -if.then.i.i.i12.i.i.i58: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i48 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i49, ptr align 8 %flats.sroa.0.1244, i64 %sub.ptr.sub.i.i.i.i.i35, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i52 +if.then.i.i.i12.i.i.i59: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i48 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i49, ptr align 8 %flats.sroa.0.1245, i64 %sub.ptr.sub.i.i.i.i.i35, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i52 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i52: ; preds = %if.then.i.i.i12.i.i.i58, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i48 - %tobool.not.i.i.i.i54 = icmp eq ptr %flats.sroa.0.1244, null - br i1 %tobool.not.i.i.i.i54, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i56, label %if.then.i21.i.i.i55 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i52: ; preds = %if.then.i.i.i12.i.i.i59, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i48 + %add.ptr.i.i.i.i.i.i53 = getelementptr inbounds i8, ptr %cond.i10.i.i.i49, i64 %sub.ptr.sub.i.i.i.i.i35 + %tobool.not.i.i.i.i55 = icmp eq ptr %flats.sroa.0.1245, null + br i1 %tobool.not.i.i.i.i55, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i57, label %if.then.i20.i.i.i56 -if.then.i21.i.i.i55: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i52 - call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.1244) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i56 +if.then.i20.i.i.i56: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i52 + call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.1245) #31 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i57 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i56: ; preds = %if.then.i21.i.i.i55, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i52 - %add.ptr19.i.i.i57 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i49, i64 %cond.i.i.i.i44 - %.pre = load ptr, ptr %add.ptr.i.i.i50, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i57: ; preds = %if.then.i20.i.i.i56, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i52 + %add.ptr19.i.i.i58 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i49, i64 %cond.i.i.i.i44 + %.pre = load ptr, ptr %add.ptr.i.i.i.i.i.i53, align 8 br label %invoke.cont13 -invoke.cont13: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i56, %if.then.i.i30 - %11 = phi ptr [ %.pre, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i56 ], [ %call12, %if.then.i.i30 ] - %flats.sroa.19.2 = phi ptr [ %add.ptr19.i.i.i57, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i56 ], [ %flats.sroa.19.1242, %if.then.i.i30 ] - %add.ptr.i.i.i50.pn = phi ptr [ %add.ptr.i.i.i50, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i56 ], [ %flats.sroa.8.1243, %if.then.i.i30 ] - %flats.sroa.0.2 = phi ptr [ %cond.i10.i.i.i49, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i56 ], [ %flats.sroa.0.1244, %if.then.i.i30 ] - %flats.sroa.8.2 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i50.pn, i64 1 - %tag.i.i66 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %11, i64 0, i32 2 - %12 = load i8, ptr %tag.i.i66, align 4 - %or.cond.i.i67 = icmp ugt i8 %12, 4 - br i1 %or.cond.i.i67, label %if.then.i76, label %if.end.i.i68 - -if.end.i.i68: ; preds = %invoke.cont13 - %cmp6.i.i69 = icmp eq i8 %12, 1 - br i1 %cmp6.i.i69, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i72, label %if.end.i70 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i72: ; preds = %if.end.i.i68 - %child.i.i73 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %11, i64 0, i32 2 - %13 = load ptr, ptr %child.i.i73, align 8 - %tag9.phi.trans.insert.i.i74 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %13, i64 0, i32 2 - %.pre.i.i75 = load i8, ptr %tag9.phi.trans.insert.i.i74, align 4 - %14 = icmp ugt i8 %.pre.i.i75, 4 - br i1 %14, label %if.then.i76, label %if.end.i70 - -if.then.i76: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i72, %invoke.cont13 - %call1.i77 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %leaf.0246, ptr noundef nonnull %11) +invoke.cont13: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i57, %if.then.i.i30 + %11 = phi ptr [ %.pre, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i57 ], [ %call12, %if.then.i.i30 ] + %flats.sroa.19.2 = phi ptr [ %add.ptr19.i.i.i58, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i57 ], [ %flats.sroa.19.1243, %if.then.i.i30 ] + %add.ptr.i.i.i.i.i.i53.pn = phi ptr [ %add.ptr.i.i.i.i.i.i53, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i57 ], [ %flats.sroa.8.1244, %if.then.i.i30 ] + %flats.sroa.0.2 = phi ptr [ %cond.i10.i.i.i49, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i57 ], [ %flats.sroa.0.1245, %if.then.i.i30 ] + %flats.sroa.8.2 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i53.pn, i64 1 + %tag.i.i67 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %11, i64 0, i32 2 + %12 = load i8, ptr %tag.i.i67, align 4 + %or.cond.i.i68 = icmp ugt i8 %12, 4 + br i1 %or.cond.i.i68, label %if.then.i77, label %if.end.i.i69 + +if.end.i.i69: ; preds = %invoke.cont13 + %cmp6.i.i70 = icmp eq i8 %12, 1 + br i1 %cmp6.i.i70, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i73, label %if.end.i71 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i73: ; preds = %if.end.i.i69 + %child.i.i74 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %11, i64 0, i32 2 + %13 = load ptr, ptr %child.i.i74, align 8 + %tag9.phi.trans.insert.i.i75 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %13, i64 0, i32 2 + %.pre.i.i76 = load i8, ptr %tag9.phi.trans.insert.i.i75, align 4 + %14 = icmp ugt i8 %.pre.i.i76, 4 + br i1 %14, label %if.then.i77, label %if.end.i71 + +if.then.i77: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i73, %invoke.cont13 + %call1.i78 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %leaf.0247, ptr noundef nonnull %11) to label %invoke.cont23 unwind label %lpad.loopexit -if.end.i70: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i72, %if.end.i.i68 - %call2.i79 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %leaf.0246, ptr noundef nonnull %11) +if.end.i71: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i73, %if.end.i.i69 + %call2.i80 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %leaf.0247, ptr noundef nonnull %11) to label %invoke.cont23 unwind label %lpad.loopexit -invoke.cont23: ; preds = %if.then.i76, %if.end.i70 - %retval.0.i71 = phi ptr [ %call1.i77, %if.then.i76 ], [ %call2.i79, %if.end.i70 ] - store ptr %retval.0.i71, ptr %result, align 8 +invoke.cont23: ; preds = %if.then.i77, %if.end.i71 + %retval.0.i72 = phi ptr [ %call1.i78, %if.then.i77 ], [ %call2.i80, %if.end.i71 ] + store ptr %retval.0.i72, ptr %result, align 8 store i32 0, ptr %ref.tmp17, align 4 - %storage.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %retval.0.i71, i64 0, i32 3 + %storage.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %retval.0.i72, i64 0, i32 3 %15 = load i8, ptr %storage.i, align 1 %conv.i = zext i8 %15 to i32 store i32 %conv.i, ptr %ref.tmp28, align 4 @@ -22208,18 +22213,18 @@ invoke.cont23: ; preds = %if.then.i76, %if.en invoke.cont30: ; preds = %invoke.cont23 %16 = load i8, ptr %gtest_ar, align 8 %17 = and i8 %16, 1 - %tobool.i80.not = icmp eq i8 %17, 0 - br i1 %tobool.i80.not, label %if.else, label %if.end + %tobool.i81.not = icmp eq i8 %17, 0 + br i1 %tobool.i81.not, label %if.else, label %if.end -lpad.loopexit: ; preds = %invoke.cont8, %invoke.cont23, %invoke.cont63, %for.body, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i46, %if.then.i76, %if.end.i70, %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - %flats.sroa.0.3.ph = phi ptr [ %flats.sroa.0.1244, %for.body ], [ %flats.sroa.0.1244, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ], [ %flats.sroa.0.1244, %invoke.cont8 ], [ %flats.sroa.0.1244, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i46 ], [ %flats.sroa.0.2, %if.end.i70 ], [ %flats.sroa.0.2, %if.then.i76 ], [ %flats.sroa.0.2, %invoke.cont23 ], [ %flats.sroa.0.2, %_ZN7testing15AssertionResultD2Ev.exit ], [ %flats.sroa.0.2, %invoke.cont63 ], [ %flats.sroa.0.2, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i ] - %lpad.loopexit183 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %invoke.cont8, %invoke.cont23, %invoke.cont63, %for.body, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i46, %if.then.i77, %if.end.i71, %_ZN7testing15AssertionResultD2Ev.exit, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + %flats.sroa.0.3.ph = phi ptr [ %flats.sroa.0.1245, %for.body ], [ %flats.sroa.0.1245, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ], [ %flats.sroa.0.1245, %invoke.cont8 ], [ %flats.sroa.0.1245, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i46 ], [ %flats.sroa.0.2, %if.end.i71 ], [ %flats.sroa.0.2, %if.then.i77 ], [ %flats.sroa.0.2, %invoke.cont23 ], [ %flats.sroa.0.2, %_ZN7testing15AssertionResultD2Ev.exit ], [ %flats.sroa.0.2, %invoke.cont63 ], [ %flats.sroa.0.2, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i ] + %lpad.loopexit184 = landingpad { ptr, i32 } cleanup br label %ehcleanup113 -lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.invoke, %entry, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %if.end.i, %if.then.i.i.i.i.i.i, %if.then.i153 - %flats.sroa.0.3.ph182 = phi ptr [ null, %entry ], [ null, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i18, %if.end.i ], [ %call5.i.i.i.i.i.i18, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i ], [ %flats.sroa.0.2, %if.then.i153 ], [ %flats.sroa.0.2, %if.then.i.i.i.i.i.i ], [ %flats.sroa.0.1244, %if.then.i.i.i.i.i.invoke ] - %lpad.loopexit.split-lp184 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.invoke, %entry, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %if.end.i, %if.then.i.i.i.i.i.i, %if.then.i154 + %flats.sroa.0.3.ph183 = phi ptr [ null, %entry ], [ null, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i18, %if.end.i ], [ %call5.i.i.i.i.i.i18, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i ], [ %flats.sroa.0.2, %if.then.i154 ], [ %flats.sroa.0.2, %if.then.i.i.i.i.i.i ], [ %flats.sroa.0.1245, %if.then.i.i.i.i.i.invoke ] + %lpad.loopexit.split-lp185 = landingpad { ptr, i32 } cleanup br label %ehcleanup113 @@ -22248,8 +22253,8 @@ invoke.cont39: ; preds = %invoke.cont37 invoke.cont41: ; preds = %invoke.cont39 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp35) #28 %19 = load ptr, ptr %ref.tmp32, align 8 - %cmp.not.i.i81 = icmp eq ptr %19, null - br i1 %cmp.not.i.i81, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i82 = icmp eq ptr %19, null + br i1 %cmp.not.i.i82, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont41 %vtable.i.i.i = load ptr, ptr %19, align 8 @@ -22281,24 +22286,24 @@ lpad40: ; preds = %invoke.cont39 ehcleanup: ; preds = %lpad40, %lpad36 %.pn = phi { ptr, i32 } [ %23, %lpad40 ], [ %22, %lpad36 ] %24 = load ptr, ptr %ref.tmp32, align 8 - %cmp.not.i.i82 = icmp eq ptr %24, null - br i1 %cmp.not.i.i82, label %_ZN7testing7MessageD2Ev.exit86, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 + %cmp.not.i.i83 = icmp eq ptr %24, null + br i1 %cmp.not.i.i83, label %_ZN7testing7MessageD2Ev.exit87, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83: ; preds = %ehcleanup - %vtable.i.i.i84 = load ptr, ptr %24, align 8 - %vfn.i.i.i85 = getelementptr inbounds ptr, ptr %vtable.i.i.i84, i64 1 - %25 = load ptr, ptr %vfn.i.i.i85, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84: ; preds = %ehcleanup + %vtable.i.i.i85 = load ptr, ptr %24, align 8 + %vfn.i.i.i86 = getelementptr inbounds ptr, ptr %vtable.i.i.i85, i64 1 + %25 = load ptr, ptr %vfn.i.i.i86, align 8 call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #28 - br label %_ZN7testing7MessageD2Ev.exit86 + br label %_ZN7testing7MessageD2Ev.exit87 -_ZN7testing7MessageD2Ev.exit86: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 +_ZN7testing7MessageD2Ev.exit87: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84 store ptr null, ptr %ref.tmp32, align 8 br label %ehcleanup42 if.end: ; preds = %invoke.cont30, %_ZN7testing7MessageD2Ev.exit %26 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i87 = icmp eq ptr %26, null - br i1 %cmp.not.i.i87, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i88 = icmp eq ptr %26, null + br i1 %cmp.not.i.i88, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #28 @@ -22307,26 +22312,26 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i.i, align 8 - %call.i89 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() + %call.i90 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont63 unwind label %lpad.loopexit invoke.cont63: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %27 = load i8, ptr %call.i89, align 1 + %27 = load i8, ptr %call.i90, align 1 %28 = and i8 %27, 1 store i8 %28, ptr %ref.tmp44, align 8 - store ptr %leaf.0246, ptr %agg.tmp4591.sroa.5.0.ref.tmp44.sroa_idx, align 8 - store ptr %leaf.0246, ptr %agg.tmp4591.sroa.6.0.ref.tmp44.sroa_idx, align 8 + store ptr %leaf.0247, ptr %agg.tmp4592.sroa.5.0.ref.tmp44.sroa_idx, align 8 + store ptr %leaf.0247, ptr %agg.tmp4592.sroa.6.0.ref.tmp44.sroa_idx, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ConditionalMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEENS0_9EqMatcherIS7_EEEEEclIS7_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar43, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp44, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont64 unwind label %lpad.loopexit invoke.cont64: ; preds = %invoke.cont63 %29 = load i8, ptr %gtest_ar43, align 8 %30 = and i8 %29, 1 - %tobool.i92.not = icmp eq i8 %30, 0 - br i1 %tobool.i92.not, label %if.else67, label %if.end80 + %tobool.i93.not = icmp eq i8 %30, 0 + br i1 %tobool.i93.not, label %if.else67, label %if.end80 -ehcleanup42: ; preds = %_ZN7testing7MessageD2Ev.exit86, %lpad33 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit86 ], [ %21, %lpad33 ] +ehcleanup42: ; preds = %_ZN7testing7MessageD2Ev.exit87, %lpad33 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit87 ], [ %21, %lpad33 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup113 @@ -22335,17 +22340,17 @@ if.else67: ; preds = %invoke.cont64 to label %invoke.cont70 unwind label %lpad69 invoke.cont70: ; preds = %if.else67 - %31 = load ptr, ptr %message_.i.i93, align 8 - %cmp.i.i.not.i.i94 = icmp eq ptr %31, null - br i1 %cmp.i.i.not.i.i94, label %invoke.cont73, label %cond.true.i.i95 + %31 = load ptr, ptr %message_.i.i94, align 8 + %cmp.i.i.not.i.i95 = icmp eq ptr %31, null + br i1 %cmp.i.i.not.i.i95, label %invoke.cont73, label %cond.true.i.i96 -cond.true.i.i95: ; preds = %invoke.cont70 - %call4.i.i96 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %31) #28 +cond.true.i.i96: ; preds = %invoke.cont70 + %call4.i.i97 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %31) #28 br label %invoke.cont73 -invoke.cont73: ; preds = %cond.true.i.i95, %invoke.cont70 - %cond.i.i97 = phi ptr [ %call4.i.i96, %cond.true.i.i95 ], [ @.str.120, %invoke.cont70 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp71, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 386, ptr noundef %cond.i.i97) +invoke.cont73: ; preds = %cond.true.i.i96, %invoke.cont70 + %cond.i.i98 = phi ptr [ %call4.i.i97, %cond.true.i.i96 ], [ @.str.120, %invoke.cont70 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp71, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 386, ptr noundef %cond.i.i98) to label %invoke.cont75 unwind label %lpad72 invoke.cont75: ; preds = %invoke.cont73 @@ -22355,17 +22360,17 @@ invoke.cont75: ; preds = %invoke.cont73 invoke.cont77: ; preds = %invoke.cont75 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp71) #28 %32 = load ptr, ptr %ref.tmp68, align 8 - %cmp.not.i.i99 = icmp eq ptr %32, null - br i1 %cmp.not.i.i99, label %_ZN7testing7MessageD2Ev.exit103, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i100 + %cmp.not.i.i100 = icmp eq ptr %32, null + br i1 %cmp.not.i.i100, label %_ZN7testing7MessageD2Ev.exit104, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i100: ; preds = %invoke.cont77 - %vtable.i.i.i101 = load ptr, ptr %32, align 8 - %vfn.i.i.i102 = getelementptr inbounds ptr, ptr %vtable.i.i.i101, i64 1 - %33 = load ptr, ptr %vfn.i.i.i102, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %invoke.cont77 + %vtable.i.i.i102 = load ptr, ptr %32, align 8 + %vfn.i.i.i103 = getelementptr inbounds ptr, ptr %vtable.i.i.i102, i64 1 + %33 = load ptr, ptr %vfn.i.i.i103, align 8 call void %33(ptr noundef nonnull align 8 dereferenceable(128) %32) #28 - br label %_ZN7testing7MessageD2Ev.exit103 + br label %_ZN7testing7MessageD2Ev.exit104 -_ZN7testing7MessageD2Ev.exit103: ; preds = %invoke.cont77, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i100 +_ZN7testing7MessageD2Ev.exit104: ; preds = %invoke.cont77, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 store ptr null, ptr %ref.tmp68, align 8 br label %if.end80 @@ -22388,83 +22393,81 @@ lpad76: ; preds = %invoke.cont75 ehcleanup79: ; preds = %lpad76, %lpad72 %.pn9 = phi { ptr, i32 } [ %36, %lpad76 ], [ %35, %lpad72 ] %37 = load ptr, ptr %ref.tmp68, align 8 - %cmp.not.i.i104 = icmp eq ptr %37, null - br i1 %cmp.not.i.i104, label %_ZN7testing7MessageD2Ev.exit108, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 + %cmp.not.i.i105 = icmp eq ptr %37, null + br i1 %cmp.not.i.i105, label %_ZN7testing7MessageD2Ev.exit109, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %ehcleanup79 - %vtable.i.i.i106 = load ptr, ptr %37, align 8 - %vfn.i.i.i107 = getelementptr inbounds ptr, ptr %vtable.i.i.i106, i64 1 - %38 = load ptr, ptr %vfn.i.i.i107, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106: ; preds = %ehcleanup79 + %vtable.i.i.i107 = load ptr, ptr %37, align 8 + %vfn.i.i.i108 = getelementptr inbounds ptr, ptr %vtable.i.i.i107, i64 1 + %38 = load ptr, ptr %vfn.i.i.i108, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #28 - br label %_ZN7testing7MessageD2Ev.exit108 + br label %_ZN7testing7MessageD2Ev.exit109 -_ZN7testing7MessageD2Ev.exit108: ; preds = %ehcleanup79, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +_ZN7testing7MessageD2Ev.exit109: ; preds = %ehcleanup79, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 store ptr null, ptr %ref.tmp68, align 8 br label %ehcleanup81 -if.end80: ; preds = %invoke.cont64, %_ZN7testing7MessageD2Ev.exit103 - %39 = load ptr, ptr %message_.i.i93, align 8 - %cmp.not.i.i110 = icmp eq ptr %39, null - br i1 %cmp.not.i.i110, label %_ZN7testing15AssertionResultD2Ev.exit112, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 +if.end80: ; preds = %invoke.cont64, %_ZN7testing7MessageD2Ev.exit104 + %39 = load ptr, ptr %message_.i.i94, align 8 + %cmp.not.i.i111 = icmp eq ptr %39, null + br i1 %cmp.not.i.i111, label %_ZN7testing15AssertionResultD2Ev.exit113, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111: ; preds = %if.end80 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112: ; preds = %if.end80 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #28 call void @_ZdlPv(ptr noundef nonnull %39) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit112 + br label %_ZN7testing15AssertionResultD2Ev.exit113 -_ZN7testing15AssertionResultD2Ev.exit112: ; preds = %if.end80, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 - store ptr null, ptr %message_.i.i93, align 8 +_ZN7testing15AssertionResultD2Ev.exit113: ; preds = %if.end80, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 + store ptr null, ptr %message_.i.i94, align 8 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %flats.sroa.8.2 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %flats.sroa.0.2 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i -if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit112 +if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit113 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.143) #29 - to label %.noexc114 unwind label %lpad.loopexit.split-lp + to label %.noexc115 unwind label %lpad.loopexit.split-lp -.noexc114: ; preds = %if.then.i.i.i.i.i.i +.noexc115: ; preds = %if.then.i.i.i.i.i.i unreachable -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit112 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit113 %cmp.not.i.i.i.i.i.i = icmp eq ptr %flats.sroa.8.2, %flats.sroa.0.2 br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont.thread.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %call5.i.i.i.i1.i.i.i.i115 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad.loopexit + %call5.i.i.i.i1.i.i.i.i116 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp83, align 8, !alias.scope !268 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !268 br label %invoke.cont90 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i115, ptr align 8 %flats.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !271 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i116, ptr align 8 %flats.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !271 call void @llvm.experimental.noalias.scope.decl(metadata !268) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp83, i8 0, i64 24, i1 false), !alias.scope !268 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %if.then.i.i.i.i.i117 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !268 + to label %if.then.i.i.i.i.i118 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !268 -if.then.i.i.i.i.i117: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i118 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i118: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp83, align 8, !alias.scope !268 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i118 - store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !268 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i115, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + %add.ptr.i.i.i.i.i.i119 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i + store ptr %add.ptr.i.i.i.i.i.i119, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !268 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i116, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont90 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %40 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i130 + br label %if.then.i.i.i.i131 -invoke.cont90: ; preds = %invoke.cont.thread.i, %if.then.i.i.i.i.i117 - %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i117 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp84.sroa.0.1291 = phi ptr [ %call5.i.i.i.i1.i.i.i.i115, %if.then.i.i.i.i.i117 ], [ null, %invoke.cont.thread.i ] +invoke.cont90: ; preds = %invoke.cont.thread.i, %if.then.i.i.i.i.i118 + %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i119, %if.then.i.i.i.i.i118 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] + %agg.tmp84.sroa.0.1292 = phi ptr [ %call5.i.i.i.i1.i.i.i.i116, %if.then.i.i.i.i.i118 ], [ null, %invoke.cont.thread.i ] store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !268 %41 = load ptr, ptr %result, align 8 %edges_.i = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %41, i64 0, i32 1 @@ -22483,29 +22486,29 @@ invoke.cont90: ; preds = %invoke.cont.thread. invoke.cont92: ; preds = %invoke.cont90 %44 = load ptr, ptr %ref.tmp83, align 8 - %tobool.not.i.i.i.i.i121 = icmp eq ptr %44, null - br i1 %tobool.not.i.i.i.i.i121, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i122 + %tobool.not.i.i.i.i.i122 = icmp eq ptr %44, null + br i1 %tobool.not.i.i.i.i.i122, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i123 -if.then.i.i.i.i.i122: ; preds = %invoke.cont92 +if.then.i.i.i.i.i123: ; preds = %invoke.cont92 call void @_ZdlPv(ptr noundef nonnull %44) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont92, %if.then.i.i.i.i.i122 - %tobool.not.i.i.i.i123 = icmp eq ptr %agg.tmp84.sroa.0.1291, null - br i1 %tobool.not.i.i.i.i123, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i124 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont92, %if.then.i.i.i.i.i123 + %tobool.not.i.i.i.i124 = icmp eq ptr %agg.tmp84.sroa.0.1292, null + br i1 %tobool.not.i.i.i.i124, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i125 -if.then.i.i.i.i124: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp84.sroa.0.1291) #31 +if.then.i.i.i.i125: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %agg.tmp84.sroa.0.1292) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i124 +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i125 %45 = load i8, ptr %gtest_ar82, align 8 %46 = and i8 %45, 1 - %tobool.i125.not = icmp eq i8 %46, 0 - br i1 %tobool.i125.not, label %if.else97, label %if.end110 + %tobool.i126.not = icmp eq i8 %46, 0 + br i1 %tobool.i126.not, label %if.else97, label %if.end110 -ehcleanup81: ; preds = %_ZN7testing7MessageD2Ev.exit108, %lpad69 - %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit108 ], [ %34, %lpad69 ] +ehcleanup81: ; preds = %_ZN7testing7MessageD2Ev.exit109, %lpad69 + %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit109 ], [ %34, %lpad69 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar43) #28 br label %ehcleanup113 @@ -22513,21 +22516,21 @@ lpad89: ; preds = %invoke.cont90 %47 = landingpad { ptr, i32 } cleanup %48 = load ptr, ptr %ref.tmp83, align 8 - %tobool.not.i.i.i.i.i126 = icmp eq ptr %48, null - br i1 %tobool.not.i.i.i.i.i126, label %ehcleanup94, label %if.then.i.i.i.i.i127 + %tobool.not.i.i.i.i.i127 = icmp eq ptr %48, null + br i1 %tobool.not.i.i.i.i.i127, label %ehcleanup94, label %if.then.i.i.i.i.i128 -if.then.i.i.i.i.i127: ; preds = %lpad89 +if.then.i.i.i.i.i128: ; preds = %lpad89 call void @_ZdlPv(ptr noundef nonnull %48) #31 br label %ehcleanup94 -ehcleanup94: ; preds = %if.then.i.i.i.i.i127, %lpad89 - %tobool.not.i.i.i.i129 = icmp eq ptr %agg.tmp84.sroa.0.1291, null - br i1 %tobool.not.i.i.i.i129, label %ehcleanup113, label %if.then.i.i.i.i130 +ehcleanup94: ; preds = %if.then.i.i.i.i.i128, %lpad89 + %tobool.not.i.i.i.i130 = icmp eq ptr %agg.tmp84.sroa.0.1292, null + br i1 %tobool.not.i.i.i.i130, label %ehcleanup113, label %if.then.i.i.i.i131 -if.then.i.i.i.i130: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup94 - %.pn12298 = phi { ptr, i32 } [ %47, %ehcleanup94 ], [ %40, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - %agg.tmp84.sroa.0.1293297 = phi ptr [ %agg.tmp84.sroa.0.1291, %ehcleanup94 ], [ %call5.i.i.i.i1.i.i.i.i115, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp84.sroa.0.1293297) #31 +if.then.i.i.i.i131: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup94 + %.pn12299 = phi { ptr, i32 } [ %47, %ehcleanup94 ], [ %40, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + %agg.tmp84.sroa.0.1294298 = phi ptr [ %agg.tmp84.sroa.0.1292, %ehcleanup94 ], [ %call5.i.i.i.i1.i.i.i.i116, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp84.sroa.0.1294298) #31 br label %ehcleanup113 if.else97: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit @@ -22535,17 +22538,17 @@ if.else97: ; preds = %_ZN7testing8interna to label %invoke.cont100 unwind label %lpad99 invoke.cont100: ; preds = %if.else97 - %49 = load ptr, ptr %message_.i.i132, align 8 - %cmp.i.i.not.i.i133 = icmp eq ptr %49, null - br i1 %cmp.i.i.not.i.i133, label %invoke.cont103, label %cond.true.i.i134 + %49 = load ptr, ptr %message_.i.i133, align 8 + %cmp.i.i.not.i.i134 = icmp eq ptr %49, null + br i1 %cmp.i.i.not.i.i134, label %invoke.cont103, label %cond.true.i.i135 -cond.true.i.i134: ; preds = %invoke.cont100 - %call4.i.i135 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #28 +cond.true.i.i135: ; preds = %invoke.cont100 + %call4.i.i136 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #28 br label %invoke.cont103 -invoke.cont103: ; preds = %cond.true.i.i134, %invoke.cont100 - %cond.i.i136 = phi ptr [ %call4.i.i135, %cond.true.i.i134 ], [ @.str.120, %invoke.cont100 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 387, ptr noundef %cond.i.i136) +invoke.cont103: ; preds = %cond.true.i.i135, %invoke.cont100 + %cond.i.i137 = phi ptr [ %call4.i.i136, %cond.true.i.i135 ], [ @.str.120, %invoke.cont100 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 387, ptr noundef %cond.i.i137) to label %invoke.cont105 unwind label %lpad102 invoke.cont105: ; preds = %invoke.cont103 @@ -22555,17 +22558,17 @@ invoke.cont105: ; preds = %invoke.cont103 invoke.cont107: ; preds = %invoke.cont105 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101) #28 %50 = load ptr, ptr %ref.tmp98, align 8 - %cmp.not.i.i138 = icmp eq ptr %50, null - br i1 %cmp.not.i.i138, label %_ZN7testing7MessageD2Ev.exit142, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139 + %cmp.not.i.i139 = icmp eq ptr %50, null + br i1 %cmp.not.i.i139, label %_ZN7testing7MessageD2Ev.exit143, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139: ; preds = %invoke.cont107 - %vtable.i.i.i140 = load ptr, ptr %50, align 8 - %vfn.i.i.i141 = getelementptr inbounds ptr, ptr %vtable.i.i.i140, i64 1 - %51 = load ptr, ptr %vfn.i.i.i141, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140: ; preds = %invoke.cont107 + %vtable.i.i.i141 = load ptr, ptr %50, align 8 + %vfn.i.i.i142 = getelementptr inbounds ptr, ptr %vtable.i.i.i141, i64 1 + %51 = load ptr, ptr %vfn.i.i.i142, align 8 call void %51(ptr noundef nonnull align 8 dereferenceable(128) %50) #28 - br label %_ZN7testing7MessageD2Ev.exit142 + br label %_ZN7testing7MessageD2Ev.exit143 -_ZN7testing7MessageD2Ev.exit142: ; preds = %invoke.cont107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139 +_ZN7testing7MessageD2Ev.exit143: ; preds = %invoke.cont107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 store ptr null, ptr %ref.tmp98, align 8 br label %if.end110 @@ -22588,82 +22591,82 @@ lpad106: ; preds = %invoke.cont105 ehcleanup109: ; preds = %lpad106, %lpad102 %.pn14 = phi { ptr, i32 } [ %54, %lpad106 ], [ %53, %lpad102 ] %55 = load ptr, ptr %ref.tmp98, align 8 - %cmp.not.i.i143 = icmp eq ptr %55, null - br i1 %cmp.not.i.i143, label %_ZN7testing7MessageD2Ev.exit147, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 + %cmp.not.i.i144 = icmp eq ptr %55, null + br i1 %cmp.not.i.i144, label %_ZN7testing7MessageD2Ev.exit148, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144: ; preds = %ehcleanup109 - %vtable.i.i.i145 = load ptr, ptr %55, align 8 - %vfn.i.i.i146 = getelementptr inbounds ptr, ptr %vtable.i.i.i145, i64 1 - %56 = load ptr, ptr %vfn.i.i.i146, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145: ; preds = %ehcleanup109 + %vtable.i.i.i146 = load ptr, ptr %55, align 8 + %vfn.i.i.i147 = getelementptr inbounds ptr, ptr %vtable.i.i.i146, i64 1 + %56 = load ptr, ptr %vfn.i.i.i147, align 8 call void %56(ptr noundef nonnull align 8 dereferenceable(128) %55) #28 - br label %_ZN7testing7MessageD2Ev.exit147 + br label %_ZN7testing7MessageD2Ev.exit148 -_ZN7testing7MessageD2Ev.exit147: ; preds = %ehcleanup109, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 +_ZN7testing7MessageD2Ev.exit148: ; preds = %ehcleanup109, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 store ptr null, ptr %ref.tmp98, align 8 br label %ehcleanup111 -if.end110: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit142 - %57 = load ptr, ptr %message_.i.i132, align 8 - %cmp.not.i.i149 = icmp eq ptr %57, null - br i1 %cmp.not.i.i149, label %_ZN7testing15AssertionResultD2Ev.exit151, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150 +if.end110: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit143 + %57 = load ptr, ptr %message_.i.i133, align 8 + %cmp.not.i.i150 = icmp eq ptr %57, null + br i1 %cmp.not.i.i150, label %_ZN7testing15AssertionResultD2Ev.exit152, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150: ; preds = %if.end110 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151: ; preds = %if.end110 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #28 call void @_ZdlPv(ptr noundef nonnull %57) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit151 + br label %_ZN7testing15AssertionResultD2Ev.exit152 -_ZN7testing15AssertionResultD2Ev.exit151: ; preds = %if.end110, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150 - store ptr null, ptr %message_.i.i132, align 8 +_ZN7testing15AssertionResultD2Ev.exit152: ; preds = %if.end110, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 + store ptr null, ptr %message_.i.i133, align 8 %58 = load ptr, ptr %result, align 8 - %inc = add nuw nsw i64 %i.0245, 1 + %inc = add nuw nsw i64 %i.0246, 1 %exitcond.not = icmp eq i64 %inc, 6 br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !276 -ehcleanup111: ; preds = %_ZN7testing7MessageD2Ev.exit147, %lpad99 - %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit147 ], [ %52, %lpad99 ] +ehcleanup111: ; preds = %_ZN7testing7MessageD2Ev.exit148, %lpad99 + %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit148 ], [ %52, %lpad99 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar82) #28 br label %ehcleanup113 -for.end: ; preds = %_ZN7testing15AssertionResultD2Ev.exit151 +for.end: ; preds = %_ZN7testing15AssertionResultD2Ev.exit152 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %58, i64 0, i32 1 %59 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %59, 2 - br i1 %cmp.i.not.i, label %if.then.i153, label %invoke.cont112 + br i1 %cmp.i.not.i, label %if.then.i154, label %invoke.cont112 -if.then.i153: ; preds = %for.end +if.then.i154: ; preds = %for.end invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %58) to label %invoke.cont112 unwind label %lpad.loopexit.split-lp -invoke.cont112: ; preds = %for.end, %if.then.i153 +invoke.cont112: ; preds = %for.end, %if.then.i154 %tobool.not.i.i.i = icmp eq ptr %flats.sroa.0.2, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i155 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i156 -if.then.i.i.i155: ; preds = %invoke.cont112 +if.then.i.i.i156: ; preds = %invoke.cont112 call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.2) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont112, %if.then.i.i.i155 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont112, %if.then.i.i.i156 %60 = load ptr, ptr %refs, align 8 %61 = load ptr, ptr %_M_finish.i.i.i, align 8 %cmp.i.not4.i = icmp eq ptr %60, %61 br i1 %cmp.i.not4.i, label %for.end.i, label %for.body.i for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i158, %for.inc.i ], [ %60, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i159, %for.inc.i ], [ %60, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] %62 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i157 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %62, i64 0, i32 1 - %63 = atomicrmw sub ptr %refcount.i.i157, i32 2 acq_rel, align 4 + %refcount.i.i158 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %62, i64 0, i32 1 + %63 = atomicrmw sub ptr %refcount.i.i158, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %63, 2 - br i1 %cmp.i.not.i.i, label %if.then.i.i162, label %for.inc.i + br i1 %cmp.i.not.i.i, label %if.then.i.i163, label %for.inc.i -if.then.i.i162: ; preds = %for.body.i +if.then.i.i163: ; preds = %for.body.i invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %62) to label %for.inc.i unwind label %terminate.lpad.i -for.inc.i: ; preds = %if.then.i.i162, %for.body.i - %incdec.ptr.i.i158 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i159 = icmp eq ptr %incdec.ptr.i.i158, %61 - br i1 %cmp.i.not.i159, label %for.end.loopexit.i, label %for.body.i +for.inc.i: ; preds = %if.then.i.i163, %for.body.i + %incdec.ptr.i.i159 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 + %cmp.i.not.i160 = icmp eq ptr %incdec.ptr.i.i159, %61 + br i1 %cmp.i.not.i160, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 @@ -22671,34 +22674,34 @@ for.end.loopexit.i: ; preds = %for.inc.i for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit %64 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %60, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] - %tobool.not.i.i.i.i160 = icmp eq ptr %64, null - br i1 %tobool.not.i.i.i.i160, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i161 + %tobool.not.i.i.i.i161 = icmp eq ptr %64, null + br i1 %tobool.not.i.i.i.i161, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i162 -if.then.i.i.i.i161: ; preds = %for.end.i +if.then.i.i.i.i162: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %64) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit -terminate.lpad.i: ; preds = %if.then.i.i162 +terminate.lpad.i: ; preds = %if.then.i.i163 %65 = landingpad { ptr, i32 } catch ptr null %66 = extractvalue { ptr, i32 } %65, 0 call void @__clang_call_terminate(ptr %66) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i161 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i162 ret void -ehcleanup113: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i130, %ehcleanup94, %ehcleanup111, %ehcleanup81, %ehcleanup42 - %flats.sroa.0.4 = phi ptr [ %flats.sroa.0.2, %ehcleanup111 ], [ %flats.sroa.0.2, %ehcleanup81 ], [ %flats.sroa.0.2, %ehcleanup42 ], [ %flats.sroa.0.2, %ehcleanup94 ], [ %flats.sroa.0.2, %if.then.i.i.i.i130 ], [ %flats.sroa.0.3.ph, %lpad.loopexit ], [ %flats.sroa.0.3.ph182, %lpad.loopexit.split-lp ] - %.pn14.pn.pn = phi { ptr, i32 } [ %.pn14.pn, %ehcleanup111 ], [ %.pn9.pn, %ehcleanup81 ], [ %.pn.pn, %ehcleanup42 ], [ %47, %ehcleanup94 ], [ %.pn12298, %if.then.i.i.i.i130 ], [ %lpad.loopexit183, %lpad.loopexit ], [ %lpad.loopexit.split-lp184, %lpad.loopexit.split-lp ] - %tobool.not.i.i.i163 = icmp eq ptr %flats.sroa.0.4, null - br i1 %tobool.not.i.i.i163, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165, label %if.then.i.i.i164 +ehcleanup113: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i131, %ehcleanup94, %ehcleanup111, %ehcleanup81, %ehcleanup42 + %flats.sroa.0.4 = phi ptr [ %flats.sroa.0.2, %ehcleanup111 ], [ %flats.sroa.0.2, %ehcleanup81 ], [ %flats.sroa.0.2, %ehcleanup42 ], [ %flats.sroa.0.2, %ehcleanup94 ], [ %flats.sroa.0.2, %if.then.i.i.i.i131 ], [ %flats.sroa.0.3.ph, %lpad.loopexit ], [ %flats.sroa.0.3.ph183, %lpad.loopexit.split-lp ] + %.pn14.pn.pn = phi { ptr, i32 } [ %.pn14.pn, %ehcleanup111 ], [ %.pn9.pn, %ehcleanup81 ], [ %.pn.pn, %ehcleanup42 ], [ %47, %ehcleanup94 ], [ %.pn12299, %if.then.i.i.i.i131 ], [ %lpad.loopexit184, %lpad.loopexit ], [ %lpad.loopexit.split-lp185, %lpad.loopexit.split-lp ] + %tobool.not.i.i.i164 = icmp eq ptr %flats.sroa.0.4, null + br i1 %tobool.not.i.i.i164, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166, label %if.then.i.i.i165 -if.then.i.i.i164: ; preds = %ehcleanup113 +if.then.i.i.i165: ; preds = %ehcleanup113 call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.4) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165: ; preds = %ehcleanup113, %if.then.i.i.i164 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166: ; preds = %ehcleanup113, %if.then.i.i.i165 call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs) #28 resume { ptr, i32 } %.pn14.pn.pn } @@ -24077,23 +24080,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %leaf.0140, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %12, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %12) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -24389,7 +24393,7 @@ invoke.cont87: ; preds = %_ZN7testing15Assert cond.true.i.i.i.i.i.i: ; preds = %invoke.cont87 %cmp.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %cond.true.i.i.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i invoke void @_ZSt28__throw_bad_array_new_lengthv() #29 @@ -24399,27 +24403,25 @@ if.then3.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i unreachable invoke.cont.thread.i: ; preds = %invoke.cont87 - %sub.ptr.div.i.i.i.i19.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i store i64 0, ptr %ref.tmp85, align 8, !alias.scope !339 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !339 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !339 br label %invoke.cont92 -cond.true.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i %call5.i.i.i.i2.i6.i.i.i78 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 to label %call5.i.i.i.i2.i6.i.i.i.noexc unwind label %lpad88.loopexit -call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %cond.true.i.i.i.i.i.i.i +call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i78, ptr align 8 %49, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !339 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85, i8 0, i64 24, i1 false), !alias.scope !339 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 to label %if.then.i.i.i.i.i76 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !339 if.then.i.i.i.i.i76: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i, 3 store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp85, align 8, !alias.scope !339 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !339 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i78, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !339 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !339 @@ -24477,7 +24479,7 @@ ehcleanup83: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar45) #28 br label %ehcleanup115 -lpad88.loopexit: ; preds = %cond.true.i.i.i.i.i.i.i +lpad88.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %lpad.loopexit121 = landingpad { ptr, i32 } cleanup br label %ehcleanup96 @@ -25002,16 +25004,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -25042,24 +25044,24 @@ _ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE15_M_allocate_mapEm.ex %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #31 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPPN4absl13cord_internal7CordRepES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -25071,11 +25073,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds ptr, ptr %6, i64 64 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds ptr, ptr %6, i64 64 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } @@ -25152,46 +25154,51 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i br label %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i _ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i.i, i64 %sub.ptr.div11.i.i.i.i - %__node.027.i.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %2, i64 1 - %cmp4.not28.i.i.i.i.i.i.i.i = icmp eq ptr %__node.027.i.i.i.i.i.i.i.i, %5 - br i1 %cmp4.not28.i.i.i.i.i.i.i.i, label %for.end.i.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i, i64 %sub.ptr.sub10.i.i.i.i + %__node.025.i.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %2, i64 1 + %cmp4.not26.i.i.i.i.i.i.i.i = icmp eq ptr %__node.025.i.i.i.i.i.i.i.i, %5 + br i1 %cmp4.not26.i.i.i.i.i.i.i.i, label %for.end.i.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i: ; preds = %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i - %__node.030.i.i.i.i.i.i.i.i = phi ptr [ %__node.0.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ], [ %__node.027.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i ] - %__result.addr.029.i.i.i.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i10.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i ] - %6 = load ptr, ptr %__node.030.i.i.i.i.i.i.i.i, align 8 - tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(512) %__result.addr.029.i.i.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(512) %6, i64 512, i1 false) - %add.ptr.i.i.i10.i.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %__result.addr.029.i.i.i.i.i.i.i.i, i64 64 - %__node.0.i.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %__node.030.i.i.i.i.i.i.i.i, i64 1 + %__node.028.i.i.i.i.i.i.i.i = phi ptr [ %__node.0.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ], [ %__node.025.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i ] + %__result.addr.027.i.i.i.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i10.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i ] + %6 = load ptr, ptr %__node.028.i.i.i.i.i.i.i.i, align 8 + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(512) %__result.addr.027.i.i.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(512) %6, i64 512, i1 false) + %add.ptr.i.i.i10.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__result.addr.027.i.i.i.i.i.i.i.i, i64 512 + %__node.0.i.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %__node.028.i.i.i.i.i.i.i.i, i64 1 %cmp4.not.i.i.i.i.i.i.i.i = icmp eq ptr %__node.0.i.i.i.i.i.i.i.i, %5 br i1 %cmp4.not.i.i.i.i.i.i.i.i, label %for.end.i.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i, !llvm.loop !348 for.end.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i %__result.addr.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit.i.i.i.i.i.i.i.i ], [ %add.ptr.i.i.i10.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ] %tobool.not.i.i.i14.i.i.i.i.i.i.i.i = icmp eq ptr %3, %4 - br i1 %tobool.not.i.i.i14.i.i.i.i.i.i.i.i, label %invoke.cont4, label %if.then.i.i.i15.i.i.i.i.i.i.i.i + br i1 %tobool.not.i.i.i14.i.i.i.i.i.i.i.i, label %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit17.i.i.i.i.i.i.i.i, label %if.then.i.i.i15.i.i.i.i.i.i.i.i if.then.i.i.i15.i.i.i.i.i.i.i.i: ; preds = %for.end.i.i.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %__result.addr.0.lcssa.i.i.i.i.i.i.i.i, ptr align 8 %4, i64 %sub.ptr.sub5.i.i.i.i, i1 false) + br label %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit17.i.i.i.i.i.i.i.i + +_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit17.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i15.i.i.i.i.i.i.i.i, %for.end.i.i.i.i.i.i.i.i + %add.ptr.i.i.i16.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__result.addr.0.lcssa.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub5.i.i.i.i br label %invoke.cont4 if.end.i.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i - %sub.ptr.sub.i.i.i21.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast3.i.i.i.i, %sub.ptr.rhs.cast9.i.i.i.i - %tobool.not.i.i.i22.i.i.i.i.i.i.i.i = icmp eq ptr %3, %0 - br i1 %tobool.not.i.i.i22.i.i.i.i.i.i.i.i, label %invoke.cont4, label %if.then.i.i.i23.i.i.i.i.i.i.i.i + %sub.ptr.sub.i.i.i20.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast3.i.i.i.i, %sub.ptr.rhs.cast9.i.i.i.i + %tobool.not.i.i.i21.i.i.i.i.i.i.i.i = icmp eq ptr %3, %0 + br i1 %tobool.not.i.i.i21.i.i.i.i.i.i.i.i, label %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit24.i.i.i.i.i.i.i.i, label %if.then.i.i.i22.i.i.i.i.i.i.i.i + +if.then.i.i.i22.i.i.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i.i, ptr align 8 %0, i64 %sub.ptr.sub.i.i.i20.i.i.i.i.i.i.i.i, i1 false) + br label %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit24.i.i.i.i.i.i.i.i -if.then.i.i.i23.i.i.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %cond.i.i, ptr align 8 %0, i64 %sub.ptr.sub.i.i.i21.i.i.i.i.i.i.i.i, i1 false) +_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit24.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i22.i.i.i.i.i.i.i.i, %if.end.i.i.i.i.i.i.i.i + %add.ptr.i.i.i23.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i, i64 %sub.ptr.sub.i.i.i20.i.i.i.i.i.i.i.i br label %invoke.cont4 -invoke.cont4: ; preds = %if.then.i.i.i23.i.i.i.i.i.i.i.i, %if.end.i.i.i.i.i.i.i.i, %if.then.i.i.i15.i.i.i.i.i.i.i.i, %for.end.i.i.i.i.i.i.i.i - %sub.ptr.sub.i.i.i21.sink.i.i.i.i.i.i.i.i = phi i64 [ %sub.ptr.sub5.i.i.i.i, %for.end.i.i.i.i.i.i.i.i ], [ %sub.ptr.sub5.i.i.i.i, %if.then.i.i.i15.i.i.i.i.i.i.i.i ], [ %sub.ptr.sub.i.i.i21.i.i.i.i.i.i.i.i, %if.end.i.i.i.i.i.i.i.i ], [ %sub.ptr.sub.i.i.i21.i.i.i.i.i.i.i.i, %if.then.i.i.i23.i.i.i.i.i.i.i.i ] - %__result.sink.i.i.i.i.i.i.i.i = phi ptr [ %__result.addr.0.lcssa.i.i.i.i.i.i.i.i, %for.end.i.i.i.i.i.i.i.i ], [ %__result.addr.0.lcssa.i.i.i.i.i.i.i.i, %if.then.i.i.i15.i.i.i.i.i.i.i.i ], [ %cond.i.i, %if.end.i.i.i.i.i.i.i.i ], [ %cond.i.i, %if.then.i.i.i23.i.i.i.i.i.i.i.i ] - %sub.ptr.div.i.i.i24.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i21.sink.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i25.i.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %__result.sink.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i24.i.i.i.i.i.i.i.i +invoke.cont4: ; preds = %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit24.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit17.i.i.i.i.i.i.i.i + %retval.0.i.i.i.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i16.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit17.i.i.i.i.i.i.i.i ], [ %add.ptr.i.i.i23.i.i.i.i.i.i.i.i, %_ZSt14__copy_move_a1ILb0EPPN4absl13cord_internal7CordRepES4_ET1_T0_S6_S5_.exit24.i.i.i.i.i.i.i.i ] %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr.i.i.i25.i.i.i.i.i.i.i.i, ptr %_M_finish.i, align 8 + store ptr %retval.0.i.i.i.i.i.i.i.i, ptr %_M_finish.i, align 8 ret void lpad: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i, %if.then.i.i @@ -25450,23 +25457,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i27, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %leaf.0172, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %12, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %12) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -25836,7 +25844,7 @@ invoke.cont98: ; preds = %_ZN7testing15Assert cond.true.i.i.i.i.i.i: ; preds = %invoke.cont98 %cmp.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %cond.true.i.i.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i invoke void @_ZSt28__throw_bad_array_new_lengthv() #29 @@ -25846,27 +25854,25 @@ if.then3.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i unreachable invoke.cont.thread.i: ; preds = %invoke.cont98 - %sub.ptr.div.i.i.i.i19.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i store i64 0, ptr %ref.tmp96, align 8, !alias.scope !369 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !369 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !369 br label %invoke.cont103 -cond.true.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i %call5.i.i.i.i2.i6.i.i.i107 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 to label %call5.i.i.i.i2.i6.i.i.i.noexc unwind label %lpad99.loopexit -call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %cond.true.i.i.i.i.i.i.i +call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i107, ptr align 8 %61, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !369 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp96, i8 0, i64 24, i1 false), !alias.scope !369 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 to label %if.then.i.i.i.i.i105 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !369 if.then.i.i.i.i.i105: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i, 3 store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp96, align 8, !alias.scope !369 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !369 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i107, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !369 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !369 @@ -25924,7 +25930,7 @@ ehcleanup94: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar56) #28 br label %ehcleanup126 -lpad99.loopexit: ; preds = %cond.true.i.i.i.i.i.i.i +lpad99.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %lpad.loopexit153 = landingpad { ptr, i32 } cleanup br label %ehcleanup107 @@ -28595,7 +28601,7 @@ lpad.i: ; preds = %if.end invoke.cont11: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp7, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp7, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.189, ptr %call5.i.i.i.i2.i, align 8 @@ -29100,7 +29106,7 @@ lpad.i: ; preds = %if.end invoke.cont11: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp7, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp7, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.189, ptr %call5.i.i.i.i2.i, align 8 @@ -30579,33 +30585,33 @@ invoke.cont4: ; preds = %call.i.i.noexc, %if br label %for.body for.body: ; preds = %invoke.cont4, %invoke.cont11 - %i.0403 = phi i64 [ 1, %invoke.cont4 ], [ %inc, %invoke.cont11 ] - %flats.sroa.0.1402 = phi ptr [ %call5.i.i.i.i.i.i31, %invoke.cont4 ], [ %flats.sroa.0.2, %invoke.cont11 ] - %flats.sroa.10.1401 = phi ptr [ %incdec.ptr.i.i.i, %invoke.cont4 ], [ %flats.sroa.10.2, %invoke.cont11 ] - %flats.sroa.26.1400 = phi ptr [ %incdec.ptr.i.i.i, %invoke.cont4 ], [ %flats.sroa.26.2, %invoke.cont11 ] - %call8 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0403) + %i.0406 = phi i64 [ 1, %invoke.cont4 ], [ %inc, %invoke.cont11 ] + %flats.sroa.0.1405 = phi ptr [ %call5.i.i.i.i.i.i31, %invoke.cont4 ], [ %flats.sroa.0.2, %invoke.cont11 ] + %flats.sroa.10.1404 = phi ptr [ %incdec.ptr.i.i.i, %invoke.cont4 ], [ %flats.sroa.10.2, %invoke.cont11 ] + %flats.sroa.26.1403 = phi ptr [ %incdec.ptr.i.i.i, %invoke.cont4 ], [ %flats.sroa.26.2, %invoke.cont11 ] + %call8 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0406) to label %invoke.cont7 unwind label %lpad.loopexit.split-lp.loopexit invoke.cont7: ; preds = %for.body - %cmp.not.i.i37 = icmp eq ptr %flats.sroa.10.1401, %flats.sroa.26.1400 + %cmp.not.i.i37 = icmp eq ptr %flats.sroa.10.1404, %flats.sroa.26.1403 br i1 %cmp.not.i.i37, label %if.else.i.i40, label %if.then.i.i38 if.then.i.i38: ; preds = %invoke.cont7 - store ptr %call8, ptr %flats.sroa.10.1401, align 8 + store ptr %call8, ptr %flats.sroa.10.1404, align 8 br label %invoke.cont9 if.else.i.i40: ; preds = %invoke.cont7 - %sub.ptr.lhs.cast.i.i.i.i.i41 = ptrtoint ptr %flats.sroa.10.1401 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i42 = ptrtoint ptr %flats.sroa.0.1402 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i41 = ptrtoint ptr %flats.sroa.10.1404 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i42 = ptrtoint ptr %flats.sroa.0.1405 to i64 %sub.ptr.sub.i.i.i.i.i43 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i41, %sub.ptr.rhs.cast.i.i.i.i.i42 %cmp.i.i.i.i44 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i43, 9223372036854775800 - br i1 %cmp.i.i.i.i44, label %if.then.i.i.i.i67, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i45 + br i1 %cmp.i.i.i.i44, label %if.then.i.i.i.i68, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i45 -if.then.i.i.i.i67: ; preds = %if.else.i.i40 +if.then.i.i.i.i68: ; preds = %if.else.i.i40 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %.noexc68 unwind label %lpad.loopexit.split-lp.loopexit.split-lp + to label %.noexc69 unwind label %lpad.loopexit.split-lp.loopexit.split-lp -.noexc68: ; preds = %if.then.i.i.i.i67 +.noexc69: ; preds = %if.then.i.i.i.i68 unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i45: ; preds = %if.else.i.i40 @@ -30621,87 +30627,88 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i54: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i45 %mul.i.i.i.i.i.i55 = shl nuw nsw i64 %cond.i.i.i.i52, 3 - %call5.i.i.i.i.i.i70 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i55) #30 + %call5.i.i.i.i.i.i71 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i55) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i56 unwind label %lpad.loopexit.split-lp.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i56: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i54, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i45 - %cond.i10.i.i.i57 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i45 ], [ %call5.i.i.i.i.i.i70, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i54 ] + %cond.i10.i.i.i57 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i45 ], [ %call5.i.i.i.i.i.i71, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i54 ] %add.ptr.i.i.i58 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i57, i64 %sub.ptr.div.i.i.i.i.i46 store ptr %call8, ptr %add.ptr.i.i.i58, align 8 - %cmp.i.i.i11.i.i.i59 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i46, 0 - br i1 %cmp.i.i.i11.i.i.i59, label %if.then.i.i.i12.i.i.i66, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i60 + %cmp.i.i.i11.i.i.i59 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i43, 0 + br i1 %cmp.i.i.i11.i.i.i59, label %if.then.i.i.i12.i.i.i67, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i60 -if.then.i.i.i12.i.i.i66: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i56 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i57, ptr align 8 %flats.sroa.0.1402, i64 %sub.ptr.sub.i.i.i.i.i43, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i60 +if.then.i.i.i12.i.i.i67: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i56 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i57, ptr align 8 %flats.sroa.0.1405, i64 %sub.ptr.sub.i.i.i.i.i43, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i60 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i60: ; preds = %if.then.i.i.i12.i.i.i66, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i56 - %tobool.not.i.i.i.i62 = icmp eq ptr %flats.sroa.0.1402, null - br i1 %tobool.not.i.i.i.i62, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i64, label %if.then.i21.i.i.i63 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i60: ; preds = %if.then.i.i.i12.i.i.i67, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i56 + %add.ptr.i.i.i.i.i.i61 = getelementptr inbounds i8, ptr %cond.i10.i.i.i57, i64 %sub.ptr.sub.i.i.i.i.i43 + %tobool.not.i.i.i.i63 = icmp eq ptr %flats.sroa.0.1405, null + br i1 %tobool.not.i.i.i.i63, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65, label %if.then.i20.i.i.i64 -if.then.i21.i.i.i63: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i60 - tail call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.1402) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i64 +if.then.i20.i.i.i64: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i60 + tail call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.1405) #31 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i64: ; preds = %if.then.i21.i.i.i63, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i60 - %add.ptr19.i.i.i65 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i57, i64 %cond.i.i.i.i52 - %.pre = load ptr, ptr %add.ptr.i.i.i58, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65: ; preds = %if.then.i20.i.i.i64, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i60 + %add.ptr19.i.i.i66 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i57, i64 %cond.i.i.i.i52 + %.pre = load ptr, ptr %add.ptr.i.i.i.i.i.i61, align 8 br label %invoke.cont9 -invoke.cont9: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i64, %if.then.i.i38 - %4 = phi ptr [ %.pre, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i64 ], [ %call8, %if.then.i.i38 ] - %flats.sroa.26.2 = phi ptr [ %add.ptr19.i.i.i65, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i64 ], [ %flats.sroa.26.1400, %if.then.i.i38 ] - %add.ptr.i.i.i58.pn = phi ptr [ %add.ptr.i.i.i58, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i64 ], [ %flats.sroa.10.1401, %if.then.i.i38 ] - %flats.sroa.0.2 = phi ptr [ %cond.i10.i.i.i57, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i64 ], [ %flats.sroa.0.1402, %if.then.i.i38 ] - %flats.sroa.10.2 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i58.pn, i64 1 +invoke.cont9: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65, %if.then.i.i38 + %4 = phi ptr [ %.pre, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 ], [ %call8, %if.then.i.i38 ] + %flats.sroa.26.2 = phi ptr [ %add.ptr19.i.i.i66, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 ], [ %flats.sroa.26.1403, %if.then.i.i38 ] + %add.ptr.i.i.i.i.i.i61.pn = phi ptr [ %add.ptr.i.i.i.i.i.i61, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 ], [ %flats.sroa.10.1404, %if.then.i.i38 ] + %flats.sroa.0.2 = phi ptr [ %cond.i10.i.i.i57, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 ], [ %flats.sroa.0.1405, %if.then.i.i38 ] + %flats.sroa.10.2 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i61.pn, i64 1 %5 = load ptr, ptr %tree, align 8 - %tag.i.i74 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %4, i64 0, i32 2 - %6 = load i8, ptr %tag.i.i74, align 4 - %or.cond.i.i75 = icmp ugt i8 %6, 4 - br i1 %or.cond.i.i75, label %if.then.i, label %if.end.i.i76 + %tag.i.i75 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %4, i64 0, i32 2 + %6 = load i8, ptr %tag.i.i75, align 4 + %or.cond.i.i76 = icmp ugt i8 %6, 4 + br i1 %or.cond.i.i76, label %if.then.i, label %if.end.i.i77 -if.end.i.i76: ; preds = %invoke.cont9 - %cmp6.i.i77 = icmp eq i8 %6, 1 - br i1 %cmp6.i.i77, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i80, label %if.end.i78 +if.end.i.i77: ; preds = %invoke.cont9 + %cmp6.i.i78 = icmp eq i8 %6, 1 + br i1 %cmp6.i.i78, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i81, label %if.end.i79 -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i80: ; preds = %if.end.i.i76 - %child.i.i81 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %4, i64 0, i32 2 - %7 = load ptr, ptr %child.i.i81, align 8 - %tag9.phi.trans.insert.i.i82 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %7, i64 0, i32 2 - %.pre.i.i83 = load i8, ptr %tag9.phi.trans.insert.i.i82, align 4 - %8 = icmp ugt i8 %.pre.i.i83, 4 - br i1 %8, label %if.then.i, label %if.end.i78 +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i81: ; preds = %if.end.i.i77 + %child.i.i82 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %4, i64 0, i32 2 + %7 = load ptr, ptr %child.i.i82, align 8 + %tag9.phi.trans.insert.i.i83 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %7, i64 0, i32 2 + %.pre.i.i84 = load i8, ptr %tag9.phi.trans.insert.i.i83, align 4 + %8 = icmp ugt i8 %.pre.i.i84, 4 + br i1 %8, label %if.then.i, label %if.end.i79 -if.then.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i80, %invoke.cont9 - %call1.i84 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %5, ptr noundef nonnull %4) +if.then.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i81, %invoke.cont9 + %call1.i85 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %5, ptr noundef nonnull %4) to label %invoke.cont11 unwind label %lpad.loopexit.split-lp.loopexit -if.end.i78: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i80, %if.end.i.i76 - %call2.i86 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %5, ptr noundef nonnull %4) +if.end.i79: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i81, %if.end.i.i77 + %call2.i87 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %5, ptr noundef nonnull %4) to label %invoke.cont11 unwind label %lpad.loopexit.split-lp.loopexit -invoke.cont11: ; preds = %if.then.i, %if.end.i78 - %retval.0.i79 = phi ptr [ %call1.i84, %if.then.i ], [ %call2.i86, %if.end.i78 ] - store ptr %retval.0.i79, ptr %tree, align 8 - %inc = add nuw nsw i64 %i.0403, 1 +invoke.cont11: ; preds = %if.then.i, %if.end.i79 + %retval.0.i80 = phi ptr [ %call1.i85, %if.then.i ], [ %call2.i87, %if.end.i79 ] + store ptr %retval.0.i80, ptr %tree, align 8 + %inc = add nuw nsw i64 %i.0406, 1 %exitcond.not = icmp eq i64 %inc, 7 br i1 %exitcond.not, label %invoke.cont15, label %for.body, !llvm.loop !496 -lpad.loopexit: ; preds = %invoke.cont42, %invoke.cont96, %invoke.cont55, %for.body32, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i129, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i165, %if.then.i195, %if.end.i189, %cleanup.cont75 - %flats.sroa.0.3.ph = phi ptr [ %flats.sroa.0.5406, %for.body32 ], [ %flats.sroa.0.5406, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ], [ %flats.sroa.0.5406, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i129 ], [ %flats.sroa.0.5406, %invoke.cont42 ], [ %flats.sroa.0.5406, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i165 ], [ %flats.sroa.0.6, %if.end.i189 ], [ %flats.sroa.0.6, %if.then.i195 ], [ %flats.sroa.0.6, %invoke.cont55 ], [ %flats.sroa.0.6, %cleanup.cont75 ], [ %flats.sroa.0.6, %invoke.cont96 ] - %lpad.loopexit353 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %invoke.cont42, %invoke.cont96, %invoke.cont55, %for.body32, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i167, %if.then.i198, %if.end.i192, %cleanup.cont75 + %flats.sroa.0.3.ph = phi ptr [ %flats.sroa.0.5409, %for.body32 ], [ %flats.sroa.0.5409, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ], [ %flats.sroa.0.5409, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130 ], [ %flats.sroa.0.5409, %invoke.cont42 ], [ %flats.sroa.0.5409, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i167 ], [ %flats.sroa.0.6, %if.end.i192 ], [ %flats.sroa.0.6, %if.then.i198 ], [ %flats.sroa.0.6, %invoke.cont55 ], [ %flats.sroa.0.6, %cleanup.cont75 ], [ %flats.sroa.0.6, %invoke.cont96 ] + %lpad.loopexit356 = landingpad { ptr, i32 } cleanup br label %ehcleanup159 -lpad.loopexit.split-lp.loopexit: ; preds = %if.end.i78, %if.then.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i54, %for.body - %flats.sroa.0.3.ph352.ph = phi ptr [ %flats.sroa.0.2, %if.then.i ], [ %flats.sroa.0.2, %if.end.i78 ], [ %flats.sroa.0.1402, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i54 ], [ %flats.sroa.0.1402, %for.body ] - %lpad.loopexit359 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit: ; preds = %if.end.i79, %if.then.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i54, %for.body + %flats.sroa.0.3.ph355.ph = phi ptr [ %flats.sroa.0.2, %if.then.i ], [ %flats.sroa.0.2, %if.end.i79 ], [ %flats.sroa.0.1405, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i54 ], [ %flats.sroa.0.1405, %for.body ] + %lpad.loopexit362 = landingpad { ptr, i32 } cleanup br label %ehcleanup159 -lpad.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i178.invoke, %if.then.i311, %if.then.i.i.i.i67, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i, %invoke.cont15, %entry - %flats.sroa.0.3.ph352.ph358 = phi ptr [ %flats.sroa.0.1402, %if.then.i.i.i.i67 ], [ %flats.sroa.0.6, %if.then.i311 ], [ %flats.sroa.0.2, %invoke.cont15 ], [ %call5.i.i.i.i.i.i31, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i ], [ %call5.i.i.i.i.i.i31, %if.end.i ], [ null, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %entry ], [ %flats.sroa.0.5406, %if.then.i.i.i.i178.invoke ] - %lpad.loopexit.split-lp360 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i181.invoke, %if.then.i314, %if.then.i.i.i.i68, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i, %invoke.cont15, %entry + %flats.sroa.0.3.ph355.ph361 = phi ptr [ %flats.sroa.0.1405, %if.then.i.i.i.i68 ], [ %flats.sroa.0.6, %if.then.i314 ], [ %flats.sroa.0.2, %invoke.cont15 ], [ %call5.i.i.i.i.i.i31, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i ], [ %call5.i.i.i.i.i.i31, %if.end.i ], [ null, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %entry ], [ %flats.sroa.0.5409, %if.then.i.i.i.i181.invoke ] + %lpad.loopexit.split-lp363 = landingpad { ptr, i32 } cleanup br label %ehcleanup159 @@ -30741,8 +30748,8 @@ invoke.cont25: ; preds = %invoke.cont23 invoke.cont27: ; preds = %invoke.cont25 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #28 %12 = load ptr, ptr %ref.tmp18, align 8 - %cmp.not.i.i87 = icmp eq ptr %12, null - br i1 %cmp.not.i.i87, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i88 = icmp eq ptr %12, null + br i1 %cmp.not.i.i88, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont27 %vtable.i.i.i = load ptr, ptr %12, align 8 @@ -30754,8 +30761,8 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont27, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %ref.tmp18, align 8 %14 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i88 = icmp eq ptr %14, null - br i1 %cmp.not.i.i88, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i89 = icmp eq ptr %14, null + br i1 %cmp.not.i.i89, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 @@ -30785,60 +30792,60 @@ lpad26: ; preds = %invoke.cont25 ehcleanup: ; preds = %lpad26, %lpad22 %.pn = phi { ptr, i32 } [ %17, %lpad26 ], [ %16, %lpad22 ] %18 = load ptr, ptr %ref.tmp18, align 8 - %cmp.not.i.i89 = icmp eq ptr %18, null - br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 + %cmp.not.i.i90 = icmp eq ptr %18, null + br i1 %cmp.not.i.i90, label %_ZN7testing7MessageD2Ev.exit94, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %ehcleanup - %vtable.i.i.i91 = load ptr, ptr %18, align 8 - %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 - %19 = load ptr, ptr %vfn.i.i.i92, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91: ; preds = %ehcleanup + %vtable.i.i.i92 = load ptr, ptr %18, align 8 + %vfn.i.i.i93 = getelementptr inbounds ptr, ptr %vtable.i.i.i92, i64 1 + %19 = load ptr, ptr %vfn.i.i.i93, align 8 call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 - br label %_ZN7testing7MessageD2Ev.exit93 + br label %_ZN7testing7MessageD2Ev.exit94 -_ZN7testing7MessageD2Ev.exit93: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 +_ZN7testing7MessageD2Ev.exit94: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 store ptr null, ptr %ref.tmp18, align 8 br label %ehcleanup28 cleanup.cont.critedge: ; preds = %invoke.cont16 - %message_.i94 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 - %20 = load ptr, ptr %message_.i94, align 8 - %cmp.not.i.i95 = icmp eq ptr %20, null - br i1 %cmp.not.i.i95, label %cleanup.cont, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96 + %message_.i95 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 + %20 = load ptr, ptr %message_.i95, align 8 + %cmp.not.i.i96 = icmp eq ptr %20, null + br i1 %cmp.not.i.i96, label %cleanup.cont, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96: ; preds = %cleanup.cont.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97: ; preds = %cleanup.cont.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #28 call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %cleanup.cont -cleanup.cont: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96, %cleanup.cont.critedge - store ptr null, ptr %message_.i94, align 8 +cleanup.cont: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97, %cleanup.cont.critedge + store ptr null, ptr %message_.i95, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 - %message_.i222 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar51, i64 0, i32 1 - %agg.tmp79229.sroa.5.0.ref.tmp78.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp78, i64 8 - %agg.tmp79229.sroa.6.0.ref.tmp78.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp78, i64 16 - %message_.i251 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar77, i64 0, i32 1 + %message_.i225 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar51, i64 0, i32 1 + %agg.tmp79232.sroa.5.0.ref.tmp78.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp78, i64 8 + %agg.tmp79232.sroa.6.0.ref.tmp78.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp78, i64 16 + %message_.i254 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar77, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp120, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp120, i64 0, i32 2 - %message_.i299 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar119, i64 0, i32 1 + %message_.i302 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar119, i64 0, i32 1 br label %for.body32 for.body32: ; preds = %cleanup.cont, %for.inc154 - %i29.0407 = phi i64 [ 7, %cleanup.cont ], [ %inc155, %for.inc154 ] - %flats.sroa.0.5406 = phi ptr [ %flats.sroa.0.2, %cleanup.cont ], [ %flats.sroa.0.6, %for.inc154 ] - %flats.sroa.10.3405 = phi ptr [ %flats.sroa.10.2, %cleanup.cont ], [ %flats.sroa.10.4, %for.inc154 ] - %flats.sroa.26.3404 = phi ptr [ %flats.sroa.26.2, %cleanup.cont ], [ %flats.sroa.26.4, %for.inc154 ] - %call.i99 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() + %i29.0410 = phi i64 [ 7, %cleanup.cont ], [ %inc155, %for.inc154 ] + %flats.sroa.0.5409 = phi ptr [ %flats.sroa.0.2, %cleanup.cont ], [ %flats.sroa.0.6, %for.inc154 ] + %flats.sroa.10.3408 = phi ptr [ %flats.sroa.10.2, %cleanup.cont ], [ %flats.sroa.10.4, %for.inc154 ] + %flats.sroa.26.3407 = phi ptr [ %flats.sroa.26.2, %cleanup.cont ], [ %flats.sroa.26.4, %for.inc154 ] + %call.i100 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont33 unwind label %lpad.loopexit invoke.cont33: ; preds = %for.body32 - %21 = load i8, ptr %call.i99, align 1 + %21 = load i8, ptr %call.i100, align 1 %22 = and i8 %21, 1 - %tobool.i98.not = icmp eq i8 %22, 0 + %tobool.i99.not = icmp eq i8 %22, 0 %23 = load ptr, ptr %tree, align 8 - br i1 %tobool.i98.not, label %invoke.cont39, label %if.then.i101 + br i1 %tobool.i99.not, label %invoke.cont39, label %if.then.i102 -if.then.i101: ; preds = %invoke.cont33 +if.then.i102: ; preds = %invoke.cont33 %cmp.i.i = icmp ne ptr %23, null call void @llvm.assume(i1 %cmp.i.i) %refcount.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %23, i64 0, i32 1 @@ -30848,19 +30855,19 @@ if.then.i101: ; preds = %invoke.cont33 %cmp.not.i.i.i = icmp eq ptr %25, %26 br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i -if.then.i.i.i: ; preds = %if.then.i101 +if.then.i.i.i: ; preds = %if.then.i102 store ptr %23, ptr %25, align 8 - %incdec.ptr.i.i.i102 = getelementptr inbounds ptr, ptr %25, i64 1 - store ptr %incdec.ptr.i.i.i102, ptr %_M_finish.i.i.i, align 8 + %incdec.ptr.i.i.i103 = getelementptr inbounds ptr, ptr %25, i64 1 + store ptr %incdec.ptr.i.i.i103, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont39 -if.else.i.i.i: ; preds = %if.then.i101 +if.else.i.i.i: ; preds = %if.then.i102 %27 = load ptr, ptr %refs, align 8 %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %25 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %27 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i178.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i + br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i181.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 @@ -30875,30 +30882,31 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 3 - %call5.i.i.i.i.i.i.i104 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 + %call5.i.i.i.i.i.i.i105 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i104, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] + %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i105, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %23, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %27, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %27, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %27) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -30911,192 +30919,194 @@ invoke.cont39: ; preds = %invoke.cont33, %if. %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %28, i64 0, i32 3, i64 2 %29 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %29 to i64 - %rem = and i64 %i29.0407, 3 + %rem = and i64 %i29.0410, 3 %cmp37 = icmp eq i64 %rem, 0 - %add.ptr.i105 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i.i - %add.ptr3.i = getelementptr inbounds ptr, ptr %add.ptr.i105, i64 -1 + %add.ptr.i106 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i.i + %add.ptr3.i = getelementptr inbounds ptr, ptr %add.ptr.i106, i64 -1 %30 = load ptr, ptr %add.ptr3.i, align 8 - br i1 %cmp37, label %if.then.i107, label %invoke.cont42 + br i1 %cmp37, label %if.then.i108, label %invoke.cont42 -if.then.i107: ; preds = %invoke.cont39 - %cmp.i.i108 = icmp ne ptr %30, null - call void @llvm.assume(i1 %cmp.i.i108) - %refcount.i.i109 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %30, i64 0, i32 1 - %31 = atomicrmw add ptr %refcount.i.i109, i32 2 monotonic, align 4 +if.then.i108: ; preds = %invoke.cont39 + %cmp.i.i109 = icmp ne ptr %30, null + call void @llvm.assume(i1 %cmp.i.i109) + %refcount.i.i110 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %30, i64 0, i32 1 + %31 = atomicrmw add ptr %refcount.i.i110, i32 2 monotonic, align 4 %32 = load ptr, ptr %_M_finish.i.i.i, align 8 %33 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 - %cmp.not.i.i.i112 = icmp eq ptr %32, %33 - br i1 %cmp.not.i.i.i112, label %if.else.i.i.i115, label %if.then.i.i.i113 + %cmp.not.i.i.i113 = icmp eq ptr %32, %33 + br i1 %cmp.not.i.i.i113, label %if.else.i.i.i116, label %if.then.i.i.i114 -if.then.i.i.i113: ; preds = %if.then.i107 +if.then.i.i.i114: ; preds = %if.then.i108 store ptr %30, ptr %32, align 8 - %incdec.ptr.i.i.i114 = getelementptr inbounds ptr, ptr %32, i64 1 - store ptr %incdec.ptr.i.i.i114, ptr %_M_finish.i.i.i, align 8 + %incdec.ptr.i.i.i115 = getelementptr inbounds ptr, ptr %32, i64 1 + store ptr %incdec.ptr.i.i.i115, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont42 -if.else.i.i.i115: ; preds = %if.then.i107 +if.else.i.i.i116: ; preds = %if.then.i108 %34 = load ptr, ptr %refs, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i116 = ptrtoint ptr %32 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i117 = ptrtoint ptr %34 to i64 - %sub.ptr.sub.i.i.i.i.i.i118 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i116, %sub.ptr.rhs.cast.i.i.i.i.i.i117 - %cmp.i.i.i.i.i119 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i118, 9223372036854775800 - br i1 %cmp.i.i.i.i.i119, label %if.then.i.i.i.i178.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i120 - -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i120: ; preds = %if.else.i.i.i115 - %sub.ptr.div.i.i.i.i.i.i121 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i118, 3 - %.sroa.speculated.i.i.i.i.i122 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i121, i64 1) - %add.i.i.i.i.i123 = add i64 %.sroa.speculated.i.i.i.i.i122, %sub.ptr.div.i.i.i.i.i.i121 - %cmp7.i.i.i.i.i124 = icmp ult i64 %add.i.i.i.i.i123, %sub.ptr.div.i.i.i.i.i.i121 - %cmp9.i.i.i.i.i125 = icmp ugt i64 %add.i.i.i.i.i123, 1152921504606846975 - %or.cond.i.i.i.i.i126 = or i1 %cmp7.i.i.i.i.i124, %cmp9.i.i.i.i.i125 - %cond.i.i.i.i.i127 = select i1 %or.cond.i.i.i.i.i126, i64 1152921504606846975, i64 %add.i.i.i.i.i123 - %cmp.not.i.i.i.i.i128 = icmp eq i64 %cond.i.i.i.i.i127, 0 - br i1 %cmp.not.i.i.i.i.i128, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i131, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i129 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i129: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i120 - %mul.i.i.i.i.i.i.i130 = shl nuw nsw i64 %cond.i.i.i.i.i127, 3 - %call5.i.i.i.i.i.i.i145 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i130) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i131 unwind label %lpad.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i131: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i129, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i120 - %cond.i10.i.i.i.i132 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i120 ], [ %call5.i.i.i.i.i.i.i145, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i129 ] - %add.ptr.i.i.i.i133 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i132, i64 %sub.ptr.div.i.i.i.i.i.i121 - store ptr %30, ptr %add.ptr.i.i.i.i133, align 8 - %cmp.i.i.i11.i.i.i.i134 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i121, 0 - br i1 %cmp.i.i.i11.i.i.i.i134, label %if.then.i.i.i12.i.i.i.i141, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i135 - -if.then.i.i.i12.i.i.i.i141: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i131 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i132, ptr align 8 %34, i64 %sub.ptr.sub.i.i.i.i.i.i118, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i135 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i135: ; preds = %if.then.i.i.i12.i.i.i.i141, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i131 - %incdec.ptr.i.i.i.i136 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i133, i64 1 - %tobool.not.i.i.i.i.i137 = icmp eq ptr %34, null - br i1 %tobool.not.i.i.i.i.i137, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i139, label %if.then.i21.i.i.i.i138 - -if.then.i21.i.i.i.i138: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i135 + %sub.ptr.lhs.cast.i.i.i.i.i.i117 = ptrtoint ptr %32 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i118 = ptrtoint ptr %34 to i64 + %sub.ptr.sub.i.i.i.i.i.i119 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i117, %sub.ptr.rhs.cast.i.i.i.i.i.i118 + %cmp.i.i.i.i.i120 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i119, 9223372036854775800 + br i1 %cmp.i.i.i.i.i120, label %if.then.i.i.i.i181.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121 + +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121: ; preds = %if.else.i.i.i116 + %sub.ptr.div.i.i.i.i.i.i122 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i119, 3 + %.sroa.speculated.i.i.i.i.i123 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i122, i64 1) + %add.i.i.i.i.i124 = add i64 %.sroa.speculated.i.i.i.i.i123, %sub.ptr.div.i.i.i.i.i.i122 + %cmp7.i.i.i.i.i125 = icmp ult i64 %add.i.i.i.i.i124, %sub.ptr.div.i.i.i.i.i.i122 + %cmp9.i.i.i.i.i126 = icmp ugt i64 %add.i.i.i.i.i124, 1152921504606846975 + %or.cond.i.i.i.i.i127 = or i1 %cmp7.i.i.i.i.i125, %cmp9.i.i.i.i.i126 + %cond.i.i.i.i.i128 = select i1 %or.cond.i.i.i.i.i127, i64 1152921504606846975, i64 %add.i.i.i.i.i124 + %cmp.not.i.i.i.i.i129 = icmp eq i64 %cond.i.i.i.i.i128, 0 + br i1 %cmp.not.i.i.i.i.i129, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121 + %mul.i.i.i.i.i.i.i131 = shl nuw nsw i64 %cond.i.i.i.i.i128, 3 + %call5.i.i.i.i.i.i.i147 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i131) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132 unwind label %lpad.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121 + %cond.i10.i.i.i.i133 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121 ], [ %call5.i.i.i.i.i.i.i147, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130 ] + %add.ptr.i.i.i.i134 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i133, i64 %sub.ptr.div.i.i.i.i.i.i122 + store ptr %30, ptr %add.ptr.i.i.i.i134, align 8 + %cmp.i.i.i11.i.i.i.i135 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i119, 0 + br i1 %cmp.i.i.i11.i.i.i.i135, label %if.then.i.i.i12.i.i.i.i143, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i136 + +if.then.i.i.i12.i.i.i.i143: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i133, ptr align 8 %34, i64 %sub.ptr.sub.i.i.i.i.i.i119, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i136 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i136: ; preds = %if.then.i.i.i12.i.i.i.i143, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132 + %add.ptr.i.i.i.i.i.i.i137 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i133, i64 %sub.ptr.sub.i.i.i.i.i.i119 + %incdec.ptr.i.i.i.i138 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i137, i64 1 + %tobool.not.i.i.i.i.i139 = icmp eq ptr %34, null + br i1 %tobool.not.i.i.i.i.i139, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i141, label %if.then.i20.i.i.i.i140 + +if.then.i20.i.i.i.i140: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i136 call void @_ZdlPv(ptr noundef nonnull %34) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i139 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i141 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i139: ; preds = %if.then.i21.i.i.i.i138, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i135 - store ptr %cond.i10.i.i.i.i132, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i136, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i140 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i132, i64 %cond.i.i.i.i.i127 - store ptr %add.ptr19.i.i.i.i140, ptr %_M_end_of_storage.i.i.i, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i141: ; preds = %if.then.i20.i.i.i.i140, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i136 + store ptr %cond.i10.i.i.i.i133, ptr %refs, align 8 + store ptr %incdec.ptr.i.i.i.i138, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i142 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i133, i64 %cond.i.i.i.i.i128 + store ptr %add.ptr19.i.i.i.i142, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont42 -invoke.cont42: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i139, %if.then.i.i.i113, %invoke.cont39 - %call46 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i29.0407) +invoke.cont42: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i141, %if.then.i.i.i114, %invoke.cont39 + %call46 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i29.0410) to label %invoke.cont45 unwind label %lpad.loopexit invoke.cont45: ; preds = %invoke.cont42 - %cmp.not.i.i148 = icmp eq ptr %flats.sroa.10.3405, %flats.sroa.26.3404 - br i1 %cmp.not.i.i148, label %if.else.i.i151, label %if.then.i.i149 + %cmp.not.i.i150 = icmp eq ptr %flats.sroa.10.3408, %flats.sroa.26.3407 + br i1 %cmp.not.i.i150, label %if.else.i.i153, label %if.then.i.i151 -if.then.i.i149: ; preds = %invoke.cont45 - store ptr %call46, ptr %flats.sroa.10.3405, align 8 +if.then.i.i151: ; preds = %invoke.cont45 + store ptr %call46, ptr %flats.sroa.10.3408, align 8 br label %invoke.cont47 -if.else.i.i151: ; preds = %invoke.cont45 - %sub.ptr.lhs.cast.i.i.i.i.i152 = ptrtoint ptr %flats.sroa.10.3405 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i153 = ptrtoint ptr %flats.sroa.0.5406 to i64 - %sub.ptr.sub.i.i.i.i.i154 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i152, %sub.ptr.rhs.cast.i.i.i.i.i153 - %cmp.i.i.i.i155 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i154, 9223372036854775800 - br i1 %cmp.i.i.i.i155, label %if.then.i.i.i.i178.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i156 +if.else.i.i153: ; preds = %invoke.cont45 + %sub.ptr.lhs.cast.i.i.i.i.i154 = ptrtoint ptr %flats.sroa.10.3408 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i155 = ptrtoint ptr %flats.sroa.0.5409 to i64 + %sub.ptr.sub.i.i.i.i.i156 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i154, %sub.ptr.rhs.cast.i.i.i.i.i155 + %cmp.i.i.i.i157 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i156, 9223372036854775800 + br i1 %cmp.i.i.i.i157, label %if.then.i.i.i.i181.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i158 -if.then.i.i.i.i178.invoke: ; preds = %if.else.i.i151, %if.else.i.i.i115, %if.else.i.i.i +if.then.i.i.i.i181.invoke: ; preds = %if.else.i.i153, %if.else.i.i.i116, %if.else.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %if.then.i.i.i.i178.cont unwind label %lpad.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i.i181.cont unwind label %lpad.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i178.cont: ; preds = %if.then.i.i.i.i178.invoke +if.then.i.i.i.i181.cont: ; preds = %if.then.i.i.i.i181.invoke unreachable -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i156: ; preds = %if.else.i.i151 - %sub.ptr.div.i.i.i.i.i157 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i154, 3 - %.sroa.speculated.i.i.i.i158 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i157, i64 1) - %add.i.i.i.i159 = add i64 %.sroa.speculated.i.i.i.i158, %sub.ptr.div.i.i.i.i.i157 - %cmp7.i.i.i.i160 = icmp ult i64 %add.i.i.i.i159, %sub.ptr.div.i.i.i.i.i157 - %cmp9.i.i.i.i161 = icmp ugt i64 %add.i.i.i.i159, 1152921504606846975 - %or.cond.i.i.i.i162 = or i1 %cmp7.i.i.i.i160, %cmp9.i.i.i.i161 - %cond.i.i.i.i163 = select i1 %or.cond.i.i.i.i162, i64 1152921504606846975, i64 %add.i.i.i.i159 - %cmp.not.i.i.i.i164 = icmp eq i64 %cond.i.i.i.i163, 0 - br i1 %cmp.not.i.i.i.i164, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i167, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i165 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i165: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i156 - %mul.i.i.i.i.i.i166 = shl nuw nsw i64 %cond.i.i.i.i163, 3 - %call5.i.i.i.i.i.i181 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i166) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i167 unwind label %lpad.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i167: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i165, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i156 - %cond.i10.i.i.i168 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i156 ], [ %call5.i.i.i.i.i.i181, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i165 ] - %add.ptr.i.i.i169 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i168, i64 %sub.ptr.div.i.i.i.i.i157 - store ptr %call46, ptr %add.ptr.i.i.i169, align 8 - %cmp.i.i.i11.i.i.i170 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i157, 0 - br i1 %cmp.i.i.i11.i.i.i170, label %if.then.i.i.i12.i.i.i177, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i171 - -if.then.i.i.i12.i.i.i177: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i167 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i168, ptr align 8 %flats.sroa.0.5406, i64 %sub.ptr.sub.i.i.i.i.i154, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i171 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i171: ; preds = %if.then.i.i.i12.i.i.i177, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i167 - %tobool.not.i.i.i.i173 = icmp eq ptr %flats.sroa.0.5406, null - br i1 %tobool.not.i.i.i.i173, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i175, label %if.then.i21.i.i.i174 - -if.then.i21.i.i.i174: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i171 - call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.5406) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i175 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i175: ; preds = %if.then.i21.i.i.i174, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i171 - %add.ptr19.i.i.i176 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i168, i64 %cond.i.i.i.i163 - %.pre440 = load ptr, ptr %add.ptr.i.i.i169, align 8 +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i158: ; preds = %if.else.i.i153 + %sub.ptr.div.i.i.i.i.i159 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i156, 3 + %.sroa.speculated.i.i.i.i160 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i159, i64 1) + %add.i.i.i.i161 = add i64 %.sroa.speculated.i.i.i.i160, %sub.ptr.div.i.i.i.i.i159 + %cmp7.i.i.i.i162 = icmp ult i64 %add.i.i.i.i161, %sub.ptr.div.i.i.i.i.i159 + %cmp9.i.i.i.i163 = icmp ugt i64 %add.i.i.i.i161, 1152921504606846975 + %or.cond.i.i.i.i164 = or i1 %cmp7.i.i.i.i162, %cmp9.i.i.i.i163 + %cond.i.i.i.i165 = select i1 %or.cond.i.i.i.i164, i64 1152921504606846975, i64 %add.i.i.i.i161 + %cmp.not.i.i.i.i166 = icmp eq i64 %cond.i.i.i.i165, 0 + br i1 %cmp.not.i.i.i.i166, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i169, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i167 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i167: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i158 + %mul.i.i.i.i.i.i168 = shl nuw nsw i64 %cond.i.i.i.i165, 3 + %call5.i.i.i.i.i.i184 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i168) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i169 unwind label %lpad.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i169: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i167, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i158 + %cond.i10.i.i.i170 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i158 ], [ %call5.i.i.i.i.i.i184, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i167 ] + %add.ptr.i.i.i171 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i170, i64 %sub.ptr.div.i.i.i.i.i159 + store ptr %call46, ptr %add.ptr.i.i.i171, align 8 + %cmp.i.i.i11.i.i.i172 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i156, 0 + br i1 %cmp.i.i.i11.i.i.i172, label %if.then.i.i.i12.i.i.i180, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i173 + +if.then.i.i.i12.i.i.i180: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i169 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i170, ptr align 8 %flats.sroa.0.5409, i64 %sub.ptr.sub.i.i.i.i.i156, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i173 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i173: ; preds = %if.then.i.i.i12.i.i.i180, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i169 + %add.ptr.i.i.i.i.i.i174 = getelementptr inbounds i8, ptr %cond.i10.i.i.i170, i64 %sub.ptr.sub.i.i.i.i.i156 + %tobool.not.i.i.i.i176 = icmp eq ptr %flats.sroa.0.5409, null + br i1 %tobool.not.i.i.i.i176, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i178, label %if.then.i20.i.i.i177 + +if.then.i20.i.i.i177: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i173 + call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.5409) #31 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i178 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i178: ; preds = %if.then.i20.i.i.i177, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i173 + %add.ptr19.i.i.i179 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i170, i64 %cond.i.i.i.i165 + %.pre443 = load ptr, ptr %add.ptr.i.i.i.i.i.i174, align 8 br label %invoke.cont47 -invoke.cont47: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i175, %if.then.i.i149 - %35 = phi ptr [ %.pre440, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i175 ], [ %call46, %if.then.i.i149 ] - %flats.sroa.26.4 = phi ptr [ %add.ptr19.i.i.i176, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i175 ], [ %flats.sroa.26.3404, %if.then.i.i149 ] - %add.ptr.i.i.i169.pn = phi ptr [ %add.ptr.i.i.i169, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i175 ], [ %flats.sroa.10.3405, %if.then.i.i149 ] - %flats.sroa.0.6 = phi ptr [ %cond.i10.i.i.i168, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i175 ], [ %flats.sroa.0.5406, %if.then.i.i149 ] - %flats.sroa.10.4 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i169.pn, i64 1 +invoke.cont47: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i178, %if.then.i.i151 + %35 = phi ptr [ %.pre443, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i178 ], [ %call46, %if.then.i.i151 ] + %flats.sroa.26.4 = phi ptr [ %add.ptr19.i.i.i179, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i178 ], [ %flats.sroa.26.3407, %if.then.i.i151 ] + %add.ptr.i.i.i.i.i.i174.pn = phi ptr [ %add.ptr.i.i.i.i.i.i174, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i178 ], [ %flats.sroa.10.3408, %if.then.i.i151 ] + %flats.sroa.0.6 = phi ptr [ %cond.i10.i.i.i170, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i178 ], [ %flats.sroa.0.5409, %if.then.i.i151 ] + %flats.sroa.10.4 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i174.pn, i64 1 %36 = load ptr, ptr %tree, align 8 - %tag.i.i185 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %35, i64 0, i32 2 - %37 = load i8, ptr %tag.i.i185, align 4 - %or.cond.i.i186 = icmp ugt i8 %37, 4 - br i1 %or.cond.i.i186, label %if.then.i195, label %if.end.i.i187 - -if.end.i.i187: ; preds = %invoke.cont47 - %cmp6.i.i188 = icmp eq i8 %37, 1 - br i1 %cmp6.i.i188, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i191, label %if.end.i189 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i191: ; preds = %if.end.i.i187 - %child.i.i192 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %35, i64 0, i32 2 - %38 = load ptr, ptr %child.i.i192, align 8 - %tag9.phi.trans.insert.i.i193 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %38, i64 0, i32 2 - %.pre.i.i194 = load i8, ptr %tag9.phi.trans.insert.i.i193, align 4 - %39 = icmp ugt i8 %.pre.i.i194, 4 - br i1 %39, label %if.then.i195, label %if.end.i189 - -if.then.i195: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i191, %invoke.cont47 - %call1.i197 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %36, ptr noundef nonnull %35) + %tag.i.i188 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %35, i64 0, i32 2 + %37 = load i8, ptr %tag.i.i188, align 4 + %or.cond.i.i189 = icmp ugt i8 %37, 4 + br i1 %or.cond.i.i189, label %if.then.i198, label %if.end.i.i190 + +if.end.i.i190: ; preds = %invoke.cont47 + %cmp6.i.i191 = icmp eq i8 %37, 1 + br i1 %cmp6.i.i191, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i194, label %if.end.i192 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i194: ; preds = %if.end.i.i190 + %child.i.i195 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %35, i64 0, i32 2 + %38 = load ptr, ptr %child.i.i195, align 8 + %tag9.phi.trans.insert.i.i196 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %38, i64 0, i32 2 + %.pre.i.i197 = load i8, ptr %tag9.phi.trans.insert.i.i196, align 4 + %39 = icmp ugt i8 %.pre.i.i197, 4 + br i1 %39, label %if.then.i198, label %if.end.i192 + +if.then.i198: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i194, %invoke.cont47 + %call1.i200 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %36, ptr noundef nonnull %35) to label %invoke.cont55 unwind label %lpad.loopexit -if.end.i189: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i191, %if.end.i.i187 - %call2.i199 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %36, ptr noundef nonnull %35) +if.end.i192: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i194, %if.end.i.i190 + %call2.i202 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %36, ptr noundef nonnull %35) to label %invoke.cont55 unwind label %lpad.loopexit -invoke.cont55: ; preds = %if.then.i195, %if.end.i189 - %retval.0.i190 = phi ptr [ %call1.i197, %if.then.i195 ], [ %call2.i199, %if.end.i189 ] - store ptr %retval.0.i190, ptr %result, align 8 +invoke.cont55: ; preds = %if.then.i198, %if.end.i192 + %retval.0.i193 = phi ptr [ %call1.i200, %if.then.i198 ], [ %call2.i202, %if.end.i192 ] + store ptr %retval.0.i193, ptr %result, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar51, i32 1, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont56 unwind label %lpad.loopexit invoke.cont56: ; preds = %invoke.cont55 %40 = load i8, ptr %gtest_ar51, align 8 %41 = and i8 %40, 1 - %tobool.i201.not = icmp eq i8 %41, 0 - br i1 %tobool.i201.not, label %if.else59, label %cleanup.cont75.critedge + %tobool.i204.not = icmp eq i8 %41, 0 + br i1 %tobool.i204.not, label %if.else59, label %cleanup.cont75.critedge -ehcleanup28: ; preds = %_ZN7testing7MessageD2Ev.exit93, %lpad19 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit93 ], [ %15, %lpad19 ] +ehcleanup28: ; preds = %_ZN7testing7MessageD2Ev.exit94, %lpad19 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit94 ], [ %15, %lpad19 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup159 @@ -31105,17 +31115,17 @@ if.else59: ; preds = %invoke.cont56 to label %invoke.cont62 unwind label %lpad61 invoke.cont62: ; preds = %if.else59 - %42 = load ptr, ptr %message_.i222, align 8 - %cmp.i.i.not.i.i203 = icmp eq ptr %42, null - br i1 %cmp.i.i.not.i.i203, label %invoke.cont65, label %cond.true.i.i204 + %42 = load ptr, ptr %message_.i225, align 8 + %cmp.i.i.not.i.i206 = icmp eq ptr %42, null + br i1 %cmp.i.i.not.i.i206, label %invoke.cont65, label %cond.true.i.i207 -cond.true.i.i204: ; preds = %invoke.cont62 - %call4.i.i205 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 +cond.true.i.i207: ; preds = %invoke.cont62 + %call4.i.i208 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 br label %invoke.cont65 -invoke.cont65: ; preds = %cond.true.i.i204, %invoke.cont62 - %cond.i.i206 = phi ptr [ %call4.i.i205, %cond.true.i.i204 ], [ @.str.120, %invoke.cont62 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp63, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 487, ptr noundef %cond.i.i206) +invoke.cont65: ; preds = %cond.true.i.i207, %invoke.cont62 + %cond.i.i209 = phi ptr [ %call4.i.i208, %cond.true.i.i207 ], [ @.str.120, %invoke.cont62 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp63, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 487, ptr noundef %cond.i.i209) to label %invoke.cont67 unwind label %lpad64 invoke.cont67: ; preds = %invoke.cont65 @@ -31125,29 +31135,29 @@ invoke.cont67: ; preds = %invoke.cont65 invoke.cont69: ; preds = %invoke.cont67 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp63) #28 %43 = load ptr, ptr %ref.tmp60, align 8 - %cmp.not.i.i208 = icmp eq ptr %43, null - br i1 %cmp.not.i.i208, label %_ZN7testing7MessageD2Ev.exit212, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209 + %cmp.not.i.i211 = icmp eq ptr %43, null + br i1 %cmp.not.i.i211, label %_ZN7testing7MessageD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209: ; preds = %invoke.cont69 - %vtable.i.i.i210 = load ptr, ptr %43, align 8 - %vfn.i.i.i211 = getelementptr inbounds ptr, ptr %vtable.i.i.i210, i64 1 - %44 = load ptr, ptr %vfn.i.i.i211, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212: ; preds = %invoke.cont69 + %vtable.i.i.i213 = load ptr, ptr %43, align 8 + %vfn.i.i.i214 = getelementptr inbounds ptr, ptr %vtable.i.i.i213, i64 1 + %44 = load ptr, ptr %vfn.i.i.i214, align 8 call void %44(ptr noundef nonnull align 8 dereferenceable(128) %43) #28 - br label %_ZN7testing7MessageD2Ev.exit212 + br label %_ZN7testing7MessageD2Ev.exit215 -_ZN7testing7MessageD2Ev.exit212: ; preds = %invoke.cont69, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209 +_ZN7testing7MessageD2Ev.exit215: ; preds = %invoke.cont69, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 store ptr null, ptr %ref.tmp60, align 8 - %45 = load ptr, ptr %message_.i222, align 8 - %cmp.not.i.i214 = icmp eq ptr %45, null - br i1 %cmp.not.i.i214, label %_ZN7testing15AssertionResultD2Ev.exit216, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215 + %45 = load ptr, ptr %message_.i225, align 8 + %cmp.not.i.i217 = icmp eq ptr %45, null + br i1 %cmp.not.i.i217, label %_ZN7testing15AssertionResultD2Ev.exit219, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215: ; preds = %_ZN7testing7MessageD2Ev.exit212 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218: ; preds = %_ZN7testing7MessageD2Ev.exit215 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #28 call void @_ZdlPv(ptr noundef nonnull %45) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit216 + br label %_ZN7testing15AssertionResultD2Ev.exit219 -_ZN7testing15AssertionResultD2Ev.exit216: ; preds = %_ZN7testing7MessageD2Ev.exit212, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215 - store ptr null, ptr %message_.i222, align 8 +_ZN7testing15AssertionResultD2Ev.exit219: ; preds = %_ZN7testing7MessageD2Ev.exit215, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 + store ptr null, ptr %message_.i225, align 8 br label %cleanup158 lpad61: ; preds = %if.else59 @@ -31169,53 +31179,53 @@ lpad68: ; preds = %invoke.cont67 ehcleanup71: ; preds = %lpad68, %lpad64 %.pn16 = phi { ptr, i32 } [ %48, %lpad68 ], [ %47, %lpad64 ] %49 = load ptr, ptr %ref.tmp60, align 8 - %cmp.not.i.i217 = icmp eq ptr %49, null - br i1 %cmp.not.i.i217, label %_ZN7testing7MessageD2Ev.exit221, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 + %cmp.not.i.i220 = icmp eq ptr %49, null + br i1 %cmp.not.i.i220, label %_ZN7testing7MessageD2Ev.exit224, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218: ; preds = %ehcleanup71 - %vtable.i.i.i219 = load ptr, ptr %49, align 8 - %vfn.i.i.i220 = getelementptr inbounds ptr, ptr %vtable.i.i.i219, i64 1 - %50 = load ptr, ptr %vfn.i.i.i220, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221: ; preds = %ehcleanup71 + %vtable.i.i.i222 = load ptr, ptr %49, align 8 + %vfn.i.i.i223 = getelementptr inbounds ptr, ptr %vtable.i.i.i222, i64 1 + %50 = load ptr, ptr %vfn.i.i.i223, align 8 call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #28 - br label %_ZN7testing7MessageD2Ev.exit221 + br label %_ZN7testing7MessageD2Ev.exit224 -_ZN7testing7MessageD2Ev.exit221: ; preds = %ehcleanup71, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 +_ZN7testing7MessageD2Ev.exit224: ; preds = %ehcleanup71, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221 store ptr null, ptr %ref.tmp60, align 8 br label %ehcleanup76 cleanup.cont75.critedge: ; preds = %invoke.cont56 - %51 = load ptr, ptr %message_.i222, align 8 - %cmp.not.i.i223 = icmp eq ptr %51, null - br i1 %cmp.not.i.i223, label %cleanup.cont75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224 + %51 = load ptr, ptr %message_.i225, align 8 + %cmp.not.i.i226 = icmp eq ptr %51, null + br i1 %cmp.not.i.i226, label %cleanup.cont75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i227 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224: ; preds = %cleanup.cont75.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i227: ; preds = %cleanup.cont75.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #28 call void @_ZdlPv(ptr noundef nonnull %51) #31 br label %cleanup.cont75 -cleanup.cont75: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224, %cleanup.cont75.critedge - store ptr null, ptr %message_.i222, align 8 - %call.i227 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() +cleanup.cont75: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i227, %cleanup.cont75.critedge + store ptr null, ptr %message_.i225, align 8 + %call.i230 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont96 unwind label %lpad.loopexit invoke.cont96: ; preds = %cleanup.cont75 - %52 = load i8, ptr %call.i227, align 1 + %52 = load i8, ptr %call.i230, align 1 %53 = and i8 %52, 1 %54 = load ptr, ptr %tree, align 8 store i8 %53, ptr %ref.tmp78, align 8 - store ptr %54, ptr %agg.tmp79229.sroa.5.0.ref.tmp78.sroa_idx, align 8 - store ptr %54, ptr %agg.tmp79229.sroa.6.0.ref.tmp78.sroa_idx, align 8 + store ptr %54, ptr %agg.tmp79232.sroa.5.0.ref.tmp78.sroa_idx, align 8 + store ptr %54, ptr %agg.tmp79232.sroa.6.0.ref.tmp78.sroa_idx, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ConditionalMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEENS0_9EqMatcherIS7_EEEEEclIS7_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar77, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp78, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont97 unwind label %lpad.loopexit invoke.cont97: ; preds = %invoke.cont96 %55 = load i8, ptr %gtest_ar77, align 8 %56 = and i8 %55, 1 - %tobool.i230.not = icmp eq i8 %56, 0 - br i1 %tobool.i230.not, label %if.else100, label %cleanup.cont116.critedge + %tobool.i233.not = icmp eq i8 %56, 0 + br i1 %tobool.i233.not, label %if.else100, label %cleanup.cont116.critedge -ehcleanup76: ; preds = %_ZN7testing7MessageD2Ev.exit221, %lpad61 - %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit221 ], [ %46, %lpad61 ] +ehcleanup76: ; preds = %_ZN7testing7MessageD2Ev.exit224, %lpad61 + %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit224 ], [ %46, %lpad61 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar51) #28 br label %ehcleanup159 @@ -31224,17 +31234,17 @@ if.else100: ; preds = %invoke.cont97 to label %invoke.cont103 unwind label %lpad102 invoke.cont103: ; preds = %if.else100 - %57 = load ptr, ptr %message_.i251, align 8 - %cmp.i.i.not.i.i232 = icmp eq ptr %57, null - br i1 %cmp.i.i.not.i.i232, label %invoke.cont106, label %cond.true.i.i233 + %57 = load ptr, ptr %message_.i254, align 8 + %cmp.i.i.not.i.i235 = icmp eq ptr %57, null + br i1 %cmp.i.i.not.i.i235, label %invoke.cont106, label %cond.true.i.i236 -cond.true.i.i233: ; preds = %invoke.cont103 - %call4.i.i234 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %57) #28 +cond.true.i.i236: ; preds = %invoke.cont103 + %call4.i.i237 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %57) #28 br label %invoke.cont106 -invoke.cont106: ; preds = %cond.true.i.i233, %invoke.cont103 - %cond.i.i235 = phi ptr [ %call4.i.i234, %cond.true.i.i233 ], [ @.str.120, %invoke.cont103 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 488, ptr noundef %cond.i.i235) +invoke.cont106: ; preds = %cond.true.i.i236, %invoke.cont103 + %cond.i.i238 = phi ptr [ %call4.i.i237, %cond.true.i.i236 ], [ @.str.120, %invoke.cont103 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 488, ptr noundef %cond.i.i238) to label %invoke.cont108 unwind label %lpad105 invoke.cont108: ; preds = %invoke.cont106 @@ -31244,29 +31254,29 @@ invoke.cont108: ; preds = %invoke.cont106 invoke.cont110: ; preds = %invoke.cont108 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #28 %58 = load ptr, ptr %ref.tmp101, align 8 - %cmp.not.i.i237 = icmp eq ptr %58, null - br i1 %cmp.not.i.i237, label %_ZN7testing7MessageD2Ev.exit241, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238 + %cmp.not.i.i240 = icmp eq ptr %58, null + br i1 %cmp.not.i.i240, label %_ZN7testing7MessageD2Ev.exit244, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238: ; preds = %invoke.cont110 - %vtable.i.i.i239 = load ptr, ptr %58, align 8 - %vfn.i.i.i240 = getelementptr inbounds ptr, ptr %vtable.i.i.i239, i64 1 - %59 = load ptr, ptr %vfn.i.i.i240, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241: ; preds = %invoke.cont110 + %vtable.i.i.i242 = load ptr, ptr %58, align 8 + %vfn.i.i.i243 = getelementptr inbounds ptr, ptr %vtable.i.i.i242, i64 1 + %59 = load ptr, ptr %vfn.i.i.i243, align 8 call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #28 - br label %_ZN7testing7MessageD2Ev.exit241 + br label %_ZN7testing7MessageD2Ev.exit244 -_ZN7testing7MessageD2Ev.exit241: ; preds = %invoke.cont110, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238 +_ZN7testing7MessageD2Ev.exit244: ; preds = %invoke.cont110, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241 store ptr null, ptr %ref.tmp101, align 8 - %60 = load ptr, ptr %message_.i251, align 8 - %cmp.not.i.i243 = icmp eq ptr %60, null - br i1 %cmp.not.i.i243, label %_ZN7testing15AssertionResultD2Ev.exit245, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244 + %60 = load ptr, ptr %message_.i254, align 8 + %cmp.not.i.i246 = icmp eq ptr %60, null + br i1 %cmp.not.i.i246, label %_ZN7testing15AssertionResultD2Ev.exit248, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244: ; preds = %_ZN7testing7MessageD2Ev.exit241 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247: ; preds = %_ZN7testing7MessageD2Ev.exit244 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #28 call void @_ZdlPv(ptr noundef nonnull %60) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit245 + br label %_ZN7testing15AssertionResultD2Ev.exit248 -_ZN7testing15AssertionResultD2Ev.exit245: ; preds = %_ZN7testing7MessageD2Ev.exit241, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244 - store ptr null, ptr %message_.i251, align 8 +_ZN7testing15AssertionResultD2Ev.exit248: ; preds = %_ZN7testing7MessageD2Ev.exit244, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 + store ptr null, ptr %message_.i254, align 8 br label %cleanup158 lpad102: ; preds = %if.else100 @@ -31288,32 +31298,32 @@ lpad109: ; preds = %invoke.cont108 ehcleanup112: ; preds = %lpad109, %lpad105 %.pn19 = phi { ptr, i32 } [ %63, %lpad109 ], [ %62, %lpad105 ] %64 = load ptr, ptr %ref.tmp101, align 8 - %cmp.not.i.i246 = icmp eq ptr %64, null - br i1 %cmp.not.i.i246, label %_ZN7testing7MessageD2Ev.exit250, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 + %cmp.not.i.i249 = icmp eq ptr %64, null + br i1 %cmp.not.i.i249, label %_ZN7testing7MessageD2Ev.exit253, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247: ; preds = %ehcleanup112 - %vtable.i.i.i248 = load ptr, ptr %64, align 8 - %vfn.i.i.i249 = getelementptr inbounds ptr, ptr %vtable.i.i.i248, i64 1 - %65 = load ptr, ptr %vfn.i.i.i249, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250: ; preds = %ehcleanup112 + %vtable.i.i.i251 = load ptr, ptr %64, align 8 + %vfn.i.i.i252 = getelementptr inbounds ptr, ptr %vtable.i.i.i251, i64 1 + %65 = load ptr, ptr %vfn.i.i.i252, align 8 call void %65(ptr noundef nonnull align 8 dereferenceable(128) %64) #28 - br label %_ZN7testing7MessageD2Ev.exit250 + br label %_ZN7testing7MessageD2Ev.exit253 -_ZN7testing7MessageD2Ev.exit250: ; preds = %ehcleanup112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 +_ZN7testing7MessageD2Ev.exit253: ; preds = %ehcleanup112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 store ptr null, ptr %ref.tmp101, align 8 br label %ehcleanup117 cleanup.cont116.critedge: ; preds = %invoke.cont97 - %66 = load ptr, ptr %message_.i251, align 8 - %cmp.not.i.i252 = icmp eq ptr %66, null - br i1 %cmp.not.i.i252, label %cleanup.cont116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253 + %66 = load ptr, ptr %message_.i254, align 8 + %cmp.not.i.i255 = icmp eq ptr %66, null + br i1 %cmp.not.i.i255, label %cleanup.cont116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253: ; preds = %cleanup.cont116.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256: ; preds = %cleanup.cont116.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #28 call void @_ZdlPv(ptr noundef nonnull %66) #31 br label %cleanup.cont116 -cleanup.cont116: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253, %cleanup.cont116.critedge - store ptr null, ptr %message_.i251, align 8 +cleanup.cont116: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256, %cleanup.cont116.critedge + store ptr null, ptr %message_.i254, align 8 %67 = load ptr, ptr %result, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !497) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %edges, i8 0, i64 24, i1 false), !alias.scope !497 @@ -31324,10 +31334,10 @@ lpad.i: ; preds = %cleanup.cont116 %68 = landingpad { ptr, i32 } cleanup %69 = load ptr, ptr %edges, align 8, !alias.scope !497 - %tobool.not.i.i.i.i255 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i.i255, label %ehcleanup159, label %if.then.i.i.i.i256 + %tobool.not.i.i.i.i258 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i.i258, label %ehcleanup159, label %if.then.i.i.i.i259 -if.then.i.i.i.i256: ; preds = %lpad.i +if.then.i.i.i.i259: ; preds = %lpad.i call void @_ZdlPv(ptr noundef nonnull %69) #31, !noalias !497 br label %ehcleanup159 @@ -31340,9 +31350,9 @@ invoke.cont118: ; preds = %cleanup.cont116 if.then.i.i.i.i.i.i: ; preds = %invoke.cont118 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.143) #29 - to label %.noexc258 unwind label %lpad122.loopexit.split-lp + to label %.noexc261 unwind label %lpad122.loopexit.split-lp -.noexc258: ; preds = %if.then.i.i.i.i.i.i +.noexc261: ; preds = %if.then.i.i.i.i.i.i unreachable _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %invoke.cont118 @@ -31350,78 +31360,76 @@ _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.e br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont.thread.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %call5.i.i.i.i1.i.i.i.i259 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad122.loopexit + %call5.i.i.i.i1.i.i.i.i262 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad122.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp120, align 8, !alias.scope !500 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !500 br label %invoke.cont125 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i259, ptr align 8 %flats.sroa.0.6, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !503 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i262, ptr align 8 %flats.sroa.0.6, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !503 call void @llvm.experimental.noalias.scope.decl(metadata !500) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp120, i8 0, i64 24, i1 false), !alias.scope !500 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %if.then.i.i.i.i.i261 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !500 + to label %if.then.i.i.i.i.i264 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !500 -if.then.i.i.i.i.i261: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i262 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i264: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp120, align 8, !alias.scope !500 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i262 - store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !500 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i259, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + %add.ptr.i.i.i.i.i.i265 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i + store ptr %add.ptr.i.i.i.i.i.i265, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !500 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i262, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont125 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %70 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i276 + br label %if.then.i.i.i.i279 -invoke.cont125: ; preds = %if.then.i.i.i.i.i261, %invoke.cont.thread.i - %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i261 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp121.sroa.0.1442 = phi ptr [ %call5.i.i.i.i1.i.i.i.i259, %if.then.i.i.i.i.i261 ], [ null, %invoke.cont.thread.i ] +invoke.cont125: ; preds = %if.then.i.i.i.i.i264, %invoke.cont.thread.i + %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i265, %if.then.i.i.i.i.i264 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] + %agg.tmp121.sroa.0.1445 = phi ptr [ %call5.i.i.i.i1.i.i.i.i262, %if.then.i.i.i.i.i264 ], [ null, %invoke.cont.thread.i ] store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !500 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEEclISt6vectorIS6_SaIS6_EEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar119, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp120, ptr noundef nonnull @.str.185, ptr noundef nonnull align 8 dereferenceable(24) %edges) to label %invoke.cont127 unwind label %lpad126 invoke.cont127: ; preds = %invoke.cont125 %71 = load ptr, ptr %ref.tmp120, align 8 - %tobool.not.i.i.i.i.i266 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i266, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i267 + %tobool.not.i.i.i.i.i269 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i269, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i270 -if.then.i.i.i.i.i267: ; preds = %invoke.cont127 +if.then.i.i.i.i.i270: ; preds = %invoke.cont127 call void @_ZdlPv(ptr noundef nonnull %71) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont127, %if.then.i.i.i.i.i267 - %tobool.not.i.i.i.i268 = icmp eq ptr %agg.tmp121.sroa.0.1442, null - br i1 %tobool.not.i.i.i.i268, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i269 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont127, %if.then.i.i.i.i.i270 + %tobool.not.i.i.i.i271 = icmp eq ptr %agg.tmp121.sroa.0.1445, null + br i1 %tobool.not.i.i.i.i271, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i272 -if.then.i.i.i.i269: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp121.sroa.0.1442) #31 +if.then.i.i.i.i272: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %agg.tmp121.sroa.0.1445) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i269 +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i272 %72 = load i8, ptr %gtest_ar119, align 8 %73 = and i8 %72, 1 - %tobool.i271.not = icmp eq i8 %73, 0 - br i1 %tobool.i271.not, label %if.else132, label %cleanup.cont148.critedge + %tobool.i274.not = icmp eq i8 %73, 0 + br i1 %tobool.i274.not, label %if.else132, label %cleanup.cont148.critedge -ehcleanup117: ; preds = %_ZN7testing7MessageD2Ev.exit250, %lpad102 - %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit250 ], [ %61, %lpad102 ] +ehcleanup117: ; preds = %_ZN7testing7MessageD2Ev.exit253, %lpad102 + %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit253 ], [ %61, %lpad102 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar77) #28 br label %ehcleanup159 lpad122.loopexit: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - %lpad.loopexit355 = landingpad { ptr, i32 } + %lpad.loopexit358 = landingpad { ptr, i32 } cleanup br label %ehcleanup153 lpad122.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i - %lpad.loopexit.split-lp356 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp359 = landingpad { ptr, i32 } cleanup br label %ehcleanup153 @@ -31429,21 +31437,21 @@ lpad126: ; preds = %invoke.cont125 %74 = landingpad { ptr, i32 } cleanup %75 = load ptr, ptr %ref.tmp120, align 8 - %tobool.not.i.i.i.i.i272 = icmp eq ptr %75, null - br i1 %tobool.not.i.i.i.i.i272, label %ehcleanup129, label %if.then.i.i.i.i.i273 + %tobool.not.i.i.i.i.i275 = icmp eq ptr %75, null + br i1 %tobool.not.i.i.i.i.i275, label %ehcleanup129, label %if.then.i.i.i.i.i276 -if.then.i.i.i.i.i273: ; preds = %lpad126 +if.then.i.i.i.i.i276: ; preds = %lpad126 call void @_ZdlPv(ptr noundef nonnull %75) #31 br label %ehcleanup129 -ehcleanup129: ; preds = %if.then.i.i.i.i.i273, %lpad126 - %tobool.not.i.i.i.i275 = icmp eq ptr %agg.tmp121.sroa.0.1442, null - br i1 %tobool.not.i.i.i.i275, label %ehcleanup153, label %if.then.i.i.i.i276 +ehcleanup129: ; preds = %if.then.i.i.i.i.i276, %lpad126 + %tobool.not.i.i.i.i278 = icmp eq ptr %agg.tmp121.sroa.0.1445, null + br i1 %tobool.not.i.i.i.i278, label %ehcleanup153, label %if.then.i.i.i.i279 -if.then.i.i.i.i276: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup129 - %.pn22449 = phi { ptr, i32 } [ %74, %ehcleanup129 ], [ %70, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - %agg.tmp121.sroa.0.1444448 = phi ptr [ %agg.tmp121.sroa.0.1442, %ehcleanup129 ], [ %call5.i.i.i.i1.i.i.i.i259, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp121.sroa.0.1444448) #31 +if.then.i.i.i.i279: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup129 + %.pn22452 = phi { ptr, i32 } [ %74, %ehcleanup129 ], [ %70, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + %agg.tmp121.sroa.0.1447451 = phi ptr [ %agg.tmp121.sroa.0.1445, %ehcleanup129 ], [ %call5.i.i.i.i1.i.i.i.i262, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp121.sroa.0.1447451) #31 br label %ehcleanup153 if.else132: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit @@ -31451,17 +31459,17 @@ if.else132: ; preds = %_ZN7testing8interna to label %invoke.cont135 unwind label %lpad134 invoke.cont135: ; preds = %if.else132 - %76 = load ptr, ptr %message_.i299, align 8 - %cmp.i.i.not.i.i280 = icmp eq ptr %76, null - br i1 %cmp.i.i.not.i.i280, label %invoke.cont138, label %cond.true.i.i281 + %76 = load ptr, ptr %message_.i302, align 8 + %cmp.i.i.not.i.i283 = icmp eq ptr %76, null + br i1 %cmp.i.i.not.i.i283, label %invoke.cont138, label %cond.true.i.i284 -cond.true.i.i281: ; preds = %invoke.cont135 - %call4.i.i282 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %76) #28 +cond.true.i.i284: ; preds = %invoke.cont135 + %call4.i.i285 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %76) #28 br label %invoke.cont138 -invoke.cont138: ; preds = %cond.true.i.i281, %invoke.cont135 - %cond.i.i283 = phi ptr [ %call4.i.i282, %cond.true.i.i281 ], [ @.str.120, %invoke.cont135 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 490, ptr noundef %cond.i.i283) +invoke.cont138: ; preds = %cond.true.i.i284, %invoke.cont135 + %cond.i.i286 = phi ptr [ %call4.i.i285, %cond.true.i.i284 ], [ @.str.120, %invoke.cont135 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 490, ptr noundef %cond.i.i286) to label %invoke.cont140 unwind label %lpad137 invoke.cont140: ; preds = %invoke.cont138 @@ -31471,23 +31479,23 @@ invoke.cont140: ; preds = %invoke.cont138 invoke.cont142: ; preds = %invoke.cont140 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136) #28 %77 = load ptr, ptr %ref.tmp133, align 8 - %cmp.not.i.i285 = icmp eq ptr %77, null - br i1 %cmp.not.i.i285, label %_ZN7testing7MessageD2Ev.exit289, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i286 + %cmp.not.i.i288 = icmp eq ptr %77, null + br i1 %cmp.not.i.i288, label %_ZN7testing7MessageD2Ev.exit292, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i286: ; preds = %invoke.cont142 - %vtable.i.i.i287 = load ptr, ptr %77, align 8 - %vfn.i.i.i288 = getelementptr inbounds ptr, ptr %vtable.i.i.i287, i64 1 - %78 = load ptr, ptr %vfn.i.i.i288, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289: ; preds = %invoke.cont142 + %vtable.i.i.i290 = load ptr, ptr %77, align 8 + %vfn.i.i.i291 = getelementptr inbounds ptr, ptr %vtable.i.i.i290, i64 1 + %78 = load ptr, ptr %vfn.i.i.i291, align 8 call void %78(ptr noundef nonnull align 8 dereferenceable(128) %77) #28 - br label %_ZN7testing7MessageD2Ev.exit289 + br label %_ZN7testing7MessageD2Ev.exit292 -_ZN7testing7MessageD2Ev.exit289: ; preds = %invoke.cont142, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i286 +_ZN7testing7MessageD2Ev.exit292: ; preds = %invoke.cont142, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289 store ptr null, ptr %ref.tmp133, align 8 - %79 = load ptr, ptr %message_.i299, align 8 - %cmp.not.i.i291 = icmp eq ptr %79, null - br i1 %cmp.not.i.i291, label %cleanup158.critedge, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i292 + %79 = load ptr, ptr %message_.i302, align 8 + %cmp.not.i.i294 = icmp eq ptr %79, null + br i1 %cmp.not.i.i294, label %cleanup158.critedge, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i292: ; preds = %_ZN7testing7MessageD2Ev.exit289 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295: ; preds = %_ZN7testing7MessageD2Ev.exit292 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #28 call void @_ZdlPv(ptr noundef nonnull %79) #31 br label %cleanup158.critedge @@ -31511,59 +31519,59 @@ lpad141: ; preds = %invoke.cont140 ehcleanup144: ; preds = %lpad141, %lpad137 %.pn24 = phi { ptr, i32 } [ %82, %lpad141 ], [ %81, %lpad137 ] %83 = load ptr, ptr %ref.tmp133, align 8 - %cmp.not.i.i294 = icmp eq ptr %83, null - br i1 %cmp.not.i.i294, label %_ZN7testing7MessageD2Ev.exit298, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 + %cmp.not.i.i297 = icmp eq ptr %83, null + br i1 %cmp.not.i.i297, label %_ZN7testing7MessageD2Ev.exit301, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i298 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295: ; preds = %ehcleanup144 - %vtable.i.i.i296 = load ptr, ptr %83, align 8 - %vfn.i.i.i297 = getelementptr inbounds ptr, ptr %vtable.i.i.i296, i64 1 - %84 = load ptr, ptr %vfn.i.i.i297, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i298: ; preds = %ehcleanup144 + %vtable.i.i.i299 = load ptr, ptr %83, align 8 + %vfn.i.i.i300 = getelementptr inbounds ptr, ptr %vtable.i.i.i299, i64 1 + %84 = load ptr, ptr %vfn.i.i.i300, align 8 call void %84(ptr noundef nonnull align 8 dereferenceable(128) %83) #28 - br label %_ZN7testing7MessageD2Ev.exit298 + br label %_ZN7testing7MessageD2Ev.exit301 -_ZN7testing7MessageD2Ev.exit298: ; preds = %ehcleanup144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 +_ZN7testing7MessageD2Ev.exit301: ; preds = %ehcleanup144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i298 store ptr null, ptr %ref.tmp133, align 8 br label %ehcleanup149 cleanup.cont148.critedge: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit - %85 = load ptr, ptr %message_.i299, align 8 - %cmp.not.i.i300 = icmp eq ptr %85, null - br i1 %cmp.not.i.i300, label %_ZN7testing15AssertionResultD2Ev.exit302, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301 + %85 = load ptr, ptr %message_.i302, align 8 + %cmp.not.i.i303 = icmp eq ptr %85, null + br i1 %cmp.not.i.i303, label %_ZN7testing15AssertionResultD2Ev.exit305, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301: ; preds = %cleanup.cont148.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304: ; preds = %cleanup.cont148.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #28 call void @_ZdlPv(ptr noundef nonnull %85) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit302 + br label %_ZN7testing15AssertionResultD2Ev.exit305 -_ZN7testing15AssertionResultD2Ev.exit302: ; preds = %cleanup.cont148.critedge, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301 - store ptr null, ptr %message_.i299, align 8 +_ZN7testing15AssertionResultD2Ev.exit305: ; preds = %cleanup.cont148.critedge, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304 + store ptr null, ptr %message_.i302, align 8 %86 = load ptr, ptr %result, align 8 store ptr %86, ptr %tree, align 8 %87 = load ptr, ptr %edges, align 8 %tobool.not.i.i.i = icmp eq ptr %87, null - br i1 %tobool.not.i.i.i, label %for.inc154, label %if.then.i.i.i303 + br i1 %tobool.not.i.i.i, label %for.inc154, label %if.then.i.i.i306 -if.then.i.i.i303: ; preds = %_ZN7testing15AssertionResultD2Ev.exit302 +if.then.i.i.i306: ; preds = %_ZN7testing15AssertionResultD2Ev.exit305 call void @_ZdlPv(ptr noundef nonnull %87) #31 br label %for.inc154 -for.inc154: ; preds = %if.then.i.i.i303, %_ZN7testing15AssertionResultD2Ev.exit302 - %inc155 = add nuw nsw i64 %i29.0407, 1 - %exitcond439.not = icmp eq i64 %inc155, 36 - br i1 %exitcond439.not, label %for.end156, label %for.body32, !llvm.loop !508 +for.inc154: ; preds = %if.then.i.i.i306, %_ZN7testing15AssertionResultD2Ev.exit305 + %inc155 = add nuw nsw i64 %i29.0410, 1 + %exitcond442.not = icmp eq i64 %inc155, 36 + br i1 %exitcond442.not, label %for.end156, label %for.body32, !llvm.loop !508 -ehcleanup149: ; preds = %_ZN7testing7MessageD2Ev.exit298, %lpad134 - %.pn24.pn = phi { ptr, i32 } [ %.pn24, %_ZN7testing7MessageD2Ev.exit298 ], [ %80, %lpad134 ] +ehcleanup149: ; preds = %_ZN7testing7MessageD2Ev.exit301, %lpad134 + %.pn24.pn = phi { ptr, i32 } [ %.pn24, %_ZN7testing7MessageD2Ev.exit301 ], [ %80, %lpad134 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar119) #28 br label %ehcleanup153 -ehcleanup153: ; preds = %lpad122.loopexit, %lpad122.loopexit.split-lp, %if.then.i.i.i.i276, %ehcleanup129, %ehcleanup149 - %.pn24.pn.pn = phi { ptr, i32 } [ %.pn24.pn, %ehcleanup149 ], [ %74, %ehcleanup129 ], [ %.pn22449, %if.then.i.i.i.i276 ], [ %lpad.loopexit355, %lpad122.loopexit ], [ %lpad.loopexit.split-lp356, %lpad122.loopexit.split-lp ] +ehcleanup153: ; preds = %lpad122.loopexit, %lpad122.loopexit.split-lp, %if.then.i.i.i.i279, %ehcleanup129, %ehcleanup149 + %.pn24.pn.pn = phi { ptr, i32 } [ %.pn24.pn, %ehcleanup149 ], [ %74, %ehcleanup129 ], [ %.pn22452, %if.then.i.i.i.i279 ], [ %lpad.loopexit358, %lpad122.loopexit ], [ %lpad.loopexit.split-lp359, %lpad122.loopexit.split-lp ] %88 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i307 = icmp eq ptr %88, null - br i1 %tobool.not.i.i.i307, label %ehcleanup159, label %if.then.i.i.i308 + %tobool.not.i.i.i310 = icmp eq ptr %88, null + br i1 %tobool.not.i.i.i310, label %ehcleanup159, label %if.then.i.i.i311 -if.then.i.i.i308: ; preds = %ehcleanup153 +if.then.i.i.i311: ; preds = %ehcleanup153 call void @_ZdlPv(ptr noundef nonnull %88) #31 br label %ehcleanup159 @@ -31572,89 +31580,89 @@ for.end156: ; preds = %for.inc154 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %89, i64 0, i32 1 %90 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %90, 2 - br i1 %cmp.i.not.i, label %if.then.i311, label %cleanup158 + br i1 %cmp.i.not.i, label %if.then.i314, label %cleanup158 -if.then.i311: ; preds = %for.end156 +if.then.i314: ; preds = %for.end156 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %89) to label %cleanup158 unwind label %lpad.loopexit.split-lp.loopexit.split-lp -cleanup158.critedge: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i292, %_ZN7testing7MessageD2Ev.exit289 - store ptr null, ptr %message_.i299, align 8 +cleanup158.critedge: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295, %_ZN7testing7MessageD2Ev.exit292 + store ptr null, ptr %message_.i302, align 8 %91 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i313 = icmp eq ptr %91, null - br i1 %tobool.not.i.i.i313, label %cleanup158, label %if.then.i.i.i314 + %tobool.not.i.i.i316 = icmp eq ptr %91, null + br i1 %tobool.not.i.i.i316, label %cleanup158, label %if.then.i.i.i317 -if.then.i.i.i314: ; preds = %cleanup158.critedge +if.then.i.i.i317: ; preds = %cleanup158.critedge call void @_ZdlPv(ptr noundef nonnull %91) #31 br label %cleanup158 -cleanup158: ; preds = %if.then.i.i.i314, %cleanup158.critedge, %for.end156, %if.then.i311, %_ZN7testing15AssertionResultD2Ev.exit245, %_ZN7testing15AssertionResultD2Ev.exit216, %_ZN7testing15AssertionResultD2Ev.exit - %flats.sroa.0.7 = phi ptr [ %flats.sroa.0.6, %_ZN7testing15AssertionResultD2Ev.exit245 ], [ %flats.sroa.0.6, %_ZN7testing15AssertionResultD2Ev.exit216 ], [ %flats.sroa.0.2, %_ZN7testing15AssertionResultD2Ev.exit ], [ %flats.sroa.0.6, %if.then.i311 ], [ %flats.sroa.0.6, %for.end156 ], [ %flats.sroa.0.6, %cleanup158.critedge ], [ %flats.sroa.0.6, %if.then.i.i.i314 ] - %tobool.not.i.i.i316 = icmp eq ptr %flats.sroa.0.7, null - br i1 %tobool.not.i.i.i316, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit318, label %if.then.i.i.i317 +cleanup158: ; preds = %if.then.i.i.i317, %cleanup158.critedge, %for.end156, %if.then.i314, %_ZN7testing15AssertionResultD2Ev.exit248, %_ZN7testing15AssertionResultD2Ev.exit219, %_ZN7testing15AssertionResultD2Ev.exit + %flats.sroa.0.7 = phi ptr [ %flats.sroa.0.6, %_ZN7testing15AssertionResultD2Ev.exit248 ], [ %flats.sroa.0.6, %_ZN7testing15AssertionResultD2Ev.exit219 ], [ %flats.sroa.0.2, %_ZN7testing15AssertionResultD2Ev.exit ], [ %flats.sroa.0.6, %if.then.i314 ], [ %flats.sroa.0.6, %for.end156 ], [ %flats.sroa.0.6, %cleanup158.critedge ], [ %flats.sroa.0.6, %if.then.i.i.i317 ] + %tobool.not.i.i.i319 = icmp eq ptr %flats.sroa.0.7, null + br i1 %tobool.not.i.i.i319, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit321, label %if.then.i.i.i320 -if.then.i.i.i317: ; preds = %cleanup158 +if.then.i.i.i320: ; preds = %cleanup158 call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.7) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit318 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit321 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit318: ; preds = %cleanup158, %if.then.i.i.i317 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit321: ; preds = %cleanup158, %if.then.i.i.i320 %92 = load ptr, ptr %refs, align 8 - %_M_finish.i.i319 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 - %93 = load ptr, ptr %_M_finish.i.i319, align 8 + %_M_finish.i.i322 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 + %93 = load ptr, ptr %_M_finish.i.i322, align 8 %cmp.i.not4.i = icmp eq ptr %92, %93 br i1 %cmp.i.not4.i, label %for.end.i, label %for.body.i -for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit318, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i321, %for.inc.i ], [ %92, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit318 ] +for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit321, %for.inc.i + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i324, %for.inc.i ], [ %92, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit321 ] %94 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i320 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %94, i64 0, i32 1 - %95 = atomicrmw sub ptr %refcount.i.i320, i32 2 acq_rel, align 4 + %refcount.i.i323 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %94, i64 0, i32 1 + %95 = atomicrmw sub ptr %refcount.i.i323, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %95, 2 - br i1 %cmp.i.not.i.i, label %if.then.i.i326, label %for.inc.i + br i1 %cmp.i.not.i.i, label %if.then.i.i329, label %for.inc.i -if.then.i.i326: ; preds = %for.body.i +if.then.i.i329: ; preds = %for.body.i invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %94) to label %for.inc.i unwind label %terminate.lpad.i -for.inc.i: ; preds = %if.then.i.i326, %for.body.i - %incdec.ptr.i.i321 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i322 = icmp eq ptr %incdec.ptr.i.i321, %93 - br i1 %cmp.i.not.i322, label %for.end.loopexit.i, label %for.body.i +for.inc.i: ; preds = %if.then.i.i329, %for.body.i + %incdec.ptr.i.i324 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 + %cmp.i.not.i325 = icmp eq ptr %incdec.ptr.i.i324, %93 + br i1 %cmp.i.not.i325, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 br label %for.end.i -for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit318 - %96 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %92, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit318 ] - %tobool.not.i.i.i.i323 = icmp eq ptr %96, null - br i1 %tobool.not.i.i.i.i323, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i324 +for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit321 + %96 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %92, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit321 ] + %tobool.not.i.i.i.i326 = icmp eq ptr %96, null + br i1 %tobool.not.i.i.i.i326, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i327 -if.then.i.i.i.i324: ; preds = %for.end.i +if.then.i.i.i.i327: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %96) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit -terminate.lpad.i: ; preds = %if.then.i.i326 +terminate.lpad.i: ; preds = %if.then.i.i329 %97 = landingpad { ptr, i32 } catch ptr null %98 = extractvalue { ptr, i32 } %97, 0 call void @__clang_call_terminate(ptr %98) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i324 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i327 ret void -ehcleanup159: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit, %if.then.i.i.i308, %ehcleanup153, %lpad.i, %if.then.i.i.i.i256, %ehcleanup117, %ehcleanup76, %ehcleanup28 - %flats.sroa.0.8 = phi ptr [ %flats.sroa.0.6, %ehcleanup117 ], [ %flats.sroa.0.6, %ehcleanup76 ], [ %flats.sroa.0.2, %ehcleanup28 ], [ %flats.sroa.0.6, %if.then.i.i.i.i256 ], [ %flats.sroa.0.6, %lpad.i ], [ %flats.sroa.0.6, %ehcleanup153 ], [ %flats.sroa.0.6, %if.then.i.i.i308 ], [ %flats.sroa.0.3.ph, %lpad.loopexit ], [ %flats.sroa.0.3.ph352.ph, %lpad.loopexit.split-lp.loopexit ], [ %flats.sroa.0.3.ph352.ph358, %lpad.loopexit.split-lp.loopexit.split-lp ] - %.pn28 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup117 ], [ %.pn16.pn, %ehcleanup76 ], [ %.pn.pn, %ehcleanup28 ], [ %68, %if.then.i.i.i.i256 ], [ %68, %lpad.i ], [ %.pn24.pn.pn, %ehcleanup153 ], [ %.pn24.pn.pn, %if.then.i.i.i308 ], [ %lpad.loopexit353, %lpad.loopexit ], [ %lpad.loopexit359, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp360, %lpad.loopexit.split-lp.loopexit.split-lp ] - %tobool.not.i.i.i327 = icmp eq ptr %flats.sroa.0.8, null - br i1 %tobool.not.i.i.i327, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit329, label %if.then.i.i.i328 +ehcleanup159: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit, %if.then.i.i.i311, %ehcleanup153, %lpad.i, %if.then.i.i.i.i259, %ehcleanup117, %ehcleanup76, %ehcleanup28 + %flats.sroa.0.8 = phi ptr [ %flats.sroa.0.6, %ehcleanup117 ], [ %flats.sroa.0.6, %ehcleanup76 ], [ %flats.sroa.0.2, %ehcleanup28 ], [ %flats.sroa.0.6, %if.then.i.i.i.i259 ], [ %flats.sroa.0.6, %lpad.i ], [ %flats.sroa.0.6, %ehcleanup153 ], [ %flats.sroa.0.6, %if.then.i.i.i311 ], [ %flats.sroa.0.3.ph, %lpad.loopexit ], [ %flats.sroa.0.3.ph355.ph, %lpad.loopexit.split-lp.loopexit ], [ %flats.sroa.0.3.ph355.ph361, %lpad.loopexit.split-lp.loopexit.split-lp ] + %.pn28 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup117 ], [ %.pn16.pn, %ehcleanup76 ], [ %.pn.pn, %ehcleanup28 ], [ %68, %if.then.i.i.i.i259 ], [ %68, %lpad.i ], [ %.pn24.pn.pn, %ehcleanup153 ], [ %.pn24.pn.pn, %if.then.i.i.i311 ], [ %lpad.loopexit356, %lpad.loopexit ], [ %lpad.loopexit362, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp363, %lpad.loopexit.split-lp.loopexit.split-lp ] + %tobool.not.i.i.i330 = icmp eq ptr %flats.sroa.0.8, null + br i1 %tobool.not.i.i.i330, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit332, label %if.then.i.i.i331 -if.then.i.i.i328: ; preds = %ehcleanup159 +if.then.i.i.i331: ; preds = %ehcleanup159 call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.8) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit329 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit332 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit329: ; preds = %ehcleanup159, %if.then.i.i.i328 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit332: ; preds = %ehcleanup159, %if.then.i.i.i331 call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs) #28 resume { ptr, i32 } %.pn28 } @@ -32097,23 +32105,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i = phi ptr [ %call5.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i ], [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i ] %add.ptr.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store ptr %4, ptr %add.ptr.i.i, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %7, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i, i64 1 %tobool.not.i.i.i = icmp eq ptr %7, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i tail call void @_ZdlPv(ptr noundef nonnull %7) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i store ptr %cond.i10.i.i, ptr %edges, align 8 store ptr %incdec.ptr.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %cond.i.i.i @@ -34008,33 +34017,33 @@ invoke.cont4: ; preds = %call.i.i.noexc, %if br label %for.body for.body: ; preds = %invoke.cont4, %invoke.cont11 - %i.0470 = phi i64 [ 1, %invoke.cont4 ], [ %inc, %invoke.cont11 ] - %flats.sroa.0.1469 = phi ptr [ %call5.i.i.i.i.i.i32, %invoke.cont4 ], [ %flats.sroa.0.2, %invoke.cont11 ] - %flats.sroa.10.1468 = phi ptr [ %incdec.ptr.i.i.i, %invoke.cont4 ], [ %flats.sroa.10.2, %invoke.cont11 ] - %flats.sroa.26.1467 = phi ptr [ %incdec.ptr.i.i.i, %invoke.cont4 ], [ %flats.sroa.26.2, %invoke.cont11 ] - %call8 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0470) + %i.0474 = phi i64 [ 1, %invoke.cont4 ], [ %inc, %invoke.cont11 ] + %flats.sroa.0.1473 = phi ptr [ %call5.i.i.i.i.i.i32, %invoke.cont4 ], [ %flats.sroa.0.2, %invoke.cont11 ] + %flats.sroa.10.1472 = phi ptr [ %incdec.ptr.i.i.i, %invoke.cont4 ], [ %flats.sroa.10.2, %invoke.cont11 ] + %flats.sroa.26.1471 = phi ptr [ %incdec.ptr.i.i.i, %invoke.cont4 ], [ %flats.sroa.26.2, %invoke.cont11 ] + %call8 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0474) to label %invoke.cont7 unwind label %lpad.loopexit.split-lp.loopexit invoke.cont7: ; preds = %for.body - %cmp.not.i.i38 = icmp eq ptr %flats.sroa.10.1468, %flats.sroa.26.1467 + %cmp.not.i.i38 = icmp eq ptr %flats.sroa.10.1472, %flats.sroa.26.1471 br i1 %cmp.not.i.i38, label %if.else.i.i41, label %if.then.i.i39 if.then.i.i39: ; preds = %invoke.cont7 - store ptr %call8, ptr %flats.sroa.10.1468, align 8 + store ptr %call8, ptr %flats.sroa.10.1472, align 8 br label %invoke.cont9 if.else.i.i41: ; preds = %invoke.cont7 - %sub.ptr.lhs.cast.i.i.i.i.i42 = ptrtoint ptr %flats.sroa.10.1468 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i43 = ptrtoint ptr %flats.sroa.0.1469 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i42 = ptrtoint ptr %flats.sroa.10.1472 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i43 = ptrtoint ptr %flats.sroa.0.1473 to i64 %sub.ptr.sub.i.i.i.i.i44 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i42, %sub.ptr.rhs.cast.i.i.i.i.i43 %cmp.i.i.i.i45 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i44, 9223372036854775800 - br i1 %cmp.i.i.i.i45, label %if.then.i.i.i.i68, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i46 + br i1 %cmp.i.i.i.i45, label %if.then.i.i.i.i69, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i46 -if.then.i.i.i.i68: ; preds = %if.else.i.i41 +if.then.i.i.i.i69: ; preds = %if.else.i.i41 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %.noexc69 unwind label %lpad.loopexit.split-lp.loopexit.split-lp + to label %.noexc70 unwind label %lpad.loopexit.split-lp.loopexit.split-lp -.noexc69: ; preds = %if.then.i.i.i.i68 +.noexc70: ; preds = %if.then.i.i.i.i69 unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i46: ; preds = %if.else.i.i41 @@ -34050,87 +34059,88 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i55: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i46 %mul.i.i.i.i.i.i56 = shl nuw nsw i64 %cond.i.i.i.i53, 3 - %call5.i.i.i.i.i.i71 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i56) #30 + %call5.i.i.i.i.i.i72 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i56) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i57 unwind label %lpad.loopexit.split-lp.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i57: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i55, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i46 - %cond.i10.i.i.i58 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i46 ], [ %call5.i.i.i.i.i.i71, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i55 ] + %cond.i10.i.i.i58 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i46 ], [ %call5.i.i.i.i.i.i72, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i55 ] %add.ptr.i.i.i59 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i58, i64 %sub.ptr.div.i.i.i.i.i47 store ptr %call8, ptr %add.ptr.i.i.i59, align 8 - %cmp.i.i.i11.i.i.i60 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i47, 0 - br i1 %cmp.i.i.i11.i.i.i60, label %if.then.i.i.i12.i.i.i67, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i61 + %cmp.i.i.i11.i.i.i60 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i44, 0 + br i1 %cmp.i.i.i11.i.i.i60, label %if.then.i.i.i12.i.i.i68, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i61 -if.then.i.i.i12.i.i.i67: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i57 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i58, ptr align 8 %flats.sroa.0.1469, i64 %sub.ptr.sub.i.i.i.i.i44, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i61 +if.then.i.i.i12.i.i.i68: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i57 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i58, ptr align 8 %flats.sroa.0.1473, i64 %sub.ptr.sub.i.i.i.i.i44, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i61 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i61: ; preds = %if.then.i.i.i12.i.i.i67, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i57 - %tobool.not.i.i.i.i63 = icmp eq ptr %flats.sroa.0.1469, null - br i1 %tobool.not.i.i.i.i63, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65, label %if.then.i21.i.i.i64 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i61: ; preds = %if.then.i.i.i12.i.i.i68, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i57 + %add.ptr.i.i.i.i.i.i62 = getelementptr inbounds i8, ptr %cond.i10.i.i.i58, i64 %sub.ptr.sub.i.i.i.i.i44 + %tobool.not.i.i.i.i64 = icmp eq ptr %flats.sroa.0.1473, null + br i1 %tobool.not.i.i.i.i64, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i66, label %if.then.i20.i.i.i65 -if.then.i21.i.i.i64: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i61 - tail call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.1469) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 +if.then.i20.i.i.i65: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i61 + tail call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.1473) #31 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i66 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65: ; preds = %if.then.i21.i.i.i64, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i61 - %add.ptr19.i.i.i66 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i58, i64 %cond.i.i.i.i53 - %.pre = load ptr, ptr %add.ptr.i.i.i59, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i66: ; preds = %if.then.i20.i.i.i65, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i61 + %add.ptr19.i.i.i67 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i58, i64 %cond.i.i.i.i53 + %.pre = load ptr, ptr %add.ptr.i.i.i.i.i.i62, align 8 br label %invoke.cont9 -invoke.cont9: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65, %if.then.i.i39 - %4 = phi ptr [ %.pre, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 ], [ %call8, %if.then.i.i39 ] - %flats.sroa.26.2 = phi ptr [ %add.ptr19.i.i.i66, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 ], [ %flats.sroa.26.1467, %if.then.i.i39 ] - %add.ptr.i.i.i59.pn = phi ptr [ %add.ptr.i.i.i59, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 ], [ %flats.sroa.10.1468, %if.then.i.i39 ] - %flats.sroa.0.2 = phi ptr [ %cond.i10.i.i.i58, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i65 ], [ %flats.sroa.0.1469, %if.then.i.i39 ] - %flats.sroa.10.2 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i59.pn, i64 1 +invoke.cont9: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i66, %if.then.i.i39 + %4 = phi ptr [ %.pre, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i66 ], [ %call8, %if.then.i.i39 ] + %flats.sroa.26.2 = phi ptr [ %add.ptr19.i.i.i67, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i66 ], [ %flats.sroa.26.1471, %if.then.i.i39 ] + %add.ptr.i.i.i.i.i.i62.pn = phi ptr [ %add.ptr.i.i.i.i.i.i62, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i66 ], [ %flats.sroa.10.1472, %if.then.i.i39 ] + %flats.sroa.0.2 = phi ptr [ %cond.i10.i.i.i58, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i66 ], [ %flats.sroa.0.1473, %if.then.i.i39 ] + %flats.sroa.10.2 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i62.pn, i64 1 %5 = load ptr, ptr %tree, align 8 - %tag.i.i75 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %4, i64 0, i32 2 - %6 = load i8, ptr %tag.i.i75, align 4 - %or.cond.i.i76 = icmp ugt i8 %6, 4 - br i1 %or.cond.i.i76, label %if.then.i, label %if.end.i.i77 - -if.end.i.i77: ; preds = %invoke.cont9 - %cmp6.i.i78 = icmp eq i8 %6, 1 - br i1 %cmp6.i.i78, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i81, label %if.end.i79 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i81: ; preds = %if.end.i.i77 - %child.i.i82 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %4, i64 0, i32 2 - %7 = load ptr, ptr %child.i.i82, align 8 - %tag9.phi.trans.insert.i.i83 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %7, i64 0, i32 2 - %.pre.i.i84 = load i8, ptr %tag9.phi.trans.insert.i.i83, align 4 - %8 = icmp ugt i8 %.pre.i.i84, 4 - br i1 %8, label %if.then.i, label %if.end.i79 - -if.then.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i81, %invoke.cont9 - %call1.i85 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %5, ptr noundef nonnull %4) + %tag.i.i76 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %4, i64 0, i32 2 + %6 = load i8, ptr %tag.i.i76, align 4 + %or.cond.i.i77 = icmp ugt i8 %6, 4 + br i1 %or.cond.i.i77, label %if.then.i, label %if.end.i.i78 + +if.end.i.i78: ; preds = %invoke.cont9 + %cmp6.i.i79 = icmp eq i8 %6, 1 + br i1 %cmp6.i.i79, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i82, label %if.end.i80 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i82: ; preds = %if.end.i.i78 + %child.i.i83 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %4, i64 0, i32 2 + %7 = load ptr, ptr %child.i.i83, align 8 + %tag9.phi.trans.insert.i.i84 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %7, i64 0, i32 2 + %.pre.i.i85 = load i8, ptr %tag9.phi.trans.insert.i.i84, align 4 + %8 = icmp ugt i8 %.pre.i.i85, 4 + br i1 %8, label %if.then.i, label %if.end.i80 + +if.then.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i82, %invoke.cont9 + %call1.i86 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %5, ptr noundef nonnull %4) to label %invoke.cont11 unwind label %lpad.loopexit.split-lp.loopexit -if.end.i79: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i81, %if.end.i.i77 - %call2.i87 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %5, ptr noundef nonnull %4) +if.end.i80: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i82, %if.end.i.i78 + %call2.i88 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %5, ptr noundef nonnull %4) to label %invoke.cont11 unwind label %lpad.loopexit.split-lp.loopexit -invoke.cont11: ; preds = %if.then.i, %if.end.i79 - %retval.0.i80 = phi ptr [ %call1.i85, %if.then.i ], [ %call2.i87, %if.end.i79 ] - store ptr %retval.0.i80, ptr %tree, align 8 - %inc = add nuw nsw i64 %i.0470, 1 +invoke.cont11: ; preds = %if.then.i, %if.end.i80 + %retval.0.i81 = phi ptr [ %call1.i86, %if.then.i ], [ %call2.i88, %if.end.i80 ] + store ptr %retval.0.i81, ptr %tree, align 8 + %inc = add nuw nsw i64 %i.0474, 1 %exitcond.not = icmp eq i64 %inc, 37 br i1 %exitcond.not, label %invoke.cont15, label %for.body, !llvm.loop !549 -lpad.loopexit: ; preds = %invoke.cont55, %invoke.cont109, %invoke.cont68, %for.body32, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i194, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i231, %if.then.i261, %if.end.i255, %cleanup.cont88 - %flats.sroa.0.3.ph = phi ptr [ %flats.sroa.0.5473, %for.body32 ], [ %flats.sroa.0.5473, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ], [ %flats.sroa.0.5473, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130 ], [ %flats.sroa.0.5473, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i194 ], [ %flats.sroa.0.5473, %invoke.cont55 ], [ %flats.sroa.0.5473, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i231 ], [ %flats.sroa.0.6, %if.end.i255 ], [ %flats.sroa.0.6, %if.then.i261 ], [ %flats.sroa.0.6, %invoke.cont68 ], [ %flats.sroa.0.6, %cleanup.cont88 ], [ %flats.sroa.0.6, %invoke.cont109 ] - %lpad.loopexit419 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %invoke.cont55, %invoke.cont109, %invoke.cont68, %for.body32, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i131, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i196, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i234, %if.then.i265, %if.end.i259, %cleanup.cont88 + %flats.sroa.0.3.ph = phi ptr [ %flats.sroa.0.5477, %for.body32 ], [ %flats.sroa.0.5477, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ], [ %flats.sroa.0.5477, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i131 ], [ %flats.sroa.0.5477, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i196 ], [ %flats.sroa.0.5477, %invoke.cont55 ], [ %flats.sroa.0.5477, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i234 ], [ %flats.sroa.0.6, %if.end.i259 ], [ %flats.sroa.0.6, %if.then.i265 ], [ %flats.sroa.0.6, %invoke.cont68 ], [ %flats.sroa.0.6, %cleanup.cont88 ], [ %flats.sroa.0.6, %invoke.cont109 ] + %lpad.loopexit423 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -lpad.loopexit.split-lp.loopexit: ; preds = %if.end.i79, %if.then.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i55, %for.body - %flats.sroa.0.3.ph418.ph = phi ptr [ %flats.sroa.0.2, %if.then.i ], [ %flats.sroa.0.2, %if.end.i79 ], [ %flats.sroa.0.1469, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i55 ], [ %flats.sroa.0.1469, %for.body ] - %lpad.loopexit425 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit: ; preds = %if.end.i80, %if.then.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i55, %for.body + %flats.sroa.0.3.ph422.ph = phi ptr [ %flats.sroa.0.2, %if.then.i ], [ %flats.sroa.0.2, %if.end.i80 ], [ %flats.sroa.0.1473, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i55 ], [ %flats.sroa.0.1473, %for.body ] + %lpad.loopexit429 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -lpad.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i244.invoke, %if.then.i377, %if.then.i.i.i.i68, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i, %invoke.cont15, %entry - %flats.sroa.0.3.ph418.ph424 = phi ptr [ %flats.sroa.0.1469, %if.then.i.i.i.i68 ], [ %flats.sroa.0.6, %if.then.i377 ], [ %flats.sroa.0.2, %invoke.cont15 ], [ %call5.i.i.i.i.i.i32, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i ], [ %call5.i.i.i.i.i.i32, %if.end.i ], [ null, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %entry ], [ %flats.sroa.0.5473, %if.then.i.i.i.i244.invoke ] - %lpad.loopexit.split-lp426 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i248.invoke, %if.then.i381, %if.then.i.i.i.i69, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i, %invoke.cont15, %entry + %flats.sroa.0.3.ph422.ph428 = phi ptr [ %flats.sroa.0.1473, %if.then.i.i.i.i69 ], [ %flats.sroa.0.6, %if.then.i381 ], [ %flats.sroa.0.2, %invoke.cont15 ], [ %call5.i.i.i.i.i.i32, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i ], [ %call5.i.i.i.i.i.i32, %if.end.i ], [ null, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %entry ], [ %flats.sroa.0.5477, %if.then.i.i.i.i248.invoke ] + %lpad.loopexit.split-lp430 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 @@ -34170,8 +34180,8 @@ invoke.cont25: ; preds = %invoke.cont23 invoke.cont27: ; preds = %invoke.cont25 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp21) #28 %12 = load ptr, ptr %ref.tmp18, align 8 - %cmp.not.i.i88 = icmp eq ptr %12, null - br i1 %cmp.not.i.i88, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i89 = icmp eq ptr %12, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont27 %vtable.i.i.i = load ptr, ptr %12, align 8 @@ -34183,8 +34193,8 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont27, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %ref.tmp18, align 8 %14 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i89 = icmp eq ptr %14, null - br i1 %cmp.not.i.i89, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i90 = icmp eq ptr %14, null + br i1 %cmp.not.i.i90, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #28 @@ -34214,60 +34224,60 @@ lpad26: ; preds = %invoke.cont25 ehcleanup: ; preds = %lpad26, %lpad22 %.pn = phi { ptr, i32 } [ %17, %lpad26 ], [ %16, %lpad22 ] %18 = load ptr, ptr %ref.tmp18, align 8 - %cmp.not.i.i90 = icmp eq ptr %18, null - br i1 %cmp.not.i.i90, label %_ZN7testing7MessageD2Ev.exit94, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 + %cmp.not.i.i91 = icmp eq ptr %18, null + br i1 %cmp.not.i.i91, label %_ZN7testing7MessageD2Ev.exit95, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91: ; preds = %ehcleanup - %vtable.i.i.i92 = load ptr, ptr %18, align 8 - %vfn.i.i.i93 = getelementptr inbounds ptr, ptr %vtable.i.i.i92, i64 1 - %19 = load ptr, ptr %vfn.i.i.i93, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92: ; preds = %ehcleanup + %vtable.i.i.i93 = load ptr, ptr %18, align 8 + %vfn.i.i.i94 = getelementptr inbounds ptr, ptr %vtable.i.i.i93, i64 1 + %19 = load ptr, ptr %vfn.i.i.i94, align 8 call void %19(ptr noundef nonnull align 8 dereferenceable(128) %18) #28 - br label %_ZN7testing7MessageD2Ev.exit94 + br label %_ZN7testing7MessageD2Ev.exit95 -_ZN7testing7MessageD2Ev.exit94: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 +_ZN7testing7MessageD2Ev.exit95: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 store ptr null, ptr %ref.tmp18, align 8 br label %ehcleanup28 cleanup.cont.critedge: ; preds = %invoke.cont16 - %message_.i95 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 - %20 = load ptr, ptr %message_.i95, align 8 - %cmp.not.i.i96 = icmp eq ptr %20, null - br i1 %cmp.not.i.i96, label %cleanup.cont, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 + %message_.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 + %20 = load ptr, ptr %message_.i96, align 8 + %cmp.not.i.i97 = icmp eq ptr %20, null + br i1 %cmp.not.i.i97, label %cleanup.cont, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97: ; preds = %cleanup.cont.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98: ; preds = %cleanup.cont.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #28 call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %cleanup.cont -cleanup.cont: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97, %cleanup.cont.critedge - store ptr null, ptr %message_.i95, align 8 +cleanup.cont: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98, %cleanup.cont.critedge + store ptr null, ptr %message_.i96, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 - %message_.i288 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 - %agg.tmp92295.sroa.5.0.ref.tmp91.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp91, i64 8 - %agg.tmp92295.sroa.6.0.ref.tmp91.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp91, i64 16 - %message_.i317 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar90, i64 0, i32 1 + %message_.i292 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 + %agg.tmp92299.sroa.5.0.ref.tmp91.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp91, i64 8 + %agg.tmp92299.sroa.6.0.ref.tmp91.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp91, i64 16 + %message_.i321 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar90, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp133, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp133, i64 0, i32 2 - %message_.i365 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar132, i64 0, i32 1 + %message_.i369 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar132, i64 0, i32 1 br label %for.body32 for.body32: ; preds = %cleanup.cont, %for.inc167 - %i29.0474 = phi i64 [ 37, %cleanup.cont ], [ %inc168, %for.inc167 ] - %flats.sroa.0.5473 = phi ptr [ %flats.sroa.0.2, %cleanup.cont ], [ %flats.sroa.0.6, %for.inc167 ] - %flats.sroa.10.3472 = phi ptr [ %flats.sroa.10.2, %cleanup.cont ], [ %flats.sroa.10.4, %for.inc167 ] - %flats.sroa.26.3471 = phi ptr [ %flats.sroa.26.2, %cleanup.cont ], [ %flats.sroa.26.4, %for.inc167 ] - %call.i100 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() + %i29.0478 = phi i64 [ 37, %cleanup.cont ], [ %inc168, %for.inc167 ] + %flats.sroa.0.5477 = phi ptr [ %flats.sroa.0.2, %cleanup.cont ], [ %flats.sroa.0.6, %for.inc167 ] + %flats.sroa.10.3476 = phi ptr [ %flats.sroa.10.2, %cleanup.cont ], [ %flats.sroa.10.4, %for.inc167 ] + %flats.sroa.26.3475 = phi ptr [ %flats.sroa.26.2, %cleanup.cont ], [ %flats.sroa.26.4, %for.inc167 ] + %call.i101 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont33 unwind label %lpad.loopexit invoke.cont33: ; preds = %for.body32 - %21 = load i8, ptr %call.i100, align 1 + %21 = load i8, ptr %call.i101, align 1 %22 = and i8 %21, 1 - %tobool.i99.not = icmp eq i8 %22, 0 + %tobool.i100.not = icmp eq i8 %22, 0 %23 = load ptr, ptr %tree, align 8 - br i1 %tobool.i99.not, label %invoke.cont39, label %if.then.i102 + br i1 %tobool.i100.not, label %invoke.cont39, label %if.then.i103 -if.then.i102: ; preds = %invoke.cont33 +if.then.i103: ; preds = %invoke.cont33 %cmp.i.i = icmp ne ptr %23, null call void @llvm.assume(i1 %cmp.i.i) %refcount.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %23, i64 0, i32 1 @@ -34277,19 +34287,19 @@ if.then.i102: ; preds = %invoke.cont33 %cmp.not.i.i.i = icmp eq ptr %25, %26 br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i -if.then.i.i.i: ; preds = %if.then.i102 +if.then.i.i.i: ; preds = %if.then.i103 store ptr %23, ptr %25, align 8 - %incdec.ptr.i.i.i103 = getelementptr inbounds ptr, ptr %25, i64 1 - store ptr %incdec.ptr.i.i.i103, ptr %_M_finish.i.i.i, align 8 + %incdec.ptr.i.i.i104 = getelementptr inbounds ptr, ptr %25, i64 1 + store ptr %incdec.ptr.i.i.i104, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont39 -if.else.i.i.i: ; preds = %if.then.i102 +if.else.i.i.i: ; preds = %if.then.i103 %27 = load ptr, ptr %refs, align 8 %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %25 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %27 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i244.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i + br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i248.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 @@ -34304,30 +34314,31 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 3 - %call5.i.i.i.i.i.i.i105 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 + %call5.i.i.i.i.i.i.i106 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i105, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] + %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i106, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %23, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %27, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %27, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %27) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -34340,279 +34351,282 @@ invoke.cont39: ; preds = %invoke.cont33, %if. %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %28, i64 0, i32 3, i64 2 %29 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %29 to i64 - %rem = and i64 %i29.0474, 15 + %rem = and i64 %i29.0478, 15 %cmp37 = icmp eq i64 %rem, 0 - %add.ptr.i106 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i.i - %add.ptr3.i = getelementptr inbounds ptr, ptr %add.ptr.i106, i64 -1 + %add.ptr.i107 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i.i + %add.ptr3.i = getelementptr inbounds ptr, ptr %add.ptr.i107, i64 -1 %30 = load ptr, ptr %add.ptr3.i, align 8 - br i1 %cmp37, label %if.then.i108, label %invoke.cont52 + br i1 %cmp37, label %if.then.i109, label %invoke.cont52 -if.then.i108: ; preds = %invoke.cont39 - %cmp.i.i109 = icmp ne ptr %30, null - call void @llvm.assume(i1 %cmp.i.i109) - %refcount.i.i110 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %30, i64 0, i32 1 - %31 = atomicrmw add ptr %refcount.i.i110, i32 2 monotonic, align 4 +if.then.i109: ; preds = %invoke.cont39 + %cmp.i.i110 = icmp ne ptr %30, null + call void @llvm.assume(i1 %cmp.i.i110) + %refcount.i.i111 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %30, i64 0, i32 1 + %31 = atomicrmw add ptr %refcount.i.i111, i32 2 monotonic, align 4 %32 = load ptr, ptr %_M_finish.i.i.i, align 8 %33 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 - %cmp.not.i.i.i113 = icmp eq ptr %32, %33 - br i1 %cmp.not.i.i.i113, label %if.else.i.i.i116, label %if.then.i.i.i114 + %cmp.not.i.i.i114 = icmp eq ptr %32, %33 + br i1 %cmp.not.i.i.i114, label %if.else.i.i.i117, label %if.then.i.i.i115 -if.then.i.i.i114: ; preds = %if.then.i108 +if.then.i.i.i115: ; preds = %if.then.i109 store ptr %30, ptr %32, align 8 - %incdec.ptr.i.i.i115 = getelementptr inbounds ptr, ptr %32, i64 1 - store ptr %incdec.ptr.i.i.i115, ptr %_M_finish.i.i.i, align 8 + %incdec.ptr.i.i.i116 = getelementptr inbounds ptr, ptr %32, i64 1 + store ptr %incdec.ptr.i.i.i116, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont52 -if.else.i.i.i116: ; preds = %if.then.i108 +if.else.i.i.i117: ; preds = %if.then.i109 %34 = load ptr, ptr %refs, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i117 = ptrtoint ptr %32 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i118 = ptrtoint ptr %34 to i64 - %sub.ptr.sub.i.i.i.i.i.i119 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i117, %sub.ptr.rhs.cast.i.i.i.i.i.i118 - %cmp.i.i.i.i.i120 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i119, 9223372036854775800 - br i1 %cmp.i.i.i.i.i120, label %if.then.i.i.i.i244.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121 - -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121: ; preds = %if.else.i.i.i116 - %sub.ptr.div.i.i.i.i.i.i122 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i119, 3 - %.sroa.speculated.i.i.i.i.i123 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i122, i64 1) - %add.i.i.i.i.i124 = add i64 %.sroa.speculated.i.i.i.i.i123, %sub.ptr.div.i.i.i.i.i.i122 - %cmp7.i.i.i.i.i125 = icmp ult i64 %add.i.i.i.i.i124, %sub.ptr.div.i.i.i.i.i.i122 - %cmp9.i.i.i.i.i126 = icmp ugt i64 %add.i.i.i.i.i124, 1152921504606846975 - %or.cond.i.i.i.i.i127 = or i1 %cmp7.i.i.i.i.i125, %cmp9.i.i.i.i.i126 - %cond.i.i.i.i.i128 = select i1 %or.cond.i.i.i.i.i127, i64 1152921504606846975, i64 %add.i.i.i.i.i124 - %cmp.not.i.i.i.i.i129 = icmp eq i64 %cond.i.i.i.i.i128, 0 - br i1 %cmp.not.i.i.i.i.i129, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121 - %mul.i.i.i.i.i.i.i131 = shl nuw nsw i64 %cond.i.i.i.i.i128, 3 - %call5.i.i.i.i.i.i.i146 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i131) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132 unwind label %lpad.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121 - %cond.i10.i.i.i.i133 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i121 ], [ %call5.i.i.i.i.i.i.i146, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i130 ] - %add.ptr.i.i.i.i134 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i133, i64 %sub.ptr.div.i.i.i.i.i.i122 - store ptr %30, ptr %add.ptr.i.i.i.i134, align 8 - %cmp.i.i.i11.i.i.i.i135 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i122, 0 - br i1 %cmp.i.i.i11.i.i.i.i135, label %if.then.i.i.i12.i.i.i.i142, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i136 - -if.then.i.i.i12.i.i.i.i142: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i133, ptr align 8 %34, i64 %sub.ptr.sub.i.i.i.i.i.i119, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i136 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i136: ; preds = %if.then.i.i.i12.i.i.i.i142, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i132 - %incdec.ptr.i.i.i.i137 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i134, i64 1 - %tobool.not.i.i.i.i.i138 = icmp eq ptr %34, null - br i1 %tobool.not.i.i.i.i.i138, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i140, label %if.then.i21.i.i.i.i139 - -if.then.i21.i.i.i.i139: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i136 + %sub.ptr.lhs.cast.i.i.i.i.i.i118 = ptrtoint ptr %32 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i119 = ptrtoint ptr %34 to i64 + %sub.ptr.sub.i.i.i.i.i.i120 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i118, %sub.ptr.rhs.cast.i.i.i.i.i.i119 + %cmp.i.i.i.i.i121 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i120, 9223372036854775800 + br i1 %cmp.i.i.i.i.i121, label %if.then.i.i.i.i248.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i122 + +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i122: ; preds = %if.else.i.i.i117 + %sub.ptr.div.i.i.i.i.i.i123 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i120, 3 + %.sroa.speculated.i.i.i.i.i124 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i123, i64 1) + %add.i.i.i.i.i125 = add i64 %.sroa.speculated.i.i.i.i.i124, %sub.ptr.div.i.i.i.i.i.i123 + %cmp7.i.i.i.i.i126 = icmp ult i64 %add.i.i.i.i.i125, %sub.ptr.div.i.i.i.i.i.i123 + %cmp9.i.i.i.i.i127 = icmp ugt i64 %add.i.i.i.i.i125, 1152921504606846975 + %or.cond.i.i.i.i.i128 = or i1 %cmp7.i.i.i.i.i126, %cmp9.i.i.i.i.i127 + %cond.i.i.i.i.i129 = select i1 %or.cond.i.i.i.i.i128, i64 1152921504606846975, i64 %add.i.i.i.i.i125 + %cmp.not.i.i.i.i.i130 = icmp eq i64 %cond.i.i.i.i.i129, 0 + br i1 %cmp.not.i.i.i.i.i130, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i133, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i131 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i131: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i122 + %mul.i.i.i.i.i.i.i132 = shl nuw nsw i64 %cond.i.i.i.i.i129, 3 + %call5.i.i.i.i.i.i.i148 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i132) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i133 unwind label %lpad.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i133: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i131, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i122 + %cond.i10.i.i.i.i134 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i122 ], [ %call5.i.i.i.i.i.i.i148, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i131 ] + %add.ptr.i.i.i.i135 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i134, i64 %sub.ptr.div.i.i.i.i.i.i123 + store ptr %30, ptr %add.ptr.i.i.i.i135, align 8 + %cmp.i.i.i11.i.i.i.i136 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i120, 0 + br i1 %cmp.i.i.i11.i.i.i.i136, label %if.then.i.i.i12.i.i.i.i144, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i137 + +if.then.i.i.i12.i.i.i.i144: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i133 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i134, ptr align 8 %34, i64 %sub.ptr.sub.i.i.i.i.i.i120, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i137 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i137: ; preds = %if.then.i.i.i12.i.i.i.i144, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i133 + %add.ptr.i.i.i.i.i.i.i138 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i134, i64 %sub.ptr.sub.i.i.i.i.i.i120 + %incdec.ptr.i.i.i.i139 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i138, i64 1 + %tobool.not.i.i.i.i.i140 = icmp eq ptr %34, null + br i1 %tobool.not.i.i.i.i.i140, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i142, label %if.then.i20.i.i.i.i141 + +if.then.i20.i.i.i.i141: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i137 call void @_ZdlPv(ptr noundef nonnull %34) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i140 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i142 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i140: ; preds = %if.then.i21.i.i.i.i139, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i136 - store ptr %cond.i10.i.i.i.i133, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i137, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i141 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i133, i64 %cond.i.i.i.i.i128 - store ptr %add.ptr19.i.i.i.i141, ptr %_M_end_of_storage.i.i.i, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i142: ; preds = %if.then.i20.i.i.i.i141, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i137 + store ptr %cond.i10.i.i.i.i134, ptr %refs, align 8 + store ptr %incdec.ptr.i.i.i.i139, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i143 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i134, i64 %cond.i.i.i.i.i129 + store ptr %add.ptr19.i.i.i.i143, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont52 -invoke.cont52: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i140, %if.then.i.i.i114, %invoke.cont39 - %rem44 = and i64 %i29.0474, 3 +invoke.cont52: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i142, %if.then.i.i.i115, %invoke.cont39 + %rem44 = and i64 %i29.0478, 3 %cmp45 = icmp eq i64 %rem44, 0 %35 = load ptr, ptr %tree, align 8 - %edges_.i147 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %35, i64 0, i32 1 - %arrayidx.i.i.i151 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %35, i64 0, i32 3, i64 2 - %36 = load i8, ptr %arrayidx.i.i.i151, align 1 - %conv.i.i.i152 = zext i8 %36 to i64 - %add.ptr.i157 = getelementptr inbounds ptr, ptr %edges_.i147, i64 %conv.i.i.i152 - %add.ptr3.i158 = getelementptr inbounds ptr, ptr %add.ptr.i157, i64 -1 - %37 = load ptr, ptr %add.ptr3.i158, align 8 - %edges_.i159 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %37, i64 0, i32 1 - %arrayidx.i.i.i163 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %37, i64 0, i32 3, i64 2 - %38 = load i8, ptr %arrayidx.i.i.i163, align 1 - %conv.i.i.i164 = zext i8 %38 to i64 - %add.ptr.i169 = getelementptr inbounds ptr, ptr %edges_.i159, i64 %conv.i.i.i164 - %add.ptr3.i170 = getelementptr inbounds ptr, ptr %add.ptr.i169, i64 -1 - %39 = load ptr, ptr %add.ptr3.i170, align 8 - br i1 %cmp45, label %if.then.i172, label %invoke.cont55 - -if.then.i172: ; preds = %invoke.cont52 - %cmp.i.i173 = icmp ne ptr %39, null - call void @llvm.assume(i1 %cmp.i.i173) - %refcount.i.i174 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %39, i64 0, i32 1 - %40 = atomicrmw add ptr %refcount.i.i174, i32 2 monotonic, align 4 + %edges_.i149 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %35, i64 0, i32 1 + %arrayidx.i.i.i153 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %35, i64 0, i32 3, i64 2 + %36 = load i8, ptr %arrayidx.i.i.i153, align 1 + %conv.i.i.i154 = zext i8 %36 to i64 + %add.ptr.i159 = getelementptr inbounds ptr, ptr %edges_.i149, i64 %conv.i.i.i154 + %add.ptr3.i160 = getelementptr inbounds ptr, ptr %add.ptr.i159, i64 -1 + %37 = load ptr, ptr %add.ptr3.i160, align 8 + %edges_.i161 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %37, i64 0, i32 1 + %arrayidx.i.i.i165 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %37, i64 0, i32 3, i64 2 + %38 = load i8, ptr %arrayidx.i.i.i165, align 1 + %conv.i.i.i166 = zext i8 %38 to i64 + %add.ptr.i171 = getelementptr inbounds ptr, ptr %edges_.i161, i64 %conv.i.i.i166 + %add.ptr3.i172 = getelementptr inbounds ptr, ptr %add.ptr.i171, i64 -1 + %39 = load ptr, ptr %add.ptr3.i172, align 8 + br i1 %cmp45, label %if.then.i174, label %invoke.cont55 + +if.then.i174: ; preds = %invoke.cont52 + %cmp.i.i175 = icmp ne ptr %39, null + call void @llvm.assume(i1 %cmp.i.i175) + %refcount.i.i176 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %39, i64 0, i32 1 + %40 = atomicrmw add ptr %refcount.i.i176, i32 2 monotonic, align 4 %41 = load ptr, ptr %_M_finish.i.i.i, align 8 %42 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 - %cmp.not.i.i.i177 = icmp eq ptr %41, %42 - br i1 %cmp.not.i.i.i177, label %if.else.i.i.i180, label %if.then.i.i.i178 + %cmp.not.i.i.i179 = icmp eq ptr %41, %42 + br i1 %cmp.not.i.i.i179, label %if.else.i.i.i182, label %if.then.i.i.i180 -if.then.i.i.i178: ; preds = %if.then.i172 +if.then.i.i.i180: ; preds = %if.then.i174 store ptr %39, ptr %41, align 8 - %incdec.ptr.i.i.i179 = getelementptr inbounds ptr, ptr %41, i64 1 - store ptr %incdec.ptr.i.i.i179, ptr %_M_finish.i.i.i, align 8 + %incdec.ptr.i.i.i181 = getelementptr inbounds ptr, ptr %41, i64 1 + store ptr %incdec.ptr.i.i.i181, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont55 -if.else.i.i.i180: ; preds = %if.then.i172 +if.else.i.i.i182: ; preds = %if.then.i174 %43 = load ptr, ptr %refs, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i181 = ptrtoint ptr %41 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i182 = ptrtoint ptr %43 to i64 - %sub.ptr.sub.i.i.i.i.i.i183 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i181, %sub.ptr.rhs.cast.i.i.i.i.i.i182 - %cmp.i.i.i.i.i184 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i183, 9223372036854775800 - br i1 %cmp.i.i.i.i.i184, label %if.then.i.i.i.i244.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i185 - -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i185: ; preds = %if.else.i.i.i180 - %sub.ptr.div.i.i.i.i.i.i186 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i183, 3 - %.sroa.speculated.i.i.i.i.i187 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i186, i64 1) - %add.i.i.i.i.i188 = add i64 %.sroa.speculated.i.i.i.i.i187, %sub.ptr.div.i.i.i.i.i.i186 - %cmp7.i.i.i.i.i189 = icmp ult i64 %add.i.i.i.i.i188, %sub.ptr.div.i.i.i.i.i.i186 - %cmp9.i.i.i.i.i190 = icmp ugt i64 %add.i.i.i.i.i188, 1152921504606846975 - %or.cond.i.i.i.i.i191 = or i1 %cmp7.i.i.i.i.i189, %cmp9.i.i.i.i.i190 - %cond.i.i.i.i.i192 = select i1 %or.cond.i.i.i.i.i191, i64 1152921504606846975, i64 %add.i.i.i.i.i188 - %cmp.not.i.i.i.i.i193 = icmp eq i64 %cond.i.i.i.i.i192, 0 - br i1 %cmp.not.i.i.i.i.i193, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i196, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i194 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i194: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i185 - %mul.i.i.i.i.i.i.i195 = shl nuw nsw i64 %cond.i.i.i.i.i192, 3 - %call5.i.i.i.i.i.i.i210 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i195) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i196 unwind label %lpad.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i196: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i194, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i185 - %cond.i10.i.i.i.i197 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i185 ], [ %call5.i.i.i.i.i.i.i210, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i194 ] - %add.ptr.i.i.i.i198 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i197, i64 %sub.ptr.div.i.i.i.i.i.i186 - store ptr %39, ptr %add.ptr.i.i.i.i198, align 8 - %cmp.i.i.i11.i.i.i.i199 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i186, 0 - br i1 %cmp.i.i.i11.i.i.i.i199, label %if.then.i.i.i12.i.i.i.i206, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i200 - -if.then.i.i.i12.i.i.i.i206: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i196 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i197, ptr align 8 %43, i64 %sub.ptr.sub.i.i.i.i.i.i183, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i200 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i200: ; preds = %if.then.i.i.i12.i.i.i.i206, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i196 - %incdec.ptr.i.i.i.i201 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i198, i64 1 - %tobool.not.i.i.i.i.i202 = icmp eq ptr %43, null - br i1 %tobool.not.i.i.i.i.i202, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i204, label %if.then.i21.i.i.i.i203 - -if.then.i21.i.i.i.i203: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i200 + %sub.ptr.lhs.cast.i.i.i.i.i.i183 = ptrtoint ptr %41 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i184 = ptrtoint ptr %43 to i64 + %sub.ptr.sub.i.i.i.i.i.i185 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i183, %sub.ptr.rhs.cast.i.i.i.i.i.i184 + %cmp.i.i.i.i.i186 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i185, 9223372036854775800 + br i1 %cmp.i.i.i.i.i186, label %if.then.i.i.i.i248.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i187 + +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i187: ; preds = %if.else.i.i.i182 + %sub.ptr.div.i.i.i.i.i.i188 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i185, 3 + %.sroa.speculated.i.i.i.i.i189 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i188, i64 1) + %add.i.i.i.i.i190 = add i64 %.sroa.speculated.i.i.i.i.i189, %sub.ptr.div.i.i.i.i.i.i188 + %cmp7.i.i.i.i.i191 = icmp ult i64 %add.i.i.i.i.i190, %sub.ptr.div.i.i.i.i.i.i188 + %cmp9.i.i.i.i.i192 = icmp ugt i64 %add.i.i.i.i.i190, 1152921504606846975 + %or.cond.i.i.i.i.i193 = or i1 %cmp7.i.i.i.i.i191, %cmp9.i.i.i.i.i192 + %cond.i.i.i.i.i194 = select i1 %or.cond.i.i.i.i.i193, i64 1152921504606846975, i64 %add.i.i.i.i.i190 + %cmp.not.i.i.i.i.i195 = icmp eq i64 %cond.i.i.i.i.i194, 0 + br i1 %cmp.not.i.i.i.i.i195, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i198, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i196 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i196: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i187 + %mul.i.i.i.i.i.i.i197 = shl nuw nsw i64 %cond.i.i.i.i.i194, 3 + %call5.i.i.i.i.i.i.i213 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i197) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i198 unwind label %lpad.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i198: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i196, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i187 + %cond.i10.i.i.i.i199 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i187 ], [ %call5.i.i.i.i.i.i.i213, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i196 ] + %add.ptr.i.i.i.i200 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i199, i64 %sub.ptr.div.i.i.i.i.i.i188 + store ptr %39, ptr %add.ptr.i.i.i.i200, align 8 + %cmp.i.i.i11.i.i.i.i201 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i185, 0 + br i1 %cmp.i.i.i11.i.i.i.i201, label %if.then.i.i.i12.i.i.i.i209, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i202 + +if.then.i.i.i12.i.i.i.i209: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i198 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i199, ptr align 8 %43, i64 %sub.ptr.sub.i.i.i.i.i.i185, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i202 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i202: ; preds = %if.then.i.i.i12.i.i.i.i209, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i198 + %add.ptr.i.i.i.i.i.i.i203 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i199, i64 %sub.ptr.sub.i.i.i.i.i.i185 + %incdec.ptr.i.i.i.i204 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i203, i64 1 + %tobool.not.i.i.i.i.i205 = icmp eq ptr %43, null + br i1 %tobool.not.i.i.i.i.i205, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i207, label %if.then.i20.i.i.i.i206 + +if.then.i20.i.i.i.i206: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i202 call void @_ZdlPv(ptr noundef nonnull %43) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i204 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i207 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i204: ; preds = %if.then.i21.i.i.i.i203, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i200 - store ptr %cond.i10.i.i.i.i197, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i201, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i205 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i197, i64 %cond.i.i.i.i.i192 - store ptr %add.ptr19.i.i.i.i205, ptr %_M_end_of_storage.i.i.i, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i207: ; preds = %if.then.i20.i.i.i.i206, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i202 + store ptr %cond.i10.i.i.i.i199, ptr %refs, align 8 + store ptr %incdec.ptr.i.i.i.i204, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i208 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i199, i64 %cond.i.i.i.i.i194 + store ptr %add.ptr19.i.i.i.i208, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont55 -invoke.cont55: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i204, %if.then.i.i.i178, %invoke.cont52 - %call59 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i29.0474) +invoke.cont55: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i207, %if.then.i.i.i180, %invoke.cont52 + %call59 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i29.0478) to label %invoke.cont58 unwind label %lpad.loopexit invoke.cont58: ; preds = %invoke.cont55 - %cmp.not.i.i214 = icmp eq ptr %flats.sroa.10.3472, %flats.sroa.26.3471 - br i1 %cmp.not.i.i214, label %if.else.i.i217, label %if.then.i.i215 + %cmp.not.i.i217 = icmp eq ptr %flats.sroa.10.3476, %flats.sroa.26.3475 + br i1 %cmp.not.i.i217, label %if.else.i.i220, label %if.then.i.i218 -if.then.i.i215: ; preds = %invoke.cont58 - store ptr %call59, ptr %flats.sroa.10.3472, align 8 +if.then.i.i218: ; preds = %invoke.cont58 + store ptr %call59, ptr %flats.sroa.10.3476, align 8 br label %invoke.cont60 -if.else.i.i217: ; preds = %invoke.cont58 - %sub.ptr.lhs.cast.i.i.i.i.i218 = ptrtoint ptr %flats.sroa.10.3472 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i219 = ptrtoint ptr %flats.sroa.0.5473 to i64 - %sub.ptr.sub.i.i.i.i.i220 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i218, %sub.ptr.rhs.cast.i.i.i.i.i219 - %cmp.i.i.i.i221 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i220, 9223372036854775800 - br i1 %cmp.i.i.i.i221, label %if.then.i.i.i.i244.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i222 +if.else.i.i220: ; preds = %invoke.cont58 + %sub.ptr.lhs.cast.i.i.i.i.i221 = ptrtoint ptr %flats.sroa.10.3476 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i222 = ptrtoint ptr %flats.sroa.0.5477 to i64 + %sub.ptr.sub.i.i.i.i.i223 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i221, %sub.ptr.rhs.cast.i.i.i.i.i222 + %cmp.i.i.i.i224 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i223, 9223372036854775800 + br i1 %cmp.i.i.i.i224, label %if.then.i.i.i.i248.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i225 -if.then.i.i.i.i244.invoke: ; preds = %if.else.i.i217, %if.else.i.i.i180, %if.else.i.i.i116, %if.else.i.i.i +if.then.i.i.i.i248.invoke: ; preds = %if.else.i.i220, %if.else.i.i.i182, %if.else.i.i.i117, %if.else.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %if.then.i.i.i.i244.cont unwind label %lpad.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i.i248.cont unwind label %lpad.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i244.cont: ; preds = %if.then.i.i.i.i244.invoke +if.then.i.i.i.i248.cont: ; preds = %if.then.i.i.i.i248.invoke unreachable -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i222: ; preds = %if.else.i.i217 - %sub.ptr.div.i.i.i.i.i223 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i220, 3 - %.sroa.speculated.i.i.i.i224 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i223, i64 1) - %add.i.i.i.i225 = add i64 %.sroa.speculated.i.i.i.i224, %sub.ptr.div.i.i.i.i.i223 - %cmp7.i.i.i.i226 = icmp ult i64 %add.i.i.i.i225, %sub.ptr.div.i.i.i.i.i223 - %cmp9.i.i.i.i227 = icmp ugt i64 %add.i.i.i.i225, 1152921504606846975 - %or.cond.i.i.i.i228 = or i1 %cmp7.i.i.i.i226, %cmp9.i.i.i.i227 - %cond.i.i.i.i229 = select i1 %or.cond.i.i.i.i228, i64 1152921504606846975, i64 %add.i.i.i.i225 - %cmp.not.i.i.i.i230 = icmp eq i64 %cond.i.i.i.i229, 0 - br i1 %cmp.not.i.i.i.i230, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i233, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i231 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i231: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i222 - %mul.i.i.i.i.i.i232 = shl nuw nsw i64 %cond.i.i.i.i229, 3 - %call5.i.i.i.i.i.i247 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i232) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i233 unwind label %lpad.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i233: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i231, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i222 - %cond.i10.i.i.i234 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i222 ], [ %call5.i.i.i.i.i.i247, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i231 ] - %add.ptr.i.i.i235 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i234, i64 %sub.ptr.div.i.i.i.i.i223 - store ptr %call59, ptr %add.ptr.i.i.i235, align 8 - %cmp.i.i.i11.i.i.i236 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i223, 0 - br i1 %cmp.i.i.i11.i.i.i236, label %if.then.i.i.i12.i.i.i243, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i237 - -if.then.i.i.i12.i.i.i243: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i233 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i234, ptr align 8 %flats.sroa.0.5473, i64 %sub.ptr.sub.i.i.i.i.i220, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i237 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i237: ; preds = %if.then.i.i.i12.i.i.i243, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i233 - %tobool.not.i.i.i.i239 = icmp eq ptr %flats.sroa.0.5473, null - br i1 %tobool.not.i.i.i.i239, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i241, label %if.then.i21.i.i.i240 - -if.then.i21.i.i.i240: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i237 - call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.5473) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i241 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i241: ; preds = %if.then.i21.i.i.i240, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i237 - %add.ptr19.i.i.i242 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i234, i64 %cond.i.i.i.i229 - %.pre508 = load ptr, ptr %add.ptr.i.i.i235, align 8 +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i225: ; preds = %if.else.i.i220 + %sub.ptr.div.i.i.i.i.i226 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i223, 3 + %.sroa.speculated.i.i.i.i227 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i226, i64 1) + %add.i.i.i.i228 = add i64 %.sroa.speculated.i.i.i.i227, %sub.ptr.div.i.i.i.i.i226 + %cmp7.i.i.i.i229 = icmp ult i64 %add.i.i.i.i228, %sub.ptr.div.i.i.i.i.i226 + %cmp9.i.i.i.i230 = icmp ugt i64 %add.i.i.i.i228, 1152921504606846975 + %or.cond.i.i.i.i231 = or i1 %cmp7.i.i.i.i229, %cmp9.i.i.i.i230 + %cond.i.i.i.i232 = select i1 %or.cond.i.i.i.i231, i64 1152921504606846975, i64 %add.i.i.i.i228 + %cmp.not.i.i.i.i233 = icmp eq i64 %cond.i.i.i.i232, 0 + br i1 %cmp.not.i.i.i.i233, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i236, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i234 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i234: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i225 + %mul.i.i.i.i.i.i235 = shl nuw nsw i64 %cond.i.i.i.i232, 3 + %call5.i.i.i.i.i.i251 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i235) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i236 unwind label %lpad.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i236: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i234, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i225 + %cond.i10.i.i.i237 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i225 ], [ %call5.i.i.i.i.i.i251, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i234 ] + %add.ptr.i.i.i238 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i237, i64 %sub.ptr.div.i.i.i.i.i226 + store ptr %call59, ptr %add.ptr.i.i.i238, align 8 + %cmp.i.i.i11.i.i.i239 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i223, 0 + br i1 %cmp.i.i.i11.i.i.i239, label %if.then.i.i.i12.i.i.i247, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i240 + +if.then.i.i.i12.i.i.i247: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i236 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i237, ptr align 8 %flats.sroa.0.5477, i64 %sub.ptr.sub.i.i.i.i.i223, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i240 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i240: ; preds = %if.then.i.i.i12.i.i.i247, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i236 + %add.ptr.i.i.i.i.i.i241 = getelementptr inbounds i8, ptr %cond.i10.i.i.i237, i64 %sub.ptr.sub.i.i.i.i.i223 + %tobool.not.i.i.i.i243 = icmp eq ptr %flats.sroa.0.5477, null + br i1 %tobool.not.i.i.i.i243, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i245, label %if.then.i20.i.i.i244 + +if.then.i20.i.i.i244: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i240 + call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.5477) #31 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i245 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i245: ; preds = %if.then.i20.i.i.i244, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i240 + %add.ptr19.i.i.i246 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i237, i64 %cond.i.i.i.i232 + %.pre512 = load ptr, ptr %add.ptr.i.i.i.i.i.i241, align 8 br label %invoke.cont60 -invoke.cont60: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i241, %if.then.i.i215 - %44 = phi ptr [ %.pre508, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i241 ], [ %call59, %if.then.i.i215 ] - %flats.sroa.26.4 = phi ptr [ %add.ptr19.i.i.i242, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i241 ], [ %flats.sroa.26.3471, %if.then.i.i215 ] - %add.ptr.i.i.i235.pn = phi ptr [ %add.ptr.i.i.i235, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i241 ], [ %flats.sroa.10.3472, %if.then.i.i215 ] - %flats.sroa.0.6 = phi ptr [ %cond.i10.i.i.i234, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i241 ], [ %flats.sroa.0.5473, %if.then.i.i215 ] - %flats.sroa.10.4 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i235.pn, i64 1 +invoke.cont60: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i245, %if.then.i.i218 + %44 = phi ptr [ %.pre512, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i245 ], [ %call59, %if.then.i.i218 ] + %flats.sroa.26.4 = phi ptr [ %add.ptr19.i.i.i246, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i245 ], [ %flats.sroa.26.3475, %if.then.i.i218 ] + %add.ptr.i.i.i.i.i.i241.pn = phi ptr [ %add.ptr.i.i.i.i.i.i241, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i245 ], [ %flats.sroa.10.3476, %if.then.i.i218 ] + %flats.sroa.0.6 = phi ptr [ %cond.i10.i.i.i237, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i245 ], [ %flats.sroa.0.5477, %if.then.i.i218 ] + %flats.sroa.10.4 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i241.pn, i64 1 %45 = load ptr, ptr %tree, align 8 - %tag.i.i251 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %44, i64 0, i32 2 - %46 = load i8, ptr %tag.i.i251, align 4 - %or.cond.i.i252 = icmp ugt i8 %46, 4 - br i1 %or.cond.i.i252, label %if.then.i261, label %if.end.i.i253 - -if.end.i.i253: ; preds = %invoke.cont60 - %cmp6.i.i254 = icmp eq i8 %46, 1 - br i1 %cmp6.i.i254, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i257, label %if.end.i255 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i257: ; preds = %if.end.i.i253 - %child.i.i258 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %44, i64 0, i32 2 - %47 = load ptr, ptr %child.i.i258, align 8 - %tag9.phi.trans.insert.i.i259 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %47, i64 0, i32 2 - %.pre.i.i260 = load i8, ptr %tag9.phi.trans.insert.i.i259, align 4 - %48 = icmp ugt i8 %.pre.i.i260, 4 - br i1 %48, label %if.then.i261, label %if.end.i255 - -if.then.i261: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i257, %invoke.cont60 - %call1.i263 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %45, ptr noundef nonnull %44) + %tag.i.i255 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %44, i64 0, i32 2 + %46 = load i8, ptr %tag.i.i255, align 4 + %or.cond.i.i256 = icmp ugt i8 %46, 4 + br i1 %or.cond.i.i256, label %if.then.i265, label %if.end.i.i257 + +if.end.i.i257: ; preds = %invoke.cont60 + %cmp6.i.i258 = icmp eq i8 %46, 1 + br i1 %cmp6.i.i258, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i261, label %if.end.i259 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i261: ; preds = %if.end.i.i257 + %child.i.i262 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %44, i64 0, i32 2 + %47 = load ptr, ptr %child.i.i262, align 8 + %tag9.phi.trans.insert.i.i263 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %47, i64 0, i32 2 + %.pre.i.i264 = load i8, ptr %tag9.phi.trans.insert.i.i263, align 4 + %48 = icmp ugt i8 %.pre.i.i264, 4 + br i1 %48, label %if.then.i265, label %if.end.i259 + +if.then.i265: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i261, %invoke.cont60 + %call1.i267 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %45, ptr noundef nonnull %44) to label %invoke.cont68 unwind label %lpad.loopexit -if.end.i255: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i257, %if.end.i.i253 - %call2.i265 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %45, ptr noundef nonnull %44) +if.end.i259: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i261, %if.end.i.i257 + %call2.i269 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %45, ptr noundef nonnull %44) to label %invoke.cont68 unwind label %lpad.loopexit -invoke.cont68: ; preds = %if.then.i261, %if.end.i255 - %retval.0.i256 = phi ptr [ %call1.i263, %if.then.i261 ], [ %call2.i265, %if.end.i255 ] - store ptr %retval.0.i256, ptr %result, align 8 +invoke.cont68: ; preds = %if.then.i265, %if.end.i259 + %retval.0.i260 = phi ptr [ %call1.i267, %if.then.i265 ], [ %call2.i269, %if.end.i259 ] + store ptr %retval.0.i260, ptr %result, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar64, i32 2, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont69 unwind label %lpad.loopexit invoke.cont69: ; preds = %invoke.cont68 %49 = load i8, ptr %gtest_ar64, align 8 %50 = and i8 %49, 1 - %tobool.i267.not = icmp eq i8 %50, 0 - br i1 %tobool.i267.not, label %if.else72, label %cleanup.cont88.critedge + %tobool.i271.not = icmp eq i8 %50, 0 + br i1 %tobool.i271.not, label %if.else72, label %cleanup.cont88.critedge -ehcleanup28: ; preds = %_ZN7testing7MessageD2Ev.exit94, %lpad19 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit94 ], [ %15, %lpad19 ] +ehcleanup28: ; preds = %_ZN7testing7MessageD2Ev.exit95, %lpad19 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit95 ], [ %15, %lpad19 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup172 @@ -34621,17 +34635,17 @@ if.else72: ; preds = %invoke.cont69 to label %invoke.cont75 unwind label %lpad74 invoke.cont75: ; preds = %if.else72 - %51 = load ptr, ptr %message_.i288, align 8 - %cmp.i.i.not.i.i269 = icmp eq ptr %51, null - br i1 %cmp.i.i.not.i.i269, label %invoke.cont78, label %cond.true.i.i270 + %51 = load ptr, ptr %message_.i292, align 8 + %cmp.i.i.not.i.i273 = icmp eq ptr %51, null + br i1 %cmp.i.i.not.i.i273, label %invoke.cont78, label %cond.true.i.i274 -cond.true.i.i270: ; preds = %invoke.cont75 - %call4.i.i271 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %51) #28 +cond.true.i.i274: ; preds = %invoke.cont75 + %call4.i.i275 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %51) #28 br label %invoke.cont78 -invoke.cont78: ; preds = %cond.true.i.i270, %invoke.cont75 - %cond.i.i272 = phi ptr [ %call4.i.i271, %cond.true.i.i270 ], [ @.str.120, %invoke.cont75 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 518, ptr noundef %cond.i.i272) +invoke.cont78: ; preds = %cond.true.i.i274, %invoke.cont75 + %cond.i.i276 = phi ptr [ %call4.i.i275, %cond.true.i.i274 ], [ @.str.120, %invoke.cont75 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 518, ptr noundef %cond.i.i276) to label %invoke.cont80 unwind label %lpad77 invoke.cont80: ; preds = %invoke.cont78 @@ -34641,29 +34655,29 @@ invoke.cont80: ; preds = %invoke.cont78 invoke.cont82: ; preds = %invoke.cont80 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp76) #28 %52 = load ptr, ptr %ref.tmp73, align 8 - %cmp.not.i.i274 = icmp eq ptr %52, null - br i1 %cmp.not.i.i274, label %_ZN7testing7MessageD2Ev.exit278, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275 + %cmp.not.i.i278 = icmp eq ptr %52, null + br i1 %cmp.not.i.i278, label %_ZN7testing7MessageD2Ev.exit282, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275: ; preds = %invoke.cont82 - %vtable.i.i.i276 = load ptr, ptr %52, align 8 - %vfn.i.i.i277 = getelementptr inbounds ptr, ptr %vtable.i.i.i276, i64 1 - %53 = load ptr, ptr %vfn.i.i.i277, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279: ; preds = %invoke.cont82 + %vtable.i.i.i280 = load ptr, ptr %52, align 8 + %vfn.i.i.i281 = getelementptr inbounds ptr, ptr %vtable.i.i.i280, i64 1 + %53 = load ptr, ptr %vfn.i.i.i281, align 8 call void %53(ptr noundef nonnull align 8 dereferenceable(128) %52) #28 - br label %_ZN7testing7MessageD2Ev.exit278 + br label %_ZN7testing7MessageD2Ev.exit282 -_ZN7testing7MessageD2Ev.exit278: ; preds = %invoke.cont82, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275 +_ZN7testing7MessageD2Ev.exit282: ; preds = %invoke.cont82, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279 store ptr null, ptr %ref.tmp73, align 8 - %54 = load ptr, ptr %message_.i288, align 8 - %cmp.not.i.i280 = icmp eq ptr %54, null - br i1 %cmp.not.i.i280, label %_ZN7testing15AssertionResultD2Ev.exit282, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i281 + %54 = load ptr, ptr %message_.i292, align 8 + %cmp.not.i.i284 = icmp eq ptr %54, null + br i1 %cmp.not.i.i284, label %_ZN7testing15AssertionResultD2Ev.exit286, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i285 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i281: ; preds = %_ZN7testing7MessageD2Ev.exit278 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i285: ; preds = %_ZN7testing7MessageD2Ev.exit282 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #28 call void @_ZdlPv(ptr noundef nonnull %54) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit282 + br label %_ZN7testing15AssertionResultD2Ev.exit286 -_ZN7testing15AssertionResultD2Ev.exit282: ; preds = %_ZN7testing7MessageD2Ev.exit278, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i281 - store ptr null, ptr %message_.i288, align 8 +_ZN7testing15AssertionResultD2Ev.exit286: ; preds = %_ZN7testing7MessageD2Ev.exit282, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i285 + store ptr null, ptr %message_.i292, align 8 br label %cleanup171 lpad74: ; preds = %if.else72 @@ -34685,53 +34699,53 @@ lpad81: ; preds = %invoke.cont80 ehcleanup84: ; preds = %lpad81, %lpad77 %.pn17 = phi { ptr, i32 } [ %57, %lpad81 ], [ %56, %lpad77 ] %58 = load ptr, ptr %ref.tmp73, align 8 - %cmp.not.i.i283 = icmp eq ptr %58, null - br i1 %cmp.not.i.i283, label %_ZN7testing7MessageD2Ev.exit287, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284 + %cmp.not.i.i287 = icmp eq ptr %58, null + br i1 %cmp.not.i.i287, label %_ZN7testing7MessageD2Ev.exit291, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284: ; preds = %ehcleanup84 - %vtable.i.i.i285 = load ptr, ptr %58, align 8 - %vfn.i.i.i286 = getelementptr inbounds ptr, ptr %vtable.i.i.i285, i64 1 - %59 = load ptr, ptr %vfn.i.i.i286, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288: ; preds = %ehcleanup84 + %vtable.i.i.i289 = load ptr, ptr %58, align 8 + %vfn.i.i.i290 = getelementptr inbounds ptr, ptr %vtable.i.i.i289, i64 1 + %59 = load ptr, ptr %vfn.i.i.i290, align 8 call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #28 - br label %_ZN7testing7MessageD2Ev.exit287 + br label %_ZN7testing7MessageD2Ev.exit291 -_ZN7testing7MessageD2Ev.exit287: ; preds = %ehcleanup84, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i284 +_ZN7testing7MessageD2Ev.exit291: ; preds = %ehcleanup84, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 store ptr null, ptr %ref.tmp73, align 8 br label %ehcleanup89 cleanup.cont88.critedge: ; preds = %invoke.cont69 - %60 = load ptr, ptr %message_.i288, align 8 - %cmp.not.i.i289 = icmp eq ptr %60, null - br i1 %cmp.not.i.i289, label %cleanup.cont88, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290 + %60 = load ptr, ptr %message_.i292, align 8 + %cmp.not.i.i293 = icmp eq ptr %60, null + br i1 %cmp.not.i.i293, label %cleanup.cont88, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290: ; preds = %cleanup.cont88.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294: ; preds = %cleanup.cont88.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #28 call void @_ZdlPv(ptr noundef nonnull %60) #31 br label %cleanup.cont88 -cleanup.cont88: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290, %cleanup.cont88.critedge - store ptr null, ptr %message_.i288, align 8 - %call.i293 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() +cleanup.cont88: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294, %cleanup.cont88.critedge + store ptr null, ptr %message_.i292, align 8 + %call.i297 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont109 unwind label %lpad.loopexit invoke.cont109: ; preds = %cleanup.cont88 - %61 = load i8, ptr %call.i293, align 1 + %61 = load i8, ptr %call.i297, align 1 %62 = and i8 %61, 1 %63 = load ptr, ptr %tree, align 8 store i8 %62, ptr %ref.tmp91, align 8 - store ptr %63, ptr %agg.tmp92295.sroa.5.0.ref.tmp91.sroa_idx, align 8 - store ptr %63, ptr %agg.tmp92295.sroa.6.0.ref.tmp91.sroa_idx, align 8 + store ptr %63, ptr %agg.tmp92299.sroa.5.0.ref.tmp91.sroa_idx, align 8 + store ptr %63, ptr %agg.tmp92299.sroa.6.0.ref.tmp91.sroa_idx, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ConditionalMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEENS0_9EqMatcherIS7_EEEEEclIS7_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar90, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp91, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont110 unwind label %lpad.loopexit invoke.cont110: ; preds = %invoke.cont109 %64 = load i8, ptr %gtest_ar90, align 8 %65 = and i8 %64, 1 - %tobool.i296.not = icmp eq i8 %65, 0 - br i1 %tobool.i296.not, label %if.else113, label %cleanup.cont129.critedge + %tobool.i300.not = icmp eq i8 %65, 0 + br i1 %tobool.i300.not, label %if.else113, label %cleanup.cont129.critedge -ehcleanup89: ; preds = %_ZN7testing7MessageD2Ev.exit287, %lpad74 - %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit287 ], [ %55, %lpad74 ] +ehcleanup89: ; preds = %_ZN7testing7MessageD2Ev.exit291, %lpad74 + %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit291 ], [ %55, %lpad74 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar64) #28 br label %ehcleanup172 @@ -34740,17 +34754,17 @@ if.else113: ; preds = %invoke.cont110 to label %invoke.cont116 unwind label %lpad115 invoke.cont116: ; preds = %if.else113 - %66 = load ptr, ptr %message_.i317, align 8 - %cmp.i.i.not.i.i298 = icmp eq ptr %66, null - br i1 %cmp.i.i.not.i.i298, label %invoke.cont119, label %cond.true.i.i299 + %66 = load ptr, ptr %message_.i321, align 8 + %cmp.i.i.not.i.i302 = icmp eq ptr %66, null + br i1 %cmp.i.i.not.i.i302, label %invoke.cont119, label %cond.true.i.i303 -cond.true.i.i299: ; preds = %invoke.cont116 - %call4.i.i300 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %66) #28 +cond.true.i.i303: ; preds = %invoke.cont116 + %call4.i.i304 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %66) #28 br label %invoke.cont119 -invoke.cont119: ; preds = %cond.true.i.i299, %invoke.cont116 - %cond.i.i301 = phi ptr [ %call4.i.i300, %cond.true.i.i299 ], [ @.str.120, %invoke.cont116 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp117, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 519, ptr noundef %cond.i.i301) +invoke.cont119: ; preds = %cond.true.i.i303, %invoke.cont116 + %cond.i.i305 = phi ptr [ %call4.i.i304, %cond.true.i.i303 ], [ @.str.120, %invoke.cont116 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp117, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 519, ptr noundef %cond.i.i305) to label %invoke.cont121 unwind label %lpad118 invoke.cont121: ; preds = %invoke.cont119 @@ -34760,29 +34774,29 @@ invoke.cont121: ; preds = %invoke.cont119 invoke.cont123: ; preds = %invoke.cont121 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp117) #28 %67 = load ptr, ptr %ref.tmp114, align 8 - %cmp.not.i.i303 = icmp eq ptr %67, null - br i1 %cmp.not.i.i303, label %_ZN7testing7MessageD2Ev.exit307, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304 + %cmp.not.i.i307 = icmp eq ptr %67, null + br i1 %cmp.not.i.i307, label %_ZN7testing7MessageD2Ev.exit311, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i308 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304: ; preds = %invoke.cont123 - %vtable.i.i.i305 = load ptr, ptr %67, align 8 - %vfn.i.i.i306 = getelementptr inbounds ptr, ptr %vtable.i.i.i305, i64 1 - %68 = load ptr, ptr %vfn.i.i.i306, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i308: ; preds = %invoke.cont123 + %vtable.i.i.i309 = load ptr, ptr %67, align 8 + %vfn.i.i.i310 = getelementptr inbounds ptr, ptr %vtable.i.i.i309, i64 1 + %68 = load ptr, ptr %vfn.i.i.i310, align 8 call void %68(ptr noundef nonnull align 8 dereferenceable(128) %67) #28 - br label %_ZN7testing7MessageD2Ev.exit307 + br label %_ZN7testing7MessageD2Ev.exit311 -_ZN7testing7MessageD2Ev.exit307: ; preds = %invoke.cont123, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304 +_ZN7testing7MessageD2Ev.exit311: ; preds = %invoke.cont123, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i308 store ptr null, ptr %ref.tmp114, align 8 - %69 = load ptr, ptr %message_.i317, align 8 - %cmp.not.i.i309 = icmp eq ptr %69, null - br i1 %cmp.not.i.i309, label %_ZN7testing15AssertionResultD2Ev.exit311, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310 + %69 = load ptr, ptr %message_.i321, align 8 + %cmp.not.i.i313 = icmp eq ptr %69, null + br i1 %cmp.not.i.i313, label %_ZN7testing15AssertionResultD2Ev.exit315, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310: ; preds = %_ZN7testing7MessageD2Ev.exit307 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314: ; preds = %_ZN7testing7MessageD2Ev.exit311 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #28 call void @_ZdlPv(ptr noundef nonnull %69) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit311 + br label %_ZN7testing15AssertionResultD2Ev.exit315 -_ZN7testing15AssertionResultD2Ev.exit311: ; preds = %_ZN7testing7MessageD2Ev.exit307, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310 - store ptr null, ptr %message_.i317, align 8 +_ZN7testing15AssertionResultD2Ev.exit315: ; preds = %_ZN7testing7MessageD2Ev.exit311, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314 + store ptr null, ptr %message_.i321, align 8 br label %cleanup171 lpad115: ; preds = %if.else113 @@ -34804,32 +34818,32 @@ lpad122: ; preds = %invoke.cont121 ehcleanup125: ; preds = %lpad122, %lpad118 %.pn20 = phi { ptr, i32 } [ %72, %lpad122 ], [ %71, %lpad118 ] %73 = load ptr, ptr %ref.tmp114, align 8 - %cmp.not.i.i312 = icmp eq ptr %73, null - br i1 %cmp.not.i.i312, label %_ZN7testing7MessageD2Ev.exit316, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i313 + %cmp.not.i.i316 = icmp eq ptr %73, null + br i1 %cmp.not.i.i316, label %_ZN7testing7MessageD2Ev.exit320, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i317 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i313: ; preds = %ehcleanup125 - %vtable.i.i.i314 = load ptr, ptr %73, align 8 - %vfn.i.i.i315 = getelementptr inbounds ptr, ptr %vtable.i.i.i314, i64 1 - %74 = load ptr, ptr %vfn.i.i.i315, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i317: ; preds = %ehcleanup125 + %vtable.i.i.i318 = load ptr, ptr %73, align 8 + %vfn.i.i.i319 = getelementptr inbounds ptr, ptr %vtable.i.i.i318, i64 1 + %74 = load ptr, ptr %vfn.i.i.i319, align 8 call void %74(ptr noundef nonnull align 8 dereferenceable(128) %73) #28 - br label %_ZN7testing7MessageD2Ev.exit316 + br label %_ZN7testing7MessageD2Ev.exit320 -_ZN7testing7MessageD2Ev.exit316: ; preds = %ehcleanup125, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i313 +_ZN7testing7MessageD2Ev.exit320: ; preds = %ehcleanup125, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i317 store ptr null, ptr %ref.tmp114, align 8 br label %ehcleanup130 cleanup.cont129.critedge: ; preds = %invoke.cont110 - %75 = load ptr, ptr %message_.i317, align 8 - %cmp.not.i.i318 = icmp eq ptr %75, null - br i1 %cmp.not.i.i318, label %cleanup.cont129, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i319 + %75 = load ptr, ptr %message_.i321, align 8 + %cmp.not.i.i322 = icmp eq ptr %75, null + br i1 %cmp.not.i.i322, label %cleanup.cont129, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i323 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i319: ; preds = %cleanup.cont129.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i323: ; preds = %cleanup.cont129.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #28 call void @_ZdlPv(ptr noundef nonnull %75) #31 br label %cleanup.cont129 -cleanup.cont129: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i319, %cleanup.cont129.critedge - store ptr null, ptr %message_.i317, align 8 +cleanup.cont129: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i323, %cleanup.cont129.critedge + store ptr null, ptr %message_.i321, align 8 %76 = load ptr, ptr %result, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !550) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %edges, i8 0, i64 24, i1 false), !alias.scope !550 @@ -34840,10 +34854,10 @@ lpad.i: ; preds = %cleanup.cont129 %77 = landingpad { ptr, i32 } cleanup %78 = load ptr, ptr %edges, align 8, !alias.scope !550 - %tobool.not.i.i.i.i321 = icmp eq ptr %78, null - br i1 %tobool.not.i.i.i.i321, label %ehcleanup172, label %if.then.i.i.i.i322 + %tobool.not.i.i.i.i325 = icmp eq ptr %78, null + br i1 %tobool.not.i.i.i.i325, label %ehcleanup172, label %if.then.i.i.i.i326 -if.then.i.i.i.i322: ; preds = %lpad.i +if.then.i.i.i.i326: ; preds = %lpad.i call void @_ZdlPv(ptr noundef nonnull %78) #31, !noalias !550 br label %ehcleanup172 @@ -34856,9 +34870,9 @@ invoke.cont131: ; preds = %cleanup.cont129 if.then.i.i.i.i.i.i: ; preds = %invoke.cont131 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.143) #29 - to label %.noexc324 unwind label %lpad135.loopexit.split-lp + to label %.noexc328 unwind label %lpad135.loopexit.split-lp -.noexc324: ; preds = %if.then.i.i.i.i.i.i +.noexc328: ; preds = %if.then.i.i.i.i.i.i unreachable _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %invoke.cont131 @@ -34866,78 +34880,76 @@ _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.e br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont.thread.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %call5.i.i.i.i1.i.i.i.i325 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad135.loopexit + %call5.i.i.i.i1.i.i.i.i329 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad135.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp133, align 8, !alias.scope !553 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !553 br label %invoke.cont138 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i325, ptr align 8 %flats.sroa.0.6, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !556 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i329, ptr align 8 %flats.sroa.0.6, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !556 call void @llvm.experimental.noalias.scope.decl(metadata !553) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp133, i8 0, i64 24, i1 false), !alias.scope !553 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %if.then.i.i.i.i.i327 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !553 + to label %if.then.i.i.i.i.i331 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !553 -if.then.i.i.i.i.i327: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i328 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i331: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp133, align 8, !alias.scope !553 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i328 - store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !553 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i325, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + %add.ptr.i.i.i.i.i.i332 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i + store ptr %add.ptr.i.i.i.i.i.i332, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !553 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i329, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont138 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %79 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i342 + br label %if.then.i.i.i.i346 -invoke.cont138: ; preds = %if.then.i.i.i.i.i327, %invoke.cont.thread.i - %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i327 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp134.sroa.0.1510 = phi ptr [ %call5.i.i.i.i1.i.i.i.i325, %if.then.i.i.i.i.i327 ], [ null, %invoke.cont.thread.i ] +invoke.cont138: ; preds = %if.then.i.i.i.i.i331, %invoke.cont.thread.i + %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i332, %if.then.i.i.i.i.i331 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] + %agg.tmp134.sroa.0.1514 = phi ptr [ %call5.i.i.i.i1.i.i.i.i329, %if.then.i.i.i.i.i331 ], [ null, %invoke.cont.thread.i ] store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !553 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEEclISt6vectorIS6_SaIS6_EEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar132, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp133, ptr noundef nonnull @.str.185, ptr noundef nonnull align 8 dereferenceable(24) %edges) to label %invoke.cont140 unwind label %lpad139 invoke.cont140: ; preds = %invoke.cont138 %80 = load ptr, ptr %ref.tmp133, align 8 - %tobool.not.i.i.i.i.i332 = icmp eq ptr %80, null - br i1 %tobool.not.i.i.i.i.i332, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i333 + %tobool.not.i.i.i.i.i336 = icmp eq ptr %80, null + br i1 %tobool.not.i.i.i.i.i336, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i337 -if.then.i.i.i.i.i333: ; preds = %invoke.cont140 +if.then.i.i.i.i.i337: ; preds = %invoke.cont140 call void @_ZdlPv(ptr noundef nonnull %80) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont140, %if.then.i.i.i.i.i333 - %tobool.not.i.i.i.i334 = icmp eq ptr %agg.tmp134.sroa.0.1510, null - br i1 %tobool.not.i.i.i.i334, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i335 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont140, %if.then.i.i.i.i.i337 + %tobool.not.i.i.i.i338 = icmp eq ptr %agg.tmp134.sroa.0.1514, null + br i1 %tobool.not.i.i.i.i338, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i339 -if.then.i.i.i.i335: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp134.sroa.0.1510) #31 +if.then.i.i.i.i339: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %agg.tmp134.sroa.0.1514) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i335 +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i339 %81 = load i8, ptr %gtest_ar132, align 8 %82 = and i8 %81, 1 - %tobool.i337.not = icmp eq i8 %82, 0 - br i1 %tobool.i337.not, label %if.else145, label %cleanup.cont161.critedge + %tobool.i341.not = icmp eq i8 %82, 0 + br i1 %tobool.i341.not, label %if.else145, label %cleanup.cont161.critedge -ehcleanup130: ; preds = %_ZN7testing7MessageD2Ev.exit316, %lpad115 - %.pn20.pn = phi { ptr, i32 } [ %.pn20, %_ZN7testing7MessageD2Ev.exit316 ], [ %70, %lpad115 ] +ehcleanup130: ; preds = %_ZN7testing7MessageD2Ev.exit320, %lpad115 + %.pn20.pn = phi { ptr, i32 } [ %.pn20, %_ZN7testing7MessageD2Ev.exit320 ], [ %70, %lpad115 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar90) #28 br label %ehcleanup172 lpad135.loopexit: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - %lpad.loopexit421 = landingpad { ptr, i32 } + %lpad.loopexit425 = landingpad { ptr, i32 } cleanup br label %ehcleanup166 lpad135.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i - %lpad.loopexit.split-lp422 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp426 = landingpad { ptr, i32 } cleanup br label %ehcleanup166 @@ -34945,21 +34957,21 @@ lpad139: ; preds = %invoke.cont138 %83 = landingpad { ptr, i32 } cleanup %84 = load ptr, ptr %ref.tmp133, align 8 - %tobool.not.i.i.i.i.i338 = icmp eq ptr %84, null - br i1 %tobool.not.i.i.i.i.i338, label %ehcleanup142, label %if.then.i.i.i.i.i339 + %tobool.not.i.i.i.i.i342 = icmp eq ptr %84, null + br i1 %tobool.not.i.i.i.i.i342, label %ehcleanup142, label %if.then.i.i.i.i.i343 -if.then.i.i.i.i.i339: ; preds = %lpad139 +if.then.i.i.i.i.i343: ; preds = %lpad139 call void @_ZdlPv(ptr noundef nonnull %84) #31 br label %ehcleanup142 -ehcleanup142: ; preds = %if.then.i.i.i.i.i339, %lpad139 - %tobool.not.i.i.i.i341 = icmp eq ptr %agg.tmp134.sroa.0.1510, null - br i1 %tobool.not.i.i.i.i341, label %ehcleanup166, label %if.then.i.i.i.i342 +ehcleanup142: ; preds = %if.then.i.i.i.i.i343, %lpad139 + %tobool.not.i.i.i.i345 = icmp eq ptr %agg.tmp134.sroa.0.1514, null + br i1 %tobool.not.i.i.i.i345, label %ehcleanup166, label %if.then.i.i.i.i346 -if.then.i.i.i.i342: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup142 - %.pn23517 = phi { ptr, i32 } [ %83, %ehcleanup142 ], [ %79, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - %agg.tmp134.sroa.0.1512516 = phi ptr [ %agg.tmp134.sroa.0.1510, %ehcleanup142 ], [ %call5.i.i.i.i1.i.i.i.i325, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp134.sroa.0.1512516) #31 +if.then.i.i.i.i346: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup142 + %.pn23521 = phi { ptr, i32 } [ %83, %ehcleanup142 ], [ %79, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + %agg.tmp134.sroa.0.1516520 = phi ptr [ %agg.tmp134.sroa.0.1514, %ehcleanup142 ], [ %call5.i.i.i.i1.i.i.i.i329, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp134.sroa.0.1516520) #31 br label %ehcleanup166 if.else145: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit @@ -34967,17 +34979,17 @@ if.else145: ; preds = %_ZN7testing8interna to label %invoke.cont148 unwind label %lpad147 invoke.cont148: ; preds = %if.else145 - %85 = load ptr, ptr %message_.i365, align 8 - %cmp.i.i.not.i.i346 = icmp eq ptr %85, null - br i1 %cmp.i.i.not.i.i346, label %invoke.cont151, label %cond.true.i.i347 + %85 = load ptr, ptr %message_.i369, align 8 + %cmp.i.i.not.i.i350 = icmp eq ptr %85, null + br i1 %cmp.i.i.not.i.i350, label %invoke.cont151, label %cond.true.i.i351 -cond.true.i.i347: ; preds = %invoke.cont148 - %call4.i.i348 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %85) #28 +cond.true.i.i351: ; preds = %invoke.cont148 + %call4.i.i352 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %85) #28 br label %invoke.cont151 -invoke.cont151: ; preds = %cond.true.i.i347, %invoke.cont148 - %cond.i.i349 = phi ptr [ %call4.i.i348, %cond.true.i.i347 ], [ @.str.120, %invoke.cont148 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 521, ptr noundef %cond.i.i349) +invoke.cont151: ; preds = %cond.true.i.i351, %invoke.cont148 + %cond.i.i353 = phi ptr [ %call4.i.i352, %cond.true.i.i351 ], [ @.str.120, %invoke.cont148 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 521, ptr noundef %cond.i.i353) to label %invoke.cont153 unwind label %lpad150 invoke.cont153: ; preds = %invoke.cont151 @@ -34987,23 +34999,23 @@ invoke.cont153: ; preds = %invoke.cont151 invoke.cont155: ; preds = %invoke.cont153 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149) #28 %86 = load ptr, ptr %ref.tmp146, align 8 - %cmp.not.i.i351 = icmp eq ptr %86, null - br i1 %cmp.not.i.i351, label %_ZN7testing7MessageD2Ev.exit355, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i352 + %cmp.not.i.i355 = icmp eq ptr %86, null + br i1 %cmp.not.i.i355, label %_ZN7testing7MessageD2Ev.exit359, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i352: ; preds = %invoke.cont155 - %vtable.i.i.i353 = load ptr, ptr %86, align 8 - %vfn.i.i.i354 = getelementptr inbounds ptr, ptr %vtable.i.i.i353, i64 1 - %87 = load ptr, ptr %vfn.i.i.i354, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356: ; preds = %invoke.cont155 + %vtable.i.i.i357 = load ptr, ptr %86, align 8 + %vfn.i.i.i358 = getelementptr inbounds ptr, ptr %vtable.i.i.i357, i64 1 + %87 = load ptr, ptr %vfn.i.i.i358, align 8 call void %87(ptr noundef nonnull align 8 dereferenceable(128) %86) #28 - br label %_ZN7testing7MessageD2Ev.exit355 + br label %_ZN7testing7MessageD2Ev.exit359 -_ZN7testing7MessageD2Ev.exit355: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i352 +_ZN7testing7MessageD2Ev.exit359: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356 store ptr null, ptr %ref.tmp146, align 8 - %88 = load ptr, ptr %message_.i365, align 8 - %cmp.not.i.i357 = icmp eq ptr %88, null - br i1 %cmp.not.i.i357, label %cleanup171.critedge, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i358 + %88 = load ptr, ptr %message_.i369, align 8 + %cmp.not.i.i361 = icmp eq ptr %88, null + br i1 %cmp.not.i.i361, label %cleanup171.critedge, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i358: ; preds = %_ZN7testing7MessageD2Ev.exit355 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362: ; preds = %_ZN7testing7MessageD2Ev.exit359 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #28 call void @_ZdlPv(ptr noundef nonnull %88) #31 br label %cleanup171.critedge @@ -35027,59 +35039,59 @@ lpad154: ; preds = %invoke.cont153 ehcleanup157: ; preds = %lpad154, %lpad150 %.pn25 = phi { ptr, i32 } [ %91, %lpad154 ], [ %90, %lpad150 ] %92 = load ptr, ptr %ref.tmp146, align 8 - %cmp.not.i.i360 = icmp eq ptr %92, null - br i1 %cmp.not.i.i360, label %_ZN7testing7MessageD2Ev.exit364, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i361 + %cmp.not.i.i364 = icmp eq ptr %92, null + br i1 %cmp.not.i.i364, label %_ZN7testing7MessageD2Ev.exit368, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i365 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i361: ; preds = %ehcleanup157 - %vtable.i.i.i362 = load ptr, ptr %92, align 8 - %vfn.i.i.i363 = getelementptr inbounds ptr, ptr %vtable.i.i.i362, i64 1 - %93 = load ptr, ptr %vfn.i.i.i363, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i365: ; preds = %ehcleanup157 + %vtable.i.i.i366 = load ptr, ptr %92, align 8 + %vfn.i.i.i367 = getelementptr inbounds ptr, ptr %vtable.i.i.i366, i64 1 + %93 = load ptr, ptr %vfn.i.i.i367, align 8 call void %93(ptr noundef nonnull align 8 dereferenceable(128) %92) #28 - br label %_ZN7testing7MessageD2Ev.exit364 + br label %_ZN7testing7MessageD2Ev.exit368 -_ZN7testing7MessageD2Ev.exit364: ; preds = %ehcleanup157, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i361 +_ZN7testing7MessageD2Ev.exit368: ; preds = %ehcleanup157, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i365 store ptr null, ptr %ref.tmp146, align 8 br label %ehcleanup162 cleanup.cont161.critedge: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit - %94 = load ptr, ptr %message_.i365, align 8 - %cmp.not.i.i366 = icmp eq ptr %94, null - br i1 %cmp.not.i.i366, label %_ZN7testing15AssertionResultD2Ev.exit368, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i367 + %94 = load ptr, ptr %message_.i369, align 8 + %cmp.not.i.i370 = icmp eq ptr %94, null + br i1 %cmp.not.i.i370, label %_ZN7testing15AssertionResultD2Ev.exit372, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i371 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i367: ; preds = %cleanup.cont161.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i371: ; preds = %cleanup.cont161.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #28 call void @_ZdlPv(ptr noundef nonnull %94) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit368 + br label %_ZN7testing15AssertionResultD2Ev.exit372 -_ZN7testing15AssertionResultD2Ev.exit368: ; preds = %cleanup.cont161.critedge, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i367 - store ptr null, ptr %message_.i365, align 8 +_ZN7testing15AssertionResultD2Ev.exit372: ; preds = %cleanup.cont161.critedge, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i371 + store ptr null, ptr %message_.i369, align 8 %95 = load ptr, ptr %result, align 8 store ptr %95, ptr %tree, align 8 %96 = load ptr, ptr %edges, align 8 %tobool.not.i.i.i = icmp eq ptr %96, null - br i1 %tobool.not.i.i.i, label %for.inc167, label %if.then.i.i.i369 + br i1 %tobool.not.i.i.i, label %for.inc167, label %if.then.i.i.i373 -if.then.i.i.i369: ; preds = %_ZN7testing15AssertionResultD2Ev.exit368 +if.then.i.i.i373: ; preds = %_ZN7testing15AssertionResultD2Ev.exit372 call void @_ZdlPv(ptr noundef nonnull %96) #31 br label %for.inc167 -for.inc167: ; preds = %if.then.i.i.i369, %_ZN7testing15AssertionResultD2Ev.exit368 - %inc168 = add nuw nsw i64 %i29.0474, 1 - %exitcond507.not = icmp eq i64 %inc168, 216 - br i1 %exitcond507.not, label %for.end169, label %for.body32, !llvm.loop !561 +for.inc167: ; preds = %if.then.i.i.i373, %_ZN7testing15AssertionResultD2Ev.exit372 + %inc168 = add nuw nsw i64 %i29.0478, 1 + %exitcond511.not = icmp eq i64 %inc168, 216 + br i1 %exitcond511.not, label %for.end169, label %for.body32, !llvm.loop !561 -ehcleanup162: ; preds = %_ZN7testing7MessageD2Ev.exit364, %lpad147 - %.pn25.pn = phi { ptr, i32 } [ %.pn25, %_ZN7testing7MessageD2Ev.exit364 ], [ %89, %lpad147 ] +ehcleanup162: ; preds = %_ZN7testing7MessageD2Ev.exit368, %lpad147 + %.pn25.pn = phi { ptr, i32 } [ %.pn25, %_ZN7testing7MessageD2Ev.exit368 ], [ %89, %lpad147 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar132) #28 br label %ehcleanup166 -ehcleanup166: ; preds = %lpad135.loopexit, %lpad135.loopexit.split-lp, %if.then.i.i.i.i342, %ehcleanup142, %ehcleanup162 - %.pn25.pn.pn = phi { ptr, i32 } [ %.pn25.pn, %ehcleanup162 ], [ %83, %ehcleanup142 ], [ %.pn23517, %if.then.i.i.i.i342 ], [ %lpad.loopexit421, %lpad135.loopexit ], [ %lpad.loopexit.split-lp422, %lpad135.loopexit.split-lp ] +ehcleanup166: ; preds = %lpad135.loopexit, %lpad135.loopexit.split-lp, %if.then.i.i.i.i346, %ehcleanup142, %ehcleanup162 + %.pn25.pn.pn = phi { ptr, i32 } [ %.pn25.pn, %ehcleanup162 ], [ %83, %ehcleanup142 ], [ %.pn23521, %if.then.i.i.i.i346 ], [ %lpad.loopexit425, %lpad135.loopexit ], [ %lpad.loopexit.split-lp426, %lpad135.loopexit.split-lp ] %97 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i373 = icmp eq ptr %97, null - br i1 %tobool.not.i.i.i373, label %ehcleanup172, label %if.then.i.i.i374 + %tobool.not.i.i.i377 = icmp eq ptr %97, null + br i1 %tobool.not.i.i.i377, label %ehcleanup172, label %if.then.i.i.i378 -if.then.i.i.i374: ; preds = %ehcleanup166 +if.then.i.i.i378: ; preds = %ehcleanup166 call void @_ZdlPv(ptr noundef nonnull %97) #31 br label %ehcleanup172 @@ -35088,89 +35100,89 @@ for.end169: ; preds = %for.inc167 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %98, i64 0, i32 1 %99 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %99, 2 - br i1 %cmp.i.not.i, label %if.then.i377, label %cleanup171 + br i1 %cmp.i.not.i, label %if.then.i381, label %cleanup171 -if.then.i377: ; preds = %for.end169 +if.then.i381: ; preds = %for.end169 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %98) to label %cleanup171 unwind label %lpad.loopexit.split-lp.loopexit.split-lp -cleanup171.critedge: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i358, %_ZN7testing7MessageD2Ev.exit355 - store ptr null, ptr %message_.i365, align 8 +cleanup171.critedge: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362, %_ZN7testing7MessageD2Ev.exit359 + store ptr null, ptr %message_.i369, align 8 %100 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i379 = icmp eq ptr %100, null - br i1 %tobool.not.i.i.i379, label %cleanup171, label %if.then.i.i.i380 + %tobool.not.i.i.i383 = icmp eq ptr %100, null + br i1 %tobool.not.i.i.i383, label %cleanup171, label %if.then.i.i.i384 -if.then.i.i.i380: ; preds = %cleanup171.critedge +if.then.i.i.i384: ; preds = %cleanup171.critedge call void @_ZdlPv(ptr noundef nonnull %100) #31 br label %cleanup171 -cleanup171: ; preds = %if.then.i.i.i380, %cleanup171.critedge, %for.end169, %if.then.i377, %_ZN7testing15AssertionResultD2Ev.exit311, %_ZN7testing15AssertionResultD2Ev.exit282, %_ZN7testing15AssertionResultD2Ev.exit - %flats.sroa.0.7 = phi ptr [ %flats.sroa.0.6, %_ZN7testing15AssertionResultD2Ev.exit311 ], [ %flats.sroa.0.6, %_ZN7testing15AssertionResultD2Ev.exit282 ], [ %flats.sroa.0.2, %_ZN7testing15AssertionResultD2Ev.exit ], [ %flats.sroa.0.6, %if.then.i377 ], [ %flats.sroa.0.6, %for.end169 ], [ %flats.sroa.0.6, %cleanup171.critedge ], [ %flats.sroa.0.6, %if.then.i.i.i380 ] - %tobool.not.i.i.i382 = icmp eq ptr %flats.sroa.0.7, null - br i1 %tobool.not.i.i.i382, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit384, label %if.then.i.i.i383 +cleanup171: ; preds = %if.then.i.i.i384, %cleanup171.critedge, %for.end169, %if.then.i381, %_ZN7testing15AssertionResultD2Ev.exit315, %_ZN7testing15AssertionResultD2Ev.exit286, %_ZN7testing15AssertionResultD2Ev.exit + %flats.sroa.0.7 = phi ptr [ %flats.sroa.0.6, %_ZN7testing15AssertionResultD2Ev.exit315 ], [ %flats.sroa.0.6, %_ZN7testing15AssertionResultD2Ev.exit286 ], [ %flats.sroa.0.2, %_ZN7testing15AssertionResultD2Ev.exit ], [ %flats.sroa.0.6, %if.then.i381 ], [ %flats.sroa.0.6, %for.end169 ], [ %flats.sroa.0.6, %cleanup171.critedge ], [ %flats.sroa.0.6, %if.then.i.i.i384 ] + %tobool.not.i.i.i386 = icmp eq ptr %flats.sroa.0.7, null + br i1 %tobool.not.i.i.i386, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit388, label %if.then.i.i.i387 -if.then.i.i.i383: ; preds = %cleanup171 +if.then.i.i.i387: ; preds = %cleanup171 call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.7) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit384 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit388 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit384: ; preds = %cleanup171, %if.then.i.i.i383 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit388: ; preds = %cleanup171, %if.then.i.i.i387 %101 = load ptr, ptr %refs, align 8 - %_M_finish.i.i385 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 - %102 = load ptr, ptr %_M_finish.i.i385, align 8 + %_M_finish.i.i389 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 + %102 = load ptr, ptr %_M_finish.i.i389, align 8 %cmp.i.not4.i = icmp eq ptr %101, %102 br i1 %cmp.i.not4.i, label %for.end.i, label %for.body.i -for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit384, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i387, %for.inc.i ], [ %101, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit384 ] +for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit388, %for.inc.i + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i391, %for.inc.i ], [ %101, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit388 ] %103 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i386 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %103, i64 0, i32 1 - %104 = atomicrmw sub ptr %refcount.i.i386, i32 2 acq_rel, align 4 + %refcount.i.i390 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %103, i64 0, i32 1 + %104 = atomicrmw sub ptr %refcount.i.i390, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %104, 2 - br i1 %cmp.i.not.i.i, label %if.then.i.i392, label %for.inc.i + br i1 %cmp.i.not.i.i, label %if.then.i.i396, label %for.inc.i -if.then.i.i392: ; preds = %for.body.i +if.then.i.i396: ; preds = %for.body.i invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %103) to label %for.inc.i unwind label %terminate.lpad.i -for.inc.i: ; preds = %if.then.i.i392, %for.body.i - %incdec.ptr.i.i387 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i388 = icmp eq ptr %incdec.ptr.i.i387, %102 - br i1 %cmp.i.not.i388, label %for.end.loopexit.i, label %for.body.i +for.inc.i: ; preds = %if.then.i.i396, %for.body.i + %incdec.ptr.i.i391 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 + %cmp.i.not.i392 = icmp eq ptr %incdec.ptr.i.i391, %102 + br i1 %cmp.i.not.i392, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 br label %for.end.i -for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit384 - %105 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %101, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit384 ] - %tobool.not.i.i.i.i389 = icmp eq ptr %105, null - br i1 %tobool.not.i.i.i.i389, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i390 +for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit388 + %105 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %101, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit388 ] + %tobool.not.i.i.i.i393 = icmp eq ptr %105, null + br i1 %tobool.not.i.i.i.i393, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i394 -if.then.i.i.i.i390: ; preds = %for.end.i +if.then.i.i.i.i394: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %105) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit -terminate.lpad.i: ; preds = %if.then.i.i392 +terminate.lpad.i: ; preds = %if.then.i.i396 %106 = landingpad { ptr, i32 } catch ptr null %107 = extractvalue { ptr, i32 } %106, 0 call void @__clang_call_terminate(ptr %107) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i390 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i394 ret void -ehcleanup172: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit, %if.then.i.i.i374, %ehcleanup166, %lpad.i, %if.then.i.i.i.i322, %ehcleanup130, %ehcleanup89, %ehcleanup28 - %flats.sroa.0.8 = phi ptr [ %flats.sroa.0.6, %ehcleanup130 ], [ %flats.sroa.0.6, %ehcleanup89 ], [ %flats.sroa.0.2, %ehcleanup28 ], [ %flats.sroa.0.6, %if.then.i.i.i.i322 ], [ %flats.sroa.0.6, %lpad.i ], [ %flats.sroa.0.6, %ehcleanup166 ], [ %flats.sroa.0.6, %if.then.i.i.i374 ], [ %flats.sroa.0.3.ph, %lpad.loopexit ], [ %flats.sroa.0.3.ph418.ph, %lpad.loopexit.split-lp.loopexit ], [ %flats.sroa.0.3.ph418.ph424, %lpad.loopexit.split-lp.loopexit.split-lp ] - %.pn29 = phi { ptr, i32 } [ %.pn20.pn, %ehcleanup130 ], [ %.pn17.pn, %ehcleanup89 ], [ %.pn.pn, %ehcleanup28 ], [ %77, %if.then.i.i.i.i322 ], [ %77, %lpad.i ], [ %.pn25.pn.pn, %ehcleanup166 ], [ %.pn25.pn.pn, %if.then.i.i.i374 ], [ %lpad.loopexit419, %lpad.loopexit ], [ %lpad.loopexit425, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp426, %lpad.loopexit.split-lp.loopexit.split-lp ] - %tobool.not.i.i.i393 = icmp eq ptr %flats.sroa.0.8, null - br i1 %tobool.not.i.i.i393, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit395, label %if.then.i.i.i394 +ehcleanup172: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit, %if.then.i.i.i378, %ehcleanup166, %lpad.i, %if.then.i.i.i.i326, %ehcleanup130, %ehcleanup89, %ehcleanup28 + %flats.sroa.0.8 = phi ptr [ %flats.sroa.0.6, %ehcleanup130 ], [ %flats.sroa.0.6, %ehcleanup89 ], [ %flats.sroa.0.2, %ehcleanup28 ], [ %flats.sroa.0.6, %if.then.i.i.i.i326 ], [ %flats.sroa.0.6, %lpad.i ], [ %flats.sroa.0.6, %ehcleanup166 ], [ %flats.sroa.0.6, %if.then.i.i.i378 ], [ %flats.sroa.0.3.ph, %lpad.loopexit ], [ %flats.sroa.0.3.ph422.ph, %lpad.loopexit.split-lp.loopexit ], [ %flats.sroa.0.3.ph422.ph428, %lpad.loopexit.split-lp.loopexit.split-lp ] + %.pn29 = phi { ptr, i32 } [ %.pn20.pn, %ehcleanup130 ], [ %.pn17.pn, %ehcleanup89 ], [ %.pn.pn, %ehcleanup28 ], [ %77, %if.then.i.i.i.i326 ], [ %77, %lpad.i ], [ %.pn25.pn.pn, %ehcleanup166 ], [ %.pn25.pn.pn, %if.then.i.i.i378 ], [ %lpad.loopexit423, %lpad.loopexit ], [ %lpad.loopexit429, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp430, %lpad.loopexit.split-lp.loopexit.split-lp ] + %tobool.not.i.i.i397 = icmp eq ptr %flats.sroa.0.8, null + br i1 %tobool.not.i.i.i397, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit399, label %if.then.i.i.i398 -if.then.i.i.i394: ; preds = %ehcleanup172 +if.then.i.i.i398: ; preds = %ehcleanup172 call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.8) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit395 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit399 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit395: ; preds = %ehcleanup172, %if.then.i.i.i394 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit399: ; preds = %ehcleanup172, %if.then.i.i.i398 call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs) #28 resume { ptr, i32 } %.pn29 } @@ -35391,8 +35403,8 @@ invoke.cont6: ; preds = %call.i.i.noexc, %if br label %for.body for.body: ; preds = %invoke.cont6, %invoke.cont13 - %i.0263 = phi i64 [ 1, %invoke.cont6 ], [ %inc, %invoke.cont13 ] - %call10 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0263) + %i.0264 = phi i64 [ 1, %invoke.cont6 ], [ %inc, %invoke.cont13 ] + %call10 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0264) to label %invoke.cont9 unwind label %lpad2.loopexit.split-lp.loopexit invoke.cont9: ; preds = %for.body @@ -35432,7 +35444,7 @@ if.end.i43: ; preds = %_ZN4absl13cord_inte invoke.cont13: ; preds = %if.then.i, %if.end.i43 %retval.0.i44 = phi ptr [ %call1.i49, %if.then.i ], [ %call2.i51, %if.end.i43 ] store ptr %retval.0.i44, ptr %tree, align 8 - %inc = add nuw nsw i64 %i.0263, 1 + %inc = add nuw nsw i64 %i.0264, 1 %exitcond.not = icmp eq i64 %inc, 7 br i1 %exitcond.not, label %invoke.cont17, label %for.body, !llvm.loop !568 @@ -35441,18 +35453,18 @@ lpad: ; preds = %entry cleanup br label %ehcleanup165 -lpad2.loopexit: ; preds = %invoke.cont44, %invoke.cont98, %invoke.cont57, %for.body34, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i94, %invoke.cont47, %if.then.i124, %if.end.i118, %cleanup.cont77 +lpad2.loopexit: ; preds = %invoke.cont44, %invoke.cont98, %invoke.cont57, %for.body34, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i94, %invoke.cont47, %if.then.i125, %if.end.i119, %cleanup.cont77 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %ehcleanup161 lpad2.loopexit.split-lp.loopexit: ; preds = %if.end.i43, %if.then.i, %invoke.cont9, %for.body - %lpad.loopexit260 = landingpad { ptr, i32 } + %lpad.loopexit261 = landingpad { ptr, i32 } cleanup br label %ehcleanup161 -lpad2.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i107.invoke, %if.then.i238, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %if.else.i.i, %invoke.cont17, %invoke.cont - %lpad.loopexit.split-lp261 = landingpad { ptr, i32 } +lpad2.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i108.invoke, %if.then.i239, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %if.else.i.i, %invoke.cont17, %invoke.cont + %lpad.loopexit.split-lp262 = landingpad { ptr, i32 } cleanup br label %ehcleanup161 @@ -35565,22 +35577,22 @@ cleanup.cont: ; preds = %_ZNKSt14default_del store ptr null, ptr %message_.i59, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 - %message_.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar53, i64 0, i32 1 - %agg.tmp81158.sroa.5.0.ref.tmp80.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp80, i64 8 - %agg.tmp81158.sroa.6.0.ref.tmp80.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp80, i64 16 - %message_.i180 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar79, i64 0, i32 1 + %message_.i152 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar53, i64 0, i32 1 + %agg.tmp81159.sroa.5.0.ref.tmp80.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp80, i64 8 + %agg.tmp81159.sroa.6.0.ref.tmp80.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp80, i64 16 + %message_.i181 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar79, i64 0, i32 1 %_M_last4.i.i.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %flats, i64 0, i32 2, i32 2 %_M_last.i.i.i.i = getelementptr inbounds %"struct.std::_Deque_iterator.350", ptr %agg.tmp.i.i.i, i64 0, i32 2 %_M_last.i3.i.i.i = getelementptr inbounds %"struct.std::_Deque_iterator.350", ptr %agg.tmp2.i.i.i, i64 0, i32 2 %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %agg.tmp123, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp122, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp122, i64 0, i32 2 - %message_.i226 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar121, i64 0, i32 1 + %message_.i227 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar121, i64 0, i32 1 br label %for.body34 for.body34: ; preds = %cleanup.cont, %for.inc156 %32 = phi ptr [ null, %cleanup.cont ], [ %48, %for.inc156 ] - %i31.0264 = phi i64 [ 7, %cleanup.cont ], [ %inc157, %for.inc156 ] + %i31.0265 = phi i64 [ 7, %cleanup.cont ], [ %inc157, %for.inc156 ] %call.i64 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont35 unwind label %lpad2.loopexit @@ -35613,7 +35625,7 @@ if.else.i.i.i: ; preds = %if.then.i66 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %39 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i107.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i + br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i108.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 @@ -35635,23 +35647,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i69, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %35, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %39, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %39, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %39) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -35665,7 +35678,7 @@ invoke.cont41: ; preds = %invoke.cont35, %if. %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %41, i64 0, i32 3, i64 2 %42 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %42 to i64 - %rem = and i64 %i31.0264, 3 + %rem = and i64 %i31.0265, 3 %cmp39 = icmp eq i64 %rem, 0 %add.ptr.i70 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i.i %add.ptr3.i = getelementptr inbounds ptr, ptr %add.ptr.i70, i64 -1 @@ -35694,13 +35707,13 @@ if.else.i.i.i80: ; preds = %if.then.i72 %sub.ptr.rhs.cast.i.i.i.i.i.i82 = ptrtoint ptr %47 to i64 %sub.ptr.sub.i.i.i.i.i.i83 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i81, %sub.ptr.rhs.cast.i.i.i.i.i.i82 %cmp.i.i.i.i.i84 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i83, 9223372036854775800 - br i1 %cmp.i.i.i.i.i84, label %if.then.i.i.i.i.i107.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i85 + br i1 %cmp.i.i.i.i.i84, label %if.then.i.i.i.i.i108.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i85 -if.then.i.i.i.i.i107.invoke: ; preds = %if.else.i.i.i80, %if.else.i.i.i +if.then.i.i.i.i.i108.invoke: ; preds = %if.else.i.i.i80, %if.else.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %if.then.i.i.i.i.i107.cont unwind label %lpad2.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i.i.i108.cont unwind label %lpad2.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i.i107.cont: ; preds = %if.then.i.i.i.i.i107.invoke +if.then.i.i.i.i.i108.cont: ; preds = %if.then.i.i.i.i.i108.invoke unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i85: ; preds = %if.else.i.i.i80 @@ -35716,86 +35729,87 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i94: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i85 %mul.i.i.i.i.i.i.i95 = shl nuw nsw i64 %cond.i.i.i.i.i92, 3 - %call5.i.i.i.i.i.i.i110 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i95) #30 + %call5.i.i.i.i.i.i.i111 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i95) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i96 unwind label %lpad2.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i96: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i94, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i85 - %cond.i10.i.i.i.i97 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i85 ], [ %call5.i.i.i.i.i.i.i110, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i94 ] + %cond.i10.i.i.i.i97 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i85 ], [ %call5.i.i.i.i.i.i.i111, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i94 ] %add.ptr.i.i.i.i98 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i97, i64 %sub.ptr.div.i.i.i.i.i.i86 store ptr %43, ptr %add.ptr.i.i.i.i98, align 8 - %cmp.i.i.i11.i.i.i.i99 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i86, 0 - br i1 %cmp.i.i.i11.i.i.i.i99, label %if.then.i.i.i12.i.i.i.i106, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i100 + %cmp.i.i.i11.i.i.i.i99 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i83, 0 + br i1 %cmp.i.i.i11.i.i.i.i99, label %if.then.i.i.i12.i.i.i.i107, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i100 -if.then.i.i.i12.i.i.i.i106: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i96 +if.then.i.i.i12.i.i.i.i107: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i96 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i97, ptr align 8 %47, i64 %sub.ptr.sub.i.i.i.i.i.i83, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i100 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i100 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i100: ; preds = %if.then.i.i.i12.i.i.i.i106, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i96 - %incdec.ptr.i.i.i.i101 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i98, i64 1 - %tobool.not.i.i.i.i.i102 = icmp eq ptr %47, null - br i1 %tobool.not.i.i.i.i.i102, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i104, label %if.then.i21.i.i.i.i103 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i100: ; preds = %if.then.i.i.i12.i.i.i.i107, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i96 + %add.ptr.i.i.i.i.i.i.i101 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i97, i64 %sub.ptr.sub.i.i.i.i.i.i83 + %incdec.ptr.i.i.i.i102 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i101, i64 1 + %tobool.not.i.i.i.i.i103 = icmp eq ptr %47, null + br i1 %tobool.not.i.i.i.i.i103, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105, label %if.then.i20.i.i.i.i104 -if.then.i21.i.i.i.i103: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i100 +if.then.i20.i.i.i.i104: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i100 call void @_ZdlPv(ptr noundef nonnull %47) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i104 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i104: ; preds = %if.then.i21.i.i.i.i103, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i100 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105: ; preds = %if.then.i20.i.i.i.i104, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i100 store ptr %cond.i10.i.i.i.i97, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i101, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i105 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i97, i64 %cond.i.i.i.i.i92 - store ptr %add.ptr19.i.i.i.i105, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i102, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i106 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i97, i64 %cond.i.i.i.i.i92 + store ptr %add.ptr19.i.i.i.i106, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont44 -invoke.cont44: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i104, %if.then.i.i.i78, %invoke.cont41 - %48 = phi ptr [ %incdec.ptr.i.i.i.i101, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i104 ], [ %incdec.ptr.i.i.i79, %if.then.i.i.i78 ], [ %40, %invoke.cont41 ] - %call48 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i31.0264) +invoke.cont44: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105, %if.then.i.i.i78, %invoke.cont41 + %48 = phi ptr [ %incdec.ptr.i.i.i.i102, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105 ], [ %incdec.ptr.i.i.i79, %if.then.i.i.i78 ], [ %40, %invoke.cont41 ] + %call48 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i31.0265) to label %invoke.cont47 unwind label %lpad2.loopexit invoke.cont47: ; preds = %invoke.cont44 store ptr %call48, ptr %ref.tmp46, align 8 - %call.i111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EE13emplace_frontIJS3_EEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(80) %flats, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46) + %call.i112 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EE13emplace_frontIJS3_EEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(80) %flats, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46) to label %invoke.cont49 unwind label %lpad2.loopexit invoke.cont49: ; preds = %invoke.cont47 %49 = load ptr, ptr %tree, align 8 %50 = load ptr, ptr %_M_start.i.i, align 8, !noalias !569 %51 = load ptr, ptr %50, align 8 - %tag.i.i114 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %51, i64 0, i32 2 - %52 = load i8, ptr %tag.i.i114, align 4 - %or.cond.i.i115 = icmp ugt i8 %52, 4 - br i1 %or.cond.i.i115, label %if.then.i124, label %if.end.i.i116 - -if.end.i.i116: ; preds = %invoke.cont49 - %cmp6.i.i117 = icmp eq i8 %52, 1 - br i1 %cmp6.i.i117, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i120, label %if.end.i118 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i120: ; preds = %if.end.i.i116 - %child.i.i121 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %51, i64 0, i32 2 - %53 = load ptr, ptr %child.i.i121, align 8 - %tag9.phi.trans.insert.i.i122 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %53, i64 0, i32 2 - %.pre.i.i123 = load i8, ptr %tag9.phi.trans.insert.i.i122, align 4 - %54 = icmp ugt i8 %.pre.i.i123, 4 - br i1 %54, label %if.then.i124, label %if.end.i118 - -if.then.i124: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i120, %invoke.cont49 - %call1.i126 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %49, ptr noundef nonnull %51) + %tag.i.i115 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %51, i64 0, i32 2 + %52 = load i8, ptr %tag.i.i115, align 4 + %or.cond.i.i116 = icmp ugt i8 %52, 4 + br i1 %or.cond.i.i116, label %if.then.i125, label %if.end.i.i117 + +if.end.i.i117: ; preds = %invoke.cont49 + %cmp6.i.i118 = icmp eq i8 %52, 1 + br i1 %cmp6.i.i118, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i121, label %if.end.i119 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i121: ; preds = %if.end.i.i117 + %child.i.i122 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %51, i64 0, i32 2 + %53 = load ptr, ptr %child.i.i122, align 8 + %tag9.phi.trans.insert.i.i123 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %53, i64 0, i32 2 + %.pre.i.i124 = load i8, ptr %tag9.phi.trans.insert.i.i123, align 4 + %54 = icmp ugt i8 %.pre.i.i124, 4 + br i1 %54, label %if.then.i125, label %if.end.i119 + +if.then.i125: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i121, %invoke.cont49 + %call1.i127 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %49, ptr noundef nonnull %51) to label %invoke.cont57 unwind label %lpad2.loopexit -if.end.i118: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i120, %if.end.i.i116 - %call2.i128 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %49, ptr noundef nonnull %51) +if.end.i119: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i121, %if.end.i.i117 + %call2.i129 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %49, ptr noundef nonnull %51) to label %invoke.cont57 unwind label %lpad2.loopexit -invoke.cont57: ; preds = %if.then.i124, %if.end.i118 - %retval.0.i119 = phi ptr [ %call1.i126, %if.then.i124 ], [ %call2.i128, %if.end.i118 ] - store ptr %retval.0.i119, ptr %result, align 8 +invoke.cont57: ; preds = %if.then.i125, %if.end.i119 + %retval.0.i120 = phi ptr [ %call1.i127, %if.then.i125 ], [ %call2.i129, %if.end.i119 ] + store ptr %retval.0.i120, ptr %result, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar53, i32 1, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont58 unwind label %lpad2.loopexit invoke.cont58: ; preds = %invoke.cont57 %55 = load i8, ptr %gtest_ar53, align 8 %56 = and i8 %55, 1 - %tobool.i130.not = icmp eq i8 %56, 0 - br i1 %tobool.i130.not, label %if.else61, label %cleanup.cont77.critedge + %tobool.i131.not = icmp eq i8 %56, 0 + br i1 %tobool.i131.not, label %if.else61, label %cleanup.cont77.critedge ehcleanup30: ; preds = %_ZN7testing7MessageD2Ev.exit58, %lpad21 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit58 ], [ %26, %lpad21 ] @@ -35807,17 +35821,17 @@ if.else61: ; preds = %invoke.cont58 to label %invoke.cont64 unwind label %lpad63 invoke.cont64: ; preds = %if.else61 - %57 = load ptr, ptr %message_.i151, align 8 - %cmp.i.i.not.i.i132 = icmp eq ptr %57, null - br i1 %cmp.i.i.not.i.i132, label %invoke.cont67, label %cond.true.i.i133 + %57 = load ptr, ptr %message_.i152, align 8 + %cmp.i.i.not.i.i133 = icmp eq ptr %57, null + br i1 %cmp.i.i.not.i.i133, label %invoke.cont67, label %cond.true.i.i134 -cond.true.i.i133: ; preds = %invoke.cont64 - %call4.i.i134 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %57) #28 +cond.true.i.i134: ; preds = %invoke.cont64 + %call4.i.i135 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %57) #28 br label %invoke.cont67 -invoke.cont67: ; preds = %cond.true.i.i133, %invoke.cont64 - %cond.i.i135 = phi ptr [ %call4.i.i134, %cond.true.i.i133 ], [ @.str.120, %invoke.cont64 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 548, ptr noundef %cond.i.i135) +invoke.cont67: ; preds = %cond.true.i.i134, %invoke.cont64 + %cond.i.i136 = phi ptr [ %call4.i.i135, %cond.true.i.i134 ], [ @.str.120, %invoke.cont64 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 548, ptr noundef %cond.i.i136) to label %invoke.cont69 unwind label %lpad66 invoke.cont69: ; preds = %invoke.cont67 @@ -35827,29 +35841,29 @@ invoke.cont69: ; preds = %invoke.cont67 invoke.cont71: ; preds = %invoke.cont69 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp65) #28 %58 = load ptr, ptr %ref.tmp62, align 8 - %cmp.not.i.i137 = icmp eq ptr %58, null - br i1 %cmp.not.i.i137, label %_ZN7testing7MessageD2Ev.exit141, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138 + %cmp.not.i.i138 = icmp eq ptr %58, null + br i1 %cmp.not.i.i138, label %_ZN7testing7MessageD2Ev.exit142, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138: ; preds = %invoke.cont71 - %vtable.i.i.i139 = load ptr, ptr %58, align 8 - %vfn.i.i.i140 = getelementptr inbounds ptr, ptr %vtable.i.i.i139, i64 1 - %59 = load ptr, ptr %vfn.i.i.i140, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139: ; preds = %invoke.cont71 + %vtable.i.i.i140 = load ptr, ptr %58, align 8 + %vfn.i.i.i141 = getelementptr inbounds ptr, ptr %vtable.i.i.i140, i64 1 + %59 = load ptr, ptr %vfn.i.i.i141, align 8 call void %59(ptr noundef nonnull align 8 dereferenceable(128) %58) #28 - br label %_ZN7testing7MessageD2Ev.exit141 + br label %_ZN7testing7MessageD2Ev.exit142 -_ZN7testing7MessageD2Ev.exit141: ; preds = %invoke.cont71, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138 +_ZN7testing7MessageD2Ev.exit142: ; preds = %invoke.cont71, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139 store ptr null, ptr %ref.tmp62, align 8 - %60 = load ptr, ptr %message_.i151, align 8 - %cmp.not.i.i143 = icmp eq ptr %60, null - br i1 %cmp.not.i.i143, label %_ZN7testing15AssertionResultD2Ev.exit145, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 + %60 = load ptr, ptr %message_.i152, align 8 + %cmp.not.i.i144 = icmp eq ptr %60, null + br i1 %cmp.not.i.i144, label %_ZN7testing15AssertionResultD2Ev.exit146, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144: ; preds = %_ZN7testing7MessageD2Ev.exit141 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145: ; preds = %_ZN7testing7MessageD2Ev.exit142 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #28 call void @_ZdlPv(ptr noundef nonnull %60) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit145 + br label %_ZN7testing15AssertionResultD2Ev.exit146 -_ZN7testing15AssertionResultD2Ev.exit145: ; preds = %_ZN7testing7MessageD2Ev.exit141, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 - store ptr null, ptr %message_.i151, align 8 +_ZN7testing15AssertionResultD2Ev.exit146: ; preds = %_ZN7testing7MessageD2Ev.exit142, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 + store ptr null, ptr %message_.i152, align 8 br label %cleanup160 lpad63: ; preds = %if.else61 @@ -35871,53 +35885,53 @@ lpad70: ; preds = %invoke.cont69 ehcleanup73: ; preds = %lpad70, %lpad66 %.pn16 = phi { ptr, i32 } [ %63, %lpad70 ], [ %62, %lpad66 ] %64 = load ptr, ptr %ref.tmp62, align 8 - %cmp.not.i.i146 = icmp eq ptr %64, null - br i1 %cmp.not.i.i146, label %_ZN7testing7MessageD2Ev.exit150, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147 + %cmp.not.i.i147 = icmp eq ptr %64, null + br i1 %cmp.not.i.i147, label %_ZN7testing7MessageD2Ev.exit151, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147: ; preds = %ehcleanup73 - %vtable.i.i.i148 = load ptr, ptr %64, align 8 - %vfn.i.i.i149 = getelementptr inbounds ptr, ptr %vtable.i.i.i148, i64 1 - %65 = load ptr, ptr %vfn.i.i.i149, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148: ; preds = %ehcleanup73 + %vtable.i.i.i149 = load ptr, ptr %64, align 8 + %vfn.i.i.i150 = getelementptr inbounds ptr, ptr %vtable.i.i.i149, i64 1 + %65 = load ptr, ptr %vfn.i.i.i150, align 8 call void %65(ptr noundef nonnull align 8 dereferenceable(128) %64) #28 - br label %_ZN7testing7MessageD2Ev.exit150 + br label %_ZN7testing7MessageD2Ev.exit151 -_ZN7testing7MessageD2Ev.exit150: ; preds = %ehcleanup73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147 +_ZN7testing7MessageD2Ev.exit151: ; preds = %ehcleanup73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 store ptr null, ptr %ref.tmp62, align 8 br label %ehcleanup78 cleanup.cont77.critedge: ; preds = %invoke.cont58 - %66 = load ptr, ptr %message_.i151, align 8 - %cmp.not.i.i152 = icmp eq ptr %66, null - br i1 %cmp.not.i.i152, label %cleanup.cont77, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 + %66 = load ptr, ptr %message_.i152, align 8 + %cmp.not.i.i153 = icmp eq ptr %66, null + br i1 %cmp.not.i.i153, label %cleanup.cont77, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153: ; preds = %cleanup.cont77.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %cleanup.cont77.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #28 call void @_ZdlPv(ptr noundef nonnull %66) #31 br label %cleanup.cont77 -cleanup.cont77: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153, %cleanup.cont77.critedge - store ptr null, ptr %message_.i151, align 8 - %call.i156 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() +cleanup.cont77: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154, %cleanup.cont77.critedge + store ptr null, ptr %message_.i152, align 8 + %call.i157 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont98 unwind label %lpad2.loopexit invoke.cont98: ; preds = %cleanup.cont77 - %67 = load i8, ptr %call.i156, align 1 + %67 = load i8, ptr %call.i157, align 1 %68 = and i8 %67, 1 %69 = load ptr, ptr %tree, align 8 store i8 %68, ptr %ref.tmp80, align 8 - store ptr %69, ptr %agg.tmp81158.sroa.5.0.ref.tmp80.sroa_idx, align 8 - store ptr %69, ptr %agg.tmp81158.sroa.6.0.ref.tmp80.sroa_idx, align 8 + store ptr %69, ptr %agg.tmp81159.sroa.5.0.ref.tmp80.sroa_idx, align 8 + store ptr %69, ptr %agg.tmp81159.sroa.6.0.ref.tmp80.sroa_idx, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ConditionalMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEENS0_9EqMatcherIS7_EEEEEclIS7_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar79, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp80, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont99 unwind label %lpad2.loopexit invoke.cont99: ; preds = %invoke.cont98 %70 = load i8, ptr %gtest_ar79, align 8 %71 = and i8 %70, 1 - %tobool.i159.not = icmp eq i8 %71, 0 - br i1 %tobool.i159.not, label %if.else102, label %cleanup.cont118.critedge + %tobool.i160.not = icmp eq i8 %71, 0 + br i1 %tobool.i160.not, label %if.else102, label %cleanup.cont118.critedge -ehcleanup78: ; preds = %_ZN7testing7MessageD2Ev.exit150, %lpad63 - %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit150 ], [ %61, %lpad63 ] +ehcleanup78: ; preds = %_ZN7testing7MessageD2Ev.exit151, %lpad63 + %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit151 ], [ %61, %lpad63 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar53) #28 br label %ehcleanup161 @@ -35926,17 +35940,17 @@ if.else102: ; preds = %invoke.cont99 to label %invoke.cont105 unwind label %lpad104 invoke.cont105: ; preds = %if.else102 - %72 = load ptr, ptr %message_.i180, align 8 - %cmp.i.i.not.i.i161 = icmp eq ptr %72, null - br i1 %cmp.i.i.not.i.i161, label %invoke.cont108, label %cond.true.i.i162 + %72 = load ptr, ptr %message_.i181, align 8 + %cmp.i.i.not.i.i162 = icmp eq ptr %72, null + br i1 %cmp.i.i.not.i.i162, label %invoke.cont108, label %cond.true.i.i163 -cond.true.i.i162: ; preds = %invoke.cont105 - %call4.i.i163 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %72) #28 +cond.true.i.i163: ; preds = %invoke.cont105 + %call4.i.i164 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %72) #28 br label %invoke.cont108 -invoke.cont108: ; preds = %cond.true.i.i162, %invoke.cont105 - %cond.i.i164 = phi ptr [ %call4.i.i163, %cond.true.i.i162 ], [ @.str.120, %invoke.cont105 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp106, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 549, ptr noundef %cond.i.i164) +invoke.cont108: ; preds = %cond.true.i.i163, %invoke.cont105 + %cond.i.i165 = phi ptr [ %call4.i.i164, %cond.true.i.i163 ], [ @.str.120, %invoke.cont105 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp106, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 549, ptr noundef %cond.i.i165) to label %invoke.cont110 unwind label %lpad107 invoke.cont110: ; preds = %invoke.cont108 @@ -35946,29 +35960,29 @@ invoke.cont110: ; preds = %invoke.cont108 invoke.cont112: ; preds = %invoke.cont110 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp106) #28 %73 = load ptr, ptr %ref.tmp103, align 8 - %cmp.not.i.i166 = icmp eq ptr %73, null - br i1 %cmp.not.i.i166, label %_ZN7testing7MessageD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167 + %cmp.not.i.i167 = icmp eq ptr %73, null + br i1 %cmp.not.i.i167, label %_ZN7testing7MessageD2Ev.exit171, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167: ; preds = %invoke.cont112 - %vtable.i.i.i168 = load ptr, ptr %73, align 8 - %vfn.i.i.i169 = getelementptr inbounds ptr, ptr %vtable.i.i.i168, i64 1 - %74 = load ptr, ptr %vfn.i.i.i169, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168: ; preds = %invoke.cont112 + %vtable.i.i.i169 = load ptr, ptr %73, align 8 + %vfn.i.i.i170 = getelementptr inbounds ptr, ptr %vtable.i.i.i169, i64 1 + %74 = load ptr, ptr %vfn.i.i.i170, align 8 call void %74(ptr noundef nonnull align 8 dereferenceable(128) %73) #28 - br label %_ZN7testing7MessageD2Ev.exit170 + br label %_ZN7testing7MessageD2Ev.exit171 -_ZN7testing7MessageD2Ev.exit170: ; preds = %invoke.cont112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167 +_ZN7testing7MessageD2Ev.exit171: ; preds = %invoke.cont112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168 store ptr null, ptr %ref.tmp103, align 8 - %75 = load ptr, ptr %message_.i180, align 8 - %cmp.not.i.i172 = icmp eq ptr %75, null - br i1 %cmp.not.i.i172, label %_ZN7testing15AssertionResultD2Ev.exit174, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173 + %75 = load ptr, ptr %message_.i181, align 8 + %cmp.not.i.i173 = icmp eq ptr %75, null + br i1 %cmp.not.i.i173, label %_ZN7testing15AssertionResultD2Ev.exit175, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173: ; preds = %_ZN7testing7MessageD2Ev.exit170 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174: ; preds = %_ZN7testing7MessageD2Ev.exit171 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #28 call void @_ZdlPv(ptr noundef nonnull %75) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit174 + br label %_ZN7testing15AssertionResultD2Ev.exit175 -_ZN7testing15AssertionResultD2Ev.exit174: ; preds = %_ZN7testing7MessageD2Ev.exit170, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173 - store ptr null, ptr %message_.i180, align 8 +_ZN7testing15AssertionResultD2Ev.exit175: ; preds = %_ZN7testing7MessageD2Ev.exit171, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 + store ptr null, ptr %message_.i181, align 8 br label %cleanup160 lpad104: ; preds = %if.else102 @@ -35990,32 +36004,32 @@ lpad111: ; preds = %invoke.cont110 ehcleanup114: ; preds = %lpad111, %lpad107 %.pn19 = phi { ptr, i32 } [ %78, %lpad111 ], [ %77, %lpad107 ] %79 = load ptr, ptr %ref.tmp103, align 8 - %cmp.not.i.i175 = icmp eq ptr %79, null - br i1 %cmp.not.i.i175, label %_ZN7testing7MessageD2Ev.exit179, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 + %cmp.not.i.i176 = icmp eq ptr %79, null + br i1 %cmp.not.i.i176, label %_ZN7testing7MessageD2Ev.exit180, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176: ; preds = %ehcleanup114 - %vtable.i.i.i177 = load ptr, ptr %79, align 8 - %vfn.i.i.i178 = getelementptr inbounds ptr, ptr %vtable.i.i.i177, i64 1 - %80 = load ptr, ptr %vfn.i.i.i178, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177: ; preds = %ehcleanup114 + %vtable.i.i.i178 = load ptr, ptr %79, align 8 + %vfn.i.i.i179 = getelementptr inbounds ptr, ptr %vtable.i.i.i178, i64 1 + %80 = load ptr, ptr %vfn.i.i.i179, align 8 call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #28 - br label %_ZN7testing7MessageD2Ev.exit179 + br label %_ZN7testing7MessageD2Ev.exit180 -_ZN7testing7MessageD2Ev.exit179: ; preds = %ehcleanup114, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 +_ZN7testing7MessageD2Ev.exit180: ; preds = %ehcleanup114, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177 store ptr null, ptr %ref.tmp103, align 8 br label %ehcleanup119 cleanup.cont118.critedge: ; preds = %invoke.cont99 - %81 = load ptr, ptr %message_.i180, align 8 - %cmp.not.i.i181 = icmp eq ptr %81, null - br i1 %cmp.not.i.i181, label %cleanup.cont118, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 + %81 = load ptr, ptr %message_.i181, align 8 + %cmp.not.i.i182 = icmp eq ptr %81, null + br i1 %cmp.not.i.i182, label %cleanup.cont118, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i183 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182: ; preds = %cleanup.cont118.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i183: ; preds = %cleanup.cont118.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #28 call void @_ZdlPv(ptr noundef nonnull %81) #31 br label %cleanup.cont118 -cleanup.cont118: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182, %cleanup.cont118.critedge - store ptr null, ptr %message_.i180, align 8 +cleanup.cont118: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i183, %cleanup.cont118.critedge + store ptr null, ptr %message_.i181, align 8 %82 = load ptr, ptr %result, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !572) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %edges, i8 0, i64 24, i1 false), !alias.scope !572 @@ -36063,79 +36077,77 @@ invoke.cont125: ; preds = %invoke.cont120 cond.true.i.i.i.i.i.i: ; preds = %invoke.cont125 %cmp.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %cond.true.i.i.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i invoke void @_ZSt28__throw_bad_array_new_lengthv() #29 - to label %.noexc190 unwind label %lpad126.loopexit.split-lp + to label %.noexc191 unwind label %lpad126.loopexit.split-lp -.noexc190: ; preds = %if.then3.i.i.i.i.i.i.i.i +.noexc191: ; preds = %if.then3.i.i.i.i.i.i.i.i unreachable invoke.cont.thread.i: ; preds = %invoke.cont125 - %sub.ptr.div.i.i.i.i19.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i store i64 0, ptr %ref.tmp122, align 8, !alias.scope !586 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !586 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !586 br label %invoke.cont127 -cond.true.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i - %call5.i.i.i.i2.i6.i.i.i191 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i + %call5.i.i.i.i2.i6.i.i.i192 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 to label %call5.i.i.i.i2.i6.i.i.i.noexc unwind label %lpad126.loopexit -call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %cond.true.i.i.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i191, ptr align 8 %90, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !586 +call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i192, ptr align 8 %90, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !586 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp122, i8 0, i64 24, i1 false), !alias.scope !586 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 - to label %if.then.i.i.i.i.i189 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !586 + to label %if.then.i.i.i.i.i190 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !586 -if.then.i.i.i.i.i189: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i, 3 +if.then.i.i.i.i.i190: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp122, align 8, !alias.scope !586 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !586 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i191, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !586 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i192, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !586 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !586 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i191) #31, !noalias !586 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i192) #31, !noalias !586 br label %invoke.cont127 _ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc %91 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i191) #31, !noalias !586 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i192) #31, !noalias !586 br label %ehcleanup131 -invoke.cont127: ; preds = %if.then.i.i.i.i.i189, %invoke.cont.thread.i +invoke.cont127: ; preds = %if.then.i.i.i.i.i190, %invoke.cont.thread.i invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEEclISt6vectorIS6_SaIS6_EEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar121, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp122, ptr noundef nonnull @.str.185, ptr noundef nonnull align 8 dereferenceable(24) %edges) to label %invoke.cont129 unwind label %lpad128 invoke.cont129: ; preds = %invoke.cont127 %92 = load ptr, ptr %ref.tmp122, align 8 - %tobool.not.i.i.i.i.i193 = icmp eq ptr %92, null - br i1 %tobool.not.i.i.i.i.i193, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i194 + %tobool.not.i.i.i.i.i194 = icmp eq ptr %92, null + br i1 %tobool.not.i.i.i.i.i194, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i195 -if.then.i.i.i.i.i194: ; preds = %invoke.cont129 +if.then.i.i.i.i.i195: ; preds = %invoke.cont129 call void @_ZdlPv(ptr noundef nonnull %92) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont129, %if.then.i.i.i.i.i194 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont129, %if.then.i.i.i.i.i195 %93 = load ptr, ptr %agg.tmp123, align 8 - %tobool.not.i.i.i.i195 = icmp eq ptr %93, null - br i1 %tobool.not.i.i.i.i195, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i196 + %tobool.not.i.i.i.i196 = icmp eq ptr %93, null + br i1 %tobool.not.i.i.i.i196, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i197 -if.then.i.i.i.i196: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit +if.then.i.i.i.i197: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %93) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i196 +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i197 %94 = load i8, ptr %gtest_ar121, align 8 %95 = and i8 %94, 1 - %tobool.i198.not = icmp eq i8 %95, 0 - br i1 %tobool.i198.not, label %if.else134, label %cleanup.cont150.critedge + %tobool.i199.not = icmp eq i8 %95, 0 + br i1 %tobool.i199.not, label %if.else134, label %cleanup.cont150.critedge -ehcleanup119: ; preds = %_ZN7testing7MessageD2Ev.exit179, %lpad104 - %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit179 ], [ %76, %lpad104 ] +ehcleanup119: ; preds = %_ZN7testing7MessageD2Ev.exit180, %lpad104 + %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit180 ], [ %76, %lpad104 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar79) #28 br label %ehcleanup161 @@ -36144,13 +36156,13 @@ lpad124: ; preds = %invoke.cont120 cleanup br label %ehcleanup155 -lpad126.loopexit: ; preds = %cond.true.i.i.i.i.i.i.i - %lpad.loopexit257 = landingpad { ptr, i32 } +lpad126.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i + %lpad.loopexit258 = landingpad { ptr, i32 } cleanup br label %ehcleanup131 lpad126.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i.i.i - %lpad.loopexit.split-lp258 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp259 = landingpad { ptr, i32 } cleanup br label %ehcleanup131 @@ -36158,20 +36170,20 @@ lpad128: ; preds = %invoke.cont127 %97 = landingpad { ptr, i32 } cleanup %98 = load ptr, ptr %ref.tmp122, align 8 - %tobool.not.i.i.i.i.i199 = icmp eq ptr %98, null - br i1 %tobool.not.i.i.i.i.i199, label %ehcleanup131, label %if.then.i.i.i.i.i200 + %tobool.not.i.i.i.i.i200 = icmp eq ptr %98, null + br i1 %tobool.not.i.i.i.i.i200, label %ehcleanup131, label %if.then.i.i.i.i.i201 -if.then.i.i.i.i.i200: ; preds = %lpad128 +if.then.i.i.i.i.i201: ; preds = %lpad128 call void @_ZdlPv(ptr noundef nonnull %98) #31 br label %ehcleanup131 -ehcleanup131: ; preds = %lpad126.loopexit, %lpad126.loopexit.split-lp, %if.then.i.i.i.i.i200, %lpad128, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i - %.pn22 = phi { ptr, i32 } [ %91, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ], [ %97, %lpad128 ], [ %97, %if.then.i.i.i.i.i200 ], [ %lpad.loopexit257, %lpad126.loopexit ], [ %lpad.loopexit.split-lp258, %lpad126.loopexit.split-lp ] +ehcleanup131: ; preds = %lpad126.loopexit, %lpad126.loopexit.split-lp, %if.then.i.i.i.i.i201, %lpad128, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i + %.pn22 = phi { ptr, i32 } [ %91, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ], [ %97, %lpad128 ], [ %97, %if.then.i.i.i.i.i201 ], [ %lpad.loopexit258, %lpad126.loopexit ], [ %lpad.loopexit.split-lp259, %lpad126.loopexit.split-lp ] %99 = load ptr, ptr %agg.tmp123, align 8 - %tobool.not.i.i.i.i202 = icmp eq ptr %99, null - br i1 %tobool.not.i.i.i.i202, label %ehcleanup155, label %if.then.i.i.i.i203 + %tobool.not.i.i.i.i203 = icmp eq ptr %99, null + br i1 %tobool.not.i.i.i.i203, label %ehcleanup155, label %if.then.i.i.i.i204 -if.then.i.i.i.i203: ; preds = %ehcleanup131 +if.then.i.i.i.i204: ; preds = %ehcleanup131 call void @_ZdlPv(ptr noundef nonnull %99) #31 br label %ehcleanup155 @@ -36180,17 +36192,17 @@ if.else134: ; preds = %_ZN7testing8interna to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %100 = load ptr, ptr %message_.i226, align 8 - %cmp.i.i.not.i.i207 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i207, label %invoke.cont140, label %cond.true.i.i208 + %100 = load ptr, ptr %message_.i227, align 8 + %cmp.i.i.not.i.i208 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i208, label %invoke.cont140, label %cond.true.i.i209 -cond.true.i.i208: ; preds = %invoke.cont137 - %call4.i.i209 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #28 +cond.true.i.i209: ; preds = %invoke.cont137 + %call4.i.i210 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #28 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i208, %invoke.cont137 - %cond.i.i210 = phi ptr [ %call4.i.i209, %cond.true.i.i208 ], [ @.str.120, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 551, ptr noundef %cond.i.i210) +invoke.cont140: ; preds = %cond.true.i.i209, %invoke.cont137 + %cond.i.i211 = phi ptr [ %call4.i.i210, %cond.true.i.i209 ], [ @.str.120, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 551, ptr noundef %cond.i.i211) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -36200,23 +36212,23 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #28 %101 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i212 = icmp eq ptr %101, null - br i1 %cmp.not.i.i212, label %_ZN7testing7MessageD2Ev.exit216, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213 + %cmp.not.i.i213 = icmp eq ptr %101, null + br i1 %cmp.not.i.i213, label %_ZN7testing7MessageD2Ev.exit217, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213: ; preds = %invoke.cont144 - %vtable.i.i.i214 = load ptr, ptr %101, align 8 - %vfn.i.i.i215 = getelementptr inbounds ptr, ptr %vtable.i.i.i214, i64 1 - %102 = load ptr, ptr %vfn.i.i.i215, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %invoke.cont144 + %vtable.i.i.i215 = load ptr, ptr %101, align 8 + %vfn.i.i.i216 = getelementptr inbounds ptr, ptr %vtable.i.i.i215, i64 1 + %102 = load ptr, ptr %vfn.i.i.i216, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #28 - br label %_ZN7testing7MessageD2Ev.exit216 + br label %_ZN7testing7MessageD2Ev.exit217 -_ZN7testing7MessageD2Ev.exit216: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213 +_ZN7testing7MessageD2Ev.exit217: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 store ptr null, ptr %ref.tmp135, align 8 - %103 = load ptr, ptr %message_.i226, align 8 - %cmp.not.i.i218 = icmp eq ptr %103, null - br i1 %cmp.not.i.i218, label %cleanup160.critedge, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i219 + %103 = load ptr, ptr %message_.i227, align 8 + %cmp.not.i.i219 = icmp eq ptr %103, null + br i1 %cmp.not.i.i219, label %cleanup160.critedge, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i219: ; preds = %_ZN7testing7MessageD2Ev.exit216 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220: ; preds = %_ZN7testing7MessageD2Ev.exit217 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #28 call void @_ZdlPv(ptr noundef nonnull %103) #31 br label %cleanup160.critedge @@ -36240,59 +36252,59 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn24 = phi { ptr, i32 } [ %106, %lpad143 ], [ %105, %lpad139 ] %107 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i221 = icmp eq ptr %107, null - br i1 %cmp.not.i.i221, label %_ZN7testing7MessageD2Ev.exit225, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222 + %cmp.not.i.i222 = icmp eq ptr %107, null + br i1 %cmp.not.i.i222, label %_ZN7testing7MessageD2Ev.exit226, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222: ; preds = %ehcleanup146 - %vtable.i.i.i223 = load ptr, ptr %107, align 8 - %vfn.i.i.i224 = getelementptr inbounds ptr, ptr %vtable.i.i.i223, i64 1 - %108 = load ptr, ptr %vfn.i.i.i224, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223: ; preds = %ehcleanup146 + %vtable.i.i.i224 = load ptr, ptr %107, align 8 + %vfn.i.i.i225 = getelementptr inbounds ptr, ptr %vtable.i.i.i224, i64 1 + %108 = load ptr, ptr %vfn.i.i.i225, align 8 call void %108(ptr noundef nonnull align 8 dereferenceable(128) %107) #28 - br label %_ZN7testing7MessageD2Ev.exit225 + br label %_ZN7testing7MessageD2Ev.exit226 -_ZN7testing7MessageD2Ev.exit225: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222 +_ZN7testing7MessageD2Ev.exit226: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup151 cleanup.cont150.critedge: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit - %109 = load ptr, ptr %message_.i226, align 8 - %cmp.not.i.i227 = icmp eq ptr %109, null - br i1 %cmp.not.i.i227, label %_ZN7testing15AssertionResultD2Ev.exit229, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228 + %109 = load ptr, ptr %message_.i227, align 8 + %cmp.not.i.i228 = icmp eq ptr %109, null + br i1 %cmp.not.i.i228, label %_ZN7testing15AssertionResultD2Ev.exit230, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228: ; preds = %cleanup.cont150.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229: ; preds = %cleanup.cont150.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #28 call void @_ZdlPv(ptr noundef nonnull %109) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit229 + br label %_ZN7testing15AssertionResultD2Ev.exit230 -_ZN7testing15AssertionResultD2Ev.exit229: ; preds = %cleanup.cont150.critedge, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228 - store ptr null, ptr %message_.i226, align 8 +_ZN7testing15AssertionResultD2Ev.exit230: ; preds = %cleanup.cont150.critedge, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229 + store ptr null, ptr %message_.i227, align 8 %110 = load ptr, ptr %result, align 8 store ptr %110, ptr %tree, align 8 %111 = load ptr, ptr %edges, align 8 %tobool.not.i.i.i = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i, label %for.inc156, label %if.then.i.i.i230 + br i1 %tobool.not.i.i.i, label %for.inc156, label %if.then.i.i.i231 -if.then.i.i.i230: ; preds = %_ZN7testing15AssertionResultD2Ev.exit229 +if.then.i.i.i231: ; preds = %_ZN7testing15AssertionResultD2Ev.exit230 call void @_ZdlPv(ptr noundef nonnull %111) #31 br label %for.inc156 -for.inc156: ; preds = %if.then.i.i.i230, %_ZN7testing15AssertionResultD2Ev.exit229 - %inc157 = add nuw nsw i64 %i31.0264, 1 - %exitcond265.not = icmp eq i64 %inc157, 36 - br i1 %exitcond265.not, label %for.end158, label %for.body34, !llvm.loop !589 +for.inc156: ; preds = %if.then.i.i.i231, %_ZN7testing15AssertionResultD2Ev.exit230 + %inc157 = add nuw nsw i64 %i31.0265, 1 + %exitcond266.not = icmp eq i64 %inc157, 36 + br i1 %exitcond266.not, label %for.end158, label %for.body34, !llvm.loop !589 -ehcleanup151: ; preds = %_ZN7testing7MessageD2Ev.exit225, %lpad136 - %.pn24.pn = phi { ptr, i32 } [ %.pn24, %_ZN7testing7MessageD2Ev.exit225 ], [ %104, %lpad136 ] +ehcleanup151: ; preds = %_ZN7testing7MessageD2Ev.exit226, %lpad136 + %.pn24.pn = phi { ptr, i32 } [ %.pn24, %_ZN7testing7MessageD2Ev.exit226 ], [ %104, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar121) #28 br label %ehcleanup155 -ehcleanup155: ; preds = %if.then.i.i.i.i203, %ehcleanup131, %ehcleanup151, %lpad124 - %.pn24.pn.pn = phi { ptr, i32 } [ %.pn24.pn, %ehcleanup151 ], [ %96, %lpad124 ], [ %.pn22, %ehcleanup131 ], [ %.pn22, %if.then.i.i.i.i203 ] +ehcleanup155: ; preds = %if.then.i.i.i.i204, %ehcleanup131, %ehcleanup151, %lpad124 + %.pn24.pn.pn = phi { ptr, i32 } [ %.pn24.pn, %ehcleanup151 ], [ %96, %lpad124 ], [ %.pn22, %ehcleanup131 ], [ %.pn22, %if.then.i.i.i.i204 ] %112 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i234 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i234, label %ehcleanup161, label %if.then.i.i.i235 + %tobool.not.i.i.i235 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i235, label %ehcleanup161, label %if.then.i.i.i236 -if.then.i.i.i235: ; preds = %ehcleanup155 +if.then.i.i.i236: ; preds = %ehcleanup155 call void @_ZdlPv(ptr noundef nonnull %112) #31 br label %ehcleanup161 @@ -36301,76 +36313,76 @@ for.end158: ; preds = %for.inc156 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %113, i64 0, i32 1 %114 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %114, 2 - br i1 %cmp.i.not.i, label %if.then.i238, label %cleanup160 + br i1 %cmp.i.not.i, label %if.then.i239, label %cleanup160 -if.then.i238: ; preds = %for.end158 +if.then.i239: ; preds = %for.end158 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %113) to label %cleanup160 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp -cleanup160.critedge: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i219, %_ZN7testing7MessageD2Ev.exit216 - store ptr null, ptr %message_.i226, align 8 +cleanup160.critedge: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220, %_ZN7testing7MessageD2Ev.exit217 + store ptr null, ptr %message_.i227, align 8 %115 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i240 = icmp eq ptr %115, null - br i1 %tobool.not.i.i.i240, label %cleanup160, label %if.then.i.i.i241 + %tobool.not.i.i.i241 = icmp eq ptr %115, null + br i1 %tobool.not.i.i.i241, label %cleanup160, label %if.then.i.i.i242 -if.then.i.i.i241: ; preds = %cleanup160.critedge +if.then.i.i.i242: ; preds = %cleanup160.critedge call void @_ZdlPv(ptr noundef nonnull %115) #31 br label %cleanup160 -cleanup160: ; preds = %if.then.i.i.i241, %cleanup160.critedge, %for.end158, %if.then.i238, %_ZN7testing15AssertionResultD2Ev.exit174, %_ZN7testing15AssertionResultD2Ev.exit145, %_ZN7testing15AssertionResultD2Ev.exit +cleanup160: ; preds = %if.then.i.i.i242, %cleanup160.critedge, %for.end158, %if.then.i239, %_ZN7testing15AssertionResultD2Ev.exit175, %_ZN7testing15AssertionResultD2Ev.exit146, %_ZN7testing15AssertionResultD2Ev.exit %116 = load ptr, ptr %flats, align 8 %tobool.not.i.i = icmp eq ptr %116, null - br i1 %tobool.not.i.i, label %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i243 + br i1 %tobool.not.i.i, label %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i244 -if.then.i.i243: ; preds = %cleanup160 +if.then.i.i244: ; preds = %cleanup160 %_M_node5.i.i6.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %flats, i64 0, i32 3, i32 3 - %_M_node5.i.i.i244 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %flats, i64 0, i32 2, i32 3 - %117 = load ptr, ptr %_M_node5.i.i.i244, align 8 + %_M_node5.i.i.i245 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %flats, i64 0, i32 2, i32 3 + %117 = load ptr, ptr %_M_node5.i.i.i245, align 8 %118 = load ptr, ptr %_M_node5.i.i6.i, align 8 - %add.ptr.i.i245 = getelementptr inbounds ptr, ptr %118, i64 1 - %cmp3.i.i.i = icmp ult ptr %117, %add.ptr.i.i245 + %add.ptr.i.i246 = getelementptr inbounds ptr, ptr %118, i64 1 + %cmp3.i.i.i = icmp ult ptr %117, %add.ptr.i.i246 br i1 %cmp3.i.i.i, label %for.body.i.i.i, label %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i -for.body.i.i.i: ; preds = %if.then.i.i243, %for.body.i.i.i - %__n.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i246, %for.body.i.i.i ], [ %117, %if.then.i.i243 ] +for.body.i.i.i: ; preds = %if.then.i.i244, %for.body.i.i.i + %__n.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i247, %for.body.i.i.i ], [ %117, %if.then.i.i244 ] %119 = load ptr, ptr %__n.04.i.i.i, align 8 call void @_ZdlPv(ptr noundef %119) #31 - %incdec.ptr.i.i.i246 = getelementptr inbounds ptr, ptr %__n.04.i.i.i, i64 1 + %incdec.ptr.i.i.i247 = getelementptr inbounds ptr, ptr %__n.04.i.i.i, i64 1 %cmp.i.i.i = icmp ult ptr %__n.04.i.i.i, %118 br i1 %cmp.i.i.i, label %for.body.i.i.i, label %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i, !llvm.loop !343 _ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i: ; preds = %for.body.i.i.i - %.pre.i.i247 = load ptr, ptr %flats, align 8 + %.pre.i.i248 = load ptr, ptr %flats, align 8 br label %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i -_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i: ; preds = %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i, %if.then.i.i243 - %120 = phi ptr [ %.pre.i.i247, %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i ], [ %116, %if.then.i.i243 ] +_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i: ; preds = %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i, %if.then.i.i244 + %120 = phi ptr [ %.pre.i.i248, %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i ], [ %116, %if.then.i.i244 ] call void @_ZdlPv(ptr noundef %120) #31 br label %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit _ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %cleanup160, %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i %121 = load ptr, ptr %refs, align 8 - %_M_finish.i.i248 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 - %122 = load ptr, ptr %_M_finish.i.i248, align 8 + %_M_finish.i.i249 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 + %122 = load ptr, ptr %_M_finish.i.i249, align 8 %cmp.i.not4.i = icmp eq ptr %121, %122 br i1 %cmp.i.not4.i, label %for.end.i, label %for.body.i for.body.i: ; preds = %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i250, %for.inc.i ], [ %121, %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i251, %for.inc.i ], [ %121, %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] %123 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i249 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %123, i64 0, i32 1 - %124 = atomicrmw sub ptr %refcount.i.i249, i32 2 acq_rel, align 4 + %refcount.i.i250 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %123, i64 0, i32 1 + %124 = atomicrmw sub ptr %refcount.i.i250, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %124, 2 - br i1 %cmp.i.not.i.i, label %if.then.i.i255, label %for.inc.i + br i1 %cmp.i.not.i.i, label %if.then.i.i256, label %for.inc.i -if.then.i.i255: ; preds = %for.body.i +if.then.i.i256: ; preds = %for.body.i invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %123) to label %for.inc.i unwind label %terminate.lpad.i -for.inc.i: ; preds = %if.then.i.i255, %for.body.i - %incdec.ptr.i.i250 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i251 = icmp eq ptr %incdec.ptr.i.i250, %122 - br i1 %cmp.i.not.i251, label %for.end.loopexit.i, label %for.body.i +for.inc.i: ; preds = %if.then.i.i256, %for.body.i + %incdec.ptr.i.i251 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 + %cmp.i.not.i252 = icmp eq ptr %incdec.ptr.i.i251, %122 + br i1 %cmp.i.not.i252, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 @@ -36378,25 +36390,25 @@ for.end.loopexit.i: ; preds = %for.inc.i for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit %125 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %121, %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] - %tobool.not.i.i.i.i252 = icmp eq ptr %125, null - br i1 %tobool.not.i.i.i.i252, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i253 + %tobool.not.i.i.i.i253 = icmp eq ptr %125, null + br i1 %tobool.not.i.i.i.i253, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i254 -if.then.i.i.i.i253: ; preds = %for.end.i +if.then.i.i.i.i254: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %125) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit -terminate.lpad.i: ; preds = %if.then.i.i255 +terminate.lpad.i: ; preds = %if.then.i.i256 %126 = landingpad { ptr, i32 } catch ptr null %127 = extractvalue { ptr, i32 } %126, 0 call void @__clang_call_terminate(ptr %127) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i253 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i254 ret void -ehcleanup161: ; preds = %lpad2.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp, %lpad2.loopexit.split-lp.loopexit, %if.then.i.i.i235, %ehcleanup155, %lpad.i, %if.then.i.i.i.i, %ehcleanup119, %ehcleanup78, %ehcleanup30 - %.pn28 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup119 ], [ %.pn16.pn, %ehcleanup78 ], [ %.pn.pn, %ehcleanup30 ], [ %83, %if.then.i.i.i.i ], [ %83, %lpad.i ], [ %.pn24.pn.pn, %ehcleanup155 ], [ %.pn24.pn.pn, %if.then.i.i.i235 ], [ %lpad.loopexit, %lpad2.loopexit ], [ %lpad.loopexit260, %lpad2.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp261, %lpad2.loopexit.split-lp.loopexit.split-lp ] +ehcleanup161: ; preds = %lpad2.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp, %lpad2.loopexit.split-lp.loopexit, %if.then.i.i.i236, %ehcleanup155, %lpad.i, %if.then.i.i.i.i, %ehcleanup119, %ehcleanup78, %ehcleanup30 + %.pn28 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup119 ], [ %.pn16.pn, %ehcleanup78 ], [ %.pn.pn, %ehcleanup30 ], [ %83, %if.then.i.i.i.i ], [ %83, %lpad.i ], [ %.pn24.pn.pn, %ehcleanup155 ], [ %.pn24.pn.pn, %if.then.i.i.i236 ], [ %lpad.loopexit, %lpad2.loopexit ], [ %lpad.loopexit261, %lpad2.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp262, %lpad2.loopexit.split-lp.loopexit.split-lp ] call void @_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(80) %flats) #28 br label %ehcleanup165 @@ -36622,8 +36634,8 @@ invoke.cont6: ; preds = %call.i.i.noexc, %if br label %for.body for.body: ; preds = %invoke.cont6, %invoke.cont13 - %i.0329 = phi i64 [ 1, %invoke.cont6 ], [ %inc, %invoke.cont13 ] - %call10 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0329) + %i.0331 = phi i64 [ 1, %invoke.cont6 ], [ %inc, %invoke.cont13 ] + %call10 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i.0331) to label %invoke.cont9 unwind label %lpad2.loopexit.split-lp.loopexit invoke.cont9: ; preds = %for.body @@ -36663,7 +36675,7 @@ if.end.i44: ; preds = %_ZN4absl13cord_inte invoke.cont13: ; preds = %if.then.i, %if.end.i44 %retval.0.i45 = phi ptr [ %call1.i50, %if.then.i ], [ %call2.i52, %if.end.i44 ] store ptr %retval.0.i45, ptr %tree, align 8 - %inc = add nuw nsw i64 %i.0329, 1 + %inc = add nuw nsw i64 %i.0331, 1 %exitcond.not = icmp eq i64 %inc, 37 br i1 %exitcond.not, label %invoke.cont17, label %for.body, !llvm.loop !596 @@ -36672,18 +36684,18 @@ lpad: ; preds = %entry cleanup br label %ehcleanup178 -lpad2.loopexit: ; preds = %invoke.cont57, %invoke.cont111, %invoke.cont70, %for.body34, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i95, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i159, %invoke.cont60, %if.then.i190, %if.end.i184, %cleanup.cont90 +lpad2.loopexit: ; preds = %invoke.cont57, %invoke.cont111, %invoke.cont70, %for.body34, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i95, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i160, %invoke.cont60, %if.then.i192, %if.end.i186, %cleanup.cont90 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %ehcleanup174 lpad2.loopexit.split-lp.loopexit: ; preds = %if.end.i44, %if.then.i, %invoke.cont9, %for.body - %lpad.loopexit326 = landingpad { ptr, i32 } + %lpad.loopexit328 = landingpad { ptr, i32 } cleanup br label %ehcleanup174 -lpad2.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i172.invoke, %if.then.i304, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %if.else.i.i, %invoke.cont17, %invoke.cont - %lpad.loopexit.split-lp327 = landingpad { ptr, i32 } +lpad2.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i174.invoke, %if.then.i306, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %if.else.i.i, %invoke.cont17, %invoke.cont + %lpad.loopexit.split-lp329 = landingpad { ptr, i32 } cleanup br label %ehcleanup174 @@ -36796,22 +36808,22 @@ cleanup.cont: ; preds = %_ZNKSt14default_del store ptr null, ptr %message_.i60, align 8 %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 - %message_.i217 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar66, i64 0, i32 1 - %agg.tmp94224.sroa.5.0.ref.tmp93.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp93, i64 8 - %agg.tmp94224.sroa.6.0.ref.tmp93.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp93, i64 16 - %message_.i246 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 + %message_.i219 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar66, i64 0, i32 1 + %agg.tmp94226.sroa.5.0.ref.tmp93.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp93, i64 8 + %agg.tmp94226.sroa.6.0.ref.tmp93.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp93, i64 16 + %message_.i248 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 %_M_last4.i.i.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %flats, i64 0, i32 2, i32 2 %_M_last.i.i.i.i = getelementptr inbounds %"struct.std::_Deque_iterator.350", ptr %agg.tmp.i.i.i, i64 0, i32 2 %_M_last.i3.i.i.i = getelementptr inbounds %"struct.std::_Deque_iterator.350", ptr %agg.tmp2.i.i.i, i64 0, i32 2 %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %agg.tmp136, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp135, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp135, i64 0, i32 2 - %message_.i292 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar134, i64 0, i32 1 + %message_.i294 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar134, i64 0, i32 1 br label %for.body34 for.body34: ; preds = %cleanup.cont, %for.inc169 %32 = phi ptr [ null, %cleanup.cont ], [ %58, %for.inc169 ] - %i31.0330 = phi i64 [ 37, %cleanup.cont ], [ %inc170, %for.inc169 ] + %i31.0332 = phi i64 [ 37, %cleanup.cont ], [ %inc170, %for.inc169 ] %call.i65 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont35 unwind label %lpad2.loopexit @@ -36844,7 +36856,7 @@ if.else.i.i.i: ; preds = %if.then.i67 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %39 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i172.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i + br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i174.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 @@ -36866,23 +36878,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i70, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %35, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %39, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %39, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %39) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -36896,7 +36909,7 @@ invoke.cont41: ; preds = %invoke.cont35, %if. %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %41, i64 0, i32 3, i64 2 %42 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %42 to i64 - %rem = and i64 %i31.0330, 15 + %rem = and i64 %i31.0332, 15 %cmp39 = icmp eq i64 %rem, 0 %add.ptr.i71 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i.i %add.ptr3.i = getelementptr inbounds ptr, ptr %add.ptr.i71, i64 -1 @@ -36925,7 +36938,7 @@ if.else.i.i.i81: ; preds = %if.then.i73 %sub.ptr.rhs.cast.i.i.i.i.i.i83 = ptrtoint ptr %47 to i64 %sub.ptr.sub.i.i.i.i.i.i84 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i82, %sub.ptr.rhs.cast.i.i.i.i.i.i83 %cmp.i.i.i.i.i85 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i84, 9223372036854775800 - br i1 %cmp.i.i.i.i.i85, label %if.then.i.i.i.i.i172.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i86 + br i1 %cmp.i.i.i.i.i85, label %if.then.i.i.i.i.i174.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i86 _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i86: ; preds = %if.else.i.i.i81 %sub.ptr.div.i.i.i.i.i.i87 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i84, 3 @@ -36940,181 +36953,183 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i95: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i86 %mul.i.i.i.i.i.i.i96 = shl nuw nsw i64 %cond.i.i.i.i.i93, 3 - %call5.i.i.i.i.i.i.i111 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i96) #30 + %call5.i.i.i.i.i.i.i112 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i96) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i97 unwind label %lpad2.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i97: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i95, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i86 - %cond.i10.i.i.i.i98 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i86 ], [ %call5.i.i.i.i.i.i.i111, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i95 ] + %cond.i10.i.i.i.i98 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i86 ], [ %call5.i.i.i.i.i.i.i112, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i95 ] %add.ptr.i.i.i.i99 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i98, i64 %sub.ptr.div.i.i.i.i.i.i87 store ptr %43, ptr %add.ptr.i.i.i.i99, align 8 - %cmp.i.i.i11.i.i.i.i100 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i87, 0 - br i1 %cmp.i.i.i11.i.i.i.i100, label %if.then.i.i.i12.i.i.i.i107, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i101 + %cmp.i.i.i11.i.i.i.i100 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i84, 0 + br i1 %cmp.i.i.i11.i.i.i.i100, label %if.then.i.i.i12.i.i.i.i108, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i101 -if.then.i.i.i12.i.i.i.i107: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i97 +if.then.i.i.i12.i.i.i.i108: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i97 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i98, ptr align 8 %47, i64 %sub.ptr.sub.i.i.i.i.i.i84, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i101 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i101 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i101: ; preds = %if.then.i.i.i12.i.i.i.i107, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i97 - %incdec.ptr.i.i.i.i102 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i99, i64 1 - %tobool.not.i.i.i.i.i103 = icmp eq ptr %47, null - br i1 %tobool.not.i.i.i.i.i103, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105, label %if.then.i21.i.i.i.i104 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i101: ; preds = %if.then.i.i.i12.i.i.i.i108, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i97 + %add.ptr.i.i.i.i.i.i.i102 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i98, i64 %sub.ptr.sub.i.i.i.i.i.i84 + %incdec.ptr.i.i.i.i103 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i102, i64 1 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %47, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i106, label %if.then.i20.i.i.i.i105 -if.then.i21.i.i.i.i104: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i101 +if.then.i20.i.i.i.i105: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i101 call void @_ZdlPv(ptr noundef nonnull %47) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i106 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105: ; preds = %if.then.i21.i.i.i.i104, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i101 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i106: ; preds = %if.then.i20.i.i.i.i105, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i101 store ptr %cond.i10.i.i.i.i98, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i102, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i106 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i98, i64 %cond.i.i.i.i.i93 - store ptr %add.ptr19.i.i.i.i106, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i103, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i107 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i98, i64 %cond.i.i.i.i.i93 + store ptr %add.ptr19.i.i.i.i107, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont54 -invoke.cont54: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105, %if.then.i.i.i79, %invoke.cont41 - %48 = phi ptr [ %incdec.ptr.i.i.i.i102, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i105 ], [ %incdec.ptr.i.i.i80, %if.then.i.i.i79 ], [ %40, %invoke.cont41 ] - %rem46 = and i64 %i31.0330, 3 +invoke.cont54: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i106, %if.then.i.i.i79, %invoke.cont41 + %48 = phi ptr [ %incdec.ptr.i.i.i.i103, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i106 ], [ %incdec.ptr.i.i.i80, %if.then.i.i.i79 ], [ %40, %invoke.cont41 ] + %rem46 = and i64 %i31.0332, 3 %cmp47 = icmp eq i64 %rem46, 0 %49 = load ptr, ptr %tree, align 8 - %edges_.i112 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %49, i64 0, i32 1 - %arrayidx.i.i.i116 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %49, i64 0, i32 3, i64 2 - %50 = load i8, ptr %arrayidx.i.i.i116, align 1 - %conv.i.i.i117 = zext i8 %50 to i64 - %add.ptr.i122 = getelementptr inbounds ptr, ptr %edges_.i112, i64 %conv.i.i.i117 - %add.ptr3.i123 = getelementptr inbounds ptr, ptr %add.ptr.i122, i64 -1 - %51 = load ptr, ptr %add.ptr3.i123, align 8 - %edges_.i124 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %51, i64 0, i32 1 - %arrayidx.i.i.i128 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %51, i64 0, i32 3, i64 2 - %52 = load i8, ptr %arrayidx.i.i.i128, align 1 - %conv.i.i.i129 = zext i8 %52 to i64 - %add.ptr.i134 = getelementptr inbounds ptr, ptr %edges_.i124, i64 %conv.i.i.i129 - %add.ptr3.i135 = getelementptr inbounds ptr, ptr %add.ptr.i134, i64 -1 - %53 = load ptr, ptr %add.ptr3.i135, align 8 - br i1 %cmp47, label %if.then.i137, label %invoke.cont57 - -if.then.i137: ; preds = %invoke.cont54 - %cmp.i.i138 = icmp ne ptr %53, null - call void @llvm.assume(i1 %cmp.i.i138) - %refcount.i.i139 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %53, i64 0, i32 1 - %54 = atomicrmw add ptr %refcount.i.i139, i32 2 monotonic, align 4 + %edges_.i113 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %49, i64 0, i32 1 + %arrayidx.i.i.i117 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %49, i64 0, i32 3, i64 2 + %50 = load i8, ptr %arrayidx.i.i.i117, align 1 + %conv.i.i.i118 = zext i8 %50 to i64 + %add.ptr.i123 = getelementptr inbounds ptr, ptr %edges_.i113, i64 %conv.i.i.i118 + %add.ptr3.i124 = getelementptr inbounds ptr, ptr %add.ptr.i123, i64 -1 + %51 = load ptr, ptr %add.ptr3.i124, align 8 + %edges_.i125 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %51, i64 0, i32 1 + %arrayidx.i.i.i129 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %51, i64 0, i32 3, i64 2 + %52 = load i8, ptr %arrayidx.i.i.i129, align 1 + %conv.i.i.i130 = zext i8 %52 to i64 + %add.ptr.i135 = getelementptr inbounds ptr, ptr %edges_.i125, i64 %conv.i.i.i130 + %add.ptr3.i136 = getelementptr inbounds ptr, ptr %add.ptr.i135, i64 -1 + %53 = load ptr, ptr %add.ptr3.i136, align 8 + br i1 %cmp47, label %if.then.i138, label %invoke.cont57 + +if.then.i138: ; preds = %invoke.cont54 + %cmp.i.i139 = icmp ne ptr %53, null + call void @llvm.assume(i1 %cmp.i.i139) + %refcount.i.i140 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %53, i64 0, i32 1 + %54 = atomicrmw add ptr %refcount.i.i140, i32 2 monotonic, align 4 %55 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 - %cmp.not.i.i.i142 = icmp eq ptr %48, %55 - br i1 %cmp.not.i.i.i142, label %if.else.i.i.i145, label %if.then.i.i.i143 + %cmp.not.i.i.i143 = icmp eq ptr %48, %55 + br i1 %cmp.not.i.i.i143, label %if.else.i.i.i146, label %if.then.i.i.i144 -if.then.i.i.i143: ; preds = %if.then.i137 +if.then.i.i.i144: ; preds = %if.then.i138 store ptr %53, ptr %48, align 8 %56 = load ptr, ptr %_M_finish.i.i.i, align 8 - %incdec.ptr.i.i.i144 = getelementptr inbounds ptr, ptr %56, i64 1 - store ptr %incdec.ptr.i.i.i144, ptr %_M_finish.i.i.i, align 8 + %incdec.ptr.i.i.i145 = getelementptr inbounds ptr, ptr %56, i64 1 + store ptr %incdec.ptr.i.i.i145, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont57 -if.else.i.i.i145: ; preds = %if.then.i137 +if.else.i.i.i146: ; preds = %if.then.i138 %57 = load ptr, ptr %refs, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i146 = ptrtoint ptr %48 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i147 = ptrtoint ptr %57 to i64 - %sub.ptr.sub.i.i.i.i.i.i148 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i146, %sub.ptr.rhs.cast.i.i.i.i.i.i147 - %cmp.i.i.i.i.i149 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i148, 9223372036854775800 - br i1 %cmp.i.i.i.i.i149, label %if.then.i.i.i.i.i172.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i150 + %sub.ptr.lhs.cast.i.i.i.i.i.i147 = ptrtoint ptr %48 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i148 = ptrtoint ptr %57 to i64 + %sub.ptr.sub.i.i.i.i.i.i149 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i147, %sub.ptr.rhs.cast.i.i.i.i.i.i148 + %cmp.i.i.i.i.i150 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i149, 9223372036854775800 + br i1 %cmp.i.i.i.i.i150, label %if.then.i.i.i.i.i174.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i151 -if.then.i.i.i.i.i172.invoke: ; preds = %if.else.i.i.i145, %if.else.i.i.i81, %if.else.i.i.i +if.then.i.i.i.i.i174.invoke: ; preds = %if.else.i.i.i146, %if.else.i.i.i81, %if.else.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %if.then.i.i.i.i.i172.cont unwind label %lpad2.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i.i.i174.cont unwind label %lpad2.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i.i172.cont: ; preds = %if.then.i.i.i.i.i172.invoke +if.then.i.i.i.i.i174.cont: ; preds = %if.then.i.i.i.i.i174.invoke unreachable -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i150: ; preds = %if.else.i.i.i145 - %sub.ptr.div.i.i.i.i.i.i151 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i148, 3 - %.sroa.speculated.i.i.i.i.i152 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i151, i64 1) - %add.i.i.i.i.i153 = add i64 %.sroa.speculated.i.i.i.i.i152, %sub.ptr.div.i.i.i.i.i.i151 - %cmp7.i.i.i.i.i154 = icmp ult i64 %add.i.i.i.i.i153, %sub.ptr.div.i.i.i.i.i.i151 - %cmp9.i.i.i.i.i155 = icmp ugt i64 %add.i.i.i.i.i153, 1152921504606846975 - %or.cond.i.i.i.i.i156 = or i1 %cmp7.i.i.i.i.i154, %cmp9.i.i.i.i.i155 - %cond.i.i.i.i.i157 = select i1 %or.cond.i.i.i.i.i156, i64 1152921504606846975, i64 %add.i.i.i.i.i153 - %cmp.not.i.i.i.i.i158 = icmp eq i64 %cond.i.i.i.i.i157, 0 - br i1 %cmp.not.i.i.i.i.i158, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i161, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i159 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i159: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i150 - %mul.i.i.i.i.i.i.i160 = shl nuw nsw i64 %cond.i.i.i.i.i157, 3 - %call5.i.i.i.i.i.i.i175 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i160) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i161 unwind label %lpad2.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i161: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i159, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i150 - %cond.i10.i.i.i.i162 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i150 ], [ %call5.i.i.i.i.i.i.i175, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i159 ] - %add.ptr.i.i.i.i163 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i162, i64 %sub.ptr.div.i.i.i.i.i.i151 - store ptr %53, ptr %add.ptr.i.i.i.i163, align 8 - %cmp.i.i.i11.i.i.i.i164 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i151, 0 - br i1 %cmp.i.i.i11.i.i.i.i164, label %if.then.i.i.i12.i.i.i.i171, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i165 - -if.then.i.i.i12.i.i.i.i171: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i161 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i162, ptr align 8 %57, i64 %sub.ptr.sub.i.i.i.i.i.i148, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i165 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i165: ; preds = %if.then.i.i.i12.i.i.i.i171, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i161 - %incdec.ptr.i.i.i.i166 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i163, i64 1 - %tobool.not.i.i.i.i.i167 = icmp eq ptr %57, null - br i1 %tobool.not.i.i.i.i.i167, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i169, label %if.then.i21.i.i.i.i168 - -if.then.i21.i.i.i.i168: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i165 +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i151: ; preds = %if.else.i.i.i146 + %sub.ptr.div.i.i.i.i.i.i152 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i149, 3 + %.sroa.speculated.i.i.i.i.i153 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i152, i64 1) + %add.i.i.i.i.i154 = add i64 %.sroa.speculated.i.i.i.i.i153, %sub.ptr.div.i.i.i.i.i.i152 + %cmp7.i.i.i.i.i155 = icmp ult i64 %add.i.i.i.i.i154, %sub.ptr.div.i.i.i.i.i.i152 + %cmp9.i.i.i.i.i156 = icmp ugt i64 %add.i.i.i.i.i154, 1152921504606846975 + %or.cond.i.i.i.i.i157 = or i1 %cmp7.i.i.i.i.i155, %cmp9.i.i.i.i.i156 + %cond.i.i.i.i.i158 = select i1 %or.cond.i.i.i.i.i157, i64 1152921504606846975, i64 %add.i.i.i.i.i154 + %cmp.not.i.i.i.i.i159 = icmp eq i64 %cond.i.i.i.i.i158, 0 + br i1 %cmp.not.i.i.i.i.i159, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i162, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i160 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i160: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i151 + %mul.i.i.i.i.i.i.i161 = shl nuw nsw i64 %cond.i.i.i.i.i158, 3 + %call5.i.i.i.i.i.i.i177 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i161) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i162 unwind label %lpad2.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i162: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i160, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i151 + %cond.i10.i.i.i.i163 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i151 ], [ %call5.i.i.i.i.i.i.i177, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i160 ] + %add.ptr.i.i.i.i164 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i163, i64 %sub.ptr.div.i.i.i.i.i.i152 + store ptr %53, ptr %add.ptr.i.i.i.i164, align 8 + %cmp.i.i.i11.i.i.i.i165 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i149, 0 + br i1 %cmp.i.i.i11.i.i.i.i165, label %if.then.i.i.i12.i.i.i.i173, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i166 + +if.then.i.i.i12.i.i.i.i173: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i162 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i163, ptr align 8 %57, i64 %sub.ptr.sub.i.i.i.i.i.i149, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i166 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i166: ; preds = %if.then.i.i.i12.i.i.i.i173, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i162 + %add.ptr.i.i.i.i.i.i.i167 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i163, i64 %sub.ptr.sub.i.i.i.i.i.i149 + %incdec.ptr.i.i.i.i168 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i167, i64 1 + %tobool.not.i.i.i.i.i169 = icmp eq ptr %57, null + br i1 %tobool.not.i.i.i.i.i169, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i171, label %if.then.i20.i.i.i.i170 + +if.then.i20.i.i.i.i170: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i166 call void @_ZdlPv(ptr noundef nonnull %57) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i169 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i171 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i169: ; preds = %if.then.i21.i.i.i.i168, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i165 - store ptr %cond.i10.i.i.i.i162, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i166, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i170 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i162, i64 %cond.i.i.i.i.i157 - store ptr %add.ptr19.i.i.i.i170, ptr %_M_end_of_storage.i.i.i, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i171: ; preds = %if.then.i20.i.i.i.i170, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i166 + store ptr %cond.i10.i.i.i.i163, ptr %refs, align 8 + store ptr %incdec.ptr.i.i.i.i168, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i172 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i163, i64 %cond.i.i.i.i.i158 + store ptr %add.ptr19.i.i.i.i172, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont57 -invoke.cont57: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i169, %if.then.i.i.i143, %invoke.cont54 - %58 = phi ptr [ %incdec.ptr.i.i.i.i166, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i169 ], [ %incdec.ptr.i.i.i144, %if.then.i.i.i143 ], [ %48, %invoke.cont54 ] - %call61 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i31.0330) +invoke.cont57: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i171, %if.then.i.i.i144, %invoke.cont54 + %58 = phi ptr [ %incdec.ptr.i.i.i.i168, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i171 ], [ %incdec.ptr.i.i.i145, %if.then.i.i.i144 ], [ %48, %invoke.cont54 ] + %call61 = invoke fastcc noundef ptr @_ZN4absl13cord_internal12_GLOBAL__N_111MakeHexFlatEm(i64 noundef %i31.0332) to label %invoke.cont60 unwind label %lpad2.loopexit invoke.cont60: ; preds = %invoke.cont57 store ptr %call61, ptr %ref.tmp59, align 8 - %call.i177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EE13emplace_frontIJS3_EEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(80) %flats, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) + %call.i179 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EE13emplace_frontIJS3_EEERS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(80) %flats, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) to label %invoke.cont62 unwind label %lpad2.loopexit invoke.cont62: ; preds = %invoke.cont60 %59 = load ptr, ptr %tree, align 8 %60 = load ptr, ptr %_M_start.i.i, align 8, !noalias !597 %61 = load ptr, ptr %60, align 8 - %tag.i.i180 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %61, i64 0, i32 2 - %62 = load i8, ptr %tag.i.i180, align 4 - %or.cond.i.i181 = icmp ugt i8 %62, 4 - br i1 %or.cond.i.i181, label %if.then.i190, label %if.end.i.i182 - -if.end.i.i182: ; preds = %invoke.cont62 - %cmp6.i.i183 = icmp eq i8 %62, 1 - br i1 %cmp6.i.i183, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i186, label %if.end.i184 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i186: ; preds = %if.end.i.i182 - %child.i.i187 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %61, i64 0, i32 2 - %63 = load ptr, ptr %child.i.i187, align 8 - %tag9.phi.trans.insert.i.i188 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %63, i64 0, i32 2 - %.pre.i.i189 = load i8, ptr %tag9.phi.trans.insert.i.i188, align 4 - %64 = icmp ugt i8 %.pre.i.i189, 4 - br i1 %64, label %if.then.i190, label %if.end.i184 - -if.then.i190: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i186, %invoke.cont62 - %call1.i192 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %59, ptr noundef nonnull %61) + %tag.i.i182 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %61, i64 0, i32 2 + %62 = load i8, ptr %tag.i.i182, align 4 + %or.cond.i.i183 = icmp ugt i8 %62, 4 + br i1 %or.cond.i.i183, label %if.then.i192, label %if.end.i.i184 + +if.end.i.i184: ; preds = %invoke.cont62 + %cmp6.i.i185 = icmp eq i8 %62, 1 + br i1 %cmp6.i.i185, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i188, label %if.end.i186 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i188: ; preds = %if.end.i.i184 + %child.i.i189 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %61, i64 0, i32 2 + %63 = load ptr, ptr %child.i.i189, align 8 + %tag9.phi.trans.insert.i.i190 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %63, i64 0, i32 2 + %.pre.i.i191 = load i8, ptr %tag9.phi.trans.insert.i.i190, align 4 + %64 = icmp ugt i8 %.pre.i.i191, 4 + br i1 %64, label %if.then.i192, label %if.end.i186 + +if.then.i192: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i188, %invoke.cont62 + %call1.i194 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %59, ptr noundef nonnull %61) to label %invoke.cont70 unwind label %lpad2.loopexit -if.end.i184: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i186, %if.end.i.i182 - %call2.i194 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %59, ptr noundef nonnull %61) +if.end.i186: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i188, %if.end.i.i184 + %call2.i196 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %59, ptr noundef nonnull %61) to label %invoke.cont70 unwind label %lpad2.loopexit -invoke.cont70: ; preds = %if.then.i190, %if.end.i184 - %retval.0.i185 = phi ptr [ %call1.i192, %if.then.i190 ], [ %call2.i194, %if.end.i184 ] - store ptr %retval.0.i185, ptr %result, align 8 +invoke.cont70: ; preds = %if.then.i192, %if.end.i186 + %retval.0.i187 = phi ptr [ %call1.i194, %if.then.i192 ], [ %call2.i196, %if.end.i186 ] + store ptr %retval.0.i187, ptr %result, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar66, i32 2, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont71 unwind label %lpad2.loopexit invoke.cont71: ; preds = %invoke.cont70 %65 = load i8, ptr %gtest_ar66, align 8 %66 = and i8 %65, 1 - %tobool.i196.not = icmp eq i8 %66, 0 - br i1 %tobool.i196.not, label %if.else74, label %cleanup.cont90.critedge + %tobool.i198.not = icmp eq i8 %66, 0 + br i1 %tobool.i198.not, label %if.else74, label %cleanup.cont90.critedge ehcleanup30: ; preds = %_ZN7testing7MessageD2Ev.exit59, %lpad21 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit59 ], [ %26, %lpad21 ] @@ -37126,17 +37141,17 @@ if.else74: ; preds = %invoke.cont71 to label %invoke.cont77 unwind label %lpad76 invoke.cont77: ; preds = %if.else74 - %67 = load ptr, ptr %message_.i217, align 8 - %cmp.i.i.not.i.i198 = icmp eq ptr %67, null - br i1 %cmp.i.i.not.i.i198, label %invoke.cont80, label %cond.true.i.i199 + %67 = load ptr, ptr %message_.i219, align 8 + %cmp.i.i.not.i.i200 = icmp eq ptr %67, null + br i1 %cmp.i.i.not.i.i200, label %invoke.cont80, label %cond.true.i.i201 -cond.true.i.i199: ; preds = %invoke.cont77 - %call4.i.i200 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #28 +cond.true.i.i201: ; preds = %invoke.cont77 + %call4.i.i202 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #28 br label %invoke.cont80 -invoke.cont80: ; preds = %cond.true.i.i199, %invoke.cont77 - %cond.i.i201 = phi ptr [ %call4.i.i200, %cond.true.i.i199 ], [ @.str.120, %invoke.cont77 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 579, ptr noundef %cond.i.i201) +invoke.cont80: ; preds = %cond.true.i.i201, %invoke.cont77 + %cond.i.i203 = phi ptr [ %call4.i.i202, %cond.true.i.i201 ], [ @.str.120, %invoke.cont77 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 579, ptr noundef %cond.i.i203) to label %invoke.cont82 unwind label %lpad79 invoke.cont82: ; preds = %invoke.cont80 @@ -37146,29 +37161,29 @@ invoke.cont82: ; preds = %invoke.cont80 invoke.cont84: ; preds = %invoke.cont82 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp78) #28 %68 = load ptr, ptr %ref.tmp75, align 8 - %cmp.not.i.i203 = icmp eq ptr %68, null - br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 + %cmp.not.i.i205 = icmp eq ptr %68, null + br i1 %cmp.not.i.i205, label %_ZN7testing7MessageD2Ev.exit209, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %invoke.cont84 - %vtable.i.i.i205 = load ptr, ptr %68, align 8 - %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 - %69 = load ptr, ptr %vfn.i.i.i206, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206: ; preds = %invoke.cont84 + %vtable.i.i.i207 = load ptr, ptr %68, align 8 + %vfn.i.i.i208 = getelementptr inbounds ptr, ptr %vtable.i.i.i207, i64 1 + %69 = load ptr, ptr %vfn.i.i.i208, align 8 call void %69(ptr noundef nonnull align 8 dereferenceable(128) %68) #28 - br label %_ZN7testing7MessageD2Ev.exit207 + br label %_ZN7testing7MessageD2Ev.exit209 -_ZN7testing7MessageD2Ev.exit207: ; preds = %invoke.cont84, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 +_ZN7testing7MessageD2Ev.exit209: ; preds = %invoke.cont84, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206 store ptr null, ptr %ref.tmp75, align 8 - %70 = load ptr, ptr %message_.i217, align 8 - %cmp.not.i.i209 = icmp eq ptr %70, null - br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + %70 = load ptr, ptr %message_.i219, align 8 + %cmp.not.i.i211 = icmp eq ptr %70, null + br i1 %cmp.not.i.i211, label %_ZN7testing15AssertionResultD2Ev.exit213, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %_ZN7testing7MessageD2Ev.exit207 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212: ; preds = %_ZN7testing7MessageD2Ev.exit209 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #28 call void @_ZdlPv(ptr noundef nonnull %70) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit211 + br label %_ZN7testing15AssertionResultD2Ev.exit213 -_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %_ZN7testing7MessageD2Ev.exit207, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 - store ptr null, ptr %message_.i217, align 8 +_ZN7testing15AssertionResultD2Ev.exit213: ; preds = %_ZN7testing7MessageD2Ev.exit209, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 + store ptr null, ptr %message_.i219, align 8 br label %cleanup173 lpad76: ; preds = %if.else74 @@ -37190,53 +37205,53 @@ lpad83: ; preds = %invoke.cont82 ehcleanup86: ; preds = %lpad83, %lpad79 %.pn17 = phi { ptr, i32 } [ %73, %lpad83 ], [ %72, %lpad79 ] %74 = load ptr, ptr %ref.tmp75, align 8 - %cmp.not.i.i212 = icmp eq ptr %74, null - br i1 %cmp.not.i.i212, label %_ZN7testing7MessageD2Ev.exit216, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213 + %cmp.not.i.i214 = icmp eq ptr %74, null + br i1 %cmp.not.i.i214, label %_ZN7testing7MessageD2Ev.exit218, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213: ; preds = %ehcleanup86 - %vtable.i.i.i214 = load ptr, ptr %74, align 8 - %vfn.i.i.i215 = getelementptr inbounds ptr, ptr %vtable.i.i.i214, i64 1 - %75 = load ptr, ptr %vfn.i.i.i215, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215: ; preds = %ehcleanup86 + %vtable.i.i.i216 = load ptr, ptr %74, align 8 + %vfn.i.i.i217 = getelementptr inbounds ptr, ptr %vtable.i.i.i216, i64 1 + %75 = load ptr, ptr %vfn.i.i.i217, align 8 call void %75(ptr noundef nonnull align 8 dereferenceable(128) %74) #28 - br label %_ZN7testing7MessageD2Ev.exit216 + br label %_ZN7testing7MessageD2Ev.exit218 -_ZN7testing7MessageD2Ev.exit216: ; preds = %ehcleanup86, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213 +_ZN7testing7MessageD2Ev.exit218: ; preds = %ehcleanup86, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215 store ptr null, ptr %ref.tmp75, align 8 br label %ehcleanup91 cleanup.cont90.critedge: ; preds = %invoke.cont71 - %76 = load ptr, ptr %message_.i217, align 8 - %cmp.not.i.i218 = icmp eq ptr %76, null - br i1 %cmp.not.i.i218, label %cleanup.cont90, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i219 + %76 = load ptr, ptr %message_.i219, align 8 + %cmp.not.i.i220 = icmp eq ptr %76, null + br i1 %cmp.not.i.i220, label %cleanup.cont90, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i219: ; preds = %cleanup.cont90.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221: ; preds = %cleanup.cont90.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #28 call void @_ZdlPv(ptr noundef nonnull %76) #31 br label %cleanup.cont90 -cleanup.cont90: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i219, %cleanup.cont90.critedge - store ptr null, ptr %message_.i217, align 8 - %call.i222 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() +cleanup.cont90: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221, %cleanup.cont90.critedge + store ptr null, ptr %message_.i219, align 8 + %call.i224 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont111 unwind label %lpad2.loopexit invoke.cont111: ; preds = %cleanup.cont90 - %77 = load i8, ptr %call.i222, align 1 + %77 = load i8, ptr %call.i224, align 1 %78 = and i8 %77, 1 %79 = load ptr, ptr %tree, align 8 store i8 %78, ptr %ref.tmp93, align 8 - store ptr %79, ptr %agg.tmp94224.sroa.5.0.ref.tmp93.sroa_idx, align 8 - store ptr %79, ptr %agg.tmp94224.sroa.6.0.ref.tmp93.sroa_idx, align 8 + store ptr %79, ptr %agg.tmp94226.sroa.5.0.ref.tmp93.sroa_idx, align 8 + store ptr %79, ptr %agg.tmp94226.sroa.6.0.ref.tmp93.sroa_idx, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ConditionalMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEENS0_9EqMatcherIS7_EEEEEclIS7_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar92, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp93, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont112 unwind label %lpad2.loopexit invoke.cont112: ; preds = %invoke.cont111 %80 = load i8, ptr %gtest_ar92, align 8 %81 = and i8 %80, 1 - %tobool.i225.not = icmp eq i8 %81, 0 - br i1 %tobool.i225.not, label %if.else115, label %cleanup.cont131.critedge + %tobool.i227.not = icmp eq i8 %81, 0 + br i1 %tobool.i227.not, label %if.else115, label %cleanup.cont131.critedge -ehcleanup91: ; preds = %_ZN7testing7MessageD2Ev.exit216, %lpad76 - %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit216 ], [ %71, %lpad76 ] +ehcleanup91: ; preds = %_ZN7testing7MessageD2Ev.exit218, %lpad76 + %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit218 ], [ %71, %lpad76 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar66) #28 br label %ehcleanup174 @@ -37245,17 +37260,17 @@ if.else115: ; preds = %invoke.cont112 to label %invoke.cont118 unwind label %lpad117 invoke.cont118: ; preds = %if.else115 - %82 = load ptr, ptr %message_.i246, align 8 - %cmp.i.i.not.i.i227 = icmp eq ptr %82, null - br i1 %cmp.i.i.not.i.i227, label %invoke.cont121, label %cond.true.i.i228 + %82 = load ptr, ptr %message_.i248, align 8 + %cmp.i.i.not.i.i229 = icmp eq ptr %82, null + br i1 %cmp.i.i.not.i.i229, label %invoke.cont121, label %cond.true.i.i230 -cond.true.i.i228: ; preds = %invoke.cont118 - %call4.i.i229 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %82) #28 +cond.true.i.i230: ; preds = %invoke.cont118 + %call4.i.i231 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %82) #28 br label %invoke.cont121 -invoke.cont121: ; preds = %cond.true.i.i228, %invoke.cont118 - %cond.i.i230 = phi ptr [ %call4.i.i229, %cond.true.i.i228 ], [ @.str.120, %invoke.cont118 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp119, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 580, ptr noundef %cond.i.i230) +invoke.cont121: ; preds = %cond.true.i.i230, %invoke.cont118 + %cond.i.i232 = phi ptr [ %call4.i.i231, %cond.true.i.i230 ], [ @.str.120, %invoke.cont118 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp119, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 580, ptr noundef %cond.i.i232) to label %invoke.cont123 unwind label %lpad120 invoke.cont123: ; preds = %invoke.cont121 @@ -37265,29 +37280,29 @@ invoke.cont123: ; preds = %invoke.cont121 invoke.cont125: ; preds = %invoke.cont123 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp119) #28 %83 = load ptr, ptr %ref.tmp116, align 8 - %cmp.not.i.i232 = icmp eq ptr %83, null - br i1 %cmp.not.i.i232, label %_ZN7testing7MessageD2Ev.exit236, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233 + %cmp.not.i.i234 = icmp eq ptr %83, null + br i1 %cmp.not.i.i234, label %_ZN7testing7MessageD2Ev.exit238, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i235 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233: ; preds = %invoke.cont125 - %vtable.i.i.i234 = load ptr, ptr %83, align 8 - %vfn.i.i.i235 = getelementptr inbounds ptr, ptr %vtable.i.i.i234, i64 1 - %84 = load ptr, ptr %vfn.i.i.i235, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i235: ; preds = %invoke.cont125 + %vtable.i.i.i236 = load ptr, ptr %83, align 8 + %vfn.i.i.i237 = getelementptr inbounds ptr, ptr %vtable.i.i.i236, i64 1 + %84 = load ptr, ptr %vfn.i.i.i237, align 8 call void %84(ptr noundef nonnull align 8 dereferenceable(128) %83) #28 - br label %_ZN7testing7MessageD2Ev.exit236 + br label %_ZN7testing7MessageD2Ev.exit238 -_ZN7testing7MessageD2Ev.exit236: ; preds = %invoke.cont125, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233 +_ZN7testing7MessageD2Ev.exit238: ; preds = %invoke.cont125, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i235 store ptr null, ptr %ref.tmp116, align 8 - %85 = load ptr, ptr %message_.i246, align 8 - %cmp.not.i.i238 = icmp eq ptr %85, null - br i1 %cmp.not.i.i238, label %_ZN7testing15AssertionResultD2Ev.exit240, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239 + %85 = load ptr, ptr %message_.i248, align 8 + %cmp.not.i.i240 = icmp eq ptr %85, null + br i1 %cmp.not.i.i240, label %_ZN7testing15AssertionResultD2Ev.exit242, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239: ; preds = %_ZN7testing7MessageD2Ev.exit236 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241: ; preds = %_ZN7testing7MessageD2Ev.exit238 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #28 call void @_ZdlPv(ptr noundef nonnull %85) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit240 + br label %_ZN7testing15AssertionResultD2Ev.exit242 -_ZN7testing15AssertionResultD2Ev.exit240: ; preds = %_ZN7testing7MessageD2Ev.exit236, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239 - store ptr null, ptr %message_.i246, align 8 +_ZN7testing15AssertionResultD2Ev.exit242: ; preds = %_ZN7testing7MessageD2Ev.exit238, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241 + store ptr null, ptr %message_.i248, align 8 br label %cleanup173 lpad117: ; preds = %if.else115 @@ -37309,32 +37324,32 @@ lpad124: ; preds = %invoke.cont123 ehcleanup127: ; preds = %lpad124, %lpad120 %.pn20 = phi { ptr, i32 } [ %88, %lpad124 ], [ %87, %lpad120 ] %89 = load ptr, ptr %ref.tmp116, align 8 - %cmp.not.i.i241 = icmp eq ptr %89, null - br i1 %cmp.not.i.i241, label %_ZN7testing7MessageD2Ev.exit245, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 + %cmp.not.i.i243 = icmp eq ptr %89, null + br i1 %cmp.not.i.i243, label %_ZN7testing7MessageD2Ev.exit247, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242: ; preds = %ehcleanup127 - %vtable.i.i.i243 = load ptr, ptr %89, align 8 - %vfn.i.i.i244 = getelementptr inbounds ptr, ptr %vtable.i.i.i243, i64 1 - %90 = load ptr, ptr %vfn.i.i.i244, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244: ; preds = %ehcleanup127 + %vtable.i.i.i245 = load ptr, ptr %89, align 8 + %vfn.i.i.i246 = getelementptr inbounds ptr, ptr %vtable.i.i.i245, i64 1 + %90 = load ptr, ptr %vfn.i.i.i246, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #28 - br label %_ZN7testing7MessageD2Ev.exit245 + br label %_ZN7testing7MessageD2Ev.exit247 -_ZN7testing7MessageD2Ev.exit245: ; preds = %ehcleanup127, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 +_ZN7testing7MessageD2Ev.exit247: ; preds = %ehcleanup127, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244 store ptr null, ptr %ref.tmp116, align 8 br label %ehcleanup132 cleanup.cont131.critedge: ; preds = %invoke.cont112 - %91 = load ptr, ptr %message_.i246, align 8 - %cmp.not.i.i247 = icmp eq ptr %91, null - br i1 %cmp.not.i.i247, label %cleanup.cont131, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i248 + %91 = load ptr, ptr %message_.i248, align 8 + %cmp.not.i.i249 = icmp eq ptr %91, null + br i1 %cmp.not.i.i249, label %cleanup.cont131, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i248: ; preds = %cleanup.cont131.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250: ; preds = %cleanup.cont131.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #28 call void @_ZdlPv(ptr noundef nonnull %91) #31 br label %cleanup.cont131 -cleanup.cont131: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i248, %cleanup.cont131.critedge - store ptr null, ptr %message_.i246, align 8 +cleanup.cont131: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250, %cleanup.cont131.critedge + store ptr null, ptr %message_.i248, align 8 %92 = load ptr, ptr %result, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !600) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %edges, i8 0, i64 24, i1 false), !alias.scope !600 @@ -37382,79 +37397,77 @@ invoke.cont138: ; preds = %invoke.cont133 cond.true.i.i.i.i.i.i: ; preds = %invoke.cont138 %cmp.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %cond.true.i.i.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i invoke void @_ZSt28__throw_bad_array_new_lengthv() #29 - to label %.noexc256 unwind label %lpad139.loopexit.split-lp + to label %.noexc258 unwind label %lpad139.loopexit.split-lp -.noexc256: ; preds = %if.then3.i.i.i.i.i.i.i.i +.noexc258: ; preds = %if.then3.i.i.i.i.i.i.i.i unreachable invoke.cont.thread.i: ; preds = %invoke.cont138 - %sub.ptr.div.i.i.i.i19.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i store i64 0, ptr %ref.tmp135, align 8, !alias.scope !614 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !614 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !614 br label %invoke.cont140 -cond.true.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i - %call5.i.i.i.i2.i6.i.i.i257 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i + %call5.i.i.i.i2.i6.i.i.i259 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 to label %call5.i.i.i.i2.i6.i.i.i.noexc unwind label %lpad139.loopexit -call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %cond.true.i.i.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i257, ptr align 8 %100, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !614 +call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i259, ptr align 8 %100, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !614 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp135, i8 0, i64 24, i1 false), !alias.scope !614 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i) #30 - to label %if.then.i.i.i.i.i255 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !614 + to label %if.then.i.i.i.i.i257 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !614 -if.then.i.i.i.i.i255: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i, 3 +if.then.i.i.i.i.i257: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp135, align 8, !alias.scope !614 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !614 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i257, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !614 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i259, i64 %sub.ptr.sub.i.i.i.i, i1 false), !noalias !614 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !614 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i257) #31, !noalias !614 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i259) #31, !noalias !614 br label %invoke.cont140 _ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc %101 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i257) #31, !noalias !614 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i259) #31, !noalias !614 br label %ehcleanup144 -invoke.cont140: ; preds = %if.then.i.i.i.i.i255, %invoke.cont.thread.i +invoke.cont140: ; preds = %if.then.i.i.i.i.i257, %invoke.cont.thread.i invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEEclISt6vectorIS6_SaIS6_EEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar134, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp135, ptr noundef nonnull @.str.185, ptr noundef nonnull align 8 dereferenceable(24) %edges) to label %invoke.cont142 unwind label %lpad141 invoke.cont142: ; preds = %invoke.cont140 %102 = load ptr, ptr %ref.tmp135, align 8 - %tobool.not.i.i.i.i.i259 = icmp eq ptr %102, null - br i1 %tobool.not.i.i.i.i.i259, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i260 + %tobool.not.i.i.i.i.i261 = icmp eq ptr %102, null + br i1 %tobool.not.i.i.i.i.i261, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i262 -if.then.i.i.i.i.i260: ; preds = %invoke.cont142 +if.then.i.i.i.i.i262: ; preds = %invoke.cont142 call void @_ZdlPv(ptr noundef nonnull %102) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont142, %if.then.i.i.i.i.i260 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont142, %if.then.i.i.i.i.i262 %103 = load ptr, ptr %agg.tmp136, align 8 - %tobool.not.i.i.i.i261 = icmp eq ptr %103, null - br i1 %tobool.not.i.i.i.i261, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i262 + %tobool.not.i.i.i.i263 = icmp eq ptr %103, null + br i1 %tobool.not.i.i.i.i263, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i264 -if.then.i.i.i.i262: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit +if.then.i.i.i.i264: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %103) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i262 +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i264 %104 = load i8, ptr %gtest_ar134, align 8 %105 = and i8 %104, 1 - %tobool.i264.not = icmp eq i8 %105, 0 - br i1 %tobool.i264.not, label %if.else147, label %cleanup.cont163.critedge + %tobool.i266.not = icmp eq i8 %105, 0 + br i1 %tobool.i266.not, label %if.else147, label %cleanup.cont163.critedge -ehcleanup132: ; preds = %_ZN7testing7MessageD2Ev.exit245, %lpad117 - %.pn20.pn = phi { ptr, i32 } [ %.pn20, %_ZN7testing7MessageD2Ev.exit245 ], [ %86, %lpad117 ] +ehcleanup132: ; preds = %_ZN7testing7MessageD2Ev.exit247, %lpad117 + %.pn20.pn = phi { ptr, i32 } [ %.pn20, %_ZN7testing7MessageD2Ev.exit247 ], [ %86, %lpad117 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar92) #28 br label %ehcleanup174 @@ -37463,13 +37476,13 @@ lpad137: ; preds = %invoke.cont133 cleanup br label %ehcleanup168 -lpad139.loopexit: ; preds = %cond.true.i.i.i.i.i.i.i - %lpad.loopexit323 = landingpad { ptr, i32 } +lpad139.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i + %lpad.loopexit325 = landingpad { ptr, i32 } cleanup br label %ehcleanup144 lpad139.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i.i.i - %lpad.loopexit.split-lp324 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp326 = landingpad { ptr, i32 } cleanup br label %ehcleanup144 @@ -37477,20 +37490,20 @@ lpad141: ; preds = %invoke.cont140 %107 = landingpad { ptr, i32 } cleanup %108 = load ptr, ptr %ref.tmp135, align 8 - %tobool.not.i.i.i.i.i265 = icmp eq ptr %108, null - br i1 %tobool.not.i.i.i.i.i265, label %ehcleanup144, label %if.then.i.i.i.i.i266 + %tobool.not.i.i.i.i.i267 = icmp eq ptr %108, null + br i1 %tobool.not.i.i.i.i.i267, label %ehcleanup144, label %if.then.i.i.i.i.i268 -if.then.i.i.i.i.i266: ; preds = %lpad141 +if.then.i.i.i.i.i268: ; preds = %lpad141 call void @_ZdlPv(ptr noundef nonnull %108) #31 br label %ehcleanup144 -ehcleanup144: ; preds = %lpad139.loopexit, %lpad139.loopexit.split-lp, %if.then.i.i.i.i.i266, %lpad141, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i - %.pn23 = phi { ptr, i32 } [ %101, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ], [ %107, %lpad141 ], [ %107, %if.then.i.i.i.i.i266 ], [ %lpad.loopexit323, %lpad139.loopexit ], [ %lpad.loopexit.split-lp324, %lpad139.loopexit.split-lp ] +ehcleanup144: ; preds = %lpad139.loopexit, %lpad139.loopexit.split-lp, %if.then.i.i.i.i.i268, %lpad141, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i + %.pn23 = phi { ptr, i32 } [ %101, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ], [ %107, %lpad141 ], [ %107, %if.then.i.i.i.i.i268 ], [ %lpad.loopexit325, %lpad139.loopexit ], [ %lpad.loopexit.split-lp326, %lpad139.loopexit.split-lp ] %109 = load ptr, ptr %agg.tmp136, align 8 - %tobool.not.i.i.i.i268 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i268, label %ehcleanup168, label %if.then.i.i.i.i269 + %tobool.not.i.i.i.i270 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i270, label %ehcleanup168, label %if.then.i.i.i.i271 -if.then.i.i.i.i269: ; preds = %ehcleanup144 +if.then.i.i.i.i271: ; preds = %ehcleanup144 call void @_ZdlPv(ptr noundef nonnull %109) #31 br label %ehcleanup168 @@ -37499,17 +37512,17 @@ if.else147: ; preds = %_ZN7testing8interna to label %invoke.cont150 unwind label %lpad149 invoke.cont150: ; preds = %if.else147 - %110 = load ptr, ptr %message_.i292, align 8 - %cmp.i.i.not.i.i273 = icmp eq ptr %110, null - br i1 %cmp.i.i.not.i.i273, label %invoke.cont153, label %cond.true.i.i274 + %110 = load ptr, ptr %message_.i294, align 8 + %cmp.i.i.not.i.i275 = icmp eq ptr %110, null + br i1 %cmp.i.i.not.i.i275, label %invoke.cont153, label %cond.true.i.i276 -cond.true.i.i274: ; preds = %invoke.cont150 - %call4.i.i275 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %110) #28 +cond.true.i.i276: ; preds = %invoke.cont150 + %call4.i.i277 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %110) #28 br label %invoke.cont153 -invoke.cont153: ; preds = %cond.true.i.i274, %invoke.cont150 - %cond.i.i276 = phi ptr [ %call4.i.i275, %cond.true.i.i274 ], [ @.str.120, %invoke.cont150 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp151, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 582, ptr noundef %cond.i.i276) +invoke.cont153: ; preds = %cond.true.i.i276, %invoke.cont150 + %cond.i.i278 = phi ptr [ %call4.i.i277, %cond.true.i.i276 ], [ @.str.120, %invoke.cont150 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp151, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 582, ptr noundef %cond.i.i278) to label %invoke.cont155 unwind label %lpad152 invoke.cont155: ; preds = %invoke.cont153 @@ -37519,23 +37532,23 @@ invoke.cont155: ; preds = %invoke.cont153 invoke.cont157: ; preds = %invoke.cont155 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp151) #28 %111 = load ptr, ptr %ref.tmp148, align 8 - %cmp.not.i.i278 = icmp eq ptr %111, null - br i1 %cmp.not.i.i278, label %_ZN7testing7MessageD2Ev.exit282, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279 + %cmp.not.i.i280 = icmp eq ptr %111, null + br i1 %cmp.not.i.i280, label %_ZN7testing7MessageD2Ev.exit284, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i281 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279: ; preds = %invoke.cont157 - %vtable.i.i.i280 = load ptr, ptr %111, align 8 - %vfn.i.i.i281 = getelementptr inbounds ptr, ptr %vtable.i.i.i280, i64 1 - %112 = load ptr, ptr %vfn.i.i.i281, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i281: ; preds = %invoke.cont157 + %vtable.i.i.i282 = load ptr, ptr %111, align 8 + %vfn.i.i.i283 = getelementptr inbounds ptr, ptr %vtable.i.i.i282, i64 1 + %112 = load ptr, ptr %vfn.i.i.i283, align 8 call void %112(ptr noundef nonnull align 8 dereferenceable(128) %111) #28 - br label %_ZN7testing7MessageD2Ev.exit282 + br label %_ZN7testing7MessageD2Ev.exit284 -_ZN7testing7MessageD2Ev.exit282: ; preds = %invoke.cont157, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279 +_ZN7testing7MessageD2Ev.exit284: ; preds = %invoke.cont157, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i281 store ptr null, ptr %ref.tmp148, align 8 - %113 = load ptr, ptr %message_.i292, align 8 - %cmp.not.i.i284 = icmp eq ptr %113, null - br i1 %cmp.not.i.i284, label %cleanup173.critedge, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i285 + %113 = load ptr, ptr %message_.i294, align 8 + %cmp.not.i.i286 = icmp eq ptr %113, null + br i1 %cmp.not.i.i286, label %cleanup173.critedge, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i287 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i285: ; preds = %_ZN7testing7MessageD2Ev.exit282 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i287: ; preds = %_ZN7testing7MessageD2Ev.exit284 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #28 call void @_ZdlPv(ptr noundef nonnull %113) #31 br label %cleanup173.critedge @@ -37559,59 +37572,59 @@ lpad156: ; preds = %invoke.cont155 ehcleanup159: ; preds = %lpad156, %lpad152 %.pn25 = phi { ptr, i32 } [ %116, %lpad156 ], [ %115, %lpad152 ] %117 = load ptr, ptr %ref.tmp148, align 8 - %cmp.not.i.i287 = icmp eq ptr %117, null - br i1 %cmp.not.i.i287, label %_ZN7testing7MessageD2Ev.exit291, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 + %cmp.not.i.i289 = icmp eq ptr %117, null + br i1 %cmp.not.i.i289, label %_ZN7testing7MessageD2Ev.exit293, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288: ; preds = %ehcleanup159 - %vtable.i.i.i289 = load ptr, ptr %117, align 8 - %vfn.i.i.i290 = getelementptr inbounds ptr, ptr %vtable.i.i.i289, i64 1 - %118 = load ptr, ptr %vfn.i.i.i290, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290: ; preds = %ehcleanup159 + %vtable.i.i.i291 = load ptr, ptr %117, align 8 + %vfn.i.i.i292 = getelementptr inbounds ptr, ptr %vtable.i.i.i291, i64 1 + %118 = load ptr, ptr %vfn.i.i.i292, align 8 call void %118(ptr noundef nonnull align 8 dereferenceable(128) %117) #28 - br label %_ZN7testing7MessageD2Ev.exit291 + br label %_ZN7testing7MessageD2Ev.exit293 -_ZN7testing7MessageD2Ev.exit291: ; preds = %ehcleanup159, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 +_ZN7testing7MessageD2Ev.exit293: ; preds = %ehcleanup159, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290 store ptr null, ptr %ref.tmp148, align 8 br label %ehcleanup164 cleanup.cont163.critedge: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit - %119 = load ptr, ptr %message_.i292, align 8 - %cmp.not.i.i293 = icmp eq ptr %119, null - br i1 %cmp.not.i.i293, label %_ZN7testing15AssertionResultD2Ev.exit295, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 + %119 = load ptr, ptr %message_.i294, align 8 + %cmp.not.i.i295 = icmp eq ptr %119, null + br i1 %cmp.not.i.i295, label %_ZN7testing15AssertionResultD2Ev.exit297, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i296 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294: ; preds = %cleanup.cont163.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i296: ; preds = %cleanup.cont163.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #28 call void @_ZdlPv(ptr noundef nonnull %119) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit295 + br label %_ZN7testing15AssertionResultD2Ev.exit297 -_ZN7testing15AssertionResultD2Ev.exit295: ; preds = %cleanup.cont163.critedge, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 - store ptr null, ptr %message_.i292, align 8 +_ZN7testing15AssertionResultD2Ev.exit297: ; preds = %cleanup.cont163.critedge, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i296 + store ptr null, ptr %message_.i294, align 8 %120 = load ptr, ptr %result, align 8 store ptr %120, ptr %tree, align 8 %121 = load ptr, ptr %edges, align 8 %tobool.not.i.i.i = icmp eq ptr %121, null - br i1 %tobool.not.i.i.i, label %for.inc169, label %if.then.i.i.i296 + br i1 %tobool.not.i.i.i, label %for.inc169, label %if.then.i.i.i298 -if.then.i.i.i296: ; preds = %_ZN7testing15AssertionResultD2Ev.exit295 +if.then.i.i.i298: ; preds = %_ZN7testing15AssertionResultD2Ev.exit297 call void @_ZdlPv(ptr noundef nonnull %121) #31 br label %for.inc169 -for.inc169: ; preds = %if.then.i.i.i296, %_ZN7testing15AssertionResultD2Ev.exit295 - %inc170 = add nuw nsw i64 %i31.0330, 1 - %exitcond331.not = icmp eq i64 %inc170, 216 - br i1 %exitcond331.not, label %for.end171, label %for.body34, !llvm.loop !617 +for.inc169: ; preds = %if.then.i.i.i298, %_ZN7testing15AssertionResultD2Ev.exit297 + %inc170 = add nuw nsw i64 %i31.0332, 1 + %exitcond333.not = icmp eq i64 %inc170, 216 + br i1 %exitcond333.not, label %for.end171, label %for.body34, !llvm.loop !617 -ehcleanup164: ; preds = %_ZN7testing7MessageD2Ev.exit291, %lpad149 - %.pn25.pn = phi { ptr, i32 } [ %.pn25, %_ZN7testing7MessageD2Ev.exit291 ], [ %114, %lpad149 ] +ehcleanup164: ; preds = %_ZN7testing7MessageD2Ev.exit293, %lpad149 + %.pn25.pn = phi { ptr, i32 } [ %.pn25, %_ZN7testing7MessageD2Ev.exit293 ], [ %114, %lpad149 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar134) #28 br label %ehcleanup168 -ehcleanup168: ; preds = %if.then.i.i.i.i269, %ehcleanup144, %ehcleanup164, %lpad137 - %.pn25.pn.pn = phi { ptr, i32 } [ %.pn25.pn, %ehcleanup164 ], [ %106, %lpad137 ], [ %.pn23, %ehcleanup144 ], [ %.pn23, %if.then.i.i.i.i269 ] +ehcleanup168: ; preds = %if.then.i.i.i.i271, %ehcleanup144, %ehcleanup164, %lpad137 + %.pn25.pn.pn = phi { ptr, i32 } [ %.pn25.pn, %ehcleanup164 ], [ %106, %lpad137 ], [ %.pn23, %ehcleanup144 ], [ %.pn23, %if.then.i.i.i.i271 ] %122 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i300 = icmp eq ptr %122, null - br i1 %tobool.not.i.i.i300, label %ehcleanup174, label %if.then.i.i.i301 + %tobool.not.i.i.i302 = icmp eq ptr %122, null + br i1 %tobool.not.i.i.i302, label %ehcleanup174, label %if.then.i.i.i303 -if.then.i.i.i301: ; preds = %ehcleanup168 +if.then.i.i.i303: ; preds = %ehcleanup168 call void @_ZdlPv(ptr noundef nonnull %122) #31 br label %ehcleanup174 @@ -37620,76 +37633,76 @@ for.end171: ; preds = %for.inc169 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %123, i64 0, i32 1 %124 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %124, 2 - br i1 %cmp.i.not.i, label %if.then.i304, label %cleanup173 + br i1 %cmp.i.not.i, label %if.then.i306, label %cleanup173 -if.then.i304: ; preds = %for.end171 +if.then.i306: ; preds = %for.end171 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %123) to label %cleanup173 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp -cleanup173.critedge: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i285, %_ZN7testing7MessageD2Ev.exit282 - store ptr null, ptr %message_.i292, align 8 +cleanup173.critedge: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i287, %_ZN7testing7MessageD2Ev.exit284 + store ptr null, ptr %message_.i294, align 8 %125 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i306 = icmp eq ptr %125, null - br i1 %tobool.not.i.i.i306, label %cleanup173, label %if.then.i.i.i307 + %tobool.not.i.i.i308 = icmp eq ptr %125, null + br i1 %tobool.not.i.i.i308, label %cleanup173, label %if.then.i.i.i309 -if.then.i.i.i307: ; preds = %cleanup173.critedge +if.then.i.i.i309: ; preds = %cleanup173.critedge call void @_ZdlPv(ptr noundef nonnull %125) #31 br label %cleanup173 -cleanup173: ; preds = %if.then.i.i.i307, %cleanup173.critedge, %for.end171, %if.then.i304, %_ZN7testing15AssertionResultD2Ev.exit240, %_ZN7testing15AssertionResultD2Ev.exit211, %_ZN7testing15AssertionResultD2Ev.exit +cleanup173: ; preds = %if.then.i.i.i309, %cleanup173.critedge, %for.end171, %if.then.i306, %_ZN7testing15AssertionResultD2Ev.exit242, %_ZN7testing15AssertionResultD2Ev.exit213, %_ZN7testing15AssertionResultD2Ev.exit %126 = load ptr, ptr %flats, align 8 %tobool.not.i.i = icmp eq ptr %126, null - br i1 %tobool.not.i.i, label %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i309 + br i1 %tobool.not.i.i, label %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i311 -if.then.i.i309: ; preds = %cleanup173 +if.then.i.i311: ; preds = %cleanup173 %_M_node5.i.i6.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %flats, i64 0, i32 3, i32 3 - %_M_node5.i.i.i310 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %flats, i64 0, i32 2, i32 3 - %127 = load ptr, ptr %_M_node5.i.i.i310, align 8 + %_M_node5.i.i.i312 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %flats, i64 0, i32 2, i32 3 + %127 = load ptr, ptr %_M_node5.i.i.i312, align 8 %128 = load ptr, ptr %_M_node5.i.i6.i, align 8 - %add.ptr.i.i311 = getelementptr inbounds ptr, ptr %128, i64 1 - %cmp3.i.i.i = icmp ult ptr %127, %add.ptr.i.i311 + %add.ptr.i.i313 = getelementptr inbounds ptr, ptr %128, i64 1 + %cmp3.i.i.i = icmp ult ptr %127, %add.ptr.i.i313 br i1 %cmp3.i.i.i, label %for.body.i.i.i, label %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i -for.body.i.i.i: ; preds = %if.then.i.i309, %for.body.i.i.i - %__n.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i312, %for.body.i.i.i ], [ %127, %if.then.i.i309 ] +for.body.i.i.i: ; preds = %if.then.i.i311, %for.body.i.i.i + %__n.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i314, %for.body.i.i.i ], [ %127, %if.then.i.i311 ] %129 = load ptr, ptr %__n.04.i.i.i, align 8 call void @_ZdlPv(ptr noundef %129) #31 - %incdec.ptr.i.i.i312 = getelementptr inbounds ptr, ptr %__n.04.i.i.i, i64 1 + %incdec.ptr.i.i.i314 = getelementptr inbounds ptr, ptr %__n.04.i.i.i, i64 1 %cmp.i.i.i = icmp ult ptr %__n.04.i.i.i, %128 br i1 %cmp.i.i.i, label %for.body.i.i.i, label %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i, !llvm.loop !343 _ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i: ; preds = %for.body.i.i.i - %.pre.i.i313 = load ptr, ptr %flats, align 8 + %.pre.i.i315 = load ptr, ptr %flats, align 8 br label %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i -_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i: ; preds = %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i, %if.then.i.i309 - %130 = phi ptr [ %.pre.i.i313, %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i ], [ %126, %if.then.i.i309 ] +_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i: ; preds = %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i, %if.then.i.i311 + %130 = phi ptr [ %.pre.i.i315, %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.loopexit.i.i ], [ %126, %if.then.i.i311 ] call void @_ZdlPv(ptr noundef %130) #31 br label %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit _ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %cleanup173, %_ZNSt11_Deque_baseIPN4absl13cord_internal7CordRepESaIS3_EE16_M_destroy_nodesEPPS3_S7_.exit.i.i %131 = load ptr, ptr %refs, align 8 - %_M_finish.i.i314 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 - %132 = load ptr, ptr %_M_finish.i.i314, align 8 + %_M_finish.i.i316 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 + %132 = load ptr, ptr %_M_finish.i.i316, align 8 %cmp.i.not4.i = icmp eq ptr %131, %132 br i1 %cmp.i.not4.i, label %for.end.i, label %for.body.i for.body.i: ; preds = %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i316, %for.inc.i ], [ %131, %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i318, %for.inc.i ], [ %131, %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] %133 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i315 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %133, i64 0, i32 1 - %134 = atomicrmw sub ptr %refcount.i.i315, i32 2 acq_rel, align 4 + %refcount.i.i317 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %133, i64 0, i32 1 + %134 = atomicrmw sub ptr %refcount.i.i317, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %134, 2 - br i1 %cmp.i.not.i.i, label %if.then.i.i321, label %for.inc.i + br i1 %cmp.i.not.i.i, label %if.then.i.i323, label %for.inc.i -if.then.i.i321: ; preds = %for.body.i +if.then.i.i323: ; preds = %for.body.i invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %133) to label %for.inc.i unwind label %terminate.lpad.i -for.inc.i: ; preds = %if.then.i.i321, %for.body.i - %incdec.ptr.i.i316 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i317 = icmp eq ptr %incdec.ptr.i.i316, %132 - br i1 %cmp.i.not.i317, label %for.end.loopexit.i, label %for.body.i +for.inc.i: ; preds = %if.then.i.i323, %for.body.i + %incdec.ptr.i.i318 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 + %cmp.i.not.i319 = icmp eq ptr %incdec.ptr.i.i318, %132 + br i1 %cmp.i.not.i319, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 @@ -37697,25 +37710,25 @@ for.end.loopexit.i: ; preds = %for.inc.i for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit %135 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %131, %_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] - %tobool.not.i.i.i.i318 = icmp eq ptr %135, null - br i1 %tobool.not.i.i.i.i318, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i319 + %tobool.not.i.i.i.i320 = icmp eq ptr %135, null + br i1 %tobool.not.i.i.i.i320, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i321 -if.then.i.i.i.i319: ; preds = %for.end.i +if.then.i.i.i.i321: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %135) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit -terminate.lpad.i: ; preds = %if.then.i.i321 +terminate.lpad.i: ; preds = %if.then.i.i323 %136 = landingpad { ptr, i32 } catch ptr null %137 = extractvalue { ptr, i32 } %136, 0 call void @__clang_call_terminate(ptr %137) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i319 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i321 ret void -ehcleanup174: ; preds = %lpad2.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp, %lpad2.loopexit.split-lp.loopexit, %if.then.i.i.i301, %ehcleanup168, %lpad.i, %if.then.i.i.i.i, %ehcleanup132, %ehcleanup91, %ehcleanup30 - %.pn29 = phi { ptr, i32 } [ %.pn20.pn, %ehcleanup132 ], [ %.pn17.pn, %ehcleanup91 ], [ %.pn.pn, %ehcleanup30 ], [ %93, %if.then.i.i.i.i ], [ %93, %lpad.i ], [ %.pn25.pn.pn, %ehcleanup168 ], [ %.pn25.pn.pn, %if.then.i.i.i301 ], [ %lpad.loopexit, %lpad2.loopexit ], [ %lpad.loopexit326, %lpad2.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp327, %lpad2.loopexit.split-lp.loopexit.split-lp ] +ehcleanup174: ; preds = %lpad2.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp, %lpad2.loopexit.split-lp.loopexit, %if.then.i.i.i303, %ehcleanup168, %lpad.i, %if.then.i.i.i.i, %ehcleanup132, %ehcleanup91, %ehcleanup30 + %.pn29 = phi { ptr, i32 } [ %.pn20.pn, %ehcleanup132 ], [ %.pn17.pn, %ehcleanup91 ], [ %.pn.pn, %ehcleanup30 ], [ %93, %if.then.i.i.i.i ], [ %93, %lpad.i ], [ %.pn25.pn.pn, %ehcleanup168 ], [ %.pn25.pn.pn, %if.then.i.i.i303 ], [ %lpad.loopexit, %lpad2.loopexit ], [ %lpad.loopexit328, %lpad2.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp329, %lpad2.loopexit.split-lp.loopexit.split-lp ] call void @_ZNSt5dequeIPN4absl13cord_internal7CordRepESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(80) %flats) #28 br label %ehcleanup178 @@ -38294,12 +38307,12 @@ entry: %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp41, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp41, i64 0, i32 2 %0 = getelementptr inbounds { ptr, i64 }, ptr %ref.tmp46, i64 0, i32 1 - %message_.i.i106 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 + %message_.i.i107 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 br label %for.body for.body: ; preds = %entry, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit - %__begin2.0.idx150 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx150 + %__begin2.0.idx151 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx151 %1 = load i8, ptr %__begin2.0.ptr, align 1 %2 = and i8 %1, 1 %tobool.not = icmp eq i8 %2, 0 @@ -38370,14 +38383,14 @@ if.else.i.i.i33: ; preds = %invoke.cont14 %sub.ptr.rhs.cast.i.i.i.i.i.i35 = ptrtoint ptr %6 to i64 %sub.ptr.sub.i.i.i.i.i.i36 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i34, %sub.ptr.rhs.cast.i.i.i.i.i.i35 %cmp.i.i.i.i.i37 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i36, 9223372036854775800 - br i1 %cmp.i.i.i.i.i37, label %if.then.i.i.i.i.i60.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i38 + br i1 %cmp.i.i.i.i.i37, label %if.then.i.i.i.i.i61.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i38 -if.then.i.i.i.i.i60.invoke: ; preds = %if.else.i.i.i33, %_ZN7testing15AssertionResultD2Ev.exit +if.then.i.i.i.i.i61.invoke: ; preds = %if.else.i.i.i33, %_ZN7testing15AssertionResultD2Ev.exit %11 = phi ptr [ @.str.143, %_ZN7testing15AssertionResultD2Ev.exit ], [ @.str.125, %if.else.i.i.i33 ] invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull %11) #29 - to label %if.then.i.i.i.i.i60.cont unwind label %lpad.loopexit.split-lp + to label %if.then.i.i.i.i.i61.cont unwind label %lpad.loopexit.split-lp -if.then.i.i.i.i.i60.cont: ; preds = %if.then.i.i.i.i.i60.invoke +if.then.i.i.i.i.i61.cont: ; preds = %if.then.i.i.i.i.i61.invoke unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i38: ; preds = %if.else.i.i.i33 @@ -38393,44 +38406,45 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i47: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i38 %mul.i.i.i.i.i.i.i48 = shl nuw nsw i64 %cond.i.i.i.i.i45, 3 - %call5.i.i.i.i.i.i.i63 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i48) #30 + %call5.i.i.i.i.i.i.i64 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i48) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i49 unwind label %lpad.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i49: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i47, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i38 - %cond.i10.i.i.i.i50 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i38 ], [ %call5.i.i.i.i.i.i.i63, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i47 ] + %cond.i10.i.i.i.i50 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i38 ], [ %call5.i.i.i.i.i.i.i64, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i47 ] %add.ptr.i.i.i.i51 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i50, i64 %sub.ptr.div.i.i.i.i.i.i39 store ptr %call12, ptr %add.ptr.i.i.i.i51, align 8 - %cmp.i.i.i11.i.i.i.i52 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i39, 0 - br i1 %cmp.i.i.i11.i.i.i.i52, label %if.then.i.i.i12.i.i.i.i59, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i53 + %cmp.i.i.i11.i.i.i.i52 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i36, 0 + br i1 %cmp.i.i.i11.i.i.i.i52, label %if.then.i.i.i12.i.i.i.i60, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i53 -if.then.i.i.i12.i.i.i.i59: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i49 +if.then.i.i.i12.i.i.i.i60: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i49 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i50, ptr align 8 %6, i64 %sub.ptr.sub.i.i.i.i.i.i36, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i53 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i53 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i53: ; preds = %if.then.i.i.i12.i.i.i.i59, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i49 - %incdec.ptr.i.i.i.i54 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i51, i64 1 - %tobool.not.i.i.i.i.i55 = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i.i55, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i57, label %if.then.i21.i.i.i.i56 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i53: ; preds = %if.then.i.i.i12.i.i.i.i60, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i49 + %add.ptr.i.i.i.i.i.i.i54 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i50, i64 %sub.ptr.sub.i.i.i.i.i.i36 + %incdec.ptr.i.i.i.i55 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i54, i64 1 + %tobool.not.i.i.i.i.i56 = icmp eq ptr %6, null + br i1 %tobool.not.i.i.i.i.i56, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i58, label %if.then.i20.i.i.i.i57 -if.then.i21.i.i.i.i56: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i53 +if.then.i20.i.i.i.i57: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i53 call void @_ZdlPv(ptr noundef nonnull %6) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i57 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i58 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i57: ; preds = %if.then.i21.i.i.i.i56, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i53 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i58: ; preds = %if.then.i20.i.i.i.i57, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i53 store ptr %cond.i10.i.i.i.i50, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i54, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i58 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i50, i64 %cond.i.i.i.i.i45 - store ptr %add.ptr19.i.i.i.i58, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i55, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i59 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i50, i64 %cond.i.i.i.i.i45 + store ptr %add.ptr19.i.i.i.i59, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont16 -invoke.cont16: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i57, %invoke.cont14 +invoke.cont16: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i58, %invoke.cont14 br i1 %tobool.not, label %cond.false, label %cond.true cond.true: ; preds = %invoke.cont16 %tag.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call12, i64 0, i32 2 %12 = load i8, ptr %tag.i.i, align 4 %or.cond.i.i = icmp ugt i8 %12, 4 - br i1 %or.cond.i.i, label %if.then.i65, label %if.end.i.i + br i1 %or.cond.i.i, label %if.then.i66, label %if.end.i.i if.end.i.i: ; preds = %cond.true %cmp6.i.i = icmp eq i8 %12, 1 @@ -38442,44 +38456,44 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %if.end.i. %tag9.phi.trans.insert.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %13, i64 0, i32 2 %.pre.i.i = load i8, ptr %tag9.phi.trans.insert.i.i, align 4 %14 = icmp ugt i8 %.pre.i.i, 4 - br i1 %14, label %if.then.i65, label %if.end.i + br i1 %14, label %if.then.i66, label %if.end.i -if.then.i65: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true - %call1.i66 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) +if.then.i66: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true + %call1.i67 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) to label %invoke.cont26 unwind label %lpad.loopexit if.end.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %if.end.i.i - %call2.i67 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) + %call2.i68 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) to label %invoke.cont26 unwind label %lpad.loopexit cond.false: ; preds = %invoke.cont16 - %tag.i.i68 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 - %15 = load i8, ptr %tag.i.i68, align 4 - %or.cond.i.i69 = icmp ugt i8 %15, 4 - br i1 %or.cond.i.i69, label %if.then.i78, label %if.end.i.i70 - -if.end.i.i70: ; preds = %cond.false - %cmp6.i.i71 = icmp eq i8 %15, 1 - br i1 %cmp6.i.i71, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i74, label %if.end.i72 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i74: ; preds = %if.end.i.i70 - %child.i.i75 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 - %16 = load ptr, ptr %child.i.i75, align 8 - %tag9.phi.trans.insert.i.i76 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %16, i64 0, i32 2 - %.pre.i.i77 = load i8, ptr %tag9.phi.trans.insert.i.i76, align 4 - %17 = icmp ugt i8 %.pre.i.i77, 4 - br i1 %17, label %if.then.i78, label %if.end.i72 - -if.then.i78: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i74, %cond.false - %call1.i80 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) + %tag.i.i69 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 + %15 = load i8, ptr %tag.i.i69, align 4 + %or.cond.i.i70 = icmp ugt i8 %15, 4 + br i1 %or.cond.i.i70, label %if.then.i79, label %if.end.i.i71 + +if.end.i.i71: ; preds = %cond.false + %cmp6.i.i72 = icmp eq i8 %15, 1 + br i1 %cmp6.i.i72, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i75, label %if.end.i73 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i75: ; preds = %if.end.i.i71 + %child.i.i76 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 + %16 = load ptr, ptr %child.i.i76, align 8 + %tag9.phi.trans.insert.i.i77 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %16, i64 0, i32 2 + %.pre.i.i78 = load i8, ptr %tag9.phi.trans.insert.i.i77, align 4 + %17 = icmp ugt i8 %.pre.i.i78, 4 + br i1 %17, label %if.then.i79, label %if.end.i73 + +if.then.i79: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i75, %cond.false + %call1.i81 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) to label %invoke.cont26 unwind label %lpad.loopexit -if.end.i72: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i74, %if.end.i.i70 - %call2.i82 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) +if.end.i73: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i75, %if.end.i.i71 + %call2.i83 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) to label %invoke.cont26 unwind label %lpad.loopexit -invoke.cont26: ; preds = %if.then.i78, %if.end.i72, %if.then.i65, %if.end.i - %cond23 = phi ptr [ %call1.i66, %if.then.i65 ], [ %call2.i67, %if.end.i ], [ %call1.i80, %if.then.i78 ], [ %call2.i82, %if.end.i72 ] +invoke.cont26: ; preds = %if.then.i79, %if.end.i73, %if.then.i66, %if.end.i + %cond23 = phi ptr [ %call1.i67, %if.then.i66 ], [ %call2.i68, %if.end.i ], [ %call1.i81, %if.then.i79 ], [ %call2.i83, %if.end.i73 ] store ptr %cond23, ptr %tree, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar, i32 0, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %tree) to label %invoke.cont27 unwind label %lpad.loopexit @@ -38487,16 +38501,16 @@ invoke.cont26: ; preds = %if.then.i78, %if.en invoke.cont27: ; preds = %invoke.cont26 %18 = load i8, ptr %gtest_ar, align 8 %19 = and i8 %18, 1 - %tobool.i83.not = icmp eq i8 %19, 0 - br i1 %tobool.i83.not, label %if.else, label %if.end + %tobool.i84.not = icmp eq i8 %19, 0 + br i1 %tobool.i84.not, label %if.else, label %if.end -lpad.loopexit: ; preds = %for.body, %invoke.cont, %invoke.cont9, %invoke.cont11, %invoke.cont26, %invoke.cont6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont13, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i47, %if.then.i65, %if.end.i, %if.then.i78, %if.end.i72, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i127 - %lpad.loopexit141 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %for.body, %invoke.cont, %invoke.cont9, %invoke.cont11, %invoke.cont26, %invoke.cont6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont13, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i47, %if.then.i66, %if.end.i, %if.then.i79, %if.end.i73, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i128 + %lpad.loopexit142 = landingpad { ptr, i32 } cleanup br label %ehcleanup71 -lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i60.invoke - %lpad.loopexit.split-lp142 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i61.invoke + %lpad.loopexit.split-lp143 = landingpad { ptr, i32 } cleanup br label %ehcleanup71 @@ -38558,24 +38572,24 @@ lpad37: ; preds = %invoke.cont36 ehcleanup: ; preds = %lpad37, %lpad33 %.pn = phi { ptr, i32 } [ %25, %lpad37 ], [ %24, %lpad33 ] %26 = load ptr, ptr %ref.tmp29, align 8 - %cmp.not.i.i84 = icmp eq ptr %26, null - br i1 %cmp.not.i.i84, label %_ZN7testing7MessageD2Ev.exit88, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i85 + %cmp.not.i.i85 = icmp eq ptr %26, null + br i1 %cmp.not.i.i85, label %_ZN7testing7MessageD2Ev.exit89, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i85: ; preds = %ehcleanup - %vtable.i.i.i86 = load ptr, ptr %26, align 8 - %vfn.i.i.i87 = getelementptr inbounds ptr, ptr %vtable.i.i.i86, i64 1 - %27 = load ptr, ptr %vfn.i.i.i87, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86: ; preds = %ehcleanup + %vtable.i.i.i87 = load ptr, ptr %26, align 8 + %vfn.i.i.i88 = getelementptr inbounds ptr, ptr %vtable.i.i.i87, i64 1 + %27 = load ptr, ptr %vfn.i.i.i88, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 - br label %_ZN7testing7MessageD2Ev.exit88 + br label %_ZN7testing7MessageD2Ev.exit89 -_ZN7testing7MessageD2Ev.exit88: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i85 +_ZN7testing7MessageD2Ev.exit89: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 store ptr null, ptr %ref.tmp29, align 8 br label %ehcleanup39 if.end: ; preds = %invoke.cont27, %_ZN7testing7MessageD2Ev.exit %28 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i89 = icmp eq ptr %28, null - br i1 %cmp.not.i.i89, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i90 = icmp eq ptr %28, null + br i1 %cmp.not.i.i90, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #28 @@ -38590,87 +38604,85 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %29 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i60.invoke, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i61.invoke, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %cmp.not.i.i.i.i.i.i = icmp eq ptr %30, %29 br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont.thread.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %call5.i.i.i.i1.i.i.i.i91 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad.loopexit + %call5.i.i.i.i1.i.i.i.i92 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp41, align 8, !alias.scope !627 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !627 br label %invoke.cont48 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i91, ptr align 8 %29, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !630 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i92, ptr align 8 %29, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !630 call void @llvm.experimental.noalias.scope.decl(metadata !627) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp41, i8 0, i64 24, i1 false), !alias.scope !627 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %if.then.i.i.i.i.i93 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !627 + to label %if.then.i.i.i.i.i94 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !627 -if.then.i.i.i.i.i93: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i94: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp41, align 8, !alias.scope !627 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !627 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i91, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i92, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont48 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %31 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i104 + br label %if.then.i.i.i.i105 -invoke.cont48: ; preds = %invoke.cont.thread.i, %if.then.i.i.i.i.i93 - %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i93 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp42.sroa.0.1160 = phi ptr [ %call5.i.i.i.i1.i.i.i.i91, %if.then.i.i.i.i.i93 ], [ null, %invoke.cont.thread.i ] +invoke.cont48: ; preds = %invoke.cont.thread.i, %if.then.i.i.i.i.i94 + %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i94 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] + %agg.tmp42.sroa.0.1161 = phi ptr [ %call5.i.i.i.i1.i.i.i.i92, %if.then.i.i.i.i.i94 ], [ null, %invoke.cont.thread.i ] store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !627 %32 = load ptr, ptr %tree, align 8 %edges_.i = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %32, i64 0, i32 1 %arrayidx.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %32, i64 0, i32 3, i64 1 %33 = load i8, ptr %arrayidx.i.i, align 1 %conv.i.i = zext i8 %33 to i64 - %add.ptr.i96 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i + %add.ptr.i97 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %32, i64 0, i32 3, i64 2 %34 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %34 to i64 %sub.i.i = sub nsw i64 %conv.i.i.i, %conv.i.i - store ptr %add.ptr.i96, ptr %ref.tmp46, align 8 + store ptr %add.ptr.i97, ptr %ref.tmp46, align 8 store i64 %sub.i.i, ptr %0, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEEclINS3_4SpanIKS6_EEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar40, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp41, ptr noundef nonnull @.str.123, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp46) to label %invoke.cont50 unwind label %lpad47 invoke.cont50: ; preds = %invoke.cont48 %35 = load ptr, ptr %ref.tmp41, align 8 - %tobool.not.i.i.i.i.i97 = icmp eq ptr %35, null - br i1 %tobool.not.i.i.i.i.i97, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i98 + %tobool.not.i.i.i.i.i98 = icmp eq ptr %35, null + br i1 %tobool.not.i.i.i.i.i98, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i99 -if.then.i.i.i.i.i98: ; preds = %invoke.cont50 +if.then.i.i.i.i.i99: ; preds = %invoke.cont50 call void @_ZdlPv(ptr noundef nonnull %35) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont50, %if.then.i.i.i.i.i98 - %tobool.not.i.i.i.i = icmp eq ptr %agg.tmp42.sroa.0.1160, null +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %invoke.cont50, %if.then.i.i.i.i.i99 + %tobool.not.i.i.i.i = icmp eq ptr %agg.tmp42.sroa.0.1161, null br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp42.sroa.0.1160) #31 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp42.sroa.0.1161) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit _ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i %36 = load i8, ptr %gtest_ar40, align 8 %37 = and i8 %36, 1 - %tobool.i99.not = icmp eq i8 %37, 0 - br i1 %tobool.i99.not, label %if.else55, label %if.end68 + %tobool.i100.not = icmp eq i8 %37, 0 + br i1 %tobool.i100.not, label %if.else55, label %if.end68 -ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit88, %lpad30 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit88 ], [ %23, %lpad30 ] +ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit89, %lpad30 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit89 ], [ %23, %lpad30 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup71 @@ -38678,21 +38690,21 @@ lpad47: ; preds = %invoke.cont48 %38 = landingpad { ptr, i32 } cleanup %39 = load ptr, ptr %ref.tmp41, align 8 - %tobool.not.i.i.i.i.i100 = icmp eq ptr %39, null - br i1 %tobool.not.i.i.i.i.i100, label %ehcleanup52, label %if.then.i.i.i.i.i101 + %tobool.not.i.i.i.i.i101 = icmp eq ptr %39, null + br i1 %tobool.not.i.i.i.i.i101, label %ehcleanup52, label %if.then.i.i.i.i.i102 -if.then.i.i.i.i.i101: ; preds = %lpad47 +if.then.i.i.i.i.i102: ; preds = %lpad47 call void @_ZdlPv(ptr noundef nonnull %39) #31 br label %ehcleanup52 -ehcleanup52: ; preds = %if.then.i.i.i.i.i101, %lpad47 - %tobool.not.i.i.i.i103 = icmp eq ptr %agg.tmp42.sroa.0.1160, null - br i1 %tobool.not.i.i.i.i103, label %ehcleanup71, label %if.then.i.i.i.i104 +ehcleanup52: ; preds = %if.then.i.i.i.i.i102, %lpad47 + %tobool.not.i.i.i.i104 = icmp eq ptr %agg.tmp42.sroa.0.1161, null + br i1 %tobool.not.i.i.i.i104, label %ehcleanup71, label %if.then.i.i.i.i105 -if.then.i.i.i.i104: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup52 - %.pn13167 = phi { ptr, i32 } [ %38, %ehcleanup52 ], [ %31, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - %agg.tmp42.sroa.0.1162166 = phi ptr [ %agg.tmp42.sroa.0.1160, %ehcleanup52 ], [ %call5.i.i.i.i1.i.i.i.i91, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp42.sroa.0.1162166) #31 +if.then.i.i.i.i105: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup52 + %.pn13168 = phi { ptr, i32 } [ %38, %ehcleanup52 ], [ %31, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + %agg.tmp42.sroa.0.1163167 = phi ptr [ %agg.tmp42.sroa.0.1161, %ehcleanup52 ], [ %call5.i.i.i.i1.i.i.i.i92, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp42.sroa.0.1163167) #31 br label %ehcleanup71 if.else55: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit @@ -38700,17 +38712,17 @@ if.else55: ; preds = %_ZN7testing8interna to label %invoke.cont58 unwind label %lpad57 invoke.cont58: ; preds = %if.else55 - %40 = load ptr, ptr %message_.i.i106, align 8 - %cmp.i.i.not.i.i107 = icmp eq ptr %40, null - br i1 %cmp.i.i.not.i.i107, label %invoke.cont61, label %cond.true.i.i108 + %40 = load ptr, ptr %message_.i.i107, align 8 + %cmp.i.i.not.i.i108 = icmp eq ptr %40, null + br i1 %cmp.i.i.not.i.i108, label %invoke.cont61, label %cond.true.i.i109 -cond.true.i.i108: ; preds = %invoke.cont58 - %call4.i.i109 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %40) #28 +cond.true.i.i109: ; preds = %invoke.cont58 + %call4.i.i110 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %40) #28 br label %invoke.cont61 -invoke.cont61: ; preds = %cond.true.i.i108, %invoke.cont58 - %cond.i.i110 = phi ptr [ %call4.i.i109, %cond.true.i.i108 ], [ @.str.120, %invoke.cont58 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 610, ptr noundef %cond.i.i110) +invoke.cont61: ; preds = %cond.true.i.i109, %invoke.cont58 + %cond.i.i111 = phi ptr [ %call4.i.i110, %cond.true.i.i109 ], [ @.str.120, %invoke.cont58 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 610, ptr noundef %cond.i.i111) to label %invoke.cont63 unwind label %lpad60 invoke.cont63: ; preds = %invoke.cont61 @@ -38720,17 +38732,17 @@ invoke.cont63: ; preds = %invoke.cont61 invoke.cont65: ; preds = %invoke.cont63 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp59) #28 %41 = load ptr, ptr %ref.tmp56, align 8 - %cmp.not.i.i112 = icmp eq ptr %41, null - br i1 %cmp.not.i.i112, label %_ZN7testing7MessageD2Ev.exit116, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i113 + %cmp.not.i.i113 = icmp eq ptr %41, null + br i1 %cmp.not.i.i113, label %_ZN7testing7MessageD2Ev.exit117, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i113: ; preds = %invoke.cont65 - %vtable.i.i.i114 = load ptr, ptr %41, align 8 - %vfn.i.i.i115 = getelementptr inbounds ptr, ptr %vtable.i.i.i114, i64 1 - %42 = load ptr, ptr %vfn.i.i.i115, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %invoke.cont65 + %vtable.i.i.i115 = load ptr, ptr %41, align 8 + %vfn.i.i.i116 = getelementptr inbounds ptr, ptr %vtable.i.i.i115, i64 1 + %42 = load ptr, ptr %vfn.i.i.i116, align 8 call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #28 - br label %_ZN7testing7MessageD2Ev.exit116 + br label %_ZN7testing7MessageD2Ev.exit117 -_ZN7testing7MessageD2Ev.exit116: ; preds = %invoke.cont65, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i113 +_ZN7testing7MessageD2Ev.exit117: ; preds = %invoke.cont65, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 store ptr null, ptr %ref.tmp56, align 8 br label %if.end68 @@ -38753,52 +38765,52 @@ lpad64: ; preds = %invoke.cont63 ehcleanup67: ; preds = %lpad64, %lpad60 %.pn15 = phi { ptr, i32 } [ %45, %lpad64 ], [ %44, %lpad60 ] %46 = load ptr, ptr %ref.tmp56, align 8 - %cmp.not.i.i117 = icmp eq ptr %46, null - br i1 %cmp.not.i.i117, label %_ZN7testing7MessageD2Ev.exit121, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118 + %cmp.not.i.i118 = icmp eq ptr %46, null + br i1 %cmp.not.i.i118, label %_ZN7testing7MessageD2Ev.exit122, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118: ; preds = %ehcleanup67 - %vtable.i.i.i119 = load ptr, ptr %46, align 8 - %vfn.i.i.i120 = getelementptr inbounds ptr, ptr %vtable.i.i.i119, i64 1 - %47 = load ptr, ptr %vfn.i.i.i120, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119: ; preds = %ehcleanup67 + %vtable.i.i.i120 = load ptr, ptr %46, align 8 + %vfn.i.i.i121 = getelementptr inbounds ptr, ptr %vtable.i.i.i120, i64 1 + %47 = load ptr, ptr %vfn.i.i.i121, align 8 call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #28 - br label %_ZN7testing7MessageD2Ev.exit121 + br label %_ZN7testing7MessageD2Ev.exit122 -_ZN7testing7MessageD2Ev.exit121: ; preds = %ehcleanup67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118 +_ZN7testing7MessageD2Ev.exit122: ; preds = %ehcleanup67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 store ptr null, ptr %ref.tmp56, align 8 br label %ehcleanup69 -if.end68: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit116 - %48 = load ptr, ptr %message_.i.i106, align 8 - %cmp.not.i.i123 = icmp eq ptr %48, null - br i1 %cmp.not.i.i123, label %_ZN7testing15AssertionResultD2Ev.exit125, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124 +if.end68: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit117 + %48 = load ptr, ptr %message_.i.i107, align 8 + %cmp.not.i.i124 = icmp eq ptr %48, null + br i1 %cmp.not.i.i124, label %_ZN7testing15AssertionResultD2Ev.exit126, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124: ; preds = %if.end68 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125: ; preds = %if.end68 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #28 call void @_ZdlPv(ptr noundef nonnull %48) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit125 + br label %_ZN7testing15AssertionResultD2Ev.exit126 -_ZN7testing15AssertionResultD2Ev.exit125: ; preds = %if.end68, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124 - store ptr null, ptr %message_.i.i106, align 8 +_ZN7testing15AssertionResultD2Ev.exit126: ; preds = %if.end68, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125 + store ptr null, ptr %message_.i.i107, align 8 %49 = load ptr, ptr %tree, align 8 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %49, i64 0, i32 1 %50 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %50, 2 - br i1 %cmp.i.not.i, label %if.then.i127, label %invoke.cont70 + br i1 %cmp.i.not.i, label %if.then.i128, label %invoke.cont70 -if.then.i127: ; preds = %_ZN7testing15AssertionResultD2Ev.exit125 +if.then.i128: ; preds = %_ZN7testing15AssertionResultD2Ev.exit126 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %49) to label %invoke.cont70 unwind label %lpad.loopexit -invoke.cont70: ; preds = %_ZN7testing15AssertionResultD2Ev.exit125, %if.then.i127 +invoke.cont70: ; preds = %_ZN7testing15AssertionResultD2Ev.exit126, %if.then.i128 %51 = load ptr, ptr %flats, align 8 %tobool.not.i.i.i = icmp eq ptr %51, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i129 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i130 -if.then.i.i.i129: ; preds = %invoke.cont70 +if.then.i.i.i130: ; preds = %invoke.cont70 call void @_ZdlPv(ptr noundef nonnull %51) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont70, %if.then.i.i.i129 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont70, %if.then.i.i.i130 %52 = load ptr, ptr %refs, align 8 %53 = load ptr, ptr %_M_finish.i.i.i, align 8 %cmp.i.not4.i = icmp eq ptr %52, %53 @@ -38807,8 +38819,8 @@ _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %for.inc.i %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %52, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] %54 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i131 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %54, i64 0, i32 1 - %55 = atomicrmw sub ptr %refcount.i.i131, i32 2 acq_rel, align 4 + %refcount.i.i132 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %54, i64 0, i32 1 + %55 = atomicrmw sub ptr %refcount.i.i132, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %55, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -38818,8 +38830,8 @@ if.then.i.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i.i, %for.body.i %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i132 = icmp eq ptr %incdec.ptr.i.i, %53 - br i1 %cmp.i.not.i132, label %for.end.loopexit.i, label %for.body.i + %cmp.i.not.i133 = icmp eq ptr %incdec.ptr.i.i, %53 + br i1 %cmp.i.not.i133, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 @@ -38827,10 +38839,10 @@ for.end.loopexit.i: ; preds = %for.inc.i for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit %56 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %52, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit ] - %tobool.not.i.i.i.i133 = icmp eq ptr %56, null - br i1 %tobool.not.i.i.i.i133, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i134 + %tobool.not.i.i.i.i134 = icmp eq ptr %56, null + br i1 %tobool.not.i.i.i.i134, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i135 -if.then.i.i.i.i134: ; preds = %for.end.i +if.then.i.i.i.i135: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %56) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit @@ -38841,28 +38853,28 @@ terminate.lpad.i: ; preds = %if.then.i.i call void @__clang_call_terminate(ptr %58) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i134 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i135 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_590) #28 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx150, 1 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx151, 1 %cmp.not = icmp eq i64 %__begin2.0.add, 2 br i1 %cmp.not, label %for.end, label %for.body -ehcleanup69: ; preds = %_ZN7testing7MessageD2Ev.exit121, %lpad57 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit121 ], [ %43, %lpad57 ] +ehcleanup69: ; preds = %_ZN7testing7MessageD2Ev.exit122, %lpad57 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit122 ], [ %43, %lpad57 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar40) #28 br label %ehcleanup71 -ehcleanup71: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i104, %ehcleanup52, %ehcleanup69, %ehcleanup39 - %.pn18 = phi { ptr, i32 } [ %.pn15.pn, %ehcleanup69 ], [ %.pn.pn, %ehcleanup39 ], [ %38, %ehcleanup52 ], [ %.pn13167, %if.then.i.i.i.i104 ], [ %lpad.loopexit141, %lpad.loopexit ], [ %lpad.loopexit.split-lp142, %lpad.loopexit.split-lp ] +ehcleanup71: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i105, %ehcleanup52, %ehcleanup69, %ehcleanup39 + %.pn18 = phi { ptr, i32 } [ %.pn15.pn, %ehcleanup69 ], [ %.pn.pn, %ehcleanup39 ], [ %38, %ehcleanup52 ], [ %.pn13168, %if.then.i.i.i.i105 ], [ %lpad.loopexit142, %lpad.loopexit ], [ %lpad.loopexit.split-lp143, %lpad.loopexit.split-lp ] %59 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i135 = icmp eq ptr %59, null - br i1 %tobool.not.i.i.i135, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit137, label %if.then.i.i.i136 + %tobool.not.i.i.i136 = icmp eq ptr %59, null + br i1 %tobool.not.i.i.i136, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit138, label %if.then.i.i.i137 -if.then.i.i.i136: ; preds = %ehcleanup71 +if.then.i.i.i137: ; preds = %ehcleanup71 call void @_ZdlPv(ptr noundef nonnull %59) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit137 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit138 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit137: ; preds = %ehcleanup71, %if.then.i.i.i136 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit138: ; preds = %ehcleanup71, %if.then.i.i.i137 call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs) #28 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_590) #28 resume { ptr, i32 } %.pn18 @@ -39078,14 +39090,14 @@ entry: %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 1 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 - %agg.tmp4082.sroa.4.0.ref.tmp39.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp39, i64 8 + %agg.tmp4083.sroa.4.0.ref.tmp39.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp39, i64 8 %0 = getelementptr inbounds { ptr, i64 }, ptr %ref.tmp43, i64 0, i32 1 - %message_.i.i85 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar38, i64 0, i32 1 + %message_.i.i86 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar38, i64 0, i32 1 br label %for.body for.body: ; preds = %entry, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit - %__begin2.0.idx119 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx119 + %__begin2.0.idx120 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx120 %1 = load i8, ptr %__begin2.0.ptr, align 1 %2 = and i8 %1, 1 %tobool.not = icmp eq i8 %2, 0 @@ -39147,13 +39159,13 @@ if.else.i.i.i25: ; preds = %invoke.cont12 %sub.ptr.rhs.cast.i.i.i.i.i.i27 = ptrtoint ptr %6 to i64 %sub.ptr.sub.i.i.i.i.i.i28 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i26, %sub.ptr.rhs.cast.i.i.i.i.i.i27 %cmp.i.i.i.i.i29 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i28, 9223372036854775800 - br i1 %cmp.i.i.i.i.i29, label %if.then.i.i.i.i.i52, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i30 + br i1 %cmp.i.i.i.i.i29, label %if.then.i.i.i.i.i53, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i30 -if.then.i.i.i.i.i52: ; preds = %if.else.i.i.i25 +if.then.i.i.i.i.i53: ; preds = %if.else.i.i.i25 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %.noexc53 unwind label %lpad.loopexit.split-lp + to label %.noexc54 unwind label %lpad.loopexit.split-lp -.noexc53: ; preds = %if.then.i.i.i.i.i52 +.noexc54: ; preds = %if.then.i.i.i.i.i53 unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i30: ; preds = %if.else.i.i.i25 @@ -39169,44 +39181,45 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i39: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i30 %mul.i.i.i.i.i.i.i40 = shl nuw nsw i64 %cond.i.i.i.i.i37, 3 - %call5.i.i.i.i.i.i.i55 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i40) #30 + %call5.i.i.i.i.i.i.i56 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i40) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i41 unwind label %lpad.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i41: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i39, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i30 - %cond.i10.i.i.i.i42 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i30 ], [ %call5.i.i.i.i.i.i.i55, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i39 ] + %cond.i10.i.i.i.i42 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i30 ], [ %call5.i.i.i.i.i.i.i56, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i39 ] %add.ptr.i.i.i.i43 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i42, i64 %sub.ptr.div.i.i.i.i.i.i31 store ptr %call11, ptr %add.ptr.i.i.i.i43, align 8 - %cmp.i.i.i11.i.i.i.i44 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i31, 0 - br i1 %cmp.i.i.i11.i.i.i.i44, label %if.then.i.i.i12.i.i.i.i51, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i45 + %cmp.i.i.i11.i.i.i.i44 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i28, 0 + br i1 %cmp.i.i.i11.i.i.i.i44, label %if.then.i.i.i12.i.i.i.i52, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i45 -if.then.i.i.i12.i.i.i.i51: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i41 +if.then.i.i.i12.i.i.i.i52: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i41 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i42, ptr align 8 %6, i64 %sub.ptr.sub.i.i.i.i.i.i28, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i45 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i45 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i45: ; preds = %if.then.i.i.i12.i.i.i.i51, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i41 - %incdec.ptr.i.i.i.i46 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i43, i64 1 - %tobool.not.i.i.i.i.i47 = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i.i47, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i49, label %if.then.i21.i.i.i.i48 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i45: ; preds = %if.then.i.i.i12.i.i.i.i52, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i41 + %add.ptr.i.i.i.i.i.i.i46 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i42, i64 %sub.ptr.sub.i.i.i.i.i.i28 + %incdec.ptr.i.i.i.i47 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i46, i64 1 + %tobool.not.i.i.i.i.i48 = icmp eq ptr %6, null + br i1 %tobool.not.i.i.i.i.i48, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i50, label %if.then.i20.i.i.i.i49 -if.then.i21.i.i.i.i48: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i45 +if.then.i20.i.i.i.i49: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i45 call void @_ZdlPv(ptr noundef nonnull %6) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i49 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i50 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i49: ; preds = %if.then.i21.i.i.i.i48, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i45 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i50: ; preds = %if.then.i20.i.i.i.i49, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i45 store ptr %cond.i10.i.i.i.i42, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i46, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i50 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i42, i64 %cond.i.i.i.i.i37 - store ptr %add.ptr19.i.i.i.i50, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i47, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i51 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i42, i64 %cond.i.i.i.i.i37 + store ptr %add.ptr19.i.i.i.i51, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont14 -invoke.cont14: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i49, %invoke.cont12 +invoke.cont14: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i50, %invoke.cont12 br i1 %tobool.not, label %cond.false, label %cond.true cond.true: ; preds = %invoke.cont14 %tag.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call11, i64 0, i32 2 %11 = load i8, ptr %tag.i.i, align 4 %or.cond.i.i = icmp ugt i8 %11, 4 - br i1 %or.cond.i.i, label %if.then.i57, label %if.end.i.i + br i1 %or.cond.i.i, label %if.then.i58, label %if.end.i.i if.end.i.i: ; preds = %cond.true %cmp6.i.i = icmp eq i8 %11, 1 @@ -39218,44 +39231,44 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %if.end.i. %tag9.phi.trans.insert.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %12, i64 0, i32 2 %.pre.i.i = load i8, ptr %tag9.phi.trans.insert.i.i, align 4 %13 = icmp ugt i8 %.pre.i.i, 4 - br i1 %13, label %if.then.i57, label %if.end.i + br i1 %13, label %if.then.i58, label %if.end.i -if.then.i57: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true - %call1.i58 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call11) +if.then.i58: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true + %call1.i59 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call11) to label %invoke.cont24 unwind label %lpad.loopexit if.end.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %if.end.i.i - %call2.i59 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call11) + %call2.i60 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call11) to label %invoke.cont24 unwind label %lpad.loopexit cond.false: ; preds = %invoke.cont14 - %tag.i.i60 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 - %14 = load i8, ptr %tag.i.i60, align 4 - %or.cond.i.i61 = icmp ugt i8 %14, 4 - br i1 %or.cond.i.i61, label %if.then.i70, label %if.end.i.i62 - -if.end.i.i62: ; preds = %cond.false - %cmp6.i.i63 = icmp eq i8 %14, 1 - br i1 %cmp6.i.i63, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i66, label %if.end.i64 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i66: ; preds = %if.end.i.i62 - %child.i.i67 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 - %15 = load ptr, ptr %child.i.i67, align 8 - %tag9.phi.trans.insert.i.i68 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %15, i64 0, i32 2 - %.pre.i.i69 = load i8, ptr %tag9.phi.trans.insert.i.i68, align 4 - %16 = icmp ugt i8 %.pre.i.i69, 4 - br i1 %16, label %if.then.i70, label %if.end.i64 - -if.then.i70: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i66, %cond.false - %call1.i72 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call11, ptr noundef nonnull %call5) + %tag.i.i61 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 + %14 = load i8, ptr %tag.i.i61, align 4 + %or.cond.i.i62 = icmp ugt i8 %14, 4 + br i1 %or.cond.i.i62, label %if.then.i71, label %if.end.i.i63 + +if.end.i.i63: ; preds = %cond.false + %cmp6.i.i64 = icmp eq i8 %14, 1 + br i1 %cmp6.i.i64, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i67, label %if.end.i65 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i67: ; preds = %if.end.i.i63 + %child.i.i68 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 + %15 = load ptr, ptr %child.i.i68, align 8 + %tag9.phi.trans.insert.i.i69 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %15, i64 0, i32 2 + %.pre.i.i70 = load i8, ptr %tag9.phi.trans.insert.i.i69, align 4 + %16 = icmp ugt i8 %.pre.i.i70, 4 + br i1 %16, label %if.then.i71, label %if.end.i65 + +if.then.i71: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i67, %cond.false + %call1.i73 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call11, ptr noundef nonnull %call5) to label %invoke.cont24 unwind label %lpad.loopexit -if.end.i64: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i66, %if.end.i.i62 - %call2.i74 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call11, ptr noundef nonnull %call5) +if.end.i65: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i67, %if.end.i.i63 + %call2.i75 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call11, ptr noundef nonnull %call5) to label %invoke.cont24 unwind label %lpad.loopexit -invoke.cont24: ; preds = %if.then.i70, %if.end.i64, %if.then.i57, %if.end.i - %cond21 = phi ptr [ %call1.i58, %if.then.i57 ], [ %call2.i59, %if.end.i ], [ %call1.i72, %if.then.i70 ], [ %call2.i74, %if.end.i64 ] +invoke.cont24: ; preds = %if.then.i71, %if.end.i65, %if.then.i58, %if.end.i + %cond21 = phi ptr [ %call1.i59, %if.then.i58 ], [ %call2.i60, %if.end.i ], [ %call1.i73, %if.then.i71 ], [ %call2.i75, %if.end.i65 ] store ptr %cond21, ptr %tree, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar, i32 1, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %tree) to label %invoke.cont25 unwind label %lpad.loopexit @@ -39263,16 +39276,16 @@ invoke.cont24: ; preds = %if.then.i70, %if.en invoke.cont25: ; preds = %invoke.cont24 %17 = load i8, ptr %gtest_ar, align 8 %18 = and i8 %17, 1 - %tobool.i75.not = icmp eq i8 %18, 0 - br i1 %tobool.i75.not, label %if.else, label %if.end + %tobool.i76.not = icmp eq i8 %18, 0 + br i1 %tobool.i76.not, label %if.else, label %if.end -lpad.loopexit: ; preds = %for.body, %invoke.cont8, %invoke.cont44, %invoke.cont24, %invoke.cont, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont10, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i39, %if.then.i57, %if.end.i, %if.then.i70, %if.end.i64, %if.then.i106 - %lpad.loopexit117 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %for.body, %invoke.cont8, %invoke.cont44, %invoke.cont24, %invoke.cont, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont10, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i39, %if.then.i58, %if.end.i, %if.then.i71, %if.end.i65, %if.then.i107 + %lpad.loopexit118 = landingpad { ptr, i32 } cleanup br label %ehcleanup65 -lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i52 - %lpad.loopexit.split-lp118 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i53 + %lpad.loopexit.split-lp119 = landingpad { ptr, i32 } cleanup br label %ehcleanup65 @@ -39334,24 +39347,24 @@ lpad35: ; preds = %invoke.cont34 ehcleanup: ; preds = %lpad35, %lpad31 %.pn = phi { ptr, i32 } [ %24, %lpad35 ], [ %23, %lpad31 ] %25 = load ptr, ptr %ref.tmp27, align 8 - %cmp.not.i.i76 = icmp eq ptr %25, null - br i1 %cmp.not.i.i76, label %_ZN7testing7MessageD2Ev.exit80, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 + %cmp.not.i.i77 = icmp eq ptr %25, null + br i1 %cmp.not.i.i77, label %_ZN7testing7MessageD2Ev.exit81, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %ehcleanup - %vtable.i.i.i78 = load ptr, ptr %25, align 8 - %vfn.i.i.i79 = getelementptr inbounds ptr, ptr %vtable.i.i.i78, i64 1 - %26 = load ptr, ptr %vfn.i.i.i79, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78: ; preds = %ehcleanup + %vtable.i.i.i79 = load ptr, ptr %25, align 8 + %vfn.i.i.i80 = getelementptr inbounds ptr, ptr %vtable.i.i.i79, i64 1 + %26 = load ptr, ptr %vfn.i.i.i80, align 8 call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #28 - br label %_ZN7testing7MessageD2Ev.exit80 + br label %_ZN7testing7MessageD2Ev.exit81 -_ZN7testing7MessageD2Ev.exit80: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +_ZN7testing7MessageD2Ev.exit81: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78 store ptr null, ptr %ref.tmp27, align 8 br label %ehcleanup37 if.end: ; preds = %invoke.cont25, %_ZN7testing7MessageD2Ev.exit %27 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i81 = icmp eq ptr %27, null - br i1 %cmp.not.i.i81, label %invoke.cont44, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i82 = icmp eq ptr %27, null + br i1 %cmp.not.i.i82, label %invoke.cont44, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #28 @@ -39361,18 +39374,18 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP invoke.cont44: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %if.end store ptr null, ptr %message_.i.i, align 8 store ptr %call11, ptr %ref.tmp39, align 8 - store ptr %call5, ptr %agg.tmp4082.sroa.4.0.ref.tmp39.sroa_idx, align 8 + store ptr %call5, ptr %agg.tmp4083.sroa.4.0.ref.tmp39.sroa_idx, align 8 %28 = load ptr, ptr %tree, align 8 %edges_.i = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %28, i64 0, i32 1 %arrayidx.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %28, i64 0, i32 3, i64 1 %29 = load i8, ptr %arrayidx.i.i, align 1 %conv.i.i = zext i8 %29 to i64 - %add.ptr.i83 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i + %add.ptr.i84 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %28, i64 0, i32 3, i64 2 %30 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %30 to i64 %sub.i.i = sub nsw i64 %conv.i.i.i, %conv.i.i - store ptr %add.ptr.i83, ptr %ref.tmp43, align 8 + store ptr %add.ptr.i84, ptr %ref.tmp43, align 8 store i64 %sub.i.i, ptr %0, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJPN4absl13cord_internal12CordRepBtreeES7_EEEEEclINS4_4SpanIKPNS5_7CordRepEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar38, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp39, ptr noundef nonnull @.str.123, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp43) to label %invoke.cont46 unwind label %lpad.loopexit @@ -39380,11 +39393,11 @@ invoke.cont44: ; preds = %_ZNKSt14default_del invoke.cont46: ; preds = %invoke.cont44 %31 = load i8, ptr %gtest_ar38, align 8 %32 = and i8 %31, 1 - %tobool.i84.not = icmp eq i8 %32, 0 - br i1 %tobool.i84.not, label %if.else49, label %if.end62 + %tobool.i85.not = icmp eq i8 %32, 0 + br i1 %tobool.i85.not, label %if.else49, label %if.end62 -ehcleanup37: ; preds = %_ZN7testing7MessageD2Ev.exit80, %lpad28 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit80 ], [ %22, %lpad28 ] +ehcleanup37: ; preds = %_ZN7testing7MessageD2Ev.exit81, %lpad28 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit81 ], [ %22, %lpad28 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup65 @@ -39393,17 +39406,17 @@ if.else49: ; preds = %invoke.cont46 to label %invoke.cont52 unwind label %lpad51 invoke.cont52: ; preds = %if.else49 - %33 = load ptr, ptr %message_.i.i85, align 8 - %cmp.i.i.not.i.i86 = icmp eq ptr %33, null - br i1 %cmp.i.i.not.i.i86, label %invoke.cont55, label %cond.true.i.i87 + %33 = load ptr, ptr %message_.i.i86, align 8 + %cmp.i.i.not.i.i87 = icmp eq ptr %33, null + br i1 %cmp.i.i.not.i.i87, label %invoke.cont55, label %cond.true.i.i88 -cond.true.i.i87: ; preds = %invoke.cont52 - %call4.i.i88 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %33) #28 +cond.true.i.i88: ; preds = %invoke.cont52 + %call4.i.i89 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %33) #28 br label %invoke.cont55 -invoke.cont55: ; preds = %cond.true.i.i87, %invoke.cont52 - %cond.i.i89 = phi ptr [ %call4.i.i88, %cond.true.i.i87 ], [ @.str.120, %invoke.cont52 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 632, ptr noundef %cond.i.i89) +invoke.cont55: ; preds = %cond.true.i.i88, %invoke.cont52 + %cond.i.i90 = phi ptr [ %call4.i.i89, %cond.true.i.i88 ], [ @.str.120, %invoke.cont52 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 632, ptr noundef %cond.i.i90) to label %invoke.cont57 unwind label %lpad54 invoke.cont57: ; preds = %invoke.cont55 @@ -39413,17 +39426,17 @@ invoke.cont57: ; preds = %invoke.cont55 invoke.cont59: ; preds = %invoke.cont57 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp53) #28 %34 = load ptr, ptr %ref.tmp50, align 8 - %cmp.not.i.i91 = icmp eq ptr %34, null - br i1 %cmp.not.i.i91, label %_ZN7testing7MessageD2Ev.exit95, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 + %cmp.not.i.i92 = icmp eq ptr %34, null + br i1 %cmp.not.i.i92, label %_ZN7testing7MessageD2Ev.exit96, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92: ; preds = %invoke.cont59 - %vtable.i.i.i93 = load ptr, ptr %34, align 8 - %vfn.i.i.i94 = getelementptr inbounds ptr, ptr %vtable.i.i.i93, i64 1 - %35 = load ptr, ptr %vfn.i.i.i94, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93: ; preds = %invoke.cont59 + %vtable.i.i.i94 = load ptr, ptr %34, align 8 + %vfn.i.i.i95 = getelementptr inbounds ptr, ptr %vtable.i.i.i94, i64 1 + %35 = load ptr, ptr %vfn.i.i.i95, align 8 call void %35(ptr noundef nonnull align 8 dereferenceable(128) %34) #28 - br label %_ZN7testing7MessageD2Ev.exit95 + br label %_ZN7testing7MessageD2Ev.exit96 -_ZN7testing7MessageD2Ev.exit95: ; preds = %invoke.cont59, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 +_ZN7testing7MessageD2Ev.exit96: ; preds = %invoke.cont59, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93 store ptr null, ptr %ref.tmp50, align 8 br label %if.end62 @@ -39446,43 +39459,43 @@ lpad58: ; preds = %invoke.cont57 ehcleanup61: ; preds = %lpad58, %lpad54 %.pn7 = phi { ptr, i32 } [ %38, %lpad58 ], [ %37, %lpad54 ] %39 = load ptr, ptr %ref.tmp50, align 8 - %cmp.not.i.i96 = icmp eq ptr %39, null - br i1 %cmp.not.i.i96, label %_ZN7testing7MessageD2Ev.exit100, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 + %cmp.not.i.i97 = icmp eq ptr %39, null + br i1 %cmp.not.i.i97, label %_ZN7testing7MessageD2Ev.exit101, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97: ; preds = %ehcleanup61 - %vtable.i.i.i98 = load ptr, ptr %39, align 8 - %vfn.i.i.i99 = getelementptr inbounds ptr, ptr %vtable.i.i.i98, i64 1 - %40 = load ptr, ptr %vfn.i.i.i99, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98: ; preds = %ehcleanup61 + %vtable.i.i.i99 = load ptr, ptr %39, align 8 + %vfn.i.i.i100 = getelementptr inbounds ptr, ptr %vtable.i.i.i99, i64 1 + %40 = load ptr, ptr %vfn.i.i.i100, align 8 call void %40(ptr noundef nonnull align 8 dereferenceable(128) %39) #28 - br label %_ZN7testing7MessageD2Ev.exit100 + br label %_ZN7testing7MessageD2Ev.exit101 -_ZN7testing7MessageD2Ev.exit100: ; preds = %ehcleanup61, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 +_ZN7testing7MessageD2Ev.exit101: ; preds = %ehcleanup61, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 store ptr null, ptr %ref.tmp50, align 8 br label %ehcleanup63 -if.end62: ; preds = %invoke.cont46, %_ZN7testing7MessageD2Ev.exit95 - %41 = load ptr, ptr %message_.i.i85, align 8 - %cmp.not.i.i102 = icmp eq ptr %41, null - br i1 %cmp.not.i.i102, label %_ZN7testing15AssertionResultD2Ev.exit104, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 +if.end62: ; preds = %invoke.cont46, %_ZN7testing7MessageD2Ev.exit96 + %41 = load ptr, ptr %message_.i.i86, align 8 + %cmp.not.i.i103 = icmp eq ptr %41, null + br i1 %cmp.not.i.i103, label %_ZN7testing15AssertionResultD2Ev.exit105, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103: ; preds = %if.end62 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104: ; preds = %if.end62 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #28 call void @_ZdlPv(ptr noundef nonnull %41) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit104 + br label %_ZN7testing15AssertionResultD2Ev.exit105 -_ZN7testing15AssertionResultD2Ev.exit104: ; preds = %if.end62, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 - store ptr null, ptr %message_.i.i85, align 8 +_ZN7testing15AssertionResultD2Ev.exit105: ; preds = %if.end62, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 + store ptr null, ptr %message_.i.i86, align 8 %42 = load ptr, ptr %tree, align 8 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %42, i64 0, i32 1 %43 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %43, 2 - br i1 %cmp.i.not.i, label %if.then.i106, label %invoke.cont64 + br i1 %cmp.i.not.i, label %if.then.i107, label %invoke.cont64 -if.then.i106: ; preds = %_ZN7testing15AssertionResultD2Ev.exit104 +if.then.i107: ; preds = %_ZN7testing15AssertionResultD2Ev.exit105 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %42) to label %invoke.cont64 unwind label %lpad.loopexit -invoke.cont64: ; preds = %_ZN7testing15AssertionResultD2Ev.exit104, %if.then.i106 +invoke.cont64: ; preds = %_ZN7testing15AssertionResultD2Ev.exit105, %if.then.i107 %44 = load ptr, ptr %refs, align 8 %45 = load ptr, ptr %_M_finish.i.i.i, align 8 %cmp.i.not4.i = icmp eq ptr %44, %45 @@ -39491,8 +39504,8 @@ invoke.cont64: ; preds = %_ZN7testing15Assert for.body.i: ; preds = %invoke.cont64, %for.inc.i %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %44, %invoke.cont64 ] %46 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i108 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %46, i64 0, i32 1 - %47 = atomicrmw sub ptr %refcount.i.i108, i32 2 acq_rel, align 4 + %refcount.i.i109 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %46, i64 0, i32 1 + %47 = atomicrmw sub ptr %refcount.i.i109, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %47, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -39502,8 +39515,8 @@ if.then.i.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i.i, %for.body.i %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i109 = icmp eq ptr %incdec.ptr.i.i, %45 - br i1 %cmp.i.not.i109, label %for.end.loopexit.i, label %for.body.i + %cmp.i.not.i110 = icmp eq ptr %incdec.ptr.i.i, %45 + br i1 %cmp.i.not.i110, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 @@ -39527,17 +39540,17 @@ terminate.lpad.i: ; preds = %if.then.i.i _ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_617) #28 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx119, 1 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx120, 1 %cmp.not = icmp eq i64 %__begin2.0.add, 2 br i1 %cmp.not, label %for.end, label %for.body -ehcleanup63: ; preds = %_ZN7testing7MessageD2Ev.exit100, %lpad51 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit100 ], [ %36, %lpad51 ] +ehcleanup63: ; preds = %_ZN7testing7MessageD2Ev.exit101, %lpad51 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit101 ], [ %36, %lpad51 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar38) #28 br label %ehcleanup65 ehcleanup65: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %ehcleanup63, %ehcleanup37 - %.pn10 = phi { ptr, i32 } [ %.pn7.pn, %ehcleanup63 ], [ %.pn.pn, %ehcleanup37 ], [ %lpad.loopexit117, %lpad.loopexit ], [ %lpad.loopexit.split-lp118, %lpad.loopexit.split-lp ] + %.pn10 = phi { ptr, i32 } [ %.pn7.pn, %ehcleanup63 ], [ %.pn.pn, %ehcleanup37 ], [ %lpad.loopexit118, %lpad.loopexit ], [ %lpad.loopexit.split-lp119, %lpad.loopexit.split-lp ] call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs) #28 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_617) #28 resume { ptr, i32 } %.pn10 @@ -40240,16 +40253,16 @@ entry: %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %0 = getelementptr inbounds { ptr, i64 }, ptr %ref.tmp51, i64 0, i32 1 - %message_.i.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 + %message_.i.i97 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %flats, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp73, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp73, i64 0, i32 2 - %message_.i.i140 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar72, i64 0, i32 1 + %message_.i.i141 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar72, i64 0, i32 1 br label %for.body for.body: ; preds = %entry, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit - %__begin2.0.idx189 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx189 + %__begin2.0.idx190 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx190 %1 = load i8, ptr %__begin2.0.ptr, align 1 %2 = and i8 %1, 1 %tobool.not = icmp eq i8 %2, 0 @@ -40320,14 +40333,14 @@ if.else.i.i.i37: ; preds = %invoke.cont14 %sub.ptr.rhs.cast.i.i.i.i.i.i39 = ptrtoint ptr %6 to i64 %sub.ptr.sub.i.i.i.i.i.i40 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i38, %sub.ptr.rhs.cast.i.i.i.i.i.i39 %cmp.i.i.i.i.i41 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i40, 9223372036854775800 - br i1 %cmp.i.i.i.i.i41, label %if.then.i.i.i.i.i64.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 + br i1 %cmp.i.i.i.i.i41, label %if.then.i.i.i.i.i65.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 -if.then.i.i.i.i.i64.invoke: ; preds = %if.else.i.i.i37, %_ZN7testing15AssertionResultD2Ev.exit115 - %11 = phi ptr [ @.str.143, %_ZN7testing15AssertionResultD2Ev.exit115 ], [ @.str.125, %if.else.i.i.i37 ] +if.then.i.i.i.i.i65.invoke: ; preds = %if.else.i.i.i37, %_ZN7testing15AssertionResultD2Ev.exit116 + %11 = phi ptr [ @.str.143, %_ZN7testing15AssertionResultD2Ev.exit116 ], [ @.str.125, %if.else.i.i.i37 ] invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull %11) #29 - to label %if.then.i.i.i.i.i64.cont unwind label %lpad.loopexit.split-lp + to label %if.then.i.i.i.i.i65.cont unwind label %lpad.loopexit.split-lp -if.then.i.i.i.i.i64.cont: ; preds = %if.then.i.i.i.i.i64.invoke +if.then.i.i.i.i.i65.cont: ; preds = %if.then.i.i.i.i.i65.invoke unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42: ; preds = %if.else.i.i.i37 @@ -40343,44 +40356,45 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 %mul.i.i.i.i.i.i.i52 = shl nuw nsw i64 %cond.i.i.i.i.i49, 3 - %call5.i.i.i.i.i.i.i67 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i52) #30 + %call5.i.i.i.i.i.i.i68 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i52) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 unwind label %lpad.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 - %cond.i10.i.i.i.i54 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 ], [ %call5.i.i.i.i.i.i.i67, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51 ] + %cond.i10.i.i.i.i54 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 ], [ %call5.i.i.i.i.i.i.i68, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51 ] %add.ptr.i.i.i.i55 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %sub.ptr.div.i.i.i.i.i.i43 store ptr %call12, ptr %add.ptr.i.i.i.i55, align 8 - %cmp.i.i.i11.i.i.i.i56 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i43, 0 - br i1 %cmp.i.i.i11.i.i.i.i56, label %if.then.i.i.i12.i.i.i.i63, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 + %cmp.i.i.i11.i.i.i.i56 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i40, 0 + br i1 %cmp.i.i.i11.i.i.i.i56, label %if.then.i.i.i12.i.i.i.i64, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 -if.then.i.i.i12.i.i.i.i63: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 +if.then.i.i.i12.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i54, ptr align 8 %6, i64 %sub.ptr.sub.i.i.i.i.i.i40, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57: ; preds = %if.then.i.i.i12.i.i.i.i63, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 - %incdec.ptr.i.i.i.i58 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i55, i64 1 - %tobool.not.i.i.i.i.i59 = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i.i59, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61, label %if.then.i21.i.i.i.i60 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57: ; preds = %if.then.i.i.i12.i.i.i.i64, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 + %add.ptr.i.i.i.i.i.i.i58 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i54, i64 %sub.ptr.sub.i.i.i.i.i.i40 + %incdec.ptr.i.i.i.i59 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i58, i64 1 + %tobool.not.i.i.i.i.i60 = icmp eq ptr %6, null + br i1 %tobool.not.i.i.i.i.i60, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62, label %if.then.i20.i.i.i.i61 -if.then.i21.i.i.i.i60: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 +if.then.i20.i.i.i.i61: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 call void @_ZdlPv(ptr noundef nonnull %6) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61: ; preds = %if.then.i21.i.i.i.i60, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62: ; preds = %if.then.i20.i.i.i.i61, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 store ptr %cond.i10.i.i.i.i54, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i58, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i62 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %cond.i.i.i.i.i49 - store ptr %add.ptr19.i.i.i.i62, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i59, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i63 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %cond.i.i.i.i.i49 + store ptr %add.ptr19.i.i.i.i63, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont16 -invoke.cont16: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61, %invoke.cont14 +invoke.cont16: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62, %invoke.cont14 br i1 %tobool.not, label %cond.false, label %cond.true cond.true: ; preds = %invoke.cont16 %tag.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call12, i64 0, i32 2 %12 = load i8, ptr %tag.i.i, align 4 %or.cond.i.i = icmp ugt i8 %12, 4 - br i1 %or.cond.i.i, label %if.then.i69, label %if.end.i.i + br i1 %or.cond.i.i, label %if.then.i70, label %if.end.i.i if.end.i.i: ; preds = %cond.true %cmp6.i.i = icmp eq i8 %12, 1 @@ -40392,44 +40406,44 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %if.end.i. %tag9.phi.trans.insert.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %13, i64 0, i32 2 %.pre.i.i = load i8, ptr %tag9.phi.trans.insert.i.i, align 4 %14 = icmp ugt i8 %.pre.i.i, 4 - br i1 %14, label %if.then.i69, label %if.end.i + br i1 %14, label %if.then.i70, label %if.end.i -if.then.i69: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true - %call1.i70 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) +if.then.i70: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true + %call1.i71 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) to label %invoke.cont26 unwind label %lpad.loopexit if.end.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %if.end.i.i - %call2.i71 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) + %call2.i72 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) to label %invoke.cont26 unwind label %lpad.loopexit cond.false: ; preds = %invoke.cont16 - %tag.i.i72 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 - %15 = load i8, ptr %tag.i.i72, align 4 - %or.cond.i.i73 = icmp ugt i8 %15, 4 - br i1 %or.cond.i.i73, label %if.then.i82, label %if.end.i.i74 - -if.end.i.i74: ; preds = %cond.false - %cmp6.i.i75 = icmp eq i8 %15, 1 - br i1 %cmp6.i.i75, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, label %if.end.i76 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78: ; preds = %if.end.i.i74 - %child.i.i79 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 - %16 = load ptr, ptr %child.i.i79, align 8 - %tag9.phi.trans.insert.i.i80 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %16, i64 0, i32 2 - %.pre.i.i81 = load i8, ptr %tag9.phi.trans.insert.i.i80, align 4 - %17 = icmp ugt i8 %.pre.i.i81, 4 - br i1 %17, label %if.then.i82, label %if.end.i76 - -if.then.i82: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, %cond.false - %call1.i84 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) + %tag.i.i73 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 + %15 = load i8, ptr %tag.i.i73, align 4 + %or.cond.i.i74 = icmp ugt i8 %15, 4 + br i1 %or.cond.i.i74, label %if.then.i83, label %if.end.i.i75 + +if.end.i.i75: ; preds = %cond.false + %cmp6.i.i76 = icmp eq i8 %15, 1 + br i1 %cmp6.i.i76, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, label %if.end.i77 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79: ; preds = %if.end.i.i75 + %child.i.i80 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 + %16 = load ptr, ptr %child.i.i80, align 8 + %tag9.phi.trans.insert.i.i81 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %16, i64 0, i32 2 + %.pre.i.i82 = load i8, ptr %tag9.phi.trans.insert.i.i81, align 4 + %17 = icmp ugt i8 %.pre.i.i82, 4 + br i1 %17, label %if.then.i83, label %if.end.i77 + +if.then.i83: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, %cond.false + %call1.i85 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) to label %invoke.cont26 unwind label %lpad.loopexit -if.end.i76: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, %if.end.i.i74 - %call2.i86 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) +if.end.i77: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, %if.end.i.i75 + %call2.i87 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) to label %invoke.cont26 unwind label %lpad.loopexit -invoke.cont26: ; preds = %if.then.i82, %if.end.i76, %if.then.i69, %if.end.i - %cond23 = phi ptr [ %call1.i70, %if.then.i69 ], [ %call2.i71, %if.end.i ], [ %call1.i84, %if.then.i82 ], [ %call2.i86, %if.end.i76 ] +invoke.cont26: ; preds = %if.then.i83, %if.end.i77, %if.then.i70, %if.end.i + %cond23 = phi ptr [ %call1.i71, %if.then.i70 ], [ %call2.i72, %if.end.i ], [ %call1.i85, %if.then.i83 ], [ %call2.i87, %if.end.i77 ] store ptr %cond23, ptr %tree, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar, i32 1, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %tree) to label %invoke.cont27 unwind label %lpad.loopexit @@ -40437,16 +40451,16 @@ invoke.cont26: ; preds = %if.then.i82, %if.en invoke.cont27: ; preds = %invoke.cont26 %18 = load i8, ptr %gtest_ar, align 8 %19 = and i8 %18, 1 - %tobool.i87.not = icmp eq i8 %19, 0 - br i1 %tobool.i87.not, label %if.else, label %if.end + %tobool.i88.not = icmp eq i8 %19, 0 + br i1 %tobool.i88.not, label %if.else, label %if.end -lpad.loopexit: ; preds = %for.body, %invoke.cont, %invoke.cont9, %invoke.cont11, %invoke.cont52, %invoke.cont26, %invoke.cont6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont13, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %if.then.i69, %if.end.i, %if.then.i82, %if.end.i76, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i161 - %lpad.loopexit178 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %for.body, %invoke.cont, %invoke.cont9, %invoke.cont11, %invoke.cont52, %invoke.cont26, %invoke.cont6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont13, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %if.then.i70, %if.end.i, %if.then.i83, %if.end.i77, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i162 + %lpad.loopexit179 = landingpad { ptr, i32 } cleanup br label %ehcleanup104 -lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i64.invoke - %lpad.loopexit.split-lp179 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i65.invoke + %lpad.loopexit.split-lp180 = landingpad { ptr, i32 } cleanup br label %ehcleanup104 @@ -40508,24 +40522,24 @@ lpad37: ; preds = %invoke.cont36 ehcleanup: ; preds = %lpad37, %lpad33 %.pn = phi { ptr, i32 } [ %25, %lpad37 ], [ %24, %lpad33 ] %26 = load ptr, ptr %ref.tmp29, align 8 - %cmp.not.i.i88 = icmp eq ptr %26, null - br i1 %cmp.not.i.i88, label %_ZN7testing7MessageD2Ev.exit92, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 + %cmp.not.i.i89 = icmp eq ptr %26, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89: ; preds = %ehcleanup - %vtable.i.i.i90 = load ptr, ptr %26, align 8 - %vfn.i.i.i91 = getelementptr inbounds ptr, ptr %vtable.i.i.i90, i64 1 - %27 = load ptr, ptr %vfn.i.i.i91, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %ehcleanup + %vtable.i.i.i91 = load ptr, ptr %26, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %27 = load ptr, ptr %vfn.i.i.i92, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 - br label %_ZN7testing7MessageD2Ev.exit92 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit92: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 +_ZN7testing7MessageD2Ev.exit93: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp29, align 8 br label %ehcleanup39 if.end: ; preds = %invoke.cont27, %_ZN7testing7MessageD2Ev.exit %28 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i93 = icmp eq ptr %28, null - br i1 %cmp.not.i.i93, label %invoke.cont52, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i94 = icmp eq ptr %28, null + br i1 %cmp.not.i.i94, label %invoke.cont52, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #28 @@ -40540,12 +40554,12 @@ invoke.cont52: ; preds = %_ZNKSt14default_del %arrayidx.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %29, i64 0, i32 3, i64 1 %30 = load i8, ptr %arrayidx.i.i, align 1 %conv.i.i = zext i8 %30 to i64 - %add.ptr.i94 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i + %add.ptr.i95 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %29, i64 0, i32 3, i64 2 %31 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %31 to i64 %sub.i.i = sub nsw i64 %conv.i.i.i, %conv.i.i - store ptr %add.ptr.i94, ptr %ref.tmp51, align 8 + store ptr %add.ptr.i95, ptr %ref.tmp51, align 8 store i64 %sub.i.i, ptr %0, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_13SizeIsMatcherIjEEEclIN4absl4SpanIKPNS6_13cord_internal7CordRepEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar40, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp41, ptr noundef nonnull @.str.123, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp51) to label %invoke.cont54 unwind label %lpad.loopexit @@ -40553,11 +40567,11 @@ invoke.cont52: ; preds = %_ZNKSt14default_del invoke.cont54: ; preds = %invoke.cont52 %32 = load i8, ptr %gtest_ar40, align 8 %33 = and i8 %32, 1 - %tobool.i95.not = icmp eq i8 %33, 0 - br i1 %tobool.i95.not, label %if.else57, label %if.end70 + %tobool.i96.not = icmp eq i8 %33, 0 + br i1 %tobool.i96.not, label %if.else57, label %if.end70 -ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit92, %lpad30 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit92 ], [ %23, %lpad30 ] +ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit93, %lpad30 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit93 ], [ %23, %lpad30 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup104 @@ -40566,17 +40580,17 @@ if.else57: ; preds = %invoke.cont54 to label %invoke.cont60 unwind label %lpad59 invoke.cont60: ; preds = %if.else57 - %34 = load ptr, ptr %message_.i.i96, align 8 - %cmp.i.i.not.i.i97 = icmp eq ptr %34, null - br i1 %cmp.i.i.not.i.i97, label %invoke.cont63, label %cond.true.i.i98 + %34 = load ptr, ptr %message_.i.i97, align 8 + %cmp.i.i.not.i.i98 = icmp eq ptr %34, null + br i1 %cmp.i.i.not.i.i98, label %invoke.cont63, label %cond.true.i.i99 -cond.true.i.i98: ; preds = %invoke.cont60 - %call4.i.i99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 +cond.true.i.i99: ; preds = %invoke.cont60 + %call4.i.i100 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 br label %invoke.cont63 -invoke.cont63: ; preds = %cond.true.i.i98, %invoke.cont60 - %cond.i.i100 = phi ptr [ %call4.i.i99, %cond.true.i.i98 ], [ @.str.120, %invoke.cont60 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 657, ptr noundef %cond.i.i100) +invoke.cont63: ; preds = %cond.true.i.i99, %invoke.cont60 + %cond.i.i101 = phi ptr [ %call4.i.i100, %cond.true.i.i99 ], [ @.str.120, %invoke.cont60 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 657, ptr noundef %cond.i.i101) to label %invoke.cont65 unwind label %lpad62 invoke.cont65: ; preds = %invoke.cont63 @@ -40586,17 +40600,17 @@ invoke.cont65: ; preds = %invoke.cont63 invoke.cont67: ; preds = %invoke.cont65 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61) #28 %35 = load ptr, ptr %ref.tmp58, align 8 - %cmp.not.i.i102 = icmp eq ptr %35, null - br i1 %cmp.not.i.i102, label %_ZN7testing7MessageD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 + %cmp.not.i.i103 = icmp eq ptr %35, null + br i1 %cmp.not.i.i103, label %_ZN7testing7MessageD2Ev.exit107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103: ; preds = %invoke.cont67 - %vtable.i.i.i104 = load ptr, ptr %35, align 8 - %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 - %36 = load ptr, ptr %vfn.i.i.i105, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104: ; preds = %invoke.cont67 + %vtable.i.i.i105 = load ptr, ptr %35, align 8 + %vfn.i.i.i106 = getelementptr inbounds ptr, ptr %vtable.i.i.i105, i64 1 + %36 = load ptr, ptr %vfn.i.i.i106, align 8 call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 - br label %_ZN7testing7MessageD2Ev.exit106 + br label %_ZN7testing7MessageD2Ev.exit107 -_ZN7testing7MessageD2Ev.exit106: ; preds = %invoke.cont67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 +_ZN7testing7MessageD2Ev.exit107: ; preds = %invoke.cont67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 store ptr null, ptr %ref.tmp58, align 8 br label %if.end70 @@ -40619,78 +40633,76 @@ lpad66: ; preds = %invoke.cont65 ehcleanup69: ; preds = %lpad66, %lpad62 %.pn13 = phi { ptr, i32 } [ %39, %lpad66 ], [ %38, %lpad62 ] %40 = load ptr, ptr %ref.tmp58, align 8 - %cmp.not.i.i107 = icmp eq ptr %40, null - br i1 %cmp.not.i.i107, label %_ZN7testing7MessageD2Ev.exit111, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 + %cmp.not.i.i108 = icmp eq ptr %40, null + br i1 %cmp.not.i.i108, label %_ZN7testing7MessageD2Ev.exit112, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108: ; preds = %ehcleanup69 - %vtable.i.i.i109 = load ptr, ptr %40, align 8 - %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 - %41 = load ptr, ptr %vfn.i.i.i110, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109: ; preds = %ehcleanup69 + %vtable.i.i.i110 = load ptr, ptr %40, align 8 + %vfn.i.i.i111 = getelementptr inbounds ptr, ptr %vtable.i.i.i110, i64 1 + %41 = load ptr, ptr %vfn.i.i.i111, align 8 call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 - br label %_ZN7testing7MessageD2Ev.exit111 + br label %_ZN7testing7MessageD2Ev.exit112 -_ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup69, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 +_ZN7testing7MessageD2Ev.exit112: ; preds = %ehcleanup69, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 store ptr null, ptr %ref.tmp58, align 8 br label %ehcleanup71 -if.end70: ; preds = %invoke.cont54, %_ZN7testing7MessageD2Ev.exit106 - %42 = load ptr, ptr %message_.i.i96, align 8 - %cmp.not.i.i113 = icmp eq ptr %42, null - br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 +if.end70: ; preds = %invoke.cont54, %_ZN7testing7MessageD2Ev.exit107 + %42 = load ptr, ptr %message_.i.i97, align 8 + %cmp.not.i.i114 = icmp eq ptr %42, null + br i1 %cmp.not.i.i114, label %_ZN7testing15AssertionResultD2Ev.exit116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end70 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %if.end70 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 call void @_ZdlPv(ptr noundef nonnull %42) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit115 + br label %_ZN7testing15AssertionResultD2Ev.exit116 -_ZN7testing15AssertionResultD2Ev.exit115: ; preds = %if.end70, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 - store ptr null, ptr %message_.i.i96, align 8 +_ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end70, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 + store ptr null, ptr %message_.i.i97, align 8 %43 = load ptr, ptr %flats, align 8, !noalias !659 %44 = load ptr, ptr %_M_finish.i.i, align 8, !noalias !659 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %44 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %43 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i64.invoke, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i65.invoke, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 %cmp.not.i.i.i.i.i.i = icmp eq ptr %44, %43 br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont.thread.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %call5.i.i.i.i1.i.i.i.i117 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad.loopexit + %call5.i.i.i.i1.i.i.i.i118 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp73, align 8, !alias.scope !662 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !662 br label %invoke.cont77 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i117, ptr align 8 %43, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !665 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i118, ptr align 8 %43, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !665 call void @llvm.experimental.noalias.scope.decl(metadata !662) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp73, i8 0, i64 24, i1 false), !alias.scope !662 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %if.then.i.i.i.i.i119 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !662 + to label %if.then.i.i.i.i.i120 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !662 -if.then.i.i.i.i.i119: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i120: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp73, align 8, !alias.scope !662 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !662 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i117, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i118, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont77 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %45 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i137 + br label %if.then.i.i.i.i138 -invoke.cont77: ; preds = %if.then.i.i.i.i.i119, %invoke.cont.thread.i - %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i119 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp74.sroa.0.1201 = phi ptr [ %call5.i.i.i.i1.i.i.i.i117, %if.then.i.i.i.i.i119 ], [ null, %invoke.cont.thread.i ] +invoke.cont77: ; preds = %if.then.i.i.i.i.i120, %invoke.cont.thread.i + %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i120 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] + %agg.tmp74.sroa.0.1202 = phi ptr [ %call5.i.i.i.i1.i.i.i.i118, %if.then.i.i.i.i.i120 ], [ null, %invoke.cont.thread.i ] store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !662 %46 = load ptr, ptr %tree, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp78, i8 0, i64 24, i1 false), !alias.scope !668 @@ -40711,37 +40723,37 @@ invoke.cont80: ; preds = %invoke.cont77 invoke.cont82: ; preds = %invoke.cont80 %49 = load ptr, ptr %ref.tmp78, align 8 %tobool.not.i.i.i = icmp eq ptr %49, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i123 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i124 -if.then.i.i.i123: ; preds = %invoke.cont82 +if.then.i.i.i124: ; preds = %invoke.cont82 call void @_ZdlPv(ptr noundef nonnull %49) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont82, %if.then.i.i.i123 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont82, %if.then.i.i.i124 %50 = load ptr, ptr %ref.tmp73, align 8 - %tobool.not.i.i.i.i.i124 = icmp eq ptr %50, null - br i1 %tobool.not.i.i.i.i.i124, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i125 + %tobool.not.i.i.i.i.i125 = icmp eq ptr %50, null + br i1 %tobool.not.i.i.i.i.i125, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i126 -if.then.i.i.i.i.i125: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit +if.then.i.i.i.i.i126: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %50) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %if.then.i.i.i.i.i125 - %tobool.not.i.i.i.i126 = icmp eq ptr %agg.tmp74.sroa.0.1201, null - br i1 %tobool.not.i.i.i.i126, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i127 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %if.then.i.i.i.i.i126 + %tobool.not.i.i.i.i127 = icmp eq ptr %agg.tmp74.sroa.0.1202, null + br i1 %tobool.not.i.i.i.i127, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i128 -if.then.i.i.i.i127: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1201) #31 +if.then.i.i.i.i128: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1202) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i127 +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i128 %51 = load i8, ptr %gtest_ar72, align 8 %52 = and i8 %51, 1 - %tobool.i129.not = icmp eq i8 %52, 0 - br i1 %tobool.i129.not, label %if.else88, label %if.end101 + %tobool.i130.not = icmp eq i8 %52, 0 + br i1 %tobool.i130.not, label %if.else88, label %if.end101 -ehcleanup71: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad59 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit111 ], [ %37, %lpad59 ] +ehcleanup71: ; preds = %_ZN7testing7MessageD2Ev.exit112, %lpad59 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit112 ], [ %37, %lpad59 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar40) #28 br label %ehcleanup104 @@ -40749,8 +40761,8 @@ lpad81: ; preds = %invoke.cont80 %53 = landingpad { ptr, i32 } cleanup %54 = load ptr, ptr %ref.tmp78, align 8 - %tobool.not.i.i.i130 = icmp eq ptr %54, null - br i1 %tobool.not.i.i.i130, label %ehcleanup84, label %ehcleanup84.sink.split + %tobool.not.i.i.i131 = icmp eq ptr %54, null + br i1 %tobool.not.i.i.i131, label %ehcleanup84, label %ehcleanup84.sink.split ehcleanup84.sink.split: ; preds = %lpad81, %lpad.i %.sink = phi ptr [ %48, %lpad.i ], [ %54, %lpad81 ] @@ -40761,21 +40773,21 @@ ehcleanup84.sink.split: ; preds = %lpad81, %lpad.i ehcleanup84: ; preds = %ehcleanup84.sink.split, %lpad81, %lpad.i %.pn16 = phi { ptr, i32 } [ %47, %lpad.i ], [ %53, %lpad81 ], [ %.pn16.ph, %ehcleanup84.sink.split ] %55 = load ptr, ptr %ref.tmp73, align 8 - %tobool.not.i.i.i.i.i133 = icmp eq ptr %55, null - br i1 %tobool.not.i.i.i.i.i133, label %ehcleanup85, label %if.then.i.i.i.i.i134 + %tobool.not.i.i.i.i.i134 = icmp eq ptr %55, null + br i1 %tobool.not.i.i.i.i.i134, label %ehcleanup85, label %if.then.i.i.i.i.i135 -if.then.i.i.i.i.i134: ; preds = %ehcleanup84 +if.then.i.i.i.i.i135: ; preds = %ehcleanup84 call void @_ZdlPv(ptr noundef nonnull %55) #31 br label %ehcleanup85 -ehcleanup85: ; preds = %if.then.i.i.i.i.i134, %ehcleanup84 - %tobool.not.i.i.i.i136 = icmp eq ptr %agg.tmp74.sroa.0.1201, null - br i1 %tobool.not.i.i.i.i136, label %ehcleanup104, label %if.then.i.i.i.i137 +ehcleanup85: ; preds = %if.then.i.i.i.i.i135, %ehcleanup84 + %tobool.not.i.i.i.i137 = icmp eq ptr %agg.tmp74.sroa.0.1202, null + br i1 %tobool.not.i.i.i.i137, label %ehcleanup104, label %if.then.i.i.i.i138 -if.then.i.i.i.i137: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup85 - %.pn16.pn208 = phi { ptr, i32 } [ %.pn16, %ehcleanup85 ], [ %45, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - %agg.tmp74.sroa.0.1203207 = phi ptr [ %agg.tmp74.sroa.0.1201, %ehcleanup85 ], [ %call5.i.i.i.i1.i.i.i.i117, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1203207) #31 +if.then.i.i.i.i138: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup85 + %.pn16.pn209 = phi { ptr, i32 } [ %.pn16, %ehcleanup85 ], [ %45, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + %agg.tmp74.sroa.0.1204208 = phi ptr [ %agg.tmp74.sroa.0.1202, %ehcleanup85 ], [ %call5.i.i.i.i1.i.i.i.i118, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1204208) #31 br label %ehcleanup104 if.else88: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit @@ -40783,17 +40795,17 @@ if.else88: ; preds = %_ZN7testing8interna to label %invoke.cont91 unwind label %lpad90 invoke.cont91: ; preds = %if.else88 - %56 = load ptr, ptr %message_.i.i140, align 8 - %cmp.i.i.not.i.i141 = icmp eq ptr %56, null - br i1 %cmp.i.i.not.i.i141, label %invoke.cont94, label %cond.true.i.i142 + %56 = load ptr, ptr %message_.i.i141, align 8 + %cmp.i.i.not.i.i142 = icmp eq ptr %56, null + br i1 %cmp.i.i.not.i.i142, label %invoke.cont94, label %cond.true.i.i143 -cond.true.i.i142: ; preds = %invoke.cont91 - %call4.i.i143 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %56) #28 +cond.true.i.i143: ; preds = %invoke.cont91 + %call4.i.i144 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %56) #28 br label %invoke.cont94 -invoke.cont94: ; preds = %cond.true.i.i142, %invoke.cont91 - %cond.i.i144 = phi ptr [ %call4.i.i143, %cond.true.i.i142 ], [ @.str.120, %invoke.cont91 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 660, ptr noundef %cond.i.i144) +invoke.cont94: ; preds = %cond.true.i.i143, %invoke.cont91 + %cond.i.i145 = phi ptr [ %call4.i.i144, %cond.true.i.i143 ], [ @.str.120, %invoke.cont91 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 660, ptr noundef %cond.i.i145) to label %invoke.cont96 unwind label %lpad93 invoke.cont96: ; preds = %invoke.cont94 @@ -40803,17 +40815,17 @@ invoke.cont96: ; preds = %invoke.cont94 invoke.cont98: ; preds = %invoke.cont96 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92) #28 %57 = load ptr, ptr %ref.tmp89, align 8 - %cmp.not.i.i146 = icmp eq ptr %57, null - br i1 %cmp.not.i.i146, label %_ZN7testing7MessageD2Ev.exit150, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147 + %cmp.not.i.i147 = icmp eq ptr %57, null + br i1 %cmp.not.i.i147, label %_ZN7testing7MessageD2Ev.exit151, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147: ; preds = %invoke.cont98 - %vtable.i.i.i148 = load ptr, ptr %57, align 8 - %vfn.i.i.i149 = getelementptr inbounds ptr, ptr %vtable.i.i.i148, i64 1 - %58 = load ptr, ptr %vfn.i.i.i149, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148: ; preds = %invoke.cont98 + %vtable.i.i.i149 = load ptr, ptr %57, align 8 + %vfn.i.i.i150 = getelementptr inbounds ptr, ptr %vtable.i.i.i149, i64 1 + %58 = load ptr, ptr %vfn.i.i.i150, align 8 call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #28 - br label %_ZN7testing7MessageD2Ev.exit150 + br label %_ZN7testing7MessageD2Ev.exit151 -_ZN7testing7MessageD2Ev.exit150: ; preds = %invoke.cont98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147 +_ZN7testing7MessageD2Ev.exit151: ; preds = %invoke.cont98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 store ptr null, ptr %ref.tmp89, align 8 br label %if.end101 @@ -40836,62 +40848,62 @@ lpad97: ; preds = %invoke.cont96 ehcleanup100: ; preds = %lpad97, %lpad93 %.pn19 = phi { ptr, i32 } [ %61, %lpad97 ], [ %60, %lpad93 ] %62 = load ptr, ptr %ref.tmp89, align 8 - %cmp.not.i.i151 = icmp eq ptr %62, null - br i1 %cmp.not.i.i151, label %_ZN7testing7MessageD2Ev.exit155, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 + %cmp.not.i.i152 = icmp eq ptr %62, null + br i1 %cmp.not.i.i152, label %_ZN7testing7MessageD2Ev.exit156, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152: ; preds = %ehcleanup100 - %vtable.i.i.i153 = load ptr, ptr %62, align 8 - %vfn.i.i.i154 = getelementptr inbounds ptr, ptr %vtable.i.i.i153, i64 1 - %63 = load ptr, ptr %vfn.i.i.i154, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153: ; preds = %ehcleanup100 + %vtable.i.i.i154 = load ptr, ptr %62, align 8 + %vfn.i.i.i155 = getelementptr inbounds ptr, ptr %vtable.i.i.i154, i64 1 + %63 = load ptr, ptr %vfn.i.i.i155, align 8 call void %63(ptr noundef nonnull align 8 dereferenceable(128) %62) #28 - br label %_ZN7testing7MessageD2Ev.exit155 + br label %_ZN7testing7MessageD2Ev.exit156 -_ZN7testing7MessageD2Ev.exit155: ; preds = %ehcleanup100, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 +_ZN7testing7MessageD2Ev.exit156: ; preds = %ehcleanup100, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 store ptr null, ptr %ref.tmp89, align 8 br label %ehcleanup102 -if.end101: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit150 - %64 = load ptr, ptr %message_.i.i140, align 8 - %cmp.not.i.i157 = icmp eq ptr %64, null - br i1 %cmp.not.i.i157, label %_ZN7testing15AssertionResultD2Ev.exit159, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +if.end101: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit151 + %64 = load ptr, ptr %message_.i.i141, align 8 + %cmp.not.i.i158 = icmp eq ptr %64, null + br i1 %cmp.not.i.i158, label %_ZN7testing15AssertionResultD2Ev.exit160, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %if.end101 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %if.end101 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #28 call void @_ZdlPv(ptr noundef nonnull %64) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit159 + br label %_ZN7testing15AssertionResultD2Ev.exit160 -_ZN7testing15AssertionResultD2Ev.exit159: ; preds = %if.end101, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 - store ptr null, ptr %message_.i.i140, align 8 +_ZN7testing15AssertionResultD2Ev.exit160: ; preds = %if.end101, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 + store ptr null, ptr %message_.i.i141, align 8 %65 = load ptr, ptr %tree, align 8 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %65, i64 0, i32 1 %66 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %66, 2 - br i1 %cmp.i.not.i, label %if.then.i161, label %invoke.cont103 + br i1 %cmp.i.not.i, label %if.then.i162, label %invoke.cont103 -if.then.i161: ; preds = %_ZN7testing15AssertionResultD2Ev.exit159 +if.then.i162: ; preds = %_ZN7testing15AssertionResultD2Ev.exit160 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %65) to label %invoke.cont103 unwind label %lpad.loopexit -invoke.cont103: ; preds = %_ZN7testing15AssertionResultD2Ev.exit159, %if.then.i161 +invoke.cont103: ; preds = %_ZN7testing15AssertionResultD2Ev.exit160, %if.then.i162 %67 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i163 = icmp eq ptr %67, null - br i1 %tobool.not.i.i.i163, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165, label %if.then.i.i.i164 + %tobool.not.i.i.i164 = icmp eq ptr %67, null + br i1 %tobool.not.i.i.i164, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166, label %if.then.i.i.i165 -if.then.i.i.i164: ; preds = %invoke.cont103 +if.then.i.i.i165: ; preds = %invoke.cont103 call void @_ZdlPv(ptr noundef nonnull %67) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165: ; preds = %invoke.cont103, %if.then.i.i.i164 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166: ; preds = %invoke.cont103, %if.then.i.i.i165 %68 = load ptr, ptr %refs, align 8 %69 = load ptr, ptr %_M_finish.i.i.i, align 8 %cmp.i.not4.i = icmp eq ptr %68, %69 br i1 %cmp.i.not4.i, label %for.end.i, label %for.body.i -for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 ] +for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166, %for.inc.i + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 ] %70 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i167 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %70, i64 0, i32 1 - %71 = atomicrmw sub ptr %refcount.i.i167, i32 2 acq_rel, align 4 + %refcount.i.i168 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %70, i64 0, i32 1 + %71 = atomicrmw sub ptr %refcount.i.i168, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %71, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -40901,19 +40913,19 @@ if.then.i.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i.i, %for.body.i %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i168 = icmp eq ptr %incdec.ptr.i.i, %69 - br i1 %cmp.i.not.i168, label %for.end.loopexit.i, label %for.body.i + %cmp.i.not.i169 = icmp eq ptr %incdec.ptr.i.i, %69 + br i1 %cmp.i.not.i169, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 br label %for.end.i -for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 - %72 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 ] - %tobool.not.i.i.i.i169 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i.i169, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i170 +for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 + %72 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 ] + %tobool.not.i.i.i.i170 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i.i170, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i171 -if.then.i.i.i.i170: ; preds = %for.end.i +if.then.i.i.i.i171: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %72) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit @@ -40924,28 +40936,28 @@ terminate.lpad.i: ; preds = %if.then.i.i call void @__clang_call_terminate(ptr %74) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i170 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i171 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_639) #28 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx189, 1 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx190, 1 %cmp.not = icmp eq i64 %__begin2.0.add, 2 br i1 %cmp.not, label %for.end, label %for.body -ehcleanup102: ; preds = %_ZN7testing7MessageD2Ev.exit155, %lpad90 - %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit155 ], [ %59, %lpad90 ] +ehcleanup102: ; preds = %_ZN7testing7MessageD2Ev.exit156, %lpad90 + %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit156 ], [ %59, %lpad90 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar72) #28 br label %ehcleanup104 -ehcleanup104: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i137, %ehcleanup85, %ehcleanup102, %ehcleanup71, %ehcleanup39 - %.pn22 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup102 ], [ %.pn13.pn, %ehcleanup71 ], [ %.pn.pn, %ehcleanup39 ], [ %.pn16, %ehcleanup85 ], [ %.pn16.pn208, %if.then.i.i.i.i137 ], [ %lpad.loopexit178, %lpad.loopexit ], [ %lpad.loopexit.split-lp179, %lpad.loopexit.split-lp ] +ehcleanup104: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i138, %ehcleanup85, %ehcleanup102, %ehcleanup71, %ehcleanup39 + %.pn22 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup102 ], [ %.pn13.pn, %ehcleanup71 ], [ %.pn.pn, %ehcleanup39 ], [ %.pn16, %ehcleanup85 ], [ %.pn16.pn209, %if.then.i.i.i.i138 ], [ %lpad.loopexit179, %lpad.loopexit ], [ %lpad.loopexit.split-lp180, %lpad.loopexit.split-lp ] %75 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i172 = icmp eq ptr %75, null - br i1 %tobool.not.i.i.i172, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174, label %if.then.i.i.i173 + %tobool.not.i.i.i173 = icmp eq ptr %75, null + br i1 %tobool.not.i.i.i173, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175, label %if.then.i.i.i174 -if.then.i.i.i173: ; preds = %ehcleanup104 +if.then.i.i.i174: ; preds = %ehcleanup104 call void @_ZdlPv(ptr noundef nonnull %75) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174: ; preds = %ehcleanup104, %if.then.i.i.i173 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175: ; preds = %ehcleanup104, %if.then.i.i.i174 call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs) #28 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_639) #28 resume { ptr, i32 } %.pn22 @@ -42081,16 +42093,16 @@ entry: %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %0 = getelementptr inbounds { ptr, i64 }, ptr %ref.tmp51, i64 0, i32 1 - %message_.i.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 + %message_.i.i97 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %flats, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp73, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp73, i64 0, i32 2 - %message_.i.i140 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar72, i64 0, i32 1 + %message_.i.i141 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar72, i64 0, i32 1 br label %for.body for.body: ; preds = %entry, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit - %__begin2.0.idx189 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx189 + %__begin2.0.idx190 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx190 %1 = load i8, ptr %__begin2.0.ptr, align 1 %2 = and i8 %1, 1 %tobool.not = icmp eq i8 %2, 0 @@ -42161,14 +42173,14 @@ if.else.i.i.i37: ; preds = %invoke.cont14 %sub.ptr.rhs.cast.i.i.i.i.i.i39 = ptrtoint ptr %6 to i64 %sub.ptr.sub.i.i.i.i.i.i40 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i38, %sub.ptr.rhs.cast.i.i.i.i.i.i39 %cmp.i.i.i.i.i41 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i40, 9223372036854775800 - br i1 %cmp.i.i.i.i.i41, label %if.then.i.i.i.i.i64.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 + br i1 %cmp.i.i.i.i.i41, label %if.then.i.i.i.i.i65.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 -if.then.i.i.i.i.i64.invoke: ; preds = %if.else.i.i.i37, %_ZN7testing15AssertionResultD2Ev.exit115 - %11 = phi ptr [ @.str.143, %_ZN7testing15AssertionResultD2Ev.exit115 ], [ @.str.125, %if.else.i.i.i37 ] +if.then.i.i.i.i.i65.invoke: ; preds = %if.else.i.i.i37, %_ZN7testing15AssertionResultD2Ev.exit116 + %11 = phi ptr [ @.str.143, %_ZN7testing15AssertionResultD2Ev.exit116 ], [ @.str.125, %if.else.i.i.i37 ] invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull %11) #29 - to label %if.then.i.i.i.i.i64.cont unwind label %lpad.loopexit.split-lp + to label %if.then.i.i.i.i.i65.cont unwind label %lpad.loopexit.split-lp -if.then.i.i.i.i.i64.cont: ; preds = %if.then.i.i.i.i.i64.invoke +if.then.i.i.i.i.i65.cont: ; preds = %if.then.i.i.i.i.i65.invoke unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42: ; preds = %if.else.i.i.i37 @@ -42184,44 +42196,45 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 %mul.i.i.i.i.i.i.i52 = shl nuw nsw i64 %cond.i.i.i.i.i49, 3 - %call5.i.i.i.i.i.i.i67 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i52) #30 + %call5.i.i.i.i.i.i.i68 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i52) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 unwind label %lpad.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 - %cond.i10.i.i.i.i54 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 ], [ %call5.i.i.i.i.i.i.i67, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51 ] + %cond.i10.i.i.i.i54 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 ], [ %call5.i.i.i.i.i.i.i68, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51 ] %add.ptr.i.i.i.i55 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %sub.ptr.div.i.i.i.i.i.i43 store ptr %call12, ptr %add.ptr.i.i.i.i55, align 8 - %cmp.i.i.i11.i.i.i.i56 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i43, 0 - br i1 %cmp.i.i.i11.i.i.i.i56, label %if.then.i.i.i12.i.i.i.i63, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 + %cmp.i.i.i11.i.i.i.i56 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i40, 0 + br i1 %cmp.i.i.i11.i.i.i.i56, label %if.then.i.i.i12.i.i.i.i64, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 -if.then.i.i.i12.i.i.i.i63: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 +if.then.i.i.i12.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i54, ptr align 8 %6, i64 %sub.ptr.sub.i.i.i.i.i.i40, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57: ; preds = %if.then.i.i.i12.i.i.i.i63, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 - %incdec.ptr.i.i.i.i58 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i55, i64 1 - %tobool.not.i.i.i.i.i59 = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i.i59, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61, label %if.then.i21.i.i.i.i60 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57: ; preds = %if.then.i.i.i12.i.i.i.i64, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 + %add.ptr.i.i.i.i.i.i.i58 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i54, i64 %sub.ptr.sub.i.i.i.i.i.i40 + %incdec.ptr.i.i.i.i59 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i58, i64 1 + %tobool.not.i.i.i.i.i60 = icmp eq ptr %6, null + br i1 %tobool.not.i.i.i.i.i60, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62, label %if.then.i20.i.i.i.i61 -if.then.i21.i.i.i.i60: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 +if.then.i20.i.i.i.i61: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 call void @_ZdlPv(ptr noundef nonnull %6) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61: ; preds = %if.then.i21.i.i.i.i60, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62: ; preds = %if.then.i20.i.i.i.i61, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 store ptr %cond.i10.i.i.i.i54, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i58, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i62 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %cond.i.i.i.i.i49 - store ptr %add.ptr19.i.i.i.i62, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i59, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i63 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %cond.i.i.i.i.i49 + store ptr %add.ptr19.i.i.i.i63, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont16 -invoke.cont16: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61, %invoke.cont14 +invoke.cont16: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62, %invoke.cont14 br i1 %tobool.not, label %cond.false, label %cond.true cond.true: ; preds = %invoke.cont16 %tag.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call12, i64 0, i32 2 %12 = load i8, ptr %tag.i.i, align 4 %or.cond.i.i = icmp ugt i8 %12, 4 - br i1 %or.cond.i.i, label %if.then.i69, label %if.end.i.i + br i1 %or.cond.i.i, label %if.then.i70, label %if.end.i.i if.end.i.i: ; preds = %cond.true %cmp6.i.i = icmp eq i8 %12, 1 @@ -42233,44 +42246,44 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %if.end.i. %tag9.phi.trans.insert.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %13, i64 0, i32 2 %.pre.i.i = load i8, ptr %tag9.phi.trans.insert.i.i, align 4 %14 = icmp ugt i8 %.pre.i.i, 4 - br i1 %14, label %if.then.i69, label %if.end.i + br i1 %14, label %if.then.i70, label %if.end.i -if.then.i69: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true - %call1.i70 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) +if.then.i70: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true + %call1.i71 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) to label %invoke.cont26 unwind label %lpad.loopexit if.end.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %if.end.i.i - %call2.i71 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) + %call2.i72 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) to label %invoke.cont26 unwind label %lpad.loopexit cond.false: ; preds = %invoke.cont16 - %tag.i.i72 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 - %15 = load i8, ptr %tag.i.i72, align 4 - %or.cond.i.i73 = icmp ugt i8 %15, 4 - br i1 %or.cond.i.i73, label %if.then.i82, label %if.end.i.i74 - -if.end.i.i74: ; preds = %cond.false - %cmp6.i.i75 = icmp eq i8 %15, 1 - br i1 %cmp6.i.i75, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, label %if.end.i76 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78: ; preds = %if.end.i.i74 - %child.i.i79 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 - %16 = load ptr, ptr %child.i.i79, align 8 - %tag9.phi.trans.insert.i.i80 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %16, i64 0, i32 2 - %.pre.i.i81 = load i8, ptr %tag9.phi.trans.insert.i.i80, align 4 - %17 = icmp ugt i8 %.pre.i.i81, 4 - br i1 %17, label %if.then.i82, label %if.end.i76 - -if.then.i82: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, %cond.false - %call1.i84 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) + %tag.i.i73 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 + %15 = load i8, ptr %tag.i.i73, align 4 + %or.cond.i.i74 = icmp ugt i8 %15, 4 + br i1 %or.cond.i.i74, label %if.then.i83, label %if.end.i.i75 + +if.end.i.i75: ; preds = %cond.false + %cmp6.i.i76 = icmp eq i8 %15, 1 + br i1 %cmp6.i.i76, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, label %if.end.i77 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79: ; preds = %if.end.i.i75 + %child.i.i80 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 + %16 = load ptr, ptr %child.i.i80, align 8 + %tag9.phi.trans.insert.i.i81 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %16, i64 0, i32 2 + %.pre.i.i82 = load i8, ptr %tag9.phi.trans.insert.i.i81, align 4 + %17 = icmp ugt i8 %.pre.i.i82, 4 + br i1 %17, label %if.then.i83, label %if.end.i77 + +if.then.i83: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, %cond.false + %call1.i85 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) to label %invoke.cont26 unwind label %lpad.loopexit -if.end.i76: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, %if.end.i.i74 - %call2.i86 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) +if.end.i77: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, %if.end.i.i75 + %call2.i87 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) to label %invoke.cont26 unwind label %lpad.loopexit -invoke.cont26: ; preds = %if.then.i82, %if.end.i76, %if.then.i69, %if.end.i - %cond23 = phi ptr [ %call1.i70, %if.then.i69 ], [ %call2.i71, %if.end.i ], [ %call1.i84, %if.then.i82 ], [ %call2.i86, %if.end.i76 ] +invoke.cont26: ; preds = %if.then.i83, %if.end.i77, %if.then.i70, %if.end.i + %cond23 = phi ptr [ %call1.i71, %if.then.i70 ], [ %call2.i72, %if.end.i ], [ %call1.i85, %if.then.i83 ], [ %call2.i87, %if.end.i77 ] store ptr %cond23, ptr %tree, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar, i32 1, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %tree) to label %invoke.cont27 unwind label %lpad.loopexit @@ -42278,16 +42291,16 @@ invoke.cont26: ; preds = %if.then.i82, %if.en invoke.cont27: ; preds = %invoke.cont26 %18 = load i8, ptr %gtest_ar, align 8 %19 = and i8 %18, 1 - %tobool.i87.not = icmp eq i8 %19, 0 - br i1 %tobool.i87.not, label %if.else, label %if.end + %tobool.i88.not = icmp eq i8 %19, 0 + br i1 %tobool.i88.not, label %if.else, label %if.end -lpad.loopexit: ; preds = %for.body, %invoke.cont, %invoke.cont9, %invoke.cont11, %invoke.cont52, %invoke.cont26, %invoke.cont6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont13, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %if.then.i69, %if.end.i, %if.then.i82, %if.end.i76, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i161 - %lpad.loopexit178 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %for.body, %invoke.cont, %invoke.cont9, %invoke.cont11, %invoke.cont52, %invoke.cont26, %invoke.cont6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont13, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %if.then.i70, %if.end.i, %if.then.i83, %if.end.i77, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i162 + %lpad.loopexit179 = landingpad { ptr, i32 } cleanup br label %ehcleanup104 -lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i64.invoke - %lpad.loopexit.split-lp179 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i65.invoke + %lpad.loopexit.split-lp180 = landingpad { ptr, i32 } cleanup br label %ehcleanup104 @@ -42349,24 +42362,24 @@ lpad37: ; preds = %invoke.cont36 ehcleanup: ; preds = %lpad37, %lpad33 %.pn = phi { ptr, i32 } [ %25, %lpad37 ], [ %24, %lpad33 ] %26 = load ptr, ptr %ref.tmp29, align 8 - %cmp.not.i.i88 = icmp eq ptr %26, null - br i1 %cmp.not.i.i88, label %_ZN7testing7MessageD2Ev.exit92, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 + %cmp.not.i.i89 = icmp eq ptr %26, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89: ; preds = %ehcleanup - %vtable.i.i.i90 = load ptr, ptr %26, align 8 - %vfn.i.i.i91 = getelementptr inbounds ptr, ptr %vtable.i.i.i90, i64 1 - %27 = load ptr, ptr %vfn.i.i.i91, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %ehcleanup + %vtable.i.i.i91 = load ptr, ptr %26, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %27 = load ptr, ptr %vfn.i.i.i92, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 - br label %_ZN7testing7MessageD2Ev.exit92 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit92: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 +_ZN7testing7MessageD2Ev.exit93: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp29, align 8 br label %ehcleanup39 if.end: ; preds = %invoke.cont27, %_ZN7testing7MessageD2Ev.exit %28 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i93 = icmp eq ptr %28, null - br i1 %cmp.not.i.i93, label %invoke.cont52, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i94 = icmp eq ptr %28, null + br i1 %cmp.not.i.i94, label %invoke.cont52, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #28 @@ -42381,12 +42394,12 @@ invoke.cont52: ; preds = %_ZNKSt14default_del %arrayidx.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %29, i64 0, i32 3, i64 1 %30 = load i8, ptr %arrayidx.i.i, align 1 %conv.i.i = zext i8 %30 to i64 - %add.ptr.i94 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i + %add.ptr.i95 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %29, i64 0, i32 3, i64 2 %31 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %31 to i64 %sub.i.i = sub nsw i64 %conv.i.i.i, %conv.i.i - store ptr %add.ptr.i94, ptr %ref.tmp51, align 8 + store ptr %add.ptr.i95, ptr %ref.tmp51, align 8 store i64 %sub.i.i, ptr %0, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_13SizeIsMatcherIjEEEclIN4absl4SpanIKPNS6_13cord_internal7CordRepEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar40, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp41, ptr noundef nonnull @.str.123, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp51) to label %invoke.cont54 unwind label %lpad.loopexit @@ -42394,11 +42407,11 @@ invoke.cont52: ; preds = %_ZNKSt14default_del invoke.cont54: ; preds = %invoke.cont52 %32 = load i8, ptr %gtest_ar40, align 8 %33 = and i8 %32, 1 - %tobool.i95.not = icmp eq i8 %33, 0 - br i1 %tobool.i95.not, label %if.else57, label %if.end70 + %tobool.i96.not = icmp eq i8 %33, 0 + br i1 %tobool.i96.not, label %if.else57, label %if.end70 -ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit92, %lpad30 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit92 ], [ %23, %lpad30 ] +ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit93, %lpad30 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit93 ], [ %23, %lpad30 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup104 @@ -42407,17 +42420,17 @@ if.else57: ; preds = %invoke.cont54 to label %invoke.cont60 unwind label %lpad59 invoke.cont60: ; preds = %if.else57 - %34 = load ptr, ptr %message_.i.i96, align 8 - %cmp.i.i.not.i.i97 = icmp eq ptr %34, null - br i1 %cmp.i.i.not.i.i97, label %invoke.cont63, label %cond.true.i.i98 + %34 = load ptr, ptr %message_.i.i97, align 8 + %cmp.i.i.not.i.i98 = icmp eq ptr %34, null + br i1 %cmp.i.i.not.i.i98, label %invoke.cont63, label %cond.true.i.i99 -cond.true.i.i98: ; preds = %invoke.cont60 - %call4.i.i99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 +cond.true.i.i99: ; preds = %invoke.cont60 + %call4.i.i100 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 br label %invoke.cont63 -invoke.cont63: ; preds = %cond.true.i.i98, %invoke.cont60 - %cond.i.i100 = phi ptr [ %call4.i.i99, %cond.true.i.i98 ], [ @.str.120, %invoke.cont60 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 685, ptr noundef %cond.i.i100) +invoke.cont63: ; preds = %cond.true.i.i99, %invoke.cont60 + %cond.i.i101 = phi ptr [ %call4.i.i100, %cond.true.i.i99 ], [ @.str.120, %invoke.cont60 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 685, ptr noundef %cond.i.i101) to label %invoke.cont65 unwind label %lpad62 invoke.cont65: ; preds = %invoke.cont63 @@ -42427,17 +42440,17 @@ invoke.cont65: ; preds = %invoke.cont63 invoke.cont67: ; preds = %invoke.cont65 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61) #28 %35 = load ptr, ptr %ref.tmp58, align 8 - %cmp.not.i.i102 = icmp eq ptr %35, null - br i1 %cmp.not.i.i102, label %_ZN7testing7MessageD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 + %cmp.not.i.i103 = icmp eq ptr %35, null + br i1 %cmp.not.i.i103, label %_ZN7testing7MessageD2Ev.exit107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103: ; preds = %invoke.cont67 - %vtable.i.i.i104 = load ptr, ptr %35, align 8 - %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 - %36 = load ptr, ptr %vfn.i.i.i105, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104: ; preds = %invoke.cont67 + %vtable.i.i.i105 = load ptr, ptr %35, align 8 + %vfn.i.i.i106 = getelementptr inbounds ptr, ptr %vtable.i.i.i105, i64 1 + %36 = load ptr, ptr %vfn.i.i.i106, align 8 call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 - br label %_ZN7testing7MessageD2Ev.exit106 + br label %_ZN7testing7MessageD2Ev.exit107 -_ZN7testing7MessageD2Ev.exit106: ; preds = %invoke.cont67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 +_ZN7testing7MessageD2Ev.exit107: ; preds = %invoke.cont67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 store ptr null, ptr %ref.tmp58, align 8 br label %if.end70 @@ -42460,78 +42473,76 @@ lpad66: ; preds = %invoke.cont65 ehcleanup69: ; preds = %lpad66, %lpad62 %.pn13 = phi { ptr, i32 } [ %39, %lpad66 ], [ %38, %lpad62 ] %40 = load ptr, ptr %ref.tmp58, align 8 - %cmp.not.i.i107 = icmp eq ptr %40, null - br i1 %cmp.not.i.i107, label %_ZN7testing7MessageD2Ev.exit111, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 + %cmp.not.i.i108 = icmp eq ptr %40, null + br i1 %cmp.not.i.i108, label %_ZN7testing7MessageD2Ev.exit112, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108: ; preds = %ehcleanup69 - %vtable.i.i.i109 = load ptr, ptr %40, align 8 - %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 - %41 = load ptr, ptr %vfn.i.i.i110, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109: ; preds = %ehcleanup69 + %vtable.i.i.i110 = load ptr, ptr %40, align 8 + %vfn.i.i.i111 = getelementptr inbounds ptr, ptr %vtable.i.i.i110, i64 1 + %41 = load ptr, ptr %vfn.i.i.i111, align 8 call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 - br label %_ZN7testing7MessageD2Ev.exit111 + br label %_ZN7testing7MessageD2Ev.exit112 -_ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup69, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 +_ZN7testing7MessageD2Ev.exit112: ; preds = %ehcleanup69, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 store ptr null, ptr %ref.tmp58, align 8 br label %ehcleanup71 -if.end70: ; preds = %invoke.cont54, %_ZN7testing7MessageD2Ev.exit106 - %42 = load ptr, ptr %message_.i.i96, align 8 - %cmp.not.i.i113 = icmp eq ptr %42, null - br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 +if.end70: ; preds = %invoke.cont54, %_ZN7testing7MessageD2Ev.exit107 + %42 = load ptr, ptr %message_.i.i97, align 8 + %cmp.not.i.i114 = icmp eq ptr %42, null + br i1 %cmp.not.i.i114, label %_ZN7testing15AssertionResultD2Ev.exit116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end70 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %if.end70 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 call void @_ZdlPv(ptr noundef nonnull %42) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit115 + br label %_ZN7testing15AssertionResultD2Ev.exit116 -_ZN7testing15AssertionResultD2Ev.exit115: ; preds = %if.end70, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 - store ptr null, ptr %message_.i.i96, align 8 +_ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end70, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 + store ptr null, ptr %message_.i.i97, align 8 %43 = load ptr, ptr %flats, align 8, !noalias !699 %44 = load ptr, ptr %_M_finish.i.i, align 8, !noalias !699 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %44 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %43 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i64.invoke, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i65.invoke, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 %cmp.not.i.i.i.i.i.i = icmp eq ptr %44, %43 br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont.thread.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %call5.i.i.i.i1.i.i.i.i117 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad.loopexit + %call5.i.i.i.i1.i.i.i.i118 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp73, align 8, !alias.scope !702 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !702 br label %invoke.cont77 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i117, ptr align 8 %43, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !705 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i118, ptr align 8 %43, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !705 call void @llvm.experimental.noalias.scope.decl(metadata !702) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp73, i8 0, i64 24, i1 false), !alias.scope !702 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %if.then.i.i.i.i.i119 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !702 + to label %if.then.i.i.i.i.i120 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !702 -if.then.i.i.i.i.i119: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i120: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp73, align 8, !alias.scope !702 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !702 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i117, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i118, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont77 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %45 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i137 + br label %if.then.i.i.i.i138 -invoke.cont77: ; preds = %if.then.i.i.i.i.i119, %invoke.cont.thread.i - %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i119 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp74.sroa.0.1201 = phi ptr [ %call5.i.i.i.i1.i.i.i.i117, %if.then.i.i.i.i.i119 ], [ null, %invoke.cont.thread.i ] +invoke.cont77: ; preds = %if.then.i.i.i.i.i120, %invoke.cont.thread.i + %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i120 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] + %agg.tmp74.sroa.0.1202 = phi ptr [ %call5.i.i.i.i1.i.i.i.i118, %if.then.i.i.i.i.i120 ], [ null, %invoke.cont.thread.i ] store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !702 %46 = load ptr, ptr %tree, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp78, i8 0, i64 24, i1 false), !alias.scope !708 @@ -42552,37 +42563,37 @@ invoke.cont80: ; preds = %invoke.cont77 invoke.cont82: ; preds = %invoke.cont80 %49 = load ptr, ptr %ref.tmp78, align 8 %tobool.not.i.i.i = icmp eq ptr %49, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i123 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i124 -if.then.i.i.i123: ; preds = %invoke.cont82 +if.then.i.i.i124: ; preds = %invoke.cont82 call void @_ZdlPv(ptr noundef nonnull %49) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont82, %if.then.i.i.i123 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont82, %if.then.i.i.i124 %50 = load ptr, ptr %ref.tmp73, align 8 - %tobool.not.i.i.i.i.i124 = icmp eq ptr %50, null - br i1 %tobool.not.i.i.i.i.i124, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i125 + %tobool.not.i.i.i.i.i125 = icmp eq ptr %50, null + br i1 %tobool.not.i.i.i.i.i125, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i126 -if.then.i.i.i.i.i125: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit +if.then.i.i.i.i.i126: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %50) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %if.then.i.i.i.i.i125 - %tobool.not.i.i.i.i126 = icmp eq ptr %agg.tmp74.sroa.0.1201, null - br i1 %tobool.not.i.i.i.i126, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i127 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %if.then.i.i.i.i.i126 + %tobool.not.i.i.i.i127 = icmp eq ptr %agg.tmp74.sroa.0.1202, null + br i1 %tobool.not.i.i.i.i127, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i128 -if.then.i.i.i.i127: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1201) #31 +if.then.i.i.i.i128: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1202) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i127 +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i128 %51 = load i8, ptr %gtest_ar72, align 8 %52 = and i8 %51, 1 - %tobool.i129.not = icmp eq i8 %52, 0 - br i1 %tobool.i129.not, label %if.else88, label %if.end101 + %tobool.i130.not = icmp eq i8 %52, 0 + br i1 %tobool.i130.not, label %if.else88, label %if.end101 -ehcleanup71: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad59 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit111 ], [ %37, %lpad59 ] +ehcleanup71: ; preds = %_ZN7testing7MessageD2Ev.exit112, %lpad59 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit112 ], [ %37, %lpad59 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar40) #28 br label %ehcleanup104 @@ -42590,8 +42601,8 @@ lpad81: ; preds = %invoke.cont80 %53 = landingpad { ptr, i32 } cleanup %54 = load ptr, ptr %ref.tmp78, align 8 - %tobool.not.i.i.i130 = icmp eq ptr %54, null - br i1 %tobool.not.i.i.i130, label %ehcleanup84, label %ehcleanup84.sink.split + %tobool.not.i.i.i131 = icmp eq ptr %54, null + br i1 %tobool.not.i.i.i131, label %ehcleanup84, label %ehcleanup84.sink.split ehcleanup84.sink.split: ; preds = %lpad81, %lpad.i %.sink = phi ptr [ %48, %lpad.i ], [ %54, %lpad81 ] @@ -42602,21 +42613,21 @@ ehcleanup84.sink.split: ; preds = %lpad81, %lpad.i ehcleanup84: ; preds = %ehcleanup84.sink.split, %lpad81, %lpad.i %.pn16 = phi { ptr, i32 } [ %47, %lpad.i ], [ %53, %lpad81 ], [ %.pn16.ph, %ehcleanup84.sink.split ] %55 = load ptr, ptr %ref.tmp73, align 8 - %tobool.not.i.i.i.i.i133 = icmp eq ptr %55, null - br i1 %tobool.not.i.i.i.i.i133, label %ehcleanup85, label %if.then.i.i.i.i.i134 + %tobool.not.i.i.i.i.i134 = icmp eq ptr %55, null + br i1 %tobool.not.i.i.i.i.i134, label %ehcleanup85, label %if.then.i.i.i.i.i135 -if.then.i.i.i.i.i134: ; preds = %ehcleanup84 +if.then.i.i.i.i.i135: ; preds = %ehcleanup84 call void @_ZdlPv(ptr noundef nonnull %55) #31 br label %ehcleanup85 -ehcleanup85: ; preds = %if.then.i.i.i.i.i134, %ehcleanup84 - %tobool.not.i.i.i.i136 = icmp eq ptr %agg.tmp74.sroa.0.1201, null - br i1 %tobool.not.i.i.i.i136, label %ehcleanup104, label %if.then.i.i.i.i137 +ehcleanup85: ; preds = %if.then.i.i.i.i.i135, %ehcleanup84 + %tobool.not.i.i.i.i137 = icmp eq ptr %agg.tmp74.sroa.0.1202, null + br i1 %tobool.not.i.i.i.i137, label %ehcleanup104, label %if.then.i.i.i.i138 -if.then.i.i.i.i137: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup85 - %.pn16.pn208 = phi { ptr, i32 } [ %.pn16, %ehcleanup85 ], [ %45, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - %agg.tmp74.sroa.0.1203207 = phi ptr [ %agg.tmp74.sroa.0.1201, %ehcleanup85 ], [ %call5.i.i.i.i1.i.i.i.i117, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1203207) #31 +if.then.i.i.i.i138: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup85 + %.pn16.pn209 = phi { ptr, i32 } [ %.pn16, %ehcleanup85 ], [ %45, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + %agg.tmp74.sroa.0.1204208 = phi ptr [ %agg.tmp74.sroa.0.1202, %ehcleanup85 ], [ %call5.i.i.i.i1.i.i.i.i118, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1204208) #31 br label %ehcleanup104 if.else88: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit @@ -42624,17 +42635,17 @@ if.else88: ; preds = %_ZN7testing8interna to label %invoke.cont91 unwind label %lpad90 invoke.cont91: ; preds = %if.else88 - %56 = load ptr, ptr %message_.i.i140, align 8 - %cmp.i.i.not.i.i141 = icmp eq ptr %56, null - br i1 %cmp.i.i.not.i.i141, label %invoke.cont94, label %cond.true.i.i142 + %56 = load ptr, ptr %message_.i.i141, align 8 + %cmp.i.i.not.i.i142 = icmp eq ptr %56, null + br i1 %cmp.i.i.not.i.i142, label %invoke.cont94, label %cond.true.i.i143 -cond.true.i.i142: ; preds = %invoke.cont91 - %call4.i.i143 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %56) #28 +cond.true.i.i143: ; preds = %invoke.cont91 + %call4.i.i144 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %56) #28 br label %invoke.cont94 -invoke.cont94: ; preds = %cond.true.i.i142, %invoke.cont91 - %cond.i.i144 = phi ptr [ %call4.i.i143, %cond.true.i.i142 ], [ @.str.120, %invoke.cont91 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 688, ptr noundef %cond.i.i144) +invoke.cont94: ; preds = %cond.true.i.i143, %invoke.cont91 + %cond.i.i145 = phi ptr [ %call4.i.i144, %cond.true.i.i143 ], [ @.str.120, %invoke.cont91 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 688, ptr noundef %cond.i.i145) to label %invoke.cont96 unwind label %lpad93 invoke.cont96: ; preds = %invoke.cont94 @@ -42644,17 +42655,17 @@ invoke.cont96: ; preds = %invoke.cont94 invoke.cont98: ; preds = %invoke.cont96 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92) #28 %57 = load ptr, ptr %ref.tmp89, align 8 - %cmp.not.i.i146 = icmp eq ptr %57, null - br i1 %cmp.not.i.i146, label %_ZN7testing7MessageD2Ev.exit150, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147 + %cmp.not.i.i147 = icmp eq ptr %57, null + br i1 %cmp.not.i.i147, label %_ZN7testing7MessageD2Ev.exit151, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147: ; preds = %invoke.cont98 - %vtable.i.i.i148 = load ptr, ptr %57, align 8 - %vfn.i.i.i149 = getelementptr inbounds ptr, ptr %vtable.i.i.i148, i64 1 - %58 = load ptr, ptr %vfn.i.i.i149, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148: ; preds = %invoke.cont98 + %vtable.i.i.i149 = load ptr, ptr %57, align 8 + %vfn.i.i.i150 = getelementptr inbounds ptr, ptr %vtable.i.i.i149, i64 1 + %58 = load ptr, ptr %vfn.i.i.i150, align 8 call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #28 - br label %_ZN7testing7MessageD2Ev.exit150 + br label %_ZN7testing7MessageD2Ev.exit151 -_ZN7testing7MessageD2Ev.exit150: ; preds = %invoke.cont98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147 +_ZN7testing7MessageD2Ev.exit151: ; preds = %invoke.cont98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 store ptr null, ptr %ref.tmp89, align 8 br label %if.end101 @@ -42677,62 +42688,62 @@ lpad97: ; preds = %invoke.cont96 ehcleanup100: ; preds = %lpad97, %lpad93 %.pn19 = phi { ptr, i32 } [ %61, %lpad97 ], [ %60, %lpad93 ] %62 = load ptr, ptr %ref.tmp89, align 8 - %cmp.not.i.i151 = icmp eq ptr %62, null - br i1 %cmp.not.i.i151, label %_ZN7testing7MessageD2Ev.exit155, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 + %cmp.not.i.i152 = icmp eq ptr %62, null + br i1 %cmp.not.i.i152, label %_ZN7testing7MessageD2Ev.exit156, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152: ; preds = %ehcleanup100 - %vtable.i.i.i153 = load ptr, ptr %62, align 8 - %vfn.i.i.i154 = getelementptr inbounds ptr, ptr %vtable.i.i.i153, i64 1 - %63 = load ptr, ptr %vfn.i.i.i154, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153: ; preds = %ehcleanup100 + %vtable.i.i.i154 = load ptr, ptr %62, align 8 + %vfn.i.i.i155 = getelementptr inbounds ptr, ptr %vtable.i.i.i154, i64 1 + %63 = load ptr, ptr %vfn.i.i.i155, align 8 call void %63(ptr noundef nonnull align 8 dereferenceable(128) %62) #28 - br label %_ZN7testing7MessageD2Ev.exit155 + br label %_ZN7testing7MessageD2Ev.exit156 -_ZN7testing7MessageD2Ev.exit155: ; preds = %ehcleanup100, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 +_ZN7testing7MessageD2Ev.exit156: ; preds = %ehcleanup100, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 store ptr null, ptr %ref.tmp89, align 8 br label %ehcleanup102 -if.end101: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit150 - %64 = load ptr, ptr %message_.i.i140, align 8 - %cmp.not.i.i157 = icmp eq ptr %64, null - br i1 %cmp.not.i.i157, label %_ZN7testing15AssertionResultD2Ev.exit159, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +if.end101: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit151 + %64 = load ptr, ptr %message_.i.i141, align 8 + %cmp.not.i.i158 = icmp eq ptr %64, null + br i1 %cmp.not.i.i158, label %_ZN7testing15AssertionResultD2Ev.exit160, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %if.end101 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %if.end101 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #28 call void @_ZdlPv(ptr noundef nonnull %64) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit159 + br label %_ZN7testing15AssertionResultD2Ev.exit160 -_ZN7testing15AssertionResultD2Ev.exit159: ; preds = %if.end101, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 - store ptr null, ptr %message_.i.i140, align 8 +_ZN7testing15AssertionResultD2Ev.exit160: ; preds = %if.end101, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 + store ptr null, ptr %message_.i.i141, align 8 %65 = load ptr, ptr %tree, align 8 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %65, i64 0, i32 1 %66 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %66, 2 - br i1 %cmp.i.not.i, label %if.then.i161, label %invoke.cont103 + br i1 %cmp.i.not.i, label %if.then.i162, label %invoke.cont103 -if.then.i161: ; preds = %_ZN7testing15AssertionResultD2Ev.exit159 +if.then.i162: ; preds = %_ZN7testing15AssertionResultD2Ev.exit160 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %65) to label %invoke.cont103 unwind label %lpad.loopexit -invoke.cont103: ; preds = %_ZN7testing15AssertionResultD2Ev.exit159, %if.then.i161 +invoke.cont103: ; preds = %_ZN7testing15AssertionResultD2Ev.exit160, %if.then.i162 %67 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i163 = icmp eq ptr %67, null - br i1 %tobool.not.i.i.i163, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165, label %if.then.i.i.i164 + %tobool.not.i.i.i164 = icmp eq ptr %67, null + br i1 %tobool.not.i.i.i164, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166, label %if.then.i.i.i165 -if.then.i.i.i164: ; preds = %invoke.cont103 +if.then.i.i.i165: ; preds = %invoke.cont103 call void @_ZdlPv(ptr noundef nonnull %67) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165: ; preds = %invoke.cont103, %if.then.i.i.i164 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166: ; preds = %invoke.cont103, %if.then.i.i.i165 %68 = load ptr, ptr %refs, align 8 %69 = load ptr, ptr %_M_finish.i.i.i, align 8 %cmp.i.not4.i = icmp eq ptr %68, %69 br i1 %cmp.i.not4.i, label %for.end.i, label %for.body.i -for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 ] +for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166, %for.inc.i + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 ] %70 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i167 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %70, i64 0, i32 1 - %71 = atomicrmw sub ptr %refcount.i.i167, i32 2 acq_rel, align 4 + %refcount.i.i168 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %70, i64 0, i32 1 + %71 = atomicrmw sub ptr %refcount.i.i168, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %71, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -42742,19 +42753,19 @@ if.then.i.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i.i, %for.body.i %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i168 = icmp eq ptr %incdec.ptr.i.i, %69 - br i1 %cmp.i.not.i168, label %for.end.loopexit.i, label %for.body.i + %cmp.i.not.i169 = icmp eq ptr %incdec.ptr.i.i, %69 + br i1 %cmp.i.not.i169, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 br label %for.end.i -for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 - %72 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 ] - %tobool.not.i.i.i.i169 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i.i169, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i170 +for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 + %72 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 ] + %tobool.not.i.i.i.i170 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i.i170, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i171 -if.then.i.i.i.i170: ; preds = %for.end.i +if.then.i.i.i.i171: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %72) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit @@ -42765,28 +42776,28 @@ terminate.lpad.i: ; preds = %if.then.i.i call void @__clang_call_terminate(ptr %74) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i170 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i171 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_667) #28 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx189, 1 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx190, 1 %cmp.not = icmp eq i64 %__begin2.0.add, 2 br i1 %cmp.not, label %for.end, label %for.body -ehcleanup102: ; preds = %_ZN7testing7MessageD2Ev.exit155, %lpad90 - %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit155 ], [ %59, %lpad90 ] +ehcleanup102: ; preds = %_ZN7testing7MessageD2Ev.exit156, %lpad90 + %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit156 ], [ %59, %lpad90 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar72) #28 br label %ehcleanup104 -ehcleanup104: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i137, %ehcleanup85, %ehcleanup102, %ehcleanup71, %ehcleanup39 - %.pn22 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup102 ], [ %.pn13.pn, %ehcleanup71 ], [ %.pn.pn, %ehcleanup39 ], [ %.pn16, %ehcleanup85 ], [ %.pn16.pn208, %if.then.i.i.i.i137 ], [ %lpad.loopexit178, %lpad.loopexit ], [ %lpad.loopexit.split-lp179, %lpad.loopexit.split-lp ] +ehcleanup104: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i138, %ehcleanup85, %ehcleanup102, %ehcleanup71, %ehcleanup39 + %.pn22 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup102 ], [ %.pn13.pn, %ehcleanup71 ], [ %.pn.pn, %ehcleanup39 ], [ %.pn16, %ehcleanup85 ], [ %.pn16.pn209, %if.then.i.i.i.i138 ], [ %lpad.loopexit179, %lpad.loopexit ], [ %lpad.loopexit.split-lp180, %lpad.loopexit.split-lp ] %75 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i172 = icmp eq ptr %75, null - br i1 %tobool.not.i.i.i172, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174, label %if.then.i.i.i173 + %tobool.not.i.i.i173 = icmp eq ptr %75, null + br i1 %tobool.not.i.i.i173, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175, label %if.then.i.i.i174 -if.then.i.i.i173: ; preds = %ehcleanup104 +if.then.i.i.i174: ; preds = %ehcleanup104 call void @_ZdlPv(ptr noundef nonnull %75) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174: ; preds = %ehcleanup104, %if.then.i.i.i173 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175: ; preds = %ehcleanup104, %if.then.i.i.i174 call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs) #28 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_667) #28 resume { ptr, i32 } %.pn22 @@ -42914,16 +42925,16 @@ entry: %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %0 = getelementptr inbounds { ptr, i64 }, ptr %ref.tmp51, i64 0, i32 1 - %message_.i.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 + %message_.i.i97 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %flats, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp73, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp73, i64 0, i32 2 - %message_.i.i140 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar72, i64 0, i32 1 + %message_.i.i141 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar72, i64 0, i32 1 br label %for.body for.body: ; preds = %entry, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit - %__begin2.0.idx189 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx189 + %__begin2.0.idx190 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx190 %1 = load i8, ptr %__begin2.0.ptr, align 1 %2 = and i8 %1, 1 %tobool.not = icmp eq i8 %2, 0 @@ -42994,14 +43005,14 @@ if.else.i.i.i37: ; preds = %invoke.cont14 %sub.ptr.rhs.cast.i.i.i.i.i.i39 = ptrtoint ptr %6 to i64 %sub.ptr.sub.i.i.i.i.i.i40 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i38, %sub.ptr.rhs.cast.i.i.i.i.i.i39 %cmp.i.i.i.i.i41 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i40, 9223372036854775800 - br i1 %cmp.i.i.i.i.i41, label %if.then.i.i.i.i.i64.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 + br i1 %cmp.i.i.i.i.i41, label %if.then.i.i.i.i.i65.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 -if.then.i.i.i.i.i64.invoke: ; preds = %if.else.i.i.i37, %_ZN7testing15AssertionResultD2Ev.exit115 - %11 = phi ptr [ @.str.143, %_ZN7testing15AssertionResultD2Ev.exit115 ], [ @.str.125, %if.else.i.i.i37 ] +if.then.i.i.i.i.i65.invoke: ; preds = %if.else.i.i.i37, %_ZN7testing15AssertionResultD2Ev.exit116 + %11 = phi ptr [ @.str.143, %_ZN7testing15AssertionResultD2Ev.exit116 ], [ @.str.125, %if.else.i.i.i37 ] invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull %11) #29 - to label %if.then.i.i.i.i.i64.cont unwind label %lpad.loopexit.split-lp + to label %if.then.i.i.i.i.i65.cont unwind label %lpad.loopexit.split-lp -if.then.i.i.i.i.i64.cont: ; preds = %if.then.i.i.i.i.i64.invoke +if.then.i.i.i.i.i65.cont: ; preds = %if.then.i.i.i.i.i65.invoke unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42: ; preds = %if.else.i.i.i37 @@ -43017,44 +43028,45 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 %mul.i.i.i.i.i.i.i52 = shl nuw nsw i64 %cond.i.i.i.i.i49, 3 - %call5.i.i.i.i.i.i.i67 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i52) #30 + %call5.i.i.i.i.i.i.i68 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i52) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 unwind label %lpad.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 - %cond.i10.i.i.i.i54 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 ], [ %call5.i.i.i.i.i.i.i67, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51 ] + %cond.i10.i.i.i.i54 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i42 ], [ %call5.i.i.i.i.i.i.i68, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51 ] %add.ptr.i.i.i.i55 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %sub.ptr.div.i.i.i.i.i.i43 store ptr %call12, ptr %add.ptr.i.i.i.i55, align 8 - %cmp.i.i.i11.i.i.i.i56 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i43, 0 - br i1 %cmp.i.i.i11.i.i.i.i56, label %if.then.i.i.i12.i.i.i.i63, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 + %cmp.i.i.i11.i.i.i.i56 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i40, 0 + br i1 %cmp.i.i.i11.i.i.i.i56, label %if.then.i.i.i12.i.i.i.i64, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 -if.then.i.i.i12.i.i.i.i63: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 +if.then.i.i.i12.i.i.i.i64: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i54, ptr align 8 %6, i64 %sub.ptr.sub.i.i.i.i.i.i40, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57: ; preds = %if.then.i.i.i12.i.i.i.i63, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 - %incdec.ptr.i.i.i.i58 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i55, i64 1 - %tobool.not.i.i.i.i.i59 = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i.i59, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61, label %if.then.i21.i.i.i.i60 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57: ; preds = %if.then.i.i.i12.i.i.i.i64, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i53 + %add.ptr.i.i.i.i.i.i.i58 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i54, i64 %sub.ptr.sub.i.i.i.i.i.i40 + %incdec.ptr.i.i.i.i59 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i58, i64 1 + %tobool.not.i.i.i.i.i60 = icmp eq ptr %6, null + br i1 %tobool.not.i.i.i.i.i60, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62, label %if.then.i20.i.i.i.i61 -if.then.i21.i.i.i.i60: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 +if.then.i20.i.i.i.i61: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 call void @_ZdlPv(ptr noundef nonnull %6) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61: ; preds = %if.then.i21.i.i.i.i60, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i57 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62: ; preds = %if.then.i20.i.i.i.i61, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i57 store ptr %cond.i10.i.i.i.i54, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i58, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i62 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %cond.i.i.i.i.i49 - store ptr %add.ptr19.i.i.i.i62, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i59, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i63 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i54, i64 %cond.i.i.i.i.i49 + store ptr %add.ptr19.i.i.i.i63, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont16 -invoke.cont16: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i61, %invoke.cont14 +invoke.cont16: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i62, %invoke.cont14 br i1 %tobool.not, label %cond.false, label %cond.true cond.true: ; preds = %invoke.cont16 %tag.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call12, i64 0, i32 2 %12 = load i8, ptr %tag.i.i, align 4 %or.cond.i.i = icmp ugt i8 %12, 4 - br i1 %or.cond.i.i, label %if.then.i69, label %if.end.i.i + br i1 %or.cond.i.i, label %if.then.i70, label %if.end.i.i if.end.i.i: ; preds = %cond.true %cmp6.i.i = icmp eq i8 %12, 1 @@ -43066,44 +43078,44 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %if.end.i. %tag9.phi.trans.insert.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %13, i64 0, i32 2 %.pre.i.i = load i8, ptr %tag9.phi.trans.insert.i.i, align 4 %14 = icmp ugt i8 %.pre.i.i, 4 - br i1 %14, label %if.then.i69, label %if.end.i + br i1 %14, label %if.then.i70, label %if.end.i -if.then.i69: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true - %call1.i70 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) +if.then.i70: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true + %call1.i71 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) to label %invoke.cont26 unwind label %lpad.loopexit if.end.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %if.end.i.i - %call2.i71 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) + %call2.i72 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %call5, ptr noundef nonnull %call12) to label %invoke.cont26 unwind label %lpad.loopexit cond.false: ; preds = %invoke.cont16 - %tag.i.i72 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 - %15 = load i8, ptr %tag.i.i72, align 4 - %or.cond.i.i73 = icmp ugt i8 %15, 4 - br i1 %or.cond.i.i73, label %if.then.i82, label %if.end.i.i74 - -if.end.i.i74: ; preds = %cond.false - %cmp6.i.i75 = icmp eq i8 %15, 1 - br i1 %cmp6.i.i75, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, label %if.end.i76 - -_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78: ; preds = %if.end.i.i74 - %child.i.i79 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 - %16 = load ptr, ptr %child.i.i79, align 8 - %tag9.phi.trans.insert.i.i80 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %16, i64 0, i32 2 - %.pre.i.i81 = load i8, ptr %tag9.phi.trans.insert.i.i80, align 4 - %17 = icmp ugt i8 %.pre.i.i81, 4 - br i1 %17, label %if.then.i82, label %if.end.i76 - -if.then.i82: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, %cond.false - %call1.i84 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) + %tag.i.i73 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call5, i64 0, i32 2 + %15 = load i8, ptr %tag.i.i73, align 4 + %or.cond.i.i74 = icmp ugt i8 %15, 4 + br i1 %or.cond.i.i74, label %if.then.i83, label %if.end.i.i75 + +if.end.i.i75: ; preds = %cond.false + %cmp6.i.i76 = icmp eq i8 %15, 1 + br i1 %cmp6.i.i76, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, label %if.end.i77 + +_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79: ; preds = %if.end.i.i75 + %child.i.i80 = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call5, i64 0, i32 2 + %16 = load ptr, ptr %child.i.i80, align 8 + %tag9.phi.trans.insert.i.i81 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %16, i64 0, i32 2 + %.pre.i.i82 = load i8, ptr %tag9.phi.trans.insert.i.i81, align 4 + %17 = icmp ugt i8 %.pre.i.i82, 4 + br i1 %17, label %if.then.i83, label %if.end.i77 + +if.then.i83: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, %cond.false + %call1.i85 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE0EEEPS1_S4_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) to label %invoke.cont26 unwind label %lpad.loopexit -if.end.i76: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i78, %if.end.i.i74 - %call2.i86 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) +if.end.i77: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i79, %if.end.i.i75 + %call2.i87 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree11PrependSlowEPS1_PNS0_7CordRepE(ptr noundef %call12, ptr noundef nonnull %call5) to label %invoke.cont26 unwind label %lpad.loopexit -invoke.cont26: ; preds = %if.then.i82, %if.end.i76, %if.then.i69, %if.end.i - %cond23 = phi ptr [ %call1.i70, %if.then.i69 ], [ %call2.i71, %if.end.i ], [ %call1.i84, %if.then.i82 ], [ %call2.i86, %if.end.i76 ] +invoke.cont26: ; preds = %if.then.i83, %if.end.i77, %if.then.i70, %if.end.i + %cond23 = phi ptr [ %call1.i71, %if.then.i70 ], [ %call2.i72, %if.end.i ], [ %call1.i85, %if.then.i83 ], [ %call2.i87, %if.end.i77 ] store ptr %cond23, ptr %tree, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar, i32 1, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %tree) to label %invoke.cont27 unwind label %lpad.loopexit @@ -43111,16 +43123,16 @@ invoke.cont26: ; preds = %if.then.i82, %if.en invoke.cont27: ; preds = %invoke.cont26 %18 = load i8, ptr %gtest_ar, align 8 %19 = and i8 %18, 1 - %tobool.i87.not = icmp eq i8 %19, 0 - br i1 %tobool.i87.not, label %if.else, label %if.end + %tobool.i88.not = icmp eq i8 %19, 0 + br i1 %tobool.i88.not, label %if.else, label %if.end -lpad.loopexit: ; preds = %for.body, %invoke.cont, %invoke.cont9, %invoke.cont11, %invoke.cont52, %invoke.cont26, %invoke.cont6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont13, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %if.then.i69, %if.end.i, %if.then.i82, %if.end.i76, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i161 - %lpad.loopexit178 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %for.body, %invoke.cont, %invoke.cont9, %invoke.cont11, %invoke.cont52, %invoke.cont26, %invoke.cont6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont13, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i51, %if.then.i70, %if.end.i, %if.then.i83, %if.end.i77, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i162 + %lpad.loopexit179 = landingpad { ptr, i32 } cleanup br label %ehcleanup104 -lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i64.invoke - %lpad.loopexit.split-lp179 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i65.invoke + %lpad.loopexit.split-lp180 = landingpad { ptr, i32 } cleanup br label %ehcleanup104 @@ -43182,24 +43194,24 @@ lpad37: ; preds = %invoke.cont36 ehcleanup: ; preds = %lpad37, %lpad33 %.pn = phi { ptr, i32 } [ %25, %lpad37 ], [ %24, %lpad33 ] %26 = load ptr, ptr %ref.tmp29, align 8 - %cmp.not.i.i88 = icmp eq ptr %26, null - br i1 %cmp.not.i.i88, label %_ZN7testing7MessageD2Ev.exit92, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 + %cmp.not.i.i89 = icmp eq ptr %26, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89: ; preds = %ehcleanup - %vtable.i.i.i90 = load ptr, ptr %26, align 8 - %vfn.i.i.i91 = getelementptr inbounds ptr, ptr %vtable.i.i.i90, i64 1 - %27 = load ptr, ptr %vfn.i.i.i91, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %ehcleanup + %vtable.i.i.i91 = load ptr, ptr %26, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %27 = load ptr, ptr %vfn.i.i.i92, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 - br label %_ZN7testing7MessageD2Ev.exit92 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit92: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 +_ZN7testing7MessageD2Ev.exit93: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp29, align 8 br label %ehcleanup39 if.end: ; preds = %invoke.cont27, %_ZN7testing7MessageD2Ev.exit %28 = load ptr, ptr %message_.i.i, align 8 - %cmp.not.i.i93 = icmp eq ptr %28, null - br i1 %cmp.not.i.i93, label %invoke.cont52, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i94 = icmp eq ptr %28, null + br i1 %cmp.not.i.i94, label %invoke.cont52, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #28 @@ -43214,12 +43226,12 @@ invoke.cont52: ; preds = %_ZNKSt14default_del %arrayidx.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %29, i64 0, i32 3, i64 1 %30 = load i8, ptr %arrayidx.i.i, align 1 %conv.i.i = zext i8 %30 to i64 - %add.ptr.i94 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i + %add.ptr.i95 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %29, i64 0, i32 3, i64 2 %31 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %31 to i64 %sub.i.i = sub nsw i64 %conv.i.i.i, %conv.i.i - store ptr %add.ptr.i94, ptr %ref.tmp51, align 8 + store ptr %add.ptr.i95, ptr %ref.tmp51, align 8 store i64 %sub.i.i, ptr %0, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_13SizeIsMatcherIjEEEclIN4absl4SpanIKPNS6_13cord_internal7CordRepEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar40, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp41, ptr noundef nonnull @.str.123, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp51) to label %invoke.cont54 unwind label %lpad.loopexit @@ -43227,11 +43239,11 @@ invoke.cont52: ; preds = %_ZNKSt14default_del invoke.cont54: ; preds = %invoke.cont52 %32 = load i8, ptr %gtest_ar40, align 8 %33 = and i8 %32, 1 - %tobool.i95.not = icmp eq i8 %33, 0 - br i1 %tobool.i95.not, label %if.else57, label %if.end70 + %tobool.i96.not = icmp eq i8 %33, 0 + br i1 %tobool.i96.not, label %if.else57, label %if.end70 -ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit92, %lpad30 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit92 ], [ %23, %lpad30 ] +ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit93, %lpad30 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit93 ], [ %23, %lpad30 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #28 br label %ehcleanup104 @@ -43240,17 +43252,17 @@ if.else57: ; preds = %invoke.cont54 to label %invoke.cont60 unwind label %lpad59 invoke.cont60: ; preds = %if.else57 - %34 = load ptr, ptr %message_.i.i96, align 8 - %cmp.i.i.not.i.i97 = icmp eq ptr %34, null - br i1 %cmp.i.i.not.i.i97, label %invoke.cont63, label %cond.true.i.i98 + %34 = load ptr, ptr %message_.i.i97, align 8 + %cmp.i.i.not.i.i98 = icmp eq ptr %34, null + br i1 %cmp.i.i.not.i.i98, label %invoke.cont63, label %cond.true.i.i99 -cond.true.i.i98: ; preds = %invoke.cont60 - %call4.i.i99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 +cond.true.i.i99: ; preds = %invoke.cont60 + %call4.i.i100 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 br label %invoke.cont63 -invoke.cont63: ; preds = %cond.true.i.i98, %invoke.cont60 - %cond.i.i100 = phi ptr [ %call4.i.i99, %cond.true.i.i98 ], [ @.str.120, %invoke.cont60 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 713, ptr noundef %cond.i.i100) +invoke.cont63: ; preds = %cond.true.i.i99, %invoke.cont60 + %cond.i.i101 = phi ptr [ %call4.i.i100, %cond.true.i.i99 ], [ @.str.120, %invoke.cont60 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 713, ptr noundef %cond.i.i101) to label %invoke.cont65 unwind label %lpad62 invoke.cont65: ; preds = %invoke.cont63 @@ -43260,17 +43272,17 @@ invoke.cont65: ; preds = %invoke.cont63 invoke.cont67: ; preds = %invoke.cont65 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61) #28 %35 = load ptr, ptr %ref.tmp58, align 8 - %cmp.not.i.i102 = icmp eq ptr %35, null - br i1 %cmp.not.i.i102, label %_ZN7testing7MessageD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 + %cmp.not.i.i103 = icmp eq ptr %35, null + br i1 %cmp.not.i.i103, label %_ZN7testing7MessageD2Ev.exit107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103: ; preds = %invoke.cont67 - %vtable.i.i.i104 = load ptr, ptr %35, align 8 - %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 - %36 = load ptr, ptr %vfn.i.i.i105, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104: ; preds = %invoke.cont67 + %vtable.i.i.i105 = load ptr, ptr %35, align 8 + %vfn.i.i.i106 = getelementptr inbounds ptr, ptr %vtable.i.i.i105, i64 1 + %36 = load ptr, ptr %vfn.i.i.i106, align 8 call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #28 - br label %_ZN7testing7MessageD2Ev.exit106 + br label %_ZN7testing7MessageD2Ev.exit107 -_ZN7testing7MessageD2Ev.exit106: ; preds = %invoke.cont67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 +_ZN7testing7MessageD2Ev.exit107: ; preds = %invoke.cont67, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 store ptr null, ptr %ref.tmp58, align 8 br label %if.end70 @@ -43293,78 +43305,76 @@ lpad66: ; preds = %invoke.cont65 ehcleanup69: ; preds = %lpad66, %lpad62 %.pn13 = phi { ptr, i32 } [ %39, %lpad66 ], [ %38, %lpad62 ] %40 = load ptr, ptr %ref.tmp58, align 8 - %cmp.not.i.i107 = icmp eq ptr %40, null - br i1 %cmp.not.i.i107, label %_ZN7testing7MessageD2Ev.exit111, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 + %cmp.not.i.i108 = icmp eq ptr %40, null + br i1 %cmp.not.i.i108, label %_ZN7testing7MessageD2Ev.exit112, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108: ; preds = %ehcleanup69 - %vtable.i.i.i109 = load ptr, ptr %40, align 8 - %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 - %41 = load ptr, ptr %vfn.i.i.i110, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109: ; preds = %ehcleanup69 + %vtable.i.i.i110 = load ptr, ptr %40, align 8 + %vfn.i.i.i111 = getelementptr inbounds ptr, ptr %vtable.i.i.i110, i64 1 + %41 = load ptr, ptr %vfn.i.i.i111, align 8 call void %41(ptr noundef nonnull align 8 dereferenceable(128) %40) #28 - br label %_ZN7testing7MessageD2Ev.exit111 + br label %_ZN7testing7MessageD2Ev.exit112 -_ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup69, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 +_ZN7testing7MessageD2Ev.exit112: ; preds = %ehcleanup69, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 store ptr null, ptr %ref.tmp58, align 8 br label %ehcleanup71 -if.end70: ; preds = %invoke.cont54, %_ZN7testing7MessageD2Ev.exit106 - %42 = load ptr, ptr %message_.i.i96, align 8 - %cmp.not.i.i113 = icmp eq ptr %42, null - br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 +if.end70: ; preds = %invoke.cont54, %_ZN7testing7MessageD2Ev.exit107 + %42 = load ptr, ptr %message_.i.i97, align 8 + %cmp.not.i.i114 = icmp eq ptr %42, null + br i1 %cmp.not.i.i114, label %_ZN7testing15AssertionResultD2Ev.exit116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end70 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %if.end70 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #28 call void @_ZdlPv(ptr noundef nonnull %42) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit115 + br label %_ZN7testing15AssertionResultD2Ev.exit116 -_ZN7testing15AssertionResultD2Ev.exit115: ; preds = %if.end70, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 - store ptr null, ptr %message_.i.i96, align 8 +_ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end70, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 + store ptr null, ptr %message_.i.i97, align 8 %43 = load ptr, ptr %flats, align 8, !noalias !711 %44 = load ptr, ptr %_M_finish.i.i, align 8, !noalias !711 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %44 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %43 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i64.invoke, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i65.invoke, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 %cmp.not.i.i.i.i.i.i = icmp eq ptr %44, %43 br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont.thread.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %call5.i.i.i.i1.i.i.i.i117 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad.loopexit + %call5.i.i.i.i1.i.i.i.i118 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp73, align 8, !alias.scope !714 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !714 br label %invoke.cont77 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i117, ptr align 8 %43, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !717 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i118, ptr align 8 %43, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !717 call void @llvm.experimental.noalias.scope.decl(metadata !714) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp73, i8 0, i64 24, i1 false), !alias.scope !714 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %if.then.i.i.i.i.i119 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !714 + to label %if.then.i.i.i.i.i120 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !714 -if.then.i.i.i.i.i119: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i120: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp73, align 8, !alias.scope !714 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !714 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i117, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i118, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont77 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %45 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i137 + br label %if.then.i.i.i.i138 -invoke.cont77: ; preds = %if.then.i.i.i.i.i119, %invoke.cont.thread.i - %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i119 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp74.sroa.0.1201 = phi ptr [ %call5.i.i.i.i1.i.i.i.i117, %if.then.i.i.i.i.i119 ], [ null, %invoke.cont.thread.i ] +invoke.cont77: ; preds = %if.then.i.i.i.i.i120, %invoke.cont.thread.i + %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i120 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] + %agg.tmp74.sroa.0.1202 = phi ptr [ %call5.i.i.i.i1.i.i.i.i118, %if.then.i.i.i.i.i120 ], [ null, %invoke.cont.thread.i ] store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !714 %46 = load ptr, ptr %tree, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp78, i8 0, i64 24, i1 false), !alias.scope !720 @@ -43385,37 +43395,37 @@ invoke.cont80: ; preds = %invoke.cont77 invoke.cont82: ; preds = %invoke.cont80 %49 = load ptr, ptr %ref.tmp78, align 8 %tobool.not.i.i.i = icmp eq ptr %49, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i123 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i124 -if.then.i.i.i123: ; preds = %invoke.cont82 +if.then.i.i.i124: ; preds = %invoke.cont82 call void @_ZdlPv(ptr noundef nonnull %49) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont82, %if.then.i.i.i123 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %invoke.cont82, %if.then.i.i.i124 %50 = load ptr, ptr %ref.tmp73, align 8 - %tobool.not.i.i.i.i.i124 = icmp eq ptr %50, null - br i1 %tobool.not.i.i.i.i.i124, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i125 + %tobool.not.i.i.i.i.i125 = icmp eq ptr %50, null + br i1 %tobool.not.i.i.i.i.i125, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, label %if.then.i.i.i.i.i126 -if.then.i.i.i.i.i125: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit +if.then.i.i.i.i.i126: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %50) #31 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %if.then.i.i.i.i.i125 - %tobool.not.i.i.i.i126 = icmp eq ptr %agg.tmp74.sroa.0.1201, null - br i1 %tobool.not.i.i.i.i126, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i127 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %if.then.i.i.i.i.i126 + %tobool.not.i.i.i.i127 = icmp eq ptr %agg.tmp74.sroa.0.1202, null + br i1 %tobool.not.i.i.i.i127, label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, label %if.then.i.i.i.i128 -if.then.i.i.i.i127: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1201) #31 +if.then.i.i.i.i128: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1202) #31 br label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i127 +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEEEED2Ev.exit, %if.then.i.i.i.i128 %51 = load i8, ptr %gtest_ar72, align 8 %52 = and i8 %51, 1 - %tobool.i129.not = icmp eq i8 %52, 0 - br i1 %tobool.i129.not, label %if.else88, label %if.end101 + %tobool.i130.not = icmp eq i8 %52, 0 + br i1 %tobool.i130.not, label %if.else88, label %if.end101 -ehcleanup71: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad59 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit111 ], [ %37, %lpad59 ] +ehcleanup71: ; preds = %_ZN7testing7MessageD2Ev.exit112, %lpad59 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit112 ], [ %37, %lpad59 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar40) #28 br label %ehcleanup104 @@ -43423,8 +43433,8 @@ lpad81: ; preds = %invoke.cont80 %53 = landingpad { ptr, i32 } cleanup %54 = load ptr, ptr %ref.tmp78, align 8 - %tobool.not.i.i.i130 = icmp eq ptr %54, null - br i1 %tobool.not.i.i.i130, label %ehcleanup84, label %ehcleanup84.sink.split + %tobool.not.i.i.i131 = icmp eq ptr %54, null + br i1 %tobool.not.i.i.i131, label %ehcleanup84, label %ehcleanup84.sink.split ehcleanup84.sink.split: ; preds = %lpad81, %lpad.i %.sink = phi ptr [ %48, %lpad.i ], [ %54, %lpad81 ] @@ -43435,21 +43445,21 @@ ehcleanup84.sink.split: ; preds = %lpad81, %lpad.i ehcleanup84: ; preds = %ehcleanup84.sink.split, %lpad81, %lpad.i %.pn16 = phi { ptr, i32 } [ %47, %lpad.i ], [ %53, %lpad81 ], [ %.pn16.ph, %ehcleanup84.sink.split ] %55 = load ptr, ptr %ref.tmp73, align 8 - %tobool.not.i.i.i.i.i133 = icmp eq ptr %55, null - br i1 %tobool.not.i.i.i.i.i133, label %ehcleanup85, label %if.then.i.i.i.i.i134 + %tobool.not.i.i.i.i.i134 = icmp eq ptr %55, null + br i1 %tobool.not.i.i.i.i.i134, label %ehcleanup85, label %if.then.i.i.i.i.i135 -if.then.i.i.i.i.i134: ; preds = %ehcleanup84 +if.then.i.i.i.i.i135: ; preds = %ehcleanup84 call void @_ZdlPv(ptr noundef nonnull %55) #31 br label %ehcleanup85 -ehcleanup85: ; preds = %if.then.i.i.i.i.i134, %ehcleanup84 - %tobool.not.i.i.i.i136 = icmp eq ptr %agg.tmp74.sroa.0.1201, null - br i1 %tobool.not.i.i.i.i136, label %ehcleanup104, label %if.then.i.i.i.i137 +ehcleanup85: ; preds = %if.then.i.i.i.i.i135, %ehcleanup84 + %tobool.not.i.i.i.i137 = icmp eq ptr %agg.tmp74.sroa.0.1202, null + br i1 %tobool.not.i.i.i.i137, label %ehcleanup104, label %if.then.i.i.i.i138 -if.then.i.i.i.i137: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup85 - %.pn16.pn208 = phi { ptr, i32 } [ %.pn16, %ehcleanup85 ], [ %45, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - %agg.tmp74.sroa.0.1203207 = phi ptr [ %agg.tmp74.sroa.0.1201, %ehcleanup85 ], [ %call5.i.i.i.i1.i.i.i.i117, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1203207) #31 +if.then.i.i.i.i138: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, %ehcleanup85 + %.pn16.pn209 = phi { ptr, i32 } [ %.pn16, %ehcleanup85 ], [ %45, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + %agg.tmp74.sroa.0.1204208 = phi ptr [ %agg.tmp74.sroa.0.1202, %ehcleanup85 ], [ %call5.i.i.i.i1.i.i.i.i118, %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp74.sroa.0.1204208) #31 br label %ehcleanup104 if.else88: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit @@ -43457,17 +43467,17 @@ if.else88: ; preds = %_ZN7testing8interna to label %invoke.cont91 unwind label %lpad90 invoke.cont91: ; preds = %if.else88 - %56 = load ptr, ptr %message_.i.i140, align 8 - %cmp.i.i.not.i.i141 = icmp eq ptr %56, null - br i1 %cmp.i.i.not.i.i141, label %invoke.cont94, label %cond.true.i.i142 + %56 = load ptr, ptr %message_.i.i141, align 8 + %cmp.i.i.not.i.i142 = icmp eq ptr %56, null + br i1 %cmp.i.i.not.i.i142, label %invoke.cont94, label %cond.true.i.i143 -cond.true.i.i142: ; preds = %invoke.cont91 - %call4.i.i143 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %56) #28 +cond.true.i.i143: ; preds = %invoke.cont91 + %call4.i.i144 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %56) #28 br label %invoke.cont94 -invoke.cont94: ; preds = %cond.true.i.i142, %invoke.cont91 - %cond.i.i144 = phi ptr [ %call4.i.i143, %cond.true.i.i142 ], [ @.str.120, %invoke.cont91 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 716, ptr noundef %cond.i.i144) +invoke.cont94: ; preds = %cond.true.i.i143, %invoke.cont91 + %cond.i.i145 = phi ptr [ %call4.i.i144, %cond.true.i.i143 ], [ @.str.120, %invoke.cont91 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 716, ptr noundef %cond.i.i145) to label %invoke.cont96 unwind label %lpad93 invoke.cont96: ; preds = %invoke.cont94 @@ -43477,17 +43487,17 @@ invoke.cont96: ; preds = %invoke.cont94 invoke.cont98: ; preds = %invoke.cont96 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92) #28 %57 = load ptr, ptr %ref.tmp89, align 8 - %cmp.not.i.i146 = icmp eq ptr %57, null - br i1 %cmp.not.i.i146, label %_ZN7testing7MessageD2Ev.exit150, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147 + %cmp.not.i.i147 = icmp eq ptr %57, null + br i1 %cmp.not.i.i147, label %_ZN7testing7MessageD2Ev.exit151, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147: ; preds = %invoke.cont98 - %vtable.i.i.i148 = load ptr, ptr %57, align 8 - %vfn.i.i.i149 = getelementptr inbounds ptr, ptr %vtable.i.i.i148, i64 1 - %58 = load ptr, ptr %vfn.i.i.i149, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148: ; preds = %invoke.cont98 + %vtable.i.i.i149 = load ptr, ptr %57, align 8 + %vfn.i.i.i150 = getelementptr inbounds ptr, ptr %vtable.i.i.i149, i64 1 + %58 = load ptr, ptr %vfn.i.i.i150, align 8 call void %58(ptr noundef nonnull align 8 dereferenceable(128) %57) #28 - br label %_ZN7testing7MessageD2Ev.exit150 + br label %_ZN7testing7MessageD2Ev.exit151 -_ZN7testing7MessageD2Ev.exit150: ; preds = %invoke.cont98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147 +_ZN7testing7MessageD2Ev.exit151: ; preds = %invoke.cont98, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 store ptr null, ptr %ref.tmp89, align 8 br label %if.end101 @@ -43510,62 +43520,62 @@ lpad97: ; preds = %invoke.cont96 ehcleanup100: ; preds = %lpad97, %lpad93 %.pn19 = phi { ptr, i32 } [ %61, %lpad97 ], [ %60, %lpad93 ] %62 = load ptr, ptr %ref.tmp89, align 8 - %cmp.not.i.i151 = icmp eq ptr %62, null - br i1 %cmp.not.i.i151, label %_ZN7testing7MessageD2Ev.exit155, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 + %cmp.not.i.i152 = icmp eq ptr %62, null + br i1 %cmp.not.i.i152, label %_ZN7testing7MessageD2Ev.exit156, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152: ; preds = %ehcleanup100 - %vtable.i.i.i153 = load ptr, ptr %62, align 8 - %vfn.i.i.i154 = getelementptr inbounds ptr, ptr %vtable.i.i.i153, i64 1 - %63 = load ptr, ptr %vfn.i.i.i154, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153: ; preds = %ehcleanup100 + %vtable.i.i.i154 = load ptr, ptr %62, align 8 + %vfn.i.i.i155 = getelementptr inbounds ptr, ptr %vtable.i.i.i154, i64 1 + %63 = load ptr, ptr %vfn.i.i.i155, align 8 call void %63(ptr noundef nonnull align 8 dereferenceable(128) %62) #28 - br label %_ZN7testing7MessageD2Ev.exit155 + br label %_ZN7testing7MessageD2Ev.exit156 -_ZN7testing7MessageD2Ev.exit155: ; preds = %ehcleanup100, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 +_ZN7testing7MessageD2Ev.exit156: ; preds = %ehcleanup100, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 store ptr null, ptr %ref.tmp89, align 8 br label %ehcleanup102 -if.end101: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit150 - %64 = load ptr, ptr %message_.i.i140, align 8 - %cmp.not.i.i157 = icmp eq ptr %64, null - br i1 %cmp.not.i.i157, label %_ZN7testing15AssertionResultD2Ev.exit159, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +if.end101: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit151 + %64 = load ptr, ptr %message_.i.i141, align 8 + %cmp.not.i.i158 = icmp eq ptr %64, null + br i1 %cmp.not.i.i158, label %_ZN7testing15AssertionResultD2Ev.exit160, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %if.end101 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %if.end101 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #28 call void @_ZdlPv(ptr noundef nonnull %64) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit159 + br label %_ZN7testing15AssertionResultD2Ev.exit160 -_ZN7testing15AssertionResultD2Ev.exit159: ; preds = %if.end101, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 - store ptr null, ptr %message_.i.i140, align 8 +_ZN7testing15AssertionResultD2Ev.exit160: ; preds = %if.end101, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 + store ptr null, ptr %message_.i.i141, align 8 %65 = load ptr, ptr %tree, align 8 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %65, i64 0, i32 1 %66 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %66, 2 - br i1 %cmp.i.not.i, label %if.then.i161, label %invoke.cont103 + br i1 %cmp.i.not.i, label %if.then.i162, label %invoke.cont103 -if.then.i161: ; preds = %_ZN7testing15AssertionResultD2Ev.exit159 +if.then.i162: ; preds = %_ZN7testing15AssertionResultD2Ev.exit160 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %65) to label %invoke.cont103 unwind label %lpad.loopexit -invoke.cont103: ; preds = %_ZN7testing15AssertionResultD2Ev.exit159, %if.then.i161 +invoke.cont103: ; preds = %_ZN7testing15AssertionResultD2Ev.exit160, %if.then.i162 %67 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i163 = icmp eq ptr %67, null - br i1 %tobool.not.i.i.i163, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165, label %if.then.i.i.i164 + %tobool.not.i.i.i164 = icmp eq ptr %67, null + br i1 %tobool.not.i.i.i164, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166, label %if.then.i.i.i165 -if.then.i.i.i164: ; preds = %invoke.cont103 +if.then.i.i.i165: ; preds = %invoke.cont103 call void @_ZdlPv(ptr noundef nonnull %67) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165: ; preds = %invoke.cont103, %if.then.i.i.i164 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166: ; preds = %invoke.cont103, %if.then.i.i.i165 %68 = load ptr, ptr %refs, align 8 %69 = load ptr, ptr %_M_finish.i.i.i, align 8 %cmp.i.not4.i = icmp eq ptr %68, %69 br i1 %cmp.i.not4.i, label %for.end.i, label %for.body.i -for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 ] +for.body.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166, %for.inc.i + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 ] %70 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i167 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %70, i64 0, i32 1 - %71 = atomicrmw sub ptr %refcount.i.i167, i32 2 acq_rel, align 4 + %refcount.i.i168 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %70, i64 0, i32 1 + %71 = atomicrmw sub ptr %refcount.i.i168, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %71, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -43575,19 +43585,19 @@ if.then.i.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i.i, %for.body.i %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i168 = icmp eq ptr %incdec.ptr.i.i, %69 - br i1 %cmp.i.not.i168, label %for.end.loopexit.i, label %for.body.i + %cmp.i.not.i169 = icmp eq ptr %incdec.ptr.i.i, %69 + br i1 %cmp.i.not.i169, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 br label %for.end.i -for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 - %72 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit165 ] - %tobool.not.i.i.i.i169 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i.i169, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i170 +for.end.i: ; preds = %for.end.loopexit.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 + %72 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %68, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit166 ] + %tobool.not.i.i.i.i170 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i.i170, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i171 -if.then.i.i.i.i170: ; preds = %for.end.i +if.then.i.i.i.i171: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %72) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit @@ -43598,28 +43608,28 @@ terminate.lpad.i: ; preds = %if.then.i.i call void @__clang_call_terminate(ptr %74) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i170 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i171 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_695) #28 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx189, 1 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx190, 1 %cmp.not = icmp eq i64 %__begin2.0.add, 2 br i1 %cmp.not, label %for.end, label %for.body -ehcleanup102: ; preds = %_ZN7testing7MessageD2Ev.exit155, %lpad90 - %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit155 ], [ %59, %lpad90 ] +ehcleanup102: ; preds = %_ZN7testing7MessageD2Ev.exit156, %lpad90 + %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit156 ], [ %59, %lpad90 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar72) #28 br label %ehcleanup104 -ehcleanup104: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i137, %ehcleanup85, %ehcleanup102, %ehcleanup71, %ehcleanup39 - %.pn22 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup102 ], [ %.pn13.pn, %ehcleanup71 ], [ %.pn.pn, %ehcleanup39 ], [ %.pn16, %ehcleanup85 ], [ %.pn16.pn208, %if.then.i.i.i.i137 ], [ %lpad.loopexit178, %lpad.loopexit ], [ %lpad.loopexit.split-lp179, %lpad.loopexit.split-lp ] +ehcleanup104: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i.i138, %ehcleanup85, %ehcleanup102, %ehcleanup71, %ehcleanup39 + %.pn22 = phi { ptr, i32 } [ %.pn19.pn, %ehcleanup102 ], [ %.pn13.pn, %ehcleanup71 ], [ %.pn.pn, %ehcleanup39 ], [ %.pn16, %ehcleanup85 ], [ %.pn16.pn209, %if.then.i.i.i.i138 ], [ %lpad.loopexit179, %lpad.loopexit ], [ %lpad.loopexit.split-lp180, %lpad.loopexit.split-lp ] %75 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i172 = icmp eq ptr %75, null - br i1 %tobool.not.i.i.i172, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174, label %if.then.i.i.i173 + %tobool.not.i.i.i173 = icmp eq ptr %75, null + br i1 %tobool.not.i.i.i173, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175, label %if.then.i.i.i174 -if.then.i.i.i173: ; preds = %ehcleanup104 +if.then.i.i.i174: ; preds = %ehcleanup104 call void @_ZdlPv(ptr noundef nonnull %75) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit174: ; preds = %ehcleanup104, %if.then.i.i.i173 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit175: ; preds = %ehcleanup104, %if.then.i.i.i174 call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs) #28 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_695) #28 resume { ptr, i32 } %.pn22 @@ -43919,31 +43929,29 @@ _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.e if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i %call5.i.i.i.i1.i.i.i.i53 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad.loopexit + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp, align 8, !alias.scope !726 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !726 br label %invoke.cont41 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i53, ptr align 8 %5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !729 call void @llvm.experimental.noalias.scope.decl(metadata !726) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp, i8 0, i64 24, i1 false), !alias.scope !726 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 to label %if.then.i.i.i.i.i unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !726 -if.then.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp, align 8, !alias.scope !726 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !726 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i53, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont41 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %7 = landingpad { ptr, i32 } cleanup br label %if.then.i.i.i.i69 @@ -44208,21 +44216,21 @@ for.end: ; preds = %_ZN4absl15cordrep_t ; Function Attrs: mustprogress uwtable define internal fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_110RefEdgesAtEmRNS_15cordrep_testing9AutoUnrefEPNS0_12CordRepBtreeE(i64 noundef %depth, ptr nocapture noundef nonnull align 8 dereferenceable(24) %refs, ptr nocapture noundef readonly %tree) unnamed_addr #3 { entry: - %edges_.i51 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %tree, i64 0, i32 1 - %arrayidx.i.i52 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree, i64 0, i32 3, i64 1 - %0 = load i8, ptr %arrayidx.i.i52, align 1 - %conv.i.i53 = zext i8 %0 to i64 - %add.ptr.i54 = getelementptr inbounds ptr, ptr %edges_.i51, i64 %conv.i.i53 - %arrayidx.i.i.i55 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree, i64 0, i32 3, i64 2 - %1 = load i8, ptr %arrayidx.i.i.i55, align 1 - %conv.i.i.i56 = zext i8 %1 to i64 - %cmp57 = icmp eq i64 %depth, 0 - br i1 %cmp57, label %if.then, label %if.else + %edges_.i52 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %tree, i64 0, i32 1 + %arrayidx.i.i53 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree, i64 0, i32 3, i64 1 + %0 = load i8, ptr %arrayidx.i.i53, align 1 + %conv.i.i54 = zext i8 %0 to i64 + %add.ptr.i55 = getelementptr inbounds ptr, ptr %edges_.i52, i64 %conv.i.i54 + %arrayidx.i.i.i56 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree, i64 0, i32 3, i64 2 + %1 = load i8, ptr %arrayidx.i.i.i56, align 1 + %conv.i.i.i57 = zext i8 %1 to i64 + %cmp58 = icmp eq i64 %depth, 0 + br i1 %cmp58, label %if.then, label %if.else if.then: ; preds = %if.else, %entry %2 = phi ptr [ %tree, %entry ], [ %19, %if.else ] - %add.ptr.i.lcssa = phi ptr [ %add.ptr.i54, %entry ], [ %add.ptr.i, %if.else ] - %conv.i.i.i.lcssa = phi i64 [ %conv.i.i.i56, %entry ], [ %conv.i.i.i, %if.else ] + %add.ptr.i.lcssa = phi ptr [ %add.ptr.i55, %entry ], [ %add.ptr.i, %if.else ] + %conv.i.i.i.lcssa = phi i64 [ %conv.i.i.i57, %entry ], [ %conv.i.i.i, %if.else ] %3 = load ptr, ptr %add.ptr.i.lcssa, align 8, !nonnull !736, !noundef !736 %refcount.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %3, i64 0, i32 1 %4 = atomicrmw add ptr %refcount.i.i, i32 2 monotonic, align 4 @@ -44272,23 +44280,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %3, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %8, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %8, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %8) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -44320,9 +44329,9 @@ if.else.i.i.i14: ; preds = %_ZN4absl15cordrep_t %sub.ptr.rhs.cast.i.i.i.i.i.i16 = ptrtoint ptr %15 to i64 %sub.ptr.sub.i.i.i.i.i.i17 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i15, %sub.ptr.rhs.cast.i.i.i.i.i.i16 %cmp.i.i.i.i.i18 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i17, 9223372036854775800 - br i1 %cmp.i.i.i.i.i18, label %if.then.i.i.i.i.i42, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i19 + br i1 %cmp.i.i.i.i.i18, label %if.then.i.i.i.i.i43, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i19 -if.then.i.i.i.i.i42: ; preds = %if.else.i.i.i14 +if.then.i.i.i.i.i43: ; preds = %if.else.i.i.i14 tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 unreachable @@ -44346,41 +44355,42 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i32 = phi ptr [ %call5.i.i.i.i.i.i.i30, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i28 ], [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i19 ] %add.ptr.i.i.i.i33 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i32, i64 %sub.ptr.div.i.i.i.i.i.i20 store ptr %10, ptr %add.ptr.i.i.i.i33, align 8 - %cmp.i.i.i11.i.i.i.i34 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i20, 0 - br i1 %cmp.i.i.i11.i.i.i.i34, label %if.then.i.i.i12.i.i.i.i41, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i35 + %cmp.i.i.i11.i.i.i.i34 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i17, 0 + br i1 %cmp.i.i.i11.i.i.i.i34, label %if.then.i.i.i12.i.i.i.i42, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i35 -if.then.i.i.i12.i.i.i.i41: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i31 +if.then.i.i.i12.i.i.i.i42: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i31 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i32, ptr align 8 %15, i64 %sub.ptr.sub.i.i.i.i.i.i17, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i35 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i35 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i35: ; preds = %if.then.i.i.i12.i.i.i.i41, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i31 - %incdec.ptr.i.i.i.i36 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i33, i64 1 - %tobool.not.i.i.i.i.i37 = icmp eq ptr %15, null - br i1 %tobool.not.i.i.i.i.i37, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i39, label %if.then.i21.i.i.i.i38 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i35: ; preds = %if.then.i.i.i12.i.i.i.i42, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i31 + %add.ptr.i.i.i.i.i.i.i36 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i32, i64 %sub.ptr.sub.i.i.i.i.i.i17 + %incdec.ptr.i.i.i.i37 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i36, i64 1 + %tobool.not.i.i.i.i.i38 = icmp eq ptr %15, null + br i1 %tobool.not.i.i.i.i.i38, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i40, label %if.then.i20.i.i.i.i39 -if.then.i21.i.i.i.i38: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i35 +if.then.i20.i.i.i.i39: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i35 tail call void @_ZdlPv(ptr noundef nonnull %15) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i39 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i40 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i39: ; preds = %if.then.i21.i.i.i.i38, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i35 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i40: ; preds = %if.then.i20.i.i.i.i39, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i35 store ptr %cond.i10.i.i.i.i32, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i36, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i40 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i32, i64 %cond.i.i.i.i.i26 - store ptr %add.ptr19.i.i.i.i40, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i37, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i41 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i32, i64 %cond.i.i.i.i.i26 + store ptr %add.ptr19.i.i.i.i41, ptr %_M_end_of_storage.i.i.i, align 8 br label %if.end if.else: ; preds = %entry, %if.else - %conv.i.i.i61 = phi i64 [ %conv.i.i.i, %if.else ], [ %conv.i.i.i56, %entry ] - %add.ptr.i60 = phi ptr [ %add.ptr.i, %if.else ], [ %add.ptr.i54, %entry ] + %conv.i.i.i62 = phi i64 [ %conv.i.i.i, %if.else ], [ %conv.i.i.i57, %entry ] + %add.ptr.i61 = phi ptr [ %add.ptr.i, %if.else ], [ %add.ptr.i55, %entry ] %16 = phi ptr [ %19, %if.else ], [ %tree, %entry ] - %depth.tr58 = phi i64 [ %sub, %if.else ], [ %depth, %entry ] + %depth.tr59 = phi i64 [ %sub, %if.else ], [ %depth, %entry ] %17 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %16, i64 0, i32 1 - %sub = add i64 %depth.tr58, -1 - %18 = load ptr, ptr %add.ptr.i60, align 8 + %sub = add i64 %depth.tr59, -1 + %18 = load ptr, ptr %add.ptr.i61, align 8 tail call fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_110RefEdgesAtEmRNS_15cordrep_testing9AutoUnrefEPNS0_12CordRepBtreeE(i64 noundef %sub, ptr noundef nonnull align 8 dereferenceable(24) %refs, ptr noundef %18) - %add.ptr.i45 = getelementptr inbounds ptr, ptr %17, i64 %conv.i.i.i61 - %add.ptr3.i46 = getelementptr inbounds ptr, ptr %add.ptr.i45, i64 -1 - %19 = load ptr, ptr %add.ptr3.i46, align 8 + %add.ptr.i46 = getelementptr inbounds ptr, ptr %17, i64 %conv.i.i.i62 + %add.ptr3.i47 = getelementptr inbounds ptr, ptr %add.ptr.i46, i64 -1 + %19 = load ptr, ptr %add.ptr3.i47, align 8 %edges_.i = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %19, i64 0, i32 1 %arrayidx.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %19, i64 0, i32 3, i64 1 %20 = load i8, ptr %arrayidx.i.i, align 1 @@ -44392,7 +44402,7 @@ if.else: ; preds = %entry, %if.else %cmp = icmp eq i64 %sub, 0 br i1 %cmp, label %if.then, label %if.else -if.end: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i39, %if.then.i.i.i12 +if.end: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i40, %if.then.i.i.i12 ret void } @@ -44627,7 +44637,7 @@ entry: ; Function Attrs: mustprogress uwtable define internal void @_ZN4absl13cord_internal12_GLOBAL__N_134CordRepBtreeTest_RemoveSuffix_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %ref.tmp.i242 = alloca %class.anon.570, align 8 + %ref.tmp.i244 = alloca %class.anon.570, align 8 %agg.tmp.i = alloca %"class.testing::internal::EqMatcher.543", align 8 %ref.tmp.i78 = alloca %"class.std::vector.314", align 8 %ref.tmp.i = alloca %"class.std::vector.314", align 8 @@ -44690,32 +44700,32 @@ entry: %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs, i64 0, i32 2 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %_M_finish.i.i.i79 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp.i78, i64 0, i32 1 - %message_.i.i137 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar39, i64 0, i32 1 - %_M_finish.i.i167 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %flats, i64 0, i32 1 - %_M_finish.i.i.i171 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs79, i64 0, i32 1 - %_M_end_of_storage.i.i.i172 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs79, i64 0, i32 2 - %message_.i.i222 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar97, i64 0, i32 1 - %0 = getelementptr inbounds %class.anon.570, ptr %ref.tmp.i242, i64 0, i32 1 + %message_.i.i138 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar39, i64 0, i32 1 + %_M_finish.i.i168 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %flats, i64 0, i32 1 + %_M_finish.i.i.i172 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs79, i64 0, i32 1 + %_M_end_of_storage.i.i.i173 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %refs79, i64 0, i32 2 + %message_.i.i224 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar97, i64 0, i32 1 + %0 = getelementptr inbounds %class.anon.570, ptr %ref.tmp.i244, i64 0, i32 1 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %edges, i64 0, i32 2 %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %edges, i64 0, i32 1 - %message_.i276 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar134, i64 0, i32 1 - %message_.i310 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar182, i64 0, i32 1 - %message_.i335 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar218, i64 0, i32 1 - %message_.i.i342 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar257, i64 0, i32 1 - %message_.i.i367 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar294, i64 0, i32 1 - %message_.i388 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - %message_.i.i405 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar352, i64 0, i32 1 + %message_.i278 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar134, i64 0, i32 1 + %message_.i312 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar182, i64 0, i32 1 + %message_.i337 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar218, i64 0, i32 1 + %message_.i.i344 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar257, i64 0, i32 1 + %message_.i.i369 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar294, i64 0, i32 1 + %message_.i390 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + %message_.i.i407 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar352, i64 0, i32 1 br label %for.body for.body: ; preds = %entry, %cleanup398.thread - %__begin2.0.idx542 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %cleanup398.thread ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit, i64 %__begin2.0.idx542 + %__begin2.0.idx544 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %cleanup398.thread ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit, i64 %__begin2.0.idx544 %1 = load i64, ptr %__begin2.0.ptr, align 8 %mul = shl i64 %1, 9 call void @_ZN4absl15cordrep_testing18CreateRandomStringB5cxx11Em(ptr nonnull sret(%"class.std::__cxx11::basic_string") align 8 %data, i64 noundef %mul) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %refs, i8 0, i64 24, i1 false) %call.i62 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() - to label %invoke.cont unwind label %lpad.loopexit495 + to label %invoke.cont unwind label %lpad.loopexit497 invoke.cont: ; preds = %for.body %2 = load i8, ptr %call.i62, align 1 @@ -44726,7 +44736,7 @@ invoke.cont: ; preds = %for.body %5 = extractvalue { i64, ptr } %call5, 1 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp.i) invoke void @_ZN4absl15cordrep_testing21CreateFlatsFromStringESt17basic_string_viewIcSt11char_traitsIcEEm(ptr nonnull sret(%"class.std::vector.314") align 8 %ref.tmp.i, i64 %4, ptr %5, i64 noundef 512) - to label %.noexc unwind label %lpad.loopexit495 + to label %.noexc unwind label %lpad.loopexit497 .noexc: ; preds = %invoke.cont %6 = load ptr, ptr %ref.tmp.i, align 8 @@ -44788,7 +44798,7 @@ if.else.i.i.i: ; preds = %if.then.i if.then.i.i.i.i.i.invoke: ; preds = %if.else.i.i.i, %if.else.i.i.i104 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %if.then.i.i.i.i.i.cont unwind label %lpad.loopexit.split-lp496 + to label %if.then.i.i.i.i.i.cont unwind label %lpad.loopexit.split-lp498 if.then.i.i.i.i.i.cont: ; preds = %if.then.i.i.i.i.i.invoke unreachable @@ -44807,29 +44817,30 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 3 %call5.i.i.i.i.i.i.i65 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit495 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit497 _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i65, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %call.i, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %14, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %14, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %14) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i63, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -44840,12 +44851,12 @@ invoke.cont13: ; preds = %_ZNSt6vectorIPN4abs store i64 0, ptr %ref.tmp10, align 8, !alias.scope !741 %call15 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 %call17 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree12RemoveSuffixEPS1_m(ptr noundef %call.i, i64 noundef %call15) - to label %invoke.cont16 unwind label %lpad.loopexit495 + to label %invoke.cont16 unwind label %lpad.loopexit497 invoke.cont16: ; preds = %invoke.cont13 store ptr %call17, ptr %ref.tmp14, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIDnEEEclIPN4absl13cord_internal7CordRepEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp10, ptr noundef nonnull @.str.214, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp14) - to label %invoke.cont18 unwind label %lpad.loopexit495 + to label %invoke.cont18 unwind label %lpad.loopexit497 invoke.cont18: ; preds = %invoke.cont16 %15 = load i8, ptr %gtest_ar, align 8 @@ -44853,13 +44864,13 @@ invoke.cont18: ; preds = %invoke.cont16 %tobool.i67.not = icmp eq i8 %16, 0 br i1 %tobool.i67.not, label %if.else, label %if.end -lpad.loopexit495: ; preds = %invoke.cont13, %invoke.cont16, %invoke.cont47, %invoke.cont53, %for.body, %invoke.cont, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont31, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i118, %if.then.i157 - %lpad.loopexit497 = landingpad { ptr, i32 } +lpad.loopexit497: ; preds = %invoke.cont13, %invoke.cont16, %invoke.cont47, %invoke.cont53, %for.body, %invoke.cont, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont31, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i118, %if.then.i158 + %lpad.loopexit499 = landingpad { ptr, i32 } cleanup br label %ehcleanup401 -lpad.loopexit.split-lp496: ; preds = %if.then.i.i.i.i.i.invoke - %lpad.loopexit.split-lp498 = landingpad { ptr, i32 } +lpad.loopexit.split-lp498: ; preds = %if.then.i.i.i.i.i.invoke + %lpad.loopexit.split-lp500 = landingpad { ptr, i32 } cleanup br label %ehcleanup401 @@ -44948,7 +44959,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i.i, align 8 %call.i7476 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() - to label %invoke.cont31 unwind label %lpad.loopexit495 + to label %invoke.cont31 unwind label %lpad.loopexit497 invoke.cont31: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %26 = load i8, ptr %call.i7476, align 1 @@ -44959,7 +44970,7 @@ invoke.cont31: ; preds = %_ZN7testing15Assert %29 = extractvalue { i64, ptr } %call34, 1 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp.i78) invoke void @_ZN4absl15cordrep_testing21CreateFlatsFromStringESt17basic_string_viewIcSt11char_traitsIcEEm(ptr nonnull sret(%"class.std::vector.314") align 8 %ref.tmp.i78, i64 %28, ptr %29, i64 noundef 512) - to label %.noexc92 unwind label %lpad.loopexit495 + to label %.noexc92 unwind label %lpad.loopexit497 .noexc92: ; preds = %invoke.cont31 %30 = load ptr, ptr %ref.tmp.i78, align 8 @@ -45032,51 +45043,52 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i118: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i109 %mul.i.i.i.i.i.i.i119 = shl nuw nsw i64 %cond.i.i.i.i.i116, 3 - %call5.i.i.i.i.i.i.i134 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i119) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i120 unwind label %lpad.loopexit495 + %call5.i.i.i.i.i.i.i135 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i119) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i120 unwind label %lpad.loopexit497 _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i120: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i118, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i109 - %cond.i10.i.i.i.i121 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i109 ], [ %call5.i.i.i.i.i.i.i134, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i118 ] + %cond.i10.i.i.i.i121 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i109 ], [ %call5.i.i.i.i.i.i.i135, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i118 ] %add.ptr.i.i.i.i122 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i121, i64 %sub.ptr.div.i.i.i.i.i.i110 store ptr %call.i84, ptr %add.ptr.i.i.i.i122, align 8 - %cmp.i.i.i11.i.i.i.i123 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i110, 0 - br i1 %cmp.i.i.i11.i.i.i.i123, label %if.then.i.i.i12.i.i.i.i130, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i124 + %cmp.i.i.i11.i.i.i.i123 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i107, 0 + br i1 %cmp.i.i.i11.i.i.i.i123, label %if.then.i.i.i12.i.i.i.i131, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i124 -if.then.i.i.i12.i.i.i.i130: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i120 +if.then.i.i.i12.i.i.i.i131: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i120 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i121, ptr align 8 %38, i64 %sub.ptr.sub.i.i.i.i.i.i107, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i124 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i124 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i124: ; preds = %if.then.i.i.i12.i.i.i.i130, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i120 - %incdec.ptr.i.i.i.i125 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i122, i64 1 - %tobool.not.i.i.i.i.i126 = icmp eq ptr %38, null - br i1 %tobool.not.i.i.i.i.i126, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128, label %if.then.i21.i.i.i.i127 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i124: ; preds = %if.then.i.i.i12.i.i.i.i131, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i120 + %add.ptr.i.i.i.i.i.i.i125 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i121, i64 %sub.ptr.sub.i.i.i.i.i.i107 + %incdec.ptr.i.i.i.i126 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i125, i64 1 + %tobool.not.i.i.i.i.i127 = icmp eq ptr %38, null + br i1 %tobool.not.i.i.i.i.i127, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i129, label %if.then.i20.i.i.i.i128 -if.then.i21.i.i.i.i127: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i124 +if.then.i20.i.i.i.i128: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i124 call void @_ZdlPv(ptr noundef nonnull %38) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i129 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128: ; preds = %if.then.i21.i.i.i.i127, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i124 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i129: ; preds = %if.then.i20.i.i.i.i128, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i124 store ptr %cond.i10.i.i.i.i121, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i125, ptr %_M_finish.i.i.i63, align 8 - %add.ptr19.i.i.i.i129 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i121, i64 %cond.i.i.i.i.i116 - store ptr %add.ptr19.i.i.i.i129, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i126, ptr %_M_finish.i.i.i63, align 8 + %add.ptr19.i.i.i.i130 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i121, i64 %cond.i.i.i.i.i116 + store ptr %add.ptr19.i.i.i.i130, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont47 -invoke.cont47: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128, %if.then.i.i.i102, %invoke.cont35 +invoke.cont47: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i129, %if.then.i.i.i102, %invoke.cont35 store ptr %call.i84, ptr %ref.tmp40, align 8 %call54 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree12RemoveSuffixEPS1_m(ptr noundef %call.i84, i64 noundef 0) - to label %invoke.cont53 unwind label %lpad.loopexit495 + to label %invoke.cont53 unwind label %lpad.loopexit497 invoke.cont53: ; preds = %invoke.cont47 store ptr %call54, ptr %ref.tmp52, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIPN4absl13cord_internal12CordRepBtreeEEEEclIPNS4_7CordRepEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar39, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp40, ptr noundef nonnull @.str.215, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52) - to label %invoke.cont55 unwind label %lpad.loopexit495 + to label %invoke.cont55 unwind label %lpad.loopexit497 invoke.cont55: ; preds = %invoke.cont53 %39 = load i8, ptr %gtest_ar39, align 8 %40 = and i8 %39, 1 - %tobool.i136.not = icmp eq i8 %40, 0 - br i1 %tobool.i136.not, label %if.else58, label %if.end71 + %tobool.i137.not = icmp eq i8 %40, 0 + br i1 %tobool.i137.not, label %if.else58, label %if.end71 ehcleanup30: ; preds = %_ZN7testing7MessageD2Ev.exit72, %lpad21 %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit72 ], [ %20, %lpad21 ] @@ -45088,17 +45100,17 @@ if.else58: ; preds = %invoke.cont55 to label %invoke.cont61 unwind label %lpad60 invoke.cont61: ; preds = %if.else58 - %41 = load ptr, ptr %message_.i.i137, align 8 - %cmp.i.i.not.i.i138 = icmp eq ptr %41, null - br i1 %cmp.i.i.not.i.i138, label %invoke.cont64, label %cond.true.i.i139 + %41 = load ptr, ptr %message_.i.i138, align 8 + %cmp.i.i.not.i.i139 = icmp eq ptr %41, null + br i1 %cmp.i.i.not.i.i139, label %invoke.cont64, label %cond.true.i.i140 -cond.true.i.i139: ; preds = %invoke.cont61 - %call4.i.i140 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #28 +cond.true.i.i140: ; preds = %invoke.cont61 + %call4.i.i141 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #28 br label %invoke.cont64 -invoke.cont64: ; preds = %cond.true.i.i139, %invoke.cont61 - %cond.i.i141 = phi ptr [ %call4.i.i140, %cond.true.i.i139 ], [ @.str.120, %invoke.cont61 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp62, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 786, ptr noundef %cond.i.i141) +invoke.cont64: ; preds = %cond.true.i.i140, %invoke.cont61 + %cond.i.i142 = phi ptr [ %call4.i.i141, %cond.true.i.i140 ], [ @.str.120, %invoke.cont61 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp62, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 786, ptr noundef %cond.i.i142) to label %invoke.cont66 unwind label %lpad63 invoke.cont66: ; preds = %invoke.cont64 @@ -45108,17 +45120,17 @@ invoke.cont66: ; preds = %invoke.cont64 invoke.cont68: ; preds = %invoke.cont66 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp62) #28 %42 = load ptr, ptr %ref.tmp59, align 8 - %cmp.not.i.i143 = icmp eq ptr %42, null - br i1 %cmp.not.i.i143, label %_ZN7testing7MessageD2Ev.exit147, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 + %cmp.not.i.i144 = icmp eq ptr %42, null + br i1 %cmp.not.i.i144, label %_ZN7testing7MessageD2Ev.exit148, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144: ; preds = %invoke.cont68 - %vtable.i.i.i145 = load ptr, ptr %42, align 8 - %vfn.i.i.i146 = getelementptr inbounds ptr, ptr %vtable.i.i.i145, i64 1 - %43 = load ptr, ptr %vfn.i.i.i146, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145: ; preds = %invoke.cont68 + %vtable.i.i.i146 = load ptr, ptr %42, align 8 + %vfn.i.i.i147 = getelementptr inbounds ptr, ptr %vtable.i.i.i146, i64 1 + %43 = load ptr, ptr %vfn.i.i.i147, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #28 - br label %_ZN7testing7MessageD2Ev.exit147 + br label %_ZN7testing7MessageD2Ev.exit148 -_ZN7testing7MessageD2Ev.exit147: ; preds = %invoke.cont68, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i144 +_ZN7testing7MessageD2Ev.exit148: ; preds = %invoke.cont68, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 store ptr null, ptr %ref.tmp59, align 8 br label %if.end71 @@ -45141,42 +45153,42 @@ lpad67: ; preds = %invoke.cont66 ehcleanup70: ; preds = %lpad67, %lpad63 %.pn24 = phi { ptr, i32 } [ %46, %lpad67 ], [ %45, %lpad63 ] %47 = load ptr, ptr %ref.tmp59, align 8 - %cmp.not.i.i148 = icmp eq ptr %47, null - br i1 %cmp.not.i.i148, label %_ZN7testing7MessageD2Ev.exit152, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149 + %cmp.not.i.i149 = icmp eq ptr %47, null + br i1 %cmp.not.i.i149, label %_ZN7testing7MessageD2Ev.exit153, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149: ; preds = %ehcleanup70 - %vtable.i.i.i150 = load ptr, ptr %47, align 8 - %vfn.i.i.i151 = getelementptr inbounds ptr, ptr %vtable.i.i.i150, i64 1 - %48 = load ptr, ptr %vfn.i.i.i151, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150: ; preds = %ehcleanup70 + %vtable.i.i.i151 = load ptr, ptr %47, align 8 + %vfn.i.i.i152 = getelementptr inbounds ptr, ptr %vtable.i.i.i151, i64 1 + %48 = load ptr, ptr %vfn.i.i.i152, align 8 call void %48(ptr noundef nonnull align 8 dereferenceable(128) %47) #28 - br label %_ZN7testing7MessageD2Ev.exit152 + br label %_ZN7testing7MessageD2Ev.exit153 -_ZN7testing7MessageD2Ev.exit152: ; preds = %ehcleanup70, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149 +_ZN7testing7MessageD2Ev.exit153: ; preds = %ehcleanup70, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150 store ptr null, ptr %ref.tmp59, align 8 br label %ehcleanup72 -if.end71: ; preds = %invoke.cont55, %_ZN7testing7MessageD2Ev.exit147 - %49 = load ptr, ptr %message_.i.i137, align 8 - %cmp.not.i.i154 = icmp eq ptr %49, null - br i1 %cmp.not.i.i154, label %_ZN7testing15AssertionResultD2Ev.exit156, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 +if.end71: ; preds = %invoke.cont55, %_ZN7testing7MessageD2Ev.exit148 + %49 = load ptr, ptr %message_.i.i138, align 8 + %cmp.not.i.i155 = icmp eq ptr %49, null + br i1 %cmp.not.i.i155, label %_ZN7testing15AssertionResultD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155: ; preds = %if.end71 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156: ; preds = %if.end71 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #28 call void @_ZdlPv(ptr noundef nonnull %49) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit156 + br label %_ZN7testing15AssertionResultD2Ev.exit157 -_ZN7testing15AssertionResultD2Ev.exit156: ; preds = %if.end71, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 - store ptr null, ptr %message_.i.i137, align 8 +_ZN7testing15AssertionResultD2Ev.exit157: ; preds = %if.end71, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 + store ptr null, ptr %message_.i.i138, align 8 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call.i84, i64 0, i32 1 %50 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %50, 2 - br i1 %cmp.i.not.i, label %if.then.i157, label %invoke.cont73 + br i1 %cmp.i.not.i, label %if.then.i158, label %invoke.cont73 -if.then.i157: ; preds = %_ZN7testing15AssertionResultD2Ev.exit156 +if.then.i158: ; preds = %_ZN7testing15AssertionResultD2Ev.exit157 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %call.i84) - to label %invoke.cont73 unwind label %lpad.loopexit495 + to label %invoke.cont73 unwind label %lpad.loopexit497 -invoke.cont73: ; preds = %_ZN7testing15AssertionResultD2Ev.exit156, %if.then.i157 +invoke.cont73: ; preds = %_ZN7testing15AssertionResultD2Ev.exit157, %if.then.i158 %51 = load ptr, ptr %refs, align 8 %52 = load ptr, ptr %_M_finish.i.i.i63, align 8 %cmp.i.not4.i = icmp eq ptr %51, %52 @@ -45185,8 +45197,8 @@ invoke.cont73: ; preds = %_ZN7testing15Assert for.body.i: ; preds = %invoke.cont73, %for.inc.i %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %51, %invoke.cont73 ] %53 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i159 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %53, i64 0, i32 1 - %54 = atomicrmw sub ptr %refcount.i.i159, i32 2 acq_rel, align 4 + %refcount.i.i160 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %53, i64 0, i32 1 + %54 = atomicrmw sub ptr %refcount.i.i160, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %54, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -45196,8 +45208,8 @@ if.then.i.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i.i, %for.body.i %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i160 = icmp eq ptr %incdec.ptr.i.i, %52 - br i1 %cmp.i.not.i160, label %for.end.loopexit.i, label %for.body.i + %cmp.i.not.i161 = icmp eq ptr %incdec.ptr.i.i, %52 + br i1 %cmp.i.not.i161, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 @@ -45205,10 +45217,10 @@ for.end.loopexit.i: ; preds = %for.inc.i for.end.i: ; preds = %for.end.loopexit.i, %invoke.cont73 %55 = phi ptr [ %.pre.i, %for.end.loopexit.i ], [ %51, %invoke.cont73 ] - %tobool.not.i.i.i.i161 = icmp eq ptr %55, null - br i1 %tobool.not.i.i.i.i161, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i162 + %tobool.not.i.i.i.i162 = icmp eq ptr %55, null + br i1 %tobool.not.i.i.i.i162, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i163 -if.then.i.i.i.i162: ; preds = %for.end.i +if.then.i.i.i.i163: ; preds = %for.end.i call void @_ZdlPv(ptr noundef nonnull %55) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit @@ -45219,19 +45231,19 @@ terminate.lpad.i: ; preds = %if.then.i.i call void @__clang_call_terminate(ptr %57) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i162 - %call76539 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 - %cmp77.not540 = icmp ugt i64 %call76539, 1 - br i1 %cmp77.not540, label %for.body78, label %cleanup398.thread +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i163 + %call76541 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 + %cmp77.not542 = icmp ugt i64 %call76541, 1 + br i1 %cmp77.not542, label %for.body78, label %cleanup398.thread -cleanup398.thread: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit448, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit +cleanup398.thread: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit450, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx542, 8 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx544, 8 %cmp.not = icmp eq i64 %__begin2.0.add, 24 br i1 %cmp.not, label %for.end403, label %for.body -for.body78: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit448 - %n.0541 = phi i64 [ %inc396, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit448 ], [ 1, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] +for.body78: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit450 + %n.0543 = phi i64 [ %inc396, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit450 ], [ 1, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %refs79, i8 0, i64 24, i1 false) %call81 = call { i64, ptr } @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 %58 = extractvalue { i64, ptr } %call81, 0 @@ -45240,13 +45252,13 @@ for.body78: ; preds = %_ZN4absl15cordrep_t to label %invoke.cont83 unwind label %lpad82 invoke.cont83: ; preds = %for.body78 - %call.i163165 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() + %call.i164166 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont86 unwind label %lpad85.loopexit invoke.cont86: ; preds = %invoke.cont83 - %60 = load i8, ptr %call.i163165, align 1 + %60 = load i8, ptr %call.i164166, align 1 %61 = load ptr, ptr %flats, align 8 - %62 = load ptr, ptr %_M_finish.i.i167, align 8 + %62 = load ptr, ptr %_M_finish.i.i168, align 8 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %62 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %61 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i @@ -45256,97 +45268,98 @@ invoke.cont86: ; preds = %invoke.cont83 invoke.cont89: ; preds = %invoke.cont86 %63 = and i8 %60, 1 - %tobool.i164.not = icmp eq i8 %63, 0 - br i1 %tobool.i164.not, label %invoke.cont91, label %if.then.i168 - -if.then.i168: ; preds = %invoke.cont89 - %cmp.i.i169 = icmp ne ptr %call90, null - call void @llvm.assume(i1 %cmp.i.i169) - %refcount.i.i170 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call90, i64 0, i32 1 - %64 = atomicrmw add ptr %refcount.i.i170, i32 2 monotonic, align 4 - %65 = load ptr, ptr %_M_finish.i.i.i171, align 8 - %66 = load ptr, ptr %_M_end_of_storage.i.i.i172, align 8 - %cmp.not.i.i.i173 = icmp eq ptr %65, %66 - br i1 %cmp.not.i.i.i173, label %if.else.i.i.i176, label %if.then.i.i.i174 - -if.then.i.i.i174: ; preds = %if.then.i168 + %tobool.i165.not = icmp eq i8 %63, 0 + br i1 %tobool.i165.not, label %invoke.cont91, label %if.then.i169 + +if.then.i169: ; preds = %invoke.cont89 + %cmp.i.i170 = icmp ne ptr %call90, null + call void @llvm.assume(i1 %cmp.i.i170) + %refcount.i.i171 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call90, i64 0, i32 1 + %64 = atomicrmw add ptr %refcount.i.i171, i32 2 monotonic, align 4 + %65 = load ptr, ptr %_M_finish.i.i.i172, align 8 + %66 = load ptr, ptr %_M_end_of_storage.i.i.i173, align 8 + %cmp.not.i.i.i174 = icmp eq ptr %65, %66 + br i1 %cmp.not.i.i.i174, label %if.else.i.i.i177, label %if.then.i.i.i175 + +if.then.i.i.i175: ; preds = %if.then.i169 store ptr %call90, ptr %65, align 8 - %incdec.ptr.i.i.i175 = getelementptr inbounds ptr, ptr %65, i64 1 - store ptr %incdec.ptr.i.i.i175, ptr %_M_finish.i.i.i171, align 8 + %incdec.ptr.i.i.i176 = getelementptr inbounds ptr, ptr %65, i64 1 + store ptr %incdec.ptr.i.i.i176, ptr %_M_finish.i.i.i172, align 8 br label %invoke.cont91 -if.else.i.i.i176: ; preds = %if.then.i168 +if.else.i.i.i177: ; preds = %if.then.i169 %67 = load ptr, ptr %refs79, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i177 = ptrtoint ptr %65 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i178 = ptrtoint ptr %67 to i64 - %sub.ptr.sub.i.i.i.i.i.i179 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i177, %sub.ptr.rhs.cast.i.i.i.i.i.i178 - %cmp.i.i.i.i.i180 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i179, 9223372036854775800 - br i1 %cmp.i.i.i.i.i180, label %if.then.i.i.i.i.i203.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i181 + %sub.ptr.lhs.cast.i.i.i.i.i.i178 = ptrtoint ptr %65 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i179 = ptrtoint ptr %67 to i64 + %sub.ptr.sub.i.i.i.i.i.i180 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i178, %sub.ptr.rhs.cast.i.i.i.i.i.i179 + %cmp.i.i.i.i.i181 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i180, 9223372036854775800 + br i1 %cmp.i.i.i.i.i181, label %if.then.i.i.i.i.i205.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i182 -if.then.i.i.i.i.i203.invoke: ; preds = %if.else.i.i, %if.else.i.i.i176 +if.then.i.i.i.i.i205.invoke: ; preds = %if.else.i.i, %if.else.i.i.i177 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %if.then.i.i.i.i.i203.cont unwind label %lpad85.loopexit.split-lp + to label %if.then.i.i.i.i.i205.cont unwind label %lpad85.loopexit.split-lp -if.then.i.i.i.i.i203.cont: ; preds = %if.then.i.i.i.i.i203.invoke +if.then.i.i.i.i.i205.cont: ; preds = %if.then.i.i.i.i.i205.invoke unreachable -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i181: ; preds = %if.else.i.i.i176 - %sub.ptr.div.i.i.i.i.i.i182 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i179, 3 - %.sroa.speculated.i.i.i.i.i183 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i182, i64 1) - %add.i.i.i.i.i184 = add i64 %.sroa.speculated.i.i.i.i.i183, %sub.ptr.div.i.i.i.i.i.i182 - %cmp7.i.i.i.i.i185 = icmp ult i64 %add.i.i.i.i.i184, %sub.ptr.div.i.i.i.i.i.i182 - %cmp9.i.i.i.i.i186 = icmp ugt i64 %add.i.i.i.i.i184, 1152921504606846975 - %or.cond.i.i.i.i.i187 = or i1 %cmp7.i.i.i.i.i185, %cmp9.i.i.i.i.i186 - %cond.i.i.i.i.i188 = select i1 %or.cond.i.i.i.i.i187, i64 1152921504606846975, i64 %add.i.i.i.i.i184 - %cmp.not.i.i.i.i.i189 = icmp eq i64 %cond.i.i.i.i.i188, 0 - br i1 %cmp.not.i.i.i.i.i189, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i192, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i190 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i190: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i181 - %mul.i.i.i.i.i.i.i191 = shl nuw nsw i64 %cond.i.i.i.i.i188, 3 - %call5.i.i.i.i.i.i.i206 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i191) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i192 unwind label %lpad85.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i192: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i190, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i181 - %cond.i10.i.i.i.i193 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i181 ], [ %call5.i.i.i.i.i.i.i206, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i190 ] - %add.ptr.i.i.i.i194 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i193, i64 %sub.ptr.div.i.i.i.i.i.i182 - store ptr %call90, ptr %add.ptr.i.i.i.i194, align 8 - %cmp.i.i.i11.i.i.i.i195 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i182, 0 - br i1 %cmp.i.i.i11.i.i.i.i195, label %if.then.i.i.i12.i.i.i.i202, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i196 - -if.then.i.i.i12.i.i.i.i202: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i192 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i193, ptr align 8 %67, i64 %sub.ptr.sub.i.i.i.i.i.i179, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i196 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i196: ; preds = %if.then.i.i.i12.i.i.i.i202, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i192 - %incdec.ptr.i.i.i.i197 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i194, i64 1 - %tobool.not.i.i.i.i.i198 = icmp eq ptr %67, null - br i1 %tobool.not.i.i.i.i.i198, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i200, label %if.then.i21.i.i.i.i199 - -if.then.i21.i.i.i.i199: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i196 +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i182: ; preds = %if.else.i.i.i177 + %sub.ptr.div.i.i.i.i.i.i183 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i180, 3 + %.sroa.speculated.i.i.i.i.i184 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i183, i64 1) + %add.i.i.i.i.i185 = add i64 %.sroa.speculated.i.i.i.i.i184, %sub.ptr.div.i.i.i.i.i.i183 + %cmp7.i.i.i.i.i186 = icmp ult i64 %add.i.i.i.i.i185, %sub.ptr.div.i.i.i.i.i.i183 + %cmp9.i.i.i.i.i187 = icmp ugt i64 %add.i.i.i.i.i185, 1152921504606846975 + %or.cond.i.i.i.i.i188 = or i1 %cmp7.i.i.i.i.i186, %cmp9.i.i.i.i.i187 + %cond.i.i.i.i.i189 = select i1 %or.cond.i.i.i.i.i188, i64 1152921504606846975, i64 %add.i.i.i.i.i185 + %cmp.not.i.i.i.i.i190 = icmp eq i64 %cond.i.i.i.i.i189, 0 + br i1 %cmp.not.i.i.i.i.i190, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i193, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i191 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i191: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i182 + %mul.i.i.i.i.i.i.i192 = shl nuw nsw i64 %cond.i.i.i.i.i189, 3 + %call5.i.i.i.i.i.i.i208 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i192) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i193 unwind label %lpad85.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i193: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i191, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i182 + %cond.i10.i.i.i.i194 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i182 ], [ %call5.i.i.i.i.i.i.i208, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i191 ] + %add.ptr.i.i.i.i195 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i194, i64 %sub.ptr.div.i.i.i.i.i.i183 + store ptr %call90, ptr %add.ptr.i.i.i.i195, align 8 + %cmp.i.i.i11.i.i.i.i196 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i180, 0 + br i1 %cmp.i.i.i11.i.i.i.i196, label %if.then.i.i.i12.i.i.i.i204, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i197 + +if.then.i.i.i12.i.i.i.i204: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i193 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i194, ptr align 8 %67, i64 %sub.ptr.sub.i.i.i.i.i.i180, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i197 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i197: ; preds = %if.then.i.i.i12.i.i.i.i204, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i193 + %add.ptr.i.i.i.i.i.i.i198 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i194, i64 %sub.ptr.sub.i.i.i.i.i.i180 + %incdec.ptr.i.i.i.i199 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i198, i64 1 + %tobool.not.i.i.i.i.i200 = icmp eq ptr %67, null + br i1 %tobool.not.i.i.i.i.i200, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i202, label %if.then.i20.i.i.i.i201 + +if.then.i20.i.i.i.i201: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i197 call void @_ZdlPv(ptr noundef nonnull %67) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i200 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i202 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i200: ; preds = %if.then.i21.i.i.i.i199, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i196 - store ptr %cond.i10.i.i.i.i193, ptr %refs79, align 8 - store ptr %incdec.ptr.i.i.i.i197, ptr %_M_finish.i.i.i171, align 8 - %add.ptr19.i.i.i.i201 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i193, i64 %cond.i.i.i.i.i188 - store ptr %add.ptr19.i.i.i.i201, ptr %_M_end_of_storage.i.i.i172, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i202: ; preds = %if.then.i20.i.i.i.i201, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i197 + store ptr %cond.i10.i.i.i.i194, ptr %refs79, align 8 + store ptr %incdec.ptr.i.i.i.i199, ptr %_M_finish.i.i.i172, align 8 + %add.ptr19.i.i.i.i203 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i194, i64 %cond.i.i.i.i.i189 + store ptr %add.ptr19.i.i.i.i203, ptr %_M_end_of_storage.i.i.i173, align 8 br label %invoke.cont91 -invoke.cont91: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i200, %if.then.i.i.i174, %invoke.cont89 - %call94 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree12RemoveSuffixEPS1_m(ptr noundef %call90, i64 noundef %n.0541) +invoke.cont91: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i202, %if.then.i.i.i175, %invoke.cont89 + %call94 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree12RemoveSuffixEPS1_m(ptr noundef %call90, i64 noundef %n.0543) to label %invoke.cont93 unwind label %lpad85.loopexit invoke.cont93: ; preds = %invoke.cont91 - %68 = load ptr, ptr %_M_finish.i.i.i171, align 8 - %69 = load ptr, ptr %_M_end_of_storage.i.i.i172, align 8 - %cmp.not.i.i209 = icmp eq ptr %68, %69 - br i1 %cmp.not.i.i209, label %if.else.i.i, label %if.then.i.i210 + %68 = load ptr, ptr %_M_finish.i.i.i172, align 8 + %69 = load ptr, ptr %_M_end_of_storage.i.i.i173, align 8 + %cmp.not.i.i211 = icmp eq ptr %68, %69 + br i1 %cmp.not.i.i211, label %if.else.i.i, label %if.then.i.i212 -if.then.i.i210: ; preds = %invoke.cont93 +if.then.i.i212: ; preds = %invoke.cont93 store ptr %call94, ptr %68, align 8 - %incdec.ptr.i.i211 = getelementptr inbounds ptr, ptr %68, i64 1 - store ptr %incdec.ptr.i.i211, ptr %_M_finish.i.i.i171, align 8 + %incdec.ptr.i.i213 = getelementptr inbounds ptr, ptr %68, i64 1 + store ptr %incdec.ptr.i.i213, ptr %_M_finish.i.i.i172, align 8 br label %invoke.cont95 if.else.i.i: ; preds = %invoke.cont93 @@ -45355,7 +45368,7 @@ if.else.i.i: ; preds = %invoke.cont93 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %70 to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i %cmp.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i.i203.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i + br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i.i205.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 @@ -45370,39 +45383,40 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i, 3 - %call5.i.i.i.i.i.i216 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 + %call5.i.i.i.i.i.i218 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i unwind label %lpad85.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i - %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i216, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ] + %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i218, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call94, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %70, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i212 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 - %tobool.not.i.i.i.i213 = icmp eq ptr %70, null - br i1 %tobool.not.i.i.i.i213, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i214 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i215 = icmp eq ptr %70, null + br i1 %tobool.not.i.i.i.i215, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %70) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %refs79, align 8 - store ptr %incdec.ptr.i.i.i212, ptr %_M_finish.i.i.i171, align 8 + store ptr %incdec.ptr.i.i.i214, ptr %_M_finish.i.i.i172, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i - store ptr %add.ptr19.i.i.i, ptr %_M_end_of_storage.i.i.i172, align 8 + store ptr %add.ptr19.i.i.i, ptr %_M_end_of_storage.i.i.i173, align 8 br label %invoke.cont95 -invoke.cont95: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i210 +invoke.cont95: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i212 %call101 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 - %sub = sub i64 %call101, %n.0541 + %sub = sub i64 %call101, %n.0543 invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr nonnull sret(%"class.std::__cxx11::basic_string") align 8 %agg.tmp100, ptr noundef nonnull align 8 dereferenceable(32) %data, i64 noundef 0, i64 noundef %sub) to label %invoke.cont102 unwind label %lpad85.loopexit @@ -45419,18 +45433,18 @@ invoke.cont106: ; preds = %invoke.cont102 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp107) #28 %71 = load i64, ptr %call94, align 8, !noalias !747 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp107, i64 noundef %71) - to label %invoke.cont.i219 unwind label %lpad.i218 + to label %invoke.cont.i221 unwind label %lpad.i220 -invoke.cont.i219: ; preds = %invoke.cont106 +invoke.cont.i221: ; preds = %invoke.cont106 invoke void @_ZN4absl15cordrep_testing12CordToStringEPNS_13cord_internal7CordRepERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %call94, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp107) - to label %invoke.cont109 unwind label %lpad.i218 + to label %invoke.cont109 unwind label %lpad.i220 -lpad.i218: ; preds = %invoke.cont.i219, %invoke.cont106 +lpad.i220: ; preds = %invoke.cont.i221, %invoke.cont106 %72 = landingpad { ptr, i32 } cleanup br label %ehcleanup113 -invoke.cont109: ; preds = %invoke.cont.i219 +invoke.cont109: ; preds = %invoke.cont.i221 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEclIS8_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar97, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp98, ptr noundef nonnull @.str.216, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp107) to label %invoke.cont111 unwind label %lpad110 @@ -45441,11 +45455,11 @@ invoke.cont111: ; preds = %invoke.cont109 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp100) #28 %73 = load i8, ptr %gtest_ar97, align 8 %74 = and i8 %73, 1 - %tobool.i221.not = icmp eq i8 %74, 0 - br i1 %tobool.i221.not, label %if.else118, label %if.end131 + %tobool.i223.not = icmp eq i8 %74, 0 + br i1 %tobool.i223.not, label %if.else118, label %if.end131 -ehcleanup72: ; preds = %_ZN7testing7MessageD2Ev.exit152, %lpad60 - %.pn24.pn = phi { ptr, i32 } [ %.pn24, %_ZN7testing7MessageD2Ev.exit152 ], [ %44, %lpad60 ] +ehcleanup72: ; preds = %_ZN7testing7MessageD2Ev.exit153, %lpad60 + %.pn24.pn = phi { ptr, i32 } [ %.pn24, %_ZN7testing7MessageD2Ev.exit153 ], [ %44, %lpad60 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar39) #28 br label %ehcleanup401 @@ -45454,13 +45468,13 @@ lpad82: ; preds = %for.body78 cleanup br label %ehcleanup401 -lpad85.loopexit: ; preds = %invoke.cont86, %invoke.cont91, %invoke.cont95, %invoke.cont83, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i190, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i - %lpad.loopexit489 = landingpad { ptr, i32 } +lpad85.loopexit: ; preds = %invoke.cont86, %invoke.cont91, %invoke.cont95, %invoke.cont83, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i191, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i + %lpad.loopexit491 = landingpad { ptr, i32 } cleanup br label %ehcleanup390 -lpad85.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i203.invoke - %lpad.loopexit.split-lp490 = landingpad { ptr, i32 } +lpad85.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i205.invoke + %lpad.loopexit.split-lp492 = landingpad { ptr, i32 } cleanup br label %ehcleanup390 @@ -45474,8 +45488,8 @@ lpad110: ; preds = %invoke.cont109 cleanup br label %ehcleanup113 -ehcleanup113: ; preds = %lpad.i218, %lpad110 - %.pn29 = phi { ptr, i32 } [ %77, %lpad110 ], [ %72, %lpad.i218 ] +ehcleanup113: ; preds = %lpad.i220, %lpad110 + %.pn29 = phi { ptr, i32 } [ %77, %lpad110 ], [ %72, %lpad.i220 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp107) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp98) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %agg.tmp99) #28 @@ -45491,17 +45505,17 @@ if.else118: ; preds = %invoke.cont111 to label %invoke.cont121 unwind label %lpad120 invoke.cont121: ; preds = %if.else118 - %78 = load ptr, ptr %message_.i.i222, align 8 - %cmp.i.i.not.i.i223 = icmp eq ptr %78, null - br i1 %cmp.i.i.not.i.i223, label %invoke.cont124, label %cond.true.i.i224 + %78 = load ptr, ptr %message_.i.i224, align 8 + %cmp.i.i.not.i.i225 = icmp eq ptr %78, null + br i1 %cmp.i.i.not.i.i225, label %invoke.cont124, label %cond.true.i.i226 -cond.true.i.i224: ; preds = %invoke.cont121 - %call4.i.i225 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #28 +cond.true.i.i226: ; preds = %invoke.cont121 + %call4.i.i227 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #28 br label %invoke.cont124 -invoke.cont124: ; preds = %cond.true.i.i224, %invoke.cont121 - %cond.i.i226 = phi ptr [ %call4.i.i225, %cond.true.i.i224 ], [ @.str.120, %invoke.cont121 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 795, ptr noundef %cond.i.i226) +invoke.cont124: ; preds = %cond.true.i.i226, %invoke.cont121 + %cond.i.i228 = phi ptr [ %call4.i.i227, %cond.true.i.i226 ], [ @.str.120, %invoke.cont121 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 795, ptr noundef %cond.i.i228) to label %invoke.cont126 unwind label %lpad123 invoke.cont126: ; preds = %invoke.cont124 @@ -45511,17 +45525,17 @@ invoke.cont126: ; preds = %invoke.cont124 invoke.cont128: ; preds = %invoke.cont126 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122) #28 %79 = load ptr, ptr %ref.tmp119, align 8 - %cmp.not.i.i228 = icmp eq ptr %79, null - br i1 %cmp.not.i.i228, label %_ZN7testing7MessageD2Ev.exit232, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229 + %cmp.not.i.i230 = icmp eq ptr %79, null + br i1 %cmp.not.i.i230, label %_ZN7testing7MessageD2Ev.exit234, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229: ; preds = %invoke.cont128 - %vtable.i.i.i230 = load ptr, ptr %79, align 8 - %vfn.i.i.i231 = getelementptr inbounds ptr, ptr %vtable.i.i.i230, i64 1 - %80 = load ptr, ptr %vfn.i.i.i231, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231: ; preds = %invoke.cont128 + %vtable.i.i.i232 = load ptr, ptr %79, align 8 + %vfn.i.i.i233 = getelementptr inbounds ptr, ptr %vtable.i.i.i232, i64 1 + %80 = load ptr, ptr %vfn.i.i.i233, align 8 call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #28 - br label %_ZN7testing7MessageD2Ev.exit232 + br label %_ZN7testing7MessageD2Ev.exit234 -_ZN7testing7MessageD2Ev.exit232: ; preds = %invoke.cont128, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229 +_ZN7testing7MessageD2Ev.exit234: ; preds = %invoke.cont128, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231 store ptr null, ptr %ref.tmp119, align 8 br label %if.end131 @@ -45544,43 +45558,43 @@ lpad127: ; preds = %invoke.cont126 ehcleanup130: ; preds = %lpad127, %lpad123 %.pn33 = phi { ptr, i32 } [ %83, %lpad127 ], [ %82, %lpad123 ] %84 = load ptr, ptr %ref.tmp119, align 8 - %cmp.not.i.i233 = icmp eq ptr %84, null - br i1 %cmp.not.i.i233, label %_ZN7testing7MessageD2Ev.exit237, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234 + %cmp.not.i.i235 = icmp eq ptr %84, null + br i1 %cmp.not.i.i235, label %_ZN7testing7MessageD2Ev.exit239, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234: ; preds = %ehcleanup130 - %vtable.i.i.i235 = load ptr, ptr %84, align 8 - %vfn.i.i.i236 = getelementptr inbounds ptr, ptr %vtable.i.i.i235, i64 1 - %85 = load ptr, ptr %vfn.i.i.i236, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236: ; preds = %ehcleanup130 + %vtable.i.i.i237 = load ptr, ptr %84, align 8 + %vfn.i.i.i238 = getelementptr inbounds ptr, ptr %vtable.i.i.i237, i64 1 + %85 = load ptr, ptr %vfn.i.i.i238, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #28 - br label %_ZN7testing7MessageD2Ev.exit237 + br label %_ZN7testing7MessageD2Ev.exit239 -_ZN7testing7MessageD2Ev.exit237: ; preds = %ehcleanup130, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234 +_ZN7testing7MessageD2Ev.exit239: ; preds = %ehcleanup130, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236 store ptr null, ptr %ref.tmp119, align 8 br label %ehcleanup132 -if.end131: ; preds = %invoke.cont111, %_ZN7testing7MessageD2Ev.exit232 - %86 = load ptr, ptr %message_.i.i222, align 8 - %cmp.not.i.i239 = icmp eq ptr %86, null - br i1 %cmp.not.i.i239, label %_ZN7testing15AssertionResultD2Ev.exit241, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i240 +if.end131: ; preds = %invoke.cont111, %_ZN7testing7MessageD2Ev.exit234 + %86 = load ptr, ptr %message_.i.i224, align 8 + %cmp.not.i.i241 = icmp eq ptr %86, null + br i1 %cmp.not.i.i241, label %_ZN7testing15AssertionResultD2Ev.exit243, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i240: ; preds = %if.end131 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242: ; preds = %if.end131 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #28 call void @_ZdlPv(ptr noundef nonnull %86) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit241 + br label %_ZN7testing15AssertionResultD2Ev.exit243 -_ZN7testing15AssertionResultD2Ev.exit241: ; preds = %if.end131, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i240 - store ptr null, ptr %message_.i.i222, align 8 +_ZN7testing15AssertionResultD2Ev.exit243: ; preds = %if.end131, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 + store ptr null, ptr %message_.i.i224, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !750) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp.i242) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp.i244) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %edges, i8 0, i64 24, i1 false), !alias.scope !750 - store ptr %edges, ptr %ref.tmp.i242, align 8, !noalias !750 + store ptr %edges, ptr %ref.tmp.i244, align 8, !noalias !750 store ptr %is_flat, ptr %0, align 8, !noalias !750 %87 = getelementptr i8, ptr %call94, i64 12 %rep.val.i.i.i = load i8, ptr %87, align 4, !noalias !750 - %cmp.i.i.i.i243 = icmp ugt i8 %rep.val.i.i.i, 5 - br i1 %cmp.i.i.i.i243, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i, label %while.cond.i.i.preheader + %cmp.i.i.i.i245 = icmp ugt i8 %rep.val.i.i.i, 5 + br i1 %cmp.i.i.i.i245, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i, label %while.cond.i.i.preheader -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit241 +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit243 %call5.i.i.i.i.i.i.i1.i = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #30 to label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit @@ -45592,12 +45606,12 @@ _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EE store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !alias.scope !750 br label %while.cond.i.i.preheader -while.cond.i.i.preheader: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit241 - %.ph = phi ptr [ null, %_ZN7testing15AssertionResultD2Ev.exit241 ], [ %incdec.ptr.i.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i.i ] +while.cond.i.i.preheader: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit243 + %.ph = phi ptr [ null, %_ZN7testing15AssertionResultD2Ev.exit243 ], [ %incdec.ptr.i.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i.i ] br label %while.cond.i.i.outer while.cond.i.i.outer: ; preds = %while.cond.i.i.outer.backedge, %while.cond.i.i.preheader - %.ph574 = phi ptr [ %.ph, %while.cond.i.i.preheader ], [ %.ph574.be, %while.cond.i.i.outer.backedge ] + %.ph576 = phi ptr [ %.ph, %while.cond.i.i.preheader ], [ %.ph576.be, %while.cond.i.i.outer.backedge ] %rep.addr.0.i.i.ph = phi ptr [ %call94, %while.cond.i.i.preheader ], [ %89, %while.cond.i.i.outer.backedge ] br label %while.cond.i.i @@ -45607,7 +45621,7 @@ while.cond.i.i: ; preds = %while.cond.i.i.oute %88 = load i8, ptr %tag.i.i, align 4 switch i8 %88, label %invoke.cont145 [ i8 1, label %while.body.i.i - i8 3, label %if.then.i.i244 + i8 3, label %if.then.i.i246 ] while.body.i.i: ; preds = %while.cond.i.i @@ -45620,11 +45634,11 @@ while.body.i.i: ; preds = %while.cond.i.i if.then.i14.i.i: ; preds = %while.body.i.i %91 = load ptr, ptr %_M_end_of_storage.i.i.i.i, align 8, !alias.scope !750 - %cmp.not.i.i17.i.i = icmp eq ptr %.ph574, %91 + %cmp.not.i.i17.i.i = icmp eq ptr %.ph576, %91 br i1 %cmp.not.i.i17.i.i, label %if.else.i.i20.i.i, label %if.then.i.i18.i.i if.then.i.i18.i.i: ; preds = %if.then.i14.i.i - store ptr %89, ptr %.ph574, align 8 + store ptr %89, ptr %.ph576, align 8 %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !alias.scope !750 %incdec.ptr.i.i19.i.i = getelementptr inbounds ptr, ptr %92, i64 1 store ptr %incdec.ptr.i.i19.i.i, ptr %_M_finish.i.i.i.i, align 8, !alias.scope !750 @@ -45632,17 +45646,17 @@ if.then.i.i18.i.i: ; preds = %if.then.i14.i.i if.else.i.i20.i.i: ; preds = %if.then.i14.i.i %93 = load ptr, ptr %edges, align 8, !alias.scope !750 - %sub.ptr.lhs.cast.i.i.i.i.i21.i.i = ptrtoint ptr %.ph574 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i21.i.i = ptrtoint ptr %.ph576 to i64 %sub.ptr.rhs.cast.i.i.i.i.i22.i.i = ptrtoint ptr %93 to i64 %sub.ptr.sub.i.i.i.i.i23.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i21.i.i, %sub.ptr.rhs.cast.i.i.i.i.i22.i.i %cmp.i.i.i.i24.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i23.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i24.i.i, label %if.then.i.i.i.i48.i.i, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i25.i.i + br i1 %cmp.i.i.i.i24.i.i, label %if.then.i.i.i.i49.i.i, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i25.i.i -if.then.i.i.i.i48.i.i: ; preds = %if.else.i.i20.i.i +if.then.i.i.i.i49.i.i: ; preds = %if.else.i.i20.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 to label %.noexc2.i unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp -.noexc2.i: ; preds = %if.then.i.i.i.i48.i.i +.noexc2.i: ; preds = %if.then.i.i.i.i49.i.i unreachable _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i25.i.i: ; preds = %if.else.i.i20.i.i @@ -45665,87 +45679,88 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i38.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i25.i.i ], [ %call5.i.i.i.i.i.i36.i3.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i34.i.i ] %add.ptr.i.i.i39.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i38.i.i, i64 %sub.ptr.div.i.i.i.i.i26.i.i store ptr %89, ptr %add.ptr.i.i.i39.i.i, align 8 - %cmp.i.i.i11.i.i.i40.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i26.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i40.i.i, label %if.then.i.i.i12.i.i.i47.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41.i.i + %cmp.i.i.i11.i.i.i40.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i23.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i40.i.i, label %if.then.i.i.i12.i.i.i48.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41.i.i -if.then.i.i.i12.i.i.i47.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i37.i.i +if.then.i.i.i12.i.i.i48.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i37.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i38.i.i, ptr align 8 %93, i64 %sub.ptr.sub.i.i.i.i.i23.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41.i.i: ; preds = %if.then.i.i.i12.i.i.i47.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i37.i.i - %incdec.ptr.i.i.i42.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i39.i.i, i64 1 - %tobool.not.i.i.i.i43.i.i = icmp eq ptr %93, null - br i1 %tobool.not.i.i.i.i43.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45.i.i, label %if.then.i21.i.i.i44.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41.i.i: ; preds = %if.then.i.i.i12.i.i.i48.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i37.i.i + %add.ptr.i.i.i.i.i.i42.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i38.i.i, i64 %sub.ptr.sub.i.i.i.i.i23.i.i + %incdec.ptr.i.i.i43.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i42.i.i, i64 1 + %tobool.not.i.i.i.i44.i.i = icmp eq ptr %93, null + br i1 %tobool.not.i.i.i.i44.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46.i.i, label %if.then.i20.i.i.i45.i.i -if.then.i21.i.i.i44.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41.i.i +if.then.i20.i.i.i45.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41.i.i call void @_ZdlPv(ptr noundef nonnull %93) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45.i.i: ; preds = %if.then.i21.i.i.i44.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46.i.i: ; preds = %if.then.i20.i.i.i45.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41.i.i store ptr %cond.i10.i.i.i38.i.i, ptr %edges, align 8, !alias.scope !750 - store ptr %incdec.ptr.i.i.i42.i.i, ptr %_M_finish.i.i.i.i, align 8, !alias.scope !750 - %add.ptr19.i.i.i46.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i38.i.i, i64 %cond.i.i.i.i32.i.i - store ptr %add.ptr19.i.i.i46.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !alias.scope !750 + store ptr %incdec.ptr.i.i.i43.i.i, ptr %_M_finish.i.i.i.i, align 8, !alias.scope !750 + %add.ptr19.i.i.i47.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i38.i.i, i64 %cond.i.i.i.i32.i.i + store ptr %add.ptr19.i.i.i47.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !alias.scope !750 br label %while.cond.i.i.outer.backedge -while.cond.i.i.outer.backedge: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45.i.i, %if.then.i.i18.i.i - %.ph574.be = phi ptr [ %incdec.ptr.i.i19.i.i, %if.then.i.i18.i.i ], [ %incdec.ptr.i.i.i42.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45.i.i ] +while.cond.i.i.outer.backedge: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46.i.i, %if.then.i.i18.i.i + %.ph576.be = phi ptr [ %incdec.ptr.i.i19.i.i, %if.then.i.i18.i.i ], [ %incdec.ptr.i.i.i43.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46.i.i ] br label %while.cond.i.i.outer, !llvm.loop !753 -if.then.i.i244: ; preds = %while.cond.i.i +if.then.i.i246: ; preds = %while.cond.i.i %edges_.i.i.i = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %rep.addr.0.i.i, i64 0, i32 1 %arrayidx.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %rep.addr.0.i.i, i64 0, i32 3, i64 1 %94 = load i8, ptr %arrayidx.i.i.i.i, align 1 %arrayidx.i.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %rep.addr.0.i.i, i64 0, i32 3, i64 2 %95 = load i8, ptr %arrayidx.i.i.i.i.i, align 1 %conv.i.i.i.i.i = zext i8 %95 to i64 - %add.ptr.i50.i.i = getelementptr inbounds ptr, ptr %edges_.i.i.i, i64 %conv.i.i.i.i.i - %cmp8.not55.i.i = icmp eq i8 %94, %95 - br i1 %cmp8.not55.i.i, label %invoke.cont145, label %for.body.preheader.i.i + %add.ptr.i51.i.i = getelementptr inbounds ptr, ptr %edges_.i.i.i, i64 %conv.i.i.i.i.i + %cmp8.not56.i.i = icmp eq i8 %94, %95 + br i1 %cmp8.not56.i.i, label %invoke.cont145, label %for.body.preheader.i.i -for.body.preheader.i.i: ; preds = %if.then.i.i244 +for.body.preheader.i.i: ; preds = %if.then.i.i246 %conv.i.i.i.i = zext i8 %94 to i64 - %add.ptr.i.i.i245 = getelementptr inbounds ptr, ptr %edges_.i.i.i, i64 %conv.i.i.i.i + %add.ptr.i.i.i247 = getelementptr inbounds ptr, ptr %edges_.i.i.i, i64 %conv.i.i.i.i br label %for.body.i.i for.body.i.i: ; preds = %.noexc4.i, %for.body.preheader.i.i - %__begin3.056.i.i = phi ptr [ %incdec.ptr.i.i248, %.noexc4.i ], [ %add.ptr.i.i.i245, %for.body.preheader.i.i ] - %96 = load ptr, ptr %__begin3.056.i.i, align 8 - invoke fastcc void @"_ZN4absl15cordrep_testing13CordVisitRepsIRZNS0_17CordCollectRepsIfIRZNS_13cord_internal12_GLOBAL__N_134CordRepBtreeTest_RemoveSuffix_Test8TestBodyEvE3$_0EESt6vectorIPNS3_7CordRepESaISA_EEOT_SA_EUlSA_E_EEvSA_SE_"(ptr noundef %96, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i242) + %__begin3.057.i.i = phi ptr [ %incdec.ptr.i.i250, %.noexc4.i ], [ %add.ptr.i.i.i247, %for.body.preheader.i.i ] + %96 = load ptr, ptr %__begin3.057.i.i, align 8 + invoke fastcc void @"_ZN4absl15cordrep_testing13CordVisitRepsIRZNS0_17CordCollectRepsIfIRZNS_13cord_internal12_GLOBAL__N_134CordRepBtreeTest_RemoveSuffix_Test8TestBodyEvE3$_0EESt6vectorIPNS3_7CordRepESaISA_EEOT_SA_EUlSA_E_EEvSA_SE_"(ptr noundef %96, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i244) to label %.noexc4.i unwind label %lpad.loopexit.i .noexc4.i: ; preds = %for.body.i.i - %incdec.ptr.i.i248 = getelementptr inbounds ptr, ptr %__begin3.056.i.i, i64 1 - %cmp8.not.i.i = icmp eq ptr %incdec.ptr.i.i248, %add.ptr.i50.i.i + %incdec.ptr.i.i250 = getelementptr inbounds ptr, ptr %__begin3.057.i.i, i64 1 + %cmp8.not.i.i = icmp eq ptr %incdec.ptr.i.i250, %add.ptr.i51.i.i br i1 %cmp8.not.i.i, label %invoke.cont145.loopexit, label %for.body.i.i lpad.loopexit.i: ; preds = %for.body.i.i %lpad.loopexit6.i = landingpad { ptr, i32 } cleanup - br label %lpad.i246 + br label %lpad.i248 lpad.loopexit.split-lp.loopexit.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i34.i.i %lpad.loopexit9.i = landingpad { ptr, i32 } cleanup - br label %lpad.i246 + br label %lpad.i248 lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i - %lpad.loopexit492 = landingpad { ptr, i32 } + %lpad.loopexit494 = landingpad { ptr, i32 } cleanup - br label %lpad.i246 + br label %lpad.i248 -lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp: ; preds = %if.then.i.i.i.i48.i.i - %lpad.loopexit.split-lp493 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp: ; preds = %if.then.i.i.i.i49.i.i + %lpad.loopexit.split-lp495 = landingpad { ptr, i32 } cleanup - br label %lpad.i246 + br label %lpad.i248 -lpad.i246: ; preds = %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit.i, %lpad.loopexit.i - %lpad.phi.i = phi { ptr, i32 } [ %lpad.loopexit6.i, %lpad.loopexit.i ], [ %lpad.loopexit9.i, %lpad.loopexit.split-lp.loopexit.i ], [ %lpad.loopexit492, %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit ], [ %lpad.loopexit.split-lp493, %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp ] +lpad.i248: ; preds = %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit.i, %lpad.loopexit.i + %lpad.phi.i = phi { ptr, i32 } [ %lpad.loopexit6.i, %lpad.loopexit.i ], [ %lpad.loopexit9.i, %lpad.loopexit.split-lp.loopexit.i ], [ %lpad.loopexit494, %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit ], [ %lpad.loopexit.split-lp495, %lpad.loopexit.split-lp.loopexit.split-lp.i.loopexit.split-lp ] %97 = load ptr, ptr %edges, align 8, !alias.scope !750 - %tobool.not.i.i.i.i247 = icmp eq ptr %97, null - br i1 %tobool.not.i.i.i.i247, label %ehcleanup390, label %if.then.i.i.i5.i + %tobool.not.i.i.i.i249 = icmp eq ptr %97, null + br i1 %tobool.not.i.i.i.i249, label %ehcleanup390, label %if.then.i.i.i5.i -if.then.i.i.i5.i: ; preds = %lpad.i246 +if.then.i.i.i5.i: ; preds = %lpad.i248 call void @_ZdlPv(ptr noundef nonnull %97) #31 br label %ehcleanup390 @@ -45753,10 +45768,10 @@ invoke.cont145.loopexit: ; preds = %.noexc4.i %.pre = load ptr, ptr %_M_finish.i.i.i.i, align 8 br label %invoke.cont145 -invoke.cont145: ; preds = %while.cond.i.i, %invoke.cont145.loopexit, %if.then.i.i244 - %98 = phi ptr [ %.pre, %invoke.cont145.loopexit ], [ %.ph574, %if.then.i.i244 ], [ %.ph574, %while.cond.i.i ] - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp.i242) - %99 = load ptr, ptr %_M_finish.i.i167, align 8 +invoke.cont145: ; preds = %while.cond.i.i, %invoke.cont145.loopexit, %if.then.i.i246 + %98 = phi ptr [ %.pre, %invoke.cont145.loopexit ], [ %.ph576, %if.then.i.i246 ], [ %.ph576, %while.cond.i.i ] + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp.i244) + %99 = load ptr, ptr %_M_finish.i.i168, align 8 %100 = load ptr, ptr %flats, align 8 %sub.ptr.lhs.cast.i = ptrtoint ptr %99 to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %100 to i64 @@ -45764,22 +45779,22 @@ invoke.cont145: ; preds = %while.cond.i.i, %in %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 store i64 %sub.ptr.div.i, ptr %ref.tmp135, align 8 %101 = load ptr, ptr %edges, align 8 - %sub.ptr.lhs.cast.i251 = ptrtoint ptr %98 to i64 - %sub.ptr.rhs.cast.i252 = ptrtoint ptr %101 to i64 - %sub.ptr.sub.i253 = sub i64 %sub.ptr.lhs.cast.i251, %sub.ptr.rhs.cast.i252 - %sub.ptr.div.i254 = ashr exact i64 %sub.ptr.sub.i253, 3 - store i64 %sub.ptr.div.i254, ptr %ref.tmp150, align 8 + %sub.ptr.lhs.cast.i253 = ptrtoint ptr %98 to i64 + %sub.ptr.rhs.cast.i254 = ptrtoint ptr %101 to i64 + %sub.ptr.sub.i255 = sub i64 %sub.ptr.lhs.cast.i253, %sub.ptr.rhs.cast.i254 + %sub.ptr.div.i256 = ashr exact i64 %sub.ptr.sub.i255, 3 + store i64 %sub.ptr.div.i256, ptr %ref.tmp150, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9LeMatcherImEEEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar134, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135, ptr noundef nonnull @.str.217, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp150) to label %invoke.cont152 unwind label %lpad138.loopexit.split-lp invoke.cont152: ; preds = %invoke.cont145 %102 = load i8, ptr %gtest_ar134, align 8 %103 = and i8 %102, 1 - %tobool.i255.not = icmp eq i8 %103, 0 - br i1 %tobool.i255.not, label %if.else155, label %cleanup.cont.critedge + %tobool.i257.not = icmp eq i8 %103, 0 + br i1 %tobool.i257.not, label %if.else155, label %cleanup.cont.critedge -ehcleanup132: ; preds = %_ZN7testing7MessageD2Ev.exit237, %lpad120 - %.pn33.pn = phi { ptr, i32 } [ %.pn33, %_ZN7testing7MessageD2Ev.exit237 ], [ %81, %lpad120 ] +ehcleanup132: ; preds = %_ZN7testing7MessageD2Ev.exit239, %lpad120 + %.pn33.pn = phi { ptr, i32 } [ %.pn33, %_ZN7testing7MessageD2Ev.exit239 ], [ %81, %lpad120 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar97) #28 br label %ehcleanup390 @@ -45788,7 +45803,7 @@ lpad138.loopexit: ; preds = %invoke.cont192, %in cleanup br label %ehcleanup388 -lpad138.loopexit.split-lp: ; preds = %invoke.cont145, %invoke.cont268, %invoke.cont303, %invoke.cont361, %_ZN7testing15AssertionResultD2Ev.exit361 +lpad138.loopexit.split-lp: ; preds = %invoke.cont145, %invoke.cont268, %invoke.cont303, %invoke.cont361, %_ZN7testing15AssertionResultD2Ev.exit363 %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %ehcleanup388 @@ -45798,17 +45813,17 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %104 = load ptr, ptr %message_.i276, align 8 - %cmp.i.i.not.i.i257 = icmp eq ptr %104, null - br i1 %cmp.i.i.not.i.i257, label %invoke.cont161, label %cond.true.i.i258 + %104 = load ptr, ptr %message_.i278, align 8 + %cmp.i.i.not.i.i259 = icmp eq ptr %104, null + br i1 %cmp.i.i.not.i.i259, label %invoke.cont161, label %cond.true.i.i260 -cond.true.i.i258: ; preds = %invoke.cont158 - %call4.i.i259 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %104) #28 +cond.true.i.i260: ; preds = %invoke.cont158 + %call4.i.i261 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %104) #28 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i258, %invoke.cont158 - %cond.i.i260 = phi ptr [ %call4.i.i259, %cond.true.i.i258 ], [ @.str.120, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 800, ptr noundef %cond.i.i260) +invoke.cont161: ; preds = %cond.true.i.i260, %invoke.cont158 + %cond.i.i262 = phi ptr [ %call4.i.i261, %cond.true.i.i260 ], [ @.str.120, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 800, ptr noundef %cond.i.i262) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -45818,21 +45833,21 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #28 %105 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i262 = icmp eq ptr %105, null - br i1 %cmp.not.i.i262, label %_ZN7testing7MessageD2Ev.exit266, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i263 + %cmp.not.i.i264 = icmp eq ptr %105, null + br i1 %cmp.not.i.i264, label %_ZN7testing7MessageD2Ev.exit268, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i263: ; preds = %invoke.cont165 - %vtable.i.i.i264 = load ptr, ptr %105, align 8 - %vfn.i.i.i265 = getelementptr inbounds ptr, ptr %vtable.i.i.i264, i64 1 - %106 = load ptr, ptr %vfn.i.i.i265, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265: ; preds = %invoke.cont165 + %vtable.i.i.i266 = load ptr, ptr %105, align 8 + %vfn.i.i.i267 = getelementptr inbounds ptr, ptr %vtable.i.i.i266, i64 1 + %106 = load ptr, ptr %vfn.i.i.i267, align 8 call void %106(ptr noundef nonnull align 8 dereferenceable(128) %105) #28 - br label %_ZN7testing7MessageD2Ev.exit266 + br label %_ZN7testing7MessageD2Ev.exit268 -_ZN7testing7MessageD2Ev.exit266: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i263 +_ZN7testing7MessageD2Ev.exit268: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265 store ptr null, ptr %ref.tmp156, align 8 - %107 = load ptr, ptr %message_.i276, align 8 - %cmp.not.i.i268 = icmp eq ptr %107, null - br i1 %cmp.not.i.i268, label %cleanup398.critedge, label %cleanup398.critedge.sink.split + %107 = load ptr, ptr %message_.i278, align 8 + %cmp.not.i.i270 = icmp eq ptr %107, null + br i1 %cmp.not.i.i270, label %cleanup398.critedge, label %cleanup398.critedge.sink.split lpad157: ; preds = %if.else155 %108 = landingpad { ptr, i32 } @@ -45853,32 +45868,32 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn36 = phi { ptr, i32 } [ %110, %lpad164 ], [ %109, %lpad160 ] %111 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i271 = icmp eq ptr %111, null - br i1 %cmp.not.i.i271, label %_ZN7testing7MessageD2Ev.exit275, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i272 + %cmp.not.i.i273 = icmp eq ptr %111, null + br i1 %cmp.not.i.i273, label %_ZN7testing7MessageD2Ev.exit277, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i274 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i272: ; preds = %ehcleanup167 - %vtable.i.i.i273 = load ptr, ptr %111, align 8 - %vfn.i.i.i274 = getelementptr inbounds ptr, ptr %vtable.i.i.i273, i64 1 - %112 = load ptr, ptr %vfn.i.i.i274, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i274: ; preds = %ehcleanup167 + %vtable.i.i.i275 = load ptr, ptr %111, align 8 + %vfn.i.i.i276 = getelementptr inbounds ptr, ptr %vtable.i.i.i275, i64 1 + %112 = load ptr, ptr %vfn.i.i.i276, align 8 call void %112(ptr noundef nonnull align 8 dereferenceable(128) %111) #28 - br label %_ZN7testing7MessageD2Ev.exit275 + br label %_ZN7testing7MessageD2Ev.exit277 -_ZN7testing7MessageD2Ev.exit275: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i272 +_ZN7testing7MessageD2Ev.exit277: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i274 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 cleanup.cont.critedge: ; preds = %invoke.cont152 - %113 = load ptr, ptr %message_.i276, align 8 - %cmp.not.i.i277 = icmp eq ptr %113, null - br i1 %cmp.not.i.i277, label %cleanup.cont, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i278 + %113 = load ptr, ptr %message_.i278, align 8 + %cmp.not.i.i279 = icmp eq ptr %113, null + br i1 %cmp.not.i.i279, label %cleanup.cont, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i280 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i278: ; preds = %cleanup.cont.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i280: ; preds = %cleanup.cont.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #28 call void @_ZdlPv(ptr noundef nonnull %113) #31 br label %cleanup.cont -cleanup.cont: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i278, %cleanup.cont.critedge - store ptr null, ptr %message_.i276, align 8 +cleanup.cont: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i280, %cleanup.cont.critedge + store ptr null, ptr %message_.i278, align 8 %114 = load ptr, ptr %_M_finish.i.i.i.i, align 8 %add.ptr.i.i = getelementptr inbounds ptr, ptr %114, i64 -1 %115 = load ptr, ptr %add.ptr.i.i, align 8 @@ -45886,23 +45901,23 @@ cleanup.cont: ; preds = %_ZNKSt14default_del store ptr %add.ptr.i.i, ptr %_M_finish.i.i.i.i, align 8 %116 = load i64, ptr %call94, align 8 %117 = load ptr, ptr %edges, align 8 - %sub.ptr.lhs.cast.i283 = ptrtoint ptr %add.ptr.i.i to i64 - %sub.ptr.rhs.cast.i284 = ptrtoint ptr %117 to i64 - %sub.ptr.sub.i285.neg = sub i64 %sub.ptr.rhs.cast.i284, %sub.ptr.lhs.cast.i283 - %mul172.neg = shl i64 %sub.ptr.sub.i285.neg, 6 + %sub.ptr.lhs.cast.i285 = ptrtoint ptr %add.ptr.i.i to i64 + %sub.ptr.rhs.cast.i286 = ptrtoint ptr %117 to i64 + %sub.ptr.sub.i287.neg = sub i64 %sub.ptr.rhs.cast.i286, %sub.ptr.lhs.cast.i285 + %mul172.neg = shl i64 %sub.ptr.sub.i287.neg, 6 %sub173 = add i64 %mul172.neg, %116 - %cmp.i.not536 = icmp eq ptr %117, %add.ptr.i.i - br i1 %cmp.i.not536, label %for.end, label %invoke.cont192 + %cmp.i.not538 = icmp eq ptr %117, %add.ptr.i.i + br i1 %cmp.i.not538, label %for.end, label %invoke.cont192 invoke.cont192: ; preds = %cleanup.cont, %for.inc - %index.0538 = phi i64 [ %inc, %for.inc ], [ 0, %cleanup.cont ] - %__begin4.sroa.0.0537 = phi ptr [ %incdec.ptr.i339, %for.inc ], [ %117, %cleanup.cont ] - %118 = load ptr, ptr %__begin4.sroa.0.0537, align 8 + %index.0540 = phi i64 [ %inc, %for.inc ], [ 0, %cleanup.cont ] + %__begin4.sroa.0.0539 = phi ptr [ %incdec.ptr.i341, %for.inc ], [ %117, %cleanup.cont ] + %118 = load ptr, ptr %__begin4.sroa.0.0539, align 8 store ptr %118, ptr %edge, align 8 - %inc = add i64 %index.0538, 1 + %inc = add i64 %index.0540, 1 %119 = load ptr, ptr %flats, align 8 - %add.ptr.i288 = getelementptr inbounds ptr, ptr %119, i64 %index.0538 - %120 = load ptr, ptr %add.ptr.i288, align 8 + %add.ptr.i290 = getelementptr inbounds ptr, ptr %119, i64 %index.0540 + %120 = load ptr, ptr %add.ptr.i290, align 8 store ptr %120, ptr %ref.tmp183, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIPN4absl13cord_internal7CordRepEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar182, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp183, ptr noundef nonnull @.str.218, ptr noundef nonnull align 8 dereferenceable(8) %edge) to label %invoke.cont197 unwind label %lpad138.loopexit @@ -45910,11 +45925,11 @@ invoke.cont192: ; preds = %cleanup.cont, %for. invoke.cont197: ; preds = %invoke.cont192 %121 = load i8, ptr %gtest_ar182, align 8 %122 = and i8 %121, 1 - %tobool.i289.not = icmp eq i8 %122, 0 - br i1 %tobool.i289.not, label %if.else200, label %cleanup.cont216.critedge + %tobool.i291.not = icmp eq i8 %122, 0 + br i1 %tobool.i291.not, label %if.else200, label %cleanup.cont216.critedge -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit275, %lpad157 - %.pn36.pn = phi { ptr, i32 } [ %.pn36, %_ZN7testing7MessageD2Ev.exit275 ], [ %108, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit277, %lpad157 + %.pn36.pn = phi { ptr, i32 } [ %.pn36, %_ZN7testing7MessageD2Ev.exit277 ], [ %108, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar134) #28 br label %ehcleanup388 @@ -45923,17 +45938,17 @@ if.else200: ; preds = %invoke.cont197 to label %invoke.cont203 unwind label %lpad202 invoke.cont203: ; preds = %if.else200 - %123 = load ptr, ptr %message_.i310, align 8 - %cmp.i.i.not.i.i291 = icmp eq ptr %123, null - br i1 %cmp.i.i.not.i.i291, label %invoke.cont206, label %cond.true.i.i292 + %123 = load ptr, ptr %message_.i312, align 8 + %cmp.i.i.not.i.i293 = icmp eq ptr %123, null + br i1 %cmp.i.i.not.i.i293, label %invoke.cont206, label %cond.true.i.i294 -cond.true.i.i292: ; preds = %invoke.cont203 - %call4.i.i293 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %123) #28 +cond.true.i.i294: ; preds = %invoke.cont203 + %call4.i.i295 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %123) #28 br label %invoke.cont206 -invoke.cont206: ; preds = %cond.true.i.i292, %invoke.cont203 - %cond.i.i294 = phi ptr [ %call4.i.i293, %cond.true.i.i292 ], [ @.str.120, %invoke.cont203 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 810, ptr noundef %cond.i.i294) +invoke.cont206: ; preds = %cond.true.i.i294, %invoke.cont203 + %cond.i.i296 = phi ptr [ %call4.i.i295, %cond.true.i.i294 ], [ @.str.120, %invoke.cont203 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 810, ptr noundef %cond.i.i296) to label %invoke.cont208 unwind label %lpad205 invoke.cont208: ; preds = %invoke.cont206 @@ -45943,21 +45958,21 @@ invoke.cont208: ; preds = %invoke.cont206 invoke.cont210: ; preds = %invoke.cont208 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204) #28 %124 = load ptr, ptr %ref.tmp201, align 8 - %cmp.not.i.i296 = icmp eq ptr %124, null - br i1 %cmp.not.i.i296, label %_ZN7testing7MessageD2Ev.exit300, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i297 + %cmp.not.i.i298 = icmp eq ptr %124, null + br i1 %cmp.not.i.i298, label %_ZN7testing7MessageD2Ev.exit302, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i297: ; preds = %invoke.cont210 - %vtable.i.i.i298 = load ptr, ptr %124, align 8 - %vfn.i.i.i299 = getelementptr inbounds ptr, ptr %vtable.i.i.i298, i64 1 - %125 = load ptr, ptr %vfn.i.i.i299, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299: ; preds = %invoke.cont210 + %vtable.i.i.i300 = load ptr, ptr %124, align 8 + %vfn.i.i.i301 = getelementptr inbounds ptr, ptr %vtable.i.i.i300, i64 1 + %125 = load ptr, ptr %vfn.i.i.i301, align 8 call void %125(ptr noundef nonnull align 8 dereferenceable(128) %124) #28 - br label %_ZN7testing7MessageD2Ev.exit300 + br label %_ZN7testing7MessageD2Ev.exit302 -_ZN7testing7MessageD2Ev.exit300: ; preds = %invoke.cont210, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i297 +_ZN7testing7MessageD2Ev.exit302: ; preds = %invoke.cont210, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299 store ptr null, ptr %ref.tmp201, align 8 - %126 = load ptr, ptr %message_.i310, align 8 - %cmp.not.i.i302 = icmp eq ptr %126, null - br i1 %cmp.not.i.i302, label %cleanup398.critedge, label %cleanup398.critedge.sink.split + %126 = load ptr, ptr %message_.i312, align 8 + %cmp.not.i.i304 = icmp eq ptr %126, null + br i1 %cmp.not.i.i304, label %cleanup398.critedge, label %cleanup398.critedge.sink.split lpad202: ; preds = %if.else200 %127 = landingpad { ptr, i32 } @@ -45978,32 +45993,32 @@ lpad209: ; preds = %invoke.cont208 ehcleanup212: ; preds = %lpad209, %lpad205 %.pn52 = phi { ptr, i32 } [ %129, %lpad209 ], [ %128, %lpad205 ] %130 = load ptr, ptr %ref.tmp201, align 8 - %cmp.not.i.i305 = icmp eq ptr %130, null - br i1 %cmp.not.i.i305, label %_ZN7testing7MessageD2Ev.exit309, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306 + %cmp.not.i.i307 = icmp eq ptr %130, null + br i1 %cmp.not.i.i307, label %_ZN7testing7MessageD2Ev.exit311, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i308 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306: ; preds = %ehcleanup212 - %vtable.i.i.i307 = load ptr, ptr %130, align 8 - %vfn.i.i.i308 = getelementptr inbounds ptr, ptr %vtable.i.i.i307, i64 1 - %131 = load ptr, ptr %vfn.i.i.i308, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i308: ; preds = %ehcleanup212 + %vtable.i.i.i309 = load ptr, ptr %130, align 8 + %vfn.i.i.i310 = getelementptr inbounds ptr, ptr %vtable.i.i.i309, i64 1 + %131 = load ptr, ptr %vfn.i.i.i310, align 8 call void %131(ptr noundef nonnull align 8 dereferenceable(128) %130) #28 - br label %_ZN7testing7MessageD2Ev.exit309 + br label %_ZN7testing7MessageD2Ev.exit311 -_ZN7testing7MessageD2Ev.exit309: ; preds = %ehcleanup212, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306 +_ZN7testing7MessageD2Ev.exit311: ; preds = %ehcleanup212, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i308 store ptr null, ptr %ref.tmp201, align 8 br label %ehcleanup217 cleanup.cont216.critedge: ; preds = %invoke.cont197 - %132 = load ptr, ptr %message_.i310, align 8 - %cmp.not.i.i311 = icmp eq ptr %132, null - br i1 %cmp.not.i.i311, label %invoke.cont227, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i312 + %132 = load ptr, ptr %message_.i312, align 8 + %cmp.not.i.i313 = icmp eq ptr %132, null + br i1 %cmp.not.i.i313, label %invoke.cont227, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i312: ; preds = %cleanup.cont216.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314: ; preds = %cleanup.cont216.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #28 call void @_ZdlPv(ptr noundef nonnull %132) #31 br label %invoke.cont227 -invoke.cont227: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i312, %cleanup.cont216.critedge - store ptr null, ptr %message_.i310, align 8 +invoke.cont227: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314, %cleanup.cont216.critedge + store ptr null, ptr %message_.i312, align 8 store i32 512, ptr %ref.tmp219, align 4 %133 = load ptr, ptr %edge, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIjEEEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar218, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp219, ptr noundef nonnull @.str.219, ptr noundef nonnull align 8 dereferenceable(8) %133) @@ -46012,11 +46027,11 @@ invoke.cont227: ; preds = %_ZNKSt14default_del invoke.cont233: ; preds = %invoke.cont227 %134 = load i8, ptr %gtest_ar218, align 8 %135 = and i8 %134, 1 - %tobool.i314.not = icmp eq i8 %135, 0 - br i1 %tobool.i314.not, label %if.else236, label %for.inc.critedge + %tobool.i316.not = icmp eq i8 %135, 0 + br i1 %tobool.i316.not, label %if.else236, label %for.inc.critedge -ehcleanup217: ; preds = %_ZN7testing7MessageD2Ev.exit309, %lpad202 - %.pn52.pn = phi { ptr, i32 } [ %.pn52, %_ZN7testing7MessageD2Ev.exit309 ], [ %127, %lpad202 ] +ehcleanup217: ; preds = %_ZN7testing7MessageD2Ev.exit311, %lpad202 + %.pn52.pn = phi { ptr, i32 } [ %.pn52, %_ZN7testing7MessageD2Ev.exit311 ], [ %127, %lpad202 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar182) #28 br label %ehcleanup388 @@ -46025,17 +46040,17 @@ if.else236: ; preds = %invoke.cont233 to label %invoke.cont239 unwind label %lpad238 invoke.cont239: ; preds = %if.else236 - %136 = load ptr, ptr %message_.i335, align 8 - %cmp.i.i.not.i.i316 = icmp eq ptr %136, null - br i1 %cmp.i.i.not.i.i316, label %invoke.cont242, label %cond.true.i.i317 + %136 = load ptr, ptr %message_.i337, align 8 + %cmp.i.i.not.i.i318 = icmp eq ptr %136, null + br i1 %cmp.i.i.not.i.i318, label %invoke.cont242, label %cond.true.i.i319 -cond.true.i.i317: ; preds = %invoke.cont239 - %call4.i.i318 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %136) #28 +cond.true.i.i319: ; preds = %invoke.cont239 + %call4.i.i320 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %136) #28 br label %invoke.cont242 -invoke.cont242: ; preds = %cond.true.i.i317, %invoke.cont239 - %cond.i.i319 = phi ptr [ %call4.i.i318, %cond.true.i.i317 ], [ @.str.120, %invoke.cont239 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp240, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 811, ptr noundef %cond.i.i319) +invoke.cont242: ; preds = %cond.true.i.i319, %invoke.cont239 + %cond.i.i321 = phi ptr [ %call4.i.i320, %cond.true.i.i319 ], [ @.str.120, %invoke.cont239 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp240, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 811, ptr noundef %cond.i.i321) to label %invoke.cont244 unwind label %lpad241 invoke.cont244: ; preds = %invoke.cont242 @@ -46045,21 +46060,21 @@ invoke.cont244: ; preds = %invoke.cont242 invoke.cont246: ; preds = %invoke.cont244 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp240) #28 %137 = load ptr, ptr %ref.tmp237, align 8 - %cmp.not.i.i321 = icmp eq ptr %137, null - br i1 %cmp.not.i.i321, label %_ZN7testing7MessageD2Ev.exit325, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i322 + %cmp.not.i.i323 = icmp eq ptr %137, null + br i1 %cmp.not.i.i323, label %_ZN7testing7MessageD2Ev.exit327, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i324 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i322: ; preds = %invoke.cont246 - %vtable.i.i.i323 = load ptr, ptr %137, align 8 - %vfn.i.i.i324 = getelementptr inbounds ptr, ptr %vtable.i.i.i323, i64 1 - %138 = load ptr, ptr %vfn.i.i.i324, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i324: ; preds = %invoke.cont246 + %vtable.i.i.i325 = load ptr, ptr %137, align 8 + %vfn.i.i.i326 = getelementptr inbounds ptr, ptr %vtable.i.i.i325, i64 1 + %138 = load ptr, ptr %vfn.i.i.i326, align 8 call void %138(ptr noundef nonnull align 8 dereferenceable(128) %137) #28 - br label %_ZN7testing7MessageD2Ev.exit325 + br label %_ZN7testing7MessageD2Ev.exit327 -_ZN7testing7MessageD2Ev.exit325: ; preds = %invoke.cont246, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i322 +_ZN7testing7MessageD2Ev.exit327: ; preds = %invoke.cont246, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i324 store ptr null, ptr %ref.tmp237, align 8 - %139 = load ptr, ptr %message_.i335, align 8 - %cmp.not.i.i327 = icmp eq ptr %139, null - br i1 %cmp.not.i.i327, label %cleanup398.critedge, label %cleanup398.critedge.sink.split + %139 = load ptr, ptr %message_.i337, align 8 + %cmp.not.i.i329 = icmp eq ptr %139, null + br i1 %cmp.not.i.i329, label %cleanup398.critedge, label %cleanup398.critedge.sink.split lpad238: ; preds = %if.else236 %140 = landingpad { ptr, i32 } @@ -46080,38 +46095,38 @@ lpad245: ; preds = %invoke.cont244 ehcleanup248: ; preds = %lpad245, %lpad241 %.pn55 = phi { ptr, i32 } [ %142, %lpad245 ], [ %141, %lpad241 ] %143 = load ptr, ptr %ref.tmp237, align 8 - %cmp.not.i.i330 = icmp eq ptr %143, null - br i1 %cmp.not.i.i330, label %_ZN7testing7MessageD2Ev.exit334, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331 + %cmp.not.i.i332 = icmp eq ptr %143, null + br i1 %cmp.not.i.i332, label %_ZN7testing7MessageD2Ev.exit336, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i333 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331: ; preds = %ehcleanup248 - %vtable.i.i.i332 = load ptr, ptr %143, align 8 - %vfn.i.i.i333 = getelementptr inbounds ptr, ptr %vtable.i.i.i332, i64 1 - %144 = load ptr, ptr %vfn.i.i.i333, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i333: ; preds = %ehcleanup248 + %vtable.i.i.i334 = load ptr, ptr %143, align 8 + %vfn.i.i.i335 = getelementptr inbounds ptr, ptr %vtable.i.i.i334, i64 1 + %144 = load ptr, ptr %vfn.i.i.i335, align 8 call void %144(ptr noundef nonnull align 8 dereferenceable(128) %143) #28 - br label %_ZN7testing7MessageD2Ev.exit334 + br label %_ZN7testing7MessageD2Ev.exit336 -_ZN7testing7MessageD2Ev.exit334: ; preds = %ehcleanup248, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331 +_ZN7testing7MessageD2Ev.exit336: ; preds = %ehcleanup248, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i333 store ptr null, ptr %ref.tmp237, align 8 br label %ehcleanup253 for.inc.critedge: ; preds = %invoke.cont233 - %145 = load ptr, ptr %message_.i335, align 8 - %cmp.not.i.i336 = icmp eq ptr %145, null - br i1 %cmp.not.i.i336, label %for.inc, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i337 + %145 = load ptr, ptr %message_.i337, align 8 + %cmp.not.i.i338 = icmp eq ptr %145, null + br i1 %cmp.not.i.i338, label %for.inc, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i337: ; preds = %for.inc.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339: ; preds = %for.inc.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #28 call void @_ZdlPv(ptr noundef nonnull %145) #31 br label %for.inc -for.inc: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i337, %for.inc.critedge - store ptr null, ptr %message_.i335, align 8 - %incdec.ptr.i339 = getelementptr inbounds ptr, ptr %__begin4.sroa.0.0537, i64 1 - %cmp.i.not = icmp eq ptr %incdec.ptr.i339, %add.ptr.i.i +for.inc: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339, %for.inc.critedge + store ptr null, ptr %message_.i337, align 8 + %incdec.ptr.i341 = getelementptr inbounds ptr, ptr %__begin4.sroa.0.0539, i64 1 + %cmp.i.not = icmp eq ptr %incdec.ptr.i341, %add.ptr.i.i br i1 %cmp.i.not, label %for.end, label %invoke.cont192 -ehcleanup253: ; preds = %_ZN7testing7MessageD2Ev.exit334, %lpad238 - %.pn55.pn = phi { ptr, i32 } [ %.pn55, %_ZN7testing7MessageD2Ev.exit334 ], [ %140, %lpad238 ] +ehcleanup253: ; preds = %_ZN7testing7MessageD2Ev.exit336, %lpad238 + %.pn55.pn = phi { ptr, i32 } [ %.pn55, %_ZN7testing7MessageD2Ev.exit336 ], [ %140, %lpad238 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar218) #28 br label %ehcleanup388 @@ -46122,8 +46137,8 @@ for.end: ; preds = %for.inc, %cleanup.c invoke.cont268: ; preds = %for.end %146 = load ptr, ptr %flats, align 8 - %add.ptr.i340 = getelementptr inbounds ptr, ptr %146, i64 %index.0.lcssa - %147 = load ptr, ptr %add.ptr.i340, align 8 + %add.ptr.i342 = getelementptr inbounds ptr, ptr %146, i64 %index.0.lcssa + %147 = load ptr, ptr %add.ptr.i342, align 8 store ptr %147, ptr %ref.tmp258, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIPN4absl13cord_internal7CordRepEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar257, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp258, ptr noundef nonnull @.str.220, ptr noundef nonnull align 8 dereferenceable(8) %last_edge) to label %invoke.cont273 unwind label %lpad138.loopexit.split-lp @@ -46131,25 +46146,25 @@ invoke.cont268: ; preds = %for.end invoke.cont273: ; preds = %invoke.cont268 %148 = load i8, ptr %gtest_ar257, align 8 %149 = and i8 %148, 1 - %tobool.i341.not = icmp eq i8 %149, 0 - br i1 %tobool.i341.not, label %if.else276, label %if.end289 + %tobool.i343.not = icmp eq i8 %149, 0 + br i1 %tobool.i343.not, label %if.else276, label %if.end289 if.else276: ; preds = %invoke.cont273 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp277) to label %invoke.cont279 unwind label %lpad278 invoke.cont279: ; preds = %if.else276 - %150 = load ptr, ptr %message_.i.i342, align 8 - %cmp.i.i.not.i.i343 = icmp eq ptr %150, null - br i1 %cmp.i.i.not.i.i343, label %invoke.cont282, label %cond.true.i.i344 + %150 = load ptr, ptr %message_.i.i344, align 8 + %cmp.i.i.not.i.i345 = icmp eq ptr %150, null + br i1 %cmp.i.i.not.i.i345, label %invoke.cont282, label %cond.true.i.i346 -cond.true.i.i344: ; preds = %invoke.cont279 - %call4.i.i345 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %150) #28 +cond.true.i.i346: ; preds = %invoke.cont279 + %call4.i.i347 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %150) #28 br label %invoke.cont282 -invoke.cont282: ; preds = %cond.true.i.i344, %invoke.cont279 - %cond.i.i346 = phi ptr [ %call4.i.i345, %cond.true.i.i344 ], [ @.str.120, %invoke.cont279 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp280, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 817, ptr noundef %cond.i.i346) +invoke.cont282: ; preds = %cond.true.i.i346, %invoke.cont279 + %cond.i.i348 = phi ptr [ %call4.i.i347, %cond.true.i.i346 ], [ @.str.120, %invoke.cont279 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp280, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 817, ptr noundef %cond.i.i348) to label %invoke.cont284 unwind label %lpad281 invoke.cont284: ; preds = %invoke.cont282 @@ -46159,17 +46174,17 @@ invoke.cont284: ; preds = %invoke.cont282 invoke.cont286: ; preds = %invoke.cont284 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp280) #28 %151 = load ptr, ptr %ref.tmp277, align 8 - %cmp.not.i.i348 = icmp eq ptr %151, null - br i1 %cmp.not.i.i348, label %_ZN7testing7MessageD2Ev.exit352, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349 + %cmp.not.i.i350 = icmp eq ptr %151, null + br i1 %cmp.not.i.i350, label %_ZN7testing7MessageD2Ev.exit354, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349: ; preds = %invoke.cont286 - %vtable.i.i.i350 = load ptr, ptr %151, align 8 - %vfn.i.i.i351 = getelementptr inbounds ptr, ptr %vtable.i.i.i350, i64 1 - %152 = load ptr, ptr %vfn.i.i.i351, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351: ; preds = %invoke.cont286 + %vtable.i.i.i352 = load ptr, ptr %151, align 8 + %vfn.i.i.i353 = getelementptr inbounds ptr, ptr %vtable.i.i.i352, i64 1 + %152 = load ptr, ptr %vfn.i.i.i353, align 8 call void %152(ptr noundef nonnull align 8 dereferenceable(128) %151) #28 - br label %_ZN7testing7MessageD2Ev.exit352 + br label %_ZN7testing7MessageD2Ev.exit354 -_ZN7testing7MessageD2Ev.exit352: ; preds = %invoke.cont286, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349 +_ZN7testing7MessageD2Ev.exit354: ; preds = %invoke.cont286, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351 store ptr null, ptr %ref.tmp277, align 8 br label %if.end289 @@ -46192,40 +46207,40 @@ lpad285: ; preds = %invoke.cont284 ehcleanup288: ; preds = %lpad285, %lpad281 %.pn39 = phi { ptr, i32 } [ %155, %lpad285 ], [ %154, %lpad281 ] %156 = load ptr, ptr %ref.tmp277, align 8 - %cmp.not.i.i353 = icmp eq ptr %156, null - br i1 %cmp.not.i.i353, label %_ZN7testing7MessageD2Ev.exit357, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i354 + %cmp.not.i.i355 = icmp eq ptr %156, null + br i1 %cmp.not.i.i355, label %_ZN7testing7MessageD2Ev.exit359, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i354: ; preds = %ehcleanup288 - %vtable.i.i.i355 = load ptr, ptr %156, align 8 - %vfn.i.i.i356 = getelementptr inbounds ptr, ptr %vtable.i.i.i355, i64 1 - %157 = load ptr, ptr %vfn.i.i.i356, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356: ; preds = %ehcleanup288 + %vtable.i.i.i357 = load ptr, ptr %156, align 8 + %vfn.i.i.i358 = getelementptr inbounds ptr, ptr %vtable.i.i.i357, i64 1 + %157 = load ptr, ptr %vfn.i.i.i358, align 8 call void %157(ptr noundef nonnull align 8 dereferenceable(128) %156) #28 - br label %_ZN7testing7MessageD2Ev.exit357 + br label %_ZN7testing7MessageD2Ev.exit359 -_ZN7testing7MessageD2Ev.exit357: ; preds = %ehcleanup288, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i354 +_ZN7testing7MessageD2Ev.exit359: ; preds = %ehcleanup288, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356 store ptr null, ptr %ref.tmp277, align 8 br label %ehcleanup290 -if.end289: ; preds = %invoke.cont273, %_ZN7testing7MessageD2Ev.exit352 - %158 = load ptr, ptr %message_.i.i342, align 8 - %cmp.not.i.i359 = icmp eq ptr %158, null - br i1 %cmp.not.i.i359, label %_ZN7testing15AssertionResultD2Ev.exit361, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i360 +if.end289: ; preds = %invoke.cont273, %_ZN7testing7MessageD2Ev.exit354 + %158 = load ptr, ptr %message_.i.i344, align 8 + %cmp.not.i.i361 = icmp eq ptr %158, null + br i1 %cmp.not.i.i361, label %_ZN7testing15AssertionResultD2Ev.exit363, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i360: ; preds = %if.end289 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362: ; preds = %if.end289 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #28 call void @_ZdlPv(ptr noundef nonnull %158) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit361 + br label %_ZN7testing15AssertionResultD2Ev.exit363 -_ZN7testing15AssertionResultD2Ev.exit361: ; preds = %if.end289, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i360 - store ptr null, ptr %message_.i.i342, align 8 - %call.i362364 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() +_ZN7testing15AssertionResultD2Ev.exit363: ; preds = %if.end289, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362 + store ptr null, ptr %message_.i.i344, align 8 + %call.i364366 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont291 unwind label %lpad138.loopexit.split-lp -invoke.cont291: ; preds = %_ZN7testing15AssertionResultD2Ev.exit361 - %159 = load i8, ptr %call.i362364, align 1 +invoke.cont291: ; preds = %_ZN7testing15AssertionResultD2Ev.exit363 + %159 = load i8, ptr %call.i364366, align 1 %160 = and i8 %159, 1 - %tobool.i363.not = icmp eq i8 %160, 0 - br i1 %tobool.i363.not, label %if.else327, label %invoke.cont303 + %tobool.i365.not = icmp eq i8 %160, 0 + br i1 %tobool.i365.not, label %if.else327, label %invoke.cont303 invoke.cont303: ; preds = %invoke.cont291 store i32 512, ptr %ref.tmp295, align 4 @@ -46236,11 +46251,11 @@ invoke.cont303: ; preds = %invoke.cont291 invoke.cont309: ; preds = %invoke.cont303 %162 = load i8, ptr %gtest_ar294, align 8 %163 = and i8 %162, 1 - %tobool.i366.not = icmp eq i8 %163, 0 - br i1 %tobool.i366.not, label %if.else312, label %if.end325 + %tobool.i368.not = icmp eq i8 %163, 0 + br i1 %tobool.i368.not, label %if.else312, label %if.end325 -ehcleanup290: ; preds = %_ZN7testing7MessageD2Ev.exit357, %lpad278 - %.pn39.pn = phi { ptr, i32 } [ %.pn39, %_ZN7testing7MessageD2Ev.exit357 ], [ %153, %lpad278 ] +ehcleanup290: ; preds = %_ZN7testing7MessageD2Ev.exit359, %lpad278 + %.pn39.pn = phi { ptr, i32 } [ %.pn39, %_ZN7testing7MessageD2Ev.exit359 ], [ %153, %lpad278 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar257) #28 br label %ehcleanup388 @@ -46249,17 +46264,17 @@ if.else312: ; preds = %invoke.cont309 to label %invoke.cont315 unwind label %lpad314 invoke.cont315: ; preds = %if.else312 - %164 = load ptr, ptr %message_.i.i367, align 8 - %cmp.i.i.not.i.i368 = icmp eq ptr %164, null - br i1 %cmp.i.i.not.i.i368, label %invoke.cont318, label %cond.true.i.i369 + %164 = load ptr, ptr %message_.i.i369, align 8 + %cmp.i.i.not.i.i370 = icmp eq ptr %164, null + br i1 %cmp.i.i.not.i.i370, label %invoke.cont318, label %cond.true.i.i371 -cond.true.i.i369: ; preds = %invoke.cont315 - %call4.i.i370 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %164) #28 +cond.true.i.i371: ; preds = %invoke.cont315 + %call4.i.i372 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %164) #28 br label %invoke.cont318 -invoke.cont318: ; preds = %cond.true.i.i369, %invoke.cont315 - %cond.i.i371 = phi ptr [ %call4.i.i370, %cond.true.i.i369 ], [ @.str.120, %invoke.cont315 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp316, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 819, ptr noundef %cond.i.i371) +invoke.cont318: ; preds = %cond.true.i.i371, %invoke.cont315 + %cond.i.i373 = phi ptr [ %call4.i.i372, %cond.true.i.i371 ], [ @.str.120, %invoke.cont315 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp316, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 819, ptr noundef %cond.i.i373) to label %invoke.cont320 unwind label %lpad317 invoke.cont320: ; preds = %invoke.cont318 @@ -46269,17 +46284,17 @@ invoke.cont320: ; preds = %invoke.cont318 invoke.cont322: ; preds = %invoke.cont320 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp316) #28 %165 = load ptr, ptr %ref.tmp313, align 8 - %cmp.not.i.i373 = icmp eq ptr %165, null - br i1 %cmp.not.i.i373, label %_ZN7testing7MessageD2Ev.exit377, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i374 + %cmp.not.i.i375 = icmp eq ptr %165, null + br i1 %cmp.not.i.i375, label %_ZN7testing7MessageD2Ev.exit379, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i376 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i374: ; preds = %invoke.cont322 - %vtable.i.i.i375 = load ptr, ptr %165, align 8 - %vfn.i.i.i376 = getelementptr inbounds ptr, ptr %vtable.i.i.i375, i64 1 - %166 = load ptr, ptr %vfn.i.i.i376, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i376: ; preds = %invoke.cont322 + %vtable.i.i.i377 = load ptr, ptr %165, align 8 + %vfn.i.i.i378 = getelementptr inbounds ptr, ptr %vtable.i.i.i377, i64 1 + %166 = load ptr, ptr %vfn.i.i.i378, align 8 call void %166(ptr noundef nonnull align 8 dereferenceable(128) %165) #28 - br label %_ZN7testing7MessageD2Ev.exit377 + br label %_ZN7testing7MessageD2Ev.exit379 -_ZN7testing7MessageD2Ev.exit377: ; preds = %invoke.cont322, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i374 +_ZN7testing7MessageD2Ev.exit379: ; preds = %invoke.cont322, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i376 store ptr null, ptr %ref.tmp313, align 8 br label %if.end325 @@ -46302,27 +46317,27 @@ lpad321: ; preds = %invoke.cont320 ehcleanup324: ; preds = %lpad321, %lpad317 %.pn49 = phi { ptr, i32 } [ %169, %lpad321 ], [ %168, %lpad317 ] %170 = load ptr, ptr %ref.tmp313, align 8 - %cmp.not.i.i378 = icmp eq ptr %170, null - br i1 %cmp.not.i.i378, label %_ZN7testing7MessageD2Ev.exit382, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i379 + %cmp.not.i.i380 = icmp eq ptr %170, null + br i1 %cmp.not.i.i380, label %_ZN7testing7MessageD2Ev.exit384, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i381 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i379: ; preds = %ehcleanup324 - %vtable.i.i.i380 = load ptr, ptr %170, align 8 - %vfn.i.i.i381 = getelementptr inbounds ptr, ptr %vtable.i.i.i380, i64 1 - %171 = load ptr, ptr %vfn.i.i.i381, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i381: ; preds = %ehcleanup324 + %vtable.i.i.i382 = load ptr, ptr %170, align 8 + %vfn.i.i.i383 = getelementptr inbounds ptr, ptr %vtable.i.i.i382, i64 1 + %171 = load ptr, ptr %vfn.i.i.i383, align 8 call void %171(ptr noundef nonnull align 8 dereferenceable(128) %170) #28 - br label %_ZN7testing7MessageD2Ev.exit382 + br label %_ZN7testing7MessageD2Ev.exit384 -_ZN7testing7MessageD2Ev.exit382: ; preds = %ehcleanup324, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i379 +_ZN7testing7MessageD2Ev.exit384: ; preds = %ehcleanup324, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i381 store ptr null, ptr %ref.tmp313, align 8 br label %ehcleanup326 -if.end325: ; preds = %invoke.cont309, %_ZN7testing7MessageD2Ev.exit377 - %172 = load ptr, ptr %message_.i.i367, align 8 - %cmp.not.i.i384 = icmp eq ptr %172, null - br i1 %cmp.not.i.i384, label %cleanup387.sink.split, label %cleanup387.sink.split.sink.split +if.end325: ; preds = %invoke.cont309, %_ZN7testing7MessageD2Ev.exit379 + %172 = load ptr, ptr %message_.i.i369, align 8 + %cmp.not.i.i386 = icmp eq ptr %172, null + br i1 %cmp.not.i.i386, label %cleanup387.sink.split, label %cleanup387.sink.split.sink.split -ehcleanup326: ; preds = %_ZN7testing7MessageD2Ev.exit382, %lpad314 - %.pn49.pn = phi { ptr, i32 } [ %.pn49, %_ZN7testing7MessageD2Ev.exit382 ], [ %167, %lpad314 ] +ehcleanup326: ; preds = %_ZN7testing7MessageD2Ev.exit384, %lpad314 + %.pn49.pn = phi { ptr, i32 } [ %.pn49, %_ZN7testing7MessageD2Ev.exit384 ], [ %167, %lpad314 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar294) #28 br label %ehcleanup388 @@ -46330,11 +46345,11 @@ if.else327: ; preds = %invoke.cont291 %173 = load ptr, ptr %last_edge, align 8 %refcount = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %173, i64 0, i32 1 %174 = load atomic i32, ptr %refcount acquire, align 4 - %cmp.i387 = icmp eq i32 %174, 2 - %frombool = zext i1 %cmp.i387 to i8 + %cmp.i389 = icmp eq i32 %174, 2 + %frombool = zext i1 %cmp.i389 to i8 store i8 %frombool, ptr %gtest_ar_, align 8 - store ptr null, ptr %message_.i388, align 8 - br i1 %cmp.i387, label %invoke.cont361, label %if.else334 + store ptr null, ptr %message_.i390, align 8 + br i1 %cmp.i389, label %invoke.cont361, label %if.else334 if.else334: ; preds = %if.else327 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp335) @@ -46357,13 +46372,13 @@ invoke.cont346: ; preds = %invoke.cont344 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp338) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp339) #28 %175 = load ptr, ptr %ref.tmp335, align 8 - %cmp.not.i.i390 = icmp eq ptr %175, null - br i1 %cmp.not.i.i390, label %if.end350, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i391 + %cmp.not.i.i392 = icmp eq ptr %175, null + br i1 %cmp.not.i.i392, label %if.end350, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i393 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i391: ; preds = %invoke.cont346 - %vtable.i.i.i392 = load ptr, ptr %175, align 8 - %vfn.i.i.i393 = getelementptr inbounds ptr, ptr %vtable.i.i.i392, i64 1 - %176 = load ptr, ptr %vfn.i.i.i393, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i393: ; preds = %invoke.cont346 + %vtable.i.i.i394 = load ptr, ptr %175, align 8 + %vfn.i.i.i395 = getelementptr inbounds ptr, ptr %vtable.i.i.i394, i64 1 + %176 = load ptr, ptr %vfn.i.i.i395, align 8 call void %176(ptr noundef nonnull align 8 dereferenceable(128) %175) #28 br label %if.end350 @@ -46396,33 +46411,33 @@ ehcleanup348: ; preds = %lpad345, %lpad343 ehcleanup349: ; preds = %ehcleanup348, %lpad340 %.pn42.pn = phi { ptr, i32 } [ %.pn42, %ehcleanup348 ], [ %178, %lpad340 ] %181 = load ptr, ptr %ref.tmp335, align 8 - %cmp.not.i.i395 = icmp eq ptr %181, null - br i1 %cmp.not.i.i395, label %_ZN7testing7MessageD2Ev.exit399, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i396 + %cmp.not.i.i397 = icmp eq ptr %181, null + br i1 %cmp.not.i.i397, label %_ZN7testing7MessageD2Ev.exit401, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i398 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i396: ; preds = %ehcleanup349 - %vtable.i.i.i397 = load ptr, ptr %181, align 8 - %vfn.i.i.i398 = getelementptr inbounds ptr, ptr %vtable.i.i.i397, i64 1 - %182 = load ptr, ptr %vfn.i.i.i398, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i398: ; preds = %ehcleanup349 + %vtable.i.i.i399 = load ptr, ptr %181, align 8 + %vfn.i.i.i400 = getelementptr inbounds ptr, ptr %vtable.i.i.i399, i64 1 + %182 = load ptr, ptr %vfn.i.i.i400, align 8 call void %182(ptr noundef nonnull align 8 dereferenceable(128) %181) #28 - br label %_ZN7testing7MessageD2Ev.exit399 + br label %_ZN7testing7MessageD2Ev.exit401 -_ZN7testing7MessageD2Ev.exit399: ; preds = %ehcleanup349, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i396 +_ZN7testing7MessageD2Ev.exit401: ; preds = %ehcleanup349, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i398 store ptr null, ptr %ref.tmp335, align 8 br label %ehcleanup351 -if.end350: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i391, %invoke.cont346 +if.end350: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i393, %invoke.cont346 store ptr null, ptr %ref.tmp335, align 8 - %.pr = load ptr, ptr %message_.i388, align 8 - %cmp.not.i.i401 = icmp eq ptr %.pr, null - br i1 %cmp.not.i.i401, label %invoke.cont361, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402 + %.pr = load ptr, ptr %message_.i390, align 8 + %cmp.not.i.i403 = icmp eq ptr %.pr, null + br i1 %cmp.not.i.i403, label %invoke.cont361, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i404 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402: ; preds = %if.end350 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i404: ; preds = %if.end350 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #28 call void @_ZdlPv(ptr noundef nonnull %.pr) #31 br label %invoke.cont361 -invoke.cont361: ; preds = %if.else327, %if.end350, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402 - store ptr null, ptr %message_.i388, align 8 +invoke.cont361: ; preds = %if.else327, %if.end350, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i404 + store ptr null, ptr %message_.i390, align 8 store i64 %sub173, ptr %ref.tmp353, align 8 %183 = load ptr, ptr %last_edge, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherImEEEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar352, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp353, ptr noundef nonnull @.str.221, ptr noundef nonnull align 8 dereferenceable(8) %183) @@ -46431,11 +46446,11 @@ invoke.cont361: ; preds = %if.else327, %if.end invoke.cont367: ; preds = %invoke.cont361 %184 = load i8, ptr %gtest_ar352, align 8 %185 = and i8 %184, 1 - %tobool.i404.not = icmp eq i8 %185, 0 - br i1 %tobool.i404.not, label %if.else370, label %if.end383 + %tobool.i406.not = icmp eq i8 %185, 0 + br i1 %tobool.i406.not, label %if.else370, label %if.end383 -ehcleanup351: ; preds = %_ZN7testing7MessageD2Ev.exit399, %lpad336 - %.pn42.pn.pn = phi { ptr, i32 } [ %.pn42.pn, %_ZN7testing7MessageD2Ev.exit399 ], [ %177, %lpad336 ] +ehcleanup351: ; preds = %_ZN7testing7MessageD2Ev.exit401, %lpad336 + %.pn42.pn.pn = phi { ptr, i32 } [ %.pn42.pn, %_ZN7testing7MessageD2Ev.exit401 ], [ %177, %lpad336 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup388 @@ -46444,17 +46459,17 @@ if.else370: ; preds = %invoke.cont367 to label %invoke.cont373 unwind label %lpad372 invoke.cont373: ; preds = %if.else370 - %186 = load ptr, ptr %message_.i.i405, align 8 - %cmp.i.i.not.i.i406 = icmp eq ptr %186, null - br i1 %cmp.i.i.not.i.i406, label %invoke.cont376, label %cond.true.i.i407 + %186 = load ptr, ptr %message_.i.i407, align 8 + %cmp.i.i.not.i.i408 = icmp eq ptr %186, null + br i1 %cmp.i.i.not.i.i408, label %invoke.cont376, label %cond.true.i.i409 -cond.true.i.i407: ; preds = %invoke.cont373 - %call4.i.i408 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %186) #28 +cond.true.i.i409: ; preds = %invoke.cont373 + %call4.i.i410 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %186) #28 br label %invoke.cont376 -invoke.cont376: ; preds = %cond.true.i.i407, %invoke.cont373 - %cond.i.i409 = phi ptr [ %call4.i.i408, %cond.true.i.i407 ], [ @.str.120, %invoke.cont373 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp374, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 822, ptr noundef %cond.i.i409) +invoke.cont376: ; preds = %cond.true.i.i409, %invoke.cont373 + %cond.i.i411 = phi ptr [ %call4.i.i410, %cond.true.i.i409 ], [ @.str.120, %invoke.cont373 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp374, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 822, ptr noundef %cond.i.i411) to label %invoke.cont378 unwind label %lpad375 invoke.cont378: ; preds = %invoke.cont376 @@ -46464,17 +46479,17 @@ invoke.cont378: ; preds = %invoke.cont376 invoke.cont380: ; preds = %invoke.cont378 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp374) #28 %187 = load ptr, ptr %ref.tmp371, align 8 - %cmp.not.i.i411 = icmp eq ptr %187, null - br i1 %cmp.not.i.i411, label %_ZN7testing7MessageD2Ev.exit415, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412 + %cmp.not.i.i413 = icmp eq ptr %187, null + br i1 %cmp.not.i.i413, label %_ZN7testing7MessageD2Ev.exit417, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412: ; preds = %invoke.cont380 - %vtable.i.i.i413 = load ptr, ptr %187, align 8 - %vfn.i.i.i414 = getelementptr inbounds ptr, ptr %vtable.i.i.i413, i64 1 - %188 = load ptr, ptr %vfn.i.i.i414, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414: ; preds = %invoke.cont380 + %vtable.i.i.i415 = load ptr, ptr %187, align 8 + %vfn.i.i.i416 = getelementptr inbounds ptr, ptr %vtable.i.i.i415, i64 1 + %188 = load ptr, ptr %vfn.i.i.i416, align 8 call void %188(ptr noundef nonnull align 8 dereferenceable(128) %187) #28 - br label %_ZN7testing7MessageD2Ev.exit415 + br label %_ZN7testing7MessageD2Ev.exit417 -_ZN7testing7MessageD2Ev.exit415: ; preds = %invoke.cont380, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412 +_ZN7testing7MessageD2Ev.exit417: ; preds = %invoke.cont380, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414 store ptr null, ptr %ref.tmp371, align 8 br label %if.end383 @@ -46497,105 +46512,105 @@ lpad379: ; preds = %invoke.cont378 ehcleanup382: ; preds = %lpad379, %lpad375 %.pn46 = phi { ptr, i32 } [ %191, %lpad379 ], [ %190, %lpad375 ] %192 = load ptr, ptr %ref.tmp371, align 8 - %cmp.not.i.i416 = icmp eq ptr %192, null - br i1 %cmp.not.i.i416, label %_ZN7testing7MessageD2Ev.exit420, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417 + %cmp.not.i.i418 = icmp eq ptr %192, null + br i1 %cmp.not.i.i418, label %_ZN7testing7MessageD2Ev.exit422, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i419 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417: ; preds = %ehcleanup382 - %vtable.i.i.i418 = load ptr, ptr %192, align 8 - %vfn.i.i.i419 = getelementptr inbounds ptr, ptr %vtable.i.i.i418, i64 1 - %193 = load ptr, ptr %vfn.i.i.i419, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i419: ; preds = %ehcleanup382 + %vtable.i.i.i420 = load ptr, ptr %192, align 8 + %vfn.i.i.i421 = getelementptr inbounds ptr, ptr %vtable.i.i.i420, i64 1 + %193 = load ptr, ptr %vfn.i.i.i421, align 8 call void %193(ptr noundef nonnull align 8 dereferenceable(128) %192) #28 - br label %_ZN7testing7MessageD2Ev.exit420 + br label %_ZN7testing7MessageD2Ev.exit422 -_ZN7testing7MessageD2Ev.exit420: ; preds = %ehcleanup382, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417 +_ZN7testing7MessageD2Ev.exit422: ; preds = %ehcleanup382, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i419 store ptr null, ptr %ref.tmp371, align 8 br label %ehcleanup384 -if.end383: ; preds = %invoke.cont367, %_ZN7testing7MessageD2Ev.exit415 - %194 = load ptr, ptr %message_.i.i405, align 8 - %cmp.not.i.i422 = icmp eq ptr %194, null - br i1 %cmp.not.i.i422, label %cleanup387.sink.split, label %cleanup387.sink.split.sink.split +if.end383: ; preds = %invoke.cont367, %_ZN7testing7MessageD2Ev.exit417 + %194 = load ptr, ptr %message_.i.i407, align 8 + %cmp.not.i.i424 = icmp eq ptr %194, null + br i1 %cmp.not.i.i424, label %cleanup387.sink.split, label %cleanup387.sink.split.sink.split -ehcleanup384: ; preds = %_ZN7testing7MessageD2Ev.exit420, %lpad372 - %.pn46.pn = phi { ptr, i32 } [ %.pn46, %_ZN7testing7MessageD2Ev.exit420 ], [ %189, %lpad372 ] +ehcleanup384: ; preds = %_ZN7testing7MessageD2Ev.exit422, %lpad372 + %.pn46.pn = phi { ptr, i32 } [ %.pn46, %_ZN7testing7MessageD2Ev.exit422 ], [ %189, %lpad372 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar352) #28 br label %ehcleanup388 cleanup387.sink.split.sink.split: ; preds = %if.end383, %if.end325 - %.sink560 = phi ptr [ %172, %if.end325 ], [ %194, %if.end383 ] - %message_.i.i405.sink.ph = phi ptr [ %message_.i.i367, %if.end325 ], [ %message_.i.i405, %if.end383 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink560) #28 - call void @_ZdlPv(ptr noundef nonnull %.sink560) #31 + %.sink562 = phi ptr [ %172, %if.end325 ], [ %194, %if.end383 ] + %message_.i.i407.sink.ph = phi ptr [ %message_.i.i369, %if.end325 ], [ %message_.i.i407, %if.end383 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink562) #28 + call void @_ZdlPv(ptr noundef nonnull %.sink562) #31 br label %cleanup387.sink.split cleanup387.sink.split: ; preds = %cleanup387.sink.split.sink.split, %if.end383, %if.end325 - %message_.i.i405.sink = phi ptr [ %message_.i.i367, %if.end325 ], [ %message_.i.i405, %if.end383 ], [ %message_.i.i405.sink.ph, %cleanup387.sink.split.sink.split ] - store ptr null, ptr %message_.i.i405.sink, align 8 + %message_.i.i407.sink = phi ptr [ %message_.i.i369, %if.end325 ], [ %message_.i.i407, %if.end383 ], [ %message_.i.i407.sink.ph, %cleanup387.sink.split.sink.split ] + store ptr null, ptr %message_.i.i407.sink, align 8 br label %cleanup387 cleanup387: ; preds = %cleanup387.sink.split, %for.end %195 = load ptr, ptr %edges, align 8 %tobool.not.i.i.i = icmp eq ptr %195, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i426 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, label %if.then.i.i.i428 -if.then.i.i.i426: ; preds = %cleanup387 +if.then.i.i.i428: ; preds = %cleanup387 call void @_ZdlPv(ptr noundef nonnull %195) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %cleanup387, %if.then.i.i.i426 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit: ; preds = %cleanup387, %if.then.i.i.i428 %196 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i428 = icmp eq ptr %196, null - br i1 %tobool.not.i.i.i428, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit430, label %if.then.i.i.i429 + %tobool.not.i.i.i430 = icmp eq ptr %196, null + br i1 %tobool.not.i.i.i430, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit432, label %if.then.i.i.i431 -if.then.i.i.i429: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit +if.then.i.i.i431: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %196) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit430 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit432 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit430: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %if.then.i.i.i429 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit432: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit, %if.then.i.i.i431 %197 = load ptr, ptr %refs79, align 8 - %198 = load ptr, ptr %_M_finish.i.i.i171, align 8 - %cmp.i.not4.i432 = icmp eq ptr %197, %198 - br i1 %cmp.i.not4.i432, label %for.end.i442, label %for.body.i433 - -for.body.i433: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit430, %for.inc.i437 - %__begin2.sroa.0.05.i434 = phi ptr [ %incdec.ptr.i.i438, %for.inc.i437 ], [ %197, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit430 ] - %199 = load ptr, ptr %__begin2.sroa.0.05.i434, align 8 - %refcount.i.i435 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %199, i64 0, i32 1 - %200 = atomicrmw sub ptr %refcount.i.i435, i32 2 acq_rel, align 4 - %cmp.i.not.i.i436 = icmp eq i32 %200, 2 - br i1 %cmp.i.not.i.i436, label %if.then.i.i446, label %for.inc.i437 - -if.then.i.i446: ; preds = %for.body.i433 + %198 = load ptr, ptr %_M_finish.i.i.i172, align 8 + %cmp.i.not4.i434 = icmp eq ptr %197, %198 + br i1 %cmp.i.not4.i434, label %for.end.i444, label %for.body.i435 + +for.body.i435: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit432, %for.inc.i439 + %__begin2.sroa.0.05.i436 = phi ptr [ %incdec.ptr.i.i440, %for.inc.i439 ], [ %197, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit432 ] + %199 = load ptr, ptr %__begin2.sroa.0.05.i436, align 8 + %refcount.i.i437 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %199, i64 0, i32 1 + %200 = atomicrmw sub ptr %refcount.i.i437, i32 2 acq_rel, align 4 + %cmp.i.not.i.i438 = icmp eq i32 %200, 2 + br i1 %cmp.i.not.i.i438, label %if.then.i.i448, label %for.inc.i439 + +if.then.i.i448: ; preds = %for.body.i435 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %199) - to label %for.inc.i437 unwind label %terminate.lpad.i447 + to label %for.inc.i439 unwind label %terminate.lpad.i449 -for.inc.i437: ; preds = %if.then.i.i446, %for.body.i433 - %incdec.ptr.i.i438 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i434, i64 1 - %cmp.i.not.i439 = icmp eq ptr %incdec.ptr.i.i438, %198 - br i1 %cmp.i.not.i439, label %for.end.loopexit.i440, label %for.body.i433 +for.inc.i439: ; preds = %if.then.i.i448, %for.body.i435 + %incdec.ptr.i.i440 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i436, i64 1 + %cmp.i.not.i441 = icmp eq ptr %incdec.ptr.i.i440, %198 + br i1 %cmp.i.not.i441, label %for.end.loopexit.i442, label %for.body.i435 -for.end.loopexit.i440: ; preds = %for.inc.i437 - %.pre.i441 = load ptr, ptr %refs79, align 8 - br label %for.end.i442 +for.end.loopexit.i442: ; preds = %for.inc.i439 + %.pre.i443 = load ptr, ptr %refs79, align 8 + br label %for.end.i444 -for.end.i442: ; preds = %for.end.loopexit.i440, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit430 - %201 = phi ptr [ %.pre.i441, %for.end.loopexit.i440 ], [ %197, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit430 ] - %tobool.not.i.i.i.i443 = icmp eq ptr %201, null - br i1 %tobool.not.i.i.i.i443, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit448, label %if.then.i.i.i.i444 +for.end.i444: ; preds = %for.end.loopexit.i442, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit432 + %201 = phi ptr [ %.pre.i443, %for.end.loopexit.i442 ], [ %197, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit432 ] + %tobool.not.i.i.i.i445 = icmp eq ptr %201, null + br i1 %tobool.not.i.i.i.i445, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit450, label %if.then.i.i.i.i446 -if.then.i.i.i.i444: ; preds = %for.end.i442 +if.then.i.i.i.i446: ; preds = %for.end.i444 call void @_ZdlPv(ptr noundef nonnull %201) #31 - br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit448 + br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit450 -terminate.lpad.i447: ; preds = %if.then.i.i446 +terminate.lpad.i449: ; preds = %if.then.i.i448 %202 = landingpad { ptr, i32 } catch ptr null %203 = extractvalue { ptr, i32 } %202, 0 call void @__clang_call_terminate(ptr %203) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit448: ; preds = %for.end.i442, %if.then.i.i.i.i444 - %inc396 = add nuw i64 %n.0541, 1 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit450: ; preds = %for.end.i444, %if.then.i.i.i.i446 + %inc396 = add nuw i64 %n.0543, 1 %call76 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 %cmp77.not = icmp ult i64 %inc396, %call76 br i1 %cmp77.not, label %for.body78, label %cleanup398.thread, !llvm.loop !754 @@ -46603,100 +46618,100 @@ _ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit448: ; preds = %for.end.i442, %if.t ehcleanup388: ; preds = %lpad138.loopexit, %lpad138.loopexit.split-lp, %ehcleanup384, %ehcleanup351, %ehcleanup326, %ehcleanup290, %ehcleanup253, %ehcleanup217, %ehcleanup169 %.pn55.pn.pn = phi { ptr, i32 } [ %.pn55.pn, %ehcleanup253 ], [ %.pn52.pn, %ehcleanup217 ], [ %.pn49.pn, %ehcleanup326 ], [ %.pn46.pn, %ehcleanup384 ], [ %.pn42.pn.pn, %ehcleanup351 ], [ %.pn39.pn, %ehcleanup290 ], [ %.pn36.pn, %ehcleanup169 ], [ %lpad.loopexit, %lpad138.loopexit ], [ %lpad.loopexit.split-lp, %lpad138.loopexit.split-lp ] %204 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i450 = icmp eq ptr %204, null - br i1 %tobool.not.i.i.i450, label %ehcleanup390, label %if.then.i.i.i451 + %tobool.not.i.i.i452 = icmp eq ptr %204, null + br i1 %tobool.not.i.i.i452, label %ehcleanup390, label %if.then.i.i.i453 -if.then.i.i.i451: ; preds = %ehcleanup388 +if.then.i.i.i453: ; preds = %ehcleanup388 call void @_ZdlPv(ptr noundef nonnull %204) #31 br label %ehcleanup390 -ehcleanup390: ; preds = %lpad85.loopexit, %lpad85.loopexit.split-lp, %if.then.i.i.i451, %ehcleanup388, %lpad.i246, %if.then.i.i.i5.i, %ehcleanup132, %ehcleanup115 - %.pn55.pn.pn.pn = phi { ptr, i32 } [ %.pn33.pn, %ehcleanup132 ], [ %.pn29.pn.pn, %ehcleanup115 ], [ %lpad.phi.i, %if.then.i.i.i5.i ], [ %lpad.phi.i, %lpad.i246 ], [ %.pn55.pn.pn, %ehcleanup388 ], [ %.pn55.pn.pn, %if.then.i.i.i451 ], [ %lpad.loopexit489, %lpad85.loopexit ], [ %lpad.loopexit.split-lp490, %lpad85.loopexit.split-lp ] +ehcleanup390: ; preds = %lpad85.loopexit, %lpad85.loopexit.split-lp, %if.then.i.i.i453, %ehcleanup388, %lpad.i248, %if.then.i.i.i5.i, %ehcleanup132, %ehcleanup115 + %.pn55.pn.pn.pn = phi { ptr, i32 } [ %.pn33.pn, %ehcleanup132 ], [ %.pn29.pn.pn, %ehcleanup115 ], [ %lpad.phi.i, %if.then.i.i.i5.i ], [ %lpad.phi.i, %lpad.i248 ], [ %.pn55.pn.pn, %ehcleanup388 ], [ %.pn55.pn.pn, %if.then.i.i.i453 ], [ %lpad.loopexit491, %lpad85.loopexit ], [ %lpad.loopexit.split-lp492, %lpad85.loopexit.split-lp ] %205 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i454 = icmp eq ptr %205, null - br i1 %tobool.not.i.i.i454, label %ehcleanup401, label %if.then.i.i.i455 + %tobool.not.i.i.i456 = icmp eq ptr %205, null + br i1 %tobool.not.i.i.i456, label %ehcleanup401, label %if.then.i.i.i457 -if.then.i.i.i455: ; preds = %ehcleanup390 +if.then.i.i.i457: ; preds = %ehcleanup390 call void @_ZdlPv(ptr noundef nonnull %205) #31 br label %ehcleanup401 -cleanup398.critedge.sink.split: ; preds = %_ZN7testing7MessageD2Ev.exit325, %_ZN7testing7MessageD2Ev.exit300, %_ZN7testing7MessageD2Ev.exit266 - %.sink562 = phi ptr [ %107, %_ZN7testing7MessageD2Ev.exit266 ], [ %126, %_ZN7testing7MessageD2Ev.exit300 ], [ %139, %_ZN7testing7MessageD2Ev.exit325 ] - %message_.i335.sink.ph = phi ptr [ %message_.i276, %_ZN7testing7MessageD2Ev.exit266 ], [ %message_.i310, %_ZN7testing7MessageD2Ev.exit300 ], [ %message_.i335, %_ZN7testing7MessageD2Ev.exit325 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink562) #28 - call void @_ZdlPv(ptr noundef nonnull %.sink562) #31 +cleanup398.critedge.sink.split: ; preds = %_ZN7testing7MessageD2Ev.exit327, %_ZN7testing7MessageD2Ev.exit302, %_ZN7testing7MessageD2Ev.exit268 + %.sink564 = phi ptr [ %107, %_ZN7testing7MessageD2Ev.exit268 ], [ %126, %_ZN7testing7MessageD2Ev.exit302 ], [ %139, %_ZN7testing7MessageD2Ev.exit327 ] + %message_.i337.sink.ph = phi ptr [ %message_.i278, %_ZN7testing7MessageD2Ev.exit268 ], [ %message_.i312, %_ZN7testing7MessageD2Ev.exit302 ], [ %message_.i337, %_ZN7testing7MessageD2Ev.exit327 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink564) #28 + call void @_ZdlPv(ptr noundef nonnull %.sink564) #31 br label %cleanup398.critedge -cleanup398.critedge: ; preds = %cleanup398.critedge.sink.split, %_ZN7testing7MessageD2Ev.exit325, %_ZN7testing7MessageD2Ev.exit300, %_ZN7testing7MessageD2Ev.exit266 - %message_.i335.sink = phi ptr [ %message_.i276, %_ZN7testing7MessageD2Ev.exit266 ], [ %message_.i310, %_ZN7testing7MessageD2Ev.exit300 ], [ %message_.i335, %_ZN7testing7MessageD2Ev.exit325 ], [ %message_.i335.sink.ph, %cleanup398.critedge.sink.split ] - store ptr null, ptr %message_.i335.sink, align 8 +cleanup398.critedge: ; preds = %cleanup398.critedge.sink.split, %_ZN7testing7MessageD2Ev.exit327, %_ZN7testing7MessageD2Ev.exit302, %_ZN7testing7MessageD2Ev.exit268 + %message_.i337.sink = phi ptr [ %message_.i278, %_ZN7testing7MessageD2Ev.exit268 ], [ %message_.i312, %_ZN7testing7MessageD2Ev.exit302 ], [ %message_.i337, %_ZN7testing7MessageD2Ev.exit327 ], [ %message_.i337.sink.ph, %cleanup398.critedge.sink.split ] + store ptr null, ptr %message_.i337.sink, align 8 %206 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i458 = icmp eq ptr %206, null - br i1 %tobool.not.i.i.i458, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit460, label %if.then.i.i.i459 + %tobool.not.i.i.i460 = icmp eq ptr %206, null + br i1 %tobool.not.i.i.i460, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit462, label %if.then.i.i.i461 -if.then.i.i.i459: ; preds = %cleanup398.critedge +if.then.i.i.i461: ; preds = %cleanup398.critedge call void @_ZdlPv(ptr noundef nonnull %206) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit460 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit462 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit460: ; preds = %cleanup398.critedge, %if.then.i.i.i459 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit462: ; preds = %cleanup398.critedge, %if.then.i.i.i461 %207 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i462 = icmp eq ptr %207, null - br i1 %tobool.not.i.i.i462, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit464, label %if.then.i.i.i463 + %tobool.not.i.i.i464 = icmp eq ptr %207, null + br i1 %tobool.not.i.i.i464, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit466, label %if.then.i.i.i465 -if.then.i.i.i463: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit460 +if.then.i.i.i465: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit462 call void @_ZdlPv(ptr noundef nonnull %207) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit464 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit466 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit464: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit460, %if.then.i.i.i463 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit466: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit462, %if.then.i.i.i465 %208 = load ptr, ptr %refs79, align 8 - %209 = load ptr, ptr %_M_finish.i.i.i171, align 8 - %cmp.i.not4.i466 = icmp eq ptr %208, %209 - br i1 %cmp.i.not4.i466, label %for.end.i476, label %for.body.i467 - -for.body.i467: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit464, %for.inc.i471 - %__begin2.sroa.0.05.i468 = phi ptr [ %incdec.ptr.i.i472, %for.inc.i471 ], [ %208, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit464 ] - %210 = load ptr, ptr %__begin2.sroa.0.05.i468, align 8 - %refcount.i.i469 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %210, i64 0, i32 1 - %211 = atomicrmw sub ptr %refcount.i.i469, i32 2 acq_rel, align 4 - %cmp.i.not.i.i470 = icmp eq i32 %211, 2 - br i1 %cmp.i.not.i.i470, label %if.then.i.i480, label %for.inc.i471 - -if.then.i.i480: ; preds = %for.body.i467 + %209 = load ptr, ptr %_M_finish.i.i.i172, align 8 + %cmp.i.not4.i468 = icmp eq ptr %208, %209 + br i1 %cmp.i.not4.i468, label %for.end.i478, label %for.body.i469 + +for.body.i469: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit466, %for.inc.i473 + %__begin2.sroa.0.05.i470 = phi ptr [ %incdec.ptr.i.i474, %for.inc.i473 ], [ %208, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit466 ] + %210 = load ptr, ptr %__begin2.sroa.0.05.i470, align 8 + %refcount.i.i471 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %210, i64 0, i32 1 + %211 = atomicrmw sub ptr %refcount.i.i471, i32 2 acq_rel, align 4 + %cmp.i.not.i.i472 = icmp eq i32 %211, 2 + br i1 %cmp.i.not.i.i472, label %if.then.i.i482, label %for.inc.i473 + +if.then.i.i482: ; preds = %for.body.i469 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %210) - to label %for.inc.i471 unwind label %terminate.lpad.i481 + to label %for.inc.i473 unwind label %terminate.lpad.i483 -for.inc.i471: ; preds = %if.then.i.i480, %for.body.i467 - %incdec.ptr.i.i472 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i468, i64 1 - %cmp.i.not.i473 = icmp eq ptr %incdec.ptr.i.i472, %209 - br i1 %cmp.i.not.i473, label %for.end.loopexit.i474, label %for.body.i467 +for.inc.i473: ; preds = %if.then.i.i482, %for.body.i469 + %incdec.ptr.i.i474 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i470, i64 1 + %cmp.i.not.i475 = icmp eq ptr %incdec.ptr.i.i474, %209 + br i1 %cmp.i.not.i475, label %for.end.loopexit.i476, label %for.body.i469 -for.end.loopexit.i474: ; preds = %for.inc.i471 - %.pre.i475 = load ptr, ptr %refs79, align 8 - br label %for.end.i476 +for.end.loopexit.i476: ; preds = %for.inc.i473 + %.pre.i477 = load ptr, ptr %refs79, align 8 + br label %for.end.i478 -for.end.i476: ; preds = %for.end.loopexit.i474, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit464 - %212 = phi ptr [ %.pre.i475, %for.end.loopexit.i474 ], [ %208, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit464 ] - %tobool.not.i.i.i.i477 = icmp eq ptr %212, null - br i1 %tobool.not.i.i.i.i477, label %cleanup398, label %if.then.i.i.i.i478 +for.end.i478: ; preds = %for.end.loopexit.i476, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit466 + %212 = phi ptr [ %.pre.i477, %for.end.loopexit.i476 ], [ %208, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EED2Ev.exit466 ] + %tobool.not.i.i.i.i479 = icmp eq ptr %212, null + br i1 %tobool.not.i.i.i.i479, label %cleanup398, label %if.then.i.i.i.i480 -if.then.i.i.i.i478: ; preds = %for.end.i476 +if.then.i.i.i.i480: ; preds = %for.end.i478 call void @_ZdlPv(ptr noundef nonnull %212) #31 br label %cleanup398 -terminate.lpad.i481: ; preds = %if.then.i.i480 +terminate.lpad.i483: ; preds = %if.then.i.i482 %213 = landingpad { ptr, i32 } catch ptr null %214 = extractvalue { ptr, i32 } %213, 0 call void @__clang_call_terminate(ptr %214) #32 unreachable -cleanup398: ; preds = %if.then.i.i.i.i478, %for.end.i476 +cleanup398: ; preds = %if.then.i.i.i.i480, %for.end.i478 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 br label %for.end403 -ehcleanup401: ; preds = %lpad82, %ehcleanup390, %if.then.i.i.i455, %ehcleanup30, %ehcleanup72, %lpad.i, %if.then.i.i.i2.i, %if.then.i.i.i2.i87, %lpad.i85, %lpad.loopexit.split-lp496, %lpad.loopexit495 - %refs79.sink = phi ptr [ %refs, %lpad.loopexit495 ], [ %refs, %lpad.loopexit.split-lp496 ], [ %refs, %lpad.i85 ], [ %refs, %if.then.i.i.i2.i87 ], [ %refs, %if.then.i.i.i2.i ], [ %refs, %lpad.i ], [ %refs, %ehcleanup72 ], [ %refs, %ehcleanup30 ], [ %refs79, %if.then.i.i.i455 ], [ %refs79, %ehcleanup390 ], [ %refs79, %lpad82 ] - %.pn55.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.loopexit497, %lpad.loopexit495 ], [ %lpad.loopexit.split-lp498, %lpad.loopexit.split-lp496 ], [ %33, %lpad.i85 ], [ %33, %if.then.i.i.i2.i87 ], [ %9, %if.then.i.i.i2.i ], [ %9, %lpad.i ], [ %.pn24.pn, %ehcleanup72 ], [ %.pn.pn, %ehcleanup30 ], [ %.pn55.pn.pn.pn, %if.then.i.i.i455 ], [ %.pn55.pn.pn.pn, %ehcleanup390 ], [ %75, %lpad82 ] +ehcleanup401: ; preds = %lpad82, %ehcleanup390, %if.then.i.i.i457, %ehcleanup30, %ehcleanup72, %lpad.i, %if.then.i.i.i2.i, %if.then.i.i.i2.i87, %lpad.i85, %lpad.loopexit.split-lp498, %lpad.loopexit497 + %refs79.sink = phi ptr [ %refs, %lpad.loopexit497 ], [ %refs, %lpad.loopexit.split-lp498 ], [ %refs, %lpad.i85 ], [ %refs, %if.then.i.i.i2.i87 ], [ %refs, %if.then.i.i.i2.i ], [ %refs, %lpad.i ], [ %refs, %ehcleanup72 ], [ %refs, %ehcleanup30 ], [ %refs79, %if.then.i.i.i457 ], [ %refs79, %ehcleanup390 ], [ %refs79, %lpad82 ] + %.pn55.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.loopexit499, %lpad.loopexit497 ], [ %lpad.loopexit.split-lp500, %lpad.loopexit.split-lp498 ], [ %33, %lpad.i85 ], [ %33, %if.then.i.i.i2.i87 ], [ %9, %if.then.i.i.i2.i ], [ %9, %lpad.i ], [ %.pn24.pn, %ehcleanup72 ], [ %.pn.pn, %ehcleanup30 ], [ %.pn55.pn.pn.pn, %if.then.i.i.i457 ], [ %.pn55.pn.pn.pn, %ehcleanup390 ], [ %75, %lpad82 ] call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %refs79.sink) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 resume { ptr, i32 } %.pn55.pn.pn.pn.pn.pn @@ -47535,23 +47550,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i4, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call4.i.i.i2, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %cond.i10.i.i.i1315, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %cond.i10.i.i.i1315, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i1315) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %agg.result, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -49908,23 +49924,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %rep, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %4) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %fn.val11, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -49952,7 +49969,7 @@ while.body: ; preds = %while.cond %cmp.i.i13 = icmp ugt i8 %rep.val.i12, 5 br i1 %cmp.i.i13, label %if.then.i14, label %while.cond.backedge -while.cond.backedge: ; preds = %while.body, %if.then.i.i18, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45 +while.cond.backedge: ; preds = %while.body, %if.then.i.i18, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46 br label %while.cond, !llvm.loop !837 if.then.i14: ; preds = %while.body @@ -49976,9 +49993,9 @@ if.else.i.i20: ; preds = %if.then.i14 %sub.ptr.rhs.cast.i.i.i.i.i22 = ptrtoint ptr %11 to i64 %sub.ptr.sub.i.i.i.i.i23 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i21, %sub.ptr.rhs.cast.i.i.i.i.i22 %cmp.i.i.i.i24 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i23, 9223372036854775800 - br i1 %cmp.i.i.i.i24, label %if.then.i.i.i.i48, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i25 + br i1 %cmp.i.i.i.i24, label %if.then.i.i.i.i49, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i25 -if.then.i.i.i.i48: ; preds = %if.else.i.i20 +if.then.i.i.i.i49: ; preds = %if.else.i.i20 tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 unreachable @@ -50002,27 +50019,28 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i38 = phi ptr [ %call5.i.i.i.i.i.i36, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i34 ], [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i25 ] %add.ptr.i.i.i39 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i38, i64 %sub.ptr.div.i.i.i.i.i26 store ptr %6, ptr %add.ptr.i.i.i39, align 8 - %cmp.i.i.i11.i.i.i40 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i26, 0 - br i1 %cmp.i.i.i11.i.i.i40, label %if.then.i.i.i12.i.i.i47, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41 + %cmp.i.i.i11.i.i.i40 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i23, 0 + br i1 %cmp.i.i.i11.i.i.i40, label %if.then.i.i.i12.i.i.i48, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41 -if.then.i.i.i12.i.i.i47: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i37 +if.then.i.i.i12.i.i.i48: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i37 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i38, ptr align 8 %11, i64 %sub.ptr.sub.i.i.i.i.i23, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41: ; preds = %if.then.i.i.i12.i.i.i47, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i37 - %incdec.ptr.i.i.i42 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i39, i64 1 - %tobool.not.i.i.i.i43 = icmp eq ptr %11, null - br i1 %tobool.not.i.i.i.i43, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45, label %if.then.i21.i.i.i44 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41: ; preds = %if.then.i.i.i12.i.i.i48, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i37 + %add.ptr.i.i.i.i.i.i42 = getelementptr inbounds i8, ptr %cond.i10.i.i.i38, i64 %sub.ptr.sub.i.i.i.i.i23 + %incdec.ptr.i.i.i43 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i42, i64 1 + %tobool.not.i.i.i.i44 = icmp eq ptr %11, null + br i1 %tobool.not.i.i.i.i44, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46, label %if.then.i20.i.i.i45 -if.then.i21.i.i.i44: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41 +if.then.i20.i.i.i45: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41 tail call void @_ZdlPv(ptr noundef nonnull %11) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i45: ; preds = %if.then.i21.i.i.i44, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i41 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46: ; preds = %if.then.i20.i.i.i45, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i41 store ptr %cond.i10.i.i.i38, ptr %fn.val, align 8 - store ptr %incdec.ptr.i.i.i42, ptr %_M_finish.i.i15, align 8 - %add.ptr19.i.i.i46 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i38, i64 %cond.i.i.i.i32 - store ptr %add.ptr19.i.i.i46, ptr %_M_end_of_storage.i.i16, align 8 + store ptr %incdec.ptr.i.i.i43, ptr %_M_finish.i.i15, align 8 + %add.ptr19.i.i.i47 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i38, i64 %cond.i.i.i.i32 + store ptr %add.ptr19.i.i.i47, ptr %_M_end_of_storage.i.i16, align 8 br label %while.cond.backedge if.then: ; preds = %while.cond @@ -50032,9 +50050,9 @@ if.then: ; preds = %while.cond %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %rep.addr.0, i64 0, i32 3, i64 2 %13 = load i8, ptr %arrayidx.i.i.i, align 1 %conv.i.i.i = zext i8 %13 to i64 - %add.ptr.i50 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i.i - %cmp8.not55 = icmp eq i8 %12, %13 - br i1 %cmp8.not55, label %if.end, label %for.body.preheader + %add.ptr.i51 = getelementptr inbounds ptr, ptr %edges_.i, i64 %conv.i.i.i + %cmp8.not56 = icmp eq i8 %12, %13 + br i1 %cmp8.not56, label %if.end, label %for.body.preheader for.body.preheader: ; preds = %if.then %conv.i.i = zext i8 %12 to i64 @@ -50042,11 +50060,11 @@ for.body.preheader: ; preds = %if.then br label %for.body for.body: ; preds = %for.body.preheader, %for.body - %__begin3.056 = phi ptr [ %incdec.ptr, %for.body ], [ %add.ptr.i, %for.body.preheader ] - %14 = load ptr, ptr %__begin3.056, align 8 + %__begin3.057 = phi ptr [ %incdec.ptr, %for.body ], [ %add.ptr.i, %for.body.preheader ] + %14 = load ptr, ptr %__begin3.057, align 8 tail call fastcc void @"_ZN4absl15cordrep_testing13CordVisitRepsIRZNS0_17CordCollectRepsIfIRZNS_13cord_internal12_GLOBAL__N_134CordRepBtreeTest_RemoveSuffix_Test8TestBodyEvE3$_0EESt6vectorIPNS3_7CordRepESaISA_EEOT_SA_EUlSA_E_EEvSA_SE_"(ptr noundef %14, ptr noundef nonnull align 8 dereferenceable(16) %fn) - %incdec.ptr = getelementptr inbounds ptr, ptr %__begin3.056, i64 1 - %cmp8.not = icmp eq ptr %incdec.ptr, %add.ptr.i50 + %incdec.ptr = getelementptr inbounds ptr, ptr %__begin3.057, i64 1 + %cmp8.not = icmp eq ptr %incdec.ptr, %add.ptr.i51 br i1 %cmp8.not, label %if.end, label %for.body if.end: ; preds = %while.cond, %for.body, %if.then @@ -50234,30 +50252,31 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call4.i.i.i22, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %flats.sroa.0.0121, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %flats.sroa.0.0121, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %flats.sroa.0.0121) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i %flats.sroa.15.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %flats.sroa.15.0117, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %flats.sroa.9.0120, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %flats.sroa.9.0120, %if.then.i.i ] %flats.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %flats.sroa.0.0121, %if.then.i.i ] - %flats.sroa.9.1 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.pn, i64 1 + %flats.sroa.9.1 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %add.ptr.i = getelementptr inbounds i8, ptr %s.sroa.5.0118, i64 3 %sub.i = add i64 %s.sroa.0.0119, -3 %cmp.i = icmp eq i64 %sub.i, 0 @@ -53257,7 +53276,7 @@ lpad.i: ; preds = %if.end invoke.cont17: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp13, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp13, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.239, ptr %call5.i.i.i.i2.i, align 8 @@ -53710,23 +53729,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i30, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %leaf.0210, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %14, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %14, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %14) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -54768,23 +54788,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %call.i, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %12, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %12) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i22, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -56229,23 +56250,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %tree.0.lcssa.i, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i22, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -57524,25 +57546,25 @@ entry: %message_.i214 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar90, i64 0, i32 1 %1 = getelementptr inbounds { i64, ptr }, ptr %ref.tmp126, i64 0, i32 1 %message_.i264 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar125, i64 0, i32 1 - %agg.tmp181342.sroa.5.0.ref.tmp180.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp180, i64 8 - %agg.tmp181342.sroa.6.0.ref.tmp180.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp180, i64 16 - %message_.i364 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar179, i64 0, i32 1 + %agg.tmp181343.sroa.5.0.ref.tmp180.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp180, i64 8 + %agg.tmp181343.sroa.6.0.ref.tmp180.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp180, i64 16 + %message_.i365 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar179, i64 0, i32 1 %2 = getelementptr inbounds { i64, ptr }, ptr %ref.tmp222, i64 0, i32 1 - %message_.i414 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar221, i64 0, i32 1 - %message_.i509 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar274, i64 0, i32 1 - %message_.i534 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar300, i64 0, i32 1 + %message_.i415 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar221, i64 0, i32 1 + %message_.i511 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar274, i64 0, i32 1 + %message_.i536 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar300, i64 0, i32 1 %3 = getelementptr inbounds { i64, ptr }, ptr %ref.tmp336, i64 0, i32 1 - %message_.i584 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar335, i64 0, i32 1 - %agg.tmp391665.sroa.5.0.ref.tmp390.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp390, i64 8 - %agg.tmp391665.sroa.6.0.ref.tmp390.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp390, i64 16 - %message_.i687 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar389, i64 0, i32 1 + %message_.i586 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar335, i64 0, i32 1 + %agg.tmp391668.sroa.5.0.ref.tmp390.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp390, i64 8 + %agg.tmp391668.sroa.6.0.ref.tmp390.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp390, i64 16 + %message_.i690 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar389, i64 0, i32 1 %4 = getelementptr inbounds { i64, ptr }, ptr %ref.tmp432, i64 0, i32 1 - %message_.i737 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar431, i64 0, i32 1 + %message_.i740 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar431, i64 0, i32 1 br label %for.body for.body: ; preds = %entry, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit - %__begin2.0.idx1062 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx1062 + %__begin2.0.idx1065 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr %ref.tmp2, i64 %__begin2.0.idx1065 %5 = load i8, ptr %__begin2.0.ptr, align 1 %6 = and i8 %5, 1 %tobool.not = icmp eq i8 %6, 0 @@ -57558,7 +57580,7 @@ invoke.cont7: ; preds = %for.body %sub5.i = add i64 %7, -3 %cond.i = select i1 %tobool.not, i64 %sub5.i, i64 0 %cmp.i.i.i = icmp ult i64 %7, %cond.i - br i1 %cmp.i.i.i, label %if.then.i.i.i708.invoke, label %invoke.cont10 + br i1 %cmp.i.i.i, label %if.then.i.i.i711.invoke, label %invoke.cont10 invoke.cont10: ; preds = %invoke.cont7 %sub.i.i = sub i64 %7, %cond.i @@ -57584,75 +57606,75 @@ _ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit: ; preds = %_ZN store <4 x i8> , ptr %tag.i7.i.i, align 4 %edges_.i.i = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %call.i.i91, i64 0, i32 1 store ptr %call4.i.i.i90, ptr %edges_.i.i, align 8 - %sub5.i971546 = add i64 %7, -6 - %cond.i981547 = select i1 %tobool.not, i64 %sub5.i971546, i64 3 - %cmp.i.i.i991548 = icmp ult i64 %7, %cond.i981547 - br i1 %cmp.i.i.i991548, label %if.then.i.i.i708.invoke, label %invoke.cont21 + %sub5.i971549 = add i64 %7, -6 + %cond.i981550 = select i1 %tobool.not, i64 %sub5.i971549, i64 3 + %cmp.i.i.i991551 = icmp ult i64 %7, %cond.i981550 + br i1 %cmp.i.i.i991551, label %if.then.i.i.i711.invoke, label %invoke.cont21 invoke.cont21: ; preds = %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit, %for.body18.backedge - %cond.i981552 = phi i64 [ %cond.i98, %for.body18.backedge ], [ %cond.i981547, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] - %add.i941551 = phi i64 [ %add.i94, %for.body18.backedge ], [ 6, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] - %i.010521550 = phi i64 [ %i.01052.be, %for.body18.backedge ], [ 1, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] - %tree.010531549 = phi ptr [ %tree.01053.be, %for.body18.backedge ], [ %call.i.i91, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] - %sub.i.i100 = sub i64 %7, %cond.i981552 + %cond.i981555 = phi i64 [ %cond.i98, %for.body18.backedge ], [ %cond.i981550, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] + %add.i941554 = phi i64 [ %add.i94, %for.body18.backedge ], [ 6, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] + %i.010551553 = phi i64 [ %i.01055.be, %for.body18.backedge ], [ 1, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] + %tree.010561552 = phi ptr [ %tree.01056.be, %for.body18.backedge ], [ %call.i.i91, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] + %sub.i.i100 = sub i64 %7, %cond.i981555 %.sroa.speculated.i.i101 = call i64 @llvm.umin.i64(i64 %sub.i.i100, i64 3) - %add.ptr.i.i103 = getelementptr inbounds i8, ptr %8, i64 %cond.i981552 + %add.ptr.i.i103 = getelementptr inbounds i8, ptr %8, i64 %cond.i981555 br i1 %tobool.not, label %cond.false.i, label %cond.true.i cond.true.i: ; preds = %invoke.cont21 - %call.i110 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.010531549, i64 %.sroa.speculated.i.i101, ptr %add.ptr.i.i103, i64 noundef 0) + %call.i110 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.010561552, i64 %.sroa.speculated.i.i101, ptr %add.ptr.i.i103, i64 noundef 0) to label %invoke.cont23.thread unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit cond.false.i: ; preds = %invoke.cont21 - %call2.i112 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.010531549, i64 %.sroa.speculated.i.i101, ptr %add.ptr.i.i103, i64 noundef 0) + %call2.i112 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.010561552, i64 %.sroa.speculated.i.i101, ptr %add.ptr.i.i103, i64 noundef 0) to label %invoke.cont23 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit invoke.cont23: ; preds = %cond.false.i - %inc = add nuw nsw i64 %i.010521550, 1 + %inc = add nuw nsw i64 %i.010551553, 1 %exitcond.not = icmp eq i64 %inc, 6 br i1 %exitcond.not, label %for.end, label %for.body18.backedge for.body18.backedge: ; preds = %invoke.cont23, %invoke.cont23.thread - %tree.01053.be = phi ptr [ %call2.i112, %invoke.cont23 ], [ %call.i110, %invoke.cont23.thread ] - %i.01052.be = phi i64 [ %inc, %invoke.cont23 ], [ %inc1289, %invoke.cont23.thread ] - %add.i94 = add nuw nsw i64 %add.i941551, 3 + %tree.01056.be = phi ptr [ %call2.i112, %invoke.cont23 ], [ %call.i110, %invoke.cont23.thread ] + %i.01055.be = phi i64 [ %inc, %invoke.cont23 ], [ %inc1292, %invoke.cont23.thread ] + %add.i94 = add nuw nsw i64 %add.i941554, 3 %sub5.i97 = sub i64 %7, %add.i94 - %cond.i98 = select i1 %tobool.not, i64 %sub5.i97, i64 %add.i941551 + %cond.i98 = select i1 %tobool.not, i64 %sub5.i97, i64 %add.i941554 %cmp.i.i.i99 = icmp ult i64 %7, %cond.i98 - br i1 %cmp.i.i.i99, label %if.then.i.i.i708.invoke, label %invoke.cont21, !llvm.loop !1014 + br i1 %cmp.i.i.i99, label %if.then.i.i.i711.invoke, label %invoke.cont21, !llvm.loop !1014 invoke.cont23.thread: ; preds = %cond.true.i - %inc1289 = add nuw nsw i64 %i.010521550, 1 - %exitcond.not1290 = icmp eq i64 %inc1289, 6 - br i1 %exitcond.not1290, label %cond.true.i115, label %for.body18.backedge + %inc1292 = add nuw nsw i64 %i.010551553, 1 + %exitcond.not1293 = icmp eq i64 %inc1292, 6 + br i1 %exitcond.not1293, label %cond.true.i115, label %for.body18.backedge lpad: ; preds = %for.body %10 = landingpad { ptr, i32 } cleanup br label %ehcleanup480 -lpad9.loopexit: ; preds = %invoke.cont409, %for.body378, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i615, %cond.true.i652, %cond.false.i650, %invoke.cont387 +lpad9.loopexit: ; preds = %invoke.cont409, %for.body378, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i617, %cond.true.i655, %cond.false.i653, %invoke.cont387 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %ehcleanup476 -lpad9.loopexit.split-lp.loopexit: ; preds = %invoke.cont177, %cond.false.i330, %cond.true.i332, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i295, %for.body168, %invoke.cont199 - %lpad.loopexit821 = landingpad { ptr, i32 } +lpad9.loopexit.split-lp.loopexit: ; preds = %invoke.cont177, %cond.false.i331, %cond.true.i333, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i295, %for.body168, %invoke.cont199 + %lpad.loopexit824 = landingpad { ptr, i32 } cleanup br label %ehcleanup476 lpad9.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %cond.true.i, %cond.false.i - %lpad.loopexit824 = landingpad { ptr, i32 } + %lpad.loopexit827 = landingpad { ptr, i32 } cleanup br label %ehcleanup476 -lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %if.then.i742, %cond.false.i480, %cond.true.i482, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i445, %for.end263, %cond.false.i160, %cond.true.i162, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %cleanup.cont, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %invoke.cont10, %invoke.cont68, %invoke.cont278, %invoke.cont309, %invoke.cont99 - %lpad.loopexit826 = landingpad { ptr, i32 } +lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %if.then.i745, %cond.false.i482, %cond.true.i484, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i446, %for.end263, %cond.false.i160, %cond.true.i162, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %cleanup.cont, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %invoke.cont10, %invoke.cont68, %invoke.cont278, %invoke.cont309, %invoke.cont99 + %lpad.loopexit829 = landingpad { ptr, i32 } cleanup br label %ehcleanup476 -lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i628.invoke, %if.then.i.i.i708.invoke - %lpad.loopexit.split-lp827 = landingpad { ptr, i32 } +lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i631.invoke, %if.then.i.i.i711.invoke + %lpad.loopexit.split-lp830 = landingpad { ptr, i32 } cleanup br label %ehcleanup476 @@ -57660,32 +57682,32 @@ for.end: ; preds = %invoke.cont23 br i1 %tobool.not, label %cond.false.i119, label %cond.true.i115 cond.true.i115: ; preds = %invoke.cont23.thread, %for.end - %cond.i10912911294 = phi ptr [ %call2.i112, %for.end ], [ %call.i110, %invoke.cont23.thread ] + %cond.i10912941297 = phi ptr [ %call2.i112, %for.end ], [ %call.i110, %invoke.cont23.thread ] %.sroa.speculated.i.i117 = call i64 @llvm.umin.i64(i64 %7, i64 18) br label %invoke.cont33 cond.false.i119: ; preds = %for.end %sub.i = add i64 %7, -18 %cmp.i.i.i120 = icmp ult i64 %7, 18 - br i1 %cmp.i.i.i120, label %if.then.i.i.i708.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i + br i1 %cmp.i.i.i120, label %if.then.i.i.i711.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i _ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i: ; preds = %cond.false.i119 %add.ptr.i.i121 = getelementptr inbounds i8, ptr %8, i64 %sub.i br label %invoke.cont33 invoke.cont33: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i, %cond.true.i115 - %cond.i10912911293 = phi ptr [ %cond.i10912911294, %cond.true.i115 ], [ %call2.i112, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i ] + %cond.i10912941296 = phi ptr [ %cond.i10912941297, %cond.true.i115 ], [ %call2.i112, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i ] %.sroa.speculated.i.pn.i = phi i64 [ %.sroa.speculated.i.i117, %cond.true.i115 ], [ 18, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i ] %.pn.i = phi ptr [ %8, %cond.true.i115 ], [ %add.ptr.i.i121, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i ] store i64 %.sroa.speculated.i.pn.i, ptr %ref.tmp25, align 8 store ptr %.pn.i, ptr %0, align 8 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) #28 - %11 = load i64, ptr %cond.i10912911293, align 8, !noalias !1015 + %11 = load i64, ptr %cond.i10912941296, align 8, !noalias !1015 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38, i64 noundef %11) to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %invoke.cont33 - invoke void @_ZN4absl15cordrep_testing12CordToStringEPNS_13cord_internal7CordRepERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %cond.i10912911293, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) + invoke void @_ZN4absl15cordrep_testing12CordToStringEPNS_13cord_internal7CordRepERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %cond.i10912941296, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp38) to label %invoke.cont39 unwind label %lpad.i lpad.i: ; preds = %invoke.cont.i, %invoke.cont33 @@ -57807,7 +57829,7 @@ invoke.cont54: ; preds = %cleanup.cont br i1 %tobool.i134.not, label %invoke.cont56, label %if.then.i if.then.i: ; preds = %invoke.cont54 - %refcount.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %cond.i10912911293, i64 0, i32 1 + %refcount.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %cond.i10912941296, i64 0, i32 1 %28 = atomicrmw add ptr %refcount.i.i, i32 2 monotonic, align 4 %29 = load ptr, ptr %_M_finish.i.i.i, align 8 %30 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 @@ -57815,7 +57837,7 @@ if.then.i: ; preds = %invoke.cont54 br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i138 if.then.i.i.i138: ; preds = %if.then.i - store ptr %cond.i10912911293, ptr %29, align 8 + store ptr %cond.i10912941296, ptr %29, align 8 %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %29, i64 1 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont56 @@ -57826,7 +57848,7 @@ if.else.i.i.i: ; preds = %if.then.i %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %31 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i139 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i.i139, label %if.then.i.i.i.i.i628.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i + br i1 %cmp.i.i.i.i.i139, label %if.then.i.i.i.i.i631.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 @@ -57847,24 +57869,25 @@ _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i142, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i - store ptr %cond.i10912911293, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + store ptr %cond.i10912941296, ptr %add.ptr.i.i.i.i, align 8 + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %31, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %31, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %31) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -57875,7 +57898,7 @@ invoke.cont56: ; preds = %_ZNSt6vectorIPN4abs %sub5.i147 = add i64 %7, -21 %cond.i148 = select i1 %tobool.not, i64 %sub5.i147, i64 18 %cmp.i.i.i149 = icmp ult i64 %7, %cond.i148 - br i1 %cmp.i.i.i149, label %if.then.i.i.i708.invoke, label %invoke.cont60 + br i1 %cmp.i.i.i149, label %if.then.i.i.i711.invoke, label %invoke.cont60 invoke.cont60: ; preds = %invoke.cont56 %sub.i.i151 = sub i64 %7, %cond.i148 @@ -57884,11 +57907,11 @@ invoke.cont60: ; preds = %invoke.cont56 br i1 %tobool.not, label %cond.false.i160, label %cond.true.i162 cond.true.i162: ; preds = %invoke.cont60 - %call.i164 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef nonnull %cond.i10912911293, i64 %.sroa.speculated.i.i152, ptr %add.ptr.i.i154, i64 noundef 0) + %call.i164 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef nonnull %cond.i10912941296, i64 %.sroa.speculated.i.i152, ptr %add.ptr.i.i154, i64 noundef 0) to label %invoke.cont68 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit cond.false.i160: ; preds = %invoke.cont60 - %call2.i166 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef nonnull %cond.i10912911293, i64 %.sroa.speculated.i.i152, ptr %add.ptr.i.i154, i64 noundef 0) + %call2.i166 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef nonnull %cond.i10912941296, i64 %.sroa.speculated.i.i152, ptr %add.ptr.i.i154, i64 noundef 0) to label %invoke.cont68 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit invoke.cont68: ; preds = %cond.true.i162, %cond.false.i160 @@ -57994,7 +58017,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP invoke.cont99: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191, %cleanup.cont88.critedge store ptr null, ptr %message_.i189, align 8 - store ptr %cond.i10912911293, ptr %ref.tmp91, align 8 + store ptr %cond.i10912941296, ptr %ref.tmp91, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar90, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp91, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont104 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit @@ -58103,7 +58126,7 @@ cond.true.i220: ; preds = %cleanup.cont123 cond.false.i228: ; preds = %cleanup.cont123 %cmp.i.i.i231 = icmp ult i64 %7, 21 - br i1 %cmp.i.i.i231, label %if.then.i.i.i708.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i232 + br i1 %cmp.i.i.i231, label %if.then.i.i.i711.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i232 _ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i232: ; preds = %cond.false.i228 %add.ptr.i.i234 = getelementptr inbounds i8, ptr %8, i64 %sub5.i147 @@ -58238,13 +58261,13 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP cleanup.cont163: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i266, %cleanup.cont163.critedge store ptr null, ptr %message_.i264, align 8 - %tree.11054 = load ptr, ptr %result, align 8 + %tree.11057 = load ptr, ptr %result, align 8 br label %for.body168 for.body168: ; preds = %cleanup.cont163, %cleanup.cont259 - %tree.11057 = phi ptr [ %tree.11054, %cleanup.cont163 ], [ %tree.1, %cleanup.cont259 ] - %i165.01056 = phi i64 [ 7, %cleanup.cont163 ], [ %inc262, %cleanup.cont259 ] - %consumer.sroa.34.11055 = phi i64 [ 21, %cleanup.cont163 ], [ %add.i314, %cleanup.cont259 ] + %tree.11060 = phi ptr [ %tree.11057, %cleanup.cont163 ], [ %tree.1, %cleanup.cont259 ] + %i165.01059 = phi i64 [ 7, %cleanup.cont163 ], [ %inc262, %cleanup.cont259 ] + %consumer.sroa.34.11058 = phi i64 [ 21, %cleanup.cont163 ], [ %add.i315, %cleanup.cont259 ] %call.i270 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont169 unwind label %lpad9.loopexit.split-lp.loopexit @@ -58255,9 +58278,9 @@ invoke.cont169: ; preds = %for.body168 br i1 %tobool.i268.not, label %invoke.cont171, label %if.then.i273 if.then.i273: ; preds = %invoke.cont169 - %cmp.i.i274 = icmp ne ptr %tree.11057, null + %cmp.i.i274 = icmp ne ptr %tree.11060, null call void @llvm.assume(i1 %cmp.i.i274) - %refcount.i.i275 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree.11057, i64 0, i32 1 + %refcount.i.i275 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree.11060, i64 0, i32 1 %74 = atomicrmw add ptr %refcount.i.i275, i32 2 monotonic, align 4 %75 = load ptr, ptr %_M_finish.i.i.i, align 8 %76 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 @@ -58265,7 +58288,7 @@ if.then.i273: ; preds = %invoke.cont169 br i1 %cmp.not.i.i.i278, label %if.else.i.i.i281, label %if.then.i.i.i279 if.then.i.i.i279: ; preds = %if.then.i273 - store ptr %tree.11057, ptr %75, align 8 + store ptr %tree.11060, ptr %75, align 8 %incdec.ptr.i.i.i280 = getelementptr inbounds ptr, ptr %75, i64 1 store ptr %incdec.ptr.i.i.i280, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont171 @@ -58276,7 +58299,7 @@ if.else.i.i.i281: ; preds = %if.then.i273 %sub.ptr.rhs.cast.i.i.i.i.i.i283 = ptrtoint ptr %77 to i64 %sub.ptr.sub.i.i.i.i.i.i284 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i282, %sub.ptr.rhs.cast.i.i.i.i.i.i283 %cmp.i.i.i.i.i285 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i284, 9223372036854775800 - br i1 %cmp.i.i.i.i.i285, label %if.then.i.i.i.i.i628.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i286 + br i1 %cmp.i.i.i.i.i285, label %if.then.i.i.i.i.i631.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i286 _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i286: ; preds = %if.else.i.i.i281 %sub.ptr.div.i.i.i.i.i.i287 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i284, 3 @@ -58291,77 +58314,78 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i295: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i286 %mul.i.i.i.i.i.i.i296 = shl nuw nsw i64 %cond.i.i.i.i.i293, 3 - %call5.i.i.i.i.i.i.i311 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i296) #30 + %call5.i.i.i.i.i.i.i312 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i296) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i297 unwind label %lpad9.loopexit.split-lp.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i297: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i295, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i286 - %cond.i10.i.i.i.i298 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i286 ], [ %call5.i.i.i.i.i.i.i311, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i295 ] + %cond.i10.i.i.i.i298 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i286 ], [ %call5.i.i.i.i.i.i.i312, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i295 ] %add.ptr.i.i.i.i299 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i298, i64 %sub.ptr.div.i.i.i.i.i.i287 - store ptr %tree.11057, ptr %add.ptr.i.i.i.i299, align 8 - %cmp.i.i.i11.i.i.i.i300 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i287, 0 - br i1 %cmp.i.i.i11.i.i.i.i300, label %if.then.i.i.i12.i.i.i.i307, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i301 + store ptr %tree.11060, ptr %add.ptr.i.i.i.i299, align 8 + %cmp.i.i.i11.i.i.i.i300 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i284, 0 + br i1 %cmp.i.i.i11.i.i.i.i300, label %if.then.i.i.i12.i.i.i.i308, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i301 -if.then.i.i.i12.i.i.i.i307: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i297 +if.then.i.i.i12.i.i.i.i308: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i297 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i298, ptr align 8 %77, i64 %sub.ptr.sub.i.i.i.i.i.i284, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i301 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i301 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i301: ; preds = %if.then.i.i.i12.i.i.i.i307, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i297 - %incdec.ptr.i.i.i.i302 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i299, i64 1 - %tobool.not.i.i.i.i.i303 = icmp eq ptr %77, null - br i1 %tobool.not.i.i.i.i.i303, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i305, label %if.then.i21.i.i.i.i304 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i301: ; preds = %if.then.i.i.i12.i.i.i.i308, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i297 + %add.ptr.i.i.i.i.i.i.i302 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i298, i64 %sub.ptr.sub.i.i.i.i.i.i284 + %incdec.ptr.i.i.i.i303 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i302, i64 1 + %tobool.not.i.i.i.i.i304 = icmp eq ptr %77, null + br i1 %tobool.not.i.i.i.i.i304, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i306, label %if.then.i20.i.i.i.i305 -if.then.i21.i.i.i.i304: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i301 +if.then.i20.i.i.i.i305: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i301 call void @_ZdlPv(ptr noundef nonnull %77) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i305 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i306 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i305: ; preds = %if.then.i21.i.i.i.i304, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i301 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i306: ; preds = %if.then.i20.i.i.i.i305, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i301 store ptr %cond.i10.i.i.i.i298, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i302, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i306 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i298, i64 %cond.i.i.i.i.i293 - store ptr %add.ptr19.i.i.i.i306, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i303, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i307 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i298, i64 %cond.i.i.i.i.i293 + store ptr %add.ptr19.i.i.i.i307, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont171 -invoke.cont171: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i305, %if.then.i.i.i279, %invoke.cont169 - %add.i314 = add nuw nsw i64 %consumer.sroa.34.11055, 3 - %sub5.i317 = sub i64 %7, %add.i314 - %cond.i318 = select i1 %tobool.not, i64 %sub5.i317, i64 %consumer.sroa.34.11055 - %cmp.i.i.i319 = icmp ult i64 %7, %cond.i318 - br i1 %cmp.i.i.i319, label %if.then.i.i.i708.invoke, label %invoke.cont175 +invoke.cont171: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i306, %if.then.i.i.i279, %invoke.cont169 + %add.i315 = add nuw nsw i64 %consumer.sroa.34.11058, 3 + %sub5.i318 = sub i64 %7, %add.i315 + %cond.i319 = select i1 %tobool.not, i64 %sub5.i318, i64 %consumer.sroa.34.11058 + %cmp.i.i.i320 = icmp ult i64 %7, %cond.i319 + br i1 %cmp.i.i.i320, label %if.then.i.i.i711.invoke, label %invoke.cont175 invoke.cont175: ; preds = %invoke.cont171 - %sub.i.i321 = sub i64 %7, %cond.i318 - %.sroa.speculated.i.i322 = call i64 @llvm.umin.i64(i64 %sub.i.i321, i64 3) - %add.ptr.i.i324 = getelementptr inbounds i8, ptr %8, i64 %cond.i318 - br i1 %tobool.not, label %cond.false.i330, label %cond.true.i332 + %sub.i.i322 = sub i64 %7, %cond.i319 + %.sroa.speculated.i.i323 = call i64 @llvm.umin.i64(i64 %sub.i.i322, i64 3) + %add.ptr.i.i325 = getelementptr inbounds i8, ptr %8, i64 %cond.i319 + br i1 %tobool.not, label %cond.false.i331, label %cond.true.i333 -cond.true.i332: ; preds = %invoke.cont175 - %call.i334 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.11057, i64 %.sroa.speculated.i.i322, ptr %add.ptr.i.i324, i64 noundef 0) +cond.true.i333: ; preds = %invoke.cont175 + %call.i335 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.11060, i64 %.sroa.speculated.i.i323, ptr %add.ptr.i.i325, i64 noundef 0) to label %invoke.cont177 unwind label %lpad9.loopexit.split-lp.loopexit -cond.false.i330: ; preds = %invoke.cont175 - %call2.i336 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.11057, i64 %.sroa.speculated.i.i322, ptr %add.ptr.i.i324, i64 noundef 0) +cond.false.i331: ; preds = %invoke.cont175 + %call2.i337 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.11060, i64 %.sroa.speculated.i.i323, ptr %add.ptr.i.i325, i64 noundef 0) to label %invoke.cont177 unwind label %lpad9.loopexit.split-lp.loopexit -invoke.cont177: ; preds = %cond.true.i332, %cond.false.i330 - %cond.i331 = phi ptr [ %call.i334, %cond.true.i332 ], [ %call2.i336, %cond.false.i330 ] - store ptr %cond.i331, ptr %result, align 8 - %call.i340 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() +invoke.cont177: ; preds = %cond.true.i333, %cond.false.i331 + %cond.i332 = phi ptr [ %call.i335, %cond.true.i333 ], [ %call2.i337, %cond.false.i331 ] + store ptr %cond.i332, ptr %result, align 8 + %call.i341 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont199 unwind label %lpad9.loopexit.split-lp.loopexit invoke.cont199: ; preds = %invoke.cont177 - %78 = load i8, ptr %call.i340, align 1 + %78 = load i8, ptr %call.i341, align 1 %79 = and i8 %78, 1 store i8 %79, ptr %ref.tmp180, align 8 - store ptr %tree.11057, ptr %agg.tmp181342.sroa.5.0.ref.tmp180.sroa_idx, align 8 - store ptr %tree.11057, ptr %agg.tmp181342.sroa.6.0.ref.tmp180.sroa_idx, align 8 + store ptr %tree.11060, ptr %agg.tmp181343.sroa.5.0.ref.tmp180.sroa_idx, align 8 + store ptr %tree.11060, ptr %agg.tmp181343.sroa.6.0.ref.tmp180.sroa_idx, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ConditionalMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEENS0_9EqMatcherIS7_EEEEEclIS7_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar179, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp180, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont200 unwind label %lpad9.loopexit.split-lp.loopexit invoke.cont200: ; preds = %invoke.cont199 %80 = load i8, ptr %gtest_ar179, align 8 %81 = and i8 %80, 1 - %tobool.i343.not = icmp eq i8 %81, 0 - br i1 %tobool.i343.not, label %if.else203, label %cleanup.cont219.critedge + %tobool.i344.not = icmp eq i8 %81, 0 + br i1 %tobool.i344.not, label %if.else203, label %cleanup.cont219.critedge ehcleanup164: ; preds = %_ZN7testing7MessageD2Ev.exit263, %lpad149 %.pn60.pn = phi { ptr, i32 } [ %.pn60, %_ZN7testing7MessageD2Ev.exit263 ], [ %66, %lpad149 ] @@ -58373,17 +58397,17 @@ if.else203: ; preds = %invoke.cont200 to label %invoke.cont206 unwind label %lpad205 invoke.cont206: ; preds = %if.else203 - %82 = load ptr, ptr %message_.i364, align 8 - %cmp.i.i.not.i.i345 = icmp eq ptr %82, null - br i1 %cmp.i.i.not.i.i345, label %invoke.cont209, label %cond.true.i.i346 + %82 = load ptr, ptr %message_.i365, align 8 + %cmp.i.i.not.i.i346 = icmp eq ptr %82, null + br i1 %cmp.i.i.not.i.i346, label %invoke.cont209, label %cond.true.i.i347 -cond.true.i.i346: ; preds = %invoke.cont206 - %call4.i.i347 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %82) #28 +cond.true.i.i347: ; preds = %invoke.cont206 + %call4.i.i348 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %82) #28 br label %invoke.cont209 -invoke.cont209: ; preds = %cond.true.i.i346, %invoke.cont206 - %cond.i.i348 = phi ptr [ %call4.i.i347, %cond.true.i.i346 ], [ @.str.120, %invoke.cont206 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp207, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 961, ptr noundef %cond.i.i348) +invoke.cont209: ; preds = %cond.true.i.i347, %invoke.cont206 + %cond.i.i349 = phi ptr [ %call4.i.i348, %cond.true.i.i347 ], [ @.str.120, %invoke.cont206 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp207, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 961, ptr noundef %cond.i.i349) to label %invoke.cont211 unwind label %lpad208 invoke.cont211: ; preds = %invoke.cont209 @@ -58393,21 +58417,21 @@ invoke.cont211: ; preds = %invoke.cont209 invoke.cont213: ; preds = %invoke.cont211 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp207) #28 %83 = load ptr, ptr %ref.tmp204, align 8 - %cmp.not.i.i350 = icmp eq ptr %83, null - br i1 %cmp.not.i.i350, label %_ZN7testing7MessageD2Ev.exit354, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351 + %cmp.not.i.i351 = icmp eq ptr %83, null + br i1 %cmp.not.i.i351, label %_ZN7testing7MessageD2Ev.exit355, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i352 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351: ; preds = %invoke.cont213 - %vtable.i.i.i352 = load ptr, ptr %83, align 8 - %vfn.i.i.i353 = getelementptr inbounds ptr, ptr %vtable.i.i.i352, i64 1 - %84 = load ptr, ptr %vfn.i.i.i353, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i352: ; preds = %invoke.cont213 + %vtable.i.i.i353 = load ptr, ptr %83, align 8 + %vfn.i.i.i354 = getelementptr inbounds ptr, ptr %vtable.i.i.i353, i64 1 + %84 = load ptr, ptr %vfn.i.i.i354, align 8 call void %84(ptr noundef nonnull align 8 dereferenceable(128) %83) #28 - br label %_ZN7testing7MessageD2Ev.exit354 + br label %_ZN7testing7MessageD2Ev.exit355 -_ZN7testing7MessageD2Ev.exit354: ; preds = %invoke.cont213, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351 +_ZN7testing7MessageD2Ev.exit355: ; preds = %invoke.cont213, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i352 store ptr null, ptr %ref.tmp204, align 8 - %85 = load ptr, ptr %message_.i364, align 8 - %cmp.not.i.i356 = icmp eq ptr %85, null - br i1 %cmp.not.i.i356, label %cleanup483.critedge, label %cleanup483.critedge.sink.split + %85 = load ptr, ptr %message_.i365, align 8 + %cmp.not.i.i357 = icmp eq ptr %85, null + br i1 %cmp.not.i.i357, label %cleanup483.critedge, label %cleanup483.critedge.sink.split lpad205: ; preds = %if.else203 %86 = landingpad { ptr, i32 } @@ -58428,68 +58452,68 @@ lpad212: ; preds = %invoke.cont211 ehcleanup215: ; preds = %lpad212, %lpad208 %.pn78 = phi { ptr, i32 } [ %88, %lpad212 ], [ %87, %lpad208 ] %89 = load ptr, ptr %ref.tmp204, align 8 - %cmp.not.i.i359 = icmp eq ptr %89, null - br i1 %cmp.not.i.i359, label %_ZN7testing7MessageD2Ev.exit363, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i360 + %cmp.not.i.i360 = icmp eq ptr %89, null + br i1 %cmp.not.i.i360, label %_ZN7testing7MessageD2Ev.exit364, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i361 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i360: ; preds = %ehcleanup215 - %vtable.i.i.i361 = load ptr, ptr %89, align 8 - %vfn.i.i.i362 = getelementptr inbounds ptr, ptr %vtable.i.i.i361, i64 1 - %90 = load ptr, ptr %vfn.i.i.i362, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i361: ; preds = %ehcleanup215 + %vtable.i.i.i362 = load ptr, ptr %89, align 8 + %vfn.i.i.i363 = getelementptr inbounds ptr, ptr %vtable.i.i.i362, i64 1 + %90 = load ptr, ptr %vfn.i.i.i363, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #28 - br label %_ZN7testing7MessageD2Ev.exit363 + br label %_ZN7testing7MessageD2Ev.exit364 -_ZN7testing7MessageD2Ev.exit363: ; preds = %ehcleanup215, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i360 +_ZN7testing7MessageD2Ev.exit364: ; preds = %ehcleanup215, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i361 store ptr null, ptr %ref.tmp204, align 8 br label %ehcleanup220 cleanup.cont219.critedge: ; preds = %invoke.cont200 - %91 = load ptr, ptr %message_.i364, align 8 - %cmp.not.i.i365 = icmp eq ptr %91, null - br i1 %cmp.not.i.i365, label %cleanup.cont219, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i366 + %91 = load ptr, ptr %message_.i365, align 8 + %cmp.not.i.i366 = icmp eq ptr %91, null + br i1 %cmp.not.i.i366, label %cleanup.cont219, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i367 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i366: ; preds = %cleanup.cont219.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i367: ; preds = %cleanup.cont219.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #28 call void @_ZdlPv(ptr noundef nonnull %91) #31 br label %cleanup.cont219 -cleanup.cont219: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i366, %cleanup.cont219.critedge - store ptr null, ptr %message_.i364, align 8 - br i1 %tobool.not, label %cond.false.i378, label %cond.true.i370 +cleanup.cont219: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i367, %cleanup.cont219.critedge + store ptr null, ptr %message_.i365, align 8 + br i1 %tobool.not, label %cond.false.i379, label %cond.true.i371 -cond.true.i370: ; preds = %cleanup.cont219 - %.sroa.speculated.i.i372 = call i64 @llvm.umin.i64(i64 %7, i64 %add.i314) +cond.true.i371: ; preds = %cleanup.cont219 + %.sroa.speculated.i.i373 = call i64 @llvm.umin.i64(i64 %7, i64 %add.i315) br label %invoke.cont231 -cond.false.i378: ; preds = %cleanup.cont219 - %cmp.i.i.i381 = icmp ult i64 %7, %add.i314 - br i1 %cmp.i.i.i381, label %if.then.i.i.i708.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i382 +cond.false.i379: ; preds = %cleanup.cont219 + %cmp.i.i.i382 = icmp ult i64 %7, %add.i315 + br i1 %cmp.i.i.i382, label %if.then.i.i.i711.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i383 -_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i382: ; preds = %cond.false.i378 - %add.ptr.i.i384 = getelementptr inbounds i8, ptr %8, i64 %sub5.i317 +_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i383: ; preds = %cond.false.i379 + %add.ptr.i.i385 = getelementptr inbounds i8, ptr %8, i64 %sub5.i318 br label %invoke.cont231 -invoke.cont231: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i382, %cond.true.i370 - %.sroa.speculated.i.pn.i374 = phi i64 [ %.sroa.speculated.i.i372, %cond.true.i370 ], [ %add.i314, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i382 ] - %.pn.i375 = phi ptr [ %8, %cond.true.i370 ], [ %add.ptr.i.i384, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i382 ] - store i64 %.sroa.speculated.i.pn.i374, ptr %ref.tmp222, align 8 - store ptr %.pn.i375, ptr %2, align 8 +invoke.cont231: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i383, %cond.true.i371 + %.sroa.speculated.i.pn.i375 = phi i64 [ %.sroa.speculated.i.i373, %cond.true.i371 ], [ %add.i315, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i383 ] + %.pn.i376 = phi ptr [ %8, %cond.true.i371 ], [ %add.ptr.i.i385, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i383 ] + store i64 %.sroa.speculated.i.pn.i375, ptr %ref.tmp222, align 8 + store ptr %.pn.i376, ptr %2, align 8 %92 = load ptr, ptr %result, align 8 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp236) #28 %93 = load i64, ptr %92, align 8, !noalias !1021 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp236, i64 noundef %93) - to label %invoke.cont.i389 unwind label %lpad.i388 + to label %invoke.cont.i390 unwind label %lpad.i389 -invoke.cont.i389: ; preds = %invoke.cont231 +invoke.cont.i390: ; preds = %invoke.cont231 invoke void @_ZN4absl15cordrep_testing12CordToStringEPNS_13cord_internal7CordRepERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %92, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp236) - to label %invoke.cont237 unwind label %lpad.i388 + to label %invoke.cont237 unwind label %lpad.i389 -lpad.i388: ; preds = %invoke.cont.i389, %invoke.cont231 +lpad.i389: ; preds = %invoke.cont.i390, %invoke.cont231 %94 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp236) #28 br label %ehcleanup476 -invoke.cont237: ; preds = %invoke.cont.i389 +invoke.cont237: ; preds = %invoke.cont.i390 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherISt17basic_string_viewIcSt11char_traitsIcEEEEEclINSt7__cxx1112basic_stringIcS5_SaIcEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar221, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp222, ptr noundef nonnull @.str.248, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp236) to label %invoke.cont239 unwind label %lpad238 @@ -58497,11 +58521,11 @@ invoke.cont239: ; preds = %invoke.cont237 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp236) #28 %95 = load i8, ptr %gtest_ar221, align 8 %96 = and i8 %95, 1 - %tobool.i393.not = icmp eq i8 %96, 0 - br i1 %tobool.i393.not, label %if.else243, label %cleanup.cont259.critedge + %tobool.i394.not = icmp eq i8 %96, 0 + br i1 %tobool.i394.not, label %if.else243, label %cleanup.cont259.critedge -ehcleanup220: ; preds = %_ZN7testing7MessageD2Ev.exit363, %lpad205 - %.pn78.pn = phi { ptr, i32 } [ %.pn78, %_ZN7testing7MessageD2Ev.exit363 ], [ %86, %lpad205 ] +ehcleanup220: ; preds = %_ZN7testing7MessageD2Ev.exit364, %lpad205 + %.pn78.pn = phi { ptr, i32 } [ %.pn78, %_ZN7testing7MessageD2Ev.exit364 ], [ %86, %lpad205 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar179) #28 br label %ehcleanup476 @@ -58516,17 +58540,17 @@ if.else243: ; preds = %invoke.cont239 to label %invoke.cont246 unwind label %lpad245 invoke.cont246: ; preds = %if.else243 - %98 = load ptr, ptr %message_.i414, align 8 - %cmp.i.i.not.i.i395 = icmp eq ptr %98, null - br i1 %cmp.i.i.not.i.i395, label %invoke.cont249, label %cond.true.i.i396 + %98 = load ptr, ptr %message_.i415, align 8 + %cmp.i.i.not.i.i396 = icmp eq ptr %98, null + br i1 %cmp.i.i.not.i.i396, label %invoke.cont249, label %cond.true.i.i397 -cond.true.i.i396: ; preds = %invoke.cont246 - %call4.i.i397 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %98) #28 +cond.true.i.i397: ; preds = %invoke.cont246 + %call4.i.i398 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %98) #28 br label %invoke.cont249 -invoke.cont249: ; preds = %cond.true.i.i396, %invoke.cont246 - %cond.i.i398 = phi ptr [ %call4.i.i397, %cond.true.i.i396 ], [ @.str.120, %invoke.cont246 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp247, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 962, ptr noundef %cond.i.i398) +invoke.cont249: ; preds = %cond.true.i.i397, %invoke.cont246 + %cond.i.i399 = phi ptr [ %call4.i.i398, %cond.true.i.i397 ], [ @.str.120, %invoke.cont246 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp247, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 962, ptr noundef %cond.i.i399) to label %invoke.cont251 unwind label %lpad248 invoke.cont251: ; preds = %invoke.cont249 @@ -58536,21 +58560,21 @@ invoke.cont251: ; preds = %invoke.cont249 invoke.cont253: ; preds = %invoke.cont251 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp247) #28 %99 = load ptr, ptr %ref.tmp244, align 8 - %cmp.not.i.i400 = icmp eq ptr %99, null - br i1 %cmp.not.i.i400, label %_ZN7testing7MessageD2Ev.exit404, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i401 + %cmp.not.i.i401 = icmp eq ptr %99, null + br i1 %cmp.not.i.i401, label %_ZN7testing7MessageD2Ev.exit405, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i401: ; preds = %invoke.cont253 - %vtable.i.i.i402 = load ptr, ptr %99, align 8 - %vfn.i.i.i403 = getelementptr inbounds ptr, ptr %vtable.i.i.i402, i64 1 - %100 = load ptr, ptr %vfn.i.i.i403, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402: ; preds = %invoke.cont253 + %vtable.i.i.i403 = load ptr, ptr %99, align 8 + %vfn.i.i.i404 = getelementptr inbounds ptr, ptr %vtable.i.i.i403, i64 1 + %100 = load ptr, ptr %vfn.i.i.i404, align 8 call void %100(ptr noundef nonnull align 8 dereferenceable(128) %99) #28 - br label %_ZN7testing7MessageD2Ev.exit404 + br label %_ZN7testing7MessageD2Ev.exit405 -_ZN7testing7MessageD2Ev.exit404: ; preds = %invoke.cont253, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i401 +_ZN7testing7MessageD2Ev.exit405: ; preds = %invoke.cont253, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402 store ptr null, ptr %ref.tmp244, align 8 - %101 = load ptr, ptr %message_.i414, align 8 - %cmp.not.i.i406 = icmp eq ptr %101, null - br i1 %cmp.not.i.i406, label %cleanup483.critedge, label %cleanup483.critedge.sink.split + %101 = load ptr, ptr %message_.i415, align 8 + %cmp.not.i.i407 = icmp eq ptr %101, null + br i1 %cmp.not.i.i407, label %cleanup483.critedge, label %cleanup483.critedge.sink.split lpad245: ; preds = %if.else243 %102 = landingpad { ptr, i32 } @@ -58571,167 +58595,168 @@ lpad252: ; preds = %invoke.cont251 ehcleanup255: ; preds = %lpad252, %lpad248 %.pn81 = phi { ptr, i32 } [ %104, %lpad252 ], [ %103, %lpad248 ] %105 = load ptr, ptr %ref.tmp244, align 8 - %cmp.not.i.i409 = icmp eq ptr %105, null - br i1 %cmp.not.i.i409, label %_ZN7testing7MessageD2Ev.exit413, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i410 + %cmp.not.i.i410 = icmp eq ptr %105, null + br i1 %cmp.not.i.i410, label %_ZN7testing7MessageD2Ev.exit414, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i411 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i410: ; preds = %ehcleanup255 - %vtable.i.i.i411 = load ptr, ptr %105, align 8 - %vfn.i.i.i412 = getelementptr inbounds ptr, ptr %vtable.i.i.i411, i64 1 - %106 = load ptr, ptr %vfn.i.i.i412, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i411: ; preds = %ehcleanup255 + %vtable.i.i.i412 = load ptr, ptr %105, align 8 + %vfn.i.i.i413 = getelementptr inbounds ptr, ptr %vtable.i.i.i412, i64 1 + %106 = load ptr, ptr %vfn.i.i.i413, align 8 call void %106(ptr noundef nonnull align 8 dereferenceable(128) %105) #28 - br label %_ZN7testing7MessageD2Ev.exit413 + br label %_ZN7testing7MessageD2Ev.exit414 -_ZN7testing7MessageD2Ev.exit413: ; preds = %ehcleanup255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i410 +_ZN7testing7MessageD2Ev.exit414: ; preds = %ehcleanup255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i411 store ptr null, ptr %ref.tmp244, align 8 br label %ehcleanup260 cleanup.cont259.critedge: ; preds = %invoke.cont239 - %107 = load ptr, ptr %message_.i414, align 8 - %cmp.not.i.i415 = icmp eq ptr %107, null - br i1 %cmp.not.i.i415, label %cleanup.cont259, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i416 + %107 = load ptr, ptr %message_.i415, align 8 + %cmp.not.i.i416 = icmp eq ptr %107, null + br i1 %cmp.not.i.i416, label %cleanup.cont259, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i416: ; preds = %cleanup.cont259.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417: ; preds = %cleanup.cont259.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #28 call void @_ZdlPv(ptr noundef nonnull %107) #31 br label %cleanup.cont259 -cleanup.cont259: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i416, %cleanup.cont259.critedge - store ptr null, ptr %message_.i414, align 8 - %inc262 = add nuw nsw i64 %i165.01056, 1 +cleanup.cont259: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417, %cleanup.cont259.critedge + store ptr null, ptr %message_.i415, align 8 + %inc262 = add nuw nsw i64 %i165.01059, 1 %tree.1 = load ptr, ptr %result, align 8 - %exitcond1286.not = icmp eq i64 %inc262, 36 - br i1 %exitcond1286.not, label %for.end263, label %for.body168, !llvm.loop !1024 + %exitcond1289.not = icmp eq i64 %inc262, 36 + br i1 %exitcond1289.not, label %for.end263, label %for.body168, !llvm.loop !1024 -ehcleanup260: ; preds = %_ZN7testing7MessageD2Ev.exit413, %lpad245 - %.pn81.pn = phi { ptr, i32 } [ %.pn81, %_ZN7testing7MessageD2Ev.exit413 ], [ %102, %lpad245 ] +ehcleanup260: ; preds = %_ZN7testing7MessageD2Ev.exit414, %lpad245 + %.pn81.pn = phi { ptr, i32 } [ %.pn81, %_ZN7testing7MessageD2Ev.exit414 ], [ %102, %lpad245 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar221) #28 br label %ehcleanup476 for.end263: ; preds = %cleanup.cont259 - %call.i420 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() + %call.i421 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont264 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit invoke.cont264: ; preds = %for.end263 - %108 = load i8, ptr %call.i420, align 1 + %108 = load i8, ptr %call.i421, align 1 %109 = and i8 %108, 1 - %tobool.i418.not = icmp eq i8 %109, 0 - br i1 %tobool.i418.not, label %invoke.cont266, label %if.then.i423 - -if.then.i423: ; preds = %invoke.cont264 - %cmp.i.i424 = icmp ne ptr %tree.1, null - call void @llvm.assume(i1 %cmp.i.i424) - %refcount.i.i425 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree.1, i64 0, i32 1 - %110 = atomicrmw add ptr %refcount.i.i425, i32 2 monotonic, align 4 + %tobool.i419.not = icmp eq i8 %109, 0 + br i1 %tobool.i419.not, label %invoke.cont266, label %if.then.i424 + +if.then.i424: ; preds = %invoke.cont264 + %cmp.i.i425 = icmp ne ptr %tree.1, null + call void @llvm.assume(i1 %cmp.i.i425) + %refcount.i.i426 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree.1, i64 0, i32 1 + %110 = atomicrmw add ptr %refcount.i.i426, i32 2 monotonic, align 4 %111 = load ptr, ptr %_M_finish.i.i.i, align 8 %112 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 - %cmp.not.i.i.i428 = icmp eq ptr %111, %112 - br i1 %cmp.not.i.i.i428, label %if.else.i.i.i431, label %if.then.i.i.i429 + %cmp.not.i.i.i429 = icmp eq ptr %111, %112 + br i1 %cmp.not.i.i.i429, label %if.else.i.i.i432, label %if.then.i.i.i430 -if.then.i.i.i429: ; preds = %if.then.i423 +if.then.i.i.i430: ; preds = %if.then.i424 store ptr %tree.1, ptr %111, align 8 - %incdec.ptr.i.i.i430 = getelementptr inbounds ptr, ptr %111, i64 1 - store ptr %incdec.ptr.i.i.i430, ptr %_M_finish.i.i.i, align 8 + %incdec.ptr.i.i.i431 = getelementptr inbounds ptr, ptr %111, i64 1 + store ptr %incdec.ptr.i.i.i431, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont266 -if.else.i.i.i431: ; preds = %if.then.i423 +if.else.i.i.i432: ; preds = %if.then.i424 %113 = load ptr, ptr %refs, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i432 = ptrtoint ptr %111 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i433 = ptrtoint ptr %113 to i64 - %sub.ptr.sub.i.i.i.i.i.i434 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i432, %sub.ptr.rhs.cast.i.i.i.i.i.i433 - %cmp.i.i.i.i.i435 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i434, 9223372036854775800 - br i1 %cmp.i.i.i.i.i435, label %if.then.i.i.i.i.i628.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i436 - -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i436: ; preds = %if.else.i.i.i431 - %sub.ptr.div.i.i.i.i.i.i437 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i434, 3 - %.sroa.speculated.i.i.i.i.i438 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i437, i64 1) - %add.i.i.i.i.i439 = add i64 %.sroa.speculated.i.i.i.i.i438, %sub.ptr.div.i.i.i.i.i.i437 - %cmp7.i.i.i.i.i440 = icmp ult i64 %add.i.i.i.i.i439, %sub.ptr.div.i.i.i.i.i.i437 - %cmp9.i.i.i.i.i441 = icmp ugt i64 %add.i.i.i.i.i439, 1152921504606846975 - %or.cond.i.i.i.i.i442 = or i1 %cmp7.i.i.i.i.i440, %cmp9.i.i.i.i.i441 - %cond.i.i.i.i.i443 = select i1 %or.cond.i.i.i.i.i442, i64 1152921504606846975, i64 %add.i.i.i.i.i439 - %cmp.not.i.i.i.i.i444 = icmp eq i64 %cond.i.i.i.i.i443, 0 - br i1 %cmp.not.i.i.i.i.i444, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i447, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i445 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i445: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i436 - %mul.i.i.i.i.i.i.i446 = shl nuw nsw i64 %cond.i.i.i.i.i443, 3 - %call5.i.i.i.i.i.i.i461 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i446) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i447 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i447: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i445, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i436 - %cond.i10.i.i.i.i448 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i436 ], [ %call5.i.i.i.i.i.i.i461, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i445 ] - %add.ptr.i.i.i.i449 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i448, i64 %sub.ptr.div.i.i.i.i.i.i437 - store ptr %tree.1, ptr %add.ptr.i.i.i.i449, align 8 - %cmp.i.i.i11.i.i.i.i450 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i437, 0 - br i1 %cmp.i.i.i11.i.i.i.i450, label %if.then.i.i.i12.i.i.i.i457, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i451 - -if.then.i.i.i12.i.i.i.i457: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i447 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i448, ptr align 8 %113, i64 %sub.ptr.sub.i.i.i.i.i.i434, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i451 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i451: ; preds = %if.then.i.i.i12.i.i.i.i457, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i447 - %incdec.ptr.i.i.i.i452 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i449, i64 1 - %tobool.not.i.i.i.i.i453 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i453, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i455, label %if.then.i21.i.i.i.i454 - -if.then.i21.i.i.i.i454: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i451 + %sub.ptr.lhs.cast.i.i.i.i.i.i433 = ptrtoint ptr %111 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i434 = ptrtoint ptr %113 to i64 + %sub.ptr.sub.i.i.i.i.i.i435 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i433, %sub.ptr.rhs.cast.i.i.i.i.i.i434 + %cmp.i.i.i.i.i436 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i435, 9223372036854775800 + br i1 %cmp.i.i.i.i.i436, label %if.then.i.i.i.i.i631.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i437 + +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i437: ; preds = %if.else.i.i.i432 + %sub.ptr.div.i.i.i.i.i.i438 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i435, 3 + %.sroa.speculated.i.i.i.i.i439 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i438, i64 1) + %add.i.i.i.i.i440 = add i64 %.sroa.speculated.i.i.i.i.i439, %sub.ptr.div.i.i.i.i.i.i438 + %cmp7.i.i.i.i.i441 = icmp ult i64 %add.i.i.i.i.i440, %sub.ptr.div.i.i.i.i.i.i438 + %cmp9.i.i.i.i.i442 = icmp ugt i64 %add.i.i.i.i.i440, 1152921504606846975 + %or.cond.i.i.i.i.i443 = or i1 %cmp7.i.i.i.i.i441, %cmp9.i.i.i.i.i442 + %cond.i.i.i.i.i444 = select i1 %or.cond.i.i.i.i.i443, i64 1152921504606846975, i64 %add.i.i.i.i.i440 + %cmp.not.i.i.i.i.i445 = icmp eq i64 %cond.i.i.i.i.i444, 0 + br i1 %cmp.not.i.i.i.i.i445, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i448, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i446 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i446: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i437 + %mul.i.i.i.i.i.i.i447 = shl nuw nsw i64 %cond.i.i.i.i.i444, 3 + %call5.i.i.i.i.i.i.i463 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i447) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i448 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i448: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i446, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i437 + %cond.i10.i.i.i.i449 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i437 ], [ %call5.i.i.i.i.i.i.i463, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i446 ] + %add.ptr.i.i.i.i450 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i449, i64 %sub.ptr.div.i.i.i.i.i.i438 + store ptr %tree.1, ptr %add.ptr.i.i.i.i450, align 8 + %cmp.i.i.i11.i.i.i.i451 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i435, 0 + br i1 %cmp.i.i.i11.i.i.i.i451, label %if.then.i.i.i12.i.i.i.i459, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i452 + +if.then.i.i.i12.i.i.i.i459: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i448 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i449, ptr align 8 %113, i64 %sub.ptr.sub.i.i.i.i.i.i435, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i452 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i452: ; preds = %if.then.i.i.i12.i.i.i.i459, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i448 + %add.ptr.i.i.i.i.i.i.i453 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i449, i64 %sub.ptr.sub.i.i.i.i.i.i435 + %incdec.ptr.i.i.i.i454 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i453, i64 1 + %tobool.not.i.i.i.i.i455 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i455, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i457, label %if.then.i20.i.i.i.i456 + +if.then.i20.i.i.i.i456: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i452 call void @_ZdlPv(ptr noundef nonnull %113) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i455 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i457 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i455: ; preds = %if.then.i21.i.i.i.i454, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i451 - store ptr %cond.i10.i.i.i.i448, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i452, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i456 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i448, i64 %cond.i.i.i.i.i443 - store ptr %add.ptr19.i.i.i.i456, ptr %_M_end_of_storage.i.i.i, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i457: ; preds = %if.then.i20.i.i.i.i456, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i452 + store ptr %cond.i10.i.i.i.i449, ptr %refs, align 8 + store ptr %incdec.ptr.i.i.i.i454, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i458 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i449, i64 %cond.i.i.i.i.i444 + store ptr %add.ptr19.i.i.i.i458, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont266 -invoke.cont266: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i455, %if.then.i.i.i429, %invoke.cont264 - %sub5.i467 = add i64 %7, -111 - %cond.i468 = select i1 %tobool.not, i64 %sub5.i467, i64 108 - %cmp.i.i.i469 = icmp ult i64 %7, %cond.i468 - br i1 %cmp.i.i.i469, label %if.then.i.i.i708.invoke, label %invoke.cont270 +invoke.cont266: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i457, %if.then.i.i.i430, %invoke.cont264 + %sub5.i469 = add i64 %7, -111 + %cond.i470 = select i1 %tobool.not, i64 %sub5.i469, i64 108 + %cmp.i.i.i471 = icmp ult i64 %7, %cond.i470 + br i1 %cmp.i.i.i471, label %if.then.i.i.i711.invoke, label %invoke.cont270 invoke.cont270: ; preds = %invoke.cont266 - %sub.i.i471 = sub i64 %7, %cond.i468 - %.sroa.speculated.i.i472 = call i64 @llvm.umin.i64(i64 %sub.i.i471, i64 3) - %add.ptr.i.i474 = getelementptr inbounds i8, ptr %8, i64 %cond.i468 - br i1 %tobool.not, label %cond.false.i480, label %cond.true.i482 + %sub.i.i473 = sub i64 %7, %cond.i470 + %.sroa.speculated.i.i474 = call i64 @llvm.umin.i64(i64 %sub.i.i473, i64 3) + %add.ptr.i.i476 = getelementptr inbounds i8, ptr %8, i64 %cond.i470 + br i1 %tobool.not, label %cond.false.i482, label %cond.true.i484 -cond.true.i482: ; preds = %invoke.cont270 - %call.i484 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.1, i64 %.sroa.speculated.i.i472, ptr %add.ptr.i.i474, i64 noundef 0) +cond.true.i484: ; preds = %invoke.cont270 + %call.i486 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.1, i64 %.sroa.speculated.i.i474, ptr %add.ptr.i.i476, i64 noundef 0) to label %invoke.cont278 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -cond.false.i480: ; preds = %invoke.cont270 - %call2.i486 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.1, i64 %.sroa.speculated.i.i472, ptr %add.ptr.i.i474, i64 noundef 0) +cond.false.i482: ; preds = %invoke.cont270 + %call2.i488 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.1, i64 %.sroa.speculated.i.i474, ptr %add.ptr.i.i476, i64 noundef 0) to label %invoke.cont278 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -invoke.cont278: ; preds = %cond.true.i482, %cond.false.i480 - %cond.i481 = phi ptr [ %call.i484, %cond.true.i482 ], [ %call2.i486, %cond.false.i480 ] - store ptr %cond.i481, ptr %result, align 8 +invoke.cont278: ; preds = %cond.true.i484, %cond.false.i482 + %cond.i483 = phi ptr [ %call.i486, %cond.true.i484 ], [ %call2.i488, %cond.false.i482 ] + store ptr %cond.i483, ptr %result, align 8 invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_114IsNodeMatcherPIiEEEclIPNS3_12CordRepBtreeEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar274, i32 2, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont279 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit invoke.cont279: ; preds = %invoke.cont278 %114 = load i8, ptr %gtest_ar274, align 8 %115 = and i8 %114, 1 - %tobool.i488.not = icmp eq i8 %115, 0 - br i1 %tobool.i488.not, label %if.else282, label %cleanup.cont298.critedge + %tobool.i490.not = icmp eq i8 %115, 0 + br i1 %tobool.i490.not, label %if.else282, label %cleanup.cont298.critedge if.else282: ; preds = %invoke.cont279 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp283) to label %invoke.cont285 unwind label %lpad284 invoke.cont285: ; preds = %if.else282 - %116 = load ptr, ptr %message_.i509, align 8 - %cmp.i.i.not.i.i490 = icmp eq ptr %116, null - br i1 %cmp.i.i.not.i.i490, label %invoke.cont288, label %cond.true.i.i491 + %116 = load ptr, ptr %message_.i511, align 8 + %cmp.i.i.not.i.i492 = icmp eq ptr %116, null + br i1 %cmp.i.i.not.i.i492, label %invoke.cont288, label %cond.true.i.i493 -cond.true.i.i491: ; preds = %invoke.cont285 - %call4.i.i492 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %116) #28 +cond.true.i.i493: ; preds = %invoke.cont285 + %call4.i.i494 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %116) #28 br label %invoke.cont288 -invoke.cont288: ; preds = %cond.true.i.i491, %invoke.cont285 - %cond.i.i493 = phi ptr [ %call4.i.i492, %cond.true.i.i491 ], [ @.str.120, %invoke.cont285 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp286, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 969, ptr noundef %cond.i.i493) +invoke.cont288: ; preds = %cond.true.i.i493, %invoke.cont285 + %cond.i.i495 = phi ptr [ %call4.i.i494, %cond.true.i.i493 ], [ @.str.120, %invoke.cont285 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp286, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 969, ptr noundef %cond.i.i495) to label %invoke.cont290 unwind label %lpad287 invoke.cont290: ; preds = %invoke.cont288 @@ -58741,21 +58766,21 @@ invoke.cont290: ; preds = %invoke.cont288 invoke.cont292: ; preds = %invoke.cont290 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp286) #28 %117 = load ptr, ptr %ref.tmp283, align 8 - %cmp.not.i.i495 = icmp eq ptr %117, null - br i1 %cmp.not.i.i495, label %_ZN7testing7MessageD2Ev.exit499, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i496 + %cmp.not.i.i497 = icmp eq ptr %117, null + br i1 %cmp.not.i.i497, label %_ZN7testing7MessageD2Ev.exit501, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i496: ; preds = %invoke.cont292 - %vtable.i.i.i497 = load ptr, ptr %117, align 8 - %vfn.i.i.i498 = getelementptr inbounds ptr, ptr %vtable.i.i.i497, i64 1 - %118 = load ptr, ptr %vfn.i.i.i498, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498: ; preds = %invoke.cont292 + %vtable.i.i.i499 = load ptr, ptr %117, align 8 + %vfn.i.i.i500 = getelementptr inbounds ptr, ptr %vtable.i.i.i499, i64 1 + %118 = load ptr, ptr %vfn.i.i.i500, align 8 call void %118(ptr noundef nonnull align 8 dereferenceable(128) %117) #28 - br label %_ZN7testing7MessageD2Ev.exit499 + br label %_ZN7testing7MessageD2Ev.exit501 -_ZN7testing7MessageD2Ev.exit499: ; preds = %invoke.cont292, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i496 +_ZN7testing7MessageD2Ev.exit501: ; preds = %invoke.cont292, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498 store ptr null, ptr %ref.tmp283, align 8 - %119 = load ptr, ptr %message_.i509, align 8 - %cmp.not.i.i501 = icmp eq ptr %119, null - br i1 %cmp.not.i.i501, label %cleanup483.critedge, label %cleanup483.critedge.sink.split + %119 = load ptr, ptr %message_.i511, align 8 + %cmp.not.i.i503 = icmp eq ptr %119, null + br i1 %cmp.not.i.i503, label %cleanup483.critedge, label %cleanup483.critedge.sink.split lpad284: ; preds = %if.else282 %120 = landingpad { ptr, i32 } @@ -58776,32 +58801,32 @@ lpad291: ; preds = %invoke.cont290 ehcleanup294: ; preds = %lpad291, %lpad287 %.pn63 = phi { ptr, i32 } [ %122, %lpad291 ], [ %121, %lpad287 ] %123 = load ptr, ptr %ref.tmp283, align 8 - %cmp.not.i.i504 = icmp eq ptr %123, null - br i1 %cmp.not.i.i504, label %_ZN7testing7MessageD2Ev.exit508, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i505 + %cmp.not.i.i506 = icmp eq ptr %123, null + br i1 %cmp.not.i.i506, label %_ZN7testing7MessageD2Ev.exit510, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i507 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i505: ; preds = %ehcleanup294 - %vtable.i.i.i506 = load ptr, ptr %123, align 8 - %vfn.i.i.i507 = getelementptr inbounds ptr, ptr %vtable.i.i.i506, i64 1 - %124 = load ptr, ptr %vfn.i.i.i507, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i507: ; preds = %ehcleanup294 + %vtable.i.i.i508 = load ptr, ptr %123, align 8 + %vfn.i.i.i509 = getelementptr inbounds ptr, ptr %vtable.i.i.i508, i64 1 + %124 = load ptr, ptr %vfn.i.i.i509, align 8 call void %124(ptr noundef nonnull align 8 dereferenceable(128) %123) #28 - br label %_ZN7testing7MessageD2Ev.exit508 + br label %_ZN7testing7MessageD2Ev.exit510 -_ZN7testing7MessageD2Ev.exit508: ; preds = %ehcleanup294, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i505 +_ZN7testing7MessageD2Ev.exit510: ; preds = %ehcleanup294, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i507 store ptr null, ptr %ref.tmp283, align 8 br label %ehcleanup299 cleanup.cont298.critedge: ; preds = %invoke.cont279 - %125 = load ptr, ptr %message_.i509, align 8 - %cmp.not.i.i510 = icmp eq ptr %125, null - br i1 %cmp.not.i.i510, label %invoke.cont309, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i511 + %125 = load ptr, ptr %message_.i511, align 8 + %cmp.not.i.i512 = icmp eq ptr %125, null + br i1 %cmp.not.i.i512, label %invoke.cont309, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i513 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i511: ; preds = %cleanup.cont298.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i513: ; preds = %cleanup.cont298.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #28 call void @_ZdlPv(ptr noundef nonnull %125) #31 br label %invoke.cont309 -invoke.cont309: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i511, %cleanup.cont298.critedge - store ptr null, ptr %message_.i509, align 8 +invoke.cont309: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i513, %cleanup.cont298.critedge + store ptr null, ptr %message_.i511, align 8 store ptr %tree.1, ptr %ref.tmp301, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar300, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp301, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont314 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit @@ -58809,11 +58834,11 @@ invoke.cont309: ; preds = %_ZNKSt14default_del invoke.cont314: ; preds = %invoke.cont309 %126 = load i8, ptr %gtest_ar300, align 8 %127 = and i8 %126, 1 - %tobool.i513.not = icmp eq i8 %127, 0 - br i1 %tobool.i513.not, label %if.else317, label %cleanup.cont333.critedge + %tobool.i515.not = icmp eq i8 %127, 0 + br i1 %tobool.i515.not, label %if.else317, label %cleanup.cont333.critedge -ehcleanup299: ; preds = %_ZN7testing7MessageD2Ev.exit508, %lpad284 - %.pn63.pn = phi { ptr, i32 } [ %.pn63, %_ZN7testing7MessageD2Ev.exit508 ], [ %120, %lpad284 ] +ehcleanup299: ; preds = %_ZN7testing7MessageD2Ev.exit510, %lpad284 + %.pn63.pn = phi { ptr, i32 } [ %.pn63, %_ZN7testing7MessageD2Ev.exit510 ], [ %120, %lpad284 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar274) #28 br label %ehcleanup476 @@ -58822,17 +58847,17 @@ if.else317: ; preds = %invoke.cont314 to label %invoke.cont320 unwind label %lpad319 invoke.cont320: ; preds = %if.else317 - %128 = load ptr, ptr %message_.i534, align 8 - %cmp.i.i.not.i.i515 = icmp eq ptr %128, null - br i1 %cmp.i.i.not.i.i515, label %invoke.cont323, label %cond.true.i.i516 + %128 = load ptr, ptr %message_.i536, align 8 + %cmp.i.i.not.i.i517 = icmp eq ptr %128, null + br i1 %cmp.i.i.not.i.i517, label %invoke.cont323, label %cond.true.i.i518 -cond.true.i.i516: ; preds = %invoke.cont320 - %call4.i.i517 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %128) #28 +cond.true.i.i518: ; preds = %invoke.cont320 + %call4.i.i519 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %128) #28 br label %invoke.cont323 -invoke.cont323: ; preds = %cond.true.i.i516, %invoke.cont320 - %cond.i.i518 = phi ptr [ %call4.i.i517, %cond.true.i.i516 ], [ @.str.120, %invoke.cont320 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp321, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 970, ptr noundef %cond.i.i518) +invoke.cont323: ; preds = %cond.true.i.i518, %invoke.cont320 + %cond.i.i520 = phi ptr [ %call4.i.i519, %cond.true.i.i518 ], [ @.str.120, %invoke.cont320 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp321, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 970, ptr noundef %cond.i.i520) to label %invoke.cont325 unwind label %lpad322 invoke.cont325: ; preds = %invoke.cont323 @@ -58842,21 +58867,21 @@ invoke.cont325: ; preds = %invoke.cont323 invoke.cont327: ; preds = %invoke.cont325 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp321) #28 %129 = load ptr, ptr %ref.tmp318, align 8 - %cmp.not.i.i520 = icmp eq ptr %129, null - br i1 %cmp.not.i.i520, label %_ZN7testing7MessageD2Ev.exit524, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i521 + %cmp.not.i.i522 = icmp eq ptr %129, null + br i1 %cmp.not.i.i522, label %_ZN7testing7MessageD2Ev.exit526, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i523 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i521: ; preds = %invoke.cont327 - %vtable.i.i.i522 = load ptr, ptr %129, align 8 - %vfn.i.i.i523 = getelementptr inbounds ptr, ptr %vtable.i.i.i522, i64 1 - %130 = load ptr, ptr %vfn.i.i.i523, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i523: ; preds = %invoke.cont327 + %vtable.i.i.i524 = load ptr, ptr %129, align 8 + %vfn.i.i.i525 = getelementptr inbounds ptr, ptr %vtable.i.i.i524, i64 1 + %130 = load ptr, ptr %vfn.i.i.i525, align 8 call void %130(ptr noundef nonnull align 8 dereferenceable(128) %129) #28 - br label %_ZN7testing7MessageD2Ev.exit524 + br label %_ZN7testing7MessageD2Ev.exit526 -_ZN7testing7MessageD2Ev.exit524: ; preds = %invoke.cont327, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i521 +_ZN7testing7MessageD2Ev.exit526: ; preds = %invoke.cont327, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i523 store ptr null, ptr %ref.tmp318, align 8 - %131 = load ptr, ptr %message_.i534, align 8 - %cmp.not.i.i526 = icmp eq ptr %131, null - br i1 %cmp.not.i.i526, label %cleanup483.critedge, label %cleanup483.critedge.sink.split + %131 = load ptr, ptr %message_.i536, align 8 + %cmp.not.i.i528 = icmp eq ptr %131, null + br i1 %cmp.not.i.i528, label %cleanup483.critedge, label %cleanup483.critedge.sink.split lpad319: ; preds = %if.else317 %132 = landingpad { ptr, i32 } @@ -58877,68 +58902,68 @@ lpad326: ; preds = %invoke.cont325 ehcleanup329: ; preds = %lpad326, %lpad322 %.pn66 = phi { ptr, i32 } [ %134, %lpad326 ], [ %133, %lpad322 ] %135 = load ptr, ptr %ref.tmp318, align 8 - %cmp.not.i.i529 = icmp eq ptr %135, null - br i1 %cmp.not.i.i529, label %_ZN7testing7MessageD2Ev.exit533, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i530 + %cmp.not.i.i531 = icmp eq ptr %135, null + br i1 %cmp.not.i.i531, label %_ZN7testing7MessageD2Ev.exit535, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i532 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i530: ; preds = %ehcleanup329 - %vtable.i.i.i531 = load ptr, ptr %135, align 8 - %vfn.i.i.i532 = getelementptr inbounds ptr, ptr %vtable.i.i.i531, i64 1 - %136 = load ptr, ptr %vfn.i.i.i532, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i532: ; preds = %ehcleanup329 + %vtable.i.i.i533 = load ptr, ptr %135, align 8 + %vfn.i.i.i534 = getelementptr inbounds ptr, ptr %vtable.i.i.i533, i64 1 + %136 = load ptr, ptr %vfn.i.i.i534, align 8 call void %136(ptr noundef nonnull align 8 dereferenceable(128) %135) #28 - br label %_ZN7testing7MessageD2Ev.exit533 + br label %_ZN7testing7MessageD2Ev.exit535 -_ZN7testing7MessageD2Ev.exit533: ; preds = %ehcleanup329, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i530 +_ZN7testing7MessageD2Ev.exit535: ; preds = %ehcleanup329, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i532 store ptr null, ptr %ref.tmp318, align 8 br label %ehcleanup334 cleanup.cont333.critedge: ; preds = %invoke.cont314 - %137 = load ptr, ptr %message_.i534, align 8 - %cmp.not.i.i535 = icmp eq ptr %137, null - br i1 %cmp.not.i.i535, label %cleanup.cont333, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i536 + %137 = load ptr, ptr %message_.i536, align 8 + %cmp.not.i.i537 = icmp eq ptr %137, null + br i1 %cmp.not.i.i537, label %cleanup.cont333, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i538 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i536: ; preds = %cleanup.cont333.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i538: ; preds = %cleanup.cont333.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #28 call void @_ZdlPv(ptr noundef nonnull %137) #31 br label %cleanup.cont333 -cleanup.cont333: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i536, %cleanup.cont333.critedge - store ptr null, ptr %message_.i534, align 8 - br i1 %tobool.not, label %cond.false.i548, label %cond.true.i540 +cleanup.cont333: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i538, %cleanup.cont333.critedge + store ptr null, ptr %message_.i536, align 8 + br i1 %tobool.not, label %cond.false.i550, label %cond.true.i542 -cond.true.i540: ; preds = %cleanup.cont333 - %.sroa.speculated.i.i542 = call i64 @llvm.umin.i64(i64 %7, i64 111) +cond.true.i542: ; preds = %cleanup.cont333 + %.sroa.speculated.i.i544 = call i64 @llvm.umin.i64(i64 %7, i64 111) br label %invoke.cont345 -cond.false.i548: ; preds = %cleanup.cont333 - %cmp.i.i.i551 = icmp ult i64 %7, 111 - br i1 %cmp.i.i.i551, label %if.then.i.i.i708.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i552 +cond.false.i550: ; preds = %cleanup.cont333 + %cmp.i.i.i553 = icmp ult i64 %7, 111 + br i1 %cmp.i.i.i553, label %if.then.i.i.i711.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i554 -_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i552: ; preds = %cond.false.i548 - %add.ptr.i.i554 = getelementptr inbounds i8, ptr %8, i64 %sub5.i467 +_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i554: ; preds = %cond.false.i550 + %add.ptr.i.i556 = getelementptr inbounds i8, ptr %8, i64 %sub5.i469 br label %invoke.cont345 -invoke.cont345: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i552, %cond.true.i540 - %.sroa.speculated.i.pn.i544 = phi i64 [ %.sroa.speculated.i.i542, %cond.true.i540 ], [ 111, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i552 ] - %.pn.i545 = phi ptr [ %8, %cond.true.i540 ], [ %add.ptr.i.i554, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i552 ] - store i64 %.sroa.speculated.i.pn.i544, ptr %ref.tmp336, align 8 - store ptr %.pn.i545, ptr %3, align 8 +invoke.cont345: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i554, %cond.true.i542 + %.sroa.speculated.i.pn.i546 = phi i64 [ %.sroa.speculated.i.i544, %cond.true.i542 ], [ 111, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i554 ] + %.pn.i547 = phi ptr [ %8, %cond.true.i542 ], [ %add.ptr.i.i556, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i554 ] + store i64 %.sroa.speculated.i.pn.i546, ptr %ref.tmp336, align 8 + store ptr %.pn.i547, ptr %3, align 8 %138 = load ptr, ptr %result, align 8 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp350) #28 %139 = load i64, ptr %138, align 8, !noalias !1025 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp350, i64 noundef %139) - to label %invoke.cont.i559 unwind label %lpad.i558 + to label %invoke.cont.i561 unwind label %lpad.i560 -invoke.cont.i559: ; preds = %invoke.cont345 +invoke.cont.i561: ; preds = %invoke.cont345 invoke void @_ZN4absl15cordrep_testing12CordToStringEPNS_13cord_internal7CordRepERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %138, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp350) - to label %invoke.cont351 unwind label %lpad.i558 + to label %invoke.cont351 unwind label %lpad.i560 -lpad.i558: ; preds = %invoke.cont.i559, %invoke.cont345 +lpad.i560: ; preds = %invoke.cont.i561, %invoke.cont345 %140 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp350) #28 br label %ehcleanup476 -invoke.cont351: ; preds = %invoke.cont.i559 +invoke.cont351: ; preds = %invoke.cont.i561 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherISt17basic_string_viewIcSt11char_traitsIcEEEEEclINSt7__cxx1112basic_stringIcS5_SaIcEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar335, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp336, ptr noundef nonnull @.str.248, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp350) to label %invoke.cont353 unwind label %lpad352 @@ -58946,11 +58971,11 @@ invoke.cont353: ; preds = %invoke.cont351 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp350) #28 %141 = load i8, ptr %gtest_ar335, align 8 %142 = and i8 %141, 1 - %tobool.i563.not = icmp eq i8 %142, 0 - br i1 %tobool.i563.not, label %if.else357, label %cleanup.cont373.critedge + %tobool.i565.not = icmp eq i8 %142, 0 + br i1 %tobool.i565.not, label %if.else357, label %cleanup.cont373.critedge -ehcleanup334: ; preds = %_ZN7testing7MessageD2Ev.exit533, %lpad319 - %.pn66.pn = phi { ptr, i32 } [ %.pn66, %_ZN7testing7MessageD2Ev.exit533 ], [ %132, %lpad319 ] +ehcleanup334: ; preds = %_ZN7testing7MessageD2Ev.exit535, %lpad319 + %.pn66.pn = phi { ptr, i32 } [ %.pn66, %_ZN7testing7MessageD2Ev.exit535 ], [ %132, %lpad319 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar300) #28 br label %ehcleanup476 @@ -58965,17 +58990,17 @@ if.else357: ; preds = %invoke.cont353 to label %invoke.cont360 unwind label %lpad359 invoke.cont360: ; preds = %if.else357 - %144 = load ptr, ptr %message_.i584, align 8 - %cmp.i.i.not.i.i565 = icmp eq ptr %144, null - br i1 %cmp.i.i.not.i.i565, label %invoke.cont363, label %cond.true.i.i566 + %144 = load ptr, ptr %message_.i586, align 8 + %cmp.i.i.not.i.i567 = icmp eq ptr %144, null + br i1 %cmp.i.i.not.i.i567, label %invoke.cont363, label %cond.true.i.i568 -cond.true.i.i566: ; preds = %invoke.cont360 - %call4.i.i567 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %144) #28 +cond.true.i.i568: ; preds = %invoke.cont360 + %call4.i.i569 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %144) #28 br label %invoke.cont363 -invoke.cont363: ; preds = %cond.true.i.i566, %invoke.cont360 - %cond.i.i568 = phi ptr [ %call4.i.i567, %cond.true.i.i566 ], [ @.str.120, %invoke.cont360 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp361, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 971, ptr noundef %cond.i.i568) +invoke.cont363: ; preds = %cond.true.i.i568, %invoke.cont360 + %cond.i.i570 = phi ptr [ %call4.i.i569, %cond.true.i.i568 ], [ @.str.120, %invoke.cont360 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp361, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 971, ptr noundef %cond.i.i570) to label %invoke.cont365 unwind label %lpad362 invoke.cont365: ; preds = %invoke.cont363 @@ -58985,21 +59010,21 @@ invoke.cont365: ; preds = %invoke.cont363 invoke.cont367: ; preds = %invoke.cont365 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp361) #28 %145 = load ptr, ptr %ref.tmp358, align 8 - %cmp.not.i.i570 = icmp eq ptr %145, null - br i1 %cmp.not.i.i570, label %_ZN7testing7MessageD2Ev.exit574, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i571 + %cmp.not.i.i572 = icmp eq ptr %145, null + br i1 %cmp.not.i.i572, label %_ZN7testing7MessageD2Ev.exit576, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i571: ; preds = %invoke.cont367 - %vtable.i.i.i572 = load ptr, ptr %145, align 8 - %vfn.i.i.i573 = getelementptr inbounds ptr, ptr %vtable.i.i.i572, i64 1 - %146 = load ptr, ptr %vfn.i.i.i573, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573: ; preds = %invoke.cont367 + %vtable.i.i.i574 = load ptr, ptr %145, align 8 + %vfn.i.i.i575 = getelementptr inbounds ptr, ptr %vtable.i.i.i574, i64 1 + %146 = load ptr, ptr %vfn.i.i.i575, align 8 call void %146(ptr noundef nonnull align 8 dereferenceable(128) %145) #28 - br label %_ZN7testing7MessageD2Ev.exit574 + br label %_ZN7testing7MessageD2Ev.exit576 -_ZN7testing7MessageD2Ev.exit574: ; preds = %invoke.cont367, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i571 +_ZN7testing7MessageD2Ev.exit576: ; preds = %invoke.cont367, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573 store ptr null, ptr %ref.tmp358, align 8 - %147 = load ptr, ptr %message_.i584, align 8 - %cmp.not.i.i576 = icmp eq ptr %147, null - br i1 %cmp.not.i.i576, label %cleanup483.critedge, label %cleanup483.critedge.sink.split + %147 = load ptr, ptr %message_.i586, align 8 + %cmp.not.i.i578 = icmp eq ptr %147, null + br i1 %cmp.not.i.i578, label %cleanup483.critedge, label %cleanup483.critedge.sink.split lpad359: ; preds = %if.else357 %148 = landingpad { ptr, i32 } @@ -59020,166 +59045,167 @@ lpad366: ; preds = %invoke.cont365 ehcleanup369: ; preds = %lpad366, %lpad362 %.pn69 = phi { ptr, i32 } [ %150, %lpad366 ], [ %149, %lpad362 ] %151 = load ptr, ptr %ref.tmp358, align 8 - %cmp.not.i.i579 = icmp eq ptr %151, null - br i1 %cmp.not.i.i579, label %_ZN7testing7MessageD2Ev.exit583, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i580 + %cmp.not.i.i581 = icmp eq ptr %151, null + br i1 %cmp.not.i.i581, label %_ZN7testing7MessageD2Ev.exit585, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i582 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i580: ; preds = %ehcleanup369 - %vtable.i.i.i581 = load ptr, ptr %151, align 8 - %vfn.i.i.i582 = getelementptr inbounds ptr, ptr %vtable.i.i.i581, i64 1 - %152 = load ptr, ptr %vfn.i.i.i582, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i582: ; preds = %ehcleanup369 + %vtable.i.i.i583 = load ptr, ptr %151, align 8 + %vfn.i.i.i584 = getelementptr inbounds ptr, ptr %vtable.i.i.i583, i64 1 + %152 = load ptr, ptr %vfn.i.i.i584, align 8 call void %152(ptr noundef nonnull align 8 dereferenceable(128) %151) #28 - br label %_ZN7testing7MessageD2Ev.exit583 + br label %_ZN7testing7MessageD2Ev.exit585 -_ZN7testing7MessageD2Ev.exit583: ; preds = %ehcleanup369, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i580 +_ZN7testing7MessageD2Ev.exit585: ; preds = %ehcleanup369, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i582 store ptr null, ptr %ref.tmp358, align 8 br label %ehcleanup374 cleanup.cont373.critedge: ; preds = %invoke.cont353 - %153 = load ptr, ptr %message_.i584, align 8 - %cmp.not.i.i585 = icmp eq ptr %153, null - br i1 %cmp.not.i.i585, label %cleanup.cont373, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i586 + %153 = load ptr, ptr %message_.i586, align 8 + %cmp.not.i.i587 = icmp eq ptr %153, null + br i1 %cmp.not.i.i587, label %cleanup.cont373, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i588 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i586: ; preds = %cleanup.cont373.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i588: ; preds = %cleanup.cont373.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #28 call void @_ZdlPv(ptr noundef nonnull %153) #31 br label %cleanup.cont373 -cleanup.cont373: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i586, %cleanup.cont373.critedge - store ptr null, ptr %message_.i584, align 8 - %tree.21058 = load ptr, ptr %result, align 8 +cleanup.cont373: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i588, %cleanup.cont373.critedge + store ptr null, ptr %message_.i586, align 8 + %tree.21061 = load ptr, ptr %result, align 8 br label %for.body378 for.body378: ; preds = %cleanup.cont373, %cleanup.cont469 - %tree.21061 = phi ptr [ %tree.21058, %cleanup.cont373 ], [ %tree.2, %cleanup.cont469 ] - %i375.01060 = phi i64 [ 37, %cleanup.cont373 ], [ %inc472, %cleanup.cont469 ] - %consumer.sroa.34.21059 = phi i64 [ 111, %cleanup.cont373 ], [ %add.i634, %cleanup.cont469 ] - %call.i590 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() + %tree.21064 = phi ptr [ %tree.21061, %cleanup.cont373 ], [ %tree.2, %cleanup.cont469 ] + %i375.01063 = phi i64 [ 37, %cleanup.cont373 ], [ %inc472, %cleanup.cont469 ] + %consumer.sroa.34.21062 = phi i64 [ 111, %cleanup.cont373 ], [ %add.i637, %cleanup.cont469 ] + %call.i592 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont379 unwind label %lpad9.loopexit invoke.cont379: ; preds = %for.body378 - %154 = load i8, ptr %call.i590, align 1 + %154 = load i8, ptr %call.i592, align 1 %155 = and i8 %154, 1 - %tobool.i588.not = icmp eq i8 %155, 0 - br i1 %tobool.i588.not, label %invoke.cont381, label %if.then.i593 - -if.then.i593: ; preds = %invoke.cont379 - %cmp.i.i594 = icmp ne ptr %tree.21061, null - call void @llvm.assume(i1 %cmp.i.i594) - %refcount.i.i595 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree.21061, i64 0, i32 1 - %156 = atomicrmw add ptr %refcount.i.i595, i32 2 monotonic, align 4 + %tobool.i590.not = icmp eq i8 %155, 0 + br i1 %tobool.i590.not, label %invoke.cont381, label %if.then.i595 + +if.then.i595: ; preds = %invoke.cont379 + %cmp.i.i596 = icmp ne ptr %tree.21064, null + call void @llvm.assume(i1 %cmp.i.i596) + %refcount.i.i597 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree.21064, i64 0, i32 1 + %156 = atomicrmw add ptr %refcount.i.i597, i32 2 monotonic, align 4 %157 = load ptr, ptr %_M_finish.i.i.i, align 8 %158 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 - %cmp.not.i.i.i598 = icmp eq ptr %157, %158 - br i1 %cmp.not.i.i.i598, label %if.else.i.i.i601, label %if.then.i.i.i599 + %cmp.not.i.i.i600 = icmp eq ptr %157, %158 + br i1 %cmp.not.i.i.i600, label %if.else.i.i.i603, label %if.then.i.i.i601 -if.then.i.i.i599: ; preds = %if.then.i593 - store ptr %tree.21061, ptr %157, align 8 - %incdec.ptr.i.i.i600 = getelementptr inbounds ptr, ptr %157, i64 1 - store ptr %incdec.ptr.i.i.i600, ptr %_M_finish.i.i.i, align 8 +if.then.i.i.i601: ; preds = %if.then.i595 + store ptr %tree.21064, ptr %157, align 8 + %incdec.ptr.i.i.i602 = getelementptr inbounds ptr, ptr %157, i64 1 + store ptr %incdec.ptr.i.i.i602, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont381 -if.else.i.i.i601: ; preds = %if.then.i593 +if.else.i.i.i603: ; preds = %if.then.i595 %159 = load ptr, ptr %refs, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i602 = ptrtoint ptr %157 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i603 = ptrtoint ptr %159 to i64 - %sub.ptr.sub.i.i.i.i.i.i604 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i602, %sub.ptr.rhs.cast.i.i.i.i.i.i603 - %cmp.i.i.i.i.i605 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i604, 9223372036854775800 - br i1 %cmp.i.i.i.i.i605, label %if.then.i.i.i.i.i628.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i606 + %sub.ptr.lhs.cast.i.i.i.i.i.i604 = ptrtoint ptr %157 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i605 = ptrtoint ptr %159 to i64 + %sub.ptr.sub.i.i.i.i.i.i606 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i604, %sub.ptr.rhs.cast.i.i.i.i.i.i605 + %cmp.i.i.i.i.i607 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i606, 9223372036854775800 + br i1 %cmp.i.i.i.i.i607, label %if.then.i.i.i.i.i631.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i608 -if.then.i.i.i.i.i628.invoke: ; preds = %if.else.i.i.i431, %if.else.i.i.i, %if.else.i.i.i281, %if.else.i.i.i601 +if.then.i.i.i.i.i631.invoke: ; preds = %if.else.i.i.i432, %if.else.i.i.i, %if.else.i.i.i281, %if.else.i.i.i603 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.125) #29 - to label %if.then.i.i.i.i.i628.cont unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i.i.i631.cont unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i.i628.cont: ; preds = %if.then.i.i.i.i.i628.invoke +if.then.i.i.i.i.i631.cont: ; preds = %if.then.i.i.i.i.i631.invoke unreachable -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i606: ; preds = %if.else.i.i.i601 - %sub.ptr.div.i.i.i.i.i.i607 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i604, 3 - %.sroa.speculated.i.i.i.i.i608 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i607, i64 1) - %add.i.i.i.i.i609 = add i64 %.sroa.speculated.i.i.i.i.i608, %sub.ptr.div.i.i.i.i.i.i607 - %cmp7.i.i.i.i.i610 = icmp ult i64 %add.i.i.i.i.i609, %sub.ptr.div.i.i.i.i.i.i607 - %cmp9.i.i.i.i.i611 = icmp ugt i64 %add.i.i.i.i.i609, 1152921504606846975 - %or.cond.i.i.i.i.i612 = or i1 %cmp7.i.i.i.i.i610, %cmp9.i.i.i.i.i611 - %cond.i.i.i.i.i613 = select i1 %or.cond.i.i.i.i.i612, i64 1152921504606846975, i64 %add.i.i.i.i.i609 - %cmp.not.i.i.i.i.i614 = icmp eq i64 %cond.i.i.i.i.i613, 0 - br i1 %cmp.not.i.i.i.i.i614, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i617, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i615 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i615: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i606 - %mul.i.i.i.i.i.i.i616 = shl nuw nsw i64 %cond.i.i.i.i.i613, 3 - %call5.i.i.i.i.i.i.i631 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i616) #30 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i617 unwind label %lpad9.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i617: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i615, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i606 - %cond.i10.i.i.i.i618 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i606 ], [ %call5.i.i.i.i.i.i.i631, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i615 ] - %add.ptr.i.i.i.i619 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i618, i64 %sub.ptr.div.i.i.i.i.i.i607 - store ptr %tree.21061, ptr %add.ptr.i.i.i.i619, align 8 - %cmp.i.i.i11.i.i.i.i620 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i607, 0 - br i1 %cmp.i.i.i11.i.i.i.i620, label %if.then.i.i.i12.i.i.i.i627, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i621 - -if.then.i.i.i12.i.i.i.i627: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i617 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i618, ptr align 8 %159, i64 %sub.ptr.sub.i.i.i.i.i.i604, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i621 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i621: ; preds = %if.then.i.i.i12.i.i.i.i627, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i617 - %incdec.ptr.i.i.i.i622 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i619, i64 1 - %tobool.not.i.i.i.i.i623 = icmp eq ptr %159, null - br i1 %tobool.not.i.i.i.i.i623, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i625, label %if.then.i21.i.i.i.i624 - -if.then.i21.i.i.i.i624: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i621 +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i608: ; preds = %if.else.i.i.i603 + %sub.ptr.div.i.i.i.i.i.i609 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i606, 3 + %.sroa.speculated.i.i.i.i.i610 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i609, i64 1) + %add.i.i.i.i.i611 = add i64 %.sroa.speculated.i.i.i.i.i610, %sub.ptr.div.i.i.i.i.i.i609 + %cmp7.i.i.i.i.i612 = icmp ult i64 %add.i.i.i.i.i611, %sub.ptr.div.i.i.i.i.i.i609 + %cmp9.i.i.i.i.i613 = icmp ugt i64 %add.i.i.i.i.i611, 1152921504606846975 + %or.cond.i.i.i.i.i614 = or i1 %cmp7.i.i.i.i.i612, %cmp9.i.i.i.i.i613 + %cond.i.i.i.i.i615 = select i1 %or.cond.i.i.i.i.i614, i64 1152921504606846975, i64 %add.i.i.i.i.i611 + %cmp.not.i.i.i.i.i616 = icmp eq i64 %cond.i.i.i.i.i615, 0 + br i1 %cmp.not.i.i.i.i.i616, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i619, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i617 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i617: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i608 + %mul.i.i.i.i.i.i.i618 = shl nuw nsw i64 %cond.i.i.i.i.i615, 3 + %call5.i.i.i.i.i.i.i634 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i618) #30 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i619 unwind label %lpad9.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i619: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i617, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i608 + %cond.i10.i.i.i.i620 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i608 ], [ %call5.i.i.i.i.i.i.i634, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i617 ] + %add.ptr.i.i.i.i621 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i620, i64 %sub.ptr.div.i.i.i.i.i.i609 + store ptr %tree.21064, ptr %add.ptr.i.i.i.i621, align 8 + %cmp.i.i.i11.i.i.i.i622 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i606, 0 + br i1 %cmp.i.i.i11.i.i.i.i622, label %if.then.i.i.i12.i.i.i.i630, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i623 + +if.then.i.i.i12.i.i.i.i630: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i619 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i620, ptr align 8 %159, i64 %sub.ptr.sub.i.i.i.i.i.i606, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i623 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i623: ; preds = %if.then.i.i.i12.i.i.i.i630, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i619 + %add.ptr.i.i.i.i.i.i.i624 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i620, i64 %sub.ptr.sub.i.i.i.i.i.i606 + %incdec.ptr.i.i.i.i625 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i624, i64 1 + %tobool.not.i.i.i.i.i626 = icmp eq ptr %159, null + br i1 %tobool.not.i.i.i.i.i626, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i628, label %if.then.i20.i.i.i.i627 + +if.then.i20.i.i.i.i627: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i623 call void @_ZdlPv(ptr noundef nonnull %159) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i625 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i628 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i625: ; preds = %if.then.i21.i.i.i.i624, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i621 - store ptr %cond.i10.i.i.i.i618, ptr %refs, align 8 - store ptr %incdec.ptr.i.i.i.i622, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i626 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i618, i64 %cond.i.i.i.i.i613 - store ptr %add.ptr19.i.i.i.i626, ptr %_M_end_of_storage.i.i.i, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i628: ; preds = %if.then.i20.i.i.i.i627, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i623 + store ptr %cond.i10.i.i.i.i620, ptr %refs, align 8 + store ptr %incdec.ptr.i.i.i.i625, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i629 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i620, i64 %cond.i.i.i.i.i615 + store ptr %add.ptr19.i.i.i.i629, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont381 -invoke.cont381: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i625, %if.then.i.i.i599, %invoke.cont379 - %add.i634 = add nuw nsw i64 %consumer.sroa.34.21059, 3 - %sub5.i637 = sub i64 %7, %add.i634 - %cond.i638 = select i1 %tobool.not, i64 %sub5.i637, i64 %consumer.sroa.34.21059 - %cmp.i.i.i639 = icmp ult i64 %7, %cond.i638 - br i1 %cmp.i.i.i639, label %if.then.i.i.i708.invoke, label %invoke.cont385 +invoke.cont381: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i628, %if.then.i.i.i601, %invoke.cont379 + %add.i637 = add nuw nsw i64 %consumer.sroa.34.21062, 3 + %sub5.i640 = sub i64 %7, %add.i637 + %cond.i641 = select i1 %tobool.not, i64 %sub5.i640, i64 %consumer.sroa.34.21062 + %cmp.i.i.i642 = icmp ult i64 %7, %cond.i641 + br i1 %cmp.i.i.i642, label %if.then.i.i.i711.invoke, label %invoke.cont385 invoke.cont385: ; preds = %invoke.cont381 - %sub.i.i641 = sub i64 %7, %cond.i638 - %.sroa.speculated.i.i642 = call i64 @llvm.umin.i64(i64 %sub.i.i641, i64 3) - %add.ptr.i.i644 = getelementptr inbounds i8, ptr %8, i64 %cond.i638 - br i1 %tobool.not, label %cond.false.i650, label %cond.true.i652 + %sub.i.i644 = sub i64 %7, %cond.i641 + %.sroa.speculated.i.i645 = call i64 @llvm.umin.i64(i64 %sub.i.i644, i64 3) + %add.ptr.i.i647 = getelementptr inbounds i8, ptr %8, i64 %cond.i641 + br i1 %tobool.not, label %cond.false.i653, label %cond.true.i655 -cond.true.i652: ; preds = %invoke.cont385 - %call.i654 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.21061, i64 %.sroa.speculated.i.i642, ptr %add.ptr.i.i644, i64 noundef 0) +cond.true.i655: ; preds = %invoke.cont385 + %call.i657 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree6AppendEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.21064, i64 %.sroa.speculated.i.i645, ptr %add.ptr.i.i647, i64 noundef 0) to label %invoke.cont387 unwind label %lpad9.loopexit -cond.false.i650: ; preds = %invoke.cont385 - %call2.i656 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.21061, i64 %.sroa.speculated.i.i642, ptr %add.ptr.i.i644, i64 noundef 0) +cond.false.i653: ; preds = %invoke.cont385 + %call2.i659 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree7PrependEPS1_St17basic_string_viewIcSt11char_traitsIcEEm(ptr noundef %tree.21064, i64 %.sroa.speculated.i.i645, ptr %add.ptr.i.i647, i64 noundef 0) to label %invoke.cont387 unwind label %lpad9.loopexit -invoke.cont387: ; preds = %cond.true.i652, %cond.false.i650 - %cond.i651 = phi ptr [ %call.i654, %cond.true.i652 ], [ %call2.i656, %cond.false.i650 ] - store ptr %cond.i651, ptr %result, align 8 - %call.i660 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() +invoke.cont387: ; preds = %cond.true.i655, %cond.false.i653 + %cond.i654 = phi ptr [ %call.i657, %cond.true.i655 ], [ %call2.i659, %cond.false.i653 ] + store ptr %cond.i654, ptr %result, align 8 + %call.i663 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZN7testing18WithParamInterfaceIbE8GetParamEv() to label %invoke.cont409 unwind label %lpad9.loopexit invoke.cont409: ; preds = %invoke.cont387 - %160 = load i8, ptr %call.i660, align 1 + %160 = load i8, ptr %call.i663, align 1 %161 = and i8 %160, 1 store i8 %161, ptr %ref.tmp390, align 8 - store ptr %tree.21061, ptr %agg.tmp391665.sroa.5.0.ref.tmp390.sroa_idx, align 8 - store ptr %tree.21061, ptr %agg.tmp391665.sroa.6.0.ref.tmp390.sroa_idx, align 8 + store ptr %tree.21064, ptr %agg.tmp391668.sroa.5.0.ref.tmp390.sroa_idx, align 8 + store ptr %tree.21064, ptr %agg.tmp391668.sroa.6.0.ref.tmp390.sroa_idx, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ConditionalMatcherINS0_9NeMatcherIPN4absl13cord_internal12CordRepBtreeEEENS0_9EqMatcherIS7_EEEEEclIS7_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar389, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp390, ptr noundef nonnull @.str.173, ptr noundef nonnull align 8 dereferenceable(8) %result) to label %invoke.cont410 unwind label %lpad9.loopexit invoke.cont410: ; preds = %invoke.cont409 %162 = load i8, ptr %gtest_ar389, align 8 %163 = and i8 %162, 1 - %tobool.i666.not = icmp eq i8 %163, 0 - br i1 %tobool.i666.not, label %if.else413, label %cleanup.cont429.critedge + %tobool.i669.not = icmp eq i8 %163, 0 + br i1 %tobool.i669.not, label %if.else413, label %cleanup.cont429.critedge -ehcleanup374: ; preds = %_ZN7testing7MessageD2Ev.exit583, %lpad359 - %.pn69.pn = phi { ptr, i32 } [ %.pn69, %_ZN7testing7MessageD2Ev.exit583 ], [ %148, %lpad359 ] +ehcleanup374: ; preds = %_ZN7testing7MessageD2Ev.exit585, %lpad359 + %.pn69.pn = phi { ptr, i32 } [ %.pn69, %_ZN7testing7MessageD2Ev.exit585 ], [ %148, %lpad359 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar335) #28 br label %ehcleanup476 @@ -59188,17 +59214,17 @@ if.else413: ; preds = %invoke.cont410 to label %invoke.cont416 unwind label %lpad415 invoke.cont416: ; preds = %if.else413 - %164 = load ptr, ptr %message_.i687, align 8 - %cmp.i.i.not.i.i668 = icmp eq ptr %164, null - br i1 %cmp.i.i.not.i.i668, label %invoke.cont419, label %cond.true.i.i669 + %164 = load ptr, ptr %message_.i690, align 8 + %cmp.i.i.not.i.i671 = icmp eq ptr %164, null + br i1 %cmp.i.i.not.i.i671, label %invoke.cont419, label %cond.true.i.i672 -cond.true.i.i669: ; preds = %invoke.cont416 - %call4.i.i670 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %164) #28 +cond.true.i.i672: ; preds = %invoke.cont416 + %call4.i.i673 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %164) #28 br label %invoke.cont419 -invoke.cont419: ; preds = %cond.true.i.i669, %invoke.cont416 - %cond.i.i671 = phi ptr [ %call4.i.i670, %cond.true.i.i669 ], [ @.str.120, %invoke.cont416 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp417, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 977, ptr noundef %cond.i.i671) +invoke.cont419: ; preds = %cond.true.i.i672, %invoke.cont416 + %cond.i.i674 = phi ptr [ %call4.i.i673, %cond.true.i.i672 ], [ @.str.120, %invoke.cont416 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp417, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 977, ptr noundef %cond.i.i674) to label %invoke.cont421 unwind label %lpad418 invoke.cont421: ; preds = %invoke.cont419 @@ -59208,21 +59234,21 @@ invoke.cont421: ; preds = %invoke.cont419 invoke.cont423: ; preds = %invoke.cont421 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp417) #28 %165 = load ptr, ptr %ref.tmp414, align 8 - %cmp.not.i.i673 = icmp eq ptr %165, null - br i1 %cmp.not.i.i673, label %_ZN7testing7MessageD2Ev.exit677, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i674 + %cmp.not.i.i676 = icmp eq ptr %165, null + br i1 %cmp.not.i.i676, label %_ZN7testing7MessageD2Ev.exit680, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i677 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i674: ; preds = %invoke.cont423 - %vtable.i.i.i675 = load ptr, ptr %165, align 8 - %vfn.i.i.i676 = getelementptr inbounds ptr, ptr %vtable.i.i.i675, i64 1 - %166 = load ptr, ptr %vfn.i.i.i676, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i677: ; preds = %invoke.cont423 + %vtable.i.i.i678 = load ptr, ptr %165, align 8 + %vfn.i.i.i679 = getelementptr inbounds ptr, ptr %vtable.i.i.i678, i64 1 + %166 = load ptr, ptr %vfn.i.i.i679, align 8 call void %166(ptr noundef nonnull align 8 dereferenceable(128) %165) #28 - br label %_ZN7testing7MessageD2Ev.exit677 + br label %_ZN7testing7MessageD2Ev.exit680 -_ZN7testing7MessageD2Ev.exit677: ; preds = %invoke.cont423, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i674 +_ZN7testing7MessageD2Ev.exit680: ; preds = %invoke.cont423, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i677 store ptr null, ptr %ref.tmp414, align 8 - %167 = load ptr, ptr %message_.i687, align 8 - %cmp.not.i.i679 = icmp eq ptr %167, null - br i1 %cmp.not.i.i679, label %cleanup483.critedge, label %cleanup483.critedge.sink.split + %167 = load ptr, ptr %message_.i690, align 8 + %cmp.not.i.i682 = icmp eq ptr %167, null + br i1 %cmp.not.i.i682, label %cleanup483.critedge, label %cleanup483.critedge.sink.split lpad415: ; preds = %if.else413 %168 = landingpad { ptr, i32 } @@ -59243,76 +59269,76 @@ lpad422: ; preds = %invoke.cont421 ehcleanup425: ; preds = %lpad422, %lpad418 %.pn72 = phi { ptr, i32 } [ %170, %lpad422 ], [ %169, %lpad418 ] %171 = load ptr, ptr %ref.tmp414, align 8 - %cmp.not.i.i682 = icmp eq ptr %171, null - br i1 %cmp.not.i.i682, label %_ZN7testing7MessageD2Ev.exit686, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i683 + %cmp.not.i.i685 = icmp eq ptr %171, null + br i1 %cmp.not.i.i685, label %_ZN7testing7MessageD2Ev.exit689, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i686 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i683: ; preds = %ehcleanup425 - %vtable.i.i.i684 = load ptr, ptr %171, align 8 - %vfn.i.i.i685 = getelementptr inbounds ptr, ptr %vtable.i.i.i684, i64 1 - %172 = load ptr, ptr %vfn.i.i.i685, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i686: ; preds = %ehcleanup425 + %vtable.i.i.i687 = load ptr, ptr %171, align 8 + %vfn.i.i.i688 = getelementptr inbounds ptr, ptr %vtable.i.i.i687, i64 1 + %172 = load ptr, ptr %vfn.i.i.i688, align 8 call void %172(ptr noundef nonnull align 8 dereferenceable(128) %171) #28 - br label %_ZN7testing7MessageD2Ev.exit686 + br label %_ZN7testing7MessageD2Ev.exit689 -_ZN7testing7MessageD2Ev.exit686: ; preds = %ehcleanup425, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i683 +_ZN7testing7MessageD2Ev.exit689: ; preds = %ehcleanup425, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i686 store ptr null, ptr %ref.tmp414, align 8 br label %ehcleanup430 cleanup.cont429.critedge: ; preds = %invoke.cont410 - %173 = load ptr, ptr %message_.i687, align 8 - %cmp.not.i.i688 = icmp eq ptr %173, null - br i1 %cmp.not.i.i688, label %cleanup.cont429, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i689 + %173 = load ptr, ptr %message_.i690, align 8 + %cmp.not.i.i691 = icmp eq ptr %173, null + br i1 %cmp.not.i.i691, label %cleanup.cont429, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i692 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i689: ; preds = %cleanup.cont429.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i692: ; preds = %cleanup.cont429.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #28 call void @_ZdlPv(ptr noundef nonnull %173) #31 br label %cleanup.cont429 -cleanup.cont429: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i689, %cleanup.cont429.critedge - store ptr null, ptr %message_.i687, align 8 - br i1 %tobool.not, label %cond.false.i701, label %cond.true.i693 +cleanup.cont429: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i692, %cleanup.cont429.critedge + store ptr null, ptr %message_.i690, align 8 + br i1 %tobool.not, label %cond.false.i704, label %cond.true.i696 -cond.true.i693: ; preds = %cleanup.cont429 - %.sroa.speculated.i.i695 = call i64 @llvm.umin.i64(i64 %7, i64 %add.i634) +cond.true.i696: ; preds = %cleanup.cont429 + %.sroa.speculated.i.i698 = call i64 @llvm.umin.i64(i64 %7, i64 %add.i637) br label %invoke.cont441 -cond.false.i701: ; preds = %cleanup.cont429 - %cmp.i.i.i704 = icmp ult i64 %7, %add.i634 - br i1 %cmp.i.i.i704, label %if.then.i.i.i708.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i705 +cond.false.i704: ; preds = %cleanup.cont429 + %cmp.i.i.i707 = icmp ult i64 %7, %add.i637 + br i1 %cmp.i.i.i707, label %if.then.i.i.i711.invoke, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i708 -if.then.i.i.i708.invoke: ; preds = %invoke.cont7, %cond.false.i548, %invoke.cont266, %cond.false.i228, %invoke.cont56, %cond.false.i119, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit, %for.body18.backedge, %cond.false.i378, %invoke.cont171, %cond.false.i701, %invoke.cont381 - %174 = phi i64 [ %cond.i638, %invoke.cont381 ], [ %sub5.i637, %cond.false.i701 ], [ %cond.i318, %invoke.cont171 ], [ %sub5.i317, %cond.false.i378 ], [ %cond.i98, %for.body18.backedge ], [ %sub.i, %cond.false.i119 ], [ %cond.i148, %invoke.cont56 ], [ %sub5.i147, %cond.false.i228 ], [ %cond.i468, %invoke.cont266 ], [ %sub5.i467, %cond.false.i548 ], [ %cond.i, %invoke.cont7 ], [ %cond.i981547, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] +if.then.i.i.i711.invoke: ; preds = %invoke.cont7, %cond.false.i550, %invoke.cont266, %cond.false.i228, %invoke.cont56, %cond.false.i119, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit, %for.body18.backedge, %cond.false.i379, %invoke.cont171, %cond.false.i704, %invoke.cont381 + %174 = phi i64 [ %cond.i641, %invoke.cont381 ], [ %sub5.i640, %cond.false.i704 ], [ %cond.i319, %invoke.cont171 ], [ %sub5.i318, %cond.false.i379 ], [ %cond.i98, %for.body18.backedge ], [ %sub.i, %cond.false.i119 ], [ %cond.i148, %invoke.cont56 ], [ %sub5.i147, %cond.false.i228 ], [ %cond.i470, %invoke.cont266 ], [ %sub5.i469, %cond.false.i550 ], [ %cond.i, %invoke.cont7 ], [ %cond.i981550, %_ZN4absl13cord_internal12CordRepBtree6CreateEPNS0_7CordRepE.exit ] invoke void (ptr, ...) @_ZSt24__throw_out_of_range_fmtPKcz(ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.225, i64 noundef %174, i64 noundef %7) #29 - to label %if.then.i.i.i708.cont unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i711.cont unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i708.cont: ; preds = %if.then.i.i.i708.invoke +if.then.i.i.i711.cont: ; preds = %if.then.i.i.i711.invoke unreachable -_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i705: ; preds = %cond.false.i701 - %add.ptr.i.i707 = getelementptr inbounds i8, ptr %8, i64 %sub5.i637 +_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i708: ; preds = %cond.false.i704 + %add.ptr.i.i710 = getelementptr inbounds i8, ptr %8, i64 %sub5.i640 br label %invoke.cont441 -invoke.cont441: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i705, %cond.true.i693 - %.sroa.speculated.i.pn.i697 = phi i64 [ %.sroa.speculated.i.i695, %cond.true.i693 ], [ %add.i634, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i705 ] - %.pn.i698 = phi ptr [ %8, %cond.true.i693 ], [ %add.ptr.i.i707, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i705 ] - store i64 %.sroa.speculated.i.pn.i697, ptr %ref.tmp432, align 8 - store ptr %.pn.i698, ptr %4, align 8 +invoke.cont441: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i708, %cond.true.i696 + %.sroa.speculated.i.pn.i700 = phi i64 [ %.sroa.speculated.i.i698, %cond.true.i696 ], [ %add.i637, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i708 ] + %.pn.i701 = phi ptr [ %8, %cond.true.i696 ], [ %add.ptr.i.i710, %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit.i708 ] + store i64 %.sroa.speculated.i.pn.i700, ptr %ref.tmp432, align 8 + store ptr %.pn.i701, ptr %4, align 8 %175 = load ptr, ptr %result, align 8 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp446) #28 %176 = load i64, ptr %175, align 8, !noalias !1028 invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp446, i64 noundef %176) - to label %invoke.cont.i712 unwind label %lpad.i711 + to label %invoke.cont.i715 unwind label %lpad.i714 -invoke.cont.i712: ; preds = %invoke.cont441 +invoke.cont.i715: ; preds = %invoke.cont441 invoke void @_ZN4absl15cordrep_testing12CordToStringEPNS_13cord_internal7CordRepERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %175, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp446) - to label %invoke.cont447 unwind label %lpad.i711 + to label %invoke.cont447 unwind label %lpad.i714 -lpad.i711: ; preds = %invoke.cont.i712, %invoke.cont441 +lpad.i714: ; preds = %invoke.cont.i715, %invoke.cont441 %177 = landingpad { ptr, i32 } cleanup call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp446) #28 br label %ehcleanup476 -invoke.cont447: ; preds = %invoke.cont.i712 +invoke.cont447: ; preds = %invoke.cont.i715 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherISt17basic_string_viewIcSt11char_traitsIcEEEEEclINSt7__cxx1112basic_stringIcS5_SaIcEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar431, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp432, ptr noundef nonnull @.str.248, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp446) to label %invoke.cont449 unwind label %lpad448 @@ -59320,11 +59346,11 @@ invoke.cont449: ; preds = %invoke.cont447 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp446) #28 %178 = load i8, ptr %gtest_ar431, align 8 %179 = and i8 %178, 1 - %tobool.i716.not = icmp eq i8 %179, 0 - br i1 %tobool.i716.not, label %if.else453, label %cleanup.cont469.critedge + %tobool.i719.not = icmp eq i8 %179, 0 + br i1 %tobool.i719.not, label %if.else453, label %cleanup.cont469.critedge -ehcleanup430: ; preds = %_ZN7testing7MessageD2Ev.exit686, %lpad415 - %.pn72.pn = phi { ptr, i32 } [ %.pn72, %_ZN7testing7MessageD2Ev.exit686 ], [ %168, %lpad415 ] +ehcleanup430: ; preds = %_ZN7testing7MessageD2Ev.exit689, %lpad415 + %.pn72.pn = phi { ptr, i32 } [ %.pn72, %_ZN7testing7MessageD2Ev.exit689 ], [ %168, %lpad415 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar389) #28 br label %ehcleanup476 @@ -59339,17 +59365,17 @@ if.else453: ; preds = %invoke.cont449 to label %invoke.cont456 unwind label %lpad455 invoke.cont456: ; preds = %if.else453 - %181 = load ptr, ptr %message_.i737, align 8 - %cmp.i.i.not.i.i718 = icmp eq ptr %181, null - br i1 %cmp.i.i.not.i.i718, label %invoke.cont459, label %cond.true.i.i719 + %181 = load ptr, ptr %message_.i740, align 8 + %cmp.i.i.not.i.i721 = icmp eq ptr %181, null + br i1 %cmp.i.i.not.i.i721, label %invoke.cont459, label %cond.true.i.i722 -cond.true.i.i719: ; preds = %invoke.cont456 - %call4.i.i720 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %181) #28 +cond.true.i.i722: ; preds = %invoke.cont456 + %call4.i.i723 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %181) #28 br label %invoke.cont459 -invoke.cont459: ; preds = %cond.true.i.i719, %invoke.cont456 - %cond.i.i721 = phi ptr [ %call4.i.i720, %cond.true.i.i719 ], [ @.str.120, %invoke.cont456 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp457, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 978, ptr noundef %cond.i.i721) +invoke.cont459: ; preds = %cond.true.i.i722, %invoke.cont456 + %cond.i.i724 = phi ptr [ %call4.i.i723, %cond.true.i.i722 ], [ @.str.120, %invoke.cont456 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp457, i32 noundef 2, ptr noundef nonnull @.str.2, i32 noundef 978, ptr noundef %cond.i.i724) to label %invoke.cont461 unwind label %lpad458 invoke.cont461: ; preds = %invoke.cont459 @@ -59359,21 +59385,21 @@ invoke.cont461: ; preds = %invoke.cont459 invoke.cont463: ; preds = %invoke.cont461 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp457) #28 %182 = load ptr, ptr %ref.tmp454, align 8 - %cmp.not.i.i723 = icmp eq ptr %182, null - br i1 %cmp.not.i.i723, label %_ZN7testing7MessageD2Ev.exit727, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724 + %cmp.not.i.i726 = icmp eq ptr %182, null + br i1 %cmp.not.i.i726, label %_ZN7testing7MessageD2Ev.exit730, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i727 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724: ; preds = %invoke.cont463 - %vtable.i.i.i725 = load ptr, ptr %182, align 8 - %vfn.i.i.i726 = getelementptr inbounds ptr, ptr %vtable.i.i.i725, i64 1 - %183 = load ptr, ptr %vfn.i.i.i726, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i727: ; preds = %invoke.cont463 + %vtable.i.i.i728 = load ptr, ptr %182, align 8 + %vfn.i.i.i729 = getelementptr inbounds ptr, ptr %vtable.i.i.i728, i64 1 + %183 = load ptr, ptr %vfn.i.i.i729, align 8 call void %183(ptr noundef nonnull align 8 dereferenceable(128) %182) #28 - br label %_ZN7testing7MessageD2Ev.exit727 + br label %_ZN7testing7MessageD2Ev.exit730 -_ZN7testing7MessageD2Ev.exit727: ; preds = %invoke.cont463, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724 +_ZN7testing7MessageD2Ev.exit730: ; preds = %invoke.cont463, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i727 store ptr null, ptr %ref.tmp454, align 8 - %184 = load ptr, ptr %message_.i737, align 8 - %cmp.not.i.i729 = icmp eq ptr %184, null - br i1 %cmp.not.i.i729, label %cleanup483.critedge, label %cleanup483.critedge.sink.split + %184 = load ptr, ptr %message_.i740, align 8 + %cmp.not.i.i732 = icmp eq ptr %184, null + br i1 %cmp.not.i.i732, label %cleanup483.critedge, label %cleanup483.critedge.sink.split lpad455: ; preds = %if.else453 %185 = landingpad { ptr, i32 } @@ -59394,39 +59420,39 @@ lpad462: ; preds = %invoke.cont461 ehcleanup465: ; preds = %lpad462, %lpad458 %.pn75 = phi { ptr, i32 } [ %187, %lpad462 ], [ %186, %lpad458 ] %188 = load ptr, ptr %ref.tmp454, align 8 - %cmp.not.i.i732 = icmp eq ptr %188, null - br i1 %cmp.not.i.i732, label %_ZN7testing7MessageD2Ev.exit736, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i733 + %cmp.not.i.i735 = icmp eq ptr %188, null + br i1 %cmp.not.i.i735, label %_ZN7testing7MessageD2Ev.exit739, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i736 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i733: ; preds = %ehcleanup465 - %vtable.i.i.i734 = load ptr, ptr %188, align 8 - %vfn.i.i.i735 = getelementptr inbounds ptr, ptr %vtable.i.i.i734, i64 1 - %189 = load ptr, ptr %vfn.i.i.i735, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i736: ; preds = %ehcleanup465 + %vtable.i.i.i737 = load ptr, ptr %188, align 8 + %vfn.i.i.i738 = getelementptr inbounds ptr, ptr %vtable.i.i.i737, i64 1 + %189 = load ptr, ptr %vfn.i.i.i738, align 8 call void %189(ptr noundef nonnull align 8 dereferenceable(128) %188) #28 - br label %_ZN7testing7MessageD2Ev.exit736 + br label %_ZN7testing7MessageD2Ev.exit739 -_ZN7testing7MessageD2Ev.exit736: ; preds = %ehcleanup465, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i733 +_ZN7testing7MessageD2Ev.exit739: ; preds = %ehcleanup465, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i736 store ptr null, ptr %ref.tmp454, align 8 br label %ehcleanup470 cleanup.cont469.critedge: ; preds = %invoke.cont449 - %190 = load ptr, ptr %message_.i737, align 8 - %cmp.not.i.i738 = icmp eq ptr %190, null - br i1 %cmp.not.i.i738, label %cleanup.cont469, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739 + %190 = load ptr, ptr %message_.i740, align 8 + %cmp.not.i.i741 = icmp eq ptr %190, null + br i1 %cmp.not.i.i741, label %cleanup.cont469, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i742 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739: ; preds = %cleanup.cont469.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i742: ; preds = %cleanup.cont469.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #28 call void @_ZdlPv(ptr noundef nonnull %190) #31 br label %cleanup.cont469 -cleanup.cont469: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739, %cleanup.cont469.critedge - store ptr null, ptr %message_.i737, align 8 - %inc472 = add nuw nsw i64 %i375.01060, 1 +cleanup.cont469: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i742, %cleanup.cont469.critedge + store ptr null, ptr %message_.i740, align 8 + %inc472 = add nuw nsw i64 %i375.01063, 1 %tree.2 = load ptr, ptr %result, align 8 - %exitcond1287.not = icmp eq i64 %inc472, 216 - br i1 %exitcond1287.not, label %for.end473, label %for.body378, !llvm.loop !1031 + %exitcond1290.not = icmp eq i64 %inc472, 216 + br i1 %exitcond1290.not, label %for.end473, label %for.body378, !llvm.loop !1031 -ehcleanup470: ; preds = %_ZN7testing7MessageD2Ev.exit736, %lpad455 - %.pn75.pn = phi { ptr, i32 } [ %.pn75, %_ZN7testing7MessageD2Ev.exit736 ], [ %185, %lpad455 ] +ehcleanup470: ; preds = %_ZN7testing7MessageD2Ev.exit739, %lpad455 + %.pn75.pn = phi { ptr, i32 } [ %.pn75, %_ZN7testing7MessageD2Ev.exit739 ], [ %185, %lpad455 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar431) #28 br label %ehcleanup476 @@ -59434,13 +59460,13 @@ for.end473: ; preds = %cleanup.cont469 %refcount.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %tree.2, i64 0, i32 1 %191 = atomicrmw sub ptr %refcount.i, i32 2 acq_rel, align 4 %cmp.i.not.i = icmp eq i32 %191, 2 - br i1 %cmp.i.not.i, label %if.then.i742, label %cleanup475 + br i1 %cmp.i.not.i, label %if.then.i745, label %cleanup475 -if.then.i742: ; preds = %for.end473 +if.then.i745: ; preds = %for.end473 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %tree.2) to label %cleanup475 unwind label %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit -cleanup475: ; preds = %for.end473, %if.then.i742 +cleanup475: ; preds = %for.end473, %if.then.i745 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_942) #28 %192 = load ptr, ptr %refs, align 8 %193 = load ptr, ptr %_M_finish.i.i.i, align 8 @@ -59450,8 +59476,8 @@ cleanup475: ; preds = %for.end473, %if.the for.body.i: ; preds = %cleanup475, %for.inc.i %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %192, %cleanup475 ] %194 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i744 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %194, i64 0, i32 1 - %195 = atomicrmw sub ptr %refcount.i.i744, i32 2 acq_rel, align 4 + %refcount.i.i747 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %194, i64 0, i32 1 + %195 = atomicrmw sub ptr %refcount.i.i747, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %195, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -59461,8 +59487,8 @@ if.then.i.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i.i, %for.body.i %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i745 = icmp eq ptr %incdec.ptr.i.i, %193 - br i1 %cmp.i.not.i745, label %for.end.loopexit.i, label %for.body.i + %cmp.i.not.i748 = icmp eq ptr %incdec.ptr.i.i, %193 + br i1 %cmp.i.not.i748, label %for.end.loopexit.i, label %for.body.i for.end.loopexit.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %refs, align 8 @@ -59485,12 +59511,12 @@ terminate.lpad.i: ; preds = %if.then.i.i unreachable _ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx1062, 1 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx1065, 1 %cmp.not = icmp eq i64 %__begin2.0.add, 2 br i1 %cmp.not, label %cleanup483, label %for.body -ehcleanup476: ; preds = %lpad9.loopexit, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad9.loopexit.split-lp.loopexit, %lpad.i, %lpad.i388, %lpad.i711, %lpad.i558, %lpad.i238, %ehcleanup470, %lpad448, %ehcleanup430, %ehcleanup374, %lpad352, %ehcleanup334, %ehcleanup299, %ehcleanup260, %lpad238, %ehcleanup220, %ehcleanup164, %lpad142, %ehcleanup124, %ehcleanup89, %ehcleanup53, %lpad40 - %.pn84 = phi { ptr, i32 } [ %.pn81.pn, %ehcleanup260 ], [ %97, %lpad238 ], [ %.pn78.pn, %ehcleanup220 ], [ %.pn75.pn, %ehcleanup470 ], [ %180, %lpad448 ], [ %.pn72.pn, %ehcleanup430 ], [ %.pn69.pn, %ehcleanup374 ], [ %143, %lpad352 ], [ %.pn66.pn, %ehcleanup334 ], [ %.pn63.pn, %ehcleanup299 ], [ %.pn60.pn, %ehcleanup164 ], [ %61, %lpad142 ], [ %.pn57.pn, %ehcleanup124 ], [ %.pn54.pn, %ehcleanup89 ], [ %.pn.pn, %ehcleanup53 ], [ %15, %lpad40 ], [ %12, %lpad.i ], [ %58, %lpad.i238 ], [ %94, %lpad.i388 ], [ %140, %lpad.i558 ], [ %177, %lpad.i711 ], [ %lpad.loopexit, %lpad9.loopexit ], [ %lpad.loopexit821, %lpad9.loopexit.split-lp.loopexit ], [ %lpad.loopexit824, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit826, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp827, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] +ehcleanup476: ; preds = %lpad9.loopexit, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad9.loopexit.split-lp.loopexit, %lpad.i, %lpad.i389, %lpad.i714, %lpad.i560, %lpad.i238, %ehcleanup470, %lpad448, %ehcleanup430, %ehcleanup374, %lpad352, %ehcleanup334, %ehcleanup299, %ehcleanup260, %lpad238, %ehcleanup220, %ehcleanup164, %lpad142, %ehcleanup124, %ehcleanup89, %ehcleanup53, %lpad40 + %.pn84 = phi { ptr, i32 } [ %.pn81.pn, %ehcleanup260 ], [ %97, %lpad238 ], [ %.pn78.pn, %ehcleanup220 ], [ %.pn75.pn, %ehcleanup470 ], [ %180, %lpad448 ], [ %.pn72.pn, %ehcleanup430 ], [ %.pn69.pn, %ehcleanup374 ], [ %143, %lpad352 ], [ %.pn66.pn, %ehcleanup334 ], [ %.pn63.pn, %ehcleanup299 ], [ %.pn60.pn, %ehcleanup164 ], [ %61, %lpad142 ], [ %.pn57.pn, %ehcleanup124 ], [ %.pn54.pn, %ehcleanup89 ], [ %.pn.pn, %ehcleanup53 ], [ %15, %lpad40 ], [ %12, %lpad.i ], [ %58, %lpad.i238 ], [ %94, %lpad.i389 ], [ %140, %lpad.i560 ], [ %177, %lpad.i714 ], [ %lpad.loopexit, %lpad9.loopexit ], [ %lpad.loopexit824, %lpad9.loopexit.split-lp.loopexit ], [ %lpad.loopexit827, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit829, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp830, %lpad9.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_942) #28 br label %ehcleanup480 @@ -59500,60 +59526,60 @@ ehcleanup480: ; preds = %ehcleanup476, %lpad call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 resume { ptr, i32 } %.pn84.pn -cleanup483.critedge.sink.split: ; preds = %_ZN7testing7MessageD2Ev.exit727, %_ZN7testing7MessageD2Ev.exit677, %_ZN7testing7MessageD2Ev.exit574, %_ZN7testing7MessageD2Ev.exit524, %_ZN7testing7MessageD2Ev.exit499, %_ZN7testing7MessageD2Ev.exit404, %_ZN7testing7MessageD2Ev.exit354, %_ZN7testing7MessageD2Ev.exit254, %_ZN7testing7MessageD2Ev.exit204, %_ZN7testing7MessageD2Ev.exit179, %_ZN7testing7MessageD2Ev.exit - %.sink1501 = phi ptr [ %19, %_ZN7testing7MessageD2Ev.exit ], [ %37, %_ZN7testing7MessageD2Ev.exit179 ], [ %49, %_ZN7testing7MessageD2Ev.exit204 ], [ %65, %_ZN7testing7MessageD2Ev.exit254 ], [ %85, %_ZN7testing7MessageD2Ev.exit354 ], [ %101, %_ZN7testing7MessageD2Ev.exit404 ], [ %119, %_ZN7testing7MessageD2Ev.exit499 ], [ %131, %_ZN7testing7MessageD2Ev.exit524 ], [ %147, %_ZN7testing7MessageD2Ev.exit574 ], [ %167, %_ZN7testing7MessageD2Ev.exit677 ], [ %184, %_ZN7testing7MessageD2Ev.exit727 ] - %message_.i737.sink.ph = phi ptr [ %message_.i130, %_ZN7testing7MessageD2Ev.exit ], [ %message_.i189, %_ZN7testing7MessageD2Ev.exit179 ], [ %message_.i214, %_ZN7testing7MessageD2Ev.exit204 ], [ %message_.i264, %_ZN7testing7MessageD2Ev.exit254 ], [ %message_.i364, %_ZN7testing7MessageD2Ev.exit354 ], [ %message_.i414, %_ZN7testing7MessageD2Ev.exit404 ], [ %message_.i509, %_ZN7testing7MessageD2Ev.exit499 ], [ %message_.i534, %_ZN7testing7MessageD2Ev.exit524 ], [ %message_.i584, %_ZN7testing7MessageD2Ev.exit574 ], [ %message_.i687, %_ZN7testing7MessageD2Ev.exit677 ], [ %message_.i737, %_ZN7testing7MessageD2Ev.exit727 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1501) #28 - call void @_ZdlPv(ptr noundef nonnull %.sink1501) #31 +cleanup483.critedge.sink.split: ; preds = %_ZN7testing7MessageD2Ev.exit730, %_ZN7testing7MessageD2Ev.exit680, %_ZN7testing7MessageD2Ev.exit576, %_ZN7testing7MessageD2Ev.exit526, %_ZN7testing7MessageD2Ev.exit501, %_ZN7testing7MessageD2Ev.exit405, %_ZN7testing7MessageD2Ev.exit355, %_ZN7testing7MessageD2Ev.exit254, %_ZN7testing7MessageD2Ev.exit204, %_ZN7testing7MessageD2Ev.exit179, %_ZN7testing7MessageD2Ev.exit + %.sink1504 = phi ptr [ %19, %_ZN7testing7MessageD2Ev.exit ], [ %37, %_ZN7testing7MessageD2Ev.exit179 ], [ %49, %_ZN7testing7MessageD2Ev.exit204 ], [ %65, %_ZN7testing7MessageD2Ev.exit254 ], [ %85, %_ZN7testing7MessageD2Ev.exit355 ], [ %101, %_ZN7testing7MessageD2Ev.exit405 ], [ %119, %_ZN7testing7MessageD2Ev.exit501 ], [ %131, %_ZN7testing7MessageD2Ev.exit526 ], [ %147, %_ZN7testing7MessageD2Ev.exit576 ], [ %167, %_ZN7testing7MessageD2Ev.exit680 ], [ %184, %_ZN7testing7MessageD2Ev.exit730 ] + %message_.i740.sink.ph = phi ptr [ %message_.i130, %_ZN7testing7MessageD2Ev.exit ], [ %message_.i189, %_ZN7testing7MessageD2Ev.exit179 ], [ %message_.i214, %_ZN7testing7MessageD2Ev.exit204 ], [ %message_.i264, %_ZN7testing7MessageD2Ev.exit254 ], [ %message_.i365, %_ZN7testing7MessageD2Ev.exit355 ], [ %message_.i415, %_ZN7testing7MessageD2Ev.exit405 ], [ %message_.i511, %_ZN7testing7MessageD2Ev.exit501 ], [ %message_.i536, %_ZN7testing7MessageD2Ev.exit526 ], [ %message_.i586, %_ZN7testing7MessageD2Ev.exit576 ], [ %message_.i690, %_ZN7testing7MessageD2Ev.exit680 ], [ %message_.i740, %_ZN7testing7MessageD2Ev.exit730 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1504) #28 + call void @_ZdlPv(ptr noundef nonnull %.sink1504) #31 br label %cleanup483.critedge -cleanup483.critedge: ; preds = %cleanup483.critedge.sink.split, %_ZN7testing7MessageD2Ev.exit727, %_ZN7testing7MessageD2Ev.exit677, %_ZN7testing7MessageD2Ev.exit574, %_ZN7testing7MessageD2Ev.exit524, %_ZN7testing7MessageD2Ev.exit499, %_ZN7testing7MessageD2Ev.exit404, %_ZN7testing7MessageD2Ev.exit354, %_ZN7testing7MessageD2Ev.exit254, %_ZN7testing7MessageD2Ev.exit204, %_ZN7testing7MessageD2Ev.exit179, %_ZN7testing7MessageD2Ev.exit - %message_.i737.sink = phi ptr [ %message_.i130, %_ZN7testing7MessageD2Ev.exit ], [ %message_.i189, %_ZN7testing7MessageD2Ev.exit179 ], [ %message_.i214, %_ZN7testing7MessageD2Ev.exit204 ], [ %message_.i264, %_ZN7testing7MessageD2Ev.exit254 ], [ %message_.i364, %_ZN7testing7MessageD2Ev.exit354 ], [ %message_.i414, %_ZN7testing7MessageD2Ev.exit404 ], [ %message_.i509, %_ZN7testing7MessageD2Ev.exit499 ], [ %message_.i534, %_ZN7testing7MessageD2Ev.exit524 ], [ %message_.i584, %_ZN7testing7MessageD2Ev.exit574 ], [ %message_.i687, %_ZN7testing7MessageD2Ev.exit677 ], [ %message_.i737, %_ZN7testing7MessageD2Ev.exit727 ], [ %message_.i737.sink.ph, %cleanup483.critedge.sink.split ] - store ptr null, ptr %message_.i737.sink, align 8 +cleanup483.critedge: ; preds = %cleanup483.critedge.sink.split, %_ZN7testing7MessageD2Ev.exit730, %_ZN7testing7MessageD2Ev.exit680, %_ZN7testing7MessageD2Ev.exit576, %_ZN7testing7MessageD2Ev.exit526, %_ZN7testing7MessageD2Ev.exit501, %_ZN7testing7MessageD2Ev.exit405, %_ZN7testing7MessageD2Ev.exit355, %_ZN7testing7MessageD2Ev.exit254, %_ZN7testing7MessageD2Ev.exit204, %_ZN7testing7MessageD2Ev.exit179, %_ZN7testing7MessageD2Ev.exit + %message_.i740.sink = phi ptr [ %message_.i130, %_ZN7testing7MessageD2Ev.exit ], [ %message_.i189, %_ZN7testing7MessageD2Ev.exit179 ], [ %message_.i214, %_ZN7testing7MessageD2Ev.exit204 ], [ %message_.i264, %_ZN7testing7MessageD2Ev.exit254 ], [ %message_.i365, %_ZN7testing7MessageD2Ev.exit355 ], [ %message_.i415, %_ZN7testing7MessageD2Ev.exit405 ], [ %message_.i511, %_ZN7testing7MessageD2Ev.exit501 ], [ %message_.i536, %_ZN7testing7MessageD2Ev.exit526 ], [ %message_.i586, %_ZN7testing7MessageD2Ev.exit576 ], [ %message_.i690, %_ZN7testing7MessageD2Ev.exit680 ], [ %message_.i740, %_ZN7testing7MessageD2Ev.exit730 ], [ %message_.i740.sink.ph, %cleanup483.critedge.sink.split ] + store ptr null, ptr %message_.i740.sink, align 8 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_942) #28 %199 = load ptr, ptr %refs, align 8 %200 = load ptr, ptr %_M_finish.i.i.i, align 8 - %cmp.i.not4.i747 = icmp eq ptr %199, %200 - br i1 %cmp.i.not4.i747, label %for.end.i757, label %for.body.i748 - -for.body.i748: ; preds = %cleanup483.critedge, %for.inc.i752 - %__begin2.sroa.0.05.i749 = phi ptr [ %incdec.ptr.i.i753, %for.inc.i752 ], [ %199, %cleanup483.critedge ] - %201 = load ptr, ptr %__begin2.sroa.0.05.i749, align 8 - %refcount.i.i750 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %201, i64 0, i32 1 - %202 = atomicrmw sub ptr %refcount.i.i750, i32 2 acq_rel, align 4 - %cmp.i.not.i.i751 = icmp eq i32 %202, 2 - br i1 %cmp.i.not.i.i751, label %if.then.i.i760, label %for.inc.i752 - -if.then.i.i760: ; preds = %for.body.i748 + %cmp.i.not4.i750 = icmp eq ptr %199, %200 + br i1 %cmp.i.not4.i750, label %for.end.i760, label %for.body.i751 + +for.body.i751: ; preds = %cleanup483.critedge, %for.inc.i755 + %__begin2.sroa.0.05.i752 = phi ptr [ %incdec.ptr.i.i756, %for.inc.i755 ], [ %199, %cleanup483.critedge ] + %201 = load ptr, ptr %__begin2.sroa.0.05.i752, align 8 + %refcount.i.i753 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %201, i64 0, i32 1 + %202 = atomicrmw sub ptr %refcount.i.i753, i32 2 acq_rel, align 4 + %cmp.i.not.i.i754 = icmp eq i32 %202, 2 + br i1 %cmp.i.not.i.i754, label %if.then.i.i763, label %for.inc.i755 + +if.then.i.i763: ; preds = %for.body.i751 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %201) - to label %for.inc.i752 unwind label %terminate.lpad.i761 + to label %for.inc.i755 unwind label %terminate.lpad.i764 -for.inc.i752: ; preds = %if.then.i.i760, %for.body.i748 - %incdec.ptr.i.i753 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i749, i64 1 - %cmp.i.not.i754 = icmp eq ptr %incdec.ptr.i.i753, %200 - br i1 %cmp.i.not.i754, label %for.end.loopexit.i755, label %for.body.i748 +for.inc.i755: ; preds = %if.then.i.i763, %for.body.i751 + %incdec.ptr.i.i756 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i752, i64 1 + %cmp.i.not.i757 = icmp eq ptr %incdec.ptr.i.i756, %200 + br i1 %cmp.i.not.i757, label %for.end.loopexit.i758, label %for.body.i751 -for.end.loopexit.i755: ; preds = %for.inc.i752 - %.pre.i756 = load ptr, ptr %refs, align 8 - br label %for.end.i757 +for.end.loopexit.i758: ; preds = %for.inc.i755 + %.pre.i759 = load ptr, ptr %refs, align 8 + br label %for.end.i760 -for.end.i757: ; preds = %for.end.loopexit.i755, %cleanup483.critedge - %203 = phi ptr [ %.pre.i756, %for.end.loopexit.i755 ], [ %199, %cleanup483.critedge ] - %tobool.not.i.i.i.i758 = icmp eq ptr %203, null - br i1 %tobool.not.i.i.i.i758, label %cleanup483, label %if.then.i.i.i.i759 +for.end.i760: ; preds = %for.end.loopexit.i758, %cleanup483.critedge + %203 = phi ptr [ %.pre.i759, %for.end.loopexit.i758 ], [ %199, %cleanup483.critedge ] + %tobool.not.i.i.i.i761 = icmp eq ptr %203, null + br i1 %tobool.not.i.i.i.i761, label %cleanup483, label %if.then.i.i.i.i762 -if.then.i.i.i.i759: ; preds = %for.end.i757 +if.then.i.i.i.i762: ; preds = %for.end.i760 call void @_ZdlPv(ptr noundef nonnull %203) #31 br label %cleanup483 -terminate.lpad.i761: ; preds = %if.then.i.i760 +terminate.lpad.i764: ; preds = %if.then.i.i763 %204 = landingpad { ptr, i32 } catch ptr null %205 = extractvalue { ptr, i32 } %204, 0 call void @__clang_call_terminate(ptr %205) #32 unreachable -cleanup483: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, %if.then.i.i.i.i759, %for.end.i757 +cleanup483: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, %if.then.i.i.i.i762, %for.end.i760 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %data) #28 ret void } @@ -67348,23 +67374,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i22, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %tree.0, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %9, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %9, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %9) #31 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %refs, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -84560,12 +84587,12 @@ entry: %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %1 = getelementptr inbounds %class.anon.876, ptr %ref.tmp78, i64 0, i32 1 %2 = getelementptr inbounds %class.anon.876, ptr %ref.tmp78, i64 0, i32 2 - %message_.i159 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_80, i64 0, i32 1 + %message_.i160 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_80, i64 0, i32 1 br label %for.body for.body: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit, %entry - %__begin2.0.idx224 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit.331, i64 %__begin2.0.idx224 + %__begin2.0.idx225 = phi i64 [ 0, %entry ], [ %__begin2.0.add, %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr @constinit.331, i64 %__begin2.0.idx225 %3 = load i32, ptr %__begin2.0.ptr, align 4 %conv = zext i32 %3 to i64 store i64 9, ptr %ref.tmp5, align 8 @@ -84595,11 +84622,11 @@ invoke.cont: ; preds = %.noexc call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp4) #28 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %flats, i8 0, i64 24, i1 false) - %cmp8213.not = icmp eq i32 %3, 0 - br i1 %cmp8213.not, label %for.end, label %for.body9 + %cmp8214.not = icmp eq i32 %3, 0 + br i1 %cmp8214.not, label %for.end, label %for.body9 for.body9: ; preds = %invoke.cont, %invoke.cont14 - %i.0214 = phi i64 [ %inc, %invoke.cont14 ], [ 0, %invoke.cont ] + %i.0215 = phi i64 [ %inc, %invoke.cont14 ], [ 0, %invoke.cont ] %call4.i.i31 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #33 to label %invoke.cont12 unwind label %lpad11.loopexit.split-lp.loopexit @@ -84656,23 +84683,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_M_allocateEm. %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i33, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal11CordRepFlatEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call4.i.i31, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %8, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %8, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %8) #31 br label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %flats, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -84680,7 +84708,7 @@ _ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3 br label %invoke.cont14 invoke.cont14: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i - %9 = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %7, %if.then.i.i ] + %9 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %7, %if.then.i.i ] %10 = load ptr, ptr %9, align 8 %storage.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %10, i64 0, i32 3 store i8 120, ptr %storage.i, align 1 @@ -84688,7 +84716,7 @@ invoke.cont14: ; preds = %_ZNSt6vectorIPN4abs %add.ptr.i.i36 = getelementptr inbounds ptr, ptr %11, i64 -1 %12 = load ptr, ptr %add.ptr.i.i36, align 8 store i64 1, ptr %12, align 8 - %inc = add nuw nsw i64 %i.0214, 1 + %inc = add nuw nsw i64 %i.0215, 1 %exitcond.not = icmp eq i64 %inc, %conv br i1 %exitcond.not, label %for.end.loopexit, label %for.body9, !llvm.loop !1433 @@ -84708,12 +84736,12 @@ lpad11.loopexit: ; preds = %if.then.i, %if.end. br label %ehcleanup114 lpad11.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal11CordRepFlatEEE8allocateERS4_m.exit.i.i.i.i, %for.body9 - %lpad.loopexit201 = landingpad { ptr, i32 } + %lpad.loopexit202 = landingpad { ptr, i32 } cleanup br label %ehcleanup114 lpad11.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %for.end, %if.then.i84, %if.end.i78 - %lpad.loopexit204 = landingpad { ptr, i32 } + %lpad.loopexit205 = landingpad { ptr, i32 } cleanup br label %ehcleanup114 @@ -84761,27 +84789,27 @@ _ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit: ; preds = %call.i store i8 1, ptr %arrayidx7.i.i, align 1 %edges_.i = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %call.i3739, i64 0, i32 1 store ptr %15, ptr %edges_.i, align 8 - %incdec.ptr.i215 = getelementptr inbounds ptr, ptr %14, i64 1 - store ptr %incdec.ptr.i215, ptr %it, align 8 + %incdec.ptr.i216 = getelementptr inbounds ptr, ptr %14, i64 1 + store ptr %incdec.ptr.i216, ptr %it, align 8 %19 = load ptr, ptr %_M_finish.i.i, align 8 - %cmp.i.not216 = icmp eq ptr %incdec.ptr.i215, %19 - br i1 %cmp.i.not216, label %cond.end42, label %while.body + %cmp.i.not217 = icmp eq ptr %incdec.ptr.i216, %19 + br i1 %cmp.i.not217, label %cond.end42, label %while.body while.body: ; preds = %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit, %if.end - %incdec.ptr.i220 = phi ptr [ %incdec.ptr.i, %if.end ], [ %incdec.ptr.i215, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit ] - %right.0219 = phi ptr [ %right.1, %if.end ], [ %call.i3739, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit ] - %left.0218 = phi ptr [ %left.1, %if.end ], [ null, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit ] - %split_count.0217 = phi i64 [ %inc27, %if.end ], [ 0, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit ] - %inc27 = add i64 %split_count.0217, 1 + %incdec.ptr.i221 = phi ptr [ %incdec.ptr.i, %if.end ], [ %incdec.ptr.i216, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit ] + %right.0220 = phi ptr [ %right.1, %if.end ], [ %call.i3739, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit ] + %left.0219 = phi ptr [ %left.1, %if.end ], [ null, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit ] + %split_count.0218 = phi i64 [ %inc27, %if.end ], [ 0, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit ] + %inc27 = add i64 %split_count.0218, 1 %cmp28 = icmp ugt i64 %inc27, 2 br i1 %cmp28, label %if.then, label %if.else if.then: ; preds = %while.body - %tobool.not = icmp eq ptr %left.0218, null + %tobool.not = icmp eq ptr %left.0219, null br i1 %tobool.not, label %cond.end, label %cond.true cond.true: ; preds = %if.then - %tag.i.i40 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %right.0219, i64 0, i32 2 + %tag.i.i40 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %right.0220, i64 0, i32 2 %20 = load i8, ptr %tag.i.i40, align 4 %or.cond.i.i = icmp ugt i8 %20, 4 br i1 %or.cond.i.i, label %if.then.i, label %if.end.i.i @@ -84791,7 +84819,7 @@ if.end.i.i: ; preds = %cond.true br i1 %cmp6.i.i, label %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, label %if.end.i _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %if.end.i.i - %child.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %right.0219, i64 0, i32 2 + %child.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %right.0220, i64 0, i32 2 %21 = load ptr, ptr %child.i.i, align 8 %tag9.phi.trans.insert.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %21, i64 0, i32 2 %.pre.i.i = load i8, ptr %tag9.phi.trans.insert.i.i, align 4 @@ -84799,15 +84827,15 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i: ; preds = %if.end.i. br i1 %22, label %if.then.i, label %if.end.i if.then.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %cond.true - %call1.i41 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef nonnull %left.0218, ptr noundef nonnull %right.0219) + %call1.i41 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef nonnull %left.0219, ptr noundef nonnull %right.0220) to label %cond.end unwind label %lpad11.loopexit if.end.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i, %if.end.i.i - %call2.i42 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef nonnull %left.0218, ptr noundef nonnull %right.0219) + %call2.i42 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef nonnull %left.0219, ptr noundef nonnull %right.0220) to label %cond.end unwind label %lpad11.loopexit cond.end: ; preds = %if.then.i, %if.end.i, %if.then - %cond = phi ptr [ %right.0219, %if.then ], [ %call1.i41, %if.then.i ], [ %call2.i42, %if.end.i ] + %cond = phi ptr [ %right.0220, %if.then ], [ %call1.i41, %if.then.i ], [ %call2.i42, %if.end.i ] %23 = load ptr, ptr %it, align 8 %24 = load ptr, ptr %23, align 8 %call.i4356 = invoke noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #30 @@ -84844,7 +84872,7 @@ _ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit57: ; preds = %call br label %if.end if.else: ; preds = %while.body - %28 = load ptr, ptr %incdec.ptr.i220, align 8 + %28 = load ptr, ptr %incdec.ptr.i221, align 8 %tag.i.i58 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %28, i64 0, i32 2 %29 = load i8, ptr %tag.i.i58, align 4 %or.cond.i.i59 = icmp ugt i8 %29, 4 @@ -84863,15 +84891,15 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i64: ; preds = %if.end. br i1 %31, label %if.then.i68, label %if.end.i62 if.then.i68: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i64, %if.else - %call1.i70 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %right.0219, ptr noundef nonnull %28) + %call1.i70 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %right.0220, ptr noundef nonnull %28) to label %if.end unwind label %lpad11.loopexit if.end.i62: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i64, %if.end.i.i60 - %call2.i72 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %right.0219, ptr noundef nonnull %28) + %call2.i72 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %right.0220, ptr noundef nonnull %28) to label %if.end unwind label %lpad11.loopexit if.end: ; preds = %if.then.i68, %if.end.i62, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit57 - %left.1 = phi ptr [ %cond, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit57 ], [ %left.0218, %if.end.i62 ], [ %left.0218, %if.then.i68 ] + %left.1 = phi ptr [ %cond, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit57 ], [ %left.0219, %if.end.i62 ], [ %left.0219, %if.then.i68 ] %right.1 = phi ptr [ %call.i4356, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit57 ], [ %call2.i72, %if.end.i62 ], [ %call1.i70, %if.then.i68 ] %32 = load ptr, ptr %it, align 8 %incdec.ptr.i = getelementptr inbounds ptr, ptr %32, i64 1 @@ -84970,7 +84998,7 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i97, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %cond43, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 + %cmp.i.i.i11.i.i.i.i = icmp sgt ptr %40, null br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i @@ -84978,7 +85006,8 @@ if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_base br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i, %if.then.i.i.i12.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.lhs.cast.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 store ptr %cond.i10.i.i.i.i, ptr %ref, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -85022,38 +85051,39 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i117: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i108 %mul.i.i.i.i.i.i.i118 = shl nuw nsw i64 %cond.i.i.i.i.i115, 3 - %call5.i.i.i.i.i.i.i133 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i118) #30 + %call5.i.i.i.i.i.i.i134 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i118) #30 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i119 unwind label %lpad44.loopexit _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i119: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i117, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i108 - %cond.i10.i.i.i.i120 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i108 ], [ %call5.i.i.i.i.i.i.i133, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i117 ] + %cond.i10.i.i.i.i120 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i108 ], [ %call5.i.i.i.i.i.i.i134, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i117 ] %add.ptr.i.i.i.i121 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i120, i64 %sub.ptr.div.i.i.i.i.i.i109 store ptr %call50, ptr %add.ptr.i.i.i.i121, align 8 - %cmp.i.i.i11.i.i.i.i122 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i109, 0 - br i1 %cmp.i.i.i11.i.i.i.i122, label %if.then.i.i.i12.i.i.i.i129, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i123 + %cmp.i.i.i11.i.i.i.i122 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i106, 0 + br i1 %cmp.i.i.i11.i.i.i.i122, label %if.then.i.i.i12.i.i.i.i130, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i123 -if.then.i.i.i12.i.i.i.i129: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i119 +if.then.i.i.i12.i.i.i.i130: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i119 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i120, ptr align 8 %44, i64 %sub.ptr.sub.i.i.i.i.i.i106, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i123 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i123 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i123: ; preds = %if.then.i.i.i12.i.i.i.i129, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i119 - %incdec.ptr.i.i.i.i124 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i121, i64 1 - %tobool.not.i.i.i.i.i125 = icmp eq ptr %44, null - br i1 %tobool.not.i.i.i.i.i125, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i127, label %if.then.i21.i.i.i.i126 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i123: ; preds = %if.then.i.i.i12.i.i.i.i130, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i119 + %add.ptr.i.i.i.i.i.i.i124 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i120, i64 %sub.ptr.sub.i.i.i.i.i.i106 + %incdec.ptr.i.i.i.i125 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i124, i64 1 + %tobool.not.i.i.i.i.i126 = icmp eq ptr %44, null + br i1 %tobool.not.i.i.i.i.i126, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128, label %if.then.i20.i.i.i.i127 -if.then.i21.i.i.i.i126: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i123 +if.then.i20.i.i.i.i127: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i123 call void @_ZdlPv(ptr noundef nonnull %44) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i127 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i127: ; preds = %if.then.i21.i.i.i.i126, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i123 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128: ; preds = %if.then.i20.i.i.i.i127, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i123 store ptr %cond.i10.i.i.i.i120, ptr %ref, align 8 - store ptr %incdec.ptr.i.i.i.i124, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i128 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i120, i64 %cond.i.i.i.i.i115 - store ptr %add.ptr19.i.i.i.i128, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i125, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i129 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i120, i64 %cond.i.i.i.i.i115 + store ptr %add.ptr19.i.i.i.i129, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont51 -invoke.cont51: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i127, %if.then.i.i.i101 - %45 = phi ptr [ %incdec.ptr.i.i.i.i124, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i127 ], [ %incdec.ptr.i.i.i102, %if.then.i.i.i101 ] +invoke.cont51: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128, %if.then.i.i.i101 + %45 = phi ptr [ %incdec.ptr.i.i.i.i125, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i128 ], [ %incdec.ptr.i.i.i102, %if.then.i.i.i101 ] %call55 = invoke noundef zeroext i1 @_ZN4absl13cord_internal12CordRepBtree7IsValidEPKS1_b(ptr noundef %call50, i1 noundef zeroext false) to label %invoke.cont54 unwind label %lpad44.loopexit @@ -85064,12 +85094,12 @@ invoke.cont54: ; preds = %invoke.cont51 br i1 %call55, label %cleanup.cont, label %if.else59 lpad44.loopexit: ; preds = %invoke.cont47, %invoke.cont51, %cond.end42, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i117 - %lpad.loopexit206 = landingpad { ptr, i32 } + %lpad.loopexit207 = landingpad { ptr, i32 } cleanup br label %ehcleanup112 lpad44.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.invoke - %lpad.loopexit.split-lp207 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp208 = landingpad { ptr, i32 } cleanup br label %ehcleanup112 @@ -85094,8 +85124,8 @@ invoke.cont71: ; preds = %invoke.cont69 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp63) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp64) #28 %46 = load ptr, ptr %ref.tmp60, align 8 - %cmp.not.i.i135 = icmp eq ptr %46, null - br i1 %cmp.not.i.i135, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i136 = icmp eq ptr %46, null + br i1 %cmp.not.i.i136, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont71 %vtable.i.i.i = load ptr, ptr %46, align 8 @@ -85107,8 +85137,8 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE _ZN7testing7MessageD2Ev.exit: ; preds = %invoke.cont71, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %ref.tmp60, align 8 %48 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i137 = icmp eq ptr %48, null - br i1 %cmp.not.i.i137, label %cleanup111, label %cleanup111.sink.split + %cmp.not.i.i138 = icmp eq ptr %48, null + br i1 %cmp.not.i.i138, label %cleanup111, label %cleanup111.sink.split lpad61: ; preds = %if.else59 %49 = landingpad { ptr, i32 } @@ -85139,17 +85169,17 @@ ehcleanup: ; preds = %lpad70, %lpad68 ehcleanup72: ; preds = %ehcleanup, %lpad65 %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %50, %lpad65 ] %53 = load ptr, ptr %ref.tmp60, align 8 - %cmp.not.i.i138 = icmp eq ptr %53, null - br i1 %cmp.not.i.i138, label %_ZN7testing7MessageD2Ev.exit142, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139 + %cmp.not.i.i139 = icmp eq ptr %53, null + br i1 %cmp.not.i.i139, label %_ZN7testing7MessageD2Ev.exit143, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139: ; preds = %ehcleanup72 - %vtable.i.i.i140 = load ptr, ptr %53, align 8 - %vfn.i.i.i141 = getelementptr inbounds ptr, ptr %vtable.i.i.i140, i64 1 - %54 = load ptr, ptr %vfn.i.i.i141, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140: ; preds = %ehcleanup72 + %vtable.i.i.i141 = load ptr, ptr %53, align 8 + %vfn.i.i.i142 = getelementptr inbounds ptr, ptr %vtable.i.i.i141, i64 1 + %54 = load ptr, ptr %vfn.i.i.i142, align 8 call void %54(ptr noundef nonnull align 8 dereferenceable(128) %53) #28 - br label %_ZN7testing7MessageD2Ev.exit142 + br label %_ZN7testing7MessageD2Ev.exit143 -_ZN7testing7MessageD2Ev.exit142: ; preds = %ehcleanup72, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139 +_ZN7testing7MessageD2Ev.exit143: ; preds = %ehcleanup72, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 store ptr null, ptr %ref.tmp60, align 8 br label %ehcleanup74 @@ -85160,48 +85190,48 @@ cleanup.cont: ; preds = %invoke.cont54 store ptr %ok, ptr %ref.tmp78, align 8 store ptr %it, ptr %1, align 8 store ptr %flats, ptr %2, align 8 - %tag.i.i147 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call50, i64 0, i32 2 - %56 = load i8, ptr %tag.i.i147, align 4 - %cmp.i.i148 = icmp ult i8 %56, 6 - %.pre230 = load ptr, ptr %_M_finish.i.i, align 8 - br i1 %cmp.i.i148, label %while.cond.i.preheader, label %land.rhs.i.i + %tag.i.i148 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call50, i64 0, i32 2 + %56 = load i8, ptr %tag.i.i148, align 4 + %cmp.i.i149 = icmp ult i8 %56, 6 + %.pre231 = load ptr, ptr %_M_finish.i.i, align 8 + br i1 %cmp.i.i149, label %while.cond.i.preheader, label %land.rhs.i.i land.rhs.i.i: ; preds = %cleanup.cont - %cmp.i.not.i.i = icmp eq ptr %55, %.pre230 + %cmp.i.not.i.i = icmp eq ptr %55, %.pre231 br i1 %cmp.i.not.i.i, label %land.end9.i.i, label %land.rhs3.i.i land.rhs3.i.i: ; preds = %land.rhs.i.i - %incdec.ptr.i.i.i151 = getelementptr inbounds ptr, ptr %55, i64 1 - store ptr %incdec.ptr.i.i.i151, ptr %it, align 8 + %incdec.ptr.i.i.i152 = getelementptr inbounds ptr, ptr %55, i64 1 + store ptr %incdec.ptr.i.i.i152, ptr %it, align 8 %57 = load ptr, ptr %55, align 8 %cmp8.i.i = icmp eq ptr %57, %call50 %58 = zext i1 %cmp8.i.i to i8 br label %land.end9.i.i land.end9.i.i: ; preds = %land.rhs3.i.i, %land.rhs.i.i - %it.promoted228 = phi ptr [ %55, %land.rhs.i.i ], [ %incdec.ptr.i.i.i151, %land.rhs3.i.i ] + %it.promoted229 = phi ptr [ %55, %land.rhs.i.i ], [ %incdec.ptr.i.i.i152, %land.rhs3.i.i ] %frombool.i.i = phi i8 [ 0, %land.rhs.i.i ], [ %58, %land.rhs3.i.i ] store i8 %frombool.i.i, ptr %ok, align 1 br label %while.cond.i.preheader while.cond.i.preheader: ; preds = %land.end9.i.i, %cleanup.cont - %.ph = phi ptr [ %55, %cleanup.cont ], [ %it.promoted228, %land.end9.i.i ] - %frombool.i23.i223.ph = phi i8 [ 1, %cleanup.cont ], [ %frombool.i.i, %land.end9.i.i ] + %.ph = phi ptr [ %55, %cleanup.cont ], [ %it.promoted229, %land.end9.i.i ] + %frombool.i23.i224.ph = phi i8 [ 1, %cleanup.cont ], [ %frombool.i.i, %land.end9.i.i ] br label %while.cond.i.outer while.cond.i.outer: ; preds = %while.cond.i.preheader, %land.end9.i22.i - %.ph245 = phi i8 [ %56, %while.cond.i.preheader ], [ %61, %land.end9.i22.i ] - %.ph246 = phi ptr [ %.ph, %while.cond.i.preheader ], [ %65, %land.end9.i22.i ] - %frombool.i23.i223.ph247 = phi i8 [ %frombool.i23.i223.ph, %while.cond.i.preheader ], [ %frombool.i23.i, %land.end9.i22.i ] + %.ph246 = phi i8 [ %56, %while.cond.i.preheader ], [ %61, %land.end9.i22.i ] + %.ph247 = phi ptr [ %.ph, %while.cond.i.preheader ], [ %65, %land.end9.i22.i ] + %frombool.i23.i224.ph248 = phi i8 [ %frombool.i23.i224.ph, %while.cond.i.preheader ], [ %frombool.i23.i, %land.end9.i22.i ] %rep.addr.0.i.ph = phi ptr [ %call50, %while.cond.i.preheader ], [ %60, %land.end9.i22.i ] br label %while.cond.i while.cond.i: ; preds = %while.cond.i.outer, %while.body.i - %59 = phi i8 [ %61, %while.body.i ], [ %.ph245, %while.cond.i.outer ] + %59 = phi i8 [ %61, %while.body.i ], [ %.ph246, %while.cond.i.outer ] %rep.addr.0.i = phi ptr [ %60, %while.body.i ], [ %rep.addr.0.i.ph, %while.cond.i.outer ] switch i8 %59, label %invoke.cont79 [ i8 1, label %while.body.i - i8 3, label %if.then.i153 + i8 3, label %if.then.i154 ] while.body.i: ; preds = %while.cond.i @@ -85213,27 +85243,27 @@ while.body.i: ; preds = %while.cond.i br i1 %cmp.i12.i, label %while.cond.i, label %if.end.i13.i, !llvm.loop !1435 if.end.i13.i: ; preds = %while.body.i - %62 = and i8 %frombool.i23.i223.ph247, 1 + %62 = and i8 %frombool.i23.i224.ph248, 1 %tobool.not.i14.i = icmp eq i8 %62, 0 - %cmp.i.not.i17.i = icmp eq ptr %.ph246, %.pre230 + %cmp.i.not.i17.i = icmp eq ptr %.ph247, %.pre231 %or.cond = select i1 %tobool.not.i14.i, i1 true, i1 %cmp.i.not.i17.i br i1 %or.cond, label %land.end9.i22.i, label %land.rhs3.i18.i land.rhs3.i18.i: ; preds = %if.end.i13.i - %incdec.ptr.i.i19.i = getelementptr inbounds ptr, ptr %.ph246, i64 1 + %incdec.ptr.i.i19.i = getelementptr inbounds ptr, ptr %.ph247, i64 1 store ptr %incdec.ptr.i.i19.i, ptr %it, align 8 - %63 = load ptr, ptr %.ph246, align 8 + %63 = load ptr, ptr %.ph247, align 8 %cmp8.i20.i = icmp eq ptr %63, %60 %64 = zext i1 %cmp8.i20.i to i8 br label %land.end9.i22.i land.end9.i22.i: ; preds = %land.rhs3.i18.i, %if.end.i13.i - %65 = phi ptr [ %.ph246, %if.end.i13.i ], [ %incdec.ptr.i.i19.i, %land.rhs3.i18.i ] + %65 = phi ptr [ %.ph247, %if.end.i13.i ], [ %incdec.ptr.i.i19.i, %land.rhs3.i18.i ] %frombool.i23.i = phi i8 [ 0, %if.end.i13.i ], [ %64, %land.rhs3.i18.i ] store i8 %frombool.i23.i, ptr %ok, align 1 br label %while.cond.i.outer, !llvm.loop !1435 -if.then.i153: ; preds = %while.cond.i +if.then.i154: ; preds = %while.cond.i %edges_.i.i = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %rep.addr.0.i, i64 0, i32 1 %arrayidx.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %rep.addr.0.i, i64 0, i32 3, i64 1 %66 = load i8, ptr %arrayidx.i.i.i, align 1 @@ -85244,45 +85274,45 @@ if.then.i153: ; preds = %while.cond.i %cmp8.not29.i = icmp eq i8 %66, %67 br i1 %cmp8.not29.i, label %invoke.cont79, label %for.body.preheader.i -for.body.preheader.i: ; preds = %if.then.i153 +for.body.preheader.i: ; preds = %if.then.i154 %conv.i.i.i = zext i8 %66 to i64 - %add.ptr.i.i154 = getelementptr inbounds ptr, ptr %edges_.i.i, i64 %conv.i.i.i + %add.ptr.i.i155 = getelementptr inbounds ptr, ptr %edges_.i.i, i64 %conv.i.i.i br label %for.body.i for.body.i: ; preds = %for.body.i, %for.body.preheader.i - %__begin3.030.i = phi ptr [ %incdec.ptr.i155, %for.body.i ], [ %add.ptr.i.i154, %for.body.preheader.i ] + %__begin3.030.i = phi ptr [ %incdec.ptr.i156, %for.body.i ], [ %add.ptr.i.i155, %for.body.preheader.i ] %68 = load ptr, ptr %__begin3.030.i, align 8 call fastcc void @"_ZN4absl15cordrep_testing13CordVisitRepsIRZNS_13cord_internal12_GLOBAL__N_129CordRepBtreeTest_Rebuild_Test8TestBodyEvE3$_0EEvPNS2_7CordRepEOT_"(ptr noundef %68, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp78) - %incdec.ptr.i155 = getelementptr inbounds ptr, ptr %__begin3.030.i, i64 1 - %cmp8.not.i = icmp eq ptr %incdec.ptr.i155, %add.ptr.i25.i + %incdec.ptr.i156 = getelementptr inbounds ptr, ptr %__begin3.030.i, i64 1 + %cmp8.not.i = icmp eq ptr %incdec.ptr.i156, %add.ptr.i25.i br i1 %cmp8.not.i, label %invoke.cont79.loopexit, label %for.body.i invoke.cont79.loopexit: ; preds = %for.body.i - %.pre231 = load i8, ptr %ok, align 1 + %.pre232 = load i8, ptr %ok, align 1 br label %invoke.cont79 -invoke.cont79: ; preds = %while.cond.i, %invoke.cont79.loopexit, %if.then.i153 - %69 = phi i8 [ %.pre231, %invoke.cont79.loopexit ], [ %frombool.i23.i223.ph247, %if.then.i153 ], [ %frombool.i23.i223.ph247, %while.cond.i ] +invoke.cont79: ; preds = %while.cond.i, %invoke.cont79.loopexit, %if.then.i154 + %69 = phi i8 [ %.pre232, %invoke.cont79.loopexit ], [ %frombool.i23.i224.ph248, %if.then.i154 ], [ %frombool.i23.i224.ph248, %while.cond.i ] %70 = and i8 %69, 1 %tobool82.not = icmp eq i8 %70, 0 br i1 %tobool82.not, label %land.end.thread, label %land.end land.end.thread: ; preds = %invoke.cont79 store i8 0, ptr %gtest_ar_80, align 8 - store ptr null, ptr %message_.i159, align 8 + store ptr null, ptr %message_.i160, align 8 br label %if.else91 land.end: ; preds = %invoke.cont79 %71 = load ptr, ptr %_M_finish.i.i, align 8 %72 = load ptr, ptr %it, align 8 - %cmp.i158 = icmp eq ptr %72, %71 - %frombool87 = zext i1 %cmp.i158 to i8 + %cmp.i159 = icmp eq ptr %72, %71 + %frombool87 = zext i1 %cmp.i159 to i8 store i8 %frombool87, ptr %gtest_ar_80, align 8 - store ptr null, ptr %message_.i159, align 8 - br i1 %cmp.i158, label %cleanup111, label %if.else91 + store ptr null, ptr %message_.i160, align 8 + br i1 %cmp.i159, label %cleanup111, label %if.else91 -ehcleanup74: ; preds = %_ZN7testing7MessageD2Ev.exit142, %lpad61 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit142 ], [ %49, %lpad61 ] +ehcleanup74: ; preds = %_ZN7testing7MessageD2Ev.exit143, %lpad61 + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit143 ], [ %49, %lpad61 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup112 @@ -85292,8 +85322,8 @@ if.else91: ; preds = %land.end.thread, %l invoke.cont94: ; preds = %if.else91 %73 = load ptr, ptr %ref.tmp92, align 8 - %add.ptr.i161 = getelementptr inbounds i8, ptr %73, i64 16 - %call2.i163 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i161, ptr noundef nonnull @.str.334) + %add.ptr.i162 = getelementptr inbounds i8, ptr %73, i64 16 + %call2.i164 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i162, ptr noundef nonnull @.str.334) to label %invoke.cont96 unwind label %lpad95 invoke.cont96: ; preds = %invoke.cont94 @@ -85313,13 +85343,13 @@ invoke.cont105: ; preds = %invoke.cont103 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp98) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99) #28 %74 = load ptr, ptr %ref.tmp92, align 8 - %cmp.not.i.i164 = icmp eq ptr %74, null - br i1 %cmp.not.i.i164, label %if.end109, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + %cmp.not.i.i165 = icmp eq ptr %74, null + br i1 %cmp.not.i.i165, label %if.end109, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %invoke.cont105 - %vtable.i.i.i166 = load ptr, ptr %74, align 8 - %vfn.i.i.i167 = getelementptr inbounds ptr, ptr %vtable.i.i.i166, i64 1 - %75 = load ptr, ptr %vfn.i.i.i167, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166: ; preds = %invoke.cont105 + %vtable.i.i.i167 = load ptr, ptr %74, align 8 + %vfn.i.i.i168 = getelementptr inbounds ptr, ptr %vtable.i.i.i167, i64 1 + %75 = load ptr, ptr %vfn.i.i.i168, align 8 call void %75(ptr noundef nonnull align 8 dereferenceable(128) %74) #28 br label %if.end109 @@ -85352,119 +85382,119 @@ ehcleanup107: ; preds = %lpad104, %lpad102 ehcleanup108: ; preds = %ehcleanup107, %lpad95 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %ehcleanup107 ], [ %77, %lpad95 ] %80 = load ptr, ptr %ref.tmp92, align 8 - %cmp.not.i.i169 = icmp eq ptr %80, null - br i1 %cmp.not.i.i169, label %_ZN7testing7MessageD2Ev.exit173, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 + %cmp.not.i.i170 = icmp eq ptr %80, null + br i1 %cmp.not.i.i170, label %_ZN7testing7MessageD2Ev.exit174, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170: ; preds = %ehcleanup108 - %vtable.i.i.i171 = load ptr, ptr %80, align 8 - %vfn.i.i.i172 = getelementptr inbounds ptr, ptr %vtable.i.i.i171, i64 1 - %81 = load ptr, ptr %vfn.i.i.i172, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171: ; preds = %ehcleanup108 + %vtable.i.i.i172 = load ptr, ptr %80, align 8 + %vfn.i.i.i173 = getelementptr inbounds ptr, ptr %vtable.i.i.i172, i64 1 + %81 = load ptr, ptr %vfn.i.i.i173, align 8 call void %81(ptr noundef nonnull align 8 dereferenceable(128) %80) #28 - br label %_ZN7testing7MessageD2Ev.exit173 + br label %_ZN7testing7MessageD2Ev.exit174 -_ZN7testing7MessageD2Ev.exit173: ; preds = %ehcleanup108, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 +_ZN7testing7MessageD2Ev.exit174: ; preds = %ehcleanup108, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171 store ptr null, ptr %ref.tmp92, align 8 br label %ehcleanup110 -if.end109: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165, %invoke.cont105 +if.end109: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166, %invoke.cont105 store ptr null, ptr %ref.tmp92, align 8 - %.pr = load ptr, ptr %message_.i159, align 8 - %cmp.not.i.i175 = icmp eq ptr %.pr, null - br i1 %cmp.not.i.i175, label %cleanup111, label %cleanup111.sink.split + %.pr = load ptr, ptr %message_.i160, align 8 + %cmp.not.i.i176 = icmp eq ptr %.pr, null + br i1 %cmp.not.i.i176, label %cleanup111, label %cleanup111.sink.split cleanup111.sink.split: ; preds = %if.end109, %_ZN7testing7MessageD2Ev.exit - %.pr.sink240 = phi ptr [ %48, %_ZN7testing7MessageD2Ev.exit ], [ %.pr, %if.end109 ] - %message_.i.sink.ph = phi ptr [ %message_.i, %_ZN7testing7MessageD2Ev.exit ], [ %message_.i159, %if.end109 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr.sink240) #28 - call void @_ZdlPv(ptr noundef nonnull %.pr.sink240) #31 + %.pr.sink241 = phi ptr [ %48, %_ZN7testing7MessageD2Ev.exit ], [ %.pr, %if.end109 ] + %message_.i.sink.ph = phi ptr [ %message_.i, %_ZN7testing7MessageD2Ev.exit ], [ %message_.i160, %if.end109 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr.sink241) #28 + call void @_ZdlPv(ptr noundef nonnull %.pr.sink241) #31 br label %cleanup111 cleanup111: ; preds = %cleanup111.sink.split, %if.end109, %land.end, %_ZN7testing7MessageD2Ev.exit - %message_.i.sink = phi ptr [ %message_.i, %_ZN7testing7MessageD2Ev.exit ], [ %message_.i159, %land.end ], [ %message_.i159, %if.end109 ], [ %message_.i.sink.ph, %cleanup111.sink.split ] + %message_.i.sink = phi ptr [ %message_.i, %_ZN7testing7MessageD2Ev.exit ], [ %message_.i160, %land.end ], [ %message_.i160, %if.end109 ], [ %message_.i.sink.ph, %cleanup111.sink.split ] store ptr null, ptr %message_.i.sink, align 8 %82 = load ptr, ptr %ref, align 8 %cmp.i.not4.i = icmp eq ptr %82, %45 - br i1 %cmp.i.not4.i, label %if.then.i.i.i.i184, label %for.body.i179 + br i1 %cmp.i.not4.i, label %if.then.i.i.i.i185, label %for.body.i180 -for.body.i179: ; preds = %cleanup111, %for.inc.i - %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i182, %for.inc.i ], [ %82, %cleanup111 ] +for.body.i180: ; preds = %cleanup111, %for.inc.i + %__begin2.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i183, %for.inc.i ], [ %82, %cleanup111 ] %83 = load ptr, ptr %__begin2.sroa.0.05.i, align 8 - %refcount.i.i180 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %83, i64 0, i32 1 - %84 = atomicrmw sub ptr %refcount.i.i180, i32 2 acq_rel, align 4 - %cmp.i.not.i.i181 = icmp eq i32 %84, 2 - br i1 %cmp.i.not.i.i181, label %if.then.i.i185, label %for.inc.i + %refcount.i.i181 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %83, i64 0, i32 1 + %84 = atomicrmw sub ptr %refcount.i.i181, i32 2 acq_rel, align 4 + %cmp.i.not.i.i182 = icmp eq i32 %84, 2 + br i1 %cmp.i.not.i.i182, label %if.then.i.i186, label %for.inc.i -if.then.i.i185: ; preds = %for.body.i179 +if.then.i.i186: ; preds = %for.body.i180 invoke void @_ZN4absl13cord_internal7CordRep7DestroyEPS1_(ptr noundef %83) to label %for.inc.i unwind label %terminate.lpad.i -for.inc.i: ; preds = %if.then.i.i185, %for.body.i179 - %incdec.ptr.i.i182 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 - %cmp.i.not.i = icmp eq ptr %incdec.ptr.i.i182, %45 - br i1 %cmp.i.not.i, label %for.end.i, label %for.body.i179 +for.inc.i: ; preds = %if.then.i.i186, %for.body.i180 + %incdec.ptr.i.i183 = getelementptr inbounds ptr, ptr %__begin2.sroa.0.05.i, i64 1 + %cmp.i.not.i = icmp eq ptr %incdec.ptr.i.i183, %45 + br i1 %cmp.i.not.i, label %for.end.i, label %for.body.i180 for.end.i: ; preds = %for.inc.i %.pre.i = load ptr, ptr %ref, align 8 - %tobool.not.i.i.i.i183 = icmp eq ptr %.pre.i, null - br i1 %tobool.not.i.i.i.i183, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i184 + %tobool.not.i.i.i.i184 = icmp eq ptr %.pre.i, null + br i1 %tobool.not.i.i.i.i184, label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, label %if.then.i.i.i.i185 -if.then.i.i.i.i184: ; preds = %cleanup111, %for.end.i +if.then.i.i.i.i185: ; preds = %cleanup111, %for.end.i %85 = phi ptr [ %.pre.i, %for.end.i ], [ %45, %cleanup111 ] call void @_ZdlPv(ptr noundef nonnull %85) #31 br label %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit -terminate.lpad.i: ; preds = %if.then.i.i185 +terminate.lpad.i: ; preds = %if.then.i.i186 %86 = landingpad { ptr, i32 } catch ptr null %87 = extractvalue { ptr, i32 } %86, 0 call void @__clang_call_terminate(ptr %87) #32 unreachable -_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i184 +_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i185 %88 = load ptr, ptr %flats, align 8 %tobool.not.i.i.i = icmp eq ptr %88, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit, label %if.then.i.i.i186 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit, label %if.then.i.i.i187 -if.then.i.i.i186: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit +if.then.i.i.i187: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit call void @_ZdlPv(ptr noundef nonnull %88) #31 br label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit -_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, %if.then.i.i.i186 +_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit: ; preds = %_ZN4absl15cordrep_testing9AutoUnrefD2Ev.exit, %if.then.i.i.i187 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1400) #28 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx224, 4 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx225, 4 %cmp.not = icmp ne i64 %__begin2.0.add, 20 - %or.cond239.not = select i1 %call55, i1 %cmp.not, i1 false - br i1 %or.cond239.not, label %for.body, label %for.end120 + %or.cond240.not = select i1 %call55, i1 %cmp.not, i1 false + br i1 %or.cond240.not, label %for.body, label %for.end120 -ehcleanup110: ; preds = %_ZN7testing7MessageD2Ev.exit173, %lpad93 - %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit173 ], [ %76, %lpad93 ] +ehcleanup110: ; preds = %_ZN7testing7MessageD2Ev.exit174, %lpad93 + %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit174 ], [ %76, %lpad93 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_80) #28 br label %ehcleanup112 ehcleanup112: ; preds = %lpad44.loopexit, %lpad44.loopexit.split-lp, %ehcleanup110, %ehcleanup74 - %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup110 ], [ %.pn.pn.pn, %ehcleanup74 ], [ %lpad.loopexit206, %lpad44.loopexit ], [ %lpad.loopexit.split-lp207, %lpad44.loopexit.split-lp ] + %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup110 ], [ %.pn.pn.pn, %ehcleanup74 ], [ %lpad.loopexit207, %lpad44.loopexit ], [ %lpad.loopexit.split-lp208, %lpad44.loopexit.split-lp ] call void @_ZN4absl15cordrep_testing9AutoUnrefD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref) #28 br label %ehcleanup114 ehcleanup114: ; preds = %lpad11.loopexit, %lpad11.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad11.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad11.loopexit.split-lp.loopexit, %ehcleanup112 - %.pn28 = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup112 ], [ %lpad.loopexit, %lpad11.loopexit ], [ %lpad.loopexit201, %lpad11.loopexit.split-lp.loopexit ], [ %lpad.loopexit204, %lpad11.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp, %lpad11.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %.pn28 = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup112 ], [ %lpad.loopexit, %lpad11.loopexit ], [ %lpad.loopexit202, %lpad11.loopexit.split-lp.loopexit ], [ %lpad.loopexit205, %lpad11.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp, %lpad11.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] %89 = load ptr, ptr %flats, align 8 - %tobool.not.i.i.i187 = icmp eq ptr %89, null - br i1 %tobool.not.i.i.i187, label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit189, label %if.then.i.i.i188 + %tobool.not.i.i.i188 = icmp eq ptr %89, null + br i1 %tobool.not.i.i.i188, label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit190, label %if.then.i.i.i189 -if.then.i.i.i188: ; preds = %ehcleanup114 +if.then.i.i.i189: ; preds = %ehcleanup114 call void @_ZdlPv(ptr noundef nonnull %89) #31 - br label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit189 + br label %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit190 -_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit189: ; preds = %ehcleanup114, %if.then.i.i.i188 +_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit190: ; preds = %ehcleanup114, %if.then.i.i.i189 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1400) #28 br label %eh.resume for.end120: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit ret void -eh.resume: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit189, %lpad.body - %.pn28.pn = phi { ptr, i32 } [ %.pn28, %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit189 ], [ %eh.lpad-body, %lpad.body ] +eh.resume: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit190, %lpad.body + %.pn28.pn = phi { ptr, i32 } [ %.pn28, %_ZNSt6vectorIPN4absl13cord_internal11CordRepFlatESaIS3_EED2Ev.exit190 ], [ %eh.lpad-body, %lpad.body ] resume { ptr, i32 } %.pn28.pn } @@ -86561,7 +86591,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.198, ptr %call5.i.i.i.i2.i, align 8 @@ -87931,7 +87961,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.198, ptr %call5.i.i.i.i2.i, align 8 @@ -89485,7 +89515,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.198, ptr %call5.i.i.i.i2.i, align 8 @@ -90572,37 +90602,35 @@ _ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.e if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i %call5.i.i.i.i1.i.i.i.i33 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad + to label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i unwind label %lpad invoke.cont.thread.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 %_M_finish.i.i.i.i.i13.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp29, i64 0, i32 1 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds ptr, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i.i15.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp29, i64 0, i32 2 store i64 0, ptr %ref.tmp29, align 8, !alias.scope !1517 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i15.i, align 8, !alias.scope !1517 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_finish.i.i.i.i.i13.i, align 8, !alias.scope !1517 br label %invoke.cont36 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i33, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !1520 call void @llvm.experimental.noalias.scope.decl(metadata !1517) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp29, i8 0, i64 24, i1 false), !alias.scope !1517 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #30 to label %if.then.i.i.i.i.i unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i, !noalias !1517 -if.then.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 +if.then.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp29, align 8, !alias.scope !1517 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp29, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp29, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !1517 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i33, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !1517 br label %invoke.cont36 -_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIPN4absl13cord_internal7CordRepEED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i.i.i %22 = landingpad { ptr, i32 } cleanup br label %if.then.i.i.i.i44 @@ -91674,7 +91702,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.198, ptr %call5.i.i.i.i2.i, align 8 diff --git a/bench/abseil-cpp/optimized/cord_rep_crc_test.cc.ll b/bench/abseil-cpp/optimized/cord_rep_crc_test.cc.ll index 0b13cb6e6e4..6424903b9ea 100644 --- a/bench/abseil-cpp/optimized/cord_rep_crc_test.cc.ll +++ b/bench/abseil-cpp/optimized/cord_rep_crc_test.cc.ll @@ -4350,16 +4350,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -4390,24 +4390,24 @@ _ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_all %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #20 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -4419,11 +4419,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"struct.absl::crc_internal::CrcCordState::PrefixCrc", ptr %6, i64 32 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"struct.absl::crc_internal::CrcCordState::PrefixCrc", ptr %6, i64 32 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } diff --git a/bench/abseil-cpp/optimized/cord_test.cc.ll b/bench/abseil-cpp/optimized/cord_test.cc.ll index 2a35a3adf58..1e9c108524a 100644 --- a/bench/abseil-cpp/optimized/cord_test.cc.ll +++ b/bench/abseil-cpp/optimized/cord_test.cc.ll @@ -5478,23 +5478,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #34 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -5531,7 +5532,7 @@ declare i32 @__gxx_personality_v0(...) define internal void @_ZL38gtest_WithParamCordTest_EvalGenerator_v(ptr noalias sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #33, !noalias !5 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 2 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 8 store i32 0, ptr %call5.i.i.i.i2.i.i.i, align 4, !noalias !5 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 4 store i32 1, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 4, !noalias !5 @@ -11185,7 +11186,7 @@ define linkonce_odr dso_local void @_ZNSt6vectorISt4pairISt17basic_string_viewIc entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %this, i8 0, i64 24, i1 false) %add.ptr.i.idx = shl nsw i64 %__l.coerce1, 5 - %cmp.i.i = icmp ugt i64 %__l.coerce1, 288230376151711743 + %cmp.i.i = icmp ugt i64 %add.ptr.i.idx, 9223372036854775776 br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i if.then.i.i: ; preds = %entry @@ -11197,7 +11198,13 @@ if.then.i.i: ; preds = %entry _ZNSt6vectorISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i: ; preds = %entry %cmp.not.i.i = icmp eq i64 %__l.coerce1, 0 - br i1 %cmp.not.i.i, label %invoke.cont, label %for.body.i.i.i.i.preheader.i + br i1 %cmp.not.i.i, label %_ZNSt12_Vector_baseISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE11_M_allocateEm.exit.thread.i, label %for.body.i.i.i.i.preheader.i + +_ZNSt12_Vector_baseISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE11_M_allocateEm.exit.thread.i: ; preds = %_ZNSt6vectorISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i + %add.ptr8.i = getelementptr inbounds i8, ptr null, i64 %add.ptr.i.idx + %_M_end_of_storage9.i = getelementptr inbounds %"struct.std::_Vector_base, std::basic_string_view>, std::allocator, std::basic_string_view>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 + store ptr %add.ptr8.i, ptr %_M_end_of_storage9.i, align 8 + br label %invoke.cont for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i %call5.i.i.i.i2 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i.idx) #33 @@ -11205,15 +11212,14 @@ for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt4pai call5.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i store ptr %call5.i.i.i.i2, ptr %this, align 8 - %add.ptr.i1 = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i2, i64 %__l.coerce1 + %add.ptr.i1 = getelementptr i8, ptr %call5.i.i.i.i2, i64 %add.ptr.i.idx %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::basic_string_view>, std::allocator, std::basic_string_view>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i1, ptr %_M_end_of_storage.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2, ptr align 8 %__l.coerce0, i64 %add.ptr.i.idx, i1 false) - %scevgep.i = getelementptr i8, ptr %call5.i.i.i.i2, i64 %add.ptr.i.idx br label %invoke.cont -invoke.cont: ; preds = %_ZNSt6vectorISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i, %call5.i.i.i.i.noexc - %__cur.0.lcssa.i.i.i.i.i = phi ptr [ %scevgep.i, %call5.i.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i ] +invoke.cont: ; preds = %call5.i.i.i.i.noexc, %_ZNSt12_Vector_baseISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE11_M_allocateEm.exit.thread.i + %__cur.0.lcssa.i.i.i.i.i = phi ptr [ %add.ptr.i1, %call5.i.i.i.i.noexc ], [ null, %_ZNSt12_Vector_baseISt4pairISt17basic_string_viewIcSt11char_traitsIcEES4_ESaIS5_EE11_M_allocateEm.exit.thread.i ] %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::basic_string_view>, std::allocator, std::basic_string_view>>>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %__cur.0.lcssa.i.i.i.i.i, ptr %_M_finish.i, align 8 ret void @@ -34199,23 +34205,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #34 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -53898,7 +53905,7 @@ entry: %ref.tmp203 = alloca %"class.std::__cxx11::basic_string", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #33 store ptr %call5.i.i.i.i2.i, ptr %chunks, align 8 - %add.ptr.i1.i = getelementptr inbounds %"class.std::basic_string_view", ptr %call5.i.i.i.i2.i, i64 3 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 48 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %chunks, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(48) @constinit.377, i64 48, i1 false) @@ -89203,8 +89210,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 2 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -89219,7 +89225,7 @@ _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i: ; preds = %entry br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i - %add.ptr3.i.i.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr3.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage4.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i, ptr %_M_end_of_storage4.i.i.i, align 8 br label %invoke.cont @@ -89230,7 +89236,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiE call5.i.i.i.i.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i, ptr align 4 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) @@ -89248,9 +89254,10 @@ if.then.i.i2.i.i: ; preds = %lpad.i.i br label %lpad.body invoke.cont: ; preds = %call5.i.i.i.i.noexc.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i - %add.ptr5.i.i.i = phi ptr [ %add.ptr3.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i ], [ %add.ptr.i.i.i, %call5.i.i.i.i.noexc.i.i ] + %cond.i5.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %call5.i.i.i.i.noexc.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_finish.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %call, ptr %agg.result, align 8 %_M_refcount.i.i.i = getelementptr inbounds %"class.std::__shared_ptr", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i, align 8 @@ -100704,7 +100711,7 @@ invoke.cont104: ; preds = %invoke.cont101 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont104 store ptr %call5.i.i.i.i5.i170, ptr %test_cases, align 8 - %add.ptr.i4.i = getelementptr inbounds %"struct.(anonymous namespace)::CordCompareTestCase", ptr %call5.i.i.i.i5.i170, i64 27 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i170, i64 864 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::CordCompareTestCase, std::allocator<(anonymous namespace)::CordCompareTestCase>>::_Vector_impl_data", ptr %test_cases, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i diff --git a/bench/abseil-cpp/optimized/cordz_handle.cc.ll b/bench/abseil-cpp/optimized/cordz_handle.cc.ll index b998f6e27de..94c37b5c020 100644 --- a/bench/abseil-cpp/optimized/cordz_handle.cc.ll +++ b/bench/abseil-cpp/optimized/cordz_handle.cc.ll @@ -203,30 +203,31 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal11CordzHandleESaIS3_EE11_M_allocateEm. %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i6, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal11CordzHandleEEE8allocateERS4_m.exit.i.i.i ] %add.ptr.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store ptr %next.049, ptr %add.ptr.i.i, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal11CordzHandleESaIS3_EE11_M_allocateEm.exit.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %to_delete.sroa.0.050, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i -_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal11CordzHandleESaIS3_EE11_M_allocateEm.exit.i.i +_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal11CordzHandleESaIS3_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %to_delete.sroa.0.050, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i tail call void @_ZdlPv(ptr noundef nonnull %to_delete.sroa.0.050) #15 br label %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i -_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %invoke.cont7 invoke.cont7: ; preds = %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, %if.then.i %to_delete.sroa.10.1 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %to_delete.sroa.10.047, %if.then.i ] - %add.ptr.i.i.pn = phi ptr [ %add.ptr.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %to_delete.sroa.5.048, %if.then.i ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %to_delete.sroa.5.048, %if.then.i ] %to_delete.sroa.0.1 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIPN4absl13cord_internal11CordzHandleESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %to_delete.sroa.0.050, %if.then.i ] - %to_delete.sroa.5.1 = getelementptr inbounds ptr, ptr %add.ptr.i.i.pn, i64 1 + %to_delete.sroa.5.1 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %dq_next_8 = getelementptr inbounds %"class.absl::cord_internal::CordzHandle", ptr %next.049, i64 0, i32 3 %10 = load ptr, ptr %dq_next_8, align 8 %tobool4.not = icmp eq ptr %10, null @@ -604,23 +605,24 @@ _ZNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_M_allocateEm %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i3, %_ZNSt16allocator_traitsISaIPKN4absl13cord_internal11CordzHandleEEE8allocateERS5_m.exit.i.i.i ] %add.ptr.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store ptr %storemerge15, ptr %add.ptr.i.i, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_M_allocateEm.exit.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %cond.i10.i.i1214, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i + br label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i -_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i, i64 1 +_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i, i64 1 %tobool.not.i.i.i = icmp eq ptr %cond.i10.i.i1214, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i1214) #15 br label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i -_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i +_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i store ptr %cond.i10.i.i, ptr %agg.result, align 8 store ptr %incdec.ptr.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %cond.i.i.i @@ -897,23 +899,24 @@ _ZNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_M_allocateEm %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i4, %_ZNSt16allocator_traitsISaIPKN4absl13cord_internal11CordzHandleEEE8allocateERS5_m.exit.i.i.i ] %add.ptr.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store ptr %storemerge18, ptr %add.ptr.i.i, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_M_allocateEm.exit.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %cond.i10.i.i1317, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i + br label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i -_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i, i64 1 +_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i, i64 1 %tobool.not.i.i.i = icmp eq ptr %cond.i10.i.i1317, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i1317) #15 br label %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i -_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i +_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE17_M_realloc_insertIJRKS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIPKN4absl13cord_internal11CordzHandleESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i store ptr %cond.i10.i.i, ptr %agg.result, align 8 store ptr %incdec.ptr.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %cond.i.i.i diff --git a/bench/abseil-cpp/optimized/cordz_handle_test.cc.ll b/bench/abseil-cpp/optimized/cordz_handle_test.cc.ll index 9388ded8758..5f280cacc3b 100644 --- a/bench/abseil-cpp/optimized/cordz_handle_test.cc.ll +++ b/bench/abseil-cpp/optimized/cordz_handle_test.cc.ll @@ -18080,16 +18080,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -18120,24 +18120,24 @@ _ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit: %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #19 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -18149,11 +18149,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"class.absl::AnyInvocable", ptr %6, i64 16 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.absl::AnyInvocable", ptr %6, i64 16 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } diff --git a/bench/abseil-cpp/optimized/cordz_info_statistics_test.cc.ll b/bench/abseil-cpp/optimized/cordz_info_statistics_test.cc.ll index bcfb8868919..d8b60d9c552 100644 --- a/bench/abseil-cpp/optimized/cordz_info_statistics_test.cc.ll +++ b/bench/abseil-cpp/optimized/cordz_info_statistics_test.cc.ll @@ -2649,7 +2649,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.35, ptr %call5.i.i.i.i2.i, align 8 @@ -3446,7 +3446,7 @@ entry: define internal void @_ZN4absl13cord_internal12_GLOBAL__N_139CordzInfoStatisticsTest_SharedFlat_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %cord.i = alloca %"class.absl::cord_internal::InlineData", align 8 - %agg.tmp.i56 = alloca %"class.absl::cord_internal::(anonymous namespace)::EqStatisticsMatcherP", align 8 + %agg.tmp.i57 = alloca %"class.absl::cord_internal::(anonymous namespace)::EqStatisticsMatcherP", align 8 %agg.tmp.i = alloca %"struct.absl::cord_internal::CordzStatistics", align 8 %ref = alloca %"struct.absl::cord_internal::(anonymous namespace)::RefHelper", align 8 %expected = alloca %"struct.absl::cord_internal::CordzStatistics", align 8 @@ -3474,22 +3474,22 @@ _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i30: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i store ptr %call4.i.i.i9, ptr %call5.i.i.i.i.i.i.i10, align 8 %1 = atomicrmw add ptr %0, i32 2 monotonic, align 4 - %call5.i.i.i.i.i.i.i45 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #22 + %call5.i.i.i.i.i.i.i46 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #22 to label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i unwind label %lpad.loopexit _ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i30 - %add.ptr.i.i.i.i34 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i45, i64 1 + %add.ptr.i.i.i.i34 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i46, i64 1 store ptr %call4.i.i.i9, ptr %add.ptr.i.i.i.i34, align 8 %2 = load i64, ptr %call5.i.i.i.i.i.i.i10, align 8 - store i64 %2, ptr %call5.i.i.i.i.i.i.i45, align 8 + store i64 %2, ptr %call5.i.i.i.i.i.i.i46, align 8 tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i.i10) #21 %.pre.pre = load i64, ptr %call4.i.i.i9, align 8 %call5.val8.pre.pre = load i8, ptr %tag.i.i.i, align 4 - %add.ptr19.i.i.i.i40 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i45, i64 2 - %3 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i45, i64 2 + %add.ptr19.i.i.i.i41 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i46, i64 2 + %3 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i.i46, i64 16 store ptr %3, ptr %_M_finish.i.i.i, align 8 - store ptr %add.ptr19.i.i.i.i40, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %call5.i.i.i.i.i.i.i45, ptr %ref, align 8 + store ptr %add.ptr19.i.i.i.i41, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %call5.i.i.i.i.i.i.i46, ptr %ref, align 8 %4 = getelementptr inbounds i8, ptr %expected, i64 48 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(336) %4, i8 0, i64 288, i1 false) store i64 %.pre.pre, ptr %expected, align 8 @@ -3567,24 +3567,24 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. invoke.cont13: ; preds = %for.body.i.i.i.i.i.i.i.i.i call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i) tail call void @llvm.experimental.noalias.scope.decl(metadata !48) - call void @llvm.lifetime.start.p0(i64 336, ptr nonnull %agg.tmp.i56) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i56, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp, i64 136, i1 false), !noalias !48 - %update_tracker.i.i.i.i.i.i.i57 = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %agg.tmp.i56, i64 0, i32 7 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i57, i8 0, i64 200, i1 false), !noalias !48 - br label %for.body.i.i.i.i.i.i.i.i.i58 - -for.body.i.i.i.i.i.i.i.i.i58: ; preds = %for.body.i.i.i.i.i.i.i.i.i58, %invoke.cont13 - %indvars.iv.i.i.i.i.i.i.i.i.i59 = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i62, %for.body.i.i.i.i.i.i.i.i.i58 ], [ 0, %invoke.cont13 ] - %arrayidx.i.i.i.i.i.i.i.i.i60 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i57, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i59 - %arrayidx4.i.i.i.i.i.i.i.i.i61 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i59 - %8 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i61 monotonic, align 8, !noalias !48 - store atomic i64 %8, ptr %arrayidx.i.i.i.i.i.i.i.i.i60 monotonic, align 8, !noalias !48 - %indvars.iv.next.i.i.i.i.i.i.i.i.i62 = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i59, 1 - %exitcond.not.i.i.i.i.i.i.i.i.i63 = icmp eq i64 %indvars.iv.next.i.i.i.i.i.i.i.i.i62, 25 - br i1 %exitcond.not.i.i.i.i.i.i.i.i.i63, label %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i, label %for.body.i.i.i.i.i.i.i.i.i58, !llvm.loop !5 - -_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i58 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i56, i64 136, i1 false) + call void @llvm.lifetime.start.p0(i64 336, ptr nonnull %agg.tmp.i57) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i57, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp, i64 136, i1 false), !noalias !48 + %update_tracker.i.i.i.i.i.i.i58 = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %agg.tmp.i57, i64 0, i32 7 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i58, i8 0, i64 200, i1 false), !noalias !48 + br label %for.body.i.i.i.i.i.i.i.i.i59 + +for.body.i.i.i.i.i.i.i.i.i59: ; preds = %for.body.i.i.i.i.i.i.i.i.i59, %invoke.cont13 + %indvars.iv.i.i.i.i.i.i.i.i.i60 = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i63, %for.body.i.i.i.i.i.i.i.i.i59 ], [ 0, %invoke.cont13 ] + %arrayidx.i.i.i.i.i.i.i.i.i61 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i58, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i60 + %arrayidx4.i.i.i.i.i.i.i.i.i62 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i60 + %8 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i62 monotonic, align 8, !noalias !48 + store atomic i64 %8, ptr %arrayidx.i.i.i.i.i.i.i.i.i61 monotonic, align 8, !noalias !48 + %indvars.iv.next.i.i.i.i.i.i.i.i.i63 = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i60, 1 + %exitcond.not.i.i.i.i.i.i.i.i.i64 = icmp eq i64 %indvars.iv.next.i.i.i.i.i.i.i.i.i63, 25 + br i1 %exitcond.not.i.i.i.i.i.i.i.i.i64, label %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i, label %for.body.i.i.i.i.i.i.i.i.i59, !llvm.loop !5 + +_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i59 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i57, i64 136, i1 false) %update_tracker.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %ref.tmp, i64 0, i32 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i.i, i8 0, i64 200, i1 false), !alias.scope !48 br label %for.body.i.i.i.i.i.i.i.i.i.i @@ -3592,7 +3592,7 @@ _ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatistic for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i, %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i %indvars.iv.i.i.i.i.i.i.i.i.i.i = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i ], [ 0, %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i ] %arrayidx.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i - %arrayidx4.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i57, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i + %arrayidx4.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i58, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i %9 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i.i monotonic, align 8, !noalias !48 store atomic i64 %9, ptr %arrayidx.i.i.i.i.i.i.i.i.i.i monotonic, align 8, !alias.scope !48 %indvars.iv.next.i.i.i.i.i.i.i.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i, 1 @@ -3600,29 +3600,29 @@ for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %exitcond.not.i.i.i.i.i.i.i.i.i.i, label %invoke.cont14, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !5 invoke.cont14: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i - call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i56) + call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i57) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %cord.i) store i64 1, ptr %cord.i, align 8, !noalias !51 %rep.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::InlineData::Rep::AsTree", ptr %cord.i, i64 0, i32 1 store ptr %call4.i.i.i9, ptr %rep.i.i.i.i, align 8, !noalias !51 invoke void @_ZN4absl13cord_internal9CordzInfo9TrackCordERNS0_10InlineDataENS0_18CordzUpdateTracker16MethodIdentifierE(ptr noundef nonnull align 8 dereferenceable(16) %cord.i, i32 noundef 0) - to label %.noexc64 unwind label %lpad.loopexit.split-lp + to label %.noexc65 unwind label %lpad.loopexit.split-lp -.noexc64: ; preds = %invoke.cont14 +.noexc65: ; preds = %invoke.cont14 %10 = load i64, ptr %cord.i, align 8, !noalias !51 %sub.i.i = add nsw i64 %10, -1 %11 = inttoptr i64 %sub.i.i to ptr invoke void @_ZNK4absl13cord_internal9CordzInfo18GetCordzStatisticsEv(ptr nonnull sret(%"struct.absl::cord_internal::CordzStatistics") align 8 %ref.tmp15, ptr noundef nonnull align 8 dereferenceable(1332) %11) - to label %.noexc65 unwind label %lpad.loopexit.split-lp + to label %.noexc66 unwind label %lpad.loopexit.split-lp -.noexc65: ; preds = %.noexc64 +.noexc66: ; preds = %.noexc65 %12 = load i64, ptr %cord.i, align 8, !noalias !51 %sub.i1.i = add nsw i64 %12, -1 %13 = inttoptr i64 %sub.i1.i to ptr invoke void @_ZN4absl13cord_internal9CordzInfo7UntrackEv(ptr noundef nonnull align 8 dereferenceable(1332) %13) to label %invoke.cont16 unwind label %lpad.loopexit.split-lp -invoke.cont16: ; preds = %.noexc65 +invoke.cont16: ; preds = %.noexc66 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %cord.i) invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS3_15CordzStatisticsEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar, ptr noundef nonnull align 8 dereferenceable(336) %ref.tmp, ptr noundef nonnull @.str.24, ptr noundef nonnull align 8 dereferenceable(336) %ref.tmp15) to label %invoke.cont17 unwind label %lpad.loopexit.split-lp @@ -3634,7 +3634,7 @@ invoke.cont17: ; preds = %invoke.cont16 br i1 %tobool.i.not, label %if.else, label %if.end lpad.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i30 - %lpad.loopexit74 = landingpad { ptr, i32 } + %lpad.loopexit75 = landingpad { ptr, i32 } cleanup %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i10, i64 1 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 @@ -3642,8 +3642,8 @@ lpad.loopexit: ; preds = %_ZNSt16allocator_tr store ptr %call5.i.i.i.i.i.i.i10, ptr %ref, align 8 br label %ehcleanup30 -lpad.loopexit.split-lp: ; preds = %invoke.cont16, %entry, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont14, %.noexc64, %.noexc65 - %lpad.loopexit.split-lp75 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %invoke.cont16, %entry, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %invoke.cont14, %.noexc65, %.noexc66 + %lpad.loopexit.split-lp76 = landingpad { ptr, i32 } cleanup br label %ehcleanup30 @@ -3706,25 +3706,25 @@ lpad27: ; preds = %invoke.cont26 ehcleanup: ; preds = %lpad27, %lpad23 %.pn = phi { ptr, i32 } [ %21, %lpad27 ], [ %20, %lpad23 ] %22 = load ptr, ptr %ref.tmp19, align 8 - %cmp.not.i.i67 = icmp eq ptr %22, null - br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 + %cmp.not.i.i68 = icmp eq ptr %22, null + br i1 %cmp.not.i.i68, label %_ZN7testing7MessageD2Ev.exit72, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup - %vtable.i.i.i69 = load ptr, ptr %22, align 8 - %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 - %23 = load ptr, ptr %vfn.i.i.i70, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69: ; preds = %ehcleanup + %vtable.i.i.i70 = load ptr, ptr %22, align 8 + %vfn.i.i.i71 = getelementptr inbounds ptr, ptr %vtable.i.i.i70, i64 1 + %23 = load ptr, ptr %vfn.i.i.i71, align 8 call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #20 - br label %_ZN7testing7MessageD2Ev.exit71 + br label %_ZN7testing7MessageD2Ev.exit72 -_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 +_ZN7testing7MessageD2Ev.exit72: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i69 store ptr null, ptr %ref.tmp19, align 8 br label %ehcleanup29 if.end: ; preds = %invoke.cont17, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %24 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i72 = icmp eq ptr %24, null - br i1 %cmp.not.i.i72, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i73 = icmp eq ptr %24, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #20 @@ -3737,10 +3737,10 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de for.body.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %for.inc.i %__begin3.sroa.0.05.i.idx = phi i64 [ %__begin3.sroa.0.05.i.add, %for.inc.i ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit ] - %__begin3.sroa.0.05.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i.i45, i64 %__begin3.sroa.0.05.i.idx + %__begin3.sroa.0.05.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i.i46, i64 %__begin3.sroa.0.05.i.idx %25 = load ptr, ptr %__begin3.sroa.0.05.i.ptr, align 8 - %refcount.i.i73 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %25, i64 0, i32 1 - %26 = atomicrmw sub ptr %refcount.i.i73, i32 2 acq_rel, align 4 + %refcount.i.i74 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %25, i64 0, i32 1 + %26 = atomicrmw sub ptr %refcount.i.i74, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %26, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -3772,13 +3772,13 @@ terminate.lpad.i: ; preds = %if.then.i.i _ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i ret void -ehcleanup29: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad20 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit71 ], [ %19, %lpad20 ] +ehcleanup29: ; preds = %_ZN7testing7MessageD2Ev.exit72, %lpad20 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit72 ], [ %19, %lpad20 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #20 br label %ehcleanup30 ehcleanup30: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %ehcleanup29 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup29 ], [ %lpad.loopexit74, %lpad.loopexit ], [ %lpad.loopexit.split-lp75, %lpad.loopexit.split-lp ] + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup29 ], [ %lpad.loopexit75, %lpad.loopexit ], [ %lpad.loopexit.split-lp76, %lpad.loopexit.split-lp ] call fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref) #20 resume { ptr, i32 } %.pn.pn.pn } @@ -4200,7 +4200,7 @@ entry: define internal void @_ZN4absl13cord_internal12_GLOBAL__N_143CordzInfoStatisticsTest_SharedExternal_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %cord.i = alloca %"class.absl::cord_internal::InlineData", align 8 - %agg.tmp.i47 = alloca %"class.absl::cord_internal::(anonymous namespace)::EqStatisticsMatcherP", align 8 + %agg.tmp.i48 = alloca %"class.absl::cord_internal::(anonymous namespace)::EqStatisticsMatcherP", align 8 %agg.tmp.i = alloca %"struct.absl::cord_internal::CordzStatistics", align 8 %ref = alloca %"struct.absl::cord_internal::(anonymous namespace)::RefHelper", align 8 %expected = alloca %"struct.absl::cord_internal::CordzStatistics", align 8 @@ -4236,20 +4236,20 @@ _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 %0 = atomicrmw add ptr %refcount.i.i.i.i.i, i32 2 monotonic, align 4 - %call5.i.i.i.i.i.i.i45 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #22 + %call5.i.i.i.i.i.i.i46 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #22 to label %invoke.cont4 unwind label %lpad invoke.cont4: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i30 - %add.ptr.i.i.i.i34 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i45, i64 1 + %add.ptr.i.i.i.i34 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i46, i64 1 store ptr %call.i.i9, ptr %add.ptr.i.i.i.i34, align 8 %1 = load i64, ptr %call5.i.i.i.i.i.i.i10, align 8 - store i64 %1, ptr %call5.i.i.i.i.i.i.i45, align 8 - %incdec.ptr.i.i.i.i37 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i45, i64 2 + store i64 %1, ptr %call5.i.i.i.i.i.i.i46, align 8 + %incdec.ptr.i.i.i.i38 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i.i46, i64 16 tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i.i10) #21 - store ptr %call5.i.i.i.i.i.i.i45, ptr %ref, align 8 - store ptr %incdec.ptr.i.i.i.i37, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i40 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i45, i64 2 - store ptr %add.ptr19.i.i.i.i40, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %call5.i.i.i.i.i.i.i46, ptr %ref, align 8 + store ptr %incdec.ptr.i.i.i.i38, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i41 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i.i46, i64 2 + store ptr %add.ptr19.i.i.i.i41, ptr %_M_end_of_storage.i.i.i, align 8 %2 = getelementptr inbounds i8, ptr %expected, i64 32 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(336) %2, i8 0, i64 304, i1 false) %3 = load i64, ptr %call.i.i9, align 8 @@ -4317,24 +4317,24 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. invoke.cont10: ; preds = %for.body.i.i.i.i.i.i.i.i.i call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i) tail call void @llvm.experimental.noalias.scope.decl(metadata !66) - call void @llvm.lifetime.start.p0(i64 336, ptr nonnull %agg.tmp.i47) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i47, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp, i64 136, i1 false), !noalias !66 - %update_tracker.i.i.i.i.i.i.i48 = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %agg.tmp.i47, i64 0, i32 7 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i48, i8 0, i64 200, i1 false), !noalias !66 - br label %for.body.i.i.i.i.i.i.i.i.i49 - -for.body.i.i.i.i.i.i.i.i.i49: ; preds = %for.body.i.i.i.i.i.i.i.i.i49, %invoke.cont10 - %indvars.iv.i.i.i.i.i.i.i.i.i50 = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i53, %for.body.i.i.i.i.i.i.i.i.i49 ], [ 0, %invoke.cont10 ] - %arrayidx.i.i.i.i.i.i.i.i.i51 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i48, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i50 - %arrayidx4.i.i.i.i.i.i.i.i.i52 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i50 - %7 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i52 monotonic, align 8, !noalias !66 - store atomic i64 %7, ptr %arrayidx.i.i.i.i.i.i.i.i.i51 monotonic, align 8, !noalias !66 - %indvars.iv.next.i.i.i.i.i.i.i.i.i53 = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i50, 1 - %exitcond.not.i.i.i.i.i.i.i.i.i54 = icmp eq i64 %indvars.iv.next.i.i.i.i.i.i.i.i.i53, 25 - br i1 %exitcond.not.i.i.i.i.i.i.i.i.i54, label %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i, label %for.body.i.i.i.i.i.i.i.i.i49, !llvm.loop !5 - -_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i49 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i47, i64 136, i1 false) + call void @llvm.lifetime.start.p0(i64 336, ptr nonnull %agg.tmp.i48) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i48, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp, i64 136, i1 false), !noalias !66 + %update_tracker.i.i.i.i.i.i.i49 = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %agg.tmp.i48, i64 0, i32 7 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i49, i8 0, i64 200, i1 false), !noalias !66 + br label %for.body.i.i.i.i.i.i.i.i.i50 + +for.body.i.i.i.i.i.i.i.i.i50: ; preds = %for.body.i.i.i.i.i.i.i.i.i50, %invoke.cont10 + %indvars.iv.i.i.i.i.i.i.i.i.i51 = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i54, %for.body.i.i.i.i.i.i.i.i.i50 ], [ 0, %invoke.cont10 ] + %arrayidx.i.i.i.i.i.i.i.i.i52 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i49, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i51 + %arrayidx4.i.i.i.i.i.i.i.i.i53 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i51 + %7 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i53 monotonic, align 8, !noalias !66 + store atomic i64 %7, ptr %arrayidx.i.i.i.i.i.i.i.i.i52 monotonic, align 8, !noalias !66 + %indvars.iv.next.i.i.i.i.i.i.i.i.i54 = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i51, 1 + %exitcond.not.i.i.i.i.i.i.i.i.i55 = icmp eq i64 %indvars.iv.next.i.i.i.i.i.i.i.i.i54, 25 + br i1 %exitcond.not.i.i.i.i.i.i.i.i.i55, label %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i, label %for.body.i.i.i.i.i.i.i.i.i50, !llvm.loop !5 + +_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i50 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i48, i64 136, i1 false) %update_tracker.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %ref.tmp, i64 0, i32 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i.i, i8 0, i64 200, i1 false), !alias.scope !66 br label %for.body.i.i.i.i.i.i.i.i.i.i @@ -4342,7 +4342,7 @@ _ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatistic for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i, %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i %indvars.iv.i.i.i.i.i.i.i.i.i.i = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i ], [ 0, %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i ] %arrayidx.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i - %arrayidx4.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i48, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i + %arrayidx4.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i49, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i %8 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i.i monotonic, align 8, !noalias !66 store atomic i64 %8, ptr %arrayidx.i.i.i.i.i.i.i.i.i.i monotonic, align 8, !alias.scope !66 %indvars.iv.next.i.i.i.i.i.i.i.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i, 1 @@ -4350,29 +4350,29 @@ for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %exitcond.not.i.i.i.i.i.i.i.i.i.i, label %invoke.cont11, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !5 invoke.cont11: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i - call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i47) + call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i48) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %cord.i) store i64 1, ptr %cord.i, align 8, !noalias !69 %rep.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::InlineData::Rep::AsTree", ptr %cord.i, i64 0, i32 1 store ptr %call.i.i9, ptr %rep.i.i.i.i, align 8, !noalias !69 invoke void @_ZN4absl13cord_internal9CordzInfo9TrackCordERNS0_10InlineDataENS0_18CordzUpdateTracker16MethodIdentifierE(ptr noundef nonnull align 8 dereferenceable(16) %cord.i, i32 noundef 0) - to label %.noexc55 unwind label %lpad + to label %.noexc56 unwind label %lpad -.noexc55: ; preds = %invoke.cont11 +.noexc56: ; preds = %invoke.cont11 %9 = load i64, ptr %cord.i, align 8, !noalias !69 %sub.i.i = add nsw i64 %9, -1 %10 = inttoptr i64 %sub.i.i to ptr invoke void @_ZNK4absl13cord_internal9CordzInfo18GetCordzStatisticsEv(ptr nonnull sret(%"struct.absl::cord_internal::CordzStatistics") align 8 %ref.tmp12, ptr noundef nonnull align 8 dereferenceable(1332) %10) - to label %.noexc56 unwind label %lpad + to label %.noexc57 unwind label %lpad -.noexc56: ; preds = %.noexc55 +.noexc57: ; preds = %.noexc56 %11 = load i64, ptr %cord.i, align 8, !noalias !69 %sub.i1.i = add nsw i64 %11, -1 %12 = inttoptr i64 %sub.i1.i to ptr invoke void @_ZN4absl13cord_internal9CordzInfo7UntrackEv(ptr noundef nonnull align 8 dereferenceable(1332) %12) to label %invoke.cont13 unwind label %lpad -invoke.cont13: ; preds = %.noexc56 +invoke.cont13: ; preds = %.noexc57 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %cord.i) invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS3_15CordzStatisticsEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar, ptr noundef nonnull align 8 dereferenceable(336) %ref.tmp, ptr noundef nonnull @.str.63, ptr noundef nonnull align 8 dereferenceable(336) %ref.tmp12) to label %invoke.cont14 unwind label %lpad @@ -4383,7 +4383,7 @@ invoke.cont14: ; preds = %invoke.cont13 %tobool.i.not = icmp eq i8 %14, 0 br i1 %tobool.i.not, label %if.else, label %if.end -lpad: ; preds = %.noexc56, %.noexc55, %invoke.cont11, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i30, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %call.i.i.noexc, %entry, %invoke.cont13 +lpad: ; preds = %.noexc57, %.noexc56, %invoke.cont11, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i30, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i, %call.i.i.noexc, %entry, %invoke.cont13 %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup27 @@ -4447,25 +4447,25 @@ lpad24: ; preds = %invoke.cont23 ehcleanup: ; preds = %lpad24, %lpad20 %.pn = phi { ptr, i32 } [ %21, %lpad24 ], [ %20, %lpad20 ] %22 = load ptr, ptr %ref.tmp16, align 8 - %cmp.not.i.i58 = icmp eq ptr %22, null - br i1 %cmp.not.i.i58, label %_ZN7testing7MessageD2Ev.exit62, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i59 + %cmp.not.i.i59 = icmp eq ptr %22, null + br i1 %cmp.not.i.i59, label %_ZN7testing7MessageD2Ev.exit63, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i59: ; preds = %ehcleanup - %vtable.i.i.i60 = load ptr, ptr %22, align 8 - %vfn.i.i.i61 = getelementptr inbounds ptr, ptr %vtable.i.i.i60, i64 1 - %23 = load ptr, ptr %vfn.i.i.i61, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60: ; preds = %ehcleanup + %vtable.i.i.i61 = load ptr, ptr %22, align 8 + %vfn.i.i.i62 = getelementptr inbounds ptr, ptr %vtable.i.i.i61, i64 1 + %23 = load ptr, ptr %vfn.i.i.i62, align 8 call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #20 - br label %_ZN7testing7MessageD2Ev.exit62 + br label %_ZN7testing7MessageD2Ev.exit63 -_ZN7testing7MessageD2Ev.exit62: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i59 +_ZN7testing7MessageD2Ev.exit63: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i60 store ptr null, ptr %ref.tmp16, align 8 br label %ehcleanup26 if.end: ; preds = %invoke.cont14, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %24 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i63 = icmp eq ptr %24, null - br i1 %cmp.not.i.i63, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i64 = icmp eq ptr %24, null + br i1 %cmp.not.i.i64, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #20 @@ -4478,10 +4478,10 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de for.body.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %for.inc.i %__begin3.sroa.0.05.i.idx = phi i64 [ %__begin3.sroa.0.05.i.add, %for.inc.i ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit ] - %__begin3.sroa.0.05.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i.i45, i64 %__begin3.sroa.0.05.i.idx + %__begin3.sroa.0.05.i.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i.i46, i64 %__begin3.sroa.0.05.i.idx %25 = load ptr, ptr %__begin3.sroa.0.05.i.ptr, align 8 - %refcount.i.i64 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %25, i64 0, i32 1 - %26 = atomicrmw sub ptr %refcount.i.i64, i32 2 acq_rel, align 4 + %refcount.i.i65 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %25, i64 0, i32 1 + %26 = atomicrmw sub ptr %refcount.i.i65, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %26, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -4513,8 +4513,8 @@ terminate.lpad.i: ; preds = %if.then.i.i _ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i ret void -ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit62, %lpad17 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit62 ], [ %19, %lpad17 ] +ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit63, %lpad17 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit63 ], [ %19, %lpad17 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #20 br label %ehcleanup27 @@ -4930,7 +4930,7 @@ entry: define internal void @_ZN4absl13cord_internal12_GLOBAL__N_144CordzInfoStatisticsTest_SharedSubstring_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: %cord.i = alloca %"class.absl::cord_internal::InlineData", align 8 - %agg.tmp.i96 = alloca %"class.absl::cord_internal::(anonymous namespace)::EqStatisticsMatcherP", align 8 + %agg.tmp.i98 = alloca %"class.absl::cord_internal::(anonymous namespace)::EqStatisticsMatcherP", align 8 %agg.tmp.i = alloca %"struct.absl::cord_internal::CordzStatistics", align 8 %ref = alloca %"struct.absl::cord_internal::(anonymous namespace)::RefHelper", align 8 %expected = alloca %"struct.absl::cord_internal::CordzStatistics", align 8 @@ -4955,33 +4955,33 @@ invoke.cont: ; preds = %entry br label %while.body.i while.body.i: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i, %invoke.cont - %cond.i10.i.i.i.i123 = phi ptr [ null, %invoke.cont ], [ %2, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] - %add.ptr19.i.i.i.i120 = phi ptr [ null, %invoke.cont ], [ %3, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] - %incdec.ptr.i.i.i.i116 = phi ptr [ null, %invoke.cont ], [ %incdec.ptr.i.i.i.i117, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] + %cond.i10.i.i.i.i125 = phi ptr [ null, %invoke.cont ], [ %2, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] + %add.ptr19.i.i.i.i122 = phi ptr [ null, %invoke.cont ], [ %3, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] + %incdec.ptr.i.i.i.i118 = phi ptr [ null, %invoke.cont ], [ %incdec.ptr.i.i.i.i119, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] %n.addr.03.i = phi i64 [ 2, %invoke.cont ], [ %dec.i, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] %dec.i = add nsw i64 %n.addr.03.i, -1 %1 = atomicrmw add ptr %0, i32 2 monotonic, align 4 - %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i116, %add.ptr19.i.i.i.i120 + %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i118, %add.ptr19.i.i.i.i122 br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i if.then.i.i.i: ; preds = %while.body.i - store ptr %call4.i.i.i10, ptr %incdec.ptr.i.i.i.i116, align 8 + store ptr %call4.i.i.i10, ptr %incdec.ptr.i.i.i.i118, align 8 br label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i if.else.i.i.i: ; preds = %while.body.i - %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %add.ptr19.i.i.i.i120 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cond.i10.i.i.i.i123 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %add.ptr19.i.i.i.i122 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cond.i10.i.i.i.i125 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - store ptr %add.ptr19.i.i.i.i120, ptr %_M_finish.i.i.i, align 8 - store ptr %add.ptr19.i.i.i.i120, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %cond.i10.i.i.i.i123, ptr %ref, align 8 + store ptr %add.ptr19.i.i.i.i122, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr19.i.i.i.i122, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %cond.i10.i.i.i.i125, ptr %ref, align 8 br label %if.then.i.i.i.i.i.invoke -if.then.i.i.i.i.i.invoke: ; preds = %if.else.i.i.i55, %if.else.i.i.i18, %if.then.i.i.i.i.i +if.then.i.i.i.i.i.invoke: ; preds = %if.else.i.i.i56, %if.else.i.i.i18, %if.then.i.i.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.25) #25 to label %if.then.i.i.i.i.i.cont unwind label %lpad.loopexit.split-lp @@ -5008,35 +5008,36 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i11, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %call4.i.i.i10, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %cond.i10.i.i.i.i123, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %cond.i10.i.i.i.i125, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %tobool.not.i.i.i.i.i = icmp eq ptr %cond.i10.i.i.i.i123, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %tobool.not.i.i.i.i.i = icmp eq ptr %cond.i10.i.i.i.i125, null + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i.i123) #21 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i.i125) #21 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i _ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, %if.then.i.i.i - %2 = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %cond.i10.i.i.i.i123, %if.then.i.i.i ] - %3 = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %add.ptr19.i.i.i.i120, %if.then.i.i.i ] - %add.ptr.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i.i116, %if.then.i.i.i ] - %incdec.ptr.i.i.i.i117 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.pn, i64 1 + %2 = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %cond.i10.i.i.i.i125, %if.then.i.i.i ] + %3 = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %add.ptr19.i.i.i.i122, %if.then.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i.i118, %if.then.i.i.i ] + %incdec.ptr.i.i.i.i119 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 1 %tobool.not.i = icmp eq i64 %dec.i, 0 br i1 %tobool.not.i, label %invoke.cont2, label %while.body.i, !llvm.loop !81 invoke.cont2: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i - store ptr %incdec.ptr.i.i.i.i117, ptr %_M_finish.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i119, ptr %_M_finish.i.i.i, align 8 store ptr %3, ptr %_M_end_of_storage.i.i.i, align 8 store ptr %2, ptr %ref, align 8 %call.i12 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #22 @@ -5052,12 +5053,12 @@ invoke.cont4: ; preds = %invoke.cont2 store i8 1, ptr %tag.i, align 4 %child.i = getelementptr inbounds %"struct.absl::cord_internal::CordRepSubstring", ptr %call.i12, i64 0, i32 2 store ptr %call4.i.i.i10, ptr %child.i, align 8 - %cmp.not.i.i.i15 = icmp eq ptr %incdec.ptr.i.i.i.i117, %3 + %cmp.not.i.i.i15 = icmp eq ptr %incdec.ptr.i.i.i.i119, %3 br i1 %cmp.not.i.i.i15, label %if.else.i.i.i18, label %if.then.i.i.i16 if.then.i.i.i16: ; preds = %invoke.cont4 - store ptr %call.i12, ptr %incdec.ptr.i.i.i.i117, align 8 - %incdec.ptr.i.i.i17 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.pn, i64 2 + store ptr %call.i12, ptr %incdec.ptr.i.i.i.i119, align 8 + %incdec.ptr.i.i.i17 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 2 store ptr %incdec.ptr.i.i.i17, ptr %_M_finish.i.i.i, align 8 %.pre = load ptr, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont6 @@ -5082,103 +5083,105 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i32: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i23 %mul.i.i.i.i.i.i.i33 = shl nuw nsw i64 %cond.i.i.i.i.i30, 3 - %call5.i.i.i.i.i.i.i47 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i33) #22 + %call5.i.i.i.i.i.i.i48 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i33) #22 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i34 unwind label %lpad.loopexit.split-lp _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i34: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i32, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i23 - %cond.i10.i.i.i.i35 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i23 ], [ %call5.i.i.i.i.i.i.i47, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i32 ] + %cond.i10.i.i.i.i35 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i23 ], [ %call5.i.i.i.i.i.i.i48, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i32 ] %add.ptr.i.i.i.i36 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i35, i64 %sub.ptr.div.i.i.i.i.i.i24 store ptr %call.i12, ptr %add.ptr.i.i.i.i36, align 8 - %cmp.i.i.i11.i.i.i.i37 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i24, 0 - br i1 %cmp.i.i.i11.i.i.i.i37, label %if.then.i.i.i12.i.i.i.i43, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i38 + %cmp.i.i.i11.i.i.i.i37 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21, 0 + br i1 %cmp.i.i.i11.i.i.i.i37, label %if.then.i.i.i12.i.i.i.i44, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i38 -if.then.i.i.i12.i.i.i.i43: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i34 +if.then.i.i.i12.i.i.i.i44: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i34 tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i35, ptr align 8 %2, i64 %sub.ptr.sub.i.i.i.i.i.i21, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i38 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i38 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i38: ; preds = %if.then.i.i.i12.i.i.i.i43, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i34 - %incdec.ptr.i.i.i.i39 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i36, i64 1 - %tobool.not.i.i.i.i.i40 = icmp eq ptr %2, null - br i1 %tobool.not.i.i.i.i.i40, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i41 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i38: ; preds = %if.then.i.i.i12.i.i.i.i44, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i34 + %add.ptr.i.i.i.i.i.i.i39 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i35, i64 %sub.ptr.sub.i.i.i.i.i.i21 + %incdec.ptr.i.i.i.i40 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i39, i64 1 + %tobool.not.i.i.i.i.i41 = icmp eq ptr %2, null + br i1 %tobool.not.i.i.i.i.i41, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i42 -if.then.i21.i.i.i.i41: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i38 +if.then.i20.i.i.i.i42: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i38 tail call void @_ZdlPv(ptr noundef nonnull %2) #21 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i41, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i38 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i42, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i38 store ptr %cond.i10.i.i.i.i35, ptr %ref, align 8 - store ptr %incdec.ptr.i.i.i.i39, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i42 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i35, i64 %cond.i.i.i.i.i30 - store ptr %add.ptr19.i.i.i.i42, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i40, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i43 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i35, i64 %cond.i.i.i.i.i30 + store ptr %add.ptr19.i.i.i.i43, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont6 invoke.cont6: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, %if.then.i.i.i16 %5 = phi ptr [ %cond.i10.i.i.i.i35, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %2, %if.then.i.i.i16 ] - %6 = phi ptr [ %add.ptr19.i.i.i.i42, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %.pre, %if.then.i.i.i16 ] - %7 = phi ptr [ %incdec.ptr.i.i.i.i39, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i17, %if.then.i.i.i16 ] + %6 = phi ptr [ %add.ptr19.i.i.i.i43, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %.pre, %if.then.i.i.i16 ] + %7 = phi ptr [ %incdec.ptr.i.i.i.i40, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i17, %if.then.i.i.i16 ] %8 = atomicrmw add ptr %refcount.i.i.i, i32 2 monotonic, align 4 - %cmp.not.i.i.i51 = icmp eq ptr %7, %6 - br i1 %cmp.not.i.i.i51, label %if.else.i.i.i55, label %if.then.i.i.i52 + %cmp.not.i.i.i52 = icmp eq ptr %7, %6 + br i1 %cmp.not.i.i.i52, label %if.else.i.i.i56, label %if.then.i.i.i53 -if.then.i.i.i52: ; preds = %invoke.cont6 +if.then.i.i.i53: ; preds = %invoke.cont6 store ptr %call.i12, ptr %7, align 8 - %incdec.ptr.i.i.i53 = getelementptr inbounds ptr, ptr %7, i64 1 - store ptr %incdec.ptr.i.i.i53, ptr %_M_finish.i.i.i, align 8 + %incdec.ptr.i.i.i54 = getelementptr inbounds ptr, ptr %7, i64 1 + store ptr %incdec.ptr.i.i.i54, ptr %_M_finish.i.i.i, align 8 br label %invoke.cont14 -if.else.i.i.i55: ; preds = %invoke.cont6 - %sub.ptr.lhs.cast.i.i.i.i.i.i56 = ptrtoint ptr %6 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i57 = ptrtoint ptr %5 to i64 - %sub.ptr.sub.i.i.i.i.i.i58 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i56, %sub.ptr.rhs.cast.i.i.i.i.i.i57 - %cmp.i.i.i.i.i59 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i58, 9223372036854775800 - br i1 %cmp.i.i.i.i.i59, label %if.then.i.i.i.i.i.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i60 - -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i60: ; preds = %if.else.i.i.i55 - %sub.ptr.div.i.i.i.i.i.i61 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i58, 3 - %.sroa.speculated.i.i.i.i.i62 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i61, i64 1) - %add.i.i.i.i.i63 = add i64 %.sroa.speculated.i.i.i.i.i62, %sub.ptr.div.i.i.i.i.i.i61 - %cmp7.i.i.i.i.i64 = icmp ult i64 %add.i.i.i.i.i63, %sub.ptr.div.i.i.i.i.i.i61 - %cmp9.i.i.i.i.i65 = icmp ugt i64 %add.i.i.i.i.i63, 1152921504606846975 - %or.cond.i.i.i.i.i66 = or i1 %cmp7.i.i.i.i.i64, %cmp9.i.i.i.i.i65 - %cond.i.i.i.i.i67 = select i1 %or.cond.i.i.i.i.i66, i64 1152921504606846975, i64 %add.i.i.i.i.i63 - %cmp.not.i.i.i.i.i68 = icmp eq i64 %cond.i.i.i.i.i67, 0 - br i1 %cmp.not.i.i.i.i.i68, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i71, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i69 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i69: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i60 - %mul.i.i.i.i.i.i.i70 = shl nuw nsw i64 %cond.i.i.i.i.i67, 3 - %call5.i.i.i.i.i.i.i85 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i70) #22 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i71 unwind label %lpad.loopexit.split-lp - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i71: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i69, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i60 - %cond.i10.i.i.i.i72 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i60 ], [ %call5.i.i.i.i.i.i.i85, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i69 ] - %add.ptr.i.i.i.i73 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i72, i64 %sub.ptr.div.i.i.i.i.i.i61 - store ptr %call.i12, ptr %add.ptr.i.i.i.i73, align 8 - %cmp.i.i.i11.i.i.i.i74 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i61, 0 - br i1 %cmp.i.i.i11.i.i.i.i74, label %if.then.i.i.i12.i.i.i.i81, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i75 - -if.then.i.i.i12.i.i.i.i81: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i71 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i72, ptr align 8 %5, i64 %sub.ptr.sub.i.i.i.i.i.i58, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i75 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i75: ; preds = %if.then.i.i.i12.i.i.i.i81, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i71 - %incdec.ptr.i.i.i.i76 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i73, i64 1 - %tobool.not.i.i.i.i.i77 = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i.i77, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i79, label %if.then.i21.i.i.i.i78 - -if.then.i21.i.i.i.i78: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i75 +if.else.i.i.i56: ; preds = %invoke.cont6 + %sub.ptr.lhs.cast.i.i.i.i.i.i57 = ptrtoint ptr %6 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i58 = ptrtoint ptr %5 to i64 + %sub.ptr.sub.i.i.i.i.i.i59 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i57, %sub.ptr.rhs.cast.i.i.i.i.i.i58 + %cmp.i.i.i.i.i60 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i59, 9223372036854775800 + br i1 %cmp.i.i.i.i.i60, label %if.then.i.i.i.i.i.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i61 + +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i61: ; preds = %if.else.i.i.i56 + %sub.ptr.div.i.i.i.i.i.i62 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i59, 3 + %.sroa.speculated.i.i.i.i.i63 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i62, i64 1) + %add.i.i.i.i.i64 = add i64 %.sroa.speculated.i.i.i.i.i63, %sub.ptr.div.i.i.i.i.i.i62 + %cmp7.i.i.i.i.i65 = icmp ult i64 %add.i.i.i.i.i64, %sub.ptr.div.i.i.i.i.i.i62 + %cmp9.i.i.i.i.i66 = icmp ugt i64 %add.i.i.i.i.i64, 1152921504606846975 + %or.cond.i.i.i.i.i67 = or i1 %cmp7.i.i.i.i.i65, %cmp9.i.i.i.i.i66 + %cond.i.i.i.i.i68 = select i1 %or.cond.i.i.i.i.i67, i64 1152921504606846975, i64 %add.i.i.i.i.i64 + %cmp.not.i.i.i.i.i69 = icmp eq i64 %cond.i.i.i.i.i68, 0 + br i1 %cmp.not.i.i.i.i.i69, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i72, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i70 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i70: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i61 + %mul.i.i.i.i.i.i.i71 = shl nuw nsw i64 %cond.i.i.i.i.i68, 3 + %call5.i.i.i.i.i.i.i87 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i71) #22 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i72 unwind label %lpad.loopexit.split-lp + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i72: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i70, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i61 + %cond.i10.i.i.i.i73 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i61 ], [ %call5.i.i.i.i.i.i.i87, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i70 ] + %add.ptr.i.i.i.i74 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i73, i64 %sub.ptr.div.i.i.i.i.i.i62 + store ptr %call.i12, ptr %add.ptr.i.i.i.i74, align 8 + %cmp.i.i.i11.i.i.i.i75 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i59, 0 + br i1 %cmp.i.i.i11.i.i.i.i75, label %if.then.i.i.i12.i.i.i.i83, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i76 + +if.then.i.i.i12.i.i.i.i83: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i72 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i73, ptr align 8 %5, i64 %sub.ptr.sub.i.i.i.i.i.i59, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i76 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i76: ; preds = %if.then.i.i.i12.i.i.i.i83, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i72 + %add.ptr.i.i.i.i.i.i.i77 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i73, i64 %sub.ptr.sub.i.i.i.i.i.i59 + %incdec.ptr.i.i.i.i78 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i77, i64 1 + %tobool.not.i.i.i.i.i79 = icmp eq ptr %5, null + br i1 %tobool.not.i.i.i.i.i79, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i81, label %if.then.i20.i.i.i.i80 + +if.then.i20.i.i.i.i80: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i76 tail call void @_ZdlPv(ptr noundef nonnull %5) #21 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i79 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i81 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i79: ; preds = %if.then.i21.i.i.i.i78, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i75 - store ptr %cond.i10.i.i.i.i72, ptr %ref, align 8 - store ptr %incdec.ptr.i.i.i.i76, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i80 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i72, i64 %cond.i.i.i.i.i67 - store ptr %add.ptr19.i.i.i.i80, ptr %_M_end_of_storage.i.i.i, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i81: ; preds = %if.then.i20.i.i.i.i80, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i76 + store ptr %cond.i10.i.i.i.i73, ptr %ref, align 8 + store ptr %incdec.ptr.i.i.i.i78, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i82 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i73, i64 %cond.i.i.i.i.i68 + store ptr %add.ptr19.i.i.i.i82, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont14 -invoke.cont14: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i79, %if.then.i.i.i52 - %9 = phi ptr [ %incdec.ptr.i.i.i.i76, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i79 ], [ %incdec.ptr.i.i.i53, %if.then.i.i.i52 ] - %10 = phi ptr [ %cond.i10.i.i.i.i72, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i79 ], [ %5, %if.then.i.i.i52 ] +invoke.cont14: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i81, %if.then.i.i.i53 + %9 = phi ptr [ %incdec.ptr.i.i.i.i78, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i81 ], [ %incdec.ptr.i.i.i54, %if.then.i.i.i53 ] + %10 = phi ptr [ %cond.i10.i.i.i.i73, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i81 ], [ %5, %if.then.i.i.i53 ] %11 = getelementptr inbounds i8, ptr %expected, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(336) %11, i8 0, i64 296, i1 false) %12 = load i64, ptr %call.i12, align 8 @@ -5262,24 +5265,24 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. invoke.cont23: ; preds = %for.body.i.i.i.i.i.i.i.i.i call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i) tail call void @llvm.experimental.noalias.scope.decl(metadata !85) - call void @llvm.lifetime.start.p0(i64 336, ptr nonnull %agg.tmp.i96) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i96, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp, i64 136, i1 false), !noalias !85 - %update_tracker.i.i.i.i.i.i.i97 = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %agg.tmp.i96, i64 0, i32 7 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i97, i8 0, i64 200, i1 false), !noalias !85 - br label %for.body.i.i.i.i.i.i.i.i.i98 - -for.body.i.i.i.i.i.i.i.i.i98: ; preds = %for.body.i.i.i.i.i.i.i.i.i98, %invoke.cont23 - %indvars.iv.i.i.i.i.i.i.i.i.i99 = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i102, %for.body.i.i.i.i.i.i.i.i.i98 ], [ 0, %invoke.cont23 ] - %arrayidx.i.i.i.i.i.i.i.i.i100 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i97, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i99 - %arrayidx4.i.i.i.i.i.i.i.i.i101 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i99 - %16 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i101 monotonic, align 8, !noalias !85 - store atomic i64 %16, ptr %arrayidx.i.i.i.i.i.i.i.i.i100 monotonic, align 8, !noalias !85 - %indvars.iv.next.i.i.i.i.i.i.i.i.i102 = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i99, 1 - %exitcond.not.i.i.i.i.i.i.i.i.i103 = icmp eq i64 %indvars.iv.next.i.i.i.i.i.i.i.i.i102, 25 - br i1 %exitcond.not.i.i.i.i.i.i.i.i.i103, label %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i, label %for.body.i.i.i.i.i.i.i.i.i98, !llvm.loop !5 - -_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i98 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i96, i64 136, i1 false) + call void @llvm.lifetime.start.p0(i64 336, ptr nonnull %agg.tmp.i98) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i98, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp, i64 136, i1 false), !noalias !85 + %update_tracker.i.i.i.i.i.i.i99 = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %agg.tmp.i98, i64 0, i32 7 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i99, i8 0, i64 200, i1 false), !noalias !85 + br label %for.body.i.i.i.i.i.i.i.i.i100 + +for.body.i.i.i.i.i.i.i.i.i100: ; preds = %for.body.i.i.i.i.i.i.i.i.i100, %invoke.cont23 + %indvars.iv.i.i.i.i.i.i.i.i.i101 = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i104, %for.body.i.i.i.i.i.i.i.i.i100 ], [ 0, %invoke.cont23 ] + %arrayidx.i.i.i.i.i.i.i.i.i102 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i99, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i101 + %arrayidx4.i.i.i.i.i.i.i.i.i103 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i101 + %16 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i103 monotonic, align 8, !noalias !85 + store atomic i64 %16, ptr %arrayidx.i.i.i.i.i.i.i.i.i102 monotonic, align 8, !noalias !85 + %indvars.iv.next.i.i.i.i.i.i.i.i.i104 = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i101, 1 + %exitcond.not.i.i.i.i.i.i.i.i.i105 = icmp eq i64 %indvars.iv.next.i.i.i.i.i.i.i.i.i104, 25 + br i1 %exitcond.not.i.i.i.i.i.i.i.i.i105, label %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i, label %for.body.i.i.i.i.i.i.i.i.i100, !llvm.loop !5 + +_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i100 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %ref.tmp, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i98, i64 136, i1 false) %update_tracker.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %ref.tmp, i64 0, i32 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i.i, i8 0, i64 200, i1 false), !alias.scope !85 br label %for.body.i.i.i.i.i.i.i.i.i.i @@ -5287,7 +5290,7 @@ _ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatistic for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i, %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i %indvars.iv.i.i.i.i.i.i.i.i.i.i = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i ], [ 0, %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i ] %arrayidx.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i - %arrayidx4.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i97, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i + %arrayidx4.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i99, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i %17 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i.i monotonic, align 8, !noalias !85 store atomic i64 %17, ptr %arrayidx.i.i.i.i.i.i.i.i.i.i monotonic, align 8, !alias.scope !85 %indvars.iv.next.i.i.i.i.i.i.i.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i, 1 @@ -5295,29 +5298,29 @@ for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %exitcond.not.i.i.i.i.i.i.i.i.i.i, label %invoke.cont24, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !5 invoke.cont24: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i - call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i96) + call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i98) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %cord.i) store i64 1, ptr %cord.i, align 8, !noalias !88 %rep.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::InlineData::Rep::AsTree", ptr %cord.i, i64 0, i32 1 store ptr %call.i12, ptr %rep.i.i.i.i, align 8, !noalias !88 invoke void @_ZN4absl13cord_internal9CordzInfo9TrackCordERNS0_10InlineDataENS0_18CordzUpdateTracker16MethodIdentifierE(ptr noundef nonnull align 8 dereferenceable(16) %cord.i, i32 noundef 0) - to label %.noexc104 unwind label %lpad.loopexit.split-lp + to label %.noexc106 unwind label %lpad.loopexit.split-lp -.noexc104: ; preds = %invoke.cont24 +.noexc106: ; preds = %invoke.cont24 %18 = load i64, ptr %cord.i, align 8, !noalias !88 %sub.i.i = add nsw i64 %18, -1 %19 = inttoptr i64 %sub.i.i to ptr invoke void @_ZNK4absl13cord_internal9CordzInfo18GetCordzStatisticsEv(ptr nonnull sret(%"struct.absl::cord_internal::CordzStatistics") align 8 %ref.tmp25, ptr noundef nonnull align 8 dereferenceable(1332) %19) - to label %.noexc105 unwind label %lpad.loopexit.split-lp + to label %.noexc107 unwind label %lpad.loopexit.split-lp -.noexc105: ; preds = %.noexc104 +.noexc107: ; preds = %.noexc106 %20 = load i64, ptr %cord.i, align 8, !noalias !88 %sub.i1.i = add nsw i64 %20, -1 %21 = inttoptr i64 %sub.i1.i to ptr invoke void @_ZN4absl13cord_internal9CordzInfo7UntrackEv(ptr noundef nonnull align 8 dereferenceable(1332) %21) to label %invoke.cont26 unwind label %lpad.loopexit.split-lp -invoke.cont26: ; preds = %.noexc105 +invoke.cont26: ; preds = %.noexc107 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %cord.i) invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS3_15CordzStatisticsEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar, ptr noundef nonnull align 8 dereferenceable(336) %ref.tmp, ptr noundef nonnull @.str.64, ptr noundef nonnull align 8 dereferenceable(336) %ref.tmp25) to label %invoke.cont27 unwind label %lpad.loopexit.split-lp @@ -5329,15 +5332,15 @@ invoke.cont27: ; preds = %invoke.cont26 br i1 %tobool.i.not, label %if.else, label %if.end lpad.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i - %lpad.loopexit114 = landingpad { ptr, i32 } + %lpad.loopexit116 = landingpad { ptr, i32 } cleanup - store ptr %add.ptr19.i.i.i.i120, ptr %_M_finish.i.i.i, align 8 - store ptr %add.ptr19.i.i.i.i120, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %cond.i10.i.i.i.i123, ptr %ref, align 8 + store ptr %add.ptr19.i.i.i.i122, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr19.i.i.i.i122, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %cond.i10.i.i.i.i125, ptr %ref, align 8 br label %ehcleanup40 -lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.invoke, %invoke.cont26, %entry, %invoke.cont2, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i32, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i69, %invoke.cont24, %.noexc104, %.noexc105 - %lpad.loopexit.split-lp115 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.invoke, %invoke.cont26, %entry, %invoke.cont2, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i32, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i70, %invoke.cont24, %.noexc106, %.noexc107 + %lpad.loopexit.split-lp117 = landingpad { ptr, i32 } cleanup br label %ehcleanup40 @@ -5400,25 +5403,25 @@ lpad37: ; preds = %invoke.cont36 ehcleanup: ; preds = %lpad37, %lpad33 %.pn = phi { ptr, i32 } [ %29, %lpad37 ], [ %28, %lpad33 ] %30 = load ptr, ptr %ref.tmp29, align 8 - %cmp.not.i.i107 = icmp eq ptr %30, null - br i1 %cmp.not.i.i107, label %_ZN7testing7MessageD2Ev.exit111, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 + %cmp.not.i.i109 = icmp eq ptr %30, null + br i1 %cmp.not.i.i109, label %_ZN7testing7MessageD2Ev.exit113, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i110 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108: ; preds = %ehcleanup - %vtable.i.i.i109 = load ptr, ptr %30, align 8 - %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 - %31 = load ptr, ptr %vfn.i.i.i110, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i110: ; preds = %ehcleanup + %vtable.i.i.i111 = load ptr, ptr %30, align 8 + %vfn.i.i.i112 = getelementptr inbounds ptr, ptr %vtable.i.i.i111, i64 1 + %31 = load ptr, ptr %vfn.i.i.i112, align 8 call void %31(ptr noundef nonnull align 8 dereferenceable(128) %30) #20 - br label %_ZN7testing7MessageD2Ev.exit111 + br label %_ZN7testing7MessageD2Ev.exit113 -_ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 +_ZN7testing7MessageD2Ev.exit113: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i110 store ptr null, ptr %ref.tmp29, align 8 br label %ehcleanup39 if.end: ; preds = %invoke.cont27, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %32 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i112 = icmp eq ptr %32, null - br i1 %cmp.not.i.i112, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i114 = icmp eq ptr %32, null + br i1 %cmp.not.i.i114, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #20 @@ -5433,8 +5436,8 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de for.body.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %for.inc.i %__begin3.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %10, %_ZN7testing15AssertionResultD2Ev.exit ] %33 = load ptr, ptr %__begin3.sroa.0.05.i, align 8 - %refcount.i.i113 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %33, i64 0, i32 1 - %34 = atomicrmw sub ptr %refcount.i.i113, i32 2 acq_rel, align 4 + %refcount.i.i115 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %33, i64 0, i32 1 + %34 = atomicrmw sub ptr %refcount.i.i115, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %34, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -5467,13 +5470,13 @@ terminate.lpad.i: ; preds = %if.then.i.i _ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev.exit: ; preds = %for.end.i, %if.then.i.i.i.i ret void -ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad30 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit111 ], [ %27, %lpad30 ] +ehcleanup39: ; preds = %_ZN7testing7MessageD2Ev.exit113, %lpad30 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit113 ], [ %27, %lpad30 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #20 br label %ehcleanup40 ehcleanup40: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %ehcleanup39 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup39 ], [ %lpad.loopexit114, %lpad.loopexit ], [ %lpad.loopexit.split-lp115, %lpad.loopexit.split-lp ] + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup39 ], [ %lpad.loopexit116, %lpad.loopexit ], [ %lpad.loopexit.split-lp117, %lpad.loopexit.split-lp ] call fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref) #20 resume { ptr, i32 } %.pn.pn.pn } @@ -5851,23 +5854,24 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i91, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %call1.i87, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #21 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %ref, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -7014,7 +7018,7 @@ entry: define internal void @_ZN4absl13cord_internal12_GLOBAL__N_144CordzInfoStatisticsTest_BtreeNodeShared_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { invoke.cont5: %cord.i = alloca %"class.absl::cord_internal::InlineData", align 8 - %agg.tmp.i272 = alloca %"class.absl::cord_internal::(anonymous namespace)::EqStatisticsMatcherP", align 8 + %agg.tmp.i275 = alloca %"class.absl::cord_internal::(anonymous namespace)::EqStatisticsMatcherP", align 8 %agg.tmp.i = alloca %"struct.absl::cord_internal::CordzStatistics", align 8 %ref = alloca %"struct.absl::cord_internal::(anonymous namespace)::RefHelper", align 8 %flat3_count = alloca i64, align 8 @@ -7042,34 +7046,34 @@ invoke.cont10: ; preds = %invoke.cont5 %tobool.i.not = icmp eq i8 %1, 0 br i1 %tobool.i.not, label %if.else, label %cleanup.cont.critedge -lpad.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i253 - %lpad.loopexit306 = landingpad { ptr, i32 } +lpad.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i255 + %lpad.loopexit309 = landingpad { ptr, i32 } cleanup store ptr %36, ptr %_M_finish.i.i.i, align 8 store ptr %36, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %cond.i10.i.i.i.i256351, ptr %ref, align 8 + store ptr %cond.i10.i.i.i.i258354, ptr %ref, align 8 br label %ehcleanup130 lpad.loopexit.split-lp.loopexit: ; preds = %if.then.i138, %for.body57 - %lpad.loopexit308 = landingpad { ptr, i32 } + %lpad.loopexit311 = landingpad { ptr, i32 } cleanup br label %ehcleanup130 lpad.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i - %lpad.loopexit311 = landingpad { ptr, i32 } + %lpad.loopexit314 = landingpad { ptr, i32 } cleanup - store ptr %add.ptr19.i.i.i.i332, ptr %_M_finish.i.i.i, align 8 - store ptr %add.ptr19.i.i.i.i332, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %cond.i10.i.i.i.i336, ptr %ref, align 8 + store ptr %add.ptr19.i.i.i.i335, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr19.i.i.i.i335, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %cond.i10.i.i.i.i339, ptr %ref, align 8 br label %ehcleanup130 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %if.end.i102, %if.then.i108, %call.i.i.noexc95, %invoke.cont46, %if.then.i88, %invoke.cont37, %if.end36, %if.end.i54, %if.then.i, %if.end.i, %_ZN4absl13cord_internal12CordRepBtree3NewEPNS0_7CordRepE.exit.i, %for.body - %lpad.loopexit314 = landingpad { ptr, i32 } + %lpad.loopexit317 = landingpad { ptr, i32 } cleanup br label %ehcleanup130 -lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i266.invoke, %.noexc282, %.noexc281, %invoke.cont106, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i202, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i165, %invoke.cont108, %invoke.cont5 - %lpad.loopexit.split-lp315 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i269.invoke, %.noexc285, %.noexc284, %invoke.cont106, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i203, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i165, %invoke.cont108, %invoke.cont5 + %lpad.loopexit.split-lp318 = landingpad { ptr, i32 } cleanup br label %ehcleanup130 @@ -7170,9 +7174,9 @@ cleanup.cont: ; preds = %_ZNKSt14default_del br label %for.body for.body: ; preds = %cleanup.cont, %for.end - %tree.0343 = phi ptr [ null, %cleanup.cont ], [ %call1.i140, %for.end ] - %mem_size.0342 = phi i64 [ 0, %cleanup.cont ], [ %mem_size.2, %for.end ] - %i.0341 = phi i32 [ 0, %cleanup.cont ], [ %inc79, %for.end ] + %tree.0346 = phi ptr [ null, %cleanup.cont ], [ %call1.i140, %for.end ] + %mem_size.0345 = phi i64 [ 0, %cleanup.cont ], [ %mem_size.2, %for.end ] + %i.0344 = phi i32 [ 0, %cleanup.cont ], [ %inc79, %for.end ] %call4.i.i.i46 = invoke noalias noundef nonnull dereferenceable(2048) ptr @_Znwm(i64 noundef 2048) #23 to label %invoke.cont23 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit @@ -7187,31 +7191,31 @@ invoke.cont23: ; preds = %for.body br label %while.body.i while.body.i: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i, %invoke.cont23 - %cond.i10.i.i.i.i336 = phi ptr [ %ref.promoted, %invoke.cont23 ], [ %cond.i10.i.i.i.i335, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] - %add.ptr19.i.i.i.i332 = phi ptr [ %_M_end_of_storage.i.i.i.promoted, %invoke.cont23 ], [ %add.ptr19.i.i.i.i331, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] - %incdec.ptr.i.i.i.i327 = phi ptr [ %_M_finish.i.i.i.promoted, %invoke.cont23 ], [ %incdec.ptr.i.i.i.i328, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] + %cond.i10.i.i.i.i339 = phi ptr [ %ref.promoted, %invoke.cont23 ], [ %cond.i10.i.i.i.i338, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] + %add.ptr19.i.i.i.i335 = phi ptr [ %_M_end_of_storage.i.i.i.promoted, %invoke.cont23 ], [ %add.ptr19.i.i.i.i334, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] + %incdec.ptr.i.i.i.i330 = phi ptr [ %_M_finish.i.i.i.promoted, %invoke.cont23 ], [ %incdec.ptr.i.i.i.i331, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] %n.addr.03.i = phi i64 [ 9, %invoke.cont23 ], [ %dec.i, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i ] %dec.i = add nsw i64 %n.addr.03.i, -1 %13 = atomicrmw add ptr %12, i32 2 monotonic, align 4 - %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i327, %add.ptr19.i.i.i.i332 + %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i330, %add.ptr19.i.i.i.i335 br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i if.then.i.i.i: ; preds = %while.body.i - store ptr %call4.i.i.i46, ptr %incdec.ptr.i.i.i.i327, align 8 + store ptr %call4.i.i.i46, ptr %incdec.ptr.i.i.i.i330, align 8 br label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i if.else.i.i.i: ; preds = %while.body.i - %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %add.ptr19.i.i.i.i332 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cond.i10.i.i.i.i336 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %add.ptr19.i.i.i.i335 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cond.i10.i.i.i.i339 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i - store ptr %add.ptr19.i.i.i.i332, ptr %_M_finish.i.i.i, align 8 - store ptr %add.ptr19.i.i.i.i332, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %cond.i10.i.i.i.i336, ptr %ref, align 8 - br label %if.then.i.i.i.i.i266.invoke + store ptr %add.ptr19.i.i.i.i335, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr19.i.i.i.i335, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %cond.i10.i.i.i.i339, ptr %ref, align 8 + br label %if.then.i.i.i.i.i269.invoke _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 @@ -7233,37 +7237,38 @@ _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit. %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i47, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store ptr %call4.i.i.i46, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %cond.i10.i.i.i.i336, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %cond.i10.i.i.i.i339, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %tobool.not.i.i.i.i.i = icmp eq ptr %cond.i10.i.i.i.i336, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %tobool.not.i.i.i.i.i = icmp eq ptr %cond.i10.i.i.i.i339, null + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i.i336) #21 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i.i339) #21 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i _ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, %if.then.i.i.i - %cond.i10.i.i.i.i335 = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %cond.i10.i.i.i.i336, %if.then.i.i.i ] - %add.ptr19.i.i.i.i331 = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %add.ptr19.i.i.i.i332, %if.then.i.i.i ] - %add.ptr.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i.i327, %if.then.i.i.i ] - %incdec.ptr.i.i.i.i328 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.pn, i64 1 + %cond.i10.i.i.i.i338 = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %cond.i10.i.i.i.i339, %if.then.i.i.i ] + %add.ptr19.i.i.i.i334 = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %add.ptr19.i.i.i.i335, %if.then.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i.i330, %if.then.i.i.i ] + %incdec.ptr.i.i.i.i331 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 1 %tobool.not.i = icmp eq i64 %dec.i, 0 br i1 %tobool.not.i, label %invoke.cont27, label %while.body.i, !llvm.loop !81 invoke.cont27: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i - store ptr %incdec.ptr.i.i.i.i328, ptr %_M_finish.i.i.i, align 8 - store ptr %add.ptr19.i.i.i.i331, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %cond.i10.i.i.i.i335, ptr %ref, align 8 + store ptr %incdec.ptr.i.i.i.i331, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr19.i.i.i.i334, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %cond.i10.i.i.i.i338, ptr %ref, align 8 %call26.val = load i8, ptr %tag.i.i.i, align 4 %conv.i.i.i = zext i8 %call26.val to i32 %cmp.i.i.i = icmp ult i8 %call26.val, 67 @@ -7275,7 +7280,7 @@ invoke.cont27: ; preds = %_ZN4absl13cord_inte %mul6.i.i.i = shl nuw nsw i32 %conv.i.i.i, %.sink5.i.i.i %sub8.i.i.i = add nsw i32 %mul6.i.i.i, %.sink.i.i.i %conv17.i.i.i = sext i32 %sub8.i.i.i to i64 - %cmp29 = icmp eq i32 %i.0341, 0 + %cmp29 = icmp eq i32 %i.0344, 0 %or.cond.i.i = icmp ugt i8 %call26.val, 4 br i1 %cmp29, label %if.then30, label %if.else33 @@ -7334,11 +7339,11 @@ _ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i56: ; preds = %if.end. br i1 %18, label %if.then.i, label %if.end.i54 if.then.i: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i56, %if.else33 - %call1.i60 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %tree.0343, ptr noundef nonnull %call4.i.i.i46) + %call1.i60 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %tree.0346, ptr noundef nonnull %call4.i.i.i46) to label %if.end36 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit if.end.i54: ; preds = %_ZN4absl13cord_internal10IsDataEdgeEPKNS0_7CordRepE.exit.i56, %if.end.i.i52 - %call2.i62 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %tree.0343, ptr noundef nonnull %call4.i.i.i46) + %call2.i62 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AppendSlowEPS1_PNS0_7CordRepE(ptr noundef %tree.0346, ptr noundef nonnull %call4.i.i.i46) to label %if.end36 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit if.end36: ; preds = %if.then.i, %if.end.i54, %call.i.i.noexc, %if.end.i @@ -7404,14 +7409,14 @@ if.end.i102: ; preds = %_ZN4absl13cord_inte invoke.cont52: ; preds = %if.then.i108, %if.end.i102 %retval.0.i103 = phi ptr [ %call1.i110, %if.then.i108 ], [ %call2.i112, %if.end.i102 ] - %23 = add i64 %mem_size.0342, 416 + %23 = add i64 %mem_size.0345, 416 %24 = add i64 %23, %call49.val %25 = add i64 %24, %conv17.i.i.i br label %for.body57 for.body57: ; preds = %invoke.cont52, %invoke.cont63 - %i54.0340 = phi i64 [ 0, %invoke.cont52 ], [ %inc, %invoke.cont63 ] - %tree.2339 = phi ptr [ %retval.0.i103, %invoke.cont52 ], [ %call1.i140, %invoke.cont63 ] + %i54.0343 = phi i64 [ 0, %invoke.cont52 ], [ %inc, %invoke.cont63 ] + %tree.2342 = phi ptr [ %retval.0.i103, %invoke.cont52 ], [ %call1.i140, %invoke.cont63 ] %call4.i.i.i116 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #23 to label %if.then.i138 unwind label %lpad.loopexit.split-lp.loopexit @@ -7419,19 +7424,19 @@ if.then.i138: ; preds = %for.body57 %26 = getelementptr inbounds i8, ptr %call4.i.i.i116, i64 8 store i64 47244640258, ptr %26, align 8 store i64 59, ptr %call4.i.i.i116, align 8 - %call1.i140 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %tree.2339, ptr noundef nonnull %call4.i.i.i116) + %call1.i140 = invoke noundef ptr @_ZN4absl13cord_internal12CordRepBtree10AddCordRepILNS1_8EdgeTypeE1EEEPS1_S4_PNS0_7CordRepE(ptr noundef %tree.2342, ptr noundef nonnull %call4.i.i.i116) to label %invoke.cont63 unwind label %lpad.loopexit.split-lp.loopexit invoke.cont63: ; preds = %if.then.i138 - %inc = add nuw nsw i64 %i54.0340, 1 + %inc = add nuw nsw i64 %i54.0343, 1 %exitcond.not = icmp eq i64 %inc, 3 br i1 %exitcond.not, label %for.end, label %for.body57, !llvm.loop !114 for.end: ; preds = %invoke.cont63 %mem_size.2 = add i64 %25, 136 - %inc79 = add nuw nsw i32 %i.0341, 1 - %exitcond369.not = icmp eq i32 %inc79, 3 - br i1 %exitcond369.not, label %for.end80, label %for.body, !llvm.loop !115 + %inc79 = add nuw nsw i32 %i.0344, 1 + %exitcond372.not = icmp eq i32 %inc79, 3 + br i1 %exitcond372.not, label %for.end80, label %for.body, !llvm.loop !115 for.end80: ; preds = %for.end %27 = load ptr, ptr %_M_finish.i.i.i, align 8 @@ -7451,7 +7456,7 @@ if.else.i.i.i151: ; preds = %for.end80 %sub.ptr.rhs.cast.i.i.i.i.i.i153 = ptrtoint ptr %29 to i64 %sub.ptr.sub.i.i.i.i.i.i154 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i152, %sub.ptr.rhs.cast.i.i.i.i.i.i153 %cmp.i.i.i.i.i155 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i154, 9223372036854775800 - br i1 %cmp.i.i.i.i.i155, label %if.then.i.i.i.i.i266.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i156 + br i1 %cmp.i.i.i.i.i155, label %if.then.i.i.i.i.i269.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i156 _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i156: ; preds = %if.else.i.i.i151 %sub.ptr.div.i.i.i.i.i.i157 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i154, 3 @@ -7466,202 +7471,205 @@ _ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i. _ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i165: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i156 %mul.i.i.i.i.i.i.i166 = shl nuw nsw i64 %cond.i.i.i.i.i163, 3 - %call5.i.i.i.i.i.i.i180 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i166) #22 + %call5.i.i.i.i.i.i.i181 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i166) #22 to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i167 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp _ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i167: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i165, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i156 - %cond.i10.i.i.i.i168 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i156 ], [ %call5.i.i.i.i.i.i.i180, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i165 ] + %cond.i10.i.i.i.i168 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i156 ], [ %call5.i.i.i.i.i.i.i181, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i165 ] %add.ptr.i.i.i.i169 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i168, i64 %sub.ptr.div.i.i.i.i.i.i157 store ptr %call1.i140, ptr %add.ptr.i.i.i.i169, align 8 - %cmp.i.i.i11.i.i.i.i170 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i157, 0 - br i1 %cmp.i.i.i11.i.i.i.i170, label %if.then.i.i.i12.i.i.i.i176, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i171 + %cmp.i.i.i11.i.i.i.i170 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i154, 0 + br i1 %cmp.i.i.i11.i.i.i.i170, label %if.then.i.i.i12.i.i.i.i177, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i171 -if.then.i.i.i12.i.i.i.i176: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i167 +if.then.i.i.i12.i.i.i.i177: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i167 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i168, ptr align 8 %29, i64 %sub.ptr.sub.i.i.i.i.i.i154, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i171 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i171 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i171: ; preds = %if.then.i.i.i12.i.i.i.i176, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i167 - %incdec.ptr.i.i.i.i172 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i169, i64 1 - %tobool.not.i.i.i.i.i173 = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i.i.i173, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i174 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i171: ; preds = %if.then.i.i.i12.i.i.i.i177, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i167 + %add.ptr.i.i.i.i.i.i.i172 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i168, i64 %sub.ptr.sub.i.i.i.i.i.i154 + %incdec.ptr.i.i.i.i173 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i172, i64 1 + %tobool.not.i.i.i.i.i174 = icmp eq ptr %29, null + br i1 %tobool.not.i.i.i.i.i174, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i175 -if.then.i21.i.i.i.i174: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i171 +if.then.i20.i.i.i.i175: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i171 call void @_ZdlPv(ptr noundef nonnull %29) #21 br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i174, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i171 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i175, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i171 store ptr %cond.i10.i.i.i.i168, ptr %ref, align 8 - store ptr %incdec.ptr.i.i.i.i172, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i175 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i168, i64 %cond.i.i.i.i.i163 - store ptr %add.ptr19.i.i.i.i175, ptr %_M_end_of_storage.i.i.i, align 8 + store ptr %incdec.ptr.i.i.i.i173, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i176 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i168, i64 %cond.i.i.i.i.i163 + store ptr %add.ptr19.i.i.i.i176, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont81 invoke.cont81: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, %if.then.i.i.i149 - %30 = phi ptr [ %add.ptr19.i.i.i.i175, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %28, %if.then.i.i.i149 ] - %31 = phi ptr [ %incdec.ptr.i.i.i.i172, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i150, %if.then.i.i.i149 ] + %30 = phi ptr [ %add.ptr19.i.i.i.i176, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %28, %if.then.i.i.i149 ] + %31 = phi ptr [ %incdec.ptr.i.i.i.i173, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i150, %if.then.i.i.i149 ] %cmp.i.i = icmp ne ptr %call1.i140, null call void @llvm.assume(i1 %cmp.i.i) - %refcount.i.i181 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call1.i140, i64 0, i32 1 - %32 = atomicrmw add ptr %refcount.i.i181, i32 2 monotonic, align 4 - %cmp.not.i.i.i184 = icmp eq ptr %31, %30 - br i1 %cmp.not.i.i.i184, label %if.else.i.i.i188, label %if.then.i.i.i185 + %refcount.i.i182 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call1.i140, i64 0, i32 1 + %32 = atomicrmw add ptr %refcount.i.i182, i32 2 monotonic, align 4 + %cmp.not.i.i.i185 = icmp eq ptr %31, %30 + br i1 %cmp.not.i.i.i185, label %if.else.i.i.i189, label %if.then.i.i.i186 -if.then.i.i.i185: ; preds = %invoke.cont81 +if.then.i.i.i186: ; preds = %invoke.cont81 store ptr %call1.i140, ptr %31, align 8 - %incdec.ptr.i.i.i186 = getelementptr inbounds ptr, ptr %31, i64 1 - store ptr %incdec.ptr.i.i.i186, ptr %_M_finish.i.i.i, align 8 - %ref.promoted349.pre = load ptr, ptr %ref, align 8 + %incdec.ptr.i.i.i187 = getelementptr inbounds ptr, ptr %31, i64 1 + store ptr %incdec.ptr.i.i.i187, ptr %_M_finish.i.i.i, align 8 + %ref.promoted352.pre = load ptr, ptr %ref, align 8 br label %invoke.cont86 -if.else.i.i.i188: ; preds = %invoke.cont81 +if.else.i.i.i189: ; preds = %invoke.cont81 %33 = load ptr, ptr %ref, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i189 = ptrtoint ptr %30 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i190 = ptrtoint ptr %33 to i64 - %sub.ptr.sub.i.i.i.i.i.i191 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i189, %sub.ptr.rhs.cast.i.i.i.i.i.i190 - %cmp.i.i.i.i.i192 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i191, 9223372036854775800 - br i1 %cmp.i.i.i.i.i192, label %if.then.i.i.i.i.i266.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i193 - -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i193: ; preds = %if.else.i.i.i188 - %sub.ptr.div.i.i.i.i.i.i194 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i191, 3 - %.sroa.speculated.i.i.i.i.i195 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i194, i64 1) - %add.i.i.i.i.i196 = add i64 %.sroa.speculated.i.i.i.i.i195, %sub.ptr.div.i.i.i.i.i.i194 - %cmp7.i.i.i.i.i197 = icmp ult i64 %add.i.i.i.i.i196, %sub.ptr.div.i.i.i.i.i.i194 - %cmp9.i.i.i.i.i198 = icmp ugt i64 %add.i.i.i.i.i196, 1152921504606846975 - %or.cond.i.i.i.i.i199 = or i1 %cmp7.i.i.i.i.i197, %cmp9.i.i.i.i.i198 - %cond.i.i.i.i.i200 = select i1 %or.cond.i.i.i.i.i199, i64 1152921504606846975, i64 %add.i.i.i.i.i196 - %cmp.not.i.i.i.i.i201 = icmp eq i64 %cond.i.i.i.i.i200, 0 - br i1 %cmp.not.i.i.i.i.i201, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i204, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i202 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i202: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i193 - %mul.i.i.i.i.i.i.i203 = shl nuw nsw i64 %cond.i.i.i.i.i200, 3 - %call5.i.i.i.i.i.i.i218 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i203) #22 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i204 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i204: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i202, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i193 - %cond.i10.i.i.i.i205 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i193 ], [ %call5.i.i.i.i.i.i.i218, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i202 ] - %add.ptr.i.i.i.i206 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i205, i64 %sub.ptr.div.i.i.i.i.i.i194 - store ptr %call1.i140, ptr %add.ptr.i.i.i.i206, align 8 - %cmp.i.i.i11.i.i.i.i207 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i194, 0 - br i1 %cmp.i.i.i11.i.i.i.i207, label %if.then.i.i.i12.i.i.i.i214, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i208 - -if.then.i.i.i12.i.i.i.i214: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i204 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i205, ptr align 8 %33, i64 %sub.ptr.sub.i.i.i.i.i.i191, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i208 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i208: ; preds = %if.then.i.i.i12.i.i.i.i214, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i204 - %incdec.ptr.i.i.i.i209 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i206, i64 1 - %tobool.not.i.i.i.i.i210 = icmp eq ptr %33, null - br i1 %tobool.not.i.i.i.i.i210, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i212, label %if.then.i21.i.i.i.i211 - -if.then.i21.i.i.i.i211: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i208 + %sub.ptr.lhs.cast.i.i.i.i.i.i190 = ptrtoint ptr %30 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i191 = ptrtoint ptr %33 to i64 + %sub.ptr.sub.i.i.i.i.i.i192 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i190, %sub.ptr.rhs.cast.i.i.i.i.i.i191 + %cmp.i.i.i.i.i193 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i192, 9223372036854775800 + br i1 %cmp.i.i.i.i.i193, label %if.then.i.i.i.i.i269.invoke, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i194 + +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i194: ; preds = %if.else.i.i.i189 + %sub.ptr.div.i.i.i.i.i.i195 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i192, 3 + %.sroa.speculated.i.i.i.i.i196 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i195, i64 1) + %add.i.i.i.i.i197 = add i64 %.sroa.speculated.i.i.i.i.i196, %sub.ptr.div.i.i.i.i.i.i195 + %cmp7.i.i.i.i.i198 = icmp ult i64 %add.i.i.i.i.i197, %sub.ptr.div.i.i.i.i.i.i195 + %cmp9.i.i.i.i.i199 = icmp ugt i64 %add.i.i.i.i.i197, 1152921504606846975 + %or.cond.i.i.i.i.i200 = or i1 %cmp7.i.i.i.i.i198, %cmp9.i.i.i.i.i199 + %cond.i.i.i.i.i201 = select i1 %or.cond.i.i.i.i.i200, i64 1152921504606846975, i64 %add.i.i.i.i.i197 + %cmp.not.i.i.i.i.i202 = icmp eq i64 %cond.i.i.i.i.i201, 0 + br i1 %cmp.not.i.i.i.i.i202, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i205, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i203 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i203: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i194 + %mul.i.i.i.i.i.i.i204 = shl nuw nsw i64 %cond.i.i.i.i.i201, 3 + %call5.i.i.i.i.i.i.i220 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i204) #22 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i205 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i205: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i203, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i194 + %cond.i10.i.i.i.i206 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i194 ], [ %call5.i.i.i.i.i.i.i220, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i203 ] + %add.ptr.i.i.i.i207 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i206, i64 %sub.ptr.div.i.i.i.i.i.i195 + store ptr %call1.i140, ptr %add.ptr.i.i.i.i207, align 8 + %cmp.i.i.i11.i.i.i.i208 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i192, 0 + br i1 %cmp.i.i.i11.i.i.i.i208, label %if.then.i.i.i12.i.i.i.i216, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i209 + +if.then.i.i.i12.i.i.i.i216: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i205 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i206, ptr align 8 %33, i64 %sub.ptr.sub.i.i.i.i.i.i192, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i209 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i209: ; preds = %if.then.i.i.i12.i.i.i.i216, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i205 + %add.ptr.i.i.i.i.i.i.i210 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i206, i64 %sub.ptr.sub.i.i.i.i.i.i192 + %incdec.ptr.i.i.i.i211 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i210, i64 1 + %tobool.not.i.i.i.i.i212 = icmp eq ptr %33, null + br i1 %tobool.not.i.i.i.i.i212, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i214, label %if.then.i20.i.i.i.i213 + +if.then.i20.i.i.i.i213: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i209 call void @_ZdlPv(ptr noundef nonnull %33) #21 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i212 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i214 -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i212: ; preds = %if.then.i21.i.i.i.i211, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i208 - store ptr %cond.i10.i.i.i.i205, ptr %ref, align 8 - store ptr %incdec.ptr.i.i.i.i209, ptr %_M_finish.i.i.i, align 8 - %add.ptr19.i.i.i.i213 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i205, i64 %cond.i.i.i.i.i200 - store ptr %add.ptr19.i.i.i.i213, ptr %_M_end_of_storage.i.i.i, align 8 +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i214: ; preds = %if.then.i20.i.i.i.i213, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i209 + store ptr %cond.i10.i.i.i.i206, ptr %ref, align 8 + store ptr %incdec.ptr.i.i.i.i211, ptr %_M_finish.i.i.i, align 8 + %add.ptr19.i.i.i.i215 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i206, i64 %cond.i.i.i.i.i201 + store ptr %add.ptr19.i.i.i.i215, ptr %_M_end_of_storage.i.i.i, align 8 br label %invoke.cont86 -invoke.cont86: ; preds = %if.then.i.i.i185, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i212 - %ref.promoted349 = phi ptr [ %ref.promoted349.pre, %if.then.i.i.i185 ], [ %cond.i10.i.i.i.i205, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i212 ] - %_M_end_of_storage.i.i.i147.promoted = phi ptr [ %30, %if.then.i.i.i185 ], [ %add.ptr19.i.i.i.i213, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i212 ] - %_M_finish.i.i.i146.promoted = phi ptr [ %incdec.ptr.i.i.i186, %if.then.i.i.i185 ], [ %incdec.ptr.i.i.i.i209, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i212 ] - %edges_.i219 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %call1.i140, i64 0, i32 1 - %arrayidx.i.i220 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call1.i140, i64 0, i32 3, i64 1 - %34 = load i8, ptr %arrayidx.i.i220, align 1 - %conv.i.i221 = zext i8 %34 to i64 - %add.ptr.i222 = getelementptr inbounds ptr, ptr %edges_.i219, i64 %conv.i.i221 - %35 = load ptr, ptr %add.ptr.i222, align 8, !nonnull !116, !noundef !116 - %refcount.i.i229 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %35, i64 0, i32 1 - br label %while.body.i232 - -while.body.i232: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237, %invoke.cont86 - %cond.i10.i.i.i.i256351 = phi ptr [ %ref.promoted349, %invoke.cont86 ], [ %cond.i10.i.i.i.i256350, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237 ] - %36 = phi ptr [ %_M_end_of_storage.i.i.i147.promoted, %invoke.cont86 ], [ %39, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237 ] - %37 = phi ptr [ %_M_finish.i.i.i146.promoted, %invoke.cont86 ], [ %40, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237 ] - %n.addr.02.i = phi i64 [ 4, %invoke.cont86 ], [ %dec.i233, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237 ] - %dec.i233 = add nsw i64 %n.addr.02.i, -1 - %38 = atomicrmw add ptr %refcount.i.i229, i32 2 monotonic, align 4 - %cmp.not.i.i.i234 = icmp eq ptr %37, %36 - br i1 %cmp.not.i.i.i234, label %if.else.i.i.i239, label %if.then.i.i.i235 - -if.then.i.i.i235: ; preds = %while.body.i232 +invoke.cont86: ; preds = %if.then.i.i.i186, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i214 + %ref.promoted352 = phi ptr [ %ref.promoted352.pre, %if.then.i.i.i186 ], [ %cond.i10.i.i.i.i206, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i214 ] + %_M_end_of_storage.i.i.i147.promoted = phi ptr [ %30, %if.then.i.i.i186 ], [ %add.ptr19.i.i.i.i215, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i214 ] + %_M_finish.i.i.i146.promoted = phi ptr [ %incdec.ptr.i.i.i187, %if.then.i.i.i186 ], [ %incdec.ptr.i.i.i.i211, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i214 ] + %edges_.i221 = getelementptr inbounds %"class.absl::cord_internal::CordRepBtree", ptr %call1.i140, i64 0, i32 1 + %arrayidx.i.i222 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %call1.i140, i64 0, i32 3, i64 1 + %34 = load i8, ptr %arrayidx.i.i222, align 1 + %conv.i.i223 = zext i8 %34 to i64 + %add.ptr.i224 = getelementptr inbounds ptr, ptr %edges_.i221, i64 %conv.i.i223 + %35 = load ptr, ptr %add.ptr.i224, align 8, !nonnull !116, !noundef !116 + %refcount.i.i231 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %35, i64 0, i32 1 + br label %while.body.i234 + +while.body.i234: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239, %invoke.cont86 + %cond.i10.i.i.i.i258354 = phi ptr [ %ref.promoted352, %invoke.cont86 ], [ %cond.i10.i.i.i.i258353, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239 ] + %36 = phi ptr [ %_M_end_of_storage.i.i.i147.promoted, %invoke.cont86 ], [ %39, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239 ] + %37 = phi ptr [ %_M_finish.i.i.i146.promoted, %invoke.cont86 ], [ %40, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239 ] + %n.addr.02.i = phi i64 [ 4, %invoke.cont86 ], [ %dec.i235, %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239 ] + %dec.i235 = add nsw i64 %n.addr.02.i, -1 + %38 = atomicrmw add ptr %refcount.i.i231, i32 2 monotonic, align 4 + %cmp.not.i.i.i236 = icmp eq ptr %37, %36 + br i1 %cmp.not.i.i.i236, label %if.else.i.i.i241, label %if.then.i.i.i237 + +if.then.i.i.i237: ; preds = %while.body.i234 store ptr %35, ptr %37, align 8 - br label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237 + br label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239 -if.else.i.i.i239: ; preds = %while.body.i232 - %sub.ptr.lhs.cast.i.i.i.i.i.i240 = ptrtoint ptr %36 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i241 = ptrtoint ptr %cond.i10.i.i.i.i256351 to i64 - %sub.ptr.sub.i.i.i.i.i.i242 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i240, %sub.ptr.rhs.cast.i.i.i.i.i.i241 - %cmp.i.i.i.i.i243 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i242, 9223372036854775800 - br i1 %cmp.i.i.i.i.i243, label %if.then.i.i.i.i.i266, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i244 +if.else.i.i.i241: ; preds = %while.body.i234 + %sub.ptr.lhs.cast.i.i.i.i.i.i242 = ptrtoint ptr %36 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i243 = ptrtoint ptr %cond.i10.i.i.i.i258354 to i64 + %sub.ptr.sub.i.i.i.i.i.i244 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i242, %sub.ptr.rhs.cast.i.i.i.i.i.i243 + %cmp.i.i.i.i.i245 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i244, 9223372036854775800 + br i1 %cmp.i.i.i.i.i245, label %if.then.i.i.i.i.i269, label %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i246 -if.then.i.i.i.i.i266: ; preds = %if.else.i.i.i239 +if.then.i.i.i.i.i269: ; preds = %if.else.i.i.i241 store ptr %36, ptr %_M_finish.i.i.i, align 8 store ptr %36, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %cond.i10.i.i.i.i256351, ptr %ref, align 8 - br label %if.then.i.i.i.i.i266.invoke + store ptr %cond.i10.i.i.i.i258354, ptr %ref, align 8 + br label %if.then.i.i.i.i.i269.invoke -if.then.i.i.i.i.i266.invoke: ; preds = %if.else.i.i.i188, %if.else.i.i.i151, %if.then.i.i.i.i.i, %if.then.i.i.i.i.i266 +if.then.i.i.i.i.i269.invoke: ; preds = %if.else.i.i.i189, %if.else.i.i.i151, %if.then.i.i.i.i.i, %if.then.i.i.i.i.i269 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.25) #25 - to label %if.then.i.i.i.i.i266.cont unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i.i.i269.cont unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i.i266.cont: ; preds = %if.then.i.i.i.i.i266.invoke +if.then.i.i.i.i.i269.cont: ; preds = %if.then.i.i.i.i.i269.invoke unreachable -_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i244: ; preds = %if.else.i.i.i239 - %sub.ptr.div.i.i.i.i.i.i245 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i242, 3 - %.sroa.speculated.i.i.i.i.i246 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i245, i64 1) - %add.i.i.i.i.i247 = add i64 %.sroa.speculated.i.i.i.i.i246, %sub.ptr.div.i.i.i.i.i.i245 - %cmp7.i.i.i.i.i248 = icmp ult i64 %add.i.i.i.i.i247, %sub.ptr.div.i.i.i.i.i.i245 - %cmp9.i.i.i.i.i249 = icmp ugt i64 %add.i.i.i.i.i247, 1152921504606846975 - %or.cond.i.i.i.i.i250 = or i1 %cmp7.i.i.i.i.i248, %cmp9.i.i.i.i.i249 - %cond.i.i.i.i.i251 = select i1 %or.cond.i.i.i.i.i250, i64 1152921504606846975, i64 %add.i.i.i.i.i247 - %cmp.not.i.i.i.i.i252 = icmp eq i64 %cond.i.i.i.i.i251, 0 - br i1 %cmp.not.i.i.i.i.i252, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i255, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i253 - -_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i253: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i244 - %mul.i.i.i.i.i.i.i254 = shl nuw nsw i64 %cond.i.i.i.i.i251, 3 - %call5.i.i.i.i.i.i.i269 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i254) #22 - to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i255 unwind label %lpad.loopexit - -_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i255: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i253, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i244 - %cond.i10.i.i.i.i256 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i244 ], [ %call5.i.i.i.i.i.i.i269, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i253 ] - %add.ptr.i.i.i.i257 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i256, i64 %sub.ptr.div.i.i.i.i.i.i245 - store ptr %35, ptr %add.ptr.i.i.i.i257, align 8 - %cmp.i.i.i11.i.i.i.i258 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i245, 0 - br i1 %cmp.i.i.i11.i.i.i.i258, label %if.then.i.i.i12.i.i.i.i265, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i259 - -if.then.i.i.i12.i.i.i.i265: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i255 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i256, ptr align 8 %cond.i10.i.i.i.i256351, i64 %sub.ptr.sub.i.i.i.i.i.i242, i1 false) - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i259 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i259: ; preds = %if.then.i.i.i12.i.i.i.i265, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i255 - %tobool.not.i.i.i.i.i261 = icmp eq ptr %cond.i10.i.i.i.i256351, null - br i1 %tobool.not.i.i.i.i.i261, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i263, label %if.then.i21.i.i.i.i262 - -if.then.i21.i.i.i.i262: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i259 - call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i.i256351) #21 - br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i263 - -_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i263: ; preds = %if.then.i21.i.i.i.i262, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i259 - %add.ptr19.i.i.i.i264 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i256, i64 %cond.i.i.i.i.i251 - br label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237 - -_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i263, %if.then.i.i.i235 - %cond.i10.i.i.i.i256350 = phi ptr [ %cond.i10.i.i.i.i256, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i263 ], [ %cond.i10.i.i.i.i256351, %if.then.i.i.i235 ] - %39 = phi ptr [ %add.ptr19.i.i.i.i264, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i263 ], [ %36, %if.then.i.i.i235 ] - %add.ptr.i.i.i.i257.pn = phi ptr [ %add.ptr.i.i.i.i257, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i263 ], [ %37, %if.then.i.i.i235 ] - %40 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i257.pn, i64 1 - %tobool.not.i238 = icmp eq i64 %dec.i233, 0 - br i1 %tobool.not.i238, label %invoke.cont93, label %while.body.i232, !llvm.loop !117 - -invoke.cont93: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i237 +_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i246: ; preds = %if.else.i.i.i241 + %sub.ptr.div.i.i.i.i.i.i247 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i244, 3 + %.sroa.speculated.i.i.i.i.i248 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i247, i64 1) + %add.i.i.i.i.i249 = add i64 %.sroa.speculated.i.i.i.i.i248, %sub.ptr.div.i.i.i.i.i.i247 + %cmp7.i.i.i.i.i250 = icmp ult i64 %add.i.i.i.i.i249, %sub.ptr.div.i.i.i.i.i.i247 + %cmp9.i.i.i.i.i251 = icmp ugt i64 %add.i.i.i.i.i249, 1152921504606846975 + %or.cond.i.i.i.i.i252 = or i1 %cmp7.i.i.i.i.i250, %cmp9.i.i.i.i.i251 + %cond.i.i.i.i.i253 = select i1 %or.cond.i.i.i.i.i252, i64 1152921504606846975, i64 %add.i.i.i.i.i249 + %cmp.not.i.i.i.i.i254 = icmp eq i64 %cond.i.i.i.i.i253, 0 + br i1 %cmp.not.i.i.i.i.i254, label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i257, label %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i255 + +_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i255: ; preds = %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i246 + %mul.i.i.i.i.i.i.i256 = shl nuw nsw i64 %cond.i.i.i.i.i253, 3 + %call5.i.i.i.i.i.i.i272 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i256) #22 + to label %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i257 unwind label %lpad.loopexit + +_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i257: ; preds = %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i255, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i246 + %cond.i10.i.i.i.i258 = phi ptr [ null, %_ZNKSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i246 ], [ %call5.i.i.i.i.i.i.i272, %_ZNSt16allocator_traitsISaIPN4absl13cord_internal7CordRepEEE8allocateERS4_m.exit.i.i.i.i.i255 ] + %add.ptr.i.i.i.i259 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i258, i64 %sub.ptr.div.i.i.i.i.i.i247 + store ptr %35, ptr %add.ptr.i.i.i.i259, align 8 + %cmp.i.i.i11.i.i.i.i260 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i244, 0 + br i1 %cmp.i.i.i11.i.i.i.i260, label %if.then.i.i.i12.i.i.i.i268, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i261 + +if.then.i.i.i12.i.i.i.i268: ; preds = %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i257 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i258, ptr align 8 %cond.i10.i.i.i.i258354, i64 %sub.ptr.sub.i.i.i.i.i.i244, i1 false) + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i261 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i261: ; preds = %if.then.i.i.i12.i.i.i.i268, %_ZNSt12_Vector_baseIPN4absl13cord_internal7CordRepESaIS3_EE11_M_allocateEm.exit.i.i.i.i257 + %add.ptr.i.i.i.i.i.i.i262 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i258, i64 %sub.ptr.sub.i.i.i.i.i.i244 + %tobool.not.i.i.i.i.i264 = icmp eq ptr %cond.i10.i.i.i.i258354, null + br i1 %tobool.not.i.i.i.i.i264, label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i266, label %if.then.i20.i.i.i.i265 + +if.then.i20.i.i.i.i265: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i261 + call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i.i.i258354) #21 + br label %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i266 + +_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i266: ; preds = %if.then.i20.i.i.i.i265, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i261 + %add.ptr19.i.i.i.i267 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i.i258, i64 %cond.i.i.i.i.i253 + br label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239 + +_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239: ; preds = %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i266, %if.then.i.i.i237 + %cond.i10.i.i.i.i258353 = phi ptr [ %cond.i10.i.i.i.i258, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i266 ], [ %cond.i10.i.i.i.i258354, %if.then.i.i.i237 ] + %39 = phi ptr [ %add.ptr19.i.i.i.i267, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i266 ], [ %36, %if.then.i.i.i237 ] + %add.ptr.i.i.i.i.i.i.i262.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i262, %_ZNSt6vectorIPN4absl13cord_internal7CordRepESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i266 ], [ %37, %if.then.i.i.i237 ] + %40 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.i262.pn, i64 1 + %tobool.not.i240 = icmp eq i64 %dec.i235, 0 + br i1 %tobool.not.i240, label %invoke.cont93, label %while.body.i234, !llvm.loop !117 + +invoke.cont93: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelper10NeedsUnrefINS0_7CordRepEEEPT_S6_.exit.i239 store ptr %40, ptr %_M_finish.i.i.i, align 8 store ptr %39, ptr %_M_end_of_storage.i.i.i, align 8 - store ptr %cond.i10.i.i.i.i256350, ptr %ref, align 8 + store ptr %cond.i10.i.i.i.i258353, ptr %ref, align 8 %41 = getelementptr inbounds i8, ptr %expected, i64 40 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(336) %41, i8 0, i64 296, i1 false) %42 = load i64, ptr %call1.i140, align 8 @@ -7695,10 +7703,10 @@ invoke.cont93: ; preds = %_ZN4absl13cord_inte for.body.i.i.i: ; preds = %for.body.i.i.i, %invoke.cont93 %indvars.iv.i.i.i = phi i64 [ %indvars.iv.next.i.i.i, %for.body.i.i.i ], [ 0, %invoke.cont93 ] - %arrayidx.i.i.i270 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i, i64 0, i64 %indvars.iv.i.i.i - %arrayidx4.i.i.i271 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker3.i, i64 0, i64 %indvars.iv.i.i.i - %43 = load atomic i64, ptr %arrayidx4.i.i.i271 monotonic, align 8 - store atomic i64 %43, ptr %arrayidx.i.i.i270 monotonic, align 8 + %arrayidx.i.i.i273 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i, i64 0, i64 %indvars.iv.i.i.i + %arrayidx4.i.i.i274 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker3.i, i64 0, i64 %indvars.iv.i.i.i + %43 = load atomic i64, ptr %arrayidx4.i.i.i274 monotonic, align 8 + store atomic i64 %43, ptr %arrayidx.i.i.i273 monotonic, align 8 %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, 25 br i1 %exitcond.not.i.i.i, label %_ZN4absl13cord_internal15CordzStatisticsC2ERKS1_.exit, label %for.body.i.i.i, !llvm.loop !5 @@ -7740,24 +7748,24 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. invoke.cont105: ; preds = %for.body.i.i.i.i.i.i.i.i.i call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i) call void @llvm.experimental.noalias.scope.decl(metadata !121) - call void @llvm.lifetime.start.p0(i64 336, ptr nonnull %agg.tmp.i272) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i272, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp103, i64 136, i1 false), !noalias !121 - %update_tracker.i.i.i.i.i.i.i273 = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %agg.tmp.i272, i64 0, i32 7 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i273, i8 0, i64 200, i1 false), !noalias !121 - br label %for.body.i.i.i.i.i.i.i.i.i274 - -for.body.i.i.i.i.i.i.i.i.i274: ; preds = %for.body.i.i.i.i.i.i.i.i.i274, %invoke.cont105 - %indvars.iv.i.i.i.i.i.i.i.i.i275 = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i278, %for.body.i.i.i.i.i.i.i.i.i274 ], [ 0, %invoke.cont105 ] - %arrayidx.i.i.i.i.i.i.i.i.i276 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i273, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i275 - %arrayidx4.i.i.i.i.i.i.i.i.i277 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i275 - %46 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i277 monotonic, align 8, !noalias !121 - store atomic i64 %46, ptr %arrayidx.i.i.i.i.i.i.i.i.i276 monotonic, align 8, !noalias !121 - %indvars.iv.next.i.i.i.i.i.i.i.i.i278 = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i275, 1 - %exitcond.not.i.i.i.i.i.i.i.i.i279 = icmp eq i64 %indvars.iv.next.i.i.i.i.i.i.i.i.i278, 25 - br i1 %exitcond.not.i.i.i.i.i.i.i.i.i279, label %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i, label %for.body.i.i.i.i.i.i.i.i.i274, !llvm.loop !5 - -_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i274 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %ref.tmp102, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i272, i64 136, i1 false) + call void @llvm.lifetime.start.p0(i64 336, ptr nonnull %agg.tmp.i275) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i275, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp103, i64 136, i1 false), !noalias !121 + %update_tracker.i.i.i.i.i.i.i276 = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %agg.tmp.i275, i64 0, i32 7 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i276, i8 0, i64 200, i1 false), !noalias !121 + br label %for.body.i.i.i.i.i.i.i.i.i277 + +for.body.i.i.i.i.i.i.i.i.i277: ; preds = %for.body.i.i.i.i.i.i.i.i.i277, %invoke.cont105 + %indvars.iv.i.i.i.i.i.i.i.i.i278 = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i281, %for.body.i.i.i.i.i.i.i.i.i277 ], [ 0, %invoke.cont105 ] + %arrayidx.i.i.i.i.i.i.i.i.i279 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i276, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i278 + %arrayidx4.i.i.i.i.i.i.i.i.i280 = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i278 + %46 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i280 monotonic, align 8, !noalias !121 + store atomic i64 %46, ptr %arrayidx.i.i.i.i.i.i.i.i.i279 monotonic, align 8, !noalias !121 + %indvars.iv.next.i.i.i.i.i.i.i.i.i281 = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i278, 1 + %exitcond.not.i.i.i.i.i.i.i.i.i282 = icmp eq i64 %indvars.iv.next.i.i.i.i.i.i.i.i.i281, 25 + br i1 %exitcond.not.i.i.i.i.i.i.i.i.i282, label %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i, label %for.body.i.i.i.i.i.i.i.i.i277, !llvm.loop !5 + +_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i277 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(136) %ref.tmp102, ptr noundef nonnull align 8 dereferenceable(136) %agg.tmp.i275, i64 136, i1 false) %update_tracker.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::CordzStatistics", ptr %ref.tmp102, i64 0, i32 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(200) %update_tracker.i.i.i.i.i.i.i.i, i8 0, i64 200, i1 false), !alias.scope !121 br label %for.body.i.i.i.i.i.i.i.i.i.i @@ -7765,7 +7773,7 @@ _ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatistic for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i, %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i %indvars.iv.i.i.i.i.i.i.i.i.i.i = phi i64 [ %indvars.iv.next.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i.i ], [ 0, %_ZN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS0_15CordzStatisticsEEC2EOS4_.exit.i ] %arrayidx.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i.i, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i - %arrayidx4.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i273, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i + %arrayidx4.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds [25 x %"class.absl::cord_internal::CordzUpdateTracker::Counter"], ptr %update_tracker.i.i.i.i.i.i.i276, i64 0, i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i %47 = load atomic i64, ptr %arrayidx4.i.i.i.i.i.i.i.i.i.i monotonic, align 8, !noalias !121 store atomic i64 %47, ptr %arrayidx.i.i.i.i.i.i.i.i.i.i monotonic, align 8, !alias.scope !121 %indvars.iv.next.i.i.i.i.i.i.i.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i.i.i.i.i.i.i.i, 1 @@ -7773,29 +7781,29 @@ for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %exitcond.not.i.i.i.i.i.i.i.i.i.i, label %invoke.cont106, label %for.body.i.i.i.i.i.i.i.i.i.i, !llvm.loop !5 invoke.cont106: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i - call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i272) + call void @llvm.lifetime.end.p0(i64 336, ptr nonnull %agg.tmp.i275) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %cord.i) store i64 1, ptr %cord.i, align 8, !noalias !124 %rep.i.i.i.i = getelementptr inbounds %"struct.absl::cord_internal::InlineData::Rep::AsTree", ptr %cord.i, i64 0, i32 1 store ptr %call1.i140, ptr %rep.i.i.i.i, align 8, !noalias !124 invoke void @_ZN4absl13cord_internal9CordzInfo9TrackCordERNS0_10InlineDataENS0_18CordzUpdateTracker16MethodIdentifierE(ptr noundef nonnull align 8 dereferenceable(16) %cord.i, i32 noundef 0) - to label %.noexc281 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc284 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.noexc281: ; preds = %invoke.cont106 +.noexc284: ; preds = %invoke.cont106 %48 = load i64, ptr %cord.i, align 8, !noalias !124 - %sub.i.i280 = add nsw i64 %48, -1 - %49 = inttoptr i64 %sub.i.i280 to ptr + %sub.i.i283 = add nsw i64 %48, -1 + %49 = inttoptr i64 %sub.i.i283 to ptr invoke void @_ZNK4absl13cord_internal9CordzInfo18GetCordzStatisticsEv(ptr nonnull sret(%"struct.absl::cord_internal::CordzStatistics") align 8 %ref.tmp107, ptr noundef nonnull align 8 dereferenceable(1332) %49) - to label %.noexc282 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc285 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.noexc282: ; preds = %.noexc281 +.noexc285: ; preds = %.noexc284 %50 = load i64, ptr %cord.i, align 8, !noalias !124 %sub.i1.i = add nsw i64 %50, -1 %51 = inttoptr i64 %sub.i1.i to ptr invoke void @_ZN4absl13cord_internal9CordzInfo7UntrackEv(ptr noundef nonnull align 8 dereferenceable(1332) %51) to label %invoke.cont108 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -invoke.cont108: ; preds = %.noexc282 +invoke.cont108: ; preds = %.noexc285 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %cord.i) invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIN4absl13cord_internal12_GLOBAL__N_120EqStatisticsMatcherPINS3_15CordzStatisticsEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar101, ptr noundef nonnull align 8 dereferenceable(336) %ref.tmp102, ptr noundef nonnull @.str.66, ptr noundef nonnull align 8 dereferenceable(336) %ref.tmp107) to label %invoke.cont109 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp @@ -7803,26 +7811,26 @@ invoke.cont108: ; preds = %.noexc282 invoke.cont109: ; preds = %invoke.cont108 %52 = load i8, ptr %gtest_ar101, align 8 %53 = and i8 %52, 1 - %tobool.i284.not = icmp eq i8 %53, 0 - br i1 %tobool.i284.not, label %if.else112, label %if.end125 + %tobool.i287.not = icmp eq i8 %53, 0 + br i1 %tobool.i287.not, label %if.else112, label %if.end125 if.else112: ; preds = %invoke.cont109 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp113) to label %invoke.cont115 unwind label %lpad114 invoke.cont115: ; preds = %if.else112 - %message_.i.i285 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar101, i64 0, i32 1 - %54 = load ptr, ptr %message_.i.i285, align 8 - %cmp.i.i.not.i.i286 = icmp eq ptr %54, null - br i1 %cmp.i.i.not.i.i286, label %invoke.cont118, label %cond.true.i.i287 + %message_.i.i288 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar101, i64 0, i32 1 + %54 = load ptr, ptr %message_.i.i288, align 8 + %cmp.i.i.not.i.i289 = icmp eq ptr %54, null + br i1 %cmp.i.i.not.i.i289, label %invoke.cont118, label %cond.true.i.i290 -cond.true.i.i287: ; preds = %invoke.cont115 - %call4.i.i288 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %54) #20 +cond.true.i.i290: ; preds = %invoke.cont115 + %call4.i.i291 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %54) #20 br label %invoke.cont118 -invoke.cont118: ; preds = %cond.true.i.i287, %invoke.cont115 - %cond.i.i289 = phi ptr [ %call4.i.i288, %cond.true.i.i287 ], [ @.str.62, %invoke.cont115 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp116, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 380, ptr noundef %cond.i.i289) +invoke.cont118: ; preds = %cond.true.i.i290, %invoke.cont115 + %cond.i.i292 = phi ptr [ %call4.i.i291, %cond.true.i.i290 ], [ @.str.62, %invoke.cont115 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp116, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 380, ptr noundef %cond.i.i292) to label %invoke.cont120 unwind label %lpad117 invoke.cont120: ; preds = %invoke.cont118 @@ -7832,17 +7840,17 @@ invoke.cont120: ; preds = %invoke.cont118 invoke.cont122: ; preds = %invoke.cont120 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp116) #20 %55 = load ptr, ptr %ref.tmp113, align 8 - %cmp.not.i.i291 = icmp eq ptr %55, null - br i1 %cmp.not.i.i291, label %_ZN7testing7MessageD2Ev.exit295, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i292 + %cmp.not.i.i294 = icmp eq ptr %55, null + br i1 %cmp.not.i.i294, label %_ZN7testing7MessageD2Ev.exit298, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i292: ; preds = %invoke.cont122 - %vtable.i.i.i293 = load ptr, ptr %55, align 8 - %vfn.i.i.i294 = getelementptr inbounds ptr, ptr %vtable.i.i.i293, i64 1 - %56 = load ptr, ptr %vfn.i.i.i294, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295: ; preds = %invoke.cont122 + %vtable.i.i.i296 = load ptr, ptr %55, align 8 + %vfn.i.i.i297 = getelementptr inbounds ptr, ptr %vtable.i.i.i296, i64 1 + %56 = load ptr, ptr %vfn.i.i.i297, align 8 call void %56(ptr noundef nonnull align 8 dereferenceable(128) %55) #20 - br label %_ZN7testing7MessageD2Ev.exit295 + br label %_ZN7testing7MessageD2Ev.exit298 -_ZN7testing7MessageD2Ev.exit295: ; preds = %invoke.cont122, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i292 +_ZN7testing7MessageD2Ev.exit298: ; preds = %invoke.cont122, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 store ptr null, ptr %ref.tmp113, align 8 br label %if.end125 @@ -7865,41 +7873,41 @@ lpad121: ; preds = %invoke.cont120 ehcleanup124: ; preds = %lpad121, %lpad117 %.pn31 = phi { ptr, i32 } [ %59, %lpad121 ], [ %58, %lpad117 ] %60 = load ptr, ptr %ref.tmp113, align 8 - %cmp.not.i.i296 = icmp eq ptr %60, null - br i1 %cmp.not.i.i296, label %_ZN7testing7MessageD2Ev.exit300, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i297 + %cmp.not.i.i299 = icmp eq ptr %60, null + br i1 %cmp.not.i.i299, label %_ZN7testing7MessageD2Ev.exit303, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i297: ; preds = %ehcleanup124 - %vtable.i.i.i298 = load ptr, ptr %60, align 8 - %vfn.i.i.i299 = getelementptr inbounds ptr, ptr %vtable.i.i.i298, i64 1 - %61 = load ptr, ptr %vfn.i.i.i299, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300: ; preds = %ehcleanup124 + %vtable.i.i.i301 = load ptr, ptr %60, align 8 + %vfn.i.i.i302 = getelementptr inbounds ptr, ptr %vtable.i.i.i301, i64 1 + %61 = load ptr, ptr %vfn.i.i.i302, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #20 - br label %_ZN7testing7MessageD2Ev.exit300 + br label %_ZN7testing7MessageD2Ev.exit303 -_ZN7testing7MessageD2Ev.exit300: ; preds = %ehcleanup124, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i297 +_ZN7testing7MessageD2Ev.exit303: ; preds = %ehcleanup124, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300 store ptr null, ptr %ref.tmp113, align 8 br label %ehcleanup126 -if.end125: ; preds = %invoke.cont109, %_ZN7testing7MessageD2Ev.exit295 - %message_.i301 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar101, i64 0, i32 1 - %62 = load ptr, ptr %message_.i301, align 8 - %cmp.not.i.i302 = icmp eq ptr %62, null - br i1 %cmp.not.i.i302, label %cleanup127, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i303 +if.end125: ; preds = %invoke.cont109, %_ZN7testing7MessageD2Ev.exit298 + %message_.i304 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar101, i64 0, i32 1 + %62 = load ptr, ptr %message_.i304, align 8 + %cmp.not.i.i305 = icmp eq ptr %62, null + br i1 %cmp.not.i.i305, label %cleanup127, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i303: ; preds = %if.end125 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306: ; preds = %if.end125 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #20 call void @_ZdlPv(ptr noundef nonnull %62) #21 br label %cleanup127 -cleanup127: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i303, %if.end125 - store ptr null, ptr %message_.i301, align 8 - %cmp.i.not4.i = icmp eq ptr %cond.i10.i.i.i.i256350, %40 +cleanup127: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306, %if.end125 + store ptr null, ptr %message_.i304, align 8 + %cmp.i.not4.i = icmp eq ptr %cond.i10.i.i.i.i258353, %40 br i1 %cmp.i.not4.i, label %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev.exit.sink.split, label %for.body.i for.body.i: ; preds = %cleanup127, %for.inc.i - %__begin3.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %cond.i10.i.i.i.i256350, %cleanup127 ] + %__begin3.sroa.0.05.i = phi ptr [ %incdec.ptr.i.i, %for.inc.i ], [ %cond.i10.i.i.i.i258353, %cleanup127 ] %63 = load ptr, ptr %__begin3.sroa.0.05.i, align 8 - %refcount.i.i305 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %63, i64 0, i32 1 - %64 = atomicrmw sub ptr %refcount.i.i305, i32 2 acq_rel, align 4 + %refcount.i.i308 = getelementptr inbounds %"struct.absl::cord_internal::CordRep", ptr %63, i64 0, i32 1 + %64 = atomicrmw sub ptr %refcount.i.i308, i32 2 acq_rel, align 4 %cmp.i.not.i.i = icmp eq i32 %64, 2 br i1 %cmp.i.not.i.i, label %if.then.i.i, label %for.inc.i @@ -7909,7 +7917,7 @@ if.then.i.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i.i, %for.body.i %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %__begin3.sroa.0.05.i, i64 1 - %cmp.i.not.i = icmp eq ptr %__begin3.sroa.0.05.i, %add.ptr.i.i.i.i257.pn + %cmp.i.not.i = icmp eq ptr %__begin3.sroa.0.05.i, %add.ptr.i.i.i.i.i.i.i262.pn br i1 %cmp.i.not.i, label %for.end.i, label %for.body.i for.end.i: ; preds = %for.inc.i @@ -7932,13 +7940,13 @@ _ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev.exit.sink.split: ; preds = % _ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev.exit: ; preds = %_ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev.exit.sink.split, %_ZN7testing7MessageD2Ev.exit, %for.end.i ret void -ehcleanup126: ; preds = %_ZN7testing7MessageD2Ev.exit300, %lpad114 - %.pn31.pn = phi { ptr, i32 } [ %.pn31, %_ZN7testing7MessageD2Ev.exit300 ], [ %57, %lpad114 ] +ehcleanup126: ; preds = %_ZN7testing7MessageD2Ev.exit303, %lpad114 + %.pn31.pn = phi { ptr, i32 } [ %.pn31, %_ZN7testing7MessageD2Ev.exit303 ], [ %57, %lpad114 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar101) #20 br label %ehcleanup130 ehcleanup130: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad.loopexit.split-lp.loopexit, %ehcleanup126, %ehcleanup22 - %.pn34 = phi { ptr, i32 } [ %.pn31.pn, %ehcleanup126 ], [ %.pn.pn, %ehcleanup22 ], [ %lpad.loopexit306, %lpad.loopexit ], [ %lpad.loopexit308, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit311, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit314, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp315, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %.pn34 = phi { ptr, i32 } [ %.pn31.pn, %ehcleanup126 ], [ %.pn.pn, %ehcleanup22 ], [ %lpad.loopexit309, %lpad.loopexit ], [ %lpad.loopexit311, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit314, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit317, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp318, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] call fastcc void @_ZN4absl13cord_internal12_GLOBAL__N_19RefHelperD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %ref) #20 resume { ptr, i32 } %.pn34 } @@ -9997,16 +10005,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -10037,24 +10045,24 @@ _ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit: %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #21 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -10066,11 +10074,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"class.absl::AnyInvocable", ptr %6, i64 16 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.absl::AnyInvocable", ptr %6, i64 16 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } diff --git a/bench/abseil-cpp/optimized/cordz_info_test.cc.ll b/bench/abseil-cpp/optimized/cordz_info_test.cc.ll index 620b1c00f95..aaadb1fe162 100644 --- a/bench/abseil-cpp/optimized/cordz_info_test.cc.ll +++ b/bench/abseil-cpp/optimized/cordz_info_test.cc.ll @@ -18674,8 +18674,8 @@ if.end.i.i.i.i.i25: ; preds = %if.then.i.i.i22 br label %try.cont try.cont: ; preds = %if.end.i.i.i.i.i25, %if.then.i.i.i22 - %cmp.i.i.i30.not = icmp eq ptr %0, %1 - br i1 %cmp.i.i.i30.not, label %_ZNSt6vectorIPvSaIS0_EE11_S_relocateEPS0_S3_S3_RS1_.exit, label %if.then.i.i.i31 + %cmp.i.i.i30 = icmp sgt i64 %sub.ptr.sub.i, 0 + br i1 %cmp.i.i.i30, label %if.then.i.i.i31, label %_ZNSt6vectorIPvSaIS0_EE11_S_relocateEPS0_S3_S3_RS1_.exit if.then.i.i.i31: ; preds = %try.cont tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i19, ptr align 8 %1, i64 %sub.ptr.sub.i, i1 false) diff --git a/bench/abseil-cpp/optimized/cordz_sample_token_test.cc.ll b/bench/abseil-cpp/optimized/cordz_sample_token_test.cc.ll index 01d552a8476..5d3873b82a8 100644 --- a/bench/abseil-cpp/optimized/cordz_sample_token_test.cc.ll +++ b/bench/abseil-cpp/optimized/cordz_sample_token_test.cc.ll @@ -2351,23 +2351,24 @@ _ZNSt12_Vector_baseIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_M_allocateEm.ex %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i26, %_ZNSt16allocator_traitsISaIPKN4absl13cord_internal9CordzInfoEEE8allocateERS5_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call26, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i.i + br label %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i.i -_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #19 br label %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit20.i.i.i +_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE17_M_realloc_insertIJS4_EEEvN9__gnu_cxx17__normal_iteratorIPS4_S6_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN4absl13cord_internal9CordzInfoESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %found, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -7813,16 +7814,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -7853,24 +7854,24 @@ _ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit: %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #19 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -7882,11 +7883,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"class.absl::AnyInvocable", ptr %6, i64 16 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.absl::AnyInvocable", ptr %6, i64 16 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } diff --git a/bench/abseil-cpp/optimized/cordz_test.cc.ll b/bench/abseil-cpp/optimized/cordz_test.cc.ll index f35e8df3d5c..f85d9af0c09 100644 --- a/bench/abseil-cpp/optimized/cordz_test.cc.ll +++ b/bench/abseil-cpp/optimized/cordz_test.cc.ll @@ -1443,23 +1443,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #31 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -1495,7 +1496,7 @@ declare i32 @__gxx_personality_v0(...) define internal void @_ZN4absl12_GLOBAL__N_145gtest_WithParamCordzUpdateTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #29, !noalias !5 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 3 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 12 store i32 0, ptr %call5.i.i.i.i2.i.i.i, align 4, !noalias !5 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 4 store i32 8, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 4, !noalias !5 @@ -1814,23 +1815,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #31 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -1861,7 +1863,7 @@ if.end25: ; preds = %_ZNSt6vectorIPN7tes define internal void @_ZN4absl12_GLOBAL__N_145gtest_WithParamCordzStringTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #29, !noalias !13 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 5 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 20 store <4 x i32> , ptr %call5.i.i.i.i2.i.i.i, align 4, !noalias !13 %ref.tmp.sroa.5.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 16 store i32 16332, ptr %ref.tmp.sroa.5.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 4, !noalias !13 @@ -1997,8 +1999,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 2 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorIN4absl12TestCordSizeESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -2013,7 +2014,7 @@ _ZNSt6vectorIN4absl12TestCordSizeESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i: br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIN4absl12TestCordSizeESaIS1_EE11_M_allocateEm.exit.thread.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIN4absl12TestCordSizeESaIS1_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIN4absl12TestCordSizeESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i - %add.ptr3.i.i.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr3.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage4.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i, ptr %_M_end_of_storage4.i.i.i, align 8 br label %invoke.cont @@ -2024,7 +2025,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIN4absl call5.i.i.i.i.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i, ptr align 4 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) @@ -2042,9 +2043,10 @@ if.then.i.i2.i.i: ; preds = %lpad.i.i br label %lpad.body invoke.cont: ; preds = %call5.i.i.i.i.noexc.i.i, %_ZNSt12_Vector_baseIN4absl12TestCordSizeESaIS1_EE11_M_allocateEm.exit.thread.i.i.i - %add.ptr5.i.i.i = phi ptr [ %add.ptr3.i.i.i, %_ZNSt12_Vector_baseIN4absl12TestCordSizeESaIS1_EE11_M_allocateEm.exit.thread.i.i.i ], [ %add.ptr.i.i.i, %call5.i.i.i.i.noexc.i.i ] + %cond.i5.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl12TestCordSizeESaIS1_EE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %call5.i.i.i.i.noexc.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_finish.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %call, ptr %agg.result, align 8 %_M_refcount.i.i.i = getelementptr inbounds %"class.std::__shared_ptr", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i, align 8 @@ -3887,7 +3889,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.96, ptr %call5.i.i.i.i2.i, align 8 @@ -17950,7 +17952,7 @@ lpad.i: ; preds = %if.end invoke.cont11: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp7, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 16 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp7, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.96, ptr %call5.i.i.i.i2.i, align 8 diff --git a/bench/abseil-cpp/optimized/crc_cord_state.cc.ll b/bench/abseil-cpp/optimized/crc_cord_state.cc.ll index e1220aad34d..abf7592cb5b 100644 --- a/bench/abseil-cpp/optimized/crc_cord_state.cc.ll +++ b/bench/abseil-cpp/optimized/crc_cord_state.cc.ll @@ -3126,16 +3126,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -3166,24 +3166,24 @@ _ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_all %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #16 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -3195,11 +3195,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"struct.absl::crc_internal::CrcCordState::PrefixCrc", ptr %6, i64 32 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"struct.absl::crc_internal::CrcCordState::PrefixCrc", ptr %6, i64 32 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } diff --git a/bench/abseil-cpp/optimized/crc_cord_state_test.cc.ll b/bench/abseil-cpp/optimized/crc_cord_state_test.cc.ll index a12ab0fbcd6..5fb2b005d5e 100644 --- a/bench/abseil-cpp/optimized/crc_cord_state_test.cc.ll +++ b/bench/abseil-cpp/optimized/crc_cord_state_test.cc.ll @@ -3919,16 +3919,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -3959,24 +3959,24 @@ _ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_all %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIN4absl12crc_internal12CrcCordState9PrefixCrcESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #17 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12crc_internal12CrcCordState9PrefixCrcES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -3988,11 +3988,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"struct.absl::crc_internal::CrcCordState::PrefixCrc", ptr %6, i64 32 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"struct.absl::crc_internal::CrcCordState::PrefixCrc", ptr %6, i64 32 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } diff --git a/bench/abseil-cpp/optimized/crc_memcpy_test.cc.ll b/bench/abseil-cpp/optimized/crc_memcpy_test.cc.ll index cb20c51c039..17f0bf0edfa 100644 --- a/bench/abseil-cpp/optimized/crc_memcpy_test.cc.ll +++ b/bench/abseil-cpp/optimized/crc_memcpy_test.cc.ll @@ -37,7 +37,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.103" = type { %"struct.std::_Vector_base<(anonymous namespace)::TestParams, std::allocator<(anonymous namespace)::TestParams>>::_Vector_impl" } %"struct.std::_Vector_base<(anonymous namespace)::TestParams, std::allocator<(anonymous namespace)::TestParams>>::_Vector_impl" = type { %"struct.std::_Vector_base<(anonymous namespace)::TestParams, std::allocator<(anonymous namespace)::TestParams>>::_Vector_impl_data" } %"struct.std::_Vector_base<(anonymous namespace)::TestParams, std::allocator<(anonymous namespace)::TestParams>>::_Vector_impl_data" = type { ptr, ptr, ptr } -%"struct.(anonymous namespace)::TestParams" = type { i32, i32, i32 } %"class.std::_Sp_counted_base" = type { ptr, i32, i32 } %"class.std::_Sp_counted_ptr.118" = type { %"class.std::_Sp_counted_base", ptr } %"class.testing::Message" = type { %"class.std::unique_ptr.74" } @@ -48,6 +47,7 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Tuple_impl.78" = type { %"struct.std::_Head_base.81" } %"struct.std::_Head_base.81" = type { ptr } %"struct.testing::TestParamInfo" = type { %"struct.(anonymous namespace)::TestParams", i64 } +%"struct.(anonymous namespace)::TestParams" = type { i32, i32, i32 } %"struct.testing::internal::ParameterizedTestSuiteInfo<(anonymous namespace)::EngineParamTestTemplate<(anonymous namespace)::TestParams>>::TestInfo" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::unique_ptr", %"struct.testing::internal::CodeLocation" } %"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" } %"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" } @@ -537,23 +537,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #30 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -617,7 +618,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i.i: ; preds = %entry invoke.cont.i.i.i: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i.i.i.i.i, ptr %container_.i.i.i.i, align 8, !noalias !17 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::TestParams", ptr %call5.i.i.i.i2.i.i.i.i.i, i64 5 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i.i, i64 60 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call.i.i6.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !noalias !17 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(60) %call5.i.i.i.i2.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(60) %call5.i.i.i.i5.i4.i.i, i64 60, i1 false), !noalias !17 diff --git a/bench/abseil-cpp/optimized/discrete_distribution.cc.ll b/bench/abseil-cpp/optimized/discrete_distribution.cc.ll index 026548c4c5f..e76c654fc96 100644 --- a/bench/abseil-cpp/optimized/discrete_distribution.cc.ll +++ b/bench/abseil-cpp/optimized/discrete_distribution.cc.ll @@ -47,25 +47,25 @@ _ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEdET0_T_S8_S %sub = fadd double %add.i, -1.000000e+00 %3 = tail call double @llvm.fabs.f64(double %sub) %cmp = fcmp ule double %3, 0x3EB0C6F7A0B5ED8D - %or.cond298 = or i1 %cmp, %cmp.i.not4.i - br i1 %or.cond298, label %if.end, label %for.body + %or.cond300 = or i1 %cmp, %cmp.i.not4.i + br i1 %or.cond300, label %if.end, label %for.body for.body: ; preds = %_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEdET0_T_S8_S7_.exit, %for.body - %__begin3.sroa.0.0266 = phi ptr [ %incdec.ptr.i, %for.body ], [ %0, %_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEdET0_T_S8_S7_.exit ] - %4 = load double, ptr %__begin3.sroa.0.0266, align 8 + %__begin3.sroa.0.0268 = phi ptr [ %incdec.ptr.i, %for.body ], [ %0, %_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEdET0_T_S8_S7_.exit ] + %4 = load double, ptr %__begin3.sroa.0.0268, align 8 %div = fdiv double %4, %add.i - store double %div, ptr %__begin3.sroa.0.0266, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin3.sroa.0.0266, i64 1 + store double %div, ptr %__begin3.sroa.0.0268, align 8 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin3.sroa.0.0268, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %1 br i1 %cmp.i.not, label %if.end.loopexit, label %for.body if.end.loopexit: ; preds = %for.body %.pre = load ptr, ptr %_M_finish.i.i, align 8 - %.pre313 = load ptr, ptr %probabilities, align 8 + %.pre315 = load ptr, ptr %probabilities, align 8 br label %if.end if.end: ; preds = %entry, %if.end.loopexit, %_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEdET0_T_S8_S7_.exit - %5 = phi ptr [ %.pre313, %if.end.loopexit ], [ %0, %_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEdET0_T_S8_S7_.exit ], [ %0, %entry ] + %5 = phi ptr [ %.pre315, %if.end.loopexit ], [ %0, %_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEdET0_T_S8_S7_.exit ], [ %0, %entry ] %6 = phi ptr [ %.pre, %if.end.loopexit ], [ %1, %_ZSt10accumulateIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEdET0_T_S8_S7_.exit ], [ %1, %entry ] %sub.ptr.lhs.cast.i = ptrtoint ptr %6 to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %5 to i64 @@ -101,8 +101,8 @@ _ZNSt12_Vector_baseISt4pairIdmESaIS1_EE13_M_deallocateEPS1_m.exit.i: ; preds = % br label %invoke.cont invoke.cont: ; preds = %_ZNSt12_Vector_baseISt4pairIdmESaIS1_EE13_M_deallocateEPS1_m.exit.i, %if.end.i - %cmp.i21.not267 = icmp eq ptr %5, %6 - br i1 %cmp.i21.not267, label %_ZNSt6vectorImSaImEED2Ev.exit176, label %for.body21.lr.ph + %cmp.i21.not269 = icmp eq ptr %5, %6 + br i1 %cmp.i21.not269, label %_ZNSt6vectorImSaImEED2Ev.exit178, label %for.body21.lr.ph for.body21.lr.ph: ; preds = %invoke.cont %conv = uitofp i64 %sub.ptr.div.i to double @@ -110,21 +110,21 @@ for.body21.lr.ph: ; preds = %invoke.cont br label %for.body21 while.cond.preheader: ; preds = %for.inc35 - %cmp.i.i281 = icmp eq ptr %over.sroa.0.3, %over.sroa.9.2 - %cmp.i.i81282 = icmp eq ptr %under.sroa.0.3, %under.sroa.9.2 - %or.cond283 = select i1 %cmp.i.i281, i1 true, i1 %cmp.i.i81282 - br i1 %or.cond283, label %for.cond63.preheader, label %while.body + %cmp.i.i283 = icmp eq ptr %over.sroa.0.3, %over.sroa.9.2 + %cmp.i.i82284 = icmp eq ptr %under.sroa.0.3, %under.sroa.9.2 + %or.cond285 = select i1 %cmp.i.i283, i1 true, i1 %cmp.i.i82284 + br i1 %or.cond285, label %for.cond63.preheader, label %while.body for.body21: ; preds = %for.body21.lr.ph, %for.inc35 - %idx.0275 = phi i64 [ 0, %for.body21.lr.ph ], [ %idx.1, %for.inc35 ] - %over.sroa.0.0274 = phi ptr [ null, %for.body21.lr.ph ], [ %over.sroa.0.3, %for.inc35 ] - %over.sroa.9.0273 = phi ptr [ null, %for.body21.lr.ph ], [ %over.sroa.9.2, %for.inc35 ] - %over.sroa.22.0272 = phi ptr [ null, %for.body21.lr.ph ], [ %over.sroa.22.2, %for.inc35 ] - %under.sroa.0.0271 = phi ptr [ null, %for.body21.lr.ph ], [ %under.sroa.0.3, %for.inc35 ] - %under.sroa.9.0270 = phi ptr [ null, %for.body21.lr.ph ], [ %under.sroa.9.2, %for.inc35 ] - %under.sroa.22.0269 = phi ptr [ null, %for.body21.lr.ph ], [ %under.sroa.22.2, %for.inc35 ] - %__begin2.sroa.0.0268 = phi ptr [ %5, %for.body21.lr.ph ], [ %incdec.ptr.i78, %for.inc35 ] - %7 = load double, ptr %__begin2.sroa.0.0268, align 8 + %idx.0277 = phi i64 [ 0, %for.body21.lr.ph ], [ %idx.1, %for.inc35 ] + %over.sroa.0.0276 = phi ptr [ null, %for.body21.lr.ph ], [ %over.sroa.0.3, %for.inc35 ] + %over.sroa.9.0275 = phi ptr [ null, %for.body21.lr.ph ], [ %over.sroa.9.2, %for.inc35 ] + %over.sroa.22.0274 = phi ptr [ null, %for.body21.lr.ph ], [ %over.sroa.22.2, %for.inc35 ] + %under.sroa.0.0273 = phi ptr [ null, %for.body21.lr.ph ], [ %under.sroa.0.3, %for.inc35 ] + %under.sroa.9.0272 = phi ptr [ null, %for.body21.lr.ph ], [ %under.sroa.9.2, %for.inc35 ] + %under.sroa.22.0271 = phi ptr [ null, %for.body21.lr.ph ], [ %under.sroa.22.2, %for.inc35 ] + %__begin2.sroa.0.0270 = phi ptr [ %5, %for.body21.lr.ph ], [ %incdec.ptr.i79, %for.inc35 ] + %7 = load double, ptr %__begin2.sroa.0.0270, align 8 %mul = fmul double %7, %conv %8 = load ptr, ptr %_M_finish.i22, align 8 %9 = load ptr, ptr %_M_end_of_storage.i.i, align 8 @@ -145,7 +145,7 @@ if.else.i: ; preds = %for.body21 %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %10 to i64 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %cmp.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i, 9223372036854775792 - br i1 %cmp.i.i.i, label %if.then.i.i.i.i73.invoke, label %_ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i + br i1 %cmp.i.i.i, label %if.then.i.i.i.i74.invoke, label %_ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.else.i %sub.ptr.div.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i, 4 @@ -162,7 +162,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els to label %call5.i.i.i.i.i.noexc unwind label %lpad24.loopexit.split-lp.loopexit call5.i.i.i.i.i.noexc: ; preds = %_ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i28, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i28, i64 %sub.ptr.sub.i.i.i.i store double %mul, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i28, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -200,20 +200,20 @@ invoke.cont25: ; preds = %_ZNSt6vectorISt4pai br i1 %cmp27, label %if.then28, label %if.else if.then28: ; preds = %invoke.cont25 - %cmp.not.i.i = icmp eq ptr %under.sroa.9.0270, %under.sroa.22.0269 + %cmp.not.i.i = icmp eq ptr %under.sroa.9.0272, %under.sroa.22.0271 br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i31 if.then.i.i31: ; preds = %if.then28 - store i64 %idx.0275, ptr %under.sroa.9.0270, align 8 - %incdec.ptr.i.i32 = getelementptr inbounds i64, ptr %under.sroa.9.0270, i64 1 + store i64 %idx.0277, ptr %under.sroa.9.0272, align 8 + %incdec.ptr.i.i32 = getelementptr inbounds i64, ptr %under.sroa.9.0272, i64 1 br label %for.inc35 if.else.i.i: ; preds = %if.then28 - %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %under.sroa.9.0270 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %under.sroa.0.0271 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %under.sroa.9.0272 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %under.sroa.0.0273 to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i %cmp.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i73.invoke, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i + br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i74.invoke, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i _ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i: ; preds = %if.else.i.i %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 @@ -234,24 +234,25 @@ _ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i: ; preds = %_ZNKSt6ve _ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i35, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i - store i64 %idx.0275, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i + store i64 %idx.0277, ptr %add.ptr.i.i.i, align 8 + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %under.sroa.0.0271, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %under.sroa.0.0273, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i.i, i64 1 - %tobool.not.i.i.i.i = icmp eq ptr %under.sroa.0.0271, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i +_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i = icmp eq ptr %under.sroa.0.0273, null + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i - tail call void @_ZdlPv(ptr noundef nonnull %under.sroa.0.0271) #15 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i + tail call void @_ZdlPv(ptr noundef nonnull %under.sroa.0.0273) #15 br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i -_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc35 @@ -260,27 +261,27 @@ lpad: ; preds = %_ZNSt12_Vector_base cleanup br label %ehcleanup -lpad24.loopexit: ; preds = %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i141 +lpad24.loopexit: ; preds = %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i142 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %lpad24 lpad24.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i60, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i, %_ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i - %lpad.loopexit226 = landingpad { ptr, i32 } + %lpad.loopexit228 = landingpad { ptr, i32 } cleanup br label %lpad24 -lpad24.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i73.invoke, %if.then.i.i.i154.invoke - %under.sroa.0.2.ph.ph = phi ptr [ %under.sroa.0.4286, %if.then.i.i.i154.invoke ], [ %under.sroa.0.0271, %if.then.i.i.i.i73.invoke ] - %over.sroa.0.1.ph.ph = phi ptr [ %over.sroa.0.4289, %if.then.i.i.i154.invoke ], [ %over.sroa.0.0274, %if.then.i.i.i.i73.invoke ] - %lpad.loopexit.split-lp227 = landingpad { ptr, i32 } +lpad24.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i74.invoke, %if.then.i.i.i156.invoke + %under.sroa.0.2.ph.ph = phi ptr [ %under.sroa.0.4288, %if.then.i.i.i156.invoke ], [ %under.sroa.0.0273, %if.then.i.i.i.i74.invoke ] + %over.sroa.0.1.ph.ph = phi ptr [ %over.sroa.0.4291, %if.then.i.i.i156.invoke ], [ %over.sroa.0.0276, %if.then.i.i.i.i74.invoke ] + %lpad.loopexit.split-lp229 = landingpad { ptr, i32 } cleanup br label %lpad24 lpad24: ; preds = %lpad24.loopexit.split-lp.loopexit, %lpad24.loopexit.split-lp.loopexit.split-lp, %lpad24.loopexit - %under.sroa.0.2 = phi ptr [ %under.sroa.0.4286, %lpad24.loopexit ], [ %under.sroa.0.0271, %lpad24.loopexit.split-lp.loopexit ], [ %under.sroa.0.2.ph.ph, %lpad24.loopexit.split-lp.loopexit.split-lp ] - %over.sroa.0.1 = phi ptr [ %over.sroa.0.4289, %lpad24.loopexit ], [ %over.sroa.0.0274, %lpad24.loopexit.split-lp.loopexit ], [ %over.sroa.0.1.ph.ph, %lpad24.loopexit.split-lp.loopexit.split-lp ] - %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %lpad24.loopexit ], [ %lpad.loopexit226, %lpad24.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp227, %lpad24.loopexit.split-lp.loopexit.split-lp ] + %under.sroa.0.2 = phi ptr [ %under.sroa.0.4288, %lpad24.loopexit ], [ %under.sroa.0.0273, %lpad24.loopexit.split-lp.loopexit ], [ %under.sroa.0.2.ph.ph, %lpad24.loopexit.split-lp.loopexit.split-lp ] + %over.sroa.0.1 = phi ptr [ %over.sroa.0.4291, %lpad24.loopexit ], [ %over.sroa.0.0276, %lpad24.loopexit.split-lp.loopexit ], [ %over.sroa.0.1.ph.ph, %lpad24.loopexit.split-lp.loopexit.split-lp ] + %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %lpad24.loopexit ], [ %lpad.loopexit228, %lpad24.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp229, %lpad24.loopexit.split-lp.loopexit.split-lp ] %tobool.not.i.i.i36 = icmp eq ptr %under.sroa.0.2, null br i1 %tobool.not.i.i.i36, label %_ZNSt6vectorImSaImEED2Ev.exit, label %if.then.i.i.i37 @@ -297,26 +298,26 @@ if.then.i.i.i39: ; preds = %_ZNSt6vectorImSaImE br label %ehcleanup if.else: ; preds = %invoke.cont25 - %cmp.not.i.i43 = icmp eq ptr %over.sroa.9.0273, %over.sroa.22.0272 + %cmp.not.i.i43 = icmp eq ptr %over.sroa.9.0275, %over.sroa.22.0274 br i1 %cmp.not.i.i43, label %if.else.i.i46, label %if.then.i.i44 if.then.i.i44: ; preds = %if.else - store i64 %idx.0275, ptr %over.sroa.9.0273, align 8 - %incdec.ptr.i.i45 = getelementptr inbounds i64, ptr %over.sroa.9.0273, i64 1 + store i64 %idx.0277, ptr %over.sroa.9.0275, align 8 + %incdec.ptr.i.i45 = getelementptr inbounds i64, ptr %over.sroa.9.0275, i64 1 br label %for.inc35 if.else.i.i46: ; preds = %if.else - %sub.ptr.lhs.cast.i.i.i.i.i47 = ptrtoint ptr %over.sroa.9.0273 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i48 = ptrtoint ptr %over.sroa.0.0274 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i47 = ptrtoint ptr %over.sroa.9.0275 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i48 = ptrtoint ptr %over.sroa.0.0276 to i64 %sub.ptr.sub.i.i.i.i.i49 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i47, %sub.ptr.rhs.cast.i.i.i.i.i48 %cmp.i.i.i.i50 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i49, 9223372036854775800 - br i1 %cmp.i.i.i.i50, label %if.then.i.i.i.i73.invoke, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i51 + br i1 %cmp.i.i.i.i50, label %if.then.i.i.i.i74.invoke, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i51 -if.then.i.i.i.i73.invoke: ; preds = %if.else.i.i, %if.else.i, %if.else.i.i46 +if.then.i.i.i.i74.invoke: ; preds = %if.else.i.i, %if.else.i, %if.else.i.i46 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.1) #13 - to label %if.then.i.i.i.i73.cont unwind label %lpad24.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i.i74.cont unwind label %lpad24.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i.i73.cont: ; preds = %if.then.i.i.i.i73.invoke +if.then.i.i.i.i74.cont: ; preds = %if.then.i.i.i.i74.invoke unreachable _ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i51: ; preds = %if.else.i.i46 @@ -332,43 +333,44 @@ _ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i51: ; preds = %if.else.i.i46 _ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i60: ; preds = %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i51 %mul.i.i.i.i.i.i61 = shl nuw nsw i64 %cond.i.i.i.i58, 3 - %call5.i.i.i.i.i.i76 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i61) #14 + %call5.i.i.i.i.i.i77 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i61) #14 to label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i62 unwind label %lpad24.loopexit.split-lp.loopexit _ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i62: ; preds = %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i60, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i51 - %cond.i10.i.i.i63 = phi ptr [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i51 ], [ %call5.i.i.i.i.i.i76, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i60 ] + %cond.i10.i.i.i63 = phi ptr [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i51 ], [ %call5.i.i.i.i.i.i77, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i60 ] %add.ptr.i.i.i64 = getelementptr inbounds i64, ptr %cond.i10.i.i.i63, i64 %sub.ptr.div.i.i.i.i.i52 - store i64 %idx.0275, ptr %add.ptr.i.i.i64, align 8 - %cmp.i.i.i11.i.i.i65 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i52, 0 - br i1 %cmp.i.i.i11.i.i.i65, label %if.then.i.i.i12.i.i.i72, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i66 - -if.then.i.i.i12.i.i.i72: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i62 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i63, ptr align 8 %over.sroa.0.0274, i64 %sub.ptr.sub.i.i.i.i.i49, i1 false) - br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i66 - -_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i66: ; preds = %if.then.i.i.i12.i.i.i72, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i62 - %incdec.ptr.i.i.i67 = getelementptr inbounds i64, ptr %add.ptr.i.i.i64, i64 1 - %tobool.not.i.i.i.i68 = icmp eq ptr %over.sroa.0.0274, null - br i1 %tobool.not.i.i.i.i68, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70, label %if.then.i21.i.i.i69 - -if.then.i21.i.i.i69: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i66 - tail call void @_ZdlPv(ptr noundef nonnull %over.sroa.0.0274) #15 - br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70 - -_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70: ; preds = %if.then.i21.i.i.i69, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i66 - %add.ptr19.i.i.i71 = getelementptr inbounds i64, ptr %cond.i10.i.i.i63, i64 %cond.i.i.i.i58 + store i64 %idx.0277, ptr %add.ptr.i.i.i64, align 8 + %cmp.i.i.i11.i.i.i65 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i49, 0 + br i1 %cmp.i.i.i11.i.i.i65, label %if.then.i.i.i12.i.i.i73, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i66 + +if.then.i.i.i12.i.i.i73: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i62 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i63, ptr align 8 %over.sroa.0.0276, i64 %sub.ptr.sub.i.i.i.i.i49, i1 false) + br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i66 + +_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i66: ; preds = %if.then.i.i.i12.i.i.i73, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i62 + %add.ptr.i.i.i.i.i.i67 = getelementptr inbounds i8, ptr %cond.i10.i.i.i63, i64 %sub.ptr.sub.i.i.i.i.i49 + %incdec.ptr.i.i.i68 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i67, i64 1 + %tobool.not.i.i.i.i69 = icmp eq ptr %over.sroa.0.0276, null + br i1 %tobool.not.i.i.i.i69, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71, label %if.then.i20.i.i.i70 + +if.then.i20.i.i.i70: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i66 + tail call void @_ZdlPv(ptr noundef nonnull %over.sroa.0.0276) #15 + br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71 + +_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71: ; preds = %if.then.i20.i.i.i70, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i66 + %add.ptr19.i.i.i72 = getelementptr inbounds i64, ptr %cond.i10.i.i.i63, i64 %cond.i.i.i.i58 br label %for.inc35 -for.inc35: ; preds = %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70, %if.then.i.i44, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i, %if.then.i.i31 - %under.sroa.22.2 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %under.sroa.22.0269, %if.then.i.i31 ], [ %under.sroa.22.0269, %if.then.i.i44 ], [ %under.sroa.22.0269, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70 ] - %under.sroa.9.2 = phi ptr [ %incdec.ptr.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %incdec.ptr.i.i32, %if.then.i.i31 ], [ %under.sroa.9.0270, %if.then.i.i44 ], [ %under.sroa.9.0270, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70 ] - %under.sroa.0.3 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %under.sroa.0.0271, %if.then.i.i31 ], [ %under.sroa.0.0271, %if.then.i.i44 ], [ %under.sroa.0.0271, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70 ] - %over.sroa.22.2 = phi ptr [ %over.sroa.22.0272, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %over.sroa.22.0272, %if.then.i.i31 ], [ %over.sroa.22.0272, %if.then.i.i44 ], [ %add.ptr19.i.i.i71, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70 ] - %over.sroa.9.2 = phi ptr [ %over.sroa.9.0273, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %over.sroa.9.0273, %if.then.i.i31 ], [ %incdec.ptr.i.i45, %if.then.i.i44 ], [ %incdec.ptr.i.i.i67, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70 ] - %over.sroa.0.3 = phi ptr [ %over.sroa.0.0274, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %over.sroa.0.0274, %if.then.i.i31 ], [ %over.sroa.0.0274, %if.then.i.i44 ], [ %cond.i10.i.i.i63, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i70 ] - %idx.1 = add i64 %idx.0275, 1 - %incdec.ptr.i78 = getelementptr inbounds double, ptr %__begin2.sroa.0.0268, i64 1 - %cmp.i21.not = icmp eq ptr %incdec.ptr.i78, %6 +for.inc35: ; preds = %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71, %if.then.i.i44, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i, %if.then.i.i31 + %under.sroa.22.2 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %under.sroa.22.0271, %if.then.i.i31 ], [ %under.sroa.22.0271, %if.then.i.i44 ], [ %under.sroa.22.0271, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71 ] + %under.sroa.9.2 = phi ptr [ %incdec.ptr.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %incdec.ptr.i.i32, %if.then.i.i31 ], [ %under.sroa.9.0272, %if.then.i.i44 ], [ %under.sroa.9.0272, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71 ] + %under.sroa.0.3 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %under.sroa.0.0273, %if.then.i.i31 ], [ %under.sroa.0.0273, %if.then.i.i44 ], [ %under.sroa.0.0273, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71 ] + %over.sroa.22.2 = phi ptr [ %over.sroa.22.0274, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %over.sroa.22.0274, %if.then.i.i31 ], [ %over.sroa.22.0274, %if.then.i.i44 ], [ %add.ptr19.i.i.i72, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71 ] + %over.sroa.9.2 = phi ptr [ %over.sroa.9.0275, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %over.sroa.9.0275, %if.then.i.i31 ], [ %incdec.ptr.i.i45, %if.then.i.i44 ], [ %incdec.ptr.i.i.i68, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71 ] + %over.sroa.0.3 = phi ptr [ %over.sroa.0.0276, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i ], [ %over.sroa.0.0276, %if.then.i.i31 ], [ %over.sroa.0.0276, %if.then.i.i44 ], [ %cond.i10.i.i.i63, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i71 ] + %idx.1 = add i64 %idx.0277, 1 + %incdec.ptr.i79 = getelementptr inbounds double, ptr %__begin2.sroa.0.0270, i64 1 + %cmp.i21.not = icmp eq ptr %incdec.ptr.i79, %6 br i1 %cmp.i21.not, label %while.cond.preheader, label %for.body21 for.cond63.preheader: ; preds = %if.end55, %while.cond.preheader @@ -376,226 +378,228 @@ for.cond63.preheader: ; preds = %if.end55, %while.co %under.sroa.0.4.lcssa = phi ptr [ %under.sroa.0.3, %while.cond.preheader ], [ %under.sroa.0.6, %if.end55 ] %over.sroa.9.3.lcssa = phi ptr [ %over.sroa.9.2, %while.cond.preheader ], [ %over.sroa.9.5, %if.end55 ] %over.sroa.0.4.lcssa = phi ptr [ %over.sroa.0.3, %while.cond.preheader ], [ %over.sroa.0.6, %if.end55 ] - %cmp.i160.not294 = icmp eq ptr %over.sroa.0.4.lcssa, %over.sroa.9.3.lcssa - br i1 %cmp.i160.not294, label %for.cond82.preheader, label %for.body65.lr.ph + %cmp.i162.not296 = icmp eq ptr %over.sroa.0.4.lcssa, %over.sroa.9.3.lcssa + br i1 %cmp.i162.not296, label %for.cond82.preheader, label %for.body65.lr.ph for.body65.lr.ph: ; preds = %for.cond63.preheader %12 = load ptr, ptr %agg.result, align 8 br label %for.body65 while.body: ; preds = %while.cond.preheader, %if.end55 - %over.sroa.0.4289 = phi ptr [ %over.sroa.0.6, %if.end55 ], [ %over.sroa.0.3, %while.cond.preheader ] - %over.sroa.9.3288 = phi ptr [ %over.sroa.9.5, %if.end55 ], [ %over.sroa.9.2, %while.cond.preheader ] - %over.sroa.22.3287 = phi ptr [ %over.sroa.22.5, %if.end55 ], [ %over.sroa.22.2, %while.cond.preheader ] - %under.sroa.0.4286 = phi ptr [ %under.sroa.0.6, %if.end55 ], [ %under.sroa.0.3, %while.cond.preheader ] - %under.sroa.9.3285 = phi ptr [ %under.sroa.9.5, %if.end55 ], [ %under.sroa.9.2, %while.cond.preheader ] - %under.sroa.22.3284 = phi ptr [ %under.sroa.22.5, %if.end55 ], [ %under.sroa.22.2, %while.cond.preheader ] - %add.ptr.i.i83 = getelementptr inbounds i64, ptr %under.sroa.9.3285, i64 -1 - %13 = load i64, ptr %add.ptr.i.i83, align 8 - %add.ptr.i.i87 = getelementptr inbounds i64, ptr %over.sroa.9.3288, i64 -1 - %14 = load i64, ptr %add.ptr.i.i87, align 8 + %over.sroa.0.4291 = phi ptr [ %over.sroa.0.6, %if.end55 ], [ %over.sroa.0.3, %while.cond.preheader ] + %over.sroa.9.3290 = phi ptr [ %over.sroa.9.5, %if.end55 ], [ %over.sroa.9.2, %while.cond.preheader ] + %over.sroa.22.3289 = phi ptr [ %over.sroa.22.5, %if.end55 ], [ %over.sroa.22.2, %while.cond.preheader ] + %under.sroa.0.4288 = phi ptr [ %under.sroa.0.6, %if.end55 ], [ %under.sroa.0.3, %while.cond.preheader ] + %under.sroa.9.3287 = phi ptr [ %under.sroa.9.5, %if.end55 ], [ %under.sroa.9.2, %while.cond.preheader ] + %under.sroa.22.3286 = phi ptr [ %under.sroa.22.5, %if.end55 ], [ %under.sroa.22.2, %while.cond.preheader ] + %add.ptr.i.i84 = getelementptr inbounds i64, ptr %under.sroa.9.3287, i64 -1 + %13 = load i64, ptr %add.ptr.i.i84, align 8 + %add.ptr.i.i88 = getelementptr inbounds i64, ptr %over.sroa.9.3290, i64 -1 + %14 = load i64, ptr %add.ptr.i.i88, align 8 %15 = load ptr, ptr %agg.result, align 8 - %add.ptr.i90 = getelementptr inbounds %"struct.std::pair", ptr %15, i64 %13 + %add.ptr.i91 = getelementptr inbounds %"struct.std::pair", ptr %15, i64 %13 %second = getelementptr inbounds %"struct.std::pair", ptr %15, i64 %13, i32 1 store i64 %14, ptr %second, align 8 - %add.ptr.i91 = getelementptr inbounds %"struct.std::pair", ptr %15, i64 %14 - %16 = load double, ptr %add.ptr.i91, align 8 - %17 = load double, ptr %add.ptr.i90, align 8 + %add.ptr.i92 = getelementptr inbounds %"struct.std::pair", ptr %15, i64 %14 + %16 = load double, ptr %add.ptr.i92, align 8 + %17 = load double, ptr %add.ptr.i91, align 8 %sub46 = fsub double 1.000000e+00, %17 %sub47 = fsub double %16, %sub46 - store double %sub47, ptr %add.ptr.i91, align 8 + store double %sub47, ptr %add.ptr.i92, align 8 %cmp50 = fcmp olt double %sub47, 1.000000e+00 br i1 %cmp50, label %if.then51, label %if.else53 if.then51: ; preds = %while.body - %cmp.not.i96 = icmp eq ptr %add.ptr.i.i83, %under.sroa.22.3284 - br i1 %cmp.not.i96, label %if.else.i100, label %if.then.i97 + %cmp.not.i97 = icmp eq ptr %add.ptr.i.i84, %under.sroa.22.3286 + br i1 %cmp.not.i97, label %if.else.i101, label %if.then.i98 -if.then.i97: ; preds = %if.then51 - store i64 %14, ptr %add.ptr.i.i83, align 8 +if.then.i98: ; preds = %if.then51 + store i64 %14, ptr %add.ptr.i.i84, align 8 br label %if.end55 -if.else.i100: ; preds = %if.then51 - %sub.ptr.lhs.cast.i.i.i.i101 = ptrtoint ptr %under.sroa.22.3284 to i64 - %sub.ptr.rhs.cast.i.i.i.i102 = ptrtoint ptr %under.sroa.0.4286 to i64 - %sub.ptr.sub.i.i.i.i103 = sub i64 %sub.ptr.lhs.cast.i.i.i.i101, %sub.ptr.rhs.cast.i.i.i.i102 - %cmp.i.i.i104 = icmp eq i64 %sub.ptr.sub.i.i.i.i103, 9223372036854775800 - br i1 %cmp.i.i.i104, label %if.then.i.i.i154.invoke, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i - -_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.else.i100 - %sub.ptr.div.i.i.i.i105 = ashr exact i64 %sub.ptr.sub.i.i.i.i103, 3 - %.sroa.speculated.i.i.i106 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i105, i64 1) - %add.i.i.i107 = add i64 %.sroa.speculated.i.i.i106, %sub.ptr.div.i.i.i.i105 - %cmp7.i.i.i108 = icmp ult i64 %add.i.i.i107, %sub.ptr.div.i.i.i.i105 - %cmp9.i.i.i109 = icmp ugt i64 %add.i.i.i107, 1152921504606846975 - %or.cond.i.i.i110 = or i1 %cmp7.i.i.i108, %cmp9.i.i.i109 - %cond.i.i.i111 = select i1 %or.cond.i.i.i110, i64 1152921504606846975, i64 %add.i.i.i107 - %cmp.not.i.i.i112 = icmp eq i64 %cond.i.i.i111, 0 - br i1 %cmp.not.i.i.i112, label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i, label %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i +if.else.i101: ; preds = %if.then51 + %sub.ptr.lhs.cast.i.i.i.i102 = ptrtoint ptr %under.sroa.22.3286 to i64 + %sub.ptr.rhs.cast.i.i.i.i103 = ptrtoint ptr %under.sroa.0.4288 to i64 + %sub.ptr.sub.i.i.i.i104 = sub i64 %sub.ptr.lhs.cast.i.i.i.i102, %sub.ptr.rhs.cast.i.i.i.i103 + %cmp.i.i.i105 = icmp eq i64 %sub.ptr.sub.i.i.i.i104, 9223372036854775800 + br i1 %cmp.i.i.i105, label %if.then.i.i.i156.invoke, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i + +_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.else.i101 + %sub.ptr.div.i.i.i.i106 = ashr exact i64 %sub.ptr.sub.i.i.i.i104, 3 + %.sroa.speculated.i.i.i107 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i106, i64 1) + %add.i.i.i108 = add i64 %.sroa.speculated.i.i.i107, %sub.ptr.div.i.i.i.i106 + %cmp7.i.i.i109 = icmp ult i64 %add.i.i.i108, %sub.ptr.div.i.i.i.i106 + %cmp9.i.i.i110 = icmp ugt i64 %add.i.i.i108, 1152921504606846975 + %or.cond.i.i.i111 = or i1 %cmp7.i.i.i109, %cmp9.i.i.i110 + %cond.i.i.i112 = select i1 %or.cond.i.i.i111, i64 1152921504606846975, i64 %add.i.i.i108 + %cmp.not.i.i.i113 = icmp eq i64 %cond.i.i.i112, 0 + br i1 %cmp.not.i.i.i113, label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i, label %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i _ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i: ; preds = %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i - %mul.i.i.i.i.i113 = shl nuw nsw i64 %cond.i.i.i111, 3 - %call5.i.i.i.i.i120 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i113) #14 + %mul.i.i.i.i.i114 = shl nuw nsw i64 %cond.i.i.i112, 3 + %call5.i.i.i.i.i121 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i114) #14 to label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i unwind label %lpad24.loopexit _ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i - %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i120, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i ] - %add.ptr.i.i114 = getelementptr inbounds i64, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i105 - store i64 %14, ptr %add.ptr.i.i114, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i105, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i + %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i121, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i ] + %add.ptr.i.i115 = getelementptr inbounds i64, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i106 + store i64 %14, ptr %add.ptr.i.i115, align 8 + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i104, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %under.sroa.0.4286, i64 %sub.ptr.sub.i.i.i.i103, i1 false) - br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %under.sroa.0.4288, i64 %sub.ptr.sub.i.i.i.i104, i1 false) + br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i -_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i115 = getelementptr inbounds i64, ptr %add.ptr.i.i114, i64 1 - %tobool.not.i.i.i116 = icmp eq ptr %under.sroa.0.4286, null - br i1 %tobool.not.i.i.i116, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i, label %if.then.i21.i.i +_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i104 + %incdec.ptr.i.i116 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i, i64 1 + %tobool.not.i.i.i117 = icmp eq ptr %under.sroa.0.4288, null + br i1 %tobool.not.i.i.i117, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i - tail call void @_ZdlPv(ptr noundef nonnull %under.sroa.0.4286) #15 +if.then.i20.i.i: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i + tail call void @_ZdlPv(ptr noundef nonnull %under.sroa.0.4288) #15 br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i -_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i - %add.ptr19.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i, i64 %cond.i.i.i111 +_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i + %add.ptr19.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i, i64 %cond.i.i.i112 br label %if.end55 if.else53: ; preds = %while.body - %cmp.not.i123 = icmp eq ptr %add.ptr.i.i87, %over.sroa.22.3287 - br i1 %cmp.not.i123, label %if.else.i127, label %if.then.i124 + %cmp.not.i124 = icmp eq ptr %add.ptr.i.i88, %over.sroa.22.3289 + br i1 %cmp.not.i124, label %if.else.i128, label %if.then.i125 -if.then.i124: ; preds = %if.else53 - store i64 %14, ptr %add.ptr.i.i87, align 8 +if.then.i125: ; preds = %if.else53 + store i64 %14, ptr %add.ptr.i.i88, align 8 br label %if.end55 -if.else.i127: ; preds = %if.else53 - %sub.ptr.lhs.cast.i.i.i.i128 = ptrtoint ptr %over.sroa.22.3287 to i64 - %sub.ptr.rhs.cast.i.i.i.i129 = ptrtoint ptr %over.sroa.0.4289 to i64 - %sub.ptr.sub.i.i.i.i130 = sub i64 %sub.ptr.lhs.cast.i.i.i.i128, %sub.ptr.rhs.cast.i.i.i.i129 - %cmp.i.i.i131 = icmp eq i64 %sub.ptr.sub.i.i.i.i130, 9223372036854775800 - br i1 %cmp.i.i.i131, label %if.then.i.i.i154.invoke, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i132 +if.else.i128: ; preds = %if.else53 + %sub.ptr.lhs.cast.i.i.i.i129 = ptrtoint ptr %over.sroa.22.3289 to i64 + %sub.ptr.rhs.cast.i.i.i.i130 = ptrtoint ptr %over.sroa.0.4291 to i64 + %sub.ptr.sub.i.i.i.i131 = sub i64 %sub.ptr.lhs.cast.i.i.i.i129, %sub.ptr.rhs.cast.i.i.i.i130 + %cmp.i.i.i132 = icmp eq i64 %sub.ptr.sub.i.i.i.i131, 9223372036854775800 + br i1 %cmp.i.i.i132, label %if.then.i.i.i156.invoke, label %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i133 -if.then.i.i.i154.invoke: ; preds = %if.else.i127, %if.else.i100 +if.then.i.i.i156.invoke: ; preds = %if.else.i128, %if.else.i101 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.1) #13 - to label %if.then.i.i.i154.cont unwind label %lpad24.loopexit.split-lp.loopexit.split-lp + to label %if.then.i.i.i156.cont unwind label %lpad24.loopexit.split-lp.loopexit.split-lp -if.then.i.i.i154.cont: ; preds = %if.then.i.i.i154.invoke +if.then.i.i.i156.cont: ; preds = %if.then.i.i.i156.invoke unreachable -_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i132: ; preds = %if.else.i127 - %sub.ptr.div.i.i.i.i133 = ashr exact i64 %sub.ptr.sub.i.i.i.i130, 3 - %.sroa.speculated.i.i.i134 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i133, i64 1) - %add.i.i.i135 = add i64 %.sroa.speculated.i.i.i134, %sub.ptr.div.i.i.i.i133 - %cmp7.i.i.i136 = icmp ult i64 %add.i.i.i135, %sub.ptr.div.i.i.i.i133 - %cmp9.i.i.i137 = icmp ugt i64 %add.i.i.i135, 1152921504606846975 - %or.cond.i.i.i138 = or i1 %cmp7.i.i.i136, %cmp9.i.i.i137 - %cond.i.i.i139 = select i1 %or.cond.i.i.i138, i64 1152921504606846975, i64 %add.i.i.i135 - %cmp.not.i.i.i140 = icmp eq i64 %cond.i.i.i139, 0 - br i1 %cmp.not.i.i.i140, label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i143, label %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i141 - -_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i141: ; preds = %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i132 - %mul.i.i.i.i.i142 = shl nuw nsw i64 %cond.i.i.i139, 3 - %call5.i.i.i.i.i157 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i142) #14 - to label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i143 unwind label %lpad24.loopexit - -_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i143: ; preds = %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i141, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i132 - %cond.i10.i.i144 = phi ptr [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i132 ], [ %call5.i.i.i.i.i157, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i141 ] - %add.ptr.i.i145 = getelementptr inbounds i64, ptr %cond.i10.i.i144, i64 %sub.ptr.div.i.i.i.i133 - store i64 %14, ptr %add.ptr.i.i145, align 8 - %cmp.i.i.i11.i.i146 = icmp sgt i64 %sub.ptr.div.i.i.i.i133, 0 - br i1 %cmp.i.i.i11.i.i146, label %if.then.i.i.i12.i.i153, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i147 - -if.then.i.i.i12.i.i153: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i143 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i144, ptr align 8 %over.sroa.0.4289, i64 %sub.ptr.sub.i.i.i.i130, i1 false) - br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i147 - -_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i147: ; preds = %if.then.i.i.i12.i.i153, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i143 - %incdec.ptr.i.i148 = getelementptr inbounds i64, ptr %add.ptr.i.i145, i64 1 - %tobool.not.i.i.i149 = icmp eq ptr %over.sroa.0.4289, null - br i1 %tobool.not.i.i.i149, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151, label %if.then.i21.i.i150 - -if.then.i21.i.i150: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i147 - tail call void @_ZdlPv(ptr noundef nonnull %over.sroa.0.4289) #15 - br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151 - -_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151: ; preds = %if.then.i21.i.i150, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i147 - %add.ptr19.i.i152 = getelementptr inbounds i64, ptr %cond.i10.i.i144, i64 %cond.i.i.i139 +_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i133: ; preds = %if.else.i128 + %sub.ptr.div.i.i.i.i134 = ashr exact i64 %sub.ptr.sub.i.i.i.i131, 3 + %.sroa.speculated.i.i.i135 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i134, i64 1) + %add.i.i.i136 = add i64 %.sroa.speculated.i.i.i135, %sub.ptr.div.i.i.i.i134 + %cmp7.i.i.i137 = icmp ult i64 %add.i.i.i136, %sub.ptr.div.i.i.i.i134 + %cmp9.i.i.i138 = icmp ugt i64 %add.i.i.i136, 1152921504606846975 + %or.cond.i.i.i139 = or i1 %cmp7.i.i.i137, %cmp9.i.i.i138 + %cond.i.i.i140 = select i1 %or.cond.i.i.i139, i64 1152921504606846975, i64 %add.i.i.i136 + %cmp.not.i.i.i141 = icmp eq i64 %cond.i.i.i140, 0 + br i1 %cmp.not.i.i.i141, label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i144, label %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i142 + +_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i142: ; preds = %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i133 + %mul.i.i.i.i.i143 = shl nuw nsw i64 %cond.i.i.i140, 3 + %call5.i.i.i.i.i159 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i143) #14 + to label %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i144 unwind label %lpad24.loopexit + +_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i144: ; preds = %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i142, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i133 + %cond.i10.i.i145 = phi ptr [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i133 ], [ %call5.i.i.i.i.i159, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i142 ] + %add.ptr.i.i146 = getelementptr inbounds i64, ptr %cond.i10.i.i145, i64 %sub.ptr.div.i.i.i.i134 + store i64 %14, ptr %add.ptr.i.i146, align 8 + %cmp.i.i.i11.i.i147 = icmp sgt i64 %sub.ptr.sub.i.i.i.i131, 0 + br i1 %cmp.i.i.i11.i.i147, label %if.then.i.i.i12.i.i155, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i148 + +if.then.i.i.i12.i.i155: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i144 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i145, ptr align 8 %over.sroa.0.4291, i64 %sub.ptr.sub.i.i.i.i131, i1 false) + br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i148 + +_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i148: ; preds = %if.then.i.i.i12.i.i155, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i144 + %add.ptr.i.i.i.i.i149 = getelementptr inbounds i8, ptr %cond.i10.i.i145, i64 %sub.ptr.sub.i.i.i.i131 + %incdec.ptr.i.i150 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i149, i64 1 + %tobool.not.i.i.i151 = icmp eq ptr %over.sroa.0.4291, null + br i1 %tobool.not.i.i.i151, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153, label %if.then.i20.i.i152 + +if.then.i20.i.i152: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i148 + tail call void @_ZdlPv(ptr noundef nonnull %over.sroa.0.4291) #15 + br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153 + +_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153: ; preds = %if.then.i20.i.i152, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i148 + %add.ptr19.i.i154 = getelementptr inbounds i64, ptr %cond.i10.i.i145, i64 %cond.i.i.i140 br label %if.end55 -if.end55: ; preds = %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151, %if.then.i124, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i, %if.then.i97 - %under.sroa.22.5 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %under.sroa.22.3284, %if.then.i97 ], [ %under.sroa.22.3284, %if.then.i124 ], [ %under.sroa.22.3284, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151 ] - %under.sroa.9.5 = phi ptr [ %incdec.ptr.i.i115, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %under.sroa.9.3285, %if.then.i97 ], [ %add.ptr.i.i83, %if.then.i124 ], [ %add.ptr.i.i83, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151 ] - %under.sroa.0.6 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %under.sroa.0.4286, %if.then.i97 ], [ %under.sroa.0.4286, %if.then.i124 ], [ %under.sroa.0.4286, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151 ] - %over.sroa.22.5 = phi ptr [ %over.sroa.22.3287, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %over.sroa.22.3287, %if.then.i97 ], [ %over.sroa.22.3287, %if.then.i124 ], [ %add.ptr19.i.i152, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151 ] - %over.sroa.9.5 = phi ptr [ %add.ptr.i.i87, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %add.ptr.i.i87, %if.then.i97 ], [ %over.sroa.9.3288, %if.then.i124 ], [ %incdec.ptr.i.i148, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151 ] - %over.sroa.0.6 = phi ptr [ %over.sroa.0.4289, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %over.sroa.0.4289, %if.then.i97 ], [ %over.sroa.0.4289, %if.then.i124 ], [ %cond.i10.i.i144, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i151 ] +if.end55: ; preds = %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153, %if.then.i125, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i, %if.then.i98 + %under.sroa.22.5 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %under.sroa.22.3286, %if.then.i98 ], [ %under.sroa.22.3286, %if.then.i125 ], [ %under.sroa.22.3286, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153 ] + %under.sroa.9.5 = phi ptr [ %incdec.ptr.i.i116, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %under.sroa.9.3287, %if.then.i98 ], [ %add.ptr.i.i84, %if.then.i125 ], [ %add.ptr.i.i84, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153 ] + %under.sroa.0.6 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %under.sroa.0.4288, %if.then.i98 ], [ %under.sroa.0.4288, %if.then.i125 ], [ %under.sroa.0.4288, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153 ] + %over.sroa.22.5 = phi ptr [ %over.sroa.22.3289, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %over.sroa.22.3289, %if.then.i98 ], [ %over.sroa.22.3289, %if.then.i125 ], [ %add.ptr19.i.i154, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153 ] + %over.sroa.9.5 = phi ptr [ %add.ptr.i.i88, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %add.ptr.i.i88, %if.then.i98 ], [ %over.sroa.9.3290, %if.then.i125 ], [ %incdec.ptr.i.i150, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153 ] + %over.sroa.0.6 = phi ptr [ %over.sroa.0.4291, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i ], [ %over.sroa.0.4291, %if.then.i98 ], [ %over.sroa.0.4291, %if.then.i125 ], [ %cond.i10.i.i145, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJRKmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i153 ] %cmp.i.i = icmp eq ptr %over.sroa.0.6, %over.sroa.9.5 - %cmp.i.i81 = icmp eq ptr %under.sroa.0.6, %under.sroa.9.5 - %or.cond = select i1 %cmp.i.i, i1 true, i1 %cmp.i.i81 + %cmp.i.i82 = icmp eq ptr %under.sroa.0.6, %under.sroa.9.5 + %or.cond = select i1 %cmp.i.i, i1 true, i1 %cmp.i.i82 br i1 %or.cond, label %for.cond63.preheader, label %while.body, !llvm.loop !12 for.cond82.preheader: ; preds = %for.body65, %for.cond63.preheader - %cmp.i165.not296 = icmp eq ptr %under.sroa.0.4.lcssa, %under.sroa.9.3.lcssa - br i1 %cmp.i165.not296, label %for.end94, label %for.body84.lr.ph + %cmp.i167.not298 = icmp eq ptr %under.sroa.0.4.lcssa, %under.sroa.9.3.lcssa + br i1 %cmp.i167.not298, label %for.end94, label %for.body84.lr.ph for.body84.lr.ph: ; preds = %for.cond82.preheader %18 = load ptr, ptr %agg.result, align 8 br label %for.body84 for.body65: ; preds = %for.body65.lr.ph, %for.body65 - %__begin257.sroa.0.0295 = phi ptr [ %over.sroa.0.4.lcssa, %for.body65.lr.ph ], [ %incdec.ptr.i163, %for.body65 ] - %19 = load i64, ptr %__begin257.sroa.0.0295, align 8 - %add.ptr.i161 = getelementptr inbounds %"struct.std::pair", ptr %12, i64 %19 - store double 1.000000e+00, ptr %add.ptr.i161, align 8 + %__begin257.sroa.0.0297 = phi ptr [ %over.sroa.0.4.lcssa, %for.body65.lr.ph ], [ %incdec.ptr.i165, %for.body65 ] + %19 = load i64, ptr %__begin257.sroa.0.0297, align 8 + %add.ptr.i163 = getelementptr inbounds %"struct.std::pair", ptr %12, i64 %19 + store double 1.000000e+00, ptr %add.ptr.i163, align 8 %second3.i = getelementptr inbounds %"struct.std::pair", ptr %12, i64 %19, i32 1 store i64 %19, ptr %second3.i, align 8 - %incdec.ptr.i163 = getelementptr inbounds i64, ptr %__begin257.sroa.0.0295, i64 1 - %cmp.i160.not = icmp eq ptr %incdec.ptr.i163, %over.sroa.9.3.lcssa - br i1 %cmp.i160.not, label %for.cond82.preheader, label %for.body65 + %incdec.ptr.i165 = getelementptr inbounds i64, ptr %__begin257.sroa.0.0297, i64 1 + %cmp.i162.not = icmp eq ptr %incdec.ptr.i165, %over.sroa.9.3.lcssa + br i1 %cmp.i162.not, label %for.cond82.preheader, label %for.body65 for.body84: ; preds = %for.body84.lr.ph, %for.body84 - %__begin276.sroa.0.0297 = phi ptr [ %under.sroa.0.4.lcssa, %for.body84.lr.ph ], [ %incdec.ptr.i170, %for.body84 ] - %20 = load i64, ptr %__begin276.sroa.0.0297, align 8 - %add.ptr.i167 = getelementptr inbounds %"struct.std::pair", ptr %18, i64 %20 - store double 1.000000e+00, ptr %add.ptr.i167, align 8 - %second3.i169 = getelementptr inbounds %"struct.std::pair", ptr %18, i64 %20, i32 1 - store i64 %20, ptr %second3.i169, align 8 - %incdec.ptr.i170 = getelementptr inbounds i64, ptr %__begin276.sroa.0.0297, i64 1 - %cmp.i165.not = icmp eq ptr %incdec.ptr.i170, %under.sroa.9.3.lcssa - br i1 %cmp.i165.not, label %for.end94, label %for.body84 + %__begin276.sroa.0.0299 = phi ptr [ %under.sroa.0.4.lcssa, %for.body84.lr.ph ], [ %incdec.ptr.i172, %for.body84 ] + %20 = load i64, ptr %__begin276.sroa.0.0299, align 8 + %add.ptr.i169 = getelementptr inbounds %"struct.std::pair", ptr %18, i64 %20 + store double 1.000000e+00, ptr %add.ptr.i169, align 8 + %second3.i171 = getelementptr inbounds %"struct.std::pair", ptr %18, i64 %20, i32 1 + store i64 %20, ptr %second3.i171, align 8 + %incdec.ptr.i172 = getelementptr inbounds i64, ptr %__begin276.sroa.0.0299, i64 1 + %cmp.i167.not = icmp eq ptr %incdec.ptr.i172, %under.sroa.9.3.lcssa + br i1 %cmp.i167.not, label %for.end94, label %for.body84 for.end94: ; preds = %for.body84, %for.cond82.preheader - %tobool.not.i.i.i171 = icmp eq ptr %under.sroa.0.4.lcssa, null - br i1 %tobool.not.i.i.i171, label %_ZNSt6vectorImSaImEED2Ev.exit173, label %if.then.i.i.i172 + %tobool.not.i.i.i173 = icmp eq ptr %under.sroa.0.4.lcssa, null + br i1 %tobool.not.i.i.i173, label %_ZNSt6vectorImSaImEED2Ev.exit175, label %if.then.i.i.i174 -if.then.i.i.i172: ; preds = %for.end94 +if.then.i.i.i174: ; preds = %for.end94 tail call void @_ZdlPv(ptr noundef nonnull %under.sroa.0.4.lcssa) #15 - br label %_ZNSt6vectorImSaImEED2Ev.exit173 + br label %_ZNSt6vectorImSaImEED2Ev.exit175 -_ZNSt6vectorImSaImEED2Ev.exit173: ; preds = %for.end94, %if.then.i.i.i172 - %tobool.not.i.i.i174 = icmp eq ptr %over.sroa.0.4.lcssa, null - br i1 %tobool.not.i.i.i174, label %_ZNSt6vectorImSaImEED2Ev.exit176, label %if.then.i.i.i175 +_ZNSt6vectorImSaImEED2Ev.exit175: ; preds = %for.end94, %if.then.i.i.i174 + %tobool.not.i.i.i176 = icmp eq ptr %over.sroa.0.4.lcssa, null + br i1 %tobool.not.i.i.i176, label %_ZNSt6vectorImSaImEED2Ev.exit178, label %if.then.i.i.i177 -if.then.i.i.i175: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit173 +if.then.i.i.i177: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit175 tail call void @_ZdlPv(ptr noundef nonnull %over.sroa.0.4.lcssa) #15 - br label %_ZNSt6vectorImSaImEED2Ev.exit176 + br label %_ZNSt6vectorImSaImEED2Ev.exit178 -_ZNSt6vectorImSaImEED2Ev.exit176: ; preds = %invoke.cont, %_ZNSt6vectorImSaImEED2Ev.exit173, %if.then.i.i.i175 +_ZNSt6vectorImSaImEED2Ev.exit178: ; preds = %invoke.cont, %_ZNSt6vectorImSaImEED2Ev.exit175, %if.then.i.i.i177 ret void ehcleanup: ; preds = %if.then.i.i.i39, %_ZNSt6vectorImSaImEED2Ev.exit, %lpad %.pn = phi { ptr, i32 } [ %11, %lpad ], [ %lpad.phi, %_ZNSt6vectorImSaImEED2Ev.exit ], [ %lpad.phi, %if.then.i.i.i39 ] %21 = load ptr, ptr %agg.result, align 8 - %tobool.not.i.i.i177 = icmp eq ptr %21, null - br i1 %tobool.not.i.i.i177, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit, label %if.then.i.i.i178 + %tobool.not.i.i.i179 = icmp eq ptr %21, null + br i1 %tobool.not.i.i.i179, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit, label %if.then.i.i.i180 -if.then.i.i.i178: ; preds = %ehcleanup +if.then.i.i.i180: ; preds = %ehcleanup tail call void @_ZdlPv(ptr noundef nonnull %21) #15 br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit: ; preds = %ehcleanup, %if.then.i.i.i178 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit: ; preds = %ehcleanup, %if.then.i.i.i180 resume { ptr, i32 } %.pn } diff --git a/bench/abseil-cpp/optimized/discrete_distribution_test.cc.ll b/bench/abseil-cpp/optimized/discrete_distribution_test.cc.ll index 9f7f05dbc8b..b8940f9390f 100644 --- a/bench/abseil-cpp/optimized/discrete_distribution_test.cc.ll +++ b/bench/abseil-cpp/optimized/discrete_distribution_test.cc.ll @@ -1518,7 +1518,7 @@ entry: %ref.tmp138 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 store ptr %call5.i.i.i.i2.i, ptr %p, align 8 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %p, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit, i64 24, i1 false) @@ -1763,29 +1763,29 @@ if.then.i.i.i48: ; preds = %_ZNSt6vectorISt4pai _ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit, %if.then.i.i.i48 %call5.i.i.i.i2.i50 = call noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #25 store ptr %call5.i.i.i.i2.i50, ptr %p64, align 8 - %add.ptr.i1.i55 = getelementptr inbounds double, ptr %call5.i.i.i.i2.i50, i64 5 + %add.ptr.i1.i55 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i50, i64 40 %_M_end_of_storage.i.i56 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %p64, i64 0, i32 2 store ptr %add.ptr.i1.i55, ptr %_M_end_of_storage.i.i56, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i2.i50, ptr noundef nonnull align 8 dereferenceable(40) @constinit.82, i64 40, i1 false) - %_M_finish.i.i57 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %p64, i64 0, i32 1 - store ptr %add.ptr.i1.i55, ptr %_M_finish.i.i57, align 8 + %_M_finish.i.i58 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %p64, i64 0, i32 1 + store ptr %add.ptr.i1.i55, ptr %_M_finish.i.i58, align 8 invoke void @_ZN4absl15random_internal24InitDiscreteDistributionEPSt6vectorIdSaIdEE(ptr nonnull sret(%"class.std::vector.12") align 8 %q75, ptr noundef nonnull %p64) to label %invoke.cont88 unwind label %lpad76 invoke.cont88: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit store <2 x double> , ptr %ref.tmp79, align 16 - %agg.tmp8062.sroa.5.0.ref.tmp79.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp79, i64 16 - store <2 x double> , ptr %agg.tmp8062.sroa.5.0.ref.tmp79.sroa_idx, align 16 - %agg.tmp8062.sroa.7.0.ref.tmp79.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp79, i64 32 - store double 0x3FB3B13B13B13B14, ptr %agg.tmp8062.sroa.7.0.ref.tmp79.sroa_idx, align 16 + %agg.tmp8063.sroa.5.0.ref.tmp79.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp79, i64 16 + store <2 x double> , ptr %agg.tmp8063.sroa.5.0.ref.tmp79.sroa_idx, align 16 + %agg.tmp8063.sroa.7.0.ref.tmp79.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp79, i64 32 + store double 0x3FB3B13B13B13B14, ptr %agg.tmp8063.sroa.7.0.ref.tmp79.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar78, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp79, ptr noundef nonnull @.str.14, ptr noundef nonnull align 8 dereferenceable(24) %p64) to label %invoke.cont89 unwind label %lpad86 invoke.cont89: ; preds = %invoke.cont88 %26 = load i8, ptr %gtest_ar78, align 8 %27 = and i8 %26, 1 - %tobool.i63.not = icmp eq i8 %27, 0 - br i1 %tobool.i63.not, label %if.else94, label %if.end106 + %tobool.i64.not = icmp eq i8 %27, 0 + br i1 %tobool.i64.not, label %if.else94, label %if.end106 ehcleanup61: ; preds = %_ZN7testing7MessageD2Ev.exit41, %lpad44 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit41 ], [ %15, %lpad44 ] @@ -1795,18 +1795,18 @@ ehcleanup61: ; preds = %_ZN7testing7Message ehcleanup62: ; preds = %ehcleanup61, %ehcleanup25, %lpad10 %.pn3.pn.pn = phi { ptr, i32 } [ %.pn3.pn, %ehcleanup61 ], [ %3, %lpad10 ], [ %.pn.pn, %ehcleanup25 ] %28 = load ptr, ptr %q, align 8 - %tobool.not.i.i.i64 = icmp eq ptr %28, null - br i1 %tobool.not.i.i.i64, label %ehcleanup63, label %if.then.i.i.i65 + %tobool.not.i.i.i65 = icmp eq ptr %28, null + br i1 %tobool.not.i.i.i65, label %ehcleanup63, label %if.then.i.i.i66 -if.then.i.i.i65: ; preds = %ehcleanup62 +if.then.i.i.i66: ; preds = %ehcleanup62 call void @_ZdlPv(ptr noundef nonnull %28) #24 br label %ehcleanup63 -ehcleanup63: ; preds = %if.then.i.i.i65, %ehcleanup62, %lpad3 - %.pn3.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad3 ], [ %.pn3.pn.pn, %ehcleanup62 ], [ %.pn3.pn.pn, %if.then.i.i.i65 ] +ehcleanup63: ; preds = %if.then.i.i.i66, %ehcleanup62, %lpad3 + %.pn3.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad3 ], [ %.pn3.pn.pn, %ehcleanup62 ], [ %.pn3.pn.pn, %if.then.i.i.i66 ] %29 = load ptr, ptr %p, align 8 - %tobool.not.i.i.i67 = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i67, label %eh.resume, label %eh.resume.sink.split + %tobool.not.i.i.i68 = icmp eq ptr %29, null + br i1 %tobool.not.i.i.i68, label %eh.resume, label %eh.resume.sink.split lpad76: ; preds = %_ZNSt6vectorIdSaIdEED2Ev.exit %30 = landingpad { ptr, i32 } @@ -1828,18 +1828,18 @@ if.else94: ; preds = %invoke.cont89 to label %invoke.cont96 unwind label %lpad90 invoke.cont96: ; preds = %if.else94 - %message_.i.i71 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar78, i64 0, i32 1 - %33 = load ptr, ptr %message_.i.i71, align 8 - %cmp.i.i.not.i.i72 = icmp eq ptr %33, null - br i1 %cmp.i.i.not.i.i72, label %invoke.cont99, label %cond.true.i.i73 + %message_.i.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar78, i64 0, i32 1 + %33 = load ptr, ptr %message_.i.i72, align 8 + %cmp.i.i.not.i.i73 = icmp eq ptr %33, null + br i1 %cmp.i.i.not.i.i73, label %invoke.cont99, label %cond.true.i.i74 -cond.true.i.i73: ; preds = %invoke.cont96 - %call4.i.i74 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 +cond.true.i.i74: ; preds = %invoke.cont96 + %call4.i.i75 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 br label %invoke.cont99 -invoke.cont99: ; preds = %cond.true.i.i73, %invoke.cont96 - %cond.i.i75 = phi ptr [ %call4.i.i74, %cond.true.i.i73 ], [ @.str, %invoke.cont96 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp97, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 126, ptr noundef %cond.i.i75) +invoke.cont99: ; preds = %cond.true.i.i74, %invoke.cont96 + %cond.i.i76 = phi ptr [ %call4.i.i75, %cond.true.i.i74 ], [ @.str, %invoke.cont96 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp97, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 126, ptr noundef %cond.i.i76) to label %invoke.cont101 unwind label %lpad98 invoke.cont101: ; preds = %invoke.cont99 @@ -1849,17 +1849,17 @@ invoke.cont101: ; preds = %invoke.cont99 invoke.cont103: ; preds = %invoke.cont101 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp97) #23 %34 = load ptr, ptr %ref.tmp95, align 8 - %cmp.not.i.i77 = icmp eq ptr %34, null - br i1 %cmp.not.i.i77, label %_ZN7testing7MessageD2Ev.exit81, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78 + %cmp.not.i.i78 = icmp eq ptr %34, null + br i1 %cmp.not.i.i78, label %_ZN7testing7MessageD2Ev.exit82, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i79 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78: ; preds = %invoke.cont103 - %vtable.i.i.i79 = load ptr, ptr %34, align 8 - %vfn.i.i.i80 = getelementptr inbounds ptr, ptr %vtable.i.i.i79, i64 1 - %35 = load ptr, ptr %vfn.i.i.i80, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i79: ; preds = %invoke.cont103 + %vtable.i.i.i80 = load ptr, ptr %34, align 8 + %vfn.i.i.i81 = getelementptr inbounds ptr, ptr %vtable.i.i.i80, i64 1 + %35 = load ptr, ptr %vfn.i.i.i81, align 8 call void %35(ptr noundef nonnull align 8 dereferenceable(128) %34) #23 - br label %_ZN7testing7MessageD2Ev.exit81 + br label %_ZN7testing7MessageD2Ev.exit82 -_ZN7testing7MessageD2Ev.exit81: ; preds = %invoke.cont103, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78 +_ZN7testing7MessageD2Ev.exit82: ; preds = %invoke.cont103, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i79 store ptr null, ptr %ref.tmp95, align 8 br label %if.end106 @@ -1877,61 +1877,61 @@ lpad102: ; preds = %invoke.cont101 ehcleanup105: ; preds = %lpad102, %lpad98 %.pn8 = phi { ptr, i32 } [ %37, %lpad102 ], [ %36, %lpad98 ] %38 = load ptr, ptr %ref.tmp95, align 8 - %cmp.not.i.i82 = icmp eq ptr %38, null - br i1 %cmp.not.i.i82, label %_ZN7testing7MessageD2Ev.exit86, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 + %cmp.not.i.i83 = icmp eq ptr %38, null + br i1 %cmp.not.i.i83, label %_ZN7testing7MessageD2Ev.exit87, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83: ; preds = %ehcleanup105 - %vtable.i.i.i84 = load ptr, ptr %38, align 8 - %vfn.i.i.i85 = getelementptr inbounds ptr, ptr %vtable.i.i.i84, i64 1 - %39 = load ptr, ptr %vfn.i.i.i85, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84: ; preds = %ehcleanup105 + %vtable.i.i.i85 = load ptr, ptr %38, align 8 + %vfn.i.i.i86 = getelementptr inbounds ptr, ptr %vtable.i.i.i85, i64 1 + %39 = load ptr, ptr %vfn.i.i.i86, align 8 call void %39(ptr noundef nonnull align 8 dereferenceable(128) %38) #23 - br label %_ZN7testing7MessageD2Ev.exit86 + br label %_ZN7testing7MessageD2Ev.exit87 -_ZN7testing7MessageD2Ev.exit86: ; preds = %ehcleanup105, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 +_ZN7testing7MessageD2Ev.exit87: ; preds = %ehcleanup105, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84 store ptr null, ptr %ref.tmp95, align 8 br label %ehcleanup107 -if.end106: ; preds = %invoke.cont89, %_ZN7testing7MessageD2Ev.exit81 - %message_.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar78, i64 0, i32 1 - %40 = load ptr, ptr %message_.i87, align 8 - %cmp.not.i.i88 = icmp eq ptr %40, null - br i1 %cmp.not.i.i88, label %invoke.cont129, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 +if.end106: ; preds = %invoke.cont89, %_ZN7testing7MessageD2Ev.exit82 + %message_.i88 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar78, i64 0, i32 1 + %40 = load ptr, ptr %message_.i88, align 8 + %cmp.not.i.i89 = icmp eq ptr %40, null + br i1 %cmp.not.i.i89, label %invoke.cont129, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89: ; preds = %if.end106 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %if.end106 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #23 call void @_ZdlPv(ptr noundef nonnull %40) #24 br label %invoke.cont129 -invoke.cont129: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89, %if.end106 - store ptr null, ptr %message_.i87, align 8 +invoke.cont129: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90, %if.end106 + store ptr null, ptr %message_.i88, align 8 store double 0x3FE89D89D89D89D9, ptr %ref.tmp109, align 8 - %agg.tmp11094.sroa.4.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 8 - store i32 3, ptr %agg.tmp11094.sroa.4.0.ref.tmp109.sroa_idx, align 8 - %agg.tmp11094.sroa.6.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 16 - store double 0x3FEB13B13B13B13C, ptr %agg.tmp11094.sroa.6.0.ref.tmp109.sroa_idx, align 8 - %agg.tmp11094.sroa.7.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 24 - store i32 2, ptr %agg.tmp11094.sroa.7.0.ref.tmp109.sroa_idx, align 8 - %agg.tmp11094.sroa.9.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 32 - store double 1.000000e+00, ptr %agg.tmp11094.sroa.9.0.ref.tmp109.sroa_idx, align 8 - %agg.tmp11094.sroa.11.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 48 - store double 0x3FE89D89D89D89D9, ptr %agg.tmp11094.sroa.11.0.ref.tmp109.sroa_idx, align 8 - %agg.tmp11094.sroa.12.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 56 - store i32 3, ptr %agg.tmp11094.sroa.12.0.ref.tmp109.sroa_idx, align 8 - %agg.tmp11094.sroa.14.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 64 - store double 0x3FD89D89D89D89D9, ptr %agg.tmp11094.sroa.14.0.ref.tmp109.sroa_idx, align 8 - %agg.tmp11094.sroa.15.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 72 - store i32 3, ptr %agg.tmp11094.sroa.15.0.ref.tmp109.sroa_idx, align 8 + %agg.tmp11095.sroa.4.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 8 + store i32 3, ptr %agg.tmp11095.sroa.4.0.ref.tmp109.sroa_idx, align 8 + %agg.tmp11095.sroa.6.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 16 + store double 0x3FEB13B13B13B13C, ptr %agg.tmp11095.sroa.6.0.ref.tmp109.sroa_idx, align 8 + %agg.tmp11095.sroa.7.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 24 + store i32 2, ptr %agg.tmp11095.sroa.7.0.ref.tmp109.sroa_idx, align 8 + %agg.tmp11095.sroa.9.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 32 + store double 1.000000e+00, ptr %agg.tmp11095.sroa.9.0.ref.tmp109.sroa_idx, align 8 + %agg.tmp11095.sroa.11.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 48 + store double 0x3FE89D89D89D89D9, ptr %agg.tmp11095.sroa.11.0.ref.tmp109.sroa_idx, align 8 + %agg.tmp11095.sroa.12.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 56 + store i32 3, ptr %agg.tmp11095.sroa.12.0.ref.tmp109.sroa_idx, align 8 + %agg.tmp11095.sroa.14.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 64 + store double 0x3FD89D89D89D89D9, ptr %agg.tmp11095.sroa.14.0.ref.tmp109.sroa_idx, align 8 + %agg.tmp11095.sroa.15.0.ref.tmp109.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp109, i64 72 + store i32 3, ptr %agg.tmp11095.sroa.15.0.ref.tmp109.sroa_idx, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJNS0_11PairMatcherIdiEES5_NS4_IdNS0_15AnythingMatcherEEES5_S5_EEEEEclISt6vectorISt4pairIdmESaISE_EEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar108, ptr noundef nonnull align 8 dereferenceable(80) %ref.tmp109, ptr noundef nonnull @.str.15, ptr noundef nonnull align 8 dereferenceable(24) %q75) to label %invoke.cont130 unwind label %lpad86 invoke.cont130: ; preds = %invoke.cont129 %41 = load i8, ptr %gtest_ar108, align 8 %42 = and i8 %41, 1 - %tobool.i95.not = icmp eq i8 %42, 0 - br i1 %tobool.i95.not, label %if.else135, label %if.end147 + %tobool.i96.not = icmp eq i8 %42, 0 + br i1 %tobool.i96.not, label %if.else135, label %if.end147 -ehcleanup107: ; preds = %_ZN7testing7MessageD2Ev.exit86, %lpad90 - %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit86 ], [ %32, %lpad90 ] +ehcleanup107: ; preds = %_ZN7testing7MessageD2Ev.exit87, %lpad90 + %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit87 ], [ %32, %lpad90 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar78) #23 br label %ehcleanup149 @@ -1945,18 +1945,18 @@ if.else135: ; preds = %invoke.cont130 to label %invoke.cont137 unwind label %lpad131 invoke.cont137: ; preds = %if.else135 - %message_.i.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar108, i64 0, i32 1 - %44 = load ptr, ptr %message_.i.i96, align 8 - %cmp.i.i.not.i.i97 = icmp eq ptr %44, null - br i1 %cmp.i.i.not.i.i97, label %invoke.cont140, label %cond.true.i.i98 + %message_.i.i97 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar108, i64 0, i32 1 + %44 = load ptr, ptr %message_.i.i97, align 8 + %cmp.i.i.not.i.i98 = icmp eq ptr %44, null + br i1 %cmp.i.i.not.i.i98, label %invoke.cont140, label %cond.true.i.i99 -cond.true.i.i98: ; preds = %invoke.cont137 - %call4.i.i99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 +cond.true.i.i99: ; preds = %invoke.cont137 + %call4.i.i100 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i98, %invoke.cont137 - %cond.i.i100 = phi ptr [ %call4.i.i99, %cond.true.i.i98 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 141, ptr noundef %cond.i.i100) +invoke.cont140: ; preds = %cond.true.i.i99, %invoke.cont137 + %cond.i.i101 = phi ptr [ %call4.i.i100, %cond.true.i.i99 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 141, ptr noundef %cond.i.i101) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -1966,17 +1966,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %45 = load ptr, ptr %ref.tmp136, align 8 - %cmp.not.i.i102 = icmp eq ptr %45, null - br i1 %cmp.not.i.i102, label %_ZN7testing7MessageD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 + %cmp.not.i.i103 = icmp eq ptr %45, null + br i1 %cmp.not.i.i103, label %_ZN7testing7MessageD2Ev.exit107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103: ; preds = %invoke.cont144 - %vtable.i.i.i104 = load ptr, ptr %45, align 8 - %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 - %46 = load ptr, ptr %vfn.i.i.i105, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104: ; preds = %invoke.cont144 + %vtable.i.i.i105 = load ptr, ptr %45, align 8 + %vfn.i.i.i106 = getelementptr inbounds ptr, ptr %vtable.i.i.i105, i64 1 + %46 = load ptr, ptr %vfn.i.i.i106, align 8 call void %46(ptr noundef nonnull align 8 dereferenceable(128) %45) #23 - br label %_ZN7testing7MessageD2Ev.exit106 + br label %_ZN7testing7MessageD2Ev.exit107 -_ZN7testing7MessageD2Ev.exit106: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 +_ZN7testing7MessageD2Ev.exit107: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 store ptr null, ptr %ref.tmp136, align 8 br label %if.end147 @@ -1994,73 +1994,73 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn11 = phi { ptr, i32 } [ %48, %lpad143 ], [ %47, %lpad139 ] %49 = load ptr, ptr %ref.tmp136, align 8 - %cmp.not.i.i107 = icmp eq ptr %49, null - br i1 %cmp.not.i.i107, label %_ZN7testing7MessageD2Ev.exit111, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 + %cmp.not.i.i108 = icmp eq ptr %49, null + br i1 %cmp.not.i.i108, label %_ZN7testing7MessageD2Ev.exit112, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108: ; preds = %ehcleanup146 - %vtable.i.i.i109 = load ptr, ptr %49, align 8 - %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 - %50 = load ptr, ptr %vfn.i.i.i110, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109: ; preds = %ehcleanup146 + %vtable.i.i.i110 = load ptr, ptr %49, align 8 + %vfn.i.i.i111 = getelementptr inbounds ptr, ptr %vtable.i.i.i110, i64 1 + %50 = load ptr, ptr %vfn.i.i.i111, align 8 call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #23 - br label %_ZN7testing7MessageD2Ev.exit111 + br label %_ZN7testing7MessageD2Ev.exit112 -_ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 +_ZN7testing7MessageD2Ev.exit112: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 store ptr null, ptr %ref.tmp136, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont130, %_ZN7testing7MessageD2Ev.exit106 - %message_.i112 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar108, i64 0, i32 1 - %51 = load ptr, ptr %message_.i112, align 8 - %cmp.not.i.i113 = icmp eq ptr %51, null - br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 +if.end147: ; preds = %invoke.cont130, %_ZN7testing7MessageD2Ev.exit107 + %message_.i113 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar108, i64 0, i32 1 + %51 = load ptr, ptr %message_.i113, align 8 + %cmp.not.i.i114 = icmp eq ptr %51, null + br i1 %cmp.not.i.i114, label %_ZN7testing15AssertionResultD2Ev.exit116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #23 call void @_ZdlPv(ptr noundef nonnull %51) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit115 + br label %_ZN7testing15AssertionResultD2Ev.exit116 -_ZN7testing15AssertionResultD2Ev.exit115: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 - store ptr null, ptr %message_.i112, align 8 +_ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 + store ptr null, ptr %message_.i113, align 8 %52 = load ptr, ptr %q75, align 8 - %tobool.not.i.i.i116 = icmp eq ptr %52, null - br i1 %tobool.not.i.i.i116, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit118, label %if.then.i.i.i117 + %tobool.not.i.i.i117 = icmp eq ptr %52, null + br i1 %tobool.not.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit119, label %if.then.i.i.i118 -if.then.i.i.i117: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 +if.then.i.i.i118: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 call void @_ZdlPv(ptr noundef nonnull %52) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit118 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit119 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit118: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115, %if.then.i.i.i117 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit119: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116, %if.then.i.i.i118 %53 = load ptr, ptr %p64, align 8 - %tobool.not.i.i.i119 = icmp eq ptr %53, null - br i1 %tobool.not.i.i.i119, label %_ZNSt6vectorIdSaIdEED2Ev.exit122, label %if.then.i.i.i120 + %tobool.not.i.i.i120 = icmp eq ptr %53, null + br i1 %tobool.not.i.i.i120, label %_ZNSt6vectorIdSaIdEED2Ev.exit123, label %if.then.i.i.i121 -if.then.i.i.i120: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit118 +if.then.i.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit119 call void @_ZdlPv(ptr noundef nonnull %53) #24 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit122 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit123 -_ZNSt6vectorIdSaIdEED2Ev.exit122: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit118, %if.then.i.i.i120 +_ZNSt6vectorIdSaIdEED2Ev.exit123: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit119, %if.then.i.i.i121 ret void -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad131 - %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit111 ], [ %43, %lpad131 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit112, %lpad131 + %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit112 ], [ %43, %lpad131 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar108) #23 br label %ehcleanup149 ehcleanup149: ; preds = %ehcleanup148, %ehcleanup107, %lpad86 %.pn11.pn.pn = phi { ptr, i32 } [ %.pn11.pn, %ehcleanup148 ], [ %31, %lpad86 ], [ %.pn8.pn, %ehcleanup107 ] %54 = load ptr, ptr %q75, align 8 - %tobool.not.i.i.i123 = icmp eq ptr %54, null - br i1 %tobool.not.i.i.i123, label %ehcleanup150, label %if.then.i.i.i124 + %tobool.not.i.i.i124 = icmp eq ptr %54, null + br i1 %tobool.not.i.i.i124, label %ehcleanup150, label %if.then.i.i.i125 -if.then.i.i.i124: ; preds = %ehcleanup149 +if.then.i.i.i125: ; preds = %ehcleanup149 call void @_ZdlPv(ptr noundef nonnull %54) #24 br label %ehcleanup150 -ehcleanup150: ; preds = %if.then.i.i.i124, %ehcleanup149, %lpad76 - %.pn11.pn.pn.pn = phi { ptr, i32 } [ %30, %lpad76 ], [ %.pn11.pn.pn, %ehcleanup149 ], [ %.pn11.pn.pn, %if.then.i.i.i124 ] +ehcleanup150: ; preds = %if.then.i.i.i125, %ehcleanup149, %lpad76 + %.pn11.pn.pn.pn = phi { ptr, i32 } [ %30, %lpad76 ], [ %.pn11.pn.pn, %ehcleanup149 ], [ %.pn11.pn.pn, %if.then.i.i.i125 ] %55 = load ptr, ptr %p64, align 8 - %tobool.not.i.i.i126 = icmp eq ptr %55, null - br i1 %tobool.not.i.i.i126, label %eh.resume, label %eh.resume.sink.split + %tobool.not.i.i.i127 = icmp eq ptr %55, null + br i1 %tobool.not.i.i.i127, label %eh.resume, label %eh.resume.sink.split eh.resume.sink.split: ; preds = %ehcleanup150, %ehcleanup63 %.sink = phi ptr [ %29, %ehcleanup63 ], [ %55, %ehcleanup150 ] @@ -11627,8 +11627,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i if.then.i.i.i: ; preds = %entry @@ -11643,7 +11642,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %entry br i1 %cmp.not.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i - %add.ptr3.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr3.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage4.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr3.i.i, ptr %_M_end_of_storage4.i.i, align 8 br label %invoke.cont @@ -11654,7 +11653,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i, ptr %this, align 8 - %add.ptr.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -11668,9 +11667,10 @@ lpad.i: ; preds = %if.then.i.i.i.i.i.i br i1 %tobool.not.i.i.i, label %eh.resume, label %eh.resume.sink.split invoke.cont: ; preds = %call5.i.i.i.i.noexc.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i - %add.ptr5.i.i = phi ptr [ %add.ptr3.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %add.ptr.i.i, %call5.i.i.i.i.noexc.i ] + %cond.i5.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %call5.i.i.i.i1.i, %call5.i.i.i.i.noexc.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr5.i.i, ptr %_M_finish.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIiE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %this) @@ -11720,7 +11720,7 @@ if.then: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 %2 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i = icmp eq ptr %0, %2 - br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i, label %if.then.i.i + br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store double 1.000000e+00, ptr %0, align 8 @@ -11729,18 +11729,18 @@ if.then.i.i: ; preds = %if.then store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 br label %_ZNSt6vectorIdSaIdEE9push_backEOd.exit -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then %call5.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #25 store double 1.000000e+00, ptr %call5.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i store ptr %call5.i.i.i.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_end_of_storage.i.i, align 8 @@ -11788,7 +11788,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els tail call void @llvm.assume(i1 %cmp.not.i.i.i) %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 4 %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #25 - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i store double 1.000000e+00, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -12140,48 +12140,48 @@ invoke.cont: ; preds = %entry tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(24) %call5.i.i.i.i2.i.i3234, i8 0, i64 24, i1 false) store ptr %add.ptr.i.i.i, ptr %_M_finish.i.i7.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %dist, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %invoke.cont - store ptr %call5.i.i.i.i2.i.i.i, ptr %dist, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 5 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %dist, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(40) @constinit.82, i64 40, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %dist, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %dist, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i254 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i255 + +call5.i.i.i.i.noexc.i.i: ; preds = %invoke.cont + store ptr %call5.i.i.i.i2.i.i254, ptr %dist, align 8 + %add.ptr.i1.i.i257 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i254, i64 40 + %_M_end_of_storage.i.i.i258 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %dist, i64 0, i32 2 + store ptr %add.ptr.i1.i.i257, ptr %_M_end_of_storage.i.i.i258, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i2.i.i254, ptr noundef nonnull align 8 dereferenceable(40) @constinit.82, i64 40, i1 false) + %_M_finish.i.i.i260 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %dist, i64 0, i32 1 + store ptr %add.ptr.i1.i.i257, ptr %_M_finish.i.i.i260, align 8 + %q_.i = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %dist, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIiE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %dist) - to label %if.then.i.i unwind label %lpad2.i.i + to label %if.then.i.i unwind label %lpad2.i -lpad.i.i.i: ; preds = %invoke.cont +lpad.i.i255: ; preds = %invoke.cont %0 = landingpad { ptr, i32 } cleanup br label %ehcleanup238 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %1 = landingpad { ptr, i32 } cleanup - %2 = load ptr, ptr %q_.i.i, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %2, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i, label %if.then.i.i.i3.i.i + %2 = load ptr, ptr %q_.i, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %2, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %2) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i: ; preds = %if.then.i.i.i3.i, %lpad2.i %3 = load ptr, ptr %dist, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %3, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup238, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %3, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup238, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i call void @_ZdlPv(ptr noundef nonnull %3) #24 br label %ehcleanup238 -if.then.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +if.then.i.i: ; preds = %call5.i.i.i.i.noexc.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar) to label %invoke.cont15 unwind label %lpad13 @@ -12194,7 +12194,7 @@ invoke.cont15: ; preds = %if.then.i.i lpad: ; preds = %entry %6 = landingpad { ptr, i32 } cleanup - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit275 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit253 lpad9: ; preds = %invoke.cont219, %invoke.cont93 %7 = landingpad { ptr, i32 } @@ -12293,7 +12293,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 store i32 4, ptr %ref.tmp29, align 4 - %18 = load ptr, ptr %_M_finish.i.i.i.i, align 8 + %18 = load ptr, ptr %_M_finish.i.i.i260, align 8 %19 = load ptr, ptr %dist, align 8 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %18 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %19 to i64 @@ -12412,8 +12412,8 @@ _ZN7testing15AssertionResultD2Ev.exit69: ; preds = %if.end49, %_ZNKSt14 store ptr null, ptr %message_.i66, align 8 %32 = load ptr, ptr %output, align 8 %33 = load ptr, ptr %_M_finish.i.i7.i, align 8 - %cmp.i.not356 = icmp eq ptr %32, %33 - br i1 %cmp.i.not356, label %for.end.thread, label %for.body + %cmp.i.not363 = icmp eq ptr %32, %33 + br i1 %cmp.i.not363, label %for.end.thread, label %for.body for.end.thread: ; preds = %_ZN7testing15AssertionResultD2Ev.exit69 store i32 12, ptr %ref.tmp60, align 4 @@ -12421,27 +12421,27 @@ for.end.thread: ; preds = %_ZN7testing15Assert br label %if.end.i.i72 for.body: ; preds = %_ZN7testing15AssertionResultD2Ev.exit69, %invoke.cont56 - %urbg.sroa.0.0358 = phi i64 [ %inc.i.i.i.i.i.i, %invoke.cont56 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit69 ] - %__begin2.sroa.0.0357 = phi ptr [ %incdec.ptr.i, %invoke.cont56 ], [ %32, %_ZN7testing15AssertionResultD2Ev.exit69 ] - %34 = load ptr, ptr %_M_finish.i.i.i.i, align 8 + %urbg.sroa.0.0365 = phi i64 [ %inc.i.i.i.i.i.i, %invoke.cont56 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit69 ] + %__begin2.sroa.0.0364 = phi ptr [ %incdec.ptr.i, %invoke.cont56 ], [ %32, %_ZN7testing15AssertionResultD2Ev.exit69 ] + %34 = load ptr, ptr %_M_finish.i.i.i260, align 8 %35 = load ptr, ptr %dist, align 8 - %sub.ptr.lhs.cast.i.i.i277 = ptrtoint ptr %34 to i64 - %sub.ptr.rhs.cast.i.i.i278 = ptrtoint ptr %35 to i64 - %sub.ptr.sub.i.i.i279 = sub i64 %sub.ptr.lhs.cast.i.i.i277, %sub.ptr.rhs.cast.i.i.i278 - %conv.i280 = shl i64 %sub.ptr.sub.i.i.i279, 29 - %ref.tmp.sroa.2.0.insert.shift.i = add i64 %conv.i280, -4294967296 + %sub.ptr.lhs.cast.i.i.i262 = ptrtoint ptr %34 to i64 + %sub.ptr.rhs.cast.i.i.i263 = ptrtoint ptr %35 to i64 + %sub.ptr.sub.i.i.i264 = sub i64 %sub.ptr.lhs.cast.i.i.i262, %sub.ptr.rhs.cast.i.i.i263 + %conv.i265 = shl i64 %sub.ptr.sub.i.i.i264, 29 + %ref.tmp.sroa.2.0.insert.shift.i = add i64 %conv.i265, -4294967296 %ref.tmp.sroa.2.0.extract.shift.i.i = lshr i64 %ref.tmp.sroa.2.0.insert.shift.i, 32 %ref.tmp.sroa.2.0.extract.trunc.i.i = trunc i64 %ref.tmp.sroa.2.0.extract.shift.i.i to i32 - %inc.i.i.i.i.i.i.i = add i64 %urbg.sroa.0.0358, 1 - %rem.i.i.i.i.i.i.i = urem i64 %urbg.sroa.0.0358, 12 + %inc.i.i.i.i.i.i.i = add i64 %urbg.sroa.0.0365, 1 + %rem.i.i.i.i.i.i.i = urem i64 %urbg.sroa.0.0365, 12 %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 %rem.i.i.i.i.i.i.i %36 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i, align 8 %add.i.i.i.i = add i32 %ref.tmp.sroa.2.0.extract.trunc.i.i, 1 %and.i.i.i.i = and i32 %add.i.i.i.i, %ref.tmp.sroa.2.0.extract.trunc.i.i %cmp.i.i.i.i = icmp eq i32 %and.i.i.i.i, 0 - br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i281, label %if.end.i.i.i.i + br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i267, label %if.end.i.i.i.i -if.then.i.i.i.i281: ; preds = %for.body +if.then.i.i.i.i267: ; preds = %for.body %and2.i.i1.i.i = and i64 %ref.tmp.sroa.2.0.extract.shift.i.i, %36 br label %_ZN4absl24uniform_int_distributionIiEclINS_15random_internal13sequence_urbgEEEiRT_.exit.i @@ -12477,12 +12477,12 @@ if.end13.i.i.i.i: ; preds = %while.body.i.i.i.i, %shr.i.i.i.i.i = lshr i64 %product.1.i.i.i.i, 32 br label %_ZN4absl24uniform_int_distributionIiEclINS_15random_internal13sequence_urbgEEEiRT_.exit.i -_ZN4absl24uniform_int_distributionIiEclINS_15random_internal13sequence_urbgEEEiRT_.exit.i: ; preds = %if.end13.i.i.i.i, %if.then.i.i.i.i281 - %g.promoted.i.i.i = phi i64 [ %inc.i.i.i.i.i.i.i, %if.then.i.i.i.i281 ], [ %g.promoted.i.i14.i, %if.end13.i.i.i.i ] - %retval.0.i.i.in.i.i = phi i64 [ %and2.i.i1.i.i, %if.then.i.i.i.i281 ], [ %shr.i.i.i.i.i, %if.end13.i.i.i.i ] +_ZN4absl24uniform_int_distributionIiEclINS_15random_internal13sequence_urbgEEEiRT_.exit.i: ; preds = %if.end13.i.i.i.i, %if.then.i.i.i.i267 + %g.promoted.i.i.i = phi i64 [ %inc.i.i.i.i.i.i.i, %if.then.i.i.i.i267 ], [ %g.promoted.i.i14.i, %if.end13.i.i.i.i ] + %retval.0.i.i.in.i.i = phi i64 [ %and2.i.i1.i.i, %if.then.i.i.i.i267 ], [ %shr.i.i.i.i.i, %if.end13.i.i.i.i ] %sext.i = shl nuw i64 %retval.0.i.i.in.i.i, 32 %conv3.i = ashr exact i64 %sext.i, 32 - %38 = load ptr, ptr %q_.i.i, align 8 + %38 = load ptr, ptr %q_.i, align 8 %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %38, i64 %conv3.i %39 = load double, ptr %add.ptr.i.i, align 8 br label %while.body.i.i.i @@ -12524,8 +12524,8 @@ _ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.ex invoke.cont56: ; preds = %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i %.in.i = phi i64 [ %41, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i ], [ %spec.select.v.i, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i ] %43 = trunc i64 %.in.i to i32 - store i32 %43, ptr %__begin2.sroa.0.0357, align 4 - %incdec.ptr.i = getelementptr inbounds i32, ptr %__begin2.sroa.0.0357, i64 1 + store i32 %43, ptr %__begin2.sroa.0.0364, align 4 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__begin2.sroa.0.0364, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %33 br i1 %cmp.i.not, label %for.end, label %for.body @@ -12640,37 +12640,37 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit96: ; preds = %if.end80, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %message_.i93, align 8 - %55 = load ptr, ptr %q_.i.i, align 8 - %tobool.not.i.i.i.i.i98 = icmp eq ptr %55, null - br i1 %tobool.not.i.i.i.i.i98, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i99, label %if.then.i.i.i.i.i + %55 = load ptr, ptr %q_.i, align 8 + %tobool.not.i.i.i.i.i = icmp eq ptr %55, null + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i, label %if.then.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit96 call void @_ZdlPv(ptr noundef nonnull %55) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i99 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i99: ; preds = %if.then.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit96 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i: ; preds = %if.then.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit96 %56 = load ptr, ptr %dist, align 8 %tobool.not.i.i.i1.i.i = icmp eq ptr %56, null br i1 %tobool.not.i.i.i1.i.i, label %invoke.cont93, label %if.then.i.i.i2.i.i -if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i99 +if.then.i.i.i2.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i call void @_ZdlPv(ptr noundef nonnull %56) #24 br label %invoke.cont93 -invoke.cont93: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i99, %if.then.i.i.i2.i.i +invoke.cont93: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i, %if.then.i.i.i2.i.i store <4 x i32> , ptr %ref.tmp84, align 16 - %agg.tmp85100.sroa.7.0.ref.tmp84.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp84, i64 16 - store i32 3, ptr %agg.tmp85100.sroa.7.0.ref.tmp84.sroa_idx, align 16 - %agg.tmp85100.sroa.8.0.ref.tmp84.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp84, i64 20 - store i32 3, ptr %agg.tmp85100.sroa.8.0.ref.tmp84.sroa_idx, align 4 + %agg.tmp8597.sroa.7.0.ref.tmp84.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp84, i64 16 + store i32 3, ptr %agg.tmp8597.sroa.7.0.ref.tmp84.sroa_idx, align 16 + %agg.tmp8597.sroa.8.0.ref.tmp84.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp84, i64 20 + store i32 3, ptr %agg.tmp8597.sroa.8.0.ref.tmp84.sroa_idx, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar83, ptr noundef nonnull align 4 dereferenceable(24) %ref.tmp84, ptr noundef nonnull @.str.81, ptr noundef nonnull align 8 dereferenceable(24) %output) to label %invoke.cont94 unwind label %lpad9 invoke.cont94: ; preds = %invoke.cont93 %57 = load i8, ptr %gtest_ar83, align 8 %58 = and i8 %57, 1 - %tobool.i101.not = icmp eq i8 %58, 0 - br i1 %tobool.i101.not, label %if.else97, label %if.end110 + %tobool.i98.not = icmp eq i8 %58, 0 + br i1 %tobool.i98.not, label %if.else97, label %if.end110 ehcleanup81: ; preds = %_ZN7testing7MessageD2Ev.exit92, %lpad69 %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit92 ], [ %49, %lpad69 ] @@ -12687,18 +12687,18 @@ if.else97: ; preds = %invoke.cont94 to label %invoke.cont100 unwind label %lpad99 invoke.cont100: ; preds = %if.else97 - %message_.i.i102 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar83, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i102, align 8 - %cmp.i.i.not.i.i103 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i103, label %invoke.cont103, label %cond.true.i.i104 + %message_.i.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar83, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i99, align 8 + %cmp.i.i.not.i.i100 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i100, label %invoke.cont103, label %cond.true.i.i101 -cond.true.i.i104: ; preds = %invoke.cont100 - %call4.i.i105 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i101: ; preds = %invoke.cont100 + %call4.i.i102 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont103 -invoke.cont103: ; preds = %cond.true.i.i104, %invoke.cont100 - %cond.i.i106 = phi ptr [ %call4.i.i105, %cond.true.i.i104 ], [ @.str, %invoke.cont100 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 236, ptr noundef %cond.i.i106) +invoke.cont103: ; preds = %cond.true.i.i101, %invoke.cont100 + %cond.i.i103 = phi ptr [ %call4.i.i102, %cond.true.i.i101 ], [ @.str, %invoke.cont100 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 236, ptr noundef %cond.i.i103) to label %invoke.cont105 unwind label %lpad102 invoke.cont105: ; preds = %invoke.cont103 @@ -12708,17 +12708,17 @@ invoke.cont105: ; preds = %invoke.cont103 invoke.cont107: ; preds = %invoke.cont105 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101) #23 %60 = load ptr, ptr %ref.tmp98, align 8 - %cmp.not.i.i108 = icmp eq ptr %60, null - br i1 %cmp.not.i.i108, label %_ZN7testing7MessageD2Ev.exit112, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 + %cmp.not.i.i105 = icmp eq ptr %60, null + br i1 %cmp.not.i.i105, label %_ZN7testing7MessageD2Ev.exit109, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109: ; preds = %invoke.cont107 - %vtable.i.i.i110 = load ptr, ptr %60, align 8 - %vfn.i.i.i111 = getelementptr inbounds ptr, ptr %vtable.i.i.i110, i64 1 - %61 = load ptr, ptr %vfn.i.i.i111, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106: ; preds = %invoke.cont107 + %vtable.i.i.i107 = load ptr, ptr %60, align 8 + %vfn.i.i.i108 = getelementptr inbounds ptr, ptr %vtable.i.i.i107, i64 1 + %61 = load ptr, ptr %vfn.i.i.i108, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit112 + br label %_ZN7testing7MessageD2Ev.exit109 -_ZN7testing7MessageD2Ev.exit112: ; preds = %invoke.cont107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 +_ZN7testing7MessageD2Ev.exit109: ; preds = %invoke.cont107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 store ptr null, ptr %ref.tmp98, align 8 br label %if.end110 @@ -12741,91 +12741,91 @@ lpad106: ; preds = %invoke.cont105 ehcleanup109: ; preds = %lpad106, %lpad102 %.pn11 = phi { ptr, i32 } [ %64, %lpad106 ], [ %63, %lpad102 ] %65 = load ptr, ptr %ref.tmp98, align 8 - %cmp.not.i.i113 = icmp eq ptr %65, null - br i1 %cmp.not.i.i113, label %_ZN7testing7MessageD2Ev.exit117, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 + %cmp.not.i.i110 = icmp eq ptr %65, null + br i1 %cmp.not.i.i110, label %_ZN7testing7MessageD2Ev.exit114, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %ehcleanup109 - %vtable.i.i.i115 = load ptr, ptr %65, align 8 - %vfn.i.i.i116 = getelementptr inbounds ptr, ptr %vtable.i.i.i115, i64 1 - %66 = load ptr, ptr %vfn.i.i.i116, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111: ; preds = %ehcleanup109 + %vtable.i.i.i112 = load ptr, ptr %65, align 8 + %vfn.i.i.i113 = getelementptr inbounds ptr, ptr %vtable.i.i.i112, i64 1 + %66 = load ptr, ptr %vfn.i.i.i113, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit117 + br label %_ZN7testing7MessageD2Ev.exit114 -_ZN7testing7MessageD2Ev.exit117: ; preds = %ehcleanup109, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 +_ZN7testing7MessageD2Ev.exit114: ; preds = %ehcleanup109, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 store ptr null, ptr %ref.tmp98, align 8 br label %ehcleanup111 -if.end110: ; preds = %invoke.cont94, %_ZN7testing7MessageD2Ev.exit112 - %message_.i118 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar83, i64 0, i32 1 - %67 = load ptr, ptr %message_.i118, align 8 - %cmp.not.i.i119 = icmp eq ptr %67, null - br i1 %cmp.not.i.i119, label %_ZN7testing15AssertionResultD2Ev.exit121, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 +if.end110: ; preds = %invoke.cont94, %_ZN7testing7MessageD2Ev.exit109 + %message_.i115 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar83, i64 0, i32 1 + %67 = load ptr, ptr %message_.i115, align 8 + %cmp.not.i.i116 = icmp eq ptr %67, null + br i1 %cmp.not.i.i116, label %_ZN7testing15AssertionResultD2Ev.exit118, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120: ; preds = %if.end110 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117: ; preds = %if.end110 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit121 + br label %_ZN7testing15AssertionResultD2Ev.exit118 -_ZN7testing15AssertionResultD2Ev.exit121: ; preds = %if.end110, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i120 - store ptr null, ptr %message_.i118, align 8 +_ZN7testing15AssertionResultD2Ev.exit118: ; preds = %if.end110, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117 + store ptr null, ptr %message_.i115, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %dist113, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i122 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #25 - to label %call5.i.i.i.i.noexc.i.i.i130 unwind label %lpad.i.i.i123 - -call5.i.i.i.i.noexc.i.i.i130: ; preds = %_ZN7testing15AssertionResultD2Ev.exit121 - store ptr %call5.i.i.i.i2.i.i.i122, ptr %dist113, align 8 - %add.ptr.i1.i.i.i131 = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i122, i64 5 - %_M_end_of_storage.i.i.i.i132 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %dist113, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i131, ptr %_M_end_of_storage.i.i.i.i132, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i2.i.i.i122, ptr noundef nonnull align 8 dereferenceable(40) @constinit.82, i64 40, i1 false) - %_M_finish.i.i.i.i133 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %dist113, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i131, ptr %_M_finish.i.i.i.i133, align 8 - %q_.i.i134 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %dist113, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i134, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i268 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #25 + to label %call5.i.i.i.i.noexc.i.i276 unwind label %lpad.i.i269 + +call5.i.i.i.i.noexc.i.i276: ; preds = %_ZN7testing15AssertionResultD2Ev.exit118 + store ptr %call5.i.i.i.i2.i.i268, ptr %dist113, align 8 + %add.ptr.i1.i.i277 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i268, i64 40 + %_M_end_of_storage.i.i.i278 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %dist113, i64 0, i32 2 + store ptr %add.ptr.i1.i.i277, ptr %_M_end_of_storage.i.i.i278, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i2.i.i268, ptr noundef nonnull align 8 dereferenceable(40) @constinit.82, i64 40, i1 false) + %_M_finish.i.i.i280 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %dist113, i64 0, i32 1 + store ptr %add.ptr.i1.i.i277, ptr %_M_finish.i.i.i280, align 8 + %q_.i281 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %dist113, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i281, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIlE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %dist113) - to label %if.then.i.i145 unwind label %lpad2.i.i135 + to label %if.then.i.i123 unwind label %lpad2.i282 -lpad.i.i.i123: ; preds = %_ZN7testing15AssertionResultD2Ev.exit121 +lpad.i.i269: ; preds = %_ZN7testing15AssertionResultD2Ev.exit118 %68 = landingpad { ptr, i32 } cleanup br label %ehcleanup238 -lpad2.i.i135: ; preds = %call5.i.i.i.i.noexc.i.i.i130 +lpad2.i282: ; preds = %call5.i.i.i.i.noexc.i.i276 %69 = landingpad { ptr, i32 } cleanup - %70 = load ptr, ptr %q_.i.i134, align 8 - %tobool.not.i.i.i2.i.i136 = icmp eq ptr %70, null - br i1 %tobool.not.i.i.i2.i.i136, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i138, label %if.then.i.i.i3.i.i137 + %70 = load ptr, ptr %q_.i281, align 8 + %tobool.not.i.i.i2.i283 = icmp eq ptr %70, null + br i1 %tobool.not.i.i.i2.i283, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i285, label %if.then.i.i.i3.i284 -if.then.i.i.i3.i.i137: ; preds = %lpad2.i.i135 +if.then.i.i.i3.i284: ; preds = %lpad2.i282 call void @_ZdlPv(ptr noundef nonnull %70) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i138 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i285 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i138: ; preds = %if.then.i.i.i3.i.i137, %lpad2.i.i135 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i285: ; preds = %if.then.i.i.i3.i284, %lpad2.i282 %71 = load ptr, ptr %dist113, align 8 - %tobool.not.i.i.i4.i.i139 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i4.i.i139, label %ehcleanup238, label %eh.resume.sink.split.i.i125 + %tobool.not.i.i.i4.i286 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i4.i286, label %ehcleanup238, label %eh.resume.sink.split.i271 -eh.resume.sink.split.i.i125: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i138 +eh.resume.sink.split.i271: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i285 call void @_ZdlPv(ptr noundef nonnull %71) #24 br label %ehcleanup238 -if.then.i.i145: ; preds = %call5.i.i.i.i.noexc.i.i.i130 +if.then.i.i123: ; preds = %call5.i.i.i.i.noexc.i.i276 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar121) to label %invoke.cont127 unwind label %lpad124 -invoke.cont127: ; preds = %if.then.i.i145 +invoke.cont127: ; preds = %if.then.i.i123 %72 = load i8, ptr %gtest_ar121, align 8 %73 = and i8 %72, 1 - %tobool.i148.not = icmp eq i8 %73, 0 - br i1 %tobool.i148.not, label %if.else130, label %if.end143 + %tobool.i126.not = icmp eq i8 %73, 0 + br i1 %tobool.i126.not, label %if.else130, label %if.end143 -ehcleanup111: ; preds = %_ZN7testing7MessageD2Ev.exit117, %lpad99 - %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit117 ], [ %62, %lpad99 ] +ehcleanup111: ; preds = %_ZN7testing7MessageD2Ev.exit114, %lpad99 + %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit114 ], [ %62, %lpad99 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar83) #23 br label %ehcleanup238 -lpad124: ; preds = %if.end.i.i208, %if.then.i.i209, %if.end.i.i176, %if.then.i.i177, %if.then.i.i145 +lpad124: ; preds = %if.end.i.i186, %if.then.i.i187, %if.end.i.i154, %if.then.i.i155, %if.then.i.i123 %74 = landingpad { ptr, i32 } cleanup br label %ehcleanup208 @@ -12835,18 +12835,18 @@ if.else130: ; preds = %invoke.cont127 to label %invoke.cont133 unwind label %lpad132 invoke.cont133: ; preds = %if.else130 - %message_.i.i149 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar121, i64 0, i32 1 - %75 = load ptr, ptr %message_.i.i149, align 8 - %cmp.i.i.not.i.i150 = icmp eq ptr %75, null - br i1 %cmp.i.i.not.i.i150, label %invoke.cont136, label %cond.true.i.i151 + %message_.i.i127 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar121, i64 0, i32 1 + %75 = load ptr, ptr %message_.i.i127, align 8 + %cmp.i.i.not.i.i128 = icmp eq ptr %75, null + br i1 %cmp.i.i.not.i.i128, label %invoke.cont136, label %cond.true.i.i129 -cond.true.i.i151: ; preds = %invoke.cont133 - %call4.i.i152 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %75) #23 +cond.true.i.i129: ; preds = %invoke.cont133 + %call4.i.i130 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %75) #23 br label %invoke.cont136 -invoke.cont136: ; preds = %cond.true.i.i151, %invoke.cont133 - %cond.i.i153 = phi ptr [ %call4.i.i152, %cond.true.i.i151 ], [ @.str, %invoke.cont133 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp134, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 241, ptr noundef %cond.i.i153) +invoke.cont136: ; preds = %cond.true.i.i129, %invoke.cont133 + %cond.i.i131 = phi ptr [ %call4.i.i130, %cond.true.i.i129 ], [ @.str, %invoke.cont133 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp134, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 241, ptr noundef %cond.i.i131) to label %invoke.cont138 unwind label %lpad135 invoke.cont138: ; preds = %invoke.cont136 @@ -12856,17 +12856,17 @@ invoke.cont138: ; preds = %invoke.cont136 invoke.cont140: ; preds = %invoke.cont138 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp134) #23 %76 = load ptr, ptr %ref.tmp131, align 8 - %cmp.not.i.i155 = icmp eq ptr %76, null - br i1 %cmp.not.i.i155, label %_ZN7testing7MessageD2Ev.exit159, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 + %cmp.not.i.i133 = icmp eq ptr %76, null + br i1 %cmp.not.i.i133, label %_ZN7testing7MessageD2Ev.exit137, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i134 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156: ; preds = %invoke.cont140 - %vtable.i.i.i157 = load ptr, ptr %76, align 8 - %vfn.i.i.i158 = getelementptr inbounds ptr, ptr %vtable.i.i.i157, i64 1 - %77 = load ptr, ptr %vfn.i.i.i158, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i134: ; preds = %invoke.cont140 + %vtable.i.i.i135 = load ptr, ptr %76, align 8 + %vfn.i.i.i136 = getelementptr inbounds ptr, ptr %vtable.i.i.i135, i64 1 + %77 = load ptr, ptr %vfn.i.i.i136, align 8 call void %77(ptr noundef nonnull align 8 dereferenceable(128) %76) #23 - br label %_ZN7testing7MessageD2Ev.exit159 + br label %_ZN7testing7MessageD2Ev.exit137 -_ZN7testing7MessageD2Ev.exit159: ; preds = %invoke.cont140, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 +_ZN7testing7MessageD2Ev.exit137: ; preds = %invoke.cont140, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i134 store ptr null, ptr %ref.tmp131, align 8 br label %if.end143 @@ -12889,61 +12889,61 @@ lpad139: ; preds = %invoke.cont138 ehcleanup142: ; preds = %lpad139, %lpad135 %.pn14 = phi { ptr, i32 } [ %80, %lpad139 ], [ %79, %lpad135 ] %81 = load ptr, ptr %ref.tmp131, align 8 - %cmp.not.i.i160 = icmp eq ptr %81, null - br i1 %cmp.not.i.i160, label %_ZN7testing7MessageD2Ev.exit164, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 + %cmp.not.i.i138 = icmp eq ptr %81, null + br i1 %cmp.not.i.i138, label %_ZN7testing7MessageD2Ev.exit142, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161: ; preds = %ehcleanup142 - %vtable.i.i.i162 = load ptr, ptr %81, align 8 - %vfn.i.i.i163 = getelementptr inbounds ptr, ptr %vtable.i.i.i162, i64 1 - %82 = load ptr, ptr %vfn.i.i.i163, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139: ; preds = %ehcleanup142 + %vtable.i.i.i140 = load ptr, ptr %81, align 8 + %vfn.i.i.i141 = getelementptr inbounds ptr, ptr %vtable.i.i.i140, i64 1 + %82 = load ptr, ptr %vfn.i.i.i141, align 8 call void %82(ptr noundef nonnull align 8 dereferenceable(128) %81) #23 - br label %_ZN7testing7MessageD2Ev.exit164 + br label %_ZN7testing7MessageD2Ev.exit142 -_ZN7testing7MessageD2Ev.exit164: ; preds = %ehcleanup142, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 +_ZN7testing7MessageD2Ev.exit142: ; preds = %ehcleanup142, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i139 store ptr null, ptr %ref.tmp131, align 8 br label %ehcleanup144 -if.end143: ; preds = %invoke.cont127, %_ZN7testing7MessageD2Ev.exit159 - %message_.i165 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar121, i64 0, i32 1 - %83 = load ptr, ptr %message_.i165, align 8 - %cmp.not.i.i166 = icmp eq ptr %83, null - br i1 %cmp.not.i.i166, label %invoke.cont148, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167 +if.end143: ; preds = %invoke.cont127, %_ZN7testing7MessageD2Ev.exit137 + %message_.i143 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar121, i64 0, i32 1 + %83 = load ptr, ptr %message_.i143, align 8 + %cmp.not.i.i144 = icmp eq ptr %83, null + br i1 %cmp.not.i.i144, label %invoke.cont148, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167: ; preds = %if.end143 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145: ; preds = %if.end143 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 call void @_ZdlPv(ptr noundef nonnull %83) #24 br label %invoke.cont148 -invoke.cont148: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167, %if.end143 - store ptr null, ptr %message_.i165, align 8 +invoke.cont148: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145, %if.end143 + store ptr null, ptr %message_.i143, align 8 store i32 4, ptr %ref.tmp146, align 4 - %84 = load ptr, ptr %_M_finish.i.i.i.i133, align 8 + %84 = load ptr, ptr %_M_finish.i.i.i280, align 8 %85 = load ptr, ptr %dist113, align 8 - %sub.ptr.lhs.cast.i.i.i170 = ptrtoint ptr %84 to i64 - %sub.ptr.rhs.cast.i.i.i171 = ptrtoint ptr %85 to i64 - %sub.ptr.sub.i.i.i172 = sub i64 %sub.ptr.lhs.cast.i.i.i170, %sub.ptr.rhs.cast.i.i.i171 - %sub.ptr.div.i.i.i173 = ashr exact i64 %sub.ptr.sub.i.i.i172, 3 - %sub.i.i = add nsw i64 %sub.ptr.div.i.i.i173, -1 + %sub.ptr.lhs.cast.i.i.i148 = ptrtoint ptr %84 to i64 + %sub.ptr.rhs.cast.i.i.i149 = ptrtoint ptr %85 to i64 + %sub.ptr.sub.i.i.i150 = sub i64 %sub.ptr.lhs.cast.i.i.i148, %sub.ptr.rhs.cast.i.i.i149 + %sub.ptr.div.i.i.i151 = ashr exact i64 %sub.ptr.sub.i.i.i150, 3 + %sub.i.i = add nsw i64 %sub.ptr.div.i.i.i151, -1 store i64 %sub.i.i, ptr %ref.tmp147, align 8 - %cmp.i.i175 = icmp eq i64 %sub.i.i, 4 - br i1 %cmp.i.i175, label %if.then.i.i177, label %if.end.i.i176 + %cmp.i.i153 = icmp eq i64 %sub.i.i, 4 + br i1 %cmp.i.i153, label %if.then.i.i155, label %if.end.i.i154 -if.then.i.i177: ; preds = %invoke.cont148 +if.then.i.i155: ; preds = %invoke.cont148 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar145) to label %invoke.cont150 unwind label %lpad124 -if.end.i.i176: ; preds = %invoke.cont148 +if.end.i.i154: ; preds = %invoke.cont148 invoke void @_ZN7testing8internal18CmpHelperEQFailureIilEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar145, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.78, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp146, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp147) to label %invoke.cont150 unwind label %lpad124 -invoke.cont150: ; preds = %if.then.i.i177, %if.end.i.i176 +invoke.cont150: ; preds = %if.then.i.i155, %if.end.i.i154 %86 = load i8, ptr %gtest_ar145, align 8 %87 = and i8 %86, 1 - %tobool.i181.not = icmp eq i8 %87, 0 - br i1 %tobool.i181.not, label %if.else153, label %if.end166 + %tobool.i159.not = icmp eq i8 %87, 0 + br i1 %tobool.i159.not, label %if.else153, label %if.end166 -ehcleanup144: ; preds = %_ZN7testing7MessageD2Ev.exit164, %lpad132 - %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit164 ], [ %78, %lpad132 ] +ehcleanup144: ; preds = %_ZN7testing7MessageD2Ev.exit142, %lpad132 + %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit142 ], [ %78, %lpad132 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar121) #23 br label %ehcleanup208 @@ -12952,18 +12952,18 @@ if.else153: ; preds = %invoke.cont150 to label %invoke.cont156 unwind label %lpad155 invoke.cont156: ; preds = %if.else153 - %message_.i.i182 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar145, i64 0, i32 1 - %88 = load ptr, ptr %message_.i.i182, align 8 - %cmp.i.i.not.i.i183 = icmp eq ptr %88, null - br i1 %cmp.i.i.not.i.i183, label %invoke.cont159, label %cond.true.i.i184 + %message_.i.i160 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar145, i64 0, i32 1 + %88 = load ptr, ptr %message_.i.i160, align 8 + %cmp.i.i.not.i.i161 = icmp eq ptr %88, null + br i1 %cmp.i.i.not.i.i161, label %invoke.cont159, label %cond.true.i.i162 -cond.true.i.i184: ; preds = %invoke.cont156 - %call4.i.i185 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %88) #23 +cond.true.i.i162: ; preds = %invoke.cont156 + %call4.i.i163 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %88) #23 br label %invoke.cont159 -invoke.cont159: ; preds = %cond.true.i.i184, %invoke.cont156 - %cond.i.i186 = phi ptr [ %call4.i.i185, %cond.true.i.i184 ], [ @.str, %invoke.cont156 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp157, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 242, ptr noundef %cond.i.i186) +invoke.cont159: ; preds = %cond.true.i.i162, %invoke.cont156 + %cond.i.i164 = phi ptr [ %call4.i.i163, %cond.true.i.i162 ], [ @.str, %invoke.cont156 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp157, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 242, ptr noundef %cond.i.i164) to label %invoke.cont161 unwind label %lpad158 invoke.cont161: ; preds = %invoke.cont159 @@ -12973,17 +12973,17 @@ invoke.cont161: ; preds = %invoke.cont159 invoke.cont163: ; preds = %invoke.cont161 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp157) #23 %89 = load ptr, ptr %ref.tmp154, align 8 - %cmp.not.i.i188 = icmp eq ptr %89, null - br i1 %cmp.not.i.i188, label %_ZN7testing7MessageD2Ev.exit192, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 + %cmp.not.i.i166 = icmp eq ptr %89, null + br i1 %cmp.not.i.i166, label %_ZN7testing7MessageD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189: ; preds = %invoke.cont163 - %vtable.i.i.i190 = load ptr, ptr %89, align 8 - %vfn.i.i.i191 = getelementptr inbounds ptr, ptr %vtable.i.i.i190, i64 1 - %90 = load ptr, ptr %vfn.i.i.i191, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167: ; preds = %invoke.cont163 + %vtable.i.i.i168 = load ptr, ptr %89, align 8 + %vfn.i.i.i169 = getelementptr inbounds ptr, ptr %vtable.i.i.i168, i64 1 + %90 = load ptr, ptr %vfn.i.i.i169, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit192 + br label %_ZN7testing7MessageD2Ev.exit170 -_ZN7testing7MessageD2Ev.exit192: ; preds = %invoke.cont163, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 +_ZN7testing7MessageD2Ev.exit170: ; preds = %invoke.cont163, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167 store ptr null, ptr %ref.tmp154, align 8 br label %if.end166 @@ -13006,190 +13006,190 @@ lpad162: ; preds = %invoke.cont161 ehcleanup165: ; preds = %lpad162, %lpad158 %.pn17 = phi { ptr, i32 } [ %93, %lpad162 ], [ %92, %lpad158 ] %94 = load ptr, ptr %ref.tmp154, align 8 - %cmp.not.i.i193 = icmp eq ptr %94, null - br i1 %cmp.not.i.i193, label %_ZN7testing7MessageD2Ev.exit197, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i194 + %cmp.not.i.i171 = icmp eq ptr %94, null + br i1 %cmp.not.i.i171, label %_ZN7testing7MessageD2Ev.exit175, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i194: ; preds = %ehcleanup165 - %vtable.i.i.i195 = load ptr, ptr %94, align 8 - %vfn.i.i.i196 = getelementptr inbounds ptr, ptr %vtable.i.i.i195, i64 1 - %95 = load ptr, ptr %vfn.i.i.i196, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172: ; preds = %ehcleanup165 + %vtable.i.i.i173 = load ptr, ptr %94, align 8 + %vfn.i.i.i174 = getelementptr inbounds ptr, ptr %vtable.i.i.i173, i64 1 + %95 = load ptr, ptr %vfn.i.i.i174, align 8 call void %95(ptr noundef nonnull align 8 dereferenceable(128) %94) #23 - br label %_ZN7testing7MessageD2Ev.exit197 + br label %_ZN7testing7MessageD2Ev.exit175 -_ZN7testing7MessageD2Ev.exit197: ; preds = %ehcleanup165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i194 +_ZN7testing7MessageD2Ev.exit175: ; preds = %ehcleanup165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172 store ptr null, ptr %ref.tmp154, align 8 br label %ehcleanup167 -if.end166: ; preds = %invoke.cont150, %_ZN7testing7MessageD2Ev.exit192 - %message_.i198 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar145, i64 0, i32 1 - %96 = load ptr, ptr %message_.i198, align 8 - %cmp.not.i.i199 = icmp eq ptr %96, null - br i1 %cmp.not.i.i199, label %_ZN7testing15AssertionResultD2Ev.exit201, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i200 +if.end166: ; preds = %invoke.cont150, %_ZN7testing7MessageD2Ev.exit170 + %message_.i176 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar145, i64 0, i32 1 + %96 = load ptr, ptr %message_.i176, align 8 + %cmp.not.i.i177 = icmp eq ptr %96, null + br i1 %cmp.not.i.i177, label %_ZN7testing15AssertionResultD2Ev.exit179, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i200: ; preds = %if.end166 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178: ; preds = %if.end166 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #23 call void @_ZdlPv(ptr noundef nonnull %96) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit201 + br label %_ZN7testing15AssertionResultD2Ev.exit179 -_ZN7testing15AssertionResultD2Ev.exit201: ; preds = %if.end166, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i200 - store ptr null, ptr %message_.i198, align 8 +_ZN7testing15AssertionResultD2Ev.exit179: ; preds = %if.end166, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178 + store ptr null, ptr %message_.i176, align 8 %97 = load ptr, ptr %output, align 8 %98 = load ptr, ptr %_M_finish.i.i7.i, align 8 - %cmp.i203.not359 = icmp eq ptr %97, %98 - br i1 %cmp.i203.not359, label %for.end184.thread, label %for.body177 + %cmp.i181.not366 = icmp eq ptr %97, %98 + br i1 %cmp.i181.not366, label %for.end184.thread, label %for.body177 -for.end184.thread: ; preds = %_ZN7testing15AssertionResultD2Ev.exit201 +for.end184.thread: ; preds = %_ZN7testing15AssertionResultD2Ev.exit179 store i32 12, ptr %ref.tmp186, align 4 store i64 0, ptr %ref.tmp187, align 8 - br label %if.end.i.i208 + br label %if.end.i.i186 -for.body177: ; preds = %_ZN7testing15AssertionResultD2Ev.exit201, %invoke.cont180 - %urbg.sroa.0.1361 = phi i64 [ %inc.i.i.i.i.i.i307, %invoke.cont180 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit201 ] - %__begin2169.sroa.0.0360 = phi ptr [ %incdec.ptr.i205, %invoke.cont180 ], [ %97, %_ZN7testing15AssertionResultD2Ev.exit201 ] - %99 = load ptr, ptr %_M_finish.i.i.i.i133, align 8 +for.body177: ; preds = %_ZN7testing15AssertionResultD2Ev.exit179, %invoke.cont180 + %urbg.sroa.0.1368 = phi i64 [ %inc.i.i.i.i.i.i314, %invoke.cont180 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit179 ] + %__begin2169.sroa.0.0367 = phi ptr [ %incdec.ptr.i183, %invoke.cont180 ], [ %97, %_ZN7testing15AssertionResultD2Ev.exit179 ] + %99 = load ptr, ptr %_M_finish.i.i.i280, align 8 %100 = load ptr, ptr %dist113, align 8 - %sub.ptr.lhs.cast.i.i.i283 = ptrtoint ptr %99 to i64 - %sub.ptr.rhs.cast.i.i.i284 = ptrtoint ptr %100 to i64 - %sub.ptr.sub.i.i.i285 = sub i64 %sub.ptr.lhs.cast.i.i.i283, %sub.ptr.rhs.cast.i.i.i284 - %sub.ptr.div.i.i.i286 = ashr exact i64 %sub.ptr.sub.i.i.i285, 3 - %inc.i.i.i.i.i.i.i288 = add i64 %urbg.sroa.0.1361, 1 - %rem.i.i.i.i.i.i.i294 = urem i64 %urbg.sroa.0.1361, 12 - %add.ptr.i.i.i.i.i.i.i.i295 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 %rem.i.i.i.i.i.i.i294 - %101 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i295, align 8 - %102 = call i64 @llvm.ctpop.i64(i64 %sub.ptr.div.i.i.i286), !range !447 - %cmp.i.i.i.i296 = icmp ult i64 %102, 2 - br i1 %cmp.i.i.i.i296, label %if.then.i.i.i.i331, label %if.end.i.i.i.i297 - -if.then.i.i.i.i331: ; preds = %for.body177 - %sub.i.i332 = add nsw i64 %sub.ptr.div.i.i.i286, -1 - %and2.i.i.i.i = and i64 %sub.i.i332, %101 + %sub.ptr.lhs.cast.i.i.i290 = ptrtoint ptr %99 to i64 + %sub.ptr.rhs.cast.i.i.i291 = ptrtoint ptr %100 to i64 + %sub.ptr.sub.i.i.i292 = sub i64 %sub.ptr.lhs.cast.i.i.i290, %sub.ptr.rhs.cast.i.i.i291 + %sub.ptr.div.i.i.i293 = ashr exact i64 %sub.ptr.sub.i.i.i292, 3 + %inc.i.i.i.i.i.i.i295 = add i64 %urbg.sroa.0.1368, 1 + %rem.i.i.i.i.i.i.i301 = urem i64 %urbg.sroa.0.1368, 12 + %add.ptr.i.i.i.i.i.i.i.i302 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 %rem.i.i.i.i.i.i.i301 + %101 = load i64, ptr %add.ptr.i.i.i.i.i.i.i.i302, align 8 + %102 = call i64 @llvm.ctpop.i64(i64 %sub.ptr.div.i.i.i293), !range !447 + %cmp.i.i.i.i303 = icmp ult i64 %102, 2 + br i1 %cmp.i.i.i.i303, label %if.then.i.i.i.i338, label %if.end.i.i.i.i304 + +if.then.i.i.i.i338: ; preds = %for.body177 + %sub.i.i339 = add nsw i64 %sub.ptr.div.i.i.i293, -1 + %and2.i.i.i.i = and i64 %sub.i.i339, %101 br label %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i -if.end.i.i.i.i297: ; preds = %for.body177 +if.end.i.i.i.i304: ; preds = %for.body177 %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i = zext i64 %101 to i128 - %coerce2.sroa.0.0.insert.ext.i.i.i.i.i.i = zext i64 %sub.ptr.div.i.i.i286 to i128 + %coerce2.sroa.0.0.insert.ext.i.i.i.i.i.i = zext i64 %sub.ptr.div.i.i.i293 to i128 %mul.i.i.i.i.i.i = mul nuw i128 %coerce2.sroa.0.0.insert.ext.i.i.i.i.i.i, %coerce.sroa.0.0.insert.ext.i.i.i.i.i.i %coerce3.sroa.0.0.extract.trunc.i.i.i.i.i.i = trunc i128 %mul.i.i.i.i.i.i to i64 %coerce3.sroa.2.0.extract.shift.i.i.i.i.i.i = lshr i128 %mul.i.i.i.i.i.i, 64 %coerce3.sroa.2.0.extract.trunc.i.i.i.i.i.i = trunc i128 %coerce3.sroa.2.0.extract.shift.i.i.i.i.i.i to i64 - %cmp5.i.i.i.i298 = icmp ugt i64 %sub.ptr.div.i.i.i286, %coerce3.sroa.0.0.extract.trunc.i.i.i.i.i.i - br i1 %cmp5.i.i.i.i298, label %if.then6.i.i.i.i324, label %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i - -if.then6.i.i.i.i324: ; preds = %if.end.i.i.i.i297 - %add8.i.i.i.i325 = sub nsw i64 0, %sub.ptr.div.i.i.i286 - %rem.i.i.i.i326 = urem i64 %add8.i.i.i.i325, %sub.ptr.div.i.i.i286 - %cmp1133.i.i.i.i = icmp ugt i64 %rem.i.i.i.i326, %coerce3.sroa.0.0.extract.trunc.i.i.i.i.i.i - br i1 %cmp1133.i.i.i.i, label %while.body.i.i.i.i327, label %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i - -while.body.i.i.i.i327: ; preds = %if.then6.i.i.i.i324, %while.body.i.i.i.i327 - %inc.i.i.i163234.i.i.i.i = phi i64 [ %inc.i.i.i16.i.i.i.i328, %while.body.i.i.i.i327 ], [ %inc.i.i.i.i.i.i.i288, %if.then6.i.i.i.i324 ] - %inc.i.i.i16.i.i.i.i328 = add i64 %inc.i.i.i163234.i.i.i.i, 1 - %rem.i.i.i22.i.i.i.i329 = urem i64 %inc.i.i.i163234.i.i.i.i, 12 - %add.ptr.i.i.i.i23.i.i.i.i330 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 %rem.i.i.i22.i.i.i.i329 - %103 = load i64, ptr %add.ptr.i.i.i.i23.i.i.i.i330, align 8 + %cmp5.i.i.i.i305 = icmp ugt i64 %sub.ptr.div.i.i.i293, %coerce3.sroa.0.0.extract.trunc.i.i.i.i.i.i + br i1 %cmp5.i.i.i.i305, label %if.then6.i.i.i.i331, label %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i + +if.then6.i.i.i.i331: ; preds = %if.end.i.i.i.i304 + %add8.i.i.i.i332 = sub nsw i64 0, %sub.ptr.div.i.i.i293 + %rem.i.i.i.i333 = urem i64 %add8.i.i.i.i332, %sub.ptr.div.i.i.i293 + %cmp1133.i.i.i.i = icmp ugt i64 %rem.i.i.i.i333, %coerce3.sroa.0.0.extract.trunc.i.i.i.i.i.i + br i1 %cmp1133.i.i.i.i, label %while.body.i.i.i.i334, label %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i + +while.body.i.i.i.i334: ; preds = %if.then6.i.i.i.i331, %while.body.i.i.i.i334 + %inc.i.i.i163234.i.i.i.i = phi i64 [ %inc.i.i.i16.i.i.i.i335, %while.body.i.i.i.i334 ], [ %inc.i.i.i.i.i.i.i295, %if.then6.i.i.i.i331 ] + %inc.i.i.i16.i.i.i.i335 = add i64 %inc.i.i.i163234.i.i.i.i, 1 + %rem.i.i.i22.i.i.i.i336 = urem i64 %inc.i.i.i163234.i.i.i.i, 12 + %add.ptr.i.i.i.i23.i.i.i.i337 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 %rem.i.i.i22.i.i.i.i336 + %103 = load i64, ptr %add.ptr.i.i.i.i23.i.i.i.i337, align 8 %coerce.sroa.0.0.insert.ext.i.i24.i.i.i.i = zext i64 %103 to i128 %mul.i.i26.i.i.i.i = mul nuw i128 %coerce.sroa.0.0.insert.ext.i.i24.i.i.i.i, %coerce2.sroa.0.0.insert.ext.i.i.i.i.i.i %coerce3.sroa.0.0.extract.trunc.i.i27.i.i.i.i = trunc i128 %mul.i.i26.i.i.i.i to i64 - %cmp11.i.i.i.i = icmp ugt i64 %rem.i.i.i.i326, %coerce3.sroa.0.0.extract.trunc.i.i27.i.i.i.i - br i1 %cmp11.i.i.i.i, label %while.body.i.i.i.i327, label %while.cond.return.loopexit_crit_edge.i.i.i.i, !llvm.loop !448 + %cmp11.i.i.i.i = icmp ugt i64 %rem.i.i.i.i333, %coerce3.sroa.0.0.extract.trunc.i.i27.i.i.i.i + br i1 %cmp11.i.i.i.i, label %while.body.i.i.i.i334, label %while.cond.return.loopexit_crit_edge.i.i.i.i, !llvm.loop !448 -while.cond.return.loopexit_crit_edge.i.i.i.i: ; preds = %while.body.i.i.i.i327 +while.cond.return.loopexit_crit_edge.i.i.i.i: ; preds = %while.body.i.i.i.i334 %coerce3.sroa.2.0.extract.shift.i.i28.le.i.i.i.i = lshr i128 %mul.i.i26.i.i.i.i, 64 %coerce3.sroa.2.0.extract.trunc.i.i29.le.i.i.i.i = trunc i128 %coerce3.sroa.2.0.extract.shift.i.i28.le.i.i.i.i to i64 br label %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i -_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i: ; preds = %while.cond.return.loopexit_crit_edge.i.i.i.i, %if.then6.i.i.i.i324, %if.end.i.i.i.i297, %if.then.i.i.i.i331 - %g.promoted.i.i.i299 = phi i64 [ %inc.i.i.i.i.i.i.i288, %if.then.i.i.i.i331 ], [ %inc.i.i.i.i.i.i.i288, %if.end.i.i.i.i297 ], [ %inc.i.i.i16.i.i.i.i328, %while.cond.return.loopexit_crit_edge.i.i.i.i ], [ %inc.i.i.i.i.i.i.i288, %if.then6.i.i.i.i324 ] - %retval.0.i.i.i.i = phi i64 [ %and2.i.i.i.i, %if.then.i.i.i.i331 ], [ %coerce3.sroa.2.0.extract.trunc.i.i.i.i.i.i, %if.end.i.i.i.i297 ], [ %coerce3.sroa.2.0.extract.trunc.i.i29.le.i.i.i.i, %while.cond.return.loopexit_crit_edge.i.i.i.i ], [ %coerce3.sroa.2.0.extract.trunc.i.i.i.i.i.i, %if.then6.i.i.i.i324 ] - %104 = load ptr, ptr %q_.i.i134, align 8 - %add.ptr.i.i301 = getelementptr inbounds %"struct.std::pair", ptr %104, i64 %retval.0.i.i.i.i - %105 = load double, ptr %add.ptr.i.i301, align 8 - br label %while.body.i.i.i302 - -while.body.i.i.i302: ; preds = %if.end.i.i.i316, %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i - %inc.i.i.i8.i.i.i303 = phi i64 [ %g.promoted.i.i.i299, %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i ], [ %inc.i.i.i.i.i.i307, %if.end.i.i.i316 ] - %p.addr.0.i.i.i304 = phi double [ %105, %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i ], [ %mul6.i.i.i320, %if.end.i.i.i316 ] - %mul.i.i.i305 = fmul double %p.addr.0.i.i.i304, 0x41F0000000000000 - %conv.i.i.i306 = fptosi double %mul.i.i.i305 to i64 - %inc.i.i.i.i.i.i307 = add i64 %inc.i.i.i8.i.i.i303, 1 - %rem.i.i.i.i.i.i308 = urem i64 %inc.i.i.i8.i.i.i303, 12 - %add.ptr.i.i.i.i.i.i.i309 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 %rem.i.i.i.i.i.i308 - %106 = load i64, ptr %add.ptr.i.i.i.i.i.i.i309, align 8 - %conv1.i.i.i310 = and i64 %106, 4294967295 - %cmp.not.i.i.i311 = icmp eq i64 %conv1.i.i.i310, %conv.i.i.i306 - br i1 %cmp.not.i.i.i311, label %if.end.i.i.i316, label %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i312 - -if.end.i.i.i316: ; preds = %while.body.i.i.i302 - %conv5.i.i.i317 = uitofp i64 %conv.i.i.i306 to double - %div.i.i.i318 = fmul double %conv5.i.i.i317, 0x3DF0000000000000 - %sub.i.i.i319 = fsub double %p.addr.0.i.i.i304, %div.i.i.i318 - %mul6.i.i.i320 = fmul double %sub.i.i.i319, 0x41F0000000000000 - %cmp7.i.i.i321 = fcmp oeq double %mul6.i.i.i320, 0.000000e+00 - br i1 %cmp7.i.i.i321, label %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i322, label %while.body.i.i.i302, !llvm.loop !446 - -_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i322: ; preds = %if.end.i.i.i316 - %second6.i323 = getelementptr inbounds %"struct.std::pair", ptr %104, i64 %retval.0.i.i.i.i, i32 1 - %107 = load i64, ptr %second6.i323, align 8 +_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i: ; preds = %while.cond.return.loopexit_crit_edge.i.i.i.i, %if.then6.i.i.i.i331, %if.end.i.i.i.i304, %if.then.i.i.i.i338 + %g.promoted.i.i.i306 = phi i64 [ %inc.i.i.i.i.i.i.i295, %if.then.i.i.i.i338 ], [ %inc.i.i.i.i.i.i.i295, %if.end.i.i.i.i304 ], [ %inc.i.i.i16.i.i.i.i335, %while.cond.return.loopexit_crit_edge.i.i.i.i ], [ %inc.i.i.i.i.i.i.i295, %if.then6.i.i.i.i331 ] + %retval.0.i.i.i.i = phi i64 [ %and2.i.i.i.i, %if.then.i.i.i.i338 ], [ %coerce3.sroa.2.0.extract.trunc.i.i.i.i.i.i, %if.end.i.i.i.i304 ], [ %coerce3.sroa.2.0.extract.trunc.i.i29.le.i.i.i.i, %while.cond.return.loopexit_crit_edge.i.i.i.i ], [ %coerce3.sroa.2.0.extract.trunc.i.i.i.i.i.i, %if.then6.i.i.i.i331 ] + %104 = load ptr, ptr %q_.i281, align 8 + %add.ptr.i.i308 = getelementptr inbounds %"struct.std::pair", ptr %104, i64 %retval.0.i.i.i.i + %105 = load double, ptr %add.ptr.i.i308, align 8 + br label %while.body.i.i.i309 + +while.body.i.i.i309: ; preds = %if.end.i.i.i323, %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i + %inc.i.i.i8.i.i.i310 = phi i64 [ %g.promoted.i.i.i306, %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i ], [ %inc.i.i.i.i.i.i314, %if.end.i.i.i323 ] + %p.addr.0.i.i.i311 = phi double [ %105, %_ZN4absl24uniform_int_distributionIlEclINS_15random_internal13sequence_urbgEEElRT_.exit.i ], [ %mul6.i.i.i327, %if.end.i.i.i323 ] + %mul.i.i.i312 = fmul double %p.addr.0.i.i.i311, 0x41F0000000000000 + %conv.i.i.i313 = fptosi double %mul.i.i.i312 to i64 + %inc.i.i.i.i.i.i314 = add i64 %inc.i.i.i8.i.i.i310, 1 + %rem.i.i.i.i.i.i315 = urem i64 %inc.i.i.i8.i.i.i310, 12 + %add.ptr.i.i.i.i.i.i.i316 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 %rem.i.i.i.i.i.i315 + %106 = load i64, ptr %add.ptr.i.i.i.i.i.i.i316, align 8 + %conv1.i.i.i317 = and i64 %106, 4294967295 + %cmp.not.i.i.i318 = icmp eq i64 %conv1.i.i.i317, %conv.i.i.i313 + br i1 %cmp.not.i.i.i318, label %if.end.i.i.i323, label %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i319 + +if.end.i.i.i323: ; preds = %while.body.i.i.i309 + %conv5.i.i.i324 = uitofp i64 %conv.i.i.i313 to double + %div.i.i.i325 = fmul double %conv5.i.i.i324, 0x3DF0000000000000 + %sub.i.i.i326 = fsub double %p.addr.0.i.i.i311, %div.i.i.i325 + %mul6.i.i.i327 = fmul double %sub.i.i.i326, 0x41F0000000000000 + %cmp7.i.i.i328 = fcmp oeq double %mul6.i.i.i327, 0.000000e+00 + br i1 %cmp7.i.i.i328, label %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i329, label %while.body.i.i.i309, !llvm.loop !446 + +_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i329: ; preds = %if.end.i.i.i323 + %second6.i330 = getelementptr inbounds %"struct.std::pair", ptr %104, i64 %retval.0.i.i.i.i, i32 1 + %107 = load i64, ptr %second6.i330, align 8 br label %invoke.cont180 -_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i312: ; preds = %while.body.i.i.i302 - %cmp4.i.i.i313 = icmp ult i64 %conv1.i.i.i310, %conv.i.i.i306 - %second.i314 = getelementptr inbounds %"struct.std::pair", ptr %104, i64 %retval.0.i.i.i.i, i32 1 - %108 = load i64, ptr %second.i314, align 8 - %cond.fr.i315 = freeze i1 %cmp4.i.i.i313 - %spec.select.i = select i1 %cond.fr.i315, i64 %retval.0.i.i.i.i, i64 %108 +_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i319: ; preds = %while.body.i.i.i309 + %cmp4.i.i.i320 = icmp ult i64 %conv1.i.i.i317, %conv.i.i.i313 + %second.i321 = getelementptr inbounds %"struct.std::pair", ptr %104, i64 %retval.0.i.i.i.i, i32 1 + %108 = load i64, ptr %second.i321, align 8 + %cond.fr.i322 = freeze i1 %cmp4.i.i.i320 + %spec.select.i = select i1 %cond.fr.i322, i64 %retval.0.i.i.i.i, i64 %108 br label %invoke.cont180 -invoke.cont180: ; preds = %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i322, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i312 - %109 = phi i64 [ %107, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i322 ], [ %spec.select.i, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i312 ] +invoke.cont180: ; preds = %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i329, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i319 + %109 = phi i64 [ %107, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.thread.i329 ], [ %spec.select.i, %_ZN4absl22bernoulli_distributionclINS_15random_internal13sequence_urbgEEEbRT_.exit.i319 ] %conv = trunc i64 %109 to i32 - store i32 %conv, ptr %__begin2169.sroa.0.0360, align 4 - %incdec.ptr.i205 = getelementptr inbounds i32, ptr %__begin2169.sroa.0.0360, i64 1 - %cmp.i203.not = icmp eq ptr %incdec.ptr.i205, %98 - br i1 %cmp.i203.not, label %for.end184, label %for.body177 + store i32 %conv, ptr %__begin2169.sroa.0.0367, align 4 + %incdec.ptr.i183 = getelementptr inbounds i32, ptr %__begin2169.sroa.0.0367, i64 1 + %cmp.i181.not = icmp eq ptr %incdec.ptr.i183, %98 + br i1 %cmp.i181.not, label %for.end184, label %for.body177 -ehcleanup167: ; preds = %_ZN7testing7MessageD2Ev.exit197, %lpad155 - %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit197 ], [ %91, %lpad155 ] +ehcleanup167: ; preds = %_ZN7testing7MessageD2Ev.exit175, %lpad155 + %.pn17.pn = phi { ptr, i32 } [ %.pn17, %_ZN7testing7MessageD2Ev.exit175 ], [ %91, %lpad155 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar145) #23 br label %ehcleanup208 for.end184: ; preds = %invoke.cont180 store i32 12, ptr %ref.tmp186, align 4 - store i64 %inc.i.i.i.i.i.i307, ptr %ref.tmp187, align 8 - %cmp.i.i207 = icmp eq i64 %inc.i.i.i.i.i.i307, 12 - br i1 %cmp.i.i207, label %if.then.i.i209, label %if.end.i.i208 + store i64 %inc.i.i.i.i.i.i314, ptr %ref.tmp187, align 8 + %cmp.i.i185 = icmp eq i64 %inc.i.i.i.i.i.i314, 12 + br i1 %cmp.i.i185, label %if.then.i.i187, label %if.end.i.i186 -if.then.i.i209: ; preds = %for.end184 +if.then.i.i187: ; preds = %for.end184 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar185) to label %invoke.cont190 unwind label %lpad124 -if.end.i.i208: ; preds = %for.end184.thread, %for.end184 +if.end.i.i186: ; preds = %for.end184.thread, %for.end184 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar185, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.80, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp186, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp187) to label %invoke.cont190 unwind label %lpad124 -invoke.cont190: ; preds = %if.then.i.i209, %if.end.i.i208 +invoke.cont190: ; preds = %if.then.i.i187, %if.end.i.i186 %110 = load i8, ptr %gtest_ar185, align 8 %111 = and i8 %110, 1 - %tobool.i213.not = icmp eq i8 %111, 0 - br i1 %tobool.i213.not, label %if.else193, label %if.end206 + %tobool.i191.not = icmp eq i8 %111, 0 + br i1 %tobool.i191.not, label %if.else193, label %if.end206 if.else193: ; preds = %invoke.cont190 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp194) to label %invoke.cont196 unwind label %lpad195 invoke.cont196: ; preds = %if.else193 - %message_.i.i214 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar185, i64 0, i32 1 - %112 = load ptr, ptr %message_.i.i214, align 8 - %cmp.i.i.not.i.i215 = icmp eq ptr %112, null - br i1 %cmp.i.i.not.i.i215, label %invoke.cont199, label %cond.true.i.i216 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar185, i64 0, i32 1 + %112 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %112, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont199, label %cond.true.i.i194 -cond.true.i.i216: ; preds = %invoke.cont196 - %call4.i.i217 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %112) #23 +cond.true.i.i194: ; preds = %invoke.cont196 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %112) #23 br label %invoke.cont199 -invoke.cont199: ; preds = %cond.true.i.i216, %invoke.cont196 - %cond.i.i218 = phi ptr [ %call4.i.i217, %cond.true.i.i216 ], [ @.str, %invoke.cont196 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp197, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 246, ptr noundef %cond.i.i218) +invoke.cont199: ; preds = %cond.true.i.i194, %invoke.cont196 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont196 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp197, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 246, ptr noundef %cond.i.i196) to label %invoke.cont201 unwind label %lpad198 invoke.cont201: ; preds = %invoke.cont199 @@ -13199,17 +13199,17 @@ invoke.cont201: ; preds = %invoke.cont199 invoke.cont203: ; preds = %invoke.cont201 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp197) #23 %113 = load ptr, ptr %ref.tmp194, align 8 - %cmp.not.i.i220 = icmp eq ptr %113, null - br i1 %cmp.not.i.i220, label %_ZN7testing7MessageD2Ev.exit224, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221 + %cmp.not.i.i198 = icmp eq ptr %113, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221: ; preds = %invoke.cont203 - %vtable.i.i.i222 = load ptr, ptr %113, align 8 - %vfn.i.i.i223 = getelementptr inbounds ptr, ptr %vtable.i.i.i222, i64 1 - %114 = load ptr, ptr %vfn.i.i.i223, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont203 + %vtable.i.i.i200 = load ptr, ptr %113, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %114 = load ptr, ptr %vfn.i.i.i201, align 8 call void %114(ptr noundef nonnull align 8 dereferenceable(128) %113) #23 - br label %_ZN7testing7MessageD2Ev.exit224 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit224: ; preds = %invoke.cont203, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont203, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp194, align 8 br label %if.end206 @@ -13232,67 +13232,67 @@ lpad202: ; preds = %invoke.cont201 ehcleanup205: ; preds = %lpad202, %lpad198 %.pn20 = phi { ptr, i32 } [ %117, %lpad202 ], [ %116, %lpad198 ] %118 = load ptr, ptr %ref.tmp194, align 8 - %cmp.not.i.i225 = icmp eq ptr %118, null - br i1 %cmp.not.i.i225, label %_ZN7testing7MessageD2Ev.exit229, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i226 + %cmp.not.i.i203 = icmp eq ptr %118, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i226: ; preds = %ehcleanup205 - %vtable.i.i.i227 = load ptr, ptr %118, align 8 - %vfn.i.i.i228 = getelementptr inbounds ptr, ptr %vtable.i.i.i227, i64 1 - %119 = load ptr, ptr %vfn.i.i.i228, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup205 + %vtable.i.i.i205 = load ptr, ptr %118, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %119 = load ptr, ptr %vfn.i.i.i206, align 8 call void %119(ptr noundef nonnull align 8 dereferenceable(128) %118) #23 - br label %_ZN7testing7MessageD2Ev.exit229 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit229: ; preds = %ehcleanup205, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i226 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup205, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp194, align 8 br label %ehcleanup207 -if.end206: ; preds = %invoke.cont190, %_ZN7testing7MessageD2Ev.exit224 - %message_.i230 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar185, i64 0, i32 1 - %120 = load ptr, ptr %message_.i230, align 8 - %cmp.not.i.i231 = icmp eq ptr %120, null - br i1 %cmp.not.i.i231, label %_ZN7testing15AssertionResultD2Ev.exit233, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i232 +if.end206: ; preds = %invoke.cont190, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar185, i64 0, i32 1 + %120 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %120, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i232: ; preds = %if.end206 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end206 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #23 call void @_ZdlPv(ptr noundef nonnull %120) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit233 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit233: ; preds = %if.end206, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i232 - store ptr null, ptr %message_.i230, align 8 - %121 = load ptr, ptr %q_.i.i134, align 8 - %tobool.not.i.i.i.i.i235 = icmp eq ptr %121, null - br i1 %tobool.not.i.i.i.i.i235, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i237, label %if.then.i.i.i.i.i236 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end206, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %121 = load ptr, ptr %q_.i281, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %121, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i236: ; preds = %_ZN7testing15AssertionResultD2Ev.exit233 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %121) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i237 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i237: ; preds = %if.then.i.i.i.i.i236, %_ZN7testing15AssertionResultD2Ev.exit233 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %122 = load ptr, ptr %dist113, align 8 - %tobool.not.i.i.i1.i.i238 = icmp eq ptr %122, null - br i1 %tobool.not.i.i.i1.i.i238, label %invoke.cont219, label %if.then.i.i.i2.i.i239 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %122, null + br i1 %tobool.not.i.i.i1.i.i216, label %invoke.cont219, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i239: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i237 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %122) #24 br label %invoke.cont219 -invoke.cont219: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i237, %if.then.i.i.i2.i.i239 +invoke.cont219: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 store <4 x i32> , ptr %ref.tmp210, align 16 - %agg.tmp211245.sroa.7.0.ref.tmp210.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp210, i64 16 - store i32 3, ptr %agg.tmp211245.sroa.7.0.ref.tmp210.sroa_idx, align 16 - %agg.tmp211245.sroa.8.0.ref.tmp210.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp210, i64 20 - store i32 3, ptr %agg.tmp211245.sroa.8.0.ref.tmp210.sroa_idx, align 4 + %agg.tmp211223.sroa.7.0.ref.tmp210.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp210, i64 16 + store i32 3, ptr %agg.tmp211223.sroa.7.0.ref.tmp210.sroa_idx, align 16 + %agg.tmp211223.sroa.8.0.ref.tmp210.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp210, i64 20 + store i32 3, ptr %agg.tmp211223.sroa.8.0.ref.tmp210.sroa_idx, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJiiiiiiEEEEEclISt6vectorIiSaIiEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar209, ptr noundef nonnull align 4 dereferenceable(24) %ref.tmp210, ptr noundef nonnull @.str.81, ptr noundef nonnull align 8 dereferenceable(24) %output) to label %invoke.cont220 unwind label %lpad9 invoke.cont220: ; preds = %invoke.cont219 %123 = load i8, ptr %gtest_ar209, align 8 %124 = and i8 %123, 1 - %tobool.i246.not = icmp eq i8 %124, 0 - br i1 %tobool.i246.not, label %if.else223, label %if.end236 + %tobool.i224.not = icmp eq i8 %124, 0 + br i1 %tobool.i224.not, label %if.else223, label %if.end236 -ehcleanup207: ; preds = %_ZN7testing7MessageD2Ev.exit229, %lpad195 - %.pn20.pn = phi { ptr, i32 } [ %.pn20, %_ZN7testing7MessageD2Ev.exit229 ], [ %115, %lpad195 ] +ehcleanup207: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad195 + %.pn20.pn = phi { ptr, i32 } [ %.pn20, %_ZN7testing7MessageD2Ev.exit207 ], [ %115, %lpad195 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar185) #23 br label %ehcleanup208 @@ -13306,18 +13306,18 @@ if.else223: ; preds = %invoke.cont220 to label %invoke.cont226 unwind label %lpad225 invoke.cont226: ; preds = %if.else223 - %message_.i.i247 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar209, i64 0, i32 1 - %125 = load ptr, ptr %message_.i.i247, align 8 - %cmp.i.i.not.i.i248 = icmp eq ptr %125, null - br i1 %cmp.i.i.not.i.i248, label %invoke.cont229, label %cond.true.i.i249 + %message_.i.i225 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar209, i64 0, i32 1 + %125 = load ptr, ptr %message_.i.i225, align 8 + %cmp.i.i.not.i.i226 = icmp eq ptr %125, null + br i1 %cmp.i.i.not.i.i226, label %invoke.cont229, label %cond.true.i.i227 -cond.true.i.i249: ; preds = %invoke.cont226 - %call4.i.i250 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #23 +cond.true.i.i227: ; preds = %invoke.cont226 + %call4.i.i228 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #23 br label %invoke.cont229 -invoke.cont229: ; preds = %cond.true.i.i249, %invoke.cont226 - %cond.i.i251 = phi ptr [ %call4.i.i250, %cond.true.i.i249 ], [ @.str, %invoke.cont226 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp227, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 248, ptr noundef %cond.i.i251) +invoke.cont229: ; preds = %cond.true.i.i227, %invoke.cont226 + %cond.i.i229 = phi ptr [ %call4.i.i228, %cond.true.i.i227 ], [ @.str, %invoke.cont226 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp227, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 248, ptr noundef %cond.i.i229) to label %invoke.cont231 unwind label %lpad228 invoke.cont231: ; preds = %invoke.cont229 @@ -13327,17 +13327,17 @@ invoke.cont231: ; preds = %invoke.cont229 invoke.cont233: ; preds = %invoke.cont231 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp227) #23 %126 = load ptr, ptr %ref.tmp224, align 8 - %cmp.not.i.i253 = icmp eq ptr %126, null - br i1 %cmp.not.i.i253, label %_ZN7testing7MessageD2Ev.exit257, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254 + %cmp.not.i.i231 = icmp eq ptr %126, null + br i1 %cmp.not.i.i231, label %_ZN7testing7MessageD2Ev.exit235, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i232 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254: ; preds = %invoke.cont233 - %vtable.i.i.i255 = load ptr, ptr %126, align 8 - %vfn.i.i.i256 = getelementptr inbounds ptr, ptr %vtable.i.i.i255, i64 1 - %127 = load ptr, ptr %vfn.i.i.i256, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i232: ; preds = %invoke.cont233 + %vtable.i.i.i233 = load ptr, ptr %126, align 8 + %vfn.i.i.i234 = getelementptr inbounds ptr, ptr %vtable.i.i.i233, i64 1 + %127 = load ptr, ptr %vfn.i.i.i234, align 8 call void %127(ptr noundef nonnull align 8 dereferenceable(128) %126) #23 - br label %_ZN7testing7MessageD2Ev.exit257 + br label %_ZN7testing7MessageD2Ev.exit235 -_ZN7testing7MessageD2Ev.exit257: ; preds = %invoke.cont233, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254 +_ZN7testing7MessageD2Ev.exit235: ; preds = %invoke.cont233, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i232 store ptr null, ptr %ref.tmp224, align 8 br label %if.end236 @@ -13360,62 +13360,62 @@ lpad232: ; preds = %invoke.cont231 ehcleanup235: ; preds = %lpad232, %lpad228 %.pn23 = phi { ptr, i32 } [ %130, %lpad232 ], [ %129, %lpad228 ] %131 = load ptr, ptr %ref.tmp224, align 8 - %cmp.not.i.i258 = icmp eq ptr %131, null - br i1 %cmp.not.i.i258, label %_ZN7testing7MessageD2Ev.exit262, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259 + %cmp.not.i.i236 = icmp eq ptr %131, null + br i1 %cmp.not.i.i236, label %_ZN7testing7MessageD2Ev.exit240, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i237 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259: ; preds = %ehcleanup235 - %vtable.i.i.i260 = load ptr, ptr %131, align 8 - %vfn.i.i.i261 = getelementptr inbounds ptr, ptr %vtable.i.i.i260, i64 1 - %132 = load ptr, ptr %vfn.i.i.i261, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i237: ; preds = %ehcleanup235 + %vtable.i.i.i238 = load ptr, ptr %131, align 8 + %vfn.i.i.i239 = getelementptr inbounds ptr, ptr %vtable.i.i.i238, i64 1 + %132 = load ptr, ptr %vfn.i.i.i239, align 8 call void %132(ptr noundef nonnull align 8 dereferenceable(128) %131) #23 - br label %_ZN7testing7MessageD2Ev.exit262 + br label %_ZN7testing7MessageD2Ev.exit240 -_ZN7testing7MessageD2Ev.exit262: ; preds = %ehcleanup235, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259 +_ZN7testing7MessageD2Ev.exit240: ; preds = %ehcleanup235, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i237 store ptr null, ptr %ref.tmp224, align 8 br label %ehcleanup237 -if.end236: ; preds = %invoke.cont220, %_ZN7testing7MessageD2Ev.exit257 - %message_.i263 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar209, i64 0, i32 1 - %133 = load ptr, ptr %message_.i263, align 8 - %cmp.not.i.i264 = icmp eq ptr %133, null - br i1 %cmp.not.i.i264, label %_ZN7testing15AssertionResultD2Ev.exit266, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265 +if.end236: ; preds = %invoke.cont220, %_ZN7testing7MessageD2Ev.exit235 + %message_.i241 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar209, i64 0, i32 1 + %133 = load ptr, ptr %message_.i241, align 8 + %cmp.not.i.i242 = icmp eq ptr %133, null + br i1 %cmp.not.i.i242, label %_ZN7testing15AssertionResultD2Ev.exit244, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265: ; preds = %if.end236 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243: ; preds = %if.end236 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #23 call void @_ZdlPv(ptr noundef nonnull %133) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit266 + br label %_ZN7testing15AssertionResultD2Ev.exit244 -_ZN7testing15AssertionResultD2Ev.exit266: ; preds = %if.end236, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265 - store ptr null, ptr %message_.i263, align 8 +_ZN7testing15AssertionResultD2Ev.exit244: ; preds = %if.end236, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243 + store ptr null, ptr %message_.i241, align 8 %134 = load ptr, ptr %output, align 8 %tobool.not.i.i.i = icmp eq ptr %134, null br i1 %tobool.not.i.i.i, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit266 +if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit244 call void @_ZdlPv(ptr noundef nonnull %134) #24 br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit -_ZN4absl15random_internal13sequence_urbgD2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit266, %if.then.i.i.i +_ZN4absl15random_internal13sequence_urbgD2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit244, %if.then.i.i.i call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i) #24 ret void -ehcleanup237: ; preds = %_ZN7testing7MessageD2Ev.exit262, %lpad225 - %.pn23.pn = phi { ptr, i32 } [ %.pn23, %_ZN7testing7MessageD2Ev.exit262 ], [ %128, %lpad225 ] +ehcleanup237: ; preds = %_ZN7testing7MessageD2Ev.exit240, %lpad225 + %.pn23.pn = phi { ptr, i32 } [ %.pn23, %_ZN7testing7MessageD2Ev.exit240 ], [ %128, %lpad225 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar209) #23 br label %ehcleanup238 -ehcleanup238: ; preds = %lpad.i.i.i123, %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i138, %eh.resume.sink.split.i.i125, %eh.resume.sink.split.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i, %lpad9, %ehcleanup237, %ehcleanup208, %ehcleanup111, %ehcleanup82 - %.pn28.pn = phi { ptr, i32 } [ %.pn28, %ehcleanup82 ], [ %.pn26, %ehcleanup208 ], [ %.pn23.pn, %ehcleanup237 ], [ %.pn11.pn, %ehcleanup111 ], [ %0, %lpad.i.i.i ], [ %1, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i ], [ %1, %eh.resume.sink.split.i.i ], [ %7, %lpad9 ], [ %68, %lpad.i.i.i123 ], [ %69, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i138 ], [ %69, %eh.resume.sink.split.i.i125 ] +ehcleanup238: ; preds = %lpad.i.i269, %lpad.i.i255, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i285, %eh.resume.sink.split.i271, %eh.resume.sink.split.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i, %lpad9, %ehcleanup237, %ehcleanup208, %ehcleanup111, %ehcleanup82 + %.pn28.pn = phi { ptr, i32 } [ %.pn28, %ehcleanup82 ], [ %.pn26, %ehcleanup208 ], [ %.pn23.pn, %ehcleanup237 ], [ %.pn11.pn, %ehcleanup111 ], [ %0, %lpad.i.i255 ], [ %1, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i ], [ %1, %eh.resume.sink.split.i ], [ %7, %lpad9 ], [ %68, %lpad.i.i269 ], [ %69, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i285 ], [ %69, %eh.resume.sink.split.i271 ] %135 = load ptr, ptr %output, align 8 - %tobool.not.i.i.i269 = icmp eq ptr %135, null - br i1 %tobool.not.i.i.i269, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit275, label %if.then.i.i.i270 + %tobool.not.i.i.i247 = icmp eq ptr %135, null + br i1 %tobool.not.i.i.i247, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit253, label %if.then.i.i.i248 -if.then.i.i.i270: ; preds = %ehcleanup238 +if.then.i.i.i248: ; preds = %ehcleanup238 call void @_ZdlPv(ptr noundef nonnull %135) #24 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit275 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit253 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit275: ; preds = %if.then.i.i.i270, %ehcleanup238, %lpad - %.pn28.pn.pn = phi { ptr, i32 } [ %6, %lpad ], [ %.pn28.pn, %ehcleanup238 ], [ %.pn28.pn, %if.then.i.i.i270 ] +_ZN4absl15random_internal13sequence_urbgD2Ev.exit253: ; preds = %if.then.i.i.i248, %ehcleanup238, %lpad + %.pn28.pn.pn = phi { ptr, i32 } [ %6, %lpad ], [ %.pn28.pn, %ehcleanup238 ], [ %.pn28.pn, %if.then.i.i.i248 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i) #24 resume { ptr, i32 } %.pn28.pn.pn } @@ -16703,7 +16703,7 @@ if.then: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 %2 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i = icmp eq ptr %0, %2 - br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i, label %if.then.i.i + br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store double 1.000000e+00, ptr %0, align 8 @@ -16712,18 +16712,18 @@ if.then.i.i: ; preds = %if.then store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 br label %_ZNSt6vectorIdSaIdEE9push_backEOd.exit -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then %call5.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #25 store double 1.000000e+00, ptr %call5.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i store ptr %call5.i.i.i.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_end_of_storage.i.i, align 8 @@ -16771,7 +16771,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els tail call void @llvm.assume(i1 %cmp.not.i.i.i) %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 4 %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #25 - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i store double 1.000000e+00, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -17346,65 +17346,65 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %before, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store ptr %call5.i.i.i.i2.i.i.i, ptr %before, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 3 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i33 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i33, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i233 + +call5.i.i.i.i.noexc.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store ptr %call5.i.i.i.i2.i.i, ptr %before, align 8 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 24 + %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 + store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) + %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 + store ptr %add.ptr.i1.i.i, ptr %_M_finish.i.i.i, align 8 + %q_.i235 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i235, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIaE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %before) - to label %invoke.cont22 unwind label %lpad2.i.i + to label %invoke.cont22 unwind label %lpad2.i -lpad.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +lpad.i.i233: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup173 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %16 = landingpad { ptr, i32 } cleanup - %17 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, label %if.then.i.i.i3.i.i + %17 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %17) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236: ; preds = %if.then.i.i.i3.i, %lpad2.i %18 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup173, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup173, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 call void @_ZdlPv(ptr noundef nonnull %18) #24 br label %ehcleanup173 -invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i.i +invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i store double 0.000000e+00, ptr %s, align 8 %19 = load ptr, ptr %before, align 8 - %20 = load ptr, ptr %_M_finish.i.i.i.i, align 8 - %cmp.i.not243 = icmp eq ptr %19, %20 - br i1 %cmp.i.not243, label %for.end.thread, label %for.body + %20 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.not244 = icmp eq ptr %19, %20 + br i1 %cmp.i.not244, label %for.end.thread, label %for.body for.end.thread: ; preds = %invoke.cont22 store double 1.000000e+00, ptr %ref.tmp31, align 8 br label %if.end.i.i for.body: ; preds = %invoke.cont22, %for.body - %__begin0.sroa.0.0245 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] - %add242244 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] - %21 = load double, ptr %__begin0.sroa.0.0245, align 8 - %add = fadd double %21, %add242244 + %__begin0.sroa.0.0246 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] + %add243245 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] + %21 = load double, ptr %__begin0.sroa.0.0246, align 8 + %add = fadd double %21, %add243245 store double %add, ptr %s, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0245, i64 1 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0246, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %20 br i1 %cmp.i.not, label %for.end, label %for.body @@ -17434,26 +17434,26 @@ if.end.i.i: ; preds = %for.end.thread, %fo invoke.cont32: ; preds = %if.then.i.i, %if.end.i.i %23 = load i8, ptr %gtest_ar30, align 8 %24 = and i8 %23, 1 - %tobool.i36.not = icmp eq i8 %24, 0 - br i1 %tobool.i36.not, label %if.else35, label %if.end48 + %tobool.i33.not = icmp eq i8 %24, 0 + br i1 %tobool.i33.not, label %if.else35, label %if.end48 if.else35: ; preds = %invoke.cont32 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) to label %invoke.cont38 unwind label %lpad37 invoke.cont38: ; preds = %if.else35 - %message_.i.i37 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %25 = load ptr, ptr %message_.i.i37, align 8 - %cmp.i.i.not.i.i38 = icmp eq ptr %25, null - br i1 %cmp.i.i.not.i.i38, label %invoke.cont41, label %cond.true.i.i39 + %message_.i.i34 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %25 = load ptr, ptr %message_.i.i34, align 8 + %cmp.i.i.not.i.i35 = icmp eq ptr %25, null + br i1 %cmp.i.i.not.i.i35, label %invoke.cont41, label %cond.true.i.i36 -cond.true.i.i39: ; preds = %invoke.cont38 - %call4.i.i40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 +cond.true.i.i36: ; preds = %invoke.cont38 + %call4.i.i37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 br label %invoke.cont41 -invoke.cont41: ; preds = %cond.true.i.i39, %invoke.cont38 - %cond.i.i41 = phi ptr [ %call4.i.i40, %cond.true.i.i39 ], [ @.str, %invoke.cont38 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i41) +invoke.cont41: ; preds = %cond.true.i.i36, %invoke.cont38 + %cond.i.i38 = phi ptr [ %call4.i.i37, %cond.true.i.i36 ], [ @.str, %invoke.cont38 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i38) to label %invoke.cont43 unwind label %lpad40 invoke.cont43: ; preds = %invoke.cont41 @@ -17463,17 +17463,17 @@ invoke.cont43: ; preds = %invoke.cont41 invoke.cont45: ; preds = %invoke.cont43 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #23 %26 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i43 = icmp eq ptr %26, null - br i1 %cmp.not.i.i43, label %_ZN7testing7MessageD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 + %cmp.not.i.i40 = icmp eq ptr %26, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44: ; preds = %invoke.cont45 - %vtable.i.i.i45 = load ptr, ptr %26, align 8 - %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 - %27 = load ptr, ptr %vfn.i.i.i46, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %invoke.cont45 + %vtable.i.i.i42 = load ptr, ptr %26, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %27 = load ptr, ptr %vfn.i.i.i43, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #23 - br label %_ZN7testing7MessageD2Ev.exit47 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit47: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 +_ZN7testing7MessageD2Ev.exit44: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp36, align 8 br label %if.end48 @@ -17496,47 +17496,47 @@ lpad44: ; preds = %invoke.cont43 ehcleanup47: ; preds = %lpad44, %lpad40 %.pn4 = phi { ptr, i32 } [ %30, %lpad44 ], [ %29, %lpad40 ] %31 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i48 = icmp eq ptr %31, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i45 = icmp eq ptr %31, null + br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup47 - %vtable.i.i.i50 = load ptr, ptr %31, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %32 = load ptr, ptr %vfn.i.i.i51, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %ehcleanup47 + %vtable.i.i.i47 = load ptr, ptr %31, align 8 + %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 + %32 = load ptr, ptr %vfn.i.i.i48, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #23 - br label %_ZN7testing7MessageD2Ev.exit52 + br label %_ZN7testing7MessageD2Ev.exit49 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit49: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 store ptr null, ptr %ref.tmp36, align 8 br label %ehcleanup49 -if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit47 - %message_.i53 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %33 = load ptr, ptr %message_.i53, align 8 - %cmp.not.i.i54 = icmp eq ptr %33, null - br i1 %cmp.not.i.i54, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit44 + %message_.i50 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %33 = load ptr, ptr %message_.i50, align 8 + %cmp.not.i.i51 = icmp eq ptr %33, null + br i1 %cmp.not.i.i51, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %if.end48 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52: ; preds = %if.end48 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 call void @_ZdlPv(ptr noundef nonnull %33) #24 br label %invoke.cont58 -invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %if.end48 - store ptr null, ptr %message_.i53, align 8 +invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52, %if.end48 + store ptr null, ptr %message_.i50, align 8 store <2 x double> , ptr %ref.tmp51, align 16 - %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 - store double 2.500000e-01, ptr %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx, align 16 + %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 + store double 2.500000e-01, ptr %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar50, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp51, ptr noundef nonnull @.str.94, ptr noundef nonnull align 8 dereferenceable(24) %before) to label %invoke.cont60 unwind label %lpad21 invoke.cont60: ; preds = %invoke.cont58 %34 = load i8, ptr %gtest_ar50, align 8 %35 = and i8 %34, 1 - %tobool.i58.not = icmp eq i8 %35, 0 - br i1 %tobool.i58.not, label %if.else63, label %if.end76 + %tobool.i55.not = icmp eq i8 %35, 0 + br i1 %tobool.i55.not, label %if.else63, label %if.end76 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad37 - %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit52 ], [ %28, %lpad37 ] +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad37 + %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit49 ], [ %28, %lpad37 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar30) #23 br label %ehcleanup172 @@ -17545,18 +17545,18 @@ if.else63: ; preds = %invoke.cont60 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %if.else63 - %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %36 = load ptr, ptr %message_.i.i59, align 8 - %cmp.i.i.not.i.i60 = icmp eq ptr %36, null - br i1 %cmp.i.i.not.i.i60, label %invoke.cont69, label %cond.true.i.i61 + %message_.i.i56 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %36 = load ptr, ptr %message_.i.i56, align 8 + %cmp.i.i.not.i.i57 = icmp eq ptr %36, null + br i1 %cmp.i.i.not.i.i57, label %invoke.cont69, label %cond.true.i.i58 -cond.true.i.i61: ; preds = %invoke.cont66 - %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 +cond.true.i.i58: ; preds = %invoke.cont66 + %call4.i.i59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 br label %invoke.cont69 -invoke.cont69: ; preds = %cond.true.i.i61, %invoke.cont66 - %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str, %invoke.cont66 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i63) +invoke.cont69: ; preds = %cond.true.i.i58, %invoke.cont66 + %cond.i.i60 = phi ptr [ %call4.i.i59, %cond.true.i.i58 ], [ @.str, %invoke.cont66 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i60) to label %invoke.cont71 unwind label %lpad68 invoke.cont71: ; preds = %invoke.cont69 @@ -17566,17 +17566,17 @@ invoke.cont71: ; preds = %invoke.cont69 invoke.cont73: ; preds = %invoke.cont71 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #23 %37 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i65 = icmp eq ptr %37, null - br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 + %cmp.not.i.i62 = icmp eq ptr %37, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont73 - %vtable.i.i.i67 = load ptr, ptr %37, align 8 - %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 - %38 = load ptr, ptr %vfn.i.i.i68, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %invoke.cont73 + %vtable.i.i.i64 = load ptr, ptr %37, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %38 = load ptr, ptr %vfn.i.i.i65, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #23 - br label %_ZN7testing7MessageD2Ev.exit69 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 +_ZN7testing7MessageD2Ev.exit66: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 @@ -17599,45 +17599,45 @@ lpad72: ; preds = %invoke.cont71 ehcleanup75: ; preds = %lpad72, %lpad68 %.pn7 = phi { ptr, i32 } [ %41, %lpad72 ], [ %40, %lpad68 ] %42 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i70 = icmp eq ptr %42, null - br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 + %cmp.not.i.i67 = icmp eq ptr %42, null + br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup75 - %vtable.i.i.i72 = load ptr, ptr %42, align 8 - %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 - %43 = load ptr, ptr %vfn.i.i.i73, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup75 + %vtable.i.i.i69 = load ptr, ptr %42, align 8 + %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 + %43 = load ptr, ptr %vfn.i.i.i70, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #23 - br label %_ZN7testing7MessageD2Ev.exit74 + br label %_ZN7testing7MessageD2Ev.exit71 -_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 +_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit69 - %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %44 = load ptr, ptr %message_.i75, align 8 - %cmp.not.i.i76 = icmp eq ptr %44, null - br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit66 + %message_.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %44 = load ptr, ptr %message_.i72, align 8 + %cmp.not.i.i73 = icmp eq ptr %44, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end76 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end76 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 call void @_ZdlPv(ptr noundef nonnull %44) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit78 + br label %_ZN7testing15AssertionResultD2Ev.exit75 -_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 - store ptr null, ptr %message_.i75, align 8 +_ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + store ptr null, ptr %message_.i72, align 8 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 to label %invoke.cont86 unwind label %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i -_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 +_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 +invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - invoke void @_ZN4absl21discrete_distributionIaE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 + invoke void @_ZN4absl21discrete_distributionIaE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont86 @@ -17670,17 +17670,17 @@ _ZN4absl21discrete_distributionIaE10param_typeD2Ev.exit: ; preds = %_ZNSt6vector %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %48 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %49 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %50 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !605 + %50 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !605 %51 = load ptr, ptr %before, align 8, !noalias !605 %sub.ptr.lhs.cast.i5.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.rhs.cast.i6.i.i.i.i.i = ptrtoint ptr %51 to i64 %sub.ptr.sub.i7.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, %sub.ptr.sub.i7.i.i.i.i.i - br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i78 land.rhs.i.i.i.i.i: ; preds = %_ZN4absl21discrete_distributionIaE10param_typeD2Ev.exit %cmp.not4.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, %48 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i %__first2.addr.06.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i ], [ %51, %land.rhs.i.i.i.i.i ] @@ -17688,45 +17688,45 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %52 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, align 8, !noalias !605 %53 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, align 8, !noalias !605 %cmp1.i.i.i.i.i.i.i.i.i = fcmp oeq double %52, %53 - br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i78 for.inc.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, i64 1 %incdec.ptr2.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %48 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 -if.then.i.i83: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i +if.then.i.i79: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont104 unwind label %lpad103 -if.end.i.i82: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIaE10param_typeD2Ev.exit +if.end.i.i78: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIaE10param_typeD2Ev.exit invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIaEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97, ptr noundef nonnull align 8 dereferenceable(48) %via_param, ptr noundef nonnull align 8 dereferenceable(48) %before) to label %invoke.cont104 unwind label %lpad103 -invoke.cont104: ; preds = %if.then.i.i83, %if.end.i.i82 +invoke.cont104: ; preds = %if.then.i.i79, %if.end.i.i78 %54 = load i8, ptr %gtest_ar102, align 8 %55 = and i8 %54, 1 - %tobool.i86.not = icmp eq i8 %55, 0 - br i1 %tobool.i86.not, label %if.else107, label %if.end120 + %tobool.i82.not = icmp eq i8 %55, 0 + br i1 %tobool.i82.not, label %if.else107, label %if.end120 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad65 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit74 ], [ %39, %lpad65 ] +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad65 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit71 ], [ %39, %lpad65 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50) #23 br label %ehcleanup172 lpad97: ; preds = %invoke.cont86 %56 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 lpad99: ; preds = %invoke.cont98 %57 = landingpad { ptr, i32 } cleanup call void @_ZN4absl21discrete_distributionIaE10param_typeD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -lpad103: ; preds = %if.end.i.i82, %if.then.i.i83 +lpad103: ; preds = %if.end.i.i78, %if.then.i.i79 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 @@ -17736,18 +17736,18 @@ if.else107: ; preds = %invoke.cont104 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %if.else107 - %message_.i.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i87, align 8 - %cmp.i.i.not.i.i88 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i88, label %invoke.cont113, label %cond.true.i.i89 + %message_.i.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i83, align 8 + %cmp.i.i.not.i.i84 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i84, label %invoke.cont113, label %cond.true.i.i85 -cond.true.i.i89: ; preds = %invoke.cont110 - %call4.i.i90 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i85: ; preds = %invoke.cont110 + %call4.i.i86 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont113 -invoke.cont113: ; preds = %cond.true.i.i89, %invoke.cont110 - %cond.i.i91 = phi ptr [ %call4.i.i90, %cond.true.i.i89 ], [ @.str, %invoke.cont110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i91) +invoke.cont113: ; preds = %cond.true.i.i85, %invoke.cont110 + %cond.i.i87 = phi ptr [ %call4.i.i86, %cond.true.i.i85 ], [ @.str, %invoke.cont110 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i87) to label %invoke.cont115 unwind label %lpad112 invoke.cont115: ; preds = %invoke.cont113 @@ -17757,17 +17757,17 @@ invoke.cont115: ; preds = %invoke.cont113 invoke.cont117: ; preds = %invoke.cont115 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111) #23 %60 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i93 = icmp eq ptr %60, null - br i1 %cmp.not.i.i93, label %_ZN7testing7MessageD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 + %cmp.not.i.i89 = icmp eq ptr %60, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont117 - %vtable.i.i.i95 = load ptr, ptr %60, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %61 = load ptr, ptr %vfn.i.i.i96, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %invoke.cont117 + %vtable.i.i.i91 = load ptr, ptr %60, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %61 = load ptr, ptr %vfn.i.i.i92, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit97 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit97: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 +_ZN7testing7MessageD2Ev.exit93: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp108, align 8 br label %if.end120 @@ -17790,52 +17790,52 @@ lpad116: ; preds = %invoke.cont115 ehcleanup119: ; preds = %lpad116, %lpad112 %.pn10 = phi { ptr, i32 } [ %64, %lpad116 ], [ %63, %lpad112 ] %65 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i98 = icmp eq ptr %65, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i94 = icmp eq ptr %65, null + br i1 %cmp.not.i.i94, label %_ZN7testing7MessageD2Ev.exit98, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup119 - %vtable.i.i.i100 = load ptr, ptr %65, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %66 = load ptr, ptr %vfn.i.i.i101, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95: ; preds = %ehcleanup119 + %vtable.i.i.i96 = load ptr, ptr %65, align 8 + %vfn.i.i.i97 = getelementptr inbounds ptr, ptr %vtable.i.i.i96, i64 1 + %66 = load ptr, ptr %vfn.i.i.i97, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit102 + br label %_ZN7testing7MessageD2Ev.exit98 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit98: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %ref.tmp108, align 8 br label %ehcleanup121 -if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit97 - %message_.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %67 = load ptr, ptr %message_.i103, align 8 - %cmp.not.i.i104 = icmp eq ptr %67, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit93 + %message_.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %67 = load ptr, ptr %message_.i99, align 8 + %cmp.not.i.i100 = icmp eq ptr %67, null + br i1 %cmp.not.i.i100, label %_ZN7testing15AssertionResultD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end120 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %if.end120 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit106 + br label %_ZN7testing15AssertionResultD2Ev.exit102 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 - store ptr null, ptr %message_.i103, align 8 - %q_.i.i107 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 - %68 = load ptr, ptr %q_.i.i107, align 8 - %tobool.not.i.i.i.i.i108 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i.i.i108, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, label %if.then.i.i.i.i.i109 +_ZN7testing15AssertionResultD2Ev.exit102: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 + store ptr null, ptr %message_.i99, align 8 + %q_.i.i103 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 + %68 = load ptr, ptr %q_.i.i103, align 8 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, label %if.then.i.i.i.i.i105 -if.then.i.i.i.i.i109: ; preds = %_ZN7testing15AssertionResultD2Ev.exit106 +if.then.i.i.i.i.i105: ; preds = %_ZN7testing15AssertionResultD2Ev.exit102 call void @_ZdlPv(ptr noundef nonnull %68) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110: ; preds = %if.then.i.i.i.i.i109, %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106: ; preds = %if.then.i.i.i.i.i105, %_ZN7testing15AssertionResultD2Ev.exit102 %69 = load ptr, ptr %via_param, align 8 - %tobool.not.i.i.i1.i.i111 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i1.i.i111, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i112 + %tobool.not.i.i.i1.i.i107 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i1.i.i107, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i108 -if.then.i.i.i2.i.i112: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 +if.then.i.i.i2.i.i108: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 call void @_ZdlPv(ptr noundef nonnull %69) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit -_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, %if.then.i.i.i2.i.i112 +_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, %if.then.i.i.i2.i.i108 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) to label %invoke.cont124 unwind label %lpad21 @@ -17848,87 +17848,87 @@ invoke.cont124: ; preds = %_ZNSt6vectorIdSaIdE invoke.cont126: ; preds = %invoke.cont124 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %after, i8 0, i64 48, i1 false) invoke void @_ZN4absl21discrete_distributionIaE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %after) - to label %invoke.cont128 unwind label %lpad.i.i115 + to label %invoke.cont128 unwind label %lpad.i.i111 -lpad.i.i115: ; preds = %invoke.cont126 +lpad.i.i111: ; preds = %invoke.cont126 %70 = landingpad { ptr, i32 } cleanup - %q_.i.i116 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %71 = load ptr, ptr %q_.i.i116, align 8 - %tobool.not.i.i.i.i.i117 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, label %if.then.i.i.i.i.i118 + %q_.i.i112 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %71 = load ptr, ptr %q_.i.i112, align 8 + %tobool.not.i.i.i.i.i113 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i113, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, label %if.then.i.i.i.i.i114 -if.then.i.i.i.i.i118: ; preds = %lpad.i.i115 +if.then.i.i.i.i.i114: ; preds = %lpad.i.i111 call void @_ZdlPv(ptr noundef nonnull %71) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119: ; preds = %if.then.i.i.i.i.i118, %lpad.i.i115 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115: ; preds = %if.then.i.i.i.i.i114, %lpad.i.i111 %72 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i120 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i1.i.i120, label %ehcleanup171, label %if.then.i.i.i2.i.i121 + %tobool.not.i.i.i1.i.i116 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i1.i.i116, label %ehcleanup171, label %if.then.i.i.i2.i.i117 -if.then.i.i.i2.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 +if.then.i.i.i2.i.i117: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 call void @_ZdlPv(ptr noundef nonnull %72) #24 br label %ehcleanup171 invoke.cont128: ; preds = %invoke.cont126 - %73 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !611 + %73 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !611 %74 = load ptr, ptr %before, align 8, !noalias !611 - %sub.ptr.lhs.cast.i.i.i.i.i.i126 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i127 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i126, %sub.ptr.rhs.cast.i.i.i.i.i.i127 - %_M_finish.i4.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 - %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !611 + %sub.ptr.lhs.cast.i.i.i.i.i.i122 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i123 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i.i.i.i.i124 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i122, %sub.ptr.rhs.cast.i.i.i.i.i.i123 + %_M_finish.i4.i.i.i.i.i125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 + %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !611 %76 = load ptr, ptr %after, align 8, !noalias !611 - %sub.ptr.lhs.cast.i5.i.i.i.i.i130 = ptrtoint ptr %75 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i131 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i7.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i130, %sub.ptr.rhs.cast.i6.i.i.i.i.i131 - %cmp.i.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i128, %sub.ptr.sub.i7.i.i.i.i.i132 - br i1 %cmp.i.i.i.i.i133, label %land.rhs.i.i.i.i.i134, label %if.then.i - -land.rhs.i.i.i.i.i134: ; preds = %invoke.cont128 - %cmp.not4.i.i.i.i.i.i.i.i.i135 = icmp eq ptr %74, %73 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i135, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136 - -for.body.i.i.i.i.i.i.i.i.i136: ; preds = %land.rhs.i.i.i.i.i134, %for.inc.i.i.i.i.i.i.i.i.i140 - %__first2.addr.06.i.i.i.i.i.i.i.i.i137 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i142, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %76, %land.rhs.i.i.i.i.i134 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i138 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i141, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %74, %land.rhs.i.i.i.i.i134 ] - %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, align 8, !noalias !611 - %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, align 8, !noalias !611 - %cmp1.i.i.i.i.i.i.i.i.i139 = fcmp une double %77, %78 - br i1 %cmp1.i.i.i.i.i.i.i.i.i139, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i140 - -for.inc.i.i.i.i.i.i.i.i.i140: ; preds = %for.body.i.i.i.i.i.i.i.i.i136 - %incdec.ptr.i.i.i.i.i.i.i.i.i141 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i142 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i143 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i141, %73 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i143, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136, !llvm.loop !610 - -if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i136, %invoke.cont128 + %sub.ptr.lhs.cast.i5.i.i.i.i.i126 = ptrtoint ptr %75 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i127 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i7.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i126, %sub.ptr.rhs.cast.i6.i.i.i.i.i127 + %cmp.i.i.i.i.i129 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i124, %sub.ptr.sub.i7.i.i.i.i.i128 + br i1 %cmp.i.i.i.i.i129, label %land.rhs.i.i.i.i.i130, label %if.then.i + +land.rhs.i.i.i.i.i130: ; preds = %invoke.cont128 + %cmp.not4.i.i.i.i.i.i.i.i.i131 = icmp eq ptr %74, %73 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i131, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132 + +for.body.i.i.i.i.i.i.i.i.i132: ; preds = %land.rhs.i.i.i.i.i130, %for.inc.i.i.i.i.i.i.i.i.i136 + %__first2.addr.06.i.i.i.i.i.i.i.i.i133 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i138, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %76, %land.rhs.i.i.i.i.i130 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i134 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i137, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %74, %land.rhs.i.i.i.i.i130 ] + %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, align 8, !noalias !611 + %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, align 8, !noalias !611 + %cmp1.i.i.i.i.i.i.i.i.i135 = fcmp une double %77, %78 + br i1 %cmp1.i.i.i.i.i.i.i.i.i135, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i136 + +for.inc.i.i.i.i.i.i.i.i.i136: ; preds = %for.body.i.i.i.i.i.i.i.i.i132 + %incdec.ptr.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i138 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i137, %73 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i139, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132, !llvm.loop !610 + +if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i132, %invoke.cont128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129) to label %invoke.cont131 unwind label %lpad130 -if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i140, %land.rhs.i.i.i.i.i134 +if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i136, %land.rhs.i.i.i.i.i130 invoke void @_ZN7testing8internal18CmpHelperOpFailureIN4absl21discrete_distributionIaEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_S7_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after, ptr noundef nonnull @.str.99) to label %invoke.cont131 unwind label %lpad130 invoke.cont131: ; preds = %if.then.i, %if.else.i %79 = load i8, ptr %gtest_ar129, align 8 %80 = and i8 %79, 1 - %tobool.i146.not = icmp eq i8 %80, 0 - br i1 %tobool.i146.not, label %if.else134, label %if.end147 + %tobool.i142.not = icmp eq i8 %80, 0 + br i1 %tobool.i142.not, label %if.else134, label %if.end147 -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit102, %lpad109 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit102 ], [ %62, %lpad109 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit98, %lpad109 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit98 ], [ %62, %lpad109 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #23 br label %ehcleanup122 ehcleanup122: ; preds = %ehcleanup121, %lpad103 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup121 ], [ %58, %lpad103 ] call void @_ZN4absl21discrete_distributionIaED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %via_param) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -_ZNSt6vectorIdSaIdEED2Ev.exit150: ; preds = %ehcleanup122, %lpad99, %lpad97 +_ZNSt6vectorIdSaIdEED2Ev.exit146: ; preds = %ehcleanup122, %lpad99, %lpad97 %.pn10.pn.pn.pn = phi { ptr, i32 } [ %.pn10.pn.pn, %ehcleanup122 ], [ %57, %lpad99 ], [ %56, %lpad97 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 br label %ehcleanup172 @@ -17938,7 +17938,7 @@ lpad125: ; preds = %invoke.cont124 cleanup br label %ehcleanup171 -lpad130: ; preds = %if.end.i.i180, %if.then.i.i191, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit170 +lpad130: ; preds = %if.end.i.i176, %if.then.i.i187, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit166 %82 = landingpad { ptr, i32 } cleanup br label %ehcleanup170 @@ -17948,18 +17948,18 @@ if.else134: ; preds = %invoke.cont131 to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont140, label %cond.true.i.i153 + %message_.i.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i147, align 8 + %cmp.i.i.not.i.i148 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i148, label %invoke.cont140, label %cond.true.i.i149 -cond.true.i.i153: ; preds = %invoke.cont137 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 +cond.true.i.i149: ; preds = %invoke.cont137 + %call4.i.i150 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i153, %invoke.cont137 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i155) +invoke.cont140: ; preds = %cond.true.i.i149, %invoke.cont137 + %cond.i.i151 = phi ptr [ %call4.i.i150, %cond.true.i.i149 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i151) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -17969,17 +17969,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %84 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i157 = icmp eq ptr %84, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i153 = icmp eq ptr %84, null + br i1 %cmp.not.i.i153, label %_ZN7testing7MessageD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont144 - %vtable.i.i.i159 = load ptr, ptr %84, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %85 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %invoke.cont144 + %vtable.i.i.i155 = load ptr, ptr %84, align 8 + %vfn.i.i.i156 = getelementptr inbounds ptr, ptr %vtable.i.i.i155, i64 1 + %85 = load ptr, ptr %vfn.i.i.i156, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #23 - br label %_ZN7testing7MessageD2Ev.exit161 + br label %_ZN7testing7MessageD2Ev.exit157 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit157: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 store ptr null, ptr %ref.tmp135, align 8 br label %if.end147 @@ -18002,84 +18002,84 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn15 = phi { ptr, i32 } [ %88, %lpad143 ], [ %87, %lpad139 ] %89 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i162 = icmp eq ptr %89, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i158 = icmp eq ptr %89, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup146 - %vtable.i.i.i164 = load ptr, ptr %89, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %90 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %ehcleanup146 + %vtable.i.i.i160 = load ptr, ptr %89, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %90 = load ptr, ptr %vfn.i.i.i161, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit162: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %91 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %91, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit157 + %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %91 = load ptr, ptr %message_.i163, align 8 + %cmp.not.i.i164 = icmp eq ptr %91, null + br i1 %cmp.not.i.i164, label %_ZN7testing15AssertionResultD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #23 call void @_ZdlPv(ptr noundef nonnull %91) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit166 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit166: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + store ptr null, ptr %message_.i163, align 8 %call150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4abslrsIcSt11char_traitsIcEaEERSt13basic_istreamIT_T0_ES7_RNS_21discrete_distributionIT1_EE(ptr noundef nonnull align 8 dereferenceable(16) %ss, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont149 unwind label %lpad130 -invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !614 +invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit166 + %92 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !614 %93 = load ptr, ptr %before, align 8, !noalias !614 - %sub.ptr.lhs.cast.i.i.i.i.i.i172 = ptrtoint ptr %92 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i173 = ptrtoint ptr %93 to i64 - %sub.ptr.sub.i.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i172, %sub.ptr.rhs.cast.i.i.i.i.i.i173 - %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !614 + %sub.ptr.lhs.cast.i.i.i.i.i.i168 = ptrtoint ptr %92 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i169 = ptrtoint ptr %93 to i64 + %sub.ptr.sub.i.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i.i169 + %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !614 %95 = load ptr, ptr %after, align 8, !noalias !614 - %sub.ptr.lhs.cast.i5.i.i.i.i.i176 = ptrtoint ptr %94 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i177 = ptrtoint ptr %95 to i64 - %sub.ptr.sub.i7.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i176, %sub.ptr.rhs.cast.i6.i.i.i.i.i177 - %cmp.i.i.i.i.i179 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i174, %sub.ptr.sub.i7.i.i.i.i.i178 - br i1 %cmp.i.i.i.i.i179, label %land.rhs.i.i.i.i.i181, label %if.end.i.i180 - -land.rhs.i.i.i.i.i181: ; preds = %invoke.cont149 - %cmp.not4.i.i.i.i.i.i.i.i.i182 = icmp eq ptr %93, %92 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i182, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183 - -for.body.i.i.i.i.i.i.i.i.i183: ; preds = %land.rhs.i.i.i.i.i181, %for.inc.i.i.i.i.i.i.i.i.i187 - %__first2.addr.06.i.i.i.i.i.i.i.i.i184 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i189, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %95, %land.rhs.i.i.i.i.i181 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i185 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i188, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %93, %land.rhs.i.i.i.i.i181 ] - %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, align 8, !noalias !614 - %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, align 8, !noalias !614 - %cmp1.i.i.i.i.i.i.i.i.i186 = fcmp oeq double %96, %97 - br i1 %cmp1.i.i.i.i.i.i.i.i.i186, label %for.inc.i.i.i.i.i.i.i.i.i187, label %if.end.i.i180 - -for.inc.i.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i.i.i.i.i.i183 - %incdec.ptr.i.i.i.i.i.i.i.i.i188 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i189 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i190 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i188, %92 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i190, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183, !llvm.loop !610 - -if.then.i.i191: ; preds = %for.inc.i.i.i.i.i.i.i.i.i187, %land.rhs.i.i.i.i.i181 + %sub.ptr.lhs.cast.i5.i.i.i.i.i172 = ptrtoint ptr %94 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i173 = ptrtoint ptr %95 to i64 + %sub.ptr.sub.i7.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i.i.i173 + %cmp.i.i.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i170, %sub.ptr.sub.i7.i.i.i.i.i174 + br i1 %cmp.i.i.i.i.i175, label %land.rhs.i.i.i.i.i177, label %if.end.i.i176 + +land.rhs.i.i.i.i.i177: ; preds = %invoke.cont149 + %cmp.not4.i.i.i.i.i.i.i.i.i178 = icmp eq ptr %93, %92 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i178, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179 + +for.body.i.i.i.i.i.i.i.i.i179: ; preds = %land.rhs.i.i.i.i.i177, %for.inc.i.i.i.i.i.i.i.i.i183 + %__first2.addr.06.i.i.i.i.i.i.i.i.i180 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i185, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %95, %land.rhs.i.i.i.i.i177 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i181 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i184, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %93, %land.rhs.i.i.i.i.i177 ] + %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, align 8, !noalias !614 + %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, align 8, !noalias !614 + %cmp1.i.i.i.i.i.i.i.i.i182 = fcmp oeq double %96, %97 + br i1 %cmp1.i.i.i.i.i.i.i.i.i182, label %for.inc.i.i.i.i.i.i.i.i.i183, label %if.end.i.i176 + +for.inc.i.i.i.i.i.i.i.i.i183: ; preds = %for.body.i.i.i.i.i.i.i.i.i179 + %incdec.ptr.i.i.i.i.i.i.i.i.i184 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i185 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i186 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i184, %92 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i186, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179, !llvm.loop !610 + +if.then.i.i187: ; preds = %for.inc.i.i.i.i.i.i.i.i.i183, %land.rhs.i.i.i.i.i177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151) to label %invoke.cont152 unwind label %lpad130 -if.end.i.i180: ; preds = %for.body.i.i.i.i.i.i.i.i.i183, %invoke.cont149 +if.end.i.i176: ; preds = %for.body.i.i.i.i.i.i.i.i.i179, %invoke.cont149 invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIaEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont152 unwind label %lpad130 -invoke.cont152: ; preds = %if.then.i.i191, %if.end.i.i180 +invoke.cont152: ; preds = %if.then.i.i187, %if.end.i.i176 %98 = load i8, ptr %gtest_ar151, align 8 %99 = and i8 %98, 1 - %tobool.i195.not = icmp eq i8 %99, 0 - br i1 %tobool.i195.not, label %if.else155, label %if.end168 + %tobool.i191.not = icmp eq i8 %99, 0 + br i1 %tobool.i191.not, label %if.else155, label %if.end168 -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad136 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit166 ], [ %86, %lpad136 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit162, %lpad136 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit162 ], [ %86, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar129) #23 br label %ehcleanup170 @@ -18088,18 +18088,18 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %message_.i.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %100 = load ptr, ptr %message_.i.i196, align 8 - %cmp.i.i.not.i.i197 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i197, label %invoke.cont161, label %cond.true.i.i198 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %100 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont161, label %cond.true.i.i194 -cond.true.i.i198: ; preds = %invoke.cont158 - %call4.i.i199 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 +cond.true.i.i194: ; preds = %invoke.cont158 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i198, %invoke.cont158 - %cond.i.i200 = phi ptr [ %call4.i.i199, %cond.true.i.i198 ], [ @.str, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i200) +invoke.cont161: ; preds = %cond.true.i.i194, %invoke.cont158 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i196) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -18109,17 +18109,17 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #23 %101 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i202 = icmp eq ptr %101, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i198 = icmp eq ptr %101, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %invoke.cont165 - %vtable.i.i.i204 = load ptr, ptr %101, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %102 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont165 + %vtable.i.i.i200 = load ptr, ptr %101, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %102 = load ptr, ptr %vfn.i.i.i201, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #23 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit206: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp156, align 8 br label %if.end168 @@ -18142,94 +18142,94 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn18 = phi { ptr, i32 } [ %105, %lpad164 ], [ %104, %lpad160 ] %106 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i207 = icmp eq ptr %106, null - br i1 %cmp.not.i.i207, label %_ZN7testing7MessageD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + %cmp.not.i.i203 = icmp eq ptr %106, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %ehcleanup167 - %vtable.i.i.i209 = load ptr, ptr %106, align 8 - %vfn.i.i.i210 = getelementptr inbounds ptr, ptr %vtable.i.i.i209, i64 1 - %107 = load ptr, ptr %vfn.i.i.i210, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup167 + %vtable.i.i.i205 = load ptr, ptr %106, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %107 = load ptr, ptr %vfn.i.i.i206, align 8 call void %107(ptr noundef nonnull align 8 dereferenceable(128) %106) #23 - br label %_ZN7testing7MessageD2Ev.exit211 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit211: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 -if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit206 - %message_.i212 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %108 = load ptr, ptr %message_.i212, align 8 - %cmp.not.i.i213 = icmp eq ptr %108, null - br i1 %cmp.not.i.i213, label %_ZN7testing15AssertionResultD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 +if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %108 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %108, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %if.end168 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end168 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #23 call void @_ZdlPv(ptr noundef nonnull %108) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit215 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit215: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 - store ptr null, ptr %message_.i212, align 8 - %q_.i.i216 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %109 = load ptr, ptr %q_.i.i216, align 8 - %tobool.not.i.i.i.i.i217 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i.i217, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, label %if.then.i.i.i.i.i218 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %q_.i.i212 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %109 = load ptr, ptr %q_.i.i212, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit215 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %109) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219: ; preds = %if.then.i.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit215 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %110 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i220 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i1.i.i220, label %_ZN4absl21discrete_distributionIaED2Ev.exit222, label %if.then.i.i.i2.i.i221 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i1.i.i216, label %_ZN4absl21discrete_distributionIaED2Ev.exit218, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i221: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %110) #24 - br label %_ZN4absl21discrete_distributionIaED2Ev.exit222 + br label %_ZN4absl21discrete_distributionIaED2Ev.exit218 -_ZN4absl21discrete_distributionIaED2Ev.exit222: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, %if.then.i.i.i2.i.i221 +_ZN4absl21discrete_distributionIaED2Ev.exit218: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 - %111 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, label %if.then.i.i.i.i.i225 + %111 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i.i.i220 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i.i.i220, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, label %if.then.i.i.i.i.i221 -if.then.i.i.i.i.i225: ; preds = %_ZN4absl21discrete_distributionIaED2Ev.exit222 +if.then.i.i.i.i.i221: ; preds = %_ZN4absl21discrete_distributionIaED2Ev.exit218 call void @_ZdlPv(ptr noundef nonnull %111) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226: ; preds = %if.then.i.i.i.i.i225, %_ZN4absl21discrete_distributionIaED2Ev.exit222 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222: ; preds = %if.then.i.i.i.i.i221, %_ZN4absl21discrete_distributionIaED2Ev.exit218 %112 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i1.i.i227 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i1.i.i227, label %_ZN4absl21discrete_distributionIaED2Ev.exit229, label %if.then.i.i.i2.i.i228 + %tobool.not.i.i.i1.i.i223 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i1.i.i223, label %_ZN4absl21discrete_distributionIaED2Ev.exit225, label %if.then.i.i.i2.i.i224 -if.then.i.i.i2.i.i228: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 +if.then.i.i.i2.i.i224: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 call void @_ZdlPv(ptr noundef nonnull %112) #24 - br label %_ZN4absl21discrete_distributionIaED2Ev.exit229 + br label %_ZN4absl21discrete_distributionIaED2Ev.exit225 -_ZN4absl21discrete_distributionIaED2Ev.exit229: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, %if.then.i.i.i2.i.i228 - %q_.i.i230 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 - %113 = load ptr, ptr %q_.i.i230, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i231, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, label %if.then.i.i.i.i.i232 +_ZN4absl21discrete_distributionIaED2Ev.exit225: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, %if.then.i.i.i2.i.i224 + %q_.i.i226 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 + %113 = load ptr, ptr %q_.i.i226, align 8 + %tobool.not.i.i.i.i.i227 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i227, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, label %if.then.i.i.i.i.i228 -if.then.i.i.i.i.i232: ; preds = %_ZN4absl21discrete_distributionIaED2Ev.exit229 +if.then.i.i.i.i.i228: ; preds = %_ZN4absl21discrete_distributionIaED2Ev.exit225 call void @_ZdlPv(ptr noundef nonnull %113) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233: ; preds = %if.then.i.i.i.i.i232, %_ZN4absl21discrete_distributionIaED2Ev.exit229 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229: ; preds = %if.then.i.i.i.i.i228, %_ZN4absl21discrete_distributionIaED2Ev.exit225 %114 = load ptr, ptr %empty, align 8 - %tobool.not.i.i.i1.i.i234 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i1.i.i234, label %_ZN4absl21discrete_distributionIaED2Ev.exit236, label %if.then.i.i.i2.i.i235 + %tobool.not.i.i.i1.i.i230 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i1.i.i230, label %_ZN4absl21discrete_distributionIaED2Ev.exit232, label %if.then.i.i.i2.i.i231 -if.then.i.i.i2.i.i235: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 +if.then.i.i.i2.i.i231: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 call void @_ZdlPv(ptr noundef nonnull %114) #24 - br label %_ZN4absl21discrete_distributionIaED2Ev.exit236 + br label %_ZN4absl21discrete_distributionIaED2Ev.exit232 -_ZN4absl21discrete_distributionIaED2Ev.exit236: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, %if.then.i.i.i2.i.i235 +_ZN4absl21discrete_distributionIaED2Ev.exit232: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, %if.then.i.i.i2.i.i231 ret void -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit211, %lpad157 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit211 ], [ %103, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad157 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit207 ], [ %103, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #23 br label %ehcleanup170 @@ -18238,18 +18238,18 @@ ehcleanup170: ; preds = %ehcleanup169, %ehcl call void @_ZN4absl21discrete_distributionIaED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %after) #23 br label %ehcleanup171 -ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i121, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, %ehcleanup170 - %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i121 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 ] +ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i117, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, %ehcleanup170 + %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i117 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 ] call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 br label %ehcleanup172 -ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit150, %ehcleanup77, %ehcleanup49, %lpad21 - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit150 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] +ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit146, %ehcleanup77, %ehcleanup49, %lpad21 + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit146 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] call void @_ZN4absl21discrete_distributionIaED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %before) #23 br label %ehcleanup173 -ehcleanup173: ; preds = %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, %eh.resume.sink.split.i.i, %lpad, %ehcleanup172, %ehcleanup17 - %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i.i ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 ], [ %16, %eh.resume.sink.split.i.i ] +ehcleanup173: ; preds = %lpad.i.i233, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, %eh.resume.sink.split.i, %lpad, %ehcleanup172, %ehcleanup17 + %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i233 ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 ], [ %16, %eh.resume.sink.split.i ] call void @_ZN4absl21discrete_distributionIaED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %empty) #23 br label %common.resume } @@ -18580,8 +18580,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i if.then.i.i.i: ; preds = %entry @@ -18596,7 +18595,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %entry br i1 %cmp.not.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i - %add.ptr3.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr3.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage4.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr3.i.i, ptr %_M_end_of_storage4.i.i, align 8 br label %invoke.cont @@ -18607,7 +18606,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i, ptr %this, align 8 - %add.ptr.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -18621,9 +18620,10 @@ lpad.i: ; preds = %if.then.i.i.i.i.i.i br i1 %tobool.not.i.i.i, label %eh.resume, label %eh.resume.sink.split invoke.cont: ; preds = %call5.i.i.i.i.noexc.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i - %add.ptr5.i.i = phi ptr [ %add.ptr3.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %add.ptr.i.i, %call5.i.i.i.i.noexc.i ] + %cond.i5.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %call5.i.i.i.i1.i, %call5.i.i.i.i.noexc.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr5.i.i, ptr %_M_finish.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIaE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %this) @@ -19015,30 +19015,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i22 = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store double %3, ptr %add.ptr.i.i22, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %p.sroa.0.267, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %p.sroa.0.267, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %p.sroa.0.267) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i20 - %add.ptr.i.i22.pn = phi ptr [ %add.ptr.i.i22, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] %p.sroa.15.2 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.15.166, %if.then.i20 ] %p.sroa.0.3 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.0.267, %if.then.i20 ] - %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i22.pn, i64 1 + %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %inc = add i8 %i.068, 1 %conv = sext i8 %inc to i64 %4 = load i64, ptr %n, align 8 @@ -19137,7 +19138,7 @@ if.then: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 %2 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i = icmp eq ptr %0, %2 - br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i, label %if.then.i.i + br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store double 1.000000e+00, ptr %0, align 8 @@ -19146,18 +19147,18 @@ if.then.i.i: ; preds = %if.then store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 br label %_ZNSt6vectorIdSaIdEE9push_backEOd.exit -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then %call5.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #25 store double 1.000000e+00, ptr %call5.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i store ptr %call5.i.i.i.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_end_of_storage.i.i, align 8 @@ -19205,7 +19206,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els tail call void @llvm.assume(i1 %cmp.not.i.i.i) %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 4 %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #25 - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i store double 1.000000e+00, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -19486,8 +19487,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %_ZNSt6vectorIdSaIdEEC2ERKS1_.exit _ZNSt6vectorIdSaIdEEC2ERKS1_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 %q_3 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %0, i64 0, i32 1 @@ -20287,7 +20287,7 @@ if.then.i: ; preds = %_ZNSt6vectorIdSaIdE _ZNSt12_Vector_baseIdSaIdEE13_M_deallocateEPdm.exit: ; preds = %_ZNSt6vectorIdSaIdEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKdS1_EEEEPdmT_S9_.exit, %if.then.i store ptr %call5.i.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds double, ptr %call5.i.i.i.i, i64 %sub.ptr.div.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i, i64 %sub.ptr.sub.i store ptr %add.ptr, ptr %_M_end_of_storage.i, align 8 br label %if.end69 @@ -20315,22 +20315,21 @@ if.else49: ; preds = %if.else if.then.i.i.i.i.i35: ; preds = %if.else49 tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %3, ptr align 8 %1, i64 %sub.ptr.sub.i22, i1 false) %.pre = load ptr, ptr %__x, align 8 - %.pre43 = load ptr, ptr %_M_finish.i19, align 8 - %.pre44 = load ptr, ptr %this, align 8 - %.pre45 = load ptr, ptr %_M_finish.i, align 8 + %.pre42 = load ptr, ptr %_M_finish.i19, align 8 + %.pre43 = load ptr, ptr %this, align 8 + %.pre44 = load ptr, ptr %_M_finish.i, align 8 + %.pre45 = ptrtoint ptr %.pre42 to i64 %.pre46 = ptrtoint ptr %.pre43 to i64 - %.pre47 = ptrtoint ptr %.pre44 to i64 br label %_ZSt4copyIPdS0_ET0_T_S2_S1_.exit _ZSt4copyIPdS0_ET0_T_S2_S1_.exit: ; preds = %if.else49, %if.then.i.i.i.i.i35 - %sub.ptr.rhs.cast.i40.pre-phi = phi i64 [ %sub.ptr.rhs.cast.i15, %if.else49 ], [ %.pre47, %if.then.i.i.i.i.i35 ] - %sub.ptr.lhs.cast.i39.pre-phi = phi i64 [ %sub.ptr.rhs.cast.i15, %if.else49 ], [ %.pre46, %if.then.i.i.i.i.i35 ] - %5 = phi ptr [ %0, %if.else49 ], [ %.pre45, %if.then.i.i.i.i.i35 ] - %6 = phi ptr [ %3, %if.else49 ], [ %.pre43, %if.then.i.i.i.i.i35 ] + %sub.ptr.rhs.cast.i39.pre-phi = phi i64 [ %sub.ptr.rhs.cast.i15, %if.else49 ], [ %.pre46, %if.then.i.i.i.i.i35 ] + %sub.ptr.lhs.cast.i38.pre-phi = phi i64 [ %sub.ptr.rhs.cast.i15, %if.else49 ], [ %.pre45, %if.then.i.i.i.i.i35 ] + %5 = phi ptr [ %0, %if.else49 ], [ %.pre44, %if.then.i.i.i.i.i35 ] + %6 = phi ptr [ %3, %if.else49 ], [ %.pre42, %if.then.i.i.i.i.i35 ] %7 = phi ptr [ %1, %if.else49 ], [ %.pre, %if.then.i.i.i.i.i35 ] - %sub.ptr.sub.i41 = sub i64 %sub.ptr.lhs.cast.i39.pre-phi, %sub.ptr.rhs.cast.i40.pre-phi - %sub.ptr.div.i42 = ashr exact i64 %sub.ptr.sub.i41, 3 - %add.ptr62 = getelementptr inbounds double, ptr %7, i64 %sub.ptr.div.i42 + %sub.ptr.sub.i40 = sub i64 %sub.ptr.lhs.cast.i38.pre-phi, %sub.ptr.rhs.cast.i39.pre-phi + %add.ptr62 = getelementptr inbounds i8, ptr %7, i64 %sub.ptr.sub.i40 %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %5, %add.ptr62 br i1 %tobool.not.i.i.i.i.i.i.i.i, label %if.end69, label %if.then.i.i.i.i.i.i.i.i @@ -20343,7 +20342,7 @@ if.then.i.i.i.i.i.i.i.i: ; preds = %_ZSt4copyIPdS0_ET0_ if.end69: ; preds = %if.then.i.i.i.i.i.i.i.i, %_ZSt4copyIPdS0_ET0_T_S2_S1_.exit, %if.then.i.i.i.i.i, %if.then27, %_ZNSt12_Vector_baseIdSaIdEE13_M_deallocateEPdm.exit %8 = load ptr, ptr %this, align 8 - %add.ptr72 = getelementptr inbounds double, ptr %8, i64 %sub.ptr.div.i + %add.ptr72 = getelementptr inbounds i8, ptr %8, i64 %sub.ptr.sub.i %_M_finish74 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %add.ptr72, ptr %_M_finish74, align 8 br label %if.end75 @@ -20407,7 +20406,7 @@ if.then.i: ; preds = %_ZNSt6vectorISt4pai _ZNSt12_Vector_baseISt4pairIdmESaIS1_EE13_M_deallocateEPS1_m.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEPS1_mT_SB_.exit, %if.then.i store ptr %call5.i.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i, i64 %sub.ptr.div.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i, i64 %sub.ptr.sub.i store ptr %add.ptr, ptr %_M_end_of_storage.i, align 8 br label %if.end69 @@ -20468,15 +20467,14 @@ _ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit.loopexit: ; preds = %for.body.i.i.i.i %.pre57 = ptrtoint ptr %.pre54 to i64 %.pre58 = ptrtoint ptr %.pre55 to i64 %.pre59 = sub i64 %.pre57, %.pre58 - %.pre60 = ashr exact i64 %.pre59, 4 br label %_ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit _ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit: ; preds = %_ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit.loopexit, %if.else49 - %sub.ptr.div.i51.pre-phi = phi i64 [ %.pre60, %_ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit.loopexit ], [ %sub.ptr.div.i23, %if.else49 ] + %sub.ptr.sub.i50.pre-phi = phi i64 [ %.pre59, %_ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit.loopexit ], [ %sub.ptr.sub.i22, %if.else49 ] %13 = phi ptr [ %.pre56, %_ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit.loopexit ], [ %0, %if.else49 ] %14 = phi ptr [ %.pre54, %_ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit.loopexit ], [ %8, %if.else49 ] %15 = phi ptr [ %.pre, %_ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit.loopexit ], [ %1, %if.else49 ] - %add.ptr62 = getelementptr inbounds %"struct.std::pair", ptr %15, i64 %sub.ptr.div.i51.pre-phi + %add.ptr62 = getelementptr inbounds i8, ptr %15, i64 %sub.ptr.sub.i50.pre-phi %cmp.not5.i.i.i.i = icmp eq ptr %add.ptr62, %13 br i1 %cmp.not5.i.i.i.i, label %if.end69, label %for.body.i.i.i.i @@ -20491,7 +20489,7 @@ for.body.i.i.i.i: ; preds = %_ZSt4copyIPSt4pairI if.end69: ; preds = %for.body.i.i.i.i.i, %for.body.i.i.i.i, %if.then27, %_ZSt4copyIPSt4pairIdmES2_ET0_T_S4_S3_.exit, %_ZNSt12_Vector_baseISt4pairIdmESaIS1_EE13_M_deallocateEPS1_m.exit %16 = load ptr, ptr %this, align 8 - %add.ptr72 = getelementptr inbounds %"struct.std::pair", ptr %16, i64 %sub.ptr.div.i + %add.ptr72 = getelementptr inbounds i8, ptr %16, i64 %sub.ptr.sub.i %_M_finish74 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %add.ptr72, ptr %_M_finish74, align 8 br label %if.end75 @@ -22732,65 +22730,65 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %before, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store ptr %call5.i.i.i.i2.i.i.i, ptr %before, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 3 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i33 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i33, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i233 + +call5.i.i.i.i.noexc.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store ptr %call5.i.i.i.i2.i.i, ptr %before, align 8 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 24 + %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 + store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) + %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 + store ptr %add.ptr.i1.i.i, ptr %_M_finish.i.i.i, align 8 + %q_.i235 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i235, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIhE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %before) - to label %invoke.cont22 unwind label %lpad2.i.i + to label %invoke.cont22 unwind label %lpad2.i -lpad.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +lpad.i.i233: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup173 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %16 = landingpad { ptr, i32 } cleanup - %17 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, label %if.then.i.i.i3.i.i + %17 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %17) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236: ; preds = %if.then.i.i.i3.i, %lpad2.i %18 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup173, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup173, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 call void @_ZdlPv(ptr noundef nonnull %18) #24 br label %ehcleanup173 -invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i.i +invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i store double 0.000000e+00, ptr %s, align 8 %19 = load ptr, ptr %before, align 8 - %20 = load ptr, ptr %_M_finish.i.i.i.i, align 8 - %cmp.i.not243 = icmp eq ptr %19, %20 - br i1 %cmp.i.not243, label %for.end.thread, label %for.body + %20 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.not244 = icmp eq ptr %19, %20 + br i1 %cmp.i.not244, label %for.end.thread, label %for.body for.end.thread: ; preds = %invoke.cont22 store double 1.000000e+00, ptr %ref.tmp31, align 8 br label %if.end.i.i for.body: ; preds = %invoke.cont22, %for.body - %__begin0.sroa.0.0245 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] - %add242244 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] - %21 = load double, ptr %__begin0.sroa.0.0245, align 8 - %add = fadd double %21, %add242244 + %__begin0.sroa.0.0246 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] + %add243245 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] + %21 = load double, ptr %__begin0.sroa.0.0246, align 8 + %add = fadd double %21, %add243245 store double %add, ptr %s, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0245, i64 1 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0246, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %20 br i1 %cmp.i.not, label %for.end, label %for.body @@ -22820,26 +22818,26 @@ if.end.i.i: ; preds = %for.end.thread, %fo invoke.cont32: ; preds = %if.then.i.i, %if.end.i.i %23 = load i8, ptr %gtest_ar30, align 8 %24 = and i8 %23, 1 - %tobool.i36.not = icmp eq i8 %24, 0 - br i1 %tobool.i36.not, label %if.else35, label %if.end48 + %tobool.i33.not = icmp eq i8 %24, 0 + br i1 %tobool.i33.not, label %if.else35, label %if.end48 if.else35: ; preds = %invoke.cont32 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) to label %invoke.cont38 unwind label %lpad37 invoke.cont38: ; preds = %if.else35 - %message_.i.i37 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %25 = load ptr, ptr %message_.i.i37, align 8 - %cmp.i.i.not.i.i38 = icmp eq ptr %25, null - br i1 %cmp.i.i.not.i.i38, label %invoke.cont41, label %cond.true.i.i39 + %message_.i.i34 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %25 = load ptr, ptr %message_.i.i34, align 8 + %cmp.i.i.not.i.i35 = icmp eq ptr %25, null + br i1 %cmp.i.i.not.i.i35, label %invoke.cont41, label %cond.true.i.i36 -cond.true.i.i39: ; preds = %invoke.cont38 - %call4.i.i40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 +cond.true.i.i36: ; preds = %invoke.cont38 + %call4.i.i37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 br label %invoke.cont41 -invoke.cont41: ; preds = %cond.true.i.i39, %invoke.cont38 - %cond.i.i41 = phi ptr [ %call4.i.i40, %cond.true.i.i39 ], [ @.str, %invoke.cont38 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i41) +invoke.cont41: ; preds = %cond.true.i.i36, %invoke.cont38 + %cond.i.i38 = phi ptr [ %call4.i.i37, %cond.true.i.i36 ], [ @.str, %invoke.cont38 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i38) to label %invoke.cont43 unwind label %lpad40 invoke.cont43: ; preds = %invoke.cont41 @@ -22849,17 +22847,17 @@ invoke.cont43: ; preds = %invoke.cont41 invoke.cont45: ; preds = %invoke.cont43 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #23 %26 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i43 = icmp eq ptr %26, null - br i1 %cmp.not.i.i43, label %_ZN7testing7MessageD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 + %cmp.not.i.i40 = icmp eq ptr %26, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44: ; preds = %invoke.cont45 - %vtable.i.i.i45 = load ptr, ptr %26, align 8 - %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 - %27 = load ptr, ptr %vfn.i.i.i46, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %invoke.cont45 + %vtable.i.i.i42 = load ptr, ptr %26, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %27 = load ptr, ptr %vfn.i.i.i43, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #23 - br label %_ZN7testing7MessageD2Ev.exit47 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit47: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 +_ZN7testing7MessageD2Ev.exit44: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp36, align 8 br label %if.end48 @@ -22882,47 +22880,47 @@ lpad44: ; preds = %invoke.cont43 ehcleanup47: ; preds = %lpad44, %lpad40 %.pn4 = phi { ptr, i32 } [ %30, %lpad44 ], [ %29, %lpad40 ] %31 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i48 = icmp eq ptr %31, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i45 = icmp eq ptr %31, null + br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup47 - %vtable.i.i.i50 = load ptr, ptr %31, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %32 = load ptr, ptr %vfn.i.i.i51, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %ehcleanup47 + %vtable.i.i.i47 = load ptr, ptr %31, align 8 + %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 + %32 = load ptr, ptr %vfn.i.i.i48, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #23 - br label %_ZN7testing7MessageD2Ev.exit52 + br label %_ZN7testing7MessageD2Ev.exit49 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit49: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 store ptr null, ptr %ref.tmp36, align 8 br label %ehcleanup49 -if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit47 - %message_.i53 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %33 = load ptr, ptr %message_.i53, align 8 - %cmp.not.i.i54 = icmp eq ptr %33, null - br i1 %cmp.not.i.i54, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit44 + %message_.i50 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %33 = load ptr, ptr %message_.i50, align 8 + %cmp.not.i.i51 = icmp eq ptr %33, null + br i1 %cmp.not.i.i51, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %if.end48 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52: ; preds = %if.end48 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 call void @_ZdlPv(ptr noundef nonnull %33) #24 br label %invoke.cont58 -invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %if.end48 - store ptr null, ptr %message_.i53, align 8 +invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52, %if.end48 + store ptr null, ptr %message_.i50, align 8 store <2 x double> , ptr %ref.tmp51, align 16 - %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 - store double 2.500000e-01, ptr %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx, align 16 + %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 + store double 2.500000e-01, ptr %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar50, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp51, ptr noundef nonnull @.str.94, ptr noundef nonnull align 8 dereferenceable(24) %before) to label %invoke.cont60 unwind label %lpad21 invoke.cont60: ; preds = %invoke.cont58 %34 = load i8, ptr %gtest_ar50, align 8 %35 = and i8 %34, 1 - %tobool.i58.not = icmp eq i8 %35, 0 - br i1 %tobool.i58.not, label %if.else63, label %if.end76 + %tobool.i55.not = icmp eq i8 %35, 0 + br i1 %tobool.i55.not, label %if.else63, label %if.end76 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad37 - %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit52 ], [ %28, %lpad37 ] +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad37 + %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit49 ], [ %28, %lpad37 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar30) #23 br label %ehcleanup172 @@ -22931,18 +22929,18 @@ if.else63: ; preds = %invoke.cont60 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %if.else63 - %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %36 = load ptr, ptr %message_.i.i59, align 8 - %cmp.i.i.not.i.i60 = icmp eq ptr %36, null - br i1 %cmp.i.i.not.i.i60, label %invoke.cont69, label %cond.true.i.i61 + %message_.i.i56 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %36 = load ptr, ptr %message_.i.i56, align 8 + %cmp.i.i.not.i.i57 = icmp eq ptr %36, null + br i1 %cmp.i.i.not.i.i57, label %invoke.cont69, label %cond.true.i.i58 -cond.true.i.i61: ; preds = %invoke.cont66 - %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 +cond.true.i.i58: ; preds = %invoke.cont66 + %call4.i.i59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 br label %invoke.cont69 -invoke.cont69: ; preds = %cond.true.i.i61, %invoke.cont66 - %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str, %invoke.cont66 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i63) +invoke.cont69: ; preds = %cond.true.i.i58, %invoke.cont66 + %cond.i.i60 = phi ptr [ %call4.i.i59, %cond.true.i.i58 ], [ @.str, %invoke.cont66 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i60) to label %invoke.cont71 unwind label %lpad68 invoke.cont71: ; preds = %invoke.cont69 @@ -22952,17 +22950,17 @@ invoke.cont71: ; preds = %invoke.cont69 invoke.cont73: ; preds = %invoke.cont71 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #23 %37 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i65 = icmp eq ptr %37, null - br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 + %cmp.not.i.i62 = icmp eq ptr %37, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont73 - %vtable.i.i.i67 = load ptr, ptr %37, align 8 - %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 - %38 = load ptr, ptr %vfn.i.i.i68, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %invoke.cont73 + %vtable.i.i.i64 = load ptr, ptr %37, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %38 = load ptr, ptr %vfn.i.i.i65, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #23 - br label %_ZN7testing7MessageD2Ev.exit69 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 +_ZN7testing7MessageD2Ev.exit66: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 @@ -22985,45 +22983,45 @@ lpad72: ; preds = %invoke.cont71 ehcleanup75: ; preds = %lpad72, %lpad68 %.pn7 = phi { ptr, i32 } [ %41, %lpad72 ], [ %40, %lpad68 ] %42 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i70 = icmp eq ptr %42, null - br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 + %cmp.not.i.i67 = icmp eq ptr %42, null + br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup75 - %vtable.i.i.i72 = load ptr, ptr %42, align 8 - %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 - %43 = load ptr, ptr %vfn.i.i.i73, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup75 + %vtable.i.i.i69 = load ptr, ptr %42, align 8 + %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 + %43 = load ptr, ptr %vfn.i.i.i70, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #23 - br label %_ZN7testing7MessageD2Ev.exit74 + br label %_ZN7testing7MessageD2Ev.exit71 -_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 +_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit69 - %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %44 = load ptr, ptr %message_.i75, align 8 - %cmp.not.i.i76 = icmp eq ptr %44, null - br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit66 + %message_.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %44 = load ptr, ptr %message_.i72, align 8 + %cmp.not.i.i73 = icmp eq ptr %44, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end76 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end76 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 call void @_ZdlPv(ptr noundef nonnull %44) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit78 + br label %_ZN7testing15AssertionResultD2Ev.exit75 -_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 - store ptr null, ptr %message_.i75, align 8 +_ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + store ptr null, ptr %message_.i72, align 8 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 to label %invoke.cont86 unwind label %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i -_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 +_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 +invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - invoke void @_ZN4absl21discrete_distributionIhE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 + invoke void @_ZN4absl21discrete_distributionIhE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont86 @@ -23056,17 +23054,17 @@ _ZN4absl21discrete_distributionIhE10param_typeD2Ev.exit: ; preds = %_ZNSt6vector %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %48 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %49 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %50 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !713 + %50 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !713 %51 = load ptr, ptr %before, align 8, !noalias !713 %sub.ptr.lhs.cast.i5.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.rhs.cast.i6.i.i.i.i.i = ptrtoint ptr %51 to i64 %sub.ptr.sub.i7.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, %sub.ptr.sub.i7.i.i.i.i.i - br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i78 land.rhs.i.i.i.i.i: ; preds = %_ZN4absl21discrete_distributionIhE10param_typeD2Ev.exit %cmp.not4.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, %48 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i %__first2.addr.06.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i ], [ %51, %land.rhs.i.i.i.i.i ] @@ -23074,45 +23072,45 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %52 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, align 8, !noalias !713 %53 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, align 8, !noalias !713 %cmp1.i.i.i.i.i.i.i.i.i = fcmp oeq double %52, %53 - br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i78 for.inc.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, i64 1 %incdec.ptr2.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %48 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 -if.then.i.i83: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i +if.then.i.i79: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont104 unwind label %lpad103 -if.end.i.i82: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIhE10param_typeD2Ev.exit +if.end.i.i78: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIhE10param_typeD2Ev.exit invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIhEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97, ptr noundef nonnull align 8 dereferenceable(48) %via_param, ptr noundef nonnull align 8 dereferenceable(48) %before) to label %invoke.cont104 unwind label %lpad103 -invoke.cont104: ; preds = %if.then.i.i83, %if.end.i.i82 +invoke.cont104: ; preds = %if.then.i.i79, %if.end.i.i78 %54 = load i8, ptr %gtest_ar102, align 8 %55 = and i8 %54, 1 - %tobool.i86.not = icmp eq i8 %55, 0 - br i1 %tobool.i86.not, label %if.else107, label %if.end120 + %tobool.i82.not = icmp eq i8 %55, 0 + br i1 %tobool.i82.not, label %if.else107, label %if.end120 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad65 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit74 ], [ %39, %lpad65 ] +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad65 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit71 ], [ %39, %lpad65 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50) #23 br label %ehcleanup172 lpad97: ; preds = %invoke.cont86 %56 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 lpad99: ; preds = %invoke.cont98 %57 = landingpad { ptr, i32 } cleanup call void @_ZN4absl21discrete_distributionIhE10param_typeD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -lpad103: ; preds = %if.end.i.i82, %if.then.i.i83 +lpad103: ; preds = %if.end.i.i78, %if.then.i.i79 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 @@ -23122,18 +23120,18 @@ if.else107: ; preds = %invoke.cont104 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %if.else107 - %message_.i.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i87, align 8 - %cmp.i.i.not.i.i88 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i88, label %invoke.cont113, label %cond.true.i.i89 + %message_.i.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i83, align 8 + %cmp.i.i.not.i.i84 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i84, label %invoke.cont113, label %cond.true.i.i85 -cond.true.i.i89: ; preds = %invoke.cont110 - %call4.i.i90 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i85: ; preds = %invoke.cont110 + %call4.i.i86 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont113 -invoke.cont113: ; preds = %cond.true.i.i89, %invoke.cont110 - %cond.i.i91 = phi ptr [ %call4.i.i90, %cond.true.i.i89 ], [ @.str, %invoke.cont110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i91) +invoke.cont113: ; preds = %cond.true.i.i85, %invoke.cont110 + %cond.i.i87 = phi ptr [ %call4.i.i86, %cond.true.i.i85 ], [ @.str, %invoke.cont110 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i87) to label %invoke.cont115 unwind label %lpad112 invoke.cont115: ; preds = %invoke.cont113 @@ -23143,17 +23141,17 @@ invoke.cont115: ; preds = %invoke.cont113 invoke.cont117: ; preds = %invoke.cont115 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111) #23 %60 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i93 = icmp eq ptr %60, null - br i1 %cmp.not.i.i93, label %_ZN7testing7MessageD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 + %cmp.not.i.i89 = icmp eq ptr %60, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont117 - %vtable.i.i.i95 = load ptr, ptr %60, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %61 = load ptr, ptr %vfn.i.i.i96, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %invoke.cont117 + %vtable.i.i.i91 = load ptr, ptr %60, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %61 = load ptr, ptr %vfn.i.i.i92, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit97 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit97: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 +_ZN7testing7MessageD2Ev.exit93: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp108, align 8 br label %if.end120 @@ -23176,52 +23174,52 @@ lpad116: ; preds = %invoke.cont115 ehcleanup119: ; preds = %lpad116, %lpad112 %.pn10 = phi { ptr, i32 } [ %64, %lpad116 ], [ %63, %lpad112 ] %65 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i98 = icmp eq ptr %65, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i94 = icmp eq ptr %65, null + br i1 %cmp.not.i.i94, label %_ZN7testing7MessageD2Ev.exit98, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup119 - %vtable.i.i.i100 = load ptr, ptr %65, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %66 = load ptr, ptr %vfn.i.i.i101, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95: ; preds = %ehcleanup119 + %vtable.i.i.i96 = load ptr, ptr %65, align 8 + %vfn.i.i.i97 = getelementptr inbounds ptr, ptr %vtable.i.i.i96, i64 1 + %66 = load ptr, ptr %vfn.i.i.i97, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit102 + br label %_ZN7testing7MessageD2Ev.exit98 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit98: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %ref.tmp108, align 8 br label %ehcleanup121 -if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit97 - %message_.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %67 = load ptr, ptr %message_.i103, align 8 - %cmp.not.i.i104 = icmp eq ptr %67, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit93 + %message_.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %67 = load ptr, ptr %message_.i99, align 8 + %cmp.not.i.i100 = icmp eq ptr %67, null + br i1 %cmp.not.i.i100, label %_ZN7testing15AssertionResultD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end120 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %if.end120 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit106 + br label %_ZN7testing15AssertionResultD2Ev.exit102 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 - store ptr null, ptr %message_.i103, align 8 - %q_.i.i107 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 - %68 = load ptr, ptr %q_.i.i107, align 8 - %tobool.not.i.i.i.i.i108 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i.i.i108, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, label %if.then.i.i.i.i.i109 +_ZN7testing15AssertionResultD2Ev.exit102: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 + store ptr null, ptr %message_.i99, align 8 + %q_.i.i103 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 + %68 = load ptr, ptr %q_.i.i103, align 8 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, label %if.then.i.i.i.i.i105 -if.then.i.i.i.i.i109: ; preds = %_ZN7testing15AssertionResultD2Ev.exit106 +if.then.i.i.i.i.i105: ; preds = %_ZN7testing15AssertionResultD2Ev.exit102 call void @_ZdlPv(ptr noundef nonnull %68) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110: ; preds = %if.then.i.i.i.i.i109, %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106: ; preds = %if.then.i.i.i.i.i105, %_ZN7testing15AssertionResultD2Ev.exit102 %69 = load ptr, ptr %via_param, align 8 - %tobool.not.i.i.i1.i.i111 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i1.i.i111, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i112 + %tobool.not.i.i.i1.i.i107 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i1.i.i107, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i108 -if.then.i.i.i2.i.i112: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 +if.then.i.i.i2.i.i108: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 call void @_ZdlPv(ptr noundef nonnull %69) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit -_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, %if.then.i.i.i2.i.i112 +_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, %if.then.i.i.i2.i.i108 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) to label %invoke.cont124 unwind label %lpad21 @@ -23234,87 +23232,87 @@ invoke.cont124: ; preds = %_ZNSt6vectorIdSaIdE invoke.cont126: ; preds = %invoke.cont124 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %after, i8 0, i64 48, i1 false) invoke void @_ZN4absl21discrete_distributionIhE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %after) - to label %invoke.cont128 unwind label %lpad.i.i115 + to label %invoke.cont128 unwind label %lpad.i.i111 -lpad.i.i115: ; preds = %invoke.cont126 +lpad.i.i111: ; preds = %invoke.cont126 %70 = landingpad { ptr, i32 } cleanup - %q_.i.i116 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %71 = load ptr, ptr %q_.i.i116, align 8 - %tobool.not.i.i.i.i.i117 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, label %if.then.i.i.i.i.i118 + %q_.i.i112 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %71 = load ptr, ptr %q_.i.i112, align 8 + %tobool.not.i.i.i.i.i113 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i113, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, label %if.then.i.i.i.i.i114 -if.then.i.i.i.i.i118: ; preds = %lpad.i.i115 +if.then.i.i.i.i.i114: ; preds = %lpad.i.i111 call void @_ZdlPv(ptr noundef nonnull %71) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119: ; preds = %if.then.i.i.i.i.i118, %lpad.i.i115 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115: ; preds = %if.then.i.i.i.i.i114, %lpad.i.i111 %72 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i120 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i1.i.i120, label %ehcleanup171, label %if.then.i.i.i2.i.i121 + %tobool.not.i.i.i1.i.i116 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i1.i.i116, label %ehcleanup171, label %if.then.i.i.i2.i.i117 -if.then.i.i.i2.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 +if.then.i.i.i2.i.i117: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 call void @_ZdlPv(ptr noundef nonnull %72) #24 br label %ehcleanup171 invoke.cont128: ; preds = %invoke.cont126 - %73 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !718 + %73 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !718 %74 = load ptr, ptr %before, align 8, !noalias !718 - %sub.ptr.lhs.cast.i.i.i.i.i.i126 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i127 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i126, %sub.ptr.rhs.cast.i.i.i.i.i.i127 - %_M_finish.i4.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 - %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !718 + %sub.ptr.lhs.cast.i.i.i.i.i.i122 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i123 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i.i.i.i.i124 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i122, %sub.ptr.rhs.cast.i.i.i.i.i.i123 + %_M_finish.i4.i.i.i.i.i125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 + %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !718 %76 = load ptr, ptr %after, align 8, !noalias !718 - %sub.ptr.lhs.cast.i5.i.i.i.i.i130 = ptrtoint ptr %75 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i131 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i7.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i130, %sub.ptr.rhs.cast.i6.i.i.i.i.i131 - %cmp.i.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i128, %sub.ptr.sub.i7.i.i.i.i.i132 - br i1 %cmp.i.i.i.i.i133, label %land.rhs.i.i.i.i.i134, label %if.then.i - -land.rhs.i.i.i.i.i134: ; preds = %invoke.cont128 - %cmp.not4.i.i.i.i.i.i.i.i.i135 = icmp eq ptr %74, %73 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i135, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136 - -for.body.i.i.i.i.i.i.i.i.i136: ; preds = %land.rhs.i.i.i.i.i134, %for.inc.i.i.i.i.i.i.i.i.i140 - %__first2.addr.06.i.i.i.i.i.i.i.i.i137 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i142, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %76, %land.rhs.i.i.i.i.i134 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i138 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i141, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %74, %land.rhs.i.i.i.i.i134 ] - %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, align 8, !noalias !718 - %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, align 8, !noalias !718 - %cmp1.i.i.i.i.i.i.i.i.i139 = fcmp une double %77, %78 - br i1 %cmp1.i.i.i.i.i.i.i.i.i139, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i140 - -for.inc.i.i.i.i.i.i.i.i.i140: ; preds = %for.body.i.i.i.i.i.i.i.i.i136 - %incdec.ptr.i.i.i.i.i.i.i.i.i141 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i142 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i143 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i141, %73 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i143, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136, !llvm.loop !610 - -if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i136, %invoke.cont128 + %sub.ptr.lhs.cast.i5.i.i.i.i.i126 = ptrtoint ptr %75 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i127 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i7.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i126, %sub.ptr.rhs.cast.i6.i.i.i.i.i127 + %cmp.i.i.i.i.i129 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i124, %sub.ptr.sub.i7.i.i.i.i.i128 + br i1 %cmp.i.i.i.i.i129, label %land.rhs.i.i.i.i.i130, label %if.then.i + +land.rhs.i.i.i.i.i130: ; preds = %invoke.cont128 + %cmp.not4.i.i.i.i.i.i.i.i.i131 = icmp eq ptr %74, %73 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i131, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132 + +for.body.i.i.i.i.i.i.i.i.i132: ; preds = %land.rhs.i.i.i.i.i130, %for.inc.i.i.i.i.i.i.i.i.i136 + %__first2.addr.06.i.i.i.i.i.i.i.i.i133 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i138, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %76, %land.rhs.i.i.i.i.i130 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i134 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i137, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %74, %land.rhs.i.i.i.i.i130 ] + %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, align 8, !noalias !718 + %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, align 8, !noalias !718 + %cmp1.i.i.i.i.i.i.i.i.i135 = fcmp une double %77, %78 + br i1 %cmp1.i.i.i.i.i.i.i.i.i135, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i136 + +for.inc.i.i.i.i.i.i.i.i.i136: ; preds = %for.body.i.i.i.i.i.i.i.i.i132 + %incdec.ptr.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i138 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i137, %73 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i139, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132, !llvm.loop !610 + +if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i132, %invoke.cont128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129) to label %invoke.cont131 unwind label %lpad130 -if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i140, %land.rhs.i.i.i.i.i134 +if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i136, %land.rhs.i.i.i.i.i130 invoke void @_ZN7testing8internal18CmpHelperOpFailureIN4absl21discrete_distributionIhEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_S7_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after, ptr noundef nonnull @.str.99) to label %invoke.cont131 unwind label %lpad130 invoke.cont131: ; preds = %if.then.i, %if.else.i %79 = load i8, ptr %gtest_ar129, align 8 %80 = and i8 %79, 1 - %tobool.i146.not = icmp eq i8 %80, 0 - br i1 %tobool.i146.not, label %if.else134, label %if.end147 + %tobool.i142.not = icmp eq i8 %80, 0 + br i1 %tobool.i142.not, label %if.else134, label %if.end147 -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit102, %lpad109 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit102 ], [ %62, %lpad109 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit98, %lpad109 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit98 ], [ %62, %lpad109 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #23 br label %ehcleanup122 ehcleanup122: ; preds = %ehcleanup121, %lpad103 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup121 ], [ %58, %lpad103 ] call void @_ZN4absl21discrete_distributionIhED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %via_param) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -_ZNSt6vectorIdSaIdEED2Ev.exit150: ; preds = %ehcleanup122, %lpad99, %lpad97 +_ZNSt6vectorIdSaIdEED2Ev.exit146: ; preds = %ehcleanup122, %lpad99, %lpad97 %.pn10.pn.pn.pn = phi { ptr, i32 } [ %.pn10.pn.pn, %ehcleanup122 ], [ %57, %lpad99 ], [ %56, %lpad97 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 br label %ehcleanup172 @@ -23324,7 +23322,7 @@ lpad125: ; preds = %invoke.cont124 cleanup br label %ehcleanup171 -lpad130: ; preds = %if.end.i.i180, %if.then.i.i191, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit170 +lpad130: ; preds = %if.end.i.i176, %if.then.i.i187, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit166 %82 = landingpad { ptr, i32 } cleanup br label %ehcleanup170 @@ -23334,18 +23332,18 @@ if.else134: ; preds = %invoke.cont131 to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont140, label %cond.true.i.i153 + %message_.i.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i147, align 8 + %cmp.i.i.not.i.i148 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i148, label %invoke.cont140, label %cond.true.i.i149 -cond.true.i.i153: ; preds = %invoke.cont137 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 +cond.true.i.i149: ; preds = %invoke.cont137 + %call4.i.i150 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i153, %invoke.cont137 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i155) +invoke.cont140: ; preds = %cond.true.i.i149, %invoke.cont137 + %cond.i.i151 = phi ptr [ %call4.i.i150, %cond.true.i.i149 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i151) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -23355,17 +23353,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %84 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i157 = icmp eq ptr %84, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i153 = icmp eq ptr %84, null + br i1 %cmp.not.i.i153, label %_ZN7testing7MessageD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont144 - %vtable.i.i.i159 = load ptr, ptr %84, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %85 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %invoke.cont144 + %vtable.i.i.i155 = load ptr, ptr %84, align 8 + %vfn.i.i.i156 = getelementptr inbounds ptr, ptr %vtable.i.i.i155, i64 1 + %85 = load ptr, ptr %vfn.i.i.i156, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #23 - br label %_ZN7testing7MessageD2Ev.exit161 + br label %_ZN7testing7MessageD2Ev.exit157 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit157: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 store ptr null, ptr %ref.tmp135, align 8 br label %if.end147 @@ -23388,84 +23386,84 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn15 = phi { ptr, i32 } [ %88, %lpad143 ], [ %87, %lpad139 ] %89 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i162 = icmp eq ptr %89, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i158 = icmp eq ptr %89, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup146 - %vtable.i.i.i164 = load ptr, ptr %89, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %90 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %ehcleanup146 + %vtable.i.i.i160 = load ptr, ptr %89, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %90 = load ptr, ptr %vfn.i.i.i161, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit162: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %91 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %91, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit157 + %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %91 = load ptr, ptr %message_.i163, align 8 + %cmp.not.i.i164 = icmp eq ptr %91, null + br i1 %cmp.not.i.i164, label %_ZN7testing15AssertionResultD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #23 call void @_ZdlPv(ptr noundef nonnull %91) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit166 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit166: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + store ptr null, ptr %message_.i163, align 8 %call150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4abslrsIcSt11char_traitsIcEhEERSt13basic_istreamIT_T0_ES7_RNS_21discrete_distributionIT1_EE(ptr noundef nonnull align 8 dereferenceable(16) %ss, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont149 unwind label %lpad130 -invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !721 +invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit166 + %92 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !721 %93 = load ptr, ptr %before, align 8, !noalias !721 - %sub.ptr.lhs.cast.i.i.i.i.i.i172 = ptrtoint ptr %92 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i173 = ptrtoint ptr %93 to i64 - %sub.ptr.sub.i.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i172, %sub.ptr.rhs.cast.i.i.i.i.i.i173 - %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !721 + %sub.ptr.lhs.cast.i.i.i.i.i.i168 = ptrtoint ptr %92 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i169 = ptrtoint ptr %93 to i64 + %sub.ptr.sub.i.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i.i169 + %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !721 %95 = load ptr, ptr %after, align 8, !noalias !721 - %sub.ptr.lhs.cast.i5.i.i.i.i.i176 = ptrtoint ptr %94 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i177 = ptrtoint ptr %95 to i64 - %sub.ptr.sub.i7.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i176, %sub.ptr.rhs.cast.i6.i.i.i.i.i177 - %cmp.i.i.i.i.i179 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i174, %sub.ptr.sub.i7.i.i.i.i.i178 - br i1 %cmp.i.i.i.i.i179, label %land.rhs.i.i.i.i.i181, label %if.end.i.i180 - -land.rhs.i.i.i.i.i181: ; preds = %invoke.cont149 - %cmp.not4.i.i.i.i.i.i.i.i.i182 = icmp eq ptr %93, %92 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i182, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183 - -for.body.i.i.i.i.i.i.i.i.i183: ; preds = %land.rhs.i.i.i.i.i181, %for.inc.i.i.i.i.i.i.i.i.i187 - %__first2.addr.06.i.i.i.i.i.i.i.i.i184 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i189, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %95, %land.rhs.i.i.i.i.i181 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i185 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i188, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %93, %land.rhs.i.i.i.i.i181 ] - %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, align 8, !noalias !721 - %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, align 8, !noalias !721 - %cmp1.i.i.i.i.i.i.i.i.i186 = fcmp oeq double %96, %97 - br i1 %cmp1.i.i.i.i.i.i.i.i.i186, label %for.inc.i.i.i.i.i.i.i.i.i187, label %if.end.i.i180 - -for.inc.i.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i.i.i.i.i.i183 - %incdec.ptr.i.i.i.i.i.i.i.i.i188 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i189 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i190 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i188, %92 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i190, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183, !llvm.loop !610 - -if.then.i.i191: ; preds = %for.inc.i.i.i.i.i.i.i.i.i187, %land.rhs.i.i.i.i.i181 + %sub.ptr.lhs.cast.i5.i.i.i.i.i172 = ptrtoint ptr %94 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i173 = ptrtoint ptr %95 to i64 + %sub.ptr.sub.i7.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i.i.i173 + %cmp.i.i.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i170, %sub.ptr.sub.i7.i.i.i.i.i174 + br i1 %cmp.i.i.i.i.i175, label %land.rhs.i.i.i.i.i177, label %if.end.i.i176 + +land.rhs.i.i.i.i.i177: ; preds = %invoke.cont149 + %cmp.not4.i.i.i.i.i.i.i.i.i178 = icmp eq ptr %93, %92 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i178, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179 + +for.body.i.i.i.i.i.i.i.i.i179: ; preds = %land.rhs.i.i.i.i.i177, %for.inc.i.i.i.i.i.i.i.i.i183 + %__first2.addr.06.i.i.i.i.i.i.i.i.i180 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i185, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %95, %land.rhs.i.i.i.i.i177 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i181 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i184, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %93, %land.rhs.i.i.i.i.i177 ] + %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, align 8, !noalias !721 + %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, align 8, !noalias !721 + %cmp1.i.i.i.i.i.i.i.i.i182 = fcmp oeq double %96, %97 + br i1 %cmp1.i.i.i.i.i.i.i.i.i182, label %for.inc.i.i.i.i.i.i.i.i.i183, label %if.end.i.i176 + +for.inc.i.i.i.i.i.i.i.i.i183: ; preds = %for.body.i.i.i.i.i.i.i.i.i179 + %incdec.ptr.i.i.i.i.i.i.i.i.i184 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i185 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i186 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i184, %92 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i186, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179, !llvm.loop !610 + +if.then.i.i187: ; preds = %for.inc.i.i.i.i.i.i.i.i.i183, %land.rhs.i.i.i.i.i177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151) to label %invoke.cont152 unwind label %lpad130 -if.end.i.i180: ; preds = %for.body.i.i.i.i.i.i.i.i.i183, %invoke.cont149 +if.end.i.i176: ; preds = %for.body.i.i.i.i.i.i.i.i.i179, %invoke.cont149 invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIhEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont152 unwind label %lpad130 -invoke.cont152: ; preds = %if.then.i.i191, %if.end.i.i180 +invoke.cont152: ; preds = %if.then.i.i187, %if.end.i.i176 %98 = load i8, ptr %gtest_ar151, align 8 %99 = and i8 %98, 1 - %tobool.i195.not = icmp eq i8 %99, 0 - br i1 %tobool.i195.not, label %if.else155, label %if.end168 + %tobool.i191.not = icmp eq i8 %99, 0 + br i1 %tobool.i191.not, label %if.else155, label %if.end168 -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad136 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit166 ], [ %86, %lpad136 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit162, %lpad136 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit162 ], [ %86, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar129) #23 br label %ehcleanup170 @@ -23474,18 +23472,18 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %message_.i.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %100 = load ptr, ptr %message_.i.i196, align 8 - %cmp.i.i.not.i.i197 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i197, label %invoke.cont161, label %cond.true.i.i198 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %100 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont161, label %cond.true.i.i194 -cond.true.i.i198: ; preds = %invoke.cont158 - %call4.i.i199 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 +cond.true.i.i194: ; preds = %invoke.cont158 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i198, %invoke.cont158 - %cond.i.i200 = phi ptr [ %call4.i.i199, %cond.true.i.i198 ], [ @.str, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i200) +invoke.cont161: ; preds = %cond.true.i.i194, %invoke.cont158 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i196) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -23495,17 +23493,17 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #23 %101 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i202 = icmp eq ptr %101, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i198 = icmp eq ptr %101, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %invoke.cont165 - %vtable.i.i.i204 = load ptr, ptr %101, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %102 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont165 + %vtable.i.i.i200 = load ptr, ptr %101, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %102 = load ptr, ptr %vfn.i.i.i201, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #23 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit206: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp156, align 8 br label %if.end168 @@ -23528,94 +23526,94 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn18 = phi { ptr, i32 } [ %105, %lpad164 ], [ %104, %lpad160 ] %106 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i207 = icmp eq ptr %106, null - br i1 %cmp.not.i.i207, label %_ZN7testing7MessageD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + %cmp.not.i.i203 = icmp eq ptr %106, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %ehcleanup167 - %vtable.i.i.i209 = load ptr, ptr %106, align 8 - %vfn.i.i.i210 = getelementptr inbounds ptr, ptr %vtable.i.i.i209, i64 1 - %107 = load ptr, ptr %vfn.i.i.i210, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup167 + %vtable.i.i.i205 = load ptr, ptr %106, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %107 = load ptr, ptr %vfn.i.i.i206, align 8 call void %107(ptr noundef nonnull align 8 dereferenceable(128) %106) #23 - br label %_ZN7testing7MessageD2Ev.exit211 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit211: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 -if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit206 - %message_.i212 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %108 = load ptr, ptr %message_.i212, align 8 - %cmp.not.i.i213 = icmp eq ptr %108, null - br i1 %cmp.not.i.i213, label %_ZN7testing15AssertionResultD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 +if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %108 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %108, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %if.end168 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end168 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #23 call void @_ZdlPv(ptr noundef nonnull %108) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit215 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit215: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 - store ptr null, ptr %message_.i212, align 8 - %q_.i.i216 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %109 = load ptr, ptr %q_.i.i216, align 8 - %tobool.not.i.i.i.i.i217 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i.i217, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, label %if.then.i.i.i.i.i218 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %q_.i.i212 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %109 = load ptr, ptr %q_.i.i212, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit215 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %109) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219: ; preds = %if.then.i.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit215 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %110 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i220 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i1.i.i220, label %_ZN4absl21discrete_distributionIhED2Ev.exit222, label %if.then.i.i.i2.i.i221 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i1.i.i216, label %_ZN4absl21discrete_distributionIhED2Ev.exit218, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i221: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %110) #24 - br label %_ZN4absl21discrete_distributionIhED2Ev.exit222 + br label %_ZN4absl21discrete_distributionIhED2Ev.exit218 -_ZN4absl21discrete_distributionIhED2Ev.exit222: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, %if.then.i.i.i2.i.i221 +_ZN4absl21discrete_distributionIhED2Ev.exit218: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 - %111 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, label %if.then.i.i.i.i.i225 + %111 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i.i.i220 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i.i.i220, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, label %if.then.i.i.i.i.i221 -if.then.i.i.i.i.i225: ; preds = %_ZN4absl21discrete_distributionIhED2Ev.exit222 +if.then.i.i.i.i.i221: ; preds = %_ZN4absl21discrete_distributionIhED2Ev.exit218 call void @_ZdlPv(ptr noundef nonnull %111) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226: ; preds = %if.then.i.i.i.i.i225, %_ZN4absl21discrete_distributionIhED2Ev.exit222 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222: ; preds = %if.then.i.i.i.i.i221, %_ZN4absl21discrete_distributionIhED2Ev.exit218 %112 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i1.i.i227 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i1.i.i227, label %_ZN4absl21discrete_distributionIhED2Ev.exit229, label %if.then.i.i.i2.i.i228 + %tobool.not.i.i.i1.i.i223 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i1.i.i223, label %_ZN4absl21discrete_distributionIhED2Ev.exit225, label %if.then.i.i.i2.i.i224 -if.then.i.i.i2.i.i228: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 +if.then.i.i.i2.i.i224: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 call void @_ZdlPv(ptr noundef nonnull %112) #24 - br label %_ZN4absl21discrete_distributionIhED2Ev.exit229 + br label %_ZN4absl21discrete_distributionIhED2Ev.exit225 -_ZN4absl21discrete_distributionIhED2Ev.exit229: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, %if.then.i.i.i2.i.i228 - %q_.i.i230 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 - %113 = load ptr, ptr %q_.i.i230, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i231, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, label %if.then.i.i.i.i.i232 +_ZN4absl21discrete_distributionIhED2Ev.exit225: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, %if.then.i.i.i2.i.i224 + %q_.i.i226 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 + %113 = load ptr, ptr %q_.i.i226, align 8 + %tobool.not.i.i.i.i.i227 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i227, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, label %if.then.i.i.i.i.i228 -if.then.i.i.i.i.i232: ; preds = %_ZN4absl21discrete_distributionIhED2Ev.exit229 +if.then.i.i.i.i.i228: ; preds = %_ZN4absl21discrete_distributionIhED2Ev.exit225 call void @_ZdlPv(ptr noundef nonnull %113) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233: ; preds = %if.then.i.i.i.i.i232, %_ZN4absl21discrete_distributionIhED2Ev.exit229 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229: ; preds = %if.then.i.i.i.i.i228, %_ZN4absl21discrete_distributionIhED2Ev.exit225 %114 = load ptr, ptr %empty, align 8 - %tobool.not.i.i.i1.i.i234 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i1.i.i234, label %_ZN4absl21discrete_distributionIhED2Ev.exit236, label %if.then.i.i.i2.i.i235 + %tobool.not.i.i.i1.i.i230 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i1.i.i230, label %_ZN4absl21discrete_distributionIhED2Ev.exit232, label %if.then.i.i.i2.i.i231 -if.then.i.i.i2.i.i235: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 +if.then.i.i.i2.i.i231: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 call void @_ZdlPv(ptr noundef nonnull %114) #24 - br label %_ZN4absl21discrete_distributionIhED2Ev.exit236 + br label %_ZN4absl21discrete_distributionIhED2Ev.exit232 -_ZN4absl21discrete_distributionIhED2Ev.exit236: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, %if.then.i.i.i2.i.i235 +_ZN4absl21discrete_distributionIhED2Ev.exit232: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, %if.then.i.i.i2.i.i231 ret void -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit211, %lpad157 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit211 ], [ %103, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad157 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit207 ], [ %103, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #23 br label %ehcleanup170 @@ -23624,18 +23622,18 @@ ehcleanup170: ; preds = %ehcleanup169, %ehcl call void @_ZN4absl21discrete_distributionIhED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %after) #23 br label %ehcleanup171 -ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i121, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, %ehcleanup170 - %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i121 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 ] +ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i117, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, %ehcleanup170 + %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i117 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 ] call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 br label %ehcleanup172 -ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit150, %ehcleanup77, %ehcleanup49, %lpad21 - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit150 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] +ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit146, %ehcleanup77, %ehcleanup49, %lpad21 + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit146 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] call void @_ZN4absl21discrete_distributionIhED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %before) #23 br label %ehcleanup173 -ehcleanup173: ; preds = %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, %eh.resume.sink.split.i.i, %lpad, %ehcleanup172, %ehcleanup17 - %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i.i ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 ], [ %16, %eh.resume.sink.split.i.i ] +ehcleanup173: ; preds = %lpad.i.i233, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, %eh.resume.sink.split.i, %lpad, %ehcleanup172, %ehcleanup17 + %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i233 ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 ], [ %16, %eh.resume.sink.split.i ] call void @_ZN4absl21discrete_distributionIhED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %empty) #23 br label %common.resume } @@ -23647,8 +23645,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i if.then.i.i.i: ; preds = %entry @@ -23663,7 +23660,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %entry br i1 %cmp.not.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i - %add.ptr3.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr3.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage4.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr3.i.i, ptr %_M_end_of_storage4.i.i, align 8 br label %invoke.cont @@ -23674,7 +23671,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i, ptr %this, align 8 - %add.ptr.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -23688,9 +23685,10 @@ lpad.i: ; preds = %if.then.i.i.i.i.i.i br i1 %tobool.not.i.i.i, label %eh.resume, label %eh.resume.sink.split invoke.cont: ; preds = %call5.i.i.i.i.noexc.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i - %add.ptr5.i.i = phi ptr [ %add.ptr3.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %add.ptr.i.i, %call5.i.i.i.i.noexc.i ] + %cond.i5.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %call5.i.i.i.i1.i, %call5.i.i.i.i.noexc.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr5.i.i, ptr %_M_finish.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIhE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %this) @@ -24082,30 +24080,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i22 = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store double %3, ptr %add.ptr.i.i22, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %p.sroa.0.267, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %p.sroa.0.267, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %p.sroa.0.267) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i20 - %add.ptr.i.i22.pn = phi ptr [ %add.ptr.i.i22, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] %p.sroa.15.2 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.15.166, %if.then.i20 ] %p.sroa.0.3 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.0.267, %if.then.i20 ] - %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i22.pn, i64 1 + %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %inc = add i8 %i.068, 1 %conv = zext i8 %inc to i64 %4 = load i64, ptr %n, align 8 @@ -24204,7 +24203,7 @@ if.then: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 %2 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i = icmp eq ptr %0, %2 - br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i, label %if.then.i.i + br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store double 1.000000e+00, ptr %0, align 8 @@ -24213,18 +24212,18 @@ if.then.i.i: ; preds = %if.then store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 br label %_ZNSt6vectorIdSaIdEE9push_backEOd.exit -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then %call5.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #25 store double 1.000000e+00, ptr %call5.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i store ptr %call5.i.i.i.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_end_of_storage.i.i, align 8 @@ -24272,7 +24271,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els tail call void @llvm.assume(i1 %cmp.not.i.i.i) %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 4 %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #25 - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i store double 1.000000e+00, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -24380,8 +24379,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %_ZNSt6vectorIdSaIdEEC2ERKS1_.exit _ZNSt6vectorIdSaIdEEC2ERKS1_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 %q_3 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %0, i64 0, i32 1 @@ -25278,65 +25276,65 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %before, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store ptr %call5.i.i.i.i2.i.i.i, ptr %before, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 3 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i33 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i33, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i233 + +call5.i.i.i.i.noexc.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store ptr %call5.i.i.i.i2.i.i, ptr %before, align 8 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 24 + %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 + store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) + %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 + store ptr %add.ptr.i1.i.i, ptr %_M_finish.i.i.i, align 8 + %q_.i235 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i235, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIsE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %before) - to label %invoke.cont22 unwind label %lpad2.i.i + to label %invoke.cont22 unwind label %lpad2.i -lpad.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +lpad.i.i233: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup173 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %16 = landingpad { ptr, i32 } cleanup - %17 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, label %if.then.i.i.i3.i.i + %17 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %17) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236: ; preds = %if.then.i.i.i3.i, %lpad2.i %18 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup173, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup173, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 call void @_ZdlPv(ptr noundef nonnull %18) #24 br label %ehcleanup173 -invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i.i +invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i store double 0.000000e+00, ptr %s, align 8 %19 = load ptr, ptr %before, align 8 - %20 = load ptr, ptr %_M_finish.i.i.i.i, align 8 - %cmp.i.not243 = icmp eq ptr %19, %20 - br i1 %cmp.i.not243, label %for.end.thread, label %for.body + %20 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.not244 = icmp eq ptr %19, %20 + br i1 %cmp.i.not244, label %for.end.thread, label %for.body for.end.thread: ; preds = %invoke.cont22 store double 1.000000e+00, ptr %ref.tmp31, align 8 br label %if.end.i.i for.body: ; preds = %invoke.cont22, %for.body - %__begin0.sroa.0.0245 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] - %add242244 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] - %21 = load double, ptr %__begin0.sroa.0.0245, align 8 - %add = fadd double %21, %add242244 + %__begin0.sroa.0.0246 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] + %add243245 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] + %21 = load double, ptr %__begin0.sroa.0.0246, align 8 + %add = fadd double %21, %add243245 store double %add, ptr %s, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0245, i64 1 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0246, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %20 br i1 %cmp.i.not, label %for.end, label %for.body @@ -25366,26 +25364,26 @@ if.end.i.i: ; preds = %for.end.thread, %fo invoke.cont32: ; preds = %if.then.i.i, %if.end.i.i %23 = load i8, ptr %gtest_ar30, align 8 %24 = and i8 %23, 1 - %tobool.i36.not = icmp eq i8 %24, 0 - br i1 %tobool.i36.not, label %if.else35, label %if.end48 + %tobool.i33.not = icmp eq i8 %24, 0 + br i1 %tobool.i33.not, label %if.else35, label %if.end48 if.else35: ; preds = %invoke.cont32 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) to label %invoke.cont38 unwind label %lpad37 invoke.cont38: ; preds = %if.else35 - %message_.i.i37 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %25 = load ptr, ptr %message_.i.i37, align 8 - %cmp.i.i.not.i.i38 = icmp eq ptr %25, null - br i1 %cmp.i.i.not.i.i38, label %invoke.cont41, label %cond.true.i.i39 + %message_.i.i34 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %25 = load ptr, ptr %message_.i.i34, align 8 + %cmp.i.i.not.i.i35 = icmp eq ptr %25, null + br i1 %cmp.i.i.not.i.i35, label %invoke.cont41, label %cond.true.i.i36 -cond.true.i.i39: ; preds = %invoke.cont38 - %call4.i.i40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 +cond.true.i.i36: ; preds = %invoke.cont38 + %call4.i.i37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 br label %invoke.cont41 -invoke.cont41: ; preds = %cond.true.i.i39, %invoke.cont38 - %cond.i.i41 = phi ptr [ %call4.i.i40, %cond.true.i.i39 ], [ @.str, %invoke.cont38 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i41) +invoke.cont41: ; preds = %cond.true.i.i36, %invoke.cont38 + %cond.i.i38 = phi ptr [ %call4.i.i37, %cond.true.i.i36 ], [ @.str, %invoke.cont38 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i38) to label %invoke.cont43 unwind label %lpad40 invoke.cont43: ; preds = %invoke.cont41 @@ -25395,17 +25393,17 @@ invoke.cont43: ; preds = %invoke.cont41 invoke.cont45: ; preds = %invoke.cont43 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #23 %26 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i43 = icmp eq ptr %26, null - br i1 %cmp.not.i.i43, label %_ZN7testing7MessageD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 + %cmp.not.i.i40 = icmp eq ptr %26, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44: ; preds = %invoke.cont45 - %vtable.i.i.i45 = load ptr, ptr %26, align 8 - %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 - %27 = load ptr, ptr %vfn.i.i.i46, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %invoke.cont45 + %vtable.i.i.i42 = load ptr, ptr %26, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %27 = load ptr, ptr %vfn.i.i.i43, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #23 - br label %_ZN7testing7MessageD2Ev.exit47 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit47: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 +_ZN7testing7MessageD2Ev.exit44: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp36, align 8 br label %if.end48 @@ -25428,47 +25426,47 @@ lpad44: ; preds = %invoke.cont43 ehcleanup47: ; preds = %lpad44, %lpad40 %.pn4 = phi { ptr, i32 } [ %30, %lpad44 ], [ %29, %lpad40 ] %31 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i48 = icmp eq ptr %31, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i45 = icmp eq ptr %31, null + br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup47 - %vtable.i.i.i50 = load ptr, ptr %31, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %32 = load ptr, ptr %vfn.i.i.i51, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %ehcleanup47 + %vtable.i.i.i47 = load ptr, ptr %31, align 8 + %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 + %32 = load ptr, ptr %vfn.i.i.i48, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #23 - br label %_ZN7testing7MessageD2Ev.exit52 + br label %_ZN7testing7MessageD2Ev.exit49 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit49: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 store ptr null, ptr %ref.tmp36, align 8 br label %ehcleanup49 -if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit47 - %message_.i53 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %33 = load ptr, ptr %message_.i53, align 8 - %cmp.not.i.i54 = icmp eq ptr %33, null - br i1 %cmp.not.i.i54, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit44 + %message_.i50 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %33 = load ptr, ptr %message_.i50, align 8 + %cmp.not.i.i51 = icmp eq ptr %33, null + br i1 %cmp.not.i.i51, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %if.end48 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52: ; preds = %if.end48 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 call void @_ZdlPv(ptr noundef nonnull %33) #24 br label %invoke.cont58 -invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %if.end48 - store ptr null, ptr %message_.i53, align 8 +invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52, %if.end48 + store ptr null, ptr %message_.i50, align 8 store <2 x double> , ptr %ref.tmp51, align 16 - %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 - store double 2.500000e-01, ptr %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx, align 16 + %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 + store double 2.500000e-01, ptr %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar50, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp51, ptr noundef nonnull @.str.94, ptr noundef nonnull align 8 dereferenceable(24) %before) to label %invoke.cont60 unwind label %lpad21 invoke.cont60: ; preds = %invoke.cont58 %34 = load i8, ptr %gtest_ar50, align 8 %35 = and i8 %34, 1 - %tobool.i58.not = icmp eq i8 %35, 0 - br i1 %tobool.i58.not, label %if.else63, label %if.end76 + %tobool.i55.not = icmp eq i8 %35, 0 + br i1 %tobool.i55.not, label %if.else63, label %if.end76 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad37 - %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit52 ], [ %28, %lpad37 ] +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad37 + %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit49 ], [ %28, %lpad37 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar30) #23 br label %ehcleanup172 @@ -25477,18 +25475,18 @@ if.else63: ; preds = %invoke.cont60 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %if.else63 - %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %36 = load ptr, ptr %message_.i.i59, align 8 - %cmp.i.i.not.i.i60 = icmp eq ptr %36, null - br i1 %cmp.i.i.not.i.i60, label %invoke.cont69, label %cond.true.i.i61 + %message_.i.i56 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %36 = load ptr, ptr %message_.i.i56, align 8 + %cmp.i.i.not.i.i57 = icmp eq ptr %36, null + br i1 %cmp.i.i.not.i.i57, label %invoke.cont69, label %cond.true.i.i58 -cond.true.i.i61: ; preds = %invoke.cont66 - %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 +cond.true.i.i58: ; preds = %invoke.cont66 + %call4.i.i59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 br label %invoke.cont69 -invoke.cont69: ; preds = %cond.true.i.i61, %invoke.cont66 - %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str, %invoke.cont66 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i63) +invoke.cont69: ; preds = %cond.true.i.i58, %invoke.cont66 + %cond.i.i60 = phi ptr [ %call4.i.i59, %cond.true.i.i58 ], [ @.str, %invoke.cont66 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i60) to label %invoke.cont71 unwind label %lpad68 invoke.cont71: ; preds = %invoke.cont69 @@ -25498,17 +25496,17 @@ invoke.cont71: ; preds = %invoke.cont69 invoke.cont73: ; preds = %invoke.cont71 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #23 %37 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i65 = icmp eq ptr %37, null - br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 + %cmp.not.i.i62 = icmp eq ptr %37, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont73 - %vtable.i.i.i67 = load ptr, ptr %37, align 8 - %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 - %38 = load ptr, ptr %vfn.i.i.i68, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %invoke.cont73 + %vtable.i.i.i64 = load ptr, ptr %37, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %38 = load ptr, ptr %vfn.i.i.i65, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #23 - br label %_ZN7testing7MessageD2Ev.exit69 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 +_ZN7testing7MessageD2Ev.exit66: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 @@ -25531,45 +25529,45 @@ lpad72: ; preds = %invoke.cont71 ehcleanup75: ; preds = %lpad72, %lpad68 %.pn7 = phi { ptr, i32 } [ %41, %lpad72 ], [ %40, %lpad68 ] %42 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i70 = icmp eq ptr %42, null - br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 + %cmp.not.i.i67 = icmp eq ptr %42, null + br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup75 - %vtable.i.i.i72 = load ptr, ptr %42, align 8 - %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 - %43 = load ptr, ptr %vfn.i.i.i73, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup75 + %vtable.i.i.i69 = load ptr, ptr %42, align 8 + %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 + %43 = load ptr, ptr %vfn.i.i.i70, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #23 - br label %_ZN7testing7MessageD2Ev.exit74 + br label %_ZN7testing7MessageD2Ev.exit71 -_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 +_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit69 - %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %44 = load ptr, ptr %message_.i75, align 8 - %cmp.not.i.i76 = icmp eq ptr %44, null - br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit66 + %message_.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %44 = load ptr, ptr %message_.i72, align 8 + %cmp.not.i.i73 = icmp eq ptr %44, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end76 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end76 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 call void @_ZdlPv(ptr noundef nonnull %44) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit78 + br label %_ZN7testing15AssertionResultD2Ev.exit75 -_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 - store ptr null, ptr %message_.i75, align 8 +_ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + store ptr null, ptr %message_.i72, align 8 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 to label %invoke.cont86 unwind label %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i -_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 +_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 +invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - invoke void @_ZN4absl21discrete_distributionIsE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 + invoke void @_ZN4absl21discrete_distributionIsE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont86 @@ -25602,17 +25600,17 @@ _ZN4absl21discrete_distributionIsE10param_typeD2Ev.exit: ; preds = %_ZNSt6vector %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %48 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %49 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %50 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !772 + %50 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !772 %51 = load ptr, ptr %before, align 8, !noalias !772 %sub.ptr.lhs.cast.i5.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.rhs.cast.i6.i.i.i.i.i = ptrtoint ptr %51 to i64 %sub.ptr.sub.i7.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, %sub.ptr.sub.i7.i.i.i.i.i - br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i78 land.rhs.i.i.i.i.i: ; preds = %_ZN4absl21discrete_distributionIsE10param_typeD2Ev.exit %cmp.not4.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, %48 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i %__first2.addr.06.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i ], [ %51, %land.rhs.i.i.i.i.i ] @@ -25620,45 +25618,45 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %52 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, align 8, !noalias !772 %53 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, align 8, !noalias !772 %cmp1.i.i.i.i.i.i.i.i.i = fcmp oeq double %52, %53 - br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i78 for.inc.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, i64 1 %incdec.ptr2.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %48 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 -if.then.i.i83: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i +if.then.i.i79: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont104 unwind label %lpad103 -if.end.i.i82: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIsE10param_typeD2Ev.exit +if.end.i.i78: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIsE10param_typeD2Ev.exit invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIsEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97, ptr noundef nonnull align 8 dereferenceable(48) %via_param, ptr noundef nonnull align 8 dereferenceable(48) %before) to label %invoke.cont104 unwind label %lpad103 -invoke.cont104: ; preds = %if.then.i.i83, %if.end.i.i82 +invoke.cont104: ; preds = %if.then.i.i79, %if.end.i.i78 %54 = load i8, ptr %gtest_ar102, align 8 %55 = and i8 %54, 1 - %tobool.i86.not = icmp eq i8 %55, 0 - br i1 %tobool.i86.not, label %if.else107, label %if.end120 + %tobool.i82.not = icmp eq i8 %55, 0 + br i1 %tobool.i82.not, label %if.else107, label %if.end120 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad65 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit74 ], [ %39, %lpad65 ] +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad65 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit71 ], [ %39, %lpad65 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50) #23 br label %ehcleanup172 lpad97: ; preds = %invoke.cont86 %56 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 lpad99: ; preds = %invoke.cont98 %57 = landingpad { ptr, i32 } cleanup call void @_ZN4absl21discrete_distributionIsE10param_typeD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -lpad103: ; preds = %if.end.i.i82, %if.then.i.i83 +lpad103: ; preds = %if.end.i.i78, %if.then.i.i79 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 @@ -25668,18 +25666,18 @@ if.else107: ; preds = %invoke.cont104 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %if.else107 - %message_.i.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i87, align 8 - %cmp.i.i.not.i.i88 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i88, label %invoke.cont113, label %cond.true.i.i89 + %message_.i.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i83, align 8 + %cmp.i.i.not.i.i84 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i84, label %invoke.cont113, label %cond.true.i.i85 -cond.true.i.i89: ; preds = %invoke.cont110 - %call4.i.i90 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i85: ; preds = %invoke.cont110 + %call4.i.i86 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont113 -invoke.cont113: ; preds = %cond.true.i.i89, %invoke.cont110 - %cond.i.i91 = phi ptr [ %call4.i.i90, %cond.true.i.i89 ], [ @.str, %invoke.cont110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i91) +invoke.cont113: ; preds = %cond.true.i.i85, %invoke.cont110 + %cond.i.i87 = phi ptr [ %call4.i.i86, %cond.true.i.i85 ], [ @.str, %invoke.cont110 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i87) to label %invoke.cont115 unwind label %lpad112 invoke.cont115: ; preds = %invoke.cont113 @@ -25689,17 +25687,17 @@ invoke.cont115: ; preds = %invoke.cont113 invoke.cont117: ; preds = %invoke.cont115 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111) #23 %60 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i93 = icmp eq ptr %60, null - br i1 %cmp.not.i.i93, label %_ZN7testing7MessageD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 + %cmp.not.i.i89 = icmp eq ptr %60, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont117 - %vtable.i.i.i95 = load ptr, ptr %60, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %61 = load ptr, ptr %vfn.i.i.i96, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %invoke.cont117 + %vtable.i.i.i91 = load ptr, ptr %60, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %61 = load ptr, ptr %vfn.i.i.i92, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit97 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit97: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 +_ZN7testing7MessageD2Ev.exit93: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp108, align 8 br label %if.end120 @@ -25722,52 +25720,52 @@ lpad116: ; preds = %invoke.cont115 ehcleanup119: ; preds = %lpad116, %lpad112 %.pn10 = phi { ptr, i32 } [ %64, %lpad116 ], [ %63, %lpad112 ] %65 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i98 = icmp eq ptr %65, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i94 = icmp eq ptr %65, null + br i1 %cmp.not.i.i94, label %_ZN7testing7MessageD2Ev.exit98, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup119 - %vtable.i.i.i100 = load ptr, ptr %65, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %66 = load ptr, ptr %vfn.i.i.i101, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95: ; preds = %ehcleanup119 + %vtable.i.i.i96 = load ptr, ptr %65, align 8 + %vfn.i.i.i97 = getelementptr inbounds ptr, ptr %vtable.i.i.i96, i64 1 + %66 = load ptr, ptr %vfn.i.i.i97, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit102 + br label %_ZN7testing7MessageD2Ev.exit98 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit98: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %ref.tmp108, align 8 br label %ehcleanup121 -if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit97 - %message_.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %67 = load ptr, ptr %message_.i103, align 8 - %cmp.not.i.i104 = icmp eq ptr %67, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit93 + %message_.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %67 = load ptr, ptr %message_.i99, align 8 + %cmp.not.i.i100 = icmp eq ptr %67, null + br i1 %cmp.not.i.i100, label %_ZN7testing15AssertionResultD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end120 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %if.end120 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit106 + br label %_ZN7testing15AssertionResultD2Ev.exit102 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 - store ptr null, ptr %message_.i103, align 8 - %q_.i.i107 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 - %68 = load ptr, ptr %q_.i.i107, align 8 - %tobool.not.i.i.i.i.i108 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i.i.i108, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, label %if.then.i.i.i.i.i109 +_ZN7testing15AssertionResultD2Ev.exit102: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 + store ptr null, ptr %message_.i99, align 8 + %q_.i.i103 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 + %68 = load ptr, ptr %q_.i.i103, align 8 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, label %if.then.i.i.i.i.i105 -if.then.i.i.i.i.i109: ; preds = %_ZN7testing15AssertionResultD2Ev.exit106 +if.then.i.i.i.i.i105: ; preds = %_ZN7testing15AssertionResultD2Ev.exit102 call void @_ZdlPv(ptr noundef nonnull %68) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110: ; preds = %if.then.i.i.i.i.i109, %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106: ; preds = %if.then.i.i.i.i.i105, %_ZN7testing15AssertionResultD2Ev.exit102 %69 = load ptr, ptr %via_param, align 8 - %tobool.not.i.i.i1.i.i111 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i1.i.i111, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i112 + %tobool.not.i.i.i1.i.i107 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i1.i.i107, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i108 -if.then.i.i.i2.i.i112: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 +if.then.i.i.i2.i.i108: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 call void @_ZdlPv(ptr noundef nonnull %69) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit -_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, %if.then.i.i.i2.i.i112 +_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, %if.then.i.i.i2.i.i108 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) to label %invoke.cont124 unwind label %lpad21 @@ -25780,87 +25778,87 @@ invoke.cont124: ; preds = %_ZNSt6vectorIdSaIdE invoke.cont126: ; preds = %invoke.cont124 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %after, i8 0, i64 48, i1 false) invoke void @_ZN4absl21discrete_distributionIsE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %after) - to label %invoke.cont128 unwind label %lpad.i.i115 + to label %invoke.cont128 unwind label %lpad.i.i111 -lpad.i.i115: ; preds = %invoke.cont126 +lpad.i.i111: ; preds = %invoke.cont126 %70 = landingpad { ptr, i32 } cleanup - %q_.i.i116 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %71 = load ptr, ptr %q_.i.i116, align 8 - %tobool.not.i.i.i.i.i117 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, label %if.then.i.i.i.i.i118 + %q_.i.i112 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %71 = load ptr, ptr %q_.i.i112, align 8 + %tobool.not.i.i.i.i.i113 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i113, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, label %if.then.i.i.i.i.i114 -if.then.i.i.i.i.i118: ; preds = %lpad.i.i115 +if.then.i.i.i.i.i114: ; preds = %lpad.i.i111 call void @_ZdlPv(ptr noundef nonnull %71) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119: ; preds = %if.then.i.i.i.i.i118, %lpad.i.i115 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115: ; preds = %if.then.i.i.i.i.i114, %lpad.i.i111 %72 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i120 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i1.i.i120, label %ehcleanup171, label %if.then.i.i.i2.i.i121 + %tobool.not.i.i.i1.i.i116 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i1.i.i116, label %ehcleanup171, label %if.then.i.i.i2.i.i117 -if.then.i.i.i2.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 +if.then.i.i.i2.i.i117: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 call void @_ZdlPv(ptr noundef nonnull %72) #24 br label %ehcleanup171 invoke.cont128: ; preds = %invoke.cont126 - %73 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !777 + %73 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !777 %74 = load ptr, ptr %before, align 8, !noalias !777 - %sub.ptr.lhs.cast.i.i.i.i.i.i126 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i127 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i126, %sub.ptr.rhs.cast.i.i.i.i.i.i127 - %_M_finish.i4.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 - %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !777 + %sub.ptr.lhs.cast.i.i.i.i.i.i122 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i123 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i.i.i.i.i124 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i122, %sub.ptr.rhs.cast.i.i.i.i.i.i123 + %_M_finish.i4.i.i.i.i.i125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 + %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !777 %76 = load ptr, ptr %after, align 8, !noalias !777 - %sub.ptr.lhs.cast.i5.i.i.i.i.i130 = ptrtoint ptr %75 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i131 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i7.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i130, %sub.ptr.rhs.cast.i6.i.i.i.i.i131 - %cmp.i.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i128, %sub.ptr.sub.i7.i.i.i.i.i132 - br i1 %cmp.i.i.i.i.i133, label %land.rhs.i.i.i.i.i134, label %if.then.i - -land.rhs.i.i.i.i.i134: ; preds = %invoke.cont128 - %cmp.not4.i.i.i.i.i.i.i.i.i135 = icmp eq ptr %74, %73 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i135, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136 - -for.body.i.i.i.i.i.i.i.i.i136: ; preds = %land.rhs.i.i.i.i.i134, %for.inc.i.i.i.i.i.i.i.i.i140 - %__first2.addr.06.i.i.i.i.i.i.i.i.i137 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i142, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %76, %land.rhs.i.i.i.i.i134 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i138 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i141, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %74, %land.rhs.i.i.i.i.i134 ] - %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, align 8, !noalias !777 - %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, align 8, !noalias !777 - %cmp1.i.i.i.i.i.i.i.i.i139 = fcmp une double %77, %78 - br i1 %cmp1.i.i.i.i.i.i.i.i.i139, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i140 - -for.inc.i.i.i.i.i.i.i.i.i140: ; preds = %for.body.i.i.i.i.i.i.i.i.i136 - %incdec.ptr.i.i.i.i.i.i.i.i.i141 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i142 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i143 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i141, %73 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i143, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136, !llvm.loop !610 - -if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i136, %invoke.cont128 + %sub.ptr.lhs.cast.i5.i.i.i.i.i126 = ptrtoint ptr %75 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i127 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i7.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i126, %sub.ptr.rhs.cast.i6.i.i.i.i.i127 + %cmp.i.i.i.i.i129 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i124, %sub.ptr.sub.i7.i.i.i.i.i128 + br i1 %cmp.i.i.i.i.i129, label %land.rhs.i.i.i.i.i130, label %if.then.i + +land.rhs.i.i.i.i.i130: ; preds = %invoke.cont128 + %cmp.not4.i.i.i.i.i.i.i.i.i131 = icmp eq ptr %74, %73 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i131, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132 + +for.body.i.i.i.i.i.i.i.i.i132: ; preds = %land.rhs.i.i.i.i.i130, %for.inc.i.i.i.i.i.i.i.i.i136 + %__first2.addr.06.i.i.i.i.i.i.i.i.i133 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i138, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %76, %land.rhs.i.i.i.i.i130 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i134 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i137, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %74, %land.rhs.i.i.i.i.i130 ] + %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, align 8, !noalias !777 + %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, align 8, !noalias !777 + %cmp1.i.i.i.i.i.i.i.i.i135 = fcmp une double %77, %78 + br i1 %cmp1.i.i.i.i.i.i.i.i.i135, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i136 + +for.inc.i.i.i.i.i.i.i.i.i136: ; preds = %for.body.i.i.i.i.i.i.i.i.i132 + %incdec.ptr.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i138 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i137, %73 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i139, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132, !llvm.loop !610 + +if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i132, %invoke.cont128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129) to label %invoke.cont131 unwind label %lpad130 -if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i140, %land.rhs.i.i.i.i.i134 +if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i136, %land.rhs.i.i.i.i.i130 invoke void @_ZN7testing8internal18CmpHelperOpFailureIN4absl21discrete_distributionIsEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_S7_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after, ptr noundef nonnull @.str.99) to label %invoke.cont131 unwind label %lpad130 invoke.cont131: ; preds = %if.then.i, %if.else.i %79 = load i8, ptr %gtest_ar129, align 8 %80 = and i8 %79, 1 - %tobool.i146.not = icmp eq i8 %80, 0 - br i1 %tobool.i146.not, label %if.else134, label %if.end147 + %tobool.i142.not = icmp eq i8 %80, 0 + br i1 %tobool.i142.not, label %if.else134, label %if.end147 -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit102, %lpad109 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit102 ], [ %62, %lpad109 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit98, %lpad109 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit98 ], [ %62, %lpad109 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #23 br label %ehcleanup122 ehcleanup122: ; preds = %ehcleanup121, %lpad103 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup121 ], [ %58, %lpad103 ] call void @_ZN4absl21discrete_distributionIsED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %via_param) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -_ZNSt6vectorIdSaIdEED2Ev.exit150: ; preds = %ehcleanup122, %lpad99, %lpad97 +_ZNSt6vectorIdSaIdEED2Ev.exit146: ; preds = %ehcleanup122, %lpad99, %lpad97 %.pn10.pn.pn.pn = phi { ptr, i32 } [ %.pn10.pn.pn, %ehcleanup122 ], [ %57, %lpad99 ], [ %56, %lpad97 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 br label %ehcleanup172 @@ -25870,7 +25868,7 @@ lpad125: ; preds = %invoke.cont124 cleanup br label %ehcleanup171 -lpad130: ; preds = %if.end.i.i180, %if.then.i.i191, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit170 +lpad130: ; preds = %if.end.i.i176, %if.then.i.i187, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit166 %82 = landingpad { ptr, i32 } cleanup br label %ehcleanup170 @@ -25880,18 +25878,18 @@ if.else134: ; preds = %invoke.cont131 to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont140, label %cond.true.i.i153 + %message_.i.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i147, align 8 + %cmp.i.i.not.i.i148 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i148, label %invoke.cont140, label %cond.true.i.i149 -cond.true.i.i153: ; preds = %invoke.cont137 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 +cond.true.i.i149: ; preds = %invoke.cont137 + %call4.i.i150 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i153, %invoke.cont137 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i155) +invoke.cont140: ; preds = %cond.true.i.i149, %invoke.cont137 + %cond.i.i151 = phi ptr [ %call4.i.i150, %cond.true.i.i149 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i151) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -25901,17 +25899,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %84 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i157 = icmp eq ptr %84, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i153 = icmp eq ptr %84, null + br i1 %cmp.not.i.i153, label %_ZN7testing7MessageD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont144 - %vtable.i.i.i159 = load ptr, ptr %84, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %85 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %invoke.cont144 + %vtable.i.i.i155 = load ptr, ptr %84, align 8 + %vfn.i.i.i156 = getelementptr inbounds ptr, ptr %vtable.i.i.i155, i64 1 + %85 = load ptr, ptr %vfn.i.i.i156, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #23 - br label %_ZN7testing7MessageD2Ev.exit161 + br label %_ZN7testing7MessageD2Ev.exit157 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit157: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 store ptr null, ptr %ref.tmp135, align 8 br label %if.end147 @@ -25934,84 +25932,84 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn15 = phi { ptr, i32 } [ %88, %lpad143 ], [ %87, %lpad139 ] %89 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i162 = icmp eq ptr %89, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i158 = icmp eq ptr %89, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup146 - %vtable.i.i.i164 = load ptr, ptr %89, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %90 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %ehcleanup146 + %vtable.i.i.i160 = load ptr, ptr %89, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %90 = load ptr, ptr %vfn.i.i.i161, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit162: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %91 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %91, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit157 + %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %91 = load ptr, ptr %message_.i163, align 8 + %cmp.not.i.i164 = icmp eq ptr %91, null + br i1 %cmp.not.i.i164, label %_ZN7testing15AssertionResultD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #23 call void @_ZdlPv(ptr noundef nonnull %91) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit166 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit166: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + store ptr null, ptr %message_.i163, align 8 %call150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4abslrsIcSt11char_traitsIcEsEERSt13basic_istreamIT_T0_ES7_RNS_21discrete_distributionIT1_EE(ptr noundef nonnull align 8 dereferenceable(16) %ss, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont149 unwind label %lpad130 -invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !780 +invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit166 + %92 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !780 %93 = load ptr, ptr %before, align 8, !noalias !780 - %sub.ptr.lhs.cast.i.i.i.i.i.i172 = ptrtoint ptr %92 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i173 = ptrtoint ptr %93 to i64 - %sub.ptr.sub.i.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i172, %sub.ptr.rhs.cast.i.i.i.i.i.i173 - %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !780 + %sub.ptr.lhs.cast.i.i.i.i.i.i168 = ptrtoint ptr %92 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i169 = ptrtoint ptr %93 to i64 + %sub.ptr.sub.i.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i.i169 + %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !780 %95 = load ptr, ptr %after, align 8, !noalias !780 - %sub.ptr.lhs.cast.i5.i.i.i.i.i176 = ptrtoint ptr %94 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i177 = ptrtoint ptr %95 to i64 - %sub.ptr.sub.i7.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i176, %sub.ptr.rhs.cast.i6.i.i.i.i.i177 - %cmp.i.i.i.i.i179 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i174, %sub.ptr.sub.i7.i.i.i.i.i178 - br i1 %cmp.i.i.i.i.i179, label %land.rhs.i.i.i.i.i181, label %if.end.i.i180 - -land.rhs.i.i.i.i.i181: ; preds = %invoke.cont149 - %cmp.not4.i.i.i.i.i.i.i.i.i182 = icmp eq ptr %93, %92 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i182, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183 - -for.body.i.i.i.i.i.i.i.i.i183: ; preds = %land.rhs.i.i.i.i.i181, %for.inc.i.i.i.i.i.i.i.i.i187 - %__first2.addr.06.i.i.i.i.i.i.i.i.i184 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i189, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %95, %land.rhs.i.i.i.i.i181 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i185 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i188, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %93, %land.rhs.i.i.i.i.i181 ] - %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, align 8, !noalias !780 - %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, align 8, !noalias !780 - %cmp1.i.i.i.i.i.i.i.i.i186 = fcmp oeq double %96, %97 - br i1 %cmp1.i.i.i.i.i.i.i.i.i186, label %for.inc.i.i.i.i.i.i.i.i.i187, label %if.end.i.i180 - -for.inc.i.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i.i.i.i.i.i183 - %incdec.ptr.i.i.i.i.i.i.i.i.i188 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i189 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i190 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i188, %92 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i190, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183, !llvm.loop !610 - -if.then.i.i191: ; preds = %for.inc.i.i.i.i.i.i.i.i.i187, %land.rhs.i.i.i.i.i181 + %sub.ptr.lhs.cast.i5.i.i.i.i.i172 = ptrtoint ptr %94 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i173 = ptrtoint ptr %95 to i64 + %sub.ptr.sub.i7.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i.i.i173 + %cmp.i.i.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i170, %sub.ptr.sub.i7.i.i.i.i.i174 + br i1 %cmp.i.i.i.i.i175, label %land.rhs.i.i.i.i.i177, label %if.end.i.i176 + +land.rhs.i.i.i.i.i177: ; preds = %invoke.cont149 + %cmp.not4.i.i.i.i.i.i.i.i.i178 = icmp eq ptr %93, %92 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i178, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179 + +for.body.i.i.i.i.i.i.i.i.i179: ; preds = %land.rhs.i.i.i.i.i177, %for.inc.i.i.i.i.i.i.i.i.i183 + %__first2.addr.06.i.i.i.i.i.i.i.i.i180 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i185, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %95, %land.rhs.i.i.i.i.i177 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i181 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i184, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %93, %land.rhs.i.i.i.i.i177 ] + %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, align 8, !noalias !780 + %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, align 8, !noalias !780 + %cmp1.i.i.i.i.i.i.i.i.i182 = fcmp oeq double %96, %97 + br i1 %cmp1.i.i.i.i.i.i.i.i.i182, label %for.inc.i.i.i.i.i.i.i.i.i183, label %if.end.i.i176 + +for.inc.i.i.i.i.i.i.i.i.i183: ; preds = %for.body.i.i.i.i.i.i.i.i.i179 + %incdec.ptr.i.i.i.i.i.i.i.i.i184 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i185 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i186 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i184, %92 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i186, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179, !llvm.loop !610 + +if.then.i.i187: ; preds = %for.inc.i.i.i.i.i.i.i.i.i183, %land.rhs.i.i.i.i.i177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151) to label %invoke.cont152 unwind label %lpad130 -if.end.i.i180: ; preds = %for.body.i.i.i.i.i.i.i.i.i183, %invoke.cont149 +if.end.i.i176: ; preds = %for.body.i.i.i.i.i.i.i.i.i179, %invoke.cont149 invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIsEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont152 unwind label %lpad130 -invoke.cont152: ; preds = %if.then.i.i191, %if.end.i.i180 +invoke.cont152: ; preds = %if.then.i.i187, %if.end.i.i176 %98 = load i8, ptr %gtest_ar151, align 8 %99 = and i8 %98, 1 - %tobool.i195.not = icmp eq i8 %99, 0 - br i1 %tobool.i195.not, label %if.else155, label %if.end168 + %tobool.i191.not = icmp eq i8 %99, 0 + br i1 %tobool.i191.not, label %if.else155, label %if.end168 -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad136 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit166 ], [ %86, %lpad136 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit162, %lpad136 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit162 ], [ %86, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar129) #23 br label %ehcleanup170 @@ -26020,18 +26018,18 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %message_.i.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %100 = load ptr, ptr %message_.i.i196, align 8 - %cmp.i.i.not.i.i197 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i197, label %invoke.cont161, label %cond.true.i.i198 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %100 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont161, label %cond.true.i.i194 -cond.true.i.i198: ; preds = %invoke.cont158 - %call4.i.i199 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 +cond.true.i.i194: ; preds = %invoke.cont158 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i198, %invoke.cont158 - %cond.i.i200 = phi ptr [ %call4.i.i199, %cond.true.i.i198 ], [ @.str, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i200) +invoke.cont161: ; preds = %cond.true.i.i194, %invoke.cont158 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i196) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -26041,17 +26039,17 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #23 %101 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i202 = icmp eq ptr %101, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i198 = icmp eq ptr %101, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %invoke.cont165 - %vtable.i.i.i204 = load ptr, ptr %101, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %102 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont165 + %vtable.i.i.i200 = load ptr, ptr %101, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %102 = load ptr, ptr %vfn.i.i.i201, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #23 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit206: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp156, align 8 br label %if.end168 @@ -26074,94 +26072,94 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn18 = phi { ptr, i32 } [ %105, %lpad164 ], [ %104, %lpad160 ] %106 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i207 = icmp eq ptr %106, null - br i1 %cmp.not.i.i207, label %_ZN7testing7MessageD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + %cmp.not.i.i203 = icmp eq ptr %106, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %ehcleanup167 - %vtable.i.i.i209 = load ptr, ptr %106, align 8 - %vfn.i.i.i210 = getelementptr inbounds ptr, ptr %vtable.i.i.i209, i64 1 - %107 = load ptr, ptr %vfn.i.i.i210, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup167 + %vtable.i.i.i205 = load ptr, ptr %106, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %107 = load ptr, ptr %vfn.i.i.i206, align 8 call void %107(ptr noundef nonnull align 8 dereferenceable(128) %106) #23 - br label %_ZN7testing7MessageD2Ev.exit211 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit211: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 -if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit206 - %message_.i212 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %108 = load ptr, ptr %message_.i212, align 8 - %cmp.not.i.i213 = icmp eq ptr %108, null - br i1 %cmp.not.i.i213, label %_ZN7testing15AssertionResultD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 +if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %108 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %108, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %if.end168 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end168 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #23 call void @_ZdlPv(ptr noundef nonnull %108) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit215 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit215: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 - store ptr null, ptr %message_.i212, align 8 - %q_.i.i216 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %109 = load ptr, ptr %q_.i.i216, align 8 - %tobool.not.i.i.i.i.i217 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i.i217, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, label %if.then.i.i.i.i.i218 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %q_.i.i212 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %109 = load ptr, ptr %q_.i.i212, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit215 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %109) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219: ; preds = %if.then.i.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit215 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %110 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i220 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i1.i.i220, label %_ZN4absl21discrete_distributionIsED2Ev.exit222, label %if.then.i.i.i2.i.i221 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i1.i.i216, label %_ZN4absl21discrete_distributionIsED2Ev.exit218, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i221: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %110) #24 - br label %_ZN4absl21discrete_distributionIsED2Ev.exit222 + br label %_ZN4absl21discrete_distributionIsED2Ev.exit218 -_ZN4absl21discrete_distributionIsED2Ev.exit222: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, %if.then.i.i.i2.i.i221 +_ZN4absl21discrete_distributionIsED2Ev.exit218: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 - %111 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, label %if.then.i.i.i.i.i225 + %111 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i.i.i220 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i.i.i220, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, label %if.then.i.i.i.i.i221 -if.then.i.i.i.i.i225: ; preds = %_ZN4absl21discrete_distributionIsED2Ev.exit222 +if.then.i.i.i.i.i221: ; preds = %_ZN4absl21discrete_distributionIsED2Ev.exit218 call void @_ZdlPv(ptr noundef nonnull %111) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226: ; preds = %if.then.i.i.i.i.i225, %_ZN4absl21discrete_distributionIsED2Ev.exit222 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222: ; preds = %if.then.i.i.i.i.i221, %_ZN4absl21discrete_distributionIsED2Ev.exit218 %112 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i1.i.i227 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i1.i.i227, label %_ZN4absl21discrete_distributionIsED2Ev.exit229, label %if.then.i.i.i2.i.i228 + %tobool.not.i.i.i1.i.i223 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i1.i.i223, label %_ZN4absl21discrete_distributionIsED2Ev.exit225, label %if.then.i.i.i2.i.i224 -if.then.i.i.i2.i.i228: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 +if.then.i.i.i2.i.i224: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 call void @_ZdlPv(ptr noundef nonnull %112) #24 - br label %_ZN4absl21discrete_distributionIsED2Ev.exit229 + br label %_ZN4absl21discrete_distributionIsED2Ev.exit225 -_ZN4absl21discrete_distributionIsED2Ev.exit229: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, %if.then.i.i.i2.i.i228 - %q_.i.i230 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 - %113 = load ptr, ptr %q_.i.i230, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i231, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, label %if.then.i.i.i.i.i232 +_ZN4absl21discrete_distributionIsED2Ev.exit225: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, %if.then.i.i.i2.i.i224 + %q_.i.i226 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 + %113 = load ptr, ptr %q_.i.i226, align 8 + %tobool.not.i.i.i.i.i227 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i227, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, label %if.then.i.i.i.i.i228 -if.then.i.i.i.i.i232: ; preds = %_ZN4absl21discrete_distributionIsED2Ev.exit229 +if.then.i.i.i.i.i228: ; preds = %_ZN4absl21discrete_distributionIsED2Ev.exit225 call void @_ZdlPv(ptr noundef nonnull %113) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233: ; preds = %if.then.i.i.i.i.i232, %_ZN4absl21discrete_distributionIsED2Ev.exit229 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229: ; preds = %if.then.i.i.i.i.i228, %_ZN4absl21discrete_distributionIsED2Ev.exit225 %114 = load ptr, ptr %empty, align 8 - %tobool.not.i.i.i1.i.i234 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i1.i.i234, label %_ZN4absl21discrete_distributionIsED2Ev.exit236, label %if.then.i.i.i2.i.i235 + %tobool.not.i.i.i1.i.i230 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i1.i.i230, label %_ZN4absl21discrete_distributionIsED2Ev.exit232, label %if.then.i.i.i2.i.i231 -if.then.i.i.i2.i.i235: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 +if.then.i.i.i2.i.i231: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 call void @_ZdlPv(ptr noundef nonnull %114) #24 - br label %_ZN4absl21discrete_distributionIsED2Ev.exit236 + br label %_ZN4absl21discrete_distributionIsED2Ev.exit232 -_ZN4absl21discrete_distributionIsED2Ev.exit236: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, %if.then.i.i.i2.i.i235 +_ZN4absl21discrete_distributionIsED2Ev.exit232: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, %if.then.i.i.i2.i.i231 ret void -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit211, %lpad157 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit211 ], [ %103, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad157 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit207 ], [ %103, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #23 br label %ehcleanup170 @@ -26170,18 +26168,18 @@ ehcleanup170: ; preds = %ehcleanup169, %ehcl call void @_ZN4absl21discrete_distributionIsED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %after) #23 br label %ehcleanup171 -ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i121, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, %ehcleanup170 - %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i121 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 ] +ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i117, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, %ehcleanup170 + %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i117 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 ] call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 br label %ehcleanup172 -ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit150, %ehcleanup77, %ehcleanup49, %lpad21 - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit150 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] +ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit146, %ehcleanup77, %ehcleanup49, %lpad21 + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit146 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] call void @_ZN4absl21discrete_distributionIsED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %before) #23 br label %ehcleanup173 -ehcleanup173: ; preds = %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, %eh.resume.sink.split.i.i, %lpad, %ehcleanup172, %ehcleanup17 - %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i.i ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 ], [ %16, %eh.resume.sink.split.i.i ] +ehcleanup173: ; preds = %lpad.i.i233, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, %eh.resume.sink.split.i, %lpad, %ehcleanup172, %ehcleanup17 + %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i233 ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 ], [ %16, %eh.resume.sink.split.i ] call void @_ZN4absl21discrete_distributionIsED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %empty) #23 br label %common.resume } @@ -26193,8 +26191,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i if.then.i.i.i: ; preds = %entry @@ -26209,7 +26206,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %entry br i1 %cmp.not.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i - %add.ptr3.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr3.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage4.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr3.i.i, ptr %_M_end_of_storage4.i.i, align 8 br label %invoke.cont @@ -26220,7 +26217,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i, ptr %this, align 8 - %add.ptr.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -26234,9 +26231,10 @@ lpad.i: ; preds = %if.then.i.i.i.i.i.i br i1 %tobool.not.i.i.i, label %eh.resume, label %eh.resume.sink.split invoke.cont: ; preds = %call5.i.i.i.i.noexc.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i - %add.ptr5.i.i = phi ptr [ %add.ptr3.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %add.ptr.i.i, %call5.i.i.i.i.noexc.i ] + %cond.i5.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %call5.i.i.i.i1.i, %call5.i.i.i.i.noexc.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr5.i.i, ptr %_M_finish.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIsE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %this) @@ -26628,30 +26626,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i22 = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store double %3, ptr %add.ptr.i.i22, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %p.sroa.0.267, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %p.sroa.0.267, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %p.sroa.0.267) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i20 - %add.ptr.i.i22.pn = phi ptr [ %add.ptr.i.i22, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] %p.sroa.15.2 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.15.166, %if.then.i20 ] %p.sroa.0.3 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.0.267, %if.then.i20 ] - %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i22.pn, i64 1 + %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %inc = add i16 %i.068, 1 %conv = sext i16 %inc to i64 %4 = load i64, ptr %n, align 8 @@ -26750,7 +26749,7 @@ if.then: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 %2 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i = icmp eq ptr %0, %2 - br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i, label %if.then.i.i + br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store double 1.000000e+00, ptr %0, align 8 @@ -26759,18 +26758,18 @@ if.then.i.i: ; preds = %if.then store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 br label %_ZNSt6vectorIdSaIdEE9push_backEOd.exit -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then %call5.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #25 store double 1.000000e+00, ptr %call5.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i store ptr %call5.i.i.i.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_end_of_storage.i.i, align 8 @@ -26818,7 +26817,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els tail call void @llvm.assume(i1 %cmp.not.i.i.i) %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 4 %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #25 - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i store double 1.000000e+00, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -26926,8 +26925,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %_ZNSt6vectorIdSaIdEEC2ERKS1_.exit _ZNSt6vectorIdSaIdEEC2ERKS1_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 %q_3 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %0, i64 0, i32 1 @@ -27824,65 +27822,65 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %before, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store ptr %call5.i.i.i.i2.i.i.i, ptr %before, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 3 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i33 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i33, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i233 + +call5.i.i.i.i.noexc.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store ptr %call5.i.i.i.i2.i.i, ptr %before, align 8 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 24 + %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 + store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) + %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 + store ptr %add.ptr.i1.i.i, ptr %_M_finish.i.i.i, align 8 + %q_.i235 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i235, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionItE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %before) - to label %invoke.cont22 unwind label %lpad2.i.i + to label %invoke.cont22 unwind label %lpad2.i -lpad.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +lpad.i.i233: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup173 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %16 = landingpad { ptr, i32 } cleanup - %17 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, label %if.then.i.i.i3.i.i + %17 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %17) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236: ; preds = %if.then.i.i.i3.i, %lpad2.i %18 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup173, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup173, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 call void @_ZdlPv(ptr noundef nonnull %18) #24 br label %ehcleanup173 -invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i.i +invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i store double 0.000000e+00, ptr %s, align 8 %19 = load ptr, ptr %before, align 8 - %20 = load ptr, ptr %_M_finish.i.i.i.i, align 8 - %cmp.i.not243 = icmp eq ptr %19, %20 - br i1 %cmp.i.not243, label %for.end.thread, label %for.body + %20 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.not244 = icmp eq ptr %19, %20 + br i1 %cmp.i.not244, label %for.end.thread, label %for.body for.end.thread: ; preds = %invoke.cont22 store double 1.000000e+00, ptr %ref.tmp31, align 8 br label %if.end.i.i for.body: ; preds = %invoke.cont22, %for.body - %__begin0.sroa.0.0245 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] - %add242244 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] - %21 = load double, ptr %__begin0.sroa.0.0245, align 8 - %add = fadd double %21, %add242244 + %__begin0.sroa.0.0246 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] + %add243245 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] + %21 = load double, ptr %__begin0.sroa.0.0246, align 8 + %add = fadd double %21, %add243245 store double %add, ptr %s, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0245, i64 1 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0246, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %20 br i1 %cmp.i.not, label %for.end, label %for.body @@ -27912,26 +27910,26 @@ if.end.i.i: ; preds = %for.end.thread, %fo invoke.cont32: ; preds = %if.then.i.i, %if.end.i.i %23 = load i8, ptr %gtest_ar30, align 8 %24 = and i8 %23, 1 - %tobool.i36.not = icmp eq i8 %24, 0 - br i1 %tobool.i36.not, label %if.else35, label %if.end48 + %tobool.i33.not = icmp eq i8 %24, 0 + br i1 %tobool.i33.not, label %if.else35, label %if.end48 if.else35: ; preds = %invoke.cont32 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) to label %invoke.cont38 unwind label %lpad37 invoke.cont38: ; preds = %if.else35 - %message_.i.i37 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %25 = load ptr, ptr %message_.i.i37, align 8 - %cmp.i.i.not.i.i38 = icmp eq ptr %25, null - br i1 %cmp.i.i.not.i.i38, label %invoke.cont41, label %cond.true.i.i39 + %message_.i.i34 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %25 = load ptr, ptr %message_.i.i34, align 8 + %cmp.i.i.not.i.i35 = icmp eq ptr %25, null + br i1 %cmp.i.i.not.i.i35, label %invoke.cont41, label %cond.true.i.i36 -cond.true.i.i39: ; preds = %invoke.cont38 - %call4.i.i40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 +cond.true.i.i36: ; preds = %invoke.cont38 + %call4.i.i37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 br label %invoke.cont41 -invoke.cont41: ; preds = %cond.true.i.i39, %invoke.cont38 - %cond.i.i41 = phi ptr [ %call4.i.i40, %cond.true.i.i39 ], [ @.str, %invoke.cont38 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i41) +invoke.cont41: ; preds = %cond.true.i.i36, %invoke.cont38 + %cond.i.i38 = phi ptr [ %call4.i.i37, %cond.true.i.i36 ], [ @.str, %invoke.cont38 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i38) to label %invoke.cont43 unwind label %lpad40 invoke.cont43: ; preds = %invoke.cont41 @@ -27941,17 +27939,17 @@ invoke.cont43: ; preds = %invoke.cont41 invoke.cont45: ; preds = %invoke.cont43 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #23 %26 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i43 = icmp eq ptr %26, null - br i1 %cmp.not.i.i43, label %_ZN7testing7MessageD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 + %cmp.not.i.i40 = icmp eq ptr %26, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44: ; preds = %invoke.cont45 - %vtable.i.i.i45 = load ptr, ptr %26, align 8 - %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 - %27 = load ptr, ptr %vfn.i.i.i46, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %invoke.cont45 + %vtable.i.i.i42 = load ptr, ptr %26, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %27 = load ptr, ptr %vfn.i.i.i43, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #23 - br label %_ZN7testing7MessageD2Ev.exit47 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit47: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 +_ZN7testing7MessageD2Ev.exit44: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp36, align 8 br label %if.end48 @@ -27974,47 +27972,47 @@ lpad44: ; preds = %invoke.cont43 ehcleanup47: ; preds = %lpad44, %lpad40 %.pn4 = phi { ptr, i32 } [ %30, %lpad44 ], [ %29, %lpad40 ] %31 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i48 = icmp eq ptr %31, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i45 = icmp eq ptr %31, null + br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup47 - %vtable.i.i.i50 = load ptr, ptr %31, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %32 = load ptr, ptr %vfn.i.i.i51, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %ehcleanup47 + %vtable.i.i.i47 = load ptr, ptr %31, align 8 + %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 + %32 = load ptr, ptr %vfn.i.i.i48, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #23 - br label %_ZN7testing7MessageD2Ev.exit52 + br label %_ZN7testing7MessageD2Ev.exit49 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit49: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 store ptr null, ptr %ref.tmp36, align 8 br label %ehcleanup49 -if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit47 - %message_.i53 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %33 = load ptr, ptr %message_.i53, align 8 - %cmp.not.i.i54 = icmp eq ptr %33, null - br i1 %cmp.not.i.i54, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit44 + %message_.i50 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %33 = load ptr, ptr %message_.i50, align 8 + %cmp.not.i.i51 = icmp eq ptr %33, null + br i1 %cmp.not.i.i51, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %if.end48 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52: ; preds = %if.end48 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 call void @_ZdlPv(ptr noundef nonnull %33) #24 br label %invoke.cont58 -invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %if.end48 - store ptr null, ptr %message_.i53, align 8 +invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52, %if.end48 + store ptr null, ptr %message_.i50, align 8 store <2 x double> , ptr %ref.tmp51, align 16 - %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 - store double 2.500000e-01, ptr %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx, align 16 + %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 + store double 2.500000e-01, ptr %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar50, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp51, ptr noundef nonnull @.str.94, ptr noundef nonnull align 8 dereferenceable(24) %before) to label %invoke.cont60 unwind label %lpad21 invoke.cont60: ; preds = %invoke.cont58 %34 = load i8, ptr %gtest_ar50, align 8 %35 = and i8 %34, 1 - %tobool.i58.not = icmp eq i8 %35, 0 - br i1 %tobool.i58.not, label %if.else63, label %if.end76 + %tobool.i55.not = icmp eq i8 %35, 0 + br i1 %tobool.i55.not, label %if.else63, label %if.end76 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad37 - %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit52 ], [ %28, %lpad37 ] +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad37 + %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit49 ], [ %28, %lpad37 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar30) #23 br label %ehcleanup172 @@ -28023,18 +28021,18 @@ if.else63: ; preds = %invoke.cont60 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %if.else63 - %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %36 = load ptr, ptr %message_.i.i59, align 8 - %cmp.i.i.not.i.i60 = icmp eq ptr %36, null - br i1 %cmp.i.i.not.i.i60, label %invoke.cont69, label %cond.true.i.i61 + %message_.i.i56 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %36 = load ptr, ptr %message_.i.i56, align 8 + %cmp.i.i.not.i.i57 = icmp eq ptr %36, null + br i1 %cmp.i.i.not.i.i57, label %invoke.cont69, label %cond.true.i.i58 -cond.true.i.i61: ; preds = %invoke.cont66 - %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 +cond.true.i.i58: ; preds = %invoke.cont66 + %call4.i.i59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 br label %invoke.cont69 -invoke.cont69: ; preds = %cond.true.i.i61, %invoke.cont66 - %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str, %invoke.cont66 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i63) +invoke.cont69: ; preds = %cond.true.i.i58, %invoke.cont66 + %cond.i.i60 = phi ptr [ %call4.i.i59, %cond.true.i.i58 ], [ @.str, %invoke.cont66 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i60) to label %invoke.cont71 unwind label %lpad68 invoke.cont71: ; preds = %invoke.cont69 @@ -28044,17 +28042,17 @@ invoke.cont71: ; preds = %invoke.cont69 invoke.cont73: ; preds = %invoke.cont71 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #23 %37 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i65 = icmp eq ptr %37, null - br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 + %cmp.not.i.i62 = icmp eq ptr %37, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont73 - %vtable.i.i.i67 = load ptr, ptr %37, align 8 - %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 - %38 = load ptr, ptr %vfn.i.i.i68, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %invoke.cont73 + %vtable.i.i.i64 = load ptr, ptr %37, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %38 = load ptr, ptr %vfn.i.i.i65, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #23 - br label %_ZN7testing7MessageD2Ev.exit69 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 +_ZN7testing7MessageD2Ev.exit66: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 @@ -28077,45 +28075,45 @@ lpad72: ; preds = %invoke.cont71 ehcleanup75: ; preds = %lpad72, %lpad68 %.pn7 = phi { ptr, i32 } [ %41, %lpad72 ], [ %40, %lpad68 ] %42 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i70 = icmp eq ptr %42, null - br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 + %cmp.not.i.i67 = icmp eq ptr %42, null + br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup75 - %vtable.i.i.i72 = load ptr, ptr %42, align 8 - %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 - %43 = load ptr, ptr %vfn.i.i.i73, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup75 + %vtable.i.i.i69 = load ptr, ptr %42, align 8 + %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 + %43 = load ptr, ptr %vfn.i.i.i70, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #23 - br label %_ZN7testing7MessageD2Ev.exit74 + br label %_ZN7testing7MessageD2Ev.exit71 -_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 +_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit69 - %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %44 = load ptr, ptr %message_.i75, align 8 - %cmp.not.i.i76 = icmp eq ptr %44, null - br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit66 + %message_.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %44 = load ptr, ptr %message_.i72, align 8 + %cmp.not.i.i73 = icmp eq ptr %44, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end76 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end76 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 call void @_ZdlPv(ptr noundef nonnull %44) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit78 + br label %_ZN7testing15AssertionResultD2Ev.exit75 -_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 - store ptr null, ptr %message_.i75, align 8 +_ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + store ptr null, ptr %message_.i72, align 8 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 to label %invoke.cont86 unwind label %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i -_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 +_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 +invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - invoke void @_ZN4absl21discrete_distributionItE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 + invoke void @_ZN4absl21discrete_distributionItE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont86 @@ -28148,17 +28146,17 @@ _ZN4absl21discrete_distributionItE10param_typeD2Ev.exit: ; preds = %_ZNSt6vector %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %48 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %49 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %50 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !831 + %50 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !831 %51 = load ptr, ptr %before, align 8, !noalias !831 %sub.ptr.lhs.cast.i5.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.rhs.cast.i6.i.i.i.i.i = ptrtoint ptr %51 to i64 %sub.ptr.sub.i7.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, %sub.ptr.sub.i7.i.i.i.i.i - br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i78 land.rhs.i.i.i.i.i: ; preds = %_ZN4absl21discrete_distributionItE10param_typeD2Ev.exit %cmp.not4.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, %48 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i %__first2.addr.06.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i ], [ %51, %land.rhs.i.i.i.i.i ] @@ -28166,45 +28164,45 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %52 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, align 8, !noalias !831 %53 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, align 8, !noalias !831 %cmp1.i.i.i.i.i.i.i.i.i = fcmp oeq double %52, %53 - br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i78 for.inc.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, i64 1 %incdec.ptr2.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %48 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 -if.then.i.i83: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i +if.then.i.i79: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont104 unwind label %lpad103 -if.end.i.i82: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionItE10param_typeD2Ev.exit +if.end.i.i78: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionItE10param_typeD2Ev.exit invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionItEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97, ptr noundef nonnull align 8 dereferenceable(48) %via_param, ptr noundef nonnull align 8 dereferenceable(48) %before) to label %invoke.cont104 unwind label %lpad103 -invoke.cont104: ; preds = %if.then.i.i83, %if.end.i.i82 +invoke.cont104: ; preds = %if.then.i.i79, %if.end.i.i78 %54 = load i8, ptr %gtest_ar102, align 8 %55 = and i8 %54, 1 - %tobool.i86.not = icmp eq i8 %55, 0 - br i1 %tobool.i86.not, label %if.else107, label %if.end120 + %tobool.i82.not = icmp eq i8 %55, 0 + br i1 %tobool.i82.not, label %if.else107, label %if.end120 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad65 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit74 ], [ %39, %lpad65 ] +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad65 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit71 ], [ %39, %lpad65 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50) #23 br label %ehcleanup172 lpad97: ; preds = %invoke.cont86 %56 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 lpad99: ; preds = %invoke.cont98 %57 = landingpad { ptr, i32 } cleanup call void @_ZN4absl21discrete_distributionItE10param_typeD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -lpad103: ; preds = %if.end.i.i82, %if.then.i.i83 +lpad103: ; preds = %if.end.i.i78, %if.then.i.i79 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 @@ -28214,18 +28212,18 @@ if.else107: ; preds = %invoke.cont104 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %if.else107 - %message_.i.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i87, align 8 - %cmp.i.i.not.i.i88 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i88, label %invoke.cont113, label %cond.true.i.i89 + %message_.i.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i83, align 8 + %cmp.i.i.not.i.i84 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i84, label %invoke.cont113, label %cond.true.i.i85 -cond.true.i.i89: ; preds = %invoke.cont110 - %call4.i.i90 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i85: ; preds = %invoke.cont110 + %call4.i.i86 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont113 -invoke.cont113: ; preds = %cond.true.i.i89, %invoke.cont110 - %cond.i.i91 = phi ptr [ %call4.i.i90, %cond.true.i.i89 ], [ @.str, %invoke.cont110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i91) +invoke.cont113: ; preds = %cond.true.i.i85, %invoke.cont110 + %cond.i.i87 = phi ptr [ %call4.i.i86, %cond.true.i.i85 ], [ @.str, %invoke.cont110 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i87) to label %invoke.cont115 unwind label %lpad112 invoke.cont115: ; preds = %invoke.cont113 @@ -28235,17 +28233,17 @@ invoke.cont115: ; preds = %invoke.cont113 invoke.cont117: ; preds = %invoke.cont115 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111) #23 %60 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i93 = icmp eq ptr %60, null - br i1 %cmp.not.i.i93, label %_ZN7testing7MessageD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 + %cmp.not.i.i89 = icmp eq ptr %60, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont117 - %vtable.i.i.i95 = load ptr, ptr %60, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %61 = load ptr, ptr %vfn.i.i.i96, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %invoke.cont117 + %vtable.i.i.i91 = load ptr, ptr %60, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %61 = load ptr, ptr %vfn.i.i.i92, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit97 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit97: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 +_ZN7testing7MessageD2Ev.exit93: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp108, align 8 br label %if.end120 @@ -28268,52 +28266,52 @@ lpad116: ; preds = %invoke.cont115 ehcleanup119: ; preds = %lpad116, %lpad112 %.pn10 = phi { ptr, i32 } [ %64, %lpad116 ], [ %63, %lpad112 ] %65 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i98 = icmp eq ptr %65, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i94 = icmp eq ptr %65, null + br i1 %cmp.not.i.i94, label %_ZN7testing7MessageD2Ev.exit98, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup119 - %vtable.i.i.i100 = load ptr, ptr %65, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %66 = load ptr, ptr %vfn.i.i.i101, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95: ; preds = %ehcleanup119 + %vtable.i.i.i96 = load ptr, ptr %65, align 8 + %vfn.i.i.i97 = getelementptr inbounds ptr, ptr %vtable.i.i.i96, i64 1 + %66 = load ptr, ptr %vfn.i.i.i97, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit102 + br label %_ZN7testing7MessageD2Ev.exit98 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit98: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %ref.tmp108, align 8 br label %ehcleanup121 -if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit97 - %message_.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %67 = load ptr, ptr %message_.i103, align 8 - %cmp.not.i.i104 = icmp eq ptr %67, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit93 + %message_.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %67 = load ptr, ptr %message_.i99, align 8 + %cmp.not.i.i100 = icmp eq ptr %67, null + br i1 %cmp.not.i.i100, label %_ZN7testing15AssertionResultD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end120 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %if.end120 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit106 + br label %_ZN7testing15AssertionResultD2Ev.exit102 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 - store ptr null, ptr %message_.i103, align 8 - %q_.i.i107 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 - %68 = load ptr, ptr %q_.i.i107, align 8 - %tobool.not.i.i.i.i.i108 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i.i.i108, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, label %if.then.i.i.i.i.i109 +_ZN7testing15AssertionResultD2Ev.exit102: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 + store ptr null, ptr %message_.i99, align 8 + %q_.i.i103 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 + %68 = load ptr, ptr %q_.i.i103, align 8 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, label %if.then.i.i.i.i.i105 -if.then.i.i.i.i.i109: ; preds = %_ZN7testing15AssertionResultD2Ev.exit106 +if.then.i.i.i.i.i105: ; preds = %_ZN7testing15AssertionResultD2Ev.exit102 call void @_ZdlPv(ptr noundef nonnull %68) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110: ; preds = %if.then.i.i.i.i.i109, %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106: ; preds = %if.then.i.i.i.i.i105, %_ZN7testing15AssertionResultD2Ev.exit102 %69 = load ptr, ptr %via_param, align 8 - %tobool.not.i.i.i1.i.i111 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i1.i.i111, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i112 + %tobool.not.i.i.i1.i.i107 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i1.i.i107, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i108 -if.then.i.i.i2.i.i112: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 +if.then.i.i.i2.i.i108: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 call void @_ZdlPv(ptr noundef nonnull %69) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit -_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, %if.then.i.i.i2.i.i112 +_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, %if.then.i.i.i2.i.i108 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) to label %invoke.cont124 unwind label %lpad21 @@ -28326,87 +28324,87 @@ invoke.cont124: ; preds = %_ZNSt6vectorIdSaIdE invoke.cont126: ; preds = %invoke.cont124 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %after, i8 0, i64 48, i1 false) invoke void @_ZN4absl21discrete_distributionItE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %after) - to label %invoke.cont128 unwind label %lpad.i.i115 + to label %invoke.cont128 unwind label %lpad.i.i111 -lpad.i.i115: ; preds = %invoke.cont126 +lpad.i.i111: ; preds = %invoke.cont126 %70 = landingpad { ptr, i32 } cleanup - %q_.i.i116 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %71 = load ptr, ptr %q_.i.i116, align 8 - %tobool.not.i.i.i.i.i117 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, label %if.then.i.i.i.i.i118 + %q_.i.i112 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %71 = load ptr, ptr %q_.i.i112, align 8 + %tobool.not.i.i.i.i.i113 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i113, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, label %if.then.i.i.i.i.i114 -if.then.i.i.i.i.i118: ; preds = %lpad.i.i115 +if.then.i.i.i.i.i114: ; preds = %lpad.i.i111 call void @_ZdlPv(ptr noundef nonnull %71) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119: ; preds = %if.then.i.i.i.i.i118, %lpad.i.i115 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115: ; preds = %if.then.i.i.i.i.i114, %lpad.i.i111 %72 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i120 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i1.i.i120, label %ehcleanup171, label %if.then.i.i.i2.i.i121 + %tobool.not.i.i.i1.i.i116 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i1.i.i116, label %ehcleanup171, label %if.then.i.i.i2.i.i117 -if.then.i.i.i2.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 +if.then.i.i.i2.i.i117: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 call void @_ZdlPv(ptr noundef nonnull %72) #24 br label %ehcleanup171 invoke.cont128: ; preds = %invoke.cont126 - %73 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !836 + %73 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !836 %74 = load ptr, ptr %before, align 8, !noalias !836 - %sub.ptr.lhs.cast.i.i.i.i.i.i126 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i127 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i126, %sub.ptr.rhs.cast.i.i.i.i.i.i127 - %_M_finish.i4.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 - %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !836 + %sub.ptr.lhs.cast.i.i.i.i.i.i122 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i123 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i.i.i.i.i124 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i122, %sub.ptr.rhs.cast.i.i.i.i.i.i123 + %_M_finish.i4.i.i.i.i.i125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 + %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !836 %76 = load ptr, ptr %after, align 8, !noalias !836 - %sub.ptr.lhs.cast.i5.i.i.i.i.i130 = ptrtoint ptr %75 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i131 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i7.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i130, %sub.ptr.rhs.cast.i6.i.i.i.i.i131 - %cmp.i.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i128, %sub.ptr.sub.i7.i.i.i.i.i132 - br i1 %cmp.i.i.i.i.i133, label %land.rhs.i.i.i.i.i134, label %if.then.i - -land.rhs.i.i.i.i.i134: ; preds = %invoke.cont128 - %cmp.not4.i.i.i.i.i.i.i.i.i135 = icmp eq ptr %74, %73 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i135, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136 - -for.body.i.i.i.i.i.i.i.i.i136: ; preds = %land.rhs.i.i.i.i.i134, %for.inc.i.i.i.i.i.i.i.i.i140 - %__first2.addr.06.i.i.i.i.i.i.i.i.i137 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i142, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %76, %land.rhs.i.i.i.i.i134 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i138 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i141, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %74, %land.rhs.i.i.i.i.i134 ] - %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, align 8, !noalias !836 - %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, align 8, !noalias !836 - %cmp1.i.i.i.i.i.i.i.i.i139 = fcmp une double %77, %78 - br i1 %cmp1.i.i.i.i.i.i.i.i.i139, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i140 - -for.inc.i.i.i.i.i.i.i.i.i140: ; preds = %for.body.i.i.i.i.i.i.i.i.i136 - %incdec.ptr.i.i.i.i.i.i.i.i.i141 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i142 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i143 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i141, %73 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i143, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136, !llvm.loop !610 - -if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i136, %invoke.cont128 + %sub.ptr.lhs.cast.i5.i.i.i.i.i126 = ptrtoint ptr %75 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i127 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i7.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i126, %sub.ptr.rhs.cast.i6.i.i.i.i.i127 + %cmp.i.i.i.i.i129 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i124, %sub.ptr.sub.i7.i.i.i.i.i128 + br i1 %cmp.i.i.i.i.i129, label %land.rhs.i.i.i.i.i130, label %if.then.i + +land.rhs.i.i.i.i.i130: ; preds = %invoke.cont128 + %cmp.not4.i.i.i.i.i.i.i.i.i131 = icmp eq ptr %74, %73 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i131, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132 + +for.body.i.i.i.i.i.i.i.i.i132: ; preds = %land.rhs.i.i.i.i.i130, %for.inc.i.i.i.i.i.i.i.i.i136 + %__first2.addr.06.i.i.i.i.i.i.i.i.i133 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i138, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %76, %land.rhs.i.i.i.i.i130 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i134 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i137, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %74, %land.rhs.i.i.i.i.i130 ] + %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, align 8, !noalias !836 + %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, align 8, !noalias !836 + %cmp1.i.i.i.i.i.i.i.i.i135 = fcmp une double %77, %78 + br i1 %cmp1.i.i.i.i.i.i.i.i.i135, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i136 + +for.inc.i.i.i.i.i.i.i.i.i136: ; preds = %for.body.i.i.i.i.i.i.i.i.i132 + %incdec.ptr.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i138 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i137, %73 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i139, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132, !llvm.loop !610 + +if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i132, %invoke.cont128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129) to label %invoke.cont131 unwind label %lpad130 -if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i140, %land.rhs.i.i.i.i.i134 +if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i136, %land.rhs.i.i.i.i.i130 invoke void @_ZN7testing8internal18CmpHelperOpFailureIN4absl21discrete_distributionItEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_S7_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after, ptr noundef nonnull @.str.99) to label %invoke.cont131 unwind label %lpad130 invoke.cont131: ; preds = %if.then.i, %if.else.i %79 = load i8, ptr %gtest_ar129, align 8 %80 = and i8 %79, 1 - %tobool.i146.not = icmp eq i8 %80, 0 - br i1 %tobool.i146.not, label %if.else134, label %if.end147 + %tobool.i142.not = icmp eq i8 %80, 0 + br i1 %tobool.i142.not, label %if.else134, label %if.end147 -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit102, %lpad109 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit102 ], [ %62, %lpad109 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit98, %lpad109 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit98 ], [ %62, %lpad109 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #23 br label %ehcleanup122 ehcleanup122: ; preds = %ehcleanup121, %lpad103 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup121 ], [ %58, %lpad103 ] call void @_ZN4absl21discrete_distributionItED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %via_param) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -_ZNSt6vectorIdSaIdEED2Ev.exit150: ; preds = %ehcleanup122, %lpad99, %lpad97 +_ZNSt6vectorIdSaIdEED2Ev.exit146: ; preds = %ehcleanup122, %lpad99, %lpad97 %.pn10.pn.pn.pn = phi { ptr, i32 } [ %.pn10.pn.pn, %ehcleanup122 ], [ %57, %lpad99 ], [ %56, %lpad97 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 br label %ehcleanup172 @@ -28416,7 +28414,7 @@ lpad125: ; preds = %invoke.cont124 cleanup br label %ehcleanup171 -lpad130: ; preds = %if.end.i.i180, %if.then.i.i191, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit170 +lpad130: ; preds = %if.end.i.i176, %if.then.i.i187, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit166 %82 = landingpad { ptr, i32 } cleanup br label %ehcleanup170 @@ -28426,18 +28424,18 @@ if.else134: ; preds = %invoke.cont131 to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont140, label %cond.true.i.i153 + %message_.i.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i147, align 8 + %cmp.i.i.not.i.i148 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i148, label %invoke.cont140, label %cond.true.i.i149 -cond.true.i.i153: ; preds = %invoke.cont137 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 +cond.true.i.i149: ; preds = %invoke.cont137 + %call4.i.i150 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i153, %invoke.cont137 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i155) +invoke.cont140: ; preds = %cond.true.i.i149, %invoke.cont137 + %cond.i.i151 = phi ptr [ %call4.i.i150, %cond.true.i.i149 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i151) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -28447,17 +28445,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %84 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i157 = icmp eq ptr %84, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i153 = icmp eq ptr %84, null + br i1 %cmp.not.i.i153, label %_ZN7testing7MessageD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont144 - %vtable.i.i.i159 = load ptr, ptr %84, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %85 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %invoke.cont144 + %vtable.i.i.i155 = load ptr, ptr %84, align 8 + %vfn.i.i.i156 = getelementptr inbounds ptr, ptr %vtable.i.i.i155, i64 1 + %85 = load ptr, ptr %vfn.i.i.i156, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #23 - br label %_ZN7testing7MessageD2Ev.exit161 + br label %_ZN7testing7MessageD2Ev.exit157 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit157: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 store ptr null, ptr %ref.tmp135, align 8 br label %if.end147 @@ -28480,84 +28478,84 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn15 = phi { ptr, i32 } [ %88, %lpad143 ], [ %87, %lpad139 ] %89 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i162 = icmp eq ptr %89, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i158 = icmp eq ptr %89, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup146 - %vtable.i.i.i164 = load ptr, ptr %89, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %90 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %ehcleanup146 + %vtable.i.i.i160 = load ptr, ptr %89, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %90 = load ptr, ptr %vfn.i.i.i161, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit162: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %91 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %91, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit157 + %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %91 = load ptr, ptr %message_.i163, align 8 + %cmp.not.i.i164 = icmp eq ptr %91, null + br i1 %cmp.not.i.i164, label %_ZN7testing15AssertionResultD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #23 call void @_ZdlPv(ptr noundef nonnull %91) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit166 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit166: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + store ptr null, ptr %message_.i163, align 8 %call150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4abslrsIcSt11char_traitsIcEtEERSt13basic_istreamIT_T0_ES7_RNS_21discrete_distributionIT1_EE(ptr noundef nonnull align 8 dereferenceable(16) %ss, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont149 unwind label %lpad130 -invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !839 +invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit166 + %92 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !839 %93 = load ptr, ptr %before, align 8, !noalias !839 - %sub.ptr.lhs.cast.i.i.i.i.i.i172 = ptrtoint ptr %92 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i173 = ptrtoint ptr %93 to i64 - %sub.ptr.sub.i.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i172, %sub.ptr.rhs.cast.i.i.i.i.i.i173 - %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !839 + %sub.ptr.lhs.cast.i.i.i.i.i.i168 = ptrtoint ptr %92 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i169 = ptrtoint ptr %93 to i64 + %sub.ptr.sub.i.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i.i169 + %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !839 %95 = load ptr, ptr %after, align 8, !noalias !839 - %sub.ptr.lhs.cast.i5.i.i.i.i.i176 = ptrtoint ptr %94 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i177 = ptrtoint ptr %95 to i64 - %sub.ptr.sub.i7.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i176, %sub.ptr.rhs.cast.i6.i.i.i.i.i177 - %cmp.i.i.i.i.i179 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i174, %sub.ptr.sub.i7.i.i.i.i.i178 - br i1 %cmp.i.i.i.i.i179, label %land.rhs.i.i.i.i.i181, label %if.end.i.i180 - -land.rhs.i.i.i.i.i181: ; preds = %invoke.cont149 - %cmp.not4.i.i.i.i.i.i.i.i.i182 = icmp eq ptr %93, %92 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i182, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183 - -for.body.i.i.i.i.i.i.i.i.i183: ; preds = %land.rhs.i.i.i.i.i181, %for.inc.i.i.i.i.i.i.i.i.i187 - %__first2.addr.06.i.i.i.i.i.i.i.i.i184 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i189, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %95, %land.rhs.i.i.i.i.i181 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i185 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i188, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %93, %land.rhs.i.i.i.i.i181 ] - %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, align 8, !noalias !839 - %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, align 8, !noalias !839 - %cmp1.i.i.i.i.i.i.i.i.i186 = fcmp oeq double %96, %97 - br i1 %cmp1.i.i.i.i.i.i.i.i.i186, label %for.inc.i.i.i.i.i.i.i.i.i187, label %if.end.i.i180 - -for.inc.i.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i.i.i.i.i.i183 - %incdec.ptr.i.i.i.i.i.i.i.i.i188 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i189 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i190 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i188, %92 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i190, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183, !llvm.loop !610 - -if.then.i.i191: ; preds = %for.inc.i.i.i.i.i.i.i.i.i187, %land.rhs.i.i.i.i.i181 + %sub.ptr.lhs.cast.i5.i.i.i.i.i172 = ptrtoint ptr %94 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i173 = ptrtoint ptr %95 to i64 + %sub.ptr.sub.i7.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i.i.i173 + %cmp.i.i.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i170, %sub.ptr.sub.i7.i.i.i.i.i174 + br i1 %cmp.i.i.i.i.i175, label %land.rhs.i.i.i.i.i177, label %if.end.i.i176 + +land.rhs.i.i.i.i.i177: ; preds = %invoke.cont149 + %cmp.not4.i.i.i.i.i.i.i.i.i178 = icmp eq ptr %93, %92 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i178, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179 + +for.body.i.i.i.i.i.i.i.i.i179: ; preds = %land.rhs.i.i.i.i.i177, %for.inc.i.i.i.i.i.i.i.i.i183 + %__first2.addr.06.i.i.i.i.i.i.i.i.i180 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i185, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %95, %land.rhs.i.i.i.i.i177 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i181 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i184, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %93, %land.rhs.i.i.i.i.i177 ] + %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, align 8, !noalias !839 + %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, align 8, !noalias !839 + %cmp1.i.i.i.i.i.i.i.i.i182 = fcmp oeq double %96, %97 + br i1 %cmp1.i.i.i.i.i.i.i.i.i182, label %for.inc.i.i.i.i.i.i.i.i.i183, label %if.end.i.i176 + +for.inc.i.i.i.i.i.i.i.i.i183: ; preds = %for.body.i.i.i.i.i.i.i.i.i179 + %incdec.ptr.i.i.i.i.i.i.i.i.i184 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i185 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i186 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i184, %92 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i186, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179, !llvm.loop !610 + +if.then.i.i187: ; preds = %for.inc.i.i.i.i.i.i.i.i.i183, %land.rhs.i.i.i.i.i177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151) to label %invoke.cont152 unwind label %lpad130 -if.end.i.i180: ; preds = %for.body.i.i.i.i.i.i.i.i.i183, %invoke.cont149 +if.end.i.i176: ; preds = %for.body.i.i.i.i.i.i.i.i.i179, %invoke.cont149 invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionItEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont152 unwind label %lpad130 -invoke.cont152: ; preds = %if.then.i.i191, %if.end.i.i180 +invoke.cont152: ; preds = %if.then.i.i187, %if.end.i.i176 %98 = load i8, ptr %gtest_ar151, align 8 %99 = and i8 %98, 1 - %tobool.i195.not = icmp eq i8 %99, 0 - br i1 %tobool.i195.not, label %if.else155, label %if.end168 + %tobool.i191.not = icmp eq i8 %99, 0 + br i1 %tobool.i191.not, label %if.else155, label %if.end168 -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad136 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit166 ], [ %86, %lpad136 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit162, %lpad136 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit162 ], [ %86, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar129) #23 br label %ehcleanup170 @@ -28566,18 +28564,18 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %message_.i.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %100 = load ptr, ptr %message_.i.i196, align 8 - %cmp.i.i.not.i.i197 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i197, label %invoke.cont161, label %cond.true.i.i198 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %100 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont161, label %cond.true.i.i194 -cond.true.i.i198: ; preds = %invoke.cont158 - %call4.i.i199 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 +cond.true.i.i194: ; preds = %invoke.cont158 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i198, %invoke.cont158 - %cond.i.i200 = phi ptr [ %call4.i.i199, %cond.true.i.i198 ], [ @.str, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i200) +invoke.cont161: ; preds = %cond.true.i.i194, %invoke.cont158 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i196) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -28587,17 +28585,17 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #23 %101 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i202 = icmp eq ptr %101, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i198 = icmp eq ptr %101, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %invoke.cont165 - %vtable.i.i.i204 = load ptr, ptr %101, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %102 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont165 + %vtable.i.i.i200 = load ptr, ptr %101, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %102 = load ptr, ptr %vfn.i.i.i201, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #23 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit206: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp156, align 8 br label %if.end168 @@ -28620,94 +28618,94 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn18 = phi { ptr, i32 } [ %105, %lpad164 ], [ %104, %lpad160 ] %106 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i207 = icmp eq ptr %106, null - br i1 %cmp.not.i.i207, label %_ZN7testing7MessageD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + %cmp.not.i.i203 = icmp eq ptr %106, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %ehcleanup167 - %vtable.i.i.i209 = load ptr, ptr %106, align 8 - %vfn.i.i.i210 = getelementptr inbounds ptr, ptr %vtable.i.i.i209, i64 1 - %107 = load ptr, ptr %vfn.i.i.i210, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup167 + %vtable.i.i.i205 = load ptr, ptr %106, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %107 = load ptr, ptr %vfn.i.i.i206, align 8 call void %107(ptr noundef nonnull align 8 dereferenceable(128) %106) #23 - br label %_ZN7testing7MessageD2Ev.exit211 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit211: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 -if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit206 - %message_.i212 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %108 = load ptr, ptr %message_.i212, align 8 - %cmp.not.i.i213 = icmp eq ptr %108, null - br i1 %cmp.not.i.i213, label %_ZN7testing15AssertionResultD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 +if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %108 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %108, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %if.end168 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end168 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #23 call void @_ZdlPv(ptr noundef nonnull %108) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit215 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit215: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 - store ptr null, ptr %message_.i212, align 8 - %q_.i.i216 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %109 = load ptr, ptr %q_.i.i216, align 8 - %tobool.not.i.i.i.i.i217 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i.i217, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, label %if.then.i.i.i.i.i218 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %q_.i.i212 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %109 = load ptr, ptr %q_.i.i212, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit215 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %109) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219: ; preds = %if.then.i.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit215 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %110 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i220 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i1.i.i220, label %_ZN4absl21discrete_distributionItED2Ev.exit222, label %if.then.i.i.i2.i.i221 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i1.i.i216, label %_ZN4absl21discrete_distributionItED2Ev.exit218, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i221: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %110) #24 - br label %_ZN4absl21discrete_distributionItED2Ev.exit222 + br label %_ZN4absl21discrete_distributionItED2Ev.exit218 -_ZN4absl21discrete_distributionItED2Ev.exit222: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, %if.then.i.i.i2.i.i221 +_ZN4absl21discrete_distributionItED2Ev.exit218: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 - %111 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, label %if.then.i.i.i.i.i225 + %111 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i.i.i220 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i.i.i220, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, label %if.then.i.i.i.i.i221 -if.then.i.i.i.i.i225: ; preds = %_ZN4absl21discrete_distributionItED2Ev.exit222 +if.then.i.i.i.i.i221: ; preds = %_ZN4absl21discrete_distributionItED2Ev.exit218 call void @_ZdlPv(ptr noundef nonnull %111) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226: ; preds = %if.then.i.i.i.i.i225, %_ZN4absl21discrete_distributionItED2Ev.exit222 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222: ; preds = %if.then.i.i.i.i.i221, %_ZN4absl21discrete_distributionItED2Ev.exit218 %112 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i1.i.i227 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i1.i.i227, label %_ZN4absl21discrete_distributionItED2Ev.exit229, label %if.then.i.i.i2.i.i228 + %tobool.not.i.i.i1.i.i223 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i1.i.i223, label %_ZN4absl21discrete_distributionItED2Ev.exit225, label %if.then.i.i.i2.i.i224 -if.then.i.i.i2.i.i228: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 +if.then.i.i.i2.i.i224: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 call void @_ZdlPv(ptr noundef nonnull %112) #24 - br label %_ZN4absl21discrete_distributionItED2Ev.exit229 + br label %_ZN4absl21discrete_distributionItED2Ev.exit225 -_ZN4absl21discrete_distributionItED2Ev.exit229: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, %if.then.i.i.i2.i.i228 - %q_.i.i230 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 - %113 = load ptr, ptr %q_.i.i230, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i231, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, label %if.then.i.i.i.i.i232 +_ZN4absl21discrete_distributionItED2Ev.exit225: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, %if.then.i.i.i2.i.i224 + %q_.i.i226 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 + %113 = load ptr, ptr %q_.i.i226, align 8 + %tobool.not.i.i.i.i.i227 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i227, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, label %if.then.i.i.i.i.i228 -if.then.i.i.i.i.i232: ; preds = %_ZN4absl21discrete_distributionItED2Ev.exit229 +if.then.i.i.i.i.i228: ; preds = %_ZN4absl21discrete_distributionItED2Ev.exit225 call void @_ZdlPv(ptr noundef nonnull %113) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233: ; preds = %if.then.i.i.i.i.i232, %_ZN4absl21discrete_distributionItED2Ev.exit229 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229: ; preds = %if.then.i.i.i.i.i228, %_ZN4absl21discrete_distributionItED2Ev.exit225 %114 = load ptr, ptr %empty, align 8 - %tobool.not.i.i.i1.i.i234 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i1.i.i234, label %_ZN4absl21discrete_distributionItED2Ev.exit236, label %if.then.i.i.i2.i.i235 + %tobool.not.i.i.i1.i.i230 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i1.i.i230, label %_ZN4absl21discrete_distributionItED2Ev.exit232, label %if.then.i.i.i2.i.i231 -if.then.i.i.i2.i.i235: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 +if.then.i.i.i2.i.i231: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 call void @_ZdlPv(ptr noundef nonnull %114) #24 - br label %_ZN4absl21discrete_distributionItED2Ev.exit236 + br label %_ZN4absl21discrete_distributionItED2Ev.exit232 -_ZN4absl21discrete_distributionItED2Ev.exit236: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, %if.then.i.i.i2.i.i235 +_ZN4absl21discrete_distributionItED2Ev.exit232: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, %if.then.i.i.i2.i.i231 ret void -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit211, %lpad157 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit211 ], [ %103, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad157 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit207 ], [ %103, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #23 br label %ehcleanup170 @@ -28716,18 +28714,18 @@ ehcleanup170: ; preds = %ehcleanup169, %ehcl call void @_ZN4absl21discrete_distributionItED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %after) #23 br label %ehcleanup171 -ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i121, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, %ehcleanup170 - %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i121 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 ] +ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i117, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, %ehcleanup170 + %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i117 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 ] call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 br label %ehcleanup172 -ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit150, %ehcleanup77, %ehcleanup49, %lpad21 - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit150 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] +ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit146, %ehcleanup77, %ehcleanup49, %lpad21 + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit146 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] call void @_ZN4absl21discrete_distributionItED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %before) #23 br label %ehcleanup173 -ehcleanup173: ; preds = %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, %eh.resume.sink.split.i.i, %lpad, %ehcleanup172, %ehcleanup17 - %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i.i ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 ], [ %16, %eh.resume.sink.split.i.i ] +ehcleanup173: ; preds = %lpad.i.i233, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, %eh.resume.sink.split.i, %lpad, %ehcleanup172, %ehcleanup17 + %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i233 ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 ], [ %16, %eh.resume.sink.split.i ] call void @_ZN4absl21discrete_distributionItED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %empty) #23 br label %common.resume } @@ -28739,8 +28737,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i if.then.i.i.i: ; preds = %entry @@ -28755,7 +28752,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %entry br i1 %cmp.not.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i - %add.ptr3.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr3.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage4.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr3.i.i, ptr %_M_end_of_storage4.i.i, align 8 br label %invoke.cont @@ -28766,7 +28763,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i, ptr %this, align 8 - %add.ptr.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -28780,9 +28777,10 @@ lpad.i: ; preds = %if.then.i.i.i.i.i.i br i1 %tobool.not.i.i.i, label %eh.resume, label %eh.resume.sink.split invoke.cont: ; preds = %call5.i.i.i.i.noexc.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i - %add.ptr5.i.i = phi ptr [ %add.ptr3.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %add.ptr.i.i, %call5.i.i.i.i.noexc.i ] + %cond.i5.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %call5.i.i.i.i1.i, %call5.i.i.i.i.noexc.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr5.i.i, ptr %_M_finish.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionItE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %this) @@ -29174,30 +29172,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i22 = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store double %3, ptr %add.ptr.i.i22, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %p.sroa.0.267, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %p.sroa.0.267, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %p.sroa.0.267) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i20 - %add.ptr.i.i22.pn = phi ptr [ %add.ptr.i.i22, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] %p.sroa.15.2 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.15.166, %if.then.i20 ] %p.sroa.0.3 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.0.267, %if.then.i20 ] - %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i22.pn, i64 1 + %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %inc = add i16 %i.068, 1 %conv = zext i16 %inc to i64 %4 = load i64, ptr %n, align 8 @@ -29296,7 +29295,7 @@ if.then: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 %2 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i = icmp eq ptr %0, %2 - br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i, label %if.then.i.i + br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store double 1.000000e+00, ptr %0, align 8 @@ -29305,18 +29304,18 @@ if.then.i.i: ; preds = %if.then store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 br label %_ZNSt6vectorIdSaIdEE9push_backEOd.exit -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then %call5.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #25 store double 1.000000e+00, ptr %call5.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i store ptr %call5.i.i.i.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_end_of_storage.i.i, align 8 @@ -29364,7 +29363,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els tail call void @llvm.assume(i1 %cmp.not.i.i.i) %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 4 %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #25 - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i store double 1.000000e+00, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -29472,8 +29471,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %_ZNSt6vectorIdSaIdEEC2ERKS1_.exit _ZNSt6vectorIdSaIdEEC2ERKS1_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 %q_3 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %0, i64 0, i32 1 @@ -30370,65 +30368,65 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %before, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store ptr %call5.i.i.i.i2.i.i.i, ptr %before, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 3 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i33 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %before, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i33, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i233 + +call5.i.i.i.i.noexc.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store ptr %call5.i.i.i.i2.i.i, ptr %before, align 8 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 24 + %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 + store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) + %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 + store ptr %add.ptr.i1.i.i, ptr %_M_finish.i.i.i, align 8 + %q_.i235 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %before, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i235, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIiE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %before) - to label %invoke.cont22 unwind label %lpad2.i.i + to label %invoke.cont22 unwind label %lpad2.i -lpad.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +lpad.i.i233: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup173 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %16 = landingpad { ptr, i32 } cleanup - %17 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, label %if.then.i.i.i3.i.i + %17 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %17) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236: ; preds = %if.then.i.i.i3.i, %lpad2.i %18 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup173, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup173, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 call void @_ZdlPv(ptr noundef nonnull %18) #24 br label %ehcleanup173 -invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i.i +invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i store double 0.000000e+00, ptr %s, align 8 %19 = load ptr, ptr %before, align 8 - %20 = load ptr, ptr %_M_finish.i.i.i.i, align 8 - %cmp.i.not243 = icmp eq ptr %19, %20 - br i1 %cmp.i.not243, label %for.end.thread, label %for.body + %20 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.not244 = icmp eq ptr %19, %20 + br i1 %cmp.i.not244, label %for.end.thread, label %for.body for.end.thread: ; preds = %invoke.cont22 store double 1.000000e+00, ptr %ref.tmp31, align 8 br label %if.end.i.i for.body: ; preds = %invoke.cont22, %for.body - %__begin0.sroa.0.0245 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] - %add242244 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] - %21 = load double, ptr %__begin0.sroa.0.0245, align 8 - %add = fadd double %21, %add242244 + %__begin0.sroa.0.0246 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] + %add243245 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] + %21 = load double, ptr %__begin0.sroa.0.0246, align 8 + %add = fadd double %21, %add243245 store double %add, ptr %s, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0245, i64 1 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0246, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %20 br i1 %cmp.i.not, label %for.end, label %for.body @@ -30458,26 +30456,26 @@ if.end.i.i: ; preds = %for.end.thread, %fo invoke.cont32: ; preds = %if.then.i.i, %if.end.i.i %23 = load i8, ptr %gtest_ar30, align 8 %24 = and i8 %23, 1 - %tobool.i36.not = icmp eq i8 %24, 0 - br i1 %tobool.i36.not, label %if.else35, label %if.end48 + %tobool.i33.not = icmp eq i8 %24, 0 + br i1 %tobool.i33.not, label %if.else35, label %if.end48 if.else35: ; preds = %invoke.cont32 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) to label %invoke.cont38 unwind label %lpad37 invoke.cont38: ; preds = %if.else35 - %message_.i.i37 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %25 = load ptr, ptr %message_.i.i37, align 8 - %cmp.i.i.not.i.i38 = icmp eq ptr %25, null - br i1 %cmp.i.i.not.i.i38, label %invoke.cont41, label %cond.true.i.i39 + %message_.i.i34 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %25 = load ptr, ptr %message_.i.i34, align 8 + %cmp.i.i.not.i.i35 = icmp eq ptr %25, null + br i1 %cmp.i.i.not.i.i35, label %invoke.cont41, label %cond.true.i.i36 -cond.true.i.i39: ; preds = %invoke.cont38 - %call4.i.i40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 +cond.true.i.i36: ; preds = %invoke.cont38 + %call4.i.i37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 br label %invoke.cont41 -invoke.cont41: ; preds = %cond.true.i.i39, %invoke.cont38 - %cond.i.i41 = phi ptr [ %call4.i.i40, %cond.true.i.i39 ], [ @.str, %invoke.cont38 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i41) +invoke.cont41: ; preds = %cond.true.i.i36, %invoke.cont38 + %cond.i.i38 = phi ptr [ %call4.i.i37, %cond.true.i.i36 ], [ @.str, %invoke.cont38 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i38) to label %invoke.cont43 unwind label %lpad40 invoke.cont43: ; preds = %invoke.cont41 @@ -30487,17 +30485,17 @@ invoke.cont43: ; preds = %invoke.cont41 invoke.cont45: ; preds = %invoke.cont43 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #23 %26 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i43 = icmp eq ptr %26, null - br i1 %cmp.not.i.i43, label %_ZN7testing7MessageD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 + %cmp.not.i.i40 = icmp eq ptr %26, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44: ; preds = %invoke.cont45 - %vtable.i.i.i45 = load ptr, ptr %26, align 8 - %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 - %27 = load ptr, ptr %vfn.i.i.i46, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %invoke.cont45 + %vtable.i.i.i42 = load ptr, ptr %26, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %27 = load ptr, ptr %vfn.i.i.i43, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #23 - br label %_ZN7testing7MessageD2Ev.exit47 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit47: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 +_ZN7testing7MessageD2Ev.exit44: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp36, align 8 br label %if.end48 @@ -30520,47 +30518,47 @@ lpad44: ; preds = %invoke.cont43 ehcleanup47: ; preds = %lpad44, %lpad40 %.pn4 = phi { ptr, i32 } [ %30, %lpad44 ], [ %29, %lpad40 ] %31 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i48 = icmp eq ptr %31, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i45 = icmp eq ptr %31, null + br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup47 - %vtable.i.i.i50 = load ptr, ptr %31, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %32 = load ptr, ptr %vfn.i.i.i51, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %ehcleanup47 + %vtable.i.i.i47 = load ptr, ptr %31, align 8 + %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 + %32 = load ptr, ptr %vfn.i.i.i48, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #23 - br label %_ZN7testing7MessageD2Ev.exit52 + br label %_ZN7testing7MessageD2Ev.exit49 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit49: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 store ptr null, ptr %ref.tmp36, align 8 br label %ehcleanup49 -if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit47 - %message_.i53 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %33 = load ptr, ptr %message_.i53, align 8 - %cmp.not.i.i54 = icmp eq ptr %33, null - br i1 %cmp.not.i.i54, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit44 + %message_.i50 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %33 = load ptr, ptr %message_.i50, align 8 + %cmp.not.i.i51 = icmp eq ptr %33, null + br i1 %cmp.not.i.i51, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %if.end48 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52: ; preds = %if.end48 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 call void @_ZdlPv(ptr noundef nonnull %33) #24 br label %invoke.cont58 -invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %if.end48 - store ptr null, ptr %message_.i53, align 8 +invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52, %if.end48 + store ptr null, ptr %message_.i50, align 8 store <2 x double> , ptr %ref.tmp51, align 16 - %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 - store double 2.500000e-01, ptr %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx, align 16 + %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 + store double 2.500000e-01, ptr %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar50, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp51, ptr noundef nonnull @.str.94, ptr noundef nonnull align 8 dereferenceable(24) %before) to label %invoke.cont60 unwind label %lpad21 invoke.cont60: ; preds = %invoke.cont58 %34 = load i8, ptr %gtest_ar50, align 8 %35 = and i8 %34, 1 - %tobool.i58.not = icmp eq i8 %35, 0 - br i1 %tobool.i58.not, label %if.else63, label %if.end76 + %tobool.i55.not = icmp eq i8 %35, 0 + br i1 %tobool.i55.not, label %if.else63, label %if.end76 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad37 - %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit52 ], [ %28, %lpad37 ] +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad37 + %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit49 ], [ %28, %lpad37 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar30) #23 br label %ehcleanup172 @@ -30569,18 +30567,18 @@ if.else63: ; preds = %invoke.cont60 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %if.else63 - %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %36 = load ptr, ptr %message_.i.i59, align 8 - %cmp.i.i.not.i.i60 = icmp eq ptr %36, null - br i1 %cmp.i.i.not.i.i60, label %invoke.cont69, label %cond.true.i.i61 + %message_.i.i56 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %36 = load ptr, ptr %message_.i.i56, align 8 + %cmp.i.i.not.i.i57 = icmp eq ptr %36, null + br i1 %cmp.i.i.not.i.i57, label %invoke.cont69, label %cond.true.i.i58 -cond.true.i.i61: ; preds = %invoke.cont66 - %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 +cond.true.i.i58: ; preds = %invoke.cont66 + %call4.i.i59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 br label %invoke.cont69 -invoke.cont69: ; preds = %cond.true.i.i61, %invoke.cont66 - %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str, %invoke.cont66 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i63) +invoke.cont69: ; preds = %cond.true.i.i58, %invoke.cont66 + %cond.i.i60 = phi ptr [ %call4.i.i59, %cond.true.i.i58 ], [ @.str, %invoke.cont66 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i60) to label %invoke.cont71 unwind label %lpad68 invoke.cont71: ; preds = %invoke.cont69 @@ -30590,17 +30588,17 @@ invoke.cont71: ; preds = %invoke.cont69 invoke.cont73: ; preds = %invoke.cont71 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #23 %37 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i65 = icmp eq ptr %37, null - br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 + %cmp.not.i.i62 = icmp eq ptr %37, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont73 - %vtable.i.i.i67 = load ptr, ptr %37, align 8 - %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 - %38 = load ptr, ptr %vfn.i.i.i68, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %invoke.cont73 + %vtable.i.i.i64 = load ptr, ptr %37, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %38 = load ptr, ptr %vfn.i.i.i65, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #23 - br label %_ZN7testing7MessageD2Ev.exit69 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 +_ZN7testing7MessageD2Ev.exit66: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 @@ -30623,45 +30621,45 @@ lpad72: ; preds = %invoke.cont71 ehcleanup75: ; preds = %lpad72, %lpad68 %.pn7 = phi { ptr, i32 } [ %41, %lpad72 ], [ %40, %lpad68 ] %42 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i70 = icmp eq ptr %42, null - br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 + %cmp.not.i.i67 = icmp eq ptr %42, null + br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup75 - %vtable.i.i.i72 = load ptr, ptr %42, align 8 - %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 - %43 = load ptr, ptr %vfn.i.i.i73, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup75 + %vtable.i.i.i69 = load ptr, ptr %42, align 8 + %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 + %43 = load ptr, ptr %vfn.i.i.i70, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #23 - br label %_ZN7testing7MessageD2Ev.exit74 + br label %_ZN7testing7MessageD2Ev.exit71 -_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 +_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit69 - %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %44 = load ptr, ptr %message_.i75, align 8 - %cmp.not.i.i76 = icmp eq ptr %44, null - br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit66 + %message_.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %44 = load ptr, ptr %message_.i72, align 8 + %cmp.not.i.i73 = icmp eq ptr %44, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end76 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end76 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 call void @_ZdlPv(ptr noundef nonnull %44) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit78 + br label %_ZN7testing15AssertionResultD2Ev.exit75 -_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 - store ptr null, ptr %message_.i75, align 8 +_ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + store ptr null, ptr %message_.i72, align 8 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 to label %invoke.cont86 unwind label %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i -_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 +_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 +invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - invoke void @_ZN4absl21discrete_distributionIiE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 + invoke void @_ZN4absl21discrete_distributionIiE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont86 @@ -30694,17 +30692,17 @@ _ZN4absl21discrete_distributionIiE10param_typeD2Ev.exit: ; preds = %_ZNSt6vector %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %48 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %49 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %50 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !890 + %50 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !890 %51 = load ptr, ptr %before, align 8, !noalias !890 %sub.ptr.lhs.cast.i5.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.rhs.cast.i6.i.i.i.i.i = ptrtoint ptr %51 to i64 %sub.ptr.sub.i7.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, %sub.ptr.sub.i7.i.i.i.i.i - br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i78 land.rhs.i.i.i.i.i: ; preds = %_ZN4absl21discrete_distributionIiE10param_typeD2Ev.exit %cmp.not4.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, %48 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i %__first2.addr.06.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i ], [ %51, %land.rhs.i.i.i.i.i ] @@ -30712,45 +30710,45 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %52 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, align 8, !noalias !890 %53 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, align 8, !noalias !890 %cmp1.i.i.i.i.i.i.i.i.i = fcmp oeq double %52, %53 - br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i78 for.inc.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, i64 1 %incdec.ptr2.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %48 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 -if.then.i.i83: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i +if.then.i.i79: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont104 unwind label %lpad103 -if.end.i.i82: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIiE10param_typeD2Ev.exit +if.end.i.i78: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIiE10param_typeD2Ev.exit invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97, ptr noundef nonnull align 8 dereferenceable(48) %via_param, ptr noundef nonnull align 8 dereferenceable(48) %before) to label %invoke.cont104 unwind label %lpad103 -invoke.cont104: ; preds = %if.then.i.i83, %if.end.i.i82 +invoke.cont104: ; preds = %if.then.i.i79, %if.end.i.i78 %54 = load i8, ptr %gtest_ar102, align 8 %55 = and i8 %54, 1 - %tobool.i86.not = icmp eq i8 %55, 0 - br i1 %tobool.i86.not, label %if.else107, label %if.end120 + %tobool.i82.not = icmp eq i8 %55, 0 + br i1 %tobool.i82.not, label %if.else107, label %if.end120 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad65 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit74 ], [ %39, %lpad65 ] +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad65 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit71 ], [ %39, %lpad65 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50) #23 br label %ehcleanup172 lpad97: ; preds = %invoke.cont86 %56 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 lpad99: ; preds = %invoke.cont98 %57 = landingpad { ptr, i32 } cleanup call void @_ZN4absl21discrete_distributionIiE10param_typeD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -lpad103: ; preds = %if.end.i.i82, %if.then.i.i83 +lpad103: ; preds = %if.end.i.i78, %if.then.i.i79 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 @@ -30760,18 +30758,18 @@ if.else107: ; preds = %invoke.cont104 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %if.else107 - %message_.i.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i87, align 8 - %cmp.i.i.not.i.i88 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i88, label %invoke.cont113, label %cond.true.i.i89 + %message_.i.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i83, align 8 + %cmp.i.i.not.i.i84 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i84, label %invoke.cont113, label %cond.true.i.i85 -cond.true.i.i89: ; preds = %invoke.cont110 - %call4.i.i90 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i85: ; preds = %invoke.cont110 + %call4.i.i86 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont113 -invoke.cont113: ; preds = %cond.true.i.i89, %invoke.cont110 - %cond.i.i91 = phi ptr [ %call4.i.i90, %cond.true.i.i89 ], [ @.str, %invoke.cont110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i91) +invoke.cont113: ; preds = %cond.true.i.i85, %invoke.cont110 + %cond.i.i87 = phi ptr [ %call4.i.i86, %cond.true.i.i85 ], [ @.str, %invoke.cont110 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i87) to label %invoke.cont115 unwind label %lpad112 invoke.cont115: ; preds = %invoke.cont113 @@ -30781,17 +30779,17 @@ invoke.cont115: ; preds = %invoke.cont113 invoke.cont117: ; preds = %invoke.cont115 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111) #23 %60 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i93 = icmp eq ptr %60, null - br i1 %cmp.not.i.i93, label %_ZN7testing7MessageD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 + %cmp.not.i.i89 = icmp eq ptr %60, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont117 - %vtable.i.i.i95 = load ptr, ptr %60, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %61 = load ptr, ptr %vfn.i.i.i96, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %invoke.cont117 + %vtable.i.i.i91 = load ptr, ptr %60, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %61 = load ptr, ptr %vfn.i.i.i92, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit97 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit97: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 +_ZN7testing7MessageD2Ev.exit93: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp108, align 8 br label %if.end120 @@ -30814,52 +30812,52 @@ lpad116: ; preds = %invoke.cont115 ehcleanup119: ; preds = %lpad116, %lpad112 %.pn10 = phi { ptr, i32 } [ %64, %lpad116 ], [ %63, %lpad112 ] %65 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i98 = icmp eq ptr %65, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i94 = icmp eq ptr %65, null + br i1 %cmp.not.i.i94, label %_ZN7testing7MessageD2Ev.exit98, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup119 - %vtable.i.i.i100 = load ptr, ptr %65, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %66 = load ptr, ptr %vfn.i.i.i101, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95: ; preds = %ehcleanup119 + %vtable.i.i.i96 = load ptr, ptr %65, align 8 + %vfn.i.i.i97 = getelementptr inbounds ptr, ptr %vtable.i.i.i96, i64 1 + %66 = load ptr, ptr %vfn.i.i.i97, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit102 + br label %_ZN7testing7MessageD2Ev.exit98 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit98: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %ref.tmp108, align 8 br label %ehcleanup121 -if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit97 - %message_.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %67 = load ptr, ptr %message_.i103, align 8 - %cmp.not.i.i104 = icmp eq ptr %67, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit93 + %message_.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %67 = load ptr, ptr %message_.i99, align 8 + %cmp.not.i.i100 = icmp eq ptr %67, null + br i1 %cmp.not.i.i100, label %_ZN7testing15AssertionResultD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end120 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %if.end120 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit106 + br label %_ZN7testing15AssertionResultD2Ev.exit102 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 - store ptr null, ptr %message_.i103, align 8 - %q_.i.i107 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %via_param, i64 0, i32 1 - %68 = load ptr, ptr %q_.i.i107, align 8 - %tobool.not.i.i.i.i.i108 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i.i.i108, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, label %if.then.i.i.i.i.i109 +_ZN7testing15AssertionResultD2Ev.exit102: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 + store ptr null, ptr %message_.i99, align 8 + %q_.i.i103 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %via_param, i64 0, i32 1 + %68 = load ptr, ptr %q_.i.i103, align 8 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, label %if.then.i.i.i.i.i105 -if.then.i.i.i.i.i109: ; preds = %_ZN7testing15AssertionResultD2Ev.exit106 +if.then.i.i.i.i.i105: ; preds = %_ZN7testing15AssertionResultD2Ev.exit102 call void @_ZdlPv(ptr noundef nonnull %68) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110: ; preds = %if.then.i.i.i.i.i109, %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106: ; preds = %if.then.i.i.i.i.i105, %_ZN7testing15AssertionResultD2Ev.exit102 %69 = load ptr, ptr %via_param, align 8 - %tobool.not.i.i.i1.i.i111 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i1.i.i111, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i112 + %tobool.not.i.i.i1.i.i107 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i1.i.i107, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i108 -if.then.i.i.i2.i.i112: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 +if.then.i.i.i2.i.i108: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 call void @_ZdlPv(ptr noundef nonnull %69) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit -_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, %if.then.i.i.i2.i.i112 +_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, %if.then.i.i.i2.i.i108 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) to label %invoke.cont124 unwind label %lpad21 @@ -30872,87 +30870,87 @@ invoke.cont124: ; preds = %_ZNSt6vectorIdSaIdE invoke.cont126: ; preds = %invoke.cont124 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %after, i8 0, i64 48, i1 false) invoke void @_ZN4absl21discrete_distributionIiE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %after) - to label %invoke.cont128 unwind label %lpad.i.i115 + to label %invoke.cont128 unwind label %lpad.i.i111 -lpad.i.i115: ; preds = %invoke.cont126 +lpad.i.i111: ; preds = %invoke.cont126 %70 = landingpad { ptr, i32 } cleanup - %q_.i.i116 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %after, i64 0, i32 1 - %71 = load ptr, ptr %q_.i.i116, align 8 - %tobool.not.i.i.i.i.i117 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, label %if.then.i.i.i.i.i118 + %q_.i.i112 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %after, i64 0, i32 1 + %71 = load ptr, ptr %q_.i.i112, align 8 + %tobool.not.i.i.i.i.i113 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i113, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, label %if.then.i.i.i.i.i114 -if.then.i.i.i.i.i118: ; preds = %lpad.i.i115 +if.then.i.i.i.i.i114: ; preds = %lpad.i.i111 call void @_ZdlPv(ptr noundef nonnull %71) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119: ; preds = %if.then.i.i.i.i.i118, %lpad.i.i115 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115: ; preds = %if.then.i.i.i.i.i114, %lpad.i.i111 %72 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i120 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i1.i.i120, label %ehcleanup171, label %if.then.i.i.i2.i.i121 + %tobool.not.i.i.i1.i.i116 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i1.i.i116, label %ehcleanup171, label %if.then.i.i.i2.i.i117 -if.then.i.i.i2.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 +if.then.i.i.i2.i.i117: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 call void @_ZdlPv(ptr noundef nonnull %72) #24 br label %ehcleanup171 invoke.cont128: ; preds = %invoke.cont126 - %73 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !895 + %73 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !895 %74 = load ptr, ptr %before, align 8, !noalias !895 - %sub.ptr.lhs.cast.i.i.i.i.i.i126 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i127 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i126, %sub.ptr.rhs.cast.i.i.i.i.i.i127 - %_M_finish.i4.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 - %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !895 + %sub.ptr.lhs.cast.i.i.i.i.i.i122 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i123 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i.i.i.i.i124 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i122, %sub.ptr.rhs.cast.i.i.i.i.i.i123 + %_M_finish.i4.i.i.i.i.i125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 + %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !895 %76 = load ptr, ptr %after, align 8, !noalias !895 - %sub.ptr.lhs.cast.i5.i.i.i.i.i130 = ptrtoint ptr %75 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i131 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i7.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i130, %sub.ptr.rhs.cast.i6.i.i.i.i.i131 - %cmp.i.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i128, %sub.ptr.sub.i7.i.i.i.i.i132 - br i1 %cmp.i.i.i.i.i133, label %land.rhs.i.i.i.i.i134, label %if.then.i - -land.rhs.i.i.i.i.i134: ; preds = %invoke.cont128 - %cmp.not4.i.i.i.i.i.i.i.i.i135 = icmp eq ptr %74, %73 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i135, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136 - -for.body.i.i.i.i.i.i.i.i.i136: ; preds = %land.rhs.i.i.i.i.i134, %for.inc.i.i.i.i.i.i.i.i.i140 - %__first2.addr.06.i.i.i.i.i.i.i.i.i137 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i142, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %76, %land.rhs.i.i.i.i.i134 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i138 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i141, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %74, %land.rhs.i.i.i.i.i134 ] - %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, align 8, !noalias !895 - %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, align 8, !noalias !895 - %cmp1.i.i.i.i.i.i.i.i.i139 = fcmp une double %77, %78 - br i1 %cmp1.i.i.i.i.i.i.i.i.i139, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i140 - -for.inc.i.i.i.i.i.i.i.i.i140: ; preds = %for.body.i.i.i.i.i.i.i.i.i136 - %incdec.ptr.i.i.i.i.i.i.i.i.i141 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i142 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i143 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i141, %73 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i143, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136, !llvm.loop !610 - -if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i136, %invoke.cont128 + %sub.ptr.lhs.cast.i5.i.i.i.i.i126 = ptrtoint ptr %75 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i127 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i7.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i126, %sub.ptr.rhs.cast.i6.i.i.i.i.i127 + %cmp.i.i.i.i.i129 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i124, %sub.ptr.sub.i7.i.i.i.i.i128 + br i1 %cmp.i.i.i.i.i129, label %land.rhs.i.i.i.i.i130, label %if.then.i + +land.rhs.i.i.i.i.i130: ; preds = %invoke.cont128 + %cmp.not4.i.i.i.i.i.i.i.i.i131 = icmp eq ptr %74, %73 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i131, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132 + +for.body.i.i.i.i.i.i.i.i.i132: ; preds = %land.rhs.i.i.i.i.i130, %for.inc.i.i.i.i.i.i.i.i.i136 + %__first2.addr.06.i.i.i.i.i.i.i.i.i133 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i138, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %76, %land.rhs.i.i.i.i.i130 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i134 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i137, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %74, %land.rhs.i.i.i.i.i130 ] + %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, align 8, !noalias !895 + %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, align 8, !noalias !895 + %cmp1.i.i.i.i.i.i.i.i.i135 = fcmp une double %77, %78 + br i1 %cmp1.i.i.i.i.i.i.i.i.i135, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i136 + +for.inc.i.i.i.i.i.i.i.i.i136: ; preds = %for.body.i.i.i.i.i.i.i.i.i132 + %incdec.ptr.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i138 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i137, %73 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i139, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132, !llvm.loop !610 + +if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i132, %invoke.cont128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129) to label %invoke.cont131 unwind label %lpad130 -if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i140, %land.rhs.i.i.i.i.i134 +if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i136, %land.rhs.i.i.i.i.i130 invoke void @_ZN7testing8internal18CmpHelperOpFailureIN4absl21discrete_distributionIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_S7_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after, ptr noundef nonnull @.str.99) to label %invoke.cont131 unwind label %lpad130 invoke.cont131: ; preds = %if.then.i, %if.else.i %79 = load i8, ptr %gtest_ar129, align 8 %80 = and i8 %79, 1 - %tobool.i146.not = icmp eq i8 %80, 0 - br i1 %tobool.i146.not, label %if.else134, label %if.end147 + %tobool.i142.not = icmp eq i8 %80, 0 + br i1 %tobool.i142.not, label %if.else134, label %if.end147 -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit102, %lpad109 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit102 ], [ %62, %lpad109 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit98, %lpad109 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit98 ], [ %62, %lpad109 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #23 br label %ehcleanup122 ehcleanup122: ; preds = %ehcleanup121, %lpad103 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup121 ], [ %58, %lpad103 ] call void @_ZN4absl21discrete_distributionIiED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %via_param) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -_ZNSt6vectorIdSaIdEED2Ev.exit150: ; preds = %ehcleanup122, %lpad99, %lpad97 +_ZNSt6vectorIdSaIdEED2Ev.exit146: ; preds = %ehcleanup122, %lpad99, %lpad97 %.pn10.pn.pn.pn = phi { ptr, i32 } [ %.pn10.pn.pn, %ehcleanup122 ], [ %57, %lpad99 ], [ %56, %lpad97 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 br label %ehcleanup172 @@ -30962,7 +30960,7 @@ lpad125: ; preds = %invoke.cont124 cleanup br label %ehcleanup171 -lpad130: ; preds = %if.end.i.i180, %if.then.i.i191, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit170 +lpad130: ; preds = %if.end.i.i176, %if.then.i.i187, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit166 %82 = landingpad { ptr, i32 } cleanup br label %ehcleanup170 @@ -30972,18 +30970,18 @@ if.else134: ; preds = %invoke.cont131 to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont140, label %cond.true.i.i153 + %message_.i.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i147, align 8 + %cmp.i.i.not.i.i148 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i148, label %invoke.cont140, label %cond.true.i.i149 -cond.true.i.i153: ; preds = %invoke.cont137 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 +cond.true.i.i149: ; preds = %invoke.cont137 + %call4.i.i150 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i153, %invoke.cont137 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i155) +invoke.cont140: ; preds = %cond.true.i.i149, %invoke.cont137 + %cond.i.i151 = phi ptr [ %call4.i.i150, %cond.true.i.i149 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i151) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -30993,17 +30991,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %84 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i157 = icmp eq ptr %84, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i153 = icmp eq ptr %84, null + br i1 %cmp.not.i.i153, label %_ZN7testing7MessageD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont144 - %vtable.i.i.i159 = load ptr, ptr %84, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %85 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %invoke.cont144 + %vtable.i.i.i155 = load ptr, ptr %84, align 8 + %vfn.i.i.i156 = getelementptr inbounds ptr, ptr %vtable.i.i.i155, i64 1 + %85 = load ptr, ptr %vfn.i.i.i156, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #23 - br label %_ZN7testing7MessageD2Ev.exit161 + br label %_ZN7testing7MessageD2Ev.exit157 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit157: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 store ptr null, ptr %ref.tmp135, align 8 br label %if.end147 @@ -31026,84 +31024,84 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn15 = phi { ptr, i32 } [ %88, %lpad143 ], [ %87, %lpad139 ] %89 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i162 = icmp eq ptr %89, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i158 = icmp eq ptr %89, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup146 - %vtable.i.i.i164 = load ptr, ptr %89, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %90 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %ehcleanup146 + %vtable.i.i.i160 = load ptr, ptr %89, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %90 = load ptr, ptr %vfn.i.i.i161, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit162: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %91 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %91, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit157 + %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %91 = load ptr, ptr %message_.i163, align 8 + %cmp.not.i.i164 = icmp eq ptr %91, null + br i1 %cmp.not.i.i164, label %_ZN7testing15AssertionResultD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #23 call void @_ZdlPv(ptr noundef nonnull %91) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit166 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit166: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + store ptr null, ptr %message_.i163, align 8 %call150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4abslrsIcSt11char_traitsIcEiEERSt13basic_istreamIT_T0_ES7_RNS_21discrete_distributionIT1_EE(ptr noundef nonnull align 8 dereferenceable(16) %ss, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont149 unwind label %lpad130 -invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !898 +invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit166 + %92 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !898 %93 = load ptr, ptr %before, align 8, !noalias !898 - %sub.ptr.lhs.cast.i.i.i.i.i.i172 = ptrtoint ptr %92 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i173 = ptrtoint ptr %93 to i64 - %sub.ptr.sub.i.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i172, %sub.ptr.rhs.cast.i.i.i.i.i.i173 - %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !898 + %sub.ptr.lhs.cast.i.i.i.i.i.i168 = ptrtoint ptr %92 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i169 = ptrtoint ptr %93 to i64 + %sub.ptr.sub.i.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i.i169 + %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !898 %95 = load ptr, ptr %after, align 8, !noalias !898 - %sub.ptr.lhs.cast.i5.i.i.i.i.i176 = ptrtoint ptr %94 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i177 = ptrtoint ptr %95 to i64 - %sub.ptr.sub.i7.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i176, %sub.ptr.rhs.cast.i6.i.i.i.i.i177 - %cmp.i.i.i.i.i179 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i174, %sub.ptr.sub.i7.i.i.i.i.i178 - br i1 %cmp.i.i.i.i.i179, label %land.rhs.i.i.i.i.i181, label %if.end.i.i180 - -land.rhs.i.i.i.i.i181: ; preds = %invoke.cont149 - %cmp.not4.i.i.i.i.i.i.i.i.i182 = icmp eq ptr %93, %92 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i182, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183 - -for.body.i.i.i.i.i.i.i.i.i183: ; preds = %land.rhs.i.i.i.i.i181, %for.inc.i.i.i.i.i.i.i.i.i187 - %__first2.addr.06.i.i.i.i.i.i.i.i.i184 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i189, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %95, %land.rhs.i.i.i.i.i181 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i185 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i188, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %93, %land.rhs.i.i.i.i.i181 ] - %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, align 8, !noalias !898 - %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, align 8, !noalias !898 - %cmp1.i.i.i.i.i.i.i.i.i186 = fcmp oeq double %96, %97 - br i1 %cmp1.i.i.i.i.i.i.i.i.i186, label %for.inc.i.i.i.i.i.i.i.i.i187, label %if.end.i.i180 - -for.inc.i.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i.i.i.i.i.i183 - %incdec.ptr.i.i.i.i.i.i.i.i.i188 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i189 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i190 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i188, %92 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i190, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183, !llvm.loop !610 - -if.then.i.i191: ; preds = %for.inc.i.i.i.i.i.i.i.i.i187, %land.rhs.i.i.i.i.i181 + %sub.ptr.lhs.cast.i5.i.i.i.i.i172 = ptrtoint ptr %94 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i173 = ptrtoint ptr %95 to i64 + %sub.ptr.sub.i7.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i.i.i173 + %cmp.i.i.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i170, %sub.ptr.sub.i7.i.i.i.i.i174 + br i1 %cmp.i.i.i.i.i175, label %land.rhs.i.i.i.i.i177, label %if.end.i.i176 + +land.rhs.i.i.i.i.i177: ; preds = %invoke.cont149 + %cmp.not4.i.i.i.i.i.i.i.i.i178 = icmp eq ptr %93, %92 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i178, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179 + +for.body.i.i.i.i.i.i.i.i.i179: ; preds = %land.rhs.i.i.i.i.i177, %for.inc.i.i.i.i.i.i.i.i.i183 + %__first2.addr.06.i.i.i.i.i.i.i.i.i180 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i185, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %95, %land.rhs.i.i.i.i.i177 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i181 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i184, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %93, %land.rhs.i.i.i.i.i177 ] + %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, align 8, !noalias !898 + %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, align 8, !noalias !898 + %cmp1.i.i.i.i.i.i.i.i.i182 = fcmp oeq double %96, %97 + br i1 %cmp1.i.i.i.i.i.i.i.i.i182, label %for.inc.i.i.i.i.i.i.i.i.i183, label %if.end.i.i176 + +for.inc.i.i.i.i.i.i.i.i.i183: ; preds = %for.body.i.i.i.i.i.i.i.i.i179 + %incdec.ptr.i.i.i.i.i.i.i.i.i184 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i185 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i186 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i184, %92 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i186, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179, !llvm.loop !610 + +if.then.i.i187: ; preds = %for.inc.i.i.i.i.i.i.i.i.i183, %land.rhs.i.i.i.i.i177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151) to label %invoke.cont152 unwind label %lpad130 -if.end.i.i180: ; preds = %for.body.i.i.i.i.i.i.i.i.i183, %invoke.cont149 +if.end.i.i176: ; preds = %for.body.i.i.i.i.i.i.i.i.i179, %invoke.cont149 invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIiEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont152 unwind label %lpad130 -invoke.cont152: ; preds = %if.then.i.i191, %if.end.i.i180 +invoke.cont152: ; preds = %if.then.i.i187, %if.end.i.i176 %98 = load i8, ptr %gtest_ar151, align 8 %99 = and i8 %98, 1 - %tobool.i195.not = icmp eq i8 %99, 0 - br i1 %tobool.i195.not, label %if.else155, label %if.end168 + %tobool.i191.not = icmp eq i8 %99, 0 + br i1 %tobool.i191.not, label %if.else155, label %if.end168 -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad136 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit166 ], [ %86, %lpad136 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit162, %lpad136 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit162 ], [ %86, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar129) #23 br label %ehcleanup170 @@ -31112,18 +31110,18 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %message_.i.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %100 = load ptr, ptr %message_.i.i196, align 8 - %cmp.i.i.not.i.i197 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i197, label %invoke.cont161, label %cond.true.i.i198 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %100 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont161, label %cond.true.i.i194 -cond.true.i.i198: ; preds = %invoke.cont158 - %call4.i.i199 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 +cond.true.i.i194: ; preds = %invoke.cont158 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i198, %invoke.cont158 - %cond.i.i200 = phi ptr [ %call4.i.i199, %cond.true.i.i198 ], [ @.str, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i200) +invoke.cont161: ; preds = %cond.true.i.i194, %invoke.cont158 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i196) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -31133,17 +31131,17 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #23 %101 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i202 = icmp eq ptr %101, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i198 = icmp eq ptr %101, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %invoke.cont165 - %vtable.i.i.i204 = load ptr, ptr %101, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %102 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont165 + %vtable.i.i.i200 = load ptr, ptr %101, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %102 = load ptr, ptr %vfn.i.i.i201, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #23 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit206: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp156, align 8 br label %if.end168 @@ -31166,94 +31164,94 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn18 = phi { ptr, i32 } [ %105, %lpad164 ], [ %104, %lpad160 ] %106 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i207 = icmp eq ptr %106, null - br i1 %cmp.not.i.i207, label %_ZN7testing7MessageD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + %cmp.not.i.i203 = icmp eq ptr %106, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %ehcleanup167 - %vtable.i.i.i209 = load ptr, ptr %106, align 8 - %vfn.i.i.i210 = getelementptr inbounds ptr, ptr %vtable.i.i.i209, i64 1 - %107 = load ptr, ptr %vfn.i.i.i210, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup167 + %vtable.i.i.i205 = load ptr, ptr %106, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %107 = load ptr, ptr %vfn.i.i.i206, align 8 call void %107(ptr noundef nonnull align 8 dereferenceable(128) %106) #23 - br label %_ZN7testing7MessageD2Ev.exit211 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit211: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 -if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit206 - %message_.i212 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %108 = load ptr, ptr %message_.i212, align 8 - %cmp.not.i.i213 = icmp eq ptr %108, null - br i1 %cmp.not.i.i213, label %_ZN7testing15AssertionResultD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 +if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %108 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %108, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %if.end168 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end168 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #23 call void @_ZdlPv(ptr noundef nonnull %108) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit215 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit215: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 - store ptr null, ptr %message_.i212, align 8 - %q_.i.i216 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %after, i64 0, i32 1 - %109 = load ptr, ptr %q_.i.i216, align 8 - %tobool.not.i.i.i.i.i217 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i.i217, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, label %if.then.i.i.i.i.i218 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %q_.i.i212 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %after, i64 0, i32 1 + %109 = load ptr, ptr %q_.i.i212, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit215 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %109) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219: ; preds = %if.then.i.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit215 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %110 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i220 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i1.i.i220, label %_ZN4absl21discrete_distributionIiED2Ev.exit222, label %if.then.i.i.i2.i.i221 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i1.i.i216, label %_ZN4absl21discrete_distributionIiED2Ev.exit218, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i221: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %110) #24 - br label %_ZN4absl21discrete_distributionIiED2Ev.exit222 + br label %_ZN4absl21discrete_distributionIiED2Ev.exit218 -_ZN4absl21discrete_distributionIiED2Ev.exit222: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, %if.then.i.i.i2.i.i221 +_ZN4absl21discrete_distributionIiED2Ev.exit218: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 - %111 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, label %if.then.i.i.i.i.i225 + %111 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i.i.i220 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i.i.i220, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, label %if.then.i.i.i.i.i221 -if.then.i.i.i.i.i225: ; preds = %_ZN4absl21discrete_distributionIiED2Ev.exit222 +if.then.i.i.i.i.i221: ; preds = %_ZN4absl21discrete_distributionIiED2Ev.exit218 call void @_ZdlPv(ptr noundef nonnull %111) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226: ; preds = %if.then.i.i.i.i.i225, %_ZN4absl21discrete_distributionIiED2Ev.exit222 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222: ; preds = %if.then.i.i.i.i.i221, %_ZN4absl21discrete_distributionIiED2Ev.exit218 %112 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i1.i.i227 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i1.i.i227, label %_ZN4absl21discrete_distributionIiED2Ev.exit229, label %if.then.i.i.i2.i.i228 + %tobool.not.i.i.i1.i.i223 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i1.i.i223, label %_ZN4absl21discrete_distributionIiED2Ev.exit225, label %if.then.i.i.i2.i.i224 -if.then.i.i.i2.i.i228: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 +if.then.i.i.i2.i.i224: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 call void @_ZdlPv(ptr noundef nonnull %112) #24 - br label %_ZN4absl21discrete_distributionIiED2Ev.exit229 + br label %_ZN4absl21discrete_distributionIiED2Ev.exit225 -_ZN4absl21discrete_distributionIiED2Ev.exit229: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, %if.then.i.i.i2.i.i228 - %q_.i.i230 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %empty, i64 0, i32 1 - %113 = load ptr, ptr %q_.i.i230, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i231, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, label %if.then.i.i.i.i.i232 +_ZN4absl21discrete_distributionIiED2Ev.exit225: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, %if.then.i.i.i2.i.i224 + %q_.i.i226 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %empty, i64 0, i32 1 + %113 = load ptr, ptr %q_.i.i226, align 8 + %tobool.not.i.i.i.i.i227 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i227, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, label %if.then.i.i.i.i.i228 -if.then.i.i.i.i.i232: ; preds = %_ZN4absl21discrete_distributionIiED2Ev.exit229 +if.then.i.i.i.i.i228: ; preds = %_ZN4absl21discrete_distributionIiED2Ev.exit225 call void @_ZdlPv(ptr noundef nonnull %113) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233: ; preds = %if.then.i.i.i.i.i232, %_ZN4absl21discrete_distributionIiED2Ev.exit229 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229: ; preds = %if.then.i.i.i.i.i228, %_ZN4absl21discrete_distributionIiED2Ev.exit225 %114 = load ptr, ptr %empty, align 8 - %tobool.not.i.i.i1.i.i234 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i1.i.i234, label %_ZN4absl21discrete_distributionIiED2Ev.exit236, label %if.then.i.i.i2.i.i235 + %tobool.not.i.i.i1.i.i230 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i1.i.i230, label %_ZN4absl21discrete_distributionIiED2Ev.exit232, label %if.then.i.i.i2.i.i231 -if.then.i.i.i2.i.i235: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 +if.then.i.i.i2.i.i231: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 call void @_ZdlPv(ptr noundef nonnull %114) #24 - br label %_ZN4absl21discrete_distributionIiED2Ev.exit236 + br label %_ZN4absl21discrete_distributionIiED2Ev.exit232 -_ZN4absl21discrete_distributionIiED2Ev.exit236: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, %if.then.i.i.i2.i.i235 +_ZN4absl21discrete_distributionIiED2Ev.exit232: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, %if.then.i.i.i2.i.i231 ret void -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit211, %lpad157 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit211 ], [ %103, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad157 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit207 ], [ %103, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #23 br label %ehcleanup170 @@ -31262,18 +31260,18 @@ ehcleanup170: ; preds = %ehcleanup169, %ehcl call void @_ZN4absl21discrete_distributionIiED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %after) #23 br label %ehcleanup171 -ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i121, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, %ehcleanup170 - %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i121 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 ] +ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i117, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, %ehcleanup170 + %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i117 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 ] call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 br label %ehcleanup172 -ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit150, %ehcleanup77, %ehcleanup49, %lpad21 - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit150 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] +ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit146, %ehcleanup77, %ehcleanup49, %lpad21 + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit146 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] call void @_ZN4absl21discrete_distributionIiED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %before) #23 br label %ehcleanup173 -ehcleanup173: ; preds = %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, %eh.resume.sink.split.i.i, %lpad, %ehcleanup172, %ehcleanup17 - %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i.i ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 ], [ %16, %eh.resume.sink.split.i.i ] +ehcleanup173: ; preds = %lpad.i.i233, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, %eh.resume.sink.split.i, %lpad, %ehcleanup172, %ehcleanup17 + %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i233 ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 ], [ %16, %eh.resume.sink.split.i ] call void @_ZN4absl21discrete_distributionIiED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %empty) #23 br label %common.resume } @@ -31584,30 +31582,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i22 = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store double %3, ptr %add.ptr.i.i22, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %p.sroa.0.267, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %p.sroa.0.267, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %p.sroa.0.267) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i20 - %add.ptr.i.i22.pn = phi ptr [ %add.ptr.i.i22, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] %p.sroa.15.2 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.15.166, %if.then.i20 ] %p.sroa.0.3 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.0.267, %if.then.i20 ] - %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i22.pn, i64 1 + %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %indvars.iv.next = add nuw i64 %indvars.iv, 1 %4 = load i64, ptr %n, align 8 %cmp7 = icmp ugt i64 %4, %indvars.iv.next @@ -31738,8 +31737,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %_ZNSt6vectorIdSaIdEEC2ERKS1_.exit _ZNSt6vectorIdSaIdEEC2ERKS1_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %this, i64 0, i32 1 %q_3 = getelementptr inbounds %"class.absl::discrete_distribution<>::param_type", ptr %0, i64 0, i32 1 @@ -32636,65 +32634,65 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %before, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store ptr %call5.i.i.i.i2.i.i.i, ptr %before, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 3 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i33 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i33, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i233 + +call5.i.i.i.i.noexc.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store ptr %call5.i.i.i.i2.i.i, ptr %before, align 8 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 24 + %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 + store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) + %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 + store ptr %add.ptr.i1.i.i, ptr %_M_finish.i.i.i, align 8 + %q_.i235 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i235, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIjE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %before) - to label %invoke.cont22 unwind label %lpad2.i.i + to label %invoke.cont22 unwind label %lpad2.i -lpad.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +lpad.i.i233: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup173 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %16 = landingpad { ptr, i32 } cleanup - %17 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, label %if.then.i.i.i3.i.i + %17 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %17) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236: ; preds = %if.then.i.i.i3.i, %lpad2.i %18 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup173, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup173, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 call void @_ZdlPv(ptr noundef nonnull %18) #24 br label %ehcleanup173 -invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i.i +invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i store double 0.000000e+00, ptr %s, align 8 %19 = load ptr, ptr %before, align 8 - %20 = load ptr, ptr %_M_finish.i.i.i.i, align 8 - %cmp.i.not243 = icmp eq ptr %19, %20 - br i1 %cmp.i.not243, label %for.end.thread, label %for.body + %20 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.not244 = icmp eq ptr %19, %20 + br i1 %cmp.i.not244, label %for.end.thread, label %for.body for.end.thread: ; preds = %invoke.cont22 store double 1.000000e+00, ptr %ref.tmp31, align 8 br label %if.end.i.i for.body: ; preds = %invoke.cont22, %for.body - %__begin0.sroa.0.0245 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] - %add242244 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] - %21 = load double, ptr %__begin0.sroa.0.0245, align 8 - %add = fadd double %21, %add242244 + %__begin0.sroa.0.0246 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] + %add243245 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] + %21 = load double, ptr %__begin0.sroa.0.0246, align 8 + %add = fadd double %21, %add243245 store double %add, ptr %s, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0245, i64 1 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0246, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %20 br i1 %cmp.i.not, label %for.end, label %for.body @@ -32724,26 +32722,26 @@ if.end.i.i: ; preds = %for.end.thread, %fo invoke.cont32: ; preds = %if.then.i.i, %if.end.i.i %23 = load i8, ptr %gtest_ar30, align 8 %24 = and i8 %23, 1 - %tobool.i36.not = icmp eq i8 %24, 0 - br i1 %tobool.i36.not, label %if.else35, label %if.end48 + %tobool.i33.not = icmp eq i8 %24, 0 + br i1 %tobool.i33.not, label %if.else35, label %if.end48 if.else35: ; preds = %invoke.cont32 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) to label %invoke.cont38 unwind label %lpad37 invoke.cont38: ; preds = %if.else35 - %message_.i.i37 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %25 = load ptr, ptr %message_.i.i37, align 8 - %cmp.i.i.not.i.i38 = icmp eq ptr %25, null - br i1 %cmp.i.i.not.i.i38, label %invoke.cont41, label %cond.true.i.i39 + %message_.i.i34 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %25 = load ptr, ptr %message_.i.i34, align 8 + %cmp.i.i.not.i.i35 = icmp eq ptr %25, null + br i1 %cmp.i.i.not.i.i35, label %invoke.cont41, label %cond.true.i.i36 -cond.true.i.i39: ; preds = %invoke.cont38 - %call4.i.i40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 +cond.true.i.i36: ; preds = %invoke.cont38 + %call4.i.i37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 br label %invoke.cont41 -invoke.cont41: ; preds = %cond.true.i.i39, %invoke.cont38 - %cond.i.i41 = phi ptr [ %call4.i.i40, %cond.true.i.i39 ], [ @.str, %invoke.cont38 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i41) +invoke.cont41: ; preds = %cond.true.i.i36, %invoke.cont38 + %cond.i.i38 = phi ptr [ %call4.i.i37, %cond.true.i.i36 ], [ @.str, %invoke.cont38 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i38) to label %invoke.cont43 unwind label %lpad40 invoke.cont43: ; preds = %invoke.cont41 @@ -32753,17 +32751,17 @@ invoke.cont43: ; preds = %invoke.cont41 invoke.cont45: ; preds = %invoke.cont43 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #23 %26 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i43 = icmp eq ptr %26, null - br i1 %cmp.not.i.i43, label %_ZN7testing7MessageD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 + %cmp.not.i.i40 = icmp eq ptr %26, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44: ; preds = %invoke.cont45 - %vtable.i.i.i45 = load ptr, ptr %26, align 8 - %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 - %27 = load ptr, ptr %vfn.i.i.i46, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %invoke.cont45 + %vtable.i.i.i42 = load ptr, ptr %26, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %27 = load ptr, ptr %vfn.i.i.i43, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #23 - br label %_ZN7testing7MessageD2Ev.exit47 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit47: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 +_ZN7testing7MessageD2Ev.exit44: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp36, align 8 br label %if.end48 @@ -32786,47 +32784,47 @@ lpad44: ; preds = %invoke.cont43 ehcleanup47: ; preds = %lpad44, %lpad40 %.pn4 = phi { ptr, i32 } [ %30, %lpad44 ], [ %29, %lpad40 ] %31 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i48 = icmp eq ptr %31, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i45 = icmp eq ptr %31, null + br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup47 - %vtable.i.i.i50 = load ptr, ptr %31, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %32 = load ptr, ptr %vfn.i.i.i51, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %ehcleanup47 + %vtable.i.i.i47 = load ptr, ptr %31, align 8 + %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 + %32 = load ptr, ptr %vfn.i.i.i48, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #23 - br label %_ZN7testing7MessageD2Ev.exit52 + br label %_ZN7testing7MessageD2Ev.exit49 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit49: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 store ptr null, ptr %ref.tmp36, align 8 br label %ehcleanup49 -if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit47 - %message_.i53 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %33 = load ptr, ptr %message_.i53, align 8 - %cmp.not.i.i54 = icmp eq ptr %33, null - br i1 %cmp.not.i.i54, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit44 + %message_.i50 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %33 = load ptr, ptr %message_.i50, align 8 + %cmp.not.i.i51 = icmp eq ptr %33, null + br i1 %cmp.not.i.i51, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %if.end48 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52: ; preds = %if.end48 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 call void @_ZdlPv(ptr noundef nonnull %33) #24 br label %invoke.cont58 -invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %if.end48 - store ptr null, ptr %message_.i53, align 8 +invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52, %if.end48 + store ptr null, ptr %message_.i50, align 8 store <2 x double> , ptr %ref.tmp51, align 16 - %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 - store double 2.500000e-01, ptr %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx, align 16 + %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 + store double 2.500000e-01, ptr %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar50, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp51, ptr noundef nonnull @.str.94, ptr noundef nonnull align 8 dereferenceable(24) %before) to label %invoke.cont60 unwind label %lpad21 invoke.cont60: ; preds = %invoke.cont58 %34 = load i8, ptr %gtest_ar50, align 8 %35 = and i8 %34, 1 - %tobool.i58.not = icmp eq i8 %35, 0 - br i1 %tobool.i58.not, label %if.else63, label %if.end76 + %tobool.i55.not = icmp eq i8 %35, 0 + br i1 %tobool.i55.not, label %if.else63, label %if.end76 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad37 - %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit52 ], [ %28, %lpad37 ] +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad37 + %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit49 ], [ %28, %lpad37 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar30) #23 br label %ehcleanup172 @@ -32835,18 +32833,18 @@ if.else63: ; preds = %invoke.cont60 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %if.else63 - %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %36 = load ptr, ptr %message_.i.i59, align 8 - %cmp.i.i.not.i.i60 = icmp eq ptr %36, null - br i1 %cmp.i.i.not.i.i60, label %invoke.cont69, label %cond.true.i.i61 + %message_.i.i56 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %36 = load ptr, ptr %message_.i.i56, align 8 + %cmp.i.i.not.i.i57 = icmp eq ptr %36, null + br i1 %cmp.i.i.not.i.i57, label %invoke.cont69, label %cond.true.i.i58 -cond.true.i.i61: ; preds = %invoke.cont66 - %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 +cond.true.i.i58: ; preds = %invoke.cont66 + %call4.i.i59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 br label %invoke.cont69 -invoke.cont69: ; preds = %cond.true.i.i61, %invoke.cont66 - %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str, %invoke.cont66 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i63) +invoke.cont69: ; preds = %cond.true.i.i58, %invoke.cont66 + %cond.i.i60 = phi ptr [ %call4.i.i59, %cond.true.i.i58 ], [ @.str, %invoke.cont66 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i60) to label %invoke.cont71 unwind label %lpad68 invoke.cont71: ; preds = %invoke.cont69 @@ -32856,17 +32854,17 @@ invoke.cont71: ; preds = %invoke.cont69 invoke.cont73: ; preds = %invoke.cont71 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #23 %37 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i65 = icmp eq ptr %37, null - br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 + %cmp.not.i.i62 = icmp eq ptr %37, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont73 - %vtable.i.i.i67 = load ptr, ptr %37, align 8 - %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 - %38 = load ptr, ptr %vfn.i.i.i68, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %invoke.cont73 + %vtable.i.i.i64 = load ptr, ptr %37, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %38 = load ptr, ptr %vfn.i.i.i65, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #23 - br label %_ZN7testing7MessageD2Ev.exit69 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 +_ZN7testing7MessageD2Ev.exit66: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 @@ -32889,45 +32887,45 @@ lpad72: ; preds = %invoke.cont71 ehcleanup75: ; preds = %lpad72, %lpad68 %.pn7 = phi { ptr, i32 } [ %41, %lpad72 ], [ %40, %lpad68 ] %42 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i70 = icmp eq ptr %42, null - br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 + %cmp.not.i.i67 = icmp eq ptr %42, null + br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup75 - %vtable.i.i.i72 = load ptr, ptr %42, align 8 - %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 - %43 = load ptr, ptr %vfn.i.i.i73, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup75 + %vtable.i.i.i69 = load ptr, ptr %42, align 8 + %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 + %43 = load ptr, ptr %vfn.i.i.i70, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #23 - br label %_ZN7testing7MessageD2Ev.exit74 + br label %_ZN7testing7MessageD2Ev.exit71 -_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 +_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit69 - %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %44 = load ptr, ptr %message_.i75, align 8 - %cmp.not.i.i76 = icmp eq ptr %44, null - br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit66 + %message_.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %44 = load ptr, ptr %message_.i72, align 8 + %cmp.not.i.i73 = icmp eq ptr %44, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end76 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end76 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 call void @_ZdlPv(ptr noundef nonnull %44) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit78 + br label %_ZN7testing15AssertionResultD2Ev.exit75 -_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 - store ptr null, ptr %message_.i75, align 8 +_ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + store ptr null, ptr %message_.i72, align 8 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 to label %invoke.cont86 unwind label %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i -_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 +_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 +invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - invoke void @_ZN4absl21discrete_distributionIjE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 + invoke void @_ZN4absl21discrete_distributionIjE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont86 @@ -32960,17 +32958,17 @@ _ZN4absl21discrete_distributionIjE10param_typeD2Ev.exit: ; preds = %_ZNSt6vector %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %48 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %49 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %50 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !945 + %50 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !945 %51 = load ptr, ptr %before, align 8, !noalias !945 %sub.ptr.lhs.cast.i5.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.rhs.cast.i6.i.i.i.i.i = ptrtoint ptr %51 to i64 %sub.ptr.sub.i7.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, %sub.ptr.sub.i7.i.i.i.i.i - br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i78 land.rhs.i.i.i.i.i: ; preds = %_ZN4absl21discrete_distributionIjE10param_typeD2Ev.exit %cmp.not4.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, %48 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i %__first2.addr.06.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i ], [ %51, %land.rhs.i.i.i.i.i ] @@ -32978,45 +32976,45 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %52 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, align 8, !noalias !945 %53 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, align 8, !noalias !945 %cmp1.i.i.i.i.i.i.i.i.i = fcmp oeq double %52, %53 - br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i78 for.inc.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, i64 1 %incdec.ptr2.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %48 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 -if.then.i.i83: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i +if.then.i.i79: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont104 unwind label %lpad103 -if.end.i.i82: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIjE10param_typeD2Ev.exit +if.end.i.i78: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIjE10param_typeD2Ev.exit invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIjEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97, ptr noundef nonnull align 8 dereferenceable(48) %via_param, ptr noundef nonnull align 8 dereferenceable(48) %before) to label %invoke.cont104 unwind label %lpad103 -invoke.cont104: ; preds = %if.then.i.i83, %if.end.i.i82 +invoke.cont104: ; preds = %if.then.i.i79, %if.end.i.i78 %54 = load i8, ptr %gtest_ar102, align 8 %55 = and i8 %54, 1 - %tobool.i86.not = icmp eq i8 %55, 0 - br i1 %tobool.i86.not, label %if.else107, label %if.end120 + %tobool.i82.not = icmp eq i8 %55, 0 + br i1 %tobool.i82.not, label %if.else107, label %if.end120 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad65 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit74 ], [ %39, %lpad65 ] +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad65 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit71 ], [ %39, %lpad65 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50) #23 br label %ehcleanup172 lpad97: ; preds = %invoke.cont86 %56 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 lpad99: ; preds = %invoke.cont98 %57 = landingpad { ptr, i32 } cleanup call void @_ZN4absl21discrete_distributionIjE10param_typeD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -lpad103: ; preds = %if.end.i.i82, %if.then.i.i83 +lpad103: ; preds = %if.end.i.i78, %if.then.i.i79 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 @@ -33026,18 +33024,18 @@ if.else107: ; preds = %invoke.cont104 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %if.else107 - %message_.i.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i87, align 8 - %cmp.i.i.not.i.i88 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i88, label %invoke.cont113, label %cond.true.i.i89 + %message_.i.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i83, align 8 + %cmp.i.i.not.i.i84 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i84, label %invoke.cont113, label %cond.true.i.i85 -cond.true.i.i89: ; preds = %invoke.cont110 - %call4.i.i90 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i85: ; preds = %invoke.cont110 + %call4.i.i86 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont113 -invoke.cont113: ; preds = %cond.true.i.i89, %invoke.cont110 - %cond.i.i91 = phi ptr [ %call4.i.i90, %cond.true.i.i89 ], [ @.str, %invoke.cont110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i91) +invoke.cont113: ; preds = %cond.true.i.i85, %invoke.cont110 + %cond.i.i87 = phi ptr [ %call4.i.i86, %cond.true.i.i85 ], [ @.str, %invoke.cont110 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i87) to label %invoke.cont115 unwind label %lpad112 invoke.cont115: ; preds = %invoke.cont113 @@ -33047,17 +33045,17 @@ invoke.cont115: ; preds = %invoke.cont113 invoke.cont117: ; preds = %invoke.cont115 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111) #23 %60 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i93 = icmp eq ptr %60, null - br i1 %cmp.not.i.i93, label %_ZN7testing7MessageD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 + %cmp.not.i.i89 = icmp eq ptr %60, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont117 - %vtable.i.i.i95 = load ptr, ptr %60, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %61 = load ptr, ptr %vfn.i.i.i96, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %invoke.cont117 + %vtable.i.i.i91 = load ptr, ptr %60, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %61 = load ptr, ptr %vfn.i.i.i92, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit97 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit97: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 +_ZN7testing7MessageD2Ev.exit93: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp108, align 8 br label %if.end120 @@ -33080,52 +33078,52 @@ lpad116: ; preds = %invoke.cont115 ehcleanup119: ; preds = %lpad116, %lpad112 %.pn10 = phi { ptr, i32 } [ %64, %lpad116 ], [ %63, %lpad112 ] %65 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i98 = icmp eq ptr %65, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i94 = icmp eq ptr %65, null + br i1 %cmp.not.i.i94, label %_ZN7testing7MessageD2Ev.exit98, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup119 - %vtable.i.i.i100 = load ptr, ptr %65, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %66 = load ptr, ptr %vfn.i.i.i101, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95: ; preds = %ehcleanup119 + %vtable.i.i.i96 = load ptr, ptr %65, align 8 + %vfn.i.i.i97 = getelementptr inbounds ptr, ptr %vtable.i.i.i96, i64 1 + %66 = load ptr, ptr %vfn.i.i.i97, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit102 + br label %_ZN7testing7MessageD2Ev.exit98 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit98: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %ref.tmp108, align 8 br label %ehcleanup121 -if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit97 - %message_.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %67 = load ptr, ptr %message_.i103, align 8 - %cmp.not.i.i104 = icmp eq ptr %67, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit93 + %message_.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %67 = load ptr, ptr %message_.i99, align 8 + %cmp.not.i.i100 = icmp eq ptr %67, null + br i1 %cmp.not.i.i100, label %_ZN7testing15AssertionResultD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end120 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %if.end120 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit106 + br label %_ZN7testing15AssertionResultD2Ev.exit102 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 - store ptr null, ptr %message_.i103, align 8 - %q_.i.i107 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 - %68 = load ptr, ptr %q_.i.i107, align 8 - %tobool.not.i.i.i.i.i108 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i.i.i108, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, label %if.then.i.i.i.i.i109 +_ZN7testing15AssertionResultD2Ev.exit102: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 + store ptr null, ptr %message_.i99, align 8 + %q_.i.i103 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 + %68 = load ptr, ptr %q_.i.i103, align 8 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, label %if.then.i.i.i.i.i105 -if.then.i.i.i.i.i109: ; preds = %_ZN7testing15AssertionResultD2Ev.exit106 +if.then.i.i.i.i.i105: ; preds = %_ZN7testing15AssertionResultD2Ev.exit102 call void @_ZdlPv(ptr noundef nonnull %68) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110: ; preds = %if.then.i.i.i.i.i109, %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106: ; preds = %if.then.i.i.i.i.i105, %_ZN7testing15AssertionResultD2Ev.exit102 %69 = load ptr, ptr %via_param, align 8 - %tobool.not.i.i.i1.i.i111 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i1.i.i111, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i112 + %tobool.not.i.i.i1.i.i107 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i1.i.i107, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i108 -if.then.i.i.i2.i.i112: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 +if.then.i.i.i2.i.i108: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 call void @_ZdlPv(ptr noundef nonnull %69) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit -_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, %if.then.i.i.i2.i.i112 +_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, %if.then.i.i.i2.i.i108 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) to label %invoke.cont124 unwind label %lpad21 @@ -33138,87 +33136,87 @@ invoke.cont124: ; preds = %_ZNSt6vectorIdSaIdE invoke.cont126: ; preds = %invoke.cont124 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %after, i8 0, i64 48, i1 false) invoke void @_ZN4absl21discrete_distributionIjE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %after) - to label %invoke.cont128 unwind label %lpad.i.i115 + to label %invoke.cont128 unwind label %lpad.i.i111 -lpad.i.i115: ; preds = %invoke.cont126 +lpad.i.i111: ; preds = %invoke.cont126 %70 = landingpad { ptr, i32 } cleanup - %q_.i.i116 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %71 = load ptr, ptr %q_.i.i116, align 8 - %tobool.not.i.i.i.i.i117 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, label %if.then.i.i.i.i.i118 + %q_.i.i112 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %71 = load ptr, ptr %q_.i.i112, align 8 + %tobool.not.i.i.i.i.i113 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i113, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, label %if.then.i.i.i.i.i114 -if.then.i.i.i.i.i118: ; preds = %lpad.i.i115 +if.then.i.i.i.i.i114: ; preds = %lpad.i.i111 call void @_ZdlPv(ptr noundef nonnull %71) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119: ; preds = %if.then.i.i.i.i.i118, %lpad.i.i115 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115: ; preds = %if.then.i.i.i.i.i114, %lpad.i.i111 %72 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i120 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i1.i.i120, label %ehcleanup171, label %if.then.i.i.i2.i.i121 + %tobool.not.i.i.i1.i.i116 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i1.i.i116, label %ehcleanup171, label %if.then.i.i.i2.i.i117 -if.then.i.i.i2.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 +if.then.i.i.i2.i.i117: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 call void @_ZdlPv(ptr noundef nonnull %72) #24 br label %ehcleanup171 invoke.cont128: ; preds = %invoke.cont126 - %73 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !950 + %73 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !950 %74 = load ptr, ptr %before, align 8, !noalias !950 - %sub.ptr.lhs.cast.i.i.i.i.i.i126 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i127 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i126, %sub.ptr.rhs.cast.i.i.i.i.i.i127 - %_M_finish.i4.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 - %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !950 + %sub.ptr.lhs.cast.i.i.i.i.i.i122 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i123 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i.i.i.i.i124 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i122, %sub.ptr.rhs.cast.i.i.i.i.i.i123 + %_M_finish.i4.i.i.i.i.i125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 + %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !950 %76 = load ptr, ptr %after, align 8, !noalias !950 - %sub.ptr.lhs.cast.i5.i.i.i.i.i130 = ptrtoint ptr %75 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i131 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i7.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i130, %sub.ptr.rhs.cast.i6.i.i.i.i.i131 - %cmp.i.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i128, %sub.ptr.sub.i7.i.i.i.i.i132 - br i1 %cmp.i.i.i.i.i133, label %land.rhs.i.i.i.i.i134, label %if.then.i - -land.rhs.i.i.i.i.i134: ; preds = %invoke.cont128 - %cmp.not4.i.i.i.i.i.i.i.i.i135 = icmp eq ptr %74, %73 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i135, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136 - -for.body.i.i.i.i.i.i.i.i.i136: ; preds = %land.rhs.i.i.i.i.i134, %for.inc.i.i.i.i.i.i.i.i.i140 - %__first2.addr.06.i.i.i.i.i.i.i.i.i137 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i142, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %76, %land.rhs.i.i.i.i.i134 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i138 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i141, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %74, %land.rhs.i.i.i.i.i134 ] - %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, align 8, !noalias !950 - %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, align 8, !noalias !950 - %cmp1.i.i.i.i.i.i.i.i.i139 = fcmp une double %77, %78 - br i1 %cmp1.i.i.i.i.i.i.i.i.i139, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i140 - -for.inc.i.i.i.i.i.i.i.i.i140: ; preds = %for.body.i.i.i.i.i.i.i.i.i136 - %incdec.ptr.i.i.i.i.i.i.i.i.i141 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i142 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i143 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i141, %73 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i143, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136, !llvm.loop !610 - -if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i136, %invoke.cont128 + %sub.ptr.lhs.cast.i5.i.i.i.i.i126 = ptrtoint ptr %75 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i127 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i7.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i126, %sub.ptr.rhs.cast.i6.i.i.i.i.i127 + %cmp.i.i.i.i.i129 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i124, %sub.ptr.sub.i7.i.i.i.i.i128 + br i1 %cmp.i.i.i.i.i129, label %land.rhs.i.i.i.i.i130, label %if.then.i + +land.rhs.i.i.i.i.i130: ; preds = %invoke.cont128 + %cmp.not4.i.i.i.i.i.i.i.i.i131 = icmp eq ptr %74, %73 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i131, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132 + +for.body.i.i.i.i.i.i.i.i.i132: ; preds = %land.rhs.i.i.i.i.i130, %for.inc.i.i.i.i.i.i.i.i.i136 + %__first2.addr.06.i.i.i.i.i.i.i.i.i133 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i138, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %76, %land.rhs.i.i.i.i.i130 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i134 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i137, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %74, %land.rhs.i.i.i.i.i130 ] + %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, align 8, !noalias !950 + %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, align 8, !noalias !950 + %cmp1.i.i.i.i.i.i.i.i.i135 = fcmp une double %77, %78 + br i1 %cmp1.i.i.i.i.i.i.i.i.i135, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i136 + +for.inc.i.i.i.i.i.i.i.i.i136: ; preds = %for.body.i.i.i.i.i.i.i.i.i132 + %incdec.ptr.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i138 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i137, %73 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i139, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132, !llvm.loop !610 + +if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i132, %invoke.cont128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129) to label %invoke.cont131 unwind label %lpad130 -if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i140, %land.rhs.i.i.i.i.i134 +if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i136, %land.rhs.i.i.i.i.i130 invoke void @_ZN7testing8internal18CmpHelperOpFailureIN4absl21discrete_distributionIjEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_S7_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after, ptr noundef nonnull @.str.99) to label %invoke.cont131 unwind label %lpad130 invoke.cont131: ; preds = %if.then.i, %if.else.i %79 = load i8, ptr %gtest_ar129, align 8 %80 = and i8 %79, 1 - %tobool.i146.not = icmp eq i8 %80, 0 - br i1 %tobool.i146.not, label %if.else134, label %if.end147 + %tobool.i142.not = icmp eq i8 %80, 0 + br i1 %tobool.i142.not, label %if.else134, label %if.end147 -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit102, %lpad109 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit102 ], [ %62, %lpad109 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit98, %lpad109 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit98 ], [ %62, %lpad109 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #23 br label %ehcleanup122 ehcleanup122: ; preds = %ehcleanup121, %lpad103 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup121 ], [ %58, %lpad103 ] call void @_ZN4absl21discrete_distributionIjED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %via_param) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -_ZNSt6vectorIdSaIdEED2Ev.exit150: ; preds = %ehcleanup122, %lpad99, %lpad97 +_ZNSt6vectorIdSaIdEED2Ev.exit146: ; preds = %ehcleanup122, %lpad99, %lpad97 %.pn10.pn.pn.pn = phi { ptr, i32 } [ %.pn10.pn.pn, %ehcleanup122 ], [ %57, %lpad99 ], [ %56, %lpad97 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 br label %ehcleanup172 @@ -33228,7 +33226,7 @@ lpad125: ; preds = %invoke.cont124 cleanup br label %ehcleanup171 -lpad130: ; preds = %if.end.i.i180, %if.then.i.i191, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit170 +lpad130: ; preds = %if.end.i.i176, %if.then.i.i187, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit166 %82 = landingpad { ptr, i32 } cleanup br label %ehcleanup170 @@ -33238,18 +33236,18 @@ if.else134: ; preds = %invoke.cont131 to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont140, label %cond.true.i.i153 + %message_.i.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i147, align 8 + %cmp.i.i.not.i.i148 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i148, label %invoke.cont140, label %cond.true.i.i149 -cond.true.i.i153: ; preds = %invoke.cont137 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 +cond.true.i.i149: ; preds = %invoke.cont137 + %call4.i.i150 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i153, %invoke.cont137 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i155) +invoke.cont140: ; preds = %cond.true.i.i149, %invoke.cont137 + %cond.i.i151 = phi ptr [ %call4.i.i150, %cond.true.i.i149 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i151) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -33259,17 +33257,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %84 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i157 = icmp eq ptr %84, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i153 = icmp eq ptr %84, null + br i1 %cmp.not.i.i153, label %_ZN7testing7MessageD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont144 - %vtable.i.i.i159 = load ptr, ptr %84, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %85 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %invoke.cont144 + %vtable.i.i.i155 = load ptr, ptr %84, align 8 + %vfn.i.i.i156 = getelementptr inbounds ptr, ptr %vtable.i.i.i155, i64 1 + %85 = load ptr, ptr %vfn.i.i.i156, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #23 - br label %_ZN7testing7MessageD2Ev.exit161 + br label %_ZN7testing7MessageD2Ev.exit157 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit157: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 store ptr null, ptr %ref.tmp135, align 8 br label %if.end147 @@ -33292,84 +33290,84 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn15 = phi { ptr, i32 } [ %88, %lpad143 ], [ %87, %lpad139 ] %89 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i162 = icmp eq ptr %89, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i158 = icmp eq ptr %89, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup146 - %vtable.i.i.i164 = load ptr, ptr %89, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %90 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %ehcleanup146 + %vtable.i.i.i160 = load ptr, ptr %89, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %90 = load ptr, ptr %vfn.i.i.i161, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit162: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %91 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %91, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit157 + %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %91 = load ptr, ptr %message_.i163, align 8 + %cmp.not.i.i164 = icmp eq ptr %91, null + br i1 %cmp.not.i.i164, label %_ZN7testing15AssertionResultD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #23 call void @_ZdlPv(ptr noundef nonnull %91) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit166 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit166: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + store ptr null, ptr %message_.i163, align 8 %call150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4abslrsIcSt11char_traitsIcEjEERSt13basic_istreamIT_T0_ES7_RNS_21discrete_distributionIT1_EE(ptr noundef nonnull align 8 dereferenceable(16) %ss, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont149 unwind label %lpad130 -invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !953 +invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit166 + %92 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !953 %93 = load ptr, ptr %before, align 8, !noalias !953 - %sub.ptr.lhs.cast.i.i.i.i.i.i172 = ptrtoint ptr %92 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i173 = ptrtoint ptr %93 to i64 - %sub.ptr.sub.i.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i172, %sub.ptr.rhs.cast.i.i.i.i.i.i173 - %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !953 + %sub.ptr.lhs.cast.i.i.i.i.i.i168 = ptrtoint ptr %92 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i169 = ptrtoint ptr %93 to i64 + %sub.ptr.sub.i.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i.i169 + %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !953 %95 = load ptr, ptr %after, align 8, !noalias !953 - %sub.ptr.lhs.cast.i5.i.i.i.i.i176 = ptrtoint ptr %94 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i177 = ptrtoint ptr %95 to i64 - %sub.ptr.sub.i7.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i176, %sub.ptr.rhs.cast.i6.i.i.i.i.i177 - %cmp.i.i.i.i.i179 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i174, %sub.ptr.sub.i7.i.i.i.i.i178 - br i1 %cmp.i.i.i.i.i179, label %land.rhs.i.i.i.i.i181, label %if.end.i.i180 - -land.rhs.i.i.i.i.i181: ; preds = %invoke.cont149 - %cmp.not4.i.i.i.i.i.i.i.i.i182 = icmp eq ptr %93, %92 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i182, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183 - -for.body.i.i.i.i.i.i.i.i.i183: ; preds = %land.rhs.i.i.i.i.i181, %for.inc.i.i.i.i.i.i.i.i.i187 - %__first2.addr.06.i.i.i.i.i.i.i.i.i184 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i189, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %95, %land.rhs.i.i.i.i.i181 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i185 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i188, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %93, %land.rhs.i.i.i.i.i181 ] - %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, align 8, !noalias !953 - %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, align 8, !noalias !953 - %cmp1.i.i.i.i.i.i.i.i.i186 = fcmp oeq double %96, %97 - br i1 %cmp1.i.i.i.i.i.i.i.i.i186, label %for.inc.i.i.i.i.i.i.i.i.i187, label %if.end.i.i180 - -for.inc.i.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i.i.i.i.i.i183 - %incdec.ptr.i.i.i.i.i.i.i.i.i188 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i189 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i190 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i188, %92 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i190, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183, !llvm.loop !610 - -if.then.i.i191: ; preds = %for.inc.i.i.i.i.i.i.i.i.i187, %land.rhs.i.i.i.i.i181 + %sub.ptr.lhs.cast.i5.i.i.i.i.i172 = ptrtoint ptr %94 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i173 = ptrtoint ptr %95 to i64 + %sub.ptr.sub.i7.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i.i.i173 + %cmp.i.i.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i170, %sub.ptr.sub.i7.i.i.i.i.i174 + br i1 %cmp.i.i.i.i.i175, label %land.rhs.i.i.i.i.i177, label %if.end.i.i176 + +land.rhs.i.i.i.i.i177: ; preds = %invoke.cont149 + %cmp.not4.i.i.i.i.i.i.i.i.i178 = icmp eq ptr %93, %92 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i178, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179 + +for.body.i.i.i.i.i.i.i.i.i179: ; preds = %land.rhs.i.i.i.i.i177, %for.inc.i.i.i.i.i.i.i.i.i183 + %__first2.addr.06.i.i.i.i.i.i.i.i.i180 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i185, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %95, %land.rhs.i.i.i.i.i177 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i181 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i184, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %93, %land.rhs.i.i.i.i.i177 ] + %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, align 8, !noalias !953 + %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, align 8, !noalias !953 + %cmp1.i.i.i.i.i.i.i.i.i182 = fcmp oeq double %96, %97 + br i1 %cmp1.i.i.i.i.i.i.i.i.i182, label %for.inc.i.i.i.i.i.i.i.i.i183, label %if.end.i.i176 + +for.inc.i.i.i.i.i.i.i.i.i183: ; preds = %for.body.i.i.i.i.i.i.i.i.i179 + %incdec.ptr.i.i.i.i.i.i.i.i.i184 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i185 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i186 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i184, %92 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i186, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179, !llvm.loop !610 + +if.then.i.i187: ; preds = %for.inc.i.i.i.i.i.i.i.i.i183, %land.rhs.i.i.i.i.i177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151) to label %invoke.cont152 unwind label %lpad130 -if.end.i.i180: ; preds = %for.body.i.i.i.i.i.i.i.i.i183, %invoke.cont149 +if.end.i.i176: ; preds = %for.body.i.i.i.i.i.i.i.i.i179, %invoke.cont149 invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIjEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont152 unwind label %lpad130 -invoke.cont152: ; preds = %if.then.i.i191, %if.end.i.i180 +invoke.cont152: ; preds = %if.then.i.i187, %if.end.i.i176 %98 = load i8, ptr %gtest_ar151, align 8 %99 = and i8 %98, 1 - %tobool.i195.not = icmp eq i8 %99, 0 - br i1 %tobool.i195.not, label %if.else155, label %if.end168 + %tobool.i191.not = icmp eq i8 %99, 0 + br i1 %tobool.i191.not, label %if.else155, label %if.end168 -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad136 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit166 ], [ %86, %lpad136 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit162, %lpad136 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit162 ], [ %86, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar129) #23 br label %ehcleanup170 @@ -33378,18 +33376,18 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %message_.i.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %100 = load ptr, ptr %message_.i.i196, align 8 - %cmp.i.i.not.i.i197 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i197, label %invoke.cont161, label %cond.true.i.i198 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %100 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont161, label %cond.true.i.i194 -cond.true.i.i198: ; preds = %invoke.cont158 - %call4.i.i199 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 +cond.true.i.i194: ; preds = %invoke.cont158 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i198, %invoke.cont158 - %cond.i.i200 = phi ptr [ %call4.i.i199, %cond.true.i.i198 ], [ @.str, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i200) +invoke.cont161: ; preds = %cond.true.i.i194, %invoke.cont158 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i196) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -33399,17 +33397,17 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #23 %101 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i202 = icmp eq ptr %101, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i198 = icmp eq ptr %101, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %invoke.cont165 - %vtable.i.i.i204 = load ptr, ptr %101, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %102 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont165 + %vtable.i.i.i200 = load ptr, ptr %101, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %102 = load ptr, ptr %vfn.i.i.i201, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #23 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit206: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp156, align 8 br label %if.end168 @@ -33432,94 +33430,94 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn18 = phi { ptr, i32 } [ %105, %lpad164 ], [ %104, %lpad160 ] %106 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i207 = icmp eq ptr %106, null - br i1 %cmp.not.i.i207, label %_ZN7testing7MessageD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + %cmp.not.i.i203 = icmp eq ptr %106, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %ehcleanup167 - %vtable.i.i.i209 = load ptr, ptr %106, align 8 - %vfn.i.i.i210 = getelementptr inbounds ptr, ptr %vtable.i.i.i209, i64 1 - %107 = load ptr, ptr %vfn.i.i.i210, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup167 + %vtable.i.i.i205 = load ptr, ptr %106, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %107 = load ptr, ptr %vfn.i.i.i206, align 8 call void %107(ptr noundef nonnull align 8 dereferenceable(128) %106) #23 - br label %_ZN7testing7MessageD2Ev.exit211 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit211: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 -if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit206 - %message_.i212 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %108 = load ptr, ptr %message_.i212, align 8 - %cmp.not.i.i213 = icmp eq ptr %108, null - br i1 %cmp.not.i.i213, label %_ZN7testing15AssertionResultD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 +if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %108 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %108, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %if.end168 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end168 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #23 call void @_ZdlPv(ptr noundef nonnull %108) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit215 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit215: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 - store ptr null, ptr %message_.i212, align 8 - %q_.i.i216 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %109 = load ptr, ptr %q_.i.i216, align 8 - %tobool.not.i.i.i.i.i217 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i.i217, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, label %if.then.i.i.i.i.i218 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %q_.i.i212 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %109 = load ptr, ptr %q_.i.i212, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit215 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %109) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219: ; preds = %if.then.i.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit215 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %110 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i220 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i1.i.i220, label %_ZN4absl21discrete_distributionIjED2Ev.exit222, label %if.then.i.i.i2.i.i221 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i1.i.i216, label %_ZN4absl21discrete_distributionIjED2Ev.exit218, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i221: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %110) #24 - br label %_ZN4absl21discrete_distributionIjED2Ev.exit222 + br label %_ZN4absl21discrete_distributionIjED2Ev.exit218 -_ZN4absl21discrete_distributionIjED2Ev.exit222: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, %if.then.i.i.i2.i.i221 +_ZN4absl21discrete_distributionIjED2Ev.exit218: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 - %111 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, label %if.then.i.i.i.i.i225 + %111 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i.i.i220 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i.i.i220, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, label %if.then.i.i.i.i.i221 -if.then.i.i.i.i.i225: ; preds = %_ZN4absl21discrete_distributionIjED2Ev.exit222 +if.then.i.i.i.i.i221: ; preds = %_ZN4absl21discrete_distributionIjED2Ev.exit218 call void @_ZdlPv(ptr noundef nonnull %111) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226: ; preds = %if.then.i.i.i.i.i225, %_ZN4absl21discrete_distributionIjED2Ev.exit222 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222: ; preds = %if.then.i.i.i.i.i221, %_ZN4absl21discrete_distributionIjED2Ev.exit218 %112 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i1.i.i227 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i1.i.i227, label %_ZN4absl21discrete_distributionIjED2Ev.exit229, label %if.then.i.i.i2.i.i228 + %tobool.not.i.i.i1.i.i223 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i1.i.i223, label %_ZN4absl21discrete_distributionIjED2Ev.exit225, label %if.then.i.i.i2.i.i224 -if.then.i.i.i2.i.i228: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 +if.then.i.i.i2.i.i224: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 call void @_ZdlPv(ptr noundef nonnull %112) #24 - br label %_ZN4absl21discrete_distributionIjED2Ev.exit229 + br label %_ZN4absl21discrete_distributionIjED2Ev.exit225 -_ZN4absl21discrete_distributionIjED2Ev.exit229: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, %if.then.i.i.i2.i.i228 - %q_.i.i230 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 - %113 = load ptr, ptr %q_.i.i230, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i231, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, label %if.then.i.i.i.i.i232 +_ZN4absl21discrete_distributionIjED2Ev.exit225: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, %if.then.i.i.i2.i.i224 + %q_.i.i226 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 + %113 = load ptr, ptr %q_.i.i226, align 8 + %tobool.not.i.i.i.i.i227 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i227, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, label %if.then.i.i.i.i.i228 -if.then.i.i.i.i.i232: ; preds = %_ZN4absl21discrete_distributionIjED2Ev.exit229 +if.then.i.i.i.i.i228: ; preds = %_ZN4absl21discrete_distributionIjED2Ev.exit225 call void @_ZdlPv(ptr noundef nonnull %113) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233: ; preds = %if.then.i.i.i.i.i232, %_ZN4absl21discrete_distributionIjED2Ev.exit229 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229: ; preds = %if.then.i.i.i.i.i228, %_ZN4absl21discrete_distributionIjED2Ev.exit225 %114 = load ptr, ptr %empty, align 8 - %tobool.not.i.i.i1.i.i234 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i1.i.i234, label %_ZN4absl21discrete_distributionIjED2Ev.exit236, label %if.then.i.i.i2.i.i235 + %tobool.not.i.i.i1.i.i230 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i1.i.i230, label %_ZN4absl21discrete_distributionIjED2Ev.exit232, label %if.then.i.i.i2.i.i231 -if.then.i.i.i2.i.i235: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 +if.then.i.i.i2.i.i231: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 call void @_ZdlPv(ptr noundef nonnull %114) #24 - br label %_ZN4absl21discrete_distributionIjED2Ev.exit236 + br label %_ZN4absl21discrete_distributionIjED2Ev.exit232 -_ZN4absl21discrete_distributionIjED2Ev.exit236: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, %if.then.i.i.i2.i.i235 +_ZN4absl21discrete_distributionIjED2Ev.exit232: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, %if.then.i.i.i2.i.i231 ret void -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit211, %lpad157 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit211 ], [ %103, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad157 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit207 ], [ %103, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #23 br label %ehcleanup170 @@ -33528,18 +33526,18 @@ ehcleanup170: ; preds = %ehcleanup169, %ehcl call void @_ZN4absl21discrete_distributionIjED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %after) #23 br label %ehcleanup171 -ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i121, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, %ehcleanup170 - %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i121 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 ] +ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i117, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, %ehcleanup170 + %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i117 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 ] call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 br label %ehcleanup172 -ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit150, %ehcleanup77, %ehcleanup49, %lpad21 - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit150 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] +ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit146, %ehcleanup77, %ehcleanup49, %lpad21 + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit146 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] call void @_ZN4absl21discrete_distributionIjED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %before) #23 br label %ehcleanup173 -ehcleanup173: ; preds = %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, %eh.resume.sink.split.i.i, %lpad, %ehcleanup172, %ehcleanup17 - %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i.i ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 ], [ %16, %eh.resume.sink.split.i.i ] +ehcleanup173: ; preds = %lpad.i.i233, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, %eh.resume.sink.split.i, %lpad, %ehcleanup172, %ehcleanup17 + %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i233 ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 ], [ %16, %eh.resume.sink.split.i ] call void @_ZN4absl21discrete_distributionIjED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %empty) #23 br label %common.resume } @@ -33551,8 +33549,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i if.then.i.i.i: ; preds = %entry @@ -33567,7 +33564,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %entry br i1 %cmp.not.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i - %add.ptr3.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr3.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage4.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr3.i.i, ptr %_M_end_of_storage4.i.i, align 8 br label %invoke.cont @@ -33578,7 +33575,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i, ptr %this, align 8 - %add.ptr.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -33592,9 +33589,10 @@ lpad.i: ; preds = %if.then.i.i.i.i.i.i br i1 %tobool.not.i.i.i, label %eh.resume, label %eh.resume.sink.split invoke.cont: ; preds = %call5.i.i.i.i.noexc.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i - %add.ptr5.i.i = phi ptr [ %add.ptr3.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %add.ptr.i.i, %call5.i.i.i.i.noexc.i ] + %cond.i5.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %call5.i.i.i.i1.i, %call5.i.i.i.i.noexc.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr5.i.i, ptr %_M_finish.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIjE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %this) @@ -33986,30 +33984,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i22 = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store double %3, ptr %add.ptr.i.i22, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %p.sroa.0.267, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %p.sroa.0.267, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %p.sroa.0.267) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i20 - %add.ptr.i.i22.pn = phi ptr [ %add.ptr.i.i22, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] %p.sroa.15.2 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.15.166, %if.then.i20 ] %p.sroa.0.3 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.0.267, %if.then.i20 ] - %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i22.pn, i64 1 + %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %inc = add i32 %i.068, 1 %conv = zext i32 %inc to i64 %4 = load i64, ptr %n, align 8 @@ -34108,7 +34107,7 @@ if.then: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 %2 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i = icmp eq ptr %0, %2 - br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i, label %if.then.i.i + br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store double 1.000000e+00, ptr %0, align 8 @@ -34117,18 +34116,18 @@ if.then.i.i: ; preds = %if.then store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 br label %_ZNSt6vectorIdSaIdEE9push_backEOd.exit -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then %call5.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #25 store double 1.000000e+00, ptr %call5.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i store ptr %call5.i.i.i.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_end_of_storage.i.i, align 8 @@ -34176,7 +34175,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els tail call void @llvm.assume(i1 %cmp.not.i.i.i) %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 4 %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #25 - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i store double 1.000000e+00, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -34284,8 +34283,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %_ZNSt6vectorIdSaIdEEC2ERKS1_.exit _ZNSt6vectorIdSaIdEEC2ERKS1_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 %q_3 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %0, i64 0, i32 1 @@ -35182,65 +35180,65 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %before, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store ptr %call5.i.i.i.i2.i.i.i, ptr %before, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 3 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i33 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i33, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i233 + +call5.i.i.i.i.noexc.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store ptr %call5.i.i.i.i2.i.i, ptr %before, align 8 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 24 + %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 + store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) + %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 + store ptr %add.ptr.i1.i.i, ptr %_M_finish.i.i.i, align 8 + %q_.i235 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i235, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIlE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %before) - to label %invoke.cont22 unwind label %lpad2.i.i + to label %invoke.cont22 unwind label %lpad2.i -lpad.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +lpad.i.i233: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup173 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %16 = landingpad { ptr, i32 } cleanup - %17 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, label %if.then.i.i.i3.i.i + %17 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %17) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236: ; preds = %if.then.i.i.i3.i, %lpad2.i %18 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup173, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup173, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 call void @_ZdlPv(ptr noundef nonnull %18) #24 br label %ehcleanup173 -invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i.i +invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i store double 0.000000e+00, ptr %s, align 8 %19 = load ptr, ptr %before, align 8 - %20 = load ptr, ptr %_M_finish.i.i.i.i, align 8 - %cmp.i.not243 = icmp eq ptr %19, %20 - br i1 %cmp.i.not243, label %for.end.thread, label %for.body + %20 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.not244 = icmp eq ptr %19, %20 + br i1 %cmp.i.not244, label %for.end.thread, label %for.body for.end.thread: ; preds = %invoke.cont22 store double 1.000000e+00, ptr %ref.tmp31, align 8 br label %if.end.i.i for.body: ; preds = %invoke.cont22, %for.body - %__begin0.sroa.0.0245 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] - %add242244 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] - %21 = load double, ptr %__begin0.sroa.0.0245, align 8 - %add = fadd double %21, %add242244 + %__begin0.sroa.0.0246 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] + %add243245 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] + %21 = load double, ptr %__begin0.sroa.0.0246, align 8 + %add = fadd double %21, %add243245 store double %add, ptr %s, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0245, i64 1 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0246, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %20 br i1 %cmp.i.not, label %for.end, label %for.body @@ -35270,26 +35268,26 @@ if.end.i.i: ; preds = %for.end.thread, %fo invoke.cont32: ; preds = %if.then.i.i, %if.end.i.i %23 = load i8, ptr %gtest_ar30, align 8 %24 = and i8 %23, 1 - %tobool.i36.not = icmp eq i8 %24, 0 - br i1 %tobool.i36.not, label %if.else35, label %if.end48 + %tobool.i33.not = icmp eq i8 %24, 0 + br i1 %tobool.i33.not, label %if.else35, label %if.end48 if.else35: ; preds = %invoke.cont32 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) to label %invoke.cont38 unwind label %lpad37 invoke.cont38: ; preds = %if.else35 - %message_.i.i37 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %25 = load ptr, ptr %message_.i.i37, align 8 - %cmp.i.i.not.i.i38 = icmp eq ptr %25, null - br i1 %cmp.i.i.not.i.i38, label %invoke.cont41, label %cond.true.i.i39 + %message_.i.i34 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %25 = load ptr, ptr %message_.i.i34, align 8 + %cmp.i.i.not.i.i35 = icmp eq ptr %25, null + br i1 %cmp.i.i.not.i.i35, label %invoke.cont41, label %cond.true.i.i36 -cond.true.i.i39: ; preds = %invoke.cont38 - %call4.i.i40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 +cond.true.i.i36: ; preds = %invoke.cont38 + %call4.i.i37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 br label %invoke.cont41 -invoke.cont41: ; preds = %cond.true.i.i39, %invoke.cont38 - %cond.i.i41 = phi ptr [ %call4.i.i40, %cond.true.i.i39 ], [ @.str, %invoke.cont38 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i41) +invoke.cont41: ; preds = %cond.true.i.i36, %invoke.cont38 + %cond.i.i38 = phi ptr [ %call4.i.i37, %cond.true.i.i36 ], [ @.str, %invoke.cont38 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i38) to label %invoke.cont43 unwind label %lpad40 invoke.cont43: ; preds = %invoke.cont41 @@ -35299,17 +35297,17 @@ invoke.cont43: ; preds = %invoke.cont41 invoke.cont45: ; preds = %invoke.cont43 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #23 %26 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i43 = icmp eq ptr %26, null - br i1 %cmp.not.i.i43, label %_ZN7testing7MessageD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 + %cmp.not.i.i40 = icmp eq ptr %26, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44: ; preds = %invoke.cont45 - %vtable.i.i.i45 = load ptr, ptr %26, align 8 - %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 - %27 = load ptr, ptr %vfn.i.i.i46, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %invoke.cont45 + %vtable.i.i.i42 = load ptr, ptr %26, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %27 = load ptr, ptr %vfn.i.i.i43, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #23 - br label %_ZN7testing7MessageD2Ev.exit47 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit47: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 +_ZN7testing7MessageD2Ev.exit44: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp36, align 8 br label %if.end48 @@ -35332,47 +35330,47 @@ lpad44: ; preds = %invoke.cont43 ehcleanup47: ; preds = %lpad44, %lpad40 %.pn4 = phi { ptr, i32 } [ %30, %lpad44 ], [ %29, %lpad40 ] %31 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i48 = icmp eq ptr %31, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i45 = icmp eq ptr %31, null + br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup47 - %vtable.i.i.i50 = load ptr, ptr %31, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %32 = load ptr, ptr %vfn.i.i.i51, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %ehcleanup47 + %vtable.i.i.i47 = load ptr, ptr %31, align 8 + %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 + %32 = load ptr, ptr %vfn.i.i.i48, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #23 - br label %_ZN7testing7MessageD2Ev.exit52 + br label %_ZN7testing7MessageD2Ev.exit49 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit49: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 store ptr null, ptr %ref.tmp36, align 8 br label %ehcleanup49 -if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit47 - %message_.i53 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %33 = load ptr, ptr %message_.i53, align 8 - %cmp.not.i.i54 = icmp eq ptr %33, null - br i1 %cmp.not.i.i54, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit44 + %message_.i50 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %33 = load ptr, ptr %message_.i50, align 8 + %cmp.not.i.i51 = icmp eq ptr %33, null + br i1 %cmp.not.i.i51, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %if.end48 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52: ; preds = %if.end48 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 call void @_ZdlPv(ptr noundef nonnull %33) #24 br label %invoke.cont58 -invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %if.end48 - store ptr null, ptr %message_.i53, align 8 +invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52, %if.end48 + store ptr null, ptr %message_.i50, align 8 store <2 x double> , ptr %ref.tmp51, align 16 - %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 - store double 2.500000e-01, ptr %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx, align 16 + %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 + store double 2.500000e-01, ptr %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar50, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp51, ptr noundef nonnull @.str.94, ptr noundef nonnull align 8 dereferenceable(24) %before) to label %invoke.cont60 unwind label %lpad21 invoke.cont60: ; preds = %invoke.cont58 %34 = load i8, ptr %gtest_ar50, align 8 %35 = and i8 %34, 1 - %tobool.i58.not = icmp eq i8 %35, 0 - br i1 %tobool.i58.not, label %if.else63, label %if.end76 + %tobool.i55.not = icmp eq i8 %35, 0 + br i1 %tobool.i55.not, label %if.else63, label %if.end76 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad37 - %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit52 ], [ %28, %lpad37 ] +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad37 + %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit49 ], [ %28, %lpad37 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar30) #23 br label %ehcleanup172 @@ -35381,18 +35379,18 @@ if.else63: ; preds = %invoke.cont60 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %if.else63 - %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %36 = load ptr, ptr %message_.i.i59, align 8 - %cmp.i.i.not.i.i60 = icmp eq ptr %36, null - br i1 %cmp.i.i.not.i.i60, label %invoke.cont69, label %cond.true.i.i61 + %message_.i.i56 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %36 = load ptr, ptr %message_.i.i56, align 8 + %cmp.i.i.not.i.i57 = icmp eq ptr %36, null + br i1 %cmp.i.i.not.i.i57, label %invoke.cont69, label %cond.true.i.i58 -cond.true.i.i61: ; preds = %invoke.cont66 - %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 +cond.true.i.i58: ; preds = %invoke.cont66 + %call4.i.i59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 br label %invoke.cont69 -invoke.cont69: ; preds = %cond.true.i.i61, %invoke.cont66 - %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str, %invoke.cont66 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i63) +invoke.cont69: ; preds = %cond.true.i.i58, %invoke.cont66 + %cond.i.i60 = phi ptr [ %call4.i.i59, %cond.true.i.i58 ], [ @.str, %invoke.cont66 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i60) to label %invoke.cont71 unwind label %lpad68 invoke.cont71: ; preds = %invoke.cont69 @@ -35402,17 +35400,17 @@ invoke.cont71: ; preds = %invoke.cont69 invoke.cont73: ; preds = %invoke.cont71 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #23 %37 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i65 = icmp eq ptr %37, null - br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 + %cmp.not.i.i62 = icmp eq ptr %37, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont73 - %vtable.i.i.i67 = load ptr, ptr %37, align 8 - %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 - %38 = load ptr, ptr %vfn.i.i.i68, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %invoke.cont73 + %vtable.i.i.i64 = load ptr, ptr %37, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %38 = load ptr, ptr %vfn.i.i.i65, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #23 - br label %_ZN7testing7MessageD2Ev.exit69 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 +_ZN7testing7MessageD2Ev.exit66: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 @@ -35435,45 +35433,45 @@ lpad72: ; preds = %invoke.cont71 ehcleanup75: ; preds = %lpad72, %lpad68 %.pn7 = phi { ptr, i32 } [ %41, %lpad72 ], [ %40, %lpad68 ] %42 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i70 = icmp eq ptr %42, null - br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 + %cmp.not.i.i67 = icmp eq ptr %42, null + br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup75 - %vtable.i.i.i72 = load ptr, ptr %42, align 8 - %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 - %43 = load ptr, ptr %vfn.i.i.i73, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup75 + %vtable.i.i.i69 = load ptr, ptr %42, align 8 + %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 + %43 = load ptr, ptr %vfn.i.i.i70, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #23 - br label %_ZN7testing7MessageD2Ev.exit74 + br label %_ZN7testing7MessageD2Ev.exit71 -_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 +_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit69 - %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %44 = load ptr, ptr %message_.i75, align 8 - %cmp.not.i.i76 = icmp eq ptr %44, null - br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit66 + %message_.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %44 = load ptr, ptr %message_.i72, align 8 + %cmp.not.i.i73 = icmp eq ptr %44, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end76 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end76 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 call void @_ZdlPv(ptr noundef nonnull %44) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit78 + br label %_ZN7testing15AssertionResultD2Ev.exit75 -_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 - store ptr null, ptr %message_.i75, align 8 +_ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + store ptr null, ptr %message_.i72, align 8 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 to label %invoke.cont86 unwind label %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i -_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 +_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 +invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - invoke void @_ZN4absl21discrete_distributionIlE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 + invoke void @_ZN4absl21discrete_distributionIlE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont86 @@ -35506,17 +35504,17 @@ _ZN4absl21discrete_distributionIlE10param_typeD2Ev.exit: ; preds = %_ZNSt6vector %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %48 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %49 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %50 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !1004 + %50 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1004 %51 = load ptr, ptr %before, align 8, !noalias !1004 %sub.ptr.lhs.cast.i5.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.rhs.cast.i6.i.i.i.i.i = ptrtoint ptr %51 to i64 %sub.ptr.sub.i7.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, %sub.ptr.sub.i7.i.i.i.i.i - br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i78 land.rhs.i.i.i.i.i: ; preds = %_ZN4absl21discrete_distributionIlE10param_typeD2Ev.exit %cmp.not4.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, %48 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i %__first2.addr.06.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i ], [ %51, %land.rhs.i.i.i.i.i ] @@ -35524,45 +35522,45 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %52 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, align 8, !noalias !1004 %53 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, align 8, !noalias !1004 %cmp1.i.i.i.i.i.i.i.i.i = fcmp oeq double %52, %53 - br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i78 for.inc.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, i64 1 %incdec.ptr2.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %48 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 -if.then.i.i83: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i +if.then.i.i79: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont104 unwind label %lpad103 -if.end.i.i82: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIlE10param_typeD2Ev.exit +if.end.i.i78: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionIlE10param_typeD2Ev.exit invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIlEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97, ptr noundef nonnull align 8 dereferenceable(48) %via_param, ptr noundef nonnull align 8 dereferenceable(48) %before) to label %invoke.cont104 unwind label %lpad103 -invoke.cont104: ; preds = %if.then.i.i83, %if.end.i.i82 +invoke.cont104: ; preds = %if.then.i.i79, %if.end.i.i78 %54 = load i8, ptr %gtest_ar102, align 8 %55 = and i8 %54, 1 - %tobool.i86.not = icmp eq i8 %55, 0 - br i1 %tobool.i86.not, label %if.else107, label %if.end120 + %tobool.i82.not = icmp eq i8 %55, 0 + br i1 %tobool.i82.not, label %if.else107, label %if.end120 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad65 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit74 ], [ %39, %lpad65 ] +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad65 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit71 ], [ %39, %lpad65 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50) #23 br label %ehcleanup172 lpad97: ; preds = %invoke.cont86 %56 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 lpad99: ; preds = %invoke.cont98 %57 = landingpad { ptr, i32 } cleanup call void @_ZN4absl21discrete_distributionIlE10param_typeD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -lpad103: ; preds = %if.end.i.i82, %if.then.i.i83 +lpad103: ; preds = %if.end.i.i78, %if.then.i.i79 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 @@ -35572,18 +35570,18 @@ if.else107: ; preds = %invoke.cont104 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %if.else107 - %message_.i.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i87, align 8 - %cmp.i.i.not.i.i88 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i88, label %invoke.cont113, label %cond.true.i.i89 + %message_.i.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i83, align 8 + %cmp.i.i.not.i.i84 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i84, label %invoke.cont113, label %cond.true.i.i85 -cond.true.i.i89: ; preds = %invoke.cont110 - %call4.i.i90 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i85: ; preds = %invoke.cont110 + %call4.i.i86 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont113 -invoke.cont113: ; preds = %cond.true.i.i89, %invoke.cont110 - %cond.i.i91 = phi ptr [ %call4.i.i90, %cond.true.i.i89 ], [ @.str, %invoke.cont110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i91) +invoke.cont113: ; preds = %cond.true.i.i85, %invoke.cont110 + %cond.i.i87 = phi ptr [ %call4.i.i86, %cond.true.i.i85 ], [ @.str, %invoke.cont110 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i87) to label %invoke.cont115 unwind label %lpad112 invoke.cont115: ; preds = %invoke.cont113 @@ -35593,17 +35591,17 @@ invoke.cont115: ; preds = %invoke.cont113 invoke.cont117: ; preds = %invoke.cont115 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111) #23 %60 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i93 = icmp eq ptr %60, null - br i1 %cmp.not.i.i93, label %_ZN7testing7MessageD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 + %cmp.not.i.i89 = icmp eq ptr %60, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont117 - %vtable.i.i.i95 = load ptr, ptr %60, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %61 = load ptr, ptr %vfn.i.i.i96, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %invoke.cont117 + %vtable.i.i.i91 = load ptr, ptr %60, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %61 = load ptr, ptr %vfn.i.i.i92, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit97 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit97: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 +_ZN7testing7MessageD2Ev.exit93: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp108, align 8 br label %if.end120 @@ -35626,52 +35624,52 @@ lpad116: ; preds = %invoke.cont115 ehcleanup119: ; preds = %lpad116, %lpad112 %.pn10 = phi { ptr, i32 } [ %64, %lpad116 ], [ %63, %lpad112 ] %65 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i98 = icmp eq ptr %65, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i94 = icmp eq ptr %65, null + br i1 %cmp.not.i.i94, label %_ZN7testing7MessageD2Ev.exit98, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup119 - %vtable.i.i.i100 = load ptr, ptr %65, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %66 = load ptr, ptr %vfn.i.i.i101, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95: ; preds = %ehcleanup119 + %vtable.i.i.i96 = load ptr, ptr %65, align 8 + %vfn.i.i.i97 = getelementptr inbounds ptr, ptr %vtable.i.i.i96, i64 1 + %66 = load ptr, ptr %vfn.i.i.i97, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit102 + br label %_ZN7testing7MessageD2Ev.exit98 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit98: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %ref.tmp108, align 8 br label %ehcleanup121 -if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit97 - %message_.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %67 = load ptr, ptr %message_.i103, align 8 - %cmp.not.i.i104 = icmp eq ptr %67, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit93 + %message_.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %67 = load ptr, ptr %message_.i99, align 8 + %cmp.not.i.i100 = icmp eq ptr %67, null + br i1 %cmp.not.i.i100, label %_ZN7testing15AssertionResultD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end120 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %if.end120 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit106 + br label %_ZN7testing15AssertionResultD2Ev.exit102 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 - store ptr null, ptr %message_.i103, align 8 - %q_.i.i107 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 - %68 = load ptr, ptr %q_.i.i107, align 8 - %tobool.not.i.i.i.i.i108 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i.i.i108, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, label %if.then.i.i.i.i.i109 +_ZN7testing15AssertionResultD2Ev.exit102: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 + store ptr null, ptr %message_.i99, align 8 + %q_.i.i103 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 + %68 = load ptr, ptr %q_.i.i103, align 8 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, label %if.then.i.i.i.i.i105 -if.then.i.i.i.i.i109: ; preds = %_ZN7testing15AssertionResultD2Ev.exit106 +if.then.i.i.i.i.i105: ; preds = %_ZN7testing15AssertionResultD2Ev.exit102 call void @_ZdlPv(ptr noundef nonnull %68) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110: ; preds = %if.then.i.i.i.i.i109, %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106: ; preds = %if.then.i.i.i.i.i105, %_ZN7testing15AssertionResultD2Ev.exit102 %69 = load ptr, ptr %via_param, align 8 - %tobool.not.i.i.i1.i.i111 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i1.i.i111, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i112 + %tobool.not.i.i.i1.i.i107 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i1.i.i107, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i108 -if.then.i.i.i2.i.i112: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 +if.then.i.i.i2.i.i108: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 call void @_ZdlPv(ptr noundef nonnull %69) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit -_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, %if.then.i.i.i2.i.i112 +_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, %if.then.i.i.i2.i.i108 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) to label %invoke.cont124 unwind label %lpad21 @@ -35684,87 +35682,87 @@ invoke.cont124: ; preds = %_ZNSt6vectorIdSaIdE invoke.cont126: ; preds = %invoke.cont124 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %after, i8 0, i64 48, i1 false) invoke void @_ZN4absl21discrete_distributionIlE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %after) - to label %invoke.cont128 unwind label %lpad.i.i115 + to label %invoke.cont128 unwind label %lpad.i.i111 -lpad.i.i115: ; preds = %invoke.cont126 +lpad.i.i111: ; preds = %invoke.cont126 %70 = landingpad { ptr, i32 } cleanup - %q_.i.i116 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %71 = load ptr, ptr %q_.i.i116, align 8 - %tobool.not.i.i.i.i.i117 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, label %if.then.i.i.i.i.i118 + %q_.i.i112 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %71 = load ptr, ptr %q_.i.i112, align 8 + %tobool.not.i.i.i.i.i113 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i113, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, label %if.then.i.i.i.i.i114 -if.then.i.i.i.i.i118: ; preds = %lpad.i.i115 +if.then.i.i.i.i.i114: ; preds = %lpad.i.i111 call void @_ZdlPv(ptr noundef nonnull %71) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119: ; preds = %if.then.i.i.i.i.i118, %lpad.i.i115 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115: ; preds = %if.then.i.i.i.i.i114, %lpad.i.i111 %72 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i120 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i1.i.i120, label %ehcleanup171, label %if.then.i.i.i2.i.i121 + %tobool.not.i.i.i1.i.i116 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i1.i.i116, label %ehcleanup171, label %if.then.i.i.i2.i.i117 -if.then.i.i.i2.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 +if.then.i.i.i2.i.i117: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 call void @_ZdlPv(ptr noundef nonnull %72) #24 br label %ehcleanup171 invoke.cont128: ; preds = %invoke.cont126 - %73 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !1009 + %73 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1009 %74 = load ptr, ptr %before, align 8, !noalias !1009 - %sub.ptr.lhs.cast.i.i.i.i.i.i126 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i127 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i126, %sub.ptr.rhs.cast.i.i.i.i.i.i127 - %_M_finish.i4.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 - %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !1009 + %sub.ptr.lhs.cast.i.i.i.i.i.i122 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i123 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i.i.i.i.i124 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i122, %sub.ptr.rhs.cast.i.i.i.i.i.i123 + %_M_finish.i4.i.i.i.i.i125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 + %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !1009 %76 = load ptr, ptr %after, align 8, !noalias !1009 - %sub.ptr.lhs.cast.i5.i.i.i.i.i130 = ptrtoint ptr %75 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i131 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i7.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i130, %sub.ptr.rhs.cast.i6.i.i.i.i.i131 - %cmp.i.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i128, %sub.ptr.sub.i7.i.i.i.i.i132 - br i1 %cmp.i.i.i.i.i133, label %land.rhs.i.i.i.i.i134, label %if.then.i - -land.rhs.i.i.i.i.i134: ; preds = %invoke.cont128 - %cmp.not4.i.i.i.i.i.i.i.i.i135 = icmp eq ptr %74, %73 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i135, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136 - -for.body.i.i.i.i.i.i.i.i.i136: ; preds = %land.rhs.i.i.i.i.i134, %for.inc.i.i.i.i.i.i.i.i.i140 - %__first2.addr.06.i.i.i.i.i.i.i.i.i137 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i142, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %76, %land.rhs.i.i.i.i.i134 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i138 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i141, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %74, %land.rhs.i.i.i.i.i134 ] - %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, align 8, !noalias !1009 - %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, align 8, !noalias !1009 - %cmp1.i.i.i.i.i.i.i.i.i139 = fcmp une double %77, %78 - br i1 %cmp1.i.i.i.i.i.i.i.i.i139, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i140 - -for.inc.i.i.i.i.i.i.i.i.i140: ; preds = %for.body.i.i.i.i.i.i.i.i.i136 - %incdec.ptr.i.i.i.i.i.i.i.i.i141 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i142 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i143 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i141, %73 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i143, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136, !llvm.loop !610 - -if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i136, %invoke.cont128 + %sub.ptr.lhs.cast.i5.i.i.i.i.i126 = ptrtoint ptr %75 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i127 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i7.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i126, %sub.ptr.rhs.cast.i6.i.i.i.i.i127 + %cmp.i.i.i.i.i129 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i124, %sub.ptr.sub.i7.i.i.i.i.i128 + br i1 %cmp.i.i.i.i.i129, label %land.rhs.i.i.i.i.i130, label %if.then.i + +land.rhs.i.i.i.i.i130: ; preds = %invoke.cont128 + %cmp.not4.i.i.i.i.i.i.i.i.i131 = icmp eq ptr %74, %73 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i131, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132 + +for.body.i.i.i.i.i.i.i.i.i132: ; preds = %land.rhs.i.i.i.i.i130, %for.inc.i.i.i.i.i.i.i.i.i136 + %__first2.addr.06.i.i.i.i.i.i.i.i.i133 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i138, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %76, %land.rhs.i.i.i.i.i130 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i134 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i137, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %74, %land.rhs.i.i.i.i.i130 ] + %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, align 8, !noalias !1009 + %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, align 8, !noalias !1009 + %cmp1.i.i.i.i.i.i.i.i.i135 = fcmp une double %77, %78 + br i1 %cmp1.i.i.i.i.i.i.i.i.i135, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i136 + +for.inc.i.i.i.i.i.i.i.i.i136: ; preds = %for.body.i.i.i.i.i.i.i.i.i132 + %incdec.ptr.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i138 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i137, %73 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i139, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132, !llvm.loop !610 + +if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i132, %invoke.cont128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129) to label %invoke.cont131 unwind label %lpad130 -if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i140, %land.rhs.i.i.i.i.i134 +if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i136, %land.rhs.i.i.i.i.i130 invoke void @_ZN7testing8internal18CmpHelperOpFailureIN4absl21discrete_distributionIlEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_S7_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after, ptr noundef nonnull @.str.99) to label %invoke.cont131 unwind label %lpad130 invoke.cont131: ; preds = %if.then.i, %if.else.i %79 = load i8, ptr %gtest_ar129, align 8 %80 = and i8 %79, 1 - %tobool.i146.not = icmp eq i8 %80, 0 - br i1 %tobool.i146.not, label %if.else134, label %if.end147 + %tobool.i142.not = icmp eq i8 %80, 0 + br i1 %tobool.i142.not, label %if.else134, label %if.end147 -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit102, %lpad109 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit102 ], [ %62, %lpad109 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit98, %lpad109 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit98 ], [ %62, %lpad109 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #23 br label %ehcleanup122 ehcleanup122: ; preds = %ehcleanup121, %lpad103 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup121 ], [ %58, %lpad103 ] call void @_ZN4absl21discrete_distributionIlED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %via_param) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -_ZNSt6vectorIdSaIdEED2Ev.exit150: ; preds = %ehcleanup122, %lpad99, %lpad97 +_ZNSt6vectorIdSaIdEED2Ev.exit146: ; preds = %ehcleanup122, %lpad99, %lpad97 %.pn10.pn.pn.pn = phi { ptr, i32 } [ %.pn10.pn.pn, %ehcleanup122 ], [ %57, %lpad99 ], [ %56, %lpad97 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 br label %ehcleanup172 @@ -35774,7 +35772,7 @@ lpad125: ; preds = %invoke.cont124 cleanup br label %ehcleanup171 -lpad130: ; preds = %if.end.i.i180, %if.then.i.i191, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit170 +lpad130: ; preds = %if.end.i.i176, %if.then.i.i187, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit166 %82 = landingpad { ptr, i32 } cleanup br label %ehcleanup170 @@ -35784,18 +35782,18 @@ if.else134: ; preds = %invoke.cont131 to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont140, label %cond.true.i.i153 + %message_.i.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i147, align 8 + %cmp.i.i.not.i.i148 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i148, label %invoke.cont140, label %cond.true.i.i149 -cond.true.i.i153: ; preds = %invoke.cont137 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 +cond.true.i.i149: ; preds = %invoke.cont137 + %call4.i.i150 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i153, %invoke.cont137 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i155) +invoke.cont140: ; preds = %cond.true.i.i149, %invoke.cont137 + %cond.i.i151 = phi ptr [ %call4.i.i150, %cond.true.i.i149 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i151) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -35805,17 +35803,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %84 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i157 = icmp eq ptr %84, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i153 = icmp eq ptr %84, null + br i1 %cmp.not.i.i153, label %_ZN7testing7MessageD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont144 - %vtable.i.i.i159 = load ptr, ptr %84, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %85 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %invoke.cont144 + %vtable.i.i.i155 = load ptr, ptr %84, align 8 + %vfn.i.i.i156 = getelementptr inbounds ptr, ptr %vtable.i.i.i155, i64 1 + %85 = load ptr, ptr %vfn.i.i.i156, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #23 - br label %_ZN7testing7MessageD2Ev.exit161 + br label %_ZN7testing7MessageD2Ev.exit157 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit157: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 store ptr null, ptr %ref.tmp135, align 8 br label %if.end147 @@ -35838,84 +35836,84 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn15 = phi { ptr, i32 } [ %88, %lpad143 ], [ %87, %lpad139 ] %89 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i162 = icmp eq ptr %89, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i158 = icmp eq ptr %89, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup146 - %vtable.i.i.i164 = load ptr, ptr %89, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %90 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %ehcleanup146 + %vtable.i.i.i160 = load ptr, ptr %89, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %90 = load ptr, ptr %vfn.i.i.i161, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit162: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %91 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %91, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit157 + %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %91 = load ptr, ptr %message_.i163, align 8 + %cmp.not.i.i164 = icmp eq ptr %91, null + br i1 %cmp.not.i.i164, label %_ZN7testing15AssertionResultD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #23 call void @_ZdlPv(ptr noundef nonnull %91) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit166 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit166: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + store ptr null, ptr %message_.i163, align 8 %call150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4abslrsIcSt11char_traitsIcElEERSt13basic_istreamIT_T0_ES7_RNS_21discrete_distributionIT1_EE(ptr noundef nonnull align 8 dereferenceable(16) %ss, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont149 unwind label %lpad130 -invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !1012 +invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit166 + %92 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1012 %93 = load ptr, ptr %before, align 8, !noalias !1012 - %sub.ptr.lhs.cast.i.i.i.i.i.i172 = ptrtoint ptr %92 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i173 = ptrtoint ptr %93 to i64 - %sub.ptr.sub.i.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i172, %sub.ptr.rhs.cast.i.i.i.i.i.i173 - %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !1012 + %sub.ptr.lhs.cast.i.i.i.i.i.i168 = ptrtoint ptr %92 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i169 = ptrtoint ptr %93 to i64 + %sub.ptr.sub.i.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i.i169 + %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !1012 %95 = load ptr, ptr %after, align 8, !noalias !1012 - %sub.ptr.lhs.cast.i5.i.i.i.i.i176 = ptrtoint ptr %94 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i177 = ptrtoint ptr %95 to i64 - %sub.ptr.sub.i7.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i176, %sub.ptr.rhs.cast.i6.i.i.i.i.i177 - %cmp.i.i.i.i.i179 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i174, %sub.ptr.sub.i7.i.i.i.i.i178 - br i1 %cmp.i.i.i.i.i179, label %land.rhs.i.i.i.i.i181, label %if.end.i.i180 - -land.rhs.i.i.i.i.i181: ; preds = %invoke.cont149 - %cmp.not4.i.i.i.i.i.i.i.i.i182 = icmp eq ptr %93, %92 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i182, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183 - -for.body.i.i.i.i.i.i.i.i.i183: ; preds = %land.rhs.i.i.i.i.i181, %for.inc.i.i.i.i.i.i.i.i.i187 - %__first2.addr.06.i.i.i.i.i.i.i.i.i184 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i189, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %95, %land.rhs.i.i.i.i.i181 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i185 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i188, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %93, %land.rhs.i.i.i.i.i181 ] - %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, align 8, !noalias !1012 - %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, align 8, !noalias !1012 - %cmp1.i.i.i.i.i.i.i.i.i186 = fcmp oeq double %96, %97 - br i1 %cmp1.i.i.i.i.i.i.i.i.i186, label %for.inc.i.i.i.i.i.i.i.i.i187, label %if.end.i.i180 - -for.inc.i.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i.i.i.i.i.i183 - %incdec.ptr.i.i.i.i.i.i.i.i.i188 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i189 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i190 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i188, %92 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i190, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183, !llvm.loop !610 - -if.then.i.i191: ; preds = %for.inc.i.i.i.i.i.i.i.i.i187, %land.rhs.i.i.i.i.i181 + %sub.ptr.lhs.cast.i5.i.i.i.i.i172 = ptrtoint ptr %94 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i173 = ptrtoint ptr %95 to i64 + %sub.ptr.sub.i7.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i.i.i173 + %cmp.i.i.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i170, %sub.ptr.sub.i7.i.i.i.i.i174 + br i1 %cmp.i.i.i.i.i175, label %land.rhs.i.i.i.i.i177, label %if.end.i.i176 + +land.rhs.i.i.i.i.i177: ; preds = %invoke.cont149 + %cmp.not4.i.i.i.i.i.i.i.i.i178 = icmp eq ptr %93, %92 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i178, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179 + +for.body.i.i.i.i.i.i.i.i.i179: ; preds = %land.rhs.i.i.i.i.i177, %for.inc.i.i.i.i.i.i.i.i.i183 + %__first2.addr.06.i.i.i.i.i.i.i.i.i180 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i185, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %95, %land.rhs.i.i.i.i.i177 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i181 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i184, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %93, %land.rhs.i.i.i.i.i177 ] + %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, align 8, !noalias !1012 + %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, align 8, !noalias !1012 + %cmp1.i.i.i.i.i.i.i.i.i182 = fcmp oeq double %96, %97 + br i1 %cmp1.i.i.i.i.i.i.i.i.i182, label %for.inc.i.i.i.i.i.i.i.i.i183, label %if.end.i.i176 + +for.inc.i.i.i.i.i.i.i.i.i183: ; preds = %for.body.i.i.i.i.i.i.i.i.i179 + %incdec.ptr.i.i.i.i.i.i.i.i.i184 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i185 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i186 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i184, %92 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i186, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179, !llvm.loop !610 + +if.then.i.i187: ; preds = %for.inc.i.i.i.i.i.i.i.i.i183, %land.rhs.i.i.i.i.i177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151) to label %invoke.cont152 unwind label %lpad130 -if.end.i.i180: ; preds = %for.body.i.i.i.i.i.i.i.i.i183, %invoke.cont149 +if.end.i.i176: ; preds = %for.body.i.i.i.i.i.i.i.i.i179, %invoke.cont149 invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionIlEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont152 unwind label %lpad130 -invoke.cont152: ; preds = %if.then.i.i191, %if.end.i.i180 +invoke.cont152: ; preds = %if.then.i.i187, %if.end.i.i176 %98 = load i8, ptr %gtest_ar151, align 8 %99 = and i8 %98, 1 - %tobool.i195.not = icmp eq i8 %99, 0 - br i1 %tobool.i195.not, label %if.else155, label %if.end168 + %tobool.i191.not = icmp eq i8 %99, 0 + br i1 %tobool.i191.not, label %if.else155, label %if.end168 -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad136 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit166 ], [ %86, %lpad136 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit162, %lpad136 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit162 ], [ %86, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar129) #23 br label %ehcleanup170 @@ -35924,18 +35922,18 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %message_.i.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %100 = load ptr, ptr %message_.i.i196, align 8 - %cmp.i.i.not.i.i197 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i197, label %invoke.cont161, label %cond.true.i.i198 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %100 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont161, label %cond.true.i.i194 -cond.true.i.i198: ; preds = %invoke.cont158 - %call4.i.i199 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 +cond.true.i.i194: ; preds = %invoke.cont158 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i198, %invoke.cont158 - %cond.i.i200 = phi ptr [ %call4.i.i199, %cond.true.i.i198 ], [ @.str, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i200) +invoke.cont161: ; preds = %cond.true.i.i194, %invoke.cont158 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i196) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -35945,17 +35943,17 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #23 %101 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i202 = icmp eq ptr %101, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i198 = icmp eq ptr %101, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %invoke.cont165 - %vtable.i.i.i204 = load ptr, ptr %101, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %102 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont165 + %vtable.i.i.i200 = load ptr, ptr %101, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %102 = load ptr, ptr %vfn.i.i.i201, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #23 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit206: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp156, align 8 br label %if.end168 @@ -35978,94 +35976,94 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn18 = phi { ptr, i32 } [ %105, %lpad164 ], [ %104, %lpad160 ] %106 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i207 = icmp eq ptr %106, null - br i1 %cmp.not.i.i207, label %_ZN7testing7MessageD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + %cmp.not.i.i203 = icmp eq ptr %106, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %ehcleanup167 - %vtable.i.i.i209 = load ptr, ptr %106, align 8 - %vfn.i.i.i210 = getelementptr inbounds ptr, ptr %vtable.i.i.i209, i64 1 - %107 = load ptr, ptr %vfn.i.i.i210, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup167 + %vtable.i.i.i205 = load ptr, ptr %106, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %107 = load ptr, ptr %vfn.i.i.i206, align 8 call void %107(ptr noundef nonnull align 8 dereferenceable(128) %106) #23 - br label %_ZN7testing7MessageD2Ev.exit211 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit211: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 -if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit206 - %message_.i212 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %108 = load ptr, ptr %message_.i212, align 8 - %cmp.not.i.i213 = icmp eq ptr %108, null - br i1 %cmp.not.i.i213, label %_ZN7testing15AssertionResultD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 +if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %108 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %108, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %if.end168 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end168 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #23 call void @_ZdlPv(ptr noundef nonnull %108) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit215 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit215: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 - store ptr null, ptr %message_.i212, align 8 - %q_.i.i216 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %109 = load ptr, ptr %q_.i.i216, align 8 - %tobool.not.i.i.i.i.i217 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i.i217, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, label %if.then.i.i.i.i.i218 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %q_.i.i212 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %109 = load ptr, ptr %q_.i.i212, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit215 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %109) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219: ; preds = %if.then.i.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit215 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %110 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i220 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i1.i.i220, label %_ZN4absl21discrete_distributionIlED2Ev.exit222, label %if.then.i.i.i2.i.i221 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i1.i.i216, label %_ZN4absl21discrete_distributionIlED2Ev.exit218, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i221: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %110) #24 - br label %_ZN4absl21discrete_distributionIlED2Ev.exit222 + br label %_ZN4absl21discrete_distributionIlED2Ev.exit218 -_ZN4absl21discrete_distributionIlED2Ev.exit222: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, %if.then.i.i.i2.i.i221 +_ZN4absl21discrete_distributionIlED2Ev.exit218: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 - %111 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, label %if.then.i.i.i.i.i225 + %111 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i.i.i220 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i.i.i220, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, label %if.then.i.i.i.i.i221 -if.then.i.i.i.i.i225: ; preds = %_ZN4absl21discrete_distributionIlED2Ev.exit222 +if.then.i.i.i.i.i221: ; preds = %_ZN4absl21discrete_distributionIlED2Ev.exit218 call void @_ZdlPv(ptr noundef nonnull %111) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226: ; preds = %if.then.i.i.i.i.i225, %_ZN4absl21discrete_distributionIlED2Ev.exit222 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222: ; preds = %if.then.i.i.i.i.i221, %_ZN4absl21discrete_distributionIlED2Ev.exit218 %112 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i1.i.i227 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i1.i.i227, label %_ZN4absl21discrete_distributionIlED2Ev.exit229, label %if.then.i.i.i2.i.i228 + %tobool.not.i.i.i1.i.i223 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i1.i.i223, label %_ZN4absl21discrete_distributionIlED2Ev.exit225, label %if.then.i.i.i2.i.i224 -if.then.i.i.i2.i.i228: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 +if.then.i.i.i2.i.i224: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 call void @_ZdlPv(ptr noundef nonnull %112) #24 - br label %_ZN4absl21discrete_distributionIlED2Ev.exit229 + br label %_ZN4absl21discrete_distributionIlED2Ev.exit225 -_ZN4absl21discrete_distributionIlED2Ev.exit229: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, %if.then.i.i.i2.i.i228 - %q_.i.i230 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 - %113 = load ptr, ptr %q_.i.i230, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i231, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, label %if.then.i.i.i.i.i232 +_ZN4absl21discrete_distributionIlED2Ev.exit225: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, %if.then.i.i.i2.i.i224 + %q_.i.i226 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 + %113 = load ptr, ptr %q_.i.i226, align 8 + %tobool.not.i.i.i.i.i227 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i227, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, label %if.then.i.i.i.i.i228 -if.then.i.i.i.i.i232: ; preds = %_ZN4absl21discrete_distributionIlED2Ev.exit229 +if.then.i.i.i.i.i228: ; preds = %_ZN4absl21discrete_distributionIlED2Ev.exit225 call void @_ZdlPv(ptr noundef nonnull %113) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233: ; preds = %if.then.i.i.i.i.i232, %_ZN4absl21discrete_distributionIlED2Ev.exit229 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229: ; preds = %if.then.i.i.i.i.i228, %_ZN4absl21discrete_distributionIlED2Ev.exit225 %114 = load ptr, ptr %empty, align 8 - %tobool.not.i.i.i1.i.i234 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i1.i.i234, label %_ZN4absl21discrete_distributionIlED2Ev.exit236, label %if.then.i.i.i2.i.i235 + %tobool.not.i.i.i1.i.i230 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i1.i.i230, label %_ZN4absl21discrete_distributionIlED2Ev.exit232, label %if.then.i.i.i2.i.i231 -if.then.i.i.i2.i.i235: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 +if.then.i.i.i2.i.i231: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 call void @_ZdlPv(ptr noundef nonnull %114) #24 - br label %_ZN4absl21discrete_distributionIlED2Ev.exit236 + br label %_ZN4absl21discrete_distributionIlED2Ev.exit232 -_ZN4absl21discrete_distributionIlED2Ev.exit236: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, %if.then.i.i.i2.i.i235 +_ZN4absl21discrete_distributionIlED2Ev.exit232: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, %if.then.i.i.i2.i.i231 ret void -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit211, %lpad157 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit211 ], [ %103, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad157 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit207 ], [ %103, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #23 br label %ehcleanup170 @@ -36074,18 +36072,18 @@ ehcleanup170: ; preds = %ehcleanup169, %ehcl call void @_ZN4absl21discrete_distributionIlED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %after) #23 br label %ehcleanup171 -ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i121, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, %ehcleanup170 - %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i121 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 ] +ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i117, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, %ehcleanup170 + %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i117 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 ] call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 br label %ehcleanup172 -ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit150, %ehcleanup77, %ehcleanup49, %lpad21 - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit150 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] +ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit146, %ehcleanup77, %ehcleanup49, %lpad21 + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit146 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] call void @_ZN4absl21discrete_distributionIlED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %before) #23 br label %ehcleanup173 -ehcleanup173: ; preds = %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, %eh.resume.sink.split.i.i, %lpad, %ehcleanup172, %ehcleanup17 - %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i.i ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 ], [ %16, %eh.resume.sink.split.i.i ] +ehcleanup173: ; preds = %lpad.i.i233, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, %eh.resume.sink.split.i, %lpad, %ehcleanup172, %ehcleanup17 + %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i233 ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 ], [ %16, %eh.resume.sink.split.i ] call void @_ZN4absl21discrete_distributionIlED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %empty) #23 br label %common.resume } @@ -36097,8 +36095,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i if.then.i.i.i: ; preds = %entry @@ -36113,7 +36110,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %entry br i1 %cmp.not.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i - %add.ptr3.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr3.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage4.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr3.i.i, ptr %_M_end_of_storage4.i.i, align 8 br label %invoke.cont @@ -36124,7 +36121,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i, ptr %this, align 8 - %add.ptr.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -36138,9 +36135,10 @@ lpad.i: ; preds = %if.then.i.i.i.i.i.i br i1 %tobool.not.i.i.i, label %eh.resume, label %eh.resume.sink.split invoke.cont: ; preds = %call5.i.i.i.i.noexc.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i - %add.ptr5.i.i = phi ptr [ %add.ptr3.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %add.ptr.i.i, %call5.i.i.i.i.noexc.i ] + %cond.i5.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %call5.i.i.i.i1.i, %call5.i.i.i.i.noexc.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr5.i.i, ptr %_M_finish.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionIlE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %this) @@ -36482,30 +36480,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i22 = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store double %3, ptr %add.ptr.i.i22, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %p.sroa.0.267, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %p.sroa.0.267, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %p.sroa.0.267) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i20 - %add.ptr.i.i22.pn = phi ptr [ %add.ptr.i.i22, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] %p.sroa.15.2 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.15.166, %if.then.i20 ] %p.sroa.0.3 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.0.267, %if.then.i20 ] - %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i22.pn, i64 1 + %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.068, 1 %4 = load i64, ptr %n, align 8 %cmp7 = icmp ult i64 %inc, %4 @@ -36636,8 +36635,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %_ZNSt6vectorIdSaIdEEC2ERKS1_.exit _ZNSt6vectorIdSaIdEEC2ERKS1_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 %q_3 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %0, i64 0, i32 1 @@ -37534,65 +37532,65 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %before, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 - to label %call5.i.i.i.i.noexc.i.i.i unwind label %lpad.i.i.i - -call5.i.i.i.i.noexc.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store ptr %call5.i.i.i.i2.i.i.i, ptr %before, align 8 - %add.ptr.i1.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i.i.i, i64 3 - %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 - store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - %_M_finish.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 - store ptr %add.ptr.i1.i.i.i, ptr %_M_finish.i.i.i.i, align 8 - %q_.i.i33 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i.i33, i8 0, i64 24, i1 false) + %call5.i.i.i.i2.i.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 + to label %call5.i.i.i.i.noexc.i.i unwind label %lpad.i.i233 + +call5.i.i.i.i.noexc.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store ptr %call5.i.i.i.i2.i.i, ptr %before, align 8 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 24 + %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 2 + store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) + %_M_finish.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %before, i64 0, i32 1 + store ptr %add.ptr.i1.i.i, ptr %_M_finish.i.i.i, align 8 + %q_.i235 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %before, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_.i235, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionImE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %before) - to label %invoke.cont22 unwind label %lpad2.i.i + to label %invoke.cont22 unwind label %lpad2.i -lpad.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +lpad.i.i233: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup173 -lpad2.i.i: ; preds = %call5.i.i.i.i.noexc.i.i.i +lpad2.i: ; preds = %call5.i.i.i.i.noexc.i.i %16 = landingpad { ptr, i32 } cleanup - %17 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i2.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i2.i.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, label %if.then.i.i.i3.i.i + %17 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i2.i = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i2.i, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, label %if.then.i.i.i3.i -if.then.i.i.i3.i.i: ; preds = %lpad2.i.i +if.then.i.i.i3.i: ; preds = %lpad2.i call void @_ZdlPv(ptr noundef nonnull %17) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34: ; preds = %if.then.i.i.i3.i.i, %lpad2.i.i +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236: ; preds = %if.then.i.i.i3.i, %lpad2.i %18 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i4.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i4.i.i, label %ehcleanup173, label %eh.resume.sink.split.i.i + %tobool.not.i.i.i4.i = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i4.i, label %ehcleanup173, label %eh.resume.sink.split.i -eh.resume.sink.split.i.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 +eh.resume.sink.split.i: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 call void @_ZdlPv(ptr noundef nonnull %18) #24 br label %ehcleanup173 -invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i.i +invoke.cont22: ; preds = %call5.i.i.i.i.noexc.i.i store double 0.000000e+00, ptr %s, align 8 %19 = load ptr, ptr %before, align 8 - %20 = load ptr, ptr %_M_finish.i.i.i.i, align 8 - %cmp.i.not243 = icmp eq ptr %19, %20 - br i1 %cmp.i.not243, label %for.end.thread, label %for.body + %20 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.not244 = icmp eq ptr %19, %20 + br i1 %cmp.i.not244, label %for.end.thread, label %for.body for.end.thread: ; preds = %invoke.cont22 store double 1.000000e+00, ptr %ref.tmp31, align 8 br label %if.end.i.i for.body: ; preds = %invoke.cont22, %for.body - %__begin0.sroa.0.0245 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] - %add242244 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] - %21 = load double, ptr %__begin0.sroa.0.0245, align 8 - %add = fadd double %21, %add242244 + %__begin0.sroa.0.0246 = phi ptr [ %incdec.ptr.i, %for.body ], [ %19, %invoke.cont22 ] + %add243245 = phi double [ %add, %for.body ], [ 0.000000e+00, %invoke.cont22 ] + %21 = load double, ptr %__begin0.sroa.0.0246, align 8 + %add = fadd double %21, %add243245 store double %add, ptr %s, align 8 - %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0245, i64 1 + %incdec.ptr.i = getelementptr inbounds double, ptr %__begin0.sroa.0.0246, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %20 br i1 %cmp.i.not, label %for.end, label %for.body @@ -37622,26 +37620,26 @@ if.end.i.i: ; preds = %for.end.thread, %fo invoke.cont32: ; preds = %if.then.i.i, %if.end.i.i %23 = load i8, ptr %gtest_ar30, align 8 %24 = and i8 %23, 1 - %tobool.i36.not = icmp eq i8 %24, 0 - br i1 %tobool.i36.not, label %if.else35, label %if.end48 + %tobool.i33.not = icmp eq i8 %24, 0 + br i1 %tobool.i33.not, label %if.else35, label %if.end48 if.else35: ; preds = %invoke.cont32 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36) to label %invoke.cont38 unwind label %lpad37 invoke.cont38: ; preds = %if.else35 - %message_.i.i37 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %25 = load ptr, ptr %message_.i.i37, align 8 - %cmp.i.i.not.i.i38 = icmp eq ptr %25, null - br i1 %cmp.i.i.not.i.i38, label %invoke.cont41, label %cond.true.i.i39 + %message_.i.i34 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %25 = load ptr, ptr %message_.i.i34, align 8 + %cmp.i.i.not.i.i35 = icmp eq ptr %25, null + br i1 %cmp.i.i.not.i.i35, label %invoke.cont41, label %cond.true.i.i36 -cond.true.i.i39: ; preds = %invoke.cont38 - %call4.i.i40 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 +cond.true.i.i36: ; preds = %invoke.cont38 + %call4.i.i37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #23 br label %invoke.cont41 -invoke.cont41: ; preds = %cond.true.i.i39, %invoke.cont38 - %cond.i.i41 = phi ptr [ %call4.i.i40, %cond.true.i.i39 ], [ @.str, %invoke.cont38 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i41) +invoke.cont41: ; preds = %cond.true.i.i36, %invoke.cont38 + %cond.i.i38 = phi ptr [ %call4.i.i37, %cond.true.i.i36 ], [ @.str, %invoke.cont38 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 62, ptr noundef %cond.i.i38) to label %invoke.cont43 unwind label %lpad40 invoke.cont43: ; preds = %invoke.cont41 @@ -37651,17 +37649,17 @@ invoke.cont43: ; preds = %invoke.cont41 invoke.cont45: ; preds = %invoke.cont43 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39) #23 %26 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i43 = icmp eq ptr %26, null - br i1 %cmp.not.i.i43, label %_ZN7testing7MessageD2Ev.exit47, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 + %cmp.not.i.i40 = icmp eq ptr %26, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44: ; preds = %invoke.cont45 - %vtable.i.i.i45 = load ptr, ptr %26, align 8 - %vfn.i.i.i46 = getelementptr inbounds ptr, ptr %vtable.i.i.i45, i64 1 - %27 = load ptr, ptr %vfn.i.i.i46, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %invoke.cont45 + %vtable.i.i.i42 = load ptr, ptr %26, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %27 = load ptr, ptr %vfn.i.i.i43, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #23 - br label %_ZN7testing7MessageD2Ev.exit47 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit47: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i44 +_ZN7testing7MessageD2Ev.exit44: ; preds = %invoke.cont45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp36, align 8 br label %if.end48 @@ -37684,47 +37682,47 @@ lpad44: ; preds = %invoke.cont43 ehcleanup47: ; preds = %lpad44, %lpad40 %.pn4 = phi { ptr, i32 } [ %30, %lpad44 ], [ %29, %lpad40 ] %31 = load ptr, ptr %ref.tmp36, align 8 - %cmp.not.i.i48 = icmp eq ptr %31, null - br i1 %cmp.not.i.i48, label %_ZN7testing7MessageD2Ev.exit52, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 + %cmp.not.i.i45 = icmp eq ptr %31, null + br i1 %cmp.not.i.i45, label %_ZN7testing7MessageD2Ev.exit49, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49: ; preds = %ehcleanup47 - %vtable.i.i.i50 = load ptr, ptr %31, align 8 - %vfn.i.i.i51 = getelementptr inbounds ptr, ptr %vtable.i.i.i50, i64 1 - %32 = load ptr, ptr %vfn.i.i.i51, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46: ; preds = %ehcleanup47 + %vtable.i.i.i47 = load ptr, ptr %31, align 8 + %vfn.i.i.i48 = getelementptr inbounds ptr, ptr %vtable.i.i.i47, i64 1 + %32 = load ptr, ptr %vfn.i.i.i48, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(128) %31) #23 - br label %_ZN7testing7MessageD2Ev.exit52 + br label %_ZN7testing7MessageD2Ev.exit49 -_ZN7testing7MessageD2Ev.exit52: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i49 +_ZN7testing7MessageD2Ev.exit49: ; preds = %ehcleanup47, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i46 store ptr null, ptr %ref.tmp36, align 8 br label %ehcleanup49 -if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit47 - %message_.i53 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 - %33 = load ptr, ptr %message_.i53, align 8 - %cmp.not.i.i54 = icmp eq ptr %33, null - br i1 %cmp.not.i.i54, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +if.end48: ; preds = %invoke.cont32, %_ZN7testing7MessageD2Ev.exit44 + %message_.i50 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar30, i64 0, i32 1 + %33 = load ptr, ptr %message_.i50, align 8 + %cmp.not.i.i51 = icmp eq ptr %33, null + br i1 %cmp.not.i.i51, label %invoke.cont58, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %if.end48 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52: ; preds = %if.end48 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #23 call void @_ZdlPv(ptr noundef nonnull %33) #24 br label %invoke.cont58 -invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55, %if.end48 - store ptr null, ptr %message_.i53, align 8 +invoke.cont58: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i52, %if.end48 + store ptr null, ptr %message_.i50, align 8 store <2 x double> , ptr %ref.tmp51, align 16 - %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 - store double 2.500000e-01, ptr %agg.tmp5257.sroa.5.0.ref.tmp51.sroa_idx, align 16 + %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp51, i64 16 + store double 2.500000e-01, ptr %agg.tmp5254.sroa.5.0.ref.tmp51.sroa_idx, align 16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_18ElementsAreMatcherISt5tupleIJdddEEEEEclISt6vectorIdSaIdEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar50, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp51, ptr noundef nonnull @.str.94, ptr noundef nonnull align 8 dereferenceable(24) %before) to label %invoke.cont60 unwind label %lpad21 invoke.cont60: ; preds = %invoke.cont58 %34 = load i8, ptr %gtest_ar50, align 8 %35 = and i8 %34, 1 - %tobool.i58.not = icmp eq i8 %35, 0 - br i1 %tobool.i58.not, label %if.else63, label %if.end76 + %tobool.i55.not = icmp eq i8 %35, 0 + br i1 %tobool.i55.not, label %if.else63, label %if.end76 -ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit52, %lpad37 - %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit52 ], [ %28, %lpad37 ] +ehcleanup49: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad37 + %.pn4.pn = phi { ptr, i32 } [ %.pn4, %_ZN7testing7MessageD2Ev.exit49 ], [ %28, %lpad37 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar30) #23 br label %ehcleanup172 @@ -37733,18 +37731,18 @@ if.else63: ; preds = %invoke.cont60 to label %invoke.cont66 unwind label %lpad65 invoke.cont66: ; preds = %if.else63 - %message_.i.i59 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %36 = load ptr, ptr %message_.i.i59, align 8 - %cmp.i.i.not.i.i60 = icmp eq ptr %36, null - br i1 %cmp.i.i.not.i.i60, label %invoke.cont69, label %cond.true.i.i61 + %message_.i.i56 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %36 = load ptr, ptr %message_.i.i56, align 8 + %cmp.i.i.not.i.i57 = icmp eq ptr %36, null + br i1 %cmp.i.i.not.i.i57, label %invoke.cont69, label %cond.true.i.i58 -cond.true.i.i61: ; preds = %invoke.cont66 - %call4.i.i62 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 +cond.true.i.i58: ; preds = %invoke.cont66 + %call4.i.i59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %36) #23 br label %invoke.cont69 -invoke.cont69: ; preds = %cond.true.i.i61, %invoke.cont66 - %cond.i.i63 = phi ptr [ %call4.i.i62, %cond.true.i.i61 ], [ @.str, %invoke.cont66 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i63) +invoke.cont69: ; preds = %cond.true.i.i58, %invoke.cont66 + %cond.i.i60 = phi ptr [ %call4.i.i59, %cond.true.i.i58 ], [ @.str, %invoke.cont66 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %cond.i.i60) to label %invoke.cont71 unwind label %lpad68 invoke.cont71: ; preds = %invoke.cont69 @@ -37754,17 +37752,17 @@ invoke.cont71: ; preds = %invoke.cont69 invoke.cont73: ; preds = %invoke.cont71 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67) #23 %37 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i65 = icmp eq ptr %37, null - br i1 %cmp.not.i.i65, label %_ZN7testing7MessageD2Ev.exit69, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 + %cmp.not.i.i62 = icmp eq ptr %37, null + br i1 %cmp.not.i.i62, label %_ZN7testing7MessageD2Ev.exit66, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66: ; preds = %invoke.cont73 - %vtable.i.i.i67 = load ptr, ptr %37, align 8 - %vfn.i.i.i68 = getelementptr inbounds ptr, ptr %vtable.i.i.i67, i64 1 - %38 = load ptr, ptr %vfn.i.i.i68, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63: ; preds = %invoke.cont73 + %vtable.i.i.i64 = load ptr, ptr %37, align 8 + %vfn.i.i.i65 = getelementptr inbounds ptr, ptr %vtable.i.i.i64, i64 1 + %38 = load ptr, ptr %vfn.i.i.i65, align 8 call void %38(ptr noundef nonnull align 8 dereferenceable(128) %37) #23 - br label %_ZN7testing7MessageD2Ev.exit69 + br label %_ZN7testing7MessageD2Ev.exit66 -_ZN7testing7MessageD2Ev.exit69: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i66 +_ZN7testing7MessageD2Ev.exit66: ; preds = %invoke.cont73, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63 store ptr null, ptr %ref.tmp64, align 8 br label %if.end76 @@ -37787,45 +37785,45 @@ lpad72: ; preds = %invoke.cont71 ehcleanup75: ; preds = %lpad72, %lpad68 %.pn7 = phi { ptr, i32 } [ %41, %lpad72 ], [ %40, %lpad68 ] %42 = load ptr, ptr %ref.tmp64, align 8 - %cmp.not.i.i70 = icmp eq ptr %42, null - br i1 %cmp.not.i.i70, label %_ZN7testing7MessageD2Ev.exit74, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 + %cmp.not.i.i67 = icmp eq ptr %42, null + br i1 %cmp.not.i.i67, label %_ZN7testing7MessageD2Ev.exit71, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71: ; preds = %ehcleanup75 - %vtable.i.i.i72 = load ptr, ptr %42, align 8 - %vfn.i.i.i73 = getelementptr inbounds ptr, ptr %vtable.i.i.i72, i64 1 - %43 = load ptr, ptr %vfn.i.i.i73, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68: ; preds = %ehcleanup75 + %vtable.i.i.i69 = load ptr, ptr %42, align 8 + %vfn.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i69, i64 1 + %43 = load ptr, ptr %vfn.i.i.i70, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #23 - br label %_ZN7testing7MessageD2Ev.exit74 + br label %_ZN7testing7MessageD2Ev.exit71 -_ZN7testing7MessageD2Ev.exit74: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i71 +_ZN7testing7MessageD2Ev.exit71: ; preds = %ehcleanup75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i68 store ptr null, ptr %ref.tmp64, align 8 br label %ehcleanup77 -if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit69 - %message_.i75 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 - %44 = load ptr, ptr %message_.i75, align 8 - %cmp.not.i.i76 = icmp eq ptr %44, null - br i1 %cmp.not.i.i76, label %_ZN7testing15AssertionResultD2Ev.exit78, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +if.end76: ; preds = %invoke.cont60, %_ZN7testing7MessageD2Ev.exit66 + %message_.i72 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50, i64 0, i32 1 + %44 = load ptr, ptr %message_.i72, align 8 + %cmp.not.i.i73 = icmp eq ptr %44, null + br i1 %cmp.not.i.i73, label %_ZN7testing15AssertionResultD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %if.end76 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74: ; preds = %if.end76 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #23 call void @_ZdlPv(ptr noundef nonnull %44) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit78 + br label %_ZN7testing15AssertionResultD2Ev.exit75 -_ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 - store ptr null, ptr %message_.i75, align 8 +_ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end76, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i74 + store ptr null, ptr %message_.i72, align 8 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #25 to label %invoke.cont86 unwind label %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i -_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 +_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup172 -invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit78 - %add.ptr.i1.i = getelementptr inbounds double, ptr %call5.i.i.i.i2.i, i64 3 +invoke.cont86: ; preds = %_ZN7testing15AssertionResultD2Ev.exit75 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i, ptr noundef nonnull align 8 dereferenceable(24) @constinit.117, i64 24, i1 false) - invoke void @_ZN4absl21discrete_distributionImE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 24 + invoke void @_ZN4absl21discrete_distributionImE10param_typeC2IN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEEEET_SB_(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88, ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i) to label %invoke.cont98 unwind label %lpad97 invoke.cont98: ; preds = %invoke.cont86 @@ -37858,17 +37856,17 @@ _ZN4absl21discrete_distributionImE10param_typeD2Ev.exit: ; preds = %_ZNSt6vector %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %48 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %49 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %50 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !1059 + %50 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1059 %51 = load ptr, ptr %before, align 8, !noalias !1059 %sub.ptr.lhs.cast.i5.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.rhs.cast.i6.i.i.i.i.i = ptrtoint ptr %51 to i64 %sub.ptr.sub.i7.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i, %sub.ptr.rhs.cast.i6.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, %sub.ptr.sub.i7.i.i.i.i.i - br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp.i.i.i.i.i, label %land.rhs.i.i.i.i.i, label %if.end.i.i78 land.rhs.i.i.i.i.i: ; preds = %_ZN4absl21discrete_distributionImE10param_typeD2Ev.exit %cmp.not4.i.i.i.i.i.i.i.i.i = icmp eq ptr %49, %48 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i %__first2.addr.06.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i ], [ %51, %land.rhs.i.i.i.i.i ] @@ -37876,45 +37874,45 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %land.rhs.i.i.i.i.i, %52 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, align 8, !noalias !1059 %53 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, align 8, !noalias !1059 %cmp1.i.i.i.i.i.i.i.i.i = fcmp oeq double %52, %53 - br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i82 + br i1 %cmp1.i.i.i.i.i.i.i.i.i, label %for.inc.i.i.i.i.i.i.i.i.i, label %if.end.i.i78 for.inc.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i, i64 1 %incdec.ptr2.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i, %48 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i83, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.then.i.i79, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !610 -if.then.i.i83: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i +if.then.i.i79: ; preds = %for.inc.i.i.i.i.i.i.i.i.i, %land.rhs.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102) to label %invoke.cont104 unwind label %lpad103 -if.end.i.i82: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionImE10param_typeD2Ev.exit +if.end.i.i78: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZN4absl21discrete_distributionImE10param_typeD2Ev.exit invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionImEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar102, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.97, ptr noundef nonnull align 8 dereferenceable(48) %via_param, ptr noundef nonnull align 8 dereferenceable(48) %before) to label %invoke.cont104 unwind label %lpad103 -invoke.cont104: ; preds = %if.then.i.i83, %if.end.i.i82 +invoke.cont104: ; preds = %if.then.i.i79, %if.end.i.i78 %54 = load i8, ptr %gtest_ar102, align 8 %55 = and i8 %54, 1 - %tobool.i86.not = icmp eq i8 %55, 0 - br i1 %tobool.i86.not, label %if.else107, label %if.end120 + %tobool.i82.not = icmp eq i8 %55, 0 + br i1 %tobool.i82.not, label %if.else107, label %if.end120 -ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad65 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit74 ], [ %39, %lpad65 ] +ehcleanup77: ; preds = %_ZN7testing7MessageD2Ev.exit71, %lpad65 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit71 ], [ %39, %lpad65 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50) #23 br label %ehcleanup172 lpad97: ; preds = %invoke.cont86 %56 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 lpad99: ; preds = %invoke.cont98 %57 = landingpad { ptr, i32 } cleanup call void @_ZN4absl21discrete_distributionImE10param_typeD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp88) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -lpad103: ; preds = %if.end.i.i82, %if.then.i.i83 +lpad103: ; preds = %if.end.i.i78, %if.then.i.i79 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 @@ -37924,18 +37922,18 @@ if.else107: ; preds = %invoke.cont104 to label %invoke.cont110 unwind label %lpad109 invoke.cont110: ; preds = %if.else107 - %message_.i.i87 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %59 = load ptr, ptr %message_.i.i87, align 8 - %cmp.i.i.not.i.i88 = icmp eq ptr %59, null - br i1 %cmp.i.i.not.i.i88, label %invoke.cont113, label %cond.true.i.i89 + %message_.i.i83 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %59 = load ptr, ptr %message_.i.i83, align 8 + %cmp.i.i.not.i.i84 = icmp eq ptr %59, null + br i1 %cmp.i.i.not.i.i84, label %invoke.cont113, label %cond.true.i.i85 -cond.true.i.i89: ; preds = %invoke.cont110 - %call4.i.i90 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 +cond.true.i.i85: ; preds = %invoke.cont110 + %call4.i.i86 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #23 br label %invoke.cont113 -invoke.cont113: ; preds = %cond.true.i.i89, %invoke.cont110 - %cond.i.i91 = phi ptr [ %call4.i.i90, %cond.true.i.i89 ], [ @.str, %invoke.cont110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i91) +invoke.cont113: ; preds = %cond.true.i.i85, %invoke.cont110 + %cond.i.i87 = phi ptr [ %call4.i.i86, %cond.true.i.i85 ], [ @.str, %invoke.cont110 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %cond.i.i87) to label %invoke.cont115 unwind label %lpad112 invoke.cont115: ; preds = %invoke.cont113 @@ -37945,17 +37943,17 @@ invoke.cont115: ; preds = %invoke.cont113 invoke.cont117: ; preds = %invoke.cont115 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp111) #23 %60 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i93 = icmp eq ptr %60, null - br i1 %cmp.not.i.i93, label %_ZN7testing7MessageD2Ev.exit97, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 + %cmp.not.i.i89 = icmp eq ptr %60, null + br i1 %cmp.not.i.i89, label %_ZN7testing7MessageD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94: ; preds = %invoke.cont117 - %vtable.i.i.i95 = load ptr, ptr %60, align 8 - %vfn.i.i.i96 = getelementptr inbounds ptr, ptr %vtable.i.i.i95, i64 1 - %61 = load ptr, ptr %vfn.i.i.i96, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90: ; preds = %invoke.cont117 + %vtable.i.i.i91 = load ptr, ptr %60, align 8 + %vfn.i.i.i92 = getelementptr inbounds ptr, ptr %vtable.i.i.i91, i64 1 + %61 = load ptr, ptr %vfn.i.i.i92, align 8 call void %61(ptr noundef nonnull align 8 dereferenceable(128) %60) #23 - br label %_ZN7testing7MessageD2Ev.exit97 + br label %_ZN7testing7MessageD2Ev.exit93 -_ZN7testing7MessageD2Ev.exit97: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94 +_ZN7testing7MessageD2Ev.exit93: ; preds = %invoke.cont117, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i90 store ptr null, ptr %ref.tmp108, align 8 br label %if.end120 @@ -37978,52 +37976,52 @@ lpad116: ; preds = %invoke.cont115 ehcleanup119: ; preds = %lpad116, %lpad112 %.pn10 = phi { ptr, i32 } [ %64, %lpad116 ], [ %63, %lpad112 ] %65 = load ptr, ptr %ref.tmp108, align 8 - %cmp.not.i.i98 = icmp eq ptr %65, null - br i1 %cmp.not.i.i98, label %_ZN7testing7MessageD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 + %cmp.not.i.i94 = icmp eq ptr %65, null + br i1 %cmp.not.i.i94, label %_ZN7testing7MessageD2Ev.exit98, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99: ; preds = %ehcleanup119 - %vtable.i.i.i100 = load ptr, ptr %65, align 8 - %vfn.i.i.i101 = getelementptr inbounds ptr, ptr %vtable.i.i.i100, i64 1 - %66 = load ptr, ptr %vfn.i.i.i101, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95: ; preds = %ehcleanup119 + %vtable.i.i.i96 = load ptr, ptr %65, align 8 + %vfn.i.i.i97 = getelementptr inbounds ptr, ptr %vtable.i.i.i96, i64 1 + %66 = load ptr, ptr %vfn.i.i.i97, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #23 - br label %_ZN7testing7MessageD2Ev.exit102 + br label %_ZN7testing7MessageD2Ev.exit98 -_ZN7testing7MessageD2Ev.exit102: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i99 +_ZN7testing7MessageD2Ev.exit98: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i95 store ptr null, ptr %ref.tmp108, align 8 br label %ehcleanup121 -if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit97 - %message_.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 - %67 = load ptr, ptr %message_.i103, align 8 - %cmp.not.i.i104 = icmp eq ptr %67, null - br i1 %cmp.not.i.i104, label %_ZN7testing15AssertionResultD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 +if.end120: ; preds = %invoke.cont104, %_ZN7testing7MessageD2Ev.exit93 + %message_.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar102, i64 0, i32 1 + %67 = load ptr, ptr %message_.i99, align 8 + %cmp.not.i.i100 = icmp eq ptr %67, null + br i1 %cmp.not.i.i100, label %_ZN7testing15AssertionResultD2Ev.exit102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105: ; preds = %if.end120 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101: ; preds = %if.end120 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #23 call void @_ZdlPv(ptr noundef nonnull %67) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit106 + br label %_ZN7testing15AssertionResultD2Ev.exit102 -_ZN7testing15AssertionResultD2Ev.exit106: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i105 - store ptr null, ptr %message_.i103, align 8 - %q_.i.i107 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 - %68 = load ptr, ptr %q_.i.i107, align 8 - %tobool.not.i.i.i.i.i108 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i.i.i108, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, label %if.then.i.i.i.i.i109 +_ZN7testing15AssertionResultD2Ev.exit102: ; preds = %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i101 + store ptr null, ptr %message_.i99, align 8 + %q_.i.i103 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %via_param, i64 0, i32 1 + %68 = load ptr, ptr %q_.i.i103, align 8 + %tobool.not.i.i.i.i.i104 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i.i.i104, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, label %if.then.i.i.i.i.i105 -if.then.i.i.i.i.i109: ; preds = %_ZN7testing15AssertionResultD2Ev.exit106 +if.then.i.i.i.i.i105: ; preds = %_ZN7testing15AssertionResultD2Ev.exit102 call void @_ZdlPv(ptr noundef nonnull %68) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110: ; preds = %if.then.i.i.i.i.i109, %_ZN7testing15AssertionResultD2Ev.exit106 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106: ; preds = %if.then.i.i.i.i.i105, %_ZN7testing15AssertionResultD2Ev.exit102 %69 = load ptr, ptr %via_param, align 8 - %tobool.not.i.i.i1.i.i111 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i1.i.i111, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i112 + %tobool.not.i.i.i1.i.i107 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i1.i.i107, label %_ZNSt6vectorIdSaIdEED2Ev.exit, label %if.then.i.i.i2.i.i108 -if.then.i.i.i2.i.i112: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110 +if.then.i.i.i2.i.i108: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106 call void @_ZdlPv(ptr noundef nonnull %69) #24 br label %_ZNSt6vectorIdSaIdEED2Ev.exit -_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i110, %if.then.i.i.i2.i.i112 +_ZNSt6vectorIdSaIdEED2Ev.exit: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i106, %if.then.i.i.i2.i.i108 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) to label %invoke.cont124 unwind label %lpad21 @@ -38036,87 +38034,87 @@ invoke.cont124: ; preds = %_ZNSt6vectorIdSaIdE invoke.cont126: ; preds = %invoke.cont124 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %after, i8 0, i64 48, i1 false) invoke void @_ZN4absl21discrete_distributionImE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %after) - to label %invoke.cont128 unwind label %lpad.i.i115 + to label %invoke.cont128 unwind label %lpad.i.i111 -lpad.i.i115: ; preds = %invoke.cont126 +lpad.i.i111: ; preds = %invoke.cont126 %70 = landingpad { ptr, i32 } cleanup - %q_.i.i116 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %71 = load ptr, ptr %q_.i.i116, align 8 - %tobool.not.i.i.i.i.i117 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i.i.i117, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, label %if.then.i.i.i.i.i118 + %q_.i.i112 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %71 = load ptr, ptr %q_.i.i112, align 8 + %tobool.not.i.i.i.i.i113 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i.i.i113, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, label %if.then.i.i.i.i.i114 -if.then.i.i.i.i.i118: ; preds = %lpad.i.i115 +if.then.i.i.i.i.i114: ; preds = %lpad.i.i111 call void @_ZdlPv(ptr noundef nonnull %71) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119: ; preds = %if.then.i.i.i.i.i118, %lpad.i.i115 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115: ; preds = %if.then.i.i.i.i.i114, %lpad.i.i111 %72 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i120 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i1.i.i120, label %ehcleanup171, label %if.then.i.i.i2.i.i121 + %tobool.not.i.i.i1.i.i116 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i1.i.i116, label %ehcleanup171, label %if.then.i.i.i2.i.i117 -if.then.i.i.i2.i.i121: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 +if.then.i.i.i2.i.i117: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 call void @_ZdlPv(ptr noundef nonnull %72) #24 br label %ehcleanup171 invoke.cont128: ; preds = %invoke.cont126 - %73 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !1064 + %73 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1064 %74 = load ptr, ptr %before, align 8, !noalias !1064 - %sub.ptr.lhs.cast.i.i.i.i.i.i126 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i127 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i126, %sub.ptr.rhs.cast.i.i.i.i.i.i127 - %_M_finish.i4.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 - %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !1064 + %sub.ptr.lhs.cast.i.i.i.i.i.i122 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i123 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i.i.i.i.i124 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i122, %sub.ptr.rhs.cast.i.i.i.i.i.i123 + %_M_finish.i4.i.i.i.i.i125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %after, i64 0, i32 1 + %75 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !1064 %76 = load ptr, ptr %after, align 8, !noalias !1064 - %sub.ptr.lhs.cast.i5.i.i.i.i.i130 = ptrtoint ptr %75 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i131 = ptrtoint ptr %76 to i64 - %sub.ptr.sub.i7.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i130, %sub.ptr.rhs.cast.i6.i.i.i.i.i131 - %cmp.i.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i128, %sub.ptr.sub.i7.i.i.i.i.i132 - br i1 %cmp.i.i.i.i.i133, label %land.rhs.i.i.i.i.i134, label %if.then.i - -land.rhs.i.i.i.i.i134: ; preds = %invoke.cont128 - %cmp.not4.i.i.i.i.i.i.i.i.i135 = icmp eq ptr %74, %73 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i135, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136 - -for.body.i.i.i.i.i.i.i.i.i136: ; preds = %land.rhs.i.i.i.i.i134, %for.inc.i.i.i.i.i.i.i.i.i140 - %__first2.addr.06.i.i.i.i.i.i.i.i.i137 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i142, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %76, %land.rhs.i.i.i.i.i134 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i138 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i141, %for.inc.i.i.i.i.i.i.i.i.i140 ], [ %74, %land.rhs.i.i.i.i.i134 ] - %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, align 8, !noalias !1064 - %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, align 8, !noalias !1064 - %cmp1.i.i.i.i.i.i.i.i.i139 = fcmp une double %77, %78 - br i1 %cmp1.i.i.i.i.i.i.i.i.i139, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i140 - -for.inc.i.i.i.i.i.i.i.i.i140: ; preds = %for.body.i.i.i.i.i.i.i.i.i136 - %incdec.ptr.i.i.i.i.i.i.i.i.i141 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i138, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i142 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i137, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i143 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i141, %73 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i143, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i136, !llvm.loop !610 - -if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i136, %invoke.cont128 + %sub.ptr.lhs.cast.i5.i.i.i.i.i126 = ptrtoint ptr %75 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i127 = ptrtoint ptr %76 to i64 + %sub.ptr.sub.i7.i.i.i.i.i128 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i126, %sub.ptr.rhs.cast.i6.i.i.i.i.i127 + %cmp.i.i.i.i.i129 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i124, %sub.ptr.sub.i7.i.i.i.i.i128 + br i1 %cmp.i.i.i.i.i129, label %land.rhs.i.i.i.i.i130, label %if.then.i + +land.rhs.i.i.i.i.i130: ; preds = %invoke.cont128 + %cmp.not4.i.i.i.i.i.i.i.i.i131 = icmp eq ptr %74, %73 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i131, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132 + +for.body.i.i.i.i.i.i.i.i.i132: ; preds = %land.rhs.i.i.i.i.i130, %for.inc.i.i.i.i.i.i.i.i.i136 + %__first2.addr.06.i.i.i.i.i.i.i.i.i133 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i138, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %76, %land.rhs.i.i.i.i.i130 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i134 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i137, %for.inc.i.i.i.i.i.i.i.i.i136 ], [ %74, %land.rhs.i.i.i.i.i130 ] + %77 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, align 8, !noalias !1064 + %78 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, align 8, !noalias !1064 + %cmp1.i.i.i.i.i.i.i.i.i135 = fcmp une double %77, %78 + br i1 %cmp1.i.i.i.i.i.i.i.i.i135, label %if.then.i, label %for.inc.i.i.i.i.i.i.i.i.i136 + +for.inc.i.i.i.i.i.i.i.i.i136: ; preds = %for.body.i.i.i.i.i.i.i.i.i132 + %incdec.ptr.i.i.i.i.i.i.i.i.i137 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i134, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i138 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i133, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i139 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i137, %73 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i139, label %if.else.i, label %for.body.i.i.i.i.i.i.i.i.i132, !llvm.loop !610 + +if.then.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i132, %invoke.cont128 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129) to label %invoke.cont131 unwind label %lpad130 -if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i140, %land.rhs.i.i.i.i.i134 +if.else.i: ; preds = %for.inc.i.i.i.i.i.i.i.i.i136, %land.rhs.i.i.i.i.i130 invoke void @_ZN7testing8internal18CmpHelperOpFailureIN4absl21discrete_distributionImEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_S7_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar129, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after, ptr noundef nonnull @.str.99) to label %invoke.cont131 unwind label %lpad130 invoke.cont131: ; preds = %if.then.i, %if.else.i %79 = load i8, ptr %gtest_ar129, align 8 %80 = and i8 %79, 1 - %tobool.i146.not = icmp eq i8 %80, 0 - br i1 %tobool.i146.not, label %if.else134, label %if.end147 + %tobool.i142.not = icmp eq i8 %80, 0 + br i1 %tobool.i142.not, label %if.else134, label %if.end147 -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit102, %lpad109 - %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit102 ], [ %62, %lpad109 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit98, %lpad109 + %.pn10.pn = phi { ptr, i32 } [ %.pn10, %_ZN7testing7MessageD2Ev.exit98 ], [ %62, %lpad109 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar102) #23 br label %ehcleanup122 ehcleanup122: ; preds = %ehcleanup121, %lpad103 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup121 ], [ %58, %lpad103 ] call void @_ZN4absl21discrete_distributionImED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %via_param) #23 - br label %_ZNSt6vectorIdSaIdEED2Ev.exit150 + br label %_ZNSt6vectorIdSaIdEED2Ev.exit146 -_ZNSt6vectorIdSaIdEED2Ev.exit150: ; preds = %ehcleanup122, %lpad99, %lpad97 +_ZNSt6vectorIdSaIdEED2Ev.exit146: ; preds = %ehcleanup122, %lpad99, %lpad97 %.pn10.pn.pn.pn = phi { ptr, i32 } [ %.pn10.pn.pn, %ehcleanup122 ], [ %57, %lpad99 ], [ %56, %lpad97 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #24 br label %ehcleanup172 @@ -38126,7 +38124,7 @@ lpad125: ; preds = %invoke.cont124 cleanup br label %ehcleanup171 -lpad130: ; preds = %if.end.i.i180, %if.then.i.i191, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit170 +lpad130: ; preds = %if.end.i.i176, %if.then.i.i187, %if.else.i, %if.then.i, %_ZN7testing15AssertionResultD2Ev.exit166 %82 = landingpad { ptr, i32 } cleanup br label %ehcleanup170 @@ -38136,18 +38134,18 @@ if.else134: ; preds = %invoke.cont131 to label %invoke.cont137 unwind label %lpad136 invoke.cont137: ; preds = %if.else134 - %message_.i.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i151, align 8 - %cmp.i.i.not.i.i152 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i152, label %invoke.cont140, label %cond.true.i.i153 + %message_.i.i147 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i147, align 8 + %cmp.i.i.not.i.i148 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i148, label %invoke.cont140, label %cond.true.i.i149 -cond.true.i.i153: ; preds = %invoke.cont137 - %call4.i.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 +cond.true.i.i149: ; preds = %invoke.cont137 + %call4.i.i150 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #23 br label %invoke.cont140 -invoke.cont140: ; preds = %cond.true.i.i153, %invoke.cont137 - %cond.i.i155 = phi ptr [ %call4.i.i154, %cond.true.i.i153 ], [ @.str, %invoke.cont137 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i155) +invoke.cont140: ; preds = %cond.true.i.i149, %invoke.cont137 + %cond.i.i151 = phi ptr [ %call4.i.i150, %cond.true.i.i149 ], [ @.str, %invoke.cont137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %cond.i.i151) to label %invoke.cont142 unwind label %lpad139 invoke.cont142: ; preds = %invoke.cont140 @@ -38157,17 +38155,17 @@ invoke.cont142: ; preds = %invoke.cont140 invoke.cont144: ; preds = %invoke.cont142 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp138) #23 %84 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i157 = icmp eq ptr %84, null - br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i153 = icmp eq ptr %84, null + br i1 %cmp.not.i.i153, label %_ZN7testing7MessageD2Ev.exit157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont144 - %vtable.i.i.i159 = load ptr, ptr %84, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %85 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154: ; preds = %invoke.cont144 + %vtable.i.i.i155 = load ptr, ptr %84, align 8 + %vfn.i.i.i156 = getelementptr inbounds ptr, ptr %vtable.i.i.i155, i64 1 + %85 = load ptr, ptr %vfn.i.i.i156, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #23 - br label %_ZN7testing7MessageD2Ev.exit161 + br label %_ZN7testing7MessageD2Ev.exit157 -_ZN7testing7MessageD2Ev.exit161: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 +_ZN7testing7MessageD2Ev.exit157: ; preds = %invoke.cont144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i154 store ptr null, ptr %ref.tmp135, align 8 br label %if.end147 @@ -38190,84 +38188,84 @@ lpad143: ; preds = %invoke.cont142 ehcleanup146: ; preds = %lpad143, %lpad139 %.pn15 = phi { ptr, i32 } [ %88, %lpad143 ], [ %87, %lpad139 ] %89 = load ptr, ptr %ref.tmp135, align 8 - %cmp.not.i.i162 = icmp eq ptr %89, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i158 = icmp eq ptr %89, null + br i1 %cmp.not.i.i158, label %_ZN7testing7MessageD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup146 - %vtable.i.i.i164 = load ptr, ptr %89, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %90 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159: ; preds = %ehcleanup146 + %vtable.i.i.i160 = load ptr, ptr %89, align 8 + %vfn.i.i.i161 = getelementptr inbounds ptr, ptr %vtable.i.i.i160, i64 1 + %90 = load ptr, ptr %vfn.i.i.i161, align 8 call void %90(ptr noundef nonnull align 8 dereferenceable(128) %89) #23 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit162 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit162: ; preds = %ehcleanup146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i159 store ptr null, ptr %ref.tmp135, align 8 br label %ehcleanup148 -if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit161 - %message_.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 - %91 = load ptr, ptr %message_.i167, align 8 - %cmp.not.i.i168 = icmp eq ptr %91, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +if.end147: ; preds = %invoke.cont131, %_ZN7testing7MessageD2Ev.exit157 + %message_.i163 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar129, i64 0, i32 1 + %91 = load ptr, ptr %message_.i163, align 8 + %cmp.not.i.i164 = icmp eq ptr %91, null + br i1 %cmp.not.i.i164, label %_ZN7testing15AssertionResultD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end147 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %if.end147 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #23 call void @_ZdlPv(ptr noundef nonnull %91) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit166 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i167, align 8 +_ZN7testing15AssertionResultD2Ev.exit166: ; preds = %if.end147, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 + store ptr null, ptr %message_.i163, align 8 %call150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4abslrsIcSt11char_traitsIcEmEERSt13basic_istreamIT_T0_ES7_RNS_21discrete_distributionIT1_EE(ptr noundef nonnull align 8 dereferenceable(16) %ss, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont149 unwind label %lpad130 -invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170 - %92 = load ptr, ptr %_M_finish.i.i.i.i, align 8, !noalias !1067 +invoke.cont149: ; preds = %_ZN7testing15AssertionResultD2Ev.exit166 + %92 = load ptr, ptr %_M_finish.i.i.i, align 8, !noalias !1067 %93 = load ptr, ptr %before, align 8, !noalias !1067 - %sub.ptr.lhs.cast.i.i.i.i.i.i172 = ptrtoint ptr %92 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i173 = ptrtoint ptr %93 to i64 - %sub.ptr.sub.i.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i172, %sub.ptr.rhs.cast.i.i.i.i.i.i173 - %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i129, align 8, !noalias !1067 + %sub.ptr.lhs.cast.i.i.i.i.i.i168 = ptrtoint ptr %92 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i169 = ptrtoint ptr %93 to i64 + %sub.ptr.sub.i.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i.i169 + %94 = load ptr, ptr %_M_finish.i4.i.i.i.i.i125, align 8, !noalias !1067 %95 = load ptr, ptr %after, align 8, !noalias !1067 - %sub.ptr.lhs.cast.i5.i.i.i.i.i176 = ptrtoint ptr %94 to i64 - %sub.ptr.rhs.cast.i6.i.i.i.i.i177 = ptrtoint ptr %95 to i64 - %sub.ptr.sub.i7.i.i.i.i.i178 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i176, %sub.ptr.rhs.cast.i6.i.i.i.i.i177 - %cmp.i.i.i.i.i179 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i174, %sub.ptr.sub.i7.i.i.i.i.i178 - br i1 %cmp.i.i.i.i.i179, label %land.rhs.i.i.i.i.i181, label %if.end.i.i180 - -land.rhs.i.i.i.i.i181: ; preds = %invoke.cont149 - %cmp.not4.i.i.i.i.i.i.i.i.i182 = icmp eq ptr %93, %92 - br i1 %cmp.not4.i.i.i.i.i.i.i.i.i182, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183 - -for.body.i.i.i.i.i.i.i.i.i183: ; preds = %land.rhs.i.i.i.i.i181, %for.inc.i.i.i.i.i.i.i.i.i187 - %__first2.addr.06.i.i.i.i.i.i.i.i.i184 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i189, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %95, %land.rhs.i.i.i.i.i181 ] - %__first1.addr.05.i.i.i.i.i.i.i.i.i185 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i188, %for.inc.i.i.i.i.i.i.i.i.i187 ], [ %93, %land.rhs.i.i.i.i.i181 ] - %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, align 8, !noalias !1067 - %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, align 8, !noalias !1067 - %cmp1.i.i.i.i.i.i.i.i.i186 = fcmp oeq double %96, %97 - br i1 %cmp1.i.i.i.i.i.i.i.i.i186, label %for.inc.i.i.i.i.i.i.i.i.i187, label %if.end.i.i180 - -for.inc.i.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i.i.i.i.i.i183 - %incdec.ptr.i.i.i.i.i.i.i.i.i188 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i185, i64 1 - %incdec.ptr2.i.i.i.i.i.i.i.i.i189 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i184, i64 1 - %cmp.not.i.i.i.i.i.i.i.i.i190 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i188, %92 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i190, label %if.then.i.i191, label %for.body.i.i.i.i.i.i.i.i.i183, !llvm.loop !610 - -if.then.i.i191: ; preds = %for.inc.i.i.i.i.i.i.i.i.i187, %land.rhs.i.i.i.i.i181 + %sub.ptr.lhs.cast.i5.i.i.i.i.i172 = ptrtoint ptr %94 to i64 + %sub.ptr.rhs.cast.i6.i.i.i.i.i173 = ptrtoint ptr %95 to i64 + %sub.ptr.sub.i7.i.i.i.i.i174 = sub i64 %sub.ptr.lhs.cast.i5.i.i.i.i.i172, %sub.ptr.rhs.cast.i6.i.i.i.i.i173 + %cmp.i.i.i.i.i175 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i170, %sub.ptr.sub.i7.i.i.i.i.i174 + br i1 %cmp.i.i.i.i.i175, label %land.rhs.i.i.i.i.i177, label %if.end.i.i176 + +land.rhs.i.i.i.i.i177: ; preds = %invoke.cont149 + %cmp.not4.i.i.i.i.i.i.i.i.i178 = icmp eq ptr %93, %92 + br i1 %cmp.not4.i.i.i.i.i.i.i.i.i178, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179 + +for.body.i.i.i.i.i.i.i.i.i179: ; preds = %land.rhs.i.i.i.i.i177, %for.inc.i.i.i.i.i.i.i.i.i183 + %__first2.addr.06.i.i.i.i.i.i.i.i.i180 = phi ptr [ %incdec.ptr2.i.i.i.i.i.i.i.i.i185, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %95, %land.rhs.i.i.i.i.i177 ] + %__first1.addr.05.i.i.i.i.i.i.i.i.i181 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i184, %for.inc.i.i.i.i.i.i.i.i.i183 ], [ %93, %land.rhs.i.i.i.i.i177 ] + %96 = load double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, align 8, !noalias !1067 + %97 = load double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, align 8, !noalias !1067 + %cmp1.i.i.i.i.i.i.i.i.i182 = fcmp oeq double %96, %97 + br i1 %cmp1.i.i.i.i.i.i.i.i.i182, label %for.inc.i.i.i.i.i.i.i.i.i183, label %if.end.i.i176 + +for.inc.i.i.i.i.i.i.i.i.i183: ; preds = %for.body.i.i.i.i.i.i.i.i.i179 + %incdec.ptr.i.i.i.i.i.i.i.i.i184 = getelementptr inbounds double, ptr %__first1.addr.05.i.i.i.i.i.i.i.i.i181, i64 1 + %incdec.ptr2.i.i.i.i.i.i.i.i.i185 = getelementptr inbounds double, ptr %__first2.addr.06.i.i.i.i.i.i.i.i.i180, i64 1 + %cmp.not.i.i.i.i.i.i.i.i.i186 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i.i184, %92 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i186, label %if.then.i.i187, label %for.body.i.i.i.i.i.i.i.i.i179, !llvm.loop !610 + +if.then.i.i187: ; preds = %for.inc.i.i.i.i.i.i.i.i.i183, %land.rhs.i.i.i.i.i177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151) to label %invoke.cont152 unwind label %lpad130 -if.end.i.i180: ; preds = %for.body.i.i.i.i.i.i.i.i.i183, %invoke.cont149 +if.end.i.i176: ; preds = %for.body.i.i.i.i.i.i.i.i.i179, %invoke.cont149 invoke void @_ZN7testing8internal18CmpHelperEQFailureIN4absl21discrete_distributionImEES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.98, ptr noundef nonnull align 8 dereferenceable(48) %before, ptr noundef nonnull align 8 dereferenceable(48) %after) to label %invoke.cont152 unwind label %lpad130 -invoke.cont152: ; preds = %if.then.i.i191, %if.end.i.i180 +invoke.cont152: ; preds = %if.then.i.i187, %if.end.i.i176 %98 = load i8, ptr %gtest_ar151, align 8 %99 = and i8 %98, 1 - %tobool.i195.not = icmp eq i8 %99, 0 - br i1 %tobool.i195.not, label %if.else155, label %if.end168 + %tobool.i191.not = icmp eq i8 %99, 0 + br i1 %tobool.i191.not, label %if.else155, label %if.end168 -ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit166, %lpad136 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit166 ], [ %86, %lpad136 ] +ehcleanup148: ; preds = %_ZN7testing7MessageD2Ev.exit162, %lpad136 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit162 ], [ %86, %lpad136 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar129) #23 br label %ehcleanup170 @@ -38276,18 +38274,18 @@ if.else155: ; preds = %invoke.cont152 to label %invoke.cont158 unwind label %lpad157 invoke.cont158: ; preds = %if.else155 - %message_.i.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %100 = load ptr, ptr %message_.i.i196, align 8 - %cmp.i.i.not.i.i197 = icmp eq ptr %100, null - br i1 %cmp.i.i.not.i.i197, label %invoke.cont161, label %cond.true.i.i198 + %message_.i.i192 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %100 = load ptr, ptr %message_.i.i192, align 8 + %cmp.i.i.not.i.i193 = icmp eq ptr %100, null + br i1 %cmp.i.i.not.i.i193, label %invoke.cont161, label %cond.true.i.i194 -cond.true.i.i198: ; preds = %invoke.cont158 - %call4.i.i199 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 +cond.true.i.i194: ; preds = %invoke.cont158 + %call4.i.i195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %100) #23 br label %invoke.cont161 -invoke.cont161: ; preds = %cond.true.i.i198, %invoke.cont158 - %cond.i.i200 = phi ptr [ %call4.i.i199, %cond.true.i.i198 ], [ @.str, %invoke.cont158 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i200) +invoke.cont161: ; preds = %cond.true.i.i194, %invoke.cont158 + %cond.i.i196 = phi ptr [ %call4.i.i195, %cond.true.i.i194 ], [ @.str, %invoke.cont158 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %cond.i.i196) to label %invoke.cont163 unwind label %lpad160 invoke.cont163: ; preds = %invoke.cont161 @@ -38297,17 +38295,17 @@ invoke.cont163: ; preds = %invoke.cont161 invoke.cont165: ; preds = %invoke.cont163 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159) #23 %101 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i202 = icmp eq ptr %101, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i198 = icmp eq ptr %101, null + br i1 %cmp.not.i.i198, label %_ZN7testing7MessageD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %invoke.cont165 - %vtable.i.i.i204 = load ptr, ptr %101, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %102 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199: ; preds = %invoke.cont165 + %vtable.i.i.i200 = load ptr, ptr %101, align 8 + %vfn.i.i.i201 = getelementptr inbounds ptr, ptr %vtable.i.i.i200, i64 1 + %102 = load ptr, ptr %vfn.i.i.i201, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #23 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit202 -_ZN7testing7MessageD2Ev.exit206: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit202: ; preds = %invoke.cont165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i199 store ptr null, ptr %ref.tmp156, align 8 br label %if.end168 @@ -38330,94 +38328,94 @@ lpad164: ; preds = %invoke.cont163 ehcleanup167: ; preds = %lpad164, %lpad160 %.pn18 = phi { ptr, i32 } [ %105, %lpad164 ], [ %104, %lpad160 ] %106 = load ptr, ptr %ref.tmp156, align 8 - %cmp.not.i.i207 = icmp eq ptr %106, null - br i1 %cmp.not.i.i207, label %_ZN7testing7MessageD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 + %cmp.not.i.i203 = icmp eq ptr %106, null + br i1 %cmp.not.i.i203, label %_ZN7testing7MessageD2Ev.exit207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208: ; preds = %ehcleanup167 - %vtable.i.i.i209 = load ptr, ptr %106, align 8 - %vfn.i.i.i210 = getelementptr inbounds ptr, ptr %vtable.i.i.i209, i64 1 - %107 = load ptr, ptr %vfn.i.i.i210, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204: ; preds = %ehcleanup167 + %vtable.i.i.i205 = load ptr, ptr %106, align 8 + %vfn.i.i.i206 = getelementptr inbounds ptr, ptr %vtable.i.i.i205, i64 1 + %107 = load ptr, ptr %vfn.i.i.i206, align 8 call void %107(ptr noundef nonnull align 8 dereferenceable(128) %106) #23 - br label %_ZN7testing7MessageD2Ev.exit211 + br label %_ZN7testing7MessageD2Ev.exit207 -_ZN7testing7MessageD2Ev.exit211: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i208 +_ZN7testing7MessageD2Ev.exit207: ; preds = %ehcleanup167, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i204 store ptr null, ptr %ref.tmp156, align 8 br label %ehcleanup169 -if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit206 - %message_.i212 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %108 = load ptr, ptr %message_.i212, align 8 - %cmp.not.i.i213 = icmp eq ptr %108, null - br i1 %cmp.not.i.i213, label %_ZN7testing15AssertionResultD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 +if.end168: ; preds = %invoke.cont152, %_ZN7testing7MessageD2Ev.exit202 + %message_.i208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %108 = load ptr, ptr %message_.i208, align 8 + %cmp.not.i.i209 = icmp eq ptr %108, null + br i1 %cmp.not.i.i209, label %_ZN7testing15AssertionResultD2Ev.exit211, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214: ; preds = %if.end168 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %if.end168 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #23 call void @_ZdlPv(ptr noundef nonnull %108) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit215 + br label %_ZN7testing15AssertionResultD2Ev.exit211 -_ZN7testing15AssertionResultD2Ev.exit215: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i214 - store ptr null, ptr %message_.i212, align 8 - %q_.i.i216 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 - %109 = load ptr, ptr %q_.i.i216, align 8 - %tobool.not.i.i.i.i.i217 = icmp eq ptr %109, null - br i1 %tobool.not.i.i.i.i.i217, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, label %if.then.i.i.i.i.i218 +_ZN7testing15AssertionResultD2Ev.exit211: ; preds = %if.end168, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + store ptr null, ptr %message_.i208, align 8 + %q_.i.i212 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %after, i64 0, i32 1 + %109 = load ptr, ptr %q_.i.i212, align 8 + %tobool.not.i.i.i.i.i213 = icmp eq ptr %109, null + br i1 %tobool.not.i.i.i.i.i213, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, label %if.then.i.i.i.i.i214 -if.then.i.i.i.i.i218: ; preds = %_ZN7testing15AssertionResultD2Ev.exit215 +if.then.i.i.i.i.i214: ; preds = %_ZN7testing15AssertionResultD2Ev.exit211 call void @_ZdlPv(ptr noundef nonnull %109) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219: ; preds = %if.then.i.i.i.i.i218, %_ZN7testing15AssertionResultD2Ev.exit215 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215: ; preds = %if.then.i.i.i.i.i214, %_ZN7testing15AssertionResultD2Ev.exit211 %110 = load ptr, ptr %after, align 8 - %tobool.not.i.i.i1.i.i220 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i1.i.i220, label %_ZN4absl21discrete_distributionImED2Ev.exit222, label %if.then.i.i.i2.i.i221 + %tobool.not.i.i.i1.i.i216 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i1.i.i216, label %_ZN4absl21discrete_distributionImED2Ev.exit218, label %if.then.i.i.i2.i.i217 -if.then.i.i.i2.i.i221: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219 +if.then.i.i.i2.i.i217: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215 call void @_ZdlPv(ptr noundef nonnull %110) #24 - br label %_ZN4absl21discrete_distributionImED2Ev.exit222 + br label %_ZN4absl21discrete_distributionImED2Ev.exit218 -_ZN4absl21discrete_distributionImED2Ev.exit222: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i219, %if.then.i.i.i2.i.i221 +_ZN4absl21discrete_distributionImED2Ev.exit218: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i215, %if.then.i.i.i2.i.i217 call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 - %111 = load ptr, ptr %q_.i.i33, align 8 - %tobool.not.i.i.i.i.i224 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i.i.i224, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, label %if.then.i.i.i.i.i225 + %111 = load ptr, ptr %q_.i235, align 8 + %tobool.not.i.i.i.i.i220 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i.i.i220, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, label %if.then.i.i.i.i.i221 -if.then.i.i.i.i.i225: ; preds = %_ZN4absl21discrete_distributionImED2Ev.exit222 +if.then.i.i.i.i.i221: ; preds = %_ZN4absl21discrete_distributionImED2Ev.exit218 call void @_ZdlPv(ptr noundef nonnull %111) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226: ; preds = %if.then.i.i.i.i.i225, %_ZN4absl21discrete_distributionImED2Ev.exit222 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222: ; preds = %if.then.i.i.i.i.i221, %_ZN4absl21discrete_distributionImED2Ev.exit218 %112 = load ptr, ptr %before, align 8 - %tobool.not.i.i.i1.i.i227 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i1.i.i227, label %_ZN4absl21discrete_distributionImED2Ev.exit229, label %if.then.i.i.i2.i.i228 + %tobool.not.i.i.i1.i.i223 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i1.i.i223, label %_ZN4absl21discrete_distributionImED2Ev.exit225, label %if.then.i.i.i2.i.i224 -if.then.i.i.i2.i.i228: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226 +if.then.i.i.i2.i.i224: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222 call void @_ZdlPv(ptr noundef nonnull %112) #24 - br label %_ZN4absl21discrete_distributionImED2Ev.exit229 + br label %_ZN4absl21discrete_distributionImED2Ev.exit225 -_ZN4absl21discrete_distributionImED2Ev.exit229: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i226, %if.then.i.i.i2.i.i228 - %q_.i.i230 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 - %113 = load ptr, ptr %q_.i.i230, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %113, null - br i1 %tobool.not.i.i.i.i.i231, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, label %if.then.i.i.i.i.i232 +_ZN4absl21discrete_distributionImED2Ev.exit225: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i222, %if.then.i.i.i2.i.i224 + %q_.i.i226 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %empty, i64 0, i32 1 + %113 = load ptr, ptr %q_.i.i226, align 8 + %tobool.not.i.i.i.i.i227 = icmp eq ptr %113, null + br i1 %tobool.not.i.i.i.i.i227, label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, label %if.then.i.i.i.i.i228 -if.then.i.i.i.i.i232: ; preds = %_ZN4absl21discrete_distributionImED2Ev.exit229 +if.then.i.i.i.i.i228: ; preds = %_ZN4absl21discrete_distributionImED2Ev.exit225 call void @_ZdlPv(ptr noundef nonnull %113) #24 - br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 + br label %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 -_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233: ; preds = %if.then.i.i.i.i.i232, %_ZN4absl21discrete_distributionImED2Ev.exit229 +_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229: ; preds = %if.then.i.i.i.i.i228, %_ZN4absl21discrete_distributionImED2Ev.exit225 %114 = load ptr, ptr %empty, align 8 - %tobool.not.i.i.i1.i.i234 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i1.i.i234, label %_ZN4absl21discrete_distributionImED2Ev.exit236, label %if.then.i.i.i2.i.i235 + %tobool.not.i.i.i1.i.i230 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i1.i.i230, label %_ZN4absl21discrete_distributionImED2Ev.exit232, label %if.then.i.i.i2.i.i231 -if.then.i.i.i2.i.i235: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233 +if.then.i.i.i2.i.i231: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229 call void @_ZdlPv(ptr noundef nonnull %114) #24 - br label %_ZN4absl21discrete_distributionImED2Ev.exit236 + br label %_ZN4absl21discrete_distributionImED2Ev.exit232 -_ZN4absl21discrete_distributionImED2Ev.exit236: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i233, %if.then.i.i.i2.i.i235 +_ZN4absl21discrete_distributionImED2Ev.exit232: ; preds = %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i229, %if.then.i.i.i2.i.i231 ret void -ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit211, %lpad157 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit211 ], [ %103, %lpad157 ] +ehcleanup169: ; preds = %_ZN7testing7MessageD2Ev.exit207, %lpad157 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZN7testing7MessageD2Ev.exit207 ], [ %103, %lpad157 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #23 br label %ehcleanup170 @@ -38426,18 +38424,18 @@ ehcleanup170: ; preds = %ehcleanup169, %ehcl call void @_ZN4absl21discrete_distributionImED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %after) #23 br label %ehcleanup171 -ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i121, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119, %ehcleanup170 - %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i121 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i119 ] +ehcleanup171: ; preds = %lpad125, %if.then.i.i.i2.i.i117, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115, %ehcleanup170 + %.pn18.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn, %ehcleanup170 ], [ %81, %lpad125 ], [ %70, %if.then.i.i.i2.i.i117 ], [ %70, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i115 ] call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %ss) #23 br label %ehcleanup172 -ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit150, %ehcleanup77, %ehcleanup49, %lpad21 - %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit150 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] +ehcleanup172: ; preds = %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i, %ehcleanup171, %_ZNSt6vectorIdSaIdEED2Ev.exit146, %ehcleanup77, %ehcleanup49, %lpad21 + %.pn18.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn, %ehcleanup171 ], [ %22, %lpad21 ], [ %.pn10.pn.pn.pn, %_ZNSt6vectorIdSaIdEED2Ev.exit146 ], [ %.pn7.pn, %ehcleanup77 ], [ %.pn4.pn, %ehcleanup49 ], [ %45, %_ZNSt12_Vector_baseIdSaIdEED2Ev.exit.i ] call void @_ZN4absl21discrete_distributionImED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %before) #23 br label %ehcleanup173 -ehcleanup173: ; preds = %lpad.i.i.i, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34, %eh.resume.sink.split.i.i, %lpad, %ehcleanup172, %ehcleanup17 - %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i.i ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i.i34 ], [ %16, %eh.resume.sink.split.i.i ] +ehcleanup173: ; preds = %lpad.i.i233, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236, %eh.resume.sink.split.i, %lpad, %ehcleanup172, %ehcleanup17 + %.pn18.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn18.pn.pn.pn.pn, %ehcleanup172 ], [ %.pn.pn, %ehcleanup17 ], [ %5, %lpad ], [ %15, %lpad.i.i233 ], [ %16, %_ZNSt6vectorISt4pairIdmESaIS1_EED2Ev.exit.i236 ], [ %16, %eh.resume.sink.split.i ] call void @_ZN4absl21discrete_distributionImED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %empty) #23 br label %common.resume } @@ -38449,8 +38447,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 3 - %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i if.then.i.i.i: ; preds = %entry @@ -38465,7 +38462,7 @@ _ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %entry br i1 %cmp.not.i.i.i, label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i: ; preds = %_ZNSt6vectorIdSaIdEE17_S_check_init_lenEmRKS0_.exit.i.i - %add.ptr3.i.i = getelementptr inbounds double, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr3.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage4.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr3.i.i, ptr %_M_end_of_storage4.i.i, align 8 br label %invoke.cont @@ -38476,7 +38473,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdE call5.i.i.i.i.noexc.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i, ptr %this, align 8 - %add.ptr.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i.i, ptr %_M_end_of_storage.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -38490,9 +38487,10 @@ lpad.i: ; preds = %if.then.i.i.i.i.i.i br i1 %tobool.not.i.i.i, label %eh.resume, label %eh.resume.sink.split invoke.cont: ; preds = %call5.i.i.i.i.noexc.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i - %add.ptr5.i.i = phi ptr [ %add.ptr3.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %add.ptr.i.i, %call5.i.i.i.i.noexc.i ] + %cond.i5.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.thread.i.i ], [ %call5.i.i.i.i1.i, %call5.i.i.i.i.noexc.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 - store ptr %add.ptr5.i.i, ptr %_M_finish.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %q_, i8 0, i64 24, i1 false) invoke void @_ZN4absl21discrete_distributionImE10param_type4initEv(ptr noundef nonnull align 8 dereferenceable(48) %this) @@ -38884,30 +38882,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i24, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i22 = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store double %3, ptr %add.ptr.i.i22, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %p.sroa.0.267, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i %tobool.not.i.i.i = icmp eq ptr %p.sroa.0.267, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %p.sroa.0.267) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds double, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i, %if.then.i20 - %add.ptr.i.i22.pn = phi ptr [ %add.ptr.i.i22, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.8.165, %if.then.i20 ] %p.sroa.15.2 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.15.166, %if.then.i20 ] %p.sroa.0.3 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i ], [ %p.sroa.0.267, %if.then.i20 ] - %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i22.pn, i64 1 + %p.sroa.8.2 = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn, i64 1 %inc = add nuw i64 %i.068, 1 %4 = load i64, ptr %n, align 8 %cmp7 = icmp ult i64 %inc, %4 @@ -39005,7 +39004,7 @@ if.then: ; preds = %entry %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 2 %2 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %cmp.not.i.i = icmp eq ptr %0, %2 - br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i, label %if.then.i.i + br i1 %cmp.not.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.then store double 1.000000e+00, ptr %0, align 8 @@ -39014,18 +39013,18 @@ if.then.i.i: ; preds = %if.then store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i, align 8 br label %_ZNSt6vectorIdSaIdEE9push_backEOd.exit -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then %call5.i.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #25 store double 1.000000e+00, ptr %call5.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i = getelementptr inbounds double, ptr %call5.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i store ptr %call5.i.i.i.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_end_of_storage.i.i, align 8 @@ -39073,7 +39072,7 @@ _ZNKSt6vectorISt4pairIdmESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els tail call void @llvm.assume(i1 %cmp.not.i.i.i) %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i, 4 %call5.i.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #25 - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i store double 1.000000e+00, ptr %add.ptr.i.i, align 8 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair", ptr %call5.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i, i32 1 store i64 0, ptr %second.i.i.i.i.i, align 8 @@ -39181,8 +39180,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %_ZNSt6vectorIdSaIdEEC2ERKS1_.exit _ZNSt6vectorIdSaIdEEC2ERKS1_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 3 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %q_ = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %this, i64 0, i32 1 %q_3 = getelementptr inbounds %"class.absl::discrete_distribution::param_type", ptr %0, i64 0, i32 1 @@ -40860,23 +40858,24 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i13.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store double %add.i.i, ptr %add.ptr.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %unary20, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -43935,23 +43934,24 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i13.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store double %add.i.i, ptr %add.ptr.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %unary20, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -44414,23 +44414,24 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i13.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store double %add.i.i, ptr %add.ptr.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %unary20, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -44893,23 +44894,24 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i13.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store double %add.i.i, ptr %add.ptr.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %unary20, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -45372,23 +45374,24 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i13.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store double %add.i.i, ptr %add.ptr.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %unary20, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -45851,23 +45854,24 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i13.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store double %add.i.i, ptr %add.ptr.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %unary20, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -46330,23 +46334,24 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i13.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store double %add.i.i, ptr %add.ptr.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %unary20, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -46809,23 +46814,24 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i13.i.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i store double %add.i.i, ptr %add.ptr.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i21.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i, label %if.then.i20.i.i.i.i.i -if.then.i21.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +if.then.i20.i.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #24 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i, ptr %unary20, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i.i, i64 %cond.i.i.i.i.i.i diff --git a/bench/abseil-cpp/optimized/duration_test.cc.ll b/bench/abseil-cpp/optimized/duration_test.cc.ll index 5732861a875..b909795af60 100644 --- a/bench/abseil-cpp/optimized/duration_test.cc.ll +++ b/bench/abseil-cpp/optimized/duration_test.cc.ll @@ -128038,7 +128038,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.961, ptr %call5.i.i.i.i2.i, align 8 @@ -129152,7 +129152,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.975, ptr %call5.i.i.i.i2.i, align 8 @@ -136310,23 +136310,24 @@ _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i9, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %2, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %5) #24 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i -_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i5, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/endian_test.cc.ll b/bench/abseil-cpp/optimized/endian_test.cc.ll index a97b065c0b6..9f96596144e 100644 --- a/bench/abseil-cpp/optimized/endian_test.cc.ll +++ b/bench/abseil-cpp/optimized/endian_test.cc.ll @@ -395,30 +395,31 @@ _ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16alloc %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorItSaItEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i7.i, %_ZNSt16allocator_traitsISaItEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i16, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i16 %conv3.i, ptr %add.ptr.i.i.i.i, align 2, !noalias !5 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 2 %cond.i10.i.i.i.i, ptr align 2 %ref.tmp.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false), !noalias !5 - br label %_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit.i.i.i.i +_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseItSaItEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit19.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0) #17, !noalias !5 br label %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorItSaItEE11_S_relocateEPtS2_S2_RS0_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds i16, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %for.inc.i for.inc.i: ; preds = %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i, %if.then.i.i6.i - %add.ptr.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i, %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i1113.i, %if.then.i.i6.i ] + %add.ptr.i.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i, %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i ], [ %incdec.ptr.i.i.i1113.i, %if.then.i.i6.i ] %ref.tmp.sroa.0.1 = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i ], [ %ref.tmp.sroa.0.0, %if.then.i.i6.i ] %1 = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorItSaItEE17_M_realloc_insertIJtEEEvN9__gnu_cxx17__normal_iteratorIPtS1_EEDpOT_.exit.i.i.i ], [ %0, %if.then.i.i6.i ] - %ref.tmp.sroa.7.0 = getelementptr inbounds i16, ptr %add.ptr.i.i.i.i.pn, i64 1 + %ref.tmp.sroa.7.0 = getelementptr inbounds i16, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 1 %inc.i = add nuw nsw i32 %i.014.i, 1 %exitcond.i = icmp eq i32 %inc.i, 65536 br i1 %exitcond.i, label %_ZN4absl12_GLOBAL__N_123GenerateAllUint16ValuesEv.exit, label %for.body.i, !llvm.loop !8 @@ -633,8 +634,8 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %cleanup.i store ptr null, ptr %message_.i.i.i, align 8 %incdec.ptr.i.i = getelementptr inbounds i16, ptr %it.sroa.0.033.i, i64 1 - %cmp.i.not.i = icmp eq ptr %it.sroa.0.033.i, %add.ptr.i.i.i.i.pn - %or.cond.i = or i1 %cmp.i.not.i, %tobool.i.not.i + %cmp.i.not.i = icmp eq ptr %it.sroa.0.033.i, %add.ptr.i.i.i.i.i.i.i.pn + %or.cond.i = select i1 %tobool.i.not.i, i1 true, i1 %cmp.i.not.i br i1 %or.cond.i, label %invoke.cont, label %for.body.i1, !llvm.loop !10 ehcleanup49.i: ; preds = %_ZN7testing7MessageD2Ev.exit27.i, %lpad.i2 @@ -1127,30 +1128,31 @@ _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16alloc %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i7.i, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %conv.i, ptr %add.ptr.i.i.i.i, align 4, !noalias !28 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %ref.tmp.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false), !noalias !28 - br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i.i +_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0) #17, !noalias !28 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %for.inc.i for.inc.i: ; preds = %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i, %if.then.i.i6.i - %add.ptr.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i ], [ %1, %if.then.i.i6.i ] + %add.ptr.i.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i ], [ %1, %if.then.i.i6.i ] %ref.tmp.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i ], [ %ref.tmp.sroa.13.0, %if.then.i.i6.i ] %ref.tmp.sroa.0.1 = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i.i ], [ %ref.tmp.sroa.0.0, %if.then.i.i6.i ] - %ref.tmp.sroa.8.0 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.pn, i64 1 + %ref.tmp.sroa.8.0 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 1 %inc.i = add nuw nsw i64 %i.011.i, 1 %exitcond.not.i = icmp eq i64 %inc.i, 1000000 br i1 %exitcond.not.i, label %_ZN4absl12_GLOBAL__N_122GenerateRandomIntegersIjEESt6vectorIT_SaIS3_EEm.exit, label %for.body.i, !llvm.loop !32 @@ -1368,7 +1370,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %cleanup.i store ptr null, ptr %message_.i.i.i, align 8 %incdec.ptr.i.i = getelementptr inbounds i32, ptr %it.sroa.0.033.i, i64 1 - %cmp.i.not.i = icmp eq ptr %it.sroa.0.033.i, %add.ptr.i.i.i.i.pn + %cmp.i.not.i = icmp eq ptr %it.sroa.0.033.i, %add.ptr.i.i.i.i.i.i.i.pn %or.cond.i = select i1 %tobool.i.not.i, i1 true, i1 %cmp.i.not.i br i1 %or.cond.i, label %invoke.cont, label %for.body.i1, !llvm.loop !33 @@ -1646,30 +1648,31 @@ _ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16alloc %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i7.i, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i64 %call.i, ptr %add.ptr.i.i.i.i, align 8, !noalias !36 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %ref.tmp.sroa.0.0, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false), !noalias !36 - br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i.i +_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0) #17, !noalias !36 br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %for.inc.i for.inc.i: ; preds = %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i, %if.then.i.i6.i - %add.ptr.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i ], [ %1, %if.then.i.i6.i ] + %add.ptr.i.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i ], [ %1, %if.then.i.i6.i ] %ref.tmp.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i ], [ %ref.tmp.sroa.13.0, %if.then.i.i6.i ] %ref.tmp.sroa.0.1 = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i ], [ %ref.tmp.sroa.0.0, %if.then.i.i6.i ] - %ref.tmp.sroa.8.0 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.pn, i64 1 + %ref.tmp.sroa.8.0 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 1 %inc.i = add nuw nsw i64 %i.011.i, 1 %exitcond.not.i = icmp eq i64 %inc.i, 1000000 br i1 %exitcond.not.i, label %_ZN4absl12_GLOBAL__N_122GenerateRandomIntegersImEESt6vectorIT_SaIS3_EEm.exit, label %for.body.i, !llvm.loop !39 @@ -1887,7 +1890,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %cleanup.i store ptr null, ptr %message_.i.i.i, align 8 %incdec.ptr.i.i = getelementptr inbounds i64, ptr %it.sroa.0.033.i, i64 1 - %cmp.i.not.i = icmp eq ptr %it.sroa.0.033.i, %add.ptr.i.i.i.i.pn + %cmp.i.not.i = icmp eq ptr %it.sroa.0.033.i, %add.ptr.i.i.i.i.i.i.i.pn %or.cond.i = select i1 %tobool.i.not.i, i1 true, i1 %cmp.i.not.i br i1 %or.cond.i, label %invoke.cont, label %for.body.i1, !llvm.loop !40 diff --git a/bench/abseil-cpp/optimized/examples_test.cc.ll b/bench/abseil-cpp/optimized/examples_test.cc.ll index d7b0c0eb4f0..d7802dfb27e 100644 --- a/bench/abseil-cpp/optimized/examples_test.cc.ll +++ b/bench/abseil-cpp/optimized/examples_test.cc.ll @@ -363,8 +363,8 @@ entry: call void @_ZN4absl15random_internal13randen_engineImE6reseedINS0_17RandenPoolSeedSeqEEEvRT_(ptr noundef nonnull align 8 dereferenceable(288) %gen, ptr noundef nonnull align 1 dereferenceable(1) %seeder.i.i) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %seeder.i.i) %call5.i.i.i.i2.i = call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #18 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(20) @constinit, i64 20, i1 false) + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 20 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %dist.i.i.i) store i64 0, ptr %dist.i.i.i, align 8 %range_.i.i.i.i.i.i = getelementptr inbounds %"class.absl::uniform_int_distribution::param_type", ptr %dist.i.i.i, i64 0, i32 1 @@ -446,7 +446,7 @@ invoke.cont21: ; preds = %_ZN4absl15random_in call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %lo.addr.i16) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %hi.addr.i17) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %base.addr.i) - invoke void @_ZSt7shuffleIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEERN4absl15random_internal17NonsecureURBGBaseINS8_13randen_engineImEENS8_17RandenPoolSeedSeqEEEEvT_SF_OT0_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i1.i, ptr noundef nonnull align 8 dereferenceable(288) %gen) + invoke void @_ZSt7shuffleIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEERN4absl15random_internal17NonsecureURBGBaseINS8_13randen_engineImEENS8_17RandenPoolSeedSeqEEEEvT_SF_OT0_(ptr nonnull %call5.i.i.i.i2.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(288) %gen) to label %_ZNSt6vectorIiSaIiEED2Ev.exit unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit25.loopexit.split-lp _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont21 @@ -2078,23 +2078,24 @@ _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i13, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %conv, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %6, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %6) #19 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i -_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i9, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -3422,8 +3423,7 @@ invoke.cont: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %__end to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %__begin to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 - %cmp.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i, label %if.then.i.invoke, label %if.end.i if.then.i.invoke: ; preds = %if.else.i.i, %invoke.cont @@ -3447,7 +3447,7 @@ _ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i: ; preds = %_ZNSt12_Vector %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %call5.i.i.i.i9, ptr %this, align 8 store ptr %call5.i.i.i.i9, ptr %_M_finish.i.i, align 8 - %add.ptr21.i = getelementptr inbounds i32, ptr %call5.i.i.i.i9, i64 %sub.ptr.div.i.i + %add.ptr21.i = getelementptr inbounds i8, ptr %call5.i.i.i.i9, i64 %sub.ptr.sub.i.i store ptr %add.ptr21.i, ptr %_M_end_of_storage.i.i, align 8 br label %_ZNSt6vectorIjSaIjEE7reserveEm.exit @@ -3503,23 +3503,24 @@ _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i14, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %3, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %6, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %6) #19 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i -_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i10, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/exception_safety_testing_test.cc.ll b/bench/abseil-cpp/optimized/exception_safety_testing_test.cc.ll index 63e6fc6ff1b..7206b58a3f1 100644 --- a/bench/abseil-cpp/optimized/exception_safety_testing_test.cc.ll +++ b/bench/abseil-cpp/optimized/exception_safety_testing_test.cc.ll @@ -35250,7 +35250,7 @@ for.body.i.i.i.i.preheader.i: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %this, i8 0, i64 24, i1 false) %call5.i.i.i.i5 = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #25 store ptr %call5.i.i.i.i5, ptr %this, align 8 - %add.ptr.i4 = getelementptr inbounds %"class.std::function.276", ptr %call5.i.i.i.i5, i64 1 + %add.ptr.i4 = getelementptr inbounds i8, ptr %call5.i.i.i.i5, i64 32 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i4, ptr %_M_end_of_storage.i, align 8 %_M_manager.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::_Function_base", ptr %call5.i.i.i.i5, i64 0, i32 1 @@ -36459,7 +36459,7 @@ entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %this, i8 0, i64 24, i1 false) %add.ptr.i = getelementptr inbounds %"class.std::function.306", ptr %__l.coerce0, i64 %__l.coerce1 %add.ptr.i.idx = shl nsw i64 %__l.coerce1, 5 - %cmp.i.i = icmp ugt i64 %__l.coerce1, 288230376151711743 + %cmp.i.i = icmp ugt i64 %add.ptr.i.idx, 9223372036854775776 br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i if.then.i.i: ; preds = %entry @@ -36471,7 +36471,13 @@ if.then.i.i: ; preds = %entry _ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i: ; preds = %entry %cmp.not.i.i = icmp eq i64 %__l.coerce1, 0 - br i1 %cmp.not.i.i, label %invoke.cont, label %for.body.i.i.i.i.preheader.i + br i1 %cmp.not.i.i, label %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i, label %for.body.i.i.i.i.preheader.i + +_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i + %add.ptr9.i = getelementptr inbounds i8, ptr null, i64 %add.ptr.i.idx + %_M_end_of_storage10.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 + store ptr %add.ptr9.i, ptr %_M_end_of_storage10.i, align 8 + br label %invoke.cont for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i %call5.i.i.i.i5 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i.idx) #25 @@ -36479,7 +36485,7 @@ for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8fun call5.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i store ptr %call5.i.i.i.i5, ptr %this, align 8 - %add.ptr.i4 = getelementptr inbounds %"class.std::function.306", ptr %call5.i.i.i.i5, i64 %__l.coerce1 + %add.ptr.i4 = getelementptr inbounds i8, ptr %call5.i.i.i.i5, i64 %add.ptr.i.idx %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i4, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -36553,8 +36559,8 @@ terminate.lpad.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i unreachable.i.i.i.i.i: ; preds = %invoke.cont3.i.i.i.i.i unreachable -invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i - %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] +invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i + %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_119FailsBasicGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %__cur.0.lcssa.i.i.i.i.i, ptr %_M_finish.i, align 8 ret void @@ -37444,7 +37450,7 @@ entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %this, i8 0, i64 24, i1 false) %add.ptr.i = getelementptr inbounds %"class.std::function.335", ptr %__l.coerce0, i64 %__l.coerce1 %add.ptr.i.idx = shl nsw i64 %__l.coerce1, 5 - %cmp.i.i = icmp ugt i64 %__l.coerce1, 288230376151711743 + %cmp.i.i = icmp ugt i64 %add.ptr.i.idx, 9223372036854775776 br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i if.then.i.i: ; preds = %entry @@ -37456,7 +37462,13 @@ if.then.i.i: ; preds = %entry _ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i: ; preds = %entry %cmp.not.i.i = icmp eq i64 %__l.coerce1, 0 - br i1 %cmp.not.i.i, label %invoke.cont, label %for.body.i.i.i.i.preheader.i + br i1 %cmp.not.i.i, label %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i, label %for.body.i.i.i.i.preheader.i + +_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i + %add.ptr9.i = getelementptr inbounds i8, ptr null, i64 %add.ptr.i.idx + %_M_end_of_storage10.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 + store ptr %add.ptr9.i, ptr %_M_end_of_storage10.i, align 8 + br label %invoke.cont for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i %call5.i.i.i.i5 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i.idx) #25 @@ -37464,7 +37476,7 @@ for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8fun call5.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i store ptr %call5.i.i.i.i5, ptr %this, align 8 - %add.ptr.i4 = getelementptr inbounds %"class.std::function.335", ptr %call5.i.i.i.i5, i64 %__l.coerce1 + %add.ptr.i4 = getelementptr inbounds i8, ptr %call5.i.i.i.i5, i64 %add.ptr.i.idx %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i4, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -37538,8 +37550,8 @@ terminate.lpad.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i unreachable.i.i.i.i.i: ; preds = %invoke.cont3.i.i.i.i.i unreachable -invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i - %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] +invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i + %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_121FollowsBasicGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %__cur.0.lcssa.i.i.i.i.i, ptr %_M_finish.i, align 8 ret void @@ -39615,7 +39627,7 @@ entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %this, i8 0, i64 24, i1 false) %add.ptr.i = getelementptr inbounds %"class.std::function.376", ptr %__l.coerce0, i64 %__l.coerce1 %add.ptr.i.idx = shl nsw i64 %__l.coerce1, 5 - %cmp.i.i = icmp ugt i64 %__l.coerce1, 288230376151711743 + %cmp.i.i = icmp ugt i64 %add.ptr.i.idx, 9223372036854775776 br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i if.then.i.i: ; preds = %entry @@ -39627,7 +39639,13 @@ if.then.i.i: ; preds = %entry _ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i: ; preds = %entry %cmp.not.i.i = icmp eq i64 %__l.coerce1, 0 - br i1 %cmp.not.i.i, label %invoke.cont, label %for.body.i.i.i.i.preheader.i + br i1 %cmp.not.i.i, label %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE11_M_allocateEm.exit.thread.i, label %for.body.i.i.i.i.preheader.i + +_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE11_M_allocateEm.exit.thread.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i + %add.ptr9.i = getelementptr inbounds i8, ptr null, i64 %add.ptr.i.idx + %_M_end_of_storage10.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 + store ptr %add.ptr9.i, ptr %_M_end_of_storage10.i, align 8 + br label %invoke.cont for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i %call5.i.i.i.i5 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i.idx) #25 @@ -39635,7 +39653,7 @@ for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8fun call5.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i store ptr %call5.i.i.i.i5, ptr %this, align 8 - %add.ptr.i4 = getelementptr inbounds %"class.std::function.376", ptr %call5.i.i.i.i5, i64 %__l.coerce1 + %add.ptr.i4 = getelementptr inbounds i8, ptr %call5.i.i.i.i5, i64 %add.ptr.i.idx %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i4, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -39709,8 +39727,8 @@ terminate.lpad.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i unreachable.i.i.i.i.i: ; preds = %invoke.cont3.i.i.i.i.i unreachable -invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i - %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] +invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE11_M_allocateEm.exit.thread.i + %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_132BasicGuaranteeWithExtraContractsEEESaIS7_EE11_M_allocateEm.exit.thread.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %__cur.0.lcssa.i.i.i.i.i, ptr %_M_finish.i, align 8 ret void @@ -41161,7 +41179,7 @@ entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %this, i8 0, i64 24, i1 false) %add.ptr.i = getelementptr inbounds %"class.std::function.410", ptr %__l.coerce0, i64 %__l.coerce1 %add.ptr.i.idx = shl nsw i64 %__l.coerce1, 5 - %cmp.i.i = icmp ugt i64 %__l.coerce1, 288230376151711743 + %cmp.i.i = icmp ugt i64 %add.ptr.i.idx, 9223372036854775776 br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i if.then.i.i: ; preds = %entry @@ -41173,7 +41191,13 @@ if.then.i.i: ; preds = %entry _ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i: ; preds = %entry %cmp.not.i.i = icmp eq i64 %__l.coerce1, 0 - br i1 %cmp.not.i.i, label %invoke.cont, label %for.body.i.i.i.i.preheader.i + br i1 %cmp.not.i.i, label %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i, label %for.body.i.i.i.i.preheader.i + +_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i + %add.ptr9.i = getelementptr inbounds i8, ptr null, i64 %add.ptr.i.idx + %_M_end_of_storage10.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 + store ptr %add.ptr9.i, ptr %_M_end_of_storage10.i, align 8 + br label %invoke.cont for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i %call5.i.i.i.i5 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i.idx) #25 @@ -41181,7 +41205,7 @@ for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8fun call5.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i store ptr %call5.i.i.i.i5, ptr %this, align 8 - %add.ptr.i4 = getelementptr inbounds %"class.std::function.410", ptr %call5.i.i.i.i5, i64 %__l.coerce1 + %add.ptr.i4 = getelementptr inbounds i8, ptr %call5.i.i.i.i5, i64 %add.ptr.i.idx %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i4, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -41255,8 +41279,8 @@ terminate.lpad.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i unreachable.i.i.i.i.i: ; preds = %invoke.cont3.i.i.i.i.i unreachable -invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i - %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] +invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i + %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_122FollowsStrongGuaranteeEEESaIS7_EE11_M_allocateEm.exit.thread.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %__cur.0.lcssa.i.i.i.i.i, ptr %_M_finish.i, align 8 ret void @@ -42192,7 +42216,7 @@ ehcleanup.thread.i.i: ; preds = %_ZN7testing15Assert invoke.cont.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 store ptr %call5.i.i.i.i5.i16.i.i.i, ptr %contracts_.i.i.i123, align 8, !noalias !560 - %add.ptr.i4.i.i.i.i = getelementptr inbounds %"class.std::function.476", ptr %call5.i.i.i.i5.i16.i.i.i, i64 1 + %add.ptr.i4.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i16.i.i.i, i64 32 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"class.testing::exceptions_internal::ExceptionSafetyTest.454", ptr %ref.tmp.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i4.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !noalias !560 %_M_manager.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::_Function_base", ptr %call5.i.i.i.i5.i16.i.i.i, i64 0, i32 1 @@ -45457,7 +45481,7 @@ entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %this, i8 0, i64 24, i1 false) %add.ptr.i = getelementptr inbounds %"class.std::function.539", ptr %__l.coerce0, i64 %__l.coerce1 %add.ptr.i.idx = shl nsw i64 %__l.coerce1, 5 - %cmp.i.i = icmp ugt i64 %__l.coerce1, 288230376151711743 + %cmp.i.i = icmp ugt i64 %add.ptr.i.idx, 9223372036854775776 br i1 %cmp.i.i, label %if.then.i.i, label %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i if.then.i.i: ; preds = %entry @@ -45469,7 +45493,13 @@ if.then.i.i: ; preds = %entry _ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i: ; preds = %entry %cmp.not.i.i = icmp eq i64 %__l.coerce1, 0 - br i1 %cmp.not.i.i, label %invoke.cont, label %for.body.i.i.i.i.preheader.i + br i1 %cmp.not.i.i, label %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE11_M_allocateEm.exit.thread.i, label %for.body.i.i.i.i.preheader.i + +_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE11_M_allocateEm.exit.thread.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i + %add.ptr9.i = getelementptr inbounds i8, ptr null, i64 %add.ptr.i.idx + %_M_end_of_storage10.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 + store ptr %add.ptr9.i, ptr %_M_end_of_storage10.i, align 8 + br label %invoke.cont for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i %call5.i.i.i.i5 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i.idx) #25 @@ -45477,7 +45507,7 @@ for.body.i.i.i.i.preheader.i: ; preds = %_ZNSt6vectorISt8fun call5.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i store ptr %call5.i.i.i.i5, ptr %this, align 8 - %add.ptr.i4 = getelementptr inbounds %"class.std::function.539", ptr %call5.i.i.i.i5, i64 %__l.coerce1 + %add.ptr.i4 = getelementptr inbounds i8, ptr %call5.i.i.i.i5, i64 %add.ptr.i.idx %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr.i4, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -45551,8 +45581,8 @@ terminate.lpad.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i unreachable.i.i.i.i.i: ; preds = %invoke.cont3.i.i.i.i.i unreachable -invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i - %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] +invoke.cont: ; preds = %for.inc.i.i.i.i.i, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE11_M_allocateEm.exit.thread.i + %__cur.0.lcssa.i.i.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseISt8functionIFN7testing15AssertionResultEPNS1_12_GLOBAL__N_111NonCopyableEEESaIS7_EE11_M_allocateEm.exit.thread.i ], [ %incdec.ptr1.i.i.i.i.i, %for.inc.i.i.i.i.i ] %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %__cur.0.lcssa.i.i.i.i.i, ptr %_M_finish.i, align 8 ret void @@ -46312,7 +46342,7 @@ invoke.cont: ; preds = %invoke.cont.i14, %_ call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont store ptr %call5.i.i.i.i5.i19, ptr %contracts_, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.std::function.581", ptr %call5.i.i.i.i5.i19, i64 2 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i19, i64 64 %_M_end_of_storage.i.i = getelementptr inbounds %"class.testing::exceptions_internal::ExceptionSafetyTest.559", ptr %this, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i @@ -47214,7 +47244,7 @@ ehcleanup.thread.i.i.i: ; preds = %entry invoke.cont.i.i.i: ; preds = %entry store ptr %call5.i.i.i.i5.i16.i.i.i.i, ptr %contracts_.i.i.i.i, align 8, !noalias !766 - %add.ptr.i4.i.i.i.i.i = getelementptr inbounds %"class.std::function.623", ptr %call5.i.i.i.i5.i16.i.i.i.i, i64 1 + %add.ptr.i4.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i16.i.i.i.i, i64 32 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"class.testing::exceptions_internal::ExceptionSafetyTest.601", ptr %ref.tmp.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i4.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !noalias !766 %_M_manager.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::_Function_base", ptr %call5.i.i.i.i5.i16.i.i.i.i, i64 0, i32 1 @@ -47816,7 +47846,7 @@ _ZN7testing15AssertionResultD2Ev.exit35: ; preds = %if.end33, %_ZNKSt14 call5.i.i.i.i5.i.noexc.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit35 store ptr %call5.i.i.i.i5.i19.i.i.i.i, ptr %contracts_.i.i.i.i56, align 8, !noalias !790 - %add.ptr.i4.i.i.i.i.i59 = getelementptr inbounds %"class.std::function.653", ptr %call5.i.i.i.i5.i19.i.i.i.i, i64 2 + %add.ptr.i4.i.i.i.i.i59 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i19.i.i.i.i, i64 64 %_M_end_of_storage.i.i.i.i.i.i60 = getelementptr inbounds %"class.testing::exceptions_internal::ExceptionSafetyTest.631", ptr %ref.tmp.i.i.i44, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i4.i.i.i.i.i59, ptr %_M_end_of_storage.i.i.i.i.i.i60, align 8, !noalias !790 br label %for.body.i.i.i.i.i.i.i.i.i.i diff --git a/bench/abseil-cpp/optimized/explicit_seed_seq_test.cc.ll b/bench/abseil-cpp/optimized/explicit_seed_seq_test.cc.ll index 7bce0724bef..f09c0d678d7 100644 --- a/bench/abseil-cpp/optimized/explicit_seed_seq_test.cc.ll +++ b/bench/abseil-cpp/optimized/explicit_seed_seq_test.cc.ll @@ -2539,23 +2539,24 @@ _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i3, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %1, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %4) #19 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i -_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -2664,14 +2665,14 @@ invoke.cont4: ; preds = %invoke.cont br label %for.body for.body: ; preds = %invoke.cont4, %invoke.cont8 - %__begin1.0.ptr826 = phi ptr [ %entropy, %invoke.cont4 ], [ %__begin1.0.ptr, %invoke.cont8 ] - %__begin1.0.idx825 = phi i64 [ 0, %invoke.cont4 ], [ %__begin1.0.add, %invoke.cont8 ] + %__begin1.0.ptr825 = phi ptr [ %entropy, %invoke.cont4 ], [ %__begin1.0.ptr, %invoke.cont8 ] + %__begin1.0.idx824 = phi i64 [ 0, %invoke.cont4 ], [ %__begin1.0.add, %invoke.cont8 ] %call.i54 = invoke noundef i32 @_ZNSt13random_device9_M_getvalEv(ptr noundef nonnull align 8 dereferenceable(5000) %urandom) to label %invoke.cont8 unwind label %lpad7.loopexit invoke.cont8: ; preds = %for.body - store i32 %call.i54, ptr %__begin1.0.ptr826, align 4 - %__begin1.0.add = add nuw nsw i64 %__begin1.0.idx825, 4 + store i32 %call.i54, ptr %__begin1.0.ptr825, align 4 + %__begin1.0.add = add nuw nsw i64 %__begin1.0.idx824, 4 %__begin1.0.ptr = getelementptr inbounds i8, ptr %entropy, i64 %__begin1.0.add %cmp.not = icmp eq i64 %__begin1.0.add, 16 br i1 %cmp.not, label %for.end, label %for.body @@ -2693,12 +2694,12 @@ ehcleanup: ; preds = %lpad, %lpad.i, %lpa br label %eh.resume lpad7.loopexit: ; preds = %for.body - %lpad.loopexit822 = landingpad { ptr, i32 } + %lpad.loopexit821 = landingpad { ptr, i32 } cleanup br label %ehcleanup378 lpad7.loopexit.split-lp: ; preds = %for.end - %lpad.loopexit.split-lp823 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp822 = landingpad { ptr, i32 } cleanup br label %ehcleanup378 @@ -2737,7 +2738,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_tr br label %invoke.cont13 invoke.cont13: ; preds = %invoke.cont11, %if.then.i.i.i.i.i.i.i.i.i.i - %cond.i.i.i.i.i814 = phi ptr [ %call5.i.i.i.i2.i6.i.i57, %if.then.i.i.i.i.i.i.i.i.i.i ], [ null, %invoke.cont11 ] + %cond.i.i.i.i.i813 = phi ptr [ %call5.i.i.i.i2.i6.i.i57, %if.then.i.i.i.i.i.i.i.i.i.i ], [ null, %invoke.cont11 ] %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 2 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar) to label %invoke.cont21 unwind label %lpad15 @@ -2912,7 +2913,7 @@ for.body.i94: ; preds = %cond.end.i, %cond.e cond.false.i98: ; preds = %for.body.i94 %inc.i99 = add i64 %index.06.i95, 1 - %add.ptr.i.i100 = getelementptr inbounds i32, ptr %cond.i.i.i.i.i814, i64 %index.06.i95 + %add.ptr.i.i100 = getelementptr inbounds i32, ptr %cond.i.i.i.i.i813, i64 %index.06.i95 %18 = load i32, ptr %add.ptr.i.i100, align 4 br label %cond.end.i101 @@ -2936,11 +2937,11 @@ invoke.cont69: ; preds = %cond.end.i101 if.then.i.i.i.i.i: ; preds = %invoke.cont69 store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %rhs_.i.i.i, align 8, !alias.scope !45 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp65, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i118 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 1000 - %_M_end_of_storage.i.i.i.i.i.i119 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp65, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i118, ptr %_M_end_of_storage.i.i.i.i.i.i119, align 8, !alias.scope !45 + %add.ptr.i.i.i.i.i.i116 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 4000 + %_M_end_of_storage.i.i.i.i.i.i117 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp65, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i116, ptr %_M_end_of_storage.i.i.i.i.i.i117, align 8, !alias.scope !45 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i81, i64 4000, i1 false) - store ptr %add.ptr.i.i.i.i.i.i118, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !45 + store ptr %add.ptr.i.i.i.i.i.i116, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !45 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar64, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp65, ptr noundef nonnull @.str.24, ptr noundef nonnull align 8 dereferenceable(24) %seeds_1) to label %invoke.cont73 unwind label %lpad72 @@ -2952,17 +2953,17 @@ _ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.e invoke.cont73: ; preds = %if.then.i.i.i.i.i %20 = load ptr, ptr %rhs_.i.i.i, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit, label %if.then.i.i.i.i.i124 + br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit, label %if.then.i.i.i.i.i123 -if.then.i.i.i.i.i124: ; preds = %invoke.cont73 +if.then.i.i.i.i.i123: ; preds = %invoke.cont73 call void @_ZdlPv(ptr noundef nonnull %20) #19 br label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit -_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit: ; preds = %invoke.cont73, %if.then.i.i.i.i.i124 +_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit: ; preds = %invoke.cont73, %if.then.i.i.i.i.i123 %21 = load i8, ptr %gtest_ar64, align 8 %22 = and i8 %21, 1 - %tobool.i125.not = icmp eq i8 %22, 0 - br i1 %tobool.i125.not, label %if.else80, label %if.end92 + %tobool.i124.not = icmp eq i8 %22, 0 + br i1 %tobool.i124.not, label %if.else80, label %if.end92 ehcleanup36: ; preds = %_ZN7testing7MessageD2Ev.exit69, %lpad22 %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit69 ], [ %8, %lpad22 ] @@ -2977,16 +2978,16 @@ lpad39: ; preds = %_ZN7testing15Assert ehcleanup95.thread: ; preds = %call5.i.i.i.i2.i.i.noexc %24 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i166 + br label %if.then.i.i.i165 lpad72: ; preds = %if.then.i.i.i.i.i %25 = landingpad { ptr, i32 } cleanup %26 = load ptr, ptr %rhs_.i.i.i, align 8 - %tobool.not.i.i.i.i.i127 = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i.i127, label %ehcleanup95, label %if.then.i.i.i.i.i128 + %tobool.not.i.i.i.i.i126 = icmp eq ptr %26, null + br i1 %tobool.not.i.i.i.i.i126, label %ehcleanup95, label %if.then.i.i.i.i.i127 -if.then.i.i.i.i.i128: ; preds = %lpad72 +if.then.i.i.i.i.i127: ; preds = %lpad72 call void @_ZdlPv(ptr noundef nonnull %26) #19 br label %ehcleanup95 @@ -3000,18 +3001,18 @@ if.else80: ; preds = %_ZN7testing8interna to label %invoke.cont82 unwind label %lpad76 invoke.cont82: ; preds = %if.else80 - %message_.i.i134 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 - %28 = load ptr, ptr %message_.i.i134, align 8 - %cmp.i.i.not.i.i135 = icmp eq ptr %28, null - br i1 %cmp.i.i.not.i.i135, label %invoke.cont85, label %cond.true.i.i136 + %message_.i.i133 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 + %28 = load ptr, ptr %message_.i.i133, align 8 + %cmp.i.i.not.i.i134 = icmp eq ptr %28, null + br i1 %cmp.i.i.not.i.i134, label %invoke.cont85, label %cond.true.i.i135 -cond.true.i.i136: ; preds = %invoke.cont82 - %call4.i.i137 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #18 +cond.true.i.i135: ; preds = %invoke.cont82 + %call4.i.i136 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #18 br label %invoke.cont85 -invoke.cont85: ; preds = %cond.true.i.i136, %invoke.cont82 - %cond.i.i138 = phi ptr [ %call4.i.i137, %cond.true.i.i136 ], [ @.str.28, %invoke.cont82 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 149, ptr noundef %cond.i.i138) +invoke.cont85: ; preds = %cond.true.i.i135, %invoke.cont82 + %cond.i.i137 = phi ptr [ %call4.i.i136, %cond.true.i.i135 ], [ @.str.28, %invoke.cont82 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 149, ptr noundef %cond.i.i137) to label %invoke.cont87 unwind label %lpad84 invoke.cont87: ; preds = %invoke.cont85 @@ -3021,17 +3022,17 @@ invoke.cont87: ; preds = %invoke.cont85 invoke.cont89: ; preds = %invoke.cont87 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp83) #18 %29 = load ptr, ptr %ref.tmp81, align 8 - %cmp.not.i.i140 = icmp eq ptr %29, null - br i1 %cmp.not.i.i140, label %_ZN7testing7MessageD2Ev.exit144, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i141 + %cmp.not.i.i139 = icmp eq ptr %29, null + br i1 %cmp.not.i.i139, label %_ZN7testing7MessageD2Ev.exit143, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i141: ; preds = %invoke.cont89 - %vtable.i.i.i142 = load ptr, ptr %29, align 8 - %vfn.i.i.i143 = getelementptr inbounds ptr, ptr %vtable.i.i.i142, i64 1 - %30 = load ptr, ptr %vfn.i.i.i143, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140: ; preds = %invoke.cont89 + %vtable.i.i.i141 = load ptr, ptr %29, align 8 + %vfn.i.i.i142 = getelementptr inbounds ptr, ptr %vtable.i.i.i141, i64 1 + %30 = load ptr, ptr %vfn.i.i.i142, align 8 call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #18 - br label %_ZN7testing7MessageD2Ev.exit144 + br label %_ZN7testing7MessageD2Ev.exit143 -_ZN7testing7MessageD2Ev.exit144: ; preds = %invoke.cont89, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i141 +_ZN7testing7MessageD2Ev.exit143: ; preds = %invoke.cont89, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 store ptr null, ptr %ref.tmp81, align 8 br label %if.end92 @@ -3049,91 +3050,91 @@ lpad88: ; preds = %invoke.cont87 ehcleanup91: ; preds = %lpad88, %lpad84 %.pn13 = phi { ptr, i32 } [ %32, %lpad88 ], [ %31, %lpad84 ] %33 = load ptr, ptr %ref.tmp81, align 8 - %cmp.not.i.i145 = icmp eq ptr %33, null - br i1 %cmp.not.i.i145, label %_ZN7testing7MessageD2Ev.exit149, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146 + %cmp.not.i.i144 = icmp eq ptr %33, null + br i1 %cmp.not.i.i144, label %_ZN7testing7MessageD2Ev.exit148, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146: ; preds = %ehcleanup91 - %vtable.i.i.i147 = load ptr, ptr %33, align 8 - %vfn.i.i.i148 = getelementptr inbounds ptr, ptr %vtable.i.i.i147, i64 1 - %34 = load ptr, ptr %vfn.i.i.i148, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145: ; preds = %ehcleanup91 + %vtable.i.i.i146 = load ptr, ptr %33, align 8 + %vfn.i.i.i147 = getelementptr inbounds ptr, ptr %vtable.i.i.i146, i64 1 + %34 = load ptr, ptr %vfn.i.i.i147, align 8 call void %34(ptr noundef nonnull align 8 dereferenceable(128) %33) #18 - br label %_ZN7testing7MessageD2Ev.exit149 + br label %_ZN7testing7MessageD2Ev.exit148 -_ZN7testing7MessageD2Ev.exit149: ; preds = %ehcleanup91, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146 +_ZN7testing7MessageD2Ev.exit148: ; preds = %ehcleanup91, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i145 store ptr null, ptr %ref.tmp81, align 8 br label %ehcleanup93 -if.end92: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit144 - %message_.i150 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 - %35 = load ptr, ptr %message_.i150, align 8 - %cmp.not.i.i151 = icmp eq ptr %35, null - br i1 %cmp.not.i.i151, label %_ZNSt6vectorIjSaIjEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 +if.end92: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit143 + %message_.i149 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 + %35 = load ptr, ptr %message_.i149, align 8 + %cmp.not.i.i150 = icmp eq ptr %35, null + br i1 %cmp.not.i.i150, label %_ZNSt6vectorIjSaIjEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152: ; preds = %if.end92 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151: ; preds = %if.end92 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #18 call void @_ZdlPv(ptr noundef nonnull %35) #19 br label %_ZNSt6vectorIjSaIjEED2Ev.exit -_ZNSt6vectorIjSaIjEED2Ev.exit: ; preds = %if.end92, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 - store ptr null, ptr %message_.i150, align 8 +_ZNSt6vectorIjSaIjEED2Ev.exit: ; preds = %if.end92, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 + store ptr null, ptr %message_.i149, align 8 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i81) #19 %36 = load ptr, ptr %seeds_1, align 8 - %tobool.not.i.i.i154 = icmp eq ptr %36, null - br i1 %tobool.not.i.i.i154, label %_ZNSt6vectorIjSaIjEED2Ev.exit156, label %if.then.i.i.i155 + %tobool.not.i.i.i153 = icmp eq ptr %36, null + br i1 %tobool.not.i.i.i153, label %_ZNSt6vectorIjSaIjEED2Ev.exit155, label %if.then.i.i.i154 -if.then.i.i.i155: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit +if.then.i.i.i154: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %36) #19 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit156 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit155 -_ZNSt6vectorIjSaIjEED2Ev.exit156: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit, %if.then.i.i.i155 - %tobool.not.i.i.i.i157 = icmp eq ptr %cond.i.i.i.i.i814, null - br i1 %tobool.not.i.i.i.i157, label %for.body105.preheader, label %if.then.i.i.i.i158 +_ZNSt6vectorIjSaIjEED2Ev.exit155: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit, %if.then.i.i.i154 + %tobool.not.i.i.i.i156 = icmp eq ptr %cond.i.i.i.i.i813, null + br i1 %tobool.not.i.i.i.i156, label %for.body105.preheader, label %if.then.i.i.i.i157 -if.then.i.i.i.i158: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit156 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i.i814) #19 +if.then.i.i.i.i157: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit155 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i.i813) #19 br label %for.body105.preheader -for.body105.preheader: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit156, %if.then.i.i.i.i158 +for.body105.preheader: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit155, %if.then.i.i.i.i157 br label %for.body105 for.body105: ; preds = %for.body105.preheader, %invoke.cont107 - %__begin198.0.ptr828 = phi ptr [ %__begin198.0.ptr, %invoke.cont107 ], [ %entropy, %for.body105.preheader ] - %__begin198.0.idx827 = phi i64 [ %__begin198.0.add, %invoke.cont107 ], [ 0, %for.body105.preheader ] - %call.i160 = invoke noundef i32 @_ZNSt13random_device9_M_getvalEv(ptr noundef nonnull align 8 dereferenceable(5000) %urandom) + %__begin198.0.ptr827 = phi ptr [ %__begin198.0.ptr, %invoke.cont107 ], [ %entropy, %for.body105.preheader ] + %__begin198.0.idx826 = phi i64 [ %__begin198.0.add, %invoke.cont107 ], [ 0, %for.body105.preheader ] + %call.i159 = invoke noundef i32 @_ZNSt13random_device9_M_getvalEv(ptr noundef nonnull align 8 dereferenceable(5000) %urandom) to label %invoke.cont107 unwind label %lpad12.loopexit invoke.cont107: ; preds = %for.body105 - store i32 %call.i160, ptr %__begin198.0.ptr828, align 4 - %__begin198.0.add = add nuw nsw i64 %__begin198.0.idx827, 4 + store i32 %call.i159, ptr %__begin198.0.ptr827, align 4 + %__begin198.0.add = add nuw nsw i64 %__begin198.0.idx826, 4 %__begin198.0.ptr = getelementptr inbounds i8, ptr %entropy, i64 %__begin198.0.add %cmp104.not = icmp eq i64 %__begin198.0.add, 16 br i1 %cmp104.not, label %for.end111, label %for.body105 -ehcleanup93: ; preds = %_ZN7testing7MessageD2Ev.exit149, %lpad76 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit149 ], [ %27, %lpad76 ] +ehcleanup93: ; preds = %_ZN7testing7MessageD2Ev.exit148, %lpad76 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit148 ], [ %27, %lpad76 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar64) #18 br label %ehcleanup95 -ehcleanup95: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i, %lpad72, %if.then.i.i.i.i.i128, %ehcleanup93 - %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup93 ], [ %19, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i ], [ %25, %lpad72 ], [ %25, %if.then.i.i.i.i.i128 ] +ehcleanup95: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i, %lpad72, %if.then.i.i.i.i.i127, %ehcleanup93 + %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup93 ], [ %19, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i ], [ %25, %lpad72 ], [ %25, %if.then.i.i.i.i.i127 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i81) #19 %.pre = load ptr, ptr %seeds_1, align 8 - %tobool.not.i.i.i165 = icmp eq ptr %.pre, null - br i1 %tobool.not.i.i.i165, label %ehcleanup96, label %if.then.i.i.i166 + %tobool.not.i.i.i164 = icmp eq ptr %.pre, null + br i1 %tobool.not.i.i.i164, label %ehcleanup96, label %if.then.i.i.i165 -if.then.i.i.i166: ; preds = %ehcleanup95.thread, %ehcleanup95 - %.pn13.pn.pn.pn834 = phi { ptr, i32 } [ %24, %ehcleanup95.thread ], [ %.pn13.pn.pn, %ehcleanup95 ] +if.then.i.i.i165: ; preds = %ehcleanup95.thread, %ehcleanup95 + %.pn13.pn.pn.pn833 = phi { ptr, i32 } [ %24, %ehcleanup95.thread ], [ %.pn13.pn.pn, %ehcleanup95 ] %37 = phi ptr [ %call5.i.i.i.i2.i.i72, %ehcleanup95.thread ], [ %.pre, %ehcleanup95 ] call void @_ZdlPv(ptr noundef nonnull %37) #19 br label %ehcleanup96 -ehcleanup96: ; preds = %if.then.i.i.i166, %ehcleanup95, %lpad39, %ehcleanup36, %lpad15 - %.pn13.pn.pn.pn.pn = phi { ptr, i32 } [ %23, %lpad39 ], [ %.pn8.pn, %ehcleanup36 ], [ %7, %lpad15 ], [ %.pn13.pn.pn, %ehcleanup95 ], [ %.pn13.pn.pn.pn834, %if.then.i.i.i166 ] - %tobool.not.i.i.i.i168 = icmp eq ptr %cond.i.i.i.i.i814, null - br i1 %tobool.not.i.i.i.i168, label %ehcleanup377, label %if.then.i.i.i.i169 +ehcleanup96: ; preds = %if.then.i.i.i165, %ehcleanup95, %lpad39, %ehcleanup36, %lpad15 + %.pn13.pn.pn.pn.pn = phi { ptr, i32 } [ %23, %lpad39 ], [ %.pn8.pn, %ehcleanup36 ], [ %7, %lpad15 ], [ %.pn13.pn.pn, %ehcleanup95 ], [ %.pn13.pn.pn.pn833, %if.then.i.i.i165 ] + %tobool.not.i.i.i.i167 = icmp eq ptr %cond.i.i.i.i.i813, null + br i1 %tobool.not.i.i.i.i167, label %ehcleanup377, label %if.then.i.i.i.i168 -if.then.i.i.i.i169: ; preds = %ehcleanup96 - call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i.i814) #19 +if.then.i.i.i.i168: ; preds = %ehcleanup96 + call void @_ZdlPv(ptr noundef nonnull %cond.i.i.i.i.i813) #19 br label %ehcleanup377 for.end111: ; preds = %invoke.cont107 @@ -3142,144 +3143,144 @@ for.end111: ; preds = %invoke.cont107 invoke.cont114: ; preds = %for.end111 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %seeds_1115, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i180 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 - to label %call5.i.i.i.i2.i.i.noexc179 unwind label %lpad118 - -call5.i.i.i.i2.i.i.noexc179: ; preds = %invoke.cont114 - store ptr %call5.i.i.i.i2.i.i180, ptr %seeds_1115, align 8 - %_M_finish.i.i.i172 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %seeds_1115, i64 0, i32 1 - %add.ptr.i.i.i173 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i180, i64 1000 - %_M_end_of_storage.i.i.i174 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %seeds_1115, i64 0, i32 2 - store ptr %add.ptr.i.i.i173, ptr %_M_end_of_storage.i.i.i174, align 8 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i180, i8 0, i64 4000, i1 false) - store ptr %add.ptr.i.i.i173, ptr %_M_finish.i.i.i172, align 8 - %call5.i.i.i.i2.i.i190 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 - to label %for.body.i.i.i.i.i.i.i.i.i185.preheader unwind label %ehcleanup233.thread - -for.body.i.i.i.i.i.i.i.i.i185.preheader: ; preds = %call5.i.i.i.i2.i.i.noexc179 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i190, i8 0, i64 4000, i1 false) - %.pre.i196 = load ptr, ptr %seq_from_entropy, align 8 - %.pre7.i197 = load ptr, ptr %_M_finish.i.i.i, align 8 - %cmp.i.i.i201 = icmp eq ptr %.pre.i196, %.pre7.i197 - %sub.ptr.lhs.cast.i.i208 = ptrtoint ptr %.pre7.i197 to i64 - %sub.ptr.rhs.cast.i.i209 = ptrtoint ptr %.pre.i196 to i64 - %sub.ptr.sub.i.i210 = sub i64 %sub.ptr.lhs.cast.i.i208, %sub.ptr.rhs.cast.i.i209 - %sub.ptr.div.i.i211 = ashr exact i64 %sub.ptr.sub.i.i210, 2 - br label %for.body.i198 - -for.body.i198: ; preds = %cond.end.i205, %for.body.i.i.i.i.i.i.i.i.i185.preheader - %index.06.i199 = phi i64 [ 0, %for.body.i.i.i.i.i.i.i.i.i185.preheader ], [ %spec.select.i213, %cond.end.i205 ] - %begin.sroa.0.05.i200.idx = phi i64 [ 0, %for.body.i.i.i.i.i.i.i.i.i185.preheader ], [ %begin.sroa.0.05.i200.add, %cond.end.i205 ] - %begin.sroa.0.05.i200.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i180, i64 %begin.sroa.0.05.i200.idx - br i1 %cmp.i.i.i201, label %cond.end.i205, label %cond.false.i202 - -cond.false.i202: ; preds = %for.body.i198 - %inc.i203 = add i64 %index.06.i199, 1 - %add.ptr.i.i204 = getelementptr inbounds i32, ptr %.pre.i196, i64 %index.06.i199 - %38 = load i32, ptr %add.ptr.i.i204, align 4 - br label %cond.end.i205 - -cond.end.i205: ; preds = %cond.false.i202, %for.body.i198 - %index.1.i206 = phi i64 [ %index.06.i199, %for.body.i198 ], [ %inc.i203, %cond.false.i202 ] - %cond.i207 = phi i32 [ 0, %for.body.i198 ], [ %38, %cond.false.i202 ] - store i32 %cond.i207, ptr %begin.sroa.0.05.i200.ptr, align 4 - %cmp.not.i212 = icmp ult i64 %index.1.i206, %sub.ptr.div.i.i211 - %spec.select.i213 = select i1 %cmp.not.i212, i64 %index.1.i206, i64 0 - %begin.sroa.0.05.i200.add = add nuw nsw i64 %begin.sroa.0.05.i200.idx, 4 - %cmp.i.not.i215 = icmp eq i64 %begin.sroa.0.05.i200.add, 4000 - br i1 %cmp.i.not.i215, label %for.body.lr.ph.i219, label %for.body.i198, !llvm.loop !44 - -for.body.lr.ph.i219: ; preds = %cond.end.i205 - %_M_finish.i.i.i220 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %another_seq, i64 0, i32 1 - %.pre.i221 = load ptr, ptr %another_seq, align 8 - %.pre7.i222 = load ptr, ptr %_M_finish.i.i.i220, align 8 - %cmp.i.i.i226 = icmp eq ptr %.pre.i221, %.pre7.i222 - %sub.ptr.lhs.cast.i.i233 = ptrtoint ptr %.pre7.i222 to i64 - %sub.ptr.rhs.cast.i.i234 = ptrtoint ptr %.pre.i221 to i64 - %sub.ptr.sub.i.i235 = sub i64 %sub.ptr.lhs.cast.i.i233, %sub.ptr.rhs.cast.i.i234 - %sub.ptr.div.i.i236 = ashr exact i64 %sub.ptr.sub.i.i235, 2 - br label %for.body.i223 - -for.body.i223: ; preds = %cond.end.i230, %for.body.lr.ph.i219 - %index.06.i224 = phi i64 [ 0, %for.body.lr.ph.i219 ], [ %spec.select.i238, %cond.end.i230 ] - %begin.sroa.0.05.i225.idx = phi i64 [ 0, %for.body.lr.ph.i219 ], [ %begin.sroa.0.05.i225.add, %cond.end.i230 ] - %begin.sroa.0.05.i225.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i190, i64 %begin.sroa.0.05.i225.idx - br i1 %cmp.i.i.i226, label %cond.end.i230, label %cond.false.i227 - -cond.false.i227: ; preds = %for.body.i223 - %inc.i228 = add i64 %index.06.i224, 1 - %add.ptr.i.i229 = getelementptr inbounds i32, ptr %.pre.i221, i64 %index.06.i224 - %39 = load i32, ptr %add.ptr.i.i229, align 4 - br label %cond.end.i230 - -cond.end.i230: ; preds = %cond.false.i227, %for.body.i223 - %index.1.i231 = phi i64 [ %index.06.i224, %for.body.i223 ], [ %inc.i228, %cond.false.i227 ] - %cond.i232 = phi i32 [ 0, %for.body.i223 ], [ %39, %cond.false.i227 ] - store i32 %cond.i232, ptr %begin.sroa.0.05.i225.ptr, align 4 - %cmp.not.i237 = icmp ult i64 %index.1.i231, %sub.ptr.div.i.i236 - %spec.select.i238 = select i1 %cmp.not.i237, i64 %index.1.i231, i64 0 - %begin.sroa.0.05.i225.add = add nuw nsw i64 %begin.sroa.0.05.i225.idx, 4 - %cmp.i.not.i240 = icmp eq i64 %begin.sroa.0.05.i225.add, 4000 - br i1 %cmp.i.not.i240, label %call5.i.i.i.i2.i6.i.i.i.noexc289, label %for.body.i223, !llvm.loop !44 - -call5.i.i.i.i2.i6.i.i.i.noexc289: ; preds = %cond.end.i230 - %call5.i.i.i.i2.i6.i.i.i2.i274 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 - to label %cond.true.i.i.i.i.i.i.i.i unwind label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i275, !noalias !48 - -_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i275: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc289 + %call5.i.i.i.i2.i.i179 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 + to label %call5.i.i.i.i2.i.i.noexc178 unwind label %lpad118 + +call5.i.i.i.i2.i.i.noexc178: ; preds = %invoke.cont114 + store ptr %call5.i.i.i.i2.i.i179, ptr %seeds_1115, align 8 + %_M_finish.i.i.i171 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %seeds_1115, i64 0, i32 1 + %add.ptr.i.i.i172 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i179, i64 1000 + %_M_end_of_storage.i.i.i173 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %seeds_1115, i64 0, i32 2 + store ptr %add.ptr.i.i.i172, ptr %_M_end_of_storage.i.i.i173, align 8 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i179, i8 0, i64 4000, i1 false) + store ptr %add.ptr.i.i.i172, ptr %_M_finish.i.i.i171, align 8 + %call5.i.i.i.i2.i.i189 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 + to label %for.body.i.i.i.i.i.i.i.i.i184.preheader unwind label %ehcleanup233.thread + +for.body.i.i.i.i.i.i.i.i.i184.preheader: ; preds = %call5.i.i.i.i2.i.i.noexc178 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i189, i8 0, i64 4000, i1 false) + %.pre.i195 = load ptr, ptr %seq_from_entropy, align 8 + %.pre7.i196 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.i.i200 = icmp eq ptr %.pre.i195, %.pre7.i196 + %sub.ptr.lhs.cast.i.i207 = ptrtoint ptr %.pre7.i196 to i64 + %sub.ptr.rhs.cast.i.i208 = ptrtoint ptr %.pre.i195 to i64 + %sub.ptr.sub.i.i209 = sub i64 %sub.ptr.lhs.cast.i.i207, %sub.ptr.rhs.cast.i.i208 + %sub.ptr.div.i.i210 = ashr exact i64 %sub.ptr.sub.i.i209, 2 + br label %for.body.i197 + +for.body.i197: ; preds = %cond.end.i204, %for.body.i.i.i.i.i.i.i.i.i184.preheader + %index.06.i198 = phi i64 [ 0, %for.body.i.i.i.i.i.i.i.i.i184.preheader ], [ %spec.select.i212, %cond.end.i204 ] + %begin.sroa.0.05.i199.idx = phi i64 [ 0, %for.body.i.i.i.i.i.i.i.i.i184.preheader ], [ %begin.sroa.0.05.i199.add, %cond.end.i204 ] + %begin.sroa.0.05.i199.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i179, i64 %begin.sroa.0.05.i199.idx + br i1 %cmp.i.i.i200, label %cond.end.i204, label %cond.false.i201 + +cond.false.i201: ; preds = %for.body.i197 + %inc.i202 = add i64 %index.06.i198, 1 + %add.ptr.i.i203 = getelementptr inbounds i32, ptr %.pre.i195, i64 %index.06.i198 + %38 = load i32, ptr %add.ptr.i.i203, align 4 + br label %cond.end.i204 + +cond.end.i204: ; preds = %cond.false.i201, %for.body.i197 + %index.1.i205 = phi i64 [ %index.06.i198, %for.body.i197 ], [ %inc.i202, %cond.false.i201 ] + %cond.i206 = phi i32 [ 0, %for.body.i197 ], [ %38, %cond.false.i201 ] + store i32 %cond.i206, ptr %begin.sroa.0.05.i199.ptr, align 4 + %cmp.not.i211 = icmp ult i64 %index.1.i205, %sub.ptr.div.i.i210 + %spec.select.i212 = select i1 %cmp.not.i211, i64 %index.1.i205, i64 0 + %begin.sroa.0.05.i199.add = add nuw nsw i64 %begin.sroa.0.05.i199.idx, 4 + %cmp.i.not.i214 = icmp eq i64 %begin.sroa.0.05.i199.add, 4000 + br i1 %cmp.i.not.i214, label %for.body.lr.ph.i218, label %for.body.i197, !llvm.loop !44 + +for.body.lr.ph.i218: ; preds = %cond.end.i204 + %_M_finish.i.i.i219 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %another_seq, i64 0, i32 1 + %.pre.i220 = load ptr, ptr %another_seq, align 8 + %.pre7.i221 = load ptr, ptr %_M_finish.i.i.i219, align 8 + %cmp.i.i.i225 = icmp eq ptr %.pre.i220, %.pre7.i221 + %sub.ptr.lhs.cast.i.i232 = ptrtoint ptr %.pre7.i221 to i64 + %sub.ptr.rhs.cast.i.i233 = ptrtoint ptr %.pre.i220 to i64 + %sub.ptr.sub.i.i234 = sub i64 %sub.ptr.lhs.cast.i.i232, %sub.ptr.rhs.cast.i.i233 + %sub.ptr.div.i.i235 = ashr exact i64 %sub.ptr.sub.i.i234, 2 + br label %for.body.i222 + +for.body.i222: ; preds = %cond.end.i229, %for.body.lr.ph.i218 + %index.06.i223 = phi i64 [ 0, %for.body.lr.ph.i218 ], [ %spec.select.i237, %cond.end.i229 ] + %begin.sroa.0.05.i224.idx = phi i64 [ 0, %for.body.lr.ph.i218 ], [ %begin.sroa.0.05.i224.add, %cond.end.i229 ] + %begin.sroa.0.05.i224.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i189, i64 %begin.sroa.0.05.i224.idx + br i1 %cmp.i.i.i225, label %cond.end.i229, label %cond.false.i226 + +cond.false.i226: ; preds = %for.body.i222 + %inc.i227 = add i64 %index.06.i223, 1 + %add.ptr.i.i228 = getelementptr inbounds i32, ptr %.pre.i220, i64 %index.06.i223 + %39 = load i32, ptr %add.ptr.i.i228, align 4 + br label %cond.end.i229 + +cond.end.i229: ; preds = %cond.false.i226, %for.body.i222 + %index.1.i230 = phi i64 [ %index.06.i223, %for.body.i222 ], [ %inc.i227, %cond.false.i226 ] + %cond.i231 = phi i32 [ 0, %for.body.i222 ], [ %39, %cond.false.i226 ] + store i32 %cond.i231, ptr %begin.sroa.0.05.i224.ptr, align 4 + %cmp.not.i236 = icmp ult i64 %index.1.i230, %sub.ptr.div.i.i235 + %spec.select.i237 = select i1 %cmp.not.i236, i64 %index.1.i230, i64 0 + %begin.sroa.0.05.i224.add = add nuw nsw i64 %begin.sroa.0.05.i224.idx, 4 + %cmp.i.not.i239 = icmp eq i64 %begin.sroa.0.05.i224.add, 4000 + br i1 %cmp.i.not.i239, label %call5.i.i.i.i2.i6.i.i.i.noexc288, label %for.body.i222, !llvm.loop !44 + +call5.i.i.i.i2.i6.i.i.i.noexc288: ; preds = %cond.end.i229 + %call5.i.i.i.i2.i6.i.i.i2.i273 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 + to label %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i unwind label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i274, !noalias !48 + +_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i274: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc288 %40 = landingpad { ptr, i32 } cleanup br label %ehcleanup233 -cond.true.i.i.i.i.i.i.i.i: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc289 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i274, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i190, i64 4000, i1 false) +_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc288 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i273, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i189, i64 4000, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !51) %rhs_.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp147, i64 0, i32 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %rhs_.i.i.i.i, i8 0, i64 24, i1 false), !alias.scope !51 %call5.i.i.i.i2.i6.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 to label %if.then.i.i.i.i.i.i unwind label %_ZN7testing8internal10NotMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEED2Ev.exit7.i, !noalias !51 -if.then.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i.i.i +if.then.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i.i2.i, ptr %rhs_.i.i.i.i, align 8, !alias.scope !51 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp147, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i2.i, i64 1000 + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i2.i, i64 4000 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp147, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !51 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i274, i64 4000, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i273, i64 4000, i1 false) store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !51 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_10NotMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEEEEclIS7_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar146, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp147, ptr noundef nonnull @.str.24, ptr noundef nonnull align 8 dereferenceable(24) %seeds_1115) to label %invoke.cont159 unwind label %lpad158 -_ZN7testing8internal10NotMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEED2Ev.exit7.i: ; preds = %cond.true.i.i.i.i.i.i.i.i +_ZN7testing8internal10NotMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEED2Ev.exit7.i: ; preds = %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i %41 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i.i321 + br label %if.then.i.i.i.i.i320 invoke.cont159: ; preds = %if.then.i.i.i.i.i.i %42 = load ptr, ptr %rhs_.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i = icmp eq ptr %42, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit313, label %if.then.i.i.i.i.i.i306 + br i1 %tobool.not.i.i.i.i.i.i, label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit312, label %if.then.i.i.i.i.i.i305 -if.then.i.i.i.i.i.i306: ; preds = %invoke.cont159 +if.then.i.i.i.i.i.i305: ; preds = %invoke.cont159 call void @_ZdlPv(ptr noundef nonnull %42) #19 - br label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit313 + br label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit312 -_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit313: ; preds = %invoke.cont159, %if.then.i.i.i.i.i.i306 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i2.i274) #19 +_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit312: ; preds = %invoke.cont159, %if.then.i.i.i.i.i.i305 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i2.i273) #19 %43 = load i8, ptr %gtest_ar146, align 8 %44 = and i8 %43, 1 - %tobool.i314.not = icmp eq i8 %44, 0 - br i1 %tobool.i314.not, label %if.else167, label %if.end179 + %tobool.i313.not = icmp eq i8 %44, 0 + br i1 %tobool.i313.not, label %if.else167, label %if.end179 lpad118: ; preds = %invoke.cont114 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup234 -ehcleanup233.thread: ; preds = %call5.i.i.i.i2.i.i.noexc179 +ehcleanup233.thread: ; preds = %call5.i.i.i.i2.i.i.noexc178 %46 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i631 + br label %if.then.i.i.i630 lpad135: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i, %if.then3.i.i.i.i.i %47 = landingpad { ptr, i32 } @@ -3290,16 +3291,16 @@ lpad158: ; preds = %if.then.i.i.i.i.i.i %48 = landingpad { ptr, i32 } cleanup %49 = load ptr, ptr %rhs_.i.i.i.i, align 8 - %tobool.not.i.i.i.i.i.i316 = icmp eq ptr %49, null - br i1 %tobool.not.i.i.i.i.i.i316, label %if.then.i.i.i.i.i321, label %if.then.i.i.i.i.i.i317 + %tobool.not.i.i.i.i.i.i315 = icmp eq ptr %49, null + br i1 %tobool.not.i.i.i.i.i.i315, label %if.then.i.i.i.i.i320, label %if.then.i.i.i.i.i.i316 -if.then.i.i.i.i.i.i317: ; preds = %lpad158 +if.then.i.i.i.i.i.i316: ; preds = %lpad158 call void @_ZdlPv(ptr noundef nonnull %49) #19 - br label %if.then.i.i.i.i.i321 + br label %if.then.i.i.i.i.i320 -if.then.i.i.i.i.i321: ; preds = %_ZN7testing8internal10NotMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEED2Ev.exit7.i, %lpad158, %if.then.i.i.i.i.i.i317 - %.pn19 = phi { ptr, i32 } [ %41, %_ZN7testing8internal10NotMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEED2Ev.exit7.i ], [ %48, %lpad158 ], [ %48, %if.then.i.i.i.i.i.i317 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i2.i274) #19 +if.then.i.i.i.i.i320: ; preds = %_ZN7testing8internal10NotMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEED2Ev.exit7.i, %lpad158, %if.then.i.i.i.i.i.i316 + %.pn19 = phi { ptr, i32 } [ %41, %_ZN7testing8internal10NotMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEED2Ev.exit7.i ], [ %48, %lpad158 ], [ %48, %if.then.i.i.i.i.i.i316 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i2.i273) #19 br label %ehcleanup233 lpad163: ; preds = %if.else167 @@ -3307,23 +3308,23 @@ lpad163: ; preds = %if.else167 cleanup br label %ehcleanup180 -if.else167: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit313 +if.else167: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit312 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp168) to label %invoke.cont169 unwind label %lpad163 invoke.cont169: ; preds = %if.else167 - %message_.i.i327 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146, i64 0, i32 1 - %51 = load ptr, ptr %message_.i.i327, align 8 - %cmp.i.i.not.i.i328 = icmp eq ptr %51, null - br i1 %cmp.i.i.not.i.i328, label %invoke.cont172, label %cond.true.i.i329 + %message_.i.i326 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146, i64 0, i32 1 + %51 = load ptr, ptr %message_.i.i326, align 8 + %cmp.i.i.not.i.i327 = icmp eq ptr %51, null + br i1 %cmp.i.i.not.i.i327, label %invoke.cont172, label %cond.true.i.i328 -cond.true.i.i329: ; preds = %invoke.cont169 - %call4.i.i330 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %51) #18 +cond.true.i.i328: ; preds = %invoke.cont169 + %call4.i.i329 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %51) #18 br label %invoke.cont172 -invoke.cont172: ; preds = %cond.true.i.i329, %invoke.cont169 - %cond.i.i331 = phi ptr [ %call4.i.i330, %cond.true.i.i329 ], [ @.str.28, %invoke.cont169 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp170, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 165, ptr noundef %cond.i.i331) +invoke.cont172: ; preds = %cond.true.i.i328, %invoke.cont169 + %cond.i.i330 = phi ptr [ %call4.i.i329, %cond.true.i.i328 ], [ @.str.28, %invoke.cont169 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp170, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 165, ptr noundef %cond.i.i330) to label %invoke.cont174 unwind label %lpad171 invoke.cont174: ; preds = %invoke.cont172 @@ -3333,17 +3334,17 @@ invoke.cont174: ; preds = %invoke.cont172 invoke.cont176: ; preds = %invoke.cont174 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp170) #18 %52 = load ptr, ptr %ref.tmp168, align 8 - %cmp.not.i.i333 = icmp eq ptr %52, null - br i1 %cmp.not.i.i333, label %_ZN7testing7MessageD2Ev.exit337, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334 + %cmp.not.i.i332 = icmp eq ptr %52, null + br i1 %cmp.not.i.i332, label %_ZN7testing7MessageD2Ev.exit336, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i333 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334: ; preds = %invoke.cont176 - %vtable.i.i.i335 = load ptr, ptr %52, align 8 - %vfn.i.i.i336 = getelementptr inbounds ptr, ptr %vtable.i.i.i335, i64 1 - %53 = load ptr, ptr %vfn.i.i.i336, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i333: ; preds = %invoke.cont176 + %vtable.i.i.i334 = load ptr, ptr %52, align 8 + %vfn.i.i.i335 = getelementptr inbounds ptr, ptr %vtable.i.i.i334, i64 1 + %53 = load ptr, ptr %vfn.i.i.i335, align 8 call void %53(ptr noundef nonnull align 8 dereferenceable(128) %52) #18 - br label %_ZN7testing7MessageD2Ev.exit337 + br label %_ZN7testing7MessageD2Ev.exit336 -_ZN7testing7MessageD2Ev.exit337: ; preds = %invoke.cont176, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334 +_ZN7testing7MessageD2Ev.exit336: ; preds = %invoke.cont176, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i333 store ptr null, ptr %ref.tmp168, align 8 br label %if.end179 @@ -3361,39 +3362,39 @@ lpad175: ; preds = %invoke.cont174 ehcleanup178: ; preds = %lpad175, %lpad171 %.pn22 = phi { ptr, i32 } [ %55, %lpad175 ], [ %54, %lpad171 ] %56 = load ptr, ptr %ref.tmp168, align 8 - %cmp.not.i.i338 = icmp eq ptr %56, null - br i1 %cmp.not.i.i338, label %_ZN7testing7MessageD2Ev.exit342, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339 + %cmp.not.i.i337 = icmp eq ptr %56, null + br i1 %cmp.not.i.i337, label %_ZN7testing7MessageD2Ev.exit341, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339: ; preds = %ehcleanup178 - %vtable.i.i.i340 = load ptr, ptr %56, align 8 - %vfn.i.i.i341 = getelementptr inbounds ptr, ptr %vtable.i.i.i340, i64 1 - %57 = load ptr, ptr %vfn.i.i.i341, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338: ; preds = %ehcleanup178 + %vtable.i.i.i339 = load ptr, ptr %56, align 8 + %vfn.i.i.i340 = getelementptr inbounds ptr, ptr %vtable.i.i.i339, i64 1 + %57 = load ptr, ptr %vfn.i.i.i340, align 8 call void %57(ptr noundef nonnull align 8 dereferenceable(128) %56) #18 - br label %_ZN7testing7MessageD2Ev.exit342 + br label %_ZN7testing7MessageD2Ev.exit341 -_ZN7testing7MessageD2Ev.exit342: ; preds = %ehcleanup178, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339 +_ZN7testing7MessageD2Ev.exit341: ; preds = %ehcleanup178, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338 store ptr null, ptr %ref.tmp168, align 8 br label %ehcleanup180 -if.end179: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit313, %_ZN7testing7MessageD2Ev.exit337 - %message_.i343 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146, i64 0, i32 1 - %58 = load ptr, ptr %message_.i343, align 8 - %cmp.not.i.i344 = icmp eq ptr %58, null - br i1 %cmp.not.i.i344, label %_ZN7testing15AssertionResultD2Ev.exit346, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345 +if.end179: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit312, %_ZN7testing7MessageD2Ev.exit336 + %message_.i342 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146, i64 0, i32 1 + %58 = load ptr, ptr %message_.i342, align 8 + %cmp.not.i.i343 = icmp eq ptr %58, null + br i1 %cmp.not.i.i343, label %_ZN7testing15AssertionResultD2Ev.exit345, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i344 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345: ; preds = %if.end179 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i344: ; preds = %if.end179 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #18 call void @_ZdlPv(ptr noundef nonnull %58) #19 - br label %_ZN7testing15AssertionResultD2Ev.exit346 + br label %_ZN7testing15AssertionResultD2Ev.exit345 -_ZN7testing15AssertionResultD2Ev.exit346: ; preds = %if.end179, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345 - store ptr null, ptr %message_.i343, align 8 +_ZN7testing15AssertionResultD2Ev.exit345: ; preds = %if.end179, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i344 + store ptr null, ptr %message_.i342, align 8 %59 = load ptr, ptr %_M_finish.i.i.i, align 8 %60 = load ptr, ptr %seq_from_entropy, align 8 - %sub.ptr.lhs.cast.i.i768 = ptrtoint ptr %59 to i64 - %sub.ptr.rhs.cast.i.i769 = ptrtoint ptr %60 to i64 - %sub.ptr.sub.i.i770 = sub i64 %sub.ptr.lhs.cast.i.i768, %sub.ptr.rhs.cast.i.i769 - %sub.ptr.div.i.i771 = ashr exact i64 %sub.ptr.sub.i.i770, 2 + %sub.ptr.lhs.cast.i.i767 = ptrtoint ptr %59 to i64 + %sub.ptr.rhs.cast.i.i768 = ptrtoint ptr %60 to i64 + %sub.ptr.sub.i.i769 = sub i64 %sub.ptr.lhs.cast.i.i767, %sub.ptr.rhs.cast.i.i768 + %sub.ptr.div.i.i770 = ashr exact i64 %sub.ptr.sub.i.i769, 2 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %another_seq, i64 0, i32 2 %61 = load ptr, ptr %_M_end_of_storage.i.i, align 8 %62 = load ptr, ptr %another_seq, align 8 @@ -3401,60 +3402,60 @@ _ZN7testing15AssertionResultD2Ev.exit346: ; preds = %if.end179, %_ZNKSt1 %sub.ptr.rhs.cast.i15.i = ptrtoint ptr %62 to i64 %sub.ptr.sub.i16.i = sub i64 %sub.ptr.lhs.cast.i14.i, %sub.ptr.rhs.cast.i15.i %sub.ptr.div.i17.i = ashr exact i64 %sub.ptr.sub.i16.i, 2 - %cmp3.i = icmp ugt i64 %sub.ptr.div.i.i771, %sub.ptr.div.i17.i + %cmp3.i = icmp ugt i64 %sub.ptr.div.i.i770, %sub.ptr.div.i17.i br i1 %cmp3.i, label %cond.true.i.i.i, label %if.else.i -cond.true.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit346 - %cmp.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i771, 2305843009213693951 +cond.true.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit345 + %cmp.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i770, 2305843009213693951 br i1 %cmp.i.i.i.i.i, label %if.then3.i.i.i.i.i, label %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i if.then3.i.i.i.i.i: ; preds = %cond.true.i.i.i invoke void @_ZSt28__throw_bad_array_new_lengthv() #21 - to label %.noexc779 unwind label %lpad135 + to label %.noexc778 unwind label %lpad135 -.noexc779: ; preds = %if.then3.i.i.i.i.i +.noexc778: ; preds = %if.then3.i.i.i.i.i unreachable _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i: ; preds = %cond.true.i.i.i - %call5.i.i.i.i.i780 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i770) #22 + %call5.i.i.i.i.i779 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i769) #22 to label %call5.i.i.i.i.i.noexc unwind label %lpad135 call5.i.i.i.i.i.noexc: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i - %tobool.not.i.i.i.i.i.i.i.i.i.i775 = icmp eq ptr %59, %60 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i775, label %_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i, label %if.then.i.i.i.i.i.i.i.i.i.i776 + %tobool.not.i.i.i.i.i.i.i.i.i.i774 = icmp eq ptr %59, %60 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i774, label %_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i, label %if.then.i.i.i.i.i.i.i.i.i.i775 -if.then.i.i.i.i.i.i.i.i.i.i776: ; preds = %call5.i.i.i.i.i.noexc - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i.i780, ptr align 4 %60, i64 %sub.ptr.sub.i.i770, i1 false) +if.then.i.i.i.i.i.i.i.i.i.i775: ; preds = %call5.i.i.i.i.i.noexc + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i.i779, ptr align 4 %60, i64 %sub.ptr.sub.i.i769, i1 false) br label %_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i -_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i776, %call5.i.i.i.i.i.noexc +_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i775, %call5.i.i.i.i.i.noexc %tobool.not.i.i = icmp eq ptr %62, null - br i1 %tobool.not.i.i, label %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i, label %if.then.i.i777 + br i1 %tobool.not.i.i, label %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i, label %if.then.i.i776 -if.then.i.i777: ; preds = %_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i +if.then.i.i776: ; preds = %_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i call void @_ZdlPv(ptr noundef nonnull %62) #19 br label %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i -_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i: ; preds = %if.then.i.i777, %_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i - store ptr %call5.i.i.i.i.i780, ptr %another_seq, align 8 - %add.ptr.i778 = getelementptr inbounds i32, ptr %call5.i.i.i.i.i780, i64 %sub.ptr.div.i.i771 - store ptr %add.ptr.i778, ptr %_M_end_of_storage.i.i, align 8 +_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i: ; preds = %if.then.i.i776, %_ZNSt6vectorIjSaIjEE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKjS1_EEEEPjmT_S9_.exit.i + store ptr %call5.i.i.i.i.i779, ptr %another_seq, align 8 + %add.ptr.i777 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i779, i64 %sub.ptr.sub.i.i769 + store ptr %add.ptr.i777, ptr %_M_end_of_storage.i.i, align 8 br label %invoke.cont181 -if.else.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit346 - %63 = load ptr, ptr %_M_finish.i.i.i220, align 8 +if.else.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit345 + %63 = load ptr, ptr %_M_finish.i.i.i219, align 8 %sub.ptr.lhs.cast.i20.i = ptrtoint ptr %63 to i64 %sub.ptr.sub.i22.i = sub i64 %sub.ptr.lhs.cast.i20.i, %sub.ptr.rhs.cast.i15.i %sub.ptr.div.i23.i = ashr exact i64 %sub.ptr.sub.i22.i, 2 - %cmp26.not.i = icmp ult i64 %sub.ptr.div.i23.i, %sub.ptr.div.i.i771 + %cmp26.not.i = icmp ult i64 %sub.ptr.div.i23.i, %sub.ptr.div.i.i770 br i1 %cmp26.not.i, label %if.else49.i, label %if.then27.i if.then27.i: ; preds = %if.else.i - %tobool.not.i.i.i.i.i.i772 = icmp eq ptr %59, %60 - br i1 %tobool.not.i.i.i.i.i.i772, label %invoke.cont181, label %if.then.i.i.i.i.i.i773 + %tobool.not.i.i.i.i.i.i771 = icmp eq ptr %59, %60 + br i1 %tobool.not.i.i.i.i.i.i771, label %invoke.cont181, label %if.then.i.i.i.i.i.i772 -if.then.i.i.i.i.i.i773: ; preds = %if.then27.i - call void @llvm.memmove.p0.p0.i64(ptr align 4 %62, ptr align 4 %60, i64 %sub.ptr.sub.i.i770, i1 false) +if.then.i.i.i.i.i.i772: ; preds = %if.then27.i + call void @llvm.memmove.p0.p0.i64(ptr align 4 %62, ptr align 4 %60, i64 %sub.ptr.sub.i.i769, i1 false) br label %invoke.cont181 if.else49.i: ; preds = %if.else.i @@ -3463,23 +3464,22 @@ if.else49.i: ; preds = %if.else.i if.then.i.i.i.i.i35.i: ; preds = %if.else49.i call void @llvm.memmove.p0.p0.i64(ptr align 4 %62, ptr align 4 %60, i64 %sub.ptr.sub.i22.i, i1 false) - %.pre.i774 = load ptr, ptr %seq_from_entropy, align 8 - %.pre43.i = load ptr, ptr %_M_finish.i.i.i220, align 8 - %.pre44.i = load ptr, ptr %another_seq, align 8 - %.pre45.i = load ptr, ptr %_M_finish.i.i.i, align 8 + %.pre.i773 = load ptr, ptr %seq_from_entropy, align 8 + %.pre42.i = load ptr, ptr %_M_finish.i.i.i219, align 8 + %.pre43.i = load ptr, ptr %another_seq, align 8 + %.pre44.i = load ptr, ptr %_M_finish.i.i.i, align 8 + %.pre45.i = ptrtoint ptr %.pre42.i to i64 %.pre46.i = ptrtoint ptr %.pre43.i to i64 - %.pre47.i = ptrtoint ptr %.pre44.i to i64 br label %_ZSt4copyIPjS0_ET0_T_S2_S1_.exit.i _ZSt4copyIPjS0_ET0_T_S2_S1_.exit.i: ; preds = %if.then.i.i.i.i.i35.i, %if.else49.i - %sub.ptr.rhs.cast.i40.pre-phi.i = phi i64 [ %sub.ptr.rhs.cast.i15.i, %if.else49.i ], [ %.pre47.i, %if.then.i.i.i.i.i35.i ] - %sub.ptr.lhs.cast.i39.pre-phi.i = phi i64 [ %sub.ptr.rhs.cast.i15.i, %if.else49.i ], [ %.pre46.i, %if.then.i.i.i.i.i35.i ] - %64 = phi ptr [ %59, %if.else49.i ], [ %.pre45.i, %if.then.i.i.i.i.i35.i ] - %65 = phi ptr [ %62, %if.else49.i ], [ %.pre43.i, %if.then.i.i.i.i.i35.i ] - %66 = phi ptr [ %60, %if.else49.i ], [ %.pre.i774, %if.then.i.i.i.i.i35.i ] - %sub.ptr.sub.i41.i = sub i64 %sub.ptr.lhs.cast.i39.pre-phi.i, %sub.ptr.rhs.cast.i40.pre-phi.i - %sub.ptr.div.i42.i = ashr exact i64 %sub.ptr.sub.i41.i, 2 - %add.ptr62.i = getelementptr inbounds i32, ptr %66, i64 %sub.ptr.div.i42.i + %sub.ptr.rhs.cast.i39.pre-phi.i = phi i64 [ %sub.ptr.rhs.cast.i15.i, %if.else49.i ], [ %.pre46.i, %if.then.i.i.i.i.i35.i ] + %sub.ptr.lhs.cast.i38.pre-phi.i = phi i64 [ %sub.ptr.rhs.cast.i15.i, %if.else49.i ], [ %.pre45.i, %if.then.i.i.i.i.i35.i ] + %64 = phi ptr [ %59, %if.else49.i ], [ %.pre44.i, %if.then.i.i.i.i.i35.i ] + %65 = phi ptr [ %62, %if.else49.i ], [ %.pre42.i, %if.then.i.i.i.i.i35.i ] + %66 = phi ptr [ %60, %if.else49.i ], [ %.pre.i773, %if.then.i.i.i.i.i35.i ] + %sub.ptr.sub.i40.i = sub i64 %sub.ptr.lhs.cast.i38.pre-phi.i, %sub.ptr.rhs.cast.i39.pre-phi.i + %add.ptr62.i = getelementptr inbounds i8, ptr %66, i64 %sub.ptr.sub.i40.i %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %64, %add.ptr62.i br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %invoke.cont181, label %if.then.i.i.i.i.i.i.i.i.i @@ -3490,138 +3490,138 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZSt4copyIPjS0_ET0_ call void @llvm.memmove.p0.p0.i64(ptr align 4 %65, ptr align 4 %add.ptr62.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont181 -invoke.cont181: ; preds = %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i, %if.then27.i, %if.then.i.i.i.i.i.i773, %_ZSt4copyIPjS0_ET0_T_S2_S1_.exit.i, %if.then.i.i.i.i.i.i.i.i.i +invoke.cont181: ; preds = %_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i, %if.then27.i, %if.then.i.i.i.i.i.i772, %_ZSt4copyIPjS0_ET0_T_S2_S1_.exit.i, %if.then.i.i.i.i.i.i.i.i.i %67 = load ptr, ptr %another_seq, align 8 - %add.ptr72.i = getelementptr inbounds i32, ptr %67, i64 %sub.ptr.div.i.i771 - store ptr %add.ptr72.i, ptr %_M_finish.i.i.i220, align 8 + %add.ptr72.i = getelementptr inbounds i8, ptr %67, i64 %sub.ptr.sub.i.i769 + store ptr %add.ptr72.i, ptr %_M_finish.i.i.i219, align 8 %68 = load ptr, ptr %seeds_1115, align 8 - %69 = load ptr, ptr %_M_finish.i.i.i172, align 8 - %cmp.i.not4.i350 = icmp eq ptr %68, %69 - br i1 %cmp.i.not4.i350, label %for.body.lr.ph.i376, label %for.body.lr.ph.i351 - -for.body.lr.ph.i351: ; preds = %invoke.cont181 - %.pre.i353 = load ptr, ptr %seq_from_entropy, align 8 - %.pre7.i354 = load ptr, ptr %_M_finish.i.i.i, align 8 - br label %for.body.i355 - -for.body.i355: ; preds = %cond.end.i362, %for.body.lr.ph.i351 - %70 = phi ptr [ %.pre7.i354, %for.body.lr.ph.i351 ], [ %73, %cond.end.i362 ] - %71 = phi ptr [ %.pre.i353, %for.body.lr.ph.i351 ], [ %74, %cond.end.i362 ] - %index.06.i356 = phi i64 [ 0, %for.body.lr.ph.i351 ], [ %spec.select.i370, %cond.end.i362 ] - %begin.sroa.0.05.i357 = phi ptr [ %68, %for.body.lr.ph.i351 ], [ %incdec.ptr.i.i371, %cond.end.i362 ] - %cmp.i.i.i358 = icmp eq ptr %71, %70 - br i1 %cmp.i.i.i358, label %cond.end.i362, label %cond.false.i359 - -cond.false.i359: ; preds = %for.body.i355 - %inc.i360 = add i64 %index.06.i356, 1 - %add.ptr.i.i361 = getelementptr inbounds i32, ptr %71, i64 %index.06.i356 - %72 = load i32, ptr %add.ptr.i.i361, align 4 - br label %cond.end.i362 - -cond.end.i362: ; preds = %cond.false.i359, %for.body.i355 - %index.1.i363 = phi i64 [ %index.06.i356, %for.body.i355 ], [ %inc.i360, %cond.false.i359 ] - %cond.i364 = phi i32 [ 0, %for.body.i355 ], [ %72, %cond.false.i359 ] - store i32 %cond.i364, ptr %begin.sroa.0.05.i357, align 4 + %69 = load ptr, ptr %_M_finish.i.i.i171, align 8 + %cmp.i.not4.i349 = icmp eq ptr %68, %69 + br i1 %cmp.i.not4.i349, label %for.body.lr.ph.i375, label %for.body.lr.ph.i350 + +for.body.lr.ph.i350: ; preds = %invoke.cont181 + %.pre.i352 = load ptr, ptr %seq_from_entropy, align 8 + %.pre7.i353 = load ptr, ptr %_M_finish.i.i.i, align 8 + br label %for.body.i354 + +for.body.i354: ; preds = %cond.end.i361, %for.body.lr.ph.i350 + %70 = phi ptr [ %.pre7.i353, %for.body.lr.ph.i350 ], [ %73, %cond.end.i361 ] + %71 = phi ptr [ %.pre.i352, %for.body.lr.ph.i350 ], [ %74, %cond.end.i361 ] + %index.06.i355 = phi i64 [ 0, %for.body.lr.ph.i350 ], [ %spec.select.i369, %cond.end.i361 ] + %begin.sroa.0.05.i356 = phi ptr [ %68, %for.body.lr.ph.i350 ], [ %incdec.ptr.i.i370, %cond.end.i361 ] + %cmp.i.i.i357 = icmp eq ptr %71, %70 + br i1 %cmp.i.i.i357, label %cond.end.i361, label %cond.false.i358 + +cond.false.i358: ; preds = %for.body.i354 + %inc.i359 = add i64 %index.06.i355, 1 + %add.ptr.i.i360 = getelementptr inbounds i32, ptr %71, i64 %index.06.i355 + %72 = load i32, ptr %add.ptr.i.i360, align 4 + br label %cond.end.i361 + +cond.end.i361: ; preds = %cond.false.i358, %for.body.i354 + %index.1.i362 = phi i64 [ %index.06.i355, %for.body.i354 ], [ %inc.i359, %cond.false.i358 ] + %cond.i363 = phi i32 [ 0, %for.body.i354 ], [ %72, %cond.false.i358 ] + store i32 %cond.i363, ptr %begin.sroa.0.05.i356, align 4 %73 = load ptr, ptr %_M_finish.i.i.i, align 8 %74 = load ptr, ptr %seq_from_entropy, align 8 - %sub.ptr.lhs.cast.i.i365 = ptrtoint ptr %73 to i64 - %sub.ptr.rhs.cast.i.i366 = ptrtoint ptr %74 to i64 - %sub.ptr.sub.i.i367 = sub i64 %sub.ptr.lhs.cast.i.i365, %sub.ptr.rhs.cast.i.i366 - %sub.ptr.div.i.i368 = ashr exact i64 %sub.ptr.sub.i.i367, 2 - %cmp.not.i369 = icmp ult i64 %index.1.i363, %sub.ptr.div.i.i368 - %spec.select.i370 = select i1 %cmp.not.i369, i64 %index.1.i363, i64 0 - %incdec.ptr.i.i371 = getelementptr inbounds i32, ptr %begin.sroa.0.05.i357, i64 1 - %cmp.i.not.i372 = icmp eq ptr %incdec.ptr.i.i371, %69 - br i1 %cmp.i.not.i372, label %for.body.lr.ph.i376.loopexit, label %for.body.i355, !llvm.loop !44 - -for.body.lr.ph.i376.loopexit: ; preds = %cond.end.i362 - %.pre.i378.pre = load ptr, ptr %another_seq, align 8 - %.pre7.i379.pre = load ptr, ptr %_M_finish.i.i.i220, align 8 - br label %for.body.lr.ph.i376 - -for.body.lr.ph.i376: ; preds = %for.body.lr.ph.i376.loopexit, %invoke.cont181 - %.pre7.i379 = phi ptr [ %.pre7.i379.pre, %for.body.lr.ph.i376.loopexit ], [ %add.ptr72.i, %invoke.cont181 ] - %.pre.i378 = phi ptr [ %.pre.i378.pre, %for.body.lr.ph.i376.loopexit ], [ %67, %invoke.cont181 ] - %cmp.i.i.i383 = icmp eq ptr %.pre.i378, %.pre7.i379 - %sub.ptr.lhs.cast.i.i390 = ptrtoint ptr %.pre7.i379 to i64 - %sub.ptr.rhs.cast.i.i391 = ptrtoint ptr %.pre.i378 to i64 - %sub.ptr.sub.i.i392 = sub i64 %sub.ptr.lhs.cast.i.i390, %sub.ptr.rhs.cast.i.i391 - %sub.ptr.div.i.i393 = ashr exact i64 %sub.ptr.sub.i.i392, 2 - br label %for.body.i380 - -for.body.i380: ; preds = %cond.end.i387, %for.body.lr.ph.i376 - %index.06.i381 = phi i64 [ 0, %for.body.lr.ph.i376 ], [ %spec.select.i395, %cond.end.i387 ] - %begin.sroa.0.05.i382.idx = phi i64 [ 0, %for.body.lr.ph.i376 ], [ %begin.sroa.0.05.i382.add, %cond.end.i387 ] - %begin.sroa.0.05.i382.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i190, i64 %begin.sroa.0.05.i382.idx - br i1 %cmp.i.i.i383, label %cond.end.i387, label %cond.false.i384 - -cond.false.i384: ; preds = %for.body.i380 - %inc.i385 = add i64 %index.06.i381, 1 - %add.ptr.i.i386 = getelementptr inbounds i32, ptr %.pre.i378, i64 %index.06.i381 - %75 = load i32, ptr %add.ptr.i.i386, align 4 - br label %cond.end.i387 - -cond.end.i387: ; preds = %cond.false.i384, %for.body.i380 - %index.1.i388 = phi i64 [ %index.06.i381, %for.body.i380 ], [ %inc.i385, %cond.false.i384 ] - %cond.i389 = phi i32 [ 0, %for.body.i380 ], [ %75, %cond.false.i384 ] - store i32 %cond.i389, ptr %begin.sroa.0.05.i382.ptr, align 4 - %cmp.not.i394 = icmp ult i64 %index.1.i388, %sub.ptr.div.i.i393 - %spec.select.i395 = select i1 %cmp.not.i394, i64 %index.1.i388, i64 0 - %begin.sroa.0.05.i382.add = add nuw nsw i64 %begin.sroa.0.05.i382.idx, 4 - %cmp.i.not.i397 = icmp eq i64 %begin.sroa.0.05.i382.add, 4000 - br i1 %cmp.i.not.i397, label %invoke.cont207, label %for.body.i380, !llvm.loop !44 - -invoke.cont207: ; preds = %cond.end.i387 + %sub.ptr.lhs.cast.i.i364 = ptrtoint ptr %73 to i64 + %sub.ptr.rhs.cast.i.i365 = ptrtoint ptr %74 to i64 + %sub.ptr.sub.i.i366 = sub i64 %sub.ptr.lhs.cast.i.i364, %sub.ptr.rhs.cast.i.i365 + %sub.ptr.div.i.i367 = ashr exact i64 %sub.ptr.sub.i.i366, 2 + %cmp.not.i368 = icmp ult i64 %index.1.i362, %sub.ptr.div.i.i367 + %spec.select.i369 = select i1 %cmp.not.i368, i64 %index.1.i362, i64 0 + %incdec.ptr.i.i370 = getelementptr inbounds i32, ptr %begin.sroa.0.05.i356, i64 1 + %cmp.i.not.i371 = icmp eq ptr %incdec.ptr.i.i370, %69 + br i1 %cmp.i.not.i371, label %for.body.lr.ph.i375.loopexit, label %for.body.i354, !llvm.loop !44 + +for.body.lr.ph.i375.loopexit: ; preds = %cond.end.i361 + %.pre.i377.pre = load ptr, ptr %another_seq, align 8 + %.pre7.i378.pre = load ptr, ptr %_M_finish.i.i.i219, align 8 + br label %for.body.lr.ph.i375 + +for.body.lr.ph.i375: ; preds = %for.body.lr.ph.i375.loopexit, %invoke.cont181 + %.pre7.i378 = phi ptr [ %.pre7.i378.pre, %for.body.lr.ph.i375.loopexit ], [ %add.ptr72.i, %invoke.cont181 ] + %.pre.i377 = phi ptr [ %.pre.i377.pre, %for.body.lr.ph.i375.loopexit ], [ %67, %invoke.cont181 ] + %cmp.i.i.i382 = icmp eq ptr %.pre.i377, %.pre7.i378 + %sub.ptr.lhs.cast.i.i389 = ptrtoint ptr %.pre7.i378 to i64 + %sub.ptr.rhs.cast.i.i390 = ptrtoint ptr %.pre.i377 to i64 + %sub.ptr.sub.i.i391 = sub i64 %sub.ptr.lhs.cast.i.i389, %sub.ptr.rhs.cast.i.i390 + %sub.ptr.div.i.i392 = ashr exact i64 %sub.ptr.sub.i.i391, 2 + br label %for.body.i379 + +for.body.i379: ; preds = %cond.end.i386, %for.body.lr.ph.i375 + %index.06.i380 = phi i64 [ 0, %for.body.lr.ph.i375 ], [ %spec.select.i394, %cond.end.i386 ] + %begin.sroa.0.05.i381.idx = phi i64 [ 0, %for.body.lr.ph.i375 ], [ %begin.sroa.0.05.i381.add, %cond.end.i386 ] + %begin.sroa.0.05.i381.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i189, i64 %begin.sroa.0.05.i381.idx + br i1 %cmp.i.i.i382, label %cond.end.i386, label %cond.false.i383 + +cond.false.i383: ; preds = %for.body.i379 + %inc.i384 = add i64 %index.06.i380, 1 + %add.ptr.i.i385 = getelementptr inbounds i32, ptr %.pre.i377, i64 %index.06.i380 + %75 = load i32, ptr %add.ptr.i.i385, align 4 + br label %cond.end.i386 + +cond.end.i386: ; preds = %cond.false.i383, %for.body.i379 + %index.1.i387 = phi i64 [ %index.06.i380, %for.body.i379 ], [ %inc.i384, %cond.false.i383 ] + %cond.i388 = phi i32 [ 0, %for.body.i379 ], [ %75, %cond.false.i383 ] + store i32 %cond.i388, ptr %begin.sroa.0.05.i381.ptr, align 4 + %cmp.not.i393 = icmp ult i64 %index.1.i387, %sub.ptr.div.i.i392 + %spec.select.i394 = select i1 %cmp.not.i393, i64 %index.1.i387, i64 0 + %begin.sroa.0.05.i381.add = add nuw nsw i64 %begin.sroa.0.05.i381.idx, 4 + %cmp.i.not.i396 = icmp eq i64 %begin.sroa.0.05.i381.add, 4000 + br i1 %cmp.i.not.i396, label %invoke.cont207, label %for.body.i379, !llvm.loop !44 + +invoke.cont207: ; preds = %cond.end.i386 call void @llvm.experimental.noalias.scope.decl(metadata !54) - %rhs_.i.i.i430 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp202, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %rhs_.i.i.i430, i8 0, i64 24, i1 false), !alias.scope !54 - %call5.i.i.i.i2.i6.i.i.i2.i431 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 - to label %if.then.i.i.i.i.i433 unwind label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i432, !noalias !54 - -if.then.i.i.i.i.i433: ; preds = %invoke.cont207 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i431, ptr %rhs_.i.i.i430, align 8, !alias.scope !54 - %_M_finish.i.i.i.i.i.i435 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp202, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i436 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i431, i64 1000 - %_M_end_of_storage.i.i.i.i.i.i437 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp202, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i436, ptr %_M_end_of_storage.i.i.i.i.i.i437, align 8, !alias.scope !54 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i431, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i190, i64 4000, i1 false) - store ptr %add.ptr.i.i.i.i.i.i436, ptr %_M_finish.i.i.i.i.i.i435, align 8, !alias.scope !54 + %rhs_.i.i.i429 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp202, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %rhs_.i.i.i429, i8 0, i64 24, i1 false), !alias.scope !54 + %call5.i.i.i.i2.i6.i.i.i2.i430 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 + to label %if.then.i.i.i.i.i432 unwind label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i431, !noalias !54 + +if.then.i.i.i.i.i432: ; preds = %invoke.cont207 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i430, ptr %rhs_.i.i.i429, align 8, !alias.scope !54 + %_M_finish.i.i.i.i.i.i433 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp202, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i434 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i430, i64 4000 + %_M_end_of_storage.i.i.i.i.i.i435 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp202, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i434, ptr %_M_end_of_storage.i.i.i.i.i.i435, align 8, !alias.scope !54 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i430, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i189, i64 4000, i1 false) + store ptr %add.ptr.i.i.i.i.i.i434, ptr %_M_finish.i.i.i.i.i.i433, align 8, !alias.scope !54 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar201, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp202, ptr noundef nonnull @.str.24, ptr noundef nonnull align 8 dereferenceable(24) %seeds_1115) to label %invoke.cont211 unwind label %lpad210 -_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i432: ; preds = %invoke.cont207 +_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i431: ; preds = %invoke.cont207 %76 = landingpad { ptr, i32 } cleanup br label %ehcleanup233 -invoke.cont211: ; preds = %if.then.i.i.i.i.i433 - %77 = load ptr, ptr %rhs_.i.i.i430, align 8 - %tobool.not.i.i.i.i.i451 = icmp eq ptr %77, null - br i1 %tobool.not.i.i.i.i.i451, label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit457, label %if.then.i.i.i.i.i452 +invoke.cont211: ; preds = %if.then.i.i.i.i.i432 + %77 = load ptr, ptr %rhs_.i.i.i429, align 8 + %tobool.not.i.i.i.i.i450 = icmp eq ptr %77, null + br i1 %tobool.not.i.i.i.i.i450, label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit456, label %if.then.i.i.i.i.i451 -if.then.i.i.i.i.i452: ; preds = %invoke.cont211 +if.then.i.i.i.i.i451: ; preds = %invoke.cont211 call void @_ZdlPv(ptr noundef nonnull %77) #19 - br label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit457 + br label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit456 -_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit457: ; preds = %invoke.cont211, %if.then.i.i.i.i.i452 +_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit456: ; preds = %invoke.cont211, %if.then.i.i.i.i.i451 %78 = load i8, ptr %gtest_ar201, align 8 %79 = and i8 %78, 1 - %tobool.i458.not = icmp eq i8 %79, 0 - br i1 %tobool.i458.not, label %if.else218, label %if.end230 + %tobool.i457.not = icmp eq i8 %79, 0 + br i1 %tobool.i457.not, label %if.else218, label %if.end230 -ehcleanup180: ; preds = %_ZN7testing7MessageD2Ev.exit342, %lpad163 - %.pn22.pn = phi { ptr, i32 } [ %.pn22, %_ZN7testing7MessageD2Ev.exit342 ], [ %50, %lpad163 ] +ehcleanup180: ; preds = %_ZN7testing7MessageD2Ev.exit341, %lpad163 + %.pn22.pn = phi { ptr, i32 } [ %.pn22, %_ZN7testing7MessageD2Ev.exit341 ], [ %50, %lpad163 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar146) #18 br label %ehcleanup233 -lpad210: ; preds = %if.then.i.i.i.i.i433 +lpad210: ; preds = %if.then.i.i.i.i.i432 %80 = landingpad { ptr, i32 } cleanup - %81 = load ptr, ptr %rhs_.i.i.i430, align 8 - %tobool.not.i.i.i.i.i460 = icmp eq ptr %81, null - br i1 %tobool.not.i.i.i.i.i460, label %ehcleanup233, label %if.then.i.i.i.i.i461 + %81 = load ptr, ptr %rhs_.i.i.i429, align 8 + %tobool.not.i.i.i.i.i459 = icmp eq ptr %81, null + br i1 %tobool.not.i.i.i.i.i459, label %ehcleanup233, label %if.then.i.i.i.i.i460 -if.then.i.i.i.i.i461: ; preds = %lpad210 +if.then.i.i.i.i.i460: ; preds = %lpad210 call void @_ZdlPv(ptr noundef nonnull %81) #19 br label %ehcleanup233 @@ -3630,23 +3630,23 @@ lpad214: ; preds = %if.else218 cleanup br label %ehcleanup231 -if.else218: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit457 +if.else218: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit456 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp219) to label %invoke.cont220 unwind label %lpad214 invoke.cont220: ; preds = %if.else218 - %message_.i.i467 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar201, i64 0, i32 1 - %83 = load ptr, ptr %message_.i.i467, align 8 - %cmp.i.i.not.i.i468 = icmp eq ptr %83, null - br i1 %cmp.i.i.not.i.i468, label %invoke.cont223, label %cond.true.i.i469 + %message_.i.i466 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar201, i64 0, i32 1 + %83 = load ptr, ptr %message_.i.i466, align 8 + %cmp.i.i.not.i.i467 = icmp eq ptr %83, null + br i1 %cmp.i.i.not.i.i467, label %invoke.cont223, label %cond.true.i.i468 -cond.true.i.i469: ; preds = %invoke.cont220 - %call4.i.i470 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #18 +cond.true.i.i468: ; preds = %invoke.cont220 + %call4.i.i469 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #18 br label %invoke.cont223 -invoke.cont223: ; preds = %cond.true.i.i469, %invoke.cont220 - %cond.i.i471 = phi ptr [ %call4.i.i470, %cond.true.i.i469 ], [ @.str.28, %invoke.cont220 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp221, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 183, ptr noundef %cond.i.i471) +invoke.cont223: ; preds = %cond.true.i.i468, %invoke.cont220 + %cond.i.i470 = phi ptr [ %call4.i.i469, %cond.true.i.i468 ], [ @.str.28, %invoke.cont220 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp221, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 183, ptr noundef %cond.i.i470) to label %invoke.cont225 unwind label %lpad222 invoke.cont225: ; preds = %invoke.cont223 @@ -3656,17 +3656,17 @@ invoke.cont225: ; preds = %invoke.cont223 invoke.cont227: ; preds = %invoke.cont225 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp221) #18 %84 = load ptr, ptr %ref.tmp219, align 8 - %cmp.not.i.i473 = icmp eq ptr %84, null - br i1 %cmp.not.i.i473, label %_ZN7testing7MessageD2Ev.exit477, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i474 + %cmp.not.i.i472 = icmp eq ptr %84, null + br i1 %cmp.not.i.i472, label %_ZN7testing7MessageD2Ev.exit476, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i473 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i474: ; preds = %invoke.cont227 - %vtable.i.i.i475 = load ptr, ptr %84, align 8 - %vfn.i.i.i476 = getelementptr inbounds ptr, ptr %vtable.i.i.i475, i64 1 - %85 = load ptr, ptr %vfn.i.i.i476, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i473: ; preds = %invoke.cont227 + %vtable.i.i.i474 = load ptr, ptr %84, align 8 + %vfn.i.i.i475 = getelementptr inbounds ptr, ptr %vtable.i.i.i474, i64 1 + %85 = load ptr, ptr %vfn.i.i.i475, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #18 - br label %_ZN7testing7MessageD2Ev.exit477 + br label %_ZN7testing7MessageD2Ev.exit476 -_ZN7testing7MessageD2Ev.exit477: ; preds = %invoke.cont227, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i474 +_ZN7testing7MessageD2Ev.exit476: ; preds = %invoke.cont227, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i473 store ptr null, ptr %ref.tmp219, align 8 br label %if.end230 @@ -3684,244 +3684,244 @@ lpad226: ; preds = %invoke.cont225 ehcleanup229: ; preds = %lpad226, %lpad222 %.pn27 = phi { ptr, i32 } [ %87, %lpad226 ], [ %86, %lpad222 ] %88 = load ptr, ptr %ref.tmp219, align 8 - %cmp.not.i.i478 = icmp eq ptr %88, null - br i1 %cmp.not.i.i478, label %_ZN7testing7MessageD2Ev.exit482, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i479 + %cmp.not.i.i477 = icmp eq ptr %88, null + br i1 %cmp.not.i.i477, label %_ZN7testing7MessageD2Ev.exit481, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i479: ; preds = %ehcleanup229 - %vtable.i.i.i480 = load ptr, ptr %88, align 8 - %vfn.i.i.i481 = getelementptr inbounds ptr, ptr %vtable.i.i.i480, i64 1 - %89 = load ptr, ptr %vfn.i.i.i481, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478: ; preds = %ehcleanup229 + %vtable.i.i.i479 = load ptr, ptr %88, align 8 + %vfn.i.i.i480 = getelementptr inbounds ptr, ptr %vtable.i.i.i479, i64 1 + %89 = load ptr, ptr %vfn.i.i.i480, align 8 call void %89(ptr noundef nonnull align 8 dereferenceable(128) %88) #18 - br label %_ZN7testing7MessageD2Ev.exit482 + br label %_ZN7testing7MessageD2Ev.exit481 -_ZN7testing7MessageD2Ev.exit482: ; preds = %ehcleanup229, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i479 +_ZN7testing7MessageD2Ev.exit481: ; preds = %ehcleanup229, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478 store ptr null, ptr %ref.tmp219, align 8 br label %ehcleanup231 -if.end230: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit457, %_ZN7testing7MessageD2Ev.exit477 - %message_.i483 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar201, i64 0, i32 1 - %90 = load ptr, ptr %message_.i483, align 8 - %cmp.not.i.i484 = icmp eq ptr %90, null - br i1 %cmp.not.i.i484, label %_ZNSt6vectorIjSaIjEED2Ev.exit489, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i485 +if.end230: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit456, %_ZN7testing7MessageD2Ev.exit476 + %message_.i482 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar201, i64 0, i32 1 + %90 = load ptr, ptr %message_.i482, align 8 + %cmp.not.i.i483 = icmp eq ptr %90, null + br i1 %cmp.not.i.i483, label %_ZNSt6vectorIjSaIjEED2Ev.exit488, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i484 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i485: ; preds = %if.end230 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i484: ; preds = %if.end230 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #18 call void @_ZdlPv(ptr noundef nonnull %90) #19 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit489 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit488 -_ZNSt6vectorIjSaIjEED2Ev.exit489: ; preds = %if.end230, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i485 - store ptr null, ptr %message_.i483, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i190) #19 +_ZNSt6vectorIjSaIjEED2Ev.exit488: ; preds = %if.end230, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i484 + store ptr null, ptr %message_.i482, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i189) #19 %91 = load ptr, ptr %seeds_1115, align 8 - %tobool.not.i.i.i490 = icmp eq ptr %91, null - br i1 %tobool.not.i.i.i490, label %_ZNSt6vectorIjSaIjEED2Ev.exit492, label %if.then.i.i.i491 + %tobool.not.i.i.i489 = icmp eq ptr %91, null + br i1 %tobool.not.i.i.i489, label %_ZNSt6vectorIjSaIjEED2Ev.exit491, label %if.then.i.i.i490 -if.then.i.i.i491: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit489 +if.then.i.i.i490: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit488 call void @_ZdlPv(ptr noundef nonnull %91) #19 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit492 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit491 -_ZNSt6vectorIjSaIjEED2Ev.exit492: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit489, %if.then.i.i.i491 +_ZNSt6vectorIjSaIjEED2Ev.exit491: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit488, %if.then.i.i.i490 %92 = load ptr, ptr %another_seq, align 8 - %tobool.not.i.i.i.i493 = icmp eq ptr %92, null - br i1 %tobool.not.i.i.i.i493, label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit495, label %if.then.i.i.i.i494 + %tobool.not.i.i.i.i492 = icmp eq ptr %92, null + br i1 %tobool.not.i.i.i.i492, label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit494, label %if.then.i.i.i.i493 -if.then.i.i.i.i494: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit492 +if.then.i.i.i.i493: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit491 call void @_ZdlPv(ptr noundef nonnull %92) #19 - br label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit495 + br label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit494 -_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit495: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit492, %if.then.i.i.i.i494 +_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit494: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit491, %if.then.i.i.i.i493 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %seeds_1235, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i504 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 - to label %call5.i.i.i.i2.i.i.noexc503 unwind label %lpad238 - -call5.i.i.i.i2.i.i.noexc503: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit495 - store ptr %call5.i.i.i.i2.i.i504, ptr %seeds_1235, align 8 - %_M_finish.i.i.i496 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %seeds_1235, i64 0, i32 1 - %add.ptr.i.i.i497 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i504, i64 1000 - %_M_end_of_storage.i.i.i498 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %seeds_1235, i64 0, i32 2 - store ptr %add.ptr.i.i.i497, ptr %_M_end_of_storage.i.i.i498, align 8 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i504, i8 0, i64 4000, i1 false) - store ptr %add.ptr.i.i.i497, ptr %_M_finish.i.i.i496, align 8 - %.pre.i510 = load ptr, ptr %seq_from_entropy, align 8 - %.pre7.i511 = load ptr, ptr %_M_finish.i.i.i, align 8 - %cmp.i.i.i515 = icmp eq ptr %.pre.i510, %.pre7.i511 - %sub.ptr.lhs.cast.i.i522 = ptrtoint ptr %.pre7.i511 to i64 - %sub.ptr.rhs.cast.i.i523 = ptrtoint ptr %.pre.i510 to i64 - %sub.ptr.sub.i.i524 = sub i64 %sub.ptr.lhs.cast.i.i522, %sub.ptr.rhs.cast.i.i523 - %sub.ptr.div.i.i525 = ashr exact i64 %sub.ptr.sub.i.i524, 2 - br label %for.body.i512 - -for.body.i512: ; preds = %cond.end.i519, %call5.i.i.i.i2.i.i.noexc503 - %index.06.i513 = phi i64 [ 0, %call5.i.i.i.i2.i.i.noexc503 ], [ %spec.select.i527, %cond.end.i519 ] - %begin.sroa.0.05.i514.idx = phi i64 [ 0, %call5.i.i.i.i2.i.i.noexc503 ], [ %begin.sroa.0.05.i514.add, %cond.end.i519 ] - %begin.sroa.0.05.i514.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i504, i64 %begin.sroa.0.05.i514.idx - br i1 %cmp.i.i.i515, label %cond.end.i519, label %cond.false.i516 - -cond.false.i516: ; preds = %for.body.i512 - %inc.i517 = add i64 %index.06.i513, 1 - %add.ptr.i.i518 = getelementptr inbounds i32, ptr %.pre.i510, i64 %index.06.i513 - %93 = load i32, ptr %add.ptr.i.i518, align 4 - br label %cond.end.i519 - -cond.end.i519: ; preds = %cond.false.i516, %for.body.i512 - %index.1.i520 = phi i64 [ %index.06.i513, %for.body.i512 ], [ %inc.i517, %cond.false.i516 ] - %cond.i521 = phi i32 [ 0, %for.body.i512 ], [ %93, %cond.false.i516 ] - store i32 %cond.i521, ptr %begin.sroa.0.05.i514.ptr, align 4 - %cmp.not.i526 = icmp ult i64 %index.1.i520, %sub.ptr.div.i.i525 - %spec.select.i527 = select i1 %cmp.not.i526, i64 %index.1.i520, i64 0 - %begin.sroa.0.05.i514.add = add nuw nsw i64 %begin.sroa.0.05.i514.idx, 4 - %cmp.i.not.i529 = icmp eq i64 %begin.sroa.0.05.i514.add, 4000 - br i1 %cmp.i.not.i529, label %_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit530, label %for.body.i512, !llvm.loop !44 - -_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit530: ; preds = %cond.end.i519 + %call5.i.i.i.i2.i.i503 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 + to label %call5.i.i.i.i2.i.i.noexc502 unwind label %lpad238 + +call5.i.i.i.i2.i.i.noexc502: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit494 + store ptr %call5.i.i.i.i2.i.i503, ptr %seeds_1235, align 8 + %_M_finish.i.i.i495 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %seeds_1235, i64 0, i32 1 + %add.ptr.i.i.i496 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i503, i64 1000 + %_M_end_of_storage.i.i.i497 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %seeds_1235, i64 0, i32 2 + store ptr %add.ptr.i.i.i496, ptr %_M_end_of_storage.i.i.i497, align 8 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i503, i8 0, i64 4000, i1 false) + store ptr %add.ptr.i.i.i496, ptr %_M_finish.i.i.i495, align 8 + %.pre.i509 = load ptr, ptr %seq_from_entropy, align 8 + %.pre7.i510 = load ptr, ptr %_M_finish.i.i.i, align 8 + %cmp.i.i.i514 = icmp eq ptr %.pre.i509, %.pre7.i510 + %sub.ptr.lhs.cast.i.i521 = ptrtoint ptr %.pre7.i510 to i64 + %sub.ptr.rhs.cast.i.i522 = ptrtoint ptr %.pre.i509 to i64 + %sub.ptr.sub.i.i523 = sub i64 %sub.ptr.lhs.cast.i.i521, %sub.ptr.rhs.cast.i.i522 + %sub.ptr.div.i.i524 = ashr exact i64 %sub.ptr.sub.i.i523, 2 + br label %for.body.i511 + +for.body.i511: ; preds = %cond.end.i518, %call5.i.i.i.i2.i.i.noexc502 + %index.06.i512 = phi i64 [ 0, %call5.i.i.i.i2.i.i.noexc502 ], [ %spec.select.i526, %cond.end.i518 ] + %begin.sroa.0.05.i513.idx = phi i64 [ 0, %call5.i.i.i.i2.i.i.noexc502 ], [ %begin.sroa.0.05.i513.add, %cond.end.i518 ] + %begin.sroa.0.05.i513.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i503, i64 %begin.sroa.0.05.i513.idx + br i1 %cmp.i.i.i514, label %cond.end.i518, label %cond.false.i515 + +cond.false.i515: ; preds = %for.body.i511 + %inc.i516 = add i64 %index.06.i512, 1 + %add.ptr.i.i517 = getelementptr inbounds i32, ptr %.pre.i509, i64 %index.06.i512 + %93 = load i32, ptr %add.ptr.i.i517, align 4 + br label %cond.end.i518 + +cond.end.i518: ; preds = %cond.false.i515, %for.body.i511 + %index.1.i519 = phi i64 [ %index.06.i512, %for.body.i511 ], [ %inc.i516, %cond.false.i515 ] + %cond.i520 = phi i32 [ 0, %for.body.i511 ], [ %93, %cond.false.i515 ] + store i32 %cond.i520, ptr %begin.sroa.0.05.i513.ptr, align 4 + %cmp.not.i525 = icmp ult i64 %index.1.i519, %sub.ptr.div.i.i524 + %spec.select.i526 = select i1 %cmp.not.i525, i64 %index.1.i519, i64 0 + %begin.sroa.0.05.i513.add = add nuw nsw i64 %begin.sroa.0.05.i513.idx, 4 + %cmp.i.not.i528 = icmp eq i64 %begin.sroa.0.05.i513.add, 4000 + br i1 %cmp.i.not.i528, label %_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit529, label %for.body.i511, !llvm.loop !44 + +_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit529: ; preds = %cond.end.i518 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %seq_from_entropy, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i.i540 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 - to label %for.body.i.i.i.i.i.i.i.i.i535 unwind label %lpad254 - -for.body.i.i.i.i.i.i.i.i.i535: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit530, %for.body.i.i.i.i.i.i.i.i.i535 - %__first.addr.04.i.i.i.i.i.i.i.i.i536.idx = phi i64 [ %__first.addr.04.i.i.i.i.i.i.i.i.i536.add, %for.body.i.i.i.i.i.i.i.i.i535 ], [ 0, %_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit530 ] - %__first.addr.04.i.i.i.i.i.i.i.i.i536.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i540, i64 %__first.addr.04.i.i.i.i.i.i.i.i.i536.idx - store i32 1, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i536.ptr, align 4 - %__first.addr.04.i.i.i.i.i.i.i.i.i536.add = add nuw nsw i64 %__first.addr.04.i.i.i.i.i.i.i.i.i536.idx, 4 - %cmp.not.i.i.i.i.i.i.i.i.i538 = icmp eq i64 %__first.addr.04.i.i.i.i.i.i.i.i.i536.add, 4000 - br i1 %cmp.not.i.i.i.i.i.i.i.i.i538, label %for.body.i548, label %for.body.i.i.i.i.i.i.i.i.i535, !llvm.loop !43 - -for.body.i548: ; preds = %for.body.i.i.i.i.i.i.i.i.i535, %cond.end.i555 - %index.06.i549 = phi i64 [ %spec.select.i563, %cond.end.i555 ], [ 0, %for.body.i.i.i.i.i.i.i.i.i535 ] - %begin.sroa.0.05.i550.idx = phi i64 [ %begin.sroa.0.05.i550.add, %cond.end.i555 ], [ 0, %for.body.i.i.i.i.i.i.i.i.i535 ] - %begin.sroa.0.05.i550.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i540, i64 %begin.sroa.0.05.i550.idx - br i1 %cmp.i.i.i515, label %cond.end.i555, label %cond.false.i552 - -cond.false.i552: ; preds = %for.body.i548 - %inc.i553 = add i64 %index.06.i549, 1 - %add.ptr.i.i554 = getelementptr inbounds i32, ptr %.pre.i510, i64 %index.06.i549 - %94 = load i32, ptr %add.ptr.i.i554, align 4 - br label %cond.end.i555 - -cond.end.i555: ; preds = %cond.false.i552, %for.body.i548 - %index.1.i556 = phi i64 [ %index.06.i549, %for.body.i548 ], [ %inc.i553, %cond.false.i552 ] - %cond.i557 = phi i32 [ 0, %for.body.i548 ], [ %94, %cond.false.i552 ] - store i32 %cond.i557, ptr %begin.sroa.0.05.i550.ptr, align 4 - %cmp.not.i562 = icmp ult i64 %index.1.i556, %sub.ptr.div.i.i525 - %spec.select.i563 = select i1 %cmp.not.i562, i64 %index.1.i556, i64 0 - %begin.sroa.0.05.i550.add = add nuw nsw i64 %begin.sroa.0.05.i550.idx, 4 - %cmp.i.not.i565 = icmp eq i64 %begin.sroa.0.05.i550.add, 4000 - br i1 %cmp.i.not.i565, label %invoke.cont273, label %for.body.i548, !llvm.loop !44 - -invoke.cont273: ; preds = %cond.end.i555 + %call5.i.i.i.i2.i.i539 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 + to label %for.body.i.i.i.i.i.i.i.i.i534 unwind label %lpad254 + +for.body.i.i.i.i.i.i.i.i.i534: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit529, %for.body.i.i.i.i.i.i.i.i.i534 + %__first.addr.04.i.i.i.i.i.i.i.i.i535.idx = phi i64 [ %__first.addr.04.i.i.i.i.i.i.i.i.i535.add, %for.body.i.i.i.i.i.i.i.i.i534 ], [ 0, %_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit529 ] + %__first.addr.04.i.i.i.i.i.i.i.i.i535.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i539, i64 %__first.addr.04.i.i.i.i.i.i.i.i.i535.idx + store i32 1, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i535.ptr, align 4 + %__first.addr.04.i.i.i.i.i.i.i.i.i535.add = add nuw nsw i64 %__first.addr.04.i.i.i.i.i.i.i.i.i535.idx, 4 + %cmp.not.i.i.i.i.i.i.i.i.i537 = icmp eq i64 %__first.addr.04.i.i.i.i.i.i.i.i.i535.add, 4000 + br i1 %cmp.not.i.i.i.i.i.i.i.i.i537, label %for.body.i547, label %for.body.i.i.i.i.i.i.i.i.i534, !llvm.loop !43 + +for.body.i547: ; preds = %for.body.i.i.i.i.i.i.i.i.i534, %cond.end.i554 + %index.06.i548 = phi i64 [ %spec.select.i562, %cond.end.i554 ], [ 0, %for.body.i.i.i.i.i.i.i.i.i534 ] + %begin.sroa.0.05.i549.idx = phi i64 [ %begin.sroa.0.05.i549.add, %cond.end.i554 ], [ 0, %for.body.i.i.i.i.i.i.i.i.i534 ] + %begin.sroa.0.05.i549.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i539, i64 %begin.sroa.0.05.i549.idx + br i1 %cmp.i.i.i514, label %cond.end.i554, label %cond.false.i551 + +cond.false.i551: ; preds = %for.body.i547 + %inc.i552 = add i64 %index.06.i548, 1 + %add.ptr.i.i553 = getelementptr inbounds i32, ptr %.pre.i509, i64 %index.06.i548 + %94 = load i32, ptr %add.ptr.i.i553, align 4 + br label %cond.end.i554 + +cond.end.i554: ; preds = %cond.false.i551, %for.body.i547 + %index.1.i555 = phi i64 [ %index.06.i548, %for.body.i547 ], [ %inc.i552, %cond.false.i551 ] + %cond.i556 = phi i32 [ 0, %for.body.i547 ], [ %94, %cond.false.i551 ] + store i32 %cond.i556, ptr %begin.sroa.0.05.i549.ptr, align 4 + %cmp.not.i561 = icmp ult i64 %index.1.i555, %sub.ptr.div.i.i524 + %spec.select.i562 = select i1 %cmp.not.i561, i64 %index.1.i555, i64 0 + %begin.sroa.0.05.i549.add = add nuw nsw i64 %begin.sroa.0.05.i549.idx, 4 + %cmp.i.not.i564 = icmp eq i64 %begin.sroa.0.05.i549.add, 4000 + br i1 %cmp.i.not.i564, label %invoke.cont273, label %for.body.i547, !llvm.loop !44 + +invoke.cont273: ; preds = %cond.end.i554 call void @llvm.experimental.noalias.scope.decl(metadata !57) - %rhs_.i.i.i598 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp268, i64 0, i32 1 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %rhs_.i.i.i598, i8 0, i64 24, i1 false), !alias.scope !57 - %call5.i.i.i.i2.i6.i.i.i2.i599 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 - to label %if.then.i.i.i.i.i601 unwind label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i600, !noalias !57 - -if.then.i.i.i.i.i601: ; preds = %invoke.cont273 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i599, ptr %rhs_.i.i.i598, align 8, !alias.scope !57 - %_M_finish.i.i.i.i.i.i603 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp268, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i604 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i599, i64 1000 - %_M_end_of_storage.i.i.i.i.i.i605 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp268, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i604, ptr %_M_end_of_storage.i.i.i.i.i.i605, align 8, !alias.scope !57 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i599, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i540, i64 4000, i1 false) - store ptr %add.ptr.i.i.i.i.i.i604, ptr %_M_finish.i.i.i.i.i.i603, align 8, !alias.scope !57 + %rhs_.i.i.i597 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp268, i64 0, i32 1 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %rhs_.i.i.i597, i8 0, i64 24, i1 false), !alias.scope !57 + %call5.i.i.i.i2.i6.i.i.i2.i598 = invoke noalias noundef nonnull dereferenceable(4000) ptr @_Znwm(i64 noundef 4000) #22 + to label %if.then.i.i.i.i.i600 unwind label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i599, !noalias !57 + +if.then.i.i.i.i.i600: ; preds = %invoke.cont273 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i598, ptr %rhs_.i.i.i597, align 8, !alias.scope !57 + %_M_finish.i.i.i.i.i.i601 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp268, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i602 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i598, i64 4000 + %_M_end_of_storage.i.i.i.i.i.i603 = getelementptr inbounds %"class.testing::internal::PointwiseMatcher", ptr %ref.tmp268, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i602, ptr %_M_end_of_storage.i.i.i.i.i.i603, align 8, !alias.scope !57 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i6.i.i.i2.i598, ptr noundef nonnull align 4 dereferenceable(4000) %call5.i.i.i.i2.i.i539, i64 4000, i1 false) + store ptr %add.ptr.i.i.i.i.i.i602, ptr %_M_finish.i.i.i.i.i.i601, align 8, !alias.scope !57 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEEEEclIS6_EENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar267, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp268, ptr noundef nonnull @.str.24, ptr noundef nonnull align 8 dereferenceable(24) %seeds_1235) to label %invoke.cont277 unwind label %lpad276 -_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i600: ; preds = %invoke.cont273 +_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i599: ; preds = %invoke.cont273 %95 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIjSaIjEED2Ev.exit755 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit754 -invoke.cont277: ; preds = %if.then.i.i.i.i.i601 - %96 = load ptr, ptr %rhs_.i.i.i598, align 8 - %tobool.not.i.i.i.i.i619 = icmp eq ptr %96, null - br i1 %tobool.not.i.i.i.i.i619, label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit625, label %if.then.i.i.i.i.i620 +invoke.cont277: ; preds = %if.then.i.i.i.i.i600 + %96 = load ptr, ptr %rhs_.i.i.i597, align 8 + %tobool.not.i.i.i.i.i618 = icmp eq ptr %96, null + br i1 %tobool.not.i.i.i.i.i618, label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit624, label %if.then.i.i.i.i.i619 -if.then.i.i.i.i.i620: ; preds = %invoke.cont277 +if.then.i.i.i.i.i619: ; preds = %invoke.cont277 call void @_ZdlPv(ptr noundef nonnull %96) #19 - br label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit625 + br label %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit624 -_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit625: ; preds = %invoke.cont277, %if.then.i.i.i.i.i620 +_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit624: ; preds = %invoke.cont277, %if.then.i.i.i.i.i619 %97 = load i8, ptr %gtest_ar267, align 8 %98 = and i8 %97, 1 - %tobool.i626.not = icmp eq i8 %98, 0 - br i1 %tobool.i626.not, label %if.else284, label %if.end296 + %tobool.i625.not = icmp eq i8 %98, 0 + br i1 %tobool.i625.not, label %if.else284, label %if.end296 -ehcleanup231: ; preds = %_ZN7testing7MessageD2Ev.exit482, %lpad214 - %.pn27.pn = phi { ptr, i32 } [ %.pn27, %_ZN7testing7MessageD2Ev.exit482 ], [ %82, %lpad214 ] +ehcleanup231: ; preds = %_ZN7testing7MessageD2Ev.exit481, %lpad214 + %.pn27.pn = phi { ptr, i32 } [ %.pn27, %_ZN7testing7MessageD2Ev.exit481 ], [ %82, %lpad214 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar201) #18 br label %ehcleanup233 -ehcleanup233: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i432, %lpad210, %if.then.i.i.i.i.i461, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i275, %if.then.i.i.i.i.i321, %lpad135, %ehcleanup180, %ehcleanup231 - %.pn27.pn.pn = phi { ptr, i32 } [ %.pn27.pn, %ehcleanup231 ], [ %47, %lpad135 ], [ %.pn22.pn, %ehcleanup180 ], [ %40, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i275 ], [ %.pn19, %if.then.i.i.i.i.i321 ], [ %76, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i432 ], [ %80, %lpad210 ], [ %80, %if.then.i.i.i.i.i461 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i190) #19 - %.pre831 = load ptr, ptr %seeds_1115, align 8 - %tobool.not.i.i.i630 = icmp eq ptr %.pre831, null - br i1 %tobool.not.i.i.i630, label %ehcleanup234, label %if.then.i.i.i631 +ehcleanup233: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i431, %lpad210, %if.then.i.i.i.i.i460, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i274, %if.then.i.i.i.i.i320, %lpad135, %ehcleanup180, %ehcleanup231 + %.pn27.pn.pn = phi { ptr, i32 } [ %.pn27.pn, %ehcleanup231 ], [ %47, %lpad135 ], [ %.pn22.pn, %ehcleanup180 ], [ %40, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i274 ], [ %.pn19, %if.then.i.i.i.i.i320 ], [ %76, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i431 ], [ %80, %lpad210 ], [ %80, %if.then.i.i.i.i.i460 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i189) #19 + %.pre830 = load ptr, ptr %seeds_1115, align 8 + %tobool.not.i.i.i629 = icmp eq ptr %.pre830, null + br i1 %tobool.not.i.i.i629, label %ehcleanup234, label %if.then.i.i.i630 -if.then.i.i.i631: ; preds = %ehcleanup233.thread, %ehcleanup233 - %.pn27.pn.pn.pn837 = phi { ptr, i32 } [ %46, %ehcleanup233.thread ], [ %.pn27.pn.pn, %ehcleanup233 ] - %99 = phi ptr [ %call5.i.i.i.i2.i.i180, %ehcleanup233.thread ], [ %.pre831, %ehcleanup233 ] +if.then.i.i.i630: ; preds = %ehcleanup233.thread, %ehcleanup233 + %.pn27.pn.pn.pn836 = phi { ptr, i32 } [ %46, %ehcleanup233.thread ], [ %.pn27.pn.pn, %ehcleanup233 ] + %99 = phi ptr [ %call5.i.i.i.i2.i.i179, %ehcleanup233.thread ], [ %.pre830, %ehcleanup233 ] call void @_ZdlPv(ptr noundef nonnull %99) #19 br label %ehcleanup234 -ehcleanup234: ; preds = %if.then.i.i.i631, %ehcleanup233, %lpad118 - %.pn27.pn.pn.pn.pn = phi { ptr, i32 } [ %45, %lpad118 ], [ %.pn27.pn.pn, %ehcleanup233 ], [ %.pn27.pn.pn.pn837, %if.then.i.i.i631 ] +ehcleanup234: ; preds = %if.then.i.i.i630, %ehcleanup233, %lpad118 + %.pn27.pn.pn.pn.pn = phi { ptr, i32 } [ %45, %lpad118 ], [ %.pn27.pn.pn, %ehcleanup233 ], [ %.pn27.pn.pn.pn836, %if.then.i.i.i630 ] %100 = load ptr, ptr %another_seq, align 8 - %tobool.not.i.i.i.i633 = icmp eq ptr %100, null - br i1 %tobool.not.i.i.i.i633, label %ehcleanup377, label %if.then.i.i.i.i634 + %tobool.not.i.i.i.i632 = icmp eq ptr %100, null + br i1 %tobool.not.i.i.i.i632, label %ehcleanup377, label %if.then.i.i.i.i633 -if.then.i.i.i.i634: ; preds = %ehcleanup234 +if.then.i.i.i.i633: ; preds = %ehcleanup234 call void @_ZdlPv(ptr noundef nonnull %100) #19 br label %ehcleanup377 -lpad238: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit495 +lpad238: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit494 %101 = landingpad { ptr, i32 } cleanup br label %ehcleanup377 -lpad254: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit530 +lpad254: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeq8generateIN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEEEEvT_SA_.exit529 %102 = landingpad { ptr, i32 } cleanup br label %ehcleanup375 -lpad265: ; preds = %if.end.i.i670, %if.then.i.i671, %invoke.cont349 +lpad265: ; preds = %if.end.i.i669, %if.then.i.i670, %invoke.cont349 %103 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIjSaIjEED2Ev.exit755 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit754 -lpad276: ; preds = %if.then.i.i.i.i.i601 +lpad276: ; preds = %if.then.i.i.i.i.i600 %104 = landingpad { ptr, i32 } cleanup - %105 = load ptr, ptr %rhs_.i.i.i598, align 8 - %tobool.not.i.i.i.i.i637 = icmp eq ptr %105, null - br i1 %tobool.not.i.i.i.i.i637, label %_ZNSt6vectorIjSaIjEED2Ev.exit755, label %if.then.i.i.i.i.i638 + %105 = load ptr, ptr %rhs_.i.i.i597, align 8 + %tobool.not.i.i.i.i.i636 = icmp eq ptr %105, null + br i1 %tobool.not.i.i.i.i.i636, label %_ZNSt6vectorIjSaIjEED2Ev.exit754, label %if.then.i.i.i.i.i637 -if.then.i.i.i.i.i638: ; preds = %lpad276 +if.then.i.i.i.i.i637: ; preds = %lpad276 call void @_ZdlPv(ptr noundef nonnull %105) #19 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit755 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit754 lpad280: ; preds = %if.else284 %106 = landingpad { ptr, i32 } cleanup br label %ehcleanup297 -if.else284: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit625 +if.else284: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit624 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp285) to label %invoke.cont286 unwind label %lpad280 invoke.cont286: ; preds = %if.else284 - %message_.i.i644 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar267, i64 0, i32 1 - %107 = load ptr, ptr %message_.i.i644, align 8 - %cmp.i.i.not.i.i645 = icmp eq ptr %107, null - br i1 %cmp.i.i.not.i.i645, label %invoke.cont289, label %cond.true.i.i646 + %message_.i.i643 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar267, i64 0, i32 1 + %107 = load ptr, ptr %message_.i.i643, align 8 + %cmp.i.i.not.i.i644 = icmp eq ptr %107, null + br i1 %cmp.i.i.not.i.i644, label %invoke.cont289, label %cond.true.i.i645 -cond.true.i.i646: ; preds = %invoke.cont286 - %call4.i.i647 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #18 +cond.true.i.i645: ; preds = %invoke.cont286 + %call4.i.i646 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #18 br label %invoke.cont289 -invoke.cont289: ; preds = %cond.true.i.i646, %invoke.cont286 - %cond.i.i648 = phi ptr [ %call4.i.i647, %cond.true.i.i646 ], [ @.str.28, %invoke.cont286 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp287, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 197, ptr noundef %cond.i.i648) +invoke.cont289: ; preds = %cond.true.i.i645, %invoke.cont286 + %cond.i.i647 = phi ptr [ %call4.i.i646, %cond.true.i.i645 ], [ @.str.28, %invoke.cont286 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp287, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 197, ptr noundef %cond.i.i647) to label %invoke.cont291 unwind label %lpad288 invoke.cont291: ; preds = %invoke.cont289 @@ -3931,17 +3931,17 @@ invoke.cont291: ; preds = %invoke.cont289 invoke.cont293: ; preds = %invoke.cont291 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp287) #18 %108 = load ptr, ptr %ref.tmp285, align 8 - %cmp.not.i.i650 = icmp eq ptr %108, null - br i1 %cmp.not.i.i650, label %_ZN7testing7MessageD2Ev.exit654, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651 + %cmp.not.i.i649 = icmp eq ptr %108, null + br i1 %cmp.not.i.i649, label %_ZN7testing7MessageD2Ev.exit653, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i650 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651: ; preds = %invoke.cont293 - %vtable.i.i.i652 = load ptr, ptr %108, align 8 - %vfn.i.i.i653 = getelementptr inbounds ptr, ptr %vtable.i.i.i652, i64 1 - %109 = load ptr, ptr %vfn.i.i.i653, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i650: ; preds = %invoke.cont293 + %vtable.i.i.i651 = load ptr, ptr %108, align 8 + %vfn.i.i.i652 = getelementptr inbounds ptr, ptr %vtable.i.i.i651, i64 1 + %109 = load ptr, ptr %vfn.i.i.i652, align 8 call void %109(ptr noundef nonnull align 8 dereferenceable(128) %108) #18 - br label %_ZN7testing7MessageD2Ev.exit654 + br label %_ZN7testing7MessageD2Ev.exit653 -_ZN7testing7MessageD2Ev.exit654: ; preds = %invoke.cont293, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651 +_ZN7testing7MessageD2Ev.exit653: ; preds = %invoke.cont293, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i650 store ptr null, ptr %ref.tmp285, align 8 br label %if.end296 @@ -3959,62 +3959,62 @@ lpad292: ; preds = %invoke.cont291 ehcleanup295: ; preds = %lpad292, %lpad288 %.pn35 = phi { ptr, i32 } [ %111, %lpad292 ], [ %110, %lpad288 ] %112 = load ptr, ptr %ref.tmp285, align 8 - %cmp.not.i.i655 = icmp eq ptr %112, null - br i1 %cmp.not.i.i655, label %_ZN7testing7MessageD2Ev.exit659, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i656 + %cmp.not.i.i654 = icmp eq ptr %112, null + br i1 %cmp.not.i.i654, label %_ZN7testing7MessageD2Ev.exit658, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i655 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i656: ; preds = %ehcleanup295 - %vtable.i.i.i657 = load ptr, ptr %112, align 8 - %vfn.i.i.i658 = getelementptr inbounds ptr, ptr %vtable.i.i.i657, i64 1 - %113 = load ptr, ptr %vfn.i.i.i658, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i655: ; preds = %ehcleanup295 + %vtable.i.i.i656 = load ptr, ptr %112, align 8 + %vfn.i.i.i657 = getelementptr inbounds ptr, ptr %vtable.i.i.i656, i64 1 + %113 = load ptr, ptr %vfn.i.i.i657, align 8 call void %113(ptr noundef nonnull align 8 dereferenceable(128) %112) #18 - br label %_ZN7testing7MessageD2Ev.exit659 + br label %_ZN7testing7MessageD2Ev.exit658 -_ZN7testing7MessageD2Ev.exit659: ; preds = %ehcleanup295, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i656 +_ZN7testing7MessageD2Ev.exit658: ; preds = %ehcleanup295, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i655 store ptr null, ptr %ref.tmp285, align 8 br label %ehcleanup297 -if.end296: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit625, %_ZN7testing7MessageD2Ev.exit654 - %message_.i660 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar267, i64 0, i32 1 - %114 = load ptr, ptr %message_.i660, align 8 - %cmp.not.i.i661 = icmp eq ptr %114, null - br i1 %cmp.not.i.i661, label %_ZN7testing15AssertionResultD2Ev.exit663, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i662 +if.end296: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit624, %_ZN7testing7MessageD2Ev.exit653 + %message_.i659 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar267, i64 0, i32 1 + %114 = load ptr, ptr %message_.i659, align 8 + %cmp.not.i.i660 = icmp eq ptr %114, null + br i1 %cmp.not.i.i660, label %_ZN7testing15AssertionResultD2Ev.exit662, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i661 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i662: ; preds = %if.end296 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i661: ; preds = %if.end296 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #18 call void @_ZdlPv(ptr noundef nonnull %114) #19 - br label %_ZN7testing15AssertionResultD2Ev.exit663 + br label %_ZN7testing15AssertionResultD2Ev.exit662 -_ZN7testing15AssertionResultD2Ev.exit663: ; preds = %if.end296, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i662 - store ptr null, ptr %message_.i660, align 8 +_ZN7testing15AssertionResultD2Ev.exit662: ; preds = %if.end296, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i661 + store ptr null, ptr %message_.i659, align 8 %115 = load ptr, ptr %_M_finish.i.i.i, align 8 %116 = load ptr, ptr %seq_from_entropy, align 8 - %sub.ptr.lhs.cast.i.i665 = ptrtoint ptr %115 to i64 - %sub.ptr.rhs.cast.i.i666 = ptrtoint ptr %116 to i64 - %sub.ptr.sub.i.i667 = sub i64 %sub.ptr.lhs.cast.i.i665, %sub.ptr.rhs.cast.i.i666 - %sub.ptr.div.i.i668 = ashr exact i64 %sub.ptr.sub.i.i667, 2 - store i64 %sub.ptr.div.i.i668, ptr %ref.tmp299, align 8 + %sub.ptr.lhs.cast.i.i664 = ptrtoint ptr %115 to i64 + %sub.ptr.rhs.cast.i.i665 = ptrtoint ptr %116 to i64 + %sub.ptr.sub.i.i666 = sub i64 %sub.ptr.lhs.cast.i.i664, %sub.ptr.rhs.cast.i.i665 + %sub.ptr.div.i.i667 = ashr exact i64 %sub.ptr.sub.i.i666, 2 + store i64 %sub.ptr.div.i.i667, ptr %ref.tmp299, align 8 store i32 0, ptr %ref.tmp302, align 4 - %cmp.i.i669 = icmp eq ptr %115, %116 - br i1 %cmp.i.i669, label %if.then.i.i671, label %if.end.i.i670 + %cmp.i.i668 = icmp eq ptr %115, %116 + br i1 %cmp.i.i668, label %if.then.i.i670, label %if.end.i.i669 -if.then.i.i671: ; preds = %_ZN7testing15AssertionResultD2Ev.exit663 +if.then.i.i670: ; preds = %_ZN7testing15AssertionResultD2Ev.exit662 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar298) to label %invoke.cont303 unwind label %lpad265 -if.end.i.i670: ; preds = %_ZN7testing15AssertionResultD2Ev.exit663 +if.end.i.i669: ; preds = %_ZN7testing15AssertionResultD2Ev.exit662 invoke void @_ZN7testing8internal18CmpHelperEQFailureImiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar298, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.12, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp299, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp302) to label %invoke.cont303 unwind label %lpad265 -invoke.cont303: ; preds = %if.then.i.i671, %if.end.i.i670 +invoke.cont303: ; preds = %if.then.i.i670, %if.end.i.i669 %117 = load i8, ptr %gtest_ar298, align 8 %118 = and i8 %117, 1 - %tobool.i674.not = icmp eq i8 %118, 0 - br i1 %tobool.i674.not, label %if.else308, label %if.end320 + %tobool.i673.not = icmp eq i8 %118, 0 + br i1 %tobool.i673.not, label %if.else308, label %if.end320 -ehcleanup297: ; preds = %_ZN7testing7MessageD2Ev.exit659, %lpad280 - %.pn35.pn = phi { ptr, i32 } [ %.pn35, %_ZN7testing7MessageD2Ev.exit659 ], [ %106, %lpad280 ] +ehcleanup297: ; preds = %_ZN7testing7MessageD2Ev.exit658, %lpad280 + %.pn35.pn = phi { ptr, i32 } [ %.pn35, %_ZN7testing7MessageD2Ev.exit658 ], [ %106, %lpad280 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar267) #18 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit755 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit754 lpad304: ; preds = %if.else308 %119 = landingpad { ptr, i32 } @@ -4026,18 +4026,18 @@ if.else308: ; preds = %invoke.cont303 to label %invoke.cont310 unwind label %lpad304 invoke.cont310: ; preds = %if.else308 - %message_.i.i675 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar298, i64 0, i32 1 - %120 = load ptr, ptr %message_.i.i675, align 8 - %cmp.i.i.not.i.i676 = icmp eq ptr %120, null - br i1 %cmp.i.i.not.i.i676, label %invoke.cont313, label %cond.true.i.i677 + %message_.i.i674 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar298, i64 0, i32 1 + %120 = load ptr, ptr %message_.i.i674, align 8 + %cmp.i.i.not.i.i675 = icmp eq ptr %120, null + br i1 %cmp.i.i.not.i.i675, label %invoke.cont313, label %cond.true.i.i676 -cond.true.i.i677: ; preds = %invoke.cont310 - %call4.i.i678 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %120) #18 +cond.true.i.i676: ; preds = %invoke.cont310 + %call4.i.i677 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %120) #18 br label %invoke.cont313 -invoke.cont313: ; preds = %cond.true.i.i677, %invoke.cont310 - %cond.i.i679 = phi ptr [ %call4.i.i678, %cond.true.i.i677 ], [ @.str.28, %invoke.cont310 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp311, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 201, ptr noundef %cond.i.i679) +invoke.cont313: ; preds = %cond.true.i.i676, %invoke.cont310 + %cond.i.i678 = phi ptr [ %call4.i.i677, %cond.true.i.i676 ], [ @.str.28, %invoke.cont310 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp311, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 201, ptr noundef %cond.i.i678) to label %invoke.cont315 unwind label %lpad312 invoke.cont315: ; preds = %invoke.cont313 @@ -4047,17 +4047,17 @@ invoke.cont315: ; preds = %invoke.cont313 invoke.cont317: ; preds = %invoke.cont315 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp311) #18 %121 = load ptr, ptr %ref.tmp309, align 8 - %cmp.not.i.i681 = icmp eq ptr %121, null - br i1 %cmp.not.i.i681, label %_ZN7testing7MessageD2Ev.exit685, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i682 + %cmp.not.i.i680 = icmp eq ptr %121, null + br i1 %cmp.not.i.i680, label %_ZN7testing7MessageD2Ev.exit684, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i681 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i682: ; preds = %invoke.cont317 - %vtable.i.i.i683 = load ptr, ptr %121, align 8 - %vfn.i.i.i684 = getelementptr inbounds ptr, ptr %vtable.i.i.i683, i64 1 - %122 = load ptr, ptr %vfn.i.i.i684, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i681: ; preds = %invoke.cont317 + %vtable.i.i.i682 = load ptr, ptr %121, align 8 + %vfn.i.i.i683 = getelementptr inbounds ptr, ptr %vtable.i.i.i682, i64 1 + %122 = load ptr, ptr %vfn.i.i.i683, align 8 call void %122(ptr noundef nonnull align 8 dereferenceable(128) %121) #18 - br label %_ZN7testing7MessageD2Ev.exit685 + br label %_ZN7testing7MessageD2Ev.exit684 -_ZN7testing7MessageD2Ev.exit685: ; preds = %invoke.cont317, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i682 +_ZN7testing7MessageD2Ev.exit684: ; preds = %invoke.cont317, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i681 store ptr null, ptr %ref.tmp309, align 8 br label %if.end320 @@ -4075,74 +4075,74 @@ lpad316: ; preds = %invoke.cont315 ehcleanup319: ; preds = %lpad316, %lpad312 %.pn38 = phi { ptr, i32 } [ %124, %lpad316 ], [ %123, %lpad312 ] %125 = load ptr, ptr %ref.tmp309, align 8 - %cmp.not.i.i686 = icmp eq ptr %125, null - br i1 %cmp.not.i.i686, label %_ZN7testing7MessageD2Ev.exit690, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i687 + %cmp.not.i.i685 = icmp eq ptr %125, null + br i1 %cmp.not.i.i685, label %_ZN7testing7MessageD2Ev.exit689, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i686 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i687: ; preds = %ehcleanup319 - %vtable.i.i.i688 = load ptr, ptr %125, align 8 - %vfn.i.i.i689 = getelementptr inbounds ptr, ptr %vtable.i.i.i688, i64 1 - %126 = load ptr, ptr %vfn.i.i.i689, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i686: ; preds = %ehcleanup319 + %vtable.i.i.i687 = load ptr, ptr %125, align 8 + %vfn.i.i.i688 = getelementptr inbounds ptr, ptr %vtable.i.i.i687, i64 1 + %126 = load ptr, ptr %vfn.i.i.i688, align 8 call void %126(ptr noundef nonnull align 8 dereferenceable(128) %125) #18 - br label %_ZN7testing7MessageD2Ev.exit690 + br label %_ZN7testing7MessageD2Ev.exit689 -_ZN7testing7MessageD2Ev.exit690: ; preds = %ehcleanup319, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i687 +_ZN7testing7MessageD2Ev.exit689: ; preds = %ehcleanup319, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i686 store ptr null, ptr %ref.tmp309, align 8 br label %ehcleanup321 -if.end320: ; preds = %invoke.cont303, %_ZN7testing7MessageD2Ev.exit685 - %message_.i691 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar298, i64 0, i32 1 - %127 = load ptr, ptr %message_.i691, align 8 - %cmp.not.i.i692 = icmp eq ptr %127, null - br i1 %cmp.not.i.i692, label %_ZN7testing15AssertionResultD2Ev.exit694, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i693 +if.end320: ; preds = %invoke.cont303, %_ZN7testing7MessageD2Ev.exit684 + %message_.i690 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar298, i64 0, i32 1 + %127 = load ptr, ptr %message_.i690, align 8 + %cmp.not.i.i691 = icmp eq ptr %127, null + br i1 %cmp.not.i.i691, label %_ZN7testing15AssertionResultD2Ev.exit693, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i692 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i693: ; preds = %if.end320 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i692: ; preds = %if.end320 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #18 call void @_ZdlPv(ptr noundef nonnull %127) #19 - br label %_ZN7testing15AssertionResultD2Ev.exit694 + br label %_ZN7testing15AssertionResultD2Ev.exit693 -_ZN7testing15AssertionResultD2Ev.exit694: ; preds = %if.end320, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i693 - store ptr null, ptr %message_.i691, align 8 +_ZN7testing15AssertionResultD2Ev.exit693: ; preds = %if.end320, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i692 + store ptr null, ptr %message_.i690, align 8 %128 = load ptr, ptr %seeds_1235, align 8 - %129 = load ptr, ptr %_M_finish.i.i.i496, align 8 - %cmp.i.not4.i696 = icmp eq ptr %128, %129 - br i1 %cmp.i.not4.i696, label %invoke.cont349, label %for.body.lr.ph.i697 - -for.body.lr.ph.i697: ; preds = %_ZN7testing15AssertionResultD2Ev.exit694 - %.pre.i699 = load ptr, ptr %seq_from_entropy, align 8 - %.pre7.i700 = load ptr, ptr %_M_finish.i.i.i, align 8 - br label %for.body.i701 - -for.body.i701: ; preds = %cond.end.i708, %for.body.lr.ph.i697 - %130 = phi ptr [ %.pre7.i700, %for.body.lr.ph.i697 ], [ %133, %cond.end.i708 ] - %131 = phi ptr [ %.pre.i699, %for.body.lr.ph.i697 ], [ %134, %cond.end.i708 ] - %index.06.i702 = phi i64 [ 0, %for.body.lr.ph.i697 ], [ %spec.select.i716, %cond.end.i708 ] - %begin.sroa.0.05.i703 = phi ptr [ %128, %for.body.lr.ph.i697 ], [ %incdec.ptr.i.i717, %cond.end.i708 ] - %cmp.i.i.i704 = icmp eq ptr %131, %130 - br i1 %cmp.i.i.i704, label %cond.end.i708, label %cond.false.i705 - -cond.false.i705: ; preds = %for.body.i701 - %inc.i706 = add i64 %index.06.i702, 1 - %add.ptr.i.i707 = getelementptr inbounds i32, ptr %131, i64 %index.06.i702 - %132 = load i32, ptr %add.ptr.i.i707, align 4 - br label %cond.end.i708 - -cond.end.i708: ; preds = %cond.false.i705, %for.body.i701 - %index.1.i709 = phi i64 [ %index.06.i702, %for.body.i701 ], [ %inc.i706, %cond.false.i705 ] - %cond.i710 = phi i32 [ 0, %for.body.i701 ], [ %132, %cond.false.i705 ] - store i32 %cond.i710, ptr %begin.sroa.0.05.i703, align 4 + %129 = load ptr, ptr %_M_finish.i.i.i495, align 8 + %cmp.i.not4.i695 = icmp eq ptr %128, %129 + br i1 %cmp.i.not4.i695, label %invoke.cont349, label %for.body.lr.ph.i696 + +for.body.lr.ph.i696: ; preds = %_ZN7testing15AssertionResultD2Ev.exit693 + %.pre.i698 = load ptr, ptr %seq_from_entropy, align 8 + %.pre7.i699 = load ptr, ptr %_M_finish.i.i.i, align 8 + br label %for.body.i700 + +for.body.i700: ; preds = %cond.end.i707, %for.body.lr.ph.i696 + %130 = phi ptr [ %.pre7.i699, %for.body.lr.ph.i696 ], [ %133, %cond.end.i707 ] + %131 = phi ptr [ %.pre.i698, %for.body.lr.ph.i696 ], [ %134, %cond.end.i707 ] + %index.06.i701 = phi i64 [ 0, %for.body.lr.ph.i696 ], [ %spec.select.i715, %cond.end.i707 ] + %begin.sroa.0.05.i702 = phi ptr [ %128, %for.body.lr.ph.i696 ], [ %incdec.ptr.i.i716, %cond.end.i707 ] + %cmp.i.i.i703 = icmp eq ptr %131, %130 + br i1 %cmp.i.i.i703, label %cond.end.i707, label %cond.false.i704 + +cond.false.i704: ; preds = %for.body.i700 + %inc.i705 = add i64 %index.06.i701, 1 + %add.ptr.i.i706 = getelementptr inbounds i32, ptr %131, i64 %index.06.i701 + %132 = load i32, ptr %add.ptr.i.i706, align 4 + br label %cond.end.i707 + +cond.end.i707: ; preds = %cond.false.i704, %for.body.i700 + %index.1.i708 = phi i64 [ %index.06.i701, %for.body.i700 ], [ %inc.i705, %cond.false.i704 ] + %cond.i709 = phi i32 [ 0, %for.body.i700 ], [ %132, %cond.false.i704 ] + store i32 %cond.i709, ptr %begin.sroa.0.05.i702, align 4 %133 = load ptr, ptr %_M_finish.i.i.i, align 8 %134 = load ptr, ptr %seq_from_entropy, align 8 - %sub.ptr.lhs.cast.i.i711 = ptrtoint ptr %133 to i64 - %sub.ptr.rhs.cast.i.i712 = ptrtoint ptr %134 to i64 - %sub.ptr.sub.i.i713 = sub i64 %sub.ptr.lhs.cast.i.i711, %sub.ptr.rhs.cast.i.i712 - %sub.ptr.div.i.i714 = ashr exact i64 %sub.ptr.sub.i.i713, 2 - %cmp.not.i715 = icmp ult i64 %index.1.i709, %sub.ptr.div.i.i714 - %spec.select.i716 = select i1 %cmp.not.i715, i64 %index.1.i709, i64 0 - %incdec.ptr.i.i717 = getelementptr inbounds i32, ptr %begin.sroa.0.05.i703, i64 1 - %cmp.i.not.i718 = icmp eq ptr %incdec.ptr.i.i717, %129 - br i1 %cmp.i.not.i718, label %invoke.cont349, label %for.body.i701, !llvm.loop !44 - -invoke.cont349: ; preds = %cond.end.i708, %_ZN7testing15AssertionResultD2Ev.exit694 + %sub.ptr.lhs.cast.i.i710 = ptrtoint ptr %133 to i64 + %sub.ptr.rhs.cast.i.i711 = ptrtoint ptr %134 to i64 + %sub.ptr.sub.i.i712 = sub i64 %sub.ptr.lhs.cast.i.i710, %sub.ptr.rhs.cast.i.i711 + %sub.ptr.div.i.i713 = ashr exact i64 %sub.ptr.sub.i.i712, 2 + %cmp.not.i714 = icmp ult i64 %index.1.i708, %sub.ptr.div.i.i713 + %spec.select.i715 = select i1 %cmp.not.i714, i64 %index.1.i708, i64 0 + %incdec.ptr.i.i716 = getelementptr inbounds i32, ptr %begin.sroa.0.05.i702, i64 1 + %cmp.i.not.i717 = icmp eq ptr %incdec.ptr.i.i716, %129 + br i1 %cmp.i.not.i717, label %invoke.cont349, label %for.body.i700, !llvm.loop !44 + +invoke.cont349: ; preds = %cond.end.i707, %_ZN7testing15AssertionResultD2Ev.exit693 store i32 0, ptr %ref.tmp332, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_11EachMatcherINS0_9EqMatcherIiEEEEEclISt6vectorIjSaIjEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar331, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp332, ptr noundef nonnull @.str.24, ptr noundef nonnull align 8 dereferenceable(24) %seeds_1235) to label %invoke.cont355 unwind label %lpad265 @@ -4150,13 +4150,13 @@ invoke.cont349: ; preds = %cond.end.i708, %_ZN invoke.cont355: ; preds = %invoke.cont349 %135 = load i8, ptr %gtest_ar331, align 8 %136 = and i8 %135, 1 - %tobool.i720.not = icmp eq i8 %136, 0 - br i1 %tobool.i720.not, label %if.else360, label %if.end372 + %tobool.i719.not = icmp eq i8 %136, 0 + br i1 %tobool.i719.not, label %if.else360, label %if.end372 -ehcleanup321: ; preds = %_ZN7testing7MessageD2Ev.exit690, %lpad304 - %.pn38.pn = phi { ptr, i32 } [ %.pn38, %_ZN7testing7MessageD2Ev.exit690 ], [ %119, %lpad304 ] +ehcleanup321: ; preds = %_ZN7testing7MessageD2Ev.exit689, %lpad304 + %.pn38.pn = phi { ptr, i32 } [ %.pn38, %_ZN7testing7MessageD2Ev.exit689 ], [ %119, %lpad304 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar298) #18 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit755 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit754 lpad356: ; preds = %if.else360 %137 = landingpad { ptr, i32 } @@ -4168,18 +4168,18 @@ if.else360: ; preds = %invoke.cont355 to label %invoke.cont362 unwind label %lpad356 invoke.cont362: ; preds = %if.else360 - %message_.i.i721 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar331, i64 0, i32 1 - %138 = load ptr, ptr %message_.i.i721, align 8 - %cmp.i.i.not.i.i722 = icmp eq ptr %138, null - br i1 %cmp.i.i.not.i.i722, label %invoke.cont365, label %cond.true.i.i723 + %message_.i.i720 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar331, i64 0, i32 1 + %138 = load ptr, ptr %message_.i.i720, align 8 + %cmp.i.i.not.i.i721 = icmp eq ptr %138, null + br i1 %cmp.i.i.not.i.i721, label %invoke.cont365, label %cond.true.i.i722 -cond.true.i.i723: ; preds = %invoke.cont362 - %call4.i.i724 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %138) #18 +cond.true.i.i722: ; preds = %invoke.cont362 + %call4.i.i723 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %138) #18 br label %invoke.cont365 -invoke.cont365: ; preds = %cond.true.i.i723, %invoke.cont362 - %cond.i.i725 = phi ptr [ %call4.i.i724, %cond.true.i.i723 ], [ @.str.28, %invoke.cont362 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp363, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 203, ptr noundef %cond.i.i725) +invoke.cont365: ; preds = %cond.true.i.i722, %invoke.cont362 + %cond.i.i724 = phi ptr [ %call4.i.i723, %cond.true.i.i722 ], [ @.str.28, %invoke.cont362 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp363, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 203, ptr noundef %cond.i.i724) to label %invoke.cont367 unwind label %lpad364 invoke.cont367: ; preds = %invoke.cont365 @@ -4189,17 +4189,17 @@ invoke.cont367: ; preds = %invoke.cont365 invoke.cont369: ; preds = %invoke.cont367 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp363) #18 %139 = load ptr, ptr %ref.tmp361, align 8 - %cmp.not.i.i727 = icmp eq ptr %139, null - br i1 %cmp.not.i.i727, label %_ZN7testing7MessageD2Ev.exit731, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i728 + %cmp.not.i.i726 = icmp eq ptr %139, null + br i1 %cmp.not.i.i726, label %_ZN7testing7MessageD2Ev.exit730, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i727 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i728: ; preds = %invoke.cont369 - %vtable.i.i.i729 = load ptr, ptr %139, align 8 - %vfn.i.i.i730 = getelementptr inbounds ptr, ptr %vtable.i.i.i729, i64 1 - %140 = load ptr, ptr %vfn.i.i.i730, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i727: ; preds = %invoke.cont369 + %vtable.i.i.i728 = load ptr, ptr %139, align 8 + %vfn.i.i.i729 = getelementptr inbounds ptr, ptr %vtable.i.i.i728, i64 1 + %140 = load ptr, ptr %vfn.i.i.i729, align 8 call void %140(ptr noundef nonnull align 8 dereferenceable(128) %139) #18 - br label %_ZN7testing7MessageD2Ev.exit731 + br label %_ZN7testing7MessageD2Ev.exit730 -_ZN7testing7MessageD2Ev.exit731: ; preds = %invoke.cont369, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i728 +_ZN7testing7MessageD2Ev.exit730: ; preds = %invoke.cont369, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i727 store ptr null, ptr %ref.tmp361, align 8 br label %if.end372 @@ -4217,117 +4217,117 @@ lpad368: ; preds = %invoke.cont367 ehcleanup371: ; preds = %lpad368, %lpad364 %.pn41 = phi { ptr, i32 } [ %142, %lpad368 ], [ %141, %lpad364 ] %143 = load ptr, ptr %ref.tmp361, align 8 - %cmp.not.i.i732 = icmp eq ptr %143, null - br i1 %cmp.not.i.i732, label %_ZN7testing7MessageD2Ev.exit736, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i733 + %cmp.not.i.i731 = icmp eq ptr %143, null + br i1 %cmp.not.i.i731, label %_ZN7testing7MessageD2Ev.exit735, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i732 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i733: ; preds = %ehcleanup371 - %vtable.i.i.i734 = load ptr, ptr %143, align 8 - %vfn.i.i.i735 = getelementptr inbounds ptr, ptr %vtable.i.i.i734, i64 1 - %144 = load ptr, ptr %vfn.i.i.i735, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i732: ; preds = %ehcleanup371 + %vtable.i.i.i733 = load ptr, ptr %143, align 8 + %vfn.i.i.i734 = getelementptr inbounds ptr, ptr %vtable.i.i.i733, i64 1 + %144 = load ptr, ptr %vfn.i.i.i734, align 8 call void %144(ptr noundef nonnull align 8 dereferenceable(128) %143) #18 - br label %_ZN7testing7MessageD2Ev.exit736 + br label %_ZN7testing7MessageD2Ev.exit735 -_ZN7testing7MessageD2Ev.exit736: ; preds = %ehcleanup371, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i733 +_ZN7testing7MessageD2Ev.exit735: ; preds = %ehcleanup371, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i732 store ptr null, ptr %ref.tmp361, align 8 br label %ehcleanup373 -if.end372: ; preds = %invoke.cont355, %_ZN7testing7MessageD2Ev.exit731 - %message_.i737 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar331, i64 0, i32 1 - %145 = load ptr, ptr %message_.i737, align 8 - %cmp.not.i.i738 = icmp eq ptr %145, null - br i1 %cmp.not.i.i738, label %_ZNSt6vectorIjSaIjEED2Ev.exit743, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739 +if.end372: ; preds = %invoke.cont355, %_ZN7testing7MessageD2Ev.exit730 + %message_.i736 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar331, i64 0, i32 1 + %145 = load ptr, ptr %message_.i736, align 8 + %cmp.not.i.i737 = icmp eq ptr %145, null + br i1 %cmp.not.i.i737, label %_ZNSt6vectorIjSaIjEED2Ev.exit742, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i738 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739: ; preds = %if.end372 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i738: ; preds = %if.end372 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #18 call void @_ZdlPv(ptr noundef nonnull %145) #19 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit743 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit742 -_ZNSt6vectorIjSaIjEED2Ev.exit743: ; preds = %if.end372, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739 - store ptr null, ptr %message_.i737, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i540) #19 - %tobool.not.i.i.i.i744 = icmp eq ptr %.pre.i510, null - br i1 %tobool.not.i.i.i.i744, label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit746, label %if.then.i.i.i.i745 +_ZNSt6vectorIjSaIjEED2Ev.exit742: ; preds = %if.end372, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i738 + store ptr null, ptr %message_.i736, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i539) #19 + %tobool.not.i.i.i.i743 = icmp eq ptr %.pre.i509, null + br i1 %tobool.not.i.i.i.i743, label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit745, label %if.then.i.i.i.i744 -if.then.i.i.i.i745: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit743 - call void @_ZdlPv(ptr noundef nonnull %.pre.i510) #19 - br label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit746 +if.then.i.i.i.i744: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit742 + call void @_ZdlPv(ptr noundef nonnull %.pre.i509) #19 + br label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit745 -_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit746: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit743, %if.then.i.i.i.i745 +_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit745: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit742, %if.then.i.i.i.i744 %146 = load ptr, ptr %seeds_1235, align 8 - %tobool.not.i.i.i747 = icmp eq ptr %146, null - br i1 %tobool.not.i.i.i747, label %_ZNSt6vectorIjSaIjEED2Ev.exit749, label %if.then.i.i.i748 + %tobool.not.i.i.i746 = icmp eq ptr %146, null + br i1 %tobool.not.i.i.i746, label %_ZNSt6vectorIjSaIjEED2Ev.exit748, label %if.then.i.i.i747 -if.then.i.i.i748: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit746 +if.then.i.i.i747: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit745 call void @_ZdlPv(ptr noundef nonnull %146) #19 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit749 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit748 -_ZNSt6vectorIjSaIjEED2Ev.exit749: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit746, %if.then.i.i.i748 +_ZNSt6vectorIjSaIjEED2Ev.exit748: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit745, %if.then.i.i.i747 %147 = load ptr, ptr %seq_from_entropy, align 8 - %tobool.not.i.i.i.i750 = icmp eq ptr %147, null - br i1 %tobool.not.i.i.i.i750, label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit752, label %if.then.i.i.i.i751 + %tobool.not.i.i.i.i749 = icmp eq ptr %147, null + br i1 %tobool.not.i.i.i.i749, label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit751, label %if.then.i.i.i.i750 -if.then.i.i.i.i751: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit749 +if.then.i.i.i.i750: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit748 call void @_ZdlPv(ptr noundef nonnull %147) #19 - br label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit752 + br label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit751 -_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit752: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit749, %if.then.i.i.i.i751 +_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit751: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit748, %if.then.i.i.i.i750 invoke void @_ZNSt13random_device7_M_finiEv(ptr noundef nonnull align 8 dereferenceable(5000) %urandom) to label %_ZNSt13random_deviceD2Ev.exit unwind label %terminate.lpad.i -terminate.lpad.i: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit752 +terminate.lpad.i: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit751 %148 = landingpad { ptr, i32 } catch ptr null %149 = extractvalue { ptr, i32 } %148, 0 call void @__clang_call_terminate(ptr %149) #20 unreachable -_ZNSt13random_deviceD2Ev.exit: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit752 +_ZNSt13random_deviceD2Ev.exit: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit751 ret void -ehcleanup373: ; preds = %_ZN7testing7MessageD2Ev.exit736, %lpad356 - %.pn41.pn = phi { ptr, i32 } [ %.pn41, %_ZN7testing7MessageD2Ev.exit736 ], [ %137, %lpad356 ] +ehcleanup373: ; preds = %_ZN7testing7MessageD2Ev.exit735, %lpad356 + %.pn41.pn = phi { ptr, i32 } [ %.pn41, %_ZN7testing7MessageD2Ev.exit735 ], [ %137, %lpad356 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar331) #18 - br label %_ZNSt6vectorIjSaIjEED2Ev.exit755 + br label %_ZNSt6vectorIjSaIjEED2Ev.exit754 -_ZNSt6vectorIjSaIjEED2Ev.exit755: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i600, %lpad276, %if.then.i.i.i.i.i638, %ehcleanup373, %ehcleanup321, %ehcleanup297, %lpad265 - %.pn41.pn.pn = phi { ptr, i32 } [ %.pn41.pn, %ehcleanup373 ], [ %103, %lpad265 ], [ %.pn38.pn, %ehcleanup321 ], [ %.pn35.pn, %ehcleanup297 ], [ %95, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i600 ], [ %104, %lpad276 ], [ %104, %if.then.i.i.i.i.i638 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i540) #19 +_ZNSt6vectorIjSaIjEED2Ev.exit754: ; preds = %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i599, %lpad276, %if.then.i.i.i.i.i637, %ehcleanup373, %ehcleanup321, %ehcleanup297, %lpad265 + %.pn41.pn.pn = phi { ptr, i32 } [ %.pn41.pn, %ehcleanup373 ], [ %103, %lpad265 ], [ %.pn38.pn, %ehcleanup321 ], [ %.pn35.pn, %ehcleanup297 ], [ %95, %_ZN7testing8internal16PointwiseMatcherINS0_10Eq2MatcherESt6vectorIjSaIjEEED2Ev.exit7.i599 ], [ %104, %lpad276 ], [ %104, %if.then.i.i.i.i.i637 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i539) #19 br label %ehcleanup375 -ehcleanup375: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit755, %lpad254 - %.pn41.pn.pn.pn = phi { ptr, i32 } [ %.pn41.pn.pn, %_ZNSt6vectorIjSaIjEED2Ev.exit755 ], [ %102, %lpad254 ] - %tobool.not.i.i.i.i756 = icmp eq ptr %.pre.i510, null - br i1 %tobool.not.i.i.i.i756, label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit758, label %if.then.i.i.i.i757 +ehcleanup375: ; preds = %_ZNSt6vectorIjSaIjEED2Ev.exit754, %lpad254 + %.pn41.pn.pn.pn = phi { ptr, i32 } [ %.pn41.pn.pn, %_ZNSt6vectorIjSaIjEED2Ev.exit754 ], [ %102, %lpad254 ] + %tobool.not.i.i.i.i755 = icmp eq ptr %.pre.i509, null + br i1 %tobool.not.i.i.i.i755, label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit757, label %if.then.i.i.i.i756 -if.then.i.i.i.i757: ; preds = %ehcleanup375 - call void @_ZdlPv(ptr noundef nonnull %.pre.i510) #19 - br label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit758 +if.then.i.i.i.i756: ; preds = %ehcleanup375 + call void @_ZdlPv(ptr noundef nonnull %.pre.i509) #19 + br label %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit757 -_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit758: ; preds = %ehcleanup375, %if.then.i.i.i.i757 +_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit757: ; preds = %ehcleanup375, %if.then.i.i.i.i756 %150 = load ptr, ptr %seeds_1235, align 8 - %tobool.not.i.i.i759 = icmp eq ptr %150, null - br i1 %tobool.not.i.i.i759, label %ehcleanup377, label %if.then.i.i.i760 + %tobool.not.i.i.i758 = icmp eq ptr %150, null + br i1 %tobool.not.i.i.i758, label %ehcleanup377, label %if.then.i.i.i759 -if.then.i.i.i760: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit758 +if.then.i.i.i759: ; preds = %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit757 call void @_ZdlPv(ptr noundef nonnull %150) #19 br label %ehcleanup377 -ehcleanup377: ; preds = %lpad12.loopexit, %lpad12.loopexit.split-lp, %if.then.i.i.i760, %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit758, %if.then.i.i.i.i634, %ehcleanup234, %if.then.i.i.i.i169, %ehcleanup96, %lpad238 - %.pn46 = phi { ptr, i32 } [ %101, %lpad238 ], [ %.pn13.pn.pn.pn.pn, %ehcleanup96 ], [ %.pn13.pn.pn.pn.pn, %if.then.i.i.i.i169 ], [ %.pn27.pn.pn.pn.pn, %ehcleanup234 ], [ %.pn27.pn.pn.pn.pn, %if.then.i.i.i.i634 ], [ %.pn41.pn.pn.pn, %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit758 ], [ %.pn41.pn.pn.pn, %if.then.i.i.i760 ], [ %lpad.loopexit, %lpad12.loopexit ], [ %lpad.loopexit.split-lp, %lpad12.loopexit.split-lp ] +ehcleanup377: ; preds = %lpad12.loopexit, %lpad12.loopexit.split-lp, %if.then.i.i.i759, %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit757, %if.then.i.i.i.i633, %ehcleanup234, %if.then.i.i.i.i168, %ehcleanup96, %lpad238 + %.pn46 = phi { ptr, i32 } [ %101, %lpad238 ], [ %.pn13.pn.pn.pn.pn, %ehcleanup96 ], [ %.pn13.pn.pn.pn.pn, %if.then.i.i.i.i168 ], [ %.pn27.pn.pn.pn.pn, %ehcleanup234 ], [ %.pn27.pn.pn.pn.pn, %if.then.i.i.i.i633 ], [ %.pn41.pn.pn.pn, %_ZN4absl15random_internal15ExplicitSeedSeqD2Ev.exit757 ], [ %.pn41.pn.pn.pn, %if.then.i.i.i759 ], [ %lpad.loopexit, %lpad12.loopexit ], [ %lpad.loopexit.split-lp, %lpad12.loopexit.split-lp ] %151 = load ptr, ptr %seq_from_entropy, align 8 - %tobool.not.i.i.i.i762 = icmp eq ptr %151, null - br i1 %tobool.not.i.i.i.i762, label %ehcleanup378, label %if.then.i.i.i.i763 + %tobool.not.i.i.i.i761 = icmp eq ptr %151, null + br i1 %tobool.not.i.i.i.i761, label %ehcleanup378, label %if.then.i.i.i.i762 -if.then.i.i.i.i763: ; preds = %ehcleanup377 +if.then.i.i.i.i762: ; preds = %ehcleanup377 call void @_ZdlPv(ptr noundef nonnull %151) #19 br label %ehcleanup378 -ehcleanup378: ; preds = %lpad7.loopexit, %lpad7.loopexit.split-lp, %if.then.i.i.i.i763, %ehcleanup377 - %.pn48 = phi { ptr, i32 } [ %.pn46, %ehcleanup377 ], [ %.pn46, %if.then.i.i.i.i763 ], [ %lpad.loopexit822, %lpad7.loopexit ], [ %lpad.loopexit.split-lp823, %lpad7.loopexit.split-lp ] +ehcleanup378: ; preds = %lpad7.loopexit, %lpad7.loopexit.split-lp, %if.then.i.i.i.i762, %ehcleanup377 + %.pn48 = phi { ptr, i32 } [ %.pn46, %ehcleanup377 ], [ %.pn46, %if.then.i.i.i.i762 ], [ %lpad.loopexit821, %lpad7.loopexit ], [ %lpad.loopexit.split-lp822, %lpad7.loopexit.split-lp ] invoke void @_ZNSt13random_device7_M_finiEv(ptr noundef nonnull align 8 dereferenceable(5000) %urandom) - to label %eh.resume unwind label %terminate.lpad.i765 + to label %eh.resume unwind label %terminate.lpad.i764 -terminate.lpad.i765: ; preds = %ehcleanup378 +terminate.lpad.i764: ; preds = %ehcleanup378 %152 = landingpad { ptr, i32 } catch ptr null %153 = extractvalue { ptr, i32 } %152, 0 @@ -7283,8 +7283,7 @@ invoke.cont: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %__end to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %__begin to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 2 - %cmp.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 + %cmp.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775804 br i1 %cmp.i, label %if.then.i.invoke, label %if.end.i if.then.i.invoke: ; preds = %if.else.i.i, %invoke.cont @@ -7308,7 +7307,7 @@ _ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjm.exit.i: ; preds = %_ZNSt12_Vector %_M_finish.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %this, i64 0, i32 1 store ptr %call5.i.i.i.i9, ptr %this, align 8 store ptr %call5.i.i.i.i9, ptr %_M_finish.i.i, align 8 - %add.ptr21.i = getelementptr inbounds i32, ptr %call5.i.i.i.i9, i64 %sub.ptr.div.i.i + %add.ptr21.i = getelementptr inbounds i8, ptr %call5.i.i.i.i9, i64 %sub.ptr.sub.i.i store ptr %add.ptr21.i, ptr %_M_end_of_storage.i.i, align 8 br label %_ZNSt6vectorIjSaIjEE7reserveEm.exit @@ -7364,23 +7363,24 @@ _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i14, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %3, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %6, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %6, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %6) #19 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i -_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i10, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -7499,23 +7499,24 @@ _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i9, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %2, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %5) #19 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i -_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i5, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -8339,8 +8340,7 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i br label %invoke.cont3 invoke.cont3: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 ret void @@ -10761,23 +10761,24 @@ _ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIjSaIjEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i3, %_ZNSt16allocator_traitsISaIjEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %1, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %4) #19 br label %_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i -_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIjSaIjEE17_M_realloc_insertIJjEEEvN9__gnu_cxx17__normal_iteratorIPjS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIjSaIjEE11_S_relocateEPjS2_S2_RS0_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/exponential_biased_test.cc.ll b/bench/abseil-cpp/optimized/exponential_biased_test.cc.ll index 55d60c44aa7..06991904ec4 100644 --- a/bench/abseil-cpp/optimized/exponential_biased_test.cc.ll +++ b/bench/abseil-cpp/optimized/exponential_biased_test.cc.ll @@ -763,7 +763,7 @@ for.end48: ; preds = %for.body42 for.body.preheader.i.i: ; preds = %for.end48 %umax.i.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i, i64 1) - %6 = getelementptr double, ptr %call5.i.i.i.i2.i.i38, i64 %sub.ptr.div.i.i.i + %6 = getelementptr i8, ptr %call5.i.i.i.i2.i.i38, i64 %sub.ptr.sub.i.i.i br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i, %for.body.preheader.i.i @@ -1237,7 +1237,7 @@ _ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPmSt6vectorImSaImEEEES6_ET0_T %sub.ptr.div.i.i.i.i.i.i34.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i33.i, 3 %.pre.i.i.i.i.i.i35.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i34.i %add.ptr.i.i.i.i.i.i36.i = getelementptr inbounds i64, ptr %add.ptr.i3.i31.i, i64 %.pre.i.i.i.i.i.i35.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr.i.i.i.i.i.i36.i, ptr nonnull align 8 %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i33.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1) %add.ptr.i.i.i.i.i.i36.i, ptr noundef nonnull align 8 dereferenceable(1) %__first.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i33.i, i1 false) br label %for.inc.i21.i if.else.i19.i: ; preds = %for.body.i15.i diff --git a/bench/abseil-cpp/optimized/exponential_distribution_test.cc.ll b/bench/abseil-cpp/optimized/exponential_distribution_test.cc.ll index a20c4b0f51f..20597c6e689 100644 --- a/bench/abseil-cpp/optimized/exponential_distribution_test.cc.ll +++ b/bench/abseil-cpp/optimized/exponential_distribution_test.cc.ll @@ -1045,23 +1045,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #33 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -1092,7 +1093,7 @@ if.end25: ; preds = %_ZNSt6vectorIPN7tes define internal void @_ZN12_GLOBAL__N_152gtest_AllExponentialDistributionTests_EvalGenerator_Ev(ptr noalias nocapture writeonly sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #4 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i5.i1.i = tail call noalias noundef nonnull dereferenceable(192) ptr @_Znwm(i64 noundef 192) #35, !noalias !7 - %add.ptr.i4.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Param", ptr %call5.i.i.i.i5.i1.i, i64 8 + %add.ptr.i4.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i1.i, i64 192 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %call5.i.i.i.i5.i1.i, ptr noundef nonnull align 8 dereferenceable(192) @constinit, i64 192, i1 false), !noalias !7 invoke fastcc void @_ZN7testing8ValuesInISt6vectorIN12_GLOBAL__N_15ParamESaIS3_EEEENS_8internal14ParamGeneratorINT_10value_typeEEERKS8_(ptr noalias align 8 %agg.result, ptr nonnull %call5.i.i.i.i5.i1.i, ptr nonnull %add.ptr.i4.i.i) to label %_ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EED2Ev.exit unwind label %_ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EED2Ev.exit8 @@ -1117,7 +1118,7 @@ entry: if.then: ; preds = %entry %call5.i.i.i.i5.i1.i = tail call noalias noundef nonnull dereferenceable(192) ptr @_Znwm(i64 noundef 192) #35, !noalias !10 - %add.ptr.i4.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Param", ptr %call5.i.i.i.i5.i1.i, i64 8 + %add.ptr.i4.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i1.i, i64 192 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %call5.i.i.i.i5.i1.i, ptr noundef nonnull align 8 dereferenceable(192) @constinit, i64 192, i1 false), !noalias !10 invoke fastcc void @_ZN7testing8ValuesInISt6vectorIN12_GLOBAL__N_15ParamESaIS3_EEEENS_8internal14ParamGeneratorINT_10value_typeEEERKS8_(ptr noalias nonnull align 8 %ref.tmp, ptr nonnull %call5.i.i.i.i5.i1.i, ptr nonnull %add.ptr.i4.i.i) to label %invoke.cont unwind label %lpad @@ -2115,30 +2116,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i14.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store double %mul.i.i.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %data.sroa.0.1108.i, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %data.sroa.0.1108.i, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %data.sroa.0.1108.i) #33 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc.i for.inc.i: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, %if.then.i.i %data.sroa.15.2.i = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.15.1106.i, %if.then.i.i ] - %add.ptr.i.i.pn.i = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.8.1107.i, %if.then.i.i ] + %add.ptr.i.i.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.8.1107.i, %if.then.i.i ] %data.sroa.0.2.i = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.0.1108.i, %if.then.i.i ] - %data.sroa.8.2.i = getelementptr inbounds double, ptr %add.ptr.i.i.pn.i, i64 1 + %data.sroa.8.2.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn.i, i64 1 %inc.i = add nuw nsw i64 %i.0109.i, 1 %exitcond.not.i = icmp eq i64 %inc.i, 10000 br i1 %exitcond.not.i, label %for.end.i, label %invoke.cont2.i, !llvm.loop !23 @@ -3369,13 +3371,13 @@ entry: ; Function Attrs: mustprogress uwtable define internal void @_ZN12_GLOBAL__N_148ExponentialDistributionTests_ChiSquaredTest_Test8TestBodyEv(ptr nocapture noundef nonnull align 16 dereferenceable(64) %this) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: - %v.addr.i143.i = alloca double, align 8 - %v.addr.i131.i = alloca double, align 8 - %v.addr.i125.i = alloca double, align 8 - %v.addr.i113.i = alloca double, align 8 - %v.addr.i107.i = alloca double, align 8 - %v.addr.i102.i = alloca i32, align 4 - %v.addr.i95.i = alloca double, align 8 + %v.addr.i144.i = alloca double, align 8 + %v.addr.i132.i = alloca double, align 8 + %v.addr.i126.i = alloca double, align 8 + %v.addr.i114.i = alloca double, align 8 + %v.addr.i108.i = alloca double, align 8 + %v.addr.i103.i = alloca i32, align 4 + %v.addr.i96.i = alloca double, align 8 %v.addr.i.i = alloca i64, align 8 %ref.tmp72.i = alloca %"class.absl::log_internal::LogMessage", align 8 %ref.tmp93.i = alloca %"class.absl::log_internal::LogMessage", align 8 @@ -3398,32 +3400,32 @@ for.body: ; preds = %entry, %for.inc br label %for.body.i for.body.i: ; preds = %for.inc.i, %for.body - %p.0200.i = phi double [ 2.000000e-02, %for.body ], [ %add.i, %for.inc.i ] - %cutoffs.sroa.0.0199.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.0.1.i, %for.inc.i ] - %cutoffs.sroa.12.0198.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.12.1.i, %for.inc.i ] - %cutoffs.sroa.24.0197.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.24.1.i, %for.inc.i ] + %p.0201.i = phi double [ 2.000000e-02, %for.body ], [ %add.i, %for.inc.i ] + %cutoffs.sroa.0.0200.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.0.1.i, %for.inc.i ] + %cutoffs.sroa.12.0199.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.12.1.i, %for.inc.i ] + %cutoffs.sroa.24.0198.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.24.1.i, %for.inc.i ] %add.ptr.val.i = load double, ptr %0, align 16 %fneg.i.i = fneg double %add.ptr.val.i - %sub.i.i = fsub double 1.000000e+00, %p.0200.i + %sub.i.i = fsub double 1.000000e+00, %p.0201.i %call.i.i = call double @log(double noundef %sub.i.i) #32 %mul.i.i = fmul double %call.i.i, %fneg.i.i - %cmp.not.i.i.i = icmp eq ptr %cutoffs.sroa.12.0198.i, %cutoffs.sroa.24.0197.i + %cmp.not.i.i.i = icmp eq ptr %cutoffs.sroa.12.0199.i, %cutoffs.sroa.24.0198.i br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i if.then.i.i.i: ; preds = %for.body.i - store double %mul.i.i, ptr %cutoffs.sroa.12.0198.i, align 8 + store double %mul.i.i, ptr %cutoffs.sroa.12.0199.i, align 8 br label %for.inc.i if.else.i.i.i: ; preds = %for.body.i - %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %cutoffs.sroa.12.0198.i to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cutoffs.sroa.0.0199.i to i64 + %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %cutoffs.sroa.12.0199.i to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cutoffs.sroa.0.0200.i to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.16) #34 - to label %.noexc.i unwind label %lpad.loopexit.split-lp185.i.loopexit.split-lp + to label %.noexc.i unwind label %lpad.loopexit.split-lp186.i.loopexit.split-lp .noexc.i: ; preds = %if.then.i.i.i.i.i unreachable @@ -3442,58 +3444,59 @@ _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 3 %call5.i.i.i.i.i.i18.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #35 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit184.i + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit185.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i18.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store double %mul.i.i, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %cutoffs.sroa.0.0199.i, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %cutoffs.sroa.0.0200.i, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i - %tobool.not.i.i.i.i.i = icmp eq ptr %cutoffs.sroa.0.0199.i, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %tobool.not.i.i.i.i.i = icmp eq ptr %cutoffs.sroa.0.0200.i, null + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.0199.i) #33 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.0200.i) #33 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %for.inc.i for.inc.i: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i - %cutoffs.sroa.24.1.i = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.24.0197.i, %if.then.i.i.i ] - %add.ptr.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.12.0198.i, %if.then.i.i.i ] - %cutoffs.sroa.0.1.i = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.0.0199.i, %if.then.i.i.i ] - %cutoffs.sroa.12.1.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.pn.i, i64 1 - %add.i = fadd double %p.0200.i, 2.000000e-02 + %cutoffs.sroa.24.1.i = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.24.0198.i, %if.then.i.i.i ] + %add.ptr.i.i.i.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.12.0199.i, %if.then.i.i.i ] + %cutoffs.sroa.0.1.i = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.0.0200.i, %if.then.i.i.i ] + %cutoffs.sroa.12.1.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.pn.i, i64 1 + %add.i = fadd double %p.0201.i, 2.000000e-02 %cmp.i = fcmp olt double %add.i, 1.000000e+00 br i1 %cmp.i, label %for.body.i, label %for.end.i, !llvm.loop !47 -lpad.loopexit184.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i - %lpad.loopexit186.i = landingpad { ptr, i32 } +lpad.loopexit185.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i + %lpad.loopexit187.i = landingpad { ptr, i32 } cleanup br label %ehcleanup129.i -lpad.loopexit.split-lp185.i.loopexit: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i39.i +lpad.loopexit.split-lp186.i.loopexit: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i39.i %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %ehcleanup129.i -lpad.loopexit.split-lp185.i.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i, %if.then.i.i.i.i52.i - %cutoffs.sroa.0.0192.i.ph = phi ptr [ %cutoffs.sroa.0.1.i, %if.then.i.i.i.i52.i ], [ %cutoffs.sroa.0.0199.i, %if.then.i.i.i.i.i ] +lpad.loopexit.split-lp186.i.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i, %if.then.i.i.i.i53.i + %cutoffs.sroa.0.0193.i.ph = phi ptr [ %cutoffs.sroa.0.1.i, %if.then.i.i.i.i53.i ], [ %cutoffs.sroa.0.0200.i, %if.then.i.i.i.i.i ] %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %ehcleanup129.i for.end.i: ; preds = %for.inc.i - %1 = load double, ptr %add.ptr.i.i.i.pn.i, align 8 + %1 = load double, ptr %add.ptr.i.i.i.i.i.i.pn.i, align 8 %cmp5.i = fcmp une double %1, 0x7FF0000000000000 br i1 %cmp5.i, label %if.then.i, label %invoke.cont11.i @@ -3503,7 +3506,7 @@ if.then.i: ; preds = %for.end.i if.then.i.i23.i: ; preds = %if.then.i store double 0x7FF0000000000000, ptr %cutoffs.sroa.12.1.i, align 8 - %incdec.ptr.i.i24.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.pn.i, i64 2 + %incdec.ptr.i.i24.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.pn.i, i64 2 br label %invoke.cont11.i if.else.i.i25.i: ; preds = %if.then.i @@ -3511,13 +3514,13 @@ if.else.i.i25.i: ; preds = %if.then.i %sub.ptr.rhs.cast.i.i.i.i.i27.i = ptrtoint ptr %cutoffs.sroa.0.1.i to i64 %sub.ptr.sub.i.i.i.i.i28.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i26.i, %sub.ptr.rhs.cast.i.i.i.i.i27.i %cmp.i.i.i.i29.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i28.i, 9223372036854775800 - br i1 %cmp.i.i.i.i29.i, label %if.then.i.i.i.i52.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i30.i + br i1 %cmp.i.i.i.i29.i, label %if.then.i.i.i.i53.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i30.i -if.then.i.i.i.i52.i: ; preds = %if.else.i.i25.i +if.then.i.i.i.i53.i: ; preds = %if.else.i.i25.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.16) #34 - to label %.noexc53.i unwind label %lpad.loopexit.split-lp185.i.loopexit.split-lp + to label %.noexc54.i unwind label %lpad.loopexit.split-lp186.i.loopexit.split-lp -.noexc53.i: ; preds = %if.then.i.i.i.i52.i +.noexc54.i: ; preds = %if.then.i.i.i.i53.i unreachable _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i30.i: ; preds = %if.else.i.i25.i @@ -3533,32 +3536,33 @@ _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i30.i: ; preds = %if.else.i.i2 _ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i39.i: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i30.i %mul.i.i.i.i.i.i40.i = shl nuw nsw i64 %cond.i.i.i.i37.i, 3 - %call5.i.i.i.i.i.i55.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i40.i) #35 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i41.i unwind label %lpad.loopexit.split-lp185.i.loopexit + %call5.i.i.i.i.i.i56.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i40.i) #35 + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i41.i unwind label %lpad.loopexit.split-lp186.i.loopexit _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i41.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i39.i, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i30.i - %cond.i10.i.i.i42.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i30.i ], [ %call5.i.i.i.i.i.i55.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i39.i ] + %cond.i10.i.i.i42.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i30.i ], [ %call5.i.i.i.i.i.i56.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i39.i ] %add.ptr.i.i.i43.i = getelementptr inbounds double, ptr %cond.i10.i.i.i42.i, i64 %sub.ptr.div.i.i.i.i.i31.i store double 0x7FF0000000000000, ptr %add.ptr.i.i.i43.i, align 8 - %cmp.i.i.i11.i.i.i44.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i31.i, 0 - br i1 %cmp.i.i.i11.i.i.i44.i, label %if.then.i.i.i12.i.i.i51.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i45.i + %cmp.i.i.i11.i.i.i44.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i28.i, 0 + br i1 %cmp.i.i.i11.i.i.i44.i, label %if.then.i.i.i12.i.i.i52.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i45.i -if.then.i.i.i12.i.i.i51.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i41.i +if.then.i.i.i12.i.i.i52.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i41.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i42.i, ptr align 8 %cutoffs.sroa.0.1.i, i64 %sub.ptr.sub.i.i.i.i.i28.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i45.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i45.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i45.i: ; preds = %if.then.i.i.i12.i.i.i51.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i41.i - %incdec.ptr.i.i.i46.i = getelementptr inbounds double, ptr %add.ptr.i.i.i43.i, i64 1 - %tobool.not.i.i.i.i47.i = icmp eq ptr %cutoffs.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i47.i, label %invoke.cont11.i, label %if.then.i21.i.i.i48.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i45.i: ; preds = %if.then.i.i.i12.i.i.i52.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i41.i + %add.ptr.i.i.i.i.i.i46.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i42.i, i64 %sub.ptr.sub.i.i.i.i.i28.i + %incdec.ptr.i.i.i47.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i46.i, i64 1 + %tobool.not.i.i.i.i48.i = icmp eq ptr %cutoffs.sroa.0.1.i, null + br i1 %tobool.not.i.i.i.i48.i, label %invoke.cont11.i, label %if.then.i20.i.i.i49.i -if.then.i21.i.i.i48.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i45.i +if.then.i20.i.i.i49.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i45.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.1.i) #33 br label %invoke.cont11.i -invoke.cont11.i: ; preds = %if.then.i21.i.i.i48.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i45.i, %if.then.i.i23.i, %for.end.i - %cutoffs.sroa.12.3.i = phi ptr [ %cutoffs.sroa.12.1.i, %for.end.i ], [ %incdec.ptr.i.i24.i, %if.then.i.i23.i ], [ %incdec.ptr.i.i.i46.i, %if.then.i21.i.i.i48.i ], [ %incdec.ptr.i.i.i46.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i45.i ] - %cutoffs.sroa.0.3.i = phi ptr [ %cutoffs.sroa.0.1.i, %for.end.i ], [ %cutoffs.sroa.0.1.i, %if.then.i.i23.i ], [ %cond.i10.i.i.i42.i, %if.then.i21.i.i.i48.i ], [ %cond.i10.i.i.i42.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i45.i ] +invoke.cont11.i: ; preds = %if.then.i20.i.i.i49.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i45.i, %if.then.i.i23.i, %for.end.i + %cutoffs.sroa.12.3.i = phi ptr [ %cutoffs.sroa.12.1.i, %for.end.i ], [ %incdec.ptr.i.i24.i, %if.then.i.i23.i ], [ %incdec.ptr.i.i.i47.i, %if.then.i20.i.i.i49.i ], [ %incdec.ptr.i.i.i47.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i45.i ] + %cutoffs.sroa.0.3.i = phi ptr [ %cutoffs.sroa.0.1.i, %for.end.i ], [ %cutoffs.sroa.0.1.i, %if.then.i.i23.i ], [ %cond.i10.i.i.i42.i, %if.then.i20.i.i.i49.i ], [ %cond.i10.i.i.i42.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i45.i ] %add.ptr9.val17.i = load double, ptr %add.ptr9.i, align 8 %div.i.i.i = fdiv double -1.000000e+00, %add.ptr9.val17.i %sub.ptr.lhs.cast.i.i = ptrtoint ptr %cutoffs.sroa.12.3.i to i64 @@ -3566,37 +3570,37 @@ invoke.cont11.i: ; preds = %if.then.i21.i.i.i48 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 3 %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 - br i1 %cmp.i.i.i, label %if.then.i.i60.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i + br i1 %cmp.i.i.i, label %if.then.i.i61.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i -if.then.i.i60.i: ; preds = %invoke.cont11.i +if.then.i.i61.i: ; preds = %invoke.cont11.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.52) #34 - to label %.noexc61.i unwind label %lpad15.i.loopexit.split-lp + to label %.noexc62.i unwind label %lpad15.i.loopexit.split-lp -.noexc61.i: ; preds = %if.then.i.i60.i +.noexc62.i: ; preds = %if.then.i.i61.i unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %invoke.cont11.i - %cmp.not.i.i.i.i57.i = icmp eq ptr %cutoffs.sroa.12.3.i, %cutoffs.sroa.0.3.i - br i1 %cmp.not.i.i.i.i57.i, label %invoke.cont16.i, label %if.end.i.i.i.i.i.i.i.i + %cmp.not.i.i.i.i58.i = icmp eq ptr %cutoffs.sroa.12.3.i, %cutoffs.sroa.0.3.i + br i1 %cmp.not.i.i.i.i58.i, label %invoke.cont16.i, label %if.end.i.i.i.i.i.i.i.i if.end.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i - %mul.i.i.i.i.i.i58.i = ashr exact i64 %sub.ptr.sub.i.i, 1 - %call5.i.i.i.i2.i.i62.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i58.i) #35 + %mul.i.i.i.i.i.i59.i = ashr exact i64 %sub.ptr.sub.i.i, 1 + %call5.i.i.i.i2.i.i63.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i59.i) #35 to label %call5.i.i.i.i2.i.i.noexc.i unwind label %lpad15.i.loopexit call5.i.i.i.i2.i.i.noexc.i: ; preds = %if.end.i.i.i.i.i.i.i.i - %2 = and i64 %mul.i.i.i.i.i.i58.i, -4 - call void @llvm.memset.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i.i62.i, i8 0, i64 %2, i1 false) - %add.ptr.i.i.i59.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i62.i, i64 %sub.ptr.div.i.i + %2 = and i64 %mul.i.i.i.i.i.i59.i, -4 + call void @llvm.memset.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i.i63.i, i8 0, i64 %2, i1 false) + %add.ptr.i.i.i60.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i63.i, i64 %sub.ptr.div.i.i br label %invoke.cont16.i invoke.cont16.i: ; preds = %call5.i.i.i.i2.i.i.noexc.i, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i - %counts.sroa.0.0.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %call5.i.i.i.i2.i.i62.i, %call5.i.i.i.i2.i.i.noexc.i ] - %retval.0.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %add.ptr.i.i.i59.i, %call5.i.i.i.i2.i.i.noexc.i ] + %counts.sroa.0.0.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %call5.i.i.i.i2.i.i63.i, %call5.i.i.i.i2.i.i.noexc.i ] + %retval.0.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %add.ptr.i.i.i60.i, %call5.i.i.i.i2.i.i.noexc.i ] br label %invoke.cont21.i invoke.cont21.i: ; preds = %invoke.cont38.i, %invoke.cont16.i - %j.0201.i = phi i32 [ 0, %invoke.cont16.i ], [ %inc42.i, %invoke.cont38.i ] + %j.0202.i = phi i32 [ 0, %invoke.cont16.i ], [ %inc42.i, %invoke.cont38.i ] %agg.tmp.sroa.0.0.copyload.i.i.i.i.i.i = load i64, ptr %rng_.i, align 16 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i.i = load i64, ptr %agg.tmp.sroa.2.0.state_.sroa_idx.i.i.i.i.i.i, align 8 %coerce.sroa.2.0.insert.ext.i.i.i.i.i.i.i.i = zext i64 %agg.tmp.sroa.2.0.copyload.i.i.i.i.i.i to i128 @@ -3625,7 +3629,7 @@ invoke.cont21.i: ; preds = %invoke.cont38.i, %i %6 = bitcast i64 %or3.i.i.i.i to double %call3.i.i.i = call double @log1p(double noundef %6) #32 %mul.i.i.i = fmul double %div.i.i.i, %call3.i.i.i - br i1 %cmp.not.i.i.i.i57.i, label %invoke.cont38.i, label %while.body.i.i.i + br i1 %cmp.not.i.i.i.i58.i, label %invoke.cont38.i, label %while.body.i.i.i while.body.i.i.i: ; preds = %invoke.cont21.i, %while.body.i.i.i %__len.08.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i, %invoke.cont21.i ] @@ -3634,27 +3638,27 @@ while.body.i.i.i: ; preds = %invoke.cont21.i, %w %incdec.ptr.i8.sink.i.i.i.i.i = getelementptr inbounds double, ptr %__first.sroa.0.07.i.i.i, i64 %shr.i.i.i %7 = load double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, align 8 %cmp.i.i.i.i = fcmp olt double %mul.i.i.i, %7 - %incdec.ptr.i.i.i71.i = getelementptr inbounds double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, i64 1 + %incdec.ptr.i.i.i72.i = getelementptr inbounds double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, i64 1 %8 = xor i64 %shr.i.i.i, -1 %sub9.i.i.i = add nsw i64 %__len.08.i.i.i, %8 - %__first.sroa.0.1.i.i.i = select i1 %cmp.i.i.i.i, ptr %__first.sroa.0.07.i.i.i, ptr %incdec.ptr.i.i.i71.i + %__first.sroa.0.1.i.i.i = select i1 %cmp.i.i.i.i, ptr %__first.sroa.0.07.i.i.i, ptr %incdec.ptr.i.i.i72.i %__len.1.i.i.i = select i1 %cmp.i.i.i.i, i64 %shr.i.i.i, i64 %sub9.i.i.i - %cmp.i.i72.i = icmp sgt i64 %__len.1.i.i.i, 0 - br i1 %cmp.i.i72.i, label %while.body.i.i.i, label %invoke.cont38.loopexit.i, !llvm.loop !48 + %cmp.i.i73.i = icmp sgt i64 %__len.1.i.i.i, 0 + br i1 %cmp.i.i73.i, label %while.body.i.i.i, label %invoke.cont38.loopexit.i, !llvm.loop !48 invoke.cont38.loopexit.i: ; preds = %while.body.i.i.i %.pre.i = ptrtoint ptr %__first.sroa.0.1.i.i.i to i64 - %.pre208.i = sub i64 %.pre.i, %sub.ptr.rhs.cast.i.i - %.pre209.i = ashr exact i64 %.pre208.i, 3 + %.pre209.i = sub i64 %.pre.i, %sub.ptr.rhs.cast.i.i + %.pre210.i = ashr exact i64 %.pre209.i, 3 br label %invoke.cont38.i invoke.cont38.i: ; preds = %invoke.cont38.loopexit.i, %invoke.cont21.i - %sub.ptr.div.i.i.i.pre-phi.i = phi i64 [ %.pre209.i, %invoke.cont38.loopexit.i ], [ %sub.ptr.div.i.i, %invoke.cont21.i ] + %sub.ptr.div.i.i.i.pre-phi.i = phi i64 [ %.pre210.i, %invoke.cont38.loopexit.i ], [ %sub.ptr.div.i.i, %invoke.cont21.i ] %add.ptr.i.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %sub.ptr.div.i.i.i.pre-phi.i %9 = load i32, ptr %add.ptr.i.i, align 4 %inc.i = add nsw i32 %9, 1 store i32 %inc.i, ptr %add.ptr.i.i, align 4 - %inc42.i = add nuw nsw i32 %j.0201.i, 1 + %inc42.i = add nuw nsw i32 %j.0202.i, 1 %exitcond.not.i = icmp eq i32 %inc42.i, 10000 br i1 %exitcond.not.i, label %for.end43.i, label %invoke.cont21.i, !llvm.loop !49 @@ -3663,7 +3667,7 @@ lpad15.i.loopexit: ; preds = %if.end.i.i.i.i.i.i. cleanup br label %ehcleanup129.i -lpad15.i.loopexit.split-lp: ; preds = %if.then.i.i60.i +lpad15.i.loopexit.split-lp: ; preds = %if.then.i.i61.i %lpad.loopexit.split-lp12 = landingpad { ptr, i32 } cleanup br label %ehcleanup129.i @@ -3679,30 +3683,30 @@ lpad20.loopexit.split-lp.i: ; preds = %for.end91.i, %_ZN4a br label %ehcleanup.i for.end43.i: ; preds = %invoke.cont38.i - %sub.ptr.lhs.cast.i74.i = ptrtoint ptr %retval.0.i.i.i.i.i.i.i.i to i64 - %sub.ptr.rhs.cast.i75.i = ptrtoint ptr %counts.sroa.0.0.i to i64 - %sub.ptr.sub.i76.i = sub i64 %sub.ptr.lhs.cast.i74.i, %sub.ptr.rhs.cast.i75.i - %sub.ptr.div.i77.i = ashr exact i64 %sub.ptr.sub.i76.i, 2 - %conv45.i = trunc i64 %sub.ptr.div.i77.i to i32 + %sub.ptr.lhs.cast.i75.i = ptrtoint ptr %retval.0.i.i.i.i.i.i.i.i to i64 + %sub.ptr.rhs.cast.i76.i = ptrtoint ptr %counts.sroa.0.0.i to i64 + %sub.ptr.sub.i77.i = sub i64 %sub.ptr.lhs.cast.i75.i, %sub.ptr.rhs.cast.i76.i + %sub.ptr.div.i78.i = ashr exact i64 %sub.ptr.sub.i77.i, 2 + %conv45.i = trunc i64 %sub.ptr.div.i78.i to i32 %sub.i = add nsw i32 %conv45.i, -1 %call47.i = invoke noundef double @_ZN4absl15random_internal14ChiSquareValueEid(i32 noundef %sub.i, double noundef 0x3FEF5C28F5C28F5C) to label %invoke.cont46.i unwind label %lpad20.loopexit.split-lp.i invoke.cont46.i: ; preds = %for.end43.i - %conv49.i = uitofp i64 %sub.ptr.div.i77.i to double + %conv49.i = uitofp i64 %sub.ptr.div.i78.i to double %div.i = fdiv double 1.000000e+04, %conv49.i %cmp.i.not7.i.i = icmp eq ptr %counts.sroa.0.0.i, %retval.0.i.i.i.i.i.i.i.i br i1 %cmp.i.not7.i.i, label %_ZN4absl15random_internal21ChiSquareWithExpectedIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEdT_S9_d.exit.i, label %for.body.i.i for.body.i.i: ; preds = %invoke.cont46.i, %for.body.i.i %chi_square.09.i.i = phi double [ %11, %for.body.i.i ], [ 0.000000e+00, %invoke.cont46.i ] - %it.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i85.i, %for.body.i.i ], [ %counts.sroa.0.0.i, %invoke.cont46.i ] + %it.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i86.i, %for.body.i.i ], [ %counts.sroa.0.0.i, %invoke.cont46.i ] %10 = load i32, ptr %it.sroa.0.08.i.i, align 4 %conv.i.i = sitofp i32 %10 to double - %sub.i84.i = fsub double %conv.i.i, %div.i - %11 = call double @llvm.fmuladd.f64(double %sub.i84.i, double %sub.i84.i, double %chi_square.09.i.i) - %incdec.ptr.i.i85.i = getelementptr inbounds i32, ptr %it.sroa.0.08.i.i, i64 1 - %cmp.i.not.i.i = icmp eq ptr %incdec.ptr.i.i85.i, %retval.0.i.i.i.i.i.i.i.i + %sub.i85.i = fsub double %conv.i.i, %div.i + %11 = call double @llvm.fmuladd.f64(double %sub.i85.i, double %sub.i85.i, double %chi_square.09.i.i) + %incdec.ptr.i.i86.i = getelementptr inbounds i32, ptr %it.sroa.0.08.i.i, i64 1 + %cmp.i.not.i.i = icmp eq ptr %incdec.ptr.i.i86.i, %retval.0.i.i.i.i.i.i.i.i br i1 %cmp.i.not.i.i, label %_ZN4absl15random_internal21ChiSquareWithExpectedIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEdT_S9_d.exit.i, label %for.body.i.i, !llvm.loop !50 _ZN4absl15random_internal21ChiSquareWithExpectedIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEdT_S9_d.exit.i: ; preds = %for.body.i.i, %invoke.cont46.i @@ -3716,55 +3720,55 @@ invoke.cont63.i: ; preds = %_ZN4absl15random_in br i1 %cmp65.i, label %for.cond67.preheader.i, label %if.end128.i for.cond67.preheader.i: ; preds = %invoke.cont63.i - br i1 %cmp.not.i.i.i.i57.i, label %for.end91.i, label %for.body70.preheader.i + br i1 %cmp.not.i.i.i.i58.i, label %for.end91.i, label %for.body70.preheader.i for.body70.preheader.i: ; preds = %for.cond67.preheader.i %umax.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i, i64 1) br label %for.body70.i for.body70.i: ; preds = %invoke.cont87.i, %for.body70.preheader.i - %i.0203.i = phi i64 [ %inc90.i, %invoke.cont87.i ], [ 0, %for.body70.preheader.i ] + %i.0204.i = phi i64 [ %inc90.i, %invoke.cont87.i ], [ 0, %for.body70.preheader.i ] invoke void @_ZN4absl12log_internal10LogMessageC1EPKciNS1_7InfoTagE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp72.i, ptr noundef nonnull @.str.2, i32 noundef 276) #37 to label %invoke.cont74.i unwind label %lpad20.loopexit.i invoke.cont74.i: ; preds = %for.body70.i call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i.i) - store i64 %i.0203.i, ptr %v.addr.i.i, align 8 - %call.i9192.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp72.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i.i) + store i64 %i.0204.i, ptr %v.addr.i.i, align 8 + %call.i9293.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp72.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i.i) to label %invoke.cont77.i unwind label %lpad76.i invoke.cont77.i: ; preds = %invoke.cont74.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i9192.i, i64 4, ptr nonnull @.str.44) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i9293.i, i64 4, ptr nonnull @.str.44) to label %invoke.cont79.i unwind label %lpad76.i invoke.cont79.i: ; preds = %invoke.cont77.i - %add.ptr.i94.i = getelementptr inbounds double, ptr %cutoffs.sroa.0.3.i, i64 %i.0203.i - %12 = load double, ptr %add.ptr.i94.i, align 8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i95.i) - store double %12, ptr %v.addr.i95.i, align 8 - %call.i9697.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i9192.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i95.i) + %add.ptr.i95.i = getelementptr inbounds double, ptr %cutoffs.sroa.0.3.i, i64 %i.0204.i + %12 = load double, ptr %add.ptr.i95.i, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i96.i) + store double %12, ptr %v.addr.i96.i, align 8 + %call.i9798.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i9293.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i96.i) to label %invoke.cont82.i unwind label %lpad76.i invoke.cont82.i: ; preds = %invoke.cont79.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i95.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i9697.i, i64 4, ptr nonnull @.str.45) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i96.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i9798.i, i64 4, ptr nonnull @.str.45) to label %invoke.cont84.i unwind label %lpad76.i invoke.cont84.i: ; preds = %invoke.cont82.i - %add.ptr.i101.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %i.0203.i - %13 = load i32, ptr %add.ptr.i101.i, align 4 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %v.addr.i102.i) - store i32 %13, ptr %v.addr.i102.i, align 4 - %call.i103104.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i9697.i, ptr noundef nonnull align 4 dereferenceable(4) %v.addr.i102.i) + %add.ptr.i102.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %i.0204.i + %13 = load i32, ptr %add.ptr.i102.i, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %v.addr.i103.i) + store i32 %13, ptr %v.addr.i103.i, align 4 + %call.i104105.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i9798.i, ptr noundef nonnull align 4 dereferenceable(4) %v.addr.i103.i) to label %invoke.cont87.i unwind label %lpad76.i invoke.cont87.i: ; preds = %invoke.cont84.i - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %v.addr.i102.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %v.addr.i103.i) call void @_ZN4absl12log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp72.i) #38 - %inc90.i = add nuw i64 %i.0203.i, 1 - %exitcond207.not.i = icmp eq i64 %inc90.i, %umax.i - br i1 %exitcond207.not.i, label %for.end91.i, label %for.body70.i, !llvm.loop !51 + %inc90.i = add nuw i64 %i.0204.i, 1 + %exitcond208.not.i = icmp eq i64 %inc90.i, %umax.i + br i1 %exitcond208.not.i, label %for.end91.i, label %for.body70.i, !llvm.loop !51 lpad76.i: ; preds = %invoke.cont84.i, %invoke.cont82.i, %invoke.cont79.i, %invoke.cont77.i, %invoke.cont74.i %14 = landingpad { ptr, i32 } @@ -3782,73 +3786,73 @@ invoke.cont95.i: ; preds = %for.end91.i invoke.cont98.i: ; preds = %invoke.cont95.i %add.ptr9.val.i = load double, ptr %add.ptr9.i, align 8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i107.i) - store double %add.ptr9.val.i, ptr %v.addr.i107.i, align 8 - %call.i108109.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp93.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i107.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i108.i) + store double %add.ptr9.val.i, ptr %v.addr.i108.i, align 8 + %call.i109110.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp93.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i108.i) to label %invoke.cont102.i unwind label %lpad97.i invoke.cont102.i: ; preds = %invoke.cont98.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i107.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i108109.i, i64 11, ptr nonnull @.str.47) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i108.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i109110.i, i64 11, ptr nonnull @.str.47) to label %invoke.cont104.i unwind label %lpad97.i invoke.cont104.i: ; preds = %invoke.cont102.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i113.i) - store double %div.i, ptr %v.addr.i113.i, align 8 - %call.i114115.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i108109.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i113.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i114.i) + store double %div.i, ptr %v.addr.i114.i, align 8 + %call.i115116.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i109110.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i114.i) to label %invoke.cont106.i unwind label %lpad97.i invoke.cont106.i: ; preds = %invoke.cont104.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i113.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i114115.i, i64 1, ptr nonnull @.str.48) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i114.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i115116.i, i64 1, ptr nonnull @.str.48) to label %invoke.cont108.i unwind label %lpad97.i invoke.cont108.i: ; preds = %invoke.cont106.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i114115.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i115116.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) to label %invoke.cont110.i unwind label %lpad97.i invoke.cont110.i: ; preds = %invoke.cont108.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i114115.i, i64 1, ptr nonnull @.str.49) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i115116.i, i64 1, ptr nonnull @.str.49) to label %invoke.cont112.i unwind label %lpad97.i invoke.cont112.i: ; preds = %invoke.cont110.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i125.i) - store double %div.i.i, ptr %v.addr.i125.i, align 8 - %call.i126127.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i114115.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i125.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i126.i) + store double %div.i.i, ptr %v.addr.i126.i, align 8 + %call.i127128.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i115116.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i126.i) to label %invoke.cont114.i unwind label %lpad97.i invoke.cont114.i: ; preds = %invoke.cont112.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i125.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i126127.i, i64 2, ptr nonnull @.str.38) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i126.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i127128.i, i64 2, ptr nonnull @.str.38) to label %invoke.cont116.i unwind label %lpad97.i invoke.cont116.i: ; preds = %invoke.cont114.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i131.i) - store double %call64.i, ptr %v.addr.i131.i, align 8 - %call.i132133.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i126127.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i131.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i132.i) + store double %call64.i, ptr %v.addr.i132.i, align 8 + %call.i133134.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i127128.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i132.i) to label %invoke.cont118.i unwind label %lpad97.i invoke.cont118.i: ; preds = %invoke.cont116.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i131.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i132133.i, i64 2, ptr nonnull @.str.50) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i132.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i133134.i, i64 2, ptr nonnull @.str.50) to label %invoke.cont120.i unwind label %lpad97.i invoke.cont120.i: ; preds = %invoke.cont118.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i132133.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i133134.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) to label %invoke.cont122.i unwind label %lpad97.i invoke.cont122.i: ; preds = %invoke.cont120.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i132133.i, i64 10, ptr nonnull @.str.51) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i133134.i, i64 10, ptr nonnull @.str.51) to label %invoke.cont124.i unwind label %lpad97.i invoke.cont124.i: ; preds = %invoke.cont122.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i143.i) - store double %call47.i, ptr %v.addr.i143.i, align 8 - %call.i144145.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i132133.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i143.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i144.i) + store double %call47.i, ptr %v.addr.i144.i, align 8 + %call.i145146.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i133134.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i144.i) to label %invoke.cont126.i unwind label %lpad97.i invoke.cont126.i: ; preds = %invoke.cont124.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i143.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i144.i) call void @_ZN4absl12log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp93.i) #38 br label %if.end128.i @@ -3867,37 +3871,37 @@ if.then.i.i.i.i: ; preds = %if.end128.i br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %if.end128.i - %tobool.not.i.i.i147.i = icmp eq ptr %cutoffs.sroa.0.3.i, null - br i1 %tobool.not.i.i.i147.i, label %_ZN12_GLOBAL__N_128ExponentialDistributionTests20SingleChiSquaredTestIN4absl24exponential_distributionIdEEEEdv.exit, label %if.then.i.i.i148.i + %tobool.not.i.i.i148.i = icmp eq ptr %cutoffs.sroa.0.3.i, null + br i1 %tobool.not.i.i.i148.i, label %_ZN12_GLOBAL__N_128ExponentialDistributionTests20SingleChiSquaredTestIN4absl24exponential_distributionIdEEEEdv.exit, label %if.then.i.i.i149.i -if.then.i.i.i148.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i +if.then.i.i.i149.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.3.i) #33 br label %_ZN12_GLOBAL__N_128ExponentialDistributionTests20SingleChiSquaredTestIN4absl24exponential_distributionIdEEEEdv.exit ehcleanup.i: ; preds = %lpad97.i, %lpad76.i, %lpad20.loopexit.split-lp.i, %lpad20.loopexit.i %.pn.i = phi { ptr, i32 } [ %14, %lpad76.i ], [ %15, %lpad97.i ], [ %lpad.loopexit.i, %lpad20.loopexit.i ], [ %lpad.loopexit.split-lp.i, %lpad20.loopexit.split-lp.i ] - %tobool.not.i.i.i149.i = icmp eq ptr %counts.sroa.0.0.i, null - br i1 %tobool.not.i.i.i149.i, label %ehcleanup129.i, label %if.then.i.i.i150.i + %tobool.not.i.i.i150.i = icmp eq ptr %counts.sroa.0.0.i, null + br i1 %tobool.not.i.i.i150.i, label %ehcleanup129.i, label %if.then.i.i.i151.i -if.then.i.i.i150.i: ; preds = %ehcleanup.i +if.then.i.i.i151.i: ; preds = %ehcleanup.i call void @_ZdlPv(ptr noundef nonnull %counts.sroa.0.0.i) #33 br label %ehcleanup129.i -ehcleanup129.i: ; preds = %lpad15.i.loopexit, %lpad15.i.loopexit.split-lp, %lpad.loopexit.split-lp185.i.loopexit, %lpad.loopexit.split-lp185.i.loopexit.split-lp, %if.then.i.i.i150.i, %ehcleanup.i, %lpad.loopexit184.i - %cutoffs.sroa.0.4.i = phi ptr [ %cutoffs.sroa.0.3.i, %ehcleanup.i ], [ %cutoffs.sroa.0.3.i, %if.then.i.i.i150.i ], [ %cutoffs.sroa.0.0199.i, %lpad.loopexit184.i ], [ %cutoffs.sroa.0.1.i, %lpad.loopexit.split-lp185.i.loopexit ], [ %cutoffs.sroa.0.0192.i.ph, %lpad.loopexit.split-lp185.i.loopexit.split-lp ], [ %cutoffs.sroa.0.3.i, %lpad15.i.loopexit ], [ %cutoffs.sroa.0.3.i, %lpad15.i.loopexit.split-lp ] - %.pn15.i = phi { ptr, i32 } [ %.pn.i, %ehcleanup.i ], [ %.pn.i, %if.then.i.i.i150.i ], [ %lpad.loopexit186.i, %lpad.loopexit184.i ], [ %lpad.loopexit, %lpad.loopexit.split-lp185.i.loopexit ], [ %lpad.loopexit.split-lp, %lpad.loopexit.split-lp185.i.loopexit.split-lp ], [ %lpad.loopexit11, %lpad15.i.loopexit ], [ %lpad.loopexit.split-lp12, %lpad15.i.loopexit.split-lp ] - %tobool.not.i.i.i152.i = icmp eq ptr %cutoffs.sroa.0.4.i, null - br i1 %tobool.not.i.i.i152.i, label %common.resume, label %if.then.i.i.i153.i +ehcleanup129.i: ; preds = %lpad15.i.loopexit, %lpad15.i.loopexit.split-lp, %lpad.loopexit.split-lp186.i.loopexit, %lpad.loopexit.split-lp186.i.loopexit.split-lp, %if.then.i.i.i151.i, %ehcleanup.i, %lpad.loopexit185.i + %cutoffs.sroa.0.4.i = phi ptr [ %cutoffs.sroa.0.3.i, %ehcleanup.i ], [ %cutoffs.sroa.0.3.i, %if.then.i.i.i151.i ], [ %cutoffs.sroa.0.0200.i, %lpad.loopexit185.i ], [ %cutoffs.sroa.0.1.i, %lpad.loopexit.split-lp186.i.loopexit ], [ %cutoffs.sroa.0.0193.i.ph, %lpad.loopexit.split-lp186.i.loopexit.split-lp ], [ %cutoffs.sroa.0.3.i, %lpad15.i.loopexit ], [ %cutoffs.sroa.0.3.i, %lpad15.i.loopexit.split-lp ] + %.pn15.i = phi { ptr, i32 } [ %.pn.i, %ehcleanup.i ], [ %.pn.i, %if.then.i.i.i151.i ], [ %lpad.loopexit187.i, %lpad.loopexit185.i ], [ %lpad.loopexit, %lpad.loopexit.split-lp186.i.loopexit ], [ %lpad.loopexit.split-lp, %lpad.loopexit.split-lp186.i.loopexit.split-lp ], [ %lpad.loopexit11, %lpad15.i.loopexit ], [ %lpad.loopexit.split-lp12, %lpad15.i.loopexit.split-lp ] + %tobool.not.i.i.i153.i = icmp eq ptr %cutoffs.sroa.0.4.i, null + br i1 %tobool.not.i.i.i153.i, label %common.resume, label %if.then.i.i.i154.i -if.then.i.i.i153.i: ; preds = %ehcleanup129.i +if.then.i.i.i154.i: ; preds = %ehcleanup129.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.4.i) #33 br label %common.resume -common.resume: ; preds = %ehcleanup129.i, %if.then.i.i.i153.i, %ehcleanup15 - %common.resume.op = phi { ptr, i32 } [ %.pn.pn, %ehcleanup15 ], [ %.pn15.i, %if.then.i.i.i153.i ], [ %.pn15.i, %ehcleanup129.i ] +common.resume: ; preds = %ehcleanup129.i, %if.then.i.i.i154.i, %ehcleanup15 + %common.resume.op = phi { ptr, i32 } [ %.pn.pn, %ehcleanup15 ], [ %.pn15.i, %if.then.i.i.i154.i ], [ %.pn15.i, %ehcleanup129.i ] resume { ptr, i32 } %common.resume.op -_ZN12_GLOBAL__N_128ExponentialDistributionTests20SingleChiSquaredTestIN4absl24exponential_distributionIdEEEEdv.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %if.then.i.i.i148.i +_ZN12_GLOBAL__N_128ExponentialDistributionTests20SingleChiSquaredTestIN4absl24exponential_distributionIdEEEEdv.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %if.then.i.i.i149.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp72.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp93.i) %cmp2 = fcmp olt double %call64.i, 5.000000e-03 @@ -4085,7 +4089,7 @@ _ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i: ; preds = %_ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i.i - %add.ptr3.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Param", ptr null, i64 %sub.ptr.div.i.i.i.i.i.i.i + %add.ptr3.i.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i %_M_end_of_storage4.i.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i.i, ptr %_M_end_of_storage4.i.i.i.i, align 8, !noalias !56 br label %invoke.cont.i @@ -4096,7 +4100,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIN12_GL call5.i.i.i.i.noexc.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i.i.i, ptr %container_.i.i, align 8, !noalias !56 - %add.ptr.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Param", ptr %call5.i.i.i.i2.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i + %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !noalias !56 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i.i.i, ptr align 8 %container.0.val, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false), !noalias !56 @@ -4114,9 +4118,10 @@ if.then.i.i3.i.i.i: ; preds = %lpad.i.i.i br label %lpad.body.i invoke.cont.i: ; preds = %call5.i.i.i.i.noexc.i.i.i, %_ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i - %add.ptr5.i.i.i.i = phi ptr [ %add.ptr3.i.i.i.i, %_ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i ], [ %add.ptr.i.i.i.i, %call5.i.i.i.i.noexc.i.i.i ] + %cond.i5.i.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i ], [ %call5.i.i.i.i2.i.i.i, %call5.i.i.i.i.noexc.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i %_M_finish.i.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8, !noalias !56 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8, !noalias !56 store ptr %call.i, ptr %agg.result, align 8, !alias.scope !56 %_M_refcount.i.i.i.i = getelementptr inbounds %"class.std::__shared_ptr", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i.i, align 8, !alias.scope !56 @@ -9334,9 +9339,9 @@ entry: %cmp.i.i = fcmp oeq double %call3.i.i, 0xBBF0000000000000 br i1 %cmp.i.i, label %if.then.i.i, label %if.end.i.i -common.resume: ; preds = %lpad99, %_ZN7testing7MessageD2Ev.exit206, %lpad67, %_ZN7testing7MessageD2Ev.exit143, %lpad35, %_ZN7testing7MessageD2Ev.exit80, %lpad6, %_ZN7testing7MessageD2Ev.exit22 - %gtest_ar92.sink = phi ptr [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit22 ], [ %gtest_ar, %lpad6 ], [ %gtest_ar28, %_ZN7testing7MessageD2Ev.exit80 ], [ %gtest_ar28, %lpad35 ], [ %gtest_ar60, %_ZN7testing7MessageD2Ev.exit143 ], [ %gtest_ar60, %lpad67 ], [ %gtest_ar92, %_ZN7testing7MessageD2Ev.exit206 ], [ %gtest_ar92, %lpad99 ] - %common.resume.op = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit22 ], [ %5, %lpad6 ], [ %.pn4, %_ZN7testing7MessageD2Ev.exit80 ], [ %16, %lpad35 ], [ %.pn8, %_ZN7testing7MessageD2Ev.exit143 ], [ %27, %lpad67 ], [ %.pn12, %_ZN7testing7MessageD2Ev.exit206 ], [ %38, %lpad99 ] +common.resume: ; preds = %lpad99, %_ZN7testing7MessageD2Ev.exit209, %lpad67, %_ZN7testing7MessageD2Ev.exit145, %lpad35, %_ZN7testing7MessageD2Ev.exit81, %lpad6, %_ZN7testing7MessageD2Ev.exit22 + %gtest_ar92.sink = phi ptr [ %gtest_ar, %_ZN7testing7MessageD2Ev.exit22 ], [ %gtest_ar, %lpad6 ], [ %gtest_ar28, %_ZN7testing7MessageD2Ev.exit81 ], [ %gtest_ar28, %lpad35 ], [ %gtest_ar60, %_ZN7testing7MessageD2Ev.exit145 ], [ %gtest_ar60, %lpad67 ], [ %gtest_ar92, %_ZN7testing7MessageD2Ev.exit209 ], [ %gtest_ar92, %lpad99 ] + %common.resume.op = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit22 ], [ %5, %lpad6 ], [ %.pn4, %_ZN7testing7MessageD2Ev.exit81 ], [ %16, %lpad35 ], [ %.pn8, %_ZN7testing7MessageD2Ev.exit145 ], [ %27, %lpad67 ], [ %.pn12, %_ZN7testing7MessageD2Ev.exit209 ], [ %38, %lpad99 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar92.sink) #32 resume { ptr, i32 } %common.resume.op @@ -9440,44 +9445,44 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN4absl15random_internal13sequence_urbgD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 - %call3.i.i52 = call double @log1p(double noundef 0xBFDFFFFFFFFFFFFF) #32 - %mul.i.i53 = fneg double %call3.i.i52 - store double %mul.i.i53, ptr %a24, align 8 + %call3.i.i53 = call double @log1p(double noundef 0xBFDFFFFFFFFFFFFF) #32 + %mul.i.i54 = fneg double %call3.i.i53 + store double %mul.i.i54, ptr %a24, align 8 store double 0x3FE62E42FEFA39EE, ptr %ref.tmp29, align 8 - %cmp.i.i54 = fcmp oeq double %call3.i.i52, 0xBFE62E42FEFA39EE - br i1 %cmp.i.i54, label %if.then.i.i56, label %if.end.i.i55 + %cmp.i.i55 = fcmp oeq double %call3.i.i53, 0xBFE62E42FEFA39EE + br i1 %cmp.i.i55, label %if.then.i.i57, label %if.end.i.i56 -if.then.i.i56: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit +if.then.i.i57: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit call void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar28) br label %invoke.cont30 -if.end.i.i55: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit +if.end.i.i56: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit call void @_ZN7testing8internal18CmpHelperEQFailureIddEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar28, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.101, ptr noundef nonnull align 8 dereferenceable(8) %a24, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29) br label %invoke.cont30 -invoke.cont30: ; preds = %if.then.i.i56, %if.end.i.i55 +invoke.cont30: ; preds = %if.then.i.i57, %if.end.i.i56 %11 = load i8, ptr %gtest_ar28, align 8 %12 = and i8 %11, 1 - %tobool.i60.not = icmp eq i8 %12, 0 - br i1 %tobool.i60.not, label %if.else33, label %if.end46 + %tobool.i61.not = icmp eq i8 %12, 0 + br i1 %tobool.i61.not, label %if.else33, label %if.end46 if.else33: ; preds = %invoke.cont30 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp34) to label %invoke.cont36 unwind label %lpad35 invoke.cont36: ; preds = %if.else33 - %message_.i.i65 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar28, i64 0, i32 1 - %13 = load ptr, ptr %message_.i.i65, align 8 - %cmp.i.i.not.i.i66 = icmp eq ptr %13, null - br i1 %cmp.i.i.not.i.i66, label %invoke.cont39, label %cond.true.i.i67 + %message_.i.i66 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar28, i64 0, i32 1 + %13 = load ptr, ptr %message_.i.i66, align 8 + %cmp.i.i.not.i.i67 = icmp eq ptr %13, null + br i1 %cmp.i.i.not.i.i67, label %invoke.cont39, label %cond.true.i.i68 -cond.true.i.i67: ; preds = %invoke.cont36 - %call4.i.i68 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #32 +cond.true.i.i68: ; preds = %invoke.cont36 + %call4.i.i69 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #32 br label %invoke.cont39 -invoke.cont39: ; preds = %cond.true.i.i67, %invoke.cont36 - %cond.i.i69 = phi ptr [ %call4.i.i68, %cond.true.i.i67 ], [ @.str, %invoke.cont36 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 408, ptr noundef %cond.i.i69) +invoke.cont39: ; preds = %cond.true.i.i68, %invoke.cont36 + %cond.i.i70 = phi ptr [ %call4.i.i69, %cond.true.i.i68 ], [ @.str, %invoke.cont36 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 408, ptr noundef %cond.i.i70) to label %invoke.cont41 unwind label %lpad38 invoke.cont41: ; preds = %invoke.cont39 @@ -9487,17 +9492,17 @@ invoke.cont41: ; preds = %invoke.cont39 invoke.cont43: ; preds = %invoke.cont41 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp37) #32 %14 = load ptr, ptr %ref.tmp34, align 8 - %cmp.not.i.i71 = icmp eq ptr %14, null - br i1 %cmp.not.i.i71, label %_ZN7testing7MessageD2Ev.exit75, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 + %cmp.not.i.i72 = icmp eq ptr %14, null + br i1 %cmp.not.i.i72, label %_ZN7testing7MessageD2Ev.exit76, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i73 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72: ; preds = %invoke.cont43 - %vtable.i.i.i73 = load ptr, ptr %14, align 8 - %vfn.i.i.i74 = getelementptr inbounds ptr, ptr %vtable.i.i.i73, i64 1 - %15 = load ptr, ptr %vfn.i.i.i74, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i73: ; preds = %invoke.cont43 + %vtable.i.i.i74 = load ptr, ptr %14, align 8 + %vfn.i.i.i75 = getelementptr inbounds ptr, ptr %vtable.i.i.i74, i64 1 + %15 = load ptr, ptr %vfn.i.i.i75, align 8 call void %15(ptr noundef nonnull align 8 dereferenceable(128) %14) #32 - br label %_ZN7testing7MessageD2Ev.exit75 + br label %_ZN7testing7MessageD2Ev.exit76 -_ZN7testing7MessageD2Ev.exit75: ; preds = %invoke.cont43, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i72 +_ZN7testing7MessageD2Ev.exit76: ; preds = %invoke.cont43, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i73 store ptr null, ptr %ref.tmp34, align 8 br label %if.end46 @@ -9520,71 +9525,71 @@ lpad42: ; preds = %invoke.cont41 ehcleanup45: ; preds = %lpad42, %lpad38 %.pn4 = phi { ptr, i32 } [ %18, %lpad42 ], [ %17, %lpad38 ] %19 = load ptr, ptr %ref.tmp34, align 8 - %cmp.not.i.i76 = icmp eq ptr %19, null - br i1 %cmp.not.i.i76, label %_ZN7testing7MessageD2Ev.exit80, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 + %cmp.not.i.i77 = icmp eq ptr %19, null + br i1 %cmp.not.i.i77, label %_ZN7testing7MessageD2Ev.exit81, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77: ; preds = %ehcleanup45 - %vtable.i.i.i78 = load ptr, ptr %19, align 8 - %vfn.i.i.i79 = getelementptr inbounds ptr, ptr %vtable.i.i.i78, i64 1 - %20 = load ptr, ptr %vfn.i.i.i79, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78: ; preds = %ehcleanup45 + %vtable.i.i.i79 = load ptr, ptr %19, align 8 + %vfn.i.i.i80 = getelementptr inbounds ptr, ptr %vtable.i.i.i79, i64 1 + %20 = load ptr, ptr %vfn.i.i.i80, align 8 call void %20(ptr noundef nonnull align 8 dereferenceable(128) %19) #32 - br label %_ZN7testing7MessageD2Ev.exit80 + br label %_ZN7testing7MessageD2Ev.exit81 -_ZN7testing7MessageD2Ev.exit80: ; preds = %ehcleanup45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77 +_ZN7testing7MessageD2Ev.exit81: ; preds = %ehcleanup45, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78 store ptr null, ptr %ref.tmp34, align 8 br label %common.resume -if.end46: ; preds = %invoke.cont30, %_ZN7testing7MessageD2Ev.exit75 - %message_.i81 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar28, i64 0, i32 1 - %21 = load ptr, ptr %message_.i81, align 8 - %cmp.not.i.i82 = icmp eq ptr %21, null - br i1 %cmp.not.i.i82, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit88, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 +if.end46: ; preds = %invoke.cont30, %_ZN7testing7MessageD2Ev.exit76 + %message_.i82 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar28, i64 0, i32 1 + %21 = load ptr, ptr %message_.i82, align 8 + %cmp.not.i.i83 = icmp eq ptr %21, null + br i1 %cmp.not.i.i83, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit89, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83: ; preds = %if.end46 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84: ; preds = %if.end46 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #32 call void @_ZdlPv(ptr noundef nonnull %21) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit88 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit89 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit88: ; preds = %if.end46, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i83 - store ptr null, ptr %message_.i81, align 8 - %call3.i.i115 = call double @log1p(double noundef 0xBFEFFFFFFFFFFFFF) #32 - %mul.i.i116 = fneg double %call3.i.i115 - store double %mul.i.i116, ptr %a56, align 8 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit89: ; preds = %if.end46, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i84 + store ptr null, ptr %message_.i82, align 8 + %call3.i.i117 = call double @log1p(double noundef 0xBFEFFFFFFFFFFFFF) #32 + %mul.i.i118 = fneg double %call3.i.i117 + store double %mul.i.i118, ptr %a56, align 8 store double 0x40425E4F7B2737FA, ptr %ref.tmp61, align 8 - %cmp.i.i117 = fcmp oeq double %call3.i.i115, 0xC0425E4F7B2737FA - br i1 %cmp.i.i117, label %if.then.i.i119, label %if.end.i.i118 + %cmp.i.i119 = fcmp oeq double %call3.i.i117, 0xC0425E4F7B2737FA + br i1 %cmp.i.i119, label %if.then.i.i121, label %if.end.i.i120 -if.then.i.i119: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit88 +if.then.i.i121: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit89 call void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar60) br label %invoke.cont62 -if.end.i.i118: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit88 +if.end.i.i120: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit89 call void @_ZN7testing8internal18CmpHelperEQFailureIddEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar60, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.102, ptr noundef nonnull align 8 dereferenceable(8) %a56, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp61) br label %invoke.cont62 -invoke.cont62: ; preds = %if.then.i.i119, %if.end.i.i118 +invoke.cont62: ; preds = %if.then.i.i121, %if.end.i.i120 %22 = load i8, ptr %gtest_ar60, align 8 %23 = and i8 %22, 1 - %tobool.i123.not = icmp eq i8 %23, 0 - br i1 %tobool.i123.not, label %if.else65, label %if.end78 + %tobool.i125.not = icmp eq i8 %23, 0 + br i1 %tobool.i125.not, label %if.else65, label %if.end78 if.else65: ; preds = %invoke.cont62 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp66) to label %invoke.cont68 unwind label %lpad67 invoke.cont68: ; preds = %if.else65 - %message_.i.i128 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar60, i64 0, i32 1 - %24 = load ptr, ptr %message_.i.i128, align 8 - %cmp.i.i.not.i.i129 = icmp eq ptr %24, null - br i1 %cmp.i.i.not.i.i129, label %invoke.cont71, label %cond.true.i.i130 + %message_.i.i130 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar60, i64 0, i32 1 + %24 = load ptr, ptr %message_.i.i130, align 8 + %cmp.i.i.not.i.i131 = icmp eq ptr %24, null + br i1 %cmp.i.i.not.i.i131, label %invoke.cont71, label %cond.true.i.i132 -cond.true.i.i130: ; preds = %invoke.cont68 - %call4.i.i131 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %24) #32 +cond.true.i.i132: ; preds = %invoke.cont68 + %call4.i.i133 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %24) #32 br label %invoke.cont71 -invoke.cont71: ; preds = %cond.true.i.i130, %invoke.cont68 - %cond.i.i132 = phi ptr [ %call4.i.i131, %cond.true.i.i130 ], [ @.str, %invoke.cont68 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp69, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 416, ptr noundef %cond.i.i132) +invoke.cont71: ; preds = %cond.true.i.i132, %invoke.cont68 + %cond.i.i134 = phi ptr [ %call4.i.i133, %cond.true.i.i132 ], [ @.str, %invoke.cont68 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp69, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 416, ptr noundef %cond.i.i134) to label %invoke.cont73 unwind label %lpad70 invoke.cont73: ; preds = %invoke.cont71 @@ -9594,17 +9599,17 @@ invoke.cont73: ; preds = %invoke.cont71 invoke.cont75: ; preds = %invoke.cont73 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp69) #32 %25 = load ptr, ptr %ref.tmp66, align 8 - %cmp.not.i.i134 = icmp eq ptr %25, null - br i1 %cmp.not.i.i134, label %_ZN7testing7MessageD2Ev.exit138, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i135 + %cmp.not.i.i136 = icmp eq ptr %25, null + br i1 %cmp.not.i.i136, label %_ZN7testing7MessageD2Ev.exit140, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i137 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i135: ; preds = %invoke.cont75 - %vtable.i.i.i136 = load ptr, ptr %25, align 8 - %vfn.i.i.i137 = getelementptr inbounds ptr, ptr %vtable.i.i.i136, i64 1 - %26 = load ptr, ptr %vfn.i.i.i137, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i137: ; preds = %invoke.cont75 + %vtable.i.i.i138 = load ptr, ptr %25, align 8 + %vfn.i.i.i139 = getelementptr inbounds ptr, ptr %vtable.i.i.i138, i64 1 + %26 = load ptr, ptr %vfn.i.i.i139, align 8 call void %26(ptr noundef nonnull align 8 dereferenceable(128) %25) #32 - br label %_ZN7testing7MessageD2Ev.exit138 + br label %_ZN7testing7MessageD2Ev.exit140 -_ZN7testing7MessageD2Ev.exit138: ; preds = %invoke.cont75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i135 +_ZN7testing7MessageD2Ev.exit140: ; preds = %invoke.cont75, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i137 store ptr null, ptr %ref.tmp66, align 8 br label %if.end78 @@ -9627,71 +9632,71 @@ lpad74: ; preds = %invoke.cont73 ehcleanup77: ; preds = %lpad74, %lpad70 %.pn8 = phi { ptr, i32 } [ %29, %lpad74 ], [ %28, %lpad70 ] %30 = load ptr, ptr %ref.tmp66, align 8 - %cmp.not.i.i139 = icmp eq ptr %30, null - br i1 %cmp.not.i.i139, label %_ZN7testing7MessageD2Ev.exit143, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 + %cmp.not.i.i141 = icmp eq ptr %30, null + br i1 %cmp.not.i.i141, label %_ZN7testing7MessageD2Ev.exit145, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140: ; preds = %ehcleanup77 - %vtable.i.i.i141 = load ptr, ptr %30, align 8 - %vfn.i.i.i142 = getelementptr inbounds ptr, ptr %vtable.i.i.i141, i64 1 - %31 = load ptr, ptr %vfn.i.i.i142, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142: ; preds = %ehcleanup77 + %vtable.i.i.i143 = load ptr, ptr %30, align 8 + %vfn.i.i.i144 = getelementptr inbounds ptr, ptr %vtable.i.i.i143, i64 1 + %31 = load ptr, ptr %vfn.i.i.i144, align 8 call void %31(ptr noundef nonnull align 8 dereferenceable(128) %30) #32 - br label %_ZN7testing7MessageD2Ev.exit143 + br label %_ZN7testing7MessageD2Ev.exit145 -_ZN7testing7MessageD2Ev.exit143: ; preds = %ehcleanup77, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i140 +_ZN7testing7MessageD2Ev.exit145: ; preds = %ehcleanup77, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142 store ptr null, ptr %ref.tmp66, align 8 br label %common.resume -if.end78: ; preds = %invoke.cont62, %_ZN7testing7MessageD2Ev.exit138 - %message_.i144 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar60, i64 0, i32 1 - %32 = load ptr, ptr %message_.i144, align 8 - %cmp.not.i.i145 = icmp eq ptr %32, null - br i1 %cmp.not.i.i145, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit151, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146 +if.end78: ; preds = %invoke.cont62, %_ZN7testing7MessageD2Ev.exit140 + %message_.i146 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar60, i64 0, i32 1 + %32 = load ptr, ptr %message_.i146, align 8 + %cmp.not.i.i147 = icmp eq ptr %32, null + br i1 %cmp.not.i.i147, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit153, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146: ; preds = %if.end78 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148: ; preds = %if.end78 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #32 call void @_ZdlPv(ptr noundef nonnull %32) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit151 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit153 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit151: ; preds = %if.end78, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i146 - store ptr null, ptr %message_.i144, align 8 - %call3.i.i178 = call double @log1p(double noundef 0xBFEFFFFFFFFFFFFF) #32 - %mul.i.i179 = fneg double %call3.i.i178 - store double %mul.i.i179, ptr %a88, align 8 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit153: ; preds = %if.end78, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i148 + store ptr null, ptr %message_.i146, align 8 + %call3.i.i181 = call double @log1p(double noundef 0xBFEFFFFFFFFFFFFF) #32 + %mul.i.i182 = fneg double %call3.i.i181 + store double %mul.i.i182, ptr %a88, align 8 store double 0x40425E4F7B2737FA, ptr %ref.tmp93, align 8 - %cmp.i.i180 = fcmp oeq double %call3.i.i178, 0xC0425E4F7B2737FA - br i1 %cmp.i.i180, label %if.then.i.i182, label %if.end.i.i181 + %cmp.i.i183 = fcmp oeq double %call3.i.i181, 0xC0425E4F7B2737FA + br i1 %cmp.i.i183, label %if.then.i.i185, label %if.end.i.i184 -if.then.i.i182: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit151 +if.then.i.i185: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit153 call void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar92) br label %invoke.cont94 -if.end.i.i181: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit151 +if.end.i.i184: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit153 call void @_ZN7testing8internal18CmpHelperEQFailureIddEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar92, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.102, ptr noundef nonnull align 8 dereferenceable(8) %a88, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93) br label %invoke.cont94 -invoke.cont94: ; preds = %if.then.i.i182, %if.end.i.i181 +invoke.cont94: ; preds = %if.then.i.i185, %if.end.i.i184 %33 = load i8, ptr %gtest_ar92, align 8 %34 = and i8 %33, 1 - %tobool.i186.not = icmp eq i8 %34, 0 - br i1 %tobool.i186.not, label %if.else97, label %if.end110 + %tobool.i189.not = icmp eq i8 %34, 0 + br i1 %tobool.i189.not, label %if.else97, label %if.end110 if.else97: ; preds = %invoke.cont94 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp98) to label %invoke.cont100 unwind label %lpad99 invoke.cont100: ; preds = %if.else97 - %message_.i.i191 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 - %35 = load ptr, ptr %message_.i.i191, align 8 - %cmp.i.i.not.i.i192 = icmp eq ptr %35, null - br i1 %cmp.i.i.not.i.i192, label %invoke.cont103, label %cond.true.i.i193 + %message_.i.i194 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 + %35 = load ptr, ptr %message_.i.i194, align 8 + %cmp.i.i.not.i.i195 = icmp eq ptr %35, null + br i1 %cmp.i.i.not.i.i195, label %invoke.cont103, label %cond.true.i.i196 -cond.true.i.i193: ; preds = %invoke.cont100 - %call4.i.i194 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %35) #32 +cond.true.i.i196: ; preds = %invoke.cont100 + %call4.i.i197 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %35) #32 br label %invoke.cont103 -invoke.cont103: ; preds = %cond.true.i.i193, %invoke.cont100 - %cond.i.i195 = phi ptr [ %call4.i.i194, %cond.true.i.i193 ], [ @.str, %invoke.cont100 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 422, ptr noundef %cond.i.i195) +invoke.cont103: ; preds = %cond.true.i.i196, %invoke.cont100 + %cond.i.i198 = phi ptr [ %call4.i.i197, %cond.true.i.i196 ], [ @.str, %invoke.cont100 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 422, ptr noundef %cond.i.i198) to label %invoke.cont105 unwind label %lpad102 invoke.cont105: ; preds = %invoke.cont103 @@ -9701,17 +9706,17 @@ invoke.cont105: ; preds = %invoke.cont103 invoke.cont107: ; preds = %invoke.cont105 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp101) #32 %36 = load ptr, ptr %ref.tmp98, align 8 - %cmp.not.i.i197 = icmp eq ptr %36, null - br i1 %cmp.not.i.i197, label %_ZN7testing7MessageD2Ev.exit201, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 + %cmp.not.i.i200 = icmp eq ptr %36, null + br i1 %cmp.not.i.i200, label %_ZN7testing7MessageD2Ev.exit204, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198: ; preds = %invoke.cont107 - %vtable.i.i.i199 = load ptr, ptr %36, align 8 - %vfn.i.i.i200 = getelementptr inbounds ptr, ptr %vtable.i.i.i199, i64 1 - %37 = load ptr, ptr %vfn.i.i.i200, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201: ; preds = %invoke.cont107 + %vtable.i.i.i202 = load ptr, ptr %36, align 8 + %vfn.i.i.i203 = getelementptr inbounds ptr, ptr %vtable.i.i.i202, i64 1 + %37 = load ptr, ptr %vfn.i.i.i203, align 8 call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #32 - br label %_ZN7testing7MessageD2Ev.exit201 + br label %_ZN7testing7MessageD2Ev.exit204 -_ZN7testing7MessageD2Ev.exit201: ; preds = %invoke.cont107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 +_ZN7testing7MessageD2Ev.exit204: ; preds = %invoke.cont107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201 store ptr null, ptr %ref.tmp98, align 8 br label %if.end110 @@ -9734,32 +9739,32 @@ lpad106: ; preds = %invoke.cont105 ehcleanup109: ; preds = %lpad106, %lpad102 %.pn12 = phi { ptr, i32 } [ %40, %lpad106 ], [ %39, %lpad102 ] %41 = load ptr, ptr %ref.tmp98, align 8 - %cmp.not.i.i202 = icmp eq ptr %41, null - br i1 %cmp.not.i.i202, label %_ZN7testing7MessageD2Ev.exit206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 + %cmp.not.i.i205 = icmp eq ptr %41, null + br i1 %cmp.not.i.i205, label %_ZN7testing7MessageD2Ev.exit209, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %ehcleanup109 - %vtable.i.i.i204 = load ptr, ptr %41, align 8 - %vfn.i.i.i205 = getelementptr inbounds ptr, ptr %vtable.i.i.i204, i64 1 - %42 = load ptr, ptr %vfn.i.i.i205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206: ; preds = %ehcleanup109 + %vtable.i.i.i207 = load ptr, ptr %41, align 8 + %vfn.i.i.i208 = getelementptr inbounds ptr, ptr %vtable.i.i.i207, i64 1 + %42 = load ptr, ptr %vfn.i.i.i208, align 8 call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #32 - br label %_ZN7testing7MessageD2Ev.exit206 + br label %_ZN7testing7MessageD2Ev.exit209 -_ZN7testing7MessageD2Ev.exit206: ; preds = %ehcleanup109, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +_ZN7testing7MessageD2Ev.exit209: ; preds = %ehcleanup109, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i206 store ptr null, ptr %ref.tmp98, align 8 br label %common.resume -if.end110: ; preds = %invoke.cont94, %_ZN7testing7MessageD2Ev.exit201 - %message_.i207 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 - %43 = load ptr, ptr %message_.i207, align 8 - %cmp.not.i.i208 = icmp eq ptr %43, null - br i1 %cmp.not.i.i208, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit214, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209 +if.end110: ; preds = %invoke.cont94, %_ZN7testing7MessageD2Ev.exit204 + %message_.i210 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar92, i64 0, i32 1 + %43 = load ptr, ptr %message_.i210, align 8 + %cmp.not.i.i211 = icmp eq ptr %43, null + br i1 %cmp.not.i.i211, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit217, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209: ; preds = %if.end110 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212: ; preds = %if.end110 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #32 call void @_ZdlPv(ptr noundef nonnull %43) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit214 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit217 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit214: ; preds = %if.end110, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i209 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit217: ; preds = %if.end110, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 ret void } diff --git a/bench/abseil-cpp/optimized/failure_signal_handler_test.cc.ll b/bench/abseil-cpp/optimized/failure_signal_handler_test.cc.ll index bc810819f01..b920e79575b 100644 --- a/bench/abseil-cpp/optimized/failure_signal_handler_test.cc.ll +++ b/bench/abseil-cpp/optimized/failure_signal_handler_test.cc.ll @@ -839,23 +839,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #32 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -6276,8 +6277,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %end to i64 %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %begin to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i, 2 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -6292,7 +6292,7 @@ _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i: ; preds = %entry br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i - %add.ptr5.i.i.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr5.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage6.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr5.i.i.i, ptr %_M_end_of_storage6.i.i.i, align 8 br label %invoke.cont @@ -6303,7 +6303,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiE call5.i.i.i.i.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i, ptr align 4 %begin, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) @@ -6321,9 +6321,10 @@ if.then.i.i2.i.i: ; preds = %lpad.i.i br label %lpad.body invoke.cont: ; preds = %call5.i.i.i.i.noexc.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i - %add.ptr7.i.i.i = phi ptr [ %add.ptr5.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i ], [ %add.ptr.i.i.i, %call5.i.i.i.i.noexc.i.i ] + %cond.i7.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %call5.i.i.i.i.noexc.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i7.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %_M_finish.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr7.i.i.i, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %call, ptr %agg.result, align 8 %_M_refcount.i.i.i = getelementptr inbounds %"class.std::__shared_ptr", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i, align 8 diff --git a/bench/abseil-cpp/optimized/fixed_array_test.cc.ll b/bench/abseil-cpp/optimized/fixed_array_test.cc.ll index 74969de23c7..80b9f1ffc66 100644 --- a/bench/abseil-cpp/optimized/fixed_array_test.cc.ll +++ b/bench/abseil-cpp/optimized/fixed_array_test.cc.ll @@ -1883,7 +1883,7 @@ for.body.i.i.i.i: ; preds = %for.body.i.i.i.i.pr br i1 %cmp.not.i.i.i.i, label %invoke.cont7, label %for.body.i.i.i.i, !llvm.loop !7 invoke.cont7: ; preds = %for.body.i.i.i.i - %cmp.i.i.i.i.i.i27 = icmp ugt i64 %1, 2305843009213693951 + %cmp.i.i.i.i.i.i27 = icmp ugt i64 %add.ptr.i.idx.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i27, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont7 @@ -1899,36 +1899,41 @@ _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i: ; preds = %invoke if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i %call5.i.i.i.i1.i.i.i.i29 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i.idx.i.i) #24 - to label %invoke.cont10 unwind label %lpad9 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %lpad9 + +invoke.cont.thread.i: ; preds = %invoke.cont.i.i.i, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i + %_M_finish.i.i.i.i.i13.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp8, i64 0, i32 1 + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %add.ptr.i.idx.i.i + %_M_end_of_storage.i.i.i.i.i15.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp8, i64 0, i32 2 + store i64 0, ptr %ref.tmp8, align 8, !alias.scope !8 + store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i15.i, align 8, !alias.scope !8 + store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_finish.i.i.i.i.i13.i, align 8, !alias.scope !8 + br label %invoke.cont12 -invoke.cont10: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i29, ptr align 4 %0, i64 %add.ptr.i.idx.i.i, i1 false), !noalias !8 - call void @llvm.experimental.noalias.scope.decl(metadata !13) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp8, i8 0, i64 24, i1 false), !alias.scope !13 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i29, ptr align 4 %0, i64 %add.ptr.i.idx.i.i, i1 false), !noalias !11 + call void @llvm.experimental.noalias.scope.decl(metadata !8) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp8, i8 0, i64 24, i1 false), !alias.scope !8 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i.idx.i.i) #24 - to label %if.then.i.i.i.i.i unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !13 - -invoke.cont.thread.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %invoke.cont.i.i.i - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp8, i8 0, i64 24, i1 false) - br label %invoke.cont12 + to label %if.then.i.i.i.i.i unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !8 -if.then.i.i.i.i.i: ; preds = %invoke.cont10 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp8, align 8, !alias.scope !13 +if.then.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i + store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp8, align 8, !alias.scope !8 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp8, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %1 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %add.ptr.i.idx.i.i %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp8, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !13 + store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !8 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i29, i64 %add.ptr.i.idx.i.i, i1 false) - store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !13 + store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !8 br label %invoke.cont12 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %invoke.cont10 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %3 = landingpad { ptr, i32 } cleanup br label %if.then.i.i.i.i38 invoke.cont12: ; preds = %if.then.i.i.i.i.i, %invoke.cont.thread.i - %agg.tmp.sroa.0.0252 = phi ptr [ null, %invoke.cont.thread.i ], [ %call5.i.i.i.i1.i.i.i.i29, %if.then.i.i.i.i.i ] + %agg.tmp.sroa.0.0252 = phi ptr [ %call5.i.i.i.i1.i.i.i.i29, %if.then.i.i.i.i.i ], [ null, %invoke.cont.thread.i ] invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl10FixedArrayIiLm10ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp8, ptr noundef nonnull @.str.81, ptr noundef nonnull align 8 dereferenceable(56) %stack_copy) to label %invoke.cont14 unwind label %lpad13 @@ -1981,9 +1986,9 @@ ehcleanup: ; preds = %if.then.i.i.i.i.i35 br i1 %tobool.not.i.i.i.i37, label %ehcleanup124, label %if.then.i.i.i.i38 if.then.i.i.i.i38: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %ehcleanup - %.pn261 = phi { ptr, i32 } [ %9, %ehcleanup ], [ %3, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] - %agg.tmp.sroa.0.0254260 = phi ptr [ %agg.tmp.sroa.0.0252, %ehcleanup ], [ %call5.i.i.i.i1.i.i.i.i29, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp.sroa.0.0254260) #23 + %.pn259 = phi { ptr, i32 } [ %9, %ehcleanup ], [ %3, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] + %agg.tmp.sroa.0.0254258 = phi ptr [ %agg.tmp.sroa.0.0252, %ehcleanup ], [ %call5.i.i.i.i1.i.i.i.i29, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp.sroa.0.0254258) #23 br label %ehcleanup124 lpad15: ; preds = %if.else @@ -2197,39 +2202,39 @@ for.body.i.i.preheader.i.i87: ; preds = %invoke.cont.i.threa call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(60) %call5.i.i.i2.i.i.i2.i101, ptr noundef nonnull align 4 dereferenceable(60) %call5.i.i.i2.i.i64, i64 60, i1 false) call void @llvm.experimental.noalias.scope.decl(metadata !16) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp67, i8 0, i64 24, i1 false), !alias.scope !16 - %call5.i.i.i.i2.i6.i.i.i2.i126 = invoke noalias noundef nonnull dereferenceable(60) ptr @_Znwm(i64 noundef 60) #24 - to label %if.then.i.i.i.i.i128 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i127, !noalias !16 + %call5.i.i.i.i2.i6.i.i.i2.i127 = invoke noalias noundef nonnull dereferenceable(60) ptr @_Znwm(i64 noundef 60) #24 + to label %if.then.i.i.i.i.i129 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i128, !noalias !16 -if.then.i.i.i.i.i128: ; preds = %for.body.i.i.preheader.i.i87 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i126, ptr %ref.tmp67, align 8, !alias.scope !16 +if.then.i.i.i.i.i129: ; preds = %for.body.i.i.preheader.i.i87 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i127, ptr %ref.tmp67, align 8, !alias.scope !16 %_M_finish.i.i.i.i.i.i130 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp67, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i131 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i126, i64 15 + %add.ptr.i.i.i.i.i.i131 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i127, i64 60 %_M_end_of_storage.i.i.i.i.i.i132 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp67, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i131, ptr %_M_end_of_storage.i.i.i.i.i.i132, align 8, !alias.scope !16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(60) %call5.i.i.i.i2.i6.i.i.i2.i126, ptr noundef nonnull align 4 dereferenceable(60) %call5.i.i.i2.i.i64, i64 60, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(60) %call5.i.i.i.i2.i6.i.i.i2.i127, ptr noundef nonnull align 4 dereferenceable(60) %call5.i.i.i2.i.i64, i64 60, i1 false) store ptr %add.ptr.i.i.i.i.i.i131, ptr %_M_finish.i.i.i.i.i.i130, align 8, !alias.scope !16 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl10FixedArrayIiLm10ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar66, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp67, ptr noundef nonnull @.str.85, ptr noundef nonnull align 8 dereferenceable(56) %alloced_copy) to label %invoke.cont74 unwind label %lpad73 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i127: ; preds = %for.body.i.i.preheader.i.i87 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i128: ; preds = %for.body.i.i.preheader.i.i87 %28 = landingpad { ptr, i32 } cleanup br label %ehcleanup122 -invoke.cont74: ; preds = %if.then.i.i.i.i.i128 +invoke.cont74: ; preds = %if.then.i.i.i.i.i129 %29 = load ptr, ptr %ref.tmp67, align 8 - %tobool.not.i.i.i.i.i144 = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i.i.i144, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit149, label %if.then.i.i.i.i.i145 + %tobool.not.i.i.i.i.i145 = icmp eq ptr %29, null + br i1 %tobool.not.i.i.i.i.i145, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150, label %if.then.i.i.i.i.i146 -if.then.i.i.i.i.i145: ; preds = %invoke.cont74 +if.then.i.i.i.i.i146: ; preds = %invoke.cont74 call void @_ZdlPv(ptr noundef nonnull %29) #23 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit149 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit149: ; preds = %invoke.cont74, %if.then.i.i.i.i.i145 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150: ; preds = %invoke.cont74, %if.then.i.i.i.i.i146 %30 = load i8, ptr %gtest_ar66, align 8 %31 = and i8 %30, 1 - %tobool.i150.not = icmp eq i8 %31, 0 - br i1 %tobool.i150.not, label %if.else81, label %if.end93 + %tobool.i151.not = icmp eq i8 %31, 0 + br i1 %tobool.i151.not, label %if.else81, label %if.end93 ehcleanup54: ; preds = %_ZN7testing7MessageD2Ev.exit57, %lpad34 %.pn5.pn.pn = phi { ptr, i32 } [ %.pn5.pn, %_ZN7testing7MessageD2Ev.exit57 ], [ %20, %lpad34 ] @@ -2244,16 +2249,16 @@ lpad56: ; preds = %_ZN7testing15Assert lpad59: ; preds = %invoke.cont.i.thread.i.i85 %33 = landingpad { ptr, i32 } cleanup - br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit220 + br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit221 -lpad73: ; preds = %if.then.i.i.i.i.i128 +lpad73: ; preds = %if.then.i.i.i.i.i129 %34 = landingpad { ptr, i32 } cleanup %35 = load ptr, ptr %ref.tmp67, align 8 - %tobool.not.i.i.i.i.i151 = icmp eq ptr %35, null - br i1 %tobool.not.i.i.i.i.i151, label %ehcleanup122, label %if.then.i.i.i.i.i152 + %tobool.not.i.i.i.i.i152 = icmp eq ptr %35, null + br i1 %tobool.not.i.i.i.i.i152, label %ehcleanup122, label %if.then.i.i.i.i.i153 -if.then.i.i.i.i.i152: ; preds = %lpad73 +if.then.i.i.i.i.i153: ; preds = %lpad73 call void @_ZdlPv(ptr noundef nonnull %35) #23 br label %ehcleanup122 @@ -2262,23 +2267,23 @@ lpad77: ; preds = %if.else81 cleanup br label %ehcleanup94 -if.else81: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit149 +if.else81: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp82) to label %invoke.cont83 unwind label %lpad77 invoke.cont83: ; preds = %if.else81 - %message_.i.i157 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar66, i64 0, i32 1 - %37 = load ptr, ptr %message_.i.i157, align 8 - %cmp.i.i.not.i.i158 = icmp eq ptr %37, null - br i1 %cmp.i.i.not.i.i158, label %invoke.cont86, label %cond.true.i.i159 + %message_.i.i158 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar66, i64 0, i32 1 + %37 = load ptr, ptr %message_.i.i158, align 8 + %cmp.i.i.not.i.i159 = icmp eq ptr %37, null + br i1 %cmp.i.i.not.i.i159, label %invoke.cont86, label %cond.true.i.i160 -cond.true.i.i159: ; preds = %invoke.cont83 - %call4.i.i160 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %37) #22 +cond.true.i.i160: ; preds = %invoke.cont83 + %call4.i.i161 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %37) #22 br label %invoke.cont86 -invoke.cont86: ; preds = %cond.true.i.i159, %invoke.cont83 - %cond.i.i161 = phi ptr [ %call4.i.i160, %cond.true.i.i159 ], [ @.str.123, %invoke.cont83 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp84, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 105, ptr noundef %cond.i.i161) +invoke.cont86: ; preds = %cond.true.i.i160, %invoke.cont83 + %cond.i.i162 = phi ptr [ %call4.i.i161, %cond.true.i.i160 ], [ @.str.123, %invoke.cont83 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp84, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 105, ptr noundef %cond.i.i162) to label %invoke.cont88 unwind label %lpad85 invoke.cont88: ; preds = %invoke.cont86 @@ -2288,17 +2293,17 @@ invoke.cont88: ; preds = %invoke.cont86 invoke.cont90: ; preds = %invoke.cont88 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp84) #22 %38 = load ptr, ptr %ref.tmp82, align 8 - %cmp.not.i.i163 = icmp eq ptr %38, null - br i1 %cmp.not.i.i163, label %_ZN7testing7MessageD2Ev.exit167, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 + %cmp.not.i.i164 = icmp eq ptr %38, null + br i1 %cmp.not.i.i164, label %_ZN7testing7MessageD2Ev.exit168, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164: ; preds = %invoke.cont90 - %vtable.i.i.i165 = load ptr, ptr %38, align 8 - %vfn.i.i.i166 = getelementptr inbounds ptr, ptr %vtable.i.i.i165, i64 1 - %39 = load ptr, ptr %vfn.i.i.i166, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %invoke.cont90 + %vtable.i.i.i166 = load ptr, ptr %38, align 8 + %vfn.i.i.i167 = getelementptr inbounds ptr, ptr %vtable.i.i.i166, i64 1 + %39 = load ptr, ptr %vfn.i.i.i167, align 8 call void %39(ptr noundef nonnull align 8 dereferenceable(128) %38) #22 - br label %_ZN7testing7MessageD2Ev.exit167 + br label %_ZN7testing7MessageD2Ev.exit168 -_ZN7testing7MessageD2Ev.exit167: ; preds = %invoke.cont90, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 +_ZN7testing7MessageD2Ev.exit168: ; preds = %invoke.cont90, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 store ptr null, ptr %ref.tmp82, align 8 br label %if.end93 @@ -2316,43 +2321,43 @@ lpad89: ; preds = %invoke.cont88 ehcleanup92: ; preds = %lpad89, %lpad85 %.pn11 = phi { ptr, i32 } [ %41, %lpad89 ], [ %40, %lpad85 ] %42 = load ptr, ptr %ref.tmp82, align 8 - %cmp.not.i.i168 = icmp eq ptr %42, null - br i1 %cmp.not.i.i168, label %_ZN7testing7MessageD2Ev.exit172, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 + %cmp.not.i.i169 = icmp eq ptr %42, null + br i1 %cmp.not.i.i169, label %_ZN7testing7MessageD2Ev.exit173, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %ehcleanup92 - %vtable.i.i.i170 = load ptr, ptr %42, align 8 - %vfn.i.i.i171 = getelementptr inbounds ptr, ptr %vtable.i.i.i170, i64 1 - %43 = load ptr, ptr %vfn.i.i.i171, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170: ; preds = %ehcleanup92 + %vtable.i.i.i171 = load ptr, ptr %42, align 8 + %vfn.i.i.i172 = getelementptr inbounds ptr, ptr %vtable.i.i.i171, i64 1 + %43 = load ptr, ptr %vfn.i.i.i172, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #22 - br label %_ZN7testing7MessageD2Ev.exit172 + br label %_ZN7testing7MessageD2Ev.exit173 -_ZN7testing7MessageD2Ev.exit172: ; preds = %ehcleanup92, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +_ZN7testing7MessageD2Ev.exit173: ; preds = %ehcleanup92, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 store ptr null, ptr %ref.tmp82, align 8 br label %ehcleanup94 -if.end93: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit149, %_ZN7testing7MessageD2Ev.exit167 - %message_.i173 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar66, i64 0, i32 1 - %44 = load ptr, ptr %message_.i173, align 8 - %cmp.not.i.i174 = icmp eq ptr %44, null - br i1 %cmp.not.i.i174, label %invoke.cont97, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 +if.end93: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150, %_ZN7testing7MessageD2Ev.exit168 + %message_.i174 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar66, i64 0, i32 1 + %44 = load ptr, ptr %message_.i174, align 8 + %cmp.not.i.i175 = icmp eq ptr %44, null + br i1 %cmp.not.i.i175, label %invoke.cont97, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175: ; preds = %if.end93 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176: ; preds = %if.end93 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #22 call void @_ZdlPv(ptr noundef nonnull %44) #23 br label %invoke.cont97 -invoke.cont97: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175, %if.end93 - store ptr null, ptr %message_.i173, align 8 +invoke.cont97: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176, %if.end93 + store ptr null, ptr %message_.i174, align 8 %alloced_copy.val = load i64, ptr %size_alloc_.i.i.i.i81, align 8 - %cmp.i177 = icmp ugt i64 %alloced_copy.val, 10 - %frombool99 = zext i1 %cmp.i177 to i8 + %cmp.i178 = icmp ugt i64 %alloced_copy.val, 10 + %frombool99 = zext i1 %cmp.i178 to i8 store i8 %frombool99, ptr %gtest_ar_95, align 8 - %message_.i178 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_95, i64 0, i32 1 - store ptr null, ptr %message_.i178, align 8 - br i1 %cmp.i177, label %_ZN7testing15AssertionResultD2Ev.exit193, label %if.else105 + %message_.i179 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_95, i64 0, i32 1 + store ptr null, ptr %message_.i179, align 8 + br i1 %cmp.i178, label %_ZN7testing15AssertionResultD2Ev.exit194, label %if.else105 -ehcleanup94: ; preds = %_ZN7testing7MessageD2Ev.exit172, %lpad77 - %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit172 ], [ %36, %lpad77 ] +ehcleanup94: ; preds = %_ZN7testing7MessageD2Ev.exit173, %lpad77 + %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit173 ], [ %36, %lpad77 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar66) #22 br label %ehcleanup122 @@ -2382,13 +2387,13 @@ invoke.cont116: ; preds = %invoke.cont114 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp108) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp109) #22 %46 = load ptr, ptr %ref.tmp106, align 8 - %cmp.not.i.i180 = icmp eq ptr %46, null - br i1 %cmp.not.i.i180, label %if.end120, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 + %cmp.not.i.i181 = icmp eq ptr %46, null + br i1 %cmp.not.i.i181, label %if.end120, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181: ; preds = %invoke.cont116 - %vtable.i.i.i182 = load ptr, ptr %46, align 8 - %vfn.i.i.i183 = getelementptr inbounds ptr, ptr %vtable.i.i.i182, i64 1 - %47 = load ptr, ptr %vfn.i.i.i183, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182: ; preds = %invoke.cont116 + %vtable.i.i.i183 = load ptr, ptr %46, align 8 + %vfn.i.i.i184 = getelementptr inbounds ptr, ptr %vtable.i.i.i183, i64 1 + %47 = load ptr, ptr %vfn.i.i.i184, align 8 call void %47(ptr noundef nonnull align 8 dereferenceable(128) %46) #22 br label %if.end120 @@ -2416,112 +2421,112 @@ ehcleanup118: ; preds = %lpad115, %lpad113 ehcleanup119: ; preds = %ehcleanup118, %lpad110 %.pn14.pn = phi { ptr, i32 } [ %.pn14, %ehcleanup118 ], [ %48, %lpad110 ] %51 = load ptr, ptr %ref.tmp106, align 8 - %cmp.not.i.i185 = icmp eq ptr %51, null - br i1 %cmp.not.i.i185, label %_ZN7testing7MessageD2Ev.exit189, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186 + %cmp.not.i.i186 = icmp eq ptr %51, null + br i1 %cmp.not.i.i186, label %_ZN7testing7MessageD2Ev.exit190, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186: ; preds = %ehcleanup119 - %vtable.i.i.i187 = load ptr, ptr %51, align 8 - %vfn.i.i.i188 = getelementptr inbounds ptr, ptr %vtable.i.i.i187, i64 1 - %52 = load ptr, ptr %vfn.i.i.i188, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187: ; preds = %ehcleanup119 + %vtable.i.i.i188 = load ptr, ptr %51, align 8 + %vfn.i.i.i189 = getelementptr inbounds ptr, ptr %vtable.i.i.i188, i64 1 + %52 = load ptr, ptr %vfn.i.i.i189, align 8 call void %52(ptr noundef nonnull align 8 dereferenceable(128) %51) #22 - br label %_ZN7testing7MessageD2Ev.exit189 + br label %_ZN7testing7MessageD2Ev.exit190 -_ZN7testing7MessageD2Ev.exit189: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186 +_ZN7testing7MessageD2Ev.exit190: ; preds = %ehcleanup119, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 store ptr null, ptr %ref.tmp106, align 8 br label %ehcleanup121 -if.end120: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181, %invoke.cont116 +if.end120: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182, %invoke.cont116 store ptr null, ptr %ref.tmp106, align 8 - %.pr264 = load ptr, ptr %message_.i178, align 8 - %cmp.not.i.i191 = icmp eq ptr %.pr264, null - br i1 %cmp.not.i.i191, label %_ZN7testing15AssertionResultD2Ev.exit193, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 + %.pr248 = load ptr, ptr %message_.i179, align 8 + %cmp.not.i.i192 = icmp eq ptr %.pr248, null + br i1 %cmp.not.i.i192, label %_ZN7testing15AssertionResultD2Ev.exit194, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192: ; preds = %if.end120 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr264) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr264) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit193 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193: ; preds = %if.end120 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr248) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr248) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit194 -_ZN7testing15AssertionResultD2Ev.exit193: ; preds = %invoke.cont97, %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 - store ptr null, ptr %message_.i178, align 8 +_ZN7testing15AssertionResultD2Ev.exit194: ; preds = %invoke.cont97, %if.end120, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 + store ptr null, ptr %message_.i179, align 8 %53 = load i64, ptr %size_alloc_.i.i.i.i81, align 8 %cmp.i.i.i = icmp ult i64 %53, 11 - br i1 %cmp.i.i.i, label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit200, label %invoke.cont10.i.i + br i1 %cmp.i.i.i, label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit201, label %invoke.cont10.i.i -invoke.cont10.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit193 +invoke.cont10.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit194 %54 = load ptr, ptr %data_.i.i5.i.i86, align 8 call void @_ZdlPv(ptr noundef %54) #23 - br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit200 + br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit201 -_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit200: ; preds = %_ZN7testing15AssertionResultD2Ev.exit193, %invoke.cont10.i.i +_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit201: ; preds = %_ZN7testing15AssertionResultD2Ev.exit194, %invoke.cont10.i.i call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i2.i.i64) #23 %55 = load i64, ptr %size_alloc_.i.i.i.i, align 8 - %cmp.i.i.i202 = icmp ult i64 %55, 11 - br i1 %cmp.i.i.i202, label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit205, label %invoke.cont10.i.i203 + %cmp.i.i.i203 = icmp ult i64 %55, 11 + br i1 %cmp.i.i.i203, label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit206, label %invoke.cont10.i.i204 -invoke.cont10.i.i203: ; preds = %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit200 - %data_.i.i204 = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %stack_copy, i64 0, i32 2 - %56 = load ptr, ptr %data_.i.i204, align 8 +invoke.cont10.i.i204: ; preds = %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit201 + %data_.i.i205 = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %stack_copy, i64 0, i32 2 + %56 = load ptr, ptr %data_.i.i205, align 8 call void @_ZdlPv(ptr noundef %56) #23 - br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit205 + br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit206 -_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit205: ; preds = %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit200, %invoke.cont10.i.i203 +_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit206: ; preds = %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit201, %invoke.cont10.i.i204 %57 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i207 = icmp ult i64 %57, 11 - br i1 %cmp.i.i.i207, label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit210, label %invoke.cont10.i.i208 + %cmp.i.i.i208 = icmp ult i64 %57, 11 + br i1 %cmp.i.i.i208, label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit211, label %invoke.cont10.i.i209 -invoke.cont10.i.i208: ; preds = %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit205 +invoke.cont10.i.i209: ; preds = %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit206 %58 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %58) #23 - br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit210 + br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit211 -_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit210: ; preds = %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit205, %invoke.cont10.i.i208 +_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit211: ; preds = %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit206, %invoke.cont10.i.i209 ret void -ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit189, %lpad101 - %.pn14.pn.pn = phi { ptr, i32 } [ %.pn14.pn, %_ZN7testing7MessageD2Ev.exit189 ], [ %45, %lpad101 ] +ehcleanup121: ; preds = %_ZN7testing7MessageD2Ev.exit190, %lpad101 + %.pn14.pn.pn = phi { ptr, i32 } [ %.pn14.pn, %_ZN7testing7MessageD2Ev.exit190 ], [ %45, %lpad101 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_95) #22 br label %ehcleanup122 -ehcleanup122: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i127, %lpad73, %if.then.i.i.i.i.i152, %ehcleanup121, %ehcleanup94 - %.pn14.pn.pn.pn = phi { ptr, i32 } [ %.pn14.pn.pn, %ehcleanup121 ], [ %.pn11.pn, %ehcleanup94 ], [ %28, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i127 ], [ %34, %lpad73 ], [ %34, %if.then.i.i.i.i.i152 ] +ehcleanup122: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i128, %lpad73, %if.then.i.i.i.i.i153, %ehcleanup121, %ehcleanup94 + %.pn14.pn.pn.pn = phi { ptr, i32 } [ %.pn14.pn.pn, %ehcleanup121 ], [ %.pn11.pn, %ehcleanup94 ], [ %28, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i128 ], [ %34, %lpad73 ], [ %34, %if.then.i.i.i.i.i153 ] %59 = load i64, ptr %size_alloc_.i.i.i.i81, align 8 - %cmp.i.i.i212 = icmp ult i64 %59, 11 - br i1 %cmp.i.i.i212, label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit220, label %invoke.cont10.i.i213 + %cmp.i.i.i213 = icmp ult i64 %59, 11 + br i1 %cmp.i.i.i213, label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit221, label %invoke.cont10.i.i214 -invoke.cont10.i.i213: ; preds = %ehcleanup122 +invoke.cont10.i.i214: ; preds = %ehcleanup122 %60 = load ptr, ptr %data_.i.i5.i.i86, align 8 call void @_ZdlPv(ptr noundef %60) #23 - br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit220 + br label %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit221 -_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit220: ; preds = %invoke.cont10.i.i213, %ehcleanup122, %lpad59 - %.pn14.pn.pn.pn.pn = phi { ptr, i32 } [ %33, %lpad59 ], [ %.pn14.pn.pn.pn, %ehcleanup122 ], [ %.pn14.pn.pn.pn, %invoke.cont10.i.i213 ] +_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit221: ; preds = %invoke.cont10.i.i214, %ehcleanup122, %lpad59 + %.pn14.pn.pn.pn.pn = phi { ptr, i32 } [ %33, %lpad59 ], [ %.pn14.pn.pn.pn, %ehcleanup122 ], [ %.pn14.pn.pn.pn, %invoke.cont10.i.i214 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i2.i.i64) #23 br label %ehcleanup124 -ehcleanup124: ; preds = %if.then.i.i.i.i38, %ehcleanup, %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit220, %lpad56, %ehcleanup54, %ehcleanup29, %lpad9 - %.pn14.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn14.pn.pn.pn.pn, %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit220 ], [ %32, %lpad56 ], [ %.pn5.pn.pn, %ehcleanup54 ], [ %8, %lpad9 ], [ %.pn2.pn, %ehcleanup29 ], [ %9, %ehcleanup ], [ %.pn261, %if.then.i.i.i.i38 ] +ehcleanup124: ; preds = %if.then.i.i.i.i38, %ehcleanup, %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit221, %lpad56, %ehcleanup54, %ehcleanup29, %lpad9 + %.pn14.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn14.pn.pn.pn.pn, %_ZN4absl10FixedArrayIiLm10ESaIiEED2Ev.exit221 ], [ %32, %lpad56 ], [ %.pn5.pn.pn, %ehcleanup54 ], [ %8, %lpad9 ], [ %.pn2.pn, %ehcleanup29 ], [ %9, %ehcleanup ], [ %.pn259, %if.then.i.i.i.i38 ] %61 = load i64, ptr %size_alloc_.i.i.i.i, align 8 - %cmp.i.i.i222 = icmp ult i64 %61, 11 - br i1 %cmp.i.i.i222, label %ehcleanup125, label %invoke.cont10.i.i223 + %cmp.i.i.i223 = icmp ult i64 %61, 11 + br i1 %cmp.i.i.i223, label %ehcleanup125, label %invoke.cont10.i.i224 -invoke.cont10.i.i223: ; preds = %ehcleanup124 - %data_.i.i224 = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %stack_copy, i64 0, i32 2 - %62 = load ptr, ptr %data_.i.i224, align 8 +invoke.cont10.i.i224: ; preds = %ehcleanup124 + %data_.i.i225 = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %stack_copy, i64 0, i32 2 + %62 = load ptr, ptr %data_.i.i225, align 8 call void @_ZdlPv(ptr noundef %62) #23 br label %ehcleanup125 -ehcleanup125: ; preds = %invoke.cont10.i.i223, %ehcleanup124, %lpad2 - %.pn14.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %7, %lpad2 ], [ %.pn14.pn.pn.pn.pn.pn, %ehcleanup124 ], [ %.pn14.pn.pn.pn.pn.pn, %invoke.cont10.i.i223 ] +ehcleanup125: ; preds = %invoke.cont10.i.i224, %ehcleanup124, %lpad2 + %.pn14.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %7, %lpad2 ], [ %.pn14.pn.pn.pn.pn.pn, %ehcleanup124 ], [ %.pn14.pn.pn.pn.pn.pn, %invoke.cont10.i.i224 ] %63 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i227 = icmp ult i64 %63, 11 - br i1 %cmp.i.i.i227, label %eh.resume, label %invoke.cont10.i.i228 + %cmp.i.i.i228 = icmp ult i64 %63, 11 + br i1 %cmp.i.i.i228, label %eh.resume, label %invoke.cont10.i.i229 -invoke.cont10.i.i228: ; preds = %ehcleanup125 +invoke.cont10.i.i229: ; preds = %ehcleanup125 %64 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %64) #23 br label %eh.resume -eh.resume: ; preds = %invoke.cont10.i.i228, %ehcleanup125 +eh.resume: ; preds = %invoke.cont10.i.i229, %ehcleanup125 resume { ptr, i32 } %.pn14.pn.pn.pn.pn.pn.pn } @@ -8650,22 +8655,22 @@ entry: %data_.i.i = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %a1, i64 0, i32 2 %size_alloc_.i.i59 = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %a2, i64 0, i32 1 %data_.i.i63 = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %a2, i64 0, i32 2 - %message_.i447 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - %message_.i75463 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_33, i64 0, i32 1 - %message_.i105478 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_59, i64 0, i32 1 - %message_.i135495 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_85, i64 0, i32 1 - %message_.i155505 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_112, i64 0, i32 1 - %message_.i175522 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_139, i64 0, i32 1 - %message_.i214539 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_166, i64 0, i32 1 - %message_.i253556 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_193, i64 0, i32 1 - %message_.i290572 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_220, i64 0, i32 1 - %message_.i328587 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_246, i64 0, i32 1 - %message_.i367602 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_272, i64 0, i32 1 - %message_.i406617 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_298, i64 0, i32 1 + %message_.i475 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + %message_.i75491 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_33, i64 0, i32 1 + %message_.i105506 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_59, i64 0, i32 1 + %message_.i135523 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_85, i64 0, i32 1 + %message_.i157533 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_112, i64 0, i32 1 + %message_.i179550 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_139, i64 0, i32 1 + %message_.i222567 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_166, i64 0, i32 1 + %message_.i265584 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_193, i64 0, i32 1 + %message_.i306600 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_220, i64 0, i32 1 + %message_.i348615 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_246, i64 0, i32 1 + %message_.i391630 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_272, i64 0, i32 1 + %message_.i434645 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_298, i64 0, i32 1 br label %for.body -for.body: ; preds = %entry, %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit428 - %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit428 ] +for.body: ; preds = %entry, %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit456 + %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit456 ] store i64 %indvars.iv, ptr %size_alloc_.i.i, align 8 %cmp.i.i.i.i = icmp ult i64 %indvars.iv, 6 br i1 %cmp.i.i.i.i, label %invoke.cont4, label %invoke.cont4.thread @@ -8682,30 +8687,30 @@ invoke.cont4: ; preds = %for.body br i1 %cmp.not4.i, label %if.end.i.i.i.thread, label %for.body.i.preheader for.body.i.preheader: ; preds = %invoke.cont4.thread, %invoke.cont4 - %retval.0.i.i.i985 = phi ptr [ %call5.i.i.i2.i.i53, %invoke.cont4.thread ], [ %a1, %invoke.cont4 ] - %add.ptr.i986 = getelementptr inbounds i32, ptr %retval.0.i.i.i985, i64 %indvars.iv + %retval.0.i.i.i1013 = phi ptr [ %call5.i.i.i2.i.i53, %invoke.cont4.thread ], [ %a1, %invoke.cont4 ] + %add.ptr.i1014 = getelementptr inbounds i32, ptr %retval.0.i.i.i1013, i64 %indvars.iv br label %for.body.i for.body.i: ; preds = %for.body.i.preheader, %for.body.i %__value.addr.06.i = phi i32 [ %inc.i, %for.body.i ], [ 0, %for.body.i.preheader ] - %__first.addr.05.i = phi ptr [ %incdec.ptr.i, %for.body.i ], [ %retval.0.i.i.i985, %for.body.i.preheader ] + %__first.addr.05.i = phi ptr [ %incdec.ptr.i, %for.body.i ], [ %retval.0.i.i.i1013, %for.body.i.preheader ] store i32 %__value.addr.06.i, ptr %__first.addr.05.i, align 4 %inc.i = add nuw nsw i32 %__value.addr.06.i, 1 %incdec.ptr.i = getelementptr inbounds i32, ptr %__first.addr.05.i, i64 1 - %cmp.not.i = icmp eq ptr %incdec.ptr.i, %add.ptr.i986 + %cmp.not.i = icmp eq ptr %incdec.ptr.i, %add.ptr.i1014 br i1 %cmp.not.i, label %invoke.cont8, label %for.body.i, !llvm.loop !5 invoke.cont8: ; preds = %for.body.i %.pre = load ptr, ptr %data_.i.i, align 8 - %.pre979 = load i64, ptr %size_alloc_.i.i, align 8 - %add.ptr.i58 = getelementptr inbounds i32, ptr %.pre, i64 %.pre979 - %add.ptr.i58.idx = shl nsw i64 %.pre979, 2 - store i64 %.pre979, ptr %size_alloc_.i.i59, align 8 - %cmp.i.i.i.i60 = icmp ult i64 %.pre979, 6 + %.pre1007 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i58 = getelementptr inbounds i32, ptr %.pre, i64 %.pre1007 + %add.ptr.i58.idx = shl nsw i64 %.pre1007, 2 + store i64 %.pre1007, ptr %size_alloc_.i.i59, align 8 + %cmp.i.i.i.i60 = icmp ult i64 %.pre1007, 6 br i1 %cmp.i.i.i.i60, label %invoke.cont.i, label %if.else.i.i.i61 if.else.i.i.i61: ; preds = %invoke.cont8 - %cmp.i.i.i.i.i = icmp ugt i64 %.pre979, 2305843009213693951 + %cmp.i.i.i.i.i = icmp ugt i64 %.pre1007, 2305843009213693951 br i1 %cmp.i.i.i.i.i, label %if.then3.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i if.then3.i.i.i.i.i: ; preds = %if.else.i.i.i61 @@ -8717,19 +8722,19 @@ if.then3.i.i.i.i.i: ; preds = %if.else.i.i.i61 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i: ; preds = %if.else.i.i.i61 %call5.i.i.i2.i.i65 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %add.ptr.i58.idx) #24 - to label %invoke.cont.i.thread998 unwind label %lpad11.loopexit + to label %invoke.cont.i.thread1026 unwind label %lpad11.loopexit -invoke.cont.i.thread998: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i +invoke.cont.i.thread1026: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i store ptr %call5.i.i.i2.i.i65, ptr %data_.i.i63, align 8 br label %for.body.i.i.preheader invoke.cont.i: ; preds = %invoke.cont8 store ptr %a2, ptr %data_.i.i63, align 8 - %cmp.not4.i.i = icmp eq i64 %.pre979, 0 + %cmp.not4.i.i = icmp eq i64 %.pre1007, 0 br i1 %cmp.not4.i.i, label %invoke.cont12, label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %invoke.cont.i.thread998, %invoke.cont.i - %cur.06.i.i.ph = phi ptr [ %a2, %invoke.cont.i ], [ %call5.i.i.i2.i.i65, %invoke.cont.i.thread998 ] +for.body.i.i.preheader: ; preds = %invoke.cont.i.thread1026, %invoke.cont.i + %cur.06.i.i.ph = phi ptr [ %a2, %invoke.cont.i ], [ %call5.i.i.i2.i.i65, %invoke.cont.i.thread1026 ] br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.body.i.i @@ -8743,42 +8748,42 @@ for.body.i.i: ; preds = %for.body.i.i.prehea br i1 %cmp.not.i.i, label %invoke.cont12.loopexit, label %for.body.i.i, !llvm.loop !169 invoke.cont12.loopexit: ; preds = %for.body.i.i - %.pre980 = load ptr, ptr %data_.i.i63, align 8 - %.pre981 = load i64, ptr %size_alloc_.i.i59, align 8 + %.pre1008 = load ptr, ptr %data_.i.i63, align 8 + %.pre1009 = load i64, ptr %size_alloc_.i.i59, align 8 br label %invoke.cont12 invoke.cont12: ; preds = %invoke.cont12.loopexit, %invoke.cont.i - %cmp.not4.i.i997 = phi i1 [ false, %invoke.cont12.loopexit ], [ true, %invoke.cont.i ] - %add.ptr.i58.idx991996 = phi i64 [ %add.ptr.i58.idx, %invoke.cont12.loopexit ], [ 0, %invoke.cont.i ] - %1 = phi i64 [ %.pre981, %invoke.cont12.loopexit ], [ 0, %invoke.cont.i ] - %2 = phi ptr [ %.pre980, %invoke.cont12.loopexit ], [ %a2, %invoke.cont.i ] + %cmp.not4.i.i1025 = phi i1 [ false, %invoke.cont12.loopexit ], [ true, %invoke.cont.i ] + %add.ptr.i58.idx10191024 = phi i64 [ %add.ptr.i58.idx, %invoke.cont12.loopexit ], [ 0, %invoke.cont.i ] + %1 = phi i64 [ %.pre1009, %invoke.cont12.loopexit ], [ 0, %invoke.cont.i ] + %2 = phi ptr [ %.pre1008, %invoke.cont12.loopexit ], [ %a2, %invoke.cont.i ] %add.ptr.i7.idx.i = shl nsw i64 %1, 2 - %cmp.not.i.i.i = icmp eq i64 %add.ptr.i58.idx991996, %add.ptr.i7.idx.i - br i1 %cmp.not.i.i.i, label %if.end.i.i.i, label %invoke.cont15.thread444 + %cmp.not.i.i.i = icmp eq i64 %add.ptr.i58.idx10191024, %add.ptr.i7.idx.i + br i1 %cmp.not.i.i.i, label %if.end.i.i.i, label %invoke.cont15.thread472 if.end.i.i.i.thread: ; preds = %invoke.cont4 store i64 0, ptr %size_alloc_.i.i59, align 8 store ptr %a2, ptr %data_.i.i63, align 8 br label %invoke.cont15.thread -invoke.cont15.thread444: ; preds = %invoke.cont12 +invoke.cont15.thread472: ; preds = %invoke.cont12 store i8 0, ptr %gtest_ar_, align 8 - store ptr null, ptr %message_.i447, align 8 + store ptr null, ptr %message_.i475, align 8 br label %if.else if.end.i.i.i: ; preds = %invoke.cont12 - br i1 %cmp.not4.i.i997, label %invoke.cont15.thread, label %invoke.cont15 + br i1 %cmp.not4.i.i1025, label %invoke.cont15.thread, label %invoke.cont15 invoke.cont15.thread: ; preds = %if.end.i.i.i.thread, %if.end.i.i.i store i8 1, ptr %gtest_ar_, align 8 br label %_ZN7testing15AssertionResultD2Ev.exit invoke.cont15: ; preds = %if.end.i.i.i - %bcmp.i.i.i.i.i.i.i = call i32 @bcmp(ptr %.pre, ptr %2, i64 %add.ptr.i58.idx991996) + %bcmp.i.i.i.i.i.i.i = call i32 @bcmp(ptr %.pre, ptr %2, i64 %add.ptr.i58.idx10191024) %tobool1.not.i.i.i.i.i.i.i = icmp eq i32 %bcmp.i.i.i.i.i.i.i, 0 %frombool = zext i1 %tobool1.not.i.i.i.i.i.i.i to i8 store i8 %frombool, ptr %gtest_ar_, align 8 - store ptr null, ptr %message_.i447, align 8 + store ptr null, ptr %message_.i475, align 8 br i1 %tobool1.not.i.i.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %if.else lpad11.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i @@ -8791,7 +8796,7 @@ lpad11.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i cleanup br label %ehcleanup325 -if.else: ; preds = %invoke.cont15.thread444, %invoke.cont15 +if.else: ; preds = %invoke.cont15.thread472, %invoke.cont15 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp19) to label %invoke.cont21 unwind label %lpad20 @@ -8867,7 +8872,7 @@ _ZN7testing7MessageD2Ev.exit72: ; preds = %ehcleanup31, %_ZNKS if.end: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %invoke.cont30 store ptr null, ptr %ref.tmp19, align 8 - %.pr = load ptr, ptr %message_.i447, align 8 + %.pr = load ptr, ptr %message_.i475, align 8 %cmp.not.i.i74 = icmp eq ptr %.pr, null br i1 %cmp.not.i.i74, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -8877,7 +8882,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont15, %invoke.cont15.thread, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i - store ptr null, ptr %message_.i447, align 8 + store ptr null, ptr %message_.i475, align 8 %11 = load ptr, ptr %data_.i.i, align 8 %12 = load i64, ptr %size_alloc_.i.i, align 8 %13 = load ptr, ptr %data_.i.i63, align 8 @@ -8885,11 +8890,11 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont15, %inv %add.ptr.i.idx.i.i = shl nsw i64 %12, 2 %add.ptr.i7.idx.i.i = shl nsw i64 %14, 2 %cmp.not.i.i.i.i = icmp eq i64 %add.ptr.i.idx.i.i, %add.ptr.i7.idx.i.i - br i1 %cmp.not.i.i.i.i, label %if.end.i.i.i.i, label %invoke.cont35.thread459 + br i1 %cmp.not.i.i.i.i, label %if.end.i.i.i.i, label %invoke.cont35.thread487 -invoke.cont35.thread459: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +invoke.cont35.thread487: ; preds = %_ZN7testing15AssertionResultD2Ev.exit store i8 0, ptr %gtest_ar_33, align 8 - store ptr null, ptr %message_.i75463, align 8 + store ptr null, ptr %message_.i75491, align 8 br label %if.else41 if.end.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -8905,10 +8910,10 @@ invoke.cont35: ; preds = %if.end.i.i.i.i %tobool1.not.i.i.i.i.i.i.i.i.not = icmp eq i32 %bcmp.i.i.i.i.i.i.i.i, 0 %frombool37 = zext i1 %tobool1.not.i.i.i.i.i.i.i.i.not to i8 store i8 %frombool37, ptr %gtest_ar_33, align 8 - store ptr null, ptr %message_.i75463, align 8 + store ptr null, ptr %message_.i75491, align 8 br i1 %tobool1.not.i.i.i.i.i.i.i.i.not, label %_ZN7testing15AssertionResultD2Ev.exit90, label %if.else41 -if.else41: ; preds = %invoke.cont35.thread459, %invoke.cont35 +if.else41: ; preds = %invoke.cont35.thread487, %invoke.cont35 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp42) to label %invoke.cont44 unwind label %lpad43 @@ -8984,17 +8989,17 @@ _ZN7testing7MessageD2Ev.exit86: ; preds = %ehcleanup56, %_ZNKS if.end57: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i78, %invoke.cont53 store ptr null, ptr %ref.tmp42, align 8 - %.pr466 = load ptr, ptr %message_.i75463, align 8 - %cmp.not.i.i88 = icmp eq ptr %.pr466, null + %.pr494 = load ptr, ptr %message_.i75491, align 8 + %cmp.not.i.i88 = icmp eq ptr %.pr494, null br i1 %cmp.not.i.i88, label %_ZN7testing15AssertionResultD2Ev.exit90, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89: ; preds = %if.end57 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr466) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr466) #23 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr494) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr494) #23 br label %_ZN7testing15AssertionResultD2Ev.exit90 _ZN7testing15AssertionResultD2Ev.exit90: ; preds = %invoke.cont35, %invoke.cont35.thread, %if.end57, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 - store ptr null, ptr %message_.i75463, align 8 + store ptr null, ptr %message_.i75491, align 8 %23 = load ptr, ptr %data_.i.i63, align 8 %24 = load i64, ptr %size_alloc_.i.i59, align 8 %25 = load ptr, ptr %data_.i.i, align 8 @@ -9002,11 +9007,11 @@ _ZN7testing15AssertionResultD2Ev.exit90: ; preds = %invoke.cont35, %inv %add.ptr.i.idx.i95 = shl nsw i64 %24, 2 %add.ptr.i7.idx.i96 = shl nsw i64 %26, 2 %cmp.not.i.i.i97 = icmp eq i64 %add.ptr.i.idx.i95, %add.ptr.i7.idx.i96 - br i1 %cmp.not.i.i.i97, label %if.end.i.i.i99, label %invoke.cont61.thread475 + br i1 %cmp.not.i.i.i97, label %if.end.i.i.i99, label %invoke.cont61.thread503 -invoke.cont61.thread475: ; preds = %_ZN7testing15AssertionResultD2Ev.exit90 +invoke.cont61.thread503: ; preds = %_ZN7testing15AssertionResultD2Ev.exit90 store i8 0, ptr %gtest_ar_59, align 8 - store ptr null, ptr %message_.i105478, align 8 + store ptr null, ptr %message_.i105506, align 8 br label %if.else67 if.end.i.i.i99: ; preds = %_ZN7testing15AssertionResultD2Ev.exit90 @@ -9022,10 +9027,10 @@ invoke.cont61: ; preds = %if.end.i.i.i99 %tobool1.not.i.i.i.i.i.i.i103 = icmp eq i32 %bcmp.i.i.i.i.i.i.i102, 0 %frombool63 = zext i1 %tobool1.not.i.i.i.i.i.i.i103 to i8 store i8 %frombool63, ptr %gtest_ar_59, align 8 - store ptr null, ptr %message_.i105478, align 8 + store ptr null, ptr %message_.i105506, align 8 br i1 %tobool1.not.i.i.i.i.i.i.i103, label %_ZN7testing15AssertionResultD2Ev.exit120, label %if.else67 -if.else67: ; preds = %invoke.cont61.thread475, %invoke.cont61 +if.else67: ; preds = %invoke.cont61.thread503, %invoke.cont61 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp68) to label %invoke.cont70 unwind label %lpad69 @@ -9101,17 +9106,17 @@ _ZN7testing7MessageD2Ev.exit116: ; preds = %ehcleanup82, %_ZNKS if.end83: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108, %invoke.cont79 store ptr null, ptr %ref.tmp68, align 8 - %.pr481 = load ptr, ptr %message_.i105478, align 8 - %cmp.not.i.i118 = icmp eq ptr %.pr481, null + %.pr509 = load ptr, ptr %message_.i105506, align 8 + %cmp.not.i.i118 = icmp eq ptr %.pr509, null br i1 %cmp.not.i.i118, label %_ZN7testing15AssertionResultD2Ev.exit120, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119: ; preds = %if.end83 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr481) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr481) #23 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr509) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr509) #23 br label %_ZN7testing15AssertionResultD2Ev.exit120 _ZN7testing15AssertionResultD2Ev.exit120: ; preds = %invoke.cont61, %invoke.cont61.thread, %if.end83, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119 - store ptr null, ptr %message_.i105478, align 8 + store ptr null, ptr %message_.i105506, align 8 %35 = load ptr, ptr %data_.i.i63, align 8 %36 = load i64, ptr %size_alloc_.i.i59, align 8 %37 = load ptr, ptr %data_.i.i, align 8 @@ -9119,11 +9124,11 @@ _ZN7testing15AssertionResultD2Ev.exit120: ; preds = %invoke.cont61, %inv %add.ptr.i.idx.i.i125 = shl nsw i64 %36, 2 %add.ptr.i7.idx.i.i126 = shl nsw i64 %38, 2 %cmp.not.i.i.i.i127 = icmp eq i64 %add.ptr.i.idx.i.i125, %add.ptr.i7.idx.i.i126 - br i1 %cmp.not.i.i.i.i127, label %if.end.i.i.i.i129, label %invoke.cont87.thread491 + br i1 %cmp.not.i.i.i.i127, label %if.end.i.i.i.i129, label %invoke.cont87.thread519 -invoke.cont87.thread491: ; preds = %_ZN7testing15AssertionResultD2Ev.exit120 +invoke.cont87.thread519: ; preds = %_ZN7testing15AssertionResultD2Ev.exit120 store i8 0, ptr %gtest_ar_85, align 8 - store ptr null, ptr %message_.i135495, align 8 + store ptr null, ptr %message_.i135523, align 8 br label %if.else94 if.end.i.i.i.i129: ; preds = %_ZN7testing15AssertionResultD2Ev.exit120 @@ -9139,10 +9144,10 @@ invoke.cont87: ; preds = %if.end.i.i.i.i129 %tobool1.not.i.i.i.i.i.i.i.i133.not = icmp eq i32 %bcmp.i.i.i.i.i.i.i.i132, 0 %frombool90 = zext i1 %tobool1.not.i.i.i.i.i.i.i.i133.not to i8 store i8 %frombool90, ptr %gtest_ar_85, align 8 - store ptr null, ptr %message_.i135495, align 8 + store ptr null, ptr %message_.i135523, align 8 br i1 %tobool1.not.i.i.i.i.i.i.i.i133.not, label %_ZN7testing15AssertionResultD2Ev.exit150, label %if.else94 -if.else94: ; preds = %invoke.cont87.thread491, %invoke.cont87 +if.else94: ; preds = %invoke.cont87.thread519, %invoke.cont87 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95) to label %invoke.cont97 unwind label %lpad96 @@ -9218,25 +9223,29 @@ _ZN7testing7MessageD2Ev.exit146: ; preds = %ehcleanup109, %_ZNK if.end110: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138, %invoke.cont106 store ptr null, ptr %ref.tmp95, align 8 - %.pr498 = load ptr, ptr %message_.i135495, align 8 - %cmp.not.i.i148 = icmp eq ptr %.pr498, null + %.pr526 = load ptr, ptr %message_.i135523, align 8 + %cmp.not.i.i148 = icmp eq ptr %.pr526, null br i1 %cmp.not.i.i148, label %_ZN7testing15AssertionResultD2Ev.exit150, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149: ; preds = %if.end110 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr498) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr498) #23 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr526) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr526) #23 br label %_ZN7testing15AssertionResultD2Ev.exit150 _ZN7testing15AssertionResultD2Ev.exit150: ; preds = %invoke.cont87, %invoke.cont87.thread, %if.end110, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149 - store ptr null, ptr %message_.i135495, align 8 + store ptr null, ptr %message_.i135523, align 8 %47 = load ptr, ptr %data_.i.i, align 8 %48 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i.i = getelementptr inbounds i32, ptr %47, i64 %48 %49 = load ptr, ptr %data_.i.i63, align 8 %50 = load i64, ptr %size_alloc_.i.i59, align 8 %add.ptr.i7.i = getelementptr inbounds i32, ptr %49, i64 %50 - %cond.i.i.i.i.i.i.v.i = call i64 @llvm.smin.i64(i64 %50, i64 %48) - %cond.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %47, i64 %cond.i.i.i.i.i.i.v.i - %cmp.not18.i.i.i.i.i.i = icmp eq i64 %cond.i.i.i.i.i.i.v.i, 0 + %add.ptr.i.idx.i155 = shl nsw i64 %48, 2 + %add.ptr.i7.idx.i156 = shl nsw i64 %50, 2 + %cmp.i.i.i.i.i.i.i = icmp slt i64 %add.ptr.i7.idx.i156, %add.ptr.i.idx.i155 + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %47, i64 %add.ptr.i7.idx.i156 + %cond.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i.i.i.i.i, ptr %add.ptr.i.i + %cmp.not18.i.i.i.i.i.i = icmp eq ptr %cond.i.i.i.i.i.i.i, %47 br i1 %cmp.not18.i.i.i.i.i.i, label %invoke.cont114, label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit150, %for.inc.i.i.i.i.i.i @@ -9245,11 +9254,11 @@ for.body.i.i.i.i.i.i: ; preds = %_ZN7testing15Assert %51 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i, align 4 %52 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i, align 4 %cmp.i15.i.i.i.i.i.i = icmp slt i32 %51, %52 - br i1 %cmp.i15.i.i.i.i.i.i, label %invoke.cont114.thread508, label %if.end.i.i.i.i.i.i + br i1 %cmp.i15.i.i.i.i.i.i, label %invoke.cont114.thread536, label %if.end.i.i.i.i.i.i -invoke.cont114.thread508: ; preds = %for.body.i.i.i.i.i.i +invoke.cont114.thread536: ; preds = %for.body.i.i.i.i.i.i store i8 0, ptr %gtest_ar_112, align 8 - store ptr null, ptr %message_.i155505, align 8 + store ptr null, ptr %message_.i157533, align 8 br label %if.else121 if.end.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i @@ -9258,7 +9267,7 @@ if.end.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. invoke.cont114.thread: ; preds = %if.end.i.i.i.i.i.i store i8 1, ptr %gtest_ar_112, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit170 + br label %_ZN7testing15AssertionResultD2Ev.exit172 for.inc.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i, i64 1 @@ -9271,10 +9280,10 @@ invoke.cont114: ; preds = %for.inc.i.i.i.i.i.i %cmp9.i.i.i.i.i.i.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i, %add.ptr.i7.i %frombool117 = zext i1 %cmp9.i.i.i.i.i.i.not to i8 store i8 %frombool117, ptr %gtest_ar_112, align 8 - store ptr null, ptr %message_.i155505, align 8 - br i1 %cmp9.i.i.i.i.i.i.not, label %_ZN7testing15AssertionResultD2Ev.exit170, label %if.else121 + store ptr null, ptr %message_.i157533, align 8 + br i1 %cmp9.i.i.i.i.i.i.not, label %_ZN7testing15AssertionResultD2Ev.exit172, label %if.else121 -if.else121: ; preds = %invoke.cont114.thread508, %invoke.cont114 +if.else121: ; preds = %invoke.cont114.thread536, %invoke.cont114 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp122) to label %invoke.cont124 unwind label %lpad123 @@ -9295,13 +9304,13 @@ invoke.cont133: ; preds = %invoke.cont131 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp125) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp126) #22 %53 = load ptr, ptr %ref.tmp122, align 8 - %cmp.not.i.i157 = icmp eq ptr %53, null - br i1 %cmp.not.i.i157, label %if.end137, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 + %cmp.not.i.i159 = icmp eq ptr %53, null + br i1 %cmp.not.i.i159, label %if.end137, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i160 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %invoke.cont133 - %vtable.i.i.i159 = load ptr, ptr %53, align 8 - %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 - %54 = load ptr, ptr %vfn.i.i.i160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i160: ; preds = %invoke.cont133 + %vtable.i.i.i161 = load ptr, ptr %53, align 8 + %vfn.i.i.i162 = getelementptr inbounds ptr, ptr %vtable.i.i.i161, i64 1 + %54 = load ptr, ptr %vfn.i.i.i162, align 8 call void %54(ptr noundef nonnull align 8 dereferenceable(128) %53) #22 br label %if.end137 @@ -9334,54 +9343,58 @@ ehcleanup135: ; preds = %lpad132, %lpad130 ehcleanup136: ; preds = %ehcleanup135, %lpad127 %.pn18.pn = phi { ptr, i32 } [ %.pn18, %ehcleanup135 ], [ %56, %lpad127 ] %59 = load ptr, ptr %ref.tmp122, align 8 - %cmp.not.i.i162 = icmp eq ptr %59, null - br i1 %cmp.not.i.i162, label %_ZN7testing7MessageD2Ev.exit166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 + %cmp.not.i.i164 = icmp eq ptr %59, null + br i1 %cmp.not.i.i164, label %_ZN7testing7MessageD2Ev.exit168, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %ehcleanup136 - %vtable.i.i.i164 = load ptr, ptr %59, align 8 - %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 - %60 = load ptr, ptr %vfn.i.i.i165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %ehcleanup136 + %vtable.i.i.i166 = load ptr, ptr %59, align 8 + %vfn.i.i.i167 = getelementptr inbounds ptr, ptr %vtable.i.i.i166, i64 1 + %60 = load ptr, ptr %vfn.i.i.i167, align 8 call void %60(ptr noundef nonnull align 8 dereferenceable(128) %59) #22 - br label %_ZN7testing7MessageD2Ev.exit166 + br label %_ZN7testing7MessageD2Ev.exit168 -_ZN7testing7MessageD2Ev.exit166: ; preds = %ehcleanup136, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +_ZN7testing7MessageD2Ev.exit168: ; preds = %ehcleanup136, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 store ptr null, ptr %ref.tmp122, align 8 br label %ehcleanup324 -if.end137: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158, %invoke.cont133 +if.end137: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i160, %invoke.cont133 store ptr null, ptr %ref.tmp122, align 8 - %.pr515 = load ptr, ptr %message_.i155505, align 8 - %cmp.not.i.i168 = icmp eq ptr %.pr515, null - br i1 %cmp.not.i.i168, label %_ZN7testing15AssertionResultD2Ev.exit170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 + %.pr543 = load ptr, ptr %message_.i157533, align 8 + %cmp.not.i.i170 = icmp eq ptr %.pr543, null + br i1 %cmp.not.i.i170, label %_ZN7testing15AssertionResultD2Ev.exit172, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %if.end137 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr515) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr515) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit170 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171: ; preds = %if.end137 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr543) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr543) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit172 -_ZN7testing15AssertionResultD2Ev.exit170: ; preds = %invoke.cont114, %invoke.cont114.thread, %if.end137, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 - store ptr null, ptr %message_.i155505, align 8 +_ZN7testing15AssertionResultD2Ev.exit172: ; preds = %invoke.cont114, %invoke.cont114.thread, %if.end137, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171 + store ptr null, ptr %message_.i157533, align 8 %61 = load ptr, ptr %data_.i.i63, align 8 %62 = load i64, ptr %size_alloc_.i.i59, align 8 + %add.ptr.i.i.i = getelementptr inbounds i32, ptr %61, i64 %62 %63 = load ptr, ptr %data_.i.i, align 8 %64 = load i64, ptr %size_alloc_.i.i, align 8 %add.ptr.i7.i.i = getelementptr inbounds i32, ptr %63, i64 %64 - %cond.i.i.i.i.i.i.v.i.i = call i64 @llvm.smin.i64(i64 %64, i64 %62) - %cond.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %61, i64 %cond.i.i.i.i.i.i.v.i.i - %cmp.not18.i.i.i.i.i.i.i = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i, 0 + %add.ptr.i.idx.i.i177 = shl nsw i64 %62, 2 + %add.ptr.i7.idx.i.i178 = shl nsw i64 %64, 2 + %cmp.i.i.i.i.i.i.i.i = icmp slt i64 %add.ptr.i7.idx.i.i178, %add.ptr.i.idx.i.i177 + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %61, i64 %add.ptr.i7.idx.i.i178 + %cond.i.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i + %cmp.not18.i.i.i.i.i.i.i = icmp eq ptr %cond.i.i.i.i.i.i.i.i, %61 br i1 %cmp.not18.i.i.i.i.i.i.i, label %invoke.cont141, label %for.body.i.i.i.i.i.i.i -for.body.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit170, %for.inc.i.i.i.i.i.i.i - %__first2.addr.020.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ], [ %63, %_ZN7testing15AssertionResultD2Ev.exit170 ] - %__first1.addr.019.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ], [ %61, %_ZN7testing15AssertionResultD2Ev.exit170 ] +for.body.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit172, %for.inc.i.i.i.i.i.i.i + %__first2.addr.020.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ], [ %63, %_ZN7testing15AssertionResultD2Ev.exit172 ] + %__first1.addr.019.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ], [ %61, %_ZN7testing15AssertionResultD2Ev.exit172 ] %65 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i, align 4 %66 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i, align 4 %cmp.i15.i.i.i.i.i.i.i = icmp slt i32 %65, %66 - br i1 %cmp.i15.i.i.i.i.i.i.i, label %invoke.cont141.thread525, label %if.end.i.i.i.i.i.i.i + br i1 %cmp.i15.i.i.i.i.i.i.i, label %invoke.cont141.thread553, label %if.end.i.i.i.i.i.i.i -invoke.cont141.thread525: ; preds = %for.body.i.i.i.i.i.i.i +invoke.cont141.thread553: ; preds = %for.body.i.i.i.i.i.i.i store i8 0, ptr %gtest_ar_139, align 8 - store ptr null, ptr %message_.i175522, align 8 + store ptr null, ptr %message_.i179550, align 8 br label %if.else148 if.end.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i @@ -9390,7 +9403,7 @@ if.end.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. invoke.cont141.thread: ; preds = %if.end.i.i.i.i.i.i.i store i8 1, ptr %gtest_ar_139, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit190 + br label %_ZN7testing15AssertionResultD2Ev.exit194 for.inc.i.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i, i64 1 @@ -9398,15 +9411,15 @@ for.inc.i.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i. %cmp.not.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i, %cond.i.i.i.i.i.i.i.i br i1 %cmp.not.i.i.i.i.i.i.i, label %invoke.cont141, label %for.body.i.i.i.i.i.i.i, !llvm.loop !170 -invoke.cont141: ; preds = %for.inc.i.i.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit170 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %63, %_ZN7testing15AssertionResultD2Ev.exit170 ], [ %incdec.ptr6.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ] +invoke.cont141: ; preds = %for.inc.i.i.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit172 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %63, %_ZN7testing15AssertionResultD2Ev.exit172 ], [ %incdec.ptr6.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ] %cmp9.i.i.i.i.i.i.i.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i, %add.ptr.i7.i.i %frombool144 = zext i1 %cmp9.i.i.i.i.i.i.i.not to i8 store i8 %frombool144, ptr %gtest_ar_139, align 8 - store ptr null, ptr %message_.i175522, align 8 - br i1 %cmp9.i.i.i.i.i.i.i.not, label %_ZN7testing15AssertionResultD2Ev.exit190, label %if.else148 + store ptr null, ptr %message_.i179550, align 8 + br i1 %cmp9.i.i.i.i.i.i.i.not, label %_ZN7testing15AssertionResultD2Ev.exit194, label %if.else148 -if.else148: ; preds = %invoke.cont141.thread525, %invoke.cont141 +if.else148: ; preds = %invoke.cont141.thread553, %invoke.cont141 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp149) to label %invoke.cont151 unwind label %lpad150 @@ -9427,13 +9440,13 @@ invoke.cont160: ; preds = %invoke.cont158 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp152) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp153) #22 %67 = load ptr, ptr %ref.tmp149, align 8 - %cmp.not.i.i177 = icmp eq ptr %67, null - br i1 %cmp.not.i.i177, label %if.end164, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178 + %cmp.not.i.i181 = icmp eq ptr %67, null + br i1 %cmp.not.i.i181, label %if.end164, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178: ; preds = %invoke.cont160 - %vtable.i.i.i179 = load ptr, ptr %67, align 8 - %vfn.i.i.i180 = getelementptr inbounds ptr, ptr %vtable.i.i.i179, i64 1 - %68 = load ptr, ptr %vfn.i.i.i180, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182: ; preds = %invoke.cont160 + %vtable.i.i.i183 = load ptr, ptr %67, align 8 + %vfn.i.i.i184 = getelementptr inbounds ptr, ptr %vtable.i.i.i183, i64 1 + %68 = load ptr, ptr %vfn.i.i.i184, align 8 call void %68(ptr noundef nonnull align 8 dereferenceable(128) %67) #22 br label %if.end164 @@ -9466,79 +9479,83 @@ ehcleanup162: ; preds = %lpad159, %lpad157 ehcleanup163: ; preds = %ehcleanup162, %lpad154 %.pn22.pn = phi { ptr, i32 } [ %.pn22, %ehcleanup162 ], [ %70, %lpad154 ] %73 = load ptr, ptr %ref.tmp149, align 8 - %cmp.not.i.i182 = icmp eq ptr %73, null - br i1 %cmp.not.i.i182, label %_ZN7testing7MessageD2Ev.exit186, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i183 + %cmp.not.i.i186 = icmp eq ptr %73, null + br i1 %cmp.not.i.i186, label %_ZN7testing7MessageD2Ev.exit190, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i183: ; preds = %ehcleanup163 - %vtable.i.i.i184 = load ptr, ptr %73, align 8 - %vfn.i.i.i185 = getelementptr inbounds ptr, ptr %vtable.i.i.i184, i64 1 - %74 = load ptr, ptr %vfn.i.i.i185, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187: ; preds = %ehcleanup163 + %vtable.i.i.i188 = load ptr, ptr %73, align 8 + %vfn.i.i.i189 = getelementptr inbounds ptr, ptr %vtable.i.i.i188, i64 1 + %74 = load ptr, ptr %vfn.i.i.i189, align 8 call void %74(ptr noundef nonnull align 8 dereferenceable(128) %73) #22 - br label %_ZN7testing7MessageD2Ev.exit186 + br label %_ZN7testing7MessageD2Ev.exit190 -_ZN7testing7MessageD2Ev.exit186: ; preds = %ehcleanup163, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i183 +_ZN7testing7MessageD2Ev.exit190: ; preds = %ehcleanup163, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 store ptr null, ptr %ref.tmp149, align 8 br label %ehcleanup324 -if.end164: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i178, %invoke.cont160 +if.end164: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182, %invoke.cont160 store ptr null, ptr %ref.tmp149, align 8 - %.pr532 = load ptr, ptr %message_.i175522, align 8 - %cmp.not.i.i188 = icmp eq ptr %.pr532, null - br i1 %cmp.not.i.i188, label %_ZN7testing15AssertionResultD2Ev.exit190, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 + %.pr560 = load ptr, ptr %message_.i179550, align 8 + %cmp.not.i.i192 = icmp eq ptr %.pr560, null + br i1 %cmp.not.i.i192, label %_ZN7testing15AssertionResultD2Ev.exit194, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189: ; preds = %if.end164 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr532) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr532) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit190 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193: ; preds = %if.end164 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr560) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr560) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit194 -_ZN7testing15AssertionResultD2Ev.exit190: ; preds = %invoke.cont141, %invoke.cont141.thread, %if.end164, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i189 - store ptr null, ptr %message_.i175522, align 8 +_ZN7testing15AssertionResultD2Ev.exit194: ; preds = %invoke.cont141, %invoke.cont141.thread, %if.end164, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i193 + store ptr null, ptr %message_.i179550, align 8 %75 = load ptr, ptr %data_.i.i63, align 8 %76 = load i64, ptr %size_alloc_.i.i59, align 8 + %add.ptr.i.i197 = getelementptr inbounds i32, ptr %75, i64 %76 %77 = load ptr, ptr %data_.i.i, align 8 %78 = load i64, ptr %size_alloc_.i.i, align 8 - %add.ptr.i7.i195 = getelementptr inbounds i32, ptr %77, i64 %78 - %cond.i.i.i.i.i.i.v.i196 = call i64 @llvm.smin.i64(i64 %78, i64 %76) - %cond.i.i.i.i.i.i.i197 = getelementptr inbounds i32, ptr %75, i64 %cond.i.i.i.i.i.i.v.i196 - %cmp.not18.i.i.i.i.i.i198 = icmp eq i64 %cond.i.i.i.i.i.i.v.i196, 0 - br i1 %cmp.not18.i.i.i.i.i.i198, label %invoke.cont168, label %for.body.i.i.i.i.i.i199 - -for.body.i.i.i.i.i.i199: ; preds = %_ZN7testing15AssertionResultD2Ev.exit190, %for.inc.i.i.i.i.i.i205 - %__first2.addr.020.i.i.i.i.i.i200 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i207, %for.inc.i.i.i.i.i.i205 ], [ %77, %_ZN7testing15AssertionResultD2Ev.exit190 ] - %__first1.addr.019.i.i.i.i.i.i201 = phi ptr [ %incdec.ptr.i.i.i.i.i.i206, %for.inc.i.i.i.i.i.i205 ], [ %75, %_ZN7testing15AssertionResultD2Ev.exit190 ] - %79 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i201, align 4 - %80 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i200, align 4 - %cmp.i15.i.i.i.i.i.i202 = icmp slt i32 %79, %80 - br i1 %cmp.i15.i.i.i.i.i.i202, label %invoke.cont168.thread542, label %if.end.i.i.i.i.i.i203 - -invoke.cont168.thread542: ; preds = %for.body.i.i.i.i.i.i199 + %add.ptr.i7.i200 = getelementptr inbounds i32, ptr %77, i64 %78 + %add.ptr.i.idx.i201 = shl nsw i64 %76, 2 + %add.ptr.i7.idx.i202 = shl nsw i64 %78, 2 + %cmp.i.i.i.i.i.i.i203 = icmp slt i64 %add.ptr.i7.idx.i202, %add.ptr.i.idx.i201 + %add.ptr.i.i.i.i.i.i.i204 = getelementptr inbounds i8, ptr %75, i64 %add.ptr.i7.idx.i202 + %cond.i.i.i.i.i.i.i205 = select i1 %cmp.i.i.i.i.i.i.i203, ptr %add.ptr.i.i.i.i.i.i.i204, ptr %add.ptr.i.i197 + %cmp.not18.i.i.i.i.i.i206 = icmp eq ptr %cond.i.i.i.i.i.i.i205, %75 + br i1 %cmp.not18.i.i.i.i.i.i206, label %invoke.cont168, label %for.body.i.i.i.i.i.i207 + +for.body.i.i.i.i.i.i207: ; preds = %_ZN7testing15AssertionResultD2Ev.exit194, %for.inc.i.i.i.i.i.i213 + %__first2.addr.020.i.i.i.i.i.i208 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i215, %for.inc.i.i.i.i.i.i213 ], [ %77, %_ZN7testing15AssertionResultD2Ev.exit194 ] + %__first1.addr.019.i.i.i.i.i.i209 = phi ptr [ %incdec.ptr.i.i.i.i.i.i214, %for.inc.i.i.i.i.i.i213 ], [ %75, %_ZN7testing15AssertionResultD2Ev.exit194 ] + %79 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i209, align 4 + %80 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i208, align 4 + %cmp.i15.i.i.i.i.i.i210 = icmp slt i32 %79, %80 + br i1 %cmp.i15.i.i.i.i.i.i210, label %invoke.cont168.thread570, label %if.end.i.i.i.i.i.i211 + +invoke.cont168.thread570: ; preds = %for.body.i.i.i.i.i.i207 store i8 0, ptr %gtest_ar_166, align 8 - store ptr null, ptr %message_.i214539, align 8 + store ptr null, ptr %message_.i222567, align 8 br label %if.else175 -if.end.i.i.i.i.i.i203: ; preds = %for.body.i.i.i.i.i.i199 - %cmp.i16.i.i.i.i.i.i204 = icmp slt i32 %80, %79 - br i1 %cmp.i16.i.i.i.i.i.i204, label %invoke.cont168.thread, label %for.inc.i.i.i.i.i.i205 +if.end.i.i.i.i.i.i211: ; preds = %for.body.i.i.i.i.i.i207 + %cmp.i16.i.i.i.i.i.i212 = icmp slt i32 %80, %79 + br i1 %cmp.i16.i.i.i.i.i.i212, label %invoke.cont168.thread, label %for.inc.i.i.i.i.i.i213 -invoke.cont168.thread: ; preds = %if.end.i.i.i.i.i.i203 +invoke.cont168.thread: ; preds = %if.end.i.i.i.i.i.i211 store i8 1, ptr %gtest_ar_166, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit229 - -for.inc.i.i.i.i.i.i205: ; preds = %if.end.i.i.i.i.i.i203 - %incdec.ptr.i.i.i.i.i.i206 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i201, i64 1 - %incdec.ptr6.i.i.i.i.i.i207 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i200, i64 1 - %cmp.not.i.i.i.i.i.i208 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i206, %cond.i.i.i.i.i.i.i197 - br i1 %cmp.not.i.i.i.i.i.i208, label %invoke.cont168, label %for.body.i.i.i.i.i.i199, !llvm.loop !170 - -invoke.cont168: ; preds = %for.inc.i.i.i.i.i.i205, %_ZN7testing15AssertionResultD2Ev.exit190 - %__first2.addr.0.lcssa.i.i.i.i.i.i210 = phi ptr [ %77, %_ZN7testing15AssertionResultD2Ev.exit190 ], [ %incdec.ptr6.i.i.i.i.i.i207, %for.inc.i.i.i.i.i.i205 ] - %cmp9.i.i.i.i.i.i211.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i210, %add.ptr.i7.i195 - %frombool171 = zext i1 %cmp9.i.i.i.i.i.i211.not to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit237 + +for.inc.i.i.i.i.i.i213: ; preds = %if.end.i.i.i.i.i.i211 + %incdec.ptr.i.i.i.i.i.i214 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i209, i64 1 + %incdec.ptr6.i.i.i.i.i.i215 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i208, i64 1 + %cmp.not.i.i.i.i.i.i216 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i214, %cond.i.i.i.i.i.i.i205 + br i1 %cmp.not.i.i.i.i.i.i216, label %invoke.cont168, label %for.body.i.i.i.i.i.i207, !llvm.loop !170 + +invoke.cont168: ; preds = %for.inc.i.i.i.i.i.i213, %_ZN7testing15AssertionResultD2Ev.exit194 + %__first2.addr.0.lcssa.i.i.i.i.i.i218 = phi ptr [ %77, %_ZN7testing15AssertionResultD2Ev.exit194 ], [ %incdec.ptr6.i.i.i.i.i.i215, %for.inc.i.i.i.i.i.i213 ] + %cmp9.i.i.i.i.i.i219.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i218, %add.ptr.i7.i200 + %frombool171 = zext i1 %cmp9.i.i.i.i.i.i219.not to i8 store i8 %frombool171, ptr %gtest_ar_166, align 8 - store ptr null, ptr %message_.i214539, align 8 - br i1 %cmp9.i.i.i.i.i.i211.not, label %_ZN7testing15AssertionResultD2Ev.exit229, label %if.else175 + store ptr null, ptr %message_.i222567, align 8 + br i1 %cmp9.i.i.i.i.i.i219.not, label %_ZN7testing15AssertionResultD2Ev.exit237, label %if.else175 -if.else175: ; preds = %invoke.cont168.thread542, %invoke.cont168 +if.else175: ; preds = %invoke.cont168.thread570, %invoke.cont168 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp176) to label %invoke.cont178 unwind label %lpad177 @@ -9559,13 +9576,13 @@ invoke.cont187: ; preds = %invoke.cont185 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp179) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp180) #22 %81 = load ptr, ptr %ref.tmp176, align 8 - %cmp.not.i.i216 = icmp eq ptr %81, null - br i1 %cmp.not.i.i216, label %if.end191, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217 + %cmp.not.i.i224 = icmp eq ptr %81, null + br i1 %cmp.not.i.i224, label %if.end191, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217: ; preds = %invoke.cont187 - %vtable.i.i.i218 = load ptr, ptr %81, align 8 - %vfn.i.i.i219 = getelementptr inbounds ptr, ptr %vtable.i.i.i218, i64 1 - %82 = load ptr, ptr %vfn.i.i.i219, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225: ; preds = %invoke.cont187 + %vtable.i.i.i226 = load ptr, ptr %81, align 8 + %vfn.i.i.i227 = getelementptr inbounds ptr, ptr %vtable.i.i.i226, i64 1 + %82 = load ptr, ptr %vfn.i.i.i227, align 8 call void %82(ptr noundef nonnull align 8 dereferenceable(128) %81) #22 br label %if.end191 @@ -9598,79 +9615,83 @@ ehcleanup189: ; preds = %lpad186, %lpad184 ehcleanup190: ; preds = %ehcleanup189, %lpad181 %.pn26.pn = phi { ptr, i32 } [ %.pn26, %ehcleanup189 ], [ %84, %lpad181 ] %87 = load ptr, ptr %ref.tmp176, align 8 - %cmp.not.i.i221 = icmp eq ptr %87, null - br i1 %cmp.not.i.i221, label %_ZN7testing7MessageD2Ev.exit225, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222 + %cmp.not.i.i229 = icmp eq ptr %87, null + br i1 %cmp.not.i.i229, label %_ZN7testing7MessageD2Ev.exit233, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i230 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222: ; preds = %ehcleanup190 - %vtable.i.i.i223 = load ptr, ptr %87, align 8 - %vfn.i.i.i224 = getelementptr inbounds ptr, ptr %vtable.i.i.i223, i64 1 - %88 = load ptr, ptr %vfn.i.i.i224, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i230: ; preds = %ehcleanup190 + %vtable.i.i.i231 = load ptr, ptr %87, align 8 + %vfn.i.i.i232 = getelementptr inbounds ptr, ptr %vtable.i.i.i231, i64 1 + %88 = load ptr, ptr %vfn.i.i.i232, align 8 call void %88(ptr noundef nonnull align 8 dereferenceable(128) %87) #22 - br label %_ZN7testing7MessageD2Ev.exit225 + br label %_ZN7testing7MessageD2Ev.exit233 -_ZN7testing7MessageD2Ev.exit225: ; preds = %ehcleanup190, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222 +_ZN7testing7MessageD2Ev.exit233: ; preds = %ehcleanup190, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i230 store ptr null, ptr %ref.tmp176, align 8 br label %ehcleanup324 -if.end191: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217, %invoke.cont187 +if.end191: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225, %invoke.cont187 store ptr null, ptr %ref.tmp176, align 8 - %.pr549 = load ptr, ptr %message_.i214539, align 8 - %cmp.not.i.i227 = icmp eq ptr %.pr549, null - br i1 %cmp.not.i.i227, label %_ZN7testing15AssertionResultD2Ev.exit229, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228 + %.pr577 = load ptr, ptr %message_.i222567, align 8 + %cmp.not.i.i235 = icmp eq ptr %.pr577, null + br i1 %cmp.not.i.i235, label %_ZN7testing15AssertionResultD2Ev.exit237, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228: ; preds = %if.end191 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr549) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr549) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit229 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236: ; preds = %if.end191 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr577) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr577) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit237 -_ZN7testing15AssertionResultD2Ev.exit229: ; preds = %invoke.cont168, %invoke.cont168.thread, %if.end191, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228 - store ptr null, ptr %message_.i214539, align 8 +_ZN7testing15AssertionResultD2Ev.exit237: ; preds = %invoke.cont168, %invoke.cont168.thread, %if.end191, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236 + store ptr null, ptr %message_.i222567, align 8 %89 = load ptr, ptr %data_.i.i, align 8 %90 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i.i.i240 = getelementptr inbounds i32, ptr %89, i64 %90 %91 = load ptr, ptr %data_.i.i63, align 8 %92 = load i64, ptr %size_alloc_.i.i59, align 8 - %add.ptr.i7.i.i234 = getelementptr inbounds i32, ptr %91, i64 %92 - %cond.i.i.i.i.i.i.v.i.i235 = call i64 @llvm.smin.i64(i64 %92, i64 %90) - %cond.i.i.i.i.i.i.i.i236 = getelementptr inbounds i32, ptr %89, i64 %cond.i.i.i.i.i.i.v.i.i235 - %cmp.not18.i.i.i.i.i.i.i237 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i235, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i237, label %invoke.cont195, label %for.body.i.i.i.i.i.i.i238 - -for.body.i.i.i.i.i.i.i238: ; preds = %_ZN7testing15AssertionResultD2Ev.exit229, %for.inc.i.i.i.i.i.i.i244 - %__first2.addr.020.i.i.i.i.i.i.i239 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i246, %for.inc.i.i.i.i.i.i.i244 ], [ %91, %_ZN7testing15AssertionResultD2Ev.exit229 ] - %__first1.addr.019.i.i.i.i.i.i.i240 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i245, %for.inc.i.i.i.i.i.i.i244 ], [ %89, %_ZN7testing15AssertionResultD2Ev.exit229 ] - %93 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i240, align 4 - %94 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i239, align 4 - %cmp.i15.i.i.i.i.i.i.i241 = icmp slt i32 %93, %94 - br i1 %cmp.i15.i.i.i.i.i.i.i241, label %invoke.cont195.thread559, label %if.end.i.i.i.i.i.i.i242 - -invoke.cont195.thread559: ; preds = %for.body.i.i.i.i.i.i.i238 + %add.ptr.i7.i.i243 = getelementptr inbounds i32, ptr %91, i64 %92 + %add.ptr.i.idx.i.i244 = shl nsw i64 %90, 2 + %add.ptr.i7.idx.i.i245 = shl nsw i64 %92, 2 + %cmp.i.i.i.i.i.i.i.i246 = icmp slt i64 %add.ptr.i7.idx.i.i245, %add.ptr.i.idx.i.i244 + %add.ptr.i.i.i.i.i.i.i.i247 = getelementptr inbounds i8, ptr %89, i64 %add.ptr.i7.idx.i.i245 + %cond.i.i.i.i.i.i.i.i248 = select i1 %cmp.i.i.i.i.i.i.i.i246, ptr %add.ptr.i.i.i.i.i.i.i.i247, ptr %add.ptr.i.i.i240 + %cmp.not18.i.i.i.i.i.i.i249 = icmp eq ptr %cond.i.i.i.i.i.i.i.i248, %89 + br i1 %cmp.not18.i.i.i.i.i.i.i249, label %invoke.cont195, label %for.body.i.i.i.i.i.i.i250 + +for.body.i.i.i.i.i.i.i250: ; preds = %_ZN7testing15AssertionResultD2Ev.exit237, %for.inc.i.i.i.i.i.i.i256 + %__first2.addr.020.i.i.i.i.i.i.i251 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i258, %for.inc.i.i.i.i.i.i.i256 ], [ %91, %_ZN7testing15AssertionResultD2Ev.exit237 ] + %__first1.addr.019.i.i.i.i.i.i.i252 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i257, %for.inc.i.i.i.i.i.i.i256 ], [ %89, %_ZN7testing15AssertionResultD2Ev.exit237 ] + %93 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i252, align 4 + %94 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i251, align 4 + %cmp.i15.i.i.i.i.i.i.i253 = icmp slt i32 %93, %94 + br i1 %cmp.i15.i.i.i.i.i.i.i253, label %invoke.cont195.thread587, label %if.end.i.i.i.i.i.i.i254 + +invoke.cont195.thread587: ; preds = %for.body.i.i.i.i.i.i.i250 store i8 0, ptr %gtest_ar_193, align 8 - store ptr null, ptr %message_.i253556, align 8 + store ptr null, ptr %message_.i265584, align 8 br label %if.else202 -if.end.i.i.i.i.i.i.i242: ; preds = %for.body.i.i.i.i.i.i.i238 - %cmp.i16.i.i.i.i.i.i.i243 = icmp slt i32 %94, %93 - br i1 %cmp.i16.i.i.i.i.i.i.i243, label %invoke.cont195.thread, label %for.inc.i.i.i.i.i.i.i244 +if.end.i.i.i.i.i.i.i254: ; preds = %for.body.i.i.i.i.i.i.i250 + %cmp.i16.i.i.i.i.i.i.i255 = icmp slt i32 %94, %93 + br i1 %cmp.i16.i.i.i.i.i.i.i255, label %invoke.cont195.thread, label %for.inc.i.i.i.i.i.i.i256 -invoke.cont195.thread: ; preds = %if.end.i.i.i.i.i.i.i242 +invoke.cont195.thread: ; preds = %if.end.i.i.i.i.i.i.i254 store i8 1, ptr %gtest_ar_193, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit268 - -for.inc.i.i.i.i.i.i.i244: ; preds = %if.end.i.i.i.i.i.i.i242 - %incdec.ptr.i.i.i.i.i.i.i245 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i240, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i246 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i239, i64 1 - %cmp.not.i.i.i.i.i.i.i247 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i245, %cond.i.i.i.i.i.i.i.i236 - br i1 %cmp.not.i.i.i.i.i.i.i247, label %invoke.cont195, label %for.body.i.i.i.i.i.i.i238, !llvm.loop !170 - -invoke.cont195: ; preds = %for.inc.i.i.i.i.i.i.i244, %_ZN7testing15AssertionResultD2Ev.exit229 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i249 = phi ptr [ %91, %_ZN7testing15AssertionResultD2Ev.exit229 ], [ %incdec.ptr6.i.i.i.i.i.i.i246, %for.inc.i.i.i.i.i.i.i244 ] - %cmp9.i.i.i.i.i.i.i250.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i249, %add.ptr.i7.i.i234 - %frombool198 = zext i1 %cmp9.i.i.i.i.i.i.i250.not to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit280 + +for.inc.i.i.i.i.i.i.i256: ; preds = %if.end.i.i.i.i.i.i.i254 + %incdec.ptr.i.i.i.i.i.i.i257 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i252, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i258 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i251, i64 1 + %cmp.not.i.i.i.i.i.i.i259 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i257, %cond.i.i.i.i.i.i.i.i248 + br i1 %cmp.not.i.i.i.i.i.i.i259, label %invoke.cont195, label %for.body.i.i.i.i.i.i.i250, !llvm.loop !170 + +invoke.cont195: ; preds = %for.inc.i.i.i.i.i.i.i256, %_ZN7testing15AssertionResultD2Ev.exit237 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i261 = phi ptr [ %91, %_ZN7testing15AssertionResultD2Ev.exit237 ], [ %incdec.ptr6.i.i.i.i.i.i.i258, %for.inc.i.i.i.i.i.i.i256 ] + %cmp9.i.i.i.i.i.i.i262.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i261, %add.ptr.i7.i.i243 + %frombool198 = zext i1 %cmp9.i.i.i.i.i.i.i262.not to i8 store i8 %frombool198, ptr %gtest_ar_193, align 8 - store ptr null, ptr %message_.i253556, align 8 - br i1 %cmp9.i.i.i.i.i.i.i250.not, label %_ZN7testing15AssertionResultD2Ev.exit268, label %if.else202 + store ptr null, ptr %message_.i265584, align 8 + br i1 %cmp9.i.i.i.i.i.i.i262.not, label %_ZN7testing15AssertionResultD2Ev.exit280, label %if.else202 -if.else202: ; preds = %invoke.cont195.thread559, %invoke.cont195 +if.else202: ; preds = %invoke.cont195.thread587, %invoke.cont195 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp203) to label %invoke.cont205 unwind label %lpad204 @@ -9691,13 +9712,13 @@ invoke.cont214: ; preds = %invoke.cont212 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp207) #22 %95 = load ptr, ptr %ref.tmp203, align 8 - %cmp.not.i.i255 = icmp eq ptr %95, null - br i1 %cmp.not.i.i255, label %if.end218, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256 + %cmp.not.i.i267 = icmp eq ptr %95, null + br i1 %cmp.not.i.i267, label %if.end218, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i268 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256: ; preds = %invoke.cont214 - %vtable.i.i.i257 = load ptr, ptr %95, align 8 - %vfn.i.i.i258 = getelementptr inbounds ptr, ptr %vtable.i.i.i257, i64 1 - %96 = load ptr, ptr %vfn.i.i.i258, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i268: ; preds = %invoke.cont214 + %vtable.i.i.i269 = load ptr, ptr %95, align 8 + %vfn.i.i.i270 = getelementptr inbounds ptr, ptr %vtable.i.i.i269, i64 1 + %96 = load ptr, ptr %vfn.i.i.i270, align 8 call void %96(ptr noundef nonnull align 8 dereferenceable(128) %95) #22 br label %if.end218 @@ -9730,79 +9751,83 @@ ehcleanup216: ; preds = %lpad213, %lpad211 ehcleanup217: ; preds = %ehcleanup216, %lpad208 %.pn30.pn = phi { ptr, i32 } [ %.pn30, %ehcleanup216 ], [ %98, %lpad208 ] %101 = load ptr, ptr %ref.tmp203, align 8 - %cmp.not.i.i260 = icmp eq ptr %101, null - br i1 %cmp.not.i.i260, label %_ZN7testing7MessageD2Ev.exit264, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i261 + %cmp.not.i.i272 = icmp eq ptr %101, null + br i1 %cmp.not.i.i272, label %_ZN7testing7MessageD2Ev.exit276, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i273 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i261: ; preds = %ehcleanup217 - %vtable.i.i.i262 = load ptr, ptr %101, align 8 - %vfn.i.i.i263 = getelementptr inbounds ptr, ptr %vtable.i.i.i262, i64 1 - %102 = load ptr, ptr %vfn.i.i.i263, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i273: ; preds = %ehcleanup217 + %vtable.i.i.i274 = load ptr, ptr %101, align 8 + %vfn.i.i.i275 = getelementptr inbounds ptr, ptr %vtable.i.i.i274, i64 1 + %102 = load ptr, ptr %vfn.i.i.i275, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #22 - br label %_ZN7testing7MessageD2Ev.exit264 + br label %_ZN7testing7MessageD2Ev.exit276 -_ZN7testing7MessageD2Ev.exit264: ; preds = %ehcleanup217, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i261 +_ZN7testing7MessageD2Ev.exit276: ; preds = %ehcleanup217, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i273 store ptr null, ptr %ref.tmp203, align 8 br label %ehcleanup324 -if.end218: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256, %invoke.cont214 +if.end218: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i268, %invoke.cont214 store ptr null, ptr %ref.tmp203, align 8 - %.pr566 = load ptr, ptr %message_.i253556, align 8 - %cmp.not.i.i266 = icmp eq ptr %.pr566, null - br i1 %cmp.not.i.i266, label %_ZN7testing15AssertionResultD2Ev.exit268, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i267 + %.pr594 = load ptr, ptr %message_.i265584, align 8 + %cmp.not.i.i278 = icmp eq ptr %.pr594, null + br i1 %cmp.not.i.i278, label %_ZN7testing15AssertionResultD2Ev.exit280, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i267: ; preds = %if.end218 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr566) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr566) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit268 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279: ; preds = %if.end218 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr594) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr594) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit280 -_ZN7testing15AssertionResultD2Ev.exit268: ; preds = %invoke.cont195, %invoke.cont195.thread, %if.end218, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i267 - store ptr null, ptr %message_.i253556, align 8 +_ZN7testing15AssertionResultD2Ev.exit280: ; preds = %invoke.cont195, %invoke.cont195.thread, %if.end218, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i279 + store ptr null, ptr %message_.i265584, align 8 %103 = load ptr, ptr %data_.i.i63, align 8 %104 = load i64, ptr %size_alloc_.i.i59, align 8 + %add.ptr.i.i.i283 = getelementptr inbounds i32, ptr %103, i64 %104 %105 = load ptr, ptr %data_.i.i, align 8 %106 = load i64, ptr %size_alloc_.i.i, align 8 - %add.ptr.i7.i.i273 = getelementptr inbounds i32, ptr %105, i64 %106 - %cond.i.i.i.i.i.i.v.i.i274 = call i64 @llvm.smin.i64(i64 %106, i64 %104) - %cond.i.i.i.i.i.i.i.i275 = getelementptr inbounds i32, ptr %103, i64 %cond.i.i.i.i.i.i.v.i.i274 - %cmp.not18.i.i.i.i.i.i.i276 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i274, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i276, label %invoke.cont222, label %for.body.i.i.i.i.i.i.i277 - -for.body.i.i.i.i.i.i.i277: ; preds = %_ZN7testing15AssertionResultD2Ev.exit268, %for.inc.i.i.i.i.i.i.i282 - %__first2.addr.020.i.i.i.i.i.i.i278 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i284, %for.inc.i.i.i.i.i.i.i282 ], [ %105, %_ZN7testing15AssertionResultD2Ev.exit268 ] - %__first1.addr.019.i.i.i.i.i.i.i279 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i283, %for.inc.i.i.i.i.i.i.i282 ], [ %103, %_ZN7testing15AssertionResultD2Ev.exit268 ] - %107 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i279, align 4 - %108 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i278, align 4 + %add.ptr.i7.i.i286 = getelementptr inbounds i32, ptr %105, i64 %106 + %add.ptr.i.idx.i.i287 = shl nsw i64 %104, 2 + %add.ptr.i7.idx.i.i288 = shl nsw i64 %106, 2 + %cmp.i.i.i.i.i.i.i.i289 = icmp slt i64 %add.ptr.i7.idx.i.i288, %add.ptr.i.idx.i.i287 + %add.ptr.i.i.i.i.i.i.i.i290 = getelementptr inbounds i8, ptr %103, i64 %add.ptr.i7.idx.i.i288 + %cond.i.i.i.i.i.i.i.i291 = select i1 %cmp.i.i.i.i.i.i.i.i289, ptr %add.ptr.i.i.i.i.i.i.i.i290, ptr %add.ptr.i.i.i283 + %cmp.not18.i.i.i.i.i.i.i292 = icmp eq ptr %cond.i.i.i.i.i.i.i.i291, %103 + br i1 %cmp.not18.i.i.i.i.i.i.i292, label %invoke.cont222, label %for.body.i.i.i.i.i.i.i293 + +for.body.i.i.i.i.i.i.i293: ; preds = %_ZN7testing15AssertionResultD2Ev.exit280, %for.inc.i.i.i.i.i.i.i298 + %__first2.addr.020.i.i.i.i.i.i.i294 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i300, %for.inc.i.i.i.i.i.i.i298 ], [ %105, %_ZN7testing15AssertionResultD2Ev.exit280 ] + %__first1.addr.019.i.i.i.i.i.i.i295 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i299, %for.inc.i.i.i.i.i.i.i298 ], [ %103, %_ZN7testing15AssertionResultD2Ev.exit280 ] + %107 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i295, align 4 + %108 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i294, align 4 %cmp.i15.i.i.i.i.i.i.not.i = icmp slt i32 %107, %108 - br i1 %cmp.i15.i.i.i.i.i.i.not.i, label %invoke.cont222.thread575, label %if.end.i.i.i.i.i.i.i280 + br i1 %cmp.i15.i.i.i.i.i.i.not.i, label %invoke.cont222.thread603, label %if.end.i.i.i.i.i.i.i296 -invoke.cont222.thread575: ; preds = %for.body.i.i.i.i.i.i.i277 +invoke.cont222.thread603: ; preds = %for.body.i.i.i.i.i.i.i293 store i8 0, ptr %gtest_ar_220, align 8 - store ptr null, ptr %message_.i290572, align 8 + store ptr null, ptr %message_.i306600, align 8 br label %if.else228 -if.end.i.i.i.i.i.i.i280: ; preds = %for.body.i.i.i.i.i.i.i277 - %cmp.i16.i.i.i.i.i.i.i281 = icmp slt i32 %108, %107 - br i1 %cmp.i16.i.i.i.i.i.i.i281, label %invoke.cont222.thread, label %for.inc.i.i.i.i.i.i.i282 +if.end.i.i.i.i.i.i.i296: ; preds = %for.body.i.i.i.i.i.i.i293 + %cmp.i16.i.i.i.i.i.i.i297 = icmp slt i32 %108, %107 + br i1 %cmp.i16.i.i.i.i.i.i.i297, label %invoke.cont222.thread, label %for.inc.i.i.i.i.i.i.i298 -invoke.cont222.thread: ; preds = %if.end.i.i.i.i.i.i.i280 +invoke.cont222.thread: ; preds = %if.end.i.i.i.i.i.i.i296 store i8 1, ptr %gtest_ar_220, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit305 - -for.inc.i.i.i.i.i.i.i282: ; preds = %if.end.i.i.i.i.i.i.i280 - %incdec.ptr.i.i.i.i.i.i.i283 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i279, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i284 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i278, i64 1 - %cmp.not.i.i.i.i.i.i.i285 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i283, %cond.i.i.i.i.i.i.i.i275 - br i1 %cmp.not.i.i.i.i.i.i.i285, label %invoke.cont222, label %for.body.i.i.i.i.i.i.i277, !llvm.loop !170 - -invoke.cont222: ; preds = %for.inc.i.i.i.i.i.i.i282, %_ZN7testing15AssertionResultD2Ev.exit268 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i287 = phi ptr [ %105, %_ZN7testing15AssertionResultD2Ev.exit268 ], [ %incdec.ptr6.i.i.i.i.i.i.i284, %for.inc.i.i.i.i.i.i.i282 ] - %cmp9.i.i.i.i.i.i.i288 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i287, %add.ptr.i7.i.i273 - %frombool224 = zext i1 %cmp9.i.i.i.i.i.i.i288 to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit321 + +for.inc.i.i.i.i.i.i.i298: ; preds = %if.end.i.i.i.i.i.i.i296 + %incdec.ptr.i.i.i.i.i.i.i299 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i295, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i300 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i294, i64 1 + %cmp.not.i.i.i.i.i.i.i301 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i299, %cond.i.i.i.i.i.i.i.i291 + br i1 %cmp.not.i.i.i.i.i.i.i301, label %invoke.cont222, label %for.body.i.i.i.i.i.i.i293, !llvm.loop !170 + +invoke.cont222: ; preds = %for.inc.i.i.i.i.i.i.i298, %_ZN7testing15AssertionResultD2Ev.exit280 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i303 = phi ptr [ %105, %_ZN7testing15AssertionResultD2Ev.exit280 ], [ %incdec.ptr6.i.i.i.i.i.i.i300, %for.inc.i.i.i.i.i.i.i298 ] + %cmp9.i.i.i.i.i.i.i304 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i303, %add.ptr.i7.i.i286 + %frombool224 = zext i1 %cmp9.i.i.i.i.i.i.i304 to i8 store i8 %frombool224, ptr %gtest_ar_220, align 8 - store ptr null, ptr %message_.i290572, align 8 - br i1 %cmp9.i.i.i.i.i.i.i288, label %_ZN7testing15AssertionResultD2Ev.exit305, label %if.else228 + store ptr null, ptr %message_.i306600, align 8 + br i1 %cmp9.i.i.i.i.i.i.i304, label %_ZN7testing15AssertionResultD2Ev.exit321, label %if.else228 -if.else228: ; preds = %invoke.cont222.thread575, %invoke.cont222 +if.else228: ; preds = %invoke.cont222.thread603, %invoke.cont222 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp229) to label %invoke.cont231 unwind label %lpad230 @@ -9823,13 +9848,13 @@ invoke.cont240: ; preds = %invoke.cont238 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp232) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp233) #22 %109 = load ptr, ptr %ref.tmp229, align 8 - %cmp.not.i.i292 = icmp eq ptr %109, null - br i1 %cmp.not.i.i292, label %if.end244, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i293 + %cmp.not.i.i308 = icmp eq ptr %109, null + br i1 %cmp.not.i.i308, label %if.end244, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i309 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i293: ; preds = %invoke.cont240 - %vtable.i.i.i294 = load ptr, ptr %109, align 8 - %vfn.i.i.i295 = getelementptr inbounds ptr, ptr %vtable.i.i.i294, i64 1 - %110 = load ptr, ptr %vfn.i.i.i295, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i309: ; preds = %invoke.cont240 + %vtable.i.i.i310 = load ptr, ptr %109, align 8 + %vfn.i.i.i311 = getelementptr inbounds ptr, ptr %vtable.i.i.i310, i64 1 + %110 = load ptr, ptr %vfn.i.i.i311, align 8 call void %110(ptr noundef nonnull align 8 dereferenceable(128) %109) #22 br label %if.end244 @@ -9862,79 +9887,83 @@ ehcleanup242: ; preds = %lpad239, %lpad237 ehcleanup243: ; preds = %ehcleanup242, %lpad234 %.pn34.pn = phi { ptr, i32 } [ %.pn34, %ehcleanup242 ], [ %112, %lpad234 ] %115 = load ptr, ptr %ref.tmp229, align 8 - %cmp.not.i.i297 = icmp eq ptr %115, null - br i1 %cmp.not.i.i297, label %_ZN7testing7MessageD2Ev.exit301, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i298 + %cmp.not.i.i313 = icmp eq ptr %115, null + br i1 %cmp.not.i.i313, label %_ZN7testing7MessageD2Ev.exit317, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i298: ; preds = %ehcleanup243 - %vtable.i.i.i299 = load ptr, ptr %115, align 8 - %vfn.i.i.i300 = getelementptr inbounds ptr, ptr %vtable.i.i.i299, i64 1 - %116 = load ptr, ptr %vfn.i.i.i300, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314: ; preds = %ehcleanup243 + %vtable.i.i.i315 = load ptr, ptr %115, align 8 + %vfn.i.i.i316 = getelementptr inbounds ptr, ptr %vtable.i.i.i315, i64 1 + %116 = load ptr, ptr %vfn.i.i.i316, align 8 call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #22 - br label %_ZN7testing7MessageD2Ev.exit301 + br label %_ZN7testing7MessageD2Ev.exit317 -_ZN7testing7MessageD2Ev.exit301: ; preds = %ehcleanup243, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i298 +_ZN7testing7MessageD2Ev.exit317: ; preds = %ehcleanup243, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i314 store ptr null, ptr %ref.tmp229, align 8 br label %ehcleanup324 -if.end244: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i293, %invoke.cont240 +if.end244: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i309, %invoke.cont240 store ptr null, ptr %ref.tmp229, align 8 - %.pr581 = load ptr, ptr %message_.i290572, align 8 - %cmp.not.i.i303 = icmp eq ptr %.pr581, null - br i1 %cmp.not.i.i303, label %_ZN7testing15AssertionResultD2Ev.exit305, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304 + %.pr609 = load ptr, ptr %message_.i306600, align 8 + %cmp.not.i.i319 = icmp eq ptr %.pr609, null + br i1 %cmp.not.i.i319, label %_ZN7testing15AssertionResultD2Ev.exit321, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i320 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304: ; preds = %if.end244 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr581) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr581) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit305 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i320: ; preds = %if.end244 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr609) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr609) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit321 -_ZN7testing15AssertionResultD2Ev.exit305: ; preds = %invoke.cont222, %invoke.cont222.thread, %if.end244, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304 - store ptr null, ptr %message_.i290572, align 8 +_ZN7testing15AssertionResultD2Ev.exit321: ; preds = %invoke.cont222, %invoke.cont222.thread, %if.end244, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i320 + store ptr null, ptr %message_.i306600, align 8 %117 = load ptr, ptr %data_.i.i, align 8 %118 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i.i.i324 = getelementptr inbounds i32, ptr %117, i64 %118 %119 = load ptr, ptr %data_.i.i63, align 8 %120 = load i64, ptr %size_alloc_.i.i59, align 8 - %add.ptr.i7.i.i310 = getelementptr inbounds i32, ptr %119, i64 %120 - %cond.i.i.i.i.i.i.v.i.i311 = call i64 @llvm.smin.i64(i64 %120, i64 %118) - %cond.i.i.i.i.i.i.i.i312 = getelementptr inbounds i32, ptr %117, i64 %cond.i.i.i.i.i.i.v.i.i311 - %cmp.not18.i.i.i.i.i.i.i313 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i311, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i313, label %invoke.cont248, label %for.body.i.i.i.i.i.i.i314 - -for.body.i.i.i.i.i.i.i314: ; preds = %_ZN7testing15AssertionResultD2Ev.exit305, %for.inc.i.i.i.i.i.i.i320 - %__first2.addr.020.i.i.i.i.i.i.i315 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i322, %for.inc.i.i.i.i.i.i.i320 ], [ %119, %_ZN7testing15AssertionResultD2Ev.exit305 ] - %__first1.addr.019.i.i.i.i.i.i.i316 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i321, %for.inc.i.i.i.i.i.i.i320 ], [ %117, %_ZN7testing15AssertionResultD2Ev.exit305 ] - %121 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i316, align 4 - %122 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i315, align 4 - %cmp.i15.i.i.i.i.i.i.not.i317 = icmp slt i32 %121, %122 - br i1 %cmp.i15.i.i.i.i.i.i.not.i317, label %invoke.cont248.thread590, label %if.end.i.i.i.i.i.i.i318 - -invoke.cont248.thread590: ; preds = %for.body.i.i.i.i.i.i.i314 + %add.ptr.i7.i.i327 = getelementptr inbounds i32, ptr %119, i64 %120 + %add.ptr.i.idx.i.i328 = shl nsw i64 %118, 2 + %add.ptr.i7.idx.i.i329 = shl nsw i64 %120, 2 + %cmp.i.i.i.i.i.i.i.i330 = icmp slt i64 %add.ptr.i7.idx.i.i329, %add.ptr.i.idx.i.i328 + %add.ptr.i.i.i.i.i.i.i.i331 = getelementptr inbounds i8, ptr %117, i64 %add.ptr.i7.idx.i.i329 + %cond.i.i.i.i.i.i.i.i332 = select i1 %cmp.i.i.i.i.i.i.i.i330, ptr %add.ptr.i.i.i.i.i.i.i.i331, ptr %add.ptr.i.i.i324 + %cmp.not18.i.i.i.i.i.i.i333 = icmp eq ptr %cond.i.i.i.i.i.i.i.i332, %117 + br i1 %cmp.not18.i.i.i.i.i.i.i333, label %invoke.cont248, label %for.body.i.i.i.i.i.i.i334 + +for.body.i.i.i.i.i.i.i334: ; preds = %_ZN7testing15AssertionResultD2Ev.exit321, %for.inc.i.i.i.i.i.i.i340 + %__first2.addr.020.i.i.i.i.i.i.i335 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i342, %for.inc.i.i.i.i.i.i.i340 ], [ %119, %_ZN7testing15AssertionResultD2Ev.exit321 ] + %__first1.addr.019.i.i.i.i.i.i.i336 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i341, %for.inc.i.i.i.i.i.i.i340 ], [ %117, %_ZN7testing15AssertionResultD2Ev.exit321 ] + %121 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i336, align 4 + %122 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i335, align 4 + %cmp.i15.i.i.i.i.i.i.not.i337 = icmp slt i32 %121, %122 + br i1 %cmp.i15.i.i.i.i.i.i.not.i337, label %invoke.cont248.thread618, label %if.end.i.i.i.i.i.i.i338 + +invoke.cont248.thread618: ; preds = %for.body.i.i.i.i.i.i.i334 store i8 0, ptr %gtest_ar_246, align 8 - store ptr null, ptr %message_.i328587, align 8 + store ptr null, ptr %message_.i348615, align 8 br label %if.else254 -if.end.i.i.i.i.i.i.i318: ; preds = %for.body.i.i.i.i.i.i.i314 - %cmp.i16.i.i.i.i.i.i.i319 = icmp slt i32 %122, %121 - br i1 %cmp.i16.i.i.i.i.i.i.i319, label %invoke.cont248.thread, label %for.inc.i.i.i.i.i.i.i320 +if.end.i.i.i.i.i.i.i338: ; preds = %for.body.i.i.i.i.i.i.i334 + %cmp.i16.i.i.i.i.i.i.i339 = icmp slt i32 %122, %121 + br i1 %cmp.i16.i.i.i.i.i.i.i339, label %invoke.cont248.thread, label %for.inc.i.i.i.i.i.i.i340 -invoke.cont248.thread: ; preds = %if.end.i.i.i.i.i.i.i318 +invoke.cont248.thread: ; preds = %if.end.i.i.i.i.i.i.i338 store i8 1, ptr %gtest_ar_246, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit343 - -for.inc.i.i.i.i.i.i.i320: ; preds = %if.end.i.i.i.i.i.i.i318 - %incdec.ptr.i.i.i.i.i.i.i321 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i316, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i322 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i315, i64 1 - %cmp.not.i.i.i.i.i.i.i323 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i321, %cond.i.i.i.i.i.i.i.i312 - br i1 %cmp.not.i.i.i.i.i.i.i323, label %invoke.cont248, label %for.body.i.i.i.i.i.i.i314, !llvm.loop !170 - -invoke.cont248: ; preds = %for.inc.i.i.i.i.i.i.i320, %_ZN7testing15AssertionResultD2Ev.exit305 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i325 = phi ptr [ %119, %_ZN7testing15AssertionResultD2Ev.exit305 ], [ %incdec.ptr6.i.i.i.i.i.i.i322, %for.inc.i.i.i.i.i.i.i320 ] - %cmp9.i.i.i.i.i.i.i326 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i325, %add.ptr.i7.i.i310 - %frombool250 = zext i1 %cmp9.i.i.i.i.i.i.i326 to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit363 + +for.inc.i.i.i.i.i.i.i340: ; preds = %if.end.i.i.i.i.i.i.i338 + %incdec.ptr.i.i.i.i.i.i.i341 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i336, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i342 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i335, i64 1 + %cmp.not.i.i.i.i.i.i.i343 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i341, %cond.i.i.i.i.i.i.i.i332 + br i1 %cmp.not.i.i.i.i.i.i.i343, label %invoke.cont248, label %for.body.i.i.i.i.i.i.i334, !llvm.loop !170 + +invoke.cont248: ; preds = %for.inc.i.i.i.i.i.i.i340, %_ZN7testing15AssertionResultD2Ev.exit321 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i345 = phi ptr [ %119, %_ZN7testing15AssertionResultD2Ev.exit321 ], [ %incdec.ptr6.i.i.i.i.i.i.i342, %for.inc.i.i.i.i.i.i.i340 ] + %cmp9.i.i.i.i.i.i.i346 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i345, %add.ptr.i7.i.i327 + %frombool250 = zext i1 %cmp9.i.i.i.i.i.i.i346 to i8 store i8 %frombool250, ptr %gtest_ar_246, align 8 - store ptr null, ptr %message_.i328587, align 8 - br i1 %cmp9.i.i.i.i.i.i.i326, label %_ZN7testing15AssertionResultD2Ev.exit343, label %if.else254 + store ptr null, ptr %message_.i348615, align 8 + br i1 %cmp9.i.i.i.i.i.i.i346, label %_ZN7testing15AssertionResultD2Ev.exit363, label %if.else254 -if.else254: ; preds = %invoke.cont248.thread590, %invoke.cont248 +if.else254: ; preds = %invoke.cont248.thread618, %invoke.cont248 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp255) to label %invoke.cont257 unwind label %lpad256 @@ -9955,13 +9984,13 @@ invoke.cont266: ; preds = %invoke.cont264 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp258) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp259) #22 %123 = load ptr, ptr %ref.tmp255, align 8 - %cmp.not.i.i330 = icmp eq ptr %123, null - br i1 %cmp.not.i.i330, label %if.end270, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331 + %cmp.not.i.i350 = icmp eq ptr %123, null + br i1 %cmp.not.i.i350, label %if.end270, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331: ; preds = %invoke.cont266 - %vtable.i.i.i332 = load ptr, ptr %123, align 8 - %vfn.i.i.i333 = getelementptr inbounds ptr, ptr %vtable.i.i.i332, i64 1 - %124 = load ptr, ptr %vfn.i.i.i333, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351: ; preds = %invoke.cont266 + %vtable.i.i.i352 = load ptr, ptr %123, align 8 + %vfn.i.i.i353 = getelementptr inbounds ptr, ptr %vtable.i.i.i352, i64 1 + %124 = load ptr, ptr %vfn.i.i.i353, align 8 call void %124(ptr noundef nonnull align 8 dereferenceable(128) %123) #22 br label %if.end270 @@ -9994,79 +10023,83 @@ ehcleanup268: ; preds = %lpad265, %lpad263 ehcleanup269: ; preds = %ehcleanup268, %lpad260 %.pn38.pn = phi { ptr, i32 } [ %.pn38, %ehcleanup268 ], [ %126, %lpad260 ] %129 = load ptr, ptr %ref.tmp255, align 8 - %cmp.not.i.i335 = icmp eq ptr %129, null - br i1 %cmp.not.i.i335, label %_ZN7testing7MessageD2Ev.exit339, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336 + %cmp.not.i.i355 = icmp eq ptr %129, null + br i1 %cmp.not.i.i355, label %_ZN7testing7MessageD2Ev.exit359, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336: ; preds = %ehcleanup269 - %vtable.i.i.i337 = load ptr, ptr %129, align 8 - %vfn.i.i.i338 = getelementptr inbounds ptr, ptr %vtable.i.i.i337, i64 1 - %130 = load ptr, ptr %vfn.i.i.i338, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356: ; preds = %ehcleanup269 + %vtable.i.i.i357 = load ptr, ptr %129, align 8 + %vfn.i.i.i358 = getelementptr inbounds ptr, ptr %vtable.i.i.i357, i64 1 + %130 = load ptr, ptr %vfn.i.i.i358, align 8 call void %130(ptr noundef nonnull align 8 dereferenceable(128) %129) #22 - br label %_ZN7testing7MessageD2Ev.exit339 + br label %_ZN7testing7MessageD2Ev.exit359 -_ZN7testing7MessageD2Ev.exit339: ; preds = %ehcleanup269, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336 +_ZN7testing7MessageD2Ev.exit359: ; preds = %ehcleanup269, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i356 store ptr null, ptr %ref.tmp255, align 8 br label %ehcleanup324 -if.end270: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331, %invoke.cont266 +if.end270: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351, %invoke.cont266 store ptr null, ptr %ref.tmp255, align 8 - %.pr596 = load ptr, ptr %message_.i328587, align 8 - %cmp.not.i.i341 = icmp eq ptr %.pr596, null - br i1 %cmp.not.i.i341, label %_ZN7testing15AssertionResultD2Ev.exit343, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i342 + %.pr624 = load ptr, ptr %message_.i348615, align 8 + %cmp.not.i.i361 = icmp eq ptr %.pr624, null + br i1 %cmp.not.i.i361, label %_ZN7testing15AssertionResultD2Ev.exit363, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i342: ; preds = %if.end270 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr596) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr596) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit343 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362: ; preds = %if.end270 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr624) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr624) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit363 -_ZN7testing15AssertionResultD2Ev.exit343: ; preds = %invoke.cont248, %invoke.cont248.thread, %if.end270, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i342 - store ptr null, ptr %message_.i328587, align 8 +_ZN7testing15AssertionResultD2Ev.exit363: ; preds = %invoke.cont248, %invoke.cont248.thread, %if.end270, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i362 + store ptr null, ptr %message_.i348615, align 8 %131 = load ptr, ptr %data_.i.i, align 8 %132 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i.i.i366 = getelementptr inbounds i32, ptr %131, i64 %132 %133 = load ptr, ptr %data_.i.i63, align 8 %134 = load i64, ptr %size_alloc_.i.i59, align 8 - %add.ptr.i7.i.i348 = getelementptr inbounds i32, ptr %133, i64 %134 - %cond.i.i.i.i.i.i.v.i.i349 = call i64 @llvm.smin.i64(i64 %134, i64 %132) - %cond.i.i.i.i.i.i.i.i350 = getelementptr inbounds i32, ptr %131, i64 %cond.i.i.i.i.i.i.v.i.i349 - %cmp.not18.i.i.i.i.i.i.i351 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i349, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i351, label %invoke.cont274, label %for.body.i.i.i.i.i.i.i352 - -for.body.i.i.i.i.i.i.i352: ; preds = %_ZN7testing15AssertionResultD2Ev.exit343, %for.inc.i.i.i.i.i.i.i358 - %__first2.addr.020.i.i.i.i.i.i.i353 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i360, %for.inc.i.i.i.i.i.i.i358 ], [ %133, %_ZN7testing15AssertionResultD2Ev.exit343 ] - %__first1.addr.019.i.i.i.i.i.i.i354 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i359, %for.inc.i.i.i.i.i.i.i358 ], [ %131, %_ZN7testing15AssertionResultD2Ev.exit343 ] - %135 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i354, align 4 - %136 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i353, align 4 - %cmp.i15.i.i.i.i.i.i.not.i355 = icmp slt i32 %135, %136 - br i1 %cmp.i15.i.i.i.i.i.i.not.i355, label %invoke.cont274.thread605, label %if.end.i.i.i.i.i.i.i356 - -invoke.cont274.thread605: ; preds = %for.body.i.i.i.i.i.i.i352 + %add.ptr.i7.i.i369 = getelementptr inbounds i32, ptr %133, i64 %134 + %add.ptr.i.idx.i.i370 = shl nsw i64 %132, 2 + %add.ptr.i7.idx.i.i371 = shl nsw i64 %134, 2 + %cmp.i.i.i.i.i.i.i.i372 = icmp slt i64 %add.ptr.i7.idx.i.i371, %add.ptr.i.idx.i.i370 + %add.ptr.i.i.i.i.i.i.i.i373 = getelementptr inbounds i8, ptr %131, i64 %add.ptr.i7.idx.i.i371 + %cond.i.i.i.i.i.i.i.i374 = select i1 %cmp.i.i.i.i.i.i.i.i372, ptr %add.ptr.i.i.i.i.i.i.i.i373, ptr %add.ptr.i.i.i366 + %cmp.not18.i.i.i.i.i.i.i375 = icmp eq ptr %cond.i.i.i.i.i.i.i.i374, %131 + br i1 %cmp.not18.i.i.i.i.i.i.i375, label %invoke.cont274, label %for.body.i.i.i.i.i.i.i376 + +for.body.i.i.i.i.i.i.i376: ; preds = %_ZN7testing15AssertionResultD2Ev.exit363, %for.inc.i.i.i.i.i.i.i382 + %__first2.addr.020.i.i.i.i.i.i.i377 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i384, %for.inc.i.i.i.i.i.i.i382 ], [ %133, %_ZN7testing15AssertionResultD2Ev.exit363 ] + %__first1.addr.019.i.i.i.i.i.i.i378 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i383, %for.inc.i.i.i.i.i.i.i382 ], [ %131, %_ZN7testing15AssertionResultD2Ev.exit363 ] + %135 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i378, align 4 + %136 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i377, align 4 + %cmp.i15.i.i.i.i.i.i.not.i379 = icmp slt i32 %135, %136 + br i1 %cmp.i15.i.i.i.i.i.i.not.i379, label %invoke.cont274.thread633, label %if.end.i.i.i.i.i.i.i380 + +invoke.cont274.thread633: ; preds = %for.body.i.i.i.i.i.i.i376 store i8 0, ptr %gtest_ar_272, align 8 - store ptr null, ptr %message_.i367602, align 8 + store ptr null, ptr %message_.i391630, align 8 br label %if.else280 -if.end.i.i.i.i.i.i.i356: ; preds = %for.body.i.i.i.i.i.i.i352 - %cmp.i16.i.i.i.i.i.i.i357 = icmp slt i32 %136, %135 - br i1 %cmp.i16.i.i.i.i.i.i.i357, label %invoke.cont274.thread, label %for.inc.i.i.i.i.i.i.i358 +if.end.i.i.i.i.i.i.i380: ; preds = %for.body.i.i.i.i.i.i.i376 + %cmp.i16.i.i.i.i.i.i.i381 = icmp slt i32 %136, %135 + br i1 %cmp.i16.i.i.i.i.i.i.i381, label %invoke.cont274.thread, label %for.inc.i.i.i.i.i.i.i382 -invoke.cont274.thread: ; preds = %if.end.i.i.i.i.i.i.i356 +invoke.cont274.thread: ; preds = %if.end.i.i.i.i.i.i.i380 store i8 1, ptr %gtest_ar_272, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit382 - -for.inc.i.i.i.i.i.i.i358: ; preds = %if.end.i.i.i.i.i.i.i356 - %incdec.ptr.i.i.i.i.i.i.i359 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i354, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i360 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i353, i64 1 - %cmp.not.i.i.i.i.i.i.i361 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i359, %cond.i.i.i.i.i.i.i.i350 - br i1 %cmp.not.i.i.i.i.i.i.i361, label %invoke.cont274, label %for.body.i.i.i.i.i.i.i352, !llvm.loop !170 - -invoke.cont274: ; preds = %for.inc.i.i.i.i.i.i.i358, %_ZN7testing15AssertionResultD2Ev.exit343 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i363 = phi ptr [ %133, %_ZN7testing15AssertionResultD2Ev.exit343 ], [ %incdec.ptr6.i.i.i.i.i.i.i360, %for.inc.i.i.i.i.i.i.i358 ] - %cmp9.i.i.i.i.i.i.i364 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i363, %add.ptr.i7.i.i348 - %frombool276 = zext i1 %cmp9.i.i.i.i.i.i.i364 to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit406 + +for.inc.i.i.i.i.i.i.i382: ; preds = %if.end.i.i.i.i.i.i.i380 + %incdec.ptr.i.i.i.i.i.i.i383 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i378, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i384 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i377, i64 1 + %cmp.not.i.i.i.i.i.i.i385 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i383, %cond.i.i.i.i.i.i.i.i374 + br i1 %cmp.not.i.i.i.i.i.i.i385, label %invoke.cont274, label %for.body.i.i.i.i.i.i.i376, !llvm.loop !170 + +invoke.cont274: ; preds = %for.inc.i.i.i.i.i.i.i382, %_ZN7testing15AssertionResultD2Ev.exit363 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i387 = phi ptr [ %133, %_ZN7testing15AssertionResultD2Ev.exit363 ], [ %incdec.ptr6.i.i.i.i.i.i.i384, %for.inc.i.i.i.i.i.i.i382 ] + %cmp9.i.i.i.i.i.i.i388 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i387, %add.ptr.i7.i.i369 + %frombool276 = zext i1 %cmp9.i.i.i.i.i.i.i388 to i8 store i8 %frombool276, ptr %gtest_ar_272, align 8 - store ptr null, ptr %message_.i367602, align 8 - br i1 %cmp9.i.i.i.i.i.i.i364, label %_ZN7testing15AssertionResultD2Ev.exit382, label %if.else280 + store ptr null, ptr %message_.i391630, align 8 + br i1 %cmp9.i.i.i.i.i.i.i388, label %_ZN7testing15AssertionResultD2Ev.exit406, label %if.else280 -if.else280: ; preds = %invoke.cont274.thread605, %invoke.cont274 +if.else280: ; preds = %invoke.cont274.thread633, %invoke.cont274 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp281) to label %invoke.cont283 unwind label %lpad282 @@ -10087,13 +10120,13 @@ invoke.cont292: ; preds = %invoke.cont290 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp284) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp285) #22 %137 = load ptr, ptr %ref.tmp281, align 8 - %cmp.not.i.i369 = icmp eq ptr %137, null - br i1 %cmp.not.i.i369, label %if.end296, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i370 + %cmp.not.i.i393 = icmp eq ptr %137, null + br i1 %cmp.not.i.i393, label %if.end296, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i394 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i370: ; preds = %invoke.cont292 - %vtable.i.i.i371 = load ptr, ptr %137, align 8 - %vfn.i.i.i372 = getelementptr inbounds ptr, ptr %vtable.i.i.i371, i64 1 - %138 = load ptr, ptr %vfn.i.i.i372, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i394: ; preds = %invoke.cont292 + %vtable.i.i.i395 = load ptr, ptr %137, align 8 + %vfn.i.i.i396 = getelementptr inbounds ptr, ptr %vtable.i.i.i395, i64 1 + %138 = load ptr, ptr %vfn.i.i.i396, align 8 call void %138(ptr noundef nonnull align 8 dereferenceable(128) %137) #22 br label %if.end296 @@ -10126,79 +10159,83 @@ ehcleanup294: ; preds = %lpad291, %lpad289 ehcleanup295: ; preds = %ehcleanup294, %lpad286 %.pn42.pn = phi { ptr, i32 } [ %.pn42, %ehcleanup294 ], [ %140, %lpad286 ] %143 = load ptr, ptr %ref.tmp281, align 8 - %cmp.not.i.i374 = icmp eq ptr %143, null - br i1 %cmp.not.i.i374, label %_ZN7testing7MessageD2Ev.exit378, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i375 + %cmp.not.i.i398 = icmp eq ptr %143, null + br i1 %cmp.not.i.i398, label %_ZN7testing7MessageD2Ev.exit402, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i375: ; preds = %ehcleanup295 - %vtable.i.i.i376 = load ptr, ptr %143, align 8 - %vfn.i.i.i377 = getelementptr inbounds ptr, ptr %vtable.i.i.i376, i64 1 - %144 = load ptr, ptr %vfn.i.i.i377, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399: ; preds = %ehcleanup295 + %vtable.i.i.i400 = load ptr, ptr %143, align 8 + %vfn.i.i.i401 = getelementptr inbounds ptr, ptr %vtable.i.i.i400, i64 1 + %144 = load ptr, ptr %vfn.i.i.i401, align 8 call void %144(ptr noundef nonnull align 8 dereferenceable(128) %143) #22 - br label %_ZN7testing7MessageD2Ev.exit378 + br label %_ZN7testing7MessageD2Ev.exit402 -_ZN7testing7MessageD2Ev.exit378: ; preds = %ehcleanup295, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i375 +_ZN7testing7MessageD2Ev.exit402: ; preds = %ehcleanup295, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399 store ptr null, ptr %ref.tmp281, align 8 br label %ehcleanup324 -if.end296: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i370, %invoke.cont292 +if.end296: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i394, %invoke.cont292 store ptr null, ptr %ref.tmp281, align 8 - %.pr611 = load ptr, ptr %message_.i367602, align 8 - %cmp.not.i.i380 = icmp eq ptr %.pr611, null - br i1 %cmp.not.i.i380, label %_ZN7testing15AssertionResultD2Ev.exit382, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i381 + %.pr639 = load ptr, ptr %message_.i391630, align 8 + %cmp.not.i.i404 = icmp eq ptr %.pr639, null + br i1 %cmp.not.i.i404, label %_ZN7testing15AssertionResultD2Ev.exit406, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i405 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i381: ; preds = %if.end296 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr611) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr611) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit382 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i405: ; preds = %if.end296 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr639) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr639) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit406 -_ZN7testing15AssertionResultD2Ev.exit382: ; preds = %invoke.cont274, %invoke.cont274.thread, %if.end296, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i381 - store ptr null, ptr %message_.i367602, align 8 +_ZN7testing15AssertionResultD2Ev.exit406: ; preds = %invoke.cont274, %invoke.cont274.thread, %if.end296, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i405 + store ptr null, ptr %message_.i391630, align 8 %145 = load ptr, ptr %data_.i.i63, align 8 %146 = load i64, ptr %size_alloc_.i.i59, align 8 + %add.ptr.i.i.i409 = getelementptr inbounds i32, ptr %145, i64 %146 %147 = load ptr, ptr %data_.i.i, align 8 %148 = load i64, ptr %size_alloc_.i.i, align 8 - %add.ptr.i7.i.i387 = getelementptr inbounds i32, ptr %147, i64 %148 - %cond.i.i.i.i.i.i.v.i.i388 = call i64 @llvm.smin.i64(i64 %148, i64 %146) - %cond.i.i.i.i.i.i.i.i389 = getelementptr inbounds i32, ptr %145, i64 %cond.i.i.i.i.i.i.v.i.i388 - %cmp.not18.i.i.i.i.i.i.i390 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i388, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i390, label %invoke.cont300, label %for.body.i.i.i.i.i.i.i391 - -for.body.i.i.i.i.i.i.i391: ; preds = %_ZN7testing15AssertionResultD2Ev.exit382, %for.inc.i.i.i.i.i.i.i397 - %__first2.addr.020.i.i.i.i.i.i.i392 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i399, %for.inc.i.i.i.i.i.i.i397 ], [ %147, %_ZN7testing15AssertionResultD2Ev.exit382 ] - %__first1.addr.019.i.i.i.i.i.i.i393 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i398, %for.inc.i.i.i.i.i.i.i397 ], [ %145, %_ZN7testing15AssertionResultD2Ev.exit382 ] - %149 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i393, align 4 - %150 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i392, align 4 - %cmp.i15.i.i.i.i.i.i.not.i394 = icmp slt i32 %149, %150 - br i1 %cmp.i15.i.i.i.i.i.i.not.i394, label %invoke.cont300.thread620, label %if.end.i.i.i.i.i.i.i395 - -invoke.cont300.thread620: ; preds = %for.body.i.i.i.i.i.i.i391 + %add.ptr.i7.i.i412 = getelementptr inbounds i32, ptr %147, i64 %148 + %add.ptr.i.idx.i.i413 = shl nsw i64 %146, 2 + %add.ptr.i7.idx.i.i414 = shl nsw i64 %148, 2 + %cmp.i.i.i.i.i.i.i.i415 = icmp slt i64 %add.ptr.i7.idx.i.i414, %add.ptr.i.idx.i.i413 + %add.ptr.i.i.i.i.i.i.i.i416 = getelementptr inbounds i8, ptr %145, i64 %add.ptr.i7.idx.i.i414 + %cond.i.i.i.i.i.i.i.i417 = select i1 %cmp.i.i.i.i.i.i.i.i415, ptr %add.ptr.i.i.i.i.i.i.i.i416, ptr %add.ptr.i.i.i409 + %cmp.not18.i.i.i.i.i.i.i418 = icmp eq ptr %cond.i.i.i.i.i.i.i.i417, %145 + br i1 %cmp.not18.i.i.i.i.i.i.i418, label %invoke.cont300, label %for.body.i.i.i.i.i.i.i419 + +for.body.i.i.i.i.i.i.i419: ; preds = %_ZN7testing15AssertionResultD2Ev.exit406, %for.inc.i.i.i.i.i.i.i425 + %__first2.addr.020.i.i.i.i.i.i.i420 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i427, %for.inc.i.i.i.i.i.i.i425 ], [ %147, %_ZN7testing15AssertionResultD2Ev.exit406 ] + %__first1.addr.019.i.i.i.i.i.i.i421 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i426, %for.inc.i.i.i.i.i.i.i425 ], [ %145, %_ZN7testing15AssertionResultD2Ev.exit406 ] + %149 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i421, align 4 + %150 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i420, align 4 + %cmp.i15.i.i.i.i.i.i.not.i422 = icmp slt i32 %149, %150 + br i1 %cmp.i15.i.i.i.i.i.i.not.i422, label %invoke.cont300.thread648, label %if.end.i.i.i.i.i.i.i423 + +invoke.cont300.thread648: ; preds = %for.body.i.i.i.i.i.i.i419 store i8 0, ptr %gtest_ar_298, align 8 - store ptr null, ptr %message_.i406617, align 8 + store ptr null, ptr %message_.i434645, align 8 br label %if.else306 -if.end.i.i.i.i.i.i.i395: ; preds = %for.body.i.i.i.i.i.i.i391 - %cmp.i16.i.i.i.i.i.i.i396 = icmp slt i32 %150, %149 - br i1 %cmp.i16.i.i.i.i.i.i.i396, label %invoke.cont300.thread, label %for.inc.i.i.i.i.i.i.i397 +if.end.i.i.i.i.i.i.i423: ; preds = %for.body.i.i.i.i.i.i.i419 + %cmp.i16.i.i.i.i.i.i.i424 = icmp slt i32 %150, %149 + br i1 %cmp.i16.i.i.i.i.i.i.i424, label %invoke.cont300.thread, label %for.inc.i.i.i.i.i.i.i425 -invoke.cont300.thread: ; preds = %if.end.i.i.i.i.i.i.i395 +invoke.cont300.thread: ; preds = %if.end.i.i.i.i.i.i.i423 store i8 1, ptr %gtest_ar_298, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit421 - -for.inc.i.i.i.i.i.i.i397: ; preds = %if.end.i.i.i.i.i.i.i395 - %incdec.ptr.i.i.i.i.i.i.i398 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i393, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i399 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i392, i64 1 - %cmp.not.i.i.i.i.i.i.i400 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i398, %cond.i.i.i.i.i.i.i.i389 - br i1 %cmp.not.i.i.i.i.i.i.i400, label %invoke.cont300, label %for.body.i.i.i.i.i.i.i391, !llvm.loop !170 - -invoke.cont300: ; preds = %for.inc.i.i.i.i.i.i.i397, %_ZN7testing15AssertionResultD2Ev.exit382 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i402 = phi ptr [ %147, %_ZN7testing15AssertionResultD2Ev.exit382 ], [ %incdec.ptr6.i.i.i.i.i.i.i399, %for.inc.i.i.i.i.i.i.i397 ] - %cmp9.i.i.i.i.i.i.i403 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i402, %add.ptr.i7.i.i387 - %frombool302 = zext i1 %cmp9.i.i.i.i.i.i.i403 to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit449 + +for.inc.i.i.i.i.i.i.i425: ; preds = %if.end.i.i.i.i.i.i.i423 + %incdec.ptr.i.i.i.i.i.i.i426 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i421, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i427 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i420, i64 1 + %cmp.not.i.i.i.i.i.i.i428 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i426, %cond.i.i.i.i.i.i.i.i417 + br i1 %cmp.not.i.i.i.i.i.i.i428, label %invoke.cont300, label %for.body.i.i.i.i.i.i.i419, !llvm.loop !170 + +invoke.cont300: ; preds = %for.inc.i.i.i.i.i.i.i425, %_ZN7testing15AssertionResultD2Ev.exit406 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i430 = phi ptr [ %147, %_ZN7testing15AssertionResultD2Ev.exit406 ], [ %incdec.ptr6.i.i.i.i.i.i.i427, %for.inc.i.i.i.i.i.i.i425 ] + %cmp9.i.i.i.i.i.i.i431 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i430, %add.ptr.i7.i.i412 + %frombool302 = zext i1 %cmp9.i.i.i.i.i.i.i431 to i8 store i8 %frombool302, ptr %gtest_ar_298, align 8 - store ptr null, ptr %message_.i406617, align 8 - br i1 %cmp9.i.i.i.i.i.i.i403, label %_ZN7testing15AssertionResultD2Ev.exit421, label %if.else306 + store ptr null, ptr %message_.i434645, align 8 + br i1 %cmp9.i.i.i.i.i.i.i431, label %_ZN7testing15AssertionResultD2Ev.exit449, label %if.else306 -if.else306: ; preds = %invoke.cont300.thread620, %invoke.cont300 +if.else306: ; preds = %invoke.cont300.thread648, %invoke.cont300 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp307) to label %invoke.cont309 unwind label %lpad308 @@ -10219,13 +10256,13 @@ invoke.cont318: ; preds = %invoke.cont316 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp310) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp311) #22 %151 = load ptr, ptr %ref.tmp307, align 8 - %cmp.not.i.i408 = icmp eq ptr %151, null - br i1 %cmp.not.i.i408, label %if.end322, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i409 + %cmp.not.i.i436 = icmp eq ptr %151, null + br i1 %cmp.not.i.i436, label %if.end322, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i437 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i409: ; preds = %invoke.cont318 - %vtable.i.i.i410 = load ptr, ptr %151, align 8 - %vfn.i.i.i411 = getelementptr inbounds ptr, ptr %vtable.i.i.i410, i64 1 - %152 = load ptr, ptr %vfn.i.i.i411, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i437: ; preds = %invoke.cont318 + %vtable.i.i.i438 = load ptr, ptr %151, align 8 + %vfn.i.i.i439 = getelementptr inbounds ptr, ptr %vtable.i.i.i438, i64 1 + %152 = load ptr, ptr %vfn.i.i.i439, align 8 call void %152(ptr noundef nonnull align 8 dereferenceable(128) %151) #22 br label %if.end322 @@ -10258,85 +10295,85 @@ ehcleanup320: ; preds = %lpad317, %lpad315 ehcleanup321: ; preds = %ehcleanup320, %lpad312 %.pn46.pn = phi { ptr, i32 } [ %.pn46, %ehcleanup320 ], [ %154, %lpad312 ] %157 = load ptr, ptr %ref.tmp307, align 8 - %cmp.not.i.i413 = icmp eq ptr %157, null - br i1 %cmp.not.i.i413, label %_ZN7testing7MessageD2Ev.exit417, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414 + %cmp.not.i.i441 = icmp eq ptr %157, null + br i1 %cmp.not.i.i441, label %_ZN7testing7MessageD2Ev.exit445, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i442 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414: ; preds = %ehcleanup321 - %vtable.i.i.i415 = load ptr, ptr %157, align 8 - %vfn.i.i.i416 = getelementptr inbounds ptr, ptr %vtable.i.i.i415, i64 1 - %158 = load ptr, ptr %vfn.i.i.i416, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i442: ; preds = %ehcleanup321 + %vtable.i.i.i443 = load ptr, ptr %157, align 8 + %vfn.i.i.i444 = getelementptr inbounds ptr, ptr %vtable.i.i.i443, i64 1 + %158 = load ptr, ptr %vfn.i.i.i444, align 8 call void %158(ptr noundef nonnull align 8 dereferenceable(128) %157) #22 - br label %_ZN7testing7MessageD2Ev.exit417 + br label %_ZN7testing7MessageD2Ev.exit445 -_ZN7testing7MessageD2Ev.exit417: ; preds = %ehcleanup321, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414 +_ZN7testing7MessageD2Ev.exit445: ; preds = %ehcleanup321, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i442 store ptr null, ptr %ref.tmp307, align 8 br label %ehcleanup324 -if.end322: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i409, %invoke.cont318 +if.end322: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i437, %invoke.cont318 store ptr null, ptr %ref.tmp307, align 8 - %.pr626 = load ptr, ptr %message_.i406617, align 8 - %cmp.not.i.i419 = icmp eq ptr %.pr626, null - br i1 %cmp.not.i.i419, label %_ZN7testing15AssertionResultD2Ev.exit421, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i420 + %.pr654 = load ptr, ptr %message_.i434645, align 8 + %cmp.not.i.i447 = icmp eq ptr %.pr654, null + br i1 %cmp.not.i.i447, label %_ZN7testing15AssertionResultD2Ev.exit449, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i448 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i420: ; preds = %if.end322 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr626) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr626) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit421 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i448: ; preds = %if.end322 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr654) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr654) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit449 -_ZN7testing15AssertionResultD2Ev.exit421: ; preds = %invoke.cont300, %invoke.cont300.thread, %if.end322, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i420 - store ptr null, ptr %message_.i406617, align 8 +_ZN7testing15AssertionResultD2Ev.exit449: ; preds = %invoke.cont300, %invoke.cont300.thread, %if.end322, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i448 + store ptr null, ptr %message_.i434645, align 8 %159 = load i64, ptr %size_alloc_.i.i59, align 8 %cmp.i.i.i = icmp ult i64 %159, 6 br i1 %cmp.i.i.i, label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit, label %invoke.cont10.i.i -invoke.cont10.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit421 +invoke.cont10.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit449 %160 = load ptr, ptr %data_.i.i63, align 8 call void @_ZdlPv(ptr noundef %160) #23 br label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit -_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit421, %invoke.cont10.i.i +_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit449, %invoke.cont10.i.i %161 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i425 = icmp ult i64 %161, 6 - br i1 %cmp.i.i.i425, label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit428, label %invoke.cont10.i.i426 + %cmp.i.i.i453 = icmp ult i64 %161, 6 + br i1 %cmp.i.i.i453, label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit456, label %invoke.cont10.i.i454 -invoke.cont10.i.i426: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit +invoke.cont10.i.i454: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit %162 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %162) #23 - br label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit428 + br label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit456 -_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit428: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit, %invoke.cont10.i.i426 +_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit456: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit, %invoke.cont10.i.i454 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 10 br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !171 -ehcleanup324: ; preds = %lpad308, %_ZN7testing7MessageD2Ev.exit417, %lpad282, %_ZN7testing7MessageD2Ev.exit378, %lpad256, %_ZN7testing7MessageD2Ev.exit339, %lpad230, %_ZN7testing7MessageD2Ev.exit301, %lpad204, %_ZN7testing7MessageD2Ev.exit264, %lpad177, %_ZN7testing7MessageD2Ev.exit225, %lpad150, %_ZN7testing7MessageD2Ev.exit186, %lpad123, %_ZN7testing7MessageD2Ev.exit166, %lpad96, %_ZN7testing7MessageD2Ev.exit146, %lpad69, %_ZN7testing7MessageD2Ev.exit116, %lpad43, %_ZN7testing7MessageD2Ev.exit86, %lpad20, %_ZN7testing7MessageD2Ev.exit72 - %gtest_ar_298.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit72 ], [ %gtest_ar_, %lpad20 ], [ %gtest_ar_33, %_ZN7testing7MessageD2Ev.exit86 ], [ %gtest_ar_33, %lpad43 ], [ %gtest_ar_59, %_ZN7testing7MessageD2Ev.exit116 ], [ %gtest_ar_59, %lpad69 ], [ %gtest_ar_85, %_ZN7testing7MessageD2Ev.exit146 ], [ %gtest_ar_85, %lpad96 ], [ %gtest_ar_112, %_ZN7testing7MessageD2Ev.exit166 ], [ %gtest_ar_112, %lpad123 ], [ %gtest_ar_139, %_ZN7testing7MessageD2Ev.exit186 ], [ %gtest_ar_139, %lpad150 ], [ %gtest_ar_166, %_ZN7testing7MessageD2Ev.exit225 ], [ %gtest_ar_166, %lpad177 ], [ %gtest_ar_193, %_ZN7testing7MessageD2Ev.exit264 ], [ %gtest_ar_193, %lpad204 ], [ %gtest_ar_220, %_ZN7testing7MessageD2Ev.exit301 ], [ %gtest_ar_220, %lpad230 ], [ %gtest_ar_246, %_ZN7testing7MessageD2Ev.exit339 ], [ %gtest_ar_246, %lpad256 ], [ %gtest_ar_272, %_ZN7testing7MessageD2Ev.exit378 ], [ %gtest_ar_272, %lpad282 ], [ %gtest_ar_298, %_ZN7testing7MessageD2Ev.exit417 ], [ %gtest_ar_298, %lpad308 ] - %.pn46.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit72 ], [ %5, %lpad20 ], [ %.pn6.pn, %_ZN7testing7MessageD2Ev.exit86 ], [ %17, %lpad43 ], [ %.pn10.pn, %_ZN7testing7MessageD2Ev.exit116 ], [ %29, %lpad69 ], [ %.pn14.pn, %_ZN7testing7MessageD2Ev.exit146 ], [ %41, %lpad96 ], [ %.pn18.pn, %_ZN7testing7MessageD2Ev.exit166 ], [ %55, %lpad123 ], [ %.pn22.pn, %_ZN7testing7MessageD2Ev.exit186 ], [ %69, %lpad150 ], [ %.pn26.pn, %_ZN7testing7MessageD2Ev.exit225 ], [ %83, %lpad177 ], [ %.pn30.pn, %_ZN7testing7MessageD2Ev.exit264 ], [ %97, %lpad204 ], [ %.pn34.pn, %_ZN7testing7MessageD2Ev.exit301 ], [ %111, %lpad230 ], [ %.pn38.pn, %_ZN7testing7MessageD2Ev.exit339 ], [ %125, %lpad256 ], [ %.pn42.pn, %_ZN7testing7MessageD2Ev.exit378 ], [ %139, %lpad282 ], [ %.pn46.pn, %_ZN7testing7MessageD2Ev.exit417 ], [ %153, %lpad308 ] +ehcleanup324: ; preds = %lpad308, %_ZN7testing7MessageD2Ev.exit445, %lpad282, %_ZN7testing7MessageD2Ev.exit402, %lpad256, %_ZN7testing7MessageD2Ev.exit359, %lpad230, %_ZN7testing7MessageD2Ev.exit317, %lpad204, %_ZN7testing7MessageD2Ev.exit276, %lpad177, %_ZN7testing7MessageD2Ev.exit233, %lpad150, %_ZN7testing7MessageD2Ev.exit190, %lpad123, %_ZN7testing7MessageD2Ev.exit168, %lpad96, %_ZN7testing7MessageD2Ev.exit146, %lpad69, %_ZN7testing7MessageD2Ev.exit116, %lpad43, %_ZN7testing7MessageD2Ev.exit86, %lpad20, %_ZN7testing7MessageD2Ev.exit72 + %gtest_ar_298.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit72 ], [ %gtest_ar_, %lpad20 ], [ %gtest_ar_33, %_ZN7testing7MessageD2Ev.exit86 ], [ %gtest_ar_33, %lpad43 ], [ %gtest_ar_59, %_ZN7testing7MessageD2Ev.exit116 ], [ %gtest_ar_59, %lpad69 ], [ %gtest_ar_85, %_ZN7testing7MessageD2Ev.exit146 ], [ %gtest_ar_85, %lpad96 ], [ %gtest_ar_112, %_ZN7testing7MessageD2Ev.exit168 ], [ %gtest_ar_112, %lpad123 ], [ %gtest_ar_139, %_ZN7testing7MessageD2Ev.exit190 ], [ %gtest_ar_139, %lpad150 ], [ %gtest_ar_166, %_ZN7testing7MessageD2Ev.exit233 ], [ %gtest_ar_166, %lpad177 ], [ %gtest_ar_193, %_ZN7testing7MessageD2Ev.exit276 ], [ %gtest_ar_193, %lpad204 ], [ %gtest_ar_220, %_ZN7testing7MessageD2Ev.exit317 ], [ %gtest_ar_220, %lpad230 ], [ %gtest_ar_246, %_ZN7testing7MessageD2Ev.exit359 ], [ %gtest_ar_246, %lpad256 ], [ %gtest_ar_272, %_ZN7testing7MessageD2Ev.exit402 ], [ %gtest_ar_272, %lpad282 ], [ %gtest_ar_298, %_ZN7testing7MessageD2Ev.exit445 ], [ %gtest_ar_298, %lpad308 ] + %.pn46.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit72 ], [ %5, %lpad20 ], [ %.pn6.pn, %_ZN7testing7MessageD2Ev.exit86 ], [ %17, %lpad43 ], [ %.pn10.pn, %_ZN7testing7MessageD2Ev.exit116 ], [ %29, %lpad69 ], [ %.pn14.pn, %_ZN7testing7MessageD2Ev.exit146 ], [ %41, %lpad96 ], [ %.pn18.pn, %_ZN7testing7MessageD2Ev.exit168 ], [ %55, %lpad123 ], [ %.pn22.pn, %_ZN7testing7MessageD2Ev.exit190 ], [ %69, %lpad150 ], [ %.pn26.pn, %_ZN7testing7MessageD2Ev.exit233 ], [ %83, %lpad177 ], [ %.pn30.pn, %_ZN7testing7MessageD2Ev.exit276 ], [ %97, %lpad204 ], [ %.pn34.pn, %_ZN7testing7MessageD2Ev.exit317 ], [ %111, %lpad230 ], [ %.pn38.pn, %_ZN7testing7MessageD2Ev.exit359 ], [ %125, %lpad256 ], [ %.pn42.pn, %_ZN7testing7MessageD2Ev.exit402 ], [ %139, %lpad282 ], [ %.pn46.pn, %_ZN7testing7MessageD2Ev.exit445 ], [ %153, %lpad308 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_298.sink) #22 %163 = load i64, ptr %size_alloc_.i.i59, align 8 - %cmp.i.i.i430 = icmp ult i64 %163, 6 - br i1 %cmp.i.i.i430, label %ehcleanup325, label %invoke.cont10.i.i431 + %cmp.i.i.i458 = icmp ult i64 %163, 6 + br i1 %cmp.i.i.i458, label %ehcleanup325, label %invoke.cont10.i.i459 -invoke.cont10.i.i431: ; preds = %ehcleanup324 +invoke.cont10.i.i459: ; preds = %ehcleanup324 %164 = load ptr, ptr %data_.i.i63, align 8 call void @_ZdlPv(ptr noundef %164) #23 br label %ehcleanup325 -ehcleanup325: ; preds = %lpad11.loopexit, %lpad11.loopexit.split-lp, %invoke.cont10.i.i431, %ehcleanup324 - %.pn46.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn46.pn.pn.pn, %ehcleanup324 ], [ %.pn46.pn.pn.pn, %invoke.cont10.i.i431 ], [ %lpad.loopexit, %lpad11.loopexit ], [ %lpad.loopexit.split-lp, %lpad11.loopexit.split-lp ] +ehcleanup325: ; preds = %lpad11.loopexit, %lpad11.loopexit.split-lp, %invoke.cont10.i.i459, %ehcleanup324 + %.pn46.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn46.pn.pn.pn, %ehcleanup324 ], [ %.pn46.pn.pn.pn, %invoke.cont10.i.i459 ], [ %lpad.loopexit, %lpad11.loopexit ], [ %lpad.loopexit.split-lp, %lpad11.loopexit.split-lp ] %165 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i435 = icmp ult i64 %165, 6 - br i1 %cmp.i.i.i435, label %eh.resume, label %invoke.cont10.i.i436 + %cmp.i.i.i463 = icmp ult i64 %165, 6 + br i1 %cmp.i.i.i463, label %eh.resume, label %invoke.cont10.i.i464 -invoke.cont10.i.i436: ; preds = %ehcleanup325 +invoke.cont10.i.i464: ; preds = %ehcleanup325 %166 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %166) #23 br label %eh.resume -for.end: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit428 +for.end: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit456 ret void -eh.resume: ; preds = %invoke.cont10.i.i436, %ehcleanup325 +eh.resume: ; preds = %invoke.cont10.i.i464, %ehcleanup325 resume { ptr, i32 } %.pn46.pn.pn.pn.pn } @@ -10443,22 +10480,22 @@ entry: %data_.i.i = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %a1, i64 0, i32 2 %size_alloc_.i.i61 = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %a2, i64 0, i32 1 %data_.i.i65 = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %a2, i64 0, i32 2 - %message_.i445 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - %message_.i78460 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_36, i64 0, i32 1 - %message_.i108476 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_62, i64 0, i32 1 - %message_.i138492 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_89, i64 0, i32 1 - %message_.i158508 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_115, i64 0, i32 1 - %message_.i178530 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_142, i64 0, i32 1 - %message_.i217545 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_168, i64 0, i32 1 - %message_.i256555 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_194, i64 0, i32 1 - %message_.i293579 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_221, i64 0, i32 1 - %message_.i331588 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_248, i64 0, i32 1 - %message_.i370603 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_274, i64 0, i32 1 - %message_.i409626 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_300, i64 0, i32 1 + %message_.i473 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + %message_.i78488 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_36, i64 0, i32 1 + %message_.i108504 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_62, i64 0, i32 1 + %message_.i138520 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_89, i64 0, i32 1 + %message_.i160536 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_115, i64 0, i32 1 + %message_.i182558 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_142, i64 0, i32 1 + %message_.i225573 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_168, i64 0, i32 1 + %message_.i268583 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_194, i64 0, i32 1 + %message_.i309607 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_221, i64 0, i32 1 + %message_.i351616 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_248, i64 0, i32 1 + %message_.i394631 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_274, i64 0, i32 1 + %message_.i437654 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_300, i64 0, i32 1 br label %for.body -for.body: ; preds = %entry, %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit431 - %indvars.iv = phi i64 [ 1, %entry ], [ %indvars.iv.next, %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit431 ] +for.body: ; preds = %entry, %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit459 + %indvars.iv = phi i64 [ 1, %entry ], [ %indvars.iv.next, %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit459 ] store i64 %indvars.iv, ptr %size_alloc_.i.i, align 8 %cmp.i.i.i.i = icmp ult i64 %indvars.iv, 6 br i1 %cmp.i.i.i.i, label %invoke.cont4, label %if.else.i.i.i @@ -10557,11 +10594,11 @@ invoke.cont18.thread: ; preds = %invoke.cont15 if.end.i.i.i: ; preds = %invoke.cont15 %tobool.not.i.i.i.i.i.i.i = icmp eq i64 %6, 0 - br i1 %tobool.not.i.i.i.i.i.i.i, label %invoke.cont18.thread448, label %invoke.cont18 + br i1 %tobool.not.i.i.i.i.i.i.i, label %invoke.cont18.thread476, label %invoke.cont18 -invoke.cont18.thread448: ; preds = %if.end.i.i.i +invoke.cont18.thread476: ; preds = %if.end.i.i.i store i8 0, ptr %gtest_ar_, align 8 - store ptr null, ptr %message_.i445, align 8 + store ptr null, ptr %message_.i473, align 8 br label %if.else invoke.cont18: ; preds = %if.end.i.i.i @@ -10569,7 +10606,7 @@ invoke.cont18: ; preds = %if.end.i.i.i %tobool1.not.i.i.i.i.i.i.i = icmp ne i32 %bcmp.i.i.i.i.i.i.i, 0 %frombool = zext i1 %tobool1.not.i.i.i.i.i.i.i to i8 store i8 %frombool, ptr %gtest_ar_, align 8 - store ptr null, ptr %message_.i445, align 8 + store ptr null, ptr %message_.i473, align 8 br i1 %tobool1.not.i.i.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit, label %if.else lpad11.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i @@ -10582,7 +10619,7 @@ lpad11.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i cleanup br label %ehcleanup328 -if.else: ; preds = %invoke.cont18.thread448, %invoke.cont18 +if.else: ; preds = %invoke.cont18.thread476, %invoke.cont18 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp22) to label %invoke.cont24 unwind label %lpad23 @@ -10658,7 +10695,7 @@ _ZN7testing7MessageD2Ev.exit75: ; preds = %ehcleanup34, %_ZNKS if.end: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i, %invoke.cont33 store ptr null, ptr %ref.tmp22, align 8 - %.pr = load ptr, ptr %message_.i445, align 8 + %.pr = load ptr, ptr %message_.i473, align 8 %cmp.not.i.i77 = icmp eq ptr %.pr, null br i1 %cmp.not.i.i77, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i @@ -10668,7 +10705,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP br label %_ZN7testing15AssertionResultD2Ev.exit _ZN7testing15AssertionResultD2Ev.exit: ; preds = %invoke.cont18, %invoke.cont18.thread, %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i - store ptr null, ptr %message_.i445, align 8 + store ptr null, ptr %message_.i473, align 8 %17 = load ptr, ptr %data_.i.i, align 8 %18 = load i64, ptr %size_alloc_.i.i, align 8 %19 = load ptr, ptr %data_.i.i65, align 8 @@ -10684,11 +10721,11 @@ invoke.cont38.thread: ; preds = %_ZN7testing15Assert if.end.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %tobool.not.i.i.i.i.i.i.i.i = icmp eq i64 %18, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i, label %invoke.cont38.thread463, label %invoke.cont38 + br i1 %tobool.not.i.i.i.i.i.i.i.i, label %invoke.cont38.thread491, label %invoke.cont38 -invoke.cont38.thread463: ; preds = %if.end.i.i.i.i +invoke.cont38.thread491: ; preds = %if.end.i.i.i.i store i8 0, ptr %gtest_ar_36, align 8 - store ptr null, ptr %message_.i78460, align 8 + store ptr null, ptr %message_.i78488, align 8 br label %if.else44 invoke.cont38: ; preds = %if.end.i.i.i.i @@ -10696,10 +10733,10 @@ invoke.cont38: ; preds = %if.end.i.i.i.i %tobool1.not.i.i.i.i.i.i.i.i = icmp ne i32 %bcmp.i.i.i.i.i.i.i.i, 0 %frombool40 = zext i1 %tobool1.not.i.i.i.i.i.i.i.i to i8 store i8 %frombool40, ptr %gtest_ar_36, align 8 - store ptr null, ptr %message_.i78460, align 8 + store ptr null, ptr %message_.i78488, align 8 br i1 %tobool1.not.i.i.i.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit93, label %if.else44 -if.else44: ; preds = %invoke.cont38.thread463, %invoke.cont38 +if.else44: ; preds = %invoke.cont38.thread491, %invoke.cont38 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp45) to label %invoke.cont47 unwind label %lpad46 @@ -10775,17 +10812,17 @@ _ZN7testing7MessageD2Ev.exit89: ; preds = %ehcleanup59, %_ZNKS if.end60: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i81, %invoke.cont56 store ptr null, ptr %ref.tmp45, align 8 - %.pr469 = load ptr, ptr %message_.i78460, align 8 - %cmp.not.i.i91 = icmp eq ptr %.pr469, null + %.pr497 = load ptr, ptr %message_.i78488, align 8 + %cmp.not.i.i91 = icmp eq ptr %.pr497, null br i1 %cmp.not.i.i91, label %_ZN7testing15AssertionResultD2Ev.exit93, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92: ; preds = %if.end60 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr469) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr469) #23 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr497) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr497) #23 br label %_ZN7testing15AssertionResultD2Ev.exit93 _ZN7testing15AssertionResultD2Ev.exit93: ; preds = %invoke.cont38, %invoke.cont38.thread, %if.end60, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 - store ptr null, ptr %message_.i78460, align 8 + store ptr null, ptr %message_.i78488, align 8 %29 = load ptr, ptr %data_.i.i65, align 8 %30 = load i64, ptr %size_alloc_.i.i61, align 8 %31 = load ptr, ptr %data_.i.i, align 8 @@ -10801,11 +10838,11 @@ invoke.cont64.thread: ; preds = %_ZN7testing15Assert if.end.i.i.i102: ; preds = %_ZN7testing15AssertionResultD2Ev.exit93 %tobool.not.i.i.i.i.i.i.i103 = icmp eq i64 %30, 0 - br i1 %tobool.not.i.i.i.i.i.i.i103, label %invoke.cont64.thread479, label %invoke.cont64 + br i1 %tobool.not.i.i.i.i.i.i.i103, label %invoke.cont64.thread507, label %invoke.cont64 -invoke.cont64.thread479: ; preds = %if.end.i.i.i102 +invoke.cont64.thread507: ; preds = %if.end.i.i.i102 store i8 0, ptr %gtest_ar_62, align 8 - store ptr null, ptr %message_.i108476, align 8 + store ptr null, ptr %message_.i108504, align 8 br label %if.else71 invoke.cont64: ; preds = %if.end.i.i.i102 @@ -10813,10 +10850,10 @@ invoke.cont64: ; preds = %if.end.i.i.i102 %tobool1.not.i.i.i.i.i.i.i106 = icmp ne i32 %bcmp.i.i.i.i.i.i.i105, 0 %frombool67 = zext i1 %tobool1.not.i.i.i.i.i.i.i106 to i8 store i8 %frombool67, ptr %gtest_ar_62, align 8 - store ptr null, ptr %message_.i108476, align 8 + store ptr null, ptr %message_.i108504, align 8 br i1 %tobool1.not.i.i.i.i.i.i.i106, label %_ZN7testing15AssertionResultD2Ev.exit123, label %if.else71 -if.else71: ; preds = %invoke.cont64.thread479, %invoke.cont64 +if.else71: ; preds = %invoke.cont64.thread507, %invoke.cont64 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72) to label %invoke.cont74 unwind label %lpad73 @@ -10892,17 +10929,17 @@ _ZN7testing7MessageD2Ev.exit119: ; preds = %ehcleanup86, %_ZNKS if.end87: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111, %invoke.cont83 store ptr null, ptr %ref.tmp72, align 8 - %.pr486 = load ptr, ptr %message_.i108476, align 8 - %cmp.not.i.i121 = icmp eq ptr %.pr486, null + %.pr514 = load ptr, ptr %message_.i108504, align 8 + %cmp.not.i.i121 = icmp eq ptr %.pr514, null br i1 %cmp.not.i.i121, label %_ZN7testing15AssertionResultD2Ev.exit123, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122: ; preds = %if.end87 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr486) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr486) #23 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr514) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr514) #23 br label %_ZN7testing15AssertionResultD2Ev.exit123 _ZN7testing15AssertionResultD2Ev.exit123: ; preds = %invoke.cont64, %invoke.cont64.thread, %if.end87, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i122 - store ptr null, ptr %message_.i108476, align 8 + store ptr null, ptr %message_.i108504, align 8 %41 = load ptr, ptr %data_.i.i65, align 8 %42 = load i64, ptr %size_alloc_.i.i61, align 8 %43 = load ptr, ptr %data_.i.i, align 8 @@ -10918,11 +10955,11 @@ invoke.cont91.thread: ; preds = %_ZN7testing15Assert if.end.i.i.i.i132: ; preds = %_ZN7testing15AssertionResultD2Ev.exit123 %tobool.not.i.i.i.i.i.i.i.i133 = icmp eq i64 %42, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i133, label %invoke.cont91.thread495, label %invoke.cont91 + br i1 %tobool.not.i.i.i.i.i.i.i.i133, label %invoke.cont91.thread523, label %invoke.cont91 -invoke.cont91.thread495: ; preds = %if.end.i.i.i.i132 +invoke.cont91.thread523: ; preds = %if.end.i.i.i.i132 store i8 0, ptr %gtest_ar_89, align 8 - store ptr null, ptr %message_.i138492, align 8 + store ptr null, ptr %message_.i138520, align 8 br label %if.else97 invoke.cont91: ; preds = %if.end.i.i.i.i132 @@ -10930,10 +10967,10 @@ invoke.cont91: ; preds = %if.end.i.i.i.i132 %tobool1.not.i.i.i.i.i.i.i.i136 = icmp ne i32 %bcmp.i.i.i.i.i.i.i.i135, 0 %frombool93 = zext i1 %tobool1.not.i.i.i.i.i.i.i.i136 to i8 store i8 %frombool93, ptr %gtest_ar_89, align 8 - store ptr null, ptr %message_.i138492, align 8 + store ptr null, ptr %message_.i138520, align 8 br i1 %tobool1.not.i.i.i.i.i.i.i.i136, label %_ZN7testing15AssertionResultD2Ev.exit153, label %if.else97 -if.else97: ; preds = %invoke.cont91.thread495, %invoke.cont91 +if.else97: ; preds = %invoke.cont91.thread523, %invoke.cont91 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp98) to label %invoke.cont100 unwind label %lpad99 @@ -11009,25 +11046,29 @@ _ZN7testing7MessageD2Ev.exit149: ; preds = %ehcleanup112, %_ZNK if.end113: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i141, %invoke.cont109 store ptr null, ptr %ref.tmp98, align 8 - %.pr501 = load ptr, ptr %message_.i138492, align 8 - %cmp.not.i.i151 = icmp eq ptr %.pr501, null + %.pr529 = load ptr, ptr %message_.i138520, align 8 + %cmp.not.i.i151 = icmp eq ptr %.pr529, null br i1 %cmp.not.i.i151, label %_ZN7testing15AssertionResultD2Ev.exit153, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152: ; preds = %if.end113 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr501) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr501) #23 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr529) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr529) #23 br label %_ZN7testing15AssertionResultD2Ev.exit153 _ZN7testing15AssertionResultD2Ev.exit153: ; preds = %invoke.cont91, %invoke.cont91.thread, %if.end113, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 - store ptr null, ptr %message_.i138492, align 8 + store ptr null, ptr %message_.i138520, align 8 %53 = load ptr, ptr %data_.i.i, align 8 %54 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i.i = getelementptr inbounds i32, ptr %53, i64 %54 %55 = load ptr, ptr %data_.i.i65, align 8 %56 = load i64, ptr %size_alloc_.i.i61, align 8 %add.ptr.i7.i = getelementptr inbounds i32, ptr %55, i64 %56 - %cond.i.i.i.i.i.i.v.i = call i64 @llvm.smin.i64(i64 %56, i64 %54) - %cond.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %53, i64 %cond.i.i.i.i.i.i.v.i - %cmp.not18.i.i.i.i.i.i = icmp eq i64 %cond.i.i.i.i.i.i.v.i, 0 + %add.ptr.i.idx.i158 = shl nsw i64 %54, 2 + %add.ptr.i7.idx.i159 = shl nsw i64 %56, 2 + %cmp.i.i.i.i.i.i.i = icmp slt i64 %add.ptr.i7.idx.i159, %add.ptr.i.idx.i158 + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %53, i64 %add.ptr.i7.idx.i159 + %cond.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i.i.i.i.i, ptr %add.ptr.i.i + %cmp.not18.i.i.i.i.i.i = icmp eq ptr %cond.i.i.i.i.i.i.i, %53 br i1 %cmp.not18.i.i.i.i.i.i, label %invoke.cont117, label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit153, %for.inc.i.i.i.i.i.i @@ -11036,11 +11077,11 @@ for.body.i.i.i.i.i.i: ; preds = %_ZN7testing15Assert %57 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i, align 4 %58 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i, align 4 %cmp.i15.i.i.i.i.i.i = icmp slt i32 %57, %58 - br i1 %cmp.i15.i.i.i.i.i.i, label %invoke.cont117.thread511, label %if.end.i.i.i.i.i.i + br i1 %cmp.i15.i.i.i.i.i.i, label %invoke.cont117.thread539, label %if.end.i.i.i.i.i.i -invoke.cont117.thread511: ; preds = %for.body.i.i.i.i.i.i +invoke.cont117.thread539: ; preds = %for.body.i.i.i.i.i.i store i8 0, ptr %gtest_ar_115, align 8 - store ptr null, ptr %message_.i158508, align 8 + store ptr null, ptr %message_.i160536, align 8 br label %if.else124 if.end.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i @@ -11049,7 +11090,7 @@ if.end.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. invoke.cont117.thread: ; preds = %if.end.i.i.i.i.i.i store i8 1, ptr %gtest_ar_115, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit173 + br label %_ZN7testing15AssertionResultD2Ev.exit175 for.inc.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i, i64 1 @@ -11062,10 +11103,10 @@ invoke.cont117: ; preds = %for.inc.i.i.i.i.i.i %cmp9.i.i.i.i.i.i.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i, %add.ptr.i7.i %frombool120 = zext i1 %cmp9.i.i.i.i.i.i.not to i8 store i8 %frombool120, ptr %gtest_ar_115, align 8 - store ptr null, ptr %message_.i158508, align 8 - br i1 %cmp9.i.i.i.i.i.i.not, label %_ZN7testing15AssertionResultD2Ev.exit173, label %if.else124 + store ptr null, ptr %message_.i160536, align 8 + br i1 %cmp9.i.i.i.i.i.i.not, label %_ZN7testing15AssertionResultD2Ev.exit175, label %if.else124 -if.else124: ; preds = %invoke.cont117.thread511, %invoke.cont117 +if.else124: ; preds = %invoke.cont117.thread539, %invoke.cont117 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp125) to label %invoke.cont127 unwind label %lpad126 @@ -11086,13 +11127,13 @@ invoke.cont136: ; preds = %invoke.cont134 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129) #22 %59 = load ptr, ptr %ref.tmp125, align 8 - %cmp.not.i.i160 = icmp eq ptr %59, null - br i1 %cmp.not.i.i160, label %if.end140, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 + %cmp.not.i.i162 = icmp eq ptr %59, null + br i1 %cmp.not.i.i162, label %if.end140, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161: ; preds = %invoke.cont136 - %vtable.i.i.i162 = load ptr, ptr %59, align 8 - %vfn.i.i.i163 = getelementptr inbounds ptr, ptr %vtable.i.i.i162, i64 1 - %60 = load ptr, ptr %vfn.i.i.i163, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %invoke.cont136 + %vtable.i.i.i164 = load ptr, ptr %59, align 8 + %vfn.i.i.i165 = getelementptr inbounds ptr, ptr %vtable.i.i.i164, i64 1 + %60 = load ptr, ptr %vfn.i.i.i165, align 8 call void %60(ptr noundef nonnull align 8 dereferenceable(128) %59) #22 br label %if.end140 @@ -11125,46 +11166,50 @@ ehcleanup138: ; preds = %lpad135, %lpad133 ehcleanup139: ; preds = %ehcleanup138, %lpad130 %.pn20.pn = phi { ptr, i32 } [ %.pn20, %ehcleanup138 ], [ %62, %lpad130 ] %65 = load ptr, ptr %ref.tmp125, align 8 - %cmp.not.i.i165 = icmp eq ptr %65, null - br i1 %cmp.not.i.i165, label %_ZN7testing7MessageD2Ev.exit169, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 + %cmp.not.i.i167 = icmp eq ptr %65, null + br i1 %cmp.not.i.i167, label %_ZN7testing7MessageD2Ev.exit171, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166: ; preds = %ehcleanup139 - %vtable.i.i.i167 = load ptr, ptr %65, align 8 - %vfn.i.i.i168 = getelementptr inbounds ptr, ptr %vtable.i.i.i167, i64 1 - %66 = load ptr, ptr %vfn.i.i.i168, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168: ; preds = %ehcleanup139 + %vtable.i.i.i169 = load ptr, ptr %65, align 8 + %vfn.i.i.i170 = getelementptr inbounds ptr, ptr %vtable.i.i.i169, i64 1 + %66 = load ptr, ptr %vfn.i.i.i170, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #22 - br label %_ZN7testing7MessageD2Ev.exit169 + br label %_ZN7testing7MessageD2Ev.exit171 -_ZN7testing7MessageD2Ev.exit169: ; preds = %ehcleanup139, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 +_ZN7testing7MessageD2Ev.exit171: ; preds = %ehcleanup139, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168 store ptr null, ptr %ref.tmp125, align 8 br label %ehcleanup327 -if.end140: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161, %invoke.cont136 +if.end140: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163, %invoke.cont136 store ptr null, ptr %ref.tmp125, align 8 - %.pr518 = load ptr, ptr %message_.i158508, align 8 - %cmp.not.i.i171 = icmp eq ptr %.pr518, null - br i1 %cmp.not.i.i171, label %_ZN7testing15AssertionResultD2Ev.exit173, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172 + %.pr546 = load ptr, ptr %message_.i160536, align 8 + %cmp.not.i.i173 = icmp eq ptr %.pr546, null + br i1 %cmp.not.i.i173, label %_ZN7testing15AssertionResultD2Ev.exit175, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172: ; preds = %if.end140 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr518) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr518) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit173 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174: ; preds = %if.end140 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr546) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr546) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit175 -_ZN7testing15AssertionResultD2Ev.exit173: ; preds = %invoke.cont117, %invoke.cont117.thread, %if.end140, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i172 - store ptr null, ptr %message_.i158508, align 8 +_ZN7testing15AssertionResultD2Ev.exit175: ; preds = %invoke.cont117, %invoke.cont117.thread, %if.end140, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 + store ptr null, ptr %message_.i160536, align 8 %67 = load ptr, ptr %data_.i.i65, align 8 %68 = load i64, ptr %size_alloc_.i.i61, align 8 + %add.ptr.i.i.i = getelementptr inbounds i32, ptr %67, i64 %68 %69 = load ptr, ptr %data_.i.i, align 8 %70 = load i64, ptr %size_alloc_.i.i, align 8 %add.ptr.i7.i.i = getelementptr inbounds i32, ptr %69, i64 %70 - %cond.i.i.i.i.i.i.v.i.i = call i64 @llvm.smin.i64(i64 %70, i64 %68) - %cond.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %67, i64 %cond.i.i.i.i.i.i.v.i.i - %cmp.not18.i.i.i.i.i.i.i = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i, 0 + %add.ptr.i.idx.i.i180 = shl nsw i64 %68, 2 + %add.ptr.i7.idx.i.i181 = shl nsw i64 %70, 2 + %cmp.i.i.i.i.i.i.i.i = icmp slt i64 %add.ptr.i7.idx.i.i181, %add.ptr.i.idx.i.i180 + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %67, i64 %add.ptr.i7.idx.i.i181 + %cond.i.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i + %cmp.not18.i.i.i.i.i.i.i = icmp eq ptr %cond.i.i.i.i.i.i.i.i, %67 br i1 %cmp.not18.i.i.i.i.i.i.i, label %invoke.cont144, label %for.body.i.i.i.i.i.i.i -for.body.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit173, %for.inc.i.i.i.i.i.i.i - %__first2.addr.020.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ], [ %69, %_ZN7testing15AssertionResultD2Ev.exit173 ] - %__first1.addr.019.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ], [ %67, %_ZN7testing15AssertionResultD2Ev.exit173 ] +for.body.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit175, %for.inc.i.i.i.i.i.i.i + %__first2.addr.020.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ], [ %69, %_ZN7testing15AssertionResultD2Ev.exit175 ] + %__first1.addr.019.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ], [ %67, %_ZN7testing15AssertionResultD2Ev.exit175 ] %71 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i, align 4 %72 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i, align 4 %cmp.i15.i.i.i.i.i.i.i = icmp slt i32 %71, %72 @@ -11172,15 +11217,15 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZN7testing15Assert invoke.cont144.thread: ; preds = %for.body.i.i.i.i.i.i.i store i8 1, ptr %gtest_ar_142, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit193 + br label %_ZN7testing15AssertionResultD2Ev.exit197 if.end.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i %cmp.i16.i.i.i.i.i.i.i = icmp slt i32 %72, %71 - br i1 %cmp.i16.i.i.i.i.i.i.i, label %invoke.cont144.thread527, label %for.inc.i.i.i.i.i.i.i + br i1 %cmp.i16.i.i.i.i.i.i.i, label %invoke.cont144.thread555, label %for.inc.i.i.i.i.i.i.i -invoke.cont144.thread527: ; preds = %if.end.i.i.i.i.i.i.i +invoke.cont144.thread555: ; preds = %if.end.i.i.i.i.i.i.i store i8 0, ptr %gtest_ar_142, align 8 - store ptr null, ptr %message_.i178530, align 8 + store ptr null, ptr %message_.i182558, align 8 br label %if.else150 for.inc.i.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i.i @@ -11189,15 +11234,15 @@ for.inc.i.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i. %cmp.not.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i, %cond.i.i.i.i.i.i.i.i br i1 %cmp.not.i.i.i.i.i.i.i, label %invoke.cont144, label %for.body.i.i.i.i.i.i.i, !llvm.loop !170 -invoke.cont144: ; preds = %for.inc.i.i.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit173 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %69, %_ZN7testing15AssertionResultD2Ev.exit173 ], [ %incdec.ptr6.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ] +invoke.cont144: ; preds = %for.inc.i.i.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit175 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %69, %_ZN7testing15AssertionResultD2Ev.exit175 ], [ %incdec.ptr6.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i ] %cmp9.i.i.i.i.i.i.i = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i, %add.ptr.i7.i.i %frombool146 = zext i1 %cmp9.i.i.i.i.i.i.i to i8 store i8 %frombool146, ptr %gtest_ar_142, align 8 - store ptr null, ptr %message_.i178530, align 8 - br i1 %cmp9.i.i.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit193, label %if.else150 + store ptr null, ptr %message_.i182558, align 8 + br i1 %cmp9.i.i.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit197, label %if.else150 -if.else150: ; preds = %invoke.cont144.thread527, %invoke.cont144 +if.else150: ; preds = %invoke.cont144.thread555, %invoke.cont144 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp151) to label %invoke.cont153 unwind label %lpad152 @@ -11218,13 +11263,13 @@ invoke.cont162: ; preds = %invoke.cont160 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp154) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp155) #22 %73 = load ptr, ptr %ref.tmp151, align 8 - %cmp.not.i.i180 = icmp eq ptr %73, null - br i1 %cmp.not.i.i180, label %if.end166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 + %cmp.not.i.i184 = icmp eq ptr %73, null + br i1 %cmp.not.i.i184, label %if.end166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181: ; preds = %invoke.cont162 - %vtable.i.i.i182 = load ptr, ptr %73, align 8 - %vfn.i.i.i183 = getelementptr inbounds ptr, ptr %vtable.i.i.i182, i64 1 - %74 = load ptr, ptr %vfn.i.i.i183, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185: ; preds = %invoke.cont162 + %vtable.i.i.i186 = load ptr, ptr %73, align 8 + %vfn.i.i.i187 = getelementptr inbounds ptr, ptr %vtable.i.i.i186, i64 1 + %74 = load ptr, ptr %vfn.i.i.i187, align 8 call void %74(ptr noundef nonnull align 8 dereferenceable(128) %73) #22 br label %if.end166 @@ -11257,79 +11302,83 @@ ehcleanup164: ; preds = %lpad161, %lpad159 ehcleanup165: ; preds = %ehcleanup164, %lpad156 %.pn24.pn = phi { ptr, i32 } [ %.pn24, %ehcleanup164 ], [ %76, %lpad156 ] %79 = load ptr, ptr %ref.tmp151, align 8 - %cmp.not.i.i185 = icmp eq ptr %79, null - br i1 %cmp.not.i.i185, label %_ZN7testing7MessageD2Ev.exit189, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186 + %cmp.not.i.i189 = icmp eq ptr %79, null + br i1 %cmp.not.i.i189, label %_ZN7testing7MessageD2Ev.exit193, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186: ; preds = %ehcleanup165 - %vtable.i.i.i187 = load ptr, ptr %79, align 8 - %vfn.i.i.i188 = getelementptr inbounds ptr, ptr %vtable.i.i.i187, i64 1 - %80 = load ptr, ptr %vfn.i.i.i188, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190: ; preds = %ehcleanup165 + %vtable.i.i.i191 = load ptr, ptr %79, align 8 + %vfn.i.i.i192 = getelementptr inbounds ptr, ptr %vtable.i.i.i191, i64 1 + %80 = load ptr, ptr %vfn.i.i.i192, align 8 call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #22 - br label %_ZN7testing7MessageD2Ev.exit189 + br label %_ZN7testing7MessageD2Ev.exit193 -_ZN7testing7MessageD2Ev.exit189: ; preds = %ehcleanup165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186 +_ZN7testing7MessageD2Ev.exit193: ; preds = %ehcleanup165, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190 store ptr null, ptr %ref.tmp151, align 8 br label %ehcleanup327 -if.end166: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181, %invoke.cont162 +if.end166: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185, %invoke.cont162 store ptr null, ptr %ref.tmp151, align 8 - %.pr533 = load ptr, ptr %message_.i178530, align 8 - %cmp.not.i.i191 = icmp eq ptr %.pr533, null - br i1 %cmp.not.i.i191, label %_ZN7testing15AssertionResultD2Ev.exit193, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 + %.pr561 = load ptr, ptr %message_.i182558, align 8 + %cmp.not.i.i195 = icmp eq ptr %.pr561, null + br i1 %cmp.not.i.i195, label %_ZN7testing15AssertionResultD2Ev.exit197, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192: ; preds = %if.end166 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr533) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr533) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit193 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196: ; preds = %if.end166 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr561) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr561) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit197 -_ZN7testing15AssertionResultD2Ev.exit193: ; preds = %invoke.cont144, %invoke.cont144.thread, %if.end166, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 - store ptr null, ptr %message_.i178530, align 8 +_ZN7testing15AssertionResultD2Ev.exit197: ; preds = %invoke.cont144, %invoke.cont144.thread, %if.end166, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196 + store ptr null, ptr %message_.i182558, align 8 %81 = load ptr, ptr %data_.i.i65, align 8 %82 = load i64, ptr %size_alloc_.i.i61, align 8 + %add.ptr.i.i200 = getelementptr inbounds i32, ptr %81, i64 %82 %83 = load ptr, ptr %data_.i.i, align 8 %84 = load i64, ptr %size_alloc_.i.i, align 8 - %add.ptr.i7.i198 = getelementptr inbounds i32, ptr %83, i64 %84 - %cond.i.i.i.i.i.i.v.i199 = call i64 @llvm.smin.i64(i64 %84, i64 %82) - %cond.i.i.i.i.i.i.i200 = getelementptr inbounds i32, ptr %81, i64 %cond.i.i.i.i.i.i.v.i199 - %cmp.not18.i.i.i.i.i.i201 = icmp eq i64 %cond.i.i.i.i.i.i.v.i199, 0 - br i1 %cmp.not18.i.i.i.i.i.i201, label %invoke.cont170, label %for.body.i.i.i.i.i.i202 - -for.body.i.i.i.i.i.i202: ; preds = %_ZN7testing15AssertionResultD2Ev.exit193, %for.inc.i.i.i.i.i.i208 - %__first2.addr.020.i.i.i.i.i.i203 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i210, %for.inc.i.i.i.i.i.i208 ], [ %83, %_ZN7testing15AssertionResultD2Ev.exit193 ] - %__first1.addr.019.i.i.i.i.i.i204 = phi ptr [ %incdec.ptr.i.i.i.i.i.i209, %for.inc.i.i.i.i.i.i208 ], [ %81, %_ZN7testing15AssertionResultD2Ev.exit193 ] - %85 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i204, align 4 - %86 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i203, align 4 - %cmp.i15.i.i.i.i.i.i205 = icmp slt i32 %85, %86 - br i1 %cmp.i15.i.i.i.i.i.i205, label %invoke.cont170.thread, label %if.end.i.i.i.i.i.i206 - -invoke.cont170.thread: ; preds = %for.body.i.i.i.i.i.i202 + %add.ptr.i7.i203 = getelementptr inbounds i32, ptr %83, i64 %84 + %add.ptr.i.idx.i204 = shl nsw i64 %82, 2 + %add.ptr.i7.idx.i205 = shl nsw i64 %84, 2 + %cmp.i.i.i.i.i.i.i206 = icmp slt i64 %add.ptr.i7.idx.i205, %add.ptr.i.idx.i204 + %add.ptr.i.i.i.i.i.i.i207 = getelementptr inbounds i8, ptr %81, i64 %add.ptr.i7.idx.i205 + %cond.i.i.i.i.i.i.i208 = select i1 %cmp.i.i.i.i.i.i.i206, ptr %add.ptr.i.i.i.i.i.i.i207, ptr %add.ptr.i.i200 + %cmp.not18.i.i.i.i.i.i209 = icmp eq ptr %cond.i.i.i.i.i.i.i208, %81 + br i1 %cmp.not18.i.i.i.i.i.i209, label %invoke.cont170, label %for.body.i.i.i.i.i.i210 + +for.body.i.i.i.i.i.i210: ; preds = %_ZN7testing15AssertionResultD2Ev.exit197, %for.inc.i.i.i.i.i.i216 + %__first2.addr.020.i.i.i.i.i.i211 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i218, %for.inc.i.i.i.i.i.i216 ], [ %83, %_ZN7testing15AssertionResultD2Ev.exit197 ] + %__first1.addr.019.i.i.i.i.i.i212 = phi ptr [ %incdec.ptr.i.i.i.i.i.i217, %for.inc.i.i.i.i.i.i216 ], [ %81, %_ZN7testing15AssertionResultD2Ev.exit197 ] + %85 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i212, align 4 + %86 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i211, align 4 + %cmp.i15.i.i.i.i.i.i213 = icmp slt i32 %85, %86 + br i1 %cmp.i15.i.i.i.i.i.i213, label %invoke.cont170.thread, label %if.end.i.i.i.i.i.i214 + +invoke.cont170.thread: ; preds = %for.body.i.i.i.i.i.i210 store i8 1, ptr %gtest_ar_168, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit232 + br label %_ZN7testing15AssertionResultD2Ev.exit240 -if.end.i.i.i.i.i.i206: ; preds = %for.body.i.i.i.i.i.i202 - %cmp.i16.i.i.i.i.i.i207 = icmp slt i32 %86, %85 - br i1 %cmp.i16.i.i.i.i.i.i207, label %invoke.cont170.thread542, label %for.inc.i.i.i.i.i.i208 +if.end.i.i.i.i.i.i214: ; preds = %for.body.i.i.i.i.i.i210 + %cmp.i16.i.i.i.i.i.i215 = icmp slt i32 %86, %85 + br i1 %cmp.i16.i.i.i.i.i.i215, label %invoke.cont170.thread570, label %for.inc.i.i.i.i.i.i216 -invoke.cont170.thread542: ; preds = %if.end.i.i.i.i.i.i206 +invoke.cont170.thread570: ; preds = %if.end.i.i.i.i.i.i214 store i8 0, ptr %gtest_ar_168, align 8 - store ptr null, ptr %message_.i217545, align 8 + store ptr null, ptr %message_.i225573, align 8 br label %if.else176 -for.inc.i.i.i.i.i.i208: ; preds = %if.end.i.i.i.i.i.i206 - %incdec.ptr.i.i.i.i.i.i209 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i204, i64 1 - %incdec.ptr6.i.i.i.i.i.i210 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i203, i64 1 - %cmp.not.i.i.i.i.i.i211 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i209, %cond.i.i.i.i.i.i.i200 - br i1 %cmp.not.i.i.i.i.i.i211, label %invoke.cont170, label %for.body.i.i.i.i.i.i202, !llvm.loop !170 +for.inc.i.i.i.i.i.i216: ; preds = %if.end.i.i.i.i.i.i214 + %incdec.ptr.i.i.i.i.i.i217 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i212, i64 1 + %incdec.ptr6.i.i.i.i.i.i218 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i211, i64 1 + %cmp.not.i.i.i.i.i.i219 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i217, %cond.i.i.i.i.i.i.i208 + br i1 %cmp.not.i.i.i.i.i.i219, label %invoke.cont170, label %for.body.i.i.i.i.i.i210, !llvm.loop !170 -invoke.cont170: ; preds = %for.inc.i.i.i.i.i.i208, %_ZN7testing15AssertionResultD2Ev.exit193 - %__first2.addr.0.lcssa.i.i.i.i.i.i213 = phi ptr [ %83, %_ZN7testing15AssertionResultD2Ev.exit193 ], [ %incdec.ptr6.i.i.i.i.i.i210, %for.inc.i.i.i.i.i.i208 ] - %cmp9.i.i.i.i.i.i214 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i213, %add.ptr.i7.i198 - %frombool172 = zext i1 %cmp9.i.i.i.i.i.i214 to i8 +invoke.cont170: ; preds = %for.inc.i.i.i.i.i.i216, %_ZN7testing15AssertionResultD2Ev.exit197 + %__first2.addr.0.lcssa.i.i.i.i.i.i221 = phi ptr [ %83, %_ZN7testing15AssertionResultD2Ev.exit197 ], [ %incdec.ptr6.i.i.i.i.i.i218, %for.inc.i.i.i.i.i.i216 ] + %cmp9.i.i.i.i.i.i222 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i221, %add.ptr.i7.i203 + %frombool172 = zext i1 %cmp9.i.i.i.i.i.i222 to i8 store i8 %frombool172, ptr %gtest_ar_168, align 8 - store ptr null, ptr %message_.i217545, align 8 - br i1 %cmp9.i.i.i.i.i.i214, label %_ZN7testing15AssertionResultD2Ev.exit232, label %if.else176 + store ptr null, ptr %message_.i225573, align 8 + br i1 %cmp9.i.i.i.i.i.i222, label %_ZN7testing15AssertionResultD2Ev.exit240, label %if.else176 -if.else176: ; preds = %invoke.cont170.thread542, %invoke.cont170 +if.else176: ; preds = %invoke.cont170.thread570, %invoke.cont170 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp177) to label %invoke.cont179 unwind label %lpad178 @@ -11350,13 +11399,13 @@ invoke.cont188: ; preds = %invoke.cont186 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp180) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp181) #22 %87 = load ptr, ptr %ref.tmp177, align 8 - %cmp.not.i.i219 = icmp eq ptr %87, null - br i1 %cmp.not.i.i219, label %if.end192, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220 + %cmp.not.i.i227 = icmp eq ptr %87, null + br i1 %cmp.not.i.i227, label %if.end192, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220: ; preds = %invoke.cont188 - %vtable.i.i.i221 = load ptr, ptr %87, align 8 - %vfn.i.i.i222 = getelementptr inbounds ptr, ptr %vtable.i.i.i221, i64 1 - %88 = load ptr, ptr %vfn.i.i.i222, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228: ; preds = %invoke.cont188 + %vtable.i.i.i229 = load ptr, ptr %87, align 8 + %vfn.i.i.i230 = getelementptr inbounds ptr, ptr %vtable.i.i.i229, i64 1 + %88 = load ptr, ptr %vfn.i.i.i230, align 8 call void %88(ptr noundef nonnull align 8 dereferenceable(128) %87) #22 br label %if.end192 @@ -11389,79 +11438,83 @@ ehcleanup190: ; preds = %lpad187, %lpad185 ehcleanup191: ; preds = %ehcleanup190, %lpad182 %.pn28.pn = phi { ptr, i32 } [ %.pn28, %ehcleanup190 ], [ %90, %lpad182 ] %93 = load ptr, ptr %ref.tmp177, align 8 - %cmp.not.i.i224 = icmp eq ptr %93, null - br i1 %cmp.not.i.i224, label %_ZN7testing7MessageD2Ev.exit228, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225 + %cmp.not.i.i232 = icmp eq ptr %93, null + br i1 %cmp.not.i.i232, label %_ZN7testing7MessageD2Ev.exit236, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225: ; preds = %ehcleanup191 - %vtable.i.i.i226 = load ptr, ptr %93, align 8 - %vfn.i.i.i227 = getelementptr inbounds ptr, ptr %vtable.i.i.i226, i64 1 - %94 = load ptr, ptr %vfn.i.i.i227, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233: ; preds = %ehcleanup191 + %vtable.i.i.i234 = load ptr, ptr %93, align 8 + %vfn.i.i.i235 = getelementptr inbounds ptr, ptr %vtable.i.i.i234, i64 1 + %94 = load ptr, ptr %vfn.i.i.i235, align 8 call void %94(ptr noundef nonnull align 8 dereferenceable(128) %93) #22 - br label %_ZN7testing7MessageD2Ev.exit228 + br label %_ZN7testing7MessageD2Ev.exit236 -_ZN7testing7MessageD2Ev.exit228: ; preds = %ehcleanup191, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225 +_ZN7testing7MessageD2Ev.exit236: ; preds = %ehcleanup191, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i233 store ptr null, ptr %ref.tmp177, align 8 br label %ehcleanup327 -if.end192: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220, %invoke.cont188 +if.end192: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i228, %invoke.cont188 store ptr null, ptr %ref.tmp177, align 8 - %.pr548 = load ptr, ptr %message_.i217545, align 8 - %cmp.not.i.i230 = icmp eq ptr %.pr548, null - br i1 %cmp.not.i.i230, label %_ZN7testing15AssertionResultD2Ev.exit232, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231 + %.pr576 = load ptr, ptr %message_.i225573, align 8 + %cmp.not.i.i238 = icmp eq ptr %.pr576, null + br i1 %cmp.not.i.i238, label %_ZN7testing15AssertionResultD2Ev.exit240, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231: ; preds = %if.end192 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr548) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr548) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit232 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239: ; preds = %if.end192 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr576) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr576) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit240 -_ZN7testing15AssertionResultD2Ev.exit232: ; preds = %invoke.cont170, %invoke.cont170.thread, %if.end192, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231 - store ptr null, ptr %message_.i217545, align 8 +_ZN7testing15AssertionResultD2Ev.exit240: ; preds = %invoke.cont170, %invoke.cont170.thread, %if.end192, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239 + store ptr null, ptr %message_.i225573, align 8 %95 = load ptr, ptr %data_.i.i, align 8 %96 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i.i.i243 = getelementptr inbounds i32, ptr %95, i64 %96 %97 = load ptr, ptr %data_.i.i65, align 8 %98 = load i64, ptr %size_alloc_.i.i61, align 8 - %add.ptr.i7.i.i237 = getelementptr inbounds i32, ptr %97, i64 %98 - %cond.i.i.i.i.i.i.v.i.i238 = call i64 @llvm.smin.i64(i64 %98, i64 %96) - %cond.i.i.i.i.i.i.i.i239 = getelementptr inbounds i32, ptr %95, i64 %cond.i.i.i.i.i.i.v.i.i238 - %cmp.not18.i.i.i.i.i.i.i240 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i238, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i240, label %invoke.cont196, label %for.body.i.i.i.i.i.i.i241 - -for.body.i.i.i.i.i.i.i241: ; preds = %_ZN7testing15AssertionResultD2Ev.exit232, %for.inc.i.i.i.i.i.i.i247 - %__first2.addr.020.i.i.i.i.i.i.i242 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i249, %for.inc.i.i.i.i.i.i.i247 ], [ %97, %_ZN7testing15AssertionResultD2Ev.exit232 ] - %__first1.addr.019.i.i.i.i.i.i.i243 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i248, %for.inc.i.i.i.i.i.i.i247 ], [ %95, %_ZN7testing15AssertionResultD2Ev.exit232 ] - %99 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i243, align 4 - %100 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i242, align 4 - %cmp.i15.i.i.i.i.i.i.i244 = icmp slt i32 %99, %100 - br i1 %cmp.i15.i.i.i.i.i.i.i244, label %invoke.cont196.thread558, label %if.end.i.i.i.i.i.i.i245 - -invoke.cont196.thread558: ; preds = %for.body.i.i.i.i.i.i.i241 + %add.ptr.i7.i.i246 = getelementptr inbounds i32, ptr %97, i64 %98 + %add.ptr.i.idx.i.i247 = shl nsw i64 %96, 2 + %add.ptr.i7.idx.i.i248 = shl nsw i64 %98, 2 + %cmp.i.i.i.i.i.i.i.i249 = icmp slt i64 %add.ptr.i7.idx.i.i248, %add.ptr.i.idx.i.i247 + %add.ptr.i.i.i.i.i.i.i.i250 = getelementptr inbounds i8, ptr %95, i64 %add.ptr.i7.idx.i.i248 + %cond.i.i.i.i.i.i.i.i251 = select i1 %cmp.i.i.i.i.i.i.i.i249, ptr %add.ptr.i.i.i.i.i.i.i.i250, ptr %add.ptr.i.i.i243 + %cmp.not18.i.i.i.i.i.i.i252 = icmp eq ptr %cond.i.i.i.i.i.i.i.i251, %95 + br i1 %cmp.not18.i.i.i.i.i.i.i252, label %invoke.cont196, label %for.body.i.i.i.i.i.i.i253 + +for.body.i.i.i.i.i.i.i253: ; preds = %_ZN7testing15AssertionResultD2Ev.exit240, %for.inc.i.i.i.i.i.i.i259 + %__first2.addr.020.i.i.i.i.i.i.i254 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i261, %for.inc.i.i.i.i.i.i.i259 ], [ %97, %_ZN7testing15AssertionResultD2Ev.exit240 ] + %__first1.addr.019.i.i.i.i.i.i.i255 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i260, %for.inc.i.i.i.i.i.i.i259 ], [ %95, %_ZN7testing15AssertionResultD2Ev.exit240 ] + %99 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i255, align 4 + %100 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i254, align 4 + %cmp.i15.i.i.i.i.i.i.i256 = icmp slt i32 %99, %100 + br i1 %cmp.i15.i.i.i.i.i.i.i256, label %invoke.cont196.thread586, label %if.end.i.i.i.i.i.i.i257 + +invoke.cont196.thread586: ; preds = %for.body.i.i.i.i.i.i.i253 store i8 0, ptr %gtest_ar_194, align 8 - store ptr null, ptr %message_.i256555, align 8 + store ptr null, ptr %message_.i268583, align 8 br label %if.else203 -if.end.i.i.i.i.i.i.i245: ; preds = %for.body.i.i.i.i.i.i.i241 - %cmp.i16.i.i.i.i.i.i.i246 = icmp slt i32 %100, %99 - br i1 %cmp.i16.i.i.i.i.i.i.i246, label %invoke.cont196.thread, label %for.inc.i.i.i.i.i.i.i247 +if.end.i.i.i.i.i.i.i257: ; preds = %for.body.i.i.i.i.i.i.i253 + %cmp.i16.i.i.i.i.i.i.i258 = icmp slt i32 %100, %99 + br i1 %cmp.i16.i.i.i.i.i.i.i258, label %invoke.cont196.thread, label %for.inc.i.i.i.i.i.i.i259 -invoke.cont196.thread: ; preds = %if.end.i.i.i.i.i.i.i245 +invoke.cont196.thread: ; preds = %if.end.i.i.i.i.i.i.i257 store i8 1, ptr %gtest_ar_194, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit271 - -for.inc.i.i.i.i.i.i.i247: ; preds = %if.end.i.i.i.i.i.i.i245 - %incdec.ptr.i.i.i.i.i.i.i248 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i243, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i249 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i242, i64 1 - %cmp.not.i.i.i.i.i.i.i250 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i248, %cond.i.i.i.i.i.i.i.i239 - br i1 %cmp.not.i.i.i.i.i.i.i250, label %invoke.cont196, label %for.body.i.i.i.i.i.i.i241, !llvm.loop !170 - -invoke.cont196: ; preds = %for.inc.i.i.i.i.i.i.i247, %_ZN7testing15AssertionResultD2Ev.exit232 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i252 = phi ptr [ %97, %_ZN7testing15AssertionResultD2Ev.exit232 ], [ %incdec.ptr6.i.i.i.i.i.i.i249, %for.inc.i.i.i.i.i.i.i247 ] - %cmp9.i.i.i.i.i.i.i253.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i252, %add.ptr.i7.i.i237 - %frombool199 = zext i1 %cmp9.i.i.i.i.i.i.i253.not to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit283 + +for.inc.i.i.i.i.i.i.i259: ; preds = %if.end.i.i.i.i.i.i.i257 + %incdec.ptr.i.i.i.i.i.i.i260 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i255, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i261 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i254, i64 1 + %cmp.not.i.i.i.i.i.i.i262 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i260, %cond.i.i.i.i.i.i.i.i251 + br i1 %cmp.not.i.i.i.i.i.i.i262, label %invoke.cont196, label %for.body.i.i.i.i.i.i.i253, !llvm.loop !170 + +invoke.cont196: ; preds = %for.inc.i.i.i.i.i.i.i259, %_ZN7testing15AssertionResultD2Ev.exit240 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i264 = phi ptr [ %97, %_ZN7testing15AssertionResultD2Ev.exit240 ], [ %incdec.ptr6.i.i.i.i.i.i.i261, %for.inc.i.i.i.i.i.i.i259 ] + %cmp9.i.i.i.i.i.i.i265.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i264, %add.ptr.i7.i.i246 + %frombool199 = zext i1 %cmp9.i.i.i.i.i.i.i265.not to i8 store i8 %frombool199, ptr %gtest_ar_194, align 8 - store ptr null, ptr %message_.i256555, align 8 - br i1 %cmp9.i.i.i.i.i.i.i253.not, label %_ZN7testing15AssertionResultD2Ev.exit271, label %if.else203 + store ptr null, ptr %message_.i268583, align 8 + br i1 %cmp9.i.i.i.i.i.i.i265.not, label %_ZN7testing15AssertionResultD2Ev.exit283, label %if.else203 -if.else203: ; preds = %invoke.cont196.thread558, %invoke.cont196 +if.else203: ; preds = %invoke.cont196.thread586, %invoke.cont196 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp204) to label %invoke.cont206 unwind label %lpad205 @@ -11482,13 +11535,13 @@ invoke.cont215: ; preds = %invoke.cont213 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp207) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp208) #22 %101 = load ptr, ptr %ref.tmp204, align 8 - %cmp.not.i.i258 = icmp eq ptr %101, null - br i1 %cmp.not.i.i258, label %if.end219, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259 + %cmp.not.i.i270 = icmp eq ptr %101, null + br i1 %cmp.not.i.i270, label %if.end219, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i271 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259: ; preds = %invoke.cont215 - %vtable.i.i.i260 = load ptr, ptr %101, align 8 - %vfn.i.i.i261 = getelementptr inbounds ptr, ptr %vtable.i.i.i260, i64 1 - %102 = load ptr, ptr %vfn.i.i.i261, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i271: ; preds = %invoke.cont215 + %vtable.i.i.i272 = load ptr, ptr %101, align 8 + %vfn.i.i.i273 = getelementptr inbounds ptr, ptr %vtable.i.i.i272, i64 1 + %102 = load ptr, ptr %vfn.i.i.i273, align 8 call void %102(ptr noundef nonnull align 8 dereferenceable(128) %101) #22 br label %if.end219 @@ -11521,79 +11574,83 @@ ehcleanup217: ; preds = %lpad214, %lpad212 ehcleanup218: ; preds = %ehcleanup217, %lpad209 %.pn32.pn = phi { ptr, i32 } [ %.pn32, %ehcleanup217 ], [ %104, %lpad209 ] %107 = load ptr, ptr %ref.tmp204, align 8 - %cmp.not.i.i263 = icmp eq ptr %107, null - br i1 %cmp.not.i.i263, label %_ZN7testing7MessageD2Ev.exit267, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i264 + %cmp.not.i.i275 = icmp eq ptr %107, null + br i1 %cmp.not.i.i275, label %_ZN7testing7MessageD2Ev.exit279, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i276 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i264: ; preds = %ehcleanup218 - %vtable.i.i.i265 = load ptr, ptr %107, align 8 - %vfn.i.i.i266 = getelementptr inbounds ptr, ptr %vtable.i.i.i265, i64 1 - %108 = load ptr, ptr %vfn.i.i.i266, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i276: ; preds = %ehcleanup218 + %vtable.i.i.i277 = load ptr, ptr %107, align 8 + %vfn.i.i.i278 = getelementptr inbounds ptr, ptr %vtable.i.i.i277, i64 1 + %108 = load ptr, ptr %vfn.i.i.i278, align 8 call void %108(ptr noundef nonnull align 8 dereferenceable(128) %107) #22 - br label %_ZN7testing7MessageD2Ev.exit267 + br label %_ZN7testing7MessageD2Ev.exit279 -_ZN7testing7MessageD2Ev.exit267: ; preds = %ehcleanup218, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i264 +_ZN7testing7MessageD2Ev.exit279: ; preds = %ehcleanup218, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i276 store ptr null, ptr %ref.tmp204, align 8 br label %ehcleanup327 -if.end219: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259, %invoke.cont215 +if.end219: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i271, %invoke.cont215 store ptr null, ptr %ref.tmp204, align 8 - %.pr565 = load ptr, ptr %message_.i256555, align 8 - %cmp.not.i.i269 = icmp eq ptr %.pr565, null - br i1 %cmp.not.i.i269, label %_ZN7testing15AssertionResultD2Ev.exit271, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i270 + %.pr593 = load ptr, ptr %message_.i268583, align 8 + %cmp.not.i.i281 = icmp eq ptr %.pr593, null + br i1 %cmp.not.i.i281, label %_ZN7testing15AssertionResultD2Ev.exit283, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i282 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i270: ; preds = %if.end219 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr565) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr565) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit271 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i282: ; preds = %if.end219 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr593) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr593) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit283 -_ZN7testing15AssertionResultD2Ev.exit271: ; preds = %invoke.cont196, %invoke.cont196.thread, %if.end219, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i270 - store ptr null, ptr %message_.i256555, align 8 +_ZN7testing15AssertionResultD2Ev.exit283: ; preds = %invoke.cont196, %invoke.cont196.thread, %if.end219, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i282 + store ptr null, ptr %message_.i268583, align 8 %109 = load ptr, ptr %data_.i.i65, align 8 %110 = load i64, ptr %size_alloc_.i.i61, align 8 + %add.ptr.i.i.i286 = getelementptr inbounds i32, ptr %109, i64 %110 %111 = load ptr, ptr %data_.i.i, align 8 %112 = load i64, ptr %size_alloc_.i.i, align 8 - %add.ptr.i7.i.i276 = getelementptr inbounds i32, ptr %111, i64 %112 - %cond.i.i.i.i.i.i.v.i.i277 = call i64 @llvm.smin.i64(i64 %112, i64 %110) - %cond.i.i.i.i.i.i.i.i278 = getelementptr inbounds i32, ptr %109, i64 %cond.i.i.i.i.i.i.v.i.i277 - %cmp.not18.i.i.i.i.i.i.i279 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i277, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i279, label %invoke.cont223, label %for.body.i.i.i.i.i.i.i280 - -for.body.i.i.i.i.i.i.i280: ; preds = %_ZN7testing15AssertionResultD2Ev.exit271, %for.inc.i.i.i.i.i.i.i285 - %__first2.addr.020.i.i.i.i.i.i.i281 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i287, %for.inc.i.i.i.i.i.i.i285 ], [ %111, %_ZN7testing15AssertionResultD2Ev.exit271 ] - %__first1.addr.019.i.i.i.i.i.i.i282 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i286, %for.inc.i.i.i.i.i.i.i285 ], [ %109, %_ZN7testing15AssertionResultD2Ev.exit271 ] - %113 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i282, align 4 - %114 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i281, align 4 + %add.ptr.i7.i.i289 = getelementptr inbounds i32, ptr %111, i64 %112 + %add.ptr.i.idx.i.i290 = shl nsw i64 %110, 2 + %add.ptr.i7.idx.i.i291 = shl nsw i64 %112, 2 + %cmp.i.i.i.i.i.i.i.i292 = icmp slt i64 %add.ptr.i7.idx.i.i291, %add.ptr.i.idx.i.i290 + %add.ptr.i.i.i.i.i.i.i.i293 = getelementptr inbounds i8, ptr %109, i64 %add.ptr.i7.idx.i.i291 + %cond.i.i.i.i.i.i.i.i294 = select i1 %cmp.i.i.i.i.i.i.i.i292, ptr %add.ptr.i.i.i.i.i.i.i.i293, ptr %add.ptr.i.i.i286 + %cmp.not18.i.i.i.i.i.i.i295 = icmp eq ptr %cond.i.i.i.i.i.i.i.i294, %109 + br i1 %cmp.not18.i.i.i.i.i.i.i295, label %invoke.cont223, label %for.body.i.i.i.i.i.i.i296 + +for.body.i.i.i.i.i.i.i296: ; preds = %_ZN7testing15AssertionResultD2Ev.exit283, %for.inc.i.i.i.i.i.i.i301 + %__first2.addr.020.i.i.i.i.i.i.i297 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i303, %for.inc.i.i.i.i.i.i.i301 ], [ %111, %_ZN7testing15AssertionResultD2Ev.exit283 ] + %__first1.addr.019.i.i.i.i.i.i.i298 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i302, %for.inc.i.i.i.i.i.i.i301 ], [ %109, %_ZN7testing15AssertionResultD2Ev.exit283 ] + %113 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i298, align 4 + %114 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i297, align 4 %cmp.i15.i.i.i.i.i.i.not.i = icmp slt i32 %113, %114 - br i1 %cmp.i15.i.i.i.i.i.i.not.i, label %invoke.cont223.thread, label %if.end.i.i.i.i.i.i.i283 + br i1 %cmp.i15.i.i.i.i.i.i.not.i, label %invoke.cont223.thread, label %if.end.i.i.i.i.i.i.i299 -invoke.cont223.thread: ; preds = %for.body.i.i.i.i.i.i.i280 +invoke.cont223.thread: ; preds = %for.body.i.i.i.i.i.i.i296 store i8 1, ptr %gtest_ar_221, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit308 + br label %_ZN7testing15AssertionResultD2Ev.exit324 -if.end.i.i.i.i.i.i.i283: ; preds = %for.body.i.i.i.i.i.i.i280 - %cmp.i16.i.i.i.i.i.i.i284 = icmp slt i32 %114, %113 - br i1 %cmp.i16.i.i.i.i.i.i.i284, label %invoke.cont223.thread575, label %for.inc.i.i.i.i.i.i.i285 +if.end.i.i.i.i.i.i.i299: ; preds = %for.body.i.i.i.i.i.i.i296 + %cmp.i16.i.i.i.i.i.i.i300 = icmp slt i32 %114, %113 + br i1 %cmp.i16.i.i.i.i.i.i.i300, label %invoke.cont223.thread603, label %for.inc.i.i.i.i.i.i.i301 -invoke.cont223.thread575: ; preds = %if.end.i.i.i.i.i.i.i283 +invoke.cont223.thread603: ; preds = %if.end.i.i.i.i.i.i.i299 store i8 0, ptr %gtest_ar_221, align 8 - store ptr null, ptr %message_.i293579, align 8 + store ptr null, ptr %message_.i309607, align 8 br label %if.else230 -for.inc.i.i.i.i.i.i.i285: ; preds = %if.end.i.i.i.i.i.i.i283 - %incdec.ptr.i.i.i.i.i.i.i286 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i282, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i287 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i281, i64 1 - %cmp.not.i.i.i.i.i.i.i288 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i286, %cond.i.i.i.i.i.i.i.i278 - br i1 %cmp.not.i.i.i.i.i.i.i288, label %invoke.cont223, label %for.body.i.i.i.i.i.i.i280, !llvm.loop !170 +for.inc.i.i.i.i.i.i.i301: ; preds = %if.end.i.i.i.i.i.i.i299 + %incdec.ptr.i.i.i.i.i.i.i302 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i298, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i303 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i297, i64 1 + %cmp.not.i.i.i.i.i.i.i304 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i302, %cond.i.i.i.i.i.i.i.i294 + br i1 %cmp.not.i.i.i.i.i.i.i304, label %invoke.cont223, label %for.body.i.i.i.i.i.i.i296, !llvm.loop !170 -invoke.cont223: ; preds = %for.inc.i.i.i.i.i.i.i285, %_ZN7testing15AssertionResultD2Ev.exit271 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i290 = phi ptr [ %111, %_ZN7testing15AssertionResultD2Ev.exit271 ], [ %incdec.ptr6.i.i.i.i.i.i.i287, %for.inc.i.i.i.i.i.i.i285 ] - %cmp9.i.i.i.i.i.i.i291 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i290, %add.ptr.i7.i.i276 - %frombool226 = zext i1 %cmp9.i.i.i.i.i.i.i291 to i8 +invoke.cont223: ; preds = %for.inc.i.i.i.i.i.i.i301, %_ZN7testing15AssertionResultD2Ev.exit283 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i306 = phi ptr [ %111, %_ZN7testing15AssertionResultD2Ev.exit283 ], [ %incdec.ptr6.i.i.i.i.i.i.i303, %for.inc.i.i.i.i.i.i.i301 ] + %cmp9.i.i.i.i.i.i.i307 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i306, %add.ptr.i7.i.i289 + %frombool226 = zext i1 %cmp9.i.i.i.i.i.i.i307 to i8 store i8 %frombool226, ptr %gtest_ar_221, align 8 - store ptr null, ptr %message_.i293579, align 8 - br i1 %cmp9.i.i.i.i.i.i.i291, label %_ZN7testing15AssertionResultD2Ev.exit308, label %if.else230 + store ptr null, ptr %message_.i309607, align 8 + br i1 %cmp9.i.i.i.i.i.i.i307, label %_ZN7testing15AssertionResultD2Ev.exit324, label %if.else230 -if.else230: ; preds = %invoke.cont223.thread575, %invoke.cont223 +if.else230: ; preds = %invoke.cont223.thread603, %invoke.cont223 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp231) to label %invoke.cont233 unwind label %lpad232 @@ -11614,13 +11671,13 @@ invoke.cont242: ; preds = %invoke.cont240 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp234) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp235) #22 %115 = load ptr, ptr %ref.tmp231, align 8 - %cmp.not.i.i295 = icmp eq ptr %115, null - br i1 %cmp.not.i.i295, label %if.end246, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i296 + %cmp.not.i.i311 = icmp eq ptr %115, null + br i1 %cmp.not.i.i311, label %if.end246, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i312 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i296: ; preds = %invoke.cont242 - %vtable.i.i.i297 = load ptr, ptr %115, align 8 - %vfn.i.i.i298 = getelementptr inbounds ptr, ptr %vtable.i.i.i297, i64 1 - %116 = load ptr, ptr %vfn.i.i.i298, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i312: ; preds = %invoke.cont242 + %vtable.i.i.i313 = load ptr, ptr %115, align 8 + %vfn.i.i.i314 = getelementptr inbounds ptr, ptr %vtable.i.i.i313, i64 1 + %116 = load ptr, ptr %vfn.i.i.i314, align 8 call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #22 br label %if.end246 @@ -11653,79 +11710,83 @@ ehcleanup244: ; preds = %lpad241, %lpad239 ehcleanup245: ; preds = %ehcleanup244, %lpad236 %.pn36.pn = phi { ptr, i32 } [ %.pn36, %ehcleanup244 ], [ %118, %lpad236 ] %121 = load ptr, ptr %ref.tmp231, align 8 - %cmp.not.i.i300 = icmp eq ptr %121, null - br i1 %cmp.not.i.i300, label %_ZN7testing7MessageD2Ev.exit304, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301 + %cmp.not.i.i316 = icmp eq ptr %121, null + br i1 %cmp.not.i.i316, label %_ZN7testing7MessageD2Ev.exit320, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i317 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301: ; preds = %ehcleanup245 - %vtable.i.i.i302 = load ptr, ptr %121, align 8 - %vfn.i.i.i303 = getelementptr inbounds ptr, ptr %vtable.i.i.i302, i64 1 - %122 = load ptr, ptr %vfn.i.i.i303, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i317: ; preds = %ehcleanup245 + %vtable.i.i.i318 = load ptr, ptr %121, align 8 + %vfn.i.i.i319 = getelementptr inbounds ptr, ptr %vtable.i.i.i318, i64 1 + %122 = load ptr, ptr %vfn.i.i.i319, align 8 call void %122(ptr noundef nonnull align 8 dereferenceable(128) %121) #22 - br label %_ZN7testing7MessageD2Ev.exit304 + br label %_ZN7testing7MessageD2Ev.exit320 -_ZN7testing7MessageD2Ev.exit304: ; preds = %ehcleanup245, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301 +_ZN7testing7MessageD2Ev.exit320: ; preds = %ehcleanup245, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i317 store ptr null, ptr %ref.tmp231, align 8 br label %ehcleanup327 -if.end246: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i296, %invoke.cont242 +if.end246: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i312, %invoke.cont242 store ptr null, ptr %ref.tmp231, align 8 - %.pr582 = load ptr, ptr %message_.i293579, align 8 - %cmp.not.i.i306 = icmp eq ptr %.pr582, null - br i1 %cmp.not.i.i306, label %_ZN7testing15AssertionResultD2Ev.exit308, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i307 + %.pr610 = load ptr, ptr %message_.i309607, align 8 + %cmp.not.i.i322 = icmp eq ptr %.pr610, null + br i1 %cmp.not.i.i322, label %_ZN7testing15AssertionResultD2Ev.exit324, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i323 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i307: ; preds = %if.end246 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr582) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr582) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit308 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i323: ; preds = %if.end246 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr610) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr610) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit324 -_ZN7testing15AssertionResultD2Ev.exit308: ; preds = %invoke.cont223, %invoke.cont223.thread, %if.end246, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i307 - store ptr null, ptr %message_.i293579, align 8 +_ZN7testing15AssertionResultD2Ev.exit324: ; preds = %invoke.cont223, %invoke.cont223.thread, %if.end246, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i323 + store ptr null, ptr %message_.i309607, align 8 %123 = load ptr, ptr %data_.i.i, align 8 %124 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i.i.i327 = getelementptr inbounds i32, ptr %123, i64 %124 %125 = load ptr, ptr %data_.i.i65, align 8 %126 = load i64, ptr %size_alloc_.i.i61, align 8 - %add.ptr.i7.i.i313 = getelementptr inbounds i32, ptr %125, i64 %126 - %cond.i.i.i.i.i.i.v.i.i314 = call i64 @llvm.smin.i64(i64 %126, i64 %124) - %cond.i.i.i.i.i.i.i.i315 = getelementptr inbounds i32, ptr %123, i64 %cond.i.i.i.i.i.i.v.i.i314 - %cmp.not18.i.i.i.i.i.i.i316 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i314, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i316, label %invoke.cont250, label %for.body.i.i.i.i.i.i.i317 - -for.body.i.i.i.i.i.i.i317: ; preds = %_ZN7testing15AssertionResultD2Ev.exit308, %for.inc.i.i.i.i.i.i.i323 - %__first2.addr.020.i.i.i.i.i.i.i318 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i325, %for.inc.i.i.i.i.i.i.i323 ], [ %125, %_ZN7testing15AssertionResultD2Ev.exit308 ] - %__first1.addr.019.i.i.i.i.i.i.i319 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i324, %for.inc.i.i.i.i.i.i.i323 ], [ %123, %_ZN7testing15AssertionResultD2Ev.exit308 ] - %127 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i319, align 4 - %128 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i318, align 4 - %cmp.i15.i.i.i.i.i.i.not.i320 = icmp slt i32 %127, %128 - br i1 %cmp.i15.i.i.i.i.i.i.not.i320, label %invoke.cont250.thread591, label %if.end.i.i.i.i.i.i.i321 - -invoke.cont250.thread591: ; preds = %for.body.i.i.i.i.i.i.i317 + %add.ptr.i7.i.i330 = getelementptr inbounds i32, ptr %125, i64 %126 + %add.ptr.i.idx.i.i331 = shl nsw i64 %124, 2 + %add.ptr.i7.idx.i.i332 = shl nsw i64 %126, 2 + %cmp.i.i.i.i.i.i.i.i333 = icmp slt i64 %add.ptr.i7.idx.i.i332, %add.ptr.i.idx.i.i331 + %add.ptr.i.i.i.i.i.i.i.i334 = getelementptr inbounds i8, ptr %123, i64 %add.ptr.i7.idx.i.i332 + %cond.i.i.i.i.i.i.i.i335 = select i1 %cmp.i.i.i.i.i.i.i.i333, ptr %add.ptr.i.i.i.i.i.i.i.i334, ptr %add.ptr.i.i.i327 + %cmp.not18.i.i.i.i.i.i.i336 = icmp eq ptr %cond.i.i.i.i.i.i.i.i335, %123 + br i1 %cmp.not18.i.i.i.i.i.i.i336, label %invoke.cont250, label %for.body.i.i.i.i.i.i.i337 + +for.body.i.i.i.i.i.i.i337: ; preds = %_ZN7testing15AssertionResultD2Ev.exit324, %for.inc.i.i.i.i.i.i.i343 + %__first2.addr.020.i.i.i.i.i.i.i338 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i345, %for.inc.i.i.i.i.i.i.i343 ], [ %125, %_ZN7testing15AssertionResultD2Ev.exit324 ] + %__first1.addr.019.i.i.i.i.i.i.i339 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i344, %for.inc.i.i.i.i.i.i.i343 ], [ %123, %_ZN7testing15AssertionResultD2Ev.exit324 ] + %127 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i339, align 4 + %128 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i338, align 4 + %cmp.i15.i.i.i.i.i.i.not.i340 = icmp slt i32 %127, %128 + br i1 %cmp.i15.i.i.i.i.i.i.not.i340, label %invoke.cont250.thread619, label %if.end.i.i.i.i.i.i.i341 + +invoke.cont250.thread619: ; preds = %for.body.i.i.i.i.i.i.i337 store i8 0, ptr %gtest_ar_248, align 8 - store ptr null, ptr %message_.i331588, align 8 + store ptr null, ptr %message_.i351616, align 8 br label %if.else256 -if.end.i.i.i.i.i.i.i321: ; preds = %for.body.i.i.i.i.i.i.i317 - %cmp.i16.i.i.i.i.i.i.i322 = icmp slt i32 %128, %127 - br i1 %cmp.i16.i.i.i.i.i.i.i322, label %invoke.cont250.thread, label %for.inc.i.i.i.i.i.i.i323 +if.end.i.i.i.i.i.i.i341: ; preds = %for.body.i.i.i.i.i.i.i337 + %cmp.i16.i.i.i.i.i.i.i342 = icmp slt i32 %128, %127 + br i1 %cmp.i16.i.i.i.i.i.i.i342, label %invoke.cont250.thread, label %for.inc.i.i.i.i.i.i.i343 -invoke.cont250.thread: ; preds = %if.end.i.i.i.i.i.i.i321 +invoke.cont250.thread: ; preds = %if.end.i.i.i.i.i.i.i341 store i8 1, ptr %gtest_ar_248, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit346 - -for.inc.i.i.i.i.i.i.i323: ; preds = %if.end.i.i.i.i.i.i.i321 - %incdec.ptr.i.i.i.i.i.i.i324 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i319, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i325 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i318, i64 1 - %cmp.not.i.i.i.i.i.i.i326 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i324, %cond.i.i.i.i.i.i.i.i315 - br i1 %cmp.not.i.i.i.i.i.i.i326, label %invoke.cont250, label %for.body.i.i.i.i.i.i.i317, !llvm.loop !170 - -invoke.cont250: ; preds = %for.inc.i.i.i.i.i.i.i323, %_ZN7testing15AssertionResultD2Ev.exit308 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i328 = phi ptr [ %125, %_ZN7testing15AssertionResultD2Ev.exit308 ], [ %incdec.ptr6.i.i.i.i.i.i.i325, %for.inc.i.i.i.i.i.i.i323 ] - %cmp9.i.i.i.i.i.i.i329 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i328, %add.ptr.i7.i.i313 - %frombool252 = zext i1 %cmp9.i.i.i.i.i.i.i329 to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit366 + +for.inc.i.i.i.i.i.i.i343: ; preds = %if.end.i.i.i.i.i.i.i341 + %incdec.ptr.i.i.i.i.i.i.i344 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i339, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i345 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i338, i64 1 + %cmp.not.i.i.i.i.i.i.i346 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i344, %cond.i.i.i.i.i.i.i.i335 + br i1 %cmp.not.i.i.i.i.i.i.i346, label %invoke.cont250, label %for.body.i.i.i.i.i.i.i337, !llvm.loop !170 + +invoke.cont250: ; preds = %for.inc.i.i.i.i.i.i.i343, %_ZN7testing15AssertionResultD2Ev.exit324 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i348 = phi ptr [ %125, %_ZN7testing15AssertionResultD2Ev.exit324 ], [ %incdec.ptr6.i.i.i.i.i.i.i345, %for.inc.i.i.i.i.i.i.i343 ] + %cmp9.i.i.i.i.i.i.i349 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i348, %add.ptr.i7.i.i330 + %frombool252 = zext i1 %cmp9.i.i.i.i.i.i.i349 to i8 store i8 %frombool252, ptr %gtest_ar_248, align 8 - store ptr null, ptr %message_.i331588, align 8 - br i1 %cmp9.i.i.i.i.i.i.i329, label %_ZN7testing15AssertionResultD2Ev.exit346, label %if.else256 + store ptr null, ptr %message_.i351616, align 8 + br i1 %cmp9.i.i.i.i.i.i.i349, label %_ZN7testing15AssertionResultD2Ev.exit366, label %if.else256 -if.else256: ; preds = %invoke.cont250.thread591, %invoke.cont250 +if.else256: ; preds = %invoke.cont250.thread619, %invoke.cont250 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp257) to label %invoke.cont259 unwind label %lpad258 @@ -11746,13 +11807,13 @@ invoke.cont268: ; preds = %invoke.cont266 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp261) #22 %129 = load ptr, ptr %ref.tmp257, align 8 - %cmp.not.i.i333 = icmp eq ptr %129, null - br i1 %cmp.not.i.i333, label %if.end272, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334 + %cmp.not.i.i353 = icmp eq ptr %129, null + br i1 %cmp.not.i.i353, label %if.end272, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i354 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334: ; preds = %invoke.cont268 - %vtable.i.i.i335 = load ptr, ptr %129, align 8 - %vfn.i.i.i336 = getelementptr inbounds ptr, ptr %vtable.i.i.i335, i64 1 - %130 = load ptr, ptr %vfn.i.i.i336, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i354: ; preds = %invoke.cont268 + %vtable.i.i.i355 = load ptr, ptr %129, align 8 + %vfn.i.i.i356 = getelementptr inbounds ptr, ptr %vtable.i.i.i355, i64 1 + %130 = load ptr, ptr %vfn.i.i.i356, align 8 call void %130(ptr noundef nonnull align 8 dereferenceable(128) %129) #22 br label %if.end272 @@ -11785,79 +11846,83 @@ ehcleanup270: ; preds = %lpad267, %lpad265 ehcleanup271: ; preds = %ehcleanup270, %lpad262 %.pn40.pn = phi { ptr, i32 } [ %.pn40, %ehcleanup270 ], [ %132, %lpad262 ] %135 = load ptr, ptr %ref.tmp257, align 8 - %cmp.not.i.i338 = icmp eq ptr %135, null - br i1 %cmp.not.i.i338, label %_ZN7testing7MessageD2Ev.exit342, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339 + %cmp.not.i.i358 = icmp eq ptr %135, null + br i1 %cmp.not.i.i358, label %_ZN7testing7MessageD2Ev.exit362, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i359 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339: ; preds = %ehcleanup271 - %vtable.i.i.i340 = load ptr, ptr %135, align 8 - %vfn.i.i.i341 = getelementptr inbounds ptr, ptr %vtable.i.i.i340, i64 1 - %136 = load ptr, ptr %vfn.i.i.i341, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i359: ; preds = %ehcleanup271 + %vtable.i.i.i360 = load ptr, ptr %135, align 8 + %vfn.i.i.i361 = getelementptr inbounds ptr, ptr %vtable.i.i.i360, i64 1 + %136 = load ptr, ptr %vfn.i.i.i361, align 8 call void %136(ptr noundef nonnull align 8 dereferenceable(128) %135) #22 - br label %_ZN7testing7MessageD2Ev.exit342 + br label %_ZN7testing7MessageD2Ev.exit362 -_ZN7testing7MessageD2Ev.exit342: ; preds = %ehcleanup271, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i339 +_ZN7testing7MessageD2Ev.exit362: ; preds = %ehcleanup271, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i359 store ptr null, ptr %ref.tmp257, align 8 br label %ehcleanup327 -if.end272: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i334, %invoke.cont268 +if.end272: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i354, %invoke.cont268 store ptr null, ptr %ref.tmp257, align 8 - %.pr597 = load ptr, ptr %message_.i331588, align 8 - %cmp.not.i.i344 = icmp eq ptr %.pr597, null - br i1 %cmp.not.i.i344, label %_ZN7testing15AssertionResultD2Ev.exit346, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345 + %.pr625 = load ptr, ptr %message_.i351616, align 8 + %cmp.not.i.i364 = icmp eq ptr %.pr625, null + br i1 %cmp.not.i.i364, label %_ZN7testing15AssertionResultD2Ev.exit366, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i365 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345: ; preds = %if.end272 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr597) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr597) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit346 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i365: ; preds = %if.end272 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr625) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr625) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit366 -_ZN7testing15AssertionResultD2Ev.exit346: ; preds = %invoke.cont250, %invoke.cont250.thread, %if.end272, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345 - store ptr null, ptr %message_.i331588, align 8 +_ZN7testing15AssertionResultD2Ev.exit366: ; preds = %invoke.cont250, %invoke.cont250.thread, %if.end272, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i365 + store ptr null, ptr %message_.i351616, align 8 %137 = load ptr, ptr %data_.i.i, align 8 %138 = load i64, ptr %size_alloc_.i.i, align 8 + %add.ptr.i.i.i369 = getelementptr inbounds i32, ptr %137, i64 %138 %139 = load ptr, ptr %data_.i.i65, align 8 %140 = load i64, ptr %size_alloc_.i.i61, align 8 - %add.ptr.i7.i.i351 = getelementptr inbounds i32, ptr %139, i64 %140 - %cond.i.i.i.i.i.i.v.i.i352 = call i64 @llvm.smin.i64(i64 %140, i64 %138) - %cond.i.i.i.i.i.i.i.i353 = getelementptr inbounds i32, ptr %137, i64 %cond.i.i.i.i.i.i.v.i.i352 - %cmp.not18.i.i.i.i.i.i.i354 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i352, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i354, label %invoke.cont276, label %for.body.i.i.i.i.i.i.i355 - -for.body.i.i.i.i.i.i.i355: ; preds = %_ZN7testing15AssertionResultD2Ev.exit346, %for.inc.i.i.i.i.i.i.i361 - %__first2.addr.020.i.i.i.i.i.i.i356 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i363, %for.inc.i.i.i.i.i.i.i361 ], [ %139, %_ZN7testing15AssertionResultD2Ev.exit346 ] - %__first1.addr.019.i.i.i.i.i.i.i357 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i362, %for.inc.i.i.i.i.i.i.i361 ], [ %137, %_ZN7testing15AssertionResultD2Ev.exit346 ] - %141 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i357, align 4 - %142 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i356, align 4 - %cmp.i15.i.i.i.i.i.i.not.i358 = icmp slt i32 %141, %142 - br i1 %cmp.i15.i.i.i.i.i.i.not.i358, label %invoke.cont276.thread606, label %if.end.i.i.i.i.i.i.i359 - -invoke.cont276.thread606: ; preds = %for.body.i.i.i.i.i.i.i355 + %add.ptr.i7.i.i372 = getelementptr inbounds i32, ptr %139, i64 %140 + %add.ptr.i.idx.i.i373 = shl nsw i64 %138, 2 + %add.ptr.i7.idx.i.i374 = shl nsw i64 %140, 2 + %cmp.i.i.i.i.i.i.i.i375 = icmp slt i64 %add.ptr.i7.idx.i.i374, %add.ptr.i.idx.i.i373 + %add.ptr.i.i.i.i.i.i.i.i376 = getelementptr inbounds i8, ptr %137, i64 %add.ptr.i7.idx.i.i374 + %cond.i.i.i.i.i.i.i.i377 = select i1 %cmp.i.i.i.i.i.i.i.i375, ptr %add.ptr.i.i.i.i.i.i.i.i376, ptr %add.ptr.i.i.i369 + %cmp.not18.i.i.i.i.i.i.i378 = icmp eq ptr %cond.i.i.i.i.i.i.i.i377, %137 + br i1 %cmp.not18.i.i.i.i.i.i.i378, label %invoke.cont276, label %for.body.i.i.i.i.i.i.i379 + +for.body.i.i.i.i.i.i.i379: ; preds = %_ZN7testing15AssertionResultD2Ev.exit366, %for.inc.i.i.i.i.i.i.i385 + %__first2.addr.020.i.i.i.i.i.i.i380 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i387, %for.inc.i.i.i.i.i.i.i385 ], [ %139, %_ZN7testing15AssertionResultD2Ev.exit366 ] + %__first1.addr.019.i.i.i.i.i.i.i381 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i386, %for.inc.i.i.i.i.i.i.i385 ], [ %137, %_ZN7testing15AssertionResultD2Ev.exit366 ] + %141 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i381, align 4 + %142 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i380, align 4 + %cmp.i15.i.i.i.i.i.i.not.i382 = icmp slt i32 %141, %142 + br i1 %cmp.i15.i.i.i.i.i.i.not.i382, label %invoke.cont276.thread634, label %if.end.i.i.i.i.i.i.i383 + +invoke.cont276.thread634: ; preds = %for.body.i.i.i.i.i.i.i379 store i8 0, ptr %gtest_ar_274, align 8 - store ptr null, ptr %message_.i370603, align 8 + store ptr null, ptr %message_.i394631, align 8 br label %if.else282 -if.end.i.i.i.i.i.i.i359: ; preds = %for.body.i.i.i.i.i.i.i355 - %cmp.i16.i.i.i.i.i.i.i360 = icmp slt i32 %142, %141 - br i1 %cmp.i16.i.i.i.i.i.i.i360, label %invoke.cont276.thread, label %for.inc.i.i.i.i.i.i.i361 +if.end.i.i.i.i.i.i.i383: ; preds = %for.body.i.i.i.i.i.i.i379 + %cmp.i16.i.i.i.i.i.i.i384 = icmp slt i32 %142, %141 + br i1 %cmp.i16.i.i.i.i.i.i.i384, label %invoke.cont276.thread, label %for.inc.i.i.i.i.i.i.i385 -invoke.cont276.thread: ; preds = %if.end.i.i.i.i.i.i.i359 +invoke.cont276.thread: ; preds = %if.end.i.i.i.i.i.i.i383 store i8 1, ptr %gtest_ar_274, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit385 - -for.inc.i.i.i.i.i.i.i361: ; preds = %if.end.i.i.i.i.i.i.i359 - %incdec.ptr.i.i.i.i.i.i.i362 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i357, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i363 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i356, i64 1 - %cmp.not.i.i.i.i.i.i.i364 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i362, %cond.i.i.i.i.i.i.i.i353 - br i1 %cmp.not.i.i.i.i.i.i.i364, label %invoke.cont276, label %for.body.i.i.i.i.i.i.i355, !llvm.loop !170 - -invoke.cont276: ; preds = %for.inc.i.i.i.i.i.i.i361, %_ZN7testing15AssertionResultD2Ev.exit346 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i366 = phi ptr [ %139, %_ZN7testing15AssertionResultD2Ev.exit346 ], [ %incdec.ptr6.i.i.i.i.i.i.i363, %for.inc.i.i.i.i.i.i.i361 ] - %cmp9.i.i.i.i.i.i.i367 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i366, %add.ptr.i7.i.i351 - %frombool278 = zext i1 %cmp9.i.i.i.i.i.i.i367 to i8 + br label %_ZN7testing15AssertionResultD2Ev.exit409 + +for.inc.i.i.i.i.i.i.i385: ; preds = %if.end.i.i.i.i.i.i.i383 + %incdec.ptr.i.i.i.i.i.i.i386 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i381, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i387 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i380, i64 1 + %cmp.not.i.i.i.i.i.i.i388 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i386, %cond.i.i.i.i.i.i.i.i377 + br i1 %cmp.not.i.i.i.i.i.i.i388, label %invoke.cont276, label %for.body.i.i.i.i.i.i.i379, !llvm.loop !170 + +invoke.cont276: ; preds = %for.inc.i.i.i.i.i.i.i385, %_ZN7testing15AssertionResultD2Ev.exit366 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i390 = phi ptr [ %139, %_ZN7testing15AssertionResultD2Ev.exit366 ], [ %incdec.ptr6.i.i.i.i.i.i.i387, %for.inc.i.i.i.i.i.i.i385 ] + %cmp9.i.i.i.i.i.i.i391 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i390, %add.ptr.i7.i.i372 + %frombool278 = zext i1 %cmp9.i.i.i.i.i.i.i391 to i8 store i8 %frombool278, ptr %gtest_ar_274, align 8 - store ptr null, ptr %message_.i370603, align 8 - br i1 %cmp9.i.i.i.i.i.i.i367, label %_ZN7testing15AssertionResultD2Ev.exit385, label %if.else282 + store ptr null, ptr %message_.i394631, align 8 + br i1 %cmp9.i.i.i.i.i.i.i391, label %_ZN7testing15AssertionResultD2Ev.exit409, label %if.else282 -if.else282: ; preds = %invoke.cont276.thread606, %invoke.cont276 +if.else282: ; preds = %invoke.cont276.thread634, %invoke.cont276 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp283) to label %invoke.cont285 unwind label %lpad284 @@ -11878,13 +11943,13 @@ invoke.cont294: ; preds = %invoke.cont292 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp286) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp287) #22 %143 = load ptr, ptr %ref.tmp283, align 8 - %cmp.not.i.i372 = icmp eq ptr %143, null - br i1 %cmp.not.i.i372, label %if.end298, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i373 + %cmp.not.i.i396 = icmp eq ptr %143, null + br i1 %cmp.not.i.i396, label %if.end298, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i397 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i373: ; preds = %invoke.cont294 - %vtable.i.i.i374 = load ptr, ptr %143, align 8 - %vfn.i.i.i375 = getelementptr inbounds ptr, ptr %vtable.i.i.i374, i64 1 - %144 = load ptr, ptr %vfn.i.i.i375, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i397: ; preds = %invoke.cont294 + %vtable.i.i.i398 = load ptr, ptr %143, align 8 + %vfn.i.i.i399 = getelementptr inbounds ptr, ptr %vtable.i.i.i398, i64 1 + %144 = load ptr, ptr %vfn.i.i.i399, align 8 call void %144(ptr noundef nonnull align 8 dereferenceable(128) %143) #22 br label %if.end298 @@ -11917,79 +11982,83 @@ ehcleanup296: ; preds = %lpad293, %lpad291 ehcleanup297: ; preds = %ehcleanup296, %lpad288 %.pn44.pn = phi { ptr, i32 } [ %.pn44, %ehcleanup296 ], [ %146, %lpad288 ] %149 = load ptr, ptr %ref.tmp283, align 8 - %cmp.not.i.i377 = icmp eq ptr %149, null - br i1 %cmp.not.i.i377, label %_ZN7testing7MessageD2Ev.exit381, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i378 + %cmp.not.i.i401 = icmp eq ptr %149, null + br i1 %cmp.not.i.i401, label %_ZN7testing7MessageD2Ev.exit405, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i378: ; preds = %ehcleanup297 - %vtable.i.i.i379 = load ptr, ptr %149, align 8 - %vfn.i.i.i380 = getelementptr inbounds ptr, ptr %vtable.i.i.i379, i64 1 - %150 = load ptr, ptr %vfn.i.i.i380, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402: ; preds = %ehcleanup297 + %vtable.i.i.i403 = load ptr, ptr %149, align 8 + %vfn.i.i.i404 = getelementptr inbounds ptr, ptr %vtable.i.i.i403, i64 1 + %150 = load ptr, ptr %vfn.i.i.i404, align 8 call void %150(ptr noundef nonnull align 8 dereferenceable(128) %149) #22 - br label %_ZN7testing7MessageD2Ev.exit381 + br label %_ZN7testing7MessageD2Ev.exit405 -_ZN7testing7MessageD2Ev.exit381: ; preds = %ehcleanup297, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i378 +_ZN7testing7MessageD2Ev.exit405: ; preds = %ehcleanup297, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i402 store ptr null, ptr %ref.tmp283, align 8 br label %ehcleanup327 -if.end298: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i373, %invoke.cont294 +if.end298: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i397, %invoke.cont294 store ptr null, ptr %ref.tmp283, align 8 - %.pr612 = load ptr, ptr %message_.i370603, align 8 - %cmp.not.i.i383 = icmp eq ptr %.pr612, null - br i1 %cmp.not.i.i383, label %_ZN7testing15AssertionResultD2Ev.exit385, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i384 + %.pr640 = load ptr, ptr %message_.i394631, align 8 + %cmp.not.i.i407 = icmp eq ptr %.pr640, null + br i1 %cmp.not.i.i407, label %_ZN7testing15AssertionResultD2Ev.exit409, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i408 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i384: ; preds = %if.end298 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr612) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr612) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit385 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i408: ; preds = %if.end298 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr640) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr640) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit409 -_ZN7testing15AssertionResultD2Ev.exit385: ; preds = %invoke.cont276, %invoke.cont276.thread, %if.end298, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i384 - store ptr null, ptr %message_.i370603, align 8 +_ZN7testing15AssertionResultD2Ev.exit409: ; preds = %invoke.cont276, %invoke.cont276.thread, %if.end298, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i408 + store ptr null, ptr %message_.i394631, align 8 %151 = load ptr, ptr %data_.i.i65, align 8 %152 = load i64, ptr %size_alloc_.i.i61, align 8 + %add.ptr.i.i.i412 = getelementptr inbounds i32, ptr %151, i64 %152 %153 = load ptr, ptr %data_.i.i, align 8 %154 = load i64, ptr %size_alloc_.i.i, align 8 - %add.ptr.i7.i.i390 = getelementptr inbounds i32, ptr %153, i64 %154 - %cond.i.i.i.i.i.i.v.i.i391 = call i64 @llvm.smin.i64(i64 %154, i64 %152) - %cond.i.i.i.i.i.i.i.i392 = getelementptr inbounds i32, ptr %151, i64 %cond.i.i.i.i.i.i.v.i.i391 - %cmp.not18.i.i.i.i.i.i.i393 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i391, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i393, label %invoke.cont302, label %for.body.i.i.i.i.i.i.i394 - -for.body.i.i.i.i.i.i.i394: ; preds = %_ZN7testing15AssertionResultD2Ev.exit385, %for.inc.i.i.i.i.i.i.i400 - %__first2.addr.020.i.i.i.i.i.i.i395 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i402, %for.inc.i.i.i.i.i.i.i400 ], [ %153, %_ZN7testing15AssertionResultD2Ev.exit385 ] - %__first1.addr.019.i.i.i.i.i.i.i396 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i401, %for.inc.i.i.i.i.i.i.i400 ], [ %151, %_ZN7testing15AssertionResultD2Ev.exit385 ] - %155 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i396, align 4 - %156 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i395, align 4 - %cmp.i15.i.i.i.i.i.i.not.i397 = icmp slt i32 %155, %156 - br i1 %cmp.i15.i.i.i.i.i.i.not.i397, label %invoke.cont302.thread, label %if.end.i.i.i.i.i.i.i398 - -invoke.cont302.thread: ; preds = %for.body.i.i.i.i.i.i.i394 + %add.ptr.i7.i.i415 = getelementptr inbounds i32, ptr %153, i64 %154 + %add.ptr.i.idx.i.i416 = shl nsw i64 %152, 2 + %add.ptr.i7.idx.i.i417 = shl nsw i64 %154, 2 + %cmp.i.i.i.i.i.i.i.i418 = icmp slt i64 %add.ptr.i7.idx.i.i417, %add.ptr.i.idx.i.i416 + %add.ptr.i.i.i.i.i.i.i.i419 = getelementptr inbounds i8, ptr %151, i64 %add.ptr.i7.idx.i.i417 + %cond.i.i.i.i.i.i.i.i420 = select i1 %cmp.i.i.i.i.i.i.i.i418, ptr %add.ptr.i.i.i.i.i.i.i.i419, ptr %add.ptr.i.i.i412 + %cmp.not18.i.i.i.i.i.i.i421 = icmp eq ptr %cond.i.i.i.i.i.i.i.i420, %151 + br i1 %cmp.not18.i.i.i.i.i.i.i421, label %invoke.cont302, label %for.body.i.i.i.i.i.i.i422 + +for.body.i.i.i.i.i.i.i422: ; preds = %_ZN7testing15AssertionResultD2Ev.exit409, %for.inc.i.i.i.i.i.i.i428 + %__first2.addr.020.i.i.i.i.i.i.i423 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i430, %for.inc.i.i.i.i.i.i.i428 ], [ %153, %_ZN7testing15AssertionResultD2Ev.exit409 ] + %__first1.addr.019.i.i.i.i.i.i.i424 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i429, %for.inc.i.i.i.i.i.i.i428 ], [ %151, %_ZN7testing15AssertionResultD2Ev.exit409 ] + %155 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i424, align 4 + %156 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i423, align 4 + %cmp.i15.i.i.i.i.i.i.not.i425 = icmp slt i32 %155, %156 + br i1 %cmp.i15.i.i.i.i.i.i.not.i425, label %invoke.cont302.thread, label %if.end.i.i.i.i.i.i.i426 + +invoke.cont302.thread: ; preds = %for.body.i.i.i.i.i.i.i422 store i8 1, ptr %gtest_ar_300, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit424 + br label %_ZN7testing15AssertionResultD2Ev.exit452 -if.end.i.i.i.i.i.i.i398: ; preds = %for.body.i.i.i.i.i.i.i394 - %cmp.i16.i.i.i.i.i.i.i399 = icmp slt i32 %156, %155 - br i1 %cmp.i16.i.i.i.i.i.i.i399, label %invoke.cont302.thread622, label %for.inc.i.i.i.i.i.i.i400 +if.end.i.i.i.i.i.i.i426: ; preds = %for.body.i.i.i.i.i.i.i422 + %cmp.i16.i.i.i.i.i.i.i427 = icmp slt i32 %156, %155 + br i1 %cmp.i16.i.i.i.i.i.i.i427, label %invoke.cont302.thread650, label %for.inc.i.i.i.i.i.i.i428 -invoke.cont302.thread622: ; preds = %if.end.i.i.i.i.i.i.i398 +invoke.cont302.thread650: ; preds = %if.end.i.i.i.i.i.i.i426 store i8 0, ptr %gtest_ar_300, align 8 - store ptr null, ptr %message_.i409626, align 8 + store ptr null, ptr %message_.i437654, align 8 br label %if.else309 -for.inc.i.i.i.i.i.i.i400: ; preds = %if.end.i.i.i.i.i.i.i398 - %incdec.ptr.i.i.i.i.i.i.i401 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i396, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i402 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i395, i64 1 - %cmp.not.i.i.i.i.i.i.i403 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i401, %cond.i.i.i.i.i.i.i.i392 - br i1 %cmp.not.i.i.i.i.i.i.i403, label %invoke.cont302, label %for.body.i.i.i.i.i.i.i394, !llvm.loop !170 +for.inc.i.i.i.i.i.i.i428: ; preds = %if.end.i.i.i.i.i.i.i426 + %incdec.ptr.i.i.i.i.i.i.i429 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i424, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i430 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i423, i64 1 + %cmp.not.i.i.i.i.i.i.i431 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i429, %cond.i.i.i.i.i.i.i.i420 + br i1 %cmp.not.i.i.i.i.i.i.i431, label %invoke.cont302, label %for.body.i.i.i.i.i.i.i422, !llvm.loop !170 -invoke.cont302: ; preds = %for.inc.i.i.i.i.i.i.i400, %_ZN7testing15AssertionResultD2Ev.exit385 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i405 = phi ptr [ %153, %_ZN7testing15AssertionResultD2Ev.exit385 ], [ %incdec.ptr6.i.i.i.i.i.i.i402, %for.inc.i.i.i.i.i.i.i400 ] - %cmp9.i.i.i.i.i.i.i406 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i405, %add.ptr.i7.i.i390 - %frombool305 = zext i1 %cmp9.i.i.i.i.i.i.i406 to i8 +invoke.cont302: ; preds = %for.inc.i.i.i.i.i.i.i428, %_ZN7testing15AssertionResultD2Ev.exit409 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i433 = phi ptr [ %153, %_ZN7testing15AssertionResultD2Ev.exit409 ], [ %incdec.ptr6.i.i.i.i.i.i.i430, %for.inc.i.i.i.i.i.i.i428 ] + %cmp9.i.i.i.i.i.i.i434 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i433, %add.ptr.i7.i.i415 + %frombool305 = zext i1 %cmp9.i.i.i.i.i.i.i434 to i8 store i8 %frombool305, ptr %gtest_ar_300, align 8 - store ptr null, ptr %message_.i409626, align 8 - br i1 %cmp9.i.i.i.i.i.i.i406, label %_ZN7testing15AssertionResultD2Ev.exit424, label %if.else309 + store ptr null, ptr %message_.i437654, align 8 + br i1 %cmp9.i.i.i.i.i.i.i434, label %_ZN7testing15AssertionResultD2Ev.exit452, label %if.else309 -if.else309: ; preds = %invoke.cont302.thread622, %invoke.cont302 +if.else309: ; preds = %invoke.cont302.thread650, %invoke.cont302 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp310) to label %invoke.cont312 unwind label %lpad311 @@ -12010,13 +12079,13 @@ invoke.cont321: ; preds = %invoke.cont319 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp313) #22 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp314) #22 %157 = load ptr, ptr %ref.tmp310, align 8 - %cmp.not.i.i411 = icmp eq ptr %157, null - br i1 %cmp.not.i.i411, label %if.end325, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412 + %cmp.not.i.i439 = icmp eq ptr %157, null + br i1 %cmp.not.i.i439, label %if.end325, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i440 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412: ; preds = %invoke.cont321 - %vtable.i.i.i413 = load ptr, ptr %157, align 8 - %vfn.i.i.i414 = getelementptr inbounds ptr, ptr %vtable.i.i.i413, i64 1 - %158 = load ptr, ptr %vfn.i.i.i414, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i440: ; preds = %invoke.cont321 + %vtable.i.i.i441 = load ptr, ptr %157, align 8 + %vfn.i.i.i442 = getelementptr inbounds ptr, ptr %vtable.i.i.i441, i64 1 + %158 = load ptr, ptr %vfn.i.i.i442, align 8 call void %158(ptr noundef nonnull align 8 dereferenceable(128) %157) #22 br label %if.end325 @@ -12049,85 +12118,85 @@ ehcleanup323: ; preds = %lpad320, %lpad318 ehcleanup324: ; preds = %ehcleanup323, %lpad315 %.pn48.pn = phi { ptr, i32 } [ %.pn48, %ehcleanup323 ], [ %160, %lpad315 ] %163 = load ptr, ptr %ref.tmp310, align 8 - %cmp.not.i.i416 = icmp eq ptr %163, null - br i1 %cmp.not.i.i416, label %_ZN7testing7MessageD2Ev.exit420, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417 + %cmp.not.i.i444 = icmp eq ptr %163, null + br i1 %cmp.not.i.i444, label %_ZN7testing7MessageD2Ev.exit448, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i445 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417: ; preds = %ehcleanup324 - %vtable.i.i.i418 = load ptr, ptr %163, align 8 - %vfn.i.i.i419 = getelementptr inbounds ptr, ptr %vtable.i.i.i418, i64 1 - %164 = load ptr, ptr %vfn.i.i.i419, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i445: ; preds = %ehcleanup324 + %vtable.i.i.i446 = load ptr, ptr %163, align 8 + %vfn.i.i.i447 = getelementptr inbounds ptr, ptr %vtable.i.i.i446, i64 1 + %164 = load ptr, ptr %vfn.i.i.i447, align 8 call void %164(ptr noundef nonnull align 8 dereferenceable(128) %163) #22 - br label %_ZN7testing7MessageD2Ev.exit420 + br label %_ZN7testing7MessageD2Ev.exit448 -_ZN7testing7MessageD2Ev.exit420: ; preds = %ehcleanup324, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417 +_ZN7testing7MessageD2Ev.exit448: ; preds = %ehcleanup324, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i445 store ptr null, ptr %ref.tmp310, align 8 br label %ehcleanup327 -if.end325: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i412, %invoke.cont321 +if.end325: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i440, %invoke.cont321 store ptr null, ptr %ref.tmp310, align 8 - %.pr629 = load ptr, ptr %message_.i409626, align 8 - %cmp.not.i.i422 = icmp eq ptr %.pr629, null - br i1 %cmp.not.i.i422, label %_ZN7testing15AssertionResultD2Ev.exit424, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i423 + %.pr657 = load ptr, ptr %message_.i437654, align 8 + %cmp.not.i.i450 = icmp eq ptr %.pr657, null + br i1 %cmp.not.i.i450, label %_ZN7testing15AssertionResultD2Ev.exit452, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i451 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i423: ; preds = %if.end325 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr629) #22 - call void @_ZdlPv(ptr noundef nonnull %.pr629) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit424 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i451: ; preds = %if.end325 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr657) #22 + call void @_ZdlPv(ptr noundef nonnull %.pr657) #23 + br label %_ZN7testing15AssertionResultD2Ev.exit452 -_ZN7testing15AssertionResultD2Ev.exit424: ; preds = %invoke.cont302, %invoke.cont302.thread, %if.end325, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i423 - store ptr null, ptr %message_.i409626, align 8 +_ZN7testing15AssertionResultD2Ev.exit452: ; preds = %invoke.cont302, %invoke.cont302.thread, %if.end325, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i451 + store ptr null, ptr %message_.i437654, align 8 %165 = load i64, ptr %size_alloc_.i.i61, align 8 %cmp.i.i.i = icmp ult i64 %165, 6 br i1 %cmp.i.i.i, label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit, label %invoke.cont10.i.i -invoke.cont10.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit424 +invoke.cont10.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit452 %166 = load ptr, ptr %data_.i.i65, align 8 call void @_ZdlPv(ptr noundef %166) #23 br label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit -_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit424, %invoke.cont10.i.i +_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit452, %invoke.cont10.i.i %167 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i428 = icmp ult i64 %167, 6 - br i1 %cmp.i.i.i428, label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit431, label %invoke.cont10.i.i429 + %cmp.i.i.i456 = icmp ult i64 %167, 6 + br i1 %cmp.i.i.i456, label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit459, label %invoke.cont10.i.i457 -invoke.cont10.i.i429: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit +invoke.cont10.i.i457: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit %168 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %168) #23 - br label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit431 + br label %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit459 -_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit431: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit, %invoke.cont10.i.i429 +_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit459: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit, %invoke.cont10.i.i457 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, 10 br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !172 -ehcleanup327: ; preds = %lpad311, %_ZN7testing7MessageD2Ev.exit420, %lpad284, %_ZN7testing7MessageD2Ev.exit381, %lpad258, %_ZN7testing7MessageD2Ev.exit342, %lpad232, %_ZN7testing7MessageD2Ev.exit304, %lpad205, %_ZN7testing7MessageD2Ev.exit267, %lpad178, %_ZN7testing7MessageD2Ev.exit228, %lpad152, %_ZN7testing7MessageD2Ev.exit189, %lpad126, %_ZN7testing7MessageD2Ev.exit169, %lpad99, %_ZN7testing7MessageD2Ev.exit149, %lpad73, %_ZN7testing7MessageD2Ev.exit119, %lpad46, %_ZN7testing7MessageD2Ev.exit89, %lpad23, %_ZN7testing7MessageD2Ev.exit75 - %gtest_ar_300.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit75 ], [ %gtest_ar_, %lpad23 ], [ %gtest_ar_36, %_ZN7testing7MessageD2Ev.exit89 ], [ %gtest_ar_36, %lpad46 ], [ %gtest_ar_62, %_ZN7testing7MessageD2Ev.exit119 ], [ %gtest_ar_62, %lpad73 ], [ %gtest_ar_89, %_ZN7testing7MessageD2Ev.exit149 ], [ %gtest_ar_89, %lpad99 ], [ %gtest_ar_115, %_ZN7testing7MessageD2Ev.exit169 ], [ %gtest_ar_115, %lpad126 ], [ %gtest_ar_142, %_ZN7testing7MessageD2Ev.exit189 ], [ %gtest_ar_142, %lpad152 ], [ %gtest_ar_168, %_ZN7testing7MessageD2Ev.exit228 ], [ %gtest_ar_168, %lpad178 ], [ %gtest_ar_194, %_ZN7testing7MessageD2Ev.exit267 ], [ %gtest_ar_194, %lpad205 ], [ %gtest_ar_221, %_ZN7testing7MessageD2Ev.exit304 ], [ %gtest_ar_221, %lpad232 ], [ %gtest_ar_248, %_ZN7testing7MessageD2Ev.exit342 ], [ %gtest_ar_248, %lpad258 ], [ %gtest_ar_274, %_ZN7testing7MessageD2Ev.exit381 ], [ %gtest_ar_274, %lpad284 ], [ %gtest_ar_300, %_ZN7testing7MessageD2Ev.exit420 ], [ %gtest_ar_300, %lpad311 ] - %.pn48.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit75 ], [ %11, %lpad23 ], [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit89 ], [ %23, %lpad46 ], [ %.pn12.pn, %_ZN7testing7MessageD2Ev.exit119 ], [ %35, %lpad73 ], [ %.pn16.pn, %_ZN7testing7MessageD2Ev.exit149 ], [ %47, %lpad99 ], [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit169 ], [ %61, %lpad126 ], [ %.pn24.pn, %_ZN7testing7MessageD2Ev.exit189 ], [ %75, %lpad152 ], [ %.pn28.pn, %_ZN7testing7MessageD2Ev.exit228 ], [ %89, %lpad178 ], [ %.pn32.pn, %_ZN7testing7MessageD2Ev.exit267 ], [ %103, %lpad205 ], [ %.pn36.pn, %_ZN7testing7MessageD2Ev.exit304 ], [ %117, %lpad232 ], [ %.pn40.pn, %_ZN7testing7MessageD2Ev.exit342 ], [ %131, %lpad258 ], [ %.pn44.pn, %_ZN7testing7MessageD2Ev.exit381 ], [ %145, %lpad284 ], [ %.pn48.pn, %_ZN7testing7MessageD2Ev.exit420 ], [ %159, %lpad311 ] +ehcleanup327: ; preds = %lpad311, %_ZN7testing7MessageD2Ev.exit448, %lpad284, %_ZN7testing7MessageD2Ev.exit405, %lpad258, %_ZN7testing7MessageD2Ev.exit362, %lpad232, %_ZN7testing7MessageD2Ev.exit320, %lpad205, %_ZN7testing7MessageD2Ev.exit279, %lpad178, %_ZN7testing7MessageD2Ev.exit236, %lpad152, %_ZN7testing7MessageD2Ev.exit193, %lpad126, %_ZN7testing7MessageD2Ev.exit171, %lpad99, %_ZN7testing7MessageD2Ev.exit149, %lpad73, %_ZN7testing7MessageD2Ev.exit119, %lpad46, %_ZN7testing7MessageD2Ev.exit89, %lpad23, %_ZN7testing7MessageD2Ev.exit75 + %gtest_ar_300.sink = phi ptr [ %gtest_ar_, %_ZN7testing7MessageD2Ev.exit75 ], [ %gtest_ar_, %lpad23 ], [ %gtest_ar_36, %_ZN7testing7MessageD2Ev.exit89 ], [ %gtest_ar_36, %lpad46 ], [ %gtest_ar_62, %_ZN7testing7MessageD2Ev.exit119 ], [ %gtest_ar_62, %lpad73 ], [ %gtest_ar_89, %_ZN7testing7MessageD2Ev.exit149 ], [ %gtest_ar_89, %lpad99 ], [ %gtest_ar_115, %_ZN7testing7MessageD2Ev.exit171 ], [ %gtest_ar_115, %lpad126 ], [ %gtest_ar_142, %_ZN7testing7MessageD2Ev.exit193 ], [ %gtest_ar_142, %lpad152 ], [ %gtest_ar_168, %_ZN7testing7MessageD2Ev.exit236 ], [ %gtest_ar_168, %lpad178 ], [ %gtest_ar_194, %_ZN7testing7MessageD2Ev.exit279 ], [ %gtest_ar_194, %lpad205 ], [ %gtest_ar_221, %_ZN7testing7MessageD2Ev.exit320 ], [ %gtest_ar_221, %lpad232 ], [ %gtest_ar_248, %_ZN7testing7MessageD2Ev.exit362 ], [ %gtest_ar_248, %lpad258 ], [ %gtest_ar_274, %_ZN7testing7MessageD2Ev.exit405 ], [ %gtest_ar_274, %lpad284 ], [ %gtest_ar_300, %_ZN7testing7MessageD2Ev.exit448 ], [ %gtest_ar_300, %lpad311 ] + %.pn48.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %_ZN7testing7MessageD2Ev.exit75 ], [ %11, %lpad23 ], [ %.pn8.pn, %_ZN7testing7MessageD2Ev.exit89 ], [ %23, %lpad46 ], [ %.pn12.pn, %_ZN7testing7MessageD2Ev.exit119 ], [ %35, %lpad73 ], [ %.pn16.pn, %_ZN7testing7MessageD2Ev.exit149 ], [ %47, %lpad99 ], [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit171 ], [ %61, %lpad126 ], [ %.pn24.pn, %_ZN7testing7MessageD2Ev.exit193 ], [ %75, %lpad152 ], [ %.pn28.pn, %_ZN7testing7MessageD2Ev.exit236 ], [ %89, %lpad178 ], [ %.pn32.pn, %_ZN7testing7MessageD2Ev.exit279 ], [ %103, %lpad205 ], [ %.pn36.pn, %_ZN7testing7MessageD2Ev.exit320 ], [ %117, %lpad232 ], [ %.pn40.pn, %_ZN7testing7MessageD2Ev.exit362 ], [ %131, %lpad258 ], [ %.pn44.pn, %_ZN7testing7MessageD2Ev.exit405 ], [ %145, %lpad284 ], [ %.pn48.pn, %_ZN7testing7MessageD2Ev.exit448 ], [ %159, %lpad311 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_300.sink) #22 %169 = load i64, ptr %size_alloc_.i.i61, align 8 - %cmp.i.i.i433 = icmp ult i64 %169, 6 - br i1 %cmp.i.i.i433, label %ehcleanup328, label %invoke.cont10.i.i434 + %cmp.i.i.i461 = icmp ult i64 %169, 6 + br i1 %cmp.i.i.i461, label %ehcleanup328, label %invoke.cont10.i.i462 -invoke.cont10.i.i434: ; preds = %ehcleanup327 +invoke.cont10.i.i462: ; preds = %ehcleanup327 %170 = load ptr, ptr %data_.i.i65, align 8 call void @_ZdlPv(ptr noundef %170) #23 br label %ehcleanup328 -ehcleanup328: ; preds = %lpad11.loopexit, %lpad11.loopexit.split-lp, %invoke.cont10.i.i434, %ehcleanup327 - %.pn48.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn, %ehcleanup327 ], [ %.pn48.pn.pn.pn, %invoke.cont10.i.i434 ], [ %lpad.loopexit, %lpad11.loopexit ], [ %lpad.loopexit.split-lp, %lpad11.loopexit.split-lp ] +ehcleanup328: ; preds = %lpad11.loopexit, %lpad11.loopexit.split-lp, %invoke.cont10.i.i462, %ehcleanup327 + %.pn48.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn48.pn.pn.pn, %ehcleanup327 ], [ %.pn48.pn.pn.pn, %invoke.cont10.i.i462 ], [ %lpad.loopexit, %lpad11.loopexit ], [ %lpad.loopexit.split-lp, %lpad11.loopexit.split-lp ] %171 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i438 = icmp ult i64 %171, 6 - br i1 %cmp.i.i.i438, label %eh.resume, label %invoke.cont10.i.i439 + %cmp.i.i.i466 = icmp ult i64 %171, 6 + br i1 %cmp.i.i.i466, label %eh.resume, label %invoke.cont10.i.i467 -invoke.cont10.i.i439: ; preds = %ehcleanup328 +invoke.cont10.i.i467: ; preds = %ehcleanup328 %172 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %172) #23 br label %eh.resume -for.end: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit431 +for.end: ; preds = %_ZN4absl10FixedArrayIiLm5ESaIiEED2Ev.exit459 ret void -eh.resume: ; preds = %invoke.cont10.i.i439, %ehcleanup328 +eh.resume: ; preds = %invoke.cont10.i.i467, %ehcleanup328 resume { ptr, i32 } %.pn48.pn.pn.pn.pn } @@ -14253,7 +14322,7 @@ invoke.cont.i: ; preds = %_ZNSt16allocator_tr %data_.i.i = getelementptr inbounds %"class.absl::FixedArray::Storage", ptr %fixed, i64 0, i32 2 store ptr %retval.0.i.i2.i, ptr %data_.i.i, align 8 %cmp.i.not4.i.i = icmp eq ptr %5, %items - br i1 %cmp.i.not4.i.i, label %cond.true.i.i.i.i.i.i.i, label %for.body.i.i9 + br i1 %cmp.i.not4.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i, label %for.body.i.i9 for.body.i.i9: ; preds = %invoke.cont.i, %for.body.i.i9 %cur.06.i.i = phi ptr [ %incdec.ptr.i.i10, %for.body.i.i9 ], [ %retval.0.i.i2.i, %invoke.cont.i ] @@ -14264,40 +14333,40 @@ for.body.i.i9: ; preds = %invoke.cont.i, %for %incdec.ptr.i.i10 = getelementptr inbounds i32, ptr %cur.06.i.i, i64 1 %7 = load ptr, ptr %first.sroa.0.05.i.i, align 8 %cmp.i.not.i.i = icmp eq ptr %7, %items - br i1 %cmp.i.not.i.i, label %cond.true.i.i.i.i.i.i.i, label %for.body.i.i9, !llvm.loop !219 + br i1 %cmp.i.not.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i, label %for.body.i.i9, !llvm.loop !219 -cond.true.i.i.i.i.i.i.i: ; preds = %for.body.i.i9, %invoke.cont.i +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %for.body.i.i9, %invoke.cont.i call void @llvm.experimental.noalias.scope.decl(metadata !220) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp11, i8 0, i64 24, i1 false), !alias.scope !220 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(28) ptr @_Znwm(i64 noundef 28) #24 to label %invoke.cont16 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !220 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %8 = landingpad { ptr, i32 } cleanup br label %ehcleanup33 -invoke.cont16: ; preds = %cond.true.i.i.i.i.i.i.i +invoke.cont16: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp11, align 8, !alias.scope !220 %_M_finish.i.i.i.i.i.i15 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp11, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i16 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 7 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 28 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp11, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i16, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !220 + store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !220 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(28) %call5.i.i.i.i2.i6.i.i.i2.i, ptr noundef nonnull align 16 dereferenceable(28) @_ZZN12_GLOBAL__N_124FixedArrayTest_Data_Test8TestBodyEvE6kInput, i64 28, i1 false) - store ptr %add.ptr.i.i.i.i.i.i16, ptr %_M_finish.i.i.i.i.i.i15, align 8, !alias.scope !220 + store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i15, align 8, !alias.scope !220 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl10FixedArrayIiLm18446744073709551615ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp11, ptr noundef nonnull @.str.188, ptr noundef nonnull align 8 dereferenceable(272) %fixed) to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont16 %9 = load ptr, ptr %ref.tmp11, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %9, null - br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i20 + br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i19 -if.then.i.i.i.i.i20: ; preds = %invoke.cont18 +if.then.i.i.i.i.i19: ; preds = %invoke.cont18 call void @_ZdlPv(ptr noundef nonnull %9) #23 br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %invoke.cont18, %if.then.i.i.i.i.i20 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %invoke.cont18, %if.then.i.i.i.i.i19 %10 = load i8, ptr %gtest_ar, align 8 %11 = and i8 %10, 1 %tobool.i.not = icmp eq i8 %11, 0 @@ -14312,10 +14381,10 @@ lpad17: ; preds = %invoke.cont16 %13 = landingpad { ptr, i32 } cleanup %14 = load ptr, ptr %ref.tmp11, align 8 - %tobool.not.i.i.i.i.i21 = icmp eq ptr %14, null - br i1 %tobool.not.i.i.i.i.i21, label %ehcleanup33, label %if.then.i.i.i.i.i22 + %tobool.not.i.i.i.i.i20 = icmp eq ptr %14, null + br i1 %tobool.not.i.i.i.i.i20, label %ehcleanup33, label %if.then.i.i.i.i.i21 -if.then.i.i.i.i.i22: ; preds = %lpad17 +if.then.i.i.i.i.i21: ; preds = %lpad17 call void @_ZdlPv(ptr noundef nonnull %14) #23 br label %ehcleanup33 @@ -14345,8 +14414,8 @@ invoke.cont27: ; preds = %invoke.cont25 invoke.cont29: ; preds = %invoke.cont27 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp23) #22 %16 = load ptr, ptr %ref.tmp20, align 8 - %cmp.not.i.i27 = icmp eq ptr %16, null - br i1 %cmp.not.i.i27, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i26 = icmp eq ptr %16, null + br i1 %cmp.not.i.i26, label %_ZN7testing7MessageD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %invoke.cont29 %vtable.i.i.i = load ptr, ptr %16, align 8 @@ -14378,25 +14447,25 @@ lpad28: ; preds = %invoke.cont27 ehcleanup31: ; preds = %lpad28, %lpad24 %.pn2 = phi { ptr, i32 } [ %20, %lpad28 ], [ %19, %lpad24 ] %21 = load ptr, ptr %ref.tmp20, align 8 - %cmp.not.i.i28 = icmp eq ptr %21, null - br i1 %cmp.not.i.i28, label %_ZN7testing7MessageD2Ev.exit32, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i29 + %cmp.not.i.i27 = icmp eq ptr %21, null + br i1 %cmp.not.i.i27, label %_ZN7testing7MessageD2Ev.exit31, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i29: ; preds = %ehcleanup31 - %vtable.i.i.i30 = load ptr, ptr %21, align 8 - %vfn.i.i.i31 = getelementptr inbounds ptr, ptr %vtable.i.i.i30, i64 1 - %22 = load ptr, ptr %vfn.i.i.i31, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28: ; preds = %ehcleanup31 + %vtable.i.i.i29 = load ptr, ptr %21, align 8 + %vfn.i.i.i30 = getelementptr inbounds ptr, ptr %vtable.i.i.i29, i64 1 + %22 = load ptr, ptr %vfn.i.i.i30, align 8 call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #22 - br label %_ZN7testing7MessageD2Ev.exit32 + br label %_ZN7testing7MessageD2Ev.exit31 -_ZN7testing7MessageD2Ev.exit32: ; preds = %ehcleanup31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i29 +_ZN7testing7MessageD2Ev.exit31: ; preds = %ehcleanup31, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i28 store ptr null, ptr %ref.tmp20, align 8 br label %ehcleanup32 if.end: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %23 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i33 = icmp eq ptr %23, null - br i1 %cmp.not.i.i33, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i32 = icmp eq ptr %23, null + br i1 %cmp.not.i.i32, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #22 @@ -14416,50 +14485,50 @@ invoke.cont11.i.i: ; preds = %_ZN7testing15Assert _ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %invoke.cont11.i.i %26 = load ptr, ptr %items, align 8 - %cmp.not4.i.i.i35 = icmp eq ptr %26, %items - br i1 %cmp.not4.i.i.i35, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i36 + %cmp.not4.i.i.i34 = icmp eq ptr %26, %items + br i1 %cmp.not4.i.i.i34, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i35 -while.body.i.i.i36: ; preds = %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit, %while.body.i.i.i36 - %__cur.05.i.i.i37 = phi ptr [ %27, %while.body.i.i.i36 ], [ %26, %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit ] - %27 = load ptr, ptr %__cur.05.i.i.i37, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i37) #23 - %cmp.not.i.i.i38 = icmp eq ptr %27, %items - br i1 %cmp.not.i.i.i38, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i36, !llvm.loop !218 +while.body.i.i.i35: ; preds = %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit, %while.body.i.i.i35 + %__cur.05.i.i.i36 = phi ptr [ %27, %while.body.i.i.i35 ], [ %26, %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit ] + %27 = load ptr, ptr %__cur.05.i.i.i36, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i36) #23 + %cmp.not.i.i.i37 = icmp eq ptr %27, %items + br i1 %cmp.not.i.i.i37, label %_ZNSt7__cxx114listIiSaIiEED2Ev.exit, label %while.body.i.i.i35, !llvm.loop !218 -_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i36, %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit +_ZNSt7__cxx114listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i35, %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit ret void -ehcleanup32: ; preds = %_ZN7testing7MessageD2Ev.exit32, %lpad21 - %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit32 ], [ %18, %lpad21 ] +ehcleanup32: ; preds = %_ZN7testing7MessageD2Ev.exit31, %lpad21 + %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit31 ], [ %18, %lpad21 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #22 br label %ehcleanup33 -ehcleanup33: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %lpad17, %if.then.i.i.i.i.i22, %ehcleanup32 - %.pn2.pn.pn = phi { ptr, i32 } [ %.pn2.pn, %ehcleanup32 ], [ %8, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ], [ %13, %lpad17 ], [ %13, %if.then.i.i.i.i.i22 ] +ehcleanup33: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %lpad17, %if.then.i.i.i.i.i21, %ehcleanup32 + %.pn2.pn.pn = phi { ptr, i32 } [ %.pn2.pn, %ehcleanup32 ], [ %8, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ], [ %13, %lpad17 ], [ %13, %if.then.i.i.i.i.i21 ] %28 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i41 = icmp ult i64 %28, 65 - br i1 %cmp.i.i.i41, label %ehcleanup34, label %invoke.cont11.i.i42 + %cmp.i.i.i40 = icmp ult i64 %28, 65 + br i1 %cmp.i.i.i40, label %ehcleanup34, label %invoke.cont11.i.i41 -invoke.cont11.i.i42: ; preds = %ehcleanup33 +invoke.cont11.i.i41: ; preds = %ehcleanup33 %29 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %29) #23 br label %ehcleanup34 -ehcleanup34: ; preds = %invoke.cont11.i.i42, %ehcleanup33, %lpad9 - %.pn2.pn.pn.pn = phi { ptr, i32 } [ %12, %lpad9 ], [ %.pn2.pn.pn, %ehcleanup33 ], [ %.pn2.pn.pn, %invoke.cont11.i.i42 ] +ehcleanup34: ; preds = %invoke.cont11.i.i41, %ehcleanup33, %lpad9 + %.pn2.pn.pn.pn = phi { ptr, i32 } [ %12, %lpad9 ], [ %.pn2.pn.pn, %ehcleanup33 ], [ %.pn2.pn.pn, %invoke.cont11.i.i41 ] %30 = load ptr, ptr %items, align 8 - %cmp.not4.i.i.i45 = icmp eq ptr %30, %items - br i1 %cmp.not4.i.i.i45, label %eh.resume, label %while.body.i.i.i46 - -while.body.i.i.i46: ; preds = %ehcleanup34, %while.body.i.i.i46 - %__cur.05.i.i.i47 = phi ptr [ %31, %while.body.i.i.i46 ], [ %30, %ehcleanup34 ] - %31 = load ptr, ptr %__cur.05.i.i.i47, align 8 - call void @_ZdlPv(ptr noundef %__cur.05.i.i.i47) #23 - %cmp.not.i.i.i48 = icmp eq ptr %31, %items - br i1 %cmp.not.i.i.i48, label %eh.resume, label %while.body.i.i.i46, !llvm.loop !218 - -eh.resume: ; preds = %while.body.i.i.i, %while.body.i.i.i46, %ehcleanup34, %lpad2.i - %.pn2.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad2.i ], [ %.pn2.pn.pn.pn, %ehcleanup34 ], [ %.pn2.pn.pn.pn, %while.body.i.i.i46 ], [ %2, %while.body.i.i.i ] + %cmp.not4.i.i.i44 = icmp eq ptr %30, %items + br i1 %cmp.not4.i.i.i44, label %eh.resume, label %while.body.i.i.i45 + +while.body.i.i.i45: ; preds = %ehcleanup34, %while.body.i.i.i45 + %__cur.05.i.i.i46 = phi ptr [ %31, %while.body.i.i.i45 ], [ %30, %ehcleanup34 ] + %31 = load ptr, ptr %__cur.05.i.i.i46, align 8 + call void @_ZdlPv(ptr noundef %__cur.05.i.i.i46) #23 + %cmp.not.i.i.i47 = icmp eq ptr %31, %items + br i1 %cmp.not.i.i.i47, label %eh.resume, label %while.body.i.i.i45, !llvm.loop !218 + +eh.resume: ; preds = %while.body.i.i.i, %while.body.i.i.i45, %ehcleanup34, %lpad2.i + %.pn2.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %lpad2.i ], [ %.pn2.pn.pn.pn, %ehcleanup34 ], [ %.pn2.pn.pn.pn, %while.body.i.i.i45 ], [ %2, %while.body.i.i.i ] resume { ptr, i32 } %.pn2.pn.pn.pn.pn } @@ -16590,9 +16659,9 @@ entry: %ref.tmp.sroa.3.0.fixed.sroa_idx = getelementptr inbounds i8, ptr %fixed, i64 8 store i32 3, ptr %ref.tmp.sroa.3.0.fixed.sroa_idx, align 8 %call5.i.i.i.i1.i.i.i.i7 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #24 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad14 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %lpad14 -cond.true.i.i.i.i.i.i.i: ; preds = %entry +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %entry store i32 1, ptr %call5.i.i.i.i1.i.i.i.i7, align 4, !noalias !263 %ref.tmp7.sroa.2.0.call5.i.i.i.i1.i.i.i.i7.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i7, i64 4 store i32 2, ptr %ref.tmp7.sroa.2.0.call5.i.i.i.i1.i.i.i.i7.sroa_idx, align 4, !noalias !263 @@ -16603,15 +16672,15 @@ cond.true.i.i.i.i.i.i.i: ; preds = %entry %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #24 to label %invoke.cont17 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !268 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %0 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit15 -invoke.cont17: ; preds = %cond.true.i.i.i.i.i.i.i +invoke.cont17: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp4, align 8, !alias.scope !268 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp4, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 3 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 12 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp4, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !268 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i.i7, i64 12, i1 false) @@ -16848,24 +16917,24 @@ for.body.i.i: ; preds = %for.body.i.i, %entr invoke.cont: ; preds = %for.body.i.i %call5.i.i.i.i1.i.i.i.i13 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #24 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad8 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %lpad8 -cond.true.i.i.i.i.i.i.i: ; preds = %invoke.cont +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %invoke.cont store <4 x i32> , ptr %call5.i.i.i.i1.i.i.i.i13, align 4, !noalias !272 call void @llvm.experimental.noalias.scope.decl(metadata !277) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp3, i8 0, i64 24, i1 false), !alias.scope !277 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #24 to label %invoke.cont11 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !277 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %0 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21 -invoke.cont11: ; preds = %cond.true.i.i.i.i.i.i.i +invoke.cont11: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp3, align 8, !alias.scope !277 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp3, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 4 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 16 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp3, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !277 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i2.i, ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i1.i.i.i.i13, i64 16, i1 false) @@ -16996,47 +17065,47 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 - %call5.i.i.i.i1.i.i.i.i38 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #24 - to label %cond.true.i.i.i.i.i.i.i47 unwind label %lpad44 + %call5.i.i.i.i1.i.i.i.i39 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #24 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i48 unwind label %lpad44 -cond.true.i.i.i.i.i.i.i47: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - store <4 x i32> , ptr %call5.i.i.i.i1.i.i.i.i38, align 4, !noalias !280 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i48: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + store <4 x i32> , ptr %call5.i.i.i.i1.i.i.i.i39, align 4, !noalias !280 call void @llvm.experimental.noalias.scope.decl(metadata !285) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp33, i8 0, i64 24, i1 false), !alias.scope !285 - %call5.i.i.i.i2.i6.i.i.i2.i48 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #24 - to label %invoke.cont47 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i49, !noalias !285 + %call5.i.i.i.i2.i6.i.i.i2.i49 = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #24 + to label %invoke.cont47 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i50, !noalias !285 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i49: ; preds = %cond.true.i.i.i.i.i.i.i47 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i50: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i48 %16 = landingpad { ptr, i32 } cleanup - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit78 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit79 -invoke.cont47: ; preds = %cond.true.i.i.i.i.i.i.i47 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i48, ptr %ref.tmp33, align 8, !alias.scope !285 +invoke.cont47: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i48 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i49, ptr %ref.tmp33, align 8, !alias.scope !285 %_M_finish.i.i.i.i.i.i52 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp33, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i53 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i48, i64 4 + %add.ptr.i.i.i.i.i.i53 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i49, i64 16 %_M_end_of_storage.i.i.i.i.i.i54 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp33, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i53, ptr %_M_end_of_storage.i.i.i.i.i.i54, align 8, !alias.scope !285 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i2.i48, ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i1.i.i.i.i38, i64 16, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i2.i49, ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i1.i.i.i.i39, i64 16, i1 false) store ptr %add.ptr.i.i.i.i.i.i53, ptr %_M_finish.i.i.i.i.i.i52, align 8, !alias.scope !285 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl10FixedArrayIiLm18446744073709551615ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar32, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp33, ptr noundef nonnull @.str.189, ptr noundef nonnull align 8 dereferenceable(272) %stack_array) to label %invoke.cont49 unwind label %lpad48 invoke.cont49: ; preds = %invoke.cont47 %17 = load ptr, ptr %ref.tmp33, align 8 - %tobool.not.i.i.i.i.i66 = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i.i.i66, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit71, label %if.then.i.i.i.i.i67 + %tobool.not.i.i.i.i.i67 = icmp eq ptr %17, null + br i1 %tobool.not.i.i.i.i.i67, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit72, label %if.then.i.i.i.i.i68 -if.then.i.i.i.i.i67: ; preds = %invoke.cont49 +if.then.i.i.i.i.i68: ; preds = %invoke.cont49 call void @_ZdlPv(ptr noundef nonnull %17) #23 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit71 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit72 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit71: ; preds = %invoke.cont49, %if.then.i.i.i.i.i67 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i.i38) #23 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit72: ; preds = %invoke.cont49, %if.then.i.i.i.i.i68 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i.i39) #23 %18 = load i8, ptr %gtest_ar32, align 8 %19 = and i8 %18, 1 - %tobool.i72.not = icmp eq i8 %19, 0 - br i1 %tobool.i72.not, label %if.else54, label %if.end67 + %tobool.i73.not = icmp eq i8 %19, 0 + br i1 %tobool.i73.not, label %if.else54, label %if.end67 ehcleanup26: ; preds = %_ZN7testing7MessageD2Ev.exit27, %lpad15 %.pn2.pn = phi { ptr, i32 } [ %.pn2, %_ZN7testing7MessageD2Ev.exit27 ], [ %10, %lpad15 ] @@ -17052,35 +17121,35 @@ lpad48: ; preds = %invoke.cont47 %21 = landingpad { ptr, i32 } cleanup %22 = load ptr, ptr %ref.tmp33, align 8 - %tobool.not.i.i.i.i.i73 = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i.i73, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit78, label %if.then.i.i.i.i.i74 + %tobool.not.i.i.i.i.i74 = icmp eq ptr %22, null + br i1 %tobool.not.i.i.i.i.i74, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit79, label %if.then.i.i.i.i.i75 -if.then.i.i.i.i.i74: ; preds = %lpad48 +if.then.i.i.i.i.i75: ; preds = %lpad48 call void @_ZdlPv(ptr noundef nonnull %22) #23 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit78 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit79 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit78: ; preds = %if.then.i.i.i.i.i74, %lpad48, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i49 - %.pn5 = phi { ptr, i32 } [ %16, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i49 ], [ %21, %lpad48 ], [ %21, %if.then.i.i.i.i.i74 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i.i38) #23 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit79: ; preds = %if.then.i.i.i.i.i75, %lpad48, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i50 + %.pn5 = phi { ptr, i32 } [ %16, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i50 ], [ %21, %lpad48 ], [ %21, %if.then.i.i.i.i.i75 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i.i39) #23 br label %ehcleanup70 -if.else54: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit71 +if.else54: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit72 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55) to label %invoke.cont57 unwind label %lpad56 invoke.cont57: ; preds = %if.else54 - %message_.i.i79 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar32, i64 0, i32 1 - %23 = load ptr, ptr %message_.i.i79, align 8 - %cmp.i.i.not.i.i80 = icmp eq ptr %23, null - br i1 %cmp.i.i.not.i.i80, label %invoke.cont60, label %cond.true.i.i81 + %message_.i.i80 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar32, i64 0, i32 1 + %23 = load ptr, ptr %message_.i.i80, align 8 + %cmp.i.i.not.i.i81 = icmp eq ptr %23, null + br i1 %cmp.i.i.not.i.i81, label %invoke.cont60, label %cond.true.i.i82 -cond.true.i.i81: ; preds = %invoke.cont57 - %call4.i.i82 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %23) #22 +cond.true.i.i82: ; preds = %invoke.cont57 + %call4.i.i83 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %23) #22 br label %invoke.cont60 -invoke.cont60: ; preds = %cond.true.i.i81, %invoke.cont57 - %cond.i.i83 = phi ptr [ %call4.i.i82, %cond.true.i.i81 ], [ @.str.123, %invoke.cont57 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 422, ptr noundef %cond.i.i83) +invoke.cont60: ; preds = %cond.true.i.i82, %invoke.cont57 + %cond.i.i84 = phi ptr [ %call4.i.i83, %cond.true.i.i82 ], [ @.str.123, %invoke.cont57 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 422, ptr noundef %cond.i.i84) to label %invoke.cont62 unwind label %lpad59 invoke.cont62: ; preds = %invoke.cont60 @@ -17090,17 +17159,17 @@ invoke.cont62: ; preds = %invoke.cont60 invoke.cont64: ; preds = %invoke.cont62 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp58) #22 %24 = load ptr, ptr %ref.tmp55, align 8 - %cmp.not.i.i85 = icmp eq ptr %24, null - br i1 %cmp.not.i.i85, label %_ZN7testing7MessageD2Ev.exit89, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 + %cmp.not.i.i86 = icmp eq ptr %24, null + br i1 %cmp.not.i.i86, label %_ZN7testing7MessageD2Ev.exit90, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86: ; preds = %invoke.cont64 - %vtable.i.i.i87 = load ptr, ptr %24, align 8 - %vfn.i.i.i88 = getelementptr inbounds ptr, ptr %vtable.i.i.i87, i64 1 - %25 = load ptr, ptr %vfn.i.i.i88, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87: ; preds = %invoke.cont64 + %vtable.i.i.i88 = load ptr, ptr %24, align 8 + %vfn.i.i.i89 = getelementptr inbounds ptr, ptr %vtable.i.i.i88, i64 1 + %25 = load ptr, ptr %vfn.i.i.i89, align 8 call void %25(ptr noundef nonnull align 8 dereferenceable(128) %24) #22 - br label %_ZN7testing7MessageD2Ev.exit89 + br label %_ZN7testing7MessageD2Ev.exit90 -_ZN7testing7MessageD2Ev.exit89: ; preds = %invoke.cont64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86 +_ZN7testing7MessageD2Ev.exit90: ; preds = %invoke.cont64, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87 store ptr null, ptr %ref.tmp55, align 8 br label %if.end67 @@ -17123,62 +17192,62 @@ lpad63: ; preds = %invoke.cont62 ehcleanup66: ; preds = %lpad63, %lpad59 %.pn7 = phi { ptr, i32 } [ %28, %lpad63 ], [ %27, %lpad59 ] %29 = load ptr, ptr %ref.tmp55, align 8 - %cmp.not.i.i90 = icmp eq ptr %29, null - br i1 %cmp.not.i.i90, label %_ZN7testing7MessageD2Ev.exit94, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 + %cmp.not.i.i91 = icmp eq ptr %29, null + br i1 %cmp.not.i.i91, label %_ZN7testing7MessageD2Ev.exit95, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91: ; preds = %ehcleanup66 - %vtable.i.i.i92 = load ptr, ptr %29, align 8 - %vfn.i.i.i93 = getelementptr inbounds ptr, ptr %vtable.i.i.i92, i64 1 - %30 = load ptr, ptr %vfn.i.i.i93, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92: ; preds = %ehcleanup66 + %vtable.i.i.i93 = load ptr, ptr %29, align 8 + %vfn.i.i.i94 = getelementptr inbounds ptr, ptr %vtable.i.i.i93, i64 1 + %30 = load ptr, ptr %vfn.i.i.i94, align 8 call void %30(ptr noundef nonnull align 8 dereferenceable(128) %29) #22 - br label %_ZN7testing7MessageD2Ev.exit94 + br label %_ZN7testing7MessageD2Ev.exit95 -_ZN7testing7MessageD2Ev.exit94: ; preds = %ehcleanup66, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i91 +_ZN7testing7MessageD2Ev.exit95: ; preds = %ehcleanup66, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i92 store ptr null, ptr %ref.tmp55, align 8 br label %ehcleanup68 -if.end67: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit71, %_ZN7testing7MessageD2Ev.exit89 - %message_.i95 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar32, i64 0, i32 1 - %31 = load ptr, ptr %message_.i95, align 8 - %cmp.not.i.i96 = icmp eq ptr %31, null - br i1 %cmp.not.i.i96, label %_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 +if.end67: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit72, %_ZN7testing7MessageD2Ev.exit90 + %message_.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar32, i64 0, i32 1 + %31 = load ptr, ptr %message_.i96, align 8 + %cmp.not.i.i97 = icmp eq ptr %31, null + br i1 %cmp.not.i.i97, label %_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97: ; preds = %if.end67 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98: ; preds = %if.end67 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #22 call void @_ZdlPv(ptr noundef nonnull %31) #23 br label %_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit -_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit: ; preds = %if.end67, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97 - store ptr null, ptr %message_.i95, align 8 +_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit: ; preds = %if.end67, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98 + store ptr null, ptr %message_.i96, align 8 %32 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i100 = icmp ult i64 %32, 65 - br i1 %cmp.i.i.i100, label %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit, label %invoke.cont11.i.i101 + %cmp.i.i.i101 = icmp ult i64 %32, 65 + br i1 %cmp.i.i.i101, label %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit, label %invoke.cont11.i.i102 -invoke.cont11.i.i101: ; preds = %_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit +invoke.cont11.i.i102: ; preds = %_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit %33 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %33) #23 br label %_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit -_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit: ; preds = %_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit, %invoke.cont11.i.i101 +_ZN4absl10FixedArrayIiLm18446744073709551615ESaIiEED2Ev.exit: ; preds = %_ZN4absl10FixedArrayIiLm0ESaIiEED2Ev.exit, %invoke.cont11.i.i102 ret void -ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit94, %lpad56 - %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit94 ], [ %26, %lpad56 ] +ehcleanup68: ; preds = %_ZN7testing7MessageD2Ev.exit95, %lpad56 + %.pn7.pn = phi { ptr, i32 } [ %.pn7, %_ZN7testing7MessageD2Ev.exit95 ], [ %26, %lpad56 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar32) #22 br label %ehcleanup70 -ehcleanup70: ; preds = %lpad44, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit78, %ehcleanup68, %ehcleanup26, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21, %lpad8 - %.pn7.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn, %ehcleanup26 ], [ %.pn, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21 ], [ %4, %lpad8 ], [ %.pn7.pn, %ehcleanup68 ], [ %.pn5, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit78 ], [ %20, %lpad44 ] +ehcleanup70: ; preds = %lpad44, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit79, %ehcleanup68, %ehcleanup26, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21, %lpad8 + %.pn7.pn.pn.pn = phi { ptr, i32 } [ %.pn2.pn, %ehcleanup26 ], [ %.pn, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit21 ], [ %4, %lpad8 ], [ %.pn7.pn, %ehcleanup68 ], [ %.pn5, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit79 ], [ %20, %lpad44 ] %34 = load i64, ptr %size_alloc_.i.i, align 8 - %cmp.i.i.i109 = icmp ult i64 %34, 65 - br i1 %cmp.i.i.i109, label %eh.resume, label %invoke.cont11.i.i110 + %cmp.i.i.i110 = icmp ult i64 %34, 65 + br i1 %cmp.i.i.i110, label %eh.resume, label %invoke.cont11.i.i111 -invoke.cont11.i.i110: ; preds = %ehcleanup70 +invoke.cont11.i.i111: ; preds = %ehcleanup70 %35 = load ptr, ptr %data_.i.i, align 8 call void @_ZdlPv(ptr noundef %35) #23 br label %eh.resume -eh.resume: ; preds = %invoke.cont11.i.i110, %ehcleanup70 +eh.resume: ; preds = %invoke.cont11.i.i111, %ehcleanup70 resume { ptr, i32 } %.pn7.pn.pn.pn } @@ -20950,117 +21019,117 @@ entry: ; Function Attrs: mustprogress uwtable define internal void @_ZN12_GLOBAL__N_135FixedArrayTest_ManySizedArrays_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %n.addr.i839 = alloca i32, align 4 - %gtest_trace_254.i840 = alloca %"class.testing::ScopedTrace", align 1 - %gtest_trace_255.i841 = alloca %"class.testing::ScopedTrace", align 1 - %ref.tmp.i842 = alloca i32, align 4 - %array.i843 = alloca %"class.absl::FixedArray.245", align 8 - %gtest_ar.i844 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp4.i845 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp7.i846 = alloca i64, align 8 - %ref.tmp12.i847 = alloca %"class.testing::Message", align 8 - %ref.tmp15.i848 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar23.i849 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp24.i850 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.228", align 8 - %ref.tmp29.i851 = alloca i64, align 8 - %ref.tmp36.i852 = alloca %"class.testing::Message", align 8 - %ref.tmp39.i853 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar50.i854 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp57.i855 = alloca ptr, align 8 - %ref.tmp64.i856 = alloca %"class.testing::Message", align 8 - %ref.tmp67.i857 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar81.i858 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp82.i859 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp90.i860 = alloca %"class.testing::Message", align 8 - %ref.tmp93.i861 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar118.i862 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp119.i863 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp123.i864 = alloca i32, align 4 - %ref.tmp132.i865 = alloca %"class.testing::Message", align 8 - %ref.tmp135.i866 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar146.i867 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp147.i868 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp151.i869 = alloca i32, align 4 - %ref.tmp159.i870 = alloca %"class.testing::Message", align 8 - %ref.tmp162.i871 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar191.i872 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp192.i873 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp197.i874 = alloca i32, align 4 - %ref.tmp206.i875 = alloca %"class.testing::Message", align 8 - %ref.tmp209.i876 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar220.i877 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp221.i878 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp226.i879 = alloca i32, align 4 - %ref.tmp236.i880 = alloca %"class.testing::Message", align 8 - %ref.tmp239.i881 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar254.i882 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp260.i883 = alloca %"class.testing::Message", align 8 - %ref.tmp263.i884 = alloca %"class.testing::internal::AssertHelper", align 8 - %n.addr.i378 = alloca i32, align 4 - %gtest_trace_254.i379 = alloca %"class.testing::ScopedTrace", align 1 - %gtest_trace_255.i380 = alloca %"class.testing::ScopedTrace", align 1 - %ref.tmp.i381 = alloca i32, align 4 - %array.i382 = alloca %"class.absl::FixedArray.244", align 8 - %gtest_ar.i383 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp4.i384 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp7.i385 = alloca i64, align 8 - %ref.tmp12.i386 = alloca %"class.testing::Message", align 8 - %ref.tmp15.i387 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar23.i388 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp24.i389 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.228", align 8 - %ref.tmp29.i390 = alloca i64, align 8 - %ref.tmp36.i391 = alloca %"class.testing::Message", align 8 - %ref.tmp39.i392 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar50.i393 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp57.i394 = alloca ptr, align 8 - %ref.tmp64.i395 = alloca %"class.testing::Message", align 8 - %ref.tmp67.i396 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar81.i397 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp82.i398 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp90.i399 = alloca %"class.testing::Message", align 8 - %ref.tmp93.i400 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar118.i401 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp119.i402 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp123.i403 = alloca i32, align 4 - %ref.tmp132.i404 = alloca %"class.testing::Message", align 8 - %ref.tmp135.i405 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar146.i406 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp147.i407 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp151.i408 = alloca i32, align 4 - %ref.tmp159.i409 = alloca %"class.testing::Message", align 8 - %ref.tmp162.i410 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar191.i411 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp192.i412 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp197.i413 = alloca i32, align 4 - %ref.tmp206.i414 = alloca %"class.testing::Message", align 8 - %ref.tmp209.i415 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar220.i416 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp221.i417 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp226.i418 = alloca i32, align 4 - %ref.tmp236.i419 = alloca %"class.testing::Message", align 8 - %ref.tmp239.i420 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar254.i421 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp260.i422 = alloca %"class.testing::Message", align 8 - %ref.tmp263.i423 = alloca %"class.testing::internal::AssertHelper", align 8 - %n.addr.i55 = alloca i32, align 4 - %gtest_trace_254.i56 = alloca %"class.testing::ScopedTrace", align 1 - %gtest_trace_255.i57 = alloca %"class.testing::ScopedTrace", align 1 - %ref.tmp.i58 = alloca i32, align 4 - %array.i59 = alloca %"class.absl::FixedArray.243", align 8 - %gtest_ar.i60 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp4.i61 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp7.i62 = alloca i64, align 8 - %ref.tmp12.i63 = alloca %"class.testing::Message", align 8 - %ref.tmp15.i64 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar23.i65 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp24.i66 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.228", align 8 - %ref.tmp29.i67 = alloca i64, align 8 - %ref.tmp36.i68 = alloca %"class.testing::Message", align 8 - %ref.tmp39.i69 = alloca %"class.testing::internal::AssertHelper", align 8 - %gtest_ar50.i70 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp57.i71 = alloca ptr, align 8 - %ref.tmp64.i72 = alloca %"class.testing::Message", align 8 - %ref.tmp67.i73 = alloca %"class.testing::internal::AssertHelper", align 8 + %n.addr.i840 = alloca i32, align 4 + %gtest_trace_254.i841 = alloca %"class.testing::ScopedTrace", align 1 + %gtest_trace_255.i842 = alloca %"class.testing::ScopedTrace", align 1 + %ref.tmp.i843 = alloca i32, align 4 + %array.i844 = alloca %"class.absl::FixedArray.245", align 8 + %gtest_ar.i845 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp4.i846 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp7.i847 = alloca i64, align 8 + %ref.tmp12.i848 = alloca %"class.testing::Message", align 8 + %ref.tmp15.i849 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar23.i850 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp24.i851 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.228", align 8 + %ref.tmp29.i852 = alloca i64, align 8 + %ref.tmp36.i853 = alloca %"class.testing::Message", align 8 + %ref.tmp39.i854 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar50.i855 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp57.i856 = alloca ptr, align 8 + %ref.tmp64.i857 = alloca %"class.testing::Message", align 8 + %ref.tmp67.i858 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar81.i859 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp82.i860 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp90.i861 = alloca %"class.testing::Message", align 8 + %ref.tmp93.i862 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar118.i863 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp119.i864 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp123.i865 = alloca i32, align 4 + %ref.tmp132.i866 = alloca %"class.testing::Message", align 8 + %ref.tmp135.i867 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar146.i868 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp147.i869 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp151.i870 = alloca i32, align 4 + %ref.tmp159.i871 = alloca %"class.testing::Message", align 8 + %ref.tmp162.i872 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar191.i873 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp192.i874 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp197.i875 = alloca i32, align 4 + %ref.tmp206.i876 = alloca %"class.testing::Message", align 8 + %ref.tmp209.i877 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar220.i878 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp221.i879 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp226.i880 = alloca i32, align 4 + %ref.tmp236.i881 = alloca %"class.testing::Message", align 8 + %ref.tmp239.i882 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar254.i883 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp260.i884 = alloca %"class.testing::Message", align 8 + %ref.tmp263.i885 = alloca %"class.testing::internal::AssertHelper", align 8 + %n.addr.i379 = alloca i32, align 4 + %gtest_trace_254.i380 = alloca %"class.testing::ScopedTrace", align 1 + %gtest_trace_255.i381 = alloca %"class.testing::ScopedTrace", align 1 + %ref.tmp.i382 = alloca i32, align 4 + %array.i383 = alloca %"class.absl::FixedArray.244", align 8 + %gtest_ar.i384 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp4.i385 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp7.i386 = alloca i64, align 8 + %ref.tmp12.i387 = alloca %"class.testing::Message", align 8 + %ref.tmp15.i388 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar23.i389 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp24.i390 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.228", align 8 + %ref.tmp29.i391 = alloca i64, align 8 + %ref.tmp36.i392 = alloca %"class.testing::Message", align 8 + %ref.tmp39.i393 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar50.i394 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp57.i395 = alloca ptr, align 8 + %ref.tmp64.i396 = alloca %"class.testing::Message", align 8 + %ref.tmp67.i397 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar81.i398 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp82.i399 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp90.i400 = alloca %"class.testing::Message", align 8 + %ref.tmp93.i401 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar118.i402 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp119.i403 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp123.i404 = alloca i32, align 4 + %ref.tmp132.i405 = alloca %"class.testing::Message", align 8 + %ref.tmp135.i406 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar146.i407 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp147.i408 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp151.i409 = alloca i32, align 4 + %ref.tmp159.i410 = alloca %"class.testing::Message", align 8 + %ref.tmp162.i411 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar191.i412 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp192.i413 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp197.i414 = alloca i32, align 4 + %ref.tmp206.i415 = alloca %"class.testing::Message", align 8 + %ref.tmp209.i416 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar220.i417 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp221.i418 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp226.i419 = alloca i32, align 4 + %ref.tmp236.i420 = alloca %"class.testing::Message", align 8 + %ref.tmp239.i421 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar254.i422 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp260.i423 = alloca %"class.testing::Message", align 8 + %ref.tmp263.i424 = alloca %"class.testing::internal::AssertHelper", align 8 + %n.addr.i56 = alloca i32, align 4 + %gtest_trace_254.i57 = alloca %"class.testing::ScopedTrace", align 1 + %gtest_trace_255.i58 = alloca %"class.testing::ScopedTrace", align 1 + %ref.tmp.i59 = alloca i32, align 4 + %array.i60 = alloca %"class.absl::FixedArray.243", align 8 + %gtest_ar.i61 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp4.i62 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 + %ref.tmp7.i63 = alloca i64, align 8 + %ref.tmp12.i64 = alloca %"class.testing::Message", align 8 + %ref.tmp15.i65 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar23.i66 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp24.i67 = alloca %"class.testing::internal::PredicateFormatterFromMatcher.228", align 8 + %ref.tmp29.i68 = alloca i64, align 8 + %ref.tmp36.i69 = alloca %"class.testing::Message", align 8 + %ref.tmp39.i70 = alloca %"class.testing::internal::AssertHelper", align 8 + %gtest_ar50.i71 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp57.i72 = alloca ptr, align 8 + %ref.tmp64.i73 = alloca %"class.testing::Message", align 8 + %ref.tmp67.i74 = alloca %"class.testing::internal::AssertHelper", align 8 %gtest_ar81.i = alloca %"class.testing::AssertionResult", align 8 %ref.tmp82.i = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 %ref.tmp90.i = alloca %"class.testing::Message", align 8 @@ -21069,7 +21138,7 @@ entry: %ref.tmp119.i = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 %ref.tmp123.i = alloca i32, align 4 %ref.tmp132.i = alloca %"class.testing::Message", align 8 - %ref.tmp135.i74 = alloca %"class.testing::internal::AssertHelper", align 8 + %ref.tmp135.i75 = alloca %"class.testing::internal::AssertHelper", align 8 %gtest_ar146.i = alloca %"class.testing::AssertionResult", align 8 %ref.tmp147.i = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 %ref.tmp151.i = alloca i32, align 4 @@ -21077,7 +21146,7 @@ entry: %ref.tmp162.i = alloca %"class.testing::internal::AssertHelper", align 8 %gtest_ar191.i = alloca %"class.testing::AssertionResult", align 8 %ref.tmp192.i = alloca %"class.testing::internal::PredicateFormatterFromMatcher.227", align 4 - %ref.tmp197.i75 = alloca i32, align 4 + %ref.tmp197.i76 = alloca i32, align 4 %ref.tmp206.i = alloca %"class.testing::Message", align 8 %ref.tmp209.i = alloca %"class.testing::internal::AssertHelper", align 8 %gtest_ar220.i = alloca %"class.testing::AssertionResult", align 8 @@ -21137,20 +21206,20 @@ entry: br label %for.body for.body: ; preds = %entry, %for.inc - %storemerge1410 = phi i32 [ 1, %entry ], [ %inc, %for.inc ] - %sizes.sroa.0.01409 = phi ptr [ null, %entry ], [ %sizes.sroa.0.1, %for.inc ] - %sizes.sroa.8.01408 = phi ptr [ null, %entry ], [ %sizes.sroa.8.1, %for.inc ] - %sizes.sroa.17.01407 = phi ptr [ null, %entry ], [ %sizes.sroa.17.1, %for.inc ] - %cmp.not.i = icmp eq ptr %sizes.sroa.8.01408, %sizes.sroa.17.01407 + %storemerge1411 = phi i32 [ 1, %entry ], [ %inc, %for.inc ] + %sizes.sroa.0.01410 = phi ptr [ null, %entry ], [ %sizes.sroa.0.1, %for.inc ] + %sizes.sroa.8.01409 = phi ptr [ null, %entry ], [ %sizes.sroa.8.1, %for.inc ] + %sizes.sroa.17.01408 = phi ptr [ null, %entry ], [ %sizes.sroa.17.1, %for.inc ] + %cmp.not.i = icmp eq ptr %sizes.sroa.8.01409, %sizes.sroa.17.01408 br i1 %cmp.not.i, label %if.else.i, label %if.then.i if.then.i: ; preds = %for.body - store i32 %storemerge1410, ptr %sizes.sroa.8.01408, align 4 + store i32 %storemerge1411, ptr %sizes.sroa.8.01409, align 4 br label %for.inc if.else.i: ; preds = %for.body - %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %sizes.sroa.8.01408 to i64 - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %sizes.sroa.0.01409 to i64 + %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %sizes.sroa.8.01409 to i64 + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %sizes.sroa.0.01410 to i64 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %cmp.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i @@ -21181,59 +21250,60 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i: ; preds = %_ZNKSt6vect _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i6, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i ] %add.ptr.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i - store i32 %storemerge1410, ptr %add.ptr.i.i, align 4 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i + store i32 %storemerge1411, ptr %add.ptr.i.i, align 4 + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %sizes.sroa.0.01409, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %sizes.sroa.0.01410, i64 %sub.ptr.sub.i.i.i.i, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i - %tobool.not.i.i.i = icmp eq ptr %sizes.sroa.0.01409, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i21.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %tobool.not.i.i.i = icmp eq ptr %sizes.sroa.0.01410, null + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i - tail call void @_ZdlPv(ptr noundef nonnull %sizes.sroa.0.01409) #23 +if.then.i20.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i + tail call void @_ZdlPv(ptr noundef nonnull %sizes.sroa.0.01410) #23 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, %if.then.i - %sizes.sroa.17.1 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %sizes.sroa.17.01407, %if.then.i ] - %add.ptr.i.i.pn = phi ptr [ %add.ptr.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %sizes.sroa.8.01408, %if.then.i ] - %sizes.sroa.0.1 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %sizes.sroa.0.01409, %if.then.i ] - %sizes.sroa.8.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.pn, i64 1 - %inc = add nuw nsw i32 %storemerge1410, 1 + %sizes.sroa.17.1 = phi ptr [ %add.ptr19.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %sizes.sroa.17.01408, %if.then.i ] + %add.ptr.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %sizes.sroa.8.01409, %if.then.i ] + %sizes.sroa.0.1 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %sizes.sroa.0.01410, %if.then.i ] + %sizes.sroa.8.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.pn, i64 1 + %inc = add nuw nsw i32 %storemerge1411, 1 %exitcond.not = icmp eq i32 %inc, 100 br i1 %exitcond.not, label %for.body5, label %for.body, !llvm.loop !344 lpad.loopexit: ; preds = %for.body13, %invoke.cont15, %invoke.cont16, %invoke.cont17 - %lpad.loopexit1320 = landingpad { ptr, i32 } + %lpad.loopexit1321 = landingpad { ptr, i32 } cleanup br label %lpad.body lpad.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i28 - %lpad.loopexit1334 = landingpad { ptr, i32 } + %lpad.loopexit1335 = landingpad { ptr, i32 } cleanup br label %lpad.body lpad.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i - %lpad.loopexit1337 = landingpad { ptr, i32 } + %lpad.loopexit1338 = landingpad { ptr, i32 } cleanup br label %lpad.body -lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i, %if.then.i.i.i41 - %sizes.sroa.0.2.ph.ph.ph = phi ptr [ %sizes.sroa.0.71413, %if.then.i.i.i41 ], [ %sizes.sroa.0.01409, %if.then.i.i.i ] - %lpad.loopexit.split-lp1338 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i, %if.then.i.i.i42 + %sizes.sroa.0.2.ph.ph.ph = phi ptr [ %sizes.sroa.0.71414, %if.then.i.i.i42 ], [ %sizes.sroa.0.01410, %if.then.i.i.i ] + %lpad.loopexit.split-lp1339 = landingpad { ptr, i32 } cleanup br label %lpad.body -lpad.body: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit, %ehcleanup275.i, %ehcleanup275.i886, %ehcleanup275.i425, %ehcleanup282.i - %sizes.sroa.0.6 = phi ptr [ %sizes.sroa.0.8, %ehcleanup282.i ], [ %sizes.sroa.0.8, %ehcleanup275.i ], [ %sizes.sroa.0.8, %ehcleanup275.i425 ], [ %sizes.sroa.0.8, %ehcleanup275.i886 ], [ %sizes.sroa.0.8, %lpad.loopexit ], [ %sizes.sroa.0.71413, %lpad.loopexit.split-lp.loopexit ], [ %sizes.sroa.0.01409, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %sizes.sroa.0.2.ph.ph.ph, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] - %eh.lpad-body = phi { ptr, i32 } [ %.pn45.pn.pn.i, %ehcleanup282.i ], [ %.pn45.pn.pn.i77, %ehcleanup275.i ], [ %.pn45.pn.pn.i426, %ehcleanup275.i425 ], [ %.pn45.pn.pn.i887, %ehcleanup275.i886 ], [ %lpad.loopexit1320, %lpad.loopexit ], [ %lpad.loopexit1334, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit1337, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1338, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] +lpad.body: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit, %ehcleanup275.i, %ehcleanup275.i887, %ehcleanup275.i426, %ehcleanup282.i + %sizes.sroa.0.6 = phi ptr [ %sizes.sroa.0.8, %ehcleanup282.i ], [ %sizes.sroa.0.8, %ehcleanup275.i ], [ %sizes.sroa.0.8, %ehcleanup275.i426 ], [ %sizes.sroa.0.8, %ehcleanup275.i887 ], [ %sizes.sroa.0.8, %lpad.loopexit ], [ %sizes.sroa.0.71414, %lpad.loopexit.split-lp.loopexit ], [ %sizes.sroa.0.01410, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %sizes.sroa.0.2.ph.ph.ph, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] + %eh.lpad-body = phi { ptr, i32 } [ %.pn45.pn.pn.i, %ehcleanup282.i ], [ %.pn45.pn.pn.i78, %ehcleanup275.i ], [ %.pn45.pn.pn.i427, %ehcleanup275.i426 ], [ %.pn45.pn.pn.i888, %ehcleanup275.i887 ], [ %lpad.loopexit1321, %lpad.loopexit ], [ %lpad.loopexit1335, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit1338, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp1339, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ] %tobool.not.i.i.i7 = icmp eq ptr %sizes.sroa.0.6, null br i1 %tobool.not.i.i.i7, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i8 @@ -21245,8 +21315,8 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %lpad.body, %if.then resume { ptr, i32 } %eh.lpad-body for.cond11.preheader: ; preds = %for.inc7 - %cmp.i.not1415 = icmp eq ptr %sizes.sroa.0.8, %sizes.sroa.8.3 - br i1 %cmp.i.not1415, label %for.end21, label %for.body13.lr.ph + %cmp.i.not1416 = icmp eq ptr %sizes.sroa.0.8, %sizes.sroa.8.3 + br i1 %cmp.i.not1416, label %for.end21, label %for.body13.lr.ph for.body13.lr.ph: ; preds = %for.cond11.preheader %data_.i.i.i = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 0>::Storage", ptr %array.i, i64 0, i32 1 @@ -21259,65 +21329,65 @@ for.body13.lr.ph: ; preds = %for.cond11.preheade %message_.i.i179.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar196.i, i64 0, i32 1 %message_.i.i200.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar226.i, i64 0, i32 1 %message_.i.i224.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar261.i, i64 0, i32 1 - %size_alloc_.i.i.i = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 1>::Storage", ptr %array.i59, i64 0, i32 1 - %data_.i2.i.i88 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 1>::Storage", ptr %array.i59, i64 0, i32 2 - %message_.i.i.i350 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i60, i64 0, i32 1 - %message_.i.i70.i323 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar23.i65, i64 0, i32 1 - %message_.i.i91.i296 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50.i70, i64 0, i32 1 - %message_.i.i112.i275 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar81.i, i64 0, i32 1 - %message_.i.i135.i172 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar118.i, i64 0, i32 1 - %message_.i.i156.i173 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146.i, i64 0, i32 1 - %message_.i.i179.i189 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar191.i, i64 0, i32 1 - %message_.i.i200.i190 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar220.i, i64 0, i32 1 - %message_.i.i224.i150 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar254.i, i64 0, i32 1 - %size_alloc_.i.i.i429 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 64>::Storage", ptr %array.i382, i64 0, i32 1 - %data_.i2.i.i440 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 64>::Storage", ptr %array.i382, i64 0, i32 2 - %message_.i.i.i809 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i383, i64 0, i32 1 - %message_.i.i70.i782 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar23.i388, i64 0, i32 1 - %message_.i.i91.i755 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50.i393, i64 0, i32 1 - %message_.i.i112.i728 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar81.i397, i64 0, i32 1 - %message_.i.i135.i560 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar118.i401, i64 0, i32 1 - %message_.i.i156.i561 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146.i406, i64 0, i32 1 - %message_.i.i179.i595 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar191.i411, i64 0, i32 1 - %message_.i.i200.i596 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar220.i416, i64 0, i32 1 - %message_.i.i224.i528 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar254.i421, i64 0, i32 1 - %size_alloc_.i.i.i890 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 1000>::Storage", ptr %array.i843, i64 0, i32 1 - %data_.i2.i.i901 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 1000>::Storage", ptr %array.i843, i64 0, i32 2 - %message_.i.i.i1270 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i844, i64 0, i32 1 - %message_.i.i70.i1243 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar23.i849, i64 0, i32 1 - %message_.i.i91.i1216 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50.i854, i64 0, i32 1 - %message_.i.i112.i1189 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar81.i858, i64 0, i32 1 - %message_.i.i135.i1021 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar118.i862, i64 0, i32 1 - %message_.i.i156.i1022 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146.i867, i64 0, i32 1 - %message_.i.i179.i1056 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar191.i872, i64 0, i32 1 - %message_.i.i200.i1057 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar220.i877, i64 0, i32 1 - %message_.i.i224.i989 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar254.i882, i64 0, i32 1 + %size_alloc_.i.i.i = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 1>::Storage", ptr %array.i60, i64 0, i32 1 + %data_.i2.i.i89 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 1>::Storage", ptr %array.i60, i64 0, i32 2 + %message_.i.i.i351 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i61, i64 0, i32 1 + %message_.i.i70.i324 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar23.i66, i64 0, i32 1 + %message_.i.i91.i297 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50.i71, i64 0, i32 1 + %message_.i.i112.i276 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar81.i, i64 0, i32 1 + %message_.i.i135.i173 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar118.i, i64 0, i32 1 + %message_.i.i156.i174 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146.i, i64 0, i32 1 + %message_.i.i179.i190 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar191.i, i64 0, i32 1 + %message_.i.i200.i191 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar220.i, i64 0, i32 1 + %message_.i.i224.i151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar254.i, i64 0, i32 1 + %size_alloc_.i.i.i430 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 64>::Storage", ptr %array.i383, i64 0, i32 1 + %data_.i2.i.i441 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 64>::Storage", ptr %array.i383, i64 0, i32 2 + %message_.i.i.i810 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i384, i64 0, i32 1 + %message_.i.i70.i783 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar23.i389, i64 0, i32 1 + %message_.i.i91.i756 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50.i394, i64 0, i32 1 + %message_.i.i112.i729 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar81.i398, i64 0, i32 1 + %message_.i.i135.i561 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar118.i402, i64 0, i32 1 + %message_.i.i156.i562 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146.i407, i64 0, i32 1 + %message_.i.i179.i596 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar191.i412, i64 0, i32 1 + %message_.i.i200.i597 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar220.i417, i64 0, i32 1 + %message_.i.i224.i529 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar254.i422, i64 0, i32 1 + %size_alloc_.i.i.i891 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 1000>::Storage", ptr %array.i844, i64 0, i32 1 + %data_.i2.i.i902 = getelementptr inbounds %"class.absl::FixedArray<(anonymous namespace)::ConstructionTester, 1000>::Storage", ptr %array.i844, i64 0, i32 2 + %message_.i.i.i1271 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i845, i64 0, i32 1 + %message_.i.i70.i1244 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar23.i850, i64 0, i32 1 + %message_.i.i91.i1217 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar50.i855, i64 0, i32 1 + %message_.i.i112.i1190 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar81.i859, i64 0, i32 1 + %message_.i.i135.i1022 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar118.i863, i64 0, i32 1 + %message_.i.i156.i1023 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar146.i868, i64 0, i32 1 + %message_.i.i179.i1057 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar191.i873, i64 0, i32 1 + %message_.i.i200.i1058 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar220.i878, i64 0, i32 1 + %message_.i.i224.i990 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar254.i883, i64 0, i32 1 br label %for.body13 for.body5: ; preds = %for.inc, %for.inc7 - %storemerge51414 = phi i32 [ %add, %for.inc7 ], [ 100, %for.inc ] - %sizes.sroa.0.71413 = phi ptr [ %sizes.sroa.0.8, %for.inc7 ], [ %sizes.sroa.0.1, %for.inc ] - %sizes.sroa.8.21412 = phi ptr [ %sizes.sroa.8.3, %for.inc7 ], [ %sizes.sroa.8.1, %for.inc ] - %sizes.sroa.17.21411 = phi ptr [ %sizes.sroa.17.3, %for.inc7 ], [ %sizes.sroa.17.1, %for.inc ] - %cmp.not.i11 = icmp eq ptr %sizes.sroa.8.21412, %sizes.sroa.17.21411 + %storemerge51415 = phi i32 [ %add, %for.inc7 ], [ 100, %for.inc ] + %sizes.sroa.0.71414 = phi ptr [ %sizes.sroa.0.8, %for.inc7 ], [ %sizes.sroa.0.1, %for.inc ] + %sizes.sroa.8.21413 = phi ptr [ %sizes.sroa.8.3, %for.inc7 ], [ %sizes.sroa.8.1, %for.inc ] + %sizes.sroa.17.21412 = phi ptr [ %sizes.sroa.17.3, %for.inc7 ], [ %sizes.sroa.17.1, %for.inc ] + %cmp.not.i11 = icmp eq ptr %sizes.sroa.8.21413, %sizes.sroa.17.21412 br i1 %cmp.not.i11, label %if.else.i14, label %if.then.i12 if.then.i12: ; preds = %for.body5 - store i32 %storemerge51414, ptr %sizes.sroa.8.21412, align 4 + store i32 %storemerge51415, ptr %sizes.sroa.8.21413, align 4 br label %for.inc7 if.else.i14: ; preds = %for.body5 - %sub.ptr.lhs.cast.i.i.i.i15 = ptrtoint ptr %sizes.sroa.8.21412 to i64 - %sub.ptr.rhs.cast.i.i.i.i16 = ptrtoint ptr %sizes.sroa.0.71413 to i64 + %sub.ptr.lhs.cast.i.i.i.i15 = ptrtoint ptr %sizes.sroa.8.21413 to i64 + %sub.ptr.rhs.cast.i.i.i.i16 = ptrtoint ptr %sizes.sroa.0.71414 to i64 %sub.ptr.sub.i.i.i.i17 = sub i64 %sub.ptr.lhs.cast.i.i.i.i15, %sub.ptr.rhs.cast.i.i.i.i16 %cmp.i.i.i18 = icmp eq i64 %sub.ptr.sub.i.i.i.i17, 9223372036854775804 - br i1 %cmp.i.i.i18, label %if.then.i.i.i41, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i19 + br i1 %cmp.i.i.i18, label %if.then.i.i.i42, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i19 -if.then.i.i.i41: ; preds = %if.else.i14 +if.then.i.i.i42: ; preds = %if.else.i14 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.97) #25 - to label %.noexc42 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp + to label %.noexc43 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp -.noexc42: ; preds = %if.then.i.i.i41 +.noexc43: ; preds = %if.then.i.i.i42 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i19: ; preds = %if.else.i14 @@ -21333,44 +21403,45 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i19: ; preds = %if.else.i14 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i28: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i19 %mul.i.i.i.i.i29 = shl nuw nsw i64 %cond.i.i.i26, 2 - %call5.i.i.i.i.i44 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i29) #24 + %call5.i.i.i.i.i45 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i29) #24 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i30 unwind label %lpad.loopexit.split-lp.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i30: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i28, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i19 - %cond.i10.i.i31 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i19 ], [ %call5.i.i.i.i.i44, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i28 ] + %cond.i10.i.i31 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i19 ], [ %call5.i.i.i.i.i45, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i28 ] %add.ptr.i.i32 = getelementptr inbounds i32, ptr %cond.i10.i.i31, i64 %sub.ptr.div.i.i.i.i20 - store i32 %storemerge51414, ptr %add.ptr.i.i32, align 4 - %cmp.i.i.i11.i.i33 = icmp sgt i64 %sub.ptr.div.i.i.i.i20, 0 - br i1 %cmp.i.i.i11.i.i33, label %if.then.i.i.i12.i.i40, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i34 + store i32 %storemerge51415, ptr %add.ptr.i.i32, align 4 + %cmp.i.i.i11.i.i33 = icmp sgt i64 %sub.ptr.sub.i.i.i.i17, 0 + br i1 %cmp.i.i.i11.i.i33, label %if.then.i.i.i12.i.i41, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i34 -if.then.i.i.i12.i.i40: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i30 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i31, ptr align 4 %sizes.sroa.0.71413, i64 %sub.ptr.sub.i.i.i.i17, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i34 +if.then.i.i.i12.i.i41: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i30 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i31, ptr align 4 %sizes.sroa.0.71414, i64 %sub.ptr.sub.i.i.i.i17, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i34 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i34: ; preds = %if.then.i.i.i12.i.i40, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i30 - %tobool.not.i.i.i36 = icmp eq ptr %sizes.sroa.0.71413, null - br i1 %tobool.not.i.i.i36, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i38, label %if.then.i21.i.i37 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i34: ; preds = %if.then.i.i.i12.i.i41, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i30 + %add.ptr.i.i.i.i.i35 = getelementptr inbounds i8, ptr %cond.i10.i.i31, i64 %sub.ptr.sub.i.i.i.i17 + %tobool.not.i.i.i37 = icmp eq ptr %sizes.sroa.0.71414, null + br i1 %tobool.not.i.i.i37, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i39, label %if.then.i20.i.i38 -if.then.i21.i.i37: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i34 - tail call void @_ZdlPv(ptr noundef nonnull %sizes.sroa.0.71413) #23 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i38 +if.then.i20.i.i38: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i34 + tail call void @_ZdlPv(ptr noundef nonnull %sizes.sroa.0.71414) #23 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i39 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i38: ; preds = %if.then.i21.i.i37, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i34 - %add.ptr19.i.i39 = getelementptr inbounds i32, ptr %cond.i10.i.i31, i64 %cond.i.i.i26 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i39: ; preds = %if.then.i20.i.i38, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i34 + %add.ptr19.i.i40 = getelementptr inbounds i32, ptr %cond.i10.i.i31, i64 %cond.i.i.i26 br label %for.inc7 -for.inc7: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i38, %if.then.i12 - %sizes.sroa.17.3 = phi ptr [ %add.ptr19.i.i39, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i38 ], [ %sizes.sroa.17.21411, %if.then.i12 ] - %add.ptr.i.i32.pn = phi ptr [ %add.ptr.i.i32, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i38 ], [ %sizes.sroa.8.21412, %if.then.i12 ] - %sizes.sroa.0.8 = phi ptr [ %cond.i10.i.i31, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i38 ], [ %sizes.sroa.0.71413, %if.then.i12 ] - %sizes.sroa.8.3 = getelementptr inbounds i32, ptr %add.ptr.i.i32.pn, i64 1 - %add = add nuw nsw i32 %storemerge51414, 100 - %cmp4 = icmp ult i32 %storemerge51414, 901 +for.inc7: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i39, %if.then.i12 + %sizes.sroa.17.3 = phi ptr [ %add.ptr19.i.i40, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i39 ], [ %sizes.sroa.17.21412, %if.then.i12 ] + %add.ptr.i.i.i.i.i35.pn = phi ptr [ %add.ptr.i.i.i.i.i35, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i39 ], [ %sizes.sroa.8.21413, %if.then.i12 ] + %sizes.sroa.0.8 = phi ptr [ %cond.i10.i.i31, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i39 ], [ %sizes.sroa.0.71414, %if.then.i12 ] + %sizes.sroa.8.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i35.pn, i64 1 + %add = add nuw nsw i32 %storemerge51415, 100 + %cmp4 = icmp ult i32 %storemerge51415, 901 br i1 %cmp4, label %for.body5, label %for.cond11.preheader, !llvm.loop !345 for.body13: ; preds = %for.body13.lr.ph, %for.inc19 - %__begin1.sroa.0.01416 = phi ptr [ %sizes.sroa.0.8, %for.body13.lr.ph ], [ %incdec.ptr.i1300, %for.inc19 ] - %0 = load i32, ptr %__begin1.sroa.0.01416, align 4 + %__begin1.sroa.0.01417 = phi ptr [ %sizes.sroa.0.8, %for.body13.lr.ph ], [ %incdec.ptr.i1301, %for.inc19 ] + %0 = load i32, ptr %__begin1.sroa.0.01417, align 4 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.addr.i) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_254.i) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_255.i) @@ -21419,14 +21490,14 @@ for.body13: ; preds = %for.body13.lr.ph, % call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp270.i) store i32 %0, ptr %n.addr.i, align 4 invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i, ptr noundef nonnull @.str.3, i32 noundef 254, ptr noundef nonnull align 4 dereferenceable(4) %n.addr.i) - to label %.noexc54 unwind label %lpad.loopexit + to label %.noexc55 unwind label %lpad.loopexit -.noexc54: ; preds = %for.body13 +.noexc55: ; preds = %for.body13 store i32 0, ptr %ref.tmp.i, align 4 invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i, ptr noundef nonnull @.str.3, i32 noundef 255, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i) to label %invoke.cont.i unwind label %lpad.i -invoke.cont.i: ; preds = %.noexc54 +invoke.cont.i: ; preds = %.noexc55 store i32 0, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 store i32 0, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 %1 = load i32, ptr %n.addr.i, align 4 @@ -21468,8 +21539,8 @@ for.inc.i.i.i: ; preds = %for.inc.i.i.i, %cal store i32 0, ptr %value_.i.i.i.i.i.i, align 8 %inc.i.i.i.i.i.i = add nuw nsw i32 %inc.i.i.i13.i.i.i, 1 %incdec.ptr4.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i, i64 1 - %cmp.not.i.i.i47 = icmp eq ptr %incdec.ptr4.i.i.i, %add.ptr.i.i.i - br i1 %cmp.not.i.i.i47, label %for.cond.for.end_crit_edge.i.i.i, label %for.inc.i.i.i, !llvm.loop !346 + %cmp.not.i.i.i48 = icmp eq ptr %incdec.ptr4.i.i.i, %add.ptr.i.i.i + br i1 %cmp.not.i.i.i48, label %for.cond.for.end_crit_edge.i.i.i, label %for.inc.i.i.i, !llvm.loop !346 for.cond.for.end_crit_edge.i.i.i: ; preds = %for.inc.i.i.i store i32 %inc.i.i.i.i.i.i, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 @@ -21486,20 +21557,20 @@ invoke.cont10.i: ; preds = %invoke.cont8.i %2 = load i8, ptr %gtest_ar.i, align 8 %3 = and i8 %2, 1 %tobool.i.not.i = icmp eq i8 %3, 0 - br i1 %tobool.i.not.i, label %if.else.i52, label %if.end.i + br i1 %tobool.i.not.i, label %if.else.i53, label %if.end.i -lpad.i: ; preds = %.noexc54 +lpad.i: ; preds = %.noexc55 %4 = landingpad { ptr, i32 } cleanup br label %ehcleanup282.i lpad2.i.loopexit: ; preds = %for.inc.preheader.i.i.i - %lpad.loopexit1322 = landingpad { ptr, i32 } + %lpad.loopexit1323 = landingpad { ptr, i32 } cleanup br label %ehcleanup281.i lpad2.i.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i - %lpad.loopexit.split-lp1323 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1324 = landingpad { ptr, i32 } cleanup br label %ehcleanup281.i @@ -21518,11 +21589,11 @@ lpad5.loopexit.split-lp.loopexit.split-lp.i: ; preds = %_ZN7testing15Assert cleanup br label %ehcleanup260.i -if.else.i52: ; preds = %invoke.cont10.i +if.else.i53: ; preds = %invoke.cont10.i invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i) to label %invoke.cont14.i unwind label %lpad13.i -invoke.cont14.i: ; preds = %if.else.i52 +invoke.cont14.i: ; preds = %if.else.i53 %5 = load ptr, ptr %message_.i.i.i, align 8 %cmp.i.i.not.i.i.i = icmp eq ptr %5, null br i1 %cmp.i.i.not.i.i.i, label %invoke.cont17.i, label %cond.true.i.i.i @@ -21532,8 +21603,8 @@ cond.true.i.i.i: ; preds = %invoke.cont14.i br label %invoke.cont17.i invoke.cont17.i: ; preds = %cond.true.i.i.i, %invoke.cont14.i - %cond.i.i.i53 = phi ptr [ %call4.i.i.i, %cond.true.i.i.i ], [ @.str.123, %invoke.cont14.i ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 261, ptr noundef %cond.i.i.i53) + %cond.i.i.i54 = phi ptr [ %call4.i.i.i, %cond.true.i.i.i ], [ @.str.123, %invoke.cont14.i ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 261, ptr noundef %cond.i.i.i54) to label %invoke.cont19.i unwind label %lpad16.i invoke.cont19.i: ; preds = %invoke.cont17.i @@ -21557,7 +21628,7 @@ _ZN7testing7MessageD2Ev.exit.i: ; preds = %_ZNKSt14default_del store ptr null, ptr %ref.tmp12.i, align 8 br label %if.end.i -lpad13.i: ; preds = %if.else.i52 +lpad13.i: ; preds = %if.else.i53 %8 = landingpad { ptr, i32 } cleanup br label %ehcleanup22.i @@ -21706,12 +21777,12 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP invoke.cont58.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i, %if.end48.i store ptr null, ptr %message_.i.i70.i, align 8 - %add.ptr.i.i48 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i, i64 %conv.i + %add.ptr.i.i49 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i, i64 %conv.i %26 = load i32, ptr %n.addr.i, align 4 %idx.ext.i = sext i32 %26 to i64 %add.ptr.i = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i, i64 %idx.ext.i store ptr %add.ptr.i, ptr %ref.tmp57.i, align 8 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIPN12_GLOBAL__N_118ConstructionTesterEEclIS4_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar50.i, ptr %add.ptr.i.i48, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp57.i) + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIPN12_GLOBAL__N_118ConstructionTesterEEclIS4_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar50.i, ptr %add.ptr.i.i49, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp57.i) to label %invoke.cont60.i unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i invoke.cont60.i: ; preds = %invoke.cont58.i @@ -21923,8 +21994,8 @@ invoke.cont110.i: ; preds = %invoke.cont110.i, % %52 = trunc i64 %indvars.iv.i to i32 store i32 %52, ptr %value_.i.i, align 8 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 - %exitcond1430.not = icmp eq i64 %indvars.iv.next.i, %51 - br i1 %exitcond1430.not, label %invoke.cont127.i, label %invoke.cont110.i, !llvm.loop !347 + %exitcond1431.not = icmp eq i64 %indvars.iv.next.i, %51 + br i1 %exitcond1431.not, label %invoke.cont127.i, label %invoke.cont110.i, !llvm.loop !347 ehcleanup104.i: ; preds = %_ZN7testing7MessageD2Ev.exit127.i, %lpad92.i %.pn27.pn.i = phi { ptr, i32 } [ %.pn27.i, %_ZN7testing7MessageD2Ev.exit127.i ], [ %44, %lpad92.i ] @@ -22161,8 +22232,8 @@ for.body183.i: ; preds = %for.body183.i, %for %value_.i176.i = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i, i64 %indvars.iv259.i, i32 1 %80 = trunc i64 %indvars.iv.next260.i to i32 store i32 %80, ptr %value_.i176.i, align 8 - %exitcond1431.not = icmp eq i64 %indvars.iv.next260.i, %53 - br i1 %exitcond1431.not, label %invoke.cont204.lr.ph.i, label %for.body183.i, !llvm.loop !349 + %exitcond1432.not = icmp eq i64 %indvars.iv.next260.i, %53 + br i1 %exitcond1432.not, label %invoke.cont204.lr.ph.i, label %for.body183.i, !llvm.loop !349 invoke.cont204.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit219.i, %invoke.cont204.lr.ph.i %indvars.iv262.i = phi i64 [ 0, %invoke.cont204.lr.ph.i ], [ %indvars.iv.next263.i, %_ZN7testing15AssertionResultD2Ev.exit219.i ] @@ -22388,12 +22459,12 @@ invoke.cont5.preheader.i.i: ; preds = %for.end259.i br label %invoke.cont5.i.i invoke.cont5.i.i: ; preds = %invoke.cont5.i.i, %invoke.cont5.preheader.i.i - %cur.013.i.i = phi ptr [ %incdec.ptr.i.i49, %invoke.cont5.i.i ], [ %this.val.i.i, %invoke.cont5.preheader.i.i ] + %cur.013.i.i = phi ptr [ %incdec.ptr.i.i50, %invoke.cont5.i.i ], [ %this.val.i.i, %invoke.cont5.preheader.i.i ] %inc.i.i.i712.i.i = phi i32 [ %inc.i.i.i.i.i, %invoke.cont5.i.i ], [ %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i, %invoke.cont5.preheader.i.i ] store ptr null, ptr %cur.013.i.i, align 8 %inc.i.i.i.i.i = add nsw i32 %inc.i.i.i712.i.i, 1 - %incdec.ptr.i.i49 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.013.i.i, i64 1 - %cmp.not.i.i = icmp eq ptr %incdec.ptr.i.i49, %add.ptr.i.i220.i + %incdec.ptr.i.i50 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.013.i.i, i64 1 + %cmp.not.i.i = icmp eq ptr %incdec.ptr.i.i50, %add.ptr.i.i220.i br i1 %cmp.not.i.i, label %invoke.cont11.i.i.i, label %invoke.cont5.i.i, !llvm.loop !351 invoke.cont11.i.i.i: ; preds = %invoke.cont5.i.i @@ -22404,10 +22475,10 @@ invoke.cont11.i.i.i: ; preds = %invoke.cont5.i.i _ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm0ESaIS2_EED2Ev.exit.i: ; preds = %invoke.cont11.i.i.i, %for.end259.i %107 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4, !noalias !352 %108 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4, !noalias !352 - %cmp.i.i.i50 = icmp eq i32 %107, %108 - br i1 %cmp.i.i.i50, label %if.then.i.i.i51, label %if.end.i.i.i + %cmp.i.i.i51 = icmp eq i32 %107, %108 + br i1 %cmp.i.i.i51, label %if.then.i.i.i52, label %if.end.i.i.i -if.then.i.i.i51: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm0ESaIS2_EED2Ev.exit.i +if.then.i.i.i52: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm0ESaIS2_EED2Ev.exit.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar261.i) to label %invoke.cont263.i unwind label %lpad262.i @@ -22415,7 +22486,7 @@ if.end.i.i.i: ; preds = %_ZN4absl10FixedArra invoke void @_ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar261.i, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.203, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE) to label %invoke.cont263.i unwind label %lpad262.i -invoke.cont263.i: ; preds = %if.end.i.i.i, %if.then.i.i.i51 +invoke.cont263.i: ; preds = %if.end.i.i.i, %if.then.i.i.i52 %109 = load i8, ptr %gtest_ar261.i, align 8 %110 = and i8 %109, 1 %tobool.i223.not.i = icmp eq i8 %110, 0 @@ -22426,7 +22497,7 @@ ehcleanup260.i: ; preds = %ehcleanup256.i, %eh call fastcc void @_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm0ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %array.i) #22 br label %ehcleanup281.i -lpad262.i: ; preds = %if.end.i.i.i, %if.then.i.i.i51 +lpad262.i: ; preds = %if.end.i.i.i, %if.then.i.i.i52 %111 = landingpad { ptr, i32 } cleanup br label %ehcleanup281.i @@ -22519,7 +22590,7 @@ ehcleanup280.i: ; preds = %_ZN7testing7Message br label %ehcleanup281.i ehcleanup281.i: ; preds = %lpad2.i.loopexit, %lpad2.i.loopexit.split-lp, %ehcleanup280.i, %lpad262.i, %ehcleanup260.i - %.pn45.pn.i = phi { ptr, i32 } [ %.pn45.i, %ehcleanup260.i ], [ %.pn30.pn.i, %ehcleanup280.i ], [ %111, %lpad262.i ], [ %lpad.loopexit1322, %lpad2.i.loopexit ], [ %lpad.loopexit.split-lp1323, %lpad2.i.loopexit.split-lp ] + %.pn45.pn.i = phi { ptr, i32 } [ %.pn45.i, %ehcleanup260.i ], [ %.pn30.pn.i, %ehcleanup280.i ], [ %111, %lpad262.i ], [ %lpad.loopexit1323, %lpad2.i.loopexit ], [ %lpad.loopexit.split-lp1324, %lpad2.i.loopexit.split-lp ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i) #22 br label %ehcleanup282.i @@ -22578,25 +22649,25 @@ invoke.cont15: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar261.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp267.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp270.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.addr.i55) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_254.i56) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_255.i57) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i58) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %array.i59) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar.i60) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i61) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7.i62) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp12.i63) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp15.i64) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar23.i65) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp24.i66) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp29.i67) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp36.i68) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp39.i69) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar50.i70) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp57.i71) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp64.i72) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp67.i73) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.addr.i56) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_254.i57) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_255.i58) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i59) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %array.i60) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar.i61) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i62) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7.i63) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp12.i64) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp15.i65) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar23.i66) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp24.i67) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp29.i68) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp36.i69) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp39.i70) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar50.i71) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp57.i72) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp64.i73) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp67.i74) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar81.i) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp82.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp90.i) @@ -22605,7 +22676,7 @@ invoke.cont15: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp119.i) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp123.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp132.i) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp135.i74) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp135.i75) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar146.i) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp147.i) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp151.i) @@ -22613,7 +22684,7 @@ invoke.cont15: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp162.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar191.i) call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp192.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp197.i75) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp197.i76) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp206.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp209.i) call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar220.i) @@ -22624,439 +22695,439 @@ invoke.cont15: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar254.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp260.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp263.i) - store i32 %0, ptr %n.addr.i55, align 4 - invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i56, ptr noundef nonnull @.str.3, i32 noundef 254, ptr noundef nonnull align 4 dereferenceable(4) %n.addr.i55) - to label %.noexc375 unwind label %lpad.loopexit + store i32 %0, ptr %n.addr.i56, align 4 + invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i57, ptr noundef nonnull @.str.3, i32 noundef 254, ptr noundef nonnull align 4 dereferenceable(4) %n.addr.i56) + to label %.noexc376 unwind label %lpad.loopexit -.noexc375: ; preds = %invoke.cont15 - store i32 1, ptr %ref.tmp.i58, align 4 - invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i57, ptr noundef nonnull @.str.3, i32 noundef 255, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i58) - to label %invoke.cont.i78 unwind label %lpad.i76 +.noexc376: ; preds = %invoke.cont15 + store i32 1, ptr %ref.tmp.i59, align 4 + invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i58, ptr noundef nonnull @.str.3, i32 noundef 255, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i59) + to label %invoke.cont.i79 unwind label %lpad.i77 -invoke.cont.i78: ; preds = %.noexc375 +invoke.cont.i79: ; preds = %.noexc376 store i32 0, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 store i32 0, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 - %121 = load i32, ptr %n.addr.i55, align 4 - %conv.i79 = sext i32 %121 to i64 - store i64 %conv.i79, ptr %size_alloc_.i.i.i, align 8 - %cmp.i.i.i.i.i80 = icmp ult i32 %121, 2 - br i1 %cmp.i.i.i.i.i80, label %invoke.cont.i.i, label %if.else.i.i.i.i81 + %121 = load i32, ptr %n.addr.i56, align 4 + %conv.i80 = sext i32 %121 to i64 + store i64 %conv.i80, ptr %size_alloc_.i.i.i, align 8 + %cmp.i.i.i.i.i81 = icmp ult i32 %121, 2 + br i1 %cmp.i.i.i.i.i81, label %invoke.cont.i.i, label %if.else.i.i.i.i82 -if.else.i.i.i.i81: ; preds = %invoke.cont.i78 - %cmp.i.i.i.i.i.i82 = icmp slt i32 %121, 0 - br i1 %cmp.i.i.i.i.i.i82, label %if.then3.i.i.i.i.i.i372, label %invoke.cont.thread.i.i +if.else.i.i.i.i82: ; preds = %invoke.cont.i79 + %cmp.i.i.i.i.i.i83 = icmp slt i32 %121, 0 + br i1 %cmp.i.i.i.i.i.i83, label %if.then3.i.i.i.i.i.i373, label %invoke.cont.thread.i.i -if.then3.i.i.i.i.i.i372: ; preds = %if.else.i.i.i.i81 +if.then3.i.i.i.i.i.i373: ; preds = %if.else.i.i.i.i82 invoke void @_ZSt28__throw_bad_array_new_lengthv() #25 - to label %.noexc.i373 unwind label %lpad2.i85.loopexit.split-lp + to label %.noexc.i374 unwind label %lpad2.i86.loopexit.split-lp -.noexc.i373: ; preds = %if.then3.i.i.i.i.i.i372 +.noexc.i374: ; preds = %if.then3.i.i.i.i.i.i373 unreachable -invoke.cont.thread.i.i: ; preds = %if.else.i.i.i.i81 - %mul.i.i.i.i.i.i83 = shl nuw nsw i64 %conv.i79, 4 - %call5.i.i.i2.i.i61.i84 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i83) #24 - to label %call5.i.i.i2.i.i.noexc.i87 unwind label %lpad2.i85.loopexit +invoke.cont.thread.i.i: ; preds = %if.else.i.i.i.i82 + %mul.i.i.i.i.i.i84 = shl nuw nsw i64 %conv.i80, 4 + %call5.i.i.i2.i.i61.i85 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i84) #24 + to label %call5.i.i.i2.i.i.noexc.i88 unwind label %lpad2.i86.loopexit -call5.i.i.i2.i.i.noexc.i87: ; preds = %invoke.cont.thread.i.i - store ptr %call5.i.i.i2.i.i61.i84, ptr %data_.i2.i.i88, align 8 - br label %for.inc.preheader.i.i.i89 +call5.i.i.i2.i.i.noexc.i88: ; preds = %invoke.cont.thread.i.i + store ptr %call5.i.i.i2.i.i61.i85, ptr %data_.i2.i.i89, align 8 + br label %for.inc.preheader.i.i.i90 -invoke.cont.i.i: ; preds = %invoke.cont.i78 - store ptr %array.i59, ptr %data_.i2.i.i88, align 8 +invoke.cont.i.i: ; preds = %invoke.cont.i79 + store ptr %array.i60, ptr %data_.i2.i.i89, align 8 %cmp.not2.i.i.i = icmp eq i32 %121, 0 - br i1 %cmp.not2.i.i.i, label %invoke.cont6.i, label %for.inc.preheader.i.i.i89 - -for.inc.preheader.i.i.i89: ; preds = %invoke.cont.i.i, %call5.i.i.i2.i.i.noexc.i87 - %retval.0.i.i5.i.i = phi ptr [ %call5.i.i.i2.i.i61.i84, %call5.i.i.i2.i.i.noexc.i87 ], [ %array.i59, %invoke.cont.i.i ] - %add.ptr.i6.i.i = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %retval.0.i.i5.i.i, i64 %conv.i79 - br label %for.inc.i.i.i90 - -for.inc.i.i.i90: ; preds = %for.inc.i.i.i90, %for.inc.preheader.i.i.i89 - %cur.04.i.i.i91 = phi ptr [ %incdec.ptr4.i.i.i95, %for.inc.i.i.i90 ], [ %retval.0.i.i5.i.i, %for.inc.preheader.i.i.i89 ] - %inc.i.i.i13.i.i.i92 = phi i32 [ %inc.i.i.i.i.i.i94, %for.inc.i.i.i90 ], [ 0, %for.inc.preheader.i.i.i89 ] - store ptr %cur.04.i.i.i91, ptr %cur.04.i.i.i91, align 8 - %value_.i.i.i.i.i.i93 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i91, i64 0, i32 1 - store i32 0, ptr %value_.i.i.i.i.i.i93, align 8 - %inc.i.i.i.i.i.i94 = add nuw nsw i32 %inc.i.i.i13.i.i.i92, 1 - %incdec.ptr4.i.i.i95 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i91, i64 1 - %cmp.not.i.i.i96 = icmp eq ptr %incdec.ptr4.i.i.i95, %add.ptr.i6.i.i - br i1 %cmp.not.i.i.i96, label %for.cond.for.end_crit_edge.i.i.i97, label %for.inc.i.i.i90, !llvm.loop !346 - -for.cond.for.end_crit_edge.i.i.i97: ; preds = %for.inc.i.i.i90 - store i32 %inc.i.i.i.i.i.i94, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 + br i1 %cmp.not2.i.i.i, label %invoke.cont6.i, label %for.inc.preheader.i.i.i90 + +for.inc.preheader.i.i.i90: ; preds = %invoke.cont.i.i, %call5.i.i.i2.i.i.noexc.i88 + %retval.0.i.i5.i.i = phi ptr [ %call5.i.i.i2.i.i61.i85, %call5.i.i.i2.i.i.noexc.i88 ], [ %array.i60, %invoke.cont.i.i ] + %add.ptr.i6.i.i = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %retval.0.i.i5.i.i, i64 %conv.i80 + br label %for.inc.i.i.i91 + +for.inc.i.i.i91: ; preds = %for.inc.i.i.i91, %for.inc.preheader.i.i.i90 + %cur.04.i.i.i92 = phi ptr [ %incdec.ptr4.i.i.i96, %for.inc.i.i.i91 ], [ %retval.0.i.i5.i.i, %for.inc.preheader.i.i.i90 ] + %inc.i.i.i13.i.i.i93 = phi i32 [ %inc.i.i.i.i.i.i95, %for.inc.i.i.i91 ], [ 0, %for.inc.preheader.i.i.i90 ] + store ptr %cur.04.i.i.i92, ptr %cur.04.i.i.i92, align 8 + %value_.i.i.i.i.i.i94 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i92, i64 0, i32 1 + store i32 0, ptr %value_.i.i.i.i.i.i94, align 8 + %inc.i.i.i.i.i.i95 = add nuw nsw i32 %inc.i.i.i13.i.i.i93, 1 + %incdec.ptr4.i.i.i96 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i92, i64 1 + %cmp.not.i.i.i97 = icmp eq ptr %incdec.ptr4.i.i.i96, %add.ptr.i6.i.i + br i1 %cmp.not.i.i.i97, label %for.cond.for.end_crit_edge.i.i.i98, label %for.inc.i.i.i91, !llvm.loop !346 + +for.cond.for.end_crit_edge.i.i.i98: ; preds = %for.inc.i.i.i91 + store i32 %inc.i.i.i.i.i.i95, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 %array.val.pre.i = load i64, ptr %size_alloc_.i.i.i, align 8 br label %invoke.cont6.i -invoke.cont6.i: ; preds = %for.cond.for.end_crit_edge.i.i.i97, %invoke.cont.i.i - %array.val.i = phi i64 [ 0, %invoke.cont.i.i ], [ %array.val.pre.i, %for.cond.for.end_crit_edge.i.i.i97 ] - store i32 %121, ptr %ref.tmp4.i61, align 4 - store i64 %array.val.i, ptr %ref.tmp7.i62, align 8 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i60, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp4.i61, ptr noundef nonnull @.str.197, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7.i62) - to label %invoke.cont10.i101 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i98 +invoke.cont6.i: ; preds = %for.cond.for.end_crit_edge.i.i.i98, %invoke.cont.i.i + %array.val.i = phi i64 [ 0, %invoke.cont.i.i ], [ %array.val.pre.i, %for.cond.for.end_crit_edge.i.i.i98 ] + store i32 %121, ptr %ref.tmp4.i62, align 4 + store i64 %array.val.i, ptr %ref.tmp7.i63, align 8 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i61, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp4.i62, ptr noundef nonnull @.str.197, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7.i63) + to label %invoke.cont10.i102 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i99 -invoke.cont10.i101: ; preds = %invoke.cont6.i - %122 = load i8, ptr %gtest_ar.i60, align 8 +invoke.cont10.i102: ; preds = %invoke.cont6.i + %122 = load i8, ptr %gtest_ar.i61, align 8 %123 = and i8 %122, 1 - %tobool.i.not.i102 = icmp eq i8 %123, 0 - br i1 %tobool.i.not.i102, label %if.else.i345, label %if.end.i103 + %tobool.i.not.i103 = icmp eq i8 %123, 0 + br i1 %tobool.i.not.i103, label %if.else.i346, label %if.end.i104 -lpad.i76: ; preds = %.noexc375 +lpad.i77: ; preds = %.noexc376 %124 = landingpad { ptr, i32 } cleanup br label %ehcleanup275.i -lpad2.i85.loopexit: ; preds = %invoke.cont.thread.i.i - %lpad.loopexit1325 = landingpad { ptr, i32 } +lpad2.i86.loopexit: ; preds = %invoke.cont.thread.i.i + %lpad.loopexit1326 = landingpad { ptr, i32 } cleanup br label %ehcleanup274.i -lpad2.i85.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i372 - %lpad.loopexit.split-lp1326 = landingpad { ptr, i32 } +lpad2.i86.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i373 + %lpad.loopexit.split-lp1327 = landingpad { ptr, i32 } cleanup br label %ehcleanup274.i -lpad5.loopexit.i194: ; preds = %invoke.cont223.i, %invoke.cont199.i - %lpad.loopexit.i195 = landingpad { ptr, i32 } +lpad5.loopexit.i195: ; preds = %invoke.cont223.i, %invoke.cont199.i + %lpad.loopexit.i196 = landingpad { ptr, i32 } cleanup br label %ehcleanup253.i -lpad5.loopexit.split-lp.loopexit.i175: ; preds = %invoke.cont148.i, %invoke.cont125.i - %lpad.loopexit244.i176 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit.i176: ; preds = %invoke.cont148.i, %invoke.cont125.i + %lpad.loopexit244.i177 = landingpad { ptr, i32 } cleanup br label %ehcleanup253.i -lpad5.loopexit.split-lp.loopexit.split-lp.i98: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i127, %invoke.cont58.i116, %invoke.cont26.i, %invoke.cont6.i - %lpad.loopexit.split-lp245.i99 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit.split-lp.i99: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i128, %invoke.cont58.i117, %invoke.cont26.i, %invoke.cont6.i + %lpad.loopexit.split-lp245.i100 = landingpad { ptr, i32 } cleanup br label %ehcleanup253.i -if.else.i345: ; preds = %invoke.cont10.i101 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i63) - to label %invoke.cont14.i349 unwind label %lpad13.i346 - -invoke.cont14.i349: ; preds = %if.else.i345 - %125 = load ptr, ptr %message_.i.i.i350, align 8 - %cmp.i.i.not.i.i.i351 = icmp eq ptr %125, null - br i1 %cmp.i.i.not.i.i.i351, label %invoke.cont17.i354, label %cond.true.i.i.i352 - -cond.true.i.i.i352: ; preds = %invoke.cont14.i349 - %call4.i.i.i353 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #22 - br label %invoke.cont17.i354 - -invoke.cont17.i354: ; preds = %cond.true.i.i.i352, %invoke.cont14.i349 - %cond.i.i.i355 = phi ptr [ %call4.i.i.i353, %cond.true.i.i.i352 ], [ @.str.123, %invoke.cont14.i349 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i64, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 261, ptr noundef %cond.i.i.i355) - to label %invoke.cont19.i364 unwind label %lpad16.i356 - -invoke.cont19.i364: ; preds = %invoke.cont17.i354 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i64, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i63) - to label %invoke.cont21.i366 unwind label %lpad20.i365 - -invoke.cont21.i366: ; preds = %invoke.cont19.i364 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i64) #22 - %126 = load ptr, ptr %ref.tmp12.i63, align 8 - %cmp.not.i.i62.i367 = icmp eq ptr %126, null - br i1 %cmp.not.i.i62.i367, label %_ZN7testing7MessageD2Ev.exit.i371, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i368 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i368: ; preds = %invoke.cont21.i366 - %vtable.i.i.i.i369 = load ptr, ptr %126, align 8 - %vfn.i.i.i.i370 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i369, i64 1 - %127 = load ptr, ptr %vfn.i.i.i.i370, align 8 +if.else.i346: ; preds = %invoke.cont10.i102 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i64) + to label %invoke.cont14.i350 unwind label %lpad13.i347 + +invoke.cont14.i350: ; preds = %if.else.i346 + %125 = load ptr, ptr %message_.i.i.i351, align 8 + %cmp.i.i.not.i.i.i352 = icmp eq ptr %125, null + br i1 %cmp.i.i.not.i.i.i352, label %invoke.cont17.i355, label %cond.true.i.i.i353 + +cond.true.i.i.i353: ; preds = %invoke.cont14.i350 + %call4.i.i.i354 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #22 + br label %invoke.cont17.i355 + +invoke.cont17.i355: ; preds = %cond.true.i.i.i353, %invoke.cont14.i350 + %cond.i.i.i356 = phi ptr [ %call4.i.i.i354, %cond.true.i.i.i353 ], [ @.str.123, %invoke.cont14.i350 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i65, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 261, ptr noundef %cond.i.i.i356) + to label %invoke.cont19.i365 unwind label %lpad16.i357 + +invoke.cont19.i365: ; preds = %invoke.cont17.i355 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i65, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i64) + to label %invoke.cont21.i367 unwind label %lpad20.i366 + +invoke.cont21.i367: ; preds = %invoke.cont19.i365 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i65) #22 + %126 = load ptr, ptr %ref.tmp12.i64, align 8 + %cmp.not.i.i62.i368 = icmp eq ptr %126, null + br i1 %cmp.not.i.i62.i368, label %_ZN7testing7MessageD2Ev.exit.i372, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i369 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i369: ; preds = %invoke.cont21.i367 + %vtable.i.i.i.i370 = load ptr, ptr %126, align 8 + %vfn.i.i.i.i371 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i370, i64 1 + %127 = load ptr, ptr %vfn.i.i.i.i371, align 8 call void %127(ptr noundef nonnull align 8 dereferenceable(128) %126) #22 - br label %_ZN7testing7MessageD2Ev.exit.i371 + br label %_ZN7testing7MessageD2Ev.exit.i372 -_ZN7testing7MessageD2Ev.exit.i371: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i368, %invoke.cont21.i366 - store ptr null, ptr %ref.tmp12.i63, align 8 - br label %if.end.i103 +_ZN7testing7MessageD2Ev.exit.i372: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i369, %invoke.cont21.i367 + store ptr null, ptr %ref.tmp12.i64, align 8 + br label %if.end.i104 -lpad13.i346: ; preds = %if.else.i345 +lpad13.i347: ; preds = %if.else.i346 %128 = landingpad { ptr, i32 } cleanup - br label %ehcleanup22.i347 + br label %ehcleanup22.i348 -lpad16.i356: ; preds = %invoke.cont17.i354 +lpad16.i357: ; preds = %invoke.cont17.i355 %129 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i357 + br label %ehcleanup.i358 -lpad20.i365: ; preds = %invoke.cont19.i364 +lpad20.i366: ; preds = %invoke.cont19.i365 %130 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i64) #22 - br label %ehcleanup.i357 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i65) #22 + br label %ehcleanup.i358 -ehcleanup.i357: ; preds = %lpad20.i365, %lpad16.i356 - %.pn.i358 = phi { ptr, i32 } [ %130, %lpad20.i365 ], [ %129, %lpad16.i356 ] - %131 = load ptr, ptr %ref.tmp12.i63, align 8 - %cmp.not.i.i63.i359 = icmp eq ptr %131, null - br i1 %cmp.not.i.i63.i359, label %_ZN7testing7MessageD2Ev.exit67.i363, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i360 +ehcleanup.i358: ; preds = %lpad20.i366, %lpad16.i357 + %.pn.i359 = phi { ptr, i32 } [ %130, %lpad20.i366 ], [ %129, %lpad16.i357 ] + %131 = load ptr, ptr %ref.tmp12.i64, align 8 + %cmp.not.i.i63.i360 = icmp eq ptr %131, null + br i1 %cmp.not.i.i63.i360, label %_ZN7testing7MessageD2Ev.exit67.i364, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i361 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i360: ; preds = %ehcleanup.i357 - %vtable.i.i.i65.i361 = load ptr, ptr %131, align 8 - %vfn.i.i.i66.i362 = getelementptr inbounds ptr, ptr %vtable.i.i.i65.i361, i64 1 - %132 = load ptr, ptr %vfn.i.i.i66.i362, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i361: ; preds = %ehcleanup.i358 + %vtable.i.i.i65.i362 = load ptr, ptr %131, align 8 + %vfn.i.i.i66.i363 = getelementptr inbounds ptr, ptr %vtable.i.i.i65.i362, i64 1 + %132 = load ptr, ptr %vfn.i.i.i66.i363, align 8 call void %132(ptr noundef nonnull align 8 dereferenceable(128) %131) #22 - br label %_ZN7testing7MessageD2Ev.exit67.i363 + br label %_ZN7testing7MessageD2Ev.exit67.i364 -_ZN7testing7MessageD2Ev.exit67.i363: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i360, %ehcleanup.i357 - store ptr null, ptr %ref.tmp12.i63, align 8 - br label %ehcleanup22.i347 +_ZN7testing7MessageD2Ev.exit67.i364: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i361, %ehcleanup.i358 + store ptr null, ptr %ref.tmp12.i64, align 8 + br label %ehcleanup22.i348 -if.end.i103: ; preds = %_ZN7testing7MessageD2Ev.exit.i371, %invoke.cont10.i101 - %133 = load ptr, ptr %message_.i.i.i350, align 8 - %cmp.not.i.i68.i105 = icmp eq ptr %133, null - br i1 %cmp.not.i.i68.i105, label %invoke.cont26.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i106 +if.end.i104: ; preds = %_ZN7testing7MessageD2Ev.exit.i372, %invoke.cont10.i102 + %133 = load ptr, ptr %message_.i.i.i351, align 8 + %cmp.not.i.i68.i106 = icmp eq ptr %133, null + br i1 %cmp.not.i.i68.i106, label %invoke.cont26.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i107 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i106: ; preds = %if.end.i103 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i107: ; preds = %if.end.i104 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #22 call void @_ZdlPv(ptr noundef nonnull %133) #23 br label %invoke.cont26.i -invoke.cont26.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i106, %if.end.i103 - store ptr null, ptr %message_.i.i.i350, align 8 - %134 = load i32, ptr %n.addr.i55, align 4 - %conv25.i107 = sext i32 %134 to i64 - %mul.i108 = shl nsw i64 %conv25.i107, 4 - store i64 %mul.i108, ptr %ref.tmp24.i66, align 8 +invoke.cont26.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i107, %if.end.i104 + store ptr null, ptr %message_.i.i.i351, align 8 + %134 = load i32, ptr %n.addr.i56, align 4 + %conv25.i108 = sext i32 %134 to i64 + %mul.i109 = shl nsw i64 %conv25.i108, 4 + store i64 %mul.i109, ptr %ref.tmp24.i67, align 8 %array.val49.i = load i64, ptr %size_alloc_.i.i.i, align 8 - %mul.i.i109 = shl i64 %array.val49.i, 4 - store i64 %mul.i.i109, ptr %ref.tmp29.i67, align 8 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherImEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar23.i65, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24.i66, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29.i67) - to label %invoke.cont32.i110 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i98 + %mul.i.i110 = shl i64 %array.val49.i, 4 + store i64 %mul.i.i110, ptr %ref.tmp29.i68, align 8 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherImEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar23.i66, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24.i67, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29.i68) + to label %invoke.cont32.i111 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i99 -invoke.cont32.i110: ; preds = %invoke.cont26.i - %135 = load i8, ptr %gtest_ar23.i65, align 8 +invoke.cont32.i111: ; preds = %invoke.cont26.i + %135 = load i8, ptr %gtest_ar23.i66, align 8 %136 = and i8 %135, 1 - %tobool.i69.not.i111 = icmp eq i8 %136, 0 - br i1 %tobool.i69.not.i111, label %if.else35.i318, label %if.end48.i112 + %tobool.i69.not.i112 = icmp eq i8 %136, 0 + br i1 %tobool.i69.not.i112, label %if.else35.i319, label %if.end48.i113 -ehcleanup22.i347: ; preds = %_ZN7testing7MessageD2Ev.exit67.i363, %lpad13.i346 - %.pn.pn.i348 = phi { ptr, i32 } [ %.pn.i358, %_ZN7testing7MessageD2Ev.exit67.i363 ], [ %128, %lpad13.i346 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i60) #22 +ehcleanup22.i348: ; preds = %_ZN7testing7MessageD2Ev.exit67.i364, %lpad13.i347 + %.pn.pn.i349 = phi { ptr, i32 } [ %.pn.i359, %_ZN7testing7MessageD2Ev.exit67.i364 ], [ %128, %lpad13.i347 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i61) #22 br label %ehcleanup253.i -if.else35.i318: ; preds = %invoke.cont32.i110 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i68) - to label %invoke.cont38.i322 unwind label %lpad37.i319 - -invoke.cont38.i322: ; preds = %if.else35.i318 - %137 = load ptr, ptr %message_.i.i70.i323, align 8 - %cmp.i.i.not.i.i71.i324 = icmp eq ptr %137, null - br i1 %cmp.i.i.not.i.i71.i324, label %invoke.cont41.i327, label %cond.true.i.i72.i325 - -cond.true.i.i72.i325: ; preds = %invoke.cont38.i322 - %call4.i.i73.i326 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %137) #22 - br label %invoke.cont41.i327 - -invoke.cont41.i327: ; preds = %cond.true.i.i72.i325, %invoke.cont38.i322 - %cond.i.i74.i328 = phi ptr [ %call4.i.i73.i326, %cond.true.i.i72.i325 ], [ @.str.123, %invoke.cont38.i322 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i69, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 262, ptr noundef %cond.i.i74.i328) - to label %invoke.cont43.i337 unwind label %lpad40.i329 - -invoke.cont43.i337: ; preds = %invoke.cont41.i327 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i69, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i68) - to label %invoke.cont45.i339 unwind label %lpad44.i338 - -invoke.cont45.i339: ; preds = %invoke.cont43.i337 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i69) #22 - %138 = load ptr, ptr %ref.tmp36.i68, align 8 - %cmp.not.i.i76.i340 = icmp eq ptr %138, null - br i1 %cmp.not.i.i76.i340, label %_ZN7testing7MessageD2Ev.exit80.i344, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i341 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i341: ; preds = %invoke.cont45.i339 - %vtable.i.i.i78.i342 = load ptr, ptr %138, align 8 - %vfn.i.i.i79.i343 = getelementptr inbounds ptr, ptr %vtable.i.i.i78.i342, i64 1 - %139 = load ptr, ptr %vfn.i.i.i79.i343, align 8 +if.else35.i319: ; preds = %invoke.cont32.i111 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i69) + to label %invoke.cont38.i323 unwind label %lpad37.i320 + +invoke.cont38.i323: ; preds = %if.else35.i319 + %137 = load ptr, ptr %message_.i.i70.i324, align 8 + %cmp.i.i.not.i.i71.i325 = icmp eq ptr %137, null + br i1 %cmp.i.i.not.i.i71.i325, label %invoke.cont41.i328, label %cond.true.i.i72.i326 + +cond.true.i.i72.i326: ; preds = %invoke.cont38.i323 + %call4.i.i73.i327 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %137) #22 + br label %invoke.cont41.i328 + +invoke.cont41.i328: ; preds = %cond.true.i.i72.i326, %invoke.cont38.i323 + %cond.i.i74.i329 = phi ptr [ %call4.i.i73.i327, %cond.true.i.i72.i326 ], [ @.str.123, %invoke.cont38.i323 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i70, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 262, ptr noundef %cond.i.i74.i329) + to label %invoke.cont43.i338 unwind label %lpad40.i330 + +invoke.cont43.i338: ; preds = %invoke.cont41.i328 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i70, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i69) + to label %invoke.cont45.i340 unwind label %lpad44.i339 + +invoke.cont45.i340: ; preds = %invoke.cont43.i338 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i70) #22 + %138 = load ptr, ptr %ref.tmp36.i69, align 8 + %cmp.not.i.i76.i341 = icmp eq ptr %138, null + br i1 %cmp.not.i.i76.i341, label %_ZN7testing7MessageD2Ev.exit80.i345, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i342 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i342: ; preds = %invoke.cont45.i340 + %vtable.i.i.i78.i343 = load ptr, ptr %138, align 8 + %vfn.i.i.i79.i344 = getelementptr inbounds ptr, ptr %vtable.i.i.i78.i343, i64 1 + %139 = load ptr, ptr %vfn.i.i.i79.i344, align 8 call void %139(ptr noundef nonnull align 8 dereferenceable(128) %138) #22 - br label %_ZN7testing7MessageD2Ev.exit80.i344 + br label %_ZN7testing7MessageD2Ev.exit80.i345 -_ZN7testing7MessageD2Ev.exit80.i344: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i341, %invoke.cont45.i339 - store ptr null, ptr %ref.tmp36.i68, align 8 - br label %if.end48.i112 +_ZN7testing7MessageD2Ev.exit80.i345: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i342, %invoke.cont45.i340 + store ptr null, ptr %ref.tmp36.i69, align 8 + br label %if.end48.i113 -lpad37.i319: ; preds = %if.else35.i318 +lpad37.i320: ; preds = %if.else35.i319 %140 = landingpad { ptr, i32 } cleanup - br label %ehcleanup49.i320 + br label %ehcleanup49.i321 -lpad40.i329: ; preds = %invoke.cont41.i327 +lpad40.i330: ; preds = %invoke.cont41.i328 %141 = landingpad { ptr, i32 } cleanup - br label %ehcleanup47.i330 + br label %ehcleanup47.i331 -lpad44.i338: ; preds = %invoke.cont43.i337 +lpad44.i339: ; preds = %invoke.cont43.i338 %142 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i69) #22 - br label %ehcleanup47.i330 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i70) #22 + br label %ehcleanup47.i331 -ehcleanup47.i330: ; preds = %lpad44.i338, %lpad40.i329 - %.pn21.i331 = phi { ptr, i32 } [ %142, %lpad44.i338 ], [ %141, %lpad40.i329 ] - %143 = load ptr, ptr %ref.tmp36.i68, align 8 - %cmp.not.i.i81.i332 = icmp eq ptr %143, null - br i1 %cmp.not.i.i81.i332, label %_ZN7testing7MessageD2Ev.exit85.i336, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i333 +ehcleanup47.i331: ; preds = %lpad44.i339, %lpad40.i330 + %.pn21.i332 = phi { ptr, i32 } [ %142, %lpad44.i339 ], [ %141, %lpad40.i330 ] + %143 = load ptr, ptr %ref.tmp36.i69, align 8 + %cmp.not.i.i81.i333 = icmp eq ptr %143, null + br i1 %cmp.not.i.i81.i333, label %_ZN7testing7MessageD2Ev.exit85.i337, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i334 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i333: ; preds = %ehcleanup47.i330 - %vtable.i.i.i83.i334 = load ptr, ptr %143, align 8 - %vfn.i.i.i84.i335 = getelementptr inbounds ptr, ptr %vtable.i.i.i83.i334, i64 1 - %144 = load ptr, ptr %vfn.i.i.i84.i335, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i334: ; preds = %ehcleanup47.i331 + %vtable.i.i.i83.i335 = load ptr, ptr %143, align 8 + %vfn.i.i.i84.i336 = getelementptr inbounds ptr, ptr %vtable.i.i.i83.i335, i64 1 + %144 = load ptr, ptr %vfn.i.i.i84.i336, align 8 call void %144(ptr noundef nonnull align 8 dereferenceable(128) %143) #22 - br label %_ZN7testing7MessageD2Ev.exit85.i336 + br label %_ZN7testing7MessageD2Ev.exit85.i337 -_ZN7testing7MessageD2Ev.exit85.i336: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i333, %ehcleanup47.i330 - store ptr null, ptr %ref.tmp36.i68, align 8 - br label %ehcleanup49.i320 +_ZN7testing7MessageD2Ev.exit85.i337: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i334, %ehcleanup47.i331 + store ptr null, ptr %ref.tmp36.i69, align 8 + br label %ehcleanup49.i321 -if.end48.i112: ; preds = %_ZN7testing7MessageD2Ev.exit80.i344, %invoke.cont32.i110 - %145 = load ptr, ptr %message_.i.i70.i323, align 8 - %cmp.not.i.i87.i114 = icmp eq ptr %145, null - br i1 %cmp.not.i.i87.i114, label %invoke.cont58.i116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i115 +if.end48.i113: ; preds = %_ZN7testing7MessageD2Ev.exit80.i345, %invoke.cont32.i111 + %145 = load ptr, ptr %message_.i.i70.i324, align 8 + %cmp.not.i.i87.i115 = icmp eq ptr %145, null + br i1 %cmp.not.i.i87.i115, label %invoke.cont58.i117, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i116 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i115: ; preds = %if.end48.i112 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i116: ; preds = %if.end48.i113 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #22 call void @_ZdlPv(ptr noundef nonnull %145) #23 - br label %invoke.cont58.i116 + br label %invoke.cont58.i117 -invoke.cont58.i116: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i115, %if.end48.i112 - store ptr null, ptr %message_.i.i70.i323, align 8 +invoke.cont58.i117: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i116, %if.end48.i113 + store ptr null, ptr %message_.i.i70.i324, align 8 %array.val53.i = load i64, ptr %size_alloc_.i.i.i, align 8 - %array.val54.i117 = load ptr, ptr %data_.i2.i.i88, align 8 - %add.ptr.i.i118 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i117, i64 %array.val53.i - %146 = load i32, ptr %n.addr.i55, align 4 - %idx.ext.i119 = sext i32 %146 to i64 - %add.ptr.i120 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i117, i64 %idx.ext.i119 - store ptr %add.ptr.i120, ptr %ref.tmp57.i71, align 8 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIPN12_GLOBAL__N_118ConstructionTesterEEclIS4_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar50.i70, ptr %add.ptr.i.i118, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp57.i71) - to label %invoke.cont60.i121 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i98 - -invoke.cont60.i121: ; preds = %invoke.cont58.i116 - %147 = load i8, ptr %gtest_ar50.i70, align 8 + %array.val54.i118 = load ptr, ptr %data_.i2.i.i89, align 8 + %add.ptr.i.i119 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i118, i64 %array.val53.i + %146 = load i32, ptr %n.addr.i56, align 4 + %idx.ext.i120 = sext i32 %146 to i64 + %add.ptr.i121 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i118, i64 %idx.ext.i120 + store ptr %add.ptr.i121, ptr %ref.tmp57.i72, align 8 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIPN12_GLOBAL__N_118ConstructionTesterEEclIS4_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar50.i71, ptr %add.ptr.i.i119, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp57.i72) + to label %invoke.cont60.i122 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i99 + +invoke.cont60.i122: ; preds = %invoke.cont58.i117 + %147 = load i8, ptr %gtest_ar50.i71, align 8 %148 = and i8 %147, 1 - %tobool.i90.not.i122 = icmp eq i8 %148, 0 - br i1 %tobool.i90.not.i122, label %if.else63.i291, label %if.end76.i123 + %tobool.i90.not.i123 = icmp eq i8 %148, 0 + br i1 %tobool.i90.not.i123, label %if.else63.i292, label %if.end76.i124 -ehcleanup49.i320: ; preds = %_ZN7testing7MessageD2Ev.exit85.i336, %lpad37.i319 - %.pn21.pn.i321 = phi { ptr, i32 } [ %.pn21.i331, %_ZN7testing7MessageD2Ev.exit85.i336 ], [ %140, %lpad37.i319 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar23.i65) #22 +ehcleanup49.i321: ; preds = %_ZN7testing7MessageD2Ev.exit85.i337, %lpad37.i320 + %.pn21.pn.i322 = phi { ptr, i32 } [ %.pn21.i332, %_ZN7testing7MessageD2Ev.exit85.i337 ], [ %140, %lpad37.i320 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar23.i66) #22 br label %ehcleanup253.i -if.else63.i291: ; preds = %invoke.cont60.i121 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i72) - to label %invoke.cont66.i295 unwind label %lpad65.i292 - -invoke.cont66.i295: ; preds = %if.else63.i291 - %149 = load ptr, ptr %message_.i.i91.i296, align 8 - %cmp.i.i.not.i.i92.i297 = icmp eq ptr %149, null - br i1 %cmp.i.i.not.i.i92.i297, label %invoke.cont69.i300, label %cond.true.i.i93.i298 - -cond.true.i.i93.i298: ; preds = %invoke.cont66.i295 - %call4.i.i94.i299 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %149) #22 - br label %invoke.cont69.i300 - -invoke.cont69.i300: ; preds = %cond.true.i.i93.i298, %invoke.cont66.i295 - %cond.i.i95.i301 = phi ptr [ %call4.i.i94.i299, %cond.true.i.i93.i298 ], [ @.str.123, %invoke.cont66.i295 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i73, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 263, ptr noundef %cond.i.i95.i301) - to label %invoke.cont71.i310 unwind label %lpad68.i302 - -invoke.cont71.i310: ; preds = %invoke.cont69.i300 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i73, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i72) - to label %invoke.cont73.i312 unwind label %lpad72.i311 - -invoke.cont73.i312: ; preds = %invoke.cont71.i310 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i73) #22 - %150 = load ptr, ptr %ref.tmp64.i72, align 8 - %cmp.not.i.i97.i313 = icmp eq ptr %150, null - br i1 %cmp.not.i.i97.i313, label %_ZN7testing7MessageD2Ev.exit101.i317, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i314 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i314: ; preds = %invoke.cont73.i312 - %vtable.i.i.i99.i315 = load ptr, ptr %150, align 8 - %vfn.i.i.i100.i316 = getelementptr inbounds ptr, ptr %vtable.i.i.i99.i315, i64 1 - %151 = load ptr, ptr %vfn.i.i.i100.i316, align 8 +if.else63.i292: ; preds = %invoke.cont60.i122 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i73) + to label %invoke.cont66.i296 unwind label %lpad65.i293 + +invoke.cont66.i296: ; preds = %if.else63.i292 + %149 = load ptr, ptr %message_.i.i91.i297, align 8 + %cmp.i.i.not.i.i92.i298 = icmp eq ptr %149, null + br i1 %cmp.i.i.not.i.i92.i298, label %invoke.cont69.i301, label %cond.true.i.i93.i299 + +cond.true.i.i93.i299: ; preds = %invoke.cont66.i296 + %call4.i.i94.i300 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %149) #22 + br label %invoke.cont69.i301 + +invoke.cont69.i301: ; preds = %cond.true.i.i93.i299, %invoke.cont66.i296 + %cond.i.i95.i302 = phi ptr [ %call4.i.i94.i300, %cond.true.i.i93.i299 ], [ @.str.123, %invoke.cont66.i296 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i74, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 263, ptr noundef %cond.i.i95.i302) + to label %invoke.cont71.i311 unwind label %lpad68.i303 + +invoke.cont71.i311: ; preds = %invoke.cont69.i301 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i74, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i73) + to label %invoke.cont73.i313 unwind label %lpad72.i312 + +invoke.cont73.i313: ; preds = %invoke.cont71.i311 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i74) #22 + %150 = load ptr, ptr %ref.tmp64.i73, align 8 + %cmp.not.i.i97.i314 = icmp eq ptr %150, null + br i1 %cmp.not.i.i97.i314, label %_ZN7testing7MessageD2Ev.exit101.i318, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i315 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i315: ; preds = %invoke.cont73.i313 + %vtable.i.i.i99.i316 = load ptr, ptr %150, align 8 + %vfn.i.i.i100.i317 = getelementptr inbounds ptr, ptr %vtable.i.i.i99.i316, i64 1 + %151 = load ptr, ptr %vfn.i.i.i100.i317, align 8 call void %151(ptr noundef nonnull align 8 dereferenceable(128) %150) #22 - br label %_ZN7testing7MessageD2Ev.exit101.i317 + br label %_ZN7testing7MessageD2Ev.exit101.i318 -_ZN7testing7MessageD2Ev.exit101.i317: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i314, %invoke.cont73.i312 - store ptr null, ptr %ref.tmp64.i72, align 8 - br label %if.end76.i123 +_ZN7testing7MessageD2Ev.exit101.i318: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i315, %invoke.cont73.i313 + store ptr null, ptr %ref.tmp64.i73, align 8 + br label %if.end76.i124 -lpad65.i292: ; preds = %if.else63.i291 +lpad65.i293: ; preds = %if.else63.i292 %152 = landingpad { ptr, i32 } cleanup - br label %ehcleanup77.i293 + br label %ehcleanup77.i294 -lpad68.i302: ; preds = %invoke.cont69.i300 +lpad68.i303: ; preds = %invoke.cont69.i301 %153 = landingpad { ptr, i32 } cleanup - br label %ehcleanup75.i303 + br label %ehcleanup75.i304 -lpad72.i311: ; preds = %invoke.cont71.i310 +lpad72.i312: ; preds = %invoke.cont71.i311 %154 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i73) #22 - br label %ehcleanup75.i303 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i74) #22 + br label %ehcleanup75.i304 -ehcleanup75.i303: ; preds = %lpad72.i311, %lpad68.i302 - %.pn24.i304 = phi { ptr, i32 } [ %154, %lpad72.i311 ], [ %153, %lpad68.i302 ] - %155 = load ptr, ptr %ref.tmp64.i72, align 8 - %cmp.not.i.i102.i305 = icmp eq ptr %155, null - br i1 %cmp.not.i.i102.i305, label %_ZN7testing7MessageD2Ev.exit106.i309, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i306 +ehcleanup75.i304: ; preds = %lpad72.i312, %lpad68.i303 + %.pn24.i305 = phi { ptr, i32 } [ %154, %lpad72.i312 ], [ %153, %lpad68.i303 ] + %155 = load ptr, ptr %ref.tmp64.i73, align 8 + %cmp.not.i.i102.i306 = icmp eq ptr %155, null + br i1 %cmp.not.i.i102.i306, label %_ZN7testing7MessageD2Ev.exit106.i310, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i307 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i306: ; preds = %ehcleanup75.i303 - %vtable.i.i.i104.i307 = load ptr, ptr %155, align 8 - %vfn.i.i.i105.i308 = getelementptr inbounds ptr, ptr %vtable.i.i.i104.i307, i64 1 - %156 = load ptr, ptr %vfn.i.i.i105.i308, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i307: ; preds = %ehcleanup75.i304 + %vtable.i.i.i104.i308 = load ptr, ptr %155, align 8 + %vfn.i.i.i105.i309 = getelementptr inbounds ptr, ptr %vtable.i.i.i104.i308, i64 1 + %156 = load ptr, ptr %vfn.i.i.i105.i309, align 8 call void %156(ptr noundef nonnull align 8 dereferenceable(128) %155) #22 - br label %_ZN7testing7MessageD2Ev.exit106.i309 + br label %_ZN7testing7MessageD2Ev.exit106.i310 -_ZN7testing7MessageD2Ev.exit106.i309: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i306, %ehcleanup75.i303 - store ptr null, ptr %ref.tmp64.i72, align 8 - br label %ehcleanup77.i293 +_ZN7testing7MessageD2Ev.exit106.i310: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i307, %ehcleanup75.i304 + store ptr null, ptr %ref.tmp64.i73, align 8 + br label %ehcleanup77.i294 -if.end76.i123: ; preds = %_ZN7testing7MessageD2Ev.exit101.i317, %invoke.cont60.i121 - %157 = load ptr, ptr %message_.i.i91.i296, align 8 - %cmp.not.i.i108.i125 = icmp eq ptr %157, null - br i1 %cmp.not.i.i108.i125, label %_ZN7testing15AssertionResultD2Ev.exit110.i127, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i126 +if.end76.i124: ; preds = %_ZN7testing7MessageD2Ev.exit101.i318, %invoke.cont60.i122 + %157 = load ptr, ptr %message_.i.i91.i297, align 8 + %cmp.not.i.i108.i126 = icmp eq ptr %157, null + br i1 %cmp.not.i.i108.i126, label %_ZN7testing15AssertionResultD2Ev.exit110.i128, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i127 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i126: ; preds = %if.end76.i123 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i127: ; preds = %if.end76.i124 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #22 call void @_ZdlPv(ptr noundef nonnull %157) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit110.i127 + br label %_ZN7testing15AssertionResultD2Ev.exit110.i128 -_ZN7testing15AssertionResultD2Ev.exit110.i127: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i126, %if.end76.i123 - store ptr null, ptr %message_.i.i91.i296, align 8 - %158 = load i32, ptr %n.addr.i55, align 4 +_ZN7testing15AssertionResultD2Ev.exit110.i128: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i127, %if.end76.i124 + store ptr null, ptr %message_.i.i91.i297, align 8 + %158 = load i32, ptr %n.addr.i56, align 4 store i32 %158, ptr %ref.tmp82.i, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar81.i, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp82.i, ptr noundef nonnull @.str.200, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE) - to label %invoke.cont86.i unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i98 + to label %invoke.cont86.i unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i99 -ehcleanup77.i293: ; preds = %_ZN7testing7MessageD2Ev.exit106.i309, %lpad65.i292 - %.pn24.pn.i294 = phi { ptr, i32 } [ %.pn24.i304, %_ZN7testing7MessageD2Ev.exit106.i309 ], [ %152, %lpad65.i292 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50.i70) #22 +ehcleanup77.i294: ; preds = %_ZN7testing7MessageD2Ev.exit106.i310, %lpad65.i293 + %.pn24.pn.i295 = phi { ptr, i32 } [ %.pn24.i305, %_ZN7testing7MessageD2Ev.exit106.i310 ], [ %152, %lpad65.i293 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50.i71) #22 br label %ehcleanup253.i -invoke.cont86.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i127 +invoke.cont86.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i128 %159 = load i8, ptr %gtest_ar81.i, align 8 %160 = and i8 %159, 1 - %tobool.i111.not.i128 = icmp eq i8 %160, 0 - br i1 %tobool.i111.not.i128, label %if.else89.i, label %if.end102.i + %tobool.i111.not.i129 = icmp eq i8 %160, 0 + br i1 %tobool.i111.not.i129, label %if.else89.i, label %if.end102.i if.else89.i: ; preds = %invoke.cont86.i invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i) to label %invoke.cont92.i unwind label %lpad91.i invoke.cont92.i: ; preds = %if.else89.i - %161 = load ptr, ptr %message_.i.i112.i275, align 8 - %cmp.i.i.not.i.i113.i276 = icmp eq ptr %161, null - br i1 %cmp.i.i.not.i.i113.i276, label %invoke.cont95.i, label %cond.true.i.i114.i277 + %161 = load ptr, ptr %message_.i.i112.i276, align 8 + %cmp.i.i.not.i.i113.i277 = icmp eq ptr %161, null + br i1 %cmp.i.i.not.i.i113.i277, label %invoke.cont95.i, label %cond.true.i.i114.i278 -cond.true.i.i114.i277: ; preds = %invoke.cont92.i - %call4.i.i115.i278 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %161) #22 +cond.true.i.i114.i278: ; preds = %invoke.cont92.i + %call4.i.i115.i279 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %161) #22 br label %invoke.cont95.i -invoke.cont95.i: ; preds = %cond.true.i.i114.i277, %invoke.cont92.i - %cond.i.i116.i279 = phi ptr [ %call4.i.i115.i278, %cond.true.i.i114.i277 ], [ @.str.123, %invoke.cont92.i ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 270, ptr noundef %cond.i.i116.i279) +invoke.cont95.i: ; preds = %cond.true.i.i114.i278, %invoke.cont92.i + %cond.i.i116.i280 = phi ptr [ %call4.i.i115.i279, %cond.true.i.i114.i278 ], [ @.str.123, %invoke.cont92.i ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 270, ptr noundef %cond.i.i116.i280) to label %invoke.cont97.i unwind label %lpad94.i invoke.cont97.i: ; preds = %invoke.cont95.i @@ -23066,17 +23137,17 @@ invoke.cont97.i: ; preds = %invoke.cont95.i invoke.cont99.i: ; preds = %invoke.cont97.i call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i) #22 %162 = load ptr, ptr %ref.tmp90.i, align 8 - %cmp.not.i.i118.i286 = icmp eq ptr %162, null - br i1 %cmp.not.i.i118.i286, label %_ZN7testing7MessageD2Ev.exit122.i290, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i287 + %cmp.not.i.i118.i287 = icmp eq ptr %162, null + br i1 %cmp.not.i.i118.i287, label %_ZN7testing7MessageD2Ev.exit122.i291, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i288 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i287: ; preds = %invoke.cont99.i - %vtable.i.i.i120.i288 = load ptr, ptr %162, align 8 - %vfn.i.i.i121.i289 = getelementptr inbounds ptr, ptr %vtable.i.i.i120.i288, i64 1 - %163 = load ptr, ptr %vfn.i.i.i121.i289, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i288: ; preds = %invoke.cont99.i + %vtable.i.i.i120.i289 = load ptr, ptr %162, align 8 + %vfn.i.i.i121.i290 = getelementptr inbounds ptr, ptr %vtable.i.i.i120.i289, i64 1 + %163 = load ptr, ptr %vfn.i.i.i121.i290, align 8 call void %163(ptr noundef nonnull align 8 dereferenceable(128) %162) #22 - br label %_ZN7testing7MessageD2Ev.exit122.i290 + br label %_ZN7testing7MessageD2Ev.exit122.i291 -_ZN7testing7MessageD2Ev.exit122.i290: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i287, %invoke.cont99.i +_ZN7testing7MessageD2Ev.exit122.i291: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i288, %invoke.cont99.i store ptr null, ptr %ref.tmp90.i, align 8 br label %if.end102.i @@ -23097,35 +23168,35 @@ lpad98.i: ; preds = %invoke.cont97.i br label %ehcleanup101.i ehcleanup101.i: ; preds = %lpad98.i, %lpad94.i - %.pn27.i280 = phi { ptr, i32 } [ %166, %lpad98.i ], [ %165, %lpad94.i ] + %.pn27.i281 = phi { ptr, i32 } [ %166, %lpad98.i ], [ %165, %lpad94.i ] %167 = load ptr, ptr %ref.tmp90.i, align 8 - %cmp.not.i.i123.i281 = icmp eq ptr %167, null - br i1 %cmp.not.i.i123.i281, label %_ZN7testing7MessageD2Ev.exit127.i285, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i282 + %cmp.not.i.i123.i282 = icmp eq ptr %167, null + br i1 %cmp.not.i.i123.i282, label %_ZN7testing7MessageD2Ev.exit127.i286, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i283 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i282: ; preds = %ehcleanup101.i - %vtable.i.i.i125.i283 = load ptr, ptr %167, align 8 - %vfn.i.i.i126.i284 = getelementptr inbounds ptr, ptr %vtable.i.i.i125.i283, i64 1 - %168 = load ptr, ptr %vfn.i.i.i126.i284, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i283: ; preds = %ehcleanup101.i + %vtable.i.i.i125.i284 = load ptr, ptr %167, align 8 + %vfn.i.i.i126.i285 = getelementptr inbounds ptr, ptr %vtable.i.i.i125.i284, i64 1 + %168 = load ptr, ptr %vfn.i.i.i126.i285, align 8 call void %168(ptr noundef nonnull align 8 dereferenceable(128) %167) #22 - br label %_ZN7testing7MessageD2Ev.exit127.i285 + br label %_ZN7testing7MessageD2Ev.exit127.i286 -_ZN7testing7MessageD2Ev.exit127.i285: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i282, %ehcleanup101.i +_ZN7testing7MessageD2Ev.exit127.i286: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i283, %ehcleanup101.i store ptr null, ptr %ref.tmp90.i, align 8 br label %ehcleanup103.i -if.end102.i: ; preds = %_ZN7testing7MessageD2Ev.exit122.i290, %invoke.cont86.i - %169 = load ptr, ptr %message_.i.i112.i275, align 8 - %cmp.not.i.i129.i130 = icmp eq ptr %169, null - br i1 %cmp.not.i.i129.i130, label %_ZN7testing15AssertionResultD2Ev.exit131.i132, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i131 +if.end102.i: ; preds = %_ZN7testing7MessageD2Ev.exit122.i291, %invoke.cont86.i + %169 = load ptr, ptr %message_.i.i112.i276, align 8 + %cmp.not.i.i129.i131 = icmp eq ptr %169, null + br i1 %cmp.not.i.i129.i131, label %_ZN7testing15AssertionResultD2Ev.exit131.i133, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i132 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i131: ; preds = %if.end102.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i132: ; preds = %if.end102.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #22 call void @_ZdlPv(ptr noundef nonnull %169) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit131.i132 + br label %_ZN7testing15AssertionResultD2Ev.exit131.i133 -_ZN7testing15AssertionResultD2Ev.exit131.i132: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i131, %if.end102.i - store ptr null, ptr %message_.i.i112.i275, align 8 - %170 = load i32, ptr %n.addr.i55, align 4 +_ZN7testing15AssertionResultD2Ev.exit131.i133: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i132, %if.end102.i + store ptr null, ptr %message_.i.i112.i276, align 8 + %170 = load i32, ptr %n.addr.i56, align 4 %cmp106247.i = icmp sgt i32 %170, 0 br i1 %cmp106247.i, label %invoke.cont109.i, label %for.end252.i @@ -23133,80 +23204,80 @@ for.cond115.preheader.i: ; preds = %invoke.cont109.i %cmp116249.i = icmp sgt i32 %172, 0 br i1 %cmp116249.i, label %invoke.cont125.i, label %for.end252.i -invoke.cont109.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit131.i132, %invoke.cont109.i - %indvars.iv.i169 = phi i64 [ %indvars.iv.next.i171, %invoke.cont109.i ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit131.i132 ] - %array.val57.i = load ptr, ptr %data_.i2.i.i88, align 8 - %value_.i.i170 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val57.i, i64 %indvars.iv.i169, i32 1 - %171 = trunc i64 %indvars.iv.i169 to i32 - store i32 %171, ptr %value_.i.i170, align 8 - %indvars.iv.next.i171 = add nuw nsw i64 %indvars.iv.i169, 1 - %172 = load i32, ptr %n.addr.i55, align 4 +invoke.cont109.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit131.i133, %invoke.cont109.i + %indvars.iv.i170 = phi i64 [ %indvars.iv.next.i172, %invoke.cont109.i ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit131.i133 ] + %array.val57.i = load ptr, ptr %data_.i2.i.i89, align 8 + %value_.i.i171 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val57.i, i64 %indvars.iv.i170, i32 1 + %171 = trunc i64 %indvars.iv.i170 to i32 + store i32 %171, ptr %value_.i.i171, align 8 + %indvars.iv.next.i172 = add nuw nsw i64 %indvars.iv.i170, 1 + %172 = load i32, ptr %n.addr.i56, align 4 %173 = sext i32 %172 to i64 - %cmp106.i = icmp slt i64 %indvars.iv.next.i171, %173 + %cmp106.i = icmp slt i64 %indvars.iv.next.i172, %173 br i1 %cmp106.i, label %invoke.cont109.i, label %for.cond115.preheader.i, !llvm.loop !357 -ehcleanup103.i: ; preds = %_ZN7testing7MessageD2Ev.exit127.i285, %lpad91.i - %.pn27.pn.i274 = phi { ptr, i32 } [ %.pn27.i280, %_ZN7testing7MessageD2Ev.exit127.i285 ], [ %164, %lpad91.i ] +ehcleanup103.i: ; preds = %_ZN7testing7MessageD2Ev.exit127.i286, %lpad91.i + %.pn27.pn.i275 = phi { ptr, i32 } [ %.pn27.i281, %_ZN7testing7MessageD2Ev.exit127.i286 ], [ %164, %lpad91.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar81.i) #22 br label %ehcleanup253.i -for.cond177.preheader.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit175.i184 +for.cond177.preheader.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit175.i185 %cmp178251.i = icmp sgt i32 %199, 0 br i1 %cmp178251.i, label %for.body179.i, label %for.end252.i -invoke.cont125.i: ; preds = %for.cond115.preheader.i, %_ZN7testing15AssertionResultD2Ev.exit175.i184 - %indvars.iv256.i174 = phi i64 [ %indvars.iv.next257.i185, %_ZN7testing15AssertionResultD2Ev.exit175.i184 ], [ 0, %for.cond115.preheader.i ] - %174 = trunc i64 %indvars.iv256.i174 to i32 +invoke.cont125.i: ; preds = %for.cond115.preheader.i, %_ZN7testing15AssertionResultD2Ev.exit175.i185 + %indvars.iv256.i175 = phi i64 [ %indvars.iv.next257.i186, %_ZN7testing15AssertionResultD2Ev.exit175.i185 ], [ 0, %for.cond115.preheader.i ] + %174 = trunc i64 %indvars.iv256.i175 to i32 store i32 %174, ptr %ref.tmp119.i, align 4 - %array.val58.i = load ptr, ptr %data_.i2.i.i88, align 8 - %175 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val58.i, i64 %indvars.iv256.i174, i32 1 + %array.val58.i = load ptr, ptr %data_.i2.i.i89, align 8 + %175 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val58.i, i64 %indvars.iv256.i175, i32 1 %call126.val.i = load i32, ptr %175, align 8 store i32 %call126.val.i, ptr %ref.tmp123.i, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar118.i, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp119.i, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp123.i) - to label %invoke.cont128.i unwind label %lpad5.loopexit.split-lp.loopexit.i175 + to label %invoke.cont128.i unwind label %lpad5.loopexit.split-lp.loopexit.i176 invoke.cont128.i: ; preds = %invoke.cont125.i %176 = load i8, ptr %gtest_ar118.i, align 8 %177 = and i8 %176, 1 - %tobool.i134.not.i177 = icmp eq i8 %177, 0 - br i1 %tobool.i134.not.i177, label %if.else131.i, label %if.end144.i + %tobool.i134.not.i178 = icmp eq i8 %177, 0 + br i1 %tobool.i134.not.i178, label %if.else131.i, label %if.end144.i if.else131.i: ; preds = %invoke.cont128.i invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i) to label %invoke.cont134.i unwind label %lpad133.i invoke.cont134.i: ; preds = %if.else131.i - %178 = load ptr, ptr %message_.i.i135.i172, align 8 - %cmp.i.i.not.i.i136.i257 = icmp eq ptr %178, null - br i1 %cmp.i.i.not.i.i136.i257, label %invoke.cont137.i260, label %cond.true.i.i137.i258 + %178 = load ptr, ptr %message_.i.i135.i173, align 8 + %cmp.i.i.not.i.i136.i258 = icmp eq ptr %178, null + br i1 %cmp.i.i.not.i.i136.i258, label %invoke.cont137.i261, label %cond.true.i.i137.i259 -cond.true.i.i137.i258: ; preds = %invoke.cont134.i - %call4.i.i138.i259 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %178) #22 - br label %invoke.cont137.i260 +cond.true.i.i137.i259: ; preds = %invoke.cont134.i + %call4.i.i138.i260 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %178) #22 + br label %invoke.cont137.i261 -invoke.cont137.i260: ; preds = %cond.true.i.i137.i258, %invoke.cont134.i - %cond.i.i139.i261 = phi ptr [ %call4.i.i138.i259, %cond.true.i.i137.i258 ], [ @.str.123, %invoke.cont134.i ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i74, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 277, ptr noundef %cond.i.i139.i261) - to label %invoke.cont139.i unwind label %lpad136.i262 +invoke.cont137.i261: ; preds = %cond.true.i.i137.i259, %invoke.cont134.i + %cond.i.i139.i262 = phi ptr [ %call4.i.i138.i260, %cond.true.i.i137.i259 ], [ @.str.123, %invoke.cont134.i ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i75, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 277, ptr noundef %cond.i.i139.i262) + to label %invoke.cont139.i unwind label %lpad136.i263 -invoke.cont139.i: ; preds = %invoke.cont137.i260 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i74, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i) +invoke.cont139.i: ; preds = %invoke.cont137.i261 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i75, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i) to label %invoke.cont141.i unwind label %lpad140.i invoke.cont141.i: ; preds = %invoke.cont139.i - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i74) #22 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i75) #22 %179 = load ptr, ptr %ref.tmp132.i, align 8 - %cmp.not.i.i141.i269 = icmp eq ptr %179, null - br i1 %cmp.not.i.i141.i269, label %_ZN7testing7MessageD2Ev.exit145.i273, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i270 + %cmp.not.i.i141.i270 = icmp eq ptr %179, null + br i1 %cmp.not.i.i141.i270, label %_ZN7testing7MessageD2Ev.exit145.i274, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i271 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i270: ; preds = %invoke.cont141.i - %vtable.i.i.i143.i271 = load ptr, ptr %179, align 8 - %vfn.i.i.i144.i272 = getelementptr inbounds ptr, ptr %vtable.i.i.i143.i271, i64 1 - %180 = load ptr, ptr %vfn.i.i.i144.i272, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i271: ; preds = %invoke.cont141.i + %vtable.i.i.i143.i272 = load ptr, ptr %179, align 8 + %vfn.i.i.i144.i273 = getelementptr inbounds ptr, ptr %vtable.i.i.i143.i272, i64 1 + %180 = load ptr, ptr %vfn.i.i.i144.i273, align 8 call void %180(ptr noundef nonnull align 8 dereferenceable(128) %179) #22 - br label %_ZN7testing7MessageD2Ev.exit145.i273 + br label %_ZN7testing7MessageD2Ev.exit145.i274 -_ZN7testing7MessageD2Ev.exit145.i273: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i270, %invoke.cont141.i +_ZN7testing7MessageD2Ev.exit145.i274: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i271, %invoke.cont141.i store ptr null, ptr %ref.tmp132.i, align 8 br label %if.end144.i @@ -23215,7 +23286,7 @@ lpad133.i: ; preds = %if.else131.i cleanup br label %ehcleanup145.i -lpad136.i262: ; preds = %invoke.cont137.i260 +lpad136.i263: ; preds = %invoke.cont137.i261 %182 = landingpad { ptr, i32 } cleanup br label %ehcleanup143.i @@ -23223,54 +23294,54 @@ lpad136.i262: ; preds = %invoke.cont137.i260 lpad140.i: ; preds = %invoke.cont139.i %183 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i74) #22 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i75) #22 br label %ehcleanup143.i -ehcleanup143.i: ; preds = %lpad140.i, %lpad136.i262 - %.pn39.i263 = phi { ptr, i32 } [ %183, %lpad140.i ], [ %182, %lpad136.i262 ] +ehcleanup143.i: ; preds = %lpad140.i, %lpad136.i263 + %.pn39.i264 = phi { ptr, i32 } [ %183, %lpad140.i ], [ %182, %lpad136.i263 ] %184 = load ptr, ptr %ref.tmp132.i, align 8 - %cmp.not.i.i146.i264 = icmp eq ptr %184, null - br i1 %cmp.not.i.i146.i264, label %_ZN7testing7MessageD2Ev.exit150.i268, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i265 + %cmp.not.i.i146.i265 = icmp eq ptr %184, null + br i1 %cmp.not.i.i146.i265, label %_ZN7testing7MessageD2Ev.exit150.i269, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i266 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i265: ; preds = %ehcleanup143.i - %vtable.i.i.i148.i266 = load ptr, ptr %184, align 8 - %vfn.i.i.i149.i267 = getelementptr inbounds ptr, ptr %vtable.i.i.i148.i266, i64 1 - %185 = load ptr, ptr %vfn.i.i.i149.i267, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i266: ; preds = %ehcleanup143.i + %vtable.i.i.i148.i267 = load ptr, ptr %184, align 8 + %vfn.i.i.i149.i268 = getelementptr inbounds ptr, ptr %vtable.i.i.i148.i267, i64 1 + %185 = load ptr, ptr %vfn.i.i.i149.i268, align 8 call void %185(ptr noundef nonnull align 8 dereferenceable(128) %184) #22 - br label %_ZN7testing7MessageD2Ev.exit150.i268 + br label %_ZN7testing7MessageD2Ev.exit150.i269 -_ZN7testing7MessageD2Ev.exit150.i268: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i265, %ehcleanup143.i +_ZN7testing7MessageD2Ev.exit150.i269: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i266, %ehcleanup143.i store ptr null, ptr %ref.tmp132.i, align 8 br label %ehcleanup145.i -if.end144.i: ; preds = %_ZN7testing7MessageD2Ev.exit145.i273, %invoke.cont128.i - %186 = load ptr, ptr %message_.i.i135.i172, align 8 - %cmp.not.i.i152.i178 = icmp eq ptr %186, null - br i1 %cmp.not.i.i152.i178, label %invoke.cont148.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i179 +if.end144.i: ; preds = %_ZN7testing7MessageD2Ev.exit145.i274, %invoke.cont128.i + %186 = load ptr, ptr %message_.i.i135.i173, align 8 + %cmp.not.i.i152.i179 = icmp eq ptr %186, null + br i1 %cmp.not.i.i152.i179, label %invoke.cont148.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i180 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i179: ; preds = %if.end144.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i180: ; preds = %if.end144.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #22 call void @_ZdlPv(ptr noundef nonnull %186) #23 br label %invoke.cont148.i -invoke.cont148.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i179, %if.end144.i - store ptr null, ptr %message_.i.i135.i172, align 8 +invoke.cont148.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i180, %if.end144.i + store ptr null, ptr %message_.i.i135.i173, align 8 store i32 %174, ptr %ref.tmp147.i, align 4 - %array.val50.i = load ptr, ptr %data_.i2.i.i88, align 8 - %187 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val50.i, i64 %indvars.iv256.i174, i32 1 - %arrayidx.val.i180 = load i32, ptr %187, align 8 - store i32 %arrayidx.val.i180, ptr %ref.tmp151.i, align 4 + %array.val50.i = load ptr, ptr %data_.i2.i.i89, align 8 + %187 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val50.i, i64 %indvars.iv256.i175, i32 1 + %arrayidx.val.i181 = load i32, ptr %187, align 8 + store i32 %arrayidx.val.i181, ptr %ref.tmp151.i, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar146.i, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp147.i, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp151.i) - to label %invoke.cont155.i unwind label %lpad5.loopexit.split-lp.loopexit.i175 + to label %invoke.cont155.i unwind label %lpad5.loopexit.split-lp.loopexit.i176 invoke.cont155.i: ; preds = %invoke.cont148.i %188 = load i8, ptr %gtest_ar146.i, align 8 %189 = and i8 %188, 1 - %tobool.i155.not.i181 = icmp eq i8 %189, 0 - br i1 %tobool.i155.not.i181, label %if.else158.i, label %if.end171.i + %tobool.i155.not.i182 = icmp eq i8 %189, 0 + br i1 %tobool.i155.not.i182, label %if.else158.i, label %if.end171.i -ehcleanup145.i: ; preds = %_ZN7testing7MessageD2Ev.exit150.i268, %lpad133.i - %.pn39.pn.i256 = phi { ptr, i32 } [ %.pn39.i263, %_ZN7testing7MessageD2Ev.exit150.i268 ], [ %181, %lpad133.i ] +ehcleanup145.i: ; preds = %_ZN7testing7MessageD2Ev.exit150.i269, %lpad133.i + %.pn39.pn.i257 = phi { ptr, i32 } [ %.pn39.i264, %_ZN7testing7MessageD2Ev.exit150.i269 ], [ %181, %lpad133.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar118.i) #22 br label %ehcleanup253.i @@ -23279,37 +23350,37 @@ if.else158.i: ; preds = %invoke.cont155.i to label %invoke.cont161.i unwind label %lpad160.i invoke.cont161.i: ; preds = %if.else158.i - %190 = load ptr, ptr %message_.i.i156.i173, align 8 - %cmp.i.i.not.i.i157.i239 = icmp eq ptr %190, null - br i1 %cmp.i.i.not.i.i157.i239, label %invoke.cont164.i, label %cond.true.i.i158.i240 + %190 = load ptr, ptr %message_.i.i156.i174, align 8 + %cmp.i.i.not.i.i157.i240 = icmp eq ptr %190, null + br i1 %cmp.i.i.not.i.i157.i240, label %invoke.cont164.i, label %cond.true.i.i158.i241 -cond.true.i.i158.i240: ; preds = %invoke.cont161.i - %call4.i.i159.i241 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %190) #22 +cond.true.i.i158.i241: ; preds = %invoke.cont161.i + %call4.i.i159.i242 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %190) #22 br label %invoke.cont164.i -invoke.cont164.i: ; preds = %cond.true.i.i158.i240, %invoke.cont161.i - %cond.i.i160.i242 = phi ptr [ %call4.i.i159.i241, %cond.true.i.i158.i240 ], [ @.str.123, %invoke.cont161.i ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 278, ptr noundef %cond.i.i160.i242) +invoke.cont164.i: ; preds = %cond.true.i.i158.i241, %invoke.cont161.i + %cond.i.i160.i243 = phi ptr [ %call4.i.i159.i242, %cond.true.i.i158.i241 ], [ @.str.123, %invoke.cont161.i ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 278, ptr noundef %cond.i.i160.i243) to label %invoke.cont166.i unwind label %lpad163.i invoke.cont166.i: ; preds = %invoke.cont164.i invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i) - to label %invoke.cont168.i250 unwind label %lpad167.i249 + to label %invoke.cont168.i251 unwind label %lpad167.i250 -invoke.cont168.i250: ; preds = %invoke.cont166.i +invoke.cont168.i251: ; preds = %invoke.cont166.i call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i) #22 %191 = load ptr, ptr %ref.tmp159.i, align 8 - %cmp.not.i.i162.i251 = icmp eq ptr %191, null - br i1 %cmp.not.i.i162.i251, label %_ZN7testing7MessageD2Ev.exit166.i255, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i252 + %cmp.not.i.i162.i252 = icmp eq ptr %191, null + br i1 %cmp.not.i.i162.i252, label %_ZN7testing7MessageD2Ev.exit166.i256, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i253 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i252: ; preds = %invoke.cont168.i250 - %vtable.i.i.i164.i253 = load ptr, ptr %191, align 8 - %vfn.i.i.i165.i254 = getelementptr inbounds ptr, ptr %vtable.i.i.i164.i253, i64 1 - %192 = load ptr, ptr %vfn.i.i.i165.i254, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i253: ; preds = %invoke.cont168.i251 + %vtable.i.i.i164.i254 = load ptr, ptr %191, align 8 + %vfn.i.i.i165.i255 = getelementptr inbounds ptr, ptr %vtable.i.i.i164.i254, i64 1 + %192 = load ptr, ptr %vfn.i.i.i165.i255, align 8 call void %192(ptr noundef nonnull align 8 dereferenceable(128) %191) #22 - br label %_ZN7testing7MessageD2Ev.exit166.i255 + br label %_ZN7testing7MessageD2Ev.exit166.i256 -_ZN7testing7MessageD2Ev.exit166.i255: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i252, %invoke.cont168.i250 +_ZN7testing7MessageD2Ev.exit166.i256: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i253, %invoke.cont168.i251 store ptr null, ptr %ref.tmp159.i, align 8 br label %if.end171.i @@ -23323,49 +23394,49 @@ lpad163.i: ; preds = %invoke.cont164.i cleanup br label %ehcleanup170.i -lpad167.i249: ; preds = %invoke.cont166.i +lpad167.i250: ; preds = %invoke.cont166.i %195 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i) #22 br label %ehcleanup170.i -ehcleanup170.i: ; preds = %lpad167.i249, %lpad163.i - %.pn42.i243 = phi { ptr, i32 } [ %195, %lpad167.i249 ], [ %194, %lpad163.i ] +ehcleanup170.i: ; preds = %lpad167.i250, %lpad163.i + %.pn42.i244 = phi { ptr, i32 } [ %195, %lpad167.i250 ], [ %194, %lpad163.i ] %196 = load ptr, ptr %ref.tmp159.i, align 8 - %cmp.not.i.i167.i244 = icmp eq ptr %196, null - br i1 %cmp.not.i.i167.i244, label %_ZN7testing7MessageD2Ev.exit171.i248, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i245 + %cmp.not.i.i167.i245 = icmp eq ptr %196, null + br i1 %cmp.not.i.i167.i245, label %_ZN7testing7MessageD2Ev.exit171.i249, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i246 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i245: ; preds = %ehcleanup170.i - %vtable.i.i.i169.i246 = load ptr, ptr %196, align 8 - %vfn.i.i.i170.i247 = getelementptr inbounds ptr, ptr %vtable.i.i.i169.i246, i64 1 - %197 = load ptr, ptr %vfn.i.i.i170.i247, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i246: ; preds = %ehcleanup170.i + %vtable.i.i.i169.i247 = load ptr, ptr %196, align 8 + %vfn.i.i.i170.i248 = getelementptr inbounds ptr, ptr %vtable.i.i.i169.i247, i64 1 + %197 = load ptr, ptr %vfn.i.i.i170.i248, align 8 call void %197(ptr noundef nonnull align 8 dereferenceable(128) %196) #22 - br label %_ZN7testing7MessageD2Ev.exit171.i248 + br label %_ZN7testing7MessageD2Ev.exit171.i249 -_ZN7testing7MessageD2Ev.exit171.i248: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i245, %ehcleanup170.i +_ZN7testing7MessageD2Ev.exit171.i249: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i246, %ehcleanup170.i store ptr null, ptr %ref.tmp159.i, align 8 br label %ehcleanup172.i -if.end171.i: ; preds = %_ZN7testing7MessageD2Ev.exit166.i255, %invoke.cont155.i - %198 = load ptr, ptr %message_.i.i156.i173, align 8 - %cmp.not.i.i173.i182 = icmp eq ptr %198, null - br i1 %cmp.not.i.i173.i182, label %_ZN7testing15AssertionResultD2Ev.exit175.i184, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i183 +if.end171.i: ; preds = %_ZN7testing7MessageD2Ev.exit166.i256, %invoke.cont155.i + %198 = load ptr, ptr %message_.i.i156.i174, align 8 + %cmp.not.i.i173.i183 = icmp eq ptr %198, null + br i1 %cmp.not.i.i173.i183, label %_ZN7testing15AssertionResultD2Ev.exit175.i185, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i184 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i183: ; preds = %if.end171.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i184: ; preds = %if.end171.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %198) #22 call void @_ZdlPv(ptr noundef nonnull %198) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit175.i184 + br label %_ZN7testing15AssertionResultD2Ev.exit175.i185 -_ZN7testing15AssertionResultD2Ev.exit175.i184: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i183, %if.end171.i - store ptr null, ptr %message_.i.i156.i173, align 8 - %indvars.iv.next257.i185 = add nuw nsw i64 %indvars.iv256.i174, 1 - %199 = load i32, ptr %n.addr.i55, align 4 +_ZN7testing15AssertionResultD2Ev.exit175.i185: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i184, %if.end171.i + store ptr null, ptr %message_.i.i156.i174, align 8 + %indvars.iv.next257.i186 = add nuw nsw i64 %indvars.iv256.i175, 1 + %199 = load i32, ptr %n.addr.i56, align 4 %200 = sext i32 %199 to i64 - %cmp116.i = icmp slt i64 %indvars.iv.next257.i185, %200 + %cmp116.i = icmp slt i64 %indvars.iv.next257.i186, %200 br i1 %cmp116.i, label %invoke.cont125.i, label %for.cond177.preheader.i, !llvm.loop !358 -ehcleanup172.i: ; preds = %_ZN7testing7MessageD2Ev.exit171.i248, %lpad160.i - %.pn42.pn.i238 = phi { ptr, i32 } [ %.pn42.i243, %_ZN7testing7MessageD2Ev.exit171.i248 ], [ %193, %lpad160.i ] +ehcleanup172.i: ; preds = %_ZN7testing7MessageD2Ev.exit171.i249, %lpad160.i + %.pn42.pn.i239 = phi { ptr, i32 } [ %.pn42.i244, %_ZN7testing7MessageD2Ev.exit171.i249 ], [ %193, %lpad160.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar146.i) #22 br label %ehcleanup253.i @@ -23374,51 +23445,51 @@ for.cond188.preheader.i: ; preds = %for.body179.i br i1 %cmp189253.i, label %invoke.cont199.i, label %for.end252.i for.body179.i: ; preds = %for.cond177.preheader.i, %for.body179.i - %indvars.iv259.i186 = phi i64 [ %indvars.iv.next260.i187, %for.body179.i ], [ 0, %for.cond177.preheader.i ] - %array.val51.i = load ptr, ptr %data_.i2.i.i88, align 8 - %indvars.iv.next260.i187 = add nuw nsw i64 %indvars.iv259.i186, 1 - %value_.i176.i188 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val51.i, i64 %indvars.iv259.i186, i32 1 - %201 = trunc i64 %indvars.iv.next260.i187 to i32 - store i32 %201, ptr %value_.i176.i188, align 8 - %202 = load i32, ptr %n.addr.i55, align 4 + %indvars.iv259.i187 = phi i64 [ %indvars.iv.next260.i188, %for.body179.i ], [ 0, %for.cond177.preheader.i ] + %array.val51.i = load ptr, ptr %data_.i2.i.i89, align 8 + %indvars.iv.next260.i188 = add nuw nsw i64 %indvars.iv259.i187, 1 + %value_.i176.i189 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val51.i, i64 %indvars.iv259.i187, i32 1 + %201 = trunc i64 %indvars.iv.next260.i188 to i32 + store i32 %201, ptr %value_.i176.i189, align 8 + %202 = load i32, ptr %n.addr.i56, align 4 %203 = sext i32 %202 to i64 - %cmp178.i = icmp slt i64 %indvars.iv.next260.i187, %203 + %cmp178.i = icmp slt i64 %indvars.iv.next260.i188, %203 br i1 %cmp178.i, label %for.body179.i, label %for.cond188.preheader.i, !llvm.loop !359 -invoke.cont199.i: ; preds = %for.cond188.preheader.i, %_ZN7testing15AssertionResultD2Ev.exit219.i202 - %indvars.iv262.i191 = phi i64 [ %indvars.iv.next263.i192, %_ZN7testing15AssertionResultD2Ev.exit219.i202 ], [ 0, %for.cond188.preheader.i ] - %indvars.iv.next263.i192 = add nuw nsw i64 %indvars.iv262.i191, 1 - %204 = trunc i64 %indvars.iv.next263.i192 to i32 +invoke.cont199.i: ; preds = %for.cond188.preheader.i, %_ZN7testing15AssertionResultD2Ev.exit219.i203 + %indvars.iv262.i192 = phi i64 [ %indvars.iv.next263.i193, %_ZN7testing15AssertionResultD2Ev.exit219.i203 ], [ 0, %for.cond188.preheader.i ] + %indvars.iv.next263.i193 = add nuw nsw i64 %indvars.iv262.i192, 1 + %204 = trunc i64 %indvars.iv.next263.i193 to i32 store i32 %204, ptr %ref.tmp192.i, align 4 - %array.val59.i193 = load ptr, ptr %data_.i2.i.i88, align 8 - %205 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val59.i193, i64 %indvars.iv262.i191, i32 1 + %array.val59.i194 = load ptr, ptr %data_.i2.i.i89, align 8 + %205 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val59.i194, i64 %indvars.iv262.i192, i32 1 %call200.val.i = load i32, ptr %205, align 8 - store i32 %call200.val.i, ptr %ref.tmp197.i75, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar191.i, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp192.i, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp197.i75) - to label %invoke.cont202.i unwind label %lpad5.loopexit.i194 + store i32 %call200.val.i, ptr %ref.tmp197.i76, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar191.i, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp192.i, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp197.i76) + to label %invoke.cont202.i unwind label %lpad5.loopexit.i195 invoke.cont202.i: ; preds = %invoke.cont199.i %206 = load i8, ptr %gtest_ar191.i, align 8 %207 = and i8 %206, 1 - %tobool.i178.not.i196 = icmp eq i8 %207, 0 - br i1 %tobool.i178.not.i196, label %if.else205.i, label %if.end218.i + %tobool.i178.not.i197 = icmp eq i8 %207, 0 + br i1 %tobool.i178.not.i197, label %if.else205.i, label %if.end218.i if.else205.i: ; preds = %invoke.cont202.i invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i) - to label %invoke.cont208.i222 unwind label %lpad207.i + to label %invoke.cont208.i223 unwind label %lpad207.i -invoke.cont208.i222: ; preds = %if.else205.i - %208 = load ptr, ptr %message_.i.i179.i189, align 8 - %cmp.i.i.not.i.i180.i223 = icmp eq ptr %208, null - br i1 %cmp.i.i.not.i.i180.i223, label %invoke.cont211.i, label %cond.true.i.i181.i224 +invoke.cont208.i223: ; preds = %if.else205.i + %208 = load ptr, ptr %message_.i.i179.i190, align 8 + %cmp.i.i.not.i.i180.i224 = icmp eq ptr %208, null + br i1 %cmp.i.i.not.i.i180.i224, label %invoke.cont211.i, label %cond.true.i.i181.i225 -cond.true.i.i181.i224: ; preds = %invoke.cont208.i222 - %call4.i.i182.i225 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %208) #22 +cond.true.i.i181.i225: ; preds = %invoke.cont208.i223 + %call4.i.i182.i226 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %208) #22 br label %invoke.cont211.i -invoke.cont211.i: ; preds = %cond.true.i.i181.i224, %invoke.cont208.i222 - %cond.i.i183.i226 = phi ptr [ %call4.i.i182.i225, %cond.true.i.i181.i224 ], [ @.str.123, %invoke.cont208.i222 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 286, ptr noundef %cond.i.i183.i226) +invoke.cont211.i: ; preds = %cond.true.i.i181.i225, %invoke.cont208.i223 + %cond.i.i183.i227 = phi ptr [ %call4.i.i182.i226, %cond.true.i.i181.i225 ], [ @.str.123, %invoke.cont208.i223 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 286, ptr noundef %cond.i.i183.i227) to label %invoke.cont213.i unwind label %lpad210.i invoke.cont213.i: ; preds = %invoke.cont211.i @@ -23428,17 +23499,17 @@ invoke.cont213.i: ; preds = %invoke.cont211.i invoke.cont215.i: ; preds = %invoke.cont213.i call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i) #22 %209 = load ptr, ptr %ref.tmp206.i, align 8 - %cmp.not.i.i185.i233 = icmp eq ptr %209, null - br i1 %cmp.not.i.i185.i233, label %_ZN7testing7MessageD2Ev.exit189.i237, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i234 + %cmp.not.i.i185.i234 = icmp eq ptr %209, null + br i1 %cmp.not.i.i185.i234, label %_ZN7testing7MessageD2Ev.exit189.i238, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i235 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i234: ; preds = %invoke.cont215.i - %vtable.i.i.i187.i235 = load ptr, ptr %209, align 8 - %vfn.i.i.i188.i236 = getelementptr inbounds ptr, ptr %vtable.i.i.i187.i235, i64 1 - %210 = load ptr, ptr %vfn.i.i.i188.i236, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i235: ; preds = %invoke.cont215.i + %vtable.i.i.i187.i236 = load ptr, ptr %209, align 8 + %vfn.i.i.i188.i237 = getelementptr inbounds ptr, ptr %vtable.i.i.i187.i236, i64 1 + %210 = load ptr, ptr %vfn.i.i.i188.i237, align 8 call void %210(ptr noundef nonnull align 8 dereferenceable(128) %209) #22 - br label %_ZN7testing7MessageD2Ev.exit189.i237 + br label %_ZN7testing7MessageD2Ev.exit189.i238 -_ZN7testing7MessageD2Ev.exit189.i237: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i234, %invoke.cont215.i +_ZN7testing7MessageD2Ev.exit189.i238: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i235, %invoke.cont215.i store ptr null, ptr %ref.tmp206.i, align 8 br label %if.end218.i @@ -23459,50 +23530,50 @@ lpad214.i: ; preds = %invoke.cont213.i br label %ehcleanup217.i ehcleanup217.i: ; preds = %lpad214.i, %lpad210.i - %.pn33.i227 = phi { ptr, i32 } [ %213, %lpad214.i ], [ %212, %lpad210.i ] + %.pn33.i228 = phi { ptr, i32 } [ %213, %lpad214.i ], [ %212, %lpad210.i ] %214 = load ptr, ptr %ref.tmp206.i, align 8 - %cmp.not.i.i190.i228 = icmp eq ptr %214, null - br i1 %cmp.not.i.i190.i228, label %_ZN7testing7MessageD2Ev.exit194.i232, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i229 + %cmp.not.i.i190.i229 = icmp eq ptr %214, null + br i1 %cmp.not.i.i190.i229, label %_ZN7testing7MessageD2Ev.exit194.i233, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i230 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i229: ; preds = %ehcleanup217.i - %vtable.i.i.i192.i230 = load ptr, ptr %214, align 8 - %vfn.i.i.i193.i231 = getelementptr inbounds ptr, ptr %vtable.i.i.i192.i230, i64 1 - %215 = load ptr, ptr %vfn.i.i.i193.i231, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i230: ; preds = %ehcleanup217.i + %vtable.i.i.i192.i231 = load ptr, ptr %214, align 8 + %vfn.i.i.i193.i232 = getelementptr inbounds ptr, ptr %vtable.i.i.i192.i231, i64 1 + %215 = load ptr, ptr %vfn.i.i.i193.i232, align 8 call void %215(ptr noundef nonnull align 8 dereferenceable(128) %214) #22 - br label %_ZN7testing7MessageD2Ev.exit194.i232 + br label %_ZN7testing7MessageD2Ev.exit194.i233 -_ZN7testing7MessageD2Ev.exit194.i232: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i229, %ehcleanup217.i +_ZN7testing7MessageD2Ev.exit194.i233: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i230, %ehcleanup217.i store ptr null, ptr %ref.tmp206.i, align 8 br label %ehcleanup219.i -if.end218.i: ; preds = %_ZN7testing7MessageD2Ev.exit189.i237, %invoke.cont202.i - %216 = load ptr, ptr %message_.i.i179.i189, align 8 - %cmp.not.i.i196.i197 = icmp eq ptr %216, null - br i1 %cmp.not.i.i196.i197, label %invoke.cont223.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i198 +if.end218.i: ; preds = %_ZN7testing7MessageD2Ev.exit189.i238, %invoke.cont202.i + %216 = load ptr, ptr %message_.i.i179.i190, align 8 + %cmp.not.i.i196.i198 = icmp eq ptr %216, null + br i1 %cmp.not.i.i196.i198, label %invoke.cont223.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i199 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i198: ; preds = %if.end218.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i199: ; preds = %if.end218.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #22 call void @_ZdlPv(ptr noundef nonnull %216) #23 br label %invoke.cont223.i -invoke.cont223.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i198, %if.end218.i - store ptr null, ptr %message_.i.i179.i189, align 8 +invoke.cont223.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i199, %if.end218.i + store ptr null, ptr %message_.i.i179.i190, align 8 store i32 %204, ptr %ref.tmp221.i, align 4 - %array.val52.i = load ptr, ptr %data_.i2.i.i88, align 8 - %217 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val52.i, i64 %indvars.iv262.i191, i32 1 + %array.val52.i = load ptr, ptr %data_.i2.i.i89, align 8 + %217 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val52.i, i64 %indvars.iv262.i192, i32 1 %arrayidx230.val.i = load i32, ptr %217, align 8 store i32 %arrayidx230.val.i, ptr %ref.tmp226.i, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar220.i, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp221.i, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp226.i) - to label %invoke.cont232.i unwind label %lpad5.loopexit.i194 + to label %invoke.cont232.i unwind label %lpad5.loopexit.i195 invoke.cont232.i: ; preds = %invoke.cont223.i %218 = load i8, ptr %gtest_ar220.i, align 8 %219 = and i8 %218, 1 - %tobool.i199.not.i199 = icmp eq i8 %219, 0 - br i1 %tobool.i199.not.i199, label %if.else235.i, label %if.end248.i + %tobool.i199.not.i200 = icmp eq i8 %219, 0 + br i1 %tobool.i199.not.i200, label %if.else235.i, label %if.end248.i -ehcleanup219.i: ; preds = %_ZN7testing7MessageD2Ev.exit194.i232, %lpad207.i - %.pn33.pn.i221 = phi { ptr, i32 } [ %.pn33.i227, %_ZN7testing7MessageD2Ev.exit194.i232 ], [ %211, %lpad207.i ] +ehcleanup219.i: ; preds = %_ZN7testing7MessageD2Ev.exit194.i233, %lpad207.i + %.pn33.pn.i222 = phi { ptr, i32 } [ %.pn33.i228, %_ZN7testing7MessageD2Ev.exit194.i233 ], [ %211, %lpad207.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar191.i) #22 br label %ehcleanup253.i @@ -23511,37 +23582,37 @@ if.else235.i: ; preds = %invoke.cont232.i to label %invoke.cont238.i unwind label %lpad237.i invoke.cont238.i: ; preds = %if.else235.i - %220 = load ptr, ptr %message_.i.i200.i190, align 8 - %cmp.i.i.not.i.i201.i204 = icmp eq ptr %220, null - br i1 %cmp.i.i.not.i.i201.i204, label %invoke.cont241.i, label %cond.true.i.i202.i205 + %220 = load ptr, ptr %message_.i.i200.i191, align 8 + %cmp.i.i.not.i.i201.i205 = icmp eq ptr %220, null + br i1 %cmp.i.i.not.i.i201.i205, label %invoke.cont241.i, label %cond.true.i.i202.i206 -cond.true.i.i202.i205: ; preds = %invoke.cont238.i - %call4.i.i203.i206 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %220) #22 +cond.true.i.i202.i206: ; preds = %invoke.cont238.i + %call4.i.i203.i207 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %220) #22 br label %invoke.cont241.i -invoke.cont241.i: ; preds = %cond.true.i.i202.i205, %invoke.cont238.i - %cond.i.i204.i207 = phi ptr [ %call4.i.i203.i206, %cond.true.i.i202.i205 ], [ @.str.123, %invoke.cont238.i ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 287, ptr noundef %cond.i.i204.i207) +invoke.cont241.i: ; preds = %cond.true.i.i202.i206, %invoke.cont238.i + %cond.i.i204.i208 = phi ptr [ %call4.i.i203.i207, %cond.true.i.i202.i206 ], [ @.str.123, %invoke.cont238.i ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 287, ptr noundef %cond.i.i204.i208) to label %invoke.cont243.i unwind label %lpad240.i invoke.cont243.i: ; preds = %invoke.cont241.i invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i) - to label %invoke.cont245.i215 unwind label %lpad244.i214 + to label %invoke.cont245.i216 unwind label %lpad244.i215 -invoke.cont245.i215: ; preds = %invoke.cont243.i +invoke.cont245.i216: ; preds = %invoke.cont243.i call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i) #22 %221 = load ptr, ptr %ref.tmp236.i, align 8 - %cmp.not.i.i206.i216 = icmp eq ptr %221, null - br i1 %cmp.not.i.i206.i216, label %_ZN7testing7MessageD2Ev.exit210.i220, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i217 + %cmp.not.i.i206.i217 = icmp eq ptr %221, null + br i1 %cmp.not.i.i206.i217, label %_ZN7testing7MessageD2Ev.exit210.i221, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i218 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i217: ; preds = %invoke.cont245.i215 - %vtable.i.i.i208.i218 = load ptr, ptr %221, align 8 - %vfn.i.i.i209.i219 = getelementptr inbounds ptr, ptr %vtable.i.i.i208.i218, i64 1 - %222 = load ptr, ptr %vfn.i.i.i209.i219, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i218: ; preds = %invoke.cont245.i216 + %vtable.i.i.i208.i219 = load ptr, ptr %221, align 8 + %vfn.i.i.i209.i220 = getelementptr inbounds ptr, ptr %vtable.i.i.i208.i219, i64 1 + %222 = load ptr, ptr %vfn.i.i.i209.i220, align 8 call void %222(ptr noundef nonnull align 8 dereferenceable(128) %221) #22 - br label %_ZN7testing7MessageD2Ev.exit210.i220 + br label %_ZN7testing7MessageD2Ev.exit210.i221 -_ZN7testing7MessageD2Ev.exit210.i220: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i217, %invoke.cont245.i215 +_ZN7testing7MessageD2Ev.exit210.i221: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i218, %invoke.cont245.i216 store ptr null, ptr %ref.tmp236.i, align 8 br label %if.end248.i @@ -23555,75 +23626,75 @@ lpad240.i: ; preds = %invoke.cont241.i cleanup br label %ehcleanup247.i -lpad244.i214: ; preds = %invoke.cont243.i +lpad244.i215: ; preds = %invoke.cont243.i %225 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i) #22 br label %ehcleanup247.i -ehcleanup247.i: ; preds = %lpad244.i214, %lpad240.i - %.pn36.i208 = phi { ptr, i32 } [ %225, %lpad244.i214 ], [ %224, %lpad240.i ] +ehcleanup247.i: ; preds = %lpad244.i215, %lpad240.i + %.pn36.i209 = phi { ptr, i32 } [ %225, %lpad244.i215 ], [ %224, %lpad240.i ] %226 = load ptr, ptr %ref.tmp236.i, align 8 - %cmp.not.i.i211.i209 = icmp eq ptr %226, null - br i1 %cmp.not.i.i211.i209, label %_ZN7testing7MessageD2Ev.exit215.i213, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i210 + %cmp.not.i.i211.i210 = icmp eq ptr %226, null + br i1 %cmp.not.i.i211.i210, label %_ZN7testing7MessageD2Ev.exit215.i214, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i211 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i210: ; preds = %ehcleanup247.i - %vtable.i.i.i213.i211 = load ptr, ptr %226, align 8 - %vfn.i.i.i214.i212 = getelementptr inbounds ptr, ptr %vtable.i.i.i213.i211, i64 1 - %227 = load ptr, ptr %vfn.i.i.i214.i212, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i211: ; preds = %ehcleanup247.i + %vtable.i.i.i213.i212 = load ptr, ptr %226, align 8 + %vfn.i.i.i214.i213 = getelementptr inbounds ptr, ptr %vtable.i.i.i213.i212, i64 1 + %227 = load ptr, ptr %vfn.i.i.i214.i213, align 8 call void %227(ptr noundef nonnull align 8 dereferenceable(128) %226) #22 - br label %_ZN7testing7MessageD2Ev.exit215.i213 + br label %_ZN7testing7MessageD2Ev.exit215.i214 -_ZN7testing7MessageD2Ev.exit215.i213: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i210, %ehcleanup247.i +_ZN7testing7MessageD2Ev.exit215.i214: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i211, %ehcleanup247.i store ptr null, ptr %ref.tmp236.i, align 8 br label %ehcleanup249.i -if.end248.i: ; preds = %_ZN7testing7MessageD2Ev.exit210.i220, %invoke.cont232.i - %228 = load ptr, ptr %message_.i.i200.i190, align 8 - %cmp.not.i.i217.i200 = icmp eq ptr %228, null - br i1 %cmp.not.i.i217.i200, label %_ZN7testing15AssertionResultD2Ev.exit219.i202, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i201 +if.end248.i: ; preds = %_ZN7testing7MessageD2Ev.exit210.i221, %invoke.cont232.i + %228 = load ptr, ptr %message_.i.i200.i191, align 8 + %cmp.not.i.i217.i201 = icmp eq ptr %228, null + br i1 %cmp.not.i.i217.i201, label %_ZN7testing15AssertionResultD2Ev.exit219.i203, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i202 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i201: ; preds = %if.end248.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i202: ; preds = %if.end248.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #22 call void @_ZdlPv(ptr noundef nonnull %228) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit219.i202 + br label %_ZN7testing15AssertionResultD2Ev.exit219.i203 -_ZN7testing15AssertionResultD2Ev.exit219.i202: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i201, %if.end248.i - store ptr null, ptr %message_.i.i200.i190, align 8 - %229 = load i32, ptr %n.addr.i55, align 4 +_ZN7testing15AssertionResultD2Ev.exit219.i203: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i202, %if.end248.i + store ptr null, ptr %message_.i.i200.i191, align 8 + %229 = load i32, ptr %n.addr.i56, align 4 %230 = sext i32 %229 to i64 - %cmp189.i = icmp slt i64 %indvars.iv.next263.i192, %230 + %cmp189.i = icmp slt i64 %indvars.iv.next263.i193, %230 br i1 %cmp189.i, label %invoke.cont199.i, label %for.end252.i, !llvm.loop !360 -ehcleanup249.i: ; preds = %_ZN7testing7MessageD2Ev.exit215.i213, %lpad237.i - %.pn36.pn.i203 = phi { ptr, i32 } [ %.pn36.i208, %_ZN7testing7MessageD2Ev.exit215.i213 ], [ %223, %lpad237.i ] +ehcleanup249.i: ; preds = %_ZN7testing7MessageD2Ev.exit215.i214, %lpad237.i + %.pn36.pn.i204 = phi { ptr, i32 } [ %.pn36.i209, %_ZN7testing7MessageD2Ev.exit215.i214 ], [ %223, %lpad237.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar220.i) #22 br label %ehcleanup253.i -for.end252.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit219.i202, %for.cond188.preheader.i, %for.cond177.preheader.i, %for.cond115.preheader.i, %_ZN7testing15AssertionResultD2Ev.exit131.i132 - %this.val38.i.i133 = load i64, ptr %size_alloc_.i.i.i, align 8 - %cmp.not11.i.i134 = icmp eq i64 %this.val38.i.i133, 0 - br i1 %cmp.not11.i.i134, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev.exit.i, label %invoke.cont.preheader.i.i +for.end252.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit219.i203, %for.cond188.preheader.i, %for.cond177.preheader.i, %for.cond115.preheader.i, %_ZN7testing15AssertionResultD2Ev.exit131.i133 + %this.val38.i.i134 = load i64, ptr %size_alloc_.i.i.i, align 8 + %cmp.not11.i.i135 = icmp eq i64 %this.val38.i.i134, 0 + br i1 %cmp.not11.i.i135, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev.exit.i, label %invoke.cont.preheader.i.i invoke.cont.preheader.i.i: ; preds = %for.end252.i - %this.val.i.i135 = load ptr, ptr %data_.i2.i.i88, align 8 - %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i136 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 + %this.val.i.i136 = load ptr, ptr %data_.i2.i.i89, align 8 + %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i137 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 br label %invoke.cont.i220.i invoke.cont.i220.i: ; preds = %invoke.cont.i220.i, %invoke.cont.preheader.i.i - %cur.013.i.i137 = phi ptr [ %incdec.ptr.i.i140, %invoke.cont.i220.i ], [ %this.val.i.i135, %invoke.cont.preheader.i.i ] - %inc.i.i.i712.i.i138 = phi i32 [ %inc.i.i.i.i.i139, %invoke.cont.i220.i ], [ %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i136, %invoke.cont.preheader.i.i ] - store ptr null, ptr %cur.013.i.i137, align 8 - %inc.i.i.i.i.i139 = add nsw i32 %inc.i.i.i712.i.i138, 1 - %incdec.ptr.i.i140 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.013.i.i137, i64 1 + %cur.013.i.i138 = phi ptr [ %incdec.ptr.i.i141, %invoke.cont.i220.i ], [ %this.val.i.i136, %invoke.cont.preheader.i.i ] + %inc.i.i.i712.i.i139 = phi i32 [ %inc.i.i.i.i.i140, %invoke.cont.i220.i ], [ %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i137, %invoke.cont.preheader.i.i ] + store ptr null, ptr %cur.013.i.i138, align 8 + %inc.i.i.i.i.i140 = add nsw i32 %inc.i.i.i712.i.i139, 1 + %incdec.ptr.i.i141 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.013.i.i138, i64 1 %this.val3.i.i = load i64, ptr %size_alloc_.i.i.i, align 8 - %this.val4.i.i = load ptr, ptr %data_.i2.i.i88, align 8 - %add.ptr.i.i.i141 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %this.val4.i.i, i64 %this.val3.i.i - %cmp.not.i.i142 = icmp eq ptr %incdec.ptr.i.i140, %add.ptr.i.i.i141 - br i1 %cmp.not.i.i142, label %for.end.i.i, label %invoke.cont.i220.i, !llvm.loop !361 + %this.val4.i.i = load ptr, ptr %data_.i2.i.i89, align 8 + %add.ptr.i.i.i142 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %this.val4.i.i, i64 %this.val3.i.i + %cmp.not.i.i143 = icmp eq ptr %incdec.ptr.i.i141, %add.ptr.i.i.i142 + br i1 %cmp.not.i.i143, label %for.end.i.i, label %invoke.cont.i220.i, !llvm.loop !361 for.end.i.i: ; preds = %invoke.cont.i220.i - store i32 %inc.i.i.i.i.i139, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 + store i32 %inc.i.i.i.i.i140, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 %231 = icmp ult i64 %this.val3.i.i, 2 br i1 %231, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev.exit.i, label %invoke.cont4.i.i.i @@ -23634,29 +23705,29 @@ invoke.cont4.i.i.i: ; preds = %for.end.i.i _ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev.exit.i: ; preds = %invoke.cont4.i.i.i, %for.end.i.i, %for.end252.i %232 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4, !noalias !362 %233 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4, !noalias !362 - %cmp.i.i.i143 = icmp eq i32 %232, %233 - br i1 %cmp.i.i.i143, label %if.then.i.i.i168, label %if.end.i.i.i144 + %cmp.i.i.i144 = icmp eq i32 %232, %233 + br i1 %cmp.i.i.i144, label %if.then.i.i.i169, label %if.end.i.i.i145 -if.then.i.i.i168: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev.exit.i +if.then.i.i.i169: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev.exit.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i) to label %invoke.cont256.i unwind label %lpad255.i -if.end.i.i.i144: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev.exit.i +if.end.i.i.i145: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev.exit.i invoke void @_ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.203, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE) to label %invoke.cont256.i unwind label %lpad255.i -invoke.cont256.i: ; preds = %if.end.i.i.i144, %if.then.i.i.i168 +invoke.cont256.i: ; preds = %if.end.i.i.i145, %if.then.i.i.i169 %234 = load i8, ptr %gtest_ar254.i, align 8 %235 = and i8 %234, 1 - %tobool.i223.not.i145 = icmp eq i8 %235, 0 - br i1 %tobool.i223.not.i145, label %if.else259.i, label %if.end272.i + %tobool.i223.not.i146 = icmp eq i8 %235, 0 + br i1 %tobool.i223.not.i146, label %if.else259.i, label %if.end272.i -ehcleanup253.i: ; preds = %ehcleanup249.i, %ehcleanup219.i, %ehcleanup172.i, %ehcleanup145.i, %ehcleanup103.i, %ehcleanup77.i293, %ehcleanup49.i320, %ehcleanup22.i347, %lpad5.loopexit.split-lp.loopexit.split-lp.i98, %lpad5.loopexit.split-lp.loopexit.i175, %lpad5.loopexit.i194 - %.pn45.i100 = phi { ptr, i32 } [ %.pn42.pn.i238, %ehcleanup172.i ], [ %.pn39.pn.i256, %ehcleanup145.i ], [ %.pn36.pn.i203, %ehcleanup249.i ], [ %.pn33.pn.i221, %ehcleanup219.i ], [ %.pn27.pn.i274, %ehcleanup103.i ], [ %.pn24.pn.i294, %ehcleanup77.i293 ], [ %.pn21.pn.i321, %ehcleanup49.i320 ], [ %.pn.pn.i348, %ehcleanup22.i347 ], [ %lpad.loopexit.i195, %lpad5.loopexit.i194 ], [ %lpad.loopexit244.i176, %lpad5.loopexit.split-lp.loopexit.i175 ], [ %lpad.loopexit.split-lp245.i99, %lpad5.loopexit.split-lp.loopexit.split-lp.i98 ] - call fastcc void @_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %array.i59) #22 +ehcleanup253.i: ; preds = %ehcleanup249.i, %ehcleanup219.i, %ehcleanup172.i, %ehcleanup145.i, %ehcleanup103.i, %ehcleanup77.i294, %ehcleanup49.i321, %ehcleanup22.i348, %lpad5.loopexit.split-lp.loopexit.split-lp.i99, %lpad5.loopexit.split-lp.loopexit.i176, %lpad5.loopexit.i195 + %.pn45.i101 = phi { ptr, i32 } [ %.pn42.pn.i239, %ehcleanup172.i ], [ %.pn39.pn.i257, %ehcleanup145.i ], [ %.pn36.pn.i204, %ehcleanup249.i ], [ %.pn33.pn.i222, %ehcleanup219.i ], [ %.pn27.pn.i275, %ehcleanup103.i ], [ %.pn24.pn.i295, %ehcleanup77.i294 ], [ %.pn21.pn.i322, %ehcleanup49.i321 ], [ %.pn.pn.i349, %ehcleanup22.i348 ], [ %lpad.loopexit.i196, %lpad5.loopexit.i195 ], [ %lpad.loopexit244.i177, %lpad5.loopexit.split-lp.loopexit.i176 ], [ %lpad.loopexit.split-lp245.i100, %lpad5.loopexit.split-lp.loopexit.split-lp.i99 ] + call fastcc void @_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %array.i60) #22 br label %ehcleanup274.i -lpad255.i: ; preds = %if.end.i.i.i144, %if.then.i.i.i168 +lpad255.i: ; preds = %if.end.i.i.i145, %if.then.i.i.i169 %236 = landingpad { ptr, i32 } cleanup br label %ehcleanup274.i @@ -23666,37 +23737,37 @@ if.else259.i: ; preds = %invoke.cont256.i to label %invoke.cont262.i unwind label %lpad261.i invoke.cont262.i: ; preds = %if.else259.i - %237 = load ptr, ptr %message_.i.i224.i150, align 8 - %cmp.i.i.not.i.i225.i151 = icmp eq ptr %237, null - br i1 %cmp.i.i.not.i.i225.i151, label %invoke.cont265.i, label %cond.true.i.i226.i152 + %237 = load ptr, ptr %message_.i.i224.i151, align 8 + %cmp.i.i.not.i.i225.i152 = icmp eq ptr %237, null + br i1 %cmp.i.i.not.i.i225.i152, label %invoke.cont265.i, label %cond.true.i.i226.i153 -cond.true.i.i226.i152: ; preds = %invoke.cont262.i - %call4.i.i227.i153 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %237) #22 +cond.true.i.i226.i153: ; preds = %invoke.cont262.i + %call4.i.i227.i154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %237) #22 br label %invoke.cont265.i -invoke.cont265.i: ; preds = %cond.true.i.i226.i152, %invoke.cont262.i - %cond.i.i228.i154 = phi ptr [ %call4.i.i227.i153, %cond.true.i.i226.i152 ], [ @.str.123, %invoke.cont262.i ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 293, ptr noundef %cond.i.i228.i154) +invoke.cont265.i: ; preds = %cond.true.i.i226.i153, %invoke.cont262.i + %cond.i.i228.i155 = phi ptr [ %call4.i.i227.i154, %cond.true.i.i226.i153 ], [ @.str.123, %invoke.cont262.i ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 293, ptr noundef %cond.i.i228.i155) to label %invoke.cont267.i unwind label %lpad264.i invoke.cont267.i: ; preds = %invoke.cont265.i invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i) - to label %invoke.cont269.i162 unwind label %lpad268.i161 + to label %invoke.cont269.i163 unwind label %lpad268.i162 -invoke.cont269.i162: ; preds = %invoke.cont267.i +invoke.cont269.i163: ; preds = %invoke.cont267.i call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i) #22 %238 = load ptr, ptr %ref.tmp260.i, align 8 - %cmp.not.i.i230.i163 = icmp eq ptr %238, null - br i1 %cmp.not.i.i230.i163, label %_ZN7testing7MessageD2Ev.exit234.i167, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i164 + %cmp.not.i.i230.i164 = icmp eq ptr %238, null + br i1 %cmp.not.i.i230.i164, label %_ZN7testing7MessageD2Ev.exit234.i168, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i165 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i164: ; preds = %invoke.cont269.i162 - %vtable.i.i.i232.i165 = load ptr, ptr %238, align 8 - %vfn.i.i.i233.i166 = getelementptr inbounds ptr, ptr %vtable.i.i.i232.i165, i64 1 - %239 = load ptr, ptr %vfn.i.i.i233.i166, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i165: ; preds = %invoke.cont269.i163 + %vtable.i.i.i232.i166 = load ptr, ptr %238, align 8 + %vfn.i.i.i233.i167 = getelementptr inbounds ptr, ptr %vtable.i.i.i232.i166, i64 1 + %239 = load ptr, ptr %vfn.i.i.i233.i167, align 8 call void %239(ptr noundef nonnull align 8 dereferenceable(128) %238) #22 - br label %_ZN7testing7MessageD2Ev.exit234.i167 + br label %_ZN7testing7MessageD2Ev.exit234.i168 -_ZN7testing7MessageD2Ev.exit234.i167: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i164, %invoke.cont269.i162 +_ZN7testing7MessageD2Ev.exit234.i168: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i165, %invoke.cont269.i163 store ptr null, ptr %ref.tmp260.i, align 8 br label %if.end272.i @@ -23710,77 +23781,77 @@ lpad264.i: ; preds = %invoke.cont265.i cleanup br label %ehcleanup271.i -lpad268.i161: ; preds = %invoke.cont267.i +lpad268.i162: ; preds = %invoke.cont267.i %242 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i) #22 br label %ehcleanup271.i -ehcleanup271.i: ; preds = %lpad268.i161, %lpad264.i - %.pn30.i155 = phi { ptr, i32 } [ %242, %lpad268.i161 ], [ %241, %lpad264.i ] +ehcleanup271.i: ; preds = %lpad268.i162, %lpad264.i + %.pn30.i156 = phi { ptr, i32 } [ %242, %lpad268.i162 ], [ %241, %lpad264.i ] %243 = load ptr, ptr %ref.tmp260.i, align 8 - %cmp.not.i.i235.i156 = icmp eq ptr %243, null - br i1 %cmp.not.i.i235.i156, label %_ZN7testing7MessageD2Ev.exit239.i160, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i157 + %cmp.not.i.i235.i157 = icmp eq ptr %243, null + br i1 %cmp.not.i.i235.i157, label %_ZN7testing7MessageD2Ev.exit239.i161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i158 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i157: ; preds = %ehcleanup271.i - %vtable.i.i.i237.i158 = load ptr, ptr %243, align 8 - %vfn.i.i.i238.i159 = getelementptr inbounds ptr, ptr %vtable.i.i.i237.i158, i64 1 - %244 = load ptr, ptr %vfn.i.i.i238.i159, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i158: ; preds = %ehcleanup271.i + %vtable.i.i.i237.i159 = load ptr, ptr %243, align 8 + %vfn.i.i.i238.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i237.i159, i64 1 + %244 = load ptr, ptr %vfn.i.i.i238.i160, align 8 call void %244(ptr noundef nonnull align 8 dereferenceable(128) %243) #22 - br label %_ZN7testing7MessageD2Ev.exit239.i160 + br label %_ZN7testing7MessageD2Ev.exit239.i161 -_ZN7testing7MessageD2Ev.exit239.i160: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i157, %ehcleanup271.i +_ZN7testing7MessageD2Ev.exit239.i161: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i158, %ehcleanup271.i store ptr null, ptr %ref.tmp260.i, align 8 br label %ehcleanup273.i -if.end272.i: ; preds = %_ZN7testing7MessageD2Ev.exit234.i167, %invoke.cont256.i - %245 = load ptr, ptr %message_.i.i224.i150, align 8 - %cmp.not.i.i241.i147 = icmp eq ptr %245, null - br i1 %cmp.not.i.i241.i147, label %invoke.cont16, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i148 +if.end272.i: ; preds = %_ZN7testing7MessageD2Ev.exit234.i168, %invoke.cont256.i + %245 = load ptr, ptr %message_.i.i224.i151, align 8 + %cmp.not.i.i241.i148 = icmp eq ptr %245, null + br i1 %cmp.not.i.i241.i148, label %invoke.cont16, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i149 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i148: ; preds = %if.end272.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i149: ; preds = %if.end272.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %245) #22 call void @_ZdlPv(ptr noundef nonnull %245) #23 br label %invoke.cont16 -ehcleanup273.i: ; preds = %_ZN7testing7MessageD2Ev.exit239.i160, %lpad261.i - %.pn30.pn.i149 = phi { ptr, i32 } [ %.pn30.i155, %_ZN7testing7MessageD2Ev.exit239.i160 ], [ %240, %lpad261.i ] +ehcleanup273.i: ; preds = %_ZN7testing7MessageD2Ev.exit239.i161, %lpad261.i + %.pn30.pn.i150 = phi { ptr, i32 } [ %.pn30.i156, %_ZN7testing7MessageD2Ev.exit239.i161 ], [ %240, %lpad261.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar254.i) #22 br label %ehcleanup274.i -ehcleanup274.i: ; preds = %lpad2.i85.loopexit, %lpad2.i85.loopexit.split-lp, %ehcleanup273.i, %lpad255.i, %ehcleanup253.i - %.pn45.pn.i86 = phi { ptr, i32 } [ %.pn45.i100, %ehcleanup253.i ], [ %.pn30.pn.i149, %ehcleanup273.i ], [ %236, %lpad255.i ], [ %lpad.loopexit1325, %lpad2.i85.loopexit ], [ %lpad.loopexit.split-lp1326, %lpad2.i85.loopexit.split-lp ] - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i57) #22 +ehcleanup274.i: ; preds = %lpad2.i86.loopexit, %lpad2.i86.loopexit.split-lp, %ehcleanup273.i, %lpad255.i, %ehcleanup253.i + %.pn45.pn.i87 = phi { ptr, i32 } [ %.pn45.i101, %ehcleanup253.i ], [ %.pn30.pn.i150, %ehcleanup273.i ], [ %236, %lpad255.i ], [ %lpad.loopexit1326, %lpad2.i86.loopexit ], [ %lpad.loopexit.split-lp1327, %lpad2.i86.loopexit.split-lp ] + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i58) #22 br label %ehcleanup275.i -ehcleanup275.i: ; preds = %ehcleanup274.i, %lpad.i76 - %.pn45.pn.pn.i77 = phi { ptr, i32 } [ %.pn45.pn.i86, %ehcleanup274.i ], [ %124, %lpad.i76 ] - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i56) #22 +ehcleanup275.i: ; preds = %ehcleanup274.i, %lpad.i77 + %.pn45.pn.pn.i78 = phi { ptr, i32 } [ %.pn45.pn.i87, %ehcleanup274.i ], [ %124, %lpad.i77 ] + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i57) #22 br label %lpad.body -invoke.cont16: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i148, %if.end272.i - store ptr null, ptr %message_.i.i224.i150, align 8 - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i57) #22 - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i56) #22 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.addr.i55) - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_254.i56) - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_255.i57) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i58) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %array.i59) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar.i60) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i61) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7.i62) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp12.i63) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp15.i64) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar23.i65) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp24.i66) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp29.i67) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp36.i68) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp39.i69) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar50.i70) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp57.i71) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp64.i72) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp67.i73) +invoke.cont16: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i149, %if.end272.i + store ptr null, ptr %message_.i.i224.i151, align 8 + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i58) #22 + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i57) #22 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.addr.i56) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_254.i57) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_255.i58) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i59) + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %array.i60) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar.i61) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i62) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7.i63) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp12.i64) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp15.i65) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar23.i66) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp24.i67) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp29.i68) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp36.i69) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp39.i70) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar50.i71) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp57.i72) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp64.i73) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp67.i74) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar81.i) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp82.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp90.i) @@ -23789,7 +23860,7 @@ invoke.cont16: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp119.i) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp123.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp132.i) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp135.i74) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp135.i75) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar146.i) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp147.i) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp151.i) @@ -23797,7 +23868,7 @@ invoke.cont16: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp162.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar191.i) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp192.i) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp197.i75) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp197.i76) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp206.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp209.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar220.i) @@ -23808,2479 +23879,2479 @@ invoke.cont16: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar254.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp260.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp263.i) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.addr.i378) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_254.i379) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_255.i380) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i381) - call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %array.i382) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar.i383) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i384) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7.i385) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp12.i386) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp15.i387) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar23.i388) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp24.i389) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp29.i390) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp36.i391) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp39.i392) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar50.i393) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp57.i394) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp64.i395) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp67.i396) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar81.i397) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp82.i398) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp90.i399) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp93.i400) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar118.i401) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp119.i402) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp123.i403) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp132.i404) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp135.i405) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar146.i406) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp147.i407) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp151.i408) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp159.i409) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp162.i410) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar191.i411) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp192.i412) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp197.i413) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp206.i414) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp209.i415) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar220.i416) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp221.i417) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp226.i418) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp236.i419) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp239.i420) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar254.i421) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp260.i422) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp263.i423) - store i32 %0, ptr %n.addr.i378, align 4 - invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i379, ptr noundef nonnull @.str.3, i32 noundef 254, ptr noundef nonnull align 4 dereferenceable(4) %n.addr.i378) - to label %.noexc836 unwind label %lpad.loopexit - -.noexc836: ; preds = %invoke.cont16 - store i32 64, ptr %ref.tmp.i381, align 4 - invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i380, ptr noundef nonnull @.str.3, i32 noundef 255, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i381) - to label %invoke.cont.i427 unwind label %lpad.i424 - -invoke.cont.i427: ; preds = %.noexc836 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.addr.i379) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_254.i380) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_255.i381) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i382) + call void @llvm.lifetime.start.p0(i64 1040, ptr nonnull %array.i383) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar.i384) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i385) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7.i386) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp12.i387) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp15.i388) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar23.i389) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp24.i390) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp29.i391) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp36.i392) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp39.i393) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar50.i394) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp57.i395) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp64.i396) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp67.i397) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar81.i398) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp82.i399) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp90.i400) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp93.i401) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar118.i402) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp119.i403) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp123.i404) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp132.i405) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp135.i406) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar146.i407) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp147.i408) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp151.i409) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp159.i410) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp162.i411) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar191.i412) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp192.i413) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp197.i414) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp206.i415) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp209.i416) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar220.i417) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp221.i418) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp226.i419) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp236.i420) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp239.i421) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar254.i422) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp260.i423) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp263.i424) + store i32 %0, ptr %n.addr.i379, align 4 + invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i380, ptr noundef nonnull @.str.3, i32 noundef 254, ptr noundef nonnull align 4 dereferenceable(4) %n.addr.i379) + to label %.noexc837 unwind label %lpad.loopexit + +.noexc837: ; preds = %invoke.cont16 + store i32 64, ptr %ref.tmp.i382, align 4 + invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i381, ptr noundef nonnull @.str.3, i32 noundef 255, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i382) + to label %invoke.cont.i428 unwind label %lpad.i425 + +invoke.cont.i428: ; preds = %.noexc837 store i32 0, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 store i32 0, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 - %246 = load i32, ptr %n.addr.i378, align 4 - %conv.i428 = sext i32 %246 to i64 - store i64 %conv.i428, ptr %size_alloc_.i.i.i429, align 8 - %cmp.i.i.i.i.i430 = icmp ult i32 %246, 65 - br i1 %cmp.i.i.i.i.i430, label %invoke.cont.i.i833, label %if.else.i.i.i.i431 + %246 = load i32, ptr %n.addr.i379, align 4 + %conv.i429 = sext i32 %246 to i64 + store i64 %conv.i429, ptr %size_alloc_.i.i.i430, align 8 + %cmp.i.i.i.i.i431 = icmp ult i32 %246, 65 + br i1 %cmp.i.i.i.i.i431, label %invoke.cont.i.i834, label %if.else.i.i.i.i432 -if.else.i.i.i.i431: ; preds = %invoke.cont.i427 - %cmp.i.i.i.i.i.i432 = icmp slt i32 %246, 0 - br i1 %cmp.i.i.i.i.i.i432, label %if.then3.i.i.i.i.i.i831, label %invoke.cont.thread.i.i433 +if.else.i.i.i.i432: ; preds = %invoke.cont.i428 + %cmp.i.i.i.i.i.i433 = icmp slt i32 %246, 0 + br i1 %cmp.i.i.i.i.i.i433, label %if.then3.i.i.i.i.i.i832, label %invoke.cont.thread.i.i434 -if.then3.i.i.i.i.i.i831: ; preds = %if.else.i.i.i.i431 +if.then3.i.i.i.i.i.i832: ; preds = %if.else.i.i.i.i432 invoke void @_ZSt28__throw_bad_array_new_lengthv() #25 - to label %.noexc.i832 unwind label %lpad2.i436.loopexit.split-lp + to label %.noexc.i833 unwind label %lpad2.i437.loopexit.split-lp -.noexc.i832: ; preds = %if.then3.i.i.i.i.i.i831 +.noexc.i833: ; preds = %if.then3.i.i.i.i.i.i832 unreachable -invoke.cont.thread.i.i433: ; preds = %if.else.i.i.i.i431 - %mul.i.i.i.i.i.i434 = shl nuw nsw i64 %conv.i428, 4 - %call5.i.i.i2.i.i61.i435 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i434) #24 - to label %call5.i.i.i2.i.i.noexc.i439 unwind label %lpad2.i436.loopexit - -call5.i.i.i2.i.i.noexc.i439: ; preds = %invoke.cont.thread.i.i433 - store ptr %call5.i.i.i2.i.i61.i435, ptr %data_.i2.i.i440, align 8 - br label %for.inc.preheader.i.i.i441 - -invoke.cont.i.i833: ; preds = %invoke.cont.i427 - store ptr %array.i382, ptr %data_.i2.i.i440, align 8 - %cmp.not2.i.i.i835 = icmp eq i32 %246, 0 - br i1 %cmp.not2.i.i.i835, label %invoke.cont6.i453, label %for.inc.preheader.i.i.i441 - -for.inc.preheader.i.i.i441: ; preds = %invoke.cont.i.i833, %call5.i.i.i2.i.i.noexc.i439 - %retval.0.i.i5.i.i442 = phi ptr [ %call5.i.i.i2.i.i61.i435, %call5.i.i.i2.i.i.noexc.i439 ], [ %array.i382, %invoke.cont.i.i833 ] - %add.ptr.i6.i.i443 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %retval.0.i.i5.i.i442, i64 %conv.i428 - br label %for.inc.i.i.i444 - -for.inc.i.i.i444: ; preds = %for.inc.i.i.i444, %for.inc.preheader.i.i.i441 - %cur.04.i.i.i445 = phi ptr [ %incdec.ptr4.i.i.i449, %for.inc.i.i.i444 ], [ %retval.0.i.i5.i.i442, %for.inc.preheader.i.i.i441 ] - %inc.i.i.i13.i.i.i446 = phi i32 [ %inc.i.i.i.i.i.i448, %for.inc.i.i.i444 ], [ 0, %for.inc.preheader.i.i.i441 ] - store ptr %cur.04.i.i.i445, ptr %cur.04.i.i.i445, align 8 - %value_.i.i.i.i.i.i447 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i445, i64 0, i32 1 - store i32 0, ptr %value_.i.i.i.i.i.i447, align 8 - %inc.i.i.i.i.i.i448 = add nuw nsw i32 %inc.i.i.i13.i.i.i446, 1 - %incdec.ptr4.i.i.i449 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i445, i64 1 - %cmp.not.i.i.i450 = icmp eq ptr %incdec.ptr4.i.i.i449, %add.ptr.i6.i.i443 - br i1 %cmp.not.i.i.i450, label %for.cond.for.end_crit_edge.i.i.i451, label %for.inc.i.i.i444, !llvm.loop !346 - -for.cond.for.end_crit_edge.i.i.i451: ; preds = %for.inc.i.i.i444 - store i32 %inc.i.i.i.i.i.i448, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 - %array.val.pre.i452 = load i64, ptr %size_alloc_.i.i.i429, align 8 - br label %invoke.cont6.i453 - -invoke.cont6.i453: ; preds = %for.cond.for.end_crit_edge.i.i.i451, %invoke.cont.i.i833 - %array.val.i454 = phi i64 [ 0, %invoke.cont.i.i833 ], [ %array.val.pre.i452, %for.cond.for.end_crit_edge.i.i.i451 ] - store i32 %246, ptr %ref.tmp4.i384, align 4 - store i64 %array.val.i454, ptr %ref.tmp7.i385, align 8 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i383, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp4.i384, ptr noundef nonnull @.str.197, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7.i385) - to label %invoke.cont10.i459 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i455 - -invoke.cont10.i459: ; preds = %invoke.cont6.i453 - %247 = load i8, ptr %gtest_ar.i383, align 8 +invoke.cont.thread.i.i434: ; preds = %if.else.i.i.i.i432 + %mul.i.i.i.i.i.i435 = shl nuw nsw i64 %conv.i429, 4 + %call5.i.i.i2.i.i61.i436 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i435) #24 + to label %call5.i.i.i2.i.i.noexc.i440 unwind label %lpad2.i437.loopexit + +call5.i.i.i2.i.i.noexc.i440: ; preds = %invoke.cont.thread.i.i434 + store ptr %call5.i.i.i2.i.i61.i436, ptr %data_.i2.i.i441, align 8 + br label %for.inc.preheader.i.i.i442 + +invoke.cont.i.i834: ; preds = %invoke.cont.i428 + store ptr %array.i383, ptr %data_.i2.i.i441, align 8 + %cmp.not2.i.i.i836 = icmp eq i32 %246, 0 + br i1 %cmp.not2.i.i.i836, label %invoke.cont6.i454, label %for.inc.preheader.i.i.i442 + +for.inc.preheader.i.i.i442: ; preds = %invoke.cont.i.i834, %call5.i.i.i2.i.i.noexc.i440 + %retval.0.i.i5.i.i443 = phi ptr [ %call5.i.i.i2.i.i61.i436, %call5.i.i.i2.i.i.noexc.i440 ], [ %array.i383, %invoke.cont.i.i834 ] + %add.ptr.i6.i.i444 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %retval.0.i.i5.i.i443, i64 %conv.i429 + br label %for.inc.i.i.i445 + +for.inc.i.i.i445: ; preds = %for.inc.i.i.i445, %for.inc.preheader.i.i.i442 + %cur.04.i.i.i446 = phi ptr [ %incdec.ptr4.i.i.i450, %for.inc.i.i.i445 ], [ %retval.0.i.i5.i.i443, %for.inc.preheader.i.i.i442 ] + %inc.i.i.i13.i.i.i447 = phi i32 [ %inc.i.i.i.i.i.i449, %for.inc.i.i.i445 ], [ 0, %for.inc.preheader.i.i.i442 ] + store ptr %cur.04.i.i.i446, ptr %cur.04.i.i.i446, align 8 + %value_.i.i.i.i.i.i448 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i446, i64 0, i32 1 + store i32 0, ptr %value_.i.i.i.i.i.i448, align 8 + %inc.i.i.i.i.i.i449 = add nuw nsw i32 %inc.i.i.i13.i.i.i447, 1 + %incdec.ptr4.i.i.i450 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i446, i64 1 + %cmp.not.i.i.i451 = icmp eq ptr %incdec.ptr4.i.i.i450, %add.ptr.i6.i.i444 + br i1 %cmp.not.i.i.i451, label %for.cond.for.end_crit_edge.i.i.i452, label %for.inc.i.i.i445, !llvm.loop !346 + +for.cond.for.end_crit_edge.i.i.i452: ; preds = %for.inc.i.i.i445 + store i32 %inc.i.i.i.i.i.i449, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 + %array.val.pre.i453 = load i64, ptr %size_alloc_.i.i.i430, align 8 + br label %invoke.cont6.i454 + +invoke.cont6.i454: ; preds = %for.cond.for.end_crit_edge.i.i.i452, %invoke.cont.i.i834 + %array.val.i455 = phi i64 [ 0, %invoke.cont.i.i834 ], [ %array.val.pre.i453, %for.cond.for.end_crit_edge.i.i.i452 ] + store i32 %246, ptr %ref.tmp4.i385, align 4 + store i64 %array.val.i455, ptr %ref.tmp7.i386, align 8 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i384, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp4.i385, ptr noundef nonnull @.str.197, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7.i386) + to label %invoke.cont10.i460 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i456 + +invoke.cont10.i460: ; preds = %invoke.cont6.i454 + %247 = load i8, ptr %gtest_ar.i384, align 8 %248 = and i8 %247, 1 - %tobool.i.not.i460 = icmp eq i8 %248, 0 - br i1 %tobool.i.not.i460, label %if.else.i804, label %if.end.i461 + %tobool.i.not.i461 = icmp eq i8 %248, 0 + br i1 %tobool.i.not.i461, label %if.else.i805, label %if.end.i462 -lpad.i424: ; preds = %.noexc836 +lpad.i425: ; preds = %.noexc837 %249 = landingpad { ptr, i32 } cleanup - br label %ehcleanup275.i425 + br label %ehcleanup275.i426 -lpad2.i436.loopexit: ; preds = %invoke.cont.thread.i.i433 - %lpad.loopexit1328 = landingpad { ptr, i32 } +lpad2.i437.loopexit: ; preds = %invoke.cont.thread.i.i434 + %lpad.loopexit1329 = landingpad { ptr, i32 } cleanup - br label %ehcleanup274.i437 + br label %ehcleanup274.i438 -lpad2.i436.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i831 - %lpad.loopexit.split-lp1329 = landingpad { ptr, i32 } +lpad2.i437.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i832 + %lpad.loopexit.split-lp1330 = landingpad { ptr, i32 } cleanup - br label %ehcleanup274.i437 + br label %ehcleanup274.i438 -lpad5.loopexit.i602: ; preds = %invoke.cont223.i609, %invoke.cont199.i597 - %lpad.loopexit.i603 = landingpad { ptr, i32 } +lpad5.loopexit.i603: ; preds = %invoke.cont223.i610, %invoke.cont199.i598 + %lpad.loopexit.i604 = landingpad { ptr, i32 } cleanup - br label %ehcleanup253.i457 + br label %ehcleanup253.i458 -lpad5.loopexit.split-lp.loopexit.i566: ; preds = %invoke.cont148.i573, %invoke.cont125.i562 - %lpad.loopexit244.i567 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit.i567: ; preds = %invoke.cont148.i574, %invoke.cont125.i563 + %lpad.loopexit244.i568 = landingpad { ptr, i32 } cleanup - br label %ehcleanup253.i457 + br label %ehcleanup253.i458 -lpad5.loopexit.split-lp.loopexit.split-lp.i455: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i488, %invoke.cont58.i476, %invoke.cont26.i465, %invoke.cont6.i453 - %lpad.loopexit.split-lp245.i456 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit.split-lp.i456: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i489, %invoke.cont58.i477, %invoke.cont26.i466, %invoke.cont6.i454 + %lpad.loopexit.split-lp245.i457 = landingpad { ptr, i32 } cleanup - br label %ehcleanup253.i457 + br label %ehcleanup253.i458 -if.else.i804: ; preds = %invoke.cont10.i459 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i386) - to label %invoke.cont14.i808 unwind label %lpad13.i805 +if.else.i805: ; preds = %invoke.cont10.i460 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i387) + to label %invoke.cont14.i809 unwind label %lpad13.i806 -invoke.cont14.i808: ; preds = %if.else.i804 - %250 = load ptr, ptr %message_.i.i.i809, align 8 - %cmp.i.i.not.i.i.i810 = icmp eq ptr %250, null - br i1 %cmp.i.i.not.i.i.i810, label %invoke.cont17.i813, label %cond.true.i.i.i811 +invoke.cont14.i809: ; preds = %if.else.i805 + %250 = load ptr, ptr %message_.i.i.i810, align 8 + %cmp.i.i.not.i.i.i811 = icmp eq ptr %250, null + br i1 %cmp.i.i.not.i.i.i811, label %invoke.cont17.i814, label %cond.true.i.i.i812 -cond.true.i.i.i811: ; preds = %invoke.cont14.i808 - %call4.i.i.i812 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %250) #22 - br label %invoke.cont17.i813 +cond.true.i.i.i812: ; preds = %invoke.cont14.i809 + %call4.i.i.i813 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %250) #22 + br label %invoke.cont17.i814 -invoke.cont17.i813: ; preds = %cond.true.i.i.i811, %invoke.cont14.i808 - %cond.i.i.i814 = phi ptr [ %call4.i.i.i812, %cond.true.i.i.i811 ], [ @.str.123, %invoke.cont14.i808 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i387, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 261, ptr noundef %cond.i.i.i814) - to label %invoke.cont19.i823 unwind label %lpad16.i815 +invoke.cont17.i814: ; preds = %cond.true.i.i.i812, %invoke.cont14.i809 + %cond.i.i.i815 = phi ptr [ %call4.i.i.i813, %cond.true.i.i.i812 ], [ @.str.123, %invoke.cont14.i809 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i388, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 261, ptr noundef %cond.i.i.i815) + to label %invoke.cont19.i824 unwind label %lpad16.i816 -invoke.cont19.i823: ; preds = %invoke.cont17.i813 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i387, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i386) - to label %invoke.cont21.i825 unwind label %lpad20.i824 +invoke.cont19.i824: ; preds = %invoke.cont17.i814 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i388, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i387) + to label %invoke.cont21.i826 unwind label %lpad20.i825 -invoke.cont21.i825: ; preds = %invoke.cont19.i823 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i387) #22 - %251 = load ptr, ptr %ref.tmp12.i386, align 8 - %cmp.not.i.i62.i826 = icmp eq ptr %251, null - br i1 %cmp.not.i.i62.i826, label %_ZN7testing7MessageD2Ev.exit.i830, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i827 +invoke.cont21.i826: ; preds = %invoke.cont19.i824 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i388) #22 + %251 = load ptr, ptr %ref.tmp12.i387, align 8 + %cmp.not.i.i62.i827 = icmp eq ptr %251, null + br i1 %cmp.not.i.i62.i827, label %_ZN7testing7MessageD2Ev.exit.i831, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i828 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i827: ; preds = %invoke.cont21.i825 - %vtable.i.i.i.i828 = load ptr, ptr %251, align 8 - %vfn.i.i.i.i829 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i828, i64 1 - %252 = load ptr, ptr %vfn.i.i.i.i829, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i828: ; preds = %invoke.cont21.i826 + %vtable.i.i.i.i829 = load ptr, ptr %251, align 8 + %vfn.i.i.i.i830 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i829, i64 1 + %252 = load ptr, ptr %vfn.i.i.i.i830, align 8 call void %252(ptr noundef nonnull align 8 dereferenceable(128) %251) #22 - br label %_ZN7testing7MessageD2Ev.exit.i830 + br label %_ZN7testing7MessageD2Ev.exit.i831 -_ZN7testing7MessageD2Ev.exit.i830: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i827, %invoke.cont21.i825 - store ptr null, ptr %ref.tmp12.i386, align 8 - br label %if.end.i461 +_ZN7testing7MessageD2Ev.exit.i831: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i828, %invoke.cont21.i826 + store ptr null, ptr %ref.tmp12.i387, align 8 + br label %if.end.i462 -lpad13.i805: ; preds = %if.else.i804 +lpad13.i806: ; preds = %if.else.i805 %253 = landingpad { ptr, i32 } cleanup - br label %ehcleanup22.i806 + br label %ehcleanup22.i807 -lpad16.i815: ; preds = %invoke.cont17.i813 +lpad16.i816: ; preds = %invoke.cont17.i814 %254 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i816 + br label %ehcleanup.i817 -lpad20.i824: ; preds = %invoke.cont19.i823 +lpad20.i825: ; preds = %invoke.cont19.i824 %255 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i387) #22 - br label %ehcleanup.i816 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i388) #22 + br label %ehcleanup.i817 -ehcleanup.i816: ; preds = %lpad20.i824, %lpad16.i815 - %.pn.i817 = phi { ptr, i32 } [ %255, %lpad20.i824 ], [ %254, %lpad16.i815 ] - %256 = load ptr, ptr %ref.tmp12.i386, align 8 - %cmp.not.i.i63.i818 = icmp eq ptr %256, null - br i1 %cmp.not.i.i63.i818, label %_ZN7testing7MessageD2Ev.exit67.i822, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i819 +ehcleanup.i817: ; preds = %lpad20.i825, %lpad16.i816 + %.pn.i818 = phi { ptr, i32 } [ %255, %lpad20.i825 ], [ %254, %lpad16.i816 ] + %256 = load ptr, ptr %ref.tmp12.i387, align 8 + %cmp.not.i.i63.i819 = icmp eq ptr %256, null + br i1 %cmp.not.i.i63.i819, label %_ZN7testing7MessageD2Ev.exit67.i823, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i820 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i819: ; preds = %ehcleanup.i816 - %vtable.i.i.i65.i820 = load ptr, ptr %256, align 8 - %vfn.i.i.i66.i821 = getelementptr inbounds ptr, ptr %vtable.i.i.i65.i820, i64 1 - %257 = load ptr, ptr %vfn.i.i.i66.i821, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i820: ; preds = %ehcleanup.i817 + %vtable.i.i.i65.i821 = load ptr, ptr %256, align 8 + %vfn.i.i.i66.i822 = getelementptr inbounds ptr, ptr %vtable.i.i.i65.i821, i64 1 + %257 = load ptr, ptr %vfn.i.i.i66.i822, align 8 call void %257(ptr noundef nonnull align 8 dereferenceable(128) %256) #22 - br label %_ZN7testing7MessageD2Ev.exit67.i822 + br label %_ZN7testing7MessageD2Ev.exit67.i823 -_ZN7testing7MessageD2Ev.exit67.i822: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i819, %ehcleanup.i816 - store ptr null, ptr %ref.tmp12.i386, align 8 - br label %ehcleanup22.i806 +_ZN7testing7MessageD2Ev.exit67.i823: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i820, %ehcleanup.i817 + store ptr null, ptr %ref.tmp12.i387, align 8 + br label %ehcleanup22.i807 -if.end.i461: ; preds = %_ZN7testing7MessageD2Ev.exit.i830, %invoke.cont10.i459 - %258 = load ptr, ptr %message_.i.i.i809, align 8 - %cmp.not.i.i68.i463 = icmp eq ptr %258, null - br i1 %cmp.not.i.i68.i463, label %invoke.cont26.i465, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i464 +if.end.i462: ; preds = %_ZN7testing7MessageD2Ev.exit.i831, %invoke.cont10.i460 + %258 = load ptr, ptr %message_.i.i.i810, align 8 + %cmp.not.i.i68.i464 = icmp eq ptr %258, null + br i1 %cmp.not.i.i68.i464, label %invoke.cont26.i466, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i465 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i464: ; preds = %if.end.i461 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i465: ; preds = %if.end.i462 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %258) #22 call void @_ZdlPv(ptr noundef nonnull %258) #23 - br label %invoke.cont26.i465 - -invoke.cont26.i465: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i464, %if.end.i461 - store ptr null, ptr %message_.i.i.i809, align 8 - %259 = load i32, ptr %n.addr.i378, align 4 - %conv25.i466 = sext i32 %259 to i64 - %mul.i467 = shl nsw i64 %conv25.i466, 4 - store i64 %mul.i467, ptr %ref.tmp24.i389, align 8 - %array.val49.i468 = load i64, ptr %size_alloc_.i.i.i429, align 8 - %mul.i.i469 = shl i64 %array.val49.i468, 4 - store i64 %mul.i.i469, ptr %ref.tmp29.i390, align 8 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherImEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar23.i388, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24.i389, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29.i390) - to label %invoke.cont32.i470 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i455 - -invoke.cont32.i470: ; preds = %invoke.cont26.i465 - %260 = load i8, ptr %gtest_ar23.i388, align 8 + br label %invoke.cont26.i466 + +invoke.cont26.i466: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i465, %if.end.i462 + store ptr null, ptr %message_.i.i.i810, align 8 + %259 = load i32, ptr %n.addr.i379, align 4 + %conv25.i467 = sext i32 %259 to i64 + %mul.i468 = shl nsw i64 %conv25.i467, 4 + store i64 %mul.i468, ptr %ref.tmp24.i390, align 8 + %array.val49.i469 = load i64, ptr %size_alloc_.i.i.i430, align 8 + %mul.i.i470 = shl i64 %array.val49.i469, 4 + store i64 %mul.i.i470, ptr %ref.tmp29.i391, align 8 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherImEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar23.i389, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24.i390, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29.i391) + to label %invoke.cont32.i471 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i456 + +invoke.cont32.i471: ; preds = %invoke.cont26.i466 + %260 = load i8, ptr %gtest_ar23.i389, align 8 %261 = and i8 %260, 1 - %tobool.i69.not.i471 = icmp eq i8 %261, 0 - br i1 %tobool.i69.not.i471, label %if.else35.i777, label %if.end48.i472 - -ehcleanup22.i806: ; preds = %_ZN7testing7MessageD2Ev.exit67.i822, %lpad13.i805 - %.pn.pn.i807 = phi { ptr, i32 } [ %.pn.i817, %_ZN7testing7MessageD2Ev.exit67.i822 ], [ %253, %lpad13.i805 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i383) #22 - br label %ehcleanup253.i457 - -if.else35.i777: ; preds = %invoke.cont32.i470 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i391) - to label %invoke.cont38.i781 unwind label %lpad37.i778 - -invoke.cont38.i781: ; preds = %if.else35.i777 - %262 = load ptr, ptr %message_.i.i70.i782, align 8 - %cmp.i.i.not.i.i71.i783 = icmp eq ptr %262, null - br i1 %cmp.i.i.not.i.i71.i783, label %invoke.cont41.i786, label %cond.true.i.i72.i784 - -cond.true.i.i72.i784: ; preds = %invoke.cont38.i781 - %call4.i.i73.i785 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %262) #22 - br label %invoke.cont41.i786 - -invoke.cont41.i786: ; preds = %cond.true.i.i72.i784, %invoke.cont38.i781 - %cond.i.i74.i787 = phi ptr [ %call4.i.i73.i785, %cond.true.i.i72.i784 ], [ @.str.123, %invoke.cont38.i781 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i392, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 262, ptr noundef %cond.i.i74.i787) - to label %invoke.cont43.i796 unwind label %lpad40.i788 - -invoke.cont43.i796: ; preds = %invoke.cont41.i786 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i392, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i391) - to label %invoke.cont45.i798 unwind label %lpad44.i797 - -invoke.cont45.i798: ; preds = %invoke.cont43.i796 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i392) #22 - %263 = load ptr, ptr %ref.tmp36.i391, align 8 - %cmp.not.i.i76.i799 = icmp eq ptr %263, null - br i1 %cmp.not.i.i76.i799, label %_ZN7testing7MessageD2Ev.exit80.i803, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i800 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i800: ; preds = %invoke.cont45.i798 - %vtable.i.i.i78.i801 = load ptr, ptr %263, align 8 - %vfn.i.i.i79.i802 = getelementptr inbounds ptr, ptr %vtable.i.i.i78.i801, i64 1 - %264 = load ptr, ptr %vfn.i.i.i79.i802, align 8 + %tobool.i69.not.i472 = icmp eq i8 %261, 0 + br i1 %tobool.i69.not.i472, label %if.else35.i778, label %if.end48.i473 + +ehcleanup22.i807: ; preds = %_ZN7testing7MessageD2Ev.exit67.i823, %lpad13.i806 + %.pn.pn.i808 = phi { ptr, i32 } [ %.pn.i818, %_ZN7testing7MessageD2Ev.exit67.i823 ], [ %253, %lpad13.i806 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i384) #22 + br label %ehcleanup253.i458 + +if.else35.i778: ; preds = %invoke.cont32.i471 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i392) + to label %invoke.cont38.i782 unwind label %lpad37.i779 + +invoke.cont38.i782: ; preds = %if.else35.i778 + %262 = load ptr, ptr %message_.i.i70.i783, align 8 + %cmp.i.i.not.i.i71.i784 = icmp eq ptr %262, null + br i1 %cmp.i.i.not.i.i71.i784, label %invoke.cont41.i787, label %cond.true.i.i72.i785 + +cond.true.i.i72.i785: ; preds = %invoke.cont38.i782 + %call4.i.i73.i786 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %262) #22 + br label %invoke.cont41.i787 + +invoke.cont41.i787: ; preds = %cond.true.i.i72.i785, %invoke.cont38.i782 + %cond.i.i74.i788 = phi ptr [ %call4.i.i73.i786, %cond.true.i.i72.i785 ], [ @.str.123, %invoke.cont38.i782 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i393, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 262, ptr noundef %cond.i.i74.i788) + to label %invoke.cont43.i797 unwind label %lpad40.i789 + +invoke.cont43.i797: ; preds = %invoke.cont41.i787 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i393, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i392) + to label %invoke.cont45.i799 unwind label %lpad44.i798 + +invoke.cont45.i799: ; preds = %invoke.cont43.i797 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i393) #22 + %263 = load ptr, ptr %ref.tmp36.i392, align 8 + %cmp.not.i.i76.i800 = icmp eq ptr %263, null + br i1 %cmp.not.i.i76.i800, label %_ZN7testing7MessageD2Ev.exit80.i804, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i801 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i801: ; preds = %invoke.cont45.i799 + %vtable.i.i.i78.i802 = load ptr, ptr %263, align 8 + %vfn.i.i.i79.i803 = getelementptr inbounds ptr, ptr %vtable.i.i.i78.i802, i64 1 + %264 = load ptr, ptr %vfn.i.i.i79.i803, align 8 call void %264(ptr noundef nonnull align 8 dereferenceable(128) %263) #22 - br label %_ZN7testing7MessageD2Ev.exit80.i803 + br label %_ZN7testing7MessageD2Ev.exit80.i804 -_ZN7testing7MessageD2Ev.exit80.i803: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i800, %invoke.cont45.i798 - store ptr null, ptr %ref.tmp36.i391, align 8 - br label %if.end48.i472 +_ZN7testing7MessageD2Ev.exit80.i804: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i801, %invoke.cont45.i799 + store ptr null, ptr %ref.tmp36.i392, align 8 + br label %if.end48.i473 -lpad37.i778: ; preds = %if.else35.i777 +lpad37.i779: ; preds = %if.else35.i778 %265 = landingpad { ptr, i32 } cleanup - br label %ehcleanup49.i779 + br label %ehcleanup49.i780 -lpad40.i788: ; preds = %invoke.cont41.i786 +lpad40.i789: ; preds = %invoke.cont41.i787 %266 = landingpad { ptr, i32 } cleanup - br label %ehcleanup47.i789 + br label %ehcleanup47.i790 -lpad44.i797: ; preds = %invoke.cont43.i796 +lpad44.i798: ; preds = %invoke.cont43.i797 %267 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i392) #22 - br label %ehcleanup47.i789 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i393) #22 + br label %ehcleanup47.i790 -ehcleanup47.i789: ; preds = %lpad44.i797, %lpad40.i788 - %.pn21.i790 = phi { ptr, i32 } [ %267, %lpad44.i797 ], [ %266, %lpad40.i788 ] - %268 = load ptr, ptr %ref.tmp36.i391, align 8 - %cmp.not.i.i81.i791 = icmp eq ptr %268, null - br i1 %cmp.not.i.i81.i791, label %_ZN7testing7MessageD2Ev.exit85.i795, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i792 +ehcleanup47.i790: ; preds = %lpad44.i798, %lpad40.i789 + %.pn21.i791 = phi { ptr, i32 } [ %267, %lpad44.i798 ], [ %266, %lpad40.i789 ] + %268 = load ptr, ptr %ref.tmp36.i392, align 8 + %cmp.not.i.i81.i792 = icmp eq ptr %268, null + br i1 %cmp.not.i.i81.i792, label %_ZN7testing7MessageD2Ev.exit85.i796, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i793 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i792: ; preds = %ehcleanup47.i789 - %vtable.i.i.i83.i793 = load ptr, ptr %268, align 8 - %vfn.i.i.i84.i794 = getelementptr inbounds ptr, ptr %vtable.i.i.i83.i793, i64 1 - %269 = load ptr, ptr %vfn.i.i.i84.i794, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i793: ; preds = %ehcleanup47.i790 + %vtable.i.i.i83.i794 = load ptr, ptr %268, align 8 + %vfn.i.i.i84.i795 = getelementptr inbounds ptr, ptr %vtable.i.i.i83.i794, i64 1 + %269 = load ptr, ptr %vfn.i.i.i84.i795, align 8 call void %269(ptr noundef nonnull align 8 dereferenceable(128) %268) #22 - br label %_ZN7testing7MessageD2Ev.exit85.i795 + br label %_ZN7testing7MessageD2Ev.exit85.i796 -_ZN7testing7MessageD2Ev.exit85.i795: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i792, %ehcleanup47.i789 - store ptr null, ptr %ref.tmp36.i391, align 8 - br label %ehcleanup49.i779 +_ZN7testing7MessageD2Ev.exit85.i796: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i793, %ehcleanup47.i790 + store ptr null, ptr %ref.tmp36.i392, align 8 + br label %ehcleanup49.i780 -if.end48.i472: ; preds = %_ZN7testing7MessageD2Ev.exit80.i803, %invoke.cont32.i470 - %270 = load ptr, ptr %message_.i.i70.i782, align 8 - %cmp.not.i.i87.i474 = icmp eq ptr %270, null - br i1 %cmp.not.i.i87.i474, label %invoke.cont58.i476, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i475 +if.end48.i473: ; preds = %_ZN7testing7MessageD2Ev.exit80.i804, %invoke.cont32.i471 + %270 = load ptr, ptr %message_.i.i70.i783, align 8 + %cmp.not.i.i87.i475 = icmp eq ptr %270, null + br i1 %cmp.not.i.i87.i475, label %invoke.cont58.i477, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i476 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i475: ; preds = %if.end48.i472 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i476: ; preds = %if.end48.i473 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %270) #22 call void @_ZdlPv(ptr noundef nonnull %270) #23 - br label %invoke.cont58.i476 - -invoke.cont58.i476: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i475, %if.end48.i472 - store ptr null, ptr %message_.i.i70.i782, align 8 - %array.val53.i477 = load i64, ptr %size_alloc_.i.i.i429, align 8 - %array.val54.i478 = load ptr, ptr %data_.i2.i.i440, align 8 - %add.ptr.i.i479 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i478, i64 %array.val53.i477 - %271 = load i32, ptr %n.addr.i378, align 4 - %idx.ext.i480 = sext i32 %271 to i64 - %add.ptr.i481 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i478, i64 %idx.ext.i480 - store ptr %add.ptr.i481, ptr %ref.tmp57.i394, align 8 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIPN12_GLOBAL__N_118ConstructionTesterEEclIS4_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar50.i393, ptr %add.ptr.i.i479, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp57.i394) - to label %invoke.cont60.i482 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i455 - -invoke.cont60.i482: ; preds = %invoke.cont58.i476 - %272 = load i8, ptr %gtest_ar50.i393, align 8 + br label %invoke.cont58.i477 + +invoke.cont58.i477: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i476, %if.end48.i473 + store ptr null, ptr %message_.i.i70.i783, align 8 + %array.val53.i478 = load i64, ptr %size_alloc_.i.i.i430, align 8 + %array.val54.i479 = load ptr, ptr %data_.i2.i.i441, align 8 + %add.ptr.i.i480 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i479, i64 %array.val53.i478 + %271 = load i32, ptr %n.addr.i379, align 4 + %idx.ext.i481 = sext i32 %271 to i64 + %add.ptr.i482 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i479, i64 %idx.ext.i481 + store ptr %add.ptr.i482, ptr %ref.tmp57.i395, align 8 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIPN12_GLOBAL__N_118ConstructionTesterEEclIS4_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar50.i394, ptr %add.ptr.i.i480, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp57.i395) + to label %invoke.cont60.i483 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i456 + +invoke.cont60.i483: ; preds = %invoke.cont58.i477 + %272 = load i8, ptr %gtest_ar50.i394, align 8 %273 = and i8 %272, 1 - %tobool.i90.not.i483 = icmp eq i8 %273, 0 - br i1 %tobool.i90.not.i483, label %if.else63.i750, label %if.end76.i484 - -ehcleanup49.i779: ; preds = %_ZN7testing7MessageD2Ev.exit85.i795, %lpad37.i778 - %.pn21.pn.i780 = phi { ptr, i32 } [ %.pn21.i790, %_ZN7testing7MessageD2Ev.exit85.i795 ], [ %265, %lpad37.i778 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar23.i388) #22 - br label %ehcleanup253.i457 - -if.else63.i750: ; preds = %invoke.cont60.i482 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i395) - to label %invoke.cont66.i754 unwind label %lpad65.i751 - -invoke.cont66.i754: ; preds = %if.else63.i750 - %274 = load ptr, ptr %message_.i.i91.i755, align 8 - %cmp.i.i.not.i.i92.i756 = icmp eq ptr %274, null - br i1 %cmp.i.i.not.i.i92.i756, label %invoke.cont69.i759, label %cond.true.i.i93.i757 - -cond.true.i.i93.i757: ; preds = %invoke.cont66.i754 - %call4.i.i94.i758 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %274) #22 - br label %invoke.cont69.i759 - -invoke.cont69.i759: ; preds = %cond.true.i.i93.i757, %invoke.cont66.i754 - %cond.i.i95.i760 = phi ptr [ %call4.i.i94.i758, %cond.true.i.i93.i757 ], [ @.str.123, %invoke.cont66.i754 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i396, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 263, ptr noundef %cond.i.i95.i760) - to label %invoke.cont71.i769 unwind label %lpad68.i761 - -invoke.cont71.i769: ; preds = %invoke.cont69.i759 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i396, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i395) - to label %invoke.cont73.i771 unwind label %lpad72.i770 - -invoke.cont73.i771: ; preds = %invoke.cont71.i769 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i396) #22 - %275 = load ptr, ptr %ref.tmp64.i395, align 8 - %cmp.not.i.i97.i772 = icmp eq ptr %275, null - br i1 %cmp.not.i.i97.i772, label %_ZN7testing7MessageD2Ev.exit101.i776, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i773 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i773: ; preds = %invoke.cont73.i771 - %vtable.i.i.i99.i774 = load ptr, ptr %275, align 8 - %vfn.i.i.i100.i775 = getelementptr inbounds ptr, ptr %vtable.i.i.i99.i774, i64 1 - %276 = load ptr, ptr %vfn.i.i.i100.i775, align 8 + %tobool.i90.not.i484 = icmp eq i8 %273, 0 + br i1 %tobool.i90.not.i484, label %if.else63.i751, label %if.end76.i485 + +ehcleanup49.i780: ; preds = %_ZN7testing7MessageD2Ev.exit85.i796, %lpad37.i779 + %.pn21.pn.i781 = phi { ptr, i32 } [ %.pn21.i791, %_ZN7testing7MessageD2Ev.exit85.i796 ], [ %265, %lpad37.i779 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar23.i389) #22 + br label %ehcleanup253.i458 + +if.else63.i751: ; preds = %invoke.cont60.i483 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i396) + to label %invoke.cont66.i755 unwind label %lpad65.i752 + +invoke.cont66.i755: ; preds = %if.else63.i751 + %274 = load ptr, ptr %message_.i.i91.i756, align 8 + %cmp.i.i.not.i.i92.i757 = icmp eq ptr %274, null + br i1 %cmp.i.i.not.i.i92.i757, label %invoke.cont69.i760, label %cond.true.i.i93.i758 + +cond.true.i.i93.i758: ; preds = %invoke.cont66.i755 + %call4.i.i94.i759 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %274) #22 + br label %invoke.cont69.i760 + +invoke.cont69.i760: ; preds = %cond.true.i.i93.i758, %invoke.cont66.i755 + %cond.i.i95.i761 = phi ptr [ %call4.i.i94.i759, %cond.true.i.i93.i758 ], [ @.str.123, %invoke.cont66.i755 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i397, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 263, ptr noundef %cond.i.i95.i761) + to label %invoke.cont71.i770 unwind label %lpad68.i762 + +invoke.cont71.i770: ; preds = %invoke.cont69.i760 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i397, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i396) + to label %invoke.cont73.i772 unwind label %lpad72.i771 + +invoke.cont73.i772: ; preds = %invoke.cont71.i770 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i397) #22 + %275 = load ptr, ptr %ref.tmp64.i396, align 8 + %cmp.not.i.i97.i773 = icmp eq ptr %275, null + br i1 %cmp.not.i.i97.i773, label %_ZN7testing7MessageD2Ev.exit101.i777, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i774 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i774: ; preds = %invoke.cont73.i772 + %vtable.i.i.i99.i775 = load ptr, ptr %275, align 8 + %vfn.i.i.i100.i776 = getelementptr inbounds ptr, ptr %vtable.i.i.i99.i775, i64 1 + %276 = load ptr, ptr %vfn.i.i.i100.i776, align 8 call void %276(ptr noundef nonnull align 8 dereferenceable(128) %275) #22 - br label %_ZN7testing7MessageD2Ev.exit101.i776 + br label %_ZN7testing7MessageD2Ev.exit101.i777 -_ZN7testing7MessageD2Ev.exit101.i776: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i773, %invoke.cont73.i771 - store ptr null, ptr %ref.tmp64.i395, align 8 - br label %if.end76.i484 +_ZN7testing7MessageD2Ev.exit101.i777: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i774, %invoke.cont73.i772 + store ptr null, ptr %ref.tmp64.i396, align 8 + br label %if.end76.i485 -lpad65.i751: ; preds = %if.else63.i750 +lpad65.i752: ; preds = %if.else63.i751 %277 = landingpad { ptr, i32 } cleanup - br label %ehcleanup77.i752 + br label %ehcleanup77.i753 -lpad68.i761: ; preds = %invoke.cont69.i759 +lpad68.i762: ; preds = %invoke.cont69.i760 %278 = landingpad { ptr, i32 } cleanup - br label %ehcleanup75.i762 + br label %ehcleanup75.i763 -lpad72.i770: ; preds = %invoke.cont71.i769 +lpad72.i771: ; preds = %invoke.cont71.i770 %279 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i396) #22 - br label %ehcleanup75.i762 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i397) #22 + br label %ehcleanup75.i763 -ehcleanup75.i762: ; preds = %lpad72.i770, %lpad68.i761 - %.pn24.i763 = phi { ptr, i32 } [ %279, %lpad72.i770 ], [ %278, %lpad68.i761 ] - %280 = load ptr, ptr %ref.tmp64.i395, align 8 - %cmp.not.i.i102.i764 = icmp eq ptr %280, null - br i1 %cmp.not.i.i102.i764, label %_ZN7testing7MessageD2Ev.exit106.i768, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i765 +ehcleanup75.i763: ; preds = %lpad72.i771, %lpad68.i762 + %.pn24.i764 = phi { ptr, i32 } [ %279, %lpad72.i771 ], [ %278, %lpad68.i762 ] + %280 = load ptr, ptr %ref.tmp64.i396, align 8 + %cmp.not.i.i102.i765 = icmp eq ptr %280, null + br i1 %cmp.not.i.i102.i765, label %_ZN7testing7MessageD2Ev.exit106.i769, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i766 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i765: ; preds = %ehcleanup75.i762 - %vtable.i.i.i104.i766 = load ptr, ptr %280, align 8 - %vfn.i.i.i105.i767 = getelementptr inbounds ptr, ptr %vtable.i.i.i104.i766, i64 1 - %281 = load ptr, ptr %vfn.i.i.i105.i767, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i766: ; preds = %ehcleanup75.i763 + %vtable.i.i.i104.i767 = load ptr, ptr %280, align 8 + %vfn.i.i.i105.i768 = getelementptr inbounds ptr, ptr %vtable.i.i.i104.i767, i64 1 + %281 = load ptr, ptr %vfn.i.i.i105.i768, align 8 call void %281(ptr noundef nonnull align 8 dereferenceable(128) %280) #22 - br label %_ZN7testing7MessageD2Ev.exit106.i768 + br label %_ZN7testing7MessageD2Ev.exit106.i769 -_ZN7testing7MessageD2Ev.exit106.i768: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i765, %ehcleanup75.i762 - store ptr null, ptr %ref.tmp64.i395, align 8 - br label %ehcleanup77.i752 +_ZN7testing7MessageD2Ev.exit106.i769: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i766, %ehcleanup75.i763 + store ptr null, ptr %ref.tmp64.i396, align 8 + br label %ehcleanup77.i753 -if.end76.i484: ; preds = %_ZN7testing7MessageD2Ev.exit101.i776, %invoke.cont60.i482 - %282 = load ptr, ptr %message_.i.i91.i755, align 8 - %cmp.not.i.i108.i486 = icmp eq ptr %282, null - br i1 %cmp.not.i.i108.i486, label %_ZN7testing15AssertionResultD2Ev.exit110.i488, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i487 +if.end76.i485: ; preds = %_ZN7testing7MessageD2Ev.exit101.i777, %invoke.cont60.i483 + %282 = load ptr, ptr %message_.i.i91.i756, align 8 + %cmp.not.i.i108.i487 = icmp eq ptr %282, null + br i1 %cmp.not.i.i108.i487, label %_ZN7testing15AssertionResultD2Ev.exit110.i489, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i488 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i487: ; preds = %if.end76.i484 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i488: ; preds = %if.end76.i485 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %282) #22 call void @_ZdlPv(ptr noundef nonnull %282) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit110.i488 - -_ZN7testing15AssertionResultD2Ev.exit110.i488: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i487, %if.end76.i484 - store ptr null, ptr %message_.i.i91.i755, align 8 - %283 = load i32, ptr %n.addr.i378, align 4 - store i32 %283, ptr %ref.tmp82.i398, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar81.i397, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp82.i398, ptr noundef nonnull @.str.200, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE) - to label %invoke.cont86.i489 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i455 - -ehcleanup77.i752: ; preds = %_ZN7testing7MessageD2Ev.exit106.i768, %lpad65.i751 - %.pn24.pn.i753 = phi { ptr, i32 } [ %.pn24.i763, %_ZN7testing7MessageD2Ev.exit106.i768 ], [ %277, %lpad65.i751 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50.i393) #22 - br label %ehcleanup253.i457 - -invoke.cont86.i489: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i488 - %284 = load i8, ptr %gtest_ar81.i397, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit110.i489 + +_ZN7testing15AssertionResultD2Ev.exit110.i489: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i488, %if.end76.i485 + store ptr null, ptr %message_.i.i91.i756, align 8 + %283 = load i32, ptr %n.addr.i379, align 4 + store i32 %283, ptr %ref.tmp82.i399, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar81.i398, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp82.i399, ptr noundef nonnull @.str.200, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE) + to label %invoke.cont86.i490 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i456 + +ehcleanup77.i753: ; preds = %_ZN7testing7MessageD2Ev.exit106.i769, %lpad65.i752 + %.pn24.pn.i754 = phi { ptr, i32 } [ %.pn24.i764, %_ZN7testing7MessageD2Ev.exit106.i769 ], [ %277, %lpad65.i752 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50.i394) #22 + br label %ehcleanup253.i458 + +invoke.cont86.i490: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i489 + %284 = load i8, ptr %gtest_ar81.i398, align 8 %285 = and i8 %284, 1 - %tobool.i111.not.i490 = icmp eq i8 %285, 0 - br i1 %tobool.i111.not.i490, label %if.else89.i723, label %if.end102.i491 - -if.else89.i723: ; preds = %invoke.cont86.i489 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i399) - to label %invoke.cont92.i727 unwind label %lpad91.i724 - -invoke.cont92.i727: ; preds = %if.else89.i723 - %286 = load ptr, ptr %message_.i.i112.i728, align 8 - %cmp.i.i.not.i.i113.i729 = icmp eq ptr %286, null - br i1 %cmp.i.i.not.i.i113.i729, label %invoke.cont95.i732, label %cond.true.i.i114.i730 - -cond.true.i.i114.i730: ; preds = %invoke.cont92.i727 - %call4.i.i115.i731 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %286) #22 - br label %invoke.cont95.i732 - -invoke.cont95.i732: ; preds = %cond.true.i.i114.i730, %invoke.cont92.i727 - %cond.i.i116.i733 = phi ptr [ %call4.i.i115.i731, %cond.true.i.i114.i730 ], [ @.str.123, %invoke.cont92.i727 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i400, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 270, ptr noundef %cond.i.i116.i733) - to label %invoke.cont97.i742 unwind label %lpad94.i734 - -invoke.cont97.i742: ; preds = %invoke.cont95.i732 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i400, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i399) - to label %invoke.cont99.i744 unwind label %lpad98.i743 - -invoke.cont99.i744: ; preds = %invoke.cont97.i742 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i400) #22 - %287 = load ptr, ptr %ref.tmp90.i399, align 8 - %cmp.not.i.i118.i745 = icmp eq ptr %287, null - br i1 %cmp.not.i.i118.i745, label %_ZN7testing7MessageD2Ev.exit122.i749, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i746 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i746: ; preds = %invoke.cont99.i744 - %vtable.i.i.i120.i747 = load ptr, ptr %287, align 8 - %vfn.i.i.i121.i748 = getelementptr inbounds ptr, ptr %vtable.i.i.i120.i747, i64 1 - %288 = load ptr, ptr %vfn.i.i.i121.i748, align 8 + %tobool.i111.not.i491 = icmp eq i8 %285, 0 + br i1 %tobool.i111.not.i491, label %if.else89.i724, label %if.end102.i492 + +if.else89.i724: ; preds = %invoke.cont86.i490 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i400) + to label %invoke.cont92.i728 unwind label %lpad91.i725 + +invoke.cont92.i728: ; preds = %if.else89.i724 + %286 = load ptr, ptr %message_.i.i112.i729, align 8 + %cmp.i.i.not.i.i113.i730 = icmp eq ptr %286, null + br i1 %cmp.i.i.not.i.i113.i730, label %invoke.cont95.i733, label %cond.true.i.i114.i731 + +cond.true.i.i114.i731: ; preds = %invoke.cont92.i728 + %call4.i.i115.i732 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %286) #22 + br label %invoke.cont95.i733 + +invoke.cont95.i733: ; preds = %cond.true.i.i114.i731, %invoke.cont92.i728 + %cond.i.i116.i734 = phi ptr [ %call4.i.i115.i732, %cond.true.i.i114.i731 ], [ @.str.123, %invoke.cont92.i728 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i401, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 270, ptr noundef %cond.i.i116.i734) + to label %invoke.cont97.i743 unwind label %lpad94.i735 + +invoke.cont97.i743: ; preds = %invoke.cont95.i733 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i401, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i400) + to label %invoke.cont99.i745 unwind label %lpad98.i744 + +invoke.cont99.i745: ; preds = %invoke.cont97.i743 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i401) #22 + %287 = load ptr, ptr %ref.tmp90.i400, align 8 + %cmp.not.i.i118.i746 = icmp eq ptr %287, null + br i1 %cmp.not.i.i118.i746, label %_ZN7testing7MessageD2Ev.exit122.i750, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i747 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i747: ; preds = %invoke.cont99.i745 + %vtable.i.i.i120.i748 = load ptr, ptr %287, align 8 + %vfn.i.i.i121.i749 = getelementptr inbounds ptr, ptr %vtable.i.i.i120.i748, i64 1 + %288 = load ptr, ptr %vfn.i.i.i121.i749, align 8 call void %288(ptr noundef nonnull align 8 dereferenceable(128) %287) #22 - br label %_ZN7testing7MessageD2Ev.exit122.i749 + br label %_ZN7testing7MessageD2Ev.exit122.i750 -_ZN7testing7MessageD2Ev.exit122.i749: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i746, %invoke.cont99.i744 - store ptr null, ptr %ref.tmp90.i399, align 8 - br label %if.end102.i491 +_ZN7testing7MessageD2Ev.exit122.i750: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i747, %invoke.cont99.i745 + store ptr null, ptr %ref.tmp90.i400, align 8 + br label %if.end102.i492 -lpad91.i724: ; preds = %if.else89.i723 +lpad91.i725: ; preds = %if.else89.i724 %289 = landingpad { ptr, i32 } cleanup - br label %ehcleanup103.i725 + br label %ehcleanup103.i726 -lpad94.i734: ; preds = %invoke.cont95.i732 +lpad94.i735: ; preds = %invoke.cont95.i733 %290 = landingpad { ptr, i32 } cleanup - br label %ehcleanup101.i735 + br label %ehcleanup101.i736 -lpad98.i743: ; preds = %invoke.cont97.i742 +lpad98.i744: ; preds = %invoke.cont97.i743 %291 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i400) #22 - br label %ehcleanup101.i735 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i401) #22 + br label %ehcleanup101.i736 -ehcleanup101.i735: ; preds = %lpad98.i743, %lpad94.i734 - %.pn27.i736 = phi { ptr, i32 } [ %291, %lpad98.i743 ], [ %290, %lpad94.i734 ] - %292 = load ptr, ptr %ref.tmp90.i399, align 8 - %cmp.not.i.i123.i737 = icmp eq ptr %292, null - br i1 %cmp.not.i.i123.i737, label %_ZN7testing7MessageD2Ev.exit127.i741, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i738 +ehcleanup101.i736: ; preds = %lpad98.i744, %lpad94.i735 + %.pn27.i737 = phi { ptr, i32 } [ %291, %lpad98.i744 ], [ %290, %lpad94.i735 ] + %292 = load ptr, ptr %ref.tmp90.i400, align 8 + %cmp.not.i.i123.i738 = icmp eq ptr %292, null + br i1 %cmp.not.i.i123.i738, label %_ZN7testing7MessageD2Ev.exit127.i742, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i739 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i738: ; preds = %ehcleanup101.i735 - %vtable.i.i.i125.i739 = load ptr, ptr %292, align 8 - %vfn.i.i.i126.i740 = getelementptr inbounds ptr, ptr %vtable.i.i.i125.i739, i64 1 - %293 = load ptr, ptr %vfn.i.i.i126.i740, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i739: ; preds = %ehcleanup101.i736 + %vtable.i.i.i125.i740 = load ptr, ptr %292, align 8 + %vfn.i.i.i126.i741 = getelementptr inbounds ptr, ptr %vtable.i.i.i125.i740, i64 1 + %293 = load ptr, ptr %vfn.i.i.i126.i741, align 8 call void %293(ptr noundef nonnull align 8 dereferenceable(128) %292) #22 - br label %_ZN7testing7MessageD2Ev.exit127.i741 + br label %_ZN7testing7MessageD2Ev.exit127.i742 -_ZN7testing7MessageD2Ev.exit127.i741: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i738, %ehcleanup101.i735 - store ptr null, ptr %ref.tmp90.i399, align 8 - br label %ehcleanup103.i725 +_ZN7testing7MessageD2Ev.exit127.i742: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i739, %ehcleanup101.i736 + store ptr null, ptr %ref.tmp90.i400, align 8 + br label %ehcleanup103.i726 -if.end102.i491: ; preds = %_ZN7testing7MessageD2Ev.exit122.i749, %invoke.cont86.i489 - %294 = load ptr, ptr %message_.i.i112.i728, align 8 - %cmp.not.i.i129.i493 = icmp eq ptr %294, null - br i1 %cmp.not.i.i129.i493, label %_ZN7testing15AssertionResultD2Ev.exit131.i495, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i494 +if.end102.i492: ; preds = %_ZN7testing7MessageD2Ev.exit122.i750, %invoke.cont86.i490 + %294 = load ptr, ptr %message_.i.i112.i729, align 8 + %cmp.not.i.i129.i494 = icmp eq ptr %294, null + br i1 %cmp.not.i.i129.i494, label %_ZN7testing15AssertionResultD2Ev.exit131.i496, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i495 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i494: ; preds = %if.end102.i491 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i495: ; preds = %if.end102.i492 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %294) #22 call void @_ZdlPv(ptr noundef nonnull %294) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit131.i495 - -_ZN7testing15AssertionResultD2Ev.exit131.i495: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i494, %if.end102.i491 - store ptr null, ptr %message_.i.i112.i728, align 8 - %295 = load i32, ptr %n.addr.i378, align 4 - %cmp106247.i496 = icmp sgt i32 %295, 0 - br i1 %cmp106247.i496, label %invoke.cont109.i551, label %for.end252.i497 - -for.cond115.preheader.i557: ; preds = %invoke.cont109.i551 - %cmp116249.i558 = icmp sgt i32 %297, 0 - br i1 %cmp116249.i558, label %invoke.cont125.i562, label %for.end252.i497 - -invoke.cont109.i551: ; preds = %_ZN7testing15AssertionResultD2Ev.exit131.i495, %invoke.cont109.i551 - %indvars.iv.i552 = phi i64 [ %indvars.iv.next.i555, %invoke.cont109.i551 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit131.i495 ] - %array.val57.i553 = load ptr, ptr %data_.i2.i.i440, align 8 - %value_.i.i554 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val57.i553, i64 %indvars.iv.i552, i32 1 - %296 = trunc i64 %indvars.iv.i552 to i32 - store i32 %296, ptr %value_.i.i554, align 8 - %indvars.iv.next.i555 = add nuw nsw i64 %indvars.iv.i552, 1 - %297 = load i32, ptr %n.addr.i378, align 4 + br label %_ZN7testing15AssertionResultD2Ev.exit131.i496 + +_ZN7testing15AssertionResultD2Ev.exit131.i496: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i495, %if.end102.i492 + store ptr null, ptr %message_.i.i112.i729, align 8 + %295 = load i32, ptr %n.addr.i379, align 4 + %cmp106247.i497 = icmp sgt i32 %295, 0 + br i1 %cmp106247.i497, label %invoke.cont109.i552, label %for.end252.i498 + +for.cond115.preheader.i558: ; preds = %invoke.cont109.i552 + %cmp116249.i559 = icmp sgt i32 %297, 0 + br i1 %cmp116249.i559, label %invoke.cont125.i563, label %for.end252.i498 + +invoke.cont109.i552: ; preds = %_ZN7testing15AssertionResultD2Ev.exit131.i496, %invoke.cont109.i552 + %indvars.iv.i553 = phi i64 [ %indvars.iv.next.i556, %invoke.cont109.i552 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit131.i496 ] + %array.val57.i554 = load ptr, ptr %data_.i2.i.i441, align 8 + %value_.i.i555 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val57.i554, i64 %indvars.iv.i553, i32 1 + %296 = trunc i64 %indvars.iv.i553 to i32 + store i32 %296, ptr %value_.i.i555, align 8 + %indvars.iv.next.i556 = add nuw nsw i64 %indvars.iv.i553, 1 + %297 = load i32, ptr %n.addr.i379, align 4 %298 = sext i32 %297 to i64 - %cmp106.i556 = icmp slt i64 %indvars.iv.next.i555, %298 - br i1 %cmp106.i556, label %invoke.cont109.i551, label %for.cond115.preheader.i557, !llvm.loop !367 - -ehcleanup103.i725: ; preds = %_ZN7testing7MessageD2Ev.exit127.i741, %lpad91.i724 - %.pn27.pn.i726 = phi { ptr, i32 } [ %.pn27.i736, %_ZN7testing7MessageD2Ev.exit127.i741 ], [ %289, %lpad91.i724 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar81.i397) #22 - br label %ehcleanup253.i457 - -for.cond177.preheader.i584: ; preds = %_ZN7testing15AssertionResultD2Ev.exit175.i581 - %cmp178251.i585 = icmp sgt i32 %324, 0 - br i1 %cmp178251.i585, label %for.body179.i586, label %for.end252.i497 - -invoke.cont125.i562: ; preds = %for.cond115.preheader.i557, %_ZN7testing15AssertionResultD2Ev.exit175.i581 - %indvars.iv256.i563 = phi i64 [ %indvars.iv.next257.i582, %_ZN7testing15AssertionResultD2Ev.exit175.i581 ], [ 0, %for.cond115.preheader.i557 ] - %299 = trunc i64 %indvars.iv256.i563 to i32 - store i32 %299, ptr %ref.tmp119.i402, align 4 - %array.val58.i564 = load ptr, ptr %data_.i2.i.i440, align 8 - %300 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val58.i564, i64 %indvars.iv256.i563, i32 1 - %call126.val.i565 = load i32, ptr %300, align 8 - store i32 %call126.val.i565, ptr %ref.tmp123.i403, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar118.i401, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp119.i402, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp123.i403) - to label %invoke.cont128.i568 unwind label %lpad5.loopexit.split-lp.loopexit.i566 - -invoke.cont128.i568: ; preds = %invoke.cont125.i562 - %301 = load i8, ptr %gtest_ar118.i401, align 8 + %cmp106.i557 = icmp slt i64 %indvars.iv.next.i556, %298 + br i1 %cmp106.i557, label %invoke.cont109.i552, label %for.cond115.preheader.i558, !llvm.loop !367 + +ehcleanup103.i726: ; preds = %_ZN7testing7MessageD2Ev.exit127.i742, %lpad91.i725 + %.pn27.pn.i727 = phi { ptr, i32 } [ %.pn27.i737, %_ZN7testing7MessageD2Ev.exit127.i742 ], [ %289, %lpad91.i725 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar81.i398) #22 + br label %ehcleanup253.i458 + +for.cond177.preheader.i585: ; preds = %_ZN7testing15AssertionResultD2Ev.exit175.i582 + %cmp178251.i586 = icmp sgt i32 %324, 0 + br i1 %cmp178251.i586, label %for.body179.i587, label %for.end252.i498 + +invoke.cont125.i563: ; preds = %for.cond115.preheader.i558, %_ZN7testing15AssertionResultD2Ev.exit175.i582 + %indvars.iv256.i564 = phi i64 [ %indvars.iv.next257.i583, %_ZN7testing15AssertionResultD2Ev.exit175.i582 ], [ 0, %for.cond115.preheader.i558 ] + %299 = trunc i64 %indvars.iv256.i564 to i32 + store i32 %299, ptr %ref.tmp119.i403, align 4 + %array.val58.i565 = load ptr, ptr %data_.i2.i.i441, align 8 + %300 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val58.i565, i64 %indvars.iv256.i564, i32 1 + %call126.val.i566 = load i32, ptr %300, align 8 + store i32 %call126.val.i566, ptr %ref.tmp123.i404, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar118.i402, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp119.i403, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp123.i404) + to label %invoke.cont128.i569 unwind label %lpad5.loopexit.split-lp.loopexit.i567 + +invoke.cont128.i569: ; preds = %invoke.cont125.i563 + %301 = load i8, ptr %gtest_ar118.i402, align 8 %302 = and i8 %301, 1 - %tobool.i134.not.i569 = icmp eq i8 %302, 0 - br i1 %tobool.i134.not.i569, label %if.else131.i697, label %if.end144.i570 - -if.else131.i697: ; preds = %invoke.cont128.i568 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i404) - to label %invoke.cont134.i701 unwind label %lpad133.i698 - -invoke.cont134.i701: ; preds = %if.else131.i697 - %303 = load ptr, ptr %message_.i.i135.i560, align 8 - %cmp.i.i.not.i.i136.i702 = icmp eq ptr %303, null - br i1 %cmp.i.i.not.i.i136.i702, label %invoke.cont137.i705, label %cond.true.i.i137.i703 - -cond.true.i.i137.i703: ; preds = %invoke.cont134.i701 - %call4.i.i138.i704 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %303) #22 - br label %invoke.cont137.i705 - -invoke.cont137.i705: ; preds = %cond.true.i.i137.i703, %invoke.cont134.i701 - %cond.i.i139.i706 = phi ptr [ %call4.i.i138.i704, %cond.true.i.i137.i703 ], [ @.str.123, %invoke.cont134.i701 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i405, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 277, ptr noundef %cond.i.i139.i706) - to label %invoke.cont139.i715 unwind label %lpad136.i707 - -invoke.cont139.i715: ; preds = %invoke.cont137.i705 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i405, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i404) - to label %invoke.cont141.i717 unwind label %lpad140.i716 - -invoke.cont141.i717: ; preds = %invoke.cont139.i715 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i405) #22 - %304 = load ptr, ptr %ref.tmp132.i404, align 8 - %cmp.not.i.i141.i718 = icmp eq ptr %304, null - br i1 %cmp.not.i.i141.i718, label %_ZN7testing7MessageD2Ev.exit145.i722, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i719 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i719: ; preds = %invoke.cont141.i717 - %vtable.i.i.i143.i720 = load ptr, ptr %304, align 8 - %vfn.i.i.i144.i721 = getelementptr inbounds ptr, ptr %vtable.i.i.i143.i720, i64 1 - %305 = load ptr, ptr %vfn.i.i.i144.i721, align 8 + %tobool.i134.not.i570 = icmp eq i8 %302, 0 + br i1 %tobool.i134.not.i570, label %if.else131.i698, label %if.end144.i571 + +if.else131.i698: ; preds = %invoke.cont128.i569 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i405) + to label %invoke.cont134.i702 unwind label %lpad133.i699 + +invoke.cont134.i702: ; preds = %if.else131.i698 + %303 = load ptr, ptr %message_.i.i135.i561, align 8 + %cmp.i.i.not.i.i136.i703 = icmp eq ptr %303, null + br i1 %cmp.i.i.not.i.i136.i703, label %invoke.cont137.i706, label %cond.true.i.i137.i704 + +cond.true.i.i137.i704: ; preds = %invoke.cont134.i702 + %call4.i.i138.i705 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %303) #22 + br label %invoke.cont137.i706 + +invoke.cont137.i706: ; preds = %cond.true.i.i137.i704, %invoke.cont134.i702 + %cond.i.i139.i707 = phi ptr [ %call4.i.i138.i705, %cond.true.i.i137.i704 ], [ @.str.123, %invoke.cont134.i702 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i406, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 277, ptr noundef %cond.i.i139.i707) + to label %invoke.cont139.i716 unwind label %lpad136.i708 + +invoke.cont139.i716: ; preds = %invoke.cont137.i706 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i406, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i405) + to label %invoke.cont141.i718 unwind label %lpad140.i717 + +invoke.cont141.i718: ; preds = %invoke.cont139.i716 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i406) #22 + %304 = load ptr, ptr %ref.tmp132.i405, align 8 + %cmp.not.i.i141.i719 = icmp eq ptr %304, null + br i1 %cmp.not.i.i141.i719, label %_ZN7testing7MessageD2Ev.exit145.i723, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i720 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i720: ; preds = %invoke.cont141.i718 + %vtable.i.i.i143.i721 = load ptr, ptr %304, align 8 + %vfn.i.i.i144.i722 = getelementptr inbounds ptr, ptr %vtable.i.i.i143.i721, i64 1 + %305 = load ptr, ptr %vfn.i.i.i144.i722, align 8 call void %305(ptr noundef nonnull align 8 dereferenceable(128) %304) #22 - br label %_ZN7testing7MessageD2Ev.exit145.i722 + br label %_ZN7testing7MessageD2Ev.exit145.i723 -_ZN7testing7MessageD2Ev.exit145.i722: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i719, %invoke.cont141.i717 - store ptr null, ptr %ref.tmp132.i404, align 8 - br label %if.end144.i570 +_ZN7testing7MessageD2Ev.exit145.i723: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i720, %invoke.cont141.i718 + store ptr null, ptr %ref.tmp132.i405, align 8 + br label %if.end144.i571 -lpad133.i698: ; preds = %if.else131.i697 +lpad133.i699: ; preds = %if.else131.i698 %306 = landingpad { ptr, i32 } cleanup - br label %ehcleanup145.i699 + br label %ehcleanup145.i700 -lpad136.i707: ; preds = %invoke.cont137.i705 +lpad136.i708: ; preds = %invoke.cont137.i706 %307 = landingpad { ptr, i32 } cleanup - br label %ehcleanup143.i708 + br label %ehcleanup143.i709 -lpad140.i716: ; preds = %invoke.cont139.i715 +lpad140.i717: ; preds = %invoke.cont139.i716 %308 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i405) #22 - br label %ehcleanup143.i708 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i406) #22 + br label %ehcleanup143.i709 -ehcleanup143.i708: ; preds = %lpad140.i716, %lpad136.i707 - %.pn39.i709 = phi { ptr, i32 } [ %308, %lpad140.i716 ], [ %307, %lpad136.i707 ] - %309 = load ptr, ptr %ref.tmp132.i404, align 8 - %cmp.not.i.i146.i710 = icmp eq ptr %309, null - br i1 %cmp.not.i.i146.i710, label %_ZN7testing7MessageD2Ev.exit150.i714, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i711 +ehcleanup143.i709: ; preds = %lpad140.i717, %lpad136.i708 + %.pn39.i710 = phi { ptr, i32 } [ %308, %lpad140.i717 ], [ %307, %lpad136.i708 ] + %309 = load ptr, ptr %ref.tmp132.i405, align 8 + %cmp.not.i.i146.i711 = icmp eq ptr %309, null + br i1 %cmp.not.i.i146.i711, label %_ZN7testing7MessageD2Ev.exit150.i715, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i712 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i711: ; preds = %ehcleanup143.i708 - %vtable.i.i.i148.i712 = load ptr, ptr %309, align 8 - %vfn.i.i.i149.i713 = getelementptr inbounds ptr, ptr %vtable.i.i.i148.i712, i64 1 - %310 = load ptr, ptr %vfn.i.i.i149.i713, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i712: ; preds = %ehcleanup143.i709 + %vtable.i.i.i148.i713 = load ptr, ptr %309, align 8 + %vfn.i.i.i149.i714 = getelementptr inbounds ptr, ptr %vtable.i.i.i148.i713, i64 1 + %310 = load ptr, ptr %vfn.i.i.i149.i714, align 8 call void %310(ptr noundef nonnull align 8 dereferenceable(128) %309) #22 - br label %_ZN7testing7MessageD2Ev.exit150.i714 + br label %_ZN7testing7MessageD2Ev.exit150.i715 -_ZN7testing7MessageD2Ev.exit150.i714: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i711, %ehcleanup143.i708 - store ptr null, ptr %ref.tmp132.i404, align 8 - br label %ehcleanup145.i699 +_ZN7testing7MessageD2Ev.exit150.i715: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i712, %ehcleanup143.i709 + store ptr null, ptr %ref.tmp132.i405, align 8 + br label %ehcleanup145.i700 -if.end144.i570: ; preds = %_ZN7testing7MessageD2Ev.exit145.i722, %invoke.cont128.i568 - %311 = load ptr, ptr %message_.i.i135.i560, align 8 - %cmp.not.i.i152.i571 = icmp eq ptr %311, null - br i1 %cmp.not.i.i152.i571, label %invoke.cont148.i573, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i572 +if.end144.i571: ; preds = %_ZN7testing7MessageD2Ev.exit145.i723, %invoke.cont128.i569 + %311 = load ptr, ptr %message_.i.i135.i561, align 8 + %cmp.not.i.i152.i572 = icmp eq ptr %311, null + br i1 %cmp.not.i.i152.i572, label %invoke.cont148.i574, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i573 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i572: ; preds = %if.end144.i570 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i573: ; preds = %if.end144.i571 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %311) #22 call void @_ZdlPv(ptr noundef nonnull %311) #23 - br label %invoke.cont148.i573 - -invoke.cont148.i573: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i572, %if.end144.i570 - store ptr null, ptr %message_.i.i135.i560, align 8 - store i32 %299, ptr %ref.tmp147.i407, align 4 - %array.val50.i574 = load ptr, ptr %data_.i2.i.i440, align 8 - %312 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val50.i574, i64 %indvars.iv256.i563, i32 1 - %arrayidx.val.i575 = load i32, ptr %312, align 8 - store i32 %arrayidx.val.i575, ptr %ref.tmp151.i408, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar146.i406, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp147.i407, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp151.i408) - to label %invoke.cont155.i576 unwind label %lpad5.loopexit.split-lp.loopexit.i566 - -invoke.cont155.i576: ; preds = %invoke.cont148.i573 - %313 = load i8, ptr %gtest_ar146.i406, align 8 + br label %invoke.cont148.i574 + +invoke.cont148.i574: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i573, %if.end144.i571 + store ptr null, ptr %message_.i.i135.i561, align 8 + store i32 %299, ptr %ref.tmp147.i408, align 4 + %array.val50.i575 = load ptr, ptr %data_.i2.i.i441, align 8 + %312 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val50.i575, i64 %indvars.iv256.i564, i32 1 + %arrayidx.val.i576 = load i32, ptr %312, align 8 + store i32 %arrayidx.val.i576, ptr %ref.tmp151.i409, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar146.i407, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp147.i408, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp151.i409) + to label %invoke.cont155.i577 unwind label %lpad5.loopexit.split-lp.loopexit.i567 + +invoke.cont155.i577: ; preds = %invoke.cont148.i574 + %313 = load i8, ptr %gtest_ar146.i407, align 8 %314 = and i8 %313, 1 - %tobool.i155.not.i577 = icmp eq i8 %314, 0 - br i1 %tobool.i155.not.i577, label %if.else158.i671, label %if.end171.i578 - -ehcleanup145.i699: ; preds = %_ZN7testing7MessageD2Ev.exit150.i714, %lpad133.i698 - %.pn39.pn.i700 = phi { ptr, i32 } [ %.pn39.i709, %_ZN7testing7MessageD2Ev.exit150.i714 ], [ %306, %lpad133.i698 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar118.i401) #22 - br label %ehcleanup253.i457 - -if.else158.i671: ; preds = %invoke.cont155.i576 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i409) - to label %invoke.cont161.i675 unwind label %lpad160.i672 - -invoke.cont161.i675: ; preds = %if.else158.i671 - %315 = load ptr, ptr %message_.i.i156.i561, align 8 - %cmp.i.i.not.i.i157.i676 = icmp eq ptr %315, null - br i1 %cmp.i.i.not.i.i157.i676, label %invoke.cont164.i679, label %cond.true.i.i158.i677 - -cond.true.i.i158.i677: ; preds = %invoke.cont161.i675 - %call4.i.i159.i678 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %315) #22 - br label %invoke.cont164.i679 - -invoke.cont164.i679: ; preds = %cond.true.i.i158.i677, %invoke.cont161.i675 - %cond.i.i160.i680 = phi ptr [ %call4.i.i159.i678, %cond.true.i.i158.i677 ], [ @.str.123, %invoke.cont161.i675 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i410, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 278, ptr noundef %cond.i.i160.i680) - to label %invoke.cont166.i689 unwind label %lpad163.i681 - -invoke.cont166.i689: ; preds = %invoke.cont164.i679 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i410, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i409) - to label %invoke.cont168.i691 unwind label %lpad167.i690 - -invoke.cont168.i691: ; preds = %invoke.cont166.i689 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i410) #22 - %316 = load ptr, ptr %ref.tmp159.i409, align 8 - %cmp.not.i.i162.i692 = icmp eq ptr %316, null - br i1 %cmp.not.i.i162.i692, label %_ZN7testing7MessageD2Ev.exit166.i696, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i693 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i693: ; preds = %invoke.cont168.i691 - %vtable.i.i.i164.i694 = load ptr, ptr %316, align 8 - %vfn.i.i.i165.i695 = getelementptr inbounds ptr, ptr %vtable.i.i.i164.i694, i64 1 - %317 = load ptr, ptr %vfn.i.i.i165.i695, align 8 + %tobool.i155.not.i578 = icmp eq i8 %314, 0 + br i1 %tobool.i155.not.i578, label %if.else158.i672, label %if.end171.i579 + +ehcleanup145.i700: ; preds = %_ZN7testing7MessageD2Ev.exit150.i715, %lpad133.i699 + %.pn39.pn.i701 = phi { ptr, i32 } [ %.pn39.i710, %_ZN7testing7MessageD2Ev.exit150.i715 ], [ %306, %lpad133.i699 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar118.i402) #22 + br label %ehcleanup253.i458 + +if.else158.i672: ; preds = %invoke.cont155.i577 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i410) + to label %invoke.cont161.i676 unwind label %lpad160.i673 + +invoke.cont161.i676: ; preds = %if.else158.i672 + %315 = load ptr, ptr %message_.i.i156.i562, align 8 + %cmp.i.i.not.i.i157.i677 = icmp eq ptr %315, null + br i1 %cmp.i.i.not.i.i157.i677, label %invoke.cont164.i680, label %cond.true.i.i158.i678 + +cond.true.i.i158.i678: ; preds = %invoke.cont161.i676 + %call4.i.i159.i679 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %315) #22 + br label %invoke.cont164.i680 + +invoke.cont164.i680: ; preds = %cond.true.i.i158.i678, %invoke.cont161.i676 + %cond.i.i160.i681 = phi ptr [ %call4.i.i159.i679, %cond.true.i.i158.i678 ], [ @.str.123, %invoke.cont161.i676 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i411, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 278, ptr noundef %cond.i.i160.i681) + to label %invoke.cont166.i690 unwind label %lpad163.i682 + +invoke.cont166.i690: ; preds = %invoke.cont164.i680 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i411, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i410) + to label %invoke.cont168.i692 unwind label %lpad167.i691 + +invoke.cont168.i692: ; preds = %invoke.cont166.i690 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i411) #22 + %316 = load ptr, ptr %ref.tmp159.i410, align 8 + %cmp.not.i.i162.i693 = icmp eq ptr %316, null + br i1 %cmp.not.i.i162.i693, label %_ZN7testing7MessageD2Ev.exit166.i697, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i694 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i694: ; preds = %invoke.cont168.i692 + %vtable.i.i.i164.i695 = load ptr, ptr %316, align 8 + %vfn.i.i.i165.i696 = getelementptr inbounds ptr, ptr %vtable.i.i.i164.i695, i64 1 + %317 = load ptr, ptr %vfn.i.i.i165.i696, align 8 call void %317(ptr noundef nonnull align 8 dereferenceable(128) %316) #22 - br label %_ZN7testing7MessageD2Ev.exit166.i696 + br label %_ZN7testing7MessageD2Ev.exit166.i697 -_ZN7testing7MessageD2Ev.exit166.i696: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i693, %invoke.cont168.i691 - store ptr null, ptr %ref.tmp159.i409, align 8 - br label %if.end171.i578 +_ZN7testing7MessageD2Ev.exit166.i697: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i694, %invoke.cont168.i692 + store ptr null, ptr %ref.tmp159.i410, align 8 + br label %if.end171.i579 -lpad160.i672: ; preds = %if.else158.i671 +lpad160.i673: ; preds = %if.else158.i672 %318 = landingpad { ptr, i32 } cleanup - br label %ehcleanup172.i673 + br label %ehcleanup172.i674 -lpad163.i681: ; preds = %invoke.cont164.i679 +lpad163.i682: ; preds = %invoke.cont164.i680 %319 = landingpad { ptr, i32 } cleanup - br label %ehcleanup170.i682 + br label %ehcleanup170.i683 -lpad167.i690: ; preds = %invoke.cont166.i689 +lpad167.i691: ; preds = %invoke.cont166.i690 %320 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i410) #22 - br label %ehcleanup170.i682 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i411) #22 + br label %ehcleanup170.i683 -ehcleanup170.i682: ; preds = %lpad167.i690, %lpad163.i681 - %.pn42.i683 = phi { ptr, i32 } [ %320, %lpad167.i690 ], [ %319, %lpad163.i681 ] - %321 = load ptr, ptr %ref.tmp159.i409, align 8 - %cmp.not.i.i167.i684 = icmp eq ptr %321, null - br i1 %cmp.not.i.i167.i684, label %_ZN7testing7MessageD2Ev.exit171.i688, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i685 +ehcleanup170.i683: ; preds = %lpad167.i691, %lpad163.i682 + %.pn42.i684 = phi { ptr, i32 } [ %320, %lpad167.i691 ], [ %319, %lpad163.i682 ] + %321 = load ptr, ptr %ref.tmp159.i410, align 8 + %cmp.not.i.i167.i685 = icmp eq ptr %321, null + br i1 %cmp.not.i.i167.i685, label %_ZN7testing7MessageD2Ev.exit171.i689, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i686 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i685: ; preds = %ehcleanup170.i682 - %vtable.i.i.i169.i686 = load ptr, ptr %321, align 8 - %vfn.i.i.i170.i687 = getelementptr inbounds ptr, ptr %vtable.i.i.i169.i686, i64 1 - %322 = load ptr, ptr %vfn.i.i.i170.i687, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i686: ; preds = %ehcleanup170.i683 + %vtable.i.i.i169.i687 = load ptr, ptr %321, align 8 + %vfn.i.i.i170.i688 = getelementptr inbounds ptr, ptr %vtable.i.i.i169.i687, i64 1 + %322 = load ptr, ptr %vfn.i.i.i170.i688, align 8 call void %322(ptr noundef nonnull align 8 dereferenceable(128) %321) #22 - br label %_ZN7testing7MessageD2Ev.exit171.i688 + br label %_ZN7testing7MessageD2Ev.exit171.i689 -_ZN7testing7MessageD2Ev.exit171.i688: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i685, %ehcleanup170.i682 - store ptr null, ptr %ref.tmp159.i409, align 8 - br label %ehcleanup172.i673 +_ZN7testing7MessageD2Ev.exit171.i689: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i686, %ehcleanup170.i683 + store ptr null, ptr %ref.tmp159.i410, align 8 + br label %ehcleanup172.i674 -if.end171.i578: ; preds = %_ZN7testing7MessageD2Ev.exit166.i696, %invoke.cont155.i576 - %323 = load ptr, ptr %message_.i.i156.i561, align 8 - %cmp.not.i.i173.i579 = icmp eq ptr %323, null - br i1 %cmp.not.i.i173.i579, label %_ZN7testing15AssertionResultD2Ev.exit175.i581, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i580 +if.end171.i579: ; preds = %_ZN7testing7MessageD2Ev.exit166.i697, %invoke.cont155.i577 + %323 = load ptr, ptr %message_.i.i156.i562, align 8 + %cmp.not.i.i173.i580 = icmp eq ptr %323, null + br i1 %cmp.not.i.i173.i580, label %_ZN7testing15AssertionResultD2Ev.exit175.i582, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i581 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i580: ; preds = %if.end171.i578 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i581: ; preds = %if.end171.i579 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %323) #22 call void @_ZdlPv(ptr noundef nonnull %323) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit175.i581 + br label %_ZN7testing15AssertionResultD2Ev.exit175.i582 -_ZN7testing15AssertionResultD2Ev.exit175.i581: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i580, %if.end171.i578 - store ptr null, ptr %message_.i.i156.i561, align 8 - %indvars.iv.next257.i582 = add nuw nsw i64 %indvars.iv256.i563, 1 - %324 = load i32, ptr %n.addr.i378, align 4 +_ZN7testing15AssertionResultD2Ev.exit175.i582: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i581, %if.end171.i579 + store ptr null, ptr %message_.i.i156.i562, align 8 + %indvars.iv.next257.i583 = add nuw nsw i64 %indvars.iv256.i564, 1 + %324 = load i32, ptr %n.addr.i379, align 4 %325 = sext i32 %324 to i64 - %cmp116.i583 = icmp slt i64 %indvars.iv.next257.i582, %325 - br i1 %cmp116.i583, label %invoke.cont125.i562, label %for.cond177.preheader.i584, !llvm.loop !368 - -ehcleanup172.i673: ; preds = %_ZN7testing7MessageD2Ev.exit171.i688, %lpad160.i672 - %.pn42.pn.i674 = phi { ptr, i32 } [ %.pn42.i683, %_ZN7testing7MessageD2Ev.exit171.i688 ], [ %318, %lpad160.i672 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar146.i406) #22 - br label %ehcleanup253.i457 - -for.cond188.preheader.i592: ; preds = %for.body179.i586 - %cmp189253.i593 = icmp sgt i32 %327, 0 - br i1 %cmp189253.i593, label %invoke.cont199.i597, label %for.end252.i497 - -for.body179.i586: ; preds = %for.cond177.preheader.i584, %for.body179.i586 - %indvars.iv259.i587 = phi i64 [ %indvars.iv.next260.i589, %for.body179.i586 ], [ 0, %for.cond177.preheader.i584 ] - %array.val51.i588 = load ptr, ptr %data_.i2.i.i440, align 8 - %indvars.iv.next260.i589 = add nuw nsw i64 %indvars.iv259.i587, 1 - %value_.i176.i590 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val51.i588, i64 %indvars.iv259.i587, i32 1 - %326 = trunc i64 %indvars.iv.next260.i589 to i32 - store i32 %326, ptr %value_.i176.i590, align 8 - %327 = load i32, ptr %n.addr.i378, align 4 + %cmp116.i584 = icmp slt i64 %indvars.iv.next257.i583, %325 + br i1 %cmp116.i584, label %invoke.cont125.i563, label %for.cond177.preheader.i585, !llvm.loop !368 + +ehcleanup172.i674: ; preds = %_ZN7testing7MessageD2Ev.exit171.i689, %lpad160.i673 + %.pn42.pn.i675 = phi { ptr, i32 } [ %.pn42.i684, %_ZN7testing7MessageD2Ev.exit171.i689 ], [ %318, %lpad160.i673 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar146.i407) #22 + br label %ehcleanup253.i458 + +for.cond188.preheader.i593: ; preds = %for.body179.i587 + %cmp189253.i594 = icmp sgt i32 %327, 0 + br i1 %cmp189253.i594, label %invoke.cont199.i598, label %for.end252.i498 + +for.body179.i587: ; preds = %for.cond177.preheader.i585, %for.body179.i587 + %indvars.iv259.i588 = phi i64 [ %indvars.iv.next260.i590, %for.body179.i587 ], [ 0, %for.cond177.preheader.i585 ] + %array.val51.i589 = load ptr, ptr %data_.i2.i.i441, align 8 + %indvars.iv.next260.i590 = add nuw nsw i64 %indvars.iv259.i588, 1 + %value_.i176.i591 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val51.i589, i64 %indvars.iv259.i588, i32 1 + %326 = trunc i64 %indvars.iv.next260.i590 to i32 + store i32 %326, ptr %value_.i176.i591, align 8 + %327 = load i32, ptr %n.addr.i379, align 4 %328 = sext i32 %327 to i64 - %cmp178.i591 = icmp slt i64 %indvars.iv.next260.i589, %328 - br i1 %cmp178.i591, label %for.body179.i586, label %for.cond188.preheader.i592, !llvm.loop !369 - -invoke.cont199.i597: ; preds = %for.cond188.preheader.i592, %_ZN7testing15AssertionResultD2Ev.exit219.i617 - %indvars.iv262.i598 = phi i64 [ %indvars.iv.next263.i599, %_ZN7testing15AssertionResultD2Ev.exit219.i617 ], [ 0, %for.cond188.preheader.i592 ] - %indvars.iv.next263.i599 = add nuw nsw i64 %indvars.iv262.i598, 1 - %329 = trunc i64 %indvars.iv.next263.i599 to i32 - store i32 %329, ptr %ref.tmp192.i412, align 4 - %array.val59.i600 = load ptr, ptr %data_.i2.i.i440, align 8 - %330 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val59.i600, i64 %indvars.iv262.i598, i32 1 - %call200.val.i601 = load i32, ptr %330, align 8 - store i32 %call200.val.i601, ptr %ref.tmp197.i413, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar191.i411, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp192.i412, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp197.i413) - to label %invoke.cont202.i604 unwind label %lpad5.loopexit.i602 - -invoke.cont202.i604: ; preds = %invoke.cont199.i597 - %331 = load i8, ptr %gtest_ar191.i411, align 8 + %cmp178.i592 = icmp slt i64 %indvars.iv.next260.i590, %328 + br i1 %cmp178.i592, label %for.body179.i587, label %for.cond188.preheader.i593, !llvm.loop !369 + +invoke.cont199.i598: ; preds = %for.cond188.preheader.i593, %_ZN7testing15AssertionResultD2Ev.exit219.i618 + %indvars.iv262.i599 = phi i64 [ %indvars.iv.next263.i600, %_ZN7testing15AssertionResultD2Ev.exit219.i618 ], [ 0, %for.cond188.preheader.i593 ] + %indvars.iv.next263.i600 = add nuw nsw i64 %indvars.iv262.i599, 1 + %329 = trunc i64 %indvars.iv.next263.i600 to i32 + store i32 %329, ptr %ref.tmp192.i413, align 4 + %array.val59.i601 = load ptr, ptr %data_.i2.i.i441, align 8 + %330 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val59.i601, i64 %indvars.iv262.i599, i32 1 + %call200.val.i602 = load i32, ptr %330, align 8 + store i32 %call200.val.i602, ptr %ref.tmp197.i414, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar191.i412, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp192.i413, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp197.i414) + to label %invoke.cont202.i605 unwind label %lpad5.loopexit.i603 + +invoke.cont202.i605: ; preds = %invoke.cont199.i598 + %331 = load i8, ptr %gtest_ar191.i412, align 8 %332 = and i8 %331, 1 - %tobool.i178.not.i605 = icmp eq i8 %332, 0 - br i1 %tobool.i178.not.i605, label %if.else205.i645, label %if.end218.i606 - -if.else205.i645: ; preds = %invoke.cont202.i604 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i414) - to label %invoke.cont208.i649 unwind label %lpad207.i646 - -invoke.cont208.i649: ; preds = %if.else205.i645 - %333 = load ptr, ptr %message_.i.i179.i595, align 8 - %cmp.i.i.not.i.i180.i650 = icmp eq ptr %333, null - br i1 %cmp.i.i.not.i.i180.i650, label %invoke.cont211.i653, label %cond.true.i.i181.i651 - -cond.true.i.i181.i651: ; preds = %invoke.cont208.i649 - %call4.i.i182.i652 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %333) #22 - br label %invoke.cont211.i653 - -invoke.cont211.i653: ; preds = %cond.true.i.i181.i651, %invoke.cont208.i649 - %cond.i.i183.i654 = phi ptr [ %call4.i.i182.i652, %cond.true.i.i181.i651 ], [ @.str.123, %invoke.cont208.i649 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i415, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 286, ptr noundef %cond.i.i183.i654) - to label %invoke.cont213.i663 unwind label %lpad210.i655 - -invoke.cont213.i663: ; preds = %invoke.cont211.i653 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i415, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i414) - to label %invoke.cont215.i665 unwind label %lpad214.i664 - -invoke.cont215.i665: ; preds = %invoke.cont213.i663 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i415) #22 - %334 = load ptr, ptr %ref.tmp206.i414, align 8 - %cmp.not.i.i185.i666 = icmp eq ptr %334, null - br i1 %cmp.not.i.i185.i666, label %_ZN7testing7MessageD2Ev.exit189.i670, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i667 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i667: ; preds = %invoke.cont215.i665 - %vtable.i.i.i187.i668 = load ptr, ptr %334, align 8 - %vfn.i.i.i188.i669 = getelementptr inbounds ptr, ptr %vtable.i.i.i187.i668, i64 1 - %335 = load ptr, ptr %vfn.i.i.i188.i669, align 8 + %tobool.i178.not.i606 = icmp eq i8 %332, 0 + br i1 %tobool.i178.not.i606, label %if.else205.i646, label %if.end218.i607 + +if.else205.i646: ; preds = %invoke.cont202.i605 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i415) + to label %invoke.cont208.i650 unwind label %lpad207.i647 + +invoke.cont208.i650: ; preds = %if.else205.i646 + %333 = load ptr, ptr %message_.i.i179.i596, align 8 + %cmp.i.i.not.i.i180.i651 = icmp eq ptr %333, null + br i1 %cmp.i.i.not.i.i180.i651, label %invoke.cont211.i654, label %cond.true.i.i181.i652 + +cond.true.i.i181.i652: ; preds = %invoke.cont208.i650 + %call4.i.i182.i653 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %333) #22 + br label %invoke.cont211.i654 + +invoke.cont211.i654: ; preds = %cond.true.i.i181.i652, %invoke.cont208.i650 + %cond.i.i183.i655 = phi ptr [ %call4.i.i182.i653, %cond.true.i.i181.i652 ], [ @.str.123, %invoke.cont208.i650 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i416, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 286, ptr noundef %cond.i.i183.i655) + to label %invoke.cont213.i664 unwind label %lpad210.i656 + +invoke.cont213.i664: ; preds = %invoke.cont211.i654 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i416, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i415) + to label %invoke.cont215.i666 unwind label %lpad214.i665 + +invoke.cont215.i666: ; preds = %invoke.cont213.i664 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i416) #22 + %334 = load ptr, ptr %ref.tmp206.i415, align 8 + %cmp.not.i.i185.i667 = icmp eq ptr %334, null + br i1 %cmp.not.i.i185.i667, label %_ZN7testing7MessageD2Ev.exit189.i671, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i668 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i668: ; preds = %invoke.cont215.i666 + %vtable.i.i.i187.i669 = load ptr, ptr %334, align 8 + %vfn.i.i.i188.i670 = getelementptr inbounds ptr, ptr %vtable.i.i.i187.i669, i64 1 + %335 = load ptr, ptr %vfn.i.i.i188.i670, align 8 call void %335(ptr noundef nonnull align 8 dereferenceable(128) %334) #22 - br label %_ZN7testing7MessageD2Ev.exit189.i670 + br label %_ZN7testing7MessageD2Ev.exit189.i671 -_ZN7testing7MessageD2Ev.exit189.i670: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i667, %invoke.cont215.i665 - store ptr null, ptr %ref.tmp206.i414, align 8 - br label %if.end218.i606 +_ZN7testing7MessageD2Ev.exit189.i671: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i668, %invoke.cont215.i666 + store ptr null, ptr %ref.tmp206.i415, align 8 + br label %if.end218.i607 -lpad207.i646: ; preds = %if.else205.i645 +lpad207.i647: ; preds = %if.else205.i646 %336 = landingpad { ptr, i32 } cleanup - br label %ehcleanup219.i647 + br label %ehcleanup219.i648 -lpad210.i655: ; preds = %invoke.cont211.i653 +lpad210.i656: ; preds = %invoke.cont211.i654 %337 = landingpad { ptr, i32 } cleanup - br label %ehcleanup217.i656 + br label %ehcleanup217.i657 -lpad214.i664: ; preds = %invoke.cont213.i663 +lpad214.i665: ; preds = %invoke.cont213.i664 %338 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i415) #22 - br label %ehcleanup217.i656 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i416) #22 + br label %ehcleanup217.i657 -ehcleanup217.i656: ; preds = %lpad214.i664, %lpad210.i655 - %.pn33.i657 = phi { ptr, i32 } [ %338, %lpad214.i664 ], [ %337, %lpad210.i655 ] - %339 = load ptr, ptr %ref.tmp206.i414, align 8 - %cmp.not.i.i190.i658 = icmp eq ptr %339, null - br i1 %cmp.not.i.i190.i658, label %_ZN7testing7MessageD2Ev.exit194.i662, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i659 +ehcleanup217.i657: ; preds = %lpad214.i665, %lpad210.i656 + %.pn33.i658 = phi { ptr, i32 } [ %338, %lpad214.i665 ], [ %337, %lpad210.i656 ] + %339 = load ptr, ptr %ref.tmp206.i415, align 8 + %cmp.not.i.i190.i659 = icmp eq ptr %339, null + br i1 %cmp.not.i.i190.i659, label %_ZN7testing7MessageD2Ev.exit194.i663, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i660 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i659: ; preds = %ehcleanup217.i656 - %vtable.i.i.i192.i660 = load ptr, ptr %339, align 8 - %vfn.i.i.i193.i661 = getelementptr inbounds ptr, ptr %vtable.i.i.i192.i660, i64 1 - %340 = load ptr, ptr %vfn.i.i.i193.i661, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i660: ; preds = %ehcleanup217.i657 + %vtable.i.i.i192.i661 = load ptr, ptr %339, align 8 + %vfn.i.i.i193.i662 = getelementptr inbounds ptr, ptr %vtable.i.i.i192.i661, i64 1 + %340 = load ptr, ptr %vfn.i.i.i193.i662, align 8 call void %340(ptr noundef nonnull align 8 dereferenceable(128) %339) #22 - br label %_ZN7testing7MessageD2Ev.exit194.i662 + br label %_ZN7testing7MessageD2Ev.exit194.i663 -_ZN7testing7MessageD2Ev.exit194.i662: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i659, %ehcleanup217.i656 - store ptr null, ptr %ref.tmp206.i414, align 8 - br label %ehcleanup219.i647 +_ZN7testing7MessageD2Ev.exit194.i663: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i660, %ehcleanup217.i657 + store ptr null, ptr %ref.tmp206.i415, align 8 + br label %ehcleanup219.i648 -if.end218.i606: ; preds = %_ZN7testing7MessageD2Ev.exit189.i670, %invoke.cont202.i604 - %341 = load ptr, ptr %message_.i.i179.i595, align 8 - %cmp.not.i.i196.i607 = icmp eq ptr %341, null - br i1 %cmp.not.i.i196.i607, label %invoke.cont223.i609, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i608 +if.end218.i607: ; preds = %_ZN7testing7MessageD2Ev.exit189.i671, %invoke.cont202.i605 + %341 = load ptr, ptr %message_.i.i179.i596, align 8 + %cmp.not.i.i196.i608 = icmp eq ptr %341, null + br i1 %cmp.not.i.i196.i608, label %invoke.cont223.i610, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i609 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i608: ; preds = %if.end218.i606 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i609: ; preds = %if.end218.i607 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %341) #22 call void @_ZdlPv(ptr noundef nonnull %341) #23 - br label %invoke.cont223.i609 - -invoke.cont223.i609: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i608, %if.end218.i606 - store ptr null, ptr %message_.i.i179.i595, align 8 - store i32 %329, ptr %ref.tmp221.i417, align 4 - %array.val52.i610 = load ptr, ptr %data_.i2.i.i440, align 8 - %342 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val52.i610, i64 %indvars.iv262.i598, i32 1 - %arrayidx230.val.i611 = load i32, ptr %342, align 8 - store i32 %arrayidx230.val.i611, ptr %ref.tmp226.i418, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar220.i416, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp221.i417, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp226.i418) - to label %invoke.cont232.i612 unwind label %lpad5.loopexit.i602 - -invoke.cont232.i612: ; preds = %invoke.cont223.i609 - %343 = load i8, ptr %gtest_ar220.i416, align 8 + br label %invoke.cont223.i610 + +invoke.cont223.i610: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i609, %if.end218.i607 + store ptr null, ptr %message_.i.i179.i596, align 8 + store i32 %329, ptr %ref.tmp221.i418, align 4 + %array.val52.i611 = load ptr, ptr %data_.i2.i.i441, align 8 + %342 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val52.i611, i64 %indvars.iv262.i599, i32 1 + %arrayidx230.val.i612 = load i32, ptr %342, align 8 + store i32 %arrayidx230.val.i612, ptr %ref.tmp226.i419, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar220.i417, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp221.i418, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp226.i419) + to label %invoke.cont232.i613 unwind label %lpad5.loopexit.i603 + +invoke.cont232.i613: ; preds = %invoke.cont223.i610 + %343 = load i8, ptr %gtest_ar220.i417, align 8 %344 = and i8 %343, 1 - %tobool.i199.not.i613 = icmp eq i8 %344, 0 - br i1 %tobool.i199.not.i613, label %if.else235.i619, label %if.end248.i614 - -ehcleanup219.i647: ; preds = %_ZN7testing7MessageD2Ev.exit194.i662, %lpad207.i646 - %.pn33.pn.i648 = phi { ptr, i32 } [ %.pn33.i657, %_ZN7testing7MessageD2Ev.exit194.i662 ], [ %336, %lpad207.i646 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar191.i411) #22 - br label %ehcleanup253.i457 - -if.else235.i619: ; preds = %invoke.cont232.i612 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i419) - to label %invoke.cont238.i623 unwind label %lpad237.i620 - -invoke.cont238.i623: ; preds = %if.else235.i619 - %345 = load ptr, ptr %message_.i.i200.i596, align 8 - %cmp.i.i.not.i.i201.i624 = icmp eq ptr %345, null - br i1 %cmp.i.i.not.i.i201.i624, label %invoke.cont241.i627, label %cond.true.i.i202.i625 - -cond.true.i.i202.i625: ; preds = %invoke.cont238.i623 - %call4.i.i203.i626 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %345) #22 - br label %invoke.cont241.i627 - -invoke.cont241.i627: ; preds = %cond.true.i.i202.i625, %invoke.cont238.i623 - %cond.i.i204.i628 = phi ptr [ %call4.i.i203.i626, %cond.true.i.i202.i625 ], [ @.str.123, %invoke.cont238.i623 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i420, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 287, ptr noundef %cond.i.i204.i628) - to label %invoke.cont243.i637 unwind label %lpad240.i629 - -invoke.cont243.i637: ; preds = %invoke.cont241.i627 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i420, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i419) - to label %invoke.cont245.i639 unwind label %lpad244.i638 - -invoke.cont245.i639: ; preds = %invoke.cont243.i637 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i420) #22 - %346 = load ptr, ptr %ref.tmp236.i419, align 8 - %cmp.not.i.i206.i640 = icmp eq ptr %346, null - br i1 %cmp.not.i.i206.i640, label %_ZN7testing7MessageD2Ev.exit210.i644, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i641 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i641: ; preds = %invoke.cont245.i639 - %vtable.i.i.i208.i642 = load ptr, ptr %346, align 8 - %vfn.i.i.i209.i643 = getelementptr inbounds ptr, ptr %vtable.i.i.i208.i642, i64 1 - %347 = load ptr, ptr %vfn.i.i.i209.i643, align 8 + %tobool.i199.not.i614 = icmp eq i8 %344, 0 + br i1 %tobool.i199.not.i614, label %if.else235.i620, label %if.end248.i615 + +ehcleanup219.i648: ; preds = %_ZN7testing7MessageD2Ev.exit194.i663, %lpad207.i647 + %.pn33.pn.i649 = phi { ptr, i32 } [ %.pn33.i658, %_ZN7testing7MessageD2Ev.exit194.i663 ], [ %336, %lpad207.i647 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar191.i412) #22 + br label %ehcleanup253.i458 + +if.else235.i620: ; preds = %invoke.cont232.i613 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i420) + to label %invoke.cont238.i624 unwind label %lpad237.i621 + +invoke.cont238.i624: ; preds = %if.else235.i620 + %345 = load ptr, ptr %message_.i.i200.i597, align 8 + %cmp.i.i.not.i.i201.i625 = icmp eq ptr %345, null + br i1 %cmp.i.i.not.i.i201.i625, label %invoke.cont241.i628, label %cond.true.i.i202.i626 + +cond.true.i.i202.i626: ; preds = %invoke.cont238.i624 + %call4.i.i203.i627 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %345) #22 + br label %invoke.cont241.i628 + +invoke.cont241.i628: ; preds = %cond.true.i.i202.i626, %invoke.cont238.i624 + %cond.i.i204.i629 = phi ptr [ %call4.i.i203.i627, %cond.true.i.i202.i626 ], [ @.str.123, %invoke.cont238.i624 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i421, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 287, ptr noundef %cond.i.i204.i629) + to label %invoke.cont243.i638 unwind label %lpad240.i630 + +invoke.cont243.i638: ; preds = %invoke.cont241.i628 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i421, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i420) + to label %invoke.cont245.i640 unwind label %lpad244.i639 + +invoke.cont245.i640: ; preds = %invoke.cont243.i638 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i421) #22 + %346 = load ptr, ptr %ref.tmp236.i420, align 8 + %cmp.not.i.i206.i641 = icmp eq ptr %346, null + br i1 %cmp.not.i.i206.i641, label %_ZN7testing7MessageD2Ev.exit210.i645, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i642 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i642: ; preds = %invoke.cont245.i640 + %vtable.i.i.i208.i643 = load ptr, ptr %346, align 8 + %vfn.i.i.i209.i644 = getelementptr inbounds ptr, ptr %vtable.i.i.i208.i643, i64 1 + %347 = load ptr, ptr %vfn.i.i.i209.i644, align 8 call void %347(ptr noundef nonnull align 8 dereferenceable(128) %346) #22 - br label %_ZN7testing7MessageD2Ev.exit210.i644 + br label %_ZN7testing7MessageD2Ev.exit210.i645 -_ZN7testing7MessageD2Ev.exit210.i644: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i641, %invoke.cont245.i639 - store ptr null, ptr %ref.tmp236.i419, align 8 - br label %if.end248.i614 +_ZN7testing7MessageD2Ev.exit210.i645: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i642, %invoke.cont245.i640 + store ptr null, ptr %ref.tmp236.i420, align 8 + br label %if.end248.i615 -lpad237.i620: ; preds = %if.else235.i619 +lpad237.i621: ; preds = %if.else235.i620 %348 = landingpad { ptr, i32 } cleanup - br label %ehcleanup249.i621 + br label %ehcleanup249.i622 -lpad240.i629: ; preds = %invoke.cont241.i627 +lpad240.i630: ; preds = %invoke.cont241.i628 %349 = landingpad { ptr, i32 } cleanup - br label %ehcleanup247.i630 + br label %ehcleanup247.i631 -lpad244.i638: ; preds = %invoke.cont243.i637 +lpad244.i639: ; preds = %invoke.cont243.i638 %350 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i420) #22 - br label %ehcleanup247.i630 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i421) #22 + br label %ehcleanup247.i631 -ehcleanup247.i630: ; preds = %lpad244.i638, %lpad240.i629 - %.pn36.i631 = phi { ptr, i32 } [ %350, %lpad244.i638 ], [ %349, %lpad240.i629 ] - %351 = load ptr, ptr %ref.tmp236.i419, align 8 - %cmp.not.i.i211.i632 = icmp eq ptr %351, null - br i1 %cmp.not.i.i211.i632, label %_ZN7testing7MessageD2Ev.exit215.i636, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i633 +ehcleanup247.i631: ; preds = %lpad244.i639, %lpad240.i630 + %.pn36.i632 = phi { ptr, i32 } [ %350, %lpad244.i639 ], [ %349, %lpad240.i630 ] + %351 = load ptr, ptr %ref.tmp236.i420, align 8 + %cmp.not.i.i211.i633 = icmp eq ptr %351, null + br i1 %cmp.not.i.i211.i633, label %_ZN7testing7MessageD2Ev.exit215.i637, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i634 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i633: ; preds = %ehcleanup247.i630 - %vtable.i.i.i213.i634 = load ptr, ptr %351, align 8 - %vfn.i.i.i214.i635 = getelementptr inbounds ptr, ptr %vtable.i.i.i213.i634, i64 1 - %352 = load ptr, ptr %vfn.i.i.i214.i635, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i634: ; preds = %ehcleanup247.i631 + %vtable.i.i.i213.i635 = load ptr, ptr %351, align 8 + %vfn.i.i.i214.i636 = getelementptr inbounds ptr, ptr %vtable.i.i.i213.i635, i64 1 + %352 = load ptr, ptr %vfn.i.i.i214.i636, align 8 call void %352(ptr noundef nonnull align 8 dereferenceable(128) %351) #22 - br label %_ZN7testing7MessageD2Ev.exit215.i636 + br label %_ZN7testing7MessageD2Ev.exit215.i637 -_ZN7testing7MessageD2Ev.exit215.i636: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i633, %ehcleanup247.i630 - store ptr null, ptr %ref.tmp236.i419, align 8 - br label %ehcleanup249.i621 +_ZN7testing7MessageD2Ev.exit215.i637: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i634, %ehcleanup247.i631 + store ptr null, ptr %ref.tmp236.i420, align 8 + br label %ehcleanup249.i622 -if.end248.i614: ; preds = %_ZN7testing7MessageD2Ev.exit210.i644, %invoke.cont232.i612 - %353 = load ptr, ptr %message_.i.i200.i596, align 8 - %cmp.not.i.i217.i615 = icmp eq ptr %353, null - br i1 %cmp.not.i.i217.i615, label %_ZN7testing15AssertionResultD2Ev.exit219.i617, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i616 +if.end248.i615: ; preds = %_ZN7testing7MessageD2Ev.exit210.i645, %invoke.cont232.i613 + %353 = load ptr, ptr %message_.i.i200.i597, align 8 + %cmp.not.i.i217.i616 = icmp eq ptr %353, null + br i1 %cmp.not.i.i217.i616, label %_ZN7testing15AssertionResultD2Ev.exit219.i618, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i617 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i616: ; preds = %if.end248.i614 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i617: ; preds = %if.end248.i615 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %353) #22 call void @_ZdlPv(ptr noundef nonnull %353) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit219.i617 + br label %_ZN7testing15AssertionResultD2Ev.exit219.i618 -_ZN7testing15AssertionResultD2Ev.exit219.i617: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i616, %if.end248.i614 - store ptr null, ptr %message_.i.i200.i596, align 8 - %354 = load i32, ptr %n.addr.i378, align 4 +_ZN7testing15AssertionResultD2Ev.exit219.i618: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i617, %if.end248.i615 + store ptr null, ptr %message_.i.i200.i597, align 8 + %354 = load i32, ptr %n.addr.i379, align 4 %355 = sext i32 %354 to i64 - %cmp189.i618 = icmp slt i64 %indvars.iv.next263.i599, %355 - br i1 %cmp189.i618, label %invoke.cont199.i597, label %for.end252.i497, !llvm.loop !370 - -ehcleanup249.i621: ; preds = %_ZN7testing7MessageD2Ev.exit215.i636, %lpad237.i620 - %.pn36.pn.i622 = phi { ptr, i32 } [ %.pn36.i631, %_ZN7testing7MessageD2Ev.exit215.i636 ], [ %348, %lpad237.i620 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar220.i416) #22 - br label %ehcleanup253.i457 - -for.end252.i497: ; preds = %_ZN7testing15AssertionResultD2Ev.exit219.i617, %for.cond188.preheader.i592, %for.cond177.preheader.i584, %for.cond115.preheader.i557, %_ZN7testing15AssertionResultD2Ev.exit131.i495 - %this.val38.i.i498 = load i64, ptr %size_alloc_.i.i.i429, align 8 - %cmp.not11.i.i499 = icmp eq i64 %this.val38.i.i498, 0 - br i1 %cmp.not11.i.i499, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i, label %invoke.cont.preheader.i.i500 - -invoke.cont.preheader.i.i500: ; preds = %for.end252.i497 - %this.val.i.i501 = load ptr, ptr %data_.i2.i.i440, align 8 - %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i502 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 - br label %invoke.cont.i220.i503 - -invoke.cont.i220.i503: ; preds = %invoke.cont.i220.i503, %invoke.cont.preheader.i.i500 - %cur.013.i.i504 = phi ptr [ %incdec.ptr.i.i507, %invoke.cont.i220.i503 ], [ %this.val.i.i501, %invoke.cont.preheader.i.i500 ] - %inc.i.i.i712.i.i505 = phi i32 [ %inc.i.i.i.i.i506, %invoke.cont.i220.i503 ], [ %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i502, %invoke.cont.preheader.i.i500 ] - store ptr null, ptr %cur.013.i.i504, align 8 - %inc.i.i.i.i.i506 = add nsw i32 %inc.i.i.i712.i.i505, 1 - %incdec.ptr.i.i507 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.013.i.i504, i64 1 - %this.val3.i.i508 = load i64, ptr %size_alloc_.i.i.i429, align 8 - %this.val4.i.i509 = load ptr, ptr %data_.i2.i.i440, align 8 - %add.ptr.i.i.i510 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %this.val4.i.i509, i64 %this.val3.i.i508 - %cmp.not.i.i511 = icmp eq ptr %incdec.ptr.i.i507, %add.ptr.i.i.i510 - br i1 %cmp.not.i.i511, label %for.end.i.i512, label %invoke.cont.i220.i503, !llvm.loop !371 - -for.end.i.i512: ; preds = %invoke.cont.i220.i503 - store i32 %inc.i.i.i.i.i506, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 - %356 = icmp ult i64 %this.val3.i.i508, 65 - br i1 %356, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i, label %invoke.cont4.i.i.i513 - -invoke.cont4.i.i.i513: ; preds = %for.end.i.i512 - call void @_ZdlPv(ptr noundef %this.val4.i.i509) #23 + %cmp189.i619 = icmp slt i64 %indvars.iv.next263.i600, %355 + br i1 %cmp189.i619, label %invoke.cont199.i598, label %for.end252.i498, !llvm.loop !370 + +ehcleanup249.i622: ; preds = %_ZN7testing7MessageD2Ev.exit215.i637, %lpad237.i621 + %.pn36.pn.i623 = phi { ptr, i32 } [ %.pn36.i632, %_ZN7testing7MessageD2Ev.exit215.i637 ], [ %348, %lpad237.i621 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar220.i417) #22 + br label %ehcleanup253.i458 + +for.end252.i498: ; preds = %_ZN7testing15AssertionResultD2Ev.exit219.i618, %for.cond188.preheader.i593, %for.cond177.preheader.i585, %for.cond115.preheader.i558, %_ZN7testing15AssertionResultD2Ev.exit131.i496 + %this.val38.i.i499 = load i64, ptr %size_alloc_.i.i.i430, align 8 + %cmp.not11.i.i500 = icmp eq i64 %this.val38.i.i499, 0 + br i1 %cmp.not11.i.i500, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i, label %invoke.cont.preheader.i.i501 + +invoke.cont.preheader.i.i501: ; preds = %for.end252.i498 + %this.val.i.i502 = load ptr, ptr %data_.i2.i.i441, align 8 + %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i503 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 + br label %invoke.cont.i220.i504 + +invoke.cont.i220.i504: ; preds = %invoke.cont.i220.i504, %invoke.cont.preheader.i.i501 + %cur.013.i.i505 = phi ptr [ %incdec.ptr.i.i508, %invoke.cont.i220.i504 ], [ %this.val.i.i502, %invoke.cont.preheader.i.i501 ] + %inc.i.i.i712.i.i506 = phi i32 [ %inc.i.i.i.i.i507, %invoke.cont.i220.i504 ], [ %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i503, %invoke.cont.preheader.i.i501 ] + store ptr null, ptr %cur.013.i.i505, align 8 + %inc.i.i.i.i.i507 = add nsw i32 %inc.i.i.i712.i.i506, 1 + %incdec.ptr.i.i508 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.013.i.i505, i64 1 + %this.val3.i.i509 = load i64, ptr %size_alloc_.i.i.i430, align 8 + %this.val4.i.i510 = load ptr, ptr %data_.i2.i.i441, align 8 + %add.ptr.i.i.i511 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %this.val4.i.i510, i64 %this.val3.i.i509 + %cmp.not.i.i512 = icmp eq ptr %incdec.ptr.i.i508, %add.ptr.i.i.i511 + br i1 %cmp.not.i.i512, label %for.end.i.i513, label %invoke.cont.i220.i504, !llvm.loop !371 + +for.end.i.i513: ; preds = %invoke.cont.i220.i504 + store i32 %inc.i.i.i.i.i507, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 + %356 = icmp ult i64 %this.val3.i.i509, 65 + br i1 %356, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i, label %invoke.cont4.i.i.i514 + +invoke.cont4.i.i.i514: ; preds = %for.end.i.i513 + call void @_ZdlPv(ptr noundef %this.val4.i.i510) #23 br label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i -_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i: ; preds = %invoke.cont4.i.i.i513, %for.end.i.i512, %for.end252.i497 +_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i: ; preds = %invoke.cont4.i.i.i514, %for.end.i.i513, %for.end252.i498 %357 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4, !noalias !372 %358 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4, !noalias !372 - %cmp.i.i.i514 = icmp eq i32 %357, %358 - br i1 %cmp.i.i.i514, label %if.then.i.i.i550, label %if.end.i.i.i515 + %cmp.i.i.i515 = icmp eq i32 %357, %358 + br i1 %cmp.i.i.i515, label %if.then.i.i.i551, label %if.end.i.i.i516 -if.then.i.i.i550: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i - invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i421) - to label %invoke.cont256.i517 unwind label %lpad255.i516 +if.then.i.i.i551: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i + invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i422) + to label %invoke.cont256.i518 unwind label %lpad255.i517 -if.end.i.i.i515: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i - invoke void @_ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i421, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.203, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE) - to label %invoke.cont256.i517 unwind label %lpad255.i516 +if.end.i.i.i516: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev.exit.i + invoke void @_ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i422, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.203, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE) + to label %invoke.cont256.i518 unwind label %lpad255.i517 -invoke.cont256.i517: ; preds = %if.end.i.i.i515, %if.then.i.i.i550 - %359 = load i8, ptr %gtest_ar254.i421, align 8 +invoke.cont256.i518: ; preds = %if.end.i.i.i516, %if.then.i.i.i551 + %359 = load i8, ptr %gtest_ar254.i422, align 8 %360 = and i8 %359, 1 - %tobool.i223.not.i518 = icmp eq i8 %360, 0 - br i1 %tobool.i223.not.i518, label %if.else259.i523, label %if.end272.i519 + %tobool.i223.not.i519 = icmp eq i8 %360, 0 + br i1 %tobool.i223.not.i519, label %if.else259.i524, label %if.end272.i520 -ehcleanup253.i457: ; preds = %ehcleanup249.i621, %ehcleanup219.i647, %ehcleanup172.i673, %ehcleanup145.i699, %ehcleanup103.i725, %ehcleanup77.i752, %ehcleanup49.i779, %ehcleanup22.i806, %lpad5.loopexit.split-lp.loopexit.split-lp.i455, %lpad5.loopexit.split-lp.loopexit.i566, %lpad5.loopexit.i602 - %.pn45.i458 = phi { ptr, i32 } [ %.pn42.pn.i674, %ehcleanup172.i673 ], [ %.pn39.pn.i700, %ehcleanup145.i699 ], [ %.pn36.pn.i622, %ehcleanup249.i621 ], [ %.pn33.pn.i648, %ehcleanup219.i647 ], [ %.pn27.pn.i726, %ehcleanup103.i725 ], [ %.pn24.pn.i753, %ehcleanup77.i752 ], [ %.pn21.pn.i780, %ehcleanup49.i779 ], [ %.pn.pn.i807, %ehcleanup22.i806 ], [ %lpad.loopexit.i603, %lpad5.loopexit.i602 ], [ %lpad.loopexit244.i567, %lpad5.loopexit.split-lp.loopexit.i566 ], [ %lpad.loopexit.split-lp245.i456, %lpad5.loopexit.split-lp.loopexit.split-lp.i455 ] - call fastcc void @_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(1040) %array.i382) #22 - br label %ehcleanup274.i437 +ehcleanup253.i458: ; preds = %ehcleanup249.i622, %ehcleanup219.i648, %ehcleanup172.i674, %ehcleanup145.i700, %ehcleanup103.i726, %ehcleanup77.i753, %ehcleanup49.i780, %ehcleanup22.i807, %lpad5.loopexit.split-lp.loopexit.split-lp.i456, %lpad5.loopexit.split-lp.loopexit.i567, %lpad5.loopexit.i603 + %.pn45.i459 = phi { ptr, i32 } [ %.pn42.pn.i675, %ehcleanup172.i674 ], [ %.pn39.pn.i701, %ehcleanup145.i700 ], [ %.pn36.pn.i623, %ehcleanup249.i622 ], [ %.pn33.pn.i649, %ehcleanup219.i648 ], [ %.pn27.pn.i727, %ehcleanup103.i726 ], [ %.pn24.pn.i754, %ehcleanup77.i753 ], [ %.pn21.pn.i781, %ehcleanup49.i780 ], [ %.pn.pn.i808, %ehcleanup22.i807 ], [ %lpad.loopexit.i604, %lpad5.loopexit.i603 ], [ %lpad.loopexit244.i568, %lpad5.loopexit.split-lp.loopexit.i567 ], [ %lpad.loopexit.split-lp245.i457, %lpad5.loopexit.split-lp.loopexit.split-lp.i456 ] + call fastcc void @_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm64ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(1040) %array.i383) #22 + br label %ehcleanup274.i438 -lpad255.i516: ; preds = %if.end.i.i.i515, %if.then.i.i.i550 +lpad255.i517: ; preds = %if.end.i.i.i516, %if.then.i.i.i551 %361 = landingpad { ptr, i32 } cleanup - br label %ehcleanup274.i437 + br label %ehcleanup274.i438 -if.else259.i523: ; preds = %invoke.cont256.i517 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i422) - to label %invoke.cont262.i527 unwind label %lpad261.i524 +if.else259.i524: ; preds = %invoke.cont256.i518 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i423) + to label %invoke.cont262.i528 unwind label %lpad261.i525 -invoke.cont262.i527: ; preds = %if.else259.i523 - %362 = load ptr, ptr %message_.i.i224.i528, align 8 - %cmp.i.i.not.i.i225.i529 = icmp eq ptr %362, null - br i1 %cmp.i.i.not.i.i225.i529, label %invoke.cont265.i532, label %cond.true.i.i226.i530 +invoke.cont262.i528: ; preds = %if.else259.i524 + %362 = load ptr, ptr %message_.i.i224.i529, align 8 + %cmp.i.i.not.i.i225.i530 = icmp eq ptr %362, null + br i1 %cmp.i.i.not.i.i225.i530, label %invoke.cont265.i533, label %cond.true.i.i226.i531 -cond.true.i.i226.i530: ; preds = %invoke.cont262.i527 - %call4.i.i227.i531 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %362) #22 - br label %invoke.cont265.i532 +cond.true.i.i226.i531: ; preds = %invoke.cont262.i528 + %call4.i.i227.i532 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %362) #22 + br label %invoke.cont265.i533 -invoke.cont265.i532: ; preds = %cond.true.i.i226.i530, %invoke.cont262.i527 - %cond.i.i228.i533 = phi ptr [ %call4.i.i227.i531, %cond.true.i.i226.i530 ], [ @.str.123, %invoke.cont262.i527 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i423, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 293, ptr noundef %cond.i.i228.i533) - to label %invoke.cont267.i542 unwind label %lpad264.i534 +invoke.cont265.i533: ; preds = %cond.true.i.i226.i531, %invoke.cont262.i528 + %cond.i.i228.i534 = phi ptr [ %call4.i.i227.i532, %cond.true.i.i226.i531 ], [ @.str.123, %invoke.cont262.i528 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i424, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 293, ptr noundef %cond.i.i228.i534) + to label %invoke.cont267.i543 unwind label %lpad264.i535 -invoke.cont267.i542: ; preds = %invoke.cont265.i532 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i423, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i422) - to label %invoke.cont269.i544 unwind label %lpad268.i543 +invoke.cont267.i543: ; preds = %invoke.cont265.i533 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i424, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i423) + to label %invoke.cont269.i545 unwind label %lpad268.i544 -invoke.cont269.i544: ; preds = %invoke.cont267.i542 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i423) #22 - %363 = load ptr, ptr %ref.tmp260.i422, align 8 - %cmp.not.i.i230.i545 = icmp eq ptr %363, null - br i1 %cmp.not.i.i230.i545, label %_ZN7testing7MessageD2Ev.exit234.i549, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i546 +invoke.cont269.i545: ; preds = %invoke.cont267.i543 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i424) #22 + %363 = load ptr, ptr %ref.tmp260.i423, align 8 + %cmp.not.i.i230.i546 = icmp eq ptr %363, null + br i1 %cmp.not.i.i230.i546, label %_ZN7testing7MessageD2Ev.exit234.i550, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i547 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i546: ; preds = %invoke.cont269.i544 - %vtable.i.i.i232.i547 = load ptr, ptr %363, align 8 - %vfn.i.i.i233.i548 = getelementptr inbounds ptr, ptr %vtable.i.i.i232.i547, i64 1 - %364 = load ptr, ptr %vfn.i.i.i233.i548, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i547: ; preds = %invoke.cont269.i545 + %vtable.i.i.i232.i548 = load ptr, ptr %363, align 8 + %vfn.i.i.i233.i549 = getelementptr inbounds ptr, ptr %vtable.i.i.i232.i548, i64 1 + %364 = load ptr, ptr %vfn.i.i.i233.i549, align 8 call void %364(ptr noundef nonnull align 8 dereferenceable(128) %363) #22 - br label %_ZN7testing7MessageD2Ev.exit234.i549 + br label %_ZN7testing7MessageD2Ev.exit234.i550 -_ZN7testing7MessageD2Ev.exit234.i549: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i546, %invoke.cont269.i544 - store ptr null, ptr %ref.tmp260.i422, align 8 - br label %if.end272.i519 +_ZN7testing7MessageD2Ev.exit234.i550: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i547, %invoke.cont269.i545 + store ptr null, ptr %ref.tmp260.i423, align 8 + br label %if.end272.i520 -lpad261.i524: ; preds = %if.else259.i523 +lpad261.i525: ; preds = %if.else259.i524 %365 = landingpad { ptr, i32 } cleanup - br label %ehcleanup273.i525 + br label %ehcleanup273.i526 -lpad264.i534: ; preds = %invoke.cont265.i532 +lpad264.i535: ; preds = %invoke.cont265.i533 %366 = landingpad { ptr, i32 } cleanup - br label %ehcleanup271.i535 + br label %ehcleanup271.i536 -lpad268.i543: ; preds = %invoke.cont267.i542 +lpad268.i544: ; preds = %invoke.cont267.i543 %367 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i423) #22 - br label %ehcleanup271.i535 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i424) #22 + br label %ehcleanup271.i536 -ehcleanup271.i535: ; preds = %lpad268.i543, %lpad264.i534 - %.pn30.i536 = phi { ptr, i32 } [ %367, %lpad268.i543 ], [ %366, %lpad264.i534 ] - %368 = load ptr, ptr %ref.tmp260.i422, align 8 - %cmp.not.i.i235.i537 = icmp eq ptr %368, null - br i1 %cmp.not.i.i235.i537, label %_ZN7testing7MessageD2Ev.exit239.i541, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i538 +ehcleanup271.i536: ; preds = %lpad268.i544, %lpad264.i535 + %.pn30.i537 = phi { ptr, i32 } [ %367, %lpad268.i544 ], [ %366, %lpad264.i535 ] + %368 = load ptr, ptr %ref.tmp260.i423, align 8 + %cmp.not.i.i235.i538 = icmp eq ptr %368, null + br i1 %cmp.not.i.i235.i538, label %_ZN7testing7MessageD2Ev.exit239.i542, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i539 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i538: ; preds = %ehcleanup271.i535 - %vtable.i.i.i237.i539 = load ptr, ptr %368, align 8 - %vfn.i.i.i238.i540 = getelementptr inbounds ptr, ptr %vtable.i.i.i237.i539, i64 1 - %369 = load ptr, ptr %vfn.i.i.i238.i540, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i539: ; preds = %ehcleanup271.i536 + %vtable.i.i.i237.i540 = load ptr, ptr %368, align 8 + %vfn.i.i.i238.i541 = getelementptr inbounds ptr, ptr %vtable.i.i.i237.i540, i64 1 + %369 = load ptr, ptr %vfn.i.i.i238.i541, align 8 call void %369(ptr noundef nonnull align 8 dereferenceable(128) %368) #22 - br label %_ZN7testing7MessageD2Ev.exit239.i541 + br label %_ZN7testing7MessageD2Ev.exit239.i542 -_ZN7testing7MessageD2Ev.exit239.i541: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i538, %ehcleanup271.i535 - store ptr null, ptr %ref.tmp260.i422, align 8 - br label %ehcleanup273.i525 +_ZN7testing7MessageD2Ev.exit239.i542: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i539, %ehcleanup271.i536 + store ptr null, ptr %ref.tmp260.i423, align 8 + br label %ehcleanup273.i526 -if.end272.i519: ; preds = %_ZN7testing7MessageD2Ev.exit234.i549, %invoke.cont256.i517 - %370 = load ptr, ptr %message_.i.i224.i528, align 8 - %cmp.not.i.i241.i521 = icmp eq ptr %370, null - br i1 %cmp.not.i.i241.i521, label %invoke.cont17, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i522 +if.end272.i520: ; preds = %_ZN7testing7MessageD2Ev.exit234.i550, %invoke.cont256.i518 + %370 = load ptr, ptr %message_.i.i224.i529, align 8 + %cmp.not.i.i241.i522 = icmp eq ptr %370, null + br i1 %cmp.not.i.i241.i522, label %invoke.cont17, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i523 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i522: ; preds = %if.end272.i519 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i523: ; preds = %if.end272.i520 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %370) #22 call void @_ZdlPv(ptr noundef nonnull %370) #23 br label %invoke.cont17 -ehcleanup273.i525: ; preds = %_ZN7testing7MessageD2Ev.exit239.i541, %lpad261.i524 - %.pn30.pn.i526 = phi { ptr, i32 } [ %.pn30.i536, %_ZN7testing7MessageD2Ev.exit239.i541 ], [ %365, %lpad261.i524 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar254.i421) #22 - br label %ehcleanup274.i437 +ehcleanup273.i526: ; preds = %_ZN7testing7MessageD2Ev.exit239.i542, %lpad261.i525 + %.pn30.pn.i527 = phi { ptr, i32 } [ %.pn30.i537, %_ZN7testing7MessageD2Ev.exit239.i542 ], [ %365, %lpad261.i525 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar254.i422) #22 + br label %ehcleanup274.i438 -ehcleanup274.i437: ; preds = %lpad2.i436.loopexit, %lpad2.i436.loopexit.split-lp, %ehcleanup273.i525, %lpad255.i516, %ehcleanup253.i457 - %.pn45.pn.i438 = phi { ptr, i32 } [ %.pn45.i458, %ehcleanup253.i457 ], [ %.pn30.pn.i526, %ehcleanup273.i525 ], [ %361, %lpad255.i516 ], [ %lpad.loopexit1328, %lpad2.i436.loopexit ], [ %lpad.loopexit.split-lp1329, %lpad2.i436.loopexit.split-lp ] - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i380) #22 - br label %ehcleanup275.i425 +ehcleanup274.i438: ; preds = %lpad2.i437.loopexit, %lpad2.i437.loopexit.split-lp, %ehcleanup273.i526, %lpad255.i517, %ehcleanup253.i458 + %.pn45.pn.i439 = phi { ptr, i32 } [ %.pn45.i459, %ehcleanup253.i458 ], [ %.pn30.pn.i527, %ehcleanup273.i526 ], [ %361, %lpad255.i517 ], [ %lpad.loopexit1329, %lpad2.i437.loopexit ], [ %lpad.loopexit.split-lp1330, %lpad2.i437.loopexit.split-lp ] + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i381) #22 + br label %ehcleanup275.i426 -ehcleanup275.i425: ; preds = %ehcleanup274.i437, %lpad.i424 - %.pn45.pn.pn.i426 = phi { ptr, i32 } [ %.pn45.pn.i438, %ehcleanup274.i437 ], [ %249, %lpad.i424 ] - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i379) #22 +ehcleanup275.i426: ; preds = %ehcleanup274.i438, %lpad.i425 + %.pn45.pn.pn.i427 = phi { ptr, i32 } [ %.pn45.pn.i439, %ehcleanup274.i438 ], [ %249, %lpad.i425 ] + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i380) #22 br label %lpad.body -invoke.cont17: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i522, %if.end272.i519 - store ptr null, ptr %message_.i.i224.i528, align 8 - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i380) #22 - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i379) #22 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.addr.i378) - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_254.i379) - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_255.i380) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i381) - call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %array.i382) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar.i383) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i384) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7.i385) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp12.i386) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp15.i387) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar23.i388) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp24.i389) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp29.i390) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp36.i391) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp39.i392) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar50.i393) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp57.i394) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp64.i395) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp67.i396) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar81.i397) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp82.i398) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp90.i399) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp93.i400) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar118.i401) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp119.i402) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp123.i403) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp132.i404) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp135.i405) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar146.i406) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp147.i407) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp151.i408) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp159.i409) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp162.i410) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar191.i411) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp192.i412) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp197.i413) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp206.i414) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp209.i415) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar220.i416) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp221.i417) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp226.i418) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp236.i419) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp239.i420) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar254.i421) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp260.i422) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp263.i423) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.addr.i839) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_254.i840) - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_255.i841) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i842) - call void @llvm.lifetime.start.p0(i64 16016, ptr nonnull %array.i843) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar.i844) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i845) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7.i846) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp12.i847) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp15.i848) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar23.i849) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp24.i850) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp29.i851) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp36.i852) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp39.i853) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar50.i854) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp57.i855) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp64.i856) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp67.i857) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar81.i858) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp82.i859) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp90.i860) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp93.i861) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar118.i862) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp119.i863) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp123.i864) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp132.i865) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp135.i866) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar146.i867) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp147.i868) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp151.i869) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp159.i870) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp162.i871) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar191.i872) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp192.i873) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp197.i874) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp206.i875) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp209.i876) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar220.i877) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp221.i878) - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp226.i879) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp236.i880) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp239.i881) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar254.i882) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp260.i883) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp263.i884) - store i32 %0, ptr %n.addr.i839, align 4 - invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i840, ptr noundef nonnull @.str.3, i32 noundef 254, ptr noundef nonnull align 4 dereferenceable(4) %n.addr.i839) - to label %.noexc1297 unwind label %lpad.loopexit - -.noexc1297: ; preds = %invoke.cont17 - store i32 1000, ptr %ref.tmp.i842, align 4 - invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i841, ptr noundef nonnull @.str.3, i32 noundef 255, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i842) - to label %invoke.cont.i888 unwind label %lpad.i885 - -invoke.cont.i888: ; preds = %.noexc1297 +invoke.cont17: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i523, %if.end272.i520 + store ptr null, ptr %message_.i.i224.i529, align 8 + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i381) #22 + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i380) #22 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.addr.i379) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_254.i380) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_255.i381) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i382) + call void @llvm.lifetime.end.p0(i64 1040, ptr nonnull %array.i383) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar.i384) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i385) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7.i386) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp12.i387) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp15.i388) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar23.i389) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp24.i390) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp29.i391) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp36.i392) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp39.i393) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar50.i394) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp57.i395) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp64.i396) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp67.i397) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar81.i398) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp82.i399) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp90.i400) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp93.i401) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar118.i402) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp119.i403) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp123.i404) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp132.i405) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp135.i406) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar146.i407) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp147.i408) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp151.i409) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp159.i410) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp162.i411) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar191.i412) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp192.i413) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp197.i414) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp206.i415) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp209.i416) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar220.i417) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp221.i418) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp226.i419) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp236.i420) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp239.i421) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar254.i422) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp260.i423) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp263.i424) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %n.addr.i840) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_254.i841) + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %gtest_trace_255.i842) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp.i843) + call void @llvm.lifetime.start.p0(i64 16016, ptr nonnull %array.i844) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar.i845) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp4.i846) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp7.i847) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp12.i848) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp15.i849) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar23.i850) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp24.i851) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp29.i852) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp36.i853) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp39.i854) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar50.i855) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp57.i856) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp64.i857) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp67.i858) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar81.i859) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp82.i860) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp90.i861) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp93.i862) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar118.i863) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp119.i864) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp123.i865) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp132.i866) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp135.i867) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar146.i868) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp147.i869) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp151.i870) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp159.i871) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp162.i872) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar191.i873) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp192.i874) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp197.i875) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp206.i876) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp209.i877) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar220.i878) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp221.i879) + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %ref.tmp226.i880) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp236.i881) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp239.i882) + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %gtest_ar254.i883) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp260.i884) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp263.i885) + store i32 %0, ptr %n.addr.i840, align 4 + invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i841, ptr noundef nonnull @.str.3, i32 noundef 254, ptr noundef nonnull align 4 dereferenceable(4) %n.addr.i840) + to label %.noexc1298 unwind label %lpad.loopexit + +.noexc1298: ; preds = %invoke.cont17 + store i32 1000, ptr %ref.tmp.i843, align 4 + invoke void @_ZN7testing11ScopedTraceC2IiEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i842, ptr noundef nonnull @.str.3, i32 noundef 255, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp.i843) + to label %invoke.cont.i889 unwind label %lpad.i886 + +invoke.cont.i889: ; preds = %.noexc1298 store i32 0, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 store i32 0, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 - %371 = load i32, ptr %n.addr.i839, align 4 - %conv.i889 = sext i32 %371 to i64 - store i64 %conv.i889, ptr %size_alloc_.i.i.i890, align 8 - %cmp.i.i.i.i.i891 = icmp ult i32 %371, 1001 - br i1 %cmp.i.i.i.i.i891, label %invoke.cont.i.i1294, label %if.else.i.i.i.i892 + %371 = load i32, ptr %n.addr.i840, align 4 + %conv.i890 = sext i32 %371 to i64 + store i64 %conv.i890, ptr %size_alloc_.i.i.i891, align 8 + %cmp.i.i.i.i.i892 = icmp ult i32 %371, 1001 + br i1 %cmp.i.i.i.i.i892, label %invoke.cont.i.i1295, label %if.else.i.i.i.i893 -if.else.i.i.i.i892: ; preds = %invoke.cont.i888 - %cmp.i.i.i.i.i.i893 = icmp slt i32 %371, 0 - br i1 %cmp.i.i.i.i.i.i893, label %if.then3.i.i.i.i.i.i1292, label %invoke.cont.thread.i.i894 +if.else.i.i.i.i893: ; preds = %invoke.cont.i889 + %cmp.i.i.i.i.i.i894 = icmp slt i32 %371, 0 + br i1 %cmp.i.i.i.i.i.i894, label %if.then3.i.i.i.i.i.i1293, label %invoke.cont.thread.i.i895 -if.then3.i.i.i.i.i.i1292: ; preds = %if.else.i.i.i.i892 +if.then3.i.i.i.i.i.i1293: ; preds = %if.else.i.i.i.i893 invoke void @_ZSt28__throw_bad_array_new_lengthv() #25 - to label %.noexc.i1293 unwind label %lpad2.i897.loopexit.split-lp + to label %.noexc.i1294 unwind label %lpad2.i898.loopexit.split-lp -.noexc.i1293: ; preds = %if.then3.i.i.i.i.i.i1292 +.noexc.i1294: ; preds = %if.then3.i.i.i.i.i.i1293 unreachable -invoke.cont.thread.i.i894: ; preds = %if.else.i.i.i.i892 - %mul.i.i.i.i.i.i895 = shl nuw nsw i64 %conv.i889, 4 - %call5.i.i.i2.i.i61.i896 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i895) #24 - to label %call5.i.i.i2.i.i.noexc.i900 unwind label %lpad2.i897.loopexit - -call5.i.i.i2.i.i.noexc.i900: ; preds = %invoke.cont.thread.i.i894 - store ptr %call5.i.i.i2.i.i61.i896, ptr %data_.i2.i.i901, align 8 - br label %for.inc.preheader.i.i.i902 - -invoke.cont.i.i1294: ; preds = %invoke.cont.i888 - store ptr %array.i843, ptr %data_.i2.i.i901, align 8 - %cmp.not2.i.i.i1296 = icmp eq i32 %371, 0 - br i1 %cmp.not2.i.i.i1296, label %invoke.cont6.i914, label %for.inc.preheader.i.i.i902 - -for.inc.preheader.i.i.i902: ; preds = %invoke.cont.i.i1294, %call5.i.i.i2.i.i.noexc.i900 - %retval.0.i.i5.i.i903 = phi ptr [ %call5.i.i.i2.i.i61.i896, %call5.i.i.i2.i.i.noexc.i900 ], [ %array.i843, %invoke.cont.i.i1294 ] - %add.ptr.i6.i.i904 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %retval.0.i.i5.i.i903, i64 %conv.i889 - br label %for.inc.i.i.i905 - -for.inc.i.i.i905: ; preds = %for.inc.i.i.i905, %for.inc.preheader.i.i.i902 - %cur.04.i.i.i906 = phi ptr [ %incdec.ptr4.i.i.i910, %for.inc.i.i.i905 ], [ %retval.0.i.i5.i.i903, %for.inc.preheader.i.i.i902 ] - %inc.i.i.i13.i.i.i907 = phi i32 [ %inc.i.i.i.i.i.i909, %for.inc.i.i.i905 ], [ 0, %for.inc.preheader.i.i.i902 ] - store ptr %cur.04.i.i.i906, ptr %cur.04.i.i.i906, align 8 - %value_.i.i.i.i.i.i908 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i906, i64 0, i32 1 - store i32 0, ptr %value_.i.i.i.i.i.i908, align 8 - %inc.i.i.i.i.i.i909 = add nuw nsw i32 %inc.i.i.i13.i.i.i907, 1 - %incdec.ptr4.i.i.i910 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i906, i64 1 - %cmp.not.i.i.i911 = icmp eq ptr %incdec.ptr4.i.i.i910, %add.ptr.i6.i.i904 - br i1 %cmp.not.i.i.i911, label %for.cond.for.end_crit_edge.i.i.i912, label %for.inc.i.i.i905, !llvm.loop !346 - -for.cond.for.end_crit_edge.i.i.i912: ; preds = %for.inc.i.i.i905 - store i32 %inc.i.i.i.i.i.i909, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 - %array.val.pre.i913 = load i64, ptr %size_alloc_.i.i.i890, align 8 - br label %invoke.cont6.i914 - -invoke.cont6.i914: ; preds = %for.cond.for.end_crit_edge.i.i.i912, %invoke.cont.i.i1294 - %array.val.i915 = phi i64 [ 0, %invoke.cont.i.i1294 ], [ %array.val.pre.i913, %for.cond.for.end_crit_edge.i.i.i912 ] - store i32 %371, ptr %ref.tmp4.i845, align 4 - store i64 %array.val.i915, ptr %ref.tmp7.i846, align 8 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i844, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp4.i845, ptr noundef nonnull @.str.197, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7.i846) - to label %invoke.cont10.i920 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i916 - -invoke.cont10.i920: ; preds = %invoke.cont6.i914 - %372 = load i8, ptr %gtest_ar.i844, align 8 +invoke.cont.thread.i.i895: ; preds = %if.else.i.i.i.i893 + %mul.i.i.i.i.i.i896 = shl nuw nsw i64 %conv.i890, 4 + %call5.i.i.i2.i.i61.i897 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i896) #24 + to label %call5.i.i.i2.i.i.noexc.i901 unwind label %lpad2.i898.loopexit + +call5.i.i.i2.i.i.noexc.i901: ; preds = %invoke.cont.thread.i.i895 + store ptr %call5.i.i.i2.i.i61.i897, ptr %data_.i2.i.i902, align 8 + br label %for.inc.preheader.i.i.i903 + +invoke.cont.i.i1295: ; preds = %invoke.cont.i889 + store ptr %array.i844, ptr %data_.i2.i.i902, align 8 + %cmp.not2.i.i.i1297 = icmp eq i32 %371, 0 + br i1 %cmp.not2.i.i.i1297, label %invoke.cont6.i915, label %for.inc.preheader.i.i.i903 + +for.inc.preheader.i.i.i903: ; preds = %invoke.cont.i.i1295, %call5.i.i.i2.i.i.noexc.i901 + %retval.0.i.i5.i.i904 = phi ptr [ %call5.i.i.i2.i.i61.i897, %call5.i.i.i2.i.i.noexc.i901 ], [ %array.i844, %invoke.cont.i.i1295 ] + %add.ptr.i6.i.i905 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %retval.0.i.i5.i.i904, i64 %conv.i890 + br label %for.inc.i.i.i906 + +for.inc.i.i.i906: ; preds = %for.inc.i.i.i906, %for.inc.preheader.i.i.i903 + %cur.04.i.i.i907 = phi ptr [ %incdec.ptr4.i.i.i911, %for.inc.i.i.i906 ], [ %retval.0.i.i5.i.i904, %for.inc.preheader.i.i.i903 ] + %inc.i.i.i13.i.i.i908 = phi i32 [ %inc.i.i.i.i.i.i910, %for.inc.i.i.i906 ], [ 0, %for.inc.preheader.i.i.i903 ] + store ptr %cur.04.i.i.i907, ptr %cur.04.i.i.i907, align 8 + %value_.i.i.i.i.i.i909 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i907, i64 0, i32 1 + store i32 0, ptr %value_.i.i.i.i.i.i909, align 8 + %inc.i.i.i.i.i.i910 = add nuw nsw i32 %inc.i.i.i13.i.i.i908, 1 + %incdec.ptr4.i.i.i911 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.04.i.i.i907, i64 1 + %cmp.not.i.i.i912 = icmp eq ptr %incdec.ptr4.i.i.i911, %add.ptr.i6.i.i905 + br i1 %cmp.not.i.i.i912, label %for.cond.for.end_crit_edge.i.i.i913, label %for.inc.i.i.i906, !llvm.loop !346 + +for.cond.for.end_crit_edge.i.i.i913: ; preds = %for.inc.i.i.i906 + store i32 %inc.i.i.i.i.i.i910, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4 + %array.val.pre.i914 = load i64, ptr %size_alloc_.i.i.i891, align 8 + br label %invoke.cont6.i915 + +invoke.cont6.i915: ; preds = %for.cond.for.end_crit_edge.i.i.i913, %invoke.cont.i.i1295 + %array.val.i916 = phi i64 [ 0, %invoke.cont.i.i1295 ], [ %array.val.pre.i914, %for.cond.for.end_crit_edge.i.i.i913 ] + store i32 %371, ptr %ref.tmp4.i846, align 4 + store i64 %array.val.i916, ptr %ref.tmp7.i847, align 8 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i845, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp4.i846, ptr noundef nonnull @.str.197, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp7.i847) + to label %invoke.cont10.i921 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i917 + +invoke.cont10.i921: ; preds = %invoke.cont6.i915 + %372 = load i8, ptr %gtest_ar.i845, align 8 %373 = and i8 %372, 1 - %tobool.i.not.i921 = icmp eq i8 %373, 0 - br i1 %tobool.i.not.i921, label %if.else.i1265, label %if.end.i922 + %tobool.i.not.i922 = icmp eq i8 %373, 0 + br i1 %tobool.i.not.i922, label %if.else.i1266, label %if.end.i923 -lpad.i885: ; preds = %.noexc1297 +lpad.i886: ; preds = %.noexc1298 %374 = landingpad { ptr, i32 } cleanup - br label %ehcleanup275.i886 + br label %ehcleanup275.i887 -lpad2.i897.loopexit: ; preds = %invoke.cont.thread.i.i894 - %lpad.loopexit1331 = landingpad { ptr, i32 } +lpad2.i898.loopexit: ; preds = %invoke.cont.thread.i.i895 + %lpad.loopexit1332 = landingpad { ptr, i32 } cleanup - br label %ehcleanup274.i898 + br label %ehcleanup274.i899 -lpad2.i897.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i1292 - %lpad.loopexit.split-lp1332 = landingpad { ptr, i32 } +lpad2.i898.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i1293 + %lpad.loopexit.split-lp1333 = landingpad { ptr, i32 } cleanup - br label %ehcleanup274.i898 + br label %ehcleanup274.i899 -lpad5.loopexit.i1063: ; preds = %invoke.cont223.i1070, %invoke.cont199.i1058 - %lpad.loopexit.i1064 = landingpad { ptr, i32 } +lpad5.loopexit.i1064: ; preds = %invoke.cont223.i1071, %invoke.cont199.i1059 + %lpad.loopexit.i1065 = landingpad { ptr, i32 } cleanup - br label %ehcleanup253.i918 + br label %ehcleanup253.i919 -lpad5.loopexit.split-lp.loopexit.i1027: ; preds = %invoke.cont148.i1034, %invoke.cont125.i1023 - %lpad.loopexit244.i1028 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit.i1028: ; preds = %invoke.cont148.i1035, %invoke.cont125.i1024 + %lpad.loopexit244.i1029 = landingpad { ptr, i32 } cleanup - br label %ehcleanup253.i918 + br label %ehcleanup253.i919 -lpad5.loopexit.split-lp.loopexit.split-lp.i916: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i949, %invoke.cont58.i937, %invoke.cont26.i926, %invoke.cont6.i914 - %lpad.loopexit.split-lp245.i917 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit.split-lp.i917: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i950, %invoke.cont58.i938, %invoke.cont26.i927, %invoke.cont6.i915 + %lpad.loopexit.split-lp245.i918 = landingpad { ptr, i32 } cleanup - br label %ehcleanup253.i918 + br label %ehcleanup253.i919 -if.else.i1265: ; preds = %invoke.cont10.i920 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i847) - to label %invoke.cont14.i1269 unwind label %lpad13.i1266 +if.else.i1266: ; preds = %invoke.cont10.i921 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i848) + to label %invoke.cont14.i1270 unwind label %lpad13.i1267 -invoke.cont14.i1269: ; preds = %if.else.i1265 - %375 = load ptr, ptr %message_.i.i.i1270, align 8 - %cmp.i.i.not.i.i.i1271 = icmp eq ptr %375, null - br i1 %cmp.i.i.not.i.i.i1271, label %invoke.cont17.i1274, label %cond.true.i.i.i1272 +invoke.cont14.i1270: ; preds = %if.else.i1266 + %375 = load ptr, ptr %message_.i.i.i1271, align 8 + %cmp.i.i.not.i.i.i1272 = icmp eq ptr %375, null + br i1 %cmp.i.i.not.i.i.i1272, label %invoke.cont17.i1275, label %cond.true.i.i.i1273 -cond.true.i.i.i1272: ; preds = %invoke.cont14.i1269 - %call4.i.i.i1273 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %375) #22 - br label %invoke.cont17.i1274 +cond.true.i.i.i1273: ; preds = %invoke.cont14.i1270 + %call4.i.i.i1274 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %375) #22 + br label %invoke.cont17.i1275 -invoke.cont17.i1274: ; preds = %cond.true.i.i.i1272, %invoke.cont14.i1269 - %cond.i.i.i1275 = phi ptr [ %call4.i.i.i1273, %cond.true.i.i.i1272 ], [ @.str.123, %invoke.cont14.i1269 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i848, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 261, ptr noundef %cond.i.i.i1275) - to label %invoke.cont19.i1284 unwind label %lpad16.i1276 +invoke.cont17.i1275: ; preds = %cond.true.i.i.i1273, %invoke.cont14.i1270 + %cond.i.i.i1276 = phi ptr [ %call4.i.i.i1274, %cond.true.i.i.i1273 ], [ @.str.123, %invoke.cont14.i1270 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i849, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 261, ptr noundef %cond.i.i.i1276) + to label %invoke.cont19.i1285 unwind label %lpad16.i1277 -invoke.cont19.i1284: ; preds = %invoke.cont17.i1274 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i848, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i847) - to label %invoke.cont21.i1286 unwind label %lpad20.i1285 +invoke.cont19.i1285: ; preds = %invoke.cont17.i1275 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i849, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp12.i848) + to label %invoke.cont21.i1287 unwind label %lpad20.i1286 -invoke.cont21.i1286: ; preds = %invoke.cont19.i1284 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i848) #22 - %376 = load ptr, ptr %ref.tmp12.i847, align 8 - %cmp.not.i.i62.i1287 = icmp eq ptr %376, null - br i1 %cmp.not.i.i62.i1287, label %_ZN7testing7MessageD2Ev.exit.i1291, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1288 +invoke.cont21.i1287: ; preds = %invoke.cont19.i1285 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i849) #22 + %376 = load ptr, ptr %ref.tmp12.i848, align 8 + %cmp.not.i.i62.i1288 = icmp eq ptr %376, null + br i1 %cmp.not.i.i62.i1288, label %_ZN7testing7MessageD2Ev.exit.i1292, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1289 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1288: ; preds = %invoke.cont21.i1286 - %vtable.i.i.i.i1289 = load ptr, ptr %376, align 8 - %vfn.i.i.i.i1290 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i1289, i64 1 - %377 = load ptr, ptr %vfn.i.i.i.i1290, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1289: ; preds = %invoke.cont21.i1287 + %vtable.i.i.i.i1290 = load ptr, ptr %376, align 8 + %vfn.i.i.i.i1291 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i1290, i64 1 + %377 = load ptr, ptr %vfn.i.i.i.i1291, align 8 call void %377(ptr noundef nonnull align 8 dereferenceable(128) %376) #22 - br label %_ZN7testing7MessageD2Ev.exit.i1291 + br label %_ZN7testing7MessageD2Ev.exit.i1292 -_ZN7testing7MessageD2Ev.exit.i1291: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1288, %invoke.cont21.i1286 - store ptr null, ptr %ref.tmp12.i847, align 8 - br label %if.end.i922 +_ZN7testing7MessageD2Ev.exit.i1292: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1289, %invoke.cont21.i1287 + store ptr null, ptr %ref.tmp12.i848, align 8 + br label %if.end.i923 -lpad13.i1266: ; preds = %if.else.i1265 +lpad13.i1267: ; preds = %if.else.i1266 %378 = landingpad { ptr, i32 } cleanup - br label %ehcleanup22.i1267 + br label %ehcleanup22.i1268 -lpad16.i1276: ; preds = %invoke.cont17.i1274 +lpad16.i1277: ; preds = %invoke.cont17.i1275 %379 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i1277 + br label %ehcleanup.i1278 -lpad20.i1285: ; preds = %invoke.cont19.i1284 +lpad20.i1286: ; preds = %invoke.cont19.i1285 %380 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i848) #22 - br label %ehcleanup.i1277 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp15.i849) #22 + br label %ehcleanup.i1278 -ehcleanup.i1277: ; preds = %lpad20.i1285, %lpad16.i1276 - %.pn.i1278 = phi { ptr, i32 } [ %380, %lpad20.i1285 ], [ %379, %lpad16.i1276 ] - %381 = load ptr, ptr %ref.tmp12.i847, align 8 - %cmp.not.i.i63.i1279 = icmp eq ptr %381, null - br i1 %cmp.not.i.i63.i1279, label %_ZN7testing7MessageD2Ev.exit67.i1283, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i1280 +ehcleanup.i1278: ; preds = %lpad20.i1286, %lpad16.i1277 + %.pn.i1279 = phi { ptr, i32 } [ %380, %lpad20.i1286 ], [ %379, %lpad16.i1277 ] + %381 = load ptr, ptr %ref.tmp12.i848, align 8 + %cmp.not.i.i63.i1280 = icmp eq ptr %381, null + br i1 %cmp.not.i.i63.i1280, label %_ZN7testing7MessageD2Ev.exit67.i1284, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i1281 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i1280: ; preds = %ehcleanup.i1277 - %vtable.i.i.i65.i1281 = load ptr, ptr %381, align 8 - %vfn.i.i.i66.i1282 = getelementptr inbounds ptr, ptr %vtable.i.i.i65.i1281, i64 1 - %382 = load ptr, ptr %vfn.i.i.i66.i1282, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i1281: ; preds = %ehcleanup.i1278 + %vtable.i.i.i65.i1282 = load ptr, ptr %381, align 8 + %vfn.i.i.i66.i1283 = getelementptr inbounds ptr, ptr %vtable.i.i.i65.i1282, i64 1 + %382 = load ptr, ptr %vfn.i.i.i66.i1283, align 8 call void %382(ptr noundef nonnull align 8 dereferenceable(128) %381) #22 - br label %_ZN7testing7MessageD2Ev.exit67.i1283 + br label %_ZN7testing7MessageD2Ev.exit67.i1284 -_ZN7testing7MessageD2Ev.exit67.i1283: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i1280, %ehcleanup.i1277 - store ptr null, ptr %ref.tmp12.i847, align 8 - br label %ehcleanup22.i1267 +_ZN7testing7MessageD2Ev.exit67.i1284: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i1281, %ehcleanup.i1278 + store ptr null, ptr %ref.tmp12.i848, align 8 + br label %ehcleanup22.i1268 -if.end.i922: ; preds = %_ZN7testing7MessageD2Ev.exit.i1291, %invoke.cont10.i920 - %383 = load ptr, ptr %message_.i.i.i1270, align 8 - %cmp.not.i.i68.i924 = icmp eq ptr %383, null - br i1 %cmp.not.i.i68.i924, label %invoke.cont26.i926, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i925 +if.end.i923: ; preds = %_ZN7testing7MessageD2Ev.exit.i1292, %invoke.cont10.i921 + %383 = load ptr, ptr %message_.i.i.i1271, align 8 + %cmp.not.i.i68.i925 = icmp eq ptr %383, null + br i1 %cmp.not.i.i68.i925, label %invoke.cont26.i927, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i926 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i925: ; preds = %if.end.i922 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i926: ; preds = %if.end.i923 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %383) #22 call void @_ZdlPv(ptr noundef nonnull %383) #23 - br label %invoke.cont26.i926 - -invoke.cont26.i926: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i925, %if.end.i922 - store ptr null, ptr %message_.i.i.i1270, align 8 - %384 = load i32, ptr %n.addr.i839, align 4 - %conv25.i927 = sext i32 %384 to i64 - %mul.i928 = shl nsw i64 %conv25.i927, 4 - store i64 %mul.i928, ptr %ref.tmp24.i850, align 8 - %array.val49.i929 = load i64, ptr %size_alloc_.i.i.i890, align 8 - %mul.i.i930 = shl i64 %array.val49.i929, 4 - store i64 %mul.i.i930, ptr %ref.tmp29.i851, align 8 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherImEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar23.i849, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24.i850, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29.i851) - to label %invoke.cont32.i931 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i916 - -invoke.cont32.i931: ; preds = %invoke.cont26.i926 - %385 = load i8, ptr %gtest_ar23.i849, align 8 + br label %invoke.cont26.i927 + +invoke.cont26.i927: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i926, %if.end.i923 + store ptr null, ptr %message_.i.i.i1271, align 8 + %384 = load i32, ptr %n.addr.i840, align 4 + %conv25.i928 = sext i32 %384 to i64 + %mul.i929 = shl nsw i64 %conv25.i928, 4 + store i64 %mul.i929, ptr %ref.tmp24.i851, align 8 + %array.val49.i930 = load i64, ptr %size_alloc_.i.i.i891, align 8 + %mul.i.i931 = shl i64 %array.val49.i930, 4 + store i64 %mul.i.i931, ptr %ref.tmp29.i852, align 8 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherImEclImEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar23.i850, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp24.i851, ptr noundef nonnull @.str.198, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp29.i852) + to label %invoke.cont32.i932 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i917 + +invoke.cont32.i932: ; preds = %invoke.cont26.i927 + %385 = load i8, ptr %gtest_ar23.i850, align 8 %386 = and i8 %385, 1 - %tobool.i69.not.i932 = icmp eq i8 %386, 0 - br i1 %tobool.i69.not.i932, label %if.else35.i1238, label %if.end48.i933 - -ehcleanup22.i1267: ; preds = %_ZN7testing7MessageD2Ev.exit67.i1283, %lpad13.i1266 - %.pn.pn.i1268 = phi { ptr, i32 } [ %.pn.i1278, %_ZN7testing7MessageD2Ev.exit67.i1283 ], [ %378, %lpad13.i1266 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i844) #22 - br label %ehcleanup253.i918 - -if.else35.i1238: ; preds = %invoke.cont32.i931 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i852) - to label %invoke.cont38.i1242 unwind label %lpad37.i1239 - -invoke.cont38.i1242: ; preds = %if.else35.i1238 - %387 = load ptr, ptr %message_.i.i70.i1243, align 8 - %cmp.i.i.not.i.i71.i1244 = icmp eq ptr %387, null - br i1 %cmp.i.i.not.i.i71.i1244, label %invoke.cont41.i1247, label %cond.true.i.i72.i1245 - -cond.true.i.i72.i1245: ; preds = %invoke.cont38.i1242 - %call4.i.i73.i1246 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %387) #22 - br label %invoke.cont41.i1247 - -invoke.cont41.i1247: ; preds = %cond.true.i.i72.i1245, %invoke.cont38.i1242 - %cond.i.i74.i1248 = phi ptr [ %call4.i.i73.i1246, %cond.true.i.i72.i1245 ], [ @.str.123, %invoke.cont38.i1242 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i853, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 262, ptr noundef %cond.i.i74.i1248) - to label %invoke.cont43.i1257 unwind label %lpad40.i1249 - -invoke.cont43.i1257: ; preds = %invoke.cont41.i1247 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i853, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i852) - to label %invoke.cont45.i1259 unwind label %lpad44.i1258 - -invoke.cont45.i1259: ; preds = %invoke.cont43.i1257 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i853) #22 - %388 = load ptr, ptr %ref.tmp36.i852, align 8 - %cmp.not.i.i76.i1260 = icmp eq ptr %388, null - br i1 %cmp.not.i.i76.i1260, label %_ZN7testing7MessageD2Ev.exit80.i1264, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i1261 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i1261: ; preds = %invoke.cont45.i1259 - %vtable.i.i.i78.i1262 = load ptr, ptr %388, align 8 - %vfn.i.i.i79.i1263 = getelementptr inbounds ptr, ptr %vtable.i.i.i78.i1262, i64 1 - %389 = load ptr, ptr %vfn.i.i.i79.i1263, align 8 + %tobool.i69.not.i933 = icmp eq i8 %386, 0 + br i1 %tobool.i69.not.i933, label %if.else35.i1239, label %if.end48.i934 + +ehcleanup22.i1268: ; preds = %_ZN7testing7MessageD2Ev.exit67.i1284, %lpad13.i1267 + %.pn.pn.i1269 = phi { ptr, i32 } [ %.pn.i1279, %_ZN7testing7MessageD2Ev.exit67.i1284 ], [ %378, %lpad13.i1267 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i845) #22 + br label %ehcleanup253.i919 + +if.else35.i1239: ; preds = %invoke.cont32.i932 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i853) + to label %invoke.cont38.i1243 unwind label %lpad37.i1240 + +invoke.cont38.i1243: ; preds = %if.else35.i1239 + %387 = load ptr, ptr %message_.i.i70.i1244, align 8 + %cmp.i.i.not.i.i71.i1245 = icmp eq ptr %387, null + br i1 %cmp.i.i.not.i.i71.i1245, label %invoke.cont41.i1248, label %cond.true.i.i72.i1246 + +cond.true.i.i72.i1246: ; preds = %invoke.cont38.i1243 + %call4.i.i73.i1247 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %387) #22 + br label %invoke.cont41.i1248 + +invoke.cont41.i1248: ; preds = %cond.true.i.i72.i1246, %invoke.cont38.i1243 + %cond.i.i74.i1249 = phi ptr [ %call4.i.i73.i1247, %cond.true.i.i72.i1246 ], [ @.str.123, %invoke.cont38.i1243 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i854, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 262, ptr noundef %cond.i.i74.i1249) + to label %invoke.cont43.i1258 unwind label %lpad40.i1250 + +invoke.cont43.i1258: ; preds = %invoke.cont41.i1248 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i854, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp36.i853) + to label %invoke.cont45.i1260 unwind label %lpad44.i1259 + +invoke.cont45.i1260: ; preds = %invoke.cont43.i1258 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i854) #22 + %388 = load ptr, ptr %ref.tmp36.i853, align 8 + %cmp.not.i.i76.i1261 = icmp eq ptr %388, null + br i1 %cmp.not.i.i76.i1261, label %_ZN7testing7MessageD2Ev.exit80.i1265, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i1262 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i1262: ; preds = %invoke.cont45.i1260 + %vtable.i.i.i78.i1263 = load ptr, ptr %388, align 8 + %vfn.i.i.i79.i1264 = getelementptr inbounds ptr, ptr %vtable.i.i.i78.i1263, i64 1 + %389 = load ptr, ptr %vfn.i.i.i79.i1264, align 8 call void %389(ptr noundef nonnull align 8 dereferenceable(128) %388) #22 - br label %_ZN7testing7MessageD2Ev.exit80.i1264 + br label %_ZN7testing7MessageD2Ev.exit80.i1265 -_ZN7testing7MessageD2Ev.exit80.i1264: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i1261, %invoke.cont45.i1259 - store ptr null, ptr %ref.tmp36.i852, align 8 - br label %if.end48.i933 +_ZN7testing7MessageD2Ev.exit80.i1265: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i77.i1262, %invoke.cont45.i1260 + store ptr null, ptr %ref.tmp36.i853, align 8 + br label %if.end48.i934 -lpad37.i1239: ; preds = %if.else35.i1238 +lpad37.i1240: ; preds = %if.else35.i1239 %390 = landingpad { ptr, i32 } cleanup - br label %ehcleanup49.i1240 + br label %ehcleanup49.i1241 -lpad40.i1249: ; preds = %invoke.cont41.i1247 +lpad40.i1250: ; preds = %invoke.cont41.i1248 %391 = landingpad { ptr, i32 } cleanup - br label %ehcleanup47.i1250 + br label %ehcleanup47.i1251 -lpad44.i1258: ; preds = %invoke.cont43.i1257 +lpad44.i1259: ; preds = %invoke.cont43.i1258 %392 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i853) #22 - br label %ehcleanup47.i1250 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp39.i854) #22 + br label %ehcleanup47.i1251 -ehcleanup47.i1250: ; preds = %lpad44.i1258, %lpad40.i1249 - %.pn21.i1251 = phi { ptr, i32 } [ %392, %lpad44.i1258 ], [ %391, %lpad40.i1249 ] - %393 = load ptr, ptr %ref.tmp36.i852, align 8 - %cmp.not.i.i81.i1252 = icmp eq ptr %393, null - br i1 %cmp.not.i.i81.i1252, label %_ZN7testing7MessageD2Ev.exit85.i1256, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i1253 +ehcleanup47.i1251: ; preds = %lpad44.i1259, %lpad40.i1250 + %.pn21.i1252 = phi { ptr, i32 } [ %392, %lpad44.i1259 ], [ %391, %lpad40.i1250 ] + %393 = load ptr, ptr %ref.tmp36.i853, align 8 + %cmp.not.i.i81.i1253 = icmp eq ptr %393, null + br i1 %cmp.not.i.i81.i1253, label %_ZN7testing7MessageD2Ev.exit85.i1257, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i1254 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i1253: ; preds = %ehcleanup47.i1250 - %vtable.i.i.i83.i1254 = load ptr, ptr %393, align 8 - %vfn.i.i.i84.i1255 = getelementptr inbounds ptr, ptr %vtable.i.i.i83.i1254, i64 1 - %394 = load ptr, ptr %vfn.i.i.i84.i1255, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i1254: ; preds = %ehcleanup47.i1251 + %vtable.i.i.i83.i1255 = load ptr, ptr %393, align 8 + %vfn.i.i.i84.i1256 = getelementptr inbounds ptr, ptr %vtable.i.i.i83.i1255, i64 1 + %394 = load ptr, ptr %vfn.i.i.i84.i1256, align 8 call void %394(ptr noundef nonnull align 8 dereferenceable(128) %393) #22 - br label %_ZN7testing7MessageD2Ev.exit85.i1256 + br label %_ZN7testing7MessageD2Ev.exit85.i1257 -_ZN7testing7MessageD2Ev.exit85.i1256: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i1253, %ehcleanup47.i1250 - store ptr null, ptr %ref.tmp36.i852, align 8 - br label %ehcleanup49.i1240 +_ZN7testing7MessageD2Ev.exit85.i1257: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82.i1254, %ehcleanup47.i1251 + store ptr null, ptr %ref.tmp36.i853, align 8 + br label %ehcleanup49.i1241 -if.end48.i933: ; preds = %_ZN7testing7MessageD2Ev.exit80.i1264, %invoke.cont32.i931 - %395 = load ptr, ptr %message_.i.i70.i1243, align 8 - %cmp.not.i.i87.i935 = icmp eq ptr %395, null - br i1 %cmp.not.i.i87.i935, label %invoke.cont58.i937, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i936 +if.end48.i934: ; preds = %_ZN7testing7MessageD2Ev.exit80.i1265, %invoke.cont32.i932 + %395 = load ptr, ptr %message_.i.i70.i1244, align 8 + %cmp.not.i.i87.i936 = icmp eq ptr %395, null + br i1 %cmp.not.i.i87.i936, label %invoke.cont58.i938, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i937 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i936: ; preds = %if.end48.i933 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i937: ; preds = %if.end48.i934 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %395) #22 call void @_ZdlPv(ptr noundef nonnull %395) #23 - br label %invoke.cont58.i937 - -invoke.cont58.i937: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i936, %if.end48.i933 - store ptr null, ptr %message_.i.i70.i1243, align 8 - %array.val53.i938 = load i64, ptr %size_alloc_.i.i.i890, align 8 - %array.val54.i939 = load ptr, ptr %data_.i2.i.i901, align 8 - %add.ptr.i.i940 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i939, i64 %array.val53.i938 - %396 = load i32, ptr %n.addr.i839, align 4 - %idx.ext.i941 = sext i32 %396 to i64 - %add.ptr.i942 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i939, i64 %idx.ext.i941 - store ptr %add.ptr.i942, ptr %ref.tmp57.i855, align 8 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIPN12_GLOBAL__N_118ConstructionTesterEEclIS4_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar50.i854, ptr %add.ptr.i.i940, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp57.i855) - to label %invoke.cont60.i943 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i916 - -invoke.cont60.i943: ; preds = %invoke.cont58.i937 - %397 = load i8, ptr %gtest_ar50.i854, align 8 + br label %invoke.cont58.i938 + +invoke.cont58.i938: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i937, %if.end48.i934 + store ptr null, ptr %message_.i.i70.i1244, align 8 + %array.val53.i939 = load i64, ptr %size_alloc_.i.i.i891, align 8 + %array.val54.i940 = load ptr, ptr %data_.i2.i.i902, align 8 + %add.ptr.i.i941 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i940, i64 %array.val53.i939 + %396 = load i32, ptr %n.addr.i840, align 4 + %idx.ext.i942 = sext i32 %396 to i64 + %add.ptr.i943 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val54.i940, i64 %idx.ext.i942 + store ptr %add.ptr.i943, ptr %ref.tmp57.i856, align 8 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherIPN12_GLOBAL__N_118ConstructionTesterEEclIS4_EENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar50.i855, ptr %add.ptr.i.i941, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp57.i856) + to label %invoke.cont60.i944 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i917 + +invoke.cont60.i944: ; preds = %invoke.cont58.i938 + %397 = load i8, ptr %gtest_ar50.i855, align 8 %398 = and i8 %397, 1 - %tobool.i90.not.i944 = icmp eq i8 %398, 0 - br i1 %tobool.i90.not.i944, label %if.else63.i1211, label %if.end76.i945 - -ehcleanup49.i1240: ; preds = %_ZN7testing7MessageD2Ev.exit85.i1256, %lpad37.i1239 - %.pn21.pn.i1241 = phi { ptr, i32 } [ %.pn21.i1251, %_ZN7testing7MessageD2Ev.exit85.i1256 ], [ %390, %lpad37.i1239 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar23.i849) #22 - br label %ehcleanup253.i918 - -if.else63.i1211: ; preds = %invoke.cont60.i943 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i856) - to label %invoke.cont66.i1215 unwind label %lpad65.i1212 - -invoke.cont66.i1215: ; preds = %if.else63.i1211 - %399 = load ptr, ptr %message_.i.i91.i1216, align 8 - %cmp.i.i.not.i.i92.i1217 = icmp eq ptr %399, null - br i1 %cmp.i.i.not.i.i92.i1217, label %invoke.cont69.i1220, label %cond.true.i.i93.i1218 - -cond.true.i.i93.i1218: ; preds = %invoke.cont66.i1215 - %call4.i.i94.i1219 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %399) #22 - br label %invoke.cont69.i1220 - -invoke.cont69.i1220: ; preds = %cond.true.i.i93.i1218, %invoke.cont66.i1215 - %cond.i.i95.i1221 = phi ptr [ %call4.i.i94.i1219, %cond.true.i.i93.i1218 ], [ @.str.123, %invoke.cont66.i1215 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i857, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 263, ptr noundef %cond.i.i95.i1221) - to label %invoke.cont71.i1230 unwind label %lpad68.i1222 - -invoke.cont71.i1230: ; preds = %invoke.cont69.i1220 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i857, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i856) - to label %invoke.cont73.i1232 unwind label %lpad72.i1231 - -invoke.cont73.i1232: ; preds = %invoke.cont71.i1230 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i857) #22 - %400 = load ptr, ptr %ref.tmp64.i856, align 8 - %cmp.not.i.i97.i1233 = icmp eq ptr %400, null - br i1 %cmp.not.i.i97.i1233, label %_ZN7testing7MessageD2Ev.exit101.i1237, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i1234 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i1234: ; preds = %invoke.cont73.i1232 - %vtable.i.i.i99.i1235 = load ptr, ptr %400, align 8 - %vfn.i.i.i100.i1236 = getelementptr inbounds ptr, ptr %vtable.i.i.i99.i1235, i64 1 - %401 = load ptr, ptr %vfn.i.i.i100.i1236, align 8 + %tobool.i90.not.i945 = icmp eq i8 %398, 0 + br i1 %tobool.i90.not.i945, label %if.else63.i1212, label %if.end76.i946 + +ehcleanup49.i1241: ; preds = %_ZN7testing7MessageD2Ev.exit85.i1257, %lpad37.i1240 + %.pn21.pn.i1242 = phi { ptr, i32 } [ %.pn21.i1252, %_ZN7testing7MessageD2Ev.exit85.i1257 ], [ %390, %lpad37.i1240 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar23.i850) #22 + br label %ehcleanup253.i919 + +if.else63.i1212: ; preds = %invoke.cont60.i944 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i857) + to label %invoke.cont66.i1216 unwind label %lpad65.i1213 + +invoke.cont66.i1216: ; preds = %if.else63.i1212 + %399 = load ptr, ptr %message_.i.i91.i1217, align 8 + %cmp.i.i.not.i.i92.i1218 = icmp eq ptr %399, null + br i1 %cmp.i.i.not.i.i92.i1218, label %invoke.cont69.i1221, label %cond.true.i.i93.i1219 + +cond.true.i.i93.i1219: ; preds = %invoke.cont66.i1216 + %call4.i.i94.i1220 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %399) #22 + br label %invoke.cont69.i1221 + +invoke.cont69.i1221: ; preds = %cond.true.i.i93.i1219, %invoke.cont66.i1216 + %cond.i.i95.i1222 = phi ptr [ %call4.i.i94.i1220, %cond.true.i.i93.i1219 ], [ @.str.123, %invoke.cont66.i1216 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i858, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 263, ptr noundef %cond.i.i95.i1222) + to label %invoke.cont71.i1231 unwind label %lpad68.i1223 + +invoke.cont71.i1231: ; preds = %invoke.cont69.i1221 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i858, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i857) + to label %invoke.cont73.i1233 unwind label %lpad72.i1232 + +invoke.cont73.i1233: ; preds = %invoke.cont71.i1231 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i858) #22 + %400 = load ptr, ptr %ref.tmp64.i857, align 8 + %cmp.not.i.i97.i1234 = icmp eq ptr %400, null + br i1 %cmp.not.i.i97.i1234, label %_ZN7testing7MessageD2Ev.exit101.i1238, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i1235 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i1235: ; preds = %invoke.cont73.i1233 + %vtable.i.i.i99.i1236 = load ptr, ptr %400, align 8 + %vfn.i.i.i100.i1237 = getelementptr inbounds ptr, ptr %vtable.i.i.i99.i1236, i64 1 + %401 = load ptr, ptr %vfn.i.i.i100.i1237, align 8 call void %401(ptr noundef nonnull align 8 dereferenceable(128) %400) #22 - br label %_ZN7testing7MessageD2Ev.exit101.i1237 + br label %_ZN7testing7MessageD2Ev.exit101.i1238 -_ZN7testing7MessageD2Ev.exit101.i1237: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i1234, %invoke.cont73.i1232 - store ptr null, ptr %ref.tmp64.i856, align 8 - br label %if.end76.i945 +_ZN7testing7MessageD2Ev.exit101.i1238: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i98.i1235, %invoke.cont73.i1233 + store ptr null, ptr %ref.tmp64.i857, align 8 + br label %if.end76.i946 -lpad65.i1212: ; preds = %if.else63.i1211 +lpad65.i1213: ; preds = %if.else63.i1212 %402 = landingpad { ptr, i32 } cleanup - br label %ehcleanup77.i1213 + br label %ehcleanup77.i1214 -lpad68.i1222: ; preds = %invoke.cont69.i1220 +lpad68.i1223: ; preds = %invoke.cont69.i1221 %403 = landingpad { ptr, i32 } cleanup - br label %ehcleanup75.i1223 + br label %ehcleanup75.i1224 -lpad72.i1231: ; preds = %invoke.cont71.i1230 +lpad72.i1232: ; preds = %invoke.cont71.i1231 %404 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i857) #22 - br label %ehcleanup75.i1223 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp67.i858) #22 + br label %ehcleanup75.i1224 -ehcleanup75.i1223: ; preds = %lpad72.i1231, %lpad68.i1222 - %.pn24.i1224 = phi { ptr, i32 } [ %404, %lpad72.i1231 ], [ %403, %lpad68.i1222 ] - %405 = load ptr, ptr %ref.tmp64.i856, align 8 - %cmp.not.i.i102.i1225 = icmp eq ptr %405, null - br i1 %cmp.not.i.i102.i1225, label %_ZN7testing7MessageD2Ev.exit106.i1229, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i1226 +ehcleanup75.i1224: ; preds = %lpad72.i1232, %lpad68.i1223 + %.pn24.i1225 = phi { ptr, i32 } [ %404, %lpad72.i1232 ], [ %403, %lpad68.i1223 ] + %405 = load ptr, ptr %ref.tmp64.i857, align 8 + %cmp.not.i.i102.i1226 = icmp eq ptr %405, null + br i1 %cmp.not.i.i102.i1226, label %_ZN7testing7MessageD2Ev.exit106.i1230, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i1227 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i1226: ; preds = %ehcleanup75.i1223 - %vtable.i.i.i104.i1227 = load ptr, ptr %405, align 8 - %vfn.i.i.i105.i1228 = getelementptr inbounds ptr, ptr %vtable.i.i.i104.i1227, i64 1 - %406 = load ptr, ptr %vfn.i.i.i105.i1228, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i1227: ; preds = %ehcleanup75.i1224 + %vtable.i.i.i104.i1228 = load ptr, ptr %405, align 8 + %vfn.i.i.i105.i1229 = getelementptr inbounds ptr, ptr %vtable.i.i.i104.i1228, i64 1 + %406 = load ptr, ptr %vfn.i.i.i105.i1229, align 8 call void %406(ptr noundef nonnull align 8 dereferenceable(128) %405) #22 - br label %_ZN7testing7MessageD2Ev.exit106.i1229 + br label %_ZN7testing7MessageD2Ev.exit106.i1230 -_ZN7testing7MessageD2Ev.exit106.i1229: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i1226, %ehcleanup75.i1223 - store ptr null, ptr %ref.tmp64.i856, align 8 - br label %ehcleanup77.i1213 +_ZN7testing7MessageD2Ev.exit106.i1230: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i1227, %ehcleanup75.i1224 + store ptr null, ptr %ref.tmp64.i857, align 8 + br label %ehcleanup77.i1214 -if.end76.i945: ; preds = %_ZN7testing7MessageD2Ev.exit101.i1237, %invoke.cont60.i943 - %407 = load ptr, ptr %message_.i.i91.i1216, align 8 - %cmp.not.i.i108.i947 = icmp eq ptr %407, null - br i1 %cmp.not.i.i108.i947, label %_ZN7testing15AssertionResultD2Ev.exit110.i949, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i948 +if.end76.i946: ; preds = %_ZN7testing7MessageD2Ev.exit101.i1238, %invoke.cont60.i944 + %407 = load ptr, ptr %message_.i.i91.i1217, align 8 + %cmp.not.i.i108.i948 = icmp eq ptr %407, null + br i1 %cmp.not.i.i108.i948, label %_ZN7testing15AssertionResultD2Ev.exit110.i950, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i949 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i948: ; preds = %if.end76.i945 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i949: ; preds = %if.end76.i946 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %407) #22 call void @_ZdlPv(ptr noundef nonnull %407) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit110.i949 - -_ZN7testing15AssertionResultD2Ev.exit110.i949: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i948, %if.end76.i945 - store ptr null, ptr %message_.i.i91.i1216, align 8 - %408 = load i32, ptr %n.addr.i839, align 4 - store i32 %408, ptr %ref.tmp82.i859, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar81.i858, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp82.i859, ptr noundef nonnull @.str.200, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE) - to label %invoke.cont86.i950 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i916 - -ehcleanup77.i1213: ; preds = %_ZN7testing7MessageD2Ev.exit106.i1229, %lpad65.i1212 - %.pn24.pn.i1214 = phi { ptr, i32 } [ %.pn24.i1224, %_ZN7testing7MessageD2Ev.exit106.i1229 ], [ %402, %lpad65.i1212 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50.i854) #22 - br label %ehcleanup253.i918 - -invoke.cont86.i950: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i949 - %409 = load i8, ptr %gtest_ar81.i858, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit110.i950 + +_ZN7testing15AssertionResultD2Ev.exit110.i950: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109.i949, %if.end76.i946 + store ptr null, ptr %message_.i.i91.i1217, align 8 + %408 = load i32, ptr %n.addr.i840, align 4 + store i32 %408, ptr %ref.tmp82.i860, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar81.i859, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp82.i860, ptr noundef nonnull @.str.200, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE) + to label %invoke.cont86.i951 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp.i917 + +ehcleanup77.i1214: ; preds = %_ZN7testing7MessageD2Ev.exit106.i1230, %lpad65.i1213 + %.pn24.pn.i1215 = phi { ptr, i32 } [ %.pn24.i1225, %_ZN7testing7MessageD2Ev.exit106.i1230 ], [ %402, %lpad65.i1213 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar50.i855) #22 + br label %ehcleanup253.i919 + +invoke.cont86.i951: ; preds = %_ZN7testing15AssertionResultD2Ev.exit110.i950 + %409 = load i8, ptr %gtest_ar81.i859, align 8 %410 = and i8 %409, 1 - %tobool.i111.not.i951 = icmp eq i8 %410, 0 - br i1 %tobool.i111.not.i951, label %if.else89.i1184, label %if.end102.i952 - -if.else89.i1184: ; preds = %invoke.cont86.i950 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i860) - to label %invoke.cont92.i1188 unwind label %lpad91.i1185 - -invoke.cont92.i1188: ; preds = %if.else89.i1184 - %411 = load ptr, ptr %message_.i.i112.i1189, align 8 - %cmp.i.i.not.i.i113.i1190 = icmp eq ptr %411, null - br i1 %cmp.i.i.not.i.i113.i1190, label %invoke.cont95.i1193, label %cond.true.i.i114.i1191 - -cond.true.i.i114.i1191: ; preds = %invoke.cont92.i1188 - %call4.i.i115.i1192 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %411) #22 - br label %invoke.cont95.i1193 - -invoke.cont95.i1193: ; preds = %cond.true.i.i114.i1191, %invoke.cont92.i1188 - %cond.i.i116.i1194 = phi ptr [ %call4.i.i115.i1192, %cond.true.i.i114.i1191 ], [ @.str.123, %invoke.cont92.i1188 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i861, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 270, ptr noundef %cond.i.i116.i1194) - to label %invoke.cont97.i1203 unwind label %lpad94.i1195 - -invoke.cont97.i1203: ; preds = %invoke.cont95.i1193 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i861, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i860) - to label %invoke.cont99.i1205 unwind label %lpad98.i1204 - -invoke.cont99.i1205: ; preds = %invoke.cont97.i1203 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i861) #22 - %412 = load ptr, ptr %ref.tmp90.i860, align 8 - %cmp.not.i.i118.i1206 = icmp eq ptr %412, null - br i1 %cmp.not.i.i118.i1206, label %_ZN7testing7MessageD2Ev.exit122.i1210, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i1207 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i1207: ; preds = %invoke.cont99.i1205 - %vtable.i.i.i120.i1208 = load ptr, ptr %412, align 8 - %vfn.i.i.i121.i1209 = getelementptr inbounds ptr, ptr %vtable.i.i.i120.i1208, i64 1 - %413 = load ptr, ptr %vfn.i.i.i121.i1209, align 8 + %tobool.i111.not.i952 = icmp eq i8 %410, 0 + br i1 %tobool.i111.not.i952, label %if.else89.i1185, label %if.end102.i953 + +if.else89.i1185: ; preds = %invoke.cont86.i951 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i861) + to label %invoke.cont92.i1189 unwind label %lpad91.i1186 + +invoke.cont92.i1189: ; preds = %if.else89.i1185 + %411 = load ptr, ptr %message_.i.i112.i1190, align 8 + %cmp.i.i.not.i.i113.i1191 = icmp eq ptr %411, null + br i1 %cmp.i.i.not.i.i113.i1191, label %invoke.cont95.i1194, label %cond.true.i.i114.i1192 + +cond.true.i.i114.i1192: ; preds = %invoke.cont92.i1189 + %call4.i.i115.i1193 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %411) #22 + br label %invoke.cont95.i1194 + +invoke.cont95.i1194: ; preds = %cond.true.i.i114.i1192, %invoke.cont92.i1189 + %cond.i.i116.i1195 = phi ptr [ %call4.i.i115.i1193, %cond.true.i.i114.i1192 ], [ @.str.123, %invoke.cont92.i1189 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i862, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 270, ptr noundef %cond.i.i116.i1195) + to label %invoke.cont97.i1204 unwind label %lpad94.i1196 + +invoke.cont97.i1204: ; preds = %invoke.cont95.i1194 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i862, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp90.i861) + to label %invoke.cont99.i1206 unwind label %lpad98.i1205 + +invoke.cont99.i1206: ; preds = %invoke.cont97.i1204 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i862) #22 + %412 = load ptr, ptr %ref.tmp90.i861, align 8 + %cmp.not.i.i118.i1207 = icmp eq ptr %412, null + br i1 %cmp.not.i.i118.i1207, label %_ZN7testing7MessageD2Ev.exit122.i1211, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i1208 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i1208: ; preds = %invoke.cont99.i1206 + %vtable.i.i.i120.i1209 = load ptr, ptr %412, align 8 + %vfn.i.i.i121.i1210 = getelementptr inbounds ptr, ptr %vtable.i.i.i120.i1209, i64 1 + %413 = load ptr, ptr %vfn.i.i.i121.i1210, align 8 call void %413(ptr noundef nonnull align 8 dereferenceable(128) %412) #22 - br label %_ZN7testing7MessageD2Ev.exit122.i1210 + br label %_ZN7testing7MessageD2Ev.exit122.i1211 -_ZN7testing7MessageD2Ev.exit122.i1210: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i1207, %invoke.cont99.i1205 - store ptr null, ptr %ref.tmp90.i860, align 8 - br label %if.end102.i952 +_ZN7testing7MessageD2Ev.exit122.i1211: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i119.i1208, %invoke.cont99.i1206 + store ptr null, ptr %ref.tmp90.i861, align 8 + br label %if.end102.i953 -lpad91.i1185: ; preds = %if.else89.i1184 +lpad91.i1186: ; preds = %if.else89.i1185 %414 = landingpad { ptr, i32 } cleanup - br label %ehcleanup103.i1186 + br label %ehcleanup103.i1187 -lpad94.i1195: ; preds = %invoke.cont95.i1193 +lpad94.i1196: ; preds = %invoke.cont95.i1194 %415 = landingpad { ptr, i32 } cleanup - br label %ehcleanup101.i1196 + br label %ehcleanup101.i1197 -lpad98.i1204: ; preds = %invoke.cont97.i1203 +lpad98.i1205: ; preds = %invoke.cont97.i1204 %416 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i861) #22 - br label %ehcleanup101.i1196 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp93.i862) #22 + br label %ehcleanup101.i1197 -ehcleanup101.i1196: ; preds = %lpad98.i1204, %lpad94.i1195 - %.pn27.i1197 = phi { ptr, i32 } [ %416, %lpad98.i1204 ], [ %415, %lpad94.i1195 ] - %417 = load ptr, ptr %ref.tmp90.i860, align 8 - %cmp.not.i.i123.i1198 = icmp eq ptr %417, null - br i1 %cmp.not.i.i123.i1198, label %_ZN7testing7MessageD2Ev.exit127.i1202, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i1199 +ehcleanup101.i1197: ; preds = %lpad98.i1205, %lpad94.i1196 + %.pn27.i1198 = phi { ptr, i32 } [ %416, %lpad98.i1205 ], [ %415, %lpad94.i1196 ] + %417 = load ptr, ptr %ref.tmp90.i861, align 8 + %cmp.not.i.i123.i1199 = icmp eq ptr %417, null + br i1 %cmp.not.i.i123.i1199, label %_ZN7testing7MessageD2Ev.exit127.i1203, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i1200 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i1199: ; preds = %ehcleanup101.i1196 - %vtable.i.i.i125.i1200 = load ptr, ptr %417, align 8 - %vfn.i.i.i126.i1201 = getelementptr inbounds ptr, ptr %vtable.i.i.i125.i1200, i64 1 - %418 = load ptr, ptr %vfn.i.i.i126.i1201, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i1200: ; preds = %ehcleanup101.i1197 + %vtable.i.i.i125.i1201 = load ptr, ptr %417, align 8 + %vfn.i.i.i126.i1202 = getelementptr inbounds ptr, ptr %vtable.i.i.i125.i1201, i64 1 + %418 = load ptr, ptr %vfn.i.i.i126.i1202, align 8 call void %418(ptr noundef nonnull align 8 dereferenceable(128) %417) #22 - br label %_ZN7testing7MessageD2Ev.exit127.i1202 + br label %_ZN7testing7MessageD2Ev.exit127.i1203 -_ZN7testing7MessageD2Ev.exit127.i1202: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i1199, %ehcleanup101.i1196 - store ptr null, ptr %ref.tmp90.i860, align 8 - br label %ehcleanup103.i1186 +_ZN7testing7MessageD2Ev.exit127.i1203: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i124.i1200, %ehcleanup101.i1197 + store ptr null, ptr %ref.tmp90.i861, align 8 + br label %ehcleanup103.i1187 -if.end102.i952: ; preds = %_ZN7testing7MessageD2Ev.exit122.i1210, %invoke.cont86.i950 - %419 = load ptr, ptr %message_.i.i112.i1189, align 8 - %cmp.not.i.i129.i954 = icmp eq ptr %419, null - br i1 %cmp.not.i.i129.i954, label %_ZN7testing15AssertionResultD2Ev.exit131.i956, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i955 +if.end102.i953: ; preds = %_ZN7testing7MessageD2Ev.exit122.i1211, %invoke.cont86.i951 + %419 = load ptr, ptr %message_.i.i112.i1190, align 8 + %cmp.not.i.i129.i955 = icmp eq ptr %419, null + br i1 %cmp.not.i.i129.i955, label %_ZN7testing15AssertionResultD2Ev.exit131.i957, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i956 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i955: ; preds = %if.end102.i952 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i956: ; preds = %if.end102.i953 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %419) #22 call void @_ZdlPv(ptr noundef nonnull %419) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit131.i956 - -_ZN7testing15AssertionResultD2Ev.exit131.i956: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i955, %if.end102.i952 - store ptr null, ptr %message_.i.i112.i1189, align 8 - %420 = load i32, ptr %n.addr.i839, align 4 - %cmp106247.i957 = icmp sgt i32 %420, 0 - br i1 %cmp106247.i957, label %invoke.cont109.i1012, label %for.end252.i958 - -for.cond115.preheader.i1018: ; preds = %invoke.cont109.i1012 - %cmp116249.i1019 = icmp sgt i32 %422, 0 - br i1 %cmp116249.i1019, label %invoke.cont125.i1023, label %for.end252.i958 - -invoke.cont109.i1012: ; preds = %_ZN7testing15AssertionResultD2Ev.exit131.i956, %invoke.cont109.i1012 - %indvars.iv.i1013 = phi i64 [ %indvars.iv.next.i1016, %invoke.cont109.i1012 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit131.i956 ] - %array.val57.i1014 = load ptr, ptr %data_.i2.i.i901, align 8 - %value_.i.i1015 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val57.i1014, i64 %indvars.iv.i1013, i32 1 - %421 = trunc i64 %indvars.iv.i1013 to i32 - store i32 %421, ptr %value_.i.i1015, align 8 - %indvars.iv.next.i1016 = add nuw nsw i64 %indvars.iv.i1013, 1 - %422 = load i32, ptr %n.addr.i839, align 4 + br label %_ZN7testing15AssertionResultD2Ev.exit131.i957 + +_ZN7testing15AssertionResultD2Ev.exit131.i957: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i130.i956, %if.end102.i953 + store ptr null, ptr %message_.i.i112.i1190, align 8 + %420 = load i32, ptr %n.addr.i840, align 4 + %cmp106247.i958 = icmp sgt i32 %420, 0 + br i1 %cmp106247.i958, label %invoke.cont109.i1013, label %for.end252.i959 + +for.cond115.preheader.i1019: ; preds = %invoke.cont109.i1013 + %cmp116249.i1020 = icmp sgt i32 %422, 0 + br i1 %cmp116249.i1020, label %invoke.cont125.i1024, label %for.end252.i959 + +invoke.cont109.i1013: ; preds = %_ZN7testing15AssertionResultD2Ev.exit131.i957, %invoke.cont109.i1013 + %indvars.iv.i1014 = phi i64 [ %indvars.iv.next.i1017, %invoke.cont109.i1013 ], [ 0, %_ZN7testing15AssertionResultD2Ev.exit131.i957 ] + %array.val57.i1015 = load ptr, ptr %data_.i2.i.i902, align 8 + %value_.i.i1016 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val57.i1015, i64 %indvars.iv.i1014, i32 1 + %421 = trunc i64 %indvars.iv.i1014 to i32 + store i32 %421, ptr %value_.i.i1016, align 8 + %indvars.iv.next.i1017 = add nuw nsw i64 %indvars.iv.i1014, 1 + %422 = load i32, ptr %n.addr.i840, align 4 %423 = sext i32 %422 to i64 - %cmp106.i1017 = icmp slt i64 %indvars.iv.next.i1016, %423 - br i1 %cmp106.i1017, label %invoke.cont109.i1012, label %for.cond115.preheader.i1018, !llvm.loop !377 - -ehcleanup103.i1186: ; preds = %_ZN7testing7MessageD2Ev.exit127.i1202, %lpad91.i1185 - %.pn27.pn.i1187 = phi { ptr, i32 } [ %.pn27.i1197, %_ZN7testing7MessageD2Ev.exit127.i1202 ], [ %414, %lpad91.i1185 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar81.i858) #22 - br label %ehcleanup253.i918 - -for.cond177.preheader.i1045: ; preds = %_ZN7testing15AssertionResultD2Ev.exit175.i1042 - %cmp178251.i1046 = icmp sgt i32 %449, 0 - br i1 %cmp178251.i1046, label %for.body179.i1047, label %for.end252.i958 - -invoke.cont125.i1023: ; preds = %for.cond115.preheader.i1018, %_ZN7testing15AssertionResultD2Ev.exit175.i1042 - %indvars.iv256.i1024 = phi i64 [ %indvars.iv.next257.i1043, %_ZN7testing15AssertionResultD2Ev.exit175.i1042 ], [ 0, %for.cond115.preheader.i1018 ] - %424 = trunc i64 %indvars.iv256.i1024 to i32 - store i32 %424, ptr %ref.tmp119.i863, align 4 - %array.val58.i1025 = load ptr, ptr %data_.i2.i.i901, align 8 - %425 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val58.i1025, i64 %indvars.iv256.i1024, i32 1 - %call126.val.i1026 = load i32, ptr %425, align 8 - store i32 %call126.val.i1026, ptr %ref.tmp123.i864, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar118.i862, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp119.i863, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp123.i864) - to label %invoke.cont128.i1029 unwind label %lpad5.loopexit.split-lp.loopexit.i1027 - -invoke.cont128.i1029: ; preds = %invoke.cont125.i1023 - %426 = load i8, ptr %gtest_ar118.i862, align 8 + %cmp106.i1018 = icmp slt i64 %indvars.iv.next.i1017, %423 + br i1 %cmp106.i1018, label %invoke.cont109.i1013, label %for.cond115.preheader.i1019, !llvm.loop !377 + +ehcleanup103.i1187: ; preds = %_ZN7testing7MessageD2Ev.exit127.i1203, %lpad91.i1186 + %.pn27.pn.i1188 = phi { ptr, i32 } [ %.pn27.i1198, %_ZN7testing7MessageD2Ev.exit127.i1203 ], [ %414, %lpad91.i1186 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar81.i859) #22 + br label %ehcleanup253.i919 + +for.cond177.preheader.i1046: ; preds = %_ZN7testing15AssertionResultD2Ev.exit175.i1043 + %cmp178251.i1047 = icmp sgt i32 %449, 0 + br i1 %cmp178251.i1047, label %for.body179.i1048, label %for.end252.i959 + +invoke.cont125.i1024: ; preds = %for.cond115.preheader.i1019, %_ZN7testing15AssertionResultD2Ev.exit175.i1043 + %indvars.iv256.i1025 = phi i64 [ %indvars.iv.next257.i1044, %_ZN7testing15AssertionResultD2Ev.exit175.i1043 ], [ 0, %for.cond115.preheader.i1019 ] + %424 = trunc i64 %indvars.iv256.i1025 to i32 + store i32 %424, ptr %ref.tmp119.i864, align 4 + %array.val58.i1026 = load ptr, ptr %data_.i2.i.i902, align 8 + %425 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val58.i1026, i64 %indvars.iv256.i1025, i32 1 + %call126.val.i1027 = load i32, ptr %425, align 8 + store i32 %call126.val.i1027, ptr %ref.tmp123.i865, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar118.i863, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp119.i864, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp123.i865) + to label %invoke.cont128.i1030 unwind label %lpad5.loopexit.split-lp.loopexit.i1028 + +invoke.cont128.i1030: ; preds = %invoke.cont125.i1024 + %426 = load i8, ptr %gtest_ar118.i863, align 8 %427 = and i8 %426, 1 - %tobool.i134.not.i1030 = icmp eq i8 %427, 0 - br i1 %tobool.i134.not.i1030, label %if.else131.i1158, label %if.end144.i1031 - -if.else131.i1158: ; preds = %invoke.cont128.i1029 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i865) - to label %invoke.cont134.i1162 unwind label %lpad133.i1159 - -invoke.cont134.i1162: ; preds = %if.else131.i1158 - %428 = load ptr, ptr %message_.i.i135.i1021, align 8 - %cmp.i.i.not.i.i136.i1163 = icmp eq ptr %428, null - br i1 %cmp.i.i.not.i.i136.i1163, label %invoke.cont137.i1166, label %cond.true.i.i137.i1164 - -cond.true.i.i137.i1164: ; preds = %invoke.cont134.i1162 - %call4.i.i138.i1165 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %428) #22 - br label %invoke.cont137.i1166 - -invoke.cont137.i1166: ; preds = %cond.true.i.i137.i1164, %invoke.cont134.i1162 - %cond.i.i139.i1167 = phi ptr [ %call4.i.i138.i1165, %cond.true.i.i137.i1164 ], [ @.str.123, %invoke.cont134.i1162 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i866, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 277, ptr noundef %cond.i.i139.i1167) - to label %invoke.cont139.i1176 unwind label %lpad136.i1168 - -invoke.cont139.i1176: ; preds = %invoke.cont137.i1166 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i866, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i865) - to label %invoke.cont141.i1178 unwind label %lpad140.i1177 - -invoke.cont141.i1178: ; preds = %invoke.cont139.i1176 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i866) #22 - %429 = load ptr, ptr %ref.tmp132.i865, align 8 - %cmp.not.i.i141.i1179 = icmp eq ptr %429, null - br i1 %cmp.not.i.i141.i1179, label %_ZN7testing7MessageD2Ev.exit145.i1183, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i1180 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i1180: ; preds = %invoke.cont141.i1178 - %vtable.i.i.i143.i1181 = load ptr, ptr %429, align 8 - %vfn.i.i.i144.i1182 = getelementptr inbounds ptr, ptr %vtable.i.i.i143.i1181, i64 1 - %430 = load ptr, ptr %vfn.i.i.i144.i1182, align 8 + %tobool.i134.not.i1031 = icmp eq i8 %427, 0 + br i1 %tobool.i134.not.i1031, label %if.else131.i1159, label %if.end144.i1032 + +if.else131.i1159: ; preds = %invoke.cont128.i1030 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i866) + to label %invoke.cont134.i1163 unwind label %lpad133.i1160 + +invoke.cont134.i1163: ; preds = %if.else131.i1159 + %428 = load ptr, ptr %message_.i.i135.i1022, align 8 + %cmp.i.i.not.i.i136.i1164 = icmp eq ptr %428, null + br i1 %cmp.i.i.not.i.i136.i1164, label %invoke.cont137.i1167, label %cond.true.i.i137.i1165 + +cond.true.i.i137.i1165: ; preds = %invoke.cont134.i1163 + %call4.i.i138.i1166 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %428) #22 + br label %invoke.cont137.i1167 + +invoke.cont137.i1167: ; preds = %cond.true.i.i137.i1165, %invoke.cont134.i1163 + %cond.i.i139.i1168 = phi ptr [ %call4.i.i138.i1166, %cond.true.i.i137.i1165 ], [ @.str.123, %invoke.cont134.i1163 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i867, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 277, ptr noundef %cond.i.i139.i1168) + to label %invoke.cont139.i1177 unwind label %lpad136.i1169 + +invoke.cont139.i1177: ; preds = %invoke.cont137.i1167 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i867, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp132.i866) + to label %invoke.cont141.i1179 unwind label %lpad140.i1178 + +invoke.cont141.i1179: ; preds = %invoke.cont139.i1177 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i867) #22 + %429 = load ptr, ptr %ref.tmp132.i866, align 8 + %cmp.not.i.i141.i1180 = icmp eq ptr %429, null + br i1 %cmp.not.i.i141.i1180, label %_ZN7testing7MessageD2Ev.exit145.i1184, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i1181 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i1181: ; preds = %invoke.cont141.i1179 + %vtable.i.i.i143.i1182 = load ptr, ptr %429, align 8 + %vfn.i.i.i144.i1183 = getelementptr inbounds ptr, ptr %vtable.i.i.i143.i1182, i64 1 + %430 = load ptr, ptr %vfn.i.i.i144.i1183, align 8 call void %430(ptr noundef nonnull align 8 dereferenceable(128) %429) #22 - br label %_ZN7testing7MessageD2Ev.exit145.i1183 + br label %_ZN7testing7MessageD2Ev.exit145.i1184 -_ZN7testing7MessageD2Ev.exit145.i1183: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i1180, %invoke.cont141.i1178 - store ptr null, ptr %ref.tmp132.i865, align 8 - br label %if.end144.i1031 +_ZN7testing7MessageD2Ev.exit145.i1184: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i142.i1181, %invoke.cont141.i1179 + store ptr null, ptr %ref.tmp132.i866, align 8 + br label %if.end144.i1032 -lpad133.i1159: ; preds = %if.else131.i1158 +lpad133.i1160: ; preds = %if.else131.i1159 %431 = landingpad { ptr, i32 } cleanup - br label %ehcleanup145.i1160 + br label %ehcleanup145.i1161 -lpad136.i1168: ; preds = %invoke.cont137.i1166 +lpad136.i1169: ; preds = %invoke.cont137.i1167 %432 = landingpad { ptr, i32 } cleanup - br label %ehcleanup143.i1169 + br label %ehcleanup143.i1170 -lpad140.i1177: ; preds = %invoke.cont139.i1176 +lpad140.i1178: ; preds = %invoke.cont139.i1177 %433 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i866) #22 - br label %ehcleanup143.i1169 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp135.i867) #22 + br label %ehcleanup143.i1170 -ehcleanup143.i1169: ; preds = %lpad140.i1177, %lpad136.i1168 - %.pn39.i1170 = phi { ptr, i32 } [ %433, %lpad140.i1177 ], [ %432, %lpad136.i1168 ] - %434 = load ptr, ptr %ref.tmp132.i865, align 8 - %cmp.not.i.i146.i1171 = icmp eq ptr %434, null - br i1 %cmp.not.i.i146.i1171, label %_ZN7testing7MessageD2Ev.exit150.i1175, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i1172 +ehcleanup143.i1170: ; preds = %lpad140.i1178, %lpad136.i1169 + %.pn39.i1171 = phi { ptr, i32 } [ %433, %lpad140.i1178 ], [ %432, %lpad136.i1169 ] + %434 = load ptr, ptr %ref.tmp132.i866, align 8 + %cmp.not.i.i146.i1172 = icmp eq ptr %434, null + br i1 %cmp.not.i.i146.i1172, label %_ZN7testing7MessageD2Ev.exit150.i1176, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i1173 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i1172: ; preds = %ehcleanup143.i1169 - %vtable.i.i.i148.i1173 = load ptr, ptr %434, align 8 - %vfn.i.i.i149.i1174 = getelementptr inbounds ptr, ptr %vtable.i.i.i148.i1173, i64 1 - %435 = load ptr, ptr %vfn.i.i.i149.i1174, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i1173: ; preds = %ehcleanup143.i1170 + %vtable.i.i.i148.i1174 = load ptr, ptr %434, align 8 + %vfn.i.i.i149.i1175 = getelementptr inbounds ptr, ptr %vtable.i.i.i148.i1174, i64 1 + %435 = load ptr, ptr %vfn.i.i.i149.i1175, align 8 call void %435(ptr noundef nonnull align 8 dereferenceable(128) %434) #22 - br label %_ZN7testing7MessageD2Ev.exit150.i1175 + br label %_ZN7testing7MessageD2Ev.exit150.i1176 -_ZN7testing7MessageD2Ev.exit150.i1175: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i1172, %ehcleanup143.i1169 - store ptr null, ptr %ref.tmp132.i865, align 8 - br label %ehcleanup145.i1160 +_ZN7testing7MessageD2Ev.exit150.i1176: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i147.i1173, %ehcleanup143.i1170 + store ptr null, ptr %ref.tmp132.i866, align 8 + br label %ehcleanup145.i1161 -if.end144.i1031: ; preds = %_ZN7testing7MessageD2Ev.exit145.i1183, %invoke.cont128.i1029 - %436 = load ptr, ptr %message_.i.i135.i1021, align 8 - %cmp.not.i.i152.i1032 = icmp eq ptr %436, null - br i1 %cmp.not.i.i152.i1032, label %invoke.cont148.i1034, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i1033 +if.end144.i1032: ; preds = %_ZN7testing7MessageD2Ev.exit145.i1184, %invoke.cont128.i1030 + %436 = load ptr, ptr %message_.i.i135.i1022, align 8 + %cmp.not.i.i152.i1033 = icmp eq ptr %436, null + br i1 %cmp.not.i.i152.i1033, label %invoke.cont148.i1035, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i1034 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i1033: ; preds = %if.end144.i1031 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i1034: ; preds = %if.end144.i1032 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %436) #22 call void @_ZdlPv(ptr noundef nonnull %436) #23 - br label %invoke.cont148.i1034 - -invoke.cont148.i1034: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i1033, %if.end144.i1031 - store ptr null, ptr %message_.i.i135.i1021, align 8 - store i32 %424, ptr %ref.tmp147.i868, align 4 - %array.val50.i1035 = load ptr, ptr %data_.i2.i.i901, align 8 - %437 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val50.i1035, i64 %indvars.iv256.i1024, i32 1 - %arrayidx.val.i1036 = load i32, ptr %437, align 8 - store i32 %arrayidx.val.i1036, ptr %ref.tmp151.i869, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar146.i867, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp147.i868, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp151.i869) - to label %invoke.cont155.i1037 unwind label %lpad5.loopexit.split-lp.loopexit.i1027 - -invoke.cont155.i1037: ; preds = %invoke.cont148.i1034 - %438 = load i8, ptr %gtest_ar146.i867, align 8 + br label %invoke.cont148.i1035 + +invoke.cont148.i1035: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153.i1034, %if.end144.i1032 + store ptr null, ptr %message_.i.i135.i1022, align 8 + store i32 %424, ptr %ref.tmp147.i869, align 4 + %array.val50.i1036 = load ptr, ptr %data_.i2.i.i902, align 8 + %437 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val50.i1036, i64 %indvars.iv256.i1025, i32 1 + %arrayidx.val.i1037 = load i32, ptr %437, align 8 + store i32 %arrayidx.val.i1037, ptr %ref.tmp151.i870, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar146.i868, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp147.i869, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp151.i870) + to label %invoke.cont155.i1038 unwind label %lpad5.loopexit.split-lp.loopexit.i1028 + +invoke.cont155.i1038: ; preds = %invoke.cont148.i1035 + %438 = load i8, ptr %gtest_ar146.i868, align 8 %439 = and i8 %438, 1 - %tobool.i155.not.i1038 = icmp eq i8 %439, 0 - br i1 %tobool.i155.not.i1038, label %if.else158.i1132, label %if.end171.i1039 - -ehcleanup145.i1160: ; preds = %_ZN7testing7MessageD2Ev.exit150.i1175, %lpad133.i1159 - %.pn39.pn.i1161 = phi { ptr, i32 } [ %.pn39.i1170, %_ZN7testing7MessageD2Ev.exit150.i1175 ], [ %431, %lpad133.i1159 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar118.i862) #22 - br label %ehcleanup253.i918 - -if.else158.i1132: ; preds = %invoke.cont155.i1037 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i870) - to label %invoke.cont161.i1136 unwind label %lpad160.i1133 - -invoke.cont161.i1136: ; preds = %if.else158.i1132 - %440 = load ptr, ptr %message_.i.i156.i1022, align 8 - %cmp.i.i.not.i.i157.i1137 = icmp eq ptr %440, null - br i1 %cmp.i.i.not.i.i157.i1137, label %invoke.cont164.i1140, label %cond.true.i.i158.i1138 - -cond.true.i.i158.i1138: ; preds = %invoke.cont161.i1136 - %call4.i.i159.i1139 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %440) #22 - br label %invoke.cont164.i1140 - -invoke.cont164.i1140: ; preds = %cond.true.i.i158.i1138, %invoke.cont161.i1136 - %cond.i.i160.i1141 = phi ptr [ %call4.i.i159.i1139, %cond.true.i.i158.i1138 ], [ @.str.123, %invoke.cont161.i1136 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i871, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 278, ptr noundef %cond.i.i160.i1141) - to label %invoke.cont166.i1150 unwind label %lpad163.i1142 - -invoke.cont166.i1150: ; preds = %invoke.cont164.i1140 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i871, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i870) - to label %invoke.cont168.i1152 unwind label %lpad167.i1151 - -invoke.cont168.i1152: ; preds = %invoke.cont166.i1150 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i871) #22 - %441 = load ptr, ptr %ref.tmp159.i870, align 8 - %cmp.not.i.i162.i1153 = icmp eq ptr %441, null - br i1 %cmp.not.i.i162.i1153, label %_ZN7testing7MessageD2Ev.exit166.i1157, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i1154 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i1154: ; preds = %invoke.cont168.i1152 - %vtable.i.i.i164.i1155 = load ptr, ptr %441, align 8 - %vfn.i.i.i165.i1156 = getelementptr inbounds ptr, ptr %vtable.i.i.i164.i1155, i64 1 - %442 = load ptr, ptr %vfn.i.i.i165.i1156, align 8 + %tobool.i155.not.i1039 = icmp eq i8 %439, 0 + br i1 %tobool.i155.not.i1039, label %if.else158.i1133, label %if.end171.i1040 + +ehcleanup145.i1161: ; preds = %_ZN7testing7MessageD2Ev.exit150.i1176, %lpad133.i1160 + %.pn39.pn.i1162 = phi { ptr, i32 } [ %.pn39.i1171, %_ZN7testing7MessageD2Ev.exit150.i1176 ], [ %431, %lpad133.i1160 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar118.i863) #22 + br label %ehcleanup253.i919 + +if.else158.i1133: ; preds = %invoke.cont155.i1038 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i871) + to label %invoke.cont161.i1137 unwind label %lpad160.i1134 + +invoke.cont161.i1137: ; preds = %if.else158.i1133 + %440 = load ptr, ptr %message_.i.i156.i1023, align 8 + %cmp.i.i.not.i.i157.i1138 = icmp eq ptr %440, null + br i1 %cmp.i.i.not.i.i157.i1138, label %invoke.cont164.i1141, label %cond.true.i.i158.i1139 + +cond.true.i.i158.i1139: ; preds = %invoke.cont161.i1137 + %call4.i.i159.i1140 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %440) #22 + br label %invoke.cont164.i1141 + +invoke.cont164.i1141: ; preds = %cond.true.i.i158.i1139, %invoke.cont161.i1137 + %cond.i.i160.i1142 = phi ptr [ %call4.i.i159.i1140, %cond.true.i.i158.i1139 ], [ @.str.123, %invoke.cont161.i1137 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i872, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 278, ptr noundef %cond.i.i160.i1142) + to label %invoke.cont166.i1151 unwind label %lpad163.i1143 + +invoke.cont166.i1151: ; preds = %invoke.cont164.i1141 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i872, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp159.i871) + to label %invoke.cont168.i1153 unwind label %lpad167.i1152 + +invoke.cont168.i1153: ; preds = %invoke.cont166.i1151 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i872) #22 + %441 = load ptr, ptr %ref.tmp159.i871, align 8 + %cmp.not.i.i162.i1154 = icmp eq ptr %441, null + br i1 %cmp.not.i.i162.i1154, label %_ZN7testing7MessageD2Ev.exit166.i1158, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i1155 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i1155: ; preds = %invoke.cont168.i1153 + %vtable.i.i.i164.i1156 = load ptr, ptr %441, align 8 + %vfn.i.i.i165.i1157 = getelementptr inbounds ptr, ptr %vtable.i.i.i164.i1156, i64 1 + %442 = load ptr, ptr %vfn.i.i.i165.i1157, align 8 call void %442(ptr noundef nonnull align 8 dereferenceable(128) %441) #22 - br label %_ZN7testing7MessageD2Ev.exit166.i1157 + br label %_ZN7testing7MessageD2Ev.exit166.i1158 -_ZN7testing7MessageD2Ev.exit166.i1157: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i1154, %invoke.cont168.i1152 - store ptr null, ptr %ref.tmp159.i870, align 8 - br label %if.end171.i1039 +_ZN7testing7MessageD2Ev.exit166.i1158: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163.i1155, %invoke.cont168.i1153 + store ptr null, ptr %ref.tmp159.i871, align 8 + br label %if.end171.i1040 -lpad160.i1133: ; preds = %if.else158.i1132 +lpad160.i1134: ; preds = %if.else158.i1133 %443 = landingpad { ptr, i32 } cleanup - br label %ehcleanup172.i1134 + br label %ehcleanup172.i1135 -lpad163.i1142: ; preds = %invoke.cont164.i1140 +lpad163.i1143: ; preds = %invoke.cont164.i1141 %444 = landingpad { ptr, i32 } cleanup - br label %ehcleanup170.i1143 + br label %ehcleanup170.i1144 -lpad167.i1151: ; preds = %invoke.cont166.i1150 +lpad167.i1152: ; preds = %invoke.cont166.i1151 %445 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i871) #22 - br label %ehcleanup170.i1143 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp162.i872) #22 + br label %ehcleanup170.i1144 -ehcleanup170.i1143: ; preds = %lpad167.i1151, %lpad163.i1142 - %.pn42.i1144 = phi { ptr, i32 } [ %445, %lpad167.i1151 ], [ %444, %lpad163.i1142 ] - %446 = load ptr, ptr %ref.tmp159.i870, align 8 - %cmp.not.i.i167.i1145 = icmp eq ptr %446, null - br i1 %cmp.not.i.i167.i1145, label %_ZN7testing7MessageD2Ev.exit171.i1149, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i1146 +ehcleanup170.i1144: ; preds = %lpad167.i1152, %lpad163.i1143 + %.pn42.i1145 = phi { ptr, i32 } [ %445, %lpad167.i1152 ], [ %444, %lpad163.i1143 ] + %446 = load ptr, ptr %ref.tmp159.i871, align 8 + %cmp.not.i.i167.i1146 = icmp eq ptr %446, null + br i1 %cmp.not.i.i167.i1146, label %_ZN7testing7MessageD2Ev.exit171.i1150, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i1147 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i1146: ; preds = %ehcleanup170.i1143 - %vtable.i.i.i169.i1147 = load ptr, ptr %446, align 8 - %vfn.i.i.i170.i1148 = getelementptr inbounds ptr, ptr %vtable.i.i.i169.i1147, i64 1 - %447 = load ptr, ptr %vfn.i.i.i170.i1148, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i1147: ; preds = %ehcleanup170.i1144 + %vtable.i.i.i169.i1148 = load ptr, ptr %446, align 8 + %vfn.i.i.i170.i1149 = getelementptr inbounds ptr, ptr %vtable.i.i.i169.i1148, i64 1 + %447 = load ptr, ptr %vfn.i.i.i170.i1149, align 8 call void %447(ptr noundef nonnull align 8 dereferenceable(128) %446) #22 - br label %_ZN7testing7MessageD2Ev.exit171.i1149 + br label %_ZN7testing7MessageD2Ev.exit171.i1150 -_ZN7testing7MessageD2Ev.exit171.i1149: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i1146, %ehcleanup170.i1143 - store ptr null, ptr %ref.tmp159.i870, align 8 - br label %ehcleanup172.i1134 +_ZN7testing7MessageD2Ev.exit171.i1150: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i168.i1147, %ehcleanup170.i1144 + store ptr null, ptr %ref.tmp159.i871, align 8 + br label %ehcleanup172.i1135 -if.end171.i1039: ; preds = %_ZN7testing7MessageD2Ev.exit166.i1157, %invoke.cont155.i1037 - %448 = load ptr, ptr %message_.i.i156.i1022, align 8 - %cmp.not.i.i173.i1040 = icmp eq ptr %448, null - br i1 %cmp.not.i.i173.i1040, label %_ZN7testing15AssertionResultD2Ev.exit175.i1042, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i1041 +if.end171.i1040: ; preds = %_ZN7testing7MessageD2Ev.exit166.i1158, %invoke.cont155.i1038 + %448 = load ptr, ptr %message_.i.i156.i1023, align 8 + %cmp.not.i.i173.i1041 = icmp eq ptr %448, null + br i1 %cmp.not.i.i173.i1041, label %_ZN7testing15AssertionResultD2Ev.exit175.i1043, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i1042 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i1041: ; preds = %if.end171.i1039 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i1042: ; preds = %if.end171.i1040 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %448) #22 call void @_ZdlPv(ptr noundef nonnull %448) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit175.i1042 + br label %_ZN7testing15AssertionResultD2Ev.exit175.i1043 -_ZN7testing15AssertionResultD2Ev.exit175.i1042: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i1041, %if.end171.i1039 - store ptr null, ptr %message_.i.i156.i1022, align 8 - %indvars.iv.next257.i1043 = add nuw nsw i64 %indvars.iv256.i1024, 1 - %449 = load i32, ptr %n.addr.i839, align 4 +_ZN7testing15AssertionResultD2Ev.exit175.i1043: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174.i1042, %if.end171.i1040 + store ptr null, ptr %message_.i.i156.i1023, align 8 + %indvars.iv.next257.i1044 = add nuw nsw i64 %indvars.iv256.i1025, 1 + %449 = load i32, ptr %n.addr.i840, align 4 %450 = sext i32 %449 to i64 - %cmp116.i1044 = icmp slt i64 %indvars.iv.next257.i1043, %450 - br i1 %cmp116.i1044, label %invoke.cont125.i1023, label %for.cond177.preheader.i1045, !llvm.loop !378 - -ehcleanup172.i1134: ; preds = %_ZN7testing7MessageD2Ev.exit171.i1149, %lpad160.i1133 - %.pn42.pn.i1135 = phi { ptr, i32 } [ %.pn42.i1144, %_ZN7testing7MessageD2Ev.exit171.i1149 ], [ %443, %lpad160.i1133 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar146.i867) #22 - br label %ehcleanup253.i918 - -for.cond188.preheader.i1053: ; preds = %for.body179.i1047 - %cmp189253.i1054 = icmp sgt i32 %452, 0 - br i1 %cmp189253.i1054, label %invoke.cont199.i1058, label %for.end252.i958 - -for.body179.i1047: ; preds = %for.cond177.preheader.i1045, %for.body179.i1047 - %indvars.iv259.i1048 = phi i64 [ %indvars.iv.next260.i1050, %for.body179.i1047 ], [ 0, %for.cond177.preheader.i1045 ] - %array.val51.i1049 = load ptr, ptr %data_.i2.i.i901, align 8 - %indvars.iv.next260.i1050 = add nuw nsw i64 %indvars.iv259.i1048, 1 - %value_.i176.i1051 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val51.i1049, i64 %indvars.iv259.i1048, i32 1 - %451 = trunc i64 %indvars.iv.next260.i1050 to i32 - store i32 %451, ptr %value_.i176.i1051, align 8 - %452 = load i32, ptr %n.addr.i839, align 4 + %cmp116.i1045 = icmp slt i64 %indvars.iv.next257.i1044, %450 + br i1 %cmp116.i1045, label %invoke.cont125.i1024, label %for.cond177.preheader.i1046, !llvm.loop !378 + +ehcleanup172.i1135: ; preds = %_ZN7testing7MessageD2Ev.exit171.i1150, %lpad160.i1134 + %.pn42.pn.i1136 = phi { ptr, i32 } [ %.pn42.i1145, %_ZN7testing7MessageD2Ev.exit171.i1150 ], [ %443, %lpad160.i1134 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar146.i868) #22 + br label %ehcleanup253.i919 + +for.cond188.preheader.i1054: ; preds = %for.body179.i1048 + %cmp189253.i1055 = icmp sgt i32 %452, 0 + br i1 %cmp189253.i1055, label %invoke.cont199.i1059, label %for.end252.i959 + +for.body179.i1048: ; preds = %for.cond177.preheader.i1046, %for.body179.i1048 + %indvars.iv259.i1049 = phi i64 [ %indvars.iv.next260.i1051, %for.body179.i1048 ], [ 0, %for.cond177.preheader.i1046 ] + %array.val51.i1050 = load ptr, ptr %data_.i2.i.i902, align 8 + %indvars.iv.next260.i1051 = add nuw nsw i64 %indvars.iv259.i1049, 1 + %value_.i176.i1052 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %array.val51.i1050, i64 %indvars.iv259.i1049, i32 1 + %451 = trunc i64 %indvars.iv.next260.i1051 to i32 + store i32 %451, ptr %value_.i176.i1052, align 8 + %452 = load i32, ptr %n.addr.i840, align 4 %453 = sext i32 %452 to i64 - %cmp178.i1052 = icmp slt i64 %indvars.iv.next260.i1050, %453 - br i1 %cmp178.i1052, label %for.body179.i1047, label %for.cond188.preheader.i1053, !llvm.loop !379 - -invoke.cont199.i1058: ; preds = %for.cond188.preheader.i1053, %_ZN7testing15AssertionResultD2Ev.exit219.i1078 - %indvars.iv262.i1059 = phi i64 [ %indvars.iv.next263.i1060, %_ZN7testing15AssertionResultD2Ev.exit219.i1078 ], [ 0, %for.cond188.preheader.i1053 ] - %indvars.iv.next263.i1060 = add nuw nsw i64 %indvars.iv262.i1059, 1 - %454 = trunc i64 %indvars.iv.next263.i1060 to i32 - store i32 %454, ptr %ref.tmp192.i873, align 4 - %array.val59.i1061 = load ptr, ptr %data_.i2.i.i901, align 8 - %455 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val59.i1061, i64 %indvars.iv262.i1059, i32 1 - %call200.val.i1062 = load i32, ptr %455, align 8 - store i32 %call200.val.i1062, ptr %ref.tmp197.i874, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar191.i872, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp192.i873, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp197.i874) - to label %invoke.cont202.i1065 unwind label %lpad5.loopexit.i1063 - -invoke.cont202.i1065: ; preds = %invoke.cont199.i1058 - %456 = load i8, ptr %gtest_ar191.i872, align 8 + %cmp178.i1053 = icmp slt i64 %indvars.iv.next260.i1051, %453 + br i1 %cmp178.i1053, label %for.body179.i1048, label %for.cond188.preheader.i1054, !llvm.loop !379 + +invoke.cont199.i1059: ; preds = %for.cond188.preheader.i1054, %_ZN7testing15AssertionResultD2Ev.exit219.i1079 + %indvars.iv262.i1060 = phi i64 [ %indvars.iv.next263.i1061, %_ZN7testing15AssertionResultD2Ev.exit219.i1079 ], [ 0, %for.cond188.preheader.i1054 ] + %indvars.iv.next263.i1061 = add nuw nsw i64 %indvars.iv262.i1060, 1 + %454 = trunc i64 %indvars.iv.next263.i1061 to i32 + store i32 %454, ptr %ref.tmp192.i874, align 4 + %array.val59.i1062 = load ptr, ptr %data_.i2.i.i902, align 8 + %455 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val59.i1062, i64 %indvars.iv262.i1060, i32 1 + %call200.val.i1063 = load i32, ptr %455, align 8 + store i32 %call200.val.i1063, ptr %ref.tmp197.i875, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar191.i873, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp192.i874, ptr noundef nonnull @.str.201, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp197.i875) + to label %invoke.cont202.i1066 unwind label %lpad5.loopexit.i1064 + +invoke.cont202.i1066: ; preds = %invoke.cont199.i1059 + %456 = load i8, ptr %gtest_ar191.i873, align 8 %457 = and i8 %456, 1 - %tobool.i178.not.i1066 = icmp eq i8 %457, 0 - br i1 %tobool.i178.not.i1066, label %if.else205.i1106, label %if.end218.i1067 - -if.else205.i1106: ; preds = %invoke.cont202.i1065 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i875) - to label %invoke.cont208.i1110 unwind label %lpad207.i1107 - -invoke.cont208.i1110: ; preds = %if.else205.i1106 - %458 = load ptr, ptr %message_.i.i179.i1056, align 8 - %cmp.i.i.not.i.i180.i1111 = icmp eq ptr %458, null - br i1 %cmp.i.i.not.i.i180.i1111, label %invoke.cont211.i1114, label %cond.true.i.i181.i1112 - -cond.true.i.i181.i1112: ; preds = %invoke.cont208.i1110 - %call4.i.i182.i1113 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %458) #22 - br label %invoke.cont211.i1114 - -invoke.cont211.i1114: ; preds = %cond.true.i.i181.i1112, %invoke.cont208.i1110 - %cond.i.i183.i1115 = phi ptr [ %call4.i.i182.i1113, %cond.true.i.i181.i1112 ], [ @.str.123, %invoke.cont208.i1110 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i876, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 286, ptr noundef %cond.i.i183.i1115) - to label %invoke.cont213.i1124 unwind label %lpad210.i1116 - -invoke.cont213.i1124: ; preds = %invoke.cont211.i1114 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i876, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i875) - to label %invoke.cont215.i1126 unwind label %lpad214.i1125 - -invoke.cont215.i1126: ; preds = %invoke.cont213.i1124 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i876) #22 - %459 = load ptr, ptr %ref.tmp206.i875, align 8 - %cmp.not.i.i185.i1127 = icmp eq ptr %459, null - br i1 %cmp.not.i.i185.i1127, label %_ZN7testing7MessageD2Ev.exit189.i1131, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i1128 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i1128: ; preds = %invoke.cont215.i1126 - %vtable.i.i.i187.i1129 = load ptr, ptr %459, align 8 - %vfn.i.i.i188.i1130 = getelementptr inbounds ptr, ptr %vtable.i.i.i187.i1129, i64 1 - %460 = load ptr, ptr %vfn.i.i.i188.i1130, align 8 + %tobool.i178.not.i1067 = icmp eq i8 %457, 0 + br i1 %tobool.i178.not.i1067, label %if.else205.i1107, label %if.end218.i1068 + +if.else205.i1107: ; preds = %invoke.cont202.i1066 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i876) + to label %invoke.cont208.i1111 unwind label %lpad207.i1108 + +invoke.cont208.i1111: ; preds = %if.else205.i1107 + %458 = load ptr, ptr %message_.i.i179.i1057, align 8 + %cmp.i.i.not.i.i180.i1112 = icmp eq ptr %458, null + br i1 %cmp.i.i.not.i.i180.i1112, label %invoke.cont211.i1115, label %cond.true.i.i181.i1113 + +cond.true.i.i181.i1113: ; preds = %invoke.cont208.i1111 + %call4.i.i182.i1114 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %458) #22 + br label %invoke.cont211.i1115 + +invoke.cont211.i1115: ; preds = %cond.true.i.i181.i1113, %invoke.cont208.i1111 + %cond.i.i183.i1116 = phi ptr [ %call4.i.i182.i1114, %cond.true.i.i181.i1113 ], [ @.str.123, %invoke.cont208.i1111 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i877, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 286, ptr noundef %cond.i.i183.i1116) + to label %invoke.cont213.i1125 unwind label %lpad210.i1117 + +invoke.cont213.i1125: ; preds = %invoke.cont211.i1115 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i877, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp206.i876) + to label %invoke.cont215.i1127 unwind label %lpad214.i1126 + +invoke.cont215.i1127: ; preds = %invoke.cont213.i1125 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i877) #22 + %459 = load ptr, ptr %ref.tmp206.i876, align 8 + %cmp.not.i.i185.i1128 = icmp eq ptr %459, null + br i1 %cmp.not.i.i185.i1128, label %_ZN7testing7MessageD2Ev.exit189.i1132, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i1129 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i1129: ; preds = %invoke.cont215.i1127 + %vtable.i.i.i187.i1130 = load ptr, ptr %459, align 8 + %vfn.i.i.i188.i1131 = getelementptr inbounds ptr, ptr %vtable.i.i.i187.i1130, i64 1 + %460 = load ptr, ptr %vfn.i.i.i188.i1131, align 8 call void %460(ptr noundef nonnull align 8 dereferenceable(128) %459) #22 - br label %_ZN7testing7MessageD2Ev.exit189.i1131 + br label %_ZN7testing7MessageD2Ev.exit189.i1132 -_ZN7testing7MessageD2Ev.exit189.i1131: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i1128, %invoke.cont215.i1126 - store ptr null, ptr %ref.tmp206.i875, align 8 - br label %if.end218.i1067 +_ZN7testing7MessageD2Ev.exit189.i1132: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i186.i1129, %invoke.cont215.i1127 + store ptr null, ptr %ref.tmp206.i876, align 8 + br label %if.end218.i1068 -lpad207.i1107: ; preds = %if.else205.i1106 +lpad207.i1108: ; preds = %if.else205.i1107 %461 = landingpad { ptr, i32 } cleanup - br label %ehcleanup219.i1108 + br label %ehcleanup219.i1109 -lpad210.i1116: ; preds = %invoke.cont211.i1114 +lpad210.i1117: ; preds = %invoke.cont211.i1115 %462 = landingpad { ptr, i32 } cleanup - br label %ehcleanup217.i1117 + br label %ehcleanup217.i1118 -lpad214.i1125: ; preds = %invoke.cont213.i1124 +lpad214.i1126: ; preds = %invoke.cont213.i1125 %463 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i876) #22 - br label %ehcleanup217.i1117 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp209.i877) #22 + br label %ehcleanup217.i1118 -ehcleanup217.i1117: ; preds = %lpad214.i1125, %lpad210.i1116 - %.pn33.i1118 = phi { ptr, i32 } [ %463, %lpad214.i1125 ], [ %462, %lpad210.i1116 ] - %464 = load ptr, ptr %ref.tmp206.i875, align 8 - %cmp.not.i.i190.i1119 = icmp eq ptr %464, null - br i1 %cmp.not.i.i190.i1119, label %_ZN7testing7MessageD2Ev.exit194.i1123, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i1120 +ehcleanup217.i1118: ; preds = %lpad214.i1126, %lpad210.i1117 + %.pn33.i1119 = phi { ptr, i32 } [ %463, %lpad214.i1126 ], [ %462, %lpad210.i1117 ] + %464 = load ptr, ptr %ref.tmp206.i876, align 8 + %cmp.not.i.i190.i1120 = icmp eq ptr %464, null + br i1 %cmp.not.i.i190.i1120, label %_ZN7testing7MessageD2Ev.exit194.i1124, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i1121 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i1120: ; preds = %ehcleanup217.i1117 - %vtable.i.i.i192.i1121 = load ptr, ptr %464, align 8 - %vfn.i.i.i193.i1122 = getelementptr inbounds ptr, ptr %vtable.i.i.i192.i1121, i64 1 - %465 = load ptr, ptr %vfn.i.i.i193.i1122, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i1121: ; preds = %ehcleanup217.i1118 + %vtable.i.i.i192.i1122 = load ptr, ptr %464, align 8 + %vfn.i.i.i193.i1123 = getelementptr inbounds ptr, ptr %vtable.i.i.i192.i1122, i64 1 + %465 = load ptr, ptr %vfn.i.i.i193.i1123, align 8 call void %465(ptr noundef nonnull align 8 dereferenceable(128) %464) #22 - br label %_ZN7testing7MessageD2Ev.exit194.i1123 + br label %_ZN7testing7MessageD2Ev.exit194.i1124 -_ZN7testing7MessageD2Ev.exit194.i1123: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i1120, %ehcleanup217.i1117 - store ptr null, ptr %ref.tmp206.i875, align 8 - br label %ehcleanup219.i1108 +_ZN7testing7MessageD2Ev.exit194.i1124: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191.i1121, %ehcleanup217.i1118 + store ptr null, ptr %ref.tmp206.i876, align 8 + br label %ehcleanup219.i1109 -if.end218.i1067: ; preds = %_ZN7testing7MessageD2Ev.exit189.i1131, %invoke.cont202.i1065 - %466 = load ptr, ptr %message_.i.i179.i1056, align 8 - %cmp.not.i.i196.i1068 = icmp eq ptr %466, null - br i1 %cmp.not.i.i196.i1068, label %invoke.cont223.i1070, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i1069 +if.end218.i1068: ; preds = %_ZN7testing7MessageD2Ev.exit189.i1132, %invoke.cont202.i1066 + %466 = load ptr, ptr %message_.i.i179.i1057, align 8 + %cmp.not.i.i196.i1069 = icmp eq ptr %466, null + br i1 %cmp.not.i.i196.i1069, label %invoke.cont223.i1071, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i1070 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i1069: ; preds = %if.end218.i1067 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i1070: ; preds = %if.end218.i1068 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %466) #22 call void @_ZdlPv(ptr noundef nonnull %466) #23 - br label %invoke.cont223.i1070 - -invoke.cont223.i1070: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i1069, %if.end218.i1067 - store ptr null, ptr %message_.i.i179.i1056, align 8 - store i32 %454, ptr %ref.tmp221.i878, align 4 - %array.val52.i1071 = load ptr, ptr %data_.i2.i.i901, align 8 - %467 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val52.i1071, i64 %indvars.iv262.i1059, i32 1 - %arrayidx230.val.i1072 = load i32, ptr %467, align 8 - store i32 %arrayidx230.val.i1072, ptr %ref.tmp226.i879, align 4 - invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar220.i877, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp221.i878, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp226.i879) - to label %invoke.cont232.i1073 unwind label %lpad5.loopexit.i1063 - -invoke.cont232.i1073: ; preds = %invoke.cont223.i1070 - %468 = load i8, ptr %gtest_ar220.i877, align 8 + br label %invoke.cont223.i1071 + +invoke.cont223.i1071: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197.i1070, %if.end218.i1068 + store ptr null, ptr %message_.i.i179.i1057, align 8 + store i32 %454, ptr %ref.tmp221.i879, align 4 + %array.val52.i1072 = load ptr, ptr %data_.i2.i.i902, align 8 + %467 = getelementptr %"class.(anonymous namespace)::ConstructionTester", ptr %array.val52.i1072, i64 %indvars.iv262.i1060, i32 1 + %arrayidx230.val.i1073 = load i32, ptr %467, align 8 + store i32 %arrayidx230.val.i1073, ptr %ref.tmp226.i880, align 4 + invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIiEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar220.i878, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp221.i879, ptr noundef nonnull @.str.202, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp226.i880) + to label %invoke.cont232.i1074 unwind label %lpad5.loopexit.i1064 + +invoke.cont232.i1074: ; preds = %invoke.cont223.i1071 + %468 = load i8, ptr %gtest_ar220.i878, align 8 %469 = and i8 %468, 1 - %tobool.i199.not.i1074 = icmp eq i8 %469, 0 - br i1 %tobool.i199.not.i1074, label %if.else235.i1080, label %if.end248.i1075 - -ehcleanup219.i1108: ; preds = %_ZN7testing7MessageD2Ev.exit194.i1123, %lpad207.i1107 - %.pn33.pn.i1109 = phi { ptr, i32 } [ %.pn33.i1118, %_ZN7testing7MessageD2Ev.exit194.i1123 ], [ %461, %lpad207.i1107 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar191.i872) #22 - br label %ehcleanup253.i918 - -if.else235.i1080: ; preds = %invoke.cont232.i1073 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i880) - to label %invoke.cont238.i1084 unwind label %lpad237.i1081 - -invoke.cont238.i1084: ; preds = %if.else235.i1080 - %470 = load ptr, ptr %message_.i.i200.i1057, align 8 - %cmp.i.i.not.i.i201.i1085 = icmp eq ptr %470, null - br i1 %cmp.i.i.not.i.i201.i1085, label %invoke.cont241.i1088, label %cond.true.i.i202.i1086 - -cond.true.i.i202.i1086: ; preds = %invoke.cont238.i1084 - %call4.i.i203.i1087 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %470) #22 - br label %invoke.cont241.i1088 - -invoke.cont241.i1088: ; preds = %cond.true.i.i202.i1086, %invoke.cont238.i1084 - %cond.i.i204.i1089 = phi ptr [ %call4.i.i203.i1087, %cond.true.i.i202.i1086 ], [ @.str.123, %invoke.cont238.i1084 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i881, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 287, ptr noundef %cond.i.i204.i1089) - to label %invoke.cont243.i1098 unwind label %lpad240.i1090 - -invoke.cont243.i1098: ; preds = %invoke.cont241.i1088 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i881, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i880) - to label %invoke.cont245.i1100 unwind label %lpad244.i1099 - -invoke.cont245.i1100: ; preds = %invoke.cont243.i1098 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i881) #22 - %471 = load ptr, ptr %ref.tmp236.i880, align 8 - %cmp.not.i.i206.i1101 = icmp eq ptr %471, null - br i1 %cmp.not.i.i206.i1101, label %_ZN7testing7MessageD2Ev.exit210.i1105, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i1102 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i1102: ; preds = %invoke.cont245.i1100 - %vtable.i.i.i208.i1103 = load ptr, ptr %471, align 8 - %vfn.i.i.i209.i1104 = getelementptr inbounds ptr, ptr %vtable.i.i.i208.i1103, i64 1 - %472 = load ptr, ptr %vfn.i.i.i209.i1104, align 8 + %tobool.i199.not.i1075 = icmp eq i8 %469, 0 + br i1 %tobool.i199.not.i1075, label %if.else235.i1081, label %if.end248.i1076 + +ehcleanup219.i1109: ; preds = %_ZN7testing7MessageD2Ev.exit194.i1124, %lpad207.i1108 + %.pn33.pn.i1110 = phi { ptr, i32 } [ %.pn33.i1119, %_ZN7testing7MessageD2Ev.exit194.i1124 ], [ %461, %lpad207.i1108 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar191.i873) #22 + br label %ehcleanup253.i919 + +if.else235.i1081: ; preds = %invoke.cont232.i1074 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i881) + to label %invoke.cont238.i1085 unwind label %lpad237.i1082 + +invoke.cont238.i1085: ; preds = %if.else235.i1081 + %470 = load ptr, ptr %message_.i.i200.i1058, align 8 + %cmp.i.i.not.i.i201.i1086 = icmp eq ptr %470, null + br i1 %cmp.i.i.not.i.i201.i1086, label %invoke.cont241.i1089, label %cond.true.i.i202.i1087 + +cond.true.i.i202.i1087: ; preds = %invoke.cont238.i1085 + %call4.i.i203.i1088 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %470) #22 + br label %invoke.cont241.i1089 + +invoke.cont241.i1089: ; preds = %cond.true.i.i202.i1087, %invoke.cont238.i1085 + %cond.i.i204.i1090 = phi ptr [ %call4.i.i203.i1088, %cond.true.i.i202.i1087 ], [ @.str.123, %invoke.cont238.i1085 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i882, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 287, ptr noundef %cond.i.i204.i1090) + to label %invoke.cont243.i1099 unwind label %lpad240.i1091 + +invoke.cont243.i1099: ; preds = %invoke.cont241.i1089 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i882, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp236.i881) + to label %invoke.cont245.i1101 unwind label %lpad244.i1100 + +invoke.cont245.i1101: ; preds = %invoke.cont243.i1099 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i882) #22 + %471 = load ptr, ptr %ref.tmp236.i881, align 8 + %cmp.not.i.i206.i1102 = icmp eq ptr %471, null + br i1 %cmp.not.i.i206.i1102, label %_ZN7testing7MessageD2Ev.exit210.i1106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i1103 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i1103: ; preds = %invoke.cont245.i1101 + %vtable.i.i.i208.i1104 = load ptr, ptr %471, align 8 + %vfn.i.i.i209.i1105 = getelementptr inbounds ptr, ptr %vtable.i.i.i208.i1104, i64 1 + %472 = load ptr, ptr %vfn.i.i.i209.i1105, align 8 call void %472(ptr noundef nonnull align 8 dereferenceable(128) %471) #22 - br label %_ZN7testing7MessageD2Ev.exit210.i1105 + br label %_ZN7testing7MessageD2Ev.exit210.i1106 -_ZN7testing7MessageD2Ev.exit210.i1105: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i1102, %invoke.cont245.i1100 - store ptr null, ptr %ref.tmp236.i880, align 8 - br label %if.end248.i1075 +_ZN7testing7MessageD2Ev.exit210.i1106: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i207.i1103, %invoke.cont245.i1101 + store ptr null, ptr %ref.tmp236.i881, align 8 + br label %if.end248.i1076 -lpad237.i1081: ; preds = %if.else235.i1080 +lpad237.i1082: ; preds = %if.else235.i1081 %473 = landingpad { ptr, i32 } cleanup - br label %ehcleanup249.i1082 + br label %ehcleanup249.i1083 -lpad240.i1090: ; preds = %invoke.cont241.i1088 +lpad240.i1091: ; preds = %invoke.cont241.i1089 %474 = landingpad { ptr, i32 } cleanup - br label %ehcleanup247.i1091 + br label %ehcleanup247.i1092 -lpad244.i1099: ; preds = %invoke.cont243.i1098 +lpad244.i1100: ; preds = %invoke.cont243.i1099 %475 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i881) #22 - br label %ehcleanup247.i1091 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp239.i882) #22 + br label %ehcleanup247.i1092 -ehcleanup247.i1091: ; preds = %lpad244.i1099, %lpad240.i1090 - %.pn36.i1092 = phi { ptr, i32 } [ %475, %lpad244.i1099 ], [ %474, %lpad240.i1090 ] - %476 = load ptr, ptr %ref.tmp236.i880, align 8 - %cmp.not.i.i211.i1093 = icmp eq ptr %476, null - br i1 %cmp.not.i.i211.i1093, label %_ZN7testing7MessageD2Ev.exit215.i1097, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i1094 +ehcleanup247.i1092: ; preds = %lpad244.i1100, %lpad240.i1091 + %.pn36.i1093 = phi { ptr, i32 } [ %475, %lpad244.i1100 ], [ %474, %lpad240.i1091 ] + %476 = load ptr, ptr %ref.tmp236.i881, align 8 + %cmp.not.i.i211.i1094 = icmp eq ptr %476, null + br i1 %cmp.not.i.i211.i1094, label %_ZN7testing7MessageD2Ev.exit215.i1098, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i1095 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i1094: ; preds = %ehcleanup247.i1091 - %vtable.i.i.i213.i1095 = load ptr, ptr %476, align 8 - %vfn.i.i.i214.i1096 = getelementptr inbounds ptr, ptr %vtable.i.i.i213.i1095, i64 1 - %477 = load ptr, ptr %vfn.i.i.i214.i1096, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i1095: ; preds = %ehcleanup247.i1092 + %vtable.i.i.i213.i1096 = load ptr, ptr %476, align 8 + %vfn.i.i.i214.i1097 = getelementptr inbounds ptr, ptr %vtable.i.i.i213.i1096, i64 1 + %477 = load ptr, ptr %vfn.i.i.i214.i1097, align 8 call void %477(ptr noundef nonnull align 8 dereferenceable(128) %476) #22 - br label %_ZN7testing7MessageD2Ev.exit215.i1097 + br label %_ZN7testing7MessageD2Ev.exit215.i1098 -_ZN7testing7MessageD2Ev.exit215.i1097: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i1094, %ehcleanup247.i1091 - store ptr null, ptr %ref.tmp236.i880, align 8 - br label %ehcleanup249.i1082 +_ZN7testing7MessageD2Ev.exit215.i1098: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212.i1095, %ehcleanup247.i1092 + store ptr null, ptr %ref.tmp236.i881, align 8 + br label %ehcleanup249.i1083 -if.end248.i1075: ; preds = %_ZN7testing7MessageD2Ev.exit210.i1105, %invoke.cont232.i1073 - %478 = load ptr, ptr %message_.i.i200.i1057, align 8 - %cmp.not.i.i217.i1076 = icmp eq ptr %478, null - br i1 %cmp.not.i.i217.i1076, label %_ZN7testing15AssertionResultD2Ev.exit219.i1078, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i1077 +if.end248.i1076: ; preds = %_ZN7testing7MessageD2Ev.exit210.i1106, %invoke.cont232.i1074 + %478 = load ptr, ptr %message_.i.i200.i1058, align 8 + %cmp.not.i.i217.i1077 = icmp eq ptr %478, null + br i1 %cmp.not.i.i217.i1077, label %_ZN7testing15AssertionResultD2Ev.exit219.i1079, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i1078 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i1077: ; preds = %if.end248.i1075 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i1078: ; preds = %if.end248.i1076 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %478) #22 call void @_ZdlPv(ptr noundef nonnull %478) #23 - br label %_ZN7testing15AssertionResultD2Ev.exit219.i1078 + br label %_ZN7testing15AssertionResultD2Ev.exit219.i1079 -_ZN7testing15AssertionResultD2Ev.exit219.i1078: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i1077, %if.end248.i1075 - store ptr null, ptr %message_.i.i200.i1057, align 8 - %479 = load i32, ptr %n.addr.i839, align 4 +_ZN7testing15AssertionResultD2Ev.exit219.i1079: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218.i1078, %if.end248.i1076 + store ptr null, ptr %message_.i.i200.i1058, align 8 + %479 = load i32, ptr %n.addr.i840, align 4 %480 = sext i32 %479 to i64 - %cmp189.i1079 = icmp slt i64 %indvars.iv.next263.i1060, %480 - br i1 %cmp189.i1079, label %invoke.cont199.i1058, label %for.end252.i958, !llvm.loop !380 - -ehcleanup249.i1082: ; preds = %_ZN7testing7MessageD2Ev.exit215.i1097, %lpad237.i1081 - %.pn36.pn.i1083 = phi { ptr, i32 } [ %.pn36.i1092, %_ZN7testing7MessageD2Ev.exit215.i1097 ], [ %473, %lpad237.i1081 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar220.i877) #22 - br label %ehcleanup253.i918 - -for.end252.i958: ; preds = %_ZN7testing15AssertionResultD2Ev.exit219.i1078, %for.cond188.preheader.i1053, %for.cond177.preheader.i1045, %for.cond115.preheader.i1018, %_ZN7testing15AssertionResultD2Ev.exit131.i956 - %this.val38.i.i959 = load i64, ptr %size_alloc_.i.i.i890, align 8 - %cmp.not11.i.i960 = icmp eq i64 %this.val38.i.i959, 0 - br i1 %cmp.not11.i.i960, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i, label %invoke.cont.preheader.i.i961 - -invoke.cont.preheader.i.i961: ; preds = %for.end252.i958 - %this.val.i.i962 = load ptr, ptr %data_.i2.i.i901, align 8 - %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i963 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 - br label %invoke.cont.i220.i964 - -invoke.cont.i220.i964: ; preds = %invoke.cont.i220.i964, %invoke.cont.preheader.i.i961 - %cur.013.i.i965 = phi ptr [ %incdec.ptr.i.i968, %invoke.cont.i220.i964 ], [ %this.val.i.i962, %invoke.cont.preheader.i.i961 ] - %inc.i.i.i712.i.i966 = phi i32 [ %inc.i.i.i.i.i967, %invoke.cont.i220.i964 ], [ %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i963, %invoke.cont.preheader.i.i961 ] - store ptr null, ptr %cur.013.i.i965, align 8 - %inc.i.i.i.i.i967 = add nsw i32 %inc.i.i.i712.i.i966, 1 - %incdec.ptr.i.i968 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.013.i.i965, i64 1 - %this.val3.i.i969 = load i64, ptr %size_alloc_.i.i.i890, align 8 - %this.val4.i.i970 = load ptr, ptr %data_.i2.i.i901, align 8 - %add.ptr.i.i.i971 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %this.val4.i.i970, i64 %this.val3.i.i969 - %cmp.not.i.i972 = icmp eq ptr %incdec.ptr.i.i968, %add.ptr.i.i.i971 - br i1 %cmp.not.i.i972, label %for.end.i.i973, label %invoke.cont.i220.i964, !llvm.loop !381 - -for.end.i.i973: ; preds = %invoke.cont.i220.i964 - store i32 %inc.i.i.i.i.i967, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 - %481 = icmp ult i64 %this.val3.i.i969, 1001 - br i1 %481, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i, label %invoke.cont4.i.i.i974 - -invoke.cont4.i.i.i974: ; preds = %for.end.i.i973 - call void @_ZdlPv(ptr noundef %this.val4.i.i970) #23 + %cmp189.i1080 = icmp slt i64 %indvars.iv.next263.i1061, %480 + br i1 %cmp189.i1080, label %invoke.cont199.i1059, label %for.end252.i959, !llvm.loop !380 + +ehcleanup249.i1083: ; preds = %_ZN7testing7MessageD2Ev.exit215.i1098, %lpad237.i1082 + %.pn36.pn.i1084 = phi { ptr, i32 } [ %.pn36.i1093, %_ZN7testing7MessageD2Ev.exit215.i1098 ], [ %473, %lpad237.i1082 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar220.i878) #22 + br label %ehcleanup253.i919 + +for.end252.i959: ; preds = %_ZN7testing15AssertionResultD2Ev.exit219.i1079, %for.cond188.preheader.i1054, %for.cond177.preheader.i1046, %for.cond115.preheader.i1019, %_ZN7testing15AssertionResultD2Ev.exit131.i957 + %this.val38.i.i960 = load i64, ptr %size_alloc_.i.i.i891, align 8 + %cmp.not11.i.i961 = icmp eq i64 %this.val38.i.i960, 0 + br i1 %cmp.not11.i.i961, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i, label %invoke.cont.preheader.i.i962 + +invoke.cont.preheader.i.i962: ; preds = %for.end252.i959 + %this.val.i.i963 = load ptr, ptr %data_.i2.i.i902, align 8 + %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i964 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 + br label %invoke.cont.i220.i965 + +invoke.cont.i220.i965: ; preds = %invoke.cont.i220.i965, %invoke.cont.preheader.i.i962 + %cur.013.i.i966 = phi ptr [ %incdec.ptr.i.i969, %invoke.cont.i220.i965 ], [ %this.val.i.i963, %invoke.cont.preheader.i.i962 ] + %inc.i.i.i712.i.i967 = phi i32 [ %inc.i.i.i.i.i968, %invoke.cont.i220.i965 ], [ %_ZN12_GLOBAL__N_118ConstructionTester12destructionsE.promoted.i.i964, %invoke.cont.preheader.i.i962 ] + store ptr null, ptr %cur.013.i.i966, align 8 + %inc.i.i.i.i.i968 = add nsw i32 %inc.i.i.i712.i.i967, 1 + %incdec.ptr.i.i969 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %cur.013.i.i966, i64 1 + %this.val3.i.i970 = load i64, ptr %size_alloc_.i.i.i891, align 8 + %this.val4.i.i971 = load ptr, ptr %data_.i2.i.i902, align 8 + %add.ptr.i.i.i972 = getelementptr inbounds %"class.(anonymous namespace)::ConstructionTester", ptr %this.val4.i.i971, i64 %this.val3.i.i970 + %cmp.not.i.i973 = icmp eq ptr %incdec.ptr.i.i969, %add.ptr.i.i.i972 + br i1 %cmp.not.i.i973, label %for.end.i.i974, label %invoke.cont.i220.i965, !llvm.loop !381 + +for.end.i.i974: ; preds = %invoke.cont.i220.i965 + store i32 %inc.i.i.i.i.i968, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4 + %481 = icmp ult i64 %this.val3.i.i970, 1001 + br i1 %481, label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i, label %invoke.cont4.i.i.i975 + +invoke.cont4.i.i.i975: ; preds = %for.end.i.i974 + call void @_ZdlPv(ptr noundef %this.val4.i.i971) #23 br label %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i -_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i: ; preds = %invoke.cont4.i.i.i974, %for.end.i.i973, %for.end252.i958 +_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i: ; preds = %invoke.cont4.i.i.i975, %for.end.i.i974, %for.end252.i959 %482 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, align 4, !noalias !382 %483 = load i32, ptr @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE, align 4, !noalias !382 - %cmp.i.i.i975 = icmp eq i32 %482, %483 - br i1 %cmp.i.i.i975, label %if.then.i.i.i1011, label %if.end.i.i.i976 + %cmp.i.i.i976 = icmp eq i32 %482, %483 + br i1 %cmp.i.i.i976, label %if.then.i.i.i1012, label %if.end.i.i.i977 -if.then.i.i.i1011: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i - invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i882) - to label %invoke.cont256.i978 unwind label %lpad255.i977 +if.then.i.i.i1012: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i + invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i883) + to label %invoke.cont256.i979 unwind label %lpad255.i978 -if.end.i.i.i976: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i - invoke void @_ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i882, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.203, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE) - to label %invoke.cont256.i978 unwind label %lpad255.i977 +if.end.i.i.i977: ; preds = %_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev.exit.i + invoke void @_ZN7testing8internal18CmpHelperEQFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar254.i883, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.203, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester13constructionsE, ptr noundef nonnull align 4 dereferenceable(4) @_ZN12_GLOBAL__N_118ConstructionTester12destructionsE) + to label %invoke.cont256.i979 unwind label %lpad255.i978 -invoke.cont256.i978: ; preds = %if.end.i.i.i976, %if.then.i.i.i1011 - %484 = load i8, ptr %gtest_ar254.i882, align 8 +invoke.cont256.i979: ; preds = %if.end.i.i.i977, %if.then.i.i.i1012 + %484 = load i8, ptr %gtest_ar254.i883, align 8 %485 = and i8 %484, 1 - %tobool.i223.not.i979 = icmp eq i8 %485, 0 - br i1 %tobool.i223.not.i979, label %if.else259.i984, label %if.end272.i980 + %tobool.i223.not.i980 = icmp eq i8 %485, 0 + br i1 %tobool.i223.not.i980, label %if.else259.i985, label %if.end272.i981 -ehcleanup253.i918: ; preds = %ehcleanup249.i1082, %ehcleanup219.i1108, %ehcleanup172.i1134, %ehcleanup145.i1160, %ehcleanup103.i1186, %ehcleanup77.i1213, %ehcleanup49.i1240, %ehcleanup22.i1267, %lpad5.loopexit.split-lp.loopexit.split-lp.i916, %lpad5.loopexit.split-lp.loopexit.i1027, %lpad5.loopexit.i1063 - %.pn45.i919 = phi { ptr, i32 } [ %.pn42.pn.i1135, %ehcleanup172.i1134 ], [ %.pn39.pn.i1161, %ehcleanup145.i1160 ], [ %.pn36.pn.i1083, %ehcleanup249.i1082 ], [ %.pn33.pn.i1109, %ehcleanup219.i1108 ], [ %.pn27.pn.i1187, %ehcleanup103.i1186 ], [ %.pn24.pn.i1214, %ehcleanup77.i1213 ], [ %.pn21.pn.i1241, %ehcleanup49.i1240 ], [ %.pn.pn.i1268, %ehcleanup22.i1267 ], [ %lpad.loopexit.i1064, %lpad5.loopexit.i1063 ], [ %lpad.loopexit244.i1028, %lpad5.loopexit.split-lp.loopexit.i1027 ], [ %lpad.loopexit.split-lp245.i917, %lpad5.loopexit.split-lp.loopexit.split-lp.i916 ] - call fastcc void @_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(16016) %array.i843) #22 - br label %ehcleanup274.i898 +ehcleanup253.i919: ; preds = %ehcleanup249.i1083, %ehcleanup219.i1109, %ehcleanup172.i1135, %ehcleanup145.i1161, %ehcleanup103.i1187, %ehcleanup77.i1214, %ehcleanup49.i1241, %ehcleanup22.i1268, %lpad5.loopexit.split-lp.loopexit.split-lp.i917, %lpad5.loopexit.split-lp.loopexit.i1028, %lpad5.loopexit.i1064 + %.pn45.i920 = phi { ptr, i32 } [ %.pn42.pn.i1136, %ehcleanup172.i1135 ], [ %.pn39.pn.i1162, %ehcleanup145.i1161 ], [ %.pn36.pn.i1084, %ehcleanup249.i1083 ], [ %.pn33.pn.i1110, %ehcleanup219.i1109 ], [ %.pn27.pn.i1188, %ehcleanup103.i1187 ], [ %.pn24.pn.i1215, %ehcleanup77.i1214 ], [ %.pn21.pn.i1242, %ehcleanup49.i1241 ], [ %.pn.pn.i1269, %ehcleanup22.i1268 ], [ %lpad.loopexit.i1065, %lpad5.loopexit.i1064 ], [ %lpad.loopexit244.i1029, %lpad5.loopexit.split-lp.loopexit.i1028 ], [ %lpad.loopexit.split-lp245.i918, %lpad5.loopexit.split-lp.loopexit.split-lp.i917 ] + call fastcc void @_ZN4absl10FixedArrayIN12_GLOBAL__N_118ConstructionTesterELm1000ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(16016) %array.i844) #22 + br label %ehcleanup274.i899 -lpad255.i977: ; preds = %if.end.i.i.i976, %if.then.i.i.i1011 +lpad255.i978: ; preds = %if.end.i.i.i977, %if.then.i.i.i1012 %486 = landingpad { ptr, i32 } cleanup - br label %ehcleanup274.i898 + br label %ehcleanup274.i899 -if.else259.i984: ; preds = %invoke.cont256.i978 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i883) - to label %invoke.cont262.i988 unwind label %lpad261.i985 +if.else259.i985: ; preds = %invoke.cont256.i979 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i884) + to label %invoke.cont262.i989 unwind label %lpad261.i986 -invoke.cont262.i988: ; preds = %if.else259.i984 - %487 = load ptr, ptr %message_.i.i224.i989, align 8 - %cmp.i.i.not.i.i225.i990 = icmp eq ptr %487, null - br i1 %cmp.i.i.not.i.i225.i990, label %invoke.cont265.i993, label %cond.true.i.i226.i991 +invoke.cont262.i989: ; preds = %if.else259.i985 + %487 = load ptr, ptr %message_.i.i224.i990, align 8 + %cmp.i.i.not.i.i225.i991 = icmp eq ptr %487, null + br i1 %cmp.i.i.not.i.i225.i991, label %invoke.cont265.i994, label %cond.true.i.i226.i992 -cond.true.i.i226.i991: ; preds = %invoke.cont262.i988 - %call4.i.i227.i992 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %487) #22 - br label %invoke.cont265.i993 +cond.true.i.i226.i992: ; preds = %invoke.cont262.i989 + %call4.i.i227.i993 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %487) #22 + br label %invoke.cont265.i994 -invoke.cont265.i993: ; preds = %cond.true.i.i226.i991, %invoke.cont262.i988 - %cond.i.i228.i994 = phi ptr [ %call4.i.i227.i992, %cond.true.i.i226.i991 ], [ @.str.123, %invoke.cont262.i988 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i884, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 293, ptr noundef %cond.i.i228.i994) - to label %invoke.cont267.i1003 unwind label %lpad264.i995 +invoke.cont265.i994: ; preds = %cond.true.i.i226.i992, %invoke.cont262.i989 + %cond.i.i228.i995 = phi ptr [ %call4.i.i227.i993, %cond.true.i.i226.i992 ], [ @.str.123, %invoke.cont262.i989 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i885, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 293, ptr noundef %cond.i.i228.i995) + to label %invoke.cont267.i1004 unwind label %lpad264.i996 -invoke.cont267.i1003: ; preds = %invoke.cont265.i993 - invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i884, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i883) - to label %invoke.cont269.i1005 unwind label %lpad268.i1004 +invoke.cont267.i1004: ; preds = %invoke.cont265.i994 + invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i885, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp260.i884) + to label %invoke.cont269.i1006 unwind label %lpad268.i1005 -invoke.cont269.i1005: ; preds = %invoke.cont267.i1003 - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i884) #22 - %488 = load ptr, ptr %ref.tmp260.i883, align 8 - %cmp.not.i.i230.i1006 = icmp eq ptr %488, null - br i1 %cmp.not.i.i230.i1006, label %_ZN7testing7MessageD2Ev.exit234.i1010, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i1007 +invoke.cont269.i1006: ; preds = %invoke.cont267.i1004 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i885) #22 + %488 = load ptr, ptr %ref.tmp260.i884, align 8 + %cmp.not.i.i230.i1007 = icmp eq ptr %488, null + br i1 %cmp.not.i.i230.i1007, label %_ZN7testing7MessageD2Ev.exit234.i1011, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i1008 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i1007: ; preds = %invoke.cont269.i1005 - %vtable.i.i.i232.i1008 = load ptr, ptr %488, align 8 - %vfn.i.i.i233.i1009 = getelementptr inbounds ptr, ptr %vtable.i.i.i232.i1008, i64 1 - %489 = load ptr, ptr %vfn.i.i.i233.i1009, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i1008: ; preds = %invoke.cont269.i1006 + %vtable.i.i.i232.i1009 = load ptr, ptr %488, align 8 + %vfn.i.i.i233.i1010 = getelementptr inbounds ptr, ptr %vtable.i.i.i232.i1009, i64 1 + %489 = load ptr, ptr %vfn.i.i.i233.i1010, align 8 call void %489(ptr noundef nonnull align 8 dereferenceable(128) %488) #22 - br label %_ZN7testing7MessageD2Ev.exit234.i1010 + br label %_ZN7testing7MessageD2Ev.exit234.i1011 -_ZN7testing7MessageD2Ev.exit234.i1010: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i1007, %invoke.cont269.i1005 - store ptr null, ptr %ref.tmp260.i883, align 8 - br label %if.end272.i980 +_ZN7testing7MessageD2Ev.exit234.i1011: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231.i1008, %invoke.cont269.i1006 + store ptr null, ptr %ref.tmp260.i884, align 8 + br label %if.end272.i981 -lpad261.i985: ; preds = %if.else259.i984 +lpad261.i986: ; preds = %if.else259.i985 %490 = landingpad { ptr, i32 } cleanup - br label %ehcleanup273.i986 + br label %ehcleanup273.i987 -lpad264.i995: ; preds = %invoke.cont265.i993 +lpad264.i996: ; preds = %invoke.cont265.i994 %491 = landingpad { ptr, i32 } cleanup - br label %ehcleanup271.i996 + br label %ehcleanup271.i997 -lpad268.i1004: ; preds = %invoke.cont267.i1003 +lpad268.i1005: ; preds = %invoke.cont267.i1004 %492 = landingpad { ptr, i32 } cleanup - call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i884) #22 - br label %ehcleanup271.i996 + call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp263.i885) #22 + br label %ehcleanup271.i997 -ehcleanup271.i996: ; preds = %lpad268.i1004, %lpad264.i995 - %.pn30.i997 = phi { ptr, i32 } [ %492, %lpad268.i1004 ], [ %491, %lpad264.i995 ] - %493 = load ptr, ptr %ref.tmp260.i883, align 8 - %cmp.not.i.i235.i998 = icmp eq ptr %493, null - br i1 %cmp.not.i.i235.i998, label %_ZN7testing7MessageD2Ev.exit239.i1002, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i999 +ehcleanup271.i997: ; preds = %lpad268.i1005, %lpad264.i996 + %.pn30.i998 = phi { ptr, i32 } [ %492, %lpad268.i1005 ], [ %491, %lpad264.i996 ] + %493 = load ptr, ptr %ref.tmp260.i884, align 8 + %cmp.not.i.i235.i999 = icmp eq ptr %493, null + br i1 %cmp.not.i.i235.i999, label %_ZN7testing7MessageD2Ev.exit239.i1003, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i1000 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i999: ; preds = %ehcleanup271.i996 - %vtable.i.i.i237.i1000 = load ptr, ptr %493, align 8 - %vfn.i.i.i238.i1001 = getelementptr inbounds ptr, ptr %vtable.i.i.i237.i1000, i64 1 - %494 = load ptr, ptr %vfn.i.i.i238.i1001, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i1000: ; preds = %ehcleanup271.i997 + %vtable.i.i.i237.i1001 = load ptr, ptr %493, align 8 + %vfn.i.i.i238.i1002 = getelementptr inbounds ptr, ptr %vtable.i.i.i237.i1001, i64 1 + %494 = load ptr, ptr %vfn.i.i.i238.i1002, align 8 call void %494(ptr noundef nonnull align 8 dereferenceable(128) %493) #22 - br label %_ZN7testing7MessageD2Ev.exit239.i1002 + br label %_ZN7testing7MessageD2Ev.exit239.i1003 -_ZN7testing7MessageD2Ev.exit239.i1002: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i999, %ehcleanup271.i996 - store ptr null, ptr %ref.tmp260.i883, align 8 - br label %ehcleanup273.i986 +_ZN7testing7MessageD2Ev.exit239.i1003: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i236.i1000, %ehcleanup271.i997 + store ptr null, ptr %ref.tmp260.i884, align 8 + br label %ehcleanup273.i987 -if.end272.i980: ; preds = %_ZN7testing7MessageD2Ev.exit234.i1010, %invoke.cont256.i978 - %495 = load ptr, ptr %message_.i.i224.i989, align 8 - %cmp.not.i.i241.i982 = icmp eq ptr %495, null - br i1 %cmp.not.i.i241.i982, label %for.inc19, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i983 +if.end272.i981: ; preds = %_ZN7testing7MessageD2Ev.exit234.i1011, %invoke.cont256.i979 + %495 = load ptr, ptr %message_.i.i224.i990, align 8 + %cmp.not.i.i241.i983 = icmp eq ptr %495, null + br i1 %cmp.not.i.i241.i983, label %for.inc19, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i984 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i983: ; preds = %if.end272.i980 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i984: ; preds = %if.end272.i981 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %495) #22 call void @_ZdlPv(ptr noundef nonnull %495) #23 br label %for.inc19 -ehcleanup273.i986: ; preds = %_ZN7testing7MessageD2Ev.exit239.i1002, %lpad261.i985 - %.pn30.pn.i987 = phi { ptr, i32 } [ %.pn30.i997, %_ZN7testing7MessageD2Ev.exit239.i1002 ], [ %490, %lpad261.i985 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar254.i882) #22 - br label %ehcleanup274.i898 +ehcleanup273.i987: ; preds = %_ZN7testing7MessageD2Ev.exit239.i1003, %lpad261.i986 + %.pn30.pn.i988 = phi { ptr, i32 } [ %.pn30.i998, %_ZN7testing7MessageD2Ev.exit239.i1003 ], [ %490, %lpad261.i986 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar254.i883) #22 + br label %ehcleanup274.i899 -ehcleanup274.i898: ; preds = %lpad2.i897.loopexit, %lpad2.i897.loopexit.split-lp, %ehcleanup273.i986, %lpad255.i977, %ehcleanup253.i918 - %.pn45.pn.i899 = phi { ptr, i32 } [ %.pn45.i919, %ehcleanup253.i918 ], [ %.pn30.pn.i987, %ehcleanup273.i986 ], [ %486, %lpad255.i977 ], [ %lpad.loopexit1331, %lpad2.i897.loopexit ], [ %lpad.loopexit.split-lp1332, %lpad2.i897.loopexit.split-lp ] - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i841) #22 - br label %ehcleanup275.i886 +ehcleanup274.i899: ; preds = %lpad2.i898.loopexit, %lpad2.i898.loopexit.split-lp, %ehcleanup273.i987, %lpad255.i978, %ehcleanup253.i919 + %.pn45.pn.i900 = phi { ptr, i32 } [ %.pn45.i920, %ehcleanup253.i919 ], [ %.pn30.pn.i988, %ehcleanup273.i987 ], [ %486, %lpad255.i978 ], [ %lpad.loopexit1332, %lpad2.i898.loopexit ], [ %lpad.loopexit.split-lp1333, %lpad2.i898.loopexit.split-lp ] + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i842) #22 + br label %ehcleanup275.i887 -ehcleanup275.i886: ; preds = %ehcleanup274.i898, %lpad.i885 - %.pn45.pn.pn.i887 = phi { ptr, i32 } [ %.pn45.pn.i899, %ehcleanup274.i898 ], [ %374, %lpad.i885 ] - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i840) #22 +ehcleanup275.i887: ; preds = %ehcleanup274.i899, %lpad.i886 + %.pn45.pn.pn.i888 = phi { ptr, i32 } [ %.pn45.pn.i900, %ehcleanup274.i899 ], [ %374, %lpad.i886 ] + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i841) #22 br label %lpad.body -for.inc19: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i983, %if.end272.i980 - store ptr null, ptr %message_.i.i224.i989, align 8 - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i841) #22 - call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i840) #22 - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.addr.i839) - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_254.i840) - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_255.i841) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i842) - call void @llvm.lifetime.end.p0(i64 16016, ptr nonnull %array.i843) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar.i844) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i845) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7.i846) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp12.i847) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp15.i848) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar23.i849) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp24.i850) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp29.i851) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp36.i852) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp39.i853) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar50.i854) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp57.i855) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp64.i856) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp67.i857) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar81.i858) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp82.i859) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp90.i860) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp93.i861) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar118.i862) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp119.i863) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp123.i864) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp132.i865) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp135.i866) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar146.i867) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp147.i868) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp151.i869) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp159.i870) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp162.i871) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar191.i872) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp192.i873) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp197.i874) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp206.i875) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp209.i876) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar220.i877) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp221.i878) - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp226.i879) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp236.i880) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp239.i881) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar254.i882) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp260.i883) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp263.i884) - %incdec.ptr.i1300 = getelementptr inbounds i32, ptr %__begin1.sroa.0.01416, i64 1 - %cmp.i.not = icmp eq ptr %__begin1.sroa.0.01416, %add.ptr.i.i32.pn +for.inc19: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242.i984, %if.end272.i981 + store ptr null, ptr %message_.i.i224.i990, align 8 + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_255.i842) #22 + call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_254.i841) #22 + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %n.addr.i840) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_254.i841) + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_255.i842) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp.i843) + call void @llvm.lifetime.end.p0(i64 16016, ptr nonnull %array.i844) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar.i845) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp4.i846) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp7.i847) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp12.i848) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp15.i849) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar23.i850) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp24.i851) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp29.i852) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp36.i853) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp39.i854) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar50.i855) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp57.i856) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp64.i857) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp67.i858) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar81.i859) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp82.i860) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp90.i861) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp93.i862) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar118.i863) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp119.i864) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp123.i865) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp132.i866) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp135.i867) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar146.i868) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp147.i869) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp151.i870) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp159.i871) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp162.i872) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar191.i873) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp192.i874) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp197.i875) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp206.i876) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp209.i877) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar220.i878) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp221.i879) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ref.tmp226.i880) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp236.i881) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp239.i882) + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %gtest_ar254.i883) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp260.i884) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp263.i885) + %incdec.ptr.i1301 = getelementptr inbounds i32, ptr %__begin1.sroa.0.01417, i64 1 + %cmp.i.not = icmp eq ptr %__begin1.sroa.0.01417, %add.ptr.i.i.i.i.i35.pn br i1 %cmp.i.not, label %for.end21, label %for.body13 for.end21: ; preds = %for.inc19, %for.cond11.preheader - %tobool.not.i.i.i1302 = icmp eq ptr %sizes.sroa.0.8, null - br i1 %tobool.not.i.i.i1302, label %_ZNSt6vectorIiSaIiEED2Ev.exit1304, label %if.then.i.i.i1303 + %tobool.not.i.i.i1303 = icmp eq ptr %sizes.sroa.0.8, null + br i1 %tobool.not.i.i.i1303, label %_ZNSt6vectorIiSaIiEED2Ev.exit1305, label %if.then.i.i.i1304 -if.then.i.i.i1303: ; preds = %for.end21 +if.then.i.i.i1304: ; preds = %for.end21 call void @_ZdlPv(ptr noundef nonnull %sizes.sroa.0.8) #23 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit1304 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1305 -_ZNSt6vectorIiSaIiEED2Ev.exit1304: ; preds = %for.end21, %if.then.i.i.i1303 +_ZNSt6vectorIiSaIiEED2Ev.exit1305: ; preds = %for.end21, %if.then.i.i.i1304 ret void } @@ -51951,23 +52022,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0973, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0974, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #23 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -51975,7 +52047,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, %if.then.i.i - %23 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] + %23 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_10FixedArrayIiLm18446744073709551615ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] %inc = add i64 %i.0974, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %24 = load ptr, ptr %23, align 8, !noalias !920 @@ -62959,9 +63031,6 @@ declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #20 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.umax.i64(i64, i64) #21 -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i64 @llvm.smin.i64(i64, i64) #21 - attributes #0 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #1 = { nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #2 = { nofree nounwind } @@ -63000,14 +63069,14 @@ attributes #26 = { noreturn nounwind } !5 = distinct !{!5, !6} !6 = !{!"llvm.loop.mustprogress"} !7 = distinct !{!7, !6} -!8 = !{!9, !11} -!9 = distinct !{!9, !10, !"_ZN7testing16ElementsAreArrayIPKiEENS_8internal23ElementsAreArrayMatcherINSt15iterator_traitsIT_E10value_typeEEES6_S6_: %agg.result"} -!10 = distinct !{!10, !"_ZN7testing16ElementsAreArrayIPKiEENS_8internal23ElementsAreArrayMatcherINSt15iterator_traitsIT_E10value_typeEEES6_S6_"} -!11 = distinct !{!11, !12, !"_ZN7testing16ElementsAreArrayIN4absl10FixedArrayIiLm10ESaIiEEEEEDTcl16ElementsAreArraycldtfp_5beginEcldtfp_3endEEERKT_: %agg.result"} -!12 = distinct !{!12, !"_ZN7testing16ElementsAreArrayIN4absl10FixedArrayIiLm10ESaIiEEEEEDTcl16ElementsAreArraycldtfp_5beginEcldtfp_3endEEERKT_"} -!13 = !{!14} -!14 = distinct !{!14, !15, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_: %agg.result"} -!15 = distinct !{!15, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_"} +!8 = !{!9} +!9 = distinct !{!9, !10, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_: %agg.result"} +!10 = distinct !{!10, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_"} +!11 = !{!12, !14} +!12 = distinct !{!12, !13, !"_ZN7testing16ElementsAreArrayIPKiEENS_8internal23ElementsAreArrayMatcherINSt15iterator_traitsIT_E10value_typeEEES6_S6_: %agg.result"} +!13 = distinct !{!13, !"_ZN7testing16ElementsAreArrayIPKiEENS_8internal23ElementsAreArrayMatcherINSt15iterator_traitsIT_E10value_typeEEES6_S6_"} +!14 = distinct !{!14, !15, !"_ZN7testing16ElementsAreArrayIN4absl10FixedArrayIiLm10ESaIiEEEEEDTcl16ElementsAreArraycldtfp_5beginEcldtfp_3endEEERKT_: %agg.result"} +!15 = distinct !{!15, !"_ZN7testing16ElementsAreArrayIN4absl10FixedArrayIiLm10ESaIiEEEEEDTcl16ElementsAreArraycldtfp_5beginEcldtfp_3endEEERKT_"} !16 = !{!17} !17 = distinct !{!17, !18, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_: %agg.result"} !18 = distinct !{!18, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_"} diff --git a/bench/abseil-cpp/optimized/flat_hash_map_test.cc.ll b/bench/abseil-cpp/optimized/flat_hash_map_test.cc.ll index 4ae7f4e9ee5..8081b841bf8 100644 --- a/bench/abseil-cpp/optimized/flat_hash_map_test.cc.ll +++ b/bench/abseil-cpp/optimized/flat_hash_map_test.cc.ll @@ -17248,7 +17248,7 @@ entry: ret i64 %call2.val } -; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(argmem: readwrite) uwtable +; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable define internal void @_ZN4absl18container_internal12raw_hash_setINS0_17FlatHashMapPolicyIZNS0_12_GLOBAL__N_131FlatHashMap_StandardLayout_Test8TestBodyEvE3IntS5_EEZNS4_8TestBodyEvE4HashSt8equal_toIS5_ESaISt4pairIKS5_S5_EEE16transfer_slot_fnEPvSF_SF_(ptr nocapture readnone %set, ptr nocapture noundef writeonly %dst, ptr nocapture noundef readonly %src) #23 align 2 { entry: tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %dst, ptr noundef nonnull align 8 dereferenceable(16) %src, i64 16, i1 false) @@ -23832,23 +23832,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #37 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -29413,23 +29414,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #37 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -99899,8 +99901,7 @@ _ZN7testing15AssertionResultD2Ev.exit91: ; preds = %if.end74, %_ZNKSt14 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i92 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i92 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i92, label %if.then.i.i.i.i.i.i94, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i if.then.i.i.i.i.i.i94: ; preds = %_ZN7testing15AssertionResultD2Ev.exit91 @@ -99919,7 +99920,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad17 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %47 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %47 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i96, ptr align 4 %values.sroa.0.1, i64 %47, i1 false), !noalias !1789 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i96, i64 %47 br label %invoke.cont81 @@ -99927,7 +99928,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont81: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp78.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i96, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp78.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp78.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp77, align 8, !alias.scope !1794 %matchers_.i.i.i97 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp77, i64 0, i32 1 store ptr %agg.tmp78.sroa.2.0, ptr %matchers_.i.i.i97, align 8, !alias.scope !1794 @@ -100720,7 +100721,7 @@ _ZNKSt6vectorISt4pairIiiESaIS1_EE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.els to label %call5.i.i.i.i.i.noexc unwind label %lpad.loopexit call5.i.i.i.i.i.noexc: ; preds = %_ZNKSt6vectorISt4pairIiiESaIS1_EE12_M_check_lenEmPKc.exit.i.i - %add.ptr.i.i = getelementptr inbounds %"struct.std::pair.31", ptr %call5.i.i.i.i.i10, i64 %sub.ptr.div.i.i.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i10, i64 %sub.ptr.sub.i.i.i.i %14 = load i32, ptr %__begin0.sroa.6.036, align 4 store i32 %14, ptr %add.ptr.i.i, align 4 %second.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.31", ptr %call5.i.i.i.i.i10, i64 %sub.ptr.div.i.i.i.i, i32 1 @@ -101908,23 +101909,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #37 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -106344,7 +106346,7 @@ _ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS _ZNSt12_Vector_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE17_S_check_init_lenEmRKS9_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"struct.std::pair.605", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, int>, std::allocator, int>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESt6vectorISA_SaISA_EEEEPSA_SA_ET0_T_SJ_SI_RSaIT1_E.exit @@ -106352,7 +106354,7 @@ _ZNSt12_Vector_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE17_S_check_init_lenEmRKS9_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.605", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, int>, std::allocator, int>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -106878,23 +106880,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %23, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %23) #37 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -108423,7 +108426,6 @@ _ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE %2 = load ptr, ptr %_M_finish.i, align 8 %sub.ptr.lhs.cast.i6 = ptrtoint ptr %2 to i64 %sub.ptr.sub.i8 = sub i64 %sub.ptr.lhs.cast.i6, %sub.ptr.rhs.cast.i - %sub.ptr.div.i9 = sdiv exact i64 %sub.ptr.sub.i8, 40 %mul.i.i.i = mul nuw nsw i64 %__n, 40 %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #38 %cmp.not5.i.i.i = icmp eq ptr %1, %2 @@ -108460,7 +108462,7 @@ if.then.i: ; preds = %_ZNSt6vectorISt4pai _ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE13_M_deallocateEPS7_m.exit: ; preds = %_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS7_EE11_S_relocateEPS7_SA_SA_RS8_.exit, %if.then.i store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.609", ptr %call5.i.i.i, i64 %sub.ptr.div.i9 + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i8 store ptr %add.ptr, ptr %_M_finish.i, align 8 %add.ptr21 = getelementptr inbounds %"struct.std::pair.609", ptr %call5.i.i.i, i64 %__n store ptr %add.ptr21, ptr %_M_end_of_storage.i, align 8 @@ -111497,7 +111499,7 @@ _ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx11 _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE17_S_check_init_lenEmRKSD_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"struct.std::pair.658", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorISE_SaISE_EEEEPSE_SE_ET0_T_SN_SM_RSaIT1_E.exit @@ -111505,7 +111507,7 @@ _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7 for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE17_S_check_init_lenEmRKSD_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.658", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -112032,23 +112034,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %23, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %23) #37 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -113579,7 +113582,6 @@ _ZNSt12_Vector_baseISt4pairIN4absl18container_internal13hash_internal4EnumENSt7_ %2 = load ptr, ptr %_M_finish.i, align 8 %sub.ptr.lhs.cast.i6 = ptrtoint ptr %2 to i64 %sub.ptr.sub.i8 = sub i64 %sub.ptr.lhs.cast.i6, %sub.ptr.rhs.cast.i - %sub.ptr.div.i9 = sdiv exact i64 %sub.ptr.sub.i8, 40 %mul.i.i.i = mul nuw nsw i64 %__n, 40 %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #38 %cmp.not5.i.i.i = icmp eq ptr %1, %2 @@ -113616,7 +113618,7 @@ if.then.i: ; preds = %_ZNSt6vectorISt4pai _ZNSt12_Vector_baseISt4pairIN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISB_EE13_M_deallocateEPSB_m.exit: ; preds = %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISB_EE11_S_relocateEPSB_SE_SE_RSC_.exit, %if.then.i store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.661", ptr %call5.i.i.i, i64 %sub.ptr.div.i9 + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i8 store ptr %add.ptr, ptr %_M_finish.i, align 8 %add.ptr21 = getelementptr inbounds %"struct.std::pair.661", ptr %call5.i.i.i, i64 %__n store ptr %add.ptr21, ptr %_M_end_of_storage.i, align 8 @@ -114563,8 +114565,7 @@ _ZN7testing15AssertionResultD2Ev.exit86: ; preds = %if.end74, %_ZNKSt14 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %49 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %50 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit86 @@ -114583,7 +114584,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad17 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %51 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %51 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i88, ptr align 8 %49, i64 %51, i1 false), !noalias !2130 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i88, i64 %51 br label %invoke.cont81 @@ -114591,7 +114592,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont81: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp78.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i88, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp78.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp78.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp77, align 8, !alias.scope !2133 %matchers_.i.i.i89 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp77, i64 0, i32 1 store ptr %agg.tmp78.sroa.2.0, ptr %matchers_.i.i.i89, align 8, !alias.scope !2133 @@ -116590,23 +116591,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %25, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %25, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %25) #37 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -117995,7 +117997,7 @@ _ZNKSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS tail call void @llvm.assume(i1 %cmp.not.i.i) %mul.i.i.i.i = shl nuw nsw i64 %cond.i.i, 4 %call5.i.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #38 - %add.ptr.i = getelementptr inbounds %"struct.std::pair.713", ptr %call5.i.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i, i64 %sub.ptr.sub.i.i.i %6 = load i64, ptr %__args, align 8 store i64 %6, ptr %add.ptr.i, align 8 %second.i.i.i.i = getelementptr inbounds %"struct.std::pair.713", ptr %call5.i.i.i.i, i64 %sub.ptr.div.i.i.i, i32 1 @@ -121276,7 +121278,7 @@ _ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17 _ZNSt12_Vector_baseISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"struct.std::pair.762", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt4pairIKiN4absl18container_internal17NonStandardLayoutEESt6vectorIS7_SaIS7_EEEEPS7_S7_ET0_T_SG_SF_RSaIT1_E.exit @@ -121284,7 +121286,7 @@ _ZNSt12_Vector_baseISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaI for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.762", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -121819,23 +121821,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %23, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %23) #37 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -126750,7 +126753,7 @@ _ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17 _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"struct.std::pair.813", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt4pairIKN4absl18container_internal17NonStandardLayoutEiESt6vectorIS7_SaIS7_EEEEPS7_S7_ET0_T_SG_SF_RSaIT1_E.exit @@ -126758,7 +126761,7 @@ _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaI for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.813", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -127294,23 +127297,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %23, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %23) #37 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -130309,8 +130313,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %__first.coerce4.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i31 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i31 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i31, label %if.then.i.i.i.i.i.i33, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i if.then.i.i.i.i.i.i33: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -130329,7 +130332,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad16 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %21 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %21 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i35, ptr align 4 %values.sroa.0.1, i64 %21, i1 false), !noalias !2416 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i35, i64 %21 br label %invoke.cont37 @@ -130337,7 +130340,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont37: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp34.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i35, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp34.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp34.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp33, align 8, !alias.scope !2421 %matchers_.i.i.i36 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp33, i64 0, i32 1 store ptr %agg.tmp34.sroa.2.0, ptr %matchers_.i.i.i36, align 8, !alias.scope !2421 @@ -133434,8 +133437,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %__first.coerce4.i.i.i.i.i = ptrtoint ptr %23 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %24 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -133454,7 +133456,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad16 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %25 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %25 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i27, ptr align 8 %23, i64 %25, i1 false), !noalias !2491 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i27, i64 %25 br label %invoke.cont37 @@ -133462,7 +133464,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont37: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp34.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i27, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp34.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp34.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp33, align 8, !alias.scope !2494 %matchers_.i.i.i28 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp33, i64 0, i32 1 store ptr %agg.tmp34.sroa.2.0, ptr %matchers_.i.i.i28, align 8, !alias.scope !2494 @@ -136995,8 +136997,7 @@ _ZN7testing15AssertionResultD2Ev.exit60: ; preds = %if.end52, %_ZNKSt14 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i61 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i61 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i61, label %if.then.i.i.i.i.i.i63, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i if.then.i.i.i.i.i.i63: ; preds = %_ZN7testing15AssertionResultD2Ev.exit60 @@ -137015,7 +137016,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad16 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %34 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %34 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i65, ptr align 4 %values.sroa.0.1, i64 %34, i1 false), !noalias !2593 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i65, i64 %34 br label %invoke.cont59 @@ -137023,7 +137024,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont59: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp56.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i65, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp56.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp56.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp55, align 8, !alias.scope !2598 %matchers_.i.i.i66 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp55, i64 0, i32 1 store ptr %agg.tmp56.sroa.2.0, ptr %matchers_.i.i.i66, align 8, !alias.scope !2598 @@ -140473,8 +140474,7 @@ _ZN7testing15AssertionResultD2Ev.exit55: ; preds = %if.end52, %_ZNKSt14 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %36 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %37 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 @@ -140493,7 +140493,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad16 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %38 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %38 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i57, ptr align 8 %36, i64 %38, i1 false), !noalias !2692 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i57, i64 %38 br label %invoke.cont59 @@ -140501,7 +140501,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont59: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp56.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i57, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp56.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp56.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp55, align 8, !alias.scope !2695 %matchers_.i.i.i58 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp55, i64 0, i32 1 store ptr %agg.tmp56.sroa.2.0, ptr %matchers_.i.i.i58, align 8, !alias.scope !2695 @@ -178258,7 +178258,7 @@ _ZN7testing15AssertionResultD2Ev.exit83: ; preds = %if.end76, %_ZNKSt14 to label %invoke.cont84 unwind label %lpad19 invoke.cont84: ; preds = %_ZN7testing15AssertionResultD2Ev.exit83 - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.35", ptr %call5.i.i.i.i1.i.i.i.i84, i64 5 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i84, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i84, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !4077 store i32 3, ptr %ref.tmp79, align 8, !alias.scope !4082 %matchers_.i.i.i85 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp79, i64 0, i32 1 @@ -180068,7 +180068,7 @@ _ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS _ZNSt12_Vector_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE17_S_check_init_lenEmRKS9_.exit store ptr null, ptr %this, align 8 - %add.ptr7 = getelementptr inbounds %"struct.std::pair.605", ptr null, i64 %sub.ptr.div.i.i + %add.ptr7 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i %_M_end_of_storage8 = getelementptr inbounds %"struct.std::_Vector_base, int>, std::allocator, int>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr7, ptr %_M_end_of_storage8, align 8 br label %_ZSt22__uninitialized_copy_aIPKSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEPS8_S8_ET0_T_SD_SC_RSaIT1_E.exit @@ -180076,7 +180076,7 @@ _ZNSt12_Vector_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE17_S_check_init_lenEmRKS9_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.605", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, int>, std::allocator, int>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -181541,7 +181541,7 @@ _ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx11 _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE17_S_check_init_lenEmRKSD_.exit store ptr null, ptr %this, align 8 - %add.ptr7 = getelementptr inbounds %"struct.std::pair.658", ptr null, i64 %sub.ptr.div.i.i + %add.ptr7 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i %_M_end_of_storage8 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr7, ptr %_M_end_of_storage8, align 8 br label %_ZSt22__uninitialized_copy_aIPKSt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPSC_SC_ET0_T_SH_SG_RSaIT1_E.exit @@ -181549,7 +181549,7 @@ _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7 for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE17_S_check_init_lenEmRKSD_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.658", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -182447,7 +182447,7 @@ _ZN7testing15AssertionResultD2Ev.exit83: ; preds = %if.end76, %_ZNKSt14 to label %invoke.cont84 unwind label %lpad19 invoke.cont84: ; preds = %_ZN7testing15AssertionResultD2Ev.exit83 - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.709", ptr %call5.i.i.i.i1.i.i.i.i84, i64 5 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i84, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %call5.i.i.i.i1.i.i.i.i84, ptr noundef nonnull align 8 dereferenceable(80) %ref.tmp, i64 80, i1 false), !noalias !4221 store i32 3, ptr %ref.tmp79, align 8, !alias.scope !4226 %matchers_.i.i.i85 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp79, i64 0, i32 1 @@ -184275,7 +184275,7 @@ _ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17 _ZNSt12_Vector_baseISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr7 = getelementptr inbounds %"struct.std::pair.762", ptr null, i64 %sub.ptr.div.i.i + %add.ptr7 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i %_M_end_of_storage8 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr7, ptr %_M_end_of_storage8, align 8 br label %_ZSt22__uninitialized_copy_aIPKSt4pairIKiN4absl18container_internal17NonStandardLayoutEEPS5_S5_ET0_T_SA_S9_RSaIT1_E.exit @@ -184283,7 +184283,7 @@ _ZNSt12_Vector_baseISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaI for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.762", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -185451,7 +185451,7 @@ _ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17 _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr7 = getelementptr inbounds %"struct.std::pair.813", ptr null, i64 %sub.ptr.div.i.i + %add.ptr7 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i %_M_end_of_storage8 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr7, ptr %_M_end_of_storage8, align 8 br label %_ZSt22__uninitialized_copy_aIPKSt4pairIKN4absl18container_internal17NonStandardLayoutEiEPS5_S5_ET0_T_SA_S9_RSaIT1_E.exit @@ -185459,7 +185459,7 @@ _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaI for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.813", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -186531,7 +186531,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de to label %invoke.cont38 unwind label %lpad16 invoke.cont38: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %add.ptr.i.i.i.i.i23 = getelementptr inbounds %"struct.std::pair.35", ptr %call5.i.i.i.i1.i.i.i.i24, i64 5 + %add.ptr.i.i.i.i.i23 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i24, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i24, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !4355 store i32 3, ptr %ref.tmp33, align 8, !alias.scope !4360 %matchers_.i.i.i25 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp33, i64 0, i32 1 @@ -189602,7 +189602,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de to label %invoke.cont38 unwind label %lpad16 invoke.cont38: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %add.ptr.i.i.i.i.i23 = getelementptr inbounds %"struct.std::pair.709", ptr %call5.i.i.i.i1.i.i.i.i24, i64 5 + %add.ptr.i.i.i.i.i23 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i24, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %call5.i.i.i.i1.i.i.i.i24, ptr noundef nonnull align 8 dereferenceable(80) %ref.tmp, i64 80, i1 false), !noalias !4425 store i32 3, ptr %ref.tmp33, align 8, !alias.scope !4430 %matchers_.i.i.i25 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp33, i64 0, i32 1 @@ -192987,7 +192987,7 @@ _ZN7testing15AssertionResultD2Ev.exit51: ; preds = %if.end50, %_ZNKSt14 to label %invoke.cont58 unwind label %lpad14 invoke.cont58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit51 - %add.ptr.i.i.i.i.i52 = getelementptr inbounds %"struct.std::pair.35", ptr %call5.i.i.i.i1.i.i.i.i53, i64 5 + %add.ptr.i.i.i.i.i52 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i53, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i53, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !4522 store i32 3, ptr %ref.tmp53, align 8, !alias.scope !4527 %matchers_.i.i.i54 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp53, i64 0, i32 1 @@ -196408,7 +196408,7 @@ _ZN7testing15AssertionResultD2Ev.exit51: ; preds = %if.end50, %_ZNKSt14 to label %invoke.cont58 unwind label %lpad14 invoke.cont58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit51 - %add.ptr.i.i.i.i.i52 = getelementptr inbounds %"struct.std::pair.709", ptr %call5.i.i.i.i1.i.i.i.i53, i64 5 + %add.ptr.i.i.i.i.i52 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i53, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %call5.i.i.i.i1.i.i.i.i53, ptr noundef nonnull align 8 dereferenceable(80) %ref.tmp, i64 80, i1 false), !noalias !4616 store i32 3, ptr %ref.tmp53, align 8, !alias.scope !4621 %matchers_.i.i.i54 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp53, i64 0, i32 1 @@ -213502,7 +213502,7 @@ _ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20Sta to label %invoke.cont32 unwind label %lpad16 invoke.cont32: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.35", ptr %call5.i.i.i.i1.i.i.i.i12, i64 5 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i12, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i12, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !5025 store i32 3, ptr %ref.tmp27, align 8, !alias.scope !5030 %matchers_.i.i.i13 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp27, i64 0, i32 1 @@ -215963,7 +215963,7 @@ _ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19 to label %invoke.cont32 unwind label %lpad16 invoke.cont32: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.709", ptr %call5.i.i.i.i1.i.i.i.i12, i64 5 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i12, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %call5.i.i.i.i1.i.i.i.i12, ptr noundef nonnull align 8 dereferenceable(80) %ref.tmp, i64 80, i1 false), !noalias !5071 store i32 3, ptr %ref.tmp27, align 8, !alias.scope !5076 %matchers_.i.i.i13 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp27, i64 0, i32 1 @@ -228959,7 +228959,7 @@ _ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20Sta to label %invoke.cont32 unwind label %lpad16 invoke.cont32: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.35", ptr %call5.i.i.i.i1.i.i.i.i12, i64 5 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i12, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i12, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !5388 store i32 3, ptr %ref.tmp27, align 8, !alias.scope !5393 %matchers_.i.i.i13 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp27, i64 0, i32 1 @@ -231420,7 +231420,7 @@ _ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19 to label %invoke.cont32 unwind label %lpad16 invoke.cont32: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.709", ptr %call5.i.i.i.i1.i.i.i.i12, i64 5 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i12, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %call5.i.i.i.i1.i.i.i.i12, ptr noundef nonnull align 8 dereferenceable(80) %ref.tmp, i64 80, i1 false), !noalias !5434 store i32 3, ptr %ref.tmp27, align 8, !alias.scope !5439 %matchers_.i.i.i13 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp27, i64 0, i32 1 @@ -233886,7 +233886,7 @@ invoke.cont22: ; preds = %invoke.cont16 to label %invoke.cont29 unwind label %lpad21 invoke.cont29: ; preds = %invoke.cont22 - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.35", ptr %call5.i.i.i.i1.i.i.i.i10, i64 5 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i10, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i10, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !5496 store i32 3, ptr %ref.tmp24, align 8, !alias.scope !5501 %matchers_.i.i.i11 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp24, i64 0, i32 1 @@ -236206,7 +236206,7 @@ invoke.cont22: ; preds = %invoke.cont16 to label %invoke.cont29 unwind label %lpad21 invoke.cont29: ; preds = %invoke.cont22 - %add.ptr.i.i.i.i.i = getelementptr inbounds %"struct.std::pair.709", ptr %call5.i.i.i.i1.i.i.i.i10, i64 5 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i10, i64 80 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %call5.i.i.i.i1.i.i.i.i10, ptr noundef nonnull align 8 dereferenceable(80) %ref.tmp, i64 80, i1 false), !noalias !5542 store i32 3, ptr %ref.tmp24, align 8, !alias.scope !5547 %matchers_.i.i.i11 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp24, i64 0, i32 1 @@ -290291,8 +290291,7 @@ invoke.cont21: ; preds = %invoke.cont15 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %4 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -290311,7 +290310,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad24 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i16, ptr align 4 %4, i64 %6, i1 false), !noalias !6936 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i16, i64 %6 br label %invoke.cont27 @@ -290319,7 +290318,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont27: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !6939 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !6939 @@ -294418,8 +294417,7 @@ invoke.cont21: ; preds = %invoke.cont15 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %4 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -294438,7 +294436,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad24 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i16, ptr align 8 %4, i64 %6, i1 false), !noalias !7036 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i16, i64 %6 br label %invoke.cont27 @@ -294446,7 +294444,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont27: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !7039 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !7039 @@ -311153,8 +311151,7 @@ invoke.cont17: ; preds = %invoke.cont17.loope %__first.coerce4.i.i.i.i.i = ptrtoint ptr %24 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %23 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont17 @@ -311173,7 +311170,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad16.loopexit.split-lp call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %25 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %25 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i9, ptr align 4 %24, i64 %25, i1 false), !noalias !7532 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i9, i64 %25 br label %invoke.cont21 @@ -311181,7 +311178,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont21: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp18.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i9, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp, align 8, !alias.scope !7535 %matchers_.i.i.i10 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp, i64 0, i32 1 store ptr %agg.tmp18.sroa.2.0, ptr %matchers_.i.i.i10, align 8, !alias.scope !7535 @@ -313431,8 +313428,7 @@ invoke.cont17: ; preds = %invoke.cont17.loope %__first.coerce4.i.i.i.i.i = ptrtoint ptr %24 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %23 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont17 @@ -313451,7 +313447,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad16.loopexit.split-lp call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %25 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %25 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i9, ptr align 8 %24, i64 %25, i1 false), !noalias !7591 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i9, i64 %25 br label %invoke.cont21 @@ -313459,7 +313455,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont21: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp18.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i9, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp, align 8, !alias.scope !7594 %matchers_.i.i.i10 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp, i64 0, i32 1 store ptr %agg.tmp18.sroa.2.0, ptr %matchers_.i.i.i10, align 8, !alias.scope !7594 @@ -344508,8 +344504,7 @@ invoke.cont21: ; preds = %invoke.cont15 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %4 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -344528,7 +344523,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad24 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i28, ptr align 4 %4, i64 %6, i1 false), !noalias !8319 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i28, i64 %6 br label %invoke.cont27 @@ -344536,7 +344531,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont27: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i28, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !8322 %matchers_.i.i.i29 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i29, align 8, !alias.scope !8322 @@ -345144,8 +345139,7 @@ _ZN7testing15AssertionResultD2Ev.exit117: ; preds = %if.end129, %_ZNKSt1 %__first.coerce4.i.i.i.i = ptrtoint ptr %values2.sroa.0.0.lcssa to i64 %__last.coerce3.i.i.i.i = ptrtoint ptr %values2.sroa.7.0.lcssa to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i, %__first.coerce4.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i120 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i120 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i120, label %if.then.i.i.i.i.i124, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i if.then.i.i.i.i.i124: ; preds = %_ZN7testing15AssertionResultD2Ev.exit117 @@ -345163,7 +345157,7 @@ for.body.i.i.i.i.preheader.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.noexc unwind label %lpad62.loopexit.split-lp call5.i.i.i.i1.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i - %83 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i, -8 + %83 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i126, ptr align 4 %values2.sroa.0.0.lcssa, i64 %83, i1 false), !noalias !8331 %scevgep.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i126, i64 %83 br label %invoke.cont144 @@ -345171,7 +345165,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont144: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp133.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i126, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i ] %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %scevgep.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i ] - %agg.tmp133.sroa.10.0 = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp133.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp133.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp133.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp132, align 8, !alias.scope !8334 %matchers_.i.i.i130 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp132, i64 0, i32 1 store ptr %agg.tmp133.sroa.2.0, ptr %matchers_.i.i.i130, align 8, !alias.scope !8334 @@ -346932,7 +346926,7 @@ _ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS _ZNSt12_Vector_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE17_S_check_init_lenEmRKS9_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"struct.std::pair.605", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, int>, std::allocator, int>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESt6vectorISA_SaISA_EEEESB_SA_ET0_T_SH_SG_RSaIT1_E.exit @@ -346940,7 +346934,7 @@ _ZNSt12_Vector_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiESaIS8_EE17_S_check_init_lenEmRKS9_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.605", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, int>, std::allocator, int>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -348500,7 +348494,7 @@ _ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx11 _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE17_S_check_init_lenEmRKSD_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"struct.std::pair.658", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorISE_SaISE_EEEESF_SE_ET0_T_SL_SK_RSaIT1_E.exit @@ -348508,7 +348502,7 @@ _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7 for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal4EnumENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaISC_EE17_S_check_init_lenEmRKSD_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.658", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -349005,8 +348999,7 @@ invoke.cont21: ; preds = %invoke.cont15 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %4 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -349025,7 +349018,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad24 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i28, ptr align 8 %4, i64 %6, i1 false), !noalias !8406 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i28, i64 %6 br label %invoke.cont27 @@ -349033,7 +349026,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont27: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i28, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !8409 %matchers_.i.i.i29 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i29, align 8, !alias.scope !8409 @@ -349639,8 +349632,7 @@ _ZN7testing15AssertionResultD2Ev.exit117: ; preds = %if.end129, %_ZNKSt1 %__first.coerce4.i.i.i.i = ptrtoint ptr %values2.sroa.0.0.lcssa to i64 %__last.coerce3.i.i.i.i = ptrtoint ptr %values2.sroa.7.0.lcssa to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i, %__first.coerce4.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i120 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i120 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i120, label %if.then.i.i.i.i.i124, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i if.then.i.i.i.i.i124: ; preds = %_ZN7testing15AssertionResultD2Ev.exit117 @@ -349658,7 +349650,7 @@ for.body.i.i.i.i.preheader.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.noexc unwind label %lpad62.loopexit.split-lp call5.i.i.i.i1.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i - %79 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i, -16 + %79 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i126, ptr align 8 %values2.sroa.0.0.lcssa, i64 %79, i1 false), !noalias !8417 %scevgep.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i126, i64 %79 br label %invoke.cont144 @@ -349666,7 +349658,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont144: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp133.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i126, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i ] %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %scevgep.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i ] - %agg.tmp133.sroa.10.0 = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp133.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp133.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp133.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp132, align 8, !alias.scope !8420 %matchers_.i.i.i130 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp132, i64 0, i32 1 store ptr %agg.tmp133.sroa.2.0, ptr %matchers_.i.i.i130, align 8, !alias.scope !8420 @@ -351500,7 +351492,7 @@ _ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17 _ZNSt12_Vector_baseISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"struct.std::pair.762", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSt4pairIKiN4absl18container_internal17NonStandardLayoutEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit @@ -351508,7 +351500,7 @@ _ZNSt12_Vector_baseISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaI for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKiN4absl18container_internal17NonStandardLayoutEESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.762", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -352934,7 +352926,7 @@ _ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17 _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"struct.std::pair.813", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPSt4pairIKN4absl18container_internal17NonStandardLayoutEiESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit @@ -352942,7 +352934,7 @@ _ZNSt12_Vector_baseISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaI for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal17NonStandardLayoutEiESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #38 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.813", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -353851,8 +353843,7 @@ invoke.cont21: ; preds = %invoke.cont15 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %4 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -353871,7 +353862,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad24.loopexit.split-lp call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i16, ptr align 4 %4, i64 %6, i1 false), !noalias !8511 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i16, i64 %6 br label %invoke.cont27 @@ -353879,7 +353870,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont27: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !8514 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !8514 @@ -357223,8 +357214,7 @@ invoke.cont21: ; preds = %invoke.cont15 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %4 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -357243,7 +357233,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad24.loopexit.split-lp call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i16, ptr align 8 %4, i64 %6, i1 false), !noalias !8563 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i16, i64 %6 br label %invoke.cont27 @@ -357251,7 +357241,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont27: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !8566 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !8566 @@ -360898,8 +360888,7 @@ invoke.cont21: ; preds = %invoke.cont15 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %4 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i _ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i: ; preds = %invoke.cont21 @@ -360911,7 +360900,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad24 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i21, ptr align 4 %4, i64 %6, i1 false), !noalias !8634 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i21, i64 %6 br label %invoke.cont27 @@ -360919,7 +360908,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont27: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i21, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !8637 %matchers_.i.i.i22 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i22, align 8, !alias.scope !8637 @@ -361473,8 +361462,7 @@ _ZN7testing15AssertionResultD2Ev.exit99: ; preds = %if.end100, %_ZNKSt1 %__first.coerce4.i.i.i.i = ptrtoint ptr %add.ptr.i to i64 %__last.coerce3.i.i.i.i = ptrtoint ptr %87 to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i, %__first.coerce4.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i102 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i102 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i102, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i if.then.i.i.i.i.i105.invoke: ; preds = %invoke.cont21, %_ZN7testing15AssertionResultD2Ev.exit99 @@ -361493,7 +361481,7 @@ for.body.i.i.i.i.preheader.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.noexc unwind label %lpad24 call5.i.i.i.i1.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i - %88 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i, -8 + %88 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i107, ptr nonnull align 4 %add.ptr.i, i64 %88, i1 false), !noalias !8649 %scevgep.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i107, i64 %88 br label %invoke.cont118 @@ -361501,7 +361489,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont118: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp104.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i107, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i ] %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %scevgep.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i ] - %agg.tmp104.sroa.10.0 = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp104.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp103, align 8, !alias.scope !8652 %matchers_.i.i.i111 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp103, i64 0, i32 1 store ptr %agg.tmp104.sroa.2.0, ptr %matchers_.i.i.i111, align 8, !alias.scope !8652 @@ -365029,8 +365017,7 @@ invoke.cont21: ; preds = %invoke.cont15 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %4 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i _ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i: ; preds = %invoke.cont21 @@ -365042,7 +365029,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad24 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %6 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i21, ptr align 8 %4, i64 %6, i1 false), !noalias !8735 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i21, i64 %6 br label %invoke.cont27 @@ -365050,7 +365037,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont27: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i21, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !8738 %matchers_.i.i.i22 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i22, align 8, !alias.scope !8738 @@ -365606,8 +365593,7 @@ _ZN7testing15AssertionResultD2Ev.exit99: ; preds = %if.end100, %_ZNKSt1 %__first.coerce4.i.i.i.i = ptrtoint ptr %add.ptr.i to i64 %__last.coerce3.i.i.i.i = ptrtoint ptr %86 to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i, %__first.coerce4.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i102 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i.i102 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i.i102, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i if.then.i.i.i.i.i105.invoke: ; preds = %invoke.cont21, %_ZN7testing15AssertionResultD2Ev.exit99 @@ -365626,7 +365612,7 @@ for.body.i.i.i.i.preheader.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.noexc unwind label %lpad24 call5.i.i.i.i1.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i - %87 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i, -16 + %87 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i107, ptr nonnull align 8 %add.ptr.i, i64 %87, i1 false), !noalias !8750 %scevgep.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i107, i64 %87 br label %invoke.cont118 @@ -365634,7 +365620,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont118: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp104.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i107, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i ] %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %scevgep.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i ] - %agg.tmp104.sroa.10.0 = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp104.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp103, align 8, !alias.scope !8753 %matchers_.i.i.i111 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp103, i64 0, i32 1 store ptr %agg.tmp104.sroa.2.0, ptr %matchers_.i.i.i111, align 8, !alias.scope !8753 @@ -369361,9 +369347,8 @@ invoke.cont48: ; preds = %invoke.cont42 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %8 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %9 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i204.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i201.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i _ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i: ; preds = %invoke.cont48 %cmp.not.i.i.i.i.i.i = icmp eq ptr %9, %8 @@ -369374,7 +369359,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad51 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %10 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -8 + %10 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i32, ptr align 4 %8, i64 %10, i1 false), !noalias !8852 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i32, i64 %10 br label %invoke.cont54 @@ -369382,7 +369367,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont54: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp50.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i32, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp49, align 8, !alias.scope !8855 %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp49, i64 0, i32 1 store ptr %agg.tmp50.sroa.2.0, ptr %matchers_.i.i.i33, align 8, !alias.scope !8855 @@ -369436,7 +369421,7 @@ lpad47: ; preds = %invoke.cont42 cleanup br label %ehcleanup170 -lpad51: ; preds = %if.then.i.i.i.i.i.i204.invoke, %for.body.i.i.i.i.preheader.i.i.i.i.i198, %for.body.i.i.i.i.preheader.i.i.i.i.i129, %for.body.i.i.i.i.preheader.i.i.i.i.i60, %for.body.i.i.i.i.preheader.i.i.i.i.i +lpad51: ; preds = %if.then.i.i.i.i.i.i201.invoke, %for.body.i.i.i.i.preheader.i.i.i.i.i195, %for.body.i.i.i.i.preheader.i.i.i.i.i127, %for.body.i.i.i.i.preheader.i.i.i.i.i59, %for.body.i.i.i.i.preheader.i.i.i.i.i %18 = landingpad { ptr, i32 } cleanup br label %ehcleanup169 @@ -369558,35 +369543,34 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %__first.coerce4.i.i.i.i.i53 = ptrtoint ptr %32 to i64 %__last.coerce3.i.i.i.i.i54 = ptrtoint ptr %33 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 = sub i64 %__last.coerce3.i.i.i.i.i54, %__first.coerce4.i.i.i.i.i53 - %sub.ptr.div.i.i.i.i.i.i.i.i56 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 3 - %cmp.i.i.i.i.i.i57 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i56, 1152921504606846975 - br i1 %cmp.i.i.i.i.i.i57, label %if.then.i.i.i.i.i.i204.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i58 - -_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %cmp.not.i.i.i.i.i.i59 = icmp eq ptr %33, %32 - br i1 %cmp.not.i.i.i.i.i.i59, label %invoke.cont80, label %for.body.i.i.i.i.preheader.i.i.i.i.i60 - -for.body.i.i.i.i.preheader.i.i.i.i.i60: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i58 - %call5.i.i.i.i1.i.i.i.i69 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i55) #38 - to label %call5.i.i.i.i1.i.i.i.i.noexc68 unwind label %lpad51 - -call5.i.i.i.i1.i.i.i.i.noexc68: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i60 - %34 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, -8 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i69, ptr align 4 %32, i64 %34, i1 false), !noalias !8861 - %scevgep.i.i.i.i.i61 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i69, i64 %34 + %cmp.i.i.i.i.i.i56 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 9223372036854775800 + br i1 %cmp.i.i.i.i.i.i56, label %if.then.i.i.i.i.i.i201.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i57 + +_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i57: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + %cmp.not.i.i.i.i.i.i58 = icmp eq ptr %33, %32 + br i1 %cmp.not.i.i.i.i.i.i58, label %invoke.cont80, label %for.body.i.i.i.i.preheader.i.i.i.i.i59 + +for.body.i.i.i.i.preheader.i.i.i.i.i59: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i57 + %call5.i.i.i.i1.i.i.i.i68 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i55) #38 + to label %call5.i.i.i.i1.i.i.i.i.noexc67 unwind label %lpad51 + +call5.i.i.i.i1.i.i.i.i.noexc67: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i59 + %34 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 9223372036854775800 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i68, ptr align 4 %32, i64 %34, i1 false), !noalias !8861 + %scevgep.i.i.i.i.i60 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i68, i64 %34 br label %invoke.cont80 -invoke.cont80: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i58, %call5.i.i.i.i1.i.i.i.i.noexc68 - %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i58 ], [ %call5.i.i.i.i1.i.i.i.i69, %call5.i.i.i.i1.i.i.i.i.noexc68 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.i.i63 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i58 ], [ %scevgep.i.i.i.i.i61, %call5.i.i.i.i1.i.i.i.i.noexc68 ] - %add.ptr.i.i.i.i.sink.i64 = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i56 +invoke.cont80: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i57, %call5.i.i.i.i1.i.i.i.i.noexc67 + %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i57 ], [ %call5.i.i.i.i1.i.i.i.i68, %call5.i.i.i.i1.i.i.i.i.noexc67 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.i.i62 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i57 ], [ %scevgep.i.i.i.i.i60, %call5.i.i.i.i1.i.i.i.i.noexc67 ] + %add.ptr.i.i.i.i.sink.i63 = getelementptr inbounds i8, ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 store i32 3, ptr %ref.tmp76, align 8, !alias.scope !8864 - %matchers_.i.i.i74 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp76, i64 0, i32 1 - store ptr %agg.tmp77.sroa.2.0, ptr %matchers_.i.i.i74, align 8, !alias.scope !8864 - %_M_finish.i.i.i.i.i.i.i75 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i63, ptr %_M_finish.i.i.i.i.i.i.i75, align 8, !alias.scope !8864 - %_M_end_of_storage.i.i.i.i.i.i.i76 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i64, ptr %_M_end_of_storage.i.i.i.i.i.i.i76, align 8, !alias.scope !8864 + %matchers_.i.i.i73 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp76, i64 0, i32 1 + store ptr %agg.tmp77.sroa.2.0, ptr %matchers_.i.i.i73, align 8, !alias.scope !8864 + %_M_finish.i.i.i.i.i.i.i74 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i62, ptr %_M_finish.i.i.i.i.i.i.i74, align 8, !alias.scope !8864 + %_M_end_of_storage.i.i.i.i.i.i.i75 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.sink.i63, ptr %_M_end_of_storage.i.i.i.i.i.i.i75, align 8, !alias.scope !8864 invoke void @_ZN4absl18container_internal5itemsINS_13flat_hash_mapIiiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocISt4pairIKiiEEEEEEESt6vectorIS6_INT_8key_typeENSC_11mapped_typeEESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.957") align 8 %ref.tmp81, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont83 unwind label %lpad82 @@ -369596,27 +369580,27 @@ invoke.cont83: ; preds = %invoke.cont80 invoke.cont85: ; preds = %invoke.cont83 %35 = load ptr, ptr %ref.tmp81, align 8 - %tobool.not.i.i.i77 = icmp eq ptr %35, null - br i1 %tobool.not.i.i.i77, label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit79, label %if.then.i.i.i78 + %tobool.not.i.i.i76 = icmp eq ptr %35, null + br i1 %tobool.not.i.i.i76, label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit78, label %if.then.i.i.i77 -if.then.i.i.i78: ; preds = %invoke.cont85 +if.then.i.i.i77: ; preds = %invoke.cont85 call void @_ZdlPv(ptr noundef nonnull %35) #37 - br label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit79 + br label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit78 -_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit79: ; preds = %invoke.cont85, %if.then.i.i.i78 - %36 = load ptr, ptr %matchers_.i.i.i74, align 8 - %tobool.not.i.i.i.i.i81 = icmp eq ptr %36, null - br i1 %tobool.not.i.i.i.i.i81, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit87, label %if.then.i.i.i.i.i82 +_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit78: ; preds = %invoke.cont85, %if.then.i.i.i77 + %36 = load ptr, ptr %matchers_.i.i.i73, align 8 + %tobool.not.i.i.i.i.i80 = icmp eq ptr %36, null + br i1 %tobool.not.i.i.i.i.i80, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit86, label %if.then.i.i.i.i.i81 -if.then.i.i.i.i.i82: ; preds = %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit79 +if.then.i.i.i.i.i81: ; preds = %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit78 call void @_ZdlPv(ptr noundef nonnull %36) #37 - br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit87 + br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit86 -_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit87: ; preds = %if.then.i.i.i.i.i82, %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit79 +_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit86: ; preds = %if.then.i.i.i.i.i81, %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit78 %37 = load i8, ptr %gtest_ar75, align 8 %38 = and i8 %37, 1 - %tobool.i88.not = icmp eq i8 %38, 0 - br i1 %tobool.i88.not, label %if.else91, label %if.end104 + %tobool.i87.not = icmp eq i8 %38, 0 + br i1 %tobool.i87.not, label %if.else91, label %if.end104 ehcleanup74: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad63 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit49 ], [ %26, %lpad63 ] @@ -369632,40 +369616,40 @@ lpad84: ; preds = %invoke.cont83 %40 = landingpad { ptr, i32 } cleanup %41 = load ptr, ptr %ref.tmp81, align 8 - %tobool.not.i.i.i89 = icmp eq ptr %41, null - br i1 %tobool.not.i.i.i89, label %ehcleanup87, label %if.then.i.i.i90 + %tobool.not.i.i.i88 = icmp eq ptr %41, null + br i1 %tobool.not.i.i.i88, label %ehcleanup87, label %if.then.i.i.i89 -if.then.i.i.i90: ; preds = %lpad84 +if.then.i.i.i89: ; preds = %lpad84 call void @_ZdlPv(ptr noundef nonnull %41) #37 br label %ehcleanup87 -ehcleanup87: ; preds = %if.then.i.i.i90, %lpad84, %lpad82 - %.pn6 = phi { ptr, i32 } [ %39, %lpad82 ], [ %40, %lpad84 ], [ %40, %if.then.i.i.i90 ] - %42 = load ptr, ptr %matchers_.i.i.i74, align 8 - %tobool.not.i.i.i.i.i93 = icmp eq ptr %42, null - br i1 %tobool.not.i.i.i.i.i93, label %ehcleanup169, label %if.then.i.i.i.i.i94 +ehcleanup87: ; preds = %if.then.i.i.i89, %lpad84, %lpad82 + %.pn6 = phi { ptr, i32 } [ %39, %lpad82 ], [ %40, %lpad84 ], [ %40, %if.then.i.i.i89 ] + %42 = load ptr, ptr %matchers_.i.i.i73, align 8 + %tobool.not.i.i.i.i.i92 = icmp eq ptr %42, null + br i1 %tobool.not.i.i.i.i.i92, label %ehcleanup169, label %if.then.i.i.i.i.i93 -if.then.i.i.i.i.i94: ; preds = %ehcleanup87 +if.then.i.i.i.i.i93: ; preds = %ehcleanup87 call void @_ZdlPv(ptr noundef nonnull %42) #37 br label %ehcleanup169 -if.else91: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit87 +if.else91: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit86 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92) to label %invoke.cont94 unwind label %lpad93 invoke.cont94: ; preds = %if.else91 - %message_.i.i100 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 - %43 = load ptr, ptr %message_.i.i100, align 8 - %cmp.i.i.not.i.i101 = icmp eq ptr %43, null - br i1 %cmp.i.i.not.i.i101, label %invoke.cont97, label %cond.true.i.i102 + %message_.i.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 + %43 = load ptr, ptr %message_.i.i99, align 8 + %cmp.i.i.not.i.i100 = icmp eq ptr %43, null + br i1 %cmp.i.i.not.i.i100, label %invoke.cont97, label %cond.true.i.i101 -cond.true.i.i102: ; preds = %invoke.cont94 - %call4.i.i103 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %43) #33 +cond.true.i.i101: ; preds = %invoke.cont94 + %call4.i.i102 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %43) #33 br label %invoke.cont97 -invoke.cont97: ; preds = %cond.true.i.i102, %invoke.cont94 - %cond.i.i104 = phi ptr [ %call4.i.i103, %cond.true.i.i102 ], [ @.str.191, %invoke.cont94 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 291, ptr noundef %cond.i.i104) +invoke.cont97: ; preds = %cond.true.i.i101, %invoke.cont94 + %cond.i.i103 = phi ptr [ %call4.i.i102, %cond.true.i.i101 ], [ @.str.191, %invoke.cont94 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 291, ptr noundef %cond.i.i103) to label %invoke.cont99 unwind label %lpad96 invoke.cont99: ; preds = %invoke.cont97 @@ -369675,17 +369659,17 @@ invoke.cont99: ; preds = %invoke.cont97 invoke.cont101: ; preds = %invoke.cont99 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95) #33 %44 = load ptr, ptr %ref.tmp92, align 8 - %cmp.not.i.i106 = icmp eq ptr %44, null - br i1 %cmp.not.i.i106, label %_ZN7testing7MessageD2Ev.exit110, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107 + %cmp.not.i.i105 = icmp eq ptr %44, null + br i1 %cmp.not.i.i105, label %_ZN7testing7MessageD2Ev.exit109, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107: ; preds = %invoke.cont101 - %vtable.i.i.i108 = load ptr, ptr %44, align 8 - %vfn.i.i.i109 = getelementptr inbounds ptr, ptr %vtable.i.i.i108, i64 1 - %45 = load ptr, ptr %vfn.i.i.i109, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106: ; preds = %invoke.cont101 + %vtable.i.i.i107 = load ptr, ptr %44, align 8 + %vfn.i.i.i108 = getelementptr inbounds ptr, ptr %vtable.i.i.i107, i64 1 + %45 = load ptr, ptr %vfn.i.i.i108, align 8 call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #33 - br label %_ZN7testing7MessageD2Ev.exit110 + br label %_ZN7testing7MessageD2Ev.exit109 -_ZN7testing7MessageD2Ev.exit110: ; preds = %invoke.cont101, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107 +_ZN7testing7MessageD2Ev.exit109: ; preds = %invoke.cont101, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 store ptr null, ptr %ref.tmp92, align 8 br label %if.end104 @@ -369708,33 +369692,33 @@ lpad100: ; preds = %invoke.cont99 ehcleanup103: ; preds = %lpad100, %lpad96 %.pn9 = phi { ptr, i32 } [ %48, %lpad100 ], [ %47, %lpad96 ] %49 = load ptr, ptr %ref.tmp92, align 8 - %cmp.not.i.i111 = icmp eq ptr %49, null - br i1 %cmp.not.i.i111, label %_ZN7testing7MessageD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 + %cmp.not.i.i110 = icmp eq ptr %49, null + br i1 %cmp.not.i.i110, label %_ZN7testing7MessageD2Ev.exit114, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112: ; preds = %ehcleanup103 - %vtable.i.i.i113 = load ptr, ptr %49, align 8 - %vfn.i.i.i114 = getelementptr inbounds ptr, ptr %vtable.i.i.i113, i64 1 - %50 = load ptr, ptr %vfn.i.i.i114, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111: ; preds = %ehcleanup103 + %vtable.i.i.i112 = load ptr, ptr %49, align 8 + %vfn.i.i.i113 = getelementptr inbounds ptr, ptr %vtable.i.i.i112, i64 1 + %50 = load ptr, ptr %vfn.i.i.i113, align 8 call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #33 - br label %_ZN7testing7MessageD2Ev.exit115 + br label %_ZN7testing7MessageD2Ev.exit114 -_ZN7testing7MessageD2Ev.exit115: ; preds = %ehcleanup103, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 +_ZN7testing7MessageD2Ev.exit114: ; preds = %ehcleanup103, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 store ptr null, ptr %ref.tmp92, align 8 br label %ehcleanup105 -if.end104: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit87, %_ZN7testing7MessageD2Ev.exit110 - %message_.i116 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 - %51 = load ptr, ptr %message_.i116, align 8 - %cmp.not.i.i117 = icmp eq ptr %51, null - br i1 %cmp.not.i.i117, label %invoke.cont106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118 +if.end104: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit86, %_ZN7testing7MessageD2Ev.exit109 + %message_.i115 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 + %51 = load ptr, ptr %message_.i115, align 8 + %cmp.not.i.i116 = icmp eq ptr %51, null + br i1 %cmp.not.i.i116, label %invoke.cont106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118: ; preds = %if.end104 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117: ; preds = %if.end104 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #33 call void @_ZdlPv(ptr noundef nonnull %51) #37 br label %invoke.cont106 -invoke.cont106: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118, %if.end104 - store ptr null, ptr %message_.i116, align 8 +invoke.cont106: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117, %if.end104 + store ptr null, ptr %message_.i115, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %__tmp.i.i) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %__tmp.i.i, ptr noundef nonnull align 8 dereferenceable(32) %m1, i64 32, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %m1, ptr noundef nonnull align 8 dereferenceable(32) %m2, i64 32, i1 false) @@ -369754,38 +369738,37 @@ invoke.cont106: ; preds = %_ZNKSt14default_del store i64 %54, ptr %add.ptr.i.i8.i, align 8 %56 = load ptr, ptr %v2, align 8, !noalias !8867 %57 = load ptr, ptr %_M_finish.i28, align 8, !noalias !8867 - %__first.coerce4.i.i.i.i.i122 = ptrtoint ptr %56 to i64 - %__last.coerce3.i.i.i.i.i123 = ptrtoint ptr %57 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i124 = sub i64 %__last.coerce3.i.i.i.i.i123, %__first.coerce4.i.i.i.i.i122 - %sub.ptr.div.i.i.i.i.i.i.i.i125 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i124, 3 - %cmp.i.i.i.i.i.i126 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i125, 1152921504606846975 - br i1 %cmp.i.i.i.i.i.i126, label %if.then.i.i.i.i.i.i204.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i127 - -_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i127: ; preds = %invoke.cont106 - %cmp.not.i.i.i.i.i.i128 = icmp eq ptr %57, %56 - br i1 %cmp.not.i.i.i.i.i.i128, label %invoke.cont112, label %for.body.i.i.i.i.preheader.i.i.i.i.i129 - -for.body.i.i.i.i.preheader.i.i.i.i.i129: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i127 - %call5.i.i.i.i1.i.i.i.i138 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i124) #38 - to label %call5.i.i.i.i1.i.i.i.i.noexc137 unwind label %lpad51 - -call5.i.i.i.i1.i.i.i.i.noexc137: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i129 - %58 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i124, -8 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i138, ptr align 4 %56, i64 %58, i1 false), !noalias !8870 - %scevgep.i.i.i.i.i130 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i138, i64 %58 + %__first.coerce4.i.i.i.i.i121 = ptrtoint ptr %56 to i64 + %__last.coerce3.i.i.i.i.i122 = ptrtoint ptr %57 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i123 = sub i64 %__last.coerce3.i.i.i.i.i122, %__first.coerce4.i.i.i.i.i121 + %cmp.i.i.i.i.i.i124 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i123, 9223372036854775800 + br i1 %cmp.i.i.i.i.i.i124, label %if.then.i.i.i.i.i.i201.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i125 + +_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i125: ; preds = %invoke.cont106 + %cmp.not.i.i.i.i.i.i126 = icmp eq ptr %57, %56 + br i1 %cmp.not.i.i.i.i.i.i126, label %invoke.cont112, label %for.body.i.i.i.i.preheader.i.i.i.i.i127 + +for.body.i.i.i.i.preheader.i.i.i.i.i127: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i125 + %call5.i.i.i.i1.i.i.i.i136 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i123) #38 + to label %call5.i.i.i.i1.i.i.i.i.noexc135 unwind label %lpad51 + +call5.i.i.i.i1.i.i.i.i.noexc135: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i127 + %58 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i123, 9223372036854775800 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i136, ptr align 4 %56, i64 %58, i1 false), !noalias !8870 + %scevgep.i.i.i.i.i128 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i136, i64 %58 br label %invoke.cont112 -invoke.cont112: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i127, %call5.i.i.i.i1.i.i.i.i.noexc137 - %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i127 ], [ %call5.i.i.i.i1.i.i.i.i138, %call5.i.i.i.i1.i.i.i.i.noexc137 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.i.i132 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i127 ], [ %scevgep.i.i.i.i.i130, %call5.i.i.i.i1.i.i.i.i.noexc137 ] - %add.ptr.i.i.i.i.sink.i133 = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i125 +invoke.cont112: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i125, %call5.i.i.i.i1.i.i.i.i.noexc135 + %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i125 ], [ %call5.i.i.i.i1.i.i.i.i136, %call5.i.i.i.i1.i.i.i.i.noexc135 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.i.i130 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i125 ], [ %scevgep.i.i.i.i.i128, %call5.i.i.i.i1.i.i.i.i.noexc135 ] + %add.ptr.i.i.i.i.sink.i131 = getelementptr inbounds i8, ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i123 store i32 3, ptr %ref.tmp108, align 8, !alias.scope !8873 - %matchers_.i.i.i143 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp108, i64 0, i32 1 - store ptr %agg.tmp109.sroa.2.0, ptr %matchers_.i.i.i143, align 8, !alias.scope !8873 - %_M_finish.i.i.i.i.i.i.i144 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i132, ptr %_M_finish.i.i.i.i.i.i.i144, align 8, !alias.scope !8873 - %_M_end_of_storage.i.i.i.i.i.i.i145 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i133, ptr %_M_end_of_storage.i.i.i.i.i.i.i145, align 8, !alias.scope !8873 + %matchers_.i.i.i141 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp108, i64 0, i32 1 + store ptr %agg.tmp109.sroa.2.0, ptr %matchers_.i.i.i141, align 8, !alias.scope !8873 + %_M_finish.i.i.i.i.i.i.i142 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i130, ptr %_M_finish.i.i.i.i.i.i.i142, align 8, !alias.scope !8873 + %_M_end_of_storage.i.i.i.i.i.i.i143 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.sink.i131, ptr %_M_end_of_storage.i.i.i.i.i.i.i143, align 8, !alias.scope !8873 invoke void @_ZN4absl18container_internal5itemsINS_13flat_hash_mapIiiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocISt4pairIKiiEEEEEEESt6vectorIS6_INT_8key_typeENSC_11mapped_typeEESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.957") align 8 %ref.tmp113, ptr noundef nonnull align 8 dereferenceable(56) %m1) to label %invoke.cont115 unwind label %lpad114 @@ -369795,30 +369778,30 @@ invoke.cont115: ; preds = %invoke.cont112 invoke.cont117: ; preds = %invoke.cont115 %59 = load ptr, ptr %ref.tmp113, align 8 - %tobool.not.i.i.i146 = icmp eq ptr %59, null - br i1 %tobool.not.i.i.i146, label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit148, label %if.then.i.i.i147 + %tobool.not.i.i.i144 = icmp eq ptr %59, null + br i1 %tobool.not.i.i.i144, label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit146, label %if.then.i.i.i145 -if.then.i.i.i147: ; preds = %invoke.cont117 +if.then.i.i.i145: ; preds = %invoke.cont117 call void @_ZdlPv(ptr noundef nonnull %59) #37 - br label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit148 + br label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit146 -_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit148: ; preds = %invoke.cont117, %if.then.i.i.i147 - %60 = load ptr, ptr %matchers_.i.i.i143, align 8 - %tobool.not.i.i.i.i.i150 = icmp eq ptr %60, null - br i1 %tobool.not.i.i.i.i.i150, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit156, label %if.then.i.i.i.i.i151 +_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit146: ; preds = %invoke.cont117, %if.then.i.i.i145 + %60 = load ptr, ptr %matchers_.i.i.i141, align 8 + %tobool.not.i.i.i.i.i148 = icmp eq ptr %60, null + br i1 %tobool.not.i.i.i.i.i148, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit154, label %if.then.i.i.i.i.i149 -if.then.i.i.i.i.i151: ; preds = %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit148 +if.then.i.i.i.i.i149: ; preds = %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit146 call void @_ZdlPv(ptr noundef nonnull %60) #37 - br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit156 + br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit154 -_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit156: ; preds = %if.then.i.i.i.i.i151, %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit148 +_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit154: ; preds = %if.then.i.i.i.i.i149, %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit146 %61 = load i8, ptr %gtest_ar107, align 8 %62 = and i8 %61, 1 - %tobool.i157.not = icmp eq i8 %62, 0 - br i1 %tobool.i157.not, label %if.else123, label %if.end136 + %tobool.i155.not = icmp eq i8 %62, 0 + br i1 %tobool.i155.not, label %if.else123, label %if.end136 -ehcleanup105: ; preds = %_ZN7testing7MessageD2Ev.exit115, %lpad93 - %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit115 ], [ %46, %lpad93 ] +ehcleanup105: ; preds = %_ZN7testing7MessageD2Ev.exit114, %lpad93 + %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit114 ], [ %46, %lpad93 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar75) #33 br label %ehcleanup169 @@ -369831,40 +369814,40 @@ lpad116: ; preds = %invoke.cont115 %64 = landingpad { ptr, i32 } cleanup %65 = load ptr, ptr %ref.tmp113, align 8 - %tobool.not.i.i.i158 = icmp eq ptr %65, null - br i1 %tobool.not.i.i.i158, label %ehcleanup119, label %if.then.i.i.i159 + %tobool.not.i.i.i156 = icmp eq ptr %65, null + br i1 %tobool.not.i.i.i156, label %ehcleanup119, label %if.then.i.i.i157 -if.then.i.i.i159: ; preds = %lpad116 +if.then.i.i.i157: ; preds = %lpad116 call void @_ZdlPv(ptr noundef nonnull %65) #37 br label %ehcleanup119 -ehcleanup119: ; preds = %if.then.i.i.i159, %lpad116, %lpad114 - %.pn12 = phi { ptr, i32 } [ %63, %lpad114 ], [ %64, %lpad116 ], [ %64, %if.then.i.i.i159 ] - %66 = load ptr, ptr %matchers_.i.i.i143, align 8 - %tobool.not.i.i.i.i.i162 = icmp eq ptr %66, null - br i1 %tobool.not.i.i.i.i.i162, label %ehcleanup169, label %if.then.i.i.i.i.i163 +ehcleanup119: ; preds = %if.then.i.i.i157, %lpad116, %lpad114 + %.pn12 = phi { ptr, i32 } [ %63, %lpad114 ], [ %64, %lpad116 ], [ %64, %if.then.i.i.i157 ] + %66 = load ptr, ptr %matchers_.i.i.i141, align 8 + %tobool.not.i.i.i.i.i160 = icmp eq ptr %66, null + br i1 %tobool.not.i.i.i.i.i160, label %ehcleanup169, label %if.then.i.i.i.i.i161 -if.then.i.i.i.i.i163: ; preds = %ehcleanup119 +if.then.i.i.i.i.i161: ; preds = %ehcleanup119 call void @_ZdlPv(ptr noundef nonnull %66) #37 br label %ehcleanup169 -if.else123: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit156 +if.else123: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit154 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp124) to label %invoke.cont126 unwind label %lpad125 invoke.cont126: ; preds = %if.else123 - %message_.i.i169 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar107, i64 0, i32 1 - %67 = load ptr, ptr %message_.i.i169, align 8 - %cmp.i.i.not.i.i170 = icmp eq ptr %67, null - br i1 %cmp.i.i.not.i.i170, label %invoke.cont129, label %cond.true.i.i171 + %message_.i.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar107, i64 0, i32 1 + %67 = load ptr, ptr %message_.i.i167, align 8 + %cmp.i.i.not.i.i168 = icmp eq ptr %67, null + br i1 %cmp.i.i.not.i.i168, label %invoke.cont129, label %cond.true.i.i169 -cond.true.i.i171: ; preds = %invoke.cont126 - %call4.i.i172 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #33 +cond.true.i.i169: ; preds = %invoke.cont126 + %call4.i.i170 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #33 br label %invoke.cont129 -invoke.cont129: ; preds = %cond.true.i.i171, %invoke.cont126 - %cond.i.i173 = phi ptr [ %call4.i.i172, %cond.true.i.i171 ], [ @.str.191, %invoke.cont126 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 293, ptr noundef %cond.i.i173) +invoke.cont129: ; preds = %cond.true.i.i169, %invoke.cont126 + %cond.i.i171 = phi ptr [ %call4.i.i170, %cond.true.i.i169 ], [ @.str.191, %invoke.cont126 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 293, ptr noundef %cond.i.i171) to label %invoke.cont131 unwind label %lpad128 invoke.cont131: ; preds = %invoke.cont129 @@ -369874,17 +369857,17 @@ invoke.cont131: ; preds = %invoke.cont129 invoke.cont133: ; preds = %invoke.cont131 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127) #33 %68 = load ptr, ptr %ref.tmp124, align 8 - %cmp.not.i.i175 = icmp eq ptr %68, null - br i1 %cmp.not.i.i175, label %_ZN7testing7MessageD2Ev.exit179, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 + %cmp.not.i.i173 = icmp eq ptr %68, null + br i1 %cmp.not.i.i173, label %_ZN7testing7MessageD2Ev.exit177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176: ; preds = %invoke.cont133 - %vtable.i.i.i177 = load ptr, ptr %68, align 8 - %vfn.i.i.i178 = getelementptr inbounds ptr, ptr %vtable.i.i.i177, i64 1 - %69 = load ptr, ptr %vfn.i.i.i178, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174: ; preds = %invoke.cont133 + %vtable.i.i.i175 = load ptr, ptr %68, align 8 + %vfn.i.i.i176 = getelementptr inbounds ptr, ptr %vtable.i.i.i175, i64 1 + %69 = load ptr, ptr %vfn.i.i.i176, align 8 call void %69(ptr noundef nonnull align 8 dereferenceable(128) %68) #33 - br label %_ZN7testing7MessageD2Ev.exit179 + br label %_ZN7testing7MessageD2Ev.exit177 -_ZN7testing7MessageD2Ev.exit179: ; preds = %invoke.cont133, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 +_ZN7testing7MessageD2Ev.exit177: ; preds = %invoke.cont133, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 store ptr null, ptr %ref.tmp124, align 8 br label %if.end136 @@ -369907,74 +369890,73 @@ lpad132: ; preds = %invoke.cont131 ehcleanup135: ; preds = %lpad132, %lpad128 %.pn15 = phi { ptr, i32 } [ %72, %lpad132 ], [ %71, %lpad128 ] %73 = load ptr, ptr %ref.tmp124, align 8 - %cmp.not.i.i180 = icmp eq ptr %73, null - br i1 %cmp.not.i.i180, label %_ZN7testing7MessageD2Ev.exit184, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 + %cmp.not.i.i178 = icmp eq ptr %73, null + br i1 %cmp.not.i.i178, label %_ZN7testing7MessageD2Ev.exit182, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181: ; preds = %ehcleanup135 - %vtable.i.i.i182 = load ptr, ptr %73, align 8 - %vfn.i.i.i183 = getelementptr inbounds ptr, ptr %vtable.i.i.i182, i64 1 - %74 = load ptr, ptr %vfn.i.i.i183, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179: ; preds = %ehcleanup135 + %vtable.i.i.i180 = load ptr, ptr %73, align 8 + %vfn.i.i.i181 = getelementptr inbounds ptr, ptr %vtable.i.i.i180, i64 1 + %74 = load ptr, ptr %vfn.i.i.i181, align 8 call void %74(ptr noundef nonnull align 8 dereferenceable(128) %73) #33 - br label %_ZN7testing7MessageD2Ev.exit184 + br label %_ZN7testing7MessageD2Ev.exit182 -_ZN7testing7MessageD2Ev.exit184: ; preds = %ehcleanup135, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 +_ZN7testing7MessageD2Ev.exit182: ; preds = %ehcleanup135, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179 store ptr null, ptr %ref.tmp124, align 8 br label %ehcleanup137 -if.end136: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit156, %_ZN7testing7MessageD2Ev.exit179 - %message_.i185 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar107, i64 0, i32 1 - %75 = load ptr, ptr %message_.i185, align 8 - %cmp.not.i.i186 = icmp eq ptr %75, null - br i1 %cmp.not.i.i186, label %_ZN7testing15AssertionResultD2Ev.exit188, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 +if.end136: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit154, %_ZN7testing7MessageD2Ev.exit177 + %message_.i183 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar107, i64 0, i32 1 + %75 = load ptr, ptr %message_.i183, align 8 + %cmp.not.i.i184 = icmp eq ptr %75, null + br i1 %cmp.not.i.i184, label %_ZN7testing15AssertionResultD2Ev.exit186, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187: ; preds = %if.end136 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185: ; preds = %if.end136 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #33 call void @_ZdlPv(ptr noundef nonnull %75) #37 - br label %_ZN7testing15AssertionResultD2Ev.exit188 + br label %_ZN7testing15AssertionResultD2Ev.exit186 -_ZN7testing15AssertionResultD2Ev.exit188: ; preds = %if.end136, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 - store ptr null, ptr %message_.i185, align 8 +_ZN7testing15AssertionResultD2Ev.exit186: ; preds = %if.end136, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 + store ptr null, ptr %message_.i183, align 8 %76 = load ptr, ptr %v1, align 8, !noalias !8876 %77 = load ptr, ptr %_M_finish.i, align 8, !noalias !8876 - %__first.coerce4.i.i.i.i.i191 = ptrtoint ptr %76 to i64 - %__last.coerce3.i.i.i.i.i192 = ptrtoint ptr %77 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i193 = sub i64 %__last.coerce3.i.i.i.i.i192, %__first.coerce4.i.i.i.i.i191 - %sub.ptr.div.i.i.i.i.i.i.i.i194 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i193, 3 - %cmp.i.i.i.i.i.i195 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i194, 1152921504606846975 - br i1 %cmp.i.i.i.i.i.i195, label %if.then.i.i.i.i.i.i204.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i196 - -if.then.i.i.i.i.i.i204.invoke: ; preds = %invoke.cont48, %_ZN7testing15AssertionResultD2Ev.exit188, %invoke.cont106, %_ZN7testing15AssertionResultD2Ev.exit + %__first.coerce4.i.i.i.i.i189 = ptrtoint ptr %76 to i64 + %__last.coerce3.i.i.i.i.i190 = ptrtoint ptr %77 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i191 = sub i64 %__last.coerce3.i.i.i.i.i190, %__first.coerce4.i.i.i.i.i189 + %cmp.i.i.i.i.i.i192 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i191, 9223372036854775800 + br i1 %cmp.i.i.i.i.i.i192, label %if.then.i.i.i.i.i.i201.invoke, label %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i193 + +if.then.i.i.i.i.i.i201.invoke: ; preds = %invoke.cont48, %_ZN7testing15AssertionResultD2Ev.exit186, %invoke.cont106, %_ZN7testing15AssertionResultD2Ev.exit invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.205) #35 - to label %if.then.i.i.i.i.i.i204.cont unwind label %lpad51 + to label %if.then.i.i.i.i.i.i201.cont unwind label %lpad51 -if.then.i.i.i.i.i.i204.cont: ; preds = %if.then.i.i.i.i.i.i204.invoke +if.then.i.i.i.i.i.i201.cont: ; preds = %if.then.i.i.i.i.i.i201.invoke unreachable -_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i196: ; preds = %_ZN7testing15AssertionResultD2Ev.exit188 - %cmp.not.i.i.i.i.i.i197 = icmp eq ptr %77, %76 - br i1 %cmp.not.i.i.i.i.i.i197, label %invoke.cont143, label %for.body.i.i.i.i.preheader.i.i.i.i.i198 +_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i193: ; preds = %_ZN7testing15AssertionResultD2Ev.exit186 + %cmp.not.i.i.i.i.i.i194 = icmp eq ptr %77, %76 + br i1 %cmp.not.i.i.i.i.i.i194, label %invoke.cont143, label %for.body.i.i.i.i.preheader.i.i.i.i.i195 -for.body.i.i.i.i.preheader.i.i.i.i.i198: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i196 - %call5.i.i.i.i1.i.i.i.i207 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i193) #38 - to label %call5.i.i.i.i1.i.i.i.i.noexc206 unwind label %lpad51 +for.body.i.i.i.i.preheader.i.i.i.i.i195: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i193 + %call5.i.i.i.i1.i.i.i.i204 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i191) #38 + to label %call5.i.i.i.i1.i.i.i.i.noexc203 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc206: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i198 - %78 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i193, -8 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i207, ptr align 4 %76, i64 %78, i1 false), !noalias !8879 - %scevgep.i.i.i.i.i199 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i207, i64 %78 +call5.i.i.i.i1.i.i.i.i.noexc203: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i195 + %78 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i191, 9223372036854775800 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i204, ptr align 4 %76, i64 %78, i1 false), !noalias !8879 + %scevgep.i.i.i.i.i196 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i204, i64 %78 br label %invoke.cont143 -invoke.cont143: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i196, %call5.i.i.i.i1.i.i.i.i.noexc206 - %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i196 ], [ %call5.i.i.i.i1.i.i.i.i207, %call5.i.i.i.i1.i.i.i.i.noexc206 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.i.i201 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i196 ], [ %scevgep.i.i.i.i.i199, %call5.i.i.i.i1.i.i.i.i.noexc206 ] - %add.ptr.i.i.i.i.sink.i202 = getelementptr inbounds %"struct.std::pair.35", ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i194 +invoke.cont143: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i193, %call5.i.i.i.i1.i.i.i.i.noexc203 + %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i193 ], [ %call5.i.i.i.i1.i.i.i.i204, %call5.i.i.i.i1.i.i.i.i.noexc203 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.i.i198 = phi ptr [ null, %_ZNSt6vectorISt4pairIKiiESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i.i.i193 ], [ %scevgep.i.i.i.i.i196, %call5.i.i.i.i1.i.i.i.i.noexc203 ] + %add.ptr.i.i.i.i.sink.i199 = getelementptr inbounds i8, ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i191 store i32 3, ptr %ref.tmp139, align 8, !alias.scope !8882 - %matchers_.i.i.i212 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp139, i64 0, i32 1 - store ptr %agg.tmp140.sroa.2.0, ptr %matchers_.i.i.i212, align 8, !alias.scope !8882 - %_M_finish.i.i.i.i.i.i.i213 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i201, ptr %_M_finish.i.i.i.i.i.i.i213, align 8, !alias.scope !8882 - %_M_end_of_storage.i.i.i.i.i.i.i214 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i202, ptr %_M_end_of_storage.i.i.i.i.i.i.i214, align 8, !alias.scope !8882 + %matchers_.i.i.i209 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp139, i64 0, i32 1 + store ptr %agg.tmp140.sroa.2.0, ptr %matchers_.i.i.i209, align 8, !alias.scope !8882 + %_M_finish.i.i.i.i.i.i.i210 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i198, ptr %_M_finish.i.i.i.i.i.i.i210, align 8, !alias.scope !8882 + %_M_end_of_storage.i.i.i.i.i.i.i211 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.sink.i199, ptr %_M_end_of_storage.i.i.i.i.i.i.i211, align 8, !alias.scope !8882 invoke void @_ZN4absl18container_internal5itemsINS_13flat_hash_mapIiiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocISt4pairIKiiEEEEEEESt6vectorIS6_INT_8key_typeENSC_11mapped_typeEESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.957") align 8 %ref.tmp144, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont146 unwind label %lpad145 @@ -369984,30 +369966,30 @@ invoke.cont146: ; preds = %invoke.cont143 invoke.cont148: ; preds = %invoke.cont146 %79 = load ptr, ptr %ref.tmp144, align 8 - %tobool.not.i.i.i215 = icmp eq ptr %79, null - br i1 %tobool.not.i.i.i215, label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit217, label %if.then.i.i.i216 + %tobool.not.i.i.i212 = icmp eq ptr %79, null + br i1 %tobool.not.i.i.i212, label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit214, label %if.then.i.i.i213 -if.then.i.i.i216: ; preds = %invoke.cont148 +if.then.i.i.i213: ; preds = %invoke.cont148 call void @_ZdlPv(ptr noundef nonnull %79) #37 - br label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit217 + br label %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit214 -_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit217: ; preds = %invoke.cont148, %if.then.i.i.i216 - %80 = load ptr, ptr %matchers_.i.i.i212, align 8 - %tobool.not.i.i.i.i.i219 = icmp eq ptr %80, null - br i1 %tobool.not.i.i.i.i.i219, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit225, label %if.then.i.i.i.i.i220 +_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit214: ; preds = %invoke.cont148, %if.then.i.i.i213 + %80 = load ptr, ptr %matchers_.i.i.i209, align 8 + %tobool.not.i.i.i.i.i216 = icmp eq ptr %80, null + br i1 %tobool.not.i.i.i.i.i216, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit222, label %if.then.i.i.i.i.i217 -if.then.i.i.i.i.i220: ; preds = %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit217 +if.then.i.i.i.i.i217: ; preds = %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit214 call void @_ZdlPv(ptr noundef nonnull %80) #37 - br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit225 + br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit222 -_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit225: ; preds = %if.then.i.i.i.i.i220, %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit217 +_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit222: ; preds = %if.then.i.i.i.i.i217, %_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev.exit214 %81 = load i8, ptr %gtest_ar138, align 8 %82 = and i8 %81, 1 - %tobool.i226.not = icmp eq i8 %82, 0 - br i1 %tobool.i226.not, label %if.else154, label %if.end167 + %tobool.i223.not = icmp eq i8 %82, 0 + br i1 %tobool.i223.not, label %if.else154, label %if.end167 -ehcleanup137: ; preds = %_ZN7testing7MessageD2Ev.exit184, %lpad125 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit184 ], [ %70, %lpad125 ] +ehcleanup137: ; preds = %_ZN7testing7MessageD2Ev.exit182, %lpad125 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit182 ], [ %70, %lpad125 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar107) #33 br label %ehcleanup169 @@ -370020,40 +370002,40 @@ lpad147: ; preds = %invoke.cont146 %84 = landingpad { ptr, i32 } cleanup %85 = load ptr, ptr %ref.tmp144, align 8 - %tobool.not.i.i.i227 = icmp eq ptr %85, null - br i1 %tobool.not.i.i.i227, label %ehcleanup150, label %if.then.i.i.i228 + %tobool.not.i.i.i224 = icmp eq ptr %85, null + br i1 %tobool.not.i.i.i224, label %ehcleanup150, label %if.then.i.i.i225 -if.then.i.i.i228: ; preds = %lpad147 +if.then.i.i.i225: ; preds = %lpad147 call void @_ZdlPv(ptr noundef nonnull %85) #37 br label %ehcleanup150 -ehcleanup150: ; preds = %if.then.i.i.i228, %lpad147, %lpad145 - %.pn18 = phi { ptr, i32 } [ %83, %lpad145 ], [ %84, %lpad147 ], [ %84, %if.then.i.i.i228 ] - %86 = load ptr, ptr %matchers_.i.i.i212, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %86, null - br i1 %tobool.not.i.i.i.i.i231, label %ehcleanup169, label %if.then.i.i.i.i.i232 +ehcleanup150: ; preds = %if.then.i.i.i225, %lpad147, %lpad145 + %.pn18 = phi { ptr, i32 } [ %83, %lpad145 ], [ %84, %lpad147 ], [ %84, %if.then.i.i.i225 ] + %86 = load ptr, ptr %matchers_.i.i.i209, align 8 + %tobool.not.i.i.i.i.i228 = icmp eq ptr %86, null + br i1 %tobool.not.i.i.i.i.i228, label %ehcleanup169, label %if.then.i.i.i.i.i229 -if.then.i.i.i.i.i232: ; preds = %ehcleanup150 +if.then.i.i.i.i.i229: ; preds = %ehcleanup150 call void @_ZdlPv(ptr noundef nonnull %86) #37 br label %ehcleanup169 -if.else154: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit225 +if.else154: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit222 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp155) to label %invoke.cont157 unwind label %lpad156 invoke.cont157: ; preds = %if.else154 - %message_.i.i238 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar138, i64 0, i32 1 - %87 = load ptr, ptr %message_.i.i238, align 8 - %cmp.i.i.not.i.i239 = icmp eq ptr %87, null - br i1 %cmp.i.i.not.i.i239, label %invoke.cont160, label %cond.true.i.i240 + %message_.i.i235 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar138, i64 0, i32 1 + %87 = load ptr, ptr %message_.i.i235, align 8 + %cmp.i.i.not.i.i236 = icmp eq ptr %87, null + br i1 %cmp.i.i.not.i.i236, label %invoke.cont160, label %cond.true.i.i237 -cond.true.i.i240: ; preds = %invoke.cont157 - %call4.i.i241 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %87) #33 +cond.true.i.i237: ; preds = %invoke.cont157 + %call4.i.i238 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %87) #33 br label %invoke.cont160 -invoke.cont160: ; preds = %cond.true.i.i240, %invoke.cont157 - %cond.i.i242 = phi ptr [ %call4.i.i241, %cond.true.i.i240 ], [ @.str.191, %invoke.cont157 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp158, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 294, ptr noundef %cond.i.i242) +invoke.cont160: ; preds = %cond.true.i.i237, %invoke.cont157 + %cond.i.i239 = phi ptr [ %call4.i.i238, %cond.true.i.i237 ], [ @.str.191, %invoke.cont157 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp158, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 294, ptr noundef %cond.i.i239) to label %invoke.cont162 unwind label %lpad159 invoke.cont162: ; preds = %invoke.cont160 @@ -370063,17 +370045,17 @@ invoke.cont162: ; preds = %invoke.cont160 invoke.cont164: ; preds = %invoke.cont162 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp158) #33 %88 = load ptr, ptr %ref.tmp155, align 8 - %cmp.not.i.i244 = icmp eq ptr %88, null - br i1 %cmp.not.i.i244, label %_ZN7testing7MessageD2Ev.exit248, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245 + %cmp.not.i.i241 = icmp eq ptr %88, null + br i1 %cmp.not.i.i241, label %_ZN7testing7MessageD2Ev.exit245, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245: ; preds = %invoke.cont164 - %vtable.i.i.i246 = load ptr, ptr %88, align 8 - %vfn.i.i.i247 = getelementptr inbounds ptr, ptr %vtable.i.i.i246, i64 1 - %89 = load ptr, ptr %vfn.i.i.i247, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242: ; preds = %invoke.cont164 + %vtable.i.i.i243 = load ptr, ptr %88, align 8 + %vfn.i.i.i244 = getelementptr inbounds ptr, ptr %vtable.i.i.i243, i64 1 + %89 = load ptr, ptr %vfn.i.i.i244, align 8 call void %89(ptr noundef nonnull align 8 dereferenceable(128) %88) #33 - br label %_ZN7testing7MessageD2Ev.exit248 + br label %_ZN7testing7MessageD2Ev.exit245 -_ZN7testing7MessageD2Ev.exit248: ; preds = %invoke.cont164, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245 +_ZN7testing7MessageD2Ev.exit245: ; preds = %invoke.cont164, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 store ptr null, ptr %ref.tmp155, align 8 br label %if.end167 @@ -370096,39 +370078,39 @@ lpad163: ; preds = %invoke.cont162 ehcleanup166: ; preds = %lpad163, %lpad159 %.pn21 = phi { ptr, i32 } [ %92, %lpad163 ], [ %91, %lpad159 ] %93 = load ptr, ptr %ref.tmp155, align 8 - %cmp.not.i.i249 = icmp eq ptr %93, null - br i1 %cmp.not.i.i249, label %_ZN7testing7MessageD2Ev.exit253, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 + %cmp.not.i.i246 = icmp eq ptr %93, null + br i1 %cmp.not.i.i246, label %_ZN7testing7MessageD2Ev.exit250, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250: ; preds = %ehcleanup166 - %vtable.i.i.i251 = load ptr, ptr %93, align 8 - %vfn.i.i.i252 = getelementptr inbounds ptr, ptr %vtable.i.i.i251, i64 1 - %94 = load ptr, ptr %vfn.i.i.i252, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247: ; preds = %ehcleanup166 + %vtable.i.i.i248 = load ptr, ptr %93, align 8 + %vfn.i.i.i249 = getelementptr inbounds ptr, ptr %vtable.i.i.i248, i64 1 + %94 = load ptr, ptr %vfn.i.i.i249, align 8 call void %94(ptr noundef nonnull align 8 dereferenceable(128) %93) #33 - br label %_ZN7testing7MessageD2Ev.exit253 + br label %_ZN7testing7MessageD2Ev.exit250 -_ZN7testing7MessageD2Ev.exit253: ; preds = %ehcleanup166, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 +_ZN7testing7MessageD2Ev.exit250: ; preds = %ehcleanup166, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 store ptr null, ptr %ref.tmp155, align 8 br label %ehcleanup168 -if.end167: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit225, %_ZN7testing7MessageD2Ev.exit248 - %message_.i254 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar138, i64 0, i32 1 - %95 = load ptr, ptr %message_.i254, align 8 - %cmp.not.i.i255 = icmp eq ptr %95, null - br i1 %cmp.not.i.i255, label %_ZN7testing15AssertionResultD2Ev.exit257, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256 +if.end167: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKiiEED2Ev.exit222, %_ZN7testing7MessageD2Ev.exit245 + %message_.i251 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar138, i64 0, i32 1 + %95 = load ptr, ptr %message_.i251, align 8 + %cmp.not.i.i252 = icmp eq ptr %95, null + br i1 %cmp.not.i.i252, label %_ZN7testing15AssertionResultD2Ev.exit254, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256: ; preds = %if.end167 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253: ; preds = %if.end167 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #33 call void @_ZdlPv(ptr noundef nonnull %95) #37 - br label %_ZN7testing15AssertionResultD2Ev.exit257 + br label %_ZN7testing15AssertionResultD2Ev.exit254 -_ZN7testing15AssertionResultD2Ev.exit257: ; preds = %if.end167, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256 - store ptr null, ptr %message_.i254, align 8 +_ZN7testing15AssertionResultD2Ev.exit254: ; preds = %if.end167, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253 + store ptr null, ptr %message_.i251, align 8 %capacity_.i.i.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 2 %96 = load i64, ptr %capacity_.i.i.i.i.i.i, align 8 %cmp.i.i.i.i = icmp eq i64 %96, 0 br i1 %cmp.i.i.i.i, label %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit, label %if.end.i.i.i.i -if.end.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit257 +if.end.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit254 %97 = load ptr, ptr %m2, align 8 %size_.i.i.i.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 3 %98 = load i64, ptr %size_.i.i.i.i.i.i.i, align 8 @@ -370138,102 +370120,102 @@ if.end.i.i.i.i: ; preds = %_ZN7testing15Assert call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i) #37 br label %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit -_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit257, %if.end.i.i.i.i - %capacity_.i.i.i.i.i.i258 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 2 - %99 = load i64, ptr %capacity_.i.i.i.i.i.i258, align 8 - %cmp.i.i.i.i259 = icmp eq i64 %99, 0 - br i1 %cmp.i.i.i.i259, label %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit265, label %if.end.i.i.i.i260 +_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit254, %if.end.i.i.i.i + %capacity_.i.i.i.i.i.i255 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 2 + %99 = load i64, ptr %capacity_.i.i.i.i.i.i255, align 8 + %cmp.i.i.i.i256 = icmp eq i64 %99, 0 + br i1 %cmp.i.i.i.i256, label %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit262, label %if.end.i.i.i.i257 -if.end.i.i.i.i260: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit +if.end.i.i.i.i257: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit %100 = load ptr, ptr %m1, align 8 - %size_.i.i.i.i.i.i.i261 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 3 - %101 = load i64, ptr %size_.i.i.i.i.i.i.i261, align 8 - %and.i.i.i.i.i.i.i262 = and i64 %101, 1 - %add.i.neg.i.i.i.i.i.i263 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i262 - %add.ptr.i.i.i.i.i.i264 = getelementptr inbounds i8, ptr %100, i64 %add.i.neg.i.i.i.i.i.i263 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i264) #37 - br label %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit265 - -_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit265: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit, %if.end.i.i.i.i260 + %size_.i.i.i.i.i.i.i258 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 3 + %101 = load i64, ptr %size_.i.i.i.i.i.i.i258, align 8 + %and.i.i.i.i.i.i.i259 = and i64 %101, 1 + %add.i.neg.i.i.i.i.i.i260 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i259 + %add.ptr.i.i.i.i.i.i261 = getelementptr inbounds i8, ptr %100, i64 %add.i.neg.i.i.i.i.i.i260 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i261) #37 + br label %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit262 + +_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit262: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit, %if.end.i.i.i.i257 %102 = load ptr, ptr %v2, align 8 - %tobool.not.i.i.i266 = icmp eq ptr %102, null - br i1 %tobool.not.i.i.i266, label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit, label %if.then.i.i.i267 + %tobool.not.i.i.i263 = icmp eq ptr %102, null + br i1 %tobool.not.i.i.i263, label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit, label %if.then.i.i.i264 -if.then.i.i.i267: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit265 +if.then.i.i.i264: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit262 call void @_ZdlPv(ptr noundef nonnull %102) #37 br label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit -_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit265, %if.then.i.i.i267 +_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit: ; preds = %_ZN4absl13flat_hash_mapIiiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKiiEEEED2Ev.exit262, %if.then.i.i.i264 %103 = load ptr, ptr %v1, align 8 - %tobool.not.i.i.i268 = icmp eq ptr %103, null - br i1 %tobool.not.i.i.i268, label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit270, label %if.then.i.i.i269 + %tobool.not.i.i.i265 = icmp eq ptr %103, null + br i1 %tobool.not.i.i.i265, label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit267, label %if.then.i.i.i266 -if.then.i.i.i269: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit +if.then.i.i.i266: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %103) #37 - br label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit270 + br label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit267 -_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit270: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit, %if.then.i.i.i269 +_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit267: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit, %if.then.i.i.i266 ret void -ehcleanup168: ; preds = %_ZN7testing7MessageD2Ev.exit253, %lpad156 - %.pn21.pn = phi { ptr, i32 } [ %.pn21, %_ZN7testing7MessageD2Ev.exit253 ], [ %90, %lpad156 ] +ehcleanup168: ; preds = %_ZN7testing7MessageD2Ev.exit250, %lpad156 + %.pn21.pn = phi { ptr, i32 } [ %.pn21, %_ZN7testing7MessageD2Ev.exit250 ], [ %90, %lpad156 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar138) #33 br label %ehcleanup169 -ehcleanup169: ; preds = %if.then.i.i.i.i.i232, %ehcleanup150, %if.then.i.i.i.i.i163, %ehcleanup119, %if.then.i.i.i.i.i94, %ehcleanup87, %if.then.i.i.i.i.i39, %ehcleanup, %ehcleanup168, %ehcleanup137, %ehcleanup105, %ehcleanup74, %lpad51 - %.pn21.pn.pn = phi { ptr, i32 } [ %.pn21.pn, %ehcleanup168 ], [ %18, %lpad51 ], [ %.pn15.pn, %ehcleanup137 ], [ %.pn9.pn, %ehcleanup105 ], [ %.pn3.pn, %ehcleanup74 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i39 ], [ %.pn6, %ehcleanup87 ], [ %.pn6, %if.then.i.i.i.i.i94 ], [ %.pn12, %ehcleanup119 ], [ %.pn12, %if.then.i.i.i.i.i163 ], [ %.pn18, %ehcleanup150 ], [ %.pn18, %if.then.i.i.i.i.i232 ] - %capacity_.i.i.i.i.i.i271 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 2 - %104 = load i64, ptr %capacity_.i.i.i.i.i.i271, align 8 - %cmp.i.i.i.i272 = icmp eq i64 %104, 0 - br i1 %cmp.i.i.i.i272, label %ehcleanup170, label %if.end.i.i.i.i273 +ehcleanup169: ; preds = %if.then.i.i.i.i.i229, %ehcleanup150, %if.then.i.i.i.i.i161, %ehcleanup119, %if.then.i.i.i.i.i93, %ehcleanup87, %if.then.i.i.i.i.i39, %ehcleanup, %ehcleanup168, %ehcleanup137, %ehcleanup105, %ehcleanup74, %lpad51 + %.pn21.pn.pn = phi { ptr, i32 } [ %.pn21.pn, %ehcleanup168 ], [ %18, %lpad51 ], [ %.pn15.pn, %ehcleanup137 ], [ %.pn9.pn, %ehcleanup105 ], [ %.pn3.pn, %ehcleanup74 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i39 ], [ %.pn6, %ehcleanup87 ], [ %.pn6, %if.then.i.i.i.i.i93 ], [ %.pn12, %ehcleanup119 ], [ %.pn12, %if.then.i.i.i.i.i161 ], [ %.pn18, %ehcleanup150 ], [ %.pn18, %if.then.i.i.i.i.i229 ] + %capacity_.i.i.i.i.i.i268 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 2 + %104 = load i64, ptr %capacity_.i.i.i.i.i.i268, align 8 + %cmp.i.i.i.i269 = icmp eq i64 %104, 0 + br i1 %cmp.i.i.i.i269, label %ehcleanup170, label %if.end.i.i.i.i270 -if.end.i.i.i.i273: ; preds = %ehcleanup169 +if.end.i.i.i.i270: ; preds = %ehcleanup169 %105 = load ptr, ptr %m2, align 8 - %size_.i.i.i.i.i.i.i274 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 3 - %106 = load i64, ptr %size_.i.i.i.i.i.i.i274, align 8 - %and.i.i.i.i.i.i.i275 = and i64 %106, 1 - %add.i.neg.i.i.i.i.i.i276 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i275 - %add.ptr.i.i.i.i.i.i277 = getelementptr inbounds i8, ptr %105, i64 %add.i.neg.i.i.i.i.i.i276 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i277) #37 + %size_.i.i.i.i.i.i.i271 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 3 + %106 = load i64, ptr %size_.i.i.i.i.i.i.i271, align 8 + %and.i.i.i.i.i.i.i272 = and i64 %106, 1 + %add.i.neg.i.i.i.i.i.i273 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i272 + %add.ptr.i.i.i.i.i.i274 = getelementptr inbounds i8, ptr %105, i64 %add.i.neg.i.i.i.i.i.i273 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i274) #37 br label %ehcleanup170 -ehcleanup170: ; preds = %if.end.i.i.i.i273, %ehcleanup169, %lpad47 - %.pn21.pn.pn.pn = phi { ptr, i32 } [ %17, %lpad47 ], [ %.pn21.pn.pn, %ehcleanup169 ], [ %.pn21.pn.pn, %if.end.i.i.i.i273 ] - %capacity_.i.i.i.i.i.i279 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 2 - %107 = load i64, ptr %capacity_.i.i.i.i.i.i279, align 8 - %cmp.i.i.i.i280 = icmp eq i64 %107, 0 - br i1 %cmp.i.i.i.i280, label %ehcleanup171, label %if.end.i.i.i.i281 +ehcleanup170: ; preds = %if.end.i.i.i.i270, %ehcleanup169, %lpad47 + %.pn21.pn.pn.pn = phi { ptr, i32 } [ %17, %lpad47 ], [ %.pn21.pn.pn, %ehcleanup169 ], [ %.pn21.pn.pn, %if.end.i.i.i.i270 ] + %capacity_.i.i.i.i.i.i276 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 2 + %107 = load i64, ptr %capacity_.i.i.i.i.i.i276, align 8 + %cmp.i.i.i.i277 = icmp eq i64 %107, 0 + br i1 %cmp.i.i.i.i277, label %ehcleanup171, label %if.end.i.i.i.i278 -if.end.i.i.i.i281: ; preds = %ehcleanup170 +if.end.i.i.i.i278: ; preds = %ehcleanup170 %108 = load ptr, ptr %m1, align 8 - %size_.i.i.i.i.i.i.i282 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 3 - %109 = load i64, ptr %size_.i.i.i.i.i.i.i282, align 8 - %and.i.i.i.i.i.i.i283 = and i64 %109, 1 - %add.i.neg.i.i.i.i.i.i284 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i283 - %add.ptr.i.i.i.i.i.i285 = getelementptr inbounds i8, ptr %108, i64 %add.i.neg.i.i.i.i.i.i284 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i285) #37 + %size_.i.i.i.i.i.i.i279 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 3 + %109 = load i64, ptr %size_.i.i.i.i.i.i.i279, align 8 + %and.i.i.i.i.i.i.i280 = and i64 %109, 1 + %add.i.neg.i.i.i.i.i.i281 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i280 + %add.ptr.i.i.i.i.i.i282 = getelementptr inbounds i8, ptr %108, i64 %add.i.neg.i.i.i.i.i.i281 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i282) #37 br label %ehcleanup171 -ehcleanup171: ; preds = %if.end.i.i.i.i281, %ehcleanup170, %lpad30, %lpad - %.pn21.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %lpad30 ], [ %15, %lpad ], [ %.pn21.pn.pn.pn, %ehcleanup170 ], [ %.pn21.pn.pn.pn, %if.end.i.i.i.i281 ] +ehcleanup171: ; preds = %if.end.i.i.i.i278, %ehcleanup170, %lpad30, %lpad + %.pn21.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %lpad30 ], [ %15, %lpad ], [ %.pn21.pn.pn.pn, %ehcleanup170 ], [ %.pn21.pn.pn.pn, %if.end.i.i.i.i278 ] %110 = load ptr, ptr %v2, align 8 - %tobool.not.i.i.i287 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i287, label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit289, label %if.then.i.i.i288 + %tobool.not.i.i.i284 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i284, label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit286, label %if.then.i.i.i285 -if.then.i.i.i288: ; preds = %ehcleanup171 +if.then.i.i.i285: ; preds = %ehcleanup171 call void @_ZdlPv(ptr noundef nonnull %110) #37 - br label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit289 + br label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit286 -_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit289: ; preds = %ehcleanup171, %if.then.i.i.i288 +_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit286: ; preds = %ehcleanup171, %if.then.i.i.i285 %111 = load ptr, ptr %v1, align 8 - %tobool.not.i.i.i290 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i290, label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit292, label %if.then.i.i.i291 + %tobool.not.i.i.i287 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i287, label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit289, label %if.then.i.i.i288 -if.then.i.i.i291: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit289 +if.then.i.i.i288: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit286 call void @_ZdlPv(ptr noundef nonnull %111) #37 - br label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit292 + br label %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit289 -_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit292: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit289, %if.then.i.i.i291 +_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit289: ; preds = %_ZNSt6vectorISt4pairIKiiESaIS2_EED2Ev.exit286, %if.then.i.i.i288 resume { ptr, i32 } %.pn21.pn.pn.pn.pn } @@ -374009,9 +373991,8 @@ invoke.cont48: ; preds = %invoke.cont42 %__first.coerce4.i.i.i.i.i = ptrtoint ptr %8 to i64 %__last.coerce3.i.i.i.i.i = ptrtoint ptr %9 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i.i.i, %__first.coerce4.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 4 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 576460752303423487 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i204.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i201.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i _ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i: ; preds = %invoke.cont48 %cmp.not.i.i.i.i.i.i = icmp eq ptr %9, %8 @@ -374022,7 +374003,7 @@ for.body.i.i.i.i.preheader.i.i.i.i.i: ; preds = %_ZNSt6vectorISt4pai to label %call5.i.i.i.i1.i.i.i.i.noexc unwind label %lpad51 call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i - %10 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, -16 + %10 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775792 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i32, ptr align 8 %8, i64 %10, i1 false), !noalias !8995 %scevgep.i.i.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i32, i64 %10 br label %invoke.cont54 @@ -374030,7 +374011,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %for.body.i.i.i.i.pr invoke.cont54: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp50.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i32, %call5.i.i.i.i1.i.i.i.i.noexc ] %__cur.0.lcssa.i.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i ], [ %scevgep.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp49, align 8, !alias.scope !8998 %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp49, i64 0, i32 1 store ptr %agg.tmp50.sroa.2.0, ptr %matchers_.i.i.i33, align 8, !alias.scope !8998 @@ -374084,7 +374065,7 @@ lpad47: ; preds = %invoke.cont42 cleanup br label %ehcleanup170 -lpad51: ; preds = %if.then.i.i.i.i.i.i204.invoke, %for.body.i.i.i.i.preheader.i.i.i.i.i198, %for.body.i.i.i.i.preheader.i.i.i.i.i129, %for.body.i.i.i.i.preheader.i.i.i.i.i60, %for.body.i.i.i.i.preheader.i.i.i.i.i +lpad51: ; preds = %if.then.i.i.i.i.i.i201.invoke, %for.body.i.i.i.i.preheader.i.i.i.i.i195, %for.body.i.i.i.i.preheader.i.i.i.i.i127, %for.body.i.i.i.i.preheader.i.i.i.i.i59, %for.body.i.i.i.i.preheader.i.i.i.i.i %18 = landingpad { ptr, i32 } cleanup br label %ehcleanup169 @@ -374206,35 +374187,34 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %__first.coerce4.i.i.i.i.i53 = ptrtoint ptr %32 to i64 %__last.coerce3.i.i.i.i.i54 = ptrtoint ptr %33 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 = sub i64 %__last.coerce3.i.i.i.i.i54, %__first.coerce4.i.i.i.i.i53 - %sub.ptr.div.i.i.i.i.i.i.i.i56 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 4 - %cmp.i.i.i.i.i.i57 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i56, 576460752303423487 - br i1 %cmp.i.i.i.i.i.i57, label %if.then.i.i.i.i.i.i204.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i58 - -_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %cmp.not.i.i.i.i.i.i59 = icmp eq ptr %33, %32 - br i1 %cmp.not.i.i.i.i.i.i59, label %invoke.cont80, label %for.body.i.i.i.i.preheader.i.i.i.i.i60 - -for.body.i.i.i.i.preheader.i.i.i.i.i60: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i58 - %call5.i.i.i.i1.i.i.i.i69 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i55) #38 - to label %call5.i.i.i.i1.i.i.i.i.noexc68 unwind label %lpad51 - -call5.i.i.i.i1.i.i.i.i.noexc68: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i60 - %34 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, -16 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i69, ptr align 8 %32, i64 %34, i1 false), !noalias !9004 - %scevgep.i.i.i.i.i61 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i69, i64 %34 + %cmp.i.i.i.i.i.i56 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 9223372036854775792 + br i1 %cmp.i.i.i.i.i.i56, label %if.then.i.i.i.i.i.i201.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i57 + +_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i57: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + %cmp.not.i.i.i.i.i.i58 = icmp eq ptr %33, %32 + br i1 %cmp.not.i.i.i.i.i.i58, label %invoke.cont80, label %for.body.i.i.i.i.preheader.i.i.i.i.i59 + +for.body.i.i.i.i.preheader.i.i.i.i.i59: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i57 + %call5.i.i.i.i1.i.i.i.i68 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i55) #38 + to label %call5.i.i.i.i1.i.i.i.i.noexc67 unwind label %lpad51 + +call5.i.i.i.i1.i.i.i.i.noexc67: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i59 + %34 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 9223372036854775792 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i68, ptr align 8 %32, i64 %34, i1 false), !noalias !9004 + %scevgep.i.i.i.i.i60 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i68, i64 %34 br label %invoke.cont80 -invoke.cont80: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i58, %call5.i.i.i.i1.i.i.i.i.noexc68 - %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i58 ], [ %call5.i.i.i.i1.i.i.i.i69, %call5.i.i.i.i1.i.i.i.i.noexc68 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.i.i63 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i58 ], [ %scevgep.i.i.i.i.i61, %call5.i.i.i.i1.i.i.i.i.noexc68 ] - %add.ptr.i.i.i.i.sink.i64 = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i56 +invoke.cont80: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i57, %call5.i.i.i.i1.i.i.i.i.noexc67 + %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i57 ], [ %call5.i.i.i.i1.i.i.i.i68, %call5.i.i.i.i1.i.i.i.i.noexc67 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.i.i62 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i57 ], [ %scevgep.i.i.i.i.i60, %call5.i.i.i.i1.i.i.i.i.noexc67 ] + %add.ptr.i.i.i.i.sink.i63 = getelementptr inbounds i8, ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 store i32 3, ptr %ref.tmp76, align 8, !alias.scope !9007 - %matchers_.i.i.i74 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp76, i64 0, i32 1 - store ptr %agg.tmp77.sroa.2.0, ptr %matchers_.i.i.i74, align 8, !alias.scope !9007 - %_M_finish.i.i.i.i.i.i.i75 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i63, ptr %_M_finish.i.i.i.i.i.i.i75, align 8, !alias.scope !9007 - %_M_end_of_storage.i.i.i.i.i.i.i76 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i64, ptr %_M_end_of_storage.i.i.i.i.i.i.i76, align 8, !alias.scope !9007 + %matchers_.i.i.i73 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp76, i64 0, i32 1 + store ptr %agg.tmp77.sroa.2.0, ptr %matchers_.i.i.i73, align 8, !alias.scope !9007 + %_M_finish.i.i.i.i.i.i.i74 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i62, ptr %_M_finish.i.i.i.i.i.i.i74, align 8, !alias.scope !9007 + %_M_end_of_storage.i.i.i.i.i.i.i75 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.sink.i63, ptr %_M_end_of_storage.i.i.i.i.i.i.i75, align 8, !alias.scope !9007 invoke void @_ZN4absl18container_internal5itemsINS_13flat_hash_mapINS0_13hash_internal9EnumClassEiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocISt4pairIKS4_iEEEEEEESt6vectorIS8_INT_8key_typeENSE_11mapped_typeEESaISH_EERKSE_(ptr nonnull sret(%"class.std::vector.1145") align 8 %ref.tmp81, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont83 unwind label %lpad82 @@ -374244,27 +374224,27 @@ invoke.cont83: ; preds = %invoke.cont80 invoke.cont85: ; preds = %invoke.cont83 %35 = load ptr, ptr %ref.tmp81, align 8 - %tobool.not.i.i.i77 = icmp eq ptr %35, null - br i1 %tobool.not.i.i.i77, label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit79, label %if.then.i.i.i78 + %tobool.not.i.i.i76 = icmp eq ptr %35, null + br i1 %tobool.not.i.i.i76, label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit78, label %if.then.i.i.i77 -if.then.i.i.i78: ; preds = %invoke.cont85 +if.then.i.i.i77: ; preds = %invoke.cont85 call void @_ZdlPv(ptr noundef nonnull %35) #37 - br label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit79 + br label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit78 -_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit79: ; preds = %invoke.cont85, %if.then.i.i.i78 - %36 = load ptr, ptr %matchers_.i.i.i74, align 8 - %tobool.not.i.i.i.i.i81 = icmp eq ptr %36, null - br i1 %tobool.not.i.i.i.i.i81, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit87, label %if.then.i.i.i.i.i82 +_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit78: ; preds = %invoke.cont85, %if.then.i.i.i77 + %36 = load ptr, ptr %matchers_.i.i.i73, align 8 + %tobool.not.i.i.i.i.i80 = icmp eq ptr %36, null + br i1 %tobool.not.i.i.i.i.i80, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit86, label %if.then.i.i.i.i.i81 -if.then.i.i.i.i.i82: ; preds = %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit79 +if.then.i.i.i.i.i81: ; preds = %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit78 call void @_ZdlPv(ptr noundef nonnull %36) #37 - br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit87 + br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit86 -_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit87: ; preds = %if.then.i.i.i.i.i82, %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit79 +_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit86: ; preds = %if.then.i.i.i.i.i81, %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit78 %37 = load i8, ptr %gtest_ar75, align 8 %38 = and i8 %37, 1 - %tobool.i88.not = icmp eq i8 %38, 0 - br i1 %tobool.i88.not, label %if.else91, label %if.end104 + %tobool.i87.not = icmp eq i8 %38, 0 + br i1 %tobool.i87.not, label %if.else91, label %if.end104 ehcleanup74: ; preds = %_ZN7testing7MessageD2Ev.exit49, %lpad63 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit49 ], [ %26, %lpad63 ] @@ -374280,40 +374260,40 @@ lpad84: ; preds = %invoke.cont83 %40 = landingpad { ptr, i32 } cleanup %41 = load ptr, ptr %ref.tmp81, align 8 - %tobool.not.i.i.i89 = icmp eq ptr %41, null - br i1 %tobool.not.i.i.i89, label %ehcleanup87, label %if.then.i.i.i90 + %tobool.not.i.i.i88 = icmp eq ptr %41, null + br i1 %tobool.not.i.i.i88, label %ehcleanup87, label %if.then.i.i.i89 -if.then.i.i.i90: ; preds = %lpad84 +if.then.i.i.i89: ; preds = %lpad84 call void @_ZdlPv(ptr noundef nonnull %41) #37 br label %ehcleanup87 -ehcleanup87: ; preds = %if.then.i.i.i90, %lpad84, %lpad82 - %.pn6 = phi { ptr, i32 } [ %39, %lpad82 ], [ %40, %lpad84 ], [ %40, %if.then.i.i.i90 ] - %42 = load ptr, ptr %matchers_.i.i.i74, align 8 - %tobool.not.i.i.i.i.i93 = icmp eq ptr %42, null - br i1 %tobool.not.i.i.i.i.i93, label %ehcleanup169, label %if.then.i.i.i.i.i94 +ehcleanup87: ; preds = %if.then.i.i.i89, %lpad84, %lpad82 + %.pn6 = phi { ptr, i32 } [ %39, %lpad82 ], [ %40, %lpad84 ], [ %40, %if.then.i.i.i89 ] + %42 = load ptr, ptr %matchers_.i.i.i73, align 8 + %tobool.not.i.i.i.i.i92 = icmp eq ptr %42, null + br i1 %tobool.not.i.i.i.i.i92, label %ehcleanup169, label %if.then.i.i.i.i.i93 -if.then.i.i.i.i.i94: ; preds = %ehcleanup87 +if.then.i.i.i.i.i93: ; preds = %ehcleanup87 call void @_ZdlPv(ptr noundef nonnull %42) #37 br label %ehcleanup169 -if.else91: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit87 +if.else91: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit86 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp92) to label %invoke.cont94 unwind label %lpad93 invoke.cont94: ; preds = %if.else91 - %message_.i.i100 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 - %43 = load ptr, ptr %message_.i.i100, align 8 - %cmp.i.i.not.i.i101 = icmp eq ptr %43, null - br i1 %cmp.i.i.not.i.i101, label %invoke.cont97, label %cond.true.i.i102 + %message_.i.i99 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 + %43 = load ptr, ptr %message_.i.i99, align 8 + %cmp.i.i.not.i.i100 = icmp eq ptr %43, null + br i1 %cmp.i.i.not.i.i100, label %invoke.cont97, label %cond.true.i.i101 -cond.true.i.i102: ; preds = %invoke.cont94 - %call4.i.i103 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %43) #33 +cond.true.i.i101: ; preds = %invoke.cont94 + %call4.i.i102 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %43) #33 br label %invoke.cont97 -invoke.cont97: ; preds = %cond.true.i.i102, %invoke.cont94 - %cond.i.i104 = phi ptr [ %call4.i.i103, %cond.true.i.i102 ], [ @.str.191, %invoke.cont94 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 291, ptr noundef %cond.i.i104) +invoke.cont97: ; preds = %cond.true.i.i101, %invoke.cont94 + %cond.i.i103 = phi ptr [ %call4.i.i102, %cond.true.i.i101 ], [ @.str.191, %invoke.cont94 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 291, ptr noundef %cond.i.i103) to label %invoke.cont99 unwind label %lpad96 invoke.cont99: ; preds = %invoke.cont97 @@ -374323,17 +374303,17 @@ invoke.cont99: ; preds = %invoke.cont97 invoke.cont101: ; preds = %invoke.cont99 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95) #33 %44 = load ptr, ptr %ref.tmp92, align 8 - %cmp.not.i.i106 = icmp eq ptr %44, null - br i1 %cmp.not.i.i106, label %_ZN7testing7MessageD2Ev.exit110, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107 + %cmp.not.i.i105 = icmp eq ptr %44, null + br i1 %cmp.not.i.i105, label %_ZN7testing7MessageD2Ev.exit109, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107: ; preds = %invoke.cont101 - %vtable.i.i.i108 = load ptr, ptr %44, align 8 - %vfn.i.i.i109 = getelementptr inbounds ptr, ptr %vtable.i.i.i108, i64 1 - %45 = load ptr, ptr %vfn.i.i.i109, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106: ; preds = %invoke.cont101 + %vtable.i.i.i107 = load ptr, ptr %44, align 8 + %vfn.i.i.i108 = getelementptr inbounds ptr, ptr %vtable.i.i.i107, i64 1 + %45 = load ptr, ptr %vfn.i.i.i108, align 8 call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #33 - br label %_ZN7testing7MessageD2Ev.exit110 + br label %_ZN7testing7MessageD2Ev.exit109 -_ZN7testing7MessageD2Ev.exit110: ; preds = %invoke.cont101, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107 +_ZN7testing7MessageD2Ev.exit109: ; preds = %invoke.cont101, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i106 store ptr null, ptr %ref.tmp92, align 8 br label %if.end104 @@ -374356,33 +374336,33 @@ lpad100: ; preds = %invoke.cont99 ehcleanup103: ; preds = %lpad100, %lpad96 %.pn9 = phi { ptr, i32 } [ %48, %lpad100 ], [ %47, %lpad96 ] %49 = load ptr, ptr %ref.tmp92, align 8 - %cmp.not.i.i111 = icmp eq ptr %49, null - br i1 %cmp.not.i.i111, label %_ZN7testing7MessageD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 + %cmp.not.i.i110 = icmp eq ptr %49, null + br i1 %cmp.not.i.i110, label %_ZN7testing7MessageD2Ev.exit114, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112: ; preds = %ehcleanup103 - %vtable.i.i.i113 = load ptr, ptr %49, align 8 - %vfn.i.i.i114 = getelementptr inbounds ptr, ptr %vtable.i.i.i113, i64 1 - %50 = load ptr, ptr %vfn.i.i.i114, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111: ; preds = %ehcleanup103 + %vtable.i.i.i112 = load ptr, ptr %49, align 8 + %vfn.i.i.i113 = getelementptr inbounds ptr, ptr %vtable.i.i.i112, i64 1 + %50 = load ptr, ptr %vfn.i.i.i113, align 8 call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #33 - br label %_ZN7testing7MessageD2Ev.exit115 + br label %_ZN7testing7MessageD2Ev.exit114 -_ZN7testing7MessageD2Ev.exit115: ; preds = %ehcleanup103, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112 +_ZN7testing7MessageD2Ev.exit114: ; preds = %ehcleanup103, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i111 store ptr null, ptr %ref.tmp92, align 8 br label %ehcleanup105 -if.end104: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit87, %_ZN7testing7MessageD2Ev.exit110 - %message_.i116 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 - %51 = load ptr, ptr %message_.i116, align 8 - %cmp.not.i.i117 = icmp eq ptr %51, null - br i1 %cmp.not.i.i117, label %invoke.cont106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118 +if.end104: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit86, %_ZN7testing7MessageD2Ev.exit109 + %message_.i115 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar75, i64 0, i32 1 + %51 = load ptr, ptr %message_.i115, align 8 + %cmp.not.i.i116 = icmp eq ptr %51, null + br i1 %cmp.not.i.i116, label %invoke.cont106, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118: ; preds = %if.end104 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117: ; preds = %if.end104 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #33 call void @_ZdlPv(ptr noundef nonnull %51) #37 br label %invoke.cont106 -invoke.cont106: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118, %if.end104 - store ptr null, ptr %message_.i116, align 8 +invoke.cont106: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i117, %if.end104 + store ptr null, ptr %message_.i115, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %__tmp.i.i) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %__tmp.i.i, ptr noundef nonnull align 8 dereferenceable(32) %m1, i64 32, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %m1, ptr noundef nonnull align 8 dereferenceable(32) %m2, i64 32, i1 false) @@ -374402,38 +374382,37 @@ invoke.cont106: ; preds = %_ZNKSt14default_del store i64 %54, ptr %add.ptr.i.i8.i, align 8 %56 = load ptr, ptr %v2, align 8, !noalias !9010 %57 = load ptr, ptr %_M_finish.i28, align 8, !noalias !9010 - %__first.coerce4.i.i.i.i.i122 = ptrtoint ptr %56 to i64 - %__last.coerce3.i.i.i.i.i123 = ptrtoint ptr %57 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i124 = sub i64 %__last.coerce3.i.i.i.i.i123, %__first.coerce4.i.i.i.i.i122 - %sub.ptr.div.i.i.i.i.i.i.i.i125 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i124, 4 - %cmp.i.i.i.i.i.i126 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i125, 576460752303423487 - br i1 %cmp.i.i.i.i.i.i126, label %if.then.i.i.i.i.i.i204.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i127 - -_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i127: ; preds = %invoke.cont106 - %cmp.not.i.i.i.i.i.i128 = icmp eq ptr %57, %56 - br i1 %cmp.not.i.i.i.i.i.i128, label %invoke.cont112, label %for.body.i.i.i.i.preheader.i.i.i.i.i129 - -for.body.i.i.i.i.preheader.i.i.i.i.i129: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i127 - %call5.i.i.i.i1.i.i.i.i138 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i124) #38 - to label %call5.i.i.i.i1.i.i.i.i.noexc137 unwind label %lpad51 - -call5.i.i.i.i1.i.i.i.i.noexc137: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i129 - %58 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i124, -16 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i138, ptr align 8 %56, i64 %58, i1 false), !noalias !9013 - %scevgep.i.i.i.i.i130 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i138, i64 %58 + %__first.coerce4.i.i.i.i.i121 = ptrtoint ptr %56 to i64 + %__last.coerce3.i.i.i.i.i122 = ptrtoint ptr %57 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i123 = sub i64 %__last.coerce3.i.i.i.i.i122, %__first.coerce4.i.i.i.i.i121 + %cmp.i.i.i.i.i.i124 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i123, 9223372036854775792 + br i1 %cmp.i.i.i.i.i.i124, label %if.then.i.i.i.i.i.i201.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i125 + +_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i125: ; preds = %invoke.cont106 + %cmp.not.i.i.i.i.i.i126 = icmp eq ptr %57, %56 + br i1 %cmp.not.i.i.i.i.i.i126, label %invoke.cont112, label %for.body.i.i.i.i.preheader.i.i.i.i.i127 + +for.body.i.i.i.i.preheader.i.i.i.i.i127: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i125 + %call5.i.i.i.i1.i.i.i.i136 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i123) #38 + to label %call5.i.i.i.i1.i.i.i.i.noexc135 unwind label %lpad51 + +call5.i.i.i.i1.i.i.i.i.noexc135: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i127 + %58 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i123, 9223372036854775792 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i136, ptr align 8 %56, i64 %58, i1 false), !noalias !9013 + %scevgep.i.i.i.i.i128 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i136, i64 %58 br label %invoke.cont112 -invoke.cont112: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i127, %call5.i.i.i.i1.i.i.i.i.noexc137 - %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i127 ], [ %call5.i.i.i.i1.i.i.i.i138, %call5.i.i.i.i1.i.i.i.i.noexc137 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.i.i132 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i127 ], [ %scevgep.i.i.i.i.i130, %call5.i.i.i.i1.i.i.i.i.noexc137 ] - %add.ptr.i.i.i.i.sink.i133 = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i125 +invoke.cont112: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i125, %call5.i.i.i.i1.i.i.i.i.noexc135 + %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i125 ], [ %call5.i.i.i.i1.i.i.i.i136, %call5.i.i.i.i1.i.i.i.i.noexc135 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.i.i130 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i125 ], [ %scevgep.i.i.i.i.i128, %call5.i.i.i.i1.i.i.i.i.noexc135 ] + %add.ptr.i.i.i.i.sink.i131 = getelementptr inbounds i8, ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i123 store i32 3, ptr %ref.tmp108, align 8, !alias.scope !9016 - %matchers_.i.i.i143 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp108, i64 0, i32 1 - store ptr %agg.tmp109.sroa.2.0, ptr %matchers_.i.i.i143, align 8, !alias.scope !9016 - %_M_finish.i.i.i.i.i.i.i144 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i132, ptr %_M_finish.i.i.i.i.i.i.i144, align 8, !alias.scope !9016 - %_M_end_of_storage.i.i.i.i.i.i.i145 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i133, ptr %_M_end_of_storage.i.i.i.i.i.i.i145, align 8, !alias.scope !9016 + %matchers_.i.i.i141 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp108, i64 0, i32 1 + store ptr %agg.tmp109.sroa.2.0, ptr %matchers_.i.i.i141, align 8, !alias.scope !9016 + %_M_finish.i.i.i.i.i.i.i142 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i130, ptr %_M_finish.i.i.i.i.i.i.i142, align 8, !alias.scope !9016 + %_M_end_of_storage.i.i.i.i.i.i.i143 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.sink.i131, ptr %_M_end_of_storage.i.i.i.i.i.i.i143, align 8, !alias.scope !9016 invoke void @_ZN4absl18container_internal5itemsINS_13flat_hash_mapINS0_13hash_internal9EnumClassEiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocISt4pairIKS4_iEEEEEEESt6vectorIS8_INT_8key_typeENSE_11mapped_typeEESaISH_EERKSE_(ptr nonnull sret(%"class.std::vector.1145") align 8 %ref.tmp113, ptr noundef nonnull align 8 dereferenceable(56) %m1) to label %invoke.cont115 unwind label %lpad114 @@ -374443,30 +374422,30 @@ invoke.cont115: ; preds = %invoke.cont112 invoke.cont117: ; preds = %invoke.cont115 %59 = load ptr, ptr %ref.tmp113, align 8 - %tobool.not.i.i.i146 = icmp eq ptr %59, null - br i1 %tobool.not.i.i.i146, label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit148, label %if.then.i.i.i147 + %tobool.not.i.i.i144 = icmp eq ptr %59, null + br i1 %tobool.not.i.i.i144, label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit146, label %if.then.i.i.i145 -if.then.i.i.i147: ; preds = %invoke.cont117 +if.then.i.i.i145: ; preds = %invoke.cont117 call void @_ZdlPv(ptr noundef nonnull %59) #37 - br label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit148 + br label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit146 -_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit148: ; preds = %invoke.cont117, %if.then.i.i.i147 - %60 = load ptr, ptr %matchers_.i.i.i143, align 8 - %tobool.not.i.i.i.i.i150 = icmp eq ptr %60, null - br i1 %tobool.not.i.i.i.i.i150, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit156, label %if.then.i.i.i.i.i151 +_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit146: ; preds = %invoke.cont117, %if.then.i.i.i145 + %60 = load ptr, ptr %matchers_.i.i.i141, align 8 + %tobool.not.i.i.i.i.i148 = icmp eq ptr %60, null + br i1 %tobool.not.i.i.i.i.i148, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit154, label %if.then.i.i.i.i.i149 -if.then.i.i.i.i.i151: ; preds = %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit148 +if.then.i.i.i.i.i149: ; preds = %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit146 call void @_ZdlPv(ptr noundef nonnull %60) #37 - br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit156 + br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit154 -_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit156: ; preds = %if.then.i.i.i.i.i151, %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit148 +_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit154: ; preds = %if.then.i.i.i.i.i149, %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit146 %61 = load i8, ptr %gtest_ar107, align 8 %62 = and i8 %61, 1 - %tobool.i157.not = icmp eq i8 %62, 0 - br i1 %tobool.i157.not, label %if.else123, label %if.end136 + %tobool.i155.not = icmp eq i8 %62, 0 + br i1 %tobool.i155.not, label %if.else123, label %if.end136 -ehcleanup105: ; preds = %_ZN7testing7MessageD2Ev.exit115, %lpad93 - %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit115 ], [ %46, %lpad93 ] +ehcleanup105: ; preds = %_ZN7testing7MessageD2Ev.exit114, %lpad93 + %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit114 ], [ %46, %lpad93 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar75) #33 br label %ehcleanup169 @@ -374479,40 +374458,40 @@ lpad116: ; preds = %invoke.cont115 %64 = landingpad { ptr, i32 } cleanup %65 = load ptr, ptr %ref.tmp113, align 8 - %tobool.not.i.i.i158 = icmp eq ptr %65, null - br i1 %tobool.not.i.i.i158, label %ehcleanup119, label %if.then.i.i.i159 + %tobool.not.i.i.i156 = icmp eq ptr %65, null + br i1 %tobool.not.i.i.i156, label %ehcleanup119, label %if.then.i.i.i157 -if.then.i.i.i159: ; preds = %lpad116 +if.then.i.i.i157: ; preds = %lpad116 call void @_ZdlPv(ptr noundef nonnull %65) #37 br label %ehcleanup119 -ehcleanup119: ; preds = %if.then.i.i.i159, %lpad116, %lpad114 - %.pn12 = phi { ptr, i32 } [ %63, %lpad114 ], [ %64, %lpad116 ], [ %64, %if.then.i.i.i159 ] - %66 = load ptr, ptr %matchers_.i.i.i143, align 8 - %tobool.not.i.i.i.i.i162 = icmp eq ptr %66, null - br i1 %tobool.not.i.i.i.i.i162, label %ehcleanup169, label %if.then.i.i.i.i.i163 +ehcleanup119: ; preds = %if.then.i.i.i157, %lpad116, %lpad114 + %.pn12 = phi { ptr, i32 } [ %63, %lpad114 ], [ %64, %lpad116 ], [ %64, %if.then.i.i.i157 ] + %66 = load ptr, ptr %matchers_.i.i.i141, align 8 + %tobool.not.i.i.i.i.i160 = icmp eq ptr %66, null + br i1 %tobool.not.i.i.i.i.i160, label %ehcleanup169, label %if.then.i.i.i.i.i161 -if.then.i.i.i.i.i163: ; preds = %ehcleanup119 +if.then.i.i.i.i.i161: ; preds = %ehcleanup119 call void @_ZdlPv(ptr noundef nonnull %66) #37 br label %ehcleanup169 -if.else123: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit156 +if.else123: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit154 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp124) to label %invoke.cont126 unwind label %lpad125 invoke.cont126: ; preds = %if.else123 - %message_.i.i169 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar107, i64 0, i32 1 - %67 = load ptr, ptr %message_.i.i169, align 8 - %cmp.i.i.not.i.i170 = icmp eq ptr %67, null - br i1 %cmp.i.i.not.i.i170, label %invoke.cont129, label %cond.true.i.i171 + %message_.i.i167 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar107, i64 0, i32 1 + %67 = load ptr, ptr %message_.i.i167, align 8 + %cmp.i.i.not.i.i168 = icmp eq ptr %67, null + br i1 %cmp.i.i.not.i.i168, label %invoke.cont129, label %cond.true.i.i169 -cond.true.i.i171: ; preds = %invoke.cont126 - %call4.i.i172 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #33 +cond.true.i.i169: ; preds = %invoke.cont126 + %call4.i.i170 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #33 br label %invoke.cont129 -invoke.cont129: ; preds = %cond.true.i.i171, %invoke.cont126 - %cond.i.i173 = phi ptr [ %call4.i.i172, %cond.true.i.i171 ], [ @.str.191, %invoke.cont126 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 293, ptr noundef %cond.i.i173) +invoke.cont129: ; preds = %cond.true.i.i169, %invoke.cont126 + %cond.i.i171 = phi ptr [ %call4.i.i170, %cond.true.i.i169 ], [ @.str.191, %invoke.cont126 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 293, ptr noundef %cond.i.i171) to label %invoke.cont131 unwind label %lpad128 invoke.cont131: ; preds = %invoke.cont129 @@ -374522,17 +374501,17 @@ invoke.cont131: ; preds = %invoke.cont129 invoke.cont133: ; preds = %invoke.cont131 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127) #33 %68 = load ptr, ptr %ref.tmp124, align 8 - %cmp.not.i.i175 = icmp eq ptr %68, null - br i1 %cmp.not.i.i175, label %_ZN7testing7MessageD2Ev.exit179, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 + %cmp.not.i.i173 = icmp eq ptr %68, null + br i1 %cmp.not.i.i173, label %_ZN7testing7MessageD2Ev.exit177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176: ; preds = %invoke.cont133 - %vtable.i.i.i177 = load ptr, ptr %68, align 8 - %vfn.i.i.i178 = getelementptr inbounds ptr, ptr %vtable.i.i.i177, i64 1 - %69 = load ptr, ptr %vfn.i.i.i178, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174: ; preds = %invoke.cont133 + %vtable.i.i.i175 = load ptr, ptr %68, align 8 + %vfn.i.i.i176 = getelementptr inbounds ptr, ptr %vtable.i.i.i175, i64 1 + %69 = load ptr, ptr %vfn.i.i.i176, align 8 call void %69(ptr noundef nonnull align 8 dereferenceable(128) %68) #33 - br label %_ZN7testing7MessageD2Ev.exit179 + br label %_ZN7testing7MessageD2Ev.exit177 -_ZN7testing7MessageD2Ev.exit179: ; preds = %invoke.cont133, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 +_ZN7testing7MessageD2Ev.exit177: ; preds = %invoke.cont133, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 store ptr null, ptr %ref.tmp124, align 8 br label %if.end136 @@ -374555,74 +374534,73 @@ lpad132: ; preds = %invoke.cont131 ehcleanup135: ; preds = %lpad132, %lpad128 %.pn15 = phi { ptr, i32 } [ %72, %lpad132 ], [ %71, %lpad128 ] %73 = load ptr, ptr %ref.tmp124, align 8 - %cmp.not.i.i180 = icmp eq ptr %73, null - br i1 %cmp.not.i.i180, label %_ZN7testing7MessageD2Ev.exit184, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 + %cmp.not.i.i178 = icmp eq ptr %73, null + br i1 %cmp.not.i.i178, label %_ZN7testing7MessageD2Ev.exit182, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181: ; preds = %ehcleanup135 - %vtable.i.i.i182 = load ptr, ptr %73, align 8 - %vfn.i.i.i183 = getelementptr inbounds ptr, ptr %vtable.i.i.i182, i64 1 - %74 = load ptr, ptr %vfn.i.i.i183, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179: ; preds = %ehcleanup135 + %vtable.i.i.i180 = load ptr, ptr %73, align 8 + %vfn.i.i.i181 = getelementptr inbounds ptr, ptr %vtable.i.i.i180, i64 1 + %74 = load ptr, ptr %vfn.i.i.i181, align 8 call void %74(ptr noundef nonnull align 8 dereferenceable(128) %73) #33 - br label %_ZN7testing7MessageD2Ev.exit184 + br label %_ZN7testing7MessageD2Ev.exit182 -_ZN7testing7MessageD2Ev.exit184: ; preds = %ehcleanup135, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i181 +_ZN7testing7MessageD2Ev.exit182: ; preds = %ehcleanup135, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179 store ptr null, ptr %ref.tmp124, align 8 br label %ehcleanup137 -if.end136: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit156, %_ZN7testing7MessageD2Ev.exit179 - %message_.i185 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar107, i64 0, i32 1 - %75 = load ptr, ptr %message_.i185, align 8 - %cmp.not.i.i186 = icmp eq ptr %75, null - br i1 %cmp.not.i.i186, label %_ZN7testing15AssertionResultD2Ev.exit188, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 +if.end136: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit154, %_ZN7testing7MessageD2Ev.exit177 + %message_.i183 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar107, i64 0, i32 1 + %75 = load ptr, ptr %message_.i183, align 8 + %cmp.not.i.i184 = icmp eq ptr %75, null + br i1 %cmp.not.i.i184, label %_ZN7testing15AssertionResultD2Ev.exit186, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187: ; preds = %if.end136 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185: ; preds = %if.end136 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #33 call void @_ZdlPv(ptr noundef nonnull %75) #37 - br label %_ZN7testing15AssertionResultD2Ev.exit188 + br label %_ZN7testing15AssertionResultD2Ev.exit186 -_ZN7testing15AssertionResultD2Ev.exit188: ; preds = %if.end136, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 - store ptr null, ptr %message_.i185, align 8 +_ZN7testing15AssertionResultD2Ev.exit186: ; preds = %if.end136, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 + store ptr null, ptr %message_.i183, align 8 %76 = load ptr, ptr %v1, align 8, !noalias !9019 %77 = load ptr, ptr %_M_finish.i, align 8, !noalias !9019 - %__first.coerce4.i.i.i.i.i191 = ptrtoint ptr %76 to i64 - %__last.coerce3.i.i.i.i.i192 = ptrtoint ptr %77 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i193 = sub i64 %__last.coerce3.i.i.i.i.i192, %__first.coerce4.i.i.i.i.i191 - %sub.ptr.div.i.i.i.i.i.i.i.i194 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i193, 4 - %cmp.i.i.i.i.i.i195 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i194, 576460752303423487 - br i1 %cmp.i.i.i.i.i.i195, label %if.then.i.i.i.i.i.i204.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i196 - -if.then.i.i.i.i.i.i204.invoke: ; preds = %invoke.cont48, %_ZN7testing15AssertionResultD2Ev.exit188, %invoke.cont106, %_ZN7testing15AssertionResultD2Ev.exit + %__first.coerce4.i.i.i.i.i189 = ptrtoint ptr %76 to i64 + %__last.coerce3.i.i.i.i.i190 = ptrtoint ptr %77 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i191 = sub i64 %__last.coerce3.i.i.i.i.i190, %__first.coerce4.i.i.i.i.i189 + %cmp.i.i.i.i.i.i192 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i191, 9223372036854775792 + br i1 %cmp.i.i.i.i.i.i192, label %if.then.i.i.i.i.i.i201.invoke, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i193 + +if.then.i.i.i.i.i.i201.invoke: ; preds = %invoke.cont48, %_ZN7testing15AssertionResultD2Ev.exit186, %invoke.cont106, %_ZN7testing15AssertionResultD2Ev.exit invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.205) #35 - to label %if.then.i.i.i.i.i.i204.cont unwind label %lpad51 + to label %if.then.i.i.i.i.i.i201.cont unwind label %lpad51 -if.then.i.i.i.i.i.i204.cont: ; preds = %if.then.i.i.i.i.i.i204.invoke +if.then.i.i.i.i.i.i201.cont: ; preds = %if.then.i.i.i.i.i.i201.invoke unreachable -_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i196: ; preds = %_ZN7testing15AssertionResultD2Ev.exit188 - %cmp.not.i.i.i.i.i.i197 = icmp eq ptr %77, %76 - br i1 %cmp.not.i.i.i.i.i.i197, label %invoke.cont143, label %for.body.i.i.i.i.preheader.i.i.i.i.i198 +_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i193: ; preds = %_ZN7testing15AssertionResultD2Ev.exit186 + %cmp.not.i.i.i.i.i.i194 = icmp eq ptr %77, %76 + br i1 %cmp.not.i.i.i.i.i.i194, label %invoke.cont143, label %for.body.i.i.i.i.preheader.i.i.i.i.i195 -for.body.i.i.i.i.preheader.i.i.i.i.i198: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i196 - %call5.i.i.i.i1.i.i.i.i207 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i193) #38 - to label %call5.i.i.i.i1.i.i.i.i.noexc206 unwind label %lpad51 +for.body.i.i.i.i.preheader.i.i.i.i.i195: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i193 + %call5.i.i.i.i1.i.i.i.i204 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i191) #38 + to label %call5.i.i.i.i1.i.i.i.i.noexc203 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc206: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i198 - %78 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i193, -16 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i207, ptr align 8 %76, i64 %78, i1 false), !noalias !9022 - %scevgep.i.i.i.i.i199 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i207, i64 %78 +call5.i.i.i.i1.i.i.i.i.noexc203: ; preds = %for.body.i.i.i.i.preheader.i.i.i.i.i195 + %78 = and i64 %sub.ptr.sub.i.i.i.i.i.i.i.i191, 9223372036854775792 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i204, ptr align 8 %76, i64 %78, i1 false), !noalias !9022 + %scevgep.i.i.i.i.i196 = getelementptr i8, ptr %call5.i.i.i.i1.i.i.i.i204, i64 %78 br label %invoke.cont143 -invoke.cont143: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i196, %call5.i.i.i.i1.i.i.i.i.noexc206 - %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i196 ], [ %call5.i.i.i.i1.i.i.i.i207, %call5.i.i.i.i1.i.i.i.i.noexc206 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.i.i201 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i196 ], [ %scevgep.i.i.i.i.i199, %call5.i.i.i.i1.i.i.i.i.noexc206 ] - %add.ptr.i.i.i.i.sink.i202 = getelementptr inbounds %"struct.std::pair.709", ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i194 +invoke.cont143: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i193, %call5.i.i.i.i1.i.i.i.i.noexc203 + %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i193 ], [ %call5.i.i.i.i1.i.i.i.i204, %call5.i.i.i.i1.i.i.i.i.noexc203 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.i.i198 = phi ptr [ null, %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EE17_S_check_init_lenEmRKS7_.exit.i.i.i.i.i193 ], [ %scevgep.i.i.i.i.i196, %call5.i.i.i.i1.i.i.i.i.noexc203 ] + %add.ptr.i.i.i.i.sink.i199 = getelementptr inbounds i8, ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i191 store i32 3, ptr %ref.tmp139, align 8, !alias.scope !9025 - %matchers_.i.i.i212 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp139, i64 0, i32 1 - store ptr %agg.tmp140.sroa.2.0, ptr %matchers_.i.i.i212, align 8, !alias.scope !9025 - %_M_finish.i.i.i.i.i.i.i213 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i201, ptr %_M_finish.i.i.i.i.i.i.i213, align 8, !alias.scope !9025 - %_M_end_of_storage.i.i.i.i.i.i.i214 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i202, ptr %_M_end_of_storage.i.i.i.i.i.i.i214, align 8, !alias.scope !9025 + %matchers_.i.i.i209 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp139, i64 0, i32 1 + store ptr %agg.tmp140.sroa.2.0, ptr %matchers_.i.i.i209, align 8, !alias.scope !9025 + %_M_finish.i.i.i.i.i.i.i210 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %__cur.0.lcssa.i.i.i.i.i.i.i.i.i198, ptr %_M_finish.i.i.i.i.i.i.i210, align 8, !alias.scope !9025 + %_M_end_of_storage.i.i.i.i.i.i.i211 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.1144", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.sink.i199, ptr %_M_end_of_storage.i.i.i.i.i.i.i211, align 8, !alias.scope !9025 invoke void @_ZN4absl18container_internal5itemsINS_13flat_hash_mapINS0_13hash_internal9EnumClassEiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocISt4pairIKS4_iEEEEEEESt6vectorIS8_INT_8key_typeENSE_11mapped_typeEESaISH_EERKSE_(ptr nonnull sret(%"class.std::vector.1145") align 8 %ref.tmp144, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont146 unwind label %lpad145 @@ -374632,30 +374610,30 @@ invoke.cont146: ; preds = %invoke.cont143 invoke.cont148: ; preds = %invoke.cont146 %79 = load ptr, ptr %ref.tmp144, align 8 - %tobool.not.i.i.i215 = icmp eq ptr %79, null - br i1 %tobool.not.i.i.i215, label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit217, label %if.then.i.i.i216 + %tobool.not.i.i.i212 = icmp eq ptr %79, null + br i1 %tobool.not.i.i.i212, label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit214, label %if.then.i.i.i213 -if.then.i.i.i216: ; preds = %invoke.cont148 +if.then.i.i.i213: ; preds = %invoke.cont148 call void @_ZdlPv(ptr noundef nonnull %79) #37 - br label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit217 + br label %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit214 -_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit217: ; preds = %invoke.cont148, %if.then.i.i.i216 - %80 = load ptr, ptr %matchers_.i.i.i212, align 8 - %tobool.not.i.i.i.i.i219 = icmp eq ptr %80, null - br i1 %tobool.not.i.i.i.i.i219, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit225, label %if.then.i.i.i.i.i220 +_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit214: ; preds = %invoke.cont148, %if.then.i.i.i213 + %80 = load ptr, ptr %matchers_.i.i.i209, align 8 + %tobool.not.i.i.i.i.i216 = icmp eq ptr %80, null + br i1 %tobool.not.i.i.i.i.i216, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit222, label %if.then.i.i.i.i.i217 -if.then.i.i.i.i.i220: ; preds = %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit217 +if.then.i.i.i.i.i217: ; preds = %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit214 call void @_ZdlPv(ptr noundef nonnull %80) #37 - br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit225 + br label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit222 -_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit225: ; preds = %if.then.i.i.i.i.i220, %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit217 +_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit222: ; preds = %if.then.i.i.i.i.i217, %_ZNSt6vectorISt4pairIN4absl18container_internal13hash_internal9EnumClassEiESaIS5_EED2Ev.exit214 %81 = load i8, ptr %gtest_ar138, align 8 %82 = and i8 %81, 1 - %tobool.i226.not = icmp eq i8 %82, 0 - br i1 %tobool.i226.not, label %if.else154, label %if.end167 + %tobool.i223.not = icmp eq i8 %82, 0 + br i1 %tobool.i223.not, label %if.else154, label %if.end167 -ehcleanup137: ; preds = %_ZN7testing7MessageD2Ev.exit184, %lpad125 - %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit184 ], [ %70, %lpad125 ] +ehcleanup137: ; preds = %_ZN7testing7MessageD2Ev.exit182, %lpad125 + %.pn15.pn = phi { ptr, i32 } [ %.pn15, %_ZN7testing7MessageD2Ev.exit182 ], [ %70, %lpad125 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar107) #33 br label %ehcleanup169 @@ -374668,40 +374646,40 @@ lpad147: ; preds = %invoke.cont146 %84 = landingpad { ptr, i32 } cleanup %85 = load ptr, ptr %ref.tmp144, align 8 - %tobool.not.i.i.i227 = icmp eq ptr %85, null - br i1 %tobool.not.i.i.i227, label %ehcleanup150, label %if.then.i.i.i228 + %tobool.not.i.i.i224 = icmp eq ptr %85, null + br i1 %tobool.not.i.i.i224, label %ehcleanup150, label %if.then.i.i.i225 -if.then.i.i.i228: ; preds = %lpad147 +if.then.i.i.i225: ; preds = %lpad147 call void @_ZdlPv(ptr noundef nonnull %85) #37 br label %ehcleanup150 -ehcleanup150: ; preds = %if.then.i.i.i228, %lpad147, %lpad145 - %.pn18 = phi { ptr, i32 } [ %83, %lpad145 ], [ %84, %lpad147 ], [ %84, %if.then.i.i.i228 ] - %86 = load ptr, ptr %matchers_.i.i.i212, align 8 - %tobool.not.i.i.i.i.i231 = icmp eq ptr %86, null - br i1 %tobool.not.i.i.i.i.i231, label %ehcleanup169, label %if.then.i.i.i.i.i232 +ehcleanup150: ; preds = %if.then.i.i.i225, %lpad147, %lpad145 + %.pn18 = phi { ptr, i32 } [ %83, %lpad145 ], [ %84, %lpad147 ], [ %84, %if.then.i.i.i225 ] + %86 = load ptr, ptr %matchers_.i.i.i209, align 8 + %tobool.not.i.i.i.i.i228 = icmp eq ptr %86, null + br i1 %tobool.not.i.i.i.i.i228, label %ehcleanup169, label %if.then.i.i.i.i.i229 -if.then.i.i.i.i.i232: ; preds = %ehcleanup150 +if.then.i.i.i.i.i229: ; preds = %ehcleanup150 call void @_ZdlPv(ptr noundef nonnull %86) #37 br label %ehcleanup169 -if.else154: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit225 +if.else154: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit222 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp155) to label %invoke.cont157 unwind label %lpad156 invoke.cont157: ; preds = %if.else154 - %message_.i.i238 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar138, i64 0, i32 1 - %87 = load ptr, ptr %message_.i.i238, align 8 - %cmp.i.i.not.i.i239 = icmp eq ptr %87, null - br i1 %cmp.i.i.not.i.i239, label %invoke.cont160, label %cond.true.i.i240 + %message_.i.i235 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar138, i64 0, i32 1 + %87 = load ptr, ptr %message_.i.i235, align 8 + %cmp.i.i.not.i.i236 = icmp eq ptr %87, null + br i1 %cmp.i.i.not.i.i236, label %invoke.cont160, label %cond.true.i.i237 -cond.true.i.i240: ; preds = %invoke.cont157 - %call4.i.i241 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %87) #33 +cond.true.i.i237: ; preds = %invoke.cont157 + %call4.i.i238 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %87) #33 br label %invoke.cont160 -invoke.cont160: ; preds = %cond.true.i.i240, %invoke.cont157 - %cond.i.i242 = phi ptr [ %call4.i.i241, %cond.true.i.i240 ], [ @.str.191, %invoke.cont157 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp158, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 294, ptr noundef %cond.i.i242) +invoke.cont160: ; preds = %cond.true.i.i237, %invoke.cont157 + %cond.i.i239 = phi ptr [ %call4.i.i238, %cond.true.i.i237 ], [ @.str.191, %invoke.cont157 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp158, i32 noundef 1, ptr noundef nonnull @.str.83, i32 noundef 294, ptr noundef %cond.i.i239) to label %invoke.cont162 unwind label %lpad159 invoke.cont162: ; preds = %invoke.cont160 @@ -374711,17 +374689,17 @@ invoke.cont162: ; preds = %invoke.cont160 invoke.cont164: ; preds = %invoke.cont162 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp158) #33 %88 = load ptr, ptr %ref.tmp155, align 8 - %cmp.not.i.i244 = icmp eq ptr %88, null - br i1 %cmp.not.i.i244, label %_ZN7testing7MessageD2Ev.exit248, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245 + %cmp.not.i.i241 = icmp eq ptr %88, null + br i1 %cmp.not.i.i241, label %_ZN7testing7MessageD2Ev.exit245, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245: ; preds = %invoke.cont164 - %vtable.i.i.i246 = load ptr, ptr %88, align 8 - %vfn.i.i.i247 = getelementptr inbounds ptr, ptr %vtable.i.i.i246, i64 1 - %89 = load ptr, ptr %vfn.i.i.i247, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242: ; preds = %invoke.cont164 + %vtable.i.i.i243 = load ptr, ptr %88, align 8 + %vfn.i.i.i244 = getelementptr inbounds ptr, ptr %vtable.i.i.i243, i64 1 + %89 = load ptr, ptr %vfn.i.i.i244, align 8 call void %89(ptr noundef nonnull align 8 dereferenceable(128) %88) #33 - br label %_ZN7testing7MessageD2Ev.exit248 + br label %_ZN7testing7MessageD2Ev.exit245 -_ZN7testing7MessageD2Ev.exit248: ; preds = %invoke.cont164, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i245 +_ZN7testing7MessageD2Ev.exit245: ; preds = %invoke.cont164, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i242 store ptr null, ptr %ref.tmp155, align 8 br label %if.end167 @@ -374744,39 +374722,39 @@ lpad163: ; preds = %invoke.cont162 ehcleanup166: ; preds = %lpad163, %lpad159 %.pn21 = phi { ptr, i32 } [ %92, %lpad163 ], [ %91, %lpad159 ] %93 = load ptr, ptr %ref.tmp155, align 8 - %cmp.not.i.i249 = icmp eq ptr %93, null - br i1 %cmp.not.i.i249, label %_ZN7testing7MessageD2Ev.exit253, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 + %cmp.not.i.i246 = icmp eq ptr %93, null + br i1 %cmp.not.i.i246, label %_ZN7testing7MessageD2Ev.exit250, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250: ; preds = %ehcleanup166 - %vtable.i.i.i251 = load ptr, ptr %93, align 8 - %vfn.i.i.i252 = getelementptr inbounds ptr, ptr %vtable.i.i.i251, i64 1 - %94 = load ptr, ptr %vfn.i.i.i252, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247: ; preds = %ehcleanup166 + %vtable.i.i.i248 = load ptr, ptr %93, align 8 + %vfn.i.i.i249 = getelementptr inbounds ptr, ptr %vtable.i.i.i248, i64 1 + %94 = load ptr, ptr %vfn.i.i.i249, align 8 call void %94(ptr noundef nonnull align 8 dereferenceable(128) %93) #33 - br label %_ZN7testing7MessageD2Ev.exit253 + br label %_ZN7testing7MessageD2Ev.exit250 -_ZN7testing7MessageD2Ev.exit253: ; preds = %ehcleanup166, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 +_ZN7testing7MessageD2Ev.exit250: ; preds = %ehcleanup166, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i247 store ptr null, ptr %ref.tmp155, align 8 br label %ehcleanup168 -if.end167: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit225, %_ZN7testing7MessageD2Ev.exit248 - %message_.i254 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar138, i64 0, i32 1 - %95 = load ptr, ptr %message_.i254, align 8 - %cmp.not.i.i255 = icmp eq ptr %95, null - br i1 %cmp.not.i.i255, label %_ZN7testing15AssertionResultD2Ev.exit257, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256 +if.end167: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiEED2Ev.exit222, %_ZN7testing7MessageD2Ev.exit245 + %message_.i251 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar138, i64 0, i32 1 + %95 = load ptr, ptr %message_.i251, align 8 + %cmp.not.i.i252 = icmp eq ptr %95, null + br i1 %cmp.not.i.i252, label %_ZN7testing15AssertionResultD2Ev.exit254, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256: ; preds = %if.end167 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253: ; preds = %if.end167 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #33 call void @_ZdlPv(ptr noundef nonnull %95) #37 - br label %_ZN7testing15AssertionResultD2Ev.exit257 + br label %_ZN7testing15AssertionResultD2Ev.exit254 -_ZN7testing15AssertionResultD2Ev.exit257: ; preds = %if.end167, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i256 - store ptr null, ptr %message_.i254, align 8 +_ZN7testing15AssertionResultD2Ev.exit254: ; preds = %if.end167, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i253 + store ptr null, ptr %message_.i251, align 8 %capacity_.i.i.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 2 %96 = load i64, ptr %capacity_.i.i.i.i.i.i, align 8 %cmp.i.i.i.i = icmp eq i64 %96, 0 br i1 %cmp.i.i.i.i, label %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit, label %if.end.i.i.i.i -if.end.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit257 +if.end.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit254 %97 = load ptr, ptr %m2, align 8 %size_.i.i.i.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 3 %98 = load i64, ptr %size_.i.i.i.i.i.i.i, align 8 @@ -374786,102 +374764,102 @@ if.end.i.i.i.i: ; preds = %_ZN7testing15Assert call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i) #37 br label %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit -_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit257, %if.end.i.i.i.i - %capacity_.i.i.i.i.i.i258 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 2 - %99 = load i64, ptr %capacity_.i.i.i.i.i.i258, align 8 - %cmp.i.i.i.i259 = icmp eq i64 %99, 0 - br i1 %cmp.i.i.i.i259, label %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit265, label %if.end.i.i.i.i260 +_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit254, %if.end.i.i.i.i + %capacity_.i.i.i.i.i.i255 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 2 + %99 = load i64, ptr %capacity_.i.i.i.i.i.i255, align 8 + %cmp.i.i.i.i256 = icmp eq i64 %99, 0 + br i1 %cmp.i.i.i.i256, label %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit262, label %if.end.i.i.i.i257 -if.end.i.i.i.i260: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit +if.end.i.i.i.i257: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit %100 = load ptr, ptr %m1, align 8 - %size_.i.i.i.i.i.i.i261 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 3 - %101 = load i64, ptr %size_.i.i.i.i.i.i.i261, align 8 - %and.i.i.i.i.i.i.i262 = and i64 %101, 1 - %add.i.neg.i.i.i.i.i.i263 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i262 - %add.ptr.i.i.i.i.i.i264 = getelementptr inbounds i8, ptr %100, i64 %add.i.neg.i.i.i.i.i.i263 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i264) #37 - br label %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit265 - -_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit265: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit, %if.end.i.i.i.i260 + %size_.i.i.i.i.i.i.i258 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 3 + %101 = load i64, ptr %size_.i.i.i.i.i.i.i258, align 8 + %and.i.i.i.i.i.i.i259 = and i64 %101, 1 + %add.i.neg.i.i.i.i.i.i260 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i259 + %add.ptr.i.i.i.i.i.i261 = getelementptr inbounds i8, ptr %100, i64 %add.i.neg.i.i.i.i.i.i260 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i261) #37 + br label %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit262 + +_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit262: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit, %if.end.i.i.i.i257 %102 = load ptr, ptr %v2, align 8 - %tobool.not.i.i.i266 = icmp eq ptr %102, null - br i1 %tobool.not.i.i.i266, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit, label %if.then.i.i.i267 + %tobool.not.i.i.i263 = icmp eq ptr %102, null + br i1 %tobool.not.i.i.i263, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit, label %if.then.i.i.i264 -if.then.i.i.i267: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit265 +if.then.i.i.i264: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit262 call void @_ZdlPv(ptr noundef nonnull %102) #37 br label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit -_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit265, %if.then.i.i.i267 +_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit: ; preds = %_ZN4absl13flat_hash_mapINS_18container_internal13hash_internal9EnumClassEiNS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocISt4pairIKS3_iEEEED2Ev.exit262, %if.then.i.i.i264 %103 = load ptr, ptr %v1, align 8 - %tobool.not.i.i.i268 = icmp eq ptr %103, null - br i1 %tobool.not.i.i.i268, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit270, label %if.then.i.i.i269 + %tobool.not.i.i.i265 = icmp eq ptr %103, null + br i1 %tobool.not.i.i.i265, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit267, label %if.then.i.i.i266 -if.then.i.i.i269: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit +if.then.i.i.i266: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %103) #37 - br label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit270 + br label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit267 -_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit270: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit, %if.then.i.i.i269 +_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit267: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit, %if.then.i.i.i266 ret void -ehcleanup168: ; preds = %_ZN7testing7MessageD2Ev.exit253, %lpad156 - %.pn21.pn = phi { ptr, i32 } [ %.pn21, %_ZN7testing7MessageD2Ev.exit253 ], [ %90, %lpad156 ] +ehcleanup168: ; preds = %_ZN7testing7MessageD2Ev.exit250, %lpad156 + %.pn21.pn = phi { ptr, i32 } [ %.pn21, %_ZN7testing7MessageD2Ev.exit250 ], [ %90, %lpad156 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar138) #33 br label %ehcleanup169 -ehcleanup169: ; preds = %if.then.i.i.i.i.i232, %ehcleanup150, %if.then.i.i.i.i.i163, %ehcleanup119, %if.then.i.i.i.i.i94, %ehcleanup87, %if.then.i.i.i.i.i39, %ehcleanup, %ehcleanup168, %ehcleanup137, %ehcleanup105, %ehcleanup74, %lpad51 - %.pn21.pn.pn = phi { ptr, i32 } [ %.pn21.pn, %ehcleanup168 ], [ %18, %lpad51 ], [ %.pn15.pn, %ehcleanup137 ], [ %.pn9.pn, %ehcleanup105 ], [ %.pn3.pn, %ehcleanup74 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i39 ], [ %.pn6, %ehcleanup87 ], [ %.pn6, %if.then.i.i.i.i.i94 ], [ %.pn12, %ehcleanup119 ], [ %.pn12, %if.then.i.i.i.i.i163 ], [ %.pn18, %ehcleanup150 ], [ %.pn18, %if.then.i.i.i.i.i232 ] - %capacity_.i.i.i.i.i.i271 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 2 - %104 = load i64, ptr %capacity_.i.i.i.i.i.i271, align 8 - %cmp.i.i.i.i272 = icmp eq i64 %104, 0 - br i1 %cmp.i.i.i.i272, label %ehcleanup170, label %if.end.i.i.i.i273 +ehcleanup169: ; preds = %if.then.i.i.i.i.i229, %ehcleanup150, %if.then.i.i.i.i.i161, %ehcleanup119, %if.then.i.i.i.i.i93, %ehcleanup87, %if.then.i.i.i.i.i39, %ehcleanup, %ehcleanup168, %ehcleanup137, %ehcleanup105, %ehcleanup74, %lpad51 + %.pn21.pn.pn = phi { ptr, i32 } [ %.pn21.pn, %ehcleanup168 ], [ %18, %lpad51 ], [ %.pn15.pn, %ehcleanup137 ], [ %.pn9.pn, %ehcleanup105 ], [ %.pn3.pn, %ehcleanup74 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i39 ], [ %.pn6, %ehcleanup87 ], [ %.pn6, %if.then.i.i.i.i.i93 ], [ %.pn12, %ehcleanup119 ], [ %.pn12, %if.then.i.i.i.i.i161 ], [ %.pn18, %ehcleanup150 ], [ %.pn18, %if.then.i.i.i.i.i229 ] + %capacity_.i.i.i.i.i.i268 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 2 + %104 = load i64, ptr %capacity_.i.i.i.i.i.i268, align 8 + %cmp.i.i.i.i269 = icmp eq i64 %104, 0 + br i1 %cmp.i.i.i.i269, label %ehcleanup170, label %if.end.i.i.i.i270 -if.end.i.i.i.i273: ; preds = %ehcleanup169 +if.end.i.i.i.i270: ; preds = %ehcleanup169 %105 = load ptr, ptr %m2, align 8 - %size_.i.i.i.i.i.i.i274 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 3 - %106 = load i64, ptr %size_.i.i.i.i.i.i.i274, align 8 - %and.i.i.i.i.i.i.i275 = and i64 %106, 1 - %add.i.neg.i.i.i.i.i.i276 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i275 - %add.ptr.i.i.i.i.i.i277 = getelementptr inbounds i8, ptr %105, i64 %add.i.neg.i.i.i.i.i.i276 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i277) #37 + %size_.i.i.i.i.i.i.i271 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m2, i64 0, i32 3 + %106 = load i64, ptr %size_.i.i.i.i.i.i.i271, align 8 + %and.i.i.i.i.i.i.i272 = and i64 %106, 1 + %add.i.neg.i.i.i.i.i.i273 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i272 + %add.ptr.i.i.i.i.i.i274 = getelementptr inbounds i8, ptr %105, i64 %add.i.neg.i.i.i.i.i.i273 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i274) #37 br label %ehcleanup170 -ehcleanup170: ; preds = %if.end.i.i.i.i273, %ehcleanup169, %lpad47 - %.pn21.pn.pn.pn = phi { ptr, i32 } [ %17, %lpad47 ], [ %.pn21.pn.pn, %ehcleanup169 ], [ %.pn21.pn.pn, %if.end.i.i.i.i273 ] - %capacity_.i.i.i.i.i.i279 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 2 - %107 = load i64, ptr %capacity_.i.i.i.i.i.i279, align 8 - %cmp.i.i.i.i280 = icmp eq i64 %107, 0 - br i1 %cmp.i.i.i.i280, label %ehcleanup171, label %if.end.i.i.i.i281 +ehcleanup170: ; preds = %if.end.i.i.i.i270, %ehcleanup169, %lpad47 + %.pn21.pn.pn.pn = phi { ptr, i32 } [ %17, %lpad47 ], [ %.pn21.pn.pn, %ehcleanup169 ], [ %.pn21.pn.pn, %if.end.i.i.i.i270 ] + %capacity_.i.i.i.i.i.i276 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 2 + %107 = load i64, ptr %capacity_.i.i.i.i.i.i276, align 8 + %cmp.i.i.i.i277 = icmp eq i64 %107, 0 + br i1 %cmp.i.i.i.i277, label %ehcleanup171, label %if.end.i.i.i.i278 -if.end.i.i.i.i281: ; preds = %ehcleanup170 +if.end.i.i.i.i278: ; preds = %ehcleanup170 %108 = load ptr, ptr %m1, align 8 - %size_.i.i.i.i.i.i.i282 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 3 - %109 = load i64, ptr %size_.i.i.i.i.i.i.i282, align 8 - %and.i.i.i.i.i.i.i283 = and i64 %109, 1 - %add.i.neg.i.i.i.i.i.i284 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i283 - %add.ptr.i.i.i.i.i.i285 = getelementptr inbounds i8, ptr %108, i64 %add.i.neg.i.i.i.i.i.i284 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i285) #37 + %size_.i.i.i.i.i.i.i279 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m1, i64 0, i32 3 + %109 = load i64, ptr %size_.i.i.i.i.i.i.i279, align 8 + %and.i.i.i.i.i.i.i280 = and i64 %109, 1 + %add.i.neg.i.i.i.i.i.i281 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i.i280 + %add.ptr.i.i.i.i.i.i282 = getelementptr inbounds i8, ptr %108, i64 %add.i.neg.i.i.i.i.i.i281 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i.i282) #37 br label %ehcleanup171 -ehcleanup171: ; preds = %if.end.i.i.i.i281, %ehcleanup170, %lpad30, %lpad - %.pn21.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %lpad30 ], [ %15, %lpad ], [ %.pn21.pn.pn.pn, %ehcleanup170 ], [ %.pn21.pn.pn.pn, %if.end.i.i.i.i281 ] +ehcleanup171: ; preds = %if.end.i.i.i.i278, %ehcleanup170, %lpad30, %lpad + %.pn21.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %lpad30 ], [ %15, %lpad ], [ %.pn21.pn.pn.pn, %ehcleanup170 ], [ %.pn21.pn.pn.pn, %if.end.i.i.i.i278 ] %110 = load ptr, ptr %v2, align 8 - %tobool.not.i.i.i287 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i287, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit289, label %if.then.i.i.i288 + %tobool.not.i.i.i284 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i284, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit286, label %if.then.i.i.i285 -if.then.i.i.i288: ; preds = %ehcleanup171 +if.then.i.i.i285: ; preds = %ehcleanup171 call void @_ZdlPv(ptr noundef nonnull %110) #37 - br label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit289 + br label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit286 -_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit289: ; preds = %ehcleanup171, %if.then.i.i.i288 +_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit286: ; preds = %ehcleanup171, %if.then.i.i.i285 %111 = load ptr, ptr %v1, align 8 - %tobool.not.i.i.i290 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i290, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit292, label %if.then.i.i.i291 + %tobool.not.i.i.i287 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i287, label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit289, label %if.then.i.i.i288 -if.then.i.i.i291: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit289 +if.then.i.i.i288: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit286 call void @_ZdlPv(ptr noundef nonnull %111) #37 - br label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit292 + br label %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit289 -_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit292: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit289, %if.then.i.i.i291 +_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit289: ; preds = %_ZNSt6vectorISt4pairIKN4absl18container_internal13hash_internal9EnumClassEiESaIS6_EED2Ev.exit286, %if.then.i.i.i288 resume { ptr, i32 } %.pn21.pn.pn.pn.pn } @@ -380585,7 +380563,7 @@ attributes #19 = { mustprogress nofree nounwind willreturn memory(argmem: read) attributes #20 = { mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #21 = { mustprogress uwtable "frame-pointer"="all" "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #22 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #23 = { mustprogress nofree nosync nounwind willreturn memory(argmem: readwrite) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #23 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #24 = { mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #25 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #26 = { mustprogress nofree norecurse nosync nounwind willreturn memory(readwrite, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } diff --git a/bench/abseil-cpp/optimized/flat_hash_set_test.cc.ll b/bench/abseil-cpp/optimized/flat_hash_set_test.cc.ll index d17d5ea6e28..7838aae2a6a 100644 --- a/bench/abseil-cpp/optimized/flat_hash_set_test.cc.ll +++ b/bench/abseil-cpp/optimized/flat_hash_set_test.cc.ll @@ -10182,7 +10182,7 @@ invoke.cont5: ; preds = %.noexc17 call5.i.i.i.i.noexc: ; preds = %invoke.cont5 store ptr %call5.i.i.i.i49, ptr %v, align 8 - %add.ptr.i44 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i.i49, i64 2 + %add.ptr.i44 = getelementptr inbounds i8, ptr %call5.i.i.i.i49, i64 64 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %v, i64 0, i32 2 store ptr %add.ptr.i44, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i45 @@ -11609,8 +11609,7 @@ entry: %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %__last.coerce to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %__first.coerce to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 5 - %cmp.i = icmp ugt i64 %sub.ptr.div.i.i.i, 288230376151711743 + %cmp.i = icmp ugt i64 %sub.ptr.sub.i.i.i, 9223372036854775776 br i1 %cmp.i, label %if.then.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit if.then.i: ; preds = %entry @@ -11623,7 +11622,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_ch _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEPS7_S7_ET0_T_SG_SF_RSaIT1_E.exit @@ -11631,7 +11630,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #37 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -12161,23 +12160,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i16, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %21, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %21, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %21) #36 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i7, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -20631,23 +20631,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #36 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -28139,23 +28140,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #36 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -33110,23 +33112,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i14, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %20) #36 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -36130,23 +36133,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %add.ptr.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i %13 = load i32, ptr %__begin0.sroa.6.035, align 4 store i32 %13, ptr %add.ptr.i.i, align 4 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %cond.i10.i.i3233, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i, i64 1 %tobool.not.i.i.i = icmp eq ptr %cond.i10.i.i3233, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i3233) #36 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i store ptr %cond.i10.i.i, ptr %agg.result, align 8 store ptr %incdec.ptr.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %cond.i.i.i @@ -39899,7 +39903,6 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE %2 = load ptr, ptr %_M_finish.i, align 8 %sub.ptr.lhs.cast.i6 = ptrtoint ptr %2 to i64 %sub.ptr.sub.i8 = sub i64 %sub.ptr.lhs.cast.i6, %sub.ptr.rhs.cast.i - %sub.ptr.div.i9 = ashr exact i64 %sub.ptr.sub.i8, 5 %mul.i.i.i = shl nuw nsw i64 %__n, 5 %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i) #37 %cmp.not5.i.i.i = icmp eq ptr %1, %2 @@ -39930,7 +39933,7 @@ if.then.i: ; preds = %_ZNSt6vectorINSt7__ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_.exit, %if.then.i store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i, i64 %sub.ptr.div.i9 + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i8 store ptr %add.ptr, ptr %_M_finish.i, align 8 %add.ptr21 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i, i64 %__n store ptr %add.ptr21, ptr %_M_end_of_storage.i, align 8 @@ -41108,23 +41111,24 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_ %add.ptr.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i %13 = load i32, ptr %__begin0.sroa.6.035, align 4 store i32 %13, ptr %add.ptr.i.i, align 4 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %cond.i10.i.i3233, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i, i64 1 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i, i64 1 %tobool.not.i.i.i = icmp eq ptr %cond.i10.i.i3233, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i3233) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i store ptr %cond.i10.i.i, ptr %agg.result, align 8 store ptr %incdec.ptr.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %cond.i.i.i @@ -43473,23 +43477,24 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE %add.ptr.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i %13 = load i64, ptr %__begin0.sroa.6.035, align 8 store i64 %13, ptr %add.ptr.i.i, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %cond.i10.i.i3233, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i, i64 1 +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i, i64 1 %tobool.not.i.i.i = icmp eq ptr %cond.i10.i.i3233, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i tail call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i3233) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i store ptr %cond.i10.i.i, ptr %agg.result, align 8 store ptr %incdec.ptr.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i, i64 %cond.i.i.i @@ -77831,30 +77836,31 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %3, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %values.sroa.0.0198, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0198, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0198) #36 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.13.0196, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.7.0197, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.7.0197, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.0.0198, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0199, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %for.body, !llvm.loop !1539 @@ -78222,8 +78228,7 @@ _ZN7testing15AssertionResultD2Ev.exit91: ; preds = %if.end69, %_ZNKSt14 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit91 @@ -78247,7 +78252,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont76: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp73.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i94, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp73.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp73.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp72, align 8, !alias.scope !1569 %matchers_.i.i.i95 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp72, i64 0, i32 1 store ptr %agg.tmp73.sroa.2.0, ptr %matchers_.i.i.i95, align 8, !alias.scope !1569 @@ -79490,23 +79495,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #36 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -81598,23 +81604,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i16, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %21, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %21, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %21) #36 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i7, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -82124,30 +82131,31 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_ %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %3, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %values.sroa.0.0205, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0205, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0205) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.13.0203, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0204, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0204, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.0.0205, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0206, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %if.then.i.i.i.preheader, !llvm.loop !1691 @@ -82520,8 +82528,7 @@ _ZN7testing15AssertionResultD2Ev.exit91: ; preds = %if.end69, %_ZNKSt14 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit91 @@ -82545,7 +82552,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont76: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp73.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i94, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp73.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp73.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp72, align 8, !alias.scope !1721 %matchers_.i.i.i95 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp72, i64 0, i32 1 store ptr %agg.tmp73.sroa.2.0, ptr %matchers_.i.i.i95, align 8, !alias.scope !1721 @@ -83685,23 +83692,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #36 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -83990,30 +83998,31 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i25, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i64 %call13.i.i.i24, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %values.sroa.0.0204, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0204, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0204) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.13.0202, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0203, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0203, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.0.0204, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0205, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %_ZNSt24uniform_int_distributionImEclISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEEmRT_.exit.i.preheader, !llvm.loop !1768 @@ -84386,8 +84395,7 @@ _ZN7testing15AssertionResultD2Ev.exit91: ; preds = %if.end69, %_ZNKSt14 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit91 @@ -84411,7 +84419,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont76: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp73.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i94, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp73.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp73.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp72, align 8, !alias.scope !1798 %matchers_.i.i.i95 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp72, i64 0, i32 1 store ptr %agg.tmp73.sroa.2.0, ptr %matchers_.i.i.i95, align 8, !alias.scope !1798 @@ -85556,23 +85564,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i17, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #36 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -86507,30 +86516,31 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %1, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %values.sroa.0.0135, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0135, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0135) #36 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.13.0133, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.7.0134, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.7.0134, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.0.0135, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0136, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %for.body, !llvm.loop !1853 @@ -86684,8 +86694,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -86709,7 +86718,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont32: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp29.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i33, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp29.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp29.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp28, align 8, !alias.scope !1867 %matchers_.i.i.i34 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp28, i64 0, i32 1 store ptr %agg.tmp29.sroa.2.0, ptr %matchers_.i.i.i34, align 8, !alias.scope !1867 @@ -88564,30 +88573,31 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_ %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %1, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %values.sroa.0.0142, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0142, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0142) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.13.0140, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0141, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0141, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.0.0142, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0143, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %if.then.i.i.i.preheader, !llvm.loop !1905 @@ -88746,8 +88756,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -88771,7 +88780,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont32: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp29.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i33, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp29.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp29.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp28, align 8, !alias.scope !1919 %matchers_.i.i.i34 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp28, i64 0, i32 1 store ptr %agg.tmp29.sroa.2.0, ptr %matchers_.i.i.i34, align 8, !alias.scope !1919 @@ -89322,30 +89331,31 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i64 %call13.i.i.i17, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %values.sroa.0.0141, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0141, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0141) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.13.0139, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0140, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0140, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.0.0141, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0142, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %_ZNSt24uniform_int_distributionImEclISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEEmRT_.exit.i.preheader, !llvm.loop !1922 @@ -89504,8 +89514,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit @@ -89529,7 +89538,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont32: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp29.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i33, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp29.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp29.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp28, align 8, !alias.scope !1936 %matchers_.i.i.i34 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp28, i64 0, i32 1 store ptr %agg.tmp29.sroa.2.0, ptr %matchers_.i.i.i34, align 8, !alias.scope !1936 @@ -90743,30 +90752,31 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i21, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %2, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %values.sroa.0.0166, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0166, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0166) #36 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.13.0164, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.7.0165, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.7.0165, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %values.sroa.0.0166, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0167, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %for.body, !llvm.loop !1948 @@ -91027,8 +91037,7 @@ _ZN7testing15AssertionResultD2Ev.exit60: ; preds = %if.end47, %_ZNKSt14 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit60 @@ -91052,7 +91061,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont54: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp51.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i63, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp51.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp51.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp50, align 8, !alias.scope !1970 %matchers_.i.i.i64 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp50, i64 0, i32 1 store ptr %agg.tmp51.sroa.2.0, ptr %matchers_.i.i.i64, align 8, !alias.scope !1970 @@ -93034,30 +93043,31 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_ %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i21, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %2, ptr %add.ptr.i.i.i, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %values.sroa.0.0173, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0173, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0173) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.13.0171, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0172, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0172, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.0.0173, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0174, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %if.then.i.i.i.preheader, !llvm.loop !2016 @@ -93323,8 +93333,7 @@ _ZN7testing15AssertionResultD2Ev.exit60: ; preds = %if.end47, %_ZNKSt14 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit60 @@ -93348,7 +93357,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont54: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp51.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i63, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp51.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp51.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp50, align 8, !alias.scope !2038 %matchers_.i.i.i64 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp50, i64 0, i32 1 store ptr %agg.tmp51.sroa.2.0, ptr %matchers_.i.i.i64, align 8, !alias.scope !2038 @@ -93907,30 +93916,31 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i21, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i64 %call13.i.i.i20, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %values.sroa.0.0172, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %values.sroa.0.0172, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %values.sroa.0.0172) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i %values.sroa.13.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.13.0170, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0171, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.7.0171, %if.then.i.i ] %values.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %values.sroa.0.0172, %if.then.i.i ] - %values.sroa.7.1 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.pn, i64 1 + %values.sroa.7.1 = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 %inc = add nuw nsw i64 %i.0173, 1 %cmp.not = icmp eq i64 %inc, 10 br i1 %cmp.not, label %for.end, label %_ZNSt24uniform_int_distributionImEclISt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEEEmRT_.exit.i.preheader, !llvm.loop !2041 @@ -94196,8 +94206,7 @@ _ZN7testing15AssertionResultD2Ev.exit60: ; preds = %if.end47, %_ZNKSt14 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.7.1 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %values.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit60 @@ -94221,7 +94230,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont54: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp51.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i63, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp51.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp51.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp50, align 8, !alias.scope !2063 %matchers_.i.i.i64 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp50, i64 0, i32 1 store ptr %agg.tmp51.sroa.2.0, ptr %matchers_.i.i.i64, align 8, !alias.scope !2063 @@ -120947,15 +120956,15 @@ _ZN7testing15AssertionResultD2Ev.exit91: ; preds = %if.end67, %_ZNKSt14 to label %invoke.cont75 unwind label %lpad10 invoke.cont75: ; preds = %_ZN7testing15AssertionResultD2Ev.exit91 - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i92, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i92, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3064 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i92, i64 20 store i32 3, ptr %ref.tmp70, align 8, !alias.scope !3069 %matchers_.i.i.i93 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp70, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i92, ptr %matchers_.i.i.i93, align 8, !alias.scope !3069 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp70, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3069 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3069 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp70, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3069 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3069 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp76, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont78 unwind label %lpad77 @@ -121226,8 +121235,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %84 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %84, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i150 = getelementptr inbounds i8, ptr %83, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i150) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %83, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit _ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit148, %if.end.i.i.i @@ -121240,22 +121249,22 @@ ehcleanup123: ; preds = %_ZN7testing7Message ehcleanup124: ; preds = %if.then.i.i.i.i.i100, %ehcleanup82, %ehcleanup123, %ehcleanup100, %ehcleanup68, %lpad49, %ehcleanup45, %ehcleanup24, %lpad10 %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %ehcleanup123 ], [ %16, %lpad10 ], [ %.pn13.pn, %ehcleanup100 ], [ %.pn7.pn, %ehcleanup68 ], [ %43, %lpad49 ], [ %.pn4.pn, %ehcleanup45 ], [ %.pn.pn, %ehcleanup24 ], [ %.pn10, %ehcleanup82 ], [ %.pn10, %if.then.i.i.i.i.i100 ] - %capacity_.i.i.i.i.i151 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %85 = load i64, ptr %capacity_.i.i.i.i.i151, align 8 - %cmp.i.i.i152 = icmp eq i64 %85, 0 - br i1 %cmp.i.i.i152, label %ehcleanup125, label %if.end.i.i.i153 + %capacity_.i.i.i.i.i150 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %85 = load i64, ptr %capacity_.i.i.i.i.i150, align 8 + %cmp.i.i.i151 = icmp eq i64 %85, 0 + br i1 %cmp.i.i.i151, label %ehcleanup125, label %if.end.i.i.i152 -if.end.i.i.i153: ; preds = %ehcleanup124 +if.end.i.i.i152: ; preds = %ehcleanup124 %86 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i154 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %87 = load i64, ptr %size_.i.i.i.i.i.i154, align 8 - %and.i.i.i.i.i.i155 = and i64 %87, 1 - %add.i.neg.i.i.i.i.i156 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i155 - %add.ptr.i.i.i.i.i157 = getelementptr inbounds i8, ptr %86, i64 %add.i.neg.i.i.i.i.i156 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i157) #36 + %size_.i.i.i.i.i.i153 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %87 = load i64, ptr %size_.i.i.i.i.i.i153, align 8 + %and.i.i.i.i.i.i154 = and i64 %87, 1 + %add.i.neg.i.i.i.i.i155 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i154 + %add.ptr.i.i.i.i.i156 = getelementptr inbounds i8, ptr %86, i64 %add.i.neg.i.i.i.i.i155 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i156) #36 br label %ehcleanup125 -ehcleanup125: ; preds = %if.end.i.i.i153, %ehcleanup124 +ehcleanup125: ; preds = %if.end.i.i.i152, %ehcleanup124 resume { ptr, i32 } %.pn16.pn.pn } @@ -122259,7 +122268,7 @@ _ZN7testing15AssertionResultD2Ev.exit86: ; preds = %if.end73, %_ZNKSt14 call5.i.i.i.i.noexc: ; preds = %_ZN7testing15AssertionResultD2Ev.exit86 store ptr %call5.i.i.i.i143, ptr %matchers_.i.i.i, align 8 - %add.ptr.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i.i143, i64 5 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i143, i64 160 %_M_end_of_storage.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %agg.tmp77, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i139 @@ -123525,15 +123534,15 @@ _ZN7testing15AssertionResultD2Ev.exit103: ; preds = %if.end67, %_ZNKSt14 to label %invoke.cont75 unwind label %lpad10 invoke.cont75: ; preds = %_ZN7testing15AssertionResultD2Ev.exit103 - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i104, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i104, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3161 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i104, i64 20 store i32 3, ptr %ref.tmp70, align 8, !alias.scope !3166 %matchers_.i.i.i105 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp70, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i104, ptr %matchers_.i.i.i105, align 8, !alias.scope !3166 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp70, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3166 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3166 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp70, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3166 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3166 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp76, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont78 unwind label %lpad77 @@ -123804,8 +123813,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %84 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %84, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i163 = getelementptr inbounds i8, ptr %83, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i163) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %83, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit161, %if.end.i.i.i @@ -123818,22 +123827,22 @@ ehcleanup123: ; preds = %_ZN7testing7Message ehcleanup124: ; preds = %if.then.i.i.i.i.i113, %ehcleanup82, %ehcleanup123, %ehcleanup100, %ehcleanup68, %lpad49, %ehcleanup45, %ehcleanup24, %lpad10 %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %ehcleanup123 ], [ %16, %lpad10 ], [ %.pn13.pn, %ehcleanup100 ], [ %.pn7.pn, %ehcleanup68 ], [ %43, %lpad49 ], [ %.pn4.pn, %ehcleanup45 ], [ %.pn.pn, %ehcleanup24 ], [ %.pn10, %ehcleanup82 ], [ %.pn10, %if.then.i.i.i.i.i113 ] - %capacity_.i.i.i.i.i164 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %85 = load i64, ptr %capacity_.i.i.i.i.i164, align 8 - %cmp.i.i.i165 = icmp eq i64 %85, 0 - br i1 %cmp.i.i.i165, label %ehcleanup125, label %if.end.i.i.i166 + %capacity_.i.i.i.i.i163 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %85 = load i64, ptr %capacity_.i.i.i.i.i163, align 8 + %cmp.i.i.i164 = icmp eq i64 %85, 0 + br i1 %cmp.i.i.i164, label %ehcleanup125, label %if.end.i.i.i165 -if.end.i.i.i166: ; preds = %ehcleanup124 +if.end.i.i.i165: ; preds = %ehcleanup124 %86 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i167 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %87 = load i64, ptr %size_.i.i.i.i.i.i167, align 8 - %and.i.i.i.i.i.i168 = and i64 %87, 1 - %add.i.neg.i.i.i.i.i169 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i168 - %add.ptr.i.i.i.i.i170 = getelementptr inbounds i8, ptr %86, i64 %add.i.neg.i.i.i.i.i169 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i170) #36 + %size_.i.i.i.i.i.i166 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %87 = load i64, ptr %size_.i.i.i.i.i.i166, align 8 + %and.i.i.i.i.i.i167 = and i64 %87, 1 + %add.i.neg.i.i.i.i.i168 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i167 + %add.ptr.i.i.i.i.i169 = getelementptr inbounds i8, ptr %86, i64 %add.i.neg.i.i.i.i.i168 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i169) #36 br label %ehcleanup125 -ehcleanup125: ; preds = %if.end.i.i.i166, %ehcleanup124 +ehcleanup125: ; preds = %if.end.i.i.i165, %ehcleanup124 resume { ptr, i32 } %.pn16.pn.pn } @@ -124560,15 +124569,15 @@ _ZN7testing15AssertionResultD2Ev.exit103: ; preds = %if.end67, %_ZNKSt14 to label %invoke.cont75 unwind label %lpad10 invoke.cont75: ; preds = %_ZN7testing15AssertionResultD2Ev.exit103 - %add.ptr.i.i.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i1.i.i.i.i104, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i104, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !3208 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i104, i64 40 store i32 3, ptr %ref.tmp70, align 8, !alias.scope !3213 %matchers_.i.i.i105 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp70, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i104, ptr %matchers_.i.i.i105, align 8, !alias.scope !3213 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp70, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3213 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3213 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp70, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3213 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3213 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp76, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont78 unwind label %lpad77 @@ -124839,8 +124848,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %74 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %74, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i162 = getelementptr inbounds i8, ptr %73, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i162) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %73, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit160, %if.end.i.i.i @@ -124853,22 +124862,22 @@ ehcleanup123: ; preds = %_ZN7testing7Message ehcleanup124: ; preds = %if.then.i.i.i.i.i112, %ehcleanup82, %ehcleanup123, %ehcleanup100, %ehcleanup68, %lpad49, %ehcleanup45, %ehcleanup24, %lpad10 %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %ehcleanup123 ], [ %6, %lpad10 ], [ %.pn13.pn, %ehcleanup100 ], [ %.pn7.pn, %ehcleanup68 ], [ %33, %lpad49 ], [ %.pn4.pn, %ehcleanup45 ], [ %.pn.pn, %ehcleanup24 ], [ %.pn10, %ehcleanup82 ], [ %.pn10, %if.then.i.i.i.i.i112 ] - %capacity_.i.i.i.i.i163 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %75 = load i64, ptr %capacity_.i.i.i.i.i163, align 8 - %cmp.i.i.i164 = icmp eq i64 %75, 0 - br i1 %cmp.i.i.i164, label %ehcleanup125, label %if.end.i.i.i165 + %capacity_.i.i.i.i.i162 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %75 = load i64, ptr %capacity_.i.i.i.i.i162, align 8 + %cmp.i.i.i163 = icmp eq i64 %75, 0 + br i1 %cmp.i.i.i163, label %ehcleanup125, label %if.end.i.i.i164 -if.end.i.i.i165: ; preds = %ehcleanup124 +if.end.i.i.i164: ; preds = %ehcleanup124 %76 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i166 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %77 = load i64, ptr %size_.i.i.i.i.i.i166, align 8 - %and.i.i.i.i.i.i167 = and i64 %77, 1 - %add.i.neg.i.i.i.i.i168 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i167 - %add.ptr.i.i.i.i.i169 = getelementptr inbounds i8, ptr %76, i64 %add.i.neg.i.i.i.i.i168 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i169) #36 + %size_.i.i.i.i.i.i165 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %77 = load i64, ptr %size_.i.i.i.i.i.i165, align 8 + %and.i.i.i.i.i.i166 = and i64 %77, 1 + %add.i.neg.i.i.i.i.i167 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i166 + %add.ptr.i.i.i.i.i168 = getelementptr inbounds i8, ptr %76, i64 %add.i.neg.i.i.i.i.i167 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i168) #36 br label %ehcleanup125 -ehcleanup125: ; preds = %if.end.i.i.i165, %ehcleanup124 +ehcleanup125: ; preds = %if.end.i.i.i164, %ehcleanup124 resume { ptr, i32 } %.pn16.pn.pn } @@ -126006,15 +126015,15 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de to label %invoke.cont31 unwind label %lpad9 invoke.cont31: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i30, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i30, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3248 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i30, i64 20 store i32 3, ptr %ref.tmp26, align 8, !alias.scope !3253 %matchers_.i.i.i31 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp26, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i30, ptr %matchers_.i.i.i31, align 8, !alias.scope !3253 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp26, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3253 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3253 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp26, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3253 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3253 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp32, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont34 unwind label %lpad33 @@ -126285,8 +126294,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %58 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %58, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i88 = getelementptr inbounds i8, ptr %57, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i88) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %57, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit _ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit86, %if.end.i.i.i @@ -126299,22 +126308,22 @@ ehcleanup79: ; preds = %_ZN7testing7Message ehcleanup80: ; preds = %if.then.i.i.i.i.i38, %ehcleanup38, %ehcleanup79, %ehcleanup56, %ehcleanup24, %lpad11, %lpad9 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup79 ], [ %16, %lpad9 ], [ %.pn7.pn, %ehcleanup56 ], [ %.pn.pn, %ehcleanup24 ], [ %17, %lpad11 ], [ %.pn4, %ehcleanup38 ], [ %.pn4, %if.then.i.i.i.i.i38 ] - %capacity_.i.i.i.i.i89 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %59 = load i64, ptr %capacity_.i.i.i.i.i89, align 8 - %cmp.i.i.i90 = icmp eq i64 %59, 0 - br i1 %cmp.i.i.i90, label %ehcleanup81, label %if.end.i.i.i91 + %capacity_.i.i.i.i.i88 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %59 = load i64, ptr %capacity_.i.i.i.i.i88, align 8 + %cmp.i.i.i89 = icmp eq i64 %59, 0 + br i1 %cmp.i.i.i89, label %ehcleanup81, label %if.end.i.i.i90 -if.end.i.i.i91: ; preds = %ehcleanup80 +if.end.i.i.i90: ; preds = %ehcleanup80 %60 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i92 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %61 = load i64, ptr %size_.i.i.i.i.i.i92, align 8 - %and.i.i.i.i.i.i93 = and i64 %61, 1 - %add.i.neg.i.i.i.i.i94 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i93 - %add.ptr.i.i.i.i.i95 = getelementptr inbounds i8, ptr %60, i64 %add.i.neg.i.i.i.i.i94 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i95) #36 + %size_.i.i.i.i.i.i91 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %61 = load i64, ptr %size_.i.i.i.i.i.i91, align 8 + %and.i.i.i.i.i.i92 = and i64 %61, 1 + %add.i.neg.i.i.i.i.i93 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i92 + %add.ptr.i.i.i.i.i94 = getelementptr inbounds i8, ptr %60, i64 %add.i.neg.i.i.i.i.i93 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i94) #36 br label %ehcleanup81 -ehcleanup81: ; preds = %if.end.i.i.i91, %ehcleanup80 +ehcleanup81: ; preds = %if.end.i.i.i90, %ehcleanup80 resume { ptr, i32 } %.pn10.pn.pn } @@ -126939,7 +126948,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de call5.i.i.i.i.noexc: ; preds = %_ZN7testing15AssertionResultD2Ev.exit store ptr %call5.i.i.i.i84, ptr %matchers_.i.i.i, align 8 - %add.ptr.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i.i84, i64 5 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i84, i64 160 %_M_end_of_storage.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %agg.tmp31, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i80 @@ -127982,15 +127991,15 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de to label %invoke.cont31 unwind label %lpad9 invoke.cont31: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i42, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i42, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3297 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i42, i64 20 store i32 3, ptr %ref.tmp26, align 8, !alias.scope !3302 %matchers_.i.i.i43 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp26, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i42, ptr %matchers_.i.i.i43, align 8, !alias.scope !3302 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp26, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3302 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3302 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp26, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3302 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3302 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp32, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont34 unwind label %lpad33 @@ -128261,8 +128270,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %58 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %58, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i101 = getelementptr inbounds i8, ptr %57, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i101) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %57, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit99, %if.end.i.i.i @@ -128275,22 +128284,22 @@ ehcleanup79: ; preds = %_ZN7testing7Message ehcleanup80: ; preds = %if.then.i.i.i.i.i51, %ehcleanup38, %ehcleanup79, %ehcleanup56, %ehcleanup24, %lpad11, %lpad9 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup79 ], [ %16, %lpad9 ], [ %.pn7.pn, %ehcleanup56 ], [ %.pn.pn, %ehcleanup24 ], [ %17, %lpad11 ], [ %.pn4, %ehcleanup38 ], [ %.pn4, %if.then.i.i.i.i.i51 ] - %capacity_.i.i.i.i.i102 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %59 = load i64, ptr %capacity_.i.i.i.i.i102, align 8 - %cmp.i.i.i103 = icmp eq i64 %59, 0 - br i1 %cmp.i.i.i103, label %ehcleanup81, label %if.end.i.i.i104 + %capacity_.i.i.i.i.i101 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %59 = load i64, ptr %capacity_.i.i.i.i.i101, align 8 + %cmp.i.i.i102 = icmp eq i64 %59, 0 + br i1 %cmp.i.i.i102, label %ehcleanup81, label %if.end.i.i.i103 -if.end.i.i.i104: ; preds = %ehcleanup80 +if.end.i.i.i103: ; preds = %ehcleanup80 %60 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i105 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %61 = load i64, ptr %size_.i.i.i.i.i.i105, align 8 - %and.i.i.i.i.i.i106 = and i64 %61, 1 - %add.i.neg.i.i.i.i.i107 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i106 - %add.ptr.i.i.i.i.i108 = getelementptr inbounds i8, ptr %60, i64 %add.i.neg.i.i.i.i.i107 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i108) #36 + %size_.i.i.i.i.i.i104 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %61 = load i64, ptr %size_.i.i.i.i.i.i104, align 8 + %and.i.i.i.i.i.i105 = and i64 %61, 1 + %add.i.neg.i.i.i.i.i106 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i105 + %add.ptr.i.i.i.i.i107 = getelementptr inbounds i8, ptr %60, i64 %add.i.neg.i.i.i.i.i106 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i107) #36 br label %ehcleanup81 -ehcleanup81: ; preds = %if.end.i.i.i104, %ehcleanup80 +ehcleanup81: ; preds = %if.end.i.i.i103, %ehcleanup80 resume { ptr, i32 } %.pn10.pn.pn } @@ -128644,15 +128653,15 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de to label %invoke.cont31 unwind label %lpad9 invoke.cont31: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %add.ptr.i.i.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i1.i.i.i.i42, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i42, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !3313 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i42, i64 40 store i32 3, ptr %ref.tmp26, align 8, !alias.scope !3318 %matchers_.i.i.i43 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp26, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i42, ptr %matchers_.i.i.i43, align 8, !alias.scope !3318 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp26, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3318 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3318 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp26, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3318 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3318 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp32, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont34 unwind label %lpad33 @@ -128923,8 +128932,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %48 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %48, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i100 = getelementptr inbounds i8, ptr %47, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i100) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %47, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit98, %if.end.i.i.i @@ -128937,22 +128946,22 @@ ehcleanup79: ; preds = %_ZN7testing7Message ehcleanup80: ; preds = %if.then.i.i.i.i.i50, %ehcleanup38, %ehcleanup79, %ehcleanup56, %ehcleanup24, %lpad11, %lpad9 %.pn10.pn.pn = phi { ptr, i32 } [ %.pn10.pn, %ehcleanup79 ], [ %6, %lpad9 ], [ %.pn7.pn, %ehcleanup56 ], [ %.pn.pn, %ehcleanup24 ], [ %7, %lpad11 ], [ %.pn4, %ehcleanup38 ], [ %.pn4, %if.then.i.i.i.i.i50 ] - %capacity_.i.i.i.i.i101 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %49 = load i64, ptr %capacity_.i.i.i.i.i101, align 8 - %cmp.i.i.i102 = icmp eq i64 %49, 0 - br i1 %cmp.i.i.i102, label %ehcleanup81, label %if.end.i.i.i103 + %capacity_.i.i.i.i.i100 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %49 = load i64, ptr %capacity_.i.i.i.i.i100, align 8 + %cmp.i.i.i101 = icmp eq i64 %49, 0 + br i1 %cmp.i.i.i101, label %ehcleanup81, label %if.end.i.i.i102 -if.end.i.i.i103: ; preds = %ehcleanup80 +if.end.i.i.i102: ; preds = %ehcleanup80 %50 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i104 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %51 = load i64, ptr %size_.i.i.i.i.i.i104, align 8 - %and.i.i.i.i.i.i105 = and i64 %51, 1 - %add.i.neg.i.i.i.i.i106 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i105 - %add.ptr.i.i.i.i.i107 = getelementptr inbounds i8, ptr %50, i64 %add.i.neg.i.i.i.i.i106 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i107) #36 + %size_.i.i.i.i.i.i103 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %51 = load i64, ptr %size_.i.i.i.i.i.i103, align 8 + %and.i.i.i.i.i.i104 = and i64 %51, 1 + %add.i.neg.i.i.i.i.i105 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i104 + %add.ptr.i.i.i.i.i106 = getelementptr inbounds i8, ptr %50, i64 %add.i.neg.i.i.i.i.i105 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i106) #36 br label %ehcleanup81 -ehcleanup81: ; preds = %if.end.i.i.i103, %ehcleanup80 +ehcleanup81: ; preds = %if.end.i.i.i102, %ehcleanup80 resume { ptr, i32 } %.pn10.pn.pn } @@ -130056,15 +130065,15 @@ _ZN7testing15AssertionResultD2Ev.exit69: ; preds = %if.end50, %_ZNKSt14 to label %invoke.cont58 unwind label %lpad14 invoke.cont58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit69 - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i70, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i70, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3346 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i70, i64 20 store i32 3, ptr %ref.tmp53, align 8, !alias.scope !3351 %matchers_.i.i.i71 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp53, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i70, ptr %matchers_.i.i.i71, align 8, !alias.scope !3351 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp53, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3351 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3351 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp53, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3351 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3351 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp59, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont61 unwind label %lpad60 @@ -130335,8 +130344,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %71 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %71, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i128 = getelementptr inbounds i8, ptr %70, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i128) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %70, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit _ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit126, %if.end.i.i.i @@ -130349,22 +130358,22 @@ ehcleanup106: ; preds = %_ZN7testing7Message ehcleanup107: ; preds = %if.then.i.i.i.i.i78, %ehcleanup65, %ehcleanup106, %ehcleanup83, %ehcleanup51, %lpad32, %ehcleanup28, %lpad14 %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup106 ], [ %16, %lpad14 ], [ %.pn10.pn, %ehcleanup83 ], [ %.pn4.pn, %ehcleanup51 ], [ %30, %lpad32 ], [ %.pn.pn, %ehcleanup28 ], [ %.pn7, %ehcleanup65 ], [ %.pn7, %if.then.i.i.i.i.i78 ] - %capacity_.i.i.i.i.i129 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %72 = load i64, ptr %capacity_.i.i.i.i.i129, align 8 - %cmp.i.i.i130 = icmp eq i64 %72, 0 - br i1 %cmp.i.i.i130, label %ehcleanup108, label %if.end.i.i.i131 + %capacity_.i.i.i.i.i128 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %72 = load i64, ptr %capacity_.i.i.i.i.i128, align 8 + %cmp.i.i.i129 = icmp eq i64 %72, 0 + br i1 %cmp.i.i.i129, label %ehcleanup108, label %if.end.i.i.i130 -if.end.i.i.i131: ; preds = %ehcleanup107 +if.end.i.i.i130: ; preds = %ehcleanup107 %73 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i132 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %74 = load i64, ptr %size_.i.i.i.i.i.i132, align 8 - %and.i.i.i.i.i.i133 = and i64 %74, 1 - %add.i.neg.i.i.i.i.i134 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i133 - %add.ptr.i.i.i.i.i135 = getelementptr inbounds i8, ptr %73, i64 %add.i.neg.i.i.i.i.i134 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i135) #36 + %size_.i.i.i.i.i.i131 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %74 = load i64, ptr %size_.i.i.i.i.i.i131, align 8 + %and.i.i.i.i.i.i132 = and i64 %74, 1 + %add.i.neg.i.i.i.i.i133 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i132 + %add.ptr.i.i.i.i.i134 = getelementptr inbounds i8, ptr %73, i64 %add.i.neg.i.i.i.i.i133 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i134) #36 br label %ehcleanup108 -ehcleanup108: ; preds = %if.end.i.i.i131, %ehcleanup107 +ehcleanup108: ; preds = %if.end.i.i.i130, %ehcleanup107 resume { ptr, i32 } %.pn13.pn.pn } @@ -131109,7 +131118,7 @@ _ZN7testing15AssertionResultD2Ev.exit52: ; preds = %if.end47, %_ZNKSt14 call5.i.i.i.i.noexc: ; preds = %_ZN7testing15AssertionResultD2Ev.exit52 store ptr %call5.i.i.i.i114, ptr %matchers_.i.i.i, align 8 - %add.ptr.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i.i114, i64 5 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i114, i64 160 %_M_end_of_storage.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %agg.tmp51, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i110 @@ -132267,15 +132276,15 @@ _ZN7testing15AssertionResultD2Ev.exit81: ; preds = %if.end50, %_ZNKSt14 to label %invoke.cont58 unwind label %lpad14 invoke.cont58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit81 - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i82, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i82, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3411 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i82, i64 20 store i32 3, ptr %ref.tmp53, align 8, !alias.scope !3416 %matchers_.i.i.i83 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp53, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i82, ptr %matchers_.i.i.i83, align 8, !alias.scope !3416 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp53, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3416 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3416 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp53, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3416 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3416 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp59, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont61 unwind label %lpad60 @@ -132546,8 +132555,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %71 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %71, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i141 = getelementptr inbounds i8, ptr %70, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i141) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %70, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit139, %if.end.i.i.i @@ -132560,22 +132569,22 @@ ehcleanup106: ; preds = %_ZN7testing7Message ehcleanup107: ; preds = %if.then.i.i.i.i.i91, %ehcleanup65, %ehcleanup106, %ehcleanup83, %ehcleanup51, %lpad32, %ehcleanup28, %lpad14 %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup106 ], [ %16, %lpad14 ], [ %.pn10.pn, %ehcleanup83 ], [ %.pn4.pn, %ehcleanup51 ], [ %30, %lpad32 ], [ %.pn.pn, %ehcleanup28 ], [ %.pn7, %ehcleanup65 ], [ %.pn7, %if.then.i.i.i.i.i91 ] - %capacity_.i.i.i.i.i142 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %72 = load i64, ptr %capacity_.i.i.i.i.i142, align 8 - %cmp.i.i.i143 = icmp eq i64 %72, 0 - br i1 %cmp.i.i.i143, label %ehcleanup108, label %if.end.i.i.i144 + %capacity_.i.i.i.i.i141 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %72 = load i64, ptr %capacity_.i.i.i.i.i141, align 8 + %cmp.i.i.i142 = icmp eq i64 %72, 0 + br i1 %cmp.i.i.i142, label %ehcleanup108, label %if.end.i.i.i143 -if.end.i.i.i144: ; preds = %ehcleanup107 +if.end.i.i.i143: ; preds = %ehcleanup107 %73 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i145 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %74 = load i64, ptr %size_.i.i.i.i.i.i145, align 8 - %and.i.i.i.i.i.i146 = and i64 %74, 1 - %add.i.neg.i.i.i.i.i147 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i146 - %add.ptr.i.i.i.i.i148 = getelementptr inbounds i8, ptr %73, i64 %add.i.neg.i.i.i.i.i147 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i148) #36 + %size_.i.i.i.i.i.i144 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %74 = load i64, ptr %size_.i.i.i.i.i.i144, align 8 + %and.i.i.i.i.i.i145 = and i64 %74, 1 + %add.i.neg.i.i.i.i.i146 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i145 + %add.ptr.i.i.i.i.i147 = getelementptr inbounds i8, ptr %73, i64 %add.i.neg.i.i.i.i.i146 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i147) #36 br label %ehcleanup108 -ehcleanup108: ; preds = %if.end.i.i.i144, %ehcleanup107 +ehcleanup108: ; preds = %if.end.i.i.i143, %ehcleanup107 resume { ptr, i32 } %.pn13.pn.pn } @@ -133044,15 +133053,15 @@ _ZN7testing15AssertionResultD2Ev.exit81: ; preds = %if.end50, %_ZNKSt14 to label %invoke.cont58 unwind label %lpad14 invoke.cont58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit81 - %add.ptr.i.i.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i1.i.i.i.i82, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i82, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !3435 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i82, i64 40 store i32 3, ptr %ref.tmp53, align 8, !alias.scope !3440 %matchers_.i.i.i83 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp53, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i82, ptr %matchers_.i.i.i83, align 8, !alias.scope !3440 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp53, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3440 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3440 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp53, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3440 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3440 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp59, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont61 unwind label %lpad60 @@ -133323,8 +133332,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %61 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %61, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i140 = getelementptr inbounds i8, ptr %60, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i140) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %60, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit138, %if.end.i.i.i @@ -133337,22 +133346,22 @@ ehcleanup106: ; preds = %_ZN7testing7Message ehcleanup107: ; preds = %if.then.i.i.i.i.i90, %ehcleanup65, %ehcleanup106, %ehcleanup83, %ehcleanup51, %lpad32, %ehcleanup28, %lpad14 %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup106 ], [ %6, %lpad14 ], [ %.pn10.pn, %ehcleanup83 ], [ %.pn4.pn, %ehcleanup51 ], [ %20, %lpad32 ], [ %.pn.pn, %ehcleanup28 ], [ %.pn7, %ehcleanup65 ], [ %.pn7, %if.then.i.i.i.i.i90 ] - %capacity_.i.i.i.i.i141 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %62 = load i64, ptr %capacity_.i.i.i.i.i141, align 8 - %cmp.i.i.i142 = icmp eq i64 %62, 0 - br i1 %cmp.i.i.i142, label %ehcleanup108, label %if.end.i.i.i143 + %capacity_.i.i.i.i.i140 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %62 = load i64, ptr %capacity_.i.i.i.i.i140, align 8 + %cmp.i.i.i141 = icmp eq i64 %62, 0 + br i1 %cmp.i.i.i141, label %ehcleanup108, label %if.end.i.i.i142 -if.end.i.i.i143: ; preds = %ehcleanup107 +if.end.i.i.i142: ; preds = %ehcleanup107 %63 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i144 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %64 = load i64, ptr %size_.i.i.i.i.i.i144, align 8 - %and.i.i.i.i.i.i145 = and i64 %64, 1 - %add.i.neg.i.i.i.i.i146 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i145 - %add.ptr.i.i.i.i.i147 = getelementptr inbounds i8, ptr %63, i64 %add.i.neg.i.i.i.i.i146 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i147) #36 + %size_.i.i.i.i.i.i143 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %64 = load i64, ptr %size_.i.i.i.i.i.i143, align 8 + %and.i.i.i.i.i.i144 = and i64 %64, 1 + %add.i.neg.i.i.i.i.i145 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i144 + %add.ptr.i.i.i.i.i146 = getelementptr inbounds i8, ptr %63, i64 %add.i.neg.i.i.i.i.i145 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i146) #36 br label %ehcleanup108 -ehcleanup108: ; preds = %if.end.i.i.i143, %ehcleanup107 +ehcleanup108: ; preds = %if.end.i.i.i142, %ehcleanup107 resume { ptr, i32 } %.pn13.pn.pn } @@ -142756,28 +142765,28 @@ invoke.cont12: _ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit: ; preds = %invoke.cont12 %capacity_.i.i.i.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 %add.ptr.i.i9.i.i.i.i.phi.trans.insert = getelementptr inbounds i8, ptr %ref.tmp9, i64 48 - %.pre69 = load i64, ptr %add.ptr.i.i9.i.i.i.i.phi.trans.insert, align 8 + %.pre68 = load i64, ptr %add.ptr.i.i9.i.i.i.i.phi.trans.insert, align 8 %add.ptr.i.i.i.i.i.i.phi.trans.insert = getelementptr inbounds i8, ptr %ref.tmp9, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %m, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp9, i64 32, i1 false) %15 = load <2 x i64>, ptr %add.ptr.i.i.i.i.i.i.phi.trans.insert, align 8 store <2 x i64> %15, ptr %12, align 8 - store i64 %.pre69, ptr %14, align 8 + store i64 %.pre68, ptr %14, align 8 store ptr getelementptr inbounds ([32 x i8], ptr @_ZN4absl18container_internal11kEmptyGroupE, i64 0, i64 16), ptr %ref.tmp9, align 8 %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp9, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i.i20 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #37 + %call5.i.i.i.i1.i.i.i.i19 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #37 to label %invoke.cont25 unwind label %lpad invoke.cont25: ; preds = %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit - %add.ptr.i.i.i.i.i19 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i20, i64 5 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i20, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3628 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i19, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3628 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i19, i64 20 store i32 3, ptr %ref.tmp20, align 8, !alias.scope !3633 - %matchers_.i.i.i21 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp20, i64 0, i32 1 - store ptr %call5.i.i.i.i1.i.i.i.i20, ptr %matchers_.i.i.i21, align 8, !alias.scope !3633 + %matchers_.i.i.i20 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp20, i64 0, i32 1 + store ptr %call5.i.i.i.i1.i.i.i.i19, ptr %matchers_.i.i.i20, align 8, !alias.scope !3633 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i19, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3633 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3633 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i19, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3633 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3633 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp26, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont28 unwind label %lpad27 @@ -142795,7 +142804,7 @@ if.then.i.i.i: ; preds = %invoke.cont30 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont30, %if.then.i.i.i - %17 = load ptr, ptr %matchers_.i.i.i21, align 8 + %17 = load ptr, ptr %matchers_.i.i.i20, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %17, null br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i @@ -142828,20 +142837,20 @@ lpad29: ; preds = %invoke.cont28 %23 = landingpad { ptr, i32 } cleanup %24 = load ptr, ptr %ref.tmp26, align 8 - %tobool.not.i.i.i30 = icmp eq ptr %24, null - br i1 %tobool.not.i.i.i30, label %ehcleanup32, label %if.then.i.i.i31 + %tobool.not.i.i.i29 = icmp eq ptr %24, null + br i1 %tobool.not.i.i.i29, label %ehcleanup32, label %if.then.i.i.i30 -if.then.i.i.i31: ; preds = %lpad29 +if.then.i.i.i30: ; preds = %lpad29 call void @_ZdlPv(ptr noundef nonnull %24) #36 br label %ehcleanup32 -ehcleanup32: ; preds = %if.then.i.i.i31, %lpad29, %lpad27 - %.pn3 = phi { ptr, i32 } [ %22, %lpad27 ], [ %23, %lpad29 ], [ %23, %if.then.i.i.i31 ] - %25 = load ptr, ptr %matchers_.i.i.i21, align 8 - %tobool.not.i.i.i.i.i34 = icmp eq ptr %25, null - br i1 %tobool.not.i.i.i.i.i34, label %ehcleanup48, label %if.then.i.i.i.i.i35 +ehcleanup32: ; preds = %if.then.i.i.i30, %lpad29, %lpad27 + %.pn3 = phi { ptr, i32 } [ %22, %lpad27 ], [ %23, %lpad29 ], [ %23, %if.then.i.i.i30 ] + %25 = load ptr, ptr %matchers_.i.i.i20, align 8 + %tobool.not.i.i.i.i.i33 = icmp eq ptr %25, null + br i1 %tobool.not.i.i.i.i.i33, label %ehcleanup48, label %if.then.i.i.i.i.i34 -if.then.i.i.i.i.i35: ; preds = %ehcleanup32 +if.then.i.i.i.i.i34: ; preds = %ehcleanup32 call void @_ZdlPv(ptr noundef nonnull %25) #36 br label %ehcleanup48 @@ -142904,25 +142913,25 @@ lpad43: ; preds = %invoke.cont42 ehcleanup46: ; preds = %lpad43, %lpad39 %.pn6 = phi { ptr, i32 } [ %31, %lpad43 ], [ %30, %lpad39 ] %32 = load ptr, ptr %ref.tmp35, align 8 - %cmp.not.i.i41 = icmp eq ptr %32, null - br i1 %cmp.not.i.i41, label %_ZN7testing7MessageD2Ev.exit45, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 + %cmp.not.i.i40 = icmp eq ptr %32, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42: ; preds = %ehcleanup46 - %vtable.i.i.i43 = load ptr, ptr %32, align 8 - %vfn.i.i.i44 = getelementptr inbounds ptr, ptr %vtable.i.i.i43, i64 1 - %33 = load ptr, ptr %vfn.i.i.i44, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %ehcleanup46 + %vtable.i.i.i42 = load ptr, ptr %32, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %33 = load ptr, ptr %vfn.i.i.i43, align 8 call void %33(ptr noundef nonnull align 8 dereferenceable(128) %32) #32 - br label %_ZN7testing7MessageD2Ev.exit45 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit45: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 +_ZN7testing7MessageD2Ev.exit44: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp35, align 8 br label %ehcleanup47 if.end: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %34 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i46 = icmp eq ptr %34, null - br i1 %cmp.not.i.i46, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i45 = icmp eq ptr %34, null + br i1 %cmp.not.i.i45, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #32 @@ -142932,45 +142941,45 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %35 = load i64, ptr %capacity_.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i48 = icmp eq i64 %35, 0 - br i1 %cmp.i.i.i48, label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit54, label %if.end.i.i.i49 + %cmp.i.i.i47 = icmp eq i64 %35, 0 + br i1 %cmp.i.i.i47, label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit53, label %if.end.i.i.i48 -if.end.i.i.i49: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +if.end.i.i.i48: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %36 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i50 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %37 = load i64, ptr %size_.i.i.i.i.i.i50, align 8 - %and.i.i.i.i.i.i51 = and i64 %37, 1 - %add.i.neg.i.i.i.i.i52 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i51 - %add.ptr.i.i.i.i.i53 = getelementptr inbounds i8, ptr %36, i64 %add.i.neg.i.i.i.i.i52 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i53) #36 - br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit54 + %size_.i.i.i.i.i.i49 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %37 = load i64, ptr %size_.i.i.i.i.i.i49, align 8 + %and.i.i.i.i.i.i50 = and i64 %37, 1 + %add.i.neg.i.i.i.i.i51 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i50 + %add.ptr.i.i.i.i.i52 = getelementptr inbounds i8, ptr %36, i64 %add.i.neg.i.i.i.i.i51 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i52) #36 + br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit53 -_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit54: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i49 +_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit53: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i48 ret void -ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit45, %lpad36 - %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit45 ], [ %29, %lpad36 ] +ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit44, %lpad36 + %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit44 ], [ %29, %lpad36 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #32 br label %ehcleanup48 -ehcleanup48: ; preds = %if.then.i.i.i.i.i35, %ehcleanup32, %lpad15, %ehcleanup47, %lpad - %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %20, %lpad ], [ %21, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i35 ] - %capacity_.i.i.i.i.i55 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %38 = load i64, ptr %capacity_.i.i.i.i.i55, align 8 - %cmp.i.i.i56 = icmp eq i64 %38, 0 - br i1 %cmp.i.i.i56, label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit62, label %if.end.i.i.i57 +ehcleanup48: ; preds = %if.then.i.i.i.i.i34, %ehcleanup32, %lpad15, %ehcleanup47, %lpad + %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %20, %lpad ], [ %21, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i34 ] + %capacity_.i.i.i.i.i54 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %38 = load i64, ptr %capacity_.i.i.i.i.i54, align 8 + %cmp.i.i.i55 = icmp eq i64 %38, 0 + br i1 %cmp.i.i.i55, label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit61, label %if.end.i.i.i56 -if.end.i.i.i57: ; preds = %ehcleanup48 +if.end.i.i.i56: ; preds = %ehcleanup48 %39 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i58 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %40 = load i64, ptr %size_.i.i.i.i.i.i58, align 8 - %and.i.i.i.i.i.i59 = and i64 %40, 1 - %add.i.neg.i.i.i.i.i60 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i59 - %add.ptr.i.i.i.i.i61 = getelementptr inbounds i8, ptr %39, i64 %add.i.neg.i.i.i.i.i60 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i61) #36 - br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit62 - -_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit62: ; preds = %ehcleanup48, %if.end.i.i.i57 + %size_.i.i.i.i.i.i57 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %40 = load i64, ptr %size_.i.i.i.i.i.i57, align 8 + %and.i.i.i.i.i.i58 = and i64 %40, 1 + %add.i.neg.i.i.i.i.i59 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i58 + %add.ptr.i.i.i.i.i60 = getelementptr inbounds i8, ptr %39, i64 %add.i.neg.i.i.i.i.i59 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i60) #36 + br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit61 + +_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit61: ; preds = %ehcleanup48, %if.end.i.i.i56 resume { ptr, i32 } %.pn6.pn.pn } @@ -143499,7 +143508,7 @@ _ZN4absl13flat_hash_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_1 call5.i.i.i.i.noexc: ; preds = %_ZN4absl13flat_hash_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_18container_internal19StatefulTestingHashENS7_20StatefulTestingEqualENS7_5AllocIS6_EEED2Ev.exit store ptr %call5.i.i.i.i54, ptr %matchers_.i.i.i, align 8 - %add.ptr.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i.i54, i64 5 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i54, i64 160 %_M_end_of_storage.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %agg.tmp25, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i50 @@ -144338,19 +144347,19 @@ _ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19Statef store ptr getelementptr inbounds ([32 x i8], ptr @_ZN4absl18container_internal11kEmptyGroupE, i64 0, i64 16), ptr %ref.tmp9, align 8 %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp9, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i.i32 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #37 + %call5.i.i.i.i1.i.i.i.i31 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #37 to label %invoke.cont25 unwind label %lpad invoke.cont25: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit - %add.ptr.i.i.i.i.i31 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i32, i64 5 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i32, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3661 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i31, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3661 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i31, i64 20 store i32 3, ptr %ref.tmp20, align 8, !alias.scope !3666 - %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp20, i64 0, i32 1 - store ptr %call5.i.i.i.i1.i.i.i.i32, ptr %matchers_.i.i.i33, align 8, !alias.scope !3666 + %matchers_.i.i.i32 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp20, i64 0, i32 1 + store ptr %call5.i.i.i.i1.i.i.i.i31, ptr %matchers_.i.i.i32, align 8, !alias.scope !3666 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i31, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3666 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3666 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i31, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3666 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3666 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp26, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont28 unwind label %lpad27 @@ -144361,14 +144370,14 @@ invoke.cont28: ; preds = %invoke.cont25 invoke.cont30: ; preds = %invoke.cont28 %20 = load ptr, ptr %ref.tmp26, align 8 %tobool.not.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit, label %if.then.i.i.i34 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit, label %if.then.i.i.i33 -if.then.i.i.i34: ; preds = %invoke.cont30 +if.then.i.i.i33: ; preds = %invoke.cont30 call void @_ZdlPv(ptr noundef nonnull %20) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit: ; preds = %invoke.cont30, %if.then.i.i.i34 - %21 = load ptr, ptr %matchers_.i.i.i33, align 8 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit: ; preds = %invoke.cont30, %if.then.i.i.i33 + %21 = load ptr, ptr %matchers_.i.i.i32, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %21, null br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIN4absl18container_internal13hash_internal4EnumEED2Ev.exit, label %if.then.i.i.i.i.i @@ -144401,20 +144410,20 @@ lpad29: ; preds = %invoke.cont28 %27 = landingpad { ptr, i32 } cleanup %28 = load ptr, ptr %ref.tmp26, align 8 - %tobool.not.i.i.i43 = icmp eq ptr %28, null - br i1 %tobool.not.i.i.i43, label %ehcleanup32, label %if.then.i.i.i44 + %tobool.not.i.i.i42 = icmp eq ptr %28, null + br i1 %tobool.not.i.i.i42, label %ehcleanup32, label %if.then.i.i.i43 -if.then.i.i.i44: ; preds = %lpad29 +if.then.i.i.i43: ; preds = %lpad29 call void @_ZdlPv(ptr noundef nonnull %28) #36 br label %ehcleanup32 -ehcleanup32: ; preds = %if.then.i.i.i44, %lpad29, %lpad27 - %.pn3 = phi { ptr, i32 } [ %26, %lpad27 ], [ %27, %lpad29 ], [ %27, %if.then.i.i.i44 ] - %29 = load ptr, ptr %matchers_.i.i.i33, align 8 - %tobool.not.i.i.i.i.i47 = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i.i.i47, label %ehcleanup48, label %if.then.i.i.i.i.i48 +ehcleanup32: ; preds = %if.then.i.i.i43, %lpad29, %lpad27 + %.pn3 = phi { ptr, i32 } [ %26, %lpad27 ], [ %27, %lpad29 ], [ %27, %if.then.i.i.i43 ] + %29 = load ptr, ptr %matchers_.i.i.i32, align 8 + %tobool.not.i.i.i.i.i46 = icmp eq ptr %29, null + br i1 %tobool.not.i.i.i.i.i46, label %ehcleanup48, label %if.then.i.i.i.i.i47 -if.then.i.i.i.i.i48: ; preds = %ehcleanup32 +if.then.i.i.i.i.i47: ; preds = %ehcleanup32 call void @_ZdlPv(ptr noundef nonnull %29) #36 br label %ehcleanup48 @@ -144477,25 +144486,25 @@ lpad43: ; preds = %invoke.cont42 ehcleanup46: ; preds = %lpad43, %lpad39 %.pn6 = phi { ptr, i32 } [ %35, %lpad43 ], [ %34, %lpad39 ] %36 = load ptr, ptr %ref.tmp35, align 8 - %cmp.not.i.i54 = icmp eq ptr %36, null - br i1 %cmp.not.i.i54, label %_ZN7testing7MessageD2Ev.exit58, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 + %cmp.not.i.i53 = icmp eq ptr %36, null + br i1 %cmp.not.i.i53, label %_ZN7testing7MessageD2Ev.exit57, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %ehcleanup46 - %vtable.i.i.i56 = load ptr, ptr %36, align 8 - %vfn.i.i.i57 = getelementptr inbounds ptr, ptr %vtable.i.i.i56, i64 1 - %37 = load ptr, ptr %vfn.i.i.i57, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54: ; preds = %ehcleanup46 + %vtable.i.i.i55 = load ptr, ptr %36, align 8 + %vfn.i.i.i56 = getelementptr inbounds ptr, ptr %vtable.i.i.i55, i64 1 + %37 = load ptr, ptr %vfn.i.i.i56, align 8 call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #32 - br label %_ZN7testing7MessageD2Ev.exit58 + br label %_ZN7testing7MessageD2Ev.exit57 -_ZN7testing7MessageD2Ev.exit58: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +_ZN7testing7MessageD2Ev.exit57: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 store ptr null, ptr %ref.tmp35, align 8 br label %ehcleanup47 if.end: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIN4absl18container_internal13hash_internal4EnumEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %38 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i59 = icmp eq ptr %38, null - br i1 %cmp.not.i.i59, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i58 = icmp eq ptr %38, null + br i1 %cmp.not.i.i58, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #32 @@ -144505,45 +144514,45 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %39 = load i64, ptr %capacity_.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i61 = icmp eq i64 %39, 0 - br i1 %cmp.i.i.i61, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit67, label %if.end.i.i.i62 + %cmp.i.i.i60 = icmp eq i64 %39, 0 + br i1 %cmp.i.i.i60, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66, label %if.end.i.i.i61 -if.end.i.i.i62: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +if.end.i.i.i61: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %40 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i63 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %41 = load i64, ptr %size_.i.i.i.i.i.i63, align 8 - %and.i.i.i.i.i.i64 = and i64 %41, 1 - %add.i.neg.i.i.i.i.i65 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i64 - %add.ptr.i.i.i.i.i66 = getelementptr inbounds i8, ptr %40, i64 %add.i.neg.i.i.i.i.i65 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i66) #36 - br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit67 + %size_.i.i.i.i.i.i62 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %41 = load i64, ptr %size_.i.i.i.i.i.i62, align 8 + %and.i.i.i.i.i.i63 = and i64 %41, 1 + %add.i.neg.i.i.i.i.i64 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i63 + %add.ptr.i.i.i.i.i65 = getelementptr inbounds i8, ptr %40, i64 %add.i.neg.i.i.i.i.i64 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i65) #36 + br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66 -_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit67: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i62 +_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i61 ret void -ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit58, %lpad36 - %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit58 ], [ %33, %lpad36 ] +ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit57, %lpad36 + %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit57 ], [ %33, %lpad36 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #32 br label %ehcleanup48 -ehcleanup48: ; preds = %if.then.i.i.i.i.i48, %ehcleanup32, %lpad15, %ehcleanup47, %lpad - %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %24, %lpad ], [ %25, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i48 ] - %capacity_.i.i.i.i.i68 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %42 = load i64, ptr %capacity_.i.i.i.i.i68, align 8 - %cmp.i.i.i69 = icmp eq i64 %42, 0 - br i1 %cmp.i.i.i69, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit75, label %if.end.i.i.i70 +ehcleanup48: ; preds = %if.then.i.i.i.i.i47, %ehcleanup32, %lpad15, %ehcleanup47, %lpad + %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %24, %lpad ], [ %25, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i47 ] + %capacity_.i.i.i.i.i67 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %42 = load i64, ptr %capacity_.i.i.i.i.i67, align 8 + %cmp.i.i.i68 = icmp eq i64 %42, 0 + br i1 %cmp.i.i.i68, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74, label %if.end.i.i.i69 -if.end.i.i.i70: ; preds = %ehcleanup48 +if.end.i.i.i69: ; preds = %ehcleanup48 %43 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i71 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %44 = load i64, ptr %size_.i.i.i.i.i.i71, align 8 - %and.i.i.i.i.i.i72 = and i64 %44, 1 - %add.i.neg.i.i.i.i.i73 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i72 - %add.ptr.i.i.i.i.i74 = getelementptr inbounds i8, ptr %43, i64 %add.i.neg.i.i.i.i.i73 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i74) #36 - br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit75 - -_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit75: ; preds = %ehcleanup48, %if.end.i.i.i70 + %size_.i.i.i.i.i.i70 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %44 = load i64, ptr %size_.i.i.i.i.i.i70, align 8 + %and.i.i.i.i.i.i71 = and i64 %44, 1 + %add.i.neg.i.i.i.i.i72 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i71 + %add.ptr.i.i.i.i.i73 = getelementptr inbounds i8, ptr %43, i64 %add.i.neg.i.i.i.i.i72 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i73) #36 + br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74 + +_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74: ; preds = %ehcleanup48, %if.end.i.i.i69 resume { ptr, i32 } %.pn6.pn.pn } @@ -144796,19 +144805,19 @@ _ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19S store ptr getelementptr inbounds ([32 x i8], ptr @_ZN4absl18container_internal11kEmptyGroupE, i64 0, i64 16), ptr %ref.tmp9, align 8 %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp9, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i.i32 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #37 + %call5.i.i.i.i1.i.i.i.i31 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #37 to label %invoke.cont25 unwind label %lpad invoke.cont25: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit - %add.ptr.i.i.i.i.i31 = getelementptr inbounds i64, ptr %call5.i.i.i.i1.i.i.i.i32, i64 5 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i32, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !3669 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i31, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !3669 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i31, i64 40 store i32 3, ptr %ref.tmp20, align 8, !alias.scope !3674 - %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp20, i64 0, i32 1 - store ptr %call5.i.i.i.i1.i.i.i.i32, ptr %matchers_.i.i.i33, align 8, !alias.scope !3674 + %matchers_.i.i.i32 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp20, i64 0, i32 1 + store ptr %call5.i.i.i.i1.i.i.i.i31, ptr %matchers_.i.i.i32, align 8, !alias.scope !3674 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i31, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3674 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3674 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i31, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3674 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3674 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp26, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont28 unwind label %lpad27 @@ -144826,7 +144835,7 @@ if.then.i.i.i: ; preds = %invoke.cont30 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit _ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit: ; preds = %invoke.cont30, %if.then.i.i.i - %11 = load ptr, ptr %matchers_.i.i.i33, align 8 + %11 = load ptr, ptr %matchers_.i.i.i32, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %11, null br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIN4absl18container_internal13hash_internal9EnumClassEED2Ev.exit, label %if.then.i.i.i.i.i @@ -144859,20 +144868,20 @@ lpad29: ; preds = %invoke.cont28 %17 = landingpad { ptr, i32 } cleanup %18 = load ptr, ptr %ref.tmp26, align 8 - %tobool.not.i.i.i42 = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i42, label %ehcleanup32, label %if.then.i.i.i43 + %tobool.not.i.i.i41 = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i41, label %ehcleanup32, label %if.then.i.i.i42 -if.then.i.i.i43: ; preds = %lpad29 +if.then.i.i.i42: ; preds = %lpad29 call void @_ZdlPv(ptr noundef nonnull %18) #36 br label %ehcleanup32 -ehcleanup32: ; preds = %if.then.i.i.i43, %lpad29, %lpad27 - %.pn3 = phi { ptr, i32 } [ %16, %lpad27 ], [ %17, %lpad29 ], [ %17, %if.then.i.i.i43 ] - %19 = load ptr, ptr %matchers_.i.i.i33, align 8 - %tobool.not.i.i.i.i.i46 = icmp eq ptr %19, null - br i1 %tobool.not.i.i.i.i.i46, label %ehcleanup48, label %if.then.i.i.i.i.i47 +ehcleanup32: ; preds = %if.then.i.i.i42, %lpad29, %lpad27 + %.pn3 = phi { ptr, i32 } [ %16, %lpad27 ], [ %17, %lpad29 ], [ %17, %if.then.i.i.i42 ] + %19 = load ptr, ptr %matchers_.i.i.i32, align 8 + %tobool.not.i.i.i.i.i45 = icmp eq ptr %19, null + br i1 %tobool.not.i.i.i.i.i45, label %ehcleanup48, label %if.then.i.i.i.i.i46 -if.then.i.i.i.i.i47: ; preds = %ehcleanup32 +if.then.i.i.i.i.i46: ; preds = %ehcleanup32 call void @_ZdlPv(ptr noundef nonnull %19) #36 br label %ehcleanup48 @@ -144935,25 +144944,25 @@ lpad43: ; preds = %invoke.cont42 ehcleanup46: ; preds = %lpad43, %lpad39 %.pn6 = phi { ptr, i32 } [ %25, %lpad43 ], [ %24, %lpad39 ] %26 = load ptr, ptr %ref.tmp35, align 8 - %cmp.not.i.i53 = icmp eq ptr %26, null - br i1 %cmp.not.i.i53, label %_ZN7testing7MessageD2Ev.exit57, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 + %cmp.not.i.i52 = icmp eq ptr %26, null + br i1 %cmp.not.i.i52, label %_ZN7testing7MessageD2Ev.exit56, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54: ; preds = %ehcleanup46 - %vtable.i.i.i55 = load ptr, ptr %26, align 8 - %vfn.i.i.i56 = getelementptr inbounds ptr, ptr %vtable.i.i.i55, i64 1 - %27 = load ptr, ptr %vfn.i.i.i56, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53: ; preds = %ehcleanup46 + %vtable.i.i.i54 = load ptr, ptr %26, align 8 + %vfn.i.i.i55 = getelementptr inbounds ptr, ptr %vtable.i.i.i54, i64 1 + %27 = load ptr, ptr %vfn.i.i.i55, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #32 - br label %_ZN7testing7MessageD2Ev.exit57 + br label %_ZN7testing7MessageD2Ev.exit56 -_ZN7testing7MessageD2Ev.exit57: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 +_ZN7testing7MessageD2Ev.exit56: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53 store ptr null, ptr %ref.tmp35, align 8 br label %ehcleanup47 if.end: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIN4absl18container_internal13hash_internal9EnumClassEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %28 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i58 = icmp eq ptr %28, null - br i1 %cmp.not.i.i58, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i57 = icmp eq ptr %28, null + br i1 %cmp.not.i.i57, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #32 @@ -144963,45 +144972,45 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %29 = load i64, ptr %capacity_.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i60 = icmp eq i64 %29, 0 - br i1 %cmp.i.i.i60, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66, label %if.end.i.i.i61 + %cmp.i.i.i59 = icmp eq i64 %29, 0 + br i1 %cmp.i.i.i59, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit65, label %if.end.i.i.i60 -if.end.i.i.i61: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +if.end.i.i.i60: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %30 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i62 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %31 = load i64, ptr %size_.i.i.i.i.i.i62, align 8 - %and.i.i.i.i.i.i63 = and i64 %31, 1 - %add.i.neg.i.i.i.i.i64 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i63 - %add.ptr.i.i.i.i.i65 = getelementptr inbounds i8, ptr %30, i64 %add.i.neg.i.i.i.i.i64 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i65) #36 - br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66 + %size_.i.i.i.i.i.i61 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %31 = load i64, ptr %size_.i.i.i.i.i.i61, align 8 + %and.i.i.i.i.i.i62 = and i64 %31, 1 + %add.i.neg.i.i.i.i.i63 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i62 + %add.ptr.i.i.i.i.i64 = getelementptr inbounds i8, ptr %30, i64 %add.i.neg.i.i.i.i.i63 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i64) #36 + br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit65 -_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i61 +_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit65: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i60 ret void -ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit57, %lpad36 - %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit57 ], [ %23, %lpad36 ] +ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit56, %lpad36 + %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit56 ], [ %23, %lpad36 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #32 br label %ehcleanup48 -ehcleanup48: ; preds = %if.then.i.i.i.i.i47, %ehcleanup32, %lpad15, %ehcleanup47, %lpad - %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %14, %lpad ], [ %15, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i47 ] - %capacity_.i.i.i.i.i67 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %32 = load i64, ptr %capacity_.i.i.i.i.i67, align 8 - %cmp.i.i.i68 = icmp eq i64 %32, 0 - br i1 %cmp.i.i.i68, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74, label %if.end.i.i.i69 +ehcleanup48: ; preds = %if.then.i.i.i.i.i46, %ehcleanup32, %lpad15, %ehcleanup47, %lpad + %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %14, %lpad ], [ %15, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i46 ] + %capacity_.i.i.i.i.i66 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %32 = load i64, ptr %capacity_.i.i.i.i.i66, align 8 + %cmp.i.i.i67 = icmp eq i64 %32, 0 + br i1 %cmp.i.i.i67, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit73, label %if.end.i.i.i68 -if.end.i.i.i69: ; preds = %ehcleanup48 +if.end.i.i.i68: ; preds = %ehcleanup48 %33 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i70 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %34 = load i64, ptr %size_.i.i.i.i.i.i70, align 8 - %and.i.i.i.i.i.i71 = and i64 %34, 1 - %add.i.neg.i.i.i.i.i72 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i71 - %add.ptr.i.i.i.i.i73 = getelementptr inbounds i8, ptr %33, i64 %add.i.neg.i.i.i.i.i72 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i73) #36 - br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74 - -_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74: ; preds = %ehcleanup48, %if.end.i.i.i69 + %size_.i.i.i.i.i.i69 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %34 = load i64, ptr %size_.i.i.i.i.i.i69, align 8 + %and.i.i.i.i.i.i70 = and i64 %34, 1 + %add.i.neg.i.i.i.i.i71 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i70 + %add.ptr.i.i.i.i.i72 = getelementptr inbounds i8, ptr %33, i64 %add.i.neg.i.i.i.i.i71 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i72) #36 + br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit73 + +_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit73: ; preds = %ehcleanup48, %if.end.i.i.i68 resume { ptr, i32 } %.pn6.pn.pn } @@ -152100,28 +152109,28 @@ invoke.cont12: _ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit: ; preds = %invoke.cont12 %capacity_.i.i.i.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 %add.ptr.i.i9.i.i.i.i.phi.trans.insert = getelementptr inbounds i8, ptr %ref.tmp9, i64 48 - %.pre69 = load i64, ptr %add.ptr.i.i9.i.i.i.i.phi.trans.insert, align 8 + %.pre68 = load i64, ptr %add.ptr.i.i9.i.i.i.i.phi.trans.insert, align 8 %add.ptr.i.i.i.i.i.i.phi.trans.insert = getelementptr inbounds i8, ptr %ref.tmp9, i64 32 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %m, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp9, i64 32, i1 false) %15 = load <2 x i64>, ptr %add.ptr.i.i.i.i.i.i.phi.trans.insert, align 8 store <2 x i64> %15, ptr %12, align 8 - store i64 %.pre69, ptr %14, align 8 + store i64 %.pre68, ptr %14, align 8 store ptr getelementptr inbounds ([32 x i8], ptr @_ZN4absl18container_internal11kEmptyGroupE, i64 0, i64 16), ptr %ref.tmp9, align 8 %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp9, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i.i20 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #37 + %call5.i.i.i.i1.i.i.i.i19 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #37 to label %invoke.cont25 unwind label %lpad invoke.cont25: ; preds = %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit - %add.ptr.i.i.i.i.i19 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i20, i64 5 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i20, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3788 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i19, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3788 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i19, i64 20 store i32 3, ptr %ref.tmp20, align 8, !alias.scope !3793 - %matchers_.i.i.i21 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp20, i64 0, i32 1 - store ptr %call5.i.i.i.i1.i.i.i.i20, ptr %matchers_.i.i.i21, align 8, !alias.scope !3793 + %matchers_.i.i.i20 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp20, i64 0, i32 1 + store ptr %call5.i.i.i.i1.i.i.i.i19, ptr %matchers_.i.i.i20, align 8, !alias.scope !3793 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i19, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3793 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3793 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i19, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3793 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3793 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp26, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont28 unwind label %lpad27 @@ -152139,7 +152148,7 @@ if.then.i.i.i: ; preds = %invoke.cont30 br label %_ZNSt6vectorIiSaIiEED2Ev.exit _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %invoke.cont30, %if.then.i.i.i - %17 = load ptr, ptr %matchers_.i.i.i21, align 8 + %17 = load ptr, ptr %matchers_.i.i.i20, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %17, null br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i @@ -152172,20 +152181,20 @@ lpad29: ; preds = %invoke.cont28 %23 = landingpad { ptr, i32 } cleanup %24 = load ptr, ptr %ref.tmp26, align 8 - %tobool.not.i.i.i30 = icmp eq ptr %24, null - br i1 %tobool.not.i.i.i30, label %ehcleanup32, label %if.then.i.i.i31 + %tobool.not.i.i.i29 = icmp eq ptr %24, null + br i1 %tobool.not.i.i.i29, label %ehcleanup32, label %if.then.i.i.i30 -if.then.i.i.i31: ; preds = %lpad29 +if.then.i.i.i30: ; preds = %lpad29 call void @_ZdlPv(ptr noundef nonnull %24) #36 br label %ehcleanup32 -ehcleanup32: ; preds = %if.then.i.i.i31, %lpad29, %lpad27 - %.pn3 = phi { ptr, i32 } [ %22, %lpad27 ], [ %23, %lpad29 ], [ %23, %if.then.i.i.i31 ] - %25 = load ptr, ptr %matchers_.i.i.i21, align 8 - %tobool.not.i.i.i.i.i34 = icmp eq ptr %25, null - br i1 %tobool.not.i.i.i.i.i34, label %ehcleanup48, label %if.then.i.i.i.i.i35 +ehcleanup32: ; preds = %if.then.i.i.i30, %lpad29, %lpad27 + %.pn3 = phi { ptr, i32 } [ %22, %lpad27 ], [ %23, %lpad29 ], [ %23, %if.then.i.i.i30 ] + %25 = load ptr, ptr %matchers_.i.i.i20, align 8 + %tobool.not.i.i.i.i.i33 = icmp eq ptr %25, null + br i1 %tobool.not.i.i.i.i.i33, label %ehcleanup48, label %if.then.i.i.i.i.i34 -if.then.i.i.i.i.i35: ; preds = %ehcleanup32 +if.then.i.i.i.i.i34: ; preds = %ehcleanup32 call void @_ZdlPv(ptr noundef nonnull %25) #36 br label %ehcleanup48 @@ -152248,25 +152257,25 @@ lpad43: ; preds = %invoke.cont42 ehcleanup46: ; preds = %lpad43, %lpad39 %.pn6 = phi { ptr, i32 } [ %31, %lpad43 ], [ %30, %lpad39 ] %32 = load ptr, ptr %ref.tmp35, align 8 - %cmp.not.i.i41 = icmp eq ptr %32, null - br i1 %cmp.not.i.i41, label %_ZN7testing7MessageD2Ev.exit45, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 + %cmp.not.i.i40 = icmp eq ptr %32, null + br i1 %cmp.not.i.i40, label %_ZN7testing7MessageD2Ev.exit44, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42: ; preds = %ehcleanup46 - %vtable.i.i.i43 = load ptr, ptr %32, align 8 - %vfn.i.i.i44 = getelementptr inbounds ptr, ptr %vtable.i.i.i43, i64 1 - %33 = load ptr, ptr %vfn.i.i.i44, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41: ; preds = %ehcleanup46 + %vtable.i.i.i42 = load ptr, ptr %32, align 8 + %vfn.i.i.i43 = getelementptr inbounds ptr, ptr %vtable.i.i.i42, i64 1 + %33 = load ptr, ptr %vfn.i.i.i43, align 8 call void %33(ptr noundef nonnull align 8 dereferenceable(128) %32) #32 - br label %_ZN7testing7MessageD2Ev.exit45 + br label %_ZN7testing7MessageD2Ev.exit44 -_ZN7testing7MessageD2Ev.exit45: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i42 +_ZN7testing7MessageD2Ev.exit44: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i41 store ptr null, ptr %ref.tmp35, align 8 br label %ehcleanup47 if.end: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %34 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i46 = icmp eq ptr %34, null - br i1 %cmp.not.i.i46, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i45 = icmp eq ptr %34, null + br i1 %cmp.not.i.i45, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #32 @@ -152276,45 +152285,45 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %35 = load i64, ptr %capacity_.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i48 = icmp eq i64 %35, 0 - br i1 %cmp.i.i.i48, label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit54, label %if.end.i.i.i49 + %cmp.i.i.i47 = icmp eq i64 %35, 0 + br i1 %cmp.i.i.i47, label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit53, label %if.end.i.i.i48 -if.end.i.i.i49: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +if.end.i.i.i48: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %36 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i50 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %37 = load i64, ptr %size_.i.i.i.i.i.i50, align 8 - %and.i.i.i.i.i.i51 = and i64 %37, 1 - %add.i.neg.i.i.i.i.i52 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i51 - %add.ptr.i.i.i.i.i53 = getelementptr inbounds i8, ptr %36, i64 %add.i.neg.i.i.i.i.i52 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i53) #36 - br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit54 + %size_.i.i.i.i.i.i49 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %37 = load i64, ptr %size_.i.i.i.i.i.i49, align 8 + %and.i.i.i.i.i.i50 = and i64 %37, 1 + %add.i.neg.i.i.i.i.i51 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i50 + %add.ptr.i.i.i.i.i52 = getelementptr inbounds i8, ptr %36, i64 %add.i.neg.i.i.i.i.i51 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i52) #36 + br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit53 -_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit54: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i49 +_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit53: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i48 ret void -ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit45, %lpad36 - %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit45 ], [ %29, %lpad36 ] +ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit44, %lpad36 + %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit44 ], [ %29, %lpad36 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #32 br label %ehcleanup48 -ehcleanup48: ; preds = %if.then.i.i.i.i.i35, %ehcleanup32, %lpad15, %ehcleanup47, %lpad - %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %20, %lpad ], [ %21, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i35 ] - %capacity_.i.i.i.i.i55 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %38 = load i64, ptr %capacity_.i.i.i.i.i55, align 8 - %cmp.i.i.i56 = icmp eq i64 %38, 0 - br i1 %cmp.i.i.i56, label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit62, label %if.end.i.i.i57 +ehcleanup48: ; preds = %if.then.i.i.i.i.i34, %ehcleanup32, %lpad15, %ehcleanup47, %lpad + %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %20, %lpad ], [ %21, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i34 ] + %capacity_.i.i.i.i.i54 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %38 = load i64, ptr %capacity_.i.i.i.i.i54, align 8 + %cmp.i.i.i55 = icmp eq i64 %38, 0 + br i1 %cmp.i.i.i55, label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit61, label %if.end.i.i.i56 -if.end.i.i.i57: ; preds = %ehcleanup48 +if.end.i.i.i56: ; preds = %ehcleanup48 %39 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i58 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %40 = load i64, ptr %size_.i.i.i.i.i.i58, align 8 - %and.i.i.i.i.i.i59 = and i64 %40, 1 - %add.i.neg.i.i.i.i.i60 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i59 - %add.ptr.i.i.i.i.i61 = getelementptr inbounds i8, ptr %39, i64 %add.i.neg.i.i.i.i.i60 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i61) #36 - br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit62 - -_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit62: ; preds = %ehcleanup48, %if.end.i.i.i57 + %size_.i.i.i.i.i.i57 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %40 = load i64, ptr %size_.i.i.i.i.i.i57, align 8 + %and.i.i.i.i.i.i58 = and i64 %40, 1 + %add.i.neg.i.i.i.i.i59 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i58 + %add.ptr.i.i.i.i.i60 = getelementptr inbounds i8, ptr %39, i64 %add.i.neg.i.i.i.i.i59 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i60) #36 + br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit61 + +_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit61: ; preds = %ehcleanup48, %if.end.i.i.i56 resume { ptr, i32 } %.pn6.pn.pn } @@ -152843,7 +152852,7 @@ _ZN4absl13flat_hash_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_1 call5.i.i.i.i.noexc: ; preds = %_ZN4absl13flat_hash_setINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_18container_internal19StatefulTestingHashENS7_20StatefulTestingEqualENS7_5AllocIS6_EEED2Ev.exit store ptr %call5.i.i.i.i54, ptr %matchers_.i.i.i, align 8 - %add.ptr.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i.i54, i64 5 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i54, i64 160 %_M_end_of_storage.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %agg.tmp25, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i50 @@ -153682,19 +153691,19 @@ _ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19Statef store ptr getelementptr inbounds ([32 x i8], ptr @_ZN4absl18container_internal11kEmptyGroupE, i64 0, i64 16), ptr %ref.tmp9, align 8 %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp9, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i.i32 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #37 + %call5.i.i.i.i1.i.i.i.i31 = invoke noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #37 to label %invoke.cont25 unwind label %lpad invoke.cont25: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit - %add.ptr.i.i.i.i.i31 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i32, i64 5 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i32, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3821 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i31, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3821 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i31, i64 20 store i32 3, ptr %ref.tmp20, align 8, !alias.scope !3826 - %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp20, i64 0, i32 1 - store ptr %call5.i.i.i.i1.i.i.i.i32, ptr %matchers_.i.i.i33, align 8, !alias.scope !3826 + %matchers_.i.i.i32 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp20, i64 0, i32 1 + store ptr %call5.i.i.i.i1.i.i.i.i31, ptr %matchers_.i.i.i32, align 8, !alias.scope !3826 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i31, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3826 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3826 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i31, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3826 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3826 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp26, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont28 unwind label %lpad27 @@ -153705,14 +153714,14 @@ invoke.cont28: ; preds = %invoke.cont25 invoke.cont30: ; preds = %invoke.cont28 %20 = load ptr, ptr %ref.tmp26, align 8 %tobool.not.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit, label %if.then.i.i.i34 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit, label %if.then.i.i.i33 -if.then.i.i.i34: ; preds = %invoke.cont30 +if.then.i.i.i33: ; preds = %invoke.cont30 call void @_ZdlPv(ptr noundef nonnull %20) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit: ; preds = %invoke.cont30, %if.then.i.i.i34 - %21 = load ptr, ptr %matchers_.i.i.i33, align 8 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit: ; preds = %invoke.cont30, %if.then.i.i.i33 + %21 = load ptr, ptr %matchers_.i.i.i32, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %21, null br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIN4absl18container_internal13hash_internal4EnumEED2Ev.exit, label %if.then.i.i.i.i.i @@ -153745,20 +153754,20 @@ lpad29: ; preds = %invoke.cont28 %27 = landingpad { ptr, i32 } cleanup %28 = load ptr, ptr %ref.tmp26, align 8 - %tobool.not.i.i.i43 = icmp eq ptr %28, null - br i1 %tobool.not.i.i.i43, label %ehcleanup32, label %if.then.i.i.i44 + %tobool.not.i.i.i42 = icmp eq ptr %28, null + br i1 %tobool.not.i.i.i42, label %ehcleanup32, label %if.then.i.i.i43 -if.then.i.i.i44: ; preds = %lpad29 +if.then.i.i.i43: ; preds = %lpad29 call void @_ZdlPv(ptr noundef nonnull %28) #36 br label %ehcleanup32 -ehcleanup32: ; preds = %if.then.i.i.i44, %lpad29, %lpad27 - %.pn3 = phi { ptr, i32 } [ %26, %lpad27 ], [ %27, %lpad29 ], [ %27, %if.then.i.i.i44 ] - %29 = load ptr, ptr %matchers_.i.i.i33, align 8 - %tobool.not.i.i.i.i.i47 = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i.i.i47, label %ehcleanup48, label %if.then.i.i.i.i.i48 +ehcleanup32: ; preds = %if.then.i.i.i43, %lpad29, %lpad27 + %.pn3 = phi { ptr, i32 } [ %26, %lpad27 ], [ %27, %lpad29 ], [ %27, %if.then.i.i.i43 ] + %29 = load ptr, ptr %matchers_.i.i.i32, align 8 + %tobool.not.i.i.i.i.i46 = icmp eq ptr %29, null + br i1 %tobool.not.i.i.i.i.i46, label %ehcleanup48, label %if.then.i.i.i.i.i47 -if.then.i.i.i.i.i48: ; preds = %ehcleanup32 +if.then.i.i.i.i.i47: ; preds = %ehcleanup32 call void @_ZdlPv(ptr noundef nonnull %29) #36 br label %ehcleanup48 @@ -153821,25 +153830,25 @@ lpad43: ; preds = %invoke.cont42 ehcleanup46: ; preds = %lpad43, %lpad39 %.pn6 = phi { ptr, i32 } [ %35, %lpad43 ], [ %34, %lpad39 ] %36 = load ptr, ptr %ref.tmp35, align 8 - %cmp.not.i.i54 = icmp eq ptr %36, null - br i1 %cmp.not.i.i54, label %_ZN7testing7MessageD2Ev.exit58, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 + %cmp.not.i.i53 = icmp eq ptr %36, null + br i1 %cmp.not.i.i53, label %_ZN7testing7MessageD2Ev.exit57, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55: ; preds = %ehcleanup46 - %vtable.i.i.i56 = load ptr, ptr %36, align 8 - %vfn.i.i.i57 = getelementptr inbounds ptr, ptr %vtable.i.i.i56, i64 1 - %37 = load ptr, ptr %vfn.i.i.i57, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54: ; preds = %ehcleanup46 + %vtable.i.i.i55 = load ptr, ptr %36, align 8 + %vfn.i.i.i56 = getelementptr inbounds ptr, ptr %vtable.i.i.i55, i64 1 + %37 = load ptr, ptr %vfn.i.i.i56, align 8 call void %37(ptr noundef nonnull align 8 dereferenceable(128) %36) #32 - br label %_ZN7testing7MessageD2Ev.exit58 + br label %_ZN7testing7MessageD2Ev.exit57 -_ZN7testing7MessageD2Ev.exit58: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i55 +_ZN7testing7MessageD2Ev.exit57: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 store ptr null, ptr %ref.tmp35, align 8 br label %ehcleanup47 if.end: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIN4absl18container_internal13hash_internal4EnumEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %38 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i59 = icmp eq ptr %38, null - br i1 %cmp.not.i.i59, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i58 = icmp eq ptr %38, null + br i1 %cmp.not.i.i58, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #32 @@ -153849,45 +153858,45 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %39 = load i64, ptr %capacity_.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i61 = icmp eq i64 %39, 0 - br i1 %cmp.i.i.i61, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit67, label %if.end.i.i.i62 + %cmp.i.i.i60 = icmp eq i64 %39, 0 + br i1 %cmp.i.i.i60, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66, label %if.end.i.i.i61 -if.end.i.i.i62: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +if.end.i.i.i61: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %40 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i63 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %41 = load i64, ptr %size_.i.i.i.i.i.i63, align 8 - %and.i.i.i.i.i.i64 = and i64 %41, 1 - %add.i.neg.i.i.i.i.i65 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i64 - %add.ptr.i.i.i.i.i66 = getelementptr inbounds i8, ptr %40, i64 %add.i.neg.i.i.i.i.i65 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i66) #36 - br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit67 + %size_.i.i.i.i.i.i62 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %41 = load i64, ptr %size_.i.i.i.i.i.i62, align 8 + %and.i.i.i.i.i.i63 = and i64 %41, 1 + %add.i.neg.i.i.i.i.i64 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i63 + %add.ptr.i.i.i.i.i65 = getelementptr inbounds i8, ptr %40, i64 %add.i.neg.i.i.i.i.i64 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i65) #36 + br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66 -_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit67: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i62 +_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i61 ret void -ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit58, %lpad36 - %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit58 ], [ %33, %lpad36 ] +ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit57, %lpad36 + %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit57 ], [ %33, %lpad36 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #32 br label %ehcleanup48 -ehcleanup48: ; preds = %if.then.i.i.i.i.i48, %ehcleanup32, %lpad15, %ehcleanup47, %lpad - %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %24, %lpad ], [ %25, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i48 ] - %capacity_.i.i.i.i.i68 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %42 = load i64, ptr %capacity_.i.i.i.i.i68, align 8 - %cmp.i.i.i69 = icmp eq i64 %42, 0 - br i1 %cmp.i.i.i69, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit75, label %if.end.i.i.i70 +ehcleanup48: ; preds = %if.then.i.i.i.i.i47, %ehcleanup32, %lpad15, %ehcleanup47, %lpad + %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %24, %lpad ], [ %25, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i47 ] + %capacity_.i.i.i.i.i67 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %42 = load i64, ptr %capacity_.i.i.i.i.i67, align 8 + %cmp.i.i.i68 = icmp eq i64 %42, 0 + br i1 %cmp.i.i.i68, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74, label %if.end.i.i.i69 -if.end.i.i.i70: ; preds = %ehcleanup48 +if.end.i.i.i69: ; preds = %ehcleanup48 %43 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i71 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %44 = load i64, ptr %size_.i.i.i.i.i.i71, align 8 - %and.i.i.i.i.i.i72 = and i64 %44, 1 - %add.i.neg.i.i.i.i.i73 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i72 - %add.ptr.i.i.i.i.i74 = getelementptr inbounds i8, ptr %43, i64 %add.i.neg.i.i.i.i.i73 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i74) #36 - br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit75 - -_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit75: ; preds = %ehcleanup48, %if.end.i.i.i70 + %size_.i.i.i.i.i.i70 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %44 = load i64, ptr %size_.i.i.i.i.i.i70, align 8 + %and.i.i.i.i.i.i71 = and i64 %44, 1 + %add.i.neg.i.i.i.i.i72 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i71 + %add.ptr.i.i.i.i.i73 = getelementptr inbounds i8, ptr %43, i64 %add.i.neg.i.i.i.i.i72 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i73) #36 + br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74 + +_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74: ; preds = %ehcleanup48, %if.end.i.i.i69 resume { ptr, i32 } %.pn6.pn.pn } @@ -154140,19 +154149,19 @@ _ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19S store ptr getelementptr inbounds ([32 x i8], ptr @_ZN4absl18container_internal11kEmptyGroupE, i64 0, i64 16), ptr %ref.tmp9, align 8 %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp9, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.sroa.3.0.that.sroa_idx.i.i.i.i, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i.i32 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #37 + %call5.i.i.i.i1.i.i.i.i31 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #37 to label %invoke.cont25 unwind label %lpad invoke.cont25: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit - %add.ptr.i.i.i.i.i31 = getelementptr inbounds i64, ptr %call5.i.i.i.i1.i.i.i.i32, i64 5 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i32, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !3829 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i31, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !3829 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i31, i64 40 store i32 3, ptr %ref.tmp20, align 8, !alias.scope !3834 - %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp20, i64 0, i32 1 - store ptr %call5.i.i.i.i1.i.i.i.i32, ptr %matchers_.i.i.i33, align 8, !alias.scope !3834 + %matchers_.i.i.i32 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp20, i64 0, i32 1 + store ptr %call5.i.i.i.i1.i.i.i.i31, ptr %matchers_.i.i.i32, align 8, !alias.scope !3834 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i31, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3834 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3834 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp20, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i31, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3834 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3834 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp26, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont28 unwind label %lpad27 @@ -154170,7 +154179,7 @@ if.then.i.i.i: ; preds = %invoke.cont30 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit _ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit: ; preds = %invoke.cont30, %if.then.i.i.i - %11 = load ptr, ptr %matchers_.i.i.i33, align 8 + %11 = load ptr, ptr %matchers_.i.i.i32, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %11, null br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIN4absl18container_internal13hash_internal9EnumClassEED2Ev.exit, label %if.then.i.i.i.i.i @@ -154203,20 +154212,20 @@ lpad29: ; preds = %invoke.cont28 %17 = landingpad { ptr, i32 } cleanup %18 = load ptr, ptr %ref.tmp26, align 8 - %tobool.not.i.i.i42 = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i42, label %ehcleanup32, label %if.then.i.i.i43 + %tobool.not.i.i.i41 = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i41, label %ehcleanup32, label %if.then.i.i.i42 -if.then.i.i.i43: ; preds = %lpad29 +if.then.i.i.i42: ; preds = %lpad29 call void @_ZdlPv(ptr noundef nonnull %18) #36 br label %ehcleanup32 -ehcleanup32: ; preds = %if.then.i.i.i43, %lpad29, %lpad27 - %.pn3 = phi { ptr, i32 } [ %16, %lpad27 ], [ %17, %lpad29 ], [ %17, %if.then.i.i.i43 ] - %19 = load ptr, ptr %matchers_.i.i.i33, align 8 - %tobool.not.i.i.i.i.i46 = icmp eq ptr %19, null - br i1 %tobool.not.i.i.i.i.i46, label %ehcleanup48, label %if.then.i.i.i.i.i47 +ehcleanup32: ; preds = %if.then.i.i.i42, %lpad29, %lpad27 + %.pn3 = phi { ptr, i32 } [ %16, %lpad27 ], [ %17, %lpad29 ], [ %17, %if.then.i.i.i42 ] + %19 = load ptr, ptr %matchers_.i.i.i32, align 8 + %tobool.not.i.i.i.i.i45 = icmp eq ptr %19, null + br i1 %tobool.not.i.i.i.i.i45, label %ehcleanup48, label %if.then.i.i.i.i.i46 -if.then.i.i.i.i.i47: ; preds = %ehcleanup32 +if.then.i.i.i.i.i46: ; preds = %ehcleanup32 call void @_ZdlPv(ptr noundef nonnull %19) #36 br label %ehcleanup48 @@ -154279,25 +154288,25 @@ lpad43: ; preds = %invoke.cont42 ehcleanup46: ; preds = %lpad43, %lpad39 %.pn6 = phi { ptr, i32 } [ %25, %lpad43 ], [ %24, %lpad39 ] %26 = load ptr, ptr %ref.tmp35, align 8 - %cmp.not.i.i53 = icmp eq ptr %26, null - br i1 %cmp.not.i.i53, label %_ZN7testing7MessageD2Ev.exit57, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 + %cmp.not.i.i52 = icmp eq ptr %26, null + br i1 %cmp.not.i.i52, label %_ZN7testing7MessageD2Ev.exit56, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54: ; preds = %ehcleanup46 - %vtable.i.i.i55 = load ptr, ptr %26, align 8 - %vfn.i.i.i56 = getelementptr inbounds ptr, ptr %vtable.i.i.i55, i64 1 - %27 = load ptr, ptr %vfn.i.i.i56, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53: ; preds = %ehcleanup46 + %vtable.i.i.i54 = load ptr, ptr %26, align 8 + %vfn.i.i.i55 = getelementptr inbounds ptr, ptr %vtable.i.i.i54, i64 1 + %27 = load ptr, ptr %vfn.i.i.i55, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #32 - br label %_ZN7testing7MessageD2Ev.exit57 + br label %_ZN7testing7MessageD2Ev.exit56 -_ZN7testing7MessageD2Ev.exit57: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 +_ZN7testing7MessageD2Ev.exit56: ; preds = %ehcleanup46, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53 store ptr null, ptr %ref.tmp35, align 8 br label %ehcleanup47 if.end: ; preds = %_ZN7testing8internal32UnorderedElementsAreArrayMatcherIN4absl18container_internal13hash_internal9EnumClassEED2Ev.exit, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %28 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i58 = icmp eq ptr %28, null - br i1 %cmp.not.i.i58, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i57 = icmp eq ptr %28, null + br i1 %cmp.not.i.i57, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #32 @@ -154307,45 +154316,45 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %29 = load i64, ptr %capacity_.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i60 = icmp eq i64 %29, 0 - br i1 %cmp.i.i.i60, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66, label %if.end.i.i.i61 + %cmp.i.i.i59 = icmp eq i64 %29, 0 + br i1 %cmp.i.i.i59, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit65, label %if.end.i.i.i60 -if.end.i.i.i61: ; preds = %_ZN7testing15AssertionResultD2Ev.exit +if.end.i.i.i60: ; preds = %_ZN7testing15AssertionResultD2Ev.exit %30 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i62 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %31 = load i64, ptr %size_.i.i.i.i.i.i62, align 8 - %and.i.i.i.i.i.i63 = and i64 %31, 1 - %add.i.neg.i.i.i.i.i64 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i63 - %add.ptr.i.i.i.i.i65 = getelementptr inbounds i8, ptr %30, i64 %add.i.neg.i.i.i.i.i64 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i65) #36 - br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66 + %size_.i.i.i.i.i.i61 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %31 = load i64, ptr %size_.i.i.i.i.i.i61, align 8 + %and.i.i.i.i.i.i62 = and i64 %31, 1 + %add.i.neg.i.i.i.i.i63 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i62 + %add.ptr.i.i.i.i.i64 = getelementptr inbounds i8, ptr %30, i64 %add.i.neg.i.i.i.i.i63 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i64) #36 + br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit65 -_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit66: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i61 +_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit65: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i60 ret void -ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit57, %lpad36 - %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit57 ], [ %23, %lpad36 ] +ehcleanup47: ; preds = %_ZN7testing7MessageD2Ev.exit56, %lpad36 + %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit56 ], [ %23, %lpad36 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #32 br label %ehcleanup48 -ehcleanup48: ; preds = %if.then.i.i.i.i.i47, %ehcleanup32, %lpad15, %ehcleanup47, %lpad - %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %14, %lpad ], [ %15, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i47 ] - %capacity_.i.i.i.i.i67 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %32 = load i64, ptr %capacity_.i.i.i.i.i67, align 8 - %cmp.i.i.i68 = icmp eq i64 %32, 0 - br i1 %cmp.i.i.i68, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74, label %if.end.i.i.i69 +ehcleanup48: ; preds = %if.then.i.i.i.i.i46, %ehcleanup32, %lpad15, %ehcleanup47, %lpad + %.pn6.pn.pn = phi { ptr, i32 } [ %.pn6.pn, %ehcleanup47 ], [ %14, %lpad ], [ %15, %lpad15 ], [ %.pn3, %ehcleanup32 ], [ %.pn3, %if.then.i.i.i.i.i46 ] + %capacity_.i.i.i.i.i66 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %32 = load i64, ptr %capacity_.i.i.i.i.i66, align 8 + %cmp.i.i.i67 = icmp eq i64 %32, 0 + br i1 %cmp.i.i.i67, label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit73, label %if.end.i.i.i68 -if.end.i.i.i69: ; preds = %ehcleanup48 +if.end.i.i.i68: ; preds = %ehcleanup48 %33 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i70 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %34 = load i64, ptr %size_.i.i.i.i.i.i70, align 8 - %and.i.i.i.i.i.i71 = and i64 %34, 1 - %add.i.neg.i.i.i.i.i72 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i71 - %add.ptr.i.i.i.i.i73 = getelementptr inbounds i8, ptr %33, i64 %add.i.neg.i.i.i.i.i72 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i73) #36 - br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74 - -_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit74: ; preds = %ehcleanup48, %if.end.i.i.i69 + %size_.i.i.i.i.i.i69 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %34 = load i64, ptr %size_.i.i.i.i.i.i69, align 8 + %and.i.i.i.i.i.i70 = and i64 %34, 1 + %add.i.neg.i.i.i.i.i71 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i70 + %add.ptr.i.i.i.i.i72 = getelementptr inbounds i8, ptr %33, i64 %add.i.neg.i.i.i.i.i71 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i72) #36 + br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit73 + +_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit73: ; preds = %ehcleanup48, %if.end.i.i.i68 resume { ptr, i32 } %.pn6.pn.pn } @@ -155030,15 +155039,15 @@ entry: to label %invoke.cont20 unwind label %lpad12 invoke.cont20: ; preds = %entry - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i18, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i18, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3843 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i18, i64 20 store i32 3, ptr %ref.tmp15, align 8, !alias.scope !3848 %matchers_.i.i.i19 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp15, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i18, ptr %matchers_.i.i.i19, align 8, !alias.scope !3848 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp15, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3848 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3848 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp15, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3848 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3848 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp21, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont23 unwind label %lpad22 @@ -155198,8 +155207,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %32 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %32, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i37 = getelementptr inbounds i8, ptr %31, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i37) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %31, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit _ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i @@ -155212,22 +155221,22 @@ ehcleanup40: ; preds = %_ZN7testing7Message ehcleanup41: ; preds = %if.then.i.i.i.i.i25, %ehcleanup, %ehcleanup40, %lpad12 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %ehcleanup40 ], [ %16, %lpad12 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i25 ] - %capacity_.i.i.i.i.i38 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %33 = load i64, ptr %capacity_.i.i.i.i.i38, align 8 - %cmp.i.i.i39 = icmp eq i64 %33, 0 - br i1 %cmp.i.i.i39, label %eh.resume, label %if.end.i.i.i40 + %capacity_.i.i.i.i.i37 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %33 = load i64, ptr %capacity_.i.i.i.i.i37, align 8 + %cmp.i.i.i38 = icmp eq i64 %33, 0 + br i1 %cmp.i.i.i38, label %eh.resume, label %if.end.i.i.i39 -if.end.i.i.i40: ; preds = %ehcleanup41 +if.end.i.i.i39: ; preds = %ehcleanup41 %34 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i41 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %35 = load i64, ptr %size_.i.i.i.i.i.i41, align 8 - %and.i.i.i.i.i.i42 = and i64 %35, 1 - %add.i.neg.i.i.i.i.i43 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i42 - %add.ptr.i.i.i.i.i44 = getelementptr inbounds i8, ptr %34, i64 %add.i.neg.i.i.i.i.i43 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i44) #36 + %size_.i.i.i.i.i.i40 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %35 = load i64, ptr %size_.i.i.i.i.i.i40, align 8 + %and.i.i.i.i.i.i41 = and i64 %35, 1 + %add.i.neg.i.i.i.i.i42 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i41 + %add.ptr.i.i.i.i.i43 = getelementptr inbounds i8, ptr %34, i64 %add.i.neg.i.i.i.i.i42 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i43) #36 br label %eh.resume -eh.resume: ; preds = %if.end.i.i.i40, %ehcleanup41 +eh.resume: ; preds = %if.end.i.i.i39, %ehcleanup41 resume { ptr, i32 } %.pn4.pn.pn } @@ -155699,7 +155708,7 @@ invoke.cont20: ; preds = %_ZN4absl18container call5.i.i.i.i.noexc: ; preds = %invoke.cont20 store ptr %call5.i.i.i.i28, ptr %matchers_.i.i.i, align 8 - %add.ptr.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i.i28, i64 5 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i28, i64 160 %_M_end_of_storage.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher", ptr %agg.tmp22, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i24 @@ -156506,15 +156515,15 @@ _ZNK4absl18container_internal13hash_internal9GeneratorINS1_4EnumEvEclEv.exit28: to label %invoke.cont20 unwind label %lpad12 invoke.cont20: ; preds = %_ZNK4absl18container_internal13hash_internal9GeneratorINS1_4EnumEvEclEv.exit28 - %add.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i.i.i30, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %call5.i.i.i.i1.i.i.i.i30, ptr noundef nonnull align 4 dereferenceable(20) %ref.tmp, i64 20, i1 false), !noalias !3876 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i30, i64 20 store i32 3, ptr %ref.tmp15, align 8, !alias.scope !3881 %matchers_.i.i.i31 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp15, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i30, ptr %matchers_.i.i.i31, align 8, !alias.scope !3881 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp15, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3881 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3881 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp15, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3881 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3881 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp21, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont23 unwind label %lpad22 @@ -156674,8 +156683,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %32 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %32, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i50 = getelementptr inbounds i8, ptr %31, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i50) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %31, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i @@ -156688,22 +156697,22 @@ ehcleanup40: ; preds = %_ZN7testing7Message ehcleanup41: ; preds = %if.then.i.i.i.i.i38, %ehcleanup, %ehcleanup40, %lpad12 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %ehcleanup40 ], [ %16, %lpad12 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i38 ] - %capacity_.i.i.i.i.i51 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %33 = load i64, ptr %capacity_.i.i.i.i.i51, align 8 - %cmp.i.i.i52 = icmp eq i64 %33, 0 - br i1 %cmp.i.i.i52, label %eh.resume, label %if.end.i.i.i53 + %capacity_.i.i.i.i.i50 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %33 = load i64, ptr %capacity_.i.i.i.i.i50, align 8 + %cmp.i.i.i51 = icmp eq i64 %33, 0 + br i1 %cmp.i.i.i51, label %eh.resume, label %if.end.i.i.i52 -if.end.i.i.i53: ; preds = %ehcleanup41 +if.end.i.i.i52: ; preds = %ehcleanup41 %34 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i54 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %35 = load i64, ptr %size_.i.i.i.i.i.i54, align 8 - %and.i.i.i.i.i.i55 = and i64 %35, 1 - %add.i.neg.i.i.i.i.i56 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i55 - %add.ptr.i.i.i.i.i57 = getelementptr inbounds i8, ptr %34, i64 %add.i.neg.i.i.i.i.i56 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i57) #36 + %size_.i.i.i.i.i.i53 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %35 = load i64, ptr %size_.i.i.i.i.i.i53, align 8 + %and.i.i.i.i.i.i54 = and i64 %35, 1 + %add.i.neg.i.i.i.i.i55 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i54 + %add.ptr.i.i.i.i.i56 = getelementptr inbounds i8, ptr %34, i64 %add.i.neg.i.i.i.i.i55 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i56) #36 br label %eh.resume -eh.resume: ; preds = %if.end.i.i.i53, %ehcleanup41 +eh.resume: ; preds = %if.end.i.i.i52, %ehcleanup41 resume { ptr, i32 } %.pn4.pn.pn } @@ -156919,15 +156928,15 @@ _ZNK4absl18container_internal13hash_internal9GeneratorINS1_9EnumClassEvEclEv.exi to label %invoke.cont20 unwind label %lpad12 invoke.cont20: ; preds = %_ZNK4absl18container_internal13hash_internal9GeneratorINS1_9EnumClassEvEclEv.exit28 - %add.ptr.i.i.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i1.i.i.i.i30, i64 5 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %call5.i.i.i.i1.i.i.i.i30, ptr noundef nonnull align 8 dereferenceable(40) %ref.tmp, i64 40, i1 false), !noalias !3884 + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i.i30, i64 40 store i32 3, ptr %ref.tmp15, align 8, !alias.scope !3889 %matchers_.i.i.i31 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp15, i64 0, i32 1 store ptr %call5.i.i.i.i1.i.i.i.i30, ptr %matchers_.i.i.i31, align 8, !alias.scope !3889 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp15, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3889 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8, !alias.scope !3889 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp15, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3889 + store ptr %add.ptr.i.i.i.i.sink.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8, !alias.scope !3889 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp21, ptr noundef nonnull align 8 dereferenceable(56) %m) to label %invoke.cont23 unwind label %lpad22 @@ -157087,8 +157096,8 @@ if.end.i.i.i: ; preds = %_ZN7testing15Assert %22 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %22, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i49 = getelementptr inbounds i8, ptr %21, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i49) #36 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %21, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %if.end.i.i.i @@ -157101,22 +157110,22 @@ ehcleanup40: ; preds = %_ZN7testing7Message ehcleanup41: ; preds = %if.then.i.i.i.i.i37, %ehcleanup, %ehcleanup40, %lpad12 %.pn4.pn.pn = phi { ptr, i32 } [ %.pn4.pn, %ehcleanup40 ], [ %6, %lpad12 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i37 ] - %capacity_.i.i.i.i.i50 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %23 = load i64, ptr %capacity_.i.i.i.i.i50, align 8 - %cmp.i.i.i51 = icmp eq i64 %23, 0 - br i1 %cmp.i.i.i51, label %eh.resume, label %if.end.i.i.i52 + %capacity_.i.i.i.i.i49 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %23 = load i64, ptr %capacity_.i.i.i.i.i49, align 8 + %cmp.i.i.i50 = icmp eq i64 %23, 0 + br i1 %cmp.i.i.i50, label %eh.resume, label %if.end.i.i.i51 -if.end.i.i.i52: ; preds = %ehcleanup41 +if.end.i.i.i51: ; preds = %ehcleanup41 %24 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i53 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %25 = load i64, ptr %size_.i.i.i.i.i.i53, align 8 - %and.i.i.i.i.i.i54 = and i64 %25, 1 - %add.i.neg.i.i.i.i.i55 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i54 - %add.ptr.i.i.i.i.i56 = getelementptr inbounds i8, ptr %24, i64 %add.i.neg.i.i.i.i.i55 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i56) #36 + %size_.i.i.i.i.i.i52 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %25 = load i64, ptr %size_.i.i.i.i.i.i52, align 8 + %and.i.i.i.i.i.i53 = and i64 %25, 1 + %add.i.neg.i.i.i.i.i54 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i53 + %add.ptr.i.i.i.i.i55 = getelementptr inbounds i8, ptr %24, i64 %add.i.neg.i.i.i.i.i54 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i55) #36 br label %eh.resume -eh.resume: ; preds = %if.end.i.i.i52, %ehcleanup41 +eh.resume: ; preds = %if.end.i.i.i51, %ehcleanup41 resume { ptr, i32 } %.pn4.pn.pn } @@ -158956,23 +158965,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16alloc %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %1, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %5, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %5) #36 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %__first.coerce, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -161230,23 +161240,24 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_ %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %13, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %17, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %17) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %__first.coerce, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -162220,23 +162231,24 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE %cond.i10.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i.i.i ], [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i64 %xor9.i, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %15, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i.i - %incdec.ptr.i.i.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i, i64 1 +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %incdec.ptr.i.i.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i = icmp eq ptr %15, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %15) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i store ptr %cond.i10.i.i.i.i, ptr %__first.coerce, align 8 store ptr %incdec.ptr.i.i.i.i, ptr %_M_finish.i.i.i, align 8 %add.ptr19.i.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i @@ -185475,8 +185487,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -185500,7 +185511,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !4643 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !4643 @@ -187505,8 +187516,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -187530,7 +187540,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !4678 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !4678 @@ -188178,8 +188188,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -188203,7 +188212,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !4687 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !4687 @@ -196910,8 +196919,7 @@ invoke.cont17: ; preds = %invoke.cont17.loope %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %22 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %23 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i9, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i9: ; preds = %invoke.cont17 @@ -196935,7 +196943,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont21: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp18.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i10, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp, align 8, !alias.scope !5020 %matchers_.i.i.i11 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp, i64 0, i32 1 store ptr %agg.tmp18.sroa.2.0, ptr %matchers_.i.i.i11, align 8, !alias.scope !5020 @@ -198473,8 +198481,7 @@ invoke.cont17: ; preds = %invoke.cont17.loope %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %22 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %23 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i9, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i9: ; preds = %invoke.cont17 @@ -198498,7 +198505,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont21: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp18.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i10, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp, align 8, !alias.scope !5069 %matchers_.i.i.i11 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp, i64 0, i32 1 store ptr %agg.tmp18.sroa.2.0, ptr %matchers_.i.i.i11, align 8, !alias.scope !5069 @@ -198986,8 +198993,7 @@ invoke.cont17: ; preds = %invoke.cont17.loope %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %22 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %23 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i9, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i9: ; preds = %invoke.cont17 @@ -199011,7 +199017,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont21: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp18.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i10, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp18.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp, align 8, !alias.scope !5092 %matchers_.i.i.i11 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp, i64 0, i32 1 store ptr %agg.tmp18.sroa.2.0, ptr %matchers_.i.i.i11, align 8, !alias.scope !5092 @@ -212335,8 +212341,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -212360,7 +212365,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i28, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5584 %matchers_.i.i.i29 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i29, align 8, !alias.scope !5584 @@ -212539,19 +212544,19 @@ cleanup.cont: ; preds = %_ZNKSt14default_del store ptr null, ptr %message_.i47, align 8 %27 = load ptr, ptr %values, align 8 %28 = load ptr, ptr %_M_finish.i, align 8 - %cmp.i.not228 = icmp eq ptr %27, %28 - br i1 %cmp.i.not228, label %for.end, label %for.body.lr.ph + %cmp.i.not229 = icmp eq ptr %27, %28 + br i1 %cmp.i.not229, label %for.end, label %for.body.lr.ph for.body.lr.ph: ; preds = %cleanup.cont %slots_.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 1 br label %for.body for.body: ; preds = %for.body.lr.ph, %for.inc - %values2.sroa.0.0232 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.0.2, %for.inc ] - %values2.sroa.7.0231 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.7.2, %for.inc ] - %values2.sroa.13.0230 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.13.2, %for.inc ] - %__begin0.sroa.0.0229 = phi ptr [ %27, %for.body.lr.ph ], [ %incdec.ptr.i60, %for.inc ] - %29 = load i32, ptr %__begin0.sroa.0.0229, align 4 + %values2.sroa.0.0233 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.0.2, %for.inc ] + %values2.sroa.7.0232 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.7.2, %for.inc ] + %values2.sroa.13.0231 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.13.2, %for.inc ] + %__begin0.sroa.0.0230 = phi ptr [ %27, %for.body.lr.ph ], [ %incdec.ptr.i60, %for.inc ] + %29 = load i32, ptr %__begin0.sroa.0.0230, align 4 %30 = load ptr, ptr %m, align 8, !nonnull !75, !noundef !75 %31 = load ptr, ptr %slots_.i.i.i.i, align 8 %32 = load i8, ptr %30, align 1 @@ -212581,17 +212586,17 @@ invoke.cont58: ; preds = %while.body.i.i, %fo br i1 %cmp.not, label %for.inc, label %if.then60 if.then60: ; preds = %invoke.cont58 - %cmp.not.i = icmp eq ptr %values2.sroa.7.0231, %values2.sroa.13.0230 + %cmp.not.i = icmp eq ptr %values2.sroa.7.0232, %values2.sroa.13.0231 br i1 %cmp.not.i, label %if.else.i, label %if.then.i if.then.i: ; preds = %if.then60 - store i32 %29, ptr %values2.sroa.7.0231, align 4 - %incdec.ptr.i = getelementptr inbounds i32, ptr %values2.sroa.7.0231, i64 1 + store i32 %29, ptr %values2.sroa.7.0232, align 4 + %incdec.ptr.i = getelementptr inbounds i32, ptr %values2.sroa.7.0232, i64 1 br label %for.inc if.else.i: ; preds = %if.then60 - %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.7.0231 to i64 - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.0.0232 to i64 + %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.7.0232 to i64 + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.0.0233 to i64 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %cmp.i.i.i53 = icmp eq i64 %sub.ptr.sub.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i53, label %if.then.i.i.i57, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i @@ -212620,7 +212625,7 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i: ; preds = %_ZNKSt6vect to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i._ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i_crit_edge unwind label %lpad55.loopexit _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i._ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i_crit_edge: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i - %.pre = load i32, ptr %__begin0.sroa.0.0229, align 4 + %.pre = load i32, ptr %__begin0.sroa.0.0230, align 4 br label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i._ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i_crit_edge, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i @@ -212628,23 +212633,24 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i59, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i._ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i_crit_edge ] %add.ptr.i.i55 = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store i32 %39, ptr %add.ptr.i.i55, align 4 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %values2.sroa.0.0232, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %values2.sroa.0.0233, i64 %sub.ptr.sub.i.i.i.i, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i55, i64 1 - %tobool.not.i.i.i56 = icmp eq ptr %values2.sroa.0.0232, null - br i1 %tobool.not.i.i.i56, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i21.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i, i64 1 + %tobool.not.i.i.i56 = icmp eq ptr %values2.sroa.0.0233, null + br i1 %tobool.not.i.i.i56, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i - call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0232) #36 +if.then.i20.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i + call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0233) #36 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc @@ -212659,16 +212665,16 @@ lpad55.loopexit: ; preds = %_ZNSt16allocator_tr br label %ehcleanup169 lpad55.loopexit.split-lp: ; preds = %if.then.i.i.i57, %while.end.i.i.i.i, %if.then.i.i, %if.end.i.i, %if.then.i.i.i.i.i121, %if.then.i.i.i.i.i.i.i.i.i.i.i.i - %values2.sroa.0.0225 = phi ptr [ %values2.sroa.0.0232, %if.then.i.i.i57 ], [ %values2.sroa.0.0.lcssa, %while.end.i.i.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i ], [ %values2.sroa.0.0.lcssa, %if.end.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i121 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i.i.i.i.i.i.i.i ] + %values2.sroa.0.0226 = phi ptr [ %values2.sroa.0.0233, %if.then.i.i.i57 ], [ %values2.sroa.0.0.lcssa, %while.end.i.i.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i ], [ %values2.sroa.0.0.lcssa, %if.end.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i121 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i.i.i.i.i.i.i.i ] %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %ehcleanup169 for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, %if.then.i, %invoke.cont58 - %values2.sroa.13.2 = phi ptr [ %values2.sroa.13.0230, %invoke.cont58 ], [ %add.ptr19.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %values2.sroa.13.0230, %if.then.i ] - %values2.sroa.7.2 = phi ptr [ %values2.sroa.7.0231, %invoke.cont58 ], [ %incdec.ptr.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %incdec.ptr.i, %if.then.i ] - %values2.sroa.0.2 = phi ptr [ %values2.sroa.0.0232, %invoke.cont58 ], [ %cond.i10.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %values2.sroa.0.0232, %if.then.i ] - %incdec.ptr.i60 = getelementptr inbounds i32, ptr %__begin0.sroa.0.0229, i64 1 + %values2.sroa.13.2 = phi ptr [ %values2.sroa.13.0231, %invoke.cont58 ], [ %add.ptr19.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %values2.sroa.13.0231, %if.then.i ] + %values2.sroa.7.2 = phi ptr [ %values2.sroa.7.0232, %invoke.cont58 ], [ %incdec.ptr.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %incdec.ptr.i, %if.then.i ] + %values2.sroa.0.2 = phi ptr [ %values2.sroa.0.0233, %invoke.cont58 ], [ %cond.i10.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %values2.sroa.0.0233, %if.then.i ] + %incdec.ptr.i60 = getelementptr inbounds i32, ptr %__begin0.sroa.0.0230, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i60, %28 br i1 %cmp.i.not, label %for.end, label %for.body @@ -212957,8 +212963,7 @@ _ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end127, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %values2.sroa.7.0.lcssa to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %values2.sroa.0.0.lcssa to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i119 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i119 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i119, label %if.then.i.i.i.i.i121, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i if.then.i.i.i.i.i121: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 @@ -212981,7 +212986,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont142: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp131.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i123, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i ] - %agg.tmp131.sroa.10.0 = getelementptr inbounds i32, ptr %agg.tmp131.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp131.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp131.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp130, align 8, !alias.scope !5591 %matchers_.i.i.i127 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp130, i64 0, i32 1 store ptr %agg.tmp131.sroa.2.0, ptr %matchers_.i.i.i127, align 8, !alias.scope !5591 @@ -213131,10 +213136,10 @@ if.end166: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i170, label %cleanup168, label %cleanup168.sink.split cleanup168.sink.split: ; preds = %if.end166, %_ZN7testing7MessageD2Ev.exit76 - %.sink240 = phi ptr [ %56, %_ZN7testing7MessageD2Ev.exit76 ], [ %92, %if.end166 ] + %.sink241 = phi ptr [ %56, %_ZN7testing7MessageD2Ev.exit76 ], [ %92, %if.end166 ] %message_.i70.sink.ph = phi ptr [ %message_.i70, %_ZN7testing7MessageD2Ev.exit76 ], [ %message_.i169, %if.end166 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink240) #32 - call void @_ZdlPv(ptr noundef nonnull %.sink240) #36 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink241) #32 + call void @_ZdlPv(ptr noundef nonnull %.sink241) #36 br label %cleanup168 cleanup168: ; preds = %cleanup168.sink.split, %if.end166, %_ZN7testing7MessageD2Ev.exit76 @@ -213159,20 +213164,20 @@ if.end.i.i.i: ; preds = %cleanup170 %95 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %95, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %94, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 + %add.ptr.i.i.i.i.i177 = getelementptr inbounds i8, ptr %94, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i177) #36 br label %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit _ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit: ; preds = %cleanup170, %if.end.i.i.i %96 = load ptr, ptr %values, align 8 - %tobool.not.i.i.i177 = icmp eq ptr %96, null - br i1 %tobool.not.i.i.i177, label %_ZNSt6vectorIiSaIiEED2Ev.exit179, label %if.then.i.i.i178 + %tobool.not.i.i.i178 = icmp eq ptr %96, null + br i1 %tobool.not.i.i.i178, label %_ZNSt6vectorIiSaIiEED2Ev.exit180, label %if.then.i.i.i179 -if.then.i.i.i178: ; preds = %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit +if.then.i.i.i179: ; preds = %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %96) #36 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit179 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit180 -_ZNSt6vectorIiSaIiEED2Ev.exit179: ; preds = %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit, %if.then.i.i.i178 +_ZNSt6vectorIiSaIiEED2Ev.exit180: ; preds = %_ZN4absl13flat_hash_setIiNS_18container_internal19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIiEEED2Ev.exit, %if.then.i.i.i179 ret void ehcleanup167: ; preds = %_ZN7testing7MessageD2Ev.exit168, %lpad155 @@ -213181,43 +213186,43 @@ ehcleanup167: ; preds = %_ZN7testing7Message br label %ehcleanup169 ehcleanup169: ; preds = %lpad55.loopexit, %lpad55.loopexit.split-lp, %if.then.i.i.i.i.i147, %ehcleanup149, %ehcleanup167, %ehcleanup128, %ehcleanup95 - %values2.sroa.0.0219 = phi ptr [ %values2.sroa.0.0.lcssa, %ehcleanup167 ], [ %values2.sroa.0.0.lcssa, %ehcleanup128 ], [ %values2.sroa.0.0.lcssa, %ehcleanup95 ], [ %values2.sroa.0.0.lcssa, %ehcleanup149 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i147 ], [ %values2.sroa.0.0232, %lpad55.loopexit ], [ %values2.sroa.0.0225, %lpad55.loopexit.split-lp ] + %values2.sroa.0.0220 = phi ptr [ %values2.sroa.0.0.lcssa, %ehcleanup167 ], [ %values2.sroa.0.0.lcssa, %ehcleanup128 ], [ %values2.sroa.0.0.lcssa, %ehcleanup95 ], [ %values2.sroa.0.0.lcssa, %ehcleanup149 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i147 ], [ %values2.sroa.0.0233, %lpad55.loopexit ], [ %values2.sroa.0.0226, %lpad55.loopexit.split-lp ] %.pn23 = phi { ptr, i32 } [ %.pn20.pn, %ehcleanup167 ], [ %.pn14.pn, %ehcleanup128 ], [ %.pn10.pn.pn, %ehcleanup95 ], [ %.pn17, %ehcleanup149 ], [ %.pn17, %if.then.i.i.i.i.i147 ], [ %lpad.loopexit, %lpad55.loopexit ], [ %lpad.loopexit.split-lp, %lpad55.loopexit.split-lp ] - %tobool.not.i.i.i180 = icmp eq ptr %values2.sroa.0.0219, null - br i1 %tobool.not.i.i.i180, label %ehcleanup171, label %if.then.i.i.i181 + %tobool.not.i.i.i181 = icmp eq ptr %values2.sroa.0.0220, null + br i1 %tobool.not.i.i.i181, label %ehcleanup171, label %if.then.i.i.i182 -if.then.i.i.i181: ; preds = %ehcleanup169 - call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0219) #36 +if.then.i.i.i182: ; preds = %ehcleanup169 + call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0220) #36 br label %ehcleanup171 -ehcleanup171: ; preds = %if.then.i.i.i181, %ehcleanup169, %if.then.i.i.i.i.i35, %ehcleanup, %ehcleanup47, %lpad24 - %.pn23.pn = phi { ptr, i32 } [ %.pn7.pn, %ehcleanup47 ], [ %12, %lpad24 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i35 ], [ %.pn23, %ehcleanup169 ], [ %.pn23, %if.then.i.i.i181 ] - %capacity_.i.i.i.i.i183 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %97 = load i64, ptr %capacity_.i.i.i.i.i183, align 8 - %cmp.i.i.i184 = icmp eq i64 %97, 0 - br i1 %cmp.i.i.i184, label %ehcleanup175, label %if.end.i.i.i185 +ehcleanup171: ; preds = %if.then.i.i.i182, %ehcleanup169, %if.then.i.i.i.i.i35, %ehcleanup, %ehcleanup47, %lpad24 + %.pn23.pn = phi { ptr, i32 } [ %.pn7.pn, %ehcleanup47 ], [ %12, %lpad24 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i35 ], [ %.pn23, %ehcleanup169 ], [ %.pn23, %if.then.i.i.i182 ] + %capacity_.i.i.i.i.i184 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %97 = load i64, ptr %capacity_.i.i.i.i.i184, align 8 + %cmp.i.i.i185 = icmp eq i64 %97, 0 + br i1 %cmp.i.i.i185, label %ehcleanup175, label %if.end.i.i.i186 -if.end.i.i.i185: ; preds = %ehcleanup171 +if.end.i.i.i186: ; preds = %ehcleanup171 %98 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i186 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %99 = load i64, ptr %size_.i.i.i.i.i.i186, align 8 - %and.i.i.i.i.i.i187 = and i64 %99, 1 - %add.i.neg.i.i.i.i.i188 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i187 - %add.ptr.i.i.i.i.i189 = getelementptr inbounds i8, ptr %98, i64 %add.i.neg.i.i.i.i.i188 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i189) #36 + %size_.i.i.i.i.i.i187 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %99 = load i64, ptr %size_.i.i.i.i.i.i187, align 8 + %and.i.i.i.i.i.i188 = and i64 %99, 1 + %add.i.neg.i.i.i.i.i189 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i188 + %add.ptr.i.i.i.i.i190 = getelementptr inbounds i8, ptr %98, i64 %add.i.neg.i.i.i.i.i189 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i190) #36 br label %ehcleanup175 -ehcleanup175: ; preds = %if.end.i.i.i185, %ehcleanup171, %lpad20, %lpad - %.pn23.pn.pn = phi { ptr, i32 } [ %11, %lpad20 ], [ %10, %lpad ], [ %.pn23.pn, %ehcleanup171 ], [ %.pn23.pn, %if.end.i.i.i185 ] +ehcleanup175: ; preds = %if.end.i.i.i186, %ehcleanup171, %lpad20, %lpad + %.pn23.pn.pn = phi { ptr, i32 } [ %11, %lpad20 ], [ %10, %lpad ], [ %.pn23.pn, %ehcleanup171 ], [ %.pn23.pn, %if.end.i.i.i186 ] %100 = load ptr, ptr %values, align 8 - %tobool.not.i.i.i191 = icmp eq ptr %100, null - br i1 %tobool.not.i.i.i191, label %_ZNSt6vectorIiSaIiEED2Ev.exit193, label %if.then.i.i.i192 + %tobool.not.i.i.i192 = icmp eq ptr %100, null + br i1 %tobool.not.i.i.i192, label %_ZNSt6vectorIiSaIiEED2Ev.exit194, label %if.then.i.i.i193 -if.then.i.i.i192: ; preds = %ehcleanup175 +if.then.i.i.i193: ; preds = %ehcleanup175 call void @_ZdlPv(ptr noundef nonnull %100) #36 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit193 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit194 -_ZNSt6vectorIiSaIiEED2Ev.exit193: ; preds = %ehcleanup175, %if.then.i.i.i192 +_ZNSt6vectorIiSaIiEED2Ev.exit194: ; preds = %ehcleanup175, %if.then.i.i.i193 resume { ptr, i32 } %.pn23.pn.pn } @@ -214742,8 +214747,7 @@ entry: %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %__last.coerce to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %__first.coerce to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 5 - %cmp.i = icmp ugt i64 %sub.ptr.div.i.i.i, 288230376151711743 + %cmp.i = icmp ugt i64 %sub.ptr.sub.i.i.i, 9223372036854775776 br i1 %cmp.i, label %if.then.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit if.then.i: ; preds = %entry @@ -214756,7 +214760,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_ch _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit @@ -214764,7 +214768,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #37 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -215254,8 +215258,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -215279,7 +215282,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i28, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5639 %matchers_.i.i.i29 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i29, align 8, !alias.scope !5639 @@ -215458,19 +215461,19 @@ cleanup.cont: ; preds = %_ZNKSt14default_del store ptr null, ptr %message_.i47, align 8 %27 = load ptr, ptr %values, align 8 %28 = load ptr, ptr %_M_finish.i, align 8 - %cmp.i.not228 = icmp eq ptr %27, %28 - br i1 %cmp.i.not228, label %for.end, label %for.body.lr.ph + %cmp.i.not229 = icmp eq ptr %27, %28 + br i1 %cmp.i.not229, label %for.end, label %for.body.lr.ph for.body.lr.ph: ; preds = %cleanup.cont %slots_.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 1 br label %for.body for.body: ; preds = %for.body.lr.ph, %for.inc - %values2.sroa.0.0232 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.0.2, %for.inc ] - %values2.sroa.7.0231 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.7.2, %for.inc ] - %values2.sroa.13.0230 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.13.2, %for.inc ] - %__begin0.sroa.0.0229 = phi ptr [ %27, %for.body.lr.ph ], [ %incdec.ptr.i60, %for.inc ] - %29 = load i32, ptr %__begin0.sroa.0.0229, align 4 + %values2.sroa.0.0233 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.0.2, %for.inc ] + %values2.sroa.7.0232 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.7.2, %for.inc ] + %values2.sroa.13.0231 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.13.2, %for.inc ] + %__begin0.sroa.0.0230 = phi ptr [ %27, %for.body.lr.ph ], [ %incdec.ptr.i60, %for.inc ] + %29 = load i32, ptr %__begin0.sroa.0.0230, align 4 %30 = load ptr, ptr %m, align 8, !nonnull !75, !noundef !75 %31 = load ptr, ptr %slots_.i.i.i.i, align 8 %32 = load i8, ptr %30, align 1 @@ -215500,17 +215503,17 @@ invoke.cont58: ; preds = %while.body.i.i, %fo br i1 %cmp.not, label %for.inc, label %if.then60 if.then60: ; preds = %invoke.cont58 - %cmp.not.i = icmp eq ptr %values2.sroa.7.0231, %values2.sroa.13.0230 + %cmp.not.i = icmp eq ptr %values2.sroa.7.0232, %values2.sroa.13.0231 br i1 %cmp.not.i, label %if.else.i, label %if.then.i if.then.i: ; preds = %if.then60 - store i32 %29, ptr %values2.sroa.7.0231, align 4 - %incdec.ptr.i = getelementptr inbounds i32, ptr %values2.sroa.7.0231, i64 1 + store i32 %29, ptr %values2.sroa.7.0232, align 4 + %incdec.ptr.i = getelementptr inbounds i32, ptr %values2.sroa.7.0232, i64 1 br label %for.inc if.else.i: ; preds = %if.then60 - %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.7.0231 to i64 - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.0.0232 to i64 + %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.7.0232 to i64 + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.0.0233 to i64 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %cmp.i.i.i53 = icmp eq i64 %sub.ptr.sub.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i53, label %if.then.i.i.i57, label %_ZNKSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE12_M_check_lenEmPKc.exit.i.i @@ -215539,7 +215542,7 @@ _ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8all to label %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i._ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i_crit_edge unwind label %lpad55.loopexit _ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i._ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i_crit_edge: ; preds = %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i - %.pre = load i32, ptr %__begin0.sroa.0.0229, align 4 + %.pre = load i32, ptr %__begin0.sroa.0.0230, align 4 br label %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i._ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i_crit_edge, %_ZNKSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE12_M_check_lenEmPKc.exit.i.i @@ -215547,23 +215550,24 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_ %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i59, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal4EnumEEE8allocateERS4_m.exit.i.i.i._ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i_crit_edge ] %add.ptr.i.i55 = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store i32 %39, ptr %add.ptr.i.i55, align 4 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %values2.sroa.0.0232, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %values2.sroa.0.0233, i64 %sub.ptr.sub.i.i.i.i, i1 false) + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i55, i64 1 - %tobool.not.i.i.i56 = icmp eq ptr %values2.sroa.0.0232, null - br i1 %tobool.not.i.i.i56, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i21.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i, i64 1 + %tobool.not.i.i.i56 = icmp eq ptr %values2.sroa.0.0233, null + br i1 %tobool.not.i.i.i56, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i - call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0232) #36 +if.then.i20.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i + call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0233) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc @@ -215578,16 +215582,16 @@ lpad55.loopexit: ; preds = %_ZNSt16allocator_tr br label %ehcleanup169 lpad55.loopexit.split-lp: ; preds = %if.then.i.i.i57, %while.end.i.i.i.i, %if.then.i.i, %if.end.i.i, %if.then.i.i.i.i.i121, %if.then.i.i.i.i.i.i.i.i.i.i.i.i - %values2.sroa.0.0225 = phi ptr [ %values2.sroa.0.0232, %if.then.i.i.i57 ], [ %values2.sroa.0.0.lcssa, %while.end.i.i.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i ], [ %values2.sroa.0.0.lcssa, %if.end.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i121 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i.i.i.i.i.i.i.i ] + %values2.sroa.0.0226 = phi ptr [ %values2.sroa.0.0233, %if.then.i.i.i57 ], [ %values2.sroa.0.0.lcssa, %while.end.i.i.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i ], [ %values2.sroa.0.0.lcssa, %if.end.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i121 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i.i.i.i.i.i.i.i ] %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %ehcleanup169 for.inc: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, %if.then.i, %invoke.cont58 - %values2.sroa.13.2 = phi ptr [ %values2.sroa.13.0230, %invoke.cont58 ], [ %add.ptr19.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %values2.sroa.13.0230, %if.then.i ] - %values2.sroa.7.2 = phi ptr [ %values2.sroa.7.0231, %invoke.cont58 ], [ %incdec.ptr.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %incdec.ptr.i, %if.then.i ] - %values2.sroa.0.2 = phi ptr [ %values2.sroa.0.0232, %invoke.cont58 ], [ %cond.i10.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %values2.sroa.0.0232, %if.then.i ] - %incdec.ptr.i60 = getelementptr inbounds i32, ptr %__begin0.sroa.0.0229, i64 1 + %values2.sroa.13.2 = phi ptr [ %values2.sroa.13.0231, %invoke.cont58 ], [ %add.ptr19.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %values2.sroa.13.0231, %if.then.i ] + %values2.sroa.7.2 = phi ptr [ %values2.sroa.7.0232, %invoke.cont58 ], [ %incdec.ptr.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %incdec.ptr.i, %if.then.i ] + %values2.sroa.0.2 = phi ptr [ %values2.sroa.0.0233, %invoke.cont58 ], [ %cond.i10.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %values2.sroa.0.0233, %if.then.i ] + %incdec.ptr.i60 = getelementptr inbounds i32, ptr %__begin0.sroa.0.0230, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i60, %28 br i1 %cmp.i.not, label %for.end, label %for.body @@ -215876,8 +215880,7 @@ _ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end127, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %values2.sroa.7.0.lcssa to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %values2.sroa.0.0.lcssa to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i119 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i119 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i119, label %if.then.i.i.i.i.i121, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i if.then.i.i.i.i.i121: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 @@ -215900,7 +215903,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont142: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp131.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i123, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i ] - %agg.tmp131.sroa.10.0 = getelementptr inbounds i32, ptr %agg.tmp131.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp131.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp131.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp130, align 8, !alias.scope !5646 %matchers_.i.i.i127 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp130, i64 0, i32 1 store ptr %agg.tmp131.sroa.2.0, ptr %matchers_.i.i.i127, align 8, !alias.scope !5646 @@ -216050,10 +216053,10 @@ if.end166: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i170, label %cleanup168, label %cleanup168.sink.split cleanup168.sink.split: ; preds = %if.end166, %_ZN7testing7MessageD2Ev.exit76 - %.sink240 = phi ptr [ %56, %_ZN7testing7MessageD2Ev.exit76 ], [ %92, %if.end166 ] + %.sink241 = phi ptr [ %56, %_ZN7testing7MessageD2Ev.exit76 ], [ %92, %if.end166 ] %message_.i70.sink.ph = phi ptr [ %message_.i70, %_ZN7testing7MessageD2Ev.exit76 ], [ %message_.i169, %if.end166 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink240) #32 - call void @_ZdlPv(ptr noundef nonnull %.sink240) #36 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink241) #32 + call void @_ZdlPv(ptr noundef nonnull %.sink241) #36 br label %cleanup168 cleanup168: ; preds = %cleanup168.sink.split, %if.end166, %_ZN7testing7MessageD2Ev.exit76 @@ -216078,20 +216081,20 @@ if.end.i.i.i: ; preds = %cleanup170 %95 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %95, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %94, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 + %add.ptr.i.i.i.i.i177 = getelementptr inbounds i8, ptr %94, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i177) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %cleanup170, %if.end.i.i.i %96 = load ptr, ptr %values, align 8 - %tobool.not.i.i.i177 = icmp eq ptr %96, null - br i1 %tobool.not.i.i.i177, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit179, label %if.then.i.i.i178 + %tobool.not.i.i.i178 = icmp eq ptr %96, null + br i1 %tobool.not.i.i.i178, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit180, label %if.then.i.i.i179 -if.then.i.i.i178: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit +if.then.i.i.i179: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %96) #36 - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit179 + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit180 -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit179: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit, %if.then.i.i.i178 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit180: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal4EnumENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit, %if.then.i.i.i179 ret void ehcleanup167: ; preds = %_ZN7testing7MessageD2Ev.exit168, %lpad155 @@ -216100,43 +216103,43 @@ ehcleanup167: ; preds = %_ZN7testing7Message br label %ehcleanup169 ehcleanup169: ; preds = %lpad55.loopexit, %lpad55.loopexit.split-lp, %if.then.i.i.i.i.i147, %ehcleanup149, %ehcleanup167, %ehcleanup128, %ehcleanup95 - %values2.sroa.0.0219 = phi ptr [ %values2.sroa.0.0.lcssa, %ehcleanup167 ], [ %values2.sroa.0.0.lcssa, %ehcleanup128 ], [ %values2.sroa.0.0.lcssa, %ehcleanup95 ], [ %values2.sroa.0.0.lcssa, %ehcleanup149 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i147 ], [ %values2.sroa.0.0232, %lpad55.loopexit ], [ %values2.sroa.0.0225, %lpad55.loopexit.split-lp ] + %values2.sroa.0.0220 = phi ptr [ %values2.sroa.0.0.lcssa, %ehcleanup167 ], [ %values2.sroa.0.0.lcssa, %ehcleanup128 ], [ %values2.sroa.0.0.lcssa, %ehcleanup95 ], [ %values2.sroa.0.0.lcssa, %ehcleanup149 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i147 ], [ %values2.sroa.0.0233, %lpad55.loopexit ], [ %values2.sroa.0.0226, %lpad55.loopexit.split-lp ] %.pn23 = phi { ptr, i32 } [ %.pn20.pn, %ehcleanup167 ], [ %.pn14.pn, %ehcleanup128 ], [ %.pn10.pn.pn, %ehcleanup95 ], [ %.pn17, %ehcleanup149 ], [ %.pn17, %if.then.i.i.i.i.i147 ], [ %lpad.loopexit, %lpad55.loopexit ], [ %lpad.loopexit.split-lp, %lpad55.loopexit.split-lp ] - %tobool.not.i.i.i180 = icmp eq ptr %values2.sroa.0.0219, null - br i1 %tobool.not.i.i.i180, label %ehcleanup171, label %if.then.i.i.i181 + %tobool.not.i.i.i181 = icmp eq ptr %values2.sroa.0.0220, null + br i1 %tobool.not.i.i.i181, label %ehcleanup171, label %if.then.i.i.i182 -if.then.i.i.i181: ; preds = %ehcleanup169 - call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0219) #36 +if.then.i.i.i182: ; preds = %ehcleanup169 + call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0220) #36 br label %ehcleanup171 -ehcleanup171: ; preds = %if.then.i.i.i181, %ehcleanup169, %if.then.i.i.i.i.i35, %ehcleanup, %ehcleanup47, %lpad24 - %.pn23.pn = phi { ptr, i32 } [ %.pn7.pn, %ehcleanup47 ], [ %12, %lpad24 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i35 ], [ %.pn23, %ehcleanup169 ], [ %.pn23, %if.then.i.i.i181 ] - %capacity_.i.i.i.i.i183 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %97 = load i64, ptr %capacity_.i.i.i.i.i183, align 8 - %cmp.i.i.i184 = icmp eq i64 %97, 0 - br i1 %cmp.i.i.i184, label %ehcleanup175, label %if.end.i.i.i185 +ehcleanup171: ; preds = %if.then.i.i.i182, %ehcleanup169, %if.then.i.i.i.i.i35, %ehcleanup, %ehcleanup47, %lpad24 + %.pn23.pn = phi { ptr, i32 } [ %.pn7.pn, %ehcleanup47 ], [ %12, %lpad24 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i35 ], [ %.pn23, %ehcleanup169 ], [ %.pn23, %if.then.i.i.i182 ] + %capacity_.i.i.i.i.i184 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %97 = load i64, ptr %capacity_.i.i.i.i.i184, align 8 + %cmp.i.i.i185 = icmp eq i64 %97, 0 + br i1 %cmp.i.i.i185, label %ehcleanup175, label %if.end.i.i.i186 -if.end.i.i.i185: ; preds = %ehcleanup171 +if.end.i.i.i186: ; preds = %ehcleanup171 %98 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i186 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %99 = load i64, ptr %size_.i.i.i.i.i.i186, align 8 - %and.i.i.i.i.i.i187 = and i64 %99, 1 - %add.i.neg.i.i.i.i.i188 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i187 - %add.ptr.i.i.i.i.i189 = getelementptr inbounds i8, ptr %98, i64 %add.i.neg.i.i.i.i.i188 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i189) #36 + %size_.i.i.i.i.i.i187 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %99 = load i64, ptr %size_.i.i.i.i.i.i187, align 8 + %and.i.i.i.i.i.i188 = and i64 %99, 1 + %add.i.neg.i.i.i.i.i189 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i188 + %add.ptr.i.i.i.i.i190 = getelementptr inbounds i8, ptr %98, i64 %add.i.neg.i.i.i.i.i189 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i190) #36 br label %ehcleanup175 -ehcleanup175: ; preds = %if.end.i.i.i185, %ehcleanup171, %lpad20, %lpad - %.pn23.pn.pn = phi { ptr, i32 } [ %11, %lpad20 ], [ %10, %lpad ], [ %.pn23.pn, %ehcleanup171 ], [ %.pn23.pn, %if.end.i.i.i185 ] +ehcleanup175: ; preds = %if.end.i.i.i186, %ehcleanup171, %lpad20, %lpad + %.pn23.pn.pn = phi { ptr, i32 } [ %11, %lpad20 ], [ %10, %lpad ], [ %.pn23.pn, %ehcleanup171 ], [ %.pn23.pn, %if.end.i.i.i186 ] %100 = load ptr, ptr %values, align 8 - %tobool.not.i.i.i191 = icmp eq ptr %100, null - br i1 %tobool.not.i.i.i191, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit193, label %if.then.i.i.i192 + %tobool.not.i.i.i192 = icmp eq ptr %100, null + br i1 %tobool.not.i.i.i192, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit194, label %if.then.i.i.i193 -if.then.i.i.i192: ; preds = %ehcleanup175 +if.then.i.i.i193: ; preds = %ehcleanup175 call void @_ZdlPv(ptr noundef nonnull %100) #36 - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit193 + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit194 -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit193: ; preds = %ehcleanup175, %if.then.i.i.i192 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EED2Ev.exit194: ; preds = %ehcleanup175, %if.then.i.i.i193 resume { ptr, i32 } %.pn23.pn.pn } @@ -216323,8 +216326,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -216348,7 +216350,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i28, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5655 %matchers_.i.i.i29 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i29, align 8, !alias.scope !5655 @@ -216527,19 +216529,19 @@ cleanup.cont: ; preds = %_ZNKSt14default_del store ptr null, ptr %message_.i47, align 8 %27 = load ptr, ptr %values, align 8 %28 = load ptr, ptr %_M_finish.i, align 8 - %cmp.i.not228 = icmp eq ptr %27, %28 - br i1 %cmp.i.not228, label %for.end, label %for.body.lr.ph + %cmp.i.not229 = icmp eq ptr %27, %28 + br i1 %cmp.i.not229, label %for.end, label %for.body.lr.ph for.body.lr.ph: ; preds = %cleanup.cont %slots_.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 1 br label %for.body for.body: ; preds = %for.body.lr.ph, %for.inc - %values2.sroa.0.0232 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.0.2, %for.inc ] - %values2.sroa.7.0231 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.7.2, %for.inc ] - %values2.sroa.13.0230 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.13.2, %for.inc ] - %__begin0.sroa.0.0229 = phi ptr [ %27, %for.body.lr.ph ], [ %incdec.ptr.i60, %for.inc ] - %29 = load i64, ptr %__begin0.sroa.0.0229, align 8 + %values2.sroa.0.0233 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.0.2, %for.inc ] + %values2.sroa.7.0232 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.7.2, %for.inc ] + %values2.sroa.13.0231 = phi ptr [ null, %for.body.lr.ph ], [ %values2.sroa.13.2, %for.inc ] + %__begin0.sroa.0.0230 = phi ptr [ %27, %for.body.lr.ph ], [ %incdec.ptr.i60, %for.inc ] + %29 = load i64, ptr %__begin0.sroa.0.0230, align 8 %30 = load ptr, ptr %m, align 8, !nonnull !75, !noundef !75 %31 = load ptr, ptr %slots_.i.i.i.i, align 8 %32 = load i8, ptr %30, align 1 @@ -216569,17 +216571,17 @@ invoke.cont58: ; preds = %while.body.i.i, %fo br i1 %cmp.not, label %for.inc, label %if.then60 if.then60: ; preds = %invoke.cont58 - %cmp.not.i = icmp eq ptr %values2.sroa.7.0231, %values2.sroa.13.0230 + %cmp.not.i = icmp eq ptr %values2.sroa.7.0232, %values2.sroa.13.0231 br i1 %cmp.not.i, label %if.else.i, label %if.then.i if.then.i: ; preds = %if.then60 - store i64 %29, ptr %values2.sroa.7.0231, align 8 - %incdec.ptr.i = getelementptr inbounds i64, ptr %values2.sroa.7.0231, i64 1 + store i64 %29, ptr %values2.sroa.7.0232, align 8 + %incdec.ptr.i = getelementptr inbounds i64, ptr %values2.sroa.7.0232, i64 1 br label %for.inc if.else.i: ; preds = %if.then60 - %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.7.0231 to i64 - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.0.0232 to i64 + %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.7.0232 to i64 + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %values2.sroa.0.0233 to i64 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %cmp.i.i.i53 = icmp eq i64 %sub.ptr.sub.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i53, label %if.then.i.i.i57, label %_ZNKSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE12_M_check_lenEmPKc.exit.i.i @@ -216608,7 +216610,7 @@ _ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEE to label %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i._ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i_crit_edge unwind label %lpad55.loopexit _ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i._ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i_crit_edge: ; preds = %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i - %.pre = load i64, ptr %__begin0.sroa.0.0229, align 8 + %.pre = load i64, ptr %__begin0.sroa.0.0230, align 8 br label %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i._ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i_crit_edge, %_ZNKSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE12_M_check_lenEmPKc.exit.i.i @@ -216616,23 +216618,24 @@ _ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i59, %_ZNSt16allocator_traitsISaIN4absl18container_internal13hash_internal9EnumClassEEE8allocateERS4_m.exit.i.i.i._ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i_crit_edge ] %add.ptr.i.i55 = getelementptr inbounds i64, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store i64 %39, ptr %add.ptr.i.i55, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %values2.sroa.0.0232, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %values2.sroa.0.0233, i64 %sub.ptr.sub.i.i.i.i, i1 false) + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i55, i64 1 - %tobool.not.i.i.i56 = icmp eq ptr %values2.sroa.0.0232, null - br i1 %tobool.not.i.i.i56, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i21.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i, i64 1 + %tobool.not.i.i.i56 = icmp eq ptr %values2.sroa.0.0233, null + br i1 %tobool.not.i.i.i56, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i - call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0232) #36 +if.then.i20.i.i: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i + call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0233) #36 br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i %add.ptr19.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i, i64 %cond.i.i.i br label %for.inc @@ -216647,16 +216650,16 @@ lpad55.loopexit: ; preds = %_ZNSt16allocator_tr br label %ehcleanup169 lpad55.loopexit.split-lp: ; preds = %if.then.i.i.i57, %while.end.i.i.i.i, %if.then.i.i, %if.end.i.i, %if.then.i.i.i.i.i121, %if.then.i.i.i.i.i.i.i.i.i.i.i.i - %values2.sroa.0.0225 = phi ptr [ %values2.sroa.0.0232, %if.then.i.i.i57 ], [ %values2.sroa.0.0.lcssa, %while.end.i.i.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i ], [ %values2.sroa.0.0.lcssa, %if.end.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i121 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i.i.i.i.i.i.i.i ] + %values2.sroa.0.0226 = phi ptr [ %values2.sroa.0.0233, %if.then.i.i.i57 ], [ %values2.sroa.0.0.lcssa, %while.end.i.i.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i ], [ %values2.sroa.0.0.lcssa, %if.end.i.i ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i121 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i.i.i.i.i.i.i.i ] %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %ehcleanup169 for.inc: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i, %if.then.i, %invoke.cont58 - %values2.sroa.13.2 = phi ptr [ %values2.sroa.13.0230, %invoke.cont58 ], [ %add.ptr19.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %values2.sroa.13.0230, %if.then.i ] - %values2.sroa.7.2 = phi ptr [ %values2.sroa.7.0231, %invoke.cont58 ], [ %incdec.ptr.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %incdec.ptr.i, %if.then.i ] - %values2.sroa.0.2 = phi ptr [ %values2.sroa.0.0232, %invoke.cont58 ], [ %cond.i10.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %values2.sroa.0.0232, %if.then.i ] - %incdec.ptr.i60 = getelementptr inbounds i64, ptr %__begin0.sroa.0.0229, i64 1 + %values2.sroa.13.2 = phi ptr [ %values2.sroa.13.0231, %invoke.cont58 ], [ %add.ptr19.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %values2.sroa.13.0231, %if.then.i ] + %values2.sroa.7.2 = phi ptr [ %values2.sroa.7.0232, %invoke.cont58 ], [ %incdec.ptr.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %incdec.ptr.i, %if.then.i ] + %values2.sroa.0.2 = phi ptr [ %values2.sroa.0.0233, %invoke.cont58 ], [ %cond.i10.i.i, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i ], [ %values2.sroa.0.0233, %if.then.i ] + %incdec.ptr.i60 = getelementptr inbounds i64, ptr %__begin0.sroa.0.0230, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i60, %28 br i1 %cmp.i.not, label %for.end, label %for.body @@ -216945,8 +216948,7 @@ _ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end127, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %values2.sroa.7.0.lcssa to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %values2.sroa.0.0.lcssa to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i119 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i119 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i119, label %if.then.i.i.i.i.i121, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i if.then.i.i.i.i.i121: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 @@ -216969,7 +216971,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont142: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp131.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i123, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i ] - %agg.tmp131.sroa.10.0 = getelementptr inbounds i64, ptr %agg.tmp131.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp131.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp131.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp130, align 8, !alias.scope !5662 %matchers_.i.i.i127 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp130, i64 0, i32 1 store ptr %agg.tmp131.sroa.2.0, ptr %matchers_.i.i.i127, align 8, !alias.scope !5662 @@ -217119,10 +217121,10 @@ if.end166: ; preds = %_ZN7testing8interna br i1 %cmp.not.i.i170, label %cleanup168, label %cleanup168.sink.split cleanup168.sink.split: ; preds = %if.end166, %_ZN7testing7MessageD2Ev.exit76 - %.sink240 = phi ptr [ %56, %_ZN7testing7MessageD2Ev.exit76 ], [ %92, %if.end166 ] + %.sink241 = phi ptr [ %56, %_ZN7testing7MessageD2Ev.exit76 ], [ %92, %if.end166 ] %message_.i70.sink.ph = phi ptr [ %message_.i70, %_ZN7testing7MessageD2Ev.exit76 ], [ %message_.i169, %if.end166 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink240) #32 - call void @_ZdlPv(ptr noundef nonnull %.sink240) #36 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink241) #32 + call void @_ZdlPv(ptr noundef nonnull %.sink241) #36 br label %cleanup168 cleanup168: ; preds = %cleanup168.sink.split, %if.end166, %_ZN7testing7MessageD2Ev.exit76 @@ -217147,20 +217149,20 @@ if.end.i.i.i: ; preds = %cleanup170 %95 = load i64, ptr %size_.i.i.i.i.i.i, align 8 %and.i.i.i.i.i.i = and i64 %95, 1 %add.i.neg.i.i.i.i.i = sub nuw nsw i64 -8, %and.i.i.i.i.i.i - %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %94, i64 %add.i.neg.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i) #36 + %add.ptr.i.i.i.i.i177 = getelementptr inbounds i8, ptr %94, i64 %add.i.neg.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i177) #36 br label %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit _ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit: ; preds = %cleanup170, %if.end.i.i.i %96 = load ptr, ptr %values, align 8 - %tobool.not.i.i.i177 = icmp eq ptr %96, null - br i1 %tobool.not.i.i.i177, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit179, label %if.then.i.i.i178 + %tobool.not.i.i.i178 = icmp eq ptr %96, null + br i1 %tobool.not.i.i.i178, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit180, label %if.then.i.i.i179 -if.then.i.i.i178: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit +if.then.i.i.i179: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %96) #36 - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit179 + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit180 -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit179: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit, %if.then.i.i.i178 +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit180: ; preds = %_ZN4absl13flat_hash_setINS_18container_internal13hash_internal9EnumClassENS1_19StatefulTestingHashENS1_20StatefulTestingEqualENS1_5AllocIS3_EEED2Ev.exit, %if.then.i.i.i179 ret void ehcleanup167: ; preds = %_ZN7testing7MessageD2Ev.exit168, %lpad155 @@ -217169,43 +217171,43 @@ ehcleanup167: ; preds = %_ZN7testing7Message br label %ehcleanup169 ehcleanup169: ; preds = %lpad55.loopexit, %lpad55.loopexit.split-lp, %if.then.i.i.i.i.i147, %ehcleanup149, %ehcleanup167, %ehcleanup128, %ehcleanup95 - %values2.sroa.0.0219 = phi ptr [ %values2.sroa.0.0.lcssa, %ehcleanup167 ], [ %values2.sroa.0.0.lcssa, %ehcleanup128 ], [ %values2.sroa.0.0.lcssa, %ehcleanup95 ], [ %values2.sroa.0.0.lcssa, %ehcleanup149 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i147 ], [ %values2.sroa.0.0232, %lpad55.loopexit ], [ %values2.sroa.0.0225, %lpad55.loopexit.split-lp ] + %values2.sroa.0.0220 = phi ptr [ %values2.sroa.0.0.lcssa, %ehcleanup167 ], [ %values2.sroa.0.0.lcssa, %ehcleanup128 ], [ %values2.sroa.0.0.lcssa, %ehcleanup95 ], [ %values2.sroa.0.0.lcssa, %ehcleanup149 ], [ %values2.sroa.0.0.lcssa, %if.then.i.i.i.i.i147 ], [ %values2.sroa.0.0233, %lpad55.loopexit ], [ %values2.sroa.0.0226, %lpad55.loopexit.split-lp ] %.pn23 = phi { ptr, i32 } [ %.pn20.pn, %ehcleanup167 ], [ %.pn14.pn, %ehcleanup128 ], [ %.pn10.pn.pn, %ehcleanup95 ], [ %.pn17, %ehcleanup149 ], [ %.pn17, %if.then.i.i.i.i.i147 ], [ %lpad.loopexit, %lpad55.loopexit ], [ %lpad.loopexit.split-lp, %lpad55.loopexit.split-lp ] - %tobool.not.i.i.i180 = icmp eq ptr %values2.sroa.0.0219, null - br i1 %tobool.not.i.i.i180, label %ehcleanup171, label %if.then.i.i.i181 + %tobool.not.i.i.i181 = icmp eq ptr %values2.sroa.0.0220, null + br i1 %tobool.not.i.i.i181, label %ehcleanup171, label %if.then.i.i.i182 -if.then.i.i.i181: ; preds = %ehcleanup169 - call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0219) #36 +if.then.i.i.i182: ; preds = %ehcleanup169 + call void @_ZdlPv(ptr noundef nonnull %values2.sroa.0.0220) #36 br label %ehcleanup171 -ehcleanup171: ; preds = %if.then.i.i.i181, %ehcleanup169, %if.then.i.i.i.i.i35, %ehcleanup, %ehcleanup47, %lpad24 - %.pn23.pn = phi { ptr, i32 } [ %.pn7.pn, %ehcleanup47 ], [ %12, %lpad24 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i35 ], [ %.pn23, %ehcleanup169 ], [ %.pn23, %if.then.i.i.i181 ] - %capacity_.i.i.i.i.i183 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 - %97 = load i64, ptr %capacity_.i.i.i.i.i183, align 8 - %cmp.i.i.i184 = icmp eq i64 %97, 0 - br i1 %cmp.i.i.i184, label %ehcleanup175, label %if.end.i.i.i185 +ehcleanup171: ; preds = %if.then.i.i.i182, %ehcleanup169, %if.then.i.i.i.i.i35, %ehcleanup, %ehcleanup47, %lpad24 + %.pn23.pn = phi { ptr, i32 } [ %.pn7.pn, %ehcleanup47 ], [ %12, %lpad24 ], [ %.pn, %ehcleanup ], [ %.pn, %if.then.i.i.i.i.i35 ], [ %.pn23, %ehcleanup169 ], [ %.pn23, %if.then.i.i.i182 ] + %capacity_.i.i.i.i.i184 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 2 + %97 = load i64, ptr %capacity_.i.i.i.i.i184, align 8 + %cmp.i.i.i185 = icmp eq i64 %97, 0 + br i1 %cmp.i.i.i185, label %ehcleanup175, label %if.end.i.i.i186 -if.end.i.i.i185: ; preds = %ehcleanup171 +if.end.i.i.i186: ; preds = %ehcleanup171 %98 = load ptr, ptr %m, align 8 - %size_.i.i.i.i.i.i186 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 - %99 = load i64, ptr %size_.i.i.i.i.i.i186, align 8 - %and.i.i.i.i.i.i187 = and i64 %99, 1 - %add.i.neg.i.i.i.i.i188 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i187 - %add.ptr.i.i.i.i.i189 = getelementptr inbounds i8, ptr %98, i64 %add.i.neg.i.i.i.i.i188 - call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i189) #36 + %size_.i.i.i.i.i.i187 = getelementptr inbounds %"class.absl::container_internal::CommonFields", ptr %m, i64 0, i32 3 + %99 = load i64, ptr %size_.i.i.i.i.i.i187, align 8 + %and.i.i.i.i.i.i188 = and i64 %99, 1 + %add.i.neg.i.i.i.i.i189 = sub nuw nsw i64 -8, %and.i.i.i.i.i.i188 + %add.ptr.i.i.i.i.i190 = getelementptr inbounds i8, ptr %98, i64 %add.i.neg.i.i.i.i.i189 + call void @_ZdlPv(ptr noundef nonnull %add.ptr.i.i.i.i.i190) #36 br label %ehcleanup175 -ehcleanup175: ; preds = %if.end.i.i.i185, %ehcleanup171, %lpad20, %lpad - %.pn23.pn.pn = phi { ptr, i32 } [ %11, %lpad20 ], [ %10, %lpad ], [ %.pn23.pn, %ehcleanup171 ], [ %.pn23.pn, %if.end.i.i.i185 ] +ehcleanup175: ; preds = %if.end.i.i.i186, %ehcleanup171, %lpad20, %lpad + %.pn23.pn.pn = phi { ptr, i32 } [ %11, %lpad20 ], [ %10, %lpad ], [ %.pn23.pn, %ehcleanup171 ], [ %.pn23.pn, %if.end.i.i.i186 ] %100 = load ptr, ptr %values, align 8 - %tobool.not.i.i.i191 = icmp eq ptr %100, null - br i1 %tobool.not.i.i.i191, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit193, label %if.then.i.i.i192 + %tobool.not.i.i.i192 = icmp eq ptr %100, null + br i1 %tobool.not.i.i.i192, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit194, label %if.then.i.i.i193 -if.then.i.i.i192: ; preds = %ehcleanup175 +if.then.i.i.i193: ; preds = %ehcleanup175 call void @_ZdlPv(ptr noundef nonnull %100) #36 - br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit193 + br label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit194 -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit193: ; preds = %ehcleanup175, %if.then.i.i.i192 +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EED2Ev.exit194: ; preds = %ehcleanup175, %if.then.i.i.i193 resume { ptr, i32 } %.pn23.pn.pn } @@ -218047,8 +218049,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -218072,7 +218073,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5680 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !5680 @@ -220280,8 +220281,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -220305,7 +220305,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5717 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !5717 @@ -221044,8 +221044,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %invoke.cont21 @@ -221069,7 +221068,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i16, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5727 %matchers_.i.i.i17 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i17, align 8, !alias.scope !5727 @@ -222439,8 +222438,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i: ; preds = %invoke.cont21 @@ -222457,7 +222455,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i21, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5746 %matchers_.i.i.i22 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i22, align 8, !alias.scope !5746 @@ -223008,8 +223006,7 @@ _ZN7testing15AssertionResultD2Ev.exit100: ; preds = %if.end100, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %82 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i103 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i103 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i103, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i if.then.i.i.i.i.i105.invoke: ; preds = %invoke.cont21, %_ZN7testing15AssertionResultD2Ev.exit100 @@ -223033,7 +223030,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont118: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp104.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i107, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i ] - %agg.tmp104.sroa.10.0 = getelementptr inbounds i32, ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp104.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp103, align 8, !alias.scope !5761 %matchers_.i.i.i111 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp103, i64 0, i32 1 store ptr %agg.tmp104.sroa.2.0, ptr %matchers_.i.i.i111, align 8, !alias.scope !5761 @@ -225127,8 +225124,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i _ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %invoke.cont21 @@ -225145,7 +225141,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i21, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5813 %matchers_.i.i.i22 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i22, align 8, !alias.scope !5813 @@ -225696,8 +225692,7 @@ _ZN7testing15AssertionResultD2Ev.exit100: ; preds = %if.end100, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %82 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i103 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i103 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i103, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i if.then.i.i.i.i.i105.invoke: ; preds = %invoke.cont21, %_ZN7testing15AssertionResultD2Ev.exit100 @@ -225721,7 +225716,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont118: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp104.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i107, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i ] - %agg.tmp104.sroa.10.0 = getelementptr inbounds i32, ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp104.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp103, align 8, !alias.scope !5828 %matchers_.i.i.i111 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp103, i64 0, i32 1 store ptr %agg.tmp104.sroa.2.0, ptr %matchers_.i.i.i111, align 8, !alias.scope !5828 @@ -226127,8 +226122,7 @@ invoke.cont21: ; preds = %invoke.cont15 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %4 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i _ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %invoke.cont21 @@ -226145,7 +226139,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont27: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp23.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i21, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp23.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp22, align 8, !alias.scope !5837 %matchers_.i.i.i22 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp22, i64 0, i32 1 store ptr %agg.tmp23.sroa.2.0, ptr %matchers_.i.i.i22, align 8, !alias.scope !5837 @@ -226695,8 +226689,7 @@ _ZN7testing15AssertionResultD2Ev.exit100: ; preds = %if.end100, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %82 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i103 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i103 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i103, label %if.then.i.i.i.i.i105.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i if.then.i.i.i.i.i105.invoke: ; preds = %invoke.cont21, %_ZN7testing15AssertionResultD2Ev.exit100 @@ -226720,7 +226713,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont118: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i, %call5.i.i.i.i1.i.i.i.noexc %agg.tmp104.sroa.2.0 = phi ptr [ %call5.i.i.i.i1.i.i.i107, %call5.i.i.i.i1.i.i.i.noexc ], [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i ] - %agg.tmp104.sroa.10.0 = getelementptr inbounds i64, ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i + %agg.tmp104.sroa.10.0 = getelementptr inbounds i8, ptr %agg.tmp104.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp103, align 8, !alias.scope !5852 %matchers_.i.i.i111 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp103, i64 0, i32 1 store ptr %agg.tmp104.sroa.2.0, ptr %matchers_.i.i.i111, align 8, !alias.scope !5852 @@ -227647,8 +227640,7 @@ invoke.cont48: ; preds = %invoke.cont42 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %9 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %8 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i: ; preds = %invoke.cont48 @@ -227665,7 +227657,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont54: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp50.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i32, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp49, align 8, !alias.scope !5867 %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp49, i64 0, i32 1 store ptr %agg.tmp50.sroa.2.0, ptr %matchers_.i.i.i33, align 8, !alias.scope !5867 @@ -227719,7 +227711,7 @@ lpad47: ; preds = %invoke.cont42 cleanup br label %ehcleanup170 -lpad51: ; preds = %if.then.i.i.i.i.i.i198.invoke, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i +lpad51: ; preds = %if.then.i.i.i.i.i.i198.invoke, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i %17 = landingpad { ptr, i32 } cleanup br label %ehcleanup169 @@ -227841,32 +227833,31 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i53 = ptrtoint ptr %32 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i54 = ptrtoint ptr %31 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i53, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i54 - %sub.ptr.div.i.i.i.i.i.i.i.i56 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 2 - %cmp.i.i.i.i.i.i57 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i56, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i57, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i58 + %cmp.i.i.i.i.i.i56 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i56, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i57 -_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %cmp.not.i.i.i.i.i.i59 = icmp eq ptr %32, %31 - br i1 %cmp.not.i.i.i.i.i.i59, label %invoke.cont80, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60 +_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i57: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + %cmp.not.i.i.i.i.i.i58 = icmp eq ptr %32, %31 + br i1 %cmp.not.i.i.i.i.i.i58, label %invoke.cont80, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i58 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i57 %call5.i.i.i.i1.i.i.i.i67 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i55) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc66 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc66: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60 +call5.i.i.i.i1.i.i.i.i.noexc66: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i67, ptr align 4 %31, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, i1 false), !noalias !5873 br label %invoke.cont80 -invoke.cont80: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i58, %call5.i.i.i.i1.i.i.i.i.noexc66 - %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i58 ], [ %call5.i.i.i.i1.i.i.i.i67, %call5.i.i.i.i1.i.i.i.i.noexc66 ] - %add.ptr.i.i.i.i.sink.i62 = getelementptr inbounds i32, ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i56 +invoke.cont80: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i57, %call5.i.i.i.i1.i.i.i.i.noexc66 + %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i57 ], [ %call5.i.i.i.i1.i.i.i.i67, %call5.i.i.i.i1.i.i.i.i.noexc66 ] + %add.ptr.i.i.i.i.sink.i61 = getelementptr inbounds i8, ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 store i32 3, ptr %ref.tmp76, align 8, !alias.scope !5876 %matchers_.i.i.i72 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp76, i64 0, i32 1 store ptr %agg.tmp77.sroa.2.0, ptr %matchers_.i.i.i72, align 8, !alias.scope !5876 %_M_finish.i.i.i.i.i.i.i73 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i62, ptr %_M_finish.i.i.i.i.i.i.i73, align 8, !alias.scope !5876 + store ptr %add.ptr.i.i.i.i.sink.i61, ptr %_M_finish.i.i.i.i.i.i.i73, align 8, !alias.scope !5876 %_M_end_of_storage.i.i.i.i.i.i.i74 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i62, ptr %_M_end_of_storage.i.i.i.i.i.i.i74, align 8, !alias.scope !5876 + store ptr %add.ptr.i.i.i.i.sink.i61, ptr %_M_end_of_storage.i.i.i.i.i.i.i74, align 8, !alias.scope !5876 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp81, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont83 unwind label %lpad82 @@ -228037,32 +228028,31 @@ invoke.cont106: ; preds = %_ZNKSt14default_del %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i120 = ptrtoint ptr %55 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i121 = ptrtoint ptr %54 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i120, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i121 - %sub.ptr.div.i.i.i.i.i.i.i.i123 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, 2 - %cmp.i.i.i.i.i.i124 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i123, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i124, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i125 + %cmp.i.i.i.i.i.i123 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i123, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i124 -_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i125: ; preds = %invoke.cont106 - %cmp.not.i.i.i.i.i.i126 = icmp eq ptr %55, %54 - br i1 %cmp.not.i.i.i.i.i.i126, label %invoke.cont112, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127 +_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i124: ; preds = %invoke.cont106 + %cmp.not.i.i.i.i.i.i125 = icmp eq ptr %55, %54 + br i1 %cmp.not.i.i.i.i.i.i125, label %invoke.cont112, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i125 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i124 %call5.i.i.i.i1.i.i.i.i134 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i122) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc133 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc133: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127 +call5.i.i.i.i1.i.i.i.i.noexc133: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i134, ptr align 4 %54, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, i1 false), !noalias !5882 br label %invoke.cont112 -invoke.cont112: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i125, %call5.i.i.i.i1.i.i.i.i.noexc133 - %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i125 ], [ %call5.i.i.i.i1.i.i.i.i134, %call5.i.i.i.i1.i.i.i.i.noexc133 ] - %add.ptr.i.i.i.i.sink.i129 = getelementptr inbounds i32, ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i123 +invoke.cont112: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i124, %call5.i.i.i.i1.i.i.i.i.noexc133 + %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i124 ], [ %call5.i.i.i.i1.i.i.i.i134, %call5.i.i.i.i1.i.i.i.i.noexc133 ] + %add.ptr.i.i.i.i.sink.i128 = getelementptr inbounds i8, ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122 store i32 3, ptr %ref.tmp108, align 8, !alias.scope !5885 %matchers_.i.i.i139 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp108, i64 0, i32 1 store ptr %agg.tmp109.sroa.2.0, ptr %matchers_.i.i.i139, align 8, !alias.scope !5885 %_M_finish.i.i.i.i.i.i.i140 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i129, ptr %_M_finish.i.i.i.i.i.i.i140, align 8, !alias.scope !5885 + store ptr %add.ptr.i.i.i.i.sink.i128, ptr %_M_finish.i.i.i.i.i.i.i140, align 8, !alias.scope !5885 %_M_end_of_storage.i.i.i.i.i.i.i141 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i129, ptr %_M_end_of_storage.i.i.i.i.i.i.i141, align 8, !alias.scope !5885 + store ptr %add.ptr.i.i.i.i.sink.i128, ptr %_M_end_of_storage.i.i.i.i.i.i.i141, align 8, !alias.scope !5885 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp113, ptr noundef nonnull align 8 dereferenceable(56) %m1) to label %invoke.cont115 unwind label %lpad114 @@ -228216,9 +228206,8 @@ _ZN7testing15AssertionResultD2Ev.exit184: ; preds = %if.end136, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i187 = ptrtoint ptr %74 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i188 = ptrtoint ptr %73 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i187, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i188 - %sub.ptr.div.i.i.i.i.i.i.i.i190 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, 2 - %cmp.i.i.i.i.i.i191 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i190, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i191, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i192 + %cmp.i.i.i.i.i.i190 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i190, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i191 if.then.i.i.i.i.i.i198.invoke: ; preds = %invoke.cont48, %_ZN7testing15AssertionResultD2Ev.exit184, %invoke.cont106, %_ZN7testing15AssertionResultD2Ev.exit invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.131) #34 @@ -228227,28 +228216,28 @@ if.then.i.i.i.i.i.i198.invoke: ; preds = %invoke.cont48, %_ZN if.then.i.i.i.i.i.i198.cont: ; preds = %if.then.i.i.i.i.i.i198.invoke unreachable -_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i192: ; preds = %_ZN7testing15AssertionResultD2Ev.exit184 - %cmp.not.i.i.i.i.i.i193 = icmp eq ptr %74, %73 - br i1 %cmp.not.i.i.i.i.i.i193, label %invoke.cont143, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194 +_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i191: ; preds = %_ZN7testing15AssertionResultD2Ev.exit184 + %cmp.not.i.i.i.i.i.i192 = icmp eq ptr %74, %73 + br i1 %cmp.not.i.i.i.i.i.i192, label %invoke.cont143, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i192 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i191 %call5.i.i.i.i1.i.i.i.i201 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i189) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc200 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc200: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194 +call5.i.i.i.i1.i.i.i.i.noexc200: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i201, ptr align 4 %73, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, i1 false), !noalias !5891 br label %invoke.cont143 -invoke.cont143: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i192, %call5.i.i.i.i1.i.i.i.i.noexc200 - %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i192 ], [ %call5.i.i.i.i1.i.i.i.i201, %call5.i.i.i.i1.i.i.i.i.noexc200 ] - %add.ptr.i.i.i.i.sink.i196 = getelementptr inbounds i32, ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i190 +invoke.cont143: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i191, %call5.i.i.i.i1.i.i.i.i.noexc200 + %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i191 ], [ %call5.i.i.i.i1.i.i.i.i201, %call5.i.i.i.i1.i.i.i.i.noexc200 ] + %add.ptr.i.i.i.i.sink.i195 = getelementptr inbounds i8, ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189 store i32 3, ptr %ref.tmp139, align 8, !alias.scope !5894 %matchers_.i.i.i206 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp139, i64 0, i32 1 store ptr %agg.tmp140.sroa.2.0, ptr %matchers_.i.i.i206, align 8, !alias.scope !5894 %_M_finish.i.i.i.i.i.i.i207 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i196, ptr %_M_finish.i.i.i.i.i.i.i207, align 8, !alias.scope !5894 + store ptr %add.ptr.i.i.i.i.sink.i195, ptr %_M_finish.i.i.i.i.i.i.i207, align 8, !alias.scope !5894 %_M_end_of_storage.i.i.i.i.i.i.i208 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.634", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i196, ptr %_M_end_of_storage.i.i.i.i.i.i.i208, align 8, !alias.scope !5894 + store ptr %add.ptr.i.i.i.i.sink.i195, ptr %_M_end_of_storage.i.i.i.i.i.i.i208, align 8, !alias.scope !5894 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setIiNS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIiEEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISD_EERKSA_(ptr nonnull sret(%"class.std::vector.398") align 8 %ref.tmp144, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont146 unwind label %lpad145 @@ -230718,8 +230707,7 @@ invoke.cont48: ; preds = %invoke.cont42 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %9 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %8 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i _ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %invoke.cont48 @@ -230736,7 +230724,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont54: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp50.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i32, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i32, ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp49, align 8, !alias.scope !5967 %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp49, i64 0, i32 1 store ptr %agg.tmp50.sroa.2.0, ptr %matchers_.i.i.i33, align 8, !alias.scope !5967 @@ -230790,7 +230778,7 @@ lpad47: ; preds = %invoke.cont42 cleanup br label %ehcleanup170 -lpad51: ; preds = %if.then.i.i.i.i.i.i198.invoke, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i +lpad51: ; preds = %if.then.i.i.i.i.i.i198.invoke, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i %17 = landingpad { ptr, i32 } cleanup br label %ehcleanup169 @@ -230912,32 +230900,31 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i53 = ptrtoint ptr %32 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i54 = ptrtoint ptr %31 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i53, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i54 - %sub.ptr.div.i.i.i.i.i.i.i.i56 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 2 - %cmp.i.i.i.i.i.i57 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i56, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i57, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58 + %cmp.i.i.i.i.i.i56 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i56, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57 -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %cmp.not.i.i.i.i.i.i59 = icmp eq ptr %32, %31 - br i1 %cmp.not.i.i.i.i.i.i59, label %invoke.cont80, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + %cmp.not.i.i.i.i.i.i58 = icmp eq ptr %32, %31 + br i1 %cmp.not.i.i.i.i.i.i58, label %invoke.cont80, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57 %call5.i.i.i.i1.i.i.i.i67 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i55) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc66 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc66: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60 +call5.i.i.i.i1.i.i.i.i.noexc66: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i67, ptr align 4 %31, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, i1 false), !noalias !5973 br label %invoke.cont80 -invoke.cont80: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58, %call5.i.i.i.i1.i.i.i.i.noexc66 - %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58 ], [ %call5.i.i.i.i1.i.i.i.i67, %call5.i.i.i.i1.i.i.i.i.noexc66 ] - %add.ptr.i.i.i.i.sink.i62 = getelementptr inbounds i32, ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i56 +invoke.cont80: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57, %call5.i.i.i.i1.i.i.i.i.noexc66 + %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57 ], [ %call5.i.i.i.i1.i.i.i.i67, %call5.i.i.i.i1.i.i.i.i.noexc66 ] + %add.ptr.i.i.i.i.sink.i61 = getelementptr inbounds i8, ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 store i32 3, ptr %ref.tmp76, align 8, !alias.scope !5976 %matchers_.i.i.i72 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp76, i64 0, i32 1 store ptr %agg.tmp77.sroa.2.0, ptr %matchers_.i.i.i72, align 8, !alias.scope !5976 %_M_finish.i.i.i.i.i.i.i73 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i62, ptr %_M_finish.i.i.i.i.i.i.i73, align 8, !alias.scope !5976 + store ptr %add.ptr.i.i.i.i.sink.i61, ptr %_M_finish.i.i.i.i.i.i.i73, align 8, !alias.scope !5976 %_M_end_of_storage.i.i.i.i.i.i.i74 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i62, ptr %_M_end_of_storage.i.i.i.i.i.i.i74, align 8, !alias.scope !5976 + store ptr %add.ptr.i.i.i.i.sink.i61, ptr %_M_end_of_storage.i.i.i.i.i.i.i74, align 8, !alias.scope !5976 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp81, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont83 unwind label %lpad82 @@ -231108,32 +231095,31 @@ invoke.cont106: ; preds = %_ZNKSt14default_del %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i120 = ptrtoint ptr %55 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i121 = ptrtoint ptr %54 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i120, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i121 - %sub.ptr.div.i.i.i.i.i.i.i.i123 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, 2 - %cmp.i.i.i.i.i.i124 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i123, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i124, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125 + %cmp.i.i.i.i.i.i123 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i123, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124 -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125: ; preds = %invoke.cont106 - %cmp.not.i.i.i.i.i.i126 = icmp eq ptr %55, %54 - br i1 %cmp.not.i.i.i.i.i.i126, label %invoke.cont112, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124: ; preds = %invoke.cont106 + %cmp.not.i.i.i.i.i.i125 = icmp eq ptr %55, %54 + br i1 %cmp.not.i.i.i.i.i.i125, label %invoke.cont112, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124 %call5.i.i.i.i1.i.i.i.i134 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i122) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc133 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc133: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127 +call5.i.i.i.i1.i.i.i.i.noexc133: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i134, ptr align 4 %54, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, i1 false), !noalias !5982 br label %invoke.cont112 -invoke.cont112: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125, %call5.i.i.i.i1.i.i.i.i.noexc133 - %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125 ], [ %call5.i.i.i.i1.i.i.i.i134, %call5.i.i.i.i1.i.i.i.i.noexc133 ] - %add.ptr.i.i.i.i.sink.i129 = getelementptr inbounds i32, ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i123 +invoke.cont112: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124, %call5.i.i.i.i1.i.i.i.i.noexc133 + %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124 ], [ %call5.i.i.i.i1.i.i.i.i134, %call5.i.i.i.i1.i.i.i.i.noexc133 ] + %add.ptr.i.i.i.i.sink.i128 = getelementptr inbounds i8, ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122 store i32 3, ptr %ref.tmp108, align 8, !alias.scope !5985 %matchers_.i.i.i139 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp108, i64 0, i32 1 store ptr %agg.tmp109.sroa.2.0, ptr %matchers_.i.i.i139, align 8, !alias.scope !5985 %_M_finish.i.i.i.i.i.i.i140 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i129, ptr %_M_finish.i.i.i.i.i.i.i140, align 8, !alias.scope !5985 + store ptr %add.ptr.i.i.i.i.sink.i128, ptr %_M_finish.i.i.i.i.i.i.i140, align 8, !alias.scope !5985 %_M_end_of_storage.i.i.i.i.i.i.i141 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i129, ptr %_M_end_of_storage.i.i.i.i.i.i.i141, align 8, !alias.scope !5985 + store ptr %add.ptr.i.i.i.i.sink.i128, ptr %_M_end_of_storage.i.i.i.i.i.i.i141, align 8, !alias.scope !5985 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp113, ptr noundef nonnull align 8 dereferenceable(56) %m1) to label %invoke.cont115 unwind label %lpad114 @@ -231287,9 +231273,8 @@ _ZN7testing15AssertionResultD2Ev.exit184: ; preds = %if.end136, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i187 = ptrtoint ptr %74 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i188 = ptrtoint ptr %73 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i187, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i188 - %sub.ptr.div.i.i.i.i.i.i.i.i190 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, 2 - %cmp.i.i.i.i.i.i191 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i190, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i191, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192 + %cmp.i.i.i.i.i.i190 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i190, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191 if.then.i.i.i.i.i.i198.invoke: ; preds = %invoke.cont48, %_ZN7testing15AssertionResultD2Ev.exit184, %invoke.cont106, %_ZN7testing15AssertionResultD2Ev.exit invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.131) #34 @@ -231298,28 +231283,28 @@ if.then.i.i.i.i.i.i198.invoke: ; preds = %invoke.cont48, %_ZN if.then.i.i.i.i.i.i198.cont: ; preds = %if.then.i.i.i.i.i.i198.invoke unreachable -_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192: ; preds = %_ZN7testing15AssertionResultD2Ev.exit184 - %cmp.not.i.i.i.i.i.i193 = icmp eq ptr %74, %73 - br i1 %cmp.not.i.i.i.i.i.i193, label %invoke.cont143, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194 +_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191: ; preds = %_ZN7testing15AssertionResultD2Ev.exit184 + %cmp.not.i.i.i.i.i.i192 = icmp eq ptr %74, %73 + br i1 %cmp.not.i.i.i.i.i.i192, label %invoke.cont143, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191 %call5.i.i.i.i1.i.i.i.i201 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i189) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc200 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc200: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194 +call5.i.i.i.i1.i.i.i.i.noexc200: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i201, ptr align 4 %73, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, i1 false), !noalias !5991 br label %invoke.cont143 -invoke.cont143: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192, %call5.i.i.i.i1.i.i.i.i.noexc200 - %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192 ], [ %call5.i.i.i.i1.i.i.i.i201, %call5.i.i.i.i1.i.i.i.i.noexc200 ] - %add.ptr.i.i.i.i.sink.i196 = getelementptr inbounds i32, ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i190 +invoke.cont143: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191, %call5.i.i.i.i1.i.i.i.i.noexc200 + %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal4EnumESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191 ], [ %call5.i.i.i.i1.i.i.i.i201, %call5.i.i.i.i1.i.i.i.i.noexc200 ] + %add.ptr.i.i.i.i.sink.i195 = getelementptr inbounds i8, ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189 store i32 3, ptr %ref.tmp139, align 8, !alias.scope !5994 %matchers_.i.i.i206 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp139, i64 0, i32 1 store ptr %agg.tmp140.sroa.2.0, ptr %matchers_.i.i.i206, align 8, !alias.scope !5994 %_M_finish.i.i.i.i.i.i.i207 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i196, ptr %_M_finish.i.i.i.i.i.i.i207, align 8, !alias.scope !5994 + store ptr %add.ptr.i.i.i.i.sink.i195, ptr %_M_finish.i.i.i.i.i.i.i207, align 8, !alias.scope !5994 %_M_end_of_storage.i.i.i.i.i.i.i208 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.654", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i196, ptr %_M_end_of_storage.i.i.i.i.i.i.i208, align 8, !alias.scope !5994 + store ptr %add.ptr.i.i.i.i.sink.i195, ptr %_M_end_of_storage.i.i.i.i.i.i.i208, align 8, !alias.scope !5994 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal4EnumENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.480") align 8 %ref.tmp144, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont146 unwind label %lpad145 @@ -231793,8 +231778,7 @@ invoke.cont48: ; preds = %invoke.cont42 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %9 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %8 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 3 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i _ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i: ; preds = %invoke.cont48 @@ -231811,7 +231795,7 @@ call5.i.i.i.i1.i.i.i.i.noexc: ; preds = %if.then.i.i.i.i.i.i invoke.cont54: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i, %call5.i.i.i.i1.i.i.i.i.noexc %agg.tmp50.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i ], [ %call5.i.i.i.i1.i.i.i.i32, %call5.i.i.i.i1.i.i.i.i.noexc ] - %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i64, ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.sink.i = getelementptr inbounds i8, ptr %agg.tmp50.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i32 3, ptr %ref.tmp49, align 8, !alias.scope !6003 %matchers_.i.i.i33 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp49, i64 0, i32 1 store ptr %agg.tmp50.sroa.2.0, ptr %matchers_.i.i.i33, align 8, !alias.scope !6003 @@ -231865,7 +231849,7 @@ lpad47: ; preds = %invoke.cont42 cleanup br label %ehcleanup170 -lpad51: ; preds = %if.then.i.i.i.i.i.i198.invoke, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i +lpad51: ; preds = %if.then.i.i.i.i.i.i198.invoke, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i %17 = landingpad { ptr, i32 } cleanup br label %ehcleanup169 @@ -231987,32 +231971,31 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i53 = ptrtoint ptr %32 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i54 = ptrtoint ptr %31 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i53, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i54 - %sub.ptr.div.i.i.i.i.i.i.i.i56 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 3 - %cmp.i.i.i.i.i.i57 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i56, 1152921504606846975 - br i1 %cmp.i.i.i.i.i.i57, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58 + %cmp.i.i.i.i.i.i56 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, 9223372036854775800 + br i1 %cmp.i.i.i.i.i.i56, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57 -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58: ; preds = %_ZN7testing15AssertionResultD2Ev.exit - %cmp.not.i.i.i.i.i.i59 = icmp eq ptr %32, %31 - br i1 %cmp.not.i.i.i.i.i.i59, label %invoke.cont80, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60 +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57: ; preds = %_ZN7testing15AssertionResultD2Ev.exit + %cmp.not.i.i.i.i.i.i58 = icmp eq ptr %32, %31 + br i1 %cmp.not.i.i.i.i.i.i58, label %invoke.cont80, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57 %call5.i.i.i.i1.i.i.i.i67 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i55) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc66 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc66: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i60 +call5.i.i.i.i1.i.i.i.i.noexc66: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i59 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i67, ptr align 8 %31, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55, i1 false), !noalias !6009 br label %invoke.cont80 -invoke.cont80: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58, %call5.i.i.i.i1.i.i.i.i.noexc66 - %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i58 ], [ %call5.i.i.i.i1.i.i.i.i67, %call5.i.i.i.i1.i.i.i.i.noexc66 ] - %add.ptr.i.i.i.i.sink.i62 = getelementptr inbounds i64, ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i56 +invoke.cont80: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57, %call5.i.i.i.i1.i.i.i.i.noexc66 + %agg.tmp77.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i57 ], [ %call5.i.i.i.i1.i.i.i.i67, %call5.i.i.i.i1.i.i.i.i.noexc66 ] + %add.ptr.i.i.i.i.sink.i61 = getelementptr inbounds i8, ptr %agg.tmp77.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i55 store i32 3, ptr %ref.tmp76, align 8, !alias.scope !6012 %matchers_.i.i.i72 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp76, i64 0, i32 1 store ptr %agg.tmp77.sroa.2.0, ptr %matchers_.i.i.i72, align 8, !alias.scope !6012 %_M_finish.i.i.i.i.i.i.i73 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i62, ptr %_M_finish.i.i.i.i.i.i.i73, align 8, !alias.scope !6012 + store ptr %add.ptr.i.i.i.i.sink.i61, ptr %_M_finish.i.i.i.i.i.i.i73, align 8, !alias.scope !6012 %_M_end_of_storage.i.i.i.i.i.i.i74 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp76, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i62, ptr %_M_end_of_storage.i.i.i.i.i.i.i74, align 8, !alias.scope !6012 + store ptr %add.ptr.i.i.i.i.sink.i61, ptr %_M_end_of_storage.i.i.i.i.i.i.i74, align 8, !alias.scope !6012 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp81, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont83 unwind label %lpad82 @@ -232183,32 +232166,31 @@ invoke.cont106: ; preds = %_ZNKSt14default_del %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i120 = ptrtoint ptr %55 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i121 = ptrtoint ptr %54 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i120, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i121 - %sub.ptr.div.i.i.i.i.i.i.i.i123 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, 3 - %cmp.i.i.i.i.i.i124 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i123, 1152921504606846975 - br i1 %cmp.i.i.i.i.i.i124, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125 + %cmp.i.i.i.i.i.i123 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, 9223372036854775800 + br i1 %cmp.i.i.i.i.i.i123, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124 -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125: ; preds = %invoke.cont106 - %cmp.not.i.i.i.i.i.i126 = icmp eq ptr %55, %54 - br i1 %cmp.not.i.i.i.i.i.i126, label %invoke.cont112, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127 +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124: ; preds = %invoke.cont106 + %cmp.not.i.i.i.i.i.i125 = icmp eq ptr %55, %54 + br i1 %cmp.not.i.i.i.i.i.i125, label %invoke.cont112, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124 %call5.i.i.i.i1.i.i.i.i134 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i122) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc133 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc133: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i127 +call5.i.i.i.i1.i.i.i.i.noexc133: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i126 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i134, ptr align 8 %54, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122, i1 false), !noalias !6018 br label %invoke.cont112 -invoke.cont112: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125, %call5.i.i.i.i1.i.i.i.i.noexc133 - %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i125 ], [ %call5.i.i.i.i1.i.i.i.i134, %call5.i.i.i.i1.i.i.i.i.noexc133 ] - %add.ptr.i.i.i.i.sink.i129 = getelementptr inbounds i64, ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i123 +invoke.cont112: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124, %call5.i.i.i.i1.i.i.i.i.noexc133 + %agg.tmp109.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i124 ], [ %call5.i.i.i.i1.i.i.i.i134, %call5.i.i.i.i1.i.i.i.i.noexc133 ] + %add.ptr.i.i.i.i.sink.i128 = getelementptr inbounds i8, ptr %agg.tmp109.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i122 store i32 3, ptr %ref.tmp108, align 8, !alias.scope !6021 %matchers_.i.i.i139 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp108, i64 0, i32 1 store ptr %agg.tmp109.sroa.2.0, ptr %matchers_.i.i.i139, align 8, !alias.scope !6021 %_M_finish.i.i.i.i.i.i.i140 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i129, ptr %_M_finish.i.i.i.i.i.i.i140, align 8, !alias.scope !6021 + store ptr %add.ptr.i.i.i.i.sink.i128, ptr %_M_finish.i.i.i.i.i.i.i140, align 8, !alias.scope !6021 %_M_end_of_storage.i.i.i.i.i.i.i141 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp108, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i129, ptr %_M_end_of_storage.i.i.i.i.i.i.i141, align 8, !alias.scope !6021 + store ptr %add.ptr.i.i.i.i.sink.i128, ptr %_M_end_of_storage.i.i.i.i.i.i.i141, align 8, !alias.scope !6021 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp113, ptr noundef nonnull align 8 dereferenceable(56) %m1) to label %invoke.cont115 unwind label %lpad114 @@ -232362,9 +232344,8 @@ _ZN7testing15AssertionResultD2Ev.exit184: ; preds = %if.end136, %_ZNKSt1 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i187 = ptrtoint ptr %74 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i188 = ptrtoint ptr %73 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i187, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i188 - %sub.ptr.div.i.i.i.i.i.i.i.i190 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, 3 - %cmp.i.i.i.i.i.i191 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i190, 1152921504606846975 - br i1 %cmp.i.i.i.i.i.i191, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192 + %cmp.i.i.i.i.i.i190 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, 9223372036854775800 + br i1 %cmp.i.i.i.i.i.i190, label %if.then.i.i.i.i.i.i198.invoke, label %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191 if.then.i.i.i.i.i.i198.invoke: ; preds = %invoke.cont48, %_ZN7testing15AssertionResultD2Ev.exit184, %invoke.cont106, %_ZN7testing15AssertionResultD2Ev.exit invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.131) #34 @@ -232373,28 +232354,28 @@ if.then.i.i.i.i.i.i198.invoke: ; preds = %invoke.cont48, %_ZN if.then.i.i.i.i.i.i198.cont: ; preds = %if.then.i.i.i.i.i.i198.invoke unreachable -_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192: ; preds = %_ZN7testing15AssertionResultD2Ev.exit184 - %cmp.not.i.i.i.i.i.i193 = icmp eq ptr %74, %73 - br i1 %cmp.not.i.i.i.i.i.i193, label %invoke.cont143, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194 +_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191: ; preds = %_ZN7testing15AssertionResultD2Ev.exit184 + %cmp.not.i.i.i.i.i.i192 = icmp eq ptr %74, %73 + br i1 %cmp.not.i.i.i.i.i.i192, label %invoke.cont143, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193 -if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192 +if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191 %call5.i.i.i.i1.i.i.i.i201 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i189) #37 to label %call5.i.i.i.i1.i.i.i.i.noexc200 unwind label %lpad51 -call5.i.i.i.i1.i.i.i.i.noexc200: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i194 +call5.i.i.i.i1.i.i.i.i.noexc200: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i193 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i.i.i201, ptr align 8 %73, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189, i1 false), !noalias !6027 br label %invoke.cont143 -invoke.cont143: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192, %call5.i.i.i.i1.i.i.i.i.noexc200 - %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i192 ], [ %call5.i.i.i.i1.i.i.i.i201, %call5.i.i.i.i1.i.i.i.i.noexc200 ] - %add.ptr.i.i.i.i.sink.i196 = getelementptr inbounds i64, ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.div.i.i.i.i.i.i.i.i190 +invoke.cont143: ; preds = %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191, %call5.i.i.i.i1.i.i.i.i.noexc200 + %agg.tmp140.sroa.2.0 = phi ptr [ null, %_ZNSt6vectorIN4absl18container_internal13hash_internal9EnumClassESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i.i.i191 ], [ %call5.i.i.i.i1.i.i.i.i201, %call5.i.i.i.i1.i.i.i.i.noexc200 ] + %add.ptr.i.i.i.i.sink.i195 = getelementptr inbounds i8, ptr %agg.tmp140.sroa.2.0, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i189 store i32 3, ptr %ref.tmp139, align 8, !alias.scope !6030 %matchers_.i.i.i206 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp139, i64 0, i32 1 store ptr %agg.tmp140.sroa.2.0, ptr %matchers_.i.i.i206, align 8, !alias.scope !6030 %_M_finish.i.i.i.i.i.i.i207 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i.i.sink.i196, ptr %_M_finish.i.i.i.i.i.i.i207, align 8, !alias.scope !6030 + store ptr %add.ptr.i.i.i.i.sink.i195, ptr %_M_finish.i.i.i.i.i.i.i207, align 8, !alias.scope !6030 %_M_end_of_storage.i.i.i.i.i.i.i208 = getelementptr inbounds %"class.testing::internal::UnorderedElementsAreArrayMatcher.674", ptr %ref.tmp139, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.sink.i196, ptr %_M_end_of_storage.i.i.i.i.i.i.i208, align 8, !alias.scope !6030 + store ptr %add.ptr.i.i.i.i.sink.i195, ptr %_M_end_of_storage.i.i.i.i.i.i.i208, align 8, !alias.scope !6030 invoke void @_ZN4absl18container_internal4keysINS_13flat_hash_setINS0_13hash_internal9EnumClassENS0_19StatefulTestingHashENS0_20StatefulTestingEqualENS0_5AllocIS4_EEEEEESt6vectorINSt5decayINT_8key_typeEE4typeESaISF_EERKSC_(ptr nonnull sret(%"class.std::vector.529") align 8 %ref.tmp144, ptr noundef nonnull align 8 dereferenceable(56) %m2) to label %invoke.cont146 unwind label %lpad145 diff --git a/bench/abseil-cpp/optimized/gaussian_distribution_test.cc.ll b/bench/abseil-cpp/optimized/gaussian_distribution_test.cc.ll index 77138feee03..039ff7e11ba 100644 --- a/bench/abseil-cpp/optimized/gaussian_distribution_test.cc.ll +++ b/bench/abseil-cpp/optimized/gaussian_distribution_test.cc.ll @@ -1067,23 +1067,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #33 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -1114,7 +1115,7 @@ if.end25: ; preds = %_ZNSt6vectorIPN7tes define internal void @_ZN12_GLOBAL__N_149gtest_AllGaussianDistributionTests_EvalGenerator_Ev(ptr noalias nocapture writeonly sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #4 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i5.i1.i = tail call noalias noundef nonnull dereferenceable(608) ptr @_Znwm(i64 noundef 608) #35, !noalias !7 - %add.ptr.i4.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Param", ptr %call5.i.i.i.i5.i1.i, i64 19 + %add.ptr.i4.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i1.i, i64 608 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(608) %call5.i.i.i.i5.i1.i, ptr noundef nonnull align 8 dereferenceable(608) @constinit, i64 608, i1 false), !noalias !7 invoke fastcc void @_ZN7testing8ValuesInISt6vectorIN12_GLOBAL__N_15ParamESaIS3_EEEENS_8internal14ParamGeneratorINT_10value_typeEEERKS8_(ptr noalias align 8 %agg.result, ptr nonnull %call5.i.i.i.i5.i1.i, ptr nonnull %add.ptr.i4.i.i) to label %_ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EED2Ev.exit unwind label %_ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EED2Ev.exit8 @@ -1139,7 +1140,7 @@ entry: if.then: ; preds = %entry %call5.i.i.i.i5.i1.i = tail call noalias noundef nonnull dereferenceable(608) ptr @_Znwm(i64 noundef 608) #35, !noalias !10 - %add.ptr.i4.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Param", ptr %call5.i.i.i.i5.i1.i, i64 19 + %add.ptr.i4.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i1.i, i64 608 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(608) %call5.i.i.i.i5.i1.i, ptr noundef nonnull align 8 dereferenceable(608) @constinit, i64 608, i1 false), !noalias !10 invoke fastcc void @_ZN7testing8ValuesInISt6vectorIN12_GLOBAL__N_15ParamESaIS3_EEEENS_8internal14ParamGeneratorINT_10value_typeEEERKS8_(ptr noalias nonnull align 8 %ref.tmp, ptr nonnull %call5.i.i.i.i5.i1.i, ptr nonnull %add.ptr.i4.i.i) to label %invoke.cont unwind label %lpad @@ -2273,30 +2274,31 @@ _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i17.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store double %29, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %data.sroa.0.1111.i, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i %tobool.not.i.i.i.i = icmp eq ptr %data.sroa.0.1111.i, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %data.sroa.0.1111.i) #33 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc.i for.inc.i: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i, %if.then.i.i %data.sroa.15.2.i = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.15.1109.i, %if.then.i.i ] - %add.ptr.i.i.pn.i = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.8.1110.i, %if.then.i.i ] + %add.ptr.i.i.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.8.1110.i, %if.then.i.i ] %data.sroa.0.2.i = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJRKdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i ], [ %data.sroa.0.1111.i, %if.then.i.i ] - %data.sroa.8.2.i = getelementptr inbounds double, ptr %add.ptr.i.i.pn.i, i64 1 + %data.sroa.8.2.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.pn.i, i64 1 %inc.i = add nuw nsw i64 %i.0112.i, 1 %exitcond.not.i = icmp eq i64 %inc.i, 10000 br i1 %exitcond.not.i, label %for.end.i, label %for.body.i, !llvm.loop !25 @@ -3551,14 +3553,14 @@ entry: ; Function Attrs: mustprogress uwtable define internal void @_ZN12_GLOBAL__N_145GaussianDistributionTests_ChiSquaredTest_Test8TestBodyEv(ptr nocapture noundef nonnull align 16 dereferenceable(64) %this) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { entry: - %v.addr.i145.i = alloca double, align 8 - %v.addr.i134.i = alloca double, align 8 - %v.addr.i129.i = alloca double, align 8 - %v.addr.i118.i = alloca double, align 8 - %v.addr.i113.i = alloca double, align 8 - %v.addr.i108.i = alloca double, align 8 - %v.addr.i104.i = alloca i32, align 4 - %v.addr.i98.i = alloca double, align 8 + %v.addr.i146.i = alloca double, align 8 + %v.addr.i135.i = alloca double, align 8 + %v.addr.i130.i = alloca double, align 8 + %v.addr.i119.i = alloca double, align 8 + %v.addr.i114.i = alloca double, align 8 + %v.addr.i109.i = alloca double, align 8 + %v.addr.i105.i = alloca i32, align 4 + %v.addr.i99.i = alloca double, align 8 %v.addr.i.i = alloca i64, align 8 %ref.tmp74.i = alloca %"class.absl::log_internal::LogMessage", align 8 %ref.tmp95.i = alloca %"class.absl::log_internal::LogMessage", align 8 @@ -3581,28 +3583,28 @@ for.body: ; preds = %entry, %for.inc br label %for.body.i for.body.i: ; preds = %for.inc.i, %for.body - %p.0203.i = phi double [ 2.000000e-02, %for.body ], [ %add.i, %for.inc.i ] - %cutoffs.sroa.0.0202.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.0.1.i, %for.inc.i ] - %cutoffs.sroa.12.0201.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.12.1.i, %for.inc.i ] - %cutoffs.sroa.24.0200.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.24.1.i, %for.inc.i ] + %p.0204.i = phi double [ 2.000000e-02, %for.body ], [ %add.i, %for.inc.i ] + %cutoffs.sroa.0.0203.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.0.1.i, %for.inc.i ] + %cutoffs.sroa.12.0202.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.12.1.i, %for.inc.i ] + %cutoffs.sroa.24.0201.i = phi ptr [ null, %for.body ], [ %cutoffs.sroa.24.1.i, %for.inc.i ] %add.ptr.val.i = load double, ptr %add.ptr.i, align 8 %add.ptr.val20.i = load double, ptr %0, align 16 - %call3.i21.i = invoke noundef double @_ZN4absl15random_internal21InverseNormalSurvivalEd(double noundef %p.0203.i) - to label %invoke.cont.i unwind label %lpad.loopexit188.i + %call3.i21.i = invoke noundef double @_ZN4absl15random_internal21InverseNormalSurvivalEd(double noundef %p.0204.i) + to label %invoke.cont.i unwind label %lpad.loopexit189.i invoke.cont.i: ; preds = %for.body.i %fneg.i.i = fneg double %call3.i21.i %1 = call noundef double @llvm.fmuladd.f64(double %add.ptr.val20.i, double %fneg.i.i, double %add.ptr.val.i) - %cmp.not.i.i.i = icmp eq ptr %cutoffs.sroa.12.0201.i, %cutoffs.sroa.24.0200.i + %cmp.not.i.i.i = icmp eq ptr %cutoffs.sroa.12.0202.i, %cutoffs.sroa.24.0201.i br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i - store double %1, ptr %cutoffs.sroa.12.0201.i, align 8 + store double %1, ptr %cutoffs.sroa.12.0202.i, align 8 br label %for.inc.i if.else.i.i.i: ; preds = %invoke.cont.i - %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %cutoffs.sroa.12.0201.i to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cutoffs.sroa.0.0202.i to i64 + %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %cutoffs.sroa.12.0202.i to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %cutoffs.sroa.0.0203.i to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i %cmp.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i @@ -3628,42 +3630,43 @@ _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 3 %call5.i.i.i.i.i.i22.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #35 - to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit188.i + to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit189.i _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i22.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store double %1, ptr %add.ptr.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %cutoffs.sroa.0.0202.i, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i, ptr align 8 %cutoffs.sroa.0.0203.i, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i - %tobool.not.i.i.i.i.i = icmp eq ptr %cutoffs.sroa.0.0202.i, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i + %tobool.not.i.i.i.i.i = icmp eq ptr %cutoffs.sroa.0.0203.i, null + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.0202.i) #33 +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.0203.i) #33 br label %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds double, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %for.inc.i for.inc.i: ; preds = %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i - %cutoffs.sroa.24.1.i = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.24.0200.i, %if.then.i.i.i ] - %add.ptr.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.12.0201.i, %if.then.i.i.i ] - %cutoffs.sroa.0.1.i = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.0.0202.i, %if.then.i.i.i ] - %cutoffs.sroa.12.1.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.pn.i, i64 1 - %add.i = fadd double %p.0203.i, 2.000000e-02 + %cutoffs.sroa.24.1.i = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.24.0201.i, %if.then.i.i.i ] + %add.ptr.i.i.i.i.i.i.pn.i = phi ptr [ %add.ptr.i.i.i.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.12.0202.i, %if.then.i.i.i ] + %cutoffs.sroa.0.1.i = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIdSaIdEE17_M_realloc_insertIJdEEEvN9__gnu_cxx17__normal_iteratorIPdS1_EEDpOT_.exit.i.i.i ], [ %cutoffs.sroa.0.0203.i, %if.then.i.i.i ] + %cutoffs.sroa.12.1.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.pn.i, i64 1 + %add.i = fadd double %p.0204.i, 2.000000e-02 %cmp.i = fcmp olt double %add.i, 1.000000e+00 br i1 %cmp.i, label %for.body.i, label %for.end.i, !llvm.loop !49 -lpad.loopexit188.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i, %for.body.i - %lpad.loopexit189.i = landingpad { ptr, i32 } +lpad.loopexit189.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i.i, %for.body.i + %lpad.loopexit190.i = landingpad { ptr, i32 } cleanup br label %ehcleanup137.i @@ -3672,14 +3675,14 @@ lpad.loopexit.split-lp.i.loopexit: ; preds = %_ZNSt16allocator_tr cleanup br label %ehcleanup137.i -lpad.loopexit.split-lp.i.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i, %if.then.i.i.i.i56.i - %cutoffs.sroa.0.0195.i.ph = phi ptr [ %cutoffs.sroa.0.1.i, %if.then.i.i.i.i56.i ], [ %cutoffs.sroa.0.0202.i, %if.then.i.i.i.i.i ] +lpad.loopexit.split-lp.i.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i, %if.then.i.i.i.i57.i + %cutoffs.sroa.0.0196.i.ph = phi ptr [ %cutoffs.sroa.0.1.i, %if.then.i.i.i.i57.i ], [ %cutoffs.sroa.0.0203.i, %if.then.i.i.i.i.i ] %lpad.loopexit.split-lp = landingpad { ptr, i32 } cleanup br label %ehcleanup137.i for.end.i: ; preds = %for.inc.i - %2 = load double, ptr %add.ptr.i.i.i.pn.i, align 8 + %2 = load double, ptr %add.ptr.i.i.i.i.i.i.pn.i, align 8 %cmp5.i = fcmp une double %2, 0x7FF0000000000000 br i1 %cmp5.i, label %if.then.i, label %invoke.cont13.i @@ -3689,7 +3692,7 @@ if.then.i: ; preds = %for.end.i if.then.i.i27.i: ; preds = %if.then.i store double 0x7FF0000000000000, ptr %cutoffs.sroa.12.1.i, align 8 - %incdec.ptr.i.i28.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.pn.i, i64 2 + %incdec.ptr.i.i28.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i.pn.i, i64 2 br label %invoke.cont13.i if.else.i.i29.i: ; preds = %if.then.i @@ -3697,13 +3700,13 @@ if.else.i.i29.i: ; preds = %if.then.i %sub.ptr.rhs.cast.i.i.i.i.i31.i = ptrtoint ptr %cutoffs.sroa.0.1.i to i64 %sub.ptr.sub.i.i.i.i.i32.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i30.i, %sub.ptr.rhs.cast.i.i.i.i.i31.i %cmp.i.i.i.i33.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i32.i, 9223372036854775800 - br i1 %cmp.i.i.i.i33.i, label %if.then.i.i.i.i56.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i34.i + br i1 %cmp.i.i.i.i33.i, label %if.then.i.i.i.i57.i, label %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i34.i -if.then.i.i.i.i56.i: ; preds = %if.else.i.i29.i +if.then.i.i.i.i57.i: ; preds = %if.else.i.i29.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.16) #34 - to label %.noexc57.i unwind label %lpad.loopexit.split-lp.i.loopexit.split-lp + to label %.noexc58.i unwind label %lpad.loopexit.split-lp.i.loopexit.split-lp -.noexc57.i: ; preds = %if.then.i.i.i.i56.i +.noexc58.i: ; preds = %if.then.i.i.i.i57.i unreachable _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i34.i: ; preds = %if.else.i.i29.i @@ -3719,32 +3722,33 @@ _ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i34.i: ; preds = %if.else.i.i2 _ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i43.i: ; preds = %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i34.i %mul.i.i.i.i.i.i44.i = shl nuw nsw i64 %cond.i.i.i.i41.i, 3 - %call5.i.i.i.i.i.i59.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i44.i) #35 + %call5.i.i.i.i.i.i60.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i44.i) #35 to label %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i45.i unwind label %lpad.loopexit.split-lp.i.loopexit _ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i45.i: ; preds = %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i43.i, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i34.i - %cond.i10.i.i.i46.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i34.i ], [ %call5.i.i.i.i.i.i59.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i43.i ] + %cond.i10.i.i.i46.i = phi ptr [ null, %_ZNKSt6vectorIdSaIdEE12_M_check_lenEmPKc.exit.i.i.i34.i ], [ %call5.i.i.i.i.i.i60.i, %_ZNSt16allocator_traitsISaIdEE8allocateERS0_m.exit.i.i.i.i43.i ] %add.ptr.i.i.i47.i = getelementptr inbounds double, ptr %cond.i10.i.i.i46.i, i64 %sub.ptr.div.i.i.i.i.i35.i store double 0x7FF0000000000000, ptr %add.ptr.i.i.i47.i, align 8 - %cmp.i.i.i11.i.i.i48.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i35.i, 0 - br i1 %cmp.i.i.i11.i.i.i48.i, label %if.then.i.i.i12.i.i.i55.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i49.i + %cmp.i.i.i11.i.i.i48.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i32.i, 0 + br i1 %cmp.i.i.i11.i.i.i48.i, label %if.then.i.i.i12.i.i.i56.i, label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i49.i -if.then.i.i.i12.i.i.i55.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i45.i +if.then.i.i.i12.i.i.i56.i: ; preds = %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i45.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i46.i, ptr align 8 %cutoffs.sroa.0.1.i, i64 %sub.ptr.sub.i.i.i.i.i32.i, i1 false) - br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i49.i + br label %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i49.i -_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i49.i: ; preds = %if.then.i.i.i12.i.i.i55.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i45.i - %incdec.ptr.i.i.i50.i = getelementptr inbounds double, ptr %add.ptr.i.i.i47.i, i64 1 - %tobool.not.i.i.i.i51.i = icmp eq ptr %cutoffs.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i51.i, label %invoke.cont13.i, label %if.then.i21.i.i.i52.i +_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i49.i: ; preds = %if.then.i.i.i12.i.i.i56.i, %_ZNSt12_Vector_baseIdSaIdEE11_M_allocateEm.exit.i.i.i45.i + %add.ptr.i.i.i.i.i.i50.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i46.i, i64 %sub.ptr.sub.i.i.i.i.i32.i + %incdec.ptr.i.i.i51.i = getelementptr inbounds double, ptr %add.ptr.i.i.i.i.i.i50.i, i64 1 + %tobool.not.i.i.i.i52.i = icmp eq ptr %cutoffs.sroa.0.1.i, null + br i1 %tobool.not.i.i.i.i52.i, label %invoke.cont13.i, label %if.then.i20.i.i.i53.i -if.then.i21.i.i.i52.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i49.i +if.then.i20.i.i.i53.i: ; preds = %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i49.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.1.i) #33 br label %invoke.cont13.i -invoke.cont13.i: ; preds = %if.then.i21.i.i.i52.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i49.i, %if.then.i.i27.i, %for.end.i - %cutoffs.sroa.12.3.i = phi ptr [ %cutoffs.sroa.12.1.i, %for.end.i ], [ %incdec.ptr.i.i28.i, %if.then.i.i27.i ], [ %incdec.ptr.i.i.i50.i, %if.then.i21.i.i.i52.i ], [ %incdec.ptr.i.i.i50.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i49.i ] - %cutoffs.sroa.0.3.i = phi ptr [ %cutoffs.sroa.0.1.i, %for.end.i ], [ %cutoffs.sroa.0.1.i, %if.then.i.i27.i ], [ %cond.i10.i.i.i46.i, %if.then.i21.i.i.i52.i ], [ %cond.i10.i.i.i46.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit20.i.i.i49.i ] +invoke.cont13.i: ; preds = %if.then.i20.i.i.i53.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i49.i, %if.then.i.i27.i, %for.end.i + %cutoffs.sroa.12.3.i = phi ptr [ %cutoffs.sroa.12.1.i, %for.end.i ], [ %incdec.ptr.i.i28.i, %if.then.i.i27.i ], [ %incdec.ptr.i.i.i51.i, %if.then.i20.i.i.i53.i ], [ %incdec.ptr.i.i.i51.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i49.i ] + %cutoffs.sroa.0.3.i = phi ptr [ %cutoffs.sroa.0.1.i, %for.end.i ], [ %cutoffs.sroa.0.1.i, %if.then.i.i27.i ], [ %cond.i10.i.i.i46.i, %if.then.i20.i.i.i53.i ], [ %cond.i10.i.i.i46.i, %_ZNSt6vectorIdSaIdEE11_S_relocateEPdS2_S2_RS0_.exit19.i.i.i49.i ] %add.ptr9.val17.i = load double, ptr %add.ptr.i, align 8 %add.ptr9.val19.i = load double, ptr %0, align 16 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %cutoffs.sroa.12.3.i to i64 @@ -3752,37 +3756,37 @@ invoke.cont13.i: ; preds = %if.then.i21.i.i.i52 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 3 %cmp.i.i.i = icmp ugt i64 %sub.ptr.div.i.i, 2305843009213693951 - br i1 %cmp.i.i.i, label %if.then.i.i64.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i + br i1 %cmp.i.i.i, label %if.then.i.i65.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i -if.then.i.i64.i: ; preds = %invoke.cont13.i +if.then.i.i65.i: ; preds = %invoke.cont13.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.53) #34 - to label %.noexc65.i unwind label %lpad17.i.loopexit.split-lp + to label %.noexc66.i unwind label %lpad17.i.loopexit.split-lp -.noexc65.i: ; preds = %if.then.i.i64.i +.noexc66.i: ; preds = %if.then.i.i65.i unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i: ; preds = %invoke.cont13.i - %cmp.not.i.i.i.i61.i = icmp eq ptr %cutoffs.sroa.12.3.i, %cutoffs.sroa.0.3.i - br i1 %cmp.not.i.i.i.i61.i, label %invoke.cont18.i, label %if.end.i.i.i.i.i.i.i.i + %cmp.not.i.i.i.i62.i = icmp eq ptr %cutoffs.sroa.12.3.i, %cutoffs.sroa.0.3.i + br i1 %cmp.not.i.i.i.i62.i, label %invoke.cont18.i, label %if.end.i.i.i.i.i.i.i.i if.end.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i - %mul.i.i.i.i.i.i62.i = ashr exact i64 %sub.ptr.sub.i.i, 1 - %call5.i.i.i.i2.i.i66.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i62.i) #35 + %mul.i.i.i.i.i.i63.i = ashr exact i64 %sub.ptr.sub.i.i, 1 + %call5.i.i.i.i2.i.i67.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i63.i) #35 to label %call5.i.i.i.i2.i.i.noexc.i unwind label %lpad17.i.loopexit call5.i.i.i.i2.i.i.noexc.i: ; preds = %if.end.i.i.i.i.i.i.i.i - %3 = and i64 %mul.i.i.i.i.i.i62.i, -4 - call void @llvm.memset.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i.i66.i, i8 0, i64 %3, i1 false) - %add.ptr.i.i.i63.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i66.i, i64 %sub.ptr.div.i.i + %3 = and i64 %mul.i.i.i.i.i.i63.i, -4 + call void @llvm.memset.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i.i67.i, i8 0, i64 %3, i1 false) + %add.ptr.i.i.i64.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i67.i, i64 %sub.ptr.div.i.i br label %invoke.cont18.i invoke.cont18.i: ; preds = %call5.i.i.i.i2.i.i.noexc.i, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i - %counts.sroa.0.0.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %call5.i.i.i.i2.i.i66.i, %call5.i.i.i.i2.i.i.noexc.i ] - %retval.0.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %add.ptr.i.i.i63.i, %call5.i.i.i.i2.i.i.noexc.i ] + %counts.sroa.0.0.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %call5.i.i.i.i2.i.i67.i, %call5.i.i.i.i2.i.i.noexc.i ] + %retval.0.i.i.i.i.i.i.i.i = phi ptr [ null, %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i ], [ %add.ptr.i.i.i64.i, %call5.i.i.i.i2.i.i.noexc.i ] br label %for.body21.i for.body21.i: ; preds = %invoke.cont40.i, %invoke.cont18.i - %j.0204.i = phi i32 [ 0, %invoke.cont18.i ], [ %inc44.i, %invoke.cont40.i ] + %j.0205.i = phi i32 [ 0, %invoke.cont18.i ], [ %inc44.i, %invoke.cont40.i ] br label %while.body.i while.body.i: ; preds = %if.end10.i, %for.body21.i @@ -3942,7 +3946,7 @@ if.end10.i: ; preds = %if.end.i invoke.cont23.i: ; preds = %if.end10.i, %while.body.i, %call9.i.noexc %retval.0.i = phi double [ %cond.i, %call9.i.noexc ], [ %mul.i, %while.body.i ], [ %mul.i, %if.end10.i ] %28 = call noundef double @llvm.fmuladd.f64(double %add.ptr9.val19.i, double %retval.0.i, double %add.ptr9.val17.i) - br i1 %cmp.not.i.i.i.i61.i, label %invoke.cont40.i, label %while.body.i.i.i + br i1 %cmp.not.i.i.i.i62.i, label %invoke.cont40.i, label %while.body.i.i.i while.body.i.i.i: ; preds = %invoke.cont23.i, %while.body.i.i.i %__len.08.i.i.i = phi i64 [ %__len.1.i.i.i, %while.body.i.i.i ], [ %sub.ptr.div.i.i, %invoke.cont23.i ] @@ -3951,27 +3955,27 @@ while.body.i.i.i: ; preds = %invoke.cont23.i, %w %incdec.ptr.i8.sink.i.i.i.i.i = getelementptr inbounds double, ptr %__first.sroa.0.07.i.i.i, i64 %shr.i.i.i %29 = load double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, align 8 %cmp.i.i.i.i = fcmp olt double %28, %29 - %incdec.ptr.i.i.i76.i = getelementptr inbounds double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, i64 1 + %incdec.ptr.i.i.i77.i = getelementptr inbounds double, ptr %incdec.ptr.i8.sink.i.i.i.i.i, i64 1 %30 = xor i64 %shr.i.i.i, -1 %sub9.i.i.i = add nsw i64 %__len.08.i.i.i, %30 - %__first.sroa.0.1.i.i.i = select i1 %cmp.i.i.i.i, ptr %__first.sroa.0.07.i.i.i, ptr %incdec.ptr.i.i.i76.i + %__first.sroa.0.1.i.i.i = select i1 %cmp.i.i.i.i, ptr %__first.sroa.0.07.i.i.i, ptr %incdec.ptr.i.i.i77.i %__len.1.i.i.i = select i1 %cmp.i.i.i.i, i64 %shr.i.i.i, i64 %sub9.i.i.i - %cmp.i.i77.i = icmp sgt i64 %__len.1.i.i.i, 0 - br i1 %cmp.i.i77.i, label %while.body.i.i.i, label %invoke.cont40.loopexit.i, !llvm.loop !50 + %cmp.i.i78.i = icmp sgt i64 %__len.1.i.i.i, 0 + br i1 %cmp.i.i78.i, label %while.body.i.i.i, label %invoke.cont40.loopexit.i, !llvm.loop !50 invoke.cont40.loopexit.i: ; preds = %while.body.i.i.i %.pre.i = ptrtoint ptr %__first.sroa.0.1.i.i.i to i64 - %.pre210.i = sub i64 %.pre.i, %sub.ptr.rhs.cast.i.i - %.pre211.i = ashr exact i64 %.pre210.i, 3 + %.pre211.i = sub i64 %.pre.i, %sub.ptr.rhs.cast.i.i + %.pre212.i = ashr exact i64 %.pre211.i, 3 br label %invoke.cont40.i invoke.cont40.i: ; preds = %invoke.cont40.loopexit.i, %invoke.cont23.i - %sub.ptr.div.i.i.i.pre-phi.i = phi i64 [ %.pre211.i, %invoke.cont40.loopexit.i ], [ %sub.ptr.div.i.i, %invoke.cont23.i ] + %sub.ptr.div.i.i.i.pre-phi.i = phi i64 [ %.pre212.i, %invoke.cont40.loopexit.i ], [ %sub.ptr.div.i.i, %invoke.cont23.i ] %add.ptr.i.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %sub.ptr.div.i.i.i.pre-phi.i %31 = load i32, ptr %add.ptr.i.i, align 4 %inc.i = add nsw i32 %31, 1 store i32 %inc.i, ptr %add.ptr.i.i, align 4 - %inc44.i = add nuw nsw i32 %j.0204.i, 1 + %inc44.i = add nuw nsw i32 %j.0205.i, 1 %exitcond.not.i = icmp eq i32 %inc44.i, 10000 br i1 %exitcond.not.i, label %for.end45.i, label %for.body21.i, !llvm.loop !51 @@ -3980,7 +3984,7 @@ lpad17.i.loopexit: ; preds = %if.end.i.i.i.i.i.i. cleanup br label %ehcleanup137.i -lpad17.i.loopexit.split-lp: ; preds = %if.then.i.i64.i +lpad17.i.loopexit.split-lp: ; preds = %if.then.i.i65.i %lpad.loopexit.split-lp44 = landingpad { ptr, i32 } cleanup br label %ehcleanup137.i @@ -3991,35 +3995,35 @@ lpad22.loopexit.i: ; preds = %for.body72.i br label %ehcleanup.i lpad22.loopexit.split-lp.loopexit.split-lp.i: ; preds = %for.end93.i, %_ZN4absl15random_internal21ChiSquareWithExpectedIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEdT_S9_d.exit.i, %for.end45.i - %lpad.loopexit.split-lp186.i = landingpad { ptr, i32 } + %lpad.loopexit.split-lp187.i = landingpad { ptr, i32 } cleanup br label %ehcleanup.i for.end45.i: ; preds = %invoke.cont40.i - %sub.ptr.lhs.cast.i79.i = ptrtoint ptr %retval.0.i.i.i.i.i.i.i.i to i64 - %sub.ptr.rhs.cast.i80.i = ptrtoint ptr %counts.sroa.0.0.i to i64 - %sub.ptr.sub.i81.i = sub i64 %sub.ptr.lhs.cast.i79.i, %sub.ptr.rhs.cast.i80.i - %sub.ptr.div.i82.i = ashr exact i64 %sub.ptr.sub.i81.i, 2 - %conv47.i = trunc i64 %sub.ptr.div.i82.i to i32 + %sub.ptr.lhs.cast.i80.i = ptrtoint ptr %retval.0.i.i.i.i.i.i.i.i to i64 + %sub.ptr.rhs.cast.i81.i = ptrtoint ptr %counts.sroa.0.0.i to i64 + %sub.ptr.sub.i82.i = sub i64 %sub.ptr.lhs.cast.i80.i, %sub.ptr.rhs.cast.i81.i + %sub.ptr.div.i83.i = ashr exact i64 %sub.ptr.sub.i82.i, 2 + %conv47.i = trunc i64 %sub.ptr.div.i83.i to i32 %sub.i = add nsw i32 %conv47.i, -1 %call49.i = invoke noundef double @_ZN4absl15random_internal14ChiSquareValueEid(i32 noundef %sub.i, double noundef 0x3FEF5C28F5C28F5C) to label %invoke.cont48.i unwind label %lpad22.loopexit.split-lp.loopexit.split-lp.i invoke.cont48.i: ; preds = %for.end45.i - %conv51.i = uitofp i64 %sub.ptr.div.i82.i to double + %conv51.i = uitofp i64 %sub.ptr.div.i83.i to double %div.i = fdiv double 1.000000e+04, %conv51.i %cmp.i.not7.i.i = icmp eq ptr %counts.sroa.0.0.i, %retval.0.i.i.i.i.i.i.i.i br i1 %cmp.i.not7.i.i, label %_ZN4absl15random_internal21ChiSquareWithExpectedIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEdT_S9_d.exit.i, label %for.body.i.i for.body.i.i: ; preds = %invoke.cont48.i, %for.body.i.i %chi_square.09.i.i = phi double [ %33, %for.body.i.i ], [ 0.000000e+00, %invoke.cont48.i ] - %it.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i89.i, %for.body.i.i ], [ %counts.sroa.0.0.i, %invoke.cont48.i ] + %it.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i90.i, %for.body.i.i ], [ %counts.sroa.0.0.i, %invoke.cont48.i ] %32 = load i32, ptr %it.sroa.0.08.i.i, align 4 %conv.i.i = sitofp i32 %32 to double %sub.i.i = fsub double %conv.i.i, %div.i %33 = call double @llvm.fmuladd.f64(double %sub.i.i, double %sub.i.i, double %chi_square.09.i.i) - %incdec.ptr.i.i89.i = getelementptr inbounds i32, ptr %it.sroa.0.08.i.i, i64 1 - %cmp.i.not.i.i = icmp eq ptr %incdec.ptr.i.i89.i, %retval.0.i.i.i.i.i.i.i.i + %incdec.ptr.i.i90.i = getelementptr inbounds i32, ptr %it.sroa.0.08.i.i, i64 1 + %cmp.i.not.i.i = icmp eq ptr %incdec.ptr.i.i90.i, %retval.0.i.i.i.i.i.i.i.i br i1 %cmp.i.not.i.i, label %_ZN4absl15random_internal21ChiSquareWithExpectedIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEdT_S9_d.exit.i, label %for.body.i.i, !llvm.loop !52 _ZN4absl15random_internal21ChiSquareWithExpectedIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEEEdT_S9_d.exit.i: ; preds = %for.body.i.i, %invoke.cont48.i @@ -4033,55 +4037,55 @@ invoke.cont65.i: ; preds = %_ZN4absl15random_in br i1 %cmp67.i, label %for.cond69.preheader.i, label %if.end136.i for.cond69.preheader.i: ; preds = %invoke.cont65.i - br i1 %cmp.not.i.i.i.i61.i, label %for.end93.i, label %for.body72.preheader.i + br i1 %cmp.not.i.i.i.i62.i, label %for.end93.i, label %for.body72.preheader.i for.body72.preheader.i: ; preds = %for.cond69.preheader.i %umax.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i, i64 1) br label %for.body72.i for.body72.i: ; preds = %invoke.cont89.i, %for.body72.preheader.i - %i.0206.i = phi i64 [ %inc92.i, %invoke.cont89.i ], [ 0, %for.body72.preheader.i ] + %i.0207.i = phi i64 [ %inc92.i, %invoke.cont89.i ], [ 0, %for.body72.preheader.i ] invoke void @_ZN4absl12log_internal10LogMessageC1EPKciNS1_7InfoTagE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp74.i, ptr noundef nonnull @.str.2, i32 noundef 299) #37 to label %invoke.cont76.i unwind label %lpad22.loopexit.i invoke.cont76.i: ; preds = %for.body72.i call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i.i) - store i64 %i.0206.i, ptr %v.addr.i.i, align 8 - %call.i95.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp74.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i.i) + store i64 %i.0207.i, ptr %v.addr.i.i, align 8 + %call.i96.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsImTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp74.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i.i) to label %invoke.cont79.i unwind label %lpad78.i invoke.cont79.i: ; preds = %invoke.cont76.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i95.i, i64 4, ptr nonnull @.str.44) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i96.i, i64 4, ptr nonnull @.str.44) to label %invoke.cont81.i unwind label %lpad78.i invoke.cont81.i: ; preds = %invoke.cont79.i - %add.ptr.i97.i = getelementptr inbounds double, ptr %cutoffs.sroa.0.3.i, i64 %i.0206.i - %34 = load double, ptr %add.ptr.i97.i, align 8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i98.i) - store double %34, ptr %v.addr.i98.i, align 8 - %call.i99.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i95.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i98.i) + %add.ptr.i98.i = getelementptr inbounds double, ptr %cutoffs.sroa.0.3.i, i64 %i.0207.i + %34 = load double, ptr %add.ptr.i98.i, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i99.i) + store double %34, ptr %v.addr.i99.i, align 8 + %call.i100.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i96.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i99.i) to label %invoke.cont84.i unwind label %lpad78.i invoke.cont84.i: ; preds = %invoke.cont81.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i98.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i99.i, i64 4, ptr nonnull @.str.45) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i99.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i100.i, i64 4, ptr nonnull @.str.45) to label %invoke.cont86.i unwind label %lpad78.i invoke.cont86.i: ; preds = %invoke.cont84.i - %add.ptr.i103.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %i.0206.i - %35 = load i32, ptr %add.ptr.i103.i, align 4 - call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %v.addr.i104.i) - store i32 %35, ptr %v.addr.i104.i, align 4 - %call.i105.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i99.i, ptr noundef nonnull align 4 dereferenceable(4) %v.addr.i104.i) + %add.ptr.i104.i = getelementptr inbounds i32, ptr %counts.sroa.0.0.i, i64 %i.0207.i + %35 = load i32, ptr %add.ptr.i104.i, align 4 + call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %v.addr.i105.i) + store i32 %35, ptr %v.addr.i105.i, align 4 + %call.i106.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIiTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i100.i, ptr noundef nonnull align 4 dereferenceable(4) %v.addr.i105.i) to label %invoke.cont89.i unwind label %lpad78.i invoke.cont89.i: ; preds = %invoke.cont86.i - call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %v.addr.i104.i) + call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %v.addr.i105.i) call void @_ZN4absl12log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp74.i) #38 - %inc92.i = add nuw i64 %i.0206.i, 1 - %exitcond209.not.i = icmp eq i64 %inc92.i, %umax.i - br i1 %exitcond209.not.i, label %for.end93.i, label %for.body72.i, !llvm.loop !53 + %inc92.i = add nuw i64 %i.0207.i, 1 + %exitcond210.not.i = icmp eq i64 %inc92.i, %umax.i + br i1 %exitcond210.not.i, label %for.end93.i, label %for.body72.i, !llvm.loop !53 lpad78.i: ; preds = %invoke.cont86.i, %invoke.cont84.i, %invoke.cont81.i, %invoke.cont79.i, %invoke.cont76.i %36 = landingpad { ptr, i32 } @@ -4099,85 +4103,85 @@ invoke.cont97.i: ; preds = %for.end93.i invoke.cont100.i: ; preds = %invoke.cont97.i %add.ptr9.val.i = load double, ptr %add.ptr.i, align 8 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i108.i) - store double %add.ptr9.val.i, ptr %v.addr.i108.i, align 8 - %call.i109.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp95.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i108.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i109.i) + store double %add.ptr9.val.i, ptr %v.addr.i109.i, align 8 + %call.i110.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp95.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i109.i) to label %invoke.cont104.i unwind label %lpad99.i invoke.cont104.i: ; preds = %invoke.cont100.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i108.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i109.i, i64 8, ptr nonnull @.str.47) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i109.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i110.i, i64 8, ptr nonnull @.str.47) to label %invoke.cont106.i unwind label %lpad99.i invoke.cont106.i: ; preds = %invoke.cont104.i %add.ptr9.val18.i = load double, ptr %0, align 16 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i113.i) - store double %add.ptr9.val18.i, ptr %v.addr.i113.i, align 8 - %call.i114.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i109.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i113.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i114.i) + store double %add.ptr9.val18.i, ptr %v.addr.i114.i, align 8 + %call.i115.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i110.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i114.i) to label %invoke.cont110.i unwind label %lpad99.i invoke.cont110.i: ; preds = %invoke.cont106.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i113.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i114.i, i64 11, ptr nonnull @.str.48) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i114.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i115.i, i64 11, ptr nonnull @.str.48) to label %invoke.cont112.i unwind label %lpad99.i invoke.cont112.i: ; preds = %invoke.cont110.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i118.i) - store double %div.i, ptr %v.addr.i118.i, align 8 - %call.i119.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i114.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i118.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i119.i) + store double %div.i, ptr %v.addr.i119.i, align 8 + %call.i120.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i115.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i119.i) to label %invoke.cont114.i unwind label %lpad99.i invoke.cont114.i: ; preds = %invoke.cont112.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i118.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i119.i, i64 1, ptr nonnull @.str.49) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i119.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i120.i, i64 1, ptr nonnull @.str.49) to label %invoke.cont116.i unwind label %lpad99.i invoke.cont116.i: ; preds = %invoke.cont114.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i119.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i120.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) to label %invoke.cont118.i unwind label %lpad99.i invoke.cont118.i: ; preds = %invoke.cont116.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i119.i, i64 1, ptr nonnull @.str.50) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i120.i, i64 1, ptr nonnull @.str.50) to label %invoke.cont120.i unwind label %lpad99.i invoke.cont120.i: ; preds = %invoke.cont118.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i129.i) - store double %div.i.i, ptr %v.addr.i129.i, align 8 - %call.i130.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i119.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i129.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i130.i) + store double %div.i.i, ptr %v.addr.i130.i, align 8 + %call.i131.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i120.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i130.i) to label %invoke.cont122.i unwind label %lpad99.i invoke.cont122.i: ; preds = %invoke.cont120.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i129.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i130.i, i64 2, ptr nonnull @.str.38) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i130.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i131.i, i64 2, ptr nonnull @.str.38) to label %invoke.cont124.i unwind label %lpad99.i invoke.cont124.i: ; preds = %invoke.cont122.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i134.i) - store double %call66.i, ptr %v.addr.i134.i, align 8 - %call.i135.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i130.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i134.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i135.i) + store double %call66.i, ptr %v.addr.i135.i, align 8 + %call.i136.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i131.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i135.i) to label %invoke.cont126.i unwind label %lpad99.i invoke.cont126.i: ; preds = %invoke.cont124.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i134.i) - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i135.i, i64 2, ptr nonnull @.str.51) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i135.i) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i136.i, i64 2, ptr nonnull @.str.51) to label %invoke.cont128.i unwind label %lpad99.i invoke.cont128.i: ; preds = %invoke.cont126.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i135.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i136.i, i64 11, ptr nonnull @_ZN4absl15random_internalL11kChiSquaredE) to label %invoke.cont130.i unwind label %lpad99.i invoke.cont130.i: ; preds = %invoke.cont128.i - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i135.i, i64 10, ptr nonnull @.str.52) + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %call.i136.i, i64 10, ptr nonnull @.str.52) to label %invoke.cont132.i unwind label %lpad99.i invoke.cont132.i: ; preds = %invoke.cont130.i - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i145.i) - store double %call49.i, ptr %v.addr.i145.i, align 8 - %call.i146.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i135.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i145.i) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %v.addr.i146.i) + store double %call49.i, ptr %v.addr.i146.i, align 8 + %call.i147.i = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS1_RKS4_(ptr noundef nonnull align 8 dereferenceable(16) %call.i136.i, ptr noundef nonnull align 8 dereferenceable(8) %v.addr.i146.i) to label %invoke.cont134.i unwind label %lpad99.i invoke.cont134.i: ; preds = %invoke.cont132.i - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i145.i) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %v.addr.i146.i) call void @_ZN4absl12log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp95.i) #38 br label %if.end136.i @@ -4196,37 +4200,37 @@ if.then.i.i.i.i: ; preds = %if.end136.i br label %_ZNSt6vectorIiSaIiEED2Ev.exit.i _ZNSt6vectorIiSaIiEED2Ev.exit.i: ; preds = %if.then.i.i.i.i, %if.end136.i - %tobool.not.i.i.i148.i = icmp eq ptr %cutoffs.sroa.0.3.i, null - br i1 %tobool.not.i.i.i148.i, label %_ZN12_GLOBAL__N_125GaussianDistributionTests20SingleChiSquaredTestIN4absl21gaussian_distributionIdEEEEdv.exit, label %if.then.i.i.i149.i + %tobool.not.i.i.i149.i = icmp eq ptr %cutoffs.sroa.0.3.i, null + br i1 %tobool.not.i.i.i149.i, label %_ZN12_GLOBAL__N_125GaussianDistributionTests20SingleChiSquaredTestIN4absl21gaussian_distributionIdEEEEdv.exit, label %if.then.i.i.i150.i -if.then.i.i.i149.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i +if.then.i.i.i150.i: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.3.i) #33 br label %_ZN12_GLOBAL__N_125GaussianDistributionTests20SingleChiSquaredTestIN4absl21gaussian_distributionIdEEEEdv.exit ehcleanup.i: ; preds = %lpad99.i, %lpad78.i, %lpad22.loopexit.split-lp.loopexit.split-lp.i, %lpad22.loopexit.i - %.pn.i = phi { ptr, i32 } [ %36, %lpad78.i ], [ %37, %lpad99.i ], [ %lpad.loopexit.i, %lpad22.loopexit.i ], [ %lpad.loopexit.split-lp186.i, %lpad22.loopexit.split-lp.loopexit.split-lp.i ] - %tobool.not.i.i.i150.i = icmp eq ptr %counts.sroa.0.0.i, null - br i1 %tobool.not.i.i.i150.i, label %ehcleanup137.i, label %if.then.i.i.i151.i + %.pn.i = phi { ptr, i32 } [ %36, %lpad78.i ], [ %37, %lpad99.i ], [ %lpad.loopexit.i, %lpad22.loopexit.i ], [ %lpad.loopexit.split-lp187.i, %lpad22.loopexit.split-lp.loopexit.split-lp.i ] + %tobool.not.i.i.i151.i = icmp eq ptr %counts.sroa.0.0.i, null + br i1 %tobool.not.i.i.i151.i, label %ehcleanup137.i, label %if.then.i.i.i152.i -if.then.i.i.i151.i: ; preds = %ehcleanup.i +if.then.i.i.i152.i: ; preds = %ehcleanup.i call void @_ZdlPv(ptr noundef nonnull %counts.sroa.0.0.i) #33 br label %ehcleanup137.i -ehcleanup137.i: ; preds = %lpad17.i.loopexit, %lpad17.i.loopexit.split-lp, %lpad.loopexit.split-lp.i.loopexit, %lpad.loopexit.split-lp.i.loopexit.split-lp, %if.then.i.i.i151.i, %ehcleanup.i, %lpad.loopexit188.i - %cutoffs.sroa.0.4.i = phi ptr [ %cutoffs.sroa.0.3.i, %ehcleanup.i ], [ %cutoffs.sroa.0.3.i, %if.then.i.i.i151.i ], [ %cutoffs.sroa.0.0202.i, %lpad.loopexit188.i ], [ %cutoffs.sroa.0.1.i, %lpad.loopexit.split-lp.i.loopexit ], [ %cutoffs.sroa.0.0195.i.ph, %lpad.loopexit.split-lp.i.loopexit.split-lp ], [ %cutoffs.sroa.0.3.i, %lpad17.i.loopexit ], [ %cutoffs.sroa.0.3.i, %lpad17.i.loopexit.split-lp ] - %.pn15.i = phi { ptr, i32 } [ %.pn.i, %ehcleanup.i ], [ %.pn.i, %if.then.i.i.i151.i ], [ %lpad.loopexit189.i, %lpad.loopexit188.i ], [ %lpad.loopexit, %lpad.loopexit.split-lp.i.loopexit ], [ %lpad.loopexit.split-lp, %lpad.loopexit.split-lp.i.loopexit.split-lp ], [ %lpad.loopexit43, %lpad17.i.loopexit ], [ %lpad.loopexit.split-lp44, %lpad17.i.loopexit.split-lp ] - %tobool.not.i.i.i153.i = icmp eq ptr %cutoffs.sroa.0.4.i, null - br i1 %tobool.not.i.i.i153.i, label %common.resume, label %if.then.i.i.i154.i +ehcleanup137.i: ; preds = %lpad17.i.loopexit, %lpad17.i.loopexit.split-lp, %lpad.loopexit.split-lp.i.loopexit, %lpad.loopexit.split-lp.i.loopexit.split-lp, %if.then.i.i.i152.i, %ehcleanup.i, %lpad.loopexit189.i + %cutoffs.sroa.0.4.i = phi ptr [ %cutoffs.sroa.0.3.i, %ehcleanup.i ], [ %cutoffs.sroa.0.3.i, %if.then.i.i.i152.i ], [ %cutoffs.sroa.0.0203.i, %lpad.loopexit189.i ], [ %cutoffs.sroa.0.1.i, %lpad.loopexit.split-lp.i.loopexit ], [ %cutoffs.sroa.0.0196.i.ph, %lpad.loopexit.split-lp.i.loopexit.split-lp ], [ %cutoffs.sroa.0.3.i, %lpad17.i.loopexit ], [ %cutoffs.sroa.0.3.i, %lpad17.i.loopexit.split-lp ] + %.pn15.i = phi { ptr, i32 } [ %.pn.i, %ehcleanup.i ], [ %.pn.i, %if.then.i.i.i152.i ], [ %lpad.loopexit190.i, %lpad.loopexit189.i ], [ %lpad.loopexit, %lpad.loopexit.split-lp.i.loopexit ], [ %lpad.loopexit.split-lp, %lpad.loopexit.split-lp.i.loopexit.split-lp ], [ %lpad.loopexit43, %lpad17.i.loopexit ], [ %lpad.loopexit.split-lp44, %lpad17.i.loopexit.split-lp ] + %tobool.not.i.i.i154.i = icmp eq ptr %cutoffs.sroa.0.4.i, null + br i1 %tobool.not.i.i.i154.i, label %common.resume, label %if.then.i.i.i155.i -if.then.i.i.i154.i: ; preds = %ehcleanup137.i +if.then.i.i.i155.i: ; preds = %ehcleanup137.i call void @_ZdlPv(ptr noundef nonnull %cutoffs.sroa.0.4.i) #33 br label %common.resume -common.resume: ; preds = %ehcleanup137.i, %if.then.i.i.i154.i, %ehcleanup15 - %common.resume.op = phi { ptr, i32 } [ %.pn.pn, %ehcleanup15 ], [ %.pn15.i, %if.then.i.i.i154.i ], [ %.pn15.i, %ehcleanup137.i ] +common.resume: ; preds = %ehcleanup137.i, %if.then.i.i.i155.i, %ehcleanup15 + %common.resume.op = phi { ptr, i32 } [ %.pn.pn, %ehcleanup15 ], [ %.pn15.i, %if.then.i.i.i155.i ], [ %.pn15.i, %ehcleanup137.i ] resume { ptr, i32 } %common.resume.op -_ZN12_GLOBAL__N_125GaussianDistributionTests20SingleChiSquaredTestIN4absl21gaussian_distributionIdEEEEdv.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %if.then.i.i.i149.i +_ZN12_GLOBAL__N_125GaussianDistributionTests20SingleChiSquaredTestIN4absl21gaussian_distributionIdEEEEdv.exit: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit.i, %if.then.i.i.i150.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp74.i) call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp95.i) %cmp2 = fcmp olt double %call66.i, 2.500000e-03 @@ -4394,8 +4398,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %container.8.val to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %container.0.val to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 5 - %cmp.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i, 288230376151711743 + %cmp.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775776 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %entry @@ -4410,7 +4413,7 @@ _ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i br i1 %cmp.not.i.i.i.i.i, label %_ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i: ; preds = %_ZNSt6vectorIN12_GLOBAL__N_15ParamESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i.i - %add.ptr3.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Param", ptr null, i64 %sub.ptr.div.i.i.i.i.i.i.i + %add.ptr3.i.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i %_M_end_of_storage4.i.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i.i, ptr %_M_end_of_storage4.i.i.i.i, align 8, !noalias !58 br label %invoke.cont.i @@ -4421,7 +4424,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIN12_GL call5.i.i.i.i.noexc.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i.i.i, ptr %container_.i.i, align 8, !noalias !58 - %add.ptr.i.i.i.i = getelementptr inbounds %"struct.(anonymous namespace)::Param", ptr %call5.i.i.i.i2.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i + %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !noalias !58 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i2.i.i.i, ptr align 8 %container.0.val, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false), !noalias !58 @@ -4439,9 +4442,10 @@ if.then.i.i3.i.i.i: ; preds = %lpad.i.i.i br label %lpad.body.i invoke.cont.i: ; preds = %call5.i.i.i.i.noexc.i.i.i, %_ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i - %add.ptr5.i.i.i.i = phi ptr [ %add.ptr3.i.i.i.i, %_ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i ], [ %add.ptr.i.i.i.i, %call5.i.i.i.i.noexc.i.i.i ] + %cond.i5.i.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIN12_GLOBAL__N_15ParamESaIS1_EE11_M_allocateEm.exit.thread.i.i.i.i ], [ %call5.i.i.i.i2.i.i.i, %call5.i.i.i.i.noexc.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i %_M_finish.i.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call.i, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8, !noalias !58 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8, !noalias !58 store ptr %call.i, ptr %agg.result, align 8, !alias.scope !58 %_M_refcount.i.i.i.i = getelementptr inbounds %"class.std::__shared_ptr", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i.i, align 8, !alias.scope !58 @@ -4958,7 +4962,7 @@ entry: store i64 0, ptr %urbg, align 8 %call5.i.i.i.i2.i.i = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #35 store ptr %call5.i.i.i.i2.i.i, ptr %data_.i, align 8 - %add.ptr.i1.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 12 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 96 %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %call5.i.i.i.i2.i.i, ptr noundef nonnull align 8 dereferenceable(96) @constinit.66, i64 96, i1 false) @@ -9672,21 +9676,21 @@ entry: %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %message_.i.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar33, i64 0, i32 1 %message_.i.i141 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar62, i64 0, i32 1 - %message_.i.i203 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar116, i64 0, i32 1 - %message_.i.i242 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar149, i64 0, i32 1 - %message_.i.i281 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar178, i64 0, i32 1 + %message_.i.i204 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar116, i64 0, i32 1 + %message_.i.i243 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar149, i64 0, i32 1 + %message_.i.i282 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar178, i64 0, i32 1 br label %for.cond3.preheader for.cond3.preheader: ; preds = %entry, %for.inc212 - %storemerge1006 = phi i64 [ 0, %entry ], [ %inc, %for.inc212 ] + %storemerge1012 = phi i64 [ 0, %entry ], [ %inc, %for.inc212 ] br label %for.body5 for.body5: ; preds = %for.cond3.preheader, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit - %__begin2.0.idx999 = phi i64 [ 0, %for.cond3.preheader ], [ %__begin2.0.add, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit ] - %__begin2.0.ptr = getelementptr inbounds i8, ptr @__const._ZN12_GLOBAL__N_145GaussianDistributionTest_AlgorithmBounds_Test8TestBodyEv.kValues, i64 %__begin2.0.idx999 + %__begin2.0.idx1005 = phi i64 [ 0, %for.cond3.preheader ], [ %__begin2.0.add, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit ] + %__begin2.0.ptr = getelementptr inbounds i8, ptr @__const._ZN12_GLOBAL__N_145GaussianDistributionTest_AlgorithmBounds_Test8TestBodyEv.kValues, i64 %__begin2.0.idx1005 %0 = load i64, ptr %__begin2.0.ptr, align 8 %and.i = and i64 %0, -128 - %or.i = or disjoint i64 %and.i, %storemerge1006 + %or.i = or disjoint i64 %and.i, %storemerge1012 %call5.i.i.i.i2.i.i = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 store i64 %or.i, ptr %call5.i.i.i.i2.i.i, align 8 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 8 @@ -9697,8 +9701,8 @@ for.body5: ; preds = %for.cond3.preheader %2 = load double, ptr %stddev_.i.i.i, align 8 br label %while.body.i -common.resume: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit166, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit308, %ehcleanup343, %ehcleanup364, %ehcleanup496, %ehcleanup519, %ehcleanup267, %if.then.i.i.i.i405, %ehcleanup322, %if.then.i.i.i.i464, %ehcleanup419, %if.then.i.i.i.i609, %ehcleanup474, %if.then.i.i.i.i670, %ehcleanup552, %if.then.i.i.i.i766 - %common.resume.op = phi { ptr, i32 } [ %.pn66.pn.pn, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit166 ], [ %.pn56.pn.pn, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit308 ], [ %.pn43.pn, %ehcleanup519 ], [ %.pn40.pn, %ehcleanup496 ], [ %.pn23.pn, %ehcleanup364 ], [ %.pn20.pn, %ehcleanup343 ], [ %.pn9.pn.pn, %ehcleanup267 ], [ %.pn9.pn.pn, %if.then.i.i.i.i405 ], [ %.pn16.pn.pn, %ehcleanup322 ], [ %.pn16.pn.pn, %if.then.i.i.i.i464 ], [ %.pn29.pn.pn, %ehcleanup419 ], [ %.pn29.pn.pn, %if.then.i.i.i.i609 ], [ %.pn36.pn.pn, %ehcleanup474 ], [ %.pn36.pn.pn, %if.then.i.i.i.i670 ], [ %.pn46.pn.pn, %ehcleanup552 ], [ %.pn46.pn.pn, %if.then.i.i.i.i766 ] +common.resume: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit166, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit309, %ehcleanup343, %ehcleanup364, %ehcleanup496, %ehcleanup519, %ehcleanup267, %if.then.i.i.i.i408, %ehcleanup322, %if.then.i.i.i.i467, %ehcleanup419, %if.then.i.i.i.i614, %ehcleanup474, %if.then.i.i.i.i675, %ehcleanup552, %if.then.i.i.i.i772 + %common.resume.op = phi { ptr, i32 } [ %.pn66.pn.pn, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit166 ], [ %.pn56.pn.pn, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit309 ], [ %.pn43.pn, %ehcleanup519 ], [ %.pn40.pn, %ehcleanup496 ], [ %.pn23.pn, %ehcleanup364 ], [ %.pn20.pn, %ehcleanup343 ], [ %.pn9.pn.pn, %ehcleanup267 ], [ %.pn9.pn.pn, %if.then.i.i.i.i408 ], [ %.pn16.pn.pn, %ehcleanup322 ], [ %.pn16.pn.pn, %if.then.i.i.i.i467 ], [ %.pn29.pn.pn, %ehcleanup419 ], [ %.pn29.pn.pn, %if.then.i.i.i.i614 ], [ %.pn36.pn.pn, %ehcleanup474 ], [ %.pn36.pn.pn, %if.then.i.i.i.i675 ], [ %.pn46.pn.pn, %ehcleanup552 ], [ %.pn46.pn.pn, %if.then.i.i.i.i772 ] resume { ptr, i32 } %common.resume.op while.body.i: ; preds = %if.end10.i, %for.body5 @@ -9708,7 +9712,7 @@ while.body.i: ; preds = %if.end10.i, %for.bo %add.ptr.i.i.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i, i64 %rem.i.i.i.i %3 = load i64, ptr %add.ptr.i.i.i.i.i, align 8 %4 = trunc i64 %3 to i32 - %conv.i768 = and i32 %4, 127 + %conv.i774 = and i32 %4, 127 %and.i.i = and i64 %3, -9223372036854775808 %and1.i.i = and i64 %3, 9223372036854775807 %5 = call i64 @llvm.ctlz.i64(i64 %and1.i.i, i1 false), !range !22 @@ -9726,15 +9730,15 @@ while.body.i: ; preds = %if.end10.i, %for.bo %9 = load double, ptr %arrayidx.i, align 8 %mul.i = fmul double %9, %8 %10 = call noundef double @llvm.fabs.f64(double %mul.i) - %add.i = add nuw nsw i32 %conv.i768, 1 + %add.i = add nuw nsw i32 %conv.i774, 1 %idxprom4.i = zext nneg i32 %add.i to i64 %arrayidx5.i = getelementptr inbounds [129 x double], ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i64 %idxprom4.i %11 = load double, ptr %arrayidx5.i, align 8 - %cmp.i769 = fcmp olt double %10, %11 - br i1 %cmp.i769, label %invoke.cont, label %if.end.i + %cmp.i775 = fcmp olt double %10, %11 + br i1 %cmp.i775, label %invoke.cont, label %if.end.i if.end.i: ; preds = %while.body.i - %cmp6.i = icmp eq i32 %conv.i768, 0 + %cmp6.i = icmp eq i32 %conv.i774, 0 br i1 %cmp6.i, label %do.body.i.i, label %if.end10.i do.body.i.i: ; preds = %if.end.i, %do.body.i.i @@ -9749,8 +9753,8 @@ do.body.i.i: ; preds = %if.end.i, %do.body. %shr.i.i.i = lshr i64 %shl.i.i.i, 11 %and2.i.i.i = and i64 %shr.i.i.i, 4503599627370495 %14 = shl nuw nsw i64 %13, 52 - %reass.sub1008 = sub nsw i64 %and2.i.i.i, %14 - %or3.i.i.i = add nsw i64 %reass.sub1008, 4602678819172646912 + %reass.sub1014 = sub nsw i64 %and2.i.i.i, %14 + %or3.i.i.i = add nsw i64 %reass.sub1014, 4602678819172646912 %15 = bitcast i64 %or3.i.i.i to double %call3.i.i = call double @log(double noundef %15) #32 %mul.i.i = fmul double %call3.i.i, 0x3FD2972A8AFC6175 @@ -9764,21 +9768,21 @@ do.body.i.i: ; preds = %if.end.i, %do.body. %shr.i19.i.i = lshr i64 %shl.i17.i.i, 11 %and2.i22.i.i = and i64 %shr.i19.i.i, 4503599627370495 %18 = shl nuw nsw i64 %17, 52 - %reass.sub1009 = sub nsw i64 %and2.i22.i.i, %18 - %or3.i23.i.i = add nsw i64 %reass.sub1009, 4602678819172646912 + %reass.sub1015 = sub nsw i64 %and2.i22.i.i, %18 + %or3.i23.i.i = add nsw i64 %reass.sub1015, 4602678819172646912 %19 = bitcast i64 %or3.i23.i.i to double %call7.i.i = call double @log(double noundef %19) #32 %fneg.i.i = fneg double %call7.i.i %add.i.i = fsub double %fneg.i.i, %call7.i.i %mul8.i.i = fmul double %mul.i.i, %mul.i.i - %cmp.i.i770 = fcmp olt double %add.i.i, %mul8.i.i - br i1 %cmp.i.i770, label %do.body.i.i, label %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i, !llvm.loop !69 + %cmp.i.i776 = fcmp olt double %add.i.i, %mul8.i.i + br i1 %cmp.i.i776, label %do.body.i.i, label %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i, !llvm.loop !69 _ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i: ; preds = %do.body.i.i %cmp8.i = fcmp olt double %8, 0.000000e+00 %sub.i14.i = fadd double %mul.i.i, 0xC00B8A7C476D2BE8 %sub9.i.i = fsub double 0x400B8A7C476D2BE8, %mul.i.i - %cond.i.i771 = select i1 %cmp8.i, double %sub.i14.i, double %sub9.i.i + %cond.i.i777 = select i1 %cmp8.i, double %sub.i14.i, double %sub9.i.i br label %invoke.cont if.end10.i: ; preds = %if.end.i @@ -9816,7 +9820,7 @@ invoke.cont.thread: ; preds = %if.end10.i invoke.cont: ; preds = %while.body.i, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i %urbg.sroa.0.4 = phi i64 [ %inc.i.i.i7.i.i, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i ], [ %inc.i.i.i.i, %while.body.i ] - %retval.0.i = phi double [ %cond.i.i771, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i ], [ %mul.i, %while.body.i ] + %retval.0.i = phi double [ %cond.i.i777, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i ], [ %mul.i, %while.body.i ] %28 = call noundef double @llvm.fmuladd.f64(double %2, double %retval.0.i, double %1) store double %28, ptr %a, align 8 store i32 1, ptr %ref.tmp8, align 4 @@ -9850,7 +9854,7 @@ if.else: ; preds = %invoke.cont11 invoke.cont15: ; preds = %if.else %32 = load ptr, ptr %ref.tmp13, align 8 %add.ptr.i = getelementptr inbounds i8, ptr %32, i64 16 - %call2.i74 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i, i64 noundef %storemerge1006) + %call2.i74 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i, i64 noundef %storemerge1012) to label %invoke.cont17 unwind label %lpad16 invoke.cont17: ; preds = %invoke.cont15 @@ -9986,7 +9990,7 @@ if.else38: ; preds = %invoke.cont35 invoke.cont41: ; preds = %if.else38 %48 = load ptr, ptr %ref.tmp39, align 8 %add.ptr.i91 = getelementptr inbounds i8, ptr %48, i64 16 - %call2.i92 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i91, i64 noundef %storemerge1006) + %call2.i92 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i91, i64 noundef %storemerge1012) to label %invoke.cont43 unwind label %lpad42 invoke.cont43: ; preds = %invoke.cont41 @@ -10112,7 +10116,7 @@ if.else67: ; preds = %invoke.cont64 invoke.cont70: ; preds = %if.else67 %64 = load ptr, ptr %ref.tmp68, align 8 %add.ptr.i129 = getelementptr inbounds i8, ptr %64, i64 16 - %call2.i130 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i129, i64 noundef %storemerge1006) + %call2.i130 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i129, i64 noundef %storemerge1012) to label %invoke.cont72 unwind label %lpad71 invoke.cont72: ; preds = %invoke.cont70 @@ -10212,17 +10216,17 @@ ehcleanup89: ; preds = %_ZN7testing7Message br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit166 _ZN4absl15random_internal13sequence_urbgD2Ev.exit.sink.split: ; preds = %if.end88, %if.end59 - %.sink1105 = phi ptr [ %60, %if.end59 ], [ %76, %if.end88 ] + %.sink1111 = phi ptr [ %60, %if.end59 ], [ %76, %if.end88 ] %message_.i.i141.sink.ph = phi ptr [ %message_.i.i103, %if.end59 ], [ %message_.i.i141, %if.end88 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1105) #32 - call void @_ZdlPv(ptr noundef nonnull %.sink1105) #33 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1111) #32 + call void @_ZdlPv(ptr noundef nonnull %.sink1111) #33 br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit _ZN4absl15random_internal13sequence_urbgD2Ev.exit: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit.sink.split, %if.end88, %if.end59 %message_.i.i141.sink = phi ptr [ %message_.i.i103, %if.end59 ], [ %message_.i.i141, %if.end88 ], [ %message_.i.i141.sink.ph, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit.sink.split ] store ptr null, ptr %message_.i.i141.sink, align 8 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i) #33 - %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx999, 8 + %__begin2.0.add = add nuw nsw i64 %__begin2.0.idx1005, 8 %cmp4.not = icmp eq i64 %__begin2.0.add, 96 br i1 %cmp4.not, label %for.end, label %for.body5 @@ -10232,16 +10236,16 @@ _ZN4absl15random_internal13sequence_urbgD2Ev.exit166: ; preds = %ehcleanup89, %e br label %common.resume for.end: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit - %77 = add nsw i64 %storemerge1006, -11 + %77 = add nsw i64 %storemerge1012, -11 %or.cond = icmp ult i64 %77, 89 br i1 %or.cond, label %for.body100, label %for.inc212 -for.body100: ; preds = %for.end, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304 - %__begin3.0.idx1000 = phi i64 [ %__begin3.0.add, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304 ], [ 0, %for.end ] - %__begin3.0.ptr = getelementptr inbounds i8, ptr @__const._ZN12_GLOBAL__N_145GaussianDistributionTest_AlgorithmBounds_Test8TestBodyEv.kExtraValues, i64 %__begin3.0.idx1000 +for.body100: ; preds = %for.end, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305 + %__begin3.0.idx1006 = phi i64 [ %__begin3.0.add, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305 ], [ 0, %for.end ] + %__begin3.0.ptr = getelementptr inbounds i8, ptr @__const._ZN12_GLOBAL__N_145GaussianDistributionTest_AlgorithmBounds_Test8TestBodyEv.kExtraValues, i64 %__begin3.0.idx1006 %78 = load i64, ptr %__begin3.0.ptr, align 8 %and.i167 = and i64 %78, -128 - %or.i168 = or disjoint i64 %and.i167, %storemerge1006 + %or.i168 = or disjoint i64 %and.i167, %storemerge1012 %call5.i.i.i.i2.i.i170 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 store i64 %or.i168, ptr %call5.i.i.i.i2.i.i170, align 8 %ref.tmp104.sroa.2.0.call5.i.i.i.i2.i.i170.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i170, i64 8 @@ -10250,149 +10254,149 @@ for.body100: ; preds = %for.end, %_ZN4absl1 store i64 6903636766325970235, ptr %ref.tmp104.sroa.3.0.call5.i.i.i.i2.i.i170.sroa_idx, align 8 %79 = load double, ptr %param_.i.i, align 8 %80 = load double, ptr %stddev_.i.i.i, align 8 - br label %while.body.i774 - -while.body.i774: ; preds = %if.end10.i800, %for.body100 - %urbg102.sroa.0.2 = phi i64 [ 0, %for.body100 ], [ %inc.i.i.i16.i801, %if.end10.i800 ] - %inc.i.i.i.i775 = or disjoint i64 %urbg102.sroa.0.2, 1 - %rem.i.i.i.i780 = urem i64 %urbg102.sroa.0.2, 3 - %add.ptr.i.i.i.i.i781 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i170, i64 %rem.i.i.i.i780 - %81 = load i64, ptr %add.ptr.i.i.i.i.i781, align 8 + br label %while.body.i780 + +while.body.i780: ; preds = %if.end10.i806, %for.body100 + %urbg102.sroa.0.2 = phi i64 [ 0, %for.body100 ], [ %inc.i.i.i16.i807, %if.end10.i806 ] + %inc.i.i.i.i781 = or disjoint i64 %urbg102.sroa.0.2, 1 + %rem.i.i.i.i786 = urem i64 %urbg102.sroa.0.2, 3 + %add.ptr.i.i.i.i.i787 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i170, i64 %rem.i.i.i.i786 + %81 = load i64, ptr %add.ptr.i.i.i.i.i787, align 8 %82 = trunc i64 %81 to i32 - %conv.i782 = and i32 %82, 127 - %and.i.i783 = and i64 %81, -9223372036854775808 - %and1.i.i784 = and i64 %81, 9223372036854775807 - %83 = call i64 @llvm.ctlz.i64(i64 %and1.i.i784, i1 false), !range !22 - %and2.i.i785 = and i64 %83, 63 - %shl.i.i786 = shl i64 %81, %and2.i.i785 - %shr.i.i787 = lshr i64 %shl.i.i786, 11 - %sub.i.i788 = shl nuw nsw i64 %83, 52 - %84 = or disjoint i64 %sub.i.i788, %and.i.i783 - %and4.i.i789 = and i64 %shr.i.i787, 4503599627370495 - %85 = or disjoint i64 %and4.i.i789, %84 - %or5.i.i790 = xor i64 %85, 4607182418800017408 - %86 = bitcast i64 %or5.i.i790 to double - %idxprom.i791 = and i64 %81, 127 - %arrayidx.i792 = getelementptr inbounds [129 x double], ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i64 %idxprom.i791 - %87 = load double, ptr %arrayidx.i792, align 8 - %mul.i793 = fmul double %87, %86 - %88 = call noundef double @llvm.fabs.f64(double %mul.i793) - %add.i794 = add nuw nsw i32 %conv.i782, 1 - %idxprom4.i795 = zext nneg i32 %add.i794 to i64 - %arrayidx5.i796 = getelementptr inbounds [129 x double], ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i64 %idxprom4.i795 - %89 = load double, ptr %arrayidx5.i796, align 8 - %cmp.i797 = fcmp olt double %88, %89 - br i1 %cmp.i797, label %invoke.cont114, label %if.end.i798 - -if.end.i798: ; preds = %while.body.i774 - %cmp6.i799 = icmp eq i32 %conv.i782, 0 - br i1 %cmp6.i799, label %do.body.i.i819, label %if.end10.i800 - -do.body.i.i819: ; preds = %if.end.i798, %do.body.i.i819 - %urbg102.sroa.0.3 = phi i64 [ %inc.i.i.i7.i.i835, %do.body.i.i819 ], [ %inc.i.i.i.i775, %if.end.i798 ] - %inc.i.i.i.i.i820 = add i64 %urbg102.sroa.0.3, 1 - %rem.i.i.i.i.i825 = urem i64 %urbg102.sroa.0.3, 3 - %add.ptr.i.i.i.i.i.i826 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i170, i64 %rem.i.i.i.i.i825 - %90 = load i64, ptr %add.ptr.i.i.i.i.i.i826, align 8 + %conv.i788 = and i32 %82, 127 + %and.i.i789 = and i64 %81, -9223372036854775808 + %and1.i.i790 = and i64 %81, 9223372036854775807 + %83 = call i64 @llvm.ctlz.i64(i64 %and1.i.i790, i1 false), !range !22 + %and2.i.i791 = and i64 %83, 63 + %shl.i.i792 = shl i64 %81, %and2.i.i791 + %shr.i.i793 = lshr i64 %shl.i.i792, 11 + %sub.i.i794 = shl nuw nsw i64 %83, 52 + %84 = or disjoint i64 %sub.i.i794, %and.i.i789 + %and4.i.i795 = and i64 %shr.i.i793, 4503599627370495 + %85 = or disjoint i64 %and4.i.i795, %84 + %or5.i.i796 = xor i64 %85, 4607182418800017408 + %86 = bitcast i64 %or5.i.i796 to double + %idxprom.i797 = and i64 %81, 127 + %arrayidx.i798 = getelementptr inbounds [129 x double], ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i64 %idxprom.i797 + %87 = load double, ptr %arrayidx.i798, align 8 + %mul.i799 = fmul double %87, %86 + %88 = call noundef double @llvm.fabs.f64(double %mul.i799) + %add.i800 = add nuw nsw i32 %conv.i788, 1 + %idxprom4.i801 = zext nneg i32 %add.i800 to i64 + %arrayidx5.i802 = getelementptr inbounds [129 x double], ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i64 %idxprom4.i801 + %89 = load double, ptr %arrayidx5.i802, align 8 + %cmp.i803 = fcmp olt double %88, %89 + br i1 %cmp.i803, label %invoke.cont114, label %if.end.i804 + +if.end.i804: ; preds = %while.body.i780 + %cmp6.i805 = icmp eq i32 %conv.i788, 0 + br i1 %cmp6.i805, label %do.body.i.i825, label %if.end10.i806 + +do.body.i.i825: ; preds = %if.end.i804, %do.body.i.i825 + %urbg102.sroa.0.3 = phi i64 [ %inc.i.i.i7.i.i841, %do.body.i.i825 ], [ %inc.i.i.i.i781, %if.end.i804 ] + %inc.i.i.i.i.i826 = add i64 %urbg102.sroa.0.3, 1 + %rem.i.i.i.i.i831 = urem i64 %urbg102.sroa.0.3, 3 + %add.ptr.i.i.i.i.i.i832 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i170, i64 %rem.i.i.i.i.i831 + %90 = load i64, ptr %add.ptr.i.i.i.i.i.i832, align 8 %91 = call i64 @llvm.ctlz.i64(i64 %90, i1 false), !range !22 - %and.i.i.i827 = and i64 %91, 63 - %shl.i.i.i828 = shl i64 %90, %and.i.i.i827 - %shr.i.i.i829 = lshr i64 %shl.i.i.i828, 11 - %and2.i.i.i830 = and i64 %shr.i.i.i829, 4503599627370495 + %and.i.i.i833 = and i64 %91, 63 + %shl.i.i.i834 = shl i64 %90, %and.i.i.i833 + %shr.i.i.i835 = lshr i64 %shl.i.i.i834, 11 + %and2.i.i.i836 = and i64 %shr.i.i.i835, 4503599627370495 %92 = shl nuw nsw i64 %91, 52 - %reass.sub1011 = sub nsw i64 %and2.i.i.i830, %92 - %or3.i.i.i832 = add nsw i64 %reass.sub1011, 4602678819172646912 - %93 = bitcast i64 %or3.i.i.i832 to double - %call3.i.i833 = call double @log(double noundef %93) #32 - %mul.i.i834 = fmul double %call3.i.i833, 0x3FD2972A8AFC6175 - %inc.i.i.i7.i.i835 = add i64 %urbg102.sroa.0.3, 2 - %rem.i.i.i13.i.i840 = urem i64 %inc.i.i.i.i.i820, 3 - %add.ptr.i.i.i.i14.i.i841 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i170, i64 %rem.i.i.i13.i.i840 - %94 = load i64, ptr %add.ptr.i.i.i.i14.i.i841, align 8 + %reass.sub1017 = sub nsw i64 %and2.i.i.i836, %92 + %or3.i.i.i838 = add nsw i64 %reass.sub1017, 4602678819172646912 + %93 = bitcast i64 %or3.i.i.i838 to double + %call3.i.i839 = call double @log(double noundef %93) #32 + %mul.i.i840 = fmul double %call3.i.i839, 0x3FD2972A8AFC6175 + %inc.i.i.i7.i.i841 = add i64 %urbg102.sroa.0.3, 2 + %rem.i.i.i13.i.i846 = urem i64 %inc.i.i.i.i.i826, 3 + %add.ptr.i.i.i.i14.i.i847 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i170, i64 %rem.i.i.i13.i.i846 + %94 = load i64, ptr %add.ptr.i.i.i.i14.i.i847, align 8 %95 = call i64 @llvm.ctlz.i64(i64 %94, i1 false), !range !22 - %and.i16.i.i842 = and i64 %95, 63 - %shl.i17.i.i843 = shl i64 %94, %and.i16.i.i842 - %shr.i19.i.i844 = lshr i64 %shl.i17.i.i843, 11 - %and2.i22.i.i845 = and i64 %shr.i19.i.i844, 4503599627370495 + %and.i16.i.i848 = and i64 %95, 63 + %shl.i17.i.i849 = shl i64 %94, %and.i16.i.i848 + %shr.i19.i.i850 = lshr i64 %shl.i17.i.i849, 11 + %and2.i22.i.i851 = and i64 %shr.i19.i.i850, 4503599627370495 %96 = shl nuw nsw i64 %95, 52 - %reass.sub1012 = sub nsw i64 %and2.i22.i.i845, %96 - %or3.i23.i.i847 = add nsw i64 %reass.sub1012, 4602678819172646912 - %97 = bitcast i64 %or3.i23.i.i847 to double - %call7.i.i848 = call double @log(double noundef %97) #32 - %fneg.i.i849 = fneg double %call7.i.i848 - %add.i.i850 = fsub double %fneg.i.i849, %call7.i.i848 - %mul8.i.i851 = fmul double %mul.i.i834, %mul.i.i834 - %cmp.i.i852 = fcmp olt double %add.i.i850, %mul8.i.i851 - br i1 %cmp.i.i852, label %do.body.i.i819, label %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i853, !llvm.loop !69 - -_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i853: ; preds = %do.body.i.i819 - %cmp8.i854 = fcmp olt double %86, 0.000000e+00 - %sub.i14.i855 = fadd double %mul.i.i834, 0xC00B8A7C476D2BE8 - %sub9.i.i856 = fsub double 0x400B8A7C476D2BE8, %mul.i.i834 - %cond.i.i857 = select i1 %cmp8.i854, double %sub.i14.i855, double %sub9.i.i856 + %reass.sub1018 = sub nsw i64 %and2.i22.i.i851, %96 + %or3.i23.i.i853 = add nsw i64 %reass.sub1018, 4602678819172646912 + %97 = bitcast i64 %or3.i23.i.i853 to double + %call7.i.i854 = call double @log(double noundef %97) #32 + %fneg.i.i855 = fneg double %call7.i.i854 + %add.i.i856 = fsub double %fneg.i.i855, %call7.i.i854 + %mul8.i.i857 = fmul double %mul.i.i840, %mul.i.i840 + %cmp.i.i858 = fcmp olt double %add.i.i856, %mul8.i.i857 + br i1 %cmp.i.i858, label %do.body.i.i825, label %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i859, !llvm.loop !69 + +_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i859: ; preds = %do.body.i.i825 + %cmp8.i860 = fcmp olt double %86, 0.000000e+00 + %sub.i14.i861 = fadd double %mul.i.i840, 0xC00B8A7C476D2BE8 + %sub9.i.i862 = fsub double 0x400B8A7C476D2BE8, %mul.i.i840 + %cond.i.i863 = select i1 %cmp8.i860, double %sub.i14.i861, double %sub9.i.i862 br label %invoke.cont114 -if.end10.i800: ; preds = %if.end.i798 - %inc.i.i.i16.i801 = add i64 %urbg102.sroa.0.2, 2 - %rem.i.i.i22.i802 = urem i64 %inc.i.i.i.i775, 3 - %add.ptr.i.i.i.i23.i803 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i170, i64 %rem.i.i.i22.i802 - %98 = load i64, ptr %add.ptr.i.i.i.i23.i803, align 8 +if.end10.i806: ; preds = %if.end.i804 + %inc.i.i.i16.i807 = add i64 %urbg102.sroa.0.2, 2 + %rem.i.i.i22.i808 = urem i64 %inc.i.i.i.i781, 3 + %add.ptr.i.i.i.i23.i809 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i170, i64 %rem.i.i.i22.i808 + %98 = load i64, ptr %add.ptr.i.i.i.i23.i809, align 8 %99 = call i64 @llvm.ctlz.i64(i64 %98, i1 false), !range !22 - %and.i25.i804 = and i64 %99, 63 - %shl.i26.i805 = shl i64 %98, %and.i25.i804 - %shr.i28.i806 = lshr i64 %shl.i26.i805, 11 - %and2.i30.i807 = and i64 %shr.i28.i806, 4503599627370495 + %and.i25.i810 = and i64 %99, 63 + %shl.i26.i811 = shl i64 %98, %and.i25.i810 + %shr.i28.i812 = lshr i64 %shl.i26.i811, 11 + %and2.i30.i813 = and i64 %shr.i28.i812, 4503599627370495 %100 = shl nuw nsw i64 %99, 52 - %reass.sub1010 = sub nsw i64 %and2.i30.i807, %100 - %or3.i.i809 = add nsw i64 %reass.sub1010, 4602678819172646912 - %101 = bitcast i64 %or3.i.i809 to double - %arrayidx16.i810 = getelementptr inbounds %"struct.absl::random_internal::gaussian_distribution_base::Tables", ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i32 1, i64 %idxprom4.i795 - %102 = load double, ptr %arrayidx16.i810, align 8 - %arrayidx18.i811 = getelementptr inbounds %"struct.absl::random_internal::gaussian_distribution_base::Tables", ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i32 1, i64 %idxprom.i791 - %103 = load double, ptr %arrayidx18.i811, align 8 - %sub.i812 = fsub double %103, %102 - %104 = call double @llvm.fmuladd.f64(double %101, double %sub.i812, double %102) - %mul23.i813 = fmul double %mul.i793, -5.000000e-01 - %mul24.i814 = fmul double %mul.i793, %mul23.i813 - %call25.i815 = call double @exp(double noundef %mul24.i814) #32 - %cmp26.i816 = fcmp olt double %104, %call25.i815 - br i1 %cmp26.i816, label %invoke.cont114.thread, label %while.body.i774, !llvm.loop !70 - -invoke.cont114.thread: ; preds = %if.end10.i800 - %105 = call noundef double @llvm.fmuladd.f64(double %80, double %mul.i793, double %79) + %reass.sub1016 = sub nsw i64 %and2.i30.i813, %100 + %or3.i.i815 = add nsw i64 %reass.sub1016, 4602678819172646912 + %101 = bitcast i64 %or3.i.i815 to double + %arrayidx16.i816 = getelementptr inbounds %"struct.absl::random_internal::gaussian_distribution_base::Tables", ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i32 1, i64 %idxprom4.i801 + %102 = load double, ptr %arrayidx16.i816, align 8 + %arrayidx18.i817 = getelementptr inbounds %"struct.absl::random_internal::gaussian_distribution_base::Tables", ptr @_ZN4absl15random_internal26gaussian_distribution_base3zg_E, i64 0, i32 1, i64 %idxprom.i797 + %103 = load double, ptr %arrayidx18.i817, align 8 + %sub.i818 = fsub double %103, %102 + %104 = call double @llvm.fmuladd.f64(double %101, double %sub.i818, double %102) + %mul23.i819 = fmul double %mul.i799, -5.000000e-01 + %mul24.i820 = fmul double %mul.i799, %mul23.i819 + %call25.i821 = call double @exp(double noundef %mul24.i820) #32 + %cmp26.i822 = fcmp olt double %104, %call25.i821 + br i1 %cmp26.i822, label %invoke.cont114.thread, label %while.body.i780, !llvm.loop !70 + +invoke.cont114.thread: ; preds = %if.end10.i806 + %105 = call noundef double @llvm.fmuladd.f64(double %80, double %mul.i799, double %79) store double %105, ptr %a112, align 8 store i32 1, ptr %ref.tmp117, align 4 - store i64 %inc.i.i.i16.i801, ptr %ref.tmp118, align 8 - br label %if.end.i.i185 + store i64 %inc.i.i.i16.i807, ptr %ref.tmp118, align 8 + br label %if.end.i.i186 -invoke.cont114: ; preds = %while.body.i774, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i853 - %urbg102.sroa.0.4 = phi i64 [ %inc.i.i.i7.i.i835, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i853 ], [ %inc.i.i.i.i775, %while.body.i774 ] - %retval.0.i817 = phi double [ %cond.i.i857, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i853 ], [ %mul.i793, %while.body.i774 ] - %106 = call noundef double @llvm.fmuladd.f64(double %80, double %retval.0.i817, double %79) +invoke.cont114: ; preds = %while.body.i780, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i859 + %urbg102.sroa.0.4 = phi i64 [ %inc.i.i.i7.i.i841, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i859 ], [ %inc.i.i.i.i781, %while.body.i780 ] + %retval.0.i823 = phi double [ %cond.i.i863, %_ZN4absl15random_internal26gaussian_distribution_base15zignor_fallbackINS0_13sequence_urbgEEEdRT_b.exit.i859 ], [ %mul.i799, %while.body.i780 ] + %106 = call noundef double @llvm.fmuladd.f64(double %80, double %retval.0.i823, double %79) store double %106, ptr %a112, align 8 store i32 1, ptr %ref.tmp117, align 4 store i64 %urbg102.sroa.0.4, ptr %ref.tmp118, align 8 - %cmp.i.i184 = icmp eq i64 %urbg102.sroa.0.4, 1 - br i1 %cmp.i.i184, label %if.then.i.i186, label %if.end.i.i185 + %cmp.i.i185 = icmp eq i64 %urbg102.sroa.0.4, 1 + br i1 %cmp.i.i185, label %if.then.i.i187, label %if.end.i.i186 -if.then.i.i186: ; preds = %invoke.cont114 +if.then.i.i187: ; preds = %invoke.cont114 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar116) to label %invoke.cont120 unwind label %lpad113 -if.end.i.i185: ; preds = %invoke.cont114.thread, %invoke.cont114 +if.end.i.i186: ; preds = %invoke.cont114.thread, %invoke.cont114 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar116, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.68, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp117, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp118) to label %invoke.cont120 unwind label %lpad113 -invoke.cont120: ; preds = %if.then.i.i186, %if.end.i.i185 +invoke.cont120: ; preds = %if.then.i.i187, %if.end.i.i186 %107 = load i8, ptr %gtest_ar116, align 8 %108 = and i8 %107, 1 - %tobool.i190.not = icmp eq i8 %108, 0 - br i1 %tobool.i190.not, label %if.else123, label %if.end144 + %tobool.i191.not = icmp eq i8 %108, 0 + br i1 %tobool.i191.not, label %if.else123, label %if.end144 -lpad113: ; preds = %if.else.i263, %if.then.i264, %if.else.i224, %if.then.i225, %if.end.i.i185, %if.then.i.i186 +lpad113: ; preds = %if.else.i264, %if.then.i265, %if.else.i225, %if.then.i226, %if.end.i.i186, %if.then.i.i187 %109 = landingpad { ptr, i32 } cleanup - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit308 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit309 if.else123: ; preds = %invoke.cont120 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp124) @@ -10400,40 +10404,40 @@ if.else123: ; preds = %invoke.cont120 invoke.cont126: ; preds = %if.else123 %110 = load ptr, ptr %ref.tmp124, align 8 - %add.ptr.i191 = getelementptr inbounds i8, ptr %110, i64 16 - %call2.i192 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i191, i64 noundef %storemerge1006) + %add.ptr.i192 = getelementptr inbounds i8, ptr %110, i64 16 + %call2.i193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i192, i64 noundef %storemerge1012) to label %invoke.cont128 unwind label %lpad127 invoke.cont128: ; preds = %invoke.cont126 %111 = load ptr, ptr %ref.tmp124, align 8 - %add.ptr.i194 = getelementptr inbounds i8, ptr %111, i64 16 - %call2.i195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i194, ptr noundef nonnull @.str.50) + %add.ptr.i195 = getelementptr inbounds i8, ptr %111, i64 16 + %call2.i196 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i195, ptr noundef nonnull @.str.50) to label %invoke.cont130 unwind label %lpad127 invoke.cont130: ; preds = %invoke.cont128 %112 = load ptr, ptr %ref.tmp124, align 8 - %add.ptr.i197 = getelementptr inbounds i8, ptr %112, i64 16 - %call2.i198 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i197, ptr noundef nonnull @_ZSt3hexRSt8ios_base) + %add.ptr.i198 = getelementptr inbounds i8, ptr %112, i64 16 + %call2.i199 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i198, ptr noundef nonnull @_ZSt3hexRSt8ios_base) to label %invoke.cont132 unwind label %lpad127 invoke.cont132: ; preds = %invoke.cont130 %113 = load ptr, ptr %ref.tmp124, align 8 - %add.ptr.i200 = getelementptr inbounds i8, ptr %113, i64 16 - %call2.i201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i200, i64 noundef %78) + %add.ptr.i201 = getelementptr inbounds i8, ptr %113, i64 16 + %call2.i202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i201, i64 noundef %78) to label %invoke.cont134 unwind label %lpad127 invoke.cont134: ; preds = %invoke.cont132 - %114 = load ptr, ptr %message_.i.i203, align 8 - %cmp.i.i.not.i.i204 = icmp eq ptr %114, null - br i1 %cmp.i.i.not.i.i204, label %invoke.cont137, label %cond.true.i.i205 + %114 = load ptr, ptr %message_.i.i204, align 8 + %cmp.i.i.not.i.i205 = icmp eq ptr %114, null + br i1 %cmp.i.i.not.i.i205, label %invoke.cont137, label %cond.true.i.i206 -cond.true.i.i205: ; preds = %invoke.cont134 - %call4.i.i206 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %114) #32 +cond.true.i.i206: ; preds = %invoke.cont134 + %call4.i.i207 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %114) #32 br label %invoke.cont137 -invoke.cont137: ; preds = %cond.true.i.i205, %invoke.cont134 - %cond.i.i207 = phi ptr [ %call4.i.i206, %cond.true.i.i205 ], [ @.str, %invoke.cont134 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 489, ptr noundef %cond.i.i207) +invoke.cont137: ; preds = %cond.true.i.i206, %invoke.cont134 + %cond.i.i208 = phi ptr [ %call4.i.i207, %cond.true.i.i206 ], [ @.str, %invoke.cont134 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 489, ptr noundef %cond.i.i208) to label %invoke.cont139 unwind label %lpad127 invoke.cont139: ; preds = %invoke.cont137 @@ -10443,17 +10447,17 @@ invoke.cont139: ; preds = %invoke.cont137 invoke.cont141: ; preds = %invoke.cont139 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp136) #32 %115 = load ptr, ptr %ref.tmp124, align 8 - %cmp.not.i.i209 = icmp eq ptr %115, null - br i1 %cmp.not.i.i209, label %_ZN7testing7MessageD2Ev.exit213, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 + %cmp.not.i.i210 = icmp eq ptr %115, null + br i1 %cmp.not.i.i210, label %_ZN7testing7MessageD2Ev.exit214, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210: ; preds = %invoke.cont141 - %vtable.i.i.i211 = load ptr, ptr %115, align 8 - %vfn.i.i.i212 = getelementptr inbounds ptr, ptr %vtable.i.i.i211, i64 1 - %116 = load ptr, ptr %vfn.i.i.i212, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211: ; preds = %invoke.cont141 + %vtable.i.i.i212 = load ptr, ptr %115, align 8 + %vfn.i.i.i213 = getelementptr inbounds ptr, ptr %vtable.i.i.i212, i64 1 + %116 = load ptr, ptr %vfn.i.i.i213, align 8 call void %116(ptr noundef nonnull align 8 dereferenceable(128) %115) #32 - br label %_ZN7testing7MessageD2Ev.exit213 + br label %_ZN7testing7MessageD2Ev.exit214 -_ZN7testing7MessageD2Ev.exit213: ; preds = %invoke.cont141, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i210 +_ZN7testing7MessageD2Ev.exit214: ; preds = %invoke.cont141, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i211 store ptr null, ptr %ref.tmp124, align 8 br label %if.end144 @@ -10476,59 +10480,59 @@ lpad140: ; preds = %invoke.cont139 ehcleanup143: ; preds = %lpad140, %lpad127 %.pn50 = phi { ptr, i32 } [ %119, %lpad140 ], [ %118, %lpad127 ] %120 = load ptr, ptr %ref.tmp124, align 8 - %cmp.not.i.i214 = icmp eq ptr %120, null - br i1 %cmp.not.i.i214, label %_ZN7testing7MessageD2Ev.exit218, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215 + %cmp.not.i.i215 = icmp eq ptr %120, null + br i1 %cmp.not.i.i215, label %_ZN7testing7MessageD2Ev.exit219, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i216 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215: ; preds = %ehcleanup143 - %vtable.i.i.i216 = load ptr, ptr %120, align 8 - %vfn.i.i.i217 = getelementptr inbounds ptr, ptr %vtable.i.i.i216, i64 1 - %121 = load ptr, ptr %vfn.i.i.i217, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i216: ; preds = %ehcleanup143 + %vtable.i.i.i217 = load ptr, ptr %120, align 8 + %vfn.i.i.i218 = getelementptr inbounds ptr, ptr %vtable.i.i.i217, i64 1 + %121 = load ptr, ptr %vfn.i.i.i218, align 8 call void %121(ptr noundef nonnull align 8 dereferenceable(128) %120) #32 - br label %_ZN7testing7MessageD2Ev.exit218 + br label %_ZN7testing7MessageD2Ev.exit219 -_ZN7testing7MessageD2Ev.exit218: ; preds = %ehcleanup143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i215 +_ZN7testing7MessageD2Ev.exit219: ; preds = %ehcleanup143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i216 store ptr null, ptr %ref.tmp124, align 8 br label %ehcleanup145 -if.end144: ; preds = %invoke.cont120, %_ZN7testing7MessageD2Ev.exit213 - %122 = load ptr, ptr %message_.i.i203, align 8 - %cmp.not.i.i220 = icmp eq ptr %122, null - br i1 %cmp.not.i.i220, label %_ZN7testing15AssertionResultD2Ev.exit222, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221 +if.end144: ; preds = %invoke.cont120, %_ZN7testing7MessageD2Ev.exit214 + %122 = load ptr, ptr %message_.i.i204, align 8 + %cmp.not.i.i221 = icmp eq ptr %122, null + br i1 %cmp.not.i.i221, label %_ZN7testing15AssertionResultD2Ev.exit223, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221: ; preds = %if.end144 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222: ; preds = %if.end144 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #32 call void @_ZdlPv(ptr noundef nonnull %122) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit222 + br label %_ZN7testing15AssertionResultD2Ev.exit223 -_ZN7testing15AssertionResultD2Ev.exit222: ; preds = %if.end144, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i221 - store ptr null, ptr %message_.i.i203, align 8 +_ZN7testing15AssertionResultD2Ev.exit223: ; preds = %if.end144, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i222 + store ptr null, ptr %message_.i.i204, align 8 %tobool147.not = icmp sgt i64 %78, -1 br i1 %tobool147.not, label %if.else177, label %if.then148 -if.then148: ; preds = %_ZN7testing15AssertionResultD2Ev.exit222 +if.then148: ; preds = %_ZN7testing15AssertionResultD2Ev.exit223 store double 0.000000e+00, ptr %ref.tmp150, align 8 %123 = load double, ptr %a112, align 8, !noalias !261 - %cmp.i223 = fcmp olt double %123, 0.000000e+00 - br i1 %cmp.i223, label %if.then.i225, label %if.else.i224 + %cmp.i224 = fcmp olt double %123, 0.000000e+00 + br i1 %cmp.i224, label %if.then.i226, label %if.else.i225 -if.then.i225: ; preds = %if.then148 +if.then.i226: ; preds = %if.then148 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar149) to label %invoke.cont151 unwind label %lpad113 -if.else.i224: ; preds = %if.then148 +if.else.i225: ; preds = %if.then148 invoke void @_ZN7testing8internal18CmpHelperOpFailureIddEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar149, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.103, ptr noundef nonnull align 8 dereferenceable(8) %a112, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp150, ptr noundef nonnull @.str.118) to label %invoke.cont151 unwind label %lpad113 -invoke.cont151: ; preds = %if.then.i225, %if.else.i224 +invoke.cont151: ; preds = %if.then.i226, %if.else.i225 %124 = load i8, ptr %gtest_ar149, align 8 %125 = and i8 %124, 1 - %tobool.i229.not = icmp eq i8 %125, 0 - br i1 %tobool.i229.not, label %if.else154, label %if.end175 + %tobool.i230.not = icmp eq i8 %125, 0 + br i1 %tobool.i230.not, label %if.else154, label %if.end175 -ehcleanup145: ; preds = %_ZN7testing7MessageD2Ev.exit218, %lpad125 - %.pn50.pn = phi { ptr, i32 } [ %.pn50, %_ZN7testing7MessageD2Ev.exit218 ], [ %117, %lpad125 ] +ehcleanup145: ; preds = %_ZN7testing7MessageD2Ev.exit219, %lpad125 + %.pn50.pn = phi { ptr, i32 } [ %.pn50, %_ZN7testing7MessageD2Ev.exit219 ], [ %117, %lpad125 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar116) #32 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit308 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit309 if.else154: ; preds = %invoke.cont151 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp155) @@ -10536,40 +10540,40 @@ if.else154: ; preds = %invoke.cont151 invoke.cont157: ; preds = %if.else154 %126 = load ptr, ptr %ref.tmp155, align 8 - %add.ptr.i230 = getelementptr inbounds i8, ptr %126, i64 16 - %call2.i231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i230, i64 noundef %storemerge1006) + %add.ptr.i231 = getelementptr inbounds i8, ptr %126, i64 16 + %call2.i232 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i231, i64 noundef %storemerge1012) to label %invoke.cont159 unwind label %lpad158 invoke.cont159: ; preds = %invoke.cont157 %127 = load ptr, ptr %ref.tmp155, align 8 - %add.ptr.i233 = getelementptr inbounds i8, ptr %127, i64 16 - %call2.i234 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i233, ptr noundef nonnull @.str.50) + %add.ptr.i234 = getelementptr inbounds i8, ptr %127, i64 16 + %call2.i235 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i234, ptr noundef nonnull @.str.50) to label %invoke.cont161 unwind label %lpad158 invoke.cont161: ; preds = %invoke.cont159 %128 = load ptr, ptr %ref.tmp155, align 8 - %add.ptr.i236 = getelementptr inbounds i8, ptr %128, i64 16 - %call2.i237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i236, ptr noundef nonnull @_ZSt3hexRSt8ios_base) + %add.ptr.i237 = getelementptr inbounds i8, ptr %128, i64 16 + %call2.i238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i237, ptr noundef nonnull @_ZSt3hexRSt8ios_base) to label %invoke.cont163 unwind label %lpad158 invoke.cont163: ; preds = %invoke.cont161 %129 = load ptr, ptr %ref.tmp155, align 8 - %add.ptr.i239 = getelementptr inbounds i8, ptr %129, i64 16 - %call2.i240 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i239, i64 noundef %78) + %add.ptr.i240 = getelementptr inbounds i8, ptr %129, i64 16 + %call2.i241 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i240, i64 noundef %78) to label %invoke.cont165 unwind label %lpad158 invoke.cont165: ; preds = %invoke.cont163 - %130 = load ptr, ptr %message_.i.i242, align 8 - %cmp.i.i.not.i.i243 = icmp eq ptr %130, null - br i1 %cmp.i.i.not.i.i243, label %invoke.cont168, label %cond.true.i.i244 + %130 = load ptr, ptr %message_.i.i243, align 8 + %cmp.i.i.not.i.i244 = icmp eq ptr %130, null + br i1 %cmp.i.i.not.i.i244, label %invoke.cont168, label %cond.true.i.i245 -cond.true.i.i244: ; preds = %invoke.cont165 - %call4.i.i245 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %130) #32 +cond.true.i.i245: ; preds = %invoke.cont165 + %call4.i.i246 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %130) #32 br label %invoke.cont168 -invoke.cont168: ; preds = %cond.true.i.i244, %invoke.cont165 - %cond.i.i246 = phi ptr [ %call4.i.i245, %cond.true.i.i244 ], [ @.str, %invoke.cont165 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp167, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 491, ptr noundef %cond.i.i246) +invoke.cont168: ; preds = %cond.true.i.i245, %invoke.cont165 + %cond.i.i247 = phi ptr [ %call4.i.i246, %cond.true.i.i245 ], [ @.str, %invoke.cont165 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp167, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 491, ptr noundef %cond.i.i247) to label %invoke.cont170 unwind label %lpad158 invoke.cont170: ; preds = %invoke.cont168 @@ -10579,17 +10583,17 @@ invoke.cont170: ; preds = %invoke.cont168 invoke.cont172: ; preds = %invoke.cont170 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp167) #32 %131 = load ptr, ptr %ref.tmp155, align 8 - %cmp.not.i.i248 = icmp eq ptr %131, null - br i1 %cmp.not.i.i248, label %_ZN7testing7MessageD2Ev.exit252, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i249 + %cmp.not.i.i249 = icmp eq ptr %131, null + br i1 %cmp.not.i.i249, label %_ZN7testing7MessageD2Ev.exit253, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i249: ; preds = %invoke.cont172 - %vtable.i.i.i250 = load ptr, ptr %131, align 8 - %vfn.i.i.i251 = getelementptr inbounds ptr, ptr %vtable.i.i.i250, i64 1 - %132 = load ptr, ptr %vfn.i.i.i251, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250: ; preds = %invoke.cont172 + %vtable.i.i.i251 = load ptr, ptr %131, align 8 + %vfn.i.i.i252 = getelementptr inbounds ptr, ptr %vtable.i.i.i251, i64 1 + %132 = load ptr, ptr %vfn.i.i.i252, align 8 call void %132(ptr noundef nonnull align 8 dereferenceable(128) %131) #32 - br label %_ZN7testing7MessageD2Ev.exit252 + br label %_ZN7testing7MessageD2Ev.exit253 -_ZN7testing7MessageD2Ev.exit252: ; preds = %invoke.cont172, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i249 +_ZN7testing7MessageD2Ev.exit253: ; preds = %invoke.cont172, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 store ptr null, ptr %ref.tmp155, align 8 br label %if.end175 @@ -10612,49 +10616,49 @@ lpad171: ; preds = %invoke.cont170 ehcleanup174: ; preds = %lpad171, %lpad158 %.pn56 = phi { ptr, i32 } [ %135, %lpad171 ], [ %134, %lpad158 ] %136 = load ptr, ptr %ref.tmp155, align 8 - %cmp.not.i.i253 = icmp eq ptr %136, null - br i1 %cmp.not.i.i253, label %_ZN7testing7MessageD2Ev.exit257, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254 + %cmp.not.i.i254 = icmp eq ptr %136, null + br i1 %cmp.not.i.i254, label %_ZN7testing7MessageD2Ev.exit258, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i255 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254: ; preds = %ehcleanup174 - %vtable.i.i.i255 = load ptr, ptr %136, align 8 - %vfn.i.i.i256 = getelementptr inbounds ptr, ptr %vtable.i.i.i255, i64 1 - %137 = load ptr, ptr %vfn.i.i.i256, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i255: ; preds = %ehcleanup174 + %vtable.i.i.i256 = load ptr, ptr %136, align 8 + %vfn.i.i.i257 = getelementptr inbounds ptr, ptr %vtable.i.i.i256, i64 1 + %137 = load ptr, ptr %vfn.i.i.i257, align 8 call void %137(ptr noundef nonnull align 8 dereferenceable(128) %136) #32 - br label %_ZN7testing7MessageD2Ev.exit257 + br label %_ZN7testing7MessageD2Ev.exit258 -_ZN7testing7MessageD2Ev.exit257: ; preds = %ehcleanup174, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254 +_ZN7testing7MessageD2Ev.exit258: ; preds = %ehcleanup174, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i255 store ptr null, ptr %ref.tmp155, align 8 br label %ehcleanup176 -if.end175: ; preds = %invoke.cont151, %_ZN7testing7MessageD2Ev.exit252 - %138 = load ptr, ptr %message_.i.i242, align 8 - %cmp.not.i.i259 = icmp eq ptr %138, null - br i1 %cmp.not.i.i259, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304.sink.split +if.end175: ; preds = %invoke.cont151, %_ZN7testing7MessageD2Ev.exit253 + %138 = load ptr, ptr %message_.i.i243, align 8 + %cmp.not.i.i260 = icmp eq ptr %138, null + br i1 %cmp.not.i.i260, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305.sink.split -ehcleanup176: ; preds = %_ZN7testing7MessageD2Ev.exit257, %lpad156 - %.pn56.pn = phi { ptr, i32 } [ %.pn56, %_ZN7testing7MessageD2Ev.exit257 ], [ %133, %lpad156 ] +ehcleanup176: ; preds = %_ZN7testing7MessageD2Ev.exit258, %lpad156 + %.pn56.pn = phi { ptr, i32 } [ %.pn56, %_ZN7testing7MessageD2Ev.exit258 ], [ %133, %lpad156 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar149) #32 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit308 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit309 -if.else177: ; preds = %_ZN7testing15AssertionResultD2Ev.exit222 +if.else177: ; preds = %_ZN7testing15AssertionResultD2Ev.exit223 store double 0.000000e+00, ptr %ref.tmp179, align 8 %139 = load double, ptr %a112, align 8, !noalias !264 - %cmp.i262 = fcmp ogt double %139, 0.000000e+00 - br i1 %cmp.i262, label %if.then.i264, label %if.else.i263 + %cmp.i263 = fcmp ogt double %139, 0.000000e+00 + br i1 %cmp.i263, label %if.then.i265, label %if.else.i264 -if.then.i264: ; preds = %if.else177 +if.then.i265: ; preds = %if.else177 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar178) to label %invoke.cont180 unwind label %lpad113 -if.else.i263: ; preds = %if.else177 +if.else.i264: ; preds = %if.else177 invoke void @_ZN7testing8internal18CmpHelperOpFailureIddEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar178, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.103, ptr noundef nonnull align 8 dereferenceable(8) %a112, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp179, ptr noundef nonnull @.str.119) to label %invoke.cont180 unwind label %lpad113 -invoke.cont180: ; preds = %if.then.i264, %if.else.i263 +invoke.cont180: ; preds = %if.then.i265, %if.else.i264 %140 = load i8, ptr %gtest_ar178, align 8 %141 = and i8 %140, 1 - %tobool.i268.not = icmp eq i8 %141, 0 - br i1 %tobool.i268.not, label %if.else183, label %if.end204 + %tobool.i269.not = icmp eq i8 %141, 0 + br i1 %tobool.i269.not, label %if.else183, label %if.end204 if.else183: ; preds = %invoke.cont180 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp184) @@ -10662,40 +10666,40 @@ if.else183: ; preds = %invoke.cont180 invoke.cont186: ; preds = %if.else183 %142 = load ptr, ptr %ref.tmp184, align 8 - %add.ptr.i269 = getelementptr inbounds i8, ptr %142, i64 16 - %call2.i270 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i269, i64 noundef %storemerge1006) + %add.ptr.i270 = getelementptr inbounds i8, ptr %142, i64 16 + %call2.i271 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i270, i64 noundef %storemerge1012) to label %invoke.cont188 unwind label %lpad187 invoke.cont188: ; preds = %invoke.cont186 %143 = load ptr, ptr %ref.tmp184, align 8 - %add.ptr.i272 = getelementptr inbounds i8, ptr %143, i64 16 - %call2.i273 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i272, ptr noundef nonnull @.str.50) + %add.ptr.i273 = getelementptr inbounds i8, ptr %143, i64 16 + %call2.i274 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i273, ptr noundef nonnull @.str.50) to label %invoke.cont190 unwind label %lpad187 invoke.cont190: ; preds = %invoke.cont188 %144 = load ptr, ptr %ref.tmp184, align 8 - %add.ptr.i275 = getelementptr inbounds i8, ptr %144, i64 16 - %call2.i276 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i275, ptr noundef nonnull @_ZSt3hexRSt8ios_base) + %add.ptr.i276 = getelementptr inbounds i8, ptr %144, i64 16 + %call2.i277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i276, ptr noundef nonnull @_ZSt3hexRSt8ios_base) to label %invoke.cont192 unwind label %lpad187 invoke.cont192: ; preds = %invoke.cont190 %145 = load ptr, ptr %ref.tmp184, align 8 - %add.ptr.i278 = getelementptr inbounds i8, ptr %145, i64 16 - %call2.i279 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i278, i64 noundef %78) + %add.ptr.i279 = getelementptr inbounds i8, ptr %145, i64 16 + %call2.i280 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i279, i64 noundef %78) to label %invoke.cont194 unwind label %lpad187 invoke.cont194: ; preds = %invoke.cont192 - %146 = load ptr, ptr %message_.i.i281, align 8 - %cmp.i.i.not.i.i282 = icmp eq ptr %146, null - br i1 %cmp.i.i.not.i.i282, label %invoke.cont197, label %cond.true.i.i283 + %146 = load ptr, ptr %message_.i.i282, align 8 + %cmp.i.i.not.i.i283 = icmp eq ptr %146, null + br i1 %cmp.i.i.not.i.i283, label %invoke.cont197, label %cond.true.i.i284 -cond.true.i.i283: ; preds = %invoke.cont194 - %call4.i.i284 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %146) #32 +cond.true.i.i284: ; preds = %invoke.cont194 + %call4.i.i285 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %146) #32 br label %invoke.cont197 -invoke.cont197: ; preds = %cond.true.i.i283, %invoke.cont194 - %cond.i.i285 = phi ptr [ %call4.i.i284, %cond.true.i.i283 ], [ @.str, %invoke.cont194 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp196, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 493, ptr noundef %cond.i.i285) +invoke.cont197: ; preds = %cond.true.i.i284, %invoke.cont194 + %cond.i.i286 = phi ptr [ %call4.i.i285, %cond.true.i.i284 ], [ @.str, %invoke.cont194 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp196, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 493, ptr noundef %cond.i.i286) to label %invoke.cont199 unwind label %lpad187 invoke.cont199: ; preds = %invoke.cont197 @@ -10705,17 +10709,17 @@ invoke.cont199: ; preds = %invoke.cont197 invoke.cont201: ; preds = %invoke.cont199 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp196) #32 %147 = load ptr, ptr %ref.tmp184, align 8 - %cmp.not.i.i287 = icmp eq ptr %147, null - br i1 %cmp.not.i.i287, label %_ZN7testing7MessageD2Ev.exit291, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 + %cmp.not.i.i288 = icmp eq ptr %147, null + br i1 %cmp.not.i.i288, label %_ZN7testing7MessageD2Ev.exit292, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288: ; preds = %invoke.cont201 - %vtable.i.i.i289 = load ptr, ptr %147, align 8 - %vfn.i.i.i290 = getelementptr inbounds ptr, ptr %vtable.i.i.i289, i64 1 - %148 = load ptr, ptr %vfn.i.i.i290, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289: ; preds = %invoke.cont201 + %vtable.i.i.i290 = load ptr, ptr %147, align 8 + %vfn.i.i.i291 = getelementptr inbounds ptr, ptr %vtable.i.i.i290, i64 1 + %148 = load ptr, ptr %vfn.i.i.i291, align 8 call void %148(ptr noundef nonnull align 8 dereferenceable(128) %147) #32 - br label %_ZN7testing7MessageD2Ev.exit291 + br label %_ZN7testing7MessageD2Ev.exit292 -_ZN7testing7MessageD2Ev.exit291: ; preds = %invoke.cont201, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 +_ZN7testing7MessageD2Ev.exit292: ; preds = %invoke.cont201, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289 store ptr null, ptr %ref.tmp184, align 8 br label %if.end204 @@ -10738,95 +10742,95 @@ lpad200: ; preds = %invoke.cont199 ehcleanup203: ; preds = %lpad200, %lpad187 %.pn53 = phi { ptr, i32 } [ %151, %lpad200 ], [ %150, %lpad187 ] %152 = load ptr, ptr %ref.tmp184, align 8 - %cmp.not.i.i292 = icmp eq ptr %152, null - br i1 %cmp.not.i.i292, label %_ZN7testing7MessageD2Ev.exit296, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i293 + %cmp.not.i.i293 = icmp eq ptr %152, null + br i1 %cmp.not.i.i293, label %_ZN7testing7MessageD2Ev.exit297, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i293: ; preds = %ehcleanup203 - %vtable.i.i.i294 = load ptr, ptr %152, align 8 - %vfn.i.i.i295 = getelementptr inbounds ptr, ptr %vtable.i.i.i294, i64 1 - %153 = load ptr, ptr %vfn.i.i.i295, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294: ; preds = %ehcleanup203 + %vtable.i.i.i295 = load ptr, ptr %152, align 8 + %vfn.i.i.i296 = getelementptr inbounds ptr, ptr %vtable.i.i.i295, i64 1 + %153 = load ptr, ptr %vfn.i.i.i296, align 8 call void %153(ptr noundef nonnull align 8 dereferenceable(128) %152) #32 - br label %_ZN7testing7MessageD2Ev.exit296 + br label %_ZN7testing7MessageD2Ev.exit297 -_ZN7testing7MessageD2Ev.exit296: ; preds = %ehcleanup203, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i293 +_ZN7testing7MessageD2Ev.exit297: ; preds = %ehcleanup203, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 store ptr null, ptr %ref.tmp184, align 8 br label %ehcleanup205 -if.end204: ; preds = %invoke.cont180, %_ZN7testing7MessageD2Ev.exit291 - %154 = load ptr, ptr %message_.i.i281, align 8 - %cmp.not.i.i298 = icmp eq ptr %154, null - br i1 %cmp.not.i.i298, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304.sink.split +if.end204: ; preds = %invoke.cont180, %_ZN7testing7MessageD2Ev.exit292 + %154 = load ptr, ptr %message_.i.i282, align 8 + %cmp.not.i.i299 = icmp eq ptr %154, null + br i1 %cmp.not.i.i299, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305.sink.split -ehcleanup205: ; preds = %_ZN7testing7MessageD2Ev.exit296, %lpad185 - %.pn53.pn = phi { ptr, i32 } [ %.pn53, %_ZN7testing7MessageD2Ev.exit296 ], [ %149, %lpad185 ] +ehcleanup205: ; preds = %_ZN7testing7MessageD2Ev.exit297, %lpad185 + %.pn53.pn = phi { ptr, i32 } [ %.pn53, %_ZN7testing7MessageD2Ev.exit297 ], [ %149, %lpad185 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar178) #32 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit308 - -_ZN4absl15random_internal13sequence_urbgD2Ev.exit304.sink.split: ; preds = %if.end204, %if.end175 - %.sink1107 = phi ptr [ %138, %if.end175 ], [ %154, %if.end204 ] - %message_.i.i281.sink.ph = phi ptr [ %message_.i.i242, %if.end175 ], [ %message_.i.i281, %if.end204 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1107) #32 - call void @_ZdlPv(ptr noundef nonnull %.sink1107) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304 - -_ZN4absl15random_internal13sequence_urbgD2Ev.exit304: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304.sink.split, %if.end204, %if.end175 - %message_.i.i281.sink = phi ptr [ %message_.i.i242, %if.end175 ], [ %message_.i.i281, %if.end204 ], [ %message_.i.i281.sink.ph, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304.sink.split ] - store ptr null, ptr %message_.i.i281.sink, align 8 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit309 + +_ZN4absl15random_internal13sequence_urbgD2Ev.exit305.sink.split: ; preds = %if.end204, %if.end175 + %.sink1113 = phi ptr [ %138, %if.end175 ], [ %154, %if.end204 ] + %message_.i.i282.sink.ph = phi ptr [ %message_.i.i243, %if.end175 ], [ %message_.i.i282, %if.end204 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1113) #32 + call void @_ZdlPv(ptr noundef nonnull %.sink1113) #33 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305 + +_ZN4absl15random_internal13sequence_urbgD2Ev.exit305: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305.sink.split, %if.end204, %if.end175 + %message_.i.i282.sink = phi ptr [ %message_.i.i243, %if.end175 ], [ %message_.i.i282, %if.end204 ], [ %message_.i.i282.sink.ph, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305.sink.split ] + store ptr null, ptr %message_.i.i282.sink, align 8 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i170) #33 - %__begin3.0.add = add nuw nsw i64 %__begin3.0.idx1000, 8 + %__begin3.0.add = add nuw nsw i64 %__begin3.0.idx1006, 8 %cmp99.not = icmp eq i64 %__begin3.0.add, 64 br i1 %cmp99.not, label %for.inc212, label %for.body100 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit308: ; preds = %ehcleanup205, %ehcleanup176, %ehcleanup145, %lpad113 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit309: ; preds = %ehcleanup205, %ehcleanup176, %ehcleanup145, %lpad113 %.pn56.pn.pn = phi { ptr, i32 } [ %.pn56.pn, %ehcleanup176 ], [ %109, %lpad113 ], [ %.pn53.pn, %ehcleanup205 ], [ %.pn50.pn, %ehcleanup145 ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i.i170) #33 br label %common.resume -for.inc212: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit304, %for.end - %inc = add nuw nsw i64 %storemerge1006, 1 +for.inc212: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit305, %for.end + %inc = add nuw nsw i64 %storemerge1012, 1 %exitcond.not = icmp eq i64 %inc, 127 br i1 %exitcond.not, label %for.end213, label %for.cond3.preheader, !llvm.loop !267 for.end213: ; preds = %for.inc212 - %data_.i309 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg214, i64 0, i32 1 + %data_.i310 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg214, i64 0, i32 1 store i64 0, ptr %urbg214, align 8 - %call5.i.i.i.i2.i.i310 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 - store ptr %call5.i.i.i.i2.i.i310, ptr %data_.i309, align 8 - %add.ptr.i1.i.i315 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i310, i64 3 - %_M_end_of_storage.i.i.i316 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg214, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i.i315, ptr %_M_end_of_storage.i.i.i316, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i310, ptr noundef nonnull align 8 dereferenceable(24) @constinit.104, i64 24, i1 false) - %_M_finish.i.i.i317 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg214, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i.i315, ptr %_M_finish.i.i.i317, align 8 + %call5.i.i.i.i2.i.i311 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 + store ptr %call5.i.i.i.i2.i.i311, ptr %data_.i310, align 8 + %add.ptr.i1.i.i316 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i311, i64 24 + %_M_end_of_storage.i.i.i317 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg214, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i.i316, ptr %_M_end_of_storage.i.i.i317, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i311, ptr noundef nonnull align 8 dereferenceable(24) @constinit.104, i64 24, i1 false) + %_M_finish.i.i.i319 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg214, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i.i316, ptr %_M_finish.i.i.i319, align 8 %155 = load double, ptr %param_.i.i, align 8 %156 = load double, ptr %stddev_.i.i.i, align 8 - %call3.i.i321 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg214) + %call3.i.i323 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg214) to label %invoke.cont222 unwind label %lpad221 invoke.cont222: ; preds = %for.end213 - %157 = call noundef double @llvm.fmuladd.f64(double %156, double %call3.i.i321, double %155) + %157 = call noundef double @llvm.fmuladd.f64(double %156, double %call3.i.i323, double %155) store double %157, ptr %tail, align 16 store i32 3, ptr %ref.tmp225, align 4 %158 = load i64, ptr %urbg214, align 8 store i64 %158, ptr %ref.tmp226, align 8 - %cmp.i.i324 = icmp eq i64 %158, 3 - br i1 %cmp.i.i324, label %if.then.i.i326, label %if.end.i.i325 + %cmp.i.i326 = icmp eq i64 %158, 3 + br i1 %cmp.i.i326, label %if.then.i.i328, label %if.end.i.i327 -if.then.i.i326: ; preds = %invoke.cont222 +if.then.i.i328: ; preds = %invoke.cont222 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar224) to label %invoke.cont228 unwind label %lpad221 -if.end.i.i325: ; preds = %invoke.cont222 +if.end.i.i327: ; preds = %invoke.cont222 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar224, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.68, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp225, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp226) to label %invoke.cont228 unwind label %lpad221 -invoke.cont228: ; preds = %if.then.i.i326, %if.end.i.i325 +invoke.cont228: ; preds = %if.then.i.i328, %if.end.i.i327 %159 = load i8, ptr %gtest_ar224, align 8 %160 = and i8 %159, 1 - %tobool.i330.not = icmp eq i8 %160, 0 - br i1 %tobool.i330.not, label %if.else231, label %if.end244 + %tobool.i332.not = icmp eq i8 %160, 0 + br i1 %tobool.i332.not, label %if.else231, label %if.end244 -lpad221: ; preds = %if.else.i352, %if.then.i353, %if.end.i.i325, %if.then.i.i326, %for.end213 +lpad221: ; preds = %if.else.i354, %if.then.i355, %if.end.i.i327, %if.then.i.i328, %for.end213 %161 = landingpad { ptr, i32 } cleanup br label %ehcleanup267 @@ -10836,18 +10840,18 @@ if.else231: ; preds = %invoke.cont228 to label %invoke.cont234 unwind label %lpad233 invoke.cont234: ; preds = %if.else231 - %message_.i.i331 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar224, i64 0, i32 1 - %162 = load ptr, ptr %message_.i.i331, align 8 - %cmp.i.i.not.i.i332 = icmp eq ptr %162, null - br i1 %cmp.i.i.not.i.i332, label %invoke.cont237, label %cond.true.i.i333 + %message_.i.i333 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar224, i64 0, i32 1 + %162 = load ptr, ptr %message_.i.i333, align 8 + %cmp.i.i.not.i.i334 = icmp eq ptr %162, null + br i1 %cmp.i.i.not.i.i334, label %invoke.cont237, label %cond.true.i.i335 -cond.true.i.i333: ; preds = %invoke.cont234 - %call4.i.i334 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %162) #32 +cond.true.i.i335: ; preds = %invoke.cont234 + %call4.i.i336 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %162) #32 br label %invoke.cont237 -invoke.cont237: ; preds = %cond.true.i.i333, %invoke.cont234 - %cond.i.i335 = phi ptr [ %call4.i.i334, %cond.true.i.i333 ], [ @.str, %invoke.cont234 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp235, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 511, ptr noundef %cond.i.i335) +invoke.cont237: ; preds = %cond.true.i.i335, %invoke.cont234 + %cond.i.i337 = phi ptr [ %call4.i.i336, %cond.true.i.i335 ], [ @.str, %invoke.cont234 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp235, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 511, ptr noundef %cond.i.i337) to label %invoke.cont239 unwind label %lpad236 invoke.cont239: ; preds = %invoke.cont237 @@ -10857,17 +10861,17 @@ invoke.cont239: ; preds = %invoke.cont237 invoke.cont241: ; preds = %invoke.cont239 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp235) #32 %163 = load ptr, ptr %ref.tmp232, align 8 - %cmp.not.i.i337 = icmp eq ptr %163, null - br i1 %cmp.not.i.i337, label %_ZN7testing7MessageD2Ev.exit341, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338 + %cmp.not.i.i339 = icmp eq ptr %163, null + br i1 %cmp.not.i.i339, label %_ZN7testing7MessageD2Ev.exit343, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i340 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338: ; preds = %invoke.cont241 - %vtable.i.i.i339 = load ptr, ptr %163, align 8 - %vfn.i.i.i340 = getelementptr inbounds ptr, ptr %vtable.i.i.i339, i64 1 - %164 = load ptr, ptr %vfn.i.i.i340, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i340: ; preds = %invoke.cont241 + %vtable.i.i.i341 = load ptr, ptr %163, align 8 + %vfn.i.i.i342 = getelementptr inbounds ptr, ptr %vtable.i.i.i341, i64 1 + %164 = load ptr, ptr %vfn.i.i.i342, align 8 call void %164(ptr noundef nonnull align 8 dereferenceable(128) %163) #32 - br label %_ZN7testing7MessageD2Ev.exit341 + br label %_ZN7testing7MessageD2Ev.exit343 -_ZN7testing7MessageD2Ev.exit341: ; preds = %invoke.cont241, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338 +_ZN7testing7MessageD2Ev.exit343: ; preds = %invoke.cont241, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i340 store ptr null, ptr %ref.tmp232, align 8 br label %if.end244 @@ -10890,54 +10894,54 @@ lpad240: ; preds = %invoke.cont239 ehcleanup243: ; preds = %lpad240, %lpad236 %.pn = phi { ptr, i32 } [ %167, %lpad240 ], [ %166, %lpad236 ] %168 = load ptr, ptr %ref.tmp232, align 8 - %cmp.not.i.i342 = icmp eq ptr %168, null - br i1 %cmp.not.i.i342, label %_ZN7testing7MessageD2Ev.exit346, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343 + %cmp.not.i.i344 = icmp eq ptr %168, null + br i1 %cmp.not.i.i344, label %_ZN7testing7MessageD2Ev.exit348, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343: ; preds = %ehcleanup243 - %vtable.i.i.i344 = load ptr, ptr %168, align 8 - %vfn.i.i.i345 = getelementptr inbounds ptr, ptr %vtable.i.i.i344, i64 1 - %169 = load ptr, ptr %vfn.i.i.i345, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345: ; preds = %ehcleanup243 + %vtable.i.i.i346 = load ptr, ptr %168, align 8 + %vfn.i.i.i347 = getelementptr inbounds ptr, ptr %vtable.i.i.i346, i64 1 + %169 = load ptr, ptr %vfn.i.i.i347, align 8 call void %169(ptr noundef nonnull align 8 dereferenceable(128) %168) #32 - br label %_ZN7testing7MessageD2Ev.exit346 + br label %_ZN7testing7MessageD2Ev.exit348 -_ZN7testing7MessageD2Ev.exit346: ; preds = %ehcleanup243, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343 +_ZN7testing7MessageD2Ev.exit348: ; preds = %ehcleanup243, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i345 store ptr null, ptr %ref.tmp232, align 8 br label %ehcleanup245 -if.end244: ; preds = %invoke.cont228, %_ZN7testing7MessageD2Ev.exit341 - %message_.i347 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar224, i64 0, i32 1 - %170 = load ptr, ptr %message_.i347, align 8 - %cmp.not.i.i348 = icmp eq ptr %170, null - br i1 %cmp.not.i.i348, label %_ZN7testing15AssertionResultD2Ev.exit350, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349 +if.end244: ; preds = %invoke.cont228, %_ZN7testing7MessageD2Ev.exit343 + %message_.i349 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar224, i64 0, i32 1 + %170 = load ptr, ptr %message_.i349, align 8 + %cmp.not.i.i350 = icmp eq ptr %170, null + br i1 %cmp.not.i.i350, label %_ZN7testing15AssertionResultD2Ev.exit352, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349: ; preds = %if.end244 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351: ; preds = %if.end244 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #32 call void @_ZdlPv(ptr noundef nonnull %170) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit350 + br label %_ZN7testing15AssertionResultD2Ev.exit352 -_ZN7testing15AssertionResultD2Ev.exit350: ; preds = %if.end244, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349 - store ptr null, ptr %message_.i347, align 8 +_ZN7testing15AssertionResultD2Ev.exit352: ; preds = %if.end244, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i351 + store ptr null, ptr %message_.i349, align 8 store i32 0, ptr %ref.tmp248, align 4 %171 = load double, ptr %tail, align 16, !noalias !268 - %cmp.i351 = fcmp ogt double %171, 0.000000e+00 - br i1 %cmp.i351, label %if.then.i353, label %if.else.i352 + %cmp.i353 = fcmp ogt double %171, 0.000000e+00 + br i1 %cmp.i353, label %if.then.i355, label %if.else.i354 -if.then.i353: ; preds = %_ZN7testing15AssertionResultD2Ev.exit350 +if.then.i355: ; preds = %_ZN7testing15AssertionResultD2Ev.exit352 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar246) to label %invoke.cont249 unwind label %lpad221 -if.else.i352: ; preds = %_ZN7testing15AssertionResultD2Ev.exit350 +if.else.i354: ; preds = %_ZN7testing15AssertionResultD2Ev.exit352 invoke void @_ZN7testing8internal18CmpHelperOpFailureIdiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar246, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.107, ptr noundef nonnull align 8 dereferenceable(8) %tail, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp248, ptr noundef nonnull @.str.119) to label %invoke.cont249 unwind label %lpad221 -invoke.cont249: ; preds = %if.then.i353, %if.else.i352 +invoke.cont249: ; preds = %if.then.i355, %if.else.i354 %172 = load i8, ptr %gtest_ar246, align 8 %173 = and i8 %172, 1 - %tobool.i356.not = icmp eq i8 %173, 0 - br i1 %tobool.i356.not, label %if.else252, label %if.end265 + %tobool.i358.not = icmp eq i8 %173, 0 + br i1 %tobool.i358.not, label %if.else252, label %if.end265 -ehcleanup245: ; preds = %_ZN7testing7MessageD2Ev.exit346, %lpad233 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit346 ], [ %165, %lpad233 ] +ehcleanup245: ; preds = %_ZN7testing7MessageD2Ev.exit348, %lpad233 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit348 ], [ %165, %lpad233 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar224) #32 br label %ehcleanup267 @@ -10946,18 +10950,18 @@ if.else252: ; preds = %invoke.cont249 to label %invoke.cont255 unwind label %lpad254 invoke.cont255: ; preds = %if.else252 - %message_.i.i357 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar246, i64 0, i32 1 - %174 = load ptr, ptr %message_.i.i357, align 8 - %cmp.i.i.not.i.i358 = icmp eq ptr %174, null - br i1 %cmp.i.i.not.i.i358, label %invoke.cont258, label %cond.true.i.i359 + %message_.i.i359 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar246, i64 0, i32 1 + %174 = load ptr, ptr %message_.i.i359, align 8 + %cmp.i.i.not.i.i360 = icmp eq ptr %174, null + br i1 %cmp.i.i.not.i.i360, label %invoke.cont258, label %cond.true.i.i361 -cond.true.i.i359: ; preds = %invoke.cont255 - %call4.i.i360 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %174) #32 +cond.true.i.i361: ; preds = %invoke.cont255 + %call4.i.i362 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %174) #32 br label %invoke.cont258 -invoke.cont258: ; preds = %cond.true.i.i359, %invoke.cont255 - %cond.i.i361 = phi ptr [ %call4.i.i360, %cond.true.i.i359 ], [ @.str, %invoke.cont255 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp256, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 512, ptr noundef %cond.i.i361) +invoke.cont258: ; preds = %cond.true.i.i361, %invoke.cont255 + %cond.i.i363 = phi ptr [ %call4.i.i362, %cond.true.i.i361 ], [ @.str, %invoke.cont255 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp256, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 512, ptr noundef %cond.i.i363) to label %invoke.cont260 unwind label %lpad257 invoke.cont260: ; preds = %invoke.cont258 @@ -10967,17 +10971,17 @@ invoke.cont260: ; preds = %invoke.cont258 invoke.cont262: ; preds = %invoke.cont260 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp256) #32 %175 = load ptr, ptr %ref.tmp253, align 8 - %cmp.not.i.i363 = icmp eq ptr %175, null - br i1 %cmp.not.i.i363, label %_ZN7testing7MessageD2Ev.exit367, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i364 + %cmp.not.i.i365 = icmp eq ptr %175, null + br i1 %cmp.not.i.i365, label %_ZN7testing7MessageD2Ev.exit369, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i366 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i364: ; preds = %invoke.cont262 - %vtable.i.i.i365 = load ptr, ptr %175, align 8 - %vfn.i.i.i366 = getelementptr inbounds ptr, ptr %vtable.i.i.i365, i64 1 - %176 = load ptr, ptr %vfn.i.i.i366, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i366: ; preds = %invoke.cont262 + %vtable.i.i.i367 = load ptr, ptr %175, align 8 + %vfn.i.i.i368 = getelementptr inbounds ptr, ptr %vtable.i.i.i367, i64 1 + %176 = load ptr, ptr %vfn.i.i.i368, align 8 call void %176(ptr noundef nonnull align 8 dereferenceable(128) %175) #32 - br label %_ZN7testing7MessageD2Ev.exit367 + br label %_ZN7testing7MessageD2Ev.exit369 -_ZN7testing7MessageD2Ev.exit367: ; preds = %invoke.cont262, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i364 +_ZN7testing7MessageD2Ev.exit369: ; preds = %invoke.cont262, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i366 store ptr null, ptr %ref.tmp253, align 8 br label %if.end265 @@ -11000,97 +11004,97 @@ lpad261: ; preds = %invoke.cont260 ehcleanup264: ; preds = %lpad261, %lpad257 %.pn9 = phi { ptr, i32 } [ %179, %lpad261 ], [ %178, %lpad257 ] %180 = load ptr, ptr %ref.tmp253, align 8 - %cmp.not.i.i368 = icmp eq ptr %180, null - br i1 %cmp.not.i.i368, label %_ZN7testing7MessageD2Ev.exit372, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i369 + %cmp.not.i.i370 = icmp eq ptr %180, null + br i1 %cmp.not.i.i370, label %_ZN7testing7MessageD2Ev.exit374, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i371 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i369: ; preds = %ehcleanup264 - %vtable.i.i.i370 = load ptr, ptr %180, align 8 - %vfn.i.i.i371 = getelementptr inbounds ptr, ptr %vtable.i.i.i370, i64 1 - %181 = load ptr, ptr %vfn.i.i.i371, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i371: ; preds = %ehcleanup264 + %vtable.i.i.i372 = load ptr, ptr %180, align 8 + %vfn.i.i.i373 = getelementptr inbounds ptr, ptr %vtable.i.i.i372, i64 1 + %181 = load ptr, ptr %vfn.i.i.i373, align 8 call void %181(ptr noundef nonnull align 8 dereferenceable(128) %180) #32 - br label %_ZN7testing7MessageD2Ev.exit372 + br label %_ZN7testing7MessageD2Ev.exit374 -_ZN7testing7MessageD2Ev.exit372: ; preds = %ehcleanup264, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i369 +_ZN7testing7MessageD2Ev.exit374: ; preds = %ehcleanup264, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i371 store ptr null, ptr %ref.tmp253, align 8 br label %ehcleanup266 -if.end265: ; preds = %invoke.cont249, %_ZN7testing7MessageD2Ev.exit367 - %message_.i373 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar246, i64 0, i32 1 - %182 = load ptr, ptr %message_.i373, align 8 - %cmp.not.i.i374 = icmp eq ptr %182, null - br i1 %cmp.not.i.i374, label %_ZN7testing15AssertionResultD2Ev.exit376, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i375 +if.end265: ; preds = %invoke.cont249, %_ZN7testing7MessageD2Ev.exit369 + %message_.i375 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar246, i64 0, i32 1 + %182 = load ptr, ptr %message_.i375, align 8 + %cmp.not.i.i376 = icmp eq ptr %182, null + br i1 %cmp.not.i.i376, label %_ZN7testing15AssertionResultD2Ev.exit378, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i377 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i375: ; preds = %if.end265 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i377: ; preds = %if.end265 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #32 call void @_ZdlPv(ptr noundef nonnull %182) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit376 + br label %_ZN7testing15AssertionResultD2Ev.exit378 -_ZN7testing15AssertionResultD2Ev.exit376: ; preds = %if.end265, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i375 - store ptr null, ptr %message_.i373, align 8 - %183 = load ptr, ptr %data_.i309, align 8 - %tobool.not.i.i.i.i378 = icmp eq ptr %183, null - br i1 %tobool.not.i.i.i.i378, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit380, label %if.then.i.i.i.i379 +_ZN7testing15AssertionResultD2Ev.exit378: ; preds = %if.end265, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i377 + store ptr null, ptr %message_.i375, align 8 + %183 = load ptr, ptr %data_.i310, align 8 + %tobool.not.i.i.i.i380 = icmp eq ptr %183, null + br i1 %tobool.not.i.i.i.i380, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit382, label %if.then.i.i.i.i381 -if.then.i.i.i.i379: ; preds = %_ZN7testing15AssertionResultD2Ev.exit376 +if.then.i.i.i.i381: ; preds = %_ZN7testing15AssertionResultD2Ev.exit378 call void @_ZdlPv(ptr noundef nonnull %183) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit380 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit382 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit380: ; preds = %_ZN7testing15AssertionResultD2Ev.exit376, %if.then.i.i.i.i379 - %data_.i381 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg268, i64 0, i32 1 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit382: ; preds = %_ZN7testing15AssertionResultD2Ev.exit378, %if.then.i.i.i.i381 + %data_.i383 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg268, i64 0, i32 1 store i64 0, ptr %urbg268, align 8 - %call5.i.i.i.i2.i.i382 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 - store ptr %call5.i.i.i.i2.i.i382, ptr %data_.i381, align 8 - %add.ptr.i1.i.i387 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i382, i64 3 - %_M_end_of_storage.i.i.i388 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg268, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i.i387, ptr %_M_end_of_storage.i.i.i388, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i382, ptr noundef nonnull align 8 dereferenceable(24) @constinit.108, i64 24, i1 false) - %_M_finish.i.i.i389 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg268, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i.i387, ptr %_M_finish.i.i.i389, align 8 + %call5.i.i.i.i2.i.i384 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 + store ptr %call5.i.i.i.i2.i.i384, ptr %data_.i383, align 8 + %add.ptr.i1.i.i389 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i384, i64 24 + %_M_end_of_storage.i.i.i390 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg268, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i.i389, ptr %_M_end_of_storage.i.i.i390, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i384, ptr noundef nonnull align 8 dereferenceable(24) @constinit.108, i64 24, i1 false) + %_M_finish.i.i.i392 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg268, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i.i389, ptr %_M_finish.i.i.i392, align 8 %184 = load double, ptr %param_.i.i, align 8 %185 = load double, ptr %stddev_.i.i.i, align 8 - %call3.i.i393 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg268) + %call3.i.i396 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg268) to label %invoke.cont276 unwind label %lpad275 -invoke.cont276: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit380 - %186 = call noundef double @llvm.fmuladd.f64(double %185, double %call3.i.i393, double %184) +invoke.cont276: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit382 + %186 = call noundef double @llvm.fmuladd.f64(double %185, double %call3.i.i396, double %184) %arrayidx278 = getelementptr inbounds [2 x double], ptr %tail, i64 0, i64 1 store double %186, ptr %arrayidx278, align 8 store i32 3, ptr %ref.tmp280, align 4 %187 = load i64, ptr %urbg268, align 8 store i64 %187, ptr %ref.tmp281, align 8 - %cmp.i.i396 = icmp eq i64 %187, 3 - br i1 %cmp.i.i396, label %if.then.i.i398, label %if.end.i.i397 + %cmp.i.i399 = icmp eq i64 %187, 3 + br i1 %cmp.i.i399, label %if.then.i.i401, label %if.end.i.i400 -if.then.i.i398: ; preds = %invoke.cont276 +if.then.i.i401: ; preds = %invoke.cont276 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar279) to label %invoke.cont283 unwind label %lpad275 -if.end.i.i397: ; preds = %invoke.cont276 +if.end.i.i400: ; preds = %invoke.cont276 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar279, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.68, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp280, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp281) to label %invoke.cont283 unwind label %lpad275 -invoke.cont283: ; preds = %if.then.i.i398, %if.end.i.i397 +invoke.cont283: ; preds = %if.then.i.i401, %if.end.i.i400 %188 = load i8, ptr %gtest_ar279, align 8 %189 = and i8 %188, 1 - %tobool.i402.not = icmp eq i8 %189, 0 - br i1 %tobool.i402.not, label %if.else286, label %if.end299 + %tobool.i405.not = icmp eq i8 %189, 0 + br i1 %tobool.i405.not, label %if.else286, label %if.end299 -ehcleanup266: ; preds = %_ZN7testing7MessageD2Ev.exit372, %lpad254 - %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit372 ], [ %177, %lpad254 ] +ehcleanup266: ; preds = %_ZN7testing7MessageD2Ev.exit374, %lpad254 + %.pn9.pn = phi { ptr, i32 } [ %.pn9, %_ZN7testing7MessageD2Ev.exit374 ], [ %177, %lpad254 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar246) #32 br label %ehcleanup267 ehcleanup267: ; preds = %ehcleanup266, %ehcleanup245, %lpad221 %.pn9.pn.pn = phi { ptr, i32 } [ %.pn9.pn, %ehcleanup266 ], [ %161, %lpad221 ], [ %.pn.pn, %ehcleanup245 ] - %190 = load ptr, ptr %data_.i309, align 8 - %tobool.not.i.i.i.i404 = icmp eq ptr %190, null - br i1 %tobool.not.i.i.i.i404, label %common.resume, label %if.then.i.i.i.i405 + %190 = load ptr, ptr %data_.i310, align 8 + %tobool.not.i.i.i.i407 = icmp eq ptr %190, null + br i1 %tobool.not.i.i.i.i407, label %common.resume, label %if.then.i.i.i.i408 -if.then.i.i.i.i405: ; preds = %ehcleanup267 +if.then.i.i.i.i408: ; preds = %ehcleanup267 call void @_ZdlPv(ptr noundef nonnull %190) #33 br label %common.resume -lpad275: ; preds = %if.else.i429, %if.then.i430, %if.end.i.i397, %if.then.i.i398, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit380 +lpad275: ; preds = %if.else.i432, %if.then.i433, %if.end.i.i400, %if.then.i.i401, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit382 %191 = landingpad { ptr, i32 } cleanup br label %ehcleanup322 @@ -11100,18 +11104,18 @@ if.else286: ; preds = %invoke.cont283 to label %invoke.cont289 unwind label %lpad288 invoke.cont289: ; preds = %if.else286 - %message_.i.i407 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar279, i64 0, i32 1 - %192 = load ptr, ptr %message_.i.i407, align 8 - %cmp.i.i.not.i.i408 = icmp eq ptr %192, null - br i1 %cmp.i.i.not.i.i408, label %invoke.cont292, label %cond.true.i.i409 + %message_.i.i410 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar279, i64 0, i32 1 + %192 = load ptr, ptr %message_.i.i410, align 8 + %cmp.i.i.not.i.i411 = icmp eq ptr %192, null + br i1 %cmp.i.i.not.i.i411, label %invoke.cont292, label %cond.true.i.i412 -cond.true.i.i409: ; preds = %invoke.cont289 - %call4.i.i410 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %192) #32 +cond.true.i.i412: ; preds = %invoke.cont289 + %call4.i.i413 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %192) #32 br label %invoke.cont292 -invoke.cont292: ; preds = %cond.true.i.i409, %invoke.cont289 - %cond.i.i411 = phi ptr [ %call4.i.i410, %cond.true.i.i409 ], [ @.str, %invoke.cont289 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp290, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 520, ptr noundef %cond.i.i411) +invoke.cont292: ; preds = %cond.true.i.i412, %invoke.cont289 + %cond.i.i414 = phi ptr [ %call4.i.i413, %cond.true.i.i412 ], [ @.str, %invoke.cont289 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp290, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 520, ptr noundef %cond.i.i414) to label %invoke.cont294 unwind label %lpad291 invoke.cont294: ; preds = %invoke.cont292 @@ -11121,17 +11125,17 @@ invoke.cont294: ; preds = %invoke.cont292 invoke.cont296: ; preds = %invoke.cont294 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp290) #32 %193 = load ptr, ptr %ref.tmp287, align 8 - %cmp.not.i.i413 = icmp eq ptr %193, null - br i1 %cmp.not.i.i413, label %_ZN7testing7MessageD2Ev.exit417, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414 + %cmp.not.i.i416 = icmp eq ptr %193, null + br i1 %cmp.not.i.i416, label %_ZN7testing7MessageD2Ev.exit420, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414: ; preds = %invoke.cont296 - %vtable.i.i.i415 = load ptr, ptr %193, align 8 - %vfn.i.i.i416 = getelementptr inbounds ptr, ptr %vtable.i.i.i415, i64 1 - %194 = load ptr, ptr %vfn.i.i.i416, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417: ; preds = %invoke.cont296 + %vtable.i.i.i418 = load ptr, ptr %193, align 8 + %vfn.i.i.i419 = getelementptr inbounds ptr, ptr %vtable.i.i.i418, i64 1 + %194 = load ptr, ptr %vfn.i.i.i419, align 8 call void %194(ptr noundef nonnull align 8 dereferenceable(128) %193) #32 - br label %_ZN7testing7MessageD2Ev.exit417 + br label %_ZN7testing7MessageD2Ev.exit420 -_ZN7testing7MessageD2Ev.exit417: ; preds = %invoke.cont296, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i414 +_ZN7testing7MessageD2Ev.exit420: ; preds = %invoke.cont296, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i417 store ptr null, ptr %ref.tmp287, align 8 br label %if.end299 @@ -11154,54 +11158,54 @@ lpad295: ; preds = %invoke.cont294 ehcleanup298: ; preds = %lpad295, %lpad291 %.pn13 = phi { ptr, i32 } [ %197, %lpad295 ], [ %196, %lpad291 ] %198 = load ptr, ptr %ref.tmp287, align 8 - %cmp.not.i.i418 = icmp eq ptr %198, null - br i1 %cmp.not.i.i418, label %_ZN7testing7MessageD2Ev.exit422, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i419 + %cmp.not.i.i421 = icmp eq ptr %198, null + br i1 %cmp.not.i.i421, label %_ZN7testing7MessageD2Ev.exit425, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i422 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i419: ; preds = %ehcleanup298 - %vtable.i.i.i420 = load ptr, ptr %198, align 8 - %vfn.i.i.i421 = getelementptr inbounds ptr, ptr %vtable.i.i.i420, i64 1 - %199 = load ptr, ptr %vfn.i.i.i421, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i422: ; preds = %ehcleanup298 + %vtable.i.i.i423 = load ptr, ptr %198, align 8 + %vfn.i.i.i424 = getelementptr inbounds ptr, ptr %vtable.i.i.i423, i64 1 + %199 = load ptr, ptr %vfn.i.i.i424, align 8 call void %199(ptr noundef nonnull align 8 dereferenceable(128) %198) #32 - br label %_ZN7testing7MessageD2Ev.exit422 + br label %_ZN7testing7MessageD2Ev.exit425 -_ZN7testing7MessageD2Ev.exit422: ; preds = %ehcleanup298, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i419 +_ZN7testing7MessageD2Ev.exit425: ; preds = %ehcleanup298, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i422 store ptr null, ptr %ref.tmp287, align 8 br label %ehcleanup300 -if.end299: ; preds = %invoke.cont283, %_ZN7testing7MessageD2Ev.exit417 - %message_.i423 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar279, i64 0, i32 1 - %200 = load ptr, ptr %message_.i423, align 8 - %cmp.not.i.i424 = icmp eq ptr %200, null - br i1 %cmp.not.i.i424, label %_ZN7testing15AssertionResultD2Ev.exit426, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i425 +if.end299: ; preds = %invoke.cont283, %_ZN7testing7MessageD2Ev.exit420 + %message_.i426 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar279, i64 0, i32 1 + %200 = load ptr, ptr %message_.i426, align 8 + %cmp.not.i.i427 = icmp eq ptr %200, null + br i1 %cmp.not.i.i427, label %_ZN7testing15AssertionResultD2Ev.exit429, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i428 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i425: ; preds = %if.end299 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i428: ; preds = %if.end299 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #32 call void @_ZdlPv(ptr noundef nonnull %200) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit426 + br label %_ZN7testing15AssertionResultD2Ev.exit429 -_ZN7testing15AssertionResultD2Ev.exit426: ; preds = %if.end299, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i425 - store ptr null, ptr %message_.i423, align 8 +_ZN7testing15AssertionResultD2Ev.exit429: ; preds = %if.end299, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i428 + store ptr null, ptr %message_.i426, align 8 store i32 0, ptr %ref.tmp303, align 4 %201 = load double, ptr %arrayidx278, align 8, !noalias !271 - %cmp.i428 = fcmp olt double %201, 0.000000e+00 - br i1 %cmp.i428, label %if.then.i430, label %if.else.i429 + %cmp.i431 = fcmp olt double %201, 0.000000e+00 + br i1 %cmp.i431, label %if.then.i433, label %if.else.i432 -if.then.i430: ; preds = %_ZN7testing15AssertionResultD2Ev.exit426 +if.then.i433: ; preds = %_ZN7testing15AssertionResultD2Ev.exit429 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar301) to label %invoke.cont304 unwind label %lpad275 -if.else.i429: ; preds = %_ZN7testing15AssertionResultD2Ev.exit426 +if.else.i432: ; preds = %_ZN7testing15AssertionResultD2Ev.exit429 invoke void @_ZN7testing8internal18CmpHelperOpFailureIdiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar301, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.107, ptr noundef nonnull align 8 dereferenceable(8) %arrayidx278, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp303, ptr noundef nonnull @.str.118) to label %invoke.cont304 unwind label %lpad275 -invoke.cont304: ; preds = %if.then.i430, %if.else.i429 +invoke.cont304: ; preds = %if.then.i433, %if.else.i432 %202 = load i8, ptr %gtest_ar301, align 8 %203 = and i8 %202, 1 - %tobool.i433.not = icmp eq i8 %203, 0 - br i1 %tobool.i433.not, label %if.else307, label %if.end320 + %tobool.i436.not = icmp eq i8 %203, 0 + br i1 %tobool.i436.not, label %if.else307, label %if.end320 -ehcleanup300: ; preds = %_ZN7testing7MessageD2Ev.exit422, %lpad288 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit422 ], [ %195, %lpad288 ] +ehcleanup300: ; preds = %_ZN7testing7MessageD2Ev.exit425, %lpad288 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit425 ], [ %195, %lpad288 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar279) #32 br label %ehcleanup322 @@ -11210,18 +11214,18 @@ if.else307: ; preds = %invoke.cont304 to label %invoke.cont310 unwind label %lpad309 invoke.cont310: ; preds = %if.else307 - %message_.i.i434 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar301, i64 0, i32 1 - %204 = load ptr, ptr %message_.i.i434, align 8 - %cmp.i.i.not.i.i435 = icmp eq ptr %204, null - br i1 %cmp.i.i.not.i.i435, label %invoke.cont313, label %cond.true.i.i436 + %message_.i.i437 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar301, i64 0, i32 1 + %204 = load ptr, ptr %message_.i.i437, align 8 + %cmp.i.i.not.i.i438 = icmp eq ptr %204, null + br i1 %cmp.i.i.not.i.i438, label %invoke.cont313, label %cond.true.i.i439 -cond.true.i.i436: ; preds = %invoke.cont310 - %call4.i.i437 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %204) #32 +cond.true.i.i439: ; preds = %invoke.cont310 + %call4.i.i440 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %204) #32 br label %invoke.cont313 -invoke.cont313: ; preds = %cond.true.i.i436, %invoke.cont310 - %cond.i.i438 = phi ptr [ %call4.i.i437, %cond.true.i.i436 ], [ @.str, %invoke.cont310 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp311, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 521, ptr noundef %cond.i.i438) +invoke.cont313: ; preds = %cond.true.i.i439, %invoke.cont310 + %cond.i.i441 = phi ptr [ %call4.i.i440, %cond.true.i.i439 ], [ @.str, %invoke.cont310 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp311, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 521, ptr noundef %cond.i.i441) to label %invoke.cont315 unwind label %lpad312 invoke.cont315: ; preds = %invoke.cont313 @@ -11231,17 +11235,17 @@ invoke.cont315: ; preds = %invoke.cont313 invoke.cont317: ; preds = %invoke.cont315 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp311) #32 %205 = load ptr, ptr %ref.tmp308, align 8 - %cmp.not.i.i440 = icmp eq ptr %205, null - br i1 %cmp.not.i.i440, label %_ZN7testing7MessageD2Ev.exit444, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i441 + %cmp.not.i.i443 = icmp eq ptr %205, null + br i1 %cmp.not.i.i443, label %_ZN7testing7MessageD2Ev.exit447, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i444 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i441: ; preds = %invoke.cont317 - %vtable.i.i.i442 = load ptr, ptr %205, align 8 - %vfn.i.i.i443 = getelementptr inbounds ptr, ptr %vtable.i.i.i442, i64 1 - %206 = load ptr, ptr %vfn.i.i.i443, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i444: ; preds = %invoke.cont317 + %vtable.i.i.i445 = load ptr, ptr %205, align 8 + %vfn.i.i.i446 = getelementptr inbounds ptr, ptr %vtable.i.i.i445, i64 1 + %206 = load ptr, ptr %vfn.i.i.i446, align 8 call void %206(ptr noundef nonnull align 8 dereferenceable(128) %205) #32 - br label %_ZN7testing7MessageD2Ev.exit444 + br label %_ZN7testing7MessageD2Ev.exit447 -_ZN7testing7MessageD2Ev.exit444: ; preds = %invoke.cont317, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i441 +_ZN7testing7MessageD2Ev.exit447: ; preds = %invoke.cont317, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i444 store ptr null, ptr %ref.tmp308, align 8 br label %if.end320 @@ -11264,75 +11268,75 @@ lpad316: ; preds = %invoke.cont315 ehcleanup319: ; preds = %lpad316, %lpad312 %.pn16 = phi { ptr, i32 } [ %209, %lpad316 ], [ %208, %lpad312 ] %210 = load ptr, ptr %ref.tmp308, align 8 - %cmp.not.i.i445 = icmp eq ptr %210, null - br i1 %cmp.not.i.i445, label %_ZN7testing7MessageD2Ev.exit449, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446 + %cmp.not.i.i448 = icmp eq ptr %210, null + br i1 %cmp.not.i.i448, label %_ZN7testing7MessageD2Ev.exit452, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i449 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446: ; preds = %ehcleanup319 - %vtable.i.i.i447 = load ptr, ptr %210, align 8 - %vfn.i.i.i448 = getelementptr inbounds ptr, ptr %vtable.i.i.i447, i64 1 - %211 = load ptr, ptr %vfn.i.i.i448, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i449: ; preds = %ehcleanup319 + %vtable.i.i.i450 = load ptr, ptr %210, align 8 + %vfn.i.i.i451 = getelementptr inbounds ptr, ptr %vtable.i.i.i450, i64 1 + %211 = load ptr, ptr %vfn.i.i.i451, align 8 call void %211(ptr noundef nonnull align 8 dereferenceable(128) %210) #32 - br label %_ZN7testing7MessageD2Ev.exit449 + br label %_ZN7testing7MessageD2Ev.exit452 -_ZN7testing7MessageD2Ev.exit449: ; preds = %ehcleanup319, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446 +_ZN7testing7MessageD2Ev.exit452: ; preds = %ehcleanup319, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i449 store ptr null, ptr %ref.tmp308, align 8 br label %ehcleanup321 -if.end320: ; preds = %invoke.cont304, %_ZN7testing7MessageD2Ev.exit444 - %message_.i450 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar301, i64 0, i32 1 - %212 = load ptr, ptr %message_.i450, align 8 - %cmp.not.i.i451 = icmp eq ptr %212, null - br i1 %cmp.not.i.i451, label %_ZN7testing15AssertionResultD2Ev.exit453, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i452 +if.end320: ; preds = %invoke.cont304, %_ZN7testing7MessageD2Ev.exit447 + %message_.i453 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar301, i64 0, i32 1 + %212 = load ptr, ptr %message_.i453, align 8 + %cmp.not.i.i454 = icmp eq ptr %212, null + br i1 %cmp.not.i.i454, label %_ZN7testing15AssertionResultD2Ev.exit456, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i455 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i452: ; preds = %if.end320 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i455: ; preds = %if.end320 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #32 call void @_ZdlPv(ptr noundef nonnull %212) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit453 + br label %_ZN7testing15AssertionResultD2Ev.exit456 -_ZN7testing15AssertionResultD2Ev.exit453: ; preds = %if.end320, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i452 - store ptr null, ptr %message_.i450, align 8 - %213 = load ptr, ptr %data_.i381, align 8 - %tobool.not.i.i.i.i455 = icmp eq ptr %213, null - br i1 %tobool.not.i.i.i.i455, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit457, label %if.then.i.i.i.i456 +_ZN7testing15AssertionResultD2Ev.exit456: ; preds = %if.end320, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i455 + store ptr null, ptr %message_.i453, align 8 + %213 = load ptr, ptr %data_.i383, align 8 + %tobool.not.i.i.i.i458 = icmp eq ptr %213, null + br i1 %tobool.not.i.i.i.i458, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit460, label %if.then.i.i.i.i459 -if.then.i.i.i.i456: ; preds = %_ZN7testing15AssertionResultD2Ev.exit453 +if.then.i.i.i.i459: ; preds = %_ZN7testing15AssertionResultD2Ev.exit456 call void @_ZdlPv(ptr noundef nonnull %213) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit457 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit460 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit457: ; preds = %_ZN7testing15AssertionResultD2Ev.exit453, %if.then.i.i.i.i456 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit460: ; preds = %_ZN7testing15AssertionResultD2Ev.exit456, %if.then.i.i.i.i459 %214 = load double, ptr %arrayidx278, align 8 %fneg = fneg double %214 store double %fneg, ptr %ref.tmp325, align 8 %215 = load double, ptr %tail, align 16, !noalias !274 - %cmp.i.i458 = fcmp oeq double %215, %fneg - br i1 %cmp.i.i458, label %if.then.i.i460, label %if.end.i.i459 + %cmp.i.i461 = fcmp oeq double %215, %fneg + br i1 %cmp.i.i461, label %if.then.i.i463, label %if.end.i.i462 -if.then.i.i460: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit457 +if.then.i.i463: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit460 call void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar323) br label %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit -if.end.i.i459: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit457 +if.end.i.i462: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit460 call void @_ZN7testing8internal18CmpHelperEQFailureIddEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar323, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.110, ptr noundef nonnull align 8 dereferenceable(8) %tail, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp325) br label %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit -_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit: ; preds = %if.then.i.i460, %if.end.i.i459 +_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit: ; preds = %if.then.i.i463, %if.end.i.i462 %216 = load i8, ptr %gtest_ar323, align 8 %217 = and i8 %216, 1 - %tobool.i461.not = icmp eq i8 %217, 0 - br i1 %tobool.i461.not, label %if.else329, label %if.end342 + %tobool.i464.not = icmp eq i8 %217, 0 + br i1 %tobool.i464.not, label %if.else329, label %if.end342 -ehcleanup321: ; preds = %_ZN7testing7MessageD2Ev.exit449, %lpad309 - %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit449 ], [ %207, %lpad309 ] +ehcleanup321: ; preds = %_ZN7testing7MessageD2Ev.exit452, %lpad309 + %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit452 ], [ %207, %lpad309 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar301) #32 br label %ehcleanup322 ehcleanup322: ; preds = %ehcleanup321, %ehcleanup300, %lpad275 %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %ehcleanup321 ], [ %191, %lpad275 ], [ %.pn13.pn, %ehcleanup300 ] - %218 = load ptr, ptr %data_.i381, align 8 - %tobool.not.i.i.i.i463 = icmp eq ptr %218, null - br i1 %tobool.not.i.i.i.i463, label %common.resume, label %if.then.i.i.i.i464 + %218 = load ptr, ptr %data_.i383, align 8 + %tobool.not.i.i.i.i466 = icmp eq ptr %218, null + br i1 %tobool.not.i.i.i.i466, label %common.resume, label %if.then.i.i.i.i467 -if.then.i.i.i.i464: ; preds = %ehcleanup322 +if.then.i.i.i.i467: ; preds = %ehcleanup322 call void @_ZdlPv(ptr noundef nonnull %218) #33 br label %common.resume @@ -11341,18 +11345,18 @@ if.else329: ; preds = %_ZN7testing8interna to label %invoke.cont332 unwind label %lpad331 invoke.cont332: ; preds = %if.else329 - %message_.i.i466 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar323, i64 0, i32 1 - %219 = load ptr, ptr %message_.i.i466, align 8 - %cmp.i.i.not.i.i467 = icmp eq ptr %219, null - br i1 %cmp.i.i.not.i.i467, label %invoke.cont335, label %cond.true.i.i468 + %message_.i.i469 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar323, i64 0, i32 1 + %219 = load ptr, ptr %message_.i.i469, align 8 + %cmp.i.i.not.i.i470 = icmp eq ptr %219, null + br i1 %cmp.i.i.not.i.i470, label %invoke.cont335, label %cond.true.i.i471 -cond.true.i.i468: ; preds = %invoke.cont332 - %call4.i.i469 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %219) #32 +cond.true.i.i471: ; preds = %invoke.cont332 + %call4.i.i472 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %219) #32 br label %invoke.cont335 -invoke.cont335: ; preds = %cond.true.i.i468, %invoke.cont332 - %cond.i.i470 = phi ptr [ %call4.i.i469, %cond.true.i.i468 ], [ @.str, %invoke.cont332 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp333, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 523, ptr noundef %cond.i.i470) +invoke.cont335: ; preds = %cond.true.i.i471, %invoke.cont332 + %cond.i.i473 = phi ptr [ %call4.i.i472, %cond.true.i.i471 ], [ @.str, %invoke.cont332 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp333, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 523, ptr noundef %cond.i.i473) to label %invoke.cont337 unwind label %lpad334 invoke.cont337: ; preds = %invoke.cont335 @@ -11362,17 +11366,17 @@ invoke.cont337: ; preds = %invoke.cont335 invoke.cont339: ; preds = %invoke.cont337 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp333) #32 %220 = load ptr, ptr %ref.tmp330, align 8 - %cmp.not.i.i472 = icmp eq ptr %220, null - br i1 %cmp.not.i.i472, label %_ZN7testing7MessageD2Ev.exit476, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i473 + %cmp.not.i.i475 = icmp eq ptr %220, null + br i1 %cmp.not.i.i475, label %_ZN7testing7MessageD2Ev.exit479, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i476 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i473: ; preds = %invoke.cont339 - %vtable.i.i.i474 = load ptr, ptr %220, align 8 - %vfn.i.i.i475 = getelementptr inbounds ptr, ptr %vtable.i.i.i474, i64 1 - %221 = load ptr, ptr %vfn.i.i.i475, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i476: ; preds = %invoke.cont339 + %vtable.i.i.i477 = load ptr, ptr %220, align 8 + %vfn.i.i.i478 = getelementptr inbounds ptr, ptr %vtable.i.i.i477, i64 1 + %221 = load ptr, ptr %vfn.i.i.i478, align 8 call void %221(ptr noundef nonnull align 8 dereferenceable(128) %220) #32 - br label %_ZN7testing7MessageD2Ev.exit476 + br label %_ZN7testing7MessageD2Ev.exit479 -_ZN7testing7MessageD2Ev.exit476: ; preds = %invoke.cont339, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i473 +_ZN7testing7MessageD2Ev.exit479: ; preds = %invoke.cont339, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i476 store ptr null, ptr %ref.tmp330, align 8 br label %if.end342 @@ -11395,57 +11399,57 @@ lpad338: ; preds = %invoke.cont337 ehcleanup341: ; preds = %lpad338, %lpad334 %.pn20 = phi { ptr, i32 } [ %224, %lpad338 ], [ %223, %lpad334 ] %225 = load ptr, ptr %ref.tmp330, align 8 - %cmp.not.i.i477 = icmp eq ptr %225, null - br i1 %cmp.not.i.i477, label %_ZN7testing7MessageD2Ev.exit481, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478 + %cmp.not.i.i480 = icmp eq ptr %225, null + br i1 %cmp.not.i.i480, label %_ZN7testing7MessageD2Ev.exit484, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i481 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478: ; preds = %ehcleanup341 - %vtable.i.i.i479 = load ptr, ptr %225, align 8 - %vfn.i.i.i480 = getelementptr inbounds ptr, ptr %vtable.i.i.i479, i64 1 - %226 = load ptr, ptr %vfn.i.i.i480, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i481: ; preds = %ehcleanup341 + %vtable.i.i.i482 = load ptr, ptr %225, align 8 + %vfn.i.i.i483 = getelementptr inbounds ptr, ptr %vtable.i.i.i482, i64 1 + %226 = load ptr, ptr %vfn.i.i.i483, align 8 call void %226(ptr noundef nonnull align 8 dereferenceable(128) %225) #32 - br label %_ZN7testing7MessageD2Ev.exit481 + br label %_ZN7testing7MessageD2Ev.exit484 -_ZN7testing7MessageD2Ev.exit481: ; preds = %ehcleanup341, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478 +_ZN7testing7MessageD2Ev.exit484: ; preds = %ehcleanup341, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i481 store ptr null, ptr %ref.tmp330, align 8 br label %ehcleanup343 -if.end342: ; preds = %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit, %_ZN7testing7MessageD2Ev.exit476 - %message_.i482 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar323, i64 0, i32 1 - %227 = load ptr, ptr %message_.i482, align 8 - %cmp.not.i.i483 = icmp eq ptr %227, null - br i1 %cmp.not.i.i483, label %_ZN7testing15AssertionResultD2Ev.exit485, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i484 +if.end342: ; preds = %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit, %_ZN7testing7MessageD2Ev.exit479 + %message_.i485 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar323, i64 0, i32 1 + %227 = load ptr, ptr %message_.i485, align 8 + %cmp.not.i.i486 = icmp eq ptr %227, null + br i1 %cmp.not.i.i486, label %_ZN7testing15AssertionResultD2Ev.exit488, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i487 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i484: ; preds = %if.end342 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i487: ; preds = %if.end342 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #32 call void @_ZdlPv(ptr noundef nonnull %227) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit485 + br label %_ZN7testing15AssertionResultD2Ev.exit488 -_ZN7testing15AssertionResultD2Ev.exit485: ; preds = %if.end342, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i484 - store ptr null, ptr %message_.i482, align 8 +_ZN7testing15AssertionResultD2Ev.exit488: ; preds = %if.end342, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i487 + store ptr null, ptr %message_.i485, align 8 store i32 418610, ptr %ref.tmp345, align 4 %228 = load double, ptr %tail, align 16 %mul = fmul double %228, 1.000000e+05 %conv = fptosi double %mul to i64 store i64 %conv, ptr %ref.tmp346, align 8 - %cmp.i.i487 = icmp eq i64 %conv, 418610 - br i1 %cmp.i.i487, label %if.then.i.i489, label %if.end.i.i488 + %cmp.i.i490 = icmp eq i64 %conv, 418610 + br i1 %cmp.i.i490, label %if.then.i.i492, label %if.end.i.i491 -if.then.i.i489: ; preds = %_ZN7testing15AssertionResultD2Ev.exit485 +if.then.i.i492: ; preds = %_ZN7testing15AssertionResultD2Ev.exit488 call void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar344) br label %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit -if.end.i.i488: ; preds = %_ZN7testing15AssertionResultD2Ev.exit485 +if.end.i.i491: ; preds = %_ZN7testing15AssertionResultD2Ev.exit488 call void @_ZN7testing8internal18CmpHelperEQFailureIilEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar344, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.112, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp345, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp346) br label %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit -_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit: ; preds = %if.then.i.i489, %if.end.i.i488 +_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit: ; preds = %if.then.i.i492, %if.end.i.i491 %229 = load i8, ptr %gtest_ar344, align 8 %230 = and i8 %229, 1 - %tobool.i490.not = icmp eq i8 %230, 0 - br i1 %tobool.i490.not, label %if.else350, label %if.end363 + %tobool.i493.not = icmp eq i8 %230, 0 + br i1 %tobool.i493.not, label %if.else350, label %if.end363 -ehcleanup343: ; preds = %_ZN7testing7MessageD2Ev.exit481, %lpad331 - %.pn20.pn = phi { ptr, i32 } [ %.pn20, %_ZN7testing7MessageD2Ev.exit481 ], [ %222, %lpad331 ] +ehcleanup343: ; preds = %_ZN7testing7MessageD2Ev.exit484, %lpad331 + %.pn20.pn = phi { ptr, i32 } [ %.pn20, %_ZN7testing7MessageD2Ev.exit484 ], [ %222, %lpad331 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar323) #32 br label %common.resume @@ -11454,18 +11458,18 @@ if.else350: ; preds = %_ZN7testing8interna to label %invoke.cont353 unwind label %lpad352 invoke.cont353: ; preds = %if.else350 - %message_.i.i491 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar344, i64 0, i32 1 - %231 = load ptr, ptr %message_.i.i491, align 8 - %cmp.i.i.not.i.i492 = icmp eq ptr %231, null - br i1 %cmp.i.i.not.i.i492, label %invoke.cont356, label %cond.true.i.i493 + %message_.i.i494 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar344, i64 0, i32 1 + %231 = load ptr, ptr %message_.i.i494, align 8 + %cmp.i.i.not.i.i495 = icmp eq ptr %231, null + br i1 %cmp.i.i.not.i.i495, label %invoke.cont356, label %cond.true.i.i496 -cond.true.i.i493: ; preds = %invoke.cont353 - %call4.i.i494 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %231) #32 +cond.true.i.i496: ; preds = %invoke.cont353 + %call4.i.i497 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %231) #32 br label %invoke.cont356 -invoke.cont356: ; preds = %cond.true.i.i493, %invoke.cont353 - %cond.i.i495 = phi ptr [ %call4.i.i494, %cond.true.i.i493 ], [ @.str, %invoke.cont353 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp354, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 524, ptr noundef %cond.i.i495) +invoke.cont356: ; preds = %cond.true.i.i496, %invoke.cont353 + %cond.i.i498 = phi ptr [ %call4.i.i497, %cond.true.i.i496 ], [ @.str, %invoke.cont353 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp354, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 524, ptr noundef %cond.i.i498) to label %invoke.cont358 unwind label %lpad355 invoke.cont358: ; preds = %invoke.cont356 @@ -11475,17 +11479,17 @@ invoke.cont358: ; preds = %invoke.cont356 invoke.cont360: ; preds = %invoke.cont358 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp354) #32 %232 = load ptr, ptr %ref.tmp351, align 8 - %cmp.not.i.i497 = icmp eq ptr %232, null - br i1 %cmp.not.i.i497, label %_ZN7testing7MessageD2Ev.exit501, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498 + %cmp.not.i.i500 = icmp eq ptr %232, null + br i1 %cmp.not.i.i500, label %_ZN7testing7MessageD2Ev.exit504, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i501 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498: ; preds = %invoke.cont360 - %vtable.i.i.i499 = load ptr, ptr %232, align 8 - %vfn.i.i.i500 = getelementptr inbounds ptr, ptr %vtable.i.i.i499, i64 1 - %233 = load ptr, ptr %vfn.i.i.i500, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i501: ; preds = %invoke.cont360 + %vtable.i.i.i502 = load ptr, ptr %232, align 8 + %vfn.i.i.i503 = getelementptr inbounds ptr, ptr %vtable.i.i.i502, i64 1 + %233 = load ptr, ptr %vfn.i.i.i503, align 8 call void %233(ptr noundef nonnull align 8 dereferenceable(128) %232) #32 - br label %_ZN7testing7MessageD2Ev.exit501 + br label %_ZN7testing7MessageD2Ev.exit504 -_ZN7testing7MessageD2Ev.exit501: ; preds = %invoke.cont360, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498 +_ZN7testing7MessageD2Ev.exit504: ; preds = %invoke.cont360, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i501 store ptr null, ptr %ref.tmp351, align 8 br label %if.end363 @@ -11508,77 +11512,77 @@ lpad359: ; preds = %invoke.cont358 ehcleanup362: ; preds = %lpad359, %lpad355 %.pn23 = phi { ptr, i32 } [ %236, %lpad359 ], [ %235, %lpad355 ] %237 = load ptr, ptr %ref.tmp351, align 8 - %cmp.not.i.i502 = icmp eq ptr %237, null - br i1 %cmp.not.i.i502, label %_ZN7testing7MessageD2Ev.exit506, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i503 + %cmp.not.i.i505 = icmp eq ptr %237, null + br i1 %cmp.not.i.i505, label %_ZN7testing7MessageD2Ev.exit509, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i506 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i503: ; preds = %ehcleanup362 - %vtable.i.i.i504 = load ptr, ptr %237, align 8 - %vfn.i.i.i505 = getelementptr inbounds ptr, ptr %vtable.i.i.i504, i64 1 - %238 = load ptr, ptr %vfn.i.i.i505, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i506: ; preds = %ehcleanup362 + %vtable.i.i.i507 = load ptr, ptr %237, align 8 + %vfn.i.i.i508 = getelementptr inbounds ptr, ptr %vtable.i.i.i507, i64 1 + %238 = load ptr, ptr %vfn.i.i.i508, align 8 call void %238(ptr noundef nonnull align 8 dereferenceable(128) %237) #32 - br label %_ZN7testing7MessageD2Ev.exit506 + br label %_ZN7testing7MessageD2Ev.exit509 -_ZN7testing7MessageD2Ev.exit506: ; preds = %ehcleanup362, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i503 +_ZN7testing7MessageD2Ev.exit509: ; preds = %ehcleanup362, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i506 store ptr null, ptr %ref.tmp351, align 8 br label %ehcleanup364 -if.end363: ; preds = %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit, %_ZN7testing7MessageD2Ev.exit501 - %message_.i507 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar344, i64 0, i32 1 - %239 = load ptr, ptr %message_.i507, align 8 - %cmp.not.i.i508 = icmp eq ptr %239, null - br i1 %cmp.not.i.i508, label %_ZN7testing15AssertionResultD2Ev.exit510, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i509 +if.end363: ; preds = %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit, %_ZN7testing7MessageD2Ev.exit504 + %message_.i510 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar344, i64 0, i32 1 + %239 = load ptr, ptr %message_.i510, align 8 + %cmp.not.i.i511 = icmp eq ptr %239, null + br i1 %cmp.not.i.i511, label %_ZN7testing15AssertionResultD2Ev.exit513, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i512 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i509: ; preds = %if.end363 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i512: ; preds = %if.end363 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %239) #32 call void @_ZdlPv(ptr noundef nonnull %239) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit510 + br label %_ZN7testing15AssertionResultD2Ev.exit513 -_ZN7testing15AssertionResultD2Ev.exit510: ; preds = %if.end363, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i509 - store ptr null, ptr %message_.i507, align 8 - %data_.i511 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg365, i64 0, i32 1 +_ZN7testing15AssertionResultD2Ev.exit513: ; preds = %if.end363, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i512 + store ptr null, ptr %message_.i510, align 8 + %data_.i514 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg365, i64 0, i32 1 store i64 0, ptr %urbg365, align 8 - %call5.i.i.i.i2.i.i512 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 - store ptr %call5.i.i.i.i2.i.i512, ptr %data_.i511, align 8 - %add.ptr.i1.i.i517 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i512, i64 3 - %_M_end_of_storage.i.i.i518 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg365, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i.i517, ptr %_M_end_of_storage.i.i.i518, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i512, ptr noundef nonnull align 8 dereferenceable(24) @constinit.113, i64 24, i1 false) - %_M_finish.i.i.i519 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg365, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i.i517, ptr %_M_finish.i.i.i519, align 8 + %call5.i.i.i.i2.i.i515 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 + store ptr %call5.i.i.i.i2.i.i515, ptr %data_.i514, align 8 + %add.ptr.i1.i.i520 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i515, i64 24 + %_M_end_of_storage.i.i.i521 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg365, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i.i520, ptr %_M_end_of_storage.i.i.i521, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i515, ptr noundef nonnull align 8 dereferenceable(24) @constinit.113, i64 24, i1 false) + %_M_finish.i.i.i523 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg365, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i.i520, ptr %_M_finish.i.i.i523, align 8 %240 = load double, ptr %param_.i.i, align 8 %241 = load double, ptr %stddev_.i.i.i, align 8 - %call3.i.i523 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg365) + %call3.i.i527 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg365) to label %invoke.cont373 unwind label %lpad372 -invoke.cont373: ; preds = %_ZN7testing15AssertionResultD2Ev.exit510 - %242 = call noundef double @llvm.fmuladd.f64(double %241, double %call3.i.i523, double %240) +invoke.cont373: ; preds = %_ZN7testing15AssertionResultD2Ev.exit513 + %242 = call noundef double @llvm.fmuladd.f64(double %241, double %call3.i.i527, double %240) store double %242, ptr %tail, align 16 store i32 2, ptr %ref.tmp377, align 4 %243 = load i64, ptr %urbg365, align 8 store i64 %243, ptr %ref.tmp378, align 8 - %cmp.i.i526 = icmp eq i64 %243, 2 - br i1 %cmp.i.i526, label %if.then.i.i528, label %if.end.i.i527 + %cmp.i.i530 = icmp eq i64 %243, 2 + br i1 %cmp.i.i530, label %if.then.i.i532, label %if.end.i.i531 -if.then.i.i528: ; preds = %invoke.cont373 +if.then.i.i532: ; preds = %invoke.cont373 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar376) to label %invoke.cont380 unwind label %lpad372 -if.end.i.i527: ; preds = %invoke.cont373 +if.end.i.i531: ; preds = %invoke.cont373 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar376, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.68, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp377, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp378) to label %invoke.cont380 unwind label %lpad372 -invoke.cont380: ; preds = %if.then.i.i528, %if.end.i.i527 +invoke.cont380: ; preds = %if.then.i.i532, %if.end.i.i531 %244 = load i8, ptr %gtest_ar376, align 8 %245 = and i8 %244, 1 - %tobool.i532.not = icmp eq i8 %245, 0 - br i1 %tobool.i532.not, label %if.else383, label %if.end396 + %tobool.i536.not = icmp eq i8 %245, 0 + br i1 %tobool.i536.not, label %if.else383, label %if.end396 -ehcleanup364: ; preds = %_ZN7testing7MessageD2Ev.exit506, %lpad352 - %.pn23.pn = phi { ptr, i32 } [ %.pn23, %_ZN7testing7MessageD2Ev.exit506 ], [ %234, %lpad352 ] +ehcleanup364: ; preds = %_ZN7testing7MessageD2Ev.exit509, %lpad352 + %.pn23.pn = phi { ptr, i32 } [ %.pn23, %_ZN7testing7MessageD2Ev.exit509 ], [ %234, %lpad352 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar344) #32 br label %common.resume -lpad372: ; preds = %if.else.i555, %if.then.i556, %if.end.i.i527, %if.then.i.i528, %_ZN7testing15AssertionResultD2Ev.exit510 +lpad372: ; preds = %if.else.i559, %if.then.i560, %if.end.i.i531, %if.then.i.i532, %_ZN7testing15AssertionResultD2Ev.exit513 %246 = landingpad { ptr, i32 } cleanup br label %ehcleanup419 @@ -11588,18 +11592,18 @@ if.else383: ; preds = %invoke.cont380 to label %invoke.cont386 unwind label %lpad385 invoke.cont386: ; preds = %if.else383 - %message_.i.i533 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar376, i64 0, i32 1 - %247 = load ptr, ptr %message_.i.i533, align 8 - %cmp.i.i.not.i.i534 = icmp eq ptr %247, null - br i1 %cmp.i.i.not.i.i534, label %invoke.cont389, label %cond.true.i.i535 + %message_.i.i537 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar376, i64 0, i32 1 + %247 = load ptr, ptr %message_.i.i537, align 8 + %cmp.i.i.not.i.i538 = icmp eq ptr %247, null + br i1 %cmp.i.i.not.i.i538, label %invoke.cont389, label %cond.true.i.i539 -cond.true.i.i535: ; preds = %invoke.cont386 - %call4.i.i536 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %247) #32 +cond.true.i.i539: ; preds = %invoke.cont386 + %call4.i.i540 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %247) #32 br label %invoke.cont389 -invoke.cont389: ; preds = %cond.true.i.i535, %invoke.cont386 - %cond.i.i537 = phi ptr [ %call4.i.i536, %cond.true.i.i535 ], [ @.str, %invoke.cont386 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp387, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 535, ptr noundef %cond.i.i537) +invoke.cont389: ; preds = %cond.true.i.i539, %invoke.cont386 + %cond.i.i541 = phi ptr [ %call4.i.i540, %cond.true.i.i539 ], [ @.str, %invoke.cont386 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp387, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 535, ptr noundef %cond.i.i541) to label %invoke.cont391 unwind label %lpad388 invoke.cont391: ; preds = %invoke.cont389 @@ -11609,17 +11613,17 @@ invoke.cont391: ; preds = %invoke.cont389 invoke.cont393: ; preds = %invoke.cont391 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp387) #32 %248 = load ptr, ptr %ref.tmp384, align 8 - %cmp.not.i.i539 = icmp eq ptr %248, null - br i1 %cmp.not.i.i539, label %_ZN7testing7MessageD2Ev.exit543, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i540 + %cmp.not.i.i543 = icmp eq ptr %248, null + br i1 %cmp.not.i.i543, label %_ZN7testing7MessageD2Ev.exit547, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i544 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i540: ; preds = %invoke.cont393 - %vtable.i.i.i541 = load ptr, ptr %248, align 8 - %vfn.i.i.i542 = getelementptr inbounds ptr, ptr %vtable.i.i.i541, i64 1 - %249 = load ptr, ptr %vfn.i.i.i542, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i544: ; preds = %invoke.cont393 + %vtable.i.i.i545 = load ptr, ptr %248, align 8 + %vfn.i.i.i546 = getelementptr inbounds ptr, ptr %vtable.i.i.i545, i64 1 + %249 = load ptr, ptr %vfn.i.i.i546, align 8 call void %249(ptr noundef nonnull align 8 dereferenceable(128) %248) #32 - br label %_ZN7testing7MessageD2Ev.exit543 + br label %_ZN7testing7MessageD2Ev.exit547 -_ZN7testing7MessageD2Ev.exit543: ; preds = %invoke.cont393, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i540 +_ZN7testing7MessageD2Ev.exit547: ; preds = %invoke.cont393, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i544 store ptr null, ptr %ref.tmp384, align 8 br label %if.end396 @@ -11642,54 +11646,54 @@ lpad392: ; preds = %invoke.cont391 ehcleanup395: ; preds = %lpad392, %lpad388 %.pn26 = phi { ptr, i32 } [ %252, %lpad392 ], [ %251, %lpad388 ] %253 = load ptr, ptr %ref.tmp384, align 8 - %cmp.not.i.i544 = icmp eq ptr %253, null - br i1 %cmp.not.i.i544, label %_ZN7testing7MessageD2Ev.exit548, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i545 + %cmp.not.i.i548 = icmp eq ptr %253, null + br i1 %cmp.not.i.i548, label %_ZN7testing7MessageD2Ev.exit552, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i549 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i545: ; preds = %ehcleanup395 - %vtable.i.i.i546 = load ptr, ptr %253, align 8 - %vfn.i.i.i547 = getelementptr inbounds ptr, ptr %vtable.i.i.i546, i64 1 - %254 = load ptr, ptr %vfn.i.i.i547, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i549: ; preds = %ehcleanup395 + %vtable.i.i.i550 = load ptr, ptr %253, align 8 + %vfn.i.i.i551 = getelementptr inbounds ptr, ptr %vtable.i.i.i550, i64 1 + %254 = load ptr, ptr %vfn.i.i.i551, align 8 call void %254(ptr noundef nonnull align 8 dereferenceable(128) %253) #32 - br label %_ZN7testing7MessageD2Ev.exit548 + br label %_ZN7testing7MessageD2Ev.exit552 -_ZN7testing7MessageD2Ev.exit548: ; preds = %ehcleanup395, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i545 +_ZN7testing7MessageD2Ev.exit552: ; preds = %ehcleanup395, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i549 store ptr null, ptr %ref.tmp384, align 8 br label %ehcleanup397 -if.end396: ; preds = %invoke.cont380, %_ZN7testing7MessageD2Ev.exit543 - %message_.i549 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar376, i64 0, i32 1 - %255 = load ptr, ptr %message_.i549, align 8 - %cmp.not.i.i550 = icmp eq ptr %255, null - br i1 %cmp.not.i.i550, label %_ZN7testing15AssertionResultD2Ev.exit552, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i551 +if.end396: ; preds = %invoke.cont380, %_ZN7testing7MessageD2Ev.exit547 + %message_.i553 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar376, i64 0, i32 1 + %255 = load ptr, ptr %message_.i553, align 8 + %cmp.not.i.i554 = icmp eq ptr %255, null + br i1 %cmp.not.i.i554, label %_ZN7testing15AssertionResultD2Ev.exit556, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i555 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i551: ; preds = %if.end396 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i555: ; preds = %if.end396 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %255) #32 call void @_ZdlPv(ptr noundef nonnull %255) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit552 + br label %_ZN7testing15AssertionResultD2Ev.exit556 -_ZN7testing15AssertionResultD2Ev.exit552: ; preds = %if.end396, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i551 - store ptr null, ptr %message_.i549, align 8 +_ZN7testing15AssertionResultD2Ev.exit556: ; preds = %if.end396, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i555 + store ptr null, ptr %message_.i553, align 8 store i32 0, ptr %ref.tmp400, align 4 %256 = load double, ptr %tail, align 16, !noalias !279 - %cmp.i554 = fcmp ogt double %256, 0.000000e+00 - br i1 %cmp.i554, label %if.then.i556, label %if.else.i555 + %cmp.i558 = fcmp ogt double %256, 0.000000e+00 + br i1 %cmp.i558, label %if.then.i560, label %if.else.i559 -if.then.i556: ; preds = %_ZN7testing15AssertionResultD2Ev.exit552 +if.then.i560: ; preds = %_ZN7testing15AssertionResultD2Ev.exit556 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar398) to label %invoke.cont401 unwind label %lpad372 -if.else.i555: ; preds = %_ZN7testing15AssertionResultD2Ev.exit552 +if.else.i559: ; preds = %_ZN7testing15AssertionResultD2Ev.exit556 invoke void @_ZN7testing8internal18CmpHelperOpFailureIdiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar398, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.107, ptr noundef nonnull align 8 dereferenceable(8) %tail, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp400, ptr noundef nonnull @.str.119) to label %invoke.cont401 unwind label %lpad372 -invoke.cont401: ; preds = %if.then.i556, %if.else.i555 +invoke.cont401: ; preds = %if.then.i560, %if.else.i559 %257 = load i8, ptr %gtest_ar398, align 8 %258 = and i8 %257, 1 - %tobool.i560.not = icmp eq i8 %258, 0 - br i1 %tobool.i560.not, label %if.else404, label %if.end417 + %tobool.i564.not = icmp eq i8 %258, 0 + br i1 %tobool.i564.not, label %if.else404, label %if.end417 -ehcleanup397: ; preds = %_ZN7testing7MessageD2Ev.exit548, %lpad385 - %.pn26.pn = phi { ptr, i32 } [ %.pn26, %_ZN7testing7MessageD2Ev.exit548 ], [ %250, %lpad385 ] +ehcleanup397: ; preds = %_ZN7testing7MessageD2Ev.exit552, %lpad385 + %.pn26.pn = phi { ptr, i32 } [ %.pn26, %_ZN7testing7MessageD2Ev.exit552 ], [ %250, %lpad385 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar376) #32 br label %ehcleanup419 @@ -11698,18 +11702,18 @@ if.else404: ; preds = %invoke.cont401 to label %invoke.cont407 unwind label %lpad406 invoke.cont407: ; preds = %if.else404 - %message_.i.i561 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar398, i64 0, i32 1 - %259 = load ptr, ptr %message_.i.i561, align 8 - %cmp.i.i.not.i.i562 = icmp eq ptr %259, null - br i1 %cmp.i.i.not.i.i562, label %invoke.cont410, label %cond.true.i.i563 + %message_.i.i565 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar398, i64 0, i32 1 + %259 = load ptr, ptr %message_.i.i565, align 8 + %cmp.i.i.not.i.i566 = icmp eq ptr %259, null + br i1 %cmp.i.i.not.i.i566, label %invoke.cont410, label %cond.true.i.i567 -cond.true.i.i563: ; preds = %invoke.cont407 - %call4.i.i564 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %259) #32 +cond.true.i.i567: ; preds = %invoke.cont407 + %call4.i.i568 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %259) #32 br label %invoke.cont410 -invoke.cont410: ; preds = %cond.true.i.i563, %invoke.cont407 - %cond.i.i565 = phi ptr [ %call4.i.i564, %cond.true.i.i563 ], [ @.str, %invoke.cont407 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp408, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 536, ptr noundef %cond.i.i565) +invoke.cont410: ; preds = %cond.true.i.i567, %invoke.cont407 + %cond.i.i569 = phi ptr [ %call4.i.i568, %cond.true.i.i567 ], [ @.str, %invoke.cont407 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp408, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 536, ptr noundef %cond.i.i569) to label %invoke.cont412 unwind label %lpad409 invoke.cont412: ; preds = %invoke.cont410 @@ -11719,17 +11723,17 @@ invoke.cont412: ; preds = %invoke.cont410 invoke.cont414: ; preds = %invoke.cont412 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp408) #32 %260 = load ptr, ptr %ref.tmp405, align 8 - %cmp.not.i.i567 = icmp eq ptr %260, null - br i1 %cmp.not.i.i567, label %_ZN7testing7MessageD2Ev.exit571, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568 + %cmp.not.i.i571 = icmp eq ptr %260, null + br i1 %cmp.not.i.i571, label %_ZN7testing7MessageD2Ev.exit575, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i572 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568: ; preds = %invoke.cont414 - %vtable.i.i.i569 = load ptr, ptr %260, align 8 - %vfn.i.i.i570 = getelementptr inbounds ptr, ptr %vtable.i.i.i569, i64 1 - %261 = load ptr, ptr %vfn.i.i.i570, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i572: ; preds = %invoke.cont414 + %vtable.i.i.i573 = load ptr, ptr %260, align 8 + %vfn.i.i.i574 = getelementptr inbounds ptr, ptr %vtable.i.i.i573, i64 1 + %261 = load ptr, ptr %vfn.i.i.i574, align 8 call void %261(ptr noundef nonnull align 8 dereferenceable(128) %260) #32 - br label %_ZN7testing7MessageD2Ev.exit571 + br label %_ZN7testing7MessageD2Ev.exit575 -_ZN7testing7MessageD2Ev.exit571: ; preds = %invoke.cont414, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568 +_ZN7testing7MessageD2Ev.exit575: ; preds = %invoke.cont414, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i572 store ptr null, ptr %ref.tmp405, align 8 br label %if.end417 @@ -11752,96 +11756,96 @@ lpad413: ; preds = %invoke.cont412 ehcleanup416: ; preds = %lpad413, %lpad409 %.pn29 = phi { ptr, i32 } [ %264, %lpad413 ], [ %263, %lpad409 ] %265 = load ptr, ptr %ref.tmp405, align 8 - %cmp.not.i.i572 = icmp eq ptr %265, null - br i1 %cmp.not.i.i572, label %_ZN7testing7MessageD2Ev.exit576, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573 + %cmp.not.i.i576 = icmp eq ptr %265, null + br i1 %cmp.not.i.i576, label %_ZN7testing7MessageD2Ev.exit580, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i577 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573: ; preds = %ehcleanup416 - %vtable.i.i.i574 = load ptr, ptr %265, align 8 - %vfn.i.i.i575 = getelementptr inbounds ptr, ptr %vtable.i.i.i574, i64 1 - %266 = load ptr, ptr %vfn.i.i.i575, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i577: ; preds = %ehcleanup416 + %vtable.i.i.i578 = load ptr, ptr %265, align 8 + %vfn.i.i.i579 = getelementptr inbounds ptr, ptr %vtable.i.i.i578, i64 1 + %266 = load ptr, ptr %vfn.i.i.i579, align 8 call void %266(ptr noundef nonnull align 8 dereferenceable(128) %265) #32 - br label %_ZN7testing7MessageD2Ev.exit576 + br label %_ZN7testing7MessageD2Ev.exit580 -_ZN7testing7MessageD2Ev.exit576: ; preds = %ehcleanup416, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573 +_ZN7testing7MessageD2Ev.exit580: ; preds = %ehcleanup416, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i577 store ptr null, ptr %ref.tmp405, align 8 br label %ehcleanup418 -if.end417: ; preds = %invoke.cont401, %_ZN7testing7MessageD2Ev.exit571 - %message_.i577 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar398, i64 0, i32 1 - %267 = load ptr, ptr %message_.i577, align 8 - %cmp.not.i.i578 = icmp eq ptr %267, null - br i1 %cmp.not.i.i578, label %_ZN7testing15AssertionResultD2Ev.exit580, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579 +if.end417: ; preds = %invoke.cont401, %_ZN7testing7MessageD2Ev.exit575 + %message_.i581 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar398, i64 0, i32 1 + %267 = load ptr, ptr %message_.i581, align 8 + %cmp.not.i.i582 = icmp eq ptr %267, null + br i1 %cmp.not.i.i582, label %_ZN7testing15AssertionResultD2Ev.exit584, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i583 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579: ; preds = %if.end417 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i583: ; preds = %if.end417 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %267) #32 call void @_ZdlPv(ptr noundef nonnull %267) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit580 + br label %_ZN7testing15AssertionResultD2Ev.exit584 -_ZN7testing15AssertionResultD2Ev.exit580: ; preds = %if.end417, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579 - store ptr null, ptr %message_.i577, align 8 - %268 = load ptr, ptr %data_.i511, align 8 - %tobool.not.i.i.i.i582 = icmp eq ptr %268, null - br i1 %tobool.not.i.i.i.i582, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit584, label %if.then.i.i.i.i583 +_ZN7testing15AssertionResultD2Ev.exit584: ; preds = %if.end417, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i583 + store ptr null, ptr %message_.i581, align 8 + %268 = load ptr, ptr %data_.i514, align 8 + %tobool.not.i.i.i.i586 = icmp eq ptr %268, null + br i1 %tobool.not.i.i.i.i586, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit588, label %if.then.i.i.i.i587 -if.then.i.i.i.i583: ; preds = %_ZN7testing15AssertionResultD2Ev.exit580 +if.then.i.i.i.i587: ; preds = %_ZN7testing15AssertionResultD2Ev.exit584 call void @_ZdlPv(ptr noundef nonnull %268) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit584 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit588 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit584: ; preds = %_ZN7testing15AssertionResultD2Ev.exit580, %if.then.i.i.i.i583 - %data_.i585 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg420, i64 0, i32 1 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit588: ; preds = %_ZN7testing15AssertionResultD2Ev.exit584, %if.then.i.i.i.i587 + %data_.i589 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg420, i64 0, i32 1 store i64 0, ptr %urbg420, align 8 - %call5.i.i.i.i2.i.i586 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 - store ptr %call5.i.i.i.i2.i.i586, ptr %data_.i585, align 8 - %add.ptr.i1.i.i591 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i586, i64 3 - %_M_end_of_storage.i.i.i592 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg420, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i.i591, ptr %_M_end_of_storage.i.i.i592, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i586, ptr noundef nonnull align 8 dereferenceable(24) @constinit.115, i64 24, i1 false) - %_M_finish.i.i.i593 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg420, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i.i591, ptr %_M_finish.i.i.i593, align 8 + %call5.i.i.i.i2.i.i590 = call noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #35 + store ptr %call5.i.i.i.i2.i.i590, ptr %data_.i589, align 8 + %add.ptr.i1.i.i595 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i590, i64 24 + %_M_end_of_storage.i.i.i596 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg420, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i.i595, ptr %_M_end_of_storage.i.i.i596, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %call5.i.i.i.i2.i.i590, ptr noundef nonnull align 8 dereferenceable(24) @constinit.115, i64 24, i1 false) + %_M_finish.i.i.i598 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg420, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i.i595, ptr %_M_finish.i.i.i598, align 8 %269 = load double, ptr %param_.i.i, align 8 %270 = load double, ptr %stddev_.i.i.i, align 8 - %call3.i.i597 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg420) + %call3.i.i602 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg420) to label %invoke.cont428 unwind label %lpad427 -invoke.cont428: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit584 - %271 = call noundef double @llvm.fmuladd.f64(double %270, double %call3.i.i597, double %269) +invoke.cont428: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit588 + %271 = call noundef double @llvm.fmuladd.f64(double %270, double %call3.i.i602, double %269) store double %271, ptr %arrayidx278, align 8 store i32 2, ptr %ref.tmp432, align 4 %272 = load i64, ptr %urbg420, align 8 store i64 %272, ptr %ref.tmp433, align 8 - %cmp.i.i600 = icmp eq i64 %272, 2 - br i1 %cmp.i.i600, label %if.then.i.i602, label %if.end.i.i601 + %cmp.i.i605 = icmp eq i64 %272, 2 + br i1 %cmp.i.i605, label %if.then.i.i607, label %if.end.i.i606 -if.then.i.i602: ; preds = %invoke.cont428 +if.then.i.i607: ; preds = %invoke.cont428 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar431) to label %invoke.cont435 unwind label %lpad427 -if.end.i.i601: ; preds = %invoke.cont428 +if.end.i.i606: ; preds = %invoke.cont428 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar431, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.68, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp432, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp433) to label %invoke.cont435 unwind label %lpad427 -invoke.cont435: ; preds = %if.then.i.i602, %if.end.i.i601 +invoke.cont435: ; preds = %if.then.i.i607, %if.end.i.i606 %273 = load i8, ptr %gtest_ar431, align 8 %274 = and i8 %273, 1 - %tobool.i606.not = icmp eq i8 %274, 0 - br i1 %tobool.i606.not, label %if.else438, label %if.end451 + %tobool.i611.not = icmp eq i8 %274, 0 + br i1 %tobool.i611.not, label %if.else438, label %if.end451 -ehcleanup418: ; preds = %_ZN7testing7MessageD2Ev.exit576, %lpad406 - %.pn29.pn = phi { ptr, i32 } [ %.pn29, %_ZN7testing7MessageD2Ev.exit576 ], [ %262, %lpad406 ] +ehcleanup418: ; preds = %_ZN7testing7MessageD2Ev.exit580, %lpad406 + %.pn29.pn = phi { ptr, i32 } [ %.pn29, %_ZN7testing7MessageD2Ev.exit580 ], [ %262, %lpad406 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar398) #32 br label %ehcleanup419 ehcleanup419: ; preds = %ehcleanup418, %ehcleanup397, %lpad372 %.pn29.pn.pn = phi { ptr, i32 } [ %.pn29.pn, %ehcleanup418 ], [ %246, %lpad372 ], [ %.pn26.pn, %ehcleanup397 ] - %275 = load ptr, ptr %data_.i511, align 8 - %tobool.not.i.i.i.i608 = icmp eq ptr %275, null - br i1 %tobool.not.i.i.i.i608, label %common.resume, label %if.then.i.i.i.i609 + %275 = load ptr, ptr %data_.i514, align 8 + %tobool.not.i.i.i.i613 = icmp eq ptr %275, null + br i1 %tobool.not.i.i.i.i613, label %common.resume, label %if.then.i.i.i.i614 -if.then.i.i.i.i609: ; preds = %ehcleanup419 +if.then.i.i.i.i614: ; preds = %ehcleanup419 call void @_ZdlPv(ptr noundef nonnull %275) #33 br label %common.resume -lpad427: ; preds = %if.else.i633, %if.then.i634, %if.end.i.i601, %if.then.i.i602, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit584 +lpad427: ; preds = %if.else.i638, %if.then.i639, %if.end.i.i606, %if.then.i.i607, %_ZN4absl15random_internal13sequence_urbgD2Ev.exit588 %276 = landingpad { ptr, i32 } cleanup br label %ehcleanup474 @@ -11851,18 +11855,18 @@ if.else438: ; preds = %invoke.cont435 to label %invoke.cont441 unwind label %lpad440 invoke.cont441: ; preds = %if.else438 - %message_.i.i611 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar431, i64 0, i32 1 - %277 = load ptr, ptr %message_.i.i611, align 8 - %cmp.i.i.not.i.i612 = icmp eq ptr %277, null - br i1 %cmp.i.i.not.i.i612, label %invoke.cont444, label %cond.true.i.i613 + %message_.i.i616 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar431, i64 0, i32 1 + %277 = load ptr, ptr %message_.i.i616, align 8 + %cmp.i.i.not.i.i617 = icmp eq ptr %277, null + br i1 %cmp.i.i.not.i.i617, label %invoke.cont444, label %cond.true.i.i618 -cond.true.i.i613: ; preds = %invoke.cont441 - %call4.i.i614 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %277) #32 +cond.true.i.i618: ; preds = %invoke.cont441 + %call4.i.i619 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %277) #32 br label %invoke.cont444 -invoke.cont444: ; preds = %cond.true.i.i613, %invoke.cont441 - %cond.i.i615 = phi ptr [ %call4.i.i614, %cond.true.i.i613 ], [ @.str, %invoke.cont441 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp442, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 544, ptr noundef %cond.i.i615) +invoke.cont444: ; preds = %cond.true.i.i618, %invoke.cont441 + %cond.i.i620 = phi ptr [ %call4.i.i619, %cond.true.i.i618 ], [ @.str, %invoke.cont441 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp442, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 544, ptr noundef %cond.i.i620) to label %invoke.cont446 unwind label %lpad443 invoke.cont446: ; preds = %invoke.cont444 @@ -11872,17 +11876,17 @@ invoke.cont446: ; preds = %invoke.cont444 invoke.cont448: ; preds = %invoke.cont446 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp442) #32 %278 = load ptr, ptr %ref.tmp439, align 8 - %cmp.not.i.i617 = icmp eq ptr %278, null - br i1 %cmp.not.i.i617, label %_ZN7testing7MessageD2Ev.exit621, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i618 + %cmp.not.i.i622 = icmp eq ptr %278, null + br i1 %cmp.not.i.i622, label %_ZN7testing7MessageD2Ev.exit626, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i618: ; preds = %invoke.cont448 - %vtable.i.i.i619 = load ptr, ptr %278, align 8 - %vfn.i.i.i620 = getelementptr inbounds ptr, ptr %vtable.i.i.i619, i64 1 - %279 = load ptr, ptr %vfn.i.i.i620, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623: ; preds = %invoke.cont448 + %vtable.i.i.i624 = load ptr, ptr %278, align 8 + %vfn.i.i.i625 = getelementptr inbounds ptr, ptr %vtable.i.i.i624, i64 1 + %279 = load ptr, ptr %vfn.i.i.i625, align 8 call void %279(ptr noundef nonnull align 8 dereferenceable(128) %278) #32 - br label %_ZN7testing7MessageD2Ev.exit621 + br label %_ZN7testing7MessageD2Ev.exit626 -_ZN7testing7MessageD2Ev.exit621: ; preds = %invoke.cont448, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i618 +_ZN7testing7MessageD2Ev.exit626: ; preds = %invoke.cont448, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623 store ptr null, ptr %ref.tmp439, align 8 br label %if.end451 @@ -11905,54 +11909,54 @@ lpad447: ; preds = %invoke.cont446 ehcleanup450: ; preds = %lpad447, %lpad443 %.pn33 = phi { ptr, i32 } [ %282, %lpad447 ], [ %281, %lpad443 ] %283 = load ptr, ptr %ref.tmp439, align 8 - %cmp.not.i.i622 = icmp eq ptr %283, null - br i1 %cmp.not.i.i622, label %_ZN7testing7MessageD2Ev.exit626, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623 + %cmp.not.i.i627 = icmp eq ptr %283, null + br i1 %cmp.not.i.i627, label %_ZN7testing7MessageD2Ev.exit631, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i628 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623: ; preds = %ehcleanup450 - %vtable.i.i.i624 = load ptr, ptr %283, align 8 - %vfn.i.i.i625 = getelementptr inbounds ptr, ptr %vtable.i.i.i624, i64 1 - %284 = load ptr, ptr %vfn.i.i.i625, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i628: ; preds = %ehcleanup450 + %vtable.i.i.i629 = load ptr, ptr %283, align 8 + %vfn.i.i.i630 = getelementptr inbounds ptr, ptr %vtable.i.i.i629, i64 1 + %284 = load ptr, ptr %vfn.i.i.i630, align 8 call void %284(ptr noundef nonnull align 8 dereferenceable(128) %283) #32 - br label %_ZN7testing7MessageD2Ev.exit626 + br label %_ZN7testing7MessageD2Ev.exit631 -_ZN7testing7MessageD2Ev.exit626: ; preds = %ehcleanup450, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623 +_ZN7testing7MessageD2Ev.exit631: ; preds = %ehcleanup450, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i628 store ptr null, ptr %ref.tmp439, align 8 br label %ehcleanup452 -if.end451: ; preds = %invoke.cont435, %_ZN7testing7MessageD2Ev.exit621 - %message_.i627 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar431, i64 0, i32 1 - %285 = load ptr, ptr %message_.i627, align 8 - %cmp.not.i.i628 = icmp eq ptr %285, null - br i1 %cmp.not.i.i628, label %_ZN7testing15AssertionResultD2Ev.exit630, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i629 +if.end451: ; preds = %invoke.cont435, %_ZN7testing7MessageD2Ev.exit626 + %message_.i632 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar431, i64 0, i32 1 + %285 = load ptr, ptr %message_.i632, align 8 + %cmp.not.i.i633 = icmp eq ptr %285, null + br i1 %cmp.not.i.i633, label %_ZN7testing15AssertionResultD2Ev.exit635, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i634 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i629: ; preds = %if.end451 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i634: ; preds = %if.end451 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %285) #32 call void @_ZdlPv(ptr noundef nonnull %285) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit630 + br label %_ZN7testing15AssertionResultD2Ev.exit635 -_ZN7testing15AssertionResultD2Ev.exit630: ; preds = %if.end451, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i629 - store ptr null, ptr %message_.i627, align 8 +_ZN7testing15AssertionResultD2Ev.exit635: ; preds = %if.end451, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i634 + store ptr null, ptr %message_.i632, align 8 store i32 0, ptr %ref.tmp455, align 4 %286 = load double, ptr %arrayidx278, align 8, !noalias !282 - %cmp.i632 = fcmp olt double %286, 0.000000e+00 - br i1 %cmp.i632, label %if.then.i634, label %if.else.i633 + %cmp.i637 = fcmp olt double %286, 0.000000e+00 + br i1 %cmp.i637, label %if.then.i639, label %if.else.i638 -if.then.i634: ; preds = %_ZN7testing15AssertionResultD2Ev.exit630 +if.then.i639: ; preds = %_ZN7testing15AssertionResultD2Ev.exit635 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar453) to label %invoke.cont456 unwind label %lpad427 -if.else.i633: ; preds = %_ZN7testing15AssertionResultD2Ev.exit630 +if.else.i638: ; preds = %_ZN7testing15AssertionResultD2Ev.exit635 invoke void @_ZN7testing8internal18CmpHelperOpFailureIdiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar453, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.107, ptr noundef nonnull align 8 dereferenceable(8) %arrayidx278, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp455, ptr noundef nonnull @.str.118) to label %invoke.cont456 unwind label %lpad427 -invoke.cont456: ; preds = %if.then.i634, %if.else.i633 +invoke.cont456: ; preds = %if.then.i639, %if.else.i638 %287 = load i8, ptr %gtest_ar453, align 8 %288 = and i8 %287, 1 - %tobool.i638.not = icmp eq i8 %288, 0 - br i1 %tobool.i638.not, label %if.else459, label %if.end472 + %tobool.i643.not = icmp eq i8 %288, 0 + br i1 %tobool.i643.not, label %if.else459, label %if.end472 -ehcleanup452: ; preds = %_ZN7testing7MessageD2Ev.exit626, %lpad440 - %.pn33.pn = phi { ptr, i32 } [ %.pn33, %_ZN7testing7MessageD2Ev.exit626 ], [ %280, %lpad440 ] +ehcleanup452: ; preds = %_ZN7testing7MessageD2Ev.exit631, %lpad440 + %.pn33.pn = phi { ptr, i32 } [ %.pn33, %_ZN7testing7MessageD2Ev.exit631 ], [ %280, %lpad440 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar431) #32 br label %ehcleanup474 @@ -11961,18 +11965,18 @@ if.else459: ; preds = %invoke.cont456 to label %invoke.cont462 unwind label %lpad461 invoke.cont462: ; preds = %if.else459 - %message_.i.i639 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar453, i64 0, i32 1 - %289 = load ptr, ptr %message_.i.i639, align 8 - %cmp.i.i.not.i.i640 = icmp eq ptr %289, null - br i1 %cmp.i.i.not.i.i640, label %invoke.cont465, label %cond.true.i.i641 + %message_.i.i644 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar453, i64 0, i32 1 + %289 = load ptr, ptr %message_.i.i644, align 8 + %cmp.i.i.not.i.i645 = icmp eq ptr %289, null + br i1 %cmp.i.i.not.i.i645, label %invoke.cont465, label %cond.true.i.i646 -cond.true.i.i641: ; preds = %invoke.cont462 - %call4.i.i642 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %289) #32 +cond.true.i.i646: ; preds = %invoke.cont462 + %call4.i.i647 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %289) #32 br label %invoke.cont465 -invoke.cont465: ; preds = %cond.true.i.i641, %invoke.cont462 - %cond.i.i643 = phi ptr [ %call4.i.i642, %cond.true.i.i641 ], [ @.str, %invoke.cont462 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp463, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 545, ptr noundef %cond.i.i643) +invoke.cont465: ; preds = %cond.true.i.i646, %invoke.cont462 + %cond.i.i648 = phi ptr [ %call4.i.i647, %cond.true.i.i646 ], [ @.str, %invoke.cont462 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp463, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 545, ptr noundef %cond.i.i648) to label %invoke.cont467 unwind label %lpad464 invoke.cont467: ; preds = %invoke.cont465 @@ -11982,17 +11986,17 @@ invoke.cont467: ; preds = %invoke.cont465 invoke.cont469: ; preds = %invoke.cont467 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp463) #32 %290 = load ptr, ptr %ref.tmp460, align 8 - %cmp.not.i.i645 = icmp eq ptr %290, null - br i1 %cmp.not.i.i645, label %_ZN7testing7MessageD2Ev.exit649, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i646 + %cmp.not.i.i650 = icmp eq ptr %290, null + br i1 %cmp.not.i.i650, label %_ZN7testing7MessageD2Ev.exit654, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i646: ; preds = %invoke.cont469 - %vtable.i.i.i647 = load ptr, ptr %290, align 8 - %vfn.i.i.i648 = getelementptr inbounds ptr, ptr %vtable.i.i.i647, i64 1 - %291 = load ptr, ptr %vfn.i.i.i648, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651: ; preds = %invoke.cont469 + %vtable.i.i.i652 = load ptr, ptr %290, align 8 + %vfn.i.i.i653 = getelementptr inbounds ptr, ptr %vtable.i.i.i652, i64 1 + %291 = load ptr, ptr %vfn.i.i.i653, align 8 call void %291(ptr noundef nonnull align 8 dereferenceable(128) %290) #32 - br label %_ZN7testing7MessageD2Ev.exit649 + br label %_ZN7testing7MessageD2Ev.exit654 -_ZN7testing7MessageD2Ev.exit649: ; preds = %invoke.cont469, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i646 +_ZN7testing7MessageD2Ev.exit654: ; preds = %invoke.cont469, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651 store ptr null, ptr %ref.tmp460, align 8 br label %if.end472 @@ -12015,95 +12019,95 @@ lpad468: ; preds = %invoke.cont467 ehcleanup471: ; preds = %lpad468, %lpad464 %.pn36 = phi { ptr, i32 } [ %294, %lpad468 ], [ %293, %lpad464 ] %295 = load ptr, ptr %ref.tmp460, align 8 - %cmp.not.i.i650 = icmp eq ptr %295, null - br i1 %cmp.not.i.i650, label %_ZN7testing7MessageD2Ev.exit654, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651 + %cmp.not.i.i655 = icmp eq ptr %295, null + br i1 %cmp.not.i.i655, label %_ZN7testing7MessageD2Ev.exit659, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i656 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651: ; preds = %ehcleanup471 - %vtable.i.i.i652 = load ptr, ptr %295, align 8 - %vfn.i.i.i653 = getelementptr inbounds ptr, ptr %vtable.i.i.i652, i64 1 - %296 = load ptr, ptr %vfn.i.i.i653, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i656: ; preds = %ehcleanup471 + %vtable.i.i.i657 = load ptr, ptr %295, align 8 + %vfn.i.i.i658 = getelementptr inbounds ptr, ptr %vtable.i.i.i657, i64 1 + %296 = load ptr, ptr %vfn.i.i.i658, align 8 call void %296(ptr noundef nonnull align 8 dereferenceable(128) %295) #32 - br label %_ZN7testing7MessageD2Ev.exit654 + br label %_ZN7testing7MessageD2Ev.exit659 -_ZN7testing7MessageD2Ev.exit654: ; preds = %ehcleanup471, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i651 +_ZN7testing7MessageD2Ev.exit659: ; preds = %ehcleanup471, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i656 store ptr null, ptr %ref.tmp460, align 8 br label %ehcleanup473 -if.end472: ; preds = %invoke.cont456, %_ZN7testing7MessageD2Ev.exit649 - %message_.i655 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar453, i64 0, i32 1 - %297 = load ptr, ptr %message_.i655, align 8 - %cmp.not.i.i656 = icmp eq ptr %297, null - br i1 %cmp.not.i.i656, label %_ZN7testing15AssertionResultD2Ev.exit658, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i657 +if.end472: ; preds = %invoke.cont456, %_ZN7testing7MessageD2Ev.exit654 + %message_.i660 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar453, i64 0, i32 1 + %297 = load ptr, ptr %message_.i660, align 8 + %cmp.not.i.i661 = icmp eq ptr %297, null + br i1 %cmp.not.i.i661, label %_ZN7testing15AssertionResultD2Ev.exit663, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i662 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i657: ; preds = %if.end472 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i662: ; preds = %if.end472 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %297) #32 call void @_ZdlPv(ptr noundef nonnull %297) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit658 + br label %_ZN7testing15AssertionResultD2Ev.exit663 -_ZN7testing15AssertionResultD2Ev.exit658: ; preds = %if.end472, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i657 - store ptr null, ptr %message_.i655, align 8 - %298 = load ptr, ptr %data_.i585, align 8 - %tobool.not.i.i.i.i660 = icmp eq ptr %298, null - br i1 %tobool.not.i.i.i.i660, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit662, label %if.then.i.i.i.i661 +_ZN7testing15AssertionResultD2Ev.exit663: ; preds = %if.end472, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i662 + store ptr null, ptr %message_.i660, align 8 + %298 = load ptr, ptr %data_.i589, align 8 + %tobool.not.i.i.i.i665 = icmp eq ptr %298, null + br i1 %tobool.not.i.i.i.i665, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit667, label %if.then.i.i.i.i666 -if.then.i.i.i.i661: ; preds = %_ZN7testing15AssertionResultD2Ev.exit658 +if.then.i.i.i.i666: ; preds = %_ZN7testing15AssertionResultD2Ev.exit663 call void @_ZdlPv(ptr noundef nonnull %298) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit662 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit667 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit662: ; preds = %_ZN7testing15AssertionResultD2Ev.exit658, %if.then.i.i.i.i661 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit667: ; preds = %_ZN7testing15AssertionResultD2Ev.exit663, %if.then.i.i.i.i666 %299 = load double, ptr %arrayidx278, align 8 %fneg479 = fneg double %299 store double %fneg479, ptr %ref.tmp477, align 8 %300 = load double, ptr %tail, align 16, !noalias !285 - %cmp.i.i663 = fcmp oeq double %300, %fneg479 - br i1 %cmp.i.i663, label %if.then.i.i665, label %if.end.i.i664 + %cmp.i.i668 = fcmp oeq double %300, %fneg479 + br i1 %cmp.i.i668, label %if.then.i.i670, label %if.end.i.i669 -if.then.i.i665: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit662 +if.then.i.i670: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit667 call void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar475) - br label %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit666 + br label %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit671 -if.end.i.i664: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit662 +if.end.i.i669: ; preds = %_ZN4absl15random_internal13sequence_urbgD2Ev.exit667 call void @_ZN7testing8internal18CmpHelperEQFailureIddEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar475, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.110, ptr noundef nonnull align 8 dereferenceable(8) %tail, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp477) - br label %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit666 + br label %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit671 -_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit666: ; preds = %if.then.i.i665, %if.end.i.i664 +_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit671: ; preds = %if.then.i.i670, %if.end.i.i669 %301 = load i8, ptr %gtest_ar475, align 8 %302 = and i8 %301, 1 - %tobool.i667.not = icmp eq i8 %302, 0 - br i1 %tobool.i667.not, label %if.else482, label %if.end495 + %tobool.i672.not = icmp eq i8 %302, 0 + br i1 %tobool.i672.not, label %if.else482, label %if.end495 -ehcleanup473: ; preds = %_ZN7testing7MessageD2Ev.exit654, %lpad461 - %.pn36.pn = phi { ptr, i32 } [ %.pn36, %_ZN7testing7MessageD2Ev.exit654 ], [ %292, %lpad461 ] +ehcleanup473: ; preds = %_ZN7testing7MessageD2Ev.exit659, %lpad461 + %.pn36.pn = phi { ptr, i32 } [ %.pn36, %_ZN7testing7MessageD2Ev.exit659 ], [ %292, %lpad461 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar453) #32 br label %ehcleanup474 ehcleanup474: ; preds = %ehcleanup473, %ehcleanup452, %lpad427 %.pn36.pn.pn = phi { ptr, i32 } [ %.pn36.pn, %ehcleanup473 ], [ %276, %lpad427 ], [ %.pn33.pn, %ehcleanup452 ] - %303 = load ptr, ptr %data_.i585, align 8 - %tobool.not.i.i.i.i669 = icmp eq ptr %303, null - br i1 %tobool.not.i.i.i.i669, label %common.resume, label %if.then.i.i.i.i670 + %303 = load ptr, ptr %data_.i589, align 8 + %tobool.not.i.i.i.i674 = icmp eq ptr %303, null + br i1 %tobool.not.i.i.i.i674, label %common.resume, label %if.then.i.i.i.i675 -if.then.i.i.i.i670: ; preds = %ehcleanup474 +if.then.i.i.i.i675: ; preds = %ehcleanup474 call void @_ZdlPv(ptr noundef nonnull %303) #33 br label %common.resume -if.else482: ; preds = %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit666 +if.else482: ; preds = %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit671 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp483) to label %invoke.cont485 unwind label %lpad484 invoke.cont485: ; preds = %if.else482 - %message_.i.i672 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar475, i64 0, i32 1 - %304 = load ptr, ptr %message_.i.i672, align 8 - %cmp.i.i.not.i.i673 = icmp eq ptr %304, null - br i1 %cmp.i.i.not.i.i673, label %invoke.cont488, label %cond.true.i.i674 + %message_.i.i677 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar475, i64 0, i32 1 + %304 = load ptr, ptr %message_.i.i677, align 8 + %cmp.i.i.not.i.i678 = icmp eq ptr %304, null + br i1 %cmp.i.i.not.i.i678, label %invoke.cont488, label %cond.true.i.i679 -cond.true.i.i674: ; preds = %invoke.cont485 - %call4.i.i675 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %304) #32 +cond.true.i.i679: ; preds = %invoke.cont485 + %call4.i.i680 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %304) #32 br label %invoke.cont488 -invoke.cont488: ; preds = %cond.true.i.i674, %invoke.cont485 - %cond.i.i676 = phi ptr [ %call4.i.i675, %cond.true.i.i674 ], [ @.str, %invoke.cont485 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp486, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 547, ptr noundef %cond.i.i676) +invoke.cont488: ; preds = %cond.true.i.i679, %invoke.cont485 + %cond.i.i681 = phi ptr [ %call4.i.i680, %cond.true.i.i679 ], [ @.str, %invoke.cont485 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp486, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 547, ptr noundef %cond.i.i681) to label %invoke.cont490 unwind label %lpad487 invoke.cont490: ; preds = %invoke.cont488 @@ -12113,17 +12117,17 @@ invoke.cont490: ; preds = %invoke.cont488 invoke.cont492: ; preds = %invoke.cont490 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp486) #32 %305 = load ptr, ptr %ref.tmp483, align 8 - %cmp.not.i.i678 = icmp eq ptr %305, null - br i1 %cmp.not.i.i678, label %_ZN7testing7MessageD2Ev.exit682, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i679 + %cmp.not.i.i683 = icmp eq ptr %305, null + br i1 %cmp.not.i.i683, label %_ZN7testing7MessageD2Ev.exit687, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i684 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i679: ; preds = %invoke.cont492 - %vtable.i.i.i680 = load ptr, ptr %305, align 8 - %vfn.i.i.i681 = getelementptr inbounds ptr, ptr %vtable.i.i.i680, i64 1 - %306 = load ptr, ptr %vfn.i.i.i681, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i684: ; preds = %invoke.cont492 + %vtable.i.i.i685 = load ptr, ptr %305, align 8 + %vfn.i.i.i686 = getelementptr inbounds ptr, ptr %vtable.i.i.i685, i64 1 + %306 = load ptr, ptr %vfn.i.i.i686, align 8 call void %306(ptr noundef nonnull align 8 dereferenceable(128) %305) #32 - br label %_ZN7testing7MessageD2Ev.exit682 + br label %_ZN7testing7MessageD2Ev.exit687 -_ZN7testing7MessageD2Ev.exit682: ; preds = %invoke.cont492, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i679 +_ZN7testing7MessageD2Ev.exit687: ; preds = %invoke.cont492, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i684 store ptr null, ptr %ref.tmp483, align 8 br label %if.end495 @@ -12146,77 +12150,77 @@ lpad491: ; preds = %invoke.cont490 ehcleanup494: ; preds = %lpad491, %lpad487 %.pn40 = phi { ptr, i32 } [ %309, %lpad491 ], [ %308, %lpad487 ] %310 = load ptr, ptr %ref.tmp483, align 8 - %cmp.not.i.i683 = icmp eq ptr %310, null - br i1 %cmp.not.i.i683, label %_ZN7testing7MessageD2Ev.exit687, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i684 + %cmp.not.i.i688 = icmp eq ptr %310, null + br i1 %cmp.not.i.i688, label %_ZN7testing7MessageD2Ev.exit692, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i689 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i684: ; preds = %ehcleanup494 - %vtable.i.i.i685 = load ptr, ptr %310, align 8 - %vfn.i.i.i686 = getelementptr inbounds ptr, ptr %vtable.i.i.i685, i64 1 - %311 = load ptr, ptr %vfn.i.i.i686, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i689: ; preds = %ehcleanup494 + %vtable.i.i.i690 = load ptr, ptr %310, align 8 + %vfn.i.i.i691 = getelementptr inbounds ptr, ptr %vtable.i.i.i690, i64 1 + %311 = load ptr, ptr %vfn.i.i.i691, align 8 call void %311(ptr noundef nonnull align 8 dereferenceable(128) %310) #32 - br label %_ZN7testing7MessageD2Ev.exit687 + br label %_ZN7testing7MessageD2Ev.exit692 -_ZN7testing7MessageD2Ev.exit687: ; preds = %ehcleanup494, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i684 +_ZN7testing7MessageD2Ev.exit692: ; preds = %ehcleanup494, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i689 store ptr null, ptr %ref.tmp483, align 8 br label %ehcleanup496 -if.end495: ; preds = %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit666, %_ZN7testing7MessageD2Ev.exit682 - %message_.i688 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar475, i64 0, i32 1 - %312 = load ptr, ptr %message_.i688, align 8 - %cmp.not.i.i689 = icmp eq ptr %312, null - br i1 %cmp.not.i.i689, label %_ZN7testing15AssertionResultD2Ev.exit691, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i690 +if.end495: ; preds = %_ZN7testing8internal8EqHelper7CompareIddTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit671, %_ZN7testing7MessageD2Ev.exit687 + %message_.i693 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar475, i64 0, i32 1 + %312 = load ptr, ptr %message_.i693, align 8 + %cmp.not.i.i694 = icmp eq ptr %312, null + br i1 %cmp.not.i.i694, label %_ZN7testing15AssertionResultD2Ev.exit696, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i695 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i690: ; preds = %if.end495 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i695: ; preds = %if.end495 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %312) #32 call void @_ZdlPv(ptr noundef nonnull %312) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit691 + br label %_ZN7testing15AssertionResultD2Ev.exit696 -_ZN7testing15AssertionResultD2Ev.exit691: ; preds = %if.end495, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i690 - store ptr null, ptr %message_.i688, align 8 +_ZN7testing15AssertionResultD2Ev.exit696: ; preds = %if.end495, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i695 + store ptr null, ptr %message_.i693, align 8 store i32 61948, ptr %ref.tmp498, align 4 %313 = load double, ptr %tail, align 16 %mul501 = fmul double %313, 1.000000e+05 %conv502 = fptosi double %mul501 to i64 store i64 %conv502, ptr %ref.tmp499, align 8 - %cmp.i.i693 = icmp eq i64 %conv502, 61948 - br i1 %cmp.i.i693, label %if.then.i.i695, label %if.end.i.i694 + %cmp.i.i698 = icmp eq i64 %conv502, 61948 + br i1 %cmp.i.i698, label %if.then.i.i700, label %if.end.i.i699 -if.then.i.i695: ; preds = %_ZN7testing15AssertionResultD2Ev.exit691 +if.then.i.i700: ; preds = %_ZN7testing15AssertionResultD2Ev.exit696 call void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar497) - br label %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit696 + br label %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit701 -if.end.i.i694: ; preds = %_ZN7testing15AssertionResultD2Ev.exit691 +if.end.i.i699: ; preds = %_ZN7testing15AssertionResultD2Ev.exit696 call void @_ZN7testing8internal18CmpHelperEQFailureIilEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar497, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.112, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp498, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp499) - br label %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit696 + br label %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit701 -_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit696: ; preds = %if.then.i.i695, %if.end.i.i694 +_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit701: ; preds = %if.then.i.i700, %if.end.i.i699 %314 = load i8, ptr %gtest_ar497, align 8 %315 = and i8 %314, 1 - %tobool.i697.not = icmp eq i8 %315, 0 - br i1 %tobool.i697.not, label %if.else505, label %if.end518 + %tobool.i702.not = icmp eq i8 %315, 0 + br i1 %tobool.i702.not, label %if.else505, label %if.end518 -ehcleanup496: ; preds = %_ZN7testing7MessageD2Ev.exit687, %lpad484 - %.pn40.pn = phi { ptr, i32 } [ %.pn40, %_ZN7testing7MessageD2Ev.exit687 ], [ %307, %lpad484 ] +ehcleanup496: ; preds = %_ZN7testing7MessageD2Ev.exit692, %lpad484 + %.pn40.pn = phi { ptr, i32 } [ %.pn40, %_ZN7testing7MessageD2Ev.exit692 ], [ %307, %lpad484 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar475) #32 br label %common.resume -if.else505: ; preds = %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit696 +if.else505: ; preds = %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit701 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp506) to label %invoke.cont508 unwind label %lpad507 invoke.cont508: ; preds = %if.else505 - %message_.i.i698 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar497, i64 0, i32 1 - %316 = load ptr, ptr %message_.i.i698, align 8 - %cmp.i.i.not.i.i699 = icmp eq ptr %316, null - br i1 %cmp.i.i.not.i.i699, label %invoke.cont511, label %cond.true.i.i700 + %message_.i.i703 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar497, i64 0, i32 1 + %316 = load ptr, ptr %message_.i.i703, align 8 + %cmp.i.i.not.i.i704 = icmp eq ptr %316, null + br i1 %cmp.i.i.not.i.i704, label %invoke.cont511, label %cond.true.i.i705 -cond.true.i.i700: ; preds = %invoke.cont508 - %call4.i.i701 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %316) #32 +cond.true.i.i705: ; preds = %invoke.cont508 + %call4.i.i706 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %316) #32 br label %invoke.cont511 -invoke.cont511: ; preds = %cond.true.i.i700, %invoke.cont508 - %cond.i.i702 = phi ptr [ %call4.i.i701, %cond.true.i.i700 ], [ @.str, %invoke.cont508 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp509, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 548, ptr noundef %cond.i.i702) +invoke.cont511: ; preds = %cond.true.i.i705, %invoke.cont508 + %cond.i.i707 = phi ptr [ %call4.i.i706, %cond.true.i.i705 ], [ @.str, %invoke.cont508 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp509, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 548, ptr noundef %cond.i.i707) to label %invoke.cont513 unwind label %lpad510 invoke.cont513: ; preds = %invoke.cont511 @@ -12226,17 +12230,17 @@ invoke.cont513: ; preds = %invoke.cont511 invoke.cont515: ; preds = %invoke.cont513 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp509) #32 %317 = load ptr, ptr %ref.tmp506, align 8 - %cmp.not.i.i704 = icmp eq ptr %317, null - br i1 %cmp.not.i.i704, label %_ZN7testing7MessageD2Ev.exit708, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i705 + %cmp.not.i.i709 = icmp eq ptr %317, null + br i1 %cmp.not.i.i709, label %_ZN7testing7MessageD2Ev.exit713, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i705: ; preds = %invoke.cont515 - %vtable.i.i.i706 = load ptr, ptr %317, align 8 - %vfn.i.i.i707 = getelementptr inbounds ptr, ptr %vtable.i.i.i706, i64 1 - %318 = load ptr, ptr %vfn.i.i.i707, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710: ; preds = %invoke.cont515 + %vtable.i.i.i711 = load ptr, ptr %317, align 8 + %vfn.i.i.i712 = getelementptr inbounds ptr, ptr %vtable.i.i.i711, i64 1 + %318 = load ptr, ptr %vfn.i.i.i712, align 8 call void %318(ptr noundef nonnull align 8 dereferenceable(128) %317) #32 - br label %_ZN7testing7MessageD2Ev.exit708 + br label %_ZN7testing7MessageD2Ev.exit713 -_ZN7testing7MessageD2Ev.exit708: ; preds = %invoke.cont515, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i705 +_ZN7testing7MessageD2Ev.exit713: ; preds = %invoke.cont515, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710 store ptr null, ptr %ref.tmp506, align 8 br label %if.end518 @@ -12259,73 +12263,73 @@ lpad514: ; preds = %invoke.cont513 ehcleanup517: ; preds = %lpad514, %lpad510 %.pn43 = phi { ptr, i32 } [ %321, %lpad514 ], [ %320, %lpad510 ] %322 = load ptr, ptr %ref.tmp506, align 8 - %cmp.not.i.i709 = icmp eq ptr %322, null - br i1 %cmp.not.i.i709, label %_ZN7testing7MessageD2Ev.exit713, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710 + %cmp.not.i.i714 = icmp eq ptr %322, null + br i1 %cmp.not.i.i714, label %_ZN7testing7MessageD2Ev.exit718, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710: ; preds = %ehcleanup517 - %vtable.i.i.i711 = load ptr, ptr %322, align 8 - %vfn.i.i.i712 = getelementptr inbounds ptr, ptr %vtable.i.i.i711, i64 1 - %323 = load ptr, ptr %vfn.i.i.i712, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715: ; preds = %ehcleanup517 + %vtable.i.i.i716 = load ptr, ptr %322, align 8 + %vfn.i.i.i717 = getelementptr inbounds ptr, ptr %vtable.i.i.i716, i64 1 + %323 = load ptr, ptr %vfn.i.i.i717, align 8 call void %323(ptr noundef nonnull align 8 dereferenceable(128) %322) #32 - br label %_ZN7testing7MessageD2Ev.exit713 + br label %_ZN7testing7MessageD2Ev.exit718 -_ZN7testing7MessageD2Ev.exit713: ; preds = %ehcleanup517, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710 +_ZN7testing7MessageD2Ev.exit718: ; preds = %ehcleanup517, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715 store ptr null, ptr %ref.tmp506, align 8 br label %ehcleanup519 -if.end518: ; preds = %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit696, %_ZN7testing7MessageD2Ev.exit708 - %message_.i714 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar497, i64 0, i32 1 - %324 = load ptr, ptr %message_.i714, align 8 - %cmp.not.i.i715 = icmp eq ptr %324, null - br i1 %cmp.not.i.i715, label %_ZN7testing15AssertionResultD2Ev.exit717, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i716 +if.end518: ; preds = %_ZN7testing8internal8EqHelper7CompareIilTnPNSt9enable_ifIXoontsr3std11is_integralIT_EE5valuentsr3std10is_pointerIT0_EE5valueEvE4typeELPv0EEENS_15AssertionResultEPKcSC_RKS4_RKS5_.exit701, %_ZN7testing7MessageD2Ev.exit713 + %message_.i719 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar497, i64 0, i32 1 + %324 = load ptr, ptr %message_.i719, align 8 + %cmp.not.i.i720 = icmp eq ptr %324, null + br i1 %cmp.not.i.i720, label %_ZN7testing15AssertionResultD2Ev.exit722, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i716: ; preds = %if.end518 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721: ; preds = %if.end518 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %324) #32 call void @_ZdlPv(ptr noundef nonnull %324) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit717 + br label %_ZN7testing15AssertionResultD2Ev.exit722 -_ZN7testing15AssertionResultD2Ev.exit717: ; preds = %if.end518, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i716 - store ptr null, ptr %message_.i714, align 8 - %data_.i718 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg520, i64 0, i32 1 +_ZN7testing15AssertionResultD2Ev.exit722: ; preds = %if.end518, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721 + store ptr null, ptr %message_.i719, align 8 + %data_.i723 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg520, i64 0, i32 1 store i64 0, ptr %urbg520, align 8 - %call5.i.i.i.i2.i.i719 = call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #35 - store ptr %call5.i.i.i.i2.i.i719, ptr %data_.i718, align 8 - %add.ptr.i1.i.i724 = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i719, i64 4 - %_M_end_of_storage.i.i.i725 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg520, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i.i724, ptr %_M_end_of_storage.i.i.i725, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %call5.i.i.i.i2.i.i719, ptr noundef nonnull align 8 dereferenceable(32) @constinit.117, i64 32, i1 false) - %_M_finish.i.i.i726 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg520, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i.i724, ptr %_M_finish.i.i.i726, align 8 - %call3.i.i730 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg520) + %call5.i.i.i.i2.i.i724 = call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #35 + store ptr %call5.i.i.i.i2.i.i724, ptr %data_.i723, align 8 + %add.ptr.i1.i.i729 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i724, i64 32 + %_M_end_of_storage.i.i.i730 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg520, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i.i729, ptr %_M_end_of_storage.i.i.i730, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %call5.i.i.i.i2.i.i724, ptr noundef nonnull align 8 dereferenceable(32) @constinit.117, i64 32, i1 false) + %_M_finish.i.i.i732 = getelementptr inbounds %"class.absl::random_internal::sequence_urbg", ptr %urbg520, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i.i729, ptr %_M_finish.i.i.i732, align 8 + %call3.i.i736 = invoke noundef double @_ZN4absl15random_internal26gaussian_distribution_base6zignorINS0_13sequence_urbgEEEdRT_(ptr noundef nonnull align 1 dereferenceable(1) %dist, ptr noundef nonnull align 8 dereferenceable(32) %urbg520) to label %invoke.cont528 unwind label %lpad527 -invoke.cont528: ; preds = %_ZN7testing15AssertionResultD2Ev.exit717 +invoke.cont528: ; preds = %_ZN7testing15AssertionResultD2Ev.exit722 store i32 3, ptr %ref.tmp531, align 4 %325 = load i64, ptr %urbg520, align 8 store i64 %325, ptr %ref.tmp532, align 8 - %cmp.i.i733 = icmp eq i64 %325, 3 - br i1 %cmp.i.i733, label %if.then.i.i735, label %if.end.i.i734 + %cmp.i.i739 = icmp eq i64 %325, 3 + br i1 %cmp.i.i739, label %if.then.i.i741, label %if.end.i.i740 -if.then.i.i735: ; preds = %invoke.cont528 +if.then.i.i741: ; preds = %invoke.cont528 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar530) to label %invoke.cont534 unwind label %lpad527 -if.end.i.i734: ; preds = %invoke.cont528 +if.end.i.i740: ; preds = %invoke.cont528 invoke void @_ZN7testing8internal18CmpHelperEQFailureIimEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar530, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.68, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp531, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp532) to label %invoke.cont534 unwind label %lpad527 -invoke.cont534: ; preds = %if.then.i.i735, %if.end.i.i734 +invoke.cont534: ; preds = %if.then.i.i741, %if.end.i.i740 %326 = load i8, ptr %gtest_ar530, align 8 %327 = and i8 %326, 1 - %tobool.i739.not = icmp eq i8 %327, 0 - br i1 %tobool.i739.not, label %if.else537, label %if.end550 + %tobool.i745.not = icmp eq i8 %327, 0 + br i1 %tobool.i745.not, label %if.else537, label %if.end550 -ehcleanup519: ; preds = %_ZN7testing7MessageD2Ev.exit713, %lpad507 - %.pn43.pn = phi { ptr, i32 } [ %.pn43, %_ZN7testing7MessageD2Ev.exit713 ], [ %319, %lpad507 ] +ehcleanup519: ; preds = %_ZN7testing7MessageD2Ev.exit718, %lpad507 + %.pn43.pn = phi { ptr, i32 } [ %.pn43, %_ZN7testing7MessageD2Ev.exit718 ], [ %319, %lpad507 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar497) #32 br label %common.resume -lpad527: ; preds = %if.end.i.i734, %if.then.i.i735, %_ZN7testing15AssertionResultD2Ev.exit717 +lpad527: ; preds = %if.end.i.i740, %if.then.i.i741, %_ZN7testing15AssertionResultD2Ev.exit722 %328 = landingpad { ptr, i32 } cleanup br label %ehcleanup552 @@ -12335,18 +12339,18 @@ if.else537: ; preds = %invoke.cont534 to label %invoke.cont540 unwind label %lpad539 invoke.cont540: ; preds = %if.else537 - %message_.i.i740 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar530, i64 0, i32 1 - %329 = load ptr, ptr %message_.i.i740, align 8 - %cmp.i.i.not.i.i741 = icmp eq ptr %329, null - br i1 %cmp.i.i.not.i.i741, label %invoke.cont543, label %cond.true.i.i742 + %message_.i.i746 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar530, i64 0, i32 1 + %329 = load ptr, ptr %message_.i.i746, align 8 + %cmp.i.i.not.i.i747 = icmp eq ptr %329, null + br i1 %cmp.i.i.not.i.i747, label %invoke.cont543, label %cond.true.i.i748 -cond.true.i.i742: ; preds = %invoke.cont540 - %call4.i.i743 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %329) #32 +cond.true.i.i748: ; preds = %invoke.cont540 + %call4.i.i749 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %329) #32 br label %invoke.cont543 -invoke.cont543: ; preds = %cond.true.i.i742, %invoke.cont540 - %cond.i.i744 = phi ptr [ %call4.i.i743, %cond.true.i.i742 ], [ @.str, %invoke.cont540 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp541, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 557, ptr noundef %cond.i.i744) +invoke.cont543: ; preds = %cond.true.i.i748, %invoke.cont540 + %cond.i.i750 = phi ptr [ %call4.i.i749, %cond.true.i.i748 ], [ @.str, %invoke.cont540 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp541, i32 noundef 1, ptr noundef nonnull @.str.2, i32 noundef 557, ptr noundef %cond.i.i750) to label %invoke.cont545 unwind label %lpad542 invoke.cont545: ; preds = %invoke.cont543 @@ -12356,17 +12360,17 @@ invoke.cont545: ; preds = %invoke.cont543 invoke.cont547: ; preds = %invoke.cont545 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp541) #32 %330 = load ptr, ptr %ref.tmp538, align 8 - %cmp.not.i.i746 = icmp eq ptr %330, null - br i1 %cmp.not.i.i746, label %_ZN7testing7MessageD2Ev.exit750, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i747 + %cmp.not.i.i752 = icmp eq ptr %330, null + br i1 %cmp.not.i.i752, label %_ZN7testing7MessageD2Ev.exit756, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i753 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i747: ; preds = %invoke.cont547 - %vtable.i.i.i748 = load ptr, ptr %330, align 8 - %vfn.i.i.i749 = getelementptr inbounds ptr, ptr %vtable.i.i.i748, i64 1 - %331 = load ptr, ptr %vfn.i.i.i749, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i753: ; preds = %invoke.cont547 + %vtable.i.i.i754 = load ptr, ptr %330, align 8 + %vfn.i.i.i755 = getelementptr inbounds ptr, ptr %vtable.i.i.i754, i64 1 + %331 = load ptr, ptr %vfn.i.i.i755, align 8 call void %331(ptr noundef nonnull align 8 dereferenceable(128) %330) #32 - br label %_ZN7testing7MessageD2Ev.exit750 + br label %_ZN7testing7MessageD2Ev.exit756 -_ZN7testing7MessageD2Ev.exit750: ; preds = %invoke.cont547, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i747 +_ZN7testing7MessageD2Ev.exit756: ; preds = %invoke.cont547, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i753 store ptr null, ptr %ref.tmp538, align 8 br label %if.end550 @@ -12389,56 +12393,56 @@ lpad546: ; preds = %invoke.cont545 ehcleanup549: ; preds = %lpad546, %lpad542 %.pn46 = phi { ptr, i32 } [ %334, %lpad546 ], [ %333, %lpad542 ] %335 = load ptr, ptr %ref.tmp538, align 8 - %cmp.not.i.i751 = icmp eq ptr %335, null - br i1 %cmp.not.i.i751, label %_ZN7testing7MessageD2Ev.exit755, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i752 + %cmp.not.i.i757 = icmp eq ptr %335, null + br i1 %cmp.not.i.i757, label %_ZN7testing7MessageD2Ev.exit761, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i752: ; preds = %ehcleanup549 - %vtable.i.i.i753 = load ptr, ptr %335, align 8 - %vfn.i.i.i754 = getelementptr inbounds ptr, ptr %vtable.i.i.i753, i64 1 - %336 = load ptr, ptr %vfn.i.i.i754, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758: ; preds = %ehcleanup549 + %vtable.i.i.i759 = load ptr, ptr %335, align 8 + %vfn.i.i.i760 = getelementptr inbounds ptr, ptr %vtable.i.i.i759, i64 1 + %336 = load ptr, ptr %vfn.i.i.i760, align 8 call void %336(ptr noundef nonnull align 8 dereferenceable(128) %335) #32 - br label %_ZN7testing7MessageD2Ev.exit755 + br label %_ZN7testing7MessageD2Ev.exit761 -_ZN7testing7MessageD2Ev.exit755: ; preds = %ehcleanup549, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i752 +_ZN7testing7MessageD2Ev.exit761: ; preds = %ehcleanup549, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758 store ptr null, ptr %ref.tmp538, align 8 br label %ehcleanup551 -if.end550: ; preds = %invoke.cont534, %_ZN7testing7MessageD2Ev.exit750 - %message_.i756 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar530, i64 0, i32 1 - %337 = load ptr, ptr %message_.i756, align 8 - %cmp.not.i.i757 = icmp eq ptr %337, null - br i1 %cmp.not.i.i757, label %_ZN7testing15AssertionResultD2Ev.exit759, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758 +if.end550: ; preds = %invoke.cont534, %_ZN7testing7MessageD2Ev.exit756 + %message_.i762 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar530, i64 0, i32 1 + %337 = load ptr, ptr %message_.i762, align 8 + %cmp.not.i.i763 = icmp eq ptr %337, null + br i1 %cmp.not.i.i763, label %_ZN7testing15AssertionResultD2Ev.exit765, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i764 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758: ; preds = %if.end550 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i764: ; preds = %if.end550 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %337) #32 call void @_ZdlPv(ptr noundef nonnull %337) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit759 + br label %_ZN7testing15AssertionResultD2Ev.exit765 -_ZN7testing15AssertionResultD2Ev.exit759: ; preds = %if.end550, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758 - store ptr null, ptr %message_.i756, align 8 - %338 = load ptr, ptr %data_.i718, align 8 - %tobool.not.i.i.i.i761 = icmp eq ptr %338, null - br i1 %tobool.not.i.i.i.i761, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit763, label %if.then.i.i.i.i762 +_ZN7testing15AssertionResultD2Ev.exit765: ; preds = %if.end550, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i764 + store ptr null, ptr %message_.i762, align 8 + %338 = load ptr, ptr %data_.i723, align 8 + %tobool.not.i.i.i.i767 = icmp eq ptr %338, null + br i1 %tobool.not.i.i.i.i767, label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit769, label %if.then.i.i.i.i768 -if.then.i.i.i.i762: ; preds = %_ZN7testing15AssertionResultD2Ev.exit759 +if.then.i.i.i.i768: ; preds = %_ZN7testing15AssertionResultD2Ev.exit765 call void @_ZdlPv(ptr noundef nonnull %338) #33 - br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit763 + br label %_ZN4absl15random_internal13sequence_urbgD2Ev.exit769 -_ZN4absl15random_internal13sequence_urbgD2Ev.exit763: ; preds = %_ZN7testing15AssertionResultD2Ev.exit759, %if.then.i.i.i.i762 +_ZN4absl15random_internal13sequence_urbgD2Ev.exit769: ; preds = %_ZN7testing15AssertionResultD2Ev.exit765, %if.then.i.i.i.i768 ret void -ehcleanup551: ; preds = %_ZN7testing7MessageD2Ev.exit755, %lpad539 - %.pn46.pn = phi { ptr, i32 } [ %.pn46, %_ZN7testing7MessageD2Ev.exit755 ], [ %332, %lpad539 ] +ehcleanup551: ; preds = %_ZN7testing7MessageD2Ev.exit761, %lpad539 + %.pn46.pn = phi { ptr, i32 } [ %.pn46, %_ZN7testing7MessageD2Ev.exit761 ], [ %332, %lpad539 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar530) #32 br label %ehcleanup552 ehcleanup552: ; preds = %ehcleanup551, %lpad527 %.pn46.pn.pn = phi { ptr, i32 } [ %.pn46.pn, %ehcleanup551 ], [ %328, %lpad527 ] - %339 = load ptr, ptr %data_.i718, align 8 - %tobool.not.i.i.i.i765 = icmp eq ptr %339, null - br i1 %tobool.not.i.i.i.i765, label %common.resume, label %if.then.i.i.i.i766 + %339 = load ptr, ptr %data_.i723, align 8 + %tobool.not.i.i.i.i771 = icmp eq ptr %339, null + br i1 %tobool.not.i.i.i.i771, label %common.resume, label %if.then.i.i.i.i772 -if.then.i.i.i.i766: ; preds = %ehcleanup552 +if.then.i.i.i.i772: ; preds = %ehcleanup552 call void @_ZdlPv(ptr noundef nonnull %339) #33 br label %common.resume } diff --git a/bench/abseil-cpp/optimized/graphcycles.cc.ll b/bench/abseil-cpp/optimized/graphcycles.cc.ll index f99a4aded7d..abceea9c837 100644 --- a/bench/abseil-cpp/optimized/graphcycles.cc.ll +++ b/bench/abseil-cpp/optimized/graphcycles.cc.ll @@ -2757,26 +2757,26 @@ _ZN4absl24synchronization_internal12_GLOBAL__N_13VecIiE6resizeEj.exit.i: ; preds %deltaf_.val28.i = load ptr, ptr %deltaf_.i, align 8 %idx.ext.i93.i = zext i32 %deltaf_.val31.i to i64 %add.ptr.i94.i = getelementptr inbounds i32, ptr %deltaf_.val28.i, i64 %idx.ext.i93.i - %cmp22.i.i.i = icmp ne i32 %deltab_.val33.i, 0 - %cmp123.i.i.i = icmp ne i32 %deltaf_.val31.i, 0 - %130 = and i1 %cmp123.i.i.i, %cmp22.i.i.i + %cmp21.i.i.i = icmp ne i32 %deltab_.val33.i, 0 + %cmp122.i.i.i = icmp ne i32 %deltaf_.val31.i, 0 + %130 = and i1 %cmp122.i.i.i, %cmp21.i.i.i br i1 %130, label %while.body.i.i96.i, label %while.end.i.i95.i while.body.i.i96.i: ; preds = %_ZN4absl24synchronization_internal12_GLOBAL__N_13VecIiE6resizeEj.exit.i, %while.body.i.i96.i - %__result.addr.026.i.i.i = phi ptr [ %incdec.ptr3.i.i.i, %while.body.i.i96.i ], [ %merged_.val27.i, %_ZN4absl24synchronization_internal12_GLOBAL__N_13VecIiE6resizeEj.exit.i ] - %__first1.addr.025.i.i.i = phi ptr [ %__first1.addr.1.i.i.i, %while.body.i.i96.i ], [ %deltab_.val29.i, %_ZN4absl24synchronization_internal12_GLOBAL__N_13VecIiE6resizeEj.exit.i ] - %__first2.addr.024.i.i.i = phi ptr [ %__first2.addr.1.i.i.i, %while.body.i.i96.i ], [ %deltaf_.val28.i, %_ZN4absl24synchronization_internal12_GLOBAL__N_13VecIiE6resizeEj.exit.i ] - %131 = load i32, ptr %__first2.addr.024.i.i.i, align 4 - %132 = load i32, ptr %__first1.addr.025.i.i.i, align 4 + %__result.addr.025.i.i.i = phi ptr [ %incdec.ptr3.i.i.i, %while.body.i.i96.i ], [ %merged_.val27.i, %_ZN4absl24synchronization_internal12_GLOBAL__N_13VecIiE6resizeEj.exit.i ] + %__first1.addr.024.i.i.i = phi ptr [ %__first1.addr.1.i.i.i, %while.body.i.i96.i ], [ %deltab_.val29.i, %_ZN4absl24synchronization_internal12_GLOBAL__N_13VecIiE6resizeEj.exit.i ] + %__first2.addr.023.i.i.i = phi ptr [ %__first2.addr.1.i.i.i, %while.body.i.i96.i ], [ %deltaf_.val28.i, %_ZN4absl24synchronization_internal12_GLOBAL__N_13VecIiE6resizeEj.exit.i ] + %131 = load i32, ptr %__first2.addr.023.i.i.i, align 4 + %132 = load i32, ptr %__first1.addr.024.i.i.i, align 4 %cmp.i.i.i97.i = icmp slt i32 %131, %132 %.sink.i.i.i = tail call i32 @llvm.smin.i32(i32 %131, i32 %132) %__first2.addr.1.idx.i.i.i = zext i1 %cmp.i.i.i97.i to i64 - %__first2.addr.1.i.i.i = getelementptr inbounds i32, ptr %__first2.addr.024.i.i.i, i64 %__first2.addr.1.idx.i.i.i + %__first2.addr.1.i.i.i = getelementptr inbounds i32, ptr %__first2.addr.023.i.i.i, i64 %__first2.addr.1.idx.i.i.i %not.cmp.i.i.i.i = xor i1 %cmp.i.i.i97.i, true %__first1.addr.1.idx.i.i.i = zext i1 %not.cmp.i.i.i.i to i64 - %__first1.addr.1.i.i.i = getelementptr inbounds i32, ptr %__first1.addr.025.i.i.i, i64 %__first1.addr.1.idx.i.i.i - store i32 %.sink.i.i.i, ptr %__result.addr.026.i.i.i, align 4 - %incdec.ptr3.i.i.i = getelementptr inbounds i32, ptr %__result.addr.026.i.i.i, i64 1 + %__first1.addr.1.i.i.i = getelementptr inbounds i32, ptr %__first1.addr.024.i.i.i, i64 %__first1.addr.1.idx.i.i.i + store i32 %.sink.i.i.i, ptr %__result.addr.025.i.i.i, align 4 + %incdec.ptr3.i.i.i = getelementptr inbounds i32, ptr %__result.addr.025.i.i.i, i64 1 %cmp.i.i98.i = icmp ne ptr %__first1.addr.1.i.i.i, %add.ptr.i.i %cmp1.i.i.i = icmp ne ptr %__first2.addr.1.i.i.i, %add.ptr.i94.i %133 = select i1 %cmp.i.i98.i, i1 %cmp1.i.i.i, i1 false @@ -2804,8 +2804,7 @@ if.then.i.i.i.i.i18.i.i.i: ; preds = %_ZSt4copyIPiS0_ET0_ %sub.ptr.lhs.cast.i.i.i.i.i14.i.i.i = ptrtoint ptr %add.ptr.i94.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i15.i.i.i = ptrtoint ptr %__first2.addr.0.lcssa.i.i.i to i64 %sub.ptr.sub.i.i.i.i.i16.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i14.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i15.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %__result.addr.0.lcssa.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__result.addr.0.lcssa.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i.i.i, ptr align 4 %__first2.addr.0.lcssa.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i16.i.i.i, i1 false) br label %_ZSt5mergeIPiS0_S0_ET1_T_S2_T0_S3_S1_.exit.i @@ -3451,7 +3450,7 @@ if.then3.i56.i.i.i: ; preds = %for.body.i25.i.i.i %sub.ptr.div.i.i.i.i.i.i60.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i59.i.i.i, 2 %.pre.i.i.i.i.i.i61.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i60.i.i.i %add.ptr.i.i.i.i.i.i62.i.i.i = getelementptr inbounds i32, ptr %add.ptr4.i57.i.i.i, i64 %.pre.i.i.i.i.i.i61.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i62.i.i.i, ptr nonnull align 4 %delta.0.val, i64 %sub.ptr.sub.i.i.i.i.i.i59.i.i.i, i1 false) + tail call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(1) %add.ptr.i.i.i.i.i.i62.i.i.i, ptr noundef nonnull align 4 dereferenceable(1) %delta.0.val, i64 %sub.ptr.sub.i.i.i.i.i.i59.i.i.i, i1 false) br label %for.inc.i41.i.i.i if.else.i36.i.i.i: ; preds = %for.body.i25.i.i.i diff --git a/bench/abseil-cpp/optimized/graphcycles_test.cc.ll b/bench/abseil-cpp/optimized/graphcycles_test.cc.ll index b0feda2b860..20d82f86480 100644 --- a/bench/abseil-cpp/optimized/graphcycles_test.cc.ll +++ b/bench/abseil-cpp/optimized/graphcycles_test.cc.ll @@ -574,7 +574,7 @@ declare void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnam ; Function Attrs: mustprogress uwtable define dso_local void @_ZN4absl24synchronization_internal31GraphCycles_RandomizedTest_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %ref.tmp1.i1140 = alloca %"class.absl::log_internal::LogMessageFatal", align 8 + %ref.tmp1.i1141 = alloca %"class.absl::log_internal::LogMessageFatal", align 8 %ref.tmp1.i = alloca %"class.absl::log_internal::LogMessageFatal", align 8 %nodes = alloca %"class.std::vector", align 8 %edges = alloca %"class.std::vector.3", align 8 @@ -743,20 +743,20 @@ invoke.cont6: ; preds = %for.body.i.i %message_.i939 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar629, i64 0, i32 1 %message_.i971 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar658, i64 0, i32 1 %message_.i1003 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar699, i64 0, i32 1 - %message_.i1077 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar733, i64 0, i32 1 + %message_.i1078 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar733, i64 0, i32 1 br label %for.body for.body: ; preds = %invoke.cont6, %for.inc801 - %next_node.01371 = phi i32 [ 0, %invoke.cont6 ], [ %next_node.3, %for.inc801 ] - %iter.01370 = phi i32 [ 0, %invoke.cont6 ], [ %inc802, %for.inc801 ] + %next_node.01372 = phi i32 [ 0, %invoke.cont6 ], [ %next_node.3, %for.inc801 ] + %iter.01371 = phi i32 [ 0, %invoke.cont6 ], [ %inc802, %for.inc801 ] %2 = load ptr, ptr %nodes, align 8 %3 = load ptr, ptr %_M_finish.i, align 8 - %cmp.i.not1312 = icmp eq ptr %2, %3 - br i1 %cmp.i.not1312, label %for.end, label %for.body13 + %cmp.i.not1313 = icmp eq ptr %2, %3 + br i1 %cmp.i.not1313, label %for.end, label %for.body13 for.body13: ; preds = %for.body, %for.inc - %__begin3.sroa.0.01313 = phi ptr [ %incdec.ptr.i, %for.inc ], [ %2, %for.body ] - %4 = load i32, ptr %__begin3.sroa.0.01313, align 4 + %__begin3.sroa.0.01314 = phi ptr [ %incdec.ptr.i, %for.inc ], [ %2, %for.body ] + %4 = load i32, ptr %__begin3.sroa.0.01314, align 4 %5 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 %cmp.not5.i.i.i.i = icmp eq ptr %5, null br i1 %cmp.not5.i.i.i.i, label %invoke.cont15, label %while.body.i.i.i.i @@ -788,10 +788,10 @@ _ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_E br i1 %cmp.i4.i.i.i, label %invoke.cont15, label %cond.false.i cond.false.i: ; preds = %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i - %__y.addr.06.i.i.i.i.sroa.gep1176 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__y.addr.06.i.i.i.i, i64 0, i32 1, i32 0, i64 8 - %__x.addr.07.i.i.i.i.sroa.gep1177 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__x.addr.07.i.i.i.i, i64 0, i32 1, i32 0, i64 8 - %__y.addr.1.i.i.i.i.sroa.sel1178 = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i.sroa.gep1176, ptr %__x.addr.07.i.i.i.i.sroa.gep1177 - %retval.sroa.0.0.copyload.i = load i64, ptr %__y.addr.1.i.i.i.i.sroa.sel1178, align 8 + %__y.addr.06.i.i.i.i.sroa.gep1177 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__y.addr.06.i.i.i.i, i64 0, i32 1, i32 0, i64 8 + %__x.addr.07.i.i.i.i.sroa.gep1178 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__x.addr.07.i.i.i.i, i64 0, i32 1, i32 0, i64 8 + %__y.addr.1.i.i.i.i.sroa.sel1179 = select i1 %cmp.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i.sroa.gep1177, ptr %__x.addr.07.i.i.i.i.sroa.gep1178 + %retval.sroa.0.0.copyload.i = load i64, ptr %__y.addr.1.i.i.i.i.sroa.sel1179, align 8 br label %invoke.cont15 invoke.cont15: ; preds = %cond.false.i, %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i, %_ZNKSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS5_EPKSt18_Rb_tree_node_baseRS1_.exit.i.i.i, %for.body13 @@ -801,7 +801,7 @@ invoke.cont15: ; preds = %cond.false.i, %_ZNK invoke.cont19: ; preds = %invoke.cont15 store ptr %call20, ptr %ref.tmp, align 8 - %8 = load i32, ptr %__begin3.sroa.0.01313, align 4 + %8 = load i32, ptr %__begin3.sroa.0.01314, align 4 %conv22 = sext i32 %8 to i64 %add.i = add nsw i64 %conv22, 17 %9 = inttoptr i64 %add.i to ptr @@ -828,80 +828,80 @@ lpad: ; preds = %entry cleanup br label %ehcleanup807 -lpad2.loopexit: ; preds = %while.body.i.i.i.i1102 +lpad2.loopexit: ; preds = %while.body.i.i.i.i1103 %lpad.loopexit = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.loopexit.split-lp.loopexit: ; preds = %if.else.i979, %if.then.i978 - %lpad.loopexit1204 = landingpad { ptr, i32 } + %lpad.loopexit1205 = landingpad { ptr, i32 } cleanup - store ptr %cond.i10.i.i103013291350, ptr %nodes, align 8 + store ptr %cond.i10.i.i103013301351, ptr %nodes, align 8 br label %ehcleanup805 -lpad2.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %invoke.cont760, %if.then.i1053, %if.else.i1052, %if.then.i.i.i1088, %if.else15.i.i.i1110, %invoke.cont771 - %lpad.loopexit1207 = landingpad { ptr, i32 } +lpad2.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %invoke.cont760, %if.then.i1054, %if.else.i1053, %if.then.i.i.i1089, %if.else15.i.i.i1111, %invoke.cont771 + %lpad.loopexit1208 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i1027, %if.end.i.i945, %if.then.i.i946, %if.else.i914, %if.then.i913, %invoke.cont656, %cleanup.cont654, %for.body619 - %lpad.loopexit1209 = landingpad { ptr, i32 } + %lpad.loopexit1210 = landingpad { ptr, i32 } cleanup - store ptr %cond.i10.i.i103013291350, ptr %nodes, align 8 + store ptr %cond.i10.i.i103013301351, ptr %nodes, align 8 br label %ehcleanup805 lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %for.body.i.i.i.i - %lpad.loopexit1212 = landingpad { ptr, i32 } + %lpad.loopexit1213 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %while.body.i.i.i.i248 - %lpad.loopexit1214 = landingpad { ptr, i32 } + %lpad.loopexit1215 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %while.body.i.i.i.i388 - %lpad.loopexit1217 = landingpad { ptr, i32 } + %lpad.loopexit1218 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %while.body.i.i.i.i351 - %lpad.loopexit1219 = landingpad { ptr, i32 } + %lpad.loopexit1220 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.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: ; preds = %while.body.i.i.i.i467 - %lpad.loopexit1222 = landingpad { ptr, i32 } + %lpad.loopexit1223 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.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: ; preds = %while.body.i.i.i.i649 - %lpad.loopexit1227 = landingpad { ptr, i32 } + %lpad.loopexit1228 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.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: ; preds = %while.body.i.i.i.i612 - %lpad.loopexit1230 = landingpad { ptr, i32 } + %lpad.loopexit1231 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.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: ; preds = %while.body.i.i.i - %lpad.loopexit1232 = landingpad { ptr, i32 } + %lpad.loopexit1233 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.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: ; preds = %invoke.cont15, %if.then.i.i, %if.end.i.i - %lpad.loopexit1235 = landingpad { ptr, i32 } + %lpad.loopexit1236 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 lpad2.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: ; preds = %for.end798, %sw.bb596, %if.else15.i.i.i657, %if.then.i.i.i635, %if.else15.i.i.i620, %if.then.i.i.i598, %if.end.i.i556, %if.then.i.i557, %if.end.i.i503, %if.then.i.i504, %if.else15.i.i.i475, %if.then.i.i.i453, %if.else15.i.i.i396, %if.then.i.i.i374, %if.else15.i.i.i359, %if.then.i.i.i337, %cleanup.cont166, %if.end.i.i283, %if.then.i.i284, %if.else15.i.i.i, %if.then.i.i.i245, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i, %if.end.i.i200, %if.then.i.i201, %if.else.i, %if.then.i, %if.then.i.i164, %invoke.cont614, %if.then613, %invoke.cont379, %invoke.cont374, %invoke.cont369, %invoke.cont355, %invoke.cont352, %cleanup.cont349, %if.then219, %invoke.cont213, %invoke.cont208, %if.then204, %invoke.cont139, %invoke.cont124, %invoke.cont84, %cleanup.cont82, %if.then50, %invoke.cont44, %for.end - %lpad.loopexit1237 = landingpad { ptr, i32 } + %lpad.loopexit1238 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 -lpad2.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.split-lp: ; preds = %if.then.i.i.i1040.invoke, %cond.false.i1141, %cond.false.i901, %sw.default, %invoke.cont3, %invoke.cont - %lpad.loopexit.split-lp1238 = landingpad { ptr, i32 } +lpad2.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.split-lp: ; preds = %if.then.i.i.i1041.invoke, %cond.false.i1142, %cond.false.i901, %sw.default, %invoke.cont3, %invoke.cont + %lpad.loopexit.split-lp1239 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 @@ -923,7 +923,7 @@ invoke.cont30: ; preds = %if.else invoke.cont32: ; preds = %invoke.cont30 %15 = load ptr, ptr %ref.tmp29, align 8 %add.ptr.i151 = getelementptr inbounds i8, ptr %15, i64 16 - %16 = load i32, ptr %__begin3.sroa.0.01313, align 4 + %16 = load i32, ptr %__begin3.sroa.0.01314, align 4 %call2.i152 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i151, i32 noundef %16) to label %invoke.cont34 unwind label %lpad31 @@ -1013,7 +1013,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP for.inc: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161, %for.inc.critedge store ptr null, ptr %message_.i159, align 8 - %incdec.ptr.i = getelementptr inbounds i32, ptr %__begin3.sroa.0.01313, i64 1 + %incdec.ptr.i = getelementptr inbounds i32, ptr %__begin3.sroa.0.01314, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i, %3 br i1 %cmp.i.not, label %for.end, label %for.body13 @@ -1079,9 +1079,9 @@ sw.bb: ; preds = %invoke.cont46 br i1 %cmp49, label %if.then50, label %invoke.cont610 if.then50: ; preds = %sw.bb - %inc = add nsw i32 %next_node.01371, 1 - store i32 %next_node.01371, ptr %new_node, align 4 - %conv51 = sext i32 %next_node.01371 to i64 + %inc = add nsw i32 %next_node.01372, 1 + store i32 %next_node.01372, ptr %new_node, align 4 + %conv51 = sext i32 %next_node.01372 to i64 %add.i170 = add nsw i64 %conv51, 17 %28 = inttoptr i64 %add.i170 to ptr %call55 = invoke i64 @_ZN4absl24synchronization_internal11GraphCycles5GetIdEPv(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles, ptr noundef %28) @@ -1349,7 +1349,7 @@ if.then.i231: ; preds = %cleanup.cont116 if.else.i233: ; preds = %cleanup.cont116 %cmp.i.i.i234 = icmp eq i64 %sub.ptr.sub.i, 9223372036854775804 - br i1 %cmp.i.i.i234, label %if.then.i.i.i1040.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i + br i1 %cmp.i.i.i234, label %if.then.i.i.i1041.invoke, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.else.i233 %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i, i64 1) @@ -1359,25 +1359,26 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.else.i233 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i unwind label %lpad2.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 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i - %add.ptr.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i.i237, i64 %sub.ptr.div.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i237, i64 %sub.ptr.sub.i %59 = load i32, ptr %new_node, align 4 store i32 %59, ptr %add.ptr.i.i, align 4 - br i1 %cmp.i.not1312, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i, label %if.then.i.i.i12.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i.i237, ptr align 4 %2, i64 %sub.ptr.sub.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i %incdec.ptr.i.i = getelementptr inbounds i32, ptr %add.ptr.i.i, i64 1 %tobool.not.i.i.i = icmp eq ptr %2, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i call void @_ZdlPv(ptr noundef nonnull %2) #24 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i store ptr %call5.i.i.i.i.i237, ptr %nodes, align 8 store ptr %incdec.ptr.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i.i237, i64 %add.i.i.i @@ -1390,7 +1391,7 @@ ehcleanup117: ; preds = %_ZN7testing7Message br label %ehcleanup805 sw.bb120: ; preds = %invoke.cont46 - br i1 %cmp.i.not1312, label %invoke.cont610, label %if.then123 + br i1 %cmp.i.not1313, label %invoke.cont610, label %if.then123 if.then123: ; preds = %sw.bb120 %sub.ptr.rhs.cast.i240 = ptrtoint ptr %2 to i64 @@ -1445,8 +1446,8 @@ if.else15.i.i.i: ; preds = %if.then123 invoke.cont124: ; preds = %while.cond.if.end.loopexit_crit_edge.i.i.i.i, %if.then.i.i.i.i, %call.i.i.i.i.noexc, %if.else15.i.i.i %__ret.0.i.i.i = phi i64 [ %extract.t10.i.i.i.i, %call.i.i.i.i.noexc ], [ %extract.t14.le.i.i.i.i, %while.cond.if.end.loopexit_crit_edge.i.i.i.i ], [ %extract.t10.i.i.i.i, %if.then.i.i.i.i ], [ %call16.i.i.i251, %if.else15.i.i.i ] - %sext1202 = shl i64 %__ret.0.i.i.i, 32 - %conv127 = ashr exact i64 %sext1202, 32 + %sext1203 = shl i64 %__ret.0.i.i.i, 32 + %conv127 = ashr exact i64 %sext1203, 32 %add.ptr.i252 = getelementptr inbounds i32, ptr %2, i64 %conv127 %60 = load i32, ptr %add.ptr.i252, align 4 store i32 %60, ptr %node126, align 4 @@ -1494,10 +1495,10 @@ _ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_E br i1 %cmp.i4.i.i.i276, label %invoke.cont139, label %cond.false.i277 cond.false.i277: ; preds = %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i274 - %__y.addr.06.i.i.i.i263.sroa.gep1179 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__y.addr.06.i.i.i.i263, i64 0, i32 1, i32 0, i64 8 - %__x.addr.07.i.i.i.i262.sroa.gep1180 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__x.addr.07.i.i.i.i262, i64 0, i32 1, i32 0, i64 8 - %__y.addr.1.i.i.i.i268.sroa.sel1181 = select i1 %cmp.i.i.i.i.i265, ptr %__y.addr.06.i.i.i.i263.sroa.gep1179, ptr %__x.addr.07.i.i.i.i262.sroa.gep1180 - %retval.sroa.0.0.copyload.i279 = load i64, ptr %__y.addr.1.i.i.i.i268.sroa.sel1181, align 8 + %__y.addr.06.i.i.i.i263.sroa.gep1180 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__y.addr.06.i.i.i.i263, i64 0, i32 1, i32 0, i64 8 + %__x.addr.07.i.i.i.i262.sroa.gep1181 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__x.addr.07.i.i.i.i262, i64 0, i32 1, i32 0, i64 8 + %__y.addr.1.i.i.i.i268.sroa.sel1182 = select i1 %cmp.i.i.i.i.i265, ptr %__y.addr.06.i.i.i.i263.sroa.gep1180, ptr %__x.addr.07.i.i.i.i262.sroa.gep1181 + %retval.sroa.0.0.copyload.i279 = load i64, ptr %__y.addr.1.i.i.i.i268.sroa.sel1182, align 8 br label %invoke.cont139 invoke.cont139: ; preds = %cond.false.i277, %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i274, %_ZNKSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS5_EPKSt18_Rb_tree_node_baseRS1_.exit.i.i.i272, %invoke.cont135 @@ -1626,8 +1627,8 @@ cleanup.cont166: ; preds = %_ZNKSt14default_del while.cond.preheader: ; preds = %cleanup.cont166 %80 = load ptr, ptr %_M_finish.i441, align 8 %81 = load ptr, ptr %edges, align 8 - %cmp172.not1323 = icmp eq ptr %80, %81 - br i1 %cmp172.not1323, label %invoke.cont610, label %while.body.lr.ph + %cmp172.not1324 = icmp eq ptr %80, %81 + br i1 %cmp172.not1324, label %invoke.cont610, label %while.body.lr.ph while.body.lr.ph: ; preds = %while.cond.preheader %82 = load i32, ptr %node126, align 4 @@ -1636,15 +1637,15 @@ while.body.lr.ph: ; preds = %while.cond.preheade while.body: ; preds = %while.body.lr.ph, %if.end185 %83 = phi ptr [ %81, %while.body.lr.ph ], [ %89, %if.end185 ] %84 = phi ptr [ %80, %while.body.lr.ph ], [ %90, %if.end185 ] - %conv1701325 = phi i64 [ 0, %while.body.lr.ph ], [ %conv170, %if.end185 ] - %i.01324 = phi i32 [ 0, %while.body.lr.ph ], [ %i.1, %if.end185 ] - %add.ptr.i318 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %83, i64 %conv1701325 + %conv1701326 = phi i64 [ 0, %while.body.lr.ph ], [ %conv170, %if.end185 ] + %i.01325 = phi i32 [ 0, %while.body.lr.ph ], [ %i.1, %if.end185 ] + %add.ptr.i318 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %83, i64 %conv1701326 %85 = load i32, ptr %add.ptr.i318, align 4 %cmp175 = icmp eq i32 %85, %82 br i1 %cmp175, label %if.then179, label %lor.lhs.false lor.lhs.false: ; preds = %while.body - %to = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %83, i64 %conv1701325, i32 1 + %to = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %83, i64 %conv1701326, i32 1 %86 = load i32, ptr %to, align 4 %cmp178 = icmp eq i32 %86, %82 br i1 %cmp178, label %if.then179, label %if.else183 @@ -1665,13 +1666,13 @@ ehcleanup167: ; preds = %_ZN7testing7Message br label %ehcleanup805 if.else183: ; preds = %lor.lhs.false - %inc184 = add nsw i32 %i.01324, 1 + %inc184 = add nsw i32 %i.01325, 1 br label %if.end185 if.end185: ; preds = %if.else183, %if.then179 %89 = phi ptr [ %.pre, %if.then179 ], [ %83, %if.else183 ] %90 = phi ptr [ %incdec.ptr.i324, %if.then179 ], [ %84, %if.else183 ] - %i.1 = phi i32 [ %i.01324, %if.then179 ], [ %inc184, %if.else183 ] + %i.1 = phi i32 [ %i.01325, %if.then179 ], [ %inc184, %if.else183 ] %conv170 = sext i32 %i.1 to i64 %sub.ptr.lhs.cast.i314 = ptrtoint ptr %90 to i64 %sub.ptr.rhs.cast.i315 = ptrtoint ptr %89 to i64 @@ -1681,7 +1682,7 @@ if.end185: ; preds = %if.else183, %if.the br i1 %cmp172.not, label %invoke.cont610, label %while.body, !llvm.loop !14 sw.bb187: ; preds = %invoke.cont46 - br i1 %cmp.i.not1312, label %invoke.cont610, label %if.then190 + br i1 %cmp.i.not1313, label %invoke.cont610, label %if.then190 if.then190: ; preds = %sw.bb187 %sub.ptr.rhs.cast.i327 = ptrtoint ptr %2 to i64 @@ -1704,16 +1705,16 @@ call.i.i.i.i.noexc360: ; preds = %if.then.i.i.i337 %mul.i.i.i.i341 = mul nuw i128 %conv.i.i.i.i339, %conv1.i.i.i.i340 %conv2.i.i.i.i342 = trunc i128 %mul.i.i.i.i341 to i64 %cmp.i.i.i.i343 = icmp ugt i64 %add.i.i.i338, %conv2.i.i.i.i342 - %extract1517 = lshr i128 %mul.i.i.i.i341, 64 - %extract.t1518 = trunc i128 %extract1517 to i32 + %extract1518 = lshr i128 %mul.i.i.i.i341, 64 + %extract.t1519 = trunc i128 %extract1518 to i32 br i1 %cmp.i.i.i.i343, label %if.then.i.i.i.i347, label %if.then.i.i.i374 if.then.i.i.i.i347: ; preds = %call.i.i.i.i.noexc360 %sub.i.i.i.i348 = xor i64 %conv.i.i.i335, -1 %rem.i.i.i.i349 = urem i64 %sub.i.i.i.i348, %add.i.i.i338 %cmp315.i.i.i.i350 = icmp ugt i64 %rem.i.i.i.i349, %conv2.i.i.i.i342 - %extract1515 = lshr i128 %mul.i.i.i.i341, 64 - %extract.t1516 = trunc i128 %extract1515 to i32 + %extract1516 = lshr i128 %mul.i.i.i.i341, 64 + %extract.t1517 = trunc i128 %extract1516 to i32 br i1 %cmp315.i.i.i.i350, label %while.body.i.i.i.i351, label %if.then.i.i.i374 while.body.i.i.i.i351: ; preds = %if.then.i.i.i.i347, %call4.i.i.i.i.noexc362 @@ -1732,12 +1733,12 @@ if.else15.i.i.i359: ; preds = %if.then190 to label %if.else15.i.i.i396 unwind label %lpad2.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 invoke.cont192: ; preds = %call4.i.i.i.i.noexc362 - %extract1513 = lshr i128 %mul7.i.i.i.i353, 64 - %extract.t1514 = trunc i128 %extract1513 to i32 + %extract1514 = lshr i128 %mul7.i.i.i.i353, 64 + %extract.t1515 = trunc i128 %extract1514 to i32 br label %if.then.i.i.i374 if.then.i.i.i374: ; preds = %call.i.i.i.i.noexc360, %if.then.i.i.i.i347, %invoke.cont192 - %extract13.le.i.i.i.i357.sink.in.off64 = phi i32 [ %extract.t1514, %invoke.cont192 ], [ %extract.t1516, %if.then.i.i.i.i347 ], [ %extract.t1518, %call.i.i.i.i.noexc360 ] + %extract13.le.i.i.i.i357.sink.in.off64 = phi i32 [ %extract.t1515, %invoke.cont192 ], [ %extract.t1517, %if.then.i.i.i.i347 ], [ %extract.t1519, %call.i.i.i.i.noexc360 ] %call.i.i.i.i398 = invoke noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEclEv(ptr noundef nonnull align 8 dereferenceable(2504) %rng) to label %call.i.i.i.i.noexc397 unwind label %lpad2.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 @@ -1783,8 +1784,8 @@ invoke.cont195: ; preds = %while.cond.if.end.l %conv197 = sext i32 %92 to i64 %add.ptr.i404 = getelementptr inbounds i32, ptr %2, i64 %conv197 %93 = load i32, ptr %add.ptr.i404, align 4 - %sext1201 = shl i64 %__ret.0.i.i.i383, 32 - %conv199 = ashr exact i64 %sext1201, 32 + %sext1202 = shl i64 %__ret.0.i.i.i383, 32 + %conv199 = ashr exact i64 %sext1202, 32 %add.ptr.i405 = getelementptr inbounds i32, ptr %2, i64 %conv199 %94 = load i32, ptr %add.ptr.i405, align 4 %edges.val = load ptr, ptr %edges, align 8 @@ -2043,8 +2044,8 @@ invoke.cont285: ; preds = %while.cond.if.end.l %__ret.0.i.i.i462 = phi i64 [ %extract.t10.i.i.i.i461, %call.i.i.i.i.noexc476 ], [ %extract.t14.le.i.i.i.i474, %while.cond.if.end.loopexit_crit_edge.i.i.i.i472 ], [ %extract.t10.i.i.i.i461, %if.then.i.i.i.i463 ], [ %call16.i.i.i481, %if.else15.i.i.i475 ] %119 = trunc i64 %__ret.0.i.i.i462 to i32 store i32 %119, ptr %i284, align 4 - %sext1200 = shl i64 %__ret.0.i.i.i462, 32 - %conv288 = ashr exact i64 %sext1200, 32 + %sext1201 = shl i64 %__ret.0.i.i.i462, 32 + %conv288 = ashr exact i64 %sext1201, 32 %120 = load ptr, ptr %edges, align 8 %add.ptr.i482 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %120, i64 %conv288 %121 = load i32, ptr %add.ptr.i482, align 4 @@ -2380,7 +2381,7 @@ ehcleanup350: ; preds = %_ZN7testing7Message br label %ehcleanup805 sw.bb361: ; preds = %invoke.cont46 - br i1 %cmp.i.not1312, label %invoke.cont610, label %if.then364 + br i1 %cmp.i.not1313, label %invoke.cont610, label %if.then364 if.then364: ; preds = %sw.bb361 %sub.ptr.rhs.cast.i588 = ptrtoint ptr %2 to i64 @@ -2403,16 +2404,16 @@ call.i.i.i.i.noexc621: ; preds = %if.then.i.i.i598 %mul.i.i.i.i602 = mul nuw i128 %conv.i.i.i.i600, %conv1.i.i.i.i601 %conv2.i.i.i.i603 = trunc i128 %mul.i.i.i.i602 to i64 %cmp.i.i.i.i604 = icmp ugt i64 %add.i.i.i599, %conv2.i.i.i.i603 - %extract1511 = lshr i128 %mul.i.i.i.i602, 64 - %extract.t1512 = trunc i128 %extract1511 to i32 + %extract1512 = lshr i128 %mul.i.i.i.i602, 64 + %extract.t1513 = trunc i128 %extract1512 to i32 br i1 %cmp.i.i.i.i604, label %if.then.i.i.i.i608, label %if.then.i.i.i635 if.then.i.i.i.i608: ; preds = %call.i.i.i.i.noexc621 %sub.i.i.i.i609 = xor i64 %conv.i.i.i596, -1 %rem.i.i.i.i610 = urem i64 %sub.i.i.i.i609, %add.i.i.i599 %cmp315.i.i.i.i611 = icmp ugt i64 %rem.i.i.i.i610, %conv2.i.i.i.i603 - %extract1509 = lshr i128 %mul.i.i.i.i602, 64 - %extract.t1510 = trunc i128 %extract1509 to i32 + %extract1510 = lshr i128 %mul.i.i.i.i602, 64 + %extract.t1511 = trunc i128 %extract1510 to i32 br i1 %cmp315.i.i.i.i611, label %while.body.i.i.i.i612, label %if.then.i.i.i635 while.body.i.i.i.i612: ; preds = %if.then.i.i.i.i608, %call4.i.i.i.i.noexc623 @@ -2436,7 +2437,7 @@ invoke.cont366: ; preds = %call4.i.i.i.i.noexc br label %if.then.i.i.i635 if.then.i.i.i635: ; preds = %call.i.i.i.i.noexc621, %if.then.i.i.i.i608, %invoke.cont366 - %extract13.le.i.i.i.i618.sink.in.off64 = phi i32 [ %extract.t, %invoke.cont366 ], [ %extract.t1510, %if.then.i.i.i.i608 ], [ %extract.t1512, %call.i.i.i.i.noexc621 ] + %extract13.le.i.i.i.i618.sink.in.off64 = phi i32 [ %extract.t, %invoke.cont366 ], [ %extract.t1511, %if.then.i.i.i.i608 ], [ %extract.t1513, %call.i.i.i.i.noexc621 ] %call.i.i.i.i659 = invoke noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEclEv(ptr noundef nonnull align 8 dereferenceable(2504) %rng) to label %call.i.i.i.i.noexc658 unwind label %lpad2.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 @@ -2544,10 +2545,10 @@ _ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_E br i1 %cmp.i4.i.i.i693, label %invoke.cont397, label %cond.false.i694 cond.false.i694: ; preds = %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i691 - %__y.addr.06.i.i.i.i680.sroa.gep1182 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__y.addr.06.i.i.i.i680, i64 0, i32 1, i32 0, i64 8 - %__x.addr.07.i.i.i.i679.sroa.gep1183 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__x.addr.07.i.i.i.i679, i64 0, i32 1, i32 0, i64 8 - %__y.addr.1.i.i.i.i685.sroa.sel1184 = select i1 %cmp.i.i.i.i.i682, ptr %__y.addr.06.i.i.i.i680.sroa.gep1182, ptr %__x.addr.07.i.i.i.i679.sroa.gep1183 - %retval.sroa.0.0.copyload.i696 = load i64, ptr %__y.addr.1.i.i.i.i685.sroa.sel1184, align 8 + %__y.addr.06.i.i.i.i680.sroa.gep1183 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__y.addr.06.i.i.i.i680, i64 0, i32 1, i32 0, i64 8 + %__x.addr.07.i.i.i.i679.sroa.gep1184 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__x.addr.07.i.i.i.i679, i64 0, i32 1, i32 0, i64 8 + %__y.addr.1.i.i.i.i685.sroa.sel1185 = select i1 %cmp.i.i.i.i.i682, ptr %__y.addr.06.i.i.i.i680.sroa.gep1183, ptr %__x.addr.07.i.i.i.i679.sroa.gep1184 + %retval.sroa.0.0.copyload.i696 = load i64, ptr %__y.addr.1.i.i.i.i685.sroa.sel1185, align 8 br label %invoke.cont397 invoke.cont397: ; preds = %cond.false.i694, %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i691, %_ZNKSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS5_EPKSt18_Rb_tree_node_baseRS1_.exit.i.i.i689 @@ -2582,16 +2583,16 @@ _ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_E br i1 %cmp.i4.i.i.i718, label %invoke.cont403, label %cond.false.i719 cond.false.i719: ; preds = %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i716 - %__y.addr.06.i.i.i.i705.sroa.gep1185 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__y.addr.06.i.i.i.i705, i64 0, i32 1, i32 0, i64 8 - %__x.addr.07.i.i.i.i704.sroa.gep1186 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__x.addr.07.i.i.i.i704, i64 0, i32 1, i32 0, i64 8 - %__y.addr.1.i.i.i.i710.sroa.sel1187 = select i1 %cmp.i.i.i.i.i707, ptr %__y.addr.06.i.i.i.i705.sroa.gep1185, ptr %__x.addr.07.i.i.i.i704.sroa.gep1186 - %retval.sroa.0.0.copyload.i721 = load i64, ptr %__y.addr.1.i.i.i.i710.sroa.sel1187, align 8 + %__y.addr.06.i.i.i.i705.sroa.gep1186 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__y.addr.06.i.i.i.i705, i64 0, i32 1, i32 0, i64 8 + %__x.addr.07.i.i.i.i704.sroa.gep1187 = getelementptr inbounds %"struct.std::_Rb_tree_node", ptr %__x.addr.07.i.i.i.i704, i64 0, i32 1, i32 0, i64 8 + %__y.addr.1.i.i.i.i710.sroa.sel1188 = select i1 %cmp.i.i.i.i.i707, ptr %__y.addr.06.i.i.i.i705.sroa.gep1186, ptr %__x.addr.07.i.i.i.i704.sroa.gep1187 + %retval.sroa.0.0.copyload.i721 = load i64, ptr %__y.addr.1.i.i.i.i710.sroa.sel1188, align 8 br label %invoke.cont403 invoke.cont403: ; preds = %invoke.cont391, %cond.false.i719, %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i716, %_ZNKSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS5_EPKSt18_Rb_tree_node_baseRS1_.exit.i.i.i714 - %retval.sroa.0.0.i6971199 = phi i64 [ %retval.sroa.0.0.i697, %cond.false.i719 ], [ %retval.sroa.0.0.i697, %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i716 ], [ %retval.sroa.0.0.i697, %_ZNKSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS5_EPKSt18_Rb_tree_node_baseRS1_.exit.i.i.i714 ], [ 0, %invoke.cont391 ] + %retval.sroa.0.0.i6971200 = phi i64 [ %retval.sroa.0.0.i697, %cond.false.i719 ], [ %retval.sroa.0.0.i697, %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i716 ], [ %retval.sroa.0.0.i697, %_ZNKSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS5_EPKSt18_Rb_tree_node_baseRS1_.exit.i.i.i714 ], [ 0, %invoke.cont391 ] %retval.sroa.0.0.i722 = phi i64 [ %retval.sroa.0.0.copyload.i721, %cond.false.i719 ], [ 0, %_ZNKSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEE4findERS6_.exit.i716 ], [ 0, %_ZNKSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS5_EPKSt18_Rb_tree_node_baseRS1_.exit.i.i.i714 ], [ 0, %invoke.cont391 ] - %call409 = invoke noundef zeroext i1 @_ZNK4absl24synchronization_internal11GraphCycles11IsReachableENS0_7GraphIdES2_(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles, i64 %retval.sroa.0.0.i6971199, i64 %retval.sroa.0.0.i722) + %call409 = invoke noundef zeroext i1 @_ZNK4absl24synchronization_internal11GraphCycles11IsReachableENS0_7GraphIdES2_(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles, i64 %retval.sroa.0.0.i6971200, i64 %retval.sroa.0.0.i722) to label %invoke.cont408 unwind label %lpad390.loopexit.split-lp invoke.cont408: ; preds = %invoke.cont403 @@ -2622,12 +2623,12 @@ invoke.cont415: ; preds = %if.then.i.i726, %if br i1 %tobool.i729.not, label %if.else420, label %cleanup.cont435.critedge lpad390.loopexit: ; preds = %for.body547 - %lpad.loopexit1224 = landingpad { ptr, i32 } + %lpad.loopexit1225 = landingpad { ptr, i32 } cleanup br label %ehcleanup594 lpad390.loopexit.split-lp: ; preds = %invoke.cont383, %invoke.cont403, %if.then488, %cleanup.cont514, %if.then.i.i726, %if.end.i.i725, %if.then.i.i756, %if.end.i.i755, %if.then.i786, %if.else.i787, %if.then.i.i818, %if.end.i.i817, %if.then.i.i849, %if.end.i.i848 - %lpad.loopexit.split-lp1225 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1226 = landingpad { ptr, i32 } cleanup br label %ehcleanup594 @@ -3180,8 +3181,8 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP cleanup.cont542: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i876, %cleanup.cont542.critedge store ptr null, ptr %message_.i874, align 8 %246 = load i32, ptr %path_len, align 4 - %cmp5461316 = icmp sgt i32 %246, 1 - br i1 %cmp5461316, label %for.body547, label %cleanup591 + %cmp5461317 = icmp sgt i32 %246, 1 + br i1 %cmp5461317, label %for.body547, label %cleanup591 for.body547: ; preds = %cleanup.cont542, %for.inc587 %indvars.iv = phi i64 [ %indvars.iv.next, %for.inc587 ], [ 1, %cleanup.cont542 ] @@ -3323,7 +3324,7 @@ if.end.i.i.i.i: ; preds = %_ZNSt10_HashtableIi br label %invoke.cont610 ehcleanup594: ; preds = %lpad390.loopexit, %lpad390.loopexit.split-lp, %ehcleanup586, %ehcleanup543, %ehcleanup515, %ehcleanup486, %ehcleanup462, %ehcleanup436 - %.pn87.pn.pn.pn = phi { ptr, i32 } [ %.pn87.pn.pn, %ehcleanup586 ], [ %.pn84.pn, %ehcleanup543 ], [ %.pn81.pn, %ehcleanup515 ], [ %.pn78.pn, %ehcleanup486 ], [ %.pn75.pn, %ehcleanup462 ], [ %.pn.pn, %ehcleanup436 ], [ %lpad.loopexit1224, %lpad390.loopexit ], [ %lpad.loopexit.split-lp1225, %lpad390.loopexit.split-lp ] + %.pn87.pn.pn.pn = phi { ptr, i32 } [ %.pn87.pn.pn, %ehcleanup586 ], [ %.pn84.pn, %ehcleanup543 ], [ %.pn81.pn, %ehcleanup515 ], [ %.pn78.pn, %ehcleanup486 ], [ %.pn75.pn, %ehcleanup462 ], [ %.pn.pn, %ehcleanup436 ], [ %lpad.loopexit1225, %lpad390.loopexit ], [ %lpad.loopexit.split-lp1226, %lpad390.loopexit.split-lp ] call void @_ZNSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %seen385) #23 br label %ehcleanup805 @@ -3385,7 +3386,7 @@ sw.epilog.critedge: ; preds = %invoke.cont234 br label %invoke.cont610 invoke.cont610: ; preds = %if.end185, %while.cond.preheader, %sw.bb, %sw.bb120, %_ZN4absl24synchronization_internalL9EdgeIndexEPSt6vectorINS0_4EdgeESaIS2_EEii.exit, %if.then219, %sw.bb187, %invoke.cont355, %sw.bb280, %sw.bb361, %sw.epilog.critedge, %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit, %if.then.i231, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i, %if.end.i.i.i.i - %next_node.1 = phi i32 [ %next_node.01371, %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit ], [ %next_node.01371, %sw.bb361 ], [ %next_node.01371, %invoke.cont355 ], [ %next_node.01371, %sw.bb280 ], [ %next_node.01371, %if.then219 ], [ %next_node.01371, %_ZN4absl24synchronization_internalL9EdgeIndexEPSt6vectorINS0_4EdgeESaIS2_EEii.exit ], [ %next_node.01371, %sw.bb187 ], [ %next_node.01371, %sw.bb120 ], [ %next_node.01371, %sw.bb ], [ %next_node.01371, %sw.epilog.critedge ], [ %inc, %if.then.i231 ], [ %inc, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %next_node.01371, %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i ], [ %next_node.01371, %if.end.i.i.i.i ], [ %next_node.01371, %while.cond.preheader ], [ %next_node.01371, %if.end185 ] + %next_node.1 = phi i32 [ %next_node.01372, %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit ], [ %next_node.01372, %sw.bb361 ], [ %next_node.01372, %invoke.cont355 ], [ %next_node.01372, %sw.bb280 ], [ %next_node.01372, %if.then219 ], [ %next_node.01372, %_ZN4absl24synchronization_internalL9EdgeIndexEPSt6vectorINS0_4EdgeESaIS2_EEii.exit ], [ %next_node.01372, %sw.bb187 ], [ %next_node.01372, %sw.bb120 ], [ %next_node.01372, %sw.bb ], [ %next_node.01372, %sw.epilog.critedge ], [ %inc, %if.then.i231 ], [ %inc, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %next_node.01372, %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i ], [ %next_node.01372, %if.end.i.i.i.i ], [ %next_node.01372, %while.cond.preheader ], [ %next_node.01372, %if.end185 ] %call.i.i.i.i.i = call noundef x86_fp80 @logl(x86_fp80 noundef 0xK403F8000000000000000) #23 %call.i8.i.i.i.i = call noundef x86_fp80 @logl(x86_fp80 noundef 0xK40008000000000000000) #23 %div.i.i.i.i = fdiv x86_fp80 %call.i.i.i.i.i, %call.i8.i.i.i.i @@ -3441,21 +3442,21 @@ for.cond617.preheader: ; preds = %invoke.cont614 br label %for.body619 for.cond730.preheader: ; preds = %for.inc726 - %268 = trunc i64 %indvars.iv.next1438 to i32 - store ptr %cond.i10.i.i10301328, ptr %nodes, align 8 - store ptr %incdec.ptr.i10121337, ptr %_M_finish.i, align 8 - %sub.ptr.rhs.cast.i1047 = ptrtoint ptr %cond.i10.i.i10301328 to i64 + %268 = trunc i64 %indvars.iv.next1439 to i32 + store ptr %cond.i10.i.i10301329, ptr %nodes, align 8 + store ptr %incdec.ptr.i10121338, ptr %_M_finish.i, align 8 + %sub.ptr.rhs.cast.i1048 = ptrtoint ptr %cond.i10.i.i10301329 to i64 br label %for.body732 for.body619: ; preds = %for.cond617.preheader, %for.inc726 - %indvars.iv1437 = phi i64 [ %267, %for.cond617.preheader ], [ %indvars.iv.next1438, %for.inc726 ] - %i616.01351 = phi i32 [ 0, %for.cond617.preheader ], [ %inc727, %for.inc726 ] - %cond.i10.i.i103013291350 = phi ptr [ %nodes.promoted, %for.cond617.preheader ], [ %cond.i10.i.i10301328, %for.inc726 ] - %incdec.ptr.i101213361349 = phi ptr [ %_M_finish.i.promoted, %for.cond617.preheader ], [ %incdec.ptr.i10121337, %for.inc726 ] - %indvars.iv.next1438 = add nsw i64 %indvars.iv1437, 1 - %269 = trunc i64 %indvars.iv1437 to i32 + %indvars.iv1438 = phi i64 [ %267, %for.cond617.preheader ], [ %indvars.iv.next1439, %for.inc726 ] + %i616.01352 = phi i32 [ 0, %for.cond617.preheader ], [ %inc727, %for.inc726 ] + %cond.i10.i.i103013301351 = phi ptr [ %nodes.promoted, %for.cond617.preheader ], [ %cond.i10.i.i10301329, %for.inc726 ] + %incdec.ptr.i101213371350 = phi ptr [ %_M_finish.i.promoted, %for.cond617.preheader ], [ %incdec.ptr.i10121338, %for.inc726 ] + %indvars.iv.next1439 = add nsw i64 %indvars.iv1438, 1 + %269 = trunc i64 %indvars.iv1438 to i32 store i32 %269, ptr %new_node620, align 4 - %add.i911 = add nsw i64 %indvars.iv1437, 17 + %add.i911 = add nsw i64 %indvars.iv1438, 17 %270 = inttoptr i64 %add.i911 to ptr %call627 = invoke i64 @_ZN4absl24synchronization_internal11GraphCycles5GetIdEPv(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles, ptr noundef %270) to label %invoke.cont626 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit @@ -3486,8 +3487,8 @@ lpad635: ; preds = %if.else639 br label %ehcleanup655 if.else639: ; preds = %invoke.cont634 - store ptr %cond.i10.i.i103013291350, ptr %nodes, align 8 - store ptr %incdec.ptr.i101213361349, ptr %_M_finish.i, align 8 + store ptr %cond.i10.i.i103013301351, ptr %nodes, align 8 + store ptr %incdec.ptr.i101213371350, ptr %_M_finish.i, align 8 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp640) to label %invoke.cont641 unwind label %lpad635 @@ -3622,8 +3623,8 @@ lpad669: ; preds = %if.else673 br label %ehcleanup689 if.else673: ; preds = %invoke.cont668 - store ptr %cond.i10.i.i103013291350, ptr %nodes, align 8 - store ptr %incdec.ptr.i101213361349, ptr %_M_finish.i, align 8 + store ptr %cond.i10.i.i103013301351, ptr %nodes, align 8 + store ptr %incdec.ptr.i101213371350, ptr %_M_finish.i, align 8 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp674) to label %invoke.cont675 unwind label %lpad669 @@ -3713,12 +3714,12 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP cleanup.cont688: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i973, %cleanup.cont688.critedge store ptr null, ptr %message_.i971, align 8 - %cmp.i976.not1326 = icmp eq ptr %cond.i10.i.i103013291350, %incdec.ptr.i101213361349 - br i1 %cmp.i976.not1326, label %for.end724, label %for.body696 + %cmp.i976.not1327 = icmp eq ptr %cond.i10.i.i103013301351, %incdec.ptr.i101213371350 + br i1 %cmp.i976.not1327, label %for.end724, label %for.body696 for.body696: ; preds = %cleanup.cont688, %for.inc722 - %__begin5.sroa.0.01327 = phi ptr [ %incdec.ptr.i1007, %for.inc722 ], [ %cond.i10.i.i103013291350, %cleanup.cont688 ] - %299 = load i32, ptr %__begin5.sroa.0.01327, align 4, !noalias !47 + %__begin5.sroa.0.01328 = phi ptr [ %incdec.ptr.i1007, %for.inc722 ], [ %cond.i10.i.i103013301351, %cleanup.cont688 ] + %299 = load i32, ptr %__begin5.sroa.0.01328, align 4, !noalias !47 %300 = load i32, ptr %new_node620, align 4, !noalias !47 %cmp.not.i977 = icmp eq i32 %299, %300 br i1 %cmp.not.i977, label %if.else.i979, label %if.then.i978 @@ -3728,7 +3729,7 @@ if.then.i978: ; preds = %for.body696 to label %invoke.cont700 unwind label %lpad2.loopexit.split-lp.loopexit if.else.i979: ; preds = %for.body696 - invoke void @_ZN7testing8internal18CmpHelperOpFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar699, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.32, ptr noundef nonnull align 4 dereferenceable(4) %__begin5.sroa.0.01327, ptr noundef nonnull align 4 dereferenceable(4) %new_node620, ptr noundef nonnull @.str.103) + invoke void @_ZN7testing8internal18CmpHelperOpFailureIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar699, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.32, ptr noundef nonnull align 4 dereferenceable(4) %__begin5.sroa.0.01328, ptr noundef nonnull align 4 dereferenceable(4) %new_node620, ptr noundef nonnull @.str.103) to label %invoke.cont700 unwind label %lpad2.loopexit.split-lp.loopexit invoke.cont700: ; preds = %if.then.i978, %if.else.i979 @@ -3748,8 +3749,8 @@ lpad701: ; preds = %if.else705 br label %ehcleanup721 if.else705: ; preds = %invoke.cont700 - store ptr %cond.i10.i.i103013291350, ptr %nodes, align 8 - store ptr %incdec.ptr.i101213361349, ptr %_M_finish.i, align 8 + store ptr %cond.i10.i.i103013301351, ptr %nodes, align 8 + store ptr %incdec.ptr.i101213371350, ptr %_M_finish.i, align 8 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp706) to label %invoke.cont707 unwind label %lpad701 @@ -3839,8 +3840,8 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP for.inc722: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1005, %for.inc722.critedge store ptr null, ptr %message_.i1003, align 8 - %incdec.ptr.i1007 = getelementptr inbounds i32, ptr %__begin5.sroa.0.01327, i64 1 - %cmp.i976.not = icmp eq ptr %incdec.ptr.i1007, %incdec.ptr.i101213361349 + %incdec.ptr.i1007 = getelementptr inbounds i32, ptr %__begin5.sroa.0.01328, i64 1 + %cmp.i976.not = icmp eq ptr %incdec.ptr.i1007, %incdec.ptr.i101213371350 br i1 %cmp.i976.not, label %for.end724, label %for.body696 ehcleanup721: ; preds = %_ZN7testing7MessageD2Ev.exit1002, %lpad701 @@ -3850,30 +3851,30 @@ ehcleanup721: ; preds = %_ZN7testing7Message for.end724: ; preds = %for.inc722, %cleanup.cont688 %313 = load ptr, ptr %_M_end_of_storage.i, align 8 - %cmp.not.i1010 = icmp eq ptr %incdec.ptr.i101213361349, %313 + %cmp.not.i1010 = icmp eq ptr %incdec.ptr.i101213371350, %313 br i1 %cmp.not.i1010, label %if.else.i1013, label %if.then.i1011 if.then.i1011: ; preds = %for.end724 %314 = load i32, ptr %new_node620, align 4 - store i32 %314, ptr %incdec.ptr.i101213361349, align 4 + store i32 %314, ptr %incdec.ptr.i101213371350, align 4 br label %for.inc726 if.else.i1013: ; preds = %for.end724 - %sub.ptr.lhs.cast.i.i.i.i1014 = ptrtoint ptr %incdec.ptr.i101213361349 to i64 - %sub.ptr.rhs.cast.i.i.i.i1015 = ptrtoint ptr %cond.i10.i.i103013291350 to i64 + %sub.ptr.lhs.cast.i.i.i.i1014 = ptrtoint ptr %incdec.ptr.i101213371350 to i64 + %sub.ptr.rhs.cast.i.i.i.i1015 = ptrtoint ptr %cond.i10.i.i103013301351 to i64 %sub.ptr.sub.i.i.i.i1016 = sub i64 %sub.ptr.lhs.cast.i.i.i.i1014, %sub.ptr.rhs.cast.i.i.i.i1015 %cmp.i.i.i1017 = icmp eq i64 %sub.ptr.sub.i.i.i.i1016, 9223372036854775804 - br i1 %cmp.i.i.i1017, label %if.then.i.i.i1040, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i1018 + br i1 %cmp.i.i.i1017, label %if.then.i.i.i1041, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i1018 -if.then.i.i.i1040: ; preds = %if.else.i1013 - store ptr %cond.i10.i.i103013291350, ptr %nodes, align 8 - br label %if.then.i.i.i1040.invoke +if.then.i.i.i1041: ; preds = %if.else.i1013 + store ptr %cond.i10.i.i103013301351, ptr %nodes, align 8 + br label %if.then.i.i.i1041.invoke -if.then.i.i.i1040.invoke: ; preds = %if.else.i233, %if.then.i.i.i1040 +if.then.i.i.i1041.invoke: ; preds = %if.else.i233, %if.then.i.i.i1041 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.110) #28 - to label %if.then.i.i.i1040.cont unwind label %lpad2.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.split-lp + to label %if.then.i.i.i1041.cont unwind label %lpad2.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.split-lp -if.then.i.i.i1040.cont: ; preds = %if.then.i.i.i1040.invoke +if.then.i.i.i1041.cont: ; preds = %if.then.i.i.i1041.invoke unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i1018: ; preds = %if.else.i1013 @@ -3889,66 +3890,67 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i1018: ; preds = %if.else.i1013 _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i1027: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i1018 %mul.i.i.i.i.i1028 = shl nuw nsw i64 %cond.i.i.i1025, 2 - %call5.i.i.i.i.i1043 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1028) #25 + %call5.i.i.i.i.i1044 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1028) #25 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i1029 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i1029: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i1027, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i1018 - %cond.i10.i.i1030 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i1018 ], [ %call5.i.i.i.i.i1043, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i1027 ] + %cond.i10.i.i1030 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i1018 ], [ %call5.i.i.i.i.i1044, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i1027 ] %add.ptr.i.i1031 = getelementptr inbounds i32, ptr %cond.i10.i.i1030, i64 %sub.ptr.div.i.i.i.i1019 %315 = load i32, ptr %new_node620, align 4 store i32 %315, ptr %add.ptr.i.i1031, align 4 - %cmp.i.i.i11.i.i1032 = icmp sgt i64 %sub.ptr.div.i.i.i.i1019, 0 - br i1 %cmp.i.i.i11.i.i1032, label %if.then.i.i.i12.i.i1039, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i1033 + %cmp.i.i.i11.i.i1032 = icmp sgt i64 %sub.ptr.sub.i.i.i.i1016, 0 + br i1 %cmp.i.i.i11.i.i1032, label %if.then.i.i.i12.i.i1040, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i1033 -if.then.i.i.i12.i.i1039: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i1029 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i1030, ptr align 4 %cond.i10.i.i103013291350, i64 %sub.ptr.sub.i.i.i.i1016, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i1033 +if.then.i.i.i12.i.i1040: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i1029 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i1030, ptr align 4 %cond.i10.i.i103013301351, i64 %sub.ptr.sub.i.i.i.i1016, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i1033 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i1033: ; preds = %if.then.i.i.i12.i.i1039, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i1029 - %tobool.not.i.i.i1035 = icmp eq ptr %cond.i10.i.i103013291350, null - br i1 %tobool.not.i.i.i1035, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1037, label %if.then.i21.i.i1036 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i1033: ; preds = %if.then.i.i.i12.i.i1040, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i1029 + %add.ptr.i.i.i.i.i1034 = getelementptr inbounds i8, ptr %cond.i10.i.i1030, i64 %sub.ptr.sub.i.i.i.i1016 + %tobool.not.i.i.i1036 = icmp eq ptr %cond.i10.i.i103013301351, null + br i1 %tobool.not.i.i.i1036, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1038, label %if.then.i20.i.i1037 -if.then.i21.i.i1036: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i1033 - call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i103013291350) #24 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1037 +if.then.i20.i.i1037: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i1033 + call void @_ZdlPv(ptr noundef nonnull %cond.i10.i.i103013301351) #24 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1038 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1037: ; preds = %if.then.i21.i.i1036, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i1033 - %add.ptr19.i.i1038 = getelementptr inbounds i32, ptr %cond.i10.i.i1030, i64 %cond.i.i.i1025 - store ptr %add.ptr19.i.i1038, ptr %_M_end_of_storage.i, align 8 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1038: ; preds = %if.then.i20.i.i1037, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i1033 + %add.ptr19.i.i1039 = getelementptr inbounds i32, ptr %cond.i10.i.i1030, i64 %cond.i.i.i1025 + store ptr %add.ptr19.i.i1039, ptr %_M_end_of_storage.i, align 8 br label %for.inc726 -for.inc726: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1037, %if.then.i1011 - %add.ptr.i.i1031.pn = phi ptr [ %add.ptr.i.i1031, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1037 ], [ %incdec.ptr.i101213361349, %if.then.i1011 ] - %cond.i10.i.i10301328 = phi ptr [ %cond.i10.i.i1030, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1037 ], [ %cond.i10.i.i103013291350, %if.then.i1011 ] - %incdec.ptr.i10121337 = getelementptr inbounds i32, ptr %add.ptr.i.i1031.pn, i64 1 - %inc727 = add nuw nsw i32 %i616.01351, 1 +for.inc726: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1038, %if.then.i1011 + %add.ptr.i.i.i.i.i1034.pn = phi ptr [ %add.ptr.i.i.i.i.i1034, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1038 ], [ %incdec.ptr.i101213371350, %if.then.i1011 ] + %cond.i10.i.i10301329 = phi ptr [ %cond.i10.i.i1030, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJRKiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i1038 ], [ %cond.i10.i.i103013301351, %if.then.i1011 ] + %incdec.ptr.i10121338 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i1034.pn, i64 1 + %inc727 = add nuw nsw i32 %i616.01352, 1 %cmp618.not = icmp eq i32 %inc727, 256 br i1 %cmp618.not, label %for.cond730.preheader, label %for.body619, !llvm.loop !50 for.body732: ; preds = %for.cond730.preheader, %for.inc796 - %i729.01369 = phi i32 [ 0, %for.cond730.preheader ], [ %inc797, %for.inc796 ] - %add.ptr.i.i112013611368 = phi ptr [ %incdec.ptr.i10121337, %for.cond730.preheader ], [ %add.ptr.i.i1120, %for.inc796 ] - %sub.ptr.lhs.cast.i1046 = ptrtoint ptr %add.ptr.i.i112013611368 to i64 - %sub.ptr.sub.i1048 = sub i64 %sub.ptr.lhs.cast.i1046, %sub.ptr.rhs.cast.i1047 - %sub.ptr.div.i1049 = ashr exact i64 %sub.ptr.sub.i1048, 2 - store i64 %sub.ptr.div.i1049, ptr %ref.tmp734, align 8 + %i729.01370 = phi i32 [ 0, %for.cond730.preheader ], [ %inc797, %for.inc796 ] + %add.ptr.i.i112113621369 = phi ptr [ %incdec.ptr.i10121338, %for.cond730.preheader ], [ %add.ptr.i.i1121, %for.inc796 ] + %sub.ptr.lhs.cast.i1047 = ptrtoint ptr %add.ptr.i.i112113621369 to i64 + %sub.ptr.sub.i1049 = sub i64 %sub.ptr.lhs.cast.i1047, %sub.ptr.rhs.cast.i1048 + %sub.ptr.div.i1050 = ashr exact i64 %sub.ptr.sub.i1049, 2 + store i64 %sub.ptr.div.i1050, ptr %ref.tmp734, align 8 store i32 0, ptr %ref.tmp736, align 4 - %cmp.i1051.not = icmp eq ptr %add.ptr.i.i112013611368, %cond.i10.i.i10301328 - br i1 %cmp.i1051.not, label %if.else.i1052, label %if.then.i1053 + %cmp.i1052.not = icmp eq ptr %add.ptr.i.i112113621369, %cond.i10.i.i10301329 + br i1 %cmp.i1052.not, label %if.else.i1053, label %if.then.i1054 -if.then.i1053: ; preds = %for.body732 +if.then.i1054: ; preds = %for.body732 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar733) to label %invoke.cont737 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit -if.else.i1052: ; preds = %for.body732 +if.else.i1053: ; preds = %for.body732 invoke void @_ZN7testing8internal18CmpHelperOpFailureImiEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar733, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.34, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp734, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp736, ptr noundef nonnull @.str.113) to label %invoke.cont737 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit -invoke.cont737: ; preds = %if.then.i1053, %if.else.i1052 +invoke.cont737: ; preds = %if.then.i1054, %if.else.i1053 %316 = load i8, ptr %gtest_ar733, align 8 %317 = and i8 %316, 1 - %tobool.i1056.not = icmp eq i8 %317, 0 - br i1 %tobool.i1056.not, label %if.else742, label %cleanup.cont757.critedge + %tobool.i1057.not = icmp eq i8 %317, 0 + br i1 %tobool.i1057.not, label %if.else742, label %cleanup.cont757.critedge lpad738: ; preds = %if.else742 %318 = landingpad { ptr, i32 } @@ -3956,22 +3958,22 @@ lpad738: ; preds = %if.else742 br label %ehcleanup758 if.else742: ; preds = %invoke.cont737 - store ptr %add.ptr.i.i112013611368, ptr %_M_finish.i, align 8 + store ptr %add.ptr.i.i112113621369, ptr %_M_finish.i, align 8 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp743) to label %invoke.cont744 unwind label %lpad738 invoke.cont744: ; preds = %if.else742 - %319 = load ptr, ptr %message_.i1077, align 8 - %cmp.i.i.not.i.i1058 = icmp eq ptr %319, null - br i1 %cmp.i.i.not.i.i1058, label %invoke.cont747, label %cond.true.i.i1059 + %319 = load ptr, ptr %message_.i1078, align 8 + %cmp.i.i.not.i.i1059 = icmp eq ptr %319, null + br i1 %cmp.i.i.not.i.i1059, label %invoke.cont747, label %cond.true.i.i1060 -cond.true.i.i1059: ; preds = %invoke.cont744 - %call4.i.i1060 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %319) #23 +cond.true.i.i1060: ; preds = %invoke.cont744 + %call4.i.i1061 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %319) #23 br label %invoke.cont747 -invoke.cont747: ; preds = %cond.true.i.i1059, %invoke.cont744 - %cond.i.i1061 = phi ptr [ %call4.i.i1060, %cond.true.i.i1059 ], [ @.str.74, %invoke.cont744 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp745, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 331, ptr noundef %cond.i.i1061) +invoke.cont747: ; preds = %cond.true.i.i1060, %invoke.cont744 + %cond.i.i1062 = phi ptr [ %call4.i.i1061, %cond.true.i.i1060 ], [ @.str.74, %invoke.cont744 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp745, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 331, ptr noundef %cond.i.i1062) to label %invoke.cont749 unwind label %lpad746 invoke.cont749: ; preds = %invoke.cont747 @@ -3981,29 +3983,29 @@ invoke.cont749: ; preds = %invoke.cont747 invoke.cont751: ; preds = %invoke.cont749 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp745) #23 %320 = load ptr, ptr %ref.tmp743, align 8 - %cmp.not.i.i1063 = icmp eq ptr %320, null - br i1 %cmp.not.i.i1063, label %_ZN7testing7MessageD2Ev.exit1067, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1064 + %cmp.not.i.i1064 = icmp eq ptr %320, null + br i1 %cmp.not.i.i1064, label %_ZN7testing7MessageD2Ev.exit1068, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1065 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1064: ; preds = %invoke.cont751 - %vtable.i.i.i1065 = load ptr, ptr %320, align 8 - %vfn.i.i.i1066 = getelementptr inbounds ptr, ptr %vtable.i.i.i1065, i64 1 - %321 = load ptr, ptr %vfn.i.i.i1066, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1065: ; preds = %invoke.cont751 + %vtable.i.i.i1066 = load ptr, ptr %320, align 8 + %vfn.i.i.i1067 = getelementptr inbounds ptr, ptr %vtable.i.i.i1066, i64 1 + %321 = load ptr, ptr %vfn.i.i.i1067, align 8 call void %321(ptr noundef nonnull align 8 dereferenceable(128) %320) #23 - br label %_ZN7testing7MessageD2Ev.exit1067 + br label %_ZN7testing7MessageD2Ev.exit1068 -_ZN7testing7MessageD2Ev.exit1067: ; preds = %invoke.cont751, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1064 +_ZN7testing7MessageD2Ev.exit1068: ; preds = %invoke.cont751, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1065 store ptr null, ptr %ref.tmp743, align 8 - %322 = load ptr, ptr %message_.i1077, align 8 - %cmp.not.i.i1069 = icmp eq ptr %322, null - br i1 %cmp.not.i.i1069, label %_ZN7testing15AssertionResultD2Ev.exit1071, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1070 + %322 = load ptr, ptr %message_.i1078, align 8 + %cmp.not.i.i1070 = icmp eq ptr %322, null + br i1 %cmp.not.i.i1070, label %_ZN7testing15AssertionResultD2Ev.exit1072, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1071 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1070: ; preds = %_ZN7testing7MessageD2Ev.exit1067 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1071: ; preds = %_ZN7testing7MessageD2Ev.exit1068 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %322) #23 call void @_ZdlPv(ptr noundef nonnull %322) #24 - br label %_ZN7testing15AssertionResultD2Ev.exit1071 + br label %_ZN7testing15AssertionResultD2Ev.exit1072 -_ZN7testing15AssertionResultD2Ev.exit1071: ; preds = %_ZN7testing7MessageD2Ev.exit1067, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1070 - store ptr null, ptr %message_.i1077, align 8 +_ZN7testing15AssertionResultD2Ev.exit1072: ; preds = %_ZN7testing7MessageD2Ev.exit1068, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1071 + store ptr null, ptr %message_.i1078, align 8 br label %cleanup804 lpad746: ; preds = %invoke.cont747 @@ -4020,105 +4022,105 @@ lpad750: ; preds = %invoke.cont749 ehcleanup753: ; preds = %lpad750, %lpad746 %.pn112 = phi { ptr, i32 } [ %324, %lpad750 ], [ %323, %lpad746 ] %325 = load ptr, ptr %ref.tmp743, align 8 - %cmp.not.i.i1072 = icmp eq ptr %325, null - br i1 %cmp.not.i.i1072, label %_ZN7testing7MessageD2Ev.exit1076, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1073 + %cmp.not.i.i1073 = icmp eq ptr %325, null + br i1 %cmp.not.i.i1073, label %_ZN7testing7MessageD2Ev.exit1077, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1074 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1073: ; preds = %ehcleanup753 - %vtable.i.i.i1074 = load ptr, ptr %325, align 8 - %vfn.i.i.i1075 = getelementptr inbounds ptr, ptr %vtable.i.i.i1074, i64 1 - %326 = load ptr, ptr %vfn.i.i.i1075, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1074: ; preds = %ehcleanup753 + %vtable.i.i.i1075 = load ptr, ptr %325, align 8 + %vfn.i.i.i1076 = getelementptr inbounds ptr, ptr %vtable.i.i.i1075, i64 1 + %326 = load ptr, ptr %vfn.i.i.i1076, align 8 call void %326(ptr noundef nonnull align 8 dereferenceable(128) %325) #23 - br label %_ZN7testing7MessageD2Ev.exit1076 + br label %_ZN7testing7MessageD2Ev.exit1077 -_ZN7testing7MessageD2Ev.exit1076: ; preds = %ehcleanup753, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1073 +_ZN7testing7MessageD2Ev.exit1077: ; preds = %ehcleanup753, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1074 store ptr null, ptr %ref.tmp743, align 8 br label %ehcleanup758 cleanup.cont757.critedge: ; preds = %invoke.cont737 - %327 = load ptr, ptr %message_.i1077, align 8 - %cmp.not.i.i1078 = icmp eq ptr %327, null - br i1 %cmp.not.i.i1078, label %cleanup.cont757, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1079 + %327 = load ptr, ptr %message_.i1078, align 8 + %cmp.not.i.i1079 = icmp eq ptr %327, null + br i1 %cmp.not.i.i1079, label %cleanup.cont757, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1080 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1079: ; preds = %cleanup.cont757.critedge +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1080: ; preds = %cleanup.cont757.critedge call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %327) #23 call void @_ZdlPv(ptr noundef nonnull %327) #24 br label %cleanup.cont757 -cleanup.cont757: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1079, %cleanup.cont757.critedge - store ptr null, ptr %message_.i1077, align 8 - %conv.i1084 = shl i64 %sub.ptr.sub.i1048, 30 - %sext.i1085 = add i64 %conv.i1084, -4294967296 - %conv.i.i.i1086 = ashr i64 %sext.i1085, 32 - %cmp.not.i.i.i1087 = icmp eq i64 %conv.i.i.i1086, -1 - br i1 %cmp.not.i.i.i1087, label %if.else15.i.i.i1110, label %if.then.i.i.i1088 - -if.then.i.i.i1088: ; preds = %cleanup.cont757 - %add.i.i.i1089 = add nsw i64 %conv.i.i.i1086, 1 - %call.i.i.i.i1112 = invoke noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEclEv(ptr noundef nonnull align 8 dereferenceable(2504) %rng) - to label %call.i.i.i.i.noexc1111 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit - -call.i.i.i.i.noexc1111: ; preds = %if.then.i.i.i1088 - %conv.i.i.i.i1090 = zext i64 %call.i.i.i.i1112 to i128 - %conv1.i.i.i.i1091 = zext i64 %add.i.i.i1089 to i128 - %mul.i.i.i.i1092 = mul nuw i128 %conv.i.i.i.i1090, %conv1.i.i.i.i1091 - %conv2.i.i.i.i1093 = trunc i128 %mul.i.i.i.i1092 to i64 - %cmp.i.i.i.i1094 = icmp ugt i64 %add.i.i.i1089, %conv2.i.i.i.i1093 - %extract9.i.i.i.i1095 = lshr i128 %mul.i.i.i.i1092, 64 - %extract.t10.i.i.i.i1096 = trunc i128 %extract9.i.i.i.i1095 to i64 - br i1 %cmp.i.i.i.i1094, label %if.then.i.i.i.i1098, label %invoke.cont760 - -if.then.i.i.i.i1098: ; preds = %call.i.i.i.i.noexc1111 - %sub.i.i.i.i1099 = xor i64 %conv.i.i.i1086, -1 - %rem.i.i.i.i1100 = urem i64 %sub.i.i.i.i1099, %add.i.i.i1089 - %cmp315.i.i.i.i1101 = icmp ugt i64 %rem.i.i.i.i1100, %conv2.i.i.i.i1093 - br i1 %cmp315.i.i.i.i1101, label %while.body.i.i.i.i1102, label %invoke.cont760 - -while.body.i.i.i.i1102: ; preds = %if.then.i.i.i.i1098, %call4.i.i.i.i.noexc1113 - %call4.i.i.i.i1114 = invoke noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEclEv(ptr noundef nonnull align 8 dereferenceable(2504) %rng) - to label %call4.i.i.i.i.noexc1113 unwind label %lpad2.loopexit - -call4.i.i.i.i.noexc1113: ; preds = %while.body.i.i.i.i1102 - %conv5.i.i.i.i1103 = zext i64 %call4.i.i.i.i1114 to i128 - %mul7.i.i.i.i1104 = mul nuw i128 %conv5.i.i.i.i1103, %conv1.i.i.i.i1091 - %conv8.i.i.i.i1105 = trunc i128 %mul7.i.i.i.i1104 to i64 - %cmp3.i.i.i.i1106 = icmp ugt i64 %rem.i.i.i.i1100, %conv8.i.i.i.i1105 - br i1 %cmp3.i.i.i.i1106, label %while.body.i.i.i.i1102, label %while.cond.if.end.loopexit_crit_edge.i.i.i.i1107, !llvm.loop !8 - -while.cond.if.end.loopexit_crit_edge.i.i.i.i1107: ; preds = %call4.i.i.i.i.noexc1113 - %extract13.le.i.i.i.i1108 = lshr i128 %mul7.i.i.i.i1104, 64 - %extract.t14.le.i.i.i.i1109 = trunc i128 %extract13.le.i.i.i.i1108 to i64 +cleanup.cont757: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1080, %cleanup.cont757.critedge + store ptr null, ptr %message_.i1078, align 8 + %conv.i1085 = shl i64 %sub.ptr.sub.i1049, 30 + %sext.i1086 = add i64 %conv.i1085, -4294967296 + %conv.i.i.i1087 = ashr i64 %sext.i1086, 32 + %cmp.not.i.i.i1088 = icmp eq i64 %conv.i.i.i1087, -1 + br i1 %cmp.not.i.i.i1088, label %if.else15.i.i.i1111, label %if.then.i.i.i1089 + +if.then.i.i.i1089: ; preds = %cleanup.cont757 + %add.i.i.i1090 = add nsw i64 %conv.i.i.i1087, 1 + %call.i.i.i.i1113 = invoke noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEclEv(ptr noundef nonnull align 8 dereferenceable(2504) %rng) + to label %call.i.i.i.i.noexc1112 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit + +call.i.i.i.i.noexc1112: ; preds = %if.then.i.i.i1089 + %conv.i.i.i.i1091 = zext i64 %call.i.i.i.i1113 to i128 + %conv1.i.i.i.i1092 = zext i64 %add.i.i.i1090 to i128 + %mul.i.i.i.i1093 = mul nuw i128 %conv.i.i.i.i1091, %conv1.i.i.i.i1092 + %conv2.i.i.i.i1094 = trunc i128 %mul.i.i.i.i1093 to i64 + %cmp.i.i.i.i1095 = icmp ugt i64 %add.i.i.i1090, %conv2.i.i.i.i1094 + %extract9.i.i.i.i1096 = lshr i128 %mul.i.i.i.i1093, 64 + %extract.t10.i.i.i.i1097 = trunc i128 %extract9.i.i.i.i1096 to i64 + br i1 %cmp.i.i.i.i1095, label %if.then.i.i.i.i1099, label %invoke.cont760 + +if.then.i.i.i.i1099: ; preds = %call.i.i.i.i.noexc1112 + %sub.i.i.i.i1100 = xor i64 %conv.i.i.i1087, -1 + %rem.i.i.i.i1101 = urem i64 %sub.i.i.i.i1100, %add.i.i.i1090 + %cmp315.i.i.i.i1102 = icmp ugt i64 %rem.i.i.i.i1101, %conv2.i.i.i.i1094 + br i1 %cmp315.i.i.i.i1102, label %while.body.i.i.i.i1103, label %invoke.cont760 + +while.body.i.i.i.i1103: ; preds = %if.then.i.i.i.i1099, %call4.i.i.i.i.noexc1114 + %call4.i.i.i.i1115 = invoke noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEclEv(ptr noundef nonnull align 8 dereferenceable(2504) %rng) + to label %call4.i.i.i.i.noexc1114 unwind label %lpad2.loopexit + +call4.i.i.i.i.noexc1114: ; preds = %while.body.i.i.i.i1103 + %conv5.i.i.i.i1104 = zext i64 %call4.i.i.i.i1115 to i128 + %mul7.i.i.i.i1105 = mul nuw i128 %conv5.i.i.i.i1104, %conv1.i.i.i.i1092 + %conv8.i.i.i.i1106 = trunc i128 %mul7.i.i.i.i1105 to i64 + %cmp3.i.i.i.i1107 = icmp ugt i64 %rem.i.i.i.i1101, %conv8.i.i.i.i1106 + br i1 %cmp3.i.i.i.i1107, label %while.body.i.i.i.i1103, label %while.cond.if.end.loopexit_crit_edge.i.i.i.i1108, !llvm.loop !8 + +while.cond.if.end.loopexit_crit_edge.i.i.i.i1108: ; preds = %call4.i.i.i.i.noexc1114 + %extract13.le.i.i.i.i1109 = lshr i128 %mul7.i.i.i.i1105, 64 + %extract.t14.le.i.i.i.i1110 = trunc i128 %extract13.le.i.i.i.i1109 to i64 br label %invoke.cont760 -if.else15.i.i.i1110: ; preds = %cleanup.cont757 - %call16.i.i.i1116 = invoke noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEclEv(ptr noundef nonnull align 8 dereferenceable(2504) %rng) +if.else15.i.i.i1111: ; preds = %cleanup.cont757 + %call16.i.i.i1117 = invoke noundef i64 @_ZNSt23mersenne_twister_engineImLm64ELm312ELm156ELm31ELm13043109905998158313ELm29ELm6148914691236517205ELm17ELm8202884508482404352ELm37ELm18444473444759240704ELm43ELm6364136223846793005EEclEv(ptr noundef nonnull align 8 dereferenceable(2504) %rng) to label %invoke.cont760 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit -invoke.cont760: ; preds = %while.cond.if.end.loopexit_crit_edge.i.i.i.i1107, %if.then.i.i.i.i1098, %call.i.i.i.i.noexc1111, %if.else15.i.i.i1110 - %__ret.0.i.i.i1097 = phi i64 [ %extract.t10.i.i.i.i1096, %call.i.i.i.i.noexc1111 ], [ %extract.t14.le.i.i.i.i1109, %while.cond.if.end.loopexit_crit_edge.i.i.i.i1107 ], [ %extract.t10.i.i.i.i1096, %if.then.i.i.i.i1098 ], [ %call16.i.i.i1116, %if.else15.i.i.i1110 ] - %sext1203 = shl i64 %__ret.0.i.i.i1097, 32 - %conv763 = ashr exact i64 %sext1203, 32 - %add.ptr.i1118 = getelementptr inbounds i32, ptr %cond.i10.i.i10301328, i64 %conv763 - %328 = load i32, ptr %add.ptr.i1118, align 4 +invoke.cont760: ; preds = %while.cond.if.end.loopexit_crit_edge.i.i.i.i1108, %if.then.i.i.i.i1099, %call.i.i.i.i.noexc1112, %if.else15.i.i.i1111 + %__ret.0.i.i.i1098 = phi i64 [ %extract.t10.i.i.i.i1097, %call.i.i.i.i.noexc1112 ], [ %extract.t14.le.i.i.i.i1110, %while.cond.if.end.loopexit_crit_edge.i.i.i.i1108 ], [ %extract.t10.i.i.i.i1097, %if.then.i.i.i.i1099 ], [ %call16.i.i.i1117, %if.else15.i.i.i1111 ] + %sext1204 = shl i64 %__ret.0.i.i.i1098, 32 + %conv763 = ashr exact i64 %sext1204, 32 + %add.ptr.i1119 = getelementptr inbounds i32, ptr %cond.i10.i.i10301329, i64 %conv763 + %328 = load i32, ptr %add.ptr.i1119, align 4 store i32 %328, ptr %node762, align 4 - %add.ptr.i.i1120 = getelementptr inbounds i32, ptr %add.ptr.i.i112013611368, i64 -1 - %329 = load i32, ptr %add.ptr.i.i1120, align 4 - store i32 %329, ptr %add.ptr.i1118, align 4 + %add.ptr.i.i1121 = getelementptr inbounds i32, ptr %add.ptr.i.i112113621369, i64 -1 + %329 = load i32, ptr %add.ptr.i.i1121, align 4 + store i32 %329, ptr %add.ptr.i1119, align 4 %330 = load i32, ptr %node762, align 4 %conv768 = sext i32 %330 to i64 - %add.i1124 = add nsw i64 %conv768, 17 - %331 = inttoptr i64 %add.i1124 to ptr + %add.i1125 = add nsw i64 %conv768, 17 + %331 = inttoptr i64 %add.i1125 to ptr invoke void @_ZN4absl24synchronization_internal11GraphCycles10RemoveNodeEPv(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles, ptr noundef %331) to label %invoke.cont771 unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit invoke.cont771: ; preds = %invoke.cont760 - %call.i1126 = invoke noundef i64 @_ZNSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE5eraseERS1_(ptr noundef nonnull align 8 dereferenceable(48) %id, ptr noundef nonnull align 4 dereferenceable(4) %node762) + %call.i1127 = invoke noundef i64 @_ZNSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE5eraseERS1_(ptr noundef nonnull align 8 dereferenceable(48) %id, ptr noundef nonnull align 4 dereferenceable(4) %node762) to label %while.cond774.preheader unwind label %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit while.cond774.preheader: ; preds = %invoke.cont771 %332 = load ptr, ptr %_M_finish.i441, align 8 %333 = load ptr, ptr %edges, align 8 - %cmp777.not1357 = icmp eq ptr %332, %333 - br i1 %cmp777.not1357, label %for.inc796, label %while.body778.lr.ph + %cmp777.not1358 = icmp eq ptr %332, %333 + br i1 %cmp777.not1358, label %for.inc796, label %while.body778.lr.ph while.body778.lr.ph: ; preds = %while.cond774.preheader %334 = load i32, ptr %node762, align 4 @@ -4127,128 +4129,128 @@ while.body778.lr.ph: ; preds = %while.cond774.prehe while.body778: ; preds = %while.body778.lr.ph, %if.end794 %335 = phi ptr [ %333, %while.body778.lr.ph ], [ %341, %if.end794 ] %336 = phi ptr [ %332, %while.body778.lr.ph ], [ %342, %if.end794 ] - %conv7751359 = phi i64 [ 0, %while.body778.lr.ph ], [ %conv775, %if.end794 ] - %j.01358 = phi i32 [ 0, %while.body778.lr.ph ], [ %j.1, %if.end794 ] - %add.ptr.i1133 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %335, i64 %conv7751359 - %337 = load i32, ptr %add.ptr.i1133, align 4 + %conv7751360 = phi i64 [ 0, %while.body778.lr.ph ], [ %conv775, %if.end794 ] + %j.01359 = phi i32 [ 0, %while.body778.lr.ph ], [ %j.1, %if.end794 ] + %add.ptr.i1134 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %335, i64 %conv7751360 + %337 = load i32, ptr %add.ptr.i1134, align 4 %cmp782 = icmp eq i32 %337, %334 br i1 %cmp782, label %if.then788, label %lor.lhs.false783 lor.lhs.false783: ; preds = %while.body778 - %to786 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %335, i64 %conv7751359, i32 1 + %to786 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %335, i64 %conv7751360, i32 1 %338 = load i32, ptr %to786, align 4 %cmp787 = icmp eq i32 %338, %334 br i1 %cmp787, label %if.then788, label %if.else792 if.then788: ; preds = %lor.lhs.false783, %while.body778 - %add.ptr.i.i1136 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %336, i64 -1 - %339 = load i64, ptr %add.ptr.i.i1136, align 4 - store i64 %339, ptr %add.ptr.i1133, align 4 + %add.ptr.i.i1137 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %336, i64 -1 + %339 = load i64, ptr %add.ptr.i.i1137, align 4 + store i64 %339, ptr %add.ptr.i1134, align 4 %340 = load ptr, ptr %_M_finish.i441, align 8 - %incdec.ptr.i1139 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %340, i64 -1 - store ptr %incdec.ptr.i1139, ptr %_M_finish.i441, align 8 - %.pre1440 = load ptr, ptr %edges, align 8 + %incdec.ptr.i1140 = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %340, i64 -1 + store ptr %incdec.ptr.i1140, ptr %_M_finish.i441, align 8 + %.pre1441 = load ptr, ptr %edges, align 8 br label %if.end794 -ehcleanup758: ; preds = %_ZN7testing7MessageD2Ev.exit1076, %lpad738 - %.pn112.pn = phi { ptr, i32 } [ %.pn112, %_ZN7testing7MessageD2Ev.exit1076 ], [ %318, %lpad738 ] +ehcleanup758: ; preds = %_ZN7testing7MessageD2Ev.exit1077, %lpad738 + %.pn112.pn = phi { ptr, i32 } [ %.pn112, %_ZN7testing7MessageD2Ev.exit1077 ], [ %318, %lpad738 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar733) #23 br label %ehcleanup805 if.else792: ; preds = %lor.lhs.false783 - %inc793 = add nsw i32 %j.01358, 1 + %inc793 = add nsw i32 %j.01359, 1 br label %if.end794 if.end794: ; preds = %if.else792, %if.then788 - %341 = phi ptr [ %.pre1440, %if.then788 ], [ %335, %if.else792 ] - %342 = phi ptr [ %incdec.ptr.i1139, %if.then788 ], [ %336, %if.else792 ] - %j.1 = phi i32 [ %j.01358, %if.then788 ], [ %inc793, %if.else792 ] + %341 = phi ptr [ %.pre1441, %if.then788 ], [ %335, %if.else792 ] + %342 = phi ptr [ %incdec.ptr.i1140, %if.then788 ], [ %336, %if.else792 ] + %j.1 = phi i32 [ %j.01359, %if.then788 ], [ %inc793, %if.else792 ] %conv775 = sext i32 %j.1 to i64 - %sub.ptr.lhs.cast.i1129 = ptrtoint ptr %342 to i64 - %sub.ptr.rhs.cast.i1130 = ptrtoint ptr %341 to i64 - %sub.ptr.sub.i1131 = sub i64 %sub.ptr.lhs.cast.i1129, %sub.ptr.rhs.cast.i1130 - %sub.ptr.div.i1132 = ashr exact i64 %sub.ptr.sub.i1131, 3 - %cmp777.not = icmp eq i64 %sub.ptr.div.i1132, %conv775 + %sub.ptr.lhs.cast.i1130 = ptrtoint ptr %342 to i64 + %sub.ptr.rhs.cast.i1131 = ptrtoint ptr %341 to i64 + %sub.ptr.sub.i1132 = sub i64 %sub.ptr.lhs.cast.i1130, %sub.ptr.rhs.cast.i1131 + %sub.ptr.div.i1133 = ashr exact i64 %sub.ptr.sub.i1132, 3 + %cmp777.not = icmp eq i64 %sub.ptr.div.i1133, %conv775 br i1 %cmp777.not, label %for.inc796, label %while.body778, !llvm.loop !51 for.inc796: ; preds = %if.end794, %while.cond774.preheader - %inc797 = add nuw nsw i32 %i729.01369, 1 + %inc797 = add nuw nsw i32 %i729.01370, 1 %cmp731.not = icmp eq i32 %inc797, 256 br i1 %cmp731.not, label %for.end798, label %for.body732, !llvm.loop !52 for.end798: ; preds = %for.inc796 - store ptr %add.ptr.i.i1120, ptr %_M_finish.i, align 8 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp1.i1140) - %call.i1145 = invoke noundef zeroext i1 @_ZNK4absl24synchronization_internal11GraphCycles15CheckInvariantsEv(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles) - to label %call.i.noexc1144 unwind label %lpad2.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 + store ptr %add.ptr.i.i1121, ptr %_M_finish.i, align 8 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp1.i1141) + %call.i1146 = invoke noundef zeroext i1 @_ZNK4absl24synchronization_internal11GraphCycles15CheckInvariantsEv(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles) + to label %call.i.noexc1145 unwind label %lpad2.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 -call.i.noexc1144: ; preds = %for.end798 - br i1 %call.i1145, label %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit1147, label %cond.false.i1141 +call.i.noexc1145: ; preds = %for.end798 + br i1 %call.i1146, label %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit1148, label %cond.false.i1142 -cond.false.i1141: ; preds = %call.i.noexc1144 - invoke void @_ZN4absl12log_internal15LogMessageFatalC1EPKciSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp1.i1140, ptr noundef nonnull @.str.3, i32 noundef 163, i64 20, ptr nonnull @.str.90) #26 - to label %.noexc1146 unwind label %lpad2.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.split-lp +cond.false.i1142: ; preds = %call.i.noexc1145 + invoke void @_ZN4absl12log_internal15LogMessageFatalC1EPKciSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp1.i1141, ptr noundef nonnull @.str.3, i32 noundef 163, i64 20, ptr nonnull @.str.90) #26 + to label %.noexc1147 unwind label %lpad2.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.split-lp -.noexc1146: ; preds = %cond.false.i1141 - invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp1.i1140, i64 15, ptr nonnull @.str.91) - to label %cleanup.action.i1143 unwind label %lpad.i1142 +.noexc1147: ; preds = %cond.false.i1142 + invoke void @_ZN4absl12log_internal10LogMessage19CopyToEncodedBufferILNS1_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp1.i1141, i64 15, ptr nonnull @.str.91) + to label %cleanup.action.i1144 unwind label %lpad.i1143 -cleanup.action.i1143: ; preds = %.noexc1146 - call void @_ZN4absl12log_internal15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp1.i1140) #27 +cleanup.action.i1144: ; preds = %.noexc1147 + call void @_ZN4absl12log_internal15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp1.i1141) #27 unreachable -lpad.i1142: ; preds = %.noexc1146 +lpad.i1143: ; preds = %.noexc1147 %343 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl12log_internal15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp1.i1140) #27 + call void @_ZN4absl12log_internal15LogMessageFatalD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp1.i1141) #27 unreachable -_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit1147: ; preds = %call.i.noexc1144 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp1.i1140) +_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit1148: ; preds = %call.i.noexc1145 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp1.i1141) br label %for.inc801 -for.inc801: ; preds = %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit1147, %invoke.cont611 - %next_node.3 = phi i32 [ %268, %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit1147 ], [ %next_node.1, %invoke.cont611 ] - %inc802 = add nuw nsw i32 %iter.01370, 1 +for.inc801: ; preds = %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit1148, %invoke.cont611 + %next_node.3 = phi i32 [ %268, %_ZN4absl24synchronization_internalL15CheckInvariantsERKNS0_11GraphCyclesE.exit1148 ], [ %next_node.1, %invoke.cont611 ] + %inc802 = add nuw nsw i32 %iter.01371, 1 %cmp.not = icmp eq i32 %inc802, 100000 br i1 %cmp.not, label %cleanup804, label %for.body, !llvm.loop !53 cleanup804.critedge.sink.split: ; preds = %_ZN7testing7MessageD2Ev.exit884, %_ZN7testing7MessageD2Ev.exit864, %_ZN7testing7MessageD2Ev.exit832, %_ZN7testing7MessageD2Ev.exit801, %_ZN7testing7MessageD2Ev.exit771, %_ZN7testing7MessageD2Ev.exit740 - %.sink1508 = phi ptr [ %181, %_ZN7testing7MessageD2Ev.exit740 ], [ %197, %_ZN7testing7MessageD2Ev.exit771 ], [ %210, %_ZN7testing7MessageD2Ev.exit801 ], [ %225, %_ZN7testing7MessageD2Ev.exit832 ], [ %240, %_ZN7testing7MessageD2Ev.exit864 ], [ %251, %_ZN7testing7MessageD2Ev.exit884 ] + %.sink1509 = phi ptr [ %181, %_ZN7testing7MessageD2Ev.exit740 ], [ %197, %_ZN7testing7MessageD2Ev.exit771 ], [ %210, %_ZN7testing7MessageD2Ev.exit801 ], [ %225, %_ZN7testing7MessageD2Ev.exit832 ], [ %240, %_ZN7testing7MessageD2Ev.exit864 ], [ %251, %_ZN7testing7MessageD2Ev.exit884 ] %message_.i878.sink.ph = phi ptr [ %message_.i750, %_ZN7testing7MessageD2Ev.exit740 ], [ %message_.i781, %_ZN7testing7MessageD2Ev.exit771 ], [ %message_.i811, %_ZN7testing7MessageD2Ev.exit801 ], [ %message_.i842, %_ZN7testing7MessageD2Ev.exit832 ], [ %message_.i874, %_ZN7testing7MessageD2Ev.exit864 ], [ %message_.i878, %_ZN7testing7MessageD2Ev.exit884 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1508) #23 - call void @_ZdlPv(ptr noundef nonnull %.sink1508) #24 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1509) #23 + call void @_ZdlPv(ptr noundef nonnull %.sink1509) #24 br label %cleanup804.critedge cleanup804.critedge: ; preds = %cleanup804.critedge.sink.split, %_ZN7testing7MessageD2Ev.exit884, %_ZN7testing7MessageD2Ev.exit864, %_ZN7testing7MessageD2Ev.exit832, %_ZN7testing7MessageD2Ev.exit801, %_ZN7testing7MessageD2Ev.exit771, %_ZN7testing7MessageD2Ev.exit740 %message_.i878.sink = phi ptr [ %message_.i750, %_ZN7testing7MessageD2Ev.exit740 ], [ %message_.i781, %_ZN7testing7MessageD2Ev.exit771 ], [ %message_.i811, %_ZN7testing7MessageD2Ev.exit801 ], [ %message_.i842, %_ZN7testing7MessageD2Ev.exit832 ], [ %message_.i874, %_ZN7testing7MessageD2Ev.exit864 ], [ %message_.i878, %_ZN7testing7MessageD2Ev.exit884 ], [ %message_.i878.sink.ph, %cleanup804.critedge.sink.split ] store ptr null, ptr %message_.i878.sink, align 8 %344 = load ptr, ptr %_M_before_begin.i.i669, align 8 - %tobool.not3.i.i.i.i1149 = icmp eq ptr %344, null - br i1 %tobool.not3.i.i.i.i1149, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1153, label %while.body.i.i.i.i1150 + %tobool.not3.i.i.i.i1150 = icmp eq ptr %344, null + br i1 %tobool.not3.i.i.i.i1150, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1154, label %while.body.i.i.i.i1151 -while.body.i.i.i.i1150: ; preds = %cleanup804.critedge, %while.body.i.i.i.i1150 - %__n.addr.04.i.i.i.i1151 = phi ptr [ %345, %while.body.i.i.i.i1150 ], [ %344, %cleanup804.critedge ] - %345 = load ptr, ptr %__n.addr.04.i.i.i.i1151, align 8 - call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i.i1151) #24 - %tobool.not.i.i.i.i1152 = icmp eq ptr %345, null - br i1 %tobool.not.i.i.i.i1152, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1153, label %while.body.i.i.i.i1150, !llvm.loop !40 +while.body.i.i.i.i1151: ; preds = %cleanup804.critedge, %while.body.i.i.i.i1151 + %__n.addr.04.i.i.i.i1152 = phi ptr [ %345, %while.body.i.i.i.i1151 ], [ %344, %cleanup804.critedge ] + %345 = load ptr, ptr %__n.addr.04.i.i.i.i1152, align 8 + call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i.i1152) #24 + %tobool.not.i.i.i.i1153 = icmp eq ptr %345, null + br i1 %tobool.not.i.i.i.i1153, label %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1154, label %while.body.i.i.i.i1151, !llvm.loop !40 -_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1153: ; preds = %while.body.i.i.i.i1150, %cleanup804.critedge +_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1154: ; preds = %while.body.i.i.i.i1151, %cleanup804.critedge %346 = load ptr, ptr %seen385, align 8 %347 = load i64, ptr %_M_bucket_count.i.i668, align 8 - %mul.i.i.i1155 = shl i64 %347, 3 - call void @llvm.memset.p0.i64(ptr align 8 %346, i8 0, i64 %mul.i.i.i1155, i1 false) + %mul.i.i.i1156 = shl i64 %347, 3 + call void @llvm.memset.p0.i64(ptr align 8 %346, i8 0, i64 %mul.i.i.i1156, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %_M_before_begin.i.i669, i8 0, i64 16, i1 false) %348 = load ptr, ptr %seen385, align 8 - %cmp.i.i.i.i.i1157 = icmp eq ptr %_M_single_bucket.i.i667, %348 - br i1 %cmp.i.i.i.i.i1157, label %cleanup804, label %if.end.i.i.i.i1158 + %cmp.i.i.i.i.i1158 = icmp eq ptr %_M_single_bucket.i.i667, %348 + br i1 %cmp.i.i.i.i.i1158, label %cleanup804, label %if.end.i.i.i.i1159 -if.end.i.i.i.i1158: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1153 +if.end.i.i.i.i1159: ; preds = %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1154 call void @_ZdlPv(ptr noundef %348) #24 br label %cleanup804 -cleanup804: ; preds = %for.inc801, %if.end.i.i.i.i1158, %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1153, %_ZN7testing15AssertionResultD2Ev.exit1071, %_ZN7testing15AssertionResultD2Ev.exit997, %_ZN7testing15AssertionResultD2Ev.exit965, %_ZN7testing15AssertionResultD2Ev.exit933, %_ZN7testing15AssertionResultD2Ev.exit576, %_ZN7testing15AssertionResultD2Ev.exit522, %_ZN7testing7MessageD2Ev.exit435, %_ZN7testing15AssertionResultD2Ev.exit302, %_ZN7testing15AssertionResultD2Ev.exit220, %_ZN7testing15AssertionResultD2Ev.exit188, %_ZN7testing15AssertionResultD2Ev.exit +cleanup804: ; preds = %for.inc801, %if.end.i.i.i.i1159, %_ZNSt10_HashtableIiiSaIiENSt8__detail9_IdentityESt8equal_toIiESt4hashIiENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i1154, %_ZN7testing15AssertionResultD2Ev.exit1072, %_ZN7testing15AssertionResultD2Ev.exit997, %_ZN7testing15AssertionResultD2Ev.exit965, %_ZN7testing15AssertionResultD2Ev.exit933, %_ZN7testing15AssertionResultD2Ev.exit576, %_ZN7testing15AssertionResultD2Ev.exit522, %_ZN7testing7MessageD2Ev.exit435, %_ZN7testing15AssertionResultD2Ev.exit302, %_ZN7testing15AssertionResultD2Ev.exit220, %_ZN7testing15AssertionResultD2Ev.exit188, %_ZN7testing15AssertionResultD2Ev.exit call void @_ZN4absl24synchronization_internal11GraphCyclesD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles) #23 %349 = load ptr, ptr %_M_parent.i.i.i.i.i, align 8 invoke void @_ZNSt8_Rb_treeIiSt4pairIKiN4absl24synchronization_internal7GraphIdEESt10_Select1stIS5_ESt4lessIiESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E(ptr noundef nonnull align 8 dereferenceable(48) %id, ptr noundef %349) @@ -4263,27 +4265,27 @@ terminate.lpad.i.i: ; preds = %cleanup804 _ZNSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEED2Ev.exit: ; preds = %cleanup804 %352 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i1161 = icmp eq ptr %352, null - br i1 %tobool.not.i.i.i1161, label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit, label %if.then.i.i.i1162 + %tobool.not.i.i.i1162 = icmp eq ptr %352, null + br i1 %tobool.not.i.i.i1162, label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit, label %if.then.i.i.i1163 -if.then.i.i.i1162: ; preds = %_ZNSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEED2Ev.exit +if.then.i.i.i1163: ; preds = %_ZNSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %352) #24 br label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit -_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit: ; preds = %_ZNSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEED2Ev.exit, %if.then.i.i.i1162 +_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit: ; preds = %_ZNSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEED2Ev.exit, %if.then.i.i.i1163 %353 = load ptr, ptr %nodes, align 8 - %tobool.not.i.i.i1163 = icmp eq ptr %353, null - br i1 %tobool.not.i.i.i1163, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i1164 + %tobool.not.i.i.i1164 = icmp eq ptr %353, null + br i1 %tobool.not.i.i.i1164, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i1165 -if.then.i.i.i1164: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit +if.then.i.i.i1165: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %353) #24 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit, %if.then.i.i.i1164 +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit, %if.then.i.i.i1165 ret void ehcleanup805: ; preds = %lpad2.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad2.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, %lpad2.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, %lpad2.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, %lpad2.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.split-lp, %lpad2.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, %lpad2.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, %lpad2.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, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %lpad2.loopexit.split-lp.loopexit, %ehcleanup758, %ehcleanup721, %ehcleanup689, %ehcleanup655, %ehcleanup594, %ehcleanup350, %ehcleanup320, %ehcleanup276, %ehcleanup167, %ehcleanup117, %ehcleanup83, %ehcleanup42 - %.pn124.pn.pn = phi { ptr, i32 } [ %.pn124.pn, %ehcleanup42 ], [ %.pn121.pn, %ehcleanup721 ], [ %.pn118.pn, %ehcleanup689 ], [ %.pn115.pn, %ehcleanup655 ], [ %.pn112.pn, %ehcleanup758 ], [ %.pn87.pn.pn.pn, %ehcleanup594 ], [ %.pn95.pn, %ehcleanup350 ], [ %.pn92.pn, %ehcleanup320 ], [ %.pn98.pn.pn.pn, %ehcleanup276 ], [ %.pn103.pn, %ehcleanup167 ], [ %.pn109.pn, %ehcleanup117 ], [ %.pn106.pn, %ehcleanup83 ], [ %lpad.loopexit, %lpad2.loopexit ], [ %lpad.loopexit1204, %lpad2.loopexit.split-lp.loopexit ], [ %lpad.loopexit1207, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1209, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1212, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1214, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1217, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1219, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1222, %lpad2.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 ], [ %lpad.loopexit1227, %lpad2.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 ], [ %lpad.loopexit1230, %lpad2.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 ], [ %lpad.loopexit1232, %lpad2.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 ], [ %lpad.loopexit1235, %lpad2.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 ], [ %lpad.loopexit1237, %lpad2.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 ], [ %lpad.loopexit.split-lp1238, %lpad2.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.split-lp ] + %.pn124.pn.pn = phi { ptr, i32 } [ %.pn124.pn, %ehcleanup42 ], [ %.pn121.pn, %ehcleanup721 ], [ %.pn118.pn, %ehcleanup689 ], [ %.pn115.pn, %ehcleanup655 ], [ %.pn112.pn, %ehcleanup758 ], [ %.pn87.pn.pn.pn, %ehcleanup594 ], [ %.pn95.pn, %ehcleanup350 ], [ %.pn92.pn, %ehcleanup320 ], [ %.pn98.pn.pn.pn, %ehcleanup276 ], [ %.pn103.pn, %ehcleanup167 ], [ %.pn109.pn, %ehcleanup117 ], [ %.pn106.pn, %ehcleanup83 ], [ %lpad.loopexit, %lpad2.loopexit ], [ %lpad.loopexit1205, %lpad2.loopexit.split-lp.loopexit ], [ %lpad.loopexit1208, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1210, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1213, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1215, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1218, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1220, %lpad2.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit1223, %lpad2.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 ], [ %lpad.loopexit1228, %lpad2.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 ], [ %lpad.loopexit1231, %lpad2.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 ], [ %lpad.loopexit1233, %lpad2.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 ], [ %lpad.loopexit1236, %lpad2.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 ], [ %lpad.loopexit1238, %lpad2.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 ], [ %lpad.loopexit.split-lp1239, %lpad2.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.split-lp ] call void @_ZN4absl24synchronization_internal11GraphCyclesD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %graph_cycles) #23 br label %ehcleanup807 @@ -4291,23 +4293,23 @@ ehcleanup807: ; preds = %ehcleanup805, %lpad %.pn124.pn.pn.pn = phi { ptr, i32 } [ %.pn124.pn.pn, %ehcleanup805 ], [ %12, %lpad ] call void @_ZNSt3mapIiN4absl24synchronization_internal7GraphIdESt4lessIiESaISt4pairIKiS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %id) #23 %354 = load ptr, ptr %edges, align 8 - %tobool.not.i.i.i1165 = icmp eq ptr %354, null - br i1 %tobool.not.i.i.i1165, label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1167, label %if.then.i.i.i1166 + %tobool.not.i.i.i1166 = icmp eq ptr %354, null + br i1 %tobool.not.i.i.i1166, label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1168, label %if.then.i.i.i1167 -if.then.i.i.i1166: ; preds = %ehcleanup807 +if.then.i.i.i1167: ; preds = %ehcleanup807 call void @_ZdlPv(ptr noundef nonnull %354) #24 - br label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1167 + br label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1168 -_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1167: ; preds = %ehcleanup807, %if.then.i.i.i1166 +_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1168: ; preds = %ehcleanup807, %if.then.i.i.i1167 %355 = load ptr, ptr %nodes, align 8 - %tobool.not.i.i.i1168 = icmp eq ptr %355, null - br i1 %tobool.not.i.i.i1168, label %_ZNSt6vectorIiSaIiEED2Ev.exit1170, label %if.then.i.i.i1169 + %tobool.not.i.i.i1169 = icmp eq ptr %355, null + br i1 %tobool.not.i.i.i1169, label %_ZNSt6vectorIiSaIiEED2Ev.exit1171, label %if.then.i.i.i1170 -if.then.i.i.i1169: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1167 +if.then.i.i.i1170: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1168 call void @_ZdlPv(ptr noundef nonnull %355) #24 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit1170 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1171 -_ZNSt6vectorIiSaIiEED2Ev.exit1170: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1167, %if.then.i.i.i1169 +_ZNSt6vectorIiSaIiEED2Ev.exit1171: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EED2Ev.exit1168, %if.then.i.i.i1170 resume { ptr, i32 } %.pn124.pn.pn.pn } @@ -5061,23 +5063,24 @@ _ZNSt12_Vector_baseIN4absl24synchronization_internal4EdgeESaIS2_EE11_M_allocateE %add.ptr.i = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %cond.i10.i, i64 %sub.ptr.div.i.i.i %5 = load i64, ptr %__x, align 4 store i64 %5, ptr %add.ptr.i, align 4 - %cmp.i.i.i11.i = icmp sgt i64 %sub.ptr.div.i.i.i, 0 - br i1 %cmp.i.i.i11.i, label %if.then.i.i.i12.i, label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i + %cmp.i.i.i11.i = icmp sgt i64 %sub.ptr.sub.i.i.i, 0 + br i1 %cmp.i.i.i11.i, label %if.then.i.i.i12.i, label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i if.then.i.i.i12.i: ; preds = %_ZNSt12_Vector_baseIN4absl24synchronization_internal4EdgeESaIS2_EE11_M_allocateEm.exit.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i, ptr align 4 %4, i64 %sub.ptr.sub.i.i.i, i1 false) - br label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i + br label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i -_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i: ; preds = %_ZNSt12_Vector_baseIN4absl24synchronization_internal4EdgeESaIS2_EE11_M_allocateEm.exit.i, %if.then.i.i.i12.i - %incdec.ptr.i = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %add.ptr.i, i64 1 +_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i: ; preds = %_ZNSt12_Vector_baseIN4absl24synchronization_internal4EdgeESaIS2_EE11_M_allocateEm.exit.i, %if.then.i.i.i12.i + %add.ptr.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i, i64 %sub.ptr.sub.i.i.i + %incdec.ptr.i = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %add.ptr.i.i.i.i, i64 1 %tobool.not.i.i = icmp eq ptr %4, null - br i1 %tobool.not.i.i, label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit, label %if.then.i21.i + br i1 %tobool.not.i.i, label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit, label %if.then.i20.i -if.then.i21.i: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i +if.then.i20.i: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i tail call void @_ZdlPv(ptr noundef nonnull %4) #24 br label %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit -_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i, %if.then.i21.i +_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit: ; preds = %_ZNSt6vectorIN4absl24synchronization_internal4EdgeESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i, %if.then.i20.i store ptr %cond.i10.i, ptr %this, align 8 store ptr %incdec.ptr.i, ptr %_M_finish, align 8 %add.ptr19.i = getelementptr inbounds %"struct.absl::synchronization_internal::Edge", ptr %cond.i10.i, i64 %cond.i.i diff --git a/bench/abseil-cpp/optimized/hash_generator_testing.cc.ll b/bench/abseil-cpp/optimized/hash_generator_testing.cc.ll index 0c0519ed822..3c84b4e7e42 100644 --- a/bench/abseil-cpp/optimized/hash_generator_testing.cc.ll +++ b/bench/abseil-cpp/optimized/hash_generator_testing.cc.ll @@ -1201,16 +1201,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -1241,24 +1241,24 @@ _ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE1 %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit30 -_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit32: ; preds = %_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit30: ; preds = %_ZNSt11_Deque_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #16 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ET0_T_S9_S8_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -1270,11 +1270,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %6, i64 16 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %6, i64 16 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } diff --git a/bench/abseil-cpp/optimized/hash_instantiated_test.cc.ll b/bench/abseil-cpp/optimized/hash_instantiated_test.cc.ll index acc508831b5..c466fd55649 100644 --- a/bench/abseil-cpp/optimized/hash_instantiated_test.cc.ll +++ b/bench/abseil-cpp/optimized/hash_instantiated_test.cc.ll @@ -4153,8 +4153,8 @@ invoke.cont17: ; preds = %if.end %0 = load ptr, ptr %_M_node.i.i, align 8 %_M_node5.i.i = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 2, i32 0, i32 0, i32 0, i32 3, i32 3 %1 = load ptr, ptr %_M_node5.i.i, align 8 - %cmp23.i.i = icmp uge ptr %0, %1 - call void @llvm.assume(i1 %cmp23.i.i) + %cmp22.i.i = icmp uge ptr %0, %1 + call void @llvm.assume(i1 %cmp22.i.i) %_M_first.i.i = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 2, i32 0, i32 0, i32 0, i32 3, i32 1 %2 = load ptr, ptr %_M_first.i.i, align 8 store i32 0, ptr %2, align 4 @@ -4178,8 +4178,8 @@ lpad.i: ; preds = %invoke.cont17 %4 = load ptr, ptr %_M_node.i.i60, align 8 %_M_node5.i.i61 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 3, i32 0, i32 0, i32 0, i32 3, i32 3 %5 = load ptr, ptr %_M_node5.i.i61, align 8 - %cmp23.i.i62 = icmp uge ptr %4, %5 - call void @llvm.assume(i1 %cmp23.i.i62) + %cmp22.i.i62 = icmp uge ptr %4, %5 + call void @llvm.assume(i1 %cmp22.i.i62) %_M_first.i.i69 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 3, i32 0, i32 0, i32 0, i32 3, i32 1 %6 = load ptr, ptr %_M_first.i.i69, align 8 store i32 0, ptr %6, align 4 @@ -4203,8 +4203,8 @@ lpad.i58: ; preds = %.noexc1.i %8 = load ptr, ptr %_M_node.i.i83, align 8 %_M_node5.i.i84 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 4, i32 0, i32 0, i32 0, i32 3, i32 3 %9 = load ptr, ptr %_M_node5.i.i84, align 8 - %cmp23.i.i85 = icmp uge ptr %8, %9 - call void @llvm.assume(i1 %cmp23.i.i85) + %cmp22.i.i85 = icmp uge ptr %8, %9 + call void @llvm.assume(i1 %cmp22.i.i85) %_M_first.i.i92 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 4, i32 0, i32 0, i32 0, i32 3, i32 1 %10 = load ptr, ptr %_M_first.i.i92, align 8 store i32 42, ptr %10, align 4 @@ -4228,8 +4228,8 @@ lpad.i81: ; preds = %.noexc1.i59 %12 = load ptr, ptr %_M_node.i.i106, align 8 %_M_node5.i.i107 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 5, i32 0, i32 0, i32 0, i32 3, i32 3 %13 = load ptr, ptr %_M_node5.i.i107, align 8 - %cmp23.i.i108 = icmp uge ptr %12, %13 - call void @llvm.assume(i1 %cmp23.i.i108) + %cmp22.i.i108 = icmp uge ptr %12, %13 + call void @llvm.assume(i1 %cmp22.i.i108) %_M_first.i.i115 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 5, i32 0, i32 0, i32 0, i32 3, i32 1 %14 = load ptr, ptr %_M_first.i.i115, align 8 store i32 0, ptr %14, align 4 @@ -4249,8 +4249,8 @@ lpad.i104: ; preds = %.noexc1.i82 %16 = load ptr, ptr %_M_node.i.i129, align 8 %_M_node5.i.i130 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 6, i32 0, i32 0, i32 0, i32 3, i32 3 %17 = load ptr, ptr %_M_node5.i.i130, align 8 - %cmp23.i.i131 = icmp uge ptr %16, %17 - call void @llvm.assume(i1 %cmp23.i.i131) + %cmp22.i.i131 = icmp uge ptr %16, %17 + call void @llvm.assume(i1 %cmp22.i.i131) %_M_first.i.i138 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 6, i32 0, i32 0, i32 0, i32 3, i32 1 %18 = load ptr, ptr %_M_first.i.i138, align 8 store i64 0, ptr %18, align 4 @@ -4270,8 +4270,8 @@ lpad.i127: ; preds = %.noexc1.i105 %20 = load ptr, ptr %_M_node.i.i152, align 8 %_M_node5.i.i153 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 7, i32 0, i32 0, i32 0, i32 3, i32 3 %21 = load ptr, ptr %_M_node5.i.i153, align 8 - %cmp23.i.i154 = icmp uge ptr %20, %21 - call void @llvm.assume(i1 %cmp23.i.i154) + %cmp22.i.i154 = icmp uge ptr %20, %21 + call void @llvm.assume(i1 %cmp22.i.i154) %_M_first.i.i161 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 7, i32 0, i32 0, i32 0, i32 3, i32 1 %22 = load ptr, ptr %_M_first.i.i161, align 8 store i32 0, ptr %22, align 4 @@ -4295,8 +4295,8 @@ lpad.i150: ; preds = %.noexc1.i128 %24 = load ptr, ptr %_M_node.i.i175, align 8 %_M_node5.i.i176 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 8, i32 0, i32 0, i32 0, i32 3, i32 3 %25 = load ptr, ptr %_M_node5.i.i176, align 8 - %cmp23.i.i177 = icmp uge ptr %24, %25 - call void @llvm.assume(i1 %cmp23.i.i177) + %cmp22.i.i177 = icmp uge ptr %24, %25 + call void @llvm.assume(i1 %cmp22.i.i177) %_M_first.i.i184 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 8, i32 0, i32 0, i32 0, i32 3, i32 1 %26 = load ptr, ptr %_M_first.i.i184, align 8 store i32 0, ptr %26, align 4 @@ -4320,8 +4320,8 @@ lpad.i173: ; preds = %.noexc1.i151 %28 = load ptr, ptr %_M_node.i.i198, align 8 %_M_node5.i.i199 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 9, i32 0, i32 0, i32 0, i32 3, i32 3 %29 = load ptr, ptr %_M_node5.i.i199, align 8 - %cmp23.i.i200 = icmp uge ptr %28, %29 - call void @llvm.assume(i1 %cmp23.i.i200) + %cmp22.i.i200 = icmp uge ptr %28, %29 + call void @llvm.assume(i1 %cmp22.i.i200) %_M_first.i.i207 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 9, i32 0, i32 0, i32 0, i32 3, i32 1 %30 = load ptr, ptr %_M_first.i.i207, align 8 store i32 0, ptr %30, align 4 @@ -4345,8 +4345,8 @@ lpad.i196: ; preds = %.noexc1.i174 %32 = load ptr, ptr %_M_node.i.i221, align 8 %_M_node5.i.i222 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 10, i32 0, i32 0, i32 0, i32 3, i32 3 %33 = load ptr, ptr %_M_node5.i.i222, align 8 - %cmp23.i.i223 = icmp uge ptr %32, %33 - call void @llvm.assume(i1 %cmp23.i.i223) + %cmp22.i.i223 = icmp uge ptr %32, %33 + call void @llvm.assume(i1 %cmp22.i.i223) %_M_first.i.i230 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 10, i32 0, i32 0, i32 0, i32 3, i32 1 %34 = load ptr, ptr %_M_first.i.i230, align 8 store i32 23, ptr %34, align 4 @@ -4370,8 +4370,8 @@ lpad.i219: ; preds = %.noexc1.i197 %36 = load ptr, ptr %_M_node.i.i244, align 8 %_M_node5.i.i245 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 11, i32 0, i32 0, i32 0, i32 3, i32 3 %37 = load ptr, ptr %_M_node5.i.i245, align 8 - %cmp23.i.i246 = icmp uge ptr %36, %37 - call void @llvm.assume(i1 %cmp23.i.i246) + %cmp22.i.i246 = icmp uge ptr %36, %37 + call void @llvm.assume(i1 %cmp22.i.i246) %_M_first.i.i253 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 11, i32 0, i32 0, i32 0, i32 3, i32 1 %38 = load ptr, ptr %_M_first.i.i253, align 8 store i64 98784247808, ptr %38, align 4 @@ -4391,8 +4391,8 @@ lpad.i242: ; preds = %.noexc1.i220 %40 = load ptr, ptr %_M_node.i.i267, align 8 %_M_node5.i.i268 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 12, i32 0, i32 0, i32 0, i32 3, i32 3 %41 = load ptr, ptr %_M_node5.i.i268, align 8 - %cmp23.i.i269 = icmp uge ptr %40, %41 - call void @llvm.assume(i1 %cmp23.i.i269) + %cmp22.i.i269 = icmp uge ptr %40, %41 + call void @llvm.assume(i1 %cmp22.i.i269) %_M_first.i.i276 = getelementptr inbounds %"class.std::deque", ptr %ref.tmp14, i64 12, i32 0, i32 0, i32 0, i32 3, i32 1 %42 = load ptr, ptr %_M_first.i.i276, align 8 store i64 180388626455, ptr %42, align 4 @@ -4409,7 +4409,7 @@ lpad.i265: ; preds = %.noexc1.i243 call5.i.i.i.i.noexc: ; preds = %.noexc1.i266 store ptr %call5.i.i.i.i312, ptr %exemplars, align 8 - %add.ptr.i = getelementptr inbounds %"class.std::deque", ptr %call5.i.i.i.i312, i64 13 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i312, i64 1040 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -5857,23 +5857,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0977, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0978, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5dequeIiSaIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %30, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5dequeIiSaIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5dequeIiSaIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %30, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %30) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -5881,7 +5882,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, %if.then.i.i - %31 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %29, %if.then.i.i ] + %31 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5dequeIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %29, %if.then.i.i ] %inc = add i64 %i.0978, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %32 = load ptr, ptr %31, align 8, !noalias !71 @@ -8932,7 +8933,7 @@ land.lhs.true.i: ; preds = %if.end br i1 %cmp2.i, label %if.then.i, label %cond.true.i if.then.i: ; preds = %land.lhs.true.i - %add.ptr.i24 = getelementptr inbounds i32, ptr %4, i64 %sub.ptr.div.i + %add.ptr.i24 = getelementptr inbounds i8, ptr %4, i64 %sub.ptr.sub.i br label %_ZNSt15_Deque_iteratorIiRKiPS0_EpLEl.exit cond.true.i: ; preds = %land.lhs.true.i @@ -16899,23 +16900,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0973, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0974, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt12forward_listIiSaIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt12forward_listIiSaIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.147, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt12forward_listIiSaIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.147, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.147, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -16923,7 +16925,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt12forward_listIiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.0974, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !356 @@ -26346,23 +26348,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %18, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.216, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.216, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %18) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.216, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -26370,7 +26373,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, %if.then.i.i - %19 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %17, %if.then.i.i ] + %19 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx114listIiSaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %17, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %20 = load ptr, ptr %19, align 8, !noalias !623 @@ -32605,7 +32608,7 @@ lpad.i: ; preds = %if.end invoke.cont22: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %arrayinit.element14, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 3 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 12 %_M_end_of_storage.i.i = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 0, ptr %call5.i.i.i.i2.i, align 4 @@ -32627,7 +32630,7 @@ lpad.i55: ; preds = %invoke.cont22 invoke.cont34: ; preds = %invoke.cont22 store ptr %call5.i.i.i.i2.i54, ptr %arrayinit.element23, align 8 - %add.ptr.i1.i59 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i54, i64 3 + %add.ptr.i1.i59 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i54, i64 12 %_M_end_of_storage.i.i60 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i59, ptr %_M_end_of_storage.i.i60, align 8 store i32 0, ptr %call5.i.i.i.i2.i54, align 4 @@ -32635,234 +32638,234 @@ invoke.cont34: ; preds = %invoke.cont22 store i32 42, ptr %ref.tmp25.sroa.2.0.call5.i.i.i.i2.i54.sroa_idx, align 4 %ref.tmp25.sroa.3.0.call5.i.i.i.i2.i54.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i54, i64 8 store i32 23, ptr %ref.tmp25.sroa.3.0.call5.i.i.i.i2.i54.sroa_idx, align 4 - %_M_finish.i.i61 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i59, ptr %_M_finish.i.i61, align 8 + %_M_finish.i.i62 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i59, ptr %_M_finish.i.i62, align 8 %arrayinit.element35 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element35, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i64 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont46 unwind label %lpad.i65 + %call5.i.i.i.i2.i65 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont46 unwind label %lpad.i66 -lpad.i65: ; preds = %invoke.cont34 +lpad.i66: ; preds = %invoke.cont34 %2 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont46: ; preds = %invoke.cont34 - store ptr %call5.i.i.i.i2.i64, ptr %arrayinit.element35, align 8 - %add.ptr.i1.i69 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i64, i64 3 - %_M_end_of_storage.i.i70 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i69, ptr %_M_end_of_storage.i.i70, align 8 - store i32 42, ptr %call5.i.i.i.i2.i64, align 4 - %ref.tmp37.sroa.2.0.call5.i.i.i.i2.i64.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i64, i64 4 - store i32 0, ptr %ref.tmp37.sroa.2.0.call5.i.i.i.i2.i64.sroa_idx, align 4 - %ref.tmp37.sroa.3.0.call5.i.i.i.i2.i64.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i64, i64 8 - store i32 23, ptr %ref.tmp37.sroa.3.0.call5.i.i.i.i2.i64.sroa_idx, align 4 - %_M_finish.i.i71 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i69, ptr %_M_finish.i.i71, align 8 + store ptr %call5.i.i.i.i2.i65, ptr %arrayinit.element35, align 8 + %add.ptr.i1.i70 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i65, i64 12 + %_M_end_of_storage.i.i71 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i70, ptr %_M_end_of_storage.i.i71, align 8 + store i32 42, ptr %call5.i.i.i.i2.i65, align 4 + %ref.tmp37.sroa.2.0.call5.i.i.i.i2.i65.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i65, i64 4 + store i32 0, ptr %ref.tmp37.sroa.2.0.call5.i.i.i.i2.i65.sroa_idx, align 4 + %ref.tmp37.sroa.3.0.call5.i.i.i.i2.i65.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i65, i64 8 + store i32 23, ptr %ref.tmp37.sroa.3.0.call5.i.i.i.i2.i65.sroa_idx, align 4 + %_M_finish.i.i73 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i70, ptr %_M_finish.i.i73, align 8 %arrayinit.element47 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 5 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element47, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i74 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 - to label %invoke.cont56 unwind label %lpad.i75 + %call5.i.i.i.i2.i76 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 + to label %invoke.cont56 unwind label %lpad.i77 -lpad.i75: ; preds = %invoke.cont46 +lpad.i77: ; preds = %invoke.cont46 %3 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont56: ; preds = %invoke.cont46 - store ptr %call5.i.i.i.i2.i74, ptr %arrayinit.element47, align 8 - %add.ptr.i1.i79 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i74, i64 1 - %_M_end_of_storage.i.i80 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i79, ptr %_M_end_of_storage.i.i80, align 8 - store i32 0, ptr %call5.i.i.i.i2.i74, align 4 - %_M_finish.i.i81 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i79, ptr %_M_finish.i.i81, align 8 + store ptr %call5.i.i.i.i2.i76, ptr %arrayinit.element47, align 8 + %add.ptr.i1.i81 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i76, i64 4 + %_M_end_of_storage.i.i82 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i81, ptr %_M_end_of_storage.i.i82, align 8 + store i32 0, ptr %call5.i.i.i.i2.i76, align 4 + %_M_finish.i.i84 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i81, ptr %_M_finish.i.i84, align 8 %arrayinit.element57 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 6 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element57, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i84 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont67 unwind label %lpad.i85 + %call5.i.i.i.i2.i87 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont67 unwind label %lpad.i88 -lpad.i85: ; preds = %invoke.cont56 +lpad.i88: ; preds = %invoke.cont56 %4 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont67: ; preds = %invoke.cont56 - store ptr %call5.i.i.i.i2.i84, ptr %arrayinit.element57, align 8 - %add.ptr.i1.i89 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i84, i64 2 - %_M_end_of_storage.i.i90 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i89, ptr %_M_end_of_storage.i.i90, align 8 - store i32 0, ptr %call5.i.i.i.i2.i84, align 4 - %ref.tmp59.sroa.2.0.call5.i.i.i.i2.i84.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i84, i64 4 - store i32 0, ptr %ref.tmp59.sroa.2.0.call5.i.i.i.i2.i84.sroa_idx, align 4 - %_M_finish.i.i91 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i89, ptr %_M_finish.i.i91, align 8 + store ptr %call5.i.i.i.i2.i87, ptr %arrayinit.element57, align 8 + %add.ptr.i1.i92 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i87, i64 8 + %_M_end_of_storage.i.i93 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i92, ptr %_M_end_of_storage.i.i93, align 8 + store i32 0, ptr %call5.i.i.i.i2.i87, align 4 + %ref.tmp59.sroa.2.0.call5.i.i.i.i2.i87.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i87, i64 4 + store i32 0, ptr %ref.tmp59.sroa.2.0.call5.i.i.i.i2.i87.sroa_idx, align 4 + %_M_finish.i.i95 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i92, ptr %_M_finish.i.i95, align 8 %arrayinit.element68 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element68, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i94 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont79 unwind label %lpad.i95 + %call5.i.i.i.i2.i98 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont79 unwind label %lpad.i99 -lpad.i95: ; preds = %invoke.cont67 +lpad.i99: ; preds = %invoke.cont67 %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont79: ; preds = %invoke.cont67 - store ptr %call5.i.i.i.i2.i94, ptr %arrayinit.element68, align 8 - %add.ptr.i1.i99 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i94, i64 3 - %_M_end_of_storage.i.i100 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i99, ptr %_M_end_of_storage.i.i100, align 8 - store i32 0, ptr %call5.i.i.i.i2.i94, align 4 - %ref.tmp70.sroa.2.0.call5.i.i.i.i2.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i94, i64 4 - store i32 0, ptr %ref.tmp70.sroa.2.0.call5.i.i.i.i2.i94.sroa_idx, align 4 - %ref.tmp70.sroa.3.0.call5.i.i.i.i2.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i94, i64 8 - store i32 0, ptr %ref.tmp70.sroa.3.0.call5.i.i.i.i2.i94.sroa_idx, align 4 - %_M_finish.i.i101 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i99, ptr %_M_finish.i.i101, align 8 + store ptr %call5.i.i.i.i2.i98, ptr %arrayinit.element68, align 8 + %add.ptr.i1.i103 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i98, i64 12 + %_M_end_of_storage.i.i104 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i103, ptr %_M_end_of_storage.i.i104, align 8 + store i32 0, ptr %call5.i.i.i.i2.i98, align 4 + %ref.tmp70.sroa.2.0.call5.i.i.i.i2.i98.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i98, i64 4 + store i32 0, ptr %ref.tmp70.sroa.2.0.call5.i.i.i.i2.i98.sroa_idx, align 4 + %ref.tmp70.sroa.3.0.call5.i.i.i.i2.i98.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i98, i64 8 + store i32 0, ptr %ref.tmp70.sroa.3.0.call5.i.i.i.i2.i98.sroa_idx, align 4 + %_M_finish.i.i106 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i103, ptr %_M_finish.i.i106, align 8 %arrayinit.element80 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element80, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i104 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont91 unwind label %lpad.i105 + %call5.i.i.i.i2.i109 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont91 unwind label %lpad.i110 -lpad.i105: ; preds = %invoke.cont79 +lpad.i110: ; preds = %invoke.cont79 %6 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont91: ; preds = %invoke.cont79 - store ptr %call5.i.i.i.i2.i104, ptr %arrayinit.element80, align 8 - %add.ptr.i1.i109 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i104, i64 3 - %_M_end_of_storage.i.i110 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i109, ptr %_M_end_of_storage.i.i110, align 8 - store i32 0, ptr %call5.i.i.i.i2.i104, align 4 - %ref.tmp82.sroa.2.0.call5.i.i.i.i2.i104.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i104, i64 4 - store i32 0, ptr %ref.tmp82.sroa.2.0.call5.i.i.i.i2.i104.sroa_idx, align 4 - %ref.tmp82.sroa.3.0.call5.i.i.i.i2.i104.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i104, i64 8 - store i32 23, ptr %ref.tmp82.sroa.3.0.call5.i.i.i.i2.i104.sroa_idx, align 4 - %_M_finish.i.i111 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i109, ptr %_M_finish.i.i111, align 8 + store ptr %call5.i.i.i.i2.i109, ptr %arrayinit.element80, align 8 + %add.ptr.i1.i114 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i109, i64 12 + %_M_end_of_storage.i.i115 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i114, ptr %_M_end_of_storage.i.i115, align 8 + store i32 0, ptr %call5.i.i.i.i2.i109, align 4 + %ref.tmp82.sroa.2.0.call5.i.i.i.i2.i109.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i109, i64 4 + store i32 0, ptr %ref.tmp82.sroa.2.0.call5.i.i.i.i2.i109.sroa_idx, align 4 + %ref.tmp82.sroa.3.0.call5.i.i.i.i2.i109.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i109, i64 8 + store i32 23, ptr %ref.tmp82.sroa.3.0.call5.i.i.i.i2.i109.sroa_idx, align 4 + %_M_finish.i.i117 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i114, ptr %_M_finish.i.i117, align 8 %arrayinit.element92 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element92, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i114 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont103 unwind label %lpad.i115 + %call5.i.i.i.i2.i120 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont103 unwind label %lpad.i121 -lpad.i115: ; preds = %invoke.cont91 +lpad.i121: ; preds = %invoke.cont91 %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont103: ; preds = %invoke.cont91 - store ptr %call5.i.i.i.i2.i114, ptr %arrayinit.element92, align 8 - %add.ptr.i1.i119 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i114, i64 3 - %_M_end_of_storage.i.i120 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i119, ptr %_M_end_of_storage.i.i120, align 8 - store i32 0, ptr %call5.i.i.i.i2.i114, align 4 - %ref.tmp94.sroa.2.0.call5.i.i.i.i2.i114.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i114, i64 4 - store i32 23, ptr %ref.tmp94.sroa.2.0.call5.i.i.i.i2.i114.sroa_idx, align 4 - %ref.tmp94.sroa.3.0.call5.i.i.i.i2.i114.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i114, i64 8 - store i32 0, ptr %ref.tmp94.sroa.3.0.call5.i.i.i.i2.i114.sroa_idx, align 4 - %_M_finish.i.i121 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i119, ptr %_M_finish.i.i121, align 8 + store ptr %call5.i.i.i.i2.i120, ptr %arrayinit.element92, align 8 + %add.ptr.i1.i125 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i120, i64 12 + %_M_end_of_storage.i.i126 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i125, ptr %_M_end_of_storage.i.i126, align 8 + store i32 0, ptr %call5.i.i.i.i2.i120, align 4 + %ref.tmp94.sroa.2.0.call5.i.i.i.i2.i120.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i120, i64 4 + store i32 23, ptr %ref.tmp94.sroa.2.0.call5.i.i.i.i2.i120.sroa_idx, align 4 + %ref.tmp94.sroa.3.0.call5.i.i.i.i2.i120.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i120, i64 8 + store i32 0, ptr %ref.tmp94.sroa.3.0.call5.i.i.i.i2.i120.sroa_idx, align 4 + %_M_finish.i.i128 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i125, ptr %_M_finish.i.i128, align 8 %arrayinit.element104 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 10 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element104, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i124 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont115 unwind label %lpad.i125 + %call5.i.i.i.i2.i131 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont115 unwind label %lpad.i132 -lpad.i125: ; preds = %invoke.cont103 +lpad.i132: ; preds = %invoke.cont103 %8 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont115: ; preds = %invoke.cont103 - store ptr %call5.i.i.i.i2.i124, ptr %arrayinit.element104, align 8 - %add.ptr.i1.i129 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i124, i64 3 - %_M_end_of_storage.i.i130 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i129, ptr %_M_end_of_storage.i.i130, align 8 - store i32 23, ptr %call5.i.i.i.i2.i124, align 4 - %ref.tmp106.sroa.2.0.call5.i.i.i.i2.i124.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i124, i64 4 - store i32 0, ptr %ref.tmp106.sroa.2.0.call5.i.i.i.i2.i124.sroa_idx, align 4 - %ref.tmp106.sroa.3.0.call5.i.i.i.i2.i124.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i124, i64 8 - store i32 0, ptr %ref.tmp106.sroa.3.0.call5.i.i.i.i2.i124.sroa_idx, align 4 - %_M_finish.i.i131 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i129, ptr %_M_finish.i.i131, align 8 + store ptr %call5.i.i.i.i2.i131, ptr %arrayinit.element104, align 8 + %add.ptr.i1.i136 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i131, i64 12 + %_M_end_of_storage.i.i137 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i136, ptr %_M_end_of_storage.i.i137, align 8 + store i32 23, ptr %call5.i.i.i.i2.i131, align 4 + %ref.tmp106.sroa.2.0.call5.i.i.i.i2.i131.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i131, i64 4 + store i32 0, ptr %ref.tmp106.sroa.2.0.call5.i.i.i.i2.i131.sroa_idx, align 4 + %ref.tmp106.sroa.3.0.call5.i.i.i.i2.i131.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i131, i64 8 + store i32 0, ptr %ref.tmp106.sroa.3.0.call5.i.i.i.i2.i131.sroa_idx, align 4 + %_M_finish.i.i139 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i136, ptr %_M_finish.i.i139, align 8 %arrayinit.element116 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element116, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i134 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont126 unwind label %lpad.i135 + %call5.i.i.i.i2.i142 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont126 unwind label %lpad.i143 -lpad.i135: ; preds = %invoke.cont115 +lpad.i143: ; preds = %invoke.cont115 %9 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont126: ; preds = %invoke.cont115 - store ptr %call5.i.i.i.i2.i134, ptr %arrayinit.element116, align 8 - %add.ptr.i1.i139 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i134, i64 2 - %_M_end_of_storage.i.i140 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i139, ptr %_M_end_of_storage.i.i140, align 8 - store i32 0, ptr %call5.i.i.i.i2.i134, align 4 - %ref.tmp118.sroa.2.0.call5.i.i.i.i2.i134.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i134, i64 4 - store i32 23, ptr %ref.tmp118.sroa.2.0.call5.i.i.i.i2.i134.sroa_idx, align 4 - %_M_finish.i.i141 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i139, ptr %_M_finish.i.i141, align 8 + store ptr %call5.i.i.i.i2.i142, ptr %arrayinit.element116, align 8 + %add.ptr.i1.i147 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i142, i64 8 + %_M_end_of_storage.i.i148 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i147, ptr %_M_end_of_storage.i.i148, align 8 + store i32 0, ptr %call5.i.i.i.i2.i142, align 4 + %ref.tmp118.sroa.2.0.call5.i.i.i.i2.i142.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i142, i64 4 + store i32 23, ptr %ref.tmp118.sroa.2.0.call5.i.i.i.i2.i142.sroa_idx, align 4 + %_M_finish.i.i150 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i147, ptr %_M_finish.i.i150, align 8 %arrayinit.element127 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element127, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i144 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont137 unwind label %lpad.i145 + %call5.i.i.i.i2.i153 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont137 unwind label %lpad.i154 -lpad.i145: ; preds = %invoke.cont126 +lpad.i154: ; preds = %invoke.cont126 %10 = landingpad { ptr, i32 } cleanup br label %ehcleanup163 invoke.cont137: ; preds = %invoke.cont126 - store ptr %call5.i.i.i.i2.i144, ptr %arrayinit.element127, align 8 - %add.ptr.i1.i149 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i144, i64 2 - %_M_end_of_storage.i.i150 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i149, ptr %_M_end_of_storage.i.i150, align 8 - store i32 23, ptr %call5.i.i.i.i2.i144, align 4 - %ref.tmp129.sroa.2.0.call5.i.i.i.i2.i144.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i144, i64 4 - store i32 42, ptr %ref.tmp129.sroa.2.0.call5.i.i.i.i2.i144.sroa_idx, align 4 - %_M_finish.i.i151 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i149, ptr %_M_finish.i.i151, align 8 + store ptr %call5.i.i.i.i2.i153, ptr %arrayinit.element127, align 8 + %add.ptr.i1.i158 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i153, i64 8 + %_M_end_of_storage.i.i159 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i158, ptr %_M_end_of_storage.i.i159, align 8 + store i32 23, ptr %call5.i.i.i.i2.i153, align 4 + %ref.tmp129.sroa.2.0.call5.i.i.i.i2.i153.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i153, i64 4 + store i32 42, ptr %ref.tmp129.sroa.2.0.call5.i.i.i.i2.i153.sroa_idx, align 4 + %_M_finish.i.i161 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i158, ptr %_M_finish.i.i161, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) %add.ptr.i.i = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp13, i64 13 - %call5.i.i.i.i2.i154 = invoke noalias noundef nonnull dereferenceable(312) ptr @_Znwm(i64 noundef 312) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i unwind label %lpad.i155 + %call5.i.i.i.i2.i164 = invoke noalias noundef nonnull dereferenceable(312) ptr @_Znwm(i64 noundef 312) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i unwind label %lpad.i165 _ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i: ; preds = %invoke.cont137 - store ptr %call5.i.i.i.i2.i154, ptr %exemplars, align 8 - %add.ptr.i1.i157 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i154, i64 13 - %_M_end_of_storage.i.i158 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 - store ptr %add.ptr.i1.i157, ptr %_M_end_of_storage.i.i158, align 8 - %call.i.i.i.i3.i = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp13, ptr noundef nonnull %add.ptr.i.i, ptr noundef nonnull %call5.i.i.i.i2.i154) - to label %invoke.cont143 unwind label %lpad.i155 - -lpad.i155: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i, %invoke.cont137 + store ptr %call5.i.i.i.i2.i164, ptr %exemplars, align 8 + %add.ptr.i1.i167 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i164, i64 13 + %_M_end_of_storage.i.i168 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 + store ptr %add.ptr.i1.i167, ptr %_M_end_of_storage.i.i168, align 8 + %call.i.i.i.i3.i = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp13, ptr noundef nonnull %add.ptr.i.i, ptr noundef nonnull %call5.i.i.i.i2.i164) + to label %invoke.cont143 unwind label %lpad.i165 + +lpad.i165: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i, %invoke.cont137 %11 = landingpad { ptr, i32 } cleanup %12 = load ptr, ptr %exemplars, align 8 - %tobool.not.i.i.i156 = icmp eq ptr %12, null - br i1 %tobool.not.i.i.i156, label %arraydestroy.body148.preheader, label %if.then.i.i4.i + %tobool.not.i.i.i166 = icmp eq ptr %12, null + br i1 %tobool.not.i.i.i166, label %arraydestroy.body148.preheader, label %if.then.i.i4.i -if.then.i.i4.i: ; preds = %lpad.i155 +if.then.i.i4.i: ; preds = %lpad.i165 call void @_ZdlPv(ptr noundef nonnull %12) #31 br label %arraydestroy.body148.preheader -arraydestroy.body148.preheader: ; preds = %lpad.i155, %if.then.i.i4.i +arraydestroy.body148.preheader: ; preds = %lpad.i165, %if.then.i.i4.i br label %arraydestroy.body148 invoke.cont143: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i - %_M_finish.i.i159 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 1 - store ptr %call.i.i.i.i3.i, ptr %_M_finish.i.i159, align 8 + %_M_finish.i.i169 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 1 + store ptr %call.i.i.i.i3.i, ptr %_M_finish.i.i169, align 8 br label %arraydestroy.body arraydestroy.body: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %invoke.cont143 %arraydestroy.elementPast = phi ptr [ %add.ptr.i.i, %invoke.cont143 ], [ %arraydestroy.element, %_ZNSt6vectorIiSaIiEED2Ev.exit ] %arraydestroy.element = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast, i64 -1 %13 = load ptr, ptr %arraydestroy.element, align 8 - %tobool.not.i.i.i161 = icmp eq ptr %13, null - br i1 %tobool.not.i.i.i161, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i171 = icmp eq ptr %13, null + br i1 %tobool.not.i.i.i171, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %arraydestroy.body call void @_ZdlPv(ptr noundef nonnull %13) #31 @@ -32879,7 +32882,7 @@ arraydestroy.done145: ; preds = %_ZNSt6vectorIiSaIiE .noexc: ; preds = %arraydestroy.done145 invoke void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS2_IiSaIiEEEESaIS8_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_170, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i) - to label %invoke.cont.i unwind label %lpad.i163 + to label %invoke.cont.i unwind label %lpad.i173 invoke.cont.i: ; preds = %.noexc %14 = load ptr, ptr %ref.tmp.i, align 8, !noalias !862 @@ -32890,14 +32893,14 @@ if.then.i.i.i.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %14) #31 br label %invoke.cont172 -lpad.i163: ; preds = %.noexc +lpad.i173: ; preds = %.noexc %15 = landingpad { ptr, i32 } cleanup %16 = load ptr, ptr %ref.tmp.i, align 8, !noalias !862 %tobool.not.i.i.i1.i = icmp eq ptr %16, null br i1 %tobool.not.i.i.i1.i, label %ehcleanup193, label %if.then.i.i.i2.i -if.then.i.i.i2.i: ; preds = %lpad.i163 +if.then.i.i.i2.i: ; preds = %lpad.i173 call void @_ZdlPv(ptr noundef nonnull %16) #31 br label %ehcleanup193 @@ -32905,41 +32908,41 @@ invoke.cont172: ; preds = %if.then.i.i.i.i, %i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp.i) %17 = load i8, ptr %gtest_ar_170, align 8 %18 = and i8 %17, 1 - %tobool.i165.not = icmp eq i8 %18, 0 - br i1 %tobool.i165.not, label %if.else175, label %if.end191 + %tobool.i175.not = icmp eq i8 %18, 0 + br i1 %tobool.i175.not, label %if.else175, label %if.end191 -arraydestroy.body148: ; preds = %arraydestroy.body148.preheader, %_ZNSt6vectorIiSaIiEED2Ev.exit170 - %arraydestroy.elementPast149 = phi ptr [ %arraydestroy.element150, %_ZNSt6vectorIiSaIiEED2Ev.exit170 ], [ %add.ptr.i.i, %arraydestroy.body148.preheader ] +arraydestroy.body148: ; preds = %arraydestroy.body148.preheader, %_ZNSt6vectorIiSaIiEED2Ev.exit180 + %arraydestroy.elementPast149 = phi ptr [ %arraydestroy.element150, %_ZNSt6vectorIiSaIiEED2Ev.exit180 ], [ %add.ptr.i.i, %arraydestroy.body148.preheader ] %arraydestroy.element150 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast149, i64 -1 %19 = load ptr, ptr %arraydestroy.element150, align 8 - %tobool.not.i.i.i167 = icmp eq ptr %19, null - br i1 %tobool.not.i.i.i167, label %_ZNSt6vectorIiSaIiEED2Ev.exit170, label %if.then.i.i.i168 + %tobool.not.i.i.i177 = icmp eq ptr %19, null + br i1 %tobool.not.i.i.i177, label %_ZNSt6vectorIiSaIiEED2Ev.exit180, label %if.then.i.i.i178 -if.then.i.i.i168: ; preds = %arraydestroy.body148 +if.then.i.i.i178: ; preds = %arraydestroy.body148 call void @_ZdlPv(ptr noundef nonnull %19) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit170 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit180 -_ZNSt6vectorIiSaIiEED2Ev.exit170: ; preds = %arraydestroy.body148, %if.then.i.i.i168 +_ZNSt6vectorIiSaIiEED2Ev.exit180: ; preds = %arraydestroy.body148, %if.then.i.i.i178 %arraydestroy.done151 = icmp eq ptr %arraydestroy.element150, %ref.tmp13 br i1 %arraydestroy.done151, label %eh.resume, label %arraydestroy.body148 -ehcleanup163: ; preds = %lpad.i145, %lpad.i135, %lpad.i125, %lpad.i115, %lpad.i105, %lpad.i95, %lpad.i85, %lpad.i75, %lpad.i65, %lpad.i55, %lpad.i - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element14, %lpad.i ], [ %arrayinit.element23, %lpad.i55 ], [ %arrayinit.element35, %lpad.i65 ], [ %arrayinit.element47, %lpad.i75 ], [ %arrayinit.element57, %lpad.i85 ], [ %arrayinit.element68, %lpad.i95 ], [ %arrayinit.element80, %lpad.i105 ], [ %arrayinit.element92, %lpad.i115 ], [ %arrayinit.element104, %lpad.i125 ], [ %arrayinit.element116, %lpad.i135 ], [ %arrayinit.element127, %lpad.i145 ] - %.pn29.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i ], [ %1, %lpad.i55 ], [ %2, %lpad.i65 ], [ %3, %lpad.i75 ], [ %4, %lpad.i85 ], [ %5, %lpad.i95 ], [ %6, %lpad.i105 ], [ %7, %lpad.i115 ], [ %8, %lpad.i125 ], [ %9, %lpad.i135 ], [ %10, %lpad.i145 ] +ehcleanup163: ; preds = %lpad.i154, %lpad.i143, %lpad.i132, %lpad.i121, %lpad.i110, %lpad.i99, %lpad.i88, %lpad.i77, %lpad.i66, %lpad.i55, %lpad.i + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element14, %lpad.i ], [ %arrayinit.element23, %lpad.i55 ], [ %arrayinit.element35, %lpad.i66 ], [ %arrayinit.element47, %lpad.i77 ], [ %arrayinit.element57, %lpad.i88 ], [ %arrayinit.element68, %lpad.i99 ], [ %arrayinit.element80, %lpad.i110 ], [ %arrayinit.element92, %lpad.i121 ], [ %arrayinit.element104, %lpad.i132 ], [ %arrayinit.element116, %lpad.i143 ], [ %arrayinit.element127, %lpad.i154 ] + %.pn29.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i ], [ %1, %lpad.i55 ], [ %2, %lpad.i66 ], [ %3, %lpad.i77 ], [ %4, %lpad.i88 ], [ %5, %lpad.i99 ], [ %6, %lpad.i110 ], [ %7, %lpad.i121 ], [ %8, %lpad.i132 ], [ %9, %lpad.i143 ], [ %10, %lpad.i154 ] br label %arraydestroy.body165 -arraydestroy.body165: ; preds = %ehcleanup163, %_ZNSt6vectorIiSaIiEED2Ev.exit175 - %arraydestroy.elementPast166 = phi ptr [ %arraydestroy.element167, %_ZNSt6vectorIiSaIiEED2Ev.exit175 ], [ %arrayinit.endOfInit.9, %ehcleanup163 ] +arraydestroy.body165: ; preds = %ehcleanup163, %_ZNSt6vectorIiSaIiEED2Ev.exit185 + %arraydestroy.elementPast166 = phi ptr [ %arraydestroy.element167, %_ZNSt6vectorIiSaIiEED2Ev.exit185 ], [ %arrayinit.endOfInit.9, %ehcleanup163 ] %arraydestroy.element167 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast166, i64 -1 %20 = load ptr, ptr %arraydestroy.element167, align 8 - %tobool.not.i.i.i172 = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i172, label %_ZNSt6vectorIiSaIiEED2Ev.exit175, label %if.then.i.i.i173 + %tobool.not.i.i.i182 = icmp eq ptr %20, null + br i1 %tobool.not.i.i.i182, label %_ZNSt6vectorIiSaIiEED2Ev.exit185, label %if.then.i.i.i183 -if.then.i.i.i173: ; preds = %arraydestroy.body165 +if.then.i.i.i183: ; preds = %arraydestroy.body165 call void @_ZdlPv(ptr noundef nonnull %20) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit175 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit185 -_ZNSt6vectorIiSaIiEED2Ev.exit175: ; preds = %arraydestroy.body165, %if.then.i.i.i173 +_ZNSt6vectorIiSaIiEED2Ev.exit185: ; preds = %arraydestroy.body165, %if.then.i.i.i183 %arraydestroy.done168 = icmp eq ptr %arraydestroy.element167, %ref.tmp13 br i1 %arraydestroy.done168, label %eh.resume, label %arraydestroy.body165 @@ -32969,17 +32972,17 @@ invoke.cont187: ; preds = %invoke.cont185 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp179) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp180) #28 %22 = load ptr, ptr %ref.tmp176, align 8 - %cmp.not.i.i176 = icmp eq ptr %22, null - br i1 %cmp.not.i.i176, label %_ZN7testing7MessageD2Ev.exit180, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177 + %cmp.not.i.i186 = icmp eq ptr %22, null + br i1 %cmp.not.i.i186, label %_ZN7testing7MessageD2Ev.exit190, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177: ; preds = %invoke.cont187 - %vtable.i.i.i178 = load ptr, ptr %22, align 8 - %vfn.i.i.i179 = getelementptr inbounds ptr, ptr %vtable.i.i.i178, i64 1 - %23 = load ptr, ptr %vfn.i.i.i179, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187: ; preds = %invoke.cont187 + %vtable.i.i.i188 = load ptr, ptr %22, align 8 + %vfn.i.i.i189 = getelementptr inbounds ptr, ptr %vtable.i.i.i188, i64 1 + %23 = load ptr, ptr %vfn.i.i.i189, align 8 call void %23(ptr noundef nonnull align 8 dereferenceable(128) %22) #28 - br label %_ZN7testing7MessageD2Ev.exit180 + br label %_ZN7testing7MessageD2Ev.exit190 -_ZN7testing7MessageD2Ev.exit180: ; preds = %invoke.cont187, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177 +_ZN7testing7MessageD2Ev.exit190: ; preds = %invoke.cont187, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i187 store ptr null, ptr %ref.tmp176, align 8 br label %if.end191 @@ -33012,40 +33015,40 @@ ehcleanup189: ; preds = %lpad186, %lpad184 ehcleanup190: ; preds = %ehcleanup189, %lpad181 %.pn41.pn = phi { ptr, i32 } [ %.pn41, %ehcleanup189 ], [ %25, %lpad181 ] %28 = load ptr, ptr %ref.tmp176, align 8 - %cmp.not.i.i181 = icmp eq ptr %28, null - br i1 %cmp.not.i.i181, label %_ZN7testing7MessageD2Ev.exit185, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 + %cmp.not.i.i191 = icmp eq ptr %28, null + br i1 %cmp.not.i.i191, label %_ZN7testing7MessageD2Ev.exit195, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182: ; preds = %ehcleanup190 - %vtable.i.i.i183 = load ptr, ptr %28, align 8 - %vfn.i.i.i184 = getelementptr inbounds ptr, ptr %vtable.i.i.i183, i64 1 - %29 = load ptr, ptr %vfn.i.i.i184, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192: ; preds = %ehcleanup190 + %vtable.i.i.i193 = load ptr, ptr %28, align 8 + %vfn.i.i.i194 = getelementptr inbounds ptr, ptr %vtable.i.i.i193, i64 1 + %29 = load ptr, ptr %vfn.i.i.i194, align 8 call void %29(ptr noundef nonnull align 8 dereferenceable(128) %28) #28 - br label %_ZN7testing7MessageD2Ev.exit185 + br label %_ZN7testing7MessageD2Ev.exit195 -_ZN7testing7MessageD2Ev.exit185: ; preds = %ehcleanup190, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i182 +_ZN7testing7MessageD2Ev.exit195: ; preds = %ehcleanup190, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 store ptr null, ptr %ref.tmp176, align 8 br label %ehcleanup192 -if.end191: ; preds = %invoke.cont172, %_ZN7testing7MessageD2Ev.exit180 - %message_.i186 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_170, i64 0, i32 1 - %30 = load ptr, ptr %message_.i186, align 8 - %cmp.not.i.i187 = icmp eq ptr %30, null - br i1 %cmp.not.i.i187, label %_ZN7testing15AssertionResultD2Ev.exit189, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i188 +if.end191: ; preds = %invoke.cont172, %_ZN7testing7MessageD2Ev.exit190 + %message_.i196 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_170, i64 0, i32 1 + %30 = load ptr, ptr %message_.i196, align 8 + %cmp.not.i.i197 = icmp eq ptr %30, null + br i1 %cmp.not.i.i197, label %_ZN7testing15AssertionResultD2Ev.exit199, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i188: ; preds = %if.end191 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198: ; preds = %if.end191 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #28 call void @_ZdlPv(ptr noundef nonnull %30) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit189 + br label %_ZN7testing15AssertionResultD2Ev.exit199 -_ZN7testing15AssertionResultD2Ev.exit189: ; preds = %if.end191, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i188 - store ptr null, ptr %message_.i186, align 8 +_ZN7testing15AssertionResultD2Ev.exit199: ; preds = %if.end191, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i198 + store ptr null, ptr %message_.i196, align 8 %31 = load ptr, ptr %exemplars, align 8 - %32 = load ptr, ptr %_M_finish.i.i159, align 8 + %32 = load ptr, ptr %_M_finish.i.i169, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %31, %32 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i190, label %for.body.i.i.i.i + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i200, label %for.body.i.i.i.i -for.body.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit189, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i - %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i ], [ %31, %_ZN7testing15AssertionResultD2Ev.exit189 ] +for.body.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit199, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i ], [ %31, %_ZN7testing15AssertionResultD2Ev.exit199 ] %33 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %33, null br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i @@ -33061,32 +33064,32 @@ _ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i. invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i %.pr.i = load ptr, ptr %exemplars, align 8 - br label %invoke.cont.i190 + br label %invoke.cont.i200 -invoke.cont.i190: ; preds = %invoke.contthread-pre-split.i, %_ZN7testing15AssertionResultD2Ev.exit189 - %34 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %31, %_ZN7testing15AssertionResultD2Ev.exit189 ] - %tobool.not.i.i.i191 = icmp eq ptr %34, null - br i1 %tobool.not.i.i.i191, label %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit, label %if.then.i.i.i192 +invoke.cont.i200: ; preds = %invoke.contthread-pre-split.i, %_ZN7testing15AssertionResultD2Ev.exit199 + %34 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %31, %_ZN7testing15AssertionResultD2Ev.exit199 ] + %tobool.not.i.i.i201 = icmp eq ptr %34, null + br i1 %tobool.not.i.i.i201, label %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit, label %if.then.i.i.i202 -if.then.i.i.i192: ; preds = %invoke.cont.i190 +if.then.i.i.i202: ; preds = %invoke.cont.i200 call void @_ZdlPv(ptr noundef nonnull %34) #31 br label %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit -_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit: ; preds = %invoke.cont.i190, %if.then.i.i.i192 +_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit: ; preds = %invoke.cont.i200, %if.then.i.i.i202 ret void -ehcleanup192: ; preds = %_ZN7testing7MessageD2Ev.exit185, %lpad177 - %.pn41.pn.pn = phi { ptr, i32 } [ %.pn41.pn, %_ZN7testing7MessageD2Ev.exit185 ], [ %24, %lpad177 ] +ehcleanup192: ; preds = %_ZN7testing7MessageD2Ev.exit195, %lpad177 + %.pn41.pn.pn = phi { ptr, i32 } [ %.pn41.pn, %_ZN7testing7MessageD2Ev.exit195 ], [ %24, %lpad177 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_170) #28 br label %ehcleanup193 -ehcleanup193: ; preds = %lpad171, %if.then.i.i.i2.i, %lpad.i163, %ehcleanup192 - %.pn41.pn.pn.pn = phi { ptr, i32 } [ %.pn41.pn.pn, %ehcleanup192 ], [ %21, %lpad171 ], [ %15, %if.then.i.i.i2.i ], [ %15, %lpad.i163 ] +ehcleanup193: ; preds = %lpad171, %if.then.i.i.i2.i, %lpad.i173, %ehcleanup192 + %.pn41.pn.pn.pn = phi { ptr, i32 } [ %.pn41.pn.pn, %ehcleanup192 ], [ %21, %lpad171 ], [ %15, %if.then.i.i.i2.i ], [ %15, %lpad.i173 ] call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit175, %_ZNSt6vectorIiSaIiEED2Ev.exit170, %ehcleanup193 - %.pn41.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn41.pn.pn.pn, %ehcleanup193 ], [ %11, %_ZNSt6vectorIiSaIiEED2Ev.exit170 ], [ %.pn29.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit175 ] +eh.resume: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit185, %_ZNSt6vectorIiSaIiEED2Ev.exit180, %ehcleanup193 + %.pn41.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn41.pn.pn.pn, %ehcleanup193 ], [ %11, %_ZNSt6vectorIiSaIiEED2Ev.exit180 ], [ %.pn29.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit185 ] resume { ptr, i32 } %.pn41.pn.pn.pn.pn } @@ -33187,8 +33190,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i br label %for.inc for.inc: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %incdec.ptr = getelementptr inbounds %"class.std::vector.240", ptr %__first.addr.014, i64 1 %incdec.ptr1 = getelementptr inbounds %"class.std::vector.240", ptr %__cur.015, i64 1 @@ -33502,23 +33504,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0971, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0972, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %23, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.283, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IiSaIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.283, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %23) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.283, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -33526,7 +33529,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, %if.then.i.i - %24 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %22, %if.then.i.i ] + %24 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IiSaIiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %22, %if.then.i.i ] %inc = add i64 %i.0972, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %25 = load ptr, ptr %24, align 8, !noalias !867 @@ -40253,7 +40256,7 @@ invoke.cont191: ; preds = %_ZNSt14_Bit_referen call5.i.i.i.i.noexc: ; preds = %invoke.cont191 store ptr %call5.i.i.i.i565, ptr %exemplars, align 8 - %add.ptr.i = getelementptr inbounds %"class.std::vector.307", ptr %call5.i.i.i.i565, i64 13 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i565, i64 520 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -40805,8 +40808,7 @@ _ZSt4copyIPmS0_ET0_T_S2_S1_.exit.i: ; preds = %if.then.i.i.i.i.i.i br i1 %cmp20.i.i.i.i.i.not.i, label %invoke.cont9, label %for.body.i.i.i.i.i.preheader.i for.body.i.i.i.i.i.preheader.i: ; preds = %_ZSt4copyIPmS0_ET0_T_S2_S1_.exit.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.pre-phi, 3 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i64, ptr %5, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %5, i64 %sub.ptr.sub.i.i.i.i.i.i.pre-phi %conv.i.i.i.i.i.i.i = zext i32 %6 to i64 br label %for.body.i.i.i.i.i.i @@ -41156,23 +41158,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0978, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0979, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IbSaIbEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %29, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IbSaIbEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.355, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IbSaIbEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.355, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %29) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.355, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -41180,7 +41183,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, %if.then.i.i - %30 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %28, %if.then.i.i ] + %30 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IbSaIbEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %28, %if.then.i.i ] %inc = add i64 %i.0979, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %31 = load ptr, ptr %30, align 8, !noalias !1117 @@ -47279,7 +47282,7 @@ call5.i.i.i.i1.i.i.noexc: ; preds = %if.end %ref.tmp16.sroa.3.0.call5.i.i.i.i1.i.i42.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i42, i64 8 store i32 42, ptr %ref.tmp16.sroa.3.0.call5.i.i.i.i1.i.i42.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element14, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + %call5.i.i.i.i2.i6.i.i.i5.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 to label %invoke.cont21 unwind label %ehcleanup.i ehcleanup.i: ; preds = %call5.i.i.i.i1.i.i.noexc @@ -47289,290 +47292,290 @@ ehcleanup.i: ; preds = %call5.i.i.i.i1.i.i. br label %lpad20.body invoke.cont21: ; preds = %call5.i.i.i.i1.i.i.noexc - store ptr %call5.i.i.i.i2.i6.i.i.i6.i, ptr %arrayinit.element14, align 8 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i, ptr %arrayinit.element14, align 8 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i, i64 3 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i, i64 3 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i6.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i42, i64 12, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i5.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i42, i64 12, i1 false) store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8 tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i42) #31 %arrayinit.element22 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 3 - %call5.i.i.i.i1.i.i49 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.noexc48 unwind label %lpad20 - -call5.i.i.i.i1.i.i.noexc48: ; preds = %invoke.cont21 - store i32 0, ptr %call5.i.i.i.i1.i.i49, align 4 - %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i49.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i49, i64 4 - store i32 42, ptr %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i49.sroa_idx, align 4 - %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i49.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i49, i64 8 - store i32 23, ptr %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i49.sroa_idx, align 4 + %call5.i.i.i.i1.i.i50 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.noexc49 unwind label %lpad20 + +call5.i.i.i.i1.i.i.noexc49: ; preds = %invoke.cont21 + store i32 0, ptr %call5.i.i.i.i1.i.i50, align 4 + %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i50.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i50, i64 4 + store i32 42, ptr %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i50.sroa_idx, align 4 + %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i50.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i50, i64 8 + store i32 23, ptr %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i50.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element22, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i43 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + %call5.i.i.i.i2.i6.i.i.i5.i43 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 to label %invoke.cont31 unwind label %ehcleanup.i44 -ehcleanup.i44: ; preds = %call5.i.i.i.i1.i.i.noexc48 +ehcleanup.i44: ; preds = %call5.i.i.i.i1.i.i.noexc49 %1 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i49) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i50) #31 br label %lpad20.body -invoke.cont31: ; preds = %call5.i.i.i.i1.i.i.noexc48 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i43, ptr %arrayinit.element22, align 8 +invoke.cont31: ; preds = %call5.i.i.i.i1.i.i.noexc49 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i43, ptr %arrayinit.element22, align 8 %_M_finish.i.i.i.i.i.i45 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i46 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i43, i64 3 + %add.ptr.i.i.i.i.i.i46 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i43, i64 3 %_M_end_of_storage.i.i.i.i.i.i47 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i46, ptr %_M_end_of_storage.i.i.i.i.i.i47, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i6.i43, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i49, i64 12, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i5.i43, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i50, i64 12, i1 false) store ptr %add.ptr.i.i.i.i.i.i46, ptr %_M_finish.i.i.i.i.i.i45, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i49) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i50) #31 %arrayinit.element32 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 4 - %call5.i.i.i.i1.i.i60 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.noexc59 unwind label %lpad20 - -call5.i.i.i.i1.i.i.noexc59: ; preds = %invoke.cont31 - store i32 42, ptr %call5.i.i.i.i1.i.i60, align 4 - %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i60.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i60, i64 4 - store i32 0, ptr %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i60.sroa_idx, align 4 - %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i60.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i60, i64 8 - store i32 23, ptr %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i60.sroa_idx, align 4 + %call5.i.i.i.i1.i.i62 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.noexc61 unwind label %lpad20 + +call5.i.i.i.i1.i.i.noexc61: ; preds = %invoke.cont31 + store i32 42, ptr %call5.i.i.i.i1.i.i62, align 4 + %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i62.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i62, i64 4 + store i32 0, ptr %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i62.sroa_idx, align 4 + %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i62.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i62, i64 8 + store i32 23, ptr %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i62.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element32, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i54 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont41 unwind label %ehcleanup.i55 + %call5.i.i.i.i2.i6.i.i.i5.i55 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont41 unwind label %ehcleanup.i56 -ehcleanup.i55: ; preds = %call5.i.i.i.i1.i.i.noexc59 +ehcleanup.i56: ; preds = %call5.i.i.i.i1.i.i.noexc61 %2 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i60) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i62) #31 br label %lpad20.body -invoke.cont41: ; preds = %call5.i.i.i.i1.i.i.noexc59 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i54, ptr %arrayinit.element32, align 8 - %_M_finish.i.i.i.i.i.i56 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i57 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i54, i64 3 - %_M_end_of_storage.i.i.i.i.i.i58 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i57, ptr %_M_end_of_storage.i.i.i.i.i.i58, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i6.i54, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i60, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i57, ptr %_M_finish.i.i.i.i.i.i56, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i60) #31 +invoke.cont41: ; preds = %call5.i.i.i.i1.i.i.noexc61 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i55, ptr %arrayinit.element32, align 8 + %_M_finish.i.i.i.i.i.i57 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i58 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i55, i64 3 + %_M_end_of_storage.i.i.i.i.i.i59 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i58, ptr %_M_end_of_storage.i.i.i.i.i.i59, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i5.i55, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i62, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i58, ptr %_M_finish.i.i.i.i.i.i57, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i62) #31 %arrayinit.element42 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 5 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element42, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i65 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 - to label %invoke.cont49 unwind label %ehcleanup.i66 + %call5.i.i.i.i2.i6.i.i.i5.i67 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 + to label %invoke.cont49 unwind label %ehcleanup.i68 -ehcleanup.i66: ; preds = %invoke.cont41 +ehcleanup.i68: ; preds = %invoke.cont41 %3 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont49: ; preds = %invoke.cont41 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i65, ptr %arrayinit.element42, align 8 - %_M_finish.i.i.i.i.i.i67 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i68 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i65, i64 1 - %_M_end_of_storage.i.i.i.i.i.i69 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i68, ptr %_M_end_of_storage.i.i.i.i.i.i69, align 8 - store i32 0, ptr %call5.i.i.i.i2.i6.i.i.i6.i65, align 4 - store ptr %add.ptr.i.i.i.i.i.i68, ptr %_M_finish.i.i.i.i.i.i67, align 8 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i67, ptr %arrayinit.element42, align 8 + %_M_finish.i.i.i.i.i.i69 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i70 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i67, i64 1 + %_M_end_of_storage.i.i.i.i.i.i71 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i70, ptr %_M_end_of_storage.i.i.i.i.i.i71, align 8 + store i32 0, ptr %call5.i.i.i.i2.i6.i.i.i5.i67, align 4 + store ptr %add.ptr.i.i.i.i.i.i70, ptr %_M_finish.i.i.i.i.i.i69, align 8 %arrayinit.element50 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 6 - %call5.i.i.i.i1.i.i82 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.noexc81 unwind label %lpad20 + %call5.i.i.i.i1.i.i86 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.noexc85 unwind label %lpad20 -call5.i.i.i.i1.i.i.noexc81: ; preds = %invoke.cont49 - store i32 0, ptr %call5.i.i.i.i1.i.i82, align 4 - %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i82.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i82, i64 4 - store i32 0, ptr %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i82.sroa_idx, align 4 +call5.i.i.i.i1.i.i.noexc85: ; preds = %invoke.cont49 + store i32 0, ptr %call5.i.i.i.i1.i.i86, align 4 + %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i86.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i86, i64 4 + store i32 0, ptr %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i86.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element50, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i76 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont58 unwind label %ehcleanup.i77 + %call5.i.i.i.i2.i6.i.i.i5.i79 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont58 unwind label %ehcleanup.i80 -ehcleanup.i77: ; preds = %call5.i.i.i.i1.i.i.noexc81 +ehcleanup.i80: ; preds = %call5.i.i.i.i1.i.i.noexc85 %4 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i82) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i86) #31 br label %lpad20.body -invoke.cont58: ; preds = %call5.i.i.i.i1.i.i.noexc81 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i76, ptr %arrayinit.element50, align 8 - %_M_finish.i.i.i.i.i.i78 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i79 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i76, i64 2 - %_M_end_of_storage.i.i.i.i.i.i80 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i79, ptr %_M_end_of_storage.i.i.i.i.i.i80, align 8 - %5 = load i64, ptr %call5.i.i.i.i1.i.i82, align 4 - store i64 %5, ptr %call5.i.i.i.i2.i6.i.i.i6.i76, align 4 - store ptr %add.ptr.i.i.i.i.i.i79, ptr %_M_finish.i.i.i.i.i.i78, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i82) #31 +invoke.cont58: ; preds = %call5.i.i.i.i1.i.i.noexc85 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i79, ptr %arrayinit.element50, align 8 + %_M_finish.i.i.i.i.i.i81 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i82 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i79, i64 2 + %_M_end_of_storage.i.i.i.i.i.i83 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i82, ptr %_M_end_of_storage.i.i.i.i.i.i83, align 8 + %5 = load i64, ptr %call5.i.i.i.i1.i.i86, align 4 + store i64 %5, ptr %call5.i.i.i.i2.i6.i.i.i5.i79, align 4 + store ptr %add.ptr.i.i.i.i.i.i82, ptr %_M_finish.i.i.i.i.i.i81, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i86) #31 %arrayinit.element59 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 7 - %call5.i.i.i.i1.i.i93 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.noexc92 unwind label %lpad20 - -call5.i.i.i.i1.i.i.noexc92: ; preds = %invoke.cont58 - store i32 0, ptr %call5.i.i.i.i1.i.i93, align 4 - %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i93.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i93, i64 4 - store i32 0, ptr %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i93.sroa_idx, align 4 - %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i93.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i93, i64 8 - store i32 0, ptr %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i93.sroa_idx, align 4 + %call5.i.i.i.i1.i.i98 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.noexc97 unwind label %lpad20 + +call5.i.i.i.i1.i.i.noexc97: ; preds = %invoke.cont58 + store i32 0, ptr %call5.i.i.i.i1.i.i98, align 4 + %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i98.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i98, i64 4 + store i32 0, ptr %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i98.sroa_idx, align 4 + %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i98.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i98, i64 8 + store i32 0, ptr %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i98.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element59, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i87 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont68 unwind label %ehcleanup.i88 + %call5.i.i.i.i2.i6.i.i.i5.i91 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont68 unwind label %ehcleanup.i92 -ehcleanup.i88: ; preds = %call5.i.i.i.i1.i.i.noexc92 +ehcleanup.i92: ; preds = %call5.i.i.i.i1.i.i.noexc97 %6 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i93) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i98) #31 br label %lpad20.body -invoke.cont68: ; preds = %call5.i.i.i.i1.i.i.noexc92 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i87, ptr %arrayinit.element59, align 8 - %_M_finish.i.i.i.i.i.i89 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i90 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i87, i64 3 - %_M_end_of_storage.i.i.i.i.i.i91 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i90, ptr %_M_end_of_storage.i.i.i.i.i.i91, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i6.i87, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i93, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i90, ptr %_M_finish.i.i.i.i.i.i89, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i93) #31 +invoke.cont68: ; preds = %call5.i.i.i.i1.i.i.noexc97 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i91, ptr %arrayinit.element59, align 8 + %_M_finish.i.i.i.i.i.i93 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i94 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i91, i64 3 + %_M_end_of_storage.i.i.i.i.i.i95 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i94, ptr %_M_end_of_storage.i.i.i.i.i.i95, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i5.i91, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i98, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i94, ptr %_M_finish.i.i.i.i.i.i93, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i98) #31 %arrayinit.element69 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 8 - %call5.i.i.i.i1.i.i104 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.noexc103 unwind label %lpad20 - -call5.i.i.i.i1.i.i.noexc103: ; preds = %invoke.cont68 - store i32 0, ptr %call5.i.i.i.i1.i.i104, align 4 - %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i104.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i104, i64 4 - store i32 0, ptr %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i104.sroa_idx, align 4 - %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i104.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i104, i64 8 - store i32 23, ptr %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i104.sroa_idx, align 4 + %call5.i.i.i.i1.i.i110 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.noexc109 unwind label %lpad20 + +call5.i.i.i.i1.i.i.noexc109: ; preds = %invoke.cont68 + store i32 0, ptr %call5.i.i.i.i1.i.i110, align 4 + %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i110.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i110, i64 4 + store i32 0, ptr %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i110.sroa_idx, align 4 + %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i110.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i110, i64 8 + store i32 23, ptr %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i110.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element69, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i98 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont78 unwind label %ehcleanup.i99 + %call5.i.i.i.i2.i6.i.i.i5.i103 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont78 unwind label %ehcleanup.i104 -ehcleanup.i99: ; preds = %call5.i.i.i.i1.i.i.noexc103 +ehcleanup.i104: ; preds = %call5.i.i.i.i1.i.i.noexc109 %7 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i104) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i110) #31 br label %lpad20.body -invoke.cont78: ; preds = %call5.i.i.i.i1.i.i.noexc103 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i98, ptr %arrayinit.element69, align 8 - %_M_finish.i.i.i.i.i.i100 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i101 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i98, i64 3 - %_M_end_of_storage.i.i.i.i.i.i102 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i101, ptr %_M_end_of_storage.i.i.i.i.i.i102, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i6.i98, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i104, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i101, ptr %_M_finish.i.i.i.i.i.i100, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i104) #31 +invoke.cont78: ; preds = %call5.i.i.i.i1.i.i.noexc109 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i103, ptr %arrayinit.element69, align 8 + %_M_finish.i.i.i.i.i.i105 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i106 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i103, i64 3 + %_M_end_of_storage.i.i.i.i.i.i107 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i106, ptr %_M_end_of_storage.i.i.i.i.i.i107, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i5.i103, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i110, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i106, ptr %_M_finish.i.i.i.i.i.i105, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i110) #31 %arrayinit.element79 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 9 - %call5.i.i.i.i1.i.i115 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.noexc114 unwind label %lpad20 - -call5.i.i.i.i1.i.i.noexc114: ; preds = %invoke.cont78 - store i32 0, ptr %call5.i.i.i.i1.i.i115, align 4 - %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i115, i64 4 - store i32 23, ptr %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i115.sroa_idx, align 4 - %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i115, i64 8 - store i32 0, ptr %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i115.sroa_idx, align 4 + %call5.i.i.i.i1.i.i122 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.noexc121 unwind label %lpad20 + +call5.i.i.i.i1.i.i.noexc121: ; preds = %invoke.cont78 + store i32 0, ptr %call5.i.i.i.i1.i.i122, align 4 + %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i122.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i122, i64 4 + store i32 23, ptr %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i122.sroa_idx, align 4 + %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i122.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i122, i64 8 + store i32 0, ptr %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i122.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element79, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i109 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont88 unwind label %ehcleanup.i110 + %call5.i.i.i.i2.i6.i.i.i5.i115 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont88 unwind label %ehcleanup.i116 -ehcleanup.i110: ; preds = %call5.i.i.i.i1.i.i.noexc114 +ehcleanup.i116: ; preds = %call5.i.i.i.i1.i.i.noexc121 %8 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i115) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i122) #31 br label %lpad20.body -invoke.cont88: ; preds = %call5.i.i.i.i1.i.i.noexc114 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i109, ptr %arrayinit.element79, align 8 - %_M_finish.i.i.i.i.i.i111 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i112 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i109, i64 3 - %_M_end_of_storage.i.i.i.i.i.i113 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i112, ptr %_M_end_of_storage.i.i.i.i.i.i113, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i6.i109, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i115, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i112, ptr %_M_finish.i.i.i.i.i.i111, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i115) #31 +invoke.cont88: ; preds = %call5.i.i.i.i1.i.i.noexc121 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i115, ptr %arrayinit.element79, align 8 + %_M_finish.i.i.i.i.i.i117 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i118 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i115, i64 3 + %_M_end_of_storage.i.i.i.i.i.i119 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i118, ptr %_M_end_of_storage.i.i.i.i.i.i119, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i5.i115, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i122, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i118, ptr %_M_finish.i.i.i.i.i.i117, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i122) #31 %arrayinit.element89 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 10 - %call5.i.i.i.i1.i.i126 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.noexc125 unwind label %lpad20 - -call5.i.i.i.i1.i.i.noexc125: ; preds = %invoke.cont88 - store i32 23, ptr %call5.i.i.i.i1.i.i126, align 4 - %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i126.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i126, i64 4 - store i32 0, ptr %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i126.sroa_idx, align 4 - %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i126.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i126, i64 8 - store i32 0, ptr %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i126.sroa_idx, align 4 + %call5.i.i.i.i1.i.i134 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.noexc133 unwind label %lpad20 + +call5.i.i.i.i1.i.i.noexc133: ; preds = %invoke.cont88 + store i32 23, ptr %call5.i.i.i.i1.i.i134, align 4 + %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i134.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i134, i64 4 + store i32 0, ptr %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i134.sroa_idx, align 4 + %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i134.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i134, i64 8 + store i32 0, ptr %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i134.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element89, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i120 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont98 unwind label %ehcleanup.i121 + %call5.i.i.i.i2.i6.i.i.i5.i127 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont98 unwind label %ehcleanup.i128 -ehcleanup.i121: ; preds = %call5.i.i.i.i1.i.i.noexc125 +ehcleanup.i128: ; preds = %call5.i.i.i.i1.i.i.noexc133 %9 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i126) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i134) #31 br label %lpad20.body -invoke.cont98: ; preds = %call5.i.i.i.i1.i.i.noexc125 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i120, ptr %arrayinit.element89, align 8 - %_M_finish.i.i.i.i.i.i122 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i123 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i120, i64 3 - %_M_end_of_storage.i.i.i.i.i.i124 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i123, ptr %_M_end_of_storage.i.i.i.i.i.i124, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i6.i120, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i126, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i123, ptr %_M_finish.i.i.i.i.i.i122, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i126) #31 +invoke.cont98: ; preds = %call5.i.i.i.i1.i.i.noexc133 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i127, ptr %arrayinit.element89, align 8 + %_M_finish.i.i.i.i.i.i129 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i130 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i127, i64 3 + %_M_end_of_storage.i.i.i.i.i.i131 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i130, ptr %_M_end_of_storage.i.i.i.i.i.i131, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i5.i127, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i134, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i130, ptr %_M_finish.i.i.i.i.i.i129, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i134) #31 %arrayinit.element99 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 11 - %call5.i.i.i.i1.i.i137 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.noexc136 unwind label %lpad20 + %call5.i.i.i.i1.i.i146 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.noexc145 unwind label %lpad20 -call5.i.i.i.i1.i.i.noexc136: ; preds = %invoke.cont98 - store i32 0, ptr %call5.i.i.i.i1.i.i137, align 4 - %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i137.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i137, i64 4 - store i32 23, ptr %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i137.sroa_idx, align 4 +call5.i.i.i.i1.i.i.noexc145: ; preds = %invoke.cont98 + store i32 0, ptr %call5.i.i.i.i1.i.i146, align 4 + %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i146.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i146, i64 4 + store i32 23, ptr %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i146.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element99, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i131 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont107 unwind label %ehcleanup.i132 + %call5.i.i.i.i2.i6.i.i.i5.i139 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont107 unwind label %ehcleanup.i140 -ehcleanup.i132: ; preds = %call5.i.i.i.i1.i.i.noexc136 +ehcleanup.i140: ; preds = %call5.i.i.i.i1.i.i.noexc145 %10 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i137) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i146) #31 br label %lpad20.body -invoke.cont107: ; preds = %call5.i.i.i.i1.i.i.noexc136 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i131, ptr %arrayinit.element99, align 8 - %_M_finish.i.i.i.i.i.i133 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i134 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i131, i64 2 - %_M_end_of_storage.i.i.i.i.i.i135 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i134, ptr %_M_end_of_storage.i.i.i.i.i.i135, align 8 - %11 = load i64, ptr %call5.i.i.i.i1.i.i137, align 4 - store i64 %11, ptr %call5.i.i.i.i2.i6.i.i.i6.i131, align 4 - store ptr %add.ptr.i.i.i.i.i.i134, ptr %_M_finish.i.i.i.i.i.i133, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i137) #31 +invoke.cont107: ; preds = %call5.i.i.i.i1.i.i.noexc145 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i139, ptr %arrayinit.element99, align 8 + %_M_finish.i.i.i.i.i.i141 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i142 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i139, i64 2 + %_M_end_of_storage.i.i.i.i.i.i143 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i142, ptr %_M_end_of_storage.i.i.i.i.i.i143, align 8 + %11 = load i64, ptr %call5.i.i.i.i1.i.i146, align 4 + store i64 %11, ptr %call5.i.i.i.i2.i6.i.i.i5.i139, align 4 + store ptr %add.ptr.i.i.i.i.i.i142, ptr %_M_finish.i.i.i.i.i.i141, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i146) #31 %arrayinit.element108 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 12 - %call5.i.i.i.i1.i.i148 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.noexc147 unwind label %lpad20 + %call5.i.i.i.i1.i.i158 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.noexc157 unwind label %lpad20 -call5.i.i.i.i1.i.i.noexc147: ; preds = %invoke.cont107 - store i32 23, ptr %call5.i.i.i.i1.i.i148, align 4 - %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i148.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i148, i64 4 - store i32 42, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i148.sroa_idx, align 4 +call5.i.i.i.i1.i.i.noexc157: ; preds = %invoke.cont107 + store i32 23, ptr %call5.i.i.i.i1.i.i158, align 4 + %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i158.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i158, i64 4 + store i32 42, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i158.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element108, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i6.i142 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont116 unwind label %ehcleanup.i143 + %call5.i.i.i.i2.i6.i.i.i5.i151 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont116 unwind label %ehcleanup.i152 -ehcleanup.i143: ; preds = %call5.i.i.i.i1.i.i.noexc147 +ehcleanup.i152: ; preds = %call5.i.i.i.i1.i.i.noexc157 %12 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i148) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i158) #31 br label %lpad20.body -invoke.cont116: ; preds = %call5.i.i.i.i1.i.i.noexc147 - store ptr %call5.i.i.i.i2.i6.i.i.i6.i142, ptr %arrayinit.element108, align 8 - %_M_finish.i.i.i.i.i.i144 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i145 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i6.i142, i64 2 - %_M_end_of_storage.i.i.i.i.i.i146 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i145, ptr %_M_end_of_storage.i.i.i.i.i.i146, align 8 - %13 = load i64, ptr %call5.i.i.i.i1.i.i148, align 4 - store i64 %13, ptr %call5.i.i.i.i2.i6.i.i.i6.i142, align 4 - store ptr %add.ptr.i.i.i.i.i.i145, ptr %_M_finish.i.i.i.i.i.i144, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i148) #31 +invoke.cont116: ; preds = %call5.i.i.i.i1.i.i.noexc157 + store ptr %call5.i.i.i.i2.i6.i.i.i5.i151, ptr %arrayinit.element108, align 8 + %_M_finish.i.i.i.i.i.i153 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i154 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i5.i151, i64 2 + %_M_end_of_storage.i.i.i.i.i.i155 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i154, ptr %_M_end_of_storage.i.i.i.i.i.i155, align 8 + %13 = load i64, ptr %call5.i.i.i.i1.i.i158, align 4 + store i64 %13, ptr %call5.i.i.i.i2.i6.i.i.i5.i151, align 4 + store ptr %add.ptr.i.i.i.i.i.i154, ptr %_M_finish.i.i.i.i.i.i153, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i158) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) %add.ptr.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %ref.tmp13, i64 13 %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(312) ptr @_Znwm(i64 noundef 312) #32 @@ -47627,7 +47630,7 @@ arraydestroy.done130: ; preds = %_ZN4absl18hash_test .noexc: ; preds = %arraydestroy.done130 invoke void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS_18hash_test_internal19TypeErasedContainerIS2_IiSaIiEEEEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_138, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i) - to label %invoke.cont.i unwind label %lpad.i154 + to label %invoke.cont.i unwind label %lpad.i164 invoke.cont.i: ; preds = %.noexc %17 = load ptr, ptr %ref.tmp.i, align 8, !noalias !1356 @@ -47638,14 +47641,14 @@ if.then.i.i.i.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %17) #31 br label %invoke.cont140 -lpad.i154: ; preds = %.noexc +lpad.i164: ; preds = %.noexc %18 = landingpad { ptr, i32 } cleanup %19 = load ptr, ptr %ref.tmp.i, align 8, !noalias !1356 %tobool.not.i.i.i1.i = icmp eq ptr %19, null br i1 %tobool.not.i.i.i1.i, label %ehcleanup161, label %if.then.i.i.i2.i -if.then.i.i.i2.i: ; preds = %lpad.i154 +if.then.i.i.i2.i: ; preds = %lpad.i164 call void @_ZdlPv(ptr noundef nonnull %19) #31 br label %ehcleanup161 @@ -47653,8 +47656,8 @@ invoke.cont140: ; preds = %if.then.i.i.i.i, %i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp.i) %20 = load i8, ptr %gtest_ar_138, align 8 %21 = and i8 %20, 1 - %tobool.i156.not = icmp eq i8 %21, 0 - br i1 %tobool.i156.not, label %if.else143, label %if.end159 + %tobool.i166.not = icmp eq i8 %21, 0 + br i1 %tobool.i166.not, label %if.else143, label %if.end159 lpad20: ; preds = %invoke.cont107, %invoke.cont98, %invoke.cont88, %invoke.cont78, %invoke.cont68, %invoke.cont58, %invoke.cont49, %invoke.cont31, %invoke.cont21, %if.end %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element14, %if.end ], [ %arrayinit.element22, %invoke.cont21 ], [ %arrayinit.element32, %invoke.cont31 ], [ %arrayinit.element50, %invoke.cont49 ], [ %arrayinit.element59, %invoke.cont58 ], [ %arrayinit.element69, %invoke.cont68 ], [ %arrayinit.element79, %invoke.cont78 ], [ %arrayinit.element89, %invoke.cont88 ], [ %arrayinit.element99, %invoke.cont98 ], [ %arrayinit.element108, %invoke.cont107 ] @@ -47662,38 +47665,38 @@ lpad20: ; preds = %invoke.cont107, %in cleanup br label %lpad20.body -lpad20.body: ; preds = %ehcleanup.i44, %ehcleanup.i66, %ehcleanup.i88, %ehcleanup.i110, %ehcleanup.i132, %ehcleanup.i143, %lpad20, %ehcleanup.i121, %ehcleanup.i99, %ehcleanup.i77, %ehcleanup.i55, %ehcleanup.i - %arrayinit.endOfInit.0.lpad-body = phi ptr [ %arrayinit.element14, %ehcleanup.i ], [ %arrayinit.element22, %ehcleanup.i44 ], [ %arrayinit.element32, %ehcleanup.i55 ], [ %arrayinit.element42, %ehcleanup.i66 ], [ %arrayinit.element50, %ehcleanup.i77 ], [ %arrayinit.element59, %ehcleanup.i88 ], [ %arrayinit.element69, %ehcleanup.i99 ], [ %arrayinit.element79, %ehcleanup.i110 ], [ %arrayinit.element89, %ehcleanup.i121 ], [ %arrayinit.element99, %ehcleanup.i132 ], [ %arrayinit.endOfInit.0, %lpad20 ], [ %arrayinit.element108, %ehcleanup.i143 ] - %eh.lpad-body = phi { ptr, i32 } [ %0, %ehcleanup.i ], [ %1, %ehcleanup.i44 ], [ %2, %ehcleanup.i55 ], [ %3, %ehcleanup.i66 ], [ %4, %ehcleanup.i77 ], [ %6, %ehcleanup.i88 ], [ %7, %ehcleanup.i99 ], [ %8, %ehcleanup.i110 ], [ %9, %ehcleanup.i121 ], [ %10, %ehcleanup.i132 ], [ %22, %lpad20 ], [ %12, %ehcleanup.i143 ] +lpad20.body: ; preds = %ehcleanup.i44, %ehcleanup.i68, %ehcleanup.i92, %ehcleanup.i116, %ehcleanup.i140, %ehcleanup.i152, %lpad20, %ehcleanup.i128, %ehcleanup.i104, %ehcleanup.i80, %ehcleanup.i56, %ehcleanup.i + %arrayinit.endOfInit.0.lpad-body = phi ptr [ %arrayinit.element14, %ehcleanup.i ], [ %arrayinit.element22, %ehcleanup.i44 ], [ %arrayinit.element32, %ehcleanup.i56 ], [ %arrayinit.element42, %ehcleanup.i68 ], [ %arrayinit.element50, %ehcleanup.i80 ], [ %arrayinit.element59, %ehcleanup.i92 ], [ %arrayinit.element69, %ehcleanup.i104 ], [ %arrayinit.element79, %ehcleanup.i116 ], [ %arrayinit.element89, %ehcleanup.i128 ], [ %arrayinit.element99, %ehcleanup.i140 ], [ %arrayinit.endOfInit.0, %lpad20 ], [ %arrayinit.element108, %ehcleanup.i152 ] + %eh.lpad-body = phi { ptr, i32 } [ %0, %ehcleanup.i ], [ %1, %ehcleanup.i44 ], [ %2, %ehcleanup.i56 ], [ %3, %ehcleanup.i68 ], [ %4, %ehcleanup.i80 ], [ %6, %ehcleanup.i92 ], [ %7, %ehcleanup.i104 ], [ %8, %ehcleanup.i116 ], [ %9, %ehcleanup.i128 ], [ %10, %ehcleanup.i140 ], [ %22, %lpad20 ], [ %12, %ehcleanup.i152 ] br label %arraydestroy.body -arraydestroy.body: ; preds = %lpad20.body, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit159 - %arraydestroy.elementPast = phi ptr [ %arrayinit.endOfInit.0.lpad-body, %lpad20.body ], [ %arraydestroy.element, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit159 ] +arraydestroy.body: ; preds = %lpad20.body, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit169 + %arraydestroy.elementPast = phi ptr [ %arrayinit.endOfInit.0.lpad-body, %lpad20.body ], [ %arraydestroy.element, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit169 ] %arraydestroy.element = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %arraydestroy.elementPast, i64 -1 %23 = load ptr, ptr %arraydestroy.element, align 8 - %tobool.not.i.i.i.i.i157 = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i.i.i157, label %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit159, label %if.then.i.i.i.i.i158 + %tobool.not.i.i.i.i.i167 = icmp eq ptr %23, null + br i1 %tobool.not.i.i.i.i.i167, label %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit169, label %if.then.i.i.i.i.i168 -if.then.i.i.i.i.i158: ; preds = %arraydestroy.body +if.then.i.i.i.i.i168: ; preds = %arraydestroy.body call void @_ZdlPv(ptr noundef nonnull %23) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit159 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit169 -_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit159: ; preds = %arraydestroy.body, %if.then.i.i.i.i.i158 +_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit169: ; preds = %arraydestroy.body, %if.then.i.i.i.i.i168 %arraydestroy.done = icmp eq ptr %arraydestroy.element, %ref.tmp13 br i1 %arraydestroy.done, label %eh.resume, label %arraydestroy.body -arraydestroy.body133: ; preds = %arraydestroy.body133.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit162 - %arraydestroy.elementPast134 = phi ptr [ %arraydestroy.element135, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit162 ], [ %add.ptr.i.i, %arraydestroy.body133.preheader ] +arraydestroy.body133: ; preds = %arraydestroy.body133.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit172 + %arraydestroy.elementPast134 = phi ptr [ %arraydestroy.element135, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit172 ], [ %add.ptr.i.i, %arraydestroy.body133.preheader ] %arraydestroy.element135 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %arraydestroy.elementPast134, i64 -1 %24 = load ptr, ptr %arraydestroy.element135, align 8 - %tobool.not.i.i.i.i.i160 = icmp eq ptr %24, null - br i1 %tobool.not.i.i.i.i.i160, label %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit162, label %if.then.i.i.i.i.i161 + %tobool.not.i.i.i.i.i170 = icmp eq ptr %24, null + br i1 %tobool.not.i.i.i.i.i170, label %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit172, label %if.then.i.i.i.i.i171 -if.then.i.i.i.i.i161: ; preds = %arraydestroy.body133 +if.then.i.i.i.i.i171: ; preds = %arraydestroy.body133 call void @_ZdlPv(ptr noundef nonnull %24) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit162 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit172 -_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit162: ; preds = %arraydestroy.body133, %if.then.i.i.i.i.i161 +_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit172: ; preds = %arraydestroy.body133, %if.then.i.i.i.i.i171 %arraydestroy.done136 = icmp eq ptr %arraydestroy.element135, %ref.tmp13 br i1 %arraydestroy.done136, label %eh.resume, label %arraydestroy.body133 @@ -47723,17 +47726,17 @@ invoke.cont155: ; preds = %invoke.cont153 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp147) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp148) #28 %26 = load ptr, ptr %ref.tmp144, align 8 - %cmp.not.i.i163 = icmp eq ptr %26, null - br i1 %cmp.not.i.i163, label %_ZN7testing7MessageD2Ev.exit167, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 + %cmp.not.i.i173 = icmp eq ptr %26, null + br i1 %cmp.not.i.i173, label %_ZN7testing7MessageD2Ev.exit177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164: ; preds = %invoke.cont155 - %vtable.i.i.i165 = load ptr, ptr %26, align 8 - %vfn.i.i.i166 = getelementptr inbounds ptr, ptr %vtable.i.i.i165, i64 1 - %27 = load ptr, ptr %vfn.i.i.i166, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174: ; preds = %invoke.cont155 + %vtable.i.i.i175 = load ptr, ptr %26, align 8 + %vfn.i.i.i176 = getelementptr inbounds ptr, ptr %vtable.i.i.i175, i64 1 + %27 = load ptr, ptr %vfn.i.i.i176, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #28 - br label %_ZN7testing7MessageD2Ev.exit167 + br label %_ZN7testing7MessageD2Ev.exit177 -_ZN7testing7MessageD2Ev.exit167: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 +_ZN7testing7MessageD2Ev.exit177: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 store ptr null, ptr %ref.tmp144, align 8 br label %if.end159 @@ -47766,40 +47769,40 @@ ehcleanup157: ; preds = %lpad154, %lpad152 ehcleanup158: ; preds = %ehcleanup157, %lpad149 %.pn29.pn = phi { ptr, i32 } [ %.pn29, %ehcleanup157 ], [ %29, %lpad149 ] %32 = load ptr, ptr %ref.tmp144, align 8 - %cmp.not.i.i168 = icmp eq ptr %32, null - br i1 %cmp.not.i.i168, label %_ZN7testing7MessageD2Ev.exit172, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 + %cmp.not.i.i178 = icmp eq ptr %32, null + br i1 %cmp.not.i.i178, label %_ZN7testing7MessageD2Ev.exit182, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %ehcleanup158 - %vtable.i.i.i170 = load ptr, ptr %32, align 8 - %vfn.i.i.i171 = getelementptr inbounds ptr, ptr %vtable.i.i.i170, i64 1 - %33 = load ptr, ptr %vfn.i.i.i171, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179: ; preds = %ehcleanup158 + %vtable.i.i.i180 = load ptr, ptr %32, align 8 + %vfn.i.i.i181 = getelementptr inbounds ptr, ptr %vtable.i.i.i180, i64 1 + %33 = load ptr, ptr %vfn.i.i.i181, align 8 call void %33(ptr noundef nonnull align 8 dereferenceable(128) %32) #28 - br label %_ZN7testing7MessageD2Ev.exit172 + br label %_ZN7testing7MessageD2Ev.exit182 -_ZN7testing7MessageD2Ev.exit172: ; preds = %ehcleanup158, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +_ZN7testing7MessageD2Ev.exit182: ; preds = %ehcleanup158, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179 store ptr null, ptr %ref.tmp144, align 8 br label %ehcleanup160 -if.end159: ; preds = %invoke.cont140, %_ZN7testing7MessageD2Ev.exit167 - %message_.i173 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_138, i64 0, i32 1 - %34 = load ptr, ptr %message_.i173, align 8 - %cmp.not.i.i174 = icmp eq ptr %34, null - br i1 %cmp.not.i.i174, label %_ZN7testing15AssertionResultD2Ev.exit176, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 +if.end159: ; preds = %invoke.cont140, %_ZN7testing7MessageD2Ev.exit177 + %message_.i183 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_138, i64 0, i32 1 + %34 = load ptr, ptr %message_.i183, align 8 + %cmp.not.i.i184 = icmp eq ptr %34, null + br i1 %cmp.not.i.i184, label %_ZN7testing15AssertionResultD2Ev.exit186, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175: ; preds = %if.end159 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185: ; preds = %if.end159 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #28 call void @_ZdlPv(ptr noundef nonnull %34) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit176 + br label %_ZN7testing15AssertionResultD2Ev.exit186 -_ZN7testing15AssertionResultD2Ev.exit176: ; preds = %if.end159, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i175 - store ptr null, ptr %message_.i173, align 8 +_ZN7testing15AssertionResultD2Ev.exit186: ; preds = %if.end159, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 + store ptr null, ptr %message_.i183, align 8 %35 = load ptr, ptr %exemplars, align 8 %36 = load ptr, ptr %_M_finish.i.i, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %35, %36 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i177, label %for.body.i.i.i.i + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i187, label %for.body.i.i.i.i -for.body.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit176, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i - %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i ], [ %35, %_ZN7testing15AssertionResultD2Ev.exit176 ] +for.body.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit186, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i ], [ %35, %_ZN7testing15AssertionResultD2Ev.exit186 ] %37 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %37, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i @@ -47815,32 +47818,32 @@ _ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEE invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i %.pr.i = load ptr, ptr %exemplars, align 8 - br label %invoke.cont.i177 + br label %invoke.cont.i187 -invoke.cont.i177: ; preds = %invoke.contthread-pre-split.i, %_ZN7testing15AssertionResultD2Ev.exit176 - %38 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %35, %_ZN7testing15AssertionResultD2Ev.exit176 ] - %tobool.not.i.i.i178 = icmp eq ptr %38, null - br i1 %tobool.not.i.i.i178, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEESaIS5_EED2Ev.exit, label %if.then.i.i.i +invoke.cont.i187: ; preds = %invoke.contthread-pre-split.i, %_ZN7testing15AssertionResultD2Ev.exit186 + %38 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %35, %_ZN7testing15AssertionResultD2Ev.exit186 ] + %tobool.not.i.i.i188 = icmp eq ptr %38, null + br i1 %tobool.not.i.i.i188, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEESaIS5_EED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %invoke.cont.i177 +if.then.i.i.i: ; preds = %invoke.cont.i187 call void @_ZdlPv(ptr noundef nonnull %38) #31 br label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEESaIS5_EED2Ev.exit -_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i177, %if.then.i.i.i +_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEESaIS5_EED2Ev.exit: ; preds = %invoke.cont.i187, %if.then.i.i.i ret void -ehcleanup160: ; preds = %_ZN7testing7MessageD2Ev.exit172, %lpad145 - %.pn29.pn.pn = phi { ptr, i32 } [ %.pn29.pn, %_ZN7testing7MessageD2Ev.exit172 ], [ %28, %lpad145 ] +ehcleanup160: ; preds = %_ZN7testing7MessageD2Ev.exit182, %lpad145 + %.pn29.pn.pn = phi { ptr, i32 } [ %.pn29.pn, %_ZN7testing7MessageD2Ev.exit182 ], [ %28, %lpad145 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_138) #28 br label %ehcleanup161 -ehcleanup161: ; preds = %lpad139, %if.then.i.i.i2.i, %lpad.i154, %ehcleanup160 - %.pn29.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn, %ehcleanup160 ], [ %25, %lpad139 ], [ %18, %if.then.i.i.i2.i ], [ %18, %lpad.i154 ] +ehcleanup161: ; preds = %lpad139, %if.then.i.i.i2.i, %lpad.i164, %ehcleanup160 + %.pn29.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn, %ehcleanup160 ], [ %25, %lpad139 ], [ %18, %if.then.i.i.i2.i ], [ %18, %lpad.i164 ] call void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit159, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit162, %ehcleanup161 - %.pn29.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn.pn, %ehcleanup161 ], [ %14, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit162 ], [ %eh.lpad-body, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit159 ] +eh.resume: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit169, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit172, %ehcleanup161 + %.pn29.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn.pn, %ehcleanup161 ], [ %14, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit172 ], [ %eh.lpad-body, %_ZN4absl18hash_test_internal19TypeErasedContainerISt6vectorIiSaIiEEED2Ev.exit169 ] resume { ptr, i32 } %.pn29.pn.pn.pn.pn } @@ -47941,8 +47944,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i br label %for.inc for.inc: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i, align 8 %incdec.ptr = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %__first.addr.014, i64 1 %incdec.ptr1 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer", ptr %__cur.015, i64 1 @@ -48256,23 +48258,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0971, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0972, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS3_IiSaIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %23, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS3_IiSaIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.419, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS3_IiSaIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.419, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %23) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.419, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -48280,7 +48283,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, %if.then.i.i - %24 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %22, %if.then.i.i ] + %24 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %22, %if.then.i.i ] %inc = add i64 %i.0972, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %25 = load ptr, ptr %24, align 8, !noalias !1361 @@ -54155,8 +54158,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %20, ptr %19) to label %invoke.cont30 unwind label %lpad @@ -55403,7 +55405,7 @@ if.then9: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 5 %cmp15 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i.i - br i1 %cmp15, label %for.body.i.i.i.i.i.preheader, label %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit + br i1 %cmp15, label %for.body.i.i.i.i.i.preheader, label %if.else5.i.i for.body.i.i.i.i.i.preheader: ; preds = %if.then9 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i.i @@ -55420,8 +55422,8 @@ for.body.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %cmp.i.i.not.i.i.i.i.i, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit, label %for.body.i.i.i.i.i, !llvm.loop !1634 _ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit: ; preds = %for.body.i.i.i.i.i - %.pre138 = load ptr, ptr %_M_finish, align 8 - %add.ptr27 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %.pre138, i64 %sub.ptr.div.i.i.i + %.pre136 = load ptr, ptr %_M_finish, align 8 + %add.ptr27 = getelementptr inbounds i8, ptr %.pre136, i64 %sub.ptr.sub.i.i.i store ptr %add.ptr27, ptr %_M_finish, align 8 %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %add.ptr to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i @@ -55442,34 +55444,34 @@ for.body.i.i.i.i.i26: ; preds = %_ZSt22__uninitializ _ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit: ; preds = %for.body.i.i.i.i.i26, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit %cmp6.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i, 0 - br i1 %cmp6.i.i.i.i.i, label %for.body.i.i.i.i.i37, label %if.end109 - -for.body.i.i.i.i.i37: ; preds = %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit, %for.body.i.i.i.i.i37 - %__n.09.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i41, %for.body.i.i.i.i.i37 ], [ %sub.ptr.div.i.i.i, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] - %__result.addr.08.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i40, %for.body.i.i.i.i.i37 ], [ %__position.coerce, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] - %__first.addr.07.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i39, %for.body.i.i.i.i.i37 ], [ %__first.coerce, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] - %call.i.i.i.i.i38 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__result.addr.08.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.07.i.i.i.i.i) - %incdec.ptr.i.i.i.i.i39 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.07.i.i.i.i.i, i64 1 - %incdec.ptr1.i.i.i.i.i40 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__result.addr.08.i.i.i.i.i, i64 1 - %dec.i.i.i.i.i41 = add nsw i64 %__n.09.i.i.i.i.i, -1 - %cmp.i.i.i.i.i42 = icmp ugt i64 %__n.09.i.i.i.i.i, 1 - br i1 %cmp.i.i.i.i.i42, label %for.body.i.i.i.i.i37, label %if.end109, !llvm.loop !1635 - -_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit: ; preds = %if.then9 - %incdec.ptr.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.coerce, i64 %sub.ptr.div.i - %cmp.i.not8.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %__last.coerce + br i1 %cmp6.i.i.i.i.i, label %for.body.i.i.i.i.i36, label %if.end109 + +for.body.i.i.i.i.i36: ; preds = %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit, %for.body.i.i.i.i.i36 + %__n.09.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i40, %for.body.i.i.i.i.i36 ], [ %sub.ptr.div.i.i.i, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] + %__result.addr.08.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i39, %for.body.i.i.i.i.i36 ], [ %__position.coerce, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] + %__first.addr.07.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i38, %for.body.i.i.i.i.i36 ], [ %__first.coerce, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] + %call.i.i.i.i.i37 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__result.addr.08.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.07.i.i.i.i.i) + %incdec.ptr.i.i.i.i.i38 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.07.i.i.i.i.i, i64 1 + %incdec.ptr1.i.i.i.i.i39 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__result.addr.08.i.i.i.i.i, i64 1 + %dec.i.i.i.i.i40 = add nsw i64 %__n.09.i.i.i.i.i, -1 + %cmp.i.i.i.i.i41 = icmp ugt i64 %__n.09.i.i.i.i.i, 1 + br i1 %cmp.i.i.i.i.i41, label %for.body.i.i.i.i.i36, label %if.end109, !llvm.loop !1635 + +if.else5.i.i: ; preds = %if.then9 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %__first.coerce, i64 %sub.ptr.sub.i + %cmp.i.not8.i.i.i.i = icmp eq ptr %add.ptr.i.i.i, %__last.coerce br i1 %cmp.i.not8.i.i.i.i, label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit, label %for.body.i.i.i.i -for.body.i.i.i.i: ; preds = %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit, %for.inc.i.i.i.i - %__cur.010.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.inc.i.i.i.i ], [ %1, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit ] - %__first.sroa.0.09.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i44, %for.inc.i.i.i.i ], [ %incdec.ptr.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit ] +for.body.i.i.i.i: ; preds = %if.else5.i.i, %for.inc.i.i.i.i + %__cur.010.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.inc.i.i.i.i ], [ %1, %if.else5.i.i ] + %__first.sroa.0.09.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i43, %for.inc.i.i.i.i ], [ %add.ptr.i.i.i, %if.else5.i.i ] invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.010.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.09.i.i.i.i) to label %for.inc.i.i.i.i unwind label %lpad.i.i.i.i for.inc.i.i.i.i: ; preds = %for.body.i.i.i.i - %incdec.ptr.i.i.i.i.i44 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.09.i.i.i.i, i64 1 + %incdec.ptr.i.i.i.i.i43 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.09.i.i.i.i, i64 1 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.010.i.i.i.i, i64 1 - %cmp.i.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i44, %__last.coerce + %cmp.i.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i43, %__last.coerce br i1 %cmp.i.not.i.i.i.i, label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit, label %for.body.i.i.i.i, !llvm.loop !1636 lpad.i.i.i.i: ; preds = %for.body.i.i.i.i @@ -55481,10 +55483,10 @@ lpad.i.i.i.i: ; preds = %for.body.i.i.i.i br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont5.i.i.i.i, label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i, %for.body.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i43, %for.body.i.i.i.i.i.i ], [ %1, %lpad.i.i.i.i ] + %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i42, %for.body.i.i.i.i.i.i ], [ %1, %lpad.i.i.i.i ] tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i) #28 - %incdec.ptr.i.i.i.i.i.i43 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 - %cmp.not.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i43, %__cur.010.i.i.i.i + %incdec.ptr.i.i.i.i.i.i42 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 + %cmp.not.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i42, %__cur.010.i.i.i.i br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont5.i.i.i.i, label %for.body.i.i.i.i.i.i, !llvm.loop !8 invoke.cont5.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i, %lpad.i.i.i.i @@ -55515,44 +55517,45 @@ _ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_ %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit - %8 = phi ptr [ %.pre, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit ], [ %1, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit ] +_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit, %if.else5.i.i + %8 = phi ptr [ %.pre, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit ], [ %1, %if.else5.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i.i, %sub.ptr.div.i %add.ptr50 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %8, i64 %sub store ptr %add.ptr50, ptr %_M_finish, align 8 - %cmp.i.i.not7.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %cmp.i.i.not7.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53, label %for.body.i.i.i.i.i46 - -for.body.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit, %for.body.i.i.i.i.i46 - %__cur.09.i.i.i.i.i47 = phi ptr [ %incdec.ptr.i.i.i.i.i50, %for.body.i.i.i.i.i46 ], [ %add.ptr50, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] - %__first.sroa.0.08.i.i.i.i.i48 = phi ptr [ %incdec.ptr.i.i.i.i.i.i49, %for.body.i.i.i.i.i46 ], [ %__position.coerce, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i47, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i48) #28 - %incdec.ptr.i.i.i.i.i.i49 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i48, i64 1 - %incdec.ptr.i.i.i.i.i50 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i47, i64 1 - %cmp.i.i.not.i.i.i.i.i51 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i49, %1 - br i1 %cmp.i.i.not.i.i.i.i.i51, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53.loopexit, label %for.body.i.i.i.i.i46, !llvm.loop !1634 - -_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53.loopexit: ; preds = %for.body.i.i.i.i.i46 - %.pre137 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53 - -_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53: ; preds = %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53.loopexit, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit - %9 = phi ptr [ %.pre137, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53.loopexit ], [ %add.ptr50, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] - %add.ptr58 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %9, i64 %sub.ptr.div.i + %cmp.i.i.not7.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %cmp.i.i.not7.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52, label %for.body.i.i.i.i.i45 + +for.body.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit, %for.body.i.i.i.i.i45 + %__cur.09.i.i.i.i.i46 = phi ptr [ %incdec.ptr.i.i.i.i.i49, %for.body.i.i.i.i.i45 ], [ %add.ptr50, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] + %__first.sroa.0.08.i.i.i.i.i47 = phi ptr [ %incdec.ptr.i.i.i.i.i.i48, %for.body.i.i.i.i.i45 ], [ %__position.coerce, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i46, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i47) #28 + %incdec.ptr.i.i.i.i.i.i48 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i47, i64 1 + %incdec.ptr.i.i.i.i.i49 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i46, i64 1 + %cmp.i.i.not.i.i.i.i.i50 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i48, %1 + br i1 %cmp.i.i.not.i.i.i.i.i50, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52.loopexit, label %for.body.i.i.i.i.i45, !llvm.loop !1634 + +_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52.loopexit: ; preds = %for.body.i.i.i.i.i45 + %.pre135 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52 + +_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52: ; preds = %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52.loopexit, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit + %9 = phi ptr [ %.pre135, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52.loopexit ], [ %add.ptr50, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] + %add.ptr58 = getelementptr inbounds i8, ptr %9, i64 %sub.ptr.sub.i store ptr %add.ptr58, ptr %_M_finish, align 8 - %cmp6.i.i.i.i.i58 = icmp sgt i64 %sub.ptr.div.i, 0 - br i1 %cmp6.i.i.i.i.i58, label %for.body.i.i.i.i.i65, label %if.end109 - -for.body.i.i.i.i.i65: ; preds = %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53, %for.body.i.i.i.i.i65 - %__n.09.i.i.i.i.i66 = phi i64 [ %dec.i.i.i.i.i72, %for.body.i.i.i.i.i65 ], [ %sub.ptr.div.i, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53 ] - %__result.addr.08.i.i.i.i.i67 = phi ptr [ %incdec.ptr1.i.i.i.i.i71, %for.body.i.i.i.i.i65 ], [ %__position.coerce, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53 ] - %__first.addr.07.i.i.i.i.i68 = phi ptr [ %incdec.ptr.i.i.i.i.i70, %for.body.i.i.i.i.i65 ], [ %__first.coerce, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53 ] - %call.i.i.i.i.i69 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__result.addr.08.i.i.i.i.i67, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.07.i.i.i.i.i68) - %incdec.ptr.i.i.i.i.i70 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.07.i.i.i.i.i68, i64 1 - %incdec.ptr1.i.i.i.i.i71 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__result.addr.08.i.i.i.i.i67, i64 1 - %dec.i.i.i.i.i72 = add nsw i64 %__n.09.i.i.i.i.i66, -1 - %cmp.i.i.i.i.i73 = icmp ugt i64 %__n.09.i.i.i.i.i66, 1 - br i1 %cmp.i.i.i.i.i73, label %for.body.i.i.i.i.i65, label %if.end109, !llvm.loop !1635 + %sub.ptr.div.i.i.i.i.i56 = ashr exact i64 %sub.ptr.sub.i, 5 + %cmp6.i.i.i.i.i57 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i56, 0 + br i1 %cmp6.i.i.i.i.i57, label %for.body.i.i.i.i.i63, label %if.end109 + +for.body.i.i.i.i.i63: ; preds = %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52, %for.body.i.i.i.i.i63 + %__n.09.i.i.i.i.i64 = phi i64 [ %dec.i.i.i.i.i70, %for.body.i.i.i.i.i63 ], [ %sub.ptr.div.i.i.i.i.i56, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52 ] + %__result.addr.08.i.i.i.i.i65 = phi ptr [ %incdec.ptr1.i.i.i.i.i69, %for.body.i.i.i.i.i63 ], [ %__position.coerce, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52 ] + %__first.addr.07.i.i.i.i.i66 = phi ptr [ %incdec.ptr.i.i.i.i.i68, %for.body.i.i.i.i.i63 ], [ %__first.coerce, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52 ] + %call.i.i.i.i.i67 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__result.addr.08.i.i.i.i.i65, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.07.i.i.i.i.i66) + %incdec.ptr.i.i.i.i.i68 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.07.i.i.i.i.i66, i64 1 + %incdec.ptr1.i.i.i.i.i69 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__result.addr.08.i.i.i.i.i65, i64 1 + %dec.i.i.i.i.i70 = add nsw i64 %__n.09.i.i.i.i.i64, -1 + %cmp.i.i.i.i.i71 = icmp ugt i64 %__n.09.i.i.i.i.i64, 1 + br i1 %cmp.i.i.i.i.i71, label %for.body.i.i.i.i.i63, label %if.end109, !llvm.loop !1635 if.else68: ; preds = %if.then %10 = load ptr, ptr %this, align 8 @@ -55560,8 +55563,8 @@ if.else68: ; preds = %if.then %sub.ptr.sub.i.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 %sub.i = sub nsw i64 288230376151711743, %sub.ptr.div.i.i - %cmp.i75 = icmp ult i64 %sub.i, %sub.ptr.div.i.i.i - br i1 %cmp.i75, label %if.then.i, label %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit + %cmp.i73 = icmp ult i64 %sub.i, %sub.ptr.div.i.i.i + br i1 %cmp.i73, label %if.then.i, label %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit if.then.i: ; preds = %if.else68 tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.60) #30 @@ -55583,132 +55586,132 @@ _ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE br label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i - %cond.i76 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i ], [ null, %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit ] - %cmp.i.i.not7.i.i.i.i.i77 = icmp eq ptr %10, %__position.coerce - br i1 %cmp.i.i.not7.i.i.i.i.i77, label %for.body.i.i.i.i86.preheader, label %for.body.i.i.i.i.i78 - -for.body.i.i.i.i.i78: ; preds = %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit, %for.body.i.i.i.i.i78 - %__cur.09.i.i.i.i.i79 = phi ptr [ %incdec.ptr.i.i.i.i.i82, %for.body.i.i.i.i.i78 ], [ %cond.i76, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] - %__first.sroa.0.08.i.i.i.i.i80 = phi ptr [ %incdec.ptr.i.i.i.i.i.i81, %for.body.i.i.i.i.i78 ], [ %10, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i79, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i80) #28 - %incdec.ptr.i.i.i.i.i.i81 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i80, i64 1 - %incdec.ptr.i.i.i.i.i82 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i79, i64 1 - %cmp.i.i.not.i.i.i.i.i83 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i81, %__position.coerce - br i1 %cmp.i.i.not.i.i.i.i.i83, label %for.body.i.i.i.i86.preheader, label %for.body.i.i.i.i.i78, !llvm.loop !1634 - -for.body.i.i.i.i86.preheader: ; preds = %for.body.i.i.i.i.i78, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit - %__cur.0.lcssa.i.i.i.i.i84 = phi ptr [ %cond.i76, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ], [ %incdec.ptr.i.i.i.i.i82, %for.body.i.i.i.i.i78 ] - br label %for.body.i.i.i.i86 - -for.body.i.i.i.i86: ; preds = %for.body.i.i.i.i86.preheader, %for.inc.i.i.i.i100 - %__cur.010.i.i.i.i87 = phi ptr [ %incdec.ptr.i.i.i.i102, %for.inc.i.i.i.i100 ], [ %__cur.0.lcssa.i.i.i.i.i84, %for.body.i.i.i.i86.preheader ] - %__first.sroa.0.09.i.i.i.i88 = phi ptr [ %incdec.ptr.i.i.i.i.i101, %for.inc.i.i.i.i100 ], [ %__first.coerce, %for.body.i.i.i.i86.preheader ] - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.010.i.i.i.i87, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.09.i.i.i.i88) - to label %for.inc.i.i.i.i100 unwind label %lpad.i.i.i.i89 - -for.inc.i.i.i.i100: ; preds = %for.body.i.i.i.i86 - %incdec.ptr.i.i.i.i.i101 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.09.i.i.i.i88, i64 1 - %incdec.ptr.i.i.i.i102 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.010.i.i.i.i87, i64 1 - %cmp.i.not.i.i.i.i103 = icmp eq ptr %incdec.ptr.i.i.i.i.i101, %__last.coerce - br i1 %cmp.i.not.i.i.i.i103, label %invoke.cont83, label %for.body.i.i.i.i86, !llvm.loop !1636 - -lpad.i.i.i.i89: ; preds = %for.body.i.i.i.i86 + %cond.i74 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i ], [ null, %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit ] + %cmp.i.i.not7.i.i.i.i.i75 = icmp eq ptr %10, %__position.coerce + br i1 %cmp.i.i.not7.i.i.i.i.i75, label %for.body.i.i.i.i84.preheader, label %for.body.i.i.i.i.i76 + +for.body.i.i.i.i.i76: ; preds = %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit, %for.body.i.i.i.i.i76 + %__cur.09.i.i.i.i.i77 = phi ptr [ %incdec.ptr.i.i.i.i.i80, %for.body.i.i.i.i.i76 ], [ %cond.i74, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] + %__first.sroa.0.08.i.i.i.i.i78 = phi ptr [ %incdec.ptr.i.i.i.i.i.i79, %for.body.i.i.i.i.i76 ], [ %10, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i77, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i78) #28 + %incdec.ptr.i.i.i.i.i.i79 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i78, i64 1 + %incdec.ptr.i.i.i.i.i80 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i77, i64 1 + %cmp.i.i.not.i.i.i.i.i81 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i79, %__position.coerce + br i1 %cmp.i.i.not.i.i.i.i.i81, label %for.body.i.i.i.i84.preheader, label %for.body.i.i.i.i.i76, !llvm.loop !1634 + +for.body.i.i.i.i84.preheader: ; preds = %for.body.i.i.i.i.i76, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit + %__cur.0.lcssa.i.i.i.i.i82 = phi ptr [ %cond.i74, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ], [ %incdec.ptr.i.i.i.i.i80, %for.body.i.i.i.i.i76 ] + br label %for.body.i.i.i.i84 + +for.body.i.i.i.i84: ; preds = %for.body.i.i.i.i84.preheader, %for.inc.i.i.i.i98 + %__cur.010.i.i.i.i85 = phi ptr [ %incdec.ptr.i.i.i.i100, %for.inc.i.i.i.i98 ], [ %__cur.0.lcssa.i.i.i.i.i82, %for.body.i.i.i.i84.preheader ] + %__first.sroa.0.09.i.i.i.i86 = phi ptr [ %incdec.ptr.i.i.i.i.i99, %for.inc.i.i.i.i98 ], [ %__first.coerce, %for.body.i.i.i.i84.preheader ] + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.010.i.i.i.i85, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.09.i.i.i.i86) + to label %for.inc.i.i.i.i98 unwind label %lpad.i.i.i.i87 + +for.inc.i.i.i.i98: ; preds = %for.body.i.i.i.i84 + %incdec.ptr.i.i.i.i.i99 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.09.i.i.i.i86, i64 1 + %incdec.ptr.i.i.i.i100 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.010.i.i.i.i85, i64 1 + %cmp.i.not.i.i.i.i101 = icmp eq ptr %incdec.ptr.i.i.i.i.i99, %__last.coerce + br i1 %cmp.i.not.i.i.i.i101, label %invoke.cont83, label %for.body.i.i.i.i84, !llvm.loop !1636 + +lpad.i.i.i.i87: ; preds = %for.body.i.i.i.i84 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 %13 = tail call ptr @__cxa_begin_catch(ptr %12) #28 - %cmp.not3.i.i.i.i.i.i90 = icmp eq ptr %__cur.010.i.i.i.i87, %__cur.0.lcssa.i.i.i.i.i84 - br i1 %cmp.not3.i.i.i.i.i.i90, label %invoke.cont5.i.i.i.i95, label %for.body.i.i.i.i.i.i91 + %cmp.not3.i.i.i.i.i.i88 = icmp eq ptr %__cur.010.i.i.i.i85, %__cur.0.lcssa.i.i.i.i.i82 + br i1 %cmp.not3.i.i.i.i.i.i88, label %invoke.cont5.i.i.i.i93, label %for.body.i.i.i.i.i.i89 -for.body.i.i.i.i.i.i91: ; preds = %lpad.i.i.i.i89, %for.body.i.i.i.i.i.i91 - %__first.addr.04.i.i.i.i.i.i92 = phi ptr [ %incdec.ptr.i.i.i.i.i.i93, %for.body.i.i.i.i.i.i91 ], [ %__cur.0.lcssa.i.i.i.i.i84, %lpad.i.i.i.i89 ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i92) #28 - %incdec.ptr.i.i.i.i.i.i93 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i92, i64 1 - %cmp.not.i.i.i.i.i.i94 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i93, %__cur.010.i.i.i.i87 - br i1 %cmp.not.i.i.i.i.i.i94, label %invoke.cont5.i.i.i.i95, label %for.body.i.i.i.i.i.i91, !llvm.loop !8 +for.body.i.i.i.i.i.i89: ; preds = %lpad.i.i.i.i87, %for.body.i.i.i.i.i.i89 + %__first.addr.04.i.i.i.i.i.i90 = phi ptr [ %incdec.ptr.i.i.i.i.i.i91, %for.body.i.i.i.i.i.i89 ], [ %__cur.0.lcssa.i.i.i.i.i82, %lpad.i.i.i.i87 ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i90) #28 + %incdec.ptr.i.i.i.i.i.i91 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i90, i64 1 + %cmp.not.i.i.i.i.i.i92 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i91, %__cur.010.i.i.i.i85 + br i1 %cmp.not.i.i.i.i.i.i92, label %invoke.cont5.i.i.i.i93, label %for.body.i.i.i.i.i.i89, !llvm.loop !8 -invoke.cont5.i.i.i.i95: ; preds = %for.body.i.i.i.i.i.i91, %lpad.i.i.i.i89 +invoke.cont5.i.i.i.i93: ; preds = %for.body.i.i.i.i.i.i89, %lpad.i.i.i.i87 invoke void @__cxa_rethrow() #30 - to label %unreachable.i.i.i.i99 unwind label %lpad4.i.i.i.i96 + to label %unreachable.i.i.i.i97 unwind label %lpad4.i.i.i.i94 -lpad4.i.i.i.i96: ; preds = %invoke.cont5.i.i.i.i95 +lpad4.i.i.i.i94: ; preds = %invoke.cont5.i.i.i.i93 %14 = landingpad { ptr, i32 } catch ptr null invoke void @__cxa_end_catch() - to label %lpad.body unwind label %terminate.lpad.i.i.i.i97 + to label %lpad.body unwind label %terminate.lpad.i.i.i.i95 -terminate.lpad.i.i.i.i97: ; preds = %lpad4.i.i.i.i96 +terminate.lpad.i.i.i.i95: ; preds = %lpad4.i.i.i.i94 %15 = landingpad { ptr, i32 } catch ptr null %16 = extractvalue { ptr, i32 } %15, 0 tail call void @__clang_call_terminate(ptr %16) #27 unreachable -unreachable.i.i.i.i99: ; preds = %invoke.cont5.i.i.i.i95 +unreachable.i.i.i.i97: ; preds = %invoke.cont5.i.i.i.i93 unreachable -invoke.cont83: ; preds = %for.inc.i.i.i.i100 - %cmp.i.i.not7.i.i.i.i.i106 = icmp eq ptr %1, %__position.coerce - br i1 %cmp.i.i.not7.i.i.i.i.i106, label %invoke.cont87, label %for.body.i.i.i.i.i107 - -for.body.i.i.i.i.i107: ; preds = %invoke.cont83, %for.body.i.i.i.i.i107 - %__cur.09.i.i.i.i.i108 = phi ptr [ %incdec.ptr.i.i.i.i.i111, %for.body.i.i.i.i.i107 ], [ %incdec.ptr.i.i.i.i102, %invoke.cont83 ] - %__first.sroa.0.08.i.i.i.i.i109 = phi ptr [ %incdec.ptr.i.i.i.i.i.i110, %for.body.i.i.i.i.i107 ], [ %__position.coerce, %invoke.cont83 ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i108, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i109) #28 - %incdec.ptr.i.i.i.i.i.i110 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i109, i64 1 - %incdec.ptr.i.i.i.i.i111 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i108, i64 1 - %cmp.i.i.not.i.i.i.i.i112 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i110, %1 - br i1 %cmp.i.i.not.i.i.i.i.i112, label %invoke.cont87, label %for.body.i.i.i.i.i107, !llvm.loop !1634 - -invoke.cont87: ; preds = %for.body.i.i.i.i.i107, %invoke.cont83 - %__cur.0.lcssa.i.i.i.i.i113 = phi ptr [ %incdec.ptr.i.i.i.i102, %invoke.cont83 ], [ %incdec.ptr.i.i.i.i.i111, %for.body.i.i.i.i.i107 ] +invoke.cont83: ; preds = %for.inc.i.i.i.i98 + %cmp.i.i.not7.i.i.i.i.i104 = icmp eq ptr %1, %__position.coerce + br i1 %cmp.i.i.not7.i.i.i.i.i104, label %invoke.cont87, label %for.body.i.i.i.i.i105 + +for.body.i.i.i.i.i105: ; preds = %invoke.cont83, %for.body.i.i.i.i.i105 + %__cur.09.i.i.i.i.i106 = phi ptr [ %incdec.ptr.i.i.i.i.i109, %for.body.i.i.i.i.i105 ], [ %incdec.ptr.i.i.i.i100, %invoke.cont83 ] + %__first.sroa.0.08.i.i.i.i.i107 = phi ptr [ %incdec.ptr.i.i.i.i.i.i108, %for.body.i.i.i.i.i105 ], [ %__position.coerce, %invoke.cont83 ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i106, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i107) #28 + %incdec.ptr.i.i.i.i.i.i108 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i107, i64 1 + %incdec.ptr.i.i.i.i.i109 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i106, i64 1 + %cmp.i.i.not.i.i.i.i.i110 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i108, %1 + br i1 %cmp.i.i.not.i.i.i.i.i110, label %invoke.cont87, label %for.body.i.i.i.i.i105, !llvm.loop !1634 + +invoke.cont87: ; preds = %for.body.i.i.i.i.i105, %invoke.cont83 + %__cur.0.lcssa.i.i.i.i.i111 = phi ptr [ %incdec.ptr.i.i.i.i100, %invoke.cont83 ], [ %incdec.ptr.i.i.i.i.i109, %for.body.i.i.i.i.i105 ] %cmp.not3.i.i.i = icmp eq ptr %10, %1 br i1 %cmp.not3.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit, label %for.body.i.i.i for.body.i.i.i: ; preds = %invoke.cont87, %for.body.i.i.i - %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i115, %for.body.i.i.i ], [ %10, %invoke.cont87 ] + %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i113, %for.body.i.i.i ], [ %10, %invoke.cont87 ] tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i) #28 - %incdec.ptr.i.i.i115 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i, i64 1 - %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i115, %1 + %incdec.ptr.i.i.i113 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i, i64 1 + %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i113, %1 br i1 %cmp.not.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit, label %for.body.i.i.i, !llvm.loop !8 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit: ; preds = %for.body.i.i.i, %invoke.cont87 %tobool.not.i = icmp eq ptr %10, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, label %if.then.i116 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, label %if.then.i114 -if.then.i116: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit +if.then.i114: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit tail call void @_ZdlPv(ptr noundef nonnull %10) #31 br label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit -_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit, %if.then.i116 - store ptr %cond.i76, ptr %this, align 8 - store ptr %__cur.0.lcssa.i.i.i.i.i113, ptr %_M_finish, align 8 - %add.ptr105 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %cond.i76, i64 %cond.i +_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit, %if.then.i114 + store ptr %cond.i74, ptr %this, align 8 + store ptr %__cur.0.lcssa.i.i.i.i.i111, ptr %_M_finish, align 8 + %add.ptr105 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %cond.i74, i64 %cond.i store ptr %add.ptr105, ptr %_M_end_of_storage, align 8 br label %if.end109 -lpad.body: ; preds = %lpad4.i.i.i.i96 +lpad.body: ; preds = %lpad4.i.i.i.i94 %17 = extractvalue { ptr, i32 } %14, 0 %18 = tail call ptr @__cxa_begin_catch(ptr %17) #28 - %cmp.not3.i.i.i117 = icmp eq ptr %cond.i76, %__cur.0.lcssa.i.i.i.i.i84 - br i1 %cmp.not3.i.i.i117, label %invoke.cont91, label %for.body.i.i.i118 - -for.body.i.i.i118: ; preds = %lpad.body, %for.body.i.i.i118 - %__first.addr.04.i.i.i119 = phi ptr [ %incdec.ptr.i.i.i120, %for.body.i.i.i118 ], [ %cond.i76, %lpad.body ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i119) #28 - %incdec.ptr.i.i.i120 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i119, i64 1 - %cmp.not.i.i.i121 = icmp eq ptr %incdec.ptr.i.i.i120, %__cur.0.lcssa.i.i.i.i.i84 - br i1 %cmp.not.i.i.i121, label %invoke.cont91, label %for.body.i.i.i118, !llvm.loop !8 - -invoke.cont91: ; preds = %for.body.i.i.i118, %lpad.body - %tobool.not.i123 = icmp eq ptr %cond.i76, null - br i1 %tobool.not.i123, label %invoke.cont92, label %if.then.i124 - -if.then.i124: ; preds = %invoke.cont91 - tail call void @_ZdlPv(ptr noundef nonnull %cond.i76) #31 + %cmp.not3.i.i.i115 = icmp eq ptr %cond.i74, %__cur.0.lcssa.i.i.i.i.i82 + br i1 %cmp.not3.i.i.i115, label %invoke.cont91, label %for.body.i.i.i116 + +for.body.i.i.i116: ; preds = %lpad.body, %for.body.i.i.i116 + %__first.addr.04.i.i.i117 = phi ptr [ %incdec.ptr.i.i.i118, %for.body.i.i.i116 ], [ %cond.i74, %lpad.body ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i117) #28 + %incdec.ptr.i.i.i118 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i117, i64 1 + %cmp.not.i.i.i119 = icmp eq ptr %incdec.ptr.i.i.i118, %__cur.0.lcssa.i.i.i.i.i82 + br i1 %cmp.not.i.i.i119, label %invoke.cont91, label %for.body.i.i.i116, !llvm.loop !8 + +invoke.cont91: ; preds = %for.body.i.i.i116, %lpad.body + %tobool.not.i121 = icmp eq ptr %cond.i74, null + br i1 %tobool.not.i121, label %invoke.cont92, label %if.then.i122 + +if.then.i122: ; preds = %invoke.cont91 + tail call void @_ZdlPv(ptr noundef nonnull %cond.i74) #31 br label %invoke.cont92 -invoke.cont92: ; preds = %if.then.i124, %invoke.cont91 +invoke.cont92: ; preds = %if.then.i122, %invoke.cont91 invoke void @__cxa_rethrow() #30 to label %unreachable unwind label %lpad90 @@ -55718,7 +55721,7 @@ lpad90: ; preds = %invoke.cont92 invoke void @__cxa_end_catch() to label %common.resume unwind label %terminate.lpad -if.end109: ; preds = %for.body.i.i.i.i.i65, %for.body.i.i.i.i.i37, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, %entry +if.end109: ; preds = %for.body.i.i.i.i.i63, %for.body.i.i.i.i.i36, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, %entry ret void terminate.lpad: ; preds = %lpad90 @@ -57035,23 +57038,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0973, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0974, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.506, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.506, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.506, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -57059,7 +57063,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, %if.then.i.i - %21 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %19, %if.then.i.i ] + %21 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3setIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %19, %if.then.i.i ] %inc = add i64 %i.0974, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %22 = load ptr, ptr %21, align 8, !noalias !1655 @@ -64610,23 +64614,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0973, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0974, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.570, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.570, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.570, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -64634,7 +64639,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, %if.then.i.i - %21 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %19, %if.then.i.i ] + %21 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multisetIiSt4lessIiESaIiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %19, %if.then.i.i ] %inc = add i64 %i.0974, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %22 = load ptr, ptr %21, align 8, !noalias !1902 @@ -72944,7 +72949,7 @@ lpad.i.i: ; preds = %if.end invoke.cont21: ; preds = %if.end store ptr %call5.i.i.i.i1.i.i, ptr %arrayinit.element14, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 3 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 12 %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 2, i32 0, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 store i32 0, ptr %call5.i.i.i.i1.i.i, align 4 @@ -72966,7 +72971,7 @@ lpad.i.i44: ; preds = %invoke.cont21 invoke.cont31: ; preds = %invoke.cont21 store ptr %call5.i.i.i.i1.i.i43, ptr %arrayinit.element22, align 8 - %add.ptr.i.i.i48 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i43, i64 3 + %add.ptr.i.i.i48 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i43, i64 12 %_M_end_of_storage.i.i.i49 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i48, ptr %_M_end_of_storage.i.i.i49, align 8 store i32 0, ptr %call5.i.i.i.i1.i.i43, align 4 @@ -72974,196 +72979,196 @@ invoke.cont31: ; preds = %invoke.cont21 store i32 42, ptr %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i43.sroa_idx, align 4 %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i43.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i43, i64 8 store i32 23, ptr %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i43.sroa_idx, align 4 - %_M_finish.i.i.i50 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i48, ptr %_M_finish.i.i.i50, align 8 + %_M_finish.i.i.i51 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i48, ptr %_M_finish.i.i.i51, align 8 %arrayinit.element32 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element32, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i55 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont41 unwind label %lpad.i.i56 + %call5.i.i.i.i1.i.i56 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont41 unwind label %lpad.i.i57 -lpad.i.i56: ; preds = %invoke.cont31 +lpad.i.i57: ; preds = %invoke.cont31 %2 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont41: ; preds = %invoke.cont31 - store ptr %call5.i.i.i.i1.i.i55, ptr %arrayinit.element32, align 8 - %add.ptr.i.i.i60 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i55, i64 3 - %_M_end_of_storage.i.i.i61 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i60, ptr %_M_end_of_storage.i.i.i61, align 8 - store i32 42, ptr %call5.i.i.i.i1.i.i55, align 4 - %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i55.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i55, i64 4 - store i32 0, ptr %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i55.sroa_idx, align 4 - %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i55.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i55, i64 8 - store i32 23, ptr %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i55.sroa_idx, align 4 - %_M_finish.i.i.i62 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i60, ptr %_M_finish.i.i.i62, align 8 + store ptr %call5.i.i.i.i1.i.i56, ptr %arrayinit.element32, align 8 + %add.ptr.i.i.i61 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i56, i64 12 + %_M_end_of_storage.i.i.i62 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i61, ptr %_M_end_of_storage.i.i.i62, align 8 + store i32 42, ptr %call5.i.i.i.i1.i.i56, align 4 + %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i56.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i56, i64 4 + store i32 0, ptr %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i56.sroa_idx, align 4 + %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i56.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i56, i64 8 + store i32 23, ptr %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i56.sroa_idx, align 4 + %_M_finish.i.i.i64 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i61, ptr %_M_finish.i.i.i64, align 8 %arrayinit.element42 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 5 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element42, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i67 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 - to label %invoke.cont49 unwind label %lpad.i.i68 + %call5.i.i.i.i1.i.i69 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 + to label %invoke.cont49 unwind label %lpad.i.i70 -lpad.i.i68: ; preds = %invoke.cont41 +lpad.i.i70: ; preds = %invoke.cont41 %3 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont49: ; preds = %invoke.cont41 - store ptr %call5.i.i.i.i1.i.i67, ptr %arrayinit.element42, align 8 - %add.ptr.i.i.i72 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i67, i64 1 - %_M_end_of_storage.i.i.i73 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i72, ptr %_M_end_of_storage.i.i.i73, align 8 - store i32 0, ptr %call5.i.i.i.i1.i.i67, align 4 - %_M_finish.i.i.i74 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i72, ptr %_M_finish.i.i.i74, align 8 + store ptr %call5.i.i.i.i1.i.i69, ptr %arrayinit.element42, align 8 + %add.ptr.i.i.i74 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i69, i64 4 + %_M_end_of_storage.i.i.i75 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i74, ptr %_M_end_of_storage.i.i.i75, align 8 + store i32 0, ptr %call5.i.i.i.i1.i.i69, align 4 + %_M_finish.i.i.i77 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i74, ptr %_M_finish.i.i.i77, align 8 %arrayinit.element50 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 6 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element50, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i79 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont58 unwind label %lpad.i.i80 + %call5.i.i.i.i1.i.i82 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont58 unwind label %lpad.i.i83 -lpad.i.i80: ; preds = %invoke.cont49 +lpad.i.i83: ; preds = %invoke.cont49 %4 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont58: ; preds = %invoke.cont49 - store ptr %call5.i.i.i.i1.i.i79, ptr %arrayinit.element50, align 8 - %add.ptr.i.i.i84 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i79, i64 2 - %_M_end_of_storage.i.i.i85 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i84, ptr %_M_end_of_storage.i.i.i85, align 8 - store i32 0, ptr %call5.i.i.i.i1.i.i79, align 4 - %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i79.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i79, i64 4 - store i32 0, ptr %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i79.sroa_idx, align 4 - %_M_finish.i.i.i86 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i84, ptr %_M_finish.i.i.i86, align 8 + store ptr %call5.i.i.i.i1.i.i82, ptr %arrayinit.element50, align 8 + %add.ptr.i.i.i87 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i82, i64 8 + %_M_end_of_storage.i.i.i88 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i87, ptr %_M_end_of_storage.i.i.i88, align 8 + store i32 0, ptr %call5.i.i.i.i1.i.i82, align 4 + %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i82.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i82, i64 4 + store i32 0, ptr %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i82.sroa_idx, align 4 + %_M_finish.i.i.i90 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i87, ptr %_M_finish.i.i.i90, align 8 %arrayinit.element59 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element59, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i91 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont68 unwind label %lpad.i.i92 + %call5.i.i.i.i1.i.i95 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont68 unwind label %lpad.i.i96 -lpad.i.i92: ; preds = %invoke.cont58 +lpad.i.i96: ; preds = %invoke.cont58 %5 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont68: ; preds = %invoke.cont58 - store ptr %call5.i.i.i.i1.i.i91, ptr %arrayinit.element59, align 8 - %add.ptr.i.i.i96 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i91, i64 3 - %_M_end_of_storage.i.i.i97 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i96, ptr %_M_end_of_storage.i.i.i97, align 8 - store i32 0, ptr %call5.i.i.i.i1.i.i91, align 4 - %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i91.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i91, i64 4 - store i32 0, ptr %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i91.sroa_idx, align 4 - %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i91.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i91, i64 8 - store i32 0, ptr %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i91.sroa_idx, align 4 - %_M_finish.i.i.i98 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i96, ptr %_M_finish.i.i.i98, align 8 + store ptr %call5.i.i.i.i1.i.i95, ptr %arrayinit.element59, align 8 + %add.ptr.i.i.i100 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i95, i64 12 + %_M_end_of_storage.i.i.i101 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i100, ptr %_M_end_of_storage.i.i.i101, align 8 + store i32 0, ptr %call5.i.i.i.i1.i.i95, align 4 + %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i95.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i95, i64 4 + store i32 0, ptr %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i95.sroa_idx, align 4 + %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i95.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i95, i64 8 + store i32 0, ptr %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i95.sroa_idx, align 4 + %_M_finish.i.i.i103 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i100, ptr %_M_finish.i.i.i103, align 8 %arrayinit.element69 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element69, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i103 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont78 unwind label %lpad.i.i104 + %call5.i.i.i.i1.i.i108 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont78 unwind label %lpad.i.i109 -lpad.i.i104: ; preds = %invoke.cont68 +lpad.i.i109: ; preds = %invoke.cont68 %6 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont78: ; preds = %invoke.cont68 - store ptr %call5.i.i.i.i1.i.i103, ptr %arrayinit.element69, align 8 - %add.ptr.i.i.i108 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i103, i64 3 - %_M_end_of_storage.i.i.i109 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i108, ptr %_M_end_of_storage.i.i.i109, align 8 - store i32 0, ptr %call5.i.i.i.i1.i.i103, align 4 - %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i103.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i103, i64 4 - store i32 0, ptr %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i103.sroa_idx, align 4 - %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i103.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i103, i64 8 - store i32 23, ptr %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i103.sroa_idx, align 4 - %_M_finish.i.i.i110 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i108, ptr %_M_finish.i.i.i110, align 8 + store ptr %call5.i.i.i.i1.i.i108, ptr %arrayinit.element69, align 8 + %add.ptr.i.i.i113 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i108, i64 12 + %_M_end_of_storage.i.i.i114 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i113, ptr %_M_end_of_storage.i.i.i114, align 8 + store i32 0, ptr %call5.i.i.i.i1.i.i108, align 4 + %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i108.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i108, i64 4 + store i32 0, ptr %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i108.sroa_idx, align 4 + %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i108.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i108, i64 8 + store i32 23, ptr %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i108.sroa_idx, align 4 + %_M_finish.i.i.i116 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i113, ptr %_M_finish.i.i.i116, align 8 %arrayinit.element79 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element79, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i115 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont88 unwind label %lpad.i.i116 + %call5.i.i.i.i1.i.i121 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont88 unwind label %lpad.i.i122 -lpad.i.i116: ; preds = %invoke.cont78 +lpad.i.i122: ; preds = %invoke.cont78 %7 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont88: ; preds = %invoke.cont78 - store ptr %call5.i.i.i.i1.i.i115, ptr %arrayinit.element79, align 8 - %add.ptr.i.i.i120 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i115, i64 3 - %_M_end_of_storage.i.i.i121 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i120, ptr %_M_end_of_storage.i.i.i121, align 8 - store i32 0, ptr %call5.i.i.i.i1.i.i115, align 4 - %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i115, i64 4 - store i32 23, ptr %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i115.sroa_idx, align 4 - %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i115, i64 8 - store i32 0, ptr %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i115.sroa_idx, align 4 - %_M_finish.i.i.i122 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i120, ptr %_M_finish.i.i.i122, align 8 + store ptr %call5.i.i.i.i1.i.i121, ptr %arrayinit.element79, align 8 + %add.ptr.i.i.i126 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i121, i64 12 + %_M_end_of_storage.i.i.i127 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i126, ptr %_M_end_of_storage.i.i.i127, align 8 + store i32 0, ptr %call5.i.i.i.i1.i.i121, align 4 + %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i121.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i121, i64 4 + store i32 23, ptr %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i121.sroa_idx, align 4 + %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i121.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i121, i64 8 + store i32 0, ptr %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i121.sroa_idx, align 4 + %_M_finish.i.i.i129 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i126, ptr %_M_finish.i.i.i129, align 8 %arrayinit.element89 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 10 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element89, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i127 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont98 unwind label %lpad.i.i128 + %call5.i.i.i.i1.i.i134 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont98 unwind label %lpad.i.i135 -lpad.i.i128: ; preds = %invoke.cont88 +lpad.i.i135: ; preds = %invoke.cont88 %8 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont98: ; preds = %invoke.cont88 - store ptr %call5.i.i.i.i1.i.i127, ptr %arrayinit.element89, align 8 - %add.ptr.i.i.i132 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i127, i64 3 - %_M_end_of_storage.i.i.i133 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i132, ptr %_M_end_of_storage.i.i.i133, align 8 - store i32 23, ptr %call5.i.i.i.i1.i.i127, align 4 - %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i127.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i127, i64 4 - store i32 0, ptr %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i127.sroa_idx, align 4 - %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i127.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i127, i64 8 - store i32 0, ptr %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i127.sroa_idx, align 4 - %_M_finish.i.i.i134 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i132, ptr %_M_finish.i.i.i134, align 8 + store ptr %call5.i.i.i.i1.i.i134, ptr %arrayinit.element89, align 8 + %add.ptr.i.i.i139 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i134, i64 12 + %_M_end_of_storage.i.i.i140 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i139, ptr %_M_end_of_storage.i.i.i140, align 8 + store i32 23, ptr %call5.i.i.i.i1.i.i134, align 4 + %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i134.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i134, i64 4 + store i32 0, ptr %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i134.sroa_idx, align 4 + %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i134.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i134, i64 8 + store i32 0, ptr %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i134.sroa_idx, align 4 + %_M_finish.i.i.i142 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i139, ptr %_M_finish.i.i.i142, align 8 %arrayinit.element99 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element99, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i139 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont107 unwind label %lpad.i.i140 + %call5.i.i.i.i1.i.i147 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont107 unwind label %lpad.i.i148 -lpad.i.i140: ; preds = %invoke.cont98 +lpad.i.i148: ; preds = %invoke.cont98 %9 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont107: ; preds = %invoke.cont98 - store ptr %call5.i.i.i.i1.i.i139, ptr %arrayinit.element99, align 8 - %add.ptr.i.i.i144 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i139, i64 2 - %_M_end_of_storage.i.i.i145 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i144, ptr %_M_end_of_storage.i.i.i145, align 8 - store i32 0, ptr %call5.i.i.i.i1.i.i139, align 4 - %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i139.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i139, i64 4 - store i32 23, ptr %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i139.sroa_idx, align 4 - %_M_finish.i.i.i146 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i144, ptr %_M_finish.i.i.i146, align 8 + store ptr %call5.i.i.i.i1.i.i147, ptr %arrayinit.element99, align 8 + %add.ptr.i.i.i152 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i147, i64 8 + %_M_end_of_storage.i.i.i153 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i152, ptr %_M_end_of_storage.i.i.i153, align 8 + store i32 0, ptr %call5.i.i.i.i1.i.i147, align 4 + %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i147.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i147, i64 4 + store i32 23, ptr %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i147.sroa_idx, align 4 + %_M_finish.i.i.i155 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i152, ptr %_M_finish.i.i.i155, align 8 %arrayinit.element108 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element108, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i151 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont116 unwind label %lpad.i.i152 + %call5.i.i.i.i1.i.i160 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont116 unwind label %lpad.i.i161 -lpad.i.i152: ; preds = %invoke.cont107 +lpad.i.i161: ; preds = %invoke.cont107 %10 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont116: ; preds = %invoke.cont107 - store ptr %call5.i.i.i.i1.i.i151, ptr %arrayinit.element108, align 8 - %add.ptr.i.i.i156 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i151, i64 2 - %_M_end_of_storage.i.i.i157 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i156, ptr %_M_end_of_storage.i.i.i157, align 8 - store i32 23, ptr %call5.i.i.i.i1.i.i151, align 4 - %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i151.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i151, i64 4 - store i32 42, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i151.sroa_idx, align 4 - %_M_finish.i.i.i158 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i156, ptr %_M_finish.i.i.i158, align 8 + store ptr %call5.i.i.i.i1.i.i160, ptr %arrayinit.element108, align 8 + %add.ptr.i.i.i165 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i160, i64 8 + %_M_end_of_storage.i.i.i166 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i165, ptr %_M_end_of_storage.i.i.i166, align 8 + store i32 23, ptr %call5.i.i.i.i1.i.i160, align 4 + %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i160.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i160, i64 4 + store i32 42, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i160.sroa_idx, align 4 + %_M_finish.i.i.i168 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i165, ptr %_M_finish.i.i.i168, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) %add.ptr.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp13, i64 13 invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, ptr noundef nonnull %ref.tmp13, ptr noundef nonnull %add.ptr.i.i) @@ -73187,8 +73192,8 @@ arraydestroy.body126: ; preds = %invoke.cont116, %_Z %arraydestroy.elementPast127 = phi ptr [ %arraydestroy.element128, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ], [ %add.ptr.i.i, %invoke.cont116 ] %arraydestroy.element128 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast127, i64 -1 %arraydestroy.element128.val = load ptr, ptr %arraydestroy.element128, align 8 - %tobool.not.i.i.i.i163 = icmp eq ptr %arraydestroy.element128.val, null - br i1 %tobool.not.i.i.i.i163, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, label %if.then.i.i.i.i + %tobool.not.i.i.i.i173 = icmp eq ptr %arraydestroy.element128.val, null + br i1 %tobool.not.i.i.i.i173, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %arraydestroy.body126 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element128.val) #31 @@ -73239,9 +73244,9 @@ for.body.i.i: ; preds = %arraydestroy.done13 %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %arraydestroy.done130 ] %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %exemplars.val, %arraydestroy.done130 ] %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i - br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i164 + br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i174 -if.then.i.i.i.i164: ; preds = %for.body.i.i +if.then.i.i.i.i174: ; preds = %for.body.i.i store ptr %__begin0.sroa.0.08.i.i, ptr %incdec.ptr.i.i.i9.i.i, align 8, !noalias !2165 %ref.tmp.sroa.3.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i9.i.i, i64 8 store i8 0, ptr %ref.tmp.sroa.3.0..sroa_idx.i.i, align 8, !noalias !2165 @@ -73308,10 +73313,10 @@ _ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_ %add.ptr19.i.i.i.i.i = getelementptr inbounds %"class.std::variant.607", ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i br label %for.inc.i.i -for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i164 - %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i164 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i164 ] - %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i164 ] +for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i174 + %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i174 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i174 ] + %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_M_realloc_insertIJS6_EEEvN9__gnu_cxx17__normal_iteratorIPS6_S8_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i174 ] %ref.tmp.sroa.6.0.i = getelementptr inbounds %"class.std::variant.607", ptr %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i, i64 1 %incdec.ptr.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %__begin0.sroa.0.08.i.i, i64 1 %cmp.i.not.i.i = icmp eq ptr %incdec.ptr.i.i.i, %exemplars.val35 @@ -73320,19 +73325,19 @@ for.inc.i.i: ; preds = %_ZNSt6vectorISt7var lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEEEE8allocateERS7_m.exit.i.i.i.i.i.i %lpad.loopexit3.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i170 + br label %lpad.i.i180 lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i170 + br label %lpad.i.i180 -lpad.i.i170: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i +lpad.i.i180: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i %lpad.phi.i.i = phi { ptr, i32 } [ %lpad.loopexit3.i.i, %lpad.loopexit.i.i ], [ %lpad.loopexit.split-lp4.i.i, %lpad.loopexit.split-lp.i.i ] %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0.i, null br i1 %tobool.not.i.i.i.i.i, label %ehcleanup161, label %if.then.i.i.i.i.i -if.then.i.i.i.i.i: ; preds = %lpad.i.i170 +if.then.i.i.i.i.i: ; preds = %lpad.i.i180 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !2165 br label %ehcleanup161 @@ -73367,7 +73372,7 @@ _ZN4absl13hash_internal17ContainerAsVectorISt6vectorIN12_GLOBAL__N_117UnorderedS for.body.lr.ph.i7.i: ; preds = %_ZN4absl13hash_internal17ContainerAsVectorISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS5_EEE2DoERKS7_.exit.i %13 = getelementptr inbounds i8, ptr %classes.i.i, i64 8 - %_M_end_of_storage.i.i.i165 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.605", ptr %classes.i.i, i64 0, i32 2 + %_M_end_of_storage.i.i.i175 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.605", ptr %classes.i.i, i64 0, i32 2 %moved_from_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 2 %_M_engaged.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i, i64 0, i32 1 %error_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 1 @@ -73474,13 +73479,13 @@ if.end11.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i %incdec.ptr.i10.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 2 %23 = load i32, ptr %incdec.ptr.i10.i.i.i.i.i, align 4 %cmp.i11.i.i.i.i.i = icmp eq i32 %23, %19 - br i1 %cmp.i11.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit314, label %if.end17.i.i.i.i.i + br i1 %cmp.i11.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit324, label %if.end17.i.i.i.i.i if.end17.i.i.i.i.i: ; preds = %if.end11.i.i.i.i.i %incdec.ptr.i12.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 3 %24 = load i32, ptr %incdec.ptr.i12.i.i.i.i.i, align 4 %cmp.i13.i.i.i.i.i = icmp eq i32 %24, %19 - br i1 %cmp.i13.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit316, label %if.end23.i.i.i.i.i + br i1 %cmp.i13.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit326, label %if.end23.i.i.i.i.i if.end23.i.i.i.i.i: ; preds = %if.end17.i.i.i.i.i %incdec.ptr.i14.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 4 @@ -73544,16 +73549,16 @@ _ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17 %incdec.ptr.i.i.i9.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 1 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit314: ; preds = %if.end11.i.i.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit324: ; preds = %if.end11.i.i.i.i.i %incdec.ptr.i10.i.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 2 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit316: ; preds = %if.end17.i.i.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit326: ; preds = %if.end17.i.i.i.i.i %incdec.ptr.i12.i.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 3 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit314, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit316, %sw.bb39.i.i.i.i.i, %sw.bb32.i.i.i.i.i, %sw.bb.i.i.i.i.i, %for.end.i.i.i.i.i - %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %__first.sroa.0.1.i.i.i.i.i, %sw.bb32.i.i.i.i.i ], [ %__scan.sroa.0.049.i.i.i, %for.end.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb39.i.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit ], [ %incdec.ptr.i10.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit314 ], [ %incdec.ptr.i12.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit316 ], [ %__first.sroa.0.051.i.i.i.i.i, %for.body.i.i.i.i.i ] +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit324, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit326, %sw.bb39.i.i.i.i.i, %sw.bb32.i.i.i.i.i, %sw.bb.i.i.i.i.i, %for.end.i.i.i.i.i + %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %__first.sroa.0.1.i.i.i.i.i, %sw.bb32.i.i.i.i.i ], [ %__scan.sroa.0.049.i.i.i, %for.end.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb39.i.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit ], [ %incdec.ptr.i10.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit324 ], [ %incdec.ptr.i12.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit326 ], [ %__first.sroa.0.051.i.i.i.i.i, %for.body.i.i.i.i.i ] %cmp.i11.not.i.i.i = icmp eq ptr %__scan.sroa.0.049.i.i.i, %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i br i1 %cmp.i11.not.i.i.i, label %for.body.lr.ph.i.i.i.i, label %for.inc69.i.i.i @@ -73599,18 +73604,18 @@ for.inc69.i.i.i: ; preds = %_ZSt10__count_ifIN9 lpad.loopexit11.i.i: ; preds = %for.body66.i.i %lpad.loopexit12.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i167 + br label %lpad.body.i177 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSL_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EEEE8allocateERSN_m.exit.i.i.i.i.i %lpad.loopexit17.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i167 + br label %lpad.body.i177 lpad.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.i.invoke.i.i %ref.tmp.sroa.0.28.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.end255.i.i ], [ %ref.tmp.sroa.0.25.i, %if.then48.i.i ], [ %ref.tmp.sroa.0.1.i, %if.then.i.i.i.i.invoke.i.i ] %lpad.loopexit.split-lp18.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i167 + br label %lpad.body.i177 for.inc.i9.i: ; preds = %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit23.i.i.i, %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i, %for.body13.i.i %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.627", ptr %__begin05.sroa.0.057.i.i, i64 1 @@ -73618,11 +73623,11 @@ for.inc.i9.i: ; preds = %_ZSt10__count_ifIN9 br i1 %cmp.i103.not.i.i, label %if.then19.i.i, label %for.body13.i.i if.then19.i.i: ; preds = %for.inc.i9.i, %for.body.i8.i - %34 = load ptr, ptr %_M_end_of_storage.i.i.i165, align 8, !noalias !2173 + %34 = load ptr, ptr %_M_end_of_storage.i.i.i175, align 8, !noalias !2173 %cmp.not.i.i.i = icmp eq ptr %classes.val54.i.i, %34 - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i166 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i176 -if.then.i.i.i166: ; preds = %if.then19.i.i +if.then.i.i.i176: ; preds = %if.then19.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i, i8 0, i64 24, i1 false) %incdec.ptr.i105.i.i = getelementptr inbounds %"class.std::vector.627", ptr %classes.val54.i.i, i64 1 store ptr %incdec.ptr.i105.i.i, ptr %13, align 8, !noalias !2173 @@ -73676,9 +73681,9 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE11_M_allocateEm.exit.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] - %incdec.ptr.i.i.i37.i = getelementptr inbounds %"class.std::vector.627", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i38.i = icmp eq ptr %classes.val.i.i, null - br i1 %tobool.not.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i + %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.627", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i39.i = icmp eq ptr %classes.val.i.i, null + br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i) #31 @@ -73686,13 +73691,13 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !2173 - store ptr %incdec.ptr.i.i.i37.i, ptr %13, align 8, !noalias !2173 + store ptr %incdec.ptr.i.i.i38.i, ptr %13, align 8, !noalias !2173 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.627", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i - store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i165, align 8, !noalias !2173 + store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i175, align 8, !noalias !2173 br label %if.end23.i.i -if.end23.i.i: ; preds = %for.end.i.i.i, %for.inc.i.i.i, %for.inc69.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i, %if.then.i.i.i166 - %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i166 ], [ %__begin05.sroa.0.057.i.i, %for.inc69.i.i.i ], [ %__begin05.sroa.0.057.i.i, %for.inc.i.i.i ], [ %__begin05.sroa.0.057.i.i, %for.end.i.i.i ] +if.end23.i.i: ; preds = %for.end.i.i.i, %for.inc.i.i.i, %for.inc69.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i, %if.then.i.i.i176 + %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i176 ], [ %__begin05.sroa.0.057.i.i, %for.inc69.i.i.i ], [ %__begin05.sroa.0.057.i.i, %for.inc.i.i.i ], [ %__begin05.sroa.0.057.i.i, %for.end.i.i.i ] %_M_finish.i.i.i11.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.633", ptr %c.1.i.i, i64 0, i32 1 %37 = load ptr, ptr %_M_finish.i.i.i11.i, align 8 %_M_end_of_storage.i.i.i12.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.633", ptr %c.1.i.i, i64 0, i32 2 @@ -73747,31 +73752,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.060.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.061.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.634, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.634, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.634, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.634, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %40 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i.i.i ], [ %39, %if.then.i.i.i14.i ] + %40 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i.i.i ], [ %39, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.061.i.i, 1 %call28.val.i.i = load ptr, ptr %40, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -73782,8 +73788,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !2186) %41 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !2189 %42 = and i8 %41, 1 - %tobool.not.i.i.i168 = icmp eq i8 %42, 0 - br i1 %tobool.not.i.i.i168, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i178 = icmp eq i8 %42, 0 + br i1 %tobool.not.i.i.i178, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -73988,7 +73994,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %71 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i167 + br label %lpad.body.i177 lpad35.i.i: ; preds = %if.then33.i.i %72 = landingpad { ptr, i32 } @@ -74010,12 +74016,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %74 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !2173 %75 = and i8 %74, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %75, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i167, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i177, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !2173 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i167 + br label %lpad.body.i177 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !2173 @@ -74118,7 +74124,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %83, %lpad51.i.i ], [ %79, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %79, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i167 + br label %lpad.body.i177 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.067.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -76152,7 +76158,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %184, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit8.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp9.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i167 + br label %lpad.body.i177 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_138) @@ -76313,62 +76319,62 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i), !noalias !2159 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !2159 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !2159 - %tobool.not.i.i.i.i169 = icmp eq ptr %ref.tmp.sroa.0.24.i, null - br i1 %tobool.not.i.i.i.i169, label %invoke.cont140, label %if.then.i.i.i39.i + %tobool.not.i.i.i.i179 = icmp eq ptr %ref.tmp.sroa.0.24.i, null + br i1 %tobool.not.i.i.i.i179, label %invoke.cont140, label %if.then.i.i.i40.i -if.then.i.i.i39.i: ; preds = %invoke.cont.i +if.then.i.i.i40.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.24.i) #31 br label %invoke.cont140 -lpad.body.i167: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i +lpad.body.i177: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i %ref.tmp.sroa.0.27.i = phi ptr [ %ref.tmp.sroa.0.1.i, %lpad30.i.i ], [ %ref.tmp.sroa.0.25.i, %lpad51.body.i.i ], [ %ref.tmp.sroa.0.1.i, %ehcleanup252.i.i ], [ %ref.tmp.sroa.0.1.i, %ehcleanup.i.i ], [ %ref.tmp.sroa.0.1.i, %if.then.i.i.i.i138.i.i ], [ %ref.tmp.sroa.0.1.i, %lpad.loopexit11.i.i ], [ %ref.tmp.sroa.0.1.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %ref.tmp.sroa.0.28.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i ] %.pn46.pn.i.i = phi { ptr, i32 } [ %71, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit12.i.i, %lpad.loopexit11.i.i ], [ %lpad.loopexit17.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp18.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i40.i = icmp eq ptr %ref.tmp.sroa.0.27.i, null - br i1 %tobool.not.i.i.i40.i, label %ehcleanup161, label %if.then.i.i.i41.i + %tobool.not.i.i.i41.i = icmp eq ptr %ref.tmp.sroa.0.27.i, null + br i1 %tobool.not.i.i.i41.i, label %ehcleanup161, label %if.then.i.i.i42.i -if.then.i.i.i41.i: ; preds = %lpad.body.i167 +if.then.i.i.i42.i: ; preds = %lpad.body.i177 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.27.i) #31 br label %ehcleanup161 -invoke.cont140: ; preds = %if.then.i.i.i39.i, %invoke.cont.i +invoke.cont140: ; preds = %if.then.i.i.i40.i, %invoke.cont.i %354 = load i8, ptr %gtest_ar_138, align 8 %355 = and i8 %354, 1 - %tobool.i172.not = icmp eq i8 %355, 0 - br i1 %tobool.i172.not, label %if.else143, label %if.end159 + %tobool.i182.not = icmp eq i8 %355, 0 + br i1 %tobool.i182.not, label %if.else143, label %if.end159 -lpad20.body: ; preds = %lpad.i.i152, %lpad.i.i140, %lpad.i.i128, %lpad.i.i116, %lpad.i.i104, %lpad.i.i92, %lpad.i.i80, %lpad.i.i68, %lpad.i.i56, %lpad.i.i44, %lpad.i.i - %arrayinit.endOfInit.0.lpad-body = phi ptr [ %arrayinit.element14, %lpad.i.i ], [ %arrayinit.element22, %lpad.i.i44 ], [ %arrayinit.element32, %lpad.i.i56 ], [ %arrayinit.element42, %lpad.i.i68 ], [ %arrayinit.element50, %lpad.i.i80 ], [ %arrayinit.element59, %lpad.i.i92 ], [ %arrayinit.element69, %lpad.i.i104 ], [ %arrayinit.element79, %lpad.i.i116 ], [ %arrayinit.element89, %lpad.i.i128 ], [ %arrayinit.element99, %lpad.i.i140 ], [ %arrayinit.element108, %lpad.i.i152 ] - %eh.lpad-body = phi { ptr, i32 } [ %0, %lpad.i.i ], [ %1, %lpad.i.i44 ], [ %2, %lpad.i.i56 ], [ %3, %lpad.i.i68 ], [ %4, %lpad.i.i80 ], [ %5, %lpad.i.i92 ], [ %6, %lpad.i.i104 ], [ %7, %lpad.i.i116 ], [ %8, %lpad.i.i128 ], [ %9, %lpad.i.i140 ], [ %10, %lpad.i.i152 ] +lpad20.body: ; preds = %lpad.i.i161, %lpad.i.i148, %lpad.i.i135, %lpad.i.i122, %lpad.i.i109, %lpad.i.i96, %lpad.i.i83, %lpad.i.i70, %lpad.i.i57, %lpad.i.i44, %lpad.i.i + %arrayinit.endOfInit.0.lpad-body = phi ptr [ %arrayinit.element14, %lpad.i.i ], [ %arrayinit.element22, %lpad.i.i44 ], [ %arrayinit.element32, %lpad.i.i57 ], [ %arrayinit.element42, %lpad.i.i70 ], [ %arrayinit.element50, %lpad.i.i83 ], [ %arrayinit.element59, %lpad.i.i96 ], [ %arrayinit.element69, %lpad.i.i109 ], [ %arrayinit.element79, %lpad.i.i122 ], [ %arrayinit.element89, %lpad.i.i135 ], [ %arrayinit.element99, %lpad.i.i148 ], [ %arrayinit.element108, %lpad.i.i161 ] + %eh.lpad-body = phi { ptr, i32 } [ %0, %lpad.i.i ], [ %1, %lpad.i.i44 ], [ %2, %lpad.i.i57 ], [ %3, %lpad.i.i70 ], [ %4, %lpad.i.i83 ], [ %5, %lpad.i.i96 ], [ %6, %lpad.i.i109 ], [ %7, %lpad.i.i122 ], [ %8, %lpad.i.i135 ], [ %9, %lpad.i.i148 ], [ %10, %lpad.i.i161 ] br label %arraydestroy.body -arraydestroy.body: ; preds = %lpad20.body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit175 - %arraydestroy.elementPast = phi ptr [ %arrayinit.endOfInit.0.lpad-body, %lpad20.body ], [ %arraydestroy.element, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit175 ] +arraydestroy.body: ; preds = %lpad20.body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit185 + %arraydestroy.elementPast = phi ptr [ %arrayinit.endOfInit.0.lpad-body, %lpad20.body ], [ %arraydestroy.element, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit185 ] %arraydestroy.element = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast, i64 -1 %arraydestroy.element.val = load ptr, ptr %arraydestroy.element, align 8 - %tobool.not.i.i.i.i173 = icmp eq ptr %arraydestroy.element.val, null - br i1 %tobool.not.i.i.i.i173, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit175, label %if.then.i.i.i.i174 + %tobool.not.i.i.i.i183 = icmp eq ptr %arraydestroy.element.val, null + br i1 %tobool.not.i.i.i.i183, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit185, label %if.then.i.i.i.i184 -if.then.i.i.i.i174: ; preds = %arraydestroy.body +if.then.i.i.i.i184: ; preds = %arraydestroy.body call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit175 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit185 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit175: ; preds = %arraydestroy.body, %if.then.i.i.i.i174 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit185: ; preds = %arraydestroy.body, %if.then.i.i.i.i184 %arraydestroy.done = icmp eq ptr %arraydestroy.element, %ref.tmp13 br i1 %arraydestroy.done, label %eh.resume, label %arraydestroy.body -arraydestroy.body133: ; preds = %arraydestroy.body133.preheader, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit178 - %arraydestroy.elementPast134 = phi ptr [ %arraydestroy.element135, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit178 ], [ %add.ptr.i.i, %arraydestroy.body133.preheader ] +arraydestroy.body133: ; preds = %arraydestroy.body133.preheader, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit188 + %arraydestroy.elementPast134 = phi ptr [ %arraydestroy.element135, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit188 ], [ %add.ptr.i.i, %arraydestroy.body133.preheader ] %arraydestroy.element135 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast134, i64 -1 %arraydestroy.element135.val = load ptr, ptr %arraydestroy.element135, align 8 - %tobool.not.i.i.i.i176 = icmp eq ptr %arraydestroy.element135.val, null - br i1 %tobool.not.i.i.i.i176, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit178, label %if.then.i.i.i.i177 + %tobool.not.i.i.i.i186 = icmp eq ptr %arraydestroy.element135.val, null + br i1 %tobool.not.i.i.i.i186, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit188, label %if.then.i.i.i.i187 -if.then.i.i.i.i177: ; preds = %arraydestroy.body133 +if.then.i.i.i.i187: ; preds = %arraydestroy.body133 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element135.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit178 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit188 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit178: ; preds = %arraydestroy.body133, %if.then.i.i.i.i177 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit188: ; preds = %arraydestroy.body133, %if.then.i.i.i.i187 %arraydestroy.done136 = icmp eq ptr %arraydestroy.element135, %ref.tmp13 br i1 %arraydestroy.done136, label %eh.resume, label %arraydestroy.body133 @@ -76393,17 +76399,17 @@ invoke.cont155: ; preds = %invoke.cont153 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp147) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp148) #28 %356 = load ptr, ptr %ref.tmp144, align 8 - %cmp.not.i.i179 = icmp eq ptr %356, null - br i1 %cmp.not.i.i179, label %_ZN7testing7MessageD2Ev.exit183, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 + %cmp.not.i.i189 = icmp eq ptr %356, null + br i1 %cmp.not.i.i189, label %_ZN7testing7MessageD2Ev.exit193, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180: ; preds = %invoke.cont155 - %vtable.i.i.i181 = load ptr, ptr %356, align 8 - %vfn.i.i.i182 = getelementptr inbounds ptr, ptr %vtable.i.i.i181, i64 1 - %357 = load ptr, ptr %vfn.i.i.i182, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190: ; preds = %invoke.cont155 + %vtable.i.i.i191 = load ptr, ptr %356, align 8 + %vfn.i.i.i192 = getelementptr inbounds ptr, ptr %vtable.i.i.i191, i64 1 + %357 = load ptr, ptr %vfn.i.i.i192, align 8 call void %357(ptr noundef nonnull align 8 dereferenceable(128) %356) #28 - br label %_ZN7testing7MessageD2Ev.exit183 + br label %_ZN7testing7MessageD2Ev.exit193 -_ZN7testing7MessageD2Ev.exit183: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 +_ZN7testing7MessageD2Ev.exit193: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190 store ptr null, ptr %ref.tmp144, align 8 br label %if.end159 @@ -76436,76 +76442,76 @@ ehcleanup157: ; preds = %lpad154, %lpad152 ehcleanup158: ; preds = %ehcleanup157, %lpad149 %.pn29.pn = phi { ptr, i32 } [ %.pn29, %ehcleanup157 ], [ %359, %lpad149 ] %362 = load ptr, ptr %ref.tmp144, align 8 - %cmp.not.i.i184 = icmp eq ptr %362, null - br i1 %cmp.not.i.i184, label %_ZN7testing7MessageD2Ev.exit188, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 + %cmp.not.i.i194 = icmp eq ptr %362, null + br i1 %cmp.not.i.i194, label %_ZN7testing7MessageD2Ev.exit198, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185: ; preds = %ehcleanup158 - %vtable.i.i.i186 = load ptr, ptr %362, align 8 - %vfn.i.i.i187 = getelementptr inbounds ptr, ptr %vtable.i.i.i186, i64 1 - %363 = load ptr, ptr %vfn.i.i.i187, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195: ; preds = %ehcleanup158 + %vtable.i.i.i196 = load ptr, ptr %362, align 8 + %vfn.i.i.i197 = getelementptr inbounds ptr, ptr %vtable.i.i.i196, i64 1 + %363 = load ptr, ptr %vfn.i.i.i197, align 8 call void %363(ptr noundef nonnull align 8 dereferenceable(128) %362) #28 - br label %_ZN7testing7MessageD2Ev.exit188 + br label %_ZN7testing7MessageD2Ev.exit198 -_ZN7testing7MessageD2Ev.exit188: ; preds = %ehcleanup158, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i185 +_ZN7testing7MessageD2Ev.exit198: ; preds = %ehcleanup158, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i195 store ptr null, ptr %ref.tmp144, align 8 br label %ehcleanup160 -if.end159: ; preds = %invoke.cont140, %_ZN7testing7MessageD2Ev.exit183 - %message_.i189 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_138, i64 0, i32 1 - %364 = load ptr, ptr %message_.i189, align 8 - %cmp.not.i.i190 = icmp eq ptr %364, null - br i1 %cmp.not.i.i190, label %_ZN7testing15AssertionResultD2Ev.exit192, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191 +if.end159: ; preds = %invoke.cont140, %_ZN7testing7MessageD2Ev.exit193 + %message_.i199 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_138, i64 0, i32 1 + %364 = load ptr, ptr %message_.i199, align 8 + %cmp.not.i.i200 = icmp eq ptr %364, null + br i1 %cmp.not.i.i200, label %_ZN7testing15AssertionResultD2Ev.exit202, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191: ; preds = %if.end159 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201: ; preds = %if.end159 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %364) #28 call void @_ZdlPv(ptr noundef nonnull %364) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit192 + br label %_ZN7testing15AssertionResultD2Ev.exit202 -_ZN7testing15AssertionResultD2Ev.exit192: ; preds = %if.end159, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191 - store ptr null, ptr %message_.i189, align 8 +_ZN7testing15AssertionResultD2Ev.exit202: ; preds = %if.end159, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i201 + store ptr null, ptr %message_.i199, align 8 %365 = load ptr, ptr %exemplars, align 8 %366 = load ptr, ptr %12, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %365, %366 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i195, label %for.body.i.i.i.i193 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i205, label %for.body.i.i.i.i203 -for.body.i.i.i.i193: ; preds = %_ZN7testing15AssertionResultD2Ev.exit192, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i - %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i ], [ %365, %_ZN7testing15AssertionResultD2Ev.exit192 ] +for.body.i.i.i.i203: ; preds = %_ZN7testing15AssertionResultD2Ev.exit202, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i ], [ %365, %_ZN7testing15AssertionResultD2Ev.exit202 ] %__first.addr.0.val.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i193 +if.then.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i203 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i) #31 br label %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i -_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i193 +_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i203 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %__first.addr.04.i.i.i.i, i64 1 - %cmp.not.i.i.i.i194 = icmp eq ptr %incdec.ptr.i.i.i.i, %366 - br i1 %cmp.not.i.i.i.i194, label %invoke.cont.i195, label %for.body.i.i.i.i193, !llvm.loop !2191 + %cmp.not.i.i.i.i204 = icmp eq ptr %incdec.ptr.i.i.i.i, %366 + br i1 %cmp.not.i.i.i.i204, label %invoke.cont.i205, label %for.body.i.i.i.i203, !llvm.loop !2191 -invoke.cont.i195: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit192 - %tobool.not.i.i.i197 = icmp eq ptr %365, null - br i1 %tobool.not.i.i.i197, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit, label %if.then.i.i.i198 +invoke.cont.i205: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit202 + %tobool.not.i.i.i207 = icmp eq ptr %365, null + br i1 %tobool.not.i.i.i207, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit, label %if.then.i.i.i208 -if.then.i.i.i198: ; preds = %invoke.cont.i195 +if.then.i.i.i208: ; preds = %invoke.cont.i205 call void @_ZdlPv(ptr noundef nonnull %365) #31 br label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit -_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit: ; preds = %invoke.cont.i195, %if.then.i.i.i198 +_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit: ; preds = %invoke.cont.i205, %if.then.i.i.i208 ret void -ehcleanup160: ; preds = %_ZN7testing7MessageD2Ev.exit188, %lpad145 - %.pn29.pn.pn = phi { ptr, i32 } [ %.pn29.pn, %_ZN7testing7MessageD2Ev.exit188 ], [ %358, %lpad145 ] +ehcleanup160: ; preds = %_ZN7testing7MessageD2Ev.exit198, %lpad145 + %.pn29.pn.pn = phi { ptr, i32 } [ %.pn29.pn, %_ZN7testing7MessageD2Ev.exit198 ], [ %358, %lpad145 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_138) #28 br label %ehcleanup161 -ehcleanup161: ; preds = %if.then.i.i.i41.i, %lpad.body.i167, %if.then.i.i.i.i.i, %lpad.i.i170, %ehcleanup160 - %.pn29.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn, %ehcleanup160 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i170 ], [ %.pn46.pn.i.i, %lpad.body.i167 ], [ %.pn46.pn.i.i, %if.then.i.i.i41.i ] +ehcleanup161: ; preds = %if.then.i.i.i42.i, %lpad.body.i177, %if.then.i.i.i.i.i, %lpad.i.i180, %ehcleanup160 + %.pn29.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn, %ehcleanup160 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i180 ], [ %.pn46.pn.i.i, %lpad.body.i177 ], [ %.pn46.pn.i.i, %if.then.i.i.i42.i ] call fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit175, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit178, %ehcleanup161 - %.pn29.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn.pn, %ehcleanup161 ], [ %11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit178 ], [ %eh.lpad-body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit175 ] +eh.resume: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit185, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit188, %ehcleanup161 + %.pn29.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn.pn, %ehcleanup161 ], [ %11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit188 ], [ %eh.lpad-body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit185 ] resume { ptr, i32 } %.pn29.pn.pn.pn.pn } @@ -76570,7 +76576,7 @@ _ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE17_S_check_init_lenEm _ZNSt12_Vector_baseIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE17_S_check_init_lenEmRKS3_.exit store ptr null, ptr %this, align 8 - %add.ptr13 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr null, i64 %sub.ptr.div.i.i + %add.ptr13 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i %_M_end_of_storage14 = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence, std::allocator<(anonymous namespace)::UnorderedSequence>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr13, ptr %_M_end_of_storage14, align 8 br label %_ZSt22__uninitialized_copy_aIPKN12_GLOBAL__N_117UnorderedSequenceIiEEPS2_S2_ET0_T_S7_S6_RSaIT1_E.exit @@ -76578,7 +76584,7 @@ _ZNSt12_Vector_baseIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE11_M_allocateE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE17_S_check_init_lenEmRKS3_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #32 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence, std::allocator<(anonymous namespace)::UnorderedSequence>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -76636,8 +76642,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i br label %for.inc.i.i.i.i for.inc.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.pre-phi, 2 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.pre-phi store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %__first.addr.014.i.i.i.i, i64 1 %incdec.ptr1.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %__cur.015.i.i.i.i, i64 1 @@ -79520,8 +79525,7 @@ invoke.cont14.i.i.i.i: ; preds = %.noexc21.invoke.con %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %239 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %240 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 5 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %240, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %240, i64 %sub.ptr.sub.i.i.i.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.i.i.i, ptr %add.ptr.i.i.i.i.i.i, ptr %238, ptr %237) to label %invoke.cont30.i.i.i.i unwind label %lpad.i.i.i.i, !noalias !2245 @@ -81584,7 +81588,7 @@ call5.i.i.i.i1.i.i.i.noexc: ; preds = %if.end %ref.tmp16.sroa.3.0.call5.i.i.i.i1.i.i.i43.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i43, i64 8 store i32 42, ptr %ref.tmp16.sroa.3.0.call5.i.i.i.i1.i.i.i43.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element14, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 to label %invoke.cont21 unwind label %common.resume.i common.resume.i: ; preds = %call5.i.i.i.i1.i.i.i.noexc @@ -81594,290 +81598,290 @@ common.resume.i: ; preds = %call5.i.i.i.i1.i.i. br label %lpad20.body invoke.cont21: ; preds = %call5.i.i.i.i1.i.i.i.noexc - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, ptr %arrayinit.element14, align 8 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, ptr %arrayinit.element14, align 8 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, i64 3 + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, i64 3 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i43, i64 12, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i43, i64 12, i1 false) store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8 tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i43) #31 %arrayinit.element22 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 3 - %call5.i.i.i.i1.i.i.i50 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc49 unwind label %lpad20 - -call5.i.i.i.i1.i.i.i.noexc49: ; preds = %invoke.cont21 - store i32 0, ptr %call5.i.i.i.i1.i.i.i50, align 4 - %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i.i50.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i50, i64 4 - store i32 42, ptr %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i.i50.sroa_idx, align 4 - %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i.i50.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i50, i64 8 - store i32 23, ptr %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i.i50.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i51 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc50 unwind label %lpad20 + +call5.i.i.i.i1.i.i.i.noexc50: ; preds = %invoke.cont21 + store i32 0, ptr %call5.i.i.i.i1.i.i.i51, align 4 + %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i.i51.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i51, i64 4 + store i32 42, ptr %ref.tmp24.sroa.2.0.call5.i.i.i.i1.i.i.i51.sroa_idx, align 4 + %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i.i51.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i51, i64 8 + store i32 23, ptr %ref.tmp24.sroa.3.0.call5.i.i.i.i1.i.i.i51.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element22, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i44 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i44 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 to label %invoke.cont31 unwind label %common.resume.i45 -common.resume.i45: ; preds = %call5.i.i.i.i1.i.i.i.noexc49 +common.resume.i45: ; preds = %call5.i.i.i.i1.i.i.i.noexc50 %1 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i50) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i51) #31 br label %lpad20.body -invoke.cont31: ; preds = %call5.i.i.i.i1.i.i.i.noexc49 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i44, ptr %arrayinit.element22, align 8 +invoke.cont31: ; preds = %call5.i.i.i.i1.i.i.i.noexc50 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i44, ptr %arrayinit.element22, align 8 %_M_finish.i.i.i.i.i.i.i46 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i47 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i44, i64 3 + %add.ptr.i.i.i.i.i.i.i47 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i44, i64 3 %_M_end_of_storage.i.i.i.i.i.i.i48 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i47, ptr %_M_end_of_storage.i.i.i.i.i.i.i48, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i44, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i50, i64 12, i1 false) + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i44, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i51, i64 12, i1 false) store ptr %add.ptr.i.i.i.i.i.i.i47, ptr %_M_finish.i.i.i.i.i.i.i46, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i50) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i51) #31 %arrayinit.element32 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 4 - %call5.i.i.i.i1.i.i.i61 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc60 unwind label %lpad20 - -call5.i.i.i.i1.i.i.i.noexc60: ; preds = %invoke.cont31 - store i32 42, ptr %call5.i.i.i.i1.i.i.i61, align 4 - %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i.i61.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i61, i64 4 - store i32 0, ptr %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i.i61.sroa_idx, align 4 - %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i.i61.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i61, i64 8 - store i32 23, ptr %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i.i61.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i63 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc62 unwind label %lpad20 + +call5.i.i.i.i1.i.i.i.noexc62: ; preds = %invoke.cont31 + store i32 42, ptr %call5.i.i.i.i1.i.i.i63, align 4 + %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i.i63.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i63, i64 4 + store i32 0, ptr %ref.tmp34.sroa.2.0.call5.i.i.i.i1.i.i.i63.sroa_idx, align 4 + %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i.i63.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i63, i64 8 + store i32 23, ptr %ref.tmp34.sroa.3.0.call5.i.i.i.i1.i.i.i63.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element32, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i55 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont41 unwind label %common.resume.i56 + %call5.i.i.i.i2.i6.i.i.i.i5.i56 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont41 unwind label %common.resume.i57 -common.resume.i56: ; preds = %call5.i.i.i.i1.i.i.i.noexc60 +common.resume.i57: ; preds = %call5.i.i.i.i1.i.i.i.noexc62 %2 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i61) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i63) #31 br label %lpad20.body -invoke.cont41: ; preds = %call5.i.i.i.i1.i.i.i.noexc60 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i55, ptr %arrayinit.element32, align 8 - %_M_finish.i.i.i.i.i.i.i57 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i58 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i55, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i59 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i58, ptr %_M_end_of_storage.i.i.i.i.i.i.i59, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i55, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i61, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i58, ptr %_M_finish.i.i.i.i.i.i.i57, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i61) #31 +invoke.cont41: ; preds = %call5.i.i.i.i1.i.i.i.noexc62 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i56, ptr %arrayinit.element32, align 8 + %_M_finish.i.i.i.i.i.i.i58 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i59 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i56, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i60 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 4, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i59, ptr %_M_end_of_storage.i.i.i.i.i.i.i60, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i56, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i63, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i59, ptr %_M_finish.i.i.i.i.i.i.i58, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i63) #31 %arrayinit.element42 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 5 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element42, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i66 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 - to label %invoke.cont49 unwind label %common.resume.i67 + %call5.i.i.i.i2.i6.i.i.i.i5.i68 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 + to label %invoke.cont49 unwind label %common.resume.i69 -common.resume.i67: ; preds = %invoke.cont41 +common.resume.i69: ; preds = %invoke.cont41 %3 = landingpad { ptr, i32 } cleanup br label %lpad20.body invoke.cont49: ; preds = %invoke.cont41 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i66, ptr %arrayinit.element42, align 8 - %_M_finish.i.i.i.i.i.i.i68 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i69 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i66, i64 1 - %_M_end_of_storage.i.i.i.i.i.i.i70 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i69, ptr %_M_end_of_storage.i.i.i.i.i.i.i70, align 8 - store i32 0, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i66, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i69, ptr %_M_finish.i.i.i.i.i.i.i68, align 8 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i68, ptr %arrayinit.element42, align 8 + %_M_finish.i.i.i.i.i.i.i70 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i71 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i68, i64 1 + %_M_end_of_storage.i.i.i.i.i.i.i72 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i71, ptr %_M_end_of_storage.i.i.i.i.i.i.i72, align 8 + store i32 0, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i68, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i71, ptr %_M_finish.i.i.i.i.i.i.i70, align 8 %arrayinit.element50 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 6 - %call5.i.i.i.i1.i.i.i83 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc82 unwind label %lpad20 + %call5.i.i.i.i1.i.i.i87 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc86 unwind label %lpad20 -call5.i.i.i.i1.i.i.i.noexc82: ; preds = %invoke.cont49 - store i32 0, ptr %call5.i.i.i.i1.i.i.i83, align 4 - %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i.i83.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i83, i64 4 - store i32 0, ptr %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i.i83.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc86: ; preds = %invoke.cont49 + store i32 0, ptr %call5.i.i.i.i1.i.i.i87, align 4 + %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i.i87.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i87, i64 4 + store i32 0, ptr %ref.tmp52.sroa.2.0.call5.i.i.i.i1.i.i.i87.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element50, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i77 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont58 unwind label %common.resume.i78 + %call5.i.i.i.i2.i6.i.i.i.i5.i80 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont58 unwind label %common.resume.i81 -common.resume.i78: ; preds = %call5.i.i.i.i1.i.i.i.noexc82 +common.resume.i81: ; preds = %call5.i.i.i.i1.i.i.i.noexc86 %4 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i83) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i87) #31 br label %lpad20.body -invoke.cont58: ; preds = %call5.i.i.i.i1.i.i.i.noexc82 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i77, ptr %arrayinit.element50, align 8 - %_M_finish.i.i.i.i.i.i.i79 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i80 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i77, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i81 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i80, ptr %_M_end_of_storage.i.i.i.i.i.i.i81, align 8 - %5 = load i64, ptr %call5.i.i.i.i1.i.i.i83, align 4 - store i64 %5, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i77, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i80, ptr %_M_finish.i.i.i.i.i.i.i79, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i83) #31 +invoke.cont58: ; preds = %call5.i.i.i.i1.i.i.i.noexc86 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i80, ptr %arrayinit.element50, align 8 + %_M_finish.i.i.i.i.i.i.i82 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i83 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i80, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i84 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 6, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i83, ptr %_M_end_of_storage.i.i.i.i.i.i.i84, align 8 + %5 = load i64, ptr %call5.i.i.i.i1.i.i.i87, align 4 + store i64 %5, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i80, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i83, ptr %_M_finish.i.i.i.i.i.i.i82, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i87) #31 %arrayinit.element59 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 7 - %call5.i.i.i.i1.i.i.i94 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc93 unwind label %lpad20 - -call5.i.i.i.i1.i.i.i.noexc93: ; preds = %invoke.cont58 - store i32 0, ptr %call5.i.i.i.i1.i.i.i94, align 4 - %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i94, i64 4 - store i32 0, ptr %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i.i94.sroa_idx, align 4 - %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i94, i64 8 - store i32 0, ptr %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i.i94.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i99 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc98 unwind label %lpad20 + +call5.i.i.i.i1.i.i.i.noexc98: ; preds = %invoke.cont58 + store i32 0, ptr %call5.i.i.i.i1.i.i.i99, align 4 + %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i.i99.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i99, i64 4 + store i32 0, ptr %ref.tmp61.sroa.2.0.call5.i.i.i.i1.i.i.i99.sroa_idx, align 4 + %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i.i99.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i99, i64 8 + store i32 0, ptr %ref.tmp61.sroa.3.0.call5.i.i.i.i1.i.i.i99.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element59, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i88 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont68 unwind label %common.resume.i89 + %call5.i.i.i.i2.i6.i.i.i.i5.i92 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont68 unwind label %common.resume.i93 -common.resume.i89: ; preds = %call5.i.i.i.i1.i.i.i.noexc93 +common.resume.i93: ; preds = %call5.i.i.i.i1.i.i.i.noexc98 %6 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i94) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i99) #31 br label %lpad20.body -invoke.cont68: ; preds = %call5.i.i.i.i1.i.i.i.noexc93 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i88, ptr %arrayinit.element59, align 8 - %_M_finish.i.i.i.i.i.i.i90 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i91 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i88, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i92 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i91, ptr %_M_end_of_storage.i.i.i.i.i.i.i92, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i88, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i94, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i91, ptr %_M_finish.i.i.i.i.i.i.i90, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i94) #31 +invoke.cont68: ; preds = %call5.i.i.i.i1.i.i.i.noexc98 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i92, ptr %arrayinit.element59, align 8 + %_M_finish.i.i.i.i.i.i.i94 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i95 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i92, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i96 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 7, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i95, ptr %_M_end_of_storage.i.i.i.i.i.i.i96, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i92, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i99, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i95, ptr %_M_finish.i.i.i.i.i.i.i94, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i99) #31 %arrayinit.element69 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 8 - %call5.i.i.i.i1.i.i.i105 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc104 unwind label %lpad20 - -call5.i.i.i.i1.i.i.i.noexc104: ; preds = %invoke.cont68 - store i32 0, ptr %call5.i.i.i.i1.i.i.i105, align 4 - %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i.i105.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i105, i64 4 - store i32 0, ptr %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i.i105.sroa_idx, align 4 - %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i.i105.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i105, i64 8 - store i32 23, ptr %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i.i105.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i111 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc110 unwind label %lpad20 + +call5.i.i.i.i1.i.i.i.noexc110: ; preds = %invoke.cont68 + store i32 0, ptr %call5.i.i.i.i1.i.i.i111, align 4 + %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i.i111.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i111, i64 4 + store i32 0, ptr %ref.tmp71.sroa.2.0.call5.i.i.i.i1.i.i.i111.sroa_idx, align 4 + %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i.i111.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i111, i64 8 + store i32 23, ptr %ref.tmp71.sroa.3.0.call5.i.i.i.i1.i.i.i111.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element69, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i99 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont78 unwind label %common.resume.i100 + %call5.i.i.i.i2.i6.i.i.i.i5.i104 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont78 unwind label %common.resume.i105 -common.resume.i100: ; preds = %call5.i.i.i.i1.i.i.i.noexc104 +common.resume.i105: ; preds = %call5.i.i.i.i1.i.i.i.noexc110 %7 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i105) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i111) #31 br label %lpad20.body -invoke.cont78: ; preds = %call5.i.i.i.i1.i.i.i.noexc104 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i99, ptr %arrayinit.element69, align 8 - %_M_finish.i.i.i.i.i.i.i101 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i102 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i99, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i103 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i102, ptr %_M_end_of_storage.i.i.i.i.i.i.i103, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i99, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i105, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i102, ptr %_M_finish.i.i.i.i.i.i.i101, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i105) #31 +invoke.cont78: ; preds = %call5.i.i.i.i1.i.i.i.noexc110 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i104, ptr %arrayinit.element69, align 8 + %_M_finish.i.i.i.i.i.i.i106 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i107 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i104, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i108 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 8, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i107, ptr %_M_end_of_storage.i.i.i.i.i.i.i108, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i104, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i111, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i107, ptr %_M_finish.i.i.i.i.i.i.i106, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i111) #31 %arrayinit.element79 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 9 - %call5.i.i.i.i1.i.i.i116 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc115 unwind label %lpad20 - -call5.i.i.i.i1.i.i.i.noexc115: ; preds = %invoke.cont78 - store i32 0, ptr %call5.i.i.i.i1.i.i.i116, align 4 - %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i.i116.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i116, i64 4 - store i32 23, ptr %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i.i116.sroa_idx, align 4 - %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i.i116.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i116, i64 8 - store i32 0, ptr %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i.i116.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i123 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc122 unwind label %lpad20 + +call5.i.i.i.i1.i.i.i.noexc122: ; preds = %invoke.cont78 + store i32 0, ptr %call5.i.i.i.i1.i.i.i123, align 4 + %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i.i123.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i123, i64 4 + store i32 23, ptr %ref.tmp81.sroa.2.0.call5.i.i.i.i1.i.i.i123.sroa_idx, align 4 + %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i.i123.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i123, i64 8 + store i32 0, ptr %ref.tmp81.sroa.3.0.call5.i.i.i.i1.i.i.i123.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element79, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i110 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont88 unwind label %common.resume.i111 + %call5.i.i.i.i2.i6.i.i.i.i5.i116 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont88 unwind label %common.resume.i117 -common.resume.i111: ; preds = %call5.i.i.i.i1.i.i.i.noexc115 +common.resume.i117: ; preds = %call5.i.i.i.i1.i.i.i.noexc122 %8 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i116) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i123) #31 br label %lpad20.body -invoke.cont88: ; preds = %call5.i.i.i.i1.i.i.i.noexc115 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i110, ptr %arrayinit.element79, align 8 - %_M_finish.i.i.i.i.i.i.i112 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i113 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i110, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i114 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i113, ptr %_M_end_of_storage.i.i.i.i.i.i.i114, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i110, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i116, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i113, ptr %_M_finish.i.i.i.i.i.i.i112, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i116) #31 +invoke.cont88: ; preds = %call5.i.i.i.i1.i.i.i.noexc122 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i116, ptr %arrayinit.element79, align 8 + %_M_finish.i.i.i.i.i.i.i118 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i119 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i116, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i120 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i119, ptr %_M_end_of_storage.i.i.i.i.i.i.i120, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i116, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i123, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i119, ptr %_M_finish.i.i.i.i.i.i.i118, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i123) #31 %arrayinit.element89 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 10 - %call5.i.i.i.i1.i.i.i127 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc126 unwind label %lpad20 - -call5.i.i.i.i1.i.i.i.noexc126: ; preds = %invoke.cont88 - store i32 23, ptr %call5.i.i.i.i1.i.i.i127, align 4 - %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i.i127.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i127, i64 4 - store i32 0, ptr %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i.i127.sroa_idx, align 4 - %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i.i127.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i127, i64 8 - store i32 0, ptr %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i.i127.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i135 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc134 unwind label %lpad20 + +call5.i.i.i.i1.i.i.i.noexc134: ; preds = %invoke.cont88 + store i32 23, ptr %call5.i.i.i.i1.i.i.i135, align 4 + %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i.i135.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i135, i64 4 + store i32 0, ptr %ref.tmp91.sroa.2.0.call5.i.i.i.i1.i.i.i135.sroa_idx, align 4 + %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i.i135.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i135, i64 8 + store i32 0, ptr %ref.tmp91.sroa.3.0.call5.i.i.i.i1.i.i.i135.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element89, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i121 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont98 unwind label %common.resume.i122 + %call5.i.i.i.i2.i6.i.i.i.i5.i128 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont98 unwind label %common.resume.i129 -common.resume.i122: ; preds = %call5.i.i.i.i1.i.i.i.noexc126 +common.resume.i129: ; preds = %call5.i.i.i.i1.i.i.i.noexc134 %9 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i127) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i135) #31 br label %lpad20.body -invoke.cont98: ; preds = %call5.i.i.i.i1.i.i.i.noexc126 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i121, ptr %arrayinit.element89, align 8 - %_M_finish.i.i.i.i.i.i.i123 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i124 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i121, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i125 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i124, ptr %_M_end_of_storage.i.i.i.i.i.i.i125, align 8 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i121, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i127, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i124, ptr %_M_finish.i.i.i.i.i.i.i123, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i127) #31 +invoke.cont98: ; preds = %call5.i.i.i.i1.i.i.i.noexc134 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i128, ptr %arrayinit.element89, align 8 + %_M_finish.i.i.i.i.i.i.i130 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i131 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i128, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i132 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 10, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i131, ptr %_M_end_of_storage.i.i.i.i.i.i.i132, align 8 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i128, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i135, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i131, ptr %_M_finish.i.i.i.i.i.i.i130, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i135) #31 %arrayinit.element99 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 11 - %call5.i.i.i.i1.i.i.i138 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc137 unwind label %lpad20 + %call5.i.i.i.i1.i.i.i147 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc146 unwind label %lpad20 -call5.i.i.i.i1.i.i.i.noexc137: ; preds = %invoke.cont98 - store i32 0, ptr %call5.i.i.i.i1.i.i.i138, align 4 - %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i.i138.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i138, i64 4 - store i32 23, ptr %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i.i138.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc146: ; preds = %invoke.cont98 + store i32 0, ptr %call5.i.i.i.i1.i.i.i147, align 4 + %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i.i147.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i147, i64 4 + store i32 23, ptr %ref.tmp101.sroa.2.0.call5.i.i.i.i1.i.i.i147.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element99, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i132 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont107 unwind label %common.resume.i133 + %call5.i.i.i.i2.i6.i.i.i.i5.i140 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont107 unwind label %common.resume.i141 -common.resume.i133: ; preds = %call5.i.i.i.i1.i.i.i.noexc137 +common.resume.i141: ; preds = %call5.i.i.i.i1.i.i.i.noexc146 %10 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i138) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i147) #31 br label %lpad20.body -invoke.cont107: ; preds = %call5.i.i.i.i1.i.i.i.noexc137 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i132, ptr %arrayinit.element99, align 8 - %_M_finish.i.i.i.i.i.i.i134 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i135 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i132, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i136 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i135, ptr %_M_end_of_storage.i.i.i.i.i.i.i136, align 8 - %11 = load i64, ptr %call5.i.i.i.i1.i.i.i138, align 4 - store i64 %11, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i132, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i135, ptr %_M_finish.i.i.i.i.i.i.i134, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i138) #31 +invoke.cont107: ; preds = %call5.i.i.i.i1.i.i.i.noexc146 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i140, ptr %arrayinit.element99, align 8 + %_M_finish.i.i.i.i.i.i.i142 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i143 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i140, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i144 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 11, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i143, ptr %_M_end_of_storage.i.i.i.i.i.i.i144, align 8 + %11 = load i64, ptr %call5.i.i.i.i1.i.i.i147, align 4 + store i64 %11, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i140, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i143, ptr %_M_finish.i.i.i.i.i.i.i142, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i147) #31 %arrayinit.element108 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 12 - %call5.i.i.i.i1.i.i.i149 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc148 unwind label %lpad20 + %call5.i.i.i.i1.i.i.i159 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc158 unwind label %lpad20 -call5.i.i.i.i1.i.i.i.noexc148: ; preds = %invoke.cont107 - store i32 23, ptr %call5.i.i.i.i1.i.i.i149, align 4 - %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i.i149.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i149, i64 4 - store i32 42, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i.i149.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc158: ; preds = %invoke.cont107 + store i32 23, ptr %call5.i.i.i.i1.i.i.i159, align 4 + %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i.i159.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i159, i64 4 + store i32 42, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i1.i.i.i159.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element108, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i143 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont116 unwind label %common.resume.i144 + %call5.i.i.i.i2.i6.i.i.i.i5.i152 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont116 unwind label %common.resume.i153 -common.resume.i144: ; preds = %call5.i.i.i.i1.i.i.i.noexc148 +common.resume.i153: ; preds = %call5.i.i.i.i1.i.i.i.noexc158 %12 = landingpad { ptr, i32 } cleanup - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i149) #31 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i159) #31 br label %lpad20.body -invoke.cont116: ; preds = %call5.i.i.i.i1.i.i.i.noexc148 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i143, ptr %arrayinit.element108, align 8 - %_M_finish.i.i.i.i.i.i.i145 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i146 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i143, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i147 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i146, ptr %_M_end_of_storage.i.i.i.i.i.i.i147, align 8 - %13 = load i64, ptr %call5.i.i.i.i1.i.i.i149, align 4 - store i64 %13, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i143, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i146, ptr %_M_finish.i.i.i.i.i.i.i145, align 8 - tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i149) #31 +invoke.cont116: ; preds = %call5.i.i.i.i1.i.i.i.noexc158 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i152, ptr %arrayinit.element108, align 8 + %_M_finish.i.i.i.i.i.i.i154 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i155 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i152, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i156 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 12, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i155, ptr %_M_end_of_storage.i.i.i.i.i.i.i156, align 8 + %13 = load i64, ptr %call5.i.i.i.i1.i.i.i159, align 4 + store i64 %13, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i152, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i155, ptr %_M_finish.i.i.i.i.i.i.i154, align 8 + tail call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i159) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) %add.ptr.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp13, i64 13 invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, ptr noundef nonnull %ref.tmp13, ptr noundef nonnull %add.ptr.i.i) @@ -81966,13 +81970,13 @@ if.else.i.i.i.i: ; preds = %for.body.i.i %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %ref.tmp.sroa.0.0.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i159, label %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i169, label %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE12_M_check_lenEmPKc.exit.i.i.i.i.i -if.then.i.i.i.i.i.i159: ; preds = %if.else.i.i.i.i +if.then.i.i.i.i.i.i169: ; preds = %if.else.i.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.52) #30 to label %.noexc.i.i unwind label %lpad.loopexit.split-lp.i.i, !noalias !2293 -.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i159 +.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i169 unreachable _ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i @@ -82011,8 +82015,8 @@ for.body.i.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE11_S_relocateEPSA_SD_SD_RSB_.exit21.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE11_M_allocateEm.exit.i.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE11_M_allocateEm.exit.i.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ] - %tobool.not.i.i.i.i.i.i158 = icmp eq ptr %ref.tmp.sroa.0.0.i, null - br i1 %tobool.not.i.i.i.i.i.i158, label %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE17_M_realloc_insertIJSA_EEEvN9__gnu_cxx17__normal_iteratorIPSA_SC_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i + %tobool.not.i.i.i.i.i.i168 = icmp eq ptr %ref.tmp.sroa.0.0.i, null + br i1 %tobool.not.i.i.i.i.i.i168, label %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE17_M_realloc_insertIJSA_EEEvN9__gnu_cxx17__normal_iteratorIPSA_SC_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISA_EE11_S_relocateEPSA_SD_SD_RSB_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !2293 @@ -82036,7 +82040,7 @@ lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_tr cleanup br label %lpad.i.i -lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i159 +lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i169 %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup br label %lpad.i.i @@ -82188,13 +82192,13 @@ if.end11.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i %incdec.ptr.i10.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 2 %26 = load i32, ptr %incdec.ptr.i10.i.i.i.i.i, align 4 %cmp.i11.i.i.i.i.i = icmp eq i32 %26, %22 - br i1 %cmp.i11.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit303, label %if.end17.i.i.i.i.i + br i1 %cmp.i11.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit313, label %if.end17.i.i.i.i.i if.end17.i.i.i.i.i: ; preds = %if.end11.i.i.i.i.i %incdec.ptr.i12.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 3 %27 = load i32, ptr %incdec.ptr.i12.i.i.i.i.i, align 4 %cmp.i13.i.i.i.i.i = icmp eq i32 %27, %22 - br i1 %cmp.i13.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit305, label %if.end23.i.i.i.i.i + br i1 %cmp.i13.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit315, label %if.end23.i.i.i.i.i if.end23.i.i.i.i.i: ; preds = %if.end17.i.i.i.i.i %incdec.ptr.i14.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 4 @@ -82258,16 +82262,16 @@ _ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17 %incdec.ptr.i.i.i9.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 1 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit303: ; preds = %if.end11.i.i.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit313: ; preds = %if.end11.i.i.i.i.i %incdec.ptr.i10.i.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 2 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit305: ; preds = %if.end17.i.i.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit315: ; preds = %if.end17.i.i.i.i.i %incdec.ptr.i12.i.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 3 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit303, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit305, %sw.bb39.i.i.i.i.i, %sw.bb32.i.i.i.i.i, %sw.bb.i.i.i.i.i, %for.end.i.i.i.i.i - %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %__first.sroa.0.1.i.i.i.i.i, %sw.bb32.i.i.i.i.i ], [ %__scan.sroa.0.049.i.i.i, %for.end.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb39.i.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit ], [ %incdec.ptr.i10.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit303 ], [ %incdec.ptr.i12.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit305 ], [ %__first.sroa.0.051.i.i.i.i.i, %for.body.i.i.i.i.i ] +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit313, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit315, %sw.bb39.i.i.i.i.i, %sw.bb32.i.i.i.i.i, %sw.bb.i.i.i.i.i, %for.end.i.i.i.i.i + %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %__first.sroa.0.1.i.i.i.i.i, %sw.bb32.i.i.i.i.i ], [ %__scan.sroa.0.049.i.i.i, %for.end.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb39.i.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit ], [ %incdec.ptr.i10.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit313 ], [ %incdec.ptr.i12.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit315 ], [ %__first.sroa.0.051.i.i.i.i.i, %for.body.i.i.i.i.i ] %cmp.i11.not.i.i.i = icmp eq ptr %__scan.sroa.0.049.i.i.i, %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i br i1 %cmp.i11.not.i.i.i, label %for.body.lr.ph.i.i.i.i, label %for.inc69.i.i.i @@ -82334,9 +82338,9 @@ for.inc.i9.i: ; preds = %_ZSt10__count_ifIN9 if.then19.i.i: ; preds = %for.inc.i9.i, %for.body.i8.i %37 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !2301 %cmp.not.i.i.i = icmp eq ptr %classes.val54.i.i, %37 - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i155 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i165 -if.then.i.i.i155: ; preds = %if.then19.i.i +if.then.i.i.i165: ; preds = %if.then19.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i, i8 0, i64 24, i1 false) %incdec.ptr.i105.i.i = getelementptr inbounds %"class.std::vector.702", ptr %classes.val54.i.i, i64 1 store ptr %incdec.ptr.i105.i.i, ptr %16, align 8, !noalias !2301 @@ -82390,9 +82394,9 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISD_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_M_allocateEm.exit.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISD_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] - %incdec.ptr.i.i.i37.i = getelementptr inbounds %"class.std::vector.702", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i38.i = icmp eq ptr %classes.val.i.i, null - br i1 %tobool.not.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i + %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.702", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i39.i = icmp eq ptr %classes.val.i.i, null + br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i) #31 @@ -82400,13 +82404,13 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !2301 - store ptr %incdec.ptr.i.i.i37.i, ptr %16, align 8, !noalias !2301 + store ptr %incdec.ptr.i.i.i38.i, ptr %16, align 8, !noalias !2301 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.702", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !2301 br label %if.end23.i.i -if.end23.i.i: ; preds = %for.end.i.i.i, %for.inc.i.i.i, %for.inc69.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i, %if.then.i.i.i155 - %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i155 ], [ %__begin05.sroa.0.057.i.i, %for.inc69.i.i.i ], [ %__begin05.sroa.0.057.i.i, %for.inc.i.i.i ], [ %__begin05.sroa.0.057.i.i, %for.end.i.i.i ] +if.end23.i.i: ; preds = %for.end.i.i.i, %for.inc.i.i.i, %for.inc69.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i, %if.then.i.i.i165 + %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i165 ], [ %__begin05.sroa.0.057.i.i, %for.inc69.i.i.i ], [ %__begin05.sroa.0.057.i.i, %for.inc.i.i.i ], [ %__begin05.sroa.0.057.i.i, %for.end.i.i.i ] %_M_finish.i.i.i11.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.708", ptr %c.1.i.i, i64 0, i32 1 %40 = load ptr, ptr %_M_finish.i.i.i11.i, align 8 %_M_end_of_storage.i.i.i12.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.708", ptr %c.1.i.i, i64 0, i32 2 @@ -82461,31 +82465,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.060.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.061.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.709, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.709, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.709, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.709, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %43 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i.i ], [ %42, %if.then.i.i.i14.i ] + %43 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i.i ], [ %42, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.061.i.i, 1 %call28.val.i.i = load ptr, ptr %43, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -82496,8 +82501,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !2310) %44 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !2313 %45 = and i8 %44, 1 - %tobool.not.i.i.i157 = icmp eq i8 %45, 0 - br i1 %tobool.not.i.i.i157, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i167 = icmp eq i8 %45, 0 + br i1 %tobool.not.i.i.i167, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -85028,9 +85033,9 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !2287 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !2287 %tobool.not.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.24.i, null - br i1 %tobool.not.i.i.i.i, label %invoke.cont140, label %if.then.i.i.i39.i + br i1 %tobool.not.i.i.i.i, label %invoke.cont140, label %if.then.i.i.i40.i -if.then.i.i.i39.i: ; preds = %invoke.cont.i +if.then.i.i.i40.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.24.i) #31 br label %invoke.cont140 @@ -85038,18 +85043,18 @@ lpad.body.i: ; preds = %ehcleanup252.i.i, % %ref.tmp.sroa.0.27.i = phi ptr [ %ref.tmp.sroa.0.1.i, %lpad30.i.i ], [ %ref.tmp.sroa.0.25.i, %lpad51.body.i.i ], [ %ref.tmp.sroa.0.1.i, %ehcleanup252.i.i ], [ %ref.tmp.sroa.0.1.i, %ehcleanup.i.i ], [ %ref.tmp.sroa.0.1.i, %if.then.i.i.i.i138.i.i ], [ %ref.tmp.sroa.0.1.i, %lpad.loopexit11.i.i ], [ %ref.tmp.sroa.0.1.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %ref.tmp.sroa.0.28.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i ] %.pn46.pn.i.i = phi { ptr, i32 } [ %74, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit12.i.i, %lpad.loopexit11.i.i ], [ %lpad.loopexit17.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp18.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i40.i = icmp eq ptr %ref.tmp.sroa.0.27.i, null - br i1 %tobool.not.i.i.i40.i, label %ehcleanup161, label %if.then.i.i.i41.i + %tobool.not.i.i.i41.i = icmp eq ptr %ref.tmp.sroa.0.27.i, null + br i1 %tobool.not.i.i.i41.i, label %ehcleanup161, label %if.then.i.i.i42.i -if.then.i.i.i41.i: ; preds = %lpad.body.i +if.then.i.i.i42.i: ; preds = %lpad.body.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.27.i) #31 br label %ehcleanup161 -invoke.cont140: ; preds = %if.then.i.i.i39.i, %invoke.cont.i +invoke.cont140: ; preds = %if.then.i.i.i40.i, %invoke.cont.i %357 = load i8, ptr %gtest_ar_138, align 8 %358 = and i8 %357, 1 - %tobool.i161.not = icmp eq i8 %358, 0 - br i1 %tobool.i161.not, label %if.else143, label %if.end159 + %tobool.i171.not = icmp eq i8 %358, 0 + br i1 %tobool.i171.not, label %if.else143, label %if.end159 lpad20: ; preds = %invoke.cont107, %invoke.cont98, %invoke.cont88, %invoke.cont78, %invoke.cont68, %invoke.cont58, %invoke.cont49, %invoke.cont31, %invoke.cont21, %if.end %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element14, %if.end ], [ %arrayinit.element22, %invoke.cont21 ], [ %arrayinit.element32, %invoke.cont31 ], [ %arrayinit.element50, %invoke.cont49 ], [ %arrayinit.element59, %invoke.cont58 ], [ %arrayinit.element69, %invoke.cont68 ], [ %arrayinit.element79, %invoke.cont78 ], [ %arrayinit.element89, %invoke.cont88 ], [ %arrayinit.element99, %invoke.cont98 ], [ %arrayinit.element108, %invoke.cont107 ] @@ -85057,38 +85062,38 @@ lpad20: ; preds = %invoke.cont107, %in cleanup br label %lpad20.body -lpad20.body: ; preds = %common.resume.i45, %common.resume.i67, %common.resume.i89, %common.resume.i111, %common.resume.i133, %common.resume.i144, %lpad20, %common.resume.i122, %common.resume.i100, %common.resume.i78, %common.resume.i56, %common.resume.i - %arrayinit.endOfInit.0.lpad-body = phi ptr [ %arrayinit.element14, %common.resume.i ], [ %arrayinit.element22, %common.resume.i45 ], [ %arrayinit.element32, %common.resume.i56 ], [ %arrayinit.element42, %common.resume.i67 ], [ %arrayinit.element50, %common.resume.i78 ], [ %arrayinit.element59, %common.resume.i89 ], [ %arrayinit.element69, %common.resume.i100 ], [ %arrayinit.element79, %common.resume.i111 ], [ %arrayinit.element89, %common.resume.i122 ], [ %arrayinit.element99, %common.resume.i133 ], [ %arrayinit.endOfInit.0, %lpad20 ], [ %arrayinit.element108, %common.resume.i144 ] - %eh.lpad-body = phi { ptr, i32 } [ %0, %common.resume.i ], [ %1, %common.resume.i45 ], [ %2, %common.resume.i56 ], [ %3, %common.resume.i67 ], [ %4, %common.resume.i78 ], [ %6, %common.resume.i89 ], [ %7, %common.resume.i100 ], [ %8, %common.resume.i111 ], [ %9, %common.resume.i122 ], [ %10, %common.resume.i133 ], [ %359, %lpad20 ], [ %12, %common.resume.i144 ] +lpad20.body: ; preds = %common.resume.i45, %common.resume.i69, %common.resume.i93, %common.resume.i117, %common.resume.i141, %common.resume.i153, %lpad20, %common.resume.i129, %common.resume.i105, %common.resume.i81, %common.resume.i57, %common.resume.i + %arrayinit.endOfInit.0.lpad-body = phi ptr [ %arrayinit.element14, %common.resume.i ], [ %arrayinit.element22, %common.resume.i45 ], [ %arrayinit.element32, %common.resume.i57 ], [ %arrayinit.element42, %common.resume.i69 ], [ %arrayinit.element50, %common.resume.i81 ], [ %arrayinit.element59, %common.resume.i93 ], [ %arrayinit.element69, %common.resume.i105 ], [ %arrayinit.element79, %common.resume.i117 ], [ %arrayinit.element89, %common.resume.i129 ], [ %arrayinit.element99, %common.resume.i141 ], [ %arrayinit.endOfInit.0, %lpad20 ], [ %arrayinit.element108, %common.resume.i153 ] + %eh.lpad-body = phi { ptr, i32 } [ %0, %common.resume.i ], [ %1, %common.resume.i45 ], [ %2, %common.resume.i57 ], [ %3, %common.resume.i69 ], [ %4, %common.resume.i81 ], [ %6, %common.resume.i93 ], [ %7, %common.resume.i105 ], [ %8, %common.resume.i117 ], [ %9, %common.resume.i129 ], [ %10, %common.resume.i141 ], [ %359, %lpad20 ], [ %12, %common.resume.i153 ] br label %arraydestroy.body -arraydestroy.body: ; preds = %lpad20.body, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit164 - %arraydestroy.elementPast = phi ptr [ %arrayinit.endOfInit.0.lpad-body, %lpad20.body ], [ %arraydestroy.element, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit164 ] +arraydestroy.body: ; preds = %lpad20.body, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit174 + %arraydestroy.elementPast = phi ptr [ %arrayinit.endOfInit.0.lpad-body, %lpad20.body ], [ %arraydestroy.element, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit174 ] %arraydestroy.element = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast, i64 -1 %arraydestroy.element.val = load ptr, ptr %arraydestroy.element, align 8 - %tobool.not.i.i.i.i.i.i162 = icmp eq ptr %arraydestroy.element.val, null - br i1 %tobool.not.i.i.i.i.i.i162, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit164, label %if.then.i.i.i.i.i.i163 + %tobool.not.i.i.i.i.i.i172 = icmp eq ptr %arraydestroy.element.val, null + br i1 %tobool.not.i.i.i.i.i.i172, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit174, label %if.then.i.i.i.i.i.i173 -if.then.i.i.i.i.i.i163: ; preds = %arraydestroy.body +if.then.i.i.i.i.i.i173: ; preds = %arraydestroy.body call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit164 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit174 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit164: ; preds = %arraydestroy.body, %if.then.i.i.i.i.i.i163 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit174: ; preds = %arraydestroy.body, %if.then.i.i.i.i.i.i173 %arraydestroy.done = icmp eq ptr %arraydestroy.element, %ref.tmp13 br i1 %arraydestroy.done, label %eh.resume, label %arraydestroy.body -arraydestroy.body133: ; preds = %arraydestroy.body133.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit167 - %arraydestroy.elementPast134 = phi ptr [ %arraydestroy.element135, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit167 ], [ %add.ptr.i.i, %arraydestroy.body133.preheader ] +arraydestroy.body133: ; preds = %arraydestroy.body133.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit177 + %arraydestroy.elementPast134 = phi ptr [ %arraydestroy.element135, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit177 ], [ %add.ptr.i.i, %arraydestroy.body133.preheader ] %arraydestroy.element135 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast134, i64 -1 %arraydestroy.element135.val = load ptr, ptr %arraydestroy.element135, align 8 - %tobool.not.i.i.i.i.i.i165 = icmp eq ptr %arraydestroy.element135.val, null - br i1 %tobool.not.i.i.i.i.i.i165, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit167, label %if.then.i.i.i.i.i.i166 + %tobool.not.i.i.i.i.i.i175 = icmp eq ptr %arraydestroy.element135.val, null + br i1 %tobool.not.i.i.i.i.i.i175, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit177, label %if.then.i.i.i.i.i.i176 -if.then.i.i.i.i.i.i166: ; preds = %arraydestroy.body133 +if.then.i.i.i.i.i.i176: ; preds = %arraydestroy.body133 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element135.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit167 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit177 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit167: ; preds = %arraydestroy.body133, %if.then.i.i.i.i.i.i166 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit177: ; preds = %arraydestroy.body133, %if.then.i.i.i.i.i.i176 %arraydestroy.done136 = icmp eq ptr %arraydestroy.element135, %ref.tmp13 br i1 %arraydestroy.done136, label %eh.resume, label %arraydestroy.body133 @@ -85113,17 +85118,17 @@ invoke.cont155: ; preds = %invoke.cont153 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp147) #28 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp148) #28 %360 = load ptr, ptr %ref.tmp144, align 8 - %cmp.not.i.i168 = icmp eq ptr %360, null - br i1 %cmp.not.i.i168, label %_ZN7testing7MessageD2Ev.exit172, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 + %cmp.not.i.i178 = icmp eq ptr %360, null + br i1 %cmp.not.i.i178, label %_ZN7testing7MessageD2Ev.exit182, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169: ; preds = %invoke.cont155 - %vtable.i.i.i170 = load ptr, ptr %360, align 8 - %vfn.i.i.i171 = getelementptr inbounds ptr, ptr %vtable.i.i.i170, i64 1 - %361 = load ptr, ptr %vfn.i.i.i171, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179: ; preds = %invoke.cont155 + %vtable.i.i.i180 = load ptr, ptr %360, align 8 + %vfn.i.i.i181 = getelementptr inbounds ptr, ptr %vtable.i.i.i180, i64 1 + %361 = load ptr, ptr %vfn.i.i.i181, align 8 call void %361(ptr noundef nonnull align 8 dereferenceable(128) %360) #28 - br label %_ZN7testing7MessageD2Ev.exit172 + br label %_ZN7testing7MessageD2Ev.exit182 -_ZN7testing7MessageD2Ev.exit172: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i169 +_ZN7testing7MessageD2Ev.exit182: ; preds = %invoke.cont155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i179 store ptr null, ptr %ref.tmp144, align 8 br label %if.end159 @@ -85156,76 +85161,76 @@ ehcleanup157: ; preds = %lpad154, %lpad152 ehcleanup158: ; preds = %ehcleanup157, %lpad149 %.pn29.pn = phi { ptr, i32 } [ %.pn29, %ehcleanup157 ], [ %363, %lpad149 ] %366 = load ptr, ptr %ref.tmp144, align 8 - %cmp.not.i.i173 = icmp eq ptr %366, null - br i1 %cmp.not.i.i173, label %_ZN7testing7MessageD2Ev.exit177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 + %cmp.not.i.i183 = icmp eq ptr %366, null + br i1 %cmp.not.i.i183, label %_ZN7testing7MessageD2Ev.exit187, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174: ; preds = %ehcleanup158 - %vtable.i.i.i175 = load ptr, ptr %366, align 8 - %vfn.i.i.i176 = getelementptr inbounds ptr, ptr %vtable.i.i.i175, i64 1 - %367 = load ptr, ptr %vfn.i.i.i176, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184: ; preds = %ehcleanup158 + %vtable.i.i.i185 = load ptr, ptr %366, align 8 + %vfn.i.i.i186 = getelementptr inbounds ptr, ptr %vtable.i.i.i185, i64 1 + %367 = load ptr, ptr %vfn.i.i.i186, align 8 call void %367(ptr noundef nonnull align 8 dereferenceable(128) %366) #28 - br label %_ZN7testing7MessageD2Ev.exit177 + br label %_ZN7testing7MessageD2Ev.exit187 -_ZN7testing7MessageD2Ev.exit177: ; preds = %ehcleanup158, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i174 +_ZN7testing7MessageD2Ev.exit187: ; preds = %ehcleanup158, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i184 store ptr null, ptr %ref.tmp144, align 8 br label %ehcleanup160 -if.end159: ; preds = %invoke.cont140, %_ZN7testing7MessageD2Ev.exit172 - %message_.i178 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_138, i64 0, i32 1 - %368 = load ptr, ptr %message_.i178, align 8 - %cmp.not.i.i179 = icmp eq ptr %368, null - br i1 %cmp.not.i.i179, label %_ZN7testing15AssertionResultD2Ev.exit181, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 +if.end159: ; preds = %invoke.cont140, %_ZN7testing7MessageD2Ev.exit182 + %message_.i188 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_138, i64 0, i32 1 + %368 = load ptr, ptr %message_.i188, align 8 + %cmp.not.i.i189 = icmp eq ptr %368, null + br i1 %cmp.not.i.i189, label %_ZN7testing15AssertionResultD2Ev.exit191, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180: ; preds = %if.end159 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190: ; preds = %if.end159 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %368) #28 call void @_ZdlPv(ptr noundef nonnull %368) #31 - br label %_ZN7testing15AssertionResultD2Ev.exit181 + br label %_ZN7testing15AssertionResultD2Ev.exit191 -_ZN7testing15AssertionResultD2Ev.exit181: ; preds = %if.end159, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i180 - store ptr null, ptr %message_.i178, align 8 +_ZN7testing15AssertionResultD2Ev.exit191: ; preds = %if.end159, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i190 + store ptr null, ptr %message_.i188, align 8 %369 = load ptr, ptr %exemplars, align 8 %370 = load ptr, ptr %15, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %369, %370 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i184, label %for.body.i.i.i.i182 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i194, label %for.body.i.i.i.i192 -for.body.i.i.i.i182: ; preds = %_ZN7testing15AssertionResultD2Ev.exit181, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i - %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i ], [ %369, %_ZN7testing15AssertionResultD2Ev.exit181 ] +for.body.i.i.i.i192: ; preds = %_ZN7testing15AssertionResultD2Ev.exit191, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i ], [ %369, %_ZN7testing15AssertionResultD2Ev.exit191 ] %__first.addr.0.val.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i182 +if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i192 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i) #31 br label %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i -_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i182 +_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i192 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %__first.addr.04.i.i.i.i, i64 1 - %cmp.not.i.i.i.i183 = icmp eq ptr %incdec.ptr.i.i.i.i, %370 - br i1 %cmp.not.i.i.i.i183, label %invoke.cont.i184, label %for.body.i.i.i.i182, !llvm.loop !2315 + %cmp.not.i.i.i.i193 = icmp eq ptr %incdec.ptr.i.i.i.i, %370 + br i1 %cmp.not.i.i.i.i193, label %invoke.cont.i194, label %for.body.i.i.i.i192, !llvm.loop !2315 -invoke.cont.i184: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit181 - %tobool.not.i.i.i186 = icmp eq ptr %369, null - br i1 %tobool.not.i.i.i186, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit, label %if.then.i.i.i187 +invoke.cont.i194: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit191 + %tobool.not.i.i.i196 = icmp eq ptr %369, null + br i1 %tobool.not.i.i.i196, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit, label %if.then.i.i.i197 -if.then.i.i.i187: ; preds = %invoke.cont.i184 +if.then.i.i.i197: ; preds = %invoke.cont.i194 call void @_ZdlPv(ptr noundef nonnull %369) #31 br label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit -_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit: ; preds = %invoke.cont.i184, %if.then.i.i.i187 +_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit: ; preds = %invoke.cont.i194, %if.then.i.i.i197 ret void -ehcleanup160: ; preds = %_ZN7testing7MessageD2Ev.exit177, %lpad145 - %.pn29.pn.pn = phi { ptr, i32 } [ %.pn29.pn, %_ZN7testing7MessageD2Ev.exit177 ], [ %362, %lpad145 ] +ehcleanup160: ; preds = %_ZN7testing7MessageD2Ev.exit187, %lpad145 + %.pn29.pn.pn = phi { ptr, i32 } [ %.pn29.pn, %_ZN7testing7MessageD2Ev.exit187 ], [ %362, %lpad145 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_138) #28 br label %ehcleanup161 -ehcleanup161: ; preds = %if.then.i.i.i41.i, %lpad.body.i, %if.then.i.i.i.i.i, %lpad.i.i, %ehcleanup160 - %.pn29.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn, %ehcleanup160 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i ], [ %.pn46.pn.i.i, %lpad.body.i ], [ %.pn46.pn.i.i, %if.then.i.i.i41.i ] +ehcleanup161: ; preds = %if.then.i.i.i42.i, %lpad.body.i, %if.then.i.i.i.i.i, %lpad.i.i, %ehcleanup160 + %.pn29.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn, %ehcleanup160 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i ], [ %.pn46.pn.i.i, %lpad.body.i ], [ %.pn46.pn.i.i, %if.then.i.i.i42.i ] call fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit164, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit167, %ehcleanup161 - %.pn29.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn.pn, %ehcleanup161 ], [ %14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit167 ], [ %eh.lpad-body, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit164 ] +eh.resume: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit174, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit177, %ehcleanup161 + %.pn29.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn29.pn.pn.pn, %ehcleanup161 ], [ %14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit177 ], [ %eh.lpad-body, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit174 ] resume { ptr, i32 } %.pn29.pn.pn.pn.pn } @@ -85290,7 +85295,7 @@ _ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117Un _ZNSt12_Vector_baseIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_S_check_init_lenEmRKS7_.exit store ptr null, ptr %this, align 8 - %add.ptr13 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr null, i64 %sub.ptr.div.i.i + %add.ptr13 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i %_M_end_of_storage14 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr13, ptr %_M_end_of_storage14, align 8 br label %_ZSt22__uninitialized_copy_aIPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEPS6_S6_ET0_T_SB_SA_RSaIT1_E.exit @@ -85298,7 +85303,7 @@ _ZNSt12_Vector_baseIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__ for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE17_S_check_init_lenEmRKS7_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #32 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -85356,8 +85361,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i br label %for.inc.i.i.i.i for.inc.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.pre-phi, 2 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.pre-phi store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %__first.addr.014.i.i.i.i, i64 1 %incdec.ptr1.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %__cur.015.i.i.i.i, i64 1 @@ -87647,8 +87651,7 @@ invoke.cont14.i: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 5 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp, ptr %add.ptr.i.i.i, ptr %20, ptr %19) to label %invoke.cont30.i unwind label %lpad.i, !noalias !2398 @@ -90288,23 +90291,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0977, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0978, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %24, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.809, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.809, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %24, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %24) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.809, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -90312,7 +90316,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, %if.then.i.i - %25 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %23, %if.then.i.i ] + %25 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_setIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %23, %if.then.i.i ] %inc = add i64 %i.0978, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %26 = load ptr, ptr %25, align 8, !noalias !2426 @@ -95858,8 +95862,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %20, ptr %19) to label %invoke.cont30 unwind label %lpad @@ -99634,23 +99637,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0982, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0983, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.891, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.891, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.891, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -99658,7 +99662,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, %if.then.i.i - %27 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %25, %if.then.i.i ] + %27 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multisetIiSt4hashIiESt8equal_toIiESaIiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %25, %if.then.i.i ] %inc = add i64 %i.0983, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %28 = load ptr, ptr %27, align 8, !noalias !2692 @@ -105364,8 +105368,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %20, ptr %19) to label %invoke.cont30 unwind label %lpad @@ -107553,7 +107556,7 @@ invoke.cont162: ; preds = %invoke.cont149 call5.i.i.i.i.noexc: ; preds = %invoke.cont162 store ptr %call5.i.i.i.i113, ptr %exemplars, align 8 - %add.ptr.i = getelementptr inbounds %"class.absl::flat_hash_set", ptr %call5.i.i.i.i113, i64 13 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i113, i64 416 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -109041,23 +109044,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0985, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0986, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %48, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.978, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.978, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %48, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %48) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.978, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -109065,7 +109069,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, %if.then.i.i - %49 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %47, %if.then.i.i ] + %49 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %47, %if.then.i.i ] %inc = add i64 %i.0986, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %50 = load ptr, ptr %49, align 8, !noalias !2979 @@ -114643,8 +114647,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %20 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %21, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %21, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %19, ptr %18) to label %invoke.cont30 unwind label %lpad @@ -117029,7 +117032,7 @@ invoke.cont162: ; preds = %.noexc112 call5.i.i.i.i.noexc: ; preds = %invoke.cont162 store ptr %call5.i.i.i.i142, ptr %exemplars, align 8 - %add.ptr.i = getelementptr inbounds %"class.absl::node_hash_set", ptr %call5.i.i.i.i142, i64 13 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i142, i64 416 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -118596,23 +118599,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0985, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0986, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %51, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1056, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1056, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %51, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %51) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1056, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -118620,7 +118624,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, %if.then.i.i - %52 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %50, %if.then.i.i ] + %52 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_setIiNS1_4HashIiEESt8equal_toIiESaIiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %50, %if.then.i.i ] %inc = add i64 %i.0986, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %53 = load ptr, ptr %52, align 8, !noalias !3250 @@ -124198,8 +124202,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %20 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %21, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %21, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %19, ptr %18) to label %invoke.cont30 unwind label %lpad @@ -129351,23 +129354,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0987, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0988, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %46, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1144, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1144, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %46, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %46) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1144, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -129375,7 +129379,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, %if.then.i.i - %47 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %45, %if.then.i.i ] + %47 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_setIiSt4lessIiESaIiEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %45, %if.then.i.i ] %inc = add i64 %i.0988, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %48 = load ptr, ptr %47, align 8, !noalias !3537 @@ -136245,7 +136249,7 @@ lpad.i109: ; preds = %invoke.cont31 invoke.cont45: ; preds = %invoke.cont31 store ptr %call5.i.i.i.i2.i108, ptr %ref.tmp34, align 8 - %add.ptr.i1.i111 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i108, i64 1 + %add.ptr.i1.i111 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i108, i64 4 %_M_end_of_storage.i.i112 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp34, i64 0, i32 2 store ptr %add.ptr.i1.i111, ptr %_M_end_of_storage.i.i112, align 8 store i32 1, ptr %call5.i.i.i.i2.i108, align 4 @@ -136290,1111 +136294,1111 @@ lpad.i129: ; preds = %invoke.cont51 invoke.cont66: ; preds = %invoke.cont51 store ptr %call5.i.i.i.i2.i128, ptr %ref.tmp54, align 8 - %add.ptr.i1.i133 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i128, i64 2 + %add.ptr.i1.i133 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i128, i64 8 %_M_end_of_storage.i.i134 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp54, i64 0, i32 2 store ptr %add.ptr.i1.i133, ptr %_M_end_of_storage.i.i134, align 8 store i32 1, ptr %call5.i.i.i.i2.i128, align 4 %ref.tmp58.sroa.2.0.call5.i.i.i.i2.i128.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i128, i64 4 store i32 1, ptr %ref.tmp58.sroa.2.0.call5.i.i.i.i2.i128.sroa_idx, align 4 - %_M_finish.i.i135 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp54, i64 0, i32 1 - store ptr %add.ptr.i1.i133, ptr %_M_finish.i.i135, align 8 + %_M_finish.i.i136 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp54, i64 0, i32 1 + store ptr %add.ptr.i1.i133, ptr %_M_finish.i.i136, align 8 %arrayinit.element67 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp54, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element67, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i138 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont77 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit995 + %call5.i.i.i.i2.i139 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont77 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit1028 invoke.cont77: ; preds = %invoke.cont66 - store ptr %call5.i.i.i.i2.i138, ptr %arrayinit.element67, align 8 - %add.ptr.i1.i143 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i138, i64 2 - %_M_end_of_storage.i.i144 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i143, ptr %_M_end_of_storage.i.i144, align 8 - store i32 1, ptr %call5.i.i.i.i2.i138, align 4 - %ref.tmp69.sroa.2.0.call5.i.i.i.i2.i138.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i138, i64 4 - store i32 1, ptr %ref.tmp69.sroa.2.0.call5.i.i.i.i2.i138.sroa_idx, align 4 - %_M_finish.i.i145 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i143, ptr %_M_finish.i.i145, align 8 + store ptr %call5.i.i.i.i2.i139, ptr %arrayinit.element67, align 8 + %add.ptr.i1.i144 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i139, i64 8 + %_M_end_of_storage.i.i145 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i144, ptr %_M_end_of_storage.i.i145, align 8 + store i32 1, ptr %call5.i.i.i.i2.i139, align 4 + %ref.tmp69.sroa.2.0.call5.i.i.i.i2.i139.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i139, i64 4 + store i32 1, ptr %ref.tmp69.sroa.2.0.call5.i.i.i.i2.i139.sroa_idx, align 4 + %_M_finish.i.i147 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i144, ptr %_M_finish.i.i147, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element52, i8 0, i64 24, i1 false) - %add.ptr.i.i148 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp54, i64 2 - %call5.i.i.i.i2.i149 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i154 unwind label %lpad.i150 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i154: ; preds = %invoke.cont77 - store ptr %call5.i.i.i.i2.i149, ptr %arrayinit.element52, align 8 - %add.ptr.i1.i155 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i149, i64 2 - %_M_end_of_storage.i.i156 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 5, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i155, ptr %_M_end_of_storage.i.i156, align 8 - %call.i.i.i.i3.i157 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp54, ptr noundef nonnull %add.ptr.i.i148, ptr noundef nonnull %call5.i.i.i.i2.i149) - to label %invoke.cont84 unwind label %lpad.i150 - -lpad.i150: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i154, %invoke.cont77 + %add.ptr.i.i150 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp54, i64 2 + %call5.i.i.i.i2.i151 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i156 unwind label %lpad.i152 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i156: ; preds = %invoke.cont77 + store ptr %call5.i.i.i.i2.i151, ptr %arrayinit.element52, align 8 + %add.ptr.i1.i157 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i151, i64 2 + %_M_end_of_storage.i.i158 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 5, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i157, ptr %_M_end_of_storage.i.i158, align 8 + %call.i.i.i.i3.i159 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp54, ptr noundef nonnull %add.ptr.i.i150, ptr noundef nonnull %call5.i.i.i.i2.i151) + to label %invoke.cont84 unwind label %lpad.i152 + +lpad.i152: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i156, %invoke.cont77 %10 = landingpad { ptr, i32 } cleanup %11 = load ptr, ptr %arrayinit.element52, align 8 - %tobool.not.i.i.i151 = icmp eq ptr %11, null - br i1 %tobool.not.i.i.i151, label %ehcleanup1068, label %if.then.i.i4.i152 + %tobool.not.i.i.i153 = icmp eq ptr %11, null + br i1 %tobool.not.i.i.i153, label %ehcleanup1068, label %if.then.i.i4.i154 -if.then.i.i4.i152: ; preds = %lpad.i150 +if.then.i.i4.i154: ; preds = %lpad.i152 call void @_ZdlPv(ptr noundef nonnull %11) #31 br label %ehcleanup1068 -invoke.cont84: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i154 - %_M_finish.i.i158 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 5, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i157, ptr %_M_finish.i.i158, align 8 +invoke.cont84: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i156 + %_M_finish.i.i160 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 5, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i159, ptr %_M_finish.i.i160, align 8 %arrayinit.element85 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 6 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp87, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i161 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont100 unwind label %lpad.i162 + %call5.i.i.i.i2.i163 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont100 unwind label %lpad.i164 -lpad.i162: ; preds = %invoke.cont84 +lpad.i164: ; preds = %invoke.cont84 %12 = landingpad { ptr, i32 } cleanup br label %ehcleanup1068 invoke.cont100: ; preds = %invoke.cont84 - store ptr %call5.i.i.i.i2.i161, ptr %ref.tmp87, align 8 - %add.ptr.i1.i166 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i161, i64 3 - %_M_end_of_storage.i.i167 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp87, i64 0, i32 2 - store ptr %add.ptr.i1.i166, ptr %_M_end_of_storage.i.i167, align 8 - store i32 1, ptr %call5.i.i.i.i2.i161, align 4 - %ref.tmp91.sroa.2.0.call5.i.i.i.i2.i161.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i161, i64 4 - store i32 1, ptr %ref.tmp91.sroa.2.0.call5.i.i.i.i2.i161.sroa_idx, align 4 - %ref.tmp91.sroa.3.0.call5.i.i.i.i2.i161.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i161, i64 8 - store i32 1, ptr %ref.tmp91.sroa.3.0.call5.i.i.i.i2.i161.sroa_idx, align 4 - %_M_finish.i.i168 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp87, i64 0, i32 1 - store ptr %add.ptr.i1.i166, ptr %_M_finish.i.i168, align 8 + store ptr %call5.i.i.i.i2.i163, ptr %ref.tmp87, align 8 + %add.ptr.i1.i168 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i163, i64 12 + %_M_end_of_storage.i.i169 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp87, i64 0, i32 2 + store ptr %add.ptr.i1.i168, ptr %_M_end_of_storage.i.i169, align 8 + store i32 1, ptr %call5.i.i.i.i2.i163, align 4 + %ref.tmp91.sroa.2.0.call5.i.i.i.i2.i163.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i163, i64 4 + store i32 1, ptr %ref.tmp91.sroa.2.0.call5.i.i.i.i2.i163.sroa_idx, align 4 + %ref.tmp91.sroa.3.0.call5.i.i.i.i2.i163.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i163, i64 8 + store i32 1, ptr %ref.tmp91.sroa.3.0.call5.i.i.i.i2.i163.sroa_idx, align 4 + %_M_finish.i.i171 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp87, i64 0, i32 1 + store ptr %add.ptr.i1.i168, ptr %_M_finish.i.i171, align 8 %arrayinit.element101 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element101, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i171 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont112 unwind label %lpad.i172 + %call5.i.i.i.i2.i174 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont112 unwind label %lpad.i175 -lpad.i172: ; preds = %invoke.cont100 +lpad.i175: ; preds = %invoke.cont100 %13 = landingpad { ptr, i32 } cleanup br label %ehcleanup1057 invoke.cont112: ; preds = %invoke.cont100 - store ptr %call5.i.i.i.i2.i171, ptr %arrayinit.element101, align 8 - %add.ptr.i1.i176 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i171, i64 3 - %_M_end_of_storage.i.i177 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i176, ptr %_M_end_of_storage.i.i177, align 8 - store i32 1, ptr %call5.i.i.i.i2.i171, align 4 - %ref.tmp103.sroa.2.0.call5.i.i.i.i2.i171.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i171, i64 4 - store i32 1, ptr %ref.tmp103.sroa.2.0.call5.i.i.i.i2.i171.sroa_idx, align 4 - %ref.tmp103.sroa.3.0.call5.i.i.i.i2.i171.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i171, i64 8 - store i32 1, ptr %ref.tmp103.sroa.3.0.call5.i.i.i.i2.i171.sroa_idx, align 4 - %_M_finish.i.i178 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i176, ptr %_M_finish.i.i178, align 8 + store ptr %call5.i.i.i.i2.i174, ptr %arrayinit.element101, align 8 + %add.ptr.i1.i179 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i174, i64 12 + %_M_end_of_storage.i.i180 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i179, ptr %_M_end_of_storage.i.i180, align 8 + store i32 1, ptr %call5.i.i.i.i2.i174, align 4 + %ref.tmp103.sroa.2.0.call5.i.i.i.i2.i174.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i174, i64 4 + store i32 1, ptr %ref.tmp103.sroa.2.0.call5.i.i.i.i2.i174.sroa_idx, align 4 + %ref.tmp103.sroa.3.0.call5.i.i.i.i2.i174.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i174, i64 8 + store i32 1, ptr %ref.tmp103.sroa.3.0.call5.i.i.i.i2.i174.sroa_idx, align 4 + %_M_finish.i.i182 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i179, ptr %_M_finish.i.i182, align 8 %arrayinit.element113 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element113, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i181 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont124 unwind label %lpad.i182 + %call5.i.i.i.i2.i185 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont124 unwind label %lpad.i186 -lpad.i182: ; preds = %invoke.cont112 +lpad.i186: ; preds = %invoke.cont112 %14 = landingpad { ptr, i32 } cleanup br label %ehcleanup1057 invoke.cont124: ; preds = %invoke.cont112 - store ptr %call5.i.i.i.i2.i181, ptr %arrayinit.element113, align 8 - %add.ptr.i1.i186 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i181, i64 3 - %_M_end_of_storage.i.i187 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 2, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i186, ptr %_M_end_of_storage.i.i187, align 8 - store i32 1, ptr %call5.i.i.i.i2.i181, align 4 - %ref.tmp115.sroa.2.0.call5.i.i.i.i2.i181.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i181, i64 4 - store i32 1, ptr %ref.tmp115.sroa.2.0.call5.i.i.i.i2.i181.sroa_idx, align 4 - %ref.tmp115.sroa.3.0.call5.i.i.i.i2.i181.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i181, i64 8 - store i32 1, ptr %ref.tmp115.sroa.3.0.call5.i.i.i.i2.i181.sroa_idx, align 4 - %_M_finish.i.i188 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i186, ptr %_M_finish.i.i188, align 8 + store ptr %call5.i.i.i.i2.i185, ptr %arrayinit.element113, align 8 + %add.ptr.i1.i190 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i185, i64 12 + %_M_end_of_storage.i.i191 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 2, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i190, ptr %_M_end_of_storage.i.i191, align 8 + store i32 1, ptr %call5.i.i.i.i2.i185, align 4 + %ref.tmp115.sroa.2.0.call5.i.i.i.i2.i185.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i185, i64 4 + store i32 1, ptr %ref.tmp115.sroa.2.0.call5.i.i.i.i2.i185.sroa_idx, align 4 + %ref.tmp115.sroa.3.0.call5.i.i.i.i2.i185.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i185, i64 8 + store i32 1, ptr %ref.tmp115.sroa.3.0.call5.i.i.i.i2.i185.sroa_idx, align 4 + %_M_finish.i.i193 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i190, ptr %_M_finish.i.i193, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element85, i8 0, i64 24, i1 false) - %add.ptr.i.i191 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 3 - %call5.i.i.i.i2.i192 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i197 unwind label %lpad.i193 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i197: ; preds = %invoke.cont124 - store ptr %call5.i.i.i.i2.i192, ptr %arrayinit.element85, align 8 - %add.ptr.i1.i198 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i192, i64 3 - %_M_end_of_storage.i.i199 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 6, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i198, ptr %_M_end_of_storage.i.i199, align 8 - %call.i.i.i.i3.i200 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp87, ptr noundef nonnull %add.ptr.i.i191, ptr noundef nonnull %call5.i.i.i.i2.i192) - to label %invoke.cont131 unwind label %lpad.i193 - -lpad.i193: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i197, %invoke.cont124 + %add.ptr.i.i196 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp87, i64 3 + %call5.i.i.i.i2.i197 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i202 unwind label %lpad.i198 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i202: ; preds = %invoke.cont124 + store ptr %call5.i.i.i.i2.i197, ptr %arrayinit.element85, align 8 + %add.ptr.i1.i203 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i197, i64 3 + %_M_end_of_storage.i.i204 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 6, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i203, ptr %_M_end_of_storage.i.i204, align 8 + %call.i.i.i.i3.i205 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp87, ptr noundef nonnull %add.ptr.i.i196, ptr noundef nonnull %call5.i.i.i.i2.i197) + to label %invoke.cont131 unwind label %lpad.i198 + +lpad.i198: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i202, %invoke.cont124 %15 = landingpad { ptr, i32 } cleanup %16 = load ptr, ptr %arrayinit.element85, align 8 - %tobool.not.i.i.i194 = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i194, label %ehcleanup1041, label %if.then.i.i4.i195 + %tobool.not.i.i.i199 = icmp eq ptr %16, null + br i1 %tobool.not.i.i.i199, label %ehcleanup1041, label %if.then.i.i4.i200 -if.then.i.i4.i195: ; preds = %lpad.i193 +if.then.i.i4.i200: ; preds = %lpad.i198 call void @_ZdlPv(ptr noundef nonnull %16) #31 br label %ehcleanup1041 -invoke.cont131: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i197 - %_M_finish.i.i201 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 6, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i200, ptr %_M_finish.i.i201, align 8 +invoke.cont131: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i202 + %_M_finish.i.i206 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 6, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i205, ptr %_M_finish.i.i206, align 8 %arrayinit.element132 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp134, i8 0, i64 48, i1 false) - %call5.i.i.i.i2.i204 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont147 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit975 + %call5.i.i.i.i2.i209 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont147 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit1008 invoke.cont147: ; preds = %invoke.cont131 %arrayinit.element137 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp134, i64 1 - store ptr %call5.i.i.i.i2.i204, ptr %arrayinit.element137, align 8 - %add.ptr.i1.i209 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i204, i64 2 - %_M_end_of_storage.i.i210 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp134, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i209, ptr %_M_end_of_storage.i.i210, align 8 - store i32 1, ptr %call5.i.i.i.i2.i204, align 4 - %ref.tmp139.sroa.2.0.call5.i.i.i.i2.i204.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i204, i64 4 - store i32 2, ptr %ref.tmp139.sroa.2.0.call5.i.i.i.i2.i204.sroa_idx, align 4 - %_M_finish.i.i211 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp134, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i209, ptr %_M_finish.i.i211, align 8 + store ptr %call5.i.i.i.i2.i209, ptr %arrayinit.element137, align 8 + %add.ptr.i1.i214 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i209, i64 8 + %_M_end_of_storage.i.i215 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp134, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i214, ptr %_M_end_of_storage.i.i215, align 8 + store i32 1, ptr %call5.i.i.i.i2.i209, align 4 + %ref.tmp139.sroa.2.0.call5.i.i.i.i2.i209.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i209, i64 4 + store i32 2, ptr %ref.tmp139.sroa.2.0.call5.i.i.i.i2.i209.sroa_idx, align 4 + %_M_finish.i.i217 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp134, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i214, ptr %_M_finish.i.i217, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element132, i8 0, i64 24, i1 false) - %add.ptr.i.i214 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp134, i64 2 - %call5.i.i.i.i2.i215 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i220 unwind label %lpad.i216 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i220: ; preds = %invoke.cont147 - store ptr %call5.i.i.i.i2.i215, ptr %arrayinit.element132, align 8 - %add.ptr.i1.i221 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i215, i64 2 - %_M_end_of_storage.i.i222 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 7, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i221, ptr %_M_end_of_storage.i.i222, align 8 - %call.i.i.i.i3.i223 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp134, ptr noundef nonnull %add.ptr.i.i214, ptr noundef nonnull %call5.i.i.i.i2.i215) - to label %invoke.cont154 unwind label %lpad.i216 - -lpad.i216: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i220, %invoke.cont147 + %add.ptr.i.i220 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp134, i64 2 + %call5.i.i.i.i2.i221 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i226 unwind label %lpad.i222 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i226: ; preds = %invoke.cont147 + store ptr %call5.i.i.i.i2.i221, ptr %arrayinit.element132, align 8 + %add.ptr.i1.i227 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i221, i64 2 + %_M_end_of_storage.i.i228 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 7, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i227, ptr %_M_end_of_storage.i.i228, align 8 + %call.i.i.i.i3.i229 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp134, ptr noundef nonnull %add.ptr.i.i220, ptr noundef nonnull %call5.i.i.i.i2.i221) + to label %invoke.cont154 unwind label %lpad.i222 + +lpad.i222: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i226, %invoke.cont147 %17 = landingpad { ptr, i32 } cleanup %18 = load ptr, ptr %arrayinit.element132, align 8 - %tobool.not.i.i.i217 = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i217, label %ehcleanup1016, label %if.then.i.i4.i218 + %tobool.not.i.i.i223 = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i223, label %ehcleanup1016, label %if.then.i.i4.i224 -if.then.i.i4.i218: ; preds = %lpad.i216 +if.then.i.i4.i224: ; preds = %lpad.i222 call void @_ZdlPv(ptr noundef nonnull %18) #31 br label %ehcleanup1016 -invoke.cont154: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i220 - %_M_finish.i.i224 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 7, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i223, ptr %_M_finish.i.i224, align 8 +invoke.cont154: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i226 + %_M_finish.i.i230 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 7, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i229, ptr %_M_finish.i.i230, align 8 %arrayinit.element155 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp157, i8 0, i64 48, i1 false) - %call5.i.i.i.i2.i227 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont170 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit965 + %call5.i.i.i.i2.i233 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont170 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit998 invoke.cont170: ; preds = %invoke.cont154 %arrayinit.element160 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp157, i64 1 - store ptr %call5.i.i.i.i2.i227, ptr %arrayinit.element160, align 8 - %add.ptr.i1.i232 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i227, i64 2 - %_M_end_of_storage.i.i233 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp157, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i232, ptr %_M_end_of_storage.i.i233, align 8 - store i32 2, ptr %call5.i.i.i.i2.i227, align 4 - %ref.tmp162.sroa.2.0.call5.i.i.i.i2.i227.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i227, i64 4 - store i32 1, ptr %ref.tmp162.sroa.2.0.call5.i.i.i.i2.i227.sroa_idx, align 4 - %_M_finish.i.i234 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp157, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i232, ptr %_M_finish.i.i234, align 8 + store ptr %call5.i.i.i.i2.i233, ptr %arrayinit.element160, align 8 + %add.ptr.i1.i238 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i233, i64 8 + %_M_end_of_storage.i.i239 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp157, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i238, ptr %_M_end_of_storage.i.i239, align 8 + store i32 2, ptr %call5.i.i.i.i2.i233, align 4 + %ref.tmp162.sroa.2.0.call5.i.i.i.i2.i233.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i233, i64 4 + store i32 1, ptr %ref.tmp162.sroa.2.0.call5.i.i.i.i2.i233.sroa_idx, align 4 + %_M_finish.i.i241 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp157, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i238, ptr %_M_finish.i.i241, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element155, i8 0, i64 24, i1 false) - %add.ptr.i.i237 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp157, i64 2 - %call5.i.i.i.i2.i238 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i243 unwind label %lpad.i239 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i243: ; preds = %invoke.cont170 - store ptr %call5.i.i.i.i2.i238, ptr %arrayinit.element155, align 8 - %add.ptr.i1.i244 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i238, i64 2 - %_M_end_of_storage.i.i245 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 8, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i244, ptr %_M_end_of_storage.i.i245, align 8 - %call.i.i.i.i3.i246 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp157, ptr noundef nonnull %add.ptr.i.i237, ptr noundef nonnull %call5.i.i.i.i2.i238) - to label %invoke.cont177 unwind label %lpad.i239 - -lpad.i239: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i243, %invoke.cont170 + %add.ptr.i.i244 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp157, i64 2 + %call5.i.i.i.i2.i245 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i250 unwind label %lpad.i246 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i250: ; preds = %invoke.cont170 + store ptr %call5.i.i.i.i2.i245, ptr %arrayinit.element155, align 8 + %add.ptr.i1.i251 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i245, i64 2 + %_M_end_of_storage.i.i252 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 8, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i251, ptr %_M_end_of_storage.i.i252, align 8 + %call.i.i.i.i3.i253 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp157, ptr noundef nonnull %add.ptr.i.i244, ptr noundef nonnull %call5.i.i.i.i2.i245) + to label %invoke.cont177 unwind label %lpad.i246 + +lpad.i246: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i250, %invoke.cont170 %19 = landingpad { ptr, i32 } cleanup %20 = load ptr, ptr %arrayinit.element155, align 8 - %tobool.not.i.i.i240 = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i240, label %ehcleanup991, label %if.then.i.i4.i241 + %tobool.not.i.i.i247 = icmp eq ptr %20, null + br i1 %tobool.not.i.i.i247, label %ehcleanup991, label %if.then.i.i4.i248 -if.then.i.i4.i241: ; preds = %lpad.i239 +if.then.i.i4.i248: ; preds = %lpad.i246 call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %ehcleanup991 -invoke.cont177: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i243 - %_M_finish.i.i247 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 8, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i246, ptr %_M_finish.i.i247, align 8 +invoke.cont177: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i250 + %_M_finish.i.i254 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 8, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i253, ptr %_M_finish.i.i254, align 8 %arrayinit.element178 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp180, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i250 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont192 unwind label %lpad.i251 + %call5.i.i.i.i2.i257 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont192 unwind label %lpad.i258 -lpad.i251: ; preds = %invoke.cont177 +lpad.i258: ; preds = %invoke.cont177 %21 = landingpad { ptr, i32 } cleanup br label %ehcleanup991 invoke.cont192: ; preds = %invoke.cont177 - store ptr %call5.i.i.i.i2.i250, ptr %ref.tmp180, align 8 - %add.ptr.i1.i255 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i250, i64 2 - %_M_end_of_storage.i.i256 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp180, i64 0, i32 2 - store ptr %add.ptr.i1.i255, ptr %_M_end_of_storage.i.i256, align 8 - store i32 1, ptr %call5.i.i.i.i2.i250, align 4 - %ref.tmp184.sroa.2.0.call5.i.i.i.i2.i250.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i250, i64 4 - store i32 2, ptr %ref.tmp184.sroa.2.0.call5.i.i.i.i2.i250.sroa_idx, align 4 - %_M_finish.i.i257 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp180, i64 0, i32 1 - store ptr %add.ptr.i1.i255, ptr %_M_finish.i.i257, align 8 + store ptr %call5.i.i.i.i2.i257, ptr %ref.tmp180, align 8 + %add.ptr.i1.i262 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i257, i64 8 + %_M_end_of_storage.i.i263 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp180, i64 0, i32 2 + store ptr %add.ptr.i1.i262, ptr %_M_end_of_storage.i.i263, align 8 + store i32 1, ptr %call5.i.i.i.i2.i257, align 4 + %ref.tmp184.sroa.2.0.call5.i.i.i.i2.i257.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i257, i64 4 + store i32 2, ptr %ref.tmp184.sroa.2.0.call5.i.i.i.i2.i257.sroa_idx, align 4 + %_M_finish.i.i265 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp180, i64 0, i32 1 + store ptr %add.ptr.i1.i262, ptr %_M_finish.i.i265, align 8 %arrayinit.element193 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp180, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element193, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element178, i8 0, i64 24, i1 false) - %add.ptr.i.i260 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp180, i64 2 - %call5.i.i.i.i2.i261 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i266 unwind label %lpad.i262 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i266: ; preds = %invoke.cont192 - store ptr %call5.i.i.i.i2.i261, ptr %arrayinit.element178, align 8 - %add.ptr.i1.i267 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i261, i64 2 - %_M_end_of_storage.i.i268 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 9, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i267, ptr %_M_end_of_storage.i.i268, align 8 - %call.i.i.i.i3.i269 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp180, ptr noundef nonnull %add.ptr.i.i260, ptr noundef nonnull %call5.i.i.i.i2.i261) - to label %invoke.cont200 unwind label %lpad.i262 - -lpad.i262: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i266, %invoke.cont192 + %add.ptr.i.i268 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp180, i64 2 + %call5.i.i.i.i2.i269 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i274 unwind label %lpad.i270 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i274: ; preds = %invoke.cont192 + store ptr %call5.i.i.i.i2.i269, ptr %arrayinit.element178, align 8 + %add.ptr.i1.i275 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i269, i64 2 + %_M_end_of_storage.i.i276 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 9, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i275, ptr %_M_end_of_storage.i.i276, align 8 + %call.i.i.i.i3.i277 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp180, ptr noundef nonnull %add.ptr.i.i268, ptr noundef nonnull %call5.i.i.i.i2.i269) + to label %invoke.cont200 unwind label %lpad.i270 + +lpad.i270: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i274, %invoke.cont192 %22 = landingpad { ptr, i32 } cleanup %23 = load ptr, ptr %arrayinit.element178, align 8 - %tobool.not.i.i.i263 = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i263, label %ehcleanup966, label %if.then.i.i4.i264 + %tobool.not.i.i.i271 = icmp eq ptr %23, null + br i1 %tobool.not.i.i.i271, label %ehcleanup966, label %if.then.i.i4.i272 -if.then.i.i4.i264: ; preds = %lpad.i262 +if.then.i.i4.i272: ; preds = %lpad.i270 call void @_ZdlPv(ptr noundef nonnull %23) #31 br label %ehcleanup966 -invoke.cont200: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i266 - %_M_finish.i.i270 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 9, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i269, ptr %_M_finish.i.i270, align 8 +invoke.cont200: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i274 + %_M_finish.i.i278 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 9, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i277, ptr %_M_finish.i.i278, align 8 %arrayinit.element201 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 10 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp203, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i273 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont215 unwind label %lpad.i274 + %call5.i.i.i.i2.i281 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont215 unwind label %lpad.i282 -lpad.i274: ; preds = %invoke.cont200 +lpad.i282: ; preds = %invoke.cont200 %24 = landingpad { ptr, i32 } cleanup br label %ehcleanup966 invoke.cont215: ; preds = %invoke.cont200 - store ptr %call5.i.i.i.i2.i273, ptr %ref.tmp203, align 8 - %add.ptr.i1.i278 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i273, i64 2 - %_M_end_of_storage.i.i279 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp203, i64 0, i32 2 - store ptr %add.ptr.i1.i278, ptr %_M_end_of_storage.i.i279, align 8 - store i32 2, ptr %call5.i.i.i.i2.i273, align 4 - %ref.tmp207.sroa.2.0.call5.i.i.i.i2.i273.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i273, i64 4 - store i32 1, ptr %ref.tmp207.sroa.2.0.call5.i.i.i.i2.i273.sroa_idx, align 4 - %_M_finish.i.i280 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp203, i64 0, i32 1 - store ptr %add.ptr.i1.i278, ptr %_M_finish.i.i280, align 8 + store ptr %call5.i.i.i.i2.i281, ptr %ref.tmp203, align 8 + %add.ptr.i1.i286 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i281, i64 8 + %_M_end_of_storage.i.i287 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp203, i64 0, i32 2 + store ptr %add.ptr.i1.i286, ptr %_M_end_of_storage.i.i287, align 8 + store i32 2, ptr %call5.i.i.i.i2.i281, align 4 + %ref.tmp207.sroa.2.0.call5.i.i.i.i2.i281.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i281, i64 4 + store i32 1, ptr %ref.tmp207.sroa.2.0.call5.i.i.i.i2.i281.sroa_idx, align 4 + %_M_finish.i.i289 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp203, i64 0, i32 1 + store ptr %add.ptr.i1.i286, ptr %_M_finish.i.i289, align 8 %arrayinit.element216 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp203, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element216, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element201, i8 0, i64 24, i1 false) - %add.ptr.i.i283 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp203, i64 2 - %call5.i.i.i.i2.i284 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i289 unwind label %lpad.i285 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i289: ; preds = %invoke.cont215 - store ptr %call5.i.i.i.i2.i284, ptr %arrayinit.element201, align 8 - %add.ptr.i1.i290 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i284, i64 2 - %_M_end_of_storage.i.i291 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 10, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i290, ptr %_M_end_of_storage.i.i291, align 8 - %call.i.i.i.i3.i292 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp203, ptr noundef nonnull %add.ptr.i.i283, ptr noundef nonnull %call5.i.i.i.i2.i284) - to label %invoke.cont223 unwind label %lpad.i285 - -lpad.i285: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i289, %invoke.cont215 + %add.ptr.i.i292 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp203, i64 2 + %call5.i.i.i.i2.i293 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i298 unwind label %lpad.i294 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i298: ; preds = %invoke.cont215 + store ptr %call5.i.i.i.i2.i293, ptr %arrayinit.element201, align 8 + %add.ptr.i1.i299 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i293, i64 2 + %_M_end_of_storage.i.i300 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 10, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i299, ptr %_M_end_of_storage.i.i300, align 8 + %call.i.i.i.i3.i301 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp203, ptr noundef nonnull %add.ptr.i.i292, ptr noundef nonnull %call5.i.i.i.i2.i293) + to label %invoke.cont223 unwind label %lpad.i294 + +lpad.i294: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i298, %invoke.cont215 %25 = landingpad { ptr, i32 } cleanup %26 = load ptr, ptr %arrayinit.element201, align 8 - %tobool.not.i.i.i286 = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i286, label %ehcleanup941, label %if.then.i.i4.i287 + %tobool.not.i.i.i295 = icmp eq ptr %26, null + br i1 %tobool.not.i.i.i295, label %ehcleanup941, label %if.then.i.i4.i296 -if.then.i.i4.i287: ; preds = %lpad.i285 +if.then.i.i4.i296: ; preds = %lpad.i294 call void @_ZdlPv(ptr noundef nonnull %26) #31 br label %ehcleanup941 -invoke.cont223: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i289 - %_M_finish.i.i293 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 10, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i292, ptr %_M_finish.i.i293, align 8 +invoke.cont223: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i298 + %_M_finish.i.i302 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 10, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i301, ptr %_M_finish.i.i302, align 8 %arrayinit.element224 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp226, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i296 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont238 unwind label %lpad.i297 + %call5.i.i.i.i2.i305 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont238 unwind label %lpad.i306 -lpad.i297: ; preds = %invoke.cont223 +lpad.i306: ; preds = %invoke.cont223 %27 = landingpad { ptr, i32 } cleanup br label %ehcleanup941 invoke.cont238: ; preds = %invoke.cont223 - store ptr %call5.i.i.i.i2.i296, ptr %ref.tmp226, align 8 - %add.ptr.i1.i301 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i296, i64 2 - %_M_end_of_storage.i.i302 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp226, i64 0, i32 2 - store ptr %add.ptr.i1.i301, ptr %_M_end_of_storage.i.i302, align 8 - store i32 1, ptr %call5.i.i.i.i2.i296, align 4 - %ref.tmp230.sroa.2.0.call5.i.i.i.i2.i296.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i296, i64 4 - store i32 2, ptr %ref.tmp230.sroa.2.0.call5.i.i.i.i2.i296.sroa_idx, align 4 - %_M_finish.i.i303 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp226, i64 0, i32 1 - store ptr %add.ptr.i1.i301, ptr %_M_finish.i.i303, align 8 + store ptr %call5.i.i.i.i2.i305, ptr %ref.tmp226, align 8 + %add.ptr.i1.i310 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i305, i64 8 + %_M_end_of_storage.i.i311 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp226, i64 0, i32 2 + store ptr %add.ptr.i1.i310, ptr %_M_end_of_storage.i.i311, align 8 + store i32 1, ptr %call5.i.i.i.i2.i305, align 4 + %ref.tmp230.sroa.2.0.call5.i.i.i.i2.i305.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i305, i64 4 + store i32 2, ptr %ref.tmp230.sroa.2.0.call5.i.i.i.i2.i305.sroa_idx, align 4 + %_M_finish.i.i313 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp226, i64 0, i32 1 + store ptr %add.ptr.i1.i310, ptr %_M_finish.i.i313, align 8 %arrayinit.element239 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp226, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element239, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i306 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont249 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit935 + %call5.i.i.i.i2.i316 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont249 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit968 invoke.cont249: ; preds = %invoke.cont238 - store ptr %call5.i.i.i.i2.i306, ptr %arrayinit.element239, align 8 - %add.ptr.i1.i311 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i306, i64 2 - %_M_end_of_storage.i.i312 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp226, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i311, ptr %_M_end_of_storage.i.i312, align 8 - store i32 3, ptr %call5.i.i.i.i2.i306, align 4 - %ref.tmp241.sroa.2.0.call5.i.i.i.i2.i306.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i306, i64 4 - store i32 4, ptr %ref.tmp241.sroa.2.0.call5.i.i.i.i2.i306.sroa_idx, align 4 - %_M_finish.i.i313 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp226, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i311, ptr %_M_finish.i.i313, align 8 + store ptr %call5.i.i.i.i2.i316, ptr %arrayinit.element239, align 8 + %add.ptr.i1.i321 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i316, i64 8 + %_M_end_of_storage.i.i322 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp226, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i321, ptr %_M_end_of_storage.i.i322, align 8 + store i32 3, ptr %call5.i.i.i.i2.i316, align 4 + %ref.tmp241.sroa.2.0.call5.i.i.i.i2.i316.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i316, i64 4 + store i32 4, ptr %ref.tmp241.sroa.2.0.call5.i.i.i.i2.i316.sroa_idx, align 4 + %_M_finish.i.i324 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp226, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i321, ptr %_M_finish.i.i324, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element224, i8 0, i64 24, i1 false) - %add.ptr.i.i316 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp226, i64 2 - %call5.i.i.i.i2.i317 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i322 unwind label %lpad.i318 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i322: ; preds = %invoke.cont249 - store ptr %call5.i.i.i.i2.i317, ptr %arrayinit.element224, align 8 - %add.ptr.i1.i323 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i317, i64 2 - %_M_end_of_storage.i.i324 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 11, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i323, ptr %_M_end_of_storage.i.i324, align 8 - %call.i.i.i.i3.i325 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp226, ptr noundef nonnull %add.ptr.i.i316, ptr noundef nonnull %call5.i.i.i.i2.i317) - to label %invoke.cont256 unwind label %lpad.i318 - -lpad.i318: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i322, %invoke.cont249 + %add.ptr.i.i327 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp226, i64 2 + %call5.i.i.i.i2.i328 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i333 unwind label %lpad.i329 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i333: ; preds = %invoke.cont249 + store ptr %call5.i.i.i.i2.i328, ptr %arrayinit.element224, align 8 + %add.ptr.i1.i334 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i328, i64 2 + %_M_end_of_storage.i.i335 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 11, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i334, ptr %_M_end_of_storage.i.i335, align 8 + %call.i.i.i.i3.i336 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp226, ptr noundef nonnull %add.ptr.i.i327, ptr noundef nonnull %call5.i.i.i.i2.i328) + to label %invoke.cont256 unwind label %lpad.i329 + +lpad.i329: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i333, %invoke.cont249 %28 = landingpad { ptr, i32 } cleanup %29 = load ptr, ptr %arrayinit.element224, align 8 - %tobool.not.i.i.i319 = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i319, label %ehcleanup915, label %if.then.i.i4.i320 + %tobool.not.i.i.i330 = icmp eq ptr %29, null + br i1 %tobool.not.i.i.i330, label %ehcleanup915, label %if.then.i.i4.i331 -if.then.i.i4.i320: ; preds = %lpad.i318 +if.then.i.i4.i331: ; preds = %lpad.i329 call void @_ZdlPv(ptr noundef nonnull %29) #31 br label %ehcleanup915 -invoke.cont256: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i322 - %_M_finish.i.i326 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 11, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i325, ptr %_M_finish.i.i326, align 8 +invoke.cont256: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i333 + %_M_finish.i.i337 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 11, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i336, ptr %_M_finish.i.i337, align 8 %arrayinit.element257 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp259, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i329 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont271 unwind label %lpad.i330 + %call5.i.i.i.i2.i340 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont271 unwind label %lpad.i341 -lpad.i330: ; preds = %invoke.cont256 +lpad.i341: ; preds = %invoke.cont256 %30 = landingpad { ptr, i32 } cleanup br label %ehcleanup915 invoke.cont271: ; preds = %invoke.cont256 - store ptr %call5.i.i.i.i2.i329, ptr %ref.tmp259, align 8 - %add.ptr.i1.i334 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i329, i64 2 - %_M_end_of_storage.i.i335 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp259, i64 0, i32 2 - store ptr %add.ptr.i1.i334, ptr %_M_end_of_storage.i.i335, align 8 - store i32 1, ptr %call5.i.i.i.i2.i329, align 4 - %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i329.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i329, i64 4 - store i32 2, ptr %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i329.sroa_idx, align 4 - %_M_finish.i.i336 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp259, i64 0, i32 1 - store ptr %add.ptr.i1.i334, ptr %_M_finish.i.i336, align 8 + store ptr %call5.i.i.i.i2.i340, ptr %ref.tmp259, align 8 + %add.ptr.i1.i345 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i340, i64 8 + %_M_end_of_storage.i.i346 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp259, i64 0, i32 2 + store ptr %add.ptr.i1.i345, ptr %_M_end_of_storage.i.i346, align 8 + store i32 1, ptr %call5.i.i.i.i2.i340, align 4 + %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i340.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i340, i64 4 + store i32 2, ptr %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i340.sroa_idx, align 4 + %_M_finish.i.i348 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp259, i64 0, i32 1 + store ptr %add.ptr.i1.i345, ptr %_M_finish.i.i348, align 8 %arrayinit.element272 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp259, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element272, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i339 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont282 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit925 + %call5.i.i.i.i2.i351 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont282 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit958 invoke.cont282: ; preds = %invoke.cont271 - store ptr %call5.i.i.i.i2.i339, ptr %arrayinit.element272, align 8 - %add.ptr.i1.i344 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i339, i64 2 - %_M_end_of_storage.i.i345 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp259, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i344, ptr %_M_end_of_storage.i.i345, align 8 - store i32 4, ptr %call5.i.i.i.i2.i339, align 4 - %ref.tmp274.sroa.2.0.call5.i.i.i.i2.i339.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i339, i64 4 - store i32 3, ptr %ref.tmp274.sroa.2.0.call5.i.i.i.i2.i339.sroa_idx, align 4 - %_M_finish.i.i346 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp259, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i344, ptr %_M_finish.i.i346, align 8 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element257, i8 0, i64 24, i1 false) - %add.ptr.i.i349 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp259, i64 2 - %call5.i.i.i.i2.i350 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i355 unwind label %lpad.i351 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i355: ; preds = %invoke.cont282 - store ptr %call5.i.i.i.i2.i350, ptr %arrayinit.element257, align 8 - %add.ptr.i1.i356 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i350, i64 2 - %_M_end_of_storage.i.i357 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 12, i32 0, i32 0, i32 0, i32 2 + store ptr %call5.i.i.i.i2.i351, ptr %arrayinit.element272, align 8 + %add.ptr.i1.i356 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i351, i64 8 + %_M_end_of_storage.i.i357 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp259, i64 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i1.i356, ptr %_M_end_of_storage.i.i357, align 8 - %call.i.i.i.i3.i358 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp259, ptr noundef nonnull %add.ptr.i.i349, ptr noundef nonnull %call5.i.i.i.i2.i350) - to label %invoke.cont289 unwind label %lpad.i351 - -lpad.i351: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i355, %invoke.cont282 + store i32 4, ptr %call5.i.i.i.i2.i351, align 4 + %ref.tmp274.sroa.2.0.call5.i.i.i.i2.i351.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i351, i64 4 + store i32 3, ptr %ref.tmp274.sroa.2.0.call5.i.i.i.i2.i351.sroa_idx, align 4 + %_M_finish.i.i359 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp259, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i356, ptr %_M_finish.i.i359, align 8 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element257, i8 0, i64 24, i1 false) + %add.ptr.i.i362 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp259, i64 2 + %call5.i.i.i.i2.i363 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i368 unwind label %lpad.i364 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i368: ; preds = %invoke.cont282 + store ptr %call5.i.i.i.i2.i363, ptr %arrayinit.element257, align 8 + %add.ptr.i1.i369 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i363, i64 2 + %_M_end_of_storage.i.i370 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 12, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i369, ptr %_M_end_of_storage.i.i370, align 8 + %call.i.i.i.i3.i371 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp259, ptr noundef nonnull %add.ptr.i.i362, ptr noundef nonnull %call5.i.i.i.i2.i363) + to label %invoke.cont289 unwind label %lpad.i364 + +lpad.i364: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i368, %invoke.cont282 %31 = landingpad { ptr, i32 } cleanup %32 = load ptr, ptr %arrayinit.element257, align 8 - %tobool.not.i.i.i352 = icmp eq ptr %32, null - br i1 %tobool.not.i.i.i352, label %ehcleanup889, label %if.then.i.i4.i353 + %tobool.not.i.i.i365 = icmp eq ptr %32, null + br i1 %tobool.not.i.i.i365, label %ehcleanup889, label %if.then.i.i4.i366 -if.then.i.i4.i353: ; preds = %lpad.i351 +if.then.i.i4.i366: ; preds = %lpad.i364 call void @_ZdlPv(ptr noundef nonnull %32) #31 br label %ehcleanup889 -invoke.cont289: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i355 - %_M_finish.i.i359 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 12, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i358, ptr %_M_finish.i.i359, align 8 +invoke.cont289: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i368 + %_M_finish.i.i372 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 12, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i371, ptr %_M_finish.i.i372, align 8 %arrayinit.element290 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 13 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp292, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i362 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont304 unwind label %lpad.i363 + %call5.i.i.i.i2.i375 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont304 unwind label %lpad.i376 -lpad.i363: ; preds = %invoke.cont289 +lpad.i376: ; preds = %invoke.cont289 %33 = landingpad { ptr, i32 } cleanup br label %ehcleanup889 invoke.cont304: ; preds = %invoke.cont289 - store ptr %call5.i.i.i.i2.i362, ptr %ref.tmp292, align 8 - %add.ptr.i1.i367 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i362, i64 2 - %_M_end_of_storage.i.i368 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp292, i64 0, i32 2 - store ptr %add.ptr.i1.i367, ptr %_M_end_of_storage.i.i368, align 8 - store i32 1, ptr %call5.i.i.i.i2.i362, align 4 - %ref.tmp296.sroa.2.0.call5.i.i.i.i2.i362.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i362, i64 4 - store i32 3, ptr %ref.tmp296.sroa.2.0.call5.i.i.i.i2.i362.sroa_idx, align 4 - %_M_finish.i.i369 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp292, i64 0, i32 1 - store ptr %add.ptr.i1.i367, ptr %_M_finish.i.i369, align 8 + store ptr %call5.i.i.i.i2.i375, ptr %ref.tmp292, align 8 + %add.ptr.i1.i380 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i375, i64 8 + %_M_end_of_storage.i.i381 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp292, i64 0, i32 2 + store ptr %add.ptr.i1.i380, ptr %_M_end_of_storage.i.i381, align 8 + store i32 1, ptr %call5.i.i.i.i2.i375, align 4 + %ref.tmp296.sroa.2.0.call5.i.i.i.i2.i375.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i375, i64 4 + store i32 3, ptr %ref.tmp296.sroa.2.0.call5.i.i.i.i2.i375.sroa_idx, align 4 + %_M_finish.i.i383 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp292, i64 0, i32 1 + store ptr %add.ptr.i1.i380, ptr %_M_finish.i.i383, align 8 %arrayinit.element305 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp292, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element305, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i372 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont315 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit915 + %call5.i.i.i.i2.i386 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont315 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit948 invoke.cont315: ; preds = %invoke.cont304 - store ptr %call5.i.i.i.i2.i372, ptr %arrayinit.element305, align 8 - %add.ptr.i1.i377 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i372, i64 2 - %_M_end_of_storage.i.i378 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp292, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i377, ptr %_M_end_of_storage.i.i378, align 8 - store i32 2, ptr %call5.i.i.i.i2.i372, align 4 - %ref.tmp307.sroa.2.0.call5.i.i.i.i2.i372.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i372, i64 4 - store i32 4, ptr %ref.tmp307.sroa.2.0.call5.i.i.i.i2.i372.sroa_idx, align 4 - %_M_finish.i.i379 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp292, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i377, ptr %_M_finish.i.i379, align 8 + store ptr %call5.i.i.i.i2.i386, ptr %arrayinit.element305, align 8 + %add.ptr.i1.i391 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i386, i64 8 + %_M_end_of_storage.i.i392 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp292, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i391, ptr %_M_end_of_storage.i.i392, align 8 + store i32 2, ptr %call5.i.i.i.i2.i386, align 4 + %ref.tmp307.sroa.2.0.call5.i.i.i.i2.i386.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i386, i64 4 + store i32 4, ptr %ref.tmp307.sroa.2.0.call5.i.i.i.i2.i386.sroa_idx, align 4 + %_M_finish.i.i394 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp292, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i391, ptr %_M_finish.i.i394, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element290, i8 0, i64 24, i1 false) - %add.ptr.i.i382 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp292, i64 2 - %call5.i.i.i.i2.i383 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i388 unwind label %lpad.i384 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i388: ; preds = %invoke.cont315 - store ptr %call5.i.i.i.i2.i383, ptr %arrayinit.element290, align 8 - %add.ptr.i1.i389 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i383, i64 2 - %_M_end_of_storage.i.i390 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 13, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i389, ptr %_M_end_of_storage.i.i390, align 8 - %call.i.i.i.i3.i391 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp292, ptr noundef nonnull %add.ptr.i.i382, ptr noundef nonnull %call5.i.i.i.i2.i383) - to label %invoke.cont322 unwind label %lpad.i384 - -lpad.i384: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i388, %invoke.cont315 + %add.ptr.i.i397 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp292, i64 2 + %call5.i.i.i.i2.i398 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i403 unwind label %lpad.i399 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i403: ; preds = %invoke.cont315 + store ptr %call5.i.i.i.i2.i398, ptr %arrayinit.element290, align 8 + %add.ptr.i1.i404 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i398, i64 2 + %_M_end_of_storage.i.i405 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 13, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i404, ptr %_M_end_of_storage.i.i405, align 8 + %call.i.i.i.i3.i406 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp292, ptr noundef nonnull %add.ptr.i.i397, ptr noundef nonnull %call5.i.i.i.i2.i398) + to label %invoke.cont322 unwind label %lpad.i399 + +lpad.i399: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i403, %invoke.cont315 %34 = landingpad { ptr, i32 } cleanup %35 = load ptr, ptr %arrayinit.element290, align 8 - %tobool.not.i.i.i385 = icmp eq ptr %35, null - br i1 %tobool.not.i.i.i385, label %ehcleanup863, label %if.then.i.i4.i386 + %tobool.not.i.i.i400 = icmp eq ptr %35, null + br i1 %tobool.not.i.i.i400, label %ehcleanup863, label %if.then.i.i4.i401 -if.then.i.i4.i386: ; preds = %lpad.i384 +if.then.i.i4.i401: ; preds = %lpad.i399 call void @_ZdlPv(ptr noundef nonnull %35) #31 br label %ehcleanup863 -invoke.cont322: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i388 - %_M_finish.i.i392 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 13, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i391, ptr %_M_finish.i.i392, align 8 +invoke.cont322: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i403 + %_M_finish.i.i407 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 13, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i406, ptr %_M_finish.i.i407, align 8 %arrayinit.element323 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 14 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp325, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i395 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont337 unwind label %lpad.i396 + %call5.i.i.i.i2.i410 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont337 unwind label %lpad.i411 -lpad.i396: ; preds = %invoke.cont322 +lpad.i411: ; preds = %invoke.cont322 %36 = landingpad { ptr, i32 } cleanup br label %ehcleanup863 invoke.cont337: ; preds = %invoke.cont322 - store ptr %call5.i.i.i.i2.i395, ptr %ref.tmp325, align 8 - %add.ptr.i1.i400 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i395, i64 2 - %_M_end_of_storage.i.i401 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp325, i64 0, i32 2 - store ptr %add.ptr.i1.i400, ptr %_M_end_of_storage.i.i401, align 8 - store i32 1, ptr %call5.i.i.i.i2.i395, align 4 - %ref.tmp329.sroa.2.0.call5.i.i.i.i2.i395.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i395, i64 4 - store i32 3, ptr %ref.tmp329.sroa.2.0.call5.i.i.i.i2.i395.sroa_idx, align 4 - %_M_finish.i.i402 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp325, i64 0, i32 1 - store ptr %add.ptr.i1.i400, ptr %_M_finish.i.i402, align 8 + store ptr %call5.i.i.i.i2.i410, ptr %ref.tmp325, align 8 + %add.ptr.i1.i415 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i410, i64 8 + %_M_end_of_storage.i.i416 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp325, i64 0, i32 2 + store ptr %add.ptr.i1.i415, ptr %_M_end_of_storage.i.i416, align 8 + store i32 1, ptr %call5.i.i.i.i2.i410, align 4 + %ref.tmp329.sroa.2.0.call5.i.i.i.i2.i410.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i410, i64 4 + store i32 3, ptr %ref.tmp329.sroa.2.0.call5.i.i.i.i2.i410.sroa_idx, align 4 + %_M_finish.i.i418 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp325, i64 0, i32 1 + store ptr %add.ptr.i1.i415, ptr %_M_finish.i.i418, align 8 %arrayinit.element338 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp325, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element338, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i405 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont348 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit905 + %call5.i.i.i.i2.i421 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont348 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit938 invoke.cont348: ; preds = %invoke.cont337 - store ptr %call5.i.i.i.i2.i405, ptr %arrayinit.element338, align 8 - %add.ptr.i1.i410 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i405, i64 2 - %_M_end_of_storage.i.i411 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp325, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i410, ptr %_M_end_of_storage.i.i411, align 8 - store i32 4, ptr %call5.i.i.i.i2.i405, align 4 - %ref.tmp340.sroa.2.0.call5.i.i.i.i2.i405.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i405, i64 4 - store i32 2, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i2.i405.sroa_idx, align 4 - %_M_finish.i.i412 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp325, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i410, ptr %_M_finish.i.i412, align 8 + store ptr %call5.i.i.i.i2.i421, ptr %arrayinit.element338, align 8 + %add.ptr.i1.i426 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i421, i64 8 + %_M_end_of_storage.i.i427 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp325, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i426, ptr %_M_end_of_storage.i.i427, align 8 + store i32 4, ptr %call5.i.i.i.i2.i421, align 4 + %ref.tmp340.sroa.2.0.call5.i.i.i.i2.i421.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i421, i64 4 + store i32 2, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i2.i421.sroa_idx, align 4 + %_M_finish.i.i429 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp325, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i426, ptr %_M_finish.i.i429, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element323, i8 0, i64 24, i1 false) - %add.ptr.i.i415 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp325, i64 2 - %call5.i.i.i.i2.i416 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i421 unwind label %lpad.i417 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i421: ; preds = %invoke.cont348 - store ptr %call5.i.i.i.i2.i416, ptr %arrayinit.element323, align 8 - %add.ptr.i1.i422 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i416, i64 2 - %_M_end_of_storage.i.i423 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 14, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i422, ptr %_M_end_of_storage.i.i423, align 8 - %call.i.i.i.i3.i424 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp325, ptr noundef nonnull %add.ptr.i.i415, ptr noundef nonnull %call5.i.i.i.i2.i416) - to label %invoke.cont355 unwind label %lpad.i417 - -lpad.i417: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i421, %invoke.cont348 + %add.ptr.i.i432 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp325, i64 2 + %call5.i.i.i.i2.i433 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i438 unwind label %lpad.i434 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i438: ; preds = %invoke.cont348 + store ptr %call5.i.i.i.i2.i433, ptr %arrayinit.element323, align 8 + %add.ptr.i1.i439 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i433, i64 2 + %_M_end_of_storage.i.i440 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 14, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i439, ptr %_M_end_of_storage.i.i440, align 8 + %call.i.i.i.i3.i441 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp325, ptr noundef nonnull %add.ptr.i.i432, ptr noundef nonnull %call5.i.i.i.i2.i433) + to label %invoke.cont355 unwind label %lpad.i434 + +lpad.i434: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i438, %invoke.cont348 %37 = landingpad { ptr, i32 } cleanup %38 = load ptr, ptr %arrayinit.element323, align 8 - %tobool.not.i.i.i418 = icmp eq ptr %38, null - br i1 %tobool.not.i.i.i418, label %ehcleanup837, label %if.then.i.i4.i419 + %tobool.not.i.i.i435 = icmp eq ptr %38, null + br i1 %tobool.not.i.i.i435, label %ehcleanup837, label %if.then.i.i4.i436 -if.then.i.i4.i419: ; preds = %lpad.i417 +if.then.i.i4.i436: ; preds = %lpad.i434 call void @_ZdlPv(ptr noundef nonnull %38) #31 br label %ehcleanup837 -invoke.cont355: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i421 - %_M_finish.i.i425 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 14, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i424, ptr %_M_finish.i.i425, align 8 +invoke.cont355: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i438 + %_M_finish.i.i442 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 14, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i441, ptr %_M_finish.i.i442, align 8 %arrayinit.element356 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 15 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp358, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i428 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont370 unwind label %lpad.i429 + %call5.i.i.i.i2.i445 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont370 unwind label %lpad.i446 -lpad.i429: ; preds = %invoke.cont355 +lpad.i446: ; preds = %invoke.cont355 %39 = landingpad { ptr, i32 } cleanup br label %ehcleanup837 invoke.cont370: ; preds = %invoke.cont355 - store ptr %call5.i.i.i.i2.i428, ptr %ref.tmp358, align 8 - %add.ptr.i1.i433 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i428, i64 2 - %_M_end_of_storage.i.i434 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp358, i64 0, i32 2 - store ptr %add.ptr.i1.i433, ptr %_M_end_of_storage.i.i434, align 8 - store i32 1, ptr %call5.i.i.i.i2.i428, align 4 - %ref.tmp362.sroa.2.0.call5.i.i.i.i2.i428.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i428, i64 4 - store i32 4, ptr %ref.tmp362.sroa.2.0.call5.i.i.i.i2.i428.sroa_idx, align 4 - %_M_finish.i.i435 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp358, i64 0, i32 1 - store ptr %add.ptr.i1.i433, ptr %_M_finish.i.i435, align 8 + store ptr %call5.i.i.i.i2.i445, ptr %ref.tmp358, align 8 + %add.ptr.i1.i450 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i445, i64 8 + %_M_end_of_storage.i.i451 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp358, i64 0, i32 2 + store ptr %add.ptr.i1.i450, ptr %_M_end_of_storage.i.i451, align 8 + store i32 1, ptr %call5.i.i.i.i2.i445, align 4 + %ref.tmp362.sroa.2.0.call5.i.i.i.i2.i445.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i445, i64 4 + store i32 4, ptr %ref.tmp362.sroa.2.0.call5.i.i.i.i2.i445.sroa_idx, align 4 + %_M_finish.i.i453 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp358, i64 0, i32 1 + store ptr %add.ptr.i1.i450, ptr %_M_finish.i.i453, align 8 %arrayinit.element371 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp358, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element371, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i438 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont381 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit895 + %call5.i.i.i.i2.i456 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont381 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit928 invoke.cont381: ; preds = %invoke.cont370 - store ptr %call5.i.i.i.i2.i438, ptr %arrayinit.element371, align 8 - %add.ptr.i1.i443 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i438, i64 2 - %_M_end_of_storage.i.i444 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp358, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i443, ptr %_M_end_of_storage.i.i444, align 8 - store i32 2, ptr %call5.i.i.i.i2.i438, align 4 - %ref.tmp373.sroa.2.0.call5.i.i.i.i2.i438.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i438, i64 4 - store i32 3, ptr %ref.tmp373.sroa.2.0.call5.i.i.i.i2.i438.sroa_idx, align 4 - %_M_finish.i.i445 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp358, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i443, ptr %_M_finish.i.i445, align 8 + store ptr %call5.i.i.i.i2.i456, ptr %arrayinit.element371, align 8 + %add.ptr.i1.i461 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i456, i64 8 + %_M_end_of_storage.i.i462 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp358, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i461, ptr %_M_end_of_storage.i.i462, align 8 + store i32 2, ptr %call5.i.i.i.i2.i456, align 4 + %ref.tmp373.sroa.2.0.call5.i.i.i.i2.i456.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i456, i64 4 + store i32 3, ptr %ref.tmp373.sroa.2.0.call5.i.i.i.i2.i456.sroa_idx, align 4 + %_M_finish.i.i464 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp358, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i461, ptr %_M_finish.i.i464, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element356, i8 0, i64 24, i1 false) - %add.ptr.i.i448 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp358, i64 2 - %call5.i.i.i.i2.i449 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i454 unwind label %lpad.i450 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i454: ; preds = %invoke.cont381 - store ptr %call5.i.i.i.i2.i449, ptr %arrayinit.element356, align 8 - %add.ptr.i1.i455 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i449, i64 2 - %_M_end_of_storage.i.i456 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 15, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i455, ptr %_M_end_of_storage.i.i456, align 8 - %call.i.i.i.i3.i457 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp358, ptr noundef nonnull %add.ptr.i.i448, ptr noundef nonnull %call5.i.i.i.i2.i449) - to label %invoke.cont388 unwind label %lpad.i450 - -lpad.i450: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i454, %invoke.cont381 + %add.ptr.i.i467 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp358, i64 2 + %call5.i.i.i.i2.i468 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i473 unwind label %lpad.i469 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i473: ; preds = %invoke.cont381 + store ptr %call5.i.i.i.i2.i468, ptr %arrayinit.element356, align 8 + %add.ptr.i1.i474 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i468, i64 2 + %_M_end_of_storage.i.i475 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 15, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i474, ptr %_M_end_of_storage.i.i475, align 8 + %call.i.i.i.i3.i476 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp358, ptr noundef nonnull %add.ptr.i.i467, ptr noundef nonnull %call5.i.i.i.i2.i468) + to label %invoke.cont388 unwind label %lpad.i469 + +lpad.i469: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i473, %invoke.cont381 %40 = landingpad { ptr, i32 } cleanup %41 = load ptr, ptr %arrayinit.element356, align 8 - %tobool.not.i.i.i451 = icmp eq ptr %41, null - br i1 %tobool.not.i.i.i451, label %ehcleanup811, label %if.then.i.i4.i452 + %tobool.not.i.i.i470 = icmp eq ptr %41, null + br i1 %tobool.not.i.i.i470, label %ehcleanup811, label %if.then.i.i4.i471 -if.then.i.i4.i452: ; preds = %lpad.i450 +if.then.i.i4.i471: ; preds = %lpad.i469 call void @_ZdlPv(ptr noundef nonnull %41) #31 br label %ehcleanup811 -invoke.cont388: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i454 - %_M_finish.i.i458 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 15, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i457, ptr %_M_finish.i.i458, align 8 +invoke.cont388: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i473 + %_M_finish.i.i477 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 15, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i476, ptr %_M_finish.i.i477, align 8 %arrayinit.element389 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp391, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i461 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont403 unwind label %lpad.i462 + %call5.i.i.i.i2.i480 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont403 unwind label %lpad.i481 -lpad.i462: ; preds = %invoke.cont388 +lpad.i481: ; preds = %invoke.cont388 %42 = landingpad { ptr, i32 } cleanup br label %ehcleanup811 invoke.cont403: ; preds = %invoke.cont388 - store ptr %call5.i.i.i.i2.i461, ptr %ref.tmp391, align 8 - %add.ptr.i1.i466 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i461, i64 2 - %_M_end_of_storage.i.i467 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp391, i64 0, i32 2 - store ptr %add.ptr.i1.i466, ptr %_M_end_of_storage.i.i467, align 8 - store i32 1, ptr %call5.i.i.i.i2.i461, align 4 - %ref.tmp395.sroa.2.0.call5.i.i.i.i2.i461.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i461, i64 4 - store i32 4, ptr %ref.tmp395.sroa.2.0.call5.i.i.i.i2.i461.sroa_idx, align 4 - %_M_finish.i.i468 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp391, i64 0, i32 1 - store ptr %add.ptr.i1.i466, ptr %_M_finish.i.i468, align 8 + store ptr %call5.i.i.i.i2.i480, ptr %ref.tmp391, align 8 + %add.ptr.i1.i485 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i480, i64 8 + %_M_end_of_storage.i.i486 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp391, i64 0, i32 2 + store ptr %add.ptr.i1.i485, ptr %_M_end_of_storage.i.i486, align 8 + store i32 1, ptr %call5.i.i.i.i2.i480, align 4 + %ref.tmp395.sroa.2.0.call5.i.i.i.i2.i480.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i480, i64 4 + store i32 4, ptr %ref.tmp395.sroa.2.0.call5.i.i.i.i2.i480.sroa_idx, align 4 + %_M_finish.i.i488 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp391, i64 0, i32 1 + store ptr %add.ptr.i1.i485, ptr %_M_finish.i.i488, align 8 %arrayinit.element404 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp391, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element404, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i471 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont414 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit885 + %call5.i.i.i.i2.i491 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont414 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit918 invoke.cont414: ; preds = %invoke.cont403 - store ptr %call5.i.i.i.i2.i471, ptr %arrayinit.element404, align 8 - %add.ptr.i1.i476 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i471, i64 2 - %_M_end_of_storage.i.i477 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp391, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i476, ptr %_M_end_of_storage.i.i477, align 8 - store i32 3, ptr %call5.i.i.i.i2.i471, align 4 - %ref.tmp406.sroa.2.0.call5.i.i.i.i2.i471.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i471, i64 4 - store i32 2, ptr %ref.tmp406.sroa.2.0.call5.i.i.i.i2.i471.sroa_idx, align 4 - %_M_finish.i.i478 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp391, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i476, ptr %_M_finish.i.i478, align 8 + store ptr %call5.i.i.i.i2.i491, ptr %arrayinit.element404, align 8 + %add.ptr.i1.i496 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i491, i64 8 + %_M_end_of_storage.i.i497 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp391, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i496, ptr %_M_end_of_storage.i.i497, align 8 + store i32 3, ptr %call5.i.i.i.i2.i491, align 4 + %ref.tmp406.sroa.2.0.call5.i.i.i.i2.i491.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i491, i64 4 + store i32 2, ptr %ref.tmp406.sroa.2.0.call5.i.i.i.i2.i491.sroa_idx, align 4 + %_M_finish.i.i499 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp391, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i496, ptr %_M_finish.i.i499, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element389, i8 0, i64 24, i1 false) - %add.ptr.i.i481 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp391, i64 2 - %call5.i.i.i.i2.i482 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i487 unwind label %lpad.i483 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i487: ; preds = %invoke.cont414 - store ptr %call5.i.i.i.i2.i482, ptr %arrayinit.element389, align 8 - %add.ptr.i1.i488 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i482, i64 2 - %_M_end_of_storage.i.i489 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 16, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i488, ptr %_M_end_of_storage.i.i489, align 8 - %call.i.i.i.i3.i490 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp391, ptr noundef nonnull %add.ptr.i.i481, ptr noundef nonnull %call5.i.i.i.i2.i482) - to label %invoke.cont421 unwind label %lpad.i483 - -lpad.i483: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i487, %invoke.cont414 + %add.ptr.i.i502 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp391, i64 2 + %call5.i.i.i.i2.i503 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i508 unwind label %lpad.i504 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i508: ; preds = %invoke.cont414 + store ptr %call5.i.i.i.i2.i503, ptr %arrayinit.element389, align 8 + %add.ptr.i1.i509 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i503, i64 2 + %_M_end_of_storage.i.i510 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 16, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i509, ptr %_M_end_of_storage.i.i510, align 8 + %call.i.i.i.i3.i511 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp391, ptr noundef nonnull %add.ptr.i.i502, ptr noundef nonnull %call5.i.i.i.i2.i503) + to label %invoke.cont421 unwind label %lpad.i504 + +lpad.i504: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i508, %invoke.cont414 %43 = landingpad { ptr, i32 } cleanup %44 = load ptr, ptr %arrayinit.element389, align 8 - %tobool.not.i.i.i484 = icmp eq ptr %44, null - br i1 %tobool.not.i.i.i484, label %ehcleanup785, label %if.then.i.i4.i485 + %tobool.not.i.i.i505 = icmp eq ptr %44, null + br i1 %tobool.not.i.i.i505, label %ehcleanup785, label %if.then.i.i4.i506 -if.then.i.i4.i485: ; preds = %lpad.i483 +if.then.i.i4.i506: ; preds = %lpad.i504 call void @_ZdlPv(ptr noundef nonnull %44) #31 br label %ehcleanup785 -invoke.cont421: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i487 - %_M_finish.i.i491 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 16, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i490, ptr %_M_finish.i.i491, align 8 +invoke.cont421: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i508 + %_M_finish.i.i512 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 16, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i511, ptr %_M_finish.i.i512, align 8 %arrayinit.element422 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 17 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp424, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i494 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont436 unwind label %lpad.i495 + %call5.i.i.i.i2.i515 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont436 unwind label %lpad.i516 -lpad.i495: ; preds = %invoke.cont421 +lpad.i516: ; preds = %invoke.cont421 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup785 invoke.cont436: ; preds = %invoke.cont421 - store ptr %call5.i.i.i.i2.i494, ptr %ref.tmp424, align 8 - %add.ptr.i1.i499 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i494, i64 2 - %_M_end_of_storage.i.i500 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp424, i64 0, i32 2 - store ptr %add.ptr.i1.i499, ptr %_M_end_of_storage.i.i500, align 8 - store i32 2, ptr %call5.i.i.i.i2.i494, align 4 - %ref.tmp428.sroa.2.0.call5.i.i.i.i2.i494.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i494, i64 4 - store i32 3, ptr %ref.tmp428.sroa.2.0.call5.i.i.i.i2.i494.sroa_idx, align 4 - %_M_finish.i.i501 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp424, i64 0, i32 1 - store ptr %add.ptr.i1.i499, ptr %_M_finish.i.i501, align 8 + store ptr %call5.i.i.i.i2.i515, ptr %ref.tmp424, align 8 + %add.ptr.i1.i520 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i515, i64 8 + %_M_end_of_storage.i.i521 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp424, i64 0, i32 2 + store ptr %add.ptr.i1.i520, ptr %_M_end_of_storage.i.i521, align 8 + store i32 2, ptr %call5.i.i.i.i2.i515, align 4 + %ref.tmp428.sroa.2.0.call5.i.i.i.i2.i515.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i515, i64 4 + store i32 3, ptr %ref.tmp428.sroa.2.0.call5.i.i.i.i2.i515.sroa_idx, align 4 + %_M_finish.i.i523 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp424, i64 0, i32 1 + store ptr %add.ptr.i1.i520, ptr %_M_finish.i.i523, align 8 %arrayinit.element437 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp424, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element437, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i504 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont447 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit875 + %call5.i.i.i.i2.i526 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont447 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit908 invoke.cont447: ; preds = %invoke.cont436 - store ptr %call5.i.i.i.i2.i504, ptr %arrayinit.element437, align 8 - %add.ptr.i1.i509 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i504, i64 2 - %_M_end_of_storage.i.i510 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp424, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i509, ptr %_M_end_of_storage.i.i510, align 8 - store i32 1, ptr %call5.i.i.i.i2.i504, align 4 - %ref.tmp439.sroa.2.0.call5.i.i.i.i2.i504.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i504, i64 4 - store i32 4, ptr %ref.tmp439.sroa.2.0.call5.i.i.i.i2.i504.sroa_idx, align 4 - %_M_finish.i.i511 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp424, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i509, ptr %_M_finish.i.i511, align 8 + store ptr %call5.i.i.i.i2.i526, ptr %arrayinit.element437, align 8 + %add.ptr.i1.i531 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i526, i64 8 + %_M_end_of_storage.i.i532 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp424, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i531, ptr %_M_end_of_storage.i.i532, align 8 + store i32 1, ptr %call5.i.i.i.i2.i526, align 4 + %ref.tmp439.sroa.2.0.call5.i.i.i.i2.i526.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i526, i64 4 + store i32 4, ptr %ref.tmp439.sroa.2.0.call5.i.i.i.i2.i526.sroa_idx, align 4 + %_M_finish.i.i534 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp424, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i531, ptr %_M_finish.i.i534, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element422, i8 0, i64 24, i1 false) - %add.ptr.i.i514 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp424, i64 2 - %call5.i.i.i.i2.i515 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i520 unwind label %lpad.i516 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i520: ; preds = %invoke.cont447 - store ptr %call5.i.i.i.i2.i515, ptr %arrayinit.element422, align 8 - %add.ptr.i1.i521 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i515, i64 2 - %_M_end_of_storage.i.i522 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 17, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i521, ptr %_M_end_of_storage.i.i522, align 8 - %call.i.i.i.i3.i523 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp424, ptr noundef nonnull %add.ptr.i.i514, ptr noundef nonnull %call5.i.i.i.i2.i515) - to label %invoke.cont454 unwind label %lpad.i516 - -lpad.i516: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i520, %invoke.cont447 + %add.ptr.i.i537 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp424, i64 2 + %call5.i.i.i.i2.i538 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i543 unwind label %lpad.i539 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i543: ; preds = %invoke.cont447 + store ptr %call5.i.i.i.i2.i538, ptr %arrayinit.element422, align 8 + %add.ptr.i1.i544 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i538, i64 2 + %_M_end_of_storage.i.i545 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 17, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i544, ptr %_M_end_of_storage.i.i545, align 8 + %call.i.i.i.i3.i546 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp424, ptr noundef nonnull %add.ptr.i.i537, ptr noundef nonnull %call5.i.i.i.i2.i538) + to label %invoke.cont454 unwind label %lpad.i539 + +lpad.i539: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i543, %invoke.cont447 %46 = landingpad { ptr, i32 } cleanup %47 = load ptr, ptr %arrayinit.element422, align 8 - %tobool.not.i.i.i517 = icmp eq ptr %47, null - br i1 %tobool.not.i.i.i517, label %ehcleanup759, label %if.then.i.i4.i518 + %tobool.not.i.i.i540 = icmp eq ptr %47, null + br i1 %tobool.not.i.i.i540, label %ehcleanup759, label %if.then.i.i4.i541 -if.then.i.i4.i518: ; preds = %lpad.i516 +if.then.i.i4.i541: ; preds = %lpad.i539 call void @_ZdlPv(ptr noundef nonnull %47) #31 br label %ehcleanup759 -invoke.cont454: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i520 - %_M_finish.i.i524 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 17, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i523, ptr %_M_finish.i.i524, align 8 +invoke.cont454: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i543 + %_M_finish.i.i547 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 17, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i546, ptr %_M_finish.i.i547, align 8 %arrayinit.element455 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp457, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i527 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont469 unwind label %lpad.i528 + %call5.i.i.i.i2.i550 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont469 unwind label %lpad.i551 -lpad.i528: ; preds = %invoke.cont454 +lpad.i551: ; preds = %invoke.cont454 %48 = landingpad { ptr, i32 } cleanup br label %ehcleanup759 invoke.cont469: ; preds = %invoke.cont454 - store ptr %call5.i.i.i.i2.i527, ptr %ref.tmp457, align 8 - %add.ptr.i1.i532 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i527, i64 2 - %_M_end_of_storage.i.i533 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp457, i64 0, i32 2 - store ptr %add.ptr.i1.i532, ptr %_M_end_of_storage.i.i533, align 8 - store i32 2, ptr %call5.i.i.i.i2.i527, align 4 - %ref.tmp461.sroa.2.0.call5.i.i.i.i2.i527.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i527, i64 4 - store i32 3, ptr %ref.tmp461.sroa.2.0.call5.i.i.i.i2.i527.sroa_idx, align 4 - %_M_finish.i.i534 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp457, i64 0, i32 1 - store ptr %add.ptr.i1.i532, ptr %_M_finish.i.i534, align 8 + store ptr %call5.i.i.i.i2.i550, ptr %ref.tmp457, align 8 + %add.ptr.i1.i555 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i550, i64 8 + %_M_end_of_storage.i.i556 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp457, i64 0, i32 2 + store ptr %add.ptr.i1.i555, ptr %_M_end_of_storage.i.i556, align 8 + store i32 2, ptr %call5.i.i.i.i2.i550, align 4 + %ref.tmp461.sroa.2.0.call5.i.i.i.i2.i550.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i550, i64 4 + store i32 3, ptr %ref.tmp461.sroa.2.0.call5.i.i.i.i2.i550.sroa_idx, align 4 + %_M_finish.i.i558 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp457, i64 0, i32 1 + store ptr %add.ptr.i1.i555, ptr %_M_finish.i.i558, align 8 %arrayinit.element470 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp457, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i537 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont480 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit865 + %call5.i.i.i.i2.i561 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont480 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit898 invoke.cont480: ; preds = %invoke.cont469 - store ptr %call5.i.i.i.i2.i537, ptr %arrayinit.element470, align 8 - %add.ptr.i1.i542 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i537, i64 2 - %_M_end_of_storage.i.i543 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp457, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i542, ptr %_M_end_of_storage.i.i543, align 8 - store i32 4, ptr %call5.i.i.i.i2.i537, align 4 - %ref.tmp472.sroa.2.0.call5.i.i.i.i2.i537.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i537, i64 4 - store i32 1, ptr %ref.tmp472.sroa.2.0.call5.i.i.i.i2.i537.sroa_idx, align 4 - %_M_finish.i.i544 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp457, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i542, ptr %_M_finish.i.i544, align 8 + store ptr %call5.i.i.i.i2.i561, ptr %arrayinit.element470, align 8 + %add.ptr.i1.i566 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i561, i64 8 + %_M_end_of_storage.i.i567 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp457, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i566, ptr %_M_end_of_storage.i.i567, align 8 + store i32 4, ptr %call5.i.i.i.i2.i561, align 4 + %ref.tmp472.sroa.2.0.call5.i.i.i.i2.i561.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i561, i64 4 + store i32 1, ptr %ref.tmp472.sroa.2.0.call5.i.i.i.i2.i561.sroa_idx, align 4 + %_M_finish.i.i569 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp457, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i566, ptr %_M_finish.i.i569, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element455, i8 0, i64 24, i1 false) - %add.ptr.i.i547 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp457, i64 2 - %call5.i.i.i.i2.i548 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i553 unwind label %lpad.i549 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i553: ; preds = %invoke.cont480 - store ptr %call5.i.i.i.i2.i548, ptr %arrayinit.element455, align 8 - %add.ptr.i1.i554 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i548, i64 2 - %_M_end_of_storage.i.i555 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 18, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i554, ptr %_M_end_of_storage.i.i555, align 8 - %call.i.i.i.i3.i556 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp457, ptr noundef nonnull %add.ptr.i.i547, ptr noundef nonnull %call5.i.i.i.i2.i548) - to label %invoke.cont487 unwind label %lpad.i549 - -lpad.i549: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i553, %invoke.cont480 + %add.ptr.i.i572 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp457, i64 2 + %call5.i.i.i.i2.i573 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i578 unwind label %lpad.i574 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i578: ; preds = %invoke.cont480 + store ptr %call5.i.i.i.i2.i573, ptr %arrayinit.element455, align 8 + %add.ptr.i1.i579 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i573, i64 2 + %_M_end_of_storage.i.i580 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 18, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i579, ptr %_M_end_of_storage.i.i580, align 8 + %call.i.i.i.i3.i581 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp457, ptr noundef nonnull %add.ptr.i.i572, ptr noundef nonnull %call5.i.i.i.i2.i573) + to label %invoke.cont487 unwind label %lpad.i574 + +lpad.i574: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i578, %invoke.cont480 %49 = landingpad { ptr, i32 } cleanup %50 = load ptr, ptr %arrayinit.element455, align 8 - %tobool.not.i.i.i550 = icmp eq ptr %50, null - br i1 %tobool.not.i.i.i550, label %ehcleanup733, label %if.then.i.i4.i551 + %tobool.not.i.i.i575 = icmp eq ptr %50, null + br i1 %tobool.not.i.i.i575, label %ehcleanup733, label %if.then.i.i4.i576 -if.then.i.i4.i551: ; preds = %lpad.i549 +if.then.i.i4.i576: ; preds = %lpad.i574 call void @_ZdlPv(ptr noundef nonnull %50) #31 br label %ehcleanup733 -invoke.cont487: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i553 - %_M_finish.i.i557 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 18, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i556, ptr %_M_finish.i.i557, align 8 +invoke.cont487: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i578 + %_M_finish.i.i582 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 18, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i581, ptr %_M_finish.i.i582, align 8 %arrayinit.element488 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 19 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp490, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i560 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont502 unwind label %lpad.i561 + %call5.i.i.i.i2.i585 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont502 unwind label %lpad.i586 -lpad.i561: ; preds = %invoke.cont487 +lpad.i586: ; preds = %invoke.cont487 %51 = landingpad { ptr, i32 } cleanup br label %ehcleanup733 invoke.cont502: ; preds = %invoke.cont487 - store ptr %call5.i.i.i.i2.i560, ptr %ref.tmp490, align 8 - %add.ptr.i1.i565 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i560, i64 2 - %_M_end_of_storage.i.i566 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp490, i64 0, i32 2 - store ptr %add.ptr.i1.i565, ptr %_M_end_of_storage.i.i566, align 8 - store i32 2, ptr %call5.i.i.i.i2.i560, align 4 - %ref.tmp494.sroa.2.0.call5.i.i.i.i2.i560.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i560, i64 4 - store i32 4, ptr %ref.tmp494.sroa.2.0.call5.i.i.i.i2.i560.sroa_idx, align 4 - %_M_finish.i.i567 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp490, i64 0, i32 1 - store ptr %add.ptr.i1.i565, ptr %_M_finish.i.i567, align 8 + store ptr %call5.i.i.i.i2.i585, ptr %ref.tmp490, align 8 + %add.ptr.i1.i590 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i585, i64 8 + %_M_end_of_storage.i.i591 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp490, i64 0, i32 2 + store ptr %add.ptr.i1.i590, ptr %_M_end_of_storage.i.i591, align 8 + store i32 2, ptr %call5.i.i.i.i2.i585, align 4 + %ref.tmp494.sroa.2.0.call5.i.i.i.i2.i585.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i585, i64 4 + store i32 4, ptr %ref.tmp494.sroa.2.0.call5.i.i.i.i2.i585.sroa_idx, align 4 + %_M_finish.i.i593 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp490, i64 0, i32 1 + store ptr %add.ptr.i1.i590, ptr %_M_finish.i.i593, align 8 %arrayinit.element503 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp490, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element503, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i570 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont513 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit855 + %call5.i.i.i.i2.i596 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont513 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit888 invoke.cont513: ; preds = %invoke.cont502 - store ptr %call5.i.i.i.i2.i570, ptr %arrayinit.element503, align 8 - %add.ptr.i1.i575 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i570, i64 2 - %_M_end_of_storage.i.i576 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp490, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i575, ptr %_M_end_of_storage.i.i576, align 8 - store i32 1, ptr %call5.i.i.i.i2.i570, align 4 - %ref.tmp505.sroa.2.0.call5.i.i.i.i2.i570.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i570, i64 4 - store i32 3, ptr %ref.tmp505.sroa.2.0.call5.i.i.i.i2.i570.sroa_idx, align 4 - %_M_finish.i.i577 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp490, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i575, ptr %_M_finish.i.i577, align 8 + store ptr %call5.i.i.i.i2.i596, ptr %arrayinit.element503, align 8 + %add.ptr.i1.i601 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i596, i64 8 + %_M_end_of_storage.i.i602 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp490, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i601, ptr %_M_end_of_storage.i.i602, align 8 + store i32 1, ptr %call5.i.i.i.i2.i596, align 4 + %ref.tmp505.sroa.2.0.call5.i.i.i.i2.i596.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i596, i64 4 + store i32 3, ptr %ref.tmp505.sroa.2.0.call5.i.i.i.i2.i596.sroa_idx, align 4 + %_M_finish.i.i604 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp490, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i601, ptr %_M_finish.i.i604, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element488, i8 0, i64 24, i1 false) - %add.ptr.i.i580 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp490, i64 2 - %call5.i.i.i.i2.i581 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i586 unwind label %lpad.i582 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i586: ; preds = %invoke.cont513 - store ptr %call5.i.i.i.i2.i581, ptr %arrayinit.element488, align 8 - %add.ptr.i1.i587 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i581, i64 2 - %_M_end_of_storage.i.i588 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 19, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i587, ptr %_M_end_of_storage.i.i588, align 8 - %call.i.i.i.i3.i589 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp490, ptr noundef nonnull %add.ptr.i.i580, ptr noundef nonnull %call5.i.i.i.i2.i581) - to label %invoke.cont520 unwind label %lpad.i582 - -lpad.i582: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i586, %invoke.cont513 + %add.ptr.i.i607 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp490, i64 2 + %call5.i.i.i.i2.i608 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i613 unwind label %lpad.i609 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i613: ; preds = %invoke.cont513 + store ptr %call5.i.i.i.i2.i608, ptr %arrayinit.element488, align 8 + %add.ptr.i1.i614 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i608, i64 2 + %_M_end_of_storage.i.i615 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 19, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i614, ptr %_M_end_of_storage.i.i615, align 8 + %call.i.i.i.i3.i616 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp490, ptr noundef nonnull %add.ptr.i.i607, ptr noundef nonnull %call5.i.i.i.i2.i608) + to label %invoke.cont520 unwind label %lpad.i609 + +lpad.i609: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i613, %invoke.cont513 %52 = landingpad { ptr, i32 } cleanup %53 = load ptr, ptr %arrayinit.element488, align 8 - %tobool.not.i.i.i583 = icmp eq ptr %53, null - br i1 %tobool.not.i.i.i583, label %ehcleanup707, label %if.then.i.i4.i584 + %tobool.not.i.i.i610 = icmp eq ptr %53, null + br i1 %tobool.not.i.i.i610, label %ehcleanup707, label %if.then.i.i4.i611 -if.then.i.i4.i584: ; preds = %lpad.i582 +if.then.i.i4.i611: ; preds = %lpad.i609 call void @_ZdlPv(ptr noundef nonnull %53) #31 br label %ehcleanup707 -invoke.cont520: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i586 - %_M_finish.i.i590 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 19, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i589, ptr %_M_finish.i.i590, align 8 +invoke.cont520: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i613 + %_M_finish.i.i617 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 19, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i616, ptr %_M_finish.i.i617, align 8 %arrayinit.element521 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp523, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i593 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont535 unwind label %lpad.i594 + %call5.i.i.i.i2.i620 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont535 unwind label %lpad.i621 -lpad.i594: ; preds = %invoke.cont520 +lpad.i621: ; preds = %invoke.cont520 %54 = landingpad { ptr, i32 } cleanup br label %ehcleanup707 invoke.cont535: ; preds = %invoke.cont520 - store ptr %call5.i.i.i.i2.i593, ptr %ref.tmp523, align 8 - %add.ptr.i1.i598 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i593, i64 2 - %_M_end_of_storage.i.i599 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp523, i64 0, i32 2 - store ptr %add.ptr.i1.i598, ptr %_M_end_of_storage.i.i599, align 8 - store i32 2, ptr %call5.i.i.i.i2.i593, align 4 - %ref.tmp527.sroa.2.0.call5.i.i.i.i2.i593.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i593, i64 4 - store i32 4, ptr %ref.tmp527.sroa.2.0.call5.i.i.i.i2.i593.sroa_idx, align 4 - %_M_finish.i.i600 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp523, i64 0, i32 1 - store ptr %add.ptr.i1.i598, ptr %_M_finish.i.i600, align 8 + store ptr %call5.i.i.i.i2.i620, ptr %ref.tmp523, align 8 + %add.ptr.i1.i625 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i620, i64 8 + %_M_end_of_storage.i.i626 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp523, i64 0, i32 2 + store ptr %add.ptr.i1.i625, ptr %_M_end_of_storage.i.i626, align 8 + store i32 2, ptr %call5.i.i.i.i2.i620, align 4 + %ref.tmp527.sroa.2.0.call5.i.i.i.i2.i620.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i620, i64 4 + store i32 4, ptr %ref.tmp527.sroa.2.0.call5.i.i.i.i2.i620.sroa_idx, align 4 + %_M_finish.i.i628 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp523, i64 0, i32 1 + store ptr %add.ptr.i1.i625, ptr %_M_finish.i.i628, align 8 %arrayinit.element536 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp523, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element536, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i603 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont546 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit845 + %call5.i.i.i.i2.i631 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont546 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit878 invoke.cont546: ; preds = %invoke.cont535 - store ptr %call5.i.i.i.i2.i603, ptr %arrayinit.element536, align 8 - %add.ptr.i1.i608 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i603, i64 2 - %_M_end_of_storage.i.i609 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp523, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i608, ptr %_M_end_of_storage.i.i609, align 8 - store i32 3, ptr %call5.i.i.i.i2.i603, align 4 - %ref.tmp538.sroa.2.0.call5.i.i.i.i2.i603.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i603, i64 4 - store i32 1, ptr %ref.tmp538.sroa.2.0.call5.i.i.i.i2.i603.sroa_idx, align 4 - %_M_finish.i.i610 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp523, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i608, ptr %_M_finish.i.i610, align 8 + store ptr %call5.i.i.i.i2.i631, ptr %arrayinit.element536, align 8 + %add.ptr.i1.i636 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i631, i64 8 + %_M_end_of_storage.i.i637 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp523, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i636, ptr %_M_end_of_storage.i.i637, align 8 + store i32 3, ptr %call5.i.i.i.i2.i631, align 4 + %ref.tmp538.sroa.2.0.call5.i.i.i.i2.i631.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i631, i64 4 + store i32 1, ptr %ref.tmp538.sroa.2.0.call5.i.i.i.i2.i631.sroa_idx, align 4 + %_M_finish.i.i639 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp523, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i636, ptr %_M_finish.i.i639, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element521, i8 0, i64 24, i1 false) - %add.ptr.i.i613 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp523, i64 2 - %call5.i.i.i.i2.i614 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i619 unwind label %lpad.i615 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i619: ; preds = %invoke.cont546 - store ptr %call5.i.i.i.i2.i614, ptr %arrayinit.element521, align 8 - %add.ptr.i1.i620 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i614, i64 2 - %_M_end_of_storage.i.i621 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 20, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i620, ptr %_M_end_of_storage.i.i621, align 8 - %call.i.i.i.i3.i622 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp523, ptr noundef nonnull %add.ptr.i.i613, ptr noundef nonnull %call5.i.i.i.i2.i614) - to label %invoke.cont553 unwind label %lpad.i615 - -lpad.i615: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i619, %invoke.cont546 + %add.ptr.i.i642 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp523, i64 2 + %call5.i.i.i.i2.i643 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i648 unwind label %lpad.i644 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i648: ; preds = %invoke.cont546 + store ptr %call5.i.i.i.i2.i643, ptr %arrayinit.element521, align 8 + %add.ptr.i1.i649 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i643, i64 2 + %_M_end_of_storage.i.i650 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 20, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i649, ptr %_M_end_of_storage.i.i650, align 8 + %call.i.i.i.i3.i651 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp523, ptr noundef nonnull %add.ptr.i.i642, ptr noundef nonnull %call5.i.i.i.i2.i643) + to label %invoke.cont553 unwind label %lpad.i644 + +lpad.i644: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i648, %invoke.cont546 %55 = landingpad { ptr, i32 } cleanup %56 = load ptr, ptr %arrayinit.element521, align 8 - %tobool.not.i.i.i616 = icmp eq ptr %56, null - br i1 %tobool.not.i.i.i616, label %ehcleanup681, label %if.then.i.i4.i617 + %tobool.not.i.i.i645 = icmp eq ptr %56, null + br i1 %tobool.not.i.i.i645, label %ehcleanup681, label %if.then.i.i4.i646 -if.then.i.i4.i617: ; preds = %lpad.i615 +if.then.i.i4.i646: ; preds = %lpad.i644 call void @_ZdlPv(ptr noundef nonnull %56) #31 br label %ehcleanup681 -invoke.cont553: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i619 - %_M_finish.i.i623 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 20, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i622, ptr %_M_finish.i.i623, align 8 +invoke.cont553: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i648 + %_M_finish.i.i652 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 20, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i651, ptr %_M_finish.i.i652, align 8 %arrayinit.element554 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 21 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp556, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i626 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont568 unwind label %lpad.i627 + %call5.i.i.i.i2.i655 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont568 unwind label %lpad.i656 -lpad.i627: ; preds = %invoke.cont553 +lpad.i656: ; preds = %invoke.cont553 %57 = landingpad { ptr, i32 } cleanup br label %ehcleanup681 invoke.cont568: ; preds = %invoke.cont553 - store ptr %call5.i.i.i.i2.i626, ptr %ref.tmp556, align 8 - %add.ptr.i1.i631 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i626, i64 2 - %_M_end_of_storage.i.i632 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp556, i64 0, i32 2 - store ptr %add.ptr.i1.i631, ptr %_M_end_of_storage.i.i632, align 8 - store i32 3, ptr %call5.i.i.i.i2.i626, align 4 - %ref.tmp560.sroa.2.0.call5.i.i.i.i2.i626.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i626, i64 4 - store i32 4, ptr %ref.tmp560.sroa.2.0.call5.i.i.i.i2.i626.sroa_idx, align 4 - %_M_finish.i.i633 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp556, i64 0, i32 1 - store ptr %add.ptr.i1.i631, ptr %_M_finish.i.i633, align 8 + store ptr %call5.i.i.i.i2.i655, ptr %ref.tmp556, align 8 + %add.ptr.i1.i660 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i655, i64 8 + %_M_end_of_storage.i.i661 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp556, i64 0, i32 2 + store ptr %add.ptr.i1.i660, ptr %_M_end_of_storage.i.i661, align 8 + store i32 3, ptr %call5.i.i.i.i2.i655, align 4 + %ref.tmp560.sroa.2.0.call5.i.i.i.i2.i655.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i655, i64 4 + store i32 4, ptr %ref.tmp560.sroa.2.0.call5.i.i.i.i2.i655.sroa_idx, align 4 + %_M_finish.i.i663 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp556, i64 0, i32 1 + store ptr %add.ptr.i1.i660, ptr %_M_finish.i.i663, align 8 %arrayinit.element569 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp556, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element569, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i636 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont579 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit835 + %call5.i.i.i.i2.i666 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont579 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit868 invoke.cont579: ; preds = %invoke.cont568 - store ptr %call5.i.i.i.i2.i636, ptr %arrayinit.element569, align 8 - %add.ptr.i1.i641 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i636, i64 2 - %_M_end_of_storage.i.i642 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp556, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i641, ptr %_M_end_of_storage.i.i642, align 8 - store i32 1, ptr %call5.i.i.i.i2.i636, align 4 - %ref.tmp571.sroa.2.0.call5.i.i.i.i2.i636.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i636, i64 4 - store i32 2, ptr %ref.tmp571.sroa.2.0.call5.i.i.i.i2.i636.sroa_idx, align 4 - %_M_finish.i.i643 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp556, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i641, ptr %_M_finish.i.i643, align 8 + store ptr %call5.i.i.i.i2.i666, ptr %arrayinit.element569, align 8 + %add.ptr.i1.i671 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i666, i64 8 + %_M_end_of_storage.i.i672 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp556, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i671, ptr %_M_end_of_storage.i.i672, align 8 + store i32 1, ptr %call5.i.i.i.i2.i666, align 4 + %ref.tmp571.sroa.2.0.call5.i.i.i.i2.i666.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i666, i64 4 + store i32 2, ptr %ref.tmp571.sroa.2.0.call5.i.i.i.i2.i666.sroa_idx, align 4 + %_M_finish.i.i674 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp556, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i671, ptr %_M_finish.i.i674, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element554, i8 0, i64 24, i1 false) - %add.ptr.i.i646 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp556, i64 2 - %call5.i.i.i.i2.i647 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i652 unwind label %lpad.i648 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i652: ; preds = %invoke.cont579 - store ptr %call5.i.i.i.i2.i647, ptr %arrayinit.element554, align 8 - %add.ptr.i1.i653 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i647, i64 2 - %_M_end_of_storage.i.i654 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 21, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i653, ptr %_M_end_of_storage.i.i654, align 8 - %call.i.i.i.i3.i655 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp556, ptr noundef nonnull %add.ptr.i.i646, ptr noundef nonnull %call5.i.i.i.i2.i647) - to label %invoke.cont586 unwind label %lpad.i648 - -lpad.i648: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i652, %invoke.cont579 + %add.ptr.i.i677 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp556, i64 2 + %call5.i.i.i.i2.i678 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i683 unwind label %lpad.i679 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i683: ; preds = %invoke.cont579 + store ptr %call5.i.i.i.i2.i678, ptr %arrayinit.element554, align 8 + %add.ptr.i1.i684 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i678, i64 2 + %_M_end_of_storage.i.i685 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 21, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i684, ptr %_M_end_of_storage.i.i685, align 8 + %call.i.i.i.i3.i686 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp556, ptr noundef nonnull %add.ptr.i.i677, ptr noundef nonnull %call5.i.i.i.i2.i678) + to label %invoke.cont586 unwind label %lpad.i679 + +lpad.i679: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i683, %invoke.cont579 %58 = landingpad { ptr, i32 } cleanup %59 = load ptr, ptr %arrayinit.element554, align 8 - %tobool.not.i.i.i649 = icmp eq ptr %59, null - br i1 %tobool.not.i.i.i649, label %ehcleanup655, label %if.then.i.i4.i650 + %tobool.not.i.i.i680 = icmp eq ptr %59, null + br i1 %tobool.not.i.i.i680, label %ehcleanup655, label %if.then.i.i4.i681 -if.then.i.i4.i650: ; preds = %lpad.i648 +if.then.i.i4.i681: ; preds = %lpad.i679 call void @_ZdlPv(ptr noundef nonnull %59) #31 br label %ehcleanup655 -invoke.cont586: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i652 - %_M_finish.i.i656 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 21, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i655, ptr %_M_finish.i.i656, align 8 +invoke.cont586: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i683 + %_M_finish.i.i687 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 21, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i686, ptr %_M_finish.i.i687, align 8 %arrayinit.element587 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 22 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp589, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i659 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont601 unwind label %lpad.i660 + %call5.i.i.i.i2.i690 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont601 unwind label %lpad.i691 -lpad.i660: ; preds = %invoke.cont586 +lpad.i691: ; preds = %invoke.cont586 %60 = landingpad { ptr, i32 } cleanup br label %ehcleanup655 invoke.cont601: ; preds = %invoke.cont586 - store ptr %call5.i.i.i.i2.i659, ptr %ref.tmp589, align 8 - %add.ptr.i1.i664 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i659, i64 2 - %_M_end_of_storage.i.i665 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp589, i64 0, i32 2 - store ptr %add.ptr.i1.i664, ptr %_M_end_of_storage.i.i665, align 8 - store i32 3, ptr %call5.i.i.i.i2.i659, align 4 - %ref.tmp593.sroa.2.0.call5.i.i.i.i2.i659.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i659, i64 4 - store i32 4, ptr %ref.tmp593.sroa.2.0.call5.i.i.i.i2.i659.sroa_idx, align 4 - %_M_finish.i.i666 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp589, i64 0, i32 1 - store ptr %add.ptr.i1.i664, ptr %_M_finish.i.i666, align 8 + store ptr %call5.i.i.i.i2.i690, ptr %ref.tmp589, align 8 + %add.ptr.i1.i695 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i690, i64 8 + %_M_end_of_storage.i.i696 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp589, i64 0, i32 2 + store ptr %add.ptr.i1.i695, ptr %_M_end_of_storage.i.i696, align 8 + store i32 3, ptr %call5.i.i.i.i2.i690, align 4 + %ref.tmp593.sroa.2.0.call5.i.i.i.i2.i690.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i690, i64 4 + store i32 4, ptr %ref.tmp593.sroa.2.0.call5.i.i.i.i2.i690.sroa_idx, align 4 + %_M_finish.i.i698 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp589, i64 0, i32 1 + store ptr %add.ptr.i1.i695, ptr %_M_finish.i.i698, align 8 %arrayinit.element602 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp589, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element602, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i669 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont612 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit825 + %call5.i.i.i.i2.i701 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont612 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit858 invoke.cont612: ; preds = %invoke.cont601 - store ptr %call5.i.i.i.i2.i669, ptr %arrayinit.element602, align 8 - %add.ptr.i1.i674 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i669, i64 2 - %_M_end_of_storage.i.i675 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp589, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i674, ptr %_M_end_of_storage.i.i675, align 8 - store i32 2, ptr %call5.i.i.i.i2.i669, align 4 - %ref.tmp604.sroa.2.0.call5.i.i.i.i2.i669.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i669, i64 4 - store i32 1, ptr %ref.tmp604.sroa.2.0.call5.i.i.i.i2.i669.sroa_idx, align 4 - %_M_finish.i.i676 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp589, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i674, ptr %_M_finish.i.i676, align 8 + store ptr %call5.i.i.i.i2.i701, ptr %arrayinit.element602, align 8 + %add.ptr.i1.i706 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i701, i64 8 + %_M_end_of_storage.i.i707 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp589, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i706, ptr %_M_end_of_storage.i.i707, align 8 + store i32 2, ptr %call5.i.i.i.i2.i701, align 4 + %ref.tmp604.sroa.2.0.call5.i.i.i.i2.i701.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i701, i64 4 + store i32 1, ptr %ref.tmp604.sroa.2.0.call5.i.i.i.i2.i701.sroa_idx, align 4 + %_M_finish.i.i709 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp589, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i706, ptr %_M_finish.i.i709, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element587, i8 0, i64 24, i1 false) - %add.ptr.i.i679 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp589, i64 2 - %call5.i.i.i.i2.i680 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i685 unwind label %lpad.i681 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i685: ; preds = %invoke.cont612 - store ptr %call5.i.i.i.i2.i680, ptr %arrayinit.element587, align 8 - %add.ptr.i1.i686 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i680, i64 2 - %_M_end_of_storage.i.i687 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 22, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i686, ptr %_M_end_of_storage.i.i687, align 8 - %call.i.i.i.i3.i688 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp589, ptr noundef nonnull %add.ptr.i.i679, ptr noundef nonnull %call5.i.i.i.i2.i680) - to label %invoke.cont619 unwind label %lpad.i681 - -lpad.i681: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i685, %invoke.cont612 + %add.ptr.i.i712 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp589, i64 2 + %call5.i.i.i.i2.i713 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i718 unwind label %lpad.i714 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i718: ; preds = %invoke.cont612 + store ptr %call5.i.i.i.i2.i713, ptr %arrayinit.element587, align 8 + %add.ptr.i1.i719 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i2.i713, i64 2 + %_M_end_of_storage.i.i720 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 22, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i719, ptr %_M_end_of_storage.i.i720, align 8 + %call.i.i.i.i3.i721 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp589, ptr noundef nonnull %add.ptr.i.i712, ptr noundef nonnull %call5.i.i.i.i2.i713) + to label %invoke.cont619 unwind label %lpad.i714 + +lpad.i714: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i718, %invoke.cont612 %61 = landingpad { ptr, i32 } cleanup %62 = load ptr, ptr %arrayinit.element587, align 8 - %tobool.not.i.i.i682 = icmp eq ptr %62, null - br i1 %tobool.not.i.i.i682, label %ehcleanup, label %if.then.i.i4.i683 + %tobool.not.i.i.i715 = icmp eq ptr %62, null + br i1 %tobool.not.i.i.i715, label %ehcleanup, label %if.then.i.i4.i716 -if.then.i.i4.i683: ; preds = %lpad.i681 +if.then.i.i4.i716: ; preds = %lpad.i714 call void @_ZdlPv(ptr noundef nonnull %62) #31 br label %ehcleanup -invoke.cont619: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i685 - %_M_finish.i.i689 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 22, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i3.i688, ptr %_M_finish.i.i689, align 8 +invoke.cont619: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i718 + %_M_finish.i.i722 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 22, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i3.i721, ptr %_M_finish.i.i722, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %add.ptr.i.i692 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 23 - %call5.i.i.i.i2.i693 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 - to label %_ZNSt12_Vector_baseISt6vectorIS0_IiSaIiEESaIS2_EESaIS4_EE11_M_allocateEm.exit.i.i unwind label %lpad.i694 + %add.ptr.i.i725 = getelementptr inbounds %"class.std::vector.234", ptr %ref.tmp, i64 23 + %call5.i.i.i.i2.i726 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + to label %_ZNSt12_Vector_baseISt6vectorIS0_IiSaIiEESaIS2_EESaIS4_EE11_M_allocateEm.exit.i.i unwind label %lpad.i727 _ZNSt12_Vector_baseISt6vectorIS0_IiSaIiEESaIS2_EESaIS4_EE11_M_allocateEm.exit.i.i: ; preds = %invoke.cont619 - store ptr %call5.i.i.i.i2.i693, ptr %exemplars, align 8 - %add.ptr.i1.i697 = getelementptr inbounds %"class.std::vector.234", ptr %call5.i.i.i.i2.i693, i64 23 - %_M_end_of_storage.i.i698 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 - store ptr %add.ptr.i1.i697, ptr %_M_end_of_storage.i.i698, align 8 - %call.i.i.i.i3.i699 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIS0_IiSaIiEESaIS2_EEPS4_ET0_T_S9_S8_(ptr noundef nonnull %ref.tmp, ptr noundef nonnull %add.ptr.i.i692, ptr noundef nonnull %call5.i.i.i.i2.i693) - to label %invoke.cont626 unwind label %lpad.i694 - -lpad.i694: ; preds = %_ZNSt12_Vector_baseISt6vectorIS0_IiSaIiEESaIS2_EESaIS4_EE11_M_allocateEm.exit.i.i, %invoke.cont619 + store ptr %call5.i.i.i.i2.i726, ptr %exemplars, align 8 + %add.ptr.i1.i730 = getelementptr inbounds %"class.std::vector.234", ptr %call5.i.i.i.i2.i726, i64 23 + %_M_end_of_storage.i.i731 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 + store ptr %add.ptr.i1.i730, ptr %_M_end_of_storage.i.i731, align 8 + %call.i.i.i.i3.i732 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIS0_IiSaIiEESaIS2_EEPS4_ET0_T_S9_S8_(ptr noundef nonnull %ref.tmp, ptr noundef nonnull %add.ptr.i.i725, ptr noundef nonnull %call5.i.i.i.i2.i726) + to label %invoke.cont626 unwind label %lpad.i727 + +lpad.i727: ; preds = %_ZNSt12_Vector_baseISt6vectorIS0_IiSaIiEESaIS2_EESaIS4_EE11_M_allocateEm.exit.i.i, %invoke.cont619 %63 = landingpad { ptr, i32 } cleanup %64 = load ptr, ptr %exemplars, align 8 - %tobool.not.i.i.i695 = icmp eq ptr %64, null - br i1 %tobool.not.i.i.i695, label %arraydestroy.body629.preheader, label %if.then.i.i4.i696 + %tobool.not.i.i.i728 = icmp eq ptr %64, null + br i1 %tobool.not.i.i.i728, label %arraydestroy.body629.preheader, label %if.then.i.i4.i729 -if.then.i.i4.i696: ; preds = %lpad.i694 +if.then.i.i4.i729: ; preds = %lpad.i727 call void @_ZdlPv(ptr noundef nonnull %64) #31 br label %arraydestroy.body629.preheader -arraydestroy.body629.preheader: ; preds = %lpad.i694, %if.then.i.i4.i696 +arraydestroy.body629.preheader: ; preds = %lpad.i727, %if.then.i.i4.i729 br label %arraydestroy.body629 invoke.cont626: ; preds = %_ZNSt12_Vector_baseISt6vectorIS0_IiSaIiEESaIS2_EESaIS4_EE11_M_allocateEm.exit.i.i - %_M_finish.i.i700 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 1 - store ptr %call.i.i.i.i3.i699, ptr %_M_finish.i.i700, align 8 + %_M_finish.i.i733 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 1 + store ptr %call.i.i.i.i3.i732, ptr %_M_finish.i.i733, align 8 br label %arraydestroy.body arraydestroy.body: ; preds = %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit, %invoke.cont626 - %arraydestroy.elementPast = phi ptr [ %add.ptr.i.i692, %invoke.cont626 ], [ %arraydestroy.element, %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit ] + %arraydestroy.elementPast = phi ptr [ %add.ptr.i.i725, %invoke.cont626 ], [ %arraydestroy.element, %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit ] %arraydestroy.element = getelementptr inbounds %"class.std::vector.234", ptr %arraydestroy.elementPast, i64 -1 %65 = load ptr, ptr %arraydestroy.element, align 8 %_M_finish.i = getelementptr %"class.std::vector.234", ptr %arraydestroy.elementPast, i64 -1, i32 0, i32 0, i32 0, i32 1 @@ -137423,8 +137427,8 @@ invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyISt6ve invoke.cont.i: ; preds = %invoke.contthread-pre-split.i, %arraydestroy.body %68 = phi ptr [ %.pr.i, %invoke.contthread-pre-split.i ], [ %65, %arraydestroy.body ] - %tobool.not.i.i.i702 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i702, label %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i735 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i735, label %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %68) #31 @@ -137435,356 +137439,356 @@ _ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit: ; preds = %invoke.cont.i, %if. br i1 %arraydestroy.done, label %arraydestroy.body635, label %arraydestroy.body arraydestroy.body635: ; preds = %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit, %_ZNSt6vectorIiSaIiEED2Ev.exit - %arraydestroy.elementPast636 = phi ptr [ %arraydestroy.element637, %_ZNSt6vectorIiSaIiEED2Ev.exit ], [ %add.ptr.i.i679, %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit ] + %arraydestroy.elementPast636 = phi ptr [ %arraydestroy.element637, %_ZNSt6vectorIiSaIiEED2Ev.exit ], [ %add.ptr.i.i712, %_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev.exit ] %arraydestroy.element637 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast636, i64 -1 %69 = load ptr, ptr %arraydestroy.element637, align 8 - %tobool.not.i.i.i705 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i705, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i706 + %tobool.not.i.i.i738 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i738, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i739 -if.then.i.i.i706: ; preds = %arraydestroy.body635 +if.then.i.i.i739: ; preds = %arraydestroy.body635 call void @_ZdlPv(ptr noundef nonnull %69) #31 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %arraydestroy.body635, %if.then.i.i.i706 +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %arraydestroy.body635, %if.then.i.i.i739 %arraydestroy.done638 = icmp eq ptr %arraydestroy.element637, %ref.tmp589 br i1 %arraydestroy.done638, label %arraydestroy.body657, label %arraydestroy.body635 -arraydestroy.body657: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZNSt6vectorIiSaIiEED2Ev.exit712 - %arraydestroy.elementPast658 = phi ptr [ %arraydestroy.element659, %_ZNSt6vectorIiSaIiEED2Ev.exit712 ], [ %add.ptr.i.i646, %_ZNSt6vectorIiSaIiEED2Ev.exit ] +arraydestroy.body657: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZNSt6vectorIiSaIiEED2Ev.exit745 + %arraydestroy.elementPast658 = phi ptr [ %arraydestroy.element659, %_ZNSt6vectorIiSaIiEED2Ev.exit745 ], [ %add.ptr.i.i677, %_ZNSt6vectorIiSaIiEED2Ev.exit ] %arraydestroy.element659 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast658, i64 -1 %70 = load ptr, ptr %arraydestroy.element659, align 8 - %tobool.not.i.i.i709 = icmp eq ptr %70, null - br i1 %tobool.not.i.i.i709, label %_ZNSt6vectorIiSaIiEED2Ev.exit712, label %if.then.i.i.i710 + %tobool.not.i.i.i742 = icmp eq ptr %70, null + br i1 %tobool.not.i.i.i742, label %_ZNSt6vectorIiSaIiEED2Ev.exit745, label %if.then.i.i.i743 -if.then.i.i.i710: ; preds = %arraydestroy.body657 +if.then.i.i.i743: ; preds = %arraydestroy.body657 call void @_ZdlPv(ptr noundef nonnull %70) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit712 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit745 -_ZNSt6vectorIiSaIiEED2Ev.exit712: ; preds = %arraydestroy.body657, %if.then.i.i.i710 +_ZNSt6vectorIiSaIiEED2Ev.exit745: ; preds = %arraydestroy.body657, %if.then.i.i.i743 %arraydestroy.done660 = icmp eq ptr %arraydestroy.element659, %ref.tmp556 br i1 %arraydestroy.done660, label %arraydestroy.body683, label %arraydestroy.body657 -arraydestroy.body683: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit712, %_ZNSt6vectorIiSaIiEED2Ev.exit717 - %arraydestroy.elementPast684 = phi ptr [ %arraydestroy.element685, %_ZNSt6vectorIiSaIiEED2Ev.exit717 ], [ %add.ptr.i.i613, %_ZNSt6vectorIiSaIiEED2Ev.exit712 ] +arraydestroy.body683: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit745, %_ZNSt6vectorIiSaIiEED2Ev.exit750 + %arraydestroy.elementPast684 = phi ptr [ %arraydestroy.element685, %_ZNSt6vectorIiSaIiEED2Ev.exit750 ], [ %add.ptr.i.i642, %_ZNSt6vectorIiSaIiEED2Ev.exit745 ] %arraydestroy.element685 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast684, i64 -1 %71 = load ptr, ptr %arraydestroy.element685, align 8 - %tobool.not.i.i.i714 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i714, label %_ZNSt6vectorIiSaIiEED2Ev.exit717, label %if.then.i.i.i715 + %tobool.not.i.i.i747 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i747, label %_ZNSt6vectorIiSaIiEED2Ev.exit750, label %if.then.i.i.i748 -if.then.i.i.i715: ; preds = %arraydestroy.body683 +if.then.i.i.i748: ; preds = %arraydestroy.body683 call void @_ZdlPv(ptr noundef nonnull %71) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit717 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit750 -_ZNSt6vectorIiSaIiEED2Ev.exit717: ; preds = %arraydestroy.body683, %if.then.i.i.i715 +_ZNSt6vectorIiSaIiEED2Ev.exit750: ; preds = %arraydestroy.body683, %if.then.i.i.i748 %arraydestroy.done686 = icmp eq ptr %arraydestroy.element685, %ref.tmp523 br i1 %arraydestroy.done686, label %arraydestroy.body709, label %arraydestroy.body683 -arraydestroy.body709: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit717, %_ZNSt6vectorIiSaIiEED2Ev.exit722 - %arraydestroy.elementPast710 = phi ptr [ %arraydestroy.element711, %_ZNSt6vectorIiSaIiEED2Ev.exit722 ], [ %add.ptr.i.i580, %_ZNSt6vectorIiSaIiEED2Ev.exit717 ] +arraydestroy.body709: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit750, %_ZNSt6vectorIiSaIiEED2Ev.exit755 + %arraydestroy.elementPast710 = phi ptr [ %arraydestroy.element711, %_ZNSt6vectorIiSaIiEED2Ev.exit755 ], [ %add.ptr.i.i607, %_ZNSt6vectorIiSaIiEED2Ev.exit750 ] %arraydestroy.element711 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast710, i64 -1 %72 = load ptr, ptr %arraydestroy.element711, align 8 - %tobool.not.i.i.i719 = icmp eq ptr %72, null - br i1 %tobool.not.i.i.i719, label %_ZNSt6vectorIiSaIiEED2Ev.exit722, label %if.then.i.i.i720 + %tobool.not.i.i.i752 = icmp eq ptr %72, null + br i1 %tobool.not.i.i.i752, label %_ZNSt6vectorIiSaIiEED2Ev.exit755, label %if.then.i.i.i753 -if.then.i.i.i720: ; preds = %arraydestroy.body709 +if.then.i.i.i753: ; preds = %arraydestroy.body709 call void @_ZdlPv(ptr noundef nonnull %72) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit722 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit755 -_ZNSt6vectorIiSaIiEED2Ev.exit722: ; preds = %arraydestroy.body709, %if.then.i.i.i720 +_ZNSt6vectorIiSaIiEED2Ev.exit755: ; preds = %arraydestroy.body709, %if.then.i.i.i753 %arraydestroy.done712 = icmp eq ptr %arraydestroy.element711, %ref.tmp490 br i1 %arraydestroy.done712, label %arraydestroy.body735, label %arraydestroy.body709 -arraydestroy.body735: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit722, %_ZNSt6vectorIiSaIiEED2Ev.exit727 - %arraydestroy.elementPast736 = phi ptr [ %arraydestroy.element737, %_ZNSt6vectorIiSaIiEED2Ev.exit727 ], [ %add.ptr.i.i547, %_ZNSt6vectorIiSaIiEED2Ev.exit722 ] +arraydestroy.body735: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit755, %_ZNSt6vectorIiSaIiEED2Ev.exit760 + %arraydestroy.elementPast736 = phi ptr [ %arraydestroy.element737, %_ZNSt6vectorIiSaIiEED2Ev.exit760 ], [ %add.ptr.i.i572, %_ZNSt6vectorIiSaIiEED2Ev.exit755 ] %arraydestroy.element737 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast736, i64 -1 %73 = load ptr, ptr %arraydestroy.element737, align 8 - %tobool.not.i.i.i724 = icmp eq ptr %73, null - br i1 %tobool.not.i.i.i724, label %_ZNSt6vectorIiSaIiEED2Ev.exit727, label %if.then.i.i.i725 + %tobool.not.i.i.i757 = icmp eq ptr %73, null + br i1 %tobool.not.i.i.i757, label %_ZNSt6vectorIiSaIiEED2Ev.exit760, label %if.then.i.i.i758 -if.then.i.i.i725: ; preds = %arraydestroy.body735 +if.then.i.i.i758: ; preds = %arraydestroy.body735 call void @_ZdlPv(ptr noundef nonnull %73) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit727 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit760 -_ZNSt6vectorIiSaIiEED2Ev.exit727: ; preds = %arraydestroy.body735, %if.then.i.i.i725 +_ZNSt6vectorIiSaIiEED2Ev.exit760: ; preds = %arraydestroy.body735, %if.then.i.i.i758 %arraydestroy.done738 = icmp eq ptr %arraydestroy.element737, %ref.tmp457 br i1 %arraydestroy.done738, label %arraydestroy.body761, label %arraydestroy.body735 -arraydestroy.body761: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit727, %_ZNSt6vectorIiSaIiEED2Ev.exit732 - %arraydestroy.elementPast762 = phi ptr [ %arraydestroy.element763, %_ZNSt6vectorIiSaIiEED2Ev.exit732 ], [ %add.ptr.i.i514, %_ZNSt6vectorIiSaIiEED2Ev.exit727 ] +arraydestroy.body761: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit760, %_ZNSt6vectorIiSaIiEED2Ev.exit765 + %arraydestroy.elementPast762 = phi ptr [ %arraydestroy.element763, %_ZNSt6vectorIiSaIiEED2Ev.exit765 ], [ %add.ptr.i.i537, %_ZNSt6vectorIiSaIiEED2Ev.exit760 ] %arraydestroy.element763 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast762, i64 -1 %74 = load ptr, ptr %arraydestroy.element763, align 8 - %tobool.not.i.i.i729 = icmp eq ptr %74, null - br i1 %tobool.not.i.i.i729, label %_ZNSt6vectorIiSaIiEED2Ev.exit732, label %if.then.i.i.i730 + %tobool.not.i.i.i762 = icmp eq ptr %74, null + br i1 %tobool.not.i.i.i762, label %_ZNSt6vectorIiSaIiEED2Ev.exit765, label %if.then.i.i.i763 -if.then.i.i.i730: ; preds = %arraydestroy.body761 +if.then.i.i.i763: ; preds = %arraydestroy.body761 call void @_ZdlPv(ptr noundef nonnull %74) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit732 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit765 -_ZNSt6vectorIiSaIiEED2Ev.exit732: ; preds = %arraydestroy.body761, %if.then.i.i.i730 +_ZNSt6vectorIiSaIiEED2Ev.exit765: ; preds = %arraydestroy.body761, %if.then.i.i.i763 %arraydestroy.done764 = icmp eq ptr %arraydestroy.element763, %ref.tmp424 br i1 %arraydestroy.done764, label %arraydestroy.body787, label %arraydestroy.body761 -arraydestroy.body787: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit732, %_ZNSt6vectorIiSaIiEED2Ev.exit737 - %arraydestroy.elementPast788 = phi ptr [ %arraydestroy.element789, %_ZNSt6vectorIiSaIiEED2Ev.exit737 ], [ %add.ptr.i.i481, %_ZNSt6vectorIiSaIiEED2Ev.exit732 ] +arraydestroy.body787: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit765, %_ZNSt6vectorIiSaIiEED2Ev.exit770 + %arraydestroy.elementPast788 = phi ptr [ %arraydestroy.element789, %_ZNSt6vectorIiSaIiEED2Ev.exit770 ], [ %add.ptr.i.i502, %_ZNSt6vectorIiSaIiEED2Ev.exit765 ] %arraydestroy.element789 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast788, i64 -1 %75 = load ptr, ptr %arraydestroy.element789, align 8 - %tobool.not.i.i.i734 = icmp eq ptr %75, null - br i1 %tobool.not.i.i.i734, label %_ZNSt6vectorIiSaIiEED2Ev.exit737, label %if.then.i.i.i735 + %tobool.not.i.i.i767 = icmp eq ptr %75, null + br i1 %tobool.not.i.i.i767, label %_ZNSt6vectorIiSaIiEED2Ev.exit770, label %if.then.i.i.i768 -if.then.i.i.i735: ; preds = %arraydestroy.body787 +if.then.i.i.i768: ; preds = %arraydestroy.body787 call void @_ZdlPv(ptr noundef nonnull %75) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit737 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit770 -_ZNSt6vectorIiSaIiEED2Ev.exit737: ; preds = %arraydestroy.body787, %if.then.i.i.i735 +_ZNSt6vectorIiSaIiEED2Ev.exit770: ; preds = %arraydestroy.body787, %if.then.i.i.i768 %arraydestroy.done790 = icmp eq ptr %arraydestroy.element789, %ref.tmp391 br i1 %arraydestroy.done790, label %arraydestroy.body813, label %arraydestroy.body787 -arraydestroy.body813: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit737, %_ZNSt6vectorIiSaIiEED2Ev.exit742 - %arraydestroy.elementPast814 = phi ptr [ %arraydestroy.element815, %_ZNSt6vectorIiSaIiEED2Ev.exit742 ], [ %add.ptr.i.i448, %_ZNSt6vectorIiSaIiEED2Ev.exit737 ] +arraydestroy.body813: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit770, %_ZNSt6vectorIiSaIiEED2Ev.exit775 + %arraydestroy.elementPast814 = phi ptr [ %arraydestroy.element815, %_ZNSt6vectorIiSaIiEED2Ev.exit775 ], [ %add.ptr.i.i467, %_ZNSt6vectorIiSaIiEED2Ev.exit770 ] %arraydestroy.element815 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast814, i64 -1 %76 = load ptr, ptr %arraydestroy.element815, align 8 - %tobool.not.i.i.i739 = icmp eq ptr %76, null - br i1 %tobool.not.i.i.i739, label %_ZNSt6vectorIiSaIiEED2Ev.exit742, label %if.then.i.i.i740 + %tobool.not.i.i.i772 = icmp eq ptr %76, null + br i1 %tobool.not.i.i.i772, label %_ZNSt6vectorIiSaIiEED2Ev.exit775, label %if.then.i.i.i773 -if.then.i.i.i740: ; preds = %arraydestroy.body813 +if.then.i.i.i773: ; preds = %arraydestroy.body813 call void @_ZdlPv(ptr noundef nonnull %76) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit742 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit775 -_ZNSt6vectorIiSaIiEED2Ev.exit742: ; preds = %arraydestroy.body813, %if.then.i.i.i740 +_ZNSt6vectorIiSaIiEED2Ev.exit775: ; preds = %arraydestroy.body813, %if.then.i.i.i773 %arraydestroy.done816 = icmp eq ptr %arraydestroy.element815, %ref.tmp358 br i1 %arraydestroy.done816, label %arraydestroy.body839, label %arraydestroy.body813 -arraydestroy.body839: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit742, %_ZNSt6vectorIiSaIiEED2Ev.exit747 - %arraydestroy.elementPast840 = phi ptr [ %arraydestroy.element841, %_ZNSt6vectorIiSaIiEED2Ev.exit747 ], [ %add.ptr.i.i415, %_ZNSt6vectorIiSaIiEED2Ev.exit742 ] +arraydestroy.body839: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit775, %_ZNSt6vectorIiSaIiEED2Ev.exit780 + %arraydestroy.elementPast840 = phi ptr [ %arraydestroy.element841, %_ZNSt6vectorIiSaIiEED2Ev.exit780 ], [ %add.ptr.i.i432, %_ZNSt6vectorIiSaIiEED2Ev.exit775 ] %arraydestroy.element841 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast840, i64 -1 %77 = load ptr, ptr %arraydestroy.element841, align 8 - %tobool.not.i.i.i744 = icmp eq ptr %77, null - br i1 %tobool.not.i.i.i744, label %_ZNSt6vectorIiSaIiEED2Ev.exit747, label %if.then.i.i.i745 + %tobool.not.i.i.i777 = icmp eq ptr %77, null + br i1 %tobool.not.i.i.i777, label %_ZNSt6vectorIiSaIiEED2Ev.exit780, label %if.then.i.i.i778 -if.then.i.i.i745: ; preds = %arraydestroy.body839 +if.then.i.i.i778: ; preds = %arraydestroy.body839 call void @_ZdlPv(ptr noundef nonnull %77) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit747 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit780 -_ZNSt6vectorIiSaIiEED2Ev.exit747: ; preds = %arraydestroy.body839, %if.then.i.i.i745 +_ZNSt6vectorIiSaIiEED2Ev.exit780: ; preds = %arraydestroy.body839, %if.then.i.i.i778 %arraydestroy.done842 = icmp eq ptr %arraydestroy.element841, %ref.tmp325 br i1 %arraydestroy.done842, label %arraydestroy.body865, label %arraydestroy.body839 -arraydestroy.body865: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit747, %_ZNSt6vectorIiSaIiEED2Ev.exit752 - %arraydestroy.elementPast866 = phi ptr [ %arraydestroy.element867, %_ZNSt6vectorIiSaIiEED2Ev.exit752 ], [ %add.ptr.i.i382, %_ZNSt6vectorIiSaIiEED2Ev.exit747 ] +arraydestroy.body865: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit780, %_ZNSt6vectorIiSaIiEED2Ev.exit785 + %arraydestroy.elementPast866 = phi ptr [ %arraydestroy.element867, %_ZNSt6vectorIiSaIiEED2Ev.exit785 ], [ %add.ptr.i.i397, %_ZNSt6vectorIiSaIiEED2Ev.exit780 ] %arraydestroy.element867 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast866, i64 -1 %78 = load ptr, ptr %arraydestroy.element867, align 8 - %tobool.not.i.i.i749 = icmp eq ptr %78, null - br i1 %tobool.not.i.i.i749, label %_ZNSt6vectorIiSaIiEED2Ev.exit752, label %if.then.i.i.i750 + %tobool.not.i.i.i782 = icmp eq ptr %78, null + br i1 %tobool.not.i.i.i782, label %_ZNSt6vectorIiSaIiEED2Ev.exit785, label %if.then.i.i.i783 -if.then.i.i.i750: ; preds = %arraydestroy.body865 +if.then.i.i.i783: ; preds = %arraydestroy.body865 call void @_ZdlPv(ptr noundef nonnull %78) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit752 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit785 -_ZNSt6vectorIiSaIiEED2Ev.exit752: ; preds = %arraydestroy.body865, %if.then.i.i.i750 +_ZNSt6vectorIiSaIiEED2Ev.exit785: ; preds = %arraydestroy.body865, %if.then.i.i.i783 %arraydestroy.done868 = icmp eq ptr %arraydestroy.element867, %ref.tmp292 br i1 %arraydestroy.done868, label %arraydestroy.body891, label %arraydestroy.body865 -arraydestroy.body891: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit752, %_ZNSt6vectorIiSaIiEED2Ev.exit757 - %arraydestroy.elementPast892 = phi ptr [ %arraydestroy.element893, %_ZNSt6vectorIiSaIiEED2Ev.exit757 ], [ %add.ptr.i.i349, %_ZNSt6vectorIiSaIiEED2Ev.exit752 ] +arraydestroy.body891: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit785, %_ZNSt6vectorIiSaIiEED2Ev.exit790 + %arraydestroy.elementPast892 = phi ptr [ %arraydestroy.element893, %_ZNSt6vectorIiSaIiEED2Ev.exit790 ], [ %add.ptr.i.i362, %_ZNSt6vectorIiSaIiEED2Ev.exit785 ] %arraydestroy.element893 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast892, i64 -1 %79 = load ptr, ptr %arraydestroy.element893, align 8 - %tobool.not.i.i.i754 = icmp eq ptr %79, null - br i1 %tobool.not.i.i.i754, label %_ZNSt6vectorIiSaIiEED2Ev.exit757, label %if.then.i.i.i755 + %tobool.not.i.i.i787 = icmp eq ptr %79, null + br i1 %tobool.not.i.i.i787, label %_ZNSt6vectorIiSaIiEED2Ev.exit790, label %if.then.i.i.i788 -if.then.i.i.i755: ; preds = %arraydestroy.body891 +if.then.i.i.i788: ; preds = %arraydestroy.body891 call void @_ZdlPv(ptr noundef nonnull %79) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit757 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit790 -_ZNSt6vectorIiSaIiEED2Ev.exit757: ; preds = %arraydestroy.body891, %if.then.i.i.i755 +_ZNSt6vectorIiSaIiEED2Ev.exit790: ; preds = %arraydestroy.body891, %if.then.i.i.i788 %arraydestroy.done894 = icmp eq ptr %arraydestroy.element893, %ref.tmp259 br i1 %arraydestroy.done894, label %arraydestroy.body917, label %arraydestroy.body891 -arraydestroy.body917: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit757, %_ZNSt6vectorIiSaIiEED2Ev.exit762 - %arraydestroy.elementPast918 = phi ptr [ %arraydestroy.element919, %_ZNSt6vectorIiSaIiEED2Ev.exit762 ], [ %add.ptr.i.i316, %_ZNSt6vectorIiSaIiEED2Ev.exit757 ] +arraydestroy.body917: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit790, %_ZNSt6vectorIiSaIiEED2Ev.exit795 + %arraydestroy.elementPast918 = phi ptr [ %arraydestroy.element919, %_ZNSt6vectorIiSaIiEED2Ev.exit795 ], [ %add.ptr.i.i327, %_ZNSt6vectorIiSaIiEED2Ev.exit790 ] %arraydestroy.element919 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast918, i64 -1 %80 = load ptr, ptr %arraydestroy.element919, align 8 - %tobool.not.i.i.i759 = icmp eq ptr %80, null - br i1 %tobool.not.i.i.i759, label %_ZNSt6vectorIiSaIiEED2Ev.exit762, label %if.then.i.i.i760 + %tobool.not.i.i.i792 = icmp eq ptr %80, null + br i1 %tobool.not.i.i.i792, label %_ZNSt6vectorIiSaIiEED2Ev.exit795, label %if.then.i.i.i793 -if.then.i.i.i760: ; preds = %arraydestroy.body917 +if.then.i.i.i793: ; preds = %arraydestroy.body917 call void @_ZdlPv(ptr noundef nonnull %80) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit762 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit795 -_ZNSt6vectorIiSaIiEED2Ev.exit762: ; preds = %arraydestroy.body917, %if.then.i.i.i760 +_ZNSt6vectorIiSaIiEED2Ev.exit795: ; preds = %arraydestroy.body917, %if.then.i.i.i793 %arraydestroy.done920 = icmp eq ptr %arraydestroy.element919, %ref.tmp226 br i1 %arraydestroy.done920, label %arraydestroy.body943, label %arraydestroy.body917 -arraydestroy.body943: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit762, %_ZNSt6vectorIiSaIiEED2Ev.exit767 - %arraydestroy.elementPast944 = phi ptr [ %arraydestroy.element945, %_ZNSt6vectorIiSaIiEED2Ev.exit767 ], [ %add.ptr.i.i283, %_ZNSt6vectorIiSaIiEED2Ev.exit762 ] +arraydestroy.body943: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit795, %_ZNSt6vectorIiSaIiEED2Ev.exit800 + %arraydestroy.elementPast944 = phi ptr [ %arraydestroy.element945, %_ZNSt6vectorIiSaIiEED2Ev.exit800 ], [ %add.ptr.i.i292, %_ZNSt6vectorIiSaIiEED2Ev.exit795 ] %arraydestroy.element945 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast944, i64 -1 %81 = load ptr, ptr %arraydestroy.element945, align 8 - %tobool.not.i.i.i764 = icmp eq ptr %81, null - br i1 %tobool.not.i.i.i764, label %_ZNSt6vectorIiSaIiEED2Ev.exit767, label %if.then.i.i.i765 + %tobool.not.i.i.i797 = icmp eq ptr %81, null + br i1 %tobool.not.i.i.i797, label %_ZNSt6vectorIiSaIiEED2Ev.exit800, label %if.then.i.i.i798 -if.then.i.i.i765: ; preds = %arraydestroy.body943 +if.then.i.i.i798: ; preds = %arraydestroy.body943 call void @_ZdlPv(ptr noundef nonnull %81) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit767 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit800 -_ZNSt6vectorIiSaIiEED2Ev.exit767: ; preds = %arraydestroy.body943, %if.then.i.i.i765 +_ZNSt6vectorIiSaIiEED2Ev.exit800: ; preds = %arraydestroy.body943, %if.then.i.i.i798 %arraydestroy.done946 = icmp eq ptr %arraydestroy.element945, %ref.tmp203 br i1 %arraydestroy.done946, label %arraydestroy.body968, label %arraydestroy.body943 -arraydestroy.body968: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit767, %_ZNSt6vectorIiSaIiEED2Ev.exit772 - %arraydestroy.elementPast969 = phi ptr [ %arraydestroy.element970, %_ZNSt6vectorIiSaIiEED2Ev.exit772 ], [ %add.ptr.i.i260, %_ZNSt6vectorIiSaIiEED2Ev.exit767 ] +arraydestroy.body968: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit800, %_ZNSt6vectorIiSaIiEED2Ev.exit805 + %arraydestroy.elementPast969 = phi ptr [ %arraydestroy.element970, %_ZNSt6vectorIiSaIiEED2Ev.exit805 ], [ %add.ptr.i.i268, %_ZNSt6vectorIiSaIiEED2Ev.exit800 ] %arraydestroy.element970 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast969, i64 -1 %82 = load ptr, ptr %arraydestroy.element970, align 8 - %tobool.not.i.i.i769 = icmp eq ptr %82, null - br i1 %tobool.not.i.i.i769, label %_ZNSt6vectorIiSaIiEED2Ev.exit772, label %if.then.i.i.i770 + %tobool.not.i.i.i802 = icmp eq ptr %82, null + br i1 %tobool.not.i.i.i802, label %_ZNSt6vectorIiSaIiEED2Ev.exit805, label %if.then.i.i.i803 -if.then.i.i.i770: ; preds = %arraydestroy.body968 +if.then.i.i.i803: ; preds = %arraydestroy.body968 call void @_ZdlPv(ptr noundef nonnull %82) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit772 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit805 -_ZNSt6vectorIiSaIiEED2Ev.exit772: ; preds = %arraydestroy.body968, %if.then.i.i.i770 +_ZNSt6vectorIiSaIiEED2Ev.exit805: ; preds = %arraydestroy.body968, %if.then.i.i.i803 %arraydestroy.done971 = icmp eq ptr %arraydestroy.element970, %ref.tmp180 br i1 %arraydestroy.done971, label %arraydestroy.body993, label %arraydestroy.body968 -arraydestroy.body993: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit772, %_ZNSt6vectorIiSaIiEED2Ev.exit777 - %arraydestroy.elementPast994 = phi ptr [ %arraydestroy.element995, %_ZNSt6vectorIiSaIiEED2Ev.exit777 ], [ %add.ptr.i.i237, %_ZNSt6vectorIiSaIiEED2Ev.exit772 ] +arraydestroy.body993: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit805, %_ZNSt6vectorIiSaIiEED2Ev.exit810 + %arraydestroy.elementPast994 = phi ptr [ %arraydestroy.element995, %_ZNSt6vectorIiSaIiEED2Ev.exit810 ], [ %add.ptr.i.i244, %_ZNSt6vectorIiSaIiEED2Ev.exit805 ] %arraydestroy.element995 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast994, i64 -1 %83 = load ptr, ptr %arraydestroy.element995, align 8 - %tobool.not.i.i.i774 = icmp eq ptr %83, null - br i1 %tobool.not.i.i.i774, label %_ZNSt6vectorIiSaIiEED2Ev.exit777, label %if.then.i.i.i775 + %tobool.not.i.i.i807 = icmp eq ptr %83, null + br i1 %tobool.not.i.i.i807, label %_ZNSt6vectorIiSaIiEED2Ev.exit810, label %if.then.i.i.i808 -if.then.i.i.i775: ; preds = %arraydestroy.body993 +if.then.i.i.i808: ; preds = %arraydestroy.body993 call void @_ZdlPv(ptr noundef nonnull %83) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit777 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit810 -_ZNSt6vectorIiSaIiEED2Ev.exit777: ; preds = %arraydestroy.body993, %if.then.i.i.i775 +_ZNSt6vectorIiSaIiEED2Ev.exit810: ; preds = %arraydestroy.body993, %if.then.i.i.i808 %arraydestroy.done996 = icmp eq ptr %arraydestroy.element995, %ref.tmp157 br i1 %arraydestroy.done996, label %arraydestroy.body1018, label %arraydestroy.body993 -arraydestroy.body1018: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit777, %_ZNSt6vectorIiSaIiEED2Ev.exit782 - %arraydestroy.elementPast1019 = phi ptr [ %arraydestroy.element1020, %_ZNSt6vectorIiSaIiEED2Ev.exit782 ], [ %add.ptr.i.i214, %_ZNSt6vectorIiSaIiEED2Ev.exit777 ] +arraydestroy.body1018: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit810, %_ZNSt6vectorIiSaIiEED2Ev.exit815 + %arraydestroy.elementPast1019 = phi ptr [ %arraydestroy.element1020, %_ZNSt6vectorIiSaIiEED2Ev.exit815 ], [ %add.ptr.i.i220, %_ZNSt6vectorIiSaIiEED2Ev.exit810 ] %arraydestroy.element1020 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1019, i64 -1 %84 = load ptr, ptr %arraydestroy.element1020, align 8 - %tobool.not.i.i.i779 = icmp eq ptr %84, null - br i1 %tobool.not.i.i.i779, label %_ZNSt6vectorIiSaIiEED2Ev.exit782, label %if.then.i.i.i780 + %tobool.not.i.i.i812 = icmp eq ptr %84, null + br i1 %tobool.not.i.i.i812, label %_ZNSt6vectorIiSaIiEED2Ev.exit815, label %if.then.i.i.i813 -if.then.i.i.i780: ; preds = %arraydestroy.body1018 +if.then.i.i.i813: ; preds = %arraydestroy.body1018 call void @_ZdlPv(ptr noundef nonnull %84) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit782 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit815 -_ZNSt6vectorIiSaIiEED2Ev.exit782: ; preds = %arraydestroy.body1018, %if.then.i.i.i780 +_ZNSt6vectorIiSaIiEED2Ev.exit815: ; preds = %arraydestroy.body1018, %if.then.i.i.i813 %arraydestroy.done1021 = icmp eq ptr %arraydestroy.element1020, %ref.tmp134 br i1 %arraydestroy.done1021, label %arraydestroy.body1043, label %arraydestroy.body1018 -arraydestroy.body1043: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit782, %_ZNSt6vectorIiSaIiEED2Ev.exit787 - %arraydestroy.elementPast1044 = phi ptr [ %arraydestroy.element1045, %_ZNSt6vectorIiSaIiEED2Ev.exit787 ], [ %add.ptr.i.i191, %_ZNSt6vectorIiSaIiEED2Ev.exit782 ] +arraydestroy.body1043: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit815, %_ZNSt6vectorIiSaIiEED2Ev.exit820 + %arraydestroy.elementPast1044 = phi ptr [ %arraydestroy.element1045, %_ZNSt6vectorIiSaIiEED2Ev.exit820 ], [ %add.ptr.i.i196, %_ZNSt6vectorIiSaIiEED2Ev.exit815 ] %arraydestroy.element1045 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1044, i64 -1 %85 = load ptr, ptr %arraydestroy.element1045, align 8 - %tobool.not.i.i.i784 = icmp eq ptr %85, null - br i1 %tobool.not.i.i.i784, label %_ZNSt6vectorIiSaIiEED2Ev.exit787, label %if.then.i.i.i785 + %tobool.not.i.i.i817 = icmp eq ptr %85, null + br i1 %tobool.not.i.i.i817, label %_ZNSt6vectorIiSaIiEED2Ev.exit820, label %if.then.i.i.i818 -if.then.i.i.i785: ; preds = %arraydestroy.body1043 +if.then.i.i.i818: ; preds = %arraydestroy.body1043 call void @_ZdlPv(ptr noundef nonnull %85) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit787 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit820 -_ZNSt6vectorIiSaIiEED2Ev.exit787: ; preds = %arraydestroy.body1043, %if.then.i.i.i785 +_ZNSt6vectorIiSaIiEED2Ev.exit820: ; preds = %arraydestroy.body1043, %if.then.i.i.i818 %arraydestroy.done1046 = icmp eq ptr %arraydestroy.element1045, %ref.tmp87 br i1 %arraydestroy.done1046, label %arraydestroy.body1070, label %arraydestroy.body1043 -arraydestroy.body1070: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit787, %_ZNSt6vectorIiSaIiEED2Ev.exit792 - %arraydestroy.elementPast1071 = phi ptr [ %arraydestroy.element1072, %_ZNSt6vectorIiSaIiEED2Ev.exit792 ], [ %add.ptr.i.i148, %_ZNSt6vectorIiSaIiEED2Ev.exit787 ] +arraydestroy.body1070: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit820, %_ZNSt6vectorIiSaIiEED2Ev.exit825 + %arraydestroy.elementPast1071 = phi ptr [ %arraydestroy.element1072, %_ZNSt6vectorIiSaIiEED2Ev.exit825 ], [ %add.ptr.i.i150, %_ZNSt6vectorIiSaIiEED2Ev.exit820 ] %arraydestroy.element1072 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1071, i64 -1 %86 = load ptr, ptr %arraydestroy.element1072, align 8 - %tobool.not.i.i.i789 = icmp eq ptr %86, null - br i1 %tobool.not.i.i.i789, label %_ZNSt6vectorIiSaIiEED2Ev.exit792, label %if.then.i.i.i790 + %tobool.not.i.i.i822 = icmp eq ptr %86, null + br i1 %tobool.not.i.i.i822, label %_ZNSt6vectorIiSaIiEED2Ev.exit825, label %if.then.i.i.i823 -if.then.i.i.i790: ; preds = %arraydestroy.body1070 +if.then.i.i.i823: ; preds = %arraydestroy.body1070 call void @_ZdlPv(ptr noundef nonnull %86) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit792 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit825 -_ZNSt6vectorIiSaIiEED2Ev.exit792: ; preds = %arraydestroy.body1070, %if.then.i.i.i790 +_ZNSt6vectorIiSaIiEED2Ev.exit825: ; preds = %arraydestroy.body1070, %if.then.i.i.i823 %arraydestroy.done1073 = icmp eq ptr %arraydestroy.element1072, %ref.tmp54 br i1 %arraydestroy.done1073, label %arraydestroy.body1096.preheader, label %arraydestroy.body1070 -arraydestroy.body1096.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit792 +arraydestroy.body1096.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit825 %87 = load ptr, ptr %ref.tmp34, align 8 - %tobool.not.i.i.i794 = icmp eq ptr %87, null - br i1 %tobool.not.i.i.i794, label %arraydestroy.body1121.preheader, label %if.then.i.i.i795 + %tobool.not.i.i.i827 = icmp eq ptr %87, null + br i1 %tobool.not.i.i.i827, label %arraydestroy.body1121.preheader, label %if.then.i.i.i828 -if.then.i.i.i795: ; preds = %arraydestroy.body1096.preheader +if.then.i.i.i828: ; preds = %arraydestroy.body1096.preheader call void @_ZdlPv(ptr noundef nonnull %87) #31 br label %arraydestroy.body1121.preheader -arraydestroy.body1121.preheader: ; preds = %arraydestroy.body1096.preheader, %if.then.i.i.i795 +arraydestroy.body1121.preheader: ; preds = %arraydestroy.body1096.preheader, %if.then.i.i.i828 br label %arraydestroy.body1121 -arraydestroy.body1121: ; preds = %arraydestroy.body1121.preheader, %_ZNSt6vectorIiSaIiEED2Ev.exit802 - %arraydestroy.elementPast1122 = phi ptr [ %arraydestroy.element1123, %_ZNSt6vectorIiSaIiEED2Ev.exit802 ], [ %add.ptr.i.i95, %arraydestroy.body1121.preheader ] +arraydestroy.body1121: ; preds = %arraydestroy.body1121.preheader, %_ZNSt6vectorIiSaIiEED2Ev.exit835 + %arraydestroy.elementPast1122 = phi ptr [ %arraydestroy.element1123, %_ZNSt6vectorIiSaIiEED2Ev.exit835 ], [ %add.ptr.i.i95, %arraydestroy.body1121.preheader ] %arraydestroy.element1123 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1122, i64 -1 %88 = load ptr, ptr %arraydestroy.element1123, align 8 - %tobool.not.i.i.i799 = icmp eq ptr %88, null - br i1 %tobool.not.i.i.i799, label %_ZNSt6vectorIiSaIiEED2Ev.exit802, label %if.then.i.i.i800 + %tobool.not.i.i.i832 = icmp eq ptr %88, null + br i1 %tobool.not.i.i.i832, label %_ZNSt6vectorIiSaIiEED2Ev.exit835, label %if.then.i.i.i833 -if.then.i.i.i800: ; preds = %arraydestroy.body1121 +if.then.i.i.i833: ; preds = %arraydestroy.body1121 call void @_ZdlPv(ptr noundef nonnull %88) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit802 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit835 -_ZNSt6vectorIiSaIiEED2Ev.exit802: ; preds = %arraydestroy.body1121, %if.then.i.i.i800 +_ZNSt6vectorIiSaIiEED2Ev.exit835: ; preds = %arraydestroy.body1121, %if.then.i.i.i833 %arraydestroy.done1124 = icmp eq ptr %arraydestroy.element1123, %ref.tmp21 br i1 %arraydestroy.done1124, label %arraydestroy.body1135, label %arraydestroy.body1121 -arraydestroy.body1135: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit802, %_ZNSt6vectorIiSaIiEED2Ev.exit807 - %arraydestroy.elementPast1136 = phi ptr [ %arraydestroy.element1137, %_ZNSt6vectorIiSaIiEED2Ev.exit807 ], [ %add.ptr.i.i82, %_ZNSt6vectorIiSaIiEED2Ev.exit802 ] +arraydestroy.body1135: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit835, %_ZNSt6vectorIiSaIiEED2Ev.exit840 + %arraydestroy.elementPast1136 = phi ptr [ %arraydestroy.element1137, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ], [ %add.ptr.i.i82, %_ZNSt6vectorIiSaIiEED2Ev.exit835 ] %arraydestroy.element1137 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1136, i64 -1 %89 = load ptr, ptr %arraydestroy.element1137, align 8 - %tobool.not.i.i.i804 = icmp eq ptr %89, null - br i1 %tobool.not.i.i.i804, label %_ZNSt6vectorIiSaIiEED2Ev.exit807, label %if.then.i.i.i805 + %tobool.not.i.i.i837 = icmp eq ptr %89, null + br i1 %tobool.not.i.i.i837, label %_ZNSt6vectorIiSaIiEED2Ev.exit840, label %if.then.i.i.i838 -if.then.i.i.i805: ; preds = %arraydestroy.body1135 +if.then.i.i.i838: ; preds = %arraydestroy.body1135 call void @_ZdlPv(ptr noundef nonnull %89) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit807 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit840 -_ZNSt6vectorIiSaIiEED2Ev.exit807: ; preds = %arraydestroy.body1135, %if.then.i.i.i805 +_ZNSt6vectorIiSaIiEED2Ev.exit840: ; preds = %arraydestroy.body1135, %if.then.i.i.i838 %arraydestroy.done1138 = icmp eq ptr %arraydestroy.element1137, %ref.tmp9 br i1 %arraydestroy.done1138, label %arraydestroy.body1149.preheader, label %arraydestroy.body1135 -arraydestroy.body1149.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit807 +arraydestroy.body1149.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit840 %90 = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i809 = icmp eq ptr %90, null - br i1 %tobool.not.i.i.i809, label %_ZNSt6vectorIiSaIiEED2Ev.exit812, label %if.then.i.i.i810 + %tobool.not.i.i.i842 = icmp eq ptr %90, null + br i1 %tobool.not.i.i.i842, label %_ZNSt6vectorIiSaIiEED2Ev.exit845, label %if.then.i.i.i843 -if.then.i.i.i810: ; preds = %arraydestroy.body1149.preheader +if.then.i.i.i843: ; preds = %arraydestroy.body1149.preheader call void @_ZdlPv(ptr noundef nonnull %90) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit812 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit845 -_ZNSt6vectorIiSaIiEED2Ev.exit812: ; preds = %arraydestroy.body1149.preheader, %if.then.i.i.i810 +_ZNSt6vectorIiSaIiEED2Ev.exit845: ; preds = %arraydestroy.body1149.preheader, %if.then.i.i.i843 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %ref.tmp.i) invoke void @_ZN4absl13hash_internal17ContainerAsVectorISt6vectorIS2_IS2_IiSaIiEESaIS4_EESaIS6_EEE2DoERKS8_(ptr nonnull sret(%"class.std::vector.1180") align 8 %ref.tmp.i, ptr noundef nonnull align 8 dereferenceable(24) %exemplars) to label %.noexc unwind label %lpad1171 -.noexc: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit812 +.noexc: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit845 invoke void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS2_IS2_IiSaIiEESaIS5_EEEESaISA_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i) - to label %invoke.cont.i814 unwind label %lpad.i813 + to label %invoke.cont.i847 unwind label %lpad.i846 -invoke.cont.i814: ; preds = %.noexc +invoke.cont.i847: ; preds = %.noexc %91 = load ptr, ptr %ref.tmp.i, align 8, !noalias !3806 %tobool.not.i.i.i.i = icmp eq ptr %91, null br i1 %tobool.not.i.i.i.i, label %invoke.cont1172, label %if.then.i.i.i.i -if.then.i.i.i.i: ; preds = %invoke.cont.i814 +if.then.i.i.i.i: ; preds = %invoke.cont.i847 call void @_ZdlPv(ptr noundef nonnull %91) #31 br label %invoke.cont1172 -lpad.i813: ; preds = %.noexc +lpad.i846: ; preds = %.noexc %92 = landingpad { ptr, i32 } cleanup %93 = load ptr, ptr %ref.tmp.i, align 8, !noalias !3806 %tobool.not.i.i.i1.i = icmp eq ptr %93, null br i1 %tobool.not.i.i.i1.i, label %ehcleanup1189, label %if.then.i.i.i2.i -if.then.i.i.i2.i: ; preds = %lpad.i813 +if.then.i.i.i2.i: ; preds = %lpad.i846 call void @_ZdlPv(ptr noundef nonnull %93) #31 br label %ehcleanup1189 -invoke.cont1172: ; preds = %if.then.i.i.i.i, %invoke.cont.i814 +invoke.cont1172: ; preds = %if.then.i.i.i.i, %invoke.cont.i847 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp.i) %94 = load i8, ptr %gtest_ar_, align 8 %95 = and i8 %94, 1 @@ -137792,576 +137796,576 @@ invoke.cont1172: ; preds = %if.then.i.i.i.i, %i br i1 %tobool.i.not, label %if.else, label %if.end arraydestroy.body629: ; preds = %arraydestroy.body629.preheader, %arraydestroy.body629 - %arraydestroy.elementPast630 = phi ptr [ %arraydestroy.element631, %arraydestroy.body629 ], [ %add.ptr.i.i692, %arraydestroy.body629.preheader ] + %arraydestroy.elementPast630 = phi ptr [ %arraydestroy.element631, %arraydestroy.body629 ], [ %add.ptr.i.i725, %arraydestroy.body629.preheader ] %arraydestroy.element631 = getelementptr inbounds %"class.std::vector.234", ptr %arraydestroy.elementPast630, i64 -1 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element631) #28 %arraydestroy.done632 = icmp eq ptr %arraydestroy.element631, %ref.tmp br i1 %arraydestroy.done632, label %ehcleanup, label %arraydestroy.body629 -ehcleanup: ; preds = %arraydestroy.body629, %if.then.i.i4.i683, %lpad.i681 - %.pn = phi { ptr, i32 } [ %61, %if.then.i.i4.i683 ], [ %61, %lpad.i681 ], [ %63, %arraydestroy.body629 ] - %cleanup.isactive620.0 = phi i1 [ true, %if.then.i.i4.i683 ], [ true, %lpad.i681 ], [ false, %arraydestroy.body629 ] +ehcleanup: ; preds = %arraydestroy.body629, %if.then.i.i4.i716, %lpad.i714 + %.pn = phi { ptr, i32 } [ %61, %if.then.i.i4.i716 ], [ %61, %lpad.i714 ], [ %63, %arraydestroy.body629 ] + %cleanup.isactive620.0 = phi i1 [ true, %if.then.i.i4.i716 ], [ true, %lpad.i714 ], [ false, %arraydestroy.body629 ] br label %arraydestroy.body642 -arraydestroy.body642: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit820, %ehcleanup - %arraydestroy.elementPast643 = phi ptr [ %add.ptr.i.i679, %ehcleanup ], [ %arraydestroy.element644, %_ZNSt6vectorIiSaIiEED2Ev.exit820 ] +arraydestroy.body642: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit853, %ehcleanup + %arraydestroy.elementPast643 = phi ptr [ %add.ptr.i.i712, %ehcleanup ], [ %arraydestroy.element644, %_ZNSt6vectorIiSaIiEED2Ev.exit853 ] %arraydestroy.element644 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast643, i64 -1 %96 = load ptr, ptr %arraydestroy.element644, align 8 - %tobool.not.i.i.i817 = icmp eq ptr %96, null - br i1 %tobool.not.i.i.i817, label %_ZNSt6vectorIiSaIiEED2Ev.exit820, label %if.then.i.i.i818 + %tobool.not.i.i.i850 = icmp eq ptr %96, null + br i1 %tobool.not.i.i.i850, label %_ZNSt6vectorIiSaIiEED2Ev.exit853, label %if.then.i.i.i851 -if.then.i.i.i818: ; preds = %arraydestroy.body642 +if.then.i.i.i851: ; preds = %arraydestroy.body642 call void @_ZdlPv(ptr noundef nonnull %96) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit820 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit853 -_ZNSt6vectorIiSaIiEED2Ev.exit820: ; preds = %arraydestroy.body642, %if.then.i.i.i818 +_ZNSt6vectorIiSaIiEED2Ev.exit853: ; preds = %arraydestroy.body642, %if.then.i.i.i851 %arraydestroy.done645 = icmp eq ptr %arraydestroy.element644, %ref.tmp589 br i1 %arraydestroy.done645, label %ehcleanup655, label %arraydestroy.body642 -_ZNSt6vectorIiSaIiEED2Ev.exit825: ; preds = %invoke.cont601 +_ZNSt6vectorIiSaIiEED2Ev.exit858: ; preds = %invoke.cont601 %97 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i659) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i690) #31 br label %ehcleanup655 -ehcleanup655: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit820, %lpad.i660, %_ZNSt6vectorIiSaIiEED2Ev.exit825, %if.then.i.i4.i650, %lpad.i648 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %58, %if.then.i.i4.i650 ], [ %58, %lpad.i648 ], [ %60, %lpad.i660 ], [ %97, %_ZNSt6vectorIiSaIiEED2Ev.exit825 ], [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit820 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element554, %if.then.i.i4.i650 ], [ %arrayinit.element554, %lpad.i648 ], [ %arrayinit.element587, %lpad.i660 ], [ %arrayinit.element587, %_ZNSt6vectorIiSaIiEED2Ev.exit825 ], [ %arrayinit.element587, %_ZNSt6vectorIiSaIiEED2Ev.exit820 ] - %cleanup.isactive620.3 = phi i1 [ true, %if.then.i.i4.i650 ], [ true, %lpad.i648 ], [ true, %lpad.i660 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit825 ], [ %cleanup.isactive620.0, %_ZNSt6vectorIiSaIiEED2Ev.exit820 ] +ehcleanup655: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit853, %lpad.i691, %_ZNSt6vectorIiSaIiEED2Ev.exit858, %if.then.i.i4.i681, %lpad.i679 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %58, %if.then.i.i4.i681 ], [ %58, %lpad.i679 ], [ %60, %lpad.i691 ], [ %97, %_ZNSt6vectorIiSaIiEED2Ev.exit858 ], [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit853 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element554, %if.then.i.i4.i681 ], [ %arrayinit.element554, %lpad.i679 ], [ %arrayinit.element587, %lpad.i691 ], [ %arrayinit.element587, %_ZNSt6vectorIiSaIiEED2Ev.exit858 ], [ %arrayinit.element587, %_ZNSt6vectorIiSaIiEED2Ev.exit853 ] + %cleanup.isactive620.3 = phi i1 [ true, %if.then.i.i4.i681 ], [ true, %lpad.i679 ], [ true, %lpad.i691 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit858 ], [ %cleanup.isactive620.0, %_ZNSt6vectorIiSaIiEED2Ev.exit853 ] br label %arraydestroy.body664 -arraydestroy.body664: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit830, %ehcleanup655 - %arraydestroy.elementPast665 = phi ptr [ %add.ptr.i.i646, %ehcleanup655 ], [ %arraydestroy.element666, %_ZNSt6vectorIiSaIiEED2Ev.exit830 ] +arraydestroy.body664: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit863, %ehcleanup655 + %arraydestroy.elementPast665 = phi ptr [ %add.ptr.i.i677, %ehcleanup655 ], [ %arraydestroy.element666, %_ZNSt6vectorIiSaIiEED2Ev.exit863 ] %arraydestroy.element666 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast665, i64 -1 %98 = load ptr, ptr %arraydestroy.element666, align 8 - %tobool.not.i.i.i827 = icmp eq ptr %98, null - br i1 %tobool.not.i.i.i827, label %_ZNSt6vectorIiSaIiEED2Ev.exit830, label %if.then.i.i.i828 + %tobool.not.i.i.i860 = icmp eq ptr %98, null + br i1 %tobool.not.i.i.i860, label %_ZNSt6vectorIiSaIiEED2Ev.exit863, label %if.then.i.i.i861 -if.then.i.i.i828: ; preds = %arraydestroy.body664 +if.then.i.i.i861: ; preds = %arraydestroy.body664 call void @_ZdlPv(ptr noundef nonnull %98) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit830 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit863 -_ZNSt6vectorIiSaIiEED2Ev.exit830: ; preds = %arraydestroy.body664, %if.then.i.i.i828 +_ZNSt6vectorIiSaIiEED2Ev.exit863: ; preds = %arraydestroy.body664, %if.then.i.i.i861 %arraydestroy.done667 = icmp eq ptr %arraydestroy.element666, %ref.tmp556 br i1 %arraydestroy.done667, label %ehcleanup681, label %arraydestroy.body664 -_ZNSt6vectorIiSaIiEED2Ev.exit835: ; preds = %invoke.cont568 +_ZNSt6vectorIiSaIiEED2Ev.exit868: ; preds = %invoke.cont568 %99 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i626) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i655) #31 br label %ehcleanup681 -ehcleanup681: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit830, %lpad.i627, %_ZNSt6vectorIiSaIiEED2Ev.exit835, %if.then.i.i4.i617, %lpad.i615 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %55, %if.then.i.i4.i617 ], [ %55, %lpad.i615 ], [ %57, %lpad.i627 ], [ %99, %_ZNSt6vectorIiSaIiEED2Ev.exit835 ], [ %.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit830 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element521, %if.then.i.i4.i617 ], [ %arrayinit.element521, %lpad.i615 ], [ %arrayinit.element554, %lpad.i627 ], [ %arrayinit.element554, %_ZNSt6vectorIiSaIiEED2Ev.exit835 ], [ %arrayinit.endOfInit.0, %_ZNSt6vectorIiSaIiEED2Ev.exit830 ] - %cleanup.isactive620.6 = phi i1 [ true, %if.then.i.i4.i617 ], [ true, %lpad.i615 ], [ true, %lpad.i627 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit835 ], [ %cleanup.isactive620.3, %_ZNSt6vectorIiSaIiEED2Ev.exit830 ] +ehcleanup681: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit863, %lpad.i656, %_ZNSt6vectorIiSaIiEED2Ev.exit868, %if.then.i.i4.i646, %lpad.i644 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %55, %if.then.i.i4.i646 ], [ %55, %lpad.i644 ], [ %57, %lpad.i656 ], [ %99, %_ZNSt6vectorIiSaIiEED2Ev.exit868 ], [ %.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit863 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element521, %if.then.i.i4.i646 ], [ %arrayinit.element521, %lpad.i644 ], [ %arrayinit.element554, %lpad.i656 ], [ %arrayinit.element554, %_ZNSt6vectorIiSaIiEED2Ev.exit868 ], [ %arrayinit.endOfInit.0, %_ZNSt6vectorIiSaIiEED2Ev.exit863 ] + %cleanup.isactive620.6 = phi i1 [ true, %if.then.i.i4.i646 ], [ true, %lpad.i644 ], [ true, %lpad.i656 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit868 ], [ %cleanup.isactive620.3, %_ZNSt6vectorIiSaIiEED2Ev.exit863 ] br label %arraydestroy.body690 -arraydestroy.body690: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit840, %ehcleanup681 - %arraydestroy.elementPast691 = phi ptr [ %add.ptr.i.i613, %ehcleanup681 ], [ %arraydestroy.element692, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ] +arraydestroy.body690: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit873, %ehcleanup681 + %arraydestroy.elementPast691 = phi ptr [ %add.ptr.i.i642, %ehcleanup681 ], [ %arraydestroy.element692, %_ZNSt6vectorIiSaIiEED2Ev.exit873 ] %arraydestroy.element692 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast691, i64 -1 %100 = load ptr, ptr %arraydestroy.element692, align 8 - %tobool.not.i.i.i837 = icmp eq ptr %100, null - br i1 %tobool.not.i.i.i837, label %_ZNSt6vectorIiSaIiEED2Ev.exit840, label %if.then.i.i.i838 + %tobool.not.i.i.i870 = icmp eq ptr %100, null + br i1 %tobool.not.i.i.i870, label %_ZNSt6vectorIiSaIiEED2Ev.exit873, label %if.then.i.i.i871 -if.then.i.i.i838: ; preds = %arraydestroy.body690 +if.then.i.i.i871: ; preds = %arraydestroy.body690 call void @_ZdlPv(ptr noundef nonnull %100) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit840 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit873 -_ZNSt6vectorIiSaIiEED2Ev.exit840: ; preds = %arraydestroy.body690, %if.then.i.i.i838 +_ZNSt6vectorIiSaIiEED2Ev.exit873: ; preds = %arraydestroy.body690, %if.then.i.i.i871 %arraydestroy.done693 = icmp eq ptr %arraydestroy.element692, %ref.tmp523 br i1 %arraydestroy.done693, label %ehcleanup707, label %arraydestroy.body690 -_ZNSt6vectorIiSaIiEED2Ev.exit845: ; preds = %invoke.cont535 +_ZNSt6vectorIiSaIiEED2Ev.exit878: ; preds = %invoke.cont535 %101 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i593) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i620) #31 br label %ehcleanup707 -ehcleanup707: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit840, %lpad.i594, %_ZNSt6vectorIiSaIiEED2Ev.exit845, %if.then.i.i4.i584, %lpad.i582 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %52, %if.then.i.i4.i584 ], [ %52, %lpad.i582 ], [ %54, %lpad.i594 ], [ %101, %_ZNSt6vectorIiSaIiEED2Ev.exit845 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element488, %if.then.i.i4.i584 ], [ %arrayinit.element488, %lpad.i582 ], [ %arrayinit.element521, %lpad.i594 ], [ %arrayinit.element521, %_ZNSt6vectorIiSaIiEED2Ev.exit845 ], [ %arrayinit.endOfInit.3, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ] - %cleanup.isactive620.9 = phi i1 [ true, %if.then.i.i4.i584 ], [ true, %lpad.i582 ], [ true, %lpad.i594 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit845 ], [ %cleanup.isactive620.6, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ] +ehcleanup707: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit873, %lpad.i621, %_ZNSt6vectorIiSaIiEED2Ev.exit878, %if.then.i.i4.i611, %lpad.i609 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %52, %if.then.i.i4.i611 ], [ %52, %lpad.i609 ], [ %54, %lpad.i621 ], [ %101, %_ZNSt6vectorIiSaIiEED2Ev.exit878 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit873 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element488, %if.then.i.i4.i611 ], [ %arrayinit.element488, %lpad.i609 ], [ %arrayinit.element521, %lpad.i621 ], [ %arrayinit.element521, %_ZNSt6vectorIiSaIiEED2Ev.exit878 ], [ %arrayinit.endOfInit.3, %_ZNSt6vectorIiSaIiEED2Ev.exit873 ] + %cleanup.isactive620.9 = phi i1 [ true, %if.then.i.i4.i611 ], [ true, %lpad.i609 ], [ true, %lpad.i621 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit878 ], [ %cleanup.isactive620.6, %_ZNSt6vectorIiSaIiEED2Ev.exit873 ] br label %arraydestroy.body716 -arraydestroy.body716: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit850, %ehcleanup707 - %arraydestroy.elementPast717 = phi ptr [ %add.ptr.i.i580, %ehcleanup707 ], [ %arraydestroy.element718, %_ZNSt6vectorIiSaIiEED2Ev.exit850 ] +arraydestroy.body716: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit883, %ehcleanup707 + %arraydestroy.elementPast717 = phi ptr [ %add.ptr.i.i607, %ehcleanup707 ], [ %arraydestroy.element718, %_ZNSt6vectorIiSaIiEED2Ev.exit883 ] %arraydestroy.element718 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast717, i64 -1 %102 = load ptr, ptr %arraydestroy.element718, align 8 - %tobool.not.i.i.i847 = icmp eq ptr %102, null - br i1 %tobool.not.i.i.i847, label %_ZNSt6vectorIiSaIiEED2Ev.exit850, label %if.then.i.i.i848 + %tobool.not.i.i.i880 = icmp eq ptr %102, null + br i1 %tobool.not.i.i.i880, label %_ZNSt6vectorIiSaIiEED2Ev.exit883, label %if.then.i.i.i881 -if.then.i.i.i848: ; preds = %arraydestroy.body716 +if.then.i.i.i881: ; preds = %arraydestroy.body716 call void @_ZdlPv(ptr noundef nonnull %102) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit850 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit883 -_ZNSt6vectorIiSaIiEED2Ev.exit850: ; preds = %arraydestroy.body716, %if.then.i.i.i848 +_ZNSt6vectorIiSaIiEED2Ev.exit883: ; preds = %arraydestroy.body716, %if.then.i.i.i881 %arraydestroy.done719 = icmp eq ptr %arraydestroy.element718, %ref.tmp490 br i1 %arraydestroy.done719, label %ehcleanup733, label %arraydestroy.body716 -_ZNSt6vectorIiSaIiEED2Ev.exit855: ; preds = %invoke.cont502 +_ZNSt6vectorIiSaIiEED2Ev.exit888: ; preds = %invoke.cont502 %103 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i560) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i585) #31 br label %ehcleanup733 -ehcleanup733: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit850, %lpad.i561, %_ZNSt6vectorIiSaIiEED2Ev.exit855, %if.then.i.i4.i551, %lpad.i549 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %49, %if.then.i.i4.i551 ], [ %49, %lpad.i549 ], [ %51, %lpad.i561 ], [ %103, %_ZNSt6vectorIiSaIiEED2Ev.exit855 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit850 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element455, %if.then.i.i4.i551 ], [ %arrayinit.element455, %lpad.i549 ], [ %arrayinit.element488, %lpad.i561 ], [ %arrayinit.element488, %_ZNSt6vectorIiSaIiEED2Ev.exit855 ], [ %arrayinit.endOfInit.6, %_ZNSt6vectorIiSaIiEED2Ev.exit850 ] - %cleanup.isactive620.12 = phi i1 [ true, %if.then.i.i4.i551 ], [ true, %lpad.i549 ], [ true, %lpad.i561 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit855 ], [ %cleanup.isactive620.9, %_ZNSt6vectorIiSaIiEED2Ev.exit850 ] +ehcleanup733: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit883, %lpad.i586, %_ZNSt6vectorIiSaIiEED2Ev.exit888, %if.then.i.i4.i576, %lpad.i574 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %49, %if.then.i.i4.i576 ], [ %49, %lpad.i574 ], [ %51, %lpad.i586 ], [ %103, %_ZNSt6vectorIiSaIiEED2Ev.exit888 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit883 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element455, %if.then.i.i4.i576 ], [ %arrayinit.element455, %lpad.i574 ], [ %arrayinit.element488, %lpad.i586 ], [ %arrayinit.element488, %_ZNSt6vectorIiSaIiEED2Ev.exit888 ], [ %arrayinit.endOfInit.6, %_ZNSt6vectorIiSaIiEED2Ev.exit883 ] + %cleanup.isactive620.12 = phi i1 [ true, %if.then.i.i4.i576 ], [ true, %lpad.i574 ], [ true, %lpad.i586 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit888 ], [ %cleanup.isactive620.9, %_ZNSt6vectorIiSaIiEED2Ev.exit883 ] br label %arraydestroy.body742 -arraydestroy.body742: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit860, %ehcleanup733 - %arraydestroy.elementPast743 = phi ptr [ %add.ptr.i.i547, %ehcleanup733 ], [ %arraydestroy.element744, %_ZNSt6vectorIiSaIiEED2Ev.exit860 ] +arraydestroy.body742: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit893, %ehcleanup733 + %arraydestroy.elementPast743 = phi ptr [ %add.ptr.i.i572, %ehcleanup733 ], [ %arraydestroy.element744, %_ZNSt6vectorIiSaIiEED2Ev.exit893 ] %arraydestroy.element744 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast743, i64 -1 %104 = load ptr, ptr %arraydestroy.element744, align 8 - %tobool.not.i.i.i857 = icmp eq ptr %104, null - br i1 %tobool.not.i.i.i857, label %_ZNSt6vectorIiSaIiEED2Ev.exit860, label %if.then.i.i.i858 + %tobool.not.i.i.i890 = icmp eq ptr %104, null + br i1 %tobool.not.i.i.i890, label %_ZNSt6vectorIiSaIiEED2Ev.exit893, label %if.then.i.i.i891 -if.then.i.i.i858: ; preds = %arraydestroy.body742 +if.then.i.i.i891: ; preds = %arraydestroy.body742 call void @_ZdlPv(ptr noundef nonnull %104) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit860 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit893 -_ZNSt6vectorIiSaIiEED2Ev.exit860: ; preds = %arraydestroy.body742, %if.then.i.i.i858 +_ZNSt6vectorIiSaIiEED2Ev.exit893: ; preds = %arraydestroy.body742, %if.then.i.i.i891 %arraydestroy.done745 = icmp eq ptr %arraydestroy.element744, %ref.tmp457 br i1 %arraydestroy.done745, label %ehcleanup759, label %arraydestroy.body742 -_ZNSt6vectorIiSaIiEED2Ev.exit865: ; preds = %invoke.cont469 +_ZNSt6vectorIiSaIiEED2Ev.exit898: ; preds = %invoke.cont469 %105 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i527) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i550) #31 br label %ehcleanup759 -ehcleanup759: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit860, %lpad.i528, %_ZNSt6vectorIiSaIiEED2Ev.exit865, %if.then.i.i4.i518, %lpad.i516 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %46, %if.then.i.i4.i518 ], [ %46, %lpad.i516 ], [ %48, %lpad.i528 ], [ %105, %_ZNSt6vectorIiSaIiEED2Ev.exit865 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit860 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element422, %if.then.i.i4.i518 ], [ %arrayinit.element422, %lpad.i516 ], [ %arrayinit.element455, %lpad.i528 ], [ %arrayinit.element455, %_ZNSt6vectorIiSaIiEED2Ev.exit865 ], [ %arrayinit.endOfInit.9, %_ZNSt6vectorIiSaIiEED2Ev.exit860 ] - %cleanup.isactive620.15 = phi i1 [ true, %if.then.i.i4.i518 ], [ true, %lpad.i516 ], [ true, %lpad.i528 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit865 ], [ %cleanup.isactive620.12, %_ZNSt6vectorIiSaIiEED2Ev.exit860 ] +ehcleanup759: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit893, %lpad.i551, %_ZNSt6vectorIiSaIiEED2Ev.exit898, %if.then.i.i4.i541, %lpad.i539 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %46, %if.then.i.i4.i541 ], [ %46, %lpad.i539 ], [ %48, %lpad.i551 ], [ %105, %_ZNSt6vectorIiSaIiEED2Ev.exit898 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit893 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element422, %if.then.i.i4.i541 ], [ %arrayinit.element422, %lpad.i539 ], [ %arrayinit.element455, %lpad.i551 ], [ %arrayinit.element455, %_ZNSt6vectorIiSaIiEED2Ev.exit898 ], [ %arrayinit.endOfInit.9, %_ZNSt6vectorIiSaIiEED2Ev.exit893 ] + %cleanup.isactive620.15 = phi i1 [ true, %if.then.i.i4.i541 ], [ true, %lpad.i539 ], [ true, %lpad.i551 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit898 ], [ %cleanup.isactive620.12, %_ZNSt6vectorIiSaIiEED2Ev.exit893 ] br label %arraydestroy.body768 -arraydestroy.body768: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit870, %ehcleanup759 - %arraydestroy.elementPast769 = phi ptr [ %add.ptr.i.i514, %ehcleanup759 ], [ %arraydestroy.element770, %_ZNSt6vectorIiSaIiEED2Ev.exit870 ] +arraydestroy.body768: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit903, %ehcleanup759 + %arraydestroy.elementPast769 = phi ptr [ %add.ptr.i.i537, %ehcleanup759 ], [ %arraydestroy.element770, %_ZNSt6vectorIiSaIiEED2Ev.exit903 ] %arraydestroy.element770 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast769, i64 -1 %106 = load ptr, ptr %arraydestroy.element770, align 8 - %tobool.not.i.i.i867 = icmp eq ptr %106, null - br i1 %tobool.not.i.i.i867, label %_ZNSt6vectorIiSaIiEED2Ev.exit870, label %if.then.i.i.i868 + %tobool.not.i.i.i900 = icmp eq ptr %106, null + br i1 %tobool.not.i.i.i900, label %_ZNSt6vectorIiSaIiEED2Ev.exit903, label %if.then.i.i.i901 -if.then.i.i.i868: ; preds = %arraydestroy.body768 +if.then.i.i.i901: ; preds = %arraydestroy.body768 call void @_ZdlPv(ptr noundef nonnull %106) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit870 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit903 -_ZNSt6vectorIiSaIiEED2Ev.exit870: ; preds = %arraydestroy.body768, %if.then.i.i.i868 +_ZNSt6vectorIiSaIiEED2Ev.exit903: ; preds = %arraydestroy.body768, %if.then.i.i.i901 %arraydestroy.done771 = icmp eq ptr %arraydestroy.element770, %ref.tmp424 br i1 %arraydestroy.done771, label %ehcleanup785, label %arraydestroy.body768 -_ZNSt6vectorIiSaIiEED2Ev.exit875: ; preds = %invoke.cont436 +_ZNSt6vectorIiSaIiEED2Ev.exit908: ; preds = %invoke.cont436 %107 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i494) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i515) #31 br label %ehcleanup785 -ehcleanup785: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit870, %lpad.i495, %_ZNSt6vectorIiSaIiEED2Ev.exit875, %if.then.i.i4.i485, %lpad.i483 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %43, %if.then.i.i4.i485 ], [ %43, %lpad.i483 ], [ %45, %lpad.i495 ], [ %107, %_ZNSt6vectorIiSaIiEED2Ev.exit875 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit870 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element389, %if.then.i.i4.i485 ], [ %arrayinit.element389, %lpad.i483 ], [ %arrayinit.element422, %lpad.i495 ], [ %arrayinit.element422, %_ZNSt6vectorIiSaIiEED2Ev.exit875 ], [ %arrayinit.endOfInit.12, %_ZNSt6vectorIiSaIiEED2Ev.exit870 ] - %cleanup.isactive620.18 = phi i1 [ true, %if.then.i.i4.i485 ], [ true, %lpad.i483 ], [ true, %lpad.i495 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit875 ], [ %cleanup.isactive620.15, %_ZNSt6vectorIiSaIiEED2Ev.exit870 ] +ehcleanup785: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit903, %lpad.i516, %_ZNSt6vectorIiSaIiEED2Ev.exit908, %if.then.i.i4.i506, %lpad.i504 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %43, %if.then.i.i4.i506 ], [ %43, %lpad.i504 ], [ %45, %lpad.i516 ], [ %107, %_ZNSt6vectorIiSaIiEED2Ev.exit908 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit903 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element389, %if.then.i.i4.i506 ], [ %arrayinit.element389, %lpad.i504 ], [ %arrayinit.element422, %lpad.i516 ], [ %arrayinit.element422, %_ZNSt6vectorIiSaIiEED2Ev.exit908 ], [ %arrayinit.endOfInit.12, %_ZNSt6vectorIiSaIiEED2Ev.exit903 ] + %cleanup.isactive620.18 = phi i1 [ true, %if.then.i.i4.i506 ], [ true, %lpad.i504 ], [ true, %lpad.i516 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit908 ], [ %cleanup.isactive620.15, %_ZNSt6vectorIiSaIiEED2Ev.exit903 ] br label %arraydestroy.body794 -arraydestroy.body794: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit880, %ehcleanup785 - %arraydestroy.elementPast795 = phi ptr [ %add.ptr.i.i481, %ehcleanup785 ], [ %arraydestroy.element796, %_ZNSt6vectorIiSaIiEED2Ev.exit880 ] +arraydestroy.body794: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit913, %ehcleanup785 + %arraydestroy.elementPast795 = phi ptr [ %add.ptr.i.i502, %ehcleanup785 ], [ %arraydestroy.element796, %_ZNSt6vectorIiSaIiEED2Ev.exit913 ] %arraydestroy.element796 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast795, i64 -1 %108 = load ptr, ptr %arraydestroy.element796, align 8 - %tobool.not.i.i.i877 = icmp eq ptr %108, null - br i1 %tobool.not.i.i.i877, label %_ZNSt6vectorIiSaIiEED2Ev.exit880, label %if.then.i.i.i878 + %tobool.not.i.i.i910 = icmp eq ptr %108, null + br i1 %tobool.not.i.i.i910, label %_ZNSt6vectorIiSaIiEED2Ev.exit913, label %if.then.i.i.i911 -if.then.i.i.i878: ; preds = %arraydestroy.body794 +if.then.i.i.i911: ; preds = %arraydestroy.body794 call void @_ZdlPv(ptr noundef nonnull %108) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit880 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit913 -_ZNSt6vectorIiSaIiEED2Ev.exit880: ; preds = %arraydestroy.body794, %if.then.i.i.i878 +_ZNSt6vectorIiSaIiEED2Ev.exit913: ; preds = %arraydestroy.body794, %if.then.i.i.i911 %arraydestroy.done797 = icmp eq ptr %arraydestroy.element796, %ref.tmp391 br i1 %arraydestroy.done797, label %ehcleanup811, label %arraydestroy.body794 -_ZNSt6vectorIiSaIiEED2Ev.exit885: ; preds = %invoke.cont403 +_ZNSt6vectorIiSaIiEED2Ev.exit918: ; preds = %invoke.cont403 %109 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i461) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i480) #31 br label %ehcleanup811 -ehcleanup811: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit880, %lpad.i462, %_ZNSt6vectorIiSaIiEED2Ev.exit885, %if.then.i.i4.i452, %lpad.i450 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %40, %if.then.i.i4.i452 ], [ %40, %lpad.i450 ], [ %42, %lpad.i462 ], [ %109, %_ZNSt6vectorIiSaIiEED2Ev.exit885 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit880 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element356, %if.then.i.i4.i452 ], [ %arrayinit.element356, %lpad.i450 ], [ %arrayinit.element389, %lpad.i462 ], [ %arrayinit.element389, %_ZNSt6vectorIiSaIiEED2Ev.exit885 ], [ %arrayinit.endOfInit.15, %_ZNSt6vectorIiSaIiEED2Ev.exit880 ] - %cleanup.isactive620.21 = phi i1 [ true, %if.then.i.i4.i452 ], [ true, %lpad.i450 ], [ true, %lpad.i462 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit885 ], [ %cleanup.isactive620.18, %_ZNSt6vectorIiSaIiEED2Ev.exit880 ] +ehcleanup811: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit913, %lpad.i481, %_ZNSt6vectorIiSaIiEED2Ev.exit918, %if.then.i.i4.i471, %lpad.i469 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %40, %if.then.i.i4.i471 ], [ %40, %lpad.i469 ], [ %42, %lpad.i481 ], [ %109, %_ZNSt6vectorIiSaIiEED2Ev.exit918 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit913 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element356, %if.then.i.i4.i471 ], [ %arrayinit.element356, %lpad.i469 ], [ %arrayinit.element389, %lpad.i481 ], [ %arrayinit.element389, %_ZNSt6vectorIiSaIiEED2Ev.exit918 ], [ %arrayinit.endOfInit.15, %_ZNSt6vectorIiSaIiEED2Ev.exit913 ] + %cleanup.isactive620.21 = phi i1 [ true, %if.then.i.i4.i471 ], [ true, %lpad.i469 ], [ true, %lpad.i481 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit918 ], [ %cleanup.isactive620.18, %_ZNSt6vectorIiSaIiEED2Ev.exit913 ] br label %arraydestroy.body820 -arraydestroy.body820: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit890, %ehcleanup811 - %arraydestroy.elementPast821 = phi ptr [ %add.ptr.i.i448, %ehcleanup811 ], [ %arraydestroy.element822, %_ZNSt6vectorIiSaIiEED2Ev.exit890 ] +arraydestroy.body820: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit923, %ehcleanup811 + %arraydestroy.elementPast821 = phi ptr [ %add.ptr.i.i467, %ehcleanup811 ], [ %arraydestroy.element822, %_ZNSt6vectorIiSaIiEED2Ev.exit923 ] %arraydestroy.element822 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast821, i64 -1 %110 = load ptr, ptr %arraydestroy.element822, align 8 - %tobool.not.i.i.i887 = icmp eq ptr %110, null - br i1 %tobool.not.i.i.i887, label %_ZNSt6vectorIiSaIiEED2Ev.exit890, label %if.then.i.i.i888 + %tobool.not.i.i.i920 = icmp eq ptr %110, null + br i1 %tobool.not.i.i.i920, label %_ZNSt6vectorIiSaIiEED2Ev.exit923, label %if.then.i.i.i921 -if.then.i.i.i888: ; preds = %arraydestroy.body820 +if.then.i.i.i921: ; preds = %arraydestroy.body820 call void @_ZdlPv(ptr noundef nonnull %110) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit890 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit923 -_ZNSt6vectorIiSaIiEED2Ev.exit890: ; preds = %arraydestroy.body820, %if.then.i.i.i888 +_ZNSt6vectorIiSaIiEED2Ev.exit923: ; preds = %arraydestroy.body820, %if.then.i.i.i921 %arraydestroy.done823 = icmp eq ptr %arraydestroy.element822, %ref.tmp358 br i1 %arraydestroy.done823, label %ehcleanup837, label %arraydestroy.body820 -_ZNSt6vectorIiSaIiEED2Ev.exit895: ; preds = %invoke.cont370 +_ZNSt6vectorIiSaIiEED2Ev.exit928: ; preds = %invoke.cont370 %111 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i428) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i445) #31 br label %ehcleanup837 -ehcleanup837: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit890, %lpad.i429, %_ZNSt6vectorIiSaIiEED2Ev.exit895, %if.then.i.i4.i419, %lpad.i417 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %37, %if.then.i.i4.i419 ], [ %37, %lpad.i417 ], [ %39, %lpad.i429 ], [ %111, %_ZNSt6vectorIiSaIiEED2Ev.exit895 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit890 ] - %arrayinit.endOfInit.21 = phi ptr [ %arrayinit.element323, %if.then.i.i4.i419 ], [ %arrayinit.element323, %lpad.i417 ], [ %arrayinit.element356, %lpad.i429 ], [ %arrayinit.element356, %_ZNSt6vectorIiSaIiEED2Ev.exit895 ], [ %arrayinit.endOfInit.18, %_ZNSt6vectorIiSaIiEED2Ev.exit890 ] - %cleanup.isactive620.24 = phi i1 [ true, %if.then.i.i4.i419 ], [ true, %lpad.i417 ], [ true, %lpad.i429 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit895 ], [ %cleanup.isactive620.21, %_ZNSt6vectorIiSaIiEED2Ev.exit890 ] +ehcleanup837: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit923, %lpad.i446, %_ZNSt6vectorIiSaIiEED2Ev.exit928, %if.then.i.i4.i436, %lpad.i434 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %37, %if.then.i.i4.i436 ], [ %37, %lpad.i434 ], [ %39, %lpad.i446 ], [ %111, %_ZNSt6vectorIiSaIiEED2Ev.exit928 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit923 ] + %arrayinit.endOfInit.21 = phi ptr [ %arrayinit.element323, %if.then.i.i4.i436 ], [ %arrayinit.element323, %lpad.i434 ], [ %arrayinit.element356, %lpad.i446 ], [ %arrayinit.element356, %_ZNSt6vectorIiSaIiEED2Ev.exit928 ], [ %arrayinit.endOfInit.18, %_ZNSt6vectorIiSaIiEED2Ev.exit923 ] + %cleanup.isactive620.24 = phi i1 [ true, %if.then.i.i4.i436 ], [ true, %lpad.i434 ], [ true, %lpad.i446 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit928 ], [ %cleanup.isactive620.21, %_ZNSt6vectorIiSaIiEED2Ev.exit923 ] br label %arraydestroy.body846 -arraydestroy.body846: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit900, %ehcleanup837 - %arraydestroy.elementPast847 = phi ptr [ %add.ptr.i.i415, %ehcleanup837 ], [ %arraydestroy.element848, %_ZNSt6vectorIiSaIiEED2Ev.exit900 ] +arraydestroy.body846: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit933, %ehcleanup837 + %arraydestroy.elementPast847 = phi ptr [ %add.ptr.i.i432, %ehcleanup837 ], [ %arraydestroy.element848, %_ZNSt6vectorIiSaIiEED2Ev.exit933 ] %arraydestroy.element848 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast847, i64 -1 %112 = load ptr, ptr %arraydestroy.element848, align 8 - %tobool.not.i.i.i897 = icmp eq ptr %112, null - br i1 %tobool.not.i.i.i897, label %_ZNSt6vectorIiSaIiEED2Ev.exit900, label %if.then.i.i.i898 + %tobool.not.i.i.i930 = icmp eq ptr %112, null + br i1 %tobool.not.i.i.i930, label %_ZNSt6vectorIiSaIiEED2Ev.exit933, label %if.then.i.i.i931 -if.then.i.i.i898: ; preds = %arraydestroy.body846 +if.then.i.i.i931: ; preds = %arraydestroy.body846 call void @_ZdlPv(ptr noundef nonnull %112) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit900 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit933 -_ZNSt6vectorIiSaIiEED2Ev.exit900: ; preds = %arraydestroy.body846, %if.then.i.i.i898 +_ZNSt6vectorIiSaIiEED2Ev.exit933: ; preds = %arraydestroy.body846, %if.then.i.i.i931 %arraydestroy.done849 = icmp eq ptr %arraydestroy.element848, %ref.tmp325 br i1 %arraydestroy.done849, label %ehcleanup863, label %arraydestroy.body846 -_ZNSt6vectorIiSaIiEED2Ev.exit905: ; preds = %invoke.cont337 +_ZNSt6vectorIiSaIiEED2Ev.exit938: ; preds = %invoke.cont337 %113 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i395) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i410) #31 br label %ehcleanup863 -ehcleanup863: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit900, %lpad.i396, %_ZNSt6vectorIiSaIiEED2Ev.exit905, %if.then.i.i4.i386, %lpad.i384 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %34, %if.then.i.i4.i386 ], [ %34, %lpad.i384 ], [ %36, %lpad.i396 ], [ %113, %_ZNSt6vectorIiSaIiEED2Ev.exit905 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit900 ] - %arrayinit.endOfInit.24 = phi ptr [ %arrayinit.element290, %if.then.i.i4.i386 ], [ %arrayinit.element290, %lpad.i384 ], [ %arrayinit.element323, %lpad.i396 ], [ %arrayinit.element323, %_ZNSt6vectorIiSaIiEED2Ev.exit905 ], [ %arrayinit.endOfInit.21, %_ZNSt6vectorIiSaIiEED2Ev.exit900 ] - %cleanup.isactive620.27 = phi i1 [ true, %if.then.i.i4.i386 ], [ true, %lpad.i384 ], [ true, %lpad.i396 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit905 ], [ %cleanup.isactive620.24, %_ZNSt6vectorIiSaIiEED2Ev.exit900 ] +ehcleanup863: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit933, %lpad.i411, %_ZNSt6vectorIiSaIiEED2Ev.exit938, %if.then.i.i4.i401, %lpad.i399 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %34, %if.then.i.i4.i401 ], [ %34, %lpad.i399 ], [ %36, %lpad.i411 ], [ %113, %_ZNSt6vectorIiSaIiEED2Ev.exit938 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit933 ] + %arrayinit.endOfInit.24 = phi ptr [ %arrayinit.element290, %if.then.i.i4.i401 ], [ %arrayinit.element290, %lpad.i399 ], [ %arrayinit.element323, %lpad.i411 ], [ %arrayinit.element323, %_ZNSt6vectorIiSaIiEED2Ev.exit938 ], [ %arrayinit.endOfInit.21, %_ZNSt6vectorIiSaIiEED2Ev.exit933 ] + %cleanup.isactive620.27 = phi i1 [ true, %if.then.i.i4.i401 ], [ true, %lpad.i399 ], [ true, %lpad.i411 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit938 ], [ %cleanup.isactive620.24, %_ZNSt6vectorIiSaIiEED2Ev.exit933 ] br label %arraydestroy.body872 -arraydestroy.body872: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit910, %ehcleanup863 - %arraydestroy.elementPast873 = phi ptr [ %add.ptr.i.i382, %ehcleanup863 ], [ %arraydestroy.element874, %_ZNSt6vectorIiSaIiEED2Ev.exit910 ] +arraydestroy.body872: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit943, %ehcleanup863 + %arraydestroy.elementPast873 = phi ptr [ %add.ptr.i.i397, %ehcleanup863 ], [ %arraydestroy.element874, %_ZNSt6vectorIiSaIiEED2Ev.exit943 ] %arraydestroy.element874 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast873, i64 -1 %114 = load ptr, ptr %arraydestroy.element874, align 8 - %tobool.not.i.i.i907 = icmp eq ptr %114, null - br i1 %tobool.not.i.i.i907, label %_ZNSt6vectorIiSaIiEED2Ev.exit910, label %if.then.i.i.i908 + %tobool.not.i.i.i940 = icmp eq ptr %114, null + br i1 %tobool.not.i.i.i940, label %_ZNSt6vectorIiSaIiEED2Ev.exit943, label %if.then.i.i.i941 -if.then.i.i.i908: ; preds = %arraydestroy.body872 +if.then.i.i.i941: ; preds = %arraydestroy.body872 call void @_ZdlPv(ptr noundef nonnull %114) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit910 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit943 -_ZNSt6vectorIiSaIiEED2Ev.exit910: ; preds = %arraydestroy.body872, %if.then.i.i.i908 +_ZNSt6vectorIiSaIiEED2Ev.exit943: ; preds = %arraydestroy.body872, %if.then.i.i.i941 %arraydestroy.done875 = icmp eq ptr %arraydestroy.element874, %ref.tmp292 br i1 %arraydestroy.done875, label %ehcleanup889, label %arraydestroy.body872 -_ZNSt6vectorIiSaIiEED2Ev.exit915: ; preds = %invoke.cont304 +_ZNSt6vectorIiSaIiEED2Ev.exit948: ; preds = %invoke.cont304 %115 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i362) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i375) #31 br label %ehcleanup889 -ehcleanup889: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit910, %lpad.i363, %_ZNSt6vectorIiSaIiEED2Ev.exit915, %if.then.i.i4.i353, %lpad.i351 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %31, %if.then.i.i4.i353 ], [ %31, %lpad.i351 ], [ %33, %lpad.i363 ], [ %115, %_ZNSt6vectorIiSaIiEED2Ev.exit915 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit910 ] - %arrayinit.endOfInit.27 = phi ptr [ %arrayinit.element257, %if.then.i.i4.i353 ], [ %arrayinit.element257, %lpad.i351 ], [ %arrayinit.element290, %lpad.i363 ], [ %arrayinit.element290, %_ZNSt6vectorIiSaIiEED2Ev.exit915 ], [ %arrayinit.endOfInit.24, %_ZNSt6vectorIiSaIiEED2Ev.exit910 ] - %cleanup.isactive620.30 = phi i1 [ true, %if.then.i.i4.i353 ], [ true, %lpad.i351 ], [ true, %lpad.i363 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit915 ], [ %cleanup.isactive620.27, %_ZNSt6vectorIiSaIiEED2Ev.exit910 ] +ehcleanup889: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit943, %lpad.i376, %_ZNSt6vectorIiSaIiEED2Ev.exit948, %if.then.i.i4.i366, %lpad.i364 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %31, %if.then.i.i4.i366 ], [ %31, %lpad.i364 ], [ %33, %lpad.i376 ], [ %115, %_ZNSt6vectorIiSaIiEED2Ev.exit948 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit943 ] + %arrayinit.endOfInit.27 = phi ptr [ %arrayinit.element257, %if.then.i.i4.i366 ], [ %arrayinit.element257, %lpad.i364 ], [ %arrayinit.element290, %lpad.i376 ], [ %arrayinit.element290, %_ZNSt6vectorIiSaIiEED2Ev.exit948 ], [ %arrayinit.endOfInit.24, %_ZNSt6vectorIiSaIiEED2Ev.exit943 ] + %cleanup.isactive620.30 = phi i1 [ true, %if.then.i.i4.i366 ], [ true, %lpad.i364 ], [ true, %lpad.i376 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit948 ], [ %cleanup.isactive620.27, %_ZNSt6vectorIiSaIiEED2Ev.exit943 ] br label %arraydestroy.body898 -arraydestroy.body898: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit920, %ehcleanup889 - %arraydestroy.elementPast899 = phi ptr [ %add.ptr.i.i349, %ehcleanup889 ], [ %arraydestroy.element900, %_ZNSt6vectorIiSaIiEED2Ev.exit920 ] +arraydestroy.body898: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit953, %ehcleanup889 + %arraydestroy.elementPast899 = phi ptr [ %add.ptr.i.i362, %ehcleanup889 ], [ %arraydestroy.element900, %_ZNSt6vectorIiSaIiEED2Ev.exit953 ] %arraydestroy.element900 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast899, i64 -1 %116 = load ptr, ptr %arraydestroy.element900, align 8 - %tobool.not.i.i.i917 = icmp eq ptr %116, null - br i1 %tobool.not.i.i.i917, label %_ZNSt6vectorIiSaIiEED2Ev.exit920, label %if.then.i.i.i918 + %tobool.not.i.i.i950 = icmp eq ptr %116, null + br i1 %tobool.not.i.i.i950, label %_ZNSt6vectorIiSaIiEED2Ev.exit953, label %if.then.i.i.i951 -if.then.i.i.i918: ; preds = %arraydestroy.body898 +if.then.i.i.i951: ; preds = %arraydestroy.body898 call void @_ZdlPv(ptr noundef nonnull %116) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit920 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit953 -_ZNSt6vectorIiSaIiEED2Ev.exit920: ; preds = %arraydestroy.body898, %if.then.i.i.i918 +_ZNSt6vectorIiSaIiEED2Ev.exit953: ; preds = %arraydestroy.body898, %if.then.i.i.i951 %arraydestroy.done901 = icmp eq ptr %arraydestroy.element900, %ref.tmp259 br i1 %arraydestroy.done901, label %ehcleanup915, label %arraydestroy.body898 -_ZNSt6vectorIiSaIiEED2Ev.exit925: ; preds = %invoke.cont271 +_ZNSt6vectorIiSaIiEED2Ev.exit958: ; preds = %invoke.cont271 %117 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i329) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i340) #31 br label %ehcleanup915 -ehcleanup915: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit920, %lpad.i330, %_ZNSt6vectorIiSaIiEED2Ev.exit925, %if.then.i.i4.i320, %lpad.i318 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %28, %if.then.i.i4.i320 ], [ %28, %lpad.i318 ], [ %30, %lpad.i330 ], [ %117, %_ZNSt6vectorIiSaIiEED2Ev.exit925 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit920 ] - %arrayinit.endOfInit.30 = phi ptr [ %arrayinit.element224, %if.then.i.i4.i320 ], [ %arrayinit.element224, %lpad.i318 ], [ %arrayinit.element257, %lpad.i330 ], [ %arrayinit.element257, %_ZNSt6vectorIiSaIiEED2Ev.exit925 ], [ %arrayinit.endOfInit.27, %_ZNSt6vectorIiSaIiEED2Ev.exit920 ] - %cleanup.isactive620.33 = phi i1 [ true, %if.then.i.i4.i320 ], [ true, %lpad.i318 ], [ true, %lpad.i330 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit925 ], [ %cleanup.isactive620.30, %_ZNSt6vectorIiSaIiEED2Ev.exit920 ] +ehcleanup915: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit953, %lpad.i341, %_ZNSt6vectorIiSaIiEED2Ev.exit958, %if.then.i.i4.i331, %lpad.i329 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %28, %if.then.i.i4.i331 ], [ %28, %lpad.i329 ], [ %30, %lpad.i341 ], [ %117, %_ZNSt6vectorIiSaIiEED2Ev.exit958 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit953 ] + %arrayinit.endOfInit.30 = phi ptr [ %arrayinit.element224, %if.then.i.i4.i331 ], [ %arrayinit.element224, %lpad.i329 ], [ %arrayinit.element257, %lpad.i341 ], [ %arrayinit.element257, %_ZNSt6vectorIiSaIiEED2Ev.exit958 ], [ %arrayinit.endOfInit.27, %_ZNSt6vectorIiSaIiEED2Ev.exit953 ] + %cleanup.isactive620.33 = phi i1 [ true, %if.then.i.i4.i331 ], [ true, %lpad.i329 ], [ true, %lpad.i341 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit958 ], [ %cleanup.isactive620.30, %_ZNSt6vectorIiSaIiEED2Ev.exit953 ] br label %arraydestroy.body924 -arraydestroy.body924: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit930, %ehcleanup915 - %arraydestroy.elementPast925 = phi ptr [ %add.ptr.i.i316, %ehcleanup915 ], [ %arraydestroy.element926, %_ZNSt6vectorIiSaIiEED2Ev.exit930 ] +arraydestroy.body924: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit963, %ehcleanup915 + %arraydestroy.elementPast925 = phi ptr [ %add.ptr.i.i327, %ehcleanup915 ], [ %arraydestroy.element926, %_ZNSt6vectorIiSaIiEED2Ev.exit963 ] %arraydestroy.element926 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast925, i64 -1 %118 = load ptr, ptr %arraydestroy.element926, align 8 - %tobool.not.i.i.i927 = icmp eq ptr %118, null - br i1 %tobool.not.i.i.i927, label %_ZNSt6vectorIiSaIiEED2Ev.exit930, label %if.then.i.i.i928 + %tobool.not.i.i.i960 = icmp eq ptr %118, null + br i1 %tobool.not.i.i.i960, label %_ZNSt6vectorIiSaIiEED2Ev.exit963, label %if.then.i.i.i961 -if.then.i.i.i928: ; preds = %arraydestroy.body924 +if.then.i.i.i961: ; preds = %arraydestroy.body924 call void @_ZdlPv(ptr noundef nonnull %118) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit930 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit963 -_ZNSt6vectorIiSaIiEED2Ev.exit930: ; preds = %arraydestroy.body924, %if.then.i.i.i928 +_ZNSt6vectorIiSaIiEED2Ev.exit963: ; preds = %arraydestroy.body924, %if.then.i.i.i961 %arraydestroy.done927 = icmp eq ptr %arraydestroy.element926, %ref.tmp226 br i1 %arraydestroy.done927, label %ehcleanup941, label %arraydestroy.body924 -_ZNSt6vectorIiSaIiEED2Ev.exit935: ; preds = %invoke.cont238 +_ZNSt6vectorIiSaIiEED2Ev.exit968: ; preds = %invoke.cont238 %119 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i296) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i305) #31 br label %ehcleanup941 -ehcleanup941: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit930, %lpad.i297, %_ZNSt6vectorIiSaIiEED2Ev.exit935, %if.then.i.i4.i287, %lpad.i285 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %25, %if.then.i.i4.i287 ], [ %25, %lpad.i285 ], [ %27, %lpad.i297 ], [ %119, %_ZNSt6vectorIiSaIiEED2Ev.exit935 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit930 ] - %arrayinit.endOfInit.33 = phi ptr [ %arrayinit.element201, %if.then.i.i4.i287 ], [ %arrayinit.element201, %lpad.i285 ], [ %arrayinit.element224, %lpad.i297 ], [ %arrayinit.element224, %_ZNSt6vectorIiSaIiEED2Ev.exit935 ], [ %arrayinit.endOfInit.30, %_ZNSt6vectorIiSaIiEED2Ev.exit930 ] - %cleanup.isactive620.36 = phi i1 [ true, %if.then.i.i4.i287 ], [ true, %lpad.i285 ], [ true, %lpad.i297 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit935 ], [ %cleanup.isactive620.33, %_ZNSt6vectorIiSaIiEED2Ev.exit930 ] +ehcleanup941: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit963, %lpad.i306, %_ZNSt6vectorIiSaIiEED2Ev.exit968, %if.then.i.i4.i296, %lpad.i294 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %25, %if.then.i.i4.i296 ], [ %25, %lpad.i294 ], [ %27, %lpad.i306 ], [ %119, %_ZNSt6vectorIiSaIiEED2Ev.exit968 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit963 ] + %arrayinit.endOfInit.33 = phi ptr [ %arrayinit.element201, %if.then.i.i4.i296 ], [ %arrayinit.element201, %lpad.i294 ], [ %arrayinit.element224, %lpad.i306 ], [ %arrayinit.element224, %_ZNSt6vectorIiSaIiEED2Ev.exit968 ], [ %arrayinit.endOfInit.30, %_ZNSt6vectorIiSaIiEED2Ev.exit963 ] + %cleanup.isactive620.36 = phi i1 [ true, %if.then.i.i4.i296 ], [ true, %lpad.i294 ], [ true, %lpad.i306 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit968 ], [ %cleanup.isactive620.33, %_ZNSt6vectorIiSaIiEED2Ev.exit963 ] br label %arraydestroy.body950 -arraydestroy.body950: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit940, %ehcleanup941 - %arraydestroy.elementPast951 = phi ptr [ %add.ptr.i.i283, %ehcleanup941 ], [ %arraydestroy.element952, %_ZNSt6vectorIiSaIiEED2Ev.exit940 ] +arraydestroy.body950: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit973, %ehcleanup941 + %arraydestroy.elementPast951 = phi ptr [ %add.ptr.i.i292, %ehcleanup941 ], [ %arraydestroy.element952, %_ZNSt6vectorIiSaIiEED2Ev.exit973 ] %arraydestroy.element952 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast951, i64 -1 %120 = load ptr, ptr %arraydestroy.element952, align 8 - %tobool.not.i.i.i937 = icmp eq ptr %120, null - br i1 %tobool.not.i.i.i937, label %_ZNSt6vectorIiSaIiEED2Ev.exit940, label %if.then.i.i.i938 + %tobool.not.i.i.i970 = icmp eq ptr %120, null + br i1 %tobool.not.i.i.i970, label %_ZNSt6vectorIiSaIiEED2Ev.exit973, label %if.then.i.i.i971 -if.then.i.i.i938: ; preds = %arraydestroy.body950 +if.then.i.i.i971: ; preds = %arraydestroy.body950 call void @_ZdlPv(ptr noundef nonnull %120) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit940 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit973 -_ZNSt6vectorIiSaIiEED2Ev.exit940: ; preds = %arraydestroy.body950, %if.then.i.i.i938 +_ZNSt6vectorIiSaIiEED2Ev.exit973: ; preds = %arraydestroy.body950, %if.then.i.i.i971 %arraydestroy.done953 = icmp eq ptr %arraydestroy.element952, %ref.tmp203 br i1 %arraydestroy.done953, label %ehcleanup966, label %arraydestroy.body950 -ehcleanup966: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit940, %lpad.i274, %if.then.i.i4.i264, %lpad.i262 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %22, %if.then.i.i4.i264 ], [ %22, %lpad.i262 ], [ %24, %lpad.i274 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit940 ] - %arrayinit.endOfInit.35 = phi ptr [ %arrayinit.element178, %if.then.i.i4.i264 ], [ %arrayinit.element178, %lpad.i262 ], [ %arrayinit.element201, %lpad.i274 ], [ %arrayinit.endOfInit.33, %_ZNSt6vectorIiSaIiEED2Ev.exit940 ] - %cleanup.isactive620.38 = phi i1 [ true, %if.then.i.i4.i264 ], [ true, %lpad.i262 ], [ true, %lpad.i274 ], [ %cleanup.isactive620.36, %_ZNSt6vectorIiSaIiEED2Ev.exit940 ] +ehcleanup966: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit973, %lpad.i282, %if.then.i.i4.i272, %lpad.i270 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %22, %if.then.i.i4.i272 ], [ %22, %lpad.i270 ], [ %24, %lpad.i282 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit973 ] + %arrayinit.endOfInit.35 = phi ptr [ %arrayinit.element178, %if.then.i.i4.i272 ], [ %arrayinit.element178, %lpad.i270 ], [ %arrayinit.element201, %lpad.i282 ], [ %arrayinit.endOfInit.33, %_ZNSt6vectorIiSaIiEED2Ev.exit973 ] + %cleanup.isactive620.38 = phi i1 [ true, %if.then.i.i4.i272 ], [ true, %lpad.i270 ], [ true, %lpad.i282 ], [ %cleanup.isactive620.36, %_ZNSt6vectorIiSaIiEED2Ev.exit973 ] br label %arraydestroy.body975 -arraydestroy.body975: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit950, %ehcleanup966 - %arraydestroy.elementPast976 = phi ptr [ %add.ptr.i.i260, %ehcleanup966 ], [ %arraydestroy.element977, %_ZNSt6vectorIiSaIiEED2Ev.exit950 ] +arraydestroy.body975: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit983, %ehcleanup966 + %arraydestroy.elementPast976 = phi ptr [ %add.ptr.i.i268, %ehcleanup966 ], [ %arraydestroy.element977, %_ZNSt6vectorIiSaIiEED2Ev.exit983 ] %arraydestroy.element977 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast976, i64 -1 %121 = load ptr, ptr %arraydestroy.element977, align 8 - %tobool.not.i.i.i947 = icmp eq ptr %121, null - br i1 %tobool.not.i.i.i947, label %_ZNSt6vectorIiSaIiEED2Ev.exit950, label %if.then.i.i.i948 + %tobool.not.i.i.i980 = icmp eq ptr %121, null + br i1 %tobool.not.i.i.i980, label %_ZNSt6vectorIiSaIiEED2Ev.exit983, label %if.then.i.i.i981 -if.then.i.i.i948: ; preds = %arraydestroy.body975 +if.then.i.i.i981: ; preds = %arraydestroy.body975 call void @_ZdlPv(ptr noundef nonnull %121) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit950 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit983 -_ZNSt6vectorIiSaIiEED2Ev.exit950: ; preds = %arraydestroy.body975, %if.then.i.i.i948 +_ZNSt6vectorIiSaIiEED2Ev.exit983: ; preds = %arraydestroy.body975, %if.then.i.i.i981 %arraydestroy.done978 = icmp eq ptr %arraydestroy.element977, %ref.tmp180 br i1 %arraydestroy.done978, label %ehcleanup991, label %arraydestroy.body975 -ehcleanup991: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit950, %lpad.i251, %if.then.i.i4.i241, %lpad.i239 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %19, %if.then.i.i4.i241 ], [ %19, %lpad.i239 ], [ %21, %lpad.i251 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit950 ] - %arrayinit.endOfInit.37 = phi ptr [ %arrayinit.element155, %if.then.i.i4.i241 ], [ %arrayinit.element155, %lpad.i239 ], [ %arrayinit.element178, %lpad.i251 ], [ %arrayinit.endOfInit.35, %_ZNSt6vectorIiSaIiEED2Ev.exit950 ] - %cleanup.isactive620.40 = phi i1 [ true, %if.then.i.i4.i241 ], [ true, %lpad.i239 ], [ true, %lpad.i251 ], [ %cleanup.isactive620.38, %_ZNSt6vectorIiSaIiEED2Ev.exit950 ] +ehcleanup991: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit983, %lpad.i258, %if.then.i.i4.i248, %lpad.i246 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %19, %if.then.i.i4.i248 ], [ %19, %lpad.i246 ], [ %21, %lpad.i258 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit983 ] + %arrayinit.endOfInit.37 = phi ptr [ %arrayinit.element155, %if.then.i.i4.i248 ], [ %arrayinit.element155, %lpad.i246 ], [ %arrayinit.element178, %lpad.i258 ], [ %arrayinit.endOfInit.35, %_ZNSt6vectorIiSaIiEED2Ev.exit983 ] + %cleanup.isactive620.40 = phi i1 [ true, %if.then.i.i4.i248 ], [ true, %lpad.i246 ], [ true, %lpad.i258 ], [ %cleanup.isactive620.38, %_ZNSt6vectorIiSaIiEED2Ev.exit983 ] br label %arraydestroy.body1000 -arraydestroy.body1000: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit960, %ehcleanup991 - %arraydestroy.elementPast1001 = phi ptr [ %add.ptr.i.i237, %ehcleanup991 ], [ %arraydestroy.element1002, %_ZNSt6vectorIiSaIiEED2Ev.exit960 ] +arraydestroy.body1000: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit993, %ehcleanup991 + %arraydestroy.elementPast1001 = phi ptr [ %add.ptr.i.i244, %ehcleanup991 ], [ %arraydestroy.element1002, %_ZNSt6vectorIiSaIiEED2Ev.exit993 ] %arraydestroy.element1002 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1001, i64 -1 %122 = load ptr, ptr %arraydestroy.element1002, align 8 - %tobool.not.i.i.i957 = icmp eq ptr %122, null - br i1 %tobool.not.i.i.i957, label %_ZNSt6vectorIiSaIiEED2Ev.exit960, label %if.then.i.i.i958 + %tobool.not.i.i.i990 = icmp eq ptr %122, null + br i1 %tobool.not.i.i.i990, label %_ZNSt6vectorIiSaIiEED2Ev.exit993, label %if.then.i.i.i991 -if.then.i.i.i958: ; preds = %arraydestroy.body1000 +if.then.i.i.i991: ; preds = %arraydestroy.body1000 call void @_ZdlPv(ptr noundef nonnull %122) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit960 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit993 -_ZNSt6vectorIiSaIiEED2Ev.exit960: ; preds = %arraydestroy.body1000, %if.then.i.i.i958 +_ZNSt6vectorIiSaIiEED2Ev.exit993: ; preds = %arraydestroy.body1000, %if.then.i.i.i991 %arraydestroy.done1003 = icmp eq ptr %arraydestroy.element1002, %ref.tmp157 br i1 %arraydestroy.done1003, label %ehcleanup1016, label %arraydestroy.body1000 -_ZNSt6vectorIiSaIiEED2Ev.exit965: ; preds = %invoke.cont154 +_ZNSt6vectorIiSaIiEED2Ev.exit998: ; preds = %invoke.cont154 %123 = landingpad { ptr, i32 } cleanup br label %ehcleanup1016 -ehcleanup1016: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit960, %_ZNSt6vectorIiSaIiEED2Ev.exit965, %if.then.i.i4.i218, %lpad.i216 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %17, %if.then.i.i4.i218 ], [ %17, %lpad.i216 ], [ %123, %_ZNSt6vectorIiSaIiEED2Ev.exit965 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit960 ] - %arrayinit.endOfInit.39 = phi ptr [ %arrayinit.element132, %if.then.i.i4.i218 ], [ %arrayinit.element132, %lpad.i216 ], [ %arrayinit.element155, %_ZNSt6vectorIiSaIiEED2Ev.exit965 ], [ %arrayinit.endOfInit.37, %_ZNSt6vectorIiSaIiEED2Ev.exit960 ] - %cleanup.isactive620.42 = phi i1 [ true, %if.then.i.i4.i218 ], [ true, %lpad.i216 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit965 ], [ %cleanup.isactive620.40, %_ZNSt6vectorIiSaIiEED2Ev.exit960 ] +ehcleanup1016: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit993, %_ZNSt6vectorIiSaIiEED2Ev.exit998, %if.then.i.i4.i224, %lpad.i222 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %17, %if.then.i.i4.i224 ], [ %17, %lpad.i222 ], [ %123, %_ZNSt6vectorIiSaIiEED2Ev.exit998 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit993 ] + %arrayinit.endOfInit.39 = phi ptr [ %arrayinit.element132, %if.then.i.i4.i224 ], [ %arrayinit.element132, %lpad.i222 ], [ %arrayinit.element155, %_ZNSt6vectorIiSaIiEED2Ev.exit998 ], [ %arrayinit.endOfInit.37, %_ZNSt6vectorIiSaIiEED2Ev.exit993 ] + %cleanup.isactive620.42 = phi i1 [ true, %if.then.i.i4.i224 ], [ true, %lpad.i222 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit998 ], [ %cleanup.isactive620.40, %_ZNSt6vectorIiSaIiEED2Ev.exit993 ] br label %arraydestroy.body1025 -arraydestroy.body1025: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit970, %ehcleanup1016 - %arraydestroy.elementPast1026 = phi ptr [ %add.ptr.i.i214, %ehcleanup1016 ], [ %arraydestroy.element1027, %_ZNSt6vectorIiSaIiEED2Ev.exit970 ] +arraydestroy.body1025: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1003, %ehcleanup1016 + %arraydestroy.elementPast1026 = phi ptr [ %add.ptr.i.i220, %ehcleanup1016 ], [ %arraydestroy.element1027, %_ZNSt6vectorIiSaIiEED2Ev.exit1003 ] %arraydestroy.element1027 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1026, i64 -1 %124 = load ptr, ptr %arraydestroy.element1027, align 8 - %tobool.not.i.i.i967 = icmp eq ptr %124, null - br i1 %tobool.not.i.i.i967, label %_ZNSt6vectorIiSaIiEED2Ev.exit970, label %if.then.i.i.i968 + %tobool.not.i.i.i1000 = icmp eq ptr %124, null + br i1 %tobool.not.i.i.i1000, label %_ZNSt6vectorIiSaIiEED2Ev.exit1003, label %if.then.i.i.i1001 -if.then.i.i.i968: ; preds = %arraydestroy.body1025 +if.then.i.i.i1001: ; preds = %arraydestroy.body1025 call void @_ZdlPv(ptr noundef nonnull %124) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit970 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1003 -_ZNSt6vectorIiSaIiEED2Ev.exit970: ; preds = %arraydestroy.body1025, %if.then.i.i.i968 +_ZNSt6vectorIiSaIiEED2Ev.exit1003: ; preds = %arraydestroy.body1025, %if.then.i.i.i1001 %arraydestroy.done1028 = icmp eq ptr %arraydestroy.element1027, %ref.tmp134 br i1 %arraydestroy.done1028, label %ehcleanup1041, label %arraydestroy.body1025 -_ZNSt6vectorIiSaIiEED2Ev.exit975: ; preds = %invoke.cont131 +_ZNSt6vectorIiSaIiEED2Ev.exit1008: ; preds = %invoke.cont131 %125 = landingpad { ptr, i32 } cleanup br label %ehcleanup1041 -ehcleanup1041: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit970, %_ZNSt6vectorIiSaIiEED2Ev.exit975, %if.then.i.i4.i195, %lpad.i193 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %15, %if.then.i.i4.i195 ], [ %15, %lpad.i193 ], [ %125, %_ZNSt6vectorIiSaIiEED2Ev.exit975 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit970 ] - %arrayinit.endOfInit.41 = phi ptr [ %arrayinit.element85, %if.then.i.i4.i195 ], [ %arrayinit.element85, %lpad.i193 ], [ %arrayinit.element132, %_ZNSt6vectorIiSaIiEED2Ev.exit975 ], [ %arrayinit.endOfInit.39, %_ZNSt6vectorIiSaIiEED2Ev.exit970 ] - %cleanup.isactive620.44 = phi i1 [ true, %if.then.i.i4.i195 ], [ true, %lpad.i193 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit975 ], [ %cleanup.isactive620.42, %_ZNSt6vectorIiSaIiEED2Ev.exit970 ] +ehcleanup1041: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1003, %_ZNSt6vectorIiSaIiEED2Ev.exit1008, %if.then.i.i4.i200, %lpad.i198 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %15, %if.then.i.i4.i200 ], [ %15, %lpad.i198 ], [ %125, %_ZNSt6vectorIiSaIiEED2Ev.exit1008 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1003 ] + %arrayinit.endOfInit.41 = phi ptr [ %arrayinit.element85, %if.then.i.i4.i200 ], [ %arrayinit.element85, %lpad.i198 ], [ %arrayinit.element132, %_ZNSt6vectorIiSaIiEED2Ev.exit1008 ], [ %arrayinit.endOfInit.39, %_ZNSt6vectorIiSaIiEED2Ev.exit1003 ] + %cleanup.isactive620.44 = phi i1 [ true, %if.then.i.i4.i200 ], [ true, %lpad.i198 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit1008 ], [ %cleanup.isactive620.42, %_ZNSt6vectorIiSaIiEED2Ev.exit1003 ] br label %arraydestroy.body1050 -arraydestroy.body1050: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit980, %ehcleanup1041 - %arraydestroy.elementPast1051 = phi ptr [ %add.ptr.i.i191, %ehcleanup1041 ], [ %arraydestroy.element1052, %_ZNSt6vectorIiSaIiEED2Ev.exit980 ] +arraydestroy.body1050: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1013, %ehcleanup1041 + %arraydestroy.elementPast1051 = phi ptr [ %add.ptr.i.i196, %ehcleanup1041 ], [ %arraydestroy.element1052, %_ZNSt6vectorIiSaIiEED2Ev.exit1013 ] %arraydestroy.element1052 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1051, i64 -1 %126 = load ptr, ptr %arraydestroy.element1052, align 8 - %tobool.not.i.i.i977 = icmp eq ptr %126, null - br i1 %tobool.not.i.i.i977, label %_ZNSt6vectorIiSaIiEED2Ev.exit980, label %if.then.i.i.i978 + %tobool.not.i.i.i1010 = icmp eq ptr %126, null + br i1 %tobool.not.i.i.i1010, label %_ZNSt6vectorIiSaIiEED2Ev.exit1013, label %if.then.i.i.i1011 -if.then.i.i.i978: ; preds = %arraydestroy.body1050 +if.then.i.i.i1011: ; preds = %arraydestroy.body1050 call void @_ZdlPv(ptr noundef nonnull %126) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit980 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1013 -_ZNSt6vectorIiSaIiEED2Ev.exit980: ; preds = %arraydestroy.body1050, %if.then.i.i.i978 +_ZNSt6vectorIiSaIiEED2Ev.exit1013: ; preds = %arraydestroy.body1050, %if.then.i.i.i1011 %arraydestroy.done1053 = icmp eq ptr %arraydestroy.element1052, %ref.tmp87 br i1 %arraydestroy.done1053, label %ehcleanup1068, label %arraydestroy.body1050 -ehcleanup1057: ; preds = %lpad.i182, %lpad.i172 - %arrayinit.endOfInit89.1 = phi ptr [ %arrayinit.element101, %lpad.i172 ], [ %arrayinit.element113, %lpad.i182 ] - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %13, %lpad.i172 ], [ %14, %lpad.i182 ] +ehcleanup1057: ; preds = %lpad.i186, %lpad.i175 + %arrayinit.endOfInit89.1 = phi ptr [ %arrayinit.element101, %lpad.i175 ], [ %arrayinit.element113, %lpad.i186 ] + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %13, %lpad.i175 ], [ %14, %lpad.i186 ] br label %arraydestroy.body1062 -arraydestroy.body1062: ; preds = %ehcleanup1057, %_ZNSt6vectorIiSaIiEED2Ev.exit985 - %arraydestroy.elementPast1063 = phi ptr [ %arraydestroy.element1064, %_ZNSt6vectorIiSaIiEED2Ev.exit985 ], [ %arrayinit.endOfInit89.1, %ehcleanup1057 ] +arraydestroy.body1062: ; preds = %ehcleanup1057, %_ZNSt6vectorIiSaIiEED2Ev.exit1018 + %arraydestroy.elementPast1063 = phi ptr [ %arraydestroy.element1064, %_ZNSt6vectorIiSaIiEED2Ev.exit1018 ], [ %arrayinit.endOfInit89.1, %ehcleanup1057 ] %arraydestroy.element1064 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1063, i64 -1 %127 = load ptr, ptr %arraydestroy.element1064, align 8 - %tobool.not.i.i.i982 = icmp eq ptr %127, null - br i1 %tobool.not.i.i.i982, label %_ZNSt6vectorIiSaIiEED2Ev.exit985, label %if.then.i.i.i983 + %tobool.not.i.i.i1015 = icmp eq ptr %127, null + br i1 %tobool.not.i.i.i1015, label %_ZNSt6vectorIiSaIiEED2Ev.exit1018, label %if.then.i.i.i1016 -if.then.i.i.i983: ; preds = %arraydestroy.body1062 +if.then.i.i.i1016: ; preds = %arraydestroy.body1062 call void @_ZdlPv(ptr noundef nonnull %127) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit985 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1018 -_ZNSt6vectorIiSaIiEED2Ev.exit985: ; preds = %arraydestroy.body1062, %if.then.i.i.i983 +_ZNSt6vectorIiSaIiEED2Ev.exit1018: ; preds = %arraydestroy.body1062, %if.then.i.i.i1016 %arraydestroy.done1065 = icmp eq ptr %arraydestroy.element1064, %ref.tmp87 br i1 %arraydestroy.done1065, label %ehcleanup1068, label %arraydestroy.body1062 -ehcleanup1068: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit985, %_ZNSt6vectorIiSaIiEED2Ev.exit980, %lpad.i162, %if.then.i.i4.i152, %lpad.i150 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %if.then.i.i4.i152 ], [ %10, %lpad.i150 ], [ %12, %lpad.i162 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit980 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit985 ] - %arrayinit.endOfInit.45 = phi ptr [ %arrayinit.element52, %if.then.i.i4.i152 ], [ %arrayinit.element52, %lpad.i150 ], [ %arrayinit.element85, %lpad.i162 ], [ %arrayinit.endOfInit.41, %_ZNSt6vectorIiSaIiEED2Ev.exit980 ], [ %arrayinit.element85, %_ZNSt6vectorIiSaIiEED2Ev.exit985 ] - %cleanup.isactive620.48 = phi i1 [ true, %if.then.i.i4.i152 ], [ true, %lpad.i150 ], [ true, %lpad.i162 ], [ %cleanup.isactive620.44, %_ZNSt6vectorIiSaIiEED2Ev.exit980 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit985 ] +ehcleanup1068: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1018, %_ZNSt6vectorIiSaIiEED2Ev.exit1013, %lpad.i164, %if.then.i.i4.i154, %lpad.i152 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %if.then.i.i4.i154 ], [ %10, %lpad.i152 ], [ %12, %lpad.i164 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1013 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1018 ] + %arrayinit.endOfInit.45 = phi ptr [ %arrayinit.element52, %if.then.i.i4.i154 ], [ %arrayinit.element52, %lpad.i152 ], [ %arrayinit.element85, %lpad.i164 ], [ %arrayinit.endOfInit.41, %_ZNSt6vectorIiSaIiEED2Ev.exit1013 ], [ %arrayinit.element85, %_ZNSt6vectorIiSaIiEED2Ev.exit1018 ] + %cleanup.isactive620.48 = phi i1 [ true, %if.then.i.i4.i154 ], [ true, %lpad.i152 ], [ true, %lpad.i164 ], [ %cleanup.isactive620.44, %_ZNSt6vectorIiSaIiEED2Ev.exit1013 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit1018 ] br label %arraydestroy.body1077 -arraydestroy.body1077: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit990, %ehcleanup1068 - %arraydestroy.elementPast1078 = phi ptr [ %add.ptr.i.i148, %ehcleanup1068 ], [ %arraydestroy.element1079, %_ZNSt6vectorIiSaIiEED2Ev.exit990 ] +arraydestroy.body1077: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1023, %ehcleanup1068 + %arraydestroy.elementPast1078 = phi ptr [ %add.ptr.i.i150, %ehcleanup1068 ], [ %arraydestroy.element1079, %_ZNSt6vectorIiSaIiEED2Ev.exit1023 ] %arraydestroy.element1079 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1078, i64 -1 %128 = load ptr, ptr %arraydestroy.element1079, align 8 - %tobool.not.i.i.i987 = icmp eq ptr %128, null - br i1 %tobool.not.i.i.i987, label %_ZNSt6vectorIiSaIiEED2Ev.exit990, label %if.then.i.i.i988 + %tobool.not.i.i.i1020 = icmp eq ptr %128, null + br i1 %tobool.not.i.i.i1020, label %_ZNSt6vectorIiSaIiEED2Ev.exit1023, label %if.then.i.i.i1021 -if.then.i.i.i988: ; preds = %arraydestroy.body1077 +if.then.i.i.i1021: ; preds = %arraydestroy.body1077 call void @_ZdlPv(ptr noundef nonnull %128) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit990 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1023 -_ZNSt6vectorIiSaIiEED2Ev.exit990: ; preds = %arraydestroy.body1077, %if.then.i.i.i988 +_ZNSt6vectorIiSaIiEED2Ev.exit1023: ; preds = %arraydestroy.body1077, %if.then.i.i.i1021 %arraydestroy.done1080 = icmp eq ptr %arraydestroy.element1079, %ref.tmp54 br i1 %arraydestroy.done1080, label %ehcleanup1094, label %arraydestroy.body1077 -_ZNSt6vectorIiSaIiEED2Ev.exit995: ; preds = %invoke.cont66 +_ZNSt6vectorIiSaIiEED2Ev.exit1028: ; preds = %invoke.cont66 %129 = landingpad { ptr, i32 } cleanup call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i128) #31 br label %ehcleanup1094 -ehcleanup1094: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit990, %lpad.i129, %_ZNSt6vectorIiSaIiEED2Ev.exit995, %if.then.i.i4.i119, %lpad.i117 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %7, %if.then.i.i4.i119 ], [ %7, %lpad.i117 ], [ %9, %lpad.i129 ], [ %129, %_ZNSt6vectorIiSaIiEED2Ev.exit995 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit990 ] - %arrayinit.endOfInit.48 = phi ptr [ %arrayinit.element32, %if.then.i.i4.i119 ], [ %arrayinit.element32, %lpad.i117 ], [ %arrayinit.element52, %lpad.i129 ], [ %arrayinit.element52, %_ZNSt6vectorIiSaIiEED2Ev.exit995 ], [ %arrayinit.endOfInit.45, %_ZNSt6vectorIiSaIiEED2Ev.exit990 ] - %cleanup.isactive620.51 = phi i1 [ true, %if.then.i.i4.i119 ], [ true, %lpad.i117 ], [ true, %lpad.i129 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit995 ], [ %cleanup.isactive620.48, %_ZNSt6vectorIiSaIiEED2Ev.exit990 ] +ehcleanup1094: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1023, %lpad.i129, %_ZNSt6vectorIiSaIiEED2Ev.exit1028, %if.then.i.i4.i119, %lpad.i117 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %7, %if.then.i.i4.i119 ], [ %7, %lpad.i117 ], [ %9, %lpad.i129 ], [ %129, %_ZNSt6vectorIiSaIiEED2Ev.exit1028 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1023 ] + %arrayinit.endOfInit.48 = phi ptr [ %arrayinit.element32, %if.then.i.i4.i119 ], [ %arrayinit.element32, %lpad.i117 ], [ %arrayinit.element52, %lpad.i129 ], [ %arrayinit.element52, %_ZNSt6vectorIiSaIiEED2Ev.exit1028 ], [ %arrayinit.endOfInit.45, %_ZNSt6vectorIiSaIiEED2Ev.exit1023 ] + %cleanup.isactive620.51 = phi i1 [ true, %if.then.i.i4.i119 ], [ true, %lpad.i117 ], [ true, %lpad.i129 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit1028 ], [ %cleanup.isactive620.48, %_ZNSt6vectorIiSaIiEED2Ev.exit1023 ] %130 = load ptr, ptr %ref.tmp34, align 8 - %tobool.not.i.i.i997 = icmp eq ptr %130, null - br i1 %tobool.not.i.i.i997, label %ehcleanup1119, label %if.then.i.i.i998 + %tobool.not.i.i.i1030 = icmp eq ptr %130, null + br i1 %tobool.not.i.i.i1030, label %ehcleanup1119, label %if.then.i.i.i1031 -if.then.i.i.i998: ; preds = %ehcleanup1094 +if.then.i.i.i1031: ; preds = %ehcleanup1094 call void @_ZdlPv(ptr noundef nonnull %130) #31 br label %ehcleanup1119 -ehcleanup1119: ; preds = %if.then.i.i.i998, %ehcleanup1094, %lpad.i109, %if.then.i.i4.i99, %lpad.i97 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i4.i99 ], [ %4, %lpad.i97 ], [ %6, %lpad.i109 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup1094 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i998 ] - %arrayinit.endOfInit.50 = phi ptr [ %arrayinit.element19, %if.then.i.i4.i99 ], [ %arrayinit.element19, %lpad.i97 ], [ %arrayinit.element32, %lpad.i109 ], [ %arrayinit.endOfInit.48, %ehcleanup1094 ], [ %arrayinit.endOfInit.48, %if.then.i.i.i998 ] - %cleanup.isactive620.53 = phi i1 [ true, %if.then.i.i4.i99 ], [ true, %lpad.i97 ], [ true, %lpad.i109 ], [ %cleanup.isactive620.51, %ehcleanup1094 ], [ %cleanup.isactive620.51, %if.then.i.i.i998 ] +ehcleanup1119: ; preds = %if.then.i.i.i1031, %ehcleanup1094, %lpad.i109, %if.then.i.i4.i99, %lpad.i97 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i4.i99 ], [ %4, %lpad.i97 ], [ %6, %lpad.i109 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup1094 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i1031 ] + %arrayinit.endOfInit.50 = phi ptr [ %arrayinit.element19, %if.then.i.i4.i99 ], [ %arrayinit.element19, %lpad.i97 ], [ %arrayinit.element32, %lpad.i109 ], [ %arrayinit.endOfInit.48, %ehcleanup1094 ], [ %arrayinit.endOfInit.48, %if.then.i.i.i1031 ] + %cleanup.isactive620.53 = phi i1 [ true, %if.then.i.i4.i99 ], [ true, %lpad.i97 ], [ true, %lpad.i109 ], [ %cleanup.isactive620.51, %ehcleanup1094 ], [ %cleanup.isactive620.51, %if.then.i.i.i1031 ] br label %arraydestroy.body1128 -arraydestroy.body1128: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1005, %ehcleanup1119 - %arraydestroy.elementPast1129 = phi ptr [ %add.ptr.i.i95, %ehcleanup1119 ], [ %arraydestroy.element1130, %_ZNSt6vectorIiSaIiEED2Ev.exit1005 ] +arraydestroy.body1128: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1038, %ehcleanup1119 + %arraydestroy.elementPast1129 = phi ptr [ %add.ptr.i.i95, %ehcleanup1119 ], [ %arraydestroy.element1130, %_ZNSt6vectorIiSaIiEED2Ev.exit1038 ] %arraydestroy.element1130 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1129, i64 -1 %131 = load ptr, ptr %arraydestroy.element1130, align 8 - %tobool.not.i.i.i1002 = icmp eq ptr %131, null - br i1 %tobool.not.i.i.i1002, label %_ZNSt6vectorIiSaIiEED2Ev.exit1005, label %if.then.i.i.i1003 + %tobool.not.i.i.i1035 = icmp eq ptr %131, null + br i1 %tobool.not.i.i.i1035, label %_ZNSt6vectorIiSaIiEED2Ev.exit1038, label %if.then.i.i.i1036 -if.then.i.i.i1003: ; preds = %arraydestroy.body1128 +if.then.i.i.i1036: ; preds = %arraydestroy.body1128 call void @_ZdlPv(ptr noundef nonnull %131) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit1005 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1038 -_ZNSt6vectorIiSaIiEED2Ev.exit1005: ; preds = %arraydestroy.body1128, %if.then.i.i.i1003 +_ZNSt6vectorIiSaIiEED2Ev.exit1038: ; preds = %arraydestroy.body1128, %if.then.i.i.i1036 %arraydestroy.done1131 = icmp eq ptr %arraydestroy.element1130, %ref.tmp21 br i1 %arraydestroy.done1131, label %ehcleanup1133, label %arraydestroy.body1128 -ehcleanup1133: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1005, %if.then.i.i4.i86, %lpad.i84 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i4.i86 ], [ %2, %lpad.i84 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1005 ] - %arrayinit.endOfInit.51 = phi ptr [ %arrayinit.element7, %if.then.i.i4.i86 ], [ %arrayinit.element7, %lpad.i84 ], [ %arrayinit.endOfInit.50, %_ZNSt6vectorIiSaIiEED2Ev.exit1005 ] - %cleanup.isactive620.54 = phi i1 [ true, %if.then.i.i4.i86 ], [ true, %lpad.i84 ], [ %cleanup.isactive620.53, %_ZNSt6vectorIiSaIiEED2Ev.exit1005 ] +ehcleanup1133: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1038, %if.then.i.i4.i86, %lpad.i84 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i4.i86 ], [ %2, %lpad.i84 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1038 ] + %arrayinit.endOfInit.51 = phi ptr [ %arrayinit.element7, %if.then.i.i4.i86 ], [ %arrayinit.element7, %lpad.i84 ], [ %arrayinit.endOfInit.50, %_ZNSt6vectorIiSaIiEED2Ev.exit1038 ] + %cleanup.isactive620.54 = phi i1 [ true, %if.then.i.i4.i86 ], [ true, %lpad.i84 ], [ %cleanup.isactive620.53, %_ZNSt6vectorIiSaIiEED2Ev.exit1038 ] br label %arraydestroy.body1142 -arraydestroy.body1142: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1010, %ehcleanup1133 - %arraydestroy.elementPast1143 = phi ptr [ %add.ptr.i.i82, %ehcleanup1133 ], [ %arraydestroy.element1144, %_ZNSt6vectorIiSaIiEED2Ev.exit1010 ] +arraydestroy.body1142: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1043, %ehcleanup1133 + %arraydestroy.elementPast1143 = phi ptr [ %add.ptr.i.i82, %ehcleanup1133 ], [ %arraydestroy.element1144, %_ZNSt6vectorIiSaIiEED2Ev.exit1043 ] %arraydestroy.element1144 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1143, i64 -1 %132 = load ptr, ptr %arraydestroy.element1144, align 8 - %tobool.not.i.i.i1007 = icmp eq ptr %132, null - br i1 %tobool.not.i.i.i1007, label %_ZNSt6vectorIiSaIiEED2Ev.exit1010, label %if.then.i.i.i1008 + %tobool.not.i.i.i1040 = icmp eq ptr %132, null + br i1 %tobool.not.i.i.i1040, label %_ZNSt6vectorIiSaIiEED2Ev.exit1043, label %if.then.i.i.i1041 -if.then.i.i.i1008: ; preds = %arraydestroy.body1142 +if.then.i.i.i1041: ; preds = %arraydestroy.body1142 call void @_ZdlPv(ptr noundef nonnull %132) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit1010 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1043 -_ZNSt6vectorIiSaIiEED2Ev.exit1010: ; preds = %arraydestroy.body1142, %if.then.i.i.i1008 +_ZNSt6vectorIiSaIiEED2Ev.exit1043: ; preds = %arraydestroy.body1142, %if.then.i.i.i1041 %arraydestroy.done1145 = icmp eq ptr %arraydestroy.element1144, %ref.tmp9 br i1 %arraydestroy.done1145, label %ehcleanup1147, label %arraydestroy.body1142 -ehcleanup1147: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1010, %if.then.i.i4.i, %lpad.i - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i4.i ], [ %0, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1010 ] - %arrayinit.endOfInit.52 = phi ptr [ %arrayinit.element, %if.then.i.i4.i ], [ %arrayinit.element, %lpad.i ], [ %arrayinit.endOfInit.51, %_ZNSt6vectorIiSaIiEED2Ev.exit1010 ] - %cleanup.isactive620.55 = phi i1 [ true, %if.then.i.i4.i ], [ true, %lpad.i ], [ %cleanup.isactive620.54, %_ZNSt6vectorIiSaIiEED2Ev.exit1010 ] +ehcleanup1147: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1043, %if.then.i.i4.i, %lpad.i + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i4.i ], [ %0, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1043 ] + %arrayinit.endOfInit.52 = phi ptr [ %arrayinit.element, %if.then.i.i4.i ], [ %arrayinit.element, %lpad.i ], [ %arrayinit.endOfInit.51, %_ZNSt6vectorIiSaIiEED2Ev.exit1043 ] + %cleanup.isactive620.55 = phi i1 [ true, %if.then.i.i4.i ], [ true, %lpad.i ], [ %cleanup.isactive620.54, %_ZNSt6vectorIiSaIiEED2Ev.exit1043 ] %133 = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i1012 = icmp eq ptr %133, null - br i1 %tobool.not.i.i.i1012, label %_ZNSt6vectorIiSaIiEED2Ev.exit1015, label %if.then.i.i.i1013 + %tobool.not.i.i.i1045 = icmp eq ptr %133, null + br i1 %tobool.not.i.i.i1045, label %_ZNSt6vectorIiSaIiEED2Ev.exit1048, label %if.then.i.i.i1046 -if.then.i.i.i1013: ; preds = %ehcleanup1147 +if.then.i.i.i1046: ; preds = %ehcleanup1147 call void @_ZdlPv(ptr noundef nonnull %133) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit1015 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1048 -_ZNSt6vectorIiSaIiEED2Ev.exit1015: ; preds = %ehcleanup1147, %if.then.i.i.i1013 +_ZNSt6vectorIiSaIiEED2Ev.exit1048: ; preds = %ehcleanup1147, %if.then.i.i.i1046 %arraydestroy.isempty1164 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.52 %or.cond19.not = select i1 %cleanup.isactive620.55, i1 %arraydestroy.isempty1164, i1 false br i1 %or.cond19.not, label %arraydestroy.body1165, label %eh.resume -arraydestroy.body1165: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1015, %arraydestroy.body1165 - %arraydestroy.elementPast1166 = phi ptr [ %arraydestroy.element1167, %arraydestroy.body1165 ], [ %arrayinit.endOfInit.52, %_ZNSt6vectorIiSaIiEED2Ev.exit1015 ] +arraydestroy.body1165: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1048, %arraydestroy.body1165 + %arraydestroy.elementPast1166 = phi ptr [ %arraydestroy.element1167, %arraydestroy.body1165 ], [ %arrayinit.endOfInit.52, %_ZNSt6vectorIiSaIiEED2Ev.exit1048 ] %arraydestroy.element1167 = getelementptr inbounds %"class.std::vector.234", ptr %arraydestroy.elementPast1166, i64 -1 call void @_ZNSt6vectorIS_IiSaIiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element1167) #28 %arraydestroy.done1168 = icmp eq ptr %arraydestroy.element1167, %ref.tmp br i1 %arraydestroy.done1168, label %eh.resume, label %arraydestroy.body1165 -lpad1171: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit812 +lpad1171: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit845 %134 = landingpad { ptr, i32 } cleanup br label %ehcleanup1189 @@ -138430,25 +138434,25 @@ ehcleanup1186: ; preds = %lpad1183, %lpad1181 ehcleanup1187: ; preds = %ehcleanup1186, %lpad1178 %.pn76.pn = phi { ptr, i32 } [ %.pn76, %ehcleanup1186 ], [ %138, %lpad1178 ] %141 = load ptr, ptr %ref.tmp1173, align 8 - %cmp.not.i.i1016 = icmp eq ptr %141, null - br i1 %cmp.not.i.i1016, label %_ZN7testing7MessageD2Ev.exit1020, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1017 + %cmp.not.i.i1049 = icmp eq ptr %141, null + br i1 %cmp.not.i.i1049, label %_ZN7testing7MessageD2Ev.exit1053, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1050 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1017: ; preds = %ehcleanup1187 - %vtable.i.i.i1018 = load ptr, ptr %141, align 8 - %vfn.i.i.i1019 = getelementptr inbounds ptr, ptr %vtable.i.i.i1018, i64 1 - %142 = load ptr, ptr %vfn.i.i.i1019, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1050: ; preds = %ehcleanup1187 + %vtable.i.i.i1051 = load ptr, ptr %141, align 8 + %vfn.i.i.i1052 = getelementptr inbounds ptr, ptr %vtable.i.i.i1051, i64 1 + %142 = load ptr, ptr %vfn.i.i.i1052, align 8 call void %142(ptr noundef nonnull align 8 dereferenceable(128) %141) #28 - br label %_ZN7testing7MessageD2Ev.exit1020 + br label %_ZN7testing7MessageD2Ev.exit1053 -_ZN7testing7MessageD2Ev.exit1020: ; preds = %ehcleanup1187, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1017 +_ZN7testing7MessageD2Ev.exit1053: ; preds = %ehcleanup1187, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1050 store ptr null, ptr %ref.tmp1173, align 8 br label %ehcleanup1188 if.end: ; preds = %invoke.cont1172, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %143 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i1021 = icmp eq ptr %143, null - br i1 %cmp.not.i.i1021, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i1054 = icmp eq ptr %143, null + br i1 %cmp.not.i.i1054, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #28 @@ -138458,20 +138462,20 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %144 = load ptr, ptr %exemplars, align 8 - %145 = load ptr, ptr %_M_finish.i.i700, align 8 - %cmp.not3.i.i.i.i1023 = icmp eq ptr %144, %145 - br i1 %cmp.not3.i.i.i.i1023, label %invoke.cont.i1032, label %for.body.i.i.i.i1024 - -for.body.i.i.i.i1024: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i - %__first.addr.04.i.i.i.i1025 = phi ptr [ %incdec.ptr.i.i.i.i1028, %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i ], [ %144, %_ZN7testing15AssertionResultD2Ev.exit ] - %146 = load ptr, ptr %__first.addr.04.i.i.i.i1025, align 8 - %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i1025, i64 0, i32 1 + %145 = load ptr, ptr %_M_finish.i.i733, align 8 + %cmp.not3.i.i.i.i1056 = icmp eq ptr %144, %145 + br i1 %cmp.not3.i.i.i.i1056, label %invoke.cont.i1065, label %for.body.i.i.i.i1057 + +for.body.i.i.i.i1057: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i1058 = phi ptr [ %incdec.ptr.i.i.i.i1061, %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i ], [ %144, %_ZN7testing15AssertionResultD2Ev.exit ] + %146 = load ptr, ptr %__first.addr.04.i.i.i.i1058, align 8 + %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i1058, i64 0, i32 1 %147 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8 %cmp.not3.i.i.i.i.i.i.i.i.i = icmp eq ptr %146, %147 br i1 %cmp.not3.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i -for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i1024, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %146, %for.body.i.i.i.i1024 ] +for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i1057, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %146, %for.body.i.i.i.i1057 ] %148 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %148, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i @@ -138486,51 +138490,51 @@ _ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.then. br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !865 invoke.contthread-pre-split.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i - %.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i1025, align 8 + %.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i1058, align 8 br label %invoke.cont.i.i.i.i.i.i -invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i1024 - %149 = phi ptr [ %.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %146, %for.body.i.i.i.i1024 ] - %tobool.not.i.i.i.i.i.i.i.i1026 = icmp eq ptr %149, null - br i1 %tobool.not.i.i.i.i.i.i.i.i1026, label %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i1027 +invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i1057 + %149 = phi ptr [ %.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %146, %for.body.i.i.i.i1057 ] + %tobool.not.i.i.i.i.i.i.i.i1059 = icmp eq ptr %149, null + br i1 %tobool.not.i.i.i.i.i.i.i.i1059, label %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i1060 -if.then.i.i.i.i.i.i.i.i1027: ; preds = %invoke.cont.i.i.i.i.i.i +if.then.i.i.i.i.i.i.i.i1060: ; preds = %invoke.cont.i.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %149) #31 br label %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i -_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i1027, %invoke.cont.i.i.i.i.i.i - %incdec.ptr.i.i.i.i1028 = getelementptr inbounds %"class.std::vector.234", ptr %__first.addr.04.i.i.i.i1025, i64 1 - %cmp.not.i.i.i.i1029 = icmp eq ptr %incdec.ptr.i.i.i.i1028, %145 - br i1 %cmp.not.i.i.i.i1029, label %invoke.contthread-pre-split.i1030, label %for.body.i.i.i.i1024, !llvm.loop !3809 +_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i1060, %invoke.cont.i.i.i.i.i.i + %incdec.ptr.i.i.i.i1061 = getelementptr inbounds %"class.std::vector.234", ptr %__first.addr.04.i.i.i.i1058, i64 1 + %cmp.not.i.i.i.i1062 = icmp eq ptr %incdec.ptr.i.i.i.i1061, %145 + br i1 %cmp.not.i.i.i.i1062, label %invoke.contthread-pre-split.i1063, label %for.body.i.i.i.i1057, !llvm.loop !3809 -invoke.contthread-pre-split.i1030: ; preds = %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i - %.pr.i1031 = load ptr, ptr %exemplars, align 8 - br label %invoke.cont.i1032 +invoke.contthread-pre-split.i1063: ; preds = %_ZSt8_DestroyISt6vectorIS0_IiSaIiEESaIS2_EEEvPT_.exit.i.i.i.i + %.pr.i1064 = load ptr, ptr %exemplars, align 8 + br label %invoke.cont.i1065 -invoke.cont.i1032: ; preds = %invoke.contthread-pre-split.i1030, %_ZN7testing15AssertionResultD2Ev.exit - %150 = phi ptr [ %.pr.i1031, %invoke.contthread-pre-split.i1030 ], [ %144, %_ZN7testing15AssertionResultD2Ev.exit ] - %tobool.not.i.i.i1033 = icmp eq ptr %150, null - br i1 %tobool.not.i.i.i1033, label %_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EED2Ev.exit, label %if.then.i.i.i1034 +invoke.cont.i1065: ; preds = %invoke.contthread-pre-split.i1063, %_ZN7testing15AssertionResultD2Ev.exit + %150 = phi ptr [ %.pr.i1064, %invoke.contthread-pre-split.i1063 ], [ %144, %_ZN7testing15AssertionResultD2Ev.exit ] + %tobool.not.i.i.i1066 = icmp eq ptr %150, null + br i1 %tobool.not.i.i.i1066, label %_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EED2Ev.exit, label %if.then.i.i.i1067 -if.then.i.i.i1034: ; preds = %invoke.cont.i1032 +if.then.i.i.i1067: ; preds = %invoke.cont.i1065 call void @_ZdlPv(ptr noundef nonnull %150) #31 br label %_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EED2Ev.exit -_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EED2Ev.exit: ; preds = %invoke.cont.i1032, %if.then.i.i.i1034 +_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EED2Ev.exit: ; preds = %invoke.cont.i1065, %if.then.i.i.i1067 ret void -ehcleanup1188: ; preds = %_ZN7testing7MessageD2Ev.exit1020, %lpad1174 - %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %_ZN7testing7MessageD2Ev.exit1020 ], [ %137, %lpad1174 ] +ehcleanup1188: ; preds = %_ZN7testing7MessageD2Ev.exit1053, %lpad1174 + %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %_ZN7testing7MessageD2Ev.exit1053 ], [ %137, %lpad1174 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup1189 -ehcleanup1189: ; preds = %lpad1171, %if.then.i.i.i2.i, %lpad.i813, %ehcleanup1188 - %.pn76.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn, %ehcleanup1188 ], [ %134, %lpad1171 ], [ %92, %if.then.i.i.i2.i ], [ %92, %lpad.i813 ] +ehcleanup1189: ; preds = %lpad1171, %if.then.i.i.i2.i, %lpad.i846, %ehcleanup1188 + %.pn76.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn, %ehcleanup1188 ], [ %134, %lpad1171 ], [ %92, %if.then.i.i.i2.i ], [ %92, %lpad.i846 ] call void @_ZNSt6vectorIS_IS_IiSaIiEESaIS1_EESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body1165, %_ZNSt6vectorIiSaIiEED2Ev.exit1015, %ehcleanup1189 - %.pn76.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn.pn, %ehcleanup1189 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1015 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body1165 ] +eh.resume: ; preds = %arraydestroy.body1165, %_ZNSt6vectorIiSaIiEED2Ev.exit1048, %ehcleanup1189 + %.pn76.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn.pn, %ehcleanup1189 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1048 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body1165 ] resume { ptr, i32 } %.pn76.pn.pn.pn.pn } @@ -138819,8 +138823,7 @@ if.then.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i br label %for.inc for.inc: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %incdec.ptr.i = getelementptr inbounds %"class.std::vector.240", ptr %__first.sroa.0.014, i64 1 %incdec.ptr = getelementptr inbounds %"class.std::vector.240", ptr %__cur.015, i64 1 @@ -139162,23 +139165,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0976, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0977, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IS3_IiSaIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %27, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IS3_IiSaIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1220, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IS3_IiSaIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1220, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %27, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %27) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1220, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -139186,7 +139190,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, %if.then.i.i - %28 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %26, %if.then.i.i ] + %28 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IS_IiSaIiEESaIS5_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %26, %if.then.i.i ] %inc = add i64 %i.0977, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %29 = load ptr, ptr %28, align 8, !noalias !3813 @@ -145799,7 +145803,7 @@ lpad.i.i: ; preds = %invoke.cont31 invoke.cont44: ; preds = %invoke.cont31 store ptr %call5.i.i.i.i1.i.i, ptr %ref.tmp34, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 1 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 4 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp34, i64 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 store i32 1, ptr %call5.i.i.i.i1.i.i, align 4 @@ -145834,910 +145838,910 @@ lpad.i.i56: ; preds = %invoke.cont51 invoke.cont65: ; preds = %invoke.cont51 store ptr %call5.i.i.i.i1.i.i55, ptr %ref.tmp54, align 8 - %add.ptr.i.i.i60 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i55, i64 2 + %add.ptr.i.i.i60 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i55, i64 8 %_M_end_of_storage.i.i.i61 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp54, i64 0, i32 2 store ptr %add.ptr.i.i.i60, ptr %_M_end_of_storage.i.i.i61, align 8 store i32 1, ptr %call5.i.i.i.i1.i.i55, align 4 %ref.tmp58.sroa.2.0.call5.i.i.i.i1.i.i55.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i55, i64 4 store i32 1, ptr %ref.tmp58.sroa.2.0.call5.i.i.i.i1.i.i55.sroa_idx, align 4 - %_M_finish.i.i.i62 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp54, i64 0, i32 1 - store ptr %add.ptr.i.i.i60, ptr %_M_finish.i.i.i62, align 8 + %_M_finish.i.i.i63 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp54, i64 0, i32 1 + store ptr %add.ptr.i.i.i60, ptr %_M_finish.i.i.i63, align 8 %arrayinit.element66 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp54, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element66, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i65 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont74 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit632 + %call5.i.i.i.i1.i.i66 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont74 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 invoke.cont74: ; preds = %invoke.cont65 - store ptr %call5.i.i.i.i1.i.i65, ptr %arrayinit.element66, align 8 - %add.ptr.i.i.i70 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i65, i64 2 - %_M_end_of_storage.i.i.i71 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i70, ptr %_M_end_of_storage.i.i.i71, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i65, align 4 - %ref.tmp68.sroa.2.0.call5.i.i.i.i1.i.i65.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i65, i64 4 - store i32 1, ptr %ref.tmp68.sroa.2.0.call5.i.i.i.i1.i.i65.sroa_idx, align 4 - %_M_finish.i.i.i72 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i70, ptr %_M_finish.i.i.i72, align 8 + store ptr %call5.i.i.i.i1.i.i66, ptr %arrayinit.element66, align 8 + %add.ptr.i.i.i71 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i66, i64 8 + %_M_end_of_storage.i.i.i72 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i71, ptr %_M_end_of_storage.i.i.i72, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i66, align 4 + %ref.tmp68.sroa.2.0.call5.i.i.i.i1.i.i66.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i66, i64 4 + store i32 1, ptr %ref.tmp68.sroa.2.0.call5.i.i.i.i1.i.i66.sroa_idx, align 4 + %_M_finish.i.i.i74 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i71, ptr %_M_finish.i.i.i74, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element52, i8 0, i64 24, i1 false) - %add.ptr.i.i76 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp54, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element52, ptr noundef nonnull %ref.tmp54, ptr noundef nonnull %add.ptr.i.i76) - to label %invoke.cont86 unwind label %lpad.i77 + %add.ptr.i.i78 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp54, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element52, ptr noundef nonnull %ref.tmp54, ptr noundef nonnull %add.ptr.i.i78) + to label %invoke.cont86 unwind label %lpad.i79 -lpad.i77: ; preds = %invoke.cont74 +lpad.i79: ; preds = %invoke.cont74 %6 = landingpad { ptr, i32 } cleanup - %this.val.i78 = load ptr, ptr %arrayinit.element52, align 8 - %tobool.not.i.i.i79 = icmp eq ptr %this.val.i78, null - br i1 %tobool.not.i.i.i79, label %ehcleanup916, label %if.then.i.i.i80 + %this.val.i80 = load ptr, ptr %arrayinit.element52, align 8 + %tobool.not.i.i.i81 = icmp eq ptr %this.val.i80, null + br i1 %tobool.not.i.i.i81, label %ehcleanup916, label %if.then.i.i.i82 -if.then.i.i.i80: ; preds = %lpad.i77 - call void @_ZdlPv(ptr noundef nonnull %this.val.i78) #31 +if.then.i.i.i82: ; preds = %lpad.i79 + call void @_ZdlPv(ptr noundef nonnull %this.val.i80) #31 br label %ehcleanup916 invoke.cont86: ; preds = %invoke.cont74 %arrayinit.element87 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 6 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp89, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i84 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont101 unwind label %lpad.i.i85 + %call5.i.i.i.i1.i.i86 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont101 unwind label %lpad.i.i87 -lpad.i.i85: ; preds = %invoke.cont86 +lpad.i.i87: ; preds = %invoke.cont86 %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup916 invoke.cont101: ; preds = %invoke.cont86 - store ptr %call5.i.i.i.i1.i.i84, ptr %ref.tmp89, align 8 - %add.ptr.i.i.i89 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i84, i64 3 - %_M_end_of_storage.i.i.i90 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 2 - store ptr %add.ptr.i.i.i89, ptr %_M_end_of_storage.i.i.i90, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i84, align 4 - %ref.tmp93.sroa.2.0.call5.i.i.i.i1.i.i84.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i84, i64 4 - store i32 1, ptr %ref.tmp93.sroa.2.0.call5.i.i.i.i1.i.i84.sroa_idx, align 4 - %ref.tmp93.sroa.3.0.call5.i.i.i.i1.i.i84.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i84, i64 8 - store i32 1, ptr %ref.tmp93.sroa.3.0.call5.i.i.i.i1.i.i84.sroa_idx, align 4 - %_M_finish.i.i.i91 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 1 - store ptr %add.ptr.i.i.i89, ptr %_M_finish.i.i.i91, align 8 + store ptr %call5.i.i.i.i1.i.i86, ptr %ref.tmp89, align 8 + %add.ptr.i.i.i91 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i86, i64 12 + %_M_end_of_storage.i.i.i92 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 2 + store ptr %add.ptr.i.i.i91, ptr %_M_end_of_storage.i.i.i92, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i86, align 4 + %ref.tmp93.sroa.2.0.call5.i.i.i.i1.i.i86.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i86, i64 4 + store i32 1, ptr %ref.tmp93.sroa.2.0.call5.i.i.i.i1.i.i86.sroa_idx, align 4 + %ref.tmp93.sroa.3.0.call5.i.i.i.i1.i.i86.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i86, i64 8 + store i32 1, ptr %ref.tmp93.sroa.3.0.call5.i.i.i.i1.i.i86.sroa_idx, align 4 + %_M_finish.i.i.i94 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 1 + store ptr %add.ptr.i.i.i91, ptr %_M_finish.i.i.i94, align 8 %arrayinit.element102 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element102, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i94 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont111 unwind label %lpad.i.i95 + %call5.i.i.i.i1.i.i97 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont111 unwind label %lpad.i.i98 -lpad.i.i95: ; preds = %invoke.cont101 +lpad.i.i98: ; preds = %invoke.cont101 %8 = landingpad { ptr, i32 } cleanup br label %lpad100.body invoke.cont111: ; preds = %invoke.cont101 - store ptr %call5.i.i.i.i1.i.i94, ptr %arrayinit.element102, align 8 - %add.ptr.i.i.i99 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i94, i64 3 - %_M_end_of_storage.i.i.i100 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i99, ptr %_M_end_of_storage.i.i.i100, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i94, align 4 - %ref.tmp104.sroa.2.0.call5.i.i.i.i1.i.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i94, i64 4 - store i32 1, ptr %ref.tmp104.sroa.2.0.call5.i.i.i.i1.i.i94.sroa_idx, align 4 - %ref.tmp104.sroa.3.0.call5.i.i.i.i1.i.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i94, i64 8 - store i32 1, ptr %ref.tmp104.sroa.3.0.call5.i.i.i.i1.i.i94.sroa_idx, align 4 - %_M_finish.i.i.i101 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i99, ptr %_M_finish.i.i.i101, align 8 + store ptr %call5.i.i.i.i1.i.i97, ptr %arrayinit.element102, align 8 + %add.ptr.i.i.i102 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i97, i64 12 + %_M_end_of_storage.i.i.i103 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i102, ptr %_M_end_of_storage.i.i.i103, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i97, align 4 + %ref.tmp104.sroa.2.0.call5.i.i.i.i1.i.i97.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i97, i64 4 + store i32 1, ptr %ref.tmp104.sroa.2.0.call5.i.i.i.i1.i.i97.sroa_idx, align 4 + %ref.tmp104.sroa.3.0.call5.i.i.i.i1.i.i97.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i97, i64 8 + store i32 1, ptr %ref.tmp104.sroa.3.0.call5.i.i.i.i1.i.i97.sroa_idx, align 4 + %_M_finish.i.i.i105 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i102, ptr %_M_finish.i.i.i105, align 8 %arrayinit.element112 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element112, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i106 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont121 unwind label %lpad.i.i107 + %call5.i.i.i.i1.i.i110 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont121 unwind label %lpad.i.i111 -lpad.i.i107: ; preds = %invoke.cont111 +lpad.i.i111: ; preds = %invoke.cont111 %9 = landingpad { ptr, i32 } cleanup br label %lpad100.body invoke.cont121: ; preds = %invoke.cont111 - store ptr %call5.i.i.i.i1.i.i106, ptr %arrayinit.element112, align 8 - %add.ptr.i.i.i111 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i106, i64 3 - %_M_end_of_storage.i.i.i112 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 2, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i111, ptr %_M_end_of_storage.i.i.i112, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i106, align 4 - %ref.tmp114.sroa.2.0.call5.i.i.i.i1.i.i106.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i106, i64 4 - store i32 1, ptr %ref.tmp114.sroa.2.0.call5.i.i.i.i1.i.i106.sroa_idx, align 4 - %ref.tmp114.sroa.3.0.call5.i.i.i.i1.i.i106.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i106, i64 8 - store i32 1, ptr %ref.tmp114.sroa.3.0.call5.i.i.i.i1.i.i106.sroa_idx, align 4 - %_M_finish.i.i.i113 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 2, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i111, ptr %_M_finish.i.i.i113, align 8 + store ptr %call5.i.i.i.i1.i.i110, ptr %arrayinit.element112, align 8 + %add.ptr.i.i.i115 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i110, i64 12 + %_M_end_of_storage.i.i.i116 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 2, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i115, ptr %_M_end_of_storage.i.i.i116, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i110, align 4 + %ref.tmp114.sroa.2.0.call5.i.i.i.i1.i.i110.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i110, i64 4 + store i32 1, ptr %ref.tmp114.sroa.2.0.call5.i.i.i.i1.i.i110.sroa_idx, align 4 + %ref.tmp114.sroa.3.0.call5.i.i.i.i1.i.i110.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i110, i64 8 + store i32 1, ptr %ref.tmp114.sroa.3.0.call5.i.i.i.i1.i.i110.sroa_idx, align 4 + %_M_finish.i.i.i118 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 2, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i115, ptr %_M_finish.i.i.i118, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element87, i8 0, i64 24, i1 false) - %add.ptr.i.i117 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 3 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element87, ptr noundef nonnull %ref.tmp89, ptr noundef nonnull %add.ptr.i.i117) - to label %invoke.cont133 unwind label %lpad.i118 + %add.ptr.i.i122 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp89, i64 3 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element87, ptr noundef nonnull %ref.tmp89, ptr noundef nonnull %add.ptr.i.i122) + to label %invoke.cont133 unwind label %lpad.i123 -lpad.i118: ; preds = %invoke.cont121 +lpad.i123: ; preds = %invoke.cont121 %10 = landingpad { ptr, i32 } cleanup - %this.val.i119 = load ptr, ptr %arrayinit.element87, align 8 - %tobool.not.i.i.i120 = icmp eq ptr %this.val.i119, null - br i1 %tobool.not.i.i.i120, label %ehcleanup902, label %if.then.i.i.i121 + %this.val.i124 = load ptr, ptr %arrayinit.element87, align 8 + %tobool.not.i.i.i125 = icmp eq ptr %this.val.i124, null + br i1 %tobool.not.i.i.i125, label %ehcleanup902, label %if.then.i.i.i126 -if.then.i.i.i121: ; preds = %lpad.i118 - call void @_ZdlPv(ptr noundef nonnull %this.val.i119) #31 +if.then.i.i.i126: ; preds = %lpad.i123 + call void @_ZdlPv(ptr noundef nonnull %this.val.i124) #31 br label %ehcleanup902 invoke.cont133: ; preds = %invoke.cont121 %arrayinit.element134 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp136, i8 0, i64 48, i1 false) - %call5.i.i.i.i1.i.i125 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont148 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 + %call5.i.i.i.i1.i.i130 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont148 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 invoke.cont148: ; preds = %invoke.cont133 %arrayinit.element139 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp136, i64 1 - store ptr %call5.i.i.i.i1.i.i125, ptr %arrayinit.element139, align 8 - %add.ptr.i.i.i130 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i125, i64 2 - %_M_end_of_storage.i.i.i131 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp136, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i130, ptr %_M_end_of_storage.i.i.i131, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i125, align 4 - %ref.tmp141.sroa.2.0.call5.i.i.i.i1.i.i125.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i125, i64 4 - store i32 2, ptr %ref.tmp141.sroa.2.0.call5.i.i.i.i1.i.i125.sroa_idx, align 4 - %_M_finish.i.i.i132 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp136, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i130, ptr %_M_finish.i.i.i132, align 8 + store ptr %call5.i.i.i.i1.i.i130, ptr %arrayinit.element139, align 8 + %add.ptr.i.i.i135 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i130, i64 8 + %_M_end_of_storage.i.i.i136 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp136, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i135, ptr %_M_end_of_storage.i.i.i136, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i130, align 4 + %ref.tmp141.sroa.2.0.call5.i.i.i.i1.i.i130.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i130, i64 4 + store i32 2, ptr %ref.tmp141.sroa.2.0.call5.i.i.i.i1.i.i130.sroa_idx, align 4 + %_M_finish.i.i.i138 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp136, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i135, ptr %_M_finish.i.i.i138, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element134, i8 0, i64 24, i1 false) - %add.ptr.i.i135 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp136, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element134, ptr noundef nonnull %ref.tmp136, ptr noundef nonnull %add.ptr.i.i135) - to label %invoke.cont160 unwind label %lpad.i136 + %add.ptr.i.i141 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp136, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element134, ptr noundef nonnull %ref.tmp136, ptr noundef nonnull %add.ptr.i.i141) + to label %invoke.cont160 unwind label %lpad.i142 -lpad.i136: ; preds = %invoke.cont148 +lpad.i142: ; preds = %invoke.cont148 %11 = landingpad { ptr, i32 } cleanup - %this.val.i137 = load ptr, ptr %arrayinit.element134, align 8 - %tobool.not.i.i.i138 = icmp eq ptr %this.val.i137, null - br i1 %tobool.not.i.i.i138, label %ehcleanup888, label %if.then.i.i.i139 + %this.val.i143 = load ptr, ptr %arrayinit.element134, align 8 + %tobool.not.i.i.i144 = icmp eq ptr %this.val.i143, null + br i1 %tobool.not.i.i.i144, label %ehcleanup888, label %if.then.i.i.i145 -if.then.i.i.i139: ; preds = %lpad.i136 - call void @_ZdlPv(ptr noundef nonnull %this.val.i137) #31 +if.then.i.i.i145: ; preds = %lpad.i142 + call void @_ZdlPv(ptr noundef nonnull %this.val.i143) #31 br label %ehcleanup888 invoke.cont160: ; preds = %invoke.cont148 %arrayinit.element161 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp163, i8 0, i64 48, i1 false) - %call5.i.i.i.i1.i.i143 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont175 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641 + %call5.i.i.i.i1.i.i149 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont175 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 invoke.cont175: ; preds = %invoke.cont160 %arrayinit.element166 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp163, i64 1 - store ptr %call5.i.i.i.i1.i.i143, ptr %arrayinit.element166, align 8 - %add.ptr.i.i.i148 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i143, i64 2 - %_M_end_of_storage.i.i.i149 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp163, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i148, ptr %_M_end_of_storage.i.i.i149, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i143, align 4 - %ref.tmp168.sroa.2.0.call5.i.i.i.i1.i.i143.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i143, i64 4 - store i32 1, ptr %ref.tmp168.sroa.2.0.call5.i.i.i.i1.i.i143.sroa_idx, align 4 - %_M_finish.i.i.i150 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp163, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i148, ptr %_M_finish.i.i.i150, align 8 + store ptr %call5.i.i.i.i1.i.i149, ptr %arrayinit.element166, align 8 + %add.ptr.i.i.i154 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i149, i64 8 + %_M_end_of_storage.i.i.i155 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp163, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i154, ptr %_M_end_of_storage.i.i.i155, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i149, align 4 + %ref.tmp168.sroa.2.0.call5.i.i.i.i1.i.i149.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i149, i64 4 + store i32 1, ptr %ref.tmp168.sroa.2.0.call5.i.i.i.i1.i.i149.sroa_idx, align 4 + %_M_finish.i.i.i157 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp163, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i154, ptr %_M_finish.i.i.i157, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element161, i8 0, i64 24, i1 false) - %add.ptr.i.i153 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp163, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element161, ptr noundef nonnull %ref.tmp163, ptr noundef nonnull %add.ptr.i.i153) - to label %invoke.cont187 unwind label %lpad.i154 + %add.ptr.i.i160 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp163, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element161, ptr noundef nonnull %ref.tmp163, ptr noundef nonnull %add.ptr.i.i160) + to label %invoke.cont187 unwind label %lpad.i161 -lpad.i154: ; preds = %invoke.cont175 +lpad.i161: ; preds = %invoke.cont175 %12 = landingpad { ptr, i32 } cleanup - %this.val.i155 = load ptr, ptr %arrayinit.element161, align 8 - %tobool.not.i.i.i156 = icmp eq ptr %this.val.i155, null - br i1 %tobool.not.i.i.i156, label %ehcleanup874, label %if.then.i.i.i157 + %this.val.i162 = load ptr, ptr %arrayinit.element161, align 8 + %tobool.not.i.i.i163 = icmp eq ptr %this.val.i162, null + br i1 %tobool.not.i.i.i163, label %ehcleanup874, label %if.then.i.i.i164 -if.then.i.i.i157: ; preds = %lpad.i154 - call void @_ZdlPv(ptr noundef nonnull %this.val.i155) #31 +if.then.i.i.i164: ; preds = %lpad.i161 + call void @_ZdlPv(ptr noundef nonnull %this.val.i162) #31 br label %ehcleanup874 invoke.cont187: ; preds = %invoke.cont175 %arrayinit.element188 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp190, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i161 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont201 unwind label %lpad.i.i162 + %call5.i.i.i.i1.i.i168 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont201 unwind label %lpad.i.i169 -lpad.i.i162: ; preds = %invoke.cont187 +lpad.i.i169: ; preds = %invoke.cont187 %13 = landingpad { ptr, i32 } cleanup br label %ehcleanup874 invoke.cont201: ; preds = %invoke.cont187 - store ptr %call5.i.i.i.i1.i.i161, ptr %ref.tmp190, align 8 - %add.ptr.i.i.i166 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i161, i64 2 - %_M_end_of_storage.i.i.i167 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp190, i64 0, i32 2 - store ptr %add.ptr.i.i.i166, ptr %_M_end_of_storage.i.i.i167, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i161, align 4 - %ref.tmp194.sroa.2.0.call5.i.i.i.i1.i.i161.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i161, i64 4 - store i32 2, ptr %ref.tmp194.sroa.2.0.call5.i.i.i.i1.i.i161.sroa_idx, align 4 - %_M_finish.i.i.i168 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp190, i64 0, i32 1 - store ptr %add.ptr.i.i.i166, ptr %_M_finish.i.i.i168, align 8 + store ptr %call5.i.i.i.i1.i.i168, ptr %ref.tmp190, align 8 + %add.ptr.i.i.i173 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i168, i64 8 + %_M_end_of_storage.i.i.i174 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp190, i64 0, i32 2 + store ptr %add.ptr.i.i.i173, ptr %_M_end_of_storage.i.i.i174, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i168, align 4 + %ref.tmp194.sroa.2.0.call5.i.i.i.i1.i.i168.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i168, i64 4 + store i32 2, ptr %ref.tmp194.sroa.2.0.call5.i.i.i.i1.i.i168.sroa_idx, align 4 + %_M_finish.i.i.i176 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp190, i64 0, i32 1 + store ptr %add.ptr.i.i.i173, ptr %_M_finish.i.i.i176, align 8 %arrayinit.element202 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp190, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element202, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element188, i8 0, i64 24, i1 false) - %add.ptr.i.i171 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp190, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element188, ptr noundef nonnull %ref.tmp190, ptr noundef nonnull %add.ptr.i.i171) - to label %invoke.cont214 unwind label %lpad.i172 + %add.ptr.i.i179 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp190, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element188, ptr noundef nonnull %ref.tmp190, ptr noundef nonnull %add.ptr.i.i179) + to label %invoke.cont214 unwind label %lpad.i180 -lpad.i172: ; preds = %invoke.cont201 +lpad.i180: ; preds = %invoke.cont201 %14 = landingpad { ptr, i32 } cleanup - %this.val.i173 = load ptr, ptr %arrayinit.element188, align 8 - %tobool.not.i.i.i174 = icmp eq ptr %this.val.i173, null - br i1 %tobool.not.i.i.i174, label %ehcleanup860, label %if.then.i.i.i175 + %this.val.i181 = load ptr, ptr %arrayinit.element188, align 8 + %tobool.not.i.i.i182 = icmp eq ptr %this.val.i181, null + br i1 %tobool.not.i.i.i182, label %ehcleanup860, label %if.then.i.i.i183 -if.then.i.i.i175: ; preds = %lpad.i172 - call void @_ZdlPv(ptr noundef nonnull %this.val.i173) #31 +if.then.i.i.i183: ; preds = %lpad.i180 + call void @_ZdlPv(ptr noundef nonnull %this.val.i181) #31 br label %ehcleanup860 invoke.cont214: ; preds = %invoke.cont201 %arrayinit.element215 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 10 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp217, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i179 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont228 unwind label %lpad.i.i180 + %call5.i.i.i.i1.i.i187 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont228 unwind label %lpad.i.i188 -lpad.i.i180: ; preds = %invoke.cont214 +lpad.i.i188: ; preds = %invoke.cont214 %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup860 invoke.cont228: ; preds = %invoke.cont214 - store ptr %call5.i.i.i.i1.i.i179, ptr %ref.tmp217, align 8 - %add.ptr.i.i.i184 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i179, i64 2 - %_M_end_of_storage.i.i.i185 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp217, i64 0, i32 2 - store ptr %add.ptr.i.i.i184, ptr %_M_end_of_storage.i.i.i185, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i179, align 4 - %ref.tmp221.sroa.2.0.call5.i.i.i.i1.i.i179.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i179, i64 4 - store i32 1, ptr %ref.tmp221.sroa.2.0.call5.i.i.i.i1.i.i179.sroa_idx, align 4 - %_M_finish.i.i.i186 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp217, i64 0, i32 1 - store ptr %add.ptr.i.i.i184, ptr %_M_finish.i.i.i186, align 8 + store ptr %call5.i.i.i.i1.i.i187, ptr %ref.tmp217, align 8 + %add.ptr.i.i.i192 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i187, i64 8 + %_M_end_of_storage.i.i.i193 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp217, i64 0, i32 2 + store ptr %add.ptr.i.i.i192, ptr %_M_end_of_storage.i.i.i193, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i187, align 4 + %ref.tmp221.sroa.2.0.call5.i.i.i.i1.i.i187.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i187, i64 4 + store i32 1, ptr %ref.tmp221.sroa.2.0.call5.i.i.i.i1.i.i187.sroa_idx, align 4 + %_M_finish.i.i.i195 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp217, i64 0, i32 1 + store ptr %add.ptr.i.i.i192, ptr %_M_finish.i.i.i195, align 8 %arrayinit.element229 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp217, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element229, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element215, i8 0, i64 24, i1 false) - %add.ptr.i.i189 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp217, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element215, ptr noundef nonnull %ref.tmp217, ptr noundef nonnull %add.ptr.i.i189) - to label %invoke.cont241 unwind label %lpad.i190 + %add.ptr.i.i198 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp217, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element215, ptr noundef nonnull %ref.tmp217, ptr noundef nonnull %add.ptr.i.i198) + to label %invoke.cont241 unwind label %lpad.i199 -lpad.i190: ; preds = %invoke.cont228 +lpad.i199: ; preds = %invoke.cont228 %16 = landingpad { ptr, i32 } cleanup - %this.val.i191 = load ptr, ptr %arrayinit.element215, align 8 - %tobool.not.i.i.i192 = icmp eq ptr %this.val.i191, null - br i1 %tobool.not.i.i.i192, label %ehcleanup846, label %if.then.i.i.i193 + %this.val.i200 = load ptr, ptr %arrayinit.element215, align 8 + %tobool.not.i.i.i201 = icmp eq ptr %this.val.i200, null + br i1 %tobool.not.i.i.i201, label %ehcleanup846, label %if.then.i.i.i202 -if.then.i.i.i193: ; preds = %lpad.i190 - call void @_ZdlPv(ptr noundef nonnull %this.val.i191) #31 +if.then.i.i.i202: ; preds = %lpad.i199 + call void @_ZdlPv(ptr noundef nonnull %this.val.i200) #31 br label %ehcleanup846 invoke.cont241: ; preds = %invoke.cont228 %arrayinit.element242 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp244, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i197 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont255 unwind label %lpad.i.i198 + %call5.i.i.i.i1.i.i206 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont255 unwind label %lpad.i.i207 -lpad.i.i198: ; preds = %invoke.cont241 +lpad.i.i207: ; preds = %invoke.cont241 %17 = landingpad { ptr, i32 } cleanup br label %ehcleanup846 invoke.cont255: ; preds = %invoke.cont241 - store ptr %call5.i.i.i.i1.i.i197, ptr %ref.tmp244, align 8 - %add.ptr.i.i.i202 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i197, i64 2 - %_M_end_of_storage.i.i.i203 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp244, i64 0, i32 2 - store ptr %add.ptr.i.i.i202, ptr %_M_end_of_storage.i.i.i203, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i197, align 4 - %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i197.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i197, i64 4 - store i32 2, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i197.sroa_idx, align 4 - %_M_finish.i.i.i204 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp244, i64 0, i32 1 - store ptr %add.ptr.i.i.i202, ptr %_M_finish.i.i.i204, align 8 + store ptr %call5.i.i.i.i1.i.i206, ptr %ref.tmp244, align 8 + %add.ptr.i.i.i211 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i206, i64 8 + %_M_end_of_storage.i.i.i212 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp244, i64 0, i32 2 + store ptr %add.ptr.i.i.i211, ptr %_M_end_of_storage.i.i.i212, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i206, align 4 + %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i206.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i206, i64 4 + store i32 2, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i206.sroa_idx, align 4 + %_M_finish.i.i.i214 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp244, i64 0, i32 1 + store ptr %add.ptr.i.i.i211, ptr %_M_finish.i.i.i214, align 8 %arrayinit.element256 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp244, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element256, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i207 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont264 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644 + %call5.i.i.i.i1.i.i217 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont264 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 invoke.cont264: ; preds = %invoke.cont255 - store ptr %call5.i.i.i.i1.i.i207, ptr %arrayinit.element256, align 8 - %add.ptr.i.i.i212 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i207, i64 2 - %_M_end_of_storage.i.i.i213 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp244, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i212, ptr %_M_end_of_storage.i.i.i213, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i207, align 4 - %ref.tmp258.sroa.2.0.call5.i.i.i.i1.i.i207.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i207, i64 4 - store i32 4, ptr %ref.tmp258.sroa.2.0.call5.i.i.i.i1.i.i207.sroa_idx, align 4 - %_M_finish.i.i.i214 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp244, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i212, ptr %_M_finish.i.i.i214, align 8 + store ptr %call5.i.i.i.i1.i.i217, ptr %arrayinit.element256, align 8 + %add.ptr.i.i.i222 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i217, i64 8 + %_M_end_of_storage.i.i.i223 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp244, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i222, ptr %_M_end_of_storage.i.i.i223, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i217, align 4 + %ref.tmp258.sroa.2.0.call5.i.i.i.i1.i.i217.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i217, i64 4 + store i32 4, ptr %ref.tmp258.sroa.2.0.call5.i.i.i.i1.i.i217.sroa_idx, align 4 + %_M_finish.i.i.i225 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp244, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i222, ptr %_M_finish.i.i.i225, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element242, i8 0, i64 24, i1 false) - %add.ptr.i.i218 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp244, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element242, ptr noundef nonnull %ref.tmp244, ptr noundef nonnull %add.ptr.i.i218) - to label %invoke.cont276 unwind label %lpad.i219 + %add.ptr.i.i229 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp244, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element242, ptr noundef nonnull %ref.tmp244, ptr noundef nonnull %add.ptr.i.i229) + to label %invoke.cont276 unwind label %lpad.i230 -lpad.i219: ; preds = %invoke.cont264 +lpad.i230: ; preds = %invoke.cont264 %18 = landingpad { ptr, i32 } cleanup - %this.val.i220 = load ptr, ptr %arrayinit.element242, align 8 - %tobool.not.i.i.i221 = icmp eq ptr %this.val.i220, null - br i1 %tobool.not.i.i.i221, label %ehcleanup832, label %if.then.i.i.i222 + %this.val.i231 = load ptr, ptr %arrayinit.element242, align 8 + %tobool.not.i.i.i232 = icmp eq ptr %this.val.i231, null + br i1 %tobool.not.i.i.i232, label %ehcleanup832, label %if.then.i.i.i233 -if.then.i.i.i222: ; preds = %lpad.i219 - call void @_ZdlPv(ptr noundef nonnull %this.val.i220) #31 +if.then.i.i.i233: ; preds = %lpad.i230 + call void @_ZdlPv(ptr noundef nonnull %this.val.i231) #31 br label %ehcleanup832 invoke.cont276: ; preds = %invoke.cont264 %arrayinit.element277 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp279, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i226 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont290 unwind label %lpad.i.i227 + %call5.i.i.i.i1.i.i237 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont290 unwind label %lpad.i.i238 -lpad.i.i227: ; preds = %invoke.cont276 +lpad.i.i238: ; preds = %invoke.cont276 %19 = landingpad { ptr, i32 } cleanup br label %ehcleanup832 invoke.cont290: ; preds = %invoke.cont276 - store ptr %call5.i.i.i.i1.i.i226, ptr %ref.tmp279, align 8 - %add.ptr.i.i.i231 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i226, i64 2 - %_M_end_of_storage.i.i.i232 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp279, i64 0, i32 2 - store ptr %add.ptr.i.i.i231, ptr %_M_end_of_storage.i.i.i232, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i226, align 4 - %ref.tmp283.sroa.2.0.call5.i.i.i.i1.i.i226.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i226, i64 4 - store i32 2, ptr %ref.tmp283.sroa.2.0.call5.i.i.i.i1.i.i226.sroa_idx, align 4 - %_M_finish.i.i.i233 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp279, i64 0, i32 1 - store ptr %add.ptr.i.i.i231, ptr %_M_finish.i.i.i233, align 8 + store ptr %call5.i.i.i.i1.i.i237, ptr %ref.tmp279, align 8 + %add.ptr.i.i.i242 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i237, i64 8 + %_M_end_of_storage.i.i.i243 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp279, i64 0, i32 2 + store ptr %add.ptr.i.i.i242, ptr %_M_end_of_storage.i.i.i243, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i237, align 4 + %ref.tmp283.sroa.2.0.call5.i.i.i.i1.i.i237.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i237, i64 4 + store i32 2, ptr %ref.tmp283.sroa.2.0.call5.i.i.i.i1.i.i237.sroa_idx, align 4 + %_M_finish.i.i.i245 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp279, i64 0, i32 1 + store ptr %add.ptr.i.i.i242, ptr %_M_finish.i.i.i245, align 8 %arrayinit.element291 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp279, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element291, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i236 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont299 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647 + %call5.i.i.i.i1.i.i248 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont299 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 invoke.cont299: ; preds = %invoke.cont290 - store ptr %call5.i.i.i.i1.i.i236, ptr %arrayinit.element291, align 8 - %add.ptr.i.i.i241 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i236, i64 2 - %_M_end_of_storage.i.i.i242 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp279, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i241, ptr %_M_end_of_storage.i.i.i242, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i236, align 4 - %ref.tmp293.sroa.2.0.call5.i.i.i.i1.i.i236.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i236, i64 4 - store i32 3, ptr %ref.tmp293.sroa.2.0.call5.i.i.i.i1.i.i236.sroa_idx, align 4 - %_M_finish.i.i.i243 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp279, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i241, ptr %_M_finish.i.i.i243, align 8 + store ptr %call5.i.i.i.i1.i.i248, ptr %arrayinit.element291, align 8 + %add.ptr.i.i.i253 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i248, i64 8 + %_M_end_of_storage.i.i.i254 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp279, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i253, ptr %_M_end_of_storage.i.i.i254, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i248, align 4 + %ref.tmp293.sroa.2.0.call5.i.i.i.i1.i.i248.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i248, i64 4 + store i32 3, ptr %ref.tmp293.sroa.2.0.call5.i.i.i.i1.i.i248.sroa_idx, align 4 + %_M_finish.i.i.i256 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp279, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i253, ptr %_M_finish.i.i.i256, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element277, i8 0, i64 24, i1 false) - %add.ptr.i.i247 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp279, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element277, ptr noundef nonnull %ref.tmp279, ptr noundef nonnull %add.ptr.i.i247) - to label %invoke.cont311 unwind label %lpad.i248 + %add.ptr.i.i260 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp279, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element277, ptr noundef nonnull %ref.tmp279, ptr noundef nonnull %add.ptr.i.i260) + to label %invoke.cont311 unwind label %lpad.i261 -lpad.i248: ; preds = %invoke.cont299 +lpad.i261: ; preds = %invoke.cont299 %20 = landingpad { ptr, i32 } cleanup - %this.val.i249 = load ptr, ptr %arrayinit.element277, align 8 - %tobool.not.i.i.i250 = icmp eq ptr %this.val.i249, null - br i1 %tobool.not.i.i.i250, label %ehcleanup818, label %if.then.i.i.i251 + %this.val.i262 = load ptr, ptr %arrayinit.element277, align 8 + %tobool.not.i.i.i263 = icmp eq ptr %this.val.i262, null + br i1 %tobool.not.i.i.i263, label %ehcleanup818, label %if.then.i.i.i264 -if.then.i.i.i251: ; preds = %lpad.i248 - call void @_ZdlPv(ptr noundef nonnull %this.val.i249) #31 +if.then.i.i.i264: ; preds = %lpad.i261 + call void @_ZdlPv(ptr noundef nonnull %this.val.i262) #31 br label %ehcleanup818 invoke.cont311: ; preds = %invoke.cont299 %arrayinit.element312 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 13 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp314, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i255 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont325 unwind label %lpad.i.i256 + %call5.i.i.i.i1.i.i268 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont325 unwind label %lpad.i.i269 -lpad.i.i256: ; preds = %invoke.cont311 +lpad.i.i269: ; preds = %invoke.cont311 %21 = landingpad { ptr, i32 } cleanup br label %ehcleanup818 invoke.cont325: ; preds = %invoke.cont311 - store ptr %call5.i.i.i.i1.i.i255, ptr %ref.tmp314, align 8 - %add.ptr.i.i.i260 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i255, i64 2 - %_M_end_of_storage.i.i.i261 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp314, i64 0, i32 2 - store ptr %add.ptr.i.i.i260, ptr %_M_end_of_storage.i.i.i261, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i255, align 4 - %ref.tmp318.sroa.2.0.call5.i.i.i.i1.i.i255.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i255, i64 4 - store i32 3, ptr %ref.tmp318.sroa.2.0.call5.i.i.i.i1.i.i255.sroa_idx, align 4 - %_M_finish.i.i.i262 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp314, i64 0, i32 1 - store ptr %add.ptr.i.i.i260, ptr %_M_finish.i.i.i262, align 8 + store ptr %call5.i.i.i.i1.i.i268, ptr %ref.tmp314, align 8 + %add.ptr.i.i.i273 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i268, i64 8 + %_M_end_of_storage.i.i.i274 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp314, i64 0, i32 2 + store ptr %add.ptr.i.i.i273, ptr %_M_end_of_storage.i.i.i274, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i268, align 4 + %ref.tmp318.sroa.2.0.call5.i.i.i.i1.i.i268.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i268, i64 4 + store i32 3, ptr %ref.tmp318.sroa.2.0.call5.i.i.i.i1.i.i268.sroa_idx, align 4 + %_M_finish.i.i.i276 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp314, i64 0, i32 1 + store ptr %add.ptr.i.i.i273, ptr %_M_finish.i.i.i276, align 8 %arrayinit.element326 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp314, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element326, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i265 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont334 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650 + %call5.i.i.i.i1.i.i279 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont334 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 invoke.cont334: ; preds = %invoke.cont325 - store ptr %call5.i.i.i.i1.i.i265, ptr %arrayinit.element326, align 8 - %add.ptr.i.i.i270 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i265, i64 2 - %_M_end_of_storage.i.i.i271 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp314, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i270, ptr %_M_end_of_storage.i.i.i271, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i265, align 4 - %ref.tmp328.sroa.2.0.call5.i.i.i.i1.i.i265.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i265, i64 4 - store i32 4, ptr %ref.tmp328.sroa.2.0.call5.i.i.i.i1.i.i265.sroa_idx, align 4 - %_M_finish.i.i.i272 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp314, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i270, ptr %_M_finish.i.i.i272, align 8 + store ptr %call5.i.i.i.i1.i.i279, ptr %arrayinit.element326, align 8 + %add.ptr.i.i.i284 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i279, i64 8 + %_M_end_of_storage.i.i.i285 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp314, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i284, ptr %_M_end_of_storage.i.i.i285, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i279, align 4 + %ref.tmp328.sroa.2.0.call5.i.i.i.i1.i.i279.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i279, i64 4 + store i32 4, ptr %ref.tmp328.sroa.2.0.call5.i.i.i.i1.i.i279.sroa_idx, align 4 + %_M_finish.i.i.i287 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp314, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i284, ptr %_M_finish.i.i.i287, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element312, i8 0, i64 24, i1 false) - %add.ptr.i.i276 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp314, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element312, ptr noundef nonnull %ref.tmp314, ptr noundef nonnull %add.ptr.i.i276) - to label %invoke.cont346 unwind label %lpad.i277 + %add.ptr.i.i291 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp314, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element312, ptr noundef nonnull %ref.tmp314, ptr noundef nonnull %add.ptr.i.i291) + to label %invoke.cont346 unwind label %lpad.i292 -lpad.i277: ; preds = %invoke.cont334 +lpad.i292: ; preds = %invoke.cont334 %22 = landingpad { ptr, i32 } cleanup - %this.val.i278 = load ptr, ptr %arrayinit.element312, align 8 - %tobool.not.i.i.i279 = icmp eq ptr %this.val.i278, null - br i1 %tobool.not.i.i.i279, label %ehcleanup804, label %if.then.i.i.i280 + %this.val.i293 = load ptr, ptr %arrayinit.element312, align 8 + %tobool.not.i.i.i294 = icmp eq ptr %this.val.i293, null + br i1 %tobool.not.i.i.i294, label %ehcleanup804, label %if.then.i.i.i295 -if.then.i.i.i280: ; preds = %lpad.i277 - call void @_ZdlPv(ptr noundef nonnull %this.val.i278) #31 +if.then.i.i.i295: ; preds = %lpad.i292 + call void @_ZdlPv(ptr noundef nonnull %this.val.i293) #31 br label %ehcleanup804 invoke.cont346: ; preds = %invoke.cont334 %arrayinit.element347 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 14 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp349, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i284 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont360 unwind label %lpad.i.i285 + %call5.i.i.i.i1.i.i299 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont360 unwind label %lpad.i.i300 -lpad.i.i285: ; preds = %invoke.cont346 +lpad.i.i300: ; preds = %invoke.cont346 %23 = landingpad { ptr, i32 } cleanup br label %ehcleanup804 invoke.cont360: ; preds = %invoke.cont346 - store ptr %call5.i.i.i.i1.i.i284, ptr %ref.tmp349, align 8 - %add.ptr.i.i.i289 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i284, i64 2 - %_M_end_of_storage.i.i.i290 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp349, i64 0, i32 2 - store ptr %add.ptr.i.i.i289, ptr %_M_end_of_storage.i.i.i290, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i284, align 4 - %ref.tmp353.sroa.2.0.call5.i.i.i.i1.i.i284.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i284, i64 4 - store i32 3, ptr %ref.tmp353.sroa.2.0.call5.i.i.i.i1.i.i284.sroa_idx, align 4 - %_M_finish.i.i.i291 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp349, i64 0, i32 1 - store ptr %add.ptr.i.i.i289, ptr %_M_finish.i.i.i291, align 8 + store ptr %call5.i.i.i.i1.i.i299, ptr %ref.tmp349, align 8 + %add.ptr.i.i.i304 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i299, i64 8 + %_M_end_of_storage.i.i.i305 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp349, i64 0, i32 2 + store ptr %add.ptr.i.i.i304, ptr %_M_end_of_storage.i.i.i305, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i299, align 4 + %ref.tmp353.sroa.2.0.call5.i.i.i.i1.i.i299.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i299, i64 4 + store i32 3, ptr %ref.tmp353.sroa.2.0.call5.i.i.i.i1.i.i299.sroa_idx, align 4 + %_M_finish.i.i.i307 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp349, i64 0, i32 1 + store ptr %add.ptr.i.i.i304, ptr %_M_finish.i.i.i307, align 8 %arrayinit.element361 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp349, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element361, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i294 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont369 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653 + %call5.i.i.i.i1.i.i310 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont369 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 invoke.cont369: ; preds = %invoke.cont360 - store ptr %call5.i.i.i.i1.i.i294, ptr %arrayinit.element361, align 8 - %add.ptr.i.i.i299 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i294, i64 2 - %_M_end_of_storage.i.i.i300 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp349, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i299, ptr %_M_end_of_storage.i.i.i300, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i294, align 4 - %ref.tmp363.sroa.2.0.call5.i.i.i.i1.i.i294.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i294, i64 4 - store i32 2, ptr %ref.tmp363.sroa.2.0.call5.i.i.i.i1.i.i294.sroa_idx, align 4 - %_M_finish.i.i.i301 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp349, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i299, ptr %_M_finish.i.i.i301, align 8 + store ptr %call5.i.i.i.i1.i.i310, ptr %arrayinit.element361, align 8 + %add.ptr.i.i.i315 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i310, i64 8 + %_M_end_of_storage.i.i.i316 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp349, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i315, ptr %_M_end_of_storage.i.i.i316, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i310, align 4 + %ref.tmp363.sroa.2.0.call5.i.i.i.i1.i.i310.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i310, i64 4 + store i32 2, ptr %ref.tmp363.sroa.2.0.call5.i.i.i.i1.i.i310.sroa_idx, align 4 + %_M_finish.i.i.i318 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp349, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i315, ptr %_M_finish.i.i.i318, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element347, i8 0, i64 24, i1 false) - %add.ptr.i.i305 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp349, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element347, ptr noundef nonnull %ref.tmp349, ptr noundef nonnull %add.ptr.i.i305) - to label %invoke.cont381 unwind label %lpad.i306 + %add.ptr.i.i322 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp349, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element347, ptr noundef nonnull %ref.tmp349, ptr noundef nonnull %add.ptr.i.i322) + to label %invoke.cont381 unwind label %lpad.i323 -lpad.i306: ; preds = %invoke.cont369 +lpad.i323: ; preds = %invoke.cont369 %24 = landingpad { ptr, i32 } cleanup - %this.val.i307 = load ptr, ptr %arrayinit.element347, align 8 - %tobool.not.i.i.i308 = icmp eq ptr %this.val.i307, null - br i1 %tobool.not.i.i.i308, label %ehcleanup790, label %if.then.i.i.i309 + %this.val.i324 = load ptr, ptr %arrayinit.element347, align 8 + %tobool.not.i.i.i325 = icmp eq ptr %this.val.i324, null + br i1 %tobool.not.i.i.i325, label %ehcleanup790, label %if.then.i.i.i326 -if.then.i.i.i309: ; preds = %lpad.i306 - call void @_ZdlPv(ptr noundef nonnull %this.val.i307) #31 +if.then.i.i.i326: ; preds = %lpad.i323 + call void @_ZdlPv(ptr noundef nonnull %this.val.i324) #31 br label %ehcleanup790 invoke.cont381: ; preds = %invoke.cont369 %arrayinit.element382 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 15 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp384, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i313 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont395 unwind label %lpad.i.i314 + %call5.i.i.i.i1.i.i330 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont395 unwind label %lpad.i.i331 -lpad.i.i314: ; preds = %invoke.cont381 +lpad.i.i331: ; preds = %invoke.cont381 %25 = landingpad { ptr, i32 } cleanup br label %ehcleanup790 invoke.cont395: ; preds = %invoke.cont381 - store ptr %call5.i.i.i.i1.i.i313, ptr %ref.tmp384, align 8 - %add.ptr.i.i.i318 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i313, i64 2 - %_M_end_of_storage.i.i.i319 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp384, i64 0, i32 2 - store ptr %add.ptr.i.i.i318, ptr %_M_end_of_storage.i.i.i319, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i313, align 4 - %ref.tmp388.sroa.2.0.call5.i.i.i.i1.i.i313.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i313, i64 4 - store i32 4, ptr %ref.tmp388.sroa.2.0.call5.i.i.i.i1.i.i313.sroa_idx, align 4 - %_M_finish.i.i.i320 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp384, i64 0, i32 1 - store ptr %add.ptr.i.i.i318, ptr %_M_finish.i.i.i320, align 8 + store ptr %call5.i.i.i.i1.i.i330, ptr %ref.tmp384, align 8 + %add.ptr.i.i.i335 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i330, i64 8 + %_M_end_of_storage.i.i.i336 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp384, i64 0, i32 2 + store ptr %add.ptr.i.i.i335, ptr %_M_end_of_storage.i.i.i336, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i330, align 4 + %ref.tmp388.sroa.2.0.call5.i.i.i.i1.i.i330.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i330, i64 4 + store i32 4, ptr %ref.tmp388.sroa.2.0.call5.i.i.i.i1.i.i330.sroa_idx, align 4 + %_M_finish.i.i.i338 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp384, i64 0, i32 1 + store ptr %add.ptr.i.i.i335, ptr %_M_finish.i.i.i338, align 8 %arrayinit.element396 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp384, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element396, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i323 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont404 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656 + %call5.i.i.i.i1.i.i341 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont404 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 invoke.cont404: ; preds = %invoke.cont395 - store ptr %call5.i.i.i.i1.i.i323, ptr %arrayinit.element396, align 8 - %add.ptr.i.i.i328 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i323, i64 2 - %_M_end_of_storage.i.i.i329 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp384, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i328, ptr %_M_end_of_storage.i.i.i329, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i323, align 4 - %ref.tmp398.sroa.2.0.call5.i.i.i.i1.i.i323.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i323, i64 4 - store i32 3, ptr %ref.tmp398.sroa.2.0.call5.i.i.i.i1.i.i323.sroa_idx, align 4 - %_M_finish.i.i.i330 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp384, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i328, ptr %_M_finish.i.i.i330, align 8 + store ptr %call5.i.i.i.i1.i.i341, ptr %arrayinit.element396, align 8 + %add.ptr.i.i.i346 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i341, i64 8 + %_M_end_of_storage.i.i.i347 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp384, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i346, ptr %_M_end_of_storage.i.i.i347, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i341, align 4 + %ref.tmp398.sroa.2.0.call5.i.i.i.i1.i.i341.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i341, i64 4 + store i32 3, ptr %ref.tmp398.sroa.2.0.call5.i.i.i.i1.i.i341.sroa_idx, align 4 + %_M_finish.i.i.i349 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp384, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i346, ptr %_M_finish.i.i.i349, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, i8 0, i64 24, i1 false) - %add.ptr.i.i334 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp384, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, ptr noundef nonnull %ref.tmp384, ptr noundef nonnull %add.ptr.i.i334) - to label %invoke.cont416 unwind label %lpad.i335 + %add.ptr.i.i353 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp384, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, ptr noundef nonnull %ref.tmp384, ptr noundef nonnull %add.ptr.i.i353) + to label %invoke.cont416 unwind label %lpad.i354 -lpad.i335: ; preds = %invoke.cont404 +lpad.i354: ; preds = %invoke.cont404 %26 = landingpad { ptr, i32 } cleanup - %this.val.i336 = load ptr, ptr %arrayinit.element382, align 8 - %tobool.not.i.i.i337 = icmp eq ptr %this.val.i336, null - br i1 %tobool.not.i.i.i337, label %ehcleanup776, label %if.then.i.i.i338 + %this.val.i355 = load ptr, ptr %arrayinit.element382, align 8 + %tobool.not.i.i.i356 = icmp eq ptr %this.val.i355, null + br i1 %tobool.not.i.i.i356, label %ehcleanup776, label %if.then.i.i.i357 -if.then.i.i.i338: ; preds = %lpad.i335 - call void @_ZdlPv(ptr noundef nonnull %this.val.i336) #31 +if.then.i.i.i357: ; preds = %lpad.i354 + call void @_ZdlPv(ptr noundef nonnull %this.val.i355) #31 br label %ehcleanup776 invoke.cont416: ; preds = %invoke.cont404 %arrayinit.element417 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp419, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i342 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont430 unwind label %lpad.i.i343 + %call5.i.i.i.i1.i.i361 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont430 unwind label %lpad.i.i362 -lpad.i.i343: ; preds = %invoke.cont416 +lpad.i.i362: ; preds = %invoke.cont416 %27 = landingpad { ptr, i32 } cleanup br label %ehcleanup776 invoke.cont430: ; preds = %invoke.cont416 - store ptr %call5.i.i.i.i1.i.i342, ptr %ref.tmp419, align 8 - %add.ptr.i.i.i347 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i342, i64 2 - %_M_end_of_storage.i.i.i348 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp419, i64 0, i32 2 - store ptr %add.ptr.i.i.i347, ptr %_M_end_of_storage.i.i.i348, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i342, align 4 - %ref.tmp423.sroa.2.0.call5.i.i.i.i1.i.i342.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i342, i64 4 - store i32 4, ptr %ref.tmp423.sroa.2.0.call5.i.i.i.i1.i.i342.sroa_idx, align 4 - %_M_finish.i.i.i349 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp419, i64 0, i32 1 - store ptr %add.ptr.i.i.i347, ptr %_M_finish.i.i.i349, align 8 + store ptr %call5.i.i.i.i1.i.i361, ptr %ref.tmp419, align 8 + %add.ptr.i.i.i366 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i361, i64 8 + %_M_end_of_storage.i.i.i367 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp419, i64 0, i32 2 + store ptr %add.ptr.i.i.i366, ptr %_M_end_of_storage.i.i.i367, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i361, align 4 + %ref.tmp423.sroa.2.0.call5.i.i.i.i1.i.i361.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i361, i64 4 + store i32 4, ptr %ref.tmp423.sroa.2.0.call5.i.i.i.i1.i.i361.sroa_idx, align 4 + %_M_finish.i.i.i369 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp419, i64 0, i32 1 + store ptr %add.ptr.i.i.i366, ptr %_M_finish.i.i.i369, align 8 %arrayinit.element431 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp419, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element431, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i352 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont439 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659 + %call5.i.i.i.i1.i.i372 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont439 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 invoke.cont439: ; preds = %invoke.cont430 - store ptr %call5.i.i.i.i1.i.i352, ptr %arrayinit.element431, align 8 - %add.ptr.i.i.i357 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i352, i64 2 - %_M_end_of_storage.i.i.i358 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp419, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i357, ptr %_M_end_of_storage.i.i.i358, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i352, align 4 - %ref.tmp433.sroa.2.0.call5.i.i.i.i1.i.i352.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i352, i64 4 - store i32 2, ptr %ref.tmp433.sroa.2.0.call5.i.i.i.i1.i.i352.sroa_idx, align 4 - %_M_finish.i.i.i359 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp419, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i357, ptr %_M_finish.i.i.i359, align 8 + store ptr %call5.i.i.i.i1.i.i372, ptr %arrayinit.element431, align 8 + %add.ptr.i.i.i377 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i372, i64 8 + %_M_end_of_storage.i.i.i378 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp419, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i377, ptr %_M_end_of_storage.i.i.i378, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i372, align 4 + %ref.tmp433.sroa.2.0.call5.i.i.i.i1.i.i372.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i372, i64 4 + store i32 2, ptr %ref.tmp433.sroa.2.0.call5.i.i.i.i1.i.i372.sroa_idx, align 4 + %_M_finish.i.i.i380 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp419, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i377, ptr %_M_finish.i.i.i380, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element417, i8 0, i64 24, i1 false) - %add.ptr.i.i363 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp419, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element417, ptr noundef nonnull %ref.tmp419, ptr noundef nonnull %add.ptr.i.i363) - to label %invoke.cont451 unwind label %lpad.i364 + %add.ptr.i.i384 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp419, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element417, ptr noundef nonnull %ref.tmp419, ptr noundef nonnull %add.ptr.i.i384) + to label %invoke.cont451 unwind label %lpad.i385 -lpad.i364: ; preds = %invoke.cont439 +lpad.i385: ; preds = %invoke.cont439 %28 = landingpad { ptr, i32 } cleanup - %this.val.i365 = load ptr, ptr %arrayinit.element417, align 8 - %tobool.not.i.i.i366 = icmp eq ptr %this.val.i365, null - br i1 %tobool.not.i.i.i366, label %ehcleanup762, label %if.then.i.i.i367 + %this.val.i386 = load ptr, ptr %arrayinit.element417, align 8 + %tobool.not.i.i.i387 = icmp eq ptr %this.val.i386, null + br i1 %tobool.not.i.i.i387, label %ehcleanup762, label %if.then.i.i.i388 -if.then.i.i.i367: ; preds = %lpad.i364 - call void @_ZdlPv(ptr noundef nonnull %this.val.i365) #31 +if.then.i.i.i388: ; preds = %lpad.i385 + call void @_ZdlPv(ptr noundef nonnull %this.val.i386) #31 br label %ehcleanup762 invoke.cont451: ; preds = %invoke.cont439 %arrayinit.element452 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 17 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp454, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i371 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont465 unwind label %lpad.i.i372 + %call5.i.i.i.i1.i.i392 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont465 unwind label %lpad.i.i393 -lpad.i.i372: ; preds = %invoke.cont451 +lpad.i.i393: ; preds = %invoke.cont451 %29 = landingpad { ptr, i32 } cleanup br label %ehcleanup762 invoke.cont465: ; preds = %invoke.cont451 - store ptr %call5.i.i.i.i1.i.i371, ptr %ref.tmp454, align 8 - %add.ptr.i.i.i376 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i371, i64 2 - %_M_end_of_storage.i.i.i377 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp454, i64 0, i32 2 - store ptr %add.ptr.i.i.i376, ptr %_M_end_of_storage.i.i.i377, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i371, align 4 - %ref.tmp458.sroa.2.0.call5.i.i.i.i1.i.i371.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i371, i64 4 - store i32 3, ptr %ref.tmp458.sroa.2.0.call5.i.i.i.i1.i.i371.sroa_idx, align 4 - %_M_finish.i.i.i378 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp454, i64 0, i32 1 - store ptr %add.ptr.i.i.i376, ptr %_M_finish.i.i.i378, align 8 + store ptr %call5.i.i.i.i1.i.i392, ptr %ref.tmp454, align 8 + %add.ptr.i.i.i397 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i392, i64 8 + %_M_end_of_storage.i.i.i398 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp454, i64 0, i32 2 + store ptr %add.ptr.i.i.i397, ptr %_M_end_of_storage.i.i.i398, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i392, align 4 + %ref.tmp458.sroa.2.0.call5.i.i.i.i1.i.i392.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i392, i64 4 + store i32 3, ptr %ref.tmp458.sroa.2.0.call5.i.i.i.i1.i.i392.sroa_idx, align 4 + %_M_finish.i.i.i400 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp454, i64 0, i32 1 + store ptr %add.ptr.i.i.i397, ptr %_M_finish.i.i.i400, align 8 %arrayinit.element466 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp454, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element466, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i381 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont474 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662 + %call5.i.i.i.i1.i.i403 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont474 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 invoke.cont474: ; preds = %invoke.cont465 - store ptr %call5.i.i.i.i1.i.i381, ptr %arrayinit.element466, align 8 - %add.ptr.i.i.i386 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i381, i64 2 - %_M_end_of_storage.i.i.i387 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp454, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i386, ptr %_M_end_of_storage.i.i.i387, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i381, align 4 - %ref.tmp468.sroa.2.0.call5.i.i.i.i1.i.i381.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i381, i64 4 - store i32 4, ptr %ref.tmp468.sroa.2.0.call5.i.i.i.i1.i.i381.sroa_idx, align 4 - %_M_finish.i.i.i388 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp454, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i386, ptr %_M_finish.i.i.i388, align 8 + store ptr %call5.i.i.i.i1.i.i403, ptr %arrayinit.element466, align 8 + %add.ptr.i.i.i408 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i403, i64 8 + %_M_end_of_storage.i.i.i409 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp454, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i408, ptr %_M_end_of_storage.i.i.i409, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i403, align 4 + %ref.tmp468.sroa.2.0.call5.i.i.i.i1.i.i403.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i403, i64 4 + store i32 4, ptr %ref.tmp468.sroa.2.0.call5.i.i.i.i1.i.i403.sroa_idx, align 4 + %_M_finish.i.i.i411 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp454, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i408, ptr %_M_finish.i.i.i411, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element452, i8 0, i64 24, i1 false) - %add.ptr.i.i392 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp454, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element452, ptr noundef nonnull %ref.tmp454, ptr noundef nonnull %add.ptr.i.i392) - to label %invoke.cont486 unwind label %lpad.i393 + %add.ptr.i.i415 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp454, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element452, ptr noundef nonnull %ref.tmp454, ptr noundef nonnull %add.ptr.i.i415) + to label %invoke.cont486 unwind label %lpad.i416 -lpad.i393: ; preds = %invoke.cont474 +lpad.i416: ; preds = %invoke.cont474 %30 = landingpad { ptr, i32 } cleanup - %this.val.i394 = load ptr, ptr %arrayinit.element452, align 8 - %tobool.not.i.i.i395 = icmp eq ptr %this.val.i394, null - br i1 %tobool.not.i.i.i395, label %ehcleanup748, label %if.then.i.i.i396 + %this.val.i417 = load ptr, ptr %arrayinit.element452, align 8 + %tobool.not.i.i.i418 = icmp eq ptr %this.val.i417, null + br i1 %tobool.not.i.i.i418, label %ehcleanup748, label %if.then.i.i.i419 -if.then.i.i.i396: ; preds = %lpad.i393 - call void @_ZdlPv(ptr noundef nonnull %this.val.i394) #31 +if.then.i.i.i419: ; preds = %lpad.i416 + call void @_ZdlPv(ptr noundef nonnull %this.val.i417) #31 br label %ehcleanup748 invoke.cont486: ; preds = %invoke.cont474 %arrayinit.element487 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp489, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i400 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont500 unwind label %lpad.i.i401 + %call5.i.i.i.i1.i.i423 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont500 unwind label %lpad.i.i424 -lpad.i.i401: ; preds = %invoke.cont486 +lpad.i.i424: ; preds = %invoke.cont486 %31 = landingpad { ptr, i32 } cleanup br label %ehcleanup748 invoke.cont500: ; preds = %invoke.cont486 - store ptr %call5.i.i.i.i1.i.i400, ptr %ref.tmp489, align 8 - %add.ptr.i.i.i405 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i400, i64 2 - %_M_end_of_storage.i.i.i406 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp489, i64 0, i32 2 - store ptr %add.ptr.i.i.i405, ptr %_M_end_of_storage.i.i.i406, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i400, align 4 - %ref.tmp493.sroa.2.0.call5.i.i.i.i1.i.i400.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i400, i64 4 - store i32 3, ptr %ref.tmp493.sroa.2.0.call5.i.i.i.i1.i.i400.sroa_idx, align 4 - %_M_finish.i.i.i407 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp489, i64 0, i32 1 - store ptr %add.ptr.i.i.i405, ptr %_M_finish.i.i.i407, align 8 + store ptr %call5.i.i.i.i1.i.i423, ptr %ref.tmp489, align 8 + %add.ptr.i.i.i428 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i423, i64 8 + %_M_end_of_storage.i.i.i429 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp489, i64 0, i32 2 + store ptr %add.ptr.i.i.i428, ptr %_M_end_of_storage.i.i.i429, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i423, align 4 + %ref.tmp493.sroa.2.0.call5.i.i.i.i1.i.i423.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i423, i64 4 + store i32 3, ptr %ref.tmp493.sroa.2.0.call5.i.i.i.i1.i.i423.sroa_idx, align 4 + %_M_finish.i.i.i431 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp489, i64 0, i32 1 + store ptr %add.ptr.i.i.i428, ptr %_M_finish.i.i.i431, align 8 %arrayinit.element501 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp489, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element501, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i410 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont509 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 + %call5.i.i.i.i1.i.i434 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont509 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 invoke.cont509: ; preds = %invoke.cont500 - store ptr %call5.i.i.i.i1.i.i410, ptr %arrayinit.element501, align 8 - %add.ptr.i.i.i415 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i410, i64 2 - %_M_end_of_storage.i.i.i416 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp489, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i415, ptr %_M_end_of_storage.i.i.i416, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i410, align 4 - %ref.tmp503.sroa.2.0.call5.i.i.i.i1.i.i410.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i410, i64 4 - store i32 1, ptr %ref.tmp503.sroa.2.0.call5.i.i.i.i1.i.i410.sroa_idx, align 4 - %_M_finish.i.i.i417 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp489, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i415, ptr %_M_finish.i.i.i417, align 8 + store ptr %call5.i.i.i.i1.i.i434, ptr %arrayinit.element501, align 8 + %add.ptr.i.i.i439 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i434, i64 8 + %_M_end_of_storage.i.i.i440 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp489, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i439, ptr %_M_end_of_storage.i.i.i440, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i434, align 4 + %ref.tmp503.sroa.2.0.call5.i.i.i.i1.i.i434.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i434, i64 4 + store i32 1, ptr %ref.tmp503.sroa.2.0.call5.i.i.i.i1.i.i434.sroa_idx, align 4 + %_M_finish.i.i.i442 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp489, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i439, ptr %_M_finish.i.i.i442, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element487, i8 0, i64 24, i1 false) - %add.ptr.i.i421 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp489, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element487, ptr noundef nonnull %ref.tmp489, ptr noundef nonnull %add.ptr.i.i421) - to label %invoke.cont521 unwind label %lpad.i422 + %add.ptr.i.i446 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp489, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element487, ptr noundef nonnull %ref.tmp489, ptr noundef nonnull %add.ptr.i.i446) + to label %invoke.cont521 unwind label %lpad.i447 -lpad.i422: ; preds = %invoke.cont509 +lpad.i447: ; preds = %invoke.cont509 %32 = landingpad { ptr, i32 } cleanup - %this.val.i423 = load ptr, ptr %arrayinit.element487, align 8 - %tobool.not.i.i.i424 = icmp eq ptr %this.val.i423, null - br i1 %tobool.not.i.i.i424, label %ehcleanup734, label %if.then.i.i.i425 + %this.val.i448 = load ptr, ptr %arrayinit.element487, align 8 + %tobool.not.i.i.i449 = icmp eq ptr %this.val.i448, null + br i1 %tobool.not.i.i.i449, label %ehcleanup734, label %if.then.i.i.i450 -if.then.i.i.i425: ; preds = %lpad.i422 - call void @_ZdlPv(ptr noundef nonnull %this.val.i423) #31 +if.then.i.i.i450: ; preds = %lpad.i447 + call void @_ZdlPv(ptr noundef nonnull %this.val.i448) #31 br label %ehcleanup734 invoke.cont521: ; preds = %invoke.cont509 %arrayinit.element522 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 19 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp524, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i429 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont535 unwind label %lpad.i.i430 + %call5.i.i.i.i1.i.i454 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont535 unwind label %lpad.i.i455 -lpad.i.i430: ; preds = %invoke.cont521 +lpad.i.i455: ; preds = %invoke.cont521 %33 = landingpad { ptr, i32 } cleanup br label %ehcleanup734 invoke.cont535: ; preds = %invoke.cont521 - store ptr %call5.i.i.i.i1.i.i429, ptr %ref.tmp524, align 8 - %add.ptr.i.i.i434 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i429, i64 2 - %_M_end_of_storage.i.i.i435 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp524, i64 0, i32 2 - store ptr %add.ptr.i.i.i434, ptr %_M_end_of_storage.i.i.i435, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i429, align 4 - %ref.tmp528.sroa.2.0.call5.i.i.i.i1.i.i429.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i429, i64 4 - store i32 4, ptr %ref.tmp528.sroa.2.0.call5.i.i.i.i1.i.i429.sroa_idx, align 4 - %_M_finish.i.i.i436 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp524, i64 0, i32 1 - store ptr %add.ptr.i.i.i434, ptr %_M_finish.i.i.i436, align 8 + store ptr %call5.i.i.i.i1.i.i454, ptr %ref.tmp524, align 8 + %add.ptr.i.i.i459 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i454, i64 8 + %_M_end_of_storage.i.i.i460 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp524, i64 0, i32 2 + store ptr %add.ptr.i.i.i459, ptr %_M_end_of_storage.i.i.i460, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i454, align 4 + %ref.tmp528.sroa.2.0.call5.i.i.i.i1.i.i454.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i454, i64 4 + store i32 4, ptr %ref.tmp528.sroa.2.0.call5.i.i.i.i1.i.i454.sroa_idx, align 4 + %_M_finish.i.i.i462 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp524, i64 0, i32 1 + store ptr %add.ptr.i.i.i459, ptr %_M_finish.i.i.i462, align 8 %arrayinit.element536 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp524, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element536, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i439 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont544 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 + %call5.i.i.i.i1.i.i465 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont544 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 invoke.cont544: ; preds = %invoke.cont535 - store ptr %call5.i.i.i.i1.i.i439, ptr %arrayinit.element536, align 8 - %add.ptr.i.i.i444 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i439, i64 2 - %_M_end_of_storage.i.i.i445 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp524, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i444, ptr %_M_end_of_storage.i.i.i445, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i439, align 4 - %ref.tmp538.sroa.2.0.call5.i.i.i.i1.i.i439.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i439, i64 4 - store i32 3, ptr %ref.tmp538.sroa.2.0.call5.i.i.i.i1.i.i439.sroa_idx, align 4 - %_M_finish.i.i.i446 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp524, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i444, ptr %_M_finish.i.i.i446, align 8 + store ptr %call5.i.i.i.i1.i.i465, ptr %arrayinit.element536, align 8 + %add.ptr.i.i.i470 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i465, i64 8 + %_M_end_of_storage.i.i.i471 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp524, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i470, ptr %_M_end_of_storage.i.i.i471, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i465, align 4 + %ref.tmp538.sroa.2.0.call5.i.i.i.i1.i.i465.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i465, i64 4 + store i32 3, ptr %ref.tmp538.sroa.2.0.call5.i.i.i.i1.i.i465.sroa_idx, align 4 + %_M_finish.i.i.i473 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp524, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i470, ptr %_M_finish.i.i.i473, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element522, i8 0, i64 24, i1 false) - %add.ptr.i.i450 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp524, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element522, ptr noundef nonnull %ref.tmp524, ptr noundef nonnull %add.ptr.i.i450) - to label %invoke.cont556 unwind label %lpad.i451 + %add.ptr.i.i477 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp524, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element522, ptr noundef nonnull %ref.tmp524, ptr noundef nonnull %add.ptr.i.i477) + to label %invoke.cont556 unwind label %lpad.i478 -lpad.i451: ; preds = %invoke.cont544 +lpad.i478: ; preds = %invoke.cont544 %34 = landingpad { ptr, i32 } cleanup - %this.val.i452 = load ptr, ptr %arrayinit.element522, align 8 - %tobool.not.i.i.i453 = icmp eq ptr %this.val.i452, null - br i1 %tobool.not.i.i.i453, label %ehcleanup720, label %if.then.i.i.i454 + %this.val.i479 = load ptr, ptr %arrayinit.element522, align 8 + %tobool.not.i.i.i480 = icmp eq ptr %this.val.i479, null + br i1 %tobool.not.i.i.i480, label %ehcleanup720, label %if.then.i.i.i481 -if.then.i.i.i454: ; preds = %lpad.i451 - call void @_ZdlPv(ptr noundef nonnull %this.val.i452) #31 +if.then.i.i.i481: ; preds = %lpad.i478 + call void @_ZdlPv(ptr noundef nonnull %this.val.i479) #31 br label %ehcleanup720 invoke.cont556: ; preds = %invoke.cont544 %arrayinit.element557 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp559, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i458 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont570 unwind label %lpad.i.i459 + %call5.i.i.i.i1.i.i485 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont570 unwind label %lpad.i.i486 -lpad.i.i459: ; preds = %invoke.cont556 +lpad.i.i486: ; preds = %invoke.cont556 %35 = landingpad { ptr, i32 } cleanup br label %ehcleanup720 invoke.cont570: ; preds = %invoke.cont556 - store ptr %call5.i.i.i.i1.i.i458, ptr %ref.tmp559, align 8 - %add.ptr.i.i.i463 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i458, i64 2 - %_M_end_of_storage.i.i.i464 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp559, i64 0, i32 2 - store ptr %add.ptr.i.i.i463, ptr %_M_end_of_storage.i.i.i464, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i458, align 4 - %ref.tmp563.sroa.2.0.call5.i.i.i.i1.i.i458.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i458, i64 4 - store i32 4, ptr %ref.tmp563.sroa.2.0.call5.i.i.i.i1.i.i458.sroa_idx, align 4 - %_M_finish.i.i.i465 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp559, i64 0, i32 1 - store ptr %add.ptr.i.i.i463, ptr %_M_finish.i.i.i465, align 8 + store ptr %call5.i.i.i.i1.i.i485, ptr %ref.tmp559, align 8 + %add.ptr.i.i.i490 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i485, i64 8 + %_M_end_of_storage.i.i.i491 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp559, i64 0, i32 2 + store ptr %add.ptr.i.i.i490, ptr %_M_end_of_storage.i.i.i491, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i485, align 4 + %ref.tmp563.sroa.2.0.call5.i.i.i.i1.i.i485.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i485, i64 4 + store i32 4, ptr %ref.tmp563.sroa.2.0.call5.i.i.i.i1.i.i485.sroa_idx, align 4 + %_M_finish.i.i.i493 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp559, i64 0, i32 1 + store ptr %add.ptr.i.i.i490, ptr %_M_finish.i.i.i493, align 8 %arrayinit.element571 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp559, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element571, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i468 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont579 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 + %call5.i.i.i.i1.i.i496 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont579 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 invoke.cont579: ; preds = %invoke.cont570 - store ptr %call5.i.i.i.i1.i.i468, ptr %arrayinit.element571, align 8 - %add.ptr.i.i.i473 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i468, i64 2 - %_M_end_of_storage.i.i.i474 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp559, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i473, ptr %_M_end_of_storage.i.i.i474, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i468, align 4 - %ref.tmp573.sroa.2.0.call5.i.i.i.i1.i.i468.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i468, i64 4 - store i32 1, ptr %ref.tmp573.sroa.2.0.call5.i.i.i.i1.i.i468.sroa_idx, align 4 - %_M_finish.i.i.i475 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp559, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i473, ptr %_M_finish.i.i.i475, align 8 + store ptr %call5.i.i.i.i1.i.i496, ptr %arrayinit.element571, align 8 + %add.ptr.i.i.i501 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i496, i64 8 + %_M_end_of_storage.i.i.i502 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp559, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i501, ptr %_M_end_of_storage.i.i.i502, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i496, align 4 + %ref.tmp573.sroa.2.0.call5.i.i.i.i1.i.i496.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i496, i64 4 + store i32 1, ptr %ref.tmp573.sroa.2.0.call5.i.i.i.i1.i.i496.sroa_idx, align 4 + %_M_finish.i.i.i504 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp559, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i501, ptr %_M_finish.i.i.i504, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element557, i8 0, i64 24, i1 false) - %add.ptr.i.i479 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp559, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element557, ptr noundef nonnull %ref.tmp559, ptr noundef nonnull %add.ptr.i.i479) - to label %invoke.cont591 unwind label %lpad.i480 + %add.ptr.i.i508 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp559, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element557, ptr noundef nonnull %ref.tmp559, ptr noundef nonnull %add.ptr.i.i508) + to label %invoke.cont591 unwind label %lpad.i509 -lpad.i480: ; preds = %invoke.cont579 +lpad.i509: ; preds = %invoke.cont579 %36 = landingpad { ptr, i32 } cleanup - %this.val.i481 = load ptr, ptr %arrayinit.element557, align 8 - %tobool.not.i.i.i482 = icmp eq ptr %this.val.i481, null - br i1 %tobool.not.i.i.i482, label %ehcleanup706, label %if.then.i.i.i483 + %this.val.i510 = load ptr, ptr %arrayinit.element557, align 8 + %tobool.not.i.i.i511 = icmp eq ptr %this.val.i510, null + br i1 %tobool.not.i.i.i511, label %ehcleanup706, label %if.then.i.i.i512 -if.then.i.i.i483: ; preds = %lpad.i480 - call void @_ZdlPv(ptr noundef nonnull %this.val.i481) #31 +if.then.i.i.i512: ; preds = %lpad.i509 + call void @_ZdlPv(ptr noundef nonnull %this.val.i510) #31 br label %ehcleanup706 invoke.cont591: ; preds = %invoke.cont579 %arrayinit.element592 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 21 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp594, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i487 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont605 unwind label %lpad.i.i488 + %call5.i.i.i.i1.i.i516 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont605 unwind label %lpad.i.i517 -lpad.i.i488: ; preds = %invoke.cont591 +lpad.i.i517: ; preds = %invoke.cont591 %37 = landingpad { ptr, i32 } cleanup br label %ehcleanup706 invoke.cont605: ; preds = %invoke.cont591 - store ptr %call5.i.i.i.i1.i.i487, ptr %ref.tmp594, align 8 - %add.ptr.i.i.i492 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i487, i64 2 - %_M_end_of_storage.i.i.i493 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp594, i64 0, i32 2 - store ptr %add.ptr.i.i.i492, ptr %_M_end_of_storage.i.i.i493, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i487, align 4 - %ref.tmp598.sroa.2.0.call5.i.i.i.i1.i.i487.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i487, i64 4 - store i32 4, ptr %ref.tmp598.sroa.2.0.call5.i.i.i.i1.i.i487.sroa_idx, align 4 - %_M_finish.i.i.i494 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp594, i64 0, i32 1 - store ptr %add.ptr.i.i.i492, ptr %_M_finish.i.i.i494, align 8 + store ptr %call5.i.i.i.i1.i.i516, ptr %ref.tmp594, align 8 + %add.ptr.i.i.i521 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i516, i64 8 + %_M_end_of_storage.i.i.i522 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp594, i64 0, i32 2 + store ptr %add.ptr.i.i.i521, ptr %_M_end_of_storage.i.i.i522, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i516, align 4 + %ref.tmp598.sroa.2.0.call5.i.i.i.i1.i.i516.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i516, i64 4 + store i32 4, ptr %ref.tmp598.sroa.2.0.call5.i.i.i.i1.i.i516.sroa_idx, align 4 + %_M_finish.i.i.i524 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp594, i64 0, i32 1 + store ptr %add.ptr.i.i.i521, ptr %_M_finish.i.i.i524, align 8 %arrayinit.element606 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp594, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i497 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont614 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 + %call5.i.i.i.i1.i.i527 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont614 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 invoke.cont614: ; preds = %invoke.cont605 - store ptr %call5.i.i.i.i1.i.i497, ptr %arrayinit.element606, align 8 - %add.ptr.i.i.i502 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i497, i64 2 - %_M_end_of_storage.i.i.i503 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp594, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i502, ptr %_M_end_of_storage.i.i.i503, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i497, align 4 - %ref.tmp608.sroa.2.0.call5.i.i.i.i1.i.i497.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i497, i64 4 - store i32 2, ptr %ref.tmp608.sroa.2.0.call5.i.i.i.i1.i.i497.sroa_idx, align 4 - %_M_finish.i.i.i504 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp594, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i502, ptr %_M_finish.i.i.i504, align 8 + store ptr %call5.i.i.i.i1.i.i527, ptr %arrayinit.element606, align 8 + %add.ptr.i.i.i532 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i527, i64 8 + %_M_end_of_storage.i.i.i533 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp594, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i532, ptr %_M_end_of_storage.i.i.i533, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i527, align 4 + %ref.tmp608.sroa.2.0.call5.i.i.i.i1.i.i527.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i527, i64 4 + store i32 2, ptr %ref.tmp608.sroa.2.0.call5.i.i.i.i1.i.i527.sroa_idx, align 4 + %_M_finish.i.i.i535 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp594, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i532, ptr %_M_finish.i.i.i535, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element592, i8 0, i64 24, i1 false) - %add.ptr.i.i508 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp594, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element592, ptr noundef nonnull %ref.tmp594, ptr noundef nonnull %add.ptr.i.i508) - to label %invoke.cont626 unwind label %lpad.i509 + %add.ptr.i.i539 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp594, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element592, ptr noundef nonnull %ref.tmp594, ptr noundef nonnull %add.ptr.i.i539) + to label %invoke.cont626 unwind label %lpad.i540 -lpad.i509: ; preds = %invoke.cont614 +lpad.i540: ; preds = %invoke.cont614 %38 = landingpad { ptr, i32 } cleanup - %this.val.i510 = load ptr, ptr %arrayinit.element592, align 8 - %tobool.not.i.i.i511 = icmp eq ptr %this.val.i510, null - br i1 %tobool.not.i.i.i511, label %ehcleanup692, label %if.then.i.i.i512 + %this.val.i541 = load ptr, ptr %arrayinit.element592, align 8 + %tobool.not.i.i.i542 = icmp eq ptr %this.val.i541, null + br i1 %tobool.not.i.i.i542, label %ehcleanup692, label %if.then.i.i.i543 -if.then.i.i.i512: ; preds = %lpad.i509 - call void @_ZdlPv(ptr noundef nonnull %this.val.i510) #31 +if.then.i.i.i543: ; preds = %lpad.i540 + call void @_ZdlPv(ptr noundef nonnull %this.val.i541) #31 br label %ehcleanup692 invoke.cont626: ; preds = %invoke.cont614 %arrayinit.element627 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 22 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp629, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i516 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont640 unwind label %lpad.i.i517 + %call5.i.i.i.i1.i.i547 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont640 unwind label %lpad.i.i548 -lpad.i.i517: ; preds = %invoke.cont626 +lpad.i.i548: ; preds = %invoke.cont626 %39 = landingpad { ptr, i32 } cleanup br label %ehcleanup692 invoke.cont640: ; preds = %invoke.cont626 - store ptr %call5.i.i.i.i1.i.i516, ptr %ref.tmp629, align 8 - %add.ptr.i.i.i521 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i516, i64 2 - %_M_end_of_storage.i.i.i522 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp629, i64 0, i32 2 - store ptr %add.ptr.i.i.i521, ptr %_M_end_of_storage.i.i.i522, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i516, align 4 - %ref.tmp633.sroa.2.0.call5.i.i.i.i1.i.i516.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i516, i64 4 - store i32 4, ptr %ref.tmp633.sroa.2.0.call5.i.i.i.i1.i.i516.sroa_idx, align 4 - %_M_finish.i.i.i523 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp629, i64 0, i32 1 - store ptr %add.ptr.i.i.i521, ptr %_M_finish.i.i.i523, align 8 + store ptr %call5.i.i.i.i1.i.i547, ptr %ref.tmp629, align 8 + %add.ptr.i.i.i552 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i547, i64 8 + %_M_end_of_storage.i.i.i553 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp629, i64 0, i32 2 + store ptr %add.ptr.i.i.i552, ptr %_M_end_of_storage.i.i.i553, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i547, align 4 + %ref.tmp633.sroa.2.0.call5.i.i.i.i1.i.i547.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i547, i64 4 + store i32 4, ptr %ref.tmp633.sroa.2.0.call5.i.i.i.i1.i.i547.sroa_idx, align 4 + %_M_finish.i.i.i555 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp629, i64 0, i32 1 + store ptr %add.ptr.i.i.i552, ptr %_M_finish.i.i.i555, align 8 %arrayinit.element641 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp629, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element641, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i526 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont649 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 + %call5.i.i.i.i1.i.i558 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont649 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 invoke.cont649: ; preds = %invoke.cont640 - store ptr %call5.i.i.i.i1.i.i526, ptr %arrayinit.element641, align 8 - %add.ptr.i.i.i531 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i526, i64 2 - %_M_end_of_storage.i.i.i532 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp629, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i531, ptr %_M_end_of_storage.i.i.i532, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i526, align 4 - %ref.tmp643.sroa.2.0.call5.i.i.i.i1.i.i526.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i526, i64 4 - store i32 1, ptr %ref.tmp643.sroa.2.0.call5.i.i.i.i1.i.i526.sroa_idx, align 4 - %_M_finish.i.i.i533 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp629, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i531, ptr %_M_finish.i.i.i533, align 8 + store ptr %call5.i.i.i.i1.i.i558, ptr %arrayinit.element641, align 8 + %add.ptr.i.i.i563 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i558, i64 8 + %_M_end_of_storage.i.i.i564 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp629, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i563, ptr %_M_end_of_storage.i.i.i564, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i558, align 4 + %ref.tmp643.sroa.2.0.call5.i.i.i.i1.i.i558.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i558, i64 4 + store i32 1, ptr %ref.tmp643.sroa.2.0.call5.i.i.i.i1.i.i558.sroa_idx, align 4 + %_M_finish.i.i.i566 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp629, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i563, ptr %_M_finish.i.i.i566, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element627, i8 0, i64 24, i1 false) - %add.ptr.i.i537 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp629, i64 2 - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element627, ptr noundef nonnull %ref.tmp629, ptr noundef nonnull %add.ptr.i.i537) - to label %invoke.cont661 unwind label %lpad.i538 + %add.ptr.i.i570 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp629, i64 2 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element627, ptr noundef nonnull %ref.tmp629, ptr noundef nonnull %add.ptr.i.i570) + to label %invoke.cont661 unwind label %lpad.i571 -lpad.i538: ; preds = %invoke.cont649 +lpad.i571: ; preds = %invoke.cont649 %40 = landingpad { ptr, i32 } cleanup - %this.val.i539 = load ptr, ptr %arrayinit.element627, align 8 - %tobool.not.i.i.i540 = icmp eq ptr %this.val.i539, null - br i1 %tobool.not.i.i.i540, label %ehcleanup, label %if.then.i.i.i541 + %this.val.i572 = load ptr, ptr %arrayinit.element627, align 8 + %tobool.not.i.i.i573 = icmp eq ptr %this.val.i572, null + br i1 %tobool.not.i.i.i573, label %ehcleanup, label %if.then.i.i.i574 -if.then.i.i.i541: ; preds = %lpad.i538 - call void @_ZdlPv(ptr noundef nonnull %this.val.i539) #31 +if.then.i.i.i574: ; preds = %lpad.i571 + call void @_ZdlPv(ptr noundef nonnull %this.val.i572) #31 br label %ehcleanup invoke.cont661: ; preds = %invoke.cont649 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %call5.i.i.i.i5.i547 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + %call5.i.i.i.i5.i580 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 to label %call5.i.i.i.i5.i.noexc unwind label %lpad666 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont661 - store ptr %call5.i.i.i.i5.i547, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.std::vector.588", ptr %call5.i.i.i.i5.i547, i64 23 + store ptr %call5.i.i.i.i5.i580, ptr %exemplars, align 8 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i580, i64 552 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i, %call5.i.i.i.i5.i.noexc - %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i547, %call5.i.i.i.i5.i.noexc ] + %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i580, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.idx.i = phi i64 [ %__first.addr.09.i.i.i.i.i.add.i, %for.inc.i.i.i.i.i.i ], [ 0, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.ptr.i = getelementptr inbounds i8, ptr %ref.tmp, i64 %__first.addr.09.i.i.i.i.i.idx.i invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %__cur.010.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.09.i.i.i.i.i.ptr.i) @@ -146754,7 +146758,7 @@ lpad.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. catch ptr null %42 = extractvalue { ptr, i32 } %41, 0 %43 = call ptr @__cxa_begin_catch(ptr %42) #28 - call fastcc void @_ZSt8_DestroyIPSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvT_S7_(ptr noundef nonnull %call5.i.i.i.i5.i547, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) + call fastcc void @_ZSt8_DestroyIPSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvT_S7_(ptr noundef nonnull %call5.i.i.i.i5.i580, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) invoke void @__cxa_rethrow() #30 to label %unreachable.i.i.i.i.i.i unwind label %lpad2.i.i.i.i.i.i @@ -146762,7 +146766,7 @@ lpad2.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i %44 = landingpad { ptr, i32 } cleanup invoke void @__cxa_end_catch() - to label %lpad.body.i545 unwind label %terminate.lpad.i.i.i.i.i.i + to label %lpad.body.i578 unwind label %terminate.lpad.i.i.i.i.i.i terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i %45 = landingpad { ptr, i32 } @@ -146774,12 +146778,12 @@ terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i unreachable.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i unreachable -lpad.body.i545: ; preds = %lpad2.i.i.i.i.i.i +lpad.body.i578: ; preds = %lpad2.i.i.i.i.i.i %this.val.pre.i = load ptr, ptr %exemplars, align 8 - %tobool.not.i.i.i546 = icmp eq ptr %this.val.pre.i, null - br i1 %tobool.not.i.i.i546, label %lpad666.body, label %if.then.i.i6.i + %tobool.not.i.i.i579 = icmp eq ptr %this.val.pre.i, null + br i1 %tobool.not.i.i.i579, label %lpad666.body, label %if.then.i.i6.i -if.then.i.i6.i: ; preds = %lpad.body.i545 +if.then.i.i6.i: ; preds = %lpad.body.i578 call void @_ZdlPv(ptr noundef nonnull %this.val.pre.i) #31 br label %lpad666.body @@ -146818,24 +146822,24 @@ invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyIN12_G br label %invoke.cont.i invoke.cont.i: ; preds = %invoke.contthread-pre-split.i, %arraydestroy.body668 - %this.val.i549 = phi ptr [ %this.val.pr.i, %invoke.contthread-pre-split.i ], [ %48, %arraydestroy.body668 ] - %tobool.not.i.i.i550 = icmp eq ptr %this.val.i549, null - br i1 %tobool.not.i.i.i550, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit, label %if.then.i.i.i551 + %this.val.i582 = phi ptr [ %this.val.pr.i, %invoke.contthread-pre-split.i ], [ %48, %arraydestroy.body668 ] + %tobool.not.i.i.i583 = icmp eq ptr %this.val.i582, null + br i1 %tobool.not.i.i.i583, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit, label %if.then.i.i.i584 -if.then.i.i.i551: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i549) #31 +if.then.i.i.i584: ; preds = %invoke.cont.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i582) #31 br label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit -_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i551 +_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i584 %arraydestroy.done671 = icmp eq ptr %arraydestroy.element670, %ref.tmp br i1 %arraydestroy.done671, label %arraydestroy.body680, label %arraydestroy.body668 arraydestroy.body680: ; preds = %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit - %arraydestroy.elementPast681 = phi ptr [ %arraydestroy.element682, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ], [ %add.ptr.i.i537, %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit ] + %arraydestroy.elementPast681 = phi ptr [ %arraydestroy.element682, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ], [ %add.ptr.i.i570, %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev.exit ] %arraydestroy.element682 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast681, i64 -1 %arraydestroy.element682.val = load ptr, ptr %arraydestroy.element682, align 8 - %tobool.not.i.i.i.i553 = icmp eq ptr %arraydestroy.element682.val, null - br i1 %tobool.not.i.i.i.i553, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, label %if.then.i.i.i.i + %tobool.not.i.i.i.i586 = icmp eq ptr %arraydestroy.element682.val, null + br i1 %tobool.not.i.i.i.i586, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %arraydestroy.body680 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element682.val) #31 @@ -146845,324 +146849,324 @@ _ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit: ; preds = %arraydestroy.body68 %arraydestroy.done683 = icmp eq ptr %arraydestroy.element682, %ref.tmp629 br i1 %arraydestroy.done683, label %arraydestroy.body694, label %arraydestroy.body680 -arraydestroy.body694: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 - %arraydestroy.elementPast695 = phi ptr [ %arraydestroy.element696, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ], [ %add.ptr.i.i508, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ] +arraydestroy.body694: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 + %arraydestroy.elementPast695 = phi ptr [ %arraydestroy.element696, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ], [ %add.ptr.i.i539, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ] %arraydestroy.element696 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast695, i64 -1 %arraydestroy.element696.val = load ptr, ptr %arraydestroy.element696, align 8 - %tobool.not.i.i.i.i554 = icmp eq ptr %arraydestroy.element696.val, null - br i1 %tobool.not.i.i.i.i554, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556, label %if.then.i.i.i.i555 + %tobool.not.i.i.i.i587 = icmp eq ptr %arraydestroy.element696.val, null + br i1 %tobool.not.i.i.i.i587, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, label %if.then.i.i.i.i588 -if.then.i.i.i.i555: ; preds = %arraydestroy.body694 +if.then.i.i.i.i588: ; preds = %arraydestroy.body694 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element696.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556: ; preds = %arraydestroy.body694, %if.then.i.i.i.i555 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589: ; preds = %arraydestroy.body694, %if.then.i.i.i.i588 %arraydestroy.done697 = icmp eq ptr %arraydestroy.element696, %ref.tmp594 br i1 %arraydestroy.done697, label %arraydestroy.body708, label %arraydestroy.body694 -arraydestroy.body708: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 - %arraydestroy.elementPast709 = phi ptr [ %arraydestroy.element710, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ], [ %add.ptr.i.i479, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] +arraydestroy.body708: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 + %arraydestroy.elementPast709 = phi ptr [ %arraydestroy.element710, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ], [ %add.ptr.i.i508, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ] %arraydestroy.element710 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast709, i64 -1 %arraydestroy.element710.val = load ptr, ptr %arraydestroy.element710, align 8 - %tobool.not.i.i.i.i557 = icmp eq ptr %arraydestroy.element710.val, null - br i1 %tobool.not.i.i.i.i557, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, label %if.then.i.i.i.i558 + %tobool.not.i.i.i.i590 = icmp eq ptr %arraydestroy.element710.val, null + br i1 %tobool.not.i.i.i.i590, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, label %if.then.i.i.i.i591 -if.then.i.i.i.i558: ; preds = %arraydestroy.body708 +if.then.i.i.i.i591: ; preds = %arraydestroy.body708 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element710.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559: ; preds = %arraydestroy.body708, %if.then.i.i.i.i558 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592: ; preds = %arraydestroy.body708, %if.then.i.i.i.i591 %arraydestroy.done711 = icmp eq ptr %arraydestroy.element710, %ref.tmp559 br i1 %arraydestroy.done711, label %arraydestroy.body722, label %arraydestroy.body708 -arraydestroy.body722: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 - %arraydestroy.elementPast723 = phi ptr [ %arraydestroy.element724, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ], [ %add.ptr.i.i450, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ] +arraydestroy.body722: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 + %arraydestroy.elementPast723 = phi ptr [ %arraydestroy.element724, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ], [ %add.ptr.i.i477, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ] %arraydestroy.element724 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast723, i64 -1 %arraydestroy.element724.val = load ptr, ptr %arraydestroy.element724, align 8 - %tobool.not.i.i.i.i560 = icmp eq ptr %arraydestroy.element724.val, null - br i1 %tobool.not.i.i.i.i560, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, label %if.then.i.i.i.i561 + %tobool.not.i.i.i.i593 = icmp eq ptr %arraydestroy.element724.val, null + br i1 %tobool.not.i.i.i.i593, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, label %if.then.i.i.i.i594 -if.then.i.i.i.i561: ; preds = %arraydestroy.body722 +if.then.i.i.i.i594: ; preds = %arraydestroy.body722 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element724.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562: ; preds = %arraydestroy.body722, %if.then.i.i.i.i561 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595: ; preds = %arraydestroy.body722, %if.then.i.i.i.i594 %arraydestroy.done725 = icmp eq ptr %arraydestroy.element724, %ref.tmp524 br i1 %arraydestroy.done725, label %arraydestroy.body736, label %arraydestroy.body722 -arraydestroy.body736: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 - %arraydestroy.elementPast737 = phi ptr [ %arraydestroy.element738, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 ], [ %add.ptr.i.i421, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] +arraydestroy.body736: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 + %arraydestroy.elementPast737 = phi ptr [ %arraydestroy.element738, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 ], [ %add.ptr.i.i446, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ] %arraydestroy.element738 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast737, i64 -1 %arraydestroy.element738.val = load ptr, ptr %arraydestroy.element738, align 8 - %tobool.not.i.i.i.i563 = icmp eq ptr %arraydestroy.element738.val, null - br i1 %tobool.not.i.i.i.i563, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565, label %if.then.i.i.i.i564 + %tobool.not.i.i.i.i596 = icmp eq ptr %arraydestroy.element738.val, null + br i1 %tobool.not.i.i.i.i596, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598, label %if.then.i.i.i.i597 -if.then.i.i.i.i564: ; preds = %arraydestroy.body736 +if.then.i.i.i.i597: ; preds = %arraydestroy.body736 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element738.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565: ; preds = %arraydestroy.body736, %if.then.i.i.i.i564 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598: ; preds = %arraydestroy.body736, %if.then.i.i.i.i597 %arraydestroy.done739 = icmp eq ptr %arraydestroy.element738, %ref.tmp489 br i1 %arraydestroy.done739, label %arraydestroy.body750, label %arraydestroy.body736 -arraydestroy.body750: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 - %arraydestroy.elementPast751 = phi ptr [ %arraydestroy.element752, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ], [ %add.ptr.i.i392, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 ] +arraydestroy.body750: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 + %arraydestroy.elementPast751 = phi ptr [ %arraydestroy.element752, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ], [ %add.ptr.i.i415, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 ] %arraydestroy.element752 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast751, i64 -1 %arraydestroy.element752.val = load ptr, ptr %arraydestroy.element752, align 8 - %tobool.not.i.i.i.i566 = icmp eq ptr %arraydestroy.element752.val, null - br i1 %tobool.not.i.i.i.i566, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, label %if.then.i.i.i.i567 + %tobool.not.i.i.i.i599 = icmp eq ptr %arraydestroy.element752.val, null + br i1 %tobool.not.i.i.i.i599, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, label %if.then.i.i.i.i600 -if.then.i.i.i.i567: ; preds = %arraydestroy.body750 +if.then.i.i.i.i600: ; preds = %arraydestroy.body750 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element752.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568: ; preds = %arraydestroy.body750, %if.then.i.i.i.i567 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601: ; preds = %arraydestroy.body750, %if.then.i.i.i.i600 %arraydestroy.done753 = icmp eq ptr %arraydestroy.element752, %ref.tmp454 br i1 %arraydestroy.done753, label %arraydestroy.body764, label %arraydestroy.body750 -arraydestroy.body764: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 - %arraydestroy.elementPast765 = phi ptr [ %arraydestroy.element766, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ], [ %add.ptr.i.i363, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] +arraydestroy.body764: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 + %arraydestroy.elementPast765 = phi ptr [ %arraydestroy.element766, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ], [ %add.ptr.i.i384, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ] %arraydestroy.element766 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast765, i64 -1 %arraydestroy.element766.val = load ptr, ptr %arraydestroy.element766, align 8 - %tobool.not.i.i.i.i569 = icmp eq ptr %arraydestroy.element766.val, null - br i1 %tobool.not.i.i.i.i569, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, label %if.then.i.i.i.i570 + %tobool.not.i.i.i.i602 = icmp eq ptr %arraydestroy.element766.val, null + br i1 %tobool.not.i.i.i.i602, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, label %if.then.i.i.i.i603 -if.then.i.i.i.i570: ; preds = %arraydestroy.body764 +if.then.i.i.i.i603: ; preds = %arraydestroy.body764 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element766.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571: ; preds = %arraydestroy.body764, %if.then.i.i.i.i570 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604: ; preds = %arraydestroy.body764, %if.then.i.i.i.i603 %arraydestroy.done767 = icmp eq ptr %arraydestroy.element766, %ref.tmp419 br i1 %arraydestroy.done767, label %arraydestroy.body778, label %arraydestroy.body764 -arraydestroy.body778: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 - %arraydestroy.elementPast779 = phi ptr [ %arraydestroy.element780, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ], [ %add.ptr.i.i334, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] +arraydestroy.body778: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 + %arraydestroy.elementPast779 = phi ptr [ %arraydestroy.element780, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 ], [ %add.ptr.i.i353, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ] %arraydestroy.element780 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast779, i64 -1 %arraydestroy.element780.val = load ptr, ptr %arraydestroy.element780, align 8 - %tobool.not.i.i.i.i572 = icmp eq ptr %arraydestroy.element780.val, null - br i1 %tobool.not.i.i.i.i572, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, label %if.then.i.i.i.i573 + %tobool.not.i.i.i.i605 = icmp eq ptr %arraydestroy.element780.val, null + br i1 %tobool.not.i.i.i.i605, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607, label %if.then.i.i.i.i606 -if.then.i.i.i.i573: ; preds = %arraydestroy.body778 +if.then.i.i.i.i606: ; preds = %arraydestroy.body778 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element780.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574: ; preds = %arraydestroy.body778, %if.then.i.i.i.i573 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607: ; preds = %arraydestroy.body778, %if.then.i.i.i.i606 %arraydestroy.done781 = icmp eq ptr %arraydestroy.element780, %ref.tmp384 br i1 %arraydestroy.done781, label %arraydestroy.body792, label %arraydestroy.body778 -arraydestroy.body792: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 - %arraydestroy.elementPast793 = phi ptr [ %arraydestroy.element794, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 ], [ %add.ptr.i.i305, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ] +arraydestroy.body792: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 + %arraydestroy.elementPast793 = phi ptr [ %arraydestroy.element794, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 ], [ %add.ptr.i.i322, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 ] %arraydestroy.element794 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast793, i64 -1 %arraydestroy.element794.val = load ptr, ptr %arraydestroy.element794, align 8 - %tobool.not.i.i.i.i575 = icmp eq ptr %arraydestroy.element794.val, null - br i1 %tobool.not.i.i.i.i575, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577, label %if.then.i.i.i.i576 + %tobool.not.i.i.i.i608 = icmp eq ptr %arraydestroy.element794.val, null + br i1 %tobool.not.i.i.i.i608, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610, label %if.then.i.i.i.i609 -if.then.i.i.i.i576: ; preds = %arraydestroy.body792 +if.then.i.i.i.i609: ; preds = %arraydestroy.body792 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element794.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577: ; preds = %arraydestroy.body792, %if.then.i.i.i.i576 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610: ; preds = %arraydestroy.body792, %if.then.i.i.i.i609 %arraydestroy.done795 = icmp eq ptr %arraydestroy.element794, %ref.tmp349 br i1 %arraydestroy.done795, label %arraydestroy.body806, label %arraydestroy.body792 -arraydestroy.body806: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 - %arraydestroy.elementPast807 = phi ptr [ %arraydestroy.element808, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 ], [ %add.ptr.i.i276, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 ] +arraydestroy.body806: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 + %arraydestroy.elementPast807 = phi ptr [ %arraydestroy.element808, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 ], [ %add.ptr.i.i291, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 ] %arraydestroy.element808 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast807, i64 -1 %arraydestroy.element808.val = load ptr, ptr %arraydestroy.element808, align 8 - %tobool.not.i.i.i.i578 = icmp eq ptr %arraydestroy.element808.val, null - br i1 %tobool.not.i.i.i.i578, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580, label %if.then.i.i.i.i579 + %tobool.not.i.i.i.i611 = icmp eq ptr %arraydestroy.element808.val, null + br i1 %tobool.not.i.i.i.i611, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613, label %if.then.i.i.i.i612 -if.then.i.i.i.i579: ; preds = %arraydestroy.body806 +if.then.i.i.i.i612: ; preds = %arraydestroy.body806 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element808.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580: ; preds = %arraydestroy.body806, %if.then.i.i.i.i579 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613: ; preds = %arraydestroy.body806, %if.then.i.i.i.i612 %arraydestroy.done809 = icmp eq ptr %arraydestroy.element808, %ref.tmp314 br i1 %arraydestroy.done809, label %arraydestroy.body820, label %arraydestroy.body806 -arraydestroy.body820: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 - %arraydestroy.elementPast821 = phi ptr [ %arraydestroy.element822, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 ], [ %add.ptr.i.i247, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 ] +arraydestroy.body820: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 + %arraydestroy.elementPast821 = phi ptr [ %arraydestroy.element822, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 ], [ %add.ptr.i.i260, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 ] %arraydestroy.element822 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast821, i64 -1 %arraydestroy.element822.val = load ptr, ptr %arraydestroy.element822, align 8 - %tobool.not.i.i.i.i581 = icmp eq ptr %arraydestroy.element822.val, null - br i1 %tobool.not.i.i.i.i581, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583, label %if.then.i.i.i.i582 + %tobool.not.i.i.i.i614 = icmp eq ptr %arraydestroy.element822.val, null + br i1 %tobool.not.i.i.i.i614, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616, label %if.then.i.i.i.i615 -if.then.i.i.i.i582: ; preds = %arraydestroy.body820 +if.then.i.i.i.i615: ; preds = %arraydestroy.body820 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element822.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583: ; preds = %arraydestroy.body820, %if.then.i.i.i.i582 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616: ; preds = %arraydestroy.body820, %if.then.i.i.i.i615 %arraydestroy.done823 = icmp eq ptr %arraydestroy.element822, %ref.tmp279 br i1 %arraydestroy.done823, label %arraydestroy.body834, label %arraydestroy.body820 -arraydestroy.body834: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 - %arraydestroy.elementPast835 = phi ptr [ %arraydestroy.element836, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 ], [ %add.ptr.i.i218, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 ] +arraydestroy.body834: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619 + %arraydestroy.elementPast835 = phi ptr [ %arraydestroy.element836, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619 ], [ %add.ptr.i.i229, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 ] %arraydestroy.element836 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast835, i64 -1 %arraydestroy.element836.val = load ptr, ptr %arraydestroy.element836, align 8 - %tobool.not.i.i.i.i584 = icmp eq ptr %arraydestroy.element836.val, null - br i1 %tobool.not.i.i.i.i584, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586, label %if.then.i.i.i.i585 + %tobool.not.i.i.i.i617 = icmp eq ptr %arraydestroy.element836.val, null + br i1 %tobool.not.i.i.i.i617, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619, label %if.then.i.i.i.i618 -if.then.i.i.i.i585: ; preds = %arraydestroy.body834 +if.then.i.i.i.i618: ; preds = %arraydestroy.body834 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element836.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586: ; preds = %arraydestroy.body834, %if.then.i.i.i.i585 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619: ; preds = %arraydestroy.body834, %if.then.i.i.i.i618 %arraydestroy.done837 = icmp eq ptr %arraydestroy.element836, %ref.tmp244 br i1 %arraydestroy.done837, label %arraydestroy.body848, label %arraydestroy.body834 -arraydestroy.body848: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 - %arraydestroy.elementPast849 = phi ptr [ %arraydestroy.element850, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ], [ %add.ptr.i.i189, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 ] +arraydestroy.body848: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622 + %arraydestroy.elementPast849 = phi ptr [ %arraydestroy.element850, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622 ], [ %add.ptr.i.i198, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619 ] %arraydestroy.element850 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast849, i64 -1 %arraydestroy.element850.val = load ptr, ptr %arraydestroy.element850, align 8 - %tobool.not.i.i.i.i587 = icmp eq ptr %arraydestroy.element850.val, null - br i1 %tobool.not.i.i.i.i587, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, label %if.then.i.i.i.i588 + %tobool.not.i.i.i.i620 = icmp eq ptr %arraydestroy.element850.val, null + br i1 %tobool.not.i.i.i.i620, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622, label %if.then.i.i.i.i621 -if.then.i.i.i.i588: ; preds = %arraydestroy.body848 +if.then.i.i.i.i621: ; preds = %arraydestroy.body848 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element850.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589: ; preds = %arraydestroy.body848, %if.then.i.i.i.i588 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622: ; preds = %arraydestroy.body848, %if.then.i.i.i.i621 %arraydestroy.done851 = icmp eq ptr %arraydestroy.element850, %ref.tmp217 br i1 %arraydestroy.done851, label %arraydestroy.body862, label %arraydestroy.body848 -arraydestroy.body862: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 - %arraydestroy.elementPast863 = phi ptr [ %arraydestroy.element864, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ], [ %add.ptr.i.i171, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ] +arraydestroy.body862: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625 + %arraydestroy.elementPast863 = phi ptr [ %arraydestroy.element864, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625 ], [ %add.ptr.i.i179, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622 ] %arraydestroy.element864 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast863, i64 -1 %arraydestroy.element864.val = load ptr, ptr %arraydestroy.element864, align 8 - %tobool.not.i.i.i.i590 = icmp eq ptr %arraydestroy.element864.val, null - br i1 %tobool.not.i.i.i.i590, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, label %if.then.i.i.i.i591 + %tobool.not.i.i.i.i623 = icmp eq ptr %arraydestroy.element864.val, null + br i1 %tobool.not.i.i.i.i623, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625, label %if.then.i.i.i.i624 -if.then.i.i.i.i591: ; preds = %arraydestroy.body862 +if.then.i.i.i.i624: ; preds = %arraydestroy.body862 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element864.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592: ; preds = %arraydestroy.body862, %if.then.i.i.i.i591 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625: ; preds = %arraydestroy.body862, %if.then.i.i.i.i624 %arraydestroy.done865 = icmp eq ptr %arraydestroy.element864, %ref.tmp190 br i1 %arraydestroy.done865, label %arraydestroy.body876, label %arraydestroy.body862 -arraydestroy.body876: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 - %arraydestroy.elementPast877 = phi ptr [ %arraydestroy.element878, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ], [ %add.ptr.i.i153, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ] +arraydestroy.body876: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628 + %arraydestroy.elementPast877 = phi ptr [ %arraydestroy.element878, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628 ], [ %add.ptr.i.i160, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625 ] %arraydestroy.element878 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast877, i64 -1 %arraydestroy.element878.val = load ptr, ptr %arraydestroy.element878, align 8 - %tobool.not.i.i.i.i593 = icmp eq ptr %arraydestroy.element878.val, null - br i1 %tobool.not.i.i.i.i593, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, label %if.then.i.i.i.i594 + %tobool.not.i.i.i.i626 = icmp eq ptr %arraydestroy.element878.val, null + br i1 %tobool.not.i.i.i.i626, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628, label %if.then.i.i.i.i627 -if.then.i.i.i.i594: ; preds = %arraydestroy.body876 +if.then.i.i.i.i627: ; preds = %arraydestroy.body876 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element878.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595: ; preds = %arraydestroy.body876, %if.then.i.i.i.i594 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628: ; preds = %arraydestroy.body876, %if.then.i.i.i.i627 %arraydestroy.done879 = icmp eq ptr %arraydestroy.element878, %ref.tmp163 br i1 %arraydestroy.done879, label %arraydestroy.body890, label %arraydestroy.body876 -arraydestroy.body890: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 - %arraydestroy.elementPast891 = phi ptr [ %arraydestroy.element892, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 ], [ %add.ptr.i.i135, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ] +arraydestroy.body890: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631 + %arraydestroy.elementPast891 = phi ptr [ %arraydestroy.element892, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631 ], [ %add.ptr.i.i141, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628 ] %arraydestroy.element892 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast891, i64 -1 %arraydestroy.element892.val = load ptr, ptr %arraydestroy.element892, align 8 - %tobool.not.i.i.i.i596 = icmp eq ptr %arraydestroy.element892.val, null - br i1 %tobool.not.i.i.i.i596, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598, label %if.then.i.i.i.i597 + %tobool.not.i.i.i.i629 = icmp eq ptr %arraydestroy.element892.val, null + br i1 %tobool.not.i.i.i.i629, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631, label %if.then.i.i.i.i630 -if.then.i.i.i.i597: ; preds = %arraydestroy.body890 +if.then.i.i.i.i630: ; preds = %arraydestroy.body890 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element892.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598: ; preds = %arraydestroy.body890, %if.then.i.i.i.i597 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631: ; preds = %arraydestroy.body890, %if.then.i.i.i.i630 %arraydestroy.done893 = icmp eq ptr %arraydestroy.element892, %ref.tmp136 br i1 %arraydestroy.done893, label %arraydestroy.body904, label %arraydestroy.body890 -arraydestroy.body904: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 - %arraydestroy.elementPast905 = phi ptr [ %arraydestroy.element906, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ], [ %add.ptr.i.i117, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 ] +arraydestroy.body904: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634 + %arraydestroy.elementPast905 = phi ptr [ %arraydestroy.element906, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634 ], [ %add.ptr.i.i122, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631 ] %arraydestroy.element906 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast905, i64 -1 %arraydestroy.element906.val = load ptr, ptr %arraydestroy.element906, align 8 - %tobool.not.i.i.i.i599 = icmp eq ptr %arraydestroy.element906.val, null - br i1 %tobool.not.i.i.i.i599, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, label %if.then.i.i.i.i600 + %tobool.not.i.i.i.i632 = icmp eq ptr %arraydestroy.element906.val, null + br i1 %tobool.not.i.i.i.i632, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634, label %if.then.i.i.i.i633 -if.then.i.i.i.i600: ; preds = %arraydestroy.body904 +if.then.i.i.i.i633: ; preds = %arraydestroy.body904 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element906.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601: ; preds = %arraydestroy.body904, %if.then.i.i.i.i600 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634: ; preds = %arraydestroy.body904, %if.then.i.i.i.i633 %arraydestroy.done907 = icmp eq ptr %arraydestroy.element906, %ref.tmp89 br i1 %arraydestroy.done907, label %arraydestroy.body918, label %arraydestroy.body904 -arraydestroy.body918: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 - %arraydestroy.elementPast919 = phi ptr [ %arraydestroy.element920, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ], [ %add.ptr.i.i76, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ] +arraydestroy.body918: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637 + %arraydestroy.elementPast919 = phi ptr [ %arraydestroy.element920, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637 ], [ %add.ptr.i.i78, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634 ] %arraydestroy.element920 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast919, i64 -1 %arraydestroy.element920.val = load ptr, ptr %arraydestroy.element920, align 8 - %tobool.not.i.i.i.i602 = icmp eq ptr %arraydestroy.element920.val, null - br i1 %tobool.not.i.i.i.i602, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, label %if.then.i.i.i.i603 + %tobool.not.i.i.i.i635 = icmp eq ptr %arraydestroy.element920.val, null + br i1 %tobool.not.i.i.i.i635, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637, label %if.then.i.i.i.i636 -if.then.i.i.i.i603: ; preds = %arraydestroy.body918 +if.then.i.i.i.i636: ; preds = %arraydestroy.body918 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element920.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604: ; preds = %arraydestroy.body918, %if.then.i.i.i.i603 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637: ; preds = %arraydestroy.body918, %if.then.i.i.i.i636 %arraydestroy.done921 = icmp eq ptr %arraydestroy.element920, %ref.tmp54 br i1 %arraydestroy.done921, label %arraydestroy.body932.preheader, label %arraydestroy.body918 -arraydestroy.body932.preheader: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 +arraydestroy.body932.preheader: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637 %arraydestroy.element934.val = load ptr, ptr %ref.tmp34, align 8 - %tobool.not.i.i.i.i605 = icmp eq ptr %arraydestroy.element934.val, null - br i1 %tobool.not.i.i.i.i605, label %arraydestroy.body946.preheader, label %if.then.i.i.i.i606 + %tobool.not.i.i.i.i638 = icmp eq ptr %arraydestroy.element934.val, null + br i1 %tobool.not.i.i.i.i638, label %arraydestroy.body946.preheader, label %if.then.i.i.i.i639 -if.then.i.i.i.i606: ; preds = %arraydestroy.body932.preheader +if.then.i.i.i.i639: ; preds = %arraydestroy.body932.preheader call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element934.val) #31 br label %arraydestroy.body946.preheader -arraydestroy.body946.preheader: ; preds = %arraydestroy.body932.preheader, %if.then.i.i.i.i606 +arraydestroy.body946.preheader: ; preds = %arraydestroy.body932.preheader, %if.then.i.i.i.i639 br label %arraydestroy.body946 -arraydestroy.body946: ; preds = %arraydestroy.body946.preheader, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 - %arraydestroy.elementPast947 = phi ptr [ %arraydestroy.element948, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 ], [ %add.ptr.i.i38, %arraydestroy.body946.preheader ] +arraydestroy.body946: ; preds = %arraydestroy.body946.preheader, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit643 + %arraydestroy.elementPast947 = phi ptr [ %arraydestroy.element948, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit643 ], [ %add.ptr.i.i38, %arraydestroy.body946.preheader ] %arraydestroy.element948 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast947, i64 -1 %arraydestroy.element948.val = load ptr, ptr %arraydestroy.element948, align 8 - %tobool.not.i.i.i.i608 = icmp eq ptr %arraydestroy.element948.val, null - br i1 %tobool.not.i.i.i.i608, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610, label %if.then.i.i.i.i609 + %tobool.not.i.i.i.i641 = icmp eq ptr %arraydestroy.element948.val, null + br i1 %tobool.not.i.i.i.i641, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit643, label %if.then.i.i.i.i642 -if.then.i.i.i.i609: ; preds = %arraydestroy.body946 +if.then.i.i.i.i642: ; preds = %arraydestroy.body946 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element948.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit643 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610: ; preds = %arraydestroy.body946, %if.then.i.i.i.i609 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit643: ; preds = %arraydestroy.body946, %if.then.i.i.i.i642 %arraydestroy.done949 = icmp eq ptr %arraydestroy.element948, %ref.tmp21 br i1 %arraydestroy.done949, label %arraydestroy.body960, label %arraydestroy.body946 -arraydestroy.body960: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 - %arraydestroy.elementPast961 = phi ptr [ %arraydestroy.element962, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 ], [ %add.ptr.i.i30, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 ] +arraydestroy.body960: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit643, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646 + %arraydestroy.elementPast961 = phi ptr [ %arraydestroy.element962, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646 ], [ %add.ptr.i.i30, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit643 ] %arraydestroy.element962 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast961, i64 -1 %arraydestroy.element962.val = load ptr, ptr %arraydestroy.element962, align 8 - %tobool.not.i.i.i.i611 = icmp eq ptr %arraydestroy.element962.val, null - br i1 %tobool.not.i.i.i.i611, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613, label %if.then.i.i.i.i612 + %tobool.not.i.i.i.i644 = icmp eq ptr %arraydestroy.element962.val, null + br i1 %tobool.not.i.i.i.i644, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646, label %if.then.i.i.i.i645 -if.then.i.i.i.i612: ; preds = %arraydestroy.body960 +if.then.i.i.i.i645: ; preds = %arraydestroy.body960 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element962.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613: ; preds = %arraydestroy.body960, %if.then.i.i.i.i612 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646: ; preds = %arraydestroy.body960, %if.then.i.i.i.i645 %arraydestroy.done963 = icmp eq ptr %arraydestroy.element962, %ref.tmp9 br i1 %arraydestroy.done963, label %arraydestroy.body974.preheader, label %arraydestroy.body960 -arraydestroy.body974.preheader: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 +arraydestroy.body974.preheader: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646 %arraydestroy.element976.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i614 = icmp eq ptr %arraydestroy.element976.val, null - br i1 %tobool.not.i.i.i.i614, label %for.body.i.i.preheader, label %if.then.i.i.i.i615 + %tobool.not.i.i.i.i647 = icmp eq ptr %arraydestroy.element976.val, null + br i1 %tobool.not.i.i.i.i647, label %for.body.i.i.preheader, label %if.then.i.i.i.i648 -if.then.i.i.i.i615: ; preds = %arraydestroy.body974.preheader +if.then.i.i.i.i648: ; preds = %arraydestroy.body974.preheader call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element976.val) #31 br label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %arraydestroy.body974.preheader, %if.then.i.i.i.i615 +for.body.i.i.preheader: ; preds = %arraydestroy.body974.preheader, %if.then.i.i.i.i648 br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.inc.i.i %ref.tmp.sroa.0.0.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %add.ptr19.i.i.i12.i.i = phi ptr [ %add.ptr19.i.i.i11.i.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] - %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i547, %for.body.i.i.preheader ] - %cmp.not.i.i.i.i617 = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i - br i1 %cmp.not.i.i.i.i617, label %if.else.i.i.i.i, label %if.then.i.i.i.i618 + %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i580, %for.body.i.i.preheader ] + %cmp.not.i.i.i.i650 = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i + br i1 %cmp.not.i.i.i.i650, label %if.else.i.i.i.i, label %if.then.i.i.i.i651 -if.then.i.i.i.i618: ; preds = %for.body.i.i +if.then.i.i.i.i651: ; preds = %for.body.i.i store ptr %__begin0.sroa.0.08.i.i, ptr %incdec.ptr.i.i.i9.i.i, align 8, !noalias !4054 %ref.tmp.sroa.3.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i9.i.i, i64 8 store i8 0, ptr %ref.tmp.sroa.3.0..sroa_idx.i.i, align 8, !noalias !4054 @@ -147191,8 +147195,8 @@ _ZNKSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEES %cmp9.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i, 576460752303423487 %or.cond.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i %cond.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i, i64 576460752303423487, i64 %add.i.i.i.i.i.i - %cmp.not.i.i.i.i.i.i627 = icmp eq i64 %cond.i.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i.i627, label %_ZNSt12_Vector_baseISt7variantIJPKSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS4_EEEESaIS9_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS4_EEEEEE8allocateERSA_m.exit.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i660 = icmp eq i64 %cond.i.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i.i660, label %_ZNSt12_Vector_baseISt7variantIJPKSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS4_EEEESaIS9_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS4_EEEEEE8allocateERSA_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaISt7variantIJPKSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS4_EEEEEE8allocateERSA_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 4 @@ -147229,10 +147233,10 @@ _ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESa %add.ptr19.i.i.i.i.i = getelementptr inbounds %"class.std::variant.1257", ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i br label %for.inc.i.i -for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i618 - %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i618 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i618 ] - %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i618 ] +for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i651 + %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i651 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i651 ] + %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i651 ] %ref.tmp.sroa.6.0.i = getelementptr inbounds %"class.std::variant.1257", ptr %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i, i64 1 %incdec.ptr.i.i.i = getelementptr inbounds %"class.std::vector.588", ptr %__begin0.sroa.0.08.i.i, i64 1 %cmp.i.not.i.i = icmp eq ptr %__begin0.sroa.0.08.i.i, %__cur.010.i.i.i.i.i.i @@ -147241,19 +147245,19 @@ for.inc.i.i: ; preds = %_ZNSt6vectorISt7var lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_traitsISaISt7variantIJPKSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS4_EEEEEE8allocateERSA_m.exit.i.i.i.i.i.i %lpad.loopexit3.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i628 + br label %lpad.i.i661 lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i628 + br label %lpad.i.i661 -lpad.i.i628: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i +lpad.i.i661: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i %lpad.phi.i.i = phi { ptr, i32 } [ %lpad.loopexit3.i.i, %lpad.loopexit.i.i ], [ %lpad.loopexit.split-lp4.i.i, %lpad.loopexit.split-lp.i.i ] %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0.i, null br i1 %tobool.not.i.i.i.i.i, label %ehcleanup1011, label %if.then.i.i.i.i.i -if.then.i.i.i.i.i: ; preds = %lpad.i.i628 +if.then.i.i.i.i.i: ; preds = %lpad.i.i661 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4054 br label %ehcleanup1011 @@ -147288,7 +147292,7 @@ _ZN4absl13hash_internal17ContainerAsVectorISt6vectorIS2_IN12_GLOBAL__N_117Unorde for.body.lr.ph.i7.i: ; preds = %_ZN4absl13hash_internal17ContainerAsVectorISt6vectorIS2_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS5_EESaIS7_EEE2DoERKS9_.exit.i %50 = getelementptr inbounds i8, ptr %classes.i.i, i64 8 - %_M_end_of_storage.i.i.i619 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1255", ptr %classes.i.i, i64 0, i32 2 + %_M_end_of_storage.i.i.i652 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1255", ptr %classes.i.i, i64 0, i32 2 %moved_from_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 2 %_M_engaged.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i, i64 0, i32 1 %error_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 1 @@ -147417,13 +147421,13 @@ if.end11.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i %incdec.ptr.i10.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 2 %62 = load i32, ptr %incdec.ptr.i10.i.i.i.i.i, align 4 %cmp.i11.i.i.i.i.i = icmp eq i32 %62, %58 - br i1 %cmp.i11.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit954, label %if.end17.i.i.i.i.i + br i1 %cmp.i11.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit987, label %if.end17.i.i.i.i.i if.end17.i.i.i.i.i: ; preds = %if.end11.i.i.i.i.i %incdec.ptr.i12.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 3 %63 = load i32, ptr %incdec.ptr.i12.i.i.i.i.i, align 4 %cmp.i13.i.i.i.i.i = icmp eq i32 %63, %58 - br i1 %cmp.i13.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit956, label %if.end23.i.i.i.i.i + br i1 %cmp.i13.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit989, label %if.end23.i.i.i.i.i if.end23.i.i.i.i.i: ; preds = %if.end17.i.i.i.i.i %incdec.ptr.i14.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 4 @@ -147487,35 +147491,35 @@ _ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17 %incdec.ptr.i.i.i9.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 1 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit954: ; preds = %if.end11.i.i.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit987: ; preds = %if.end11.i.i.i.i.i %incdec.ptr.i10.i.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 2 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit956: ; preds = %if.end17.i.i.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit989: ; preds = %if.end17.i.i.i.i.i %incdec.ptr.i12.i.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 3 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit954, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit956, %sw.bb39.i.i.i.i.i, %sw.bb32.i.i.i.i.i, %sw.bb.i.i.i.i.i, %for.end.i.i.i.i.i - %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %__first.sroa.0.1.i.i.i.i.i, %sw.bb32.i.i.i.i.i ], [ %__scan.sroa.0.049.i.i.i, %for.end.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb39.i.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit ], [ %incdec.ptr.i10.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit954 ], [ %incdec.ptr.i12.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit956 ], [ %__first.sroa.0.051.i.i.i.i.i, %for.body.i.i.i.i.i ] +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit987, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit989, %sw.bb39.i.i.i.i.i, %sw.bb32.i.i.i.i.i, %sw.bb.i.i.i.i.i, %for.end.i.i.i.i.i + %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %__first.sroa.0.1.i.i.i.i.i, %sw.bb32.i.i.i.i.i ], [ %__scan.sroa.0.049.i.i.i, %for.end.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb39.i.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit ], [ %incdec.ptr.i10.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit987 ], [ %incdec.ptr.i12.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit989 ], [ %__first.sroa.0.051.i.i.i.i.i, %for.body.i.i.i.i.i ] %cmp.i11.not.i.i.i = icmp eq ptr %__scan.sroa.0.049.i.i.i, %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i br i1 %cmp.i11.not.i.i.i, label %for.body.lr.ph.i.i.i.i, label %for.inc69.i.i.i for.body.lr.ph.i.i.i.i: ; preds = %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i %70 = load i32, ptr %__scan.sroa.0.049.i.i.i, align 4 - br label %for.body.i.i.i.i626 + br label %for.body.i.i.i.i659 -for.body.i.i.i.i626: ; preds = %for.body.i.i.i.i626, %for.body.lr.ph.i.i.i.i - %__n.06.i.i.i.i = phi i64 [ 0, %for.body.lr.ph.i.i.i.i ], [ %spec.select.i.i.i.i, %for.body.i.i.i.i626 ] - %__first.sroa.0.05.i.i.i.i = phi ptr [ %__first2.sroa.0.0.lcssa.i.i.i, %for.body.lr.ph.i.i.i.i ], [ %incdec.ptr.i.i.i926.i.i, %for.body.i.i.i.i626 ] +for.body.i.i.i.i659: ; preds = %for.body.i.i.i.i659, %for.body.lr.ph.i.i.i.i + %__n.06.i.i.i.i = phi i64 [ 0, %for.body.lr.ph.i.i.i.i ], [ %spec.select.i.i.i.i, %for.body.i.i.i.i659 ] + %__first.sroa.0.05.i.i.i.i = phi ptr [ %__first2.sroa.0.0.lcssa.i.i.i, %for.body.lr.ph.i.i.i.i ], [ %incdec.ptr.i.i.i926.i.i, %for.body.i.i.i.i659 ] %71 = load i32, ptr %__first.sroa.0.05.i.i.i.i, align 4 %cmp.i2.i.i.i.i = icmp eq i32 %71, %70 %inc.i.i.i.i = zext i1 %cmp.i2.i.i.i.i to i64 %spec.select.i.i.i.i = add nuw nsw i64 %__n.06.i.i.i.i, %inc.i.i.i.i %incdec.ptr.i.i.i926.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.05.i.i.i.i, i64 1 %cmp.i.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i926.i.i, %add.ptr.i.i.i.i.i.i - br i1 %cmp.i.not.i.i.i.i, label %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i, label %for.body.i.i.i.i626, !llvm.loop !2178 + br i1 %cmp.i.not.i.i.i.i, label %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i, label %for.body.i.i.i.i659, !llvm.loop !2178 -_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i626 +_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i659 %cmp.i927.i.i = icmp eq i64 %spec.select.i.i.i.i, 0 br i1 %cmp.i927.i.i, label %for.inc.i9.i, label %for.body.i14.i.i.i @@ -147548,17 +147552,17 @@ for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.inc.i.i.i, %for lpad.loopexit15.i.i: ; preds = %for.body66.i.i %lpad.loopexit16.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i621 + br label %lpad.body.i654 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i %lpad.loopexit22.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i621 + br label %lpad.body.i654 lpad.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.i.invoke.i.i %lpad.loopexit.split-lp23.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i621 + br label %lpad.body.i654 for.inc.i9.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit23.i.i.i, %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i, %for.body13.i.i %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.1277", ptr %__begin05.sroa.0.061.i.i, i64 1 @@ -147566,11 +147570,11 @@ for.inc.i9.i: ; preds = %for.body.i.i.i.i.i. br i1 %cmp.i103.not.i.i, label %if.then19.i.i, label %for.body13.i.i if.then19.i.i: ; preds = %for.inc.i9.i, %for.body.i8.i - %73 = load ptr, ptr %_M_end_of_storage.i.i.i619, align 8, !noalias !4065 + %73 = load ptr, ptr %_M_end_of_storage.i.i.i652, align 8, !noalias !4065 %cmp.not.i.i.i = icmp eq ptr %classes.val54.i.i, %73 - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i620 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i653 -if.then.i.i.i620: ; preds = %if.then19.i.i +if.then.i.i.i653: ; preds = %if.then19.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i, i8 0, i64 24, i1 false) %incdec.ptr.i105.i.i = getelementptr inbounds %"class.std::vector.1277", ptr %classes.val54.i.i, i64 1 store ptr %incdec.ptr.i105.i.i, ptr %50, align 8, !noalias !4065 @@ -147624,9 +147628,9 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] - %incdec.ptr.i.i.i37.i = getelementptr inbounds %"class.std::vector.1277", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i38.i = icmp eq ptr %classes.val.i.i, null - br i1 %tobool.not.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i + %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.1277", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i39.i = icmp eq ptr %classes.val.i.i, null + br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i) #31 @@ -147634,13 +147638,13 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !4065 - store ptr %incdec.ptr.i.i.i37.i, ptr %50, align 8, !noalias !4065 + store ptr %incdec.ptr.i.i.i38.i, ptr %50, align 8, !noalias !4065 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.1277", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i - store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i619, align 8, !noalias !4065 + store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i652, align 8, !noalias !4065 br label %if.end23.i.i -if.end23.i.i: ; preds = %land.rhs.i.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i620 - %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i620 ], [ %__begin05.sroa.0.061.i.i, %for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %__begin05.sroa.0.061.i.i, %land.rhs.i.i.i.i.i.i.i.i.i.i ] +if.end23.i.i: ; preds = %land.rhs.i.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i653 + %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i653 ], [ %__begin05.sroa.0.061.i.i, %for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %__begin05.sroa.0.061.i.i, %land.rhs.i.i.i.i.i.i.i.i.i.i ] %_M_finish.i.i.i11.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1283", ptr %c.1.i.i, i64 0, i32 1 %76 = load ptr, ptr %_M_finish.i.i.i11.i, align 8 %_M_end_of_storage.i.i.i12.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1283", ptr %c.1.i.i, i64 0, i32 2 @@ -147695,31 +147699,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.064.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.065.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1284, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1284, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.1284, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.1284, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %79 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %78, %if.then.i.i.i14.i ] + %79 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %78, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.065.i.i, 1 %call28.val.i.i = load ptr, ptr %79, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -147730,8 +147735,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !4076) %80 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !4079 %81 = and i8 %80, 1 - %tobool.not.i.i.i622 = icmp eq i8 %81, 0 - br i1 %tobool.not.i.i.i622, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i655 = icmp eq i8 %81, 0 + br i1 %tobool.not.i.i.i655, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -147936,7 +147941,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %110 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i621 + br label %lpad.body.i654 lpad35.i.i: ; preds = %if.then33.i.i %111 = landingpad { ptr, i32 } @@ -147958,12 +147963,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %113 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4065 %114 = and i8 %113, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %114, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i621, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i654, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4065 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i621 + br label %lpad.body.i654 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !4065 @@ -148065,7 +148070,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %122, %lpad51.i.i ], [ %118, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %118, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i621 + br label %lpad.body.i654 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.071.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -150099,7 +150104,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %223, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit12.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp13.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i621 + br label %lpad.body.i654 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_) @@ -150209,32 +150214,32 @@ cleanup257.i.i: ; preds = %if.then.i.i.i1.i893 %_M_finish.i914.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1255", ptr %classes.i.i, i64 0, i32 1 %392 = load ptr, ptr %_M_finish.i914.i.i, align 8, !noalias !4065 %cmp.not3.i.i.i.i.i.i = icmp eq ptr %391, %392 - br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i623 + br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i656 -for.body.i.i.i.i.i.i623: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i656: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %391, %cleanup257.i.i ] %__first.addr.0.val.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i -if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i623 +if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i656 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i623 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i656 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1277", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i916.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i, %392 - br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i623, !llvm.loop !4080 + br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i656, !llvm.loop !4080 invoke.cont.i917.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS7_EEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i %tobool.not.i.i.i918.i.i = icmp eq ptr %391, null - br i1 %tobool.not.i.i.i918.i.i, label %invoke.cont.i624, label %if.then.i.i.i919.i.i + br i1 %tobool.not.i.i.i918.i.i, label %invoke.cont.i657, label %if.then.i.i.i919.i.i if.then.i.i.i919.i.i: ; preds = %invoke.cont.i917.i.i call void @_ZdlPv(ptr noundef nonnull %391) #31 - br label %invoke.cont.i624 + br label %invoke.cont.i657 -invoke.cont.i624: ; preds = %if.then.i.i.i919.i.i, %invoke.cont.i917.i.i +invoke.cont.i657: ; preds = %if.then.i.i.i919.i.i, %invoke.cont.i917.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i), !noalias !4062 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i), !noalias !4062 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i), !noalias !4062 @@ -150259,135 +150264,135 @@ invoke.cont.i624: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i), !noalias !4062 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !4062 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !4062 - %tobool.not.i.i.i.i625 = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i625, label %invoke.cont994, label %if.then.i.i.i39.i + %tobool.not.i.i.i.i658 = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i.i658, label %invoke.cont994, label %if.then.i.i.i40.i -if.then.i.i.i39.i: ; preds = %invoke.cont.i624 +if.then.i.i.i40.i: ; preds = %invoke.cont.i657 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %invoke.cont994 -lpad.body.i621: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit15.i.i +lpad.body.i654: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit15.i.i %.pn46.pn.i.i = phi { ptr, i32 } [ %110, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit16.i.i, %lpad.loopexit15.i.i ], [ %lpad.loopexit22.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp23.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS6_EEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i40.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i40.i, label %ehcleanup1011, label %if.then.i.i.i41.i + %tobool.not.i.i.i41.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i41.i, label %ehcleanup1011, label %if.then.i.i.i42.i -if.then.i.i.i41.i: ; preds = %lpad.body.i621 +if.then.i.i.i42.i: ; preds = %lpad.body.i654 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %ehcleanup1011 -invoke.cont994: ; preds = %if.then.i.i.i39.i, %invoke.cont.i624 +invoke.cont994: ; preds = %if.then.i.i.i40.i, %invoke.cont.i657 %393 = load i8, ptr %gtest_ar_, align 8 %394 = and i8 %393, 1 %tobool.i.not = icmp eq i8 %394, 0 br i1 %tobool.i.not, label %if.else, label %if.end -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit632: ; preds = %invoke.cont65 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665: ; preds = %invoke.cont65 %395 = landingpad { ptr, i32 } cleanup call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i55) #31 br label %ehcleanup930 -lpad100.body: ; preds = %lpad.i.i107, %lpad.i.i95 - %arrayinit.endOfInit91.0.lpad-body = phi ptr [ %arrayinit.element102, %lpad.i.i95 ], [ %arrayinit.element112, %lpad.i.i107 ] - %eh.lpad-body92 = phi { ptr, i32 } [ %8, %lpad.i.i95 ], [ %9, %lpad.i.i107 ] +lpad100.body: ; preds = %lpad.i.i111, %lpad.i.i98 + %arrayinit.endOfInit91.0.lpad-body = phi ptr [ %arrayinit.element102, %lpad.i.i98 ], [ %arrayinit.element112, %lpad.i.i111 ] + %eh.lpad-body95 = phi { ptr, i32 } [ %8, %lpad.i.i98 ], [ %9, %lpad.i.i111 ] br label %arraydestroy.body123 -arraydestroy.body123: ; preds = %lpad100.body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 - %arraydestroy.elementPast124 = phi ptr [ %arrayinit.endOfInit91.0.lpad-body, %lpad100.body ], [ %arraydestroy.element125, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 ] +arraydestroy.body123: ; preds = %lpad100.body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 + %arraydestroy.elementPast124 = phi ptr [ %arrayinit.endOfInit91.0.lpad-body, %lpad100.body ], [ %arraydestroy.element125, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ] %arraydestroy.element125 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast124, i64 -1 %arraydestroy.element125.val = load ptr, ptr %arraydestroy.element125, align 8 - %tobool.not.i.i.i.i633 = icmp eq ptr %arraydestroy.element125.val, null - br i1 %tobool.not.i.i.i.i633, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635, label %if.then.i.i.i.i634 + %tobool.not.i.i.i.i666 = icmp eq ptr %arraydestroy.element125.val, null + br i1 %tobool.not.i.i.i.i666, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668, label %if.then.i.i.i.i667 -if.then.i.i.i.i634: ; preds = %arraydestroy.body123 +if.then.i.i.i.i667: ; preds = %arraydestroy.body123 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element125.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635: ; preds = %arraydestroy.body123, %if.then.i.i.i.i634 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668: ; preds = %arraydestroy.body123, %if.then.i.i.i.i667 %arraydestroy.done126 = icmp eq ptr %arraydestroy.element125, %ref.tmp89 br i1 %arraydestroy.done126, label %ehcleanup916, label %arraydestroy.body123 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638: ; preds = %invoke.cont133 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671: ; preds = %invoke.cont133 %396 = landingpad { ptr, i32 } cleanup br label %ehcleanup902 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641: ; preds = %invoke.cont160 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674: ; preds = %invoke.cont160 %397 = landingpad { ptr, i32 } cleanup br label %ehcleanup888 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644: ; preds = %invoke.cont255 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677: ; preds = %invoke.cont255 %398 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i197) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i206) #31 br label %ehcleanup846 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647: ; preds = %invoke.cont290 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680: ; preds = %invoke.cont290 %399 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i226) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i237) #31 br label %ehcleanup832 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650: ; preds = %invoke.cont325 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683: ; preds = %invoke.cont325 %400 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i255) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i268) #31 br label %ehcleanup818 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653: ; preds = %invoke.cont360 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686: ; preds = %invoke.cont360 %401 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i284) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i299) #31 br label %ehcleanup804 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656: ; preds = %invoke.cont395 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689: ; preds = %invoke.cont395 %402 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i313) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i330) #31 br label %ehcleanup790 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659: ; preds = %invoke.cont430 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692: ; preds = %invoke.cont430 %403 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i342) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i361) #31 br label %ehcleanup776 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662: ; preds = %invoke.cont465 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695: ; preds = %invoke.cont465 %404 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i371) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i392) #31 br label %ehcleanup762 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665: ; preds = %invoke.cont500 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698: ; preds = %invoke.cont500 %405 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i400) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i423) #31 br label %ehcleanup748 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668: ; preds = %invoke.cont535 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701: ; preds = %invoke.cont535 %406 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i429) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i454) #31 br label %ehcleanup734 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671: ; preds = %invoke.cont570 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704: ; preds = %invoke.cont570 %407 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i458) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i485) #31 br label %ehcleanup720 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674: ; preds = %invoke.cont605 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707: ; preds = %invoke.cont605 %408 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i487) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i516) #31 br label %ehcleanup706 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677: ; preds = %invoke.cont640 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710: ; preds = %invoke.cont640 %409 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i516) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i547) #31 br label %ehcleanup692 lpad666: ; preds = %invoke.cont661 @@ -150395,8 +150400,8 @@ lpad666: ; preds = %invoke.cont661 cleanup br label %lpad666.body -lpad666.body: ; preds = %lpad.body.i545, %if.then.i.i6.i, %lpad666 - %eh.lpad-body548 = phi { ptr, i32 } [ %410, %lpad666 ], [ %44, %if.then.i.i6.i ], [ %44, %lpad.body.i545 ] +lpad666.body: ; preds = %lpad.body.i578, %if.then.i.i6.i, %lpad666 + %eh.lpad-body581 = phi { ptr, i32 } [ %410, %lpad666 ], [ %44, %if.then.i.i6.i ], [ %44, %lpad.body.i578 ] %411 = getelementptr inbounds %"class.std::vector.588", ptr %ref.tmp, i64 23 br label %arraydestroy.body674 @@ -150407,456 +150412,456 @@ arraydestroy.body674: ; preds = %arraydestroy.body67 %arraydestroy.done677 = icmp eq ptr %arraydestroy.element676, %ref.tmp br i1 %arraydestroy.done677, label %ehcleanup, label %arraydestroy.body674 -ehcleanup: ; preds = %arraydestroy.body674, %if.then.i.i.i541, %lpad.i538 - %.pn = phi { ptr, i32 } [ %40, %if.then.i.i.i541 ], [ %40, %lpad.i538 ], [ %eh.lpad-body548, %arraydestroy.body674 ] - %cleanup.isactive.0 = phi i1 [ true, %if.then.i.i.i541 ], [ true, %lpad.i538 ], [ false, %arraydestroy.body674 ] +ehcleanup: ; preds = %arraydestroy.body674, %if.then.i.i.i574, %lpad.i571 + %.pn = phi { ptr, i32 } [ %40, %if.then.i.i.i574 ], [ %40, %lpad.i571 ], [ %eh.lpad-body581, %arraydestroy.body674 ] + %cleanup.isactive.0 = phi i1 [ true, %if.then.i.i.i574 ], [ true, %lpad.i571 ], [ false, %arraydestroy.body674 ] br label %arraydestroy.body687 -arraydestroy.body687: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680, %ehcleanup - %arraydestroy.elementPast688 = phi ptr [ %add.ptr.i.i537, %ehcleanup ], [ %arraydestroy.element689, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ] +arraydestroy.body687: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, %ehcleanup + %arraydestroy.elementPast688 = phi ptr [ %add.ptr.i.i570, %ehcleanup ], [ %arraydestroy.element689, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] %arraydestroy.element689 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast688, i64 -1 %arraydestroy.element689.val = load ptr, ptr %arraydestroy.element689, align 8 - %tobool.not.i.i.i.i678 = icmp eq ptr %arraydestroy.element689.val, null - br i1 %tobool.not.i.i.i.i678, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680, label %if.then.i.i.i.i679 + %tobool.not.i.i.i.i711 = icmp eq ptr %arraydestroy.element689.val, null + br i1 %tobool.not.i.i.i.i711, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, label %if.then.i.i.i.i712 -if.then.i.i.i.i679: ; preds = %arraydestroy.body687 +if.then.i.i.i.i712: ; preds = %arraydestroy.body687 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element689.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680: ; preds = %arraydestroy.body687, %if.then.i.i.i.i679 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713: ; preds = %arraydestroy.body687, %if.then.i.i.i.i712 %arraydestroy.done690 = icmp eq ptr %arraydestroy.element689, %ref.tmp629 br i1 %arraydestroy.done690, label %ehcleanup692, label %arraydestroy.body687 -ehcleanup692: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680, %lpad.i.i517, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677, %if.then.i.i.i512, %lpad.i509 - %.pn.pn = phi { ptr, i32 } [ %38, %if.then.i.i.i512 ], [ %38, %lpad.i509 ], [ %39, %lpad.i.i517 ], [ %409, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element592, %if.then.i.i.i512 ], [ %arrayinit.element592, %lpad.i509 ], [ %arrayinit.element627, %lpad.i.i517 ], [ %arrayinit.element627, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %arrayinit.element627, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ] - %cleanup.isactive.1 = phi i1 [ true, %if.then.i.i.i512 ], [ true, %lpad.i509 ], [ true, %lpad.i.i517 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %cleanup.isactive.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ] +ehcleanup692: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, %lpad.i.i548, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710, %if.then.i.i.i543, %lpad.i540 + %.pn.pn = phi { ptr, i32 } [ %38, %if.then.i.i.i543 ], [ %38, %lpad.i540 ], [ %39, %lpad.i.i548 ], [ %409, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ], [ %.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element592, %if.then.i.i.i543 ], [ %arrayinit.element592, %lpad.i540 ], [ %arrayinit.element627, %lpad.i.i548 ], [ %arrayinit.element627, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ], [ %arrayinit.element627, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] + %cleanup.isactive.1 = phi i1 [ true, %if.then.i.i.i543 ], [ true, %lpad.i540 ], [ true, %lpad.i.i548 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ], [ %cleanup.isactive.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] br label %arraydestroy.body701 -arraydestroy.body701: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683, %ehcleanup692 - %arraydestroy.elementPast702 = phi ptr [ %add.ptr.i.i508, %ehcleanup692 ], [ %arraydestroy.element703, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ] +arraydestroy.body701: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, %ehcleanup692 + %arraydestroy.elementPast702 = phi ptr [ %add.ptr.i.i539, %ehcleanup692 ], [ %arraydestroy.element703, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] %arraydestroy.element703 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast702, i64 -1 %arraydestroy.element703.val = load ptr, ptr %arraydestroy.element703, align 8 - %tobool.not.i.i.i.i681 = icmp eq ptr %arraydestroy.element703.val, null - br i1 %tobool.not.i.i.i.i681, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683, label %if.then.i.i.i.i682 + %tobool.not.i.i.i.i714 = icmp eq ptr %arraydestroy.element703.val, null + br i1 %tobool.not.i.i.i.i714, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, label %if.then.i.i.i.i715 -if.then.i.i.i.i682: ; preds = %arraydestroy.body701 +if.then.i.i.i.i715: ; preds = %arraydestroy.body701 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element703.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683: ; preds = %arraydestroy.body701, %if.then.i.i.i.i682 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716: ; preds = %arraydestroy.body701, %if.then.i.i.i.i715 %arraydestroy.done704 = icmp eq ptr %arraydestroy.element703, %ref.tmp594 br i1 %arraydestroy.done704, label %ehcleanup706, label %arraydestroy.body701 -ehcleanup706: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683, %lpad.i.i488, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674, %if.then.i.i.i483, %lpad.i480 - %.pn.pn.pn = phi { ptr, i32 } [ %36, %if.then.i.i.i483 ], [ %36, %lpad.i480 ], [ %37, %lpad.i.i488 ], [ %408, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ] - %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element557, %if.then.i.i.i483 ], [ %arrayinit.element557, %lpad.i480 ], [ %arrayinit.element592, %lpad.i.i488 ], [ %arrayinit.element592, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %arrayinit.endOfInit.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ] - %cleanup.isactive.2 = phi i1 [ true, %if.then.i.i.i483 ], [ true, %lpad.i480 ], [ true, %lpad.i.i488 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %cleanup.isactive.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ] +ehcleanup706: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, %lpad.i.i517, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707, %if.then.i.i.i512, %lpad.i509 + %.pn.pn.pn = phi { ptr, i32 } [ %36, %if.then.i.i.i512 ], [ %36, %lpad.i509 ], [ %37, %lpad.i.i517 ], [ %408, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ], [ %.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] + %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element557, %if.then.i.i.i512 ], [ %arrayinit.element557, %lpad.i509 ], [ %arrayinit.element592, %lpad.i.i517 ], [ %arrayinit.element592, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ], [ %arrayinit.endOfInit.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] + %cleanup.isactive.2 = phi i1 [ true, %if.then.i.i.i512 ], [ true, %lpad.i509 ], [ true, %lpad.i.i517 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ], [ %cleanup.isactive.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] br label %arraydestroy.body715 -arraydestroy.body715: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686, %ehcleanup706 - %arraydestroy.elementPast716 = phi ptr [ %add.ptr.i.i479, %ehcleanup706 ], [ %arraydestroy.element717, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ] +arraydestroy.body715: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, %ehcleanup706 + %arraydestroy.elementPast716 = phi ptr [ %add.ptr.i.i508, %ehcleanup706 ], [ %arraydestroy.element717, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] %arraydestroy.element717 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast716, i64 -1 %arraydestroy.element717.val = load ptr, ptr %arraydestroy.element717, align 8 - %tobool.not.i.i.i.i684 = icmp eq ptr %arraydestroy.element717.val, null - br i1 %tobool.not.i.i.i.i684, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686, label %if.then.i.i.i.i685 + %tobool.not.i.i.i.i717 = icmp eq ptr %arraydestroy.element717.val, null + br i1 %tobool.not.i.i.i.i717, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, label %if.then.i.i.i.i718 -if.then.i.i.i.i685: ; preds = %arraydestroy.body715 +if.then.i.i.i.i718: ; preds = %arraydestroy.body715 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element717.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686: ; preds = %arraydestroy.body715, %if.then.i.i.i.i685 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719: ; preds = %arraydestroy.body715, %if.then.i.i.i.i718 %arraydestroy.done718 = icmp eq ptr %arraydestroy.element717, %ref.tmp559 br i1 %arraydestroy.done718, label %ehcleanup720, label %arraydestroy.body715 -ehcleanup720: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686, %lpad.i.i459, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671, %if.then.i.i.i454, %lpad.i451 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %34, %if.then.i.i.i454 ], [ %34, %lpad.i451 ], [ %35, %lpad.i.i459 ], [ %407, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ] - %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element522, %if.then.i.i.i454 ], [ %arrayinit.element522, %lpad.i451 ], [ %arrayinit.element557, %lpad.i.i459 ], [ %arrayinit.element557, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %arrayinit.endOfInit.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ] - %cleanup.isactive.3 = phi i1 [ true, %if.then.i.i.i454 ], [ true, %lpad.i451 ], [ true, %lpad.i.i459 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %cleanup.isactive.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ] +ehcleanup720: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, %lpad.i.i486, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704, %if.then.i.i.i481, %lpad.i478 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %34, %if.then.i.i.i481 ], [ %34, %lpad.i478 ], [ %35, %lpad.i.i486 ], [ %407, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ], [ %.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] + %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element522, %if.then.i.i.i481 ], [ %arrayinit.element522, %lpad.i478 ], [ %arrayinit.element557, %lpad.i.i486 ], [ %arrayinit.element557, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ], [ %arrayinit.endOfInit.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] + %cleanup.isactive.3 = phi i1 [ true, %if.then.i.i.i481 ], [ true, %lpad.i478 ], [ true, %lpad.i.i486 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ], [ %cleanup.isactive.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] br label %arraydestroy.body729 -arraydestroy.body729: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689, %ehcleanup720 - %arraydestroy.elementPast730 = phi ptr [ %add.ptr.i.i450, %ehcleanup720 ], [ %arraydestroy.element731, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ] +arraydestroy.body729: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, %ehcleanup720 + %arraydestroy.elementPast730 = phi ptr [ %add.ptr.i.i477, %ehcleanup720 ], [ %arraydestroy.element731, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] %arraydestroy.element731 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast730, i64 -1 %arraydestroy.element731.val = load ptr, ptr %arraydestroy.element731, align 8 - %tobool.not.i.i.i.i687 = icmp eq ptr %arraydestroy.element731.val, null - br i1 %tobool.not.i.i.i.i687, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689, label %if.then.i.i.i.i688 + %tobool.not.i.i.i.i720 = icmp eq ptr %arraydestroy.element731.val, null + br i1 %tobool.not.i.i.i.i720, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, label %if.then.i.i.i.i721 -if.then.i.i.i.i688: ; preds = %arraydestroy.body729 +if.then.i.i.i.i721: ; preds = %arraydestroy.body729 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element731.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689: ; preds = %arraydestroy.body729, %if.then.i.i.i.i688 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722: ; preds = %arraydestroy.body729, %if.then.i.i.i.i721 %arraydestroy.done732 = icmp eq ptr %arraydestroy.element731, %ref.tmp524 br i1 %arraydestroy.done732, label %ehcleanup734, label %arraydestroy.body729 -ehcleanup734: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689, %lpad.i.i430, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668, %if.then.i.i.i425, %lpad.i422 - %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %32, %if.then.i.i.i425 ], [ %32, %lpad.i422 ], [ %33, %lpad.i.i430 ], [ %406, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element487, %if.then.i.i.i425 ], [ %arrayinit.element487, %lpad.i422 ], [ %arrayinit.element522, %lpad.i.i430 ], [ %arrayinit.element522, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %arrayinit.endOfInit.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ] - %cleanup.isactive.4 = phi i1 [ true, %if.then.i.i.i425 ], [ true, %lpad.i422 ], [ true, %lpad.i.i430 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %cleanup.isactive.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ] +ehcleanup734: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, %lpad.i.i455, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701, %if.then.i.i.i450, %lpad.i447 + %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %32, %if.then.i.i.i450 ], [ %32, %lpad.i447 ], [ %33, %lpad.i.i455 ], [ %406, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ], [ %.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element487, %if.then.i.i.i450 ], [ %arrayinit.element487, %lpad.i447 ], [ %arrayinit.element522, %lpad.i.i455 ], [ %arrayinit.element522, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ], [ %arrayinit.endOfInit.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] + %cleanup.isactive.4 = phi i1 [ true, %if.then.i.i.i450 ], [ true, %lpad.i447 ], [ true, %lpad.i.i455 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ], [ %cleanup.isactive.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] br label %arraydestroy.body743 -arraydestroy.body743: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692, %ehcleanup734 - %arraydestroy.elementPast744 = phi ptr [ %add.ptr.i.i421, %ehcleanup734 ], [ %arraydestroy.element745, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ] +arraydestroy.body743: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, %ehcleanup734 + %arraydestroy.elementPast744 = phi ptr [ %add.ptr.i.i446, %ehcleanup734 ], [ %arraydestroy.element745, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] %arraydestroy.element745 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast744, i64 -1 %arraydestroy.element745.val = load ptr, ptr %arraydestroy.element745, align 8 - %tobool.not.i.i.i.i690 = icmp eq ptr %arraydestroy.element745.val, null - br i1 %tobool.not.i.i.i.i690, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692, label %if.then.i.i.i.i691 + %tobool.not.i.i.i.i723 = icmp eq ptr %arraydestroy.element745.val, null + br i1 %tobool.not.i.i.i.i723, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, label %if.then.i.i.i.i724 -if.then.i.i.i.i691: ; preds = %arraydestroy.body743 +if.then.i.i.i.i724: ; preds = %arraydestroy.body743 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element745.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692: ; preds = %arraydestroy.body743, %if.then.i.i.i.i691 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725: ; preds = %arraydestroy.body743, %if.then.i.i.i.i724 %arraydestroy.done746 = icmp eq ptr %arraydestroy.element745, %ref.tmp489 br i1 %arraydestroy.done746, label %ehcleanup748, label %arraydestroy.body743 -ehcleanup748: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692, %lpad.i.i401, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665, %if.then.i.i.i396, %lpad.i393 - %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %30, %if.then.i.i.i396 ], [ %30, %lpad.i393 ], [ %31, %lpad.i.i401 ], [ %405, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ] - %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element452, %if.then.i.i.i396 ], [ %arrayinit.element452, %lpad.i393 ], [ %arrayinit.element487, %lpad.i.i401 ], [ %arrayinit.element487, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %arrayinit.endOfInit.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ] - %cleanup.isactive.5 = phi i1 [ true, %if.then.i.i.i396 ], [ true, %lpad.i393 ], [ true, %lpad.i.i401 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %cleanup.isactive.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ] +ehcleanup748: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, %lpad.i.i424, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698, %if.then.i.i.i419, %lpad.i416 + %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %30, %if.then.i.i.i419 ], [ %30, %lpad.i416 ], [ %31, %lpad.i.i424 ], [ %405, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ], [ %.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] + %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element452, %if.then.i.i.i419 ], [ %arrayinit.element452, %lpad.i416 ], [ %arrayinit.element487, %lpad.i.i424 ], [ %arrayinit.element487, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ], [ %arrayinit.endOfInit.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] + %cleanup.isactive.5 = phi i1 [ true, %if.then.i.i.i419 ], [ true, %lpad.i416 ], [ true, %lpad.i.i424 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ], [ %cleanup.isactive.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] br label %arraydestroy.body757 -arraydestroy.body757: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695, %ehcleanup748 - %arraydestroy.elementPast758 = phi ptr [ %add.ptr.i.i392, %ehcleanup748 ], [ %arraydestroy.element759, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ] +arraydestroy.body757: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, %ehcleanup748 + %arraydestroy.elementPast758 = phi ptr [ %add.ptr.i.i415, %ehcleanup748 ], [ %arraydestroy.element759, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] %arraydestroy.element759 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast758, i64 -1 %arraydestroy.element759.val = load ptr, ptr %arraydestroy.element759, align 8 - %tobool.not.i.i.i.i693 = icmp eq ptr %arraydestroy.element759.val, null - br i1 %tobool.not.i.i.i.i693, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695, label %if.then.i.i.i.i694 + %tobool.not.i.i.i.i726 = icmp eq ptr %arraydestroy.element759.val, null + br i1 %tobool.not.i.i.i.i726, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, label %if.then.i.i.i.i727 -if.then.i.i.i.i694: ; preds = %arraydestroy.body757 +if.then.i.i.i.i727: ; preds = %arraydestroy.body757 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element759.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695: ; preds = %arraydestroy.body757, %if.then.i.i.i.i694 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728: ; preds = %arraydestroy.body757, %if.then.i.i.i.i727 %arraydestroy.done760 = icmp eq ptr %arraydestroy.element759, %ref.tmp454 br i1 %arraydestroy.done760, label %ehcleanup762, label %arraydestroy.body757 -ehcleanup762: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695, %lpad.i.i372, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662, %if.then.i.i.i367, %lpad.i364 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %28, %if.then.i.i.i367 ], [ %28, %lpad.i364 ], [ %29, %lpad.i.i372 ], [ %404, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ] - %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element417, %if.then.i.i.i367 ], [ %arrayinit.element417, %lpad.i364 ], [ %arrayinit.element452, %lpad.i.i372 ], [ %arrayinit.element452, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662 ], [ %arrayinit.endOfInit.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ] - %cleanup.isactive.6 = phi i1 [ true, %if.then.i.i.i367 ], [ true, %lpad.i364 ], [ true, %lpad.i.i372 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662 ], [ %cleanup.isactive.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ] +ehcleanup762: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, %lpad.i.i393, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695, %if.then.i.i.i388, %lpad.i385 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %28, %if.then.i.i.i388 ], [ %28, %lpad.i385 ], [ %29, %lpad.i.i393 ], [ %404, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] + %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element417, %if.then.i.i.i388 ], [ %arrayinit.element417, %lpad.i385 ], [ %arrayinit.element452, %lpad.i.i393 ], [ %arrayinit.element452, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ], [ %arrayinit.endOfInit.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] + %cleanup.isactive.6 = phi i1 [ true, %if.then.i.i.i388 ], [ true, %lpad.i385 ], [ true, %lpad.i.i393 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ], [ %cleanup.isactive.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] br label %arraydestroy.body771 -arraydestroy.body771: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698, %ehcleanup762 - %arraydestroy.elementPast772 = phi ptr [ %add.ptr.i.i363, %ehcleanup762 ], [ %arraydestroy.element773, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ] +arraydestroy.body771: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, %ehcleanup762 + %arraydestroy.elementPast772 = phi ptr [ %add.ptr.i.i384, %ehcleanup762 ], [ %arraydestroy.element773, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] %arraydestroy.element773 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast772, i64 -1 %arraydestroy.element773.val = load ptr, ptr %arraydestroy.element773, align 8 - %tobool.not.i.i.i.i696 = icmp eq ptr %arraydestroy.element773.val, null - br i1 %tobool.not.i.i.i.i696, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698, label %if.then.i.i.i.i697 + %tobool.not.i.i.i.i729 = icmp eq ptr %arraydestroy.element773.val, null + br i1 %tobool.not.i.i.i.i729, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, label %if.then.i.i.i.i730 -if.then.i.i.i.i697: ; preds = %arraydestroy.body771 +if.then.i.i.i.i730: ; preds = %arraydestroy.body771 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element773.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698: ; preds = %arraydestroy.body771, %if.then.i.i.i.i697 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731: ; preds = %arraydestroy.body771, %if.then.i.i.i.i730 %arraydestroy.done774 = icmp eq ptr %arraydestroy.element773, %ref.tmp419 br i1 %arraydestroy.done774, label %ehcleanup776, label %arraydestroy.body771 -ehcleanup776: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698, %lpad.i.i343, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659, %if.then.i.i.i338, %lpad.i335 - %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %26, %if.then.i.i.i338 ], [ %26, %lpad.i335 ], [ %27, %lpad.i.i343 ], [ %403, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element382, %if.then.i.i.i338 ], [ %arrayinit.element382, %lpad.i335 ], [ %arrayinit.element417, %lpad.i.i343 ], [ %arrayinit.element417, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659 ], [ %arrayinit.endOfInit.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ] - %cleanup.isactive.7 = phi i1 [ true, %if.then.i.i.i338 ], [ true, %lpad.i335 ], [ true, %lpad.i.i343 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659 ], [ %cleanup.isactive.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ] +ehcleanup776: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, %lpad.i.i362, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692, %if.then.i.i.i357, %lpad.i354 + %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %26, %if.then.i.i.i357 ], [ %26, %lpad.i354 ], [ %27, %lpad.i.i362 ], [ %403, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element382, %if.then.i.i.i357 ], [ %arrayinit.element382, %lpad.i354 ], [ %arrayinit.element417, %lpad.i.i362 ], [ %arrayinit.element417, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ], [ %arrayinit.endOfInit.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] + %cleanup.isactive.7 = phi i1 [ true, %if.then.i.i.i357 ], [ true, %lpad.i354 ], [ true, %lpad.i.i362 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ], [ %cleanup.isactive.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] br label %arraydestroy.body785 -arraydestroy.body785: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701, %ehcleanup776 - %arraydestroy.elementPast786 = phi ptr [ %add.ptr.i.i334, %ehcleanup776 ], [ %arraydestroy.element787, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ] +arraydestroy.body785: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, %ehcleanup776 + %arraydestroy.elementPast786 = phi ptr [ %add.ptr.i.i353, %ehcleanup776 ], [ %arraydestroy.element787, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] %arraydestroy.element787 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast786, i64 -1 %arraydestroy.element787.val = load ptr, ptr %arraydestroy.element787, align 8 - %tobool.not.i.i.i.i699 = icmp eq ptr %arraydestroy.element787.val, null - br i1 %tobool.not.i.i.i.i699, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701, label %if.then.i.i.i.i700 + %tobool.not.i.i.i.i732 = icmp eq ptr %arraydestroy.element787.val, null + br i1 %tobool.not.i.i.i.i732, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, label %if.then.i.i.i.i733 -if.then.i.i.i.i700: ; preds = %arraydestroy.body785 +if.then.i.i.i.i733: ; preds = %arraydestroy.body785 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element787.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701: ; preds = %arraydestroy.body785, %if.then.i.i.i.i700 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734: ; preds = %arraydestroy.body785, %if.then.i.i.i.i733 %arraydestroy.done788 = icmp eq ptr %arraydestroy.element787, %ref.tmp384 br i1 %arraydestroy.done788, label %ehcleanup790, label %arraydestroy.body785 -ehcleanup790: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701, %lpad.i.i314, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656, %if.then.i.i.i309, %lpad.i306 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %24, %if.then.i.i.i309 ], [ %24, %lpad.i306 ], [ %25, %lpad.i.i314 ], [ %402, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ] - %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element347, %if.then.i.i.i309 ], [ %arrayinit.element347, %lpad.i306 ], [ %arrayinit.element382, %lpad.i.i314 ], [ %arrayinit.element382, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656 ], [ %arrayinit.endOfInit.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ] - %cleanup.isactive.8 = phi i1 [ true, %if.then.i.i.i309 ], [ true, %lpad.i306 ], [ true, %lpad.i.i314 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656 ], [ %cleanup.isactive.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ] +ehcleanup790: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, %lpad.i.i331, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689, %if.then.i.i.i326, %lpad.i323 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %24, %if.then.i.i.i326 ], [ %24, %lpad.i323 ], [ %25, %lpad.i.i331 ], [ %402, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] + %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element347, %if.then.i.i.i326 ], [ %arrayinit.element347, %lpad.i323 ], [ %arrayinit.element382, %lpad.i.i331 ], [ %arrayinit.element382, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ], [ %arrayinit.endOfInit.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] + %cleanup.isactive.8 = phi i1 [ true, %if.then.i.i.i326 ], [ true, %lpad.i323 ], [ true, %lpad.i.i331 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ], [ %cleanup.isactive.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] br label %arraydestroy.body799 -arraydestroy.body799: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704, %ehcleanup790 - %arraydestroy.elementPast800 = phi ptr [ %add.ptr.i.i305, %ehcleanup790 ], [ %arraydestroy.element801, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ] +arraydestroy.body799: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, %ehcleanup790 + %arraydestroy.elementPast800 = phi ptr [ %add.ptr.i.i322, %ehcleanup790 ], [ %arraydestroy.element801, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] %arraydestroy.element801 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast800, i64 -1 %arraydestroy.element801.val = load ptr, ptr %arraydestroy.element801, align 8 - %tobool.not.i.i.i.i702 = icmp eq ptr %arraydestroy.element801.val, null - br i1 %tobool.not.i.i.i.i702, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704, label %if.then.i.i.i.i703 + %tobool.not.i.i.i.i735 = icmp eq ptr %arraydestroy.element801.val, null + br i1 %tobool.not.i.i.i.i735, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, label %if.then.i.i.i.i736 -if.then.i.i.i.i703: ; preds = %arraydestroy.body799 +if.then.i.i.i.i736: ; preds = %arraydestroy.body799 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element801.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704: ; preds = %arraydestroy.body799, %if.then.i.i.i.i703 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737: ; preds = %arraydestroy.body799, %if.then.i.i.i.i736 %arraydestroy.done802 = icmp eq ptr %arraydestroy.element801, %ref.tmp349 br i1 %arraydestroy.done802, label %ehcleanup804, label %arraydestroy.body799 -ehcleanup804: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704, %lpad.i.i285, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653, %if.then.i.i.i280, %lpad.i277 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %22, %if.then.i.i.i280 ], [ %22, %lpad.i277 ], [ %23, %lpad.i.i285 ], [ %401, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ] - %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element312, %if.then.i.i.i280 ], [ %arrayinit.element312, %lpad.i277 ], [ %arrayinit.element347, %lpad.i.i285 ], [ %arrayinit.element347, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653 ], [ %arrayinit.endOfInit.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ] - %cleanup.isactive.9 = phi i1 [ true, %if.then.i.i.i280 ], [ true, %lpad.i277 ], [ true, %lpad.i.i285 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653 ], [ %cleanup.isactive.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ] +ehcleanup804: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, %lpad.i.i300, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686, %if.then.i.i.i295, %lpad.i292 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %22, %if.then.i.i.i295 ], [ %22, %lpad.i292 ], [ %23, %lpad.i.i300 ], [ %401, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] + %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element312, %if.then.i.i.i295 ], [ %arrayinit.element312, %lpad.i292 ], [ %arrayinit.element347, %lpad.i.i300 ], [ %arrayinit.element347, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ], [ %arrayinit.endOfInit.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] + %cleanup.isactive.9 = phi i1 [ true, %if.then.i.i.i295 ], [ true, %lpad.i292 ], [ true, %lpad.i.i300 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ], [ %cleanup.isactive.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] br label %arraydestroy.body813 -arraydestroy.body813: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707, %ehcleanup804 - %arraydestroy.elementPast814 = phi ptr [ %add.ptr.i.i276, %ehcleanup804 ], [ %arraydestroy.element815, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ] +arraydestroy.body813: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, %ehcleanup804 + %arraydestroy.elementPast814 = phi ptr [ %add.ptr.i.i291, %ehcleanup804 ], [ %arraydestroy.element815, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] %arraydestroy.element815 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast814, i64 -1 %arraydestroy.element815.val = load ptr, ptr %arraydestroy.element815, align 8 - %tobool.not.i.i.i.i705 = icmp eq ptr %arraydestroy.element815.val, null - br i1 %tobool.not.i.i.i.i705, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707, label %if.then.i.i.i.i706 + %tobool.not.i.i.i.i738 = icmp eq ptr %arraydestroy.element815.val, null + br i1 %tobool.not.i.i.i.i738, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, label %if.then.i.i.i.i739 -if.then.i.i.i.i706: ; preds = %arraydestroy.body813 +if.then.i.i.i.i739: ; preds = %arraydestroy.body813 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element815.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707: ; preds = %arraydestroy.body813, %if.then.i.i.i.i706 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740: ; preds = %arraydestroy.body813, %if.then.i.i.i.i739 %arraydestroy.done816 = icmp eq ptr %arraydestroy.element815, %ref.tmp314 br i1 %arraydestroy.done816, label %ehcleanup818, label %arraydestroy.body813 -ehcleanup818: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707, %lpad.i.i256, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650, %if.then.i.i.i251, %lpad.i248 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %20, %if.then.i.i.i251 ], [ %20, %lpad.i248 ], [ %21, %lpad.i.i256 ], [ %400, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element277, %if.then.i.i.i251 ], [ %arrayinit.element277, %lpad.i248 ], [ %arrayinit.element312, %lpad.i.i256 ], [ %arrayinit.element312, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650 ], [ %arrayinit.endOfInit.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ] - %cleanup.isactive.10 = phi i1 [ true, %if.then.i.i.i251 ], [ true, %lpad.i248 ], [ true, %lpad.i.i256 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650 ], [ %cleanup.isactive.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ] +ehcleanup818: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, %lpad.i.i269, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683, %if.then.i.i.i264, %lpad.i261 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %20, %if.then.i.i.i264 ], [ %20, %lpad.i261 ], [ %21, %lpad.i.i269 ], [ %400, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element277, %if.then.i.i.i264 ], [ %arrayinit.element277, %lpad.i261 ], [ %arrayinit.element312, %lpad.i.i269 ], [ %arrayinit.element312, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ], [ %arrayinit.endOfInit.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] + %cleanup.isactive.10 = phi i1 [ true, %if.then.i.i.i264 ], [ true, %lpad.i261 ], [ true, %lpad.i.i269 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ], [ %cleanup.isactive.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] br label %arraydestroy.body827 -arraydestroy.body827: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710, %ehcleanup818 - %arraydestroy.elementPast828 = phi ptr [ %add.ptr.i.i247, %ehcleanup818 ], [ %arraydestroy.element829, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ] +arraydestroy.body827: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, %ehcleanup818 + %arraydestroy.elementPast828 = phi ptr [ %add.ptr.i.i260, %ehcleanup818 ], [ %arraydestroy.element829, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] %arraydestroy.element829 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast828, i64 -1 %arraydestroy.element829.val = load ptr, ptr %arraydestroy.element829, align 8 - %tobool.not.i.i.i.i708 = icmp eq ptr %arraydestroy.element829.val, null - br i1 %tobool.not.i.i.i.i708, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710, label %if.then.i.i.i.i709 + %tobool.not.i.i.i.i741 = icmp eq ptr %arraydestroy.element829.val, null + br i1 %tobool.not.i.i.i.i741, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, label %if.then.i.i.i.i742 -if.then.i.i.i.i709: ; preds = %arraydestroy.body827 +if.then.i.i.i.i742: ; preds = %arraydestroy.body827 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element829.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710: ; preds = %arraydestroy.body827, %if.then.i.i.i.i709 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743: ; preds = %arraydestroy.body827, %if.then.i.i.i.i742 %arraydestroy.done830 = icmp eq ptr %arraydestroy.element829, %ref.tmp279 br i1 %arraydestroy.done830, label %ehcleanup832, label %arraydestroy.body827 -ehcleanup832: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710, %lpad.i.i227, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647, %if.then.i.i.i222, %lpad.i219 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %18, %if.then.i.i.i222 ], [ %18, %lpad.i219 ], [ %19, %lpad.i.i227 ], [ %399, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ] - %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element242, %if.then.i.i.i222 ], [ %arrayinit.element242, %lpad.i219 ], [ %arrayinit.element277, %lpad.i.i227 ], [ %arrayinit.element277, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647 ], [ %arrayinit.endOfInit.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ] - %cleanup.isactive.11 = phi i1 [ true, %if.then.i.i.i222 ], [ true, %lpad.i219 ], [ true, %lpad.i.i227 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647 ], [ %cleanup.isactive.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ] +ehcleanup832: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, %lpad.i.i238, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680, %if.then.i.i.i233, %lpad.i230 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %18, %if.then.i.i.i233 ], [ %18, %lpad.i230 ], [ %19, %lpad.i.i238 ], [ %399, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] + %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element242, %if.then.i.i.i233 ], [ %arrayinit.element242, %lpad.i230 ], [ %arrayinit.element277, %lpad.i.i238 ], [ %arrayinit.element277, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %arrayinit.endOfInit.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] + %cleanup.isactive.11 = phi i1 [ true, %if.then.i.i.i233 ], [ true, %lpad.i230 ], [ true, %lpad.i.i238 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %cleanup.isactive.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] br label %arraydestroy.body841 -arraydestroy.body841: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, %ehcleanup832 - %arraydestroy.elementPast842 = phi ptr [ %add.ptr.i.i218, %ehcleanup832 ], [ %arraydestroy.element843, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] +arraydestroy.body841: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, %ehcleanup832 + %arraydestroy.elementPast842 = phi ptr [ %add.ptr.i.i229, %ehcleanup832 ], [ %arraydestroy.element843, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] %arraydestroy.element843 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast842, i64 -1 %arraydestroy.element843.val = load ptr, ptr %arraydestroy.element843, align 8 - %tobool.not.i.i.i.i711 = icmp eq ptr %arraydestroy.element843.val, null - br i1 %tobool.not.i.i.i.i711, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, label %if.then.i.i.i.i712 + %tobool.not.i.i.i.i744 = icmp eq ptr %arraydestroy.element843.val, null + br i1 %tobool.not.i.i.i.i744, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, label %if.then.i.i.i.i745 -if.then.i.i.i.i712: ; preds = %arraydestroy.body841 +if.then.i.i.i.i745: ; preds = %arraydestroy.body841 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element843.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713: ; preds = %arraydestroy.body841, %if.then.i.i.i.i712 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746: ; preds = %arraydestroy.body841, %if.then.i.i.i.i745 %arraydestroy.done844 = icmp eq ptr %arraydestroy.element843, %ref.tmp244 br i1 %arraydestroy.done844, label %ehcleanup846, label %arraydestroy.body841 -ehcleanup846: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, %lpad.i.i198, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644, %if.then.i.i.i193, %lpad.i190 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %if.then.i.i.i193 ], [ %16, %lpad.i190 ], [ %17, %lpad.i.i198 ], [ %398, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] - %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element215, %if.then.i.i.i193 ], [ %arrayinit.element215, %lpad.i190 ], [ %arrayinit.element242, %lpad.i.i198 ], [ %arrayinit.element242, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644 ], [ %arrayinit.endOfInit.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] - %cleanup.isactive.12 = phi i1 [ true, %if.then.i.i.i193 ], [ true, %lpad.i190 ], [ true, %lpad.i.i198 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644 ], [ %cleanup.isactive.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] +ehcleanup846: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, %lpad.i.i207, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677, %if.then.i.i.i202, %lpad.i199 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %if.then.i.i.i202 ], [ %16, %lpad.i199 ], [ %17, %lpad.i.i207 ], [ %398, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] + %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element215, %if.then.i.i.i202 ], [ %arrayinit.element215, %lpad.i199 ], [ %arrayinit.element242, %lpad.i.i207 ], [ %arrayinit.element242, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %arrayinit.endOfInit.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] + %cleanup.isactive.12 = phi i1 [ true, %if.then.i.i.i202 ], [ true, %lpad.i199 ], [ true, %lpad.i.i207 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %cleanup.isactive.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] br label %arraydestroy.body855 -arraydestroy.body855: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, %ehcleanup846 - %arraydestroy.elementPast856 = phi ptr [ %add.ptr.i.i189, %ehcleanup846 ], [ %arraydestroy.element857, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] +arraydestroy.body855: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749, %ehcleanup846 + %arraydestroy.elementPast856 = phi ptr [ %add.ptr.i.i198, %ehcleanup846 ], [ %arraydestroy.element857, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 ] %arraydestroy.element857 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast856, i64 -1 %arraydestroy.element857.val = load ptr, ptr %arraydestroy.element857, align 8 - %tobool.not.i.i.i.i714 = icmp eq ptr %arraydestroy.element857.val, null - br i1 %tobool.not.i.i.i.i714, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, label %if.then.i.i.i.i715 + %tobool.not.i.i.i.i747 = icmp eq ptr %arraydestroy.element857.val, null + br i1 %tobool.not.i.i.i.i747, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749, label %if.then.i.i.i.i748 -if.then.i.i.i.i715: ; preds = %arraydestroy.body855 +if.then.i.i.i.i748: ; preds = %arraydestroy.body855 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element857.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716: ; preds = %arraydestroy.body855, %if.then.i.i.i.i715 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749: ; preds = %arraydestroy.body855, %if.then.i.i.i.i748 %arraydestroy.done858 = icmp eq ptr %arraydestroy.element857, %ref.tmp217 br i1 %arraydestroy.done858, label %ehcleanup860, label %arraydestroy.body855 -ehcleanup860: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, %lpad.i.i180, %if.then.i.i.i175, %lpad.i172 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %14, %if.then.i.i.i175 ], [ %14, %lpad.i172 ], [ %15, %lpad.i.i180 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element188, %if.then.i.i.i175 ], [ %arrayinit.element188, %lpad.i172 ], [ %arrayinit.element215, %lpad.i.i180 ], [ %arrayinit.endOfInit.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] - %cleanup.isactive.13 = phi i1 [ true, %if.then.i.i.i175 ], [ true, %lpad.i172 ], [ true, %lpad.i.i180 ], [ %cleanup.isactive.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] +ehcleanup860: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749, %lpad.i.i188, %if.then.i.i.i183, %lpad.i180 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %14, %if.then.i.i.i183 ], [ %14, %lpad.i180 ], [ %15, %lpad.i.i188 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element188, %if.then.i.i.i183 ], [ %arrayinit.element188, %lpad.i180 ], [ %arrayinit.element215, %lpad.i.i188 ], [ %arrayinit.endOfInit.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 ] + %cleanup.isactive.13 = phi i1 [ true, %if.then.i.i.i183 ], [ true, %lpad.i180 ], [ true, %lpad.i.i188 ], [ %cleanup.isactive.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 ] br label %arraydestroy.body869 -arraydestroy.body869: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, %ehcleanup860 - %arraydestroy.elementPast870 = phi ptr [ %add.ptr.i.i171, %ehcleanup860 ], [ %arraydestroy.element871, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] +arraydestroy.body869: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752, %ehcleanup860 + %arraydestroy.elementPast870 = phi ptr [ %add.ptr.i.i179, %ehcleanup860 ], [ %arraydestroy.element871, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 ] %arraydestroy.element871 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast870, i64 -1 %arraydestroy.element871.val = load ptr, ptr %arraydestroy.element871, align 8 - %tobool.not.i.i.i.i717 = icmp eq ptr %arraydestroy.element871.val, null - br i1 %tobool.not.i.i.i.i717, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, label %if.then.i.i.i.i718 + %tobool.not.i.i.i.i750 = icmp eq ptr %arraydestroy.element871.val, null + br i1 %tobool.not.i.i.i.i750, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752, label %if.then.i.i.i.i751 -if.then.i.i.i.i718: ; preds = %arraydestroy.body869 +if.then.i.i.i.i751: ; preds = %arraydestroy.body869 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element871.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719: ; preds = %arraydestroy.body869, %if.then.i.i.i.i718 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752: ; preds = %arraydestroy.body869, %if.then.i.i.i.i751 %arraydestroy.done872 = icmp eq ptr %arraydestroy.element871, %ref.tmp190 br i1 %arraydestroy.done872, label %ehcleanup874, label %arraydestroy.body869 -ehcleanup874: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, %lpad.i.i162, %if.then.i.i.i157, %lpad.i154 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %12, %if.then.i.i.i157 ], [ %12, %lpad.i154 ], [ %13, %lpad.i.i162 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] - %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element161, %if.then.i.i.i157 ], [ %arrayinit.element161, %lpad.i154 ], [ %arrayinit.element188, %lpad.i.i162 ], [ %arrayinit.endOfInit.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] - %cleanup.isactive.14 = phi i1 [ true, %if.then.i.i.i157 ], [ true, %lpad.i154 ], [ true, %lpad.i.i162 ], [ %cleanup.isactive.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] +ehcleanup874: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752, %lpad.i.i169, %if.then.i.i.i164, %lpad.i161 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %12, %if.then.i.i.i164 ], [ %12, %lpad.i161 ], [ %13, %lpad.i.i169 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 ] + %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element161, %if.then.i.i.i164 ], [ %arrayinit.element161, %lpad.i161 ], [ %arrayinit.element188, %lpad.i.i169 ], [ %arrayinit.endOfInit.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 ] + %cleanup.isactive.14 = phi i1 [ true, %if.then.i.i.i164 ], [ true, %lpad.i161 ], [ true, %lpad.i.i169 ], [ %cleanup.isactive.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 ] br label %arraydestroy.body883 -arraydestroy.body883: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, %ehcleanup874 - %arraydestroy.elementPast884 = phi ptr [ %add.ptr.i.i153, %ehcleanup874 ], [ %arraydestroy.element885, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] +arraydestroy.body883: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755, %ehcleanup874 + %arraydestroy.elementPast884 = phi ptr [ %add.ptr.i.i160, %ehcleanup874 ], [ %arraydestroy.element885, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 ] %arraydestroy.element885 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast884, i64 -1 %arraydestroy.element885.val = load ptr, ptr %arraydestroy.element885, align 8 - %tobool.not.i.i.i.i720 = icmp eq ptr %arraydestroy.element885.val, null - br i1 %tobool.not.i.i.i.i720, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, label %if.then.i.i.i.i721 + %tobool.not.i.i.i.i753 = icmp eq ptr %arraydestroy.element885.val, null + br i1 %tobool.not.i.i.i.i753, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755, label %if.then.i.i.i.i754 -if.then.i.i.i.i721: ; preds = %arraydestroy.body883 +if.then.i.i.i.i754: ; preds = %arraydestroy.body883 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element885.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722: ; preds = %arraydestroy.body883, %if.then.i.i.i.i721 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755: ; preds = %arraydestroy.body883, %if.then.i.i.i.i754 %arraydestroy.done886 = icmp eq ptr %arraydestroy.element885, %ref.tmp163 br i1 %arraydestroy.done886, label %ehcleanup888, label %arraydestroy.body883 -ehcleanup888: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641, %if.then.i.i.i139, %lpad.i136 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %11, %if.then.i.i.i139 ], [ %11, %lpad.i136 ], [ %397, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] - %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element134, %if.then.i.i.i139 ], [ %arrayinit.element134, %lpad.i136 ], [ %arrayinit.element161, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641 ], [ %arrayinit.endOfInit.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] - %cleanup.isactive.15 = phi i1 [ true, %if.then.i.i.i139 ], [ true, %lpad.i136 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641 ], [ %cleanup.isactive.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] +ehcleanup888: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674, %if.then.i.i.i145, %lpad.i142 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %11, %if.then.i.i.i145 ], [ %11, %lpad.i142 ], [ %397, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 ] + %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element134, %if.then.i.i.i145 ], [ %arrayinit.element134, %lpad.i142 ], [ %arrayinit.element161, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %arrayinit.endOfInit.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 ] + %cleanup.isactive.15 = phi i1 [ true, %if.then.i.i.i145 ], [ true, %lpad.i142 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %cleanup.isactive.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 ] br label %arraydestroy.body897 -arraydestroy.body897: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, %ehcleanup888 - %arraydestroy.elementPast898 = phi ptr [ %add.ptr.i.i135, %ehcleanup888 ], [ %arraydestroy.element899, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] +arraydestroy.body897: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758, %ehcleanup888 + %arraydestroy.elementPast898 = phi ptr [ %add.ptr.i.i141, %ehcleanup888 ], [ %arraydestroy.element899, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 ] %arraydestroy.element899 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast898, i64 -1 %arraydestroy.element899.val = load ptr, ptr %arraydestroy.element899, align 8 - %tobool.not.i.i.i.i723 = icmp eq ptr %arraydestroy.element899.val, null - br i1 %tobool.not.i.i.i.i723, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, label %if.then.i.i.i.i724 + %tobool.not.i.i.i.i756 = icmp eq ptr %arraydestroy.element899.val, null + br i1 %tobool.not.i.i.i.i756, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758, label %if.then.i.i.i.i757 -if.then.i.i.i.i724: ; preds = %arraydestroy.body897 +if.then.i.i.i.i757: ; preds = %arraydestroy.body897 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element899.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725: ; preds = %arraydestroy.body897, %if.then.i.i.i.i724 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758: ; preds = %arraydestroy.body897, %if.then.i.i.i.i757 %arraydestroy.done900 = icmp eq ptr %arraydestroy.element899, %ref.tmp136 br i1 %arraydestroy.done900, label %ehcleanup902, label %arraydestroy.body897 -ehcleanup902: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638, %if.then.i.i.i121, %lpad.i118 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %if.then.i.i.i121 ], [ %10, %lpad.i118 ], [ %396, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element87, %if.then.i.i.i121 ], [ %arrayinit.element87, %lpad.i118 ], [ %arrayinit.element134, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 ], [ %arrayinit.endOfInit.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] - %cleanup.isactive.16 = phi i1 [ true, %if.then.i.i.i121 ], [ true, %lpad.i118 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 ], [ %cleanup.isactive.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] +ehcleanup902: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671, %if.then.i.i.i126, %lpad.i123 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %if.then.i.i.i126 ], [ %10, %lpad.i123 ], [ %396, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element87, %if.then.i.i.i126 ], [ %arrayinit.element87, %lpad.i123 ], [ %arrayinit.element134, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %arrayinit.endOfInit.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 ] + %cleanup.isactive.16 = phi i1 [ true, %if.then.i.i.i126 ], [ true, %lpad.i123 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %cleanup.isactive.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 ] br label %arraydestroy.body911 -arraydestroy.body911: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, %ehcleanup902 - %arraydestroy.elementPast912 = phi ptr [ %add.ptr.i.i117, %ehcleanup902 ], [ %arraydestroy.element913, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] +arraydestroy.body911: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761, %ehcleanup902 + %arraydestroy.elementPast912 = phi ptr [ %add.ptr.i.i122, %ehcleanup902 ], [ %arraydestroy.element913, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 ] %arraydestroy.element913 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast912, i64 -1 %arraydestroy.element913.val = load ptr, ptr %arraydestroy.element913, align 8 - %tobool.not.i.i.i.i726 = icmp eq ptr %arraydestroy.element913.val, null - br i1 %tobool.not.i.i.i.i726, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, label %if.then.i.i.i.i727 + %tobool.not.i.i.i.i759 = icmp eq ptr %arraydestroy.element913.val, null + br i1 %tobool.not.i.i.i.i759, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761, label %if.then.i.i.i.i760 -if.then.i.i.i.i727: ; preds = %arraydestroy.body911 +if.then.i.i.i.i760: ; preds = %arraydestroy.body911 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element913.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728: ; preds = %arraydestroy.body911, %if.then.i.i.i.i727 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761: ; preds = %arraydestroy.body911, %if.then.i.i.i.i760 %arraydestroy.done914 = icmp eq ptr %arraydestroy.element913, %ref.tmp89 br i1 %arraydestroy.done914, label %ehcleanup916, label %arraydestroy.body911 -ehcleanup916: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, %lpad.i.i85, %if.then.i.i.i80, %lpad.i77 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %6, %if.then.i.i.i80 ], [ %6, %lpad.i77 ], [ %7, %lpad.i.i85 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ], [ %eh.lpad-body92, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 ] - %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element52, %if.then.i.i.i80 ], [ %arrayinit.element52, %lpad.i77 ], [ %arrayinit.element87, %lpad.i.i85 ], [ %arrayinit.endOfInit.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ], [ %arrayinit.element87, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 ] - %cleanup.isactive.17 = phi i1 [ true, %if.then.i.i.i80 ], [ true, %lpad.i77 ], [ true, %lpad.i.i85 ], [ %cleanup.isactive.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 ] +ehcleanup916: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761, %lpad.i.i87, %if.then.i.i.i82, %lpad.i79 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %6, %if.then.i.i.i82 ], [ %6, %lpad.i79 ], [ %7, %lpad.i.i87 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 ], [ %eh.lpad-body95, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ] + %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element52, %if.then.i.i.i82 ], [ %arrayinit.element52, %lpad.i79 ], [ %arrayinit.element87, %lpad.i.i87 ], [ %arrayinit.endOfInit.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 ], [ %arrayinit.element87, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ] + %cleanup.isactive.17 = phi i1 [ true, %if.then.i.i.i82 ], [ true, %lpad.i79 ], [ true, %lpad.i.i87 ], [ %cleanup.isactive.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ] br label %arraydestroy.body925 -arraydestroy.body925: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, %ehcleanup916 - %arraydestroy.elementPast926 = phi ptr [ %add.ptr.i.i76, %ehcleanup916 ], [ %arraydestroy.element927, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] +arraydestroy.body925: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764, %ehcleanup916 + %arraydestroy.elementPast926 = phi ptr [ %add.ptr.i.i78, %ehcleanup916 ], [ %arraydestroy.element927, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 ] %arraydestroy.element927 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast926, i64 -1 %arraydestroy.element927.val = load ptr, ptr %arraydestroy.element927, align 8 - %tobool.not.i.i.i.i729 = icmp eq ptr %arraydestroy.element927.val, null - br i1 %tobool.not.i.i.i.i729, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, label %if.then.i.i.i.i730 + %tobool.not.i.i.i.i762 = icmp eq ptr %arraydestroy.element927.val, null + br i1 %tobool.not.i.i.i.i762, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764, label %if.then.i.i.i.i763 -if.then.i.i.i.i730: ; preds = %arraydestroy.body925 +if.then.i.i.i.i763: ; preds = %arraydestroy.body925 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element927.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731: ; preds = %arraydestroy.body925, %if.then.i.i.i.i730 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764: ; preds = %arraydestroy.body925, %if.then.i.i.i.i763 %arraydestroy.done928 = icmp eq ptr %arraydestroy.element927, %ref.tmp54 br i1 %arraydestroy.done928, label %ehcleanup930, label %arraydestroy.body925 -ehcleanup930: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, %lpad.i.i56, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit632, %if.then.i.i.i51, %lpad.i48 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i.i51 ], [ %4, %lpad.i48 ], [ %5, %lpad.i.i56 ], [ %395, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit632 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] - %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element32, %if.then.i.i.i51 ], [ %arrayinit.element32, %lpad.i48 ], [ %arrayinit.element52, %lpad.i.i56 ], [ %arrayinit.element52, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit632 ], [ %arrayinit.endOfInit.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] - %cleanup.isactive.18 = phi i1 [ true, %if.then.i.i.i51 ], [ true, %lpad.i48 ], [ true, %lpad.i.i56 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit632 ], [ %cleanup.isactive.17, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] +ehcleanup930: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764, %lpad.i.i56, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665, %if.then.i.i.i51, %lpad.i48 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i.i51 ], [ %4, %lpad.i48 ], [ %5, %lpad.i.i56 ], [ %395, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 ] + %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element32, %if.then.i.i.i51 ], [ %arrayinit.element32, %lpad.i48 ], [ %arrayinit.element52, %lpad.i.i56 ], [ %arrayinit.element52, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %arrayinit.endOfInit.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 ] + %cleanup.isactive.18 = phi i1 [ true, %if.then.i.i.i51 ], [ true, %lpad.i48 ], [ true, %lpad.i.i56 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %cleanup.isactive.17, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 ] %arraydestroy.element941.val = load ptr, ptr %ref.tmp34, align 8 - %tobool.not.i.i.i.i732 = icmp eq ptr %arraydestroy.element941.val, null - br i1 %tobool.not.i.i.i.i732, label %ehcleanup944, label %if.then.i.i.i.i733 + %tobool.not.i.i.i.i765 = icmp eq ptr %arraydestroy.element941.val, null + br i1 %tobool.not.i.i.i.i765, label %ehcleanup944, label %if.then.i.i.i.i766 -if.then.i.i.i.i733: ; preds = %ehcleanup930 +if.then.i.i.i.i766: ; preds = %ehcleanup930 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element941.val) #31 br label %ehcleanup944 -ehcleanup944: ; preds = %if.then.i.i.i.i733, %ehcleanup930, %lpad.i.i, %if.then.i.i.i42, %lpad.i39 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i.i42 ], [ %2, %lpad.i39 ], [ %3, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup930 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i733 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element19, %if.then.i.i.i42 ], [ %arrayinit.element19, %lpad.i39 ], [ %arrayinit.element32, %lpad.i.i ], [ %arrayinit.endOfInit.17, %ehcleanup930 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i733 ] - %cleanup.isactive.19 = phi i1 [ true, %if.then.i.i.i42 ], [ true, %lpad.i39 ], [ true, %lpad.i.i ], [ %cleanup.isactive.18, %ehcleanup930 ], [ %cleanup.isactive.18, %if.then.i.i.i.i733 ] +ehcleanup944: ; preds = %if.then.i.i.i.i766, %ehcleanup930, %lpad.i.i, %if.then.i.i.i42, %lpad.i39 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i.i42 ], [ %2, %lpad.i39 ], [ %3, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup930 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i766 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element19, %if.then.i.i.i42 ], [ %arrayinit.element19, %lpad.i39 ], [ %arrayinit.element32, %lpad.i.i ], [ %arrayinit.endOfInit.17, %ehcleanup930 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i766 ] + %cleanup.isactive.19 = phi i1 [ true, %if.then.i.i.i42 ], [ true, %lpad.i39 ], [ true, %lpad.i.i ], [ %cleanup.isactive.18, %ehcleanup930 ], [ %cleanup.isactive.18, %if.then.i.i.i.i766 ] br label %arraydestroy.body953 -arraydestroy.body953: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, %ehcleanup944 - %arraydestroy.elementPast954 = phi ptr [ %add.ptr.i.i38, %ehcleanup944 ], [ %arraydestroy.element955, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] +arraydestroy.body953: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770, %ehcleanup944 + %arraydestroy.elementPast954 = phi ptr [ %add.ptr.i.i38, %ehcleanup944 ], [ %arraydestroy.element955, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770 ] %arraydestroy.element955 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast954, i64 -1 %arraydestroy.element955.val = load ptr, ptr %arraydestroy.element955, align 8 - %tobool.not.i.i.i.i735 = icmp eq ptr %arraydestroy.element955.val, null - br i1 %tobool.not.i.i.i.i735, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, label %if.then.i.i.i.i736 + %tobool.not.i.i.i.i768 = icmp eq ptr %arraydestroy.element955.val, null + br i1 %tobool.not.i.i.i.i768, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770, label %if.then.i.i.i.i769 -if.then.i.i.i.i736: ; preds = %arraydestroy.body953 +if.then.i.i.i.i769: ; preds = %arraydestroy.body953 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element955.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737: ; preds = %arraydestroy.body953, %if.then.i.i.i.i736 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770: ; preds = %arraydestroy.body953, %if.then.i.i.i.i769 %arraydestroy.done956 = icmp eq ptr %arraydestroy.element955, %ref.tmp21 br i1 %arraydestroy.done956, label %ehcleanup958, label %arraydestroy.body953 -ehcleanup958: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, %if.then.i.i.i34, %lpad.i31 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1, %if.then.i.i.i34 ], [ %1, %lpad.i31 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] - %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element7, %if.then.i.i.i34 ], [ %arrayinit.element7, %lpad.i31 ], [ %arrayinit.endOfInit.18, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] - %cleanup.isactive.20 = phi i1 [ true, %if.then.i.i.i34 ], [ true, %lpad.i31 ], [ %cleanup.isactive.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] +ehcleanup958: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770, %if.then.i.i.i34, %lpad.i31 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1, %if.then.i.i.i34 ], [ %1, %lpad.i31 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770 ] + %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element7, %if.then.i.i.i34 ], [ %arrayinit.element7, %lpad.i31 ], [ %arrayinit.endOfInit.18, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770 ] + %cleanup.isactive.20 = phi i1 [ true, %if.then.i.i.i34 ], [ true, %lpad.i31 ], [ %cleanup.isactive.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit770 ] br label %arraydestroy.body967 -arraydestroy.body967: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, %ehcleanup958 - %arraydestroy.elementPast968 = phi ptr [ %add.ptr.i.i30, %ehcleanup958 ], [ %arraydestroy.element969, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] +arraydestroy.body967: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773, %ehcleanup958 + %arraydestroy.elementPast968 = phi ptr [ %add.ptr.i.i30, %ehcleanup958 ], [ %arraydestroy.element969, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 ] %arraydestroy.element969 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast968, i64 -1 %arraydestroy.element969.val = load ptr, ptr %arraydestroy.element969, align 8 - %tobool.not.i.i.i.i738 = icmp eq ptr %arraydestroy.element969.val, null - br i1 %tobool.not.i.i.i.i738, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, label %if.then.i.i.i.i739 + %tobool.not.i.i.i.i771 = icmp eq ptr %arraydestroy.element969.val, null + br i1 %tobool.not.i.i.i.i771, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773, label %if.then.i.i.i.i772 -if.then.i.i.i.i739: ; preds = %arraydestroy.body967 +if.then.i.i.i.i772: ; preds = %arraydestroy.body967 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element969.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740: ; preds = %arraydestroy.body967, %if.then.i.i.i.i739 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773: ; preds = %arraydestroy.body967, %if.then.i.i.i.i772 %arraydestroy.done970 = icmp eq ptr %arraydestroy.element969, %ref.tmp9 br i1 %arraydestroy.done970, label %ehcleanup972, label %arraydestroy.body967 -ehcleanup972: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, %if.then.i.i.i, %lpad.i - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i.i ], [ %0, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] - %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %if.then.i.i.i ], [ %arrayinit.element, %lpad.i ], [ %arrayinit.endOfInit.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] - %cleanup.isactive.21 = phi i1 [ true, %if.then.i.i.i ], [ true, %lpad.i ], [ %cleanup.isactive.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] +ehcleanup972: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773, %if.then.i.i.i, %lpad.i + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i.i ], [ %0, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 ] + %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %if.then.i.i.i ], [ %arrayinit.element, %lpad.i ], [ %arrayinit.endOfInit.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 ] + %cleanup.isactive.21 = phi i1 [ true, %if.then.i.i.i ], [ true, %lpad.i ], [ %cleanup.isactive.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 ] %arraydestroy.element983.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i741 = icmp eq ptr %arraydestroy.element983.val, null - br i1 %tobool.not.i.i.i.i741, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, label %if.then.i.i.i.i742 + %tobool.not.i.i.i.i774 = icmp eq ptr %arraydestroy.element983.val, null + br i1 %tobool.not.i.i.i.i774, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776, label %if.then.i.i.i.i775 -if.then.i.i.i.i742: ; preds = %ehcleanup972 +if.then.i.i.i.i775: ; preds = %ehcleanup972 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element983.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743: ; preds = %ehcleanup972, %if.then.i.i.i.i742 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776: ; preds = %ehcleanup972, %if.then.i.i.i.i775 %arraydestroy.isempty987 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.20 %or.cond.not = select i1 %cleanup.isactive.21, i1 %arraydestroy.isempty987, i1 false br i1 %or.cond.not, label %arraydestroy.body988, label %eh.resume -arraydestroy.body988: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, %arraydestroy.body988 - %arraydestroy.elementPast989 = phi ptr [ %arraydestroy.element990, %arraydestroy.body988 ], [ %arrayinit.endOfInit.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] +arraydestroy.body988: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776, %arraydestroy.body988 + %arraydestroy.elementPast989 = phi ptr [ %arraydestroy.element990, %arraydestroy.body988 ], [ %arrayinit.endOfInit.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776 ] %arraydestroy.element990 = getelementptr inbounds %"class.std::vector.588", ptr %arraydestroy.elementPast989, i64 -1 call fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element990) #28 %arraydestroy.done991 = icmp eq ptr %arraydestroy.element990, %ref.tmp @@ -150926,25 +150931,25 @@ ehcleanup1008: ; preds = %lpad1005, %lpad1003 ehcleanup1009: ; preds = %ehcleanup1008, %lpad1000 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %ehcleanup1008 ], [ %415, %lpad1000 ] %418 = load ptr, ptr %ref.tmp995, align 8 - %cmp.not.i.i744 = icmp eq ptr %418, null - br i1 %cmp.not.i.i744, label %_ZN7testing7MessageD2Ev.exit748, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i745 + %cmp.not.i.i777 = icmp eq ptr %418, null + br i1 %cmp.not.i.i777, label %_ZN7testing7MessageD2Ev.exit781, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i778 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i745: ; preds = %ehcleanup1009 - %vtable.i.i.i746 = load ptr, ptr %418, align 8 - %vfn.i.i.i747 = getelementptr inbounds ptr, ptr %vtable.i.i.i746, i64 1 - %419 = load ptr, ptr %vfn.i.i.i747, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i778: ; preds = %ehcleanup1009 + %vtable.i.i.i779 = load ptr, ptr %418, align 8 + %vfn.i.i.i780 = getelementptr inbounds ptr, ptr %vtable.i.i.i779, i64 1 + %419 = load ptr, ptr %vfn.i.i.i780, align 8 call void %419(ptr noundef nonnull align 8 dereferenceable(128) %418) #28 - br label %_ZN7testing7MessageD2Ev.exit748 + br label %_ZN7testing7MessageD2Ev.exit781 -_ZN7testing7MessageD2Ev.exit748: ; preds = %ehcleanup1009, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i745 +_ZN7testing7MessageD2Ev.exit781: ; preds = %ehcleanup1009, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i778 store ptr null, ptr %ref.tmp995, align 8 br label %ehcleanup1010 if.end: ; preds = %invoke.cont994, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %420 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i749 = icmp eq ptr %420, null - br i1 %cmp.not.i.i749, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i782 = icmp eq ptr %420, null + br i1 %cmp.not.i.i782, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %420) #28 @@ -150955,19 +150960,19 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de store ptr null, ptr %message_.i, align 8 %421 = load ptr, ptr %exemplars, align 8 %422 = load ptr, ptr %_M_finish.i.i, align 8 - %cmp.not3.i.i.i.i751 = icmp eq ptr %421, %422 - br i1 %cmp.not3.i.i.i.i751, label %invoke.cont.i760, label %for.body.i.i.i.i752 + %cmp.not3.i.i.i.i784 = icmp eq ptr %421, %422 + br i1 %cmp.not3.i.i.i.i784, label %invoke.cont.i793, label %for.body.i.i.i.i785 -for.body.i.i.i.i752: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i - %__first.addr.04.i.i.i.i753 = phi ptr [ %incdec.ptr.i.i.i.i756, %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i ], [ %421, %_ZN7testing15AssertionResultD2Ev.exit ] - %423 = load ptr, ptr %__first.addr.04.i.i.i.i753, align 8 - %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence, std::allocator<(anonymous namespace)::UnorderedSequence>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i753, i64 0, i32 1 +for.body.i.i.i.i785: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i786 = phi ptr [ %incdec.ptr.i.i.i.i789, %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i ], [ %421, %_ZN7testing15AssertionResultD2Ev.exit ] + %423 = load ptr, ptr %__first.addr.04.i.i.i.i786, align 8 + %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence, std::allocator<(anonymous namespace)::UnorderedSequence>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i786, i64 0, i32 1 %424 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8 %cmp.not3.i.i.i.i.i.i.i.i.i = icmp eq ptr %423, %424 br i1 %cmp.not3.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i -for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i752, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %423, %for.body.i.i.i.i752 ] +for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i785, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %423, %for.body.i.i.i.i785 ] %__first.addr.0.val.i.i.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i @@ -150982,46 +150987,46 @@ _ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !2191 invoke.contthread-pre-split.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i - %this.val.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i753, align 8 + %this.val.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i786, align 8 br label %invoke.cont.i.i.i.i.i.i -invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i752 - %this.val.i.i.i.i.i.i = phi ptr [ %this.val.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %423, %for.body.i.i.i.i752 ] - %tobool.not.i.i.i.i.i.i.i.i754 = icmp eq ptr %this.val.i.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i.i.i754, label %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i755 +invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i785 + %this.val.i.i.i.i.i.i = phi ptr [ %this.val.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %423, %for.body.i.i.i.i785 ] + %tobool.not.i.i.i.i.i.i.i.i787 = icmp eq ptr %this.val.i.i.i.i.i.i, null + br i1 %tobool.not.i.i.i.i.i.i.i.i787, label %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i788 -if.then.i.i.i.i.i.i.i.i755: ; preds = %invoke.cont.i.i.i.i.i.i +if.then.i.i.i.i.i.i.i.i788: ; preds = %invoke.cont.i.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i -_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i755, %invoke.cont.i.i.i.i.i.i - %incdec.ptr.i.i.i.i756 = getelementptr inbounds %"class.std::vector.588", ptr %__first.addr.04.i.i.i.i753, i64 1 - %cmp.not.i.i.i.i757 = icmp eq ptr %incdec.ptr.i.i.i.i756, %422 - br i1 %cmp.not.i.i.i.i757, label %invoke.cont.i760, label %for.body.i.i.i.i752, !llvm.loop !4081 +_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i788, %invoke.cont.i.i.i.i.i.i + %incdec.ptr.i.i.i.i789 = getelementptr inbounds %"class.std::vector.588", ptr %__first.addr.04.i.i.i.i786, i64 1 + %cmp.not.i.i.i.i790 = icmp eq ptr %incdec.ptr.i.i.i.i789, %422 + br i1 %cmp.not.i.i.i.i790, label %invoke.cont.i793, label %for.body.i.i.i.i785, !llvm.loop !4081 -invoke.cont.i760: ; preds = %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit - %tobool.not.i.i.i762 = icmp eq ptr %421, null - br i1 %tobool.not.i.i.i762, label %_ZNSt6vectorIS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EESaIS4_EED2Ev.exit, label %if.then.i.i.i763 +invoke.cont.i793: ; preds = %_ZSt8_DestroyISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS3_EEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit + %tobool.not.i.i.i795 = icmp eq ptr %421, null + br i1 %tobool.not.i.i.i795, label %_ZNSt6vectorIS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EESaIS4_EED2Ev.exit, label %if.then.i.i.i796 -if.then.i.i.i763: ; preds = %invoke.cont.i760 +if.then.i.i.i796: ; preds = %invoke.cont.i793 call void @_ZdlPv(ptr noundef nonnull %421) #31 br label %_ZNSt6vectorIS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EESaIS4_EED2Ev.exit -_ZNSt6vectorIS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i760, %if.then.i.i.i763 +_ZNSt6vectorIS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i793, %if.then.i.i.i796 ret void -ehcleanup1010: ; preds = %_ZN7testing7MessageD2Ev.exit748, %lpad996 - %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit748 ], [ %414, %lpad996 ] +ehcleanup1010: ; preds = %_ZN7testing7MessageD2Ev.exit781, %lpad996 + %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit781 ], [ %414, %lpad996 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup1011 -ehcleanup1011: ; preds = %if.then.i.i.i41.i, %lpad.body.i621, %if.then.i.i.i.i.i, %lpad.i.i628, %ehcleanup1010 - %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup1010 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i628 ], [ %.pn46.pn.i.i, %lpad.body.i621 ], [ %.pn46.pn.i.i, %if.then.i.i.i41.i ] +ehcleanup1011: ; preds = %if.then.i.i.i42.i, %lpad.body.i654, %if.then.i.i.i.i.i, %lpad.i.i661, %ehcleanup1010 + %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup1010 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i661 ], [ %.pn46.pn.i.i, %lpad.body.i654 ], [ %.pn46.pn.i.i, %if.then.i.i.i42.i ] call fastcc void @_ZNSt6vectorIS_IN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body988, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, %ehcleanup1011 - %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup1011 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body988 ] +eh.resume: ; preds = %arraydestroy.body988, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776, %ehcleanup1011 + %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup1011 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body988 ] resume { ptr, i32 } %.pn23.pn.pn.pn.pn } @@ -151232,8 +151237,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i br label %for.inc.i.i.i.i for.inc.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %__first.sroa.0.013.i.i.i.i, i64 1 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %__cur.014.i.i.i.i, i64 1 @@ -151488,7 +151492,6 @@ _ZN4absl13hash_internal16SpyHashStateImplISt6vectorIN12_GLOBAL__N_117UnorderedSe %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %vector.val6.i.i.i.i.i.i.i.i.i.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %vector.val7.i.i.i.i.i.i.i.i.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i, 24 call void @llvm.experimental.noalias.scope.decl(metadata !4119) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %agg.tmp.i.i.i.i.i.i.i.i.i.i.i), !noalias !4117 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(41) %agg.tmp.i.i.i.i.i.i.i.i.i.i.i, i8 0, i64 41, i1 false), !noalias !4122 @@ -151496,7 +151499,7 @@ _ZN4absl13hash_internal16SpyHashStateImplISt6vectorIN12_GLOBAL__N_117UnorderedSe call void @llvm.experimental.noalias.scope.decl(metadata !4124) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp.i.i.i.i.i.i.i.i.i.i.i.i), !noalias !4122 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %agg.tmp.i.i.i.i.i.i.i.i.i.i.i.i), !noalias !4122 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %vector.val7.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %vector.val7.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i %cmp54.i.i.i.i.i.i.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i, 0 br i1 %cmp54.i.i.i.i.i.i.i.i.i.i.i.i, label %for.body.lr.ph.i.i.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i.i.i.i.i @@ -157052,7 +157055,7 @@ if.then.i.i.i42: ; preds = %lpad.i39 invoke.cont31: ; preds = %invoke.cont18 %arrayinit.element32 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp34, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 to label %invoke.cont44 unwind label %common.resume.i common.resume.i: ; preds = %invoke.cont31 @@ -157061,12 +157064,12 @@ common.resume.i: ; preds = %invoke.cont31 br label %ehcleanup944 invoke.cont44: ; preds = %invoke.cont31 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, ptr %ref.tmp34, align 8 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, ptr %ref.tmp34, align 8 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp34, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, i64 1 + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, i64 1 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp34, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8 - store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, align 4 + store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, align 4 store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element32, i8 0, i64 24, i1 false) %add.ptr.i.i48 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp34, i64 1 @@ -157086,1307 +157089,1307 @@ if.then.i.i.i52: ; preds = %lpad.i49 invoke.cont51: ; preds = %invoke.cont44 %arrayinit.element52 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 5 - %call5.i.i.i.i1.i.i.i62 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc61 unwind label %lpad64.body.thread906 + %call5.i.i.i.i1.i.i.i63 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc62 unwind label %lpad64.body.thread939 -lpad64.body.thread906: ; preds = %invoke.cont51 +lpad64.body.thread939: ; preds = %invoke.cont51 %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup930 -call5.i.i.i.i1.i.i.i.noexc61: ; preds = %invoke.cont51 - store i32 1, ptr %call5.i.i.i.i1.i.i.i62, align 4 - %ref.tmp58.sroa.2.0.call5.i.i.i.i1.i.i.i62.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i62, i64 4 - store i32 1, ptr %ref.tmp58.sroa.2.0.call5.i.i.i.i1.i.i.i62.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc62: ; preds = %invoke.cont51 + store i32 1, ptr %call5.i.i.i.i1.i.i.i63, align 4 + %ref.tmp58.sroa.2.0.call5.i.i.i.i1.i.i.i63.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i63, i64 4 + store i32 1, ptr %ref.tmp58.sroa.2.0.call5.i.i.i.i1.i.i.i63.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp54, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i56 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i56 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont65 unwind label %lpad64.body.thread -lpad64.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc61 +lpad64.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc62 %6 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i62) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i63) #31 br label %ehcleanup930 -invoke.cont65: ; preds = %call5.i.i.i.i1.i.i.i.noexc61 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i56, ptr %ref.tmp54, align 8 +invoke.cont65: ; preds = %call5.i.i.i.i1.i.i.i.noexc62 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i56, ptr %ref.tmp54, align 8 %_M_finish.i.i.i.i.i.i.i58 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp54, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i59 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i56, i64 2 + %add.ptr.i.i.i.i.i.i.i59 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i56, i64 2 %_M_end_of_storage.i.i.i.i.i.i.i60 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp54, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i59, ptr %_M_end_of_storage.i.i.i.i.i.i.i60, align 8 - %7 = load i64, ptr %call5.i.i.i.i1.i.i.i62, align 4 - store i64 %7, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i56, align 4 + %7 = load i64, ptr %call5.i.i.i.i1.i.i.i63, align 4 + store i64 %7, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i56, align 4 store ptr %add.ptr.i.i.i.i.i.i.i59, ptr %_M_finish.i.i.i.i.i.i.i58, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i62) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i63) #31 %arrayinit.element66 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp54, i64 1 - %call5.i.i.i.i1.i.i.i71 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc70 unwind label %lpad64.body + %call5.i.i.i.i1.i.i.i73 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc72 unwind label %lpad64.body -call5.i.i.i.i1.i.i.i.noexc70: ; preds = %invoke.cont65 - store i32 1, ptr %call5.i.i.i.i1.i.i.i71, align 4 - %ref.tmp68.sroa.2.0.call5.i.i.i.i1.i.i.i71.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i71, i64 4 - store i32 1, ptr %ref.tmp68.sroa.2.0.call5.i.i.i.i1.i.i.i71.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc72: ; preds = %invoke.cont65 + store i32 1, ptr %call5.i.i.i.i1.i.i.i73, align 4 + %ref.tmp68.sroa.2.0.call5.i.i.i.i1.i.i.i73.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i73, i64 4 + store i32 1, ptr %ref.tmp68.sroa.2.0.call5.i.i.i.i1.i.i.i73.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element66, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i65 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont74 unwind label %lpad64.body.thread900 + %call5.i.i.i.i2.i6.i.i.i.i5.i66 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont74 unwind label %lpad64.body.thread933 -lpad64.body.thread900: ; preds = %call5.i.i.i.i1.i.i.i.noexc70 +lpad64.body.thread933: ; preds = %call5.i.i.i.i1.i.i.i.noexc72 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i71) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i73) #31 br label %arraydestroy.body76 -invoke.cont74: ; preds = %call5.i.i.i.i1.i.i.i.noexc70 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i65, ptr %arrayinit.element66, align 8 - %_M_finish.i.i.i.i.i.i.i67 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i68 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i65, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i69 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i68, ptr %_M_end_of_storage.i.i.i.i.i.i.i69, align 8 - %9 = load i64, ptr %call5.i.i.i.i1.i.i.i71, align 4 - store i64 %9, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i65, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i68, ptr %_M_finish.i.i.i.i.i.i.i67, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i71) #31 +invoke.cont74: ; preds = %call5.i.i.i.i1.i.i.i.noexc72 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i66, ptr %arrayinit.element66, align 8 + %_M_finish.i.i.i.i.i.i.i68 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i69 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i66, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i70 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp54, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i69, ptr %_M_end_of_storage.i.i.i.i.i.i.i70, align 8 + %9 = load i64, ptr %call5.i.i.i.i1.i.i.i73, align 4 + store i64 %9, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i66, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i69, ptr %_M_finish.i.i.i.i.i.i.i68, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i73) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element52, i8 0, i64 24, i1 false) - %add.ptr.i.i76 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp54, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element52, ptr noundef nonnull %ref.tmp54, ptr noundef nonnull %add.ptr.i.i76) - to label %invoke.cont86 unwind label %lpad.i77 + %add.ptr.i.i78 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp54, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element52, ptr noundef nonnull %ref.tmp54, ptr noundef nonnull %add.ptr.i.i78) + to label %invoke.cont86 unwind label %lpad.i79 -lpad.i77: ; preds = %invoke.cont74 +lpad.i79: ; preds = %invoke.cont74 %10 = landingpad { ptr, i32 } cleanup - %this.val.i78 = load ptr, ptr %arrayinit.element52, align 8 - %tobool.not.i.i.i79 = icmp eq ptr %this.val.i78, null - br i1 %tobool.not.i.i.i79, label %ehcleanup916, label %ehcleanup916.sink.split + %this.val.i80 = load ptr, ptr %arrayinit.element52, align 8 + %tobool.not.i.i.i81 = icmp eq ptr %this.val.i80, null + br i1 %tobool.not.i.i.i81, label %ehcleanup916, label %ehcleanup916.sink.split invoke.cont86: ; preds = %invoke.cont74 %arrayinit.element87 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 6 - %call5.i.i.i.i1.i.i.i90 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc89 unwind label %lpad100.body - -call5.i.i.i.i1.i.i.i.noexc89: ; preds = %invoke.cont86 - store i32 1, ptr %call5.i.i.i.i1.i.i.i90, align 4 - %ref.tmp93.sroa.2.0.call5.i.i.i.i1.i.i.i90.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i90, i64 4 - store i32 1, ptr %ref.tmp93.sroa.2.0.call5.i.i.i.i1.i.i.i90.sroa_idx, align 4 - %ref.tmp93.sroa.3.0.call5.i.i.i.i1.i.i.i90.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i90, i64 8 - store i32 1, ptr %ref.tmp93.sroa.3.0.call5.i.i.i.i1.i.i.i90.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i93 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc92 unwind label %lpad100.body + +call5.i.i.i.i1.i.i.i.noexc92: ; preds = %invoke.cont86 + store i32 1, ptr %call5.i.i.i.i1.i.i.i93, align 4 + %ref.tmp93.sroa.2.0.call5.i.i.i.i1.i.i.i93.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i93, i64 4 + store i32 1, ptr %ref.tmp93.sroa.2.0.call5.i.i.i.i1.i.i.i93.sroa_idx, align 4 + %ref.tmp93.sroa.3.0.call5.i.i.i.i1.i.i.i93.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i93, i64 8 + store i32 1, ptr %ref.tmp93.sroa.3.0.call5.i.i.i.i1.i.i.i93.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp89, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i84 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i86 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 to label %invoke.cont101 unwind label %lpad100.body.thread -lpad100.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc89 +lpad100.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc92 %11 = landingpad { ptr, i32 } cleanup br label %ehcleanup916.sink.split -invoke.cont101: ; preds = %call5.i.i.i.i1.i.i.i.noexc89 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i84, ptr %ref.tmp89, align 8 - %_M_finish.i.i.i.i.i.i.i86 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i87 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i84, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i88 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i87, ptr %_M_end_of_storage.i.i.i.i.i.i.i88, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i84, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i90, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i87, ptr %_M_finish.i.i.i.i.i.i.i86, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i90) #31 +invoke.cont101: ; preds = %call5.i.i.i.i1.i.i.i.noexc92 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i86, ptr %ref.tmp89, align 8 + %_M_finish.i.i.i.i.i.i.i88 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i89 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i86, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i90 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i89, ptr %_M_end_of_storage.i.i.i.i.i.i.i90, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i86, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i93, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i89, ptr %_M_finish.i.i.i.i.i.i.i88, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i93) #31 %arrayinit.element102 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 1 - %call5.i.i.i.i1.i.i.i99 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc98 unwind label %lpad100.body.thread916 - -call5.i.i.i.i1.i.i.i.noexc98: ; preds = %invoke.cont101 - store i32 1, ptr %call5.i.i.i.i1.i.i.i99, align 4 - %ref.tmp104.sroa.2.0.call5.i.i.i.i1.i.i.i99.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i99, i64 4 - store i32 1, ptr %ref.tmp104.sroa.2.0.call5.i.i.i.i1.i.i.i99.sroa_idx, align 4 - %ref.tmp104.sroa.3.0.call5.i.i.i.i1.i.i.i99.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i99, i64 8 - store i32 1, ptr %ref.tmp104.sroa.3.0.call5.i.i.i.i1.i.i.i99.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i103 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc102 unwind label %lpad100.body.thread949 + +call5.i.i.i.i1.i.i.i.noexc102: ; preds = %invoke.cont101 + store i32 1, ptr %call5.i.i.i.i1.i.i.i103, align 4 + %ref.tmp104.sroa.2.0.call5.i.i.i.i1.i.i.i103.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i103, i64 4 + store i32 1, ptr %ref.tmp104.sroa.2.0.call5.i.i.i.i1.i.i.i103.sroa_idx, align 4 + %ref.tmp104.sroa.3.0.call5.i.i.i.i1.i.i.i103.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i103, i64 8 + store i32 1, ptr %ref.tmp104.sroa.3.0.call5.i.i.i.i1.i.i.i103.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element102, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i93 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont111 unwind label %common.resume.i94 + %call5.i.i.i.i2.i6.i.i.i.i5.i96 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont111 unwind label %common.resume.i97 -common.resume.i94: ; preds = %call5.i.i.i.i1.i.i.i.noexc98 +common.resume.i97: ; preds = %call5.i.i.i.i1.i.i.i.noexc102 %12 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i99) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i103) #31 br label %arraydestroy.body123.preheader -invoke.cont111: ; preds = %call5.i.i.i.i1.i.i.i.noexc98 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i93, ptr %arrayinit.element102, align 8 - %_M_finish.i.i.i.i.i.i.i95 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i96 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i93, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i97 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i96, ptr %_M_end_of_storage.i.i.i.i.i.i.i97, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i93, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i99, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i96, ptr %_M_finish.i.i.i.i.i.i.i95, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i99) #31 +invoke.cont111: ; preds = %call5.i.i.i.i1.i.i.i.noexc102 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i96, ptr %arrayinit.element102, align 8 + %_M_finish.i.i.i.i.i.i.i98 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i99 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i96, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i100 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i99, ptr %_M_end_of_storage.i.i.i.i.i.i.i100, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i96, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i103, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i99, ptr %_M_finish.i.i.i.i.i.i.i98, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i103) #31 %arrayinit.element112 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 2 - %call5.i.i.i.i1.i.i.i110 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc109 unwind label %lpad100.body.thread916 - -call5.i.i.i.i1.i.i.i.noexc109: ; preds = %invoke.cont111 - store i32 1, ptr %call5.i.i.i.i1.i.i.i110, align 4 - %ref.tmp114.sroa.2.0.call5.i.i.i.i1.i.i.i110.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i110, i64 4 - store i32 1, ptr %ref.tmp114.sroa.2.0.call5.i.i.i.i1.i.i.i110.sroa_idx, align 4 - %ref.tmp114.sroa.3.0.call5.i.i.i.i1.i.i.i110.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i110, i64 8 - store i32 1, ptr %ref.tmp114.sroa.3.0.call5.i.i.i.i1.i.i.i110.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i115 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc114 unwind label %lpad100.body.thread949 + +call5.i.i.i.i1.i.i.i.noexc114: ; preds = %invoke.cont111 + store i32 1, ptr %call5.i.i.i.i1.i.i.i115, align 4 + %ref.tmp114.sroa.2.0.call5.i.i.i.i1.i.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i115, i64 4 + store i32 1, ptr %ref.tmp114.sroa.2.0.call5.i.i.i.i1.i.i.i115.sroa_idx, align 4 + %ref.tmp114.sroa.3.0.call5.i.i.i.i1.i.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i115, i64 8 + store i32 1, ptr %ref.tmp114.sroa.3.0.call5.i.i.i.i1.i.i.i115.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element112, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i104 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont121 unwind label %common.resume.i105 + %call5.i.i.i.i2.i6.i.i.i.i5.i108 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont121 unwind label %common.resume.i109 -common.resume.i105: ; preds = %call5.i.i.i.i1.i.i.i.noexc109 +common.resume.i109: ; preds = %call5.i.i.i.i1.i.i.i.noexc114 %13 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i110) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i115) #31 br label %arraydestroy.body123.preheader -invoke.cont121: ; preds = %call5.i.i.i.i1.i.i.i.noexc109 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i104, ptr %arrayinit.element112, align 8 - %_M_finish.i.i.i.i.i.i.i106 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i107 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i104, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i108 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i107, ptr %_M_end_of_storage.i.i.i.i.i.i.i108, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i104, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i110, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i107, ptr %_M_finish.i.i.i.i.i.i.i106, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i110) #31 +invoke.cont121: ; preds = %call5.i.i.i.i1.i.i.i.noexc114 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i108, ptr %arrayinit.element112, align 8 + %_M_finish.i.i.i.i.i.i.i110 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i111 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i108, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i112 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i111, ptr %_M_end_of_storage.i.i.i.i.i.i.i112, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i108, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i115, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i111, ptr %_M_finish.i.i.i.i.i.i.i110, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i115) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element87, i8 0, i64 24, i1 false) - %add.ptr.i.i115 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 3 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element87, ptr noundef nonnull %ref.tmp89, ptr noundef nonnull %add.ptr.i.i115) - to label %invoke.cont133 unwind label %lpad.i116 + %add.ptr.i.i120 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp89, i64 3 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element87, ptr noundef nonnull %ref.tmp89, ptr noundef nonnull %add.ptr.i.i120) + to label %invoke.cont133 unwind label %lpad.i121 -lpad.i116: ; preds = %invoke.cont121 +lpad.i121: ; preds = %invoke.cont121 %14 = landingpad { ptr, i32 } cleanup - %this.val.i117 = load ptr, ptr %arrayinit.element87, align 8 - %tobool.not.i.i.i118 = icmp eq ptr %this.val.i117, null - br i1 %tobool.not.i.i.i118, label %ehcleanup902, label %if.then.i.i.i119 + %this.val.i122 = load ptr, ptr %arrayinit.element87, align 8 + %tobool.not.i.i.i123 = icmp eq ptr %this.val.i122, null + br i1 %tobool.not.i.i.i123, label %ehcleanup902, label %if.then.i.i.i124 -if.then.i.i.i119: ; preds = %lpad.i116 - call void @_ZdlPv(ptr noundef nonnull %this.val.i117) #31 +if.then.i.i.i124: ; preds = %lpad.i121 + call void @_ZdlPv(ptr noundef nonnull %this.val.i122) #31 br label %ehcleanup902 invoke.cont133: ; preds = %invoke.cont121 %arrayinit.element134 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 7 %arrayinit.element139 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp136, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp136, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i129 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc128 unwind label %lpad147.body.thread + %call5.i.i.i.i1.i.i.i135 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc134 unwind label %lpad147.body.thread -call5.i.i.i.i1.i.i.i.noexc128: ; preds = %invoke.cont133 - store i32 1, ptr %call5.i.i.i.i1.i.i.i129, align 4 - %ref.tmp141.sroa.2.0.call5.i.i.i.i1.i.i.i129.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i129, i64 4 - store i32 2, ptr %ref.tmp141.sroa.2.0.call5.i.i.i.i1.i.i.i129.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc134: ; preds = %invoke.cont133 + store i32 1, ptr %call5.i.i.i.i1.i.i.i135, align 4 + %ref.tmp141.sroa.2.0.call5.i.i.i.i1.i.i.i135.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i135, i64 4 + store i32 2, ptr %ref.tmp141.sroa.2.0.call5.i.i.i.i1.i.i.i135.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element139, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i123 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i128 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont148 unwind label %lpad147.body -invoke.cont148: ; preds = %call5.i.i.i.i1.i.i.i.noexc128 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i123, ptr %arrayinit.element139, align 8 - %_M_finish.i.i.i.i.i.i.i125 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp136, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i126 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i123, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i127 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp136, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i126, ptr %_M_end_of_storage.i.i.i.i.i.i.i127, align 8 - %15 = load i64, ptr %call5.i.i.i.i1.i.i.i129, align 4 - store i64 %15, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i123, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i126, ptr %_M_finish.i.i.i.i.i.i.i125, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i129) #31 +invoke.cont148: ; preds = %call5.i.i.i.i1.i.i.i.noexc134 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i128, ptr %arrayinit.element139, align 8 + %_M_finish.i.i.i.i.i.i.i130 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp136, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i131 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i128, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i132 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp136, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i131, ptr %_M_end_of_storage.i.i.i.i.i.i.i132, align 8 + %15 = load i64, ptr %call5.i.i.i.i1.i.i.i135, align 4 + store i64 %15, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i128, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i131, ptr %_M_finish.i.i.i.i.i.i.i130, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i135) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element134, i8 0, i64 24, i1 false) - %add.ptr.i.i132 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp136, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element134, ptr noundef nonnull %ref.tmp136, ptr noundef nonnull %add.ptr.i.i132) - to label %invoke.cont160 unwind label %lpad.i133 + %add.ptr.i.i138 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp136, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element134, ptr noundef nonnull %ref.tmp136, ptr noundef nonnull %add.ptr.i.i138) + to label %invoke.cont160 unwind label %lpad.i139 -lpad.i133: ; preds = %invoke.cont148 +lpad.i139: ; preds = %invoke.cont148 %16 = landingpad { ptr, i32 } cleanup - %this.val.i134 = load ptr, ptr %arrayinit.element134, align 8 - %tobool.not.i.i.i135 = icmp eq ptr %this.val.i134, null - br i1 %tobool.not.i.i.i135, label %ehcleanup888, label %if.then.i.i.i136 + %this.val.i140 = load ptr, ptr %arrayinit.element134, align 8 + %tobool.not.i.i.i141 = icmp eq ptr %this.val.i140, null + br i1 %tobool.not.i.i.i141, label %ehcleanup888, label %if.then.i.i.i142 -if.then.i.i.i136: ; preds = %lpad.i133 - call void @_ZdlPv(ptr noundef nonnull %this.val.i134) #31 +if.then.i.i.i142: ; preds = %lpad.i139 + call void @_ZdlPv(ptr noundef nonnull %this.val.i140) #31 br label %ehcleanup888 invoke.cont160: ; preds = %invoke.cont148 %arrayinit.element161 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 8 %arrayinit.element166 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp163, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp163, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i146 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc145 unwind label %lpad174.body.thread + %call5.i.i.i.i1.i.i.i153 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc152 unwind label %lpad174.body.thread -call5.i.i.i.i1.i.i.i.noexc145: ; preds = %invoke.cont160 - store i32 2, ptr %call5.i.i.i.i1.i.i.i146, align 4 - %ref.tmp168.sroa.2.0.call5.i.i.i.i1.i.i.i146.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i146, i64 4 - store i32 1, ptr %ref.tmp168.sroa.2.0.call5.i.i.i.i1.i.i.i146.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc152: ; preds = %invoke.cont160 + store i32 2, ptr %call5.i.i.i.i1.i.i.i153, align 4 + %ref.tmp168.sroa.2.0.call5.i.i.i.i1.i.i.i153.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i153, i64 4 + store i32 1, ptr %ref.tmp168.sroa.2.0.call5.i.i.i.i1.i.i.i153.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element166, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i140 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i146 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont175 unwind label %lpad174.body -invoke.cont175: ; preds = %call5.i.i.i.i1.i.i.i.noexc145 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i140, ptr %arrayinit.element166, align 8 - %_M_finish.i.i.i.i.i.i.i142 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp163, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i143 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i140, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i144 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp163, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i143, ptr %_M_end_of_storage.i.i.i.i.i.i.i144, align 8 - %17 = load i64, ptr %call5.i.i.i.i1.i.i.i146, align 4 - store i64 %17, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i140, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i143, ptr %_M_finish.i.i.i.i.i.i.i142, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i146) #31 +invoke.cont175: ; preds = %call5.i.i.i.i1.i.i.i.noexc152 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i146, ptr %arrayinit.element166, align 8 + %_M_finish.i.i.i.i.i.i.i148 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp163, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i149 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i146, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i150 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp163, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i149, ptr %_M_end_of_storage.i.i.i.i.i.i.i150, align 8 + %17 = load i64, ptr %call5.i.i.i.i1.i.i.i153, align 4 + store i64 %17, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i146, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i149, ptr %_M_finish.i.i.i.i.i.i.i148, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i153) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element161, i8 0, i64 24, i1 false) - %add.ptr.i.i149 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp163, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element161, ptr noundef nonnull %ref.tmp163, ptr noundef nonnull %add.ptr.i.i149) - to label %invoke.cont187 unwind label %lpad.i150 + %add.ptr.i.i156 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp163, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element161, ptr noundef nonnull %ref.tmp163, ptr noundef nonnull %add.ptr.i.i156) + to label %invoke.cont187 unwind label %lpad.i157 -lpad.i150: ; preds = %invoke.cont175 +lpad.i157: ; preds = %invoke.cont175 %18 = landingpad { ptr, i32 } cleanup - %this.val.i151 = load ptr, ptr %arrayinit.element161, align 8 - %tobool.not.i.i.i152 = icmp eq ptr %this.val.i151, null - br i1 %tobool.not.i.i.i152, label %ehcleanup874, label %if.then.i.i.i153 + %this.val.i158 = load ptr, ptr %arrayinit.element161, align 8 + %tobool.not.i.i.i159 = icmp eq ptr %this.val.i158, null + br i1 %tobool.not.i.i.i159, label %ehcleanup874, label %if.then.i.i.i160 -if.then.i.i.i153: ; preds = %lpad.i150 - call void @_ZdlPv(ptr noundef nonnull %this.val.i151) #31 +if.then.i.i.i160: ; preds = %lpad.i157 + call void @_ZdlPv(ptr noundef nonnull %this.val.i158) #31 br label %ehcleanup874 invoke.cont187: ; preds = %invoke.cont175 %arrayinit.element188 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 9 - %call5.i.i.i.i1.i.i.i163 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc162 unwind label %lpad200 + %call5.i.i.i.i1.i.i.i171 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc170 unwind label %lpad200 -call5.i.i.i.i1.i.i.i.noexc162: ; preds = %invoke.cont187 - store i32 1, ptr %call5.i.i.i.i1.i.i.i163, align 4 - %ref.tmp194.sroa.2.0.call5.i.i.i.i1.i.i.i163.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i163, i64 4 - store i32 2, ptr %ref.tmp194.sroa.2.0.call5.i.i.i.i1.i.i.i163.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc170: ; preds = %invoke.cont187 + store i32 1, ptr %call5.i.i.i.i1.i.i.i171, align 4 + %ref.tmp194.sroa.2.0.call5.i.i.i.i1.i.i.i171.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i171, i64 4 + store i32 2, ptr %ref.tmp194.sroa.2.0.call5.i.i.i.i1.i.i.i171.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp190, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i157 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont201 unwind label %common.resume.i158 + %call5.i.i.i.i2.i6.i.i.i.i5.i164 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont201 unwind label %common.resume.i165 -common.resume.i158: ; preds = %call5.i.i.i.i1.i.i.i.noexc162 +common.resume.i165: ; preds = %call5.i.i.i.i1.i.i.i.noexc170 %19 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i163) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i171) #31 br label %ehcleanup874 -invoke.cont201: ; preds = %call5.i.i.i.i1.i.i.i.noexc162 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i157, ptr %ref.tmp190, align 8 - %_M_finish.i.i.i.i.i.i.i159 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp190, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i160 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i157, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i161 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp190, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i160, ptr %_M_end_of_storage.i.i.i.i.i.i.i161, align 8 - %20 = load i64, ptr %call5.i.i.i.i1.i.i.i163, align 4 - store i64 %20, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i157, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i160, ptr %_M_finish.i.i.i.i.i.i.i159, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i163) #31 +invoke.cont201: ; preds = %call5.i.i.i.i1.i.i.i.noexc170 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i164, ptr %ref.tmp190, align 8 + %_M_finish.i.i.i.i.i.i.i166 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp190, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i167 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i164, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i168 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp190, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i167, ptr %_M_end_of_storage.i.i.i.i.i.i.i168, align 8 + %20 = load i64, ptr %call5.i.i.i.i1.i.i.i171, align 4 + store i64 %20, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i164, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i167, ptr %_M_finish.i.i.i.i.i.i.i166, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i171) #31 %arrayinit.element202 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp190, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element202, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element188, i8 0, i64 24, i1 false) - %add.ptr.i.i166 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp190, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element188, ptr noundef nonnull %ref.tmp190, ptr noundef nonnull %add.ptr.i.i166) - to label %invoke.cont214 unwind label %lpad.i167 + %add.ptr.i.i174 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp190, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element188, ptr noundef nonnull %ref.tmp190, ptr noundef nonnull %add.ptr.i.i174) + to label %invoke.cont214 unwind label %lpad.i175 -lpad.i167: ; preds = %invoke.cont201 +lpad.i175: ; preds = %invoke.cont201 %21 = landingpad { ptr, i32 } cleanup - %this.val.i168 = load ptr, ptr %arrayinit.element188, align 8 - %tobool.not.i.i.i169 = icmp eq ptr %this.val.i168, null - br i1 %tobool.not.i.i.i169, label %ehcleanup860, label %if.then.i.i.i170 + %this.val.i176 = load ptr, ptr %arrayinit.element188, align 8 + %tobool.not.i.i.i177 = icmp eq ptr %this.val.i176, null + br i1 %tobool.not.i.i.i177, label %ehcleanup860, label %if.then.i.i.i178 -if.then.i.i.i170: ; preds = %lpad.i167 - call void @_ZdlPv(ptr noundef nonnull %this.val.i168) #31 +if.then.i.i.i178: ; preds = %lpad.i175 + call void @_ZdlPv(ptr noundef nonnull %this.val.i176) #31 br label %ehcleanup860 invoke.cont214: ; preds = %invoke.cont201 %arrayinit.element215 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 10 - %call5.i.i.i.i1.i.i.i180 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc179 unwind label %lpad227 + %call5.i.i.i.i1.i.i.i189 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc188 unwind label %lpad227 -call5.i.i.i.i1.i.i.i.noexc179: ; preds = %invoke.cont214 - store i32 2, ptr %call5.i.i.i.i1.i.i.i180, align 4 - %ref.tmp221.sroa.2.0.call5.i.i.i.i1.i.i.i180.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i180, i64 4 - store i32 1, ptr %ref.tmp221.sroa.2.0.call5.i.i.i.i1.i.i.i180.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc188: ; preds = %invoke.cont214 + store i32 2, ptr %call5.i.i.i.i1.i.i.i189, align 4 + %ref.tmp221.sroa.2.0.call5.i.i.i.i1.i.i.i189.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i189, i64 4 + store i32 1, ptr %ref.tmp221.sroa.2.0.call5.i.i.i.i1.i.i.i189.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp217, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i174 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont228 unwind label %common.resume.i175 + %call5.i.i.i.i2.i6.i.i.i.i5.i182 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont228 unwind label %common.resume.i183 -common.resume.i175: ; preds = %call5.i.i.i.i1.i.i.i.noexc179 +common.resume.i183: ; preds = %call5.i.i.i.i1.i.i.i.noexc188 %22 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i180) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i189) #31 br label %ehcleanup860 -invoke.cont228: ; preds = %call5.i.i.i.i1.i.i.i.noexc179 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i174, ptr %ref.tmp217, align 8 - %_M_finish.i.i.i.i.i.i.i176 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp217, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i177 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i174, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i178 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp217, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i177, ptr %_M_end_of_storage.i.i.i.i.i.i.i178, align 8 - %23 = load i64, ptr %call5.i.i.i.i1.i.i.i180, align 4 - store i64 %23, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i174, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i177, ptr %_M_finish.i.i.i.i.i.i.i176, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i180) #31 +invoke.cont228: ; preds = %call5.i.i.i.i1.i.i.i.noexc188 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i182, ptr %ref.tmp217, align 8 + %_M_finish.i.i.i.i.i.i.i184 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp217, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i185 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i182, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i186 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp217, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i185, ptr %_M_end_of_storage.i.i.i.i.i.i.i186, align 8 + %23 = load i64, ptr %call5.i.i.i.i1.i.i.i189, align 4 + store i64 %23, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i182, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i185, ptr %_M_finish.i.i.i.i.i.i.i184, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i189) #31 %arrayinit.element229 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp217, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element229, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element215, i8 0, i64 24, i1 false) - %add.ptr.i.i183 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp217, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element215, ptr noundef nonnull %ref.tmp217, ptr noundef nonnull %add.ptr.i.i183) - to label %invoke.cont241 unwind label %lpad.i184 + %add.ptr.i.i192 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp217, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element215, ptr noundef nonnull %ref.tmp217, ptr noundef nonnull %add.ptr.i.i192) + to label %invoke.cont241 unwind label %lpad.i193 -lpad.i184: ; preds = %invoke.cont228 +lpad.i193: ; preds = %invoke.cont228 %24 = landingpad { ptr, i32 } cleanup - %this.val.i185 = load ptr, ptr %arrayinit.element215, align 8 - %tobool.not.i.i.i186 = icmp eq ptr %this.val.i185, null - br i1 %tobool.not.i.i.i186, label %ehcleanup846, label %if.then.i.i.i187 + %this.val.i194 = load ptr, ptr %arrayinit.element215, align 8 + %tobool.not.i.i.i195 = icmp eq ptr %this.val.i194, null + br i1 %tobool.not.i.i.i195, label %ehcleanup846, label %if.then.i.i.i196 -if.then.i.i.i187: ; preds = %lpad.i184 - call void @_ZdlPv(ptr noundef nonnull %this.val.i185) #31 +if.then.i.i.i196: ; preds = %lpad.i193 + call void @_ZdlPv(ptr noundef nonnull %this.val.i194) #31 br label %ehcleanup846 invoke.cont241: ; preds = %invoke.cont228 %arrayinit.element242 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 11 - %call5.i.i.i.i1.i.i.i197 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc196 unwind label %lpad254.body.thread934 + %call5.i.i.i.i1.i.i.i207 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc206 unwind label %lpad254.body.thread967 -lpad254.body.thread934: ; preds = %invoke.cont241 +lpad254.body.thread967: ; preds = %invoke.cont241 %25 = landingpad { ptr, i32 } cleanup br label %ehcleanup846 -call5.i.i.i.i1.i.i.i.noexc196: ; preds = %invoke.cont241 - store i32 1, ptr %call5.i.i.i.i1.i.i.i197, align 4 - %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i197.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i197, i64 4 - store i32 2, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i197.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc206: ; preds = %invoke.cont241 + store i32 1, ptr %call5.i.i.i.i1.i.i.i207, align 4 + %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i207.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i207, i64 4 + store i32 2, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i207.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp244, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i191 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i200 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont255 unwind label %lpad254.body.thread -lpad254.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc196 +lpad254.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc206 %26 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i197) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i207) #31 br label %ehcleanup846 -invoke.cont255: ; preds = %call5.i.i.i.i1.i.i.i.noexc196 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i191, ptr %ref.tmp244, align 8 - %_M_finish.i.i.i.i.i.i.i193 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp244, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i194 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i191, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i195 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp244, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i194, ptr %_M_end_of_storage.i.i.i.i.i.i.i195, align 8 - %27 = load i64, ptr %call5.i.i.i.i1.i.i.i197, align 4 - store i64 %27, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i191, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i194, ptr %_M_finish.i.i.i.i.i.i.i193, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i197) #31 +invoke.cont255: ; preds = %call5.i.i.i.i1.i.i.i.noexc206 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i200, ptr %ref.tmp244, align 8 + %_M_finish.i.i.i.i.i.i.i202 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp244, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i203 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i200, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i204 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp244, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i203, ptr %_M_end_of_storage.i.i.i.i.i.i.i204, align 8 + %27 = load i64, ptr %call5.i.i.i.i1.i.i.i207, align 4 + store i64 %27, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i200, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i203, ptr %_M_finish.i.i.i.i.i.i.i202, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i207) #31 %arrayinit.element256 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp244, i64 1 - %call5.i.i.i.i1.i.i.i206 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc205 unwind label %lpad254.body + %call5.i.i.i.i1.i.i.i217 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc216 unwind label %lpad254.body -call5.i.i.i.i1.i.i.i.noexc205: ; preds = %invoke.cont255 - store i32 3, ptr %call5.i.i.i.i1.i.i.i206, align 4 - %ref.tmp258.sroa.2.0.call5.i.i.i.i1.i.i.i206.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i206, i64 4 - store i32 4, ptr %ref.tmp258.sroa.2.0.call5.i.i.i.i1.i.i.i206.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc216: ; preds = %invoke.cont255 + store i32 3, ptr %call5.i.i.i.i1.i.i.i217, align 4 + %ref.tmp258.sroa.2.0.call5.i.i.i.i1.i.i.i217.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i217, i64 4 + store i32 4, ptr %ref.tmp258.sroa.2.0.call5.i.i.i.i1.i.i.i217.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element256, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i200 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont264 unwind label %lpad254.body.thread928 + %call5.i.i.i.i2.i6.i.i.i.i5.i210 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont264 unwind label %lpad254.body.thread961 -lpad254.body.thread928: ; preds = %call5.i.i.i.i1.i.i.i.noexc205 +lpad254.body.thread961: ; preds = %call5.i.i.i.i1.i.i.i.noexc216 %28 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i206) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i217) #31 br label %arraydestroy.body266 -invoke.cont264: ; preds = %call5.i.i.i.i1.i.i.i.noexc205 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i200, ptr %arrayinit.element256, align 8 - %_M_finish.i.i.i.i.i.i.i202 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp244, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i203 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i200, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i204 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp244, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i203, ptr %_M_end_of_storage.i.i.i.i.i.i.i204, align 8 - %29 = load i64, ptr %call5.i.i.i.i1.i.i.i206, align 4 - store i64 %29, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i200, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i203, ptr %_M_finish.i.i.i.i.i.i.i202, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i206) #31 +invoke.cont264: ; preds = %call5.i.i.i.i1.i.i.i.noexc216 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i210, ptr %arrayinit.element256, align 8 + %_M_finish.i.i.i.i.i.i.i212 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp244, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i213 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i210, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i214 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp244, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i213, ptr %_M_end_of_storage.i.i.i.i.i.i.i214, align 8 + %29 = load i64, ptr %call5.i.i.i.i1.i.i.i217, align 4 + store i64 %29, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i210, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i213, ptr %_M_finish.i.i.i.i.i.i.i212, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i217) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element242, i8 0, i64 24, i1 false) - %add.ptr.i.i211 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp244, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element242, ptr noundef nonnull %ref.tmp244, ptr noundef nonnull %add.ptr.i.i211) - to label %invoke.cont276 unwind label %lpad.i212 + %add.ptr.i.i222 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp244, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element242, ptr noundef nonnull %ref.tmp244, ptr noundef nonnull %add.ptr.i.i222) + to label %invoke.cont276 unwind label %lpad.i223 -lpad.i212: ; preds = %invoke.cont264 +lpad.i223: ; preds = %invoke.cont264 %30 = landingpad { ptr, i32 } cleanup - %this.val.i213 = load ptr, ptr %arrayinit.element242, align 8 - %tobool.not.i.i.i214 = icmp eq ptr %this.val.i213, null - br i1 %tobool.not.i.i.i214, label %ehcleanup832, label %if.then.i.i.i215 + %this.val.i224 = load ptr, ptr %arrayinit.element242, align 8 + %tobool.not.i.i.i225 = icmp eq ptr %this.val.i224, null + br i1 %tobool.not.i.i.i225, label %ehcleanup832, label %if.then.i.i.i226 -if.then.i.i.i215: ; preds = %lpad.i212 - call void @_ZdlPv(ptr noundef nonnull %this.val.i213) #31 +if.then.i.i.i226: ; preds = %lpad.i223 + call void @_ZdlPv(ptr noundef nonnull %this.val.i224) #31 br label %ehcleanup832 invoke.cont276: ; preds = %invoke.cont264 %arrayinit.element277 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 12 - %call5.i.i.i.i1.i.i.i225 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc224 unwind label %lpad289.body.thread943 + %call5.i.i.i.i1.i.i.i237 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc236 unwind label %lpad289.body.thread976 -lpad289.body.thread943: ; preds = %invoke.cont276 +lpad289.body.thread976: ; preds = %invoke.cont276 %31 = landingpad { ptr, i32 } cleanup br label %ehcleanup832 -call5.i.i.i.i1.i.i.i.noexc224: ; preds = %invoke.cont276 - store i32 1, ptr %call5.i.i.i.i1.i.i.i225, align 4 - %ref.tmp283.sroa.2.0.call5.i.i.i.i1.i.i.i225.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i225, i64 4 - store i32 2, ptr %ref.tmp283.sroa.2.0.call5.i.i.i.i1.i.i.i225.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc236: ; preds = %invoke.cont276 + store i32 1, ptr %call5.i.i.i.i1.i.i.i237, align 4 + %ref.tmp283.sroa.2.0.call5.i.i.i.i1.i.i.i237.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i237, i64 4 + store i32 2, ptr %ref.tmp283.sroa.2.0.call5.i.i.i.i1.i.i.i237.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp279, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i219 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i230 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont290 unwind label %lpad289.body.thread -lpad289.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc224 +lpad289.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc236 %32 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i225) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i237) #31 br label %ehcleanup832 -invoke.cont290: ; preds = %call5.i.i.i.i1.i.i.i.noexc224 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i219, ptr %ref.tmp279, align 8 - %_M_finish.i.i.i.i.i.i.i221 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp279, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i222 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i219, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i223 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp279, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i222, ptr %_M_end_of_storage.i.i.i.i.i.i.i223, align 8 - %33 = load i64, ptr %call5.i.i.i.i1.i.i.i225, align 4 - store i64 %33, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i219, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i222, ptr %_M_finish.i.i.i.i.i.i.i221, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i225) #31 +invoke.cont290: ; preds = %call5.i.i.i.i1.i.i.i.noexc236 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i230, ptr %ref.tmp279, align 8 + %_M_finish.i.i.i.i.i.i.i232 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp279, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i233 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i230, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i234 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp279, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i233, ptr %_M_end_of_storage.i.i.i.i.i.i.i234, align 8 + %33 = load i64, ptr %call5.i.i.i.i1.i.i.i237, align 4 + store i64 %33, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i230, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i233, ptr %_M_finish.i.i.i.i.i.i.i232, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i237) #31 %arrayinit.element291 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp279, i64 1 - %call5.i.i.i.i1.i.i.i234 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc233 unwind label %lpad289.body + %call5.i.i.i.i1.i.i.i247 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc246 unwind label %lpad289.body -call5.i.i.i.i1.i.i.i.noexc233: ; preds = %invoke.cont290 - store i32 4, ptr %call5.i.i.i.i1.i.i.i234, align 4 - %ref.tmp293.sroa.2.0.call5.i.i.i.i1.i.i.i234.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i234, i64 4 - store i32 3, ptr %ref.tmp293.sroa.2.0.call5.i.i.i.i1.i.i.i234.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc246: ; preds = %invoke.cont290 + store i32 4, ptr %call5.i.i.i.i1.i.i.i247, align 4 + %ref.tmp293.sroa.2.0.call5.i.i.i.i1.i.i.i247.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i247, i64 4 + store i32 3, ptr %ref.tmp293.sroa.2.0.call5.i.i.i.i1.i.i.i247.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element291, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i228 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont299 unwind label %lpad289.body.thread937 + %call5.i.i.i.i2.i6.i.i.i.i5.i240 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont299 unwind label %lpad289.body.thread970 -lpad289.body.thread937: ; preds = %call5.i.i.i.i1.i.i.i.noexc233 +lpad289.body.thread970: ; preds = %call5.i.i.i.i1.i.i.i.noexc246 %34 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i234) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i247) #31 br label %arraydestroy.body301 -invoke.cont299: ; preds = %call5.i.i.i.i1.i.i.i.noexc233 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i228, ptr %arrayinit.element291, align 8 - %_M_finish.i.i.i.i.i.i.i230 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp279, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i231 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i228, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i232 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp279, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i231, ptr %_M_end_of_storage.i.i.i.i.i.i.i232, align 8 - %35 = load i64, ptr %call5.i.i.i.i1.i.i.i234, align 4 - store i64 %35, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i228, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i231, ptr %_M_finish.i.i.i.i.i.i.i230, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i234) #31 +invoke.cont299: ; preds = %call5.i.i.i.i1.i.i.i.noexc246 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i240, ptr %arrayinit.element291, align 8 + %_M_finish.i.i.i.i.i.i.i242 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp279, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i243 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i240, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i244 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp279, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i243, ptr %_M_end_of_storage.i.i.i.i.i.i.i244, align 8 + %35 = load i64, ptr %call5.i.i.i.i1.i.i.i247, align 4 + store i64 %35, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i240, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i243, ptr %_M_finish.i.i.i.i.i.i.i242, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i247) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element277, i8 0, i64 24, i1 false) - %add.ptr.i.i239 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp279, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element277, ptr noundef nonnull %ref.tmp279, ptr noundef nonnull %add.ptr.i.i239) - to label %invoke.cont311 unwind label %lpad.i240 + %add.ptr.i.i252 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp279, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element277, ptr noundef nonnull %ref.tmp279, ptr noundef nonnull %add.ptr.i.i252) + to label %invoke.cont311 unwind label %lpad.i253 -lpad.i240: ; preds = %invoke.cont299 +lpad.i253: ; preds = %invoke.cont299 %36 = landingpad { ptr, i32 } cleanup - %this.val.i241 = load ptr, ptr %arrayinit.element277, align 8 - %tobool.not.i.i.i242 = icmp eq ptr %this.val.i241, null - br i1 %tobool.not.i.i.i242, label %ehcleanup818, label %if.then.i.i.i243 + %this.val.i254 = load ptr, ptr %arrayinit.element277, align 8 + %tobool.not.i.i.i255 = icmp eq ptr %this.val.i254, null + br i1 %tobool.not.i.i.i255, label %ehcleanup818, label %if.then.i.i.i256 -if.then.i.i.i243: ; preds = %lpad.i240 - call void @_ZdlPv(ptr noundef nonnull %this.val.i241) #31 +if.then.i.i.i256: ; preds = %lpad.i253 + call void @_ZdlPv(ptr noundef nonnull %this.val.i254) #31 br label %ehcleanup818 invoke.cont311: ; preds = %invoke.cont299 %arrayinit.element312 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 13 - %call5.i.i.i.i1.i.i.i253 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc252 unwind label %lpad324.body.thread952 + %call5.i.i.i.i1.i.i.i267 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc266 unwind label %lpad324.body.thread985 -lpad324.body.thread952: ; preds = %invoke.cont311 +lpad324.body.thread985: ; preds = %invoke.cont311 %37 = landingpad { ptr, i32 } cleanup br label %ehcleanup818 -call5.i.i.i.i1.i.i.i.noexc252: ; preds = %invoke.cont311 - store i32 1, ptr %call5.i.i.i.i1.i.i.i253, align 4 - %ref.tmp318.sroa.2.0.call5.i.i.i.i1.i.i.i253.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i253, i64 4 - store i32 3, ptr %ref.tmp318.sroa.2.0.call5.i.i.i.i1.i.i.i253.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc266: ; preds = %invoke.cont311 + store i32 1, ptr %call5.i.i.i.i1.i.i.i267, align 4 + %ref.tmp318.sroa.2.0.call5.i.i.i.i1.i.i.i267.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i267, i64 4 + store i32 3, ptr %ref.tmp318.sroa.2.0.call5.i.i.i.i1.i.i.i267.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp314, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i247 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i260 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont325 unwind label %lpad324.body.thread -lpad324.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc252 +lpad324.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc266 %38 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i253) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i267) #31 br label %ehcleanup818 -invoke.cont325: ; preds = %call5.i.i.i.i1.i.i.i.noexc252 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, ptr %ref.tmp314, align 8 - %_M_finish.i.i.i.i.i.i.i249 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp314, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i250 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i251 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp314, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i250, ptr %_M_end_of_storage.i.i.i.i.i.i.i251, align 8 - %39 = load i64, ptr %call5.i.i.i.i1.i.i.i253, align 4 - store i64 %39, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i250, ptr %_M_finish.i.i.i.i.i.i.i249, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i253) #31 +invoke.cont325: ; preds = %call5.i.i.i.i1.i.i.i.noexc266 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i260, ptr %ref.tmp314, align 8 + %_M_finish.i.i.i.i.i.i.i262 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp314, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i263 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i260, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i264 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp314, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i263, ptr %_M_end_of_storage.i.i.i.i.i.i.i264, align 8 + %39 = load i64, ptr %call5.i.i.i.i1.i.i.i267, align 4 + store i64 %39, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i260, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i263, ptr %_M_finish.i.i.i.i.i.i.i262, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i267) #31 %arrayinit.element326 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp314, i64 1 - %call5.i.i.i.i1.i.i.i262 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc261 unwind label %lpad324.body + %call5.i.i.i.i1.i.i.i277 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc276 unwind label %lpad324.body -call5.i.i.i.i1.i.i.i.noexc261: ; preds = %invoke.cont325 - store i32 2, ptr %call5.i.i.i.i1.i.i.i262, align 4 - %ref.tmp328.sroa.2.0.call5.i.i.i.i1.i.i.i262.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i262, i64 4 - store i32 4, ptr %ref.tmp328.sroa.2.0.call5.i.i.i.i1.i.i.i262.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc276: ; preds = %invoke.cont325 + store i32 2, ptr %call5.i.i.i.i1.i.i.i277, align 4 + %ref.tmp328.sroa.2.0.call5.i.i.i.i1.i.i.i277.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i277, i64 4 + store i32 4, ptr %ref.tmp328.sroa.2.0.call5.i.i.i.i1.i.i.i277.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element326, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i256 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont334 unwind label %lpad324.body.thread946 + %call5.i.i.i.i2.i6.i.i.i.i5.i270 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont334 unwind label %lpad324.body.thread979 -lpad324.body.thread946: ; preds = %call5.i.i.i.i1.i.i.i.noexc261 +lpad324.body.thread979: ; preds = %call5.i.i.i.i1.i.i.i.noexc276 %40 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i262) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i277) #31 br label %arraydestroy.body336 -invoke.cont334: ; preds = %call5.i.i.i.i1.i.i.i.noexc261 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i256, ptr %arrayinit.element326, align 8 - %_M_finish.i.i.i.i.i.i.i258 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp314, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i259 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i256, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i260 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp314, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i259, ptr %_M_end_of_storage.i.i.i.i.i.i.i260, align 8 - %41 = load i64, ptr %call5.i.i.i.i1.i.i.i262, align 4 - store i64 %41, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i256, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i259, ptr %_M_finish.i.i.i.i.i.i.i258, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i262) #31 +invoke.cont334: ; preds = %call5.i.i.i.i1.i.i.i.noexc276 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i270, ptr %arrayinit.element326, align 8 + %_M_finish.i.i.i.i.i.i.i272 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp314, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i273 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i270, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i274 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp314, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i273, ptr %_M_end_of_storage.i.i.i.i.i.i.i274, align 8 + %41 = load i64, ptr %call5.i.i.i.i1.i.i.i277, align 4 + store i64 %41, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i270, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i273, ptr %_M_finish.i.i.i.i.i.i.i272, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i277) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element312, i8 0, i64 24, i1 false) - %add.ptr.i.i267 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp314, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element312, ptr noundef nonnull %ref.tmp314, ptr noundef nonnull %add.ptr.i.i267) - to label %invoke.cont346 unwind label %lpad.i268 + %add.ptr.i.i282 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp314, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element312, ptr noundef nonnull %ref.tmp314, ptr noundef nonnull %add.ptr.i.i282) + to label %invoke.cont346 unwind label %lpad.i283 -lpad.i268: ; preds = %invoke.cont334 +lpad.i283: ; preds = %invoke.cont334 %42 = landingpad { ptr, i32 } cleanup - %this.val.i269 = load ptr, ptr %arrayinit.element312, align 8 - %tobool.not.i.i.i270 = icmp eq ptr %this.val.i269, null - br i1 %tobool.not.i.i.i270, label %ehcleanup804, label %if.then.i.i.i271 + %this.val.i284 = load ptr, ptr %arrayinit.element312, align 8 + %tobool.not.i.i.i285 = icmp eq ptr %this.val.i284, null + br i1 %tobool.not.i.i.i285, label %ehcleanup804, label %if.then.i.i.i286 -if.then.i.i.i271: ; preds = %lpad.i268 - call void @_ZdlPv(ptr noundef nonnull %this.val.i269) #31 +if.then.i.i.i286: ; preds = %lpad.i283 + call void @_ZdlPv(ptr noundef nonnull %this.val.i284) #31 br label %ehcleanup804 invoke.cont346: ; preds = %invoke.cont334 %arrayinit.element347 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 14 - %call5.i.i.i.i1.i.i.i281 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc280 unwind label %lpad359.body.thread961 + %call5.i.i.i.i1.i.i.i297 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc296 unwind label %lpad359.body.thread994 -lpad359.body.thread961: ; preds = %invoke.cont346 +lpad359.body.thread994: ; preds = %invoke.cont346 %43 = landingpad { ptr, i32 } cleanup br label %ehcleanup804 -call5.i.i.i.i1.i.i.i.noexc280: ; preds = %invoke.cont346 - store i32 1, ptr %call5.i.i.i.i1.i.i.i281, align 4 - %ref.tmp353.sroa.2.0.call5.i.i.i.i1.i.i.i281.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i281, i64 4 - store i32 3, ptr %ref.tmp353.sroa.2.0.call5.i.i.i.i1.i.i.i281.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc296: ; preds = %invoke.cont346 + store i32 1, ptr %call5.i.i.i.i1.i.i.i297, align 4 + %ref.tmp353.sroa.2.0.call5.i.i.i.i1.i.i.i297.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i297, i64 4 + store i32 3, ptr %ref.tmp353.sroa.2.0.call5.i.i.i.i1.i.i.i297.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp349, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i275 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i290 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont360 unwind label %lpad359.body.thread -lpad359.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc280 +lpad359.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc296 %44 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i281) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i297) #31 br label %ehcleanup804 -invoke.cont360: ; preds = %call5.i.i.i.i1.i.i.i.noexc280 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i275, ptr %ref.tmp349, align 8 - %_M_finish.i.i.i.i.i.i.i277 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp349, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i278 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i275, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i279 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp349, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i278, ptr %_M_end_of_storage.i.i.i.i.i.i.i279, align 8 - %45 = load i64, ptr %call5.i.i.i.i1.i.i.i281, align 4 - store i64 %45, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i275, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i278, ptr %_M_finish.i.i.i.i.i.i.i277, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i281) #31 +invoke.cont360: ; preds = %call5.i.i.i.i1.i.i.i.noexc296 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i290, ptr %ref.tmp349, align 8 + %_M_finish.i.i.i.i.i.i.i292 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp349, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i293 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i290, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i294 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp349, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i293, ptr %_M_end_of_storage.i.i.i.i.i.i.i294, align 8 + %45 = load i64, ptr %call5.i.i.i.i1.i.i.i297, align 4 + store i64 %45, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i290, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i293, ptr %_M_finish.i.i.i.i.i.i.i292, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i297) #31 %arrayinit.element361 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp349, i64 1 - %call5.i.i.i.i1.i.i.i290 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc289 unwind label %lpad359.body + %call5.i.i.i.i1.i.i.i307 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc306 unwind label %lpad359.body -call5.i.i.i.i1.i.i.i.noexc289: ; preds = %invoke.cont360 - store i32 4, ptr %call5.i.i.i.i1.i.i.i290, align 4 - %ref.tmp363.sroa.2.0.call5.i.i.i.i1.i.i.i290.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i290, i64 4 - store i32 2, ptr %ref.tmp363.sroa.2.0.call5.i.i.i.i1.i.i.i290.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc306: ; preds = %invoke.cont360 + store i32 4, ptr %call5.i.i.i.i1.i.i.i307, align 4 + %ref.tmp363.sroa.2.0.call5.i.i.i.i1.i.i.i307.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i307, i64 4 + store i32 2, ptr %ref.tmp363.sroa.2.0.call5.i.i.i.i1.i.i.i307.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element361, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i284 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont369 unwind label %lpad359.body.thread955 + %call5.i.i.i.i2.i6.i.i.i.i5.i300 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont369 unwind label %lpad359.body.thread988 -lpad359.body.thread955: ; preds = %call5.i.i.i.i1.i.i.i.noexc289 +lpad359.body.thread988: ; preds = %call5.i.i.i.i1.i.i.i.noexc306 %46 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i290) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i307) #31 br label %arraydestroy.body371 -invoke.cont369: ; preds = %call5.i.i.i.i1.i.i.i.noexc289 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i284, ptr %arrayinit.element361, align 8 - %_M_finish.i.i.i.i.i.i.i286 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp349, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i287 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i284, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i288 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp349, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i287, ptr %_M_end_of_storage.i.i.i.i.i.i.i288, align 8 - %47 = load i64, ptr %call5.i.i.i.i1.i.i.i290, align 4 - store i64 %47, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i284, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i287, ptr %_M_finish.i.i.i.i.i.i.i286, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i290) #31 +invoke.cont369: ; preds = %call5.i.i.i.i1.i.i.i.noexc306 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i300, ptr %arrayinit.element361, align 8 + %_M_finish.i.i.i.i.i.i.i302 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp349, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i303 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i300, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i304 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp349, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i303, ptr %_M_end_of_storage.i.i.i.i.i.i.i304, align 8 + %47 = load i64, ptr %call5.i.i.i.i1.i.i.i307, align 4 + store i64 %47, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i300, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i303, ptr %_M_finish.i.i.i.i.i.i.i302, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i307) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element347, i8 0, i64 24, i1 false) - %add.ptr.i.i295 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp349, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element347, ptr noundef nonnull %ref.tmp349, ptr noundef nonnull %add.ptr.i.i295) - to label %invoke.cont381 unwind label %lpad.i296 + %add.ptr.i.i312 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp349, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element347, ptr noundef nonnull %ref.tmp349, ptr noundef nonnull %add.ptr.i.i312) + to label %invoke.cont381 unwind label %lpad.i313 -lpad.i296: ; preds = %invoke.cont369 +lpad.i313: ; preds = %invoke.cont369 %48 = landingpad { ptr, i32 } cleanup - %this.val.i297 = load ptr, ptr %arrayinit.element347, align 8 - %tobool.not.i.i.i298 = icmp eq ptr %this.val.i297, null - br i1 %tobool.not.i.i.i298, label %ehcleanup790, label %if.then.i.i.i299 + %this.val.i314 = load ptr, ptr %arrayinit.element347, align 8 + %tobool.not.i.i.i315 = icmp eq ptr %this.val.i314, null + br i1 %tobool.not.i.i.i315, label %ehcleanup790, label %if.then.i.i.i316 -if.then.i.i.i299: ; preds = %lpad.i296 - call void @_ZdlPv(ptr noundef nonnull %this.val.i297) #31 +if.then.i.i.i316: ; preds = %lpad.i313 + call void @_ZdlPv(ptr noundef nonnull %this.val.i314) #31 br label %ehcleanup790 invoke.cont381: ; preds = %invoke.cont369 %arrayinit.element382 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 15 - %call5.i.i.i.i1.i.i.i309 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc308 unwind label %lpad394.body.thread970 + %call5.i.i.i.i1.i.i.i327 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc326 unwind label %lpad394.body.thread1003 -lpad394.body.thread970: ; preds = %invoke.cont381 +lpad394.body.thread1003: ; preds = %invoke.cont381 %49 = landingpad { ptr, i32 } cleanup br label %ehcleanup790 -call5.i.i.i.i1.i.i.i.noexc308: ; preds = %invoke.cont381 - store i32 1, ptr %call5.i.i.i.i1.i.i.i309, align 4 - %ref.tmp388.sroa.2.0.call5.i.i.i.i1.i.i.i309.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i309, i64 4 - store i32 4, ptr %ref.tmp388.sroa.2.0.call5.i.i.i.i1.i.i.i309.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc326: ; preds = %invoke.cont381 + store i32 1, ptr %call5.i.i.i.i1.i.i.i327, align 4 + %ref.tmp388.sroa.2.0.call5.i.i.i.i1.i.i.i327.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i327, i64 4 + store i32 4, ptr %ref.tmp388.sroa.2.0.call5.i.i.i.i1.i.i.i327.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp384, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i303 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i320 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont395 unwind label %lpad394.body.thread -lpad394.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc308 +lpad394.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc326 %50 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i309) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i327) #31 br label %ehcleanup790 -invoke.cont395: ; preds = %call5.i.i.i.i1.i.i.i.noexc308 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i303, ptr %ref.tmp384, align 8 - %_M_finish.i.i.i.i.i.i.i305 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp384, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i306 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i303, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i307 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp384, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i306, ptr %_M_end_of_storage.i.i.i.i.i.i.i307, align 8 - %51 = load i64, ptr %call5.i.i.i.i1.i.i.i309, align 4 - store i64 %51, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i303, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i306, ptr %_M_finish.i.i.i.i.i.i.i305, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i309) #31 +invoke.cont395: ; preds = %call5.i.i.i.i1.i.i.i.noexc326 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i320, ptr %ref.tmp384, align 8 + %_M_finish.i.i.i.i.i.i.i322 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp384, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i323 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i320, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i324 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp384, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i323, ptr %_M_end_of_storage.i.i.i.i.i.i.i324, align 8 + %51 = load i64, ptr %call5.i.i.i.i1.i.i.i327, align 4 + store i64 %51, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i320, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i323, ptr %_M_finish.i.i.i.i.i.i.i322, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i327) #31 %arrayinit.element396 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp384, i64 1 - %call5.i.i.i.i1.i.i.i318 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc317 unwind label %lpad394.body + %call5.i.i.i.i1.i.i.i337 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc336 unwind label %lpad394.body -call5.i.i.i.i1.i.i.i.noexc317: ; preds = %invoke.cont395 - store i32 2, ptr %call5.i.i.i.i1.i.i.i318, align 4 - %ref.tmp398.sroa.2.0.call5.i.i.i.i1.i.i.i318.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i318, i64 4 - store i32 3, ptr %ref.tmp398.sroa.2.0.call5.i.i.i.i1.i.i.i318.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc336: ; preds = %invoke.cont395 + store i32 2, ptr %call5.i.i.i.i1.i.i.i337, align 4 + %ref.tmp398.sroa.2.0.call5.i.i.i.i1.i.i.i337.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i337, i64 4 + store i32 3, ptr %ref.tmp398.sroa.2.0.call5.i.i.i.i1.i.i.i337.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element396, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i312 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont404 unwind label %lpad394.body.thread964 + %call5.i.i.i.i2.i6.i.i.i.i5.i330 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont404 unwind label %lpad394.body.thread997 -lpad394.body.thread964: ; preds = %call5.i.i.i.i1.i.i.i.noexc317 +lpad394.body.thread997: ; preds = %call5.i.i.i.i1.i.i.i.noexc336 %52 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i318) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i337) #31 br label %arraydestroy.body406 -invoke.cont404: ; preds = %call5.i.i.i.i1.i.i.i.noexc317 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i312, ptr %arrayinit.element396, align 8 - %_M_finish.i.i.i.i.i.i.i314 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp384, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i315 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i312, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i316 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp384, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i315, ptr %_M_end_of_storage.i.i.i.i.i.i.i316, align 8 - %53 = load i64, ptr %call5.i.i.i.i1.i.i.i318, align 4 - store i64 %53, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i312, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i315, ptr %_M_finish.i.i.i.i.i.i.i314, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i318) #31 +invoke.cont404: ; preds = %call5.i.i.i.i1.i.i.i.noexc336 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i330, ptr %arrayinit.element396, align 8 + %_M_finish.i.i.i.i.i.i.i332 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp384, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i333 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i330, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i334 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp384, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i333, ptr %_M_end_of_storage.i.i.i.i.i.i.i334, align 8 + %53 = load i64, ptr %call5.i.i.i.i1.i.i.i337, align 4 + store i64 %53, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i330, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i333, ptr %_M_finish.i.i.i.i.i.i.i332, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i337) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, i8 0, i64 24, i1 false) - %add.ptr.i.i323 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp384, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, ptr noundef nonnull %ref.tmp384, ptr noundef nonnull %add.ptr.i.i323) - to label %invoke.cont416 unwind label %lpad.i324 + %add.ptr.i.i342 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp384, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, ptr noundef nonnull %ref.tmp384, ptr noundef nonnull %add.ptr.i.i342) + to label %invoke.cont416 unwind label %lpad.i343 -lpad.i324: ; preds = %invoke.cont404 +lpad.i343: ; preds = %invoke.cont404 %54 = landingpad { ptr, i32 } cleanup - %this.val.i325 = load ptr, ptr %arrayinit.element382, align 8 - %tobool.not.i.i.i326 = icmp eq ptr %this.val.i325, null - br i1 %tobool.not.i.i.i326, label %ehcleanup776, label %if.then.i.i.i327 + %this.val.i344 = load ptr, ptr %arrayinit.element382, align 8 + %tobool.not.i.i.i345 = icmp eq ptr %this.val.i344, null + br i1 %tobool.not.i.i.i345, label %ehcleanup776, label %if.then.i.i.i346 -if.then.i.i.i327: ; preds = %lpad.i324 - call void @_ZdlPv(ptr noundef nonnull %this.val.i325) #31 +if.then.i.i.i346: ; preds = %lpad.i343 + call void @_ZdlPv(ptr noundef nonnull %this.val.i344) #31 br label %ehcleanup776 invoke.cont416: ; preds = %invoke.cont404 %arrayinit.element417 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 16 - %call5.i.i.i.i1.i.i.i337 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc336 unwind label %lpad429.body.thread979 + %call5.i.i.i.i1.i.i.i357 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc356 unwind label %lpad429.body.thread1012 -lpad429.body.thread979: ; preds = %invoke.cont416 +lpad429.body.thread1012: ; preds = %invoke.cont416 %55 = landingpad { ptr, i32 } cleanup br label %ehcleanup776 -call5.i.i.i.i1.i.i.i.noexc336: ; preds = %invoke.cont416 - store i32 1, ptr %call5.i.i.i.i1.i.i.i337, align 4 - %ref.tmp423.sroa.2.0.call5.i.i.i.i1.i.i.i337.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i337, i64 4 - store i32 4, ptr %ref.tmp423.sroa.2.0.call5.i.i.i.i1.i.i.i337.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc356: ; preds = %invoke.cont416 + store i32 1, ptr %call5.i.i.i.i1.i.i.i357, align 4 + %ref.tmp423.sroa.2.0.call5.i.i.i.i1.i.i.i357.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i357, i64 4 + store i32 4, ptr %ref.tmp423.sroa.2.0.call5.i.i.i.i1.i.i.i357.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp419, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i331 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i350 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont430 unwind label %lpad429.body.thread -lpad429.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc336 +lpad429.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc356 %56 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i337) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i357) #31 br label %ehcleanup776 -invoke.cont430: ; preds = %call5.i.i.i.i1.i.i.i.noexc336 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i331, ptr %ref.tmp419, align 8 - %_M_finish.i.i.i.i.i.i.i333 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp419, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i334 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i331, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i335 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp419, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i334, ptr %_M_end_of_storage.i.i.i.i.i.i.i335, align 8 - %57 = load i64, ptr %call5.i.i.i.i1.i.i.i337, align 4 - store i64 %57, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i331, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i334, ptr %_M_finish.i.i.i.i.i.i.i333, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i337) #31 +invoke.cont430: ; preds = %call5.i.i.i.i1.i.i.i.noexc356 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i350, ptr %ref.tmp419, align 8 + %_M_finish.i.i.i.i.i.i.i352 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp419, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i353 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i350, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i354 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp419, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i353, ptr %_M_end_of_storage.i.i.i.i.i.i.i354, align 8 + %57 = load i64, ptr %call5.i.i.i.i1.i.i.i357, align 4 + store i64 %57, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i350, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i353, ptr %_M_finish.i.i.i.i.i.i.i352, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i357) #31 %arrayinit.element431 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp419, i64 1 - %call5.i.i.i.i1.i.i.i346 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc345 unwind label %lpad429.body + %call5.i.i.i.i1.i.i.i367 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc366 unwind label %lpad429.body -call5.i.i.i.i1.i.i.i.noexc345: ; preds = %invoke.cont430 - store i32 3, ptr %call5.i.i.i.i1.i.i.i346, align 4 - %ref.tmp433.sroa.2.0.call5.i.i.i.i1.i.i.i346.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i346, i64 4 - store i32 2, ptr %ref.tmp433.sroa.2.0.call5.i.i.i.i1.i.i.i346.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc366: ; preds = %invoke.cont430 + store i32 3, ptr %call5.i.i.i.i1.i.i.i367, align 4 + %ref.tmp433.sroa.2.0.call5.i.i.i.i1.i.i.i367.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i367, i64 4 + store i32 2, ptr %ref.tmp433.sroa.2.0.call5.i.i.i.i1.i.i.i367.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element431, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i340 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont439 unwind label %lpad429.body.thread973 + %call5.i.i.i.i2.i6.i.i.i.i5.i360 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont439 unwind label %lpad429.body.thread1006 -lpad429.body.thread973: ; preds = %call5.i.i.i.i1.i.i.i.noexc345 +lpad429.body.thread1006: ; preds = %call5.i.i.i.i1.i.i.i.noexc366 %58 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i346) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i367) #31 br label %arraydestroy.body441 -invoke.cont439: ; preds = %call5.i.i.i.i1.i.i.i.noexc345 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i340, ptr %arrayinit.element431, align 8 - %_M_finish.i.i.i.i.i.i.i342 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp419, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i343 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i340, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i344 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp419, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i343, ptr %_M_end_of_storage.i.i.i.i.i.i.i344, align 8 - %59 = load i64, ptr %call5.i.i.i.i1.i.i.i346, align 4 - store i64 %59, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i340, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i343, ptr %_M_finish.i.i.i.i.i.i.i342, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i346) #31 +invoke.cont439: ; preds = %call5.i.i.i.i1.i.i.i.noexc366 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i360, ptr %arrayinit.element431, align 8 + %_M_finish.i.i.i.i.i.i.i362 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp419, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i363 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i360, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i364 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp419, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i363, ptr %_M_end_of_storage.i.i.i.i.i.i.i364, align 8 + %59 = load i64, ptr %call5.i.i.i.i1.i.i.i367, align 4 + store i64 %59, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i360, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i363, ptr %_M_finish.i.i.i.i.i.i.i362, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i367) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element417, i8 0, i64 24, i1 false) - %add.ptr.i.i351 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp419, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element417, ptr noundef nonnull %ref.tmp419, ptr noundef nonnull %add.ptr.i.i351) - to label %invoke.cont451 unwind label %lpad.i352 + %add.ptr.i.i372 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp419, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element417, ptr noundef nonnull %ref.tmp419, ptr noundef nonnull %add.ptr.i.i372) + to label %invoke.cont451 unwind label %lpad.i373 -lpad.i352: ; preds = %invoke.cont439 +lpad.i373: ; preds = %invoke.cont439 %60 = landingpad { ptr, i32 } cleanup - %this.val.i353 = load ptr, ptr %arrayinit.element417, align 8 - %tobool.not.i.i.i354 = icmp eq ptr %this.val.i353, null - br i1 %tobool.not.i.i.i354, label %ehcleanup762, label %if.then.i.i.i355 + %this.val.i374 = load ptr, ptr %arrayinit.element417, align 8 + %tobool.not.i.i.i375 = icmp eq ptr %this.val.i374, null + br i1 %tobool.not.i.i.i375, label %ehcleanup762, label %if.then.i.i.i376 -if.then.i.i.i355: ; preds = %lpad.i352 - call void @_ZdlPv(ptr noundef nonnull %this.val.i353) #31 +if.then.i.i.i376: ; preds = %lpad.i373 + call void @_ZdlPv(ptr noundef nonnull %this.val.i374) #31 br label %ehcleanup762 invoke.cont451: ; preds = %invoke.cont439 %arrayinit.element452 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 17 - %call5.i.i.i.i1.i.i.i365 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc364 unwind label %lpad464.body.thread988 + %call5.i.i.i.i1.i.i.i387 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc386 unwind label %lpad464.body.thread1021 -lpad464.body.thread988: ; preds = %invoke.cont451 +lpad464.body.thread1021: ; preds = %invoke.cont451 %61 = landingpad { ptr, i32 } cleanup br label %ehcleanup762 -call5.i.i.i.i1.i.i.i.noexc364: ; preds = %invoke.cont451 - store i32 2, ptr %call5.i.i.i.i1.i.i.i365, align 4 - %ref.tmp458.sroa.2.0.call5.i.i.i.i1.i.i.i365.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i365, i64 4 - store i32 3, ptr %ref.tmp458.sroa.2.0.call5.i.i.i.i1.i.i.i365.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc386: ; preds = %invoke.cont451 + store i32 2, ptr %call5.i.i.i.i1.i.i.i387, align 4 + %ref.tmp458.sroa.2.0.call5.i.i.i.i1.i.i.i387.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i387, i64 4 + store i32 3, ptr %ref.tmp458.sroa.2.0.call5.i.i.i.i1.i.i.i387.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp454, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i359 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i380 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont465 unwind label %lpad464.body.thread -lpad464.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc364 +lpad464.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc386 %62 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i365) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i387) #31 br label %ehcleanup762 -invoke.cont465: ; preds = %call5.i.i.i.i1.i.i.i.noexc364 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i359, ptr %ref.tmp454, align 8 - %_M_finish.i.i.i.i.i.i.i361 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp454, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i362 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i359, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i363 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp454, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i362, ptr %_M_end_of_storage.i.i.i.i.i.i.i363, align 8 - %63 = load i64, ptr %call5.i.i.i.i1.i.i.i365, align 4 - store i64 %63, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i359, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i362, ptr %_M_finish.i.i.i.i.i.i.i361, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i365) #31 +invoke.cont465: ; preds = %call5.i.i.i.i1.i.i.i.noexc386 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i380, ptr %ref.tmp454, align 8 + %_M_finish.i.i.i.i.i.i.i382 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp454, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i383 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i380, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i384 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp454, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i383, ptr %_M_end_of_storage.i.i.i.i.i.i.i384, align 8 + %63 = load i64, ptr %call5.i.i.i.i1.i.i.i387, align 4 + store i64 %63, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i380, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i383, ptr %_M_finish.i.i.i.i.i.i.i382, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i387) #31 %arrayinit.element466 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp454, i64 1 - %call5.i.i.i.i1.i.i.i374 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc373 unwind label %lpad464.body + %call5.i.i.i.i1.i.i.i397 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc396 unwind label %lpad464.body -call5.i.i.i.i1.i.i.i.noexc373: ; preds = %invoke.cont465 - store i32 1, ptr %call5.i.i.i.i1.i.i.i374, align 4 - %ref.tmp468.sroa.2.0.call5.i.i.i.i1.i.i.i374.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i374, i64 4 - store i32 4, ptr %ref.tmp468.sroa.2.0.call5.i.i.i.i1.i.i.i374.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc396: ; preds = %invoke.cont465 + store i32 1, ptr %call5.i.i.i.i1.i.i.i397, align 4 + %ref.tmp468.sroa.2.0.call5.i.i.i.i1.i.i.i397.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i397, i64 4 + store i32 4, ptr %ref.tmp468.sroa.2.0.call5.i.i.i.i1.i.i.i397.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element466, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i368 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont474 unwind label %lpad464.body.thread982 + %call5.i.i.i.i2.i6.i.i.i.i5.i390 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont474 unwind label %lpad464.body.thread1015 -lpad464.body.thread982: ; preds = %call5.i.i.i.i1.i.i.i.noexc373 +lpad464.body.thread1015: ; preds = %call5.i.i.i.i1.i.i.i.noexc396 %64 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i374) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i397) #31 br label %arraydestroy.body476 -invoke.cont474: ; preds = %call5.i.i.i.i1.i.i.i.noexc373 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i368, ptr %arrayinit.element466, align 8 - %_M_finish.i.i.i.i.i.i.i370 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp454, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i371 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i368, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i372 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp454, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i371, ptr %_M_end_of_storage.i.i.i.i.i.i.i372, align 8 - %65 = load i64, ptr %call5.i.i.i.i1.i.i.i374, align 4 - store i64 %65, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i368, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i371, ptr %_M_finish.i.i.i.i.i.i.i370, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i374) #31 +invoke.cont474: ; preds = %call5.i.i.i.i1.i.i.i.noexc396 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i390, ptr %arrayinit.element466, align 8 + %_M_finish.i.i.i.i.i.i.i392 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp454, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i393 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i390, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i394 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp454, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i393, ptr %_M_end_of_storage.i.i.i.i.i.i.i394, align 8 + %65 = load i64, ptr %call5.i.i.i.i1.i.i.i397, align 4 + store i64 %65, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i390, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i393, ptr %_M_finish.i.i.i.i.i.i.i392, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i397) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element452, i8 0, i64 24, i1 false) - %add.ptr.i.i379 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp454, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element452, ptr noundef nonnull %ref.tmp454, ptr noundef nonnull %add.ptr.i.i379) - to label %invoke.cont486 unwind label %lpad.i380 + %add.ptr.i.i402 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp454, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element452, ptr noundef nonnull %ref.tmp454, ptr noundef nonnull %add.ptr.i.i402) + to label %invoke.cont486 unwind label %lpad.i403 -lpad.i380: ; preds = %invoke.cont474 +lpad.i403: ; preds = %invoke.cont474 %66 = landingpad { ptr, i32 } cleanup - %this.val.i381 = load ptr, ptr %arrayinit.element452, align 8 - %tobool.not.i.i.i382 = icmp eq ptr %this.val.i381, null - br i1 %tobool.not.i.i.i382, label %ehcleanup748, label %if.then.i.i.i383 + %this.val.i404 = load ptr, ptr %arrayinit.element452, align 8 + %tobool.not.i.i.i405 = icmp eq ptr %this.val.i404, null + br i1 %tobool.not.i.i.i405, label %ehcleanup748, label %if.then.i.i.i406 -if.then.i.i.i383: ; preds = %lpad.i380 - call void @_ZdlPv(ptr noundef nonnull %this.val.i381) #31 +if.then.i.i.i406: ; preds = %lpad.i403 + call void @_ZdlPv(ptr noundef nonnull %this.val.i404) #31 br label %ehcleanup748 invoke.cont486: ; preds = %invoke.cont474 %arrayinit.element487 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 18 - %call5.i.i.i.i1.i.i.i393 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc392 unwind label %lpad499.body.thread997 + %call5.i.i.i.i1.i.i.i417 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc416 unwind label %lpad499.body.thread1030 -lpad499.body.thread997: ; preds = %invoke.cont486 +lpad499.body.thread1030: ; preds = %invoke.cont486 %67 = landingpad { ptr, i32 } cleanup br label %ehcleanup748 -call5.i.i.i.i1.i.i.i.noexc392: ; preds = %invoke.cont486 - store i32 2, ptr %call5.i.i.i.i1.i.i.i393, align 4 - %ref.tmp493.sroa.2.0.call5.i.i.i.i1.i.i.i393.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i393, i64 4 - store i32 3, ptr %ref.tmp493.sroa.2.0.call5.i.i.i.i1.i.i.i393.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc416: ; preds = %invoke.cont486 + store i32 2, ptr %call5.i.i.i.i1.i.i.i417, align 4 + %ref.tmp493.sroa.2.0.call5.i.i.i.i1.i.i.i417.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i417, i64 4 + store i32 3, ptr %ref.tmp493.sroa.2.0.call5.i.i.i.i1.i.i.i417.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp489, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i387 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i410 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont500 unwind label %lpad499.body.thread -lpad499.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc392 +lpad499.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc416 %68 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i393) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i417) #31 br label %ehcleanup748 -invoke.cont500: ; preds = %call5.i.i.i.i1.i.i.i.noexc392 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i387, ptr %ref.tmp489, align 8 - %_M_finish.i.i.i.i.i.i.i389 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp489, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i390 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i387, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i391 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp489, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i390, ptr %_M_end_of_storage.i.i.i.i.i.i.i391, align 8 - %69 = load i64, ptr %call5.i.i.i.i1.i.i.i393, align 4 - store i64 %69, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i387, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i390, ptr %_M_finish.i.i.i.i.i.i.i389, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i393) #31 +invoke.cont500: ; preds = %call5.i.i.i.i1.i.i.i.noexc416 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i410, ptr %ref.tmp489, align 8 + %_M_finish.i.i.i.i.i.i.i412 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp489, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i413 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i410, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i414 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp489, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i413, ptr %_M_end_of_storage.i.i.i.i.i.i.i414, align 8 + %69 = load i64, ptr %call5.i.i.i.i1.i.i.i417, align 4 + store i64 %69, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i410, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i413, ptr %_M_finish.i.i.i.i.i.i.i412, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i417) #31 %arrayinit.element501 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp489, i64 1 - %call5.i.i.i.i1.i.i.i402 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc401 unwind label %lpad499.body + %call5.i.i.i.i1.i.i.i427 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc426 unwind label %lpad499.body -call5.i.i.i.i1.i.i.i.noexc401: ; preds = %invoke.cont500 - store i32 4, ptr %call5.i.i.i.i1.i.i.i402, align 4 - %ref.tmp503.sroa.2.0.call5.i.i.i.i1.i.i.i402.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i402, i64 4 - store i32 1, ptr %ref.tmp503.sroa.2.0.call5.i.i.i.i1.i.i.i402.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc426: ; preds = %invoke.cont500 + store i32 4, ptr %call5.i.i.i.i1.i.i.i427, align 4 + %ref.tmp503.sroa.2.0.call5.i.i.i.i1.i.i.i427.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i427, i64 4 + store i32 1, ptr %ref.tmp503.sroa.2.0.call5.i.i.i.i1.i.i.i427.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element501, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i396 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont509 unwind label %lpad499.body.thread991 + %call5.i.i.i.i2.i6.i.i.i.i5.i420 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont509 unwind label %lpad499.body.thread1024 -lpad499.body.thread991: ; preds = %call5.i.i.i.i1.i.i.i.noexc401 +lpad499.body.thread1024: ; preds = %call5.i.i.i.i1.i.i.i.noexc426 %70 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i402) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i427) #31 br label %arraydestroy.body511 -invoke.cont509: ; preds = %call5.i.i.i.i1.i.i.i.noexc401 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i396, ptr %arrayinit.element501, align 8 - %_M_finish.i.i.i.i.i.i.i398 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp489, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i399 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i396, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i400 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp489, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i399, ptr %_M_end_of_storage.i.i.i.i.i.i.i400, align 8 - %71 = load i64, ptr %call5.i.i.i.i1.i.i.i402, align 4 - store i64 %71, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i396, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i399, ptr %_M_finish.i.i.i.i.i.i.i398, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i402) #31 +invoke.cont509: ; preds = %call5.i.i.i.i1.i.i.i.noexc426 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i420, ptr %arrayinit.element501, align 8 + %_M_finish.i.i.i.i.i.i.i422 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp489, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i423 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i420, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i424 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp489, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i423, ptr %_M_end_of_storage.i.i.i.i.i.i.i424, align 8 + %71 = load i64, ptr %call5.i.i.i.i1.i.i.i427, align 4 + store i64 %71, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i420, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i423, ptr %_M_finish.i.i.i.i.i.i.i422, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i427) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element487, i8 0, i64 24, i1 false) - %add.ptr.i.i407 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp489, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element487, ptr noundef nonnull %ref.tmp489, ptr noundef nonnull %add.ptr.i.i407) - to label %invoke.cont521 unwind label %lpad.i408 + %add.ptr.i.i432 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp489, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element487, ptr noundef nonnull %ref.tmp489, ptr noundef nonnull %add.ptr.i.i432) + to label %invoke.cont521 unwind label %lpad.i433 -lpad.i408: ; preds = %invoke.cont509 +lpad.i433: ; preds = %invoke.cont509 %72 = landingpad { ptr, i32 } cleanup - %this.val.i409 = load ptr, ptr %arrayinit.element487, align 8 - %tobool.not.i.i.i410 = icmp eq ptr %this.val.i409, null - br i1 %tobool.not.i.i.i410, label %ehcleanup734, label %if.then.i.i.i411 + %this.val.i434 = load ptr, ptr %arrayinit.element487, align 8 + %tobool.not.i.i.i435 = icmp eq ptr %this.val.i434, null + br i1 %tobool.not.i.i.i435, label %ehcleanup734, label %if.then.i.i.i436 -if.then.i.i.i411: ; preds = %lpad.i408 - call void @_ZdlPv(ptr noundef nonnull %this.val.i409) #31 +if.then.i.i.i436: ; preds = %lpad.i433 + call void @_ZdlPv(ptr noundef nonnull %this.val.i434) #31 br label %ehcleanup734 invoke.cont521: ; preds = %invoke.cont509 %arrayinit.element522 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 19 - %call5.i.i.i.i1.i.i.i421 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc420 unwind label %lpad534.body.thread1006 + %call5.i.i.i.i1.i.i.i447 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc446 unwind label %lpad534.body.thread1039 -lpad534.body.thread1006: ; preds = %invoke.cont521 +lpad534.body.thread1039: ; preds = %invoke.cont521 %73 = landingpad { ptr, i32 } cleanup br label %ehcleanup734 -call5.i.i.i.i1.i.i.i.noexc420: ; preds = %invoke.cont521 - store i32 2, ptr %call5.i.i.i.i1.i.i.i421, align 4 - %ref.tmp528.sroa.2.0.call5.i.i.i.i1.i.i.i421.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i421, i64 4 - store i32 4, ptr %ref.tmp528.sroa.2.0.call5.i.i.i.i1.i.i.i421.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc446: ; preds = %invoke.cont521 + store i32 2, ptr %call5.i.i.i.i1.i.i.i447, align 4 + %ref.tmp528.sroa.2.0.call5.i.i.i.i1.i.i.i447.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i447, i64 4 + store i32 4, ptr %ref.tmp528.sroa.2.0.call5.i.i.i.i1.i.i.i447.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp524, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i415 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i440 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont535 unwind label %lpad534.body.thread -lpad534.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc420 +lpad534.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc446 %74 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i421) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i447) #31 br label %ehcleanup734 -invoke.cont535: ; preds = %call5.i.i.i.i1.i.i.i.noexc420 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i415, ptr %ref.tmp524, align 8 - %_M_finish.i.i.i.i.i.i.i417 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp524, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i418 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i415, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i419 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp524, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i418, ptr %_M_end_of_storage.i.i.i.i.i.i.i419, align 8 - %75 = load i64, ptr %call5.i.i.i.i1.i.i.i421, align 4 - store i64 %75, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i415, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i418, ptr %_M_finish.i.i.i.i.i.i.i417, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i421) #31 +invoke.cont535: ; preds = %call5.i.i.i.i1.i.i.i.noexc446 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i440, ptr %ref.tmp524, align 8 + %_M_finish.i.i.i.i.i.i.i442 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp524, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i443 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i440, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i444 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp524, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i443, ptr %_M_end_of_storage.i.i.i.i.i.i.i444, align 8 + %75 = load i64, ptr %call5.i.i.i.i1.i.i.i447, align 4 + store i64 %75, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i440, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i443, ptr %_M_finish.i.i.i.i.i.i.i442, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i447) #31 %arrayinit.element536 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp524, i64 1 - %call5.i.i.i.i1.i.i.i430 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc429 unwind label %lpad534.body + %call5.i.i.i.i1.i.i.i457 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc456 unwind label %lpad534.body -call5.i.i.i.i1.i.i.i.noexc429: ; preds = %invoke.cont535 - store i32 1, ptr %call5.i.i.i.i1.i.i.i430, align 4 - %ref.tmp538.sroa.2.0.call5.i.i.i.i1.i.i.i430.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i430, i64 4 - store i32 3, ptr %ref.tmp538.sroa.2.0.call5.i.i.i.i1.i.i.i430.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc456: ; preds = %invoke.cont535 + store i32 1, ptr %call5.i.i.i.i1.i.i.i457, align 4 + %ref.tmp538.sroa.2.0.call5.i.i.i.i1.i.i.i457.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i457, i64 4 + store i32 3, ptr %ref.tmp538.sroa.2.0.call5.i.i.i.i1.i.i.i457.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element536, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i424 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont544 unwind label %lpad534.body.thread1000 + %call5.i.i.i.i2.i6.i.i.i.i5.i450 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont544 unwind label %lpad534.body.thread1033 -lpad534.body.thread1000: ; preds = %call5.i.i.i.i1.i.i.i.noexc429 +lpad534.body.thread1033: ; preds = %call5.i.i.i.i1.i.i.i.noexc456 %76 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i430) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i457) #31 br label %arraydestroy.body546 -invoke.cont544: ; preds = %call5.i.i.i.i1.i.i.i.noexc429 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i424, ptr %arrayinit.element536, align 8 - %_M_finish.i.i.i.i.i.i.i426 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp524, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i427 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i424, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i428 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp524, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i427, ptr %_M_end_of_storage.i.i.i.i.i.i.i428, align 8 - %77 = load i64, ptr %call5.i.i.i.i1.i.i.i430, align 4 - store i64 %77, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i424, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i427, ptr %_M_finish.i.i.i.i.i.i.i426, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i430) #31 +invoke.cont544: ; preds = %call5.i.i.i.i1.i.i.i.noexc456 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i450, ptr %arrayinit.element536, align 8 + %_M_finish.i.i.i.i.i.i.i452 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp524, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i453 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i450, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i454 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp524, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i453, ptr %_M_end_of_storage.i.i.i.i.i.i.i454, align 8 + %77 = load i64, ptr %call5.i.i.i.i1.i.i.i457, align 4 + store i64 %77, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i450, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i453, ptr %_M_finish.i.i.i.i.i.i.i452, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i457) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element522, i8 0, i64 24, i1 false) - %add.ptr.i.i435 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp524, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element522, ptr noundef nonnull %ref.tmp524, ptr noundef nonnull %add.ptr.i.i435) - to label %invoke.cont556 unwind label %lpad.i436 + %add.ptr.i.i462 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp524, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element522, ptr noundef nonnull %ref.tmp524, ptr noundef nonnull %add.ptr.i.i462) + to label %invoke.cont556 unwind label %lpad.i463 -lpad.i436: ; preds = %invoke.cont544 +lpad.i463: ; preds = %invoke.cont544 %78 = landingpad { ptr, i32 } cleanup - %this.val.i437 = load ptr, ptr %arrayinit.element522, align 8 - %tobool.not.i.i.i438 = icmp eq ptr %this.val.i437, null - br i1 %tobool.not.i.i.i438, label %ehcleanup720, label %if.then.i.i.i439 + %this.val.i464 = load ptr, ptr %arrayinit.element522, align 8 + %tobool.not.i.i.i465 = icmp eq ptr %this.val.i464, null + br i1 %tobool.not.i.i.i465, label %ehcleanup720, label %if.then.i.i.i466 -if.then.i.i.i439: ; preds = %lpad.i436 - call void @_ZdlPv(ptr noundef nonnull %this.val.i437) #31 +if.then.i.i.i466: ; preds = %lpad.i463 + call void @_ZdlPv(ptr noundef nonnull %this.val.i464) #31 br label %ehcleanup720 invoke.cont556: ; preds = %invoke.cont544 %arrayinit.element557 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 20 - %call5.i.i.i.i1.i.i.i449 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc448 unwind label %lpad569.body.thread1015 + %call5.i.i.i.i1.i.i.i477 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc476 unwind label %lpad569.body.thread1048 -lpad569.body.thread1015: ; preds = %invoke.cont556 +lpad569.body.thread1048: ; preds = %invoke.cont556 %79 = landingpad { ptr, i32 } cleanup br label %ehcleanup720 -call5.i.i.i.i1.i.i.i.noexc448: ; preds = %invoke.cont556 - store i32 2, ptr %call5.i.i.i.i1.i.i.i449, align 4 - %ref.tmp563.sroa.2.0.call5.i.i.i.i1.i.i.i449.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i449, i64 4 - store i32 4, ptr %ref.tmp563.sroa.2.0.call5.i.i.i.i1.i.i.i449.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc476: ; preds = %invoke.cont556 + store i32 2, ptr %call5.i.i.i.i1.i.i.i477, align 4 + %ref.tmp563.sroa.2.0.call5.i.i.i.i1.i.i.i477.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i477, i64 4 + store i32 4, ptr %ref.tmp563.sroa.2.0.call5.i.i.i.i1.i.i.i477.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp559, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i443 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i470 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont570 unwind label %lpad569.body.thread -lpad569.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc448 +lpad569.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc476 %80 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i449) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i477) #31 br label %ehcleanup720 -invoke.cont570: ; preds = %call5.i.i.i.i1.i.i.i.noexc448 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i443, ptr %ref.tmp559, align 8 - %_M_finish.i.i.i.i.i.i.i445 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp559, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i446 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i443, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i447 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp559, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i446, ptr %_M_end_of_storage.i.i.i.i.i.i.i447, align 8 - %81 = load i64, ptr %call5.i.i.i.i1.i.i.i449, align 4 - store i64 %81, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i443, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i446, ptr %_M_finish.i.i.i.i.i.i.i445, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i449) #31 +invoke.cont570: ; preds = %call5.i.i.i.i1.i.i.i.noexc476 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i470, ptr %ref.tmp559, align 8 + %_M_finish.i.i.i.i.i.i.i472 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp559, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i473 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i470, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i474 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp559, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i473, ptr %_M_end_of_storage.i.i.i.i.i.i.i474, align 8 + %81 = load i64, ptr %call5.i.i.i.i1.i.i.i477, align 4 + store i64 %81, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i470, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i473, ptr %_M_finish.i.i.i.i.i.i.i472, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i477) #31 %arrayinit.element571 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp559, i64 1 - %call5.i.i.i.i1.i.i.i458 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc457 unwind label %lpad569.body + %call5.i.i.i.i1.i.i.i487 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc486 unwind label %lpad569.body -call5.i.i.i.i1.i.i.i.noexc457: ; preds = %invoke.cont570 - store i32 3, ptr %call5.i.i.i.i1.i.i.i458, align 4 - %ref.tmp573.sroa.2.0.call5.i.i.i.i1.i.i.i458.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i458, i64 4 - store i32 1, ptr %ref.tmp573.sroa.2.0.call5.i.i.i.i1.i.i.i458.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc486: ; preds = %invoke.cont570 + store i32 3, ptr %call5.i.i.i.i1.i.i.i487, align 4 + %ref.tmp573.sroa.2.0.call5.i.i.i.i1.i.i.i487.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i487, i64 4 + store i32 1, ptr %ref.tmp573.sroa.2.0.call5.i.i.i.i1.i.i.i487.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element571, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i452 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont579 unwind label %lpad569.body.thread1009 + %call5.i.i.i.i2.i6.i.i.i.i5.i480 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont579 unwind label %lpad569.body.thread1042 -lpad569.body.thread1009: ; preds = %call5.i.i.i.i1.i.i.i.noexc457 +lpad569.body.thread1042: ; preds = %call5.i.i.i.i1.i.i.i.noexc486 %82 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i458) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i487) #31 br label %arraydestroy.body581 -invoke.cont579: ; preds = %call5.i.i.i.i1.i.i.i.noexc457 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i452, ptr %arrayinit.element571, align 8 - %_M_finish.i.i.i.i.i.i.i454 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp559, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i455 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i452, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i456 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp559, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i455, ptr %_M_end_of_storage.i.i.i.i.i.i.i456, align 8 - %83 = load i64, ptr %call5.i.i.i.i1.i.i.i458, align 4 - store i64 %83, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i452, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i455, ptr %_M_finish.i.i.i.i.i.i.i454, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i458) #31 +invoke.cont579: ; preds = %call5.i.i.i.i1.i.i.i.noexc486 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i480, ptr %arrayinit.element571, align 8 + %_M_finish.i.i.i.i.i.i.i482 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp559, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i483 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i480, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i484 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp559, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i483, ptr %_M_end_of_storage.i.i.i.i.i.i.i484, align 8 + %83 = load i64, ptr %call5.i.i.i.i1.i.i.i487, align 4 + store i64 %83, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i480, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i483, ptr %_M_finish.i.i.i.i.i.i.i482, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i487) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element557, i8 0, i64 24, i1 false) - %add.ptr.i.i463 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp559, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element557, ptr noundef nonnull %ref.tmp559, ptr noundef nonnull %add.ptr.i.i463) - to label %invoke.cont591 unwind label %lpad.i464 + %add.ptr.i.i492 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp559, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element557, ptr noundef nonnull %ref.tmp559, ptr noundef nonnull %add.ptr.i.i492) + to label %invoke.cont591 unwind label %lpad.i493 -lpad.i464: ; preds = %invoke.cont579 +lpad.i493: ; preds = %invoke.cont579 %84 = landingpad { ptr, i32 } cleanup - %this.val.i465 = load ptr, ptr %arrayinit.element557, align 8 - %tobool.not.i.i.i466 = icmp eq ptr %this.val.i465, null - br i1 %tobool.not.i.i.i466, label %ehcleanup706, label %if.then.i.i.i467 + %this.val.i494 = load ptr, ptr %arrayinit.element557, align 8 + %tobool.not.i.i.i495 = icmp eq ptr %this.val.i494, null + br i1 %tobool.not.i.i.i495, label %ehcleanup706, label %if.then.i.i.i496 -if.then.i.i.i467: ; preds = %lpad.i464 - call void @_ZdlPv(ptr noundef nonnull %this.val.i465) #31 +if.then.i.i.i496: ; preds = %lpad.i493 + call void @_ZdlPv(ptr noundef nonnull %this.val.i494) #31 br label %ehcleanup706 invoke.cont591: ; preds = %invoke.cont579 %arrayinit.element592 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 21 - %call5.i.i.i.i1.i.i.i477 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc476 unwind label %lpad604.body.thread1024 + %call5.i.i.i.i1.i.i.i507 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc506 unwind label %lpad604.body.thread1057 -lpad604.body.thread1024: ; preds = %invoke.cont591 +lpad604.body.thread1057: ; preds = %invoke.cont591 %85 = landingpad { ptr, i32 } cleanup br label %ehcleanup706 -call5.i.i.i.i1.i.i.i.noexc476: ; preds = %invoke.cont591 - store i32 3, ptr %call5.i.i.i.i1.i.i.i477, align 4 - %ref.tmp598.sroa.2.0.call5.i.i.i.i1.i.i.i477.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i477, i64 4 - store i32 4, ptr %ref.tmp598.sroa.2.0.call5.i.i.i.i1.i.i.i477.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc506: ; preds = %invoke.cont591 + store i32 3, ptr %call5.i.i.i.i1.i.i.i507, align 4 + %ref.tmp598.sroa.2.0.call5.i.i.i.i1.i.i.i507.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i507, i64 4 + store i32 4, ptr %ref.tmp598.sroa.2.0.call5.i.i.i.i1.i.i.i507.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp594, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i471 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i500 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont605 unwind label %lpad604.body.thread -lpad604.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc476 +lpad604.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc506 %86 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i477) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i507) #31 br label %ehcleanup706 -invoke.cont605: ; preds = %call5.i.i.i.i1.i.i.i.noexc476 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i471, ptr %ref.tmp594, align 8 - %_M_finish.i.i.i.i.i.i.i473 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp594, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i474 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i471, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i475 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp594, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i474, ptr %_M_end_of_storage.i.i.i.i.i.i.i475, align 8 - %87 = load i64, ptr %call5.i.i.i.i1.i.i.i477, align 4 - store i64 %87, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i471, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i474, ptr %_M_finish.i.i.i.i.i.i.i473, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i477) #31 +invoke.cont605: ; preds = %call5.i.i.i.i1.i.i.i.noexc506 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i500, ptr %ref.tmp594, align 8 + %_M_finish.i.i.i.i.i.i.i502 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp594, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i503 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i500, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i504 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp594, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i503, ptr %_M_end_of_storage.i.i.i.i.i.i.i504, align 8 + %87 = load i64, ptr %call5.i.i.i.i1.i.i.i507, align 4 + store i64 %87, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i500, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i503, ptr %_M_finish.i.i.i.i.i.i.i502, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i507) #31 %arrayinit.element606 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp594, i64 1 - %call5.i.i.i.i1.i.i.i486 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc485 unwind label %lpad604.body + %call5.i.i.i.i1.i.i.i517 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc516 unwind label %lpad604.body -call5.i.i.i.i1.i.i.i.noexc485: ; preds = %invoke.cont605 - store i32 1, ptr %call5.i.i.i.i1.i.i.i486, align 4 - %ref.tmp608.sroa.2.0.call5.i.i.i.i1.i.i.i486.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i486, i64 4 - store i32 2, ptr %ref.tmp608.sroa.2.0.call5.i.i.i.i1.i.i.i486.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc516: ; preds = %invoke.cont605 + store i32 1, ptr %call5.i.i.i.i1.i.i.i517, align 4 + %ref.tmp608.sroa.2.0.call5.i.i.i.i1.i.i.i517.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i517, i64 4 + store i32 2, ptr %ref.tmp608.sroa.2.0.call5.i.i.i.i1.i.i.i517.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i480 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont614 unwind label %lpad604.body.thread1018 + %call5.i.i.i.i2.i6.i.i.i.i5.i510 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont614 unwind label %lpad604.body.thread1051 -lpad604.body.thread1018: ; preds = %call5.i.i.i.i1.i.i.i.noexc485 +lpad604.body.thread1051: ; preds = %call5.i.i.i.i1.i.i.i.noexc516 %88 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i486) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i517) #31 br label %arraydestroy.body616 -invoke.cont614: ; preds = %call5.i.i.i.i1.i.i.i.noexc485 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i480, ptr %arrayinit.element606, align 8 - %_M_finish.i.i.i.i.i.i.i482 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp594, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i483 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i480, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i484 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp594, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i483, ptr %_M_end_of_storage.i.i.i.i.i.i.i484, align 8 - %89 = load i64, ptr %call5.i.i.i.i1.i.i.i486, align 4 - store i64 %89, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i480, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i483, ptr %_M_finish.i.i.i.i.i.i.i482, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i486) #31 +invoke.cont614: ; preds = %call5.i.i.i.i1.i.i.i.noexc516 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i510, ptr %arrayinit.element606, align 8 + %_M_finish.i.i.i.i.i.i.i512 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp594, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i513 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i510, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i514 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp594, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i513, ptr %_M_end_of_storage.i.i.i.i.i.i.i514, align 8 + %89 = load i64, ptr %call5.i.i.i.i1.i.i.i517, align 4 + store i64 %89, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i510, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i513, ptr %_M_finish.i.i.i.i.i.i.i512, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i517) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element592, i8 0, i64 24, i1 false) - %add.ptr.i.i491 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp594, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element592, ptr noundef nonnull %ref.tmp594, ptr noundef nonnull %add.ptr.i.i491) - to label %invoke.cont626 unwind label %lpad.i492 + %add.ptr.i.i522 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp594, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element592, ptr noundef nonnull %ref.tmp594, ptr noundef nonnull %add.ptr.i.i522) + to label %invoke.cont626 unwind label %lpad.i523 -lpad.i492: ; preds = %invoke.cont614 +lpad.i523: ; preds = %invoke.cont614 %90 = landingpad { ptr, i32 } cleanup - %this.val.i493 = load ptr, ptr %arrayinit.element592, align 8 - %tobool.not.i.i.i494 = icmp eq ptr %this.val.i493, null - br i1 %tobool.not.i.i.i494, label %ehcleanup692, label %if.then.i.i.i495 + %this.val.i524 = load ptr, ptr %arrayinit.element592, align 8 + %tobool.not.i.i.i525 = icmp eq ptr %this.val.i524, null + br i1 %tobool.not.i.i.i525, label %ehcleanup692, label %if.then.i.i.i526 -if.then.i.i.i495: ; preds = %lpad.i492 - call void @_ZdlPv(ptr noundef nonnull %this.val.i493) #31 +if.then.i.i.i526: ; preds = %lpad.i523 + call void @_ZdlPv(ptr noundef nonnull %this.val.i524) #31 br label %ehcleanup692 invoke.cont626: ; preds = %invoke.cont614 %arrayinit.element627 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 22 - %call5.i.i.i.i1.i.i.i505 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc504 unwind label %lpad639.body.thread1033 + %call5.i.i.i.i1.i.i.i537 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc536 unwind label %lpad639.body.thread1066 -lpad639.body.thread1033: ; preds = %invoke.cont626 +lpad639.body.thread1066: ; preds = %invoke.cont626 %91 = landingpad { ptr, i32 } cleanup br label %ehcleanup692 -call5.i.i.i.i1.i.i.i.noexc504: ; preds = %invoke.cont626 - store i32 3, ptr %call5.i.i.i.i1.i.i.i505, align 4 - %ref.tmp633.sroa.2.0.call5.i.i.i.i1.i.i.i505.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i505, i64 4 - store i32 4, ptr %ref.tmp633.sroa.2.0.call5.i.i.i.i1.i.i.i505.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc536: ; preds = %invoke.cont626 + store i32 3, ptr %call5.i.i.i.i1.i.i.i537, align 4 + %ref.tmp633.sroa.2.0.call5.i.i.i.i1.i.i.i537.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i537, i64 4 + store i32 4, ptr %ref.tmp633.sroa.2.0.call5.i.i.i.i1.i.i.i537.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp629, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i499 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i530 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont640 unwind label %lpad639.body.thread -lpad639.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc504 +lpad639.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc536 %92 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i505) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i537) #31 br label %ehcleanup692 -invoke.cont640: ; preds = %call5.i.i.i.i1.i.i.i.noexc504 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i499, ptr %ref.tmp629, align 8 - %_M_finish.i.i.i.i.i.i.i501 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp629, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i502 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i499, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i503 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp629, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i502, ptr %_M_end_of_storage.i.i.i.i.i.i.i503, align 8 - %93 = load i64, ptr %call5.i.i.i.i1.i.i.i505, align 4 - store i64 %93, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i499, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i502, ptr %_M_finish.i.i.i.i.i.i.i501, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i505) #31 +invoke.cont640: ; preds = %call5.i.i.i.i1.i.i.i.noexc536 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i530, ptr %ref.tmp629, align 8 + %_M_finish.i.i.i.i.i.i.i532 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp629, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i533 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i530, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i534 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp629, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i533, ptr %_M_end_of_storage.i.i.i.i.i.i.i534, align 8 + %93 = load i64, ptr %call5.i.i.i.i1.i.i.i537, align 4 + store i64 %93, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i530, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i533, ptr %_M_finish.i.i.i.i.i.i.i532, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i537) #31 %arrayinit.element641 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp629, i64 1 - %call5.i.i.i.i1.i.i.i514 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc513 unwind label %lpad639.body + %call5.i.i.i.i1.i.i.i547 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc546 unwind label %lpad639.body -call5.i.i.i.i1.i.i.i.noexc513: ; preds = %invoke.cont640 - store i32 2, ptr %call5.i.i.i.i1.i.i.i514, align 4 - %ref.tmp643.sroa.2.0.call5.i.i.i.i1.i.i.i514.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i514, i64 4 - store i32 1, ptr %ref.tmp643.sroa.2.0.call5.i.i.i.i1.i.i.i514.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc546: ; preds = %invoke.cont640 + store i32 2, ptr %call5.i.i.i.i1.i.i.i547, align 4 + %ref.tmp643.sroa.2.0.call5.i.i.i.i1.i.i.i547.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i547, i64 4 + store i32 1, ptr %ref.tmp643.sroa.2.0.call5.i.i.i.i1.i.i.i547.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element641, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i508 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont649 unwind label %lpad639.body.thread1027 + %call5.i.i.i.i2.i6.i.i.i.i5.i540 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont649 unwind label %lpad639.body.thread1060 -lpad639.body.thread1027: ; preds = %call5.i.i.i.i1.i.i.i.noexc513 +lpad639.body.thread1060: ; preds = %call5.i.i.i.i1.i.i.i.noexc546 %94 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i514) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i547) #31 br label %arraydestroy.body651 -invoke.cont649: ; preds = %call5.i.i.i.i1.i.i.i.noexc513 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i508, ptr %arrayinit.element641, align 8 - %_M_finish.i.i.i.i.i.i.i510 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp629, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i511 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i508, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i512 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp629, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i511, ptr %_M_end_of_storage.i.i.i.i.i.i.i512, align 8 - %95 = load i64, ptr %call5.i.i.i.i1.i.i.i514, align 4 - store i64 %95, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i508, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i511, ptr %_M_finish.i.i.i.i.i.i.i510, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i514) #31 +invoke.cont649: ; preds = %call5.i.i.i.i1.i.i.i.noexc546 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i540, ptr %arrayinit.element641, align 8 + %_M_finish.i.i.i.i.i.i.i542 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp629, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i543 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i540, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i544 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp629, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i543, ptr %_M_end_of_storage.i.i.i.i.i.i.i544, align 8 + %95 = load i64, ptr %call5.i.i.i.i1.i.i.i547, align 4 + store i64 %95, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i540, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i543, ptr %_M_finish.i.i.i.i.i.i.i542, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i547) #31 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element627, i8 0, i64 24, i1 false) - %add.ptr.i.i519 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp629, i64 2 - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element627, ptr noundef nonnull %ref.tmp629, ptr noundef nonnull %add.ptr.i.i519) - to label %invoke.cont661 unwind label %lpad.i520 + %add.ptr.i.i552 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp629, i64 2 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element627, ptr noundef nonnull %ref.tmp629, ptr noundef nonnull %add.ptr.i.i552) + to label %invoke.cont661 unwind label %lpad.i553 -lpad.i520: ; preds = %invoke.cont649 +lpad.i553: ; preds = %invoke.cont649 %96 = landingpad { ptr, i32 } cleanup - %this.val.i521 = load ptr, ptr %arrayinit.element627, align 8 - %tobool.not.i.i.i522 = icmp eq ptr %this.val.i521, null - br i1 %tobool.not.i.i.i522, label %ehcleanup, label %if.then.i.i.i523 + %this.val.i554 = load ptr, ptr %arrayinit.element627, align 8 + %tobool.not.i.i.i555 = icmp eq ptr %this.val.i554, null + br i1 %tobool.not.i.i.i555, label %ehcleanup, label %if.then.i.i.i556 -if.then.i.i.i523: ; preds = %lpad.i520 - call void @_ZdlPv(ptr noundef nonnull %this.val.i521) #31 +if.then.i.i.i556: ; preds = %lpad.i553 + call void @_ZdlPv(ptr noundef nonnull %this.val.i554) #31 br label %ehcleanup invoke.cont661: ; preds = %invoke.cont649 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %call5.i.i.i.i5.i528 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + %call5.i.i.i.i5.i561 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 to label %call5.i.i.i.i5.i.noexc unwind label %lpad666 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont661 - store ptr %call5.i.i.i.i5.i528, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.std::vector.661", ptr %call5.i.i.i.i5.i528, i64 23 + store ptr %call5.i.i.i.i5.i561, ptr %exemplars, align 8 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i561, i64 552 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>>, std::allocator>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i, %call5.i.i.i.i5.i.noexc - %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i528, %call5.i.i.i.i5.i.noexc ] + %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i561, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.idx.i = phi i64 [ %__first.addr.09.i.i.i.i.i.add.i, %for.inc.i.i.i.i.i.i ], [ 0, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.ptr.i = getelementptr inbounds i8, ptr %ref.tmp, i64 %__first.addr.09.i.i.i.i.i.idx.i invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EEC2ERKS8_(ptr noundef nonnull align 8 dereferenceable(24) %__cur.010.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.09.i.i.i.i.i.ptr.i) @@ -158403,7 +158406,7 @@ lpad.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. catch ptr null %98 = extractvalue { ptr, i32 } %97, 0 %99 = call ptr @__cxa_begin_catch(ptr %98) #28 - call fastcc void @_ZSt8_DestroyIPSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvT_SB_(ptr noundef nonnull %call5.i.i.i.i5.i528, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) + call fastcc void @_ZSt8_DestroyIPSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvT_SB_(ptr noundef nonnull %call5.i.i.i.i5.i561, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) invoke void @__cxa_rethrow() #30 to label %unreachable.i.i.i.i.i.i unwind label %lpad2.i.i.i.i.i.i @@ -158425,8 +158428,8 @@ unreachable.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i lpad.body.i: ; preds = %lpad2.i.i.i.i.i.i %this.val.pre.i = load ptr, ptr %exemplars, align 8 - %tobool.not.i.i.i527 = icmp eq ptr %this.val.pre.i, null - br i1 %tobool.not.i.i.i527, label %lpad666.body, label %if.then.i.i6.i + %tobool.not.i.i.i560 = icmp eq ptr %this.val.pre.i, null + br i1 %tobool.not.i.i.i560, label %lpad666.body, label %if.then.i.i6.i if.then.i.i6.i: ; preds = %lpad.body.i call void @_ZdlPv(ptr noundef nonnull %this.val.pre.i) #31 @@ -158467,20 +158470,20 @@ invoke.contthread-pre-split.i: ; preds = %_ZSt8_DestroyIN4abs br label %invoke.cont.i invoke.cont.i: ; preds = %invoke.contthread-pre-split.i, %arraydestroy.body668 - %this.val.i530 = phi ptr [ %this.val.pr.i, %invoke.contthread-pre-split.i ], [ %104, %arraydestroy.body668 ] - %tobool.not.i.i.i531 = icmp eq ptr %this.val.i530, null - br i1 %tobool.not.i.i.i531, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit, label %if.then.i.i.i532 + %this.val.i563 = phi ptr [ %this.val.pr.i, %invoke.contthread-pre-split.i ], [ %104, %arraydestroy.body668 ] + %tobool.not.i.i.i564 = icmp eq ptr %this.val.i563, null + br i1 %tobool.not.i.i.i564, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit, label %if.then.i.i.i565 -if.then.i.i.i532: ; preds = %invoke.cont.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i530) #31 +if.then.i.i.i565: ; preds = %invoke.cont.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i563) #31 br label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit -_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i532 +_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit: ; preds = %invoke.cont.i, %if.then.i.i.i565 %arraydestroy.done671 = icmp eq ptr %arraydestroy.element670, %ref.tmp br i1 %arraydestroy.done671, label %arraydestroy.body680, label %arraydestroy.body668 arraydestroy.body680: ; preds = %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit - %arraydestroy.elementPast681 = phi ptr [ %arraydestroy.element682, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ], [ %add.ptr.i.i519, %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit ] + %arraydestroy.elementPast681 = phi ptr [ %arraydestroy.element682, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ], [ %add.ptr.i.i552, %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev.exit ] %arraydestroy.element682 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast681, i64 -1 %arraydestroy.element682.val = load ptr, ptr %arraydestroy.element682, align 8 %tobool.not.i.i.i.i.i.i = icmp eq ptr %arraydestroy.element682.val, null @@ -158494,322 +158497,322 @@ _ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequ %arraydestroy.done683 = icmp eq ptr %arraydestroy.element682, %ref.tmp629 br i1 %arraydestroy.done683, label %arraydestroy.body694, label %arraydestroy.body680 -arraydestroy.body694: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536 - %arraydestroy.elementPast695 = phi ptr [ %arraydestroy.element696, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536 ], [ %add.ptr.i.i491, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ] +arraydestroy.body694: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 + %arraydestroy.elementPast695 = phi ptr [ %arraydestroy.element696, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 ], [ %add.ptr.i.i522, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ] %arraydestroy.element696 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast695, i64 -1 %arraydestroy.element696.val = load ptr, ptr %arraydestroy.element696, align 8 - %tobool.not.i.i.i.i.i.i534 = icmp eq ptr %arraydestroy.element696.val, null - br i1 %tobool.not.i.i.i.i.i.i534, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536, label %if.then.i.i.i.i.i.i535 + %tobool.not.i.i.i.i.i.i567 = icmp eq ptr %arraydestroy.element696.val, null + br i1 %tobool.not.i.i.i.i.i.i567, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569, label %if.then.i.i.i.i.i.i568 -if.then.i.i.i.i.i.i535: ; preds = %arraydestroy.body694 +if.then.i.i.i.i.i.i568: ; preds = %arraydestroy.body694 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element696.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536: ; preds = %arraydestroy.body694, %if.then.i.i.i.i.i.i535 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569: ; preds = %arraydestroy.body694, %if.then.i.i.i.i.i.i568 %arraydestroy.done697 = icmp eq ptr %arraydestroy.element696, %ref.tmp594 br i1 %arraydestroy.done697, label %arraydestroy.body708, label %arraydestroy.body694 -arraydestroy.body708: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539 - %arraydestroy.elementPast709 = phi ptr [ %arraydestroy.element710, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539 ], [ %add.ptr.i.i463, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536 ] +arraydestroy.body708: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 + %arraydestroy.elementPast709 = phi ptr [ %arraydestroy.element710, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 ], [ %add.ptr.i.i492, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 ] %arraydestroy.element710 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast709, i64 -1 %arraydestroy.element710.val = load ptr, ptr %arraydestroy.element710, align 8 - %tobool.not.i.i.i.i.i.i537 = icmp eq ptr %arraydestroy.element710.val, null - br i1 %tobool.not.i.i.i.i.i.i537, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539, label %if.then.i.i.i.i.i.i538 + %tobool.not.i.i.i.i.i.i570 = icmp eq ptr %arraydestroy.element710.val, null + br i1 %tobool.not.i.i.i.i.i.i570, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572, label %if.then.i.i.i.i.i.i571 -if.then.i.i.i.i.i.i538: ; preds = %arraydestroy.body708 +if.then.i.i.i.i.i.i571: ; preds = %arraydestroy.body708 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element710.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539: ; preds = %arraydestroy.body708, %if.then.i.i.i.i.i.i538 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572: ; preds = %arraydestroy.body708, %if.then.i.i.i.i.i.i571 %arraydestroy.done711 = icmp eq ptr %arraydestroy.element710, %ref.tmp559 br i1 %arraydestroy.done711, label %arraydestroy.body722, label %arraydestroy.body708 -arraydestroy.body722: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542 - %arraydestroy.elementPast723 = phi ptr [ %arraydestroy.element724, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542 ], [ %add.ptr.i.i435, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539 ] +arraydestroy.body722: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 + %arraydestroy.elementPast723 = phi ptr [ %arraydestroy.element724, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 ], [ %add.ptr.i.i462, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 ] %arraydestroy.element724 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast723, i64 -1 %arraydestroy.element724.val = load ptr, ptr %arraydestroy.element724, align 8 - %tobool.not.i.i.i.i.i.i540 = icmp eq ptr %arraydestroy.element724.val, null - br i1 %tobool.not.i.i.i.i.i.i540, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542, label %if.then.i.i.i.i.i.i541 + %tobool.not.i.i.i.i.i.i573 = icmp eq ptr %arraydestroy.element724.val, null + br i1 %tobool.not.i.i.i.i.i.i573, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575, label %if.then.i.i.i.i.i.i574 -if.then.i.i.i.i.i.i541: ; preds = %arraydestroy.body722 +if.then.i.i.i.i.i.i574: ; preds = %arraydestroy.body722 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element724.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542: ; preds = %arraydestroy.body722, %if.then.i.i.i.i.i.i541 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575: ; preds = %arraydestroy.body722, %if.then.i.i.i.i.i.i574 %arraydestroy.done725 = icmp eq ptr %arraydestroy.element724, %ref.tmp524 br i1 %arraydestroy.done725, label %arraydestroy.body736, label %arraydestroy.body722 -arraydestroy.body736: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545 - %arraydestroy.elementPast737 = phi ptr [ %arraydestroy.element738, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545 ], [ %add.ptr.i.i407, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542 ] +arraydestroy.body736: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 + %arraydestroy.elementPast737 = phi ptr [ %arraydestroy.element738, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 ], [ %add.ptr.i.i432, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 ] %arraydestroy.element738 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast737, i64 -1 %arraydestroy.element738.val = load ptr, ptr %arraydestroy.element738, align 8 - %tobool.not.i.i.i.i.i.i543 = icmp eq ptr %arraydestroy.element738.val, null - br i1 %tobool.not.i.i.i.i.i.i543, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545, label %if.then.i.i.i.i.i.i544 + %tobool.not.i.i.i.i.i.i576 = icmp eq ptr %arraydestroy.element738.val, null + br i1 %tobool.not.i.i.i.i.i.i576, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578, label %if.then.i.i.i.i.i.i577 -if.then.i.i.i.i.i.i544: ; preds = %arraydestroy.body736 +if.then.i.i.i.i.i.i577: ; preds = %arraydestroy.body736 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element738.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545: ; preds = %arraydestroy.body736, %if.then.i.i.i.i.i.i544 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578: ; preds = %arraydestroy.body736, %if.then.i.i.i.i.i.i577 %arraydestroy.done739 = icmp eq ptr %arraydestroy.element738, %ref.tmp489 br i1 %arraydestroy.done739, label %arraydestroy.body750, label %arraydestroy.body736 -arraydestroy.body750: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548 - %arraydestroy.elementPast751 = phi ptr [ %arraydestroy.element752, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548 ], [ %add.ptr.i.i379, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545 ] +arraydestroy.body750: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 + %arraydestroy.elementPast751 = phi ptr [ %arraydestroy.element752, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 ], [ %add.ptr.i.i402, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 ] %arraydestroy.element752 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast751, i64 -1 %arraydestroy.element752.val = load ptr, ptr %arraydestroy.element752, align 8 - %tobool.not.i.i.i.i.i.i546 = icmp eq ptr %arraydestroy.element752.val, null - br i1 %tobool.not.i.i.i.i.i.i546, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548, label %if.then.i.i.i.i.i.i547 + %tobool.not.i.i.i.i.i.i579 = icmp eq ptr %arraydestroy.element752.val, null + br i1 %tobool.not.i.i.i.i.i.i579, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581, label %if.then.i.i.i.i.i.i580 -if.then.i.i.i.i.i.i547: ; preds = %arraydestroy.body750 +if.then.i.i.i.i.i.i580: ; preds = %arraydestroy.body750 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element752.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548: ; preds = %arraydestroy.body750, %if.then.i.i.i.i.i.i547 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581: ; preds = %arraydestroy.body750, %if.then.i.i.i.i.i.i580 %arraydestroy.done753 = icmp eq ptr %arraydestroy.element752, %ref.tmp454 br i1 %arraydestroy.done753, label %arraydestroy.body764, label %arraydestroy.body750 -arraydestroy.body764: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551 - %arraydestroy.elementPast765 = phi ptr [ %arraydestroy.element766, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551 ], [ %add.ptr.i.i351, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548 ] +arraydestroy.body764: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 + %arraydestroy.elementPast765 = phi ptr [ %arraydestroy.element766, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 ], [ %add.ptr.i.i372, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 ] %arraydestroy.element766 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast765, i64 -1 %arraydestroy.element766.val = load ptr, ptr %arraydestroy.element766, align 8 - %tobool.not.i.i.i.i.i.i549 = icmp eq ptr %arraydestroy.element766.val, null - br i1 %tobool.not.i.i.i.i.i.i549, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551, label %if.then.i.i.i.i.i.i550 + %tobool.not.i.i.i.i.i.i582 = icmp eq ptr %arraydestroy.element766.val, null + br i1 %tobool.not.i.i.i.i.i.i582, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584, label %if.then.i.i.i.i.i.i583 -if.then.i.i.i.i.i.i550: ; preds = %arraydestroy.body764 +if.then.i.i.i.i.i.i583: ; preds = %arraydestroy.body764 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element766.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551: ; preds = %arraydestroy.body764, %if.then.i.i.i.i.i.i550 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584: ; preds = %arraydestroy.body764, %if.then.i.i.i.i.i.i583 %arraydestroy.done767 = icmp eq ptr %arraydestroy.element766, %ref.tmp419 br i1 %arraydestroy.done767, label %arraydestroy.body778, label %arraydestroy.body764 -arraydestroy.body778: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554 - %arraydestroy.elementPast779 = phi ptr [ %arraydestroy.element780, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554 ], [ %add.ptr.i.i323, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551 ] +arraydestroy.body778: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587 + %arraydestroy.elementPast779 = phi ptr [ %arraydestroy.element780, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587 ], [ %add.ptr.i.i342, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 ] %arraydestroy.element780 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast779, i64 -1 %arraydestroy.element780.val = load ptr, ptr %arraydestroy.element780, align 8 - %tobool.not.i.i.i.i.i.i552 = icmp eq ptr %arraydestroy.element780.val, null - br i1 %tobool.not.i.i.i.i.i.i552, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554, label %if.then.i.i.i.i.i.i553 + %tobool.not.i.i.i.i.i.i585 = icmp eq ptr %arraydestroy.element780.val, null + br i1 %tobool.not.i.i.i.i.i.i585, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587, label %if.then.i.i.i.i.i.i586 -if.then.i.i.i.i.i.i553: ; preds = %arraydestroy.body778 +if.then.i.i.i.i.i.i586: ; preds = %arraydestroy.body778 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element780.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554: ; preds = %arraydestroy.body778, %if.then.i.i.i.i.i.i553 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587: ; preds = %arraydestroy.body778, %if.then.i.i.i.i.i.i586 %arraydestroy.done781 = icmp eq ptr %arraydestroy.element780, %ref.tmp384 br i1 %arraydestroy.done781, label %arraydestroy.body792, label %arraydestroy.body778 -arraydestroy.body792: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557 - %arraydestroy.elementPast793 = phi ptr [ %arraydestroy.element794, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557 ], [ %add.ptr.i.i295, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554 ] +arraydestroy.body792: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 + %arraydestroy.elementPast793 = phi ptr [ %arraydestroy.element794, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 ], [ %add.ptr.i.i312, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587 ] %arraydestroy.element794 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast793, i64 -1 %arraydestroy.element794.val = load ptr, ptr %arraydestroy.element794, align 8 - %tobool.not.i.i.i.i.i.i555 = icmp eq ptr %arraydestroy.element794.val, null - br i1 %tobool.not.i.i.i.i.i.i555, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557, label %if.then.i.i.i.i.i.i556 + %tobool.not.i.i.i.i.i.i588 = icmp eq ptr %arraydestroy.element794.val, null + br i1 %tobool.not.i.i.i.i.i.i588, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590, label %if.then.i.i.i.i.i.i589 -if.then.i.i.i.i.i.i556: ; preds = %arraydestroy.body792 +if.then.i.i.i.i.i.i589: ; preds = %arraydestroy.body792 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element794.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557: ; preds = %arraydestroy.body792, %if.then.i.i.i.i.i.i556 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590: ; preds = %arraydestroy.body792, %if.then.i.i.i.i.i.i589 %arraydestroy.done795 = icmp eq ptr %arraydestroy.element794, %ref.tmp349 br i1 %arraydestroy.done795, label %arraydestroy.body806, label %arraydestroy.body792 -arraydestroy.body806: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560 - %arraydestroy.elementPast807 = phi ptr [ %arraydestroy.element808, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560 ], [ %add.ptr.i.i267, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557 ] +arraydestroy.body806: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 + %arraydestroy.elementPast807 = phi ptr [ %arraydestroy.element808, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 ], [ %add.ptr.i.i282, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 ] %arraydestroy.element808 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast807, i64 -1 %arraydestroy.element808.val = load ptr, ptr %arraydestroy.element808, align 8 - %tobool.not.i.i.i.i.i.i558 = icmp eq ptr %arraydestroy.element808.val, null - br i1 %tobool.not.i.i.i.i.i.i558, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560, label %if.then.i.i.i.i.i.i559 + %tobool.not.i.i.i.i.i.i591 = icmp eq ptr %arraydestroy.element808.val, null + br i1 %tobool.not.i.i.i.i.i.i591, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593, label %if.then.i.i.i.i.i.i592 -if.then.i.i.i.i.i.i559: ; preds = %arraydestroy.body806 +if.then.i.i.i.i.i.i592: ; preds = %arraydestroy.body806 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element808.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560: ; preds = %arraydestroy.body806, %if.then.i.i.i.i.i.i559 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593: ; preds = %arraydestroy.body806, %if.then.i.i.i.i.i.i592 %arraydestroy.done809 = icmp eq ptr %arraydestroy.element808, %ref.tmp314 br i1 %arraydestroy.done809, label %arraydestroy.body820, label %arraydestroy.body806 -arraydestroy.body820: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563 - %arraydestroy.elementPast821 = phi ptr [ %arraydestroy.element822, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563 ], [ %add.ptr.i.i239, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560 ] +arraydestroy.body820: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596 + %arraydestroy.elementPast821 = phi ptr [ %arraydestroy.element822, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596 ], [ %add.ptr.i.i252, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 ] %arraydestroy.element822 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast821, i64 -1 %arraydestroy.element822.val = load ptr, ptr %arraydestroy.element822, align 8 - %tobool.not.i.i.i.i.i.i561 = icmp eq ptr %arraydestroy.element822.val, null - br i1 %tobool.not.i.i.i.i.i.i561, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563, label %if.then.i.i.i.i.i.i562 + %tobool.not.i.i.i.i.i.i594 = icmp eq ptr %arraydestroy.element822.val, null + br i1 %tobool.not.i.i.i.i.i.i594, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596, label %if.then.i.i.i.i.i.i595 -if.then.i.i.i.i.i.i562: ; preds = %arraydestroy.body820 +if.then.i.i.i.i.i.i595: ; preds = %arraydestroy.body820 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element822.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563: ; preds = %arraydestroy.body820, %if.then.i.i.i.i.i.i562 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596: ; preds = %arraydestroy.body820, %if.then.i.i.i.i.i.i595 %arraydestroy.done823 = icmp eq ptr %arraydestroy.element822, %ref.tmp279 br i1 %arraydestroy.done823, label %arraydestroy.body834, label %arraydestroy.body820 -arraydestroy.body834: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566 - %arraydestroy.elementPast835 = phi ptr [ %arraydestroy.element836, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566 ], [ %add.ptr.i.i211, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563 ] +arraydestroy.body834: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599 + %arraydestroy.elementPast835 = phi ptr [ %arraydestroy.element836, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599 ], [ %add.ptr.i.i222, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596 ] %arraydestroy.element836 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast835, i64 -1 %arraydestroy.element836.val = load ptr, ptr %arraydestroy.element836, align 8 - %tobool.not.i.i.i.i.i.i564 = icmp eq ptr %arraydestroy.element836.val, null - br i1 %tobool.not.i.i.i.i.i.i564, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566, label %if.then.i.i.i.i.i.i565 + %tobool.not.i.i.i.i.i.i597 = icmp eq ptr %arraydestroy.element836.val, null + br i1 %tobool.not.i.i.i.i.i.i597, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599, label %if.then.i.i.i.i.i.i598 -if.then.i.i.i.i.i.i565: ; preds = %arraydestroy.body834 +if.then.i.i.i.i.i.i598: ; preds = %arraydestroy.body834 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element836.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566: ; preds = %arraydestroy.body834, %if.then.i.i.i.i.i.i565 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599: ; preds = %arraydestroy.body834, %if.then.i.i.i.i.i.i598 %arraydestroy.done837 = icmp eq ptr %arraydestroy.element836, %ref.tmp244 br i1 %arraydestroy.done837, label %arraydestroy.body848, label %arraydestroy.body834 -arraydestroy.body848: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 - %arraydestroy.elementPast849 = phi ptr [ %arraydestroy.element850, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 ], [ %add.ptr.i.i183, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566 ] +arraydestroy.body848: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602 + %arraydestroy.elementPast849 = phi ptr [ %arraydestroy.element850, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602 ], [ %add.ptr.i.i192, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599 ] %arraydestroy.element850 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast849, i64 -1 %arraydestroy.element850.val = load ptr, ptr %arraydestroy.element850, align 8 - %tobool.not.i.i.i.i.i.i567 = icmp eq ptr %arraydestroy.element850.val, null - br i1 %tobool.not.i.i.i.i.i.i567, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569, label %if.then.i.i.i.i.i.i568 + %tobool.not.i.i.i.i.i.i600 = icmp eq ptr %arraydestroy.element850.val, null + br i1 %tobool.not.i.i.i.i.i.i600, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602, label %if.then.i.i.i.i.i.i601 -if.then.i.i.i.i.i.i568: ; preds = %arraydestroy.body848 +if.then.i.i.i.i.i.i601: ; preds = %arraydestroy.body848 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element850.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569: ; preds = %arraydestroy.body848, %if.then.i.i.i.i.i.i568 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602: ; preds = %arraydestroy.body848, %if.then.i.i.i.i.i.i601 %arraydestroy.done851 = icmp eq ptr %arraydestroy.element850, %ref.tmp217 br i1 %arraydestroy.done851, label %arraydestroy.body862, label %arraydestroy.body848 -arraydestroy.body862: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 - %arraydestroy.elementPast863 = phi ptr [ %arraydestroy.element864, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 ], [ %add.ptr.i.i166, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 ] +arraydestroy.body862: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605 + %arraydestroy.elementPast863 = phi ptr [ %arraydestroy.element864, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605 ], [ %add.ptr.i.i174, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602 ] %arraydestroy.element864 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast863, i64 -1 %arraydestroy.element864.val = load ptr, ptr %arraydestroy.element864, align 8 - %tobool.not.i.i.i.i.i.i570 = icmp eq ptr %arraydestroy.element864.val, null - br i1 %tobool.not.i.i.i.i.i.i570, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572, label %if.then.i.i.i.i.i.i571 + %tobool.not.i.i.i.i.i.i603 = icmp eq ptr %arraydestroy.element864.val, null + br i1 %tobool.not.i.i.i.i.i.i603, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605, label %if.then.i.i.i.i.i.i604 -if.then.i.i.i.i.i.i571: ; preds = %arraydestroy.body862 +if.then.i.i.i.i.i.i604: ; preds = %arraydestroy.body862 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element864.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572: ; preds = %arraydestroy.body862, %if.then.i.i.i.i.i.i571 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605: ; preds = %arraydestroy.body862, %if.then.i.i.i.i.i.i604 %arraydestroy.done865 = icmp eq ptr %arraydestroy.element864, %ref.tmp190 br i1 %arraydestroy.done865, label %arraydestroy.body876, label %arraydestroy.body862 -arraydestroy.body876: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 - %arraydestroy.elementPast877 = phi ptr [ %arraydestroy.element878, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 ], [ %add.ptr.i.i149, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 ] +arraydestroy.body876: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608 + %arraydestroy.elementPast877 = phi ptr [ %arraydestroy.element878, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608 ], [ %add.ptr.i.i156, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605 ] %arraydestroy.element878 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast877, i64 -1 %arraydestroy.element878.val = load ptr, ptr %arraydestroy.element878, align 8 - %tobool.not.i.i.i.i.i.i573 = icmp eq ptr %arraydestroy.element878.val, null - br i1 %tobool.not.i.i.i.i.i.i573, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575, label %if.then.i.i.i.i.i.i574 + %tobool.not.i.i.i.i.i.i606 = icmp eq ptr %arraydestroy.element878.val, null + br i1 %tobool.not.i.i.i.i.i.i606, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608, label %if.then.i.i.i.i.i.i607 -if.then.i.i.i.i.i.i574: ; preds = %arraydestroy.body876 +if.then.i.i.i.i.i.i607: ; preds = %arraydestroy.body876 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element878.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575: ; preds = %arraydestroy.body876, %if.then.i.i.i.i.i.i574 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608: ; preds = %arraydestroy.body876, %if.then.i.i.i.i.i.i607 %arraydestroy.done879 = icmp eq ptr %arraydestroy.element878, %ref.tmp163 br i1 %arraydestroy.done879, label %arraydestroy.body890, label %arraydestroy.body876 -arraydestroy.body890: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 - %arraydestroy.elementPast891 = phi ptr [ %arraydestroy.element892, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 ], [ %add.ptr.i.i132, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 ] +arraydestroy.body890: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611 + %arraydestroy.elementPast891 = phi ptr [ %arraydestroy.element892, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611 ], [ %add.ptr.i.i138, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608 ] %arraydestroy.element892 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast891, i64 -1 %arraydestroy.element892.val = load ptr, ptr %arraydestroy.element892, align 8 - %tobool.not.i.i.i.i.i.i576 = icmp eq ptr %arraydestroy.element892.val, null - br i1 %tobool.not.i.i.i.i.i.i576, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578, label %if.then.i.i.i.i.i.i577 + %tobool.not.i.i.i.i.i.i609 = icmp eq ptr %arraydestroy.element892.val, null + br i1 %tobool.not.i.i.i.i.i.i609, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611, label %if.then.i.i.i.i.i.i610 -if.then.i.i.i.i.i.i577: ; preds = %arraydestroy.body890 +if.then.i.i.i.i.i.i610: ; preds = %arraydestroy.body890 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element892.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578: ; preds = %arraydestroy.body890, %if.then.i.i.i.i.i.i577 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611: ; preds = %arraydestroy.body890, %if.then.i.i.i.i.i.i610 %arraydestroy.done893 = icmp eq ptr %arraydestroy.element892, %ref.tmp136 br i1 %arraydestroy.done893, label %arraydestroy.body904, label %arraydestroy.body890 -arraydestroy.body904: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 - %arraydestroy.elementPast905 = phi ptr [ %arraydestroy.element906, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 ], [ %add.ptr.i.i115, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 ] +arraydestroy.body904: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 + %arraydestroy.elementPast905 = phi ptr [ %arraydestroy.element906, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 ], [ %add.ptr.i.i120, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611 ] %arraydestroy.element906 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast905, i64 -1 %arraydestroy.element906.val = load ptr, ptr %arraydestroy.element906, align 8 - %tobool.not.i.i.i.i.i.i579 = icmp eq ptr %arraydestroy.element906.val, null - br i1 %tobool.not.i.i.i.i.i.i579, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581, label %if.then.i.i.i.i.i.i580 + %tobool.not.i.i.i.i.i.i612 = icmp eq ptr %arraydestroy.element906.val, null + br i1 %tobool.not.i.i.i.i.i.i612, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614, label %if.then.i.i.i.i.i.i613 -if.then.i.i.i.i.i.i580: ; preds = %arraydestroy.body904 +if.then.i.i.i.i.i.i613: ; preds = %arraydestroy.body904 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element906.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581: ; preds = %arraydestroy.body904, %if.then.i.i.i.i.i.i580 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614: ; preds = %arraydestroy.body904, %if.then.i.i.i.i.i.i613 %arraydestroy.done907 = icmp eq ptr %arraydestroy.element906, %ref.tmp89 br i1 %arraydestroy.done907, label %arraydestroy.body918, label %arraydestroy.body904 -arraydestroy.body918: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 - %arraydestroy.elementPast919 = phi ptr [ %arraydestroy.element920, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 ], [ %add.ptr.i.i76, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 ] +arraydestroy.body918: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617 + %arraydestroy.elementPast919 = phi ptr [ %arraydestroy.element920, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617 ], [ %add.ptr.i.i78, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 ] %arraydestroy.element920 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast919, i64 -1 %arraydestroy.element920.val = load ptr, ptr %arraydestroy.element920, align 8 - %tobool.not.i.i.i.i.i.i582 = icmp eq ptr %arraydestroy.element920.val, null - br i1 %tobool.not.i.i.i.i.i.i582, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584, label %if.then.i.i.i.i.i.i583 + %tobool.not.i.i.i.i.i.i615 = icmp eq ptr %arraydestroy.element920.val, null + br i1 %tobool.not.i.i.i.i.i.i615, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617, label %if.then.i.i.i.i.i.i616 -if.then.i.i.i.i.i.i583: ; preds = %arraydestroy.body918 +if.then.i.i.i.i.i.i616: ; preds = %arraydestroy.body918 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element920.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584: ; preds = %arraydestroy.body918, %if.then.i.i.i.i.i.i583 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617: ; preds = %arraydestroy.body918, %if.then.i.i.i.i.i.i616 %arraydestroy.done921 = icmp eq ptr %arraydestroy.element920, %ref.tmp54 br i1 %arraydestroy.done921, label %arraydestroy.body932.preheader, label %arraydestroy.body918 -arraydestroy.body932.preheader: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 +arraydestroy.body932.preheader: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617 %arraydestroy.element934.val = load ptr, ptr %ref.tmp34, align 8 - %tobool.not.i.i.i.i.i.i585 = icmp eq ptr %arraydestroy.element934.val, null - br i1 %tobool.not.i.i.i.i.i.i585, label %arraydestroy.body946.preheader, label %if.then.i.i.i.i.i.i586 + %tobool.not.i.i.i.i.i.i618 = icmp eq ptr %arraydestroy.element934.val, null + br i1 %tobool.not.i.i.i.i.i.i618, label %arraydestroy.body946.preheader, label %if.then.i.i.i.i.i.i619 -if.then.i.i.i.i.i.i586: ; preds = %arraydestroy.body932.preheader +if.then.i.i.i.i.i.i619: ; preds = %arraydestroy.body932.preheader call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element934.val) #31 br label %arraydestroy.body946.preheader -arraydestroy.body946.preheader: ; preds = %arraydestroy.body932.preheader, %if.then.i.i.i.i.i.i586 +arraydestroy.body946.preheader: ; preds = %arraydestroy.body932.preheader, %if.then.i.i.i.i.i.i619 br label %arraydestroy.body946 -arraydestroy.body946: ; preds = %arraydestroy.body946.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 - %arraydestroy.elementPast947 = phi ptr [ %arraydestroy.element948, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 ], [ %add.ptr.i.i38, %arraydestroy.body946.preheader ] +arraydestroy.body946: ; preds = %arraydestroy.body946.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623 + %arraydestroy.elementPast947 = phi ptr [ %arraydestroy.element948, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623 ], [ %add.ptr.i.i38, %arraydestroy.body946.preheader ] %arraydestroy.element948 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast947, i64 -1 %arraydestroy.element948.val = load ptr, ptr %arraydestroy.element948, align 8 - %tobool.not.i.i.i.i.i.i588 = icmp eq ptr %arraydestroy.element948.val, null - br i1 %tobool.not.i.i.i.i.i.i588, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590, label %if.then.i.i.i.i.i.i589 + %tobool.not.i.i.i.i.i.i621 = icmp eq ptr %arraydestroy.element948.val, null + br i1 %tobool.not.i.i.i.i.i.i621, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623, label %if.then.i.i.i.i.i.i622 -if.then.i.i.i.i.i.i589: ; preds = %arraydestroy.body946 +if.then.i.i.i.i.i.i622: ; preds = %arraydestroy.body946 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element948.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590: ; preds = %arraydestroy.body946, %if.then.i.i.i.i.i.i589 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623: ; preds = %arraydestroy.body946, %if.then.i.i.i.i.i.i622 %arraydestroy.done949 = icmp eq ptr %arraydestroy.element948, %ref.tmp21 br i1 %arraydestroy.done949, label %arraydestroy.body960, label %arraydestroy.body946 -arraydestroy.body960: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 - %arraydestroy.elementPast961 = phi ptr [ %arraydestroy.element962, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 ], [ %add.ptr.i.i30, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 ] +arraydestroy.body960: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626 + %arraydestroy.elementPast961 = phi ptr [ %arraydestroy.element962, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626 ], [ %add.ptr.i.i30, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623 ] %arraydestroy.element962 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast961, i64 -1 %arraydestroy.element962.val = load ptr, ptr %arraydestroy.element962, align 8 - %tobool.not.i.i.i.i.i.i591 = icmp eq ptr %arraydestroy.element962.val, null - br i1 %tobool.not.i.i.i.i.i.i591, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593, label %if.then.i.i.i.i.i.i592 + %tobool.not.i.i.i.i.i.i624 = icmp eq ptr %arraydestroy.element962.val, null + br i1 %tobool.not.i.i.i.i.i.i624, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626, label %if.then.i.i.i.i.i.i625 -if.then.i.i.i.i.i.i592: ; preds = %arraydestroy.body960 +if.then.i.i.i.i.i.i625: ; preds = %arraydestroy.body960 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element962.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593: ; preds = %arraydestroy.body960, %if.then.i.i.i.i.i.i592 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626: ; preds = %arraydestroy.body960, %if.then.i.i.i.i.i.i625 %arraydestroy.done963 = icmp eq ptr %arraydestroy.element962, %ref.tmp9 br i1 %arraydestroy.done963, label %arraydestroy.body974.preheader, label %arraydestroy.body960 -arraydestroy.body974.preheader: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 +arraydestroy.body974.preheader: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626 %arraydestroy.element976.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i.i.i594 = icmp eq ptr %arraydestroy.element976.val, null - br i1 %tobool.not.i.i.i.i.i.i594, label %for.body.i.i.preheader, label %if.then.i.i.i.i.i.i595 + %tobool.not.i.i.i.i.i.i627 = icmp eq ptr %arraydestroy.element976.val, null + br i1 %tobool.not.i.i.i.i.i.i627, label %for.body.i.i.preheader, label %if.then.i.i.i.i.i.i628 -if.then.i.i.i.i.i.i595: ; preds = %arraydestroy.body974.preheader +if.then.i.i.i.i.i.i628: ; preds = %arraydestroy.body974.preheader call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element976.val) #31 br label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %arraydestroy.body974.preheader, %if.then.i.i.i.i.i.i595 +for.body.i.i.preheader: ; preds = %arraydestroy.body974.preheader, %if.then.i.i.i.i.i.i628 br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.inc.i.i %ref.tmp.sroa.0.0.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %add.ptr19.i.i.i12.i.i = phi ptr [ %add.ptr19.i.i.i11.i.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] - %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i528, %for.body.i.i.preheader ] - %cmp.not.i.i.i.i597 = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i - br i1 %cmp.not.i.i.i.i597, label %if.else.i.i.i.i, label %if.then.i.i.i.i + %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i561, %for.body.i.i.preheader ] + %cmp.not.i.i.i.i630 = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i + br i1 %cmp.not.i.i.i.i630, label %if.else.i.i.i.i, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %for.body.i.i store ptr %__begin0.sroa.0.08.i.i, ptr %incdec.ptr.i.i.i9.i.i, align 8, !noalias !4198 @@ -158822,13 +158825,13 @@ if.else.i.i.i.i: ; preds = %for.body.i.i %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %ref.tmp.sroa.0.0.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i607, label %_ZNKSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i640, label %_ZNKSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i -if.then.i.i.i.i.i.i607: ; preds = %if.else.i.i.i.i +if.then.i.i.i.i.i.i640: ; preds = %if.else.i.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.52) #30 to label %.noexc.i.i unwind label %lpad.loopexit.split-lp.i.i, !noalias !4198 -.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i607 +.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i640 unreachable _ZNKSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i @@ -158840,8 +158843,8 @@ _ZNKSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN %cmp9.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i, 576460752303423487 %or.cond.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i %cond.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i, i64 576460752303423487, i64 %add.i.i.i.i.i.i - %cmp.not.i.i.i.i.i.i605 = icmp eq i64 %cond.i.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i.i605, label %_ZNSt12_Vector_baseISt7variantIJPKSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS8_EEEESaISD_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS8_EEEEEE8allocateERSE_m.exit.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i638 = icmp eq i64 %cond.i.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i.i638, label %_ZNSt12_Vector_baseISt7variantIJPKSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS8_EEEESaISD_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS8_EEEEEE8allocateERSE_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaISt7variantIJPKSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS8_EEEEEE8allocateERSE_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 4 @@ -158867,8 +158870,8 @@ for.body.i.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEESaISC_EE11_S_relocateEPSC_SF_SF_RSD_.exit21.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS8_EEEESaISD_EE11_M_allocateEm.exit.i.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS8_EEEESaISD_EE11_M_allocateEm.exit.i.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ] - %tobool.not.i.i.i.i.i.i606 = icmp eq ptr %ref.tmp.sroa.0.0.i, null - br i1 %tobool.not.i.i.i.i.i.i606, label %_ZNSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEESaISC_EE17_M_realloc_insertIJSC_EEEvN9__gnu_cxx17__normal_iteratorIPSC_SE_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i + %tobool.not.i.i.i.i.i.i639 = icmp eq ptr %ref.tmp.sroa.0.0.i, null + br i1 %tobool.not.i.i.i.i.i.i639, label %_ZNSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEESaISC_EE17_M_realloc_insertIJSC_EEEvN9__gnu_cxx17__normal_iteratorIPSC_SE_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEESaISC_EE11_S_relocateEPSC_SF_SF_RSD_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4198 @@ -158892,7 +158895,7 @@ lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_tr cleanup br label %lpad.i.i -lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i607 +lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i640 %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup br label %lpad.i.i @@ -159066,13 +159069,13 @@ if.end11.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i %incdec.ptr.i10.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 2 %118 = load i32, ptr %incdec.ptr.i10.i.i.i.i.i, align 4 %cmp.i11.i.i.i.i.i = icmp eq i32 %118, %114 - br i1 %cmp.i11.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1084, label %if.end17.i.i.i.i.i + br i1 %cmp.i11.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1117, label %if.end17.i.i.i.i.i if.end17.i.i.i.i.i: ; preds = %if.end11.i.i.i.i.i %incdec.ptr.i12.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 3 %119 = load i32, ptr %incdec.ptr.i12.i.i.i.i.i, align 4 %cmp.i13.i.i.i.i.i = icmp eq i32 %119, %114 - br i1 %cmp.i13.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1086, label %if.end23.i.i.i.i.i + br i1 %cmp.i13.i.i.i.i.i, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1119, label %if.end23.i.i.i.i.i if.end23.i.i.i.i.i: ; preds = %if.end17.i.i.i.i.i %incdec.ptr.i14.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 4 @@ -159136,35 +159139,35 @@ _ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17 %incdec.ptr.i.i.i9.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 1 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1084: ; preds = %if.end11.i.i.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1117: ; preds = %if.end11.i.i.i.i.i %incdec.ptr.i10.i.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 2 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1086: ; preds = %if.end17.i.i.i.i.i +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1119: ; preds = %if.end17.i.i.i.i.i %incdec.ptr.i12.i.i.i.i.i.le = getelementptr inbounds i32, ptr %__first.sroa.0.051.i.i.i.i.i, i64 3 br label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i -_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1084, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1086, %sw.bb39.i.i.i.i.i, %sw.bb32.i.i.i.i.i, %sw.bb.i.i.i.i.i, %for.end.i.i.i.i.i - %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %__first.sroa.0.1.i.i.i.i.i, %sw.bb32.i.i.i.i.i ], [ %__scan.sroa.0.049.i.i.i, %for.end.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb39.i.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit ], [ %incdec.ptr.i10.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1084 ], [ %incdec.ptr.i12.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1086 ], [ %__first.sroa.0.051.i.i.i.i.i, %for.body.i.i.i.i.i ] +_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i.i, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1117, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1119, %sw.bb39.i.i.i.i.i, %sw.bb32.i.i.i.i.i, %sw.bb.i.i.i.i.i, %for.end.i.i.i.i.i + %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i = phi ptr [ %__first.sroa.0.0.lcssa.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %__first.sroa.0.1.i.i.i.i.i, %sw.bb32.i.i.i.i.i ], [ %__scan.sroa.0.049.i.i.i, %for.end.i.i.i.i.i ], [ %spec.select.i.i.i.i.i, %sw.bb39.i.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit ], [ %incdec.ptr.i10.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1117 ], [ %incdec.ptr.i12.i.i.i.i.i.le, %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i.loopexit.split.loop.exit1119 ], [ %__first.sroa.0.051.i.i.i.i.i, %for.body.i.i.i.i.i ] %cmp.i11.not.i.i.i = icmp eq ptr %__scan.sroa.0.049.i.i.i, %retval.sroa.0.0.in.sroa.speculated.i.i.i.i.i br i1 %cmp.i11.not.i.i.i, label %for.body.lr.ph.i.i.i.i, label %for.inc69.i.i.i for.body.lr.ph.i.i.i.i: ; preds = %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEET_SB_SB_T0_.exit.i.i.i %126 = load i32, ptr %__scan.sroa.0.049.i.i.i, align 4 - br label %for.body.i.i.i.i604 + br label %for.body.i.i.i.i637 -for.body.i.i.i.i604: ; preds = %for.body.i.i.i.i604, %for.body.lr.ph.i.i.i.i - %__n.06.i.i.i.i = phi i64 [ 0, %for.body.lr.ph.i.i.i.i ], [ %spec.select.i.i.i.i, %for.body.i.i.i.i604 ] - %__first.sroa.0.05.i.i.i.i = phi ptr [ %__first2.sroa.0.0.lcssa.i.i.i, %for.body.lr.ph.i.i.i.i ], [ %incdec.ptr.i.i.i926.i.i, %for.body.i.i.i.i604 ] +for.body.i.i.i.i637: ; preds = %for.body.i.i.i.i637, %for.body.lr.ph.i.i.i.i + %__n.06.i.i.i.i = phi i64 [ 0, %for.body.lr.ph.i.i.i.i ], [ %spec.select.i.i.i.i, %for.body.i.i.i.i637 ] + %__first.sroa.0.05.i.i.i.i = phi ptr [ %__first2.sroa.0.0.lcssa.i.i.i, %for.body.lr.ph.i.i.i.i ], [ %incdec.ptr.i.i.i926.i.i, %for.body.i.i.i.i637 ] %127 = load i32, ptr %__first.sroa.0.05.i.i.i.i, align 4 %cmp.i2.i.i.i.i = icmp eq i32 %127, %126 %inc.i.i.i.i = zext i1 %cmp.i2.i.i.i.i to i64 %spec.select.i.i.i.i = add nuw nsw i64 %__n.06.i.i.i.i, %inc.i.i.i.i %incdec.ptr.i.i.i926.i.i = getelementptr inbounds i32, ptr %__first.sroa.0.05.i.i.i.i, i64 1 %cmp.i.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i926.i.i, %add.ptr.i.i.i.i.i.i - br i1 %cmp.i.not.i.i.i.i, label %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i, label %for.body.i.i.i.i604, !llvm.loop !2178 + br i1 %cmp.i.not.i.i.i.i, label %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i, label %for.body.i.i.i.i637, !llvm.loop !2178 -_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i604 +_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i: ; preds = %for.body.i.i.i.i637 %cmp.i927.i.i = icmp eq i64 %spec.select.i.i.i.i, 0 br i1 %cmp.i927.i.i, label %for.inc.i9.i, label %for.body.i14.i.i.i @@ -159197,17 +159200,17 @@ for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.inc.i.i.i, %for lpad.loopexit15.i.i: ; preds = %for.body66.i.i %lpad.loopexit16.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i599 + br label %lpad.body.i632 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSQ_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i %lpad.loopexit22.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i599 + br label %lpad.body.i632 lpad.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.i.invoke.i.i %lpad.loopexit.split-lp23.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i599 + br label %lpad.body.i632 for.inc.i9.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit23.i.i.i, %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops17_Iter_equals_iterIS7_EEENSt15iterator_traitsIT_E15difference_typeESC_SC_T0_.exit.i.i.i, %for.body13.i.i %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.1341", ptr %__begin05.sroa.0.061.i.i, i64 1 @@ -159217,9 +159220,9 @@ for.inc.i9.i: ; preds = %for.body.i.i.i.i.i. if.then19.i.i: ; preds = %for.inc.i9.i, %for.body.i8.i %129 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !4209 %cmp.not.i.i.i = icmp eq ptr %classes.val54.i.i, %129 - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i598 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i631 -if.then.i.i.i598: ; preds = %if.then19.i.i +if.then.i.i.i631: ; preds = %if.then19.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i, i8 0, i64 24, i1 false) %incdec.ptr.i105.i.i = getelementptr inbounds %"class.std::vector.1341", ptr %classes.val54.i.i, i64 1 store ptr %incdec.ptr.i105.i.i, ptr %106, align 8, !noalias !4209 @@ -159273,9 +159276,9 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] - %incdec.ptr.i.i.i37.i = getelementptr inbounds %"class.std::vector.1341", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i38.i = icmp eq ptr %classes.val.i.i, null - br i1 %tobool.not.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i + %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.1341", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i39.i = icmp eq ptr %classes.val.i.i, null + br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i) #31 @@ -159283,13 +159286,13 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !4209 - store ptr %incdec.ptr.i.i.i37.i, ptr %106, align 8, !noalias !4209 + store ptr %incdec.ptr.i.i.i38.i, ptr %106, align 8, !noalias !4209 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.1341", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !4209 br label %if.end23.i.i -if.end23.i.i: ; preds = %land.rhs.i.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, %if.then.i.i.i598 - %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i598 ], [ %__begin05.sroa.0.061.i.i, %for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %__begin05.sroa.0.061.i.i, %land.rhs.i.i.i.i.i.i.i.i.i.i ] +if.end23.i.i: ; preds = %land.rhs.i.i.i.i.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, %if.then.i.i.i631 + %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i631 ], [ %__begin05.sroa.0.061.i.i, %for.inc.i.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %__begin05.sroa.0.061.i.i, %land.rhs.i.i.i.i.i.i.i.i.i.i ] %_M_finish.i.i.i11.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1347", ptr %c.1.i.i, i64 0, i32 1 %132 = load ptr, ptr %_M_finish.i.i.i11.i, align 8 %_M_end_of_storage.i.i.i12.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1347", ptr %c.1.i.i, i64 0, i32 2 @@ -159344,31 +159347,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.064.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.065.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1348, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS3_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1348, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.1348, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.1348, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %135 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i ], [ %134, %if.then.i.i.i14.i ] + %135 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i ], [ %134, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.065.i.i, 1 %call28.val.i.i = load ptr, ptr %135, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -159379,8 +159383,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !4220) %136 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !4223 %137 = and i8 %136, 1 - %tobool.not.i.i.i601 = icmp eq i8 %137, 0 - br i1 %tobool.not.i.i.i601, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i634 = icmp eq i8 %137, 0 + br i1 %tobool.not.i.i.i634, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -159585,7 +159589,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %166 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i599 + br label %lpad.body.i632 lpad35.i.i: ; preds = %if.then33.i.i %167 = landingpad { ptr, i32 } @@ -159607,12 +159611,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %169 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4209 %170 = and i8 %169, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %170, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i599, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i632, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4209 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i599 + br label %lpad.body.i632 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !4209 @@ -159714,7 +159718,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %178, %lpad51.i.i ], [ %174, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %174, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i599 + br label %lpad.body.i632 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.071.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -161748,7 +161752,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %279, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit12.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp13.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i599 + br label %lpad.body.i632 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_) @@ -161858,32 +161862,32 @@ cleanup257.i.i: ; preds = %if.then.i.i.i1.i893 %_M_finish.i914.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1319", ptr %classes.i.i, i64 0, i32 1 %448 = load ptr, ptr %_M_finish.i914.i.i, align 8, !noalias !4209 %cmp.not3.i.i.i.i.i.i = icmp eq ptr %447, %448 - br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i602 + br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i635 -for.body.i.i.i.i.i.i602: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i635: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i ], [ %447, %cleanup257.i.i ] %__first.addr.0.val.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i -if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i602 +if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i635 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i602 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i635 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1341", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i916.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i, %448 - br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i602, !llvm.loop !4224 + br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i635, !llvm.loop !4224 invoke.cont.i917.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKS0_INS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaISA_EEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i, %cleanup257.i.i %tobool.not.i.i.i918.i.i = icmp eq ptr %447, null - br i1 %tobool.not.i.i.i918.i.i, label %invoke.cont.i603, label %if.then.i.i.i919.i.i + br i1 %tobool.not.i.i.i918.i.i, label %invoke.cont.i636, label %if.then.i.i.i919.i.i if.then.i.i.i919.i.i: ; preds = %invoke.cont.i917.i.i call void @_ZdlPv(ptr noundef nonnull %447) #31 - br label %invoke.cont.i603 + br label %invoke.cont.i636 -invoke.cont.i603: ; preds = %if.then.i.i.i919.i.i, %invoke.cont.i917.i.i +invoke.cont.i636: ; preds = %if.then.i.i.i919.i.i, %invoke.cont.i917.i.i call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i), !noalias !4206 call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i), !noalias !4206 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i), !noalias !4206 @@ -161909,23 +161913,23 @@ invoke.cont.i603: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !4206 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !4206 %tobool.not.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i, label %invoke.cont994, label %if.then.i.i.i39.i + br i1 %tobool.not.i.i.i.i, label %invoke.cont994, label %if.then.i.i.i40.i -if.then.i.i.i39.i: ; preds = %invoke.cont.i603 +if.then.i.i.i40.i: ; preds = %invoke.cont.i636 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %invoke.cont994 -lpad.body.i599: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit15.i.i +lpad.body.i632: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit15.i.i %.pn46.pn.i.i = phi { ptr, i32 } [ %166, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit16.i.i, %lpad.loopexit15.i.i ], [ %lpad.loopexit22.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp23.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS_INS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS9_EEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i40.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i40.i, label %ehcleanup1011, label %if.then.i.i.i41.i + %tobool.not.i.i.i41.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i41.i, label %ehcleanup1011, label %if.then.i.i.i42.i -if.then.i.i.i41.i: ; preds = %lpad.body.i599 +if.then.i.i.i42.i: ; preds = %lpad.body.i632 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %ehcleanup1011 -invoke.cont994: ; preds = %if.then.i.i.i39.i, %invoke.cont.i603 +invoke.cont994: ; preds = %if.then.i.i.i40.i, %invoke.cont.i636 %449 = load i8, ptr %gtest_ar_, align 8 %450 = and i8 %449, 1 %tobool.i.not = icmp eq i8 %450, 0 @@ -161936,17 +161940,17 @@ lpad64.body: ; preds = %invoke.cont65 cleanup br label %arraydestroy.body76 -arraydestroy.body76: ; preds = %lpad64.body.thread900, %lpad64.body - %eh.lpad-body63905 = phi { ptr, i32 } [ %8, %lpad64.body.thread900 ], [ %451, %lpad64.body ] +arraydestroy.body76: ; preds = %lpad64.body.thread933, %lpad64.body + %eh.lpad-body64938 = phi { ptr, i32 } [ %8, %lpad64.body.thread933 ], [ %451, %lpad64.body ] %arraydestroy.element78.val = load ptr, ptr %ref.tmp54, align 8 - %tobool.not.i.i.i.i.i.i609 = icmp eq ptr %arraydestroy.element78.val, null - br i1 %tobool.not.i.i.i.i.i.i609, label %ehcleanup930, label %if.then.i.i.i.i.i.i610 + %tobool.not.i.i.i.i.i.i642 = icmp eq ptr %arraydestroy.element78.val, null + br i1 %tobool.not.i.i.i.i.i.i642, label %ehcleanup930, label %if.then.i.i.i.i.i.i643 -if.then.i.i.i.i.i.i610: ; preds = %arraydestroy.body76 +if.then.i.i.i.i.i.i643: ; preds = %arraydestroy.body76 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element78.val) #31 br label %ehcleanup930 -lpad100.body.thread916: ; preds = %invoke.cont101, %invoke.cont111 +lpad100.body.thread949: ; preds = %invoke.cont101, %invoke.cont111 %arrayinit.endOfInit91.0.ph = phi ptr [ %arrayinit.element112, %invoke.cont111 ], [ %arrayinit.element102, %invoke.cont101 ] %lpad.thr_comm = landingpad { ptr, i32 } cleanup @@ -161957,23 +161961,23 @@ lpad100.body: ; preds = %invoke.cont86 cleanup br label %ehcleanup916 -arraydestroy.body123.preheader: ; preds = %common.resume.i105, %common.resume.i94, %lpad100.body.thread916 - %eh.lpad-body91914 = phi { ptr, i32 } [ %lpad.thr_comm, %lpad100.body.thread916 ], [ %13, %common.resume.i105 ], [ %12, %common.resume.i94 ] - %arrayinit.endOfInit91.0.lpad-body913 = phi ptr [ %arrayinit.endOfInit91.0.ph, %lpad100.body.thread916 ], [ %arrayinit.element112, %common.resume.i105 ], [ %arrayinit.element102, %common.resume.i94 ] +arraydestroy.body123.preheader: ; preds = %common.resume.i109, %common.resume.i97, %lpad100.body.thread949 + %eh.lpad-body94947 = phi { ptr, i32 } [ %lpad.thr_comm, %lpad100.body.thread949 ], [ %13, %common.resume.i109 ], [ %12, %common.resume.i97 ] + %arrayinit.endOfInit91.0.lpad-body946 = phi ptr [ %arrayinit.endOfInit91.0.ph, %lpad100.body.thread949 ], [ %arrayinit.element112, %common.resume.i109 ], [ %arrayinit.element102, %common.resume.i97 ] br label %arraydestroy.body123 -arraydestroy.body123: ; preds = %arraydestroy.body123.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 - %arraydestroy.elementPast124 = phi ptr [ %arraydestroy.element125, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 ], [ %arrayinit.endOfInit91.0.lpad-body913, %arraydestroy.body123.preheader ] +arraydestroy.body123: ; preds = %arraydestroy.body123.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647 + %arraydestroy.elementPast124 = phi ptr [ %arraydestroy.element125, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647 ], [ %arrayinit.endOfInit91.0.lpad-body946, %arraydestroy.body123.preheader ] %arraydestroy.element125 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast124, i64 -1 %arraydestroy.element125.val = load ptr, ptr %arraydestroy.element125, align 8 - %tobool.not.i.i.i.i.i.i612 = icmp eq ptr %arraydestroy.element125.val, null - br i1 %tobool.not.i.i.i.i.i.i612, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614, label %if.then.i.i.i.i.i.i613 + %tobool.not.i.i.i.i.i.i645 = icmp eq ptr %arraydestroy.element125.val, null + br i1 %tobool.not.i.i.i.i.i.i645, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647, label %if.then.i.i.i.i.i.i646 -if.then.i.i.i.i.i.i613: ; preds = %arraydestroy.body123 +if.then.i.i.i.i.i.i646: ; preds = %arraydestroy.body123 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element125.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614: ; preds = %arraydestroy.body123, %if.then.i.i.i.i.i.i613 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647: ; preds = %arraydestroy.body123, %if.then.i.i.i.i.i.i646 %arraydestroy.done126 = icmp eq ptr %arraydestroy.element125, %ref.tmp89 br i1 %arraydestroy.done126, label %ehcleanup916, label %arraydestroy.body123 @@ -161982,15 +161986,15 @@ lpad147.body.thread: ; preds = %invoke.cont133 cleanup br label %ehcleanup902 -lpad147.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc128 +lpad147.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc134 %453 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i129) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i135) #31 %arraydestroy.element152.val.pre = load ptr, ptr %ref.tmp136, align 8 - %tobool.not.i.i.i.i.i.i615 = icmp eq ptr %arraydestroy.element152.val.pre, null - br i1 %tobool.not.i.i.i.i.i.i615, label %ehcleanup902, label %if.then.i.i.i.i.i.i616 + %tobool.not.i.i.i.i.i.i648 = icmp eq ptr %arraydestroy.element152.val.pre, null + br i1 %tobool.not.i.i.i.i.i.i648, label %ehcleanup902, label %if.then.i.i.i.i.i.i649 -if.then.i.i.i.i.i.i616: ; preds = %lpad147.body +if.then.i.i.i.i.i.i649: ; preds = %lpad147.body call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element152.val.pre) #31 br label %ehcleanup902 @@ -161999,15 +162003,15 @@ lpad174.body.thread: ; preds = %invoke.cont160 cleanup br label %ehcleanup888 -lpad174.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc145 +lpad174.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc152 %455 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i146) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i153) #31 %arraydestroy.element179.val.pre = load ptr, ptr %ref.tmp163, align 8 - %tobool.not.i.i.i.i.i.i618 = icmp eq ptr %arraydestroy.element179.val.pre, null - br i1 %tobool.not.i.i.i.i.i.i618, label %ehcleanup888, label %if.then.i.i.i.i.i.i619 + %tobool.not.i.i.i.i.i.i651 = icmp eq ptr %arraydestroy.element179.val.pre, null + br i1 %tobool.not.i.i.i.i.i.i651, label %ehcleanup888, label %if.then.i.i.i.i.i.i652 -if.then.i.i.i.i.i.i619: ; preds = %lpad174.body +if.then.i.i.i.i.i.i652: ; preds = %lpad174.body call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element179.val.pre) #31 br label %ehcleanup888 @@ -162026,13 +162030,13 @@ lpad254.body: ; preds = %invoke.cont255 cleanup br label %arraydestroy.body266 -arraydestroy.body266: ; preds = %lpad254.body.thread928, %lpad254.body - %eh.lpad-body198933 = phi { ptr, i32 } [ %28, %lpad254.body.thread928 ], [ %458, %lpad254.body ] +arraydestroy.body266: ; preds = %lpad254.body.thread961, %lpad254.body + %eh.lpad-body208966 = phi { ptr, i32 } [ %28, %lpad254.body.thread961 ], [ %458, %lpad254.body ] %arraydestroy.element268.val = load ptr, ptr %ref.tmp244, align 8 - %tobool.not.i.i.i.i.i.i621 = icmp eq ptr %arraydestroy.element268.val, null - br i1 %tobool.not.i.i.i.i.i.i621, label %ehcleanup846, label %if.then.i.i.i.i.i.i622 + %tobool.not.i.i.i.i.i.i654 = icmp eq ptr %arraydestroy.element268.val, null + br i1 %tobool.not.i.i.i.i.i.i654, label %ehcleanup846, label %if.then.i.i.i.i.i.i655 -if.then.i.i.i.i.i.i622: ; preds = %arraydestroy.body266 +if.then.i.i.i.i.i.i655: ; preds = %arraydestroy.body266 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element268.val) #31 br label %ehcleanup846 @@ -162041,13 +162045,13 @@ lpad289.body: ; preds = %invoke.cont290 cleanup br label %arraydestroy.body301 -arraydestroy.body301: ; preds = %lpad289.body.thread937, %lpad289.body - %eh.lpad-body226942 = phi { ptr, i32 } [ %34, %lpad289.body.thread937 ], [ %459, %lpad289.body ] +arraydestroy.body301: ; preds = %lpad289.body.thread970, %lpad289.body + %eh.lpad-body238975 = phi { ptr, i32 } [ %34, %lpad289.body.thread970 ], [ %459, %lpad289.body ] %arraydestroy.element303.val = load ptr, ptr %ref.tmp279, align 8 - %tobool.not.i.i.i.i.i.i624 = icmp eq ptr %arraydestroy.element303.val, null - br i1 %tobool.not.i.i.i.i.i.i624, label %ehcleanup832, label %if.then.i.i.i.i.i.i625 + %tobool.not.i.i.i.i.i.i657 = icmp eq ptr %arraydestroy.element303.val, null + br i1 %tobool.not.i.i.i.i.i.i657, label %ehcleanup832, label %if.then.i.i.i.i.i.i658 -if.then.i.i.i.i.i.i625: ; preds = %arraydestroy.body301 +if.then.i.i.i.i.i.i658: ; preds = %arraydestroy.body301 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element303.val) #31 br label %ehcleanup832 @@ -162056,13 +162060,13 @@ lpad324.body: ; preds = %invoke.cont325 cleanup br label %arraydestroy.body336 -arraydestroy.body336: ; preds = %lpad324.body.thread946, %lpad324.body - %eh.lpad-body254951 = phi { ptr, i32 } [ %40, %lpad324.body.thread946 ], [ %460, %lpad324.body ] +arraydestroy.body336: ; preds = %lpad324.body.thread979, %lpad324.body + %eh.lpad-body268984 = phi { ptr, i32 } [ %40, %lpad324.body.thread979 ], [ %460, %lpad324.body ] %arraydestroy.element338.val = load ptr, ptr %ref.tmp314, align 8 - %tobool.not.i.i.i.i.i.i627 = icmp eq ptr %arraydestroy.element338.val, null - br i1 %tobool.not.i.i.i.i.i.i627, label %ehcleanup818, label %if.then.i.i.i.i.i.i628 + %tobool.not.i.i.i.i.i.i660 = icmp eq ptr %arraydestroy.element338.val, null + br i1 %tobool.not.i.i.i.i.i.i660, label %ehcleanup818, label %if.then.i.i.i.i.i.i661 -if.then.i.i.i.i.i.i628: ; preds = %arraydestroy.body336 +if.then.i.i.i.i.i.i661: ; preds = %arraydestroy.body336 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element338.val) #31 br label %ehcleanup818 @@ -162071,13 +162075,13 @@ lpad359.body: ; preds = %invoke.cont360 cleanup br label %arraydestroy.body371 -arraydestroy.body371: ; preds = %lpad359.body.thread955, %lpad359.body - %eh.lpad-body282960 = phi { ptr, i32 } [ %46, %lpad359.body.thread955 ], [ %461, %lpad359.body ] +arraydestroy.body371: ; preds = %lpad359.body.thread988, %lpad359.body + %eh.lpad-body298993 = phi { ptr, i32 } [ %46, %lpad359.body.thread988 ], [ %461, %lpad359.body ] %arraydestroy.element373.val = load ptr, ptr %ref.tmp349, align 8 - %tobool.not.i.i.i.i.i.i630 = icmp eq ptr %arraydestroy.element373.val, null - br i1 %tobool.not.i.i.i.i.i.i630, label %ehcleanup804, label %if.then.i.i.i.i.i.i631 + %tobool.not.i.i.i.i.i.i663 = icmp eq ptr %arraydestroy.element373.val, null + br i1 %tobool.not.i.i.i.i.i.i663, label %ehcleanup804, label %if.then.i.i.i.i.i.i664 -if.then.i.i.i.i.i.i631: ; preds = %arraydestroy.body371 +if.then.i.i.i.i.i.i664: ; preds = %arraydestroy.body371 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element373.val) #31 br label %ehcleanup804 @@ -162086,13 +162090,13 @@ lpad394.body: ; preds = %invoke.cont395 cleanup br label %arraydestroy.body406 -arraydestroy.body406: ; preds = %lpad394.body.thread964, %lpad394.body - %eh.lpad-body310969 = phi { ptr, i32 } [ %52, %lpad394.body.thread964 ], [ %462, %lpad394.body ] +arraydestroy.body406: ; preds = %lpad394.body.thread997, %lpad394.body + %eh.lpad-body3281002 = phi { ptr, i32 } [ %52, %lpad394.body.thread997 ], [ %462, %lpad394.body ] %arraydestroy.element408.val = load ptr, ptr %ref.tmp384, align 8 - %tobool.not.i.i.i.i.i.i633 = icmp eq ptr %arraydestroy.element408.val, null - br i1 %tobool.not.i.i.i.i.i.i633, label %ehcleanup790, label %if.then.i.i.i.i.i.i634 + %tobool.not.i.i.i.i.i.i666 = icmp eq ptr %arraydestroy.element408.val, null + br i1 %tobool.not.i.i.i.i.i.i666, label %ehcleanup790, label %if.then.i.i.i.i.i.i667 -if.then.i.i.i.i.i.i634: ; preds = %arraydestroy.body406 +if.then.i.i.i.i.i.i667: ; preds = %arraydestroy.body406 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element408.val) #31 br label %ehcleanup790 @@ -162101,13 +162105,13 @@ lpad429.body: ; preds = %invoke.cont430 cleanup br label %arraydestroy.body441 -arraydestroy.body441: ; preds = %lpad429.body.thread973, %lpad429.body - %eh.lpad-body338978 = phi { ptr, i32 } [ %58, %lpad429.body.thread973 ], [ %463, %lpad429.body ] +arraydestroy.body441: ; preds = %lpad429.body.thread1006, %lpad429.body + %eh.lpad-body3581011 = phi { ptr, i32 } [ %58, %lpad429.body.thread1006 ], [ %463, %lpad429.body ] %arraydestroy.element443.val = load ptr, ptr %ref.tmp419, align 8 - %tobool.not.i.i.i.i.i.i636 = icmp eq ptr %arraydestroy.element443.val, null - br i1 %tobool.not.i.i.i.i.i.i636, label %ehcleanup776, label %if.then.i.i.i.i.i.i637 + %tobool.not.i.i.i.i.i.i669 = icmp eq ptr %arraydestroy.element443.val, null + br i1 %tobool.not.i.i.i.i.i.i669, label %ehcleanup776, label %if.then.i.i.i.i.i.i670 -if.then.i.i.i.i.i.i637: ; preds = %arraydestroy.body441 +if.then.i.i.i.i.i.i670: ; preds = %arraydestroy.body441 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element443.val) #31 br label %ehcleanup776 @@ -162116,13 +162120,13 @@ lpad464.body: ; preds = %invoke.cont465 cleanup br label %arraydestroy.body476 -arraydestroy.body476: ; preds = %lpad464.body.thread982, %lpad464.body - %eh.lpad-body366987 = phi { ptr, i32 } [ %64, %lpad464.body.thread982 ], [ %464, %lpad464.body ] +arraydestroy.body476: ; preds = %lpad464.body.thread1015, %lpad464.body + %eh.lpad-body3881020 = phi { ptr, i32 } [ %64, %lpad464.body.thread1015 ], [ %464, %lpad464.body ] %arraydestroy.element478.val = load ptr, ptr %ref.tmp454, align 8 - %tobool.not.i.i.i.i.i.i639 = icmp eq ptr %arraydestroy.element478.val, null - br i1 %tobool.not.i.i.i.i.i.i639, label %ehcleanup762, label %if.then.i.i.i.i.i.i640 + %tobool.not.i.i.i.i.i.i672 = icmp eq ptr %arraydestroy.element478.val, null + br i1 %tobool.not.i.i.i.i.i.i672, label %ehcleanup762, label %if.then.i.i.i.i.i.i673 -if.then.i.i.i.i.i.i640: ; preds = %arraydestroy.body476 +if.then.i.i.i.i.i.i673: ; preds = %arraydestroy.body476 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element478.val) #31 br label %ehcleanup762 @@ -162131,13 +162135,13 @@ lpad499.body: ; preds = %invoke.cont500 cleanup br label %arraydestroy.body511 -arraydestroy.body511: ; preds = %lpad499.body.thread991, %lpad499.body - %eh.lpad-body394996 = phi { ptr, i32 } [ %70, %lpad499.body.thread991 ], [ %465, %lpad499.body ] +arraydestroy.body511: ; preds = %lpad499.body.thread1024, %lpad499.body + %eh.lpad-body4181029 = phi { ptr, i32 } [ %70, %lpad499.body.thread1024 ], [ %465, %lpad499.body ] %arraydestroy.element513.val = load ptr, ptr %ref.tmp489, align 8 - %tobool.not.i.i.i.i.i.i642 = icmp eq ptr %arraydestroy.element513.val, null - br i1 %tobool.not.i.i.i.i.i.i642, label %ehcleanup748, label %if.then.i.i.i.i.i.i643 + %tobool.not.i.i.i.i.i.i675 = icmp eq ptr %arraydestroy.element513.val, null + br i1 %tobool.not.i.i.i.i.i.i675, label %ehcleanup748, label %if.then.i.i.i.i.i.i676 -if.then.i.i.i.i.i.i643: ; preds = %arraydestroy.body511 +if.then.i.i.i.i.i.i676: ; preds = %arraydestroy.body511 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element513.val) #31 br label %ehcleanup748 @@ -162146,13 +162150,13 @@ lpad534.body: ; preds = %invoke.cont535 cleanup br label %arraydestroy.body546 -arraydestroy.body546: ; preds = %lpad534.body.thread1000, %lpad534.body - %eh.lpad-body4221005 = phi { ptr, i32 } [ %76, %lpad534.body.thread1000 ], [ %466, %lpad534.body ] +arraydestroy.body546: ; preds = %lpad534.body.thread1033, %lpad534.body + %eh.lpad-body4481038 = phi { ptr, i32 } [ %76, %lpad534.body.thread1033 ], [ %466, %lpad534.body ] %arraydestroy.element548.val = load ptr, ptr %ref.tmp524, align 8 - %tobool.not.i.i.i.i.i.i645 = icmp eq ptr %arraydestroy.element548.val, null - br i1 %tobool.not.i.i.i.i.i.i645, label %ehcleanup734, label %if.then.i.i.i.i.i.i646 + %tobool.not.i.i.i.i.i.i678 = icmp eq ptr %arraydestroy.element548.val, null + br i1 %tobool.not.i.i.i.i.i.i678, label %ehcleanup734, label %if.then.i.i.i.i.i.i679 -if.then.i.i.i.i.i.i646: ; preds = %arraydestroy.body546 +if.then.i.i.i.i.i.i679: ; preds = %arraydestroy.body546 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element548.val) #31 br label %ehcleanup734 @@ -162161,13 +162165,13 @@ lpad569.body: ; preds = %invoke.cont570 cleanup br label %arraydestroy.body581 -arraydestroy.body581: ; preds = %lpad569.body.thread1009, %lpad569.body - %eh.lpad-body4501014 = phi { ptr, i32 } [ %82, %lpad569.body.thread1009 ], [ %467, %lpad569.body ] +arraydestroy.body581: ; preds = %lpad569.body.thread1042, %lpad569.body + %eh.lpad-body4781047 = phi { ptr, i32 } [ %82, %lpad569.body.thread1042 ], [ %467, %lpad569.body ] %arraydestroy.element583.val = load ptr, ptr %ref.tmp559, align 8 - %tobool.not.i.i.i.i.i.i648 = icmp eq ptr %arraydestroy.element583.val, null - br i1 %tobool.not.i.i.i.i.i.i648, label %ehcleanup720, label %if.then.i.i.i.i.i.i649 + %tobool.not.i.i.i.i.i.i681 = icmp eq ptr %arraydestroy.element583.val, null + br i1 %tobool.not.i.i.i.i.i.i681, label %ehcleanup720, label %if.then.i.i.i.i.i.i682 -if.then.i.i.i.i.i.i649: ; preds = %arraydestroy.body581 +if.then.i.i.i.i.i.i682: ; preds = %arraydestroy.body581 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element583.val) #31 br label %ehcleanup720 @@ -162176,13 +162180,13 @@ lpad604.body: ; preds = %invoke.cont605 cleanup br label %arraydestroy.body616 -arraydestroy.body616: ; preds = %lpad604.body.thread1018, %lpad604.body - %eh.lpad-body4781023 = phi { ptr, i32 } [ %88, %lpad604.body.thread1018 ], [ %468, %lpad604.body ] +arraydestroy.body616: ; preds = %lpad604.body.thread1051, %lpad604.body + %eh.lpad-body5081056 = phi { ptr, i32 } [ %88, %lpad604.body.thread1051 ], [ %468, %lpad604.body ] %arraydestroy.element618.val = load ptr, ptr %ref.tmp594, align 8 - %tobool.not.i.i.i.i.i.i651 = icmp eq ptr %arraydestroy.element618.val, null - br i1 %tobool.not.i.i.i.i.i.i651, label %ehcleanup706, label %if.then.i.i.i.i.i.i652 + %tobool.not.i.i.i.i.i.i684 = icmp eq ptr %arraydestroy.element618.val, null + br i1 %tobool.not.i.i.i.i.i.i684, label %ehcleanup706, label %if.then.i.i.i.i.i.i685 -if.then.i.i.i.i.i.i652: ; preds = %arraydestroy.body616 +if.then.i.i.i.i.i.i685: ; preds = %arraydestroy.body616 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element618.val) #31 br label %ehcleanup706 @@ -162191,13 +162195,13 @@ lpad639.body: ; preds = %invoke.cont640 cleanup br label %arraydestroy.body651 -arraydestroy.body651: ; preds = %lpad639.body.thread1027, %lpad639.body - %eh.lpad-body5061032 = phi { ptr, i32 } [ %94, %lpad639.body.thread1027 ], [ %469, %lpad639.body ] +arraydestroy.body651: ; preds = %lpad639.body.thread1060, %lpad639.body + %eh.lpad-body5381065 = phi { ptr, i32 } [ %94, %lpad639.body.thread1060 ], [ %469, %lpad639.body ] %arraydestroy.element653.val = load ptr, ptr %ref.tmp629, align 8 - %tobool.not.i.i.i.i.i.i654 = icmp eq ptr %arraydestroy.element653.val, null - br i1 %tobool.not.i.i.i.i.i.i654, label %ehcleanup692, label %if.then.i.i.i.i.i.i655 + %tobool.not.i.i.i.i.i.i687 = icmp eq ptr %arraydestroy.element653.val, null + br i1 %tobool.not.i.i.i.i.i.i687, label %ehcleanup692, label %if.then.i.i.i.i.i.i688 -if.then.i.i.i.i.i.i655: ; preds = %arraydestroy.body651 +if.then.i.i.i.i.i.i688: ; preds = %arraydestroy.body651 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element653.val) #31 br label %ehcleanup692 @@ -162207,7 +162211,7 @@ lpad666: ; preds = %invoke.cont661 br label %lpad666.body lpad666.body: ; preds = %lpad.body.i, %if.then.i.i6.i, %lpad666 - %eh.lpad-body529 = phi { ptr, i32 } [ %470, %lpad666 ], [ %100, %if.then.i.i6.i ], [ %100, %lpad.body.i ] + %eh.lpad-body562 = phi { ptr, i32 } [ %470, %lpad666 ], [ %100, %if.then.i.i6.i ], [ %100, %lpad.body.i ] %471 = getelementptr inbounds %"class.std::vector.661", ptr %ref.tmp, i64 23 br label %arraydestroy.body674 @@ -162218,463 +162222,463 @@ arraydestroy.body674: ; preds = %arraydestroy.body67 %arraydestroy.done677 = icmp eq ptr %arraydestroy.element676, %ref.tmp br i1 %arraydestroy.done677, label %ehcleanup, label %arraydestroy.body674 -ehcleanup: ; preds = %arraydestroy.body674, %if.then.i.i.i523, %lpad.i520 - %.pn = phi { ptr, i32 } [ %96, %if.then.i.i.i523 ], [ %96, %lpad.i520 ], [ %eh.lpad-body529, %arraydestroy.body674 ] - %cleanup.isactive.0 = phi i1 [ true, %if.then.i.i.i523 ], [ true, %lpad.i520 ], [ false, %arraydestroy.body674 ] +ehcleanup: ; preds = %arraydestroy.body674, %if.then.i.i.i556, %lpad.i553 + %.pn = phi { ptr, i32 } [ %96, %if.then.i.i.i556 ], [ %96, %lpad.i553 ], [ %eh.lpad-body562, %arraydestroy.body674 ] + %cleanup.isactive.0 = phi i1 [ true, %if.then.i.i.i556 ], [ true, %lpad.i553 ], [ false, %arraydestroy.body674 ] br label %arraydestroy.body687 -arraydestroy.body687: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659, %ehcleanup - %arraydestroy.elementPast688 = phi ptr [ %add.ptr.i.i519, %ehcleanup ], [ %arraydestroy.element689, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659 ] +arraydestroy.body687: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692, %ehcleanup + %arraydestroy.elementPast688 = phi ptr [ %add.ptr.i.i552, %ehcleanup ], [ %arraydestroy.element689, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 ] %arraydestroy.element689 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast688, i64 -1 %arraydestroy.element689.val = load ptr, ptr %arraydestroy.element689, align 8 - %tobool.not.i.i.i.i.i.i657 = icmp eq ptr %arraydestroy.element689.val, null - br i1 %tobool.not.i.i.i.i.i.i657, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659, label %if.then.i.i.i.i.i.i658 + %tobool.not.i.i.i.i.i.i690 = icmp eq ptr %arraydestroy.element689.val, null + br i1 %tobool.not.i.i.i.i.i.i690, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692, label %if.then.i.i.i.i.i.i691 -if.then.i.i.i.i.i.i658: ; preds = %arraydestroy.body687 +if.then.i.i.i.i.i.i691: ; preds = %arraydestroy.body687 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element689.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659: ; preds = %arraydestroy.body687, %if.then.i.i.i.i.i.i658 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692: ; preds = %arraydestroy.body687, %if.then.i.i.i.i.i.i691 %arraydestroy.done690 = icmp eq ptr %arraydestroy.element689, %ref.tmp629 br i1 %arraydestroy.done690, label %ehcleanup692, label %arraydestroy.body687 -ehcleanup692: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659, %arraydestroy.body651, %if.then.i.i.i.i.i.i655, %lpad639.body.thread1033, %lpad639.body.thread, %if.then.i.i.i495, %lpad.i492 - %.pn.pn = phi { ptr, i32 } [ %90, %if.then.i.i.i495 ], [ %90, %lpad.i492 ], [ %92, %lpad639.body.thread ], [ %91, %lpad639.body.thread1033 ], [ %eh.lpad-body5061032, %if.then.i.i.i.i.i.i655 ], [ %eh.lpad-body5061032, %arraydestroy.body651 ], [ %.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element592, %if.then.i.i.i495 ], [ %arrayinit.element592, %lpad.i492 ], [ %arrayinit.element627, %lpad639.body.thread ], [ %arrayinit.element627, %lpad639.body.thread1033 ], [ %arrayinit.element627, %if.then.i.i.i.i.i.i655 ], [ %arrayinit.element627, %arraydestroy.body651 ], [ %arrayinit.element627, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659 ] - %cleanup.isactive.1 = phi i1 [ true, %if.then.i.i.i495 ], [ true, %lpad.i492 ], [ true, %lpad639.body.thread ], [ true, %lpad639.body.thread1033 ], [ true, %if.then.i.i.i.i.i.i655 ], [ true, %arraydestroy.body651 ], [ %cleanup.isactive.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit659 ] +ehcleanup692: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692, %arraydestroy.body651, %if.then.i.i.i.i.i.i688, %lpad639.body.thread1066, %lpad639.body.thread, %if.then.i.i.i526, %lpad.i523 + %.pn.pn = phi { ptr, i32 } [ %90, %if.then.i.i.i526 ], [ %90, %lpad.i523 ], [ %92, %lpad639.body.thread ], [ %91, %lpad639.body.thread1066 ], [ %eh.lpad-body5381065, %if.then.i.i.i.i.i.i688 ], [ %eh.lpad-body5381065, %arraydestroy.body651 ], [ %.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element592, %if.then.i.i.i526 ], [ %arrayinit.element592, %lpad.i523 ], [ %arrayinit.element627, %lpad639.body.thread ], [ %arrayinit.element627, %lpad639.body.thread1066 ], [ %arrayinit.element627, %if.then.i.i.i.i.i.i688 ], [ %arrayinit.element627, %arraydestroy.body651 ], [ %arrayinit.element627, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 ] + %cleanup.isactive.1 = phi i1 [ true, %if.then.i.i.i526 ], [ true, %lpad.i523 ], [ true, %lpad639.body.thread ], [ true, %lpad639.body.thread1066 ], [ true, %if.then.i.i.i.i.i.i688 ], [ true, %arraydestroy.body651 ], [ %cleanup.isactive.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 ] br label %arraydestroy.body701 -arraydestroy.body701: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662, %ehcleanup692 - %arraydestroy.elementPast702 = phi ptr [ %add.ptr.i.i491, %ehcleanup692 ], [ %arraydestroy.element703, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662 ] +arraydestroy.body701: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695, %ehcleanup692 + %arraydestroy.elementPast702 = phi ptr [ %add.ptr.i.i522, %ehcleanup692 ], [ %arraydestroy.element703, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 ] %arraydestroy.element703 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast702, i64 -1 %arraydestroy.element703.val = load ptr, ptr %arraydestroy.element703, align 8 - %tobool.not.i.i.i.i.i.i660 = icmp eq ptr %arraydestroy.element703.val, null - br i1 %tobool.not.i.i.i.i.i.i660, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662, label %if.then.i.i.i.i.i.i661 + %tobool.not.i.i.i.i.i.i693 = icmp eq ptr %arraydestroy.element703.val, null + br i1 %tobool.not.i.i.i.i.i.i693, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695, label %if.then.i.i.i.i.i.i694 -if.then.i.i.i.i.i.i661: ; preds = %arraydestroy.body701 +if.then.i.i.i.i.i.i694: ; preds = %arraydestroy.body701 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element703.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662: ; preds = %arraydestroy.body701, %if.then.i.i.i.i.i.i661 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695: ; preds = %arraydestroy.body701, %if.then.i.i.i.i.i.i694 %arraydestroy.done704 = icmp eq ptr %arraydestroy.element703, %ref.tmp594 br i1 %arraydestroy.done704, label %ehcleanup706, label %arraydestroy.body701 -ehcleanup706: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662, %arraydestroy.body616, %if.then.i.i.i.i.i.i652, %lpad604.body.thread1024, %lpad604.body.thread, %if.then.i.i.i467, %lpad.i464 - %.pn.pn.pn = phi { ptr, i32 } [ %84, %if.then.i.i.i467 ], [ %84, %lpad.i464 ], [ %86, %lpad604.body.thread ], [ %85, %lpad604.body.thread1024 ], [ %eh.lpad-body4781023, %if.then.i.i.i.i.i.i652 ], [ %eh.lpad-body4781023, %arraydestroy.body616 ], [ %.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662 ] - %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element557, %if.then.i.i.i467 ], [ %arrayinit.element557, %lpad.i464 ], [ %arrayinit.element592, %lpad604.body.thread ], [ %arrayinit.element592, %lpad604.body.thread1024 ], [ %arrayinit.element592, %if.then.i.i.i.i.i.i652 ], [ %arrayinit.element592, %arraydestroy.body616 ], [ %arrayinit.endOfInit.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662 ] - %cleanup.isactive.2 = phi i1 [ true, %if.then.i.i.i467 ], [ true, %lpad.i464 ], [ true, %lpad604.body.thread ], [ true, %lpad604.body.thread1024 ], [ true, %if.then.i.i.i.i.i.i652 ], [ true, %arraydestroy.body616 ], [ %cleanup.isactive.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit662 ] +ehcleanup706: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695, %arraydestroy.body616, %if.then.i.i.i.i.i.i685, %lpad604.body.thread1057, %lpad604.body.thread, %if.then.i.i.i496, %lpad.i493 + %.pn.pn.pn = phi { ptr, i32 } [ %84, %if.then.i.i.i496 ], [ %84, %lpad.i493 ], [ %86, %lpad604.body.thread ], [ %85, %lpad604.body.thread1057 ], [ %eh.lpad-body5081056, %if.then.i.i.i.i.i.i685 ], [ %eh.lpad-body5081056, %arraydestroy.body616 ], [ %.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 ] + %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element557, %if.then.i.i.i496 ], [ %arrayinit.element557, %lpad.i493 ], [ %arrayinit.element592, %lpad604.body.thread ], [ %arrayinit.element592, %lpad604.body.thread1057 ], [ %arrayinit.element592, %if.then.i.i.i.i.i.i685 ], [ %arrayinit.element592, %arraydestroy.body616 ], [ %arrayinit.endOfInit.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 ] + %cleanup.isactive.2 = phi i1 [ true, %if.then.i.i.i496 ], [ true, %lpad.i493 ], [ true, %lpad604.body.thread ], [ true, %lpad604.body.thread1057 ], [ true, %if.then.i.i.i.i.i.i685 ], [ true, %arraydestroy.body616 ], [ %cleanup.isactive.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 ] br label %arraydestroy.body715 -arraydestroy.body715: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665, %ehcleanup706 - %arraydestroy.elementPast716 = phi ptr [ %add.ptr.i.i463, %ehcleanup706 ], [ %arraydestroy.element717, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665 ] +arraydestroy.body715: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698, %ehcleanup706 + %arraydestroy.elementPast716 = phi ptr [ %add.ptr.i.i492, %ehcleanup706 ], [ %arraydestroy.element717, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 ] %arraydestroy.element717 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast716, i64 -1 %arraydestroy.element717.val = load ptr, ptr %arraydestroy.element717, align 8 - %tobool.not.i.i.i.i.i.i663 = icmp eq ptr %arraydestroy.element717.val, null - br i1 %tobool.not.i.i.i.i.i.i663, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665, label %if.then.i.i.i.i.i.i664 + %tobool.not.i.i.i.i.i.i696 = icmp eq ptr %arraydestroy.element717.val, null + br i1 %tobool.not.i.i.i.i.i.i696, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698, label %if.then.i.i.i.i.i.i697 -if.then.i.i.i.i.i.i664: ; preds = %arraydestroy.body715 +if.then.i.i.i.i.i.i697: ; preds = %arraydestroy.body715 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element717.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665: ; preds = %arraydestroy.body715, %if.then.i.i.i.i.i.i664 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698: ; preds = %arraydestroy.body715, %if.then.i.i.i.i.i.i697 %arraydestroy.done718 = icmp eq ptr %arraydestroy.element717, %ref.tmp559 br i1 %arraydestroy.done718, label %ehcleanup720, label %arraydestroy.body715 -ehcleanup720: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665, %arraydestroy.body581, %if.then.i.i.i.i.i.i649, %lpad569.body.thread1015, %lpad569.body.thread, %if.then.i.i.i439, %lpad.i436 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %78, %if.then.i.i.i439 ], [ %78, %lpad.i436 ], [ %80, %lpad569.body.thread ], [ %79, %lpad569.body.thread1015 ], [ %eh.lpad-body4501014, %if.then.i.i.i.i.i.i649 ], [ %eh.lpad-body4501014, %arraydestroy.body581 ], [ %.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665 ] - %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element522, %if.then.i.i.i439 ], [ %arrayinit.element522, %lpad.i436 ], [ %arrayinit.element557, %lpad569.body.thread ], [ %arrayinit.element557, %lpad569.body.thread1015 ], [ %arrayinit.element557, %if.then.i.i.i.i.i.i649 ], [ %arrayinit.element557, %arraydestroy.body581 ], [ %arrayinit.endOfInit.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665 ] - %cleanup.isactive.3 = phi i1 [ true, %if.then.i.i.i439 ], [ true, %lpad.i436 ], [ true, %lpad569.body.thread ], [ true, %lpad569.body.thread1015 ], [ true, %if.then.i.i.i.i.i.i649 ], [ true, %arraydestroy.body581 ], [ %cleanup.isactive.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit665 ] +ehcleanup720: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698, %arraydestroy.body581, %if.then.i.i.i.i.i.i682, %lpad569.body.thread1048, %lpad569.body.thread, %if.then.i.i.i466, %lpad.i463 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %78, %if.then.i.i.i466 ], [ %78, %lpad.i463 ], [ %80, %lpad569.body.thread ], [ %79, %lpad569.body.thread1048 ], [ %eh.lpad-body4781047, %if.then.i.i.i.i.i.i682 ], [ %eh.lpad-body4781047, %arraydestroy.body581 ], [ %.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 ] + %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element522, %if.then.i.i.i466 ], [ %arrayinit.element522, %lpad.i463 ], [ %arrayinit.element557, %lpad569.body.thread ], [ %arrayinit.element557, %lpad569.body.thread1048 ], [ %arrayinit.element557, %if.then.i.i.i.i.i.i682 ], [ %arrayinit.element557, %arraydestroy.body581 ], [ %arrayinit.endOfInit.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 ] + %cleanup.isactive.3 = phi i1 [ true, %if.then.i.i.i466 ], [ true, %lpad.i463 ], [ true, %lpad569.body.thread ], [ true, %lpad569.body.thread1048 ], [ true, %if.then.i.i.i.i.i.i682 ], [ true, %arraydestroy.body581 ], [ %cleanup.isactive.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 ] br label %arraydestroy.body729 -arraydestroy.body729: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668, %ehcleanup720 - %arraydestroy.elementPast730 = phi ptr [ %add.ptr.i.i435, %ehcleanup720 ], [ %arraydestroy.element731, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668 ] +arraydestroy.body729: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701, %ehcleanup720 + %arraydestroy.elementPast730 = phi ptr [ %add.ptr.i.i462, %ehcleanup720 ], [ %arraydestroy.element731, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 ] %arraydestroy.element731 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast730, i64 -1 %arraydestroy.element731.val = load ptr, ptr %arraydestroy.element731, align 8 - %tobool.not.i.i.i.i.i.i666 = icmp eq ptr %arraydestroy.element731.val, null - br i1 %tobool.not.i.i.i.i.i.i666, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668, label %if.then.i.i.i.i.i.i667 + %tobool.not.i.i.i.i.i.i699 = icmp eq ptr %arraydestroy.element731.val, null + br i1 %tobool.not.i.i.i.i.i.i699, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701, label %if.then.i.i.i.i.i.i700 -if.then.i.i.i.i.i.i667: ; preds = %arraydestroy.body729 +if.then.i.i.i.i.i.i700: ; preds = %arraydestroy.body729 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element731.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668: ; preds = %arraydestroy.body729, %if.then.i.i.i.i.i.i667 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701: ; preds = %arraydestroy.body729, %if.then.i.i.i.i.i.i700 %arraydestroy.done732 = icmp eq ptr %arraydestroy.element731, %ref.tmp524 br i1 %arraydestroy.done732, label %ehcleanup734, label %arraydestroy.body729 -ehcleanup734: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668, %arraydestroy.body546, %if.then.i.i.i.i.i.i646, %lpad534.body.thread1006, %lpad534.body.thread, %if.then.i.i.i411, %lpad.i408 - %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %72, %if.then.i.i.i411 ], [ %72, %lpad.i408 ], [ %74, %lpad534.body.thread ], [ %73, %lpad534.body.thread1006 ], [ %eh.lpad-body4221005, %if.then.i.i.i.i.i.i646 ], [ %eh.lpad-body4221005, %arraydestroy.body546 ], [ %.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element487, %if.then.i.i.i411 ], [ %arrayinit.element487, %lpad.i408 ], [ %arrayinit.element522, %lpad534.body.thread ], [ %arrayinit.element522, %lpad534.body.thread1006 ], [ %arrayinit.element522, %if.then.i.i.i.i.i.i646 ], [ %arrayinit.element522, %arraydestroy.body546 ], [ %arrayinit.endOfInit.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668 ] - %cleanup.isactive.4 = phi i1 [ true, %if.then.i.i.i411 ], [ true, %lpad.i408 ], [ true, %lpad534.body.thread ], [ true, %lpad534.body.thread1006 ], [ true, %if.then.i.i.i.i.i.i646 ], [ true, %arraydestroy.body546 ], [ %cleanup.isactive.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit668 ] +ehcleanup734: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701, %arraydestroy.body546, %if.then.i.i.i.i.i.i679, %lpad534.body.thread1039, %lpad534.body.thread, %if.then.i.i.i436, %lpad.i433 + %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %72, %if.then.i.i.i436 ], [ %72, %lpad.i433 ], [ %74, %lpad534.body.thread ], [ %73, %lpad534.body.thread1039 ], [ %eh.lpad-body4481038, %if.then.i.i.i.i.i.i679 ], [ %eh.lpad-body4481038, %arraydestroy.body546 ], [ %.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element487, %if.then.i.i.i436 ], [ %arrayinit.element487, %lpad.i433 ], [ %arrayinit.element522, %lpad534.body.thread ], [ %arrayinit.element522, %lpad534.body.thread1039 ], [ %arrayinit.element522, %if.then.i.i.i.i.i.i679 ], [ %arrayinit.element522, %arraydestroy.body546 ], [ %arrayinit.endOfInit.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 ] + %cleanup.isactive.4 = phi i1 [ true, %if.then.i.i.i436 ], [ true, %lpad.i433 ], [ true, %lpad534.body.thread ], [ true, %lpad534.body.thread1039 ], [ true, %if.then.i.i.i.i.i.i679 ], [ true, %arraydestroy.body546 ], [ %cleanup.isactive.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 ] br label %arraydestroy.body743 -arraydestroy.body743: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671, %ehcleanup734 - %arraydestroy.elementPast744 = phi ptr [ %add.ptr.i.i407, %ehcleanup734 ], [ %arraydestroy.element745, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671 ] +arraydestroy.body743: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704, %ehcleanup734 + %arraydestroy.elementPast744 = phi ptr [ %add.ptr.i.i432, %ehcleanup734 ], [ %arraydestroy.element745, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 ] %arraydestroy.element745 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast744, i64 -1 %arraydestroy.element745.val = load ptr, ptr %arraydestroy.element745, align 8 - %tobool.not.i.i.i.i.i.i669 = icmp eq ptr %arraydestroy.element745.val, null - br i1 %tobool.not.i.i.i.i.i.i669, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671, label %if.then.i.i.i.i.i.i670 + %tobool.not.i.i.i.i.i.i702 = icmp eq ptr %arraydestroy.element745.val, null + br i1 %tobool.not.i.i.i.i.i.i702, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704, label %if.then.i.i.i.i.i.i703 -if.then.i.i.i.i.i.i670: ; preds = %arraydestroy.body743 +if.then.i.i.i.i.i.i703: ; preds = %arraydestroy.body743 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element745.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671: ; preds = %arraydestroy.body743, %if.then.i.i.i.i.i.i670 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704: ; preds = %arraydestroy.body743, %if.then.i.i.i.i.i.i703 %arraydestroy.done746 = icmp eq ptr %arraydestroy.element745, %ref.tmp489 br i1 %arraydestroy.done746, label %ehcleanup748, label %arraydestroy.body743 -ehcleanup748: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671, %arraydestroy.body511, %if.then.i.i.i.i.i.i643, %lpad499.body.thread997, %lpad499.body.thread, %if.then.i.i.i383, %lpad.i380 - %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %66, %if.then.i.i.i383 ], [ %66, %lpad.i380 ], [ %68, %lpad499.body.thread ], [ %67, %lpad499.body.thread997 ], [ %eh.lpad-body394996, %if.then.i.i.i.i.i.i643 ], [ %eh.lpad-body394996, %arraydestroy.body511 ], [ %.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671 ] - %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element452, %if.then.i.i.i383 ], [ %arrayinit.element452, %lpad.i380 ], [ %arrayinit.element487, %lpad499.body.thread ], [ %arrayinit.element487, %lpad499.body.thread997 ], [ %arrayinit.element487, %if.then.i.i.i.i.i.i643 ], [ %arrayinit.element487, %arraydestroy.body511 ], [ %arrayinit.endOfInit.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671 ] - %cleanup.isactive.5 = phi i1 [ true, %if.then.i.i.i383 ], [ true, %lpad.i380 ], [ true, %lpad499.body.thread ], [ true, %lpad499.body.thread997 ], [ true, %if.then.i.i.i.i.i.i643 ], [ true, %arraydestroy.body511 ], [ %cleanup.isactive.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit671 ] +ehcleanup748: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704, %arraydestroy.body511, %if.then.i.i.i.i.i.i676, %lpad499.body.thread1030, %lpad499.body.thread, %if.then.i.i.i406, %lpad.i403 + %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %66, %if.then.i.i.i406 ], [ %66, %lpad.i403 ], [ %68, %lpad499.body.thread ], [ %67, %lpad499.body.thread1030 ], [ %eh.lpad-body4181029, %if.then.i.i.i.i.i.i676 ], [ %eh.lpad-body4181029, %arraydestroy.body511 ], [ %.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 ] + %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element452, %if.then.i.i.i406 ], [ %arrayinit.element452, %lpad.i403 ], [ %arrayinit.element487, %lpad499.body.thread ], [ %arrayinit.element487, %lpad499.body.thread1030 ], [ %arrayinit.element487, %if.then.i.i.i.i.i.i676 ], [ %arrayinit.element487, %arraydestroy.body511 ], [ %arrayinit.endOfInit.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 ] + %cleanup.isactive.5 = phi i1 [ true, %if.then.i.i.i406 ], [ true, %lpad.i403 ], [ true, %lpad499.body.thread ], [ true, %lpad499.body.thread1030 ], [ true, %if.then.i.i.i.i.i.i676 ], [ true, %arraydestroy.body511 ], [ %cleanup.isactive.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 ] br label %arraydestroy.body757 -arraydestroy.body757: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674, %ehcleanup748 - %arraydestroy.elementPast758 = phi ptr [ %add.ptr.i.i379, %ehcleanup748 ], [ %arraydestroy.element759, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674 ] +arraydestroy.body757: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707, %ehcleanup748 + %arraydestroy.elementPast758 = phi ptr [ %add.ptr.i.i402, %ehcleanup748 ], [ %arraydestroy.element759, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 ] %arraydestroy.element759 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast758, i64 -1 %arraydestroy.element759.val = load ptr, ptr %arraydestroy.element759, align 8 - %tobool.not.i.i.i.i.i.i672 = icmp eq ptr %arraydestroy.element759.val, null - br i1 %tobool.not.i.i.i.i.i.i672, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674, label %if.then.i.i.i.i.i.i673 + %tobool.not.i.i.i.i.i.i705 = icmp eq ptr %arraydestroy.element759.val, null + br i1 %tobool.not.i.i.i.i.i.i705, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707, label %if.then.i.i.i.i.i.i706 -if.then.i.i.i.i.i.i673: ; preds = %arraydestroy.body757 +if.then.i.i.i.i.i.i706: ; preds = %arraydestroy.body757 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element759.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674: ; preds = %arraydestroy.body757, %if.then.i.i.i.i.i.i673 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707: ; preds = %arraydestroy.body757, %if.then.i.i.i.i.i.i706 %arraydestroy.done760 = icmp eq ptr %arraydestroy.element759, %ref.tmp454 br i1 %arraydestroy.done760, label %ehcleanup762, label %arraydestroy.body757 -ehcleanup762: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674, %arraydestroy.body476, %if.then.i.i.i.i.i.i640, %lpad464.body.thread988, %lpad464.body.thread, %if.then.i.i.i355, %lpad.i352 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %60, %if.then.i.i.i355 ], [ %60, %lpad.i352 ], [ %62, %lpad464.body.thread ], [ %61, %lpad464.body.thread988 ], [ %eh.lpad-body366987, %if.then.i.i.i.i.i.i640 ], [ %eh.lpad-body366987, %arraydestroy.body476 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674 ] - %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element417, %if.then.i.i.i355 ], [ %arrayinit.element417, %lpad.i352 ], [ %arrayinit.element452, %lpad464.body.thread ], [ %arrayinit.element452, %lpad464.body.thread988 ], [ %arrayinit.element452, %if.then.i.i.i.i.i.i640 ], [ %arrayinit.element452, %arraydestroy.body476 ], [ %arrayinit.endOfInit.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674 ] - %cleanup.isactive.6 = phi i1 [ true, %if.then.i.i.i355 ], [ true, %lpad.i352 ], [ true, %lpad464.body.thread ], [ true, %lpad464.body.thread988 ], [ true, %if.then.i.i.i.i.i.i640 ], [ true, %arraydestroy.body476 ], [ %cleanup.isactive.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit674 ] +ehcleanup762: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707, %arraydestroy.body476, %if.then.i.i.i.i.i.i673, %lpad464.body.thread1021, %lpad464.body.thread, %if.then.i.i.i376, %lpad.i373 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %60, %if.then.i.i.i376 ], [ %60, %lpad.i373 ], [ %62, %lpad464.body.thread ], [ %61, %lpad464.body.thread1021 ], [ %eh.lpad-body3881020, %if.then.i.i.i.i.i.i673 ], [ %eh.lpad-body3881020, %arraydestroy.body476 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 ] + %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element417, %if.then.i.i.i376 ], [ %arrayinit.element417, %lpad.i373 ], [ %arrayinit.element452, %lpad464.body.thread ], [ %arrayinit.element452, %lpad464.body.thread1021 ], [ %arrayinit.element452, %if.then.i.i.i.i.i.i673 ], [ %arrayinit.element452, %arraydestroy.body476 ], [ %arrayinit.endOfInit.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 ] + %cleanup.isactive.6 = phi i1 [ true, %if.then.i.i.i376 ], [ true, %lpad.i373 ], [ true, %lpad464.body.thread ], [ true, %lpad464.body.thread1021 ], [ true, %if.then.i.i.i.i.i.i673 ], [ true, %arraydestroy.body476 ], [ %cleanup.isactive.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 ] br label %arraydestroy.body771 -arraydestroy.body771: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677, %ehcleanup762 - %arraydestroy.elementPast772 = phi ptr [ %add.ptr.i.i351, %ehcleanup762 ], [ %arraydestroy.element773, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677 ] +arraydestroy.body771: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710, %ehcleanup762 + %arraydestroy.elementPast772 = phi ptr [ %add.ptr.i.i372, %ehcleanup762 ], [ %arraydestroy.element773, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 ] %arraydestroy.element773 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast772, i64 -1 %arraydestroy.element773.val = load ptr, ptr %arraydestroy.element773, align 8 - %tobool.not.i.i.i.i.i.i675 = icmp eq ptr %arraydestroy.element773.val, null - br i1 %tobool.not.i.i.i.i.i.i675, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677, label %if.then.i.i.i.i.i.i676 + %tobool.not.i.i.i.i.i.i708 = icmp eq ptr %arraydestroy.element773.val, null + br i1 %tobool.not.i.i.i.i.i.i708, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710, label %if.then.i.i.i.i.i.i709 -if.then.i.i.i.i.i.i676: ; preds = %arraydestroy.body771 +if.then.i.i.i.i.i.i709: ; preds = %arraydestroy.body771 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element773.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677: ; preds = %arraydestroy.body771, %if.then.i.i.i.i.i.i676 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710: ; preds = %arraydestroy.body771, %if.then.i.i.i.i.i.i709 %arraydestroy.done774 = icmp eq ptr %arraydestroy.element773, %ref.tmp419 br i1 %arraydestroy.done774, label %ehcleanup776, label %arraydestroy.body771 -ehcleanup776: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677, %arraydestroy.body441, %if.then.i.i.i.i.i.i637, %lpad429.body.thread979, %lpad429.body.thread, %if.then.i.i.i327, %lpad.i324 - %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %54, %if.then.i.i.i327 ], [ %54, %lpad.i324 ], [ %56, %lpad429.body.thread ], [ %55, %lpad429.body.thread979 ], [ %eh.lpad-body338978, %if.then.i.i.i.i.i.i637 ], [ %eh.lpad-body338978, %arraydestroy.body441 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element382, %if.then.i.i.i327 ], [ %arrayinit.element382, %lpad.i324 ], [ %arrayinit.element417, %lpad429.body.thread ], [ %arrayinit.element417, %lpad429.body.thread979 ], [ %arrayinit.element417, %if.then.i.i.i.i.i.i637 ], [ %arrayinit.element417, %arraydestroy.body441 ], [ %arrayinit.endOfInit.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677 ] - %cleanup.isactive.7 = phi i1 [ true, %if.then.i.i.i327 ], [ true, %lpad.i324 ], [ true, %lpad429.body.thread ], [ true, %lpad429.body.thread979 ], [ true, %if.then.i.i.i.i.i.i637 ], [ true, %arraydestroy.body441 ], [ %cleanup.isactive.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit677 ] +ehcleanup776: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710, %arraydestroy.body441, %if.then.i.i.i.i.i.i670, %lpad429.body.thread1012, %lpad429.body.thread, %if.then.i.i.i346, %lpad.i343 + %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %54, %if.then.i.i.i346 ], [ %54, %lpad.i343 ], [ %56, %lpad429.body.thread ], [ %55, %lpad429.body.thread1012 ], [ %eh.lpad-body3581011, %if.then.i.i.i.i.i.i670 ], [ %eh.lpad-body3581011, %arraydestroy.body441 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element382, %if.then.i.i.i346 ], [ %arrayinit.element382, %lpad.i343 ], [ %arrayinit.element417, %lpad429.body.thread ], [ %arrayinit.element417, %lpad429.body.thread1012 ], [ %arrayinit.element417, %if.then.i.i.i.i.i.i670 ], [ %arrayinit.element417, %arraydestroy.body441 ], [ %arrayinit.endOfInit.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 ] + %cleanup.isactive.7 = phi i1 [ true, %if.then.i.i.i346 ], [ true, %lpad.i343 ], [ true, %lpad429.body.thread ], [ true, %lpad429.body.thread1012 ], [ true, %if.then.i.i.i.i.i.i670 ], [ true, %arraydestroy.body441 ], [ %cleanup.isactive.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 ] br label %arraydestroy.body785 -arraydestroy.body785: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680, %ehcleanup776 - %arraydestroy.elementPast786 = phi ptr [ %add.ptr.i.i323, %ehcleanup776 ], [ %arraydestroy.element787, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680 ] +arraydestroy.body785: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713, %ehcleanup776 + %arraydestroy.elementPast786 = phi ptr [ %add.ptr.i.i342, %ehcleanup776 ], [ %arraydestroy.element787, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713 ] %arraydestroy.element787 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast786, i64 -1 %arraydestroy.element787.val = load ptr, ptr %arraydestroy.element787, align 8 - %tobool.not.i.i.i.i.i.i678 = icmp eq ptr %arraydestroy.element787.val, null - br i1 %tobool.not.i.i.i.i.i.i678, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680, label %if.then.i.i.i.i.i.i679 + %tobool.not.i.i.i.i.i.i711 = icmp eq ptr %arraydestroy.element787.val, null + br i1 %tobool.not.i.i.i.i.i.i711, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713, label %if.then.i.i.i.i.i.i712 -if.then.i.i.i.i.i.i679: ; preds = %arraydestroy.body785 +if.then.i.i.i.i.i.i712: ; preds = %arraydestroy.body785 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element787.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680: ; preds = %arraydestroy.body785, %if.then.i.i.i.i.i.i679 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713: ; preds = %arraydestroy.body785, %if.then.i.i.i.i.i.i712 %arraydestroy.done788 = icmp eq ptr %arraydestroy.element787, %ref.tmp384 br i1 %arraydestroy.done788, label %ehcleanup790, label %arraydestroy.body785 -ehcleanup790: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680, %arraydestroy.body406, %if.then.i.i.i.i.i.i634, %lpad394.body.thread970, %lpad394.body.thread, %if.then.i.i.i299, %lpad.i296 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %48, %if.then.i.i.i299 ], [ %48, %lpad.i296 ], [ %50, %lpad394.body.thread ], [ %49, %lpad394.body.thread970 ], [ %eh.lpad-body310969, %if.then.i.i.i.i.i.i634 ], [ %eh.lpad-body310969, %arraydestroy.body406 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680 ] - %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element347, %if.then.i.i.i299 ], [ %arrayinit.element347, %lpad.i296 ], [ %arrayinit.element382, %lpad394.body.thread ], [ %arrayinit.element382, %lpad394.body.thread970 ], [ %arrayinit.element382, %if.then.i.i.i.i.i.i634 ], [ %arrayinit.element382, %arraydestroy.body406 ], [ %arrayinit.endOfInit.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680 ] - %cleanup.isactive.8 = phi i1 [ true, %if.then.i.i.i299 ], [ true, %lpad.i296 ], [ true, %lpad394.body.thread ], [ true, %lpad394.body.thread970 ], [ true, %if.then.i.i.i.i.i.i634 ], [ true, %arraydestroy.body406 ], [ %cleanup.isactive.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit680 ] +ehcleanup790: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713, %arraydestroy.body406, %if.then.i.i.i.i.i.i667, %lpad394.body.thread1003, %lpad394.body.thread, %if.then.i.i.i316, %lpad.i313 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %48, %if.then.i.i.i316 ], [ %48, %lpad.i313 ], [ %50, %lpad394.body.thread ], [ %49, %lpad394.body.thread1003 ], [ %eh.lpad-body3281002, %if.then.i.i.i.i.i.i667 ], [ %eh.lpad-body3281002, %arraydestroy.body406 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713 ] + %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element347, %if.then.i.i.i316 ], [ %arrayinit.element347, %lpad.i313 ], [ %arrayinit.element382, %lpad394.body.thread ], [ %arrayinit.element382, %lpad394.body.thread1003 ], [ %arrayinit.element382, %if.then.i.i.i.i.i.i667 ], [ %arrayinit.element382, %arraydestroy.body406 ], [ %arrayinit.endOfInit.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713 ] + %cleanup.isactive.8 = phi i1 [ true, %if.then.i.i.i316 ], [ true, %lpad.i313 ], [ true, %lpad394.body.thread ], [ true, %lpad394.body.thread1003 ], [ true, %if.then.i.i.i.i.i.i667 ], [ true, %arraydestroy.body406 ], [ %cleanup.isactive.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit713 ] br label %arraydestroy.body799 -arraydestroy.body799: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683, %ehcleanup790 - %arraydestroy.elementPast800 = phi ptr [ %add.ptr.i.i295, %ehcleanup790 ], [ %arraydestroy.element801, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683 ] +arraydestroy.body799: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716, %ehcleanup790 + %arraydestroy.elementPast800 = phi ptr [ %add.ptr.i.i312, %ehcleanup790 ], [ %arraydestroy.element801, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 ] %arraydestroy.element801 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast800, i64 -1 %arraydestroy.element801.val = load ptr, ptr %arraydestroy.element801, align 8 - %tobool.not.i.i.i.i.i.i681 = icmp eq ptr %arraydestroy.element801.val, null - br i1 %tobool.not.i.i.i.i.i.i681, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683, label %if.then.i.i.i.i.i.i682 + %tobool.not.i.i.i.i.i.i714 = icmp eq ptr %arraydestroy.element801.val, null + br i1 %tobool.not.i.i.i.i.i.i714, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716, label %if.then.i.i.i.i.i.i715 -if.then.i.i.i.i.i.i682: ; preds = %arraydestroy.body799 +if.then.i.i.i.i.i.i715: ; preds = %arraydestroy.body799 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element801.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683: ; preds = %arraydestroy.body799, %if.then.i.i.i.i.i.i682 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716: ; preds = %arraydestroy.body799, %if.then.i.i.i.i.i.i715 %arraydestroy.done802 = icmp eq ptr %arraydestroy.element801, %ref.tmp349 br i1 %arraydestroy.done802, label %ehcleanup804, label %arraydestroy.body799 -ehcleanup804: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683, %arraydestroy.body371, %if.then.i.i.i.i.i.i631, %lpad359.body.thread961, %lpad359.body.thread, %if.then.i.i.i271, %lpad.i268 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %42, %if.then.i.i.i271 ], [ %42, %lpad.i268 ], [ %44, %lpad359.body.thread ], [ %43, %lpad359.body.thread961 ], [ %eh.lpad-body282960, %if.then.i.i.i.i.i.i631 ], [ %eh.lpad-body282960, %arraydestroy.body371 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683 ] - %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element312, %if.then.i.i.i271 ], [ %arrayinit.element312, %lpad.i268 ], [ %arrayinit.element347, %lpad359.body.thread ], [ %arrayinit.element347, %lpad359.body.thread961 ], [ %arrayinit.element347, %if.then.i.i.i.i.i.i631 ], [ %arrayinit.element347, %arraydestroy.body371 ], [ %arrayinit.endOfInit.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683 ] - %cleanup.isactive.9 = phi i1 [ true, %if.then.i.i.i271 ], [ true, %lpad.i268 ], [ true, %lpad359.body.thread ], [ true, %lpad359.body.thread961 ], [ true, %if.then.i.i.i.i.i.i631 ], [ true, %arraydestroy.body371 ], [ %cleanup.isactive.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit683 ] +ehcleanup804: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716, %arraydestroy.body371, %if.then.i.i.i.i.i.i664, %lpad359.body.thread994, %lpad359.body.thread, %if.then.i.i.i286, %lpad.i283 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %42, %if.then.i.i.i286 ], [ %42, %lpad.i283 ], [ %44, %lpad359.body.thread ], [ %43, %lpad359.body.thread994 ], [ %eh.lpad-body298993, %if.then.i.i.i.i.i.i664 ], [ %eh.lpad-body298993, %arraydestroy.body371 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 ] + %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element312, %if.then.i.i.i286 ], [ %arrayinit.element312, %lpad.i283 ], [ %arrayinit.element347, %lpad359.body.thread ], [ %arrayinit.element347, %lpad359.body.thread994 ], [ %arrayinit.element347, %if.then.i.i.i.i.i.i664 ], [ %arrayinit.element347, %arraydestroy.body371 ], [ %arrayinit.endOfInit.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 ] + %cleanup.isactive.9 = phi i1 [ true, %if.then.i.i.i286 ], [ true, %lpad.i283 ], [ true, %lpad359.body.thread ], [ true, %lpad359.body.thread994 ], [ true, %if.then.i.i.i.i.i.i664 ], [ true, %arraydestroy.body371 ], [ %cleanup.isactive.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 ] br label %arraydestroy.body813 -arraydestroy.body813: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686, %ehcleanup804 - %arraydestroy.elementPast814 = phi ptr [ %add.ptr.i.i267, %ehcleanup804 ], [ %arraydestroy.element815, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686 ] +arraydestroy.body813: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719, %ehcleanup804 + %arraydestroy.elementPast814 = phi ptr [ %add.ptr.i.i282, %ehcleanup804 ], [ %arraydestroy.element815, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 ] %arraydestroy.element815 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast814, i64 -1 %arraydestroy.element815.val = load ptr, ptr %arraydestroy.element815, align 8 - %tobool.not.i.i.i.i.i.i684 = icmp eq ptr %arraydestroy.element815.val, null - br i1 %tobool.not.i.i.i.i.i.i684, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686, label %if.then.i.i.i.i.i.i685 + %tobool.not.i.i.i.i.i.i717 = icmp eq ptr %arraydestroy.element815.val, null + br i1 %tobool.not.i.i.i.i.i.i717, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719, label %if.then.i.i.i.i.i.i718 -if.then.i.i.i.i.i.i685: ; preds = %arraydestroy.body813 +if.then.i.i.i.i.i.i718: ; preds = %arraydestroy.body813 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element815.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686: ; preds = %arraydestroy.body813, %if.then.i.i.i.i.i.i685 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719: ; preds = %arraydestroy.body813, %if.then.i.i.i.i.i.i718 %arraydestroy.done816 = icmp eq ptr %arraydestroy.element815, %ref.tmp314 br i1 %arraydestroy.done816, label %ehcleanup818, label %arraydestroy.body813 -ehcleanup818: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686, %arraydestroy.body336, %if.then.i.i.i.i.i.i628, %lpad324.body.thread952, %lpad324.body.thread, %if.then.i.i.i243, %lpad.i240 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %36, %if.then.i.i.i243 ], [ %36, %lpad.i240 ], [ %38, %lpad324.body.thread ], [ %37, %lpad324.body.thread952 ], [ %eh.lpad-body254951, %if.then.i.i.i.i.i.i628 ], [ %eh.lpad-body254951, %arraydestroy.body336 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element277, %if.then.i.i.i243 ], [ %arrayinit.element277, %lpad.i240 ], [ %arrayinit.element312, %lpad324.body.thread ], [ %arrayinit.element312, %lpad324.body.thread952 ], [ %arrayinit.element312, %if.then.i.i.i.i.i.i628 ], [ %arrayinit.element312, %arraydestroy.body336 ], [ %arrayinit.endOfInit.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686 ] - %cleanup.isactive.10 = phi i1 [ true, %if.then.i.i.i243 ], [ true, %lpad.i240 ], [ true, %lpad324.body.thread ], [ true, %lpad324.body.thread952 ], [ true, %if.then.i.i.i.i.i.i628 ], [ true, %arraydestroy.body336 ], [ %cleanup.isactive.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit686 ] +ehcleanup818: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719, %arraydestroy.body336, %if.then.i.i.i.i.i.i661, %lpad324.body.thread985, %lpad324.body.thread, %if.then.i.i.i256, %lpad.i253 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %36, %if.then.i.i.i256 ], [ %36, %lpad.i253 ], [ %38, %lpad324.body.thread ], [ %37, %lpad324.body.thread985 ], [ %eh.lpad-body268984, %if.then.i.i.i.i.i.i661 ], [ %eh.lpad-body268984, %arraydestroy.body336 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element277, %if.then.i.i.i256 ], [ %arrayinit.element277, %lpad.i253 ], [ %arrayinit.element312, %lpad324.body.thread ], [ %arrayinit.element312, %lpad324.body.thread985 ], [ %arrayinit.element312, %if.then.i.i.i.i.i.i661 ], [ %arrayinit.element312, %arraydestroy.body336 ], [ %arrayinit.endOfInit.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 ] + %cleanup.isactive.10 = phi i1 [ true, %if.then.i.i.i256 ], [ true, %lpad.i253 ], [ true, %lpad324.body.thread ], [ true, %lpad324.body.thread985 ], [ true, %if.then.i.i.i.i.i.i661 ], [ true, %arraydestroy.body336 ], [ %cleanup.isactive.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 ] br label %arraydestroy.body827 -arraydestroy.body827: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689, %ehcleanup818 - %arraydestroy.elementPast828 = phi ptr [ %add.ptr.i.i239, %ehcleanup818 ], [ %arraydestroy.element829, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689 ] +arraydestroy.body827: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722, %ehcleanup818 + %arraydestroy.elementPast828 = phi ptr [ %add.ptr.i.i252, %ehcleanup818 ], [ %arraydestroy.element829, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722 ] %arraydestroy.element829 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast828, i64 -1 %arraydestroy.element829.val = load ptr, ptr %arraydestroy.element829, align 8 - %tobool.not.i.i.i.i.i.i687 = icmp eq ptr %arraydestroy.element829.val, null - br i1 %tobool.not.i.i.i.i.i.i687, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689, label %if.then.i.i.i.i.i.i688 + %tobool.not.i.i.i.i.i.i720 = icmp eq ptr %arraydestroy.element829.val, null + br i1 %tobool.not.i.i.i.i.i.i720, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722, label %if.then.i.i.i.i.i.i721 -if.then.i.i.i.i.i.i688: ; preds = %arraydestroy.body827 +if.then.i.i.i.i.i.i721: ; preds = %arraydestroy.body827 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element829.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689: ; preds = %arraydestroy.body827, %if.then.i.i.i.i.i.i688 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722: ; preds = %arraydestroy.body827, %if.then.i.i.i.i.i.i721 %arraydestroy.done830 = icmp eq ptr %arraydestroy.element829, %ref.tmp279 br i1 %arraydestroy.done830, label %ehcleanup832, label %arraydestroy.body827 -ehcleanup832: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689, %arraydestroy.body301, %if.then.i.i.i.i.i.i625, %lpad289.body.thread943, %lpad289.body.thread, %if.then.i.i.i215, %lpad.i212 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %30, %if.then.i.i.i215 ], [ %30, %lpad.i212 ], [ %32, %lpad289.body.thread ], [ %31, %lpad289.body.thread943 ], [ %eh.lpad-body226942, %if.then.i.i.i.i.i.i625 ], [ %eh.lpad-body226942, %arraydestroy.body301 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689 ] - %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element242, %if.then.i.i.i215 ], [ %arrayinit.element242, %lpad.i212 ], [ %arrayinit.element277, %lpad289.body.thread ], [ %arrayinit.element277, %lpad289.body.thread943 ], [ %arrayinit.element277, %if.then.i.i.i.i.i.i625 ], [ %arrayinit.element277, %arraydestroy.body301 ], [ %arrayinit.endOfInit.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689 ] - %cleanup.isactive.11 = phi i1 [ true, %if.then.i.i.i215 ], [ true, %lpad.i212 ], [ true, %lpad289.body.thread ], [ true, %lpad289.body.thread943 ], [ true, %if.then.i.i.i.i.i.i625 ], [ true, %arraydestroy.body301 ], [ %cleanup.isactive.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit689 ] +ehcleanup832: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722, %arraydestroy.body301, %if.then.i.i.i.i.i.i658, %lpad289.body.thread976, %lpad289.body.thread, %if.then.i.i.i226, %lpad.i223 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %30, %if.then.i.i.i226 ], [ %30, %lpad.i223 ], [ %32, %lpad289.body.thread ], [ %31, %lpad289.body.thread976 ], [ %eh.lpad-body238975, %if.then.i.i.i.i.i.i658 ], [ %eh.lpad-body238975, %arraydestroy.body301 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722 ] + %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element242, %if.then.i.i.i226 ], [ %arrayinit.element242, %lpad.i223 ], [ %arrayinit.element277, %lpad289.body.thread ], [ %arrayinit.element277, %lpad289.body.thread976 ], [ %arrayinit.element277, %if.then.i.i.i.i.i.i658 ], [ %arrayinit.element277, %arraydestroy.body301 ], [ %arrayinit.endOfInit.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722 ] + %cleanup.isactive.11 = phi i1 [ true, %if.then.i.i.i226 ], [ true, %lpad.i223 ], [ true, %lpad289.body.thread ], [ true, %lpad289.body.thread976 ], [ true, %if.then.i.i.i.i.i.i658 ], [ true, %arraydestroy.body301 ], [ %cleanup.isactive.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722 ] br label %arraydestroy.body841 -arraydestroy.body841: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692, %ehcleanup832 - %arraydestroy.elementPast842 = phi ptr [ %add.ptr.i.i211, %ehcleanup832 ], [ %arraydestroy.element843, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 ] +arraydestroy.body841: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725, %ehcleanup832 + %arraydestroy.elementPast842 = phi ptr [ %add.ptr.i.i222, %ehcleanup832 ], [ %arraydestroy.element843, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725 ] %arraydestroy.element843 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast842, i64 -1 %arraydestroy.element843.val = load ptr, ptr %arraydestroy.element843, align 8 - %tobool.not.i.i.i.i.i.i690 = icmp eq ptr %arraydestroy.element843.val, null - br i1 %tobool.not.i.i.i.i.i.i690, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692, label %if.then.i.i.i.i.i.i691 + %tobool.not.i.i.i.i.i.i723 = icmp eq ptr %arraydestroy.element843.val, null + br i1 %tobool.not.i.i.i.i.i.i723, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725, label %if.then.i.i.i.i.i.i724 -if.then.i.i.i.i.i.i691: ; preds = %arraydestroy.body841 +if.then.i.i.i.i.i.i724: ; preds = %arraydestroy.body841 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element843.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692: ; preds = %arraydestroy.body841, %if.then.i.i.i.i.i.i691 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725: ; preds = %arraydestroy.body841, %if.then.i.i.i.i.i.i724 %arraydestroy.done844 = icmp eq ptr %arraydestroy.element843, %ref.tmp244 br i1 %arraydestroy.done844, label %ehcleanup846, label %arraydestroy.body841 -ehcleanup846: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692, %arraydestroy.body266, %if.then.i.i.i.i.i.i622, %lpad254.body.thread934, %lpad254.body.thread, %if.then.i.i.i187, %lpad.i184 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %24, %if.then.i.i.i187 ], [ %24, %lpad.i184 ], [ %26, %lpad254.body.thread ], [ %25, %lpad254.body.thread934 ], [ %eh.lpad-body198933, %if.then.i.i.i.i.i.i622 ], [ %eh.lpad-body198933, %arraydestroy.body266 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 ] - %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element215, %if.then.i.i.i187 ], [ %arrayinit.element215, %lpad.i184 ], [ %arrayinit.element242, %lpad254.body.thread ], [ %arrayinit.element242, %lpad254.body.thread934 ], [ %arrayinit.element242, %if.then.i.i.i.i.i.i622 ], [ %arrayinit.element242, %arraydestroy.body266 ], [ %arrayinit.endOfInit.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 ] - %cleanup.isactive.12 = phi i1 [ true, %if.then.i.i.i187 ], [ true, %lpad.i184 ], [ true, %lpad254.body.thread ], [ true, %lpad254.body.thread934 ], [ true, %if.then.i.i.i.i.i.i622 ], [ true, %arraydestroy.body266 ], [ %cleanup.isactive.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit692 ] +ehcleanup846: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725, %arraydestroy.body266, %if.then.i.i.i.i.i.i655, %lpad254.body.thread967, %lpad254.body.thread, %if.then.i.i.i196, %lpad.i193 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %24, %if.then.i.i.i196 ], [ %24, %lpad.i193 ], [ %26, %lpad254.body.thread ], [ %25, %lpad254.body.thread967 ], [ %eh.lpad-body208966, %if.then.i.i.i.i.i.i655 ], [ %eh.lpad-body208966, %arraydestroy.body266 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725 ] + %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element215, %if.then.i.i.i196 ], [ %arrayinit.element215, %lpad.i193 ], [ %arrayinit.element242, %lpad254.body.thread ], [ %arrayinit.element242, %lpad254.body.thread967 ], [ %arrayinit.element242, %if.then.i.i.i.i.i.i655 ], [ %arrayinit.element242, %arraydestroy.body266 ], [ %arrayinit.endOfInit.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725 ] + %cleanup.isactive.12 = phi i1 [ true, %if.then.i.i.i196 ], [ true, %lpad.i193 ], [ true, %lpad254.body.thread ], [ true, %lpad254.body.thread967 ], [ true, %if.then.i.i.i.i.i.i655 ], [ true, %arraydestroy.body266 ], [ %cleanup.isactive.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit725 ] br label %arraydestroy.body855 -arraydestroy.body855: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695, %ehcleanup846 - %arraydestroy.elementPast856 = phi ptr [ %add.ptr.i.i183, %ehcleanup846 ], [ %arraydestroy.element857, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 ] +arraydestroy.body855: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728, %ehcleanup846 + %arraydestroy.elementPast856 = phi ptr [ %add.ptr.i.i192, %ehcleanup846 ], [ %arraydestroy.element857, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728 ] %arraydestroy.element857 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast856, i64 -1 %arraydestroy.element857.val = load ptr, ptr %arraydestroy.element857, align 8 - %tobool.not.i.i.i.i.i.i693 = icmp eq ptr %arraydestroy.element857.val, null - br i1 %tobool.not.i.i.i.i.i.i693, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695, label %if.then.i.i.i.i.i.i694 + %tobool.not.i.i.i.i.i.i726 = icmp eq ptr %arraydestroy.element857.val, null + br i1 %tobool.not.i.i.i.i.i.i726, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728, label %if.then.i.i.i.i.i.i727 -if.then.i.i.i.i.i.i694: ; preds = %arraydestroy.body855 +if.then.i.i.i.i.i.i727: ; preds = %arraydestroy.body855 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element857.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695: ; preds = %arraydestroy.body855, %if.then.i.i.i.i.i.i694 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728: ; preds = %arraydestroy.body855, %if.then.i.i.i.i.i.i727 %arraydestroy.done858 = icmp eq ptr %arraydestroy.element857, %ref.tmp217 br i1 %arraydestroy.done858, label %ehcleanup860, label %arraydestroy.body855 -ehcleanup860: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695, %lpad227, %common.resume.i175, %if.then.i.i.i170, %lpad.i167 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %21, %if.then.i.i.i170 ], [ %21, %lpad.i167 ], [ %457, %lpad227 ], [ %22, %common.resume.i175 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element188, %if.then.i.i.i170 ], [ %arrayinit.element188, %lpad.i167 ], [ %arrayinit.element215, %lpad227 ], [ %arrayinit.element215, %common.resume.i175 ], [ %arrayinit.endOfInit.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 ] - %cleanup.isactive.13 = phi i1 [ true, %if.then.i.i.i170 ], [ true, %lpad.i167 ], [ true, %lpad227 ], [ true, %common.resume.i175 ], [ %cleanup.isactive.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit695 ] +ehcleanup860: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728, %lpad227, %common.resume.i183, %if.then.i.i.i178, %lpad.i175 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %21, %if.then.i.i.i178 ], [ %21, %lpad.i175 ], [ %457, %lpad227 ], [ %22, %common.resume.i183 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element188, %if.then.i.i.i178 ], [ %arrayinit.element188, %lpad.i175 ], [ %arrayinit.element215, %lpad227 ], [ %arrayinit.element215, %common.resume.i183 ], [ %arrayinit.endOfInit.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728 ] + %cleanup.isactive.13 = phi i1 [ true, %if.then.i.i.i178 ], [ true, %lpad.i175 ], [ true, %lpad227 ], [ true, %common.resume.i183 ], [ %cleanup.isactive.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit728 ] br label %arraydestroy.body869 -arraydestroy.body869: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698, %ehcleanup860 - %arraydestroy.elementPast870 = phi ptr [ %add.ptr.i.i166, %ehcleanup860 ], [ %arraydestroy.element871, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 ] +arraydestroy.body869: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731, %ehcleanup860 + %arraydestroy.elementPast870 = phi ptr [ %add.ptr.i.i174, %ehcleanup860 ], [ %arraydestroy.element871, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731 ] %arraydestroy.element871 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast870, i64 -1 %arraydestroy.element871.val = load ptr, ptr %arraydestroy.element871, align 8 - %tobool.not.i.i.i.i.i.i696 = icmp eq ptr %arraydestroy.element871.val, null - br i1 %tobool.not.i.i.i.i.i.i696, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698, label %if.then.i.i.i.i.i.i697 + %tobool.not.i.i.i.i.i.i729 = icmp eq ptr %arraydestroy.element871.val, null + br i1 %tobool.not.i.i.i.i.i.i729, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731, label %if.then.i.i.i.i.i.i730 -if.then.i.i.i.i.i.i697: ; preds = %arraydestroy.body869 +if.then.i.i.i.i.i.i730: ; preds = %arraydestroy.body869 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element871.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698: ; preds = %arraydestroy.body869, %if.then.i.i.i.i.i.i697 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731: ; preds = %arraydestroy.body869, %if.then.i.i.i.i.i.i730 %arraydestroy.done872 = icmp eq ptr %arraydestroy.element871, %ref.tmp190 br i1 %arraydestroy.done872, label %ehcleanup874, label %arraydestroy.body869 -ehcleanup874: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698, %lpad200, %common.resume.i158, %if.then.i.i.i153, %lpad.i150 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %18, %if.then.i.i.i153 ], [ %18, %lpad.i150 ], [ %456, %lpad200 ], [ %19, %common.resume.i158 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 ] - %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element161, %if.then.i.i.i153 ], [ %arrayinit.element161, %lpad.i150 ], [ %arrayinit.element188, %lpad200 ], [ %arrayinit.element188, %common.resume.i158 ], [ %arrayinit.endOfInit.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 ] - %cleanup.isactive.14 = phi i1 [ true, %if.then.i.i.i153 ], [ true, %lpad.i150 ], [ true, %lpad200 ], [ true, %common.resume.i158 ], [ %cleanup.isactive.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit698 ] +ehcleanup874: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731, %lpad200, %common.resume.i165, %if.then.i.i.i160, %lpad.i157 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %18, %if.then.i.i.i160 ], [ %18, %lpad.i157 ], [ %456, %lpad200 ], [ %19, %common.resume.i165 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731 ] + %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element161, %if.then.i.i.i160 ], [ %arrayinit.element161, %lpad.i157 ], [ %arrayinit.element188, %lpad200 ], [ %arrayinit.element188, %common.resume.i165 ], [ %arrayinit.endOfInit.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731 ] + %cleanup.isactive.14 = phi i1 [ true, %if.then.i.i.i160 ], [ true, %lpad.i157 ], [ true, %lpad200 ], [ true, %common.resume.i165 ], [ %cleanup.isactive.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit731 ] br label %arraydestroy.body883 -arraydestroy.body883: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701, %ehcleanup874 - %arraydestroy.elementPast884 = phi ptr [ %add.ptr.i.i149, %ehcleanup874 ], [ %arraydestroy.element885, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 ] +arraydestroy.body883: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734, %ehcleanup874 + %arraydestroy.elementPast884 = phi ptr [ %add.ptr.i.i156, %ehcleanup874 ], [ %arraydestroy.element885, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734 ] %arraydestroy.element885 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast884, i64 -1 %arraydestroy.element885.val = load ptr, ptr %arraydestroy.element885, align 8 - %tobool.not.i.i.i.i.i.i699 = icmp eq ptr %arraydestroy.element885.val, null - br i1 %tobool.not.i.i.i.i.i.i699, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701, label %if.then.i.i.i.i.i.i700 + %tobool.not.i.i.i.i.i.i732 = icmp eq ptr %arraydestroy.element885.val, null + br i1 %tobool.not.i.i.i.i.i.i732, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734, label %if.then.i.i.i.i.i.i733 -if.then.i.i.i.i.i.i700: ; preds = %arraydestroy.body883 +if.then.i.i.i.i.i.i733: ; preds = %arraydestroy.body883 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element885.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701: ; preds = %arraydestroy.body883, %if.then.i.i.i.i.i.i700 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734: ; preds = %arraydestroy.body883, %if.then.i.i.i.i.i.i733 %arraydestroy.done886 = icmp eq ptr %arraydestroy.element885, %ref.tmp163 br i1 %arraydestroy.done886, label %ehcleanup888, label %arraydestroy.body883 -ehcleanup888: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701, %if.then.i.i.i.i.i.i619, %lpad174.body, %lpad174.body.thread, %if.then.i.i.i136, %lpad.i133 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %if.then.i.i.i136 ], [ %16, %lpad.i133 ], [ %454, %lpad174.body.thread ], [ %455, %lpad174.body ], [ %455, %if.then.i.i.i.i.i.i619 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 ] - %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element134, %if.then.i.i.i136 ], [ %arrayinit.element134, %lpad.i133 ], [ %arrayinit.element161, %lpad174.body.thread ], [ %arrayinit.element161, %lpad174.body ], [ %arrayinit.element161, %if.then.i.i.i.i.i.i619 ], [ %arrayinit.endOfInit.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 ] - %cleanup.isactive.15 = phi i1 [ true, %if.then.i.i.i136 ], [ true, %lpad.i133 ], [ true, %lpad174.body.thread ], [ true, %lpad174.body ], [ true, %if.then.i.i.i.i.i.i619 ], [ %cleanup.isactive.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit701 ] +ehcleanup888: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734, %if.then.i.i.i.i.i.i652, %lpad174.body, %lpad174.body.thread, %if.then.i.i.i142, %lpad.i139 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %if.then.i.i.i142 ], [ %16, %lpad.i139 ], [ %454, %lpad174.body.thread ], [ %455, %lpad174.body ], [ %455, %if.then.i.i.i.i.i.i652 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734 ] + %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element134, %if.then.i.i.i142 ], [ %arrayinit.element134, %lpad.i139 ], [ %arrayinit.element161, %lpad174.body.thread ], [ %arrayinit.element161, %lpad174.body ], [ %arrayinit.element161, %if.then.i.i.i.i.i.i652 ], [ %arrayinit.endOfInit.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734 ] + %cleanup.isactive.15 = phi i1 [ true, %if.then.i.i.i142 ], [ true, %lpad.i139 ], [ true, %lpad174.body.thread ], [ true, %lpad174.body ], [ true, %if.then.i.i.i.i.i.i652 ], [ %cleanup.isactive.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit734 ] br label %arraydestroy.body897 -arraydestroy.body897: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704, %ehcleanup888 - %arraydestroy.elementPast898 = phi ptr [ %add.ptr.i.i132, %ehcleanup888 ], [ %arraydestroy.element899, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 ] +arraydestroy.body897: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737, %ehcleanup888 + %arraydestroy.elementPast898 = phi ptr [ %add.ptr.i.i138, %ehcleanup888 ], [ %arraydestroy.element899, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737 ] %arraydestroy.element899 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast898, i64 -1 %arraydestroy.element899.val = load ptr, ptr %arraydestroy.element899, align 8 - %tobool.not.i.i.i.i.i.i702 = icmp eq ptr %arraydestroy.element899.val, null - br i1 %tobool.not.i.i.i.i.i.i702, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704, label %if.then.i.i.i.i.i.i703 + %tobool.not.i.i.i.i.i.i735 = icmp eq ptr %arraydestroy.element899.val, null + br i1 %tobool.not.i.i.i.i.i.i735, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737, label %if.then.i.i.i.i.i.i736 -if.then.i.i.i.i.i.i703: ; preds = %arraydestroy.body897 +if.then.i.i.i.i.i.i736: ; preds = %arraydestroy.body897 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element899.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704: ; preds = %arraydestroy.body897, %if.then.i.i.i.i.i.i703 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737: ; preds = %arraydestroy.body897, %if.then.i.i.i.i.i.i736 %arraydestroy.done900 = icmp eq ptr %arraydestroy.element899, %ref.tmp136 br i1 %arraydestroy.done900, label %ehcleanup902, label %arraydestroy.body897 -ehcleanup902: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704, %if.then.i.i.i.i.i.i616, %lpad147.body, %lpad147.body.thread, %if.then.i.i.i119, %lpad.i116 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %14, %if.then.i.i.i119 ], [ %14, %lpad.i116 ], [ %452, %lpad147.body.thread ], [ %453, %lpad147.body ], [ %453, %if.then.i.i.i.i.i.i616 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element87, %if.then.i.i.i119 ], [ %arrayinit.element87, %lpad.i116 ], [ %arrayinit.element134, %lpad147.body.thread ], [ %arrayinit.element134, %lpad147.body ], [ %arrayinit.element134, %if.then.i.i.i.i.i.i616 ], [ %arrayinit.endOfInit.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 ] - %cleanup.isactive.16 = phi i1 [ true, %if.then.i.i.i119 ], [ true, %lpad.i116 ], [ true, %lpad147.body.thread ], [ true, %lpad147.body ], [ true, %if.then.i.i.i.i.i.i616 ], [ %cleanup.isactive.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit704 ] +ehcleanup902: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737, %if.then.i.i.i.i.i.i649, %lpad147.body, %lpad147.body.thread, %if.then.i.i.i124, %lpad.i121 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %14, %if.then.i.i.i124 ], [ %14, %lpad.i121 ], [ %452, %lpad147.body.thread ], [ %453, %lpad147.body ], [ %453, %if.then.i.i.i.i.i.i649 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element87, %if.then.i.i.i124 ], [ %arrayinit.element87, %lpad.i121 ], [ %arrayinit.element134, %lpad147.body.thread ], [ %arrayinit.element134, %lpad147.body ], [ %arrayinit.element134, %if.then.i.i.i.i.i.i649 ], [ %arrayinit.endOfInit.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737 ] + %cleanup.isactive.16 = phi i1 [ true, %if.then.i.i.i124 ], [ true, %lpad.i121 ], [ true, %lpad147.body.thread ], [ true, %lpad147.body ], [ true, %if.then.i.i.i.i.i.i649 ], [ %cleanup.isactive.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit737 ] br label %arraydestroy.body911 -arraydestroy.body911: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707, %ehcleanup902 - %arraydestroy.elementPast912 = phi ptr [ %add.ptr.i.i115, %ehcleanup902 ], [ %arraydestroy.element913, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 ] +arraydestroy.body911: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740, %ehcleanup902 + %arraydestroy.elementPast912 = phi ptr [ %add.ptr.i.i120, %ehcleanup902 ], [ %arraydestroy.element913, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740 ] %arraydestroy.element913 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast912, i64 -1 %arraydestroy.element913.val = load ptr, ptr %arraydestroy.element913, align 8 - %tobool.not.i.i.i.i.i.i705 = icmp eq ptr %arraydestroy.element913.val, null - br i1 %tobool.not.i.i.i.i.i.i705, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707, label %if.then.i.i.i.i.i.i706 + %tobool.not.i.i.i.i.i.i738 = icmp eq ptr %arraydestroy.element913.val, null + br i1 %tobool.not.i.i.i.i.i.i738, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740, label %if.then.i.i.i.i.i.i739 -if.then.i.i.i.i.i.i706: ; preds = %arraydestroy.body911 +if.then.i.i.i.i.i.i739: ; preds = %arraydestroy.body911 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element913.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707: ; preds = %arraydestroy.body911, %if.then.i.i.i.i.i.i706 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740: ; preds = %arraydestroy.body911, %if.then.i.i.i.i.i.i739 %arraydestroy.done914 = icmp eq ptr %arraydestroy.element913, %ref.tmp89 br i1 %arraydestroy.done914, label %ehcleanup916, label %arraydestroy.body911 -ehcleanup916.sink.split: ; preds = %lpad.i77, %lpad100.body.thread - %call5.i.i.i.i1.i.i.i90.sink = phi ptr [ %call5.i.i.i.i1.i.i.i90, %lpad100.body.thread ], [ %this.val.i78, %lpad.i77 ] - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.ph = phi { ptr, i32 } [ %11, %lpad100.body.thread ], [ %10, %lpad.i77 ] - %arrayinit.endOfInit.16.ph = phi ptr [ %arrayinit.element87, %lpad100.body.thread ], [ %arrayinit.element52, %lpad.i77 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i90.sink) #31 +ehcleanup916.sink.split: ; preds = %lpad.i79, %lpad100.body.thread + %call5.i.i.i.i1.i.i.i93.sink = phi ptr [ %call5.i.i.i.i1.i.i.i93, %lpad100.body.thread ], [ %this.val.i80, %lpad.i79 ] + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.ph = phi { ptr, i32 } [ %11, %lpad100.body.thread ], [ %10, %lpad.i79 ] + %arrayinit.endOfInit.16.ph = phi ptr [ %arrayinit.element87, %lpad100.body.thread ], [ %arrayinit.element52, %lpad.i79 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i93.sink) #31 br label %ehcleanup916 -ehcleanup916: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707, %lpad100.body, %ehcleanup916.sink.split, %lpad.i77 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.thr_comm.split-lp, %lpad100.body ], [ %10, %lpad.i77 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.ph, %ehcleanup916.sink.split ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 ], [ %eh.lpad-body91914, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 ] - %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element87, %lpad100.body ], [ %arrayinit.element52, %lpad.i77 ], [ %arrayinit.endOfInit.16.ph, %ehcleanup916.sink.split ], [ %arrayinit.endOfInit.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 ], [ %arrayinit.element87, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 ] - %cleanup.isactive.17 = phi i1 [ true, %lpad100.body ], [ true, %lpad.i77 ], [ true, %ehcleanup916.sink.split ], [ %cleanup.isactive.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit707 ], [ true, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 ] +ehcleanup916: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740, %lpad100.body, %ehcleanup916.sink.split, %lpad.i79 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.thr_comm.split-lp, %lpad100.body ], [ %10, %lpad.i79 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.ph, %ehcleanup916.sink.split ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740 ], [ %eh.lpad-body94947, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647 ] + %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element87, %lpad100.body ], [ %arrayinit.element52, %lpad.i79 ], [ %arrayinit.endOfInit.16.ph, %ehcleanup916.sink.split ], [ %arrayinit.endOfInit.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740 ], [ %arrayinit.element87, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647 ] + %cleanup.isactive.17 = phi i1 [ true, %lpad100.body ], [ true, %lpad.i79 ], [ true, %ehcleanup916.sink.split ], [ %cleanup.isactive.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit740 ], [ true, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit647 ] br label %arraydestroy.body925 -arraydestroy.body925: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710, %ehcleanup916 - %arraydestroy.elementPast926 = phi ptr [ %add.ptr.i.i76, %ehcleanup916 ], [ %arraydestroy.element927, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 ] +arraydestroy.body925: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743, %ehcleanup916 + %arraydestroy.elementPast926 = phi ptr [ %add.ptr.i.i78, %ehcleanup916 ], [ %arraydestroy.element927, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743 ] %arraydestroy.element927 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast926, i64 -1 %arraydestroy.element927.val = load ptr, ptr %arraydestroy.element927, align 8 - %tobool.not.i.i.i.i.i.i708 = icmp eq ptr %arraydestroy.element927.val, null - br i1 %tobool.not.i.i.i.i.i.i708, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710, label %if.then.i.i.i.i.i.i709 + %tobool.not.i.i.i.i.i.i741 = icmp eq ptr %arraydestroy.element927.val, null + br i1 %tobool.not.i.i.i.i.i.i741, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743, label %if.then.i.i.i.i.i.i742 -if.then.i.i.i.i.i.i709: ; preds = %arraydestroy.body925 +if.then.i.i.i.i.i.i742: ; preds = %arraydestroy.body925 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element927.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710: ; preds = %arraydestroy.body925, %if.then.i.i.i.i.i.i709 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743: ; preds = %arraydestroy.body925, %if.then.i.i.i.i.i.i742 %arraydestroy.done928 = icmp eq ptr %arraydestroy.element927, %ref.tmp54 br i1 %arraydestroy.done928, label %ehcleanup930, label %arraydestroy.body925 -ehcleanup930: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710, %arraydestroy.body76, %if.then.i.i.i.i.i.i610, %lpad64.body.thread906, %lpad64.body.thread, %if.then.i.i.i52, %lpad.i49 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i.i52 ], [ %4, %lpad.i49 ], [ %6, %lpad64.body.thread ], [ %5, %lpad64.body.thread906 ], [ %eh.lpad-body63905, %if.then.i.i.i.i.i.i610 ], [ %eh.lpad-body63905, %arraydestroy.body76 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 ] - %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element32, %if.then.i.i.i52 ], [ %arrayinit.element32, %lpad.i49 ], [ %arrayinit.element52, %lpad64.body.thread ], [ %arrayinit.element52, %lpad64.body.thread906 ], [ %arrayinit.element52, %if.then.i.i.i.i.i.i610 ], [ %arrayinit.element52, %arraydestroy.body76 ], [ %arrayinit.endOfInit.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 ] - %cleanup.isactive.18 = phi i1 [ true, %if.then.i.i.i52 ], [ true, %lpad.i49 ], [ true, %lpad64.body.thread ], [ true, %lpad64.body.thread906 ], [ true, %if.then.i.i.i.i.i.i610 ], [ true, %arraydestroy.body76 ], [ %cleanup.isactive.17, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit710 ] +ehcleanup930: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743, %arraydestroy.body76, %if.then.i.i.i.i.i.i643, %lpad64.body.thread939, %lpad64.body.thread, %if.then.i.i.i52, %lpad.i49 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i.i52 ], [ %4, %lpad.i49 ], [ %6, %lpad64.body.thread ], [ %5, %lpad64.body.thread939 ], [ %eh.lpad-body64938, %if.then.i.i.i.i.i.i643 ], [ %eh.lpad-body64938, %arraydestroy.body76 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743 ] + %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element32, %if.then.i.i.i52 ], [ %arrayinit.element32, %lpad.i49 ], [ %arrayinit.element52, %lpad64.body.thread ], [ %arrayinit.element52, %lpad64.body.thread939 ], [ %arrayinit.element52, %if.then.i.i.i.i.i.i643 ], [ %arrayinit.element52, %arraydestroy.body76 ], [ %arrayinit.endOfInit.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743 ] + %cleanup.isactive.18 = phi i1 [ true, %if.then.i.i.i52 ], [ true, %lpad.i49 ], [ true, %lpad64.body.thread ], [ true, %lpad64.body.thread939 ], [ true, %if.then.i.i.i.i.i.i643 ], [ true, %arraydestroy.body76 ], [ %cleanup.isactive.17, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit743 ] %arraydestroy.element941.val = load ptr, ptr %ref.tmp34, align 8 - %tobool.not.i.i.i.i.i.i711 = icmp eq ptr %arraydestroy.element941.val, null - br i1 %tobool.not.i.i.i.i.i.i711, label %ehcleanup944, label %if.then.i.i.i.i.i.i712 + %tobool.not.i.i.i.i.i.i744 = icmp eq ptr %arraydestroy.element941.val, null + br i1 %tobool.not.i.i.i.i.i.i744, label %ehcleanup944, label %if.then.i.i.i.i.i.i745 -if.then.i.i.i.i.i.i712: ; preds = %ehcleanup930 +if.then.i.i.i.i.i.i745: ; preds = %ehcleanup930 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element941.val) #31 br label %ehcleanup944 -ehcleanup944: ; preds = %if.then.i.i.i.i.i.i712, %ehcleanup930, %common.resume.i, %if.then.i.i.i42, %lpad.i39 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i.i42 ], [ %2, %lpad.i39 ], [ %3, %common.resume.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup930 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i.i.i712 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element19, %if.then.i.i.i42 ], [ %arrayinit.element19, %lpad.i39 ], [ %arrayinit.element32, %common.resume.i ], [ %arrayinit.endOfInit.17, %ehcleanup930 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i.i.i712 ] - %cleanup.isactive.19 = phi i1 [ true, %if.then.i.i.i42 ], [ true, %lpad.i39 ], [ true, %common.resume.i ], [ %cleanup.isactive.18, %ehcleanup930 ], [ %cleanup.isactive.18, %if.then.i.i.i.i.i.i712 ] +ehcleanup944: ; preds = %if.then.i.i.i.i.i.i745, %ehcleanup930, %common.resume.i, %if.then.i.i.i42, %lpad.i39 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i.i42 ], [ %2, %lpad.i39 ], [ %3, %common.resume.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup930 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i.i.i745 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element19, %if.then.i.i.i42 ], [ %arrayinit.element19, %lpad.i39 ], [ %arrayinit.element32, %common.resume.i ], [ %arrayinit.endOfInit.17, %ehcleanup930 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i.i.i745 ] + %cleanup.isactive.19 = phi i1 [ true, %if.then.i.i.i42 ], [ true, %lpad.i39 ], [ true, %common.resume.i ], [ %cleanup.isactive.18, %ehcleanup930 ], [ %cleanup.isactive.18, %if.then.i.i.i.i.i.i745 ] br label %arraydestroy.body953 -arraydestroy.body953: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716, %ehcleanup944 - %arraydestroy.elementPast954 = phi ptr [ %add.ptr.i.i38, %ehcleanup944 ], [ %arraydestroy.element955, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 ] +arraydestroy.body953: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749, %ehcleanup944 + %arraydestroy.elementPast954 = phi ptr [ %add.ptr.i.i38, %ehcleanup944 ], [ %arraydestroy.element955, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749 ] %arraydestroy.element955 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast954, i64 -1 %arraydestroy.element955.val = load ptr, ptr %arraydestroy.element955, align 8 - %tobool.not.i.i.i.i.i.i714 = icmp eq ptr %arraydestroy.element955.val, null - br i1 %tobool.not.i.i.i.i.i.i714, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716, label %if.then.i.i.i.i.i.i715 + %tobool.not.i.i.i.i.i.i747 = icmp eq ptr %arraydestroy.element955.val, null + br i1 %tobool.not.i.i.i.i.i.i747, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749, label %if.then.i.i.i.i.i.i748 -if.then.i.i.i.i.i.i715: ; preds = %arraydestroy.body953 +if.then.i.i.i.i.i.i748: ; preds = %arraydestroy.body953 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element955.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716: ; preds = %arraydestroy.body953, %if.then.i.i.i.i.i.i715 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749: ; preds = %arraydestroy.body953, %if.then.i.i.i.i.i.i748 %arraydestroy.done956 = icmp eq ptr %arraydestroy.element955, %ref.tmp21 br i1 %arraydestroy.done956, label %ehcleanup958, label %arraydestroy.body953 -ehcleanup958: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716, %if.then.i.i.i34, %lpad.i31 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1, %if.then.i.i.i34 ], [ %1, %lpad.i31 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 ] - %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element7, %if.then.i.i.i34 ], [ %arrayinit.element7, %lpad.i31 ], [ %arrayinit.endOfInit.18, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 ] - %cleanup.isactive.20 = phi i1 [ true, %if.then.i.i.i34 ], [ true, %lpad.i31 ], [ %cleanup.isactive.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit716 ] +ehcleanup958: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749, %if.then.i.i.i34, %lpad.i31 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1, %if.then.i.i.i34 ], [ %1, %lpad.i31 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749 ] + %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element7, %if.then.i.i.i34 ], [ %arrayinit.element7, %lpad.i31 ], [ %arrayinit.endOfInit.18, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749 ] + %cleanup.isactive.20 = phi i1 [ true, %if.then.i.i.i34 ], [ true, %lpad.i31 ], [ %cleanup.isactive.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit749 ] br label %arraydestroy.body967 -arraydestroy.body967: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719, %ehcleanup958 - %arraydestroy.elementPast968 = phi ptr [ %add.ptr.i.i30, %ehcleanup958 ], [ %arraydestroy.element969, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 ] +arraydestroy.body967: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752, %ehcleanup958 + %arraydestroy.elementPast968 = phi ptr [ %add.ptr.i.i30, %ehcleanup958 ], [ %arraydestroy.element969, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752 ] %arraydestroy.element969 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast968, i64 -1 %arraydestroy.element969.val = load ptr, ptr %arraydestroy.element969, align 8 - %tobool.not.i.i.i.i.i.i717 = icmp eq ptr %arraydestroy.element969.val, null - br i1 %tobool.not.i.i.i.i.i.i717, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719, label %if.then.i.i.i.i.i.i718 + %tobool.not.i.i.i.i.i.i750 = icmp eq ptr %arraydestroy.element969.val, null + br i1 %tobool.not.i.i.i.i.i.i750, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752, label %if.then.i.i.i.i.i.i751 -if.then.i.i.i.i.i.i718: ; preds = %arraydestroy.body967 +if.then.i.i.i.i.i.i751: ; preds = %arraydestroy.body967 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element969.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719: ; preds = %arraydestroy.body967, %if.then.i.i.i.i.i.i718 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752: ; preds = %arraydestroy.body967, %if.then.i.i.i.i.i.i751 %arraydestroy.done970 = icmp eq ptr %arraydestroy.element969, %ref.tmp9 br i1 %arraydestroy.done970, label %ehcleanup972, label %arraydestroy.body967 -ehcleanup972: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719, %if.then.i.i.i, %lpad.i - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i.i ], [ %0, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 ] - %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %if.then.i.i.i ], [ %arrayinit.element, %lpad.i ], [ %arrayinit.endOfInit.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 ] - %cleanup.isactive.21 = phi i1 [ true, %if.then.i.i.i ], [ true, %lpad.i ], [ %cleanup.isactive.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit719 ] +ehcleanup972: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752, %if.then.i.i.i, %lpad.i + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i.i ], [ %0, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752 ] + %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %if.then.i.i.i ], [ %arrayinit.element, %lpad.i ], [ %arrayinit.endOfInit.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752 ] + %cleanup.isactive.21 = phi i1 [ true, %if.then.i.i.i ], [ true, %lpad.i ], [ %cleanup.isactive.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit752 ] %arraydestroy.element983.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i.i.i720 = icmp eq ptr %arraydestroy.element983.val, null - br i1 %tobool.not.i.i.i.i.i.i720, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722, label %if.then.i.i.i.i.i.i721 + %tobool.not.i.i.i.i.i.i753 = icmp eq ptr %arraydestroy.element983.val, null + br i1 %tobool.not.i.i.i.i.i.i753, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit755, label %if.then.i.i.i.i.i.i754 -if.then.i.i.i.i.i.i721: ; preds = %ehcleanup972 +if.then.i.i.i.i.i.i754: ; preds = %ehcleanup972 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element983.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit755 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722: ; preds = %ehcleanup972, %if.then.i.i.i.i.i.i721 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit755: ; preds = %ehcleanup972, %if.then.i.i.i.i.i.i754 %arraydestroy.isempty987 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.20 %or.cond.not = select i1 %cleanup.isactive.21, i1 %arraydestroy.isempty987, i1 false br i1 %or.cond.not, label %arraydestroy.body988, label %eh.resume -arraydestroy.body988: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722, %arraydestroy.body988 - %arraydestroy.elementPast989 = phi ptr [ %arraydestroy.element990, %arraydestroy.body988 ], [ %arrayinit.endOfInit.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722 ] +arraydestroy.body988: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit755, %arraydestroy.body988 + %arraydestroy.elementPast989 = phi ptr [ %arraydestroy.element990, %arraydestroy.body988 ], [ %arrayinit.endOfInit.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit755 ] %arraydestroy.element990 = getelementptr inbounds %"class.std::vector.661", ptr %arraydestroy.elementPast989, i64 -1 call fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element990) #28 %arraydestroy.done991 = icmp eq ptr %arraydestroy.element990, %ref.tmp @@ -162744,25 +162748,25 @@ ehcleanup1008: ; preds = %lpad1005, %lpad1003 ehcleanup1009: ; preds = %ehcleanup1008, %lpad1000 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %ehcleanup1008 ], [ %475, %lpad1000 ] %478 = load ptr, ptr %ref.tmp995, align 8 - %cmp.not.i.i723 = icmp eq ptr %478, null - br i1 %cmp.not.i.i723, label %_ZN7testing7MessageD2Ev.exit727, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724 + %cmp.not.i.i756 = icmp eq ptr %478, null + br i1 %cmp.not.i.i756, label %_ZN7testing7MessageD2Ev.exit760, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i757 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724: ; preds = %ehcleanup1009 - %vtable.i.i.i725 = load ptr, ptr %478, align 8 - %vfn.i.i.i726 = getelementptr inbounds ptr, ptr %vtable.i.i.i725, i64 1 - %479 = load ptr, ptr %vfn.i.i.i726, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i757: ; preds = %ehcleanup1009 + %vtable.i.i.i758 = load ptr, ptr %478, align 8 + %vfn.i.i.i759 = getelementptr inbounds ptr, ptr %vtable.i.i.i758, i64 1 + %479 = load ptr, ptr %vfn.i.i.i759, align 8 call void %479(ptr noundef nonnull align 8 dereferenceable(128) %478) #28 - br label %_ZN7testing7MessageD2Ev.exit727 + br label %_ZN7testing7MessageD2Ev.exit760 -_ZN7testing7MessageD2Ev.exit727: ; preds = %ehcleanup1009, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i724 +_ZN7testing7MessageD2Ev.exit760: ; preds = %ehcleanup1009, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i757 store ptr null, ptr %ref.tmp995, align 8 br label %ehcleanup1010 if.end: ; preds = %invoke.cont994, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %480 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i728 = icmp eq ptr %480, null - br i1 %cmp.not.i.i728, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i761 = icmp eq ptr %480, null + br i1 %cmp.not.i.i761, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %480) #28 @@ -162773,19 +162777,19 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de store ptr null, ptr %message_.i, align 8 %481 = load ptr, ptr %exemplars, align 8 %482 = load ptr, ptr %_M_finish.i.i, align 8 - %cmp.not3.i.i.i.i730 = icmp eq ptr %481, %482 - br i1 %cmp.not3.i.i.i.i730, label %invoke.cont.i739, label %for.body.i.i.i.i731 + %cmp.not3.i.i.i.i763 = icmp eq ptr %481, %482 + br i1 %cmp.not3.i.i.i.i763, label %invoke.cont.i772, label %for.body.i.i.i.i764 -for.body.i.i.i.i731: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i - %__first.addr.04.i.i.i.i732 = phi ptr [ %incdec.ptr.i.i.i.i735, %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i ], [ %481, %_ZN7testing15AssertionResultD2Ev.exit ] - %483 = load ptr, ptr %__first.addr.04.i.i.i.i732, align 8 - %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i732, i64 0, i32 1 +for.body.i.i.i.i764: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i + %__first.addr.04.i.i.i.i765 = phi ptr [ %incdec.ptr.i.i.i.i768, %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i ], [ %481, %_ZN7testing15AssertionResultD2Ev.exit ] + %483 = load ptr, ptr %__first.addr.04.i.i.i.i765, align 8 + %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i765, i64 0, i32 1 %484 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8 %cmp.not3.i.i.i.i.i.i.i.i.i = icmp eq ptr %483, %484 br i1 %cmp.not3.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i -for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i731, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %483, %for.body.i.i.i.i731 ] +for.body.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i764, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i.i.i.i.i.i ], [ %483, %for.body.i.i.i.i764 ] %__first.addr.0.val.i.i.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i @@ -162800,46 +162804,46 @@ _ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117U br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %invoke.contthread-pre-split.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !2315 invoke.contthread-pre-split.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEEEvPT_.exit.i.i.i.i.i.i.i.i.i - %this.val.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i732, align 8 + %this.val.pr.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i765, align 8 br label %invoke.cont.i.i.i.i.i.i -invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i731 - %this.val.i.i.i.i.i.i = phi ptr [ %this.val.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %483, %for.body.i.i.i.i731 ] - %tobool.not.i.i.i.i.i.i.i.i733 = icmp eq ptr %this.val.i.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i.i.i733, label %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i734 +invoke.cont.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i, %for.body.i.i.i.i764 + %this.val.i.i.i.i.i.i = phi ptr [ %this.val.pr.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i ], [ %483, %for.body.i.i.i.i764 ] + %tobool.not.i.i.i.i.i.i.i.i766 = icmp eq ptr %this.val.i.i.i.i.i.i, null + br i1 %tobool.not.i.i.i.i.i.i.i.i766, label %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i767 -if.then.i.i.i.i.i.i.i.i734: ; preds = %invoke.cont.i.i.i.i.i.i +if.then.i.i.i.i.i.i.i.i767: ; preds = %invoke.cont.i.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i -_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i734, %invoke.cont.i.i.i.i.i.i - %incdec.ptr.i.i.i.i735 = getelementptr inbounds %"class.std::vector.661", ptr %__first.addr.04.i.i.i.i732, i64 1 - %cmp.not.i.i.i.i736 = icmp eq ptr %incdec.ptr.i.i.i.i735, %482 - br i1 %cmp.not.i.i.i.i736, label %invoke.cont.i739, label %for.body.i.i.i.i731, !llvm.loop !4225 +_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i767, %invoke.cont.i.i.i.i.i.i + %incdec.ptr.i.i.i.i768 = getelementptr inbounds %"class.std::vector.661", ptr %__first.addr.04.i.i.i.i765, i64 1 + %cmp.not.i.i.i.i769 = icmp eq ptr %incdec.ptr.i.i.i.i768, %482 + br i1 %cmp.not.i.i.i.i769, label %invoke.cont.i772, label %for.body.i.i.i.i764, !llvm.loop !4225 -invoke.cont.i739: ; preds = %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit - %tobool.not.i.i.i741 = icmp eq ptr %481, null - br i1 %tobool.not.i.i.i741, label %_ZNSt6vectorIS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EESaIS8_EED2Ev.exit, label %if.then.i.i.i742 +invoke.cont.i772: ; preds = %_ZSt8_DestroyISt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS7_EEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit + %tobool.not.i.i.i774 = icmp eq ptr %481, null + br i1 %tobool.not.i.i.i774, label %_ZNSt6vectorIS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EESaIS8_EED2Ev.exit, label %if.then.i.i.i775 -if.then.i.i.i742: ; preds = %invoke.cont.i739 +if.then.i.i.i775: ; preds = %invoke.cont.i772 call void @_ZdlPv(ptr noundef nonnull %481) #31 br label %_ZNSt6vectorIS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EESaIS8_EED2Ev.exit -_ZNSt6vectorIS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i739, %if.then.i.i.i742 +_ZNSt6vectorIS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i772, %if.then.i.i.i775 ret void -ehcleanup1010: ; preds = %_ZN7testing7MessageD2Ev.exit727, %lpad996 - %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit727 ], [ %474, %lpad996 ] +ehcleanup1010: ; preds = %_ZN7testing7MessageD2Ev.exit760, %lpad996 + %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit760 ], [ %474, %lpad996 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup1011 -ehcleanup1011: ; preds = %if.then.i.i.i41.i, %lpad.body.i599, %if.then.i.i.i.i.i, %lpad.i.i, %ehcleanup1010 - %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup1010 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i ], [ %.pn46.pn.i.i, %lpad.body.i599 ], [ %.pn46.pn.i.i, %if.then.i.i.i41.i ] +ehcleanup1011: ; preds = %if.then.i.i.i42.i, %lpad.body.i632, %if.then.i.i.i.i.i, %lpad.i.i, %ehcleanup1010 + %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup1010 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i ], [ %.pn46.pn.i.i, %lpad.body.i632 ], [ %.pn46.pn.i.i, %if.then.i.i.i42.i ] call fastcc void @_ZNSt6vectorIS_IN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body988, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722, %ehcleanup1011 - %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup1011 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit722 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body988 ] +eh.resume: ; preds = %arraydestroy.body988, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit755, %ehcleanup1011 + %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup1011 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit755 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body988 ] resume { ptr, i32 } %.pn23.pn.pn.pn.pn } @@ -163050,8 +163054,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i br label %for.inc.i.i.i.i for.inc.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %cond.i.i.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i.i.i.i.i, align 8 %incdec.ptr.i.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %__first.sroa.0.013.i.i.i.i, i64 1 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %__cur.014.i.i.i.i, i64 1 @@ -163306,7 +163309,6 @@ _ZN4absl13hash_internal16SpyHashStateImplISt6vectorINS_18hash_test_internal19Typ %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %vector.val6.i.i.i.i.i.i.i.i.i.i to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %vector.val7.i.i.i.i.i.i.i.i.i.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i, 24 call void @llvm.experimental.noalias.scope.decl(metadata !4263) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %agg.tmp.i.i.i.i.i.i.i.i.i.i.i), !noalias !4261 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(41) %agg.tmp.i.i.i.i.i.i.i.i.i.i.i, i8 0, i64 41, i1 false), !noalias !4266 @@ -163314,7 +163316,7 @@ _ZN4absl13hash_internal16SpyHashStateImplISt6vectorINS_18hash_test_internal19Typ call void @llvm.experimental.noalias.scope.decl(metadata !4268) call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp.i.i.i.i.i.i.i.i.i.i.i.i), !noalias !4266 call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %agg.tmp.i.i.i.i.i.i.i.i.i.i.i.i), !noalias !4266 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %vector.val7.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %vector.val7.i.i.i.i.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i %cmp54.i.i.i.i.i.i.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i, 0 br i1 %cmp54.i.i.i.i.i.i.i.i.i.i.i.i, label %for.body.lr.ph.i.i.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i.i.i.i.i @@ -166887,7 +166889,7 @@ lpad.i: ; preds = %invoke.cont28 invoke.cont42: ; preds = %invoke.cont28 store ptr %call5.i.i.i.i2.i, ptr %ref.tmp31, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp31, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 1, ptr %call5.i.i.i.i2.i, align 4 @@ -166932,1090 +166934,1090 @@ lpad.i124: ; preds = %invoke.cont47 invoke.cont62: ; preds = %invoke.cont47 store ptr %call5.i.i.i.i2.i123, ptr %ref.tmp50, align 8 - %add.ptr.i1.i128 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i123, i64 2 + %add.ptr.i1.i128 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i123, i64 8 %_M_end_of_storage.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 2 store ptr %add.ptr.i1.i128, ptr %_M_end_of_storage.i.i129, align 8 store i32 1, ptr %call5.i.i.i.i2.i123, align 4 %ref.tmp54.sroa.2.0.call5.i.i.i.i2.i123.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i123, i64 4 store i32 1, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i2.i123.sroa_idx, align 4 - %_M_finish.i.i130 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 - store ptr %add.ptr.i1.i128, ptr %_M_finish.i.i130, align 8 + %_M_finish.i.i131 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 + store ptr %add.ptr.i1.i128, ptr %_M_finish.i.i131, align 8 %arrayinit.element63 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element63, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i133 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont73 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit972 + %call5.i.i.i.i2.i134 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont73 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit1005 invoke.cont73: ; preds = %invoke.cont62 - store ptr %call5.i.i.i.i2.i133, ptr %arrayinit.element63, align 8 - %add.ptr.i1.i138 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i133, i64 2 - %_M_end_of_storage.i.i139 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i138, ptr %_M_end_of_storage.i.i139, align 8 - store i32 1, ptr %call5.i.i.i.i2.i133, align 4 - %ref.tmp65.sroa.2.0.call5.i.i.i.i2.i133.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i133, i64 4 - store i32 1, ptr %ref.tmp65.sroa.2.0.call5.i.i.i.i2.i133.sroa_idx, align 4 - %_M_finish.i.i140 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i138, ptr %_M_finish.i.i140, align 8 - %add.ptr.i.i143 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 2 + store ptr %call5.i.i.i.i2.i134, ptr %arrayinit.element63, align 8 + %add.ptr.i1.i139 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i134, i64 8 + %_M_end_of_storage.i.i140 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i139, ptr %_M_end_of_storage.i.i140, align 8 + store i32 1, ptr %call5.i.i.i.i2.i134, align 4 + %ref.tmp65.sroa.2.0.call5.i.i.i.i2.i134.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i134, i64 4 + store i32 1, ptr %ref.tmp65.sroa.2.0.call5.i.i.i.i2.i134.sroa_idx, align 4 + %_M_finish.i.i142 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i139, ptr %_M_finish.i.i142, align 8 + %add.ptr.i.i145 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i144 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i149 unwind label %lpad.i.i145 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i149: ; preds = %invoke.cont73 - store ptr %call5.i.i.i.i1.i.i144, ptr %arrayinit.element48, align 8 - %add.ptr.i.i.i150 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i144, i64 2 - %_M_end_of_storage.i.i.i151 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 5, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i150, ptr %_M_end_of_storage.i.i.i151, align 8 - %call.i.i.i.i2.i.i152 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp50, ptr noundef nonnull %add.ptr.i.i143, ptr noundef nonnull %call5.i.i.i.i1.i.i144) - to label %invoke.cont79 unwind label %lpad.i.i145 - -lpad.i.i145: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i149, %invoke.cont73 + %call5.i.i.i.i1.i.i146 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i151 unwind label %lpad.i.i147 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i151: ; preds = %invoke.cont73 + store ptr %call5.i.i.i.i1.i.i146, ptr %arrayinit.element48, align 8 + %add.ptr.i.i.i152 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i146, i64 2 + %_M_end_of_storage.i.i.i153 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 5, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i152, ptr %_M_end_of_storage.i.i.i153, align 8 + %call.i.i.i.i2.i.i154 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp50, ptr noundef nonnull %add.ptr.i.i145, ptr noundef nonnull %call5.i.i.i.i1.i.i146) + to label %invoke.cont79 unwind label %lpad.i.i147 + +lpad.i.i147: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i151, %invoke.cont73 %10 = landingpad { ptr, i32 } cleanup %11 = load ptr, ptr %arrayinit.element48, align 8 - %tobool.not.i.i.i.i146 = icmp eq ptr %11, null - br i1 %tobool.not.i.i.i.i146, label %ehcleanup1035, label %if.then.i.i3.i.i147 + %tobool.not.i.i.i.i148 = icmp eq ptr %11, null + br i1 %tobool.not.i.i.i.i148, label %ehcleanup1035, label %if.then.i.i3.i.i149 -if.then.i.i3.i.i147: ; preds = %lpad.i.i145 +if.then.i.i3.i.i149: ; preds = %lpad.i.i147 call void @_ZdlPv(ptr noundef nonnull %11) #31 br label %ehcleanup1035 -invoke.cont79: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i149 - %_M_finish.i.i.i153 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 5, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i152, ptr %_M_finish.i.i.i153, align 8 +invoke.cont79: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i151 + %_M_finish.i.i.i155 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 5, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i154, ptr %_M_finish.i.i.i155, align 8 %arrayinit.element80 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 6 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i156 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont95 unwind label %lpad.i157 + %call5.i.i.i.i2.i158 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont95 unwind label %lpad.i159 -lpad.i157: ; preds = %invoke.cont79 +lpad.i159: ; preds = %invoke.cont79 %12 = landingpad { ptr, i32 } cleanup br label %ehcleanup1035 invoke.cont95: ; preds = %invoke.cont79 - store ptr %call5.i.i.i.i2.i156, ptr %ref.tmp82, align 8 - %add.ptr.i1.i161 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i156, i64 3 - %_M_end_of_storage.i.i162 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp82, i64 0, i32 2 - store ptr %add.ptr.i1.i161, ptr %_M_end_of_storage.i.i162, align 8 - store i32 1, ptr %call5.i.i.i.i2.i156, align 4 - %ref.tmp86.sroa.2.0.call5.i.i.i.i2.i156.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i156, i64 4 - store i32 1, ptr %ref.tmp86.sroa.2.0.call5.i.i.i.i2.i156.sroa_idx, align 4 - %ref.tmp86.sroa.3.0.call5.i.i.i.i2.i156.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i156, i64 8 - store i32 1, ptr %ref.tmp86.sroa.3.0.call5.i.i.i.i2.i156.sroa_idx, align 4 - %_M_finish.i.i163 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp82, i64 0, i32 1 - store ptr %add.ptr.i1.i161, ptr %_M_finish.i.i163, align 8 + store ptr %call5.i.i.i.i2.i158, ptr %ref.tmp82, align 8 + %add.ptr.i1.i163 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i158, i64 12 + %_M_end_of_storage.i.i164 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp82, i64 0, i32 2 + store ptr %add.ptr.i1.i163, ptr %_M_end_of_storage.i.i164, align 8 + store i32 1, ptr %call5.i.i.i.i2.i158, align 4 + %ref.tmp86.sroa.2.0.call5.i.i.i.i2.i158.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i158, i64 4 + store i32 1, ptr %ref.tmp86.sroa.2.0.call5.i.i.i.i2.i158.sroa_idx, align 4 + %ref.tmp86.sroa.3.0.call5.i.i.i.i2.i158.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i158, i64 8 + store i32 1, ptr %ref.tmp86.sroa.3.0.call5.i.i.i.i2.i158.sroa_idx, align 4 + %_M_finish.i.i166 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp82, i64 0, i32 1 + store ptr %add.ptr.i1.i163, ptr %_M_finish.i.i166, align 8 %arrayinit.element96 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element96, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i166 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont107 unwind label %lpad.i167 + %call5.i.i.i.i2.i169 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont107 unwind label %lpad.i170 -lpad.i167: ; preds = %invoke.cont95 +lpad.i170: ; preds = %invoke.cont95 %13 = landingpad { ptr, i32 } cleanup br label %ehcleanup1018 invoke.cont107: ; preds = %invoke.cont95 - store ptr %call5.i.i.i.i2.i166, ptr %arrayinit.element96, align 8 - %add.ptr.i1.i171 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i166, i64 3 - %_M_end_of_storage.i.i172 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i171, ptr %_M_end_of_storage.i.i172, align 8 - store i32 1, ptr %call5.i.i.i.i2.i166, align 4 - %ref.tmp98.sroa.2.0.call5.i.i.i.i2.i166.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i166, i64 4 - store i32 1, ptr %ref.tmp98.sroa.2.0.call5.i.i.i.i2.i166.sroa_idx, align 4 - %ref.tmp98.sroa.3.0.call5.i.i.i.i2.i166.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i166, i64 8 - store i32 1, ptr %ref.tmp98.sroa.3.0.call5.i.i.i.i2.i166.sroa_idx, align 4 - %_M_finish.i.i173 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i171, ptr %_M_finish.i.i173, align 8 + store ptr %call5.i.i.i.i2.i169, ptr %arrayinit.element96, align 8 + %add.ptr.i1.i174 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i169, i64 12 + %_M_end_of_storage.i.i175 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i174, ptr %_M_end_of_storage.i.i175, align 8 + store i32 1, ptr %call5.i.i.i.i2.i169, align 4 + %ref.tmp98.sroa.2.0.call5.i.i.i.i2.i169.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i169, i64 4 + store i32 1, ptr %ref.tmp98.sroa.2.0.call5.i.i.i.i2.i169.sroa_idx, align 4 + %ref.tmp98.sroa.3.0.call5.i.i.i.i2.i169.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i169, i64 8 + store i32 1, ptr %ref.tmp98.sroa.3.0.call5.i.i.i.i2.i169.sroa_idx, align 4 + %_M_finish.i.i177 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i174, ptr %_M_finish.i.i177, align 8 %arrayinit.element108 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element108, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i176 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont119 unwind label %lpad.i177 + %call5.i.i.i.i2.i180 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont119 unwind label %lpad.i181 -lpad.i177: ; preds = %invoke.cont107 +lpad.i181: ; preds = %invoke.cont107 %14 = landingpad { ptr, i32 } cleanup br label %ehcleanup1018 invoke.cont119: ; preds = %invoke.cont107 - store ptr %call5.i.i.i.i2.i176, ptr %arrayinit.element108, align 8 - %add.ptr.i1.i181 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i176, i64 3 - %_M_end_of_storage.i.i182 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i181, ptr %_M_end_of_storage.i.i182, align 8 - store i32 1, ptr %call5.i.i.i.i2.i176, align 4 - %ref.tmp110.sroa.2.0.call5.i.i.i.i2.i176.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i176, i64 4 - store i32 1, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i2.i176.sroa_idx, align 4 - %ref.tmp110.sroa.3.0.call5.i.i.i.i2.i176.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i176, i64 8 - store i32 1, ptr %ref.tmp110.sroa.3.0.call5.i.i.i.i2.i176.sroa_idx, align 4 - %_M_finish.i.i183 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i181, ptr %_M_finish.i.i183, align 8 - %add.ptr.i.i186 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 3 + store ptr %call5.i.i.i.i2.i180, ptr %arrayinit.element108, align 8 + %add.ptr.i1.i185 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i180, i64 12 + %_M_end_of_storage.i.i186 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i185, ptr %_M_end_of_storage.i.i186, align 8 + store i32 1, ptr %call5.i.i.i.i2.i180, align 4 + %ref.tmp110.sroa.2.0.call5.i.i.i.i2.i180.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i180, i64 4 + store i32 1, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i2.i180.sroa_idx, align 4 + %ref.tmp110.sroa.3.0.call5.i.i.i.i2.i180.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i180, i64 8 + store i32 1, ptr %ref.tmp110.sroa.3.0.call5.i.i.i.i2.i180.sroa_idx, align 4 + %_M_finish.i.i188 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i185, ptr %_M_finish.i.i188, align 8 + %add.ptr.i.i191 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 3 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element80, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i187 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i192 unwind label %lpad.i.i188 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i192: ; preds = %invoke.cont119 - store ptr %call5.i.i.i.i1.i.i187, ptr %arrayinit.element80, align 8 - %add.ptr.i.i.i193 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i187, i64 3 - %_M_end_of_storage.i.i.i194 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 6, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i193, ptr %_M_end_of_storage.i.i.i194, align 8 - %call.i.i.i.i2.i.i195 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp82, ptr noundef nonnull %add.ptr.i.i186, ptr noundef nonnull %call5.i.i.i.i1.i.i187) - to label %invoke.cont125 unwind label %lpad.i.i188 - -lpad.i.i188: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i192, %invoke.cont119 + %call5.i.i.i.i1.i.i192 = invoke noalias noundef nonnull dereferenceable(72) ptr @_Znwm(i64 noundef 72) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i197 unwind label %lpad.i.i193 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i197: ; preds = %invoke.cont119 + store ptr %call5.i.i.i.i1.i.i192, ptr %arrayinit.element80, align 8 + %add.ptr.i.i.i198 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i192, i64 3 + %_M_end_of_storage.i.i.i199 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 6, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i198, ptr %_M_end_of_storage.i.i.i199, align 8 + %call.i.i.i.i2.i.i200 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp82, ptr noundef nonnull %add.ptr.i.i191, ptr noundef nonnull %call5.i.i.i.i1.i.i192) + to label %invoke.cont125 unwind label %lpad.i.i193 + +lpad.i.i193: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i197, %invoke.cont119 %15 = landingpad { ptr, i32 } cleanup %16 = load ptr, ptr %arrayinit.element80, align 8 - %tobool.not.i.i.i.i189 = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i189, label %ehcleanup1009, label %if.then.i.i3.i.i190 + %tobool.not.i.i.i.i194 = icmp eq ptr %16, null + br i1 %tobool.not.i.i.i.i194, label %ehcleanup1009, label %if.then.i.i3.i.i195 -if.then.i.i3.i.i190: ; preds = %lpad.i.i188 +if.then.i.i3.i.i195: ; preds = %lpad.i.i193 call void @_ZdlPv(ptr noundef nonnull %16) #31 br label %ehcleanup1009 -invoke.cont125: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i192 - %_M_finish.i.i.i196 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 6, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i195, ptr %_M_finish.i.i.i196, align 8 +invoke.cont125: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i197 + %_M_finish.i.i.i201 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 6, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i200, ptr %_M_finish.i.i.i201, align 8 %arrayinit.element126 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp128, i8 0, i64 48, i1 false) - %call5.i.i.i.i2.i199 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont141 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit952 + %call5.i.i.i.i2.i204 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont141 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit985 invoke.cont141: ; preds = %invoke.cont125 %arrayinit.element131 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1 - store ptr %call5.i.i.i.i2.i199, ptr %arrayinit.element131, align 8 - %add.ptr.i1.i204 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i199, i64 2 - %_M_end_of_storage.i.i205 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i204, ptr %_M_end_of_storage.i.i205, align 8 - store i32 1, ptr %call5.i.i.i.i2.i199, align 4 - %ref.tmp133.sroa.2.0.call5.i.i.i.i2.i199.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i199, i64 4 - store i32 2, ptr %ref.tmp133.sroa.2.0.call5.i.i.i.i2.i199.sroa_idx, align 4 - %_M_finish.i.i206 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i204, ptr %_M_finish.i.i206, align 8 - %add.ptr.i.i209 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 2 + store ptr %call5.i.i.i.i2.i204, ptr %arrayinit.element131, align 8 + %add.ptr.i1.i209 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i204, i64 8 + %_M_end_of_storage.i.i210 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i209, ptr %_M_end_of_storage.i.i210, align 8 + store i32 1, ptr %call5.i.i.i.i2.i204, align 4 + %ref.tmp133.sroa.2.0.call5.i.i.i.i2.i204.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i204, i64 4 + store i32 2, ptr %ref.tmp133.sroa.2.0.call5.i.i.i.i2.i204.sroa_idx, align 4 + %_M_finish.i.i212 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i209, ptr %_M_finish.i.i212, align 8 + %add.ptr.i.i215 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element126, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i210 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i215 unwind label %lpad.i.i211 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i215: ; preds = %invoke.cont141 - store ptr %call5.i.i.i.i1.i.i210, ptr %arrayinit.element126, align 8 - %add.ptr.i.i.i216 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i210, i64 2 - %_M_end_of_storage.i.i.i217 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 7, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i216, ptr %_M_end_of_storage.i.i.i217, align 8 - %call.i.i.i.i2.i.i218 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp128, ptr noundef nonnull %add.ptr.i.i209, ptr noundef nonnull %call5.i.i.i.i1.i.i210) - to label %invoke.cont147 unwind label %lpad.i.i211 - -lpad.i.i211: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i215, %invoke.cont141 + %call5.i.i.i.i1.i.i216 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i221 unwind label %lpad.i.i217 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i221: ; preds = %invoke.cont141 + store ptr %call5.i.i.i.i1.i.i216, ptr %arrayinit.element126, align 8 + %add.ptr.i.i.i222 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i216, i64 2 + %_M_end_of_storage.i.i.i223 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 7, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i222, ptr %_M_end_of_storage.i.i.i223, align 8 + %call.i.i.i.i2.i.i224 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp128, ptr noundef nonnull %add.ptr.i.i215, ptr noundef nonnull %call5.i.i.i.i1.i.i216) + to label %invoke.cont147 unwind label %lpad.i.i217 + +lpad.i.i217: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i221, %invoke.cont141 %17 = landingpad { ptr, i32 } cleanup %18 = load ptr, ptr %arrayinit.element126, align 8 - %tobool.not.i.i.i.i212 = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i.i212, label %ehcleanup985, label %if.then.i.i3.i.i213 + %tobool.not.i.i.i.i218 = icmp eq ptr %18, null + br i1 %tobool.not.i.i.i.i218, label %ehcleanup985, label %if.then.i.i3.i.i219 -if.then.i.i3.i.i213: ; preds = %lpad.i.i211 +if.then.i.i3.i.i219: ; preds = %lpad.i.i217 call void @_ZdlPv(ptr noundef nonnull %18) #31 br label %ehcleanup985 -invoke.cont147: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i215 - %_M_finish.i.i.i219 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 7, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i218, ptr %_M_finish.i.i.i219, align 8 +invoke.cont147: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i221 + %_M_finish.i.i.i225 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 7, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i224, ptr %_M_finish.i.i.i225, align 8 %arrayinit.element148 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp150, i8 0, i64 48, i1 false) - %call5.i.i.i.i2.i222 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont163 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit942 + %call5.i.i.i.i2.i228 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont163 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit975 invoke.cont163: ; preds = %invoke.cont147 %arrayinit.element153 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1 - store ptr %call5.i.i.i.i2.i222, ptr %arrayinit.element153, align 8 - %add.ptr.i1.i227 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i222, i64 2 - %_M_end_of_storage.i.i228 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i227, ptr %_M_end_of_storage.i.i228, align 8 - store i32 2, ptr %call5.i.i.i.i2.i222, align 4 - %ref.tmp155.sroa.2.0.call5.i.i.i.i2.i222.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i222, i64 4 - store i32 1, ptr %ref.tmp155.sroa.2.0.call5.i.i.i.i2.i222.sroa_idx, align 4 - %_M_finish.i.i229 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i227, ptr %_M_finish.i.i229, align 8 - %add.ptr.i.i232 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 2 + store ptr %call5.i.i.i.i2.i228, ptr %arrayinit.element153, align 8 + %add.ptr.i1.i233 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i228, i64 8 + %_M_end_of_storage.i.i234 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i233, ptr %_M_end_of_storage.i.i234, align 8 + store i32 2, ptr %call5.i.i.i.i2.i228, align 4 + %ref.tmp155.sroa.2.0.call5.i.i.i.i2.i228.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i228, i64 4 + store i32 1, ptr %ref.tmp155.sroa.2.0.call5.i.i.i.i2.i228.sroa_idx, align 4 + %_M_finish.i.i236 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i233, ptr %_M_finish.i.i236, align 8 + %add.ptr.i.i239 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element148, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i233 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i238 unwind label %lpad.i.i234 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i238: ; preds = %invoke.cont163 - store ptr %call5.i.i.i.i1.i.i233, ptr %arrayinit.element148, align 8 - %add.ptr.i.i.i239 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i233, i64 2 - %_M_end_of_storage.i.i.i240 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 8, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i239, ptr %_M_end_of_storage.i.i.i240, align 8 - %call.i.i.i.i2.i.i241 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp150, ptr noundef nonnull %add.ptr.i.i232, ptr noundef nonnull %call5.i.i.i.i1.i.i233) - to label %invoke.cont169 unwind label %lpad.i.i234 - -lpad.i.i234: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i238, %invoke.cont163 + %call5.i.i.i.i1.i.i240 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i245 unwind label %lpad.i.i241 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i245: ; preds = %invoke.cont163 + store ptr %call5.i.i.i.i1.i.i240, ptr %arrayinit.element148, align 8 + %add.ptr.i.i.i246 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i240, i64 2 + %_M_end_of_storage.i.i.i247 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 8, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i246, ptr %_M_end_of_storage.i.i.i247, align 8 + %call.i.i.i.i2.i.i248 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp150, ptr noundef nonnull %add.ptr.i.i239, ptr noundef nonnull %call5.i.i.i.i1.i.i240) + to label %invoke.cont169 unwind label %lpad.i.i241 + +lpad.i.i241: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i245, %invoke.cont163 %19 = landingpad { ptr, i32 } cleanup %20 = load ptr, ptr %arrayinit.element148, align 8 - %tobool.not.i.i.i.i235 = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i235, label %ehcleanup961, label %if.then.i.i3.i.i236 + %tobool.not.i.i.i.i242 = icmp eq ptr %20, null + br i1 %tobool.not.i.i.i.i242, label %ehcleanup961, label %if.then.i.i3.i.i243 -if.then.i.i3.i.i236: ; preds = %lpad.i.i234 +if.then.i.i3.i.i243: ; preds = %lpad.i.i241 call void @_ZdlPv(ptr noundef nonnull %20) #31 br label %ehcleanup961 -invoke.cont169: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i238 - %_M_finish.i.i.i242 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 8, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i241, ptr %_M_finish.i.i.i242, align 8 +invoke.cont169: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i245 + %_M_finish.i.i.i249 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 8, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i248, ptr %_M_finish.i.i.i249, align 8 %arrayinit.element170 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp172, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i245 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont184 unwind label %lpad.i246 + %call5.i.i.i.i2.i252 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont184 unwind label %lpad.i253 -lpad.i246: ; preds = %invoke.cont169 +lpad.i253: ; preds = %invoke.cont169 %21 = landingpad { ptr, i32 } cleanup br label %ehcleanup961 invoke.cont184: ; preds = %invoke.cont169 - store ptr %call5.i.i.i.i2.i245, ptr %ref.tmp172, align 8 - %add.ptr.i1.i250 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i245, i64 2 - %_M_end_of_storage.i.i251 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp172, i64 0, i32 2 - store ptr %add.ptr.i1.i250, ptr %_M_end_of_storage.i.i251, align 8 - store i32 1, ptr %call5.i.i.i.i2.i245, align 4 - %ref.tmp176.sroa.2.0.call5.i.i.i.i2.i245.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i245, i64 4 - store i32 2, ptr %ref.tmp176.sroa.2.0.call5.i.i.i.i2.i245.sroa_idx, align 4 - %_M_finish.i.i252 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp172, i64 0, i32 1 - store ptr %add.ptr.i1.i250, ptr %_M_finish.i.i252, align 8 + store ptr %call5.i.i.i.i2.i252, ptr %ref.tmp172, align 8 + %add.ptr.i1.i257 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i252, i64 8 + %_M_end_of_storage.i.i258 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp172, i64 0, i32 2 + store ptr %add.ptr.i1.i257, ptr %_M_end_of_storage.i.i258, align 8 + store i32 1, ptr %call5.i.i.i.i2.i252, align 4 + %ref.tmp176.sroa.2.0.call5.i.i.i.i2.i252.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i252, i64 4 + store i32 2, ptr %ref.tmp176.sroa.2.0.call5.i.i.i.i2.i252.sroa_idx, align 4 + %_M_finish.i.i260 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp172, i64 0, i32 1 + store ptr %add.ptr.i1.i257, ptr %_M_finish.i.i260, align 8 %arrayinit.element185 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp172, i64 1 - %add.ptr.i.i255 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp172, i64 2 + %add.ptr.i.i263 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp172, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element185, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element170, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i256 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i261 unwind label %lpad.i.i257 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i261: ; preds = %invoke.cont184 - store ptr %call5.i.i.i.i1.i.i256, ptr %arrayinit.element170, align 8 - %add.ptr.i.i.i262 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i256, i64 2 - %_M_end_of_storage.i.i.i263 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 9, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i262, ptr %_M_end_of_storage.i.i.i263, align 8 - %call.i.i.i.i2.i.i264 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp172, ptr noundef nonnull %add.ptr.i.i255, ptr noundef nonnull %call5.i.i.i.i1.i.i256) - to label %invoke.cont191 unwind label %lpad.i.i257 - -lpad.i.i257: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i261, %invoke.cont184 + %call5.i.i.i.i1.i.i264 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i269 unwind label %lpad.i.i265 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i269: ; preds = %invoke.cont184 + store ptr %call5.i.i.i.i1.i.i264, ptr %arrayinit.element170, align 8 + %add.ptr.i.i.i270 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i264, i64 2 + %_M_end_of_storage.i.i.i271 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 9, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i270, ptr %_M_end_of_storage.i.i.i271, align 8 + %call.i.i.i.i2.i.i272 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp172, ptr noundef nonnull %add.ptr.i.i263, ptr noundef nonnull %call5.i.i.i.i1.i.i264) + to label %invoke.cont191 unwind label %lpad.i.i265 + +lpad.i.i265: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i269, %invoke.cont184 %22 = landingpad { ptr, i32 } cleanup %23 = load ptr, ptr %arrayinit.element170, align 8 - %tobool.not.i.i.i.i258 = icmp eq ptr %23, null - br i1 %tobool.not.i.i.i.i258, label %ehcleanup937, label %if.then.i.i3.i.i259 + %tobool.not.i.i.i.i266 = icmp eq ptr %23, null + br i1 %tobool.not.i.i.i.i266, label %ehcleanup937, label %if.then.i.i3.i.i267 -if.then.i.i3.i.i259: ; preds = %lpad.i.i257 +if.then.i.i3.i.i267: ; preds = %lpad.i.i265 call void @_ZdlPv(ptr noundef nonnull %23) #31 br label %ehcleanup937 -invoke.cont191: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i261 - %_M_finish.i.i.i265 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 9, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i264, ptr %_M_finish.i.i.i265, align 8 +invoke.cont191: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i269 + %_M_finish.i.i.i273 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 9, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i272, ptr %_M_finish.i.i.i273, align 8 %arrayinit.element192 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 10 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp194, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i268 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont206 unwind label %lpad.i269 + %call5.i.i.i.i2.i276 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont206 unwind label %lpad.i277 -lpad.i269: ; preds = %invoke.cont191 +lpad.i277: ; preds = %invoke.cont191 %24 = landingpad { ptr, i32 } cleanup br label %ehcleanup937 invoke.cont206: ; preds = %invoke.cont191 - store ptr %call5.i.i.i.i2.i268, ptr %ref.tmp194, align 8 - %add.ptr.i1.i273 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i268, i64 2 - %_M_end_of_storage.i.i274 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp194, i64 0, i32 2 - store ptr %add.ptr.i1.i273, ptr %_M_end_of_storage.i.i274, align 8 - store i32 2, ptr %call5.i.i.i.i2.i268, align 4 - %ref.tmp198.sroa.2.0.call5.i.i.i.i2.i268.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i268, i64 4 - store i32 1, ptr %ref.tmp198.sroa.2.0.call5.i.i.i.i2.i268.sroa_idx, align 4 - %_M_finish.i.i275 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp194, i64 0, i32 1 - store ptr %add.ptr.i1.i273, ptr %_M_finish.i.i275, align 8 + store ptr %call5.i.i.i.i2.i276, ptr %ref.tmp194, align 8 + %add.ptr.i1.i281 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i276, i64 8 + %_M_end_of_storage.i.i282 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp194, i64 0, i32 2 + store ptr %add.ptr.i1.i281, ptr %_M_end_of_storage.i.i282, align 8 + store i32 2, ptr %call5.i.i.i.i2.i276, align 4 + %ref.tmp198.sroa.2.0.call5.i.i.i.i2.i276.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i276, i64 4 + store i32 1, ptr %ref.tmp198.sroa.2.0.call5.i.i.i.i2.i276.sroa_idx, align 4 + %_M_finish.i.i284 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp194, i64 0, i32 1 + store ptr %add.ptr.i1.i281, ptr %_M_finish.i.i284, align 8 %arrayinit.element207 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp194, i64 1 - %add.ptr.i.i278 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp194, i64 2 + %add.ptr.i.i287 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp194, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element207, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element192, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i279 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i284 unwind label %lpad.i.i280 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i284: ; preds = %invoke.cont206 - store ptr %call5.i.i.i.i1.i.i279, ptr %arrayinit.element192, align 8 - %add.ptr.i.i.i285 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i279, i64 2 - %_M_end_of_storage.i.i.i286 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 10, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i285, ptr %_M_end_of_storage.i.i.i286, align 8 - %call.i.i.i.i2.i.i287 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp194, ptr noundef nonnull %add.ptr.i.i278, ptr noundef nonnull %call5.i.i.i.i1.i.i279) - to label %invoke.cont213 unwind label %lpad.i.i280 - -lpad.i.i280: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i284, %invoke.cont206 + %call5.i.i.i.i1.i.i288 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i293 unwind label %lpad.i.i289 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i293: ; preds = %invoke.cont206 + store ptr %call5.i.i.i.i1.i.i288, ptr %arrayinit.element192, align 8 + %add.ptr.i.i.i294 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i288, i64 2 + %_M_end_of_storage.i.i.i295 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 10, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i294, ptr %_M_end_of_storage.i.i.i295, align 8 + %call.i.i.i.i2.i.i296 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp194, ptr noundef nonnull %add.ptr.i.i287, ptr noundef nonnull %call5.i.i.i.i1.i.i288) + to label %invoke.cont213 unwind label %lpad.i.i289 + +lpad.i.i289: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i293, %invoke.cont206 %25 = landingpad { ptr, i32 } cleanup %26 = load ptr, ptr %arrayinit.element192, align 8 - %tobool.not.i.i.i.i281 = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i281, label %ehcleanup913, label %if.then.i.i3.i.i282 + %tobool.not.i.i.i.i290 = icmp eq ptr %26, null + br i1 %tobool.not.i.i.i.i290, label %ehcleanup913, label %if.then.i.i3.i.i291 -if.then.i.i3.i.i282: ; preds = %lpad.i.i280 +if.then.i.i3.i.i291: ; preds = %lpad.i.i289 call void @_ZdlPv(ptr noundef nonnull %26) #31 br label %ehcleanup913 -invoke.cont213: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i284 - %_M_finish.i.i.i288 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 10, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i287, ptr %_M_finish.i.i.i288, align 8 +invoke.cont213: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i293 + %_M_finish.i.i.i297 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 10, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i296, ptr %_M_finish.i.i.i297, align 8 %arrayinit.element214 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp216, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i291 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont228 unwind label %lpad.i292 + %call5.i.i.i.i2.i300 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont228 unwind label %lpad.i301 -lpad.i292: ; preds = %invoke.cont213 +lpad.i301: ; preds = %invoke.cont213 %27 = landingpad { ptr, i32 } cleanup br label %ehcleanup913 invoke.cont228: ; preds = %invoke.cont213 - store ptr %call5.i.i.i.i2.i291, ptr %ref.tmp216, align 8 - %add.ptr.i1.i296 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i291, i64 2 - %_M_end_of_storage.i.i297 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp216, i64 0, i32 2 - store ptr %add.ptr.i1.i296, ptr %_M_end_of_storage.i.i297, align 8 - store i32 1, ptr %call5.i.i.i.i2.i291, align 4 - %ref.tmp220.sroa.2.0.call5.i.i.i.i2.i291.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i291, i64 4 - store i32 2, ptr %ref.tmp220.sroa.2.0.call5.i.i.i.i2.i291.sroa_idx, align 4 - %_M_finish.i.i298 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp216, i64 0, i32 1 - store ptr %add.ptr.i1.i296, ptr %_M_finish.i.i298, align 8 + store ptr %call5.i.i.i.i2.i300, ptr %ref.tmp216, align 8 + %add.ptr.i1.i305 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i300, i64 8 + %_M_end_of_storage.i.i306 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp216, i64 0, i32 2 + store ptr %add.ptr.i1.i305, ptr %_M_end_of_storage.i.i306, align 8 + store i32 1, ptr %call5.i.i.i.i2.i300, align 4 + %ref.tmp220.sroa.2.0.call5.i.i.i.i2.i300.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i300, i64 4 + store i32 2, ptr %ref.tmp220.sroa.2.0.call5.i.i.i.i2.i300.sroa_idx, align 4 + %_M_finish.i.i308 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp216, i64 0, i32 1 + store ptr %add.ptr.i1.i305, ptr %_M_finish.i.i308, align 8 %arrayinit.element229 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element229, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i301 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont239 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit912 + %call5.i.i.i.i2.i311 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont239 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit945 invoke.cont239: ; preds = %invoke.cont228 - store ptr %call5.i.i.i.i2.i301, ptr %arrayinit.element229, align 8 - %add.ptr.i1.i306 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i301, i64 2 - %_M_end_of_storage.i.i307 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i306, ptr %_M_end_of_storage.i.i307, align 8 - store i32 3, ptr %call5.i.i.i.i2.i301, align 4 - %ref.tmp231.sroa.2.0.call5.i.i.i.i2.i301.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i301, i64 4 - store i32 4, ptr %ref.tmp231.sroa.2.0.call5.i.i.i.i2.i301.sroa_idx, align 4 - %_M_finish.i.i308 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i306, ptr %_M_finish.i.i308, align 8 - %add.ptr.i.i311 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 2 + store ptr %call5.i.i.i.i2.i311, ptr %arrayinit.element229, align 8 + %add.ptr.i1.i316 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i311, i64 8 + %_M_end_of_storage.i.i317 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i316, ptr %_M_end_of_storage.i.i317, align 8 + store i32 3, ptr %call5.i.i.i.i2.i311, align 4 + %ref.tmp231.sroa.2.0.call5.i.i.i.i2.i311.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i311, i64 4 + store i32 4, ptr %ref.tmp231.sroa.2.0.call5.i.i.i.i2.i311.sroa_idx, align 4 + %_M_finish.i.i319 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i316, ptr %_M_finish.i.i319, align 8 + %add.ptr.i.i322 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element214, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i312 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i317 unwind label %lpad.i.i313 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i317: ; preds = %invoke.cont239 - store ptr %call5.i.i.i.i1.i.i312, ptr %arrayinit.element214, align 8 - %add.ptr.i.i.i318 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i312, i64 2 - %_M_end_of_storage.i.i.i319 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 11, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i318, ptr %_M_end_of_storage.i.i.i319, align 8 - %call.i.i.i.i2.i.i320 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp216, ptr noundef nonnull %add.ptr.i.i311, ptr noundef nonnull %call5.i.i.i.i1.i.i312) - to label %invoke.cont245 unwind label %lpad.i.i313 - -lpad.i.i313: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i317, %invoke.cont239 + %call5.i.i.i.i1.i.i323 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i328 unwind label %lpad.i.i324 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i328: ; preds = %invoke.cont239 + store ptr %call5.i.i.i.i1.i.i323, ptr %arrayinit.element214, align 8 + %add.ptr.i.i.i329 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i323, i64 2 + %_M_end_of_storage.i.i.i330 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 11, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i329, ptr %_M_end_of_storage.i.i.i330, align 8 + %call.i.i.i.i2.i.i331 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp216, ptr noundef nonnull %add.ptr.i.i322, ptr noundef nonnull %call5.i.i.i.i1.i.i323) + to label %invoke.cont245 unwind label %lpad.i.i324 + +lpad.i.i324: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i328, %invoke.cont239 %28 = landingpad { ptr, i32 } cleanup %29 = load ptr, ptr %arrayinit.element214, align 8 - %tobool.not.i.i.i.i314 = icmp eq ptr %29, null - br i1 %tobool.not.i.i.i.i314, label %ehcleanup888, label %if.then.i.i3.i.i315 + %tobool.not.i.i.i.i325 = icmp eq ptr %29, null + br i1 %tobool.not.i.i.i.i325, label %ehcleanup888, label %if.then.i.i3.i.i326 -if.then.i.i3.i.i315: ; preds = %lpad.i.i313 +if.then.i.i3.i.i326: ; preds = %lpad.i.i324 call void @_ZdlPv(ptr noundef nonnull %29) #31 br label %ehcleanup888 -invoke.cont245: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i317 - %_M_finish.i.i.i321 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 11, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i320, ptr %_M_finish.i.i.i321, align 8 +invoke.cont245: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i328 + %_M_finish.i.i.i332 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 11, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i331, ptr %_M_finish.i.i.i332, align 8 %arrayinit.element246 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp248, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i324 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont260 unwind label %lpad.i325 + %call5.i.i.i.i2.i335 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont260 unwind label %lpad.i336 -lpad.i325: ; preds = %invoke.cont245 +lpad.i336: ; preds = %invoke.cont245 %30 = landingpad { ptr, i32 } cleanup br label %ehcleanup888 invoke.cont260: ; preds = %invoke.cont245 - store ptr %call5.i.i.i.i2.i324, ptr %ref.tmp248, align 8 - %add.ptr.i1.i329 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i324, i64 2 - %_M_end_of_storage.i.i330 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp248, i64 0, i32 2 - store ptr %add.ptr.i1.i329, ptr %_M_end_of_storage.i.i330, align 8 - store i32 1, ptr %call5.i.i.i.i2.i324, align 4 - %ref.tmp252.sroa.2.0.call5.i.i.i.i2.i324.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i324, i64 4 - store i32 2, ptr %ref.tmp252.sroa.2.0.call5.i.i.i.i2.i324.sroa_idx, align 4 - %_M_finish.i.i331 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp248, i64 0, i32 1 - store ptr %add.ptr.i1.i329, ptr %_M_finish.i.i331, align 8 + store ptr %call5.i.i.i.i2.i335, ptr %ref.tmp248, align 8 + %add.ptr.i1.i340 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i335, i64 8 + %_M_end_of_storage.i.i341 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp248, i64 0, i32 2 + store ptr %add.ptr.i1.i340, ptr %_M_end_of_storage.i.i341, align 8 + store i32 1, ptr %call5.i.i.i.i2.i335, align 4 + %ref.tmp252.sroa.2.0.call5.i.i.i.i2.i335.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i335, i64 4 + store i32 2, ptr %ref.tmp252.sroa.2.0.call5.i.i.i.i2.i335.sroa_idx, align 4 + %_M_finish.i.i343 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp248, i64 0, i32 1 + store ptr %add.ptr.i1.i340, ptr %_M_finish.i.i343, align 8 %arrayinit.element261 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element261, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i334 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont271 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit902 + %call5.i.i.i.i2.i346 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont271 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit935 invoke.cont271: ; preds = %invoke.cont260 - store ptr %call5.i.i.i.i2.i334, ptr %arrayinit.element261, align 8 - %add.ptr.i1.i339 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i334, i64 2 - %_M_end_of_storage.i.i340 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i339, ptr %_M_end_of_storage.i.i340, align 8 - store i32 4, ptr %call5.i.i.i.i2.i334, align 4 - %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i334.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i334, i64 4 - store i32 3, ptr %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i334.sroa_idx, align 4 - %_M_finish.i.i341 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i339, ptr %_M_finish.i.i341, align 8 - %add.ptr.i.i344 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 2 + store ptr %call5.i.i.i.i2.i346, ptr %arrayinit.element261, align 8 + %add.ptr.i1.i351 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i346, i64 8 + %_M_end_of_storage.i.i352 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i351, ptr %_M_end_of_storage.i.i352, align 8 + store i32 4, ptr %call5.i.i.i.i2.i346, align 4 + %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i346.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i346, i64 4 + store i32 3, ptr %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i346.sroa_idx, align 4 + %_M_finish.i.i354 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i351, ptr %_M_finish.i.i354, align 8 + %add.ptr.i.i357 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element246, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i345 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i350 unwind label %lpad.i.i346 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i350: ; preds = %invoke.cont271 - store ptr %call5.i.i.i.i1.i.i345, ptr %arrayinit.element246, align 8 - %add.ptr.i.i.i351 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i345, i64 2 - %_M_end_of_storage.i.i.i352 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 12, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i351, ptr %_M_end_of_storage.i.i.i352, align 8 - %call.i.i.i.i2.i.i353 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp248, ptr noundef nonnull %add.ptr.i.i344, ptr noundef nonnull %call5.i.i.i.i1.i.i345) - to label %invoke.cont277 unwind label %lpad.i.i346 - -lpad.i.i346: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i350, %invoke.cont271 + %call5.i.i.i.i1.i.i358 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i363 unwind label %lpad.i.i359 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i363: ; preds = %invoke.cont271 + store ptr %call5.i.i.i.i1.i.i358, ptr %arrayinit.element246, align 8 + %add.ptr.i.i.i364 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i358, i64 2 + %_M_end_of_storage.i.i.i365 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 12, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i364, ptr %_M_end_of_storage.i.i.i365, align 8 + %call.i.i.i.i2.i.i366 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp248, ptr noundef nonnull %add.ptr.i.i357, ptr noundef nonnull %call5.i.i.i.i1.i.i358) + to label %invoke.cont277 unwind label %lpad.i.i359 + +lpad.i.i359: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i363, %invoke.cont271 %31 = landingpad { ptr, i32 } cleanup %32 = load ptr, ptr %arrayinit.element246, align 8 - %tobool.not.i.i.i.i347 = icmp eq ptr %32, null - br i1 %tobool.not.i.i.i.i347, label %ehcleanup863, label %if.then.i.i3.i.i348 + %tobool.not.i.i.i.i360 = icmp eq ptr %32, null + br i1 %tobool.not.i.i.i.i360, label %ehcleanup863, label %if.then.i.i3.i.i361 -if.then.i.i3.i.i348: ; preds = %lpad.i.i346 +if.then.i.i3.i.i361: ; preds = %lpad.i.i359 call void @_ZdlPv(ptr noundef nonnull %32) #31 br label %ehcleanup863 -invoke.cont277: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i350 - %_M_finish.i.i.i354 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 12, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i353, ptr %_M_finish.i.i.i354, align 8 +invoke.cont277: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i363 + %_M_finish.i.i.i367 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 12, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i366, ptr %_M_finish.i.i.i367, align 8 %arrayinit.element278 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 13 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp280, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i357 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont292 unwind label %lpad.i358 + %call5.i.i.i.i2.i370 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont292 unwind label %lpad.i371 -lpad.i358: ; preds = %invoke.cont277 +lpad.i371: ; preds = %invoke.cont277 %33 = landingpad { ptr, i32 } cleanup br label %ehcleanup863 invoke.cont292: ; preds = %invoke.cont277 - store ptr %call5.i.i.i.i2.i357, ptr %ref.tmp280, align 8 - %add.ptr.i1.i362 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i357, i64 2 - %_M_end_of_storage.i.i363 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp280, i64 0, i32 2 - store ptr %add.ptr.i1.i362, ptr %_M_end_of_storage.i.i363, align 8 - store i32 1, ptr %call5.i.i.i.i2.i357, align 4 - %ref.tmp284.sroa.2.0.call5.i.i.i.i2.i357.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i357, i64 4 - store i32 3, ptr %ref.tmp284.sroa.2.0.call5.i.i.i.i2.i357.sroa_idx, align 4 - %_M_finish.i.i364 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp280, i64 0, i32 1 - store ptr %add.ptr.i1.i362, ptr %_M_finish.i.i364, align 8 + store ptr %call5.i.i.i.i2.i370, ptr %ref.tmp280, align 8 + %add.ptr.i1.i375 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i370, i64 8 + %_M_end_of_storage.i.i376 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp280, i64 0, i32 2 + store ptr %add.ptr.i1.i375, ptr %_M_end_of_storage.i.i376, align 8 + store i32 1, ptr %call5.i.i.i.i2.i370, align 4 + %ref.tmp284.sroa.2.0.call5.i.i.i.i2.i370.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i370, i64 4 + store i32 3, ptr %ref.tmp284.sroa.2.0.call5.i.i.i.i2.i370.sroa_idx, align 4 + %_M_finish.i.i378 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp280, i64 0, i32 1 + store ptr %add.ptr.i1.i375, ptr %_M_finish.i.i378, align 8 %arrayinit.element293 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element293, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i367 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont303 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit892 + %call5.i.i.i.i2.i381 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont303 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit925 invoke.cont303: ; preds = %invoke.cont292 - store ptr %call5.i.i.i.i2.i367, ptr %arrayinit.element293, align 8 - %add.ptr.i1.i372 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i367, i64 2 - %_M_end_of_storage.i.i373 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i372, ptr %_M_end_of_storage.i.i373, align 8 - store i32 2, ptr %call5.i.i.i.i2.i367, align 4 - %ref.tmp295.sroa.2.0.call5.i.i.i.i2.i367.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i367, i64 4 - store i32 4, ptr %ref.tmp295.sroa.2.0.call5.i.i.i.i2.i367.sroa_idx, align 4 - %_M_finish.i.i374 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i372, ptr %_M_finish.i.i374, align 8 - %add.ptr.i.i377 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 2 + store ptr %call5.i.i.i.i2.i381, ptr %arrayinit.element293, align 8 + %add.ptr.i1.i386 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i381, i64 8 + %_M_end_of_storage.i.i387 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i386, ptr %_M_end_of_storage.i.i387, align 8 + store i32 2, ptr %call5.i.i.i.i2.i381, align 4 + %ref.tmp295.sroa.2.0.call5.i.i.i.i2.i381.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i381, i64 4 + store i32 4, ptr %ref.tmp295.sroa.2.0.call5.i.i.i.i2.i381.sroa_idx, align 4 + %_M_finish.i.i389 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i386, ptr %_M_finish.i.i389, align 8 + %add.ptr.i.i392 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element278, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i378 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i383 unwind label %lpad.i.i379 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i383: ; preds = %invoke.cont303 - store ptr %call5.i.i.i.i1.i.i378, ptr %arrayinit.element278, align 8 - %add.ptr.i.i.i384 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i378, i64 2 - %_M_end_of_storage.i.i.i385 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 13, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i384, ptr %_M_end_of_storage.i.i.i385, align 8 - %call.i.i.i.i2.i.i386 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp280, ptr noundef nonnull %add.ptr.i.i377, ptr noundef nonnull %call5.i.i.i.i1.i.i378) - to label %invoke.cont309 unwind label %lpad.i.i379 - -lpad.i.i379: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i383, %invoke.cont303 + %call5.i.i.i.i1.i.i393 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i398 unwind label %lpad.i.i394 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i398: ; preds = %invoke.cont303 + store ptr %call5.i.i.i.i1.i.i393, ptr %arrayinit.element278, align 8 + %add.ptr.i.i.i399 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i393, i64 2 + %_M_end_of_storage.i.i.i400 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 13, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i399, ptr %_M_end_of_storage.i.i.i400, align 8 + %call.i.i.i.i2.i.i401 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp280, ptr noundef nonnull %add.ptr.i.i392, ptr noundef nonnull %call5.i.i.i.i1.i.i393) + to label %invoke.cont309 unwind label %lpad.i.i394 + +lpad.i.i394: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i398, %invoke.cont303 %34 = landingpad { ptr, i32 } cleanup %35 = load ptr, ptr %arrayinit.element278, align 8 - %tobool.not.i.i.i.i380 = icmp eq ptr %35, null - br i1 %tobool.not.i.i.i.i380, label %ehcleanup838, label %if.then.i.i3.i.i381 + %tobool.not.i.i.i.i395 = icmp eq ptr %35, null + br i1 %tobool.not.i.i.i.i395, label %ehcleanup838, label %if.then.i.i3.i.i396 -if.then.i.i3.i.i381: ; preds = %lpad.i.i379 +if.then.i.i3.i.i396: ; preds = %lpad.i.i394 call void @_ZdlPv(ptr noundef nonnull %35) #31 br label %ehcleanup838 -invoke.cont309: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i383 - %_M_finish.i.i.i387 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 13, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i386, ptr %_M_finish.i.i.i387, align 8 +invoke.cont309: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i398 + %_M_finish.i.i.i402 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 13, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i401, ptr %_M_finish.i.i.i402, align 8 %arrayinit.element310 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 14 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp312, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i390 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont324 unwind label %lpad.i391 + %call5.i.i.i.i2.i405 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont324 unwind label %lpad.i406 -lpad.i391: ; preds = %invoke.cont309 +lpad.i406: ; preds = %invoke.cont309 %36 = landingpad { ptr, i32 } cleanup br label %ehcleanup838 invoke.cont324: ; preds = %invoke.cont309 - store ptr %call5.i.i.i.i2.i390, ptr %ref.tmp312, align 8 - %add.ptr.i1.i395 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i390, i64 2 - %_M_end_of_storage.i.i396 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp312, i64 0, i32 2 - store ptr %add.ptr.i1.i395, ptr %_M_end_of_storage.i.i396, align 8 - store i32 1, ptr %call5.i.i.i.i2.i390, align 4 - %ref.tmp316.sroa.2.0.call5.i.i.i.i2.i390.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i390, i64 4 - store i32 3, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i2.i390.sroa_idx, align 4 - %_M_finish.i.i397 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp312, i64 0, i32 1 - store ptr %add.ptr.i1.i395, ptr %_M_finish.i.i397, align 8 + store ptr %call5.i.i.i.i2.i405, ptr %ref.tmp312, align 8 + %add.ptr.i1.i410 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i405, i64 8 + %_M_end_of_storage.i.i411 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp312, i64 0, i32 2 + store ptr %add.ptr.i1.i410, ptr %_M_end_of_storage.i.i411, align 8 + store i32 1, ptr %call5.i.i.i.i2.i405, align 4 + %ref.tmp316.sroa.2.0.call5.i.i.i.i2.i405.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i405, i64 4 + store i32 3, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i2.i405.sroa_idx, align 4 + %_M_finish.i.i413 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp312, i64 0, i32 1 + store ptr %add.ptr.i1.i410, ptr %_M_finish.i.i413, align 8 %arrayinit.element325 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element325, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i400 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont335 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit882 + %call5.i.i.i.i2.i416 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont335 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit915 invoke.cont335: ; preds = %invoke.cont324 - store ptr %call5.i.i.i.i2.i400, ptr %arrayinit.element325, align 8 - %add.ptr.i1.i405 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i400, i64 2 - %_M_end_of_storage.i.i406 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i405, ptr %_M_end_of_storage.i.i406, align 8 - store i32 4, ptr %call5.i.i.i.i2.i400, align 4 - %ref.tmp327.sroa.2.0.call5.i.i.i.i2.i400.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i400, i64 4 - store i32 2, ptr %ref.tmp327.sroa.2.0.call5.i.i.i.i2.i400.sroa_idx, align 4 - %_M_finish.i.i407 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i405, ptr %_M_finish.i.i407, align 8 - %add.ptr.i.i410 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 2 + store ptr %call5.i.i.i.i2.i416, ptr %arrayinit.element325, align 8 + %add.ptr.i1.i421 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i416, i64 8 + %_M_end_of_storage.i.i422 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i421, ptr %_M_end_of_storage.i.i422, align 8 + store i32 4, ptr %call5.i.i.i.i2.i416, align 4 + %ref.tmp327.sroa.2.0.call5.i.i.i.i2.i416.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i416, i64 4 + store i32 2, ptr %ref.tmp327.sroa.2.0.call5.i.i.i.i2.i416.sroa_idx, align 4 + %_M_finish.i.i424 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i421, ptr %_M_finish.i.i424, align 8 + %add.ptr.i.i427 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element310, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i411 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i416 unwind label %lpad.i.i412 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i416: ; preds = %invoke.cont335 - store ptr %call5.i.i.i.i1.i.i411, ptr %arrayinit.element310, align 8 - %add.ptr.i.i.i417 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i411, i64 2 - %_M_end_of_storage.i.i.i418 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 14, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i417, ptr %_M_end_of_storage.i.i.i418, align 8 - %call.i.i.i.i2.i.i419 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp312, ptr noundef nonnull %add.ptr.i.i410, ptr noundef nonnull %call5.i.i.i.i1.i.i411) - to label %invoke.cont341 unwind label %lpad.i.i412 - -lpad.i.i412: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i416, %invoke.cont335 + %call5.i.i.i.i1.i.i428 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i433 unwind label %lpad.i.i429 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i433: ; preds = %invoke.cont335 + store ptr %call5.i.i.i.i1.i.i428, ptr %arrayinit.element310, align 8 + %add.ptr.i.i.i434 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i428, i64 2 + %_M_end_of_storage.i.i.i435 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 14, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i434, ptr %_M_end_of_storage.i.i.i435, align 8 + %call.i.i.i.i2.i.i436 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp312, ptr noundef nonnull %add.ptr.i.i427, ptr noundef nonnull %call5.i.i.i.i1.i.i428) + to label %invoke.cont341 unwind label %lpad.i.i429 + +lpad.i.i429: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i433, %invoke.cont335 %37 = landingpad { ptr, i32 } cleanup %38 = load ptr, ptr %arrayinit.element310, align 8 - %tobool.not.i.i.i.i413 = icmp eq ptr %38, null - br i1 %tobool.not.i.i.i.i413, label %ehcleanup813, label %if.then.i.i3.i.i414 + %tobool.not.i.i.i.i430 = icmp eq ptr %38, null + br i1 %tobool.not.i.i.i.i430, label %ehcleanup813, label %if.then.i.i3.i.i431 -if.then.i.i3.i.i414: ; preds = %lpad.i.i412 +if.then.i.i3.i.i431: ; preds = %lpad.i.i429 call void @_ZdlPv(ptr noundef nonnull %38) #31 br label %ehcleanup813 -invoke.cont341: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i416 - %_M_finish.i.i.i420 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 14, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i419, ptr %_M_finish.i.i.i420, align 8 +invoke.cont341: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i433 + %_M_finish.i.i.i437 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 14, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i436, ptr %_M_finish.i.i.i437, align 8 %arrayinit.element342 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 15 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp344, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i423 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont356 unwind label %lpad.i424 + %call5.i.i.i.i2.i440 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont356 unwind label %lpad.i441 -lpad.i424: ; preds = %invoke.cont341 +lpad.i441: ; preds = %invoke.cont341 %39 = landingpad { ptr, i32 } cleanup br label %ehcleanup813 invoke.cont356: ; preds = %invoke.cont341 - store ptr %call5.i.i.i.i2.i423, ptr %ref.tmp344, align 8 - %add.ptr.i1.i428 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i423, i64 2 - %_M_end_of_storage.i.i429 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp344, i64 0, i32 2 - store ptr %add.ptr.i1.i428, ptr %_M_end_of_storage.i.i429, align 8 - store i32 1, ptr %call5.i.i.i.i2.i423, align 4 - %ref.tmp348.sroa.2.0.call5.i.i.i.i2.i423.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i423, i64 4 - store i32 4, ptr %ref.tmp348.sroa.2.0.call5.i.i.i.i2.i423.sroa_idx, align 4 - %_M_finish.i.i430 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp344, i64 0, i32 1 - store ptr %add.ptr.i1.i428, ptr %_M_finish.i.i430, align 8 + store ptr %call5.i.i.i.i2.i440, ptr %ref.tmp344, align 8 + %add.ptr.i1.i445 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i440, i64 8 + %_M_end_of_storage.i.i446 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp344, i64 0, i32 2 + store ptr %add.ptr.i1.i445, ptr %_M_end_of_storage.i.i446, align 8 + store i32 1, ptr %call5.i.i.i.i2.i440, align 4 + %ref.tmp348.sroa.2.0.call5.i.i.i.i2.i440.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i440, i64 4 + store i32 4, ptr %ref.tmp348.sroa.2.0.call5.i.i.i.i2.i440.sroa_idx, align 4 + %_M_finish.i.i448 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp344, i64 0, i32 1 + store ptr %add.ptr.i1.i445, ptr %_M_finish.i.i448, align 8 %arrayinit.element357 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element357, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i433 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont367 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit872 + %call5.i.i.i.i2.i451 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont367 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit905 invoke.cont367: ; preds = %invoke.cont356 - store ptr %call5.i.i.i.i2.i433, ptr %arrayinit.element357, align 8 - %add.ptr.i1.i438 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i433, i64 2 - %_M_end_of_storage.i.i439 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i438, ptr %_M_end_of_storage.i.i439, align 8 - store i32 2, ptr %call5.i.i.i.i2.i433, align 4 - %ref.tmp359.sroa.2.0.call5.i.i.i.i2.i433.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i433, i64 4 - store i32 3, ptr %ref.tmp359.sroa.2.0.call5.i.i.i.i2.i433.sroa_idx, align 4 - %_M_finish.i.i440 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i438, ptr %_M_finish.i.i440, align 8 - %add.ptr.i.i443 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 2 + store ptr %call5.i.i.i.i2.i451, ptr %arrayinit.element357, align 8 + %add.ptr.i1.i456 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i451, i64 8 + %_M_end_of_storage.i.i457 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i456, ptr %_M_end_of_storage.i.i457, align 8 + store i32 2, ptr %call5.i.i.i.i2.i451, align 4 + %ref.tmp359.sroa.2.0.call5.i.i.i.i2.i451.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i451, i64 4 + store i32 3, ptr %ref.tmp359.sroa.2.0.call5.i.i.i.i2.i451.sroa_idx, align 4 + %_M_finish.i.i459 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i456, ptr %_M_finish.i.i459, align 8 + %add.ptr.i.i462 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element342, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i444 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i449 unwind label %lpad.i.i445 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i449: ; preds = %invoke.cont367 - store ptr %call5.i.i.i.i1.i.i444, ptr %arrayinit.element342, align 8 - %add.ptr.i.i.i450 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i444, i64 2 - %_M_end_of_storage.i.i.i451 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 15, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i450, ptr %_M_end_of_storage.i.i.i451, align 8 - %call.i.i.i.i2.i.i452 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp344, ptr noundef nonnull %add.ptr.i.i443, ptr noundef nonnull %call5.i.i.i.i1.i.i444) - to label %invoke.cont373 unwind label %lpad.i.i445 - -lpad.i.i445: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i449, %invoke.cont367 + %call5.i.i.i.i1.i.i463 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i468 unwind label %lpad.i.i464 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i468: ; preds = %invoke.cont367 + store ptr %call5.i.i.i.i1.i.i463, ptr %arrayinit.element342, align 8 + %add.ptr.i.i.i469 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i463, i64 2 + %_M_end_of_storage.i.i.i470 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 15, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i469, ptr %_M_end_of_storage.i.i.i470, align 8 + %call.i.i.i.i2.i.i471 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp344, ptr noundef nonnull %add.ptr.i.i462, ptr noundef nonnull %call5.i.i.i.i1.i.i463) + to label %invoke.cont373 unwind label %lpad.i.i464 + +lpad.i.i464: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i468, %invoke.cont367 %40 = landingpad { ptr, i32 } cleanup %41 = load ptr, ptr %arrayinit.element342, align 8 - %tobool.not.i.i.i.i446 = icmp eq ptr %41, null - br i1 %tobool.not.i.i.i.i446, label %ehcleanup788, label %if.then.i.i3.i.i447 + %tobool.not.i.i.i.i465 = icmp eq ptr %41, null + br i1 %tobool.not.i.i.i.i465, label %ehcleanup788, label %if.then.i.i3.i.i466 -if.then.i.i3.i.i447: ; preds = %lpad.i.i445 +if.then.i.i3.i.i466: ; preds = %lpad.i.i464 call void @_ZdlPv(ptr noundef nonnull %41) #31 br label %ehcleanup788 -invoke.cont373: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i449 - %_M_finish.i.i.i453 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 15, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i452, ptr %_M_finish.i.i.i453, align 8 +invoke.cont373: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i468 + %_M_finish.i.i.i472 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 15, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i471, ptr %_M_finish.i.i.i472, align 8 %arrayinit.element374 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp376, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i456 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont388 unwind label %lpad.i457 + %call5.i.i.i.i2.i475 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont388 unwind label %lpad.i476 -lpad.i457: ; preds = %invoke.cont373 +lpad.i476: ; preds = %invoke.cont373 %42 = landingpad { ptr, i32 } cleanup br label %ehcleanup788 invoke.cont388: ; preds = %invoke.cont373 - store ptr %call5.i.i.i.i2.i456, ptr %ref.tmp376, align 8 - %add.ptr.i1.i461 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i456, i64 2 - %_M_end_of_storage.i.i462 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp376, i64 0, i32 2 - store ptr %add.ptr.i1.i461, ptr %_M_end_of_storage.i.i462, align 8 - store i32 1, ptr %call5.i.i.i.i2.i456, align 4 - %ref.tmp380.sroa.2.0.call5.i.i.i.i2.i456.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i456, i64 4 - store i32 4, ptr %ref.tmp380.sroa.2.0.call5.i.i.i.i2.i456.sroa_idx, align 4 - %_M_finish.i.i463 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp376, i64 0, i32 1 - store ptr %add.ptr.i1.i461, ptr %_M_finish.i.i463, align 8 + store ptr %call5.i.i.i.i2.i475, ptr %ref.tmp376, align 8 + %add.ptr.i1.i480 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i475, i64 8 + %_M_end_of_storage.i.i481 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp376, i64 0, i32 2 + store ptr %add.ptr.i1.i480, ptr %_M_end_of_storage.i.i481, align 8 + store i32 1, ptr %call5.i.i.i.i2.i475, align 4 + %ref.tmp380.sroa.2.0.call5.i.i.i.i2.i475.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i475, i64 4 + store i32 4, ptr %ref.tmp380.sroa.2.0.call5.i.i.i.i2.i475.sroa_idx, align 4 + %_M_finish.i.i483 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp376, i64 0, i32 1 + store ptr %add.ptr.i1.i480, ptr %_M_finish.i.i483, align 8 %arrayinit.element389 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element389, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i466 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont399 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit862 + %call5.i.i.i.i2.i486 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont399 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit895 invoke.cont399: ; preds = %invoke.cont388 - store ptr %call5.i.i.i.i2.i466, ptr %arrayinit.element389, align 8 - %add.ptr.i1.i471 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i466, i64 2 - %_M_end_of_storage.i.i472 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i471, ptr %_M_end_of_storage.i.i472, align 8 - store i32 3, ptr %call5.i.i.i.i2.i466, align 4 - %ref.tmp391.sroa.2.0.call5.i.i.i.i2.i466.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i466, i64 4 - store i32 2, ptr %ref.tmp391.sroa.2.0.call5.i.i.i.i2.i466.sroa_idx, align 4 - %_M_finish.i.i473 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i471, ptr %_M_finish.i.i473, align 8 - %add.ptr.i.i476 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 2 + store ptr %call5.i.i.i.i2.i486, ptr %arrayinit.element389, align 8 + %add.ptr.i1.i491 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i486, i64 8 + %_M_end_of_storage.i.i492 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i491, ptr %_M_end_of_storage.i.i492, align 8 + store i32 3, ptr %call5.i.i.i.i2.i486, align 4 + %ref.tmp391.sroa.2.0.call5.i.i.i.i2.i486.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i486, i64 4 + store i32 2, ptr %ref.tmp391.sroa.2.0.call5.i.i.i.i2.i486.sroa_idx, align 4 + %_M_finish.i.i494 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i491, ptr %_M_finish.i.i494, align 8 + %add.ptr.i.i497 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element374, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i477 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i482 unwind label %lpad.i.i478 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i482: ; preds = %invoke.cont399 - store ptr %call5.i.i.i.i1.i.i477, ptr %arrayinit.element374, align 8 - %add.ptr.i.i.i483 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i477, i64 2 - %_M_end_of_storage.i.i.i484 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 16, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i483, ptr %_M_end_of_storage.i.i.i484, align 8 - %call.i.i.i.i2.i.i485 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp376, ptr noundef nonnull %add.ptr.i.i476, ptr noundef nonnull %call5.i.i.i.i1.i.i477) - to label %invoke.cont405 unwind label %lpad.i.i478 - -lpad.i.i478: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i482, %invoke.cont399 + %call5.i.i.i.i1.i.i498 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i503 unwind label %lpad.i.i499 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i503: ; preds = %invoke.cont399 + store ptr %call5.i.i.i.i1.i.i498, ptr %arrayinit.element374, align 8 + %add.ptr.i.i.i504 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i498, i64 2 + %_M_end_of_storage.i.i.i505 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 16, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i504, ptr %_M_end_of_storage.i.i.i505, align 8 + %call.i.i.i.i2.i.i506 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp376, ptr noundef nonnull %add.ptr.i.i497, ptr noundef nonnull %call5.i.i.i.i1.i.i498) + to label %invoke.cont405 unwind label %lpad.i.i499 + +lpad.i.i499: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i503, %invoke.cont399 %43 = landingpad { ptr, i32 } cleanup %44 = load ptr, ptr %arrayinit.element374, align 8 - %tobool.not.i.i.i.i479 = icmp eq ptr %44, null - br i1 %tobool.not.i.i.i.i479, label %ehcleanup763, label %if.then.i.i3.i.i480 + %tobool.not.i.i.i.i500 = icmp eq ptr %44, null + br i1 %tobool.not.i.i.i.i500, label %ehcleanup763, label %if.then.i.i3.i.i501 -if.then.i.i3.i.i480: ; preds = %lpad.i.i478 +if.then.i.i3.i.i501: ; preds = %lpad.i.i499 call void @_ZdlPv(ptr noundef nonnull %44) #31 br label %ehcleanup763 -invoke.cont405: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i482 - %_M_finish.i.i.i486 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 16, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i485, ptr %_M_finish.i.i.i486, align 8 +invoke.cont405: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i503 + %_M_finish.i.i.i507 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 16, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i506, ptr %_M_finish.i.i.i507, align 8 %arrayinit.element406 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 17 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp408, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i489 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont420 unwind label %lpad.i490 + %call5.i.i.i.i2.i510 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont420 unwind label %lpad.i511 -lpad.i490: ; preds = %invoke.cont405 +lpad.i511: ; preds = %invoke.cont405 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup763 invoke.cont420: ; preds = %invoke.cont405 - store ptr %call5.i.i.i.i2.i489, ptr %ref.tmp408, align 8 - %add.ptr.i1.i494 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i489, i64 2 - %_M_end_of_storage.i.i495 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp408, i64 0, i32 2 - store ptr %add.ptr.i1.i494, ptr %_M_end_of_storage.i.i495, align 8 - store i32 2, ptr %call5.i.i.i.i2.i489, align 4 - %ref.tmp412.sroa.2.0.call5.i.i.i.i2.i489.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i489, i64 4 - store i32 3, ptr %ref.tmp412.sroa.2.0.call5.i.i.i.i2.i489.sroa_idx, align 4 - %_M_finish.i.i496 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp408, i64 0, i32 1 - store ptr %add.ptr.i1.i494, ptr %_M_finish.i.i496, align 8 + store ptr %call5.i.i.i.i2.i510, ptr %ref.tmp408, align 8 + %add.ptr.i1.i515 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i510, i64 8 + %_M_end_of_storage.i.i516 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp408, i64 0, i32 2 + store ptr %add.ptr.i1.i515, ptr %_M_end_of_storage.i.i516, align 8 + store i32 2, ptr %call5.i.i.i.i2.i510, align 4 + %ref.tmp412.sroa.2.0.call5.i.i.i.i2.i510.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i510, i64 4 + store i32 3, ptr %ref.tmp412.sroa.2.0.call5.i.i.i.i2.i510.sroa_idx, align 4 + %_M_finish.i.i518 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp408, i64 0, i32 1 + store ptr %add.ptr.i1.i515, ptr %_M_finish.i.i518, align 8 %arrayinit.element421 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element421, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i499 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont431 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit852 + %call5.i.i.i.i2.i521 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont431 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit885 invoke.cont431: ; preds = %invoke.cont420 - store ptr %call5.i.i.i.i2.i499, ptr %arrayinit.element421, align 8 - %add.ptr.i1.i504 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i499, i64 2 - %_M_end_of_storage.i.i505 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i504, ptr %_M_end_of_storage.i.i505, align 8 - store i32 1, ptr %call5.i.i.i.i2.i499, align 4 - %ref.tmp423.sroa.2.0.call5.i.i.i.i2.i499.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i499, i64 4 - store i32 4, ptr %ref.tmp423.sroa.2.0.call5.i.i.i.i2.i499.sroa_idx, align 4 - %_M_finish.i.i506 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i504, ptr %_M_finish.i.i506, align 8 - %add.ptr.i.i509 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 2 + store ptr %call5.i.i.i.i2.i521, ptr %arrayinit.element421, align 8 + %add.ptr.i1.i526 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i521, i64 8 + %_M_end_of_storage.i.i527 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i526, ptr %_M_end_of_storage.i.i527, align 8 + store i32 1, ptr %call5.i.i.i.i2.i521, align 4 + %ref.tmp423.sroa.2.0.call5.i.i.i.i2.i521.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i521, i64 4 + store i32 4, ptr %ref.tmp423.sroa.2.0.call5.i.i.i.i2.i521.sroa_idx, align 4 + %_M_finish.i.i529 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i526, ptr %_M_finish.i.i529, align 8 + %add.ptr.i.i532 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element406, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i510 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i515 unwind label %lpad.i.i511 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i515: ; preds = %invoke.cont431 - store ptr %call5.i.i.i.i1.i.i510, ptr %arrayinit.element406, align 8 - %add.ptr.i.i.i516 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i510, i64 2 - %_M_end_of_storage.i.i.i517 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 17, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i516, ptr %_M_end_of_storage.i.i.i517, align 8 - %call.i.i.i.i2.i.i518 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp408, ptr noundef nonnull %add.ptr.i.i509, ptr noundef nonnull %call5.i.i.i.i1.i.i510) - to label %invoke.cont437 unwind label %lpad.i.i511 - -lpad.i.i511: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i515, %invoke.cont431 + %call5.i.i.i.i1.i.i533 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i538 unwind label %lpad.i.i534 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i538: ; preds = %invoke.cont431 + store ptr %call5.i.i.i.i1.i.i533, ptr %arrayinit.element406, align 8 + %add.ptr.i.i.i539 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i533, i64 2 + %_M_end_of_storage.i.i.i540 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 17, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i539, ptr %_M_end_of_storage.i.i.i540, align 8 + %call.i.i.i.i2.i.i541 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp408, ptr noundef nonnull %add.ptr.i.i532, ptr noundef nonnull %call5.i.i.i.i1.i.i533) + to label %invoke.cont437 unwind label %lpad.i.i534 + +lpad.i.i534: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i538, %invoke.cont431 %46 = landingpad { ptr, i32 } cleanup %47 = load ptr, ptr %arrayinit.element406, align 8 - %tobool.not.i.i.i.i512 = icmp eq ptr %47, null - br i1 %tobool.not.i.i.i.i512, label %ehcleanup738, label %if.then.i.i3.i.i513 + %tobool.not.i.i.i.i535 = icmp eq ptr %47, null + br i1 %tobool.not.i.i.i.i535, label %ehcleanup738, label %if.then.i.i3.i.i536 -if.then.i.i3.i.i513: ; preds = %lpad.i.i511 +if.then.i.i3.i.i536: ; preds = %lpad.i.i534 call void @_ZdlPv(ptr noundef nonnull %47) #31 br label %ehcleanup738 -invoke.cont437: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i515 - %_M_finish.i.i.i519 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 17, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i518, ptr %_M_finish.i.i.i519, align 8 +invoke.cont437: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i538 + %_M_finish.i.i.i542 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 17, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i541, ptr %_M_finish.i.i.i542, align 8 %arrayinit.element438 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp440, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i522 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont452 unwind label %lpad.i523 + %call5.i.i.i.i2.i545 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont452 unwind label %lpad.i546 -lpad.i523: ; preds = %invoke.cont437 +lpad.i546: ; preds = %invoke.cont437 %48 = landingpad { ptr, i32 } cleanup br label %ehcleanup738 invoke.cont452: ; preds = %invoke.cont437 - store ptr %call5.i.i.i.i2.i522, ptr %ref.tmp440, align 8 - %add.ptr.i1.i527 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i522, i64 2 - %_M_end_of_storage.i.i528 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp440, i64 0, i32 2 - store ptr %add.ptr.i1.i527, ptr %_M_end_of_storage.i.i528, align 8 - store i32 2, ptr %call5.i.i.i.i2.i522, align 4 - %ref.tmp444.sroa.2.0.call5.i.i.i.i2.i522.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i522, i64 4 - store i32 3, ptr %ref.tmp444.sroa.2.0.call5.i.i.i.i2.i522.sroa_idx, align 4 - %_M_finish.i.i529 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp440, i64 0, i32 1 - store ptr %add.ptr.i1.i527, ptr %_M_finish.i.i529, align 8 + store ptr %call5.i.i.i.i2.i545, ptr %ref.tmp440, align 8 + %add.ptr.i1.i550 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i545, i64 8 + %_M_end_of_storage.i.i551 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp440, i64 0, i32 2 + store ptr %add.ptr.i1.i550, ptr %_M_end_of_storage.i.i551, align 8 + store i32 2, ptr %call5.i.i.i.i2.i545, align 4 + %ref.tmp444.sroa.2.0.call5.i.i.i.i2.i545.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i545, i64 4 + store i32 3, ptr %ref.tmp444.sroa.2.0.call5.i.i.i.i2.i545.sroa_idx, align 4 + %_M_finish.i.i553 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp440, i64 0, i32 1 + store ptr %add.ptr.i1.i550, ptr %_M_finish.i.i553, align 8 %arrayinit.element453 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element453, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i532 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont463 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit842 + %call5.i.i.i.i2.i556 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont463 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit875 invoke.cont463: ; preds = %invoke.cont452 - store ptr %call5.i.i.i.i2.i532, ptr %arrayinit.element453, align 8 - %add.ptr.i1.i537 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i532, i64 2 - %_M_end_of_storage.i.i538 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i537, ptr %_M_end_of_storage.i.i538, align 8 - store i32 4, ptr %call5.i.i.i.i2.i532, align 4 - %ref.tmp455.sroa.2.0.call5.i.i.i.i2.i532.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i532, i64 4 - store i32 1, ptr %ref.tmp455.sroa.2.0.call5.i.i.i.i2.i532.sroa_idx, align 4 - %_M_finish.i.i539 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i537, ptr %_M_finish.i.i539, align 8 - %add.ptr.i.i542 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 2 + store ptr %call5.i.i.i.i2.i556, ptr %arrayinit.element453, align 8 + %add.ptr.i1.i561 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i556, i64 8 + %_M_end_of_storage.i.i562 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i561, ptr %_M_end_of_storage.i.i562, align 8 + store i32 4, ptr %call5.i.i.i.i2.i556, align 4 + %ref.tmp455.sroa.2.0.call5.i.i.i.i2.i556.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i556, i64 4 + store i32 1, ptr %ref.tmp455.sroa.2.0.call5.i.i.i.i2.i556.sroa_idx, align 4 + %_M_finish.i.i564 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i561, ptr %_M_finish.i.i564, align 8 + %add.ptr.i.i567 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element438, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i543 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i548 unwind label %lpad.i.i544 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i548: ; preds = %invoke.cont463 - store ptr %call5.i.i.i.i1.i.i543, ptr %arrayinit.element438, align 8 - %add.ptr.i.i.i549 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i543, i64 2 - %_M_end_of_storage.i.i.i550 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 18, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i549, ptr %_M_end_of_storage.i.i.i550, align 8 - %call.i.i.i.i2.i.i551 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp440, ptr noundef nonnull %add.ptr.i.i542, ptr noundef nonnull %call5.i.i.i.i1.i.i543) - to label %invoke.cont469 unwind label %lpad.i.i544 - -lpad.i.i544: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i548, %invoke.cont463 + %call5.i.i.i.i1.i.i568 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i573 unwind label %lpad.i.i569 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i573: ; preds = %invoke.cont463 + store ptr %call5.i.i.i.i1.i.i568, ptr %arrayinit.element438, align 8 + %add.ptr.i.i.i574 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i568, i64 2 + %_M_end_of_storage.i.i.i575 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 18, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i574, ptr %_M_end_of_storage.i.i.i575, align 8 + %call.i.i.i.i2.i.i576 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp440, ptr noundef nonnull %add.ptr.i.i567, ptr noundef nonnull %call5.i.i.i.i1.i.i568) + to label %invoke.cont469 unwind label %lpad.i.i569 + +lpad.i.i569: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i573, %invoke.cont463 %49 = landingpad { ptr, i32 } cleanup %50 = load ptr, ptr %arrayinit.element438, align 8 - %tobool.not.i.i.i.i545 = icmp eq ptr %50, null - br i1 %tobool.not.i.i.i.i545, label %ehcleanup713, label %if.then.i.i3.i.i546 + %tobool.not.i.i.i.i570 = icmp eq ptr %50, null + br i1 %tobool.not.i.i.i.i570, label %ehcleanup713, label %if.then.i.i3.i.i571 -if.then.i.i3.i.i546: ; preds = %lpad.i.i544 +if.then.i.i3.i.i571: ; preds = %lpad.i.i569 call void @_ZdlPv(ptr noundef nonnull %50) #31 br label %ehcleanup713 -invoke.cont469: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i548 - %_M_finish.i.i.i552 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 18, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i551, ptr %_M_finish.i.i.i552, align 8 +invoke.cont469: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i573 + %_M_finish.i.i.i577 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 18, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i576, ptr %_M_finish.i.i.i577, align 8 %arrayinit.element470 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 19 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp472, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i555 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont484 unwind label %lpad.i556 + %call5.i.i.i.i2.i580 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont484 unwind label %lpad.i581 -lpad.i556: ; preds = %invoke.cont469 +lpad.i581: ; preds = %invoke.cont469 %51 = landingpad { ptr, i32 } cleanup br label %ehcleanup713 invoke.cont484: ; preds = %invoke.cont469 - store ptr %call5.i.i.i.i2.i555, ptr %ref.tmp472, align 8 - %add.ptr.i1.i560 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i555, i64 2 - %_M_end_of_storage.i.i561 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 - store ptr %add.ptr.i1.i560, ptr %_M_end_of_storage.i.i561, align 8 - store i32 2, ptr %call5.i.i.i.i2.i555, align 4 - %ref.tmp476.sroa.2.0.call5.i.i.i.i2.i555.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i555, i64 4 - store i32 4, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i2.i555.sroa_idx, align 4 - %_M_finish.i.i562 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 - store ptr %add.ptr.i1.i560, ptr %_M_finish.i.i562, align 8 + store ptr %call5.i.i.i.i2.i580, ptr %ref.tmp472, align 8 + %add.ptr.i1.i585 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i580, i64 8 + %_M_end_of_storage.i.i586 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 + store ptr %add.ptr.i1.i585, ptr %_M_end_of_storage.i.i586, align 8 + store i32 2, ptr %call5.i.i.i.i2.i580, align 4 + %ref.tmp476.sroa.2.0.call5.i.i.i.i2.i580.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i580, i64 4 + store i32 4, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i2.i580.sroa_idx, align 4 + %_M_finish.i.i588 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 + store ptr %add.ptr.i1.i585, ptr %_M_finish.i.i588, align 8 %arrayinit.element485 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element485, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i565 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont495 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit832 + %call5.i.i.i.i2.i591 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont495 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit865 invoke.cont495: ; preds = %invoke.cont484 - store ptr %call5.i.i.i.i2.i565, ptr %arrayinit.element485, align 8 - %add.ptr.i1.i570 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i565, i64 2 - %_M_end_of_storage.i.i571 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i570, ptr %_M_end_of_storage.i.i571, align 8 - store i32 1, ptr %call5.i.i.i.i2.i565, align 4 - %ref.tmp487.sroa.2.0.call5.i.i.i.i2.i565.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i565, i64 4 - store i32 3, ptr %ref.tmp487.sroa.2.0.call5.i.i.i.i2.i565.sroa_idx, align 4 - %_M_finish.i.i572 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i570, ptr %_M_finish.i.i572, align 8 - %add.ptr.i.i575 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 2 + store ptr %call5.i.i.i.i2.i591, ptr %arrayinit.element485, align 8 + %add.ptr.i1.i596 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i591, i64 8 + %_M_end_of_storage.i.i597 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i596, ptr %_M_end_of_storage.i.i597, align 8 + store i32 1, ptr %call5.i.i.i.i2.i591, align 4 + %ref.tmp487.sroa.2.0.call5.i.i.i.i2.i591.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i591, i64 4 + store i32 3, ptr %ref.tmp487.sroa.2.0.call5.i.i.i.i2.i591.sroa_idx, align 4 + %_M_finish.i.i599 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i596, ptr %_M_finish.i.i599, align 8 + %add.ptr.i.i602 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i576 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i581 unwind label %lpad.i.i577 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i581: ; preds = %invoke.cont495 - store ptr %call5.i.i.i.i1.i.i576, ptr %arrayinit.element470, align 8 - %add.ptr.i.i.i582 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i576, i64 2 - %_M_end_of_storage.i.i.i583 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 19, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i582, ptr %_M_end_of_storage.i.i.i583, align 8 - %call.i.i.i.i2.i.i584 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp472, ptr noundef nonnull %add.ptr.i.i575, ptr noundef nonnull %call5.i.i.i.i1.i.i576) - to label %invoke.cont501 unwind label %lpad.i.i577 - -lpad.i.i577: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i581, %invoke.cont495 + %call5.i.i.i.i1.i.i603 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i608 unwind label %lpad.i.i604 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i608: ; preds = %invoke.cont495 + store ptr %call5.i.i.i.i1.i.i603, ptr %arrayinit.element470, align 8 + %add.ptr.i.i.i609 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i603, i64 2 + %_M_end_of_storage.i.i.i610 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 19, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i609, ptr %_M_end_of_storage.i.i.i610, align 8 + %call.i.i.i.i2.i.i611 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp472, ptr noundef nonnull %add.ptr.i.i602, ptr noundef nonnull %call5.i.i.i.i1.i.i603) + to label %invoke.cont501 unwind label %lpad.i.i604 + +lpad.i.i604: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i608, %invoke.cont495 %52 = landingpad { ptr, i32 } cleanup %53 = load ptr, ptr %arrayinit.element470, align 8 - %tobool.not.i.i.i.i578 = icmp eq ptr %53, null - br i1 %tobool.not.i.i.i.i578, label %ehcleanup688, label %if.then.i.i3.i.i579 + %tobool.not.i.i.i.i605 = icmp eq ptr %53, null + br i1 %tobool.not.i.i.i.i605, label %ehcleanup688, label %if.then.i.i3.i.i606 -if.then.i.i3.i.i579: ; preds = %lpad.i.i577 +if.then.i.i3.i.i606: ; preds = %lpad.i.i604 call void @_ZdlPv(ptr noundef nonnull %53) #31 br label %ehcleanup688 -invoke.cont501: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i581 - %_M_finish.i.i.i585 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 19, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i584, ptr %_M_finish.i.i.i585, align 8 +invoke.cont501: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i608 + %_M_finish.i.i.i612 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 19, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i611, ptr %_M_finish.i.i.i612, align 8 %arrayinit.element502 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp504, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i588 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont516 unwind label %lpad.i589 + %call5.i.i.i.i2.i615 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont516 unwind label %lpad.i616 -lpad.i589: ; preds = %invoke.cont501 +lpad.i616: ; preds = %invoke.cont501 %54 = landingpad { ptr, i32 } cleanup br label %ehcleanup688 invoke.cont516: ; preds = %invoke.cont501 - store ptr %call5.i.i.i.i2.i588, ptr %ref.tmp504, align 8 - %add.ptr.i1.i593 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i588, i64 2 - %_M_end_of_storage.i.i594 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp504, i64 0, i32 2 - store ptr %add.ptr.i1.i593, ptr %_M_end_of_storage.i.i594, align 8 - store i32 2, ptr %call5.i.i.i.i2.i588, align 4 - %ref.tmp508.sroa.2.0.call5.i.i.i.i2.i588.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i588, i64 4 - store i32 4, ptr %ref.tmp508.sroa.2.0.call5.i.i.i.i2.i588.sroa_idx, align 4 - %_M_finish.i.i595 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp504, i64 0, i32 1 - store ptr %add.ptr.i1.i593, ptr %_M_finish.i.i595, align 8 + store ptr %call5.i.i.i.i2.i615, ptr %ref.tmp504, align 8 + %add.ptr.i1.i620 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i615, i64 8 + %_M_end_of_storage.i.i621 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp504, i64 0, i32 2 + store ptr %add.ptr.i1.i620, ptr %_M_end_of_storage.i.i621, align 8 + store i32 2, ptr %call5.i.i.i.i2.i615, align 4 + %ref.tmp508.sroa.2.0.call5.i.i.i.i2.i615.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i615, i64 4 + store i32 4, ptr %ref.tmp508.sroa.2.0.call5.i.i.i.i2.i615.sroa_idx, align 4 + %_M_finish.i.i623 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp504, i64 0, i32 1 + store ptr %add.ptr.i1.i620, ptr %_M_finish.i.i623, align 8 %arrayinit.element517 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element517, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i598 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont527 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit822 + %call5.i.i.i.i2.i626 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont527 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit855 invoke.cont527: ; preds = %invoke.cont516 - store ptr %call5.i.i.i.i2.i598, ptr %arrayinit.element517, align 8 - %add.ptr.i1.i603 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i598, i64 2 - %_M_end_of_storage.i.i604 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i603, ptr %_M_end_of_storage.i.i604, align 8 - store i32 3, ptr %call5.i.i.i.i2.i598, align 4 - %ref.tmp519.sroa.2.0.call5.i.i.i.i2.i598.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i598, i64 4 - store i32 1, ptr %ref.tmp519.sroa.2.0.call5.i.i.i.i2.i598.sroa_idx, align 4 - %_M_finish.i.i605 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i603, ptr %_M_finish.i.i605, align 8 - %add.ptr.i.i608 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 2 + store ptr %call5.i.i.i.i2.i626, ptr %arrayinit.element517, align 8 + %add.ptr.i1.i631 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i626, i64 8 + %_M_end_of_storage.i.i632 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i631, ptr %_M_end_of_storage.i.i632, align 8 + store i32 3, ptr %call5.i.i.i.i2.i626, align 4 + %ref.tmp519.sroa.2.0.call5.i.i.i.i2.i626.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i626, i64 4 + store i32 1, ptr %ref.tmp519.sroa.2.0.call5.i.i.i.i2.i626.sroa_idx, align 4 + %_M_finish.i.i634 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i631, ptr %_M_finish.i.i634, align 8 + %add.ptr.i.i637 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element502, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i609 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i614 unwind label %lpad.i.i610 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i614: ; preds = %invoke.cont527 - store ptr %call5.i.i.i.i1.i.i609, ptr %arrayinit.element502, align 8 - %add.ptr.i.i.i615 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i609, i64 2 - %_M_end_of_storage.i.i.i616 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 20, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i615, ptr %_M_end_of_storage.i.i.i616, align 8 - %call.i.i.i.i2.i.i617 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp504, ptr noundef nonnull %add.ptr.i.i608, ptr noundef nonnull %call5.i.i.i.i1.i.i609) - to label %invoke.cont533 unwind label %lpad.i.i610 - -lpad.i.i610: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i614, %invoke.cont527 + %call5.i.i.i.i1.i.i638 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i643 unwind label %lpad.i.i639 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i643: ; preds = %invoke.cont527 + store ptr %call5.i.i.i.i1.i.i638, ptr %arrayinit.element502, align 8 + %add.ptr.i.i.i644 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i638, i64 2 + %_M_end_of_storage.i.i.i645 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 20, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i644, ptr %_M_end_of_storage.i.i.i645, align 8 + %call.i.i.i.i2.i.i646 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp504, ptr noundef nonnull %add.ptr.i.i637, ptr noundef nonnull %call5.i.i.i.i1.i.i638) + to label %invoke.cont533 unwind label %lpad.i.i639 + +lpad.i.i639: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i643, %invoke.cont527 %55 = landingpad { ptr, i32 } cleanup %56 = load ptr, ptr %arrayinit.element502, align 8 - %tobool.not.i.i.i.i611 = icmp eq ptr %56, null - br i1 %tobool.not.i.i.i.i611, label %ehcleanup663, label %if.then.i.i3.i.i612 + %tobool.not.i.i.i.i640 = icmp eq ptr %56, null + br i1 %tobool.not.i.i.i.i640, label %ehcleanup663, label %if.then.i.i3.i.i641 -if.then.i.i3.i.i612: ; preds = %lpad.i.i610 +if.then.i.i3.i.i641: ; preds = %lpad.i.i639 call void @_ZdlPv(ptr noundef nonnull %56) #31 br label %ehcleanup663 -invoke.cont533: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i614 - %_M_finish.i.i.i618 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 20, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i617, ptr %_M_finish.i.i.i618, align 8 +invoke.cont533: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i643 + %_M_finish.i.i.i647 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 20, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i646, ptr %_M_finish.i.i.i647, align 8 %arrayinit.element534 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 21 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp536, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i621 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont548 unwind label %lpad.i622 + %call5.i.i.i.i2.i650 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont548 unwind label %lpad.i651 -lpad.i622: ; preds = %invoke.cont533 +lpad.i651: ; preds = %invoke.cont533 %57 = landingpad { ptr, i32 } cleanup br label %ehcleanup663 invoke.cont548: ; preds = %invoke.cont533 - store ptr %call5.i.i.i.i2.i621, ptr %ref.tmp536, align 8 - %add.ptr.i1.i626 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i621, i64 2 - %_M_end_of_storage.i.i627 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp536, i64 0, i32 2 - store ptr %add.ptr.i1.i626, ptr %_M_end_of_storage.i.i627, align 8 - store i32 3, ptr %call5.i.i.i.i2.i621, align 4 - %ref.tmp540.sroa.2.0.call5.i.i.i.i2.i621.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i621, i64 4 - store i32 4, ptr %ref.tmp540.sroa.2.0.call5.i.i.i.i2.i621.sroa_idx, align 4 - %_M_finish.i.i628 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp536, i64 0, i32 1 - store ptr %add.ptr.i1.i626, ptr %_M_finish.i.i628, align 8 + store ptr %call5.i.i.i.i2.i650, ptr %ref.tmp536, align 8 + %add.ptr.i1.i655 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i650, i64 8 + %_M_end_of_storage.i.i656 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp536, i64 0, i32 2 + store ptr %add.ptr.i1.i655, ptr %_M_end_of_storage.i.i656, align 8 + store i32 3, ptr %call5.i.i.i.i2.i650, align 4 + %ref.tmp540.sroa.2.0.call5.i.i.i.i2.i650.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i650, i64 4 + store i32 4, ptr %ref.tmp540.sroa.2.0.call5.i.i.i.i2.i650.sroa_idx, align 4 + %_M_finish.i.i658 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp536, i64 0, i32 1 + store ptr %add.ptr.i1.i655, ptr %_M_finish.i.i658, align 8 %arrayinit.element549 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element549, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i631 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont559 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit812 + %call5.i.i.i.i2.i661 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont559 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit845 invoke.cont559: ; preds = %invoke.cont548 - store ptr %call5.i.i.i.i2.i631, ptr %arrayinit.element549, align 8 - %add.ptr.i1.i636 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i631, i64 2 - %_M_end_of_storage.i.i637 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i636, ptr %_M_end_of_storage.i.i637, align 8 - store i32 1, ptr %call5.i.i.i.i2.i631, align 4 - %ref.tmp551.sroa.2.0.call5.i.i.i.i2.i631.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i631, i64 4 - store i32 2, ptr %ref.tmp551.sroa.2.0.call5.i.i.i.i2.i631.sroa_idx, align 4 - %_M_finish.i.i638 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i636, ptr %_M_finish.i.i638, align 8 - %add.ptr.i.i641 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 2 + store ptr %call5.i.i.i.i2.i661, ptr %arrayinit.element549, align 8 + %add.ptr.i1.i666 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i661, i64 8 + %_M_end_of_storage.i.i667 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i666, ptr %_M_end_of_storage.i.i667, align 8 + store i32 1, ptr %call5.i.i.i.i2.i661, align 4 + %ref.tmp551.sroa.2.0.call5.i.i.i.i2.i661.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i661, i64 4 + store i32 2, ptr %ref.tmp551.sroa.2.0.call5.i.i.i.i2.i661.sroa_idx, align 4 + %_M_finish.i.i669 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i666, ptr %_M_finish.i.i669, align 8 + %add.ptr.i.i672 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element534, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i642 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i647 unwind label %lpad.i.i643 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i647: ; preds = %invoke.cont559 - store ptr %call5.i.i.i.i1.i.i642, ptr %arrayinit.element534, align 8 - %add.ptr.i.i.i648 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i642, i64 2 - %_M_end_of_storage.i.i.i649 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 21, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i648, ptr %_M_end_of_storage.i.i.i649, align 8 - %call.i.i.i.i2.i.i650 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp536, ptr noundef nonnull %add.ptr.i.i641, ptr noundef nonnull %call5.i.i.i.i1.i.i642) - to label %invoke.cont565 unwind label %lpad.i.i643 - -lpad.i.i643: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i647, %invoke.cont559 + %call5.i.i.i.i1.i.i673 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i678 unwind label %lpad.i.i674 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i678: ; preds = %invoke.cont559 + store ptr %call5.i.i.i.i1.i.i673, ptr %arrayinit.element534, align 8 + %add.ptr.i.i.i679 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i673, i64 2 + %_M_end_of_storage.i.i.i680 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 21, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i679, ptr %_M_end_of_storage.i.i.i680, align 8 + %call.i.i.i.i2.i.i681 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp536, ptr noundef nonnull %add.ptr.i.i672, ptr noundef nonnull %call5.i.i.i.i1.i.i673) + to label %invoke.cont565 unwind label %lpad.i.i674 + +lpad.i.i674: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i678, %invoke.cont559 %58 = landingpad { ptr, i32 } cleanup %59 = load ptr, ptr %arrayinit.element534, align 8 - %tobool.not.i.i.i.i644 = icmp eq ptr %59, null - br i1 %tobool.not.i.i.i.i644, label %ehcleanup638, label %if.then.i.i3.i.i645 + %tobool.not.i.i.i.i675 = icmp eq ptr %59, null + br i1 %tobool.not.i.i.i.i675, label %ehcleanup638, label %if.then.i.i3.i.i676 -if.then.i.i3.i.i645: ; preds = %lpad.i.i643 +if.then.i.i3.i.i676: ; preds = %lpad.i.i674 call void @_ZdlPv(ptr noundef nonnull %59) #31 br label %ehcleanup638 -invoke.cont565: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i647 - %_M_finish.i.i.i651 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 21, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i650, ptr %_M_finish.i.i.i651, align 8 +invoke.cont565: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i678 + %_M_finish.i.i.i682 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 21, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i681, ptr %_M_finish.i.i.i682, align 8 %arrayinit.element566 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 22 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp568, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i654 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont580 unwind label %lpad.i655 + %call5.i.i.i.i2.i685 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont580 unwind label %lpad.i686 -lpad.i655: ; preds = %invoke.cont565 +lpad.i686: ; preds = %invoke.cont565 %60 = landingpad { ptr, i32 } cleanup br label %ehcleanup638 invoke.cont580: ; preds = %invoke.cont565 - store ptr %call5.i.i.i.i2.i654, ptr %ref.tmp568, align 8 - %add.ptr.i1.i659 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i654, i64 2 - %_M_end_of_storage.i.i660 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp568, i64 0, i32 2 - store ptr %add.ptr.i1.i659, ptr %_M_end_of_storage.i.i660, align 8 - store i32 3, ptr %call5.i.i.i.i2.i654, align 4 - %ref.tmp572.sroa.2.0.call5.i.i.i.i2.i654.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i654, i64 4 - store i32 4, ptr %ref.tmp572.sroa.2.0.call5.i.i.i.i2.i654.sroa_idx, align 4 - %_M_finish.i.i661 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp568, i64 0, i32 1 - store ptr %add.ptr.i1.i659, ptr %_M_finish.i.i661, align 8 + store ptr %call5.i.i.i.i2.i685, ptr %ref.tmp568, align 8 + %add.ptr.i1.i690 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i685, i64 8 + %_M_end_of_storage.i.i691 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp568, i64 0, i32 2 + store ptr %add.ptr.i1.i690, ptr %_M_end_of_storage.i.i691, align 8 + store i32 3, ptr %call5.i.i.i.i2.i685, align 4 + %ref.tmp572.sroa.2.0.call5.i.i.i.i2.i685.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i685, i64 4 + store i32 4, ptr %ref.tmp572.sroa.2.0.call5.i.i.i.i2.i685.sroa_idx, align 4 + %_M_finish.i.i693 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp568, i64 0, i32 1 + store ptr %add.ptr.i1.i690, ptr %_M_finish.i.i693, align 8 %arrayinit.element581 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element581, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i664 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont591 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit802 + %call5.i.i.i.i2.i696 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont591 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit835 invoke.cont591: ; preds = %invoke.cont580 - store ptr %call5.i.i.i.i2.i664, ptr %arrayinit.element581, align 8 - %add.ptr.i1.i669 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i664, i64 2 - %_M_end_of_storage.i.i670 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i669, ptr %_M_end_of_storage.i.i670, align 8 - store i32 2, ptr %call5.i.i.i.i2.i664, align 4 - %ref.tmp583.sroa.2.0.call5.i.i.i.i2.i664.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i664, i64 4 - store i32 1, ptr %ref.tmp583.sroa.2.0.call5.i.i.i.i2.i664.sroa_idx, align 4 - %_M_finish.i.i671 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i669, ptr %_M_finish.i.i671, align 8 - %add.ptr.i.i674 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 2 + store ptr %call5.i.i.i.i2.i696, ptr %arrayinit.element581, align 8 + %add.ptr.i1.i701 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i696, i64 8 + %_M_end_of_storage.i.i702 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i701, ptr %_M_end_of_storage.i.i702, align 8 + store i32 2, ptr %call5.i.i.i.i2.i696, align 4 + %ref.tmp583.sroa.2.0.call5.i.i.i.i2.i696.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i696, i64 4 + store i32 1, ptr %ref.tmp583.sroa.2.0.call5.i.i.i.i2.i696.sroa_idx, align 4 + %_M_finish.i.i704 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i701, ptr %_M_finish.i.i704, align 8 + %add.ptr.i.i707 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element566, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i675 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 - to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i680 unwind label %lpad.i.i676 - -_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i680: ; preds = %invoke.cont591 - store ptr %call5.i.i.i.i1.i.i675, ptr %arrayinit.element566, align 8 - %add.ptr.i.i.i681 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i675, i64 2 - %_M_end_of_storage.i.i.i682 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 22, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i681, ptr %_M_end_of_storage.i.i.i682, align 8 - %call.i.i.i.i2.i.i683 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp568, ptr noundef nonnull %add.ptr.i.i674, ptr noundef nonnull %call5.i.i.i.i1.i.i675) - to label %invoke.cont597 unwind label %lpad.i.i676 - -lpad.i.i676: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i680, %invoke.cont591 + %call5.i.i.i.i1.i.i708 = invoke noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #32 + to label %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i713 unwind label %lpad.i.i709 + +_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i713: ; preds = %invoke.cont591 + store ptr %call5.i.i.i.i1.i.i708, ptr %arrayinit.element566, align 8 + %add.ptr.i.i.i714 = getelementptr inbounds %"class.std::vector.240", ptr %call5.i.i.i.i1.i.i708, i64 2 + %_M_end_of_storage.i.i.i715 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 22, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i714, ptr %_M_end_of_storage.i.i.i715, align 8 + %call.i.i.i.i2.i.i716 = invoke noundef ptr @_ZSt16__do_uninit_copyIPKSt6vectorIiSaIiEEPS2_ET0_T_S7_S6_(ptr noundef nonnull %ref.tmp568, ptr noundef nonnull %add.ptr.i.i707, ptr noundef nonnull %call5.i.i.i.i1.i.i708) + to label %invoke.cont597 unwind label %lpad.i.i709 + +lpad.i.i709: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i713, %invoke.cont591 %61 = landingpad { ptr, i32 } cleanup %62 = load ptr, ptr %arrayinit.element566, align 8 - %tobool.not.i.i.i.i677 = icmp eq ptr %62, null - br i1 %tobool.not.i.i.i.i677, label %ehcleanup, label %if.then.i.i3.i.i678 + %tobool.not.i.i.i.i710 = icmp eq ptr %62, null + br i1 %tobool.not.i.i.i.i710, label %ehcleanup, label %if.then.i.i3.i.i711 -if.then.i.i3.i.i678: ; preds = %lpad.i.i676 +if.then.i.i3.i.i711: ; preds = %lpad.i.i709 call void @_ZdlPv(ptr noundef nonnull %62) #31 br label %ehcleanup -invoke.cont597: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i680 - %_M_finish.i.i.i684 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 22, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %call.i.i.i.i2.i.i683, ptr %_M_finish.i.i.i684, align 8 +invoke.cont597: ; preds = %_ZNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE11_M_allocateEm.exit.i.i.i713 + %_M_finish.i.i.i717 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 22, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %call.i.i.i.i2.i.i716, ptr %_M_finish.i.i.i717, align 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %call5.i.i.i.i5.i691 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + %call5.i.i.i.i5.i724 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 to label %call5.i.i.i.i5.i.noexc unwind label %lpad603 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont597 - store ptr %call5.i.i.i.i5.i691, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %call5.i.i.i.i5.i691, i64 23 - %_M_end_of_storage.i.i687 = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence>, std::allocator<(anonymous namespace)::UnorderedSequence>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 - store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i687, align 8 + store ptr %call5.i.i.i.i5.i724, ptr %exemplars, align 8 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i724, i64 552 + %_M_end_of_storage.i.i720 = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence>, std::allocator<(anonymous namespace)::UnorderedSequence>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 + store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i720, align 8 br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i, %call5.i.i.i.i5.i.noexc - %__cur.017.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i691, %call5.i.i.i.i5.i.noexc ] + %__cur.017.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i724, %call5.i.i.i.i5.i.noexc ] %__first.addr.016.i.i.i.i.i.idx.i = phi i64 [ %__first.addr.016.i.i.i.i.i.add.i, %for.inc.i.i.i.i.i.i ], [ 0, %call5.i.i.i.i5.i.noexc ] %__first.addr.016.i.i.i.i.i.ptr.i = getelementptr inbounds i8, ptr %ref.tmp, i64 %__first.addr.016.i.i.i.i.i.idx.i %_M_finish.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %__first.addr.016.i.i.i.i.i.ptr.i, i64 0, i32 1 @@ -168087,7 +168089,7 @@ lpad.body.i.i.i.i.i.i: ; preds = %lpad.loopexit.split %eh.lpad-body.i.i.i.i.i.i = phi { ptr, i32 } [ %65, %if.then.i.i.i.i.i.i.i.i.i.i.i ], [ %65, %lpad10.i.i.i.i.i.i.i.i.i ], [ %lpad.loopexit8.i.i.i.i.i.i, %lpad.loopexit.i.i.i.i.i.i ], [ %lpad.loopexit.split-lp9.i.i.i.i.i.i, %lpad.loopexit.split-lp.i.i.i.i.i.i ] %67 = extractvalue { ptr, i32 } %eh.lpad-body.i.i.i.i.i.i, 0 %68 = call ptr @__cxa_begin_catch(ptr %67) #28 - call fastcc void @_ZSt8_DestroyIPN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvT_S7_(ptr noundef nonnull %call5.i.i.i.i5.i691, ptr noundef nonnull %__cur.017.i.i.i.i.i.i) + call fastcc void @_ZSt8_DestroyIPN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvT_S7_(ptr noundef nonnull %call5.i.i.i.i5.i724, ptr noundef nonnull %__cur.017.i.i.i.i.i.i) invoke void @__cxa_rethrow() #30 to label %unreachable.i.i.i.i.i.i unwind label %lpad2.i.i.i.i.i.i @@ -168095,7 +168097,7 @@ lpad2.i.i.i.i.i.i: ; preds = %lpad.body.i.i.i.i.i %69 = landingpad { ptr, i32 } cleanup invoke void @__cxa_end_catch() - to label %lpad.body.i688 unwind label %terminate.lpad.i.i.i.i.i.i + to label %lpad.body.i721 unwind label %terminate.lpad.i.i.i.i.i.i terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i %70 = landingpad { ptr, i32 } @@ -168107,18 +168109,18 @@ terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i unreachable.i.i.i.i.i.i: ; preds = %lpad.body.i.i.i.i.i.i unreachable -lpad.body.i688: ; preds = %lpad2.i.i.i.i.i.i +lpad.body.i721: ; preds = %lpad2.i.i.i.i.i.i %this.val.pre.i = load ptr, ptr %exemplars, align 8 - %tobool.not.i.i.i689 = icmp eq ptr %this.val.pre.i, null - br i1 %tobool.not.i.i.i689, label %lpad603.body, label %if.then.i.i6.i + %tobool.not.i.i.i722 = icmp eq ptr %this.val.pre.i, null + br i1 %tobool.not.i.i.i722, label %lpad603.body, label %if.then.i.i6.i -if.then.i.i6.i: ; preds = %lpad.body.i688 +if.then.i.i6.i: ; preds = %lpad.body.i721 call void @_ZdlPv(ptr noundef nonnull %this.val.pre.i) #31 br label %lpad603.body invoke.cont604: ; preds = %for.inc.i.i.i.i.i.i - %_M_finish.i.i690 = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence>, std::allocator<(anonymous namespace)::UnorderedSequence>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 1 - store ptr %incdec.ptr1.i.i.i.i.i.i, ptr %_M_finish.i.i690, align 8 + %_M_finish.i.i723 = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence>, std::allocator<(anonymous namespace)::UnorderedSequence>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 1 + store ptr %incdec.ptr1.i.i.i.i.i.i, ptr %_M_finish.i.i723, align 8 %72 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 23 br label %arraydestroy.body @@ -168126,8 +168128,8 @@ arraydestroy.body: ; preds = %_ZN12_GLOBAL__N_117 %arraydestroy.elementPast = phi ptr [ %72, %invoke.cont604 ], [ %arraydestroy.element, %_ZN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEED2Ev.exit ] %arraydestroy.element = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %arraydestroy.elementPast, i64 -1 %73 = load ptr, ptr %arraydestroy.element, align 8 - %_M_finish.i.i693 = getelementptr %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %arraydestroy.elementPast, i64 -1, i32 0, i32 0, i32 0, i32 0, i32 1 - %74 = load ptr, ptr %_M_finish.i.i693, align 8 + %_M_finish.i.i726 = getelementptr %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %arraydestroy.elementPast, i64 -1, i32 0, i32 0, i32 0, i32 0, i32 1 + %74 = load ptr, ptr %_M_finish.i.i726, align 8 %cmp.not3.i.i.i.i.i = icmp eq ptr %73, %74 br i1 %cmp.not3.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i @@ -168152,8 +168154,8 @@ invoke.contthread-pre-split.i.i: ; preds = %_ZSt8_DestroyISt6ve invoke.cont.i.i: ; preds = %invoke.contthread-pre-split.i.i, %arraydestroy.body %76 = phi ptr [ %.pr.i.i, %invoke.contthread-pre-split.i.i ], [ %73, %arraydestroy.body ] - %tobool.not.i.i.i.i694 = icmp eq ptr %76, null - br i1 %tobool.not.i.i.i.i694, label %_ZN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEED2Ev.exit, label %if.then.i.i.i.i + %tobool.not.i.i.i.i727 = icmp eq ptr %76, null + br i1 %tobool.not.i.i.i.i727, label %_ZN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %invoke.cont.i.i call void @_ZdlPv(ptr noundef nonnull %76) #31 @@ -168164,11 +168166,11 @@ _ZN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEED2Ev.exit: ; preds = %inv br i1 %arraydestroy.done, label %arraydestroy.body613, label %arraydestroy.body arraydestroy.body613: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEED2Ev.exit, %_ZNSt6vectorIiSaIiEED2Ev.exit - %arraydestroy.elementPast614 = phi ptr [ %arraydestroy.element615, %_ZNSt6vectorIiSaIiEED2Ev.exit ], [ %add.ptr.i.i674, %_ZN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEED2Ev.exit ] + %arraydestroy.elementPast614 = phi ptr [ %arraydestroy.element615, %_ZNSt6vectorIiSaIiEED2Ev.exit ], [ %add.ptr.i.i707, %_ZN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEED2Ev.exit ] %arraydestroy.element615 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast614, i64 -1 %77 = load ptr, ptr %arraydestroy.element615, align 8 - %tobool.not.i.i.i695 = icmp eq ptr %77, null - br i1 %tobool.not.i.i.i695, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i728 = icmp eq ptr %77, null + br i1 %tobool.not.i.i.i728, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %arraydestroy.body613 call void @_ZdlPv(ptr noundef nonnull %77) #31 @@ -168178,324 +168180,324 @@ _ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %arraydestroy.body61 %arraydestroy.done616 = icmp eq ptr %arraydestroy.element615, %ref.tmp568 br i1 %arraydestroy.done616, label %arraydestroy.body633, label %arraydestroy.body613 -arraydestroy.body633: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZNSt6vectorIiSaIiEED2Ev.exit700 - %arraydestroy.elementPast634 = phi ptr [ %arraydestroy.element635, %_ZNSt6vectorIiSaIiEED2Ev.exit700 ], [ %add.ptr.i.i641, %_ZNSt6vectorIiSaIiEED2Ev.exit ] +arraydestroy.body633: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit, %_ZNSt6vectorIiSaIiEED2Ev.exit733 + %arraydestroy.elementPast634 = phi ptr [ %arraydestroy.element635, %_ZNSt6vectorIiSaIiEED2Ev.exit733 ], [ %add.ptr.i.i672, %_ZNSt6vectorIiSaIiEED2Ev.exit ] %arraydestroy.element635 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast634, i64 -1 %78 = load ptr, ptr %arraydestroy.element635, align 8 - %tobool.not.i.i.i697 = icmp eq ptr %78, null - br i1 %tobool.not.i.i.i697, label %_ZNSt6vectorIiSaIiEED2Ev.exit700, label %if.then.i.i.i698 + %tobool.not.i.i.i730 = icmp eq ptr %78, null + br i1 %tobool.not.i.i.i730, label %_ZNSt6vectorIiSaIiEED2Ev.exit733, label %if.then.i.i.i731 -if.then.i.i.i698: ; preds = %arraydestroy.body633 +if.then.i.i.i731: ; preds = %arraydestroy.body633 call void @_ZdlPv(ptr noundef nonnull %78) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit700 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit733 -_ZNSt6vectorIiSaIiEED2Ev.exit700: ; preds = %arraydestroy.body633, %if.then.i.i.i698 +_ZNSt6vectorIiSaIiEED2Ev.exit733: ; preds = %arraydestroy.body633, %if.then.i.i.i731 %arraydestroy.done636 = icmp eq ptr %arraydestroy.element635, %ref.tmp536 br i1 %arraydestroy.done636, label %arraydestroy.body658, label %arraydestroy.body633 -arraydestroy.body658: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit700, %_ZNSt6vectorIiSaIiEED2Ev.exit704 - %arraydestroy.elementPast659 = phi ptr [ %arraydestroy.element660, %_ZNSt6vectorIiSaIiEED2Ev.exit704 ], [ %add.ptr.i.i608, %_ZNSt6vectorIiSaIiEED2Ev.exit700 ] +arraydestroy.body658: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit733, %_ZNSt6vectorIiSaIiEED2Ev.exit737 + %arraydestroy.elementPast659 = phi ptr [ %arraydestroy.element660, %_ZNSt6vectorIiSaIiEED2Ev.exit737 ], [ %add.ptr.i.i637, %_ZNSt6vectorIiSaIiEED2Ev.exit733 ] %arraydestroy.element660 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast659, i64 -1 %79 = load ptr, ptr %arraydestroy.element660, align 8 - %tobool.not.i.i.i701 = icmp eq ptr %79, null - br i1 %tobool.not.i.i.i701, label %_ZNSt6vectorIiSaIiEED2Ev.exit704, label %if.then.i.i.i702 + %tobool.not.i.i.i734 = icmp eq ptr %79, null + br i1 %tobool.not.i.i.i734, label %_ZNSt6vectorIiSaIiEED2Ev.exit737, label %if.then.i.i.i735 -if.then.i.i.i702: ; preds = %arraydestroy.body658 +if.then.i.i.i735: ; preds = %arraydestroy.body658 call void @_ZdlPv(ptr noundef nonnull %79) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit704 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit737 -_ZNSt6vectorIiSaIiEED2Ev.exit704: ; preds = %arraydestroy.body658, %if.then.i.i.i702 +_ZNSt6vectorIiSaIiEED2Ev.exit737: ; preds = %arraydestroy.body658, %if.then.i.i.i735 %arraydestroy.done661 = icmp eq ptr %arraydestroy.element660, %ref.tmp504 br i1 %arraydestroy.done661, label %arraydestroy.body683, label %arraydestroy.body658 -arraydestroy.body683: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit704, %_ZNSt6vectorIiSaIiEED2Ev.exit708 - %arraydestroy.elementPast684 = phi ptr [ %arraydestroy.element685, %_ZNSt6vectorIiSaIiEED2Ev.exit708 ], [ %add.ptr.i.i575, %_ZNSt6vectorIiSaIiEED2Ev.exit704 ] +arraydestroy.body683: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit737, %_ZNSt6vectorIiSaIiEED2Ev.exit741 + %arraydestroy.elementPast684 = phi ptr [ %arraydestroy.element685, %_ZNSt6vectorIiSaIiEED2Ev.exit741 ], [ %add.ptr.i.i602, %_ZNSt6vectorIiSaIiEED2Ev.exit737 ] %arraydestroy.element685 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast684, i64 -1 %80 = load ptr, ptr %arraydestroy.element685, align 8 - %tobool.not.i.i.i705 = icmp eq ptr %80, null - br i1 %tobool.not.i.i.i705, label %_ZNSt6vectorIiSaIiEED2Ev.exit708, label %if.then.i.i.i706 + %tobool.not.i.i.i738 = icmp eq ptr %80, null + br i1 %tobool.not.i.i.i738, label %_ZNSt6vectorIiSaIiEED2Ev.exit741, label %if.then.i.i.i739 -if.then.i.i.i706: ; preds = %arraydestroy.body683 +if.then.i.i.i739: ; preds = %arraydestroy.body683 call void @_ZdlPv(ptr noundef nonnull %80) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit708 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit741 -_ZNSt6vectorIiSaIiEED2Ev.exit708: ; preds = %arraydestroy.body683, %if.then.i.i.i706 +_ZNSt6vectorIiSaIiEED2Ev.exit741: ; preds = %arraydestroy.body683, %if.then.i.i.i739 %arraydestroy.done686 = icmp eq ptr %arraydestroy.element685, %ref.tmp472 br i1 %arraydestroy.done686, label %arraydestroy.body708, label %arraydestroy.body683 -arraydestroy.body708: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit708, %_ZNSt6vectorIiSaIiEED2Ev.exit712 - %arraydestroy.elementPast709 = phi ptr [ %arraydestroy.element710, %_ZNSt6vectorIiSaIiEED2Ev.exit712 ], [ %add.ptr.i.i542, %_ZNSt6vectorIiSaIiEED2Ev.exit708 ] +arraydestroy.body708: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit741, %_ZNSt6vectorIiSaIiEED2Ev.exit745 + %arraydestroy.elementPast709 = phi ptr [ %arraydestroy.element710, %_ZNSt6vectorIiSaIiEED2Ev.exit745 ], [ %add.ptr.i.i567, %_ZNSt6vectorIiSaIiEED2Ev.exit741 ] %arraydestroy.element710 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast709, i64 -1 %81 = load ptr, ptr %arraydestroy.element710, align 8 - %tobool.not.i.i.i709 = icmp eq ptr %81, null - br i1 %tobool.not.i.i.i709, label %_ZNSt6vectorIiSaIiEED2Ev.exit712, label %if.then.i.i.i710 + %tobool.not.i.i.i742 = icmp eq ptr %81, null + br i1 %tobool.not.i.i.i742, label %_ZNSt6vectorIiSaIiEED2Ev.exit745, label %if.then.i.i.i743 -if.then.i.i.i710: ; preds = %arraydestroy.body708 +if.then.i.i.i743: ; preds = %arraydestroy.body708 call void @_ZdlPv(ptr noundef nonnull %81) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit712 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit745 -_ZNSt6vectorIiSaIiEED2Ev.exit712: ; preds = %arraydestroy.body708, %if.then.i.i.i710 +_ZNSt6vectorIiSaIiEED2Ev.exit745: ; preds = %arraydestroy.body708, %if.then.i.i.i743 %arraydestroy.done711 = icmp eq ptr %arraydestroy.element710, %ref.tmp440 br i1 %arraydestroy.done711, label %arraydestroy.body733, label %arraydestroy.body708 -arraydestroy.body733: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit712, %_ZNSt6vectorIiSaIiEED2Ev.exit716 - %arraydestroy.elementPast734 = phi ptr [ %arraydestroy.element735, %_ZNSt6vectorIiSaIiEED2Ev.exit716 ], [ %add.ptr.i.i509, %_ZNSt6vectorIiSaIiEED2Ev.exit712 ] +arraydestroy.body733: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit745, %_ZNSt6vectorIiSaIiEED2Ev.exit749 + %arraydestroy.elementPast734 = phi ptr [ %arraydestroy.element735, %_ZNSt6vectorIiSaIiEED2Ev.exit749 ], [ %add.ptr.i.i532, %_ZNSt6vectorIiSaIiEED2Ev.exit745 ] %arraydestroy.element735 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast734, i64 -1 %82 = load ptr, ptr %arraydestroy.element735, align 8 - %tobool.not.i.i.i713 = icmp eq ptr %82, null - br i1 %tobool.not.i.i.i713, label %_ZNSt6vectorIiSaIiEED2Ev.exit716, label %if.then.i.i.i714 + %tobool.not.i.i.i746 = icmp eq ptr %82, null + br i1 %tobool.not.i.i.i746, label %_ZNSt6vectorIiSaIiEED2Ev.exit749, label %if.then.i.i.i747 -if.then.i.i.i714: ; preds = %arraydestroy.body733 +if.then.i.i.i747: ; preds = %arraydestroy.body733 call void @_ZdlPv(ptr noundef nonnull %82) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit716 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit749 -_ZNSt6vectorIiSaIiEED2Ev.exit716: ; preds = %arraydestroy.body733, %if.then.i.i.i714 +_ZNSt6vectorIiSaIiEED2Ev.exit749: ; preds = %arraydestroy.body733, %if.then.i.i.i747 %arraydestroy.done736 = icmp eq ptr %arraydestroy.element735, %ref.tmp408 br i1 %arraydestroy.done736, label %arraydestroy.body758, label %arraydestroy.body733 -arraydestroy.body758: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit716, %_ZNSt6vectorIiSaIiEED2Ev.exit720 - %arraydestroy.elementPast759 = phi ptr [ %arraydestroy.element760, %_ZNSt6vectorIiSaIiEED2Ev.exit720 ], [ %add.ptr.i.i476, %_ZNSt6vectorIiSaIiEED2Ev.exit716 ] +arraydestroy.body758: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit749, %_ZNSt6vectorIiSaIiEED2Ev.exit753 + %arraydestroy.elementPast759 = phi ptr [ %arraydestroy.element760, %_ZNSt6vectorIiSaIiEED2Ev.exit753 ], [ %add.ptr.i.i497, %_ZNSt6vectorIiSaIiEED2Ev.exit749 ] %arraydestroy.element760 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast759, i64 -1 %83 = load ptr, ptr %arraydestroy.element760, align 8 - %tobool.not.i.i.i717 = icmp eq ptr %83, null - br i1 %tobool.not.i.i.i717, label %_ZNSt6vectorIiSaIiEED2Ev.exit720, label %if.then.i.i.i718 + %tobool.not.i.i.i750 = icmp eq ptr %83, null + br i1 %tobool.not.i.i.i750, label %_ZNSt6vectorIiSaIiEED2Ev.exit753, label %if.then.i.i.i751 -if.then.i.i.i718: ; preds = %arraydestroy.body758 +if.then.i.i.i751: ; preds = %arraydestroy.body758 call void @_ZdlPv(ptr noundef nonnull %83) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit720 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit753 -_ZNSt6vectorIiSaIiEED2Ev.exit720: ; preds = %arraydestroy.body758, %if.then.i.i.i718 +_ZNSt6vectorIiSaIiEED2Ev.exit753: ; preds = %arraydestroy.body758, %if.then.i.i.i751 %arraydestroy.done761 = icmp eq ptr %arraydestroy.element760, %ref.tmp376 br i1 %arraydestroy.done761, label %arraydestroy.body783, label %arraydestroy.body758 -arraydestroy.body783: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit720, %_ZNSt6vectorIiSaIiEED2Ev.exit724 - %arraydestroy.elementPast784 = phi ptr [ %arraydestroy.element785, %_ZNSt6vectorIiSaIiEED2Ev.exit724 ], [ %add.ptr.i.i443, %_ZNSt6vectorIiSaIiEED2Ev.exit720 ] +arraydestroy.body783: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit753, %_ZNSt6vectorIiSaIiEED2Ev.exit757 + %arraydestroy.elementPast784 = phi ptr [ %arraydestroy.element785, %_ZNSt6vectorIiSaIiEED2Ev.exit757 ], [ %add.ptr.i.i462, %_ZNSt6vectorIiSaIiEED2Ev.exit753 ] %arraydestroy.element785 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast784, i64 -1 %84 = load ptr, ptr %arraydestroy.element785, align 8 - %tobool.not.i.i.i721 = icmp eq ptr %84, null - br i1 %tobool.not.i.i.i721, label %_ZNSt6vectorIiSaIiEED2Ev.exit724, label %if.then.i.i.i722 + %tobool.not.i.i.i754 = icmp eq ptr %84, null + br i1 %tobool.not.i.i.i754, label %_ZNSt6vectorIiSaIiEED2Ev.exit757, label %if.then.i.i.i755 -if.then.i.i.i722: ; preds = %arraydestroy.body783 +if.then.i.i.i755: ; preds = %arraydestroy.body783 call void @_ZdlPv(ptr noundef nonnull %84) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit724 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit757 -_ZNSt6vectorIiSaIiEED2Ev.exit724: ; preds = %arraydestroy.body783, %if.then.i.i.i722 +_ZNSt6vectorIiSaIiEED2Ev.exit757: ; preds = %arraydestroy.body783, %if.then.i.i.i755 %arraydestroy.done786 = icmp eq ptr %arraydestroy.element785, %ref.tmp344 br i1 %arraydestroy.done786, label %arraydestroy.body808, label %arraydestroy.body783 -arraydestroy.body808: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit724, %_ZNSt6vectorIiSaIiEED2Ev.exit728 - %arraydestroy.elementPast809 = phi ptr [ %arraydestroy.element810, %_ZNSt6vectorIiSaIiEED2Ev.exit728 ], [ %add.ptr.i.i410, %_ZNSt6vectorIiSaIiEED2Ev.exit724 ] +arraydestroy.body808: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit757, %_ZNSt6vectorIiSaIiEED2Ev.exit761 + %arraydestroy.elementPast809 = phi ptr [ %arraydestroy.element810, %_ZNSt6vectorIiSaIiEED2Ev.exit761 ], [ %add.ptr.i.i427, %_ZNSt6vectorIiSaIiEED2Ev.exit757 ] %arraydestroy.element810 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast809, i64 -1 %85 = load ptr, ptr %arraydestroy.element810, align 8 - %tobool.not.i.i.i725 = icmp eq ptr %85, null - br i1 %tobool.not.i.i.i725, label %_ZNSt6vectorIiSaIiEED2Ev.exit728, label %if.then.i.i.i726 + %tobool.not.i.i.i758 = icmp eq ptr %85, null + br i1 %tobool.not.i.i.i758, label %_ZNSt6vectorIiSaIiEED2Ev.exit761, label %if.then.i.i.i759 -if.then.i.i.i726: ; preds = %arraydestroy.body808 +if.then.i.i.i759: ; preds = %arraydestroy.body808 call void @_ZdlPv(ptr noundef nonnull %85) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit728 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit761 -_ZNSt6vectorIiSaIiEED2Ev.exit728: ; preds = %arraydestroy.body808, %if.then.i.i.i726 +_ZNSt6vectorIiSaIiEED2Ev.exit761: ; preds = %arraydestroy.body808, %if.then.i.i.i759 %arraydestroy.done811 = icmp eq ptr %arraydestroy.element810, %ref.tmp312 br i1 %arraydestroy.done811, label %arraydestroy.body833, label %arraydestroy.body808 -arraydestroy.body833: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit728, %_ZNSt6vectorIiSaIiEED2Ev.exit732 - %arraydestroy.elementPast834 = phi ptr [ %arraydestroy.element835, %_ZNSt6vectorIiSaIiEED2Ev.exit732 ], [ %add.ptr.i.i377, %_ZNSt6vectorIiSaIiEED2Ev.exit728 ] +arraydestroy.body833: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit761, %_ZNSt6vectorIiSaIiEED2Ev.exit765 + %arraydestroy.elementPast834 = phi ptr [ %arraydestroy.element835, %_ZNSt6vectorIiSaIiEED2Ev.exit765 ], [ %add.ptr.i.i392, %_ZNSt6vectorIiSaIiEED2Ev.exit761 ] %arraydestroy.element835 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast834, i64 -1 %86 = load ptr, ptr %arraydestroy.element835, align 8 - %tobool.not.i.i.i729 = icmp eq ptr %86, null - br i1 %tobool.not.i.i.i729, label %_ZNSt6vectorIiSaIiEED2Ev.exit732, label %if.then.i.i.i730 + %tobool.not.i.i.i762 = icmp eq ptr %86, null + br i1 %tobool.not.i.i.i762, label %_ZNSt6vectorIiSaIiEED2Ev.exit765, label %if.then.i.i.i763 -if.then.i.i.i730: ; preds = %arraydestroy.body833 +if.then.i.i.i763: ; preds = %arraydestroy.body833 call void @_ZdlPv(ptr noundef nonnull %86) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit732 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit765 -_ZNSt6vectorIiSaIiEED2Ev.exit732: ; preds = %arraydestroy.body833, %if.then.i.i.i730 +_ZNSt6vectorIiSaIiEED2Ev.exit765: ; preds = %arraydestroy.body833, %if.then.i.i.i763 %arraydestroy.done836 = icmp eq ptr %arraydestroy.element835, %ref.tmp280 br i1 %arraydestroy.done836, label %arraydestroy.body858, label %arraydestroy.body833 -arraydestroy.body858: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit732, %_ZNSt6vectorIiSaIiEED2Ev.exit736 - %arraydestroy.elementPast859 = phi ptr [ %arraydestroy.element860, %_ZNSt6vectorIiSaIiEED2Ev.exit736 ], [ %add.ptr.i.i344, %_ZNSt6vectorIiSaIiEED2Ev.exit732 ] +arraydestroy.body858: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit765, %_ZNSt6vectorIiSaIiEED2Ev.exit769 + %arraydestroy.elementPast859 = phi ptr [ %arraydestroy.element860, %_ZNSt6vectorIiSaIiEED2Ev.exit769 ], [ %add.ptr.i.i357, %_ZNSt6vectorIiSaIiEED2Ev.exit765 ] %arraydestroy.element860 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast859, i64 -1 %87 = load ptr, ptr %arraydestroy.element860, align 8 - %tobool.not.i.i.i733 = icmp eq ptr %87, null - br i1 %tobool.not.i.i.i733, label %_ZNSt6vectorIiSaIiEED2Ev.exit736, label %if.then.i.i.i734 + %tobool.not.i.i.i766 = icmp eq ptr %87, null + br i1 %tobool.not.i.i.i766, label %_ZNSt6vectorIiSaIiEED2Ev.exit769, label %if.then.i.i.i767 -if.then.i.i.i734: ; preds = %arraydestroy.body858 +if.then.i.i.i767: ; preds = %arraydestroy.body858 call void @_ZdlPv(ptr noundef nonnull %87) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit736 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit769 -_ZNSt6vectorIiSaIiEED2Ev.exit736: ; preds = %arraydestroy.body858, %if.then.i.i.i734 +_ZNSt6vectorIiSaIiEED2Ev.exit769: ; preds = %arraydestroy.body858, %if.then.i.i.i767 %arraydestroy.done861 = icmp eq ptr %arraydestroy.element860, %ref.tmp248 br i1 %arraydestroy.done861, label %arraydestroy.body883, label %arraydestroy.body858 -arraydestroy.body883: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit736, %_ZNSt6vectorIiSaIiEED2Ev.exit740 - %arraydestroy.elementPast884 = phi ptr [ %arraydestroy.element885, %_ZNSt6vectorIiSaIiEED2Ev.exit740 ], [ %add.ptr.i.i311, %_ZNSt6vectorIiSaIiEED2Ev.exit736 ] +arraydestroy.body883: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit769, %_ZNSt6vectorIiSaIiEED2Ev.exit773 + %arraydestroy.elementPast884 = phi ptr [ %arraydestroy.element885, %_ZNSt6vectorIiSaIiEED2Ev.exit773 ], [ %add.ptr.i.i322, %_ZNSt6vectorIiSaIiEED2Ev.exit769 ] %arraydestroy.element885 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast884, i64 -1 %88 = load ptr, ptr %arraydestroy.element885, align 8 - %tobool.not.i.i.i737 = icmp eq ptr %88, null - br i1 %tobool.not.i.i.i737, label %_ZNSt6vectorIiSaIiEED2Ev.exit740, label %if.then.i.i.i738 + %tobool.not.i.i.i770 = icmp eq ptr %88, null + br i1 %tobool.not.i.i.i770, label %_ZNSt6vectorIiSaIiEED2Ev.exit773, label %if.then.i.i.i771 -if.then.i.i.i738: ; preds = %arraydestroy.body883 +if.then.i.i.i771: ; preds = %arraydestroy.body883 call void @_ZdlPv(ptr noundef nonnull %88) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit740 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit773 -_ZNSt6vectorIiSaIiEED2Ev.exit740: ; preds = %arraydestroy.body883, %if.then.i.i.i738 +_ZNSt6vectorIiSaIiEED2Ev.exit773: ; preds = %arraydestroy.body883, %if.then.i.i.i771 %arraydestroy.done886 = icmp eq ptr %arraydestroy.element885, %ref.tmp216 br i1 %arraydestroy.done886, label %arraydestroy.body908, label %arraydestroy.body883 -arraydestroy.body908: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit740, %_ZNSt6vectorIiSaIiEED2Ev.exit744 - %arraydestroy.elementPast909 = phi ptr [ %arraydestroy.element910, %_ZNSt6vectorIiSaIiEED2Ev.exit744 ], [ %add.ptr.i.i278, %_ZNSt6vectorIiSaIiEED2Ev.exit740 ] +arraydestroy.body908: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit773, %_ZNSt6vectorIiSaIiEED2Ev.exit777 + %arraydestroy.elementPast909 = phi ptr [ %arraydestroy.element910, %_ZNSt6vectorIiSaIiEED2Ev.exit777 ], [ %add.ptr.i.i287, %_ZNSt6vectorIiSaIiEED2Ev.exit773 ] %arraydestroy.element910 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast909, i64 -1 %89 = load ptr, ptr %arraydestroy.element910, align 8 - %tobool.not.i.i.i741 = icmp eq ptr %89, null - br i1 %tobool.not.i.i.i741, label %_ZNSt6vectorIiSaIiEED2Ev.exit744, label %if.then.i.i.i742 + %tobool.not.i.i.i774 = icmp eq ptr %89, null + br i1 %tobool.not.i.i.i774, label %_ZNSt6vectorIiSaIiEED2Ev.exit777, label %if.then.i.i.i775 -if.then.i.i.i742: ; preds = %arraydestroy.body908 +if.then.i.i.i775: ; preds = %arraydestroy.body908 call void @_ZdlPv(ptr noundef nonnull %89) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit744 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit777 -_ZNSt6vectorIiSaIiEED2Ev.exit744: ; preds = %arraydestroy.body908, %if.then.i.i.i742 +_ZNSt6vectorIiSaIiEED2Ev.exit777: ; preds = %arraydestroy.body908, %if.then.i.i.i775 %arraydestroy.done911 = icmp eq ptr %arraydestroy.element910, %ref.tmp194 br i1 %arraydestroy.done911, label %arraydestroy.body932, label %arraydestroy.body908 -arraydestroy.body932: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit744, %_ZNSt6vectorIiSaIiEED2Ev.exit748 - %arraydestroy.elementPast933 = phi ptr [ %arraydestroy.element934, %_ZNSt6vectorIiSaIiEED2Ev.exit748 ], [ %add.ptr.i.i255, %_ZNSt6vectorIiSaIiEED2Ev.exit744 ] +arraydestroy.body932: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit777, %_ZNSt6vectorIiSaIiEED2Ev.exit781 + %arraydestroy.elementPast933 = phi ptr [ %arraydestroy.element934, %_ZNSt6vectorIiSaIiEED2Ev.exit781 ], [ %add.ptr.i.i263, %_ZNSt6vectorIiSaIiEED2Ev.exit777 ] %arraydestroy.element934 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast933, i64 -1 %90 = load ptr, ptr %arraydestroy.element934, align 8 - %tobool.not.i.i.i745 = icmp eq ptr %90, null - br i1 %tobool.not.i.i.i745, label %_ZNSt6vectorIiSaIiEED2Ev.exit748, label %if.then.i.i.i746 + %tobool.not.i.i.i778 = icmp eq ptr %90, null + br i1 %tobool.not.i.i.i778, label %_ZNSt6vectorIiSaIiEED2Ev.exit781, label %if.then.i.i.i779 -if.then.i.i.i746: ; preds = %arraydestroy.body932 +if.then.i.i.i779: ; preds = %arraydestroy.body932 call void @_ZdlPv(ptr noundef nonnull %90) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit748 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit781 -_ZNSt6vectorIiSaIiEED2Ev.exit748: ; preds = %arraydestroy.body932, %if.then.i.i.i746 +_ZNSt6vectorIiSaIiEED2Ev.exit781: ; preds = %arraydestroy.body932, %if.then.i.i.i779 %arraydestroy.done935 = icmp eq ptr %arraydestroy.element934, %ref.tmp172 br i1 %arraydestroy.done935, label %arraydestroy.body956, label %arraydestroy.body932 -arraydestroy.body956: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit748, %_ZNSt6vectorIiSaIiEED2Ev.exit752 - %arraydestroy.elementPast957 = phi ptr [ %arraydestroy.element958, %_ZNSt6vectorIiSaIiEED2Ev.exit752 ], [ %add.ptr.i.i232, %_ZNSt6vectorIiSaIiEED2Ev.exit748 ] +arraydestroy.body956: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit781, %_ZNSt6vectorIiSaIiEED2Ev.exit785 + %arraydestroy.elementPast957 = phi ptr [ %arraydestroy.element958, %_ZNSt6vectorIiSaIiEED2Ev.exit785 ], [ %add.ptr.i.i239, %_ZNSt6vectorIiSaIiEED2Ev.exit781 ] %arraydestroy.element958 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast957, i64 -1 %91 = load ptr, ptr %arraydestroy.element958, align 8 - %tobool.not.i.i.i749 = icmp eq ptr %91, null - br i1 %tobool.not.i.i.i749, label %_ZNSt6vectorIiSaIiEED2Ev.exit752, label %if.then.i.i.i750 + %tobool.not.i.i.i782 = icmp eq ptr %91, null + br i1 %tobool.not.i.i.i782, label %_ZNSt6vectorIiSaIiEED2Ev.exit785, label %if.then.i.i.i783 -if.then.i.i.i750: ; preds = %arraydestroy.body956 +if.then.i.i.i783: ; preds = %arraydestroy.body956 call void @_ZdlPv(ptr noundef nonnull %91) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit752 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit785 -_ZNSt6vectorIiSaIiEED2Ev.exit752: ; preds = %arraydestroy.body956, %if.then.i.i.i750 +_ZNSt6vectorIiSaIiEED2Ev.exit785: ; preds = %arraydestroy.body956, %if.then.i.i.i783 %arraydestroy.done959 = icmp eq ptr %arraydestroy.element958, %ref.tmp150 br i1 %arraydestroy.done959, label %arraydestroy.body980, label %arraydestroy.body956 -arraydestroy.body980: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit752, %_ZNSt6vectorIiSaIiEED2Ev.exit756 - %arraydestroy.elementPast981 = phi ptr [ %arraydestroy.element982, %_ZNSt6vectorIiSaIiEED2Ev.exit756 ], [ %add.ptr.i.i209, %_ZNSt6vectorIiSaIiEED2Ev.exit752 ] +arraydestroy.body980: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit785, %_ZNSt6vectorIiSaIiEED2Ev.exit789 + %arraydestroy.elementPast981 = phi ptr [ %arraydestroy.element982, %_ZNSt6vectorIiSaIiEED2Ev.exit789 ], [ %add.ptr.i.i215, %_ZNSt6vectorIiSaIiEED2Ev.exit785 ] %arraydestroy.element982 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast981, i64 -1 %92 = load ptr, ptr %arraydestroy.element982, align 8 - %tobool.not.i.i.i753 = icmp eq ptr %92, null - br i1 %tobool.not.i.i.i753, label %_ZNSt6vectorIiSaIiEED2Ev.exit756, label %if.then.i.i.i754 + %tobool.not.i.i.i786 = icmp eq ptr %92, null + br i1 %tobool.not.i.i.i786, label %_ZNSt6vectorIiSaIiEED2Ev.exit789, label %if.then.i.i.i787 -if.then.i.i.i754: ; preds = %arraydestroy.body980 +if.then.i.i.i787: ; preds = %arraydestroy.body980 call void @_ZdlPv(ptr noundef nonnull %92) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit756 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit789 -_ZNSt6vectorIiSaIiEED2Ev.exit756: ; preds = %arraydestroy.body980, %if.then.i.i.i754 +_ZNSt6vectorIiSaIiEED2Ev.exit789: ; preds = %arraydestroy.body980, %if.then.i.i.i787 %arraydestroy.done983 = icmp eq ptr %arraydestroy.element982, %ref.tmp128 br i1 %arraydestroy.done983, label %arraydestroy.body1004, label %arraydestroy.body980 -arraydestroy.body1004: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit756, %_ZNSt6vectorIiSaIiEED2Ev.exit760 - %arraydestroy.elementPast1005 = phi ptr [ %arraydestroy.element1006, %_ZNSt6vectorIiSaIiEED2Ev.exit760 ], [ %add.ptr.i.i186, %_ZNSt6vectorIiSaIiEED2Ev.exit756 ] +arraydestroy.body1004: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit789, %_ZNSt6vectorIiSaIiEED2Ev.exit793 + %arraydestroy.elementPast1005 = phi ptr [ %arraydestroy.element1006, %_ZNSt6vectorIiSaIiEED2Ev.exit793 ], [ %add.ptr.i.i191, %_ZNSt6vectorIiSaIiEED2Ev.exit789 ] %arraydestroy.element1006 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1005, i64 -1 %93 = load ptr, ptr %arraydestroy.element1006, align 8 - %tobool.not.i.i.i757 = icmp eq ptr %93, null - br i1 %tobool.not.i.i.i757, label %_ZNSt6vectorIiSaIiEED2Ev.exit760, label %if.then.i.i.i758 + %tobool.not.i.i.i790 = icmp eq ptr %93, null + br i1 %tobool.not.i.i.i790, label %_ZNSt6vectorIiSaIiEED2Ev.exit793, label %if.then.i.i.i791 -if.then.i.i.i758: ; preds = %arraydestroy.body1004 +if.then.i.i.i791: ; preds = %arraydestroy.body1004 call void @_ZdlPv(ptr noundef nonnull %93) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit760 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit793 -_ZNSt6vectorIiSaIiEED2Ev.exit760: ; preds = %arraydestroy.body1004, %if.then.i.i.i758 +_ZNSt6vectorIiSaIiEED2Ev.exit793: ; preds = %arraydestroy.body1004, %if.then.i.i.i791 %arraydestroy.done1007 = icmp eq ptr %arraydestroy.element1006, %ref.tmp82 br i1 %arraydestroy.done1007, label %arraydestroy.body1030, label %arraydestroy.body1004 -arraydestroy.body1030: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit760, %_ZNSt6vectorIiSaIiEED2Ev.exit764 - %arraydestroy.elementPast1031 = phi ptr [ %arraydestroy.element1032, %_ZNSt6vectorIiSaIiEED2Ev.exit764 ], [ %add.ptr.i.i143, %_ZNSt6vectorIiSaIiEED2Ev.exit760 ] +arraydestroy.body1030: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit793, %_ZNSt6vectorIiSaIiEED2Ev.exit797 + %arraydestroy.elementPast1031 = phi ptr [ %arraydestroy.element1032, %_ZNSt6vectorIiSaIiEED2Ev.exit797 ], [ %add.ptr.i.i145, %_ZNSt6vectorIiSaIiEED2Ev.exit793 ] %arraydestroy.element1032 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1031, i64 -1 %94 = load ptr, ptr %arraydestroy.element1032, align 8 - %tobool.not.i.i.i761 = icmp eq ptr %94, null - br i1 %tobool.not.i.i.i761, label %_ZNSt6vectorIiSaIiEED2Ev.exit764, label %if.then.i.i.i762 + %tobool.not.i.i.i794 = icmp eq ptr %94, null + br i1 %tobool.not.i.i.i794, label %_ZNSt6vectorIiSaIiEED2Ev.exit797, label %if.then.i.i.i795 -if.then.i.i.i762: ; preds = %arraydestroy.body1030 +if.then.i.i.i795: ; preds = %arraydestroy.body1030 call void @_ZdlPv(ptr noundef nonnull %94) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit764 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit797 -_ZNSt6vectorIiSaIiEED2Ev.exit764: ; preds = %arraydestroy.body1030, %if.then.i.i.i762 +_ZNSt6vectorIiSaIiEED2Ev.exit797: ; preds = %arraydestroy.body1030, %if.then.i.i.i795 %arraydestroy.done1033 = icmp eq ptr %arraydestroy.element1032, %ref.tmp50 br i1 %arraydestroy.done1033, label %arraydestroy.body1055.preheader, label %arraydestroy.body1030 -arraydestroy.body1055.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit764 +arraydestroy.body1055.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit797 %95 = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i765 = icmp eq ptr %95, null - br i1 %tobool.not.i.i.i765, label %arraydestroy.body1079.preheader, label %if.then.i.i.i766 + %tobool.not.i.i.i798 = icmp eq ptr %95, null + br i1 %tobool.not.i.i.i798, label %arraydestroy.body1079.preheader, label %if.then.i.i.i799 -if.then.i.i.i766: ; preds = %arraydestroy.body1055.preheader +if.then.i.i.i799: ; preds = %arraydestroy.body1055.preheader call void @_ZdlPv(ptr noundef nonnull %95) #31 br label %arraydestroy.body1079.preheader -arraydestroy.body1079.preheader: ; preds = %arraydestroy.body1055.preheader, %if.then.i.i.i766 +arraydestroy.body1079.preheader: ; preds = %arraydestroy.body1055.preheader, %if.then.i.i.i799 br label %arraydestroy.body1079 -arraydestroy.body1079: ; preds = %arraydestroy.body1079.preheader, %_ZNSt6vectorIiSaIiEED2Ev.exit772 - %arraydestroy.elementPast1080 = phi ptr [ %arraydestroy.element1081, %_ZNSt6vectorIiSaIiEED2Ev.exit772 ], [ %add.ptr.i.i96, %arraydestroy.body1079.preheader ] +arraydestroy.body1079: ; preds = %arraydestroy.body1079.preheader, %_ZNSt6vectorIiSaIiEED2Ev.exit805 + %arraydestroy.elementPast1080 = phi ptr [ %arraydestroy.element1081, %_ZNSt6vectorIiSaIiEED2Ev.exit805 ], [ %add.ptr.i.i96, %arraydestroy.body1079.preheader ] %arraydestroy.element1081 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1080, i64 -1 %96 = load ptr, ptr %arraydestroy.element1081, align 8 - %tobool.not.i.i.i769 = icmp eq ptr %96, null - br i1 %tobool.not.i.i.i769, label %_ZNSt6vectorIiSaIiEED2Ev.exit772, label %if.then.i.i.i770 + %tobool.not.i.i.i802 = icmp eq ptr %96, null + br i1 %tobool.not.i.i.i802, label %_ZNSt6vectorIiSaIiEED2Ev.exit805, label %if.then.i.i.i803 -if.then.i.i.i770: ; preds = %arraydestroy.body1079 +if.then.i.i.i803: ; preds = %arraydestroy.body1079 call void @_ZdlPv(ptr noundef nonnull %96) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit772 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit805 -_ZNSt6vectorIiSaIiEED2Ev.exit772: ; preds = %arraydestroy.body1079, %if.then.i.i.i770 +_ZNSt6vectorIiSaIiEED2Ev.exit805: ; preds = %arraydestroy.body1079, %if.then.i.i.i803 %arraydestroy.done1082 = icmp eq ptr %arraydestroy.element1081, %ref.tmp19 br i1 %arraydestroy.done1082, label %arraydestroy.body1092, label %arraydestroy.body1079 -arraydestroy.body1092: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit772, %_ZNSt6vectorIiSaIiEED2Ev.exit776 - %arraydestroy.elementPast1093 = phi ptr [ %arraydestroy.element1094, %_ZNSt6vectorIiSaIiEED2Ev.exit776 ], [ %add.ptr.i.i83, %_ZNSt6vectorIiSaIiEED2Ev.exit772 ] +arraydestroy.body1092: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit805, %_ZNSt6vectorIiSaIiEED2Ev.exit809 + %arraydestroy.elementPast1093 = phi ptr [ %arraydestroy.element1094, %_ZNSt6vectorIiSaIiEED2Ev.exit809 ], [ %add.ptr.i.i83, %_ZNSt6vectorIiSaIiEED2Ev.exit805 ] %arraydestroy.element1094 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1093, i64 -1 %97 = load ptr, ptr %arraydestroy.element1094, align 8 - %tobool.not.i.i.i773 = icmp eq ptr %97, null - br i1 %tobool.not.i.i.i773, label %_ZNSt6vectorIiSaIiEED2Ev.exit776, label %if.then.i.i.i774 + %tobool.not.i.i.i806 = icmp eq ptr %97, null + br i1 %tobool.not.i.i.i806, label %_ZNSt6vectorIiSaIiEED2Ev.exit809, label %if.then.i.i.i807 -if.then.i.i.i774: ; preds = %arraydestroy.body1092 +if.then.i.i.i807: ; preds = %arraydestroy.body1092 call void @_ZdlPv(ptr noundef nonnull %97) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit776 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit809 -_ZNSt6vectorIiSaIiEED2Ev.exit776: ; preds = %arraydestroy.body1092, %if.then.i.i.i774 +_ZNSt6vectorIiSaIiEED2Ev.exit809: ; preds = %arraydestroy.body1092, %if.then.i.i.i807 %arraydestroy.done1095 = icmp eq ptr %arraydestroy.element1094, %ref.tmp8 br i1 %arraydestroy.done1095, label %arraydestroy.body1105.preheader, label %arraydestroy.body1092 -arraydestroy.body1105.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit776 +arraydestroy.body1105.preheader: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit809 %98 = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i777 = icmp eq ptr %98, null - br i1 %tobool.not.i.i.i777, label %for.body.i.i.preheader, label %if.then.i.i.i778 + %tobool.not.i.i.i810 = icmp eq ptr %98, null + br i1 %tobool.not.i.i.i810, label %for.body.i.i.preheader, label %if.then.i.i.i811 -if.then.i.i.i778: ; preds = %arraydestroy.body1105.preheader +if.then.i.i.i811: ; preds = %arraydestroy.body1105.preheader call void @_ZdlPv(ptr noundef nonnull %98) #31 br label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %arraydestroy.body1105.preheader, %if.then.i.i.i778 +for.body.i.i.preheader: ; preds = %arraydestroy.body1105.preheader, %if.then.i.i.i811 br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.inc.i.i %ref.tmp.sroa.0.0.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %add.ptr19.i.i.i12.i.i = phi ptr [ %add.ptr19.i.i.i11.i.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] - %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i691, %for.body.i.i.preheader ] + %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i724, %for.body.i.i.preheader ] %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i - br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i781 + br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i814 -if.then.i.i.i.i781: ; preds = %for.body.i.i +if.then.i.i.i.i814: ; preds = %for.body.i.i store ptr %__begin0.sroa.0.08.i.i, ptr %incdec.ptr.i.i.i9.i.i, align 8, !noalias !4324 %ref.tmp.sroa.3.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i9.i.i, i64 8 store i8 0, ptr %ref.tmp.sroa.3.0..sroa_idx.i.i, align 8, !noalias !4324 @@ -168524,8 +168526,8 @@ _ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaI %cmp9.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i, 576460752303423487 %or.cond.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i %cond.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i, i64 576460752303423487, i64 %add.i.i.i.i.i.i - %cmp.not.i.i.i.i.i.i790 = icmp eq i64 %cond.i.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i.i790, label %_ZNSt12_Vector_baseISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEESaIS9_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEE8allocateERSA_m.exit.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i823 = icmp eq i64 %cond.i.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i.i823, label %_ZNSt12_Vector_baseISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEESaIS9_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEE8allocateERSA_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEE8allocateERSA_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 4 @@ -168562,10 +168564,10 @@ _ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS %add.ptr19.i.i.i.i.i = getelementptr inbounds %"class.std::variant.1386", ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i br label %for.inc.i.i -for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i781 - %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i781 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i781 ] - %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i781 ] +for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i814 + %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i814 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i814 ] + %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EE17_M_realloc_insertIJS8_EEEvN9__gnu_cxx17__normal_iteratorIPS8_SA_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i814 ] %ref.tmp.sroa.6.0.i = getelementptr inbounds %"class.std::variant.1386", ptr %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i, i64 1 %incdec.ptr.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %__begin0.sroa.0.08.i.i, i64 1 %cmp.i.not.i.i = icmp eq ptr %__begin0.sroa.0.08.i.i, %__cur.017.i.i.i.i.i.i @@ -168574,19 +168576,19 @@ for.inc.i.i: ; preds = %_ZNSt6vectorISt7var lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEE8allocateERSA_m.exit.i.i.i.i.i.i %lpad.loopexit3.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i791 + br label %lpad.i.i824 lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i791 + br label %lpad.i.i824 -lpad.i.i791: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i +lpad.i.i824: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i %lpad.phi.i.i = phi { ptr, i32 } [ %lpad.loopexit3.i.i, %lpad.loopexit.i.i ], [ %lpad.loopexit.split-lp4.i.i, %lpad.loopexit.split-lp.i.i ] %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0.i, null br i1 %tobool.not.i.i.i.i.i, label %ehcleanup1145, label %if.then.i.i.i.i.i -if.then.i.i.i.i.i: ; preds = %lpad.i.i791 +if.then.i.i.i.i.i: ; preds = %lpad.i.i824 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4324 br label %ehcleanup1145 @@ -168621,7 +168623,7 @@ _ZN4absl13hash_internal17ContainerAsVectorISt6vectorIN12_GLOBAL__N_117UnorderedS for.body.lr.ph.i7.i: ; preds = %_ZN4absl13hash_internal17ContainerAsVectorISt6vectorIN12_GLOBAL__N_117UnorderedSequenceIS2_IiSaIiEEEESaIS7_EEE2DoERKS9_.exit.i %99 = getelementptr inbounds i8, ptr %classes.i.i, i64 8 - %_M_end_of_storage.i.i.i782 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1384", ptr %classes.i.i, i64 0, i32 2 + %_M_end_of_storage.i.i.i815 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1384", ptr %classes.i.i, i64 0, i32 2 %moved_from_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 2 %_M_engaged.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i, i64 0, i32 1 %error_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 1 @@ -168686,8 +168688,8 @@ for.body.i.i.i: ; preds = %land.rhs.i.i.i.i.i. br i1 %cmp.i.i.i923.i.i, label %land.rhs.i.i.i.i.i, label %for.end.i.i.i land.rhs.i.i.i.i.i: ; preds = %for.body.i.i.i - %tobool.not.i.i.i.i.i.i.i.i.i789 = icmp eq ptr %103, %104 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i789, label %for.inc.i.i.i, label %_ZNK9__gnu_cxx5__ops19_Iter_equal_to_iterclINS_17__normal_iteratorIPKSt6vectorIiSaIiEES4_IS6_SaIS6_EEEESB_EEbT_T0_.exit.i.i.i + %tobool.not.i.i.i.i.i.i.i.i.i822 = icmp eq ptr %103, %104 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i822, label %for.inc.i.i.i, label %_ZNK9__gnu_cxx5__ops19_Iter_equal_to_iterclINS_17__normal_iteratorIPKSt6vectorIiSaIiEES4_IS6_SaIS6_EEEESB_EEbT_T0_.exit.i.i.i _ZNK9__gnu_cxx5__ops19_Iter_equal_to_iterclINS_17__normal_iteratorIPKSt6vectorIiSaIiEES4_IS6_SaIS6_EEEESB_EEbT_T0_.exit.i.i.i: ; preds = %land.rhs.i.i.i.i.i %bcmp.i.i.i.i.i.i.i.i.i = call i32 @bcmp(ptr %104, ptr %106, i64 %sub.ptr.sub.i.i.i.i922.i.i) @@ -168832,27 +168834,27 @@ for.inc69.i.i.i: ; preds = %_ZSt10__count_ifIN9 lpad.loopexit11.i.i: ; preds = %for.body66.i.i %lpad.loopexit12.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i784 + br label %lpad.body.i817 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %for.body19.us.i.i.i %lpad.loopexit15.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i784 + br label %lpad.body.i817 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i: ; preds = %for.body19.i.i.i %lpad.loopexit18.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i784 + br label %lpad.body.i817 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS3_IiSaIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i %lpad.loopexit25.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i784 + br label %lpad.body.i817 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.i.invoke.i.i %lpad.loopexit.split-lp26.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i784 + br label %lpad.body.i817 for.inc.i9.i: ; preds = %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS0_5__ops17_Iter_equals_iterIS9_EEENSt15iterator_traitsIT_E15difference_typeESE_SE_T0_.exit38.i.i.i, %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS0_5__ops17_Iter_equals_iterIS9_EEENSt15iterator_traitsIT_E15difference_typeESE_SE_T0_.exit.i.i.i, %call.i.us.i.noexc.i.i, %for.body13.i.i %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.1406", ptr %__begin05.sroa.0.061.i.i, i64 1 @@ -168865,11 +168867,11 @@ if.then19.loopexit.i.i: ; preds = %for.inc.i9.i if.then19.i.i: ; preds = %if.then19.loopexit.i.i, %for.body.i8.i %115 = phi ptr [ %.pre.i.i, %if.then19.loopexit.i.i ], [ %classes.val.i.i, %for.body.i8.i ] - %116 = load ptr, ptr %_M_end_of_storage.i.i.i782, align 8, !noalias !4335 + %116 = load ptr, ptr %_M_end_of_storage.i.i.i815, align 8, !noalias !4335 %cmp.not.i.i.i = icmp eq ptr %115, %116 - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i783 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i816 -if.then.i.i.i783: ; preds = %if.then19.i.i +if.then.i.i.i816: ; preds = %if.then19.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %115, i8 0, i64 24, i1 false) %incdec.ptr.i105.i.i = getelementptr inbounds %"class.std::vector.1406", ptr %115, i64 1 store ptr %incdec.ptr.i105.i.i, ptr %99, align 8, !noalias !4335 @@ -168885,15 +168887,15 @@ if.else.i.i.i: ; preds = %if.then19.i.i _ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i, 24 - %cmp.i.i.i.i.i37.i = icmp eq ptr %115, %this.val10.i.i.i.i - %.sroa.speculated.i.i.i.i.i = select i1 %cmp.i.i.i.i.i37.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i + %cmp.i.i.i.i.i38.i = icmp eq ptr %115, %this.val10.i.i.i.i + %.sroa.speculated.i.i.i.i.i = select i1 %cmp.i.i.i.i.i38.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i %add.i.i.i.i.i = add nsw i64 %.sroa.speculated.i.i.i.i.i, %sub.ptr.div.i.i.i.i.i.i %cmp7.i.i.i.i.i = icmp ult i64 %add.i.i.i.i.i, %sub.ptr.div.i.i.i.i.i.i %cmp9.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i, 384307168202282325 %or.cond.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i, %cmp9.i.i.i.i.i %cond.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i, i64 384307168202282325, i64 %add.i.i.i.i.i - %cmp.not.i.i.i.i.i788 = icmp eq i64 %cond.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i788, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %cmp.not.i.i.i.i.i821 = icmp eq i64 %cond.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i821, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = mul nuw nsw i64 %cond.i.i.i.i.i, 24 @@ -168904,7 +168906,7 @@ _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHa %cond.i12.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i106.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds %"class.std::vector.1406", ptr %cond.i12.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i, i8 0, i64 24, i1 false) - br i1 %cmp.i.i.i.i.i37.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i + br i1 %cmp.i.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i %__cur.03.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ], [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] @@ -168925,9 +168927,9 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] - %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.1406", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i39.i = icmp eq ptr %this.val10.i.i.i.i, null - br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i + %incdec.ptr.i.i.i39.i = getelementptr inbounds %"class.std::vector.1406", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i40.i = icmp eq ptr %this.val10.i.i.i.i, null + br i1 %tobool.not.i.i.i.i40.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val10.i.i.i.i) #31 @@ -168935,13 +168937,13 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !4335 - store ptr %incdec.ptr.i.i.i38.i, ptr %99, align 8, !noalias !4335 + store ptr %incdec.ptr.i.i.i39.i, ptr %99, align 8, !noalias !4335 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.1406", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i - store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i782, align 8, !noalias !4335 + store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i815, align 8, !noalias !4335 br label %if.end23.i.i -if.end23.i.i: ; preds = %for.end.i.i.i, %for.inc.i.i.i, %for.inc69.i.i.i, %for.inc69.us.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i783 - %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %115, %if.then.i.i.i783 ], [ %__begin05.sroa.0.061.i.i, %for.inc69.us.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.inc69.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.inc.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.end.i.i.i ] +if.end23.i.i: ; preds = %for.end.i.i.i, %for.inc.i.i.i, %for.inc69.i.i.i, %for.inc69.us.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i816 + %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %115, %if.then.i.i.i816 ], [ %__begin05.sroa.0.061.i.i, %for.inc69.us.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.inc69.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.inc.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.end.i.i.i ] %_M_finish.i.i.i11.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1412", ptr %c.1.i.i, i64 0, i32 1 %119 = load ptr, ptr %_M_finish.i.i.i11.i, align 8 %_M_end_of_storage.i.i.i12.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1412", ptr %c.1.i.i, i64 0, i32 2 @@ -168996,31 +168998,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.064.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.065.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS3_IiSaIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS3_IiSaIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1413, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS3_IiSaIiEEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1413, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.1413, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.1413, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %122 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %121, %if.then.i.i.i14.i ] + %122 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %121, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.065.i.i, 1 %call28.val.i.i = load ptr, ptr %122, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -169031,8 +169034,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !4348) %123 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !4351 %124 = and i8 %123, 1 - %tobool.not.i.i.i785 = icmp eq i8 %124, 0 - br i1 %tobool.not.i.i.i785, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i818 = icmp eq i8 %124, 0 + br i1 %tobool.not.i.i.i818, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -169237,7 +169240,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %153 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i784 + br label %lpad.body.i817 lpad35.i.i: ; preds = %if.then33.i.i %154 = landingpad { ptr, i32 } @@ -169259,12 +169262,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %156 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4335 %157 = and i8 %156, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %157, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i784, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i817, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4335 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i784 + br label %lpad.body.i817 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !4335 @@ -169366,7 +169369,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %165, %lpad51.i.i ], [ %161, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %161, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i784 + br label %lpad.body.i817 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.071.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -171400,7 +171403,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %266, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit8.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp9.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i784 + br label %lpad.body.i817 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_) @@ -171510,22 +171513,22 @@ cleanup257.i.i: ; preds = %if.then.i.i.i1.i893 %_M_finish.i914.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1384", ptr %classes.i.i, i64 0, i32 1 %435 = load ptr, ptr %_M_finish.i914.i.i, align 8, !noalias !4335 %cmp.not3.i.i.i.i.i.i = icmp eq ptr %434, %435 - br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i786 + br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i819 -for.body.i.i.i.i.i.i786: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i819: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %434, %cleanup257.i.i ] %__first.addr.0.val.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i -if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i786 +if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i819 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i786 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i819 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1406", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i916.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i, %435 - br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i786, !llvm.loop !4352 + br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i819, !llvm.loop !4352 invoke.cont.i917.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i %tobool.not.i.i.i918.i.i = icmp eq ptr %434, null @@ -171560,24 +171563,24 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i), !noalias !4332 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !4332 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !4332 - %tobool.not.i.i.i.i787 = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i787, label %invoke.cont1128, label %if.then.i.i.i40.i + %tobool.not.i.i.i.i820 = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i.i820, label %invoke.cont1128, label %if.then.i.i.i41.i -if.then.i.i.i40.i: ; preds = %invoke.cont.i +if.then.i.i.i41.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %invoke.cont1128 -lpad.body.i784: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i +lpad.body.i817: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i %.pn46.pn.i.i = phi { ptr, i32 } [ %153, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit12.i.i, %lpad.loopexit11.i.i ], [ %lpad.loopexit15.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit18.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit25.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp26.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i41.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i41.i, label %ehcleanup1145, label %if.then.i.i.i42.i + %tobool.not.i.i.i42.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i42.i, label %ehcleanup1145, label %if.then.i.i.i43.i -if.then.i.i.i42.i: ; preds = %lpad.body.i784 +if.then.i.i.i43.i: ; preds = %lpad.body.i817 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %ehcleanup1145 -invoke.cont1128: ; preds = %if.then.i.i.i40.i, %invoke.cont.i +invoke.cont1128: ; preds = %if.then.i.i.i41.i, %invoke.cont.i %436 = load i8, ptr %gtest_ar_, align 8 %437 = and i8 %436, 1 %tobool.i.not = icmp eq i8 %437, 0 @@ -171588,8 +171591,8 @@ lpad603: ; preds = %invoke.cont597 cleanup br label %lpad603.body -lpad603.body: ; preds = %lpad.body.i688, %if.then.i.i6.i, %lpad603 - %eh.lpad-body692 = phi { ptr, i32 } [ %438, %lpad603 ], [ %69, %if.then.i.i6.i ], [ %69, %lpad.body.i688 ] +lpad603.body: ; preds = %lpad.body.i721, %if.then.i.i6.i, %lpad603 + %eh.lpad-body725 = phi { ptr, i32 } [ %438, %lpad603 ], [ %69, %if.then.i.i6.i ], [ %69, %lpad.body.i721 ] %439 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %ref.tmp, i64 23 br label %arraydestroy.body607 @@ -171600,564 +171603,564 @@ arraydestroy.body607: ; preds = %arraydestroy.body60 %arraydestroy.done610 = icmp eq ptr %arraydestroy.element609, %ref.tmp br i1 %arraydestroy.done610, label %ehcleanup, label %arraydestroy.body607 -ehcleanup: ; preds = %arraydestroy.body607, %if.then.i.i3.i.i678, %lpad.i.i676 - %.pn = phi { ptr, i32 } [ %61, %if.then.i.i3.i.i678 ], [ %61, %lpad.i.i676 ], [ %eh.lpad-body692, %arraydestroy.body607 ] - %cleanup.isactive598.0 = phi i1 [ true, %if.then.i.i3.i.i678 ], [ true, %lpad.i.i676 ], [ false, %arraydestroy.body607 ] +ehcleanup: ; preds = %arraydestroy.body607, %if.then.i.i3.i.i711, %lpad.i.i709 + %.pn = phi { ptr, i32 } [ %61, %if.then.i.i3.i.i711 ], [ %61, %lpad.i.i709 ], [ %eh.lpad-body725, %arraydestroy.body607 ] + %cleanup.isactive598.0 = phi i1 [ true, %if.then.i.i3.i.i711 ], [ true, %lpad.i.i709 ], [ false, %arraydestroy.body607 ] br label %arraydestroy.body619 -arraydestroy.body619: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit797, %ehcleanup - %arraydestroy.elementPast620 = phi ptr [ %add.ptr.i.i674, %ehcleanup ], [ %arraydestroy.element621, %_ZNSt6vectorIiSaIiEED2Ev.exit797 ] +arraydestroy.body619: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit830, %ehcleanup + %arraydestroy.elementPast620 = phi ptr [ %add.ptr.i.i707, %ehcleanup ], [ %arraydestroy.element621, %_ZNSt6vectorIiSaIiEED2Ev.exit830 ] %arraydestroy.element621 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast620, i64 -1 %440 = load ptr, ptr %arraydestroy.element621, align 8 - %tobool.not.i.i.i794 = icmp eq ptr %440, null - br i1 %tobool.not.i.i.i794, label %_ZNSt6vectorIiSaIiEED2Ev.exit797, label %if.then.i.i.i795 + %tobool.not.i.i.i827 = icmp eq ptr %440, null + br i1 %tobool.not.i.i.i827, label %_ZNSt6vectorIiSaIiEED2Ev.exit830, label %if.then.i.i.i828 -if.then.i.i.i795: ; preds = %arraydestroy.body619 +if.then.i.i.i828: ; preds = %arraydestroy.body619 call void @_ZdlPv(ptr noundef nonnull %440) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit797 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit830 -_ZNSt6vectorIiSaIiEED2Ev.exit797: ; preds = %arraydestroy.body619, %if.then.i.i.i795 +_ZNSt6vectorIiSaIiEED2Ev.exit830: ; preds = %arraydestroy.body619, %if.then.i.i.i828 %arraydestroy.done622 = icmp eq ptr %arraydestroy.element621, %ref.tmp568 br i1 %arraydestroy.done622, label %ehcleanup638, label %arraydestroy.body619 -_ZNSt6vectorIiSaIiEED2Ev.exit802: ; preds = %invoke.cont580 +_ZNSt6vectorIiSaIiEED2Ev.exit835: ; preds = %invoke.cont580 %441 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i654) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i685) #31 br label %ehcleanup638 -ehcleanup638: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit797, %lpad.i655, %_ZNSt6vectorIiSaIiEED2Ev.exit802, %if.then.i.i3.i.i645, %lpad.i.i643 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %58, %if.then.i.i3.i.i645 ], [ %58, %lpad.i.i643 ], [ %60, %lpad.i655 ], [ %441, %_ZNSt6vectorIiSaIiEED2Ev.exit802 ], [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit797 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element534, %if.then.i.i3.i.i645 ], [ %arrayinit.element534, %lpad.i.i643 ], [ %arrayinit.element566, %lpad.i655 ], [ %arrayinit.element566, %_ZNSt6vectorIiSaIiEED2Ev.exit802 ], [ %arrayinit.element566, %_ZNSt6vectorIiSaIiEED2Ev.exit797 ] - %cleanup.isactive598.3 = phi i1 [ true, %if.then.i.i3.i.i645 ], [ true, %lpad.i.i643 ], [ true, %lpad.i655 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit802 ], [ %cleanup.isactive598.0, %_ZNSt6vectorIiSaIiEED2Ev.exit797 ] +ehcleanup638: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit830, %lpad.i686, %_ZNSt6vectorIiSaIiEED2Ev.exit835, %if.then.i.i3.i.i676, %lpad.i.i674 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %58, %if.then.i.i3.i.i676 ], [ %58, %lpad.i.i674 ], [ %60, %lpad.i686 ], [ %441, %_ZNSt6vectorIiSaIiEED2Ev.exit835 ], [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit830 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element534, %if.then.i.i3.i.i676 ], [ %arrayinit.element534, %lpad.i.i674 ], [ %arrayinit.element566, %lpad.i686 ], [ %arrayinit.element566, %_ZNSt6vectorIiSaIiEED2Ev.exit835 ], [ %arrayinit.element566, %_ZNSt6vectorIiSaIiEED2Ev.exit830 ] + %cleanup.isactive598.3 = phi i1 [ true, %if.then.i.i3.i.i676 ], [ true, %lpad.i.i674 ], [ true, %lpad.i686 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit835 ], [ %cleanup.isactive598.0, %_ZNSt6vectorIiSaIiEED2Ev.exit830 ] br label %arraydestroy.body640 -arraydestroy.body640: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit807, %ehcleanup638 - %arraydestroy.elementPast641 = phi ptr [ %add.ptr.i.i641, %ehcleanup638 ], [ %arraydestroy.element642, %_ZNSt6vectorIiSaIiEED2Ev.exit807 ] +arraydestroy.body640: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit840, %ehcleanup638 + %arraydestroy.elementPast641 = phi ptr [ %add.ptr.i.i672, %ehcleanup638 ], [ %arraydestroy.element642, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ] %arraydestroy.element642 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast641, i64 -1 %442 = load ptr, ptr %arraydestroy.element642, align 8 - %tobool.not.i.i.i804 = icmp eq ptr %442, null - br i1 %tobool.not.i.i.i804, label %_ZNSt6vectorIiSaIiEED2Ev.exit807, label %if.then.i.i.i805 + %tobool.not.i.i.i837 = icmp eq ptr %442, null + br i1 %tobool.not.i.i.i837, label %_ZNSt6vectorIiSaIiEED2Ev.exit840, label %if.then.i.i.i838 -if.then.i.i.i805: ; preds = %arraydestroy.body640 +if.then.i.i.i838: ; preds = %arraydestroy.body640 call void @_ZdlPv(ptr noundef nonnull %442) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit807 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit840 -_ZNSt6vectorIiSaIiEED2Ev.exit807: ; preds = %arraydestroy.body640, %if.then.i.i.i805 +_ZNSt6vectorIiSaIiEED2Ev.exit840: ; preds = %arraydestroy.body640, %if.then.i.i.i838 %arraydestroy.done643 = icmp eq ptr %arraydestroy.element642, %ref.tmp536 br i1 %arraydestroy.done643, label %ehcleanup663, label %arraydestroy.body640 -_ZNSt6vectorIiSaIiEED2Ev.exit812: ; preds = %invoke.cont548 +_ZNSt6vectorIiSaIiEED2Ev.exit845: ; preds = %invoke.cont548 %443 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i621) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i650) #31 br label %ehcleanup663 -ehcleanup663: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit807, %lpad.i622, %_ZNSt6vectorIiSaIiEED2Ev.exit812, %if.then.i.i3.i.i612, %lpad.i.i610 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %55, %if.then.i.i3.i.i612 ], [ %55, %lpad.i.i610 ], [ %57, %lpad.i622 ], [ %443, %_ZNSt6vectorIiSaIiEED2Ev.exit812 ], [ %.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit807 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element502, %if.then.i.i3.i.i612 ], [ %arrayinit.element502, %lpad.i.i610 ], [ %arrayinit.element534, %lpad.i622 ], [ %arrayinit.element534, %_ZNSt6vectorIiSaIiEED2Ev.exit812 ], [ %arrayinit.endOfInit.0, %_ZNSt6vectorIiSaIiEED2Ev.exit807 ] - %cleanup.isactive598.6 = phi i1 [ true, %if.then.i.i3.i.i612 ], [ true, %lpad.i.i610 ], [ true, %lpad.i622 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit812 ], [ %cleanup.isactive598.3, %_ZNSt6vectorIiSaIiEED2Ev.exit807 ] +ehcleanup663: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit840, %lpad.i651, %_ZNSt6vectorIiSaIiEED2Ev.exit845, %if.then.i.i3.i.i641, %lpad.i.i639 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %55, %if.then.i.i3.i.i641 ], [ %55, %lpad.i.i639 ], [ %57, %lpad.i651 ], [ %443, %_ZNSt6vectorIiSaIiEED2Ev.exit845 ], [ %.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element502, %if.then.i.i3.i.i641 ], [ %arrayinit.element502, %lpad.i.i639 ], [ %arrayinit.element534, %lpad.i651 ], [ %arrayinit.element534, %_ZNSt6vectorIiSaIiEED2Ev.exit845 ], [ %arrayinit.endOfInit.0, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ] + %cleanup.isactive598.6 = phi i1 [ true, %if.then.i.i3.i.i641 ], [ true, %lpad.i.i639 ], [ true, %lpad.i651 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit845 ], [ %cleanup.isactive598.3, %_ZNSt6vectorIiSaIiEED2Ev.exit840 ] br label %arraydestroy.body665 -arraydestroy.body665: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit817, %ehcleanup663 - %arraydestroy.elementPast666 = phi ptr [ %add.ptr.i.i608, %ehcleanup663 ], [ %arraydestroy.element667, %_ZNSt6vectorIiSaIiEED2Ev.exit817 ] +arraydestroy.body665: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit850, %ehcleanup663 + %arraydestroy.elementPast666 = phi ptr [ %add.ptr.i.i637, %ehcleanup663 ], [ %arraydestroy.element667, %_ZNSt6vectorIiSaIiEED2Ev.exit850 ] %arraydestroy.element667 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast666, i64 -1 %444 = load ptr, ptr %arraydestroy.element667, align 8 - %tobool.not.i.i.i814 = icmp eq ptr %444, null - br i1 %tobool.not.i.i.i814, label %_ZNSt6vectorIiSaIiEED2Ev.exit817, label %if.then.i.i.i815 + %tobool.not.i.i.i847 = icmp eq ptr %444, null + br i1 %tobool.not.i.i.i847, label %_ZNSt6vectorIiSaIiEED2Ev.exit850, label %if.then.i.i.i848 -if.then.i.i.i815: ; preds = %arraydestroy.body665 +if.then.i.i.i848: ; preds = %arraydestroy.body665 call void @_ZdlPv(ptr noundef nonnull %444) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit817 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit850 -_ZNSt6vectorIiSaIiEED2Ev.exit817: ; preds = %arraydestroy.body665, %if.then.i.i.i815 +_ZNSt6vectorIiSaIiEED2Ev.exit850: ; preds = %arraydestroy.body665, %if.then.i.i.i848 %arraydestroy.done668 = icmp eq ptr %arraydestroy.element667, %ref.tmp504 br i1 %arraydestroy.done668, label %ehcleanup688, label %arraydestroy.body665 -_ZNSt6vectorIiSaIiEED2Ev.exit822: ; preds = %invoke.cont516 +_ZNSt6vectorIiSaIiEED2Ev.exit855: ; preds = %invoke.cont516 %445 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i588) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i615) #31 br label %ehcleanup688 -ehcleanup688: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit817, %lpad.i589, %_ZNSt6vectorIiSaIiEED2Ev.exit822, %if.then.i.i3.i.i579, %lpad.i.i577 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %52, %if.then.i.i3.i.i579 ], [ %52, %lpad.i.i577 ], [ %54, %lpad.i589 ], [ %445, %_ZNSt6vectorIiSaIiEED2Ev.exit822 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit817 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element470, %if.then.i.i3.i.i579 ], [ %arrayinit.element470, %lpad.i.i577 ], [ %arrayinit.element502, %lpad.i589 ], [ %arrayinit.element502, %_ZNSt6vectorIiSaIiEED2Ev.exit822 ], [ %arrayinit.endOfInit.3, %_ZNSt6vectorIiSaIiEED2Ev.exit817 ] - %cleanup.isactive598.9 = phi i1 [ true, %if.then.i.i3.i.i579 ], [ true, %lpad.i.i577 ], [ true, %lpad.i589 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit822 ], [ %cleanup.isactive598.6, %_ZNSt6vectorIiSaIiEED2Ev.exit817 ] +ehcleanup688: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit850, %lpad.i616, %_ZNSt6vectorIiSaIiEED2Ev.exit855, %if.then.i.i3.i.i606, %lpad.i.i604 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %52, %if.then.i.i3.i.i606 ], [ %52, %lpad.i.i604 ], [ %54, %lpad.i616 ], [ %445, %_ZNSt6vectorIiSaIiEED2Ev.exit855 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit850 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element470, %if.then.i.i3.i.i606 ], [ %arrayinit.element470, %lpad.i.i604 ], [ %arrayinit.element502, %lpad.i616 ], [ %arrayinit.element502, %_ZNSt6vectorIiSaIiEED2Ev.exit855 ], [ %arrayinit.endOfInit.3, %_ZNSt6vectorIiSaIiEED2Ev.exit850 ] + %cleanup.isactive598.9 = phi i1 [ true, %if.then.i.i3.i.i606 ], [ true, %lpad.i.i604 ], [ true, %lpad.i616 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit855 ], [ %cleanup.isactive598.6, %_ZNSt6vectorIiSaIiEED2Ev.exit850 ] br label %arraydestroy.body690 -arraydestroy.body690: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit827, %ehcleanup688 - %arraydestroy.elementPast691 = phi ptr [ %add.ptr.i.i575, %ehcleanup688 ], [ %arraydestroy.element692, %_ZNSt6vectorIiSaIiEED2Ev.exit827 ] +arraydestroy.body690: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit860, %ehcleanup688 + %arraydestroy.elementPast691 = phi ptr [ %add.ptr.i.i602, %ehcleanup688 ], [ %arraydestroy.element692, %_ZNSt6vectorIiSaIiEED2Ev.exit860 ] %arraydestroy.element692 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast691, i64 -1 %446 = load ptr, ptr %arraydestroy.element692, align 8 - %tobool.not.i.i.i824 = icmp eq ptr %446, null - br i1 %tobool.not.i.i.i824, label %_ZNSt6vectorIiSaIiEED2Ev.exit827, label %if.then.i.i.i825 + %tobool.not.i.i.i857 = icmp eq ptr %446, null + br i1 %tobool.not.i.i.i857, label %_ZNSt6vectorIiSaIiEED2Ev.exit860, label %if.then.i.i.i858 -if.then.i.i.i825: ; preds = %arraydestroy.body690 +if.then.i.i.i858: ; preds = %arraydestroy.body690 call void @_ZdlPv(ptr noundef nonnull %446) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit827 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit860 -_ZNSt6vectorIiSaIiEED2Ev.exit827: ; preds = %arraydestroy.body690, %if.then.i.i.i825 +_ZNSt6vectorIiSaIiEED2Ev.exit860: ; preds = %arraydestroy.body690, %if.then.i.i.i858 %arraydestroy.done693 = icmp eq ptr %arraydestroy.element692, %ref.tmp472 br i1 %arraydestroy.done693, label %ehcleanup713, label %arraydestroy.body690 -_ZNSt6vectorIiSaIiEED2Ev.exit832: ; preds = %invoke.cont484 +_ZNSt6vectorIiSaIiEED2Ev.exit865: ; preds = %invoke.cont484 %447 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i555) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i580) #31 br label %ehcleanup713 -ehcleanup713: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit827, %lpad.i556, %_ZNSt6vectorIiSaIiEED2Ev.exit832, %if.then.i.i3.i.i546, %lpad.i.i544 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %49, %if.then.i.i3.i.i546 ], [ %49, %lpad.i.i544 ], [ %51, %lpad.i556 ], [ %447, %_ZNSt6vectorIiSaIiEED2Ev.exit832 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit827 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element438, %if.then.i.i3.i.i546 ], [ %arrayinit.element438, %lpad.i.i544 ], [ %arrayinit.element470, %lpad.i556 ], [ %arrayinit.element470, %_ZNSt6vectorIiSaIiEED2Ev.exit832 ], [ %arrayinit.endOfInit.6, %_ZNSt6vectorIiSaIiEED2Ev.exit827 ] - %cleanup.isactive598.12 = phi i1 [ true, %if.then.i.i3.i.i546 ], [ true, %lpad.i.i544 ], [ true, %lpad.i556 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit832 ], [ %cleanup.isactive598.9, %_ZNSt6vectorIiSaIiEED2Ev.exit827 ] +ehcleanup713: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit860, %lpad.i581, %_ZNSt6vectorIiSaIiEED2Ev.exit865, %if.then.i.i3.i.i571, %lpad.i.i569 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %49, %if.then.i.i3.i.i571 ], [ %49, %lpad.i.i569 ], [ %51, %lpad.i581 ], [ %447, %_ZNSt6vectorIiSaIiEED2Ev.exit865 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit860 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element438, %if.then.i.i3.i.i571 ], [ %arrayinit.element438, %lpad.i.i569 ], [ %arrayinit.element470, %lpad.i581 ], [ %arrayinit.element470, %_ZNSt6vectorIiSaIiEED2Ev.exit865 ], [ %arrayinit.endOfInit.6, %_ZNSt6vectorIiSaIiEED2Ev.exit860 ] + %cleanup.isactive598.12 = phi i1 [ true, %if.then.i.i3.i.i571 ], [ true, %lpad.i.i569 ], [ true, %lpad.i581 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit865 ], [ %cleanup.isactive598.9, %_ZNSt6vectorIiSaIiEED2Ev.exit860 ] br label %arraydestroy.body715 -arraydestroy.body715: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit837, %ehcleanup713 - %arraydestroy.elementPast716 = phi ptr [ %add.ptr.i.i542, %ehcleanup713 ], [ %arraydestroy.element717, %_ZNSt6vectorIiSaIiEED2Ev.exit837 ] +arraydestroy.body715: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit870, %ehcleanup713 + %arraydestroy.elementPast716 = phi ptr [ %add.ptr.i.i567, %ehcleanup713 ], [ %arraydestroy.element717, %_ZNSt6vectorIiSaIiEED2Ev.exit870 ] %arraydestroy.element717 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast716, i64 -1 %448 = load ptr, ptr %arraydestroy.element717, align 8 - %tobool.not.i.i.i834 = icmp eq ptr %448, null - br i1 %tobool.not.i.i.i834, label %_ZNSt6vectorIiSaIiEED2Ev.exit837, label %if.then.i.i.i835 + %tobool.not.i.i.i867 = icmp eq ptr %448, null + br i1 %tobool.not.i.i.i867, label %_ZNSt6vectorIiSaIiEED2Ev.exit870, label %if.then.i.i.i868 -if.then.i.i.i835: ; preds = %arraydestroy.body715 +if.then.i.i.i868: ; preds = %arraydestroy.body715 call void @_ZdlPv(ptr noundef nonnull %448) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit837 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit870 -_ZNSt6vectorIiSaIiEED2Ev.exit837: ; preds = %arraydestroy.body715, %if.then.i.i.i835 +_ZNSt6vectorIiSaIiEED2Ev.exit870: ; preds = %arraydestroy.body715, %if.then.i.i.i868 %arraydestroy.done718 = icmp eq ptr %arraydestroy.element717, %ref.tmp440 br i1 %arraydestroy.done718, label %ehcleanup738, label %arraydestroy.body715 -_ZNSt6vectorIiSaIiEED2Ev.exit842: ; preds = %invoke.cont452 +_ZNSt6vectorIiSaIiEED2Ev.exit875: ; preds = %invoke.cont452 %449 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i522) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i545) #31 br label %ehcleanup738 -ehcleanup738: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit837, %lpad.i523, %_ZNSt6vectorIiSaIiEED2Ev.exit842, %if.then.i.i3.i.i513, %lpad.i.i511 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %46, %if.then.i.i3.i.i513 ], [ %46, %lpad.i.i511 ], [ %48, %lpad.i523 ], [ %449, %_ZNSt6vectorIiSaIiEED2Ev.exit842 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit837 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element406, %if.then.i.i3.i.i513 ], [ %arrayinit.element406, %lpad.i.i511 ], [ %arrayinit.element438, %lpad.i523 ], [ %arrayinit.element438, %_ZNSt6vectorIiSaIiEED2Ev.exit842 ], [ %arrayinit.endOfInit.9, %_ZNSt6vectorIiSaIiEED2Ev.exit837 ] - %cleanup.isactive598.15 = phi i1 [ true, %if.then.i.i3.i.i513 ], [ true, %lpad.i.i511 ], [ true, %lpad.i523 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit842 ], [ %cleanup.isactive598.12, %_ZNSt6vectorIiSaIiEED2Ev.exit837 ] +ehcleanup738: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit870, %lpad.i546, %_ZNSt6vectorIiSaIiEED2Ev.exit875, %if.then.i.i3.i.i536, %lpad.i.i534 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %46, %if.then.i.i3.i.i536 ], [ %46, %lpad.i.i534 ], [ %48, %lpad.i546 ], [ %449, %_ZNSt6vectorIiSaIiEED2Ev.exit875 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit870 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element406, %if.then.i.i3.i.i536 ], [ %arrayinit.element406, %lpad.i.i534 ], [ %arrayinit.element438, %lpad.i546 ], [ %arrayinit.element438, %_ZNSt6vectorIiSaIiEED2Ev.exit875 ], [ %arrayinit.endOfInit.9, %_ZNSt6vectorIiSaIiEED2Ev.exit870 ] + %cleanup.isactive598.15 = phi i1 [ true, %if.then.i.i3.i.i536 ], [ true, %lpad.i.i534 ], [ true, %lpad.i546 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit875 ], [ %cleanup.isactive598.12, %_ZNSt6vectorIiSaIiEED2Ev.exit870 ] br label %arraydestroy.body740 -arraydestroy.body740: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit847, %ehcleanup738 - %arraydestroy.elementPast741 = phi ptr [ %add.ptr.i.i509, %ehcleanup738 ], [ %arraydestroy.element742, %_ZNSt6vectorIiSaIiEED2Ev.exit847 ] +arraydestroy.body740: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit880, %ehcleanup738 + %arraydestroy.elementPast741 = phi ptr [ %add.ptr.i.i532, %ehcleanup738 ], [ %arraydestroy.element742, %_ZNSt6vectorIiSaIiEED2Ev.exit880 ] %arraydestroy.element742 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast741, i64 -1 %450 = load ptr, ptr %arraydestroy.element742, align 8 - %tobool.not.i.i.i844 = icmp eq ptr %450, null - br i1 %tobool.not.i.i.i844, label %_ZNSt6vectorIiSaIiEED2Ev.exit847, label %if.then.i.i.i845 + %tobool.not.i.i.i877 = icmp eq ptr %450, null + br i1 %tobool.not.i.i.i877, label %_ZNSt6vectorIiSaIiEED2Ev.exit880, label %if.then.i.i.i878 -if.then.i.i.i845: ; preds = %arraydestroy.body740 +if.then.i.i.i878: ; preds = %arraydestroy.body740 call void @_ZdlPv(ptr noundef nonnull %450) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit847 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit880 -_ZNSt6vectorIiSaIiEED2Ev.exit847: ; preds = %arraydestroy.body740, %if.then.i.i.i845 +_ZNSt6vectorIiSaIiEED2Ev.exit880: ; preds = %arraydestroy.body740, %if.then.i.i.i878 %arraydestroy.done743 = icmp eq ptr %arraydestroy.element742, %ref.tmp408 br i1 %arraydestroy.done743, label %ehcleanup763, label %arraydestroy.body740 -_ZNSt6vectorIiSaIiEED2Ev.exit852: ; preds = %invoke.cont420 +_ZNSt6vectorIiSaIiEED2Ev.exit885: ; preds = %invoke.cont420 %451 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i489) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i510) #31 br label %ehcleanup763 -ehcleanup763: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit847, %lpad.i490, %_ZNSt6vectorIiSaIiEED2Ev.exit852, %if.then.i.i3.i.i480, %lpad.i.i478 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %43, %if.then.i.i3.i.i480 ], [ %43, %lpad.i.i478 ], [ %45, %lpad.i490 ], [ %451, %_ZNSt6vectorIiSaIiEED2Ev.exit852 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit847 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element374, %if.then.i.i3.i.i480 ], [ %arrayinit.element374, %lpad.i.i478 ], [ %arrayinit.element406, %lpad.i490 ], [ %arrayinit.element406, %_ZNSt6vectorIiSaIiEED2Ev.exit852 ], [ %arrayinit.endOfInit.12, %_ZNSt6vectorIiSaIiEED2Ev.exit847 ] - %cleanup.isactive598.18 = phi i1 [ true, %if.then.i.i3.i.i480 ], [ true, %lpad.i.i478 ], [ true, %lpad.i490 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit852 ], [ %cleanup.isactive598.15, %_ZNSt6vectorIiSaIiEED2Ev.exit847 ] +ehcleanup763: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit880, %lpad.i511, %_ZNSt6vectorIiSaIiEED2Ev.exit885, %if.then.i.i3.i.i501, %lpad.i.i499 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %43, %if.then.i.i3.i.i501 ], [ %43, %lpad.i.i499 ], [ %45, %lpad.i511 ], [ %451, %_ZNSt6vectorIiSaIiEED2Ev.exit885 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit880 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element374, %if.then.i.i3.i.i501 ], [ %arrayinit.element374, %lpad.i.i499 ], [ %arrayinit.element406, %lpad.i511 ], [ %arrayinit.element406, %_ZNSt6vectorIiSaIiEED2Ev.exit885 ], [ %arrayinit.endOfInit.12, %_ZNSt6vectorIiSaIiEED2Ev.exit880 ] + %cleanup.isactive598.18 = phi i1 [ true, %if.then.i.i3.i.i501 ], [ true, %lpad.i.i499 ], [ true, %lpad.i511 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit885 ], [ %cleanup.isactive598.15, %_ZNSt6vectorIiSaIiEED2Ev.exit880 ] br label %arraydestroy.body765 -arraydestroy.body765: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit857, %ehcleanup763 - %arraydestroy.elementPast766 = phi ptr [ %add.ptr.i.i476, %ehcleanup763 ], [ %arraydestroy.element767, %_ZNSt6vectorIiSaIiEED2Ev.exit857 ] +arraydestroy.body765: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit890, %ehcleanup763 + %arraydestroy.elementPast766 = phi ptr [ %add.ptr.i.i497, %ehcleanup763 ], [ %arraydestroy.element767, %_ZNSt6vectorIiSaIiEED2Ev.exit890 ] %arraydestroy.element767 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast766, i64 -1 %452 = load ptr, ptr %arraydestroy.element767, align 8 - %tobool.not.i.i.i854 = icmp eq ptr %452, null - br i1 %tobool.not.i.i.i854, label %_ZNSt6vectorIiSaIiEED2Ev.exit857, label %if.then.i.i.i855 + %tobool.not.i.i.i887 = icmp eq ptr %452, null + br i1 %tobool.not.i.i.i887, label %_ZNSt6vectorIiSaIiEED2Ev.exit890, label %if.then.i.i.i888 -if.then.i.i.i855: ; preds = %arraydestroy.body765 +if.then.i.i.i888: ; preds = %arraydestroy.body765 call void @_ZdlPv(ptr noundef nonnull %452) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit857 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit890 -_ZNSt6vectorIiSaIiEED2Ev.exit857: ; preds = %arraydestroy.body765, %if.then.i.i.i855 +_ZNSt6vectorIiSaIiEED2Ev.exit890: ; preds = %arraydestroy.body765, %if.then.i.i.i888 %arraydestroy.done768 = icmp eq ptr %arraydestroy.element767, %ref.tmp376 br i1 %arraydestroy.done768, label %ehcleanup788, label %arraydestroy.body765 -_ZNSt6vectorIiSaIiEED2Ev.exit862: ; preds = %invoke.cont388 +_ZNSt6vectorIiSaIiEED2Ev.exit895: ; preds = %invoke.cont388 %453 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i456) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i475) #31 br label %ehcleanup788 -ehcleanup788: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit857, %lpad.i457, %_ZNSt6vectorIiSaIiEED2Ev.exit862, %if.then.i.i3.i.i447, %lpad.i.i445 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %40, %if.then.i.i3.i.i447 ], [ %40, %lpad.i.i445 ], [ %42, %lpad.i457 ], [ %453, %_ZNSt6vectorIiSaIiEED2Ev.exit862 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit857 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element342, %if.then.i.i3.i.i447 ], [ %arrayinit.element342, %lpad.i.i445 ], [ %arrayinit.element374, %lpad.i457 ], [ %arrayinit.element374, %_ZNSt6vectorIiSaIiEED2Ev.exit862 ], [ %arrayinit.endOfInit.15, %_ZNSt6vectorIiSaIiEED2Ev.exit857 ] - %cleanup.isactive598.21 = phi i1 [ true, %if.then.i.i3.i.i447 ], [ true, %lpad.i.i445 ], [ true, %lpad.i457 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit862 ], [ %cleanup.isactive598.18, %_ZNSt6vectorIiSaIiEED2Ev.exit857 ] +ehcleanup788: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit890, %lpad.i476, %_ZNSt6vectorIiSaIiEED2Ev.exit895, %if.then.i.i3.i.i466, %lpad.i.i464 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %40, %if.then.i.i3.i.i466 ], [ %40, %lpad.i.i464 ], [ %42, %lpad.i476 ], [ %453, %_ZNSt6vectorIiSaIiEED2Ev.exit895 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit890 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element342, %if.then.i.i3.i.i466 ], [ %arrayinit.element342, %lpad.i.i464 ], [ %arrayinit.element374, %lpad.i476 ], [ %arrayinit.element374, %_ZNSt6vectorIiSaIiEED2Ev.exit895 ], [ %arrayinit.endOfInit.15, %_ZNSt6vectorIiSaIiEED2Ev.exit890 ] + %cleanup.isactive598.21 = phi i1 [ true, %if.then.i.i3.i.i466 ], [ true, %lpad.i.i464 ], [ true, %lpad.i476 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit895 ], [ %cleanup.isactive598.18, %_ZNSt6vectorIiSaIiEED2Ev.exit890 ] br label %arraydestroy.body790 -arraydestroy.body790: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit867, %ehcleanup788 - %arraydestroy.elementPast791 = phi ptr [ %add.ptr.i.i443, %ehcleanup788 ], [ %arraydestroy.element792, %_ZNSt6vectorIiSaIiEED2Ev.exit867 ] +arraydestroy.body790: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit900, %ehcleanup788 + %arraydestroy.elementPast791 = phi ptr [ %add.ptr.i.i462, %ehcleanup788 ], [ %arraydestroy.element792, %_ZNSt6vectorIiSaIiEED2Ev.exit900 ] %arraydestroy.element792 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast791, i64 -1 %454 = load ptr, ptr %arraydestroy.element792, align 8 - %tobool.not.i.i.i864 = icmp eq ptr %454, null - br i1 %tobool.not.i.i.i864, label %_ZNSt6vectorIiSaIiEED2Ev.exit867, label %if.then.i.i.i865 + %tobool.not.i.i.i897 = icmp eq ptr %454, null + br i1 %tobool.not.i.i.i897, label %_ZNSt6vectorIiSaIiEED2Ev.exit900, label %if.then.i.i.i898 -if.then.i.i.i865: ; preds = %arraydestroy.body790 +if.then.i.i.i898: ; preds = %arraydestroy.body790 call void @_ZdlPv(ptr noundef nonnull %454) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit867 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit900 -_ZNSt6vectorIiSaIiEED2Ev.exit867: ; preds = %arraydestroy.body790, %if.then.i.i.i865 +_ZNSt6vectorIiSaIiEED2Ev.exit900: ; preds = %arraydestroy.body790, %if.then.i.i.i898 %arraydestroy.done793 = icmp eq ptr %arraydestroy.element792, %ref.tmp344 br i1 %arraydestroy.done793, label %ehcleanup813, label %arraydestroy.body790 -_ZNSt6vectorIiSaIiEED2Ev.exit872: ; preds = %invoke.cont356 +_ZNSt6vectorIiSaIiEED2Ev.exit905: ; preds = %invoke.cont356 %455 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i423) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i440) #31 br label %ehcleanup813 -ehcleanup813: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit867, %lpad.i424, %_ZNSt6vectorIiSaIiEED2Ev.exit872, %if.then.i.i3.i.i414, %lpad.i.i412 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %37, %if.then.i.i3.i.i414 ], [ %37, %lpad.i.i412 ], [ %39, %lpad.i424 ], [ %455, %_ZNSt6vectorIiSaIiEED2Ev.exit872 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit867 ] - %arrayinit.endOfInit.21 = phi ptr [ %arrayinit.element310, %if.then.i.i3.i.i414 ], [ %arrayinit.element310, %lpad.i.i412 ], [ %arrayinit.element342, %lpad.i424 ], [ %arrayinit.element342, %_ZNSt6vectorIiSaIiEED2Ev.exit872 ], [ %arrayinit.endOfInit.18, %_ZNSt6vectorIiSaIiEED2Ev.exit867 ] - %cleanup.isactive598.24 = phi i1 [ true, %if.then.i.i3.i.i414 ], [ true, %lpad.i.i412 ], [ true, %lpad.i424 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit872 ], [ %cleanup.isactive598.21, %_ZNSt6vectorIiSaIiEED2Ev.exit867 ] +ehcleanup813: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit900, %lpad.i441, %_ZNSt6vectorIiSaIiEED2Ev.exit905, %if.then.i.i3.i.i431, %lpad.i.i429 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %37, %if.then.i.i3.i.i431 ], [ %37, %lpad.i.i429 ], [ %39, %lpad.i441 ], [ %455, %_ZNSt6vectorIiSaIiEED2Ev.exit905 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit900 ] + %arrayinit.endOfInit.21 = phi ptr [ %arrayinit.element310, %if.then.i.i3.i.i431 ], [ %arrayinit.element310, %lpad.i.i429 ], [ %arrayinit.element342, %lpad.i441 ], [ %arrayinit.element342, %_ZNSt6vectorIiSaIiEED2Ev.exit905 ], [ %arrayinit.endOfInit.18, %_ZNSt6vectorIiSaIiEED2Ev.exit900 ] + %cleanup.isactive598.24 = phi i1 [ true, %if.then.i.i3.i.i431 ], [ true, %lpad.i.i429 ], [ true, %lpad.i441 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit905 ], [ %cleanup.isactive598.21, %_ZNSt6vectorIiSaIiEED2Ev.exit900 ] br label %arraydestroy.body815 -arraydestroy.body815: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit877, %ehcleanup813 - %arraydestroy.elementPast816 = phi ptr [ %add.ptr.i.i410, %ehcleanup813 ], [ %arraydestroy.element817, %_ZNSt6vectorIiSaIiEED2Ev.exit877 ] +arraydestroy.body815: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit910, %ehcleanup813 + %arraydestroy.elementPast816 = phi ptr [ %add.ptr.i.i427, %ehcleanup813 ], [ %arraydestroy.element817, %_ZNSt6vectorIiSaIiEED2Ev.exit910 ] %arraydestroy.element817 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast816, i64 -1 %456 = load ptr, ptr %arraydestroy.element817, align 8 - %tobool.not.i.i.i874 = icmp eq ptr %456, null - br i1 %tobool.not.i.i.i874, label %_ZNSt6vectorIiSaIiEED2Ev.exit877, label %if.then.i.i.i875 + %tobool.not.i.i.i907 = icmp eq ptr %456, null + br i1 %tobool.not.i.i.i907, label %_ZNSt6vectorIiSaIiEED2Ev.exit910, label %if.then.i.i.i908 -if.then.i.i.i875: ; preds = %arraydestroy.body815 +if.then.i.i.i908: ; preds = %arraydestroy.body815 call void @_ZdlPv(ptr noundef nonnull %456) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit877 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit910 -_ZNSt6vectorIiSaIiEED2Ev.exit877: ; preds = %arraydestroy.body815, %if.then.i.i.i875 +_ZNSt6vectorIiSaIiEED2Ev.exit910: ; preds = %arraydestroy.body815, %if.then.i.i.i908 %arraydestroy.done818 = icmp eq ptr %arraydestroy.element817, %ref.tmp312 br i1 %arraydestroy.done818, label %ehcleanup838, label %arraydestroy.body815 -_ZNSt6vectorIiSaIiEED2Ev.exit882: ; preds = %invoke.cont324 +_ZNSt6vectorIiSaIiEED2Ev.exit915: ; preds = %invoke.cont324 %457 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i390) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i405) #31 br label %ehcleanup838 -ehcleanup838: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit877, %lpad.i391, %_ZNSt6vectorIiSaIiEED2Ev.exit882, %if.then.i.i3.i.i381, %lpad.i.i379 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %34, %if.then.i.i3.i.i381 ], [ %34, %lpad.i.i379 ], [ %36, %lpad.i391 ], [ %457, %_ZNSt6vectorIiSaIiEED2Ev.exit882 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit877 ] - %arrayinit.endOfInit.24 = phi ptr [ %arrayinit.element278, %if.then.i.i3.i.i381 ], [ %arrayinit.element278, %lpad.i.i379 ], [ %arrayinit.element310, %lpad.i391 ], [ %arrayinit.element310, %_ZNSt6vectorIiSaIiEED2Ev.exit882 ], [ %arrayinit.endOfInit.21, %_ZNSt6vectorIiSaIiEED2Ev.exit877 ] - %cleanup.isactive598.27 = phi i1 [ true, %if.then.i.i3.i.i381 ], [ true, %lpad.i.i379 ], [ true, %lpad.i391 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit882 ], [ %cleanup.isactive598.24, %_ZNSt6vectorIiSaIiEED2Ev.exit877 ] +ehcleanup838: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit910, %lpad.i406, %_ZNSt6vectorIiSaIiEED2Ev.exit915, %if.then.i.i3.i.i396, %lpad.i.i394 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %34, %if.then.i.i3.i.i396 ], [ %34, %lpad.i.i394 ], [ %36, %lpad.i406 ], [ %457, %_ZNSt6vectorIiSaIiEED2Ev.exit915 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit910 ] + %arrayinit.endOfInit.24 = phi ptr [ %arrayinit.element278, %if.then.i.i3.i.i396 ], [ %arrayinit.element278, %lpad.i.i394 ], [ %arrayinit.element310, %lpad.i406 ], [ %arrayinit.element310, %_ZNSt6vectorIiSaIiEED2Ev.exit915 ], [ %arrayinit.endOfInit.21, %_ZNSt6vectorIiSaIiEED2Ev.exit910 ] + %cleanup.isactive598.27 = phi i1 [ true, %if.then.i.i3.i.i396 ], [ true, %lpad.i.i394 ], [ true, %lpad.i406 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit915 ], [ %cleanup.isactive598.24, %_ZNSt6vectorIiSaIiEED2Ev.exit910 ] br label %arraydestroy.body840 -arraydestroy.body840: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit887, %ehcleanup838 - %arraydestroy.elementPast841 = phi ptr [ %add.ptr.i.i377, %ehcleanup838 ], [ %arraydestroy.element842, %_ZNSt6vectorIiSaIiEED2Ev.exit887 ] +arraydestroy.body840: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit920, %ehcleanup838 + %arraydestroy.elementPast841 = phi ptr [ %add.ptr.i.i392, %ehcleanup838 ], [ %arraydestroy.element842, %_ZNSt6vectorIiSaIiEED2Ev.exit920 ] %arraydestroy.element842 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast841, i64 -1 %458 = load ptr, ptr %arraydestroy.element842, align 8 - %tobool.not.i.i.i884 = icmp eq ptr %458, null - br i1 %tobool.not.i.i.i884, label %_ZNSt6vectorIiSaIiEED2Ev.exit887, label %if.then.i.i.i885 + %tobool.not.i.i.i917 = icmp eq ptr %458, null + br i1 %tobool.not.i.i.i917, label %_ZNSt6vectorIiSaIiEED2Ev.exit920, label %if.then.i.i.i918 -if.then.i.i.i885: ; preds = %arraydestroy.body840 +if.then.i.i.i918: ; preds = %arraydestroy.body840 call void @_ZdlPv(ptr noundef nonnull %458) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit887 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit920 -_ZNSt6vectorIiSaIiEED2Ev.exit887: ; preds = %arraydestroy.body840, %if.then.i.i.i885 +_ZNSt6vectorIiSaIiEED2Ev.exit920: ; preds = %arraydestroy.body840, %if.then.i.i.i918 %arraydestroy.done843 = icmp eq ptr %arraydestroy.element842, %ref.tmp280 br i1 %arraydestroy.done843, label %ehcleanup863, label %arraydestroy.body840 -_ZNSt6vectorIiSaIiEED2Ev.exit892: ; preds = %invoke.cont292 +_ZNSt6vectorIiSaIiEED2Ev.exit925: ; preds = %invoke.cont292 %459 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i357) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i370) #31 br label %ehcleanup863 -ehcleanup863: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit887, %lpad.i358, %_ZNSt6vectorIiSaIiEED2Ev.exit892, %if.then.i.i3.i.i348, %lpad.i.i346 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %31, %if.then.i.i3.i.i348 ], [ %31, %lpad.i.i346 ], [ %33, %lpad.i358 ], [ %459, %_ZNSt6vectorIiSaIiEED2Ev.exit892 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit887 ] - %arrayinit.endOfInit.27 = phi ptr [ %arrayinit.element246, %if.then.i.i3.i.i348 ], [ %arrayinit.element246, %lpad.i.i346 ], [ %arrayinit.element278, %lpad.i358 ], [ %arrayinit.element278, %_ZNSt6vectorIiSaIiEED2Ev.exit892 ], [ %arrayinit.endOfInit.24, %_ZNSt6vectorIiSaIiEED2Ev.exit887 ] - %cleanup.isactive598.30 = phi i1 [ true, %if.then.i.i3.i.i348 ], [ true, %lpad.i.i346 ], [ true, %lpad.i358 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit892 ], [ %cleanup.isactive598.27, %_ZNSt6vectorIiSaIiEED2Ev.exit887 ] +ehcleanup863: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit920, %lpad.i371, %_ZNSt6vectorIiSaIiEED2Ev.exit925, %if.then.i.i3.i.i361, %lpad.i.i359 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %31, %if.then.i.i3.i.i361 ], [ %31, %lpad.i.i359 ], [ %33, %lpad.i371 ], [ %459, %_ZNSt6vectorIiSaIiEED2Ev.exit925 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit920 ] + %arrayinit.endOfInit.27 = phi ptr [ %arrayinit.element246, %if.then.i.i3.i.i361 ], [ %arrayinit.element246, %lpad.i.i359 ], [ %arrayinit.element278, %lpad.i371 ], [ %arrayinit.element278, %_ZNSt6vectorIiSaIiEED2Ev.exit925 ], [ %arrayinit.endOfInit.24, %_ZNSt6vectorIiSaIiEED2Ev.exit920 ] + %cleanup.isactive598.30 = phi i1 [ true, %if.then.i.i3.i.i361 ], [ true, %lpad.i.i359 ], [ true, %lpad.i371 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit925 ], [ %cleanup.isactive598.27, %_ZNSt6vectorIiSaIiEED2Ev.exit920 ] br label %arraydestroy.body865 -arraydestroy.body865: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit897, %ehcleanup863 - %arraydestroy.elementPast866 = phi ptr [ %add.ptr.i.i344, %ehcleanup863 ], [ %arraydestroy.element867, %_ZNSt6vectorIiSaIiEED2Ev.exit897 ] +arraydestroy.body865: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit930, %ehcleanup863 + %arraydestroy.elementPast866 = phi ptr [ %add.ptr.i.i357, %ehcleanup863 ], [ %arraydestroy.element867, %_ZNSt6vectorIiSaIiEED2Ev.exit930 ] %arraydestroy.element867 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast866, i64 -1 %460 = load ptr, ptr %arraydestroy.element867, align 8 - %tobool.not.i.i.i894 = icmp eq ptr %460, null - br i1 %tobool.not.i.i.i894, label %_ZNSt6vectorIiSaIiEED2Ev.exit897, label %if.then.i.i.i895 + %tobool.not.i.i.i927 = icmp eq ptr %460, null + br i1 %tobool.not.i.i.i927, label %_ZNSt6vectorIiSaIiEED2Ev.exit930, label %if.then.i.i.i928 -if.then.i.i.i895: ; preds = %arraydestroy.body865 +if.then.i.i.i928: ; preds = %arraydestroy.body865 call void @_ZdlPv(ptr noundef nonnull %460) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit897 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit930 -_ZNSt6vectorIiSaIiEED2Ev.exit897: ; preds = %arraydestroy.body865, %if.then.i.i.i895 +_ZNSt6vectorIiSaIiEED2Ev.exit930: ; preds = %arraydestroy.body865, %if.then.i.i.i928 %arraydestroy.done868 = icmp eq ptr %arraydestroy.element867, %ref.tmp248 br i1 %arraydestroy.done868, label %ehcleanup888, label %arraydestroy.body865 -_ZNSt6vectorIiSaIiEED2Ev.exit902: ; preds = %invoke.cont260 +_ZNSt6vectorIiSaIiEED2Ev.exit935: ; preds = %invoke.cont260 %461 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i324) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i335) #31 br label %ehcleanup888 -ehcleanup888: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit897, %lpad.i325, %_ZNSt6vectorIiSaIiEED2Ev.exit902, %if.then.i.i3.i.i315, %lpad.i.i313 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %28, %if.then.i.i3.i.i315 ], [ %28, %lpad.i.i313 ], [ %30, %lpad.i325 ], [ %461, %_ZNSt6vectorIiSaIiEED2Ev.exit902 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit897 ] - %arrayinit.endOfInit.30 = phi ptr [ %arrayinit.element214, %if.then.i.i3.i.i315 ], [ %arrayinit.element214, %lpad.i.i313 ], [ %arrayinit.element246, %lpad.i325 ], [ %arrayinit.element246, %_ZNSt6vectorIiSaIiEED2Ev.exit902 ], [ %arrayinit.endOfInit.27, %_ZNSt6vectorIiSaIiEED2Ev.exit897 ] - %cleanup.isactive598.33 = phi i1 [ true, %if.then.i.i3.i.i315 ], [ true, %lpad.i.i313 ], [ true, %lpad.i325 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit902 ], [ %cleanup.isactive598.30, %_ZNSt6vectorIiSaIiEED2Ev.exit897 ] +ehcleanup888: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit930, %lpad.i336, %_ZNSt6vectorIiSaIiEED2Ev.exit935, %if.then.i.i3.i.i326, %lpad.i.i324 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %28, %if.then.i.i3.i.i326 ], [ %28, %lpad.i.i324 ], [ %30, %lpad.i336 ], [ %461, %_ZNSt6vectorIiSaIiEED2Ev.exit935 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit930 ] + %arrayinit.endOfInit.30 = phi ptr [ %arrayinit.element214, %if.then.i.i3.i.i326 ], [ %arrayinit.element214, %lpad.i.i324 ], [ %arrayinit.element246, %lpad.i336 ], [ %arrayinit.element246, %_ZNSt6vectorIiSaIiEED2Ev.exit935 ], [ %arrayinit.endOfInit.27, %_ZNSt6vectorIiSaIiEED2Ev.exit930 ] + %cleanup.isactive598.33 = phi i1 [ true, %if.then.i.i3.i.i326 ], [ true, %lpad.i.i324 ], [ true, %lpad.i336 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit935 ], [ %cleanup.isactive598.30, %_ZNSt6vectorIiSaIiEED2Ev.exit930 ] br label %arraydestroy.body890 -arraydestroy.body890: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit907, %ehcleanup888 - %arraydestroy.elementPast891 = phi ptr [ %add.ptr.i.i311, %ehcleanup888 ], [ %arraydestroy.element892, %_ZNSt6vectorIiSaIiEED2Ev.exit907 ] +arraydestroy.body890: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit940, %ehcleanup888 + %arraydestroy.elementPast891 = phi ptr [ %add.ptr.i.i322, %ehcleanup888 ], [ %arraydestroy.element892, %_ZNSt6vectorIiSaIiEED2Ev.exit940 ] %arraydestroy.element892 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast891, i64 -1 %462 = load ptr, ptr %arraydestroy.element892, align 8 - %tobool.not.i.i.i904 = icmp eq ptr %462, null - br i1 %tobool.not.i.i.i904, label %_ZNSt6vectorIiSaIiEED2Ev.exit907, label %if.then.i.i.i905 + %tobool.not.i.i.i937 = icmp eq ptr %462, null + br i1 %tobool.not.i.i.i937, label %_ZNSt6vectorIiSaIiEED2Ev.exit940, label %if.then.i.i.i938 -if.then.i.i.i905: ; preds = %arraydestroy.body890 +if.then.i.i.i938: ; preds = %arraydestroy.body890 call void @_ZdlPv(ptr noundef nonnull %462) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit907 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit940 -_ZNSt6vectorIiSaIiEED2Ev.exit907: ; preds = %arraydestroy.body890, %if.then.i.i.i905 +_ZNSt6vectorIiSaIiEED2Ev.exit940: ; preds = %arraydestroy.body890, %if.then.i.i.i938 %arraydestroy.done893 = icmp eq ptr %arraydestroy.element892, %ref.tmp216 br i1 %arraydestroy.done893, label %ehcleanup913, label %arraydestroy.body890 -_ZNSt6vectorIiSaIiEED2Ev.exit912: ; preds = %invoke.cont228 +_ZNSt6vectorIiSaIiEED2Ev.exit945: ; preds = %invoke.cont228 %463 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i291) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i300) #31 br label %ehcleanup913 -ehcleanup913: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit907, %lpad.i292, %_ZNSt6vectorIiSaIiEED2Ev.exit912, %if.then.i.i3.i.i282, %lpad.i.i280 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %25, %if.then.i.i3.i.i282 ], [ %25, %lpad.i.i280 ], [ %27, %lpad.i292 ], [ %463, %_ZNSt6vectorIiSaIiEED2Ev.exit912 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit907 ] - %arrayinit.endOfInit.33 = phi ptr [ %arrayinit.element192, %if.then.i.i3.i.i282 ], [ %arrayinit.element192, %lpad.i.i280 ], [ %arrayinit.element214, %lpad.i292 ], [ %arrayinit.element214, %_ZNSt6vectorIiSaIiEED2Ev.exit912 ], [ %arrayinit.endOfInit.30, %_ZNSt6vectorIiSaIiEED2Ev.exit907 ] - %cleanup.isactive598.36 = phi i1 [ true, %if.then.i.i3.i.i282 ], [ true, %lpad.i.i280 ], [ true, %lpad.i292 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit912 ], [ %cleanup.isactive598.33, %_ZNSt6vectorIiSaIiEED2Ev.exit907 ] +ehcleanup913: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit940, %lpad.i301, %_ZNSt6vectorIiSaIiEED2Ev.exit945, %if.then.i.i3.i.i291, %lpad.i.i289 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %25, %if.then.i.i3.i.i291 ], [ %25, %lpad.i.i289 ], [ %27, %lpad.i301 ], [ %463, %_ZNSt6vectorIiSaIiEED2Ev.exit945 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit940 ] + %arrayinit.endOfInit.33 = phi ptr [ %arrayinit.element192, %if.then.i.i3.i.i291 ], [ %arrayinit.element192, %lpad.i.i289 ], [ %arrayinit.element214, %lpad.i301 ], [ %arrayinit.element214, %_ZNSt6vectorIiSaIiEED2Ev.exit945 ], [ %arrayinit.endOfInit.30, %_ZNSt6vectorIiSaIiEED2Ev.exit940 ] + %cleanup.isactive598.36 = phi i1 [ true, %if.then.i.i3.i.i291 ], [ true, %lpad.i.i289 ], [ true, %lpad.i301 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit945 ], [ %cleanup.isactive598.33, %_ZNSt6vectorIiSaIiEED2Ev.exit940 ] br label %arraydestroy.body915 -arraydestroy.body915: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit917, %ehcleanup913 - %arraydestroy.elementPast916 = phi ptr [ %add.ptr.i.i278, %ehcleanup913 ], [ %arraydestroy.element917, %_ZNSt6vectorIiSaIiEED2Ev.exit917 ] +arraydestroy.body915: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit950, %ehcleanup913 + %arraydestroy.elementPast916 = phi ptr [ %add.ptr.i.i287, %ehcleanup913 ], [ %arraydestroy.element917, %_ZNSt6vectorIiSaIiEED2Ev.exit950 ] %arraydestroy.element917 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast916, i64 -1 %464 = load ptr, ptr %arraydestroy.element917, align 8 - %tobool.not.i.i.i914 = icmp eq ptr %464, null - br i1 %tobool.not.i.i.i914, label %_ZNSt6vectorIiSaIiEED2Ev.exit917, label %if.then.i.i.i915 + %tobool.not.i.i.i947 = icmp eq ptr %464, null + br i1 %tobool.not.i.i.i947, label %_ZNSt6vectorIiSaIiEED2Ev.exit950, label %if.then.i.i.i948 -if.then.i.i.i915: ; preds = %arraydestroy.body915 +if.then.i.i.i948: ; preds = %arraydestroy.body915 call void @_ZdlPv(ptr noundef nonnull %464) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit917 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit950 -_ZNSt6vectorIiSaIiEED2Ev.exit917: ; preds = %arraydestroy.body915, %if.then.i.i.i915 +_ZNSt6vectorIiSaIiEED2Ev.exit950: ; preds = %arraydestroy.body915, %if.then.i.i.i948 %arraydestroy.done918 = icmp eq ptr %arraydestroy.element917, %ref.tmp194 br i1 %arraydestroy.done918, label %ehcleanup937, label %arraydestroy.body915 -ehcleanup937: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit917, %lpad.i269, %if.then.i.i3.i.i259, %lpad.i.i257 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %22, %if.then.i.i3.i.i259 ], [ %22, %lpad.i.i257 ], [ %24, %lpad.i269 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit917 ] - %arrayinit.endOfInit.35 = phi ptr [ %arrayinit.element170, %if.then.i.i3.i.i259 ], [ %arrayinit.element170, %lpad.i.i257 ], [ %arrayinit.element192, %lpad.i269 ], [ %arrayinit.endOfInit.33, %_ZNSt6vectorIiSaIiEED2Ev.exit917 ] - %cleanup.isactive598.38 = phi i1 [ true, %if.then.i.i3.i.i259 ], [ true, %lpad.i.i257 ], [ true, %lpad.i269 ], [ %cleanup.isactive598.36, %_ZNSt6vectorIiSaIiEED2Ev.exit917 ] +ehcleanup937: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit950, %lpad.i277, %if.then.i.i3.i.i267, %lpad.i.i265 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %22, %if.then.i.i3.i.i267 ], [ %22, %lpad.i.i265 ], [ %24, %lpad.i277 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit950 ] + %arrayinit.endOfInit.35 = phi ptr [ %arrayinit.element170, %if.then.i.i3.i.i267 ], [ %arrayinit.element170, %lpad.i.i265 ], [ %arrayinit.element192, %lpad.i277 ], [ %arrayinit.endOfInit.33, %_ZNSt6vectorIiSaIiEED2Ev.exit950 ] + %cleanup.isactive598.38 = phi i1 [ true, %if.then.i.i3.i.i267 ], [ true, %lpad.i.i265 ], [ true, %lpad.i277 ], [ %cleanup.isactive598.36, %_ZNSt6vectorIiSaIiEED2Ev.exit950 ] br label %arraydestroy.body939 -arraydestroy.body939: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit927, %ehcleanup937 - %arraydestroy.elementPast940 = phi ptr [ %add.ptr.i.i255, %ehcleanup937 ], [ %arraydestroy.element941, %_ZNSt6vectorIiSaIiEED2Ev.exit927 ] +arraydestroy.body939: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit960, %ehcleanup937 + %arraydestroy.elementPast940 = phi ptr [ %add.ptr.i.i263, %ehcleanup937 ], [ %arraydestroy.element941, %_ZNSt6vectorIiSaIiEED2Ev.exit960 ] %arraydestroy.element941 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast940, i64 -1 %465 = load ptr, ptr %arraydestroy.element941, align 8 - %tobool.not.i.i.i924 = icmp eq ptr %465, null - br i1 %tobool.not.i.i.i924, label %_ZNSt6vectorIiSaIiEED2Ev.exit927, label %if.then.i.i.i925 + %tobool.not.i.i.i957 = icmp eq ptr %465, null + br i1 %tobool.not.i.i.i957, label %_ZNSt6vectorIiSaIiEED2Ev.exit960, label %if.then.i.i.i958 -if.then.i.i.i925: ; preds = %arraydestroy.body939 +if.then.i.i.i958: ; preds = %arraydestroy.body939 call void @_ZdlPv(ptr noundef nonnull %465) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit927 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit960 -_ZNSt6vectorIiSaIiEED2Ev.exit927: ; preds = %arraydestroy.body939, %if.then.i.i.i925 +_ZNSt6vectorIiSaIiEED2Ev.exit960: ; preds = %arraydestroy.body939, %if.then.i.i.i958 %arraydestroy.done942 = icmp eq ptr %arraydestroy.element941, %ref.tmp172 br i1 %arraydestroy.done942, label %ehcleanup961, label %arraydestroy.body939 -ehcleanup961: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit927, %lpad.i246, %if.then.i.i3.i.i236, %lpad.i.i234 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %19, %if.then.i.i3.i.i236 ], [ %19, %lpad.i.i234 ], [ %21, %lpad.i246 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit927 ] - %arrayinit.endOfInit.37 = phi ptr [ %arrayinit.element148, %if.then.i.i3.i.i236 ], [ %arrayinit.element148, %lpad.i.i234 ], [ %arrayinit.element170, %lpad.i246 ], [ %arrayinit.endOfInit.35, %_ZNSt6vectorIiSaIiEED2Ev.exit927 ] - %cleanup.isactive598.40 = phi i1 [ true, %if.then.i.i3.i.i236 ], [ true, %lpad.i.i234 ], [ true, %lpad.i246 ], [ %cleanup.isactive598.38, %_ZNSt6vectorIiSaIiEED2Ev.exit927 ] +ehcleanup961: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit960, %lpad.i253, %if.then.i.i3.i.i243, %lpad.i.i241 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %19, %if.then.i.i3.i.i243 ], [ %19, %lpad.i.i241 ], [ %21, %lpad.i253 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit960 ] + %arrayinit.endOfInit.37 = phi ptr [ %arrayinit.element148, %if.then.i.i3.i.i243 ], [ %arrayinit.element148, %lpad.i.i241 ], [ %arrayinit.element170, %lpad.i253 ], [ %arrayinit.endOfInit.35, %_ZNSt6vectorIiSaIiEED2Ev.exit960 ] + %cleanup.isactive598.40 = phi i1 [ true, %if.then.i.i3.i.i243 ], [ true, %lpad.i.i241 ], [ true, %lpad.i253 ], [ %cleanup.isactive598.38, %_ZNSt6vectorIiSaIiEED2Ev.exit960 ] br label %arraydestroy.body963 -arraydestroy.body963: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit937, %ehcleanup961 - %arraydestroy.elementPast964 = phi ptr [ %add.ptr.i.i232, %ehcleanup961 ], [ %arraydestroy.element965, %_ZNSt6vectorIiSaIiEED2Ev.exit937 ] +arraydestroy.body963: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit970, %ehcleanup961 + %arraydestroy.elementPast964 = phi ptr [ %add.ptr.i.i239, %ehcleanup961 ], [ %arraydestroy.element965, %_ZNSt6vectorIiSaIiEED2Ev.exit970 ] %arraydestroy.element965 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast964, i64 -1 %466 = load ptr, ptr %arraydestroy.element965, align 8 - %tobool.not.i.i.i934 = icmp eq ptr %466, null - br i1 %tobool.not.i.i.i934, label %_ZNSt6vectorIiSaIiEED2Ev.exit937, label %if.then.i.i.i935 + %tobool.not.i.i.i967 = icmp eq ptr %466, null + br i1 %tobool.not.i.i.i967, label %_ZNSt6vectorIiSaIiEED2Ev.exit970, label %if.then.i.i.i968 -if.then.i.i.i935: ; preds = %arraydestroy.body963 +if.then.i.i.i968: ; preds = %arraydestroy.body963 call void @_ZdlPv(ptr noundef nonnull %466) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit937 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit970 -_ZNSt6vectorIiSaIiEED2Ev.exit937: ; preds = %arraydestroy.body963, %if.then.i.i.i935 +_ZNSt6vectorIiSaIiEED2Ev.exit970: ; preds = %arraydestroy.body963, %if.then.i.i.i968 %arraydestroy.done966 = icmp eq ptr %arraydestroy.element965, %ref.tmp150 br i1 %arraydestroy.done966, label %ehcleanup985, label %arraydestroy.body963 -_ZNSt6vectorIiSaIiEED2Ev.exit942: ; preds = %invoke.cont147 +_ZNSt6vectorIiSaIiEED2Ev.exit975: ; preds = %invoke.cont147 %467 = landingpad { ptr, i32 } cleanup br label %ehcleanup985 -ehcleanup985: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit937, %_ZNSt6vectorIiSaIiEED2Ev.exit942, %if.then.i.i3.i.i213, %lpad.i.i211 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %17, %if.then.i.i3.i.i213 ], [ %17, %lpad.i.i211 ], [ %467, %_ZNSt6vectorIiSaIiEED2Ev.exit942 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit937 ] - %arrayinit.endOfInit.39 = phi ptr [ %arrayinit.element126, %if.then.i.i3.i.i213 ], [ %arrayinit.element126, %lpad.i.i211 ], [ %arrayinit.element148, %_ZNSt6vectorIiSaIiEED2Ev.exit942 ], [ %arrayinit.endOfInit.37, %_ZNSt6vectorIiSaIiEED2Ev.exit937 ] - %cleanup.isactive598.42 = phi i1 [ true, %if.then.i.i3.i.i213 ], [ true, %lpad.i.i211 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit942 ], [ %cleanup.isactive598.40, %_ZNSt6vectorIiSaIiEED2Ev.exit937 ] +ehcleanup985: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit970, %_ZNSt6vectorIiSaIiEED2Ev.exit975, %if.then.i.i3.i.i219, %lpad.i.i217 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %17, %if.then.i.i3.i.i219 ], [ %17, %lpad.i.i217 ], [ %467, %_ZNSt6vectorIiSaIiEED2Ev.exit975 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit970 ] + %arrayinit.endOfInit.39 = phi ptr [ %arrayinit.element126, %if.then.i.i3.i.i219 ], [ %arrayinit.element126, %lpad.i.i217 ], [ %arrayinit.element148, %_ZNSt6vectorIiSaIiEED2Ev.exit975 ], [ %arrayinit.endOfInit.37, %_ZNSt6vectorIiSaIiEED2Ev.exit970 ] + %cleanup.isactive598.42 = phi i1 [ true, %if.then.i.i3.i.i219 ], [ true, %lpad.i.i217 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit975 ], [ %cleanup.isactive598.40, %_ZNSt6vectorIiSaIiEED2Ev.exit970 ] br label %arraydestroy.body987 -arraydestroy.body987: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit947, %ehcleanup985 - %arraydestroy.elementPast988 = phi ptr [ %add.ptr.i.i209, %ehcleanup985 ], [ %arraydestroy.element989, %_ZNSt6vectorIiSaIiEED2Ev.exit947 ] +arraydestroy.body987: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit980, %ehcleanup985 + %arraydestroy.elementPast988 = phi ptr [ %add.ptr.i.i215, %ehcleanup985 ], [ %arraydestroy.element989, %_ZNSt6vectorIiSaIiEED2Ev.exit980 ] %arraydestroy.element989 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast988, i64 -1 %468 = load ptr, ptr %arraydestroy.element989, align 8 - %tobool.not.i.i.i944 = icmp eq ptr %468, null - br i1 %tobool.not.i.i.i944, label %_ZNSt6vectorIiSaIiEED2Ev.exit947, label %if.then.i.i.i945 + %tobool.not.i.i.i977 = icmp eq ptr %468, null + br i1 %tobool.not.i.i.i977, label %_ZNSt6vectorIiSaIiEED2Ev.exit980, label %if.then.i.i.i978 -if.then.i.i.i945: ; preds = %arraydestroy.body987 +if.then.i.i.i978: ; preds = %arraydestroy.body987 call void @_ZdlPv(ptr noundef nonnull %468) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit947 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit980 -_ZNSt6vectorIiSaIiEED2Ev.exit947: ; preds = %arraydestroy.body987, %if.then.i.i.i945 +_ZNSt6vectorIiSaIiEED2Ev.exit980: ; preds = %arraydestroy.body987, %if.then.i.i.i978 %arraydestroy.done990 = icmp eq ptr %arraydestroy.element989, %ref.tmp128 br i1 %arraydestroy.done990, label %ehcleanup1009, label %arraydestroy.body987 -_ZNSt6vectorIiSaIiEED2Ev.exit952: ; preds = %invoke.cont125 +_ZNSt6vectorIiSaIiEED2Ev.exit985: ; preds = %invoke.cont125 %469 = landingpad { ptr, i32 } cleanup br label %ehcleanup1009 -ehcleanup1009: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit947, %_ZNSt6vectorIiSaIiEED2Ev.exit952, %if.then.i.i3.i.i190, %lpad.i.i188 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %15, %if.then.i.i3.i.i190 ], [ %15, %lpad.i.i188 ], [ %469, %_ZNSt6vectorIiSaIiEED2Ev.exit952 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit947 ] - %arrayinit.endOfInit.41 = phi ptr [ %arrayinit.element80, %if.then.i.i3.i.i190 ], [ %arrayinit.element80, %lpad.i.i188 ], [ %arrayinit.element126, %_ZNSt6vectorIiSaIiEED2Ev.exit952 ], [ %arrayinit.endOfInit.39, %_ZNSt6vectorIiSaIiEED2Ev.exit947 ] - %cleanup.isactive598.44 = phi i1 [ true, %if.then.i.i3.i.i190 ], [ true, %lpad.i.i188 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit952 ], [ %cleanup.isactive598.42, %_ZNSt6vectorIiSaIiEED2Ev.exit947 ] +ehcleanup1009: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit980, %_ZNSt6vectorIiSaIiEED2Ev.exit985, %if.then.i.i3.i.i195, %lpad.i.i193 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %15, %if.then.i.i3.i.i195 ], [ %15, %lpad.i.i193 ], [ %469, %_ZNSt6vectorIiSaIiEED2Ev.exit985 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit980 ] + %arrayinit.endOfInit.41 = phi ptr [ %arrayinit.element80, %if.then.i.i3.i.i195 ], [ %arrayinit.element80, %lpad.i.i193 ], [ %arrayinit.element126, %_ZNSt6vectorIiSaIiEED2Ev.exit985 ], [ %arrayinit.endOfInit.39, %_ZNSt6vectorIiSaIiEED2Ev.exit980 ] + %cleanup.isactive598.44 = phi i1 [ true, %if.then.i.i3.i.i195 ], [ true, %lpad.i.i193 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit985 ], [ %cleanup.isactive598.42, %_ZNSt6vectorIiSaIiEED2Ev.exit980 ] br label %arraydestroy.body1011 -arraydestroy.body1011: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit957, %ehcleanup1009 - %arraydestroy.elementPast1012 = phi ptr [ %add.ptr.i.i186, %ehcleanup1009 ], [ %arraydestroy.element1013, %_ZNSt6vectorIiSaIiEED2Ev.exit957 ] +arraydestroy.body1011: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit990, %ehcleanup1009 + %arraydestroy.elementPast1012 = phi ptr [ %add.ptr.i.i191, %ehcleanup1009 ], [ %arraydestroy.element1013, %_ZNSt6vectorIiSaIiEED2Ev.exit990 ] %arraydestroy.element1013 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1012, i64 -1 %470 = load ptr, ptr %arraydestroy.element1013, align 8 - %tobool.not.i.i.i954 = icmp eq ptr %470, null - br i1 %tobool.not.i.i.i954, label %_ZNSt6vectorIiSaIiEED2Ev.exit957, label %if.then.i.i.i955 + %tobool.not.i.i.i987 = icmp eq ptr %470, null + br i1 %tobool.not.i.i.i987, label %_ZNSt6vectorIiSaIiEED2Ev.exit990, label %if.then.i.i.i988 -if.then.i.i.i955: ; preds = %arraydestroy.body1011 +if.then.i.i.i988: ; preds = %arraydestroy.body1011 call void @_ZdlPv(ptr noundef nonnull %470) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit957 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit990 -_ZNSt6vectorIiSaIiEED2Ev.exit957: ; preds = %arraydestroy.body1011, %if.then.i.i.i955 +_ZNSt6vectorIiSaIiEED2Ev.exit990: ; preds = %arraydestroy.body1011, %if.then.i.i.i988 %arraydestroy.done1014 = icmp eq ptr %arraydestroy.element1013, %ref.tmp82 br i1 %arraydestroy.done1014, label %ehcleanup1035, label %arraydestroy.body1011 -ehcleanup1018: ; preds = %lpad.i177, %lpad.i167 - %arrayinit.endOfInit84.1 = phi ptr [ %arrayinit.element96, %lpad.i167 ], [ %arrayinit.element108, %lpad.i177 ] - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %13, %lpad.i167 ], [ %14, %lpad.i177 ] +ehcleanup1018: ; preds = %lpad.i181, %lpad.i170 + %arrayinit.endOfInit84.1 = phi ptr [ %arrayinit.element96, %lpad.i170 ], [ %arrayinit.element108, %lpad.i181 ] + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %13, %lpad.i170 ], [ %14, %lpad.i181 ] br label %arraydestroy.body1023 -arraydestroy.body1023: ; preds = %ehcleanup1018, %_ZNSt6vectorIiSaIiEED2Ev.exit962 - %arraydestroy.elementPast1024 = phi ptr [ %arraydestroy.element1025, %_ZNSt6vectorIiSaIiEED2Ev.exit962 ], [ %arrayinit.endOfInit84.1, %ehcleanup1018 ] +arraydestroy.body1023: ; preds = %ehcleanup1018, %_ZNSt6vectorIiSaIiEED2Ev.exit995 + %arraydestroy.elementPast1024 = phi ptr [ %arraydestroy.element1025, %_ZNSt6vectorIiSaIiEED2Ev.exit995 ], [ %arrayinit.endOfInit84.1, %ehcleanup1018 ] %arraydestroy.element1025 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1024, i64 -1 %471 = load ptr, ptr %arraydestroy.element1025, align 8 - %tobool.not.i.i.i959 = icmp eq ptr %471, null - br i1 %tobool.not.i.i.i959, label %_ZNSt6vectorIiSaIiEED2Ev.exit962, label %if.then.i.i.i960 + %tobool.not.i.i.i992 = icmp eq ptr %471, null + br i1 %tobool.not.i.i.i992, label %_ZNSt6vectorIiSaIiEED2Ev.exit995, label %if.then.i.i.i993 -if.then.i.i.i960: ; preds = %arraydestroy.body1023 +if.then.i.i.i993: ; preds = %arraydestroy.body1023 call void @_ZdlPv(ptr noundef nonnull %471) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit962 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit995 -_ZNSt6vectorIiSaIiEED2Ev.exit962: ; preds = %arraydestroy.body1023, %if.then.i.i.i960 +_ZNSt6vectorIiSaIiEED2Ev.exit995: ; preds = %arraydestroy.body1023, %if.then.i.i.i993 %arraydestroy.done1026 = icmp eq ptr %arraydestroy.element1025, %ref.tmp82 br i1 %arraydestroy.done1026, label %ehcleanup1035, label %arraydestroy.body1023 -ehcleanup1035: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit962, %_ZNSt6vectorIiSaIiEED2Ev.exit957, %lpad.i157, %if.then.i.i3.i.i147, %lpad.i.i145 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %if.then.i.i3.i.i147 ], [ %10, %lpad.i.i145 ], [ %12, %lpad.i157 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit957 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit962 ] - %arrayinit.endOfInit.45 = phi ptr [ %arrayinit.element48, %if.then.i.i3.i.i147 ], [ %arrayinit.element48, %lpad.i.i145 ], [ %arrayinit.element80, %lpad.i157 ], [ %arrayinit.endOfInit.41, %_ZNSt6vectorIiSaIiEED2Ev.exit957 ], [ %arrayinit.element80, %_ZNSt6vectorIiSaIiEED2Ev.exit962 ] - %cleanup.isactive598.48 = phi i1 [ true, %if.then.i.i3.i.i147 ], [ true, %lpad.i.i145 ], [ true, %lpad.i157 ], [ %cleanup.isactive598.44, %_ZNSt6vectorIiSaIiEED2Ev.exit957 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit962 ] +ehcleanup1035: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit995, %_ZNSt6vectorIiSaIiEED2Ev.exit990, %lpad.i159, %if.then.i.i3.i.i149, %lpad.i.i147 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %if.then.i.i3.i.i149 ], [ %10, %lpad.i.i147 ], [ %12, %lpad.i159 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit990 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit995 ] + %arrayinit.endOfInit.45 = phi ptr [ %arrayinit.element48, %if.then.i.i3.i.i149 ], [ %arrayinit.element48, %lpad.i.i147 ], [ %arrayinit.element80, %lpad.i159 ], [ %arrayinit.endOfInit.41, %_ZNSt6vectorIiSaIiEED2Ev.exit990 ], [ %arrayinit.element80, %_ZNSt6vectorIiSaIiEED2Ev.exit995 ] + %cleanup.isactive598.48 = phi i1 [ true, %if.then.i.i3.i.i149 ], [ true, %lpad.i.i147 ], [ true, %lpad.i159 ], [ %cleanup.isactive598.44, %_ZNSt6vectorIiSaIiEED2Ev.exit990 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit995 ] br label %arraydestroy.body1037 -arraydestroy.body1037: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit967, %ehcleanup1035 - %arraydestroy.elementPast1038 = phi ptr [ %add.ptr.i.i143, %ehcleanup1035 ], [ %arraydestroy.element1039, %_ZNSt6vectorIiSaIiEED2Ev.exit967 ] +arraydestroy.body1037: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1000, %ehcleanup1035 + %arraydestroy.elementPast1038 = phi ptr [ %add.ptr.i.i145, %ehcleanup1035 ], [ %arraydestroy.element1039, %_ZNSt6vectorIiSaIiEED2Ev.exit1000 ] %arraydestroy.element1039 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1038, i64 -1 %472 = load ptr, ptr %arraydestroy.element1039, align 8 - %tobool.not.i.i.i964 = icmp eq ptr %472, null - br i1 %tobool.not.i.i.i964, label %_ZNSt6vectorIiSaIiEED2Ev.exit967, label %if.then.i.i.i965 + %tobool.not.i.i.i997 = icmp eq ptr %472, null + br i1 %tobool.not.i.i.i997, label %_ZNSt6vectorIiSaIiEED2Ev.exit1000, label %if.then.i.i.i998 -if.then.i.i.i965: ; preds = %arraydestroy.body1037 +if.then.i.i.i998: ; preds = %arraydestroy.body1037 call void @_ZdlPv(ptr noundef nonnull %472) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit967 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1000 -_ZNSt6vectorIiSaIiEED2Ev.exit967: ; preds = %arraydestroy.body1037, %if.then.i.i.i965 +_ZNSt6vectorIiSaIiEED2Ev.exit1000: ; preds = %arraydestroy.body1037, %if.then.i.i.i998 %arraydestroy.done1040 = icmp eq ptr %arraydestroy.element1039, %ref.tmp50 br i1 %arraydestroy.done1040, label %ehcleanup1060, label %arraydestroy.body1037 -_ZNSt6vectorIiSaIiEED2Ev.exit972: ; preds = %invoke.cont62 +_ZNSt6vectorIiSaIiEED2Ev.exit1005: ; preds = %invoke.cont62 %473 = landingpad { ptr, i32 } cleanup call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i123) #31 br label %ehcleanup1060 -ehcleanup1060: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit967, %lpad.i124, %_ZNSt6vectorIiSaIiEED2Ev.exit972, %if.then.i.i3.i.i114, %lpad.i.i112 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %7, %if.then.i.i3.i.i114 ], [ %7, %lpad.i.i112 ], [ %9, %lpad.i124 ], [ %473, %_ZNSt6vectorIiSaIiEED2Ev.exit972 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit967 ] - %arrayinit.endOfInit.48 = phi ptr [ %arrayinit.element29, %if.then.i.i3.i.i114 ], [ %arrayinit.element29, %lpad.i.i112 ], [ %arrayinit.element48, %lpad.i124 ], [ %arrayinit.element48, %_ZNSt6vectorIiSaIiEED2Ev.exit972 ], [ %arrayinit.endOfInit.45, %_ZNSt6vectorIiSaIiEED2Ev.exit967 ] - %cleanup.isactive598.51 = phi i1 [ true, %if.then.i.i3.i.i114 ], [ true, %lpad.i.i112 ], [ true, %lpad.i124 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit972 ], [ %cleanup.isactive598.48, %_ZNSt6vectorIiSaIiEED2Ev.exit967 ] +ehcleanup1060: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1000, %lpad.i124, %_ZNSt6vectorIiSaIiEED2Ev.exit1005, %if.then.i.i3.i.i114, %lpad.i.i112 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %7, %if.then.i.i3.i.i114 ], [ %7, %lpad.i.i112 ], [ %9, %lpad.i124 ], [ %473, %_ZNSt6vectorIiSaIiEED2Ev.exit1005 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1000 ] + %arrayinit.endOfInit.48 = phi ptr [ %arrayinit.element29, %if.then.i.i3.i.i114 ], [ %arrayinit.element29, %lpad.i.i112 ], [ %arrayinit.element48, %lpad.i124 ], [ %arrayinit.element48, %_ZNSt6vectorIiSaIiEED2Ev.exit1005 ], [ %arrayinit.endOfInit.45, %_ZNSt6vectorIiSaIiEED2Ev.exit1000 ] + %cleanup.isactive598.51 = phi i1 [ true, %if.then.i.i3.i.i114 ], [ true, %lpad.i.i112 ], [ true, %lpad.i124 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit1005 ], [ %cleanup.isactive598.48, %_ZNSt6vectorIiSaIiEED2Ev.exit1000 ] %474 = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i974 = icmp eq ptr %474, null - br i1 %tobool.not.i.i.i974, label %ehcleanup1084, label %if.then.i.i.i975 + %tobool.not.i.i.i1007 = icmp eq ptr %474, null + br i1 %tobool.not.i.i.i1007, label %ehcleanup1084, label %if.then.i.i.i1008 -if.then.i.i.i975: ; preds = %ehcleanup1060 +if.then.i.i.i1008: ; preds = %ehcleanup1060 call void @_ZdlPv(ptr noundef nonnull %474) #31 br label %ehcleanup1084 -ehcleanup1084: ; preds = %if.then.i.i.i975, %ehcleanup1060, %lpad.i, %if.then.i.i3.i.i100, %lpad.i.i98 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i3.i.i100 ], [ %4, %lpad.i.i98 ], [ %6, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup1060 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i975 ] - %arrayinit.endOfInit.50 = phi ptr [ %arrayinit.element17, %if.then.i.i3.i.i100 ], [ %arrayinit.element17, %lpad.i.i98 ], [ %arrayinit.element29, %lpad.i ], [ %arrayinit.endOfInit.48, %ehcleanup1060 ], [ %arrayinit.endOfInit.48, %if.then.i.i.i975 ] - %cleanup.isactive598.53 = phi i1 [ true, %if.then.i.i3.i.i100 ], [ true, %lpad.i.i98 ], [ true, %lpad.i ], [ %cleanup.isactive598.51, %ehcleanup1060 ], [ %cleanup.isactive598.51, %if.then.i.i.i975 ] +ehcleanup1084: ; preds = %if.then.i.i.i1008, %ehcleanup1060, %lpad.i, %if.then.i.i3.i.i100, %lpad.i.i98 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i3.i.i100 ], [ %4, %lpad.i.i98 ], [ %6, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup1060 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i1008 ] + %arrayinit.endOfInit.50 = phi ptr [ %arrayinit.element17, %if.then.i.i3.i.i100 ], [ %arrayinit.element17, %lpad.i.i98 ], [ %arrayinit.element29, %lpad.i ], [ %arrayinit.endOfInit.48, %ehcleanup1060 ], [ %arrayinit.endOfInit.48, %if.then.i.i.i1008 ] + %cleanup.isactive598.53 = phi i1 [ true, %if.then.i.i3.i.i100 ], [ true, %lpad.i.i98 ], [ true, %lpad.i ], [ %cleanup.isactive598.51, %ehcleanup1060 ], [ %cleanup.isactive598.51, %if.then.i.i.i1008 ] br label %arraydestroy.body1086 -arraydestroy.body1086: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit982, %ehcleanup1084 - %arraydestroy.elementPast1087 = phi ptr [ %add.ptr.i.i96, %ehcleanup1084 ], [ %arraydestroy.element1088, %_ZNSt6vectorIiSaIiEED2Ev.exit982 ] +arraydestroy.body1086: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1015, %ehcleanup1084 + %arraydestroy.elementPast1087 = phi ptr [ %add.ptr.i.i96, %ehcleanup1084 ], [ %arraydestroy.element1088, %_ZNSt6vectorIiSaIiEED2Ev.exit1015 ] %arraydestroy.element1088 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1087, i64 -1 %475 = load ptr, ptr %arraydestroy.element1088, align 8 - %tobool.not.i.i.i979 = icmp eq ptr %475, null - br i1 %tobool.not.i.i.i979, label %_ZNSt6vectorIiSaIiEED2Ev.exit982, label %if.then.i.i.i980 + %tobool.not.i.i.i1012 = icmp eq ptr %475, null + br i1 %tobool.not.i.i.i1012, label %_ZNSt6vectorIiSaIiEED2Ev.exit1015, label %if.then.i.i.i1013 -if.then.i.i.i980: ; preds = %arraydestroy.body1086 +if.then.i.i.i1013: ; preds = %arraydestroy.body1086 call void @_ZdlPv(ptr noundef nonnull %475) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit982 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1015 -_ZNSt6vectorIiSaIiEED2Ev.exit982: ; preds = %arraydestroy.body1086, %if.then.i.i.i980 +_ZNSt6vectorIiSaIiEED2Ev.exit1015: ; preds = %arraydestroy.body1086, %if.then.i.i.i1013 %arraydestroy.done1089 = icmp eq ptr %arraydestroy.element1088, %ref.tmp19 br i1 %arraydestroy.done1089, label %ehcleanup1097, label %arraydestroy.body1086 -ehcleanup1097: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit982, %if.then.i.i3.i.i87, %lpad.i.i85 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i3.i.i87 ], [ %2, %lpad.i.i85 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit982 ] - %arrayinit.endOfInit.51 = phi ptr [ %arrayinit.element6, %if.then.i.i3.i.i87 ], [ %arrayinit.element6, %lpad.i.i85 ], [ %arrayinit.endOfInit.50, %_ZNSt6vectorIiSaIiEED2Ev.exit982 ] - %cleanup.isactive598.54 = phi i1 [ true, %if.then.i.i3.i.i87 ], [ true, %lpad.i.i85 ], [ %cleanup.isactive598.53, %_ZNSt6vectorIiSaIiEED2Ev.exit982 ] +ehcleanup1097: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1015, %if.then.i.i3.i.i87, %lpad.i.i85 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i3.i.i87 ], [ %2, %lpad.i.i85 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1015 ] + %arrayinit.endOfInit.51 = phi ptr [ %arrayinit.element6, %if.then.i.i3.i.i87 ], [ %arrayinit.element6, %lpad.i.i85 ], [ %arrayinit.endOfInit.50, %_ZNSt6vectorIiSaIiEED2Ev.exit1015 ] + %cleanup.isactive598.54 = phi i1 [ true, %if.then.i.i3.i.i87 ], [ true, %lpad.i.i85 ], [ %cleanup.isactive598.53, %_ZNSt6vectorIiSaIiEED2Ev.exit1015 ] br label %arraydestroy.body1099 -arraydestroy.body1099: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit987, %ehcleanup1097 - %arraydestroy.elementPast1100 = phi ptr [ %add.ptr.i.i83, %ehcleanup1097 ], [ %arraydestroy.element1101, %_ZNSt6vectorIiSaIiEED2Ev.exit987 ] +arraydestroy.body1099: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1020, %ehcleanup1097 + %arraydestroy.elementPast1100 = phi ptr [ %add.ptr.i.i83, %ehcleanup1097 ], [ %arraydestroy.element1101, %_ZNSt6vectorIiSaIiEED2Ev.exit1020 ] %arraydestroy.element1101 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1100, i64 -1 %476 = load ptr, ptr %arraydestroy.element1101, align 8 - %tobool.not.i.i.i984 = icmp eq ptr %476, null - br i1 %tobool.not.i.i.i984, label %_ZNSt6vectorIiSaIiEED2Ev.exit987, label %if.then.i.i.i985 + %tobool.not.i.i.i1017 = icmp eq ptr %476, null + br i1 %tobool.not.i.i.i1017, label %_ZNSt6vectorIiSaIiEED2Ev.exit1020, label %if.then.i.i.i1018 -if.then.i.i.i985: ; preds = %arraydestroy.body1099 +if.then.i.i.i1018: ; preds = %arraydestroy.body1099 call void @_ZdlPv(ptr noundef nonnull %476) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit987 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1020 -_ZNSt6vectorIiSaIiEED2Ev.exit987: ; preds = %arraydestroy.body1099, %if.then.i.i.i985 +_ZNSt6vectorIiSaIiEED2Ev.exit1020: ; preds = %arraydestroy.body1099, %if.then.i.i.i1018 %arraydestroy.done1102 = icmp eq ptr %arraydestroy.element1101, %ref.tmp8 br i1 %arraydestroy.done1102, label %ehcleanup1110, label %arraydestroy.body1099 -ehcleanup1110: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit987, %if.then.i.i3.i.i, %lpad.i.i - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i3.i.i ], [ %0, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit987 ] - %arrayinit.endOfInit.52 = phi ptr [ %arrayinit.element, %if.then.i.i3.i.i ], [ %arrayinit.element, %lpad.i.i ], [ %arrayinit.endOfInit.51, %_ZNSt6vectorIiSaIiEED2Ev.exit987 ] - %cleanup.isactive598.55 = phi i1 [ true, %if.then.i.i3.i.i ], [ true, %lpad.i.i ], [ %cleanup.isactive598.54, %_ZNSt6vectorIiSaIiEED2Ev.exit987 ] +ehcleanup1110: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1020, %if.then.i.i3.i.i, %lpad.i.i + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i3.i.i ], [ %0, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1020 ] + %arrayinit.endOfInit.52 = phi ptr [ %arrayinit.element, %if.then.i.i3.i.i ], [ %arrayinit.element, %lpad.i.i ], [ %arrayinit.endOfInit.51, %_ZNSt6vectorIiSaIiEED2Ev.exit1020 ] + %cleanup.isactive598.55 = phi i1 [ true, %if.then.i.i3.i.i ], [ true, %lpad.i.i ], [ %cleanup.isactive598.54, %_ZNSt6vectorIiSaIiEED2Ev.exit1020 ] %477 = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i989 = icmp eq ptr %477, null - br i1 %tobool.not.i.i.i989, label %_ZNSt6vectorIiSaIiEED2Ev.exit992, label %if.then.i.i.i990 + %tobool.not.i.i.i1022 = icmp eq ptr %477, null + br i1 %tobool.not.i.i.i1022, label %_ZNSt6vectorIiSaIiEED2Ev.exit1025, label %if.then.i.i.i1023 -if.then.i.i.i990: ; preds = %ehcleanup1110 +if.then.i.i.i1023: ; preds = %ehcleanup1110 call void @_ZdlPv(ptr noundef nonnull %477) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit992 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1025 -_ZNSt6vectorIiSaIiEED2Ev.exit992: ; preds = %ehcleanup1110, %if.then.i.i.i990 +_ZNSt6vectorIiSaIiEED2Ev.exit1025: ; preds = %ehcleanup1110, %if.then.i.i.i1023 %arraydestroy.isempty1120 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.52 %or.cond19.not = select i1 %cleanup.isactive598.55, i1 %arraydestroy.isempty1120, i1 false br i1 %or.cond19.not, label %arraydestroy.body1121, label %eh.resume -arraydestroy.body1121: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit992, %arraydestroy.body1121 - %arraydestroy.elementPast1122 = phi ptr [ %arraydestroy.element1123, %arraydestroy.body1121 ], [ %arrayinit.endOfInit.52, %_ZNSt6vectorIiSaIiEED2Ev.exit992 ] +arraydestroy.body1121: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1025, %arraydestroy.body1121 + %arraydestroy.elementPast1122 = phi ptr [ %arraydestroy.element1123, %arraydestroy.body1121 ], [ %arrayinit.endOfInit.52, %_ZNSt6vectorIiSaIiEED2Ev.exit1025 ] %arraydestroy.element1123 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %arraydestroy.elementPast1122, i64 -1 call fastcc void @_ZN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element1123) #28 %arraydestroy.done1124 = icmp eq ptr %arraydestroy.element1123, %ref.tmp @@ -172227,25 +172230,25 @@ ehcleanup1142: ; preds = %lpad1139, %lpad1137 ehcleanup1143: ; preds = %ehcleanup1142, %lpad1134 %.pn76.pn = phi { ptr, i32 } [ %.pn76, %ehcleanup1142 ], [ %481, %lpad1134 ] %484 = load ptr, ptr %ref.tmp1129, align 8 - %cmp.not.i.i993 = icmp eq ptr %484, null - br i1 %cmp.not.i.i993, label %_ZN7testing7MessageD2Ev.exit997, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i994 + %cmp.not.i.i1026 = icmp eq ptr %484, null + br i1 %cmp.not.i.i1026, label %_ZN7testing7MessageD2Ev.exit1030, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1027 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i994: ; preds = %ehcleanup1143 - %vtable.i.i.i995 = load ptr, ptr %484, align 8 - %vfn.i.i.i996 = getelementptr inbounds ptr, ptr %vtable.i.i.i995, i64 1 - %485 = load ptr, ptr %vfn.i.i.i996, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1027: ; preds = %ehcleanup1143 + %vtable.i.i.i1028 = load ptr, ptr %484, align 8 + %vfn.i.i.i1029 = getelementptr inbounds ptr, ptr %vtable.i.i.i1028, i64 1 + %485 = load ptr, ptr %vfn.i.i.i1029, align 8 call void %485(ptr noundef nonnull align 8 dereferenceable(128) %484) #28 - br label %_ZN7testing7MessageD2Ev.exit997 + br label %_ZN7testing7MessageD2Ev.exit1030 -_ZN7testing7MessageD2Ev.exit997: ; preds = %ehcleanup1143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i994 +_ZN7testing7MessageD2Ev.exit1030: ; preds = %ehcleanup1143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1027 store ptr null, ptr %ref.tmp1129, align 8 br label %ehcleanup1144 if.end: ; preds = %invoke.cont1128, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %486 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i998 = icmp eq ptr %486, null - br i1 %cmp.not.i.i998, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i1031 = icmp eq ptr %486, null + br i1 %cmp.not.i.i1031, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %486) #28 @@ -172255,20 +172258,20 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %487 = load ptr, ptr %exemplars, align 8 - %488 = load ptr, ptr %_M_finish.i.i690, align 8 + %488 = load ptr, ptr %_M_finish.i.i723, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %487, %488 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i1004, label %for.body.i.i.i.i999 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i1037, label %for.body.i.i.i.i1032 -for.body.i.i.i.i999: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i +for.body.i.i.i.i1032: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i ], [ %487, %_ZN7testing15AssertionResultD2Ev.exit ] %489 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 - %_M_finish.i.i.i.i.i.i.i1000 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i, i64 0, i32 1 - %490 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i1000, align 8 + %_M_finish.i.i.i.i.i.i.i1033 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i, i64 0, i32 1 + %490 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i1033, align 8 %cmp.not3.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %489, %490 br i1 %cmp.not3.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i -for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i999, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i ], [ %489, %for.body.i.i.i.i999 ] +for.body.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i1032, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i ], [ %489, %for.body.i.i.i.i1032 ] %491 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %491, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i @@ -172286,43 +172289,43 @@ invoke.contthread-pre-split.i.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyISt6ve %.pr.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 br label %invoke.cont.i.i.i.i.i.i.i -invoke.cont.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i, %for.body.i.i.i.i999 - %492 = phi ptr [ %.pr.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i ], [ %489, %for.body.i.i.i.i999 ] - %tobool.not.i.i.i.i.i.i.i.i.i1001 = icmp eq ptr %492, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i1001, label %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i1002 +invoke.cont.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i, %for.body.i.i.i.i1032 + %492 = phi ptr [ %.pr.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i ], [ %489, %for.body.i.i.i.i1032 ] + %tobool.not.i.i.i.i.i.i.i.i.i1034 = icmp eq ptr %492, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i1034, label %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i1035 -if.then.i.i.i.i.i.i.i.i.i1002: ; preds = %invoke.cont.i.i.i.i.i.i.i +if.then.i.i.i.i.i.i.i.i.i1035: ; preds = %invoke.cont.i.i.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %492) #31 br label %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i -_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1002, %invoke.cont.i.i.i.i.i.i.i +_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1035, %invoke.cont.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1372", ptr %__first.addr.04.i.i.i.i, i64 1 - %cmp.not.i.i.i.i1003 = icmp eq ptr %incdec.ptr.i.i.i.i, %488 - br i1 %cmp.not.i.i.i.i1003, label %invoke.cont.i1004, label %for.body.i.i.i.i999, !llvm.loop !4353 + %cmp.not.i.i.i.i1036 = icmp eq ptr %incdec.ptr.i.i.i.i, %488 + br i1 %cmp.not.i.i.i.i1036, label %invoke.cont.i1037, label %for.body.i.i.i.i1032, !llvm.loop !4353 -invoke.cont.i1004: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit - %tobool.not.i.i.i1005 = icmp eq ptr %487, null - br i1 %tobool.not.i.i.i1005, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEESaIS4_EED2Ev.exit, label %if.then.i.i.i1006 +invoke.cont.i1037: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit + %tobool.not.i.i.i1038 = icmp eq ptr %487, null + br i1 %tobool.not.i.i.i1038, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEESaIS4_EED2Ev.exit, label %if.then.i.i.i1039 -if.then.i.i.i1006: ; preds = %invoke.cont.i1004 +if.then.i.i.i1039: ; preds = %invoke.cont.i1037 call void @_ZdlPv(ptr noundef nonnull %487) #31 br label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEESaIS4_EED2Ev.exit -_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i1004, %if.then.i.i.i1006 +_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEESaIS4_EED2Ev.exit: ; preds = %invoke.cont.i1037, %if.then.i.i.i1039 ret void -ehcleanup1144: ; preds = %_ZN7testing7MessageD2Ev.exit997, %lpad1130 - %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %_ZN7testing7MessageD2Ev.exit997 ], [ %480, %lpad1130 ] +ehcleanup1144: ; preds = %_ZN7testing7MessageD2Ev.exit1030, %lpad1130 + %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %_ZN7testing7MessageD2Ev.exit1030 ], [ %480, %lpad1130 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup1145 -ehcleanup1145: ; preds = %if.then.i.i.i42.i, %lpad.body.i784, %if.then.i.i.i.i.i, %lpad.i.i791, %ehcleanup1144 - %.pn76.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn, %ehcleanup1144 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i791 ], [ %.pn46.pn.i.i, %lpad.body.i784 ], [ %.pn46.pn.i.i, %if.then.i.i.i42.i ] +ehcleanup1145: ; preds = %if.then.i.i.i43.i, %lpad.body.i817, %if.then.i.i.i.i.i, %lpad.i.i824, %ehcleanup1144 + %.pn76.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn, %ehcleanup1144 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i824 ], [ %.pn46.pn.i.i, %lpad.body.i817 ], [ %.pn46.pn.i.i, %if.then.i.i.i43.i ] call fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body1121, %_ZNSt6vectorIiSaIiEED2Ev.exit992, %ehcleanup1145 - %.pn76.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn.pn, %ehcleanup1145 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit992 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body1121 ] +eh.resume: ; preds = %arraydestroy.body1121, %_ZNSt6vectorIiSaIiEED2Ev.exit1025, %ehcleanup1145 + %.pn76.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn.pn, %ehcleanup1145 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit1025 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body1121 ] resume { ptr, i32 } %.pn76.pn.pn.pn.pn } @@ -174336,8 +174339,7 @@ invoke.cont14.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %.noexc21.invoke.con %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %255 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %256 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i, 5 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %256, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %256, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.i.i.i.i.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %254, ptr %253) to label %invoke.cont30.i.i.i.i.i.i.i.i.i.i.i.i unwind label %lpad.i.i.i.i.i.i.i.i.i.i.i.i, !noalias !4403 @@ -177492,7 +177494,7 @@ lpad.i.i46: ; preds = %invoke.cont28 invoke.cont41: ; preds = %invoke.cont28 store ptr %call5.i.i.i.i1.i.i, ptr %ref.tmp31, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 1 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 4 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp31, i64 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 store i32 1, ptr %call5.i.i.i.i1.i.i, align 4 @@ -177527,910 +177529,910 @@ lpad.i.i59: ; preds = %invoke.cont47 invoke.cont61: ; preds = %invoke.cont47 store ptr %call5.i.i.i.i1.i.i58, ptr %ref.tmp50, align 8 - %add.ptr.i.i.i63 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i58, i64 2 + %add.ptr.i.i.i63 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i58, i64 8 %_M_end_of_storage.i.i.i64 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 2 store ptr %add.ptr.i.i.i63, ptr %_M_end_of_storage.i.i.i64, align 8 store i32 1, ptr %call5.i.i.i.i1.i.i58, align 4 %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i58.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i58, i64 4 store i32 1, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i58.sroa_idx, align 4 - %_M_finish.i.i.i65 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 - store ptr %add.ptr.i.i.i63, ptr %_M_finish.i.i.i65, align 8 + %_M_finish.i.i.i66 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 + store ptr %add.ptr.i.i.i63, ptr %_M_finish.i.i.i66, align 8 %arrayinit.element62 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element62, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i68 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont70 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 + %call5.i.i.i.i1.i.i69 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont70 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 invoke.cont70: ; preds = %invoke.cont61 - store ptr %call5.i.i.i.i1.i.i68, ptr %arrayinit.element62, align 8 - %add.ptr.i.i.i73 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i68, i64 2 - %_M_end_of_storage.i.i.i74 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i73, ptr %_M_end_of_storage.i.i.i74, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i68, align 4 - %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i68.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i68, i64 4 - store i32 1, ptr %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i68.sroa_idx, align 4 - %_M_finish.i.i.i75 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i73, ptr %_M_finish.i.i.i75, align 8 - %add.ptr.i.i79 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 2 + store ptr %call5.i.i.i.i1.i.i69, ptr %arrayinit.element62, align 8 + %add.ptr.i.i.i74 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i69, i64 8 + %_M_end_of_storage.i.i.i75 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i74, ptr %_M_end_of_storage.i.i.i75, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i69, align 4 + %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i69.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i69, i64 4 + store i32 1, ptr %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i69.sroa_idx, align 4 + %_M_finish.i.i.i77 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i74, ptr %_M_finish.i.i.i77, align 8 + %add.ptr.i.i81 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, ptr noundef nonnull %ref.tmp50, ptr noundef nonnull %add.ptr.i.i79) - to label %invoke.cont81 unwind label %lpad.i.i80 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, ptr noundef nonnull %ref.tmp50, ptr noundef nonnull %add.ptr.i.i81) + to label %invoke.cont81 unwind label %lpad.i.i82 -lpad.i.i80: ; preds = %invoke.cont70 +lpad.i.i82: ; preds = %invoke.cont70 %6 = landingpad { ptr, i32 } cleanup - %this.val.i.i81 = load ptr, ptr %arrayinit.element48, align 8 - %tobool.not.i.i.i.i82 = icmp eq ptr %this.val.i.i81, null - br i1 %tobool.not.i.i.i.i82, label %ehcleanup883, label %if.then.i.i.i.i83 + %this.val.i.i83 = load ptr, ptr %arrayinit.element48, align 8 + %tobool.not.i.i.i.i84 = icmp eq ptr %this.val.i.i83, null + br i1 %tobool.not.i.i.i.i84, label %ehcleanup883, label %if.then.i.i.i.i85 -if.then.i.i.i.i83: ; preds = %lpad.i.i80 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i81) #31 +if.then.i.i.i.i85: ; preds = %lpad.i.i82 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i83) #31 br label %ehcleanup883 invoke.cont81: ; preds = %invoke.cont70 %arrayinit.element82 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 6 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp84, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i87 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont96 unwind label %lpad.i.i88 + %call5.i.i.i.i1.i.i89 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont96 unwind label %lpad.i.i90 -lpad.i.i88: ; preds = %invoke.cont81 +lpad.i.i90: ; preds = %invoke.cont81 %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup883 invoke.cont96: ; preds = %invoke.cont81 - store ptr %call5.i.i.i.i1.i.i87, ptr %ref.tmp84, align 8 - %add.ptr.i.i.i92 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i87, i64 3 - %_M_end_of_storage.i.i.i93 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 2 - store ptr %add.ptr.i.i.i92, ptr %_M_end_of_storage.i.i.i93, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i87, align 4 - %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i87.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i87, i64 4 - store i32 1, ptr %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i87.sroa_idx, align 4 - %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i87.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i87, i64 8 - store i32 1, ptr %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i87.sroa_idx, align 4 - %_M_finish.i.i.i94 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 1 - store ptr %add.ptr.i.i.i92, ptr %_M_finish.i.i.i94, align 8 + store ptr %call5.i.i.i.i1.i.i89, ptr %ref.tmp84, align 8 + %add.ptr.i.i.i94 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i89, i64 12 + %_M_end_of_storage.i.i.i95 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 2 + store ptr %add.ptr.i.i.i94, ptr %_M_end_of_storage.i.i.i95, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i89, align 4 + %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i89.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i89, i64 4 + store i32 1, ptr %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i89.sroa_idx, align 4 + %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i89.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i89, i64 8 + store i32 1, ptr %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i89.sroa_idx, align 4 + %_M_finish.i.i.i97 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 1 + store ptr %add.ptr.i.i.i94, ptr %_M_finish.i.i.i97, align 8 %arrayinit.element97 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element97, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i97 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont106 unwind label %lpad.i.i98 + %call5.i.i.i.i1.i.i100 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont106 unwind label %lpad.i.i101 -lpad.i.i98: ; preds = %invoke.cont96 +lpad.i.i101: ; preds = %invoke.cont96 %8 = landingpad { ptr, i32 } cleanup br label %lpad95.body invoke.cont106: ; preds = %invoke.cont96 - store ptr %call5.i.i.i.i1.i.i97, ptr %arrayinit.element97, align 8 - %add.ptr.i.i.i102 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i97, i64 3 - %_M_end_of_storage.i.i.i103 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i102, ptr %_M_end_of_storage.i.i.i103, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i97, align 4 - %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i97.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i97, i64 4 - store i32 1, ptr %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i97.sroa_idx, align 4 - %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i97.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i97, i64 8 - store i32 1, ptr %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i97.sroa_idx, align 4 - %_M_finish.i.i.i104 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i102, ptr %_M_finish.i.i.i104, align 8 + store ptr %call5.i.i.i.i1.i.i100, ptr %arrayinit.element97, align 8 + %add.ptr.i.i.i105 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i100, i64 12 + %_M_end_of_storage.i.i.i106 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i105, ptr %_M_end_of_storage.i.i.i106, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i100, align 4 + %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i100.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i100, i64 4 + store i32 1, ptr %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i100.sroa_idx, align 4 + %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i100.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i100, i64 8 + store i32 1, ptr %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i100.sroa_idx, align 4 + %_M_finish.i.i.i108 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i105, ptr %_M_finish.i.i.i108, align 8 %arrayinit.element107 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element107, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i109 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont116 unwind label %lpad.i.i110 + %call5.i.i.i.i1.i.i113 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont116 unwind label %lpad.i.i114 -lpad.i.i110: ; preds = %invoke.cont106 +lpad.i.i114: ; preds = %invoke.cont106 %9 = landingpad { ptr, i32 } cleanup br label %lpad95.body invoke.cont116: ; preds = %invoke.cont106 - store ptr %call5.i.i.i.i1.i.i109, ptr %arrayinit.element107, align 8 - %add.ptr.i.i.i114 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i109, i64 3 - %_M_end_of_storage.i.i.i115 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i114, ptr %_M_end_of_storage.i.i.i115, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i109, align 4 - %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i109.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i109, i64 4 - store i32 1, ptr %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i109.sroa_idx, align 4 - %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i109.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i109, i64 8 - store i32 1, ptr %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i109.sroa_idx, align 4 - %_M_finish.i.i.i116 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i114, ptr %_M_finish.i.i.i116, align 8 - %add.ptr.i.i120 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 3 + store ptr %call5.i.i.i.i1.i.i113, ptr %arrayinit.element107, align 8 + %add.ptr.i.i.i118 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i113, i64 12 + %_M_end_of_storage.i.i.i119 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i118, ptr %_M_end_of_storage.i.i.i119, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i113, align 4 + %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i113.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i113, i64 4 + store i32 1, ptr %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i113.sroa_idx, align 4 + %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i113.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i113, i64 8 + store i32 1, ptr %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i113.sroa_idx, align 4 + %_M_finish.i.i.i121 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i118, ptr %_M_finish.i.i.i121, align 8 + %add.ptr.i.i125 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 3 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element82, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element82, ptr noundef nonnull %ref.tmp84, ptr noundef nonnull %add.ptr.i.i120) - to label %invoke.cont127 unwind label %lpad.i.i121 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element82, ptr noundef nonnull %ref.tmp84, ptr noundef nonnull %add.ptr.i.i125) + to label %invoke.cont127 unwind label %lpad.i.i126 -lpad.i.i121: ; preds = %invoke.cont116 +lpad.i.i126: ; preds = %invoke.cont116 %10 = landingpad { ptr, i32 } cleanup - %this.val.i.i122 = load ptr, ptr %arrayinit.element82, align 8 - %tobool.not.i.i.i.i123 = icmp eq ptr %this.val.i.i122, null - br i1 %tobool.not.i.i.i.i123, label %ehcleanup870, label %if.then.i.i.i.i124 + %this.val.i.i127 = load ptr, ptr %arrayinit.element82, align 8 + %tobool.not.i.i.i.i128 = icmp eq ptr %this.val.i.i127, null + br i1 %tobool.not.i.i.i.i128, label %ehcleanup870, label %if.then.i.i.i.i129 -if.then.i.i.i.i124: ; preds = %lpad.i.i121 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i122) #31 +if.then.i.i.i.i129: ; preds = %lpad.i.i126 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i127) #31 br label %ehcleanup870 invoke.cont127: ; preds = %invoke.cont116 %arrayinit.element128 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp130, i8 0, i64 48, i1 false) - %call5.i.i.i.i1.i.i128 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont142 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641 + %call5.i.i.i.i1.i.i133 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont142 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 invoke.cont142: ; preds = %invoke.cont127 %arrayinit.element133 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1 - store ptr %call5.i.i.i.i1.i.i128, ptr %arrayinit.element133, align 8 - %add.ptr.i.i.i133 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i128, i64 2 - %_M_end_of_storage.i.i.i134 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i133, ptr %_M_end_of_storage.i.i.i134, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i128, align 4 - %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i128.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i128, i64 4 - store i32 2, ptr %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i128.sroa_idx, align 4 - %_M_finish.i.i.i135 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i133, ptr %_M_finish.i.i.i135, align 8 - %add.ptr.i.i138 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 2 + store ptr %call5.i.i.i.i1.i.i133, ptr %arrayinit.element133, align 8 + %add.ptr.i.i.i138 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i133, i64 8 + %_M_end_of_storage.i.i.i139 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i138, ptr %_M_end_of_storage.i.i.i139, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i133, align 4 + %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i133.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i133, i64 4 + store i32 2, ptr %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i133.sroa_idx, align 4 + %_M_finish.i.i.i141 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i138, ptr %_M_finish.i.i.i141, align 8 + %add.ptr.i.i144 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element128, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element128, ptr noundef nonnull %ref.tmp130, ptr noundef nonnull %add.ptr.i.i138) - to label %invoke.cont153 unwind label %lpad.i.i139 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element128, ptr noundef nonnull %ref.tmp130, ptr noundef nonnull %add.ptr.i.i144) + to label %invoke.cont153 unwind label %lpad.i.i145 -lpad.i.i139: ; preds = %invoke.cont142 +lpad.i.i145: ; preds = %invoke.cont142 %11 = landingpad { ptr, i32 } cleanup - %this.val.i.i140 = load ptr, ptr %arrayinit.element128, align 8 - %tobool.not.i.i.i.i141 = icmp eq ptr %this.val.i.i140, null - br i1 %tobool.not.i.i.i.i141, label %ehcleanup857, label %if.then.i.i.i.i142 + %this.val.i.i146 = load ptr, ptr %arrayinit.element128, align 8 + %tobool.not.i.i.i.i147 = icmp eq ptr %this.val.i.i146, null + br i1 %tobool.not.i.i.i.i147, label %ehcleanup857, label %if.then.i.i.i.i148 -if.then.i.i.i.i142: ; preds = %lpad.i.i139 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i140) #31 +if.then.i.i.i.i148: ; preds = %lpad.i.i145 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i146) #31 br label %ehcleanup857 invoke.cont153: ; preds = %invoke.cont142 %arrayinit.element154 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp156, i8 0, i64 48, i1 false) - %call5.i.i.i.i1.i.i146 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont168 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644 + %call5.i.i.i.i1.i.i152 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont168 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 invoke.cont168: ; preds = %invoke.cont153 %arrayinit.element159 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1 - store ptr %call5.i.i.i.i1.i.i146, ptr %arrayinit.element159, align 8 - %add.ptr.i.i.i151 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i146, i64 2 - %_M_end_of_storage.i.i.i152 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i151, ptr %_M_end_of_storage.i.i.i152, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i146, align 4 - %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i146.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i146, i64 4 - store i32 1, ptr %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i146.sroa_idx, align 4 - %_M_finish.i.i.i153 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i151, ptr %_M_finish.i.i.i153, align 8 - %add.ptr.i.i156 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 2 + store ptr %call5.i.i.i.i1.i.i152, ptr %arrayinit.element159, align 8 + %add.ptr.i.i.i157 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i152, i64 8 + %_M_end_of_storage.i.i.i158 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i157, ptr %_M_end_of_storage.i.i.i158, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i152, align 4 + %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i152.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i152, i64 4 + store i32 1, ptr %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i152.sroa_idx, align 4 + %_M_finish.i.i.i160 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i157, ptr %_M_finish.i.i.i160, align 8 + %add.ptr.i.i163 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element154, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element154, ptr noundef nonnull %ref.tmp156, ptr noundef nonnull %add.ptr.i.i156) - to label %invoke.cont179 unwind label %lpad.i.i157 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element154, ptr noundef nonnull %ref.tmp156, ptr noundef nonnull %add.ptr.i.i163) + to label %invoke.cont179 unwind label %lpad.i.i164 -lpad.i.i157: ; preds = %invoke.cont168 +lpad.i.i164: ; preds = %invoke.cont168 %12 = landingpad { ptr, i32 } cleanup - %this.val.i.i158 = load ptr, ptr %arrayinit.element154, align 8 - %tobool.not.i.i.i.i159 = icmp eq ptr %this.val.i.i158, null - br i1 %tobool.not.i.i.i.i159, label %ehcleanup844, label %if.then.i.i.i.i160 + %this.val.i.i165 = load ptr, ptr %arrayinit.element154, align 8 + %tobool.not.i.i.i.i166 = icmp eq ptr %this.val.i.i165, null + br i1 %tobool.not.i.i.i.i166, label %ehcleanup844, label %if.then.i.i.i.i167 -if.then.i.i.i.i160: ; preds = %lpad.i.i157 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i158) #31 +if.then.i.i.i.i167: ; preds = %lpad.i.i164 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i165) #31 br label %ehcleanup844 invoke.cont179: ; preds = %invoke.cont168 %arrayinit.element180 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp182, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i164 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont193 unwind label %lpad.i.i165 + %call5.i.i.i.i1.i.i171 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont193 unwind label %lpad.i.i172 -lpad.i.i165: ; preds = %invoke.cont179 +lpad.i.i172: ; preds = %invoke.cont179 %13 = landingpad { ptr, i32 } cleanup br label %ehcleanup844 invoke.cont193: ; preds = %invoke.cont179 - store ptr %call5.i.i.i.i1.i.i164, ptr %ref.tmp182, align 8 - %add.ptr.i.i.i169 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i164, i64 2 - %_M_end_of_storage.i.i.i170 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 2 - store ptr %add.ptr.i.i.i169, ptr %_M_end_of_storage.i.i.i170, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i164, align 4 - %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i164.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i164, i64 4 - store i32 2, ptr %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i164.sroa_idx, align 4 - %_M_finish.i.i.i171 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 1 - store ptr %add.ptr.i.i.i169, ptr %_M_finish.i.i.i171, align 8 + store ptr %call5.i.i.i.i1.i.i171, ptr %ref.tmp182, align 8 + %add.ptr.i.i.i176 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i171, i64 8 + %_M_end_of_storage.i.i.i177 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 2 + store ptr %add.ptr.i.i.i176, ptr %_M_end_of_storage.i.i.i177, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i171, align 4 + %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i171.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i171, i64 4 + store i32 2, ptr %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i171.sroa_idx, align 4 + %_M_finish.i.i.i179 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 1 + store ptr %add.ptr.i.i.i176, ptr %_M_finish.i.i.i179, align 8 %arrayinit.element194 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp182, i64 1 - %add.ptr.i.i174 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp182, i64 2 + %add.ptr.i.i182 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp182, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element194, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element180, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element180, ptr noundef nonnull %ref.tmp182, ptr noundef nonnull %add.ptr.i.i174) - to label %invoke.cont205 unwind label %lpad.i.i175 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element180, ptr noundef nonnull %ref.tmp182, ptr noundef nonnull %add.ptr.i.i182) + to label %invoke.cont205 unwind label %lpad.i.i183 -lpad.i.i175: ; preds = %invoke.cont193 +lpad.i.i183: ; preds = %invoke.cont193 %14 = landingpad { ptr, i32 } cleanup - %this.val.i.i176 = load ptr, ptr %arrayinit.element180, align 8 - %tobool.not.i.i.i.i177 = icmp eq ptr %this.val.i.i176, null - br i1 %tobool.not.i.i.i.i177, label %ehcleanup831, label %if.then.i.i.i.i178 + %this.val.i.i184 = load ptr, ptr %arrayinit.element180, align 8 + %tobool.not.i.i.i.i185 = icmp eq ptr %this.val.i.i184, null + br i1 %tobool.not.i.i.i.i185, label %ehcleanup831, label %if.then.i.i.i.i186 -if.then.i.i.i.i178: ; preds = %lpad.i.i175 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i176) #31 +if.then.i.i.i.i186: ; preds = %lpad.i.i183 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i184) #31 br label %ehcleanup831 invoke.cont205: ; preds = %invoke.cont193 %arrayinit.element206 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 10 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp208, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i182 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont219 unwind label %lpad.i.i183 + %call5.i.i.i.i1.i.i190 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont219 unwind label %lpad.i.i191 -lpad.i.i183: ; preds = %invoke.cont205 +lpad.i.i191: ; preds = %invoke.cont205 %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup831 invoke.cont219: ; preds = %invoke.cont205 - store ptr %call5.i.i.i.i1.i.i182, ptr %ref.tmp208, align 8 - %add.ptr.i.i.i187 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i182, i64 2 - %_M_end_of_storage.i.i.i188 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 2 - store ptr %add.ptr.i.i.i187, ptr %_M_end_of_storage.i.i.i188, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i182, align 4 - %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i182.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i182, i64 4 - store i32 1, ptr %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i182.sroa_idx, align 4 - %_M_finish.i.i.i189 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 1 - store ptr %add.ptr.i.i.i187, ptr %_M_finish.i.i.i189, align 8 + store ptr %call5.i.i.i.i1.i.i190, ptr %ref.tmp208, align 8 + %add.ptr.i.i.i195 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i190, i64 8 + %_M_end_of_storage.i.i.i196 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 2 + store ptr %add.ptr.i.i.i195, ptr %_M_end_of_storage.i.i.i196, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i190, align 4 + %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i190.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i190, i64 4 + store i32 1, ptr %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i190.sroa_idx, align 4 + %_M_finish.i.i.i198 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 1 + store ptr %add.ptr.i.i.i195, ptr %_M_finish.i.i.i198, align 8 %arrayinit.element220 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp208, i64 1 - %add.ptr.i.i192 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp208, i64 2 + %add.ptr.i.i201 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp208, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element220, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element206, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element206, ptr noundef nonnull %ref.tmp208, ptr noundef nonnull %add.ptr.i.i192) - to label %invoke.cont231 unwind label %lpad.i.i193 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element206, ptr noundef nonnull %ref.tmp208, ptr noundef nonnull %add.ptr.i.i201) + to label %invoke.cont231 unwind label %lpad.i.i202 -lpad.i.i193: ; preds = %invoke.cont219 +lpad.i.i202: ; preds = %invoke.cont219 %16 = landingpad { ptr, i32 } cleanup - %this.val.i.i194 = load ptr, ptr %arrayinit.element206, align 8 - %tobool.not.i.i.i.i195 = icmp eq ptr %this.val.i.i194, null - br i1 %tobool.not.i.i.i.i195, label %ehcleanup818, label %if.then.i.i.i.i196 + %this.val.i.i203 = load ptr, ptr %arrayinit.element206, align 8 + %tobool.not.i.i.i.i204 = icmp eq ptr %this.val.i.i203, null + br i1 %tobool.not.i.i.i.i204, label %ehcleanup818, label %if.then.i.i.i.i205 -if.then.i.i.i.i196: ; preds = %lpad.i.i193 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i194) #31 +if.then.i.i.i.i205: ; preds = %lpad.i.i202 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i203) #31 br label %ehcleanup818 invoke.cont231: ; preds = %invoke.cont219 %arrayinit.element232 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp234, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i200 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont245 unwind label %lpad.i.i201 + %call5.i.i.i.i1.i.i209 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont245 unwind label %lpad.i.i210 -lpad.i.i201: ; preds = %invoke.cont231 +lpad.i.i210: ; preds = %invoke.cont231 %17 = landingpad { ptr, i32 } cleanup br label %ehcleanup818 invoke.cont245: ; preds = %invoke.cont231 - store ptr %call5.i.i.i.i1.i.i200, ptr %ref.tmp234, align 8 - %add.ptr.i.i.i205 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i200, i64 2 - %_M_end_of_storage.i.i.i206 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 2 - store ptr %add.ptr.i.i.i205, ptr %_M_end_of_storage.i.i.i206, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i200, align 4 - %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i200.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i200, i64 4 - store i32 2, ptr %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i200.sroa_idx, align 4 - %_M_finish.i.i.i207 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 1 - store ptr %add.ptr.i.i.i205, ptr %_M_finish.i.i.i207, align 8 + store ptr %call5.i.i.i.i1.i.i209, ptr %ref.tmp234, align 8 + %add.ptr.i.i.i214 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i209, i64 8 + %_M_end_of_storage.i.i.i215 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 2 + store ptr %add.ptr.i.i.i214, ptr %_M_end_of_storage.i.i.i215, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i209, align 4 + %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i209.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i209, i64 4 + store i32 2, ptr %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i209.sroa_idx, align 4 + %_M_finish.i.i.i217 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 1 + store ptr %add.ptr.i.i.i214, ptr %_M_finish.i.i.i217, align 8 %arrayinit.element246 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element246, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i210 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont254 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647 + %call5.i.i.i.i1.i.i220 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont254 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 invoke.cont254: ; preds = %invoke.cont245 - store ptr %call5.i.i.i.i1.i.i210, ptr %arrayinit.element246, align 8 - %add.ptr.i.i.i215 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i210, i64 2 - %_M_end_of_storage.i.i.i216 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i215, ptr %_M_end_of_storage.i.i.i216, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i210, align 4 - %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i210.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i210, i64 4 - store i32 4, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i210.sroa_idx, align 4 - %_M_finish.i.i.i217 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i215, ptr %_M_finish.i.i.i217, align 8 - %add.ptr.i.i221 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 2 + store ptr %call5.i.i.i.i1.i.i220, ptr %arrayinit.element246, align 8 + %add.ptr.i.i.i225 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i220, i64 8 + %_M_end_of_storage.i.i.i226 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i225, ptr %_M_end_of_storage.i.i.i226, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i220, align 4 + %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i220.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i220, i64 4 + store i32 4, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i220.sroa_idx, align 4 + %_M_finish.i.i.i228 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i225, ptr %_M_finish.i.i.i228, align 8 + %add.ptr.i.i232 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element232, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element232, ptr noundef nonnull %ref.tmp234, ptr noundef nonnull %add.ptr.i.i221) - to label %invoke.cont265 unwind label %lpad.i.i222 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element232, ptr noundef nonnull %ref.tmp234, ptr noundef nonnull %add.ptr.i.i232) + to label %invoke.cont265 unwind label %lpad.i.i233 -lpad.i.i222: ; preds = %invoke.cont254 +lpad.i.i233: ; preds = %invoke.cont254 %18 = landingpad { ptr, i32 } cleanup - %this.val.i.i223 = load ptr, ptr %arrayinit.element232, align 8 - %tobool.not.i.i.i.i224 = icmp eq ptr %this.val.i.i223, null - br i1 %tobool.not.i.i.i.i224, label %ehcleanup805, label %if.then.i.i.i.i225 + %this.val.i.i234 = load ptr, ptr %arrayinit.element232, align 8 + %tobool.not.i.i.i.i235 = icmp eq ptr %this.val.i.i234, null + br i1 %tobool.not.i.i.i.i235, label %ehcleanup805, label %if.then.i.i.i.i236 -if.then.i.i.i.i225: ; preds = %lpad.i.i222 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i223) #31 +if.then.i.i.i.i236: ; preds = %lpad.i.i233 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i234) #31 br label %ehcleanup805 invoke.cont265: ; preds = %invoke.cont254 %arrayinit.element266 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp268, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i229 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont279 unwind label %lpad.i.i230 + %call5.i.i.i.i1.i.i240 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont279 unwind label %lpad.i.i241 -lpad.i.i230: ; preds = %invoke.cont265 +lpad.i.i241: ; preds = %invoke.cont265 %19 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 invoke.cont279: ; preds = %invoke.cont265 - store ptr %call5.i.i.i.i1.i.i229, ptr %ref.tmp268, align 8 - %add.ptr.i.i.i234 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i229, i64 2 - %_M_end_of_storage.i.i.i235 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 2 - store ptr %add.ptr.i.i.i234, ptr %_M_end_of_storage.i.i.i235, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i229, align 4 - %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i229.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i229, i64 4 - store i32 2, ptr %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i229.sroa_idx, align 4 - %_M_finish.i.i.i236 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 1 - store ptr %add.ptr.i.i.i234, ptr %_M_finish.i.i.i236, align 8 + store ptr %call5.i.i.i.i1.i.i240, ptr %ref.tmp268, align 8 + %add.ptr.i.i.i245 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i240, i64 8 + %_M_end_of_storage.i.i.i246 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 2 + store ptr %add.ptr.i.i.i245, ptr %_M_end_of_storage.i.i.i246, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i240, align 4 + %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i240.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i240, i64 4 + store i32 2, ptr %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i240.sroa_idx, align 4 + %_M_finish.i.i.i248 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 1 + store ptr %add.ptr.i.i.i245, ptr %_M_finish.i.i.i248, align 8 %arrayinit.element280 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element280, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i239 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont288 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650 + %call5.i.i.i.i1.i.i251 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont288 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 invoke.cont288: ; preds = %invoke.cont279 - store ptr %call5.i.i.i.i1.i.i239, ptr %arrayinit.element280, align 8 - %add.ptr.i.i.i244 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i239, i64 2 - %_M_end_of_storage.i.i.i245 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i244, ptr %_M_end_of_storage.i.i.i245, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i239, align 4 - %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i239.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i239, i64 4 - store i32 3, ptr %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i239.sroa_idx, align 4 - %_M_finish.i.i.i246 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i244, ptr %_M_finish.i.i.i246, align 8 - %add.ptr.i.i250 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 2 + store ptr %call5.i.i.i.i1.i.i251, ptr %arrayinit.element280, align 8 + %add.ptr.i.i.i256 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i251, i64 8 + %_M_end_of_storage.i.i.i257 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i256, ptr %_M_end_of_storage.i.i.i257, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i251, align 4 + %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i251.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i251, i64 4 + store i32 3, ptr %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i251.sroa_idx, align 4 + %_M_finish.i.i.i259 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i256, ptr %_M_finish.i.i.i259, align 8 + %add.ptr.i.i263 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element266, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element266, ptr noundef nonnull %ref.tmp268, ptr noundef nonnull %add.ptr.i.i250) - to label %invoke.cont299 unwind label %lpad.i.i251 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element266, ptr noundef nonnull %ref.tmp268, ptr noundef nonnull %add.ptr.i.i263) + to label %invoke.cont299 unwind label %lpad.i.i264 -lpad.i.i251: ; preds = %invoke.cont288 +lpad.i.i264: ; preds = %invoke.cont288 %20 = landingpad { ptr, i32 } cleanup - %this.val.i.i252 = load ptr, ptr %arrayinit.element266, align 8 - %tobool.not.i.i.i.i253 = icmp eq ptr %this.val.i.i252, null - br i1 %tobool.not.i.i.i.i253, label %ehcleanup792, label %if.then.i.i.i.i254 + %this.val.i.i265 = load ptr, ptr %arrayinit.element266, align 8 + %tobool.not.i.i.i.i266 = icmp eq ptr %this.val.i.i265, null + br i1 %tobool.not.i.i.i.i266, label %ehcleanup792, label %if.then.i.i.i.i267 -if.then.i.i.i.i254: ; preds = %lpad.i.i251 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i252) #31 +if.then.i.i.i.i267: ; preds = %lpad.i.i264 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i265) #31 br label %ehcleanup792 invoke.cont299: ; preds = %invoke.cont288 %arrayinit.element300 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 13 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp302, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i258 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont313 unwind label %lpad.i.i259 + %call5.i.i.i.i1.i.i271 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont313 unwind label %lpad.i.i272 -lpad.i.i259: ; preds = %invoke.cont299 +lpad.i.i272: ; preds = %invoke.cont299 %21 = landingpad { ptr, i32 } cleanup br label %ehcleanup792 invoke.cont313: ; preds = %invoke.cont299 - store ptr %call5.i.i.i.i1.i.i258, ptr %ref.tmp302, align 8 - %add.ptr.i.i.i263 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i258, i64 2 - %_M_end_of_storage.i.i.i264 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 2 - store ptr %add.ptr.i.i.i263, ptr %_M_end_of_storage.i.i.i264, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i258, align 4 - %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i258.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i258, i64 4 - store i32 3, ptr %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i258.sroa_idx, align 4 - %_M_finish.i.i.i265 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 1 - store ptr %add.ptr.i.i.i263, ptr %_M_finish.i.i.i265, align 8 + store ptr %call5.i.i.i.i1.i.i271, ptr %ref.tmp302, align 8 + %add.ptr.i.i.i276 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i271, i64 8 + %_M_end_of_storage.i.i.i277 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 2 + store ptr %add.ptr.i.i.i276, ptr %_M_end_of_storage.i.i.i277, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i271, align 4 + %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i271.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i271, i64 4 + store i32 3, ptr %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i271.sroa_idx, align 4 + %_M_finish.i.i.i279 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 1 + store ptr %add.ptr.i.i.i276, ptr %_M_finish.i.i.i279, align 8 %arrayinit.element314 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element314, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i268 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont322 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653 + %call5.i.i.i.i1.i.i282 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont322 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 invoke.cont322: ; preds = %invoke.cont313 - store ptr %call5.i.i.i.i1.i.i268, ptr %arrayinit.element314, align 8 - %add.ptr.i.i.i273 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i268, i64 2 - %_M_end_of_storage.i.i.i274 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i273, ptr %_M_end_of_storage.i.i.i274, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i268, align 4 - %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i268.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i268, i64 4 - store i32 4, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i268.sroa_idx, align 4 - %_M_finish.i.i.i275 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i273, ptr %_M_finish.i.i.i275, align 8 - %add.ptr.i.i279 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 2 + store ptr %call5.i.i.i.i1.i.i282, ptr %arrayinit.element314, align 8 + %add.ptr.i.i.i287 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i282, i64 8 + %_M_end_of_storage.i.i.i288 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i287, ptr %_M_end_of_storage.i.i.i288, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i282, align 4 + %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i282.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i282, i64 4 + store i32 4, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i282.sroa_idx, align 4 + %_M_finish.i.i.i290 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i287, ptr %_M_finish.i.i.i290, align 8 + %add.ptr.i.i294 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element300, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element300, ptr noundef nonnull %ref.tmp302, ptr noundef nonnull %add.ptr.i.i279) - to label %invoke.cont333 unwind label %lpad.i.i280 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element300, ptr noundef nonnull %ref.tmp302, ptr noundef nonnull %add.ptr.i.i294) + to label %invoke.cont333 unwind label %lpad.i.i295 -lpad.i.i280: ; preds = %invoke.cont322 +lpad.i.i295: ; preds = %invoke.cont322 %22 = landingpad { ptr, i32 } cleanup - %this.val.i.i281 = load ptr, ptr %arrayinit.element300, align 8 - %tobool.not.i.i.i.i282 = icmp eq ptr %this.val.i.i281, null - br i1 %tobool.not.i.i.i.i282, label %ehcleanup779, label %if.then.i.i.i.i283 + %this.val.i.i296 = load ptr, ptr %arrayinit.element300, align 8 + %tobool.not.i.i.i.i297 = icmp eq ptr %this.val.i.i296, null + br i1 %tobool.not.i.i.i.i297, label %ehcleanup779, label %if.then.i.i.i.i298 -if.then.i.i.i.i283: ; preds = %lpad.i.i280 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i281) #31 +if.then.i.i.i.i298: ; preds = %lpad.i.i295 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i296) #31 br label %ehcleanup779 invoke.cont333: ; preds = %invoke.cont322 %arrayinit.element334 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 14 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp336, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i287 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont347 unwind label %lpad.i.i288 + %call5.i.i.i.i1.i.i302 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont347 unwind label %lpad.i.i303 -lpad.i.i288: ; preds = %invoke.cont333 +lpad.i.i303: ; preds = %invoke.cont333 %23 = landingpad { ptr, i32 } cleanup br label %ehcleanup779 invoke.cont347: ; preds = %invoke.cont333 - store ptr %call5.i.i.i.i1.i.i287, ptr %ref.tmp336, align 8 - %add.ptr.i.i.i292 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i287, i64 2 - %_M_end_of_storage.i.i.i293 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 2 - store ptr %add.ptr.i.i.i292, ptr %_M_end_of_storage.i.i.i293, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i287, align 4 - %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i287.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i287, i64 4 - store i32 3, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i287.sroa_idx, align 4 - %_M_finish.i.i.i294 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 1 - store ptr %add.ptr.i.i.i292, ptr %_M_finish.i.i.i294, align 8 + store ptr %call5.i.i.i.i1.i.i302, ptr %ref.tmp336, align 8 + %add.ptr.i.i.i307 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i302, i64 8 + %_M_end_of_storage.i.i.i308 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 2 + store ptr %add.ptr.i.i.i307, ptr %_M_end_of_storage.i.i.i308, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i302, align 4 + %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i302.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i302, i64 4 + store i32 3, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i302.sroa_idx, align 4 + %_M_finish.i.i.i310 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 1 + store ptr %add.ptr.i.i.i307, ptr %_M_finish.i.i.i310, align 8 %arrayinit.element348 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element348, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i297 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont356 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656 + %call5.i.i.i.i1.i.i313 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont356 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 invoke.cont356: ; preds = %invoke.cont347 - store ptr %call5.i.i.i.i1.i.i297, ptr %arrayinit.element348, align 8 - %add.ptr.i.i.i302 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i297, i64 2 - %_M_end_of_storage.i.i.i303 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i302, ptr %_M_end_of_storage.i.i.i303, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i297, align 4 - %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i297.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i297, i64 4 - store i32 2, ptr %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i297.sroa_idx, align 4 - %_M_finish.i.i.i304 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i302, ptr %_M_finish.i.i.i304, align 8 - %add.ptr.i.i308 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 2 + store ptr %call5.i.i.i.i1.i.i313, ptr %arrayinit.element348, align 8 + %add.ptr.i.i.i318 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i313, i64 8 + %_M_end_of_storage.i.i.i319 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i318, ptr %_M_end_of_storage.i.i.i319, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i313, align 4 + %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i313.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i313, i64 4 + store i32 2, ptr %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i313.sroa_idx, align 4 + %_M_finish.i.i.i321 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i318, ptr %_M_finish.i.i.i321, align 8 + %add.ptr.i.i325 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element334, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element334, ptr noundef nonnull %ref.tmp336, ptr noundef nonnull %add.ptr.i.i308) - to label %invoke.cont367 unwind label %lpad.i.i309 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element334, ptr noundef nonnull %ref.tmp336, ptr noundef nonnull %add.ptr.i.i325) + to label %invoke.cont367 unwind label %lpad.i.i326 -lpad.i.i309: ; preds = %invoke.cont356 +lpad.i.i326: ; preds = %invoke.cont356 %24 = landingpad { ptr, i32 } cleanup - %this.val.i.i310 = load ptr, ptr %arrayinit.element334, align 8 - %tobool.not.i.i.i.i311 = icmp eq ptr %this.val.i.i310, null - br i1 %tobool.not.i.i.i.i311, label %ehcleanup766, label %if.then.i.i.i.i312 + %this.val.i.i327 = load ptr, ptr %arrayinit.element334, align 8 + %tobool.not.i.i.i.i328 = icmp eq ptr %this.val.i.i327, null + br i1 %tobool.not.i.i.i.i328, label %ehcleanup766, label %if.then.i.i.i.i329 -if.then.i.i.i.i312: ; preds = %lpad.i.i309 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i310) #31 +if.then.i.i.i.i329: ; preds = %lpad.i.i326 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i327) #31 br label %ehcleanup766 invoke.cont367: ; preds = %invoke.cont356 %arrayinit.element368 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 15 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp370, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i316 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont381 unwind label %lpad.i.i317 + %call5.i.i.i.i1.i.i333 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont381 unwind label %lpad.i.i334 -lpad.i.i317: ; preds = %invoke.cont367 +lpad.i.i334: ; preds = %invoke.cont367 %25 = landingpad { ptr, i32 } cleanup br label %ehcleanup766 invoke.cont381: ; preds = %invoke.cont367 - store ptr %call5.i.i.i.i1.i.i316, ptr %ref.tmp370, align 8 - %add.ptr.i.i.i321 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i316, i64 2 - %_M_end_of_storage.i.i.i322 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 2 - store ptr %add.ptr.i.i.i321, ptr %_M_end_of_storage.i.i.i322, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i316, align 4 - %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i316.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i316, i64 4 - store i32 4, ptr %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i316.sroa_idx, align 4 - %_M_finish.i.i.i323 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 1 - store ptr %add.ptr.i.i.i321, ptr %_M_finish.i.i.i323, align 8 + store ptr %call5.i.i.i.i1.i.i333, ptr %ref.tmp370, align 8 + %add.ptr.i.i.i338 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i333, i64 8 + %_M_end_of_storage.i.i.i339 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 2 + store ptr %add.ptr.i.i.i338, ptr %_M_end_of_storage.i.i.i339, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i333, align 4 + %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i333.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i333, i64 4 + store i32 4, ptr %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i333.sroa_idx, align 4 + %_M_finish.i.i.i341 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 1 + store ptr %add.ptr.i.i.i338, ptr %_M_finish.i.i.i341, align 8 %arrayinit.element382 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i326 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont390 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659 + %call5.i.i.i.i1.i.i344 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont390 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 invoke.cont390: ; preds = %invoke.cont381 - store ptr %call5.i.i.i.i1.i.i326, ptr %arrayinit.element382, align 8 - %add.ptr.i.i.i331 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i326, i64 2 - %_M_end_of_storage.i.i.i332 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i331, ptr %_M_end_of_storage.i.i.i332, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i326, align 4 - %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i326.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i326, i64 4 - store i32 3, ptr %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i326.sroa_idx, align 4 - %_M_finish.i.i.i333 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i331, ptr %_M_finish.i.i.i333, align 8 - %add.ptr.i.i337 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 2 + store ptr %call5.i.i.i.i1.i.i344, ptr %arrayinit.element382, align 8 + %add.ptr.i.i.i349 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i344, i64 8 + %_M_end_of_storage.i.i.i350 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i349, ptr %_M_end_of_storage.i.i.i350, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i344, align 4 + %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i344.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i344, i64 4 + store i32 3, ptr %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i344.sroa_idx, align 4 + %_M_finish.i.i.i352 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i349, ptr %_M_finish.i.i.i352, align 8 + %add.ptr.i.i356 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element368, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element368, ptr noundef nonnull %ref.tmp370, ptr noundef nonnull %add.ptr.i.i337) - to label %invoke.cont401 unwind label %lpad.i.i338 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element368, ptr noundef nonnull %ref.tmp370, ptr noundef nonnull %add.ptr.i.i356) + to label %invoke.cont401 unwind label %lpad.i.i357 -lpad.i.i338: ; preds = %invoke.cont390 +lpad.i.i357: ; preds = %invoke.cont390 %26 = landingpad { ptr, i32 } cleanup - %this.val.i.i339 = load ptr, ptr %arrayinit.element368, align 8 - %tobool.not.i.i.i.i340 = icmp eq ptr %this.val.i.i339, null - br i1 %tobool.not.i.i.i.i340, label %ehcleanup753, label %if.then.i.i.i.i341 + %this.val.i.i358 = load ptr, ptr %arrayinit.element368, align 8 + %tobool.not.i.i.i.i359 = icmp eq ptr %this.val.i.i358, null + br i1 %tobool.not.i.i.i.i359, label %ehcleanup753, label %if.then.i.i.i.i360 -if.then.i.i.i.i341: ; preds = %lpad.i.i338 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i339) #31 +if.then.i.i.i.i360: ; preds = %lpad.i.i357 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i358) #31 br label %ehcleanup753 invoke.cont401: ; preds = %invoke.cont390 %arrayinit.element402 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp404, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i345 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont415 unwind label %lpad.i.i346 + %call5.i.i.i.i1.i.i364 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont415 unwind label %lpad.i.i365 -lpad.i.i346: ; preds = %invoke.cont401 +lpad.i.i365: ; preds = %invoke.cont401 %27 = landingpad { ptr, i32 } cleanup br label %ehcleanup753 invoke.cont415: ; preds = %invoke.cont401 - store ptr %call5.i.i.i.i1.i.i345, ptr %ref.tmp404, align 8 - %add.ptr.i.i.i350 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i345, i64 2 - %_M_end_of_storage.i.i.i351 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 2 - store ptr %add.ptr.i.i.i350, ptr %_M_end_of_storage.i.i.i351, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i345, align 4 - %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i345.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i345, i64 4 - store i32 4, ptr %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i345.sroa_idx, align 4 - %_M_finish.i.i.i352 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 1 - store ptr %add.ptr.i.i.i350, ptr %_M_finish.i.i.i352, align 8 + store ptr %call5.i.i.i.i1.i.i364, ptr %ref.tmp404, align 8 + %add.ptr.i.i.i369 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i364, i64 8 + %_M_end_of_storage.i.i.i370 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 2 + store ptr %add.ptr.i.i.i369, ptr %_M_end_of_storage.i.i.i370, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i364, align 4 + %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i364.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i364, i64 4 + store i32 4, ptr %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i364.sroa_idx, align 4 + %_M_finish.i.i.i372 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 1 + store ptr %add.ptr.i.i.i369, ptr %_M_finish.i.i.i372, align 8 %arrayinit.element416 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element416, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i355 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont424 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662 + %call5.i.i.i.i1.i.i375 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont424 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 invoke.cont424: ; preds = %invoke.cont415 - store ptr %call5.i.i.i.i1.i.i355, ptr %arrayinit.element416, align 8 - %add.ptr.i.i.i360 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i355, i64 2 - %_M_end_of_storage.i.i.i361 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i360, ptr %_M_end_of_storage.i.i.i361, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i355, align 4 - %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i355.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i355, i64 4 - store i32 2, ptr %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i355.sroa_idx, align 4 - %_M_finish.i.i.i362 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i360, ptr %_M_finish.i.i.i362, align 8 - %add.ptr.i.i366 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 2 + store ptr %call5.i.i.i.i1.i.i375, ptr %arrayinit.element416, align 8 + %add.ptr.i.i.i380 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i375, i64 8 + %_M_end_of_storage.i.i.i381 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i380, ptr %_M_end_of_storage.i.i.i381, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i375, align 4 + %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i375.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i375, i64 4 + store i32 2, ptr %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i375.sroa_idx, align 4 + %_M_finish.i.i.i383 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i380, ptr %_M_finish.i.i.i383, align 8 + %add.ptr.i.i387 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element402, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element402, ptr noundef nonnull %ref.tmp404, ptr noundef nonnull %add.ptr.i.i366) - to label %invoke.cont435 unwind label %lpad.i.i367 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element402, ptr noundef nonnull %ref.tmp404, ptr noundef nonnull %add.ptr.i.i387) + to label %invoke.cont435 unwind label %lpad.i.i388 -lpad.i.i367: ; preds = %invoke.cont424 +lpad.i.i388: ; preds = %invoke.cont424 %28 = landingpad { ptr, i32 } cleanup - %this.val.i.i368 = load ptr, ptr %arrayinit.element402, align 8 - %tobool.not.i.i.i.i369 = icmp eq ptr %this.val.i.i368, null - br i1 %tobool.not.i.i.i.i369, label %ehcleanup740, label %if.then.i.i.i.i370 + %this.val.i.i389 = load ptr, ptr %arrayinit.element402, align 8 + %tobool.not.i.i.i.i390 = icmp eq ptr %this.val.i.i389, null + br i1 %tobool.not.i.i.i.i390, label %ehcleanup740, label %if.then.i.i.i.i391 -if.then.i.i.i.i370: ; preds = %lpad.i.i367 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i368) #31 +if.then.i.i.i.i391: ; preds = %lpad.i.i388 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i389) #31 br label %ehcleanup740 invoke.cont435: ; preds = %invoke.cont424 %arrayinit.element436 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 17 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp438, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i374 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont449 unwind label %lpad.i.i375 + %call5.i.i.i.i1.i.i395 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont449 unwind label %lpad.i.i396 -lpad.i.i375: ; preds = %invoke.cont435 +lpad.i.i396: ; preds = %invoke.cont435 %29 = landingpad { ptr, i32 } cleanup br label %ehcleanup740 invoke.cont449: ; preds = %invoke.cont435 - store ptr %call5.i.i.i.i1.i.i374, ptr %ref.tmp438, align 8 - %add.ptr.i.i.i379 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i374, i64 2 - %_M_end_of_storage.i.i.i380 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 2 - store ptr %add.ptr.i.i.i379, ptr %_M_end_of_storage.i.i.i380, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i374, align 4 - %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i374.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i374, i64 4 - store i32 3, ptr %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i374.sroa_idx, align 4 - %_M_finish.i.i.i381 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 1 - store ptr %add.ptr.i.i.i379, ptr %_M_finish.i.i.i381, align 8 + store ptr %call5.i.i.i.i1.i.i395, ptr %ref.tmp438, align 8 + %add.ptr.i.i.i400 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i395, i64 8 + %_M_end_of_storage.i.i.i401 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 2 + store ptr %add.ptr.i.i.i400, ptr %_M_end_of_storage.i.i.i401, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i395, align 4 + %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i395.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i395, i64 4 + store i32 3, ptr %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i395.sroa_idx, align 4 + %_M_finish.i.i.i403 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 1 + store ptr %add.ptr.i.i.i400, ptr %_M_finish.i.i.i403, align 8 %arrayinit.element450 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element450, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i384 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont458 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 + %call5.i.i.i.i1.i.i406 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont458 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 invoke.cont458: ; preds = %invoke.cont449 - store ptr %call5.i.i.i.i1.i.i384, ptr %arrayinit.element450, align 8 - %add.ptr.i.i.i389 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i384, i64 2 - %_M_end_of_storage.i.i.i390 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i389, ptr %_M_end_of_storage.i.i.i390, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i384, align 4 - %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i384.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i384, i64 4 - store i32 4, ptr %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i384.sroa_idx, align 4 - %_M_finish.i.i.i391 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i389, ptr %_M_finish.i.i.i391, align 8 - %add.ptr.i.i395 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 2 + store ptr %call5.i.i.i.i1.i.i406, ptr %arrayinit.element450, align 8 + %add.ptr.i.i.i411 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i406, i64 8 + %_M_end_of_storage.i.i.i412 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i411, ptr %_M_end_of_storage.i.i.i412, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i406, align 4 + %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i406.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i406, i64 4 + store i32 4, ptr %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i406.sroa_idx, align 4 + %_M_finish.i.i.i414 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i411, ptr %_M_finish.i.i.i414, align 8 + %add.ptr.i.i418 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element436, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element436, ptr noundef nonnull %ref.tmp438, ptr noundef nonnull %add.ptr.i.i395) - to label %invoke.cont469 unwind label %lpad.i.i396 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element436, ptr noundef nonnull %ref.tmp438, ptr noundef nonnull %add.ptr.i.i418) + to label %invoke.cont469 unwind label %lpad.i.i419 -lpad.i.i396: ; preds = %invoke.cont458 +lpad.i.i419: ; preds = %invoke.cont458 %30 = landingpad { ptr, i32 } cleanup - %this.val.i.i397 = load ptr, ptr %arrayinit.element436, align 8 - %tobool.not.i.i.i.i398 = icmp eq ptr %this.val.i.i397, null - br i1 %tobool.not.i.i.i.i398, label %ehcleanup727, label %if.then.i.i.i.i399 + %this.val.i.i420 = load ptr, ptr %arrayinit.element436, align 8 + %tobool.not.i.i.i.i421 = icmp eq ptr %this.val.i.i420, null + br i1 %tobool.not.i.i.i.i421, label %ehcleanup727, label %if.then.i.i.i.i422 -if.then.i.i.i.i399: ; preds = %lpad.i.i396 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i397) #31 +if.then.i.i.i.i422: ; preds = %lpad.i.i419 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i420) #31 br label %ehcleanup727 invoke.cont469: ; preds = %invoke.cont458 %arrayinit.element470 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp472, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i403 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont483 unwind label %lpad.i.i404 + %call5.i.i.i.i1.i.i426 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont483 unwind label %lpad.i.i427 -lpad.i.i404: ; preds = %invoke.cont469 +lpad.i.i427: ; preds = %invoke.cont469 %31 = landingpad { ptr, i32 } cleanup br label %ehcleanup727 invoke.cont483: ; preds = %invoke.cont469 - store ptr %call5.i.i.i.i1.i.i403, ptr %ref.tmp472, align 8 - %add.ptr.i.i.i408 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i403, i64 2 - %_M_end_of_storage.i.i.i409 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 - store ptr %add.ptr.i.i.i408, ptr %_M_end_of_storage.i.i.i409, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i403, align 4 - %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i403.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i403, i64 4 - store i32 3, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i403.sroa_idx, align 4 - %_M_finish.i.i.i410 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 - store ptr %add.ptr.i.i.i408, ptr %_M_finish.i.i.i410, align 8 + store ptr %call5.i.i.i.i1.i.i426, ptr %ref.tmp472, align 8 + %add.ptr.i.i.i431 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i426, i64 8 + %_M_end_of_storage.i.i.i432 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 + store ptr %add.ptr.i.i.i431, ptr %_M_end_of_storage.i.i.i432, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i426, align 4 + %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i426.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i426, i64 4 + store i32 3, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i426.sroa_idx, align 4 + %_M_finish.i.i.i434 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 + store ptr %add.ptr.i.i.i431, ptr %_M_finish.i.i.i434, align 8 %arrayinit.element484 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element484, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i413 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont492 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 + %call5.i.i.i.i1.i.i437 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont492 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 invoke.cont492: ; preds = %invoke.cont483 - store ptr %call5.i.i.i.i1.i.i413, ptr %arrayinit.element484, align 8 - %add.ptr.i.i.i418 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i413, i64 2 - %_M_end_of_storage.i.i.i419 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i418, ptr %_M_end_of_storage.i.i.i419, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i413, align 4 - %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i413.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i413, i64 4 - store i32 1, ptr %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i413.sroa_idx, align 4 - %_M_finish.i.i.i420 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i418, ptr %_M_finish.i.i.i420, align 8 - %add.ptr.i.i424 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 2 + store ptr %call5.i.i.i.i1.i.i437, ptr %arrayinit.element484, align 8 + %add.ptr.i.i.i442 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i437, i64 8 + %_M_end_of_storage.i.i.i443 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i442, ptr %_M_end_of_storage.i.i.i443, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i437, align 4 + %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i437.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i437, i64 4 + store i32 1, ptr %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i437.sroa_idx, align 4 + %_M_finish.i.i.i445 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i442, ptr %_M_finish.i.i.i445, align 8 + %add.ptr.i.i449 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, ptr noundef nonnull %ref.tmp472, ptr noundef nonnull %add.ptr.i.i424) - to label %invoke.cont503 unwind label %lpad.i.i425 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, ptr noundef nonnull %ref.tmp472, ptr noundef nonnull %add.ptr.i.i449) + to label %invoke.cont503 unwind label %lpad.i.i450 -lpad.i.i425: ; preds = %invoke.cont492 +lpad.i.i450: ; preds = %invoke.cont492 %32 = landingpad { ptr, i32 } cleanup - %this.val.i.i426 = load ptr, ptr %arrayinit.element470, align 8 - %tobool.not.i.i.i.i427 = icmp eq ptr %this.val.i.i426, null - br i1 %tobool.not.i.i.i.i427, label %ehcleanup714, label %if.then.i.i.i.i428 + %this.val.i.i451 = load ptr, ptr %arrayinit.element470, align 8 + %tobool.not.i.i.i.i452 = icmp eq ptr %this.val.i.i451, null + br i1 %tobool.not.i.i.i.i452, label %ehcleanup714, label %if.then.i.i.i.i453 -if.then.i.i.i.i428: ; preds = %lpad.i.i425 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i426) #31 +if.then.i.i.i.i453: ; preds = %lpad.i.i450 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i451) #31 br label %ehcleanup714 invoke.cont503: ; preds = %invoke.cont492 %arrayinit.element504 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 19 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp506, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i432 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont517 unwind label %lpad.i.i433 + %call5.i.i.i.i1.i.i457 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont517 unwind label %lpad.i.i458 -lpad.i.i433: ; preds = %invoke.cont503 +lpad.i.i458: ; preds = %invoke.cont503 %33 = landingpad { ptr, i32 } cleanup br label %ehcleanup714 invoke.cont517: ; preds = %invoke.cont503 - store ptr %call5.i.i.i.i1.i.i432, ptr %ref.tmp506, align 8 - %add.ptr.i.i.i437 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i432, i64 2 - %_M_end_of_storage.i.i.i438 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 2 - store ptr %add.ptr.i.i.i437, ptr %_M_end_of_storage.i.i.i438, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i432, align 4 - %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i432.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i432, i64 4 - store i32 4, ptr %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i432.sroa_idx, align 4 - %_M_finish.i.i.i439 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 1 - store ptr %add.ptr.i.i.i437, ptr %_M_finish.i.i.i439, align 8 + store ptr %call5.i.i.i.i1.i.i457, ptr %ref.tmp506, align 8 + %add.ptr.i.i.i462 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i457, i64 8 + %_M_end_of_storage.i.i.i463 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 2 + store ptr %add.ptr.i.i.i462, ptr %_M_end_of_storage.i.i.i463, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i457, align 4 + %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i457.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i457, i64 4 + store i32 4, ptr %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i457.sroa_idx, align 4 + %_M_finish.i.i.i465 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 1 + store ptr %add.ptr.i.i.i462, ptr %_M_finish.i.i.i465, align 8 %arrayinit.element518 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element518, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i442 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont526 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 + %call5.i.i.i.i1.i.i468 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont526 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 invoke.cont526: ; preds = %invoke.cont517 - store ptr %call5.i.i.i.i1.i.i442, ptr %arrayinit.element518, align 8 - %add.ptr.i.i.i447 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i442, i64 2 - %_M_end_of_storage.i.i.i448 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i447, ptr %_M_end_of_storage.i.i.i448, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i442, align 4 - %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i442.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i442, i64 4 - store i32 3, ptr %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i442.sroa_idx, align 4 - %_M_finish.i.i.i449 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i447, ptr %_M_finish.i.i.i449, align 8 - %add.ptr.i.i453 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 2 + store ptr %call5.i.i.i.i1.i.i468, ptr %arrayinit.element518, align 8 + %add.ptr.i.i.i473 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i468, i64 8 + %_M_end_of_storage.i.i.i474 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i473, ptr %_M_end_of_storage.i.i.i474, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i468, align 4 + %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i468.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i468, i64 4 + store i32 3, ptr %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i468.sroa_idx, align 4 + %_M_finish.i.i.i476 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i473, ptr %_M_finish.i.i.i476, align 8 + %add.ptr.i.i480 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element504, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element504, ptr noundef nonnull %ref.tmp506, ptr noundef nonnull %add.ptr.i.i453) - to label %invoke.cont537 unwind label %lpad.i.i454 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element504, ptr noundef nonnull %ref.tmp506, ptr noundef nonnull %add.ptr.i.i480) + to label %invoke.cont537 unwind label %lpad.i.i481 -lpad.i.i454: ; preds = %invoke.cont526 +lpad.i.i481: ; preds = %invoke.cont526 %34 = landingpad { ptr, i32 } cleanup - %this.val.i.i455 = load ptr, ptr %arrayinit.element504, align 8 - %tobool.not.i.i.i.i456 = icmp eq ptr %this.val.i.i455, null - br i1 %tobool.not.i.i.i.i456, label %ehcleanup701, label %if.then.i.i.i.i457 + %this.val.i.i482 = load ptr, ptr %arrayinit.element504, align 8 + %tobool.not.i.i.i.i483 = icmp eq ptr %this.val.i.i482, null + br i1 %tobool.not.i.i.i.i483, label %ehcleanup701, label %if.then.i.i.i.i484 -if.then.i.i.i.i457: ; preds = %lpad.i.i454 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i455) #31 +if.then.i.i.i.i484: ; preds = %lpad.i.i481 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i482) #31 br label %ehcleanup701 invoke.cont537: ; preds = %invoke.cont526 %arrayinit.element538 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp540, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i461 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont551 unwind label %lpad.i.i462 + %call5.i.i.i.i1.i.i488 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont551 unwind label %lpad.i.i489 -lpad.i.i462: ; preds = %invoke.cont537 +lpad.i.i489: ; preds = %invoke.cont537 %35 = landingpad { ptr, i32 } cleanup br label %ehcleanup701 invoke.cont551: ; preds = %invoke.cont537 - store ptr %call5.i.i.i.i1.i.i461, ptr %ref.tmp540, align 8 - %add.ptr.i.i.i466 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i461, i64 2 - %_M_end_of_storage.i.i.i467 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 2 - store ptr %add.ptr.i.i.i466, ptr %_M_end_of_storage.i.i.i467, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i461, align 4 - %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i461.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i461, i64 4 - store i32 4, ptr %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i461.sroa_idx, align 4 - %_M_finish.i.i.i468 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 1 - store ptr %add.ptr.i.i.i466, ptr %_M_finish.i.i.i468, align 8 + store ptr %call5.i.i.i.i1.i.i488, ptr %ref.tmp540, align 8 + %add.ptr.i.i.i493 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i488, i64 8 + %_M_end_of_storage.i.i.i494 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 2 + store ptr %add.ptr.i.i.i493, ptr %_M_end_of_storage.i.i.i494, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i488, align 4 + %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i488.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i488, i64 4 + store i32 4, ptr %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i488.sroa_idx, align 4 + %_M_finish.i.i.i496 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 1 + store ptr %add.ptr.i.i.i493, ptr %_M_finish.i.i.i496, align 8 %arrayinit.element552 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element552, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i471 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont560 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 + %call5.i.i.i.i1.i.i499 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont560 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 invoke.cont560: ; preds = %invoke.cont551 - store ptr %call5.i.i.i.i1.i.i471, ptr %arrayinit.element552, align 8 - %add.ptr.i.i.i476 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i471, i64 2 - %_M_end_of_storage.i.i.i477 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i476, ptr %_M_end_of_storage.i.i.i477, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i471, align 4 - %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i471.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i471, i64 4 - store i32 1, ptr %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i471.sroa_idx, align 4 - %_M_finish.i.i.i478 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i476, ptr %_M_finish.i.i.i478, align 8 - %add.ptr.i.i482 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 2 + store ptr %call5.i.i.i.i1.i.i499, ptr %arrayinit.element552, align 8 + %add.ptr.i.i.i504 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i499, i64 8 + %_M_end_of_storage.i.i.i505 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i504, ptr %_M_end_of_storage.i.i.i505, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i499, align 4 + %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i499.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i499, i64 4 + store i32 1, ptr %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i499.sroa_idx, align 4 + %_M_finish.i.i.i507 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i504, ptr %_M_finish.i.i.i507, align 8 + %add.ptr.i.i511 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element538, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element538, ptr noundef nonnull %ref.tmp540, ptr noundef nonnull %add.ptr.i.i482) - to label %invoke.cont571 unwind label %lpad.i.i483 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element538, ptr noundef nonnull %ref.tmp540, ptr noundef nonnull %add.ptr.i.i511) + to label %invoke.cont571 unwind label %lpad.i.i512 -lpad.i.i483: ; preds = %invoke.cont560 +lpad.i.i512: ; preds = %invoke.cont560 %36 = landingpad { ptr, i32 } cleanup - %this.val.i.i484 = load ptr, ptr %arrayinit.element538, align 8 - %tobool.not.i.i.i.i485 = icmp eq ptr %this.val.i.i484, null - br i1 %tobool.not.i.i.i.i485, label %ehcleanup688, label %if.then.i.i.i.i486 + %this.val.i.i513 = load ptr, ptr %arrayinit.element538, align 8 + %tobool.not.i.i.i.i514 = icmp eq ptr %this.val.i.i513, null + br i1 %tobool.not.i.i.i.i514, label %ehcleanup688, label %if.then.i.i.i.i515 -if.then.i.i.i.i486: ; preds = %lpad.i.i483 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i484) #31 +if.then.i.i.i.i515: ; preds = %lpad.i.i512 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i513) #31 br label %ehcleanup688 invoke.cont571: ; preds = %invoke.cont560 %arrayinit.element572 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 21 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp574, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i490 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont585 unwind label %lpad.i.i491 + %call5.i.i.i.i1.i.i519 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont585 unwind label %lpad.i.i520 -lpad.i.i491: ; preds = %invoke.cont571 +lpad.i.i520: ; preds = %invoke.cont571 %37 = landingpad { ptr, i32 } cleanup br label %ehcleanup688 invoke.cont585: ; preds = %invoke.cont571 - store ptr %call5.i.i.i.i1.i.i490, ptr %ref.tmp574, align 8 - %add.ptr.i.i.i495 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i490, i64 2 - %_M_end_of_storage.i.i.i496 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 2 - store ptr %add.ptr.i.i.i495, ptr %_M_end_of_storage.i.i.i496, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i490, align 4 - %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i490.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i490, i64 4 - store i32 4, ptr %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i490.sroa_idx, align 4 - %_M_finish.i.i.i497 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 1 - store ptr %add.ptr.i.i.i495, ptr %_M_finish.i.i.i497, align 8 + store ptr %call5.i.i.i.i1.i.i519, ptr %ref.tmp574, align 8 + %add.ptr.i.i.i524 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i519, i64 8 + %_M_end_of_storage.i.i.i525 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 2 + store ptr %add.ptr.i.i.i524, ptr %_M_end_of_storage.i.i.i525, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i519, align 4 + %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i519.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i519, i64 4 + store i32 4, ptr %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i519.sroa_idx, align 4 + %_M_finish.i.i.i527 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 1 + store ptr %add.ptr.i.i.i524, ptr %_M_finish.i.i.i527, align 8 %arrayinit.element586 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element586, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i500 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont594 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 + %call5.i.i.i.i1.i.i530 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont594 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 invoke.cont594: ; preds = %invoke.cont585 - store ptr %call5.i.i.i.i1.i.i500, ptr %arrayinit.element586, align 8 - %add.ptr.i.i.i505 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i500, i64 2 - %_M_end_of_storage.i.i.i506 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i505, ptr %_M_end_of_storage.i.i.i506, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i500, align 4 - %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i500.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i500, i64 4 - store i32 2, ptr %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i500.sroa_idx, align 4 - %_M_finish.i.i.i507 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i505, ptr %_M_finish.i.i.i507, align 8 - %add.ptr.i.i511 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 2 + store ptr %call5.i.i.i.i1.i.i530, ptr %arrayinit.element586, align 8 + %add.ptr.i.i.i535 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i530, i64 8 + %_M_end_of_storage.i.i.i536 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i535, ptr %_M_end_of_storage.i.i.i536, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i530, align 4 + %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i530.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i530, i64 4 + store i32 2, ptr %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i530.sroa_idx, align 4 + %_M_finish.i.i.i538 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i535, ptr %_M_finish.i.i.i538, align 8 + %add.ptr.i.i542 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element572, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element572, ptr noundef nonnull %ref.tmp574, ptr noundef nonnull %add.ptr.i.i511) - to label %invoke.cont605 unwind label %lpad.i.i512 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element572, ptr noundef nonnull %ref.tmp574, ptr noundef nonnull %add.ptr.i.i542) + to label %invoke.cont605 unwind label %lpad.i.i543 -lpad.i.i512: ; preds = %invoke.cont594 +lpad.i.i543: ; preds = %invoke.cont594 %38 = landingpad { ptr, i32 } cleanup - %this.val.i.i513 = load ptr, ptr %arrayinit.element572, align 8 - %tobool.not.i.i.i.i514 = icmp eq ptr %this.val.i.i513, null - br i1 %tobool.not.i.i.i.i514, label %ehcleanup675, label %if.then.i.i.i.i515 + %this.val.i.i544 = load ptr, ptr %arrayinit.element572, align 8 + %tobool.not.i.i.i.i545 = icmp eq ptr %this.val.i.i544, null + br i1 %tobool.not.i.i.i.i545, label %ehcleanup675, label %if.then.i.i.i.i546 -if.then.i.i.i.i515: ; preds = %lpad.i.i512 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i513) #31 +if.then.i.i.i.i546: ; preds = %lpad.i.i543 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i544) #31 br label %ehcleanup675 invoke.cont605: ; preds = %invoke.cont594 %arrayinit.element606 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 22 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp608, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i519 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont619 unwind label %lpad.i.i520 + %call5.i.i.i.i1.i.i550 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont619 unwind label %lpad.i.i551 -lpad.i.i520: ; preds = %invoke.cont605 +lpad.i.i551: ; preds = %invoke.cont605 %39 = landingpad { ptr, i32 } cleanup br label %ehcleanup675 invoke.cont619: ; preds = %invoke.cont605 - store ptr %call5.i.i.i.i1.i.i519, ptr %ref.tmp608, align 8 - %add.ptr.i.i.i524 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i519, i64 2 - %_M_end_of_storage.i.i.i525 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 2 - store ptr %add.ptr.i.i.i524, ptr %_M_end_of_storage.i.i.i525, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i519, align 4 - %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i519.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i519, i64 4 - store i32 4, ptr %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i519.sroa_idx, align 4 - %_M_finish.i.i.i526 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 1 - store ptr %add.ptr.i.i.i524, ptr %_M_finish.i.i.i526, align 8 + store ptr %call5.i.i.i.i1.i.i550, ptr %ref.tmp608, align 8 + %add.ptr.i.i.i555 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i550, i64 8 + %_M_end_of_storage.i.i.i556 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 2 + store ptr %add.ptr.i.i.i555, ptr %_M_end_of_storage.i.i.i556, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i550, align 4 + %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i550.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i550, i64 4 + store i32 4, ptr %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i550.sroa_idx, align 4 + %_M_finish.i.i.i558 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 1 + store ptr %add.ptr.i.i.i555, ptr %_M_finish.i.i.i558, align 8 %arrayinit.element620 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element620, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i529 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont628 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 + %call5.i.i.i.i1.i.i561 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont628 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 invoke.cont628: ; preds = %invoke.cont619 - store ptr %call5.i.i.i.i1.i.i529, ptr %arrayinit.element620, align 8 - %add.ptr.i.i.i534 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i529, i64 2 - %_M_end_of_storage.i.i.i535 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i534, ptr %_M_end_of_storage.i.i.i535, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i529, align 4 - %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i529.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i529, i64 4 - store i32 1, ptr %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i529.sroa_idx, align 4 - %_M_finish.i.i.i536 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i534, ptr %_M_finish.i.i.i536, align 8 - %add.ptr.i.i540 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 2 + store ptr %call5.i.i.i.i1.i.i561, ptr %arrayinit.element620, align 8 + %add.ptr.i.i.i566 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i561, i64 8 + %_M_end_of_storage.i.i.i567 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i566, ptr %_M_end_of_storage.i.i.i567, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i561, align 4 + %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i561.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i561, i64 4 + store i32 1, ptr %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i561.sroa_idx, align 4 + %_M_finish.i.i.i569 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i566, ptr %_M_finish.i.i.i569, align 8 + %add.ptr.i.i573 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, ptr noundef nonnull %ref.tmp608, ptr noundef nonnull %add.ptr.i.i540) - to label %invoke.cont639 unwind label %lpad.i.i541 + invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EE19_M_range_initializeIPKS2_EEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, ptr noundef nonnull %ref.tmp608, ptr noundef nonnull %add.ptr.i.i573) + to label %invoke.cont639 unwind label %lpad.i.i574 -lpad.i.i541: ; preds = %invoke.cont628 +lpad.i.i574: ; preds = %invoke.cont628 %40 = landingpad { ptr, i32 } cleanup - %this.val.i.i542 = load ptr, ptr %arrayinit.element606, align 8 - %tobool.not.i.i.i.i543 = icmp eq ptr %this.val.i.i542, null - br i1 %tobool.not.i.i.i.i543, label %ehcleanup, label %if.then.i.i.i.i544 + %this.val.i.i575 = load ptr, ptr %arrayinit.element606, align 8 + %tobool.not.i.i.i.i576 = icmp eq ptr %this.val.i.i575, null + br i1 %tobool.not.i.i.i.i576, label %ehcleanup, label %if.then.i.i.i.i577 -if.then.i.i.i.i544: ; preds = %lpad.i.i541 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i542) #31 +if.then.i.i.i.i577: ; preds = %lpad.i.i574 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i575) #31 br label %ehcleanup invoke.cont639: ; preds = %invoke.cont628 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %call5.i.i.i.i5.i549 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + %call5.i.i.i.i5.i582 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 to label %call5.i.i.i.i5.i.noexc unwind label %lpad644 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont639 - store ptr %call5.i.i.i.i5.i549, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %call5.i.i.i.i5.i549, i64 23 + store ptr %call5.i.i.i.i5.i582, ptr %exemplars, align 8 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i582, i64 552 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence<(anonymous namespace)::UnorderedSequence>, std::allocator<(anonymous namespace)::UnorderedSequence<(anonymous namespace)::UnorderedSequence>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i, %call5.i.i.i.i5.i.noexc - %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i549, %call5.i.i.i.i5.i.noexc ] + %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i582, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.idx.i = phi i64 [ %__first.addr.09.i.i.i.i.i.add.i, %for.inc.i.i.i.i.i.i ], [ 0, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.ptr.i = getelementptr inbounds i8, ptr %ref.tmp, i64 %__first.addr.09.i.i.i.i.i.idx.i invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %__cur.010.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.09.i.i.i.i.i.ptr.i) @@ -178447,7 +178449,7 @@ lpad.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. catch ptr null %42 = extractvalue { ptr, i32 } %41, 0 %43 = call ptr @__cxa_begin_catch(ptr %42) #28 - call fastcc void @_ZSt8_DestroyIPN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEEEvT_S5_(ptr noundef nonnull %call5.i.i.i.i5.i549, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) + call fastcc void @_ZSt8_DestroyIPN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEEEvT_S5_(ptr noundef nonnull %call5.i.i.i.i5.i582, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) invoke void @__cxa_rethrow() #30 to label %unreachable.i.i.i.i.i.i unwind label %lpad2.i.i.i.i.i.i @@ -178455,7 +178457,7 @@ lpad2.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i %44 = landingpad { ptr, i32 } cleanup invoke void @__cxa_end_catch() - to label %lpad.body.i548 unwind label %terminate.lpad.i.i.i.i.i.i + to label %lpad.body.i581 unwind label %terminate.lpad.i.i.i.i.i.i terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i %45 = landingpad { ptr, i32 } @@ -178467,12 +178469,12 @@ terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i unreachable.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i unreachable -lpad.body.i548: ; preds = %lpad2.i.i.i.i.i.i +lpad.body.i581: ; preds = %lpad2.i.i.i.i.i.i %this.val.pre.i = load ptr, ptr %exemplars, align 8 %tobool.not.i.i.i = icmp eq ptr %this.val.pre.i, null br i1 %tobool.not.i.i.i, label %lpad644.body, label %if.then.i.i6.i -if.then.i.i6.i: ; preds = %lpad.body.i548 +if.then.i.i6.i: ; preds = %lpad.body.i581 call void @_ZdlPv(ptr noundef nonnull %this.val.pre.i) #31 br label %lpad644.body @@ -178486,8 +178488,8 @@ arraydestroy.body646: ; preds = %_ZN12_GLOBAL__N_117 %arraydestroy.elementPast647 = phi ptr [ %47, %invoke.cont645 ], [ %arraydestroy.element648, %_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit ] %arraydestroy.element648 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %arraydestroy.elementPast647, i64 -1 %48 = load ptr, ptr %arraydestroy.element648, align 8 - %_M_finish.i.i551 = getelementptr %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %arraydestroy.elementPast647, i64 -1, i32 0, i32 0, i32 0, i32 0, i32 1 - %49 = load ptr, ptr %_M_finish.i.i551, align 8 + %_M_finish.i.i584 = getelementptr %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %arraydestroy.elementPast647, i64 -1, i32 0, i32 0, i32 0, i32 0, i32 1 + %49 = load ptr, ptr %_M_finish.i.i584, align 8 %cmp.not3.i.i.i.i.i = icmp eq ptr %48, %49 br i1 %cmp.not3.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i @@ -178511,351 +178513,351 @@ invoke.contthread-pre-split.i.i: ; preds = %_ZSt8_DestroyIN12_G br label %invoke.cont.i.i invoke.cont.i.i: ; preds = %invoke.contthread-pre-split.i.i, %arraydestroy.body646 - %this.val.i.i552 = phi ptr [ %this.val.pr.i.i, %invoke.contthread-pre-split.i.i ], [ %48, %arraydestroy.body646 ] - %tobool.not.i.i.i.i553 = icmp eq ptr %this.val.i.i552, null - br i1 %tobool.not.i.i.i.i553, label %_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit, label %if.then.i.i.i.i554 + %this.val.i.i585 = phi ptr [ %this.val.pr.i.i, %invoke.contthread-pre-split.i.i ], [ %48, %arraydestroy.body646 ] + %tobool.not.i.i.i.i586 = icmp eq ptr %this.val.i.i585, null + br i1 %tobool.not.i.i.i.i586, label %_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit, label %if.then.i.i.i.i587 -if.then.i.i.i.i554: ; preds = %invoke.cont.i.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i552) #31 +if.then.i.i.i.i587: ; preds = %invoke.cont.i.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i585) #31 br label %_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit -_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i554 +_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i587 %arraydestroy.done649 = icmp eq ptr %arraydestroy.element648, %ref.tmp br i1 %arraydestroy.done649, label %arraydestroy.body658, label %arraydestroy.body646 arraydestroy.body658: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit - %arraydestroy.elementPast659 = phi ptr [ %arraydestroy.element660, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ], [ %add.ptr.i.i540, %_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit ] + %arraydestroy.elementPast659 = phi ptr [ %arraydestroy.element660, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ], [ %add.ptr.i.i573, %_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev.exit ] %arraydestroy.element660 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast659, i64 -1 %arraydestroy.element660.val = load ptr, ptr %arraydestroy.element660, align 8 - %tobool.not.i.i.i.i555 = icmp eq ptr %arraydestroy.element660.val, null - br i1 %tobool.not.i.i.i.i555, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, label %if.then.i.i.i.i556 + %tobool.not.i.i.i.i588 = icmp eq ptr %arraydestroy.element660.val, null + br i1 %tobool.not.i.i.i.i588, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, label %if.then.i.i.i.i589 -if.then.i.i.i.i556: ; preds = %arraydestroy.body658 +if.then.i.i.i.i589: ; preds = %arraydestroy.body658 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element660.val) #31 br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit: ; preds = %arraydestroy.body658, %if.then.i.i.i.i556 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit: ; preds = %arraydestroy.body658, %if.then.i.i.i.i589 %arraydestroy.done661 = icmp eq ptr %arraydestroy.element660, %ref.tmp608 br i1 %arraydestroy.done661, label %arraydestroy.body670, label %arraydestroy.body658 -arraydestroy.body670: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 - %arraydestroy.elementPast671 = phi ptr [ %arraydestroy.element672, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ], [ %add.ptr.i.i511, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ] +arraydestroy.body670: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 + %arraydestroy.elementPast671 = phi ptr [ %arraydestroy.element672, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ], [ %add.ptr.i.i542, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ] %arraydestroy.element672 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast671, i64 -1 %arraydestroy.element672.val = load ptr, ptr %arraydestroy.element672, align 8 - %tobool.not.i.i.i.i557 = icmp eq ptr %arraydestroy.element672.val, null - br i1 %tobool.not.i.i.i.i557, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, label %if.then.i.i.i.i558 + %tobool.not.i.i.i.i590 = icmp eq ptr %arraydestroy.element672.val, null + br i1 %tobool.not.i.i.i.i590, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, label %if.then.i.i.i.i591 -if.then.i.i.i.i558: ; preds = %arraydestroy.body670 +if.then.i.i.i.i591: ; preds = %arraydestroy.body670 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element672.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559: ; preds = %arraydestroy.body670, %if.then.i.i.i.i558 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592: ; preds = %arraydestroy.body670, %if.then.i.i.i.i591 %arraydestroy.done673 = icmp eq ptr %arraydestroy.element672, %ref.tmp574 br i1 %arraydestroy.done673, label %arraydestroy.body683, label %arraydestroy.body670 -arraydestroy.body683: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 - %arraydestroy.elementPast684 = phi ptr [ %arraydestroy.element685, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ], [ %add.ptr.i.i482, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ] +arraydestroy.body683: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 + %arraydestroy.elementPast684 = phi ptr [ %arraydestroy.element685, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ], [ %add.ptr.i.i511, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ] %arraydestroy.element685 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast684, i64 -1 %arraydestroy.element685.val = load ptr, ptr %arraydestroy.element685, align 8 - %tobool.not.i.i.i.i560 = icmp eq ptr %arraydestroy.element685.val, null - br i1 %tobool.not.i.i.i.i560, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, label %if.then.i.i.i.i561 + %tobool.not.i.i.i.i593 = icmp eq ptr %arraydestroy.element685.val, null + br i1 %tobool.not.i.i.i.i593, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, label %if.then.i.i.i.i594 -if.then.i.i.i.i561: ; preds = %arraydestroy.body683 +if.then.i.i.i.i594: ; preds = %arraydestroy.body683 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element685.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562: ; preds = %arraydestroy.body683, %if.then.i.i.i.i561 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595: ; preds = %arraydestroy.body683, %if.then.i.i.i.i594 %arraydestroy.done686 = icmp eq ptr %arraydestroy.element685, %ref.tmp540 br i1 %arraydestroy.done686, label %arraydestroy.body696, label %arraydestroy.body683 -arraydestroy.body696: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 - %arraydestroy.elementPast697 = phi ptr [ %arraydestroy.element698, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 ], [ %add.ptr.i.i453, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] +arraydestroy.body696: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 + %arraydestroy.elementPast697 = phi ptr [ %arraydestroy.element698, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 ], [ %add.ptr.i.i480, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ] %arraydestroy.element698 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast697, i64 -1 %arraydestroy.element698.val = load ptr, ptr %arraydestroy.element698, align 8 - %tobool.not.i.i.i.i563 = icmp eq ptr %arraydestroy.element698.val, null - br i1 %tobool.not.i.i.i.i563, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565, label %if.then.i.i.i.i564 + %tobool.not.i.i.i.i596 = icmp eq ptr %arraydestroy.element698.val, null + br i1 %tobool.not.i.i.i.i596, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598, label %if.then.i.i.i.i597 -if.then.i.i.i.i564: ; preds = %arraydestroy.body696 +if.then.i.i.i.i597: ; preds = %arraydestroy.body696 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element698.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565: ; preds = %arraydestroy.body696, %if.then.i.i.i.i564 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598: ; preds = %arraydestroy.body696, %if.then.i.i.i.i597 %arraydestroy.done699 = icmp eq ptr %arraydestroy.element698, %ref.tmp506 br i1 %arraydestroy.done699, label %arraydestroy.body709, label %arraydestroy.body696 -arraydestroy.body709: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 - %arraydestroy.elementPast710 = phi ptr [ %arraydestroy.element711, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ], [ %add.ptr.i.i424, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 ] +arraydestroy.body709: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 + %arraydestroy.elementPast710 = phi ptr [ %arraydestroy.element711, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ], [ %add.ptr.i.i449, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 ] %arraydestroy.element711 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast710, i64 -1 %arraydestroy.element711.val = load ptr, ptr %arraydestroy.element711, align 8 - %tobool.not.i.i.i.i566 = icmp eq ptr %arraydestroy.element711.val, null - br i1 %tobool.not.i.i.i.i566, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, label %if.then.i.i.i.i567 + %tobool.not.i.i.i.i599 = icmp eq ptr %arraydestroy.element711.val, null + br i1 %tobool.not.i.i.i.i599, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, label %if.then.i.i.i.i600 -if.then.i.i.i.i567: ; preds = %arraydestroy.body709 +if.then.i.i.i.i600: ; preds = %arraydestroy.body709 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element711.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568: ; preds = %arraydestroy.body709, %if.then.i.i.i.i567 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601: ; preds = %arraydestroy.body709, %if.then.i.i.i.i600 %arraydestroy.done712 = icmp eq ptr %arraydestroy.element711, %ref.tmp472 br i1 %arraydestroy.done712, label %arraydestroy.body722, label %arraydestroy.body709 -arraydestroy.body722: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 - %arraydestroy.elementPast723 = phi ptr [ %arraydestroy.element724, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ], [ %add.ptr.i.i395, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] +arraydestroy.body722: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 + %arraydestroy.elementPast723 = phi ptr [ %arraydestroy.element724, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ], [ %add.ptr.i.i418, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ] %arraydestroy.element724 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast723, i64 -1 %arraydestroy.element724.val = load ptr, ptr %arraydestroy.element724, align 8 - %tobool.not.i.i.i.i569 = icmp eq ptr %arraydestroy.element724.val, null - br i1 %tobool.not.i.i.i.i569, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, label %if.then.i.i.i.i570 + %tobool.not.i.i.i.i602 = icmp eq ptr %arraydestroy.element724.val, null + br i1 %tobool.not.i.i.i.i602, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, label %if.then.i.i.i.i603 -if.then.i.i.i.i570: ; preds = %arraydestroy.body722 +if.then.i.i.i.i603: ; preds = %arraydestroy.body722 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element724.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571: ; preds = %arraydestroy.body722, %if.then.i.i.i.i570 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604: ; preds = %arraydestroy.body722, %if.then.i.i.i.i603 %arraydestroy.done725 = icmp eq ptr %arraydestroy.element724, %ref.tmp438 br i1 %arraydestroy.done725, label %arraydestroy.body735, label %arraydestroy.body722 -arraydestroy.body735: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 - %arraydestroy.elementPast736 = phi ptr [ %arraydestroy.element737, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ], [ %add.ptr.i.i366, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] +arraydestroy.body735: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 + %arraydestroy.elementPast736 = phi ptr [ %arraydestroy.element737, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 ], [ %add.ptr.i.i387, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ] %arraydestroy.element737 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast736, i64 -1 %arraydestroy.element737.val = load ptr, ptr %arraydestroy.element737, align 8 - %tobool.not.i.i.i.i572 = icmp eq ptr %arraydestroy.element737.val, null - br i1 %tobool.not.i.i.i.i572, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, label %if.then.i.i.i.i573 + %tobool.not.i.i.i.i605 = icmp eq ptr %arraydestroy.element737.val, null + br i1 %tobool.not.i.i.i.i605, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607, label %if.then.i.i.i.i606 -if.then.i.i.i.i573: ; preds = %arraydestroy.body735 +if.then.i.i.i.i606: ; preds = %arraydestroy.body735 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element737.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574: ; preds = %arraydestroy.body735, %if.then.i.i.i.i573 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607: ; preds = %arraydestroy.body735, %if.then.i.i.i.i606 %arraydestroy.done738 = icmp eq ptr %arraydestroy.element737, %ref.tmp404 br i1 %arraydestroy.done738, label %arraydestroy.body748, label %arraydestroy.body735 -arraydestroy.body748: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 - %arraydestroy.elementPast749 = phi ptr [ %arraydestroy.element750, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 ], [ %add.ptr.i.i337, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ] +arraydestroy.body748: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 + %arraydestroy.elementPast749 = phi ptr [ %arraydestroy.element750, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 ], [ %add.ptr.i.i356, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 ] %arraydestroy.element750 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast749, i64 -1 %arraydestroy.element750.val = load ptr, ptr %arraydestroy.element750, align 8 - %tobool.not.i.i.i.i575 = icmp eq ptr %arraydestroy.element750.val, null - br i1 %tobool.not.i.i.i.i575, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577, label %if.then.i.i.i.i576 + %tobool.not.i.i.i.i608 = icmp eq ptr %arraydestroy.element750.val, null + br i1 %tobool.not.i.i.i.i608, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610, label %if.then.i.i.i.i609 -if.then.i.i.i.i576: ; preds = %arraydestroy.body748 +if.then.i.i.i.i609: ; preds = %arraydestroy.body748 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element750.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577: ; preds = %arraydestroy.body748, %if.then.i.i.i.i576 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610: ; preds = %arraydestroy.body748, %if.then.i.i.i.i609 %arraydestroy.done751 = icmp eq ptr %arraydestroy.element750, %ref.tmp370 br i1 %arraydestroy.done751, label %arraydestroy.body761, label %arraydestroy.body748 -arraydestroy.body761: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 - %arraydestroy.elementPast762 = phi ptr [ %arraydestroy.element763, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 ], [ %add.ptr.i.i308, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 ] +arraydestroy.body761: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 + %arraydestroy.elementPast762 = phi ptr [ %arraydestroy.element763, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 ], [ %add.ptr.i.i325, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit610 ] %arraydestroy.element763 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast762, i64 -1 %arraydestroy.element763.val = load ptr, ptr %arraydestroy.element763, align 8 - %tobool.not.i.i.i.i578 = icmp eq ptr %arraydestroy.element763.val, null - br i1 %tobool.not.i.i.i.i578, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580, label %if.then.i.i.i.i579 + %tobool.not.i.i.i.i611 = icmp eq ptr %arraydestroy.element763.val, null + br i1 %tobool.not.i.i.i.i611, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613, label %if.then.i.i.i.i612 -if.then.i.i.i.i579: ; preds = %arraydestroy.body761 +if.then.i.i.i.i612: ; preds = %arraydestroy.body761 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element763.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580: ; preds = %arraydestroy.body761, %if.then.i.i.i.i579 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613: ; preds = %arraydestroy.body761, %if.then.i.i.i.i612 %arraydestroy.done764 = icmp eq ptr %arraydestroy.element763, %ref.tmp336 br i1 %arraydestroy.done764, label %arraydestroy.body774, label %arraydestroy.body761 -arraydestroy.body774: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 - %arraydestroy.elementPast775 = phi ptr [ %arraydestroy.element776, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 ], [ %add.ptr.i.i279, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 ] +arraydestroy.body774: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 + %arraydestroy.elementPast775 = phi ptr [ %arraydestroy.element776, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 ], [ %add.ptr.i.i294, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 ] %arraydestroy.element776 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast775, i64 -1 %arraydestroy.element776.val = load ptr, ptr %arraydestroy.element776, align 8 - %tobool.not.i.i.i.i581 = icmp eq ptr %arraydestroy.element776.val, null - br i1 %tobool.not.i.i.i.i581, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583, label %if.then.i.i.i.i582 + %tobool.not.i.i.i.i614 = icmp eq ptr %arraydestroy.element776.val, null + br i1 %tobool.not.i.i.i.i614, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616, label %if.then.i.i.i.i615 -if.then.i.i.i.i582: ; preds = %arraydestroy.body774 +if.then.i.i.i.i615: ; preds = %arraydestroy.body774 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element776.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583: ; preds = %arraydestroy.body774, %if.then.i.i.i.i582 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616: ; preds = %arraydestroy.body774, %if.then.i.i.i.i615 %arraydestroy.done777 = icmp eq ptr %arraydestroy.element776, %ref.tmp302 br i1 %arraydestroy.done777, label %arraydestroy.body787, label %arraydestroy.body774 -arraydestroy.body787: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 - %arraydestroy.elementPast788 = phi ptr [ %arraydestroy.element789, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 ], [ %add.ptr.i.i250, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 ] +arraydestroy.body787: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619 + %arraydestroy.elementPast788 = phi ptr [ %arraydestroy.element789, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619 ], [ %add.ptr.i.i263, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 ] %arraydestroy.element789 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast788, i64 -1 %arraydestroy.element789.val = load ptr, ptr %arraydestroy.element789, align 8 - %tobool.not.i.i.i.i584 = icmp eq ptr %arraydestroy.element789.val, null - br i1 %tobool.not.i.i.i.i584, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586, label %if.then.i.i.i.i585 + %tobool.not.i.i.i.i617 = icmp eq ptr %arraydestroy.element789.val, null + br i1 %tobool.not.i.i.i.i617, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619, label %if.then.i.i.i.i618 -if.then.i.i.i.i585: ; preds = %arraydestroy.body787 +if.then.i.i.i.i618: ; preds = %arraydestroy.body787 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element789.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586: ; preds = %arraydestroy.body787, %if.then.i.i.i.i585 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619: ; preds = %arraydestroy.body787, %if.then.i.i.i.i618 %arraydestroy.done790 = icmp eq ptr %arraydestroy.element789, %ref.tmp268 br i1 %arraydestroy.done790, label %arraydestroy.body800, label %arraydestroy.body787 -arraydestroy.body800: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 - %arraydestroy.elementPast801 = phi ptr [ %arraydestroy.element802, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ], [ %add.ptr.i.i221, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 ] +arraydestroy.body800: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622 + %arraydestroy.elementPast801 = phi ptr [ %arraydestroy.element802, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622 ], [ %add.ptr.i.i232, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit619 ] %arraydestroy.element802 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast801, i64 -1 %arraydestroy.element802.val = load ptr, ptr %arraydestroy.element802, align 8 - %tobool.not.i.i.i.i587 = icmp eq ptr %arraydestroy.element802.val, null - br i1 %tobool.not.i.i.i.i587, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, label %if.then.i.i.i.i588 + %tobool.not.i.i.i.i620 = icmp eq ptr %arraydestroy.element802.val, null + br i1 %tobool.not.i.i.i.i620, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622, label %if.then.i.i.i.i621 -if.then.i.i.i.i588: ; preds = %arraydestroy.body800 +if.then.i.i.i.i621: ; preds = %arraydestroy.body800 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element802.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589: ; preds = %arraydestroy.body800, %if.then.i.i.i.i588 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622: ; preds = %arraydestroy.body800, %if.then.i.i.i.i621 %arraydestroy.done803 = icmp eq ptr %arraydestroy.element802, %ref.tmp234 br i1 %arraydestroy.done803, label %arraydestroy.body813, label %arraydestroy.body800 -arraydestroy.body813: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 - %arraydestroy.elementPast814 = phi ptr [ %arraydestroy.element815, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ], [ %add.ptr.i.i192, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ] +arraydestroy.body813: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625 + %arraydestroy.elementPast814 = phi ptr [ %arraydestroy.element815, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625 ], [ %add.ptr.i.i201, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit622 ] %arraydestroy.element815 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast814, i64 -1 %arraydestroy.element815.val = load ptr, ptr %arraydestroy.element815, align 8 - %tobool.not.i.i.i.i590 = icmp eq ptr %arraydestroy.element815.val, null - br i1 %tobool.not.i.i.i.i590, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, label %if.then.i.i.i.i591 + %tobool.not.i.i.i.i623 = icmp eq ptr %arraydestroy.element815.val, null + br i1 %tobool.not.i.i.i.i623, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625, label %if.then.i.i.i.i624 -if.then.i.i.i.i591: ; preds = %arraydestroy.body813 +if.then.i.i.i.i624: ; preds = %arraydestroy.body813 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element815.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592: ; preds = %arraydestroy.body813, %if.then.i.i.i.i591 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625: ; preds = %arraydestroy.body813, %if.then.i.i.i.i624 %arraydestroy.done816 = icmp eq ptr %arraydestroy.element815, %ref.tmp208 br i1 %arraydestroy.done816, label %arraydestroy.body826, label %arraydestroy.body813 -arraydestroy.body826: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 - %arraydestroy.elementPast827 = phi ptr [ %arraydestroy.element828, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ], [ %add.ptr.i.i174, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ] +arraydestroy.body826: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628 + %arraydestroy.elementPast827 = phi ptr [ %arraydestroy.element828, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628 ], [ %add.ptr.i.i182, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit625 ] %arraydestroy.element828 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast827, i64 -1 %arraydestroy.element828.val = load ptr, ptr %arraydestroy.element828, align 8 - %tobool.not.i.i.i.i593 = icmp eq ptr %arraydestroy.element828.val, null - br i1 %tobool.not.i.i.i.i593, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, label %if.then.i.i.i.i594 + %tobool.not.i.i.i.i626 = icmp eq ptr %arraydestroy.element828.val, null + br i1 %tobool.not.i.i.i.i626, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628, label %if.then.i.i.i.i627 -if.then.i.i.i.i594: ; preds = %arraydestroy.body826 +if.then.i.i.i.i627: ; preds = %arraydestroy.body826 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element828.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595: ; preds = %arraydestroy.body826, %if.then.i.i.i.i594 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628: ; preds = %arraydestroy.body826, %if.then.i.i.i.i627 %arraydestroy.done829 = icmp eq ptr %arraydestroy.element828, %ref.tmp182 br i1 %arraydestroy.done829, label %arraydestroy.body839, label %arraydestroy.body826 -arraydestroy.body839: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 - %arraydestroy.elementPast840 = phi ptr [ %arraydestroy.element841, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 ], [ %add.ptr.i.i156, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ] +arraydestroy.body839: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631 + %arraydestroy.elementPast840 = phi ptr [ %arraydestroy.element841, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631 ], [ %add.ptr.i.i163, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit628 ] %arraydestroy.element841 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast840, i64 -1 %arraydestroy.element841.val = load ptr, ptr %arraydestroy.element841, align 8 - %tobool.not.i.i.i.i596 = icmp eq ptr %arraydestroy.element841.val, null - br i1 %tobool.not.i.i.i.i596, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598, label %if.then.i.i.i.i597 + %tobool.not.i.i.i.i629 = icmp eq ptr %arraydestroy.element841.val, null + br i1 %tobool.not.i.i.i.i629, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631, label %if.then.i.i.i.i630 -if.then.i.i.i.i597: ; preds = %arraydestroy.body839 +if.then.i.i.i.i630: ; preds = %arraydestroy.body839 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element841.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598: ; preds = %arraydestroy.body839, %if.then.i.i.i.i597 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631: ; preds = %arraydestroy.body839, %if.then.i.i.i.i630 %arraydestroy.done842 = icmp eq ptr %arraydestroy.element841, %ref.tmp156 br i1 %arraydestroy.done842, label %arraydestroy.body852, label %arraydestroy.body839 -arraydestroy.body852: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 - %arraydestroy.elementPast853 = phi ptr [ %arraydestroy.element854, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ], [ %add.ptr.i.i138, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit598 ] +arraydestroy.body852: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634 + %arraydestroy.elementPast853 = phi ptr [ %arraydestroy.element854, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634 ], [ %add.ptr.i.i144, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit631 ] %arraydestroy.element854 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast853, i64 -1 %arraydestroy.element854.val = load ptr, ptr %arraydestroy.element854, align 8 - %tobool.not.i.i.i.i599 = icmp eq ptr %arraydestroy.element854.val, null - br i1 %tobool.not.i.i.i.i599, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, label %if.then.i.i.i.i600 + %tobool.not.i.i.i.i632 = icmp eq ptr %arraydestroy.element854.val, null + br i1 %tobool.not.i.i.i.i632, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634, label %if.then.i.i.i.i633 -if.then.i.i.i.i600: ; preds = %arraydestroy.body852 +if.then.i.i.i.i633: ; preds = %arraydestroy.body852 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element854.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601: ; preds = %arraydestroy.body852, %if.then.i.i.i.i600 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634: ; preds = %arraydestroy.body852, %if.then.i.i.i.i633 %arraydestroy.done855 = icmp eq ptr %arraydestroy.element854, %ref.tmp130 br i1 %arraydestroy.done855, label %arraydestroy.body865, label %arraydestroy.body852 -arraydestroy.body865: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 - %arraydestroy.elementPast866 = phi ptr [ %arraydestroy.element867, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ], [ %add.ptr.i.i120, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ] +arraydestroy.body865: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637 + %arraydestroy.elementPast866 = phi ptr [ %arraydestroy.element867, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637 ], [ %add.ptr.i.i125, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit634 ] %arraydestroy.element867 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast866, i64 -1 %arraydestroy.element867.val = load ptr, ptr %arraydestroy.element867, align 8 - %tobool.not.i.i.i.i602 = icmp eq ptr %arraydestroy.element867.val, null - br i1 %tobool.not.i.i.i.i602, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, label %if.then.i.i.i.i603 + %tobool.not.i.i.i.i635 = icmp eq ptr %arraydestroy.element867.val, null + br i1 %tobool.not.i.i.i.i635, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637, label %if.then.i.i.i.i636 -if.then.i.i.i.i603: ; preds = %arraydestroy.body865 +if.then.i.i.i.i636: ; preds = %arraydestroy.body865 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element867.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604: ; preds = %arraydestroy.body865, %if.then.i.i.i.i603 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637: ; preds = %arraydestroy.body865, %if.then.i.i.i.i636 %arraydestroy.done868 = icmp eq ptr %arraydestroy.element867, %ref.tmp84 br i1 %arraydestroy.done868, label %arraydestroy.body878, label %arraydestroy.body865 -arraydestroy.body878: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 - %arraydestroy.elementPast879 = phi ptr [ %arraydestroy.element880, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 ], [ %add.ptr.i.i79, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ] +arraydestroy.body878: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit640 + %arraydestroy.elementPast879 = phi ptr [ %arraydestroy.element880, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit640 ], [ %add.ptr.i.i81, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit637 ] %arraydestroy.element880 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast879, i64 -1 %arraydestroy.element880.val = load ptr, ptr %arraydestroy.element880, align 8 - %tobool.not.i.i.i.i605 = icmp eq ptr %arraydestroy.element880.val, null - br i1 %tobool.not.i.i.i.i605, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607, label %if.then.i.i.i.i606 + %tobool.not.i.i.i.i638 = icmp eq ptr %arraydestroy.element880.val, null + br i1 %tobool.not.i.i.i.i638, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit640, label %if.then.i.i.i.i639 -if.then.i.i.i.i606: ; preds = %arraydestroy.body878 +if.then.i.i.i.i639: ; preds = %arraydestroy.body878 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element880.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit640 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607: ; preds = %arraydestroy.body878, %if.then.i.i.i.i606 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit640: ; preds = %arraydestroy.body878, %if.then.i.i.i.i639 %arraydestroy.done881 = icmp eq ptr %arraydestroy.element880, %ref.tmp50 br i1 %arraydestroy.done881, label %arraydestroy.body891.preheader, label %arraydestroy.body878 -arraydestroy.body891.preheader: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 +arraydestroy.body891.preheader: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit640 %arraydestroy.element893.val = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i.i608 = icmp eq ptr %arraydestroy.element893.val, null - br i1 %tobool.not.i.i.i.i608, label %arraydestroy.body904.preheader, label %if.then.i.i.i.i609 + %tobool.not.i.i.i.i641 = icmp eq ptr %arraydestroy.element893.val, null + br i1 %tobool.not.i.i.i.i641, label %arraydestroy.body904.preheader, label %if.then.i.i.i.i642 -if.then.i.i.i.i609: ; preds = %arraydestroy.body891.preheader +if.then.i.i.i.i642: ; preds = %arraydestroy.body891.preheader call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element893.val) #31 br label %arraydestroy.body904.preheader -arraydestroy.body904.preheader: ; preds = %arraydestroy.body891.preheader, %if.then.i.i.i.i609 +arraydestroy.body904.preheader: ; preds = %arraydestroy.body891.preheader, %if.then.i.i.i.i642 br label %arraydestroy.body904 -arraydestroy.body904: ; preds = %arraydestroy.body904.preheader, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 - %arraydestroy.elementPast905 = phi ptr [ %arraydestroy.element906, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 ], [ %add.ptr.i.i38, %arraydestroy.body904.preheader ] +arraydestroy.body904: ; preds = %arraydestroy.body904.preheader, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646 + %arraydestroy.elementPast905 = phi ptr [ %arraydestroy.element906, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646 ], [ %add.ptr.i.i38, %arraydestroy.body904.preheader ] %arraydestroy.element906 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast905, i64 -1 %arraydestroy.element906.val = load ptr, ptr %arraydestroy.element906, align 8 - %tobool.not.i.i.i.i611 = icmp eq ptr %arraydestroy.element906.val, null - br i1 %tobool.not.i.i.i.i611, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613, label %if.then.i.i.i.i612 + %tobool.not.i.i.i.i644 = icmp eq ptr %arraydestroy.element906.val, null + br i1 %tobool.not.i.i.i.i644, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646, label %if.then.i.i.i.i645 -if.then.i.i.i.i612: ; preds = %arraydestroy.body904 +if.then.i.i.i.i645: ; preds = %arraydestroy.body904 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element906.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613: ; preds = %arraydestroy.body904, %if.then.i.i.i.i612 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646: ; preds = %arraydestroy.body904, %if.then.i.i.i.i645 %arraydestroy.done907 = icmp eq ptr %arraydestroy.element906, %ref.tmp19 br i1 %arraydestroy.done907, label %arraydestroy.body917, label %arraydestroy.body904 -arraydestroy.body917: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 - %arraydestroy.elementPast918 = phi ptr [ %arraydestroy.element919, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 ], [ %add.ptr.i.i30, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit613 ] +arraydestroy.body917: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit649 + %arraydestroy.elementPast918 = phi ptr [ %arraydestroy.element919, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit649 ], [ %add.ptr.i.i30, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit646 ] %arraydestroy.element919 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast918, i64 -1 %arraydestroy.element919.val = load ptr, ptr %arraydestroy.element919, align 8 - %tobool.not.i.i.i.i614 = icmp eq ptr %arraydestroy.element919.val, null - br i1 %tobool.not.i.i.i.i614, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616, label %if.then.i.i.i.i615 + %tobool.not.i.i.i.i647 = icmp eq ptr %arraydestroy.element919.val, null + br i1 %tobool.not.i.i.i.i647, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit649, label %if.then.i.i.i.i648 -if.then.i.i.i.i615: ; preds = %arraydestroy.body917 +if.then.i.i.i.i648: ; preds = %arraydestroy.body917 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element919.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit649 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616: ; preds = %arraydestroy.body917, %if.then.i.i.i.i615 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit649: ; preds = %arraydestroy.body917, %if.then.i.i.i.i648 %arraydestroy.done920 = icmp eq ptr %arraydestroy.element919, %ref.tmp8 br i1 %arraydestroy.done920, label %arraydestroy.body930.preheader, label %arraydestroy.body917 -arraydestroy.body930.preheader: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit616 +arraydestroy.body930.preheader: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit649 %arraydestroy.element932.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i617 = icmp eq ptr %arraydestroy.element932.val, null - br i1 %tobool.not.i.i.i.i617, label %for.body.i.i.preheader, label %if.then.i.i.i.i618 + %tobool.not.i.i.i.i650 = icmp eq ptr %arraydestroy.element932.val, null + br i1 %tobool.not.i.i.i.i650, label %for.body.i.i.preheader, label %if.then.i.i.i.i651 -if.then.i.i.i.i618: ; preds = %arraydestroy.body930.preheader +if.then.i.i.i.i651: ; preds = %arraydestroy.body930.preheader call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element932.val) #31 br label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %arraydestroy.body930.preheader, %if.then.i.i.i.i618 +for.body.i.i.preheader: ; preds = %arraydestroy.body930.preheader, %if.then.i.i.i.i651 br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.inc.i.i %ref.tmp.sroa.0.0.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %add.ptr19.i.i.i12.i.i = phi ptr [ %add.ptr19.i.i.i11.i.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] - %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i549, %for.body.i.i.preheader ] + %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i582, %for.body.i.i.preheader ] %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i - br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i620 + br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i653 -if.then.i.i.i.i620: ; preds = %for.body.i.i +if.then.i.i.i.i653: ; preds = %for.body.i.i store ptr %__begin0.sroa.0.08.i.i, ptr %incdec.ptr.i.i.i9.i.i, align 8, !noalias !4466 %ref.tmp.sroa.3.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i9.i.i, i64 8 store i8 0, ptr %ref.tmp.sroa.3.0..sroa_idx.i.i, align 8, !noalias !4466 @@ -178884,8 +178886,8 @@ _ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7 %cmp9.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i, 576460752303423487 %or.cond.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i %cond.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i, i64 576460752303423487, i64 %add.i.i.i.i.i.i - %cmp.not.i.i.i.i.i.i630 = icmp eq i64 %cond.i.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i.i630, label %_ZNSt12_Vector_baseISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEEEE8allocateERS8_m.exit.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i663 = icmp eq i64 %cond.i.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i.i663, label %_ZNSt12_Vector_baseISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEEEE8allocateERS8_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEEEE8allocateERS8_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 4 @@ -178922,10 +178924,10 @@ _ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_ %add.ptr19.i.i.i.i.i = getelementptr inbounds %"class.std::variant.1461", ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i br label %for.inc.i.i -for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i620 - %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i620 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i620 ] - %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i620 ] +for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i653 + %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i653 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i653 ] + %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEESaIS7_EE17_M_realloc_insertIJS7_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i653 ] %ref.tmp.sroa.6.0.i = getelementptr inbounds %"class.std::variant.1461", ptr %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i, i64 1 %incdec.ptr.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %__begin0.sroa.0.08.i.i, i64 1 %cmp.i.not.i.i = icmp eq ptr %__begin0.sroa.0.08.i.i, %__cur.010.i.i.i.i.i.i @@ -178934,19 +178936,19 @@ for.inc.i.i: ; preds = %_ZNSt6vectorISt7var lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS2_IiEEEEEEEE8allocateERS8_m.exit.i.i.i.i.i.i %lpad.loopexit3.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i631 + br label %lpad.i.i664 lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i631 + br label %lpad.i.i664 -lpad.i.i631: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i +lpad.i.i664: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i %lpad.phi.i.i = phi { ptr, i32 } [ %lpad.loopexit3.i.i, %lpad.loopexit.i.i ], [ %lpad.loopexit.split-lp4.i.i, %lpad.loopexit.split-lp.i.i ] %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0.i, null br i1 %tobool.not.i.i.i.i.i, label %ehcleanup967, label %if.then.i.i.i.i.i -if.then.i.i.i.i.i: ; preds = %lpad.i.i631 +if.then.i.i.i.i.i: ; preds = %lpad.i.i664 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4466 br label %ehcleanup967 @@ -178981,7 +178983,7 @@ _ZN4absl13hash_internal17ContainerAsVectorISt6vectorIN12_GLOBAL__N_117UnorderedS for.body.lr.ph.i7.i: ; preds = %_ZN4absl13hash_internal17ContainerAsVectorISt6vectorIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEESaIS6_EEE2DoERKS8_.exit.i %50 = getelementptr inbounds i8, ptr %classes.i.i, i64 8 - %_M_end_of_storage.i.i.i621 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1459", ptr %classes.i.i, i64 0, i32 2 + %_M_end_of_storage.i.i.i654 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1459", ptr %classes.i.i, i64 0, i32 2 %moved_from_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 2 %_M_engaged.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i, i64 0, i32 1 %error_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 1 @@ -179015,38 +179017,38 @@ for.body13.i.i: ; preds = %for.body.i8.i, %for %53 = getelementptr i8, ptr %.val.i.i, i64 8 %.val.val61.i.i = load ptr, ptr %53, align 8 %call.i.i.i.i.i.i.i104.i.i = invoke fastcc noundef zeroext i1 @_ZN12_GLOBAL__N_1eqERKNS_17UnorderedSequenceINS0_IiEEEES4_(ptr %call4.val.val.i.i, ptr %call4.val.val60.i.i, ptr %.val.val.i.i, ptr %.val.val61.i.i) - to label %invoke.cont.i.i623 unwind label %lpad.loopexit.split-lp.loopexit.i.i + to label %invoke.cont.i.i656 unwind label %lpad.loopexit.split-lp.loopexit.i.i -invoke.cont.i.i623: ; preds = %for.body13.i.i +invoke.cont.i.i656: ; preds = %for.body13.i.i br i1 %call.i.i.i.i.i.i.i104.i.i, label %if.end23.i.i, label %for.inc.i9.i lpad.loopexit11.i.i: ; preds = %for.body66.i.i %lpad.loopexit12.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i622 + br label %lpad.body.i655 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %for.body13.i.i %lpad.loopexit15.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i622 + br label %lpad.body.i655 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSM_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEE8allocateERSO_m.exit.i.i.i.i.i %lpad.loopexit18.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i622 + br label %lpad.body.i655 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.invoke.i.i %lpad.loopexit.split-lp19.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i622 + br label %lpad.body.i655 -for.inc.i9.i: ; preds = %invoke.cont.i.i623 +for.inc.i9.i: ; preds = %invoke.cont.i.i656 %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.1481", ptr %__begin05.sroa.0.047.i.i, i64 1 %cmp.i103.not.i.i = icmp eq ptr %incdec.ptr.i.i10.i, %classes.val54.i.i br i1 %cmp.i103.not.i.i, label %if.then19.i.i, label %for.body13.i.i if.then19.i.i: ; preds = %for.inc.i9.i, %for.body.i8.i - %54 = load ptr, ptr %_M_end_of_storage.i.i.i621, align 8, !noalias !4477 + %54 = load ptr, ptr %_M_end_of_storage.i.i.i654, align 8, !noalias !4477 %cmp.not.i.i.i = icmp eq ptr %classes.val54.i.i, %54 br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i @@ -179078,8 +179080,8 @@ _ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS %cmp9.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i, 384307168202282325 %or.cond.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i, %cmp9.i.i.i.i.i %cond.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i, i64 384307168202282325, i64 %add.i.i.i.i.i - %cmp.not.i.i.i.i.i629 = icmp eq i64 %cond.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i629, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEE8allocateERSO_m.exit.i.i.i.i.i + %cmp.not.i.i.i.i.i662 = icmp eq i64 %cond.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i662, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEE8allocateERSO_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEE8allocateERSO_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = mul nuw nsw i64 %cond.i.i.i.i.i, 24 @@ -179111,9 +179113,9 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_M_allocateEm.exit.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] - %incdec.ptr.i.i.i37.i = getelementptr inbounds %"class.std::vector.1481", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i38.i = icmp eq ptr %classes.val.i.i, null - br i1 %tobool.not.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i + %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.1481", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i39.i = icmp eq ptr %classes.val.i.i, null + br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i) #31 @@ -179121,13 +179123,13 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !4477 - store ptr %incdec.ptr.i.i.i37.i, ptr %50, align 8, !noalias !4477 + store ptr %incdec.ptr.i.i.i38.i, ptr %50, align 8, !noalias !4477 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.1481", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i - store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i621, align 8, !noalias !4477 + store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i654, align 8, !noalias !4477 br label %if.end23.i.i -if.end23.i.i: ; preds = %invoke.cont.i.i623, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i, %if.then.i.i.i - %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i ], [ %__begin05.sroa.0.047.i.i, %invoke.cont.i.i623 ] +if.end23.i.i: ; preds = %invoke.cont.i.i656, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i, %if.then.i.i.i + %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i ], [ %__begin05.sroa.0.047.i.i, %invoke.cont.i.i656 ] %_M_finish.i.i.i11.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1487", ptr %c.1.i.i, i64 0, i32 1 %57 = load ptr, ptr %_M_finish.i.i.i11.i, align 8 %_M_end_of_storage.i.i.i12.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1487", ptr %c.1.i.i, i64 0, i32 2 @@ -179175,31 +179177,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.049.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.050.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1488, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1488, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.1488, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.1488, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %60 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i ], [ %59, %if.then.i.i.i14.i ] + %60 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i ], [ %59, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.050.i.i, 1 %call28.val.i.i = load ptr, ptr %60, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -179210,8 +179213,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !4487) %61 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !4490 %62 = and i8 %61, 1 - %tobool.not.i.i.i624 = icmp eq i8 %62, 0 - br i1 %tobool.not.i.i.i624, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i657 = icmp eq i8 %62, 0 + br i1 %tobool.not.i.i.i657, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -179283,9 +179286,9 @@ if.then7.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx27__ex %_M_weak_count.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %66, i64 0, i32 2 %73 = load i8, ptr @__libc_single_threaded, align 1, !noalias !4477 %tobool.i.i.not.i.i.i.i.i.i.i.i.i = icmp eq i8 %73, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i628 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i, label %if.else.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i661 -if.then.i.i.i.i.i.i.i.i.i.i628: ; preds = %if.then7.i.i.i.i.i.i.i +if.then.i.i.i.i.i.i.i.i.i.i661: ; preds = %if.then7.i.i.i.i.i.i.i %74 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i, align 4 %add.i.i.i.i.i.i.i.i.i.i = add nsw i32 %74, -1 store i32 %add.i.i.i.i.i.i.i.i.i.i, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i, align 4 @@ -179295,8 +179298,8 @@ if.else.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then7.i.i.i.i.i. %75 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i, i32 -1 acq_rel, align 4 br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i628 - %retval.i.0.i.i.i.i.i.i.i.i.i = phi i32 [ %74, %if.then.i.i.i.i.i.i.i.i.i.i628 ], [ %75, %if.else.i.i.i.i.i.i.i.i.i.i ] +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i661 + %retval.i.0.i.i.i.i.i.i.i.i.i = phi i32 [ %74, %if.then.i.i.i.i.i.i.i.i.i.i661 ], [ %75, %if.else.i.i.i.i.i.i.i.i.i.i ] %cmp.i.i.i.i.i.i.i.i.i = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i, 1 br i1 %cmp.i.i.i.i.i.i.i.i.i, label %if.end8.sink.split.i.i.i.i.i.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i @@ -179416,7 +179419,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %91 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i622 + br label %lpad.body.i655 lpad35.i.i: ; preds = %if.then33.i.i %92 = landingpad { ptr, i32 } @@ -179438,12 +179441,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %94 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4477 %95 = and i8 %94, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %95, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i622, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i655, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4477 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i622 + br label %lpad.body.i655 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !4477 @@ -179545,7 +179548,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %103, %lpad51.i.i ], [ %99, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %99, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i622 + br label %lpad.body.i655 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.056.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -181579,7 +181582,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %204, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit8.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp9.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i622 + br label %lpad.body.i655 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_) @@ -181689,22 +181692,22 @@ cleanup257.i.i: ; preds = %if.then.i.i.i1.i893 %_M_finish.i914.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1459", ptr %classes.i.i, i64 0, i32 1 %373 = load ptr, ptr %_M_finish.i914.i.i, align 8, !noalias !4477 %cmp.not3.i.i.i.i.i.i = icmp eq ptr %372, %373 - br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i625 + br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i658 -for.body.i.i.i.i.i.i625: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i658: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i ], [ %372, %cleanup257.i.i ] %__first.addr.0.val.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i.i626 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i626, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i + %tobool.not.i.i.i.i.i.i.i.i.i.i659 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i659, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i -if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i625 +if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i658 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i625 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i658 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1481", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i916.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i, %373 - br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i625, !llvm.loop !4491 + br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i658, !llvm.loop !4491 invoke.cont.i917.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaISB_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EEEvPSH_.exit.i.i.i.i.i.i, %cleanup257.i.i %tobool.not.i.i.i918.i.i = icmp eq ptr %372, null @@ -181739,135 +181742,135 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i), !noalias !4474 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !4474 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !4474 - %tobool.not.i.i.i.i627 = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i627, label %invoke.cont950, label %if.then.i.i.i40.i + %tobool.not.i.i.i.i660 = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i.i660, label %invoke.cont950, label %if.then.i.i.i41.i -if.then.i.i.i40.i: ; preds = %invoke.cont.i +if.then.i.i.i41.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %invoke.cont950 -lpad.body.i622: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i +lpad.body.i655: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i %.pn46.pn.i.i = phi { ptr, i32 } [ %91, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit12.i.i, %lpad.loopexit11.i.i ], [ %lpad.loopexit15.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit18.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp19.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EESaISM_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i42.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i42.i, label %ehcleanup967, label %if.then.i.i.i43.i + %tobool.not.i.i.i43.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i43.i, label %ehcleanup967, label %if.then.i.i.i44.i -if.then.i.i.i43.i: ; preds = %lpad.body.i622 +if.then.i.i.i44.i: ; preds = %lpad.body.i655 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %ehcleanup967 -invoke.cont950: ; preds = %if.then.i.i.i40.i, %invoke.cont.i +invoke.cont950: ; preds = %if.then.i.i.i41.i, %invoke.cont.i %374 = load i8, ptr %gtest_ar_, align 8 %375 = and i8 %374, 1 %tobool.i.not = icmp eq i8 %375, 0 br i1 %tobool.i.not, label %if.else, label %if.end -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635: ; preds = %invoke.cont61 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668: ; preds = %invoke.cont61 %376 = landingpad { ptr, i32 } cleanup call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i58) #31 br label %ehcleanup896 -lpad95.body: ; preds = %lpad.i.i110, %lpad.i.i98 - %arrayinit.endOfInit86.0.lpad-body = phi ptr [ %arrayinit.element97, %lpad.i.i98 ], [ %arrayinit.element107, %lpad.i.i110 ] - %eh.lpad-body95 = phi { ptr, i32 } [ %8, %lpad.i.i98 ], [ %9, %lpad.i.i110 ] +lpad95.body: ; preds = %lpad.i.i114, %lpad.i.i101 + %arrayinit.endOfInit86.0.lpad-body = phi ptr [ %arrayinit.element97, %lpad.i.i101 ], [ %arrayinit.element107, %lpad.i.i114 ] + %eh.lpad-body98 = phi { ptr, i32 } [ %8, %lpad.i.i101 ], [ %9, %lpad.i.i114 ] br label %arraydestroy.body118 -arraydestroy.body118: ; preds = %lpad95.body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 - %arraydestroy.elementPast119 = phi ptr [ %arrayinit.endOfInit86.0.lpad-body, %lpad95.body ], [ %arraydestroy.element120, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 ] +arraydestroy.body118: ; preds = %lpad95.body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 + %arraydestroy.elementPast119 = phi ptr [ %arrayinit.endOfInit86.0.lpad-body, %lpad95.body ], [ %arraydestroy.element120, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ] %arraydestroy.element120 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast119, i64 -1 %arraydestroy.element120.val = load ptr, ptr %arraydestroy.element120, align 8 - %tobool.not.i.i.i.i636 = icmp eq ptr %arraydestroy.element120.val, null - br i1 %tobool.not.i.i.i.i636, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638, label %if.then.i.i.i.i637 + %tobool.not.i.i.i.i669 = icmp eq ptr %arraydestroy.element120.val, null + br i1 %tobool.not.i.i.i.i669, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671, label %if.then.i.i.i.i670 -if.then.i.i.i.i637: ; preds = %arraydestroy.body118 +if.then.i.i.i.i670: ; preds = %arraydestroy.body118 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element120.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638: ; preds = %arraydestroy.body118, %if.then.i.i.i.i637 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671: ; preds = %arraydestroy.body118, %if.then.i.i.i.i670 %arraydestroy.done121 = icmp eq ptr %arraydestroy.element120, %ref.tmp84 br i1 %arraydestroy.done121, label %ehcleanup883, label %arraydestroy.body118 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641: ; preds = %invoke.cont127 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674: ; preds = %invoke.cont127 %377 = landingpad { ptr, i32 } cleanup br label %ehcleanup870 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644: ; preds = %invoke.cont153 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677: ; preds = %invoke.cont153 %378 = landingpad { ptr, i32 } cleanup br label %ehcleanup857 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647: ; preds = %invoke.cont245 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680: ; preds = %invoke.cont245 %379 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i200) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i209) #31 br label %ehcleanup818 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650: ; preds = %invoke.cont279 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683: ; preds = %invoke.cont279 %380 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i229) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i240) #31 br label %ehcleanup805 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653: ; preds = %invoke.cont313 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686: ; preds = %invoke.cont313 %381 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i258) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i271) #31 br label %ehcleanup792 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656: ; preds = %invoke.cont347 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689: ; preds = %invoke.cont347 %382 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i287) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i302) #31 br label %ehcleanup779 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659: ; preds = %invoke.cont381 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692: ; preds = %invoke.cont381 %383 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i316) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i333) #31 br label %ehcleanup766 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662: ; preds = %invoke.cont415 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695: ; preds = %invoke.cont415 %384 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i345) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i364) #31 br label %ehcleanup753 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665: ; preds = %invoke.cont449 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698: ; preds = %invoke.cont449 %385 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i374) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i395) #31 br label %ehcleanup740 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668: ; preds = %invoke.cont483 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701: ; preds = %invoke.cont483 %386 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i403) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i426) #31 br label %ehcleanup727 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671: ; preds = %invoke.cont517 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704: ; preds = %invoke.cont517 %387 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i432) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i457) #31 br label %ehcleanup714 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674: ; preds = %invoke.cont551 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707: ; preds = %invoke.cont551 %388 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i461) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i488) #31 br label %ehcleanup701 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677: ; preds = %invoke.cont585 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710: ; preds = %invoke.cont585 %389 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i490) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i519) #31 br label %ehcleanup688 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680: ; preds = %invoke.cont619 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713: ; preds = %invoke.cont619 %390 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i519) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i550) #31 br label %ehcleanup675 lpad644: ; preds = %invoke.cont639 @@ -181875,8 +181878,8 @@ lpad644: ; preds = %invoke.cont639 cleanup br label %lpad644.body -lpad644.body: ; preds = %lpad.body.i548, %if.then.i.i6.i, %lpad644 - %eh.lpad-body550 = phi { ptr, i32 } [ %391, %lpad644 ], [ %44, %if.then.i.i6.i ], [ %44, %lpad.body.i548 ] +lpad644.body: ; preds = %lpad.body.i581, %if.then.i.i6.i, %lpad644 + %eh.lpad-body583 = phi { ptr, i32 } [ %391, %lpad644 ], [ %44, %if.then.i.i6.i ], [ %44, %lpad.body.i581 ] %392 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %ref.tmp, i64 23 br label %arraydestroy.body652 @@ -181887,456 +181890,456 @@ arraydestroy.body652: ; preds = %arraydestroy.body65 %arraydestroy.done655 = icmp eq ptr %arraydestroy.element654, %ref.tmp br i1 %arraydestroy.done655, label %ehcleanup, label %arraydestroy.body652 -ehcleanup: ; preds = %arraydestroy.body652, %if.then.i.i.i.i544, %lpad.i.i541 - %.pn = phi { ptr, i32 } [ %40, %if.then.i.i.i.i544 ], [ %40, %lpad.i.i541 ], [ %eh.lpad-body550, %arraydestroy.body652 ] - %cleanup.isactive.0 = phi i1 [ true, %if.then.i.i.i.i544 ], [ true, %lpad.i.i541 ], [ false, %arraydestroy.body652 ] +ehcleanup: ; preds = %arraydestroy.body652, %if.then.i.i.i.i577, %lpad.i.i574 + %.pn = phi { ptr, i32 } [ %40, %if.then.i.i.i.i577 ], [ %40, %lpad.i.i574 ], [ %eh.lpad-body583, %arraydestroy.body652 ] + %cleanup.isactive.0 = phi i1 [ true, %if.then.i.i.i.i577 ], [ true, %lpad.i.i574 ], [ false, %arraydestroy.body652 ] br label %arraydestroy.body664 -arraydestroy.body664: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683, %ehcleanup - %arraydestroy.elementPast665 = phi ptr [ %add.ptr.i.i540, %ehcleanup ], [ %arraydestroy.element666, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ] +arraydestroy.body664: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, %ehcleanup + %arraydestroy.elementPast665 = phi ptr [ %add.ptr.i.i573, %ehcleanup ], [ %arraydestroy.element666, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] %arraydestroy.element666 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast665, i64 -1 %arraydestroy.element666.val = load ptr, ptr %arraydestroy.element666, align 8 - %tobool.not.i.i.i.i681 = icmp eq ptr %arraydestroy.element666.val, null - br i1 %tobool.not.i.i.i.i681, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683, label %if.then.i.i.i.i682 + %tobool.not.i.i.i.i714 = icmp eq ptr %arraydestroy.element666.val, null + br i1 %tobool.not.i.i.i.i714, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, label %if.then.i.i.i.i715 -if.then.i.i.i.i682: ; preds = %arraydestroy.body664 +if.then.i.i.i.i715: ; preds = %arraydestroy.body664 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element666.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683: ; preds = %arraydestroy.body664, %if.then.i.i.i.i682 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716: ; preds = %arraydestroy.body664, %if.then.i.i.i.i715 %arraydestroy.done667 = icmp eq ptr %arraydestroy.element666, %ref.tmp608 br i1 %arraydestroy.done667, label %ehcleanup675, label %arraydestroy.body664 -ehcleanup675: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683, %lpad.i.i520, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680, %if.then.i.i.i.i515, %lpad.i.i512 - %.pn.pn = phi { ptr, i32 } [ %38, %if.then.i.i.i.i515 ], [ %38, %lpad.i.i512 ], [ %39, %lpad.i.i520 ], [ %390, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element572, %if.then.i.i.i.i515 ], [ %arrayinit.element572, %lpad.i.i512 ], [ %arrayinit.element606, %lpad.i.i520 ], [ %arrayinit.element606, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %arrayinit.element606, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ] - %cleanup.isactive.1 = phi i1 [ true, %if.then.i.i.i.i515 ], [ true, %lpad.i.i512 ], [ true, %lpad.i.i520 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %cleanup.isactive.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ] +ehcleanup675: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, %lpad.i.i551, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, %if.then.i.i.i.i546, %lpad.i.i543 + %.pn.pn = phi { ptr, i32 } [ %38, %if.then.i.i.i.i546 ], [ %38, %lpad.i.i543 ], [ %39, %lpad.i.i551 ], [ %390, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ], [ %.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element572, %if.then.i.i.i.i546 ], [ %arrayinit.element572, %lpad.i.i543 ], [ %arrayinit.element606, %lpad.i.i551 ], [ %arrayinit.element606, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ], [ %arrayinit.element606, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] + %cleanup.isactive.1 = phi i1 [ true, %if.then.i.i.i.i546 ], [ true, %lpad.i.i543 ], [ true, %lpad.i.i551 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ], [ %cleanup.isactive.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] br label %arraydestroy.body677 -arraydestroy.body677: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686, %ehcleanup675 - %arraydestroy.elementPast678 = phi ptr [ %add.ptr.i.i511, %ehcleanup675 ], [ %arraydestroy.element679, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ] +arraydestroy.body677: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, %ehcleanup675 + %arraydestroy.elementPast678 = phi ptr [ %add.ptr.i.i542, %ehcleanup675 ], [ %arraydestroy.element679, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] %arraydestroy.element679 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast678, i64 -1 %arraydestroy.element679.val = load ptr, ptr %arraydestroy.element679, align 8 - %tobool.not.i.i.i.i684 = icmp eq ptr %arraydestroy.element679.val, null - br i1 %tobool.not.i.i.i.i684, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686, label %if.then.i.i.i.i685 + %tobool.not.i.i.i.i717 = icmp eq ptr %arraydestroy.element679.val, null + br i1 %tobool.not.i.i.i.i717, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, label %if.then.i.i.i.i718 -if.then.i.i.i.i685: ; preds = %arraydestroy.body677 +if.then.i.i.i.i718: ; preds = %arraydestroy.body677 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element679.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686: ; preds = %arraydestroy.body677, %if.then.i.i.i.i685 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719: ; preds = %arraydestroy.body677, %if.then.i.i.i.i718 %arraydestroy.done680 = icmp eq ptr %arraydestroy.element679, %ref.tmp574 br i1 %arraydestroy.done680, label %ehcleanup688, label %arraydestroy.body677 -ehcleanup688: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686, %lpad.i.i491, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677, %if.then.i.i.i.i486, %lpad.i.i483 - %.pn.pn.pn = phi { ptr, i32 } [ %36, %if.then.i.i.i.i486 ], [ %36, %lpad.i.i483 ], [ %37, %lpad.i.i491 ], [ %389, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ] - %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element538, %if.then.i.i.i.i486 ], [ %arrayinit.element538, %lpad.i.i483 ], [ %arrayinit.element572, %lpad.i.i491 ], [ %arrayinit.element572, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %arrayinit.endOfInit.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ] - %cleanup.isactive.2 = phi i1 [ true, %if.then.i.i.i.i486 ], [ true, %lpad.i.i483 ], [ true, %lpad.i.i491 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %cleanup.isactive.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ] +ehcleanup688: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, %lpad.i.i520, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710, %if.then.i.i.i.i515, %lpad.i.i512 + %.pn.pn.pn = phi { ptr, i32 } [ %36, %if.then.i.i.i.i515 ], [ %36, %lpad.i.i512 ], [ %37, %lpad.i.i520 ], [ %389, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ], [ %.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] + %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element538, %if.then.i.i.i.i515 ], [ %arrayinit.element538, %lpad.i.i512 ], [ %arrayinit.element572, %lpad.i.i520 ], [ %arrayinit.element572, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ], [ %arrayinit.endOfInit.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] + %cleanup.isactive.2 = phi i1 [ true, %if.then.i.i.i.i515 ], [ true, %lpad.i.i512 ], [ true, %lpad.i.i520 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ], [ %cleanup.isactive.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] br label %arraydestroy.body690 -arraydestroy.body690: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689, %ehcleanup688 - %arraydestroy.elementPast691 = phi ptr [ %add.ptr.i.i482, %ehcleanup688 ], [ %arraydestroy.element692, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ] +arraydestroy.body690: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, %ehcleanup688 + %arraydestroy.elementPast691 = phi ptr [ %add.ptr.i.i511, %ehcleanup688 ], [ %arraydestroy.element692, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] %arraydestroy.element692 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast691, i64 -1 %arraydestroy.element692.val = load ptr, ptr %arraydestroy.element692, align 8 - %tobool.not.i.i.i.i687 = icmp eq ptr %arraydestroy.element692.val, null - br i1 %tobool.not.i.i.i.i687, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689, label %if.then.i.i.i.i688 + %tobool.not.i.i.i.i720 = icmp eq ptr %arraydestroy.element692.val, null + br i1 %tobool.not.i.i.i.i720, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, label %if.then.i.i.i.i721 -if.then.i.i.i.i688: ; preds = %arraydestroy.body690 +if.then.i.i.i.i721: ; preds = %arraydestroy.body690 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element692.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689: ; preds = %arraydestroy.body690, %if.then.i.i.i.i688 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722: ; preds = %arraydestroy.body690, %if.then.i.i.i.i721 %arraydestroy.done693 = icmp eq ptr %arraydestroy.element692, %ref.tmp540 br i1 %arraydestroy.done693, label %ehcleanup701, label %arraydestroy.body690 -ehcleanup701: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689, %lpad.i.i462, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674, %if.then.i.i.i.i457, %lpad.i.i454 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %34, %if.then.i.i.i.i457 ], [ %34, %lpad.i.i454 ], [ %35, %lpad.i.i462 ], [ %388, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ] - %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element504, %if.then.i.i.i.i457 ], [ %arrayinit.element504, %lpad.i.i454 ], [ %arrayinit.element538, %lpad.i.i462 ], [ %arrayinit.element538, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %arrayinit.endOfInit.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ] - %cleanup.isactive.3 = phi i1 [ true, %if.then.i.i.i.i457 ], [ true, %lpad.i.i454 ], [ true, %lpad.i.i462 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %cleanup.isactive.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ] +ehcleanup701: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, %lpad.i.i489, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707, %if.then.i.i.i.i484, %lpad.i.i481 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %34, %if.then.i.i.i.i484 ], [ %34, %lpad.i.i481 ], [ %35, %lpad.i.i489 ], [ %388, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ], [ %.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] + %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element504, %if.then.i.i.i.i484 ], [ %arrayinit.element504, %lpad.i.i481 ], [ %arrayinit.element538, %lpad.i.i489 ], [ %arrayinit.element538, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ], [ %arrayinit.endOfInit.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] + %cleanup.isactive.3 = phi i1 [ true, %if.then.i.i.i.i484 ], [ true, %lpad.i.i481 ], [ true, %lpad.i.i489 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ], [ %cleanup.isactive.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] br label %arraydestroy.body703 -arraydestroy.body703: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692, %ehcleanup701 - %arraydestroy.elementPast704 = phi ptr [ %add.ptr.i.i453, %ehcleanup701 ], [ %arraydestroy.element705, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ] +arraydestroy.body703: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, %ehcleanup701 + %arraydestroy.elementPast704 = phi ptr [ %add.ptr.i.i480, %ehcleanup701 ], [ %arraydestroy.element705, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] %arraydestroy.element705 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast704, i64 -1 %arraydestroy.element705.val = load ptr, ptr %arraydestroy.element705, align 8 - %tobool.not.i.i.i.i690 = icmp eq ptr %arraydestroy.element705.val, null - br i1 %tobool.not.i.i.i.i690, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692, label %if.then.i.i.i.i691 + %tobool.not.i.i.i.i723 = icmp eq ptr %arraydestroy.element705.val, null + br i1 %tobool.not.i.i.i.i723, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, label %if.then.i.i.i.i724 -if.then.i.i.i.i691: ; preds = %arraydestroy.body703 +if.then.i.i.i.i724: ; preds = %arraydestroy.body703 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element705.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692: ; preds = %arraydestroy.body703, %if.then.i.i.i.i691 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725: ; preds = %arraydestroy.body703, %if.then.i.i.i.i724 %arraydestroy.done706 = icmp eq ptr %arraydestroy.element705, %ref.tmp506 br i1 %arraydestroy.done706, label %ehcleanup714, label %arraydestroy.body703 -ehcleanup714: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692, %lpad.i.i433, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671, %if.then.i.i.i.i428, %lpad.i.i425 - %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %32, %if.then.i.i.i.i428 ], [ %32, %lpad.i.i425 ], [ %33, %lpad.i.i433 ], [ %387, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element470, %if.then.i.i.i.i428 ], [ %arrayinit.element470, %lpad.i.i425 ], [ %arrayinit.element504, %lpad.i.i433 ], [ %arrayinit.element504, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %arrayinit.endOfInit.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ] - %cleanup.isactive.4 = phi i1 [ true, %if.then.i.i.i.i428 ], [ true, %lpad.i.i425 ], [ true, %lpad.i.i433 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ], [ %cleanup.isactive.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ] +ehcleanup714: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, %lpad.i.i458, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704, %if.then.i.i.i.i453, %lpad.i.i450 + %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %32, %if.then.i.i.i.i453 ], [ %32, %lpad.i.i450 ], [ %33, %lpad.i.i458 ], [ %387, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ], [ %.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element470, %if.then.i.i.i.i453 ], [ %arrayinit.element470, %lpad.i.i450 ], [ %arrayinit.element504, %lpad.i.i458 ], [ %arrayinit.element504, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ], [ %arrayinit.endOfInit.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] + %cleanup.isactive.4 = phi i1 [ true, %if.then.i.i.i.i453 ], [ true, %lpad.i.i450 ], [ true, %lpad.i.i458 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ], [ %cleanup.isactive.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] br label %arraydestroy.body716 -arraydestroy.body716: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695, %ehcleanup714 - %arraydestroy.elementPast717 = phi ptr [ %add.ptr.i.i424, %ehcleanup714 ], [ %arraydestroy.element718, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ] +arraydestroy.body716: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, %ehcleanup714 + %arraydestroy.elementPast717 = phi ptr [ %add.ptr.i.i449, %ehcleanup714 ], [ %arraydestroy.element718, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] %arraydestroy.element718 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast717, i64 -1 %arraydestroy.element718.val = load ptr, ptr %arraydestroy.element718, align 8 - %tobool.not.i.i.i.i693 = icmp eq ptr %arraydestroy.element718.val, null - br i1 %tobool.not.i.i.i.i693, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695, label %if.then.i.i.i.i694 + %tobool.not.i.i.i.i726 = icmp eq ptr %arraydestroy.element718.val, null + br i1 %tobool.not.i.i.i.i726, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, label %if.then.i.i.i.i727 -if.then.i.i.i.i694: ; preds = %arraydestroy.body716 +if.then.i.i.i.i727: ; preds = %arraydestroy.body716 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element718.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695: ; preds = %arraydestroy.body716, %if.then.i.i.i.i694 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728: ; preds = %arraydestroy.body716, %if.then.i.i.i.i727 %arraydestroy.done719 = icmp eq ptr %arraydestroy.element718, %ref.tmp472 br i1 %arraydestroy.done719, label %ehcleanup727, label %arraydestroy.body716 -ehcleanup727: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695, %lpad.i.i404, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668, %if.then.i.i.i.i399, %lpad.i.i396 - %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %30, %if.then.i.i.i.i399 ], [ %30, %lpad.i.i396 ], [ %31, %lpad.i.i404 ], [ %386, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ] - %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element436, %if.then.i.i.i.i399 ], [ %arrayinit.element436, %lpad.i.i396 ], [ %arrayinit.element470, %lpad.i.i404 ], [ %arrayinit.element470, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %arrayinit.endOfInit.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ] - %cleanup.isactive.5 = phi i1 [ true, %if.then.i.i.i.i399 ], [ true, %lpad.i.i396 ], [ true, %lpad.i.i404 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %cleanup.isactive.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ] +ehcleanup727: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, %lpad.i.i427, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701, %if.then.i.i.i.i422, %lpad.i.i419 + %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %30, %if.then.i.i.i.i422 ], [ %30, %lpad.i.i419 ], [ %31, %lpad.i.i427 ], [ %386, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ], [ %.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] + %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element436, %if.then.i.i.i.i422 ], [ %arrayinit.element436, %lpad.i.i419 ], [ %arrayinit.element470, %lpad.i.i427 ], [ %arrayinit.element470, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ], [ %arrayinit.endOfInit.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] + %cleanup.isactive.5 = phi i1 [ true, %if.then.i.i.i.i422 ], [ true, %lpad.i.i419 ], [ true, %lpad.i.i427 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ], [ %cleanup.isactive.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] br label %arraydestroy.body729 -arraydestroy.body729: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698, %ehcleanup727 - %arraydestroy.elementPast730 = phi ptr [ %add.ptr.i.i395, %ehcleanup727 ], [ %arraydestroy.element731, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ] +arraydestroy.body729: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, %ehcleanup727 + %arraydestroy.elementPast730 = phi ptr [ %add.ptr.i.i418, %ehcleanup727 ], [ %arraydestroy.element731, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] %arraydestroy.element731 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast730, i64 -1 %arraydestroy.element731.val = load ptr, ptr %arraydestroy.element731, align 8 - %tobool.not.i.i.i.i696 = icmp eq ptr %arraydestroy.element731.val, null - br i1 %tobool.not.i.i.i.i696, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698, label %if.then.i.i.i.i697 + %tobool.not.i.i.i.i729 = icmp eq ptr %arraydestroy.element731.val, null + br i1 %tobool.not.i.i.i.i729, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, label %if.then.i.i.i.i730 -if.then.i.i.i.i697: ; preds = %arraydestroy.body729 +if.then.i.i.i.i730: ; preds = %arraydestroy.body729 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element731.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698: ; preds = %arraydestroy.body729, %if.then.i.i.i.i697 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731: ; preds = %arraydestroy.body729, %if.then.i.i.i.i730 %arraydestroy.done732 = icmp eq ptr %arraydestroy.element731, %ref.tmp438 br i1 %arraydestroy.done732, label %ehcleanup740, label %arraydestroy.body729 -ehcleanup740: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698, %lpad.i.i375, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665, %if.then.i.i.i.i370, %lpad.i.i367 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %28, %if.then.i.i.i.i370 ], [ %28, %lpad.i.i367 ], [ %29, %lpad.i.i375 ], [ %385, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ] - %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element402, %if.then.i.i.i.i370 ], [ %arrayinit.element402, %lpad.i.i367 ], [ %arrayinit.element436, %lpad.i.i375 ], [ %arrayinit.element436, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %arrayinit.endOfInit.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ] - %cleanup.isactive.6 = phi i1 [ true, %if.then.i.i.i.i370 ], [ true, %lpad.i.i367 ], [ true, %lpad.i.i375 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit665 ], [ %cleanup.isactive.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ] +ehcleanup740: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, %lpad.i.i396, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698, %if.then.i.i.i.i391, %lpad.i.i388 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %28, %if.then.i.i.i.i391 ], [ %28, %lpad.i.i388 ], [ %29, %lpad.i.i396 ], [ %385, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] + %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element402, %if.then.i.i.i.i391 ], [ %arrayinit.element402, %lpad.i.i388 ], [ %arrayinit.element436, %lpad.i.i396 ], [ %arrayinit.element436, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ], [ %arrayinit.endOfInit.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] + %cleanup.isactive.6 = phi i1 [ true, %if.then.i.i.i.i391 ], [ true, %lpad.i.i388 ], [ true, %lpad.i.i396 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit698 ], [ %cleanup.isactive.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] br label %arraydestroy.body742 -arraydestroy.body742: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701, %ehcleanup740 - %arraydestroy.elementPast743 = phi ptr [ %add.ptr.i.i366, %ehcleanup740 ], [ %arraydestroy.element744, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ] +arraydestroy.body742: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, %ehcleanup740 + %arraydestroy.elementPast743 = phi ptr [ %add.ptr.i.i387, %ehcleanup740 ], [ %arraydestroy.element744, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] %arraydestroy.element744 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast743, i64 -1 %arraydestroy.element744.val = load ptr, ptr %arraydestroy.element744, align 8 - %tobool.not.i.i.i.i699 = icmp eq ptr %arraydestroy.element744.val, null - br i1 %tobool.not.i.i.i.i699, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701, label %if.then.i.i.i.i700 + %tobool.not.i.i.i.i732 = icmp eq ptr %arraydestroy.element744.val, null + br i1 %tobool.not.i.i.i.i732, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, label %if.then.i.i.i.i733 -if.then.i.i.i.i700: ; preds = %arraydestroy.body742 +if.then.i.i.i.i733: ; preds = %arraydestroy.body742 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element744.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701: ; preds = %arraydestroy.body742, %if.then.i.i.i.i700 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734: ; preds = %arraydestroy.body742, %if.then.i.i.i.i733 %arraydestroy.done745 = icmp eq ptr %arraydestroy.element744, %ref.tmp404 br i1 %arraydestroy.done745, label %ehcleanup753, label %arraydestroy.body742 -ehcleanup753: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701, %lpad.i.i346, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662, %if.then.i.i.i.i341, %lpad.i.i338 - %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %26, %if.then.i.i.i.i341 ], [ %26, %lpad.i.i338 ], [ %27, %lpad.i.i346 ], [ %384, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element368, %if.then.i.i.i.i341 ], [ %arrayinit.element368, %lpad.i.i338 ], [ %arrayinit.element402, %lpad.i.i346 ], [ %arrayinit.element402, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662 ], [ %arrayinit.endOfInit.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ] - %cleanup.isactive.7 = phi i1 [ true, %if.then.i.i.i.i341 ], [ true, %lpad.i.i338 ], [ true, %lpad.i.i346 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit662 ], [ %cleanup.isactive.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit701 ] +ehcleanup753: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, %lpad.i.i365, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695, %if.then.i.i.i.i360, %lpad.i.i357 + %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %26, %if.then.i.i.i.i360 ], [ %26, %lpad.i.i357 ], [ %27, %lpad.i.i365 ], [ %384, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element368, %if.then.i.i.i.i360 ], [ %arrayinit.element368, %lpad.i.i357 ], [ %arrayinit.element402, %lpad.i.i365 ], [ %arrayinit.element402, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ], [ %arrayinit.endOfInit.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] + %cleanup.isactive.7 = phi i1 [ true, %if.then.i.i.i.i360 ], [ true, %lpad.i.i357 ], [ true, %lpad.i.i365 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit695 ], [ %cleanup.isactive.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] br label %arraydestroy.body755 -arraydestroy.body755: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704, %ehcleanup753 - %arraydestroy.elementPast756 = phi ptr [ %add.ptr.i.i337, %ehcleanup753 ], [ %arraydestroy.element757, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ] +arraydestroy.body755: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, %ehcleanup753 + %arraydestroy.elementPast756 = phi ptr [ %add.ptr.i.i356, %ehcleanup753 ], [ %arraydestroy.element757, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] %arraydestroy.element757 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast756, i64 -1 %arraydestroy.element757.val = load ptr, ptr %arraydestroy.element757, align 8 - %tobool.not.i.i.i.i702 = icmp eq ptr %arraydestroy.element757.val, null - br i1 %tobool.not.i.i.i.i702, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704, label %if.then.i.i.i.i703 + %tobool.not.i.i.i.i735 = icmp eq ptr %arraydestroy.element757.val, null + br i1 %tobool.not.i.i.i.i735, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, label %if.then.i.i.i.i736 -if.then.i.i.i.i703: ; preds = %arraydestroy.body755 +if.then.i.i.i.i736: ; preds = %arraydestroy.body755 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element757.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704: ; preds = %arraydestroy.body755, %if.then.i.i.i.i703 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737: ; preds = %arraydestroy.body755, %if.then.i.i.i.i736 %arraydestroy.done758 = icmp eq ptr %arraydestroy.element757, %ref.tmp370 br i1 %arraydestroy.done758, label %ehcleanup766, label %arraydestroy.body755 -ehcleanup766: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704, %lpad.i.i317, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659, %if.then.i.i.i.i312, %lpad.i.i309 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %24, %if.then.i.i.i.i312 ], [ %24, %lpad.i.i309 ], [ %25, %lpad.i.i317 ], [ %383, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ] - %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element334, %if.then.i.i.i.i312 ], [ %arrayinit.element334, %lpad.i.i309 ], [ %arrayinit.element368, %lpad.i.i317 ], [ %arrayinit.element368, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659 ], [ %arrayinit.endOfInit.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ] - %cleanup.isactive.8 = phi i1 [ true, %if.then.i.i.i.i312 ], [ true, %lpad.i.i309 ], [ true, %lpad.i.i317 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit659 ], [ %cleanup.isactive.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit704 ] +ehcleanup766: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737, %lpad.i.i334, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692, %if.then.i.i.i.i329, %lpad.i.i326 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %24, %if.then.i.i.i.i329 ], [ %24, %lpad.i.i326 ], [ %25, %lpad.i.i334 ], [ %383, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] + %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element334, %if.then.i.i.i.i329 ], [ %arrayinit.element334, %lpad.i.i326 ], [ %arrayinit.element368, %lpad.i.i334 ], [ %arrayinit.element368, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ], [ %arrayinit.endOfInit.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] + %cleanup.isactive.8 = phi i1 [ true, %if.then.i.i.i.i329 ], [ true, %lpad.i.i326 ], [ true, %lpad.i.i334 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit692 ], [ %cleanup.isactive.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit737 ] br label %arraydestroy.body768 -arraydestroy.body768: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707, %ehcleanup766 - %arraydestroy.elementPast769 = phi ptr [ %add.ptr.i.i308, %ehcleanup766 ], [ %arraydestroy.element770, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ] +arraydestroy.body768: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, %ehcleanup766 + %arraydestroy.elementPast769 = phi ptr [ %add.ptr.i.i325, %ehcleanup766 ], [ %arraydestroy.element770, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] %arraydestroy.element770 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast769, i64 -1 %arraydestroy.element770.val = load ptr, ptr %arraydestroy.element770, align 8 - %tobool.not.i.i.i.i705 = icmp eq ptr %arraydestroy.element770.val, null - br i1 %tobool.not.i.i.i.i705, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707, label %if.then.i.i.i.i706 + %tobool.not.i.i.i.i738 = icmp eq ptr %arraydestroy.element770.val, null + br i1 %tobool.not.i.i.i.i738, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, label %if.then.i.i.i.i739 -if.then.i.i.i.i706: ; preds = %arraydestroy.body768 +if.then.i.i.i.i739: ; preds = %arraydestroy.body768 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element770.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707: ; preds = %arraydestroy.body768, %if.then.i.i.i.i706 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740: ; preds = %arraydestroy.body768, %if.then.i.i.i.i739 %arraydestroy.done771 = icmp eq ptr %arraydestroy.element770, %ref.tmp336 br i1 %arraydestroy.done771, label %ehcleanup779, label %arraydestroy.body768 -ehcleanup779: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707, %lpad.i.i288, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656, %if.then.i.i.i.i283, %lpad.i.i280 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %22, %if.then.i.i.i.i283 ], [ %22, %lpad.i.i280 ], [ %23, %lpad.i.i288 ], [ %382, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ] - %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element300, %if.then.i.i.i.i283 ], [ %arrayinit.element300, %lpad.i.i280 ], [ %arrayinit.element334, %lpad.i.i288 ], [ %arrayinit.element334, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656 ], [ %arrayinit.endOfInit.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ] - %cleanup.isactive.9 = phi i1 [ true, %if.then.i.i.i.i283 ], [ true, %lpad.i.i280 ], [ true, %lpad.i.i288 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit656 ], [ %cleanup.isactive.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit707 ] +ehcleanup779: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, %lpad.i.i303, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689, %if.then.i.i.i.i298, %lpad.i.i295 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %22, %if.then.i.i.i.i298 ], [ %22, %lpad.i.i295 ], [ %23, %lpad.i.i303 ], [ %382, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] + %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element300, %if.then.i.i.i.i298 ], [ %arrayinit.element300, %lpad.i.i295 ], [ %arrayinit.element334, %lpad.i.i303 ], [ %arrayinit.element334, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ], [ %arrayinit.endOfInit.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] + %cleanup.isactive.9 = phi i1 [ true, %if.then.i.i.i.i298 ], [ true, %lpad.i.i295 ], [ true, %lpad.i.i303 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit689 ], [ %cleanup.isactive.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] br label %arraydestroy.body781 -arraydestroy.body781: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710, %ehcleanup779 - %arraydestroy.elementPast782 = phi ptr [ %add.ptr.i.i279, %ehcleanup779 ], [ %arraydestroy.element783, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ] +arraydestroy.body781: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, %ehcleanup779 + %arraydestroy.elementPast782 = phi ptr [ %add.ptr.i.i294, %ehcleanup779 ], [ %arraydestroy.element783, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] %arraydestroy.element783 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast782, i64 -1 %arraydestroy.element783.val = load ptr, ptr %arraydestroy.element783, align 8 - %tobool.not.i.i.i.i708 = icmp eq ptr %arraydestroy.element783.val, null - br i1 %tobool.not.i.i.i.i708, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710, label %if.then.i.i.i.i709 + %tobool.not.i.i.i.i741 = icmp eq ptr %arraydestroy.element783.val, null + br i1 %tobool.not.i.i.i.i741, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, label %if.then.i.i.i.i742 -if.then.i.i.i.i709: ; preds = %arraydestroy.body781 +if.then.i.i.i.i742: ; preds = %arraydestroy.body781 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element783.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710: ; preds = %arraydestroy.body781, %if.then.i.i.i.i709 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743: ; preds = %arraydestroy.body781, %if.then.i.i.i.i742 %arraydestroy.done784 = icmp eq ptr %arraydestroy.element783, %ref.tmp302 br i1 %arraydestroy.done784, label %ehcleanup792, label %arraydestroy.body781 -ehcleanup792: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710, %lpad.i.i259, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653, %if.then.i.i.i.i254, %lpad.i.i251 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %20, %if.then.i.i.i.i254 ], [ %20, %lpad.i.i251 ], [ %21, %lpad.i.i259 ], [ %381, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element266, %if.then.i.i.i.i254 ], [ %arrayinit.element266, %lpad.i.i251 ], [ %arrayinit.element300, %lpad.i.i259 ], [ %arrayinit.element300, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653 ], [ %arrayinit.endOfInit.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ] - %cleanup.isactive.10 = phi i1 [ true, %if.then.i.i.i.i254 ], [ true, %lpad.i.i251 ], [ true, %lpad.i.i259 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit653 ], [ %cleanup.isactive.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit710 ] +ehcleanup792: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, %lpad.i.i272, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686, %if.then.i.i.i.i267, %lpad.i.i264 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %20, %if.then.i.i.i.i267 ], [ %20, %lpad.i.i264 ], [ %21, %lpad.i.i272 ], [ %381, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element266, %if.then.i.i.i.i267 ], [ %arrayinit.element266, %lpad.i.i264 ], [ %arrayinit.element300, %lpad.i.i272 ], [ %arrayinit.element300, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ], [ %arrayinit.endOfInit.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] + %cleanup.isactive.10 = phi i1 [ true, %if.then.i.i.i.i267 ], [ true, %lpad.i.i264 ], [ true, %lpad.i.i272 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit686 ], [ %cleanup.isactive.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] br label %arraydestroy.body794 -arraydestroy.body794: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, %ehcleanup792 - %arraydestroy.elementPast795 = phi ptr [ %add.ptr.i.i250, %ehcleanup792 ], [ %arraydestroy.element796, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] +arraydestroy.body794: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, %ehcleanup792 + %arraydestroy.elementPast795 = phi ptr [ %add.ptr.i.i263, %ehcleanup792 ], [ %arraydestroy.element796, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] %arraydestroy.element796 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast795, i64 -1 %arraydestroy.element796.val = load ptr, ptr %arraydestroy.element796, align 8 - %tobool.not.i.i.i.i711 = icmp eq ptr %arraydestroy.element796.val, null - br i1 %tobool.not.i.i.i.i711, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, label %if.then.i.i.i.i712 + %tobool.not.i.i.i.i744 = icmp eq ptr %arraydestroy.element796.val, null + br i1 %tobool.not.i.i.i.i744, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, label %if.then.i.i.i.i745 -if.then.i.i.i.i712: ; preds = %arraydestroy.body794 +if.then.i.i.i.i745: ; preds = %arraydestroy.body794 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element796.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713: ; preds = %arraydestroy.body794, %if.then.i.i.i.i712 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746: ; preds = %arraydestroy.body794, %if.then.i.i.i.i745 %arraydestroy.done797 = icmp eq ptr %arraydestroy.element796, %ref.tmp268 br i1 %arraydestroy.done797, label %ehcleanup805, label %arraydestroy.body794 -ehcleanup805: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713, %lpad.i.i230, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650, %if.then.i.i.i.i225, %lpad.i.i222 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %18, %if.then.i.i.i.i225 ], [ %18, %lpad.i.i222 ], [ %19, %lpad.i.i230 ], [ %380, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] - %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element232, %if.then.i.i.i.i225 ], [ %arrayinit.element232, %lpad.i.i222 ], [ %arrayinit.element266, %lpad.i.i230 ], [ %arrayinit.element266, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650 ], [ %arrayinit.endOfInit.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] - %cleanup.isactive.11 = phi i1 [ true, %if.then.i.i.i.i225 ], [ true, %lpad.i.i222 ], [ true, %lpad.i.i230 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit650 ], [ %cleanup.isactive.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit713 ] +ehcleanup805: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, %lpad.i.i241, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683, %if.then.i.i.i.i236, %lpad.i.i233 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %18, %if.then.i.i.i.i236 ], [ %18, %lpad.i.i233 ], [ %19, %lpad.i.i241 ], [ %380, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] + %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element232, %if.then.i.i.i.i236 ], [ %arrayinit.element232, %lpad.i.i233 ], [ %arrayinit.element266, %lpad.i.i241 ], [ %arrayinit.element266, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ], [ %arrayinit.endOfInit.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] + %cleanup.isactive.11 = phi i1 [ true, %if.then.i.i.i.i236 ], [ true, %lpad.i.i233 ], [ true, %lpad.i.i241 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit683 ], [ %cleanup.isactive.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] br label %arraydestroy.body807 -arraydestroy.body807: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, %ehcleanup805 - %arraydestroy.elementPast808 = phi ptr [ %add.ptr.i.i221, %ehcleanup805 ], [ %arraydestroy.element809, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] +arraydestroy.body807: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749, %ehcleanup805 + %arraydestroy.elementPast808 = phi ptr [ %add.ptr.i.i232, %ehcleanup805 ], [ %arraydestroy.element809, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 ] %arraydestroy.element809 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast808, i64 -1 %arraydestroy.element809.val = load ptr, ptr %arraydestroy.element809, align 8 - %tobool.not.i.i.i.i714 = icmp eq ptr %arraydestroy.element809.val, null - br i1 %tobool.not.i.i.i.i714, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, label %if.then.i.i.i.i715 + %tobool.not.i.i.i.i747 = icmp eq ptr %arraydestroy.element809.val, null + br i1 %tobool.not.i.i.i.i747, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749, label %if.then.i.i.i.i748 -if.then.i.i.i.i715: ; preds = %arraydestroy.body807 +if.then.i.i.i.i748: ; preds = %arraydestroy.body807 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element809.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716: ; preds = %arraydestroy.body807, %if.then.i.i.i.i715 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749: ; preds = %arraydestroy.body807, %if.then.i.i.i.i748 %arraydestroy.done810 = icmp eq ptr %arraydestroy.element809, %ref.tmp234 br i1 %arraydestroy.done810, label %ehcleanup818, label %arraydestroy.body807 -ehcleanup818: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716, %lpad.i.i201, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647, %if.then.i.i.i.i196, %lpad.i.i193 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %if.then.i.i.i.i196 ], [ %16, %lpad.i.i193 ], [ %17, %lpad.i.i201 ], [ %379, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] - %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element206, %if.then.i.i.i.i196 ], [ %arrayinit.element206, %lpad.i.i193 ], [ %arrayinit.element232, %lpad.i.i201 ], [ %arrayinit.element232, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647 ], [ %arrayinit.endOfInit.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] - %cleanup.isactive.12 = phi i1 [ true, %if.then.i.i.i.i196 ], [ true, %lpad.i.i193 ], [ true, %lpad.i.i201 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit647 ], [ %cleanup.isactive.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit716 ] +ehcleanup818: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749, %lpad.i.i210, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680, %if.then.i.i.i.i205, %lpad.i.i202 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %if.then.i.i.i.i205 ], [ %16, %lpad.i.i202 ], [ %17, %lpad.i.i210 ], [ %379, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 ] + %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element206, %if.then.i.i.i.i205 ], [ %arrayinit.element206, %lpad.i.i202 ], [ %arrayinit.element232, %lpad.i.i210 ], [ %arrayinit.element232, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %arrayinit.endOfInit.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 ] + %cleanup.isactive.12 = phi i1 [ true, %if.then.i.i.i.i205 ], [ true, %lpad.i.i202 ], [ true, %lpad.i.i210 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit680 ], [ %cleanup.isactive.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit749 ] br label %arraydestroy.body820 -arraydestroy.body820: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, %ehcleanup818 - %arraydestroy.elementPast821 = phi ptr [ %add.ptr.i.i192, %ehcleanup818 ], [ %arraydestroy.element822, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] +arraydestroy.body820: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752, %ehcleanup818 + %arraydestroy.elementPast821 = phi ptr [ %add.ptr.i.i201, %ehcleanup818 ], [ %arraydestroy.element822, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 ] %arraydestroy.element822 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast821, i64 -1 %arraydestroy.element822.val = load ptr, ptr %arraydestroy.element822, align 8 - %tobool.not.i.i.i.i717 = icmp eq ptr %arraydestroy.element822.val, null - br i1 %tobool.not.i.i.i.i717, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, label %if.then.i.i.i.i718 + %tobool.not.i.i.i.i750 = icmp eq ptr %arraydestroy.element822.val, null + br i1 %tobool.not.i.i.i.i750, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752, label %if.then.i.i.i.i751 -if.then.i.i.i.i718: ; preds = %arraydestroy.body820 +if.then.i.i.i.i751: ; preds = %arraydestroy.body820 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element822.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719: ; preds = %arraydestroy.body820, %if.then.i.i.i.i718 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752: ; preds = %arraydestroy.body820, %if.then.i.i.i.i751 %arraydestroy.done823 = icmp eq ptr %arraydestroy.element822, %ref.tmp208 br i1 %arraydestroy.done823, label %ehcleanup831, label %arraydestroy.body820 -ehcleanup831: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719, %lpad.i.i183, %if.then.i.i.i.i178, %lpad.i.i175 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %14, %if.then.i.i.i.i178 ], [ %14, %lpad.i.i175 ], [ %15, %lpad.i.i183 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element180, %if.then.i.i.i.i178 ], [ %arrayinit.element180, %lpad.i.i175 ], [ %arrayinit.element206, %lpad.i.i183 ], [ %arrayinit.endOfInit.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] - %cleanup.isactive.13 = phi i1 [ true, %if.then.i.i.i.i178 ], [ true, %lpad.i.i175 ], [ true, %lpad.i.i183 ], [ %cleanup.isactive.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit719 ] +ehcleanup831: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752, %lpad.i.i191, %if.then.i.i.i.i186, %lpad.i.i183 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %14, %if.then.i.i.i.i186 ], [ %14, %lpad.i.i183 ], [ %15, %lpad.i.i191 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element180, %if.then.i.i.i.i186 ], [ %arrayinit.element180, %lpad.i.i183 ], [ %arrayinit.element206, %lpad.i.i191 ], [ %arrayinit.endOfInit.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 ] + %cleanup.isactive.13 = phi i1 [ true, %if.then.i.i.i.i186 ], [ true, %lpad.i.i183 ], [ true, %lpad.i.i191 ], [ %cleanup.isactive.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit752 ] br label %arraydestroy.body833 -arraydestroy.body833: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, %ehcleanup831 - %arraydestroy.elementPast834 = phi ptr [ %add.ptr.i.i174, %ehcleanup831 ], [ %arraydestroy.element835, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] +arraydestroy.body833: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755, %ehcleanup831 + %arraydestroy.elementPast834 = phi ptr [ %add.ptr.i.i182, %ehcleanup831 ], [ %arraydestroy.element835, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 ] %arraydestroy.element835 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast834, i64 -1 %arraydestroy.element835.val = load ptr, ptr %arraydestroy.element835, align 8 - %tobool.not.i.i.i.i720 = icmp eq ptr %arraydestroy.element835.val, null - br i1 %tobool.not.i.i.i.i720, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, label %if.then.i.i.i.i721 + %tobool.not.i.i.i.i753 = icmp eq ptr %arraydestroy.element835.val, null + br i1 %tobool.not.i.i.i.i753, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755, label %if.then.i.i.i.i754 -if.then.i.i.i.i721: ; preds = %arraydestroy.body833 +if.then.i.i.i.i754: ; preds = %arraydestroy.body833 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element835.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722: ; preds = %arraydestroy.body833, %if.then.i.i.i.i721 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755: ; preds = %arraydestroy.body833, %if.then.i.i.i.i754 %arraydestroy.done836 = icmp eq ptr %arraydestroy.element835, %ref.tmp182 br i1 %arraydestroy.done836, label %ehcleanup844, label %arraydestroy.body833 -ehcleanup844: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722, %lpad.i.i165, %if.then.i.i.i.i160, %lpad.i.i157 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %12, %if.then.i.i.i.i160 ], [ %12, %lpad.i.i157 ], [ %13, %lpad.i.i165 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] - %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element154, %if.then.i.i.i.i160 ], [ %arrayinit.element154, %lpad.i.i157 ], [ %arrayinit.element180, %lpad.i.i165 ], [ %arrayinit.endOfInit.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] - %cleanup.isactive.14 = phi i1 [ true, %if.then.i.i.i.i160 ], [ true, %lpad.i.i157 ], [ true, %lpad.i.i165 ], [ %cleanup.isactive.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit722 ] +ehcleanup844: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755, %lpad.i.i172, %if.then.i.i.i.i167, %lpad.i.i164 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %12, %if.then.i.i.i.i167 ], [ %12, %lpad.i.i164 ], [ %13, %lpad.i.i172 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 ] + %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element154, %if.then.i.i.i.i167 ], [ %arrayinit.element154, %lpad.i.i164 ], [ %arrayinit.element180, %lpad.i.i172 ], [ %arrayinit.endOfInit.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 ] + %cleanup.isactive.14 = phi i1 [ true, %if.then.i.i.i.i167 ], [ true, %lpad.i.i164 ], [ true, %lpad.i.i172 ], [ %cleanup.isactive.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit755 ] br label %arraydestroy.body846 -arraydestroy.body846: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, %ehcleanup844 - %arraydestroy.elementPast847 = phi ptr [ %add.ptr.i.i156, %ehcleanup844 ], [ %arraydestroy.element848, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] +arraydestroy.body846: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758, %ehcleanup844 + %arraydestroy.elementPast847 = phi ptr [ %add.ptr.i.i163, %ehcleanup844 ], [ %arraydestroy.element848, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 ] %arraydestroy.element848 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast847, i64 -1 %arraydestroy.element848.val = load ptr, ptr %arraydestroy.element848, align 8 - %tobool.not.i.i.i.i723 = icmp eq ptr %arraydestroy.element848.val, null - br i1 %tobool.not.i.i.i.i723, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, label %if.then.i.i.i.i724 + %tobool.not.i.i.i.i756 = icmp eq ptr %arraydestroy.element848.val, null + br i1 %tobool.not.i.i.i.i756, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758, label %if.then.i.i.i.i757 -if.then.i.i.i.i724: ; preds = %arraydestroy.body846 +if.then.i.i.i.i757: ; preds = %arraydestroy.body846 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element848.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725: ; preds = %arraydestroy.body846, %if.then.i.i.i.i724 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758: ; preds = %arraydestroy.body846, %if.then.i.i.i.i757 %arraydestroy.done849 = icmp eq ptr %arraydestroy.element848, %ref.tmp156 br i1 %arraydestroy.done849, label %ehcleanup857, label %arraydestroy.body846 -ehcleanup857: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644, %if.then.i.i.i.i142, %lpad.i.i139 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %11, %if.then.i.i.i.i142 ], [ %11, %lpad.i.i139 ], [ %378, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] - %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element128, %if.then.i.i.i.i142 ], [ %arrayinit.element128, %lpad.i.i139 ], [ %arrayinit.element154, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644 ], [ %arrayinit.endOfInit.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] - %cleanup.isactive.15 = phi i1 [ true, %if.then.i.i.i.i142 ], [ true, %lpad.i.i139 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit644 ], [ %cleanup.isactive.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit725 ] +ehcleanup857: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677, %if.then.i.i.i.i148, %lpad.i.i145 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %11, %if.then.i.i.i.i148 ], [ %11, %lpad.i.i145 ], [ %378, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 ] + %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element128, %if.then.i.i.i.i148 ], [ %arrayinit.element128, %lpad.i.i145 ], [ %arrayinit.element154, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %arrayinit.endOfInit.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 ] + %cleanup.isactive.15 = phi i1 [ true, %if.then.i.i.i.i148 ], [ true, %lpad.i.i145 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit677 ], [ %cleanup.isactive.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit758 ] br label %arraydestroy.body859 -arraydestroy.body859: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, %ehcleanup857 - %arraydestroy.elementPast860 = phi ptr [ %add.ptr.i.i138, %ehcleanup857 ], [ %arraydestroy.element861, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] +arraydestroy.body859: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761, %ehcleanup857 + %arraydestroy.elementPast860 = phi ptr [ %add.ptr.i.i144, %ehcleanup857 ], [ %arraydestroy.element861, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 ] %arraydestroy.element861 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast860, i64 -1 %arraydestroy.element861.val = load ptr, ptr %arraydestroy.element861, align 8 - %tobool.not.i.i.i.i726 = icmp eq ptr %arraydestroy.element861.val, null - br i1 %tobool.not.i.i.i.i726, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, label %if.then.i.i.i.i727 + %tobool.not.i.i.i.i759 = icmp eq ptr %arraydestroy.element861.val, null + br i1 %tobool.not.i.i.i.i759, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761, label %if.then.i.i.i.i760 -if.then.i.i.i.i727: ; preds = %arraydestroy.body859 +if.then.i.i.i.i760: ; preds = %arraydestroy.body859 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element861.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728: ; preds = %arraydestroy.body859, %if.then.i.i.i.i727 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761: ; preds = %arraydestroy.body859, %if.then.i.i.i.i760 %arraydestroy.done862 = icmp eq ptr %arraydestroy.element861, %ref.tmp130 br i1 %arraydestroy.done862, label %ehcleanup870, label %arraydestroy.body859 -ehcleanup870: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641, %if.then.i.i.i.i124, %lpad.i.i121 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %if.then.i.i.i.i124 ], [ %10, %lpad.i.i121 ], [ %377, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element82, %if.then.i.i.i.i124 ], [ %arrayinit.element82, %lpad.i.i121 ], [ %arrayinit.element128, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641 ], [ %arrayinit.endOfInit.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] - %cleanup.isactive.16 = phi i1 [ true, %if.then.i.i.i.i124 ], [ true, %lpad.i.i121 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit641 ], [ %cleanup.isactive.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit728 ] +ehcleanup870: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674, %if.then.i.i.i.i129, %lpad.i.i126 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %10, %if.then.i.i.i.i129 ], [ %10, %lpad.i.i126 ], [ %377, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element82, %if.then.i.i.i.i129 ], [ %arrayinit.element82, %lpad.i.i126 ], [ %arrayinit.element128, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %arrayinit.endOfInit.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 ] + %cleanup.isactive.16 = phi i1 [ true, %if.then.i.i.i.i129 ], [ true, %lpad.i.i126 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit674 ], [ %cleanup.isactive.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit761 ] br label %arraydestroy.body872 -arraydestroy.body872: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, %ehcleanup870 - %arraydestroy.elementPast873 = phi ptr [ %add.ptr.i.i120, %ehcleanup870 ], [ %arraydestroy.element874, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ] +arraydestroy.body872: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764, %ehcleanup870 + %arraydestroy.elementPast873 = phi ptr [ %add.ptr.i.i125, %ehcleanup870 ], [ %arraydestroy.element874, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 ] %arraydestroy.element874 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast873, i64 -1 %arraydestroy.element874.val = load ptr, ptr %arraydestroy.element874, align 8 - %tobool.not.i.i.i.i729 = icmp eq ptr %arraydestroy.element874.val, null - br i1 %tobool.not.i.i.i.i729, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, label %if.then.i.i.i.i730 + %tobool.not.i.i.i.i762 = icmp eq ptr %arraydestroy.element874.val, null + br i1 %tobool.not.i.i.i.i762, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764, label %if.then.i.i.i.i763 -if.then.i.i.i.i730: ; preds = %arraydestroy.body872 +if.then.i.i.i.i763: ; preds = %arraydestroy.body872 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element874.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731: ; preds = %arraydestroy.body872, %if.then.i.i.i.i730 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764: ; preds = %arraydestroy.body872, %if.then.i.i.i.i763 %arraydestroy.done875 = icmp eq ptr %arraydestroy.element874, %ref.tmp84 br i1 %arraydestroy.done875, label %ehcleanup883, label %arraydestroy.body872 -ehcleanup883: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731, %lpad.i.i88, %if.then.i.i.i.i83, %lpad.i.i80 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %6, %if.then.i.i.i.i83 ], [ %6, %lpad.i.i80 ], [ %7, %lpad.i.i88 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ], [ %eh.lpad-body95, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 ] - %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element48, %if.then.i.i.i.i83 ], [ %arrayinit.element48, %lpad.i.i80 ], [ %arrayinit.element82, %lpad.i.i88 ], [ %arrayinit.endOfInit.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ], [ %arrayinit.element82, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 ] - %cleanup.isactive.17 = phi i1 [ true, %if.then.i.i.i.i83 ], [ true, %lpad.i.i80 ], [ true, %lpad.i.i88 ], [ %cleanup.isactive.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit731 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit638 ] +ehcleanup883: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764, %lpad.i.i90, %if.then.i.i.i.i85, %lpad.i.i82 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %6, %if.then.i.i.i.i85 ], [ %6, %lpad.i.i82 ], [ %7, %lpad.i.i90 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 ], [ %eh.lpad-body98, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ] + %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element48, %if.then.i.i.i.i85 ], [ %arrayinit.element48, %lpad.i.i82 ], [ %arrayinit.element82, %lpad.i.i90 ], [ %arrayinit.endOfInit.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 ], [ %arrayinit.element82, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ] + %cleanup.isactive.17 = phi i1 [ true, %if.then.i.i.i.i85 ], [ true, %lpad.i.i82 ], [ true, %lpad.i.i90 ], [ %cleanup.isactive.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit764 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit671 ] br label %arraydestroy.body885 -arraydestroy.body885: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, %ehcleanup883 - %arraydestroy.elementPast886 = phi ptr [ %add.ptr.i.i79, %ehcleanup883 ], [ %arraydestroy.element887, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] +arraydestroy.body885: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767, %ehcleanup883 + %arraydestroy.elementPast886 = phi ptr [ %add.ptr.i.i81, %ehcleanup883 ], [ %arraydestroy.element887, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767 ] %arraydestroy.element887 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast886, i64 -1 %arraydestroy.element887.val = load ptr, ptr %arraydestroy.element887, align 8 - %tobool.not.i.i.i.i732 = icmp eq ptr %arraydestroy.element887.val, null - br i1 %tobool.not.i.i.i.i732, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, label %if.then.i.i.i.i733 + %tobool.not.i.i.i.i765 = icmp eq ptr %arraydestroy.element887.val, null + br i1 %tobool.not.i.i.i.i765, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767, label %if.then.i.i.i.i766 -if.then.i.i.i.i733: ; preds = %arraydestroy.body885 +if.then.i.i.i.i766: ; preds = %arraydestroy.body885 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element887.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734: ; preds = %arraydestroy.body885, %if.then.i.i.i.i733 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767: ; preds = %arraydestroy.body885, %if.then.i.i.i.i766 %arraydestroy.done888 = icmp eq ptr %arraydestroy.element887, %ref.tmp50 br i1 %arraydestroy.done888, label %ehcleanup896, label %arraydestroy.body885 -ehcleanup896: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734, %lpad.i.i59, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635, %if.then.i.i.i.i54, %lpad.i.i51 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i.i.i54 ], [ %4, %lpad.i.i51 ], [ %5, %lpad.i.i59 ], [ %376, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] - %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element29, %if.then.i.i.i.i54 ], [ %arrayinit.element29, %lpad.i.i51 ], [ %arrayinit.element48, %lpad.i.i59 ], [ %arrayinit.element48, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 ], [ %arrayinit.endOfInit.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] - %cleanup.isactive.18 = phi i1 [ true, %if.then.i.i.i.i54 ], [ true, %lpad.i.i51 ], [ true, %lpad.i.i59 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit635 ], [ %cleanup.isactive.17, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit734 ] +ehcleanup896: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767, %lpad.i.i59, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668, %if.then.i.i.i.i54, %lpad.i.i51 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i.i.i54 ], [ %4, %lpad.i.i51 ], [ %5, %lpad.i.i59 ], [ %376, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767 ] + %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element29, %if.then.i.i.i.i54 ], [ %arrayinit.element29, %lpad.i.i51 ], [ %arrayinit.element48, %lpad.i.i59 ], [ %arrayinit.element48, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %arrayinit.endOfInit.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767 ] + %cleanup.isactive.18 = phi i1 [ true, %if.then.i.i.i.i54 ], [ true, %lpad.i.i51 ], [ true, %lpad.i.i59 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit668 ], [ %cleanup.isactive.17, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit767 ] %arraydestroy.element900.val = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i.i735 = icmp eq ptr %arraydestroy.element900.val, null - br i1 %tobool.not.i.i.i.i735, label %ehcleanup909, label %if.then.i.i.i.i736 + %tobool.not.i.i.i.i768 = icmp eq ptr %arraydestroy.element900.val, null + br i1 %tobool.not.i.i.i.i768, label %ehcleanup909, label %if.then.i.i.i.i769 -if.then.i.i.i.i736: ; preds = %ehcleanup896 +if.then.i.i.i.i769: ; preds = %ehcleanup896 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element900.val) #31 br label %ehcleanup909 -ehcleanup909: ; preds = %if.then.i.i.i.i736, %ehcleanup896, %lpad.i.i46, %if.then.i.i.i.i42, %lpad.i.i39 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i.i.i42 ], [ %2, %lpad.i.i39 ], [ %3, %lpad.i.i46 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup896 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i736 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element17, %if.then.i.i.i.i42 ], [ %arrayinit.element17, %lpad.i.i39 ], [ %arrayinit.element29, %lpad.i.i46 ], [ %arrayinit.endOfInit.17, %ehcleanup896 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i736 ] - %cleanup.isactive.19 = phi i1 [ true, %if.then.i.i.i.i42 ], [ true, %lpad.i.i39 ], [ true, %lpad.i.i46 ], [ %cleanup.isactive.18, %ehcleanup896 ], [ %cleanup.isactive.18, %if.then.i.i.i.i736 ] +ehcleanup909: ; preds = %if.then.i.i.i.i769, %ehcleanup896, %lpad.i.i46, %if.then.i.i.i.i42, %lpad.i.i39 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i.i.i42 ], [ %2, %lpad.i.i39 ], [ %3, %lpad.i.i46 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup896 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i769 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element17, %if.then.i.i.i.i42 ], [ %arrayinit.element17, %lpad.i.i39 ], [ %arrayinit.element29, %lpad.i.i46 ], [ %arrayinit.endOfInit.17, %ehcleanup896 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i769 ] + %cleanup.isactive.19 = phi i1 [ true, %if.then.i.i.i.i42 ], [ true, %lpad.i.i39 ], [ true, %lpad.i.i46 ], [ %cleanup.isactive.18, %ehcleanup896 ], [ %cleanup.isactive.18, %if.then.i.i.i.i769 ] br label %arraydestroy.body911 -arraydestroy.body911: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, %ehcleanup909 - %arraydestroy.elementPast912 = phi ptr [ %add.ptr.i.i38, %ehcleanup909 ], [ %arraydestroy.element913, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] +arraydestroy.body911: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773, %ehcleanup909 + %arraydestroy.elementPast912 = phi ptr [ %add.ptr.i.i38, %ehcleanup909 ], [ %arraydestroy.element913, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 ] %arraydestroy.element913 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast912, i64 -1 %arraydestroy.element913.val = load ptr, ptr %arraydestroy.element913, align 8 - %tobool.not.i.i.i.i738 = icmp eq ptr %arraydestroy.element913.val, null - br i1 %tobool.not.i.i.i.i738, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, label %if.then.i.i.i.i739 + %tobool.not.i.i.i.i771 = icmp eq ptr %arraydestroy.element913.val, null + br i1 %tobool.not.i.i.i.i771, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773, label %if.then.i.i.i.i772 -if.then.i.i.i.i739: ; preds = %arraydestroy.body911 +if.then.i.i.i.i772: ; preds = %arraydestroy.body911 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element913.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740: ; preds = %arraydestroy.body911, %if.then.i.i.i.i739 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773: ; preds = %arraydestroy.body911, %if.then.i.i.i.i772 %arraydestroy.done914 = icmp eq ptr %arraydestroy.element913, %ref.tmp19 br i1 %arraydestroy.done914, label %ehcleanup922, label %arraydestroy.body911 -ehcleanup922: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740, %if.then.i.i.i.i34, %lpad.i.i31 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1, %if.then.i.i.i.i34 ], [ %1, %lpad.i.i31 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] - %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element6, %if.then.i.i.i.i34 ], [ %arrayinit.element6, %lpad.i.i31 ], [ %arrayinit.endOfInit.18, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] - %cleanup.isactive.20 = phi i1 [ true, %if.then.i.i.i.i34 ], [ true, %lpad.i.i31 ], [ %cleanup.isactive.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit740 ] +ehcleanup922: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773, %if.then.i.i.i.i34, %lpad.i.i31 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1, %if.then.i.i.i.i34 ], [ %1, %lpad.i.i31 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 ] + %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element6, %if.then.i.i.i.i34 ], [ %arrayinit.element6, %lpad.i.i31 ], [ %arrayinit.endOfInit.18, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 ] + %cleanup.isactive.20 = phi i1 [ true, %if.then.i.i.i.i34 ], [ true, %lpad.i.i31 ], [ %cleanup.isactive.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit773 ] br label %arraydestroy.body924 -arraydestroy.body924: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, %ehcleanup922 - %arraydestroy.elementPast925 = phi ptr [ %add.ptr.i.i30, %ehcleanup922 ], [ %arraydestroy.element926, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] +arraydestroy.body924: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776, %ehcleanup922 + %arraydestroy.elementPast925 = phi ptr [ %add.ptr.i.i30, %ehcleanup922 ], [ %arraydestroy.element926, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776 ] %arraydestroy.element926 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast925, i64 -1 %arraydestroy.element926.val = load ptr, ptr %arraydestroy.element926, align 8 - %tobool.not.i.i.i.i741 = icmp eq ptr %arraydestroy.element926.val, null - br i1 %tobool.not.i.i.i.i741, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, label %if.then.i.i.i.i742 + %tobool.not.i.i.i.i774 = icmp eq ptr %arraydestroy.element926.val, null + br i1 %tobool.not.i.i.i.i774, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776, label %if.then.i.i.i.i775 -if.then.i.i.i.i742: ; preds = %arraydestroy.body924 +if.then.i.i.i.i775: ; preds = %arraydestroy.body924 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element926.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743: ; preds = %arraydestroy.body924, %if.then.i.i.i.i742 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776: ; preds = %arraydestroy.body924, %if.then.i.i.i.i775 %arraydestroy.done927 = icmp eq ptr %arraydestroy.element926, %ref.tmp8 br i1 %arraydestroy.done927, label %ehcleanup935, label %arraydestroy.body924 -ehcleanup935: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743, %if.then.i.i.i.i, %lpad.i.i - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i.i.i ], [ %0, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] - %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %if.then.i.i.i.i ], [ %arrayinit.element, %lpad.i.i ], [ %arrayinit.endOfInit.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] - %cleanup.isactive.21 = phi i1 [ true, %if.then.i.i.i.i ], [ true, %lpad.i.i ], [ %cleanup.isactive.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit743 ] +ehcleanup935: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776, %if.then.i.i.i.i, %lpad.i.i + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i.i.i ], [ %0, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776 ] + %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %if.then.i.i.i.i ], [ %arrayinit.element, %lpad.i.i ], [ %arrayinit.endOfInit.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776 ] + %cleanup.isactive.21 = phi i1 [ true, %if.then.i.i.i.i ], [ true, %lpad.i.i ], [ %cleanup.isactive.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit776 ] %arraydestroy.element939.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i744 = icmp eq ptr %arraydestroy.element939.val, null - br i1 %tobool.not.i.i.i.i744, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, label %if.then.i.i.i.i745 + %tobool.not.i.i.i.i777 = icmp eq ptr %arraydestroy.element939.val, null + br i1 %tobool.not.i.i.i.i777, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit779, label %if.then.i.i.i.i778 -if.then.i.i.i.i745: ; preds = %ehcleanup935 +if.then.i.i.i.i778: ; preds = %ehcleanup935 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element939.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit779 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746: ; preds = %ehcleanup935, %if.then.i.i.i.i745 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit779: ; preds = %ehcleanup935, %if.then.i.i.i.i778 %arraydestroy.isempty943 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.20 %or.cond.not = select i1 %cleanup.isactive.21, i1 %arraydestroy.isempty943, i1 false br i1 %or.cond.not, label %arraydestroy.body944, label %eh.resume -arraydestroy.body944: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, %arraydestroy.body944 - %arraydestroy.elementPast945 = phi ptr [ %arraydestroy.element946, %arraydestroy.body944 ], [ %arrayinit.endOfInit.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ] +arraydestroy.body944: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit779, %arraydestroy.body944 + %arraydestroy.elementPast945 = phi ptr [ %arraydestroy.element946, %arraydestroy.body944 ], [ %arrayinit.endOfInit.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit779 ] %arraydestroy.element946 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %arraydestroy.elementPast945, i64 -1 call fastcc void @_ZN12_GLOBAL__N_117UnorderedSequenceINS0_IiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element946) #28 %arraydestroy.done947 = icmp eq ptr %arraydestroy.element946, %ref.tmp @@ -182406,25 +182409,25 @@ ehcleanup964: ; preds = %lpad961, %lpad959 ehcleanup965: ; preds = %ehcleanup964, %lpad956 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %ehcleanup964 ], [ %396, %lpad956 ] %399 = load ptr, ptr %ref.tmp951, align 8 - %cmp.not.i.i747 = icmp eq ptr %399, null - br i1 %cmp.not.i.i747, label %_ZN7testing7MessageD2Ev.exit751, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i748 + %cmp.not.i.i780 = icmp eq ptr %399, null + br i1 %cmp.not.i.i780, label %_ZN7testing7MessageD2Ev.exit784, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i781 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i748: ; preds = %ehcleanup965 - %vtable.i.i.i749 = load ptr, ptr %399, align 8 - %vfn.i.i.i750 = getelementptr inbounds ptr, ptr %vtable.i.i.i749, i64 1 - %400 = load ptr, ptr %vfn.i.i.i750, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i781: ; preds = %ehcleanup965 + %vtable.i.i.i782 = load ptr, ptr %399, align 8 + %vfn.i.i.i783 = getelementptr inbounds ptr, ptr %vtable.i.i.i782, i64 1 + %400 = load ptr, ptr %vfn.i.i.i783, align 8 call void %400(ptr noundef nonnull align 8 dereferenceable(128) %399) #28 - br label %_ZN7testing7MessageD2Ev.exit751 + br label %_ZN7testing7MessageD2Ev.exit784 -_ZN7testing7MessageD2Ev.exit751: ; preds = %ehcleanup965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i748 +_ZN7testing7MessageD2Ev.exit784: ; preds = %ehcleanup965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i781 store ptr null, ptr %ref.tmp951, align 8 br label %ehcleanup966 if.end: ; preds = %invoke.cont950, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %401 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i752 = icmp eq ptr %401, null - br i1 %cmp.not.i.i752, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i785 = icmp eq ptr %401, null + br i1 %cmp.not.i.i785, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %401) #28 @@ -182436,7 +182439,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %402 = load ptr, ptr %exemplars, align 8 %403 = load ptr, ptr %_M_finish.i.i, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %402, %403 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i754, label %for.body.i.i.i.i + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i787, label %for.body.i.i.i.i for.body.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEEEvPT_.exit.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEEEvPT_.exit.i.i.i.i ], [ %402, %_ZN7testing15AssertionResultD2Ev.exit ] @@ -182476,32 +182479,32 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i _ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1447", ptr %__first.addr.04.i.i.i.i, i64 1 - %cmp.not.i.i.i.i753 = icmp eq ptr %incdec.ptr.i.i.i.i, %403 - br i1 %cmp.not.i.i.i.i753, label %invoke.cont.i754, label %for.body.i.i.i.i, !llvm.loop !4492 + %cmp.not.i.i.i.i786 = icmp eq ptr %incdec.ptr.i.i.i.i, %403 + br i1 %cmp.not.i.i.i.i786, label %invoke.cont.i787, label %for.body.i.i.i.i, !llvm.loop !4492 -invoke.cont.i754: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit - %tobool.not.i.i.i755 = icmp eq ptr %402, null - br i1 %tobool.not.i.i.i755, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEESaIS3_EED2Ev.exit, label %if.then.i.i.i756 +invoke.cont.i787: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit + %tobool.not.i.i.i788 = icmp eq ptr %402, null + br i1 %tobool.not.i.i.i788, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEESaIS3_EED2Ev.exit, label %if.then.i.i.i789 -if.then.i.i.i756: ; preds = %invoke.cont.i754 +if.then.i.i.i789: ; preds = %invoke.cont.i787 call void @_ZdlPv(ptr noundef nonnull %402) #31 br label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEESaIS3_EED2Ev.exit -_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEESaIS3_EED2Ev.exit: ; preds = %invoke.cont.i754, %if.then.i.i.i756 +_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEESaIS3_EED2Ev.exit: ; preds = %invoke.cont.i787, %if.then.i.i.i789 ret void -ehcleanup966: ; preds = %_ZN7testing7MessageD2Ev.exit751, %lpad952 - %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit751 ], [ %395, %lpad952 ] +ehcleanup966: ; preds = %_ZN7testing7MessageD2Ev.exit784, %lpad952 + %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit784 ], [ %395, %lpad952 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup967 -ehcleanup967: ; preds = %if.then.i.i.i43.i, %lpad.body.i622, %if.then.i.i.i.i.i, %lpad.i.i631, %ehcleanup966 - %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup966 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i631 ], [ %.pn46.pn.i.i, %lpad.body.i622 ], [ %.pn46.pn.i.i, %if.then.i.i.i43.i ] +ehcleanup967: ; preds = %if.then.i.i.i44.i, %lpad.body.i655, %if.then.i.i.i.i.i, %lpad.i.i664, %ehcleanup966 + %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup966 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i664 ], [ %.pn46.pn.i.i, %lpad.body.i655 ], [ %.pn46.pn.i.i, %if.then.i.i.i44.i ] call fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceINS1_IiEEEESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body944, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746, %ehcleanup967 - %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup967 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit746 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body944 ] +eh.resume: ; preds = %arraydestroy.body944, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit779, %ehcleanup967 + %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup967 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit779 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body944 ] resume { ptr, i32 } %.pn23.pn.pn.pn.pn } @@ -184510,8 +184513,7 @@ invoke.cont14.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %.noexc21.invoke.con %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %254 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %255 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i, 5 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %255, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %255, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.i.i.i.i.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %253, ptr %252) to label %invoke.cont30.i.i.i.i.i.i.i.i.i.i.i.i unwind label %lpad.i.i.i.i.i.i.i.i.i.i.i.i, !noalias !4542 @@ -187760,7 +187762,7 @@ if.then.i.i.i.i42: ; preds = %lpad.i.i39 invoke.cont28: ; preds = %invoke.cont16 %arrayinit.element29 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp31, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 to label %invoke.cont41 unwind label %common.resume.i common.resume.i: ; preds = %invoke.cont28 @@ -187769,12 +187771,12 @@ common.resume.i: ; preds = %invoke.cont28 br label %ehcleanup909 invoke.cont41: ; preds = %invoke.cont28 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, ptr %ref.tmp31, align 8 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, ptr %ref.tmp31, align 8 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp31, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, i64 1 + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, i64 1 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp31, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8 - store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, align 4 + store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, align 4 store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8 %add.ptr.i.i48 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp31, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element29, i8 0, i64 24, i1 false) @@ -187794,1307 +187796,1307 @@ if.then.i.i.i.i52: ; preds = %lpad.i.i49 invoke.cont47: ; preds = %invoke.cont41 %arrayinit.element48 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 5 - %call5.i.i.i.i1.i.i.i62 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc61 unwind label %lpad60.body.thread876 + %call5.i.i.i.i1.i.i.i63 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc62 unwind label %lpad60.body.thread909 -lpad60.body.thread876: ; preds = %invoke.cont47 +lpad60.body.thread909: ; preds = %invoke.cont47 %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup896 -call5.i.i.i.i1.i.i.i.noexc61: ; preds = %invoke.cont47 - store i32 1, ptr %call5.i.i.i.i1.i.i.i62, align 4 - %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i.i62.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i62, i64 4 - store i32 1, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i.i62.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc62: ; preds = %invoke.cont47 + store i32 1, ptr %call5.i.i.i.i1.i.i.i63, align 4 + %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i.i63.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i63, i64 4 + store i32 1, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i.i63.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp50, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i56 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i56 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont61 unwind label %lpad60.body.thread -lpad60.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc61 +lpad60.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc62 %6 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i62) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i63) #31 br label %ehcleanup896 -invoke.cont61: ; preds = %call5.i.i.i.i1.i.i.i.noexc61 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i56, ptr %ref.tmp50, align 8 +invoke.cont61: ; preds = %call5.i.i.i.i1.i.i.i.noexc62 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i56, ptr %ref.tmp50, align 8 %_M_finish.i.i.i.i.i.i.i58 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i59 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i56, i64 2 + %add.ptr.i.i.i.i.i.i.i59 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i56, i64 2 %_M_end_of_storage.i.i.i.i.i.i.i60 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i59, ptr %_M_end_of_storage.i.i.i.i.i.i.i60, align 8 - %7 = load i64, ptr %call5.i.i.i.i1.i.i.i62, align 4 - store i64 %7, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i56, align 4 + %7 = load i64, ptr %call5.i.i.i.i1.i.i.i63, align 4 + store i64 %7, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i56, align 4 store ptr %add.ptr.i.i.i.i.i.i.i59, ptr %_M_finish.i.i.i.i.i.i.i58, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i62) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i63) #31 %arrayinit.element62 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1 - %call5.i.i.i.i1.i.i.i71 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc70 unwind label %lpad60.body + %call5.i.i.i.i1.i.i.i73 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc72 unwind label %lpad60.body -call5.i.i.i.i1.i.i.i.noexc70: ; preds = %invoke.cont61 - store i32 1, ptr %call5.i.i.i.i1.i.i.i71, align 4 - %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i.i71.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i71, i64 4 - store i32 1, ptr %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i.i71.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc72: ; preds = %invoke.cont61 + store i32 1, ptr %call5.i.i.i.i1.i.i.i73, align 4 + %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i.i73.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i73, i64 4 + store i32 1, ptr %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i.i73.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element62, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i65 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont70 unwind label %lpad60.body.thread870 + %call5.i.i.i.i2.i6.i.i.i.i5.i66 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont70 unwind label %lpad60.body.thread903 -lpad60.body.thread870: ; preds = %call5.i.i.i.i1.i.i.i.noexc70 +lpad60.body.thread903: ; preds = %call5.i.i.i.i1.i.i.i.noexc72 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i71) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i73) #31 br label %arraydestroy.body72 -invoke.cont70: ; preds = %call5.i.i.i.i1.i.i.i.noexc70 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i65, ptr %arrayinit.element62, align 8 - %_M_finish.i.i.i.i.i.i.i67 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i68 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i65, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i69 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i68, ptr %_M_end_of_storage.i.i.i.i.i.i.i69, align 8 - %9 = load i64, ptr %call5.i.i.i.i1.i.i.i71, align 4 - store i64 %9, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i65, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i68, ptr %_M_finish.i.i.i.i.i.i.i67, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i71) #31 - %add.ptr.i.i76 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 2 +invoke.cont70: ; preds = %call5.i.i.i.i1.i.i.i.noexc72 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i66, ptr %arrayinit.element62, align 8 + %_M_finish.i.i.i.i.i.i.i68 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i69 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i66, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i70 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i69, ptr %_M_end_of_storage.i.i.i.i.i.i.i70, align 8 + %9 = load i64, ptr %call5.i.i.i.i1.i.i.i73, align 4 + store i64 %9, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i66, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i69, ptr %_M_finish.i.i.i.i.i.i.i68, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i73) #31 + %add.ptr.i.i78 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, ptr noundef nonnull %ref.tmp50, ptr noundef nonnull %add.ptr.i.i76) - to label %invoke.cont81 unwind label %lpad.i.i77 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, ptr noundef nonnull %ref.tmp50, ptr noundef nonnull %add.ptr.i.i78) + to label %invoke.cont81 unwind label %lpad.i.i79 -lpad.i.i77: ; preds = %invoke.cont70 +lpad.i.i79: ; preds = %invoke.cont70 %10 = landingpad { ptr, i32 } cleanup - %this.val.i.i78 = load ptr, ptr %arrayinit.element48, align 8 - %tobool.not.i.i.i.i79 = icmp eq ptr %this.val.i.i78, null - br i1 %tobool.not.i.i.i.i79, label %ehcleanup883, label %ehcleanup883.sink.split + %this.val.i.i80 = load ptr, ptr %arrayinit.element48, align 8 + %tobool.not.i.i.i.i81 = icmp eq ptr %this.val.i.i80, null + br i1 %tobool.not.i.i.i.i81, label %ehcleanup883, label %ehcleanup883.sink.split invoke.cont81: ; preds = %invoke.cont70 %arrayinit.element82 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 6 - %call5.i.i.i.i1.i.i.i90 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc89 unwind label %lpad95.body - -call5.i.i.i.i1.i.i.i.noexc89: ; preds = %invoke.cont81 - store i32 1, ptr %call5.i.i.i.i1.i.i.i90, align 4 - %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i.i90.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i90, i64 4 - store i32 1, ptr %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i.i90.sroa_idx, align 4 - %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i.i90.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i90, i64 8 - store i32 1, ptr %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i.i90.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i93 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc92 unwind label %lpad95.body + +call5.i.i.i.i1.i.i.i.noexc92: ; preds = %invoke.cont81 + store i32 1, ptr %call5.i.i.i.i1.i.i.i93, align 4 + %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i.i93.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i93, i64 4 + store i32 1, ptr %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i.i93.sroa_idx, align 4 + %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i.i93.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i93, i64 8 + store i32 1, ptr %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i.i93.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp84, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i84 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i86 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 to label %invoke.cont96 unwind label %lpad95.body.thread -lpad95.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc89 +lpad95.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc92 %11 = landingpad { ptr, i32 } cleanup br label %ehcleanup883.sink.split -invoke.cont96: ; preds = %call5.i.i.i.i1.i.i.i.noexc89 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i84, ptr %ref.tmp84, align 8 - %_M_finish.i.i.i.i.i.i.i86 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i87 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i84, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i88 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i87, ptr %_M_end_of_storage.i.i.i.i.i.i.i88, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i84, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i90, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i87, ptr %_M_finish.i.i.i.i.i.i.i86, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i90) #31 +invoke.cont96: ; preds = %call5.i.i.i.i1.i.i.i.noexc92 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i86, ptr %ref.tmp84, align 8 + %_M_finish.i.i.i.i.i.i.i88 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i89 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i86, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i90 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i89, ptr %_M_end_of_storage.i.i.i.i.i.i.i90, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i86, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i93, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i89, ptr %_M_finish.i.i.i.i.i.i.i88, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i93) #31 %arrayinit.element97 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1 - %call5.i.i.i.i1.i.i.i99 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc98 unwind label %lpad95.body.thread886 - -call5.i.i.i.i1.i.i.i.noexc98: ; preds = %invoke.cont96 - store i32 1, ptr %call5.i.i.i.i1.i.i.i99, align 4 - %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i.i99.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i99, i64 4 - store i32 1, ptr %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i.i99.sroa_idx, align 4 - %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i.i99.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i99, i64 8 - store i32 1, ptr %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i.i99.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i103 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc102 unwind label %lpad95.body.thread919 + +call5.i.i.i.i1.i.i.i.noexc102: ; preds = %invoke.cont96 + store i32 1, ptr %call5.i.i.i.i1.i.i.i103, align 4 + %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i.i103.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i103, i64 4 + store i32 1, ptr %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i.i103.sroa_idx, align 4 + %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i.i103.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i103, i64 8 + store i32 1, ptr %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i.i103.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element97, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i93 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont106 unwind label %common.resume.i94 + %call5.i.i.i.i2.i6.i.i.i.i5.i96 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont106 unwind label %common.resume.i97 -common.resume.i94: ; preds = %call5.i.i.i.i1.i.i.i.noexc98 +common.resume.i97: ; preds = %call5.i.i.i.i1.i.i.i.noexc102 %12 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i99) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i103) #31 br label %arraydestroy.body118.preheader -invoke.cont106: ; preds = %call5.i.i.i.i1.i.i.i.noexc98 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i93, ptr %arrayinit.element97, align 8 - %_M_finish.i.i.i.i.i.i.i95 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i96 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i93, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i97 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i96, ptr %_M_end_of_storage.i.i.i.i.i.i.i97, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i93, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i99, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i96, ptr %_M_finish.i.i.i.i.i.i.i95, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i99) #31 +invoke.cont106: ; preds = %call5.i.i.i.i1.i.i.i.noexc102 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i96, ptr %arrayinit.element97, align 8 + %_M_finish.i.i.i.i.i.i.i98 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i99 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i96, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i100 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i99, ptr %_M_end_of_storage.i.i.i.i.i.i.i100, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i96, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i103, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i99, ptr %_M_finish.i.i.i.i.i.i.i98, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i103) #31 %arrayinit.element107 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2 - %call5.i.i.i.i1.i.i.i110 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc109 unwind label %lpad95.body.thread886 - -call5.i.i.i.i1.i.i.i.noexc109: ; preds = %invoke.cont106 - store i32 1, ptr %call5.i.i.i.i1.i.i.i110, align 4 - %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i.i110.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i110, i64 4 - store i32 1, ptr %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i.i110.sroa_idx, align 4 - %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i.i110.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i110, i64 8 - store i32 1, ptr %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i.i110.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i115 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc114 unwind label %lpad95.body.thread919 + +call5.i.i.i.i1.i.i.i.noexc114: ; preds = %invoke.cont106 + store i32 1, ptr %call5.i.i.i.i1.i.i.i115, align 4 + %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i115, i64 4 + store i32 1, ptr %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i.i115.sroa_idx, align 4 + %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i115, i64 8 + store i32 1, ptr %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i.i115.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element107, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i104 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont116 unwind label %common.resume.i105 + %call5.i.i.i.i2.i6.i.i.i.i5.i108 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont116 unwind label %common.resume.i109 -common.resume.i105: ; preds = %call5.i.i.i.i1.i.i.i.noexc109 +common.resume.i109: ; preds = %call5.i.i.i.i1.i.i.i.noexc114 %13 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i110) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i115) #31 br label %arraydestroy.body118.preheader -invoke.cont116: ; preds = %call5.i.i.i.i1.i.i.i.noexc109 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i104, ptr %arrayinit.element107, align 8 - %_M_finish.i.i.i.i.i.i.i106 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i107 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i104, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i108 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i107, ptr %_M_end_of_storage.i.i.i.i.i.i.i108, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i104, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i110, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i107, ptr %_M_finish.i.i.i.i.i.i.i106, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i110) #31 - %add.ptr.i.i115 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 3 +invoke.cont116: ; preds = %call5.i.i.i.i1.i.i.i.noexc114 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i108, ptr %arrayinit.element107, align 8 + %_M_finish.i.i.i.i.i.i.i110 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i111 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i108, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i112 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i111, ptr %_M_end_of_storage.i.i.i.i.i.i.i112, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i108, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i115, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i111, ptr %_M_finish.i.i.i.i.i.i.i110, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i115) #31 + %add.ptr.i.i120 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 3 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element82, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element82, ptr noundef nonnull %ref.tmp84, ptr noundef nonnull %add.ptr.i.i115) - to label %invoke.cont127 unwind label %lpad.i.i116 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element82, ptr noundef nonnull %ref.tmp84, ptr noundef nonnull %add.ptr.i.i120) + to label %invoke.cont127 unwind label %lpad.i.i121 -lpad.i.i116: ; preds = %invoke.cont116 +lpad.i.i121: ; preds = %invoke.cont116 %14 = landingpad { ptr, i32 } cleanup - %this.val.i.i117 = load ptr, ptr %arrayinit.element82, align 8 - %tobool.not.i.i.i.i118 = icmp eq ptr %this.val.i.i117, null - br i1 %tobool.not.i.i.i.i118, label %ehcleanup870, label %if.then.i.i.i.i119 + %this.val.i.i122 = load ptr, ptr %arrayinit.element82, align 8 + %tobool.not.i.i.i.i123 = icmp eq ptr %this.val.i.i122, null + br i1 %tobool.not.i.i.i.i123, label %ehcleanup870, label %if.then.i.i.i.i124 -if.then.i.i.i.i119: ; preds = %lpad.i.i116 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i117) #31 +if.then.i.i.i.i124: ; preds = %lpad.i.i121 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i122) #31 br label %ehcleanup870 invoke.cont127: ; preds = %invoke.cont116 %arrayinit.element128 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 7 %arrayinit.element133 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp130, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i129 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc128 unwind label %lpad141.body.thread + %call5.i.i.i.i1.i.i.i135 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc134 unwind label %lpad141.body.thread -call5.i.i.i.i1.i.i.i.noexc128: ; preds = %invoke.cont127 - store i32 1, ptr %call5.i.i.i.i1.i.i.i129, align 4 - %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i.i129.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i129, i64 4 - store i32 2, ptr %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i.i129.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc134: ; preds = %invoke.cont127 + store i32 1, ptr %call5.i.i.i.i1.i.i.i135, align 4 + %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i.i135.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i135, i64 4 + store i32 2, ptr %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i.i135.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element133, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i123 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i128 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont142 unwind label %lpad141.body -invoke.cont142: ; preds = %call5.i.i.i.i1.i.i.i.noexc128 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i123, ptr %arrayinit.element133, align 8 - %_M_finish.i.i.i.i.i.i.i125 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i126 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i123, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i127 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i126, ptr %_M_end_of_storage.i.i.i.i.i.i.i127, align 8 - %15 = load i64, ptr %call5.i.i.i.i1.i.i.i129, align 4 - store i64 %15, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i123, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i126, ptr %_M_finish.i.i.i.i.i.i.i125, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i129) #31 - %add.ptr.i.i132 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 2 +invoke.cont142: ; preds = %call5.i.i.i.i1.i.i.i.noexc134 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i128, ptr %arrayinit.element133, align 8 + %_M_finish.i.i.i.i.i.i.i130 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i131 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i128, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i132 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i131, ptr %_M_end_of_storage.i.i.i.i.i.i.i132, align 8 + %15 = load i64, ptr %call5.i.i.i.i1.i.i.i135, align 4 + store i64 %15, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i128, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i131, ptr %_M_finish.i.i.i.i.i.i.i130, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i135) #31 + %add.ptr.i.i138 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element128, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element128, ptr noundef nonnull %ref.tmp130, ptr noundef nonnull %add.ptr.i.i132) - to label %invoke.cont153 unwind label %lpad.i.i133 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element128, ptr noundef nonnull %ref.tmp130, ptr noundef nonnull %add.ptr.i.i138) + to label %invoke.cont153 unwind label %lpad.i.i139 -lpad.i.i133: ; preds = %invoke.cont142 +lpad.i.i139: ; preds = %invoke.cont142 %16 = landingpad { ptr, i32 } cleanup - %this.val.i.i134 = load ptr, ptr %arrayinit.element128, align 8 - %tobool.not.i.i.i.i135 = icmp eq ptr %this.val.i.i134, null - br i1 %tobool.not.i.i.i.i135, label %ehcleanup857, label %if.then.i.i.i.i136 + %this.val.i.i140 = load ptr, ptr %arrayinit.element128, align 8 + %tobool.not.i.i.i.i141 = icmp eq ptr %this.val.i.i140, null + br i1 %tobool.not.i.i.i.i141, label %ehcleanup857, label %if.then.i.i.i.i142 -if.then.i.i.i.i136: ; preds = %lpad.i.i133 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i134) #31 +if.then.i.i.i.i142: ; preds = %lpad.i.i139 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i140) #31 br label %ehcleanup857 invoke.cont153: ; preds = %invoke.cont142 %arrayinit.element154 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 8 %arrayinit.element159 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp156, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i146 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc145 unwind label %lpad167.body.thread + %call5.i.i.i.i1.i.i.i153 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc152 unwind label %lpad167.body.thread -call5.i.i.i.i1.i.i.i.noexc145: ; preds = %invoke.cont153 - store i32 2, ptr %call5.i.i.i.i1.i.i.i146, align 4 - %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i.i146.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i146, i64 4 - store i32 1, ptr %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i.i146.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc152: ; preds = %invoke.cont153 + store i32 2, ptr %call5.i.i.i.i1.i.i.i153, align 4 + %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i.i153.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i153, i64 4 + store i32 1, ptr %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i.i153.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element159, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i140 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i146 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont168 unwind label %lpad167.body -invoke.cont168: ; preds = %call5.i.i.i.i1.i.i.i.noexc145 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i140, ptr %arrayinit.element159, align 8 - %_M_finish.i.i.i.i.i.i.i142 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i143 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i140, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i144 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i143, ptr %_M_end_of_storage.i.i.i.i.i.i.i144, align 8 - %17 = load i64, ptr %call5.i.i.i.i1.i.i.i146, align 4 - store i64 %17, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i140, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i143, ptr %_M_finish.i.i.i.i.i.i.i142, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i146) #31 - %add.ptr.i.i149 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 2 +invoke.cont168: ; preds = %call5.i.i.i.i1.i.i.i.noexc152 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i146, ptr %arrayinit.element159, align 8 + %_M_finish.i.i.i.i.i.i.i148 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i149 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i146, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i150 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i149, ptr %_M_end_of_storage.i.i.i.i.i.i.i150, align 8 + %17 = load i64, ptr %call5.i.i.i.i1.i.i.i153, align 4 + store i64 %17, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i146, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i149, ptr %_M_finish.i.i.i.i.i.i.i148, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i153) #31 + %add.ptr.i.i156 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element154, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element154, ptr noundef nonnull %ref.tmp156, ptr noundef nonnull %add.ptr.i.i149) - to label %invoke.cont179 unwind label %lpad.i.i150 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element154, ptr noundef nonnull %ref.tmp156, ptr noundef nonnull %add.ptr.i.i156) + to label %invoke.cont179 unwind label %lpad.i.i157 -lpad.i.i150: ; preds = %invoke.cont168 +lpad.i.i157: ; preds = %invoke.cont168 %18 = landingpad { ptr, i32 } cleanup - %this.val.i.i151 = load ptr, ptr %arrayinit.element154, align 8 - %tobool.not.i.i.i.i152 = icmp eq ptr %this.val.i.i151, null - br i1 %tobool.not.i.i.i.i152, label %ehcleanup844, label %if.then.i.i.i.i153 + %this.val.i.i158 = load ptr, ptr %arrayinit.element154, align 8 + %tobool.not.i.i.i.i159 = icmp eq ptr %this.val.i.i158, null + br i1 %tobool.not.i.i.i.i159, label %ehcleanup844, label %if.then.i.i.i.i160 -if.then.i.i.i.i153: ; preds = %lpad.i.i150 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i151) #31 +if.then.i.i.i.i160: ; preds = %lpad.i.i157 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i158) #31 br label %ehcleanup844 invoke.cont179: ; preds = %invoke.cont168 %arrayinit.element180 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 9 - %call5.i.i.i.i1.i.i.i163 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc162 unwind label %lpad192 + %call5.i.i.i.i1.i.i.i171 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc170 unwind label %lpad192 -call5.i.i.i.i1.i.i.i.noexc162: ; preds = %invoke.cont179 - store i32 1, ptr %call5.i.i.i.i1.i.i.i163, align 4 - %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i.i163.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i163, i64 4 - store i32 2, ptr %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i.i163.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc170: ; preds = %invoke.cont179 + store i32 1, ptr %call5.i.i.i.i1.i.i.i171, align 4 + %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i.i171.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i171, i64 4 + store i32 2, ptr %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i.i171.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp182, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i157 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont193 unwind label %common.resume.i158 + %call5.i.i.i.i2.i6.i.i.i.i5.i164 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont193 unwind label %common.resume.i165 -common.resume.i158: ; preds = %call5.i.i.i.i1.i.i.i.noexc162 +common.resume.i165: ; preds = %call5.i.i.i.i1.i.i.i.noexc170 %19 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i163) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i171) #31 br label %ehcleanup844 -invoke.cont193: ; preds = %call5.i.i.i.i1.i.i.i.noexc162 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i157, ptr %ref.tmp182, align 8 - %_M_finish.i.i.i.i.i.i.i159 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i160 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i157, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i161 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i160, ptr %_M_end_of_storage.i.i.i.i.i.i.i161, align 8 - %20 = load i64, ptr %call5.i.i.i.i1.i.i.i163, align 4 - store i64 %20, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i157, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i160, ptr %_M_finish.i.i.i.i.i.i.i159, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i163) #31 +invoke.cont193: ; preds = %call5.i.i.i.i1.i.i.i.noexc170 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i164, ptr %ref.tmp182, align 8 + %_M_finish.i.i.i.i.i.i.i166 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i167 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i164, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i168 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i167, ptr %_M_end_of_storage.i.i.i.i.i.i.i168, align 8 + %20 = load i64, ptr %call5.i.i.i.i1.i.i.i171, align 4 + store i64 %20, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i164, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i167, ptr %_M_finish.i.i.i.i.i.i.i166, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i171) #31 %arrayinit.element194 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp182, i64 1 - %add.ptr.i.i166 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp182, i64 2 + %add.ptr.i.i174 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp182, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element194, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element180, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element180, ptr noundef nonnull %ref.tmp182, ptr noundef nonnull %add.ptr.i.i166) - to label %invoke.cont205 unwind label %lpad.i.i167 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element180, ptr noundef nonnull %ref.tmp182, ptr noundef nonnull %add.ptr.i.i174) + to label %invoke.cont205 unwind label %lpad.i.i175 -lpad.i.i167: ; preds = %invoke.cont193 +lpad.i.i175: ; preds = %invoke.cont193 %21 = landingpad { ptr, i32 } cleanup - %this.val.i.i168 = load ptr, ptr %arrayinit.element180, align 8 - %tobool.not.i.i.i.i169 = icmp eq ptr %this.val.i.i168, null - br i1 %tobool.not.i.i.i.i169, label %ehcleanup831, label %if.then.i.i.i.i170 + %this.val.i.i176 = load ptr, ptr %arrayinit.element180, align 8 + %tobool.not.i.i.i.i177 = icmp eq ptr %this.val.i.i176, null + br i1 %tobool.not.i.i.i.i177, label %ehcleanup831, label %if.then.i.i.i.i178 -if.then.i.i.i.i170: ; preds = %lpad.i.i167 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i168) #31 +if.then.i.i.i.i178: ; preds = %lpad.i.i175 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i176) #31 br label %ehcleanup831 invoke.cont205: ; preds = %invoke.cont193 %arrayinit.element206 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 10 - %call5.i.i.i.i1.i.i.i180 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc179 unwind label %lpad218 + %call5.i.i.i.i1.i.i.i189 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc188 unwind label %lpad218 -call5.i.i.i.i1.i.i.i.noexc179: ; preds = %invoke.cont205 - store i32 2, ptr %call5.i.i.i.i1.i.i.i180, align 4 - %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i.i180.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i180, i64 4 - store i32 1, ptr %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i.i180.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc188: ; preds = %invoke.cont205 + store i32 2, ptr %call5.i.i.i.i1.i.i.i189, align 4 + %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i.i189.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i189, i64 4 + store i32 1, ptr %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i.i189.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp208, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i174 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont219 unwind label %common.resume.i175 + %call5.i.i.i.i2.i6.i.i.i.i5.i182 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont219 unwind label %common.resume.i183 -common.resume.i175: ; preds = %call5.i.i.i.i1.i.i.i.noexc179 +common.resume.i183: ; preds = %call5.i.i.i.i1.i.i.i.noexc188 %22 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i180) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i189) #31 br label %ehcleanup831 -invoke.cont219: ; preds = %call5.i.i.i.i1.i.i.i.noexc179 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i174, ptr %ref.tmp208, align 8 - %_M_finish.i.i.i.i.i.i.i176 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i177 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i174, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i178 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i177, ptr %_M_end_of_storage.i.i.i.i.i.i.i178, align 8 - %23 = load i64, ptr %call5.i.i.i.i1.i.i.i180, align 4 - store i64 %23, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i174, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i177, ptr %_M_finish.i.i.i.i.i.i.i176, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i180) #31 +invoke.cont219: ; preds = %call5.i.i.i.i1.i.i.i.noexc188 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i182, ptr %ref.tmp208, align 8 + %_M_finish.i.i.i.i.i.i.i184 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i185 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i182, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i186 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i185, ptr %_M_end_of_storage.i.i.i.i.i.i.i186, align 8 + %23 = load i64, ptr %call5.i.i.i.i1.i.i.i189, align 4 + store i64 %23, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i182, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i185, ptr %_M_finish.i.i.i.i.i.i.i184, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i189) #31 %arrayinit.element220 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp208, i64 1 - %add.ptr.i.i183 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp208, i64 2 + %add.ptr.i.i192 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp208, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element220, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element206, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element206, ptr noundef nonnull %ref.tmp208, ptr noundef nonnull %add.ptr.i.i183) - to label %invoke.cont231 unwind label %lpad.i.i184 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element206, ptr noundef nonnull %ref.tmp208, ptr noundef nonnull %add.ptr.i.i192) + to label %invoke.cont231 unwind label %lpad.i.i193 -lpad.i.i184: ; preds = %invoke.cont219 +lpad.i.i193: ; preds = %invoke.cont219 %24 = landingpad { ptr, i32 } cleanup - %this.val.i.i185 = load ptr, ptr %arrayinit.element206, align 8 - %tobool.not.i.i.i.i186 = icmp eq ptr %this.val.i.i185, null - br i1 %tobool.not.i.i.i.i186, label %ehcleanup818, label %if.then.i.i.i.i187 + %this.val.i.i194 = load ptr, ptr %arrayinit.element206, align 8 + %tobool.not.i.i.i.i195 = icmp eq ptr %this.val.i.i194, null + br i1 %tobool.not.i.i.i.i195, label %ehcleanup818, label %if.then.i.i.i.i196 -if.then.i.i.i.i187: ; preds = %lpad.i.i184 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i185) #31 +if.then.i.i.i.i196: ; preds = %lpad.i.i193 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i194) #31 br label %ehcleanup818 invoke.cont231: ; preds = %invoke.cont219 %arrayinit.element232 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 11 - %call5.i.i.i.i1.i.i.i197 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc196 unwind label %lpad244.body.thread904 + %call5.i.i.i.i1.i.i.i207 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc206 unwind label %lpad244.body.thread937 -lpad244.body.thread904: ; preds = %invoke.cont231 +lpad244.body.thread937: ; preds = %invoke.cont231 %25 = landingpad { ptr, i32 } cleanup br label %ehcleanup818 -call5.i.i.i.i1.i.i.i.noexc196: ; preds = %invoke.cont231 - store i32 1, ptr %call5.i.i.i.i1.i.i.i197, align 4 - %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i.i197.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i197, i64 4 - store i32 2, ptr %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i.i197.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc206: ; preds = %invoke.cont231 + store i32 1, ptr %call5.i.i.i.i1.i.i.i207, align 4 + %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i.i207.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i207, i64 4 + store i32 2, ptr %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i.i207.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp234, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i191 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i200 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont245 unwind label %lpad244.body.thread -lpad244.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc196 +lpad244.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc206 %26 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i197) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i207) #31 br label %ehcleanup818 -invoke.cont245: ; preds = %call5.i.i.i.i1.i.i.i.noexc196 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i191, ptr %ref.tmp234, align 8 - %_M_finish.i.i.i.i.i.i.i193 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i194 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i191, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i195 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i194, ptr %_M_end_of_storage.i.i.i.i.i.i.i195, align 8 - %27 = load i64, ptr %call5.i.i.i.i1.i.i.i197, align 4 - store i64 %27, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i191, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i194, ptr %_M_finish.i.i.i.i.i.i.i193, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i197) #31 +invoke.cont245: ; preds = %call5.i.i.i.i1.i.i.i.noexc206 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i200, ptr %ref.tmp234, align 8 + %_M_finish.i.i.i.i.i.i.i202 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i203 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i200, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i204 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i203, ptr %_M_end_of_storage.i.i.i.i.i.i.i204, align 8 + %27 = load i64, ptr %call5.i.i.i.i1.i.i.i207, align 4 + store i64 %27, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i200, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i203, ptr %_M_finish.i.i.i.i.i.i.i202, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i207) #31 %arrayinit.element246 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1 - %call5.i.i.i.i1.i.i.i206 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc205 unwind label %lpad244.body + %call5.i.i.i.i1.i.i.i217 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc216 unwind label %lpad244.body -call5.i.i.i.i1.i.i.i.noexc205: ; preds = %invoke.cont245 - store i32 3, ptr %call5.i.i.i.i1.i.i.i206, align 4 - %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i206.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i206, i64 4 - store i32 4, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i206.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc216: ; preds = %invoke.cont245 + store i32 3, ptr %call5.i.i.i.i1.i.i.i217, align 4 + %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i217.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i217, i64 4 + store i32 4, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i217.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element246, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i200 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont254 unwind label %lpad244.body.thread898 + %call5.i.i.i.i2.i6.i.i.i.i5.i210 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont254 unwind label %lpad244.body.thread931 -lpad244.body.thread898: ; preds = %call5.i.i.i.i1.i.i.i.noexc205 +lpad244.body.thread931: ; preds = %call5.i.i.i.i1.i.i.i.noexc216 %28 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i206) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i217) #31 br label %arraydestroy.body256 -invoke.cont254: ; preds = %call5.i.i.i.i1.i.i.i.noexc205 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i200, ptr %arrayinit.element246, align 8 - %_M_finish.i.i.i.i.i.i.i202 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i203 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i200, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i204 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i203, ptr %_M_end_of_storage.i.i.i.i.i.i.i204, align 8 - %29 = load i64, ptr %call5.i.i.i.i1.i.i.i206, align 4 - store i64 %29, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i200, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i203, ptr %_M_finish.i.i.i.i.i.i.i202, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i206) #31 - %add.ptr.i.i211 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 2 +invoke.cont254: ; preds = %call5.i.i.i.i1.i.i.i.noexc216 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i210, ptr %arrayinit.element246, align 8 + %_M_finish.i.i.i.i.i.i.i212 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i213 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i210, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i214 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i213, ptr %_M_end_of_storage.i.i.i.i.i.i.i214, align 8 + %29 = load i64, ptr %call5.i.i.i.i1.i.i.i217, align 4 + store i64 %29, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i210, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i213, ptr %_M_finish.i.i.i.i.i.i.i212, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i217) #31 + %add.ptr.i.i222 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element232, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element232, ptr noundef nonnull %ref.tmp234, ptr noundef nonnull %add.ptr.i.i211) - to label %invoke.cont265 unwind label %lpad.i.i212 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element232, ptr noundef nonnull %ref.tmp234, ptr noundef nonnull %add.ptr.i.i222) + to label %invoke.cont265 unwind label %lpad.i.i223 -lpad.i.i212: ; preds = %invoke.cont254 +lpad.i.i223: ; preds = %invoke.cont254 %30 = landingpad { ptr, i32 } cleanup - %this.val.i.i213 = load ptr, ptr %arrayinit.element232, align 8 - %tobool.not.i.i.i.i214 = icmp eq ptr %this.val.i.i213, null - br i1 %tobool.not.i.i.i.i214, label %ehcleanup805, label %if.then.i.i.i.i215 + %this.val.i.i224 = load ptr, ptr %arrayinit.element232, align 8 + %tobool.not.i.i.i.i225 = icmp eq ptr %this.val.i.i224, null + br i1 %tobool.not.i.i.i.i225, label %ehcleanup805, label %if.then.i.i.i.i226 -if.then.i.i.i.i215: ; preds = %lpad.i.i212 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i213) #31 +if.then.i.i.i.i226: ; preds = %lpad.i.i223 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i224) #31 br label %ehcleanup805 invoke.cont265: ; preds = %invoke.cont254 %arrayinit.element266 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 12 - %call5.i.i.i.i1.i.i.i225 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc224 unwind label %lpad278.body.thread913 + %call5.i.i.i.i1.i.i.i237 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc236 unwind label %lpad278.body.thread946 -lpad278.body.thread913: ; preds = %invoke.cont265 +lpad278.body.thread946: ; preds = %invoke.cont265 %31 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 -call5.i.i.i.i1.i.i.i.noexc224: ; preds = %invoke.cont265 - store i32 1, ptr %call5.i.i.i.i1.i.i.i225, align 4 - %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i.i225.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i225, i64 4 - store i32 2, ptr %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i.i225.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc236: ; preds = %invoke.cont265 + store i32 1, ptr %call5.i.i.i.i1.i.i.i237, align 4 + %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i.i237.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i237, i64 4 + store i32 2, ptr %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i.i237.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp268, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i219 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i230 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont279 unwind label %lpad278.body.thread -lpad278.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc224 +lpad278.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc236 %32 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i225) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i237) #31 br label %ehcleanup805 -invoke.cont279: ; preds = %call5.i.i.i.i1.i.i.i.noexc224 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i219, ptr %ref.tmp268, align 8 - %_M_finish.i.i.i.i.i.i.i221 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i222 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i219, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i223 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i222, ptr %_M_end_of_storage.i.i.i.i.i.i.i223, align 8 - %33 = load i64, ptr %call5.i.i.i.i1.i.i.i225, align 4 - store i64 %33, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i219, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i222, ptr %_M_finish.i.i.i.i.i.i.i221, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i225) #31 +invoke.cont279: ; preds = %call5.i.i.i.i1.i.i.i.noexc236 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i230, ptr %ref.tmp268, align 8 + %_M_finish.i.i.i.i.i.i.i232 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i233 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i230, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i234 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i233, ptr %_M_end_of_storage.i.i.i.i.i.i.i234, align 8 + %33 = load i64, ptr %call5.i.i.i.i1.i.i.i237, align 4 + store i64 %33, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i230, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i233, ptr %_M_finish.i.i.i.i.i.i.i232, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i237) #31 %arrayinit.element280 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1 - %call5.i.i.i.i1.i.i.i234 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc233 unwind label %lpad278.body + %call5.i.i.i.i1.i.i.i247 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc246 unwind label %lpad278.body -call5.i.i.i.i1.i.i.i.noexc233: ; preds = %invoke.cont279 - store i32 4, ptr %call5.i.i.i.i1.i.i.i234, align 4 - %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i.i234.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i234, i64 4 - store i32 3, ptr %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i.i234.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc246: ; preds = %invoke.cont279 + store i32 4, ptr %call5.i.i.i.i1.i.i.i247, align 4 + %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i.i247.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i247, i64 4 + store i32 3, ptr %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i.i247.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element280, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i228 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont288 unwind label %lpad278.body.thread907 + %call5.i.i.i.i2.i6.i.i.i.i5.i240 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont288 unwind label %lpad278.body.thread940 -lpad278.body.thread907: ; preds = %call5.i.i.i.i1.i.i.i.noexc233 +lpad278.body.thread940: ; preds = %call5.i.i.i.i1.i.i.i.noexc246 %34 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i234) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i247) #31 br label %arraydestroy.body290 -invoke.cont288: ; preds = %call5.i.i.i.i1.i.i.i.noexc233 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i228, ptr %arrayinit.element280, align 8 - %_M_finish.i.i.i.i.i.i.i230 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i231 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i228, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i232 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i231, ptr %_M_end_of_storage.i.i.i.i.i.i.i232, align 8 - %35 = load i64, ptr %call5.i.i.i.i1.i.i.i234, align 4 - store i64 %35, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i228, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i231, ptr %_M_finish.i.i.i.i.i.i.i230, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i234) #31 - %add.ptr.i.i239 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 2 +invoke.cont288: ; preds = %call5.i.i.i.i1.i.i.i.noexc246 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i240, ptr %arrayinit.element280, align 8 + %_M_finish.i.i.i.i.i.i.i242 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i243 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i240, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i244 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i243, ptr %_M_end_of_storage.i.i.i.i.i.i.i244, align 8 + %35 = load i64, ptr %call5.i.i.i.i1.i.i.i247, align 4 + store i64 %35, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i240, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i243, ptr %_M_finish.i.i.i.i.i.i.i242, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i247) #31 + %add.ptr.i.i252 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element266, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element266, ptr noundef nonnull %ref.tmp268, ptr noundef nonnull %add.ptr.i.i239) - to label %invoke.cont299 unwind label %lpad.i.i240 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element266, ptr noundef nonnull %ref.tmp268, ptr noundef nonnull %add.ptr.i.i252) + to label %invoke.cont299 unwind label %lpad.i.i253 -lpad.i.i240: ; preds = %invoke.cont288 +lpad.i.i253: ; preds = %invoke.cont288 %36 = landingpad { ptr, i32 } cleanup - %this.val.i.i241 = load ptr, ptr %arrayinit.element266, align 8 - %tobool.not.i.i.i.i242 = icmp eq ptr %this.val.i.i241, null - br i1 %tobool.not.i.i.i.i242, label %ehcleanup792, label %if.then.i.i.i.i243 + %this.val.i.i254 = load ptr, ptr %arrayinit.element266, align 8 + %tobool.not.i.i.i.i255 = icmp eq ptr %this.val.i.i254, null + br i1 %tobool.not.i.i.i.i255, label %ehcleanup792, label %if.then.i.i.i.i256 -if.then.i.i.i.i243: ; preds = %lpad.i.i240 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i241) #31 +if.then.i.i.i.i256: ; preds = %lpad.i.i253 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i254) #31 br label %ehcleanup792 invoke.cont299: ; preds = %invoke.cont288 %arrayinit.element300 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 13 - %call5.i.i.i.i1.i.i.i253 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc252 unwind label %lpad312.body.thread922 + %call5.i.i.i.i1.i.i.i267 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc266 unwind label %lpad312.body.thread955 -lpad312.body.thread922: ; preds = %invoke.cont299 +lpad312.body.thread955: ; preds = %invoke.cont299 %37 = landingpad { ptr, i32 } cleanup br label %ehcleanup792 -call5.i.i.i.i1.i.i.i.noexc252: ; preds = %invoke.cont299 - store i32 1, ptr %call5.i.i.i.i1.i.i.i253, align 4 - %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i.i253.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i253, i64 4 - store i32 3, ptr %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i.i253.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc266: ; preds = %invoke.cont299 + store i32 1, ptr %call5.i.i.i.i1.i.i.i267, align 4 + %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i.i267.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i267, i64 4 + store i32 3, ptr %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i.i267.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp302, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i247 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i260 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont313 unwind label %lpad312.body.thread -lpad312.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc252 +lpad312.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc266 %38 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i253) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i267) #31 br label %ehcleanup792 -invoke.cont313: ; preds = %call5.i.i.i.i1.i.i.i.noexc252 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, ptr %ref.tmp302, align 8 - %_M_finish.i.i.i.i.i.i.i249 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i250 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i251 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i250, ptr %_M_end_of_storage.i.i.i.i.i.i.i251, align 8 - %39 = load i64, ptr %call5.i.i.i.i1.i.i.i253, align 4 - store i64 %39, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i250, ptr %_M_finish.i.i.i.i.i.i.i249, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i253) #31 +invoke.cont313: ; preds = %call5.i.i.i.i1.i.i.i.noexc266 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i260, ptr %ref.tmp302, align 8 + %_M_finish.i.i.i.i.i.i.i262 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i263 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i260, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i264 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i263, ptr %_M_end_of_storage.i.i.i.i.i.i.i264, align 8 + %39 = load i64, ptr %call5.i.i.i.i1.i.i.i267, align 4 + store i64 %39, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i260, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i263, ptr %_M_finish.i.i.i.i.i.i.i262, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i267) #31 %arrayinit.element314 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1 - %call5.i.i.i.i1.i.i.i262 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc261 unwind label %lpad312.body + %call5.i.i.i.i1.i.i.i277 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc276 unwind label %lpad312.body -call5.i.i.i.i1.i.i.i.noexc261: ; preds = %invoke.cont313 - store i32 2, ptr %call5.i.i.i.i1.i.i.i262, align 4 - %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i.i262.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i262, i64 4 - store i32 4, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i.i262.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc276: ; preds = %invoke.cont313 + store i32 2, ptr %call5.i.i.i.i1.i.i.i277, align 4 + %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i.i277.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i277, i64 4 + store i32 4, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i.i277.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element314, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i256 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont322 unwind label %lpad312.body.thread916 + %call5.i.i.i.i2.i6.i.i.i.i5.i270 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont322 unwind label %lpad312.body.thread949 -lpad312.body.thread916: ; preds = %call5.i.i.i.i1.i.i.i.noexc261 +lpad312.body.thread949: ; preds = %call5.i.i.i.i1.i.i.i.noexc276 %40 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i262) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i277) #31 br label %arraydestroy.body324 -invoke.cont322: ; preds = %call5.i.i.i.i1.i.i.i.noexc261 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i256, ptr %arrayinit.element314, align 8 - %_M_finish.i.i.i.i.i.i.i258 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i259 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i256, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i260 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i259, ptr %_M_end_of_storage.i.i.i.i.i.i.i260, align 8 - %41 = load i64, ptr %call5.i.i.i.i1.i.i.i262, align 4 - store i64 %41, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i256, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i259, ptr %_M_finish.i.i.i.i.i.i.i258, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i262) #31 - %add.ptr.i.i267 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 2 +invoke.cont322: ; preds = %call5.i.i.i.i1.i.i.i.noexc276 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i270, ptr %arrayinit.element314, align 8 + %_M_finish.i.i.i.i.i.i.i272 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i273 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i270, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i274 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i273, ptr %_M_end_of_storage.i.i.i.i.i.i.i274, align 8 + %41 = load i64, ptr %call5.i.i.i.i1.i.i.i277, align 4 + store i64 %41, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i270, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i273, ptr %_M_finish.i.i.i.i.i.i.i272, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i277) #31 + %add.ptr.i.i282 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element300, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element300, ptr noundef nonnull %ref.tmp302, ptr noundef nonnull %add.ptr.i.i267) - to label %invoke.cont333 unwind label %lpad.i.i268 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element300, ptr noundef nonnull %ref.tmp302, ptr noundef nonnull %add.ptr.i.i282) + to label %invoke.cont333 unwind label %lpad.i.i283 -lpad.i.i268: ; preds = %invoke.cont322 +lpad.i.i283: ; preds = %invoke.cont322 %42 = landingpad { ptr, i32 } cleanup - %this.val.i.i269 = load ptr, ptr %arrayinit.element300, align 8 - %tobool.not.i.i.i.i270 = icmp eq ptr %this.val.i.i269, null - br i1 %tobool.not.i.i.i.i270, label %ehcleanup779, label %if.then.i.i.i.i271 + %this.val.i.i284 = load ptr, ptr %arrayinit.element300, align 8 + %tobool.not.i.i.i.i285 = icmp eq ptr %this.val.i.i284, null + br i1 %tobool.not.i.i.i.i285, label %ehcleanup779, label %if.then.i.i.i.i286 -if.then.i.i.i.i271: ; preds = %lpad.i.i268 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i269) #31 +if.then.i.i.i.i286: ; preds = %lpad.i.i283 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i284) #31 br label %ehcleanup779 invoke.cont333: ; preds = %invoke.cont322 %arrayinit.element334 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 14 - %call5.i.i.i.i1.i.i.i281 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc280 unwind label %lpad346.body.thread931 + %call5.i.i.i.i1.i.i.i297 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc296 unwind label %lpad346.body.thread964 -lpad346.body.thread931: ; preds = %invoke.cont333 +lpad346.body.thread964: ; preds = %invoke.cont333 %43 = landingpad { ptr, i32 } cleanup br label %ehcleanup779 -call5.i.i.i.i1.i.i.i.noexc280: ; preds = %invoke.cont333 - store i32 1, ptr %call5.i.i.i.i1.i.i.i281, align 4 - %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i.i281.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i281, i64 4 - store i32 3, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i.i281.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc296: ; preds = %invoke.cont333 + store i32 1, ptr %call5.i.i.i.i1.i.i.i297, align 4 + %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i.i297.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i297, i64 4 + store i32 3, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i.i297.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp336, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i275 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i290 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont347 unwind label %lpad346.body.thread -lpad346.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc280 +lpad346.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc296 %44 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i281) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i297) #31 br label %ehcleanup779 -invoke.cont347: ; preds = %call5.i.i.i.i1.i.i.i.noexc280 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i275, ptr %ref.tmp336, align 8 - %_M_finish.i.i.i.i.i.i.i277 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i278 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i275, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i279 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i278, ptr %_M_end_of_storage.i.i.i.i.i.i.i279, align 8 - %45 = load i64, ptr %call5.i.i.i.i1.i.i.i281, align 4 - store i64 %45, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i275, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i278, ptr %_M_finish.i.i.i.i.i.i.i277, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i281) #31 +invoke.cont347: ; preds = %call5.i.i.i.i1.i.i.i.noexc296 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i290, ptr %ref.tmp336, align 8 + %_M_finish.i.i.i.i.i.i.i292 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i293 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i290, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i294 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i293, ptr %_M_end_of_storage.i.i.i.i.i.i.i294, align 8 + %45 = load i64, ptr %call5.i.i.i.i1.i.i.i297, align 4 + store i64 %45, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i290, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i293, ptr %_M_finish.i.i.i.i.i.i.i292, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i297) #31 %arrayinit.element348 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1 - %call5.i.i.i.i1.i.i.i290 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc289 unwind label %lpad346.body + %call5.i.i.i.i1.i.i.i307 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc306 unwind label %lpad346.body -call5.i.i.i.i1.i.i.i.noexc289: ; preds = %invoke.cont347 - store i32 4, ptr %call5.i.i.i.i1.i.i.i290, align 4 - %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i.i290.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i290, i64 4 - store i32 2, ptr %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i.i290.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc306: ; preds = %invoke.cont347 + store i32 4, ptr %call5.i.i.i.i1.i.i.i307, align 4 + %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i.i307.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i307, i64 4 + store i32 2, ptr %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i.i307.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element348, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i284 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont356 unwind label %lpad346.body.thread925 + %call5.i.i.i.i2.i6.i.i.i.i5.i300 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont356 unwind label %lpad346.body.thread958 -lpad346.body.thread925: ; preds = %call5.i.i.i.i1.i.i.i.noexc289 +lpad346.body.thread958: ; preds = %call5.i.i.i.i1.i.i.i.noexc306 %46 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i290) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i307) #31 br label %arraydestroy.body358 -invoke.cont356: ; preds = %call5.i.i.i.i1.i.i.i.noexc289 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i284, ptr %arrayinit.element348, align 8 - %_M_finish.i.i.i.i.i.i.i286 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i287 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i284, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i288 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i287, ptr %_M_end_of_storage.i.i.i.i.i.i.i288, align 8 - %47 = load i64, ptr %call5.i.i.i.i1.i.i.i290, align 4 - store i64 %47, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i284, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i287, ptr %_M_finish.i.i.i.i.i.i.i286, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i290) #31 - %add.ptr.i.i295 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 2 +invoke.cont356: ; preds = %call5.i.i.i.i1.i.i.i.noexc306 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i300, ptr %arrayinit.element348, align 8 + %_M_finish.i.i.i.i.i.i.i302 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i303 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i300, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i304 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i303, ptr %_M_end_of_storage.i.i.i.i.i.i.i304, align 8 + %47 = load i64, ptr %call5.i.i.i.i1.i.i.i307, align 4 + store i64 %47, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i300, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i303, ptr %_M_finish.i.i.i.i.i.i.i302, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i307) #31 + %add.ptr.i.i312 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element334, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element334, ptr noundef nonnull %ref.tmp336, ptr noundef nonnull %add.ptr.i.i295) - to label %invoke.cont367 unwind label %lpad.i.i296 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element334, ptr noundef nonnull %ref.tmp336, ptr noundef nonnull %add.ptr.i.i312) + to label %invoke.cont367 unwind label %lpad.i.i313 -lpad.i.i296: ; preds = %invoke.cont356 +lpad.i.i313: ; preds = %invoke.cont356 %48 = landingpad { ptr, i32 } cleanup - %this.val.i.i297 = load ptr, ptr %arrayinit.element334, align 8 - %tobool.not.i.i.i.i298 = icmp eq ptr %this.val.i.i297, null - br i1 %tobool.not.i.i.i.i298, label %ehcleanup766, label %if.then.i.i.i.i299 + %this.val.i.i314 = load ptr, ptr %arrayinit.element334, align 8 + %tobool.not.i.i.i.i315 = icmp eq ptr %this.val.i.i314, null + br i1 %tobool.not.i.i.i.i315, label %ehcleanup766, label %if.then.i.i.i.i316 -if.then.i.i.i.i299: ; preds = %lpad.i.i296 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i297) #31 +if.then.i.i.i.i316: ; preds = %lpad.i.i313 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i314) #31 br label %ehcleanup766 invoke.cont367: ; preds = %invoke.cont356 %arrayinit.element368 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 15 - %call5.i.i.i.i1.i.i.i309 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc308 unwind label %lpad380.body.thread940 + %call5.i.i.i.i1.i.i.i327 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc326 unwind label %lpad380.body.thread973 -lpad380.body.thread940: ; preds = %invoke.cont367 +lpad380.body.thread973: ; preds = %invoke.cont367 %49 = landingpad { ptr, i32 } cleanup br label %ehcleanup766 -call5.i.i.i.i1.i.i.i.noexc308: ; preds = %invoke.cont367 - store i32 1, ptr %call5.i.i.i.i1.i.i.i309, align 4 - %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i.i309.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i309, i64 4 - store i32 4, ptr %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i.i309.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc326: ; preds = %invoke.cont367 + store i32 1, ptr %call5.i.i.i.i1.i.i.i327, align 4 + %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i.i327.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i327, i64 4 + store i32 4, ptr %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i.i327.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp370, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i303 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i320 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont381 unwind label %lpad380.body.thread -lpad380.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc308 +lpad380.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc326 %50 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i309) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i327) #31 br label %ehcleanup766 -invoke.cont381: ; preds = %call5.i.i.i.i1.i.i.i.noexc308 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i303, ptr %ref.tmp370, align 8 - %_M_finish.i.i.i.i.i.i.i305 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i306 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i303, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i307 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i306, ptr %_M_end_of_storage.i.i.i.i.i.i.i307, align 8 - %51 = load i64, ptr %call5.i.i.i.i1.i.i.i309, align 4 - store i64 %51, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i303, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i306, ptr %_M_finish.i.i.i.i.i.i.i305, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i309) #31 +invoke.cont381: ; preds = %call5.i.i.i.i1.i.i.i.noexc326 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i320, ptr %ref.tmp370, align 8 + %_M_finish.i.i.i.i.i.i.i322 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i323 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i320, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i324 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i323, ptr %_M_end_of_storage.i.i.i.i.i.i.i324, align 8 + %51 = load i64, ptr %call5.i.i.i.i1.i.i.i327, align 4 + store i64 %51, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i320, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i323, ptr %_M_finish.i.i.i.i.i.i.i322, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i327) #31 %arrayinit.element382 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1 - %call5.i.i.i.i1.i.i.i318 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc317 unwind label %lpad380.body + %call5.i.i.i.i1.i.i.i337 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc336 unwind label %lpad380.body -call5.i.i.i.i1.i.i.i.noexc317: ; preds = %invoke.cont381 - store i32 2, ptr %call5.i.i.i.i1.i.i.i318, align 4 - %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i.i318.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i318, i64 4 - store i32 3, ptr %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i.i318.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc336: ; preds = %invoke.cont381 + store i32 2, ptr %call5.i.i.i.i1.i.i.i337, align 4 + %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i.i337.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i337, i64 4 + store i32 3, ptr %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i.i337.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i312 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont390 unwind label %lpad380.body.thread934 + %call5.i.i.i.i2.i6.i.i.i.i5.i330 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont390 unwind label %lpad380.body.thread967 -lpad380.body.thread934: ; preds = %call5.i.i.i.i1.i.i.i.noexc317 +lpad380.body.thread967: ; preds = %call5.i.i.i.i1.i.i.i.noexc336 %52 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i318) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i337) #31 br label %arraydestroy.body392 -invoke.cont390: ; preds = %call5.i.i.i.i1.i.i.i.noexc317 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i312, ptr %arrayinit.element382, align 8 - %_M_finish.i.i.i.i.i.i.i314 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i315 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i312, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i316 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i315, ptr %_M_end_of_storage.i.i.i.i.i.i.i316, align 8 - %53 = load i64, ptr %call5.i.i.i.i1.i.i.i318, align 4 - store i64 %53, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i312, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i315, ptr %_M_finish.i.i.i.i.i.i.i314, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i318) #31 - %add.ptr.i.i323 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 2 +invoke.cont390: ; preds = %call5.i.i.i.i1.i.i.i.noexc336 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i330, ptr %arrayinit.element382, align 8 + %_M_finish.i.i.i.i.i.i.i332 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i333 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i330, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i334 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i333, ptr %_M_end_of_storage.i.i.i.i.i.i.i334, align 8 + %53 = load i64, ptr %call5.i.i.i.i1.i.i.i337, align 4 + store i64 %53, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i330, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i333, ptr %_M_finish.i.i.i.i.i.i.i332, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i337) #31 + %add.ptr.i.i342 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element368, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element368, ptr noundef nonnull %ref.tmp370, ptr noundef nonnull %add.ptr.i.i323) - to label %invoke.cont401 unwind label %lpad.i.i324 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element368, ptr noundef nonnull %ref.tmp370, ptr noundef nonnull %add.ptr.i.i342) + to label %invoke.cont401 unwind label %lpad.i.i343 -lpad.i.i324: ; preds = %invoke.cont390 +lpad.i.i343: ; preds = %invoke.cont390 %54 = landingpad { ptr, i32 } cleanup - %this.val.i.i325 = load ptr, ptr %arrayinit.element368, align 8 - %tobool.not.i.i.i.i326 = icmp eq ptr %this.val.i.i325, null - br i1 %tobool.not.i.i.i.i326, label %ehcleanup753, label %if.then.i.i.i.i327 + %this.val.i.i344 = load ptr, ptr %arrayinit.element368, align 8 + %tobool.not.i.i.i.i345 = icmp eq ptr %this.val.i.i344, null + br i1 %tobool.not.i.i.i.i345, label %ehcleanup753, label %if.then.i.i.i.i346 -if.then.i.i.i.i327: ; preds = %lpad.i.i324 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i325) #31 +if.then.i.i.i.i346: ; preds = %lpad.i.i343 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i344) #31 br label %ehcleanup753 invoke.cont401: ; preds = %invoke.cont390 %arrayinit.element402 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 16 - %call5.i.i.i.i1.i.i.i337 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc336 unwind label %lpad414.body.thread949 + %call5.i.i.i.i1.i.i.i357 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc356 unwind label %lpad414.body.thread982 -lpad414.body.thread949: ; preds = %invoke.cont401 +lpad414.body.thread982: ; preds = %invoke.cont401 %55 = landingpad { ptr, i32 } cleanup br label %ehcleanup753 -call5.i.i.i.i1.i.i.i.noexc336: ; preds = %invoke.cont401 - store i32 1, ptr %call5.i.i.i.i1.i.i.i337, align 4 - %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i.i337.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i337, i64 4 - store i32 4, ptr %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i.i337.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc356: ; preds = %invoke.cont401 + store i32 1, ptr %call5.i.i.i.i1.i.i.i357, align 4 + %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i.i357.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i357, i64 4 + store i32 4, ptr %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i.i357.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp404, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i331 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i350 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont415 unwind label %lpad414.body.thread -lpad414.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc336 +lpad414.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc356 %56 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i337) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i357) #31 br label %ehcleanup753 -invoke.cont415: ; preds = %call5.i.i.i.i1.i.i.i.noexc336 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i331, ptr %ref.tmp404, align 8 - %_M_finish.i.i.i.i.i.i.i333 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i334 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i331, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i335 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i334, ptr %_M_end_of_storage.i.i.i.i.i.i.i335, align 8 - %57 = load i64, ptr %call5.i.i.i.i1.i.i.i337, align 4 - store i64 %57, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i331, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i334, ptr %_M_finish.i.i.i.i.i.i.i333, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i337) #31 +invoke.cont415: ; preds = %call5.i.i.i.i1.i.i.i.noexc356 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i350, ptr %ref.tmp404, align 8 + %_M_finish.i.i.i.i.i.i.i352 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i353 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i350, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i354 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i353, ptr %_M_end_of_storage.i.i.i.i.i.i.i354, align 8 + %57 = load i64, ptr %call5.i.i.i.i1.i.i.i357, align 4 + store i64 %57, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i350, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i353, ptr %_M_finish.i.i.i.i.i.i.i352, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i357) #31 %arrayinit.element416 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1 - %call5.i.i.i.i1.i.i.i346 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc345 unwind label %lpad414.body + %call5.i.i.i.i1.i.i.i367 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc366 unwind label %lpad414.body -call5.i.i.i.i1.i.i.i.noexc345: ; preds = %invoke.cont415 - store i32 3, ptr %call5.i.i.i.i1.i.i.i346, align 4 - %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i.i346.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i346, i64 4 - store i32 2, ptr %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i.i346.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc366: ; preds = %invoke.cont415 + store i32 3, ptr %call5.i.i.i.i1.i.i.i367, align 4 + %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i.i367.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i367, i64 4 + store i32 2, ptr %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i.i367.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element416, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i340 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont424 unwind label %lpad414.body.thread943 + %call5.i.i.i.i2.i6.i.i.i.i5.i360 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont424 unwind label %lpad414.body.thread976 -lpad414.body.thread943: ; preds = %call5.i.i.i.i1.i.i.i.noexc345 +lpad414.body.thread976: ; preds = %call5.i.i.i.i1.i.i.i.noexc366 %58 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i346) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i367) #31 br label %arraydestroy.body426 -invoke.cont424: ; preds = %call5.i.i.i.i1.i.i.i.noexc345 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i340, ptr %arrayinit.element416, align 8 - %_M_finish.i.i.i.i.i.i.i342 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i343 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i340, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i344 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i343, ptr %_M_end_of_storage.i.i.i.i.i.i.i344, align 8 - %59 = load i64, ptr %call5.i.i.i.i1.i.i.i346, align 4 - store i64 %59, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i340, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i343, ptr %_M_finish.i.i.i.i.i.i.i342, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i346) #31 - %add.ptr.i.i351 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 2 +invoke.cont424: ; preds = %call5.i.i.i.i1.i.i.i.noexc366 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i360, ptr %arrayinit.element416, align 8 + %_M_finish.i.i.i.i.i.i.i362 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i363 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i360, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i364 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i363, ptr %_M_end_of_storage.i.i.i.i.i.i.i364, align 8 + %59 = load i64, ptr %call5.i.i.i.i1.i.i.i367, align 4 + store i64 %59, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i360, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i363, ptr %_M_finish.i.i.i.i.i.i.i362, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i367) #31 + %add.ptr.i.i372 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element402, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element402, ptr noundef nonnull %ref.tmp404, ptr noundef nonnull %add.ptr.i.i351) - to label %invoke.cont435 unwind label %lpad.i.i352 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element402, ptr noundef nonnull %ref.tmp404, ptr noundef nonnull %add.ptr.i.i372) + to label %invoke.cont435 unwind label %lpad.i.i373 -lpad.i.i352: ; preds = %invoke.cont424 +lpad.i.i373: ; preds = %invoke.cont424 %60 = landingpad { ptr, i32 } cleanup - %this.val.i.i353 = load ptr, ptr %arrayinit.element402, align 8 - %tobool.not.i.i.i.i354 = icmp eq ptr %this.val.i.i353, null - br i1 %tobool.not.i.i.i.i354, label %ehcleanup740, label %if.then.i.i.i.i355 + %this.val.i.i374 = load ptr, ptr %arrayinit.element402, align 8 + %tobool.not.i.i.i.i375 = icmp eq ptr %this.val.i.i374, null + br i1 %tobool.not.i.i.i.i375, label %ehcleanup740, label %if.then.i.i.i.i376 -if.then.i.i.i.i355: ; preds = %lpad.i.i352 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i353) #31 +if.then.i.i.i.i376: ; preds = %lpad.i.i373 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i374) #31 br label %ehcleanup740 invoke.cont435: ; preds = %invoke.cont424 %arrayinit.element436 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 17 - %call5.i.i.i.i1.i.i.i365 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc364 unwind label %lpad448.body.thread958 + %call5.i.i.i.i1.i.i.i387 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc386 unwind label %lpad448.body.thread991 -lpad448.body.thread958: ; preds = %invoke.cont435 +lpad448.body.thread991: ; preds = %invoke.cont435 %61 = landingpad { ptr, i32 } cleanup br label %ehcleanup740 -call5.i.i.i.i1.i.i.i.noexc364: ; preds = %invoke.cont435 - store i32 2, ptr %call5.i.i.i.i1.i.i.i365, align 4 - %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i.i365.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i365, i64 4 - store i32 3, ptr %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i.i365.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc386: ; preds = %invoke.cont435 + store i32 2, ptr %call5.i.i.i.i1.i.i.i387, align 4 + %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i.i387.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i387, i64 4 + store i32 3, ptr %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i.i387.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp438, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i359 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i380 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont449 unwind label %lpad448.body.thread -lpad448.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc364 +lpad448.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc386 %62 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i365) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i387) #31 br label %ehcleanup740 -invoke.cont449: ; preds = %call5.i.i.i.i1.i.i.i.noexc364 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i359, ptr %ref.tmp438, align 8 - %_M_finish.i.i.i.i.i.i.i361 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i362 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i359, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i363 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i362, ptr %_M_end_of_storage.i.i.i.i.i.i.i363, align 8 - %63 = load i64, ptr %call5.i.i.i.i1.i.i.i365, align 4 - store i64 %63, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i359, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i362, ptr %_M_finish.i.i.i.i.i.i.i361, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i365) #31 +invoke.cont449: ; preds = %call5.i.i.i.i1.i.i.i.noexc386 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i380, ptr %ref.tmp438, align 8 + %_M_finish.i.i.i.i.i.i.i382 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i383 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i380, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i384 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i383, ptr %_M_end_of_storage.i.i.i.i.i.i.i384, align 8 + %63 = load i64, ptr %call5.i.i.i.i1.i.i.i387, align 4 + store i64 %63, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i380, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i383, ptr %_M_finish.i.i.i.i.i.i.i382, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i387) #31 %arrayinit.element450 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1 - %call5.i.i.i.i1.i.i.i374 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc373 unwind label %lpad448.body + %call5.i.i.i.i1.i.i.i397 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc396 unwind label %lpad448.body -call5.i.i.i.i1.i.i.i.noexc373: ; preds = %invoke.cont449 - store i32 1, ptr %call5.i.i.i.i1.i.i.i374, align 4 - %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i.i374.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i374, i64 4 - store i32 4, ptr %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i.i374.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc396: ; preds = %invoke.cont449 + store i32 1, ptr %call5.i.i.i.i1.i.i.i397, align 4 + %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i.i397.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i397, i64 4 + store i32 4, ptr %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i.i397.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element450, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i368 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont458 unwind label %lpad448.body.thread952 + %call5.i.i.i.i2.i6.i.i.i.i5.i390 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont458 unwind label %lpad448.body.thread985 -lpad448.body.thread952: ; preds = %call5.i.i.i.i1.i.i.i.noexc373 +lpad448.body.thread985: ; preds = %call5.i.i.i.i1.i.i.i.noexc396 %64 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i374) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i397) #31 br label %arraydestroy.body460 -invoke.cont458: ; preds = %call5.i.i.i.i1.i.i.i.noexc373 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i368, ptr %arrayinit.element450, align 8 - %_M_finish.i.i.i.i.i.i.i370 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i371 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i368, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i372 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i371, ptr %_M_end_of_storage.i.i.i.i.i.i.i372, align 8 - %65 = load i64, ptr %call5.i.i.i.i1.i.i.i374, align 4 - store i64 %65, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i368, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i371, ptr %_M_finish.i.i.i.i.i.i.i370, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i374) #31 - %add.ptr.i.i379 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 2 +invoke.cont458: ; preds = %call5.i.i.i.i1.i.i.i.noexc396 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i390, ptr %arrayinit.element450, align 8 + %_M_finish.i.i.i.i.i.i.i392 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i393 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i390, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i394 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i393, ptr %_M_end_of_storage.i.i.i.i.i.i.i394, align 8 + %65 = load i64, ptr %call5.i.i.i.i1.i.i.i397, align 4 + store i64 %65, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i390, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i393, ptr %_M_finish.i.i.i.i.i.i.i392, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i397) #31 + %add.ptr.i.i402 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element436, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element436, ptr noundef nonnull %ref.tmp438, ptr noundef nonnull %add.ptr.i.i379) - to label %invoke.cont469 unwind label %lpad.i.i380 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element436, ptr noundef nonnull %ref.tmp438, ptr noundef nonnull %add.ptr.i.i402) + to label %invoke.cont469 unwind label %lpad.i.i403 -lpad.i.i380: ; preds = %invoke.cont458 +lpad.i.i403: ; preds = %invoke.cont458 %66 = landingpad { ptr, i32 } cleanup - %this.val.i.i381 = load ptr, ptr %arrayinit.element436, align 8 - %tobool.not.i.i.i.i382 = icmp eq ptr %this.val.i.i381, null - br i1 %tobool.not.i.i.i.i382, label %ehcleanup727, label %if.then.i.i.i.i383 + %this.val.i.i404 = load ptr, ptr %arrayinit.element436, align 8 + %tobool.not.i.i.i.i405 = icmp eq ptr %this.val.i.i404, null + br i1 %tobool.not.i.i.i.i405, label %ehcleanup727, label %if.then.i.i.i.i406 -if.then.i.i.i.i383: ; preds = %lpad.i.i380 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i381) #31 +if.then.i.i.i.i406: ; preds = %lpad.i.i403 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i404) #31 br label %ehcleanup727 invoke.cont469: ; preds = %invoke.cont458 %arrayinit.element470 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 18 - %call5.i.i.i.i1.i.i.i393 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc392 unwind label %lpad482.body.thread967 + %call5.i.i.i.i1.i.i.i417 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc416 unwind label %lpad482.body.thread1000 -lpad482.body.thread967: ; preds = %invoke.cont469 +lpad482.body.thread1000: ; preds = %invoke.cont469 %67 = landingpad { ptr, i32 } cleanup br label %ehcleanup727 -call5.i.i.i.i1.i.i.i.noexc392: ; preds = %invoke.cont469 - store i32 2, ptr %call5.i.i.i.i1.i.i.i393, align 4 - %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i.i393.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i393, i64 4 - store i32 3, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i.i393.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc416: ; preds = %invoke.cont469 + store i32 2, ptr %call5.i.i.i.i1.i.i.i417, align 4 + %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i.i417.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i417, i64 4 + store i32 3, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i.i417.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp472, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i387 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i410 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont483 unwind label %lpad482.body.thread -lpad482.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc392 +lpad482.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc416 %68 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i393) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i417) #31 br label %ehcleanup727 -invoke.cont483: ; preds = %call5.i.i.i.i1.i.i.i.noexc392 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i387, ptr %ref.tmp472, align 8 - %_M_finish.i.i.i.i.i.i.i389 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i390 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i387, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i391 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i390, ptr %_M_end_of_storage.i.i.i.i.i.i.i391, align 8 - %69 = load i64, ptr %call5.i.i.i.i1.i.i.i393, align 4 - store i64 %69, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i387, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i390, ptr %_M_finish.i.i.i.i.i.i.i389, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i393) #31 +invoke.cont483: ; preds = %call5.i.i.i.i1.i.i.i.noexc416 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i410, ptr %ref.tmp472, align 8 + %_M_finish.i.i.i.i.i.i.i412 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i413 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i410, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i414 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i413, ptr %_M_end_of_storage.i.i.i.i.i.i.i414, align 8 + %69 = load i64, ptr %call5.i.i.i.i1.i.i.i417, align 4 + store i64 %69, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i410, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i413, ptr %_M_finish.i.i.i.i.i.i.i412, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i417) #31 %arrayinit.element484 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1 - %call5.i.i.i.i1.i.i.i402 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc401 unwind label %lpad482.body + %call5.i.i.i.i1.i.i.i427 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc426 unwind label %lpad482.body -call5.i.i.i.i1.i.i.i.noexc401: ; preds = %invoke.cont483 - store i32 4, ptr %call5.i.i.i.i1.i.i.i402, align 4 - %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i.i402.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i402, i64 4 - store i32 1, ptr %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i.i402.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc426: ; preds = %invoke.cont483 + store i32 4, ptr %call5.i.i.i.i1.i.i.i427, align 4 + %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i.i427.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i427, i64 4 + store i32 1, ptr %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i.i427.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element484, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i396 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont492 unwind label %lpad482.body.thread961 + %call5.i.i.i.i2.i6.i.i.i.i5.i420 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont492 unwind label %lpad482.body.thread994 -lpad482.body.thread961: ; preds = %call5.i.i.i.i1.i.i.i.noexc401 +lpad482.body.thread994: ; preds = %call5.i.i.i.i1.i.i.i.noexc426 %70 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i402) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i427) #31 br label %arraydestroy.body494 -invoke.cont492: ; preds = %call5.i.i.i.i1.i.i.i.noexc401 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i396, ptr %arrayinit.element484, align 8 - %_M_finish.i.i.i.i.i.i.i398 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i399 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i396, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i400 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i399, ptr %_M_end_of_storage.i.i.i.i.i.i.i400, align 8 - %71 = load i64, ptr %call5.i.i.i.i1.i.i.i402, align 4 - store i64 %71, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i396, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i399, ptr %_M_finish.i.i.i.i.i.i.i398, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i402) #31 - %add.ptr.i.i407 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 2 +invoke.cont492: ; preds = %call5.i.i.i.i1.i.i.i.noexc426 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i420, ptr %arrayinit.element484, align 8 + %_M_finish.i.i.i.i.i.i.i422 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i423 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i420, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i424 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i423, ptr %_M_end_of_storage.i.i.i.i.i.i.i424, align 8 + %71 = load i64, ptr %call5.i.i.i.i1.i.i.i427, align 4 + store i64 %71, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i420, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i423, ptr %_M_finish.i.i.i.i.i.i.i422, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i427) #31 + %add.ptr.i.i432 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, ptr noundef nonnull %ref.tmp472, ptr noundef nonnull %add.ptr.i.i407) - to label %invoke.cont503 unwind label %lpad.i.i408 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, ptr noundef nonnull %ref.tmp472, ptr noundef nonnull %add.ptr.i.i432) + to label %invoke.cont503 unwind label %lpad.i.i433 -lpad.i.i408: ; preds = %invoke.cont492 +lpad.i.i433: ; preds = %invoke.cont492 %72 = landingpad { ptr, i32 } cleanup - %this.val.i.i409 = load ptr, ptr %arrayinit.element470, align 8 - %tobool.not.i.i.i.i410 = icmp eq ptr %this.val.i.i409, null - br i1 %tobool.not.i.i.i.i410, label %ehcleanup714, label %if.then.i.i.i.i411 + %this.val.i.i434 = load ptr, ptr %arrayinit.element470, align 8 + %tobool.not.i.i.i.i435 = icmp eq ptr %this.val.i.i434, null + br i1 %tobool.not.i.i.i.i435, label %ehcleanup714, label %if.then.i.i.i.i436 -if.then.i.i.i.i411: ; preds = %lpad.i.i408 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i409) #31 +if.then.i.i.i.i436: ; preds = %lpad.i.i433 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i434) #31 br label %ehcleanup714 invoke.cont503: ; preds = %invoke.cont492 %arrayinit.element504 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 19 - %call5.i.i.i.i1.i.i.i421 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc420 unwind label %lpad516.body.thread976 + %call5.i.i.i.i1.i.i.i447 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc446 unwind label %lpad516.body.thread1009 -lpad516.body.thread976: ; preds = %invoke.cont503 +lpad516.body.thread1009: ; preds = %invoke.cont503 %73 = landingpad { ptr, i32 } cleanup br label %ehcleanup714 -call5.i.i.i.i1.i.i.i.noexc420: ; preds = %invoke.cont503 - store i32 2, ptr %call5.i.i.i.i1.i.i.i421, align 4 - %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i.i421.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i421, i64 4 - store i32 4, ptr %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i.i421.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc446: ; preds = %invoke.cont503 + store i32 2, ptr %call5.i.i.i.i1.i.i.i447, align 4 + %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i.i447.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i447, i64 4 + store i32 4, ptr %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i.i447.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp506, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i415 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i440 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont517 unwind label %lpad516.body.thread -lpad516.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc420 +lpad516.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc446 %74 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i421) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i447) #31 br label %ehcleanup714 -invoke.cont517: ; preds = %call5.i.i.i.i1.i.i.i.noexc420 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i415, ptr %ref.tmp506, align 8 - %_M_finish.i.i.i.i.i.i.i417 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i418 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i415, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i419 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i418, ptr %_M_end_of_storage.i.i.i.i.i.i.i419, align 8 - %75 = load i64, ptr %call5.i.i.i.i1.i.i.i421, align 4 - store i64 %75, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i415, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i418, ptr %_M_finish.i.i.i.i.i.i.i417, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i421) #31 +invoke.cont517: ; preds = %call5.i.i.i.i1.i.i.i.noexc446 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i440, ptr %ref.tmp506, align 8 + %_M_finish.i.i.i.i.i.i.i442 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i443 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i440, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i444 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i443, ptr %_M_end_of_storage.i.i.i.i.i.i.i444, align 8 + %75 = load i64, ptr %call5.i.i.i.i1.i.i.i447, align 4 + store i64 %75, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i440, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i443, ptr %_M_finish.i.i.i.i.i.i.i442, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i447) #31 %arrayinit.element518 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1 - %call5.i.i.i.i1.i.i.i430 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc429 unwind label %lpad516.body + %call5.i.i.i.i1.i.i.i457 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc456 unwind label %lpad516.body -call5.i.i.i.i1.i.i.i.noexc429: ; preds = %invoke.cont517 - store i32 1, ptr %call5.i.i.i.i1.i.i.i430, align 4 - %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i.i430.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i430, i64 4 - store i32 3, ptr %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i.i430.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc456: ; preds = %invoke.cont517 + store i32 1, ptr %call5.i.i.i.i1.i.i.i457, align 4 + %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i.i457.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i457, i64 4 + store i32 3, ptr %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i.i457.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element518, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i424 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont526 unwind label %lpad516.body.thread970 + %call5.i.i.i.i2.i6.i.i.i.i5.i450 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont526 unwind label %lpad516.body.thread1003 -lpad516.body.thread970: ; preds = %call5.i.i.i.i1.i.i.i.noexc429 +lpad516.body.thread1003: ; preds = %call5.i.i.i.i1.i.i.i.noexc456 %76 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i430) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i457) #31 br label %arraydestroy.body528 -invoke.cont526: ; preds = %call5.i.i.i.i1.i.i.i.noexc429 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i424, ptr %arrayinit.element518, align 8 - %_M_finish.i.i.i.i.i.i.i426 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i427 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i424, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i428 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i427, ptr %_M_end_of_storage.i.i.i.i.i.i.i428, align 8 - %77 = load i64, ptr %call5.i.i.i.i1.i.i.i430, align 4 - store i64 %77, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i424, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i427, ptr %_M_finish.i.i.i.i.i.i.i426, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i430) #31 - %add.ptr.i.i435 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 2 +invoke.cont526: ; preds = %call5.i.i.i.i1.i.i.i.noexc456 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i450, ptr %arrayinit.element518, align 8 + %_M_finish.i.i.i.i.i.i.i452 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i453 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i450, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i454 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i453, ptr %_M_end_of_storage.i.i.i.i.i.i.i454, align 8 + %77 = load i64, ptr %call5.i.i.i.i1.i.i.i457, align 4 + store i64 %77, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i450, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i453, ptr %_M_finish.i.i.i.i.i.i.i452, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i457) #31 + %add.ptr.i.i462 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element504, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element504, ptr noundef nonnull %ref.tmp506, ptr noundef nonnull %add.ptr.i.i435) - to label %invoke.cont537 unwind label %lpad.i.i436 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element504, ptr noundef nonnull %ref.tmp506, ptr noundef nonnull %add.ptr.i.i462) + to label %invoke.cont537 unwind label %lpad.i.i463 -lpad.i.i436: ; preds = %invoke.cont526 +lpad.i.i463: ; preds = %invoke.cont526 %78 = landingpad { ptr, i32 } cleanup - %this.val.i.i437 = load ptr, ptr %arrayinit.element504, align 8 - %tobool.not.i.i.i.i438 = icmp eq ptr %this.val.i.i437, null - br i1 %tobool.not.i.i.i.i438, label %ehcleanup701, label %if.then.i.i.i.i439 + %this.val.i.i464 = load ptr, ptr %arrayinit.element504, align 8 + %tobool.not.i.i.i.i465 = icmp eq ptr %this.val.i.i464, null + br i1 %tobool.not.i.i.i.i465, label %ehcleanup701, label %if.then.i.i.i.i466 -if.then.i.i.i.i439: ; preds = %lpad.i.i436 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i437) #31 +if.then.i.i.i.i466: ; preds = %lpad.i.i463 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i464) #31 br label %ehcleanup701 invoke.cont537: ; preds = %invoke.cont526 %arrayinit.element538 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 20 - %call5.i.i.i.i1.i.i.i449 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc448 unwind label %lpad550.body.thread985 + %call5.i.i.i.i1.i.i.i477 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc476 unwind label %lpad550.body.thread1018 -lpad550.body.thread985: ; preds = %invoke.cont537 +lpad550.body.thread1018: ; preds = %invoke.cont537 %79 = landingpad { ptr, i32 } cleanup br label %ehcleanup701 -call5.i.i.i.i1.i.i.i.noexc448: ; preds = %invoke.cont537 - store i32 2, ptr %call5.i.i.i.i1.i.i.i449, align 4 - %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i.i449.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i449, i64 4 - store i32 4, ptr %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i.i449.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc476: ; preds = %invoke.cont537 + store i32 2, ptr %call5.i.i.i.i1.i.i.i477, align 4 + %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i.i477.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i477, i64 4 + store i32 4, ptr %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i.i477.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp540, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i443 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i470 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont551 unwind label %lpad550.body.thread -lpad550.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc448 +lpad550.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc476 %80 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i449) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i477) #31 br label %ehcleanup701 -invoke.cont551: ; preds = %call5.i.i.i.i1.i.i.i.noexc448 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i443, ptr %ref.tmp540, align 8 - %_M_finish.i.i.i.i.i.i.i445 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i446 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i443, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i447 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i446, ptr %_M_end_of_storage.i.i.i.i.i.i.i447, align 8 - %81 = load i64, ptr %call5.i.i.i.i1.i.i.i449, align 4 - store i64 %81, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i443, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i446, ptr %_M_finish.i.i.i.i.i.i.i445, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i449) #31 +invoke.cont551: ; preds = %call5.i.i.i.i1.i.i.i.noexc476 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i470, ptr %ref.tmp540, align 8 + %_M_finish.i.i.i.i.i.i.i472 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i473 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i470, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i474 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i473, ptr %_M_end_of_storage.i.i.i.i.i.i.i474, align 8 + %81 = load i64, ptr %call5.i.i.i.i1.i.i.i477, align 4 + store i64 %81, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i470, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i473, ptr %_M_finish.i.i.i.i.i.i.i472, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i477) #31 %arrayinit.element552 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1 - %call5.i.i.i.i1.i.i.i458 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc457 unwind label %lpad550.body + %call5.i.i.i.i1.i.i.i487 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc486 unwind label %lpad550.body -call5.i.i.i.i1.i.i.i.noexc457: ; preds = %invoke.cont551 - store i32 3, ptr %call5.i.i.i.i1.i.i.i458, align 4 - %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i.i458.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i458, i64 4 - store i32 1, ptr %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i.i458.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc486: ; preds = %invoke.cont551 + store i32 3, ptr %call5.i.i.i.i1.i.i.i487, align 4 + %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i.i487.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i487, i64 4 + store i32 1, ptr %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i.i487.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element552, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i452 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont560 unwind label %lpad550.body.thread979 + %call5.i.i.i.i2.i6.i.i.i.i5.i480 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont560 unwind label %lpad550.body.thread1012 -lpad550.body.thread979: ; preds = %call5.i.i.i.i1.i.i.i.noexc457 +lpad550.body.thread1012: ; preds = %call5.i.i.i.i1.i.i.i.noexc486 %82 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i458) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i487) #31 br label %arraydestroy.body562 -invoke.cont560: ; preds = %call5.i.i.i.i1.i.i.i.noexc457 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i452, ptr %arrayinit.element552, align 8 - %_M_finish.i.i.i.i.i.i.i454 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i455 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i452, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i456 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i455, ptr %_M_end_of_storage.i.i.i.i.i.i.i456, align 8 - %83 = load i64, ptr %call5.i.i.i.i1.i.i.i458, align 4 - store i64 %83, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i452, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i455, ptr %_M_finish.i.i.i.i.i.i.i454, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i458) #31 - %add.ptr.i.i463 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 2 +invoke.cont560: ; preds = %call5.i.i.i.i1.i.i.i.noexc486 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i480, ptr %arrayinit.element552, align 8 + %_M_finish.i.i.i.i.i.i.i482 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i483 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i480, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i484 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i483, ptr %_M_end_of_storage.i.i.i.i.i.i.i484, align 8 + %83 = load i64, ptr %call5.i.i.i.i1.i.i.i487, align 4 + store i64 %83, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i480, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i483, ptr %_M_finish.i.i.i.i.i.i.i482, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i487) #31 + %add.ptr.i.i492 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element538, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element538, ptr noundef nonnull %ref.tmp540, ptr noundef nonnull %add.ptr.i.i463) - to label %invoke.cont571 unwind label %lpad.i.i464 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element538, ptr noundef nonnull %ref.tmp540, ptr noundef nonnull %add.ptr.i.i492) + to label %invoke.cont571 unwind label %lpad.i.i493 -lpad.i.i464: ; preds = %invoke.cont560 +lpad.i.i493: ; preds = %invoke.cont560 %84 = landingpad { ptr, i32 } cleanup - %this.val.i.i465 = load ptr, ptr %arrayinit.element538, align 8 - %tobool.not.i.i.i.i466 = icmp eq ptr %this.val.i.i465, null - br i1 %tobool.not.i.i.i.i466, label %ehcleanup688, label %if.then.i.i.i.i467 + %this.val.i.i494 = load ptr, ptr %arrayinit.element538, align 8 + %tobool.not.i.i.i.i495 = icmp eq ptr %this.val.i.i494, null + br i1 %tobool.not.i.i.i.i495, label %ehcleanup688, label %if.then.i.i.i.i496 -if.then.i.i.i.i467: ; preds = %lpad.i.i464 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i465) #31 +if.then.i.i.i.i496: ; preds = %lpad.i.i493 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i494) #31 br label %ehcleanup688 invoke.cont571: ; preds = %invoke.cont560 %arrayinit.element572 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 21 - %call5.i.i.i.i1.i.i.i477 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc476 unwind label %lpad584.body.thread994 + %call5.i.i.i.i1.i.i.i507 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc506 unwind label %lpad584.body.thread1027 -lpad584.body.thread994: ; preds = %invoke.cont571 +lpad584.body.thread1027: ; preds = %invoke.cont571 %85 = landingpad { ptr, i32 } cleanup br label %ehcleanup688 -call5.i.i.i.i1.i.i.i.noexc476: ; preds = %invoke.cont571 - store i32 3, ptr %call5.i.i.i.i1.i.i.i477, align 4 - %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i.i477.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i477, i64 4 - store i32 4, ptr %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i.i477.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc506: ; preds = %invoke.cont571 + store i32 3, ptr %call5.i.i.i.i1.i.i.i507, align 4 + %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i.i507.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i507, i64 4 + store i32 4, ptr %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i.i507.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp574, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i471 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i500 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont585 unwind label %lpad584.body.thread -lpad584.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc476 +lpad584.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc506 %86 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i477) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i507) #31 br label %ehcleanup688 -invoke.cont585: ; preds = %call5.i.i.i.i1.i.i.i.noexc476 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i471, ptr %ref.tmp574, align 8 - %_M_finish.i.i.i.i.i.i.i473 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i474 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i471, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i475 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i474, ptr %_M_end_of_storage.i.i.i.i.i.i.i475, align 8 - %87 = load i64, ptr %call5.i.i.i.i1.i.i.i477, align 4 - store i64 %87, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i471, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i474, ptr %_M_finish.i.i.i.i.i.i.i473, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i477) #31 +invoke.cont585: ; preds = %call5.i.i.i.i1.i.i.i.noexc506 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i500, ptr %ref.tmp574, align 8 + %_M_finish.i.i.i.i.i.i.i502 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i503 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i500, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i504 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i503, ptr %_M_end_of_storage.i.i.i.i.i.i.i504, align 8 + %87 = load i64, ptr %call5.i.i.i.i1.i.i.i507, align 4 + store i64 %87, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i500, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i503, ptr %_M_finish.i.i.i.i.i.i.i502, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i507) #31 %arrayinit.element586 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1 - %call5.i.i.i.i1.i.i.i486 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc485 unwind label %lpad584.body + %call5.i.i.i.i1.i.i.i517 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc516 unwind label %lpad584.body -call5.i.i.i.i1.i.i.i.noexc485: ; preds = %invoke.cont585 - store i32 1, ptr %call5.i.i.i.i1.i.i.i486, align 4 - %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i.i486.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i486, i64 4 - store i32 2, ptr %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i.i486.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc516: ; preds = %invoke.cont585 + store i32 1, ptr %call5.i.i.i.i1.i.i.i517, align 4 + %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i.i517.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i517, i64 4 + store i32 2, ptr %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i.i517.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element586, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i480 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont594 unwind label %lpad584.body.thread988 + %call5.i.i.i.i2.i6.i.i.i.i5.i510 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont594 unwind label %lpad584.body.thread1021 -lpad584.body.thread988: ; preds = %call5.i.i.i.i1.i.i.i.noexc485 +lpad584.body.thread1021: ; preds = %call5.i.i.i.i1.i.i.i.noexc516 %88 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i486) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i517) #31 br label %arraydestroy.body596 -invoke.cont594: ; preds = %call5.i.i.i.i1.i.i.i.noexc485 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i480, ptr %arrayinit.element586, align 8 - %_M_finish.i.i.i.i.i.i.i482 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i483 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i480, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i484 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i483, ptr %_M_end_of_storage.i.i.i.i.i.i.i484, align 8 - %89 = load i64, ptr %call5.i.i.i.i1.i.i.i486, align 4 - store i64 %89, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i480, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i483, ptr %_M_finish.i.i.i.i.i.i.i482, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i486) #31 - %add.ptr.i.i491 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 2 +invoke.cont594: ; preds = %call5.i.i.i.i1.i.i.i.noexc516 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i510, ptr %arrayinit.element586, align 8 + %_M_finish.i.i.i.i.i.i.i512 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i513 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i510, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i514 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i513, ptr %_M_end_of_storage.i.i.i.i.i.i.i514, align 8 + %89 = load i64, ptr %call5.i.i.i.i1.i.i.i517, align 4 + store i64 %89, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i510, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i513, ptr %_M_finish.i.i.i.i.i.i.i512, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i517) #31 + %add.ptr.i.i522 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element572, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element572, ptr noundef nonnull %ref.tmp574, ptr noundef nonnull %add.ptr.i.i491) - to label %invoke.cont605 unwind label %lpad.i.i492 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element572, ptr noundef nonnull %ref.tmp574, ptr noundef nonnull %add.ptr.i.i522) + to label %invoke.cont605 unwind label %lpad.i.i523 -lpad.i.i492: ; preds = %invoke.cont594 +lpad.i.i523: ; preds = %invoke.cont594 %90 = landingpad { ptr, i32 } cleanup - %this.val.i.i493 = load ptr, ptr %arrayinit.element572, align 8 - %tobool.not.i.i.i.i494 = icmp eq ptr %this.val.i.i493, null - br i1 %tobool.not.i.i.i.i494, label %ehcleanup675, label %if.then.i.i.i.i495 + %this.val.i.i524 = load ptr, ptr %arrayinit.element572, align 8 + %tobool.not.i.i.i.i525 = icmp eq ptr %this.val.i.i524, null + br i1 %tobool.not.i.i.i.i525, label %ehcleanup675, label %if.then.i.i.i.i526 -if.then.i.i.i.i495: ; preds = %lpad.i.i492 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i493) #31 +if.then.i.i.i.i526: ; preds = %lpad.i.i523 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i524) #31 br label %ehcleanup675 invoke.cont605: ; preds = %invoke.cont594 %arrayinit.element606 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 22 - %call5.i.i.i.i1.i.i.i505 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc504 unwind label %lpad618.body.thread1003 + %call5.i.i.i.i1.i.i.i537 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc536 unwind label %lpad618.body.thread1036 -lpad618.body.thread1003: ; preds = %invoke.cont605 +lpad618.body.thread1036: ; preds = %invoke.cont605 %91 = landingpad { ptr, i32 } cleanup br label %ehcleanup675 -call5.i.i.i.i1.i.i.i.noexc504: ; preds = %invoke.cont605 - store i32 3, ptr %call5.i.i.i.i1.i.i.i505, align 4 - %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i.i505.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i505, i64 4 - store i32 4, ptr %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i.i505.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc536: ; preds = %invoke.cont605 + store i32 3, ptr %call5.i.i.i.i1.i.i.i537, align 4 + %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i.i537.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i537, i64 4 + store i32 4, ptr %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i.i537.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp608, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i499 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i530 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont619 unwind label %lpad618.body.thread -lpad618.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc504 +lpad618.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc536 %92 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i505) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i537) #31 br label %ehcleanup675 -invoke.cont619: ; preds = %call5.i.i.i.i1.i.i.i.noexc504 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i499, ptr %ref.tmp608, align 8 - %_M_finish.i.i.i.i.i.i.i501 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i502 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i499, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i503 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i502, ptr %_M_end_of_storage.i.i.i.i.i.i.i503, align 8 - %93 = load i64, ptr %call5.i.i.i.i1.i.i.i505, align 4 - store i64 %93, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i499, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i502, ptr %_M_finish.i.i.i.i.i.i.i501, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i505) #31 +invoke.cont619: ; preds = %call5.i.i.i.i1.i.i.i.noexc536 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i530, ptr %ref.tmp608, align 8 + %_M_finish.i.i.i.i.i.i.i532 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i533 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i530, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i534 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i533, ptr %_M_end_of_storage.i.i.i.i.i.i.i534, align 8 + %93 = load i64, ptr %call5.i.i.i.i1.i.i.i537, align 4 + store i64 %93, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i530, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i533, ptr %_M_finish.i.i.i.i.i.i.i532, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i537) #31 %arrayinit.element620 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1 - %call5.i.i.i.i1.i.i.i514 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc513 unwind label %lpad618.body + %call5.i.i.i.i1.i.i.i547 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc546 unwind label %lpad618.body -call5.i.i.i.i1.i.i.i.noexc513: ; preds = %invoke.cont619 - store i32 2, ptr %call5.i.i.i.i1.i.i.i514, align 4 - %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i.i514.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i514, i64 4 - store i32 1, ptr %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i.i514.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc546: ; preds = %invoke.cont619 + store i32 2, ptr %call5.i.i.i.i1.i.i.i547, align 4 + %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i.i547.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i547, i64 4 + store i32 1, ptr %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i.i547.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element620, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i508 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont628 unwind label %lpad618.body.thread997 + %call5.i.i.i.i2.i6.i.i.i.i5.i540 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont628 unwind label %lpad618.body.thread1030 -lpad618.body.thread997: ; preds = %call5.i.i.i.i1.i.i.i.noexc513 +lpad618.body.thread1030: ; preds = %call5.i.i.i.i1.i.i.i.noexc546 %94 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i514) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i547) #31 br label %arraydestroy.body630 -invoke.cont628: ; preds = %call5.i.i.i.i1.i.i.i.noexc513 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i508, ptr %arrayinit.element620, align 8 - %_M_finish.i.i.i.i.i.i.i510 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i511 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i508, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i512 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i511, ptr %_M_end_of_storage.i.i.i.i.i.i.i512, align 8 - %95 = load i64, ptr %call5.i.i.i.i1.i.i.i514, align 4 - store i64 %95, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i508, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i511, ptr %_M_finish.i.i.i.i.i.i.i510, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i514) #31 - %add.ptr.i.i519 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 2 +invoke.cont628: ; preds = %call5.i.i.i.i1.i.i.i.noexc546 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i540, ptr %arrayinit.element620, align 8 + %_M_finish.i.i.i.i.i.i.i542 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i543 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i540, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i544 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i543, ptr %_M_end_of_storage.i.i.i.i.i.i.i544, align 8 + %95 = load i64, ptr %call5.i.i.i.i1.i.i.i547, align 4 + store i64 %95, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i540, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i543, ptr %_M_finish.i.i.i.i.i.i.i542, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i547) #31 + %add.ptr.i.i552 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, i8 0, i64 24, i1 false) - invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, ptr noundef nonnull %ref.tmp608, ptr noundef nonnull %add.ptr.i.i519) - to label %invoke.cont639 unwind label %lpad.i.i520 + invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EE19_M_range_initializeIPKS6_EEvT_SC_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, ptr noundef nonnull %ref.tmp608, ptr noundef nonnull %add.ptr.i.i552) + to label %invoke.cont639 unwind label %lpad.i.i553 -lpad.i.i520: ; preds = %invoke.cont628 +lpad.i.i553: ; preds = %invoke.cont628 %96 = landingpad { ptr, i32 } cleanup - %this.val.i.i521 = load ptr, ptr %arrayinit.element606, align 8 - %tobool.not.i.i.i.i522 = icmp eq ptr %this.val.i.i521, null - br i1 %tobool.not.i.i.i.i522, label %ehcleanup, label %if.then.i.i.i.i523 + %this.val.i.i554 = load ptr, ptr %arrayinit.element606, align 8 + %tobool.not.i.i.i.i555 = icmp eq ptr %this.val.i.i554, null + br i1 %tobool.not.i.i.i.i555, label %ehcleanup, label %if.then.i.i.i.i556 -if.then.i.i.i.i523: ; preds = %lpad.i.i520 - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i521) #31 +if.then.i.i.i.i556: ; preds = %lpad.i.i553 + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i554) #31 br label %ehcleanup invoke.cont639: ; preds = %invoke.cont628 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %call5.i.i.i.i5.i528 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + %call5.i.i.i.i5.i561 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 to label %call5.i.i.i.i5.i.noexc unwind label %lpad644 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont639 - store ptr %call5.i.i.i.i5.i528, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %call5.i.i.i.i5.i528, i64 23 + store ptr %call5.i.i.i.i5.i561, ptr %exemplars, align 8 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i561, i64 552 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence>>, std::allocator<(anonymous namespace)::UnorderedSequence>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i, %call5.i.i.i.i5.i.noexc - %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i528, %call5.i.i.i.i5.i.noexc ] + %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i561, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.idx.i = phi i64 [ %__first.addr.09.i.i.i.i.i.add.i, %for.inc.i.i.i.i.i.i ], [ 0, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.ptr.i = getelementptr inbounds i8, ptr %ref.tmp, i64 %__first.addr.09.i.i.i.i.i.idx.i invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EEC2ERKS8_(ptr noundef nonnull align 8 dereferenceable(24) %__cur.010.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.09.i.i.i.i.i.ptr.i) @@ -189111,7 +189113,7 @@ lpad.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. catch ptr null %98 = extractvalue { ptr, i32 } %97, 0 %99 = call ptr @__cxa_begin_catch(ptr %98) #28 - call fastcc void @_ZSt8_DestroyIPN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEEEvT_S9_(ptr noundef nonnull %call5.i.i.i.i5.i528, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) + call fastcc void @_ZSt8_DestroyIPN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEEEvT_S9_(ptr noundef nonnull %call5.i.i.i.i5.i561, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) invoke void @__cxa_rethrow() #30 to label %unreachable.i.i.i.i.i.i unwind label %lpad2.i.i.i.i.i.i @@ -189119,7 +189121,7 @@ lpad2.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i %100 = landingpad { ptr, i32 } cleanup invoke void @__cxa_end_catch() - to label %lpad.body.i527 unwind label %terminate.lpad.i.i.i.i.i.i + to label %lpad.body.i560 unwind label %terminate.lpad.i.i.i.i.i.i terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i %101 = landingpad { ptr, i32 } @@ -189131,12 +189133,12 @@ terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i unreachable.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i unreachable -lpad.body.i527: ; preds = %lpad2.i.i.i.i.i.i +lpad.body.i560: ; preds = %lpad2.i.i.i.i.i.i %this.val.pre.i = load ptr, ptr %exemplars, align 8 %tobool.not.i.i.i = icmp eq ptr %this.val.pre.i, null br i1 %tobool.not.i.i.i, label %lpad644.body, label %if.then.i.i6.i -if.then.i.i6.i: ; preds = %lpad.body.i527 +if.then.i.i6.i: ; preds = %lpad.body.i560 call void @_ZdlPv(ptr noundef nonnull %this.val.pre.i) #31 br label %lpad644.body @@ -189150,8 +189152,8 @@ arraydestroy.body646: ; preds = %_ZN12_GLOBAL__N_117 %arraydestroy.elementPast647 = phi ptr [ %103, %invoke.cont645 ], [ %arraydestroy.element648, %_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit ] %arraydestroy.element648 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %arraydestroy.elementPast647, i64 -1 %104 = load ptr, ptr %arraydestroy.element648, align 8 - %_M_finish.i.i530 = getelementptr %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %arraydestroy.elementPast647, i64 -1, i32 0, i32 0, i32 0, i32 0, i32 1 - %105 = load ptr, ptr %_M_finish.i.i530, align 8 + %_M_finish.i.i563 = getelementptr %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %arraydestroy.elementPast647, i64 -1, i32 0, i32 0, i32 0, i32 0, i32 1 + %105 = load ptr, ptr %_M_finish.i.i563, align 8 %cmp.not3.i.i.i.i.i = icmp eq ptr %104, %105 br i1 %cmp.not3.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i @@ -189175,20 +189177,20 @@ invoke.contthread-pre-split.i.i: ; preds = %_ZSt8_DestroyIN4abs br label %invoke.cont.i.i invoke.cont.i.i: ; preds = %invoke.contthread-pre-split.i.i, %arraydestroy.body646 - %this.val.i.i531 = phi ptr [ %this.val.pr.i.i, %invoke.contthread-pre-split.i.i ], [ %104, %arraydestroy.body646 ] - %tobool.not.i.i.i.i532 = icmp eq ptr %this.val.i.i531, null - br i1 %tobool.not.i.i.i.i532, label %_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit, label %if.then.i.i.i.i533 + %this.val.i.i564 = phi ptr [ %this.val.pr.i.i, %invoke.contthread-pre-split.i.i ], [ %104, %arraydestroy.body646 ] + %tobool.not.i.i.i.i565 = icmp eq ptr %this.val.i.i564, null + br i1 %tobool.not.i.i.i.i565, label %_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit, label %if.then.i.i.i.i566 -if.then.i.i.i.i533: ; preds = %invoke.cont.i.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i531) #31 +if.then.i.i.i.i566: ; preds = %invoke.cont.i.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i564) #31 br label %_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit -_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i533 +_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i.i566 %arraydestroy.done649 = icmp eq ptr %arraydestroy.element648, %ref.tmp br i1 %arraydestroy.done649, label %arraydestroy.body658, label %arraydestroy.body646 arraydestroy.body658: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit - %arraydestroy.elementPast659 = phi ptr [ %arraydestroy.element660, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ], [ %add.ptr.i.i519, %_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit ] + %arraydestroy.elementPast659 = phi ptr [ %arraydestroy.element660, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ], [ %add.ptr.i.i552, %_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev.exit ] %arraydestroy.element660 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast659, i64 -1 %arraydestroy.element660.val = load ptr, ptr %arraydestroy.element660, align 8 %tobool.not.i.i.i.i.i.i = icmp eq ptr %arraydestroy.element660.val, null @@ -189202,324 +189204,324 @@ _ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequ %arraydestroy.done661 = icmp eq ptr %arraydestroy.element660, %ref.tmp608 br i1 %arraydestroy.done661, label %arraydestroy.body670, label %arraydestroy.body658 -arraydestroy.body670: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536 - %arraydestroy.elementPast671 = phi ptr [ %arraydestroy.element672, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536 ], [ %add.ptr.i.i491, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ] +arraydestroy.body670: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 + %arraydestroy.elementPast671 = phi ptr [ %arraydestroy.element672, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 ], [ %add.ptr.i.i522, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ] %arraydestroy.element672 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast671, i64 -1 %arraydestroy.element672.val = load ptr, ptr %arraydestroy.element672, align 8 - %tobool.not.i.i.i.i.i.i534 = icmp eq ptr %arraydestroy.element672.val, null - br i1 %tobool.not.i.i.i.i.i.i534, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536, label %if.then.i.i.i.i.i.i535 + %tobool.not.i.i.i.i.i.i567 = icmp eq ptr %arraydestroy.element672.val, null + br i1 %tobool.not.i.i.i.i.i.i567, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569, label %if.then.i.i.i.i.i.i568 -if.then.i.i.i.i.i.i535: ; preds = %arraydestroy.body670 +if.then.i.i.i.i.i.i568: ; preds = %arraydestroy.body670 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element672.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536: ; preds = %arraydestroy.body670, %if.then.i.i.i.i.i.i535 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569: ; preds = %arraydestroy.body670, %if.then.i.i.i.i.i.i568 %arraydestroy.done673 = icmp eq ptr %arraydestroy.element672, %ref.tmp574 br i1 %arraydestroy.done673, label %arraydestroy.body683, label %arraydestroy.body670 -arraydestroy.body683: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539 - %arraydestroy.elementPast684 = phi ptr [ %arraydestroy.element685, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539 ], [ %add.ptr.i.i463, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit536 ] +arraydestroy.body683: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 + %arraydestroy.elementPast684 = phi ptr [ %arraydestroy.element685, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 ], [ %add.ptr.i.i492, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 ] %arraydestroy.element685 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast684, i64 -1 %arraydestroy.element685.val = load ptr, ptr %arraydestroy.element685, align 8 - %tobool.not.i.i.i.i.i.i537 = icmp eq ptr %arraydestroy.element685.val, null - br i1 %tobool.not.i.i.i.i.i.i537, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539, label %if.then.i.i.i.i.i.i538 + %tobool.not.i.i.i.i.i.i570 = icmp eq ptr %arraydestroy.element685.val, null + br i1 %tobool.not.i.i.i.i.i.i570, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572, label %if.then.i.i.i.i.i.i571 -if.then.i.i.i.i.i.i538: ; preds = %arraydestroy.body683 +if.then.i.i.i.i.i.i571: ; preds = %arraydestroy.body683 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element685.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539: ; preds = %arraydestroy.body683, %if.then.i.i.i.i.i.i538 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572: ; preds = %arraydestroy.body683, %if.then.i.i.i.i.i.i571 %arraydestroy.done686 = icmp eq ptr %arraydestroy.element685, %ref.tmp540 br i1 %arraydestroy.done686, label %arraydestroy.body696, label %arraydestroy.body683 -arraydestroy.body696: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542 - %arraydestroy.elementPast697 = phi ptr [ %arraydestroy.element698, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542 ], [ %add.ptr.i.i435, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit539 ] +arraydestroy.body696: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 + %arraydestroy.elementPast697 = phi ptr [ %arraydestroy.element698, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 ], [ %add.ptr.i.i462, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 ] %arraydestroy.element698 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast697, i64 -1 %arraydestroy.element698.val = load ptr, ptr %arraydestroy.element698, align 8 - %tobool.not.i.i.i.i.i.i540 = icmp eq ptr %arraydestroy.element698.val, null - br i1 %tobool.not.i.i.i.i.i.i540, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542, label %if.then.i.i.i.i.i.i541 + %tobool.not.i.i.i.i.i.i573 = icmp eq ptr %arraydestroy.element698.val, null + br i1 %tobool.not.i.i.i.i.i.i573, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575, label %if.then.i.i.i.i.i.i574 -if.then.i.i.i.i.i.i541: ; preds = %arraydestroy.body696 +if.then.i.i.i.i.i.i574: ; preds = %arraydestroy.body696 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element698.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542: ; preds = %arraydestroy.body696, %if.then.i.i.i.i.i.i541 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575: ; preds = %arraydestroy.body696, %if.then.i.i.i.i.i.i574 %arraydestroy.done699 = icmp eq ptr %arraydestroy.element698, %ref.tmp506 br i1 %arraydestroy.done699, label %arraydestroy.body709, label %arraydestroy.body696 -arraydestroy.body709: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545 - %arraydestroy.elementPast710 = phi ptr [ %arraydestroy.element711, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545 ], [ %add.ptr.i.i407, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit542 ] +arraydestroy.body709: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 + %arraydestroy.elementPast710 = phi ptr [ %arraydestroy.element711, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 ], [ %add.ptr.i.i432, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 ] %arraydestroy.element711 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast710, i64 -1 %arraydestroy.element711.val = load ptr, ptr %arraydestroy.element711, align 8 - %tobool.not.i.i.i.i.i.i543 = icmp eq ptr %arraydestroy.element711.val, null - br i1 %tobool.not.i.i.i.i.i.i543, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545, label %if.then.i.i.i.i.i.i544 + %tobool.not.i.i.i.i.i.i576 = icmp eq ptr %arraydestroy.element711.val, null + br i1 %tobool.not.i.i.i.i.i.i576, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578, label %if.then.i.i.i.i.i.i577 -if.then.i.i.i.i.i.i544: ; preds = %arraydestroy.body709 +if.then.i.i.i.i.i.i577: ; preds = %arraydestroy.body709 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element711.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545: ; preds = %arraydestroy.body709, %if.then.i.i.i.i.i.i544 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578: ; preds = %arraydestroy.body709, %if.then.i.i.i.i.i.i577 %arraydestroy.done712 = icmp eq ptr %arraydestroy.element711, %ref.tmp472 br i1 %arraydestroy.done712, label %arraydestroy.body722, label %arraydestroy.body709 -arraydestroy.body722: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548 - %arraydestroy.elementPast723 = phi ptr [ %arraydestroy.element724, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548 ], [ %add.ptr.i.i379, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit545 ] +arraydestroy.body722: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 + %arraydestroy.elementPast723 = phi ptr [ %arraydestroy.element724, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 ], [ %add.ptr.i.i402, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 ] %arraydestroy.element724 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast723, i64 -1 %arraydestroy.element724.val = load ptr, ptr %arraydestroy.element724, align 8 - %tobool.not.i.i.i.i.i.i546 = icmp eq ptr %arraydestroy.element724.val, null - br i1 %tobool.not.i.i.i.i.i.i546, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548, label %if.then.i.i.i.i.i.i547 + %tobool.not.i.i.i.i.i.i579 = icmp eq ptr %arraydestroy.element724.val, null + br i1 %tobool.not.i.i.i.i.i.i579, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581, label %if.then.i.i.i.i.i.i580 -if.then.i.i.i.i.i.i547: ; preds = %arraydestroy.body722 +if.then.i.i.i.i.i.i580: ; preds = %arraydestroy.body722 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element724.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548: ; preds = %arraydestroy.body722, %if.then.i.i.i.i.i.i547 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581: ; preds = %arraydestroy.body722, %if.then.i.i.i.i.i.i580 %arraydestroy.done725 = icmp eq ptr %arraydestroy.element724, %ref.tmp438 br i1 %arraydestroy.done725, label %arraydestroy.body735, label %arraydestroy.body722 -arraydestroy.body735: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551 - %arraydestroy.elementPast736 = phi ptr [ %arraydestroy.element737, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551 ], [ %add.ptr.i.i351, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit548 ] +arraydestroy.body735: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 + %arraydestroy.elementPast736 = phi ptr [ %arraydestroy.element737, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 ], [ %add.ptr.i.i372, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 ] %arraydestroy.element737 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast736, i64 -1 %arraydestroy.element737.val = load ptr, ptr %arraydestroy.element737, align 8 - %tobool.not.i.i.i.i.i.i549 = icmp eq ptr %arraydestroy.element737.val, null - br i1 %tobool.not.i.i.i.i.i.i549, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551, label %if.then.i.i.i.i.i.i550 + %tobool.not.i.i.i.i.i.i582 = icmp eq ptr %arraydestroy.element737.val, null + br i1 %tobool.not.i.i.i.i.i.i582, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584, label %if.then.i.i.i.i.i.i583 -if.then.i.i.i.i.i.i550: ; preds = %arraydestroy.body735 +if.then.i.i.i.i.i.i583: ; preds = %arraydestroy.body735 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element737.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551: ; preds = %arraydestroy.body735, %if.then.i.i.i.i.i.i550 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584: ; preds = %arraydestroy.body735, %if.then.i.i.i.i.i.i583 %arraydestroy.done738 = icmp eq ptr %arraydestroy.element737, %ref.tmp404 br i1 %arraydestroy.done738, label %arraydestroy.body748, label %arraydestroy.body735 -arraydestroy.body748: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554 - %arraydestroy.elementPast749 = phi ptr [ %arraydestroy.element750, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554 ], [ %add.ptr.i.i323, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit551 ] +arraydestroy.body748: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587 + %arraydestroy.elementPast749 = phi ptr [ %arraydestroy.element750, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587 ], [ %add.ptr.i.i342, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 ] %arraydestroy.element750 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast749, i64 -1 %arraydestroy.element750.val = load ptr, ptr %arraydestroy.element750, align 8 - %tobool.not.i.i.i.i.i.i552 = icmp eq ptr %arraydestroy.element750.val, null - br i1 %tobool.not.i.i.i.i.i.i552, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554, label %if.then.i.i.i.i.i.i553 + %tobool.not.i.i.i.i.i.i585 = icmp eq ptr %arraydestroy.element750.val, null + br i1 %tobool.not.i.i.i.i.i.i585, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587, label %if.then.i.i.i.i.i.i586 -if.then.i.i.i.i.i.i553: ; preds = %arraydestroy.body748 +if.then.i.i.i.i.i.i586: ; preds = %arraydestroy.body748 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element750.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554: ; preds = %arraydestroy.body748, %if.then.i.i.i.i.i.i553 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587: ; preds = %arraydestroy.body748, %if.then.i.i.i.i.i.i586 %arraydestroy.done751 = icmp eq ptr %arraydestroy.element750, %ref.tmp370 br i1 %arraydestroy.done751, label %arraydestroy.body761, label %arraydestroy.body748 -arraydestroy.body761: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557 - %arraydestroy.elementPast762 = phi ptr [ %arraydestroy.element763, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557 ], [ %add.ptr.i.i295, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit554 ] +arraydestroy.body761: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 + %arraydestroy.elementPast762 = phi ptr [ %arraydestroy.element763, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 ], [ %add.ptr.i.i312, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit587 ] %arraydestroy.element763 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast762, i64 -1 %arraydestroy.element763.val = load ptr, ptr %arraydestroy.element763, align 8 - %tobool.not.i.i.i.i.i.i555 = icmp eq ptr %arraydestroy.element763.val, null - br i1 %tobool.not.i.i.i.i.i.i555, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557, label %if.then.i.i.i.i.i.i556 + %tobool.not.i.i.i.i.i.i588 = icmp eq ptr %arraydestroy.element763.val, null + br i1 %tobool.not.i.i.i.i.i.i588, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590, label %if.then.i.i.i.i.i.i589 -if.then.i.i.i.i.i.i556: ; preds = %arraydestroy.body761 +if.then.i.i.i.i.i.i589: ; preds = %arraydestroy.body761 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element763.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557: ; preds = %arraydestroy.body761, %if.then.i.i.i.i.i.i556 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590: ; preds = %arraydestroy.body761, %if.then.i.i.i.i.i.i589 %arraydestroy.done764 = icmp eq ptr %arraydestroy.element763, %ref.tmp336 br i1 %arraydestroy.done764, label %arraydestroy.body774, label %arraydestroy.body761 -arraydestroy.body774: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560 - %arraydestroy.elementPast775 = phi ptr [ %arraydestroy.element776, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560 ], [ %add.ptr.i.i267, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit557 ] +arraydestroy.body774: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 + %arraydestroy.elementPast775 = phi ptr [ %arraydestroy.element776, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 ], [ %add.ptr.i.i282, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 ] %arraydestroy.element776 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast775, i64 -1 %arraydestroy.element776.val = load ptr, ptr %arraydestroy.element776, align 8 - %tobool.not.i.i.i.i.i.i558 = icmp eq ptr %arraydestroy.element776.val, null - br i1 %tobool.not.i.i.i.i.i.i558, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560, label %if.then.i.i.i.i.i.i559 + %tobool.not.i.i.i.i.i.i591 = icmp eq ptr %arraydestroy.element776.val, null + br i1 %tobool.not.i.i.i.i.i.i591, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593, label %if.then.i.i.i.i.i.i592 -if.then.i.i.i.i.i.i559: ; preds = %arraydestroy.body774 +if.then.i.i.i.i.i.i592: ; preds = %arraydestroy.body774 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element776.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560: ; preds = %arraydestroy.body774, %if.then.i.i.i.i.i.i559 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593: ; preds = %arraydestroy.body774, %if.then.i.i.i.i.i.i592 %arraydestroy.done777 = icmp eq ptr %arraydestroy.element776, %ref.tmp302 br i1 %arraydestroy.done777, label %arraydestroy.body787, label %arraydestroy.body774 -arraydestroy.body787: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563 - %arraydestroy.elementPast788 = phi ptr [ %arraydestroy.element789, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563 ], [ %add.ptr.i.i239, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit560 ] +arraydestroy.body787: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596 + %arraydestroy.elementPast788 = phi ptr [ %arraydestroy.element789, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596 ], [ %add.ptr.i.i252, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 ] %arraydestroy.element789 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast788, i64 -1 %arraydestroy.element789.val = load ptr, ptr %arraydestroy.element789, align 8 - %tobool.not.i.i.i.i.i.i561 = icmp eq ptr %arraydestroy.element789.val, null - br i1 %tobool.not.i.i.i.i.i.i561, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563, label %if.then.i.i.i.i.i.i562 + %tobool.not.i.i.i.i.i.i594 = icmp eq ptr %arraydestroy.element789.val, null + br i1 %tobool.not.i.i.i.i.i.i594, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596, label %if.then.i.i.i.i.i.i595 -if.then.i.i.i.i.i.i562: ; preds = %arraydestroy.body787 +if.then.i.i.i.i.i.i595: ; preds = %arraydestroy.body787 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element789.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563: ; preds = %arraydestroy.body787, %if.then.i.i.i.i.i.i562 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596: ; preds = %arraydestroy.body787, %if.then.i.i.i.i.i.i595 %arraydestroy.done790 = icmp eq ptr %arraydestroy.element789, %ref.tmp268 br i1 %arraydestroy.done790, label %arraydestroy.body800, label %arraydestroy.body787 -arraydestroy.body800: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566 - %arraydestroy.elementPast801 = phi ptr [ %arraydestroy.element802, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566 ], [ %add.ptr.i.i211, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit563 ] +arraydestroy.body800: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599 + %arraydestroy.elementPast801 = phi ptr [ %arraydestroy.element802, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599 ], [ %add.ptr.i.i222, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit596 ] %arraydestroy.element802 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast801, i64 -1 %arraydestroy.element802.val = load ptr, ptr %arraydestroy.element802, align 8 - %tobool.not.i.i.i.i.i.i564 = icmp eq ptr %arraydestroy.element802.val, null - br i1 %tobool.not.i.i.i.i.i.i564, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566, label %if.then.i.i.i.i.i.i565 + %tobool.not.i.i.i.i.i.i597 = icmp eq ptr %arraydestroy.element802.val, null + br i1 %tobool.not.i.i.i.i.i.i597, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599, label %if.then.i.i.i.i.i.i598 -if.then.i.i.i.i.i.i565: ; preds = %arraydestroy.body800 +if.then.i.i.i.i.i.i598: ; preds = %arraydestroy.body800 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element802.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566: ; preds = %arraydestroy.body800, %if.then.i.i.i.i.i.i565 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599: ; preds = %arraydestroy.body800, %if.then.i.i.i.i.i.i598 %arraydestroy.done803 = icmp eq ptr %arraydestroy.element802, %ref.tmp234 br i1 %arraydestroy.done803, label %arraydestroy.body813, label %arraydestroy.body800 -arraydestroy.body813: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 - %arraydestroy.elementPast814 = phi ptr [ %arraydestroy.element815, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 ], [ %add.ptr.i.i183, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit566 ] +arraydestroy.body813: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602 + %arraydestroy.elementPast814 = phi ptr [ %arraydestroy.element815, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602 ], [ %add.ptr.i.i192, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit599 ] %arraydestroy.element815 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast814, i64 -1 %arraydestroy.element815.val = load ptr, ptr %arraydestroy.element815, align 8 - %tobool.not.i.i.i.i.i.i567 = icmp eq ptr %arraydestroy.element815.val, null - br i1 %tobool.not.i.i.i.i.i.i567, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569, label %if.then.i.i.i.i.i.i568 + %tobool.not.i.i.i.i.i.i600 = icmp eq ptr %arraydestroy.element815.val, null + br i1 %tobool.not.i.i.i.i.i.i600, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602, label %if.then.i.i.i.i.i.i601 -if.then.i.i.i.i.i.i568: ; preds = %arraydestroy.body813 +if.then.i.i.i.i.i.i601: ; preds = %arraydestroy.body813 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element815.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569: ; preds = %arraydestroy.body813, %if.then.i.i.i.i.i.i568 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602: ; preds = %arraydestroy.body813, %if.then.i.i.i.i.i.i601 %arraydestroy.done816 = icmp eq ptr %arraydestroy.element815, %ref.tmp208 br i1 %arraydestroy.done816, label %arraydestroy.body826, label %arraydestroy.body813 -arraydestroy.body826: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 - %arraydestroy.elementPast827 = phi ptr [ %arraydestroy.element828, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 ], [ %add.ptr.i.i166, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit569 ] +arraydestroy.body826: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605 + %arraydestroy.elementPast827 = phi ptr [ %arraydestroy.element828, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605 ], [ %add.ptr.i.i174, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit602 ] %arraydestroy.element828 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast827, i64 -1 %arraydestroy.element828.val = load ptr, ptr %arraydestroy.element828, align 8 - %tobool.not.i.i.i.i.i.i570 = icmp eq ptr %arraydestroy.element828.val, null - br i1 %tobool.not.i.i.i.i.i.i570, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572, label %if.then.i.i.i.i.i.i571 + %tobool.not.i.i.i.i.i.i603 = icmp eq ptr %arraydestroy.element828.val, null + br i1 %tobool.not.i.i.i.i.i.i603, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605, label %if.then.i.i.i.i.i.i604 -if.then.i.i.i.i.i.i571: ; preds = %arraydestroy.body826 +if.then.i.i.i.i.i.i604: ; preds = %arraydestroy.body826 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element828.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572: ; preds = %arraydestroy.body826, %if.then.i.i.i.i.i.i571 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605: ; preds = %arraydestroy.body826, %if.then.i.i.i.i.i.i604 %arraydestroy.done829 = icmp eq ptr %arraydestroy.element828, %ref.tmp182 br i1 %arraydestroy.done829, label %arraydestroy.body839, label %arraydestroy.body826 -arraydestroy.body839: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 - %arraydestroy.elementPast840 = phi ptr [ %arraydestroy.element841, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 ], [ %add.ptr.i.i149, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit572 ] +arraydestroy.body839: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608 + %arraydestroy.elementPast840 = phi ptr [ %arraydestroy.element841, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608 ], [ %add.ptr.i.i156, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit605 ] %arraydestroy.element841 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast840, i64 -1 %arraydestroy.element841.val = load ptr, ptr %arraydestroy.element841, align 8 - %tobool.not.i.i.i.i.i.i573 = icmp eq ptr %arraydestroy.element841.val, null - br i1 %tobool.not.i.i.i.i.i.i573, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575, label %if.then.i.i.i.i.i.i574 + %tobool.not.i.i.i.i.i.i606 = icmp eq ptr %arraydestroy.element841.val, null + br i1 %tobool.not.i.i.i.i.i.i606, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608, label %if.then.i.i.i.i.i.i607 -if.then.i.i.i.i.i.i574: ; preds = %arraydestroy.body839 +if.then.i.i.i.i.i.i607: ; preds = %arraydestroy.body839 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element841.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575: ; preds = %arraydestroy.body839, %if.then.i.i.i.i.i.i574 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608: ; preds = %arraydestroy.body839, %if.then.i.i.i.i.i.i607 %arraydestroy.done842 = icmp eq ptr %arraydestroy.element841, %ref.tmp156 br i1 %arraydestroy.done842, label %arraydestroy.body852, label %arraydestroy.body839 -arraydestroy.body852: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 - %arraydestroy.elementPast853 = phi ptr [ %arraydestroy.element854, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 ], [ %add.ptr.i.i132, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit575 ] +arraydestroy.body852: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611 + %arraydestroy.elementPast853 = phi ptr [ %arraydestroy.element854, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611 ], [ %add.ptr.i.i138, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit608 ] %arraydestroy.element854 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast853, i64 -1 %arraydestroy.element854.val = load ptr, ptr %arraydestroy.element854, align 8 - %tobool.not.i.i.i.i.i.i576 = icmp eq ptr %arraydestroy.element854.val, null - br i1 %tobool.not.i.i.i.i.i.i576, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578, label %if.then.i.i.i.i.i.i577 + %tobool.not.i.i.i.i.i.i609 = icmp eq ptr %arraydestroy.element854.val, null + br i1 %tobool.not.i.i.i.i.i.i609, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611, label %if.then.i.i.i.i.i.i610 -if.then.i.i.i.i.i.i577: ; preds = %arraydestroy.body852 +if.then.i.i.i.i.i.i610: ; preds = %arraydestroy.body852 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element854.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578: ; preds = %arraydestroy.body852, %if.then.i.i.i.i.i.i577 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611: ; preds = %arraydestroy.body852, %if.then.i.i.i.i.i.i610 %arraydestroy.done855 = icmp eq ptr %arraydestroy.element854, %ref.tmp130 br i1 %arraydestroy.done855, label %arraydestroy.body865, label %arraydestroy.body852 -arraydestroy.body865: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 - %arraydestroy.elementPast866 = phi ptr [ %arraydestroy.element867, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 ], [ %add.ptr.i.i115, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit578 ] +arraydestroy.body865: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 + %arraydestroy.elementPast866 = phi ptr [ %arraydestroy.element867, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 ], [ %add.ptr.i.i120, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit611 ] %arraydestroy.element867 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast866, i64 -1 %arraydestroy.element867.val = load ptr, ptr %arraydestroy.element867, align 8 - %tobool.not.i.i.i.i.i.i579 = icmp eq ptr %arraydestroy.element867.val, null - br i1 %tobool.not.i.i.i.i.i.i579, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581, label %if.then.i.i.i.i.i.i580 + %tobool.not.i.i.i.i.i.i612 = icmp eq ptr %arraydestroy.element867.val, null + br i1 %tobool.not.i.i.i.i.i.i612, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614, label %if.then.i.i.i.i.i.i613 -if.then.i.i.i.i.i.i580: ; preds = %arraydestroy.body865 +if.then.i.i.i.i.i.i613: ; preds = %arraydestroy.body865 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element867.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581: ; preds = %arraydestroy.body865, %if.then.i.i.i.i.i.i580 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614: ; preds = %arraydestroy.body865, %if.then.i.i.i.i.i.i613 %arraydestroy.done868 = icmp eq ptr %arraydestroy.element867, %ref.tmp84 br i1 %arraydestroy.done868, label %arraydestroy.body878, label %arraydestroy.body865 -arraydestroy.body878: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 - %arraydestroy.elementPast879 = phi ptr [ %arraydestroy.element880, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 ], [ %add.ptr.i.i76, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit581 ] +arraydestroy.body878: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617 + %arraydestroy.elementPast879 = phi ptr [ %arraydestroy.element880, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617 ], [ %add.ptr.i.i78, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit614 ] %arraydestroy.element880 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast879, i64 -1 %arraydestroy.element880.val = load ptr, ptr %arraydestroy.element880, align 8 - %tobool.not.i.i.i.i.i.i582 = icmp eq ptr %arraydestroy.element880.val, null - br i1 %tobool.not.i.i.i.i.i.i582, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584, label %if.then.i.i.i.i.i.i583 + %tobool.not.i.i.i.i.i.i615 = icmp eq ptr %arraydestroy.element880.val, null + br i1 %tobool.not.i.i.i.i.i.i615, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617, label %if.then.i.i.i.i.i.i616 -if.then.i.i.i.i.i.i583: ; preds = %arraydestroy.body878 +if.then.i.i.i.i.i.i616: ; preds = %arraydestroy.body878 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element880.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584: ; preds = %arraydestroy.body878, %if.then.i.i.i.i.i.i583 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617: ; preds = %arraydestroy.body878, %if.then.i.i.i.i.i.i616 %arraydestroy.done881 = icmp eq ptr %arraydestroy.element880, %ref.tmp50 br i1 %arraydestroy.done881, label %arraydestroy.body891.preheader, label %arraydestroy.body878 -arraydestroy.body891.preheader: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit584 +arraydestroy.body891.preheader: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit617 %arraydestroy.element893.val = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i.i.i.i585 = icmp eq ptr %arraydestroy.element893.val, null - br i1 %tobool.not.i.i.i.i.i.i585, label %arraydestroy.body904.preheader, label %if.then.i.i.i.i.i.i586 + %tobool.not.i.i.i.i.i.i618 = icmp eq ptr %arraydestroy.element893.val, null + br i1 %tobool.not.i.i.i.i.i.i618, label %arraydestroy.body904.preheader, label %if.then.i.i.i.i.i.i619 -if.then.i.i.i.i.i.i586: ; preds = %arraydestroy.body891.preheader +if.then.i.i.i.i.i.i619: ; preds = %arraydestroy.body891.preheader call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element893.val) #31 br label %arraydestroy.body904.preheader -arraydestroy.body904.preheader: ; preds = %arraydestroy.body891.preheader, %if.then.i.i.i.i.i.i586 +arraydestroy.body904.preheader: ; preds = %arraydestroy.body891.preheader, %if.then.i.i.i.i.i.i619 br label %arraydestroy.body904 -arraydestroy.body904: ; preds = %arraydestroy.body904.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 - %arraydestroy.elementPast905 = phi ptr [ %arraydestroy.element906, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 ], [ %add.ptr.i.i38, %arraydestroy.body904.preheader ] +arraydestroy.body904: ; preds = %arraydestroy.body904.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623 + %arraydestroy.elementPast905 = phi ptr [ %arraydestroy.element906, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623 ], [ %add.ptr.i.i38, %arraydestroy.body904.preheader ] %arraydestroy.element906 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast905, i64 -1 %arraydestroy.element906.val = load ptr, ptr %arraydestroy.element906, align 8 - %tobool.not.i.i.i.i.i.i588 = icmp eq ptr %arraydestroy.element906.val, null - br i1 %tobool.not.i.i.i.i.i.i588, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590, label %if.then.i.i.i.i.i.i589 + %tobool.not.i.i.i.i.i.i621 = icmp eq ptr %arraydestroy.element906.val, null + br i1 %tobool.not.i.i.i.i.i.i621, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623, label %if.then.i.i.i.i.i.i622 -if.then.i.i.i.i.i.i589: ; preds = %arraydestroy.body904 +if.then.i.i.i.i.i.i622: ; preds = %arraydestroy.body904 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element906.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590: ; preds = %arraydestroy.body904, %if.then.i.i.i.i.i.i589 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623: ; preds = %arraydestroy.body904, %if.then.i.i.i.i.i.i622 %arraydestroy.done907 = icmp eq ptr %arraydestroy.element906, %ref.tmp19 br i1 %arraydestroy.done907, label %arraydestroy.body917, label %arraydestroy.body904 -arraydestroy.body917: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 - %arraydestroy.elementPast918 = phi ptr [ %arraydestroy.element919, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 ], [ %add.ptr.i.i30, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit590 ] +arraydestroy.body917: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626 + %arraydestroy.elementPast918 = phi ptr [ %arraydestroy.element919, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626 ], [ %add.ptr.i.i30, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit623 ] %arraydestroy.element919 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast918, i64 -1 %arraydestroy.element919.val = load ptr, ptr %arraydestroy.element919, align 8 - %tobool.not.i.i.i.i.i.i591 = icmp eq ptr %arraydestroy.element919.val, null - br i1 %tobool.not.i.i.i.i.i.i591, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593, label %if.then.i.i.i.i.i.i592 + %tobool.not.i.i.i.i.i.i624 = icmp eq ptr %arraydestroy.element919.val, null + br i1 %tobool.not.i.i.i.i.i.i624, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626, label %if.then.i.i.i.i.i.i625 -if.then.i.i.i.i.i.i592: ; preds = %arraydestroy.body917 +if.then.i.i.i.i.i.i625: ; preds = %arraydestroy.body917 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element919.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593: ; preds = %arraydestroy.body917, %if.then.i.i.i.i.i.i592 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626: ; preds = %arraydestroy.body917, %if.then.i.i.i.i.i.i625 %arraydestroy.done920 = icmp eq ptr %arraydestroy.element919, %ref.tmp8 br i1 %arraydestroy.done920, label %arraydestroy.body930.preheader, label %arraydestroy.body917 -arraydestroy.body930.preheader: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit593 +arraydestroy.body930.preheader: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit626 %arraydestroy.element932.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i.i.i594 = icmp eq ptr %arraydestroy.element932.val, null - br i1 %tobool.not.i.i.i.i.i.i594, label %for.body.i.i.preheader, label %if.then.i.i.i.i.i.i595 + %tobool.not.i.i.i.i.i.i627 = icmp eq ptr %arraydestroy.element932.val, null + br i1 %tobool.not.i.i.i.i.i.i627, label %for.body.i.i.preheader, label %if.then.i.i.i.i.i.i628 -if.then.i.i.i.i.i.i595: ; preds = %arraydestroy.body930.preheader +if.then.i.i.i.i.i.i628: ; preds = %arraydestroy.body930.preheader call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element932.val) #31 br label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %arraydestroy.body930.preheader, %if.then.i.i.i.i.i.i595 +for.body.i.i.preheader: ; preds = %arraydestroy.body930.preheader, %if.then.i.i.i.i.i.i628 br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.inc.i.i %ref.tmp.sroa.0.0.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %add.ptr19.i.i.i12.i.i = phi ptr [ %add.ptr19.i.i.i11.i.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] - %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i528, %for.body.i.i.preheader ] + %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i561, %for.body.i.i.preheader ] %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i - br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i597 + br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i630 -if.then.i.i.i.i597: ; preds = %for.body.i.i +if.then.i.i.i.i630: ; preds = %for.body.i.i store ptr %__begin0.sroa.0.08.i.i, ptr %incdec.ptr.i.i.i9.i.i, align 8, !noalias !4608 %ref.tmp.sroa.3.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i9.i.i, i64 8 store i8 0, ptr %ref.tmp.sroa.3.0..sroa_idx.i.i, align 8, !noalias !4608 @@ -189530,13 +189532,13 @@ if.else.i.i.i.i: ; preds = %for.body.i.i %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %ref.tmp.sroa.0.0.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i608, label %_ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i641, label %_ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE12_M_check_lenEmPKc.exit.i.i.i.i.i -if.then.i.i.i.i.i.i608: ; preds = %if.else.i.i.i.i +if.then.i.i.i.i.i.i641: ; preds = %if.else.i.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.52) #30 to label %.noexc.i.i unwind label %lpad.loopexit.split-lp.i.i, !noalias !4608 -.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i608 +.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i641 unreachable _ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i @@ -189548,8 +189550,8 @@ _ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test %cmp9.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i, 576460752303423487 %or.cond.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i %cond.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i, i64 576460752303423487, i64 %add.i.i.i.i.i.i - %cmp.not.i.i.i.i.i.i605 = icmp eq i64 %cond.i.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i.i605, label %_ZNSt12_Vector_baseISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEEEE8allocateERSC_m.exit.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i638 = icmp eq i64 %cond.i.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i.i638, label %_ZNSt12_Vector_baseISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEEEE8allocateERSC_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEEEE8allocateERSC_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 4 @@ -189575,8 +189577,8 @@ for.body.i.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE11_S_relocateEPSB_SE_SE_RSC_.exit21.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE11_M_allocateEm.exit.i.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE11_M_allocateEm.exit.i.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ] - %tobool.not.i.i.i.i.i.i607 = icmp eq ptr %ref.tmp.sroa.0.0.i, null - br i1 %tobool.not.i.i.i.i.i.i607, label %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i + %tobool.not.i.i.i.i.i.i640 = icmp eq ptr %ref.tmp.sroa.0.0.i, null + br i1 %tobool.not.i.i.i.i.i.i640, label %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE11_S_relocateEPSB_SE_SE_RSC_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4608 @@ -189586,10 +189588,10 @@ _ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_ %add.ptr19.i.i.i.i.i = getelementptr inbounds %"class.std::variant.1536", ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i br label %for.inc.i.i -for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i597 - %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i597 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i597 ] - %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i597 ] +for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i630 + %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i630 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i630 ] + %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i630 ] %ref.tmp.sroa.6.0.i = getelementptr inbounds %"class.std::variant.1536", ptr %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i, i64 1 %incdec.ptr.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %__begin0.sroa.0.08.i.i, i64 1 %cmp.i.not.i.i = icmp eq ptr %__begin0.sroa.0.08.i.i, %__cur.010.i.i.i.i.i.i @@ -189598,19 +189600,19 @@ for.inc.i.i: ; preds = %_ZNSt6vectorISt7var lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_traitsISaISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS2_IiEEEEEEEEEE8allocateERSC_m.exit.i.i.i.i.i.i %lpad.loopexit3.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i606 + br label %lpad.i.i639 -lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i608 +lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i641 %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i606 + br label %lpad.i.i639 -lpad.i.i606: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i +lpad.i.i639: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i %lpad.phi.i.i = phi { ptr, i32 } [ %lpad.loopexit3.i.i, %lpad.loopexit.i.i ], [ %lpad.loopexit.split-lp4.i.i, %lpad.loopexit.split-lp.i.i ] %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0.i, null br i1 %tobool.not.i.i.i.i.i, label %ehcleanup967, label %if.then.i.i.i.i.i -if.then.i.i.i.i.i: ; preds = %lpad.i.i606 +if.then.i.i.i.i.i: ; preds = %lpad.i.i639 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4608 br label %ehcleanup967 @@ -189679,32 +189681,32 @@ for.body13.i.i: ; preds = %for.body.i8.i, %for %109 = getelementptr i8, ptr %.val.i.i, i64 8 %.val.val61.i.i = load ptr, ptr %109, align 8 %call.i.i.i.i.i.i.i104.i.i = invoke fastcc noundef zeroext i1 @_ZN12_GLOBAL__N_1eqERKNS_17UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEEES8_(ptr %call4.val.val.i.i, ptr %call4.val.val60.i.i, ptr %.val.val.i.i, ptr %.val.val61.i.i) - to label %invoke.cont.i.i600 unwind label %lpad.loopexit.split-lp.loopexit.i.i + to label %invoke.cont.i.i633 unwind label %lpad.loopexit.split-lp.loopexit.i.i -invoke.cont.i.i600: ; preds = %for.body13.i.i +invoke.cont.i.i633: ; preds = %for.body13.i.i br i1 %call.i.i.i.i.i.i.i104.i.i, label %if.end23.i.i, label %for.inc.i9.i lpad.loopexit11.i.i: ; preds = %for.body66.i.i %lpad.loopexit12.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i598 + br label %lpad.body.i631 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %for.body13.i.i %lpad.loopexit15.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i598 + br label %lpad.body.i631 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSP_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEE8allocateERSR_m.exit.i.i.i.i.i %lpad.loopexit18.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i598 + br label %lpad.body.i631 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.invoke.i.i %lpad.loopexit.split-lp19.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i598 + br label %lpad.body.i631 -for.inc.i9.i: ; preds = %invoke.cont.i.i600 +for.inc.i9.i: ; preds = %invoke.cont.i.i633 %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.1556", ptr %__begin05.sroa.0.047.i.i, i64 1 %cmp.i103.not.i.i = icmp eq ptr %incdec.ptr.i.i10.i, %classes.val54.i.i br i1 %cmp.i103.not.i.i, label %if.then19.i.i, label %for.body13.i.i @@ -189742,8 +189744,8 @@ _ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS %cmp9.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i, 384307168202282325 %or.cond.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i, %cmp9.i.i.i.i.i %cond.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i, i64 384307168202282325, i64 %add.i.i.i.i.i - %cmp.not.i.i.i.i.i604 = icmp eq i64 %cond.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i604, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEE8allocateERSR_m.exit.i.i.i.i.i + %cmp.not.i.i.i.i.i637 = icmp eq i64 %cond.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i637, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEE8allocateERSR_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEE8allocateERSR_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = mul nuw nsw i64 %cond.i.i.i.i.i, 24 @@ -189775,9 +189777,9 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] - %incdec.ptr.i.i.i37.i = getelementptr inbounds %"class.std::vector.1556", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i38.i = icmp eq ptr %classes.val.i.i, null - br i1 %tobool.not.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i + %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.1556", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i39.i = icmp eq ptr %classes.val.i.i, null + br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i) #31 @@ -189785,13 +189787,13 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !4619 - store ptr %incdec.ptr.i.i.i37.i, ptr %106, align 8, !noalias !4619 + store ptr %incdec.ptr.i.i.i38.i, ptr %106, align 8, !noalias !4619 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.1556", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !4619 br label %if.end23.i.i -if.end23.i.i: ; preds = %invoke.cont.i.i600, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i, %if.then.i.i.i - %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i ], [ %__begin05.sroa.0.047.i.i, %invoke.cont.i.i600 ] +if.end23.i.i: ; preds = %invoke.cont.i.i633, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i, %if.then.i.i.i + %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i, %if.then.i.i.i ], [ %__begin05.sroa.0.047.i.i, %invoke.cont.i.i633 ] %_M_finish.i.i.i11.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1562", ptr %c.1.i.i, i64 0, i32 1 %113 = load ptr, ptr %_M_finish.i.i.i11.i, align 8 %_M_end_of_storage.i.i.i12.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1562", ptr %c.1.i.i, i64 0, i32 2 @@ -189839,31 +189841,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.049.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.050.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1563, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1563, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.1563, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.1563, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %116 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i ], [ %115, %if.then.i.i.i14.i ] + %116 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i ], [ %115, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.050.i.i, 1 %call28.val.i.i = load ptr, ptr %116, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -189874,8 +189877,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !4629) %117 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !4632 %118 = and i8 %117, 1 - %tobool.not.i.i.i601 = icmp eq i8 %118, 0 - br i1 %tobool.not.i.i.i601, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i634 = icmp eq i8 %118, 0 + br i1 %tobool.not.i.i.i634, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -190080,7 +190083,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %147 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i598 + br label %lpad.body.i631 lpad35.i.i: ; preds = %if.then33.i.i %148 = landingpad { ptr, i32 } @@ -190102,12 +190105,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %150 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4619 %151 = and i8 %150, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %151, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i598, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i631, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4619 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i598 + br label %lpad.body.i631 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !4619 @@ -190209,7 +190212,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %159, %lpad51.i.i ], [ %155, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %155, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i598 + br label %lpad.body.i631 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.056.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -192243,7 +192246,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %260, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit8.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp9.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i598 + br label %lpad.body.i631 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_) @@ -192353,22 +192356,22 @@ cleanup257.i.i: ; preds = %if.then.i.i.i1.i893 %_M_finish.i914.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1534", ptr %classes.i.i, i64 0, i32 1 %429 = load ptr, ptr %_M_finish.i914.i.i, align 8, !noalias !4619 %cmp.not3.i.i.i.i.i.i = icmp eq ptr %428, %429 - br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i602 + br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i635 -for.body.i.i.i.i.i.i602: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i635: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i ], [ %428, %cleanup257.i.i ] %__first.addr.0.val.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i -if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i602 +if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i635 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i602 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i635 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1556", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i916.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i, %429 - br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i602, !llvm.loop !4633 + br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i635, !llvm.loop !4633 invoke.cont.i917.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS1_18hash_test_internal19TypeErasedContainerINS6_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i, %cleanup257.i.i %tobool.not.i.i.i918.i.i = icmp eq ptr %428, null @@ -192403,24 +192406,24 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i), !noalias !4616 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !4616 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !4616 - %tobool.not.i.i.i.i603 = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i603, label %invoke.cont950, label %if.then.i.i.i40.i + %tobool.not.i.i.i.i636 = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i.i636, label %invoke.cont950, label %if.then.i.i.i41.i -if.then.i.i.i40.i: ; preds = %invoke.cont.i +if.then.i.i.i41.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %invoke.cont950 -lpad.body.i598: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i +lpad.body.i631: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i %.pn46.pn.i.i = phi { ptr, i32 } [ %147, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit12.i.i, %lpad.loopexit11.i.i ], [ %lpad.loopexit15.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit18.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp19.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceINS0_18hash_test_internal19TypeErasedContainerINS5_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i42.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i42.i, label %ehcleanup967, label %if.then.i.i.i43.i + %tobool.not.i.i.i43.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i43.i, label %ehcleanup967, label %if.then.i.i.i44.i -if.then.i.i.i43.i: ; preds = %lpad.body.i598 +if.then.i.i.i44.i: ; preds = %lpad.body.i631 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %ehcleanup967 -invoke.cont950: ; preds = %if.then.i.i.i40.i, %invoke.cont.i +invoke.cont950: ; preds = %if.then.i.i.i41.i, %invoke.cont.i %430 = load i8, ptr %gtest_ar_, align 8 %431 = and i8 %430, 1 %tobool.i.not = icmp eq i8 %431, 0 @@ -192431,17 +192434,17 @@ lpad60.body: ; preds = %invoke.cont61 cleanup br label %arraydestroy.body72 -arraydestroy.body72: ; preds = %lpad60.body.thread870, %lpad60.body - %eh.lpad-body63875 = phi { ptr, i32 } [ %8, %lpad60.body.thread870 ], [ %432, %lpad60.body ] +arraydestroy.body72: ; preds = %lpad60.body.thread903, %lpad60.body + %eh.lpad-body64908 = phi { ptr, i32 } [ %8, %lpad60.body.thread903 ], [ %432, %lpad60.body ] %arraydestroy.element74.val = load ptr, ptr %ref.tmp50, align 8 - %tobool.not.i.i.i.i.i.i610 = icmp eq ptr %arraydestroy.element74.val, null - br i1 %tobool.not.i.i.i.i.i.i610, label %ehcleanup896, label %if.then.i.i.i.i.i.i611 + %tobool.not.i.i.i.i.i.i643 = icmp eq ptr %arraydestroy.element74.val, null + br i1 %tobool.not.i.i.i.i.i.i643, label %ehcleanup896, label %if.then.i.i.i.i.i.i644 -if.then.i.i.i.i.i.i611: ; preds = %arraydestroy.body72 +if.then.i.i.i.i.i.i644: ; preds = %arraydestroy.body72 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element74.val) #31 br label %ehcleanup896 -lpad95.body.thread886: ; preds = %invoke.cont96, %invoke.cont106 +lpad95.body.thread919: ; preds = %invoke.cont96, %invoke.cont106 %arrayinit.endOfInit86.0.ph = phi ptr [ %arrayinit.element107, %invoke.cont106 ], [ %arrayinit.element97, %invoke.cont96 ] %lpad.thr_comm = landingpad { ptr, i32 } cleanup @@ -192452,23 +192455,23 @@ lpad95.body: ; preds = %invoke.cont81 cleanup br label %ehcleanup883 -arraydestroy.body118.preheader: ; preds = %common.resume.i105, %common.resume.i94, %lpad95.body.thread886 - %eh.lpad-body91884 = phi { ptr, i32 } [ %lpad.thr_comm, %lpad95.body.thread886 ], [ %13, %common.resume.i105 ], [ %12, %common.resume.i94 ] - %arrayinit.endOfInit86.0.lpad-body883 = phi ptr [ %arrayinit.endOfInit86.0.ph, %lpad95.body.thread886 ], [ %arrayinit.element107, %common.resume.i105 ], [ %arrayinit.element97, %common.resume.i94 ] +arraydestroy.body118.preheader: ; preds = %common.resume.i109, %common.resume.i97, %lpad95.body.thread919 + %eh.lpad-body94917 = phi { ptr, i32 } [ %lpad.thr_comm, %lpad95.body.thread919 ], [ %13, %common.resume.i109 ], [ %12, %common.resume.i97 ] + %arrayinit.endOfInit86.0.lpad-body916 = phi ptr [ %arrayinit.endOfInit86.0.ph, %lpad95.body.thread919 ], [ %arrayinit.element107, %common.resume.i109 ], [ %arrayinit.element97, %common.resume.i97 ] br label %arraydestroy.body118 -arraydestroy.body118: ; preds = %arraydestroy.body118.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615 - %arraydestroy.elementPast119 = phi ptr [ %arraydestroy.element120, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615 ], [ %arrayinit.endOfInit86.0.lpad-body883, %arraydestroy.body118.preheader ] +arraydestroy.body118: ; preds = %arraydestroy.body118.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648 + %arraydestroy.elementPast119 = phi ptr [ %arraydestroy.element120, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648 ], [ %arrayinit.endOfInit86.0.lpad-body916, %arraydestroy.body118.preheader ] %arraydestroy.element120 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast119, i64 -1 %arraydestroy.element120.val = load ptr, ptr %arraydestroy.element120, align 8 - %tobool.not.i.i.i.i.i.i613 = icmp eq ptr %arraydestroy.element120.val, null - br i1 %tobool.not.i.i.i.i.i.i613, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615, label %if.then.i.i.i.i.i.i614 + %tobool.not.i.i.i.i.i.i646 = icmp eq ptr %arraydestroy.element120.val, null + br i1 %tobool.not.i.i.i.i.i.i646, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648, label %if.then.i.i.i.i.i.i647 -if.then.i.i.i.i.i.i614: ; preds = %arraydestroy.body118 +if.then.i.i.i.i.i.i647: ; preds = %arraydestroy.body118 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element120.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615: ; preds = %arraydestroy.body118, %if.then.i.i.i.i.i.i614 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648: ; preds = %arraydestroy.body118, %if.then.i.i.i.i.i.i647 %arraydestroy.done121 = icmp eq ptr %arraydestroy.element120, %ref.tmp84 br i1 %arraydestroy.done121, label %ehcleanup883, label %arraydestroy.body118 @@ -192477,15 +192480,15 @@ lpad141.body.thread: ; preds = %invoke.cont127 cleanup br label %ehcleanup870 -lpad141.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc128 +lpad141.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc134 %434 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i129) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i135) #31 %arraydestroy.element146.val.pre = load ptr, ptr %ref.tmp130, align 8 - %tobool.not.i.i.i.i.i.i616 = icmp eq ptr %arraydestroy.element146.val.pre, null - br i1 %tobool.not.i.i.i.i.i.i616, label %ehcleanup870, label %if.then.i.i.i.i.i.i617 + %tobool.not.i.i.i.i.i.i649 = icmp eq ptr %arraydestroy.element146.val.pre, null + br i1 %tobool.not.i.i.i.i.i.i649, label %ehcleanup870, label %if.then.i.i.i.i.i.i650 -if.then.i.i.i.i.i.i617: ; preds = %lpad141.body +if.then.i.i.i.i.i.i650: ; preds = %lpad141.body call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element146.val.pre) #31 br label %ehcleanup870 @@ -192494,15 +192497,15 @@ lpad167.body.thread: ; preds = %invoke.cont153 cleanup br label %ehcleanup857 -lpad167.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc145 +lpad167.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc152 %436 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i146) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i153) #31 %arraydestroy.element172.val.pre = load ptr, ptr %ref.tmp156, align 8 - %tobool.not.i.i.i.i.i.i619 = icmp eq ptr %arraydestroy.element172.val.pre, null - br i1 %tobool.not.i.i.i.i.i.i619, label %ehcleanup857, label %if.then.i.i.i.i.i.i620 + %tobool.not.i.i.i.i.i.i652 = icmp eq ptr %arraydestroy.element172.val.pre, null + br i1 %tobool.not.i.i.i.i.i.i652, label %ehcleanup857, label %if.then.i.i.i.i.i.i653 -if.then.i.i.i.i.i.i620: ; preds = %lpad167.body +if.then.i.i.i.i.i.i653: ; preds = %lpad167.body call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element172.val.pre) #31 br label %ehcleanup857 @@ -192521,13 +192524,13 @@ lpad244.body: ; preds = %invoke.cont245 cleanup br label %arraydestroy.body256 -arraydestroy.body256: ; preds = %lpad244.body.thread898, %lpad244.body - %eh.lpad-body198903 = phi { ptr, i32 } [ %28, %lpad244.body.thread898 ], [ %439, %lpad244.body ] +arraydestroy.body256: ; preds = %lpad244.body.thread931, %lpad244.body + %eh.lpad-body208936 = phi { ptr, i32 } [ %28, %lpad244.body.thread931 ], [ %439, %lpad244.body ] %arraydestroy.element258.val = load ptr, ptr %ref.tmp234, align 8 - %tobool.not.i.i.i.i.i.i622 = icmp eq ptr %arraydestroy.element258.val, null - br i1 %tobool.not.i.i.i.i.i.i622, label %ehcleanup818, label %if.then.i.i.i.i.i.i623 + %tobool.not.i.i.i.i.i.i655 = icmp eq ptr %arraydestroy.element258.val, null + br i1 %tobool.not.i.i.i.i.i.i655, label %ehcleanup818, label %if.then.i.i.i.i.i.i656 -if.then.i.i.i.i.i.i623: ; preds = %arraydestroy.body256 +if.then.i.i.i.i.i.i656: ; preds = %arraydestroy.body256 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element258.val) #31 br label %ehcleanup818 @@ -192536,13 +192539,13 @@ lpad278.body: ; preds = %invoke.cont279 cleanup br label %arraydestroy.body290 -arraydestroy.body290: ; preds = %lpad278.body.thread907, %lpad278.body - %eh.lpad-body226912 = phi { ptr, i32 } [ %34, %lpad278.body.thread907 ], [ %440, %lpad278.body ] +arraydestroy.body290: ; preds = %lpad278.body.thread940, %lpad278.body + %eh.lpad-body238945 = phi { ptr, i32 } [ %34, %lpad278.body.thread940 ], [ %440, %lpad278.body ] %arraydestroy.element292.val = load ptr, ptr %ref.tmp268, align 8 - %tobool.not.i.i.i.i.i.i625 = icmp eq ptr %arraydestroy.element292.val, null - br i1 %tobool.not.i.i.i.i.i.i625, label %ehcleanup805, label %if.then.i.i.i.i.i.i626 + %tobool.not.i.i.i.i.i.i658 = icmp eq ptr %arraydestroy.element292.val, null + br i1 %tobool.not.i.i.i.i.i.i658, label %ehcleanup805, label %if.then.i.i.i.i.i.i659 -if.then.i.i.i.i.i.i626: ; preds = %arraydestroy.body290 +if.then.i.i.i.i.i.i659: ; preds = %arraydestroy.body290 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element292.val) #31 br label %ehcleanup805 @@ -192551,13 +192554,13 @@ lpad312.body: ; preds = %invoke.cont313 cleanup br label %arraydestroy.body324 -arraydestroy.body324: ; preds = %lpad312.body.thread916, %lpad312.body - %eh.lpad-body254921 = phi { ptr, i32 } [ %40, %lpad312.body.thread916 ], [ %441, %lpad312.body ] +arraydestroy.body324: ; preds = %lpad312.body.thread949, %lpad312.body + %eh.lpad-body268954 = phi { ptr, i32 } [ %40, %lpad312.body.thread949 ], [ %441, %lpad312.body ] %arraydestroy.element326.val = load ptr, ptr %ref.tmp302, align 8 - %tobool.not.i.i.i.i.i.i628 = icmp eq ptr %arraydestroy.element326.val, null - br i1 %tobool.not.i.i.i.i.i.i628, label %ehcleanup792, label %if.then.i.i.i.i.i.i629 + %tobool.not.i.i.i.i.i.i661 = icmp eq ptr %arraydestroy.element326.val, null + br i1 %tobool.not.i.i.i.i.i.i661, label %ehcleanup792, label %if.then.i.i.i.i.i.i662 -if.then.i.i.i.i.i.i629: ; preds = %arraydestroy.body324 +if.then.i.i.i.i.i.i662: ; preds = %arraydestroy.body324 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element326.val) #31 br label %ehcleanup792 @@ -192566,13 +192569,13 @@ lpad346.body: ; preds = %invoke.cont347 cleanup br label %arraydestroy.body358 -arraydestroy.body358: ; preds = %lpad346.body.thread925, %lpad346.body - %eh.lpad-body282930 = phi { ptr, i32 } [ %46, %lpad346.body.thread925 ], [ %442, %lpad346.body ] +arraydestroy.body358: ; preds = %lpad346.body.thread958, %lpad346.body + %eh.lpad-body298963 = phi { ptr, i32 } [ %46, %lpad346.body.thread958 ], [ %442, %lpad346.body ] %arraydestroy.element360.val = load ptr, ptr %ref.tmp336, align 8 - %tobool.not.i.i.i.i.i.i631 = icmp eq ptr %arraydestroy.element360.val, null - br i1 %tobool.not.i.i.i.i.i.i631, label %ehcleanup779, label %if.then.i.i.i.i.i.i632 + %tobool.not.i.i.i.i.i.i664 = icmp eq ptr %arraydestroy.element360.val, null + br i1 %tobool.not.i.i.i.i.i.i664, label %ehcleanup779, label %if.then.i.i.i.i.i.i665 -if.then.i.i.i.i.i.i632: ; preds = %arraydestroy.body358 +if.then.i.i.i.i.i.i665: ; preds = %arraydestroy.body358 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element360.val) #31 br label %ehcleanup779 @@ -192581,13 +192584,13 @@ lpad380.body: ; preds = %invoke.cont381 cleanup br label %arraydestroy.body392 -arraydestroy.body392: ; preds = %lpad380.body.thread934, %lpad380.body - %eh.lpad-body310939 = phi { ptr, i32 } [ %52, %lpad380.body.thread934 ], [ %443, %lpad380.body ] +arraydestroy.body392: ; preds = %lpad380.body.thread967, %lpad380.body + %eh.lpad-body328972 = phi { ptr, i32 } [ %52, %lpad380.body.thread967 ], [ %443, %lpad380.body ] %arraydestroy.element394.val = load ptr, ptr %ref.tmp370, align 8 - %tobool.not.i.i.i.i.i.i634 = icmp eq ptr %arraydestroy.element394.val, null - br i1 %tobool.not.i.i.i.i.i.i634, label %ehcleanup766, label %if.then.i.i.i.i.i.i635 + %tobool.not.i.i.i.i.i.i667 = icmp eq ptr %arraydestroy.element394.val, null + br i1 %tobool.not.i.i.i.i.i.i667, label %ehcleanup766, label %if.then.i.i.i.i.i.i668 -if.then.i.i.i.i.i.i635: ; preds = %arraydestroy.body392 +if.then.i.i.i.i.i.i668: ; preds = %arraydestroy.body392 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element394.val) #31 br label %ehcleanup766 @@ -192596,13 +192599,13 @@ lpad414.body: ; preds = %invoke.cont415 cleanup br label %arraydestroy.body426 -arraydestroy.body426: ; preds = %lpad414.body.thread943, %lpad414.body - %eh.lpad-body338948 = phi { ptr, i32 } [ %58, %lpad414.body.thread943 ], [ %444, %lpad414.body ] +arraydestroy.body426: ; preds = %lpad414.body.thread976, %lpad414.body + %eh.lpad-body358981 = phi { ptr, i32 } [ %58, %lpad414.body.thread976 ], [ %444, %lpad414.body ] %arraydestroy.element428.val = load ptr, ptr %ref.tmp404, align 8 - %tobool.not.i.i.i.i.i.i637 = icmp eq ptr %arraydestroy.element428.val, null - br i1 %tobool.not.i.i.i.i.i.i637, label %ehcleanup753, label %if.then.i.i.i.i.i.i638 + %tobool.not.i.i.i.i.i.i670 = icmp eq ptr %arraydestroy.element428.val, null + br i1 %tobool.not.i.i.i.i.i.i670, label %ehcleanup753, label %if.then.i.i.i.i.i.i671 -if.then.i.i.i.i.i.i638: ; preds = %arraydestroy.body426 +if.then.i.i.i.i.i.i671: ; preds = %arraydestroy.body426 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element428.val) #31 br label %ehcleanup753 @@ -192611,13 +192614,13 @@ lpad448.body: ; preds = %invoke.cont449 cleanup br label %arraydestroy.body460 -arraydestroy.body460: ; preds = %lpad448.body.thread952, %lpad448.body - %eh.lpad-body366957 = phi { ptr, i32 } [ %64, %lpad448.body.thread952 ], [ %445, %lpad448.body ] +arraydestroy.body460: ; preds = %lpad448.body.thread985, %lpad448.body + %eh.lpad-body388990 = phi { ptr, i32 } [ %64, %lpad448.body.thread985 ], [ %445, %lpad448.body ] %arraydestroy.element462.val = load ptr, ptr %ref.tmp438, align 8 - %tobool.not.i.i.i.i.i.i640 = icmp eq ptr %arraydestroy.element462.val, null - br i1 %tobool.not.i.i.i.i.i.i640, label %ehcleanup740, label %if.then.i.i.i.i.i.i641 + %tobool.not.i.i.i.i.i.i673 = icmp eq ptr %arraydestroy.element462.val, null + br i1 %tobool.not.i.i.i.i.i.i673, label %ehcleanup740, label %if.then.i.i.i.i.i.i674 -if.then.i.i.i.i.i.i641: ; preds = %arraydestroy.body460 +if.then.i.i.i.i.i.i674: ; preds = %arraydestroy.body460 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element462.val) #31 br label %ehcleanup740 @@ -192626,13 +192629,13 @@ lpad482.body: ; preds = %invoke.cont483 cleanup br label %arraydestroy.body494 -arraydestroy.body494: ; preds = %lpad482.body.thread961, %lpad482.body - %eh.lpad-body394966 = phi { ptr, i32 } [ %70, %lpad482.body.thread961 ], [ %446, %lpad482.body ] +arraydestroy.body494: ; preds = %lpad482.body.thread994, %lpad482.body + %eh.lpad-body418999 = phi { ptr, i32 } [ %70, %lpad482.body.thread994 ], [ %446, %lpad482.body ] %arraydestroy.element496.val = load ptr, ptr %ref.tmp472, align 8 - %tobool.not.i.i.i.i.i.i643 = icmp eq ptr %arraydestroy.element496.val, null - br i1 %tobool.not.i.i.i.i.i.i643, label %ehcleanup727, label %if.then.i.i.i.i.i.i644 + %tobool.not.i.i.i.i.i.i676 = icmp eq ptr %arraydestroy.element496.val, null + br i1 %tobool.not.i.i.i.i.i.i676, label %ehcleanup727, label %if.then.i.i.i.i.i.i677 -if.then.i.i.i.i.i.i644: ; preds = %arraydestroy.body494 +if.then.i.i.i.i.i.i677: ; preds = %arraydestroy.body494 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element496.val) #31 br label %ehcleanup727 @@ -192641,13 +192644,13 @@ lpad516.body: ; preds = %invoke.cont517 cleanup br label %arraydestroy.body528 -arraydestroy.body528: ; preds = %lpad516.body.thread970, %lpad516.body - %eh.lpad-body422975 = phi { ptr, i32 } [ %76, %lpad516.body.thread970 ], [ %447, %lpad516.body ] +arraydestroy.body528: ; preds = %lpad516.body.thread1003, %lpad516.body + %eh.lpad-body4481008 = phi { ptr, i32 } [ %76, %lpad516.body.thread1003 ], [ %447, %lpad516.body ] %arraydestroy.element530.val = load ptr, ptr %ref.tmp506, align 8 - %tobool.not.i.i.i.i.i.i646 = icmp eq ptr %arraydestroy.element530.val, null - br i1 %tobool.not.i.i.i.i.i.i646, label %ehcleanup714, label %if.then.i.i.i.i.i.i647 + %tobool.not.i.i.i.i.i.i679 = icmp eq ptr %arraydestroy.element530.val, null + br i1 %tobool.not.i.i.i.i.i.i679, label %ehcleanup714, label %if.then.i.i.i.i.i.i680 -if.then.i.i.i.i.i.i647: ; preds = %arraydestroy.body528 +if.then.i.i.i.i.i.i680: ; preds = %arraydestroy.body528 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element530.val) #31 br label %ehcleanup714 @@ -192656,13 +192659,13 @@ lpad550.body: ; preds = %invoke.cont551 cleanup br label %arraydestroy.body562 -arraydestroy.body562: ; preds = %lpad550.body.thread979, %lpad550.body - %eh.lpad-body450984 = phi { ptr, i32 } [ %82, %lpad550.body.thread979 ], [ %448, %lpad550.body ] +arraydestroy.body562: ; preds = %lpad550.body.thread1012, %lpad550.body + %eh.lpad-body4781017 = phi { ptr, i32 } [ %82, %lpad550.body.thread1012 ], [ %448, %lpad550.body ] %arraydestroy.element564.val = load ptr, ptr %ref.tmp540, align 8 - %tobool.not.i.i.i.i.i.i649 = icmp eq ptr %arraydestroy.element564.val, null - br i1 %tobool.not.i.i.i.i.i.i649, label %ehcleanup701, label %if.then.i.i.i.i.i.i650 + %tobool.not.i.i.i.i.i.i682 = icmp eq ptr %arraydestroy.element564.val, null + br i1 %tobool.not.i.i.i.i.i.i682, label %ehcleanup701, label %if.then.i.i.i.i.i.i683 -if.then.i.i.i.i.i.i650: ; preds = %arraydestroy.body562 +if.then.i.i.i.i.i.i683: ; preds = %arraydestroy.body562 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element564.val) #31 br label %ehcleanup701 @@ -192671,13 +192674,13 @@ lpad584.body: ; preds = %invoke.cont585 cleanup br label %arraydestroy.body596 -arraydestroy.body596: ; preds = %lpad584.body.thread988, %lpad584.body - %eh.lpad-body478993 = phi { ptr, i32 } [ %88, %lpad584.body.thread988 ], [ %449, %lpad584.body ] +arraydestroy.body596: ; preds = %lpad584.body.thread1021, %lpad584.body + %eh.lpad-body5081026 = phi { ptr, i32 } [ %88, %lpad584.body.thread1021 ], [ %449, %lpad584.body ] %arraydestroy.element598.val = load ptr, ptr %ref.tmp574, align 8 - %tobool.not.i.i.i.i.i.i652 = icmp eq ptr %arraydestroy.element598.val, null - br i1 %tobool.not.i.i.i.i.i.i652, label %ehcleanup688, label %if.then.i.i.i.i.i.i653 + %tobool.not.i.i.i.i.i.i685 = icmp eq ptr %arraydestroy.element598.val, null + br i1 %tobool.not.i.i.i.i.i.i685, label %ehcleanup688, label %if.then.i.i.i.i.i.i686 -if.then.i.i.i.i.i.i653: ; preds = %arraydestroy.body596 +if.then.i.i.i.i.i.i686: ; preds = %arraydestroy.body596 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element598.val) #31 br label %ehcleanup688 @@ -192686,13 +192689,13 @@ lpad618.body: ; preds = %invoke.cont619 cleanup br label %arraydestroy.body630 -arraydestroy.body630: ; preds = %lpad618.body.thread997, %lpad618.body - %eh.lpad-body5061002 = phi { ptr, i32 } [ %94, %lpad618.body.thread997 ], [ %450, %lpad618.body ] +arraydestroy.body630: ; preds = %lpad618.body.thread1030, %lpad618.body + %eh.lpad-body5381035 = phi { ptr, i32 } [ %94, %lpad618.body.thread1030 ], [ %450, %lpad618.body ] %arraydestroy.element632.val = load ptr, ptr %ref.tmp608, align 8 - %tobool.not.i.i.i.i.i.i655 = icmp eq ptr %arraydestroy.element632.val, null - br i1 %tobool.not.i.i.i.i.i.i655, label %ehcleanup675, label %if.then.i.i.i.i.i.i656 + %tobool.not.i.i.i.i.i.i688 = icmp eq ptr %arraydestroy.element632.val, null + br i1 %tobool.not.i.i.i.i.i.i688, label %ehcleanup675, label %if.then.i.i.i.i.i.i689 -if.then.i.i.i.i.i.i656: ; preds = %arraydestroy.body630 +if.then.i.i.i.i.i.i689: ; preds = %arraydestroy.body630 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element632.val) #31 br label %ehcleanup675 @@ -192701,8 +192704,8 @@ lpad644: ; preds = %invoke.cont639 cleanup br label %lpad644.body -lpad644.body: ; preds = %lpad.body.i527, %if.then.i.i6.i, %lpad644 - %eh.lpad-body529 = phi { ptr, i32 } [ %451, %lpad644 ], [ %100, %if.then.i.i6.i ], [ %100, %lpad.body.i527 ] +lpad644.body: ; preds = %lpad.body.i560, %if.then.i.i6.i, %lpad644 + %eh.lpad-body562 = phi { ptr, i32 } [ %451, %lpad644 ], [ %100, %if.then.i.i6.i ], [ %100, %lpad.body.i560 ] %452 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %ref.tmp, i64 23 br label %arraydestroy.body652 @@ -192713,463 +192716,463 @@ arraydestroy.body652: ; preds = %arraydestroy.body65 %arraydestroy.done655 = icmp eq ptr %arraydestroy.element654, %ref.tmp br i1 %arraydestroy.done655, label %ehcleanup, label %arraydestroy.body652 -ehcleanup: ; preds = %arraydestroy.body652, %if.then.i.i.i.i523, %lpad.i.i520 - %.pn = phi { ptr, i32 } [ %96, %if.then.i.i.i.i523 ], [ %96, %lpad.i.i520 ], [ %eh.lpad-body529, %arraydestroy.body652 ] - %cleanup.isactive.0 = phi i1 [ true, %if.then.i.i.i.i523 ], [ true, %lpad.i.i520 ], [ false, %arraydestroy.body652 ] +ehcleanup: ; preds = %arraydestroy.body652, %if.then.i.i.i.i556, %lpad.i.i553 + %.pn = phi { ptr, i32 } [ %96, %if.then.i.i.i.i556 ], [ %96, %lpad.i.i553 ], [ %eh.lpad-body562, %arraydestroy.body652 ] + %cleanup.isactive.0 = phi i1 [ true, %if.then.i.i.i.i556 ], [ true, %lpad.i.i553 ], [ false, %arraydestroy.body652 ] br label %arraydestroy.body664 -arraydestroy.body664: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660, %ehcleanup - %arraydestroy.elementPast665 = phi ptr [ %add.ptr.i.i519, %ehcleanup ], [ %arraydestroy.element666, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660 ] +arraydestroy.body664: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693, %ehcleanup + %arraydestroy.elementPast665 = phi ptr [ %add.ptr.i.i552, %ehcleanup ], [ %arraydestroy.element666, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 ] %arraydestroy.element666 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast665, i64 -1 %arraydestroy.element666.val = load ptr, ptr %arraydestroy.element666, align 8 - %tobool.not.i.i.i.i.i.i658 = icmp eq ptr %arraydestroy.element666.val, null - br i1 %tobool.not.i.i.i.i.i.i658, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660, label %if.then.i.i.i.i.i.i659 + %tobool.not.i.i.i.i.i.i691 = icmp eq ptr %arraydestroy.element666.val, null + br i1 %tobool.not.i.i.i.i.i.i691, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693, label %if.then.i.i.i.i.i.i692 -if.then.i.i.i.i.i.i659: ; preds = %arraydestroy.body664 +if.then.i.i.i.i.i.i692: ; preds = %arraydestroy.body664 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element666.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660: ; preds = %arraydestroy.body664, %if.then.i.i.i.i.i.i659 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693: ; preds = %arraydestroy.body664, %if.then.i.i.i.i.i.i692 %arraydestroy.done667 = icmp eq ptr %arraydestroy.element666, %ref.tmp608 br i1 %arraydestroy.done667, label %ehcleanup675, label %arraydestroy.body664 -ehcleanup675: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660, %arraydestroy.body630, %if.then.i.i.i.i.i.i656, %lpad618.body.thread1003, %lpad618.body.thread, %if.then.i.i.i.i495, %lpad.i.i492 - %.pn.pn = phi { ptr, i32 } [ %90, %if.then.i.i.i.i495 ], [ %90, %lpad.i.i492 ], [ %92, %lpad618.body.thread ], [ %91, %lpad618.body.thread1003 ], [ %eh.lpad-body5061002, %if.then.i.i.i.i.i.i656 ], [ %eh.lpad-body5061002, %arraydestroy.body630 ], [ %.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element572, %if.then.i.i.i.i495 ], [ %arrayinit.element572, %lpad.i.i492 ], [ %arrayinit.element606, %lpad618.body.thread ], [ %arrayinit.element606, %lpad618.body.thread1003 ], [ %arrayinit.element606, %if.then.i.i.i.i.i.i656 ], [ %arrayinit.element606, %arraydestroy.body630 ], [ %arrayinit.element606, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660 ] - %cleanup.isactive.1 = phi i1 [ true, %if.then.i.i.i.i495 ], [ true, %lpad.i.i492 ], [ true, %lpad618.body.thread ], [ true, %lpad618.body.thread1003 ], [ true, %if.then.i.i.i.i.i.i656 ], [ true, %arraydestroy.body630 ], [ %cleanup.isactive.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit660 ] +ehcleanup675: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693, %arraydestroy.body630, %if.then.i.i.i.i.i.i689, %lpad618.body.thread1036, %lpad618.body.thread, %if.then.i.i.i.i526, %lpad.i.i523 + %.pn.pn = phi { ptr, i32 } [ %90, %if.then.i.i.i.i526 ], [ %90, %lpad.i.i523 ], [ %92, %lpad618.body.thread ], [ %91, %lpad618.body.thread1036 ], [ %eh.lpad-body5381035, %if.then.i.i.i.i.i.i689 ], [ %eh.lpad-body5381035, %arraydestroy.body630 ], [ %.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element572, %if.then.i.i.i.i526 ], [ %arrayinit.element572, %lpad.i.i523 ], [ %arrayinit.element606, %lpad618.body.thread ], [ %arrayinit.element606, %lpad618.body.thread1036 ], [ %arrayinit.element606, %if.then.i.i.i.i.i.i689 ], [ %arrayinit.element606, %arraydestroy.body630 ], [ %arrayinit.element606, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 ] + %cleanup.isactive.1 = phi i1 [ true, %if.then.i.i.i.i526 ], [ true, %lpad.i.i523 ], [ true, %lpad618.body.thread ], [ true, %lpad618.body.thread1036 ], [ true, %if.then.i.i.i.i.i.i689 ], [ true, %arraydestroy.body630 ], [ %cleanup.isactive.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 ] br label %arraydestroy.body677 -arraydestroy.body677: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663, %ehcleanup675 - %arraydestroy.elementPast678 = phi ptr [ %add.ptr.i.i491, %ehcleanup675 ], [ %arraydestroy.element679, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663 ] +arraydestroy.body677: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696, %ehcleanup675 + %arraydestroy.elementPast678 = phi ptr [ %add.ptr.i.i522, %ehcleanup675 ], [ %arraydestroy.element679, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 ] %arraydestroy.element679 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast678, i64 -1 %arraydestroy.element679.val = load ptr, ptr %arraydestroy.element679, align 8 - %tobool.not.i.i.i.i.i.i661 = icmp eq ptr %arraydestroy.element679.val, null - br i1 %tobool.not.i.i.i.i.i.i661, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663, label %if.then.i.i.i.i.i.i662 + %tobool.not.i.i.i.i.i.i694 = icmp eq ptr %arraydestroy.element679.val, null + br i1 %tobool.not.i.i.i.i.i.i694, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696, label %if.then.i.i.i.i.i.i695 -if.then.i.i.i.i.i.i662: ; preds = %arraydestroy.body677 +if.then.i.i.i.i.i.i695: ; preds = %arraydestroy.body677 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element679.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663: ; preds = %arraydestroy.body677, %if.then.i.i.i.i.i.i662 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696: ; preds = %arraydestroy.body677, %if.then.i.i.i.i.i.i695 %arraydestroy.done680 = icmp eq ptr %arraydestroy.element679, %ref.tmp574 br i1 %arraydestroy.done680, label %ehcleanup688, label %arraydestroy.body677 -ehcleanup688: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663, %arraydestroy.body596, %if.then.i.i.i.i.i.i653, %lpad584.body.thread994, %lpad584.body.thread, %if.then.i.i.i.i467, %lpad.i.i464 - %.pn.pn.pn = phi { ptr, i32 } [ %84, %if.then.i.i.i.i467 ], [ %84, %lpad.i.i464 ], [ %86, %lpad584.body.thread ], [ %85, %lpad584.body.thread994 ], [ %eh.lpad-body478993, %if.then.i.i.i.i.i.i653 ], [ %eh.lpad-body478993, %arraydestroy.body596 ], [ %.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663 ] - %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element538, %if.then.i.i.i.i467 ], [ %arrayinit.element538, %lpad.i.i464 ], [ %arrayinit.element572, %lpad584.body.thread ], [ %arrayinit.element572, %lpad584.body.thread994 ], [ %arrayinit.element572, %if.then.i.i.i.i.i.i653 ], [ %arrayinit.element572, %arraydestroy.body596 ], [ %arrayinit.endOfInit.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663 ] - %cleanup.isactive.2 = phi i1 [ true, %if.then.i.i.i.i467 ], [ true, %lpad.i.i464 ], [ true, %lpad584.body.thread ], [ true, %lpad584.body.thread994 ], [ true, %if.then.i.i.i.i.i.i653 ], [ true, %arraydestroy.body596 ], [ %cleanup.isactive.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit663 ] +ehcleanup688: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696, %arraydestroy.body596, %if.then.i.i.i.i.i.i686, %lpad584.body.thread1027, %lpad584.body.thread, %if.then.i.i.i.i496, %lpad.i.i493 + %.pn.pn.pn = phi { ptr, i32 } [ %84, %if.then.i.i.i.i496 ], [ %84, %lpad.i.i493 ], [ %86, %lpad584.body.thread ], [ %85, %lpad584.body.thread1027 ], [ %eh.lpad-body5081026, %if.then.i.i.i.i.i.i686 ], [ %eh.lpad-body5081026, %arraydestroy.body596 ], [ %.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 ] + %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element538, %if.then.i.i.i.i496 ], [ %arrayinit.element538, %lpad.i.i493 ], [ %arrayinit.element572, %lpad584.body.thread ], [ %arrayinit.element572, %lpad584.body.thread1027 ], [ %arrayinit.element572, %if.then.i.i.i.i.i.i686 ], [ %arrayinit.element572, %arraydestroy.body596 ], [ %arrayinit.endOfInit.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 ] + %cleanup.isactive.2 = phi i1 [ true, %if.then.i.i.i.i496 ], [ true, %lpad.i.i493 ], [ true, %lpad584.body.thread ], [ true, %lpad584.body.thread1027 ], [ true, %if.then.i.i.i.i.i.i686 ], [ true, %arraydestroy.body596 ], [ %cleanup.isactive.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 ] br label %arraydestroy.body690 -arraydestroy.body690: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666, %ehcleanup688 - %arraydestroy.elementPast691 = phi ptr [ %add.ptr.i.i463, %ehcleanup688 ], [ %arraydestroy.element692, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666 ] +arraydestroy.body690: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699, %ehcleanup688 + %arraydestroy.elementPast691 = phi ptr [ %add.ptr.i.i492, %ehcleanup688 ], [ %arraydestroy.element692, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 ] %arraydestroy.element692 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast691, i64 -1 %arraydestroy.element692.val = load ptr, ptr %arraydestroy.element692, align 8 - %tobool.not.i.i.i.i.i.i664 = icmp eq ptr %arraydestroy.element692.val, null - br i1 %tobool.not.i.i.i.i.i.i664, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666, label %if.then.i.i.i.i.i.i665 + %tobool.not.i.i.i.i.i.i697 = icmp eq ptr %arraydestroy.element692.val, null + br i1 %tobool.not.i.i.i.i.i.i697, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699, label %if.then.i.i.i.i.i.i698 -if.then.i.i.i.i.i.i665: ; preds = %arraydestroy.body690 +if.then.i.i.i.i.i.i698: ; preds = %arraydestroy.body690 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element692.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666: ; preds = %arraydestroy.body690, %if.then.i.i.i.i.i.i665 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699: ; preds = %arraydestroy.body690, %if.then.i.i.i.i.i.i698 %arraydestroy.done693 = icmp eq ptr %arraydestroy.element692, %ref.tmp540 br i1 %arraydestroy.done693, label %ehcleanup701, label %arraydestroy.body690 -ehcleanup701: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666, %arraydestroy.body562, %if.then.i.i.i.i.i.i650, %lpad550.body.thread985, %lpad550.body.thread, %if.then.i.i.i.i439, %lpad.i.i436 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %78, %if.then.i.i.i.i439 ], [ %78, %lpad.i.i436 ], [ %80, %lpad550.body.thread ], [ %79, %lpad550.body.thread985 ], [ %eh.lpad-body450984, %if.then.i.i.i.i.i.i650 ], [ %eh.lpad-body450984, %arraydestroy.body562 ], [ %.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666 ] - %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element504, %if.then.i.i.i.i439 ], [ %arrayinit.element504, %lpad.i.i436 ], [ %arrayinit.element538, %lpad550.body.thread ], [ %arrayinit.element538, %lpad550.body.thread985 ], [ %arrayinit.element538, %if.then.i.i.i.i.i.i650 ], [ %arrayinit.element538, %arraydestroy.body562 ], [ %arrayinit.endOfInit.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666 ] - %cleanup.isactive.3 = phi i1 [ true, %if.then.i.i.i.i439 ], [ true, %lpad.i.i436 ], [ true, %lpad550.body.thread ], [ true, %lpad550.body.thread985 ], [ true, %if.then.i.i.i.i.i.i650 ], [ true, %arraydestroy.body562 ], [ %cleanup.isactive.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit666 ] +ehcleanup701: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699, %arraydestroy.body562, %if.then.i.i.i.i.i.i683, %lpad550.body.thread1018, %lpad550.body.thread, %if.then.i.i.i.i466, %lpad.i.i463 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %78, %if.then.i.i.i.i466 ], [ %78, %lpad.i.i463 ], [ %80, %lpad550.body.thread ], [ %79, %lpad550.body.thread1018 ], [ %eh.lpad-body4781017, %if.then.i.i.i.i.i.i683 ], [ %eh.lpad-body4781017, %arraydestroy.body562 ], [ %.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 ] + %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element504, %if.then.i.i.i.i466 ], [ %arrayinit.element504, %lpad.i.i463 ], [ %arrayinit.element538, %lpad550.body.thread ], [ %arrayinit.element538, %lpad550.body.thread1018 ], [ %arrayinit.element538, %if.then.i.i.i.i.i.i683 ], [ %arrayinit.element538, %arraydestroy.body562 ], [ %arrayinit.endOfInit.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 ] + %cleanup.isactive.3 = phi i1 [ true, %if.then.i.i.i.i466 ], [ true, %lpad.i.i463 ], [ true, %lpad550.body.thread ], [ true, %lpad550.body.thread1018 ], [ true, %if.then.i.i.i.i.i.i683 ], [ true, %arraydestroy.body562 ], [ %cleanup.isactive.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 ] br label %arraydestroy.body703 -arraydestroy.body703: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669, %ehcleanup701 - %arraydestroy.elementPast704 = phi ptr [ %add.ptr.i.i435, %ehcleanup701 ], [ %arraydestroy.element705, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669 ] +arraydestroy.body703: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702, %ehcleanup701 + %arraydestroy.elementPast704 = phi ptr [ %add.ptr.i.i462, %ehcleanup701 ], [ %arraydestroy.element705, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 ] %arraydestroy.element705 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast704, i64 -1 %arraydestroy.element705.val = load ptr, ptr %arraydestroy.element705, align 8 - %tobool.not.i.i.i.i.i.i667 = icmp eq ptr %arraydestroy.element705.val, null - br i1 %tobool.not.i.i.i.i.i.i667, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669, label %if.then.i.i.i.i.i.i668 + %tobool.not.i.i.i.i.i.i700 = icmp eq ptr %arraydestroy.element705.val, null + br i1 %tobool.not.i.i.i.i.i.i700, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702, label %if.then.i.i.i.i.i.i701 -if.then.i.i.i.i.i.i668: ; preds = %arraydestroy.body703 +if.then.i.i.i.i.i.i701: ; preds = %arraydestroy.body703 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element705.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669: ; preds = %arraydestroy.body703, %if.then.i.i.i.i.i.i668 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702: ; preds = %arraydestroy.body703, %if.then.i.i.i.i.i.i701 %arraydestroy.done706 = icmp eq ptr %arraydestroy.element705, %ref.tmp506 br i1 %arraydestroy.done706, label %ehcleanup714, label %arraydestroy.body703 -ehcleanup714: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669, %arraydestroy.body528, %if.then.i.i.i.i.i.i647, %lpad516.body.thread976, %lpad516.body.thread, %if.then.i.i.i.i411, %lpad.i.i408 - %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %72, %if.then.i.i.i.i411 ], [ %72, %lpad.i.i408 ], [ %74, %lpad516.body.thread ], [ %73, %lpad516.body.thread976 ], [ %eh.lpad-body422975, %if.then.i.i.i.i.i.i647 ], [ %eh.lpad-body422975, %arraydestroy.body528 ], [ %.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element470, %if.then.i.i.i.i411 ], [ %arrayinit.element470, %lpad.i.i408 ], [ %arrayinit.element504, %lpad516.body.thread ], [ %arrayinit.element504, %lpad516.body.thread976 ], [ %arrayinit.element504, %if.then.i.i.i.i.i.i647 ], [ %arrayinit.element504, %arraydestroy.body528 ], [ %arrayinit.endOfInit.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669 ] - %cleanup.isactive.4 = phi i1 [ true, %if.then.i.i.i.i411 ], [ true, %lpad.i.i408 ], [ true, %lpad516.body.thread ], [ true, %lpad516.body.thread976 ], [ true, %if.then.i.i.i.i.i.i647 ], [ true, %arraydestroy.body528 ], [ %cleanup.isactive.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit669 ] +ehcleanup714: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702, %arraydestroy.body528, %if.then.i.i.i.i.i.i680, %lpad516.body.thread1009, %lpad516.body.thread, %if.then.i.i.i.i436, %lpad.i.i433 + %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %72, %if.then.i.i.i.i436 ], [ %72, %lpad.i.i433 ], [ %74, %lpad516.body.thread ], [ %73, %lpad516.body.thread1009 ], [ %eh.lpad-body4481008, %if.then.i.i.i.i.i.i680 ], [ %eh.lpad-body4481008, %arraydestroy.body528 ], [ %.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element470, %if.then.i.i.i.i436 ], [ %arrayinit.element470, %lpad.i.i433 ], [ %arrayinit.element504, %lpad516.body.thread ], [ %arrayinit.element504, %lpad516.body.thread1009 ], [ %arrayinit.element504, %if.then.i.i.i.i.i.i680 ], [ %arrayinit.element504, %arraydestroy.body528 ], [ %arrayinit.endOfInit.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 ] + %cleanup.isactive.4 = phi i1 [ true, %if.then.i.i.i.i436 ], [ true, %lpad.i.i433 ], [ true, %lpad516.body.thread ], [ true, %lpad516.body.thread1009 ], [ true, %if.then.i.i.i.i.i.i680 ], [ true, %arraydestroy.body528 ], [ %cleanup.isactive.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 ] br label %arraydestroy.body716 -arraydestroy.body716: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672, %ehcleanup714 - %arraydestroy.elementPast717 = phi ptr [ %add.ptr.i.i407, %ehcleanup714 ], [ %arraydestroy.element718, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672 ] +arraydestroy.body716: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705, %ehcleanup714 + %arraydestroy.elementPast717 = phi ptr [ %add.ptr.i.i432, %ehcleanup714 ], [ %arraydestroy.element718, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 ] %arraydestroy.element718 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast717, i64 -1 %arraydestroy.element718.val = load ptr, ptr %arraydestroy.element718, align 8 - %tobool.not.i.i.i.i.i.i670 = icmp eq ptr %arraydestroy.element718.val, null - br i1 %tobool.not.i.i.i.i.i.i670, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672, label %if.then.i.i.i.i.i.i671 + %tobool.not.i.i.i.i.i.i703 = icmp eq ptr %arraydestroy.element718.val, null + br i1 %tobool.not.i.i.i.i.i.i703, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705, label %if.then.i.i.i.i.i.i704 -if.then.i.i.i.i.i.i671: ; preds = %arraydestroy.body716 +if.then.i.i.i.i.i.i704: ; preds = %arraydestroy.body716 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element718.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672: ; preds = %arraydestroy.body716, %if.then.i.i.i.i.i.i671 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705: ; preds = %arraydestroy.body716, %if.then.i.i.i.i.i.i704 %arraydestroy.done719 = icmp eq ptr %arraydestroy.element718, %ref.tmp472 br i1 %arraydestroy.done719, label %ehcleanup727, label %arraydestroy.body716 -ehcleanup727: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672, %arraydestroy.body494, %if.then.i.i.i.i.i.i644, %lpad482.body.thread967, %lpad482.body.thread, %if.then.i.i.i.i383, %lpad.i.i380 - %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %66, %if.then.i.i.i.i383 ], [ %66, %lpad.i.i380 ], [ %68, %lpad482.body.thread ], [ %67, %lpad482.body.thread967 ], [ %eh.lpad-body394966, %if.then.i.i.i.i.i.i644 ], [ %eh.lpad-body394966, %arraydestroy.body494 ], [ %.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672 ] - %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element436, %if.then.i.i.i.i383 ], [ %arrayinit.element436, %lpad.i.i380 ], [ %arrayinit.element470, %lpad482.body.thread ], [ %arrayinit.element470, %lpad482.body.thread967 ], [ %arrayinit.element470, %if.then.i.i.i.i.i.i644 ], [ %arrayinit.element470, %arraydestroy.body494 ], [ %arrayinit.endOfInit.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672 ] - %cleanup.isactive.5 = phi i1 [ true, %if.then.i.i.i.i383 ], [ true, %lpad.i.i380 ], [ true, %lpad482.body.thread ], [ true, %lpad482.body.thread967 ], [ true, %if.then.i.i.i.i.i.i644 ], [ true, %arraydestroy.body494 ], [ %cleanup.isactive.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit672 ] +ehcleanup727: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705, %arraydestroy.body494, %if.then.i.i.i.i.i.i677, %lpad482.body.thread1000, %lpad482.body.thread, %if.then.i.i.i.i406, %lpad.i.i403 + %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %66, %if.then.i.i.i.i406 ], [ %66, %lpad.i.i403 ], [ %68, %lpad482.body.thread ], [ %67, %lpad482.body.thread1000 ], [ %eh.lpad-body418999, %if.then.i.i.i.i.i.i677 ], [ %eh.lpad-body418999, %arraydestroy.body494 ], [ %.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 ] + %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element436, %if.then.i.i.i.i406 ], [ %arrayinit.element436, %lpad.i.i403 ], [ %arrayinit.element470, %lpad482.body.thread ], [ %arrayinit.element470, %lpad482.body.thread1000 ], [ %arrayinit.element470, %if.then.i.i.i.i.i.i677 ], [ %arrayinit.element470, %arraydestroy.body494 ], [ %arrayinit.endOfInit.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 ] + %cleanup.isactive.5 = phi i1 [ true, %if.then.i.i.i.i406 ], [ true, %lpad.i.i403 ], [ true, %lpad482.body.thread ], [ true, %lpad482.body.thread1000 ], [ true, %if.then.i.i.i.i.i.i677 ], [ true, %arraydestroy.body494 ], [ %cleanup.isactive.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 ] br label %arraydestroy.body729 -arraydestroy.body729: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675, %ehcleanup727 - %arraydestroy.elementPast730 = phi ptr [ %add.ptr.i.i379, %ehcleanup727 ], [ %arraydestroy.element731, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675 ] +arraydestroy.body729: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708, %ehcleanup727 + %arraydestroy.elementPast730 = phi ptr [ %add.ptr.i.i402, %ehcleanup727 ], [ %arraydestroy.element731, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 ] %arraydestroy.element731 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast730, i64 -1 %arraydestroy.element731.val = load ptr, ptr %arraydestroy.element731, align 8 - %tobool.not.i.i.i.i.i.i673 = icmp eq ptr %arraydestroy.element731.val, null - br i1 %tobool.not.i.i.i.i.i.i673, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675, label %if.then.i.i.i.i.i.i674 + %tobool.not.i.i.i.i.i.i706 = icmp eq ptr %arraydestroy.element731.val, null + br i1 %tobool.not.i.i.i.i.i.i706, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708, label %if.then.i.i.i.i.i.i707 -if.then.i.i.i.i.i.i674: ; preds = %arraydestroy.body729 +if.then.i.i.i.i.i.i707: ; preds = %arraydestroy.body729 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element731.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675: ; preds = %arraydestroy.body729, %if.then.i.i.i.i.i.i674 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708: ; preds = %arraydestroy.body729, %if.then.i.i.i.i.i.i707 %arraydestroy.done732 = icmp eq ptr %arraydestroy.element731, %ref.tmp438 br i1 %arraydestroy.done732, label %ehcleanup740, label %arraydestroy.body729 -ehcleanup740: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675, %arraydestroy.body460, %if.then.i.i.i.i.i.i641, %lpad448.body.thread958, %lpad448.body.thread, %if.then.i.i.i.i355, %lpad.i.i352 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %60, %if.then.i.i.i.i355 ], [ %60, %lpad.i.i352 ], [ %62, %lpad448.body.thread ], [ %61, %lpad448.body.thread958 ], [ %eh.lpad-body366957, %if.then.i.i.i.i.i.i641 ], [ %eh.lpad-body366957, %arraydestroy.body460 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675 ] - %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element402, %if.then.i.i.i.i355 ], [ %arrayinit.element402, %lpad.i.i352 ], [ %arrayinit.element436, %lpad448.body.thread ], [ %arrayinit.element436, %lpad448.body.thread958 ], [ %arrayinit.element436, %if.then.i.i.i.i.i.i641 ], [ %arrayinit.element436, %arraydestroy.body460 ], [ %arrayinit.endOfInit.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675 ] - %cleanup.isactive.6 = phi i1 [ true, %if.then.i.i.i.i355 ], [ true, %lpad.i.i352 ], [ true, %lpad448.body.thread ], [ true, %lpad448.body.thread958 ], [ true, %if.then.i.i.i.i.i.i641 ], [ true, %arraydestroy.body460 ], [ %cleanup.isactive.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit675 ] +ehcleanup740: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708, %arraydestroy.body460, %if.then.i.i.i.i.i.i674, %lpad448.body.thread991, %lpad448.body.thread, %if.then.i.i.i.i376, %lpad.i.i373 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %60, %if.then.i.i.i.i376 ], [ %60, %lpad.i.i373 ], [ %62, %lpad448.body.thread ], [ %61, %lpad448.body.thread991 ], [ %eh.lpad-body388990, %if.then.i.i.i.i.i.i674 ], [ %eh.lpad-body388990, %arraydestroy.body460 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 ] + %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element402, %if.then.i.i.i.i376 ], [ %arrayinit.element402, %lpad.i.i373 ], [ %arrayinit.element436, %lpad448.body.thread ], [ %arrayinit.element436, %lpad448.body.thread991 ], [ %arrayinit.element436, %if.then.i.i.i.i.i.i674 ], [ %arrayinit.element436, %arraydestroy.body460 ], [ %arrayinit.endOfInit.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 ] + %cleanup.isactive.6 = phi i1 [ true, %if.then.i.i.i.i376 ], [ true, %lpad.i.i373 ], [ true, %lpad448.body.thread ], [ true, %lpad448.body.thread991 ], [ true, %if.then.i.i.i.i.i.i674 ], [ true, %arraydestroy.body460 ], [ %cleanup.isactive.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 ] br label %arraydestroy.body742 -arraydestroy.body742: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678, %ehcleanup740 - %arraydestroy.elementPast743 = phi ptr [ %add.ptr.i.i351, %ehcleanup740 ], [ %arraydestroy.element744, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678 ] +arraydestroy.body742: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711, %ehcleanup740 + %arraydestroy.elementPast743 = phi ptr [ %add.ptr.i.i372, %ehcleanup740 ], [ %arraydestroy.element744, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 ] %arraydestroy.element744 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast743, i64 -1 %arraydestroy.element744.val = load ptr, ptr %arraydestroy.element744, align 8 - %tobool.not.i.i.i.i.i.i676 = icmp eq ptr %arraydestroy.element744.val, null - br i1 %tobool.not.i.i.i.i.i.i676, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678, label %if.then.i.i.i.i.i.i677 + %tobool.not.i.i.i.i.i.i709 = icmp eq ptr %arraydestroy.element744.val, null + br i1 %tobool.not.i.i.i.i.i.i709, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711, label %if.then.i.i.i.i.i.i710 -if.then.i.i.i.i.i.i677: ; preds = %arraydestroy.body742 +if.then.i.i.i.i.i.i710: ; preds = %arraydestroy.body742 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element744.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678: ; preds = %arraydestroy.body742, %if.then.i.i.i.i.i.i677 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711: ; preds = %arraydestroy.body742, %if.then.i.i.i.i.i.i710 %arraydestroy.done745 = icmp eq ptr %arraydestroy.element744, %ref.tmp404 br i1 %arraydestroy.done745, label %ehcleanup753, label %arraydestroy.body742 -ehcleanup753: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678, %arraydestroy.body426, %if.then.i.i.i.i.i.i638, %lpad414.body.thread949, %lpad414.body.thread, %if.then.i.i.i.i327, %lpad.i.i324 - %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %54, %if.then.i.i.i.i327 ], [ %54, %lpad.i.i324 ], [ %56, %lpad414.body.thread ], [ %55, %lpad414.body.thread949 ], [ %eh.lpad-body338948, %if.then.i.i.i.i.i.i638 ], [ %eh.lpad-body338948, %arraydestroy.body426 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element368, %if.then.i.i.i.i327 ], [ %arrayinit.element368, %lpad.i.i324 ], [ %arrayinit.element402, %lpad414.body.thread ], [ %arrayinit.element402, %lpad414.body.thread949 ], [ %arrayinit.element402, %if.then.i.i.i.i.i.i638 ], [ %arrayinit.element402, %arraydestroy.body426 ], [ %arrayinit.endOfInit.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678 ] - %cleanup.isactive.7 = phi i1 [ true, %if.then.i.i.i.i327 ], [ true, %lpad.i.i324 ], [ true, %lpad414.body.thread ], [ true, %lpad414.body.thread949 ], [ true, %if.then.i.i.i.i.i.i638 ], [ true, %arraydestroy.body426 ], [ %cleanup.isactive.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit678 ] +ehcleanup753: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711, %arraydestroy.body426, %if.then.i.i.i.i.i.i671, %lpad414.body.thread982, %lpad414.body.thread, %if.then.i.i.i.i346, %lpad.i.i343 + %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %54, %if.then.i.i.i.i346 ], [ %54, %lpad.i.i343 ], [ %56, %lpad414.body.thread ], [ %55, %lpad414.body.thread982 ], [ %eh.lpad-body358981, %if.then.i.i.i.i.i.i671 ], [ %eh.lpad-body358981, %arraydestroy.body426 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element368, %if.then.i.i.i.i346 ], [ %arrayinit.element368, %lpad.i.i343 ], [ %arrayinit.element402, %lpad414.body.thread ], [ %arrayinit.element402, %lpad414.body.thread982 ], [ %arrayinit.element402, %if.then.i.i.i.i.i.i671 ], [ %arrayinit.element402, %arraydestroy.body426 ], [ %arrayinit.endOfInit.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 ] + %cleanup.isactive.7 = phi i1 [ true, %if.then.i.i.i.i346 ], [ true, %lpad.i.i343 ], [ true, %lpad414.body.thread ], [ true, %lpad414.body.thread982 ], [ true, %if.then.i.i.i.i.i.i671 ], [ true, %arraydestroy.body426 ], [ %cleanup.isactive.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 ] br label %arraydestroy.body755 -arraydestroy.body755: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681, %ehcleanup753 - %arraydestroy.elementPast756 = phi ptr [ %add.ptr.i.i323, %ehcleanup753 ], [ %arraydestroy.element757, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681 ] +arraydestroy.body755: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714, %ehcleanup753 + %arraydestroy.elementPast756 = phi ptr [ %add.ptr.i.i342, %ehcleanup753 ], [ %arraydestroy.element757, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714 ] %arraydestroy.element757 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast756, i64 -1 %arraydestroy.element757.val = load ptr, ptr %arraydestroy.element757, align 8 - %tobool.not.i.i.i.i.i.i679 = icmp eq ptr %arraydestroy.element757.val, null - br i1 %tobool.not.i.i.i.i.i.i679, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681, label %if.then.i.i.i.i.i.i680 + %tobool.not.i.i.i.i.i.i712 = icmp eq ptr %arraydestroy.element757.val, null + br i1 %tobool.not.i.i.i.i.i.i712, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714, label %if.then.i.i.i.i.i.i713 -if.then.i.i.i.i.i.i680: ; preds = %arraydestroy.body755 +if.then.i.i.i.i.i.i713: ; preds = %arraydestroy.body755 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element757.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681: ; preds = %arraydestroy.body755, %if.then.i.i.i.i.i.i680 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714: ; preds = %arraydestroy.body755, %if.then.i.i.i.i.i.i713 %arraydestroy.done758 = icmp eq ptr %arraydestroy.element757, %ref.tmp370 br i1 %arraydestroy.done758, label %ehcleanup766, label %arraydestroy.body755 -ehcleanup766: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681, %arraydestroy.body392, %if.then.i.i.i.i.i.i635, %lpad380.body.thread940, %lpad380.body.thread, %if.then.i.i.i.i299, %lpad.i.i296 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %48, %if.then.i.i.i.i299 ], [ %48, %lpad.i.i296 ], [ %50, %lpad380.body.thread ], [ %49, %lpad380.body.thread940 ], [ %eh.lpad-body310939, %if.then.i.i.i.i.i.i635 ], [ %eh.lpad-body310939, %arraydestroy.body392 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681 ] - %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element334, %if.then.i.i.i.i299 ], [ %arrayinit.element334, %lpad.i.i296 ], [ %arrayinit.element368, %lpad380.body.thread ], [ %arrayinit.element368, %lpad380.body.thread940 ], [ %arrayinit.element368, %if.then.i.i.i.i.i.i635 ], [ %arrayinit.element368, %arraydestroy.body392 ], [ %arrayinit.endOfInit.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681 ] - %cleanup.isactive.8 = phi i1 [ true, %if.then.i.i.i.i299 ], [ true, %lpad.i.i296 ], [ true, %lpad380.body.thread ], [ true, %lpad380.body.thread940 ], [ true, %if.then.i.i.i.i.i.i635 ], [ true, %arraydestroy.body392 ], [ %cleanup.isactive.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit681 ] +ehcleanup766: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714, %arraydestroy.body392, %if.then.i.i.i.i.i.i668, %lpad380.body.thread973, %lpad380.body.thread, %if.then.i.i.i.i316, %lpad.i.i313 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %48, %if.then.i.i.i.i316 ], [ %48, %lpad.i.i313 ], [ %50, %lpad380.body.thread ], [ %49, %lpad380.body.thread973 ], [ %eh.lpad-body328972, %if.then.i.i.i.i.i.i668 ], [ %eh.lpad-body328972, %arraydestroy.body392 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714 ] + %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element334, %if.then.i.i.i.i316 ], [ %arrayinit.element334, %lpad.i.i313 ], [ %arrayinit.element368, %lpad380.body.thread ], [ %arrayinit.element368, %lpad380.body.thread973 ], [ %arrayinit.element368, %if.then.i.i.i.i.i.i668 ], [ %arrayinit.element368, %arraydestroy.body392 ], [ %arrayinit.endOfInit.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714 ] + %cleanup.isactive.8 = phi i1 [ true, %if.then.i.i.i.i316 ], [ true, %lpad.i.i313 ], [ true, %lpad380.body.thread ], [ true, %lpad380.body.thread973 ], [ true, %if.then.i.i.i.i.i.i668 ], [ true, %arraydestroy.body392 ], [ %cleanup.isactive.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit714 ] br label %arraydestroy.body768 -arraydestroy.body768: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684, %ehcleanup766 - %arraydestroy.elementPast769 = phi ptr [ %add.ptr.i.i295, %ehcleanup766 ], [ %arraydestroy.element770, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684 ] +arraydestroy.body768: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717, %ehcleanup766 + %arraydestroy.elementPast769 = phi ptr [ %add.ptr.i.i312, %ehcleanup766 ], [ %arraydestroy.element770, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 ] %arraydestroy.element770 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast769, i64 -1 %arraydestroy.element770.val = load ptr, ptr %arraydestroy.element770, align 8 - %tobool.not.i.i.i.i.i.i682 = icmp eq ptr %arraydestroy.element770.val, null - br i1 %tobool.not.i.i.i.i.i.i682, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684, label %if.then.i.i.i.i.i.i683 + %tobool.not.i.i.i.i.i.i715 = icmp eq ptr %arraydestroy.element770.val, null + br i1 %tobool.not.i.i.i.i.i.i715, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717, label %if.then.i.i.i.i.i.i716 -if.then.i.i.i.i.i.i683: ; preds = %arraydestroy.body768 +if.then.i.i.i.i.i.i716: ; preds = %arraydestroy.body768 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element770.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684: ; preds = %arraydestroy.body768, %if.then.i.i.i.i.i.i683 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717: ; preds = %arraydestroy.body768, %if.then.i.i.i.i.i.i716 %arraydestroy.done771 = icmp eq ptr %arraydestroy.element770, %ref.tmp336 br i1 %arraydestroy.done771, label %ehcleanup779, label %arraydestroy.body768 -ehcleanup779: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684, %arraydestroy.body358, %if.then.i.i.i.i.i.i632, %lpad346.body.thread931, %lpad346.body.thread, %if.then.i.i.i.i271, %lpad.i.i268 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %42, %if.then.i.i.i.i271 ], [ %42, %lpad.i.i268 ], [ %44, %lpad346.body.thread ], [ %43, %lpad346.body.thread931 ], [ %eh.lpad-body282930, %if.then.i.i.i.i.i.i632 ], [ %eh.lpad-body282930, %arraydestroy.body358 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684 ] - %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element300, %if.then.i.i.i.i271 ], [ %arrayinit.element300, %lpad.i.i268 ], [ %arrayinit.element334, %lpad346.body.thread ], [ %arrayinit.element334, %lpad346.body.thread931 ], [ %arrayinit.element334, %if.then.i.i.i.i.i.i632 ], [ %arrayinit.element334, %arraydestroy.body358 ], [ %arrayinit.endOfInit.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684 ] - %cleanup.isactive.9 = phi i1 [ true, %if.then.i.i.i.i271 ], [ true, %lpad.i.i268 ], [ true, %lpad346.body.thread ], [ true, %lpad346.body.thread931 ], [ true, %if.then.i.i.i.i.i.i632 ], [ true, %arraydestroy.body358 ], [ %cleanup.isactive.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit684 ] +ehcleanup779: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717, %arraydestroy.body358, %if.then.i.i.i.i.i.i665, %lpad346.body.thread964, %lpad346.body.thread, %if.then.i.i.i.i286, %lpad.i.i283 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %42, %if.then.i.i.i.i286 ], [ %42, %lpad.i.i283 ], [ %44, %lpad346.body.thread ], [ %43, %lpad346.body.thread964 ], [ %eh.lpad-body298963, %if.then.i.i.i.i.i.i665 ], [ %eh.lpad-body298963, %arraydestroy.body358 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 ] + %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element300, %if.then.i.i.i.i286 ], [ %arrayinit.element300, %lpad.i.i283 ], [ %arrayinit.element334, %lpad346.body.thread ], [ %arrayinit.element334, %lpad346.body.thread964 ], [ %arrayinit.element334, %if.then.i.i.i.i.i.i665 ], [ %arrayinit.element334, %arraydestroy.body358 ], [ %arrayinit.endOfInit.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 ] + %cleanup.isactive.9 = phi i1 [ true, %if.then.i.i.i.i286 ], [ true, %lpad.i.i283 ], [ true, %lpad346.body.thread ], [ true, %lpad346.body.thread964 ], [ true, %if.then.i.i.i.i.i.i665 ], [ true, %arraydestroy.body358 ], [ %cleanup.isactive.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 ] br label %arraydestroy.body781 -arraydestroy.body781: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687, %ehcleanup779 - %arraydestroy.elementPast782 = phi ptr [ %add.ptr.i.i267, %ehcleanup779 ], [ %arraydestroy.element783, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687 ] +arraydestroy.body781: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720, %ehcleanup779 + %arraydestroy.elementPast782 = phi ptr [ %add.ptr.i.i282, %ehcleanup779 ], [ %arraydestroy.element783, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 ] %arraydestroy.element783 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast782, i64 -1 %arraydestroy.element783.val = load ptr, ptr %arraydestroy.element783, align 8 - %tobool.not.i.i.i.i.i.i685 = icmp eq ptr %arraydestroy.element783.val, null - br i1 %tobool.not.i.i.i.i.i.i685, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687, label %if.then.i.i.i.i.i.i686 + %tobool.not.i.i.i.i.i.i718 = icmp eq ptr %arraydestroy.element783.val, null + br i1 %tobool.not.i.i.i.i.i.i718, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720, label %if.then.i.i.i.i.i.i719 -if.then.i.i.i.i.i.i686: ; preds = %arraydestroy.body781 +if.then.i.i.i.i.i.i719: ; preds = %arraydestroy.body781 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element783.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687: ; preds = %arraydestroy.body781, %if.then.i.i.i.i.i.i686 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720: ; preds = %arraydestroy.body781, %if.then.i.i.i.i.i.i719 %arraydestroy.done784 = icmp eq ptr %arraydestroy.element783, %ref.tmp302 br i1 %arraydestroy.done784, label %ehcleanup792, label %arraydestroy.body781 -ehcleanup792: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687, %arraydestroy.body324, %if.then.i.i.i.i.i.i629, %lpad312.body.thread922, %lpad312.body.thread, %if.then.i.i.i.i243, %lpad.i.i240 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %36, %if.then.i.i.i.i243 ], [ %36, %lpad.i.i240 ], [ %38, %lpad312.body.thread ], [ %37, %lpad312.body.thread922 ], [ %eh.lpad-body254921, %if.then.i.i.i.i.i.i629 ], [ %eh.lpad-body254921, %arraydestroy.body324 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element266, %if.then.i.i.i.i243 ], [ %arrayinit.element266, %lpad.i.i240 ], [ %arrayinit.element300, %lpad312.body.thread ], [ %arrayinit.element300, %lpad312.body.thread922 ], [ %arrayinit.element300, %if.then.i.i.i.i.i.i629 ], [ %arrayinit.element300, %arraydestroy.body324 ], [ %arrayinit.endOfInit.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687 ] - %cleanup.isactive.10 = phi i1 [ true, %if.then.i.i.i.i243 ], [ true, %lpad.i.i240 ], [ true, %lpad312.body.thread ], [ true, %lpad312.body.thread922 ], [ true, %if.then.i.i.i.i.i.i629 ], [ true, %arraydestroy.body324 ], [ %cleanup.isactive.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit687 ] +ehcleanup792: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720, %arraydestroy.body324, %if.then.i.i.i.i.i.i662, %lpad312.body.thread955, %lpad312.body.thread, %if.then.i.i.i.i256, %lpad.i.i253 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %36, %if.then.i.i.i.i256 ], [ %36, %lpad.i.i253 ], [ %38, %lpad312.body.thread ], [ %37, %lpad312.body.thread955 ], [ %eh.lpad-body268954, %if.then.i.i.i.i.i.i662 ], [ %eh.lpad-body268954, %arraydestroy.body324 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element266, %if.then.i.i.i.i256 ], [ %arrayinit.element266, %lpad.i.i253 ], [ %arrayinit.element300, %lpad312.body.thread ], [ %arrayinit.element300, %lpad312.body.thread955 ], [ %arrayinit.element300, %if.then.i.i.i.i.i.i662 ], [ %arrayinit.element300, %arraydestroy.body324 ], [ %arrayinit.endOfInit.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 ] + %cleanup.isactive.10 = phi i1 [ true, %if.then.i.i.i.i256 ], [ true, %lpad.i.i253 ], [ true, %lpad312.body.thread ], [ true, %lpad312.body.thread955 ], [ true, %if.then.i.i.i.i.i.i662 ], [ true, %arraydestroy.body324 ], [ %cleanup.isactive.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 ] br label %arraydestroy.body794 -arraydestroy.body794: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690, %ehcleanup792 - %arraydestroy.elementPast795 = phi ptr [ %add.ptr.i.i239, %ehcleanup792 ], [ %arraydestroy.element796, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690 ] +arraydestroy.body794: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723, %ehcleanup792 + %arraydestroy.elementPast795 = phi ptr [ %add.ptr.i.i252, %ehcleanup792 ], [ %arraydestroy.element796, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723 ] %arraydestroy.element796 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast795, i64 -1 %arraydestroy.element796.val = load ptr, ptr %arraydestroy.element796, align 8 - %tobool.not.i.i.i.i.i.i688 = icmp eq ptr %arraydestroy.element796.val, null - br i1 %tobool.not.i.i.i.i.i.i688, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690, label %if.then.i.i.i.i.i.i689 + %tobool.not.i.i.i.i.i.i721 = icmp eq ptr %arraydestroy.element796.val, null + br i1 %tobool.not.i.i.i.i.i.i721, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723, label %if.then.i.i.i.i.i.i722 -if.then.i.i.i.i.i.i689: ; preds = %arraydestroy.body794 +if.then.i.i.i.i.i.i722: ; preds = %arraydestroy.body794 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element796.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690: ; preds = %arraydestroy.body794, %if.then.i.i.i.i.i.i689 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723: ; preds = %arraydestroy.body794, %if.then.i.i.i.i.i.i722 %arraydestroy.done797 = icmp eq ptr %arraydestroy.element796, %ref.tmp268 br i1 %arraydestroy.done797, label %ehcleanup805, label %arraydestroy.body794 -ehcleanup805: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690, %arraydestroy.body290, %if.then.i.i.i.i.i.i626, %lpad278.body.thread913, %lpad278.body.thread, %if.then.i.i.i.i215, %lpad.i.i212 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %30, %if.then.i.i.i.i215 ], [ %30, %lpad.i.i212 ], [ %32, %lpad278.body.thread ], [ %31, %lpad278.body.thread913 ], [ %eh.lpad-body226912, %if.then.i.i.i.i.i.i626 ], [ %eh.lpad-body226912, %arraydestroy.body290 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690 ] - %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element232, %if.then.i.i.i.i215 ], [ %arrayinit.element232, %lpad.i.i212 ], [ %arrayinit.element266, %lpad278.body.thread ], [ %arrayinit.element266, %lpad278.body.thread913 ], [ %arrayinit.element266, %if.then.i.i.i.i.i.i626 ], [ %arrayinit.element266, %arraydestroy.body290 ], [ %arrayinit.endOfInit.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690 ] - %cleanup.isactive.11 = phi i1 [ true, %if.then.i.i.i.i215 ], [ true, %lpad.i.i212 ], [ true, %lpad278.body.thread ], [ true, %lpad278.body.thread913 ], [ true, %if.then.i.i.i.i.i.i626 ], [ true, %arraydestroy.body290 ], [ %cleanup.isactive.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit690 ] +ehcleanup805: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723, %arraydestroy.body290, %if.then.i.i.i.i.i.i659, %lpad278.body.thread946, %lpad278.body.thread, %if.then.i.i.i.i226, %lpad.i.i223 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %30, %if.then.i.i.i.i226 ], [ %30, %lpad.i.i223 ], [ %32, %lpad278.body.thread ], [ %31, %lpad278.body.thread946 ], [ %eh.lpad-body238945, %if.then.i.i.i.i.i.i659 ], [ %eh.lpad-body238945, %arraydestroy.body290 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723 ] + %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element232, %if.then.i.i.i.i226 ], [ %arrayinit.element232, %lpad.i.i223 ], [ %arrayinit.element266, %lpad278.body.thread ], [ %arrayinit.element266, %lpad278.body.thread946 ], [ %arrayinit.element266, %if.then.i.i.i.i.i.i659 ], [ %arrayinit.element266, %arraydestroy.body290 ], [ %arrayinit.endOfInit.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723 ] + %cleanup.isactive.11 = phi i1 [ true, %if.then.i.i.i.i226 ], [ true, %lpad.i.i223 ], [ true, %lpad278.body.thread ], [ true, %lpad278.body.thread946 ], [ true, %if.then.i.i.i.i.i.i659 ], [ true, %arraydestroy.body290 ], [ %cleanup.isactive.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723 ] br label %arraydestroy.body807 -arraydestroy.body807: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693, %ehcleanup805 - %arraydestroy.elementPast808 = phi ptr [ %add.ptr.i.i211, %ehcleanup805 ], [ %arraydestroy.element809, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 ] +arraydestroy.body807: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726, %ehcleanup805 + %arraydestroy.elementPast808 = phi ptr [ %add.ptr.i.i222, %ehcleanup805 ], [ %arraydestroy.element809, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726 ] %arraydestroy.element809 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast808, i64 -1 %arraydestroy.element809.val = load ptr, ptr %arraydestroy.element809, align 8 - %tobool.not.i.i.i.i.i.i691 = icmp eq ptr %arraydestroy.element809.val, null - br i1 %tobool.not.i.i.i.i.i.i691, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693, label %if.then.i.i.i.i.i.i692 + %tobool.not.i.i.i.i.i.i724 = icmp eq ptr %arraydestroy.element809.val, null + br i1 %tobool.not.i.i.i.i.i.i724, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726, label %if.then.i.i.i.i.i.i725 -if.then.i.i.i.i.i.i692: ; preds = %arraydestroy.body807 +if.then.i.i.i.i.i.i725: ; preds = %arraydestroy.body807 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element809.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693: ; preds = %arraydestroy.body807, %if.then.i.i.i.i.i.i692 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726: ; preds = %arraydestroy.body807, %if.then.i.i.i.i.i.i725 %arraydestroy.done810 = icmp eq ptr %arraydestroy.element809, %ref.tmp234 br i1 %arraydestroy.done810, label %ehcleanup818, label %arraydestroy.body807 -ehcleanup818: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693, %arraydestroy.body256, %if.then.i.i.i.i.i.i623, %lpad244.body.thread904, %lpad244.body.thread, %if.then.i.i.i.i187, %lpad.i.i184 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %24, %if.then.i.i.i.i187 ], [ %24, %lpad.i.i184 ], [ %26, %lpad244.body.thread ], [ %25, %lpad244.body.thread904 ], [ %eh.lpad-body198903, %if.then.i.i.i.i.i.i623 ], [ %eh.lpad-body198903, %arraydestroy.body256 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 ] - %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element206, %if.then.i.i.i.i187 ], [ %arrayinit.element206, %lpad.i.i184 ], [ %arrayinit.element232, %lpad244.body.thread ], [ %arrayinit.element232, %lpad244.body.thread904 ], [ %arrayinit.element232, %if.then.i.i.i.i.i.i623 ], [ %arrayinit.element232, %arraydestroy.body256 ], [ %arrayinit.endOfInit.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 ] - %cleanup.isactive.12 = phi i1 [ true, %if.then.i.i.i.i187 ], [ true, %lpad.i.i184 ], [ true, %lpad244.body.thread ], [ true, %lpad244.body.thread904 ], [ true, %if.then.i.i.i.i.i.i623 ], [ true, %arraydestroy.body256 ], [ %cleanup.isactive.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit693 ] +ehcleanup818: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726, %arraydestroy.body256, %if.then.i.i.i.i.i.i656, %lpad244.body.thread937, %lpad244.body.thread, %if.then.i.i.i.i196, %lpad.i.i193 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %24, %if.then.i.i.i.i196 ], [ %24, %lpad.i.i193 ], [ %26, %lpad244.body.thread ], [ %25, %lpad244.body.thread937 ], [ %eh.lpad-body208936, %if.then.i.i.i.i.i.i656 ], [ %eh.lpad-body208936, %arraydestroy.body256 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726 ] + %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element206, %if.then.i.i.i.i196 ], [ %arrayinit.element206, %lpad.i.i193 ], [ %arrayinit.element232, %lpad244.body.thread ], [ %arrayinit.element232, %lpad244.body.thread937 ], [ %arrayinit.element232, %if.then.i.i.i.i.i.i656 ], [ %arrayinit.element232, %arraydestroy.body256 ], [ %arrayinit.endOfInit.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726 ] + %cleanup.isactive.12 = phi i1 [ true, %if.then.i.i.i.i196 ], [ true, %lpad.i.i193 ], [ true, %lpad244.body.thread ], [ true, %lpad244.body.thread937 ], [ true, %if.then.i.i.i.i.i.i656 ], [ true, %arraydestroy.body256 ], [ %cleanup.isactive.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit726 ] br label %arraydestroy.body820 -arraydestroy.body820: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696, %ehcleanup818 - %arraydestroy.elementPast821 = phi ptr [ %add.ptr.i.i183, %ehcleanup818 ], [ %arraydestroy.element822, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 ] +arraydestroy.body820: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729, %ehcleanup818 + %arraydestroy.elementPast821 = phi ptr [ %add.ptr.i.i192, %ehcleanup818 ], [ %arraydestroy.element822, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729 ] %arraydestroy.element822 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast821, i64 -1 %arraydestroy.element822.val = load ptr, ptr %arraydestroy.element822, align 8 - %tobool.not.i.i.i.i.i.i694 = icmp eq ptr %arraydestroy.element822.val, null - br i1 %tobool.not.i.i.i.i.i.i694, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696, label %if.then.i.i.i.i.i.i695 + %tobool.not.i.i.i.i.i.i727 = icmp eq ptr %arraydestroy.element822.val, null + br i1 %tobool.not.i.i.i.i.i.i727, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729, label %if.then.i.i.i.i.i.i728 -if.then.i.i.i.i.i.i695: ; preds = %arraydestroy.body820 +if.then.i.i.i.i.i.i728: ; preds = %arraydestroy.body820 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element822.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696: ; preds = %arraydestroy.body820, %if.then.i.i.i.i.i.i695 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729: ; preds = %arraydestroy.body820, %if.then.i.i.i.i.i.i728 %arraydestroy.done823 = icmp eq ptr %arraydestroy.element822, %ref.tmp208 br i1 %arraydestroy.done823, label %ehcleanup831, label %arraydestroy.body820 -ehcleanup831: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696, %lpad218, %common.resume.i175, %if.then.i.i.i.i170, %lpad.i.i167 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %21, %if.then.i.i.i.i170 ], [ %21, %lpad.i.i167 ], [ %438, %lpad218 ], [ %22, %common.resume.i175 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element180, %if.then.i.i.i.i170 ], [ %arrayinit.element180, %lpad.i.i167 ], [ %arrayinit.element206, %lpad218 ], [ %arrayinit.element206, %common.resume.i175 ], [ %arrayinit.endOfInit.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 ] - %cleanup.isactive.13 = phi i1 [ true, %if.then.i.i.i.i170 ], [ true, %lpad.i.i167 ], [ true, %lpad218 ], [ true, %common.resume.i175 ], [ %cleanup.isactive.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit696 ] +ehcleanup831: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729, %lpad218, %common.resume.i183, %if.then.i.i.i.i178, %lpad.i.i175 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %21, %if.then.i.i.i.i178 ], [ %21, %lpad.i.i175 ], [ %438, %lpad218 ], [ %22, %common.resume.i183 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element180, %if.then.i.i.i.i178 ], [ %arrayinit.element180, %lpad.i.i175 ], [ %arrayinit.element206, %lpad218 ], [ %arrayinit.element206, %common.resume.i183 ], [ %arrayinit.endOfInit.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729 ] + %cleanup.isactive.13 = phi i1 [ true, %if.then.i.i.i.i178 ], [ true, %lpad.i.i175 ], [ true, %lpad218 ], [ true, %common.resume.i183 ], [ %cleanup.isactive.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit729 ] br label %arraydestroy.body833 -arraydestroy.body833: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699, %ehcleanup831 - %arraydestroy.elementPast834 = phi ptr [ %add.ptr.i.i166, %ehcleanup831 ], [ %arraydestroy.element835, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 ] +arraydestroy.body833: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732, %ehcleanup831 + %arraydestroy.elementPast834 = phi ptr [ %add.ptr.i.i174, %ehcleanup831 ], [ %arraydestroy.element835, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732 ] %arraydestroy.element835 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast834, i64 -1 %arraydestroy.element835.val = load ptr, ptr %arraydestroy.element835, align 8 - %tobool.not.i.i.i.i.i.i697 = icmp eq ptr %arraydestroy.element835.val, null - br i1 %tobool.not.i.i.i.i.i.i697, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699, label %if.then.i.i.i.i.i.i698 + %tobool.not.i.i.i.i.i.i730 = icmp eq ptr %arraydestroy.element835.val, null + br i1 %tobool.not.i.i.i.i.i.i730, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732, label %if.then.i.i.i.i.i.i731 -if.then.i.i.i.i.i.i698: ; preds = %arraydestroy.body833 +if.then.i.i.i.i.i.i731: ; preds = %arraydestroy.body833 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element835.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699: ; preds = %arraydestroy.body833, %if.then.i.i.i.i.i.i698 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732: ; preds = %arraydestroy.body833, %if.then.i.i.i.i.i.i731 %arraydestroy.done836 = icmp eq ptr %arraydestroy.element835, %ref.tmp182 br i1 %arraydestroy.done836, label %ehcleanup844, label %arraydestroy.body833 -ehcleanup844: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699, %lpad192, %common.resume.i158, %if.then.i.i.i.i153, %lpad.i.i150 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %18, %if.then.i.i.i.i153 ], [ %18, %lpad.i.i150 ], [ %437, %lpad192 ], [ %19, %common.resume.i158 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 ] - %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element154, %if.then.i.i.i.i153 ], [ %arrayinit.element154, %lpad.i.i150 ], [ %arrayinit.element180, %lpad192 ], [ %arrayinit.element180, %common.resume.i158 ], [ %arrayinit.endOfInit.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 ] - %cleanup.isactive.14 = phi i1 [ true, %if.then.i.i.i.i153 ], [ true, %lpad.i.i150 ], [ true, %lpad192 ], [ true, %common.resume.i158 ], [ %cleanup.isactive.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit699 ] +ehcleanup844: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732, %lpad192, %common.resume.i165, %if.then.i.i.i.i160, %lpad.i.i157 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %18, %if.then.i.i.i.i160 ], [ %18, %lpad.i.i157 ], [ %437, %lpad192 ], [ %19, %common.resume.i165 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732 ] + %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element154, %if.then.i.i.i.i160 ], [ %arrayinit.element154, %lpad.i.i157 ], [ %arrayinit.element180, %lpad192 ], [ %arrayinit.element180, %common.resume.i165 ], [ %arrayinit.endOfInit.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732 ] + %cleanup.isactive.14 = phi i1 [ true, %if.then.i.i.i.i160 ], [ true, %lpad.i.i157 ], [ true, %lpad192 ], [ true, %common.resume.i165 ], [ %cleanup.isactive.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit732 ] br label %arraydestroy.body846 -arraydestroy.body846: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702, %ehcleanup844 - %arraydestroy.elementPast847 = phi ptr [ %add.ptr.i.i149, %ehcleanup844 ], [ %arraydestroy.element848, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 ] +arraydestroy.body846: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735, %ehcleanup844 + %arraydestroy.elementPast847 = phi ptr [ %add.ptr.i.i156, %ehcleanup844 ], [ %arraydestroy.element848, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735 ] %arraydestroy.element848 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast847, i64 -1 %arraydestroy.element848.val = load ptr, ptr %arraydestroy.element848, align 8 - %tobool.not.i.i.i.i.i.i700 = icmp eq ptr %arraydestroy.element848.val, null - br i1 %tobool.not.i.i.i.i.i.i700, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702, label %if.then.i.i.i.i.i.i701 + %tobool.not.i.i.i.i.i.i733 = icmp eq ptr %arraydestroy.element848.val, null + br i1 %tobool.not.i.i.i.i.i.i733, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735, label %if.then.i.i.i.i.i.i734 -if.then.i.i.i.i.i.i701: ; preds = %arraydestroy.body846 +if.then.i.i.i.i.i.i734: ; preds = %arraydestroy.body846 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element848.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702: ; preds = %arraydestroy.body846, %if.then.i.i.i.i.i.i701 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735: ; preds = %arraydestroy.body846, %if.then.i.i.i.i.i.i734 %arraydestroy.done849 = icmp eq ptr %arraydestroy.element848, %ref.tmp156 br i1 %arraydestroy.done849, label %ehcleanup857, label %arraydestroy.body846 -ehcleanup857: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702, %if.then.i.i.i.i.i.i620, %lpad167.body, %lpad167.body.thread, %if.then.i.i.i.i136, %lpad.i.i133 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %if.then.i.i.i.i136 ], [ %16, %lpad.i.i133 ], [ %435, %lpad167.body.thread ], [ %436, %lpad167.body ], [ %436, %if.then.i.i.i.i.i.i620 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 ] - %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element128, %if.then.i.i.i.i136 ], [ %arrayinit.element128, %lpad.i.i133 ], [ %arrayinit.element154, %lpad167.body.thread ], [ %arrayinit.element154, %lpad167.body ], [ %arrayinit.element154, %if.then.i.i.i.i.i.i620 ], [ %arrayinit.endOfInit.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 ] - %cleanup.isactive.15 = phi i1 [ true, %if.then.i.i.i.i136 ], [ true, %lpad.i.i133 ], [ true, %lpad167.body.thread ], [ true, %lpad167.body ], [ true, %if.then.i.i.i.i.i.i620 ], [ %cleanup.isactive.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit702 ] +ehcleanup857: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735, %if.then.i.i.i.i.i.i653, %lpad167.body, %lpad167.body.thread, %if.then.i.i.i.i142, %lpad.i.i139 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %16, %if.then.i.i.i.i142 ], [ %16, %lpad.i.i139 ], [ %435, %lpad167.body.thread ], [ %436, %lpad167.body ], [ %436, %if.then.i.i.i.i.i.i653 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735 ] + %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element128, %if.then.i.i.i.i142 ], [ %arrayinit.element128, %lpad.i.i139 ], [ %arrayinit.element154, %lpad167.body.thread ], [ %arrayinit.element154, %lpad167.body ], [ %arrayinit.element154, %if.then.i.i.i.i.i.i653 ], [ %arrayinit.endOfInit.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735 ] + %cleanup.isactive.15 = phi i1 [ true, %if.then.i.i.i.i142 ], [ true, %lpad.i.i139 ], [ true, %lpad167.body.thread ], [ true, %lpad167.body ], [ true, %if.then.i.i.i.i.i.i653 ], [ %cleanup.isactive.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit735 ] br label %arraydestroy.body859 -arraydestroy.body859: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705, %ehcleanup857 - %arraydestroy.elementPast860 = phi ptr [ %add.ptr.i.i132, %ehcleanup857 ], [ %arraydestroy.element861, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 ] +arraydestroy.body859: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738, %ehcleanup857 + %arraydestroy.elementPast860 = phi ptr [ %add.ptr.i.i138, %ehcleanup857 ], [ %arraydestroy.element861, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738 ] %arraydestroy.element861 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast860, i64 -1 %arraydestroy.element861.val = load ptr, ptr %arraydestroy.element861, align 8 - %tobool.not.i.i.i.i.i.i703 = icmp eq ptr %arraydestroy.element861.val, null - br i1 %tobool.not.i.i.i.i.i.i703, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705, label %if.then.i.i.i.i.i.i704 + %tobool.not.i.i.i.i.i.i736 = icmp eq ptr %arraydestroy.element861.val, null + br i1 %tobool.not.i.i.i.i.i.i736, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738, label %if.then.i.i.i.i.i.i737 -if.then.i.i.i.i.i.i704: ; preds = %arraydestroy.body859 +if.then.i.i.i.i.i.i737: ; preds = %arraydestroy.body859 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element861.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705: ; preds = %arraydestroy.body859, %if.then.i.i.i.i.i.i704 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738: ; preds = %arraydestroy.body859, %if.then.i.i.i.i.i.i737 %arraydestroy.done862 = icmp eq ptr %arraydestroy.element861, %ref.tmp130 br i1 %arraydestroy.done862, label %ehcleanup870, label %arraydestroy.body859 -ehcleanup870: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705, %if.then.i.i.i.i.i.i617, %lpad141.body, %lpad141.body.thread, %if.then.i.i.i.i119, %lpad.i.i116 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %14, %if.then.i.i.i.i119 ], [ %14, %lpad.i.i116 ], [ %433, %lpad141.body.thread ], [ %434, %lpad141.body ], [ %434, %if.then.i.i.i.i.i.i617 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element82, %if.then.i.i.i.i119 ], [ %arrayinit.element82, %lpad.i.i116 ], [ %arrayinit.element128, %lpad141.body.thread ], [ %arrayinit.element128, %lpad141.body ], [ %arrayinit.element128, %if.then.i.i.i.i.i.i617 ], [ %arrayinit.endOfInit.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 ] - %cleanup.isactive.16 = phi i1 [ true, %if.then.i.i.i.i119 ], [ true, %lpad.i.i116 ], [ true, %lpad141.body.thread ], [ true, %lpad141.body ], [ true, %if.then.i.i.i.i.i.i617 ], [ %cleanup.isactive.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit705 ] +ehcleanup870: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738, %if.then.i.i.i.i.i.i650, %lpad141.body, %lpad141.body.thread, %if.then.i.i.i.i124, %lpad.i.i121 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %14, %if.then.i.i.i.i124 ], [ %14, %lpad.i.i121 ], [ %433, %lpad141.body.thread ], [ %434, %lpad141.body ], [ %434, %if.then.i.i.i.i.i.i650 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element82, %if.then.i.i.i.i124 ], [ %arrayinit.element82, %lpad.i.i121 ], [ %arrayinit.element128, %lpad141.body.thread ], [ %arrayinit.element128, %lpad141.body ], [ %arrayinit.element128, %if.then.i.i.i.i.i.i650 ], [ %arrayinit.endOfInit.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738 ] + %cleanup.isactive.16 = phi i1 [ true, %if.then.i.i.i.i124 ], [ true, %lpad.i.i121 ], [ true, %lpad141.body.thread ], [ true, %lpad141.body ], [ true, %if.then.i.i.i.i.i.i650 ], [ %cleanup.isactive.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit738 ] br label %arraydestroy.body872 -arraydestroy.body872: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708, %ehcleanup870 - %arraydestroy.elementPast873 = phi ptr [ %add.ptr.i.i115, %ehcleanup870 ], [ %arraydestroy.element874, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 ] +arraydestroy.body872: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741, %ehcleanup870 + %arraydestroy.elementPast873 = phi ptr [ %add.ptr.i.i120, %ehcleanup870 ], [ %arraydestroy.element874, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741 ] %arraydestroy.element874 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast873, i64 -1 %arraydestroy.element874.val = load ptr, ptr %arraydestroy.element874, align 8 - %tobool.not.i.i.i.i.i.i706 = icmp eq ptr %arraydestroy.element874.val, null - br i1 %tobool.not.i.i.i.i.i.i706, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708, label %if.then.i.i.i.i.i.i707 + %tobool.not.i.i.i.i.i.i739 = icmp eq ptr %arraydestroy.element874.val, null + br i1 %tobool.not.i.i.i.i.i.i739, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741, label %if.then.i.i.i.i.i.i740 -if.then.i.i.i.i.i.i707: ; preds = %arraydestroy.body872 +if.then.i.i.i.i.i.i740: ; preds = %arraydestroy.body872 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element874.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708: ; preds = %arraydestroy.body872, %if.then.i.i.i.i.i.i707 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741: ; preds = %arraydestroy.body872, %if.then.i.i.i.i.i.i740 %arraydestroy.done875 = icmp eq ptr %arraydestroy.element874, %ref.tmp84 br i1 %arraydestroy.done875, label %ehcleanup883, label %arraydestroy.body872 -ehcleanup883.sink.split: ; preds = %lpad.i.i77, %lpad95.body.thread - %call5.i.i.i.i1.i.i.i90.sink = phi ptr [ %call5.i.i.i.i1.i.i.i90, %lpad95.body.thread ], [ %this.val.i.i78, %lpad.i.i77 ] - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.ph = phi { ptr, i32 } [ %11, %lpad95.body.thread ], [ %10, %lpad.i.i77 ] - %arrayinit.endOfInit.16.ph = phi ptr [ %arrayinit.element82, %lpad95.body.thread ], [ %arrayinit.element48, %lpad.i.i77 ] - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i90.sink) #31 +ehcleanup883.sink.split: ; preds = %lpad.i.i79, %lpad95.body.thread + %call5.i.i.i.i1.i.i.i93.sink = phi ptr [ %call5.i.i.i.i1.i.i.i93, %lpad95.body.thread ], [ %this.val.i.i80, %lpad.i.i79 ] + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.ph = phi { ptr, i32 } [ %11, %lpad95.body.thread ], [ %10, %lpad.i.i79 ] + %arrayinit.endOfInit.16.ph = phi ptr [ %arrayinit.element82, %lpad95.body.thread ], [ %arrayinit.element48, %lpad.i.i79 ] + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i93.sink) #31 br label %ehcleanup883 -ehcleanup883: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708, %lpad95.body, %ehcleanup883.sink.split, %lpad.i.i77 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.thr_comm.split-lp, %lpad95.body ], [ %10, %lpad.i.i77 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.ph, %ehcleanup883.sink.split ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 ], [ %eh.lpad-body91884, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615 ] - %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element82, %lpad95.body ], [ %arrayinit.element48, %lpad.i.i77 ], [ %arrayinit.endOfInit.16.ph, %ehcleanup883.sink.split ], [ %arrayinit.endOfInit.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 ], [ %arrayinit.element82, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615 ] - %cleanup.isactive.17 = phi i1 [ true, %lpad95.body ], [ true, %lpad.i.i77 ], [ true, %ehcleanup883.sink.split ], [ %cleanup.isactive.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit708 ], [ true, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit615 ] +ehcleanup883: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741, %lpad95.body, %ehcleanup883.sink.split, %lpad.i.i79 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.thr_comm.split-lp, %lpad95.body ], [ %10, %lpad.i.i79 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.ph, %ehcleanup883.sink.split ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741 ], [ %eh.lpad-body94917, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648 ] + %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element82, %lpad95.body ], [ %arrayinit.element48, %lpad.i.i79 ], [ %arrayinit.endOfInit.16.ph, %ehcleanup883.sink.split ], [ %arrayinit.endOfInit.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741 ], [ %arrayinit.element82, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648 ] + %cleanup.isactive.17 = phi i1 [ true, %lpad95.body ], [ true, %lpad.i.i79 ], [ true, %ehcleanup883.sink.split ], [ %cleanup.isactive.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit741 ], [ true, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit648 ] br label %arraydestroy.body885 -arraydestroy.body885: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711, %ehcleanup883 - %arraydestroy.elementPast886 = phi ptr [ %add.ptr.i.i76, %ehcleanup883 ], [ %arraydestroy.element887, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 ] +arraydestroy.body885: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744, %ehcleanup883 + %arraydestroy.elementPast886 = phi ptr [ %add.ptr.i.i78, %ehcleanup883 ], [ %arraydestroy.element887, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744 ] %arraydestroy.element887 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast886, i64 -1 %arraydestroy.element887.val = load ptr, ptr %arraydestroy.element887, align 8 - %tobool.not.i.i.i.i.i.i709 = icmp eq ptr %arraydestroy.element887.val, null - br i1 %tobool.not.i.i.i.i.i.i709, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711, label %if.then.i.i.i.i.i.i710 + %tobool.not.i.i.i.i.i.i742 = icmp eq ptr %arraydestroy.element887.val, null + br i1 %tobool.not.i.i.i.i.i.i742, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744, label %if.then.i.i.i.i.i.i743 -if.then.i.i.i.i.i.i710: ; preds = %arraydestroy.body885 +if.then.i.i.i.i.i.i743: ; preds = %arraydestroy.body885 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element887.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711: ; preds = %arraydestroy.body885, %if.then.i.i.i.i.i.i710 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744: ; preds = %arraydestroy.body885, %if.then.i.i.i.i.i.i743 %arraydestroy.done888 = icmp eq ptr %arraydestroy.element887, %ref.tmp50 br i1 %arraydestroy.done888, label %ehcleanup896, label %arraydestroy.body885 -ehcleanup896: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711, %arraydestroy.body72, %if.then.i.i.i.i.i.i611, %lpad60.body.thread876, %lpad60.body.thread, %if.then.i.i.i.i52, %lpad.i.i49 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i.i.i52 ], [ %4, %lpad.i.i49 ], [ %6, %lpad60.body.thread ], [ %5, %lpad60.body.thread876 ], [ %eh.lpad-body63875, %if.then.i.i.i.i.i.i611 ], [ %eh.lpad-body63875, %arraydestroy.body72 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 ] - %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element29, %if.then.i.i.i.i52 ], [ %arrayinit.element29, %lpad.i.i49 ], [ %arrayinit.element48, %lpad60.body.thread ], [ %arrayinit.element48, %lpad60.body.thread876 ], [ %arrayinit.element48, %if.then.i.i.i.i.i.i611 ], [ %arrayinit.element48, %arraydestroy.body72 ], [ %arrayinit.endOfInit.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 ] - %cleanup.isactive.18 = phi i1 [ true, %if.then.i.i.i.i52 ], [ true, %lpad.i.i49 ], [ true, %lpad60.body.thread ], [ true, %lpad60.body.thread876 ], [ true, %if.then.i.i.i.i.i.i611 ], [ true, %arraydestroy.body72 ], [ %cleanup.isactive.17, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit711 ] +ehcleanup896: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744, %arraydestroy.body72, %if.then.i.i.i.i.i.i644, %lpad60.body.thread909, %lpad60.body.thread, %if.then.i.i.i.i52, %lpad.i.i49 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %4, %if.then.i.i.i.i52 ], [ %4, %lpad.i.i49 ], [ %6, %lpad60.body.thread ], [ %5, %lpad60.body.thread909 ], [ %eh.lpad-body64908, %if.then.i.i.i.i.i.i644 ], [ %eh.lpad-body64908, %arraydestroy.body72 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744 ] + %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element29, %if.then.i.i.i.i52 ], [ %arrayinit.element29, %lpad.i.i49 ], [ %arrayinit.element48, %lpad60.body.thread ], [ %arrayinit.element48, %lpad60.body.thread909 ], [ %arrayinit.element48, %if.then.i.i.i.i.i.i644 ], [ %arrayinit.element48, %arraydestroy.body72 ], [ %arrayinit.endOfInit.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744 ] + %cleanup.isactive.18 = phi i1 [ true, %if.then.i.i.i.i52 ], [ true, %lpad.i.i49 ], [ true, %lpad60.body.thread ], [ true, %lpad60.body.thread909 ], [ true, %if.then.i.i.i.i.i.i644 ], [ true, %arraydestroy.body72 ], [ %cleanup.isactive.17, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit744 ] %arraydestroy.element900.val = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i.i.i.i712 = icmp eq ptr %arraydestroy.element900.val, null - br i1 %tobool.not.i.i.i.i.i.i712, label %ehcleanup909, label %if.then.i.i.i.i.i.i713 + %tobool.not.i.i.i.i.i.i745 = icmp eq ptr %arraydestroy.element900.val, null + br i1 %tobool.not.i.i.i.i.i.i745, label %ehcleanup909, label %if.then.i.i.i.i.i.i746 -if.then.i.i.i.i.i.i713: ; preds = %ehcleanup896 +if.then.i.i.i.i.i.i746: ; preds = %ehcleanup896 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element900.val) #31 br label %ehcleanup909 -ehcleanup909: ; preds = %if.then.i.i.i.i.i.i713, %ehcleanup896, %common.resume.i, %if.then.i.i.i.i42, %lpad.i.i39 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i.i.i42 ], [ %2, %lpad.i.i39 ], [ %3, %common.resume.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup896 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i.i.i713 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element17, %if.then.i.i.i.i42 ], [ %arrayinit.element17, %lpad.i.i39 ], [ %arrayinit.element29, %common.resume.i ], [ %arrayinit.endOfInit.17, %ehcleanup896 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i.i.i713 ] - %cleanup.isactive.19 = phi i1 [ true, %if.then.i.i.i.i42 ], [ true, %lpad.i.i39 ], [ true, %common.resume.i ], [ %cleanup.isactive.18, %ehcleanup896 ], [ %cleanup.isactive.18, %if.then.i.i.i.i.i.i713 ] +ehcleanup909: ; preds = %if.then.i.i.i.i.i.i746, %ehcleanup896, %common.resume.i, %if.then.i.i.i.i42, %lpad.i.i39 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %2, %if.then.i.i.i.i42 ], [ %2, %lpad.i.i39 ], [ %3, %common.resume.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup896 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i.i.i746 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element17, %if.then.i.i.i.i42 ], [ %arrayinit.element17, %lpad.i.i39 ], [ %arrayinit.element29, %common.resume.i ], [ %arrayinit.endOfInit.17, %ehcleanup896 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i.i.i746 ] + %cleanup.isactive.19 = phi i1 [ true, %if.then.i.i.i.i42 ], [ true, %lpad.i.i39 ], [ true, %common.resume.i ], [ %cleanup.isactive.18, %ehcleanup896 ], [ %cleanup.isactive.18, %if.then.i.i.i.i.i.i746 ] br label %arraydestroy.body911 -arraydestroy.body911: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717, %ehcleanup909 - %arraydestroy.elementPast912 = phi ptr [ %add.ptr.i.i38, %ehcleanup909 ], [ %arraydestroy.element913, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 ] +arraydestroy.body911: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750, %ehcleanup909 + %arraydestroy.elementPast912 = phi ptr [ %add.ptr.i.i38, %ehcleanup909 ], [ %arraydestroy.element913, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750 ] %arraydestroy.element913 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast912, i64 -1 %arraydestroy.element913.val = load ptr, ptr %arraydestroy.element913, align 8 - %tobool.not.i.i.i.i.i.i715 = icmp eq ptr %arraydestroy.element913.val, null - br i1 %tobool.not.i.i.i.i.i.i715, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717, label %if.then.i.i.i.i.i.i716 + %tobool.not.i.i.i.i.i.i748 = icmp eq ptr %arraydestroy.element913.val, null + br i1 %tobool.not.i.i.i.i.i.i748, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750, label %if.then.i.i.i.i.i.i749 -if.then.i.i.i.i.i.i716: ; preds = %arraydestroy.body911 +if.then.i.i.i.i.i.i749: ; preds = %arraydestroy.body911 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element913.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717: ; preds = %arraydestroy.body911, %if.then.i.i.i.i.i.i716 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750: ; preds = %arraydestroy.body911, %if.then.i.i.i.i.i.i749 %arraydestroy.done914 = icmp eq ptr %arraydestroy.element913, %ref.tmp19 br i1 %arraydestroy.done914, label %ehcleanup922, label %arraydestroy.body911 -ehcleanup922: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717, %if.then.i.i.i.i34, %lpad.i.i31 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1, %if.then.i.i.i.i34 ], [ %1, %lpad.i.i31 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 ] - %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element6, %if.then.i.i.i.i34 ], [ %arrayinit.element6, %lpad.i.i31 ], [ %arrayinit.endOfInit.18, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 ] - %cleanup.isactive.20 = phi i1 [ true, %if.then.i.i.i.i34 ], [ true, %lpad.i.i31 ], [ %cleanup.isactive.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit717 ] +ehcleanup922: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750, %if.then.i.i.i.i34, %lpad.i.i31 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %1, %if.then.i.i.i.i34 ], [ %1, %lpad.i.i31 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750 ] + %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element6, %if.then.i.i.i.i34 ], [ %arrayinit.element6, %lpad.i.i31 ], [ %arrayinit.endOfInit.18, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750 ] + %cleanup.isactive.20 = phi i1 [ true, %if.then.i.i.i.i34 ], [ true, %lpad.i.i31 ], [ %cleanup.isactive.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit750 ] br label %arraydestroy.body924 -arraydestroy.body924: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720, %ehcleanup922 - %arraydestroy.elementPast925 = phi ptr [ %add.ptr.i.i30, %ehcleanup922 ], [ %arraydestroy.element926, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 ] +arraydestroy.body924: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753, %ehcleanup922 + %arraydestroy.elementPast925 = phi ptr [ %add.ptr.i.i30, %ehcleanup922 ], [ %arraydestroy.element926, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753 ] %arraydestroy.element926 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast925, i64 -1 %arraydestroy.element926.val = load ptr, ptr %arraydestroy.element926, align 8 - %tobool.not.i.i.i.i.i.i718 = icmp eq ptr %arraydestroy.element926.val, null - br i1 %tobool.not.i.i.i.i.i.i718, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720, label %if.then.i.i.i.i.i.i719 + %tobool.not.i.i.i.i.i.i751 = icmp eq ptr %arraydestroy.element926.val, null + br i1 %tobool.not.i.i.i.i.i.i751, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753, label %if.then.i.i.i.i.i.i752 -if.then.i.i.i.i.i.i719: ; preds = %arraydestroy.body924 +if.then.i.i.i.i.i.i752: ; preds = %arraydestroy.body924 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element926.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720: ; preds = %arraydestroy.body924, %if.then.i.i.i.i.i.i719 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753: ; preds = %arraydestroy.body924, %if.then.i.i.i.i.i.i752 %arraydestroy.done927 = icmp eq ptr %arraydestroy.element926, %ref.tmp8 br i1 %arraydestroy.done927, label %ehcleanup935, label %arraydestroy.body924 -ehcleanup935: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720, %if.then.i.i.i.i, %lpad.i.i - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i.i.i ], [ %0, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 ] - %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %if.then.i.i.i.i ], [ %arrayinit.element, %lpad.i.i ], [ %arrayinit.endOfInit.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 ] - %cleanup.isactive.21 = phi i1 [ true, %if.then.i.i.i.i ], [ true, %lpad.i.i ], [ %cleanup.isactive.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit720 ] +ehcleanup935: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753, %if.then.i.i.i.i, %lpad.i.i + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %if.then.i.i.i.i ], [ %0, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753 ] + %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %if.then.i.i.i.i ], [ %arrayinit.element, %lpad.i.i ], [ %arrayinit.endOfInit.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753 ] + %cleanup.isactive.21 = phi i1 [ true, %if.then.i.i.i.i ], [ true, %lpad.i.i ], [ %cleanup.isactive.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit753 ] %arraydestroy.element939.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i.i.i721 = icmp eq ptr %arraydestroy.element939.val, null - br i1 %tobool.not.i.i.i.i.i.i721, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723, label %if.then.i.i.i.i.i.i722 + %tobool.not.i.i.i.i.i.i754 = icmp eq ptr %arraydestroy.element939.val, null + br i1 %tobool.not.i.i.i.i.i.i754, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit756, label %if.then.i.i.i.i.i.i755 -if.then.i.i.i.i.i.i722: ; preds = %ehcleanup935 +if.then.i.i.i.i.i.i755: ; preds = %ehcleanup935 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element939.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit756 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723: ; preds = %ehcleanup935, %if.then.i.i.i.i.i.i722 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit756: ; preds = %ehcleanup935, %if.then.i.i.i.i.i.i755 %arraydestroy.isempty943 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.20 %or.cond.not = select i1 %cleanup.isactive.21, i1 %arraydestroy.isempty943, i1 false br i1 %or.cond.not, label %arraydestroy.body944, label %eh.resume -arraydestroy.body944: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723, %arraydestroy.body944 - %arraydestroy.elementPast945 = phi ptr [ %arraydestroy.element946, %arraydestroy.body944 ], [ %arrayinit.endOfInit.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723 ] +arraydestroy.body944: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit756, %arraydestroy.body944 + %arraydestroy.elementPast945 = phi ptr [ %arraydestroy.element946, %arraydestroy.body944 ], [ %arrayinit.endOfInit.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit756 ] %arraydestroy.element946 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %arraydestroy.elementPast945, i64 -1 call fastcc void @_ZN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS0_IiEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element946) #28 %arraydestroy.done947 = icmp eq ptr %arraydestroy.element946, %ref.tmp @@ -193239,25 +193242,25 @@ ehcleanup964: ; preds = %lpad961, %lpad959 ehcleanup965: ; preds = %ehcleanup964, %lpad956 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %ehcleanup964 ], [ %456, %lpad956 ] %459 = load ptr, ptr %ref.tmp951, align 8 - %cmp.not.i.i724 = icmp eq ptr %459, null - br i1 %cmp.not.i.i724, label %_ZN7testing7MessageD2Ev.exit728, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i725 + %cmp.not.i.i757 = icmp eq ptr %459, null + br i1 %cmp.not.i.i757, label %_ZN7testing7MessageD2Ev.exit761, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i725: ; preds = %ehcleanup965 - %vtable.i.i.i726 = load ptr, ptr %459, align 8 - %vfn.i.i.i727 = getelementptr inbounds ptr, ptr %vtable.i.i.i726, i64 1 - %460 = load ptr, ptr %vfn.i.i.i727, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758: ; preds = %ehcleanup965 + %vtable.i.i.i759 = load ptr, ptr %459, align 8 + %vfn.i.i.i760 = getelementptr inbounds ptr, ptr %vtable.i.i.i759, i64 1 + %460 = load ptr, ptr %vfn.i.i.i760, align 8 call void %460(ptr noundef nonnull align 8 dereferenceable(128) %459) #28 - br label %_ZN7testing7MessageD2Ev.exit728 + br label %_ZN7testing7MessageD2Ev.exit761 -_ZN7testing7MessageD2Ev.exit728: ; preds = %ehcleanup965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i725 +_ZN7testing7MessageD2Ev.exit761: ; preds = %ehcleanup965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i758 store ptr null, ptr %ref.tmp951, align 8 br label %ehcleanup966 if.end: ; preds = %invoke.cont950, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %461 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i729 = icmp eq ptr %461, null - br i1 %cmp.not.i.i729, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i762 = icmp eq ptr %461, null + br i1 %cmp.not.i.i762, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %461) #28 @@ -193269,13 +193272,13 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %462 = load ptr, ptr %exemplars, align 8 %463 = load ptr, ptr %_M_finish.i.i, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %462, %463 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i732, label %for.body.i.i.i.i + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i765, label %for.body.i.i.i.i for.body.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEEEvPT_.exit.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEEEvPT_.exit.i.i.i.i ], [ %462, %_ZN7testing15AssertionResultD2Ev.exit ] %464 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 - %_M_finish.i.i.i.i.i.i.i730 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i, i64 0, i32 1 - %465 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i730, align 8 + %_M_finish.i.i.i.i.i.i.i763 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i, i64 0, i32 1 + %465 = load ptr, ptr %_M_finish.i.i.i.i.i.i.i763, align 8 %cmp.not3.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %464, %465 br i1 %cmp.not3.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i @@ -193309,32 +193312,32 @@ if.then.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i _ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.1522", ptr %__first.addr.04.i.i.i.i, i64 1 - %cmp.not.i.i.i.i731 = icmp eq ptr %incdec.ptr.i.i.i.i, %463 - br i1 %cmp.not.i.i.i.i731, label %invoke.cont.i732, label %for.body.i.i.i.i, !llvm.loop !4634 + %cmp.not.i.i.i.i764 = icmp eq ptr %incdec.ptr.i.i.i.i, %463 + br i1 %cmp.not.i.i.i.i764, label %invoke.cont.i765, label %for.body.i.i.i.i, !llvm.loop !4634 -invoke.cont.i732: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit - %tobool.not.i.i.i733 = icmp eq ptr %462, null - br i1 %tobool.not.i.i.i733, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEESaIS7_EED2Ev.exit, label %if.then.i.i.i734 +invoke.cont.i765: ; preds = %_ZSt8_DestroyIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit + %tobool.not.i.i.i766 = icmp eq ptr %462, null + br i1 %tobool.not.i.i.i766, label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEESaIS7_EED2Ev.exit, label %if.then.i.i.i767 -if.then.i.i.i734: ; preds = %invoke.cont.i732 +if.then.i.i.i767: ; preds = %invoke.cont.i765 call void @_ZdlPv(ptr noundef nonnull %462) #31 br label %_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEESaIS7_EED2Ev.exit -_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEESaIS7_EED2Ev.exit: ; preds = %invoke.cont.i732, %if.then.i.i.i734 +_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEESaIS7_EED2Ev.exit: ; preds = %invoke.cont.i765, %if.then.i.i.i767 ret void -ehcleanup966: ; preds = %_ZN7testing7MessageD2Ev.exit728, %lpad952 - %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit728 ], [ %455, %lpad952 ] +ehcleanup966: ; preds = %_ZN7testing7MessageD2Ev.exit761, %lpad952 + %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit761 ], [ %455, %lpad952 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup967 -ehcleanup967: ; preds = %if.then.i.i.i43.i, %lpad.body.i598, %if.then.i.i.i.i.i, %lpad.i.i606, %ehcleanup966 - %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup966 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i606 ], [ %.pn46.pn.i.i, %lpad.body.i598 ], [ %.pn46.pn.i.i, %if.then.i.i.i43.i ] +ehcleanup967: ; preds = %if.then.i.i.i44.i, %lpad.body.i631, %if.then.i.i.i.i.i, %lpad.i.i639, %ehcleanup966 + %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup966 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i639 ], [ %.pn46.pn.i.i, %lpad.body.i631 ], [ %.pn46.pn.i.i, %if.then.i.i.i44.i ] call fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIN4absl18hash_test_internal19TypeErasedContainerINS1_IiEEEEEESaIS7_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body944, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723, %ehcleanup967 - %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup967 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit723 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body944 ] +eh.resume: ; preds = %arraydestroy.body944, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit756, %ehcleanup967 + %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup967 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit756 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body944 ] resume { ptr, i32 } %.pn23.pn.pn.pn.pn } @@ -195343,8 +195346,7 @@ invoke.cont14.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %.noexc21.invoke.con %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %254 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %255 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i, 5 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %255, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %255, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.i.i.i.i.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %253, ptr %252) to label %invoke.cont30.i.i.i.i.i.i.i.i.i.i.i.i unwind label %lpad.i.i.i.i.i.i.i.i.i.i.i.i, !noalias !4684 @@ -198564,7 +198566,7 @@ lpad.i: ; preds = %invoke.cont28 invoke.cont42: ; preds = %invoke.cont28 store ptr %call5.i.i.i.i2.i, ptr %ref.tmp31, align 8 - %add.ptr.i1.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp31, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 1, ptr %call5.i.i.i.i2.i, align 4 @@ -198586,163 +198588,163 @@ lpad.i84: ; preds = %invoke.cont47 invoke.cont62: ; preds = %invoke.cont47 store ptr %call5.i.i.i.i2.i83, ptr %ref.tmp50, align 8 - %add.ptr.i1.i88 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i83, i64 2 + %add.ptr.i1.i88 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i83, i64 8 %_M_end_of_storage.i.i89 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 2 store ptr %add.ptr.i1.i88, ptr %_M_end_of_storage.i.i89, align 8 store i32 1, ptr %call5.i.i.i.i2.i83, align 4 %ref.tmp54.sroa.2.0.call5.i.i.i.i2.i83.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i83, i64 4 store i32 1, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i2.i83.sroa_idx, align 4 - %_M_finish.i.i90 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 - store ptr %add.ptr.i1.i88, ptr %_M_finish.i.i90, align 8 + %_M_finish.i.i91 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 + store ptr %add.ptr.i1.i88, ptr %_M_finish.i.i91, align 8 %arrayinit.element63 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element63, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i93 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont73 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit699 + %call5.i.i.i.i2.i94 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont73 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit732 invoke.cont73: ; preds = %invoke.cont62 - store ptr %call5.i.i.i.i2.i93, ptr %arrayinit.element63, align 8 - %add.ptr.i1.i98 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i93, i64 2 - %_M_end_of_storage.i.i99 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i98, ptr %_M_end_of_storage.i.i99, align 8 - store i32 1, ptr %call5.i.i.i.i2.i93, align 4 - %ref.tmp65.sroa.2.0.call5.i.i.i.i2.i93.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i93, i64 4 - store i32 1, ptr %ref.tmp65.sroa.2.0.call5.i.i.i.i2.i93.sroa_idx, align 4 - %_M_finish.i.i100 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i98, ptr %_M_finish.i.i100, align 8 + store ptr %call5.i.i.i.i2.i94, ptr %arrayinit.element63, align 8 + %add.ptr.i1.i99 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i94, i64 8 + %_M_end_of_storage.i.i100 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i99, ptr %_M_end_of_storage.i.i100, align 8 + store i32 1, ptr %call5.i.i.i.i2.i94, align 4 + %ref.tmp65.sroa.2.0.call5.i.i.i.i2.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i94, i64 4 + store i32 1, ptr %ref.tmp65.sroa.2.0.call5.i.i.i.i2.i94.sroa_idx, align 4 + %_M_finish.i.i102 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i99, ptr %_M_finish.i.i102, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, ptr nonnull %ref.tmp50, i64 2) to label %invoke.cont79 unwind label %lpad78 invoke.cont79: ; preds = %invoke.cont73 %arrayinit.element80 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 6 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i103 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont95 unwind label %lpad.i104 + %call5.i.i.i.i2.i105 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont95 unwind label %lpad.i106 -lpad.i104: ; preds = %invoke.cont79 +lpad.i106: ; preds = %invoke.cont79 %2 = landingpad { ptr, i32 } cleanup br label %ehcleanup1035 invoke.cont95: ; preds = %invoke.cont79 - store ptr %call5.i.i.i.i2.i103, ptr %ref.tmp82, align 8 - %add.ptr.i1.i108 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i103, i64 3 - %_M_end_of_storage.i.i109 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp82, i64 0, i32 2 - store ptr %add.ptr.i1.i108, ptr %_M_end_of_storage.i.i109, align 8 - store i32 1, ptr %call5.i.i.i.i2.i103, align 4 - %ref.tmp86.sroa.2.0.call5.i.i.i.i2.i103.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i103, i64 4 - store i32 1, ptr %ref.tmp86.sroa.2.0.call5.i.i.i.i2.i103.sroa_idx, align 4 - %ref.tmp86.sroa.3.0.call5.i.i.i.i2.i103.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i103, i64 8 - store i32 1, ptr %ref.tmp86.sroa.3.0.call5.i.i.i.i2.i103.sroa_idx, align 4 - %_M_finish.i.i110 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp82, i64 0, i32 1 - store ptr %add.ptr.i1.i108, ptr %_M_finish.i.i110, align 8 + store ptr %call5.i.i.i.i2.i105, ptr %ref.tmp82, align 8 + %add.ptr.i1.i110 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i105, i64 12 + %_M_end_of_storage.i.i111 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp82, i64 0, i32 2 + store ptr %add.ptr.i1.i110, ptr %_M_end_of_storage.i.i111, align 8 + store i32 1, ptr %call5.i.i.i.i2.i105, align 4 + %ref.tmp86.sroa.2.0.call5.i.i.i.i2.i105.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i105, i64 4 + store i32 1, ptr %ref.tmp86.sroa.2.0.call5.i.i.i.i2.i105.sroa_idx, align 4 + %ref.tmp86.sroa.3.0.call5.i.i.i.i2.i105.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i105, i64 8 + store i32 1, ptr %ref.tmp86.sroa.3.0.call5.i.i.i.i2.i105.sroa_idx, align 4 + %_M_finish.i.i113 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp82, i64 0, i32 1 + store ptr %add.ptr.i1.i110, ptr %_M_finish.i.i113, align 8 %arrayinit.element96 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element96, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i113 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont107 unwind label %lpad.i114 + %call5.i.i.i.i2.i116 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont107 unwind label %lpad.i117 -lpad.i114: ; preds = %invoke.cont95 +lpad.i117: ; preds = %invoke.cont95 %3 = landingpad { ptr, i32 } cleanup br label %ehcleanup1018 invoke.cont107: ; preds = %invoke.cont95 - store ptr %call5.i.i.i.i2.i113, ptr %arrayinit.element96, align 8 - %add.ptr.i1.i118 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i113, i64 3 - %_M_end_of_storage.i.i119 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i118, ptr %_M_end_of_storage.i.i119, align 8 - store i32 1, ptr %call5.i.i.i.i2.i113, align 4 - %ref.tmp98.sroa.2.0.call5.i.i.i.i2.i113.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i113, i64 4 - store i32 1, ptr %ref.tmp98.sroa.2.0.call5.i.i.i.i2.i113.sroa_idx, align 4 - %ref.tmp98.sroa.3.0.call5.i.i.i.i2.i113.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i113, i64 8 - store i32 1, ptr %ref.tmp98.sroa.3.0.call5.i.i.i.i2.i113.sroa_idx, align 4 - %_M_finish.i.i120 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i118, ptr %_M_finish.i.i120, align 8 + store ptr %call5.i.i.i.i2.i116, ptr %arrayinit.element96, align 8 + %add.ptr.i1.i121 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i116, i64 12 + %_M_end_of_storage.i.i122 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i121, ptr %_M_end_of_storage.i.i122, align 8 + store i32 1, ptr %call5.i.i.i.i2.i116, align 4 + %ref.tmp98.sroa.2.0.call5.i.i.i.i2.i116.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i116, i64 4 + store i32 1, ptr %ref.tmp98.sroa.2.0.call5.i.i.i.i2.i116.sroa_idx, align 4 + %ref.tmp98.sroa.3.0.call5.i.i.i.i2.i116.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i116, i64 8 + store i32 1, ptr %ref.tmp98.sroa.3.0.call5.i.i.i.i2.i116.sroa_idx, align 4 + %_M_finish.i.i124 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i121, ptr %_M_finish.i.i124, align 8 %arrayinit.element108 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element108, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i123 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont119 unwind label %lpad.i124 + %call5.i.i.i.i2.i127 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont119 unwind label %lpad.i128 -lpad.i124: ; preds = %invoke.cont107 +lpad.i128: ; preds = %invoke.cont107 %4 = landingpad { ptr, i32 } cleanup br label %ehcleanup1018 invoke.cont119: ; preds = %invoke.cont107 - store ptr %call5.i.i.i.i2.i123, ptr %arrayinit.element108, align 8 - %add.ptr.i1.i128 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i123, i64 3 - %_M_end_of_storage.i.i129 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i128, ptr %_M_end_of_storage.i.i129, align 8 - store i32 1, ptr %call5.i.i.i.i2.i123, align 4 - %ref.tmp110.sroa.2.0.call5.i.i.i.i2.i123.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i123, i64 4 - store i32 1, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i2.i123.sroa_idx, align 4 - %ref.tmp110.sroa.3.0.call5.i.i.i.i2.i123.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i123, i64 8 - store i32 1, ptr %ref.tmp110.sroa.3.0.call5.i.i.i.i2.i123.sroa_idx, align 4 - %_M_finish.i.i130 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i128, ptr %_M_finish.i.i130, align 8 + store ptr %call5.i.i.i.i2.i127, ptr %arrayinit.element108, align 8 + %add.ptr.i1.i132 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i127, i64 12 + %_M_end_of_storage.i.i133 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i132, ptr %_M_end_of_storage.i.i133, align 8 + store i32 1, ptr %call5.i.i.i.i2.i127, align 4 + %ref.tmp110.sroa.2.0.call5.i.i.i.i2.i127.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i127, i64 4 + store i32 1, ptr %ref.tmp110.sroa.2.0.call5.i.i.i.i2.i127.sroa_idx, align 4 + %ref.tmp110.sroa.3.0.call5.i.i.i.i2.i127.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i127, i64 8 + store i32 1, ptr %ref.tmp110.sroa.3.0.call5.i.i.i.i2.i127.sroa_idx, align 4 + %_M_finish.i.i135 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 2, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i132, ptr %_M_finish.i.i135, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element80, ptr nonnull %ref.tmp82, i64 3) to label %invoke.cont125 unwind label %lpad124 invoke.cont125: ; preds = %invoke.cont119 %arrayinit.element126 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp128, i8 0, i64 48, i1 false) - %call5.i.i.i.i2.i133 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont141 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit679 + %call5.i.i.i.i2.i138 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont141 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit712 invoke.cont141: ; preds = %invoke.cont125 %arrayinit.element131 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1 - store ptr %call5.i.i.i.i2.i133, ptr %arrayinit.element131, align 8 - %add.ptr.i1.i138 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i133, i64 2 - %_M_end_of_storage.i.i139 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i138, ptr %_M_end_of_storage.i.i139, align 8 - store i32 1, ptr %call5.i.i.i.i2.i133, align 4 - %ref.tmp133.sroa.2.0.call5.i.i.i.i2.i133.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i133, i64 4 - store i32 2, ptr %ref.tmp133.sroa.2.0.call5.i.i.i.i2.i133.sroa_idx, align 4 - %_M_finish.i.i140 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i138, ptr %_M_finish.i.i140, align 8 + store ptr %call5.i.i.i.i2.i138, ptr %arrayinit.element131, align 8 + %add.ptr.i1.i143 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i138, i64 8 + %_M_end_of_storage.i.i144 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i143, ptr %_M_end_of_storage.i.i144, align 8 + store i32 1, ptr %call5.i.i.i.i2.i138, align 4 + %ref.tmp133.sroa.2.0.call5.i.i.i.i2.i138.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i138, i64 4 + store i32 2, ptr %ref.tmp133.sroa.2.0.call5.i.i.i.i2.i138.sroa_idx, align 4 + %_M_finish.i.i146 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i143, ptr %_M_finish.i.i146, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element126, ptr nonnull %ref.tmp128, i64 2) to label %invoke.cont147 unwind label %lpad146 invoke.cont147: ; preds = %invoke.cont141 %arrayinit.element148 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp150, i8 0, i64 48, i1 false) - %call5.i.i.i.i2.i143 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont163 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit669 + %call5.i.i.i.i2.i149 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont163 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit702 invoke.cont163: ; preds = %invoke.cont147 %arrayinit.element153 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1 - store ptr %call5.i.i.i.i2.i143, ptr %arrayinit.element153, align 8 - %add.ptr.i1.i148 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i143, i64 2 - %_M_end_of_storage.i.i149 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i148, ptr %_M_end_of_storage.i.i149, align 8 - store i32 2, ptr %call5.i.i.i.i2.i143, align 4 - %ref.tmp155.sroa.2.0.call5.i.i.i.i2.i143.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i143, i64 4 - store i32 1, ptr %ref.tmp155.sroa.2.0.call5.i.i.i.i2.i143.sroa_idx, align 4 - %_M_finish.i.i150 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i148, ptr %_M_finish.i.i150, align 8 + store ptr %call5.i.i.i.i2.i149, ptr %arrayinit.element153, align 8 + %add.ptr.i1.i154 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i149, i64 8 + %_M_end_of_storage.i.i155 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i154, ptr %_M_end_of_storage.i.i155, align 8 + store i32 2, ptr %call5.i.i.i.i2.i149, align 4 + %ref.tmp155.sroa.2.0.call5.i.i.i.i2.i149.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i149, i64 4 + store i32 1, ptr %ref.tmp155.sroa.2.0.call5.i.i.i.i2.i149.sroa_idx, align 4 + %_M_finish.i.i157 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i154, ptr %_M_finish.i.i157, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element148, ptr nonnull %ref.tmp150, i64 2) to label %invoke.cont169 unwind label %lpad168 invoke.cont169: ; preds = %invoke.cont163 %arrayinit.element170 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp172, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i153 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont184 unwind label %lpad.i154 + %call5.i.i.i.i2.i160 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont184 unwind label %lpad.i161 -lpad.i154: ; preds = %invoke.cont169 +lpad.i161: ; preds = %invoke.cont169 %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup961 invoke.cont184: ; preds = %invoke.cont169 - store ptr %call5.i.i.i.i2.i153, ptr %ref.tmp172, align 8 - %add.ptr.i1.i158 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i153, i64 2 - %_M_end_of_storage.i.i159 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp172, i64 0, i32 2 - store ptr %add.ptr.i1.i158, ptr %_M_end_of_storage.i.i159, align 8 - store i32 1, ptr %call5.i.i.i.i2.i153, align 4 - %ref.tmp176.sroa.2.0.call5.i.i.i.i2.i153.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i153, i64 4 - store i32 2, ptr %ref.tmp176.sroa.2.0.call5.i.i.i.i2.i153.sroa_idx, align 4 - %_M_finish.i.i160 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp172, i64 0, i32 1 - store ptr %add.ptr.i1.i158, ptr %_M_finish.i.i160, align 8 + store ptr %call5.i.i.i.i2.i160, ptr %ref.tmp172, align 8 + %add.ptr.i1.i165 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i160, i64 8 + %_M_end_of_storage.i.i166 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp172, i64 0, i32 2 + store ptr %add.ptr.i1.i165, ptr %_M_end_of_storage.i.i166, align 8 + store i32 1, ptr %call5.i.i.i.i2.i160, align 4 + %ref.tmp176.sroa.2.0.call5.i.i.i.i2.i160.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i160, i64 4 + store i32 2, ptr %ref.tmp176.sroa.2.0.call5.i.i.i.i2.i160.sroa_idx, align 4 + %_M_finish.i.i168 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp172, i64 0, i32 1 + store ptr %add.ptr.i1.i165, ptr %_M_finish.i.i168, align 8 %arrayinit.element185 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp172, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element185, i8 0, i64 24, i1 false) invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element170, ptr nonnull %ref.tmp172, i64 2) @@ -198751,24 +198753,24 @@ invoke.cont184: ; preds = %invoke.cont169 invoke.cont191: ; preds = %invoke.cont184 %arrayinit.element192 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 10 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp194, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i163 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont206 unwind label %lpad.i164 + %call5.i.i.i.i2.i171 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont206 unwind label %lpad.i172 -lpad.i164: ; preds = %invoke.cont191 +lpad.i172: ; preds = %invoke.cont191 %6 = landingpad { ptr, i32 } cleanup br label %ehcleanup937 invoke.cont206: ; preds = %invoke.cont191 - store ptr %call5.i.i.i.i2.i163, ptr %ref.tmp194, align 8 - %add.ptr.i1.i168 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i163, i64 2 - %_M_end_of_storage.i.i169 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp194, i64 0, i32 2 - store ptr %add.ptr.i1.i168, ptr %_M_end_of_storage.i.i169, align 8 - store i32 2, ptr %call5.i.i.i.i2.i163, align 4 - %ref.tmp198.sroa.2.0.call5.i.i.i.i2.i163.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i163, i64 4 - store i32 1, ptr %ref.tmp198.sroa.2.0.call5.i.i.i.i2.i163.sroa_idx, align 4 - %_M_finish.i.i170 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp194, i64 0, i32 1 - store ptr %add.ptr.i1.i168, ptr %_M_finish.i.i170, align 8 + store ptr %call5.i.i.i.i2.i171, ptr %ref.tmp194, align 8 + %add.ptr.i1.i176 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i171, i64 8 + %_M_end_of_storage.i.i177 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp194, i64 0, i32 2 + store ptr %add.ptr.i1.i176, ptr %_M_end_of_storage.i.i177, align 8 + store i32 2, ptr %call5.i.i.i.i2.i171, align 4 + %ref.tmp198.sroa.2.0.call5.i.i.i.i2.i171.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i171, i64 4 + store i32 1, ptr %ref.tmp198.sroa.2.0.call5.i.i.i.i2.i171.sroa_idx, align 4 + %_M_finish.i.i179 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp194, i64 0, i32 1 + store ptr %add.ptr.i1.i176, ptr %_M_finish.i.i179, align 8 %arrayinit.element207 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp194, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element207, i8 0, i64 24, i1 false) invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element192, ptr nonnull %ref.tmp194, i64 2) @@ -198777,485 +198779,485 @@ invoke.cont206: ; preds = %invoke.cont191 invoke.cont213: ; preds = %invoke.cont206 %arrayinit.element214 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp216, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i173 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont228 unwind label %lpad.i174 + %call5.i.i.i.i2.i182 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont228 unwind label %lpad.i183 -lpad.i174: ; preds = %invoke.cont213 +lpad.i183: ; preds = %invoke.cont213 %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup913 invoke.cont228: ; preds = %invoke.cont213 - store ptr %call5.i.i.i.i2.i173, ptr %ref.tmp216, align 8 - %add.ptr.i1.i178 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i173, i64 2 - %_M_end_of_storage.i.i179 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp216, i64 0, i32 2 - store ptr %add.ptr.i1.i178, ptr %_M_end_of_storage.i.i179, align 8 - store i32 1, ptr %call5.i.i.i.i2.i173, align 4 - %ref.tmp220.sroa.2.0.call5.i.i.i.i2.i173.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i173, i64 4 - store i32 2, ptr %ref.tmp220.sroa.2.0.call5.i.i.i.i2.i173.sroa_idx, align 4 - %_M_finish.i.i180 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp216, i64 0, i32 1 - store ptr %add.ptr.i1.i178, ptr %_M_finish.i.i180, align 8 + store ptr %call5.i.i.i.i2.i182, ptr %ref.tmp216, align 8 + %add.ptr.i1.i187 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i182, i64 8 + %_M_end_of_storage.i.i188 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp216, i64 0, i32 2 + store ptr %add.ptr.i1.i187, ptr %_M_end_of_storage.i.i188, align 8 + store i32 1, ptr %call5.i.i.i.i2.i182, align 4 + %ref.tmp220.sroa.2.0.call5.i.i.i.i2.i182.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i182, i64 4 + store i32 2, ptr %ref.tmp220.sroa.2.0.call5.i.i.i.i2.i182.sroa_idx, align 4 + %_M_finish.i.i190 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp216, i64 0, i32 1 + store ptr %add.ptr.i1.i187, ptr %_M_finish.i.i190, align 8 %arrayinit.element229 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element229, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i183 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont239 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit639 + %call5.i.i.i.i2.i193 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont239 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit672 invoke.cont239: ; preds = %invoke.cont228 - store ptr %call5.i.i.i.i2.i183, ptr %arrayinit.element229, align 8 - %add.ptr.i1.i188 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i183, i64 2 - %_M_end_of_storage.i.i189 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i188, ptr %_M_end_of_storage.i.i189, align 8 - store i32 3, ptr %call5.i.i.i.i2.i183, align 4 - %ref.tmp231.sroa.2.0.call5.i.i.i.i2.i183.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i183, i64 4 - store i32 4, ptr %ref.tmp231.sroa.2.0.call5.i.i.i.i2.i183.sroa_idx, align 4 - %_M_finish.i.i190 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i188, ptr %_M_finish.i.i190, align 8 + store ptr %call5.i.i.i.i2.i193, ptr %arrayinit.element229, align 8 + %add.ptr.i1.i198 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i193, i64 8 + %_M_end_of_storage.i.i199 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i198, ptr %_M_end_of_storage.i.i199, align 8 + store i32 3, ptr %call5.i.i.i.i2.i193, align 4 + %ref.tmp231.sroa.2.0.call5.i.i.i.i2.i193.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i193, i64 4 + store i32 4, ptr %ref.tmp231.sroa.2.0.call5.i.i.i.i2.i193.sroa_idx, align 4 + %_M_finish.i.i201 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i198, ptr %_M_finish.i.i201, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element214, ptr nonnull %ref.tmp216, i64 2) to label %invoke.cont245 unwind label %lpad244 invoke.cont245: ; preds = %invoke.cont239 %arrayinit.element246 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp248, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i193 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont260 unwind label %lpad.i194 + %call5.i.i.i.i2.i204 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont260 unwind label %lpad.i205 -lpad.i194: ; preds = %invoke.cont245 +lpad.i205: ; preds = %invoke.cont245 %8 = landingpad { ptr, i32 } cleanup br label %ehcleanup888 invoke.cont260: ; preds = %invoke.cont245 - store ptr %call5.i.i.i.i2.i193, ptr %ref.tmp248, align 8 - %add.ptr.i1.i198 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i193, i64 2 - %_M_end_of_storage.i.i199 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp248, i64 0, i32 2 - store ptr %add.ptr.i1.i198, ptr %_M_end_of_storage.i.i199, align 8 - store i32 1, ptr %call5.i.i.i.i2.i193, align 4 - %ref.tmp252.sroa.2.0.call5.i.i.i.i2.i193.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i193, i64 4 - store i32 2, ptr %ref.tmp252.sroa.2.0.call5.i.i.i.i2.i193.sroa_idx, align 4 - %_M_finish.i.i200 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp248, i64 0, i32 1 - store ptr %add.ptr.i1.i198, ptr %_M_finish.i.i200, align 8 + store ptr %call5.i.i.i.i2.i204, ptr %ref.tmp248, align 8 + %add.ptr.i1.i209 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i204, i64 8 + %_M_end_of_storage.i.i210 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp248, i64 0, i32 2 + store ptr %add.ptr.i1.i209, ptr %_M_end_of_storage.i.i210, align 8 + store i32 1, ptr %call5.i.i.i.i2.i204, align 4 + %ref.tmp252.sroa.2.0.call5.i.i.i.i2.i204.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i204, i64 4 + store i32 2, ptr %ref.tmp252.sroa.2.0.call5.i.i.i.i2.i204.sroa_idx, align 4 + %_M_finish.i.i212 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp248, i64 0, i32 1 + store ptr %add.ptr.i1.i209, ptr %_M_finish.i.i212, align 8 %arrayinit.element261 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element261, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i203 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont271 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit629 + %call5.i.i.i.i2.i215 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont271 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit662 invoke.cont271: ; preds = %invoke.cont260 - store ptr %call5.i.i.i.i2.i203, ptr %arrayinit.element261, align 8 - %add.ptr.i1.i208 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i203, i64 2 - %_M_end_of_storage.i.i209 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i208, ptr %_M_end_of_storage.i.i209, align 8 - store i32 4, ptr %call5.i.i.i.i2.i203, align 4 - %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i203.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i203, i64 4 - store i32 3, ptr %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i203.sroa_idx, align 4 - %_M_finish.i.i210 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i208, ptr %_M_finish.i.i210, align 8 + store ptr %call5.i.i.i.i2.i215, ptr %arrayinit.element261, align 8 + %add.ptr.i1.i220 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i215, i64 8 + %_M_end_of_storage.i.i221 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i220, ptr %_M_end_of_storage.i.i221, align 8 + store i32 4, ptr %call5.i.i.i.i2.i215, align 4 + %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i215.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i215, i64 4 + store i32 3, ptr %ref.tmp263.sroa.2.0.call5.i.i.i.i2.i215.sroa_idx, align 4 + %_M_finish.i.i223 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i220, ptr %_M_finish.i.i223, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element246, ptr nonnull %ref.tmp248, i64 2) to label %invoke.cont277 unwind label %lpad276 invoke.cont277: ; preds = %invoke.cont271 %arrayinit.element278 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 13 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp280, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i213 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont292 unwind label %lpad.i214 + %call5.i.i.i.i2.i226 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont292 unwind label %lpad.i227 -lpad.i214: ; preds = %invoke.cont277 +lpad.i227: ; preds = %invoke.cont277 %9 = landingpad { ptr, i32 } cleanup br label %ehcleanup863 invoke.cont292: ; preds = %invoke.cont277 - store ptr %call5.i.i.i.i2.i213, ptr %ref.tmp280, align 8 - %add.ptr.i1.i218 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i213, i64 2 - %_M_end_of_storage.i.i219 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp280, i64 0, i32 2 - store ptr %add.ptr.i1.i218, ptr %_M_end_of_storage.i.i219, align 8 - store i32 1, ptr %call5.i.i.i.i2.i213, align 4 - %ref.tmp284.sroa.2.0.call5.i.i.i.i2.i213.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i213, i64 4 - store i32 3, ptr %ref.tmp284.sroa.2.0.call5.i.i.i.i2.i213.sroa_idx, align 4 - %_M_finish.i.i220 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp280, i64 0, i32 1 - store ptr %add.ptr.i1.i218, ptr %_M_finish.i.i220, align 8 + store ptr %call5.i.i.i.i2.i226, ptr %ref.tmp280, align 8 + %add.ptr.i1.i231 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i226, i64 8 + %_M_end_of_storage.i.i232 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp280, i64 0, i32 2 + store ptr %add.ptr.i1.i231, ptr %_M_end_of_storage.i.i232, align 8 + store i32 1, ptr %call5.i.i.i.i2.i226, align 4 + %ref.tmp284.sroa.2.0.call5.i.i.i.i2.i226.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i226, i64 4 + store i32 3, ptr %ref.tmp284.sroa.2.0.call5.i.i.i.i2.i226.sroa_idx, align 4 + %_M_finish.i.i234 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp280, i64 0, i32 1 + store ptr %add.ptr.i1.i231, ptr %_M_finish.i.i234, align 8 %arrayinit.element293 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element293, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i223 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont303 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit619 + %call5.i.i.i.i2.i237 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont303 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit652 invoke.cont303: ; preds = %invoke.cont292 - store ptr %call5.i.i.i.i2.i223, ptr %arrayinit.element293, align 8 - %add.ptr.i1.i228 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i223, i64 2 - %_M_end_of_storage.i.i229 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i228, ptr %_M_end_of_storage.i.i229, align 8 - store i32 2, ptr %call5.i.i.i.i2.i223, align 4 - %ref.tmp295.sroa.2.0.call5.i.i.i.i2.i223.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i223, i64 4 - store i32 4, ptr %ref.tmp295.sroa.2.0.call5.i.i.i.i2.i223.sroa_idx, align 4 - %_M_finish.i.i230 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i228, ptr %_M_finish.i.i230, align 8 + store ptr %call5.i.i.i.i2.i237, ptr %arrayinit.element293, align 8 + %add.ptr.i1.i242 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i237, i64 8 + %_M_end_of_storage.i.i243 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i242, ptr %_M_end_of_storage.i.i243, align 8 + store i32 2, ptr %call5.i.i.i.i2.i237, align 4 + %ref.tmp295.sroa.2.0.call5.i.i.i.i2.i237.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i237, i64 4 + store i32 4, ptr %ref.tmp295.sroa.2.0.call5.i.i.i.i2.i237.sroa_idx, align 4 + %_M_finish.i.i245 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i242, ptr %_M_finish.i.i245, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element278, ptr nonnull %ref.tmp280, i64 2) to label %invoke.cont309 unwind label %lpad308 invoke.cont309: ; preds = %invoke.cont303 %arrayinit.element310 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 14 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp312, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i233 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont324 unwind label %lpad.i234 + %call5.i.i.i.i2.i248 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont324 unwind label %lpad.i249 -lpad.i234: ; preds = %invoke.cont309 +lpad.i249: ; preds = %invoke.cont309 %10 = landingpad { ptr, i32 } cleanup br label %ehcleanup838 invoke.cont324: ; preds = %invoke.cont309 - store ptr %call5.i.i.i.i2.i233, ptr %ref.tmp312, align 8 - %add.ptr.i1.i238 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i233, i64 2 - %_M_end_of_storage.i.i239 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp312, i64 0, i32 2 - store ptr %add.ptr.i1.i238, ptr %_M_end_of_storage.i.i239, align 8 - store i32 1, ptr %call5.i.i.i.i2.i233, align 4 - %ref.tmp316.sroa.2.0.call5.i.i.i.i2.i233.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i233, i64 4 - store i32 3, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i2.i233.sroa_idx, align 4 - %_M_finish.i.i240 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp312, i64 0, i32 1 - store ptr %add.ptr.i1.i238, ptr %_M_finish.i.i240, align 8 + store ptr %call5.i.i.i.i2.i248, ptr %ref.tmp312, align 8 + %add.ptr.i1.i253 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i248, i64 8 + %_M_end_of_storage.i.i254 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp312, i64 0, i32 2 + store ptr %add.ptr.i1.i253, ptr %_M_end_of_storage.i.i254, align 8 + store i32 1, ptr %call5.i.i.i.i2.i248, align 4 + %ref.tmp316.sroa.2.0.call5.i.i.i.i2.i248.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i248, i64 4 + store i32 3, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i2.i248.sroa_idx, align 4 + %_M_finish.i.i256 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp312, i64 0, i32 1 + store ptr %add.ptr.i1.i253, ptr %_M_finish.i.i256, align 8 %arrayinit.element325 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element325, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i243 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont335 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit609 + %call5.i.i.i.i2.i259 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont335 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit642 invoke.cont335: ; preds = %invoke.cont324 - store ptr %call5.i.i.i.i2.i243, ptr %arrayinit.element325, align 8 - %add.ptr.i1.i248 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i243, i64 2 - %_M_end_of_storage.i.i249 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i248, ptr %_M_end_of_storage.i.i249, align 8 - store i32 4, ptr %call5.i.i.i.i2.i243, align 4 - %ref.tmp327.sroa.2.0.call5.i.i.i.i2.i243.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i243, i64 4 - store i32 2, ptr %ref.tmp327.sroa.2.0.call5.i.i.i.i2.i243.sroa_idx, align 4 - %_M_finish.i.i250 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i248, ptr %_M_finish.i.i250, align 8 + store ptr %call5.i.i.i.i2.i259, ptr %arrayinit.element325, align 8 + %add.ptr.i1.i264 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i259, i64 8 + %_M_end_of_storage.i.i265 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i264, ptr %_M_end_of_storage.i.i265, align 8 + store i32 4, ptr %call5.i.i.i.i2.i259, align 4 + %ref.tmp327.sroa.2.0.call5.i.i.i.i2.i259.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i259, i64 4 + store i32 2, ptr %ref.tmp327.sroa.2.0.call5.i.i.i.i2.i259.sroa_idx, align 4 + %_M_finish.i.i267 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i264, ptr %_M_finish.i.i267, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element310, ptr nonnull %ref.tmp312, i64 2) to label %invoke.cont341 unwind label %lpad340 invoke.cont341: ; preds = %invoke.cont335 %arrayinit.element342 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 15 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp344, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i253 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont356 unwind label %lpad.i254 + %call5.i.i.i.i2.i270 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont356 unwind label %lpad.i271 -lpad.i254: ; preds = %invoke.cont341 +lpad.i271: ; preds = %invoke.cont341 %11 = landingpad { ptr, i32 } cleanup br label %ehcleanup813 invoke.cont356: ; preds = %invoke.cont341 - store ptr %call5.i.i.i.i2.i253, ptr %ref.tmp344, align 8 - %add.ptr.i1.i258 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i253, i64 2 - %_M_end_of_storage.i.i259 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp344, i64 0, i32 2 - store ptr %add.ptr.i1.i258, ptr %_M_end_of_storage.i.i259, align 8 - store i32 1, ptr %call5.i.i.i.i2.i253, align 4 - %ref.tmp348.sroa.2.0.call5.i.i.i.i2.i253.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i253, i64 4 - store i32 4, ptr %ref.tmp348.sroa.2.0.call5.i.i.i.i2.i253.sroa_idx, align 4 - %_M_finish.i.i260 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp344, i64 0, i32 1 - store ptr %add.ptr.i1.i258, ptr %_M_finish.i.i260, align 8 + store ptr %call5.i.i.i.i2.i270, ptr %ref.tmp344, align 8 + %add.ptr.i1.i275 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i270, i64 8 + %_M_end_of_storage.i.i276 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp344, i64 0, i32 2 + store ptr %add.ptr.i1.i275, ptr %_M_end_of_storage.i.i276, align 8 + store i32 1, ptr %call5.i.i.i.i2.i270, align 4 + %ref.tmp348.sroa.2.0.call5.i.i.i.i2.i270.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i270, i64 4 + store i32 4, ptr %ref.tmp348.sroa.2.0.call5.i.i.i.i2.i270.sroa_idx, align 4 + %_M_finish.i.i278 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp344, i64 0, i32 1 + store ptr %add.ptr.i1.i275, ptr %_M_finish.i.i278, align 8 %arrayinit.element357 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element357, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i263 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont367 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit599 + %call5.i.i.i.i2.i281 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont367 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit632 invoke.cont367: ; preds = %invoke.cont356 - store ptr %call5.i.i.i.i2.i263, ptr %arrayinit.element357, align 8 - %add.ptr.i1.i268 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i263, i64 2 - %_M_end_of_storage.i.i269 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i268, ptr %_M_end_of_storage.i.i269, align 8 - store i32 2, ptr %call5.i.i.i.i2.i263, align 4 - %ref.tmp359.sroa.2.0.call5.i.i.i.i2.i263.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i263, i64 4 - store i32 3, ptr %ref.tmp359.sroa.2.0.call5.i.i.i.i2.i263.sroa_idx, align 4 - %_M_finish.i.i270 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i268, ptr %_M_finish.i.i270, align 8 + store ptr %call5.i.i.i.i2.i281, ptr %arrayinit.element357, align 8 + %add.ptr.i1.i286 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i281, i64 8 + %_M_end_of_storage.i.i287 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i286, ptr %_M_end_of_storage.i.i287, align 8 + store i32 2, ptr %call5.i.i.i.i2.i281, align 4 + %ref.tmp359.sroa.2.0.call5.i.i.i.i2.i281.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i281, i64 4 + store i32 3, ptr %ref.tmp359.sroa.2.0.call5.i.i.i.i2.i281.sroa_idx, align 4 + %_M_finish.i.i289 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i286, ptr %_M_finish.i.i289, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element342, ptr nonnull %ref.tmp344, i64 2) to label %invoke.cont373 unwind label %lpad372 invoke.cont373: ; preds = %invoke.cont367 %arrayinit.element374 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp376, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i273 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont388 unwind label %lpad.i274 + %call5.i.i.i.i2.i292 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont388 unwind label %lpad.i293 -lpad.i274: ; preds = %invoke.cont373 +lpad.i293: ; preds = %invoke.cont373 %12 = landingpad { ptr, i32 } cleanup br label %ehcleanup788 invoke.cont388: ; preds = %invoke.cont373 - store ptr %call5.i.i.i.i2.i273, ptr %ref.tmp376, align 8 - %add.ptr.i1.i278 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i273, i64 2 - %_M_end_of_storage.i.i279 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp376, i64 0, i32 2 - store ptr %add.ptr.i1.i278, ptr %_M_end_of_storage.i.i279, align 8 - store i32 1, ptr %call5.i.i.i.i2.i273, align 4 - %ref.tmp380.sroa.2.0.call5.i.i.i.i2.i273.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i273, i64 4 - store i32 4, ptr %ref.tmp380.sroa.2.0.call5.i.i.i.i2.i273.sroa_idx, align 4 - %_M_finish.i.i280 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp376, i64 0, i32 1 - store ptr %add.ptr.i1.i278, ptr %_M_finish.i.i280, align 8 + store ptr %call5.i.i.i.i2.i292, ptr %ref.tmp376, align 8 + %add.ptr.i1.i297 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i292, i64 8 + %_M_end_of_storage.i.i298 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp376, i64 0, i32 2 + store ptr %add.ptr.i1.i297, ptr %_M_end_of_storage.i.i298, align 8 + store i32 1, ptr %call5.i.i.i.i2.i292, align 4 + %ref.tmp380.sroa.2.0.call5.i.i.i.i2.i292.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i292, i64 4 + store i32 4, ptr %ref.tmp380.sroa.2.0.call5.i.i.i.i2.i292.sroa_idx, align 4 + %_M_finish.i.i300 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp376, i64 0, i32 1 + store ptr %add.ptr.i1.i297, ptr %_M_finish.i.i300, align 8 %arrayinit.element389 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element389, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i283 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont399 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit589 + %call5.i.i.i.i2.i303 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont399 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit622 invoke.cont399: ; preds = %invoke.cont388 - store ptr %call5.i.i.i.i2.i283, ptr %arrayinit.element389, align 8 - %add.ptr.i1.i288 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i283, i64 2 - %_M_end_of_storage.i.i289 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i288, ptr %_M_end_of_storage.i.i289, align 8 - store i32 3, ptr %call5.i.i.i.i2.i283, align 4 - %ref.tmp391.sroa.2.0.call5.i.i.i.i2.i283.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i283, i64 4 - store i32 2, ptr %ref.tmp391.sroa.2.0.call5.i.i.i.i2.i283.sroa_idx, align 4 - %_M_finish.i.i290 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i288, ptr %_M_finish.i.i290, align 8 + store ptr %call5.i.i.i.i2.i303, ptr %arrayinit.element389, align 8 + %add.ptr.i1.i308 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i303, i64 8 + %_M_end_of_storage.i.i309 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i308, ptr %_M_end_of_storage.i.i309, align 8 + store i32 3, ptr %call5.i.i.i.i2.i303, align 4 + %ref.tmp391.sroa.2.0.call5.i.i.i.i2.i303.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i303, i64 4 + store i32 2, ptr %ref.tmp391.sroa.2.0.call5.i.i.i.i2.i303.sroa_idx, align 4 + %_M_finish.i.i311 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i308, ptr %_M_finish.i.i311, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element374, ptr nonnull %ref.tmp376, i64 2) to label %invoke.cont405 unwind label %lpad404 invoke.cont405: ; preds = %invoke.cont399 %arrayinit.element406 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 17 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp408, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i293 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont420 unwind label %lpad.i294 + %call5.i.i.i.i2.i314 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont420 unwind label %lpad.i315 -lpad.i294: ; preds = %invoke.cont405 +lpad.i315: ; preds = %invoke.cont405 %13 = landingpad { ptr, i32 } cleanup br label %ehcleanup763 invoke.cont420: ; preds = %invoke.cont405 - store ptr %call5.i.i.i.i2.i293, ptr %ref.tmp408, align 8 - %add.ptr.i1.i298 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i293, i64 2 - %_M_end_of_storage.i.i299 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp408, i64 0, i32 2 - store ptr %add.ptr.i1.i298, ptr %_M_end_of_storage.i.i299, align 8 - store i32 2, ptr %call5.i.i.i.i2.i293, align 4 - %ref.tmp412.sroa.2.0.call5.i.i.i.i2.i293.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i293, i64 4 - store i32 3, ptr %ref.tmp412.sroa.2.0.call5.i.i.i.i2.i293.sroa_idx, align 4 - %_M_finish.i.i300 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp408, i64 0, i32 1 - store ptr %add.ptr.i1.i298, ptr %_M_finish.i.i300, align 8 + store ptr %call5.i.i.i.i2.i314, ptr %ref.tmp408, align 8 + %add.ptr.i1.i319 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i314, i64 8 + %_M_end_of_storage.i.i320 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp408, i64 0, i32 2 + store ptr %add.ptr.i1.i319, ptr %_M_end_of_storage.i.i320, align 8 + store i32 2, ptr %call5.i.i.i.i2.i314, align 4 + %ref.tmp412.sroa.2.0.call5.i.i.i.i2.i314.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i314, i64 4 + store i32 3, ptr %ref.tmp412.sroa.2.0.call5.i.i.i.i2.i314.sroa_idx, align 4 + %_M_finish.i.i322 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp408, i64 0, i32 1 + store ptr %add.ptr.i1.i319, ptr %_M_finish.i.i322, align 8 %arrayinit.element421 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element421, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i303 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont431 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit579 + %call5.i.i.i.i2.i325 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont431 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit612 invoke.cont431: ; preds = %invoke.cont420 - store ptr %call5.i.i.i.i2.i303, ptr %arrayinit.element421, align 8 - %add.ptr.i1.i308 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i303, i64 2 - %_M_end_of_storage.i.i309 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i308, ptr %_M_end_of_storage.i.i309, align 8 - store i32 1, ptr %call5.i.i.i.i2.i303, align 4 - %ref.tmp423.sroa.2.0.call5.i.i.i.i2.i303.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i303, i64 4 - store i32 4, ptr %ref.tmp423.sroa.2.0.call5.i.i.i.i2.i303.sroa_idx, align 4 - %_M_finish.i.i310 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i308, ptr %_M_finish.i.i310, align 8 + store ptr %call5.i.i.i.i2.i325, ptr %arrayinit.element421, align 8 + %add.ptr.i1.i330 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i325, i64 8 + %_M_end_of_storage.i.i331 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i330, ptr %_M_end_of_storage.i.i331, align 8 + store i32 1, ptr %call5.i.i.i.i2.i325, align 4 + %ref.tmp423.sroa.2.0.call5.i.i.i.i2.i325.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i325, i64 4 + store i32 4, ptr %ref.tmp423.sroa.2.0.call5.i.i.i.i2.i325.sroa_idx, align 4 + %_M_finish.i.i333 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i330, ptr %_M_finish.i.i333, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element406, ptr nonnull %ref.tmp408, i64 2) to label %invoke.cont437 unwind label %lpad436 invoke.cont437: ; preds = %invoke.cont431 %arrayinit.element438 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp440, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i313 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont452 unwind label %lpad.i314 + %call5.i.i.i.i2.i336 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont452 unwind label %lpad.i337 -lpad.i314: ; preds = %invoke.cont437 +lpad.i337: ; preds = %invoke.cont437 %14 = landingpad { ptr, i32 } cleanup br label %ehcleanup738 invoke.cont452: ; preds = %invoke.cont437 - store ptr %call5.i.i.i.i2.i313, ptr %ref.tmp440, align 8 - %add.ptr.i1.i318 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i313, i64 2 - %_M_end_of_storage.i.i319 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp440, i64 0, i32 2 - store ptr %add.ptr.i1.i318, ptr %_M_end_of_storage.i.i319, align 8 - store i32 2, ptr %call5.i.i.i.i2.i313, align 4 - %ref.tmp444.sroa.2.0.call5.i.i.i.i2.i313.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i313, i64 4 - store i32 3, ptr %ref.tmp444.sroa.2.0.call5.i.i.i.i2.i313.sroa_idx, align 4 - %_M_finish.i.i320 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp440, i64 0, i32 1 - store ptr %add.ptr.i1.i318, ptr %_M_finish.i.i320, align 8 + store ptr %call5.i.i.i.i2.i336, ptr %ref.tmp440, align 8 + %add.ptr.i1.i341 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i336, i64 8 + %_M_end_of_storage.i.i342 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp440, i64 0, i32 2 + store ptr %add.ptr.i1.i341, ptr %_M_end_of_storage.i.i342, align 8 + store i32 2, ptr %call5.i.i.i.i2.i336, align 4 + %ref.tmp444.sroa.2.0.call5.i.i.i.i2.i336.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i336, i64 4 + store i32 3, ptr %ref.tmp444.sroa.2.0.call5.i.i.i.i2.i336.sroa_idx, align 4 + %_M_finish.i.i344 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp440, i64 0, i32 1 + store ptr %add.ptr.i1.i341, ptr %_M_finish.i.i344, align 8 %arrayinit.element453 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element453, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i323 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont463 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit569 + %call5.i.i.i.i2.i347 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont463 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit602 invoke.cont463: ; preds = %invoke.cont452 - store ptr %call5.i.i.i.i2.i323, ptr %arrayinit.element453, align 8 - %add.ptr.i1.i328 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i323, i64 2 - %_M_end_of_storage.i.i329 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i328, ptr %_M_end_of_storage.i.i329, align 8 - store i32 4, ptr %call5.i.i.i.i2.i323, align 4 - %ref.tmp455.sroa.2.0.call5.i.i.i.i2.i323.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i323, i64 4 - store i32 1, ptr %ref.tmp455.sroa.2.0.call5.i.i.i.i2.i323.sroa_idx, align 4 - %_M_finish.i.i330 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i328, ptr %_M_finish.i.i330, align 8 + store ptr %call5.i.i.i.i2.i347, ptr %arrayinit.element453, align 8 + %add.ptr.i1.i352 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i347, i64 8 + %_M_end_of_storage.i.i353 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i352, ptr %_M_end_of_storage.i.i353, align 8 + store i32 4, ptr %call5.i.i.i.i2.i347, align 4 + %ref.tmp455.sroa.2.0.call5.i.i.i.i2.i347.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i347, i64 4 + store i32 1, ptr %ref.tmp455.sroa.2.0.call5.i.i.i.i2.i347.sroa_idx, align 4 + %_M_finish.i.i355 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i352, ptr %_M_finish.i.i355, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element438, ptr nonnull %ref.tmp440, i64 2) to label %invoke.cont469 unwind label %lpad468 invoke.cont469: ; preds = %invoke.cont463 %arrayinit.element470 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 19 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp472, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i333 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont484 unwind label %lpad.i334 + %call5.i.i.i.i2.i358 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont484 unwind label %lpad.i359 -lpad.i334: ; preds = %invoke.cont469 +lpad.i359: ; preds = %invoke.cont469 %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup713 invoke.cont484: ; preds = %invoke.cont469 - store ptr %call5.i.i.i.i2.i333, ptr %ref.tmp472, align 8 - %add.ptr.i1.i338 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i333, i64 2 - %_M_end_of_storage.i.i339 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 - store ptr %add.ptr.i1.i338, ptr %_M_end_of_storage.i.i339, align 8 - store i32 2, ptr %call5.i.i.i.i2.i333, align 4 - %ref.tmp476.sroa.2.0.call5.i.i.i.i2.i333.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i333, i64 4 - store i32 4, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i2.i333.sroa_idx, align 4 - %_M_finish.i.i340 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 - store ptr %add.ptr.i1.i338, ptr %_M_finish.i.i340, align 8 + store ptr %call5.i.i.i.i2.i358, ptr %ref.tmp472, align 8 + %add.ptr.i1.i363 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i358, i64 8 + %_M_end_of_storage.i.i364 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 + store ptr %add.ptr.i1.i363, ptr %_M_end_of_storage.i.i364, align 8 + store i32 2, ptr %call5.i.i.i.i2.i358, align 4 + %ref.tmp476.sroa.2.0.call5.i.i.i.i2.i358.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i358, i64 4 + store i32 4, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i2.i358.sroa_idx, align 4 + %_M_finish.i.i366 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 + store ptr %add.ptr.i1.i363, ptr %_M_finish.i.i366, align 8 %arrayinit.element485 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element485, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i343 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont495 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit559 + %call5.i.i.i.i2.i369 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont495 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit592 invoke.cont495: ; preds = %invoke.cont484 - store ptr %call5.i.i.i.i2.i343, ptr %arrayinit.element485, align 8 - %add.ptr.i1.i348 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i343, i64 2 - %_M_end_of_storage.i.i349 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i348, ptr %_M_end_of_storage.i.i349, align 8 - store i32 1, ptr %call5.i.i.i.i2.i343, align 4 - %ref.tmp487.sroa.2.0.call5.i.i.i.i2.i343.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i343, i64 4 - store i32 3, ptr %ref.tmp487.sroa.2.0.call5.i.i.i.i2.i343.sroa_idx, align 4 - %_M_finish.i.i350 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i348, ptr %_M_finish.i.i350, align 8 + store ptr %call5.i.i.i.i2.i369, ptr %arrayinit.element485, align 8 + %add.ptr.i1.i374 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i369, i64 8 + %_M_end_of_storage.i.i375 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i374, ptr %_M_end_of_storage.i.i375, align 8 + store i32 1, ptr %call5.i.i.i.i2.i369, align 4 + %ref.tmp487.sroa.2.0.call5.i.i.i.i2.i369.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i369, i64 4 + store i32 3, ptr %ref.tmp487.sroa.2.0.call5.i.i.i.i2.i369.sroa_idx, align 4 + %_M_finish.i.i377 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i374, ptr %_M_finish.i.i377, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, ptr nonnull %ref.tmp472, i64 2) to label %invoke.cont501 unwind label %lpad500 invoke.cont501: ; preds = %invoke.cont495 %arrayinit.element502 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp504, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i353 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont516 unwind label %lpad.i354 + %call5.i.i.i.i2.i380 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont516 unwind label %lpad.i381 -lpad.i354: ; preds = %invoke.cont501 +lpad.i381: ; preds = %invoke.cont501 %16 = landingpad { ptr, i32 } cleanup br label %ehcleanup688 invoke.cont516: ; preds = %invoke.cont501 - store ptr %call5.i.i.i.i2.i353, ptr %ref.tmp504, align 8 - %add.ptr.i1.i358 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i353, i64 2 - %_M_end_of_storage.i.i359 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp504, i64 0, i32 2 - store ptr %add.ptr.i1.i358, ptr %_M_end_of_storage.i.i359, align 8 - store i32 2, ptr %call5.i.i.i.i2.i353, align 4 - %ref.tmp508.sroa.2.0.call5.i.i.i.i2.i353.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i353, i64 4 - store i32 4, ptr %ref.tmp508.sroa.2.0.call5.i.i.i.i2.i353.sroa_idx, align 4 - %_M_finish.i.i360 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp504, i64 0, i32 1 - store ptr %add.ptr.i1.i358, ptr %_M_finish.i.i360, align 8 + store ptr %call5.i.i.i.i2.i380, ptr %ref.tmp504, align 8 + %add.ptr.i1.i385 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i380, i64 8 + %_M_end_of_storage.i.i386 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp504, i64 0, i32 2 + store ptr %add.ptr.i1.i385, ptr %_M_end_of_storage.i.i386, align 8 + store i32 2, ptr %call5.i.i.i.i2.i380, align 4 + %ref.tmp508.sroa.2.0.call5.i.i.i.i2.i380.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i380, i64 4 + store i32 4, ptr %ref.tmp508.sroa.2.0.call5.i.i.i.i2.i380.sroa_idx, align 4 + %_M_finish.i.i388 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp504, i64 0, i32 1 + store ptr %add.ptr.i1.i385, ptr %_M_finish.i.i388, align 8 %arrayinit.element517 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element517, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i363 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont527 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit549 + %call5.i.i.i.i2.i391 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont527 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit582 invoke.cont527: ; preds = %invoke.cont516 - store ptr %call5.i.i.i.i2.i363, ptr %arrayinit.element517, align 8 - %add.ptr.i1.i368 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i363, i64 2 - %_M_end_of_storage.i.i369 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i368, ptr %_M_end_of_storage.i.i369, align 8 - store i32 3, ptr %call5.i.i.i.i2.i363, align 4 - %ref.tmp519.sroa.2.0.call5.i.i.i.i2.i363.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i363, i64 4 - store i32 1, ptr %ref.tmp519.sroa.2.0.call5.i.i.i.i2.i363.sroa_idx, align 4 - %_M_finish.i.i370 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i368, ptr %_M_finish.i.i370, align 8 + store ptr %call5.i.i.i.i2.i391, ptr %arrayinit.element517, align 8 + %add.ptr.i1.i396 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i391, i64 8 + %_M_end_of_storage.i.i397 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i396, ptr %_M_end_of_storage.i.i397, align 8 + store i32 3, ptr %call5.i.i.i.i2.i391, align 4 + %ref.tmp519.sroa.2.0.call5.i.i.i.i2.i391.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i391, i64 4 + store i32 1, ptr %ref.tmp519.sroa.2.0.call5.i.i.i.i2.i391.sroa_idx, align 4 + %_M_finish.i.i399 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i396, ptr %_M_finish.i.i399, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element502, ptr nonnull %ref.tmp504, i64 2) to label %invoke.cont533 unwind label %lpad532 invoke.cont533: ; preds = %invoke.cont527 %arrayinit.element534 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 21 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp536, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i373 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont548 unwind label %lpad.i374 + %call5.i.i.i.i2.i402 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont548 unwind label %lpad.i403 -lpad.i374: ; preds = %invoke.cont533 +lpad.i403: ; preds = %invoke.cont533 %17 = landingpad { ptr, i32 } cleanup br label %ehcleanup663 invoke.cont548: ; preds = %invoke.cont533 - store ptr %call5.i.i.i.i2.i373, ptr %ref.tmp536, align 8 - %add.ptr.i1.i378 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i373, i64 2 - %_M_end_of_storage.i.i379 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp536, i64 0, i32 2 - store ptr %add.ptr.i1.i378, ptr %_M_end_of_storage.i.i379, align 8 - store i32 3, ptr %call5.i.i.i.i2.i373, align 4 - %ref.tmp540.sroa.2.0.call5.i.i.i.i2.i373.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i373, i64 4 - store i32 4, ptr %ref.tmp540.sroa.2.0.call5.i.i.i.i2.i373.sroa_idx, align 4 - %_M_finish.i.i380 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp536, i64 0, i32 1 - store ptr %add.ptr.i1.i378, ptr %_M_finish.i.i380, align 8 + store ptr %call5.i.i.i.i2.i402, ptr %ref.tmp536, align 8 + %add.ptr.i1.i407 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i402, i64 8 + %_M_end_of_storage.i.i408 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp536, i64 0, i32 2 + store ptr %add.ptr.i1.i407, ptr %_M_end_of_storage.i.i408, align 8 + store i32 3, ptr %call5.i.i.i.i2.i402, align 4 + %ref.tmp540.sroa.2.0.call5.i.i.i.i2.i402.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i402, i64 4 + store i32 4, ptr %ref.tmp540.sroa.2.0.call5.i.i.i.i2.i402.sroa_idx, align 4 + %_M_finish.i.i410 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp536, i64 0, i32 1 + store ptr %add.ptr.i1.i407, ptr %_M_finish.i.i410, align 8 %arrayinit.element549 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element549, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i383 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont559 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit539 + %call5.i.i.i.i2.i413 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont559 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit572 invoke.cont559: ; preds = %invoke.cont548 - store ptr %call5.i.i.i.i2.i383, ptr %arrayinit.element549, align 8 - %add.ptr.i1.i388 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i383, i64 2 - %_M_end_of_storage.i.i389 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i388, ptr %_M_end_of_storage.i.i389, align 8 - store i32 1, ptr %call5.i.i.i.i2.i383, align 4 - %ref.tmp551.sroa.2.0.call5.i.i.i.i2.i383.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i383, i64 4 - store i32 2, ptr %ref.tmp551.sroa.2.0.call5.i.i.i.i2.i383.sroa_idx, align 4 - %_M_finish.i.i390 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i388, ptr %_M_finish.i.i390, align 8 + store ptr %call5.i.i.i.i2.i413, ptr %arrayinit.element549, align 8 + %add.ptr.i1.i418 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i413, i64 8 + %_M_end_of_storage.i.i419 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i418, ptr %_M_end_of_storage.i.i419, align 8 + store i32 1, ptr %call5.i.i.i.i2.i413, align 4 + %ref.tmp551.sroa.2.0.call5.i.i.i.i2.i413.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i413, i64 4 + store i32 2, ptr %ref.tmp551.sroa.2.0.call5.i.i.i.i2.i413.sroa_idx, align 4 + %_M_finish.i.i421 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i418, ptr %_M_finish.i.i421, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element534, ptr nonnull %ref.tmp536, i64 2) to label %invoke.cont565 unwind label %lpad564 invoke.cont565: ; preds = %invoke.cont559 %arrayinit.element566 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 22 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp568, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i393 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont580 unwind label %lpad.i394 + %call5.i.i.i.i2.i424 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont580 unwind label %lpad.i425 -lpad.i394: ; preds = %invoke.cont565 +lpad.i425: ; preds = %invoke.cont565 %18 = landingpad { ptr, i32 } cleanup br label %ehcleanup638 invoke.cont580: ; preds = %invoke.cont565 - store ptr %call5.i.i.i.i2.i393, ptr %ref.tmp568, align 8 - %add.ptr.i1.i398 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i393, i64 2 - %_M_end_of_storage.i.i399 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp568, i64 0, i32 2 - store ptr %add.ptr.i1.i398, ptr %_M_end_of_storage.i.i399, align 8 - store i32 3, ptr %call5.i.i.i.i2.i393, align 4 - %ref.tmp572.sroa.2.0.call5.i.i.i.i2.i393.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i393, i64 4 - store i32 4, ptr %ref.tmp572.sroa.2.0.call5.i.i.i.i2.i393.sroa_idx, align 4 - %_M_finish.i.i400 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp568, i64 0, i32 1 - store ptr %add.ptr.i1.i398, ptr %_M_finish.i.i400, align 8 + store ptr %call5.i.i.i.i2.i424, ptr %ref.tmp568, align 8 + %add.ptr.i1.i429 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i424, i64 8 + %_M_end_of_storage.i.i430 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp568, i64 0, i32 2 + store ptr %add.ptr.i1.i429, ptr %_M_end_of_storage.i.i430, align 8 + store i32 3, ptr %call5.i.i.i.i2.i424, align 4 + %ref.tmp572.sroa.2.0.call5.i.i.i.i2.i424.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i424, i64 4 + store i32 4, ptr %ref.tmp572.sroa.2.0.call5.i.i.i.i2.i424.sroa_idx, align 4 + %_M_finish.i.i432 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp568, i64 0, i32 1 + store ptr %add.ptr.i1.i429, ptr %_M_finish.i.i432, align 8 %arrayinit.element581 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element581, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i403 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont591 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit529 + %call5.i.i.i.i2.i435 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont591 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit562 invoke.cont591: ; preds = %invoke.cont580 - store ptr %call5.i.i.i.i2.i403, ptr %arrayinit.element581, align 8 - %add.ptr.i1.i408 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i403, i64 2 - %_M_end_of_storage.i.i409 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i1.i408, ptr %_M_end_of_storage.i.i409, align 8 - store i32 2, ptr %call5.i.i.i.i2.i403, align 4 - %ref.tmp583.sroa.2.0.call5.i.i.i.i2.i403.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i403, i64 4 - store i32 1, ptr %ref.tmp583.sroa.2.0.call5.i.i.i.i2.i403.sroa_idx, align 4 - %_M_finish.i.i410 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i1.i408, ptr %_M_finish.i.i410, align 8 + store ptr %call5.i.i.i.i2.i435, ptr %arrayinit.element581, align 8 + %add.ptr.i1.i440 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i435, i64 8 + %_M_end_of_storage.i.i441 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i1.i440, ptr %_M_end_of_storage.i.i441, align 8 + store i32 2, ptr %call5.i.i.i.i2.i435, align 4 + %ref.tmp583.sroa.2.0.call5.i.i.i.i2.i435.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i435, i64 4 + store i32 1, ptr %ref.tmp583.sroa.2.0.call5.i.i.i.i2.i435.sroa_idx, align 4 + %_M_finish.i.i443 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 1, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i1.i440, ptr %_M_finish.i.i443, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEC2ESt16initializer_listIS6_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element566, ptr nonnull %ref.tmp568, i64 2) to label %invoke.cont597 unwind label %lpad596 invoke.cont597: ; preds = %invoke.cont591 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %call5.i.i.i.i5.i416 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + %call5.i.i.i.i5.i449 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 to label %call5.i.i.i.i5.i.noexc unwind label %lpad603 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont597 - store ptr %call5.i.i.i.i5.i416, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %call5.i.i.i.i5.i416, i64 23 - %_M_end_of_storage.i.i413 = getelementptr inbounds %"struct.std::_Vector_base>>, std::allocator>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 - store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i413, align 8 + store ptr %call5.i.i.i.i5.i449, ptr %exemplars, align 8 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i449, i64 552 + %_M_end_of_storage.i.i446 = getelementptr inbounds %"struct.std::_Vector_base>>, std::allocator>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 + store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i446, align 8 br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i, %call5.i.i.i.i5.i.noexc - %__cur.017.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i416, %call5.i.i.i.i5.i.noexc ] + %__cur.017.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i449, %call5.i.i.i.i5.i.noexc ] %__first.addr.016.i.i.i.i.i.idx.i = phi i64 [ %__first.addr.016.i.i.i.i.i.add.i, %for.inc.i.i.i.i.i.i ], [ 0, %call5.i.i.i.i5.i.noexc ] %__first.addr.016.i.i.i.i.i.ptr.i = getelementptr inbounds i8, ptr %ref.tmp, i64 %__first.addr.016.i.i.i.i.i.idx.i %_M_finish.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %__first.addr.016.i.i.i.i.i.ptr.i, i64 0, i32 1 @@ -199327,7 +199329,7 @@ lpad.body.i.i.i.i.i.i: ; preds = %lpad.loopexit.split %eh.lpad-body.i.i.i.i.i.i = phi { ptr, i32 } [ %21, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %21, %lpad10.i.i.i.i.i.i.i.i.i.i.i ], [ %lpad.loopexit8.i.i.i.i.i.i, %lpad.loopexit.i.i.i.i.i.i ], [ %lpad.loopexit.split-lp9.i.i.i.i.i.i, %lpad.loopexit.split-lp.i.i.i.i.i.i ] %23 = extractvalue { ptr, i32 } %eh.lpad-body.i.i.i.i.i.i, 0 %24 = call ptr @__cxa_begin_catch(ptr %23) #28 - call fastcc void @_ZSt8_DestroyIPN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvT_SB_(ptr noundef nonnull %call5.i.i.i.i5.i416, ptr noundef nonnull %__cur.017.i.i.i.i.i.i) + call fastcc void @_ZSt8_DestroyIPN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvT_SB_(ptr noundef nonnull %call5.i.i.i.i5.i449, ptr noundef nonnull %__cur.017.i.i.i.i.i.i) invoke void @__cxa_rethrow() #30 to label %unreachable.i.i.i.i.i.i unwind label %lpad2.i.i.i.i.i.i @@ -199349,16 +199351,16 @@ unreachable.i.i.i.i.i.i: ; preds = %lpad.body.i.i.i.i.i lpad.body.i: ; preds = %lpad2.i.i.i.i.i.i %this.val.pre.i = load ptr, ptr %exemplars, align 8 - %tobool.not.i.i.i414 = icmp eq ptr %this.val.pre.i, null - br i1 %tobool.not.i.i.i414, label %lpad603.body, label %if.then.i.i6.i + %tobool.not.i.i.i447 = icmp eq ptr %this.val.pre.i, null + br i1 %tobool.not.i.i.i447, label %lpad603.body, label %if.then.i.i6.i if.then.i.i6.i: ; preds = %lpad.body.i call void @_ZdlPv(ptr noundef nonnull %this.val.pre.i) #31 br label %lpad603.body invoke.cont604: ; preds = %for.inc.i.i.i.i.i.i - %_M_finish.i.i415 = getelementptr inbounds %"struct.std::_Vector_base>>, std::allocator>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 1 - store ptr %incdec.ptr1.i.i.i.i.i.i, ptr %_M_finish.i.i415, align 8 + %_M_finish.i.i448 = getelementptr inbounds %"struct.std::_Vector_base>>, std::allocator>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 1 + store ptr %incdec.ptr1.i.i.i.i.i.i, ptr %_M_finish.i.i448, align 8 %28 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 23 br label %arraydestroy.body @@ -199411,8 +199413,8 @@ arraydestroy.body613: ; preds = %_ZNSt6vectorIiSaIiE %arraydestroy.elementPast614 = phi ptr [ %33, %arraydestroy.done605 ], [ %arraydestroy.element615, %_ZNSt6vectorIiSaIiEED2Ev.exit ] %arraydestroy.element615 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast614, i64 -1 %34 = load ptr, ptr %arraydestroy.element615, align 8 - %tobool.not.i.i.i418 = icmp eq ptr %34, null - br i1 %tobool.not.i.i.i418, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i451 = icmp eq ptr %34, null + br i1 %tobool.not.i.i.i451, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i if.then.i.i.i: ; preds = %arraydestroy.body613 call void @_ZdlPv(ptr noundef nonnull %34) #31 @@ -199426,389 +199428,389 @@ arraydestroy.done617: ; preds = %_ZNSt6vectorIiSaIiE %35 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 2 br label %arraydestroy.body633 -arraydestroy.body633: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit423, %arraydestroy.done617 - %arraydestroy.elementPast634 = phi ptr [ %35, %arraydestroy.done617 ], [ %arraydestroy.element635, %_ZNSt6vectorIiSaIiEED2Ev.exit423 ] +arraydestroy.body633: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit456, %arraydestroy.done617 + %arraydestroy.elementPast634 = phi ptr [ %35, %arraydestroy.done617 ], [ %arraydestroy.element635, %_ZNSt6vectorIiSaIiEED2Ev.exit456 ] %arraydestroy.element635 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast634, i64 -1 %36 = load ptr, ptr %arraydestroy.element635, align 8 - %tobool.not.i.i.i420 = icmp eq ptr %36, null - br i1 %tobool.not.i.i.i420, label %_ZNSt6vectorIiSaIiEED2Ev.exit423, label %if.then.i.i.i421 + %tobool.not.i.i.i453 = icmp eq ptr %36, null + br i1 %tobool.not.i.i.i453, label %_ZNSt6vectorIiSaIiEED2Ev.exit456, label %if.then.i.i.i454 -if.then.i.i.i421: ; preds = %arraydestroy.body633 +if.then.i.i.i454: ; preds = %arraydestroy.body633 call void @_ZdlPv(ptr noundef nonnull %36) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit423 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit456 -_ZNSt6vectorIiSaIiEED2Ev.exit423: ; preds = %arraydestroy.body633, %if.then.i.i.i421 +_ZNSt6vectorIiSaIiEED2Ev.exit456: ; preds = %arraydestroy.body633, %if.then.i.i.i454 %arraydestroy.done636 = icmp eq ptr %arraydestroy.element635, %ref.tmp536 br i1 %arraydestroy.done636, label %arraydestroy.done637, label %arraydestroy.body633 -arraydestroy.done637: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit423 +arraydestroy.done637: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit456 %37 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 2 br label %arraydestroy.body658 -arraydestroy.body658: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit427, %arraydestroy.done637 - %arraydestroy.elementPast659 = phi ptr [ %37, %arraydestroy.done637 ], [ %arraydestroy.element660, %_ZNSt6vectorIiSaIiEED2Ev.exit427 ] +arraydestroy.body658: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit460, %arraydestroy.done637 + %arraydestroy.elementPast659 = phi ptr [ %37, %arraydestroy.done637 ], [ %arraydestroy.element660, %_ZNSt6vectorIiSaIiEED2Ev.exit460 ] %arraydestroy.element660 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast659, i64 -1 %38 = load ptr, ptr %arraydestroy.element660, align 8 - %tobool.not.i.i.i424 = icmp eq ptr %38, null - br i1 %tobool.not.i.i.i424, label %_ZNSt6vectorIiSaIiEED2Ev.exit427, label %if.then.i.i.i425 + %tobool.not.i.i.i457 = icmp eq ptr %38, null + br i1 %tobool.not.i.i.i457, label %_ZNSt6vectorIiSaIiEED2Ev.exit460, label %if.then.i.i.i458 -if.then.i.i.i425: ; preds = %arraydestroy.body658 +if.then.i.i.i458: ; preds = %arraydestroy.body658 call void @_ZdlPv(ptr noundef nonnull %38) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit427 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit460 -_ZNSt6vectorIiSaIiEED2Ev.exit427: ; preds = %arraydestroy.body658, %if.then.i.i.i425 +_ZNSt6vectorIiSaIiEED2Ev.exit460: ; preds = %arraydestroy.body658, %if.then.i.i.i458 %arraydestroy.done661 = icmp eq ptr %arraydestroy.element660, %ref.tmp504 br i1 %arraydestroy.done661, label %arraydestroy.done662, label %arraydestroy.body658 -arraydestroy.done662: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit427 +arraydestroy.done662: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit460 %39 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 2 br label %arraydestroy.body683 -arraydestroy.body683: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit431, %arraydestroy.done662 - %arraydestroy.elementPast684 = phi ptr [ %39, %arraydestroy.done662 ], [ %arraydestroy.element685, %_ZNSt6vectorIiSaIiEED2Ev.exit431 ] +arraydestroy.body683: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit464, %arraydestroy.done662 + %arraydestroy.elementPast684 = phi ptr [ %39, %arraydestroy.done662 ], [ %arraydestroy.element685, %_ZNSt6vectorIiSaIiEED2Ev.exit464 ] %arraydestroy.element685 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast684, i64 -1 %40 = load ptr, ptr %arraydestroy.element685, align 8 - %tobool.not.i.i.i428 = icmp eq ptr %40, null - br i1 %tobool.not.i.i.i428, label %_ZNSt6vectorIiSaIiEED2Ev.exit431, label %if.then.i.i.i429 + %tobool.not.i.i.i461 = icmp eq ptr %40, null + br i1 %tobool.not.i.i.i461, label %_ZNSt6vectorIiSaIiEED2Ev.exit464, label %if.then.i.i.i462 -if.then.i.i.i429: ; preds = %arraydestroy.body683 +if.then.i.i.i462: ; preds = %arraydestroy.body683 call void @_ZdlPv(ptr noundef nonnull %40) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit431 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit464 -_ZNSt6vectorIiSaIiEED2Ev.exit431: ; preds = %arraydestroy.body683, %if.then.i.i.i429 +_ZNSt6vectorIiSaIiEED2Ev.exit464: ; preds = %arraydestroy.body683, %if.then.i.i.i462 %arraydestroy.done686 = icmp eq ptr %arraydestroy.element685, %ref.tmp472 br i1 %arraydestroy.done686, label %arraydestroy.done687, label %arraydestroy.body683 -arraydestroy.done687: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit431 +arraydestroy.done687: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit464 %41 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 2 br label %arraydestroy.body708 -arraydestroy.body708: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit435, %arraydestroy.done687 - %arraydestroy.elementPast709 = phi ptr [ %41, %arraydestroy.done687 ], [ %arraydestroy.element710, %_ZNSt6vectorIiSaIiEED2Ev.exit435 ] +arraydestroy.body708: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit468, %arraydestroy.done687 + %arraydestroy.elementPast709 = phi ptr [ %41, %arraydestroy.done687 ], [ %arraydestroy.element710, %_ZNSt6vectorIiSaIiEED2Ev.exit468 ] %arraydestroy.element710 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast709, i64 -1 %42 = load ptr, ptr %arraydestroy.element710, align 8 - %tobool.not.i.i.i432 = icmp eq ptr %42, null - br i1 %tobool.not.i.i.i432, label %_ZNSt6vectorIiSaIiEED2Ev.exit435, label %if.then.i.i.i433 + %tobool.not.i.i.i465 = icmp eq ptr %42, null + br i1 %tobool.not.i.i.i465, label %_ZNSt6vectorIiSaIiEED2Ev.exit468, label %if.then.i.i.i466 -if.then.i.i.i433: ; preds = %arraydestroy.body708 +if.then.i.i.i466: ; preds = %arraydestroy.body708 call void @_ZdlPv(ptr noundef nonnull %42) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit435 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit468 -_ZNSt6vectorIiSaIiEED2Ev.exit435: ; preds = %arraydestroy.body708, %if.then.i.i.i433 +_ZNSt6vectorIiSaIiEED2Ev.exit468: ; preds = %arraydestroy.body708, %if.then.i.i.i466 %arraydestroy.done711 = icmp eq ptr %arraydestroy.element710, %ref.tmp440 br i1 %arraydestroy.done711, label %arraydestroy.done712, label %arraydestroy.body708 -arraydestroy.done712: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit435 +arraydestroy.done712: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit468 %43 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 2 br label %arraydestroy.body733 -arraydestroy.body733: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit439, %arraydestroy.done712 - %arraydestroy.elementPast734 = phi ptr [ %43, %arraydestroy.done712 ], [ %arraydestroy.element735, %_ZNSt6vectorIiSaIiEED2Ev.exit439 ] +arraydestroy.body733: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit472, %arraydestroy.done712 + %arraydestroy.elementPast734 = phi ptr [ %43, %arraydestroy.done712 ], [ %arraydestroy.element735, %_ZNSt6vectorIiSaIiEED2Ev.exit472 ] %arraydestroy.element735 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast734, i64 -1 %44 = load ptr, ptr %arraydestroy.element735, align 8 - %tobool.not.i.i.i436 = icmp eq ptr %44, null - br i1 %tobool.not.i.i.i436, label %_ZNSt6vectorIiSaIiEED2Ev.exit439, label %if.then.i.i.i437 + %tobool.not.i.i.i469 = icmp eq ptr %44, null + br i1 %tobool.not.i.i.i469, label %_ZNSt6vectorIiSaIiEED2Ev.exit472, label %if.then.i.i.i470 -if.then.i.i.i437: ; preds = %arraydestroy.body733 +if.then.i.i.i470: ; preds = %arraydestroy.body733 call void @_ZdlPv(ptr noundef nonnull %44) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit439 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit472 -_ZNSt6vectorIiSaIiEED2Ev.exit439: ; preds = %arraydestroy.body733, %if.then.i.i.i437 +_ZNSt6vectorIiSaIiEED2Ev.exit472: ; preds = %arraydestroy.body733, %if.then.i.i.i470 %arraydestroy.done736 = icmp eq ptr %arraydestroy.element735, %ref.tmp408 br i1 %arraydestroy.done736, label %arraydestroy.done737, label %arraydestroy.body733 -arraydestroy.done737: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit439 +arraydestroy.done737: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit472 %45 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 2 br label %arraydestroy.body758 -arraydestroy.body758: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit443, %arraydestroy.done737 - %arraydestroy.elementPast759 = phi ptr [ %45, %arraydestroy.done737 ], [ %arraydestroy.element760, %_ZNSt6vectorIiSaIiEED2Ev.exit443 ] +arraydestroy.body758: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit476, %arraydestroy.done737 + %arraydestroy.elementPast759 = phi ptr [ %45, %arraydestroy.done737 ], [ %arraydestroy.element760, %_ZNSt6vectorIiSaIiEED2Ev.exit476 ] %arraydestroy.element760 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast759, i64 -1 %46 = load ptr, ptr %arraydestroy.element760, align 8 - %tobool.not.i.i.i440 = icmp eq ptr %46, null - br i1 %tobool.not.i.i.i440, label %_ZNSt6vectorIiSaIiEED2Ev.exit443, label %if.then.i.i.i441 + %tobool.not.i.i.i473 = icmp eq ptr %46, null + br i1 %tobool.not.i.i.i473, label %_ZNSt6vectorIiSaIiEED2Ev.exit476, label %if.then.i.i.i474 -if.then.i.i.i441: ; preds = %arraydestroy.body758 +if.then.i.i.i474: ; preds = %arraydestroy.body758 call void @_ZdlPv(ptr noundef nonnull %46) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit443 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit476 -_ZNSt6vectorIiSaIiEED2Ev.exit443: ; preds = %arraydestroy.body758, %if.then.i.i.i441 +_ZNSt6vectorIiSaIiEED2Ev.exit476: ; preds = %arraydestroy.body758, %if.then.i.i.i474 %arraydestroy.done761 = icmp eq ptr %arraydestroy.element760, %ref.tmp376 br i1 %arraydestroy.done761, label %arraydestroy.done762, label %arraydestroy.body758 -arraydestroy.done762: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit443 +arraydestroy.done762: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit476 %47 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 2 br label %arraydestroy.body783 -arraydestroy.body783: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit447, %arraydestroy.done762 - %arraydestroy.elementPast784 = phi ptr [ %47, %arraydestroy.done762 ], [ %arraydestroy.element785, %_ZNSt6vectorIiSaIiEED2Ev.exit447 ] +arraydestroy.body783: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit480, %arraydestroy.done762 + %arraydestroy.elementPast784 = phi ptr [ %47, %arraydestroy.done762 ], [ %arraydestroy.element785, %_ZNSt6vectorIiSaIiEED2Ev.exit480 ] %arraydestroy.element785 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast784, i64 -1 %48 = load ptr, ptr %arraydestroy.element785, align 8 - %tobool.not.i.i.i444 = icmp eq ptr %48, null - br i1 %tobool.not.i.i.i444, label %_ZNSt6vectorIiSaIiEED2Ev.exit447, label %if.then.i.i.i445 + %tobool.not.i.i.i477 = icmp eq ptr %48, null + br i1 %tobool.not.i.i.i477, label %_ZNSt6vectorIiSaIiEED2Ev.exit480, label %if.then.i.i.i478 -if.then.i.i.i445: ; preds = %arraydestroy.body783 +if.then.i.i.i478: ; preds = %arraydestroy.body783 call void @_ZdlPv(ptr noundef nonnull %48) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit447 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit480 -_ZNSt6vectorIiSaIiEED2Ev.exit447: ; preds = %arraydestroy.body783, %if.then.i.i.i445 +_ZNSt6vectorIiSaIiEED2Ev.exit480: ; preds = %arraydestroy.body783, %if.then.i.i.i478 %arraydestroy.done786 = icmp eq ptr %arraydestroy.element785, %ref.tmp344 br i1 %arraydestroy.done786, label %arraydestroy.done787, label %arraydestroy.body783 -arraydestroy.done787: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit447 +arraydestroy.done787: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit480 %49 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 2 br label %arraydestroy.body808 -arraydestroy.body808: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit451, %arraydestroy.done787 - %arraydestroy.elementPast809 = phi ptr [ %49, %arraydestroy.done787 ], [ %arraydestroy.element810, %_ZNSt6vectorIiSaIiEED2Ev.exit451 ] +arraydestroy.body808: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit484, %arraydestroy.done787 + %arraydestroy.elementPast809 = phi ptr [ %49, %arraydestroy.done787 ], [ %arraydestroy.element810, %_ZNSt6vectorIiSaIiEED2Ev.exit484 ] %arraydestroy.element810 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast809, i64 -1 %50 = load ptr, ptr %arraydestroy.element810, align 8 - %tobool.not.i.i.i448 = icmp eq ptr %50, null - br i1 %tobool.not.i.i.i448, label %_ZNSt6vectorIiSaIiEED2Ev.exit451, label %if.then.i.i.i449 + %tobool.not.i.i.i481 = icmp eq ptr %50, null + br i1 %tobool.not.i.i.i481, label %_ZNSt6vectorIiSaIiEED2Ev.exit484, label %if.then.i.i.i482 -if.then.i.i.i449: ; preds = %arraydestroy.body808 +if.then.i.i.i482: ; preds = %arraydestroy.body808 call void @_ZdlPv(ptr noundef nonnull %50) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit451 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit484 -_ZNSt6vectorIiSaIiEED2Ev.exit451: ; preds = %arraydestroy.body808, %if.then.i.i.i449 +_ZNSt6vectorIiSaIiEED2Ev.exit484: ; preds = %arraydestroy.body808, %if.then.i.i.i482 %arraydestroy.done811 = icmp eq ptr %arraydestroy.element810, %ref.tmp312 br i1 %arraydestroy.done811, label %arraydestroy.done812, label %arraydestroy.body808 -arraydestroy.done812: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit451 +arraydestroy.done812: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit484 %51 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 2 br label %arraydestroy.body833 -arraydestroy.body833: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit455, %arraydestroy.done812 - %arraydestroy.elementPast834 = phi ptr [ %51, %arraydestroy.done812 ], [ %arraydestroy.element835, %_ZNSt6vectorIiSaIiEED2Ev.exit455 ] +arraydestroy.body833: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit488, %arraydestroy.done812 + %arraydestroy.elementPast834 = phi ptr [ %51, %arraydestroy.done812 ], [ %arraydestroy.element835, %_ZNSt6vectorIiSaIiEED2Ev.exit488 ] %arraydestroy.element835 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast834, i64 -1 %52 = load ptr, ptr %arraydestroy.element835, align 8 - %tobool.not.i.i.i452 = icmp eq ptr %52, null - br i1 %tobool.not.i.i.i452, label %_ZNSt6vectorIiSaIiEED2Ev.exit455, label %if.then.i.i.i453 + %tobool.not.i.i.i485 = icmp eq ptr %52, null + br i1 %tobool.not.i.i.i485, label %_ZNSt6vectorIiSaIiEED2Ev.exit488, label %if.then.i.i.i486 -if.then.i.i.i453: ; preds = %arraydestroy.body833 +if.then.i.i.i486: ; preds = %arraydestroy.body833 call void @_ZdlPv(ptr noundef nonnull %52) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit455 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit488 -_ZNSt6vectorIiSaIiEED2Ev.exit455: ; preds = %arraydestroy.body833, %if.then.i.i.i453 +_ZNSt6vectorIiSaIiEED2Ev.exit488: ; preds = %arraydestroy.body833, %if.then.i.i.i486 %arraydestroy.done836 = icmp eq ptr %arraydestroy.element835, %ref.tmp280 br i1 %arraydestroy.done836, label %arraydestroy.done837, label %arraydestroy.body833 -arraydestroy.done837: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit455 +arraydestroy.done837: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit488 %53 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 2 br label %arraydestroy.body858 -arraydestroy.body858: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit459, %arraydestroy.done837 - %arraydestroy.elementPast859 = phi ptr [ %53, %arraydestroy.done837 ], [ %arraydestroy.element860, %_ZNSt6vectorIiSaIiEED2Ev.exit459 ] +arraydestroy.body858: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit492, %arraydestroy.done837 + %arraydestroy.elementPast859 = phi ptr [ %53, %arraydestroy.done837 ], [ %arraydestroy.element860, %_ZNSt6vectorIiSaIiEED2Ev.exit492 ] %arraydestroy.element860 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast859, i64 -1 %54 = load ptr, ptr %arraydestroy.element860, align 8 - %tobool.not.i.i.i456 = icmp eq ptr %54, null - br i1 %tobool.not.i.i.i456, label %_ZNSt6vectorIiSaIiEED2Ev.exit459, label %if.then.i.i.i457 + %tobool.not.i.i.i489 = icmp eq ptr %54, null + br i1 %tobool.not.i.i.i489, label %_ZNSt6vectorIiSaIiEED2Ev.exit492, label %if.then.i.i.i490 -if.then.i.i.i457: ; preds = %arraydestroy.body858 +if.then.i.i.i490: ; preds = %arraydestroy.body858 call void @_ZdlPv(ptr noundef nonnull %54) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit459 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit492 -_ZNSt6vectorIiSaIiEED2Ev.exit459: ; preds = %arraydestroy.body858, %if.then.i.i.i457 +_ZNSt6vectorIiSaIiEED2Ev.exit492: ; preds = %arraydestroy.body858, %if.then.i.i.i490 %arraydestroy.done861 = icmp eq ptr %arraydestroy.element860, %ref.tmp248 br i1 %arraydestroy.done861, label %arraydestroy.done862, label %arraydestroy.body858 -arraydestroy.done862: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit459 +arraydestroy.done862: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit492 %55 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 2 br label %arraydestroy.body883 -arraydestroy.body883: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit463, %arraydestroy.done862 - %arraydestroy.elementPast884 = phi ptr [ %55, %arraydestroy.done862 ], [ %arraydestroy.element885, %_ZNSt6vectorIiSaIiEED2Ev.exit463 ] +arraydestroy.body883: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit496, %arraydestroy.done862 + %arraydestroy.elementPast884 = phi ptr [ %55, %arraydestroy.done862 ], [ %arraydestroy.element885, %_ZNSt6vectorIiSaIiEED2Ev.exit496 ] %arraydestroy.element885 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast884, i64 -1 %56 = load ptr, ptr %arraydestroy.element885, align 8 - %tobool.not.i.i.i460 = icmp eq ptr %56, null - br i1 %tobool.not.i.i.i460, label %_ZNSt6vectorIiSaIiEED2Ev.exit463, label %if.then.i.i.i461 + %tobool.not.i.i.i493 = icmp eq ptr %56, null + br i1 %tobool.not.i.i.i493, label %_ZNSt6vectorIiSaIiEED2Ev.exit496, label %if.then.i.i.i494 -if.then.i.i.i461: ; preds = %arraydestroy.body883 +if.then.i.i.i494: ; preds = %arraydestroy.body883 call void @_ZdlPv(ptr noundef nonnull %56) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit463 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit496 -_ZNSt6vectorIiSaIiEED2Ev.exit463: ; preds = %arraydestroy.body883, %if.then.i.i.i461 +_ZNSt6vectorIiSaIiEED2Ev.exit496: ; preds = %arraydestroy.body883, %if.then.i.i.i494 %arraydestroy.done886 = icmp eq ptr %arraydestroy.element885, %ref.tmp216 br i1 %arraydestroy.done886, label %arraydestroy.done887, label %arraydestroy.body883 -arraydestroy.done887: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit463 +arraydestroy.done887: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit496 %57 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp194, i64 2 br label %arraydestroy.body908 -arraydestroy.body908: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit467, %arraydestroy.done887 - %arraydestroy.elementPast909 = phi ptr [ %57, %arraydestroy.done887 ], [ %arraydestroy.element910, %_ZNSt6vectorIiSaIiEED2Ev.exit467 ] +arraydestroy.body908: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit500, %arraydestroy.done887 + %arraydestroy.elementPast909 = phi ptr [ %57, %arraydestroy.done887 ], [ %arraydestroy.element910, %_ZNSt6vectorIiSaIiEED2Ev.exit500 ] %arraydestroy.element910 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast909, i64 -1 %58 = load ptr, ptr %arraydestroy.element910, align 8 - %tobool.not.i.i.i464 = icmp eq ptr %58, null - br i1 %tobool.not.i.i.i464, label %_ZNSt6vectorIiSaIiEED2Ev.exit467, label %if.then.i.i.i465 + %tobool.not.i.i.i497 = icmp eq ptr %58, null + br i1 %tobool.not.i.i.i497, label %_ZNSt6vectorIiSaIiEED2Ev.exit500, label %if.then.i.i.i498 -if.then.i.i.i465: ; preds = %arraydestroy.body908 +if.then.i.i.i498: ; preds = %arraydestroy.body908 call void @_ZdlPv(ptr noundef nonnull %58) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit467 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit500 -_ZNSt6vectorIiSaIiEED2Ev.exit467: ; preds = %arraydestroy.body908, %if.then.i.i.i465 +_ZNSt6vectorIiSaIiEED2Ev.exit500: ; preds = %arraydestroy.body908, %if.then.i.i.i498 %arraydestroy.done911 = icmp eq ptr %arraydestroy.element910, %ref.tmp194 br i1 %arraydestroy.done911, label %arraydestroy.done912, label %arraydestroy.body908 -arraydestroy.done912: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit467 +arraydestroy.done912: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit500 %59 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp172, i64 2 br label %arraydestroy.body932 -arraydestroy.body932: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit471, %arraydestroy.done912 - %arraydestroy.elementPast933 = phi ptr [ %59, %arraydestroy.done912 ], [ %arraydestroy.element934, %_ZNSt6vectorIiSaIiEED2Ev.exit471 ] +arraydestroy.body932: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit504, %arraydestroy.done912 + %arraydestroy.elementPast933 = phi ptr [ %59, %arraydestroy.done912 ], [ %arraydestroy.element934, %_ZNSt6vectorIiSaIiEED2Ev.exit504 ] %arraydestroy.element934 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast933, i64 -1 %60 = load ptr, ptr %arraydestroy.element934, align 8 - %tobool.not.i.i.i468 = icmp eq ptr %60, null - br i1 %tobool.not.i.i.i468, label %_ZNSt6vectorIiSaIiEED2Ev.exit471, label %if.then.i.i.i469 + %tobool.not.i.i.i501 = icmp eq ptr %60, null + br i1 %tobool.not.i.i.i501, label %_ZNSt6vectorIiSaIiEED2Ev.exit504, label %if.then.i.i.i502 -if.then.i.i.i469: ; preds = %arraydestroy.body932 +if.then.i.i.i502: ; preds = %arraydestroy.body932 call void @_ZdlPv(ptr noundef nonnull %60) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit471 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit504 -_ZNSt6vectorIiSaIiEED2Ev.exit471: ; preds = %arraydestroy.body932, %if.then.i.i.i469 +_ZNSt6vectorIiSaIiEED2Ev.exit504: ; preds = %arraydestroy.body932, %if.then.i.i.i502 %arraydestroy.done935 = icmp eq ptr %arraydestroy.element934, %ref.tmp172 br i1 %arraydestroy.done935, label %arraydestroy.done936, label %arraydestroy.body932 -arraydestroy.done936: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit471 +arraydestroy.done936: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit504 %61 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 2 br label %arraydestroy.body956 -arraydestroy.body956: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit475, %arraydestroy.done936 - %arraydestroy.elementPast957 = phi ptr [ %61, %arraydestroy.done936 ], [ %arraydestroy.element958, %_ZNSt6vectorIiSaIiEED2Ev.exit475 ] +arraydestroy.body956: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit508, %arraydestroy.done936 + %arraydestroy.elementPast957 = phi ptr [ %61, %arraydestroy.done936 ], [ %arraydestroy.element958, %_ZNSt6vectorIiSaIiEED2Ev.exit508 ] %arraydestroy.element958 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast957, i64 -1 %62 = load ptr, ptr %arraydestroy.element958, align 8 - %tobool.not.i.i.i472 = icmp eq ptr %62, null - br i1 %tobool.not.i.i.i472, label %_ZNSt6vectorIiSaIiEED2Ev.exit475, label %if.then.i.i.i473 + %tobool.not.i.i.i505 = icmp eq ptr %62, null + br i1 %tobool.not.i.i.i505, label %_ZNSt6vectorIiSaIiEED2Ev.exit508, label %if.then.i.i.i506 -if.then.i.i.i473: ; preds = %arraydestroy.body956 +if.then.i.i.i506: ; preds = %arraydestroy.body956 call void @_ZdlPv(ptr noundef nonnull %62) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit475 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit508 -_ZNSt6vectorIiSaIiEED2Ev.exit475: ; preds = %arraydestroy.body956, %if.then.i.i.i473 +_ZNSt6vectorIiSaIiEED2Ev.exit508: ; preds = %arraydestroy.body956, %if.then.i.i.i506 %arraydestroy.done959 = icmp eq ptr %arraydestroy.element958, %ref.tmp150 br i1 %arraydestroy.done959, label %arraydestroy.done960, label %arraydestroy.body956 -arraydestroy.done960: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit475 +arraydestroy.done960: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit508 %63 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 2 br label %arraydestroy.body980 -arraydestroy.body980: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit479, %arraydestroy.done960 - %arraydestroy.elementPast981 = phi ptr [ %63, %arraydestroy.done960 ], [ %arraydestroy.element982, %_ZNSt6vectorIiSaIiEED2Ev.exit479 ] +arraydestroy.body980: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit512, %arraydestroy.done960 + %arraydestroy.elementPast981 = phi ptr [ %63, %arraydestroy.done960 ], [ %arraydestroy.element982, %_ZNSt6vectorIiSaIiEED2Ev.exit512 ] %arraydestroy.element982 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast981, i64 -1 %64 = load ptr, ptr %arraydestroy.element982, align 8 - %tobool.not.i.i.i476 = icmp eq ptr %64, null - br i1 %tobool.not.i.i.i476, label %_ZNSt6vectorIiSaIiEED2Ev.exit479, label %if.then.i.i.i477 + %tobool.not.i.i.i509 = icmp eq ptr %64, null + br i1 %tobool.not.i.i.i509, label %_ZNSt6vectorIiSaIiEED2Ev.exit512, label %if.then.i.i.i510 -if.then.i.i.i477: ; preds = %arraydestroy.body980 +if.then.i.i.i510: ; preds = %arraydestroy.body980 call void @_ZdlPv(ptr noundef nonnull %64) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit479 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit512 -_ZNSt6vectorIiSaIiEED2Ev.exit479: ; preds = %arraydestroy.body980, %if.then.i.i.i477 +_ZNSt6vectorIiSaIiEED2Ev.exit512: ; preds = %arraydestroy.body980, %if.then.i.i.i510 %arraydestroy.done983 = icmp eq ptr %arraydestroy.element982, %ref.tmp128 br i1 %arraydestroy.done983, label %arraydestroy.done984, label %arraydestroy.body980 -arraydestroy.done984: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit479 +arraydestroy.done984: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit512 %65 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 3 br label %arraydestroy.body1004 -arraydestroy.body1004: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit483, %arraydestroy.done984 - %arraydestroy.elementPast1005 = phi ptr [ %65, %arraydestroy.done984 ], [ %arraydestroy.element1006, %_ZNSt6vectorIiSaIiEED2Ev.exit483 ] +arraydestroy.body1004: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit516, %arraydestroy.done984 + %arraydestroy.elementPast1005 = phi ptr [ %65, %arraydestroy.done984 ], [ %arraydestroy.element1006, %_ZNSt6vectorIiSaIiEED2Ev.exit516 ] %arraydestroy.element1006 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1005, i64 -1 %66 = load ptr, ptr %arraydestroy.element1006, align 8 - %tobool.not.i.i.i480 = icmp eq ptr %66, null - br i1 %tobool.not.i.i.i480, label %_ZNSt6vectorIiSaIiEED2Ev.exit483, label %if.then.i.i.i481 + %tobool.not.i.i.i513 = icmp eq ptr %66, null + br i1 %tobool.not.i.i.i513, label %_ZNSt6vectorIiSaIiEED2Ev.exit516, label %if.then.i.i.i514 -if.then.i.i.i481: ; preds = %arraydestroy.body1004 +if.then.i.i.i514: ; preds = %arraydestroy.body1004 call void @_ZdlPv(ptr noundef nonnull %66) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit483 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit516 -_ZNSt6vectorIiSaIiEED2Ev.exit483: ; preds = %arraydestroy.body1004, %if.then.i.i.i481 +_ZNSt6vectorIiSaIiEED2Ev.exit516: ; preds = %arraydestroy.body1004, %if.then.i.i.i514 %arraydestroy.done1007 = icmp eq ptr %arraydestroy.element1006, %ref.tmp82 br i1 %arraydestroy.done1007, label %arraydestroy.done1008, label %arraydestroy.body1004 -arraydestroy.done1008: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit483 +arraydestroy.done1008: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit516 %67 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 2 br label %arraydestroy.body1030 -arraydestroy.body1030: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit487, %arraydestroy.done1008 - %arraydestroy.elementPast1031 = phi ptr [ %67, %arraydestroy.done1008 ], [ %arraydestroy.element1032, %_ZNSt6vectorIiSaIiEED2Ev.exit487 ] +arraydestroy.body1030: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit520, %arraydestroy.done1008 + %arraydestroy.elementPast1031 = phi ptr [ %67, %arraydestroy.done1008 ], [ %arraydestroy.element1032, %_ZNSt6vectorIiSaIiEED2Ev.exit520 ] %arraydestroy.element1032 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1031, i64 -1 %68 = load ptr, ptr %arraydestroy.element1032, align 8 - %tobool.not.i.i.i484 = icmp eq ptr %68, null - br i1 %tobool.not.i.i.i484, label %_ZNSt6vectorIiSaIiEED2Ev.exit487, label %if.then.i.i.i485 + %tobool.not.i.i.i517 = icmp eq ptr %68, null + br i1 %tobool.not.i.i.i517, label %_ZNSt6vectorIiSaIiEED2Ev.exit520, label %if.then.i.i.i518 -if.then.i.i.i485: ; preds = %arraydestroy.body1030 +if.then.i.i.i518: ; preds = %arraydestroy.body1030 call void @_ZdlPv(ptr noundef nonnull %68) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit487 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit520 -_ZNSt6vectorIiSaIiEED2Ev.exit487: ; preds = %arraydestroy.body1030, %if.then.i.i.i485 +_ZNSt6vectorIiSaIiEED2Ev.exit520: ; preds = %arraydestroy.body1030, %if.then.i.i.i518 %arraydestroy.done1033 = icmp eq ptr %arraydestroy.element1032, %ref.tmp50 br i1 %arraydestroy.done1033, label %arraydestroy.done1034, label %arraydestroy.body1030 -arraydestroy.done1034: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit487 +arraydestroy.done1034: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit520 %69 = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i488 = icmp eq ptr %69, null - br i1 %tobool.not.i.i.i488, label %_ZNSt6vectorIiSaIiEED2Ev.exit491, label %if.then.i.i.i489 + %tobool.not.i.i.i521 = icmp eq ptr %69, null + br i1 %tobool.not.i.i.i521, label %_ZNSt6vectorIiSaIiEED2Ev.exit524, label %if.then.i.i.i522 -if.then.i.i.i489: ; preds = %arraydestroy.done1034 +if.then.i.i.i522: ; preds = %arraydestroy.done1034 call void @_ZdlPv(ptr noundef nonnull %69) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit491 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit524 -_ZNSt6vectorIiSaIiEED2Ev.exit491: ; preds = %arraydestroy.done1034, %if.then.i.i.i489 +_ZNSt6vectorIiSaIiEED2Ev.exit524: ; preds = %arraydestroy.done1034, %if.then.i.i.i522 %70 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp19, i64 3 br label %arraydestroy.body1079 -arraydestroy.body1079: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit495, %_ZNSt6vectorIiSaIiEED2Ev.exit491 - %arraydestroy.elementPast1080 = phi ptr [ %70, %_ZNSt6vectorIiSaIiEED2Ev.exit491 ], [ %arraydestroy.element1081, %_ZNSt6vectorIiSaIiEED2Ev.exit495 ] +arraydestroy.body1079: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit528, %_ZNSt6vectorIiSaIiEED2Ev.exit524 + %arraydestroy.elementPast1080 = phi ptr [ %70, %_ZNSt6vectorIiSaIiEED2Ev.exit524 ], [ %arraydestroy.element1081, %_ZNSt6vectorIiSaIiEED2Ev.exit528 ] %arraydestroy.element1081 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1080, i64 -1 %71 = load ptr, ptr %arraydestroy.element1081, align 8 - %tobool.not.i.i.i492 = icmp eq ptr %71, null - br i1 %tobool.not.i.i.i492, label %_ZNSt6vectorIiSaIiEED2Ev.exit495, label %if.then.i.i.i493 + %tobool.not.i.i.i525 = icmp eq ptr %71, null + br i1 %tobool.not.i.i.i525, label %_ZNSt6vectorIiSaIiEED2Ev.exit528, label %if.then.i.i.i526 -if.then.i.i.i493: ; preds = %arraydestroy.body1079 +if.then.i.i.i526: ; preds = %arraydestroy.body1079 call void @_ZdlPv(ptr noundef nonnull %71) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit495 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit528 -_ZNSt6vectorIiSaIiEED2Ev.exit495: ; preds = %arraydestroy.body1079, %if.then.i.i.i493 +_ZNSt6vectorIiSaIiEED2Ev.exit528: ; preds = %arraydestroy.body1079, %if.then.i.i.i526 %arraydestroy.done1082 = icmp eq ptr %arraydestroy.element1081, %ref.tmp19 br i1 %arraydestroy.done1082, label %arraydestroy.done1083, label %arraydestroy.body1079 -arraydestroy.done1083: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit495 +arraydestroy.done1083: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit528 %72 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp8, i64 2 br label %arraydestroy.body1092 -arraydestroy.body1092: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit499, %arraydestroy.done1083 - %arraydestroy.elementPast1093 = phi ptr [ %72, %arraydestroy.done1083 ], [ %arraydestroy.element1094, %_ZNSt6vectorIiSaIiEED2Ev.exit499 ] +arraydestroy.body1092: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit532, %arraydestroy.done1083 + %arraydestroy.elementPast1093 = phi ptr [ %72, %arraydestroy.done1083 ], [ %arraydestroy.element1094, %_ZNSt6vectorIiSaIiEED2Ev.exit532 ] %arraydestroy.element1094 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1093, i64 -1 %73 = load ptr, ptr %arraydestroy.element1094, align 8 - %tobool.not.i.i.i496 = icmp eq ptr %73, null - br i1 %tobool.not.i.i.i496, label %_ZNSt6vectorIiSaIiEED2Ev.exit499, label %if.then.i.i.i497 + %tobool.not.i.i.i529 = icmp eq ptr %73, null + br i1 %tobool.not.i.i.i529, label %_ZNSt6vectorIiSaIiEED2Ev.exit532, label %if.then.i.i.i530 -if.then.i.i.i497: ; preds = %arraydestroy.body1092 +if.then.i.i.i530: ; preds = %arraydestroy.body1092 call void @_ZdlPv(ptr noundef nonnull %73) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit499 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit532 -_ZNSt6vectorIiSaIiEED2Ev.exit499: ; preds = %arraydestroy.body1092, %if.then.i.i.i497 +_ZNSt6vectorIiSaIiEED2Ev.exit532: ; preds = %arraydestroy.body1092, %if.then.i.i.i530 %arraydestroy.done1095 = icmp eq ptr %arraydestroy.element1094, %ref.tmp8 br i1 %arraydestroy.done1095, label %arraydestroy.done1096, label %arraydestroy.body1092 -arraydestroy.done1096: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit499 +arraydestroy.done1096: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit532 %74 = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i500 = icmp eq ptr %74, null - br i1 %tobool.not.i.i.i500, label %for.body.i.i.preheader, label %if.then.i.i.i501 + %tobool.not.i.i.i533 = icmp eq ptr %74, null + br i1 %tobool.not.i.i.i533, label %for.body.i.i.preheader, label %if.then.i.i.i534 -if.then.i.i.i501: ; preds = %arraydestroy.done1096 +if.then.i.i.i534: ; preds = %arraydestroy.done1096 call void @_ZdlPv(ptr noundef nonnull %74) #31 br label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %arraydestroy.done1096, %if.then.i.i.i501 +for.body.i.i.preheader: ; preds = %arraydestroy.done1096, %if.then.i.i.i534 br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.inc.i.i %ref.tmp.sroa.0.0.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %add.ptr19.i.i.i12.i.i = phi ptr [ %add.ptr19.i.i.i11.i.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] - %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i416, %for.body.i.i.preheader ] + %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i449, %for.body.i.i.preheader ] %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i @@ -199823,13 +199825,13 @@ if.else.i.i.i.i: ; preds = %for.body.i.i %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %ref.tmp.sroa.0.0.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i518, label %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i551, label %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i -if.then.i.i.i.i.i.i518: ; preds = %if.else.i.i.i.i +if.then.i.i.i.i.i.i551: ; preds = %if.else.i.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.52) #30 to label %.noexc.i.i unwind label %lpad.loopexit.split-lp.i.i, !noalias !4750 -.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i518 +.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i551 unreachable _ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i @@ -199841,8 +199843,8 @@ _ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_ %cmp9.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i, 576460752303423487 %or.cond.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i %cond.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i, i64 576460752303423487, i64 %add.i.i.i.i.i.i - %cmp.not.i.i.i.i.i.i516 = icmp eq i64 %cond.i.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i.i516, label %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEESaISD_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEEEE8allocateERSE_m.exit.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i549 = icmp eq i64 %cond.i.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i.i549, label %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEESaISD_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEEEE8allocateERSE_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEEEE8allocateERSE_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 4 @@ -199868,8 +199870,8 @@ for.body.i.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISC_EE11_S_relocateEPSC_SF_SF_RSD_.exit21.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEESaISD_EE11_M_allocateEm.exit.i.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEESaISD_EE11_M_allocateEm.exit.i.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ] - %tobool.not.i.i.i.i.i.i517 = icmp eq ptr %ref.tmp.sroa.0.0.i, null - br i1 %tobool.not.i.i.i.i.i.i517, label %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISC_EE17_M_realloc_insertIJSC_EEEvN9__gnu_cxx17__normal_iteratorIPSC_SE_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i + %tobool.not.i.i.i.i.i.i550 = icmp eq ptr %ref.tmp.sroa.0.0.i, null + br i1 %tobool.not.i.i.i.i.i.i550, label %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISC_EE17_M_realloc_insertIJSC_EEEvN9__gnu_cxx17__normal_iteratorIPSC_SE_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISC_EE11_S_relocateEPSC_SF_SF_RSD_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4750 @@ -199893,7 +199895,7 @@ lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_tr cleanup br label %lpad.i.i -lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i518 +lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i551 %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup br label %lpad.i.i @@ -200149,27 +200151,27 @@ for.inc69.i.i.i: ; preds = %_ZSt10__count_ifIN9 lpad.loopexit11.i.i: ; preds = %for.body66.i.i %lpad.loopexit12.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i505 + br label %lpad.body.i538 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %for.body19.us.i.i.i %lpad.loopexit15.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i505 + br label %lpad.body.i538 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i: ; preds = %for.body19.i.i.i %lpad.loopexit18.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i505 + br label %lpad.body.i538 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS3_IiSaIiEEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSQ_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i %lpad.loopexit25.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i505 + br label %lpad.body.i538 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.i.invoke.i.i %lpad.loopexit.split-lp26.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i505 + br label %lpad.body.i538 for.inc.i9.i: ; preds = %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS0_5__ops17_Iter_equals_iterIS9_EEENSt15iterator_traitsIT_E15difference_typeESE_SE_T0_.exit38.i.i.i, %_ZSt10__count_ifIN9__gnu_cxx17__normal_iteratorIPKSt6vectorIiSaIiEES2_IS4_SaIS4_EEEENS0_5__ops17_Iter_equals_iterIS9_EEENSt15iterator_traitsIT_E15difference_typeESE_SE_T0_.exit.i.i.i, %call.i.us.i.noexc.i.i, %for.body13.i.i %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.1632", ptr %__begin05.sroa.0.061.i.i, i64 1 @@ -200184,9 +200186,9 @@ if.then19.i.i: ; preds = %if.then19.loopexit. %91 = phi ptr [ %.pre.i.i, %if.then19.loopexit.i.i ], [ %classes.val.i.i, %for.body.i8.i ] %92 = load ptr, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !4761 %cmp.not.i.i.i = icmp eq ptr %91, %92 - br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i504 + br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i537 -if.then.i.i.i504: ; preds = %if.then19.i.i +if.then.i.i.i537: ; preds = %if.then19.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %91, i8 0, i64 24, i1 false) %incdec.ptr.i105.i.i = getelementptr inbounds %"class.std::vector.1632", ptr %91, i64 1 store ptr %incdec.ptr.i105.i.i, ptr %75, align 8, !noalias !4761 @@ -200202,8 +200204,8 @@ if.else.i.i.i: ; preds = %if.then19.i.i _ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i, 24 - %cmp.i.i.i.i.i37.i = icmp eq ptr %91, %this.val10.i.i.i.i - %.sroa.speculated.i.i.i.i.i = select i1 %cmp.i.i.i.i.i37.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i + %cmp.i.i.i.i.i38.i = icmp eq ptr %91, %this.val10.i.i.i.i + %.sroa.speculated.i.i.i.i.i = select i1 %cmp.i.i.i.i.i38.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i %add.i.i.i.i.i = add nsw i64 %.sroa.speculated.i.i.i.i.i, %sub.ptr.div.i.i.i.i.i.i %cmp7.i.i.i.i.i = icmp ult i64 %add.i.i.i.i.i, %sub.ptr.div.i.i.i.i.i.i %cmp9.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i, 384307168202282325 @@ -200221,11 +200223,11 @@ _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHa %cond.i12.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i106.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds %"class.std::vector.1632", ptr %cond.i12.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i, i8 0, i64 24, i1 false) - br i1 %cmp.i.i.i.i.i37.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i513 + br i1 %cmp.i.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i546 -for.body.i.i.i.i.i.i.i513: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i513 - %__cur.03.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i513 ], [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i514, %for.body.i.i.i.i.i.i.i513 ], [ %this.val10.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] +for.body.i.i.i.i.i.i.i546: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i546 + %__cur.03.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i546 ], [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i547, %for.body.i.i.i.i.i.i.i546 ], [ %this.val10.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !4765) call void @llvm.experimental.noalias.scope.decl(metadata !4768) %93 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i, align 8, !alias.scope !4768, !noalias !4765 @@ -200235,16 +200237,16 @@ for.body.i.i.i.i.i.i.i513: ; preds = %_ZNSt12_Vector_base %94 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !4768, !noalias !4765 store ptr %94, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !4765, !noalias !4768 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i, i8 0, i64 24, i1 false), !alias.scope !4768, !noalias !4765 - %incdec.ptr.i.i.i.i.i.i.i514 = getelementptr inbounds %"class.std::vector.1632", ptr %__first.addr.02.i.i.i.i.i.i.i, i64 1 + %incdec.ptr.i.i.i.i.i.i.i547 = getelementptr inbounds %"class.std::vector.1632", ptr %__first.addr.02.i.i.i.i.i.i.i, i64 1 %incdec.ptr1.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1632", ptr %__cur.03.i.i.i.i.i.i.i, i64 1 - %cmp.not.i.i.i.i.i.i.i515 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i514, %91 - br i1 %cmp.not.i.i.i.i.i.i.i515, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i513, !llvm.loop !4770 + %cmp.not.i.i.i.i.i.i.i548 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i547, %91 + br i1 %cmp.not.i.i.i.i.i.i.i548, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i546, !llvm.loop !4770 -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i513, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i513 ] - %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.1632", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i39.i = icmp eq ptr %this.val10.i.i.i.i, null - br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i546, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i546 ] + %incdec.ptr.i.i.i39.i = getelementptr inbounds %"class.std::vector.1632", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i40.i = icmp eq ptr %this.val10.i.i.i.i, null + br i1 %tobool.not.i.i.i.i40.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val10.i.i.i.i) #31 @@ -200252,13 +200254,13 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !4761 - store ptr %incdec.ptr.i.i.i38.i, ptr %75, align 8, !noalias !4761 + store ptr %incdec.ptr.i.i.i39.i, ptr %75, align 8, !noalias !4761 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.1632", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !4761 br label %if.end23.i.i -if.end23.i.i: ; preds = %for.end.i.i.i, %for.inc.i.i.i, %for.inc69.i.i.i, %for.inc69.us.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, %if.then.i.i.i504 - %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i ], [ %91, %if.then.i.i.i504 ], [ %__begin05.sroa.0.061.i.i, %for.inc69.us.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.inc69.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.inc.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.end.i.i.i ] +if.end23.i.i: ; preds = %for.end.i.i.i, %for.inc.i.i.i, %for.inc69.i.i.i, %for.inc69.us.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, %if.then.i.i.i537 + %c.1.i.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i ], [ %91, %if.then.i.i.i537 ], [ %__begin05.sroa.0.061.i.i, %for.inc69.us.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.inc69.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.inc.i.i.i ], [ %__begin05.sroa.0.061.i.i, %for.end.i.i.i ] %_M_finish.i.i.i11.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1638", ptr %c.1.i.i, i64 0, i32 1 %95 = load ptr, ptr %_M_finish.i.i.i11.i, align 8 %_M_end_of_storage.i.i.i12.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1638", ptr %c.1.i.i, i64 0, i32 2 @@ -200313,31 +200315,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.064.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.065.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS3_IiSaIiEEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS3_IiSaIiEEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1639, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS3_IiSaIiEEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1639, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.1639, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.1639, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %98 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i ], [ %97, %if.then.i.i.i14.i ] + %98 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i ], [ %97, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.065.i.i, 1 %call28.val.i.i = load ptr, ptr %98, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -200348,8 +200351,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !4771) %99 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !4774 %100 = and i8 %99, 1 - %tobool.not.i.i.i506 = icmp eq i8 %100, 0 - br i1 %tobool.not.i.i.i506, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i539 = icmp eq i8 %100, 0 + br i1 %tobool.not.i.i.i539, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -200448,30 +200451,30 @@ if.end8.sink.split.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx27__ex _ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i, %invoke.cont31.i.i %115 = load ptr, ptr %ref.tmp27.i.i, align 8, !noalias !4761 %116 = load ptr, ptr %_M_finish.i.i120.i.i, align 8, !noalias !4761 - %cmp.not3.i.i.i.i.i.i.i507 = icmp eq ptr %115, %116 - br i1 %cmp.not3.i.i.i.i.i.i.i507, label %invoke.cont.i.i.i.i511, label %for.body.i.i.i.i.i121.i.i + %cmp.not3.i.i.i.i.i.i.i540 = icmp eq ptr %115, %116 + br i1 %cmp.not3.i.i.i.i.i.i.i540, label %invoke.cont.i.i.i.i544, label %for.body.i.i.i.i.i121.i.i for.body.i.i.i.i.i121.i.i: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i, %for.body.i.i.i.i.i121.i.i - %__first.addr.04.i.i.i.i.i.i.i508 = phi ptr [ %incdec.ptr.i.i.i.i.i122.i.i, %for.body.i.i.i.i.i121.i.i ], [ %115, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i508) #28 - %incdec.ptr.i.i.i.i.i122.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i508, i64 1 + %__first.addr.04.i.i.i.i.i.i.i541 = phi ptr [ %incdec.ptr.i.i.i.i.i122.i.i, %for.body.i.i.i.i.i121.i.i ], [ %115, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i541) #28 + %incdec.ptr.i.i.i.i.i122.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i541, i64 1 %cmp.not.i.i.i.i.i123.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i122.i.i, %116 - br i1 %cmp.not.i.i.i.i.i123.i.i, label %invoke.contthread-pre-split.i.i.i.i509, label %for.body.i.i.i.i.i121.i.i, !llvm.loop !8 + br i1 %cmp.not.i.i.i.i.i123.i.i, label %invoke.contthread-pre-split.i.i.i.i542, label %for.body.i.i.i.i.i121.i.i, !llvm.loop !8 -invoke.contthread-pre-split.i.i.i.i509: ; preds = %for.body.i.i.i.i.i121.i.i - %.pr.i.i.i.i510 = load ptr, ptr %ref.tmp27.i.i, align 8, !noalias !4761 - br label %invoke.cont.i.i.i.i511 +invoke.contthread-pre-split.i.i.i.i542: ; preds = %for.body.i.i.i.i.i121.i.i + %.pr.i.i.i.i543 = load ptr, ptr %ref.tmp27.i.i, align 8, !noalias !4761 + br label %invoke.cont.i.i.i.i544 -invoke.cont.i.i.i.i511: ; preds = %invoke.contthread-pre-split.i.i.i.i509, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i - %117 = phi ptr [ %.pr.i.i.i.i510, %invoke.contthread-pre-split.i.i.i.i509 ], [ %115, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] +invoke.cont.i.i.i.i544: ; preds = %invoke.contthread-pre-split.i.i.i.i542, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i + %117 = phi ptr [ %.pr.i.i.i.i543, %invoke.contthread-pre-split.i.i.i.i542 ], [ %115, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] %tobool.not.i.i.i.i124.i.i = icmp eq ptr %117, null br i1 %tobool.not.i.i.i.i124.i.i, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i, label %if.then.i.i.i1.i.i.i -if.then.i.i.i1.i.i.i: ; preds = %invoke.cont.i.i.i.i511 +if.then.i.i.i1.i.i.i: ; preds = %invoke.cont.i.i.i.i544 call void @_ZdlPv(ptr noundef nonnull %117) #31 br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i: ; preds = %if.then.i.i.i1.i.i.i, %invoke.cont.i.i.i.i511 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i: ; preds = %if.then.i.i.i1.i.i.i, %invoke.cont.i.i.i.i544 %118 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4761 %119 = and i8 %118, 1 %tobool.i.i.not.i.i = icmp eq i8 %119, 0 @@ -200554,7 +200557,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %129 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i505 + br label %lpad.body.i538 lpad35.i.i: ; preds = %if.then33.i.i %130 = landingpad { ptr, i32 } @@ -200576,12 +200579,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %132 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4761 %133 = and i8 %132, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %133, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i505, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i538, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4761 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i505 + br label %lpad.body.i538 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !4761 @@ -200683,7 +200686,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %141, %lpad51.i.i ], [ %137, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %137, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i505 + br label %lpad.body.i538 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.071.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -202717,7 +202720,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %242, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit8.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp9.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i505 + br label %lpad.body.i538 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_) @@ -202827,22 +202830,22 @@ cleanup257.i.i: ; preds = %if.then.i.i.i1.i893 %_M_finish.i914.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1610", ptr %classes.i.i, i64 0, i32 1 %411 = load ptr, ptr %_M_finish.i914.i.i, align 8, !noalias !4761 %cmp.not3.i.i.i.i.i.i = icmp eq ptr %410, %411 - br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i512 + br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i545 -for.body.i.i.i.i.i.i512: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i545: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i ], [ %410, %cleanup257.i.i ] %__first.addr.0.val.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i -if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i512 +if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i545 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i512 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i545 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1632", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i916.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i, %411 - br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i512, !llvm.loop !4775 + br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i545, !llvm.loop !4775 invoke.cont.i917.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS0_IiSaIiEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i, %cleanup257.i.i %tobool.not.i.i.i918.i.i = icmp eq ptr %410, null @@ -202878,23 +202881,23 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !4758 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !4758 %tobool.not.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i, label %invoke.cont1128, label %if.then.i.i.i40.i + br i1 %tobool.not.i.i.i.i, label %invoke.cont1128, label %if.then.i.i.i41.i -if.then.i.i.i40.i: ; preds = %invoke.cont.i +if.then.i.i.i41.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %invoke.cont1128 -lpad.body.i505: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i +lpad.body.i538: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i %.pn46.pn.i.i = phi { ptr, i32 } [ %129, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit12.i.i, %lpad.loopexit11.i.i ], [ %lpad.loopexit15.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit18.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit25.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp26.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i41.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i41.i, label %ehcleanup1145, label %if.then.i.i.i42.i + %tobool.not.i.i.i42.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i42.i, label %ehcleanup1145, label %if.then.i.i.i43.i -if.then.i.i.i42.i: ; preds = %lpad.body.i505 +if.then.i.i.i43.i: ; preds = %lpad.body.i538 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %ehcleanup1145 -invoke.cont1128: ; preds = %if.then.i.i.i40.i, %invoke.cont.i +invoke.cont1128: ; preds = %if.then.i.i.i41.i, %invoke.cont.i %412 = load i8, ptr %gtest_ar_, align 8 %413 = and i8 %412, 1 %tobool.i.not = icmp eq i8 %413, 0 @@ -203016,7 +203019,7 @@ lpad603: ; preds = %invoke.cont597 br label %lpad603.body lpad603.body: ; preds = %lpad.body.i, %if.then.i.i6.i, %lpad603 - %eh.lpad-body417 = phi { ptr, i32 } [ %436, %lpad603 ], [ %25, %if.then.i.i6.i ], [ %25, %lpad.body.i ] + %eh.lpad-body450 = phi { ptr, i32 } [ %436, %lpad603 ], [ %25, %if.then.i.i6.i ], [ %25, %lpad.body.i ] %437 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %ref.tmp, i64 23 br label %arraydestroy.body607 @@ -203028,583 +203031,583 @@ arraydestroy.body607: ; preds = %arraydestroy.body60 br i1 %arraydestroy.done610, label %ehcleanup, label %arraydestroy.body607 ehcleanup: ; preds = %arraydestroy.body607, %lpad596 - %.pn = phi { ptr, i32 } [ %435, %lpad596 ], [ %eh.lpad-body417, %arraydestroy.body607 ] + %.pn = phi { ptr, i32 } [ %435, %lpad596 ], [ %eh.lpad-body450, %arraydestroy.body607 ] %cleanup.isactive598.0 = phi i1 [ true, %lpad596 ], [ false, %arraydestroy.body607 ] %438 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp568, i64 2 br label %arraydestroy.body619 -arraydestroy.body619: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit524, %ehcleanup - %arraydestroy.elementPast620 = phi ptr [ %438, %ehcleanup ], [ %arraydestroy.element621, %_ZNSt6vectorIiSaIiEED2Ev.exit524 ] +arraydestroy.body619: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit557, %ehcleanup + %arraydestroy.elementPast620 = phi ptr [ %438, %ehcleanup ], [ %arraydestroy.element621, %_ZNSt6vectorIiSaIiEED2Ev.exit557 ] %arraydestroy.element621 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast620, i64 -1 %439 = load ptr, ptr %arraydestroy.element621, align 8 - %tobool.not.i.i.i521 = icmp eq ptr %439, null - br i1 %tobool.not.i.i.i521, label %_ZNSt6vectorIiSaIiEED2Ev.exit524, label %if.then.i.i.i522 + %tobool.not.i.i.i554 = icmp eq ptr %439, null + br i1 %tobool.not.i.i.i554, label %_ZNSt6vectorIiSaIiEED2Ev.exit557, label %if.then.i.i.i555 -if.then.i.i.i522: ; preds = %arraydestroy.body619 +if.then.i.i.i555: ; preds = %arraydestroy.body619 call void @_ZdlPv(ptr noundef nonnull %439) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit524 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit557 -_ZNSt6vectorIiSaIiEED2Ev.exit524: ; preds = %arraydestroy.body619, %if.then.i.i.i522 +_ZNSt6vectorIiSaIiEED2Ev.exit557: ; preds = %arraydestroy.body619, %if.then.i.i.i555 %arraydestroy.done622 = icmp eq ptr %arraydestroy.element621, %ref.tmp568 br i1 %arraydestroy.done622, label %ehcleanup638, label %arraydestroy.body619 -_ZNSt6vectorIiSaIiEED2Ev.exit529: ; preds = %invoke.cont580 +_ZNSt6vectorIiSaIiEED2Ev.exit562: ; preds = %invoke.cont580 %440 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i393) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i424) #31 br label %ehcleanup638 -ehcleanup638: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit524, %lpad.i394, %_ZNSt6vectorIiSaIiEED2Ev.exit529, %lpad564 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %434, %lpad564 ], [ %18, %lpad.i394 ], [ %440, %_ZNSt6vectorIiSaIiEED2Ev.exit529 ], [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit524 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element534, %lpad564 ], [ %arrayinit.element566, %lpad.i394 ], [ %arrayinit.element566, %_ZNSt6vectorIiSaIiEED2Ev.exit529 ], [ %arrayinit.element566, %_ZNSt6vectorIiSaIiEED2Ev.exit524 ] - %cleanup.isactive598.3 = phi i1 [ true, %lpad564 ], [ true, %lpad.i394 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit529 ], [ %cleanup.isactive598.0, %_ZNSt6vectorIiSaIiEED2Ev.exit524 ] +ehcleanup638: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit557, %lpad.i425, %_ZNSt6vectorIiSaIiEED2Ev.exit562, %lpad564 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %434, %lpad564 ], [ %18, %lpad.i425 ], [ %440, %_ZNSt6vectorIiSaIiEED2Ev.exit562 ], [ %.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit557 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element534, %lpad564 ], [ %arrayinit.element566, %lpad.i425 ], [ %arrayinit.element566, %_ZNSt6vectorIiSaIiEED2Ev.exit562 ], [ %arrayinit.element566, %_ZNSt6vectorIiSaIiEED2Ev.exit557 ] + %cleanup.isactive598.3 = phi i1 [ true, %lpad564 ], [ true, %lpad.i425 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit562 ], [ %cleanup.isactive598.0, %_ZNSt6vectorIiSaIiEED2Ev.exit557 ] %441 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp536, i64 2 br label %arraydestroy.body640 -arraydestroy.body640: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit534, %ehcleanup638 - %arraydestroy.elementPast641 = phi ptr [ %441, %ehcleanup638 ], [ %arraydestroy.element642, %_ZNSt6vectorIiSaIiEED2Ev.exit534 ] +arraydestroy.body640: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit567, %ehcleanup638 + %arraydestroy.elementPast641 = phi ptr [ %441, %ehcleanup638 ], [ %arraydestroy.element642, %_ZNSt6vectorIiSaIiEED2Ev.exit567 ] %arraydestroy.element642 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast641, i64 -1 %442 = load ptr, ptr %arraydestroy.element642, align 8 - %tobool.not.i.i.i531 = icmp eq ptr %442, null - br i1 %tobool.not.i.i.i531, label %_ZNSt6vectorIiSaIiEED2Ev.exit534, label %if.then.i.i.i532 + %tobool.not.i.i.i564 = icmp eq ptr %442, null + br i1 %tobool.not.i.i.i564, label %_ZNSt6vectorIiSaIiEED2Ev.exit567, label %if.then.i.i.i565 -if.then.i.i.i532: ; preds = %arraydestroy.body640 +if.then.i.i.i565: ; preds = %arraydestroy.body640 call void @_ZdlPv(ptr noundef nonnull %442) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit534 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit567 -_ZNSt6vectorIiSaIiEED2Ev.exit534: ; preds = %arraydestroy.body640, %if.then.i.i.i532 +_ZNSt6vectorIiSaIiEED2Ev.exit567: ; preds = %arraydestroy.body640, %if.then.i.i.i565 %arraydestroy.done643 = icmp eq ptr %arraydestroy.element642, %ref.tmp536 br i1 %arraydestroy.done643, label %ehcleanup663, label %arraydestroy.body640 -_ZNSt6vectorIiSaIiEED2Ev.exit539: ; preds = %invoke.cont548 +_ZNSt6vectorIiSaIiEED2Ev.exit572: ; preds = %invoke.cont548 %443 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i373) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i402) #31 br label %ehcleanup663 -ehcleanup663: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit534, %lpad.i374, %_ZNSt6vectorIiSaIiEED2Ev.exit539, %lpad532 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %433, %lpad532 ], [ %17, %lpad.i374 ], [ %443, %_ZNSt6vectorIiSaIiEED2Ev.exit539 ], [ %.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit534 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element502, %lpad532 ], [ %arrayinit.element534, %lpad.i374 ], [ %arrayinit.element534, %_ZNSt6vectorIiSaIiEED2Ev.exit539 ], [ %arrayinit.endOfInit.0, %_ZNSt6vectorIiSaIiEED2Ev.exit534 ] - %cleanup.isactive598.6 = phi i1 [ true, %lpad532 ], [ true, %lpad.i374 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit539 ], [ %cleanup.isactive598.3, %_ZNSt6vectorIiSaIiEED2Ev.exit534 ] +ehcleanup663: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit567, %lpad.i403, %_ZNSt6vectorIiSaIiEED2Ev.exit572, %lpad532 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %433, %lpad532 ], [ %17, %lpad.i403 ], [ %443, %_ZNSt6vectorIiSaIiEED2Ev.exit572 ], [ %.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit567 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element502, %lpad532 ], [ %arrayinit.element534, %lpad.i403 ], [ %arrayinit.element534, %_ZNSt6vectorIiSaIiEED2Ev.exit572 ], [ %arrayinit.endOfInit.0, %_ZNSt6vectorIiSaIiEED2Ev.exit567 ] + %cleanup.isactive598.6 = phi i1 [ true, %lpad532 ], [ true, %lpad.i403 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit572 ], [ %cleanup.isactive598.3, %_ZNSt6vectorIiSaIiEED2Ev.exit567 ] %444 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp504, i64 2 br label %arraydestroy.body665 -arraydestroy.body665: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit544, %ehcleanup663 - %arraydestroy.elementPast666 = phi ptr [ %444, %ehcleanup663 ], [ %arraydestroy.element667, %_ZNSt6vectorIiSaIiEED2Ev.exit544 ] +arraydestroy.body665: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit577, %ehcleanup663 + %arraydestroy.elementPast666 = phi ptr [ %444, %ehcleanup663 ], [ %arraydestroy.element667, %_ZNSt6vectorIiSaIiEED2Ev.exit577 ] %arraydestroy.element667 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast666, i64 -1 %445 = load ptr, ptr %arraydestroy.element667, align 8 - %tobool.not.i.i.i541 = icmp eq ptr %445, null - br i1 %tobool.not.i.i.i541, label %_ZNSt6vectorIiSaIiEED2Ev.exit544, label %if.then.i.i.i542 + %tobool.not.i.i.i574 = icmp eq ptr %445, null + br i1 %tobool.not.i.i.i574, label %_ZNSt6vectorIiSaIiEED2Ev.exit577, label %if.then.i.i.i575 -if.then.i.i.i542: ; preds = %arraydestroy.body665 +if.then.i.i.i575: ; preds = %arraydestroy.body665 call void @_ZdlPv(ptr noundef nonnull %445) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit544 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit577 -_ZNSt6vectorIiSaIiEED2Ev.exit544: ; preds = %arraydestroy.body665, %if.then.i.i.i542 +_ZNSt6vectorIiSaIiEED2Ev.exit577: ; preds = %arraydestroy.body665, %if.then.i.i.i575 %arraydestroy.done668 = icmp eq ptr %arraydestroy.element667, %ref.tmp504 br i1 %arraydestroy.done668, label %ehcleanup688, label %arraydestroy.body665 -_ZNSt6vectorIiSaIiEED2Ev.exit549: ; preds = %invoke.cont516 +_ZNSt6vectorIiSaIiEED2Ev.exit582: ; preds = %invoke.cont516 %446 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i353) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i380) #31 br label %ehcleanup688 -ehcleanup688: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit544, %lpad.i354, %_ZNSt6vectorIiSaIiEED2Ev.exit549, %lpad500 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %432, %lpad500 ], [ %16, %lpad.i354 ], [ %446, %_ZNSt6vectorIiSaIiEED2Ev.exit549 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit544 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element470, %lpad500 ], [ %arrayinit.element502, %lpad.i354 ], [ %arrayinit.element502, %_ZNSt6vectorIiSaIiEED2Ev.exit549 ], [ %arrayinit.endOfInit.3, %_ZNSt6vectorIiSaIiEED2Ev.exit544 ] - %cleanup.isactive598.9 = phi i1 [ true, %lpad500 ], [ true, %lpad.i354 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit549 ], [ %cleanup.isactive598.6, %_ZNSt6vectorIiSaIiEED2Ev.exit544 ] +ehcleanup688: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit577, %lpad.i381, %_ZNSt6vectorIiSaIiEED2Ev.exit582, %lpad500 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %432, %lpad500 ], [ %16, %lpad.i381 ], [ %446, %_ZNSt6vectorIiSaIiEED2Ev.exit582 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit577 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element470, %lpad500 ], [ %arrayinit.element502, %lpad.i381 ], [ %arrayinit.element502, %_ZNSt6vectorIiSaIiEED2Ev.exit582 ], [ %arrayinit.endOfInit.3, %_ZNSt6vectorIiSaIiEED2Ev.exit577 ] + %cleanup.isactive598.9 = phi i1 [ true, %lpad500 ], [ true, %lpad.i381 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit582 ], [ %cleanup.isactive598.6, %_ZNSt6vectorIiSaIiEED2Ev.exit577 ] %447 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp472, i64 2 br label %arraydestroy.body690 -arraydestroy.body690: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit554, %ehcleanup688 - %arraydestroy.elementPast691 = phi ptr [ %447, %ehcleanup688 ], [ %arraydestroy.element692, %_ZNSt6vectorIiSaIiEED2Ev.exit554 ] +arraydestroy.body690: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit587, %ehcleanup688 + %arraydestroy.elementPast691 = phi ptr [ %447, %ehcleanup688 ], [ %arraydestroy.element692, %_ZNSt6vectorIiSaIiEED2Ev.exit587 ] %arraydestroy.element692 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast691, i64 -1 %448 = load ptr, ptr %arraydestroy.element692, align 8 - %tobool.not.i.i.i551 = icmp eq ptr %448, null - br i1 %tobool.not.i.i.i551, label %_ZNSt6vectorIiSaIiEED2Ev.exit554, label %if.then.i.i.i552 + %tobool.not.i.i.i584 = icmp eq ptr %448, null + br i1 %tobool.not.i.i.i584, label %_ZNSt6vectorIiSaIiEED2Ev.exit587, label %if.then.i.i.i585 -if.then.i.i.i552: ; preds = %arraydestroy.body690 +if.then.i.i.i585: ; preds = %arraydestroy.body690 call void @_ZdlPv(ptr noundef nonnull %448) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit554 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit587 -_ZNSt6vectorIiSaIiEED2Ev.exit554: ; preds = %arraydestroy.body690, %if.then.i.i.i552 +_ZNSt6vectorIiSaIiEED2Ev.exit587: ; preds = %arraydestroy.body690, %if.then.i.i.i585 %arraydestroy.done693 = icmp eq ptr %arraydestroy.element692, %ref.tmp472 br i1 %arraydestroy.done693, label %ehcleanup713, label %arraydestroy.body690 -_ZNSt6vectorIiSaIiEED2Ev.exit559: ; preds = %invoke.cont484 +_ZNSt6vectorIiSaIiEED2Ev.exit592: ; preds = %invoke.cont484 %449 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i333) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i358) #31 br label %ehcleanup713 -ehcleanup713: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit554, %lpad.i334, %_ZNSt6vectorIiSaIiEED2Ev.exit559, %lpad468 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %431, %lpad468 ], [ %15, %lpad.i334 ], [ %449, %_ZNSt6vectorIiSaIiEED2Ev.exit559 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit554 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element438, %lpad468 ], [ %arrayinit.element470, %lpad.i334 ], [ %arrayinit.element470, %_ZNSt6vectorIiSaIiEED2Ev.exit559 ], [ %arrayinit.endOfInit.6, %_ZNSt6vectorIiSaIiEED2Ev.exit554 ] - %cleanup.isactive598.12 = phi i1 [ true, %lpad468 ], [ true, %lpad.i334 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit559 ], [ %cleanup.isactive598.9, %_ZNSt6vectorIiSaIiEED2Ev.exit554 ] +ehcleanup713: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit587, %lpad.i359, %_ZNSt6vectorIiSaIiEED2Ev.exit592, %lpad468 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %431, %lpad468 ], [ %15, %lpad.i359 ], [ %449, %_ZNSt6vectorIiSaIiEED2Ev.exit592 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit587 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element438, %lpad468 ], [ %arrayinit.element470, %lpad.i359 ], [ %arrayinit.element470, %_ZNSt6vectorIiSaIiEED2Ev.exit592 ], [ %arrayinit.endOfInit.6, %_ZNSt6vectorIiSaIiEED2Ev.exit587 ] + %cleanup.isactive598.12 = phi i1 [ true, %lpad468 ], [ true, %lpad.i359 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit592 ], [ %cleanup.isactive598.9, %_ZNSt6vectorIiSaIiEED2Ev.exit587 ] %450 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp440, i64 2 br label %arraydestroy.body715 -arraydestroy.body715: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit564, %ehcleanup713 - %arraydestroy.elementPast716 = phi ptr [ %450, %ehcleanup713 ], [ %arraydestroy.element717, %_ZNSt6vectorIiSaIiEED2Ev.exit564 ] +arraydestroy.body715: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit597, %ehcleanup713 + %arraydestroy.elementPast716 = phi ptr [ %450, %ehcleanup713 ], [ %arraydestroy.element717, %_ZNSt6vectorIiSaIiEED2Ev.exit597 ] %arraydestroy.element717 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast716, i64 -1 %451 = load ptr, ptr %arraydestroy.element717, align 8 - %tobool.not.i.i.i561 = icmp eq ptr %451, null - br i1 %tobool.not.i.i.i561, label %_ZNSt6vectorIiSaIiEED2Ev.exit564, label %if.then.i.i.i562 + %tobool.not.i.i.i594 = icmp eq ptr %451, null + br i1 %tobool.not.i.i.i594, label %_ZNSt6vectorIiSaIiEED2Ev.exit597, label %if.then.i.i.i595 -if.then.i.i.i562: ; preds = %arraydestroy.body715 +if.then.i.i.i595: ; preds = %arraydestroy.body715 call void @_ZdlPv(ptr noundef nonnull %451) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit564 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit597 -_ZNSt6vectorIiSaIiEED2Ev.exit564: ; preds = %arraydestroy.body715, %if.then.i.i.i562 +_ZNSt6vectorIiSaIiEED2Ev.exit597: ; preds = %arraydestroy.body715, %if.then.i.i.i595 %arraydestroy.done718 = icmp eq ptr %arraydestroy.element717, %ref.tmp440 br i1 %arraydestroy.done718, label %ehcleanup738, label %arraydestroy.body715 -_ZNSt6vectorIiSaIiEED2Ev.exit569: ; preds = %invoke.cont452 +_ZNSt6vectorIiSaIiEED2Ev.exit602: ; preds = %invoke.cont452 %452 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i313) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i336) #31 br label %ehcleanup738 -ehcleanup738: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit564, %lpad.i314, %_ZNSt6vectorIiSaIiEED2Ev.exit569, %lpad436 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %430, %lpad436 ], [ %14, %lpad.i314 ], [ %452, %_ZNSt6vectorIiSaIiEED2Ev.exit569 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit564 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element406, %lpad436 ], [ %arrayinit.element438, %lpad.i314 ], [ %arrayinit.element438, %_ZNSt6vectorIiSaIiEED2Ev.exit569 ], [ %arrayinit.endOfInit.9, %_ZNSt6vectorIiSaIiEED2Ev.exit564 ] - %cleanup.isactive598.15 = phi i1 [ true, %lpad436 ], [ true, %lpad.i314 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit569 ], [ %cleanup.isactive598.12, %_ZNSt6vectorIiSaIiEED2Ev.exit564 ] +ehcleanup738: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit597, %lpad.i337, %_ZNSt6vectorIiSaIiEED2Ev.exit602, %lpad436 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %430, %lpad436 ], [ %14, %lpad.i337 ], [ %452, %_ZNSt6vectorIiSaIiEED2Ev.exit602 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit597 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element406, %lpad436 ], [ %arrayinit.element438, %lpad.i337 ], [ %arrayinit.element438, %_ZNSt6vectorIiSaIiEED2Ev.exit602 ], [ %arrayinit.endOfInit.9, %_ZNSt6vectorIiSaIiEED2Ev.exit597 ] + %cleanup.isactive598.15 = phi i1 [ true, %lpad436 ], [ true, %lpad.i337 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit602 ], [ %cleanup.isactive598.12, %_ZNSt6vectorIiSaIiEED2Ev.exit597 ] %453 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp408, i64 2 br label %arraydestroy.body740 -arraydestroy.body740: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit574, %ehcleanup738 - %arraydestroy.elementPast741 = phi ptr [ %453, %ehcleanup738 ], [ %arraydestroy.element742, %_ZNSt6vectorIiSaIiEED2Ev.exit574 ] +arraydestroy.body740: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit607, %ehcleanup738 + %arraydestroy.elementPast741 = phi ptr [ %453, %ehcleanup738 ], [ %arraydestroy.element742, %_ZNSt6vectorIiSaIiEED2Ev.exit607 ] %arraydestroy.element742 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast741, i64 -1 %454 = load ptr, ptr %arraydestroy.element742, align 8 - %tobool.not.i.i.i571 = icmp eq ptr %454, null - br i1 %tobool.not.i.i.i571, label %_ZNSt6vectorIiSaIiEED2Ev.exit574, label %if.then.i.i.i572 + %tobool.not.i.i.i604 = icmp eq ptr %454, null + br i1 %tobool.not.i.i.i604, label %_ZNSt6vectorIiSaIiEED2Ev.exit607, label %if.then.i.i.i605 -if.then.i.i.i572: ; preds = %arraydestroy.body740 +if.then.i.i.i605: ; preds = %arraydestroy.body740 call void @_ZdlPv(ptr noundef nonnull %454) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit574 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit607 -_ZNSt6vectorIiSaIiEED2Ev.exit574: ; preds = %arraydestroy.body740, %if.then.i.i.i572 +_ZNSt6vectorIiSaIiEED2Ev.exit607: ; preds = %arraydestroy.body740, %if.then.i.i.i605 %arraydestroy.done743 = icmp eq ptr %arraydestroy.element742, %ref.tmp408 br i1 %arraydestroy.done743, label %ehcleanup763, label %arraydestroy.body740 -_ZNSt6vectorIiSaIiEED2Ev.exit579: ; preds = %invoke.cont420 +_ZNSt6vectorIiSaIiEED2Ev.exit612: ; preds = %invoke.cont420 %455 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i293) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i314) #31 br label %ehcleanup763 -ehcleanup763: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit574, %lpad.i294, %_ZNSt6vectorIiSaIiEED2Ev.exit579, %lpad404 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %429, %lpad404 ], [ %13, %lpad.i294 ], [ %455, %_ZNSt6vectorIiSaIiEED2Ev.exit579 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit574 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element374, %lpad404 ], [ %arrayinit.element406, %lpad.i294 ], [ %arrayinit.element406, %_ZNSt6vectorIiSaIiEED2Ev.exit579 ], [ %arrayinit.endOfInit.12, %_ZNSt6vectorIiSaIiEED2Ev.exit574 ] - %cleanup.isactive598.18 = phi i1 [ true, %lpad404 ], [ true, %lpad.i294 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit579 ], [ %cleanup.isactive598.15, %_ZNSt6vectorIiSaIiEED2Ev.exit574 ] +ehcleanup763: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit607, %lpad.i315, %_ZNSt6vectorIiSaIiEED2Ev.exit612, %lpad404 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %429, %lpad404 ], [ %13, %lpad.i315 ], [ %455, %_ZNSt6vectorIiSaIiEED2Ev.exit612 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit607 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element374, %lpad404 ], [ %arrayinit.element406, %lpad.i315 ], [ %arrayinit.element406, %_ZNSt6vectorIiSaIiEED2Ev.exit612 ], [ %arrayinit.endOfInit.12, %_ZNSt6vectorIiSaIiEED2Ev.exit607 ] + %cleanup.isactive598.18 = phi i1 [ true, %lpad404 ], [ true, %lpad.i315 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit612 ], [ %cleanup.isactive598.15, %_ZNSt6vectorIiSaIiEED2Ev.exit607 ] %456 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp376, i64 2 br label %arraydestroy.body765 -arraydestroy.body765: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit584, %ehcleanup763 - %arraydestroy.elementPast766 = phi ptr [ %456, %ehcleanup763 ], [ %arraydestroy.element767, %_ZNSt6vectorIiSaIiEED2Ev.exit584 ] +arraydestroy.body765: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit617, %ehcleanup763 + %arraydestroy.elementPast766 = phi ptr [ %456, %ehcleanup763 ], [ %arraydestroy.element767, %_ZNSt6vectorIiSaIiEED2Ev.exit617 ] %arraydestroy.element767 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast766, i64 -1 %457 = load ptr, ptr %arraydestroy.element767, align 8 - %tobool.not.i.i.i581 = icmp eq ptr %457, null - br i1 %tobool.not.i.i.i581, label %_ZNSt6vectorIiSaIiEED2Ev.exit584, label %if.then.i.i.i582 + %tobool.not.i.i.i614 = icmp eq ptr %457, null + br i1 %tobool.not.i.i.i614, label %_ZNSt6vectorIiSaIiEED2Ev.exit617, label %if.then.i.i.i615 -if.then.i.i.i582: ; preds = %arraydestroy.body765 +if.then.i.i.i615: ; preds = %arraydestroy.body765 call void @_ZdlPv(ptr noundef nonnull %457) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit584 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit617 -_ZNSt6vectorIiSaIiEED2Ev.exit584: ; preds = %arraydestroy.body765, %if.then.i.i.i582 +_ZNSt6vectorIiSaIiEED2Ev.exit617: ; preds = %arraydestroy.body765, %if.then.i.i.i615 %arraydestroy.done768 = icmp eq ptr %arraydestroy.element767, %ref.tmp376 br i1 %arraydestroy.done768, label %ehcleanup788, label %arraydestroy.body765 -_ZNSt6vectorIiSaIiEED2Ev.exit589: ; preds = %invoke.cont388 +_ZNSt6vectorIiSaIiEED2Ev.exit622: ; preds = %invoke.cont388 %458 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i273) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i292) #31 br label %ehcleanup788 -ehcleanup788: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit584, %lpad.i274, %_ZNSt6vectorIiSaIiEED2Ev.exit589, %lpad372 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %428, %lpad372 ], [ %12, %lpad.i274 ], [ %458, %_ZNSt6vectorIiSaIiEED2Ev.exit589 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit584 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element342, %lpad372 ], [ %arrayinit.element374, %lpad.i274 ], [ %arrayinit.element374, %_ZNSt6vectorIiSaIiEED2Ev.exit589 ], [ %arrayinit.endOfInit.15, %_ZNSt6vectorIiSaIiEED2Ev.exit584 ] - %cleanup.isactive598.21 = phi i1 [ true, %lpad372 ], [ true, %lpad.i274 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit589 ], [ %cleanup.isactive598.18, %_ZNSt6vectorIiSaIiEED2Ev.exit584 ] +ehcleanup788: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit617, %lpad.i293, %_ZNSt6vectorIiSaIiEED2Ev.exit622, %lpad372 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %428, %lpad372 ], [ %12, %lpad.i293 ], [ %458, %_ZNSt6vectorIiSaIiEED2Ev.exit622 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit617 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element342, %lpad372 ], [ %arrayinit.element374, %lpad.i293 ], [ %arrayinit.element374, %_ZNSt6vectorIiSaIiEED2Ev.exit622 ], [ %arrayinit.endOfInit.15, %_ZNSt6vectorIiSaIiEED2Ev.exit617 ] + %cleanup.isactive598.21 = phi i1 [ true, %lpad372 ], [ true, %lpad.i293 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit622 ], [ %cleanup.isactive598.18, %_ZNSt6vectorIiSaIiEED2Ev.exit617 ] %459 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp344, i64 2 br label %arraydestroy.body790 -arraydestroy.body790: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit594, %ehcleanup788 - %arraydestroy.elementPast791 = phi ptr [ %459, %ehcleanup788 ], [ %arraydestroy.element792, %_ZNSt6vectorIiSaIiEED2Ev.exit594 ] +arraydestroy.body790: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit627, %ehcleanup788 + %arraydestroy.elementPast791 = phi ptr [ %459, %ehcleanup788 ], [ %arraydestroy.element792, %_ZNSt6vectorIiSaIiEED2Ev.exit627 ] %arraydestroy.element792 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast791, i64 -1 %460 = load ptr, ptr %arraydestroy.element792, align 8 - %tobool.not.i.i.i591 = icmp eq ptr %460, null - br i1 %tobool.not.i.i.i591, label %_ZNSt6vectorIiSaIiEED2Ev.exit594, label %if.then.i.i.i592 + %tobool.not.i.i.i624 = icmp eq ptr %460, null + br i1 %tobool.not.i.i.i624, label %_ZNSt6vectorIiSaIiEED2Ev.exit627, label %if.then.i.i.i625 -if.then.i.i.i592: ; preds = %arraydestroy.body790 +if.then.i.i.i625: ; preds = %arraydestroy.body790 call void @_ZdlPv(ptr noundef nonnull %460) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit594 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit627 -_ZNSt6vectorIiSaIiEED2Ev.exit594: ; preds = %arraydestroy.body790, %if.then.i.i.i592 +_ZNSt6vectorIiSaIiEED2Ev.exit627: ; preds = %arraydestroy.body790, %if.then.i.i.i625 %arraydestroy.done793 = icmp eq ptr %arraydestroy.element792, %ref.tmp344 br i1 %arraydestroy.done793, label %ehcleanup813, label %arraydestroy.body790 -_ZNSt6vectorIiSaIiEED2Ev.exit599: ; preds = %invoke.cont356 +_ZNSt6vectorIiSaIiEED2Ev.exit632: ; preds = %invoke.cont356 %461 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i253) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i270) #31 br label %ehcleanup813 -ehcleanup813: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit594, %lpad.i254, %_ZNSt6vectorIiSaIiEED2Ev.exit599, %lpad340 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %427, %lpad340 ], [ %11, %lpad.i254 ], [ %461, %_ZNSt6vectorIiSaIiEED2Ev.exit599 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit594 ] - %arrayinit.endOfInit.21 = phi ptr [ %arrayinit.element310, %lpad340 ], [ %arrayinit.element342, %lpad.i254 ], [ %arrayinit.element342, %_ZNSt6vectorIiSaIiEED2Ev.exit599 ], [ %arrayinit.endOfInit.18, %_ZNSt6vectorIiSaIiEED2Ev.exit594 ] - %cleanup.isactive598.24 = phi i1 [ true, %lpad340 ], [ true, %lpad.i254 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit599 ], [ %cleanup.isactive598.21, %_ZNSt6vectorIiSaIiEED2Ev.exit594 ] +ehcleanup813: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit627, %lpad.i271, %_ZNSt6vectorIiSaIiEED2Ev.exit632, %lpad340 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %427, %lpad340 ], [ %11, %lpad.i271 ], [ %461, %_ZNSt6vectorIiSaIiEED2Ev.exit632 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit627 ] + %arrayinit.endOfInit.21 = phi ptr [ %arrayinit.element310, %lpad340 ], [ %arrayinit.element342, %lpad.i271 ], [ %arrayinit.element342, %_ZNSt6vectorIiSaIiEED2Ev.exit632 ], [ %arrayinit.endOfInit.18, %_ZNSt6vectorIiSaIiEED2Ev.exit627 ] + %cleanup.isactive598.24 = phi i1 [ true, %lpad340 ], [ true, %lpad.i271 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit632 ], [ %cleanup.isactive598.21, %_ZNSt6vectorIiSaIiEED2Ev.exit627 ] %462 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp312, i64 2 br label %arraydestroy.body815 -arraydestroy.body815: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit604, %ehcleanup813 - %arraydestroy.elementPast816 = phi ptr [ %462, %ehcleanup813 ], [ %arraydestroy.element817, %_ZNSt6vectorIiSaIiEED2Ev.exit604 ] +arraydestroy.body815: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit637, %ehcleanup813 + %arraydestroy.elementPast816 = phi ptr [ %462, %ehcleanup813 ], [ %arraydestroy.element817, %_ZNSt6vectorIiSaIiEED2Ev.exit637 ] %arraydestroy.element817 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast816, i64 -1 %463 = load ptr, ptr %arraydestroy.element817, align 8 - %tobool.not.i.i.i601 = icmp eq ptr %463, null - br i1 %tobool.not.i.i.i601, label %_ZNSt6vectorIiSaIiEED2Ev.exit604, label %if.then.i.i.i602 + %tobool.not.i.i.i634 = icmp eq ptr %463, null + br i1 %tobool.not.i.i.i634, label %_ZNSt6vectorIiSaIiEED2Ev.exit637, label %if.then.i.i.i635 -if.then.i.i.i602: ; preds = %arraydestroy.body815 +if.then.i.i.i635: ; preds = %arraydestroy.body815 call void @_ZdlPv(ptr noundef nonnull %463) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit604 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit637 -_ZNSt6vectorIiSaIiEED2Ev.exit604: ; preds = %arraydestroy.body815, %if.then.i.i.i602 +_ZNSt6vectorIiSaIiEED2Ev.exit637: ; preds = %arraydestroy.body815, %if.then.i.i.i635 %arraydestroy.done818 = icmp eq ptr %arraydestroy.element817, %ref.tmp312 br i1 %arraydestroy.done818, label %ehcleanup838, label %arraydestroy.body815 -_ZNSt6vectorIiSaIiEED2Ev.exit609: ; preds = %invoke.cont324 +_ZNSt6vectorIiSaIiEED2Ev.exit642: ; preds = %invoke.cont324 %464 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i233) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i248) #31 br label %ehcleanup838 -ehcleanup838: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit604, %lpad.i234, %_ZNSt6vectorIiSaIiEED2Ev.exit609, %lpad308 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %426, %lpad308 ], [ %10, %lpad.i234 ], [ %464, %_ZNSt6vectorIiSaIiEED2Ev.exit609 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit604 ] - %arrayinit.endOfInit.24 = phi ptr [ %arrayinit.element278, %lpad308 ], [ %arrayinit.element310, %lpad.i234 ], [ %arrayinit.element310, %_ZNSt6vectorIiSaIiEED2Ev.exit609 ], [ %arrayinit.endOfInit.21, %_ZNSt6vectorIiSaIiEED2Ev.exit604 ] - %cleanup.isactive598.27 = phi i1 [ true, %lpad308 ], [ true, %lpad.i234 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit609 ], [ %cleanup.isactive598.24, %_ZNSt6vectorIiSaIiEED2Ev.exit604 ] +ehcleanup838: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit637, %lpad.i249, %_ZNSt6vectorIiSaIiEED2Ev.exit642, %lpad308 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %426, %lpad308 ], [ %10, %lpad.i249 ], [ %464, %_ZNSt6vectorIiSaIiEED2Ev.exit642 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit637 ] + %arrayinit.endOfInit.24 = phi ptr [ %arrayinit.element278, %lpad308 ], [ %arrayinit.element310, %lpad.i249 ], [ %arrayinit.element310, %_ZNSt6vectorIiSaIiEED2Ev.exit642 ], [ %arrayinit.endOfInit.21, %_ZNSt6vectorIiSaIiEED2Ev.exit637 ] + %cleanup.isactive598.27 = phi i1 [ true, %lpad308 ], [ true, %lpad.i249 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit642 ], [ %cleanup.isactive598.24, %_ZNSt6vectorIiSaIiEED2Ev.exit637 ] %465 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp280, i64 2 br label %arraydestroy.body840 -arraydestroy.body840: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit614, %ehcleanup838 - %arraydestroy.elementPast841 = phi ptr [ %465, %ehcleanup838 ], [ %arraydestroy.element842, %_ZNSt6vectorIiSaIiEED2Ev.exit614 ] +arraydestroy.body840: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit647, %ehcleanup838 + %arraydestroy.elementPast841 = phi ptr [ %465, %ehcleanup838 ], [ %arraydestroy.element842, %_ZNSt6vectorIiSaIiEED2Ev.exit647 ] %arraydestroy.element842 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast841, i64 -1 %466 = load ptr, ptr %arraydestroy.element842, align 8 - %tobool.not.i.i.i611 = icmp eq ptr %466, null - br i1 %tobool.not.i.i.i611, label %_ZNSt6vectorIiSaIiEED2Ev.exit614, label %if.then.i.i.i612 + %tobool.not.i.i.i644 = icmp eq ptr %466, null + br i1 %tobool.not.i.i.i644, label %_ZNSt6vectorIiSaIiEED2Ev.exit647, label %if.then.i.i.i645 -if.then.i.i.i612: ; preds = %arraydestroy.body840 +if.then.i.i.i645: ; preds = %arraydestroy.body840 call void @_ZdlPv(ptr noundef nonnull %466) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit614 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit647 -_ZNSt6vectorIiSaIiEED2Ev.exit614: ; preds = %arraydestroy.body840, %if.then.i.i.i612 +_ZNSt6vectorIiSaIiEED2Ev.exit647: ; preds = %arraydestroy.body840, %if.then.i.i.i645 %arraydestroy.done843 = icmp eq ptr %arraydestroy.element842, %ref.tmp280 br i1 %arraydestroy.done843, label %ehcleanup863, label %arraydestroy.body840 -_ZNSt6vectorIiSaIiEED2Ev.exit619: ; preds = %invoke.cont292 +_ZNSt6vectorIiSaIiEED2Ev.exit652: ; preds = %invoke.cont292 %467 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i213) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i226) #31 br label %ehcleanup863 -ehcleanup863: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit614, %lpad.i214, %_ZNSt6vectorIiSaIiEED2Ev.exit619, %lpad276 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %425, %lpad276 ], [ %9, %lpad.i214 ], [ %467, %_ZNSt6vectorIiSaIiEED2Ev.exit619 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit614 ] - %arrayinit.endOfInit.27 = phi ptr [ %arrayinit.element246, %lpad276 ], [ %arrayinit.element278, %lpad.i214 ], [ %arrayinit.element278, %_ZNSt6vectorIiSaIiEED2Ev.exit619 ], [ %arrayinit.endOfInit.24, %_ZNSt6vectorIiSaIiEED2Ev.exit614 ] - %cleanup.isactive598.30 = phi i1 [ true, %lpad276 ], [ true, %lpad.i214 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit619 ], [ %cleanup.isactive598.27, %_ZNSt6vectorIiSaIiEED2Ev.exit614 ] +ehcleanup863: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit647, %lpad.i227, %_ZNSt6vectorIiSaIiEED2Ev.exit652, %lpad276 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %425, %lpad276 ], [ %9, %lpad.i227 ], [ %467, %_ZNSt6vectorIiSaIiEED2Ev.exit652 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit647 ] + %arrayinit.endOfInit.27 = phi ptr [ %arrayinit.element246, %lpad276 ], [ %arrayinit.element278, %lpad.i227 ], [ %arrayinit.element278, %_ZNSt6vectorIiSaIiEED2Ev.exit652 ], [ %arrayinit.endOfInit.24, %_ZNSt6vectorIiSaIiEED2Ev.exit647 ] + %cleanup.isactive598.30 = phi i1 [ true, %lpad276 ], [ true, %lpad.i227 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit652 ], [ %cleanup.isactive598.27, %_ZNSt6vectorIiSaIiEED2Ev.exit647 ] %468 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp248, i64 2 br label %arraydestroy.body865 -arraydestroy.body865: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit624, %ehcleanup863 - %arraydestroy.elementPast866 = phi ptr [ %468, %ehcleanup863 ], [ %arraydestroy.element867, %_ZNSt6vectorIiSaIiEED2Ev.exit624 ] +arraydestroy.body865: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit657, %ehcleanup863 + %arraydestroy.elementPast866 = phi ptr [ %468, %ehcleanup863 ], [ %arraydestroy.element867, %_ZNSt6vectorIiSaIiEED2Ev.exit657 ] %arraydestroy.element867 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast866, i64 -1 %469 = load ptr, ptr %arraydestroy.element867, align 8 - %tobool.not.i.i.i621 = icmp eq ptr %469, null - br i1 %tobool.not.i.i.i621, label %_ZNSt6vectorIiSaIiEED2Ev.exit624, label %if.then.i.i.i622 + %tobool.not.i.i.i654 = icmp eq ptr %469, null + br i1 %tobool.not.i.i.i654, label %_ZNSt6vectorIiSaIiEED2Ev.exit657, label %if.then.i.i.i655 -if.then.i.i.i622: ; preds = %arraydestroy.body865 +if.then.i.i.i655: ; preds = %arraydestroy.body865 call void @_ZdlPv(ptr noundef nonnull %469) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit624 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit657 -_ZNSt6vectorIiSaIiEED2Ev.exit624: ; preds = %arraydestroy.body865, %if.then.i.i.i622 +_ZNSt6vectorIiSaIiEED2Ev.exit657: ; preds = %arraydestroy.body865, %if.then.i.i.i655 %arraydestroy.done868 = icmp eq ptr %arraydestroy.element867, %ref.tmp248 br i1 %arraydestroy.done868, label %ehcleanup888, label %arraydestroy.body865 -_ZNSt6vectorIiSaIiEED2Ev.exit629: ; preds = %invoke.cont260 +_ZNSt6vectorIiSaIiEED2Ev.exit662: ; preds = %invoke.cont260 %470 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i193) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i204) #31 br label %ehcleanup888 -ehcleanup888: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit624, %lpad.i194, %_ZNSt6vectorIiSaIiEED2Ev.exit629, %lpad244 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %424, %lpad244 ], [ %8, %lpad.i194 ], [ %470, %_ZNSt6vectorIiSaIiEED2Ev.exit629 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit624 ] - %arrayinit.endOfInit.30 = phi ptr [ %arrayinit.element214, %lpad244 ], [ %arrayinit.element246, %lpad.i194 ], [ %arrayinit.element246, %_ZNSt6vectorIiSaIiEED2Ev.exit629 ], [ %arrayinit.endOfInit.27, %_ZNSt6vectorIiSaIiEED2Ev.exit624 ] - %cleanup.isactive598.33 = phi i1 [ true, %lpad244 ], [ true, %lpad.i194 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit629 ], [ %cleanup.isactive598.30, %_ZNSt6vectorIiSaIiEED2Ev.exit624 ] +ehcleanup888: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit657, %lpad.i205, %_ZNSt6vectorIiSaIiEED2Ev.exit662, %lpad244 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %424, %lpad244 ], [ %8, %lpad.i205 ], [ %470, %_ZNSt6vectorIiSaIiEED2Ev.exit662 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit657 ] + %arrayinit.endOfInit.30 = phi ptr [ %arrayinit.element214, %lpad244 ], [ %arrayinit.element246, %lpad.i205 ], [ %arrayinit.element246, %_ZNSt6vectorIiSaIiEED2Ev.exit662 ], [ %arrayinit.endOfInit.27, %_ZNSt6vectorIiSaIiEED2Ev.exit657 ] + %cleanup.isactive598.33 = phi i1 [ true, %lpad244 ], [ true, %lpad.i205 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit662 ], [ %cleanup.isactive598.30, %_ZNSt6vectorIiSaIiEED2Ev.exit657 ] %471 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp216, i64 2 br label %arraydestroy.body890 -arraydestroy.body890: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit634, %ehcleanup888 - %arraydestroy.elementPast891 = phi ptr [ %471, %ehcleanup888 ], [ %arraydestroy.element892, %_ZNSt6vectorIiSaIiEED2Ev.exit634 ] +arraydestroy.body890: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit667, %ehcleanup888 + %arraydestroy.elementPast891 = phi ptr [ %471, %ehcleanup888 ], [ %arraydestroy.element892, %_ZNSt6vectorIiSaIiEED2Ev.exit667 ] %arraydestroy.element892 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast891, i64 -1 %472 = load ptr, ptr %arraydestroy.element892, align 8 - %tobool.not.i.i.i631 = icmp eq ptr %472, null - br i1 %tobool.not.i.i.i631, label %_ZNSt6vectorIiSaIiEED2Ev.exit634, label %if.then.i.i.i632 + %tobool.not.i.i.i664 = icmp eq ptr %472, null + br i1 %tobool.not.i.i.i664, label %_ZNSt6vectorIiSaIiEED2Ev.exit667, label %if.then.i.i.i665 -if.then.i.i.i632: ; preds = %arraydestroy.body890 +if.then.i.i.i665: ; preds = %arraydestroy.body890 call void @_ZdlPv(ptr noundef nonnull %472) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit634 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit667 -_ZNSt6vectorIiSaIiEED2Ev.exit634: ; preds = %arraydestroy.body890, %if.then.i.i.i632 +_ZNSt6vectorIiSaIiEED2Ev.exit667: ; preds = %arraydestroy.body890, %if.then.i.i.i665 %arraydestroy.done893 = icmp eq ptr %arraydestroy.element892, %ref.tmp216 br i1 %arraydestroy.done893, label %ehcleanup913, label %arraydestroy.body890 -_ZNSt6vectorIiSaIiEED2Ev.exit639: ; preds = %invoke.cont228 +_ZNSt6vectorIiSaIiEED2Ev.exit672: ; preds = %invoke.cont228 %473 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i173) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i182) #31 br label %ehcleanup913 -ehcleanup913: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit634, %lpad.i174, %_ZNSt6vectorIiSaIiEED2Ev.exit639, %lpad212 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %423, %lpad212 ], [ %7, %lpad.i174 ], [ %473, %_ZNSt6vectorIiSaIiEED2Ev.exit639 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit634 ] - %arrayinit.endOfInit.33 = phi ptr [ %arrayinit.element192, %lpad212 ], [ %arrayinit.element214, %lpad.i174 ], [ %arrayinit.element214, %_ZNSt6vectorIiSaIiEED2Ev.exit639 ], [ %arrayinit.endOfInit.30, %_ZNSt6vectorIiSaIiEED2Ev.exit634 ] - %cleanup.isactive598.36 = phi i1 [ true, %lpad212 ], [ true, %lpad.i174 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit639 ], [ %cleanup.isactive598.33, %_ZNSt6vectorIiSaIiEED2Ev.exit634 ] +ehcleanup913: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit667, %lpad.i183, %_ZNSt6vectorIiSaIiEED2Ev.exit672, %lpad212 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %423, %lpad212 ], [ %7, %lpad.i183 ], [ %473, %_ZNSt6vectorIiSaIiEED2Ev.exit672 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit667 ] + %arrayinit.endOfInit.33 = phi ptr [ %arrayinit.element192, %lpad212 ], [ %arrayinit.element214, %lpad.i183 ], [ %arrayinit.element214, %_ZNSt6vectorIiSaIiEED2Ev.exit672 ], [ %arrayinit.endOfInit.30, %_ZNSt6vectorIiSaIiEED2Ev.exit667 ] + %cleanup.isactive598.36 = phi i1 [ true, %lpad212 ], [ true, %lpad.i183 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit672 ], [ %cleanup.isactive598.33, %_ZNSt6vectorIiSaIiEED2Ev.exit667 ] %474 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp194, i64 2 br label %arraydestroy.body915 -arraydestroy.body915: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit644, %ehcleanup913 - %arraydestroy.elementPast916 = phi ptr [ %474, %ehcleanup913 ], [ %arraydestroy.element917, %_ZNSt6vectorIiSaIiEED2Ev.exit644 ] +arraydestroy.body915: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit677, %ehcleanup913 + %arraydestroy.elementPast916 = phi ptr [ %474, %ehcleanup913 ], [ %arraydestroy.element917, %_ZNSt6vectorIiSaIiEED2Ev.exit677 ] %arraydestroy.element917 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast916, i64 -1 %475 = load ptr, ptr %arraydestroy.element917, align 8 - %tobool.not.i.i.i641 = icmp eq ptr %475, null - br i1 %tobool.not.i.i.i641, label %_ZNSt6vectorIiSaIiEED2Ev.exit644, label %if.then.i.i.i642 + %tobool.not.i.i.i674 = icmp eq ptr %475, null + br i1 %tobool.not.i.i.i674, label %_ZNSt6vectorIiSaIiEED2Ev.exit677, label %if.then.i.i.i675 -if.then.i.i.i642: ; preds = %arraydestroy.body915 +if.then.i.i.i675: ; preds = %arraydestroy.body915 call void @_ZdlPv(ptr noundef nonnull %475) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit644 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit677 -_ZNSt6vectorIiSaIiEED2Ev.exit644: ; preds = %arraydestroy.body915, %if.then.i.i.i642 +_ZNSt6vectorIiSaIiEED2Ev.exit677: ; preds = %arraydestroy.body915, %if.then.i.i.i675 %arraydestroy.done918 = icmp eq ptr %arraydestroy.element917, %ref.tmp194 br i1 %arraydestroy.done918, label %ehcleanup937, label %arraydestroy.body915 -ehcleanup937: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit644, %lpad.i164, %lpad190 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %422, %lpad190 ], [ %6, %lpad.i164 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit644 ] - %arrayinit.endOfInit.35 = phi ptr [ %arrayinit.element170, %lpad190 ], [ %arrayinit.element192, %lpad.i164 ], [ %arrayinit.endOfInit.33, %_ZNSt6vectorIiSaIiEED2Ev.exit644 ] - %cleanup.isactive598.38 = phi i1 [ true, %lpad190 ], [ true, %lpad.i164 ], [ %cleanup.isactive598.36, %_ZNSt6vectorIiSaIiEED2Ev.exit644 ] +ehcleanup937: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit677, %lpad.i172, %lpad190 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %422, %lpad190 ], [ %6, %lpad.i172 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit677 ] + %arrayinit.endOfInit.35 = phi ptr [ %arrayinit.element170, %lpad190 ], [ %arrayinit.element192, %lpad.i172 ], [ %arrayinit.endOfInit.33, %_ZNSt6vectorIiSaIiEED2Ev.exit677 ] + %cleanup.isactive598.38 = phi i1 [ true, %lpad190 ], [ true, %lpad.i172 ], [ %cleanup.isactive598.36, %_ZNSt6vectorIiSaIiEED2Ev.exit677 ] %476 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp172, i64 2 br label %arraydestroy.body939 -arraydestroy.body939: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit654, %ehcleanup937 - %arraydestroy.elementPast940 = phi ptr [ %476, %ehcleanup937 ], [ %arraydestroy.element941, %_ZNSt6vectorIiSaIiEED2Ev.exit654 ] +arraydestroy.body939: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit687, %ehcleanup937 + %arraydestroy.elementPast940 = phi ptr [ %476, %ehcleanup937 ], [ %arraydestroy.element941, %_ZNSt6vectorIiSaIiEED2Ev.exit687 ] %arraydestroy.element941 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast940, i64 -1 %477 = load ptr, ptr %arraydestroy.element941, align 8 - %tobool.not.i.i.i651 = icmp eq ptr %477, null - br i1 %tobool.not.i.i.i651, label %_ZNSt6vectorIiSaIiEED2Ev.exit654, label %if.then.i.i.i652 + %tobool.not.i.i.i684 = icmp eq ptr %477, null + br i1 %tobool.not.i.i.i684, label %_ZNSt6vectorIiSaIiEED2Ev.exit687, label %if.then.i.i.i685 -if.then.i.i.i652: ; preds = %arraydestroy.body939 +if.then.i.i.i685: ; preds = %arraydestroy.body939 call void @_ZdlPv(ptr noundef nonnull %477) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit654 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit687 -_ZNSt6vectorIiSaIiEED2Ev.exit654: ; preds = %arraydestroy.body939, %if.then.i.i.i652 +_ZNSt6vectorIiSaIiEED2Ev.exit687: ; preds = %arraydestroy.body939, %if.then.i.i.i685 %arraydestroy.done942 = icmp eq ptr %arraydestroy.element941, %ref.tmp172 br i1 %arraydestroy.done942, label %ehcleanup961, label %arraydestroy.body939 -ehcleanup961: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit654, %lpad.i154, %lpad168 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %421, %lpad168 ], [ %5, %lpad.i154 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit654 ] - %arrayinit.endOfInit.37 = phi ptr [ %arrayinit.element148, %lpad168 ], [ %arrayinit.element170, %lpad.i154 ], [ %arrayinit.endOfInit.35, %_ZNSt6vectorIiSaIiEED2Ev.exit654 ] - %cleanup.isactive598.40 = phi i1 [ true, %lpad168 ], [ true, %lpad.i154 ], [ %cleanup.isactive598.38, %_ZNSt6vectorIiSaIiEED2Ev.exit654 ] +ehcleanup961: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit687, %lpad.i161, %lpad168 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %421, %lpad168 ], [ %5, %lpad.i161 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit687 ] + %arrayinit.endOfInit.37 = phi ptr [ %arrayinit.element148, %lpad168 ], [ %arrayinit.element170, %lpad.i161 ], [ %arrayinit.endOfInit.35, %_ZNSt6vectorIiSaIiEED2Ev.exit687 ] + %cleanup.isactive598.40 = phi i1 [ true, %lpad168 ], [ true, %lpad.i161 ], [ %cleanup.isactive598.38, %_ZNSt6vectorIiSaIiEED2Ev.exit687 ] %478 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp150, i64 2 br label %arraydestroy.body963 -arraydestroy.body963: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit664, %ehcleanup961 - %arraydestroy.elementPast964 = phi ptr [ %478, %ehcleanup961 ], [ %arraydestroy.element965, %_ZNSt6vectorIiSaIiEED2Ev.exit664 ] +arraydestroy.body963: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit697, %ehcleanup961 + %arraydestroy.elementPast964 = phi ptr [ %478, %ehcleanup961 ], [ %arraydestroy.element965, %_ZNSt6vectorIiSaIiEED2Ev.exit697 ] %arraydestroy.element965 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast964, i64 -1 %479 = load ptr, ptr %arraydestroy.element965, align 8 - %tobool.not.i.i.i661 = icmp eq ptr %479, null - br i1 %tobool.not.i.i.i661, label %_ZNSt6vectorIiSaIiEED2Ev.exit664, label %if.then.i.i.i662 + %tobool.not.i.i.i694 = icmp eq ptr %479, null + br i1 %tobool.not.i.i.i694, label %_ZNSt6vectorIiSaIiEED2Ev.exit697, label %if.then.i.i.i695 -if.then.i.i.i662: ; preds = %arraydestroy.body963 +if.then.i.i.i695: ; preds = %arraydestroy.body963 call void @_ZdlPv(ptr noundef nonnull %479) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit664 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit697 -_ZNSt6vectorIiSaIiEED2Ev.exit664: ; preds = %arraydestroy.body963, %if.then.i.i.i662 +_ZNSt6vectorIiSaIiEED2Ev.exit697: ; preds = %arraydestroy.body963, %if.then.i.i.i695 %arraydestroy.done966 = icmp eq ptr %arraydestroy.element965, %ref.tmp150 br i1 %arraydestroy.done966, label %ehcleanup985, label %arraydestroy.body963 -_ZNSt6vectorIiSaIiEED2Ev.exit669: ; preds = %invoke.cont147 +_ZNSt6vectorIiSaIiEED2Ev.exit702: ; preds = %invoke.cont147 %480 = landingpad { ptr, i32 } cleanup br label %ehcleanup985 -ehcleanup985: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit664, %_ZNSt6vectorIiSaIiEED2Ev.exit669, %lpad146 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %420, %lpad146 ], [ %480, %_ZNSt6vectorIiSaIiEED2Ev.exit669 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit664 ] - %arrayinit.endOfInit.39 = phi ptr [ %arrayinit.element126, %lpad146 ], [ %arrayinit.element148, %_ZNSt6vectorIiSaIiEED2Ev.exit669 ], [ %arrayinit.endOfInit.37, %_ZNSt6vectorIiSaIiEED2Ev.exit664 ] - %cleanup.isactive598.42 = phi i1 [ true, %lpad146 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit669 ], [ %cleanup.isactive598.40, %_ZNSt6vectorIiSaIiEED2Ev.exit664 ] +ehcleanup985: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit697, %_ZNSt6vectorIiSaIiEED2Ev.exit702, %lpad146 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %420, %lpad146 ], [ %480, %_ZNSt6vectorIiSaIiEED2Ev.exit702 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit697 ] + %arrayinit.endOfInit.39 = phi ptr [ %arrayinit.element126, %lpad146 ], [ %arrayinit.element148, %_ZNSt6vectorIiSaIiEED2Ev.exit702 ], [ %arrayinit.endOfInit.37, %_ZNSt6vectorIiSaIiEED2Ev.exit697 ] + %cleanup.isactive598.42 = phi i1 [ true, %lpad146 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit702 ], [ %cleanup.isactive598.40, %_ZNSt6vectorIiSaIiEED2Ev.exit697 ] %481 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp128, i64 2 br label %arraydestroy.body987 -arraydestroy.body987: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit674, %ehcleanup985 - %arraydestroy.elementPast988 = phi ptr [ %481, %ehcleanup985 ], [ %arraydestroy.element989, %_ZNSt6vectorIiSaIiEED2Ev.exit674 ] +arraydestroy.body987: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit707, %ehcleanup985 + %arraydestroy.elementPast988 = phi ptr [ %481, %ehcleanup985 ], [ %arraydestroy.element989, %_ZNSt6vectorIiSaIiEED2Ev.exit707 ] %arraydestroy.element989 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast988, i64 -1 %482 = load ptr, ptr %arraydestroy.element989, align 8 - %tobool.not.i.i.i671 = icmp eq ptr %482, null - br i1 %tobool.not.i.i.i671, label %_ZNSt6vectorIiSaIiEED2Ev.exit674, label %if.then.i.i.i672 + %tobool.not.i.i.i704 = icmp eq ptr %482, null + br i1 %tobool.not.i.i.i704, label %_ZNSt6vectorIiSaIiEED2Ev.exit707, label %if.then.i.i.i705 -if.then.i.i.i672: ; preds = %arraydestroy.body987 +if.then.i.i.i705: ; preds = %arraydestroy.body987 call void @_ZdlPv(ptr noundef nonnull %482) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit674 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit707 -_ZNSt6vectorIiSaIiEED2Ev.exit674: ; preds = %arraydestroy.body987, %if.then.i.i.i672 +_ZNSt6vectorIiSaIiEED2Ev.exit707: ; preds = %arraydestroy.body987, %if.then.i.i.i705 %arraydestroy.done990 = icmp eq ptr %arraydestroy.element989, %ref.tmp128 br i1 %arraydestroy.done990, label %ehcleanup1009, label %arraydestroy.body987 -_ZNSt6vectorIiSaIiEED2Ev.exit679: ; preds = %invoke.cont125 +_ZNSt6vectorIiSaIiEED2Ev.exit712: ; preds = %invoke.cont125 %483 = landingpad { ptr, i32 } cleanup br label %ehcleanup1009 -ehcleanup1009: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit674, %_ZNSt6vectorIiSaIiEED2Ev.exit679, %lpad124 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %419, %lpad124 ], [ %483, %_ZNSt6vectorIiSaIiEED2Ev.exit679 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit674 ] - %arrayinit.endOfInit.41 = phi ptr [ %arrayinit.element80, %lpad124 ], [ %arrayinit.element126, %_ZNSt6vectorIiSaIiEED2Ev.exit679 ], [ %arrayinit.endOfInit.39, %_ZNSt6vectorIiSaIiEED2Ev.exit674 ] - %cleanup.isactive598.44 = phi i1 [ true, %lpad124 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit679 ], [ %cleanup.isactive598.42, %_ZNSt6vectorIiSaIiEED2Ev.exit674 ] +ehcleanup1009: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit707, %_ZNSt6vectorIiSaIiEED2Ev.exit712, %lpad124 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %419, %lpad124 ], [ %483, %_ZNSt6vectorIiSaIiEED2Ev.exit712 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit707 ] + %arrayinit.endOfInit.41 = phi ptr [ %arrayinit.element80, %lpad124 ], [ %arrayinit.element126, %_ZNSt6vectorIiSaIiEED2Ev.exit712 ], [ %arrayinit.endOfInit.39, %_ZNSt6vectorIiSaIiEED2Ev.exit707 ] + %cleanup.isactive598.44 = phi i1 [ true, %lpad124 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit712 ], [ %cleanup.isactive598.42, %_ZNSt6vectorIiSaIiEED2Ev.exit707 ] %484 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp82, i64 3 br label %arraydestroy.body1011 -arraydestroy.body1011: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit684, %ehcleanup1009 - %arraydestroy.elementPast1012 = phi ptr [ %484, %ehcleanup1009 ], [ %arraydestroy.element1013, %_ZNSt6vectorIiSaIiEED2Ev.exit684 ] +arraydestroy.body1011: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit717, %ehcleanup1009 + %arraydestroy.elementPast1012 = phi ptr [ %484, %ehcleanup1009 ], [ %arraydestroy.element1013, %_ZNSt6vectorIiSaIiEED2Ev.exit717 ] %arraydestroy.element1013 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1012, i64 -1 %485 = load ptr, ptr %arraydestroy.element1013, align 8 - %tobool.not.i.i.i681 = icmp eq ptr %485, null - br i1 %tobool.not.i.i.i681, label %_ZNSt6vectorIiSaIiEED2Ev.exit684, label %if.then.i.i.i682 + %tobool.not.i.i.i714 = icmp eq ptr %485, null + br i1 %tobool.not.i.i.i714, label %_ZNSt6vectorIiSaIiEED2Ev.exit717, label %if.then.i.i.i715 -if.then.i.i.i682: ; preds = %arraydestroy.body1011 +if.then.i.i.i715: ; preds = %arraydestroy.body1011 call void @_ZdlPv(ptr noundef nonnull %485) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit684 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit717 -_ZNSt6vectorIiSaIiEED2Ev.exit684: ; preds = %arraydestroy.body1011, %if.then.i.i.i682 +_ZNSt6vectorIiSaIiEED2Ev.exit717: ; preds = %arraydestroy.body1011, %if.then.i.i.i715 %arraydestroy.done1014 = icmp eq ptr %arraydestroy.element1013, %ref.tmp82 br i1 %arraydestroy.done1014, label %ehcleanup1035, label %arraydestroy.body1011 -ehcleanup1018: ; preds = %lpad.i124, %lpad.i114 - %arrayinit.endOfInit84.1 = phi ptr [ %arrayinit.element96, %lpad.i114 ], [ %arrayinit.element108, %lpad.i124 ] - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %3, %lpad.i114 ], [ %4, %lpad.i124 ] +ehcleanup1018: ; preds = %lpad.i128, %lpad.i117 + %arrayinit.endOfInit84.1 = phi ptr [ %arrayinit.element96, %lpad.i117 ], [ %arrayinit.element108, %lpad.i128 ] + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %3, %lpad.i117 ], [ %4, %lpad.i128 ] br label %arraydestroy.body1023 -arraydestroy.body1023: ; preds = %ehcleanup1018, %_ZNSt6vectorIiSaIiEED2Ev.exit689 - %arraydestroy.elementPast1024 = phi ptr [ %arraydestroy.element1025, %_ZNSt6vectorIiSaIiEED2Ev.exit689 ], [ %arrayinit.endOfInit84.1, %ehcleanup1018 ] +arraydestroy.body1023: ; preds = %ehcleanup1018, %_ZNSt6vectorIiSaIiEED2Ev.exit722 + %arraydestroy.elementPast1024 = phi ptr [ %arraydestroy.element1025, %_ZNSt6vectorIiSaIiEED2Ev.exit722 ], [ %arrayinit.endOfInit84.1, %ehcleanup1018 ] %arraydestroy.element1025 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1024, i64 -1 %486 = load ptr, ptr %arraydestroy.element1025, align 8 - %tobool.not.i.i.i686 = icmp eq ptr %486, null - br i1 %tobool.not.i.i.i686, label %_ZNSt6vectorIiSaIiEED2Ev.exit689, label %if.then.i.i.i687 + %tobool.not.i.i.i719 = icmp eq ptr %486, null + br i1 %tobool.not.i.i.i719, label %_ZNSt6vectorIiSaIiEED2Ev.exit722, label %if.then.i.i.i720 -if.then.i.i.i687: ; preds = %arraydestroy.body1023 +if.then.i.i.i720: ; preds = %arraydestroy.body1023 call void @_ZdlPv(ptr noundef nonnull %486) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit689 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit722 -_ZNSt6vectorIiSaIiEED2Ev.exit689: ; preds = %arraydestroy.body1023, %if.then.i.i.i687 +_ZNSt6vectorIiSaIiEED2Ev.exit722: ; preds = %arraydestroy.body1023, %if.then.i.i.i720 %arraydestroy.done1026 = icmp eq ptr %arraydestroy.element1025, %ref.tmp82 br i1 %arraydestroy.done1026, label %ehcleanup1035, label %arraydestroy.body1023 -ehcleanup1035: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit689, %_ZNSt6vectorIiSaIiEED2Ev.exit684, %lpad.i104, %lpad78 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %418, %lpad78 ], [ %2, %lpad.i104 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit684 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit689 ] - %arrayinit.endOfInit.45 = phi ptr [ %arrayinit.element48, %lpad78 ], [ %arrayinit.element80, %lpad.i104 ], [ %arrayinit.endOfInit.41, %_ZNSt6vectorIiSaIiEED2Ev.exit684 ], [ %arrayinit.element80, %_ZNSt6vectorIiSaIiEED2Ev.exit689 ] - %cleanup.isactive598.48 = phi i1 [ true, %lpad78 ], [ true, %lpad.i104 ], [ %cleanup.isactive598.44, %_ZNSt6vectorIiSaIiEED2Ev.exit684 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit689 ] +ehcleanup1035: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit722, %_ZNSt6vectorIiSaIiEED2Ev.exit717, %lpad.i106, %lpad78 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %418, %lpad78 ], [ %2, %lpad.i106 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit717 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit722 ] + %arrayinit.endOfInit.45 = phi ptr [ %arrayinit.element48, %lpad78 ], [ %arrayinit.element80, %lpad.i106 ], [ %arrayinit.endOfInit.41, %_ZNSt6vectorIiSaIiEED2Ev.exit717 ], [ %arrayinit.element80, %_ZNSt6vectorIiSaIiEED2Ev.exit722 ] + %cleanup.isactive598.48 = phi i1 [ true, %lpad78 ], [ true, %lpad.i106 ], [ %cleanup.isactive598.44, %_ZNSt6vectorIiSaIiEED2Ev.exit717 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit722 ] %487 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp50, i64 2 br label %arraydestroy.body1037 -arraydestroy.body1037: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit694, %ehcleanup1035 - %arraydestroy.elementPast1038 = phi ptr [ %487, %ehcleanup1035 ], [ %arraydestroy.element1039, %_ZNSt6vectorIiSaIiEED2Ev.exit694 ] +arraydestroy.body1037: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit727, %ehcleanup1035 + %arraydestroy.elementPast1038 = phi ptr [ %487, %ehcleanup1035 ], [ %arraydestroy.element1039, %_ZNSt6vectorIiSaIiEED2Ev.exit727 ] %arraydestroy.element1039 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1038, i64 -1 %488 = load ptr, ptr %arraydestroy.element1039, align 8 - %tobool.not.i.i.i691 = icmp eq ptr %488, null - br i1 %tobool.not.i.i.i691, label %_ZNSt6vectorIiSaIiEED2Ev.exit694, label %if.then.i.i.i692 + %tobool.not.i.i.i724 = icmp eq ptr %488, null + br i1 %tobool.not.i.i.i724, label %_ZNSt6vectorIiSaIiEED2Ev.exit727, label %if.then.i.i.i725 -if.then.i.i.i692: ; preds = %arraydestroy.body1037 +if.then.i.i.i725: ; preds = %arraydestroy.body1037 call void @_ZdlPv(ptr noundef nonnull %488) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit694 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit727 -_ZNSt6vectorIiSaIiEED2Ev.exit694: ; preds = %arraydestroy.body1037, %if.then.i.i.i692 +_ZNSt6vectorIiSaIiEED2Ev.exit727: ; preds = %arraydestroy.body1037, %if.then.i.i.i725 %arraydestroy.done1040 = icmp eq ptr %arraydestroy.element1039, %ref.tmp50 br i1 %arraydestroy.done1040, label %ehcleanup1060, label %arraydestroy.body1037 -_ZNSt6vectorIiSaIiEED2Ev.exit699: ; preds = %invoke.cont62 +_ZNSt6vectorIiSaIiEED2Ev.exit732: ; preds = %invoke.cont62 %489 = landingpad { ptr, i32 } cleanup call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i83) #31 br label %ehcleanup1060 -ehcleanup1060: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit694, %lpad.i84, %_ZNSt6vectorIiSaIiEED2Ev.exit699, %lpad46 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %417, %lpad46 ], [ %1, %lpad.i84 ], [ %489, %_ZNSt6vectorIiSaIiEED2Ev.exit699 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit694 ] - %arrayinit.endOfInit.48 = phi ptr [ %arrayinit.element29, %lpad46 ], [ %arrayinit.element48, %lpad.i84 ], [ %arrayinit.element48, %_ZNSt6vectorIiSaIiEED2Ev.exit699 ], [ %arrayinit.endOfInit.45, %_ZNSt6vectorIiSaIiEED2Ev.exit694 ] - %cleanup.isactive598.51 = phi i1 [ true, %lpad46 ], [ true, %lpad.i84 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit699 ], [ %cleanup.isactive598.48, %_ZNSt6vectorIiSaIiEED2Ev.exit694 ] +ehcleanup1060: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit727, %lpad.i84, %_ZNSt6vectorIiSaIiEED2Ev.exit732, %lpad46 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %417, %lpad46 ], [ %1, %lpad.i84 ], [ %489, %_ZNSt6vectorIiSaIiEED2Ev.exit732 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit727 ] + %arrayinit.endOfInit.48 = phi ptr [ %arrayinit.element29, %lpad46 ], [ %arrayinit.element48, %lpad.i84 ], [ %arrayinit.element48, %_ZNSt6vectorIiSaIiEED2Ev.exit732 ], [ %arrayinit.endOfInit.45, %_ZNSt6vectorIiSaIiEED2Ev.exit727 ] + %cleanup.isactive598.51 = phi i1 [ true, %lpad46 ], [ true, %lpad.i84 ], [ true, %_ZNSt6vectorIiSaIiEED2Ev.exit732 ], [ %cleanup.isactive598.48, %_ZNSt6vectorIiSaIiEED2Ev.exit727 ] %490 = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i701 = icmp eq ptr %490, null - br i1 %tobool.not.i.i.i701, label %ehcleanup1084, label %if.then.i.i.i702 + %tobool.not.i.i.i734 = icmp eq ptr %490, null + br i1 %tobool.not.i.i.i734, label %ehcleanup1084, label %if.then.i.i.i735 -if.then.i.i.i702: ; preds = %ehcleanup1060 +if.then.i.i.i735: ; preds = %ehcleanup1060 call void @_ZdlPv(ptr noundef nonnull %490) #31 br label %ehcleanup1084 -ehcleanup1084: ; preds = %if.then.i.i.i702, %ehcleanup1060, %lpad.i, %lpad27 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %416, %lpad27 ], [ %0, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup1060 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i702 ] - %arrayinit.endOfInit.50 = phi ptr [ %arrayinit.element17, %lpad27 ], [ %arrayinit.element29, %lpad.i ], [ %arrayinit.endOfInit.48, %ehcleanup1060 ], [ %arrayinit.endOfInit.48, %if.then.i.i.i702 ] - %cleanup.isactive598.53 = phi i1 [ true, %lpad27 ], [ true, %lpad.i ], [ %cleanup.isactive598.51, %ehcleanup1060 ], [ %cleanup.isactive598.51, %if.then.i.i.i702 ] +ehcleanup1084: ; preds = %if.then.i.i.i735, %ehcleanup1060, %lpad.i, %lpad27 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %416, %lpad27 ], [ %0, %lpad.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup1060 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i735 ] + %arrayinit.endOfInit.50 = phi ptr [ %arrayinit.element17, %lpad27 ], [ %arrayinit.element29, %lpad.i ], [ %arrayinit.endOfInit.48, %ehcleanup1060 ], [ %arrayinit.endOfInit.48, %if.then.i.i.i735 ] + %cleanup.isactive598.53 = phi i1 [ true, %lpad27 ], [ true, %lpad.i ], [ %cleanup.isactive598.51, %ehcleanup1060 ], [ %cleanup.isactive598.51, %if.then.i.i.i735 ] %491 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp19, i64 3 br label %arraydestroy.body1086 -arraydestroy.body1086: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit709, %ehcleanup1084 - %arraydestroy.elementPast1087 = phi ptr [ %491, %ehcleanup1084 ], [ %arraydestroy.element1088, %_ZNSt6vectorIiSaIiEED2Ev.exit709 ] +arraydestroy.body1086: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit742, %ehcleanup1084 + %arraydestroy.elementPast1087 = phi ptr [ %491, %ehcleanup1084 ], [ %arraydestroy.element1088, %_ZNSt6vectorIiSaIiEED2Ev.exit742 ] %arraydestroy.element1088 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1087, i64 -1 %492 = load ptr, ptr %arraydestroy.element1088, align 8 - %tobool.not.i.i.i706 = icmp eq ptr %492, null - br i1 %tobool.not.i.i.i706, label %_ZNSt6vectorIiSaIiEED2Ev.exit709, label %if.then.i.i.i707 + %tobool.not.i.i.i739 = icmp eq ptr %492, null + br i1 %tobool.not.i.i.i739, label %_ZNSt6vectorIiSaIiEED2Ev.exit742, label %if.then.i.i.i740 -if.then.i.i.i707: ; preds = %arraydestroy.body1086 +if.then.i.i.i740: ; preds = %arraydestroy.body1086 call void @_ZdlPv(ptr noundef nonnull %492) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit709 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit742 -_ZNSt6vectorIiSaIiEED2Ev.exit709: ; preds = %arraydestroy.body1086, %if.then.i.i.i707 +_ZNSt6vectorIiSaIiEED2Ev.exit742: ; preds = %arraydestroy.body1086, %if.then.i.i.i740 %arraydestroy.done1089 = icmp eq ptr %arraydestroy.element1088, %ref.tmp19 br i1 %arraydestroy.done1089, label %ehcleanup1097, label %arraydestroy.body1086 -ehcleanup1097: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit709, %lpad15 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %415, %lpad15 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit709 ] - %arrayinit.endOfInit.51 = phi ptr [ %arrayinit.element6, %lpad15 ], [ %arrayinit.endOfInit.50, %_ZNSt6vectorIiSaIiEED2Ev.exit709 ] - %cleanup.isactive598.54 = phi i1 [ true, %lpad15 ], [ %cleanup.isactive598.53, %_ZNSt6vectorIiSaIiEED2Ev.exit709 ] +ehcleanup1097: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit742, %lpad15 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %415, %lpad15 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit742 ] + %arrayinit.endOfInit.51 = phi ptr [ %arrayinit.element6, %lpad15 ], [ %arrayinit.endOfInit.50, %_ZNSt6vectorIiSaIiEED2Ev.exit742 ] + %cleanup.isactive598.54 = phi i1 [ true, %lpad15 ], [ %cleanup.isactive598.53, %_ZNSt6vectorIiSaIiEED2Ev.exit742 ] %493 = getelementptr inbounds %"class.std::vector.240", ptr %ref.tmp8, i64 2 br label %arraydestroy.body1099 -arraydestroy.body1099: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit714, %ehcleanup1097 - %arraydestroy.elementPast1100 = phi ptr [ %493, %ehcleanup1097 ], [ %arraydestroy.element1101, %_ZNSt6vectorIiSaIiEED2Ev.exit714 ] +arraydestroy.body1099: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit747, %ehcleanup1097 + %arraydestroy.elementPast1100 = phi ptr [ %493, %ehcleanup1097 ], [ %arraydestroy.element1101, %_ZNSt6vectorIiSaIiEED2Ev.exit747 ] %arraydestroy.element1101 = getelementptr inbounds %"class.std::vector.240", ptr %arraydestroy.elementPast1100, i64 -1 %494 = load ptr, ptr %arraydestroy.element1101, align 8 - %tobool.not.i.i.i711 = icmp eq ptr %494, null - br i1 %tobool.not.i.i.i711, label %_ZNSt6vectorIiSaIiEED2Ev.exit714, label %if.then.i.i.i712 + %tobool.not.i.i.i744 = icmp eq ptr %494, null + br i1 %tobool.not.i.i.i744, label %_ZNSt6vectorIiSaIiEED2Ev.exit747, label %if.then.i.i.i745 -if.then.i.i.i712: ; preds = %arraydestroy.body1099 +if.then.i.i.i745: ; preds = %arraydestroy.body1099 call void @_ZdlPv(ptr noundef nonnull %494) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit714 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit747 -_ZNSt6vectorIiSaIiEED2Ev.exit714: ; preds = %arraydestroy.body1099, %if.then.i.i.i712 +_ZNSt6vectorIiSaIiEED2Ev.exit747: ; preds = %arraydestroy.body1099, %if.then.i.i.i745 %arraydestroy.done1102 = icmp eq ptr %arraydestroy.element1101, %ref.tmp8 br i1 %arraydestroy.done1102, label %ehcleanup1110, label %arraydestroy.body1099 -ehcleanup1110: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit714, %lpad - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %414, %lpad ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit714 ] - %arrayinit.endOfInit.52 = phi ptr [ %arrayinit.element, %lpad ], [ %arrayinit.endOfInit.51, %_ZNSt6vectorIiSaIiEED2Ev.exit714 ] - %cleanup.isactive598.55 = phi i1 [ true, %lpad ], [ %cleanup.isactive598.54, %_ZNSt6vectorIiSaIiEED2Ev.exit714 ] +ehcleanup1110: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit747, %lpad + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %414, %lpad ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit747 ] + %arrayinit.endOfInit.52 = phi ptr [ %arrayinit.element, %lpad ], [ %arrayinit.endOfInit.51, %_ZNSt6vectorIiSaIiEED2Ev.exit747 ] + %cleanup.isactive598.55 = phi i1 [ true, %lpad ], [ %cleanup.isactive598.54, %_ZNSt6vectorIiSaIiEED2Ev.exit747 ] %495 = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i716 = icmp eq ptr %495, null - br i1 %tobool.not.i.i.i716, label %_ZNSt6vectorIiSaIiEED2Ev.exit719, label %if.then.i.i.i717 + %tobool.not.i.i.i749 = icmp eq ptr %495, null + br i1 %tobool.not.i.i.i749, label %_ZNSt6vectorIiSaIiEED2Ev.exit752, label %if.then.i.i.i750 -if.then.i.i.i717: ; preds = %ehcleanup1110 +if.then.i.i.i750: ; preds = %ehcleanup1110 call void @_ZdlPv(ptr noundef nonnull %495) #31 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit719 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit752 -_ZNSt6vectorIiSaIiEED2Ev.exit719: ; preds = %ehcleanup1110, %if.then.i.i.i717 +_ZNSt6vectorIiSaIiEED2Ev.exit752: ; preds = %ehcleanup1110, %if.then.i.i.i750 %arraydestroy.isempty1120 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.52 %or.cond19.not = select i1 %cleanup.isactive598.55, i1 %arraydestroy.isempty1120, i1 false br i1 %or.cond19.not, label %arraydestroy.body1121, label %eh.resume -arraydestroy.body1121: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit719, %arraydestroy.body1121 - %arraydestroy.elementPast1122 = phi ptr [ %arraydestroy.element1123, %arraydestroy.body1121 ], [ %arrayinit.endOfInit.52, %_ZNSt6vectorIiSaIiEED2Ev.exit719 ] +arraydestroy.body1121: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit752, %arraydestroy.body1121 + %arraydestroy.elementPast1122 = phi ptr [ %arraydestroy.element1123, %arraydestroy.body1121 ], [ %arrayinit.endOfInit.52, %_ZNSt6vectorIiSaIiEED2Ev.exit752 ] %arraydestroy.element1123 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %arraydestroy.elementPast1122, i64 -1 call fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element1123) #28 %arraydestroy.done1124 = icmp eq ptr %arraydestroy.element1123, %ref.tmp @@ -203674,25 +203677,25 @@ ehcleanup1142: ; preds = %lpad1139, %lpad1137 ehcleanup1143: ; preds = %ehcleanup1142, %lpad1134 %.pn76.pn = phi { ptr, i32 } [ %.pn76, %ehcleanup1142 ], [ %499, %lpad1134 ] %502 = load ptr, ptr %ref.tmp1129, align 8 - %cmp.not.i.i720 = icmp eq ptr %502, null - br i1 %cmp.not.i.i720, label %_ZN7testing7MessageD2Ev.exit724, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721 + %cmp.not.i.i753 = icmp eq ptr %502, null + br i1 %cmp.not.i.i753, label %_ZN7testing7MessageD2Ev.exit757, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i754 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721: ; preds = %ehcleanup1143 - %vtable.i.i.i722 = load ptr, ptr %502, align 8 - %vfn.i.i.i723 = getelementptr inbounds ptr, ptr %vtable.i.i.i722, i64 1 - %503 = load ptr, ptr %vfn.i.i.i723, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i754: ; preds = %ehcleanup1143 + %vtable.i.i.i755 = load ptr, ptr %502, align 8 + %vfn.i.i.i756 = getelementptr inbounds ptr, ptr %vtable.i.i.i755, i64 1 + %503 = load ptr, ptr %vfn.i.i.i756, align 8 call void %503(ptr noundef nonnull align 8 dereferenceable(128) %502) #28 - br label %_ZN7testing7MessageD2Ev.exit724 + br label %_ZN7testing7MessageD2Ev.exit757 -_ZN7testing7MessageD2Ev.exit724: ; preds = %ehcleanup1143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721 +_ZN7testing7MessageD2Ev.exit757: ; preds = %ehcleanup1143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i754 store ptr null, ptr %ref.tmp1129, align 8 br label %ehcleanup1144 if.end: ; preds = %invoke.cont1128, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %504 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i725 = icmp eq ptr %504, null - br i1 %cmp.not.i.i725, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i758 = icmp eq ptr %504, null + br i1 %cmp.not.i.i758, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %504) #28 @@ -203702,11 +203705,11 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i store ptr null, ptr %message_.i, align 8 %505 = load ptr, ptr %exemplars, align 8 - %506 = load ptr, ptr %_M_finish.i.i415, align 8 + %506 = load ptr, ptr %_M_finish.i.i448, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %505, %506 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i730, label %for.body.i.i.i.i726 + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i763, label %for.body.i.i.i.i759 -for.body.i.i.i.i726: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i +for.body.i.i.i.i759: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i ], [ %505, %_ZN7testing15AssertionResultD2Ev.exit ] %507 = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 %_M_finish.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %__first.addr.04.i.i.i.i, i64 0, i32 1 @@ -203714,8 +203717,8 @@ for.body.i.i.i.i726: ; preds = %_ZN7testing15Assert %cmp.not3.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %507, %508 br i1 %cmp.not3.i.i.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i.i.i.i.i.i -for.body.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i726, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i.i.i ], [ %507, %for.body.i.i.i.i726 ] +for.body.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i759, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i.i.i ], [ %507, %for.body.i.i.i.i759 ] %509 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %509, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIiSaIiEEEvPT_.exit.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i @@ -203733,43 +203736,43 @@ invoke.contthread-pre-split.i.i.i.i.i.i.i.i.i: ; preds = %_ZSt8_DestroyISt6ve %.pr.i.i.i.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i, align 8 br label %invoke.cont.i.i.i.i.i.i.i.i.i -invoke.cont.i.i.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i726 - %510 = phi ptr [ %.pr.i.i.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i.i.i ], [ %507, %for.body.i.i.i.i726 ] - %tobool.not.i.i.i.i.i.i.i.i.i.i.i727 = icmp eq ptr %510, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i727, label %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i728 +invoke.cont.i.i.i.i.i.i.i.i.i: ; preds = %invoke.contthread-pre-split.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i759 + %510 = phi ptr [ %.pr.i.i.i.i.i.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i.i.i.i.i.i ], [ %507, %for.body.i.i.i.i759 ] + %tobool.not.i.i.i.i.i.i.i.i.i.i.i760 = icmp eq ptr %510, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i760, label %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i761 -if.then.i.i.i.i.i.i.i.i.i.i.i728: ; preds = %invoke.cont.i.i.i.i.i.i.i.i.i +if.then.i.i.i.i.i.i.i.i.i.i.i761: ; preds = %invoke.cont.i.i.i.i.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %510) #31 br label %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i -_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i728, %invoke.cont.i.i.i.i.i.i.i.i.i +_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i761, %invoke.cont.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1597", ptr %__first.addr.04.i.i.i.i, i64 1 - %cmp.not.i.i.i.i729 = icmp eq ptr %incdec.ptr.i.i.i.i, %506 - br i1 %cmp.not.i.i.i.i729, label %invoke.cont.i730, label %for.body.i.i.i.i726, !llvm.loop !4776 + %cmp.not.i.i.i.i762 = icmp eq ptr %incdec.ptr.i.i.i.i, %506 + br i1 %cmp.not.i.i.i.i762, label %invoke.cont.i763, label %for.body.i.i.i.i759, !llvm.loop !4776 -invoke.cont.i730: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit - %tobool.not.i.i.i731 = icmp eq ptr %505, null - br i1 %tobool.not.i.i.i731, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EED2Ev.exit, label %if.then.i.i.i732 +invoke.cont.i763: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceISt6vectorIiSaIiEEEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit + %tobool.not.i.i.i764 = icmp eq ptr %505, null + br i1 %tobool.not.i.i.i764, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EED2Ev.exit, label %if.then.i.i.i765 -if.then.i.i.i732: ; preds = %invoke.cont.i730 +if.then.i.i.i765: ; preds = %invoke.cont.i763 call void @_ZdlPv(ptr noundef nonnull %505) #31 br label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EED2Ev.exit -_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i730, %if.then.i.i.i732 +_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i763, %if.then.i.i.i765 ret void -ehcleanup1144: ; preds = %_ZN7testing7MessageD2Ev.exit724, %lpad1130 - %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %_ZN7testing7MessageD2Ev.exit724 ], [ %498, %lpad1130 ] +ehcleanup1144: ; preds = %_ZN7testing7MessageD2Ev.exit757, %lpad1130 + %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %_ZN7testing7MessageD2Ev.exit757 ], [ %498, %lpad1130 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup1145 -ehcleanup1145: ; preds = %if.then.i.i.i42.i, %lpad.body.i505, %if.then.i.i.i.i.i, %lpad.i.i, %ehcleanup1144 - %.pn76.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn, %ehcleanup1144 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i ], [ %.pn46.pn.i.i, %lpad.body.i505 ], [ %.pn46.pn.i.i, %if.then.i.i.i42.i ] +ehcleanup1145: ; preds = %if.then.i.i.i43.i, %lpad.body.i538, %if.then.i.i.i.i.i, %lpad.i.i, %ehcleanup1144 + %.pn76.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn, %ehcleanup1144 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i ], [ %.pn46.pn.i.i, %lpad.body.i538 ], [ %.pn46.pn.i.i, %if.then.i.i.i43.i ] call fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIS_IiSaIiEEEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body1121, %_ZNSt6vectorIiSaIiEED2Ev.exit719, %ehcleanup1145 - %.pn76.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn.pn, %ehcleanup1145 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit719 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body1121 ] +eh.resume: ; preds = %arraydestroy.body1121, %_ZNSt6vectorIiSaIiEED2Ev.exit752, %ehcleanup1145 + %.pn76.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn76.pn.pn.pn, %ehcleanup1145 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit752 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body1121 ] resume { ptr, i32 } %.pn76.pn.pn.pn.pn } @@ -206293,8 +206296,7 @@ invoke.cont14.i: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 5 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp, ptr %add.ptr.i.i.i, ptr %20, ptr %19) to label %invoke.cont30.i unwind label %lpad.i, !noalias !4885 @@ -207405,7 +207407,7 @@ lpad.i.i: ; preds = %invoke.cont28 invoke.cont41: ; preds = %invoke.cont28 store ptr %call5.i.i.i.i1.i.i, ptr %ref.tmp31, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 1 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 4 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp31, i64 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 store i32 1, ptr %call5.i.i.i.i1.i.i, align 4 @@ -207427,163 +207429,163 @@ lpad.i.i31: ; preds = %invoke.cont47 invoke.cont61: ; preds = %invoke.cont47 store ptr %call5.i.i.i.i1.i.i30, ptr %ref.tmp50, align 8 - %add.ptr.i.i.i35 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i30, i64 2 + %add.ptr.i.i.i35 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i30, i64 8 %_M_end_of_storage.i.i.i36 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 2 store ptr %add.ptr.i.i.i35, ptr %_M_end_of_storage.i.i.i36, align 8 store i32 1, ptr %call5.i.i.i.i1.i.i30, align 4 %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i30.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i30, i64 4 store i32 1, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i30.sroa_idx, align 4 - %_M_finish.i.i.i37 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 - store ptr %add.ptr.i.i.i35, ptr %_M_finish.i.i.i37, align 8 + %_M_finish.i.i.i38 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 + store ptr %add.ptr.i.i.i35, ptr %_M_finish.i.i.i38, align 8 %arrayinit.element62 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element62, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i40 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont70 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463 + %call5.i.i.i.i1.i.i41 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont70 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496 invoke.cont70: ; preds = %invoke.cont61 - store ptr %call5.i.i.i.i1.i.i40, ptr %arrayinit.element62, align 8 - %add.ptr.i.i.i45 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i40, i64 2 - %_M_end_of_storage.i.i.i46 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i45, ptr %_M_end_of_storage.i.i.i46, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i40, align 4 - %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i40.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i40, i64 4 - store i32 1, ptr %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i40.sroa_idx, align 4 - %_M_finish.i.i.i47 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i45, ptr %_M_finish.i.i.i47, align 8 + store ptr %call5.i.i.i.i1.i.i41, ptr %arrayinit.element62, align 8 + %add.ptr.i.i.i46 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i41, i64 8 + %_M_end_of_storage.i.i.i47 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i46, ptr %_M_end_of_storage.i.i.i47, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i41, align 4 + %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i41.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i41, i64 4 + store i32 1, ptr %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i41.sroa_idx, align 4 + %_M_finish.i.i.i49 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i46, ptr %_M_finish.i.i.i49, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, ptr nonnull %ref.tmp50, i64 2) to label %invoke.cont81 unwind label %lpad80 invoke.cont81: ; preds = %invoke.cont70 %arrayinit.element82 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 6 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp84, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i51 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont96 unwind label %lpad.i.i52 + %call5.i.i.i.i1.i.i53 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont96 unwind label %lpad.i.i54 -lpad.i.i52: ; preds = %invoke.cont81 +lpad.i.i54: ; preds = %invoke.cont81 %2 = landingpad { ptr, i32 } cleanup br label %ehcleanup883 invoke.cont96: ; preds = %invoke.cont81 - store ptr %call5.i.i.i.i1.i.i51, ptr %ref.tmp84, align 8 - %add.ptr.i.i.i56 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i51, i64 3 - %_M_end_of_storage.i.i.i57 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 2 - store ptr %add.ptr.i.i.i56, ptr %_M_end_of_storage.i.i.i57, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i51, align 4 - %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i51.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i51, i64 4 - store i32 1, ptr %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i51.sroa_idx, align 4 - %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i51.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i51, i64 8 - store i32 1, ptr %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i51.sroa_idx, align 4 - %_M_finish.i.i.i58 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 1 - store ptr %add.ptr.i.i.i56, ptr %_M_finish.i.i.i58, align 8 + store ptr %call5.i.i.i.i1.i.i53, ptr %ref.tmp84, align 8 + %add.ptr.i.i.i58 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i53, i64 12 + %_M_end_of_storage.i.i.i59 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 2 + store ptr %add.ptr.i.i.i58, ptr %_M_end_of_storage.i.i.i59, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i53, align 4 + %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i53.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i53, i64 4 + store i32 1, ptr %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i53.sroa_idx, align 4 + %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i53.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i53, i64 8 + store i32 1, ptr %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i53.sroa_idx, align 4 + %_M_finish.i.i.i61 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 1 + store ptr %add.ptr.i.i.i58, ptr %_M_finish.i.i.i61, align 8 %arrayinit.element97 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element97, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i61 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont106 unwind label %lpad.i.i62 + %call5.i.i.i.i1.i.i64 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont106 unwind label %lpad.i.i65 -lpad.i.i62: ; preds = %invoke.cont96 +lpad.i.i65: ; preds = %invoke.cont96 %3 = landingpad { ptr, i32 } cleanup br label %lpad95.body invoke.cont106: ; preds = %invoke.cont96 - store ptr %call5.i.i.i.i1.i.i61, ptr %arrayinit.element97, align 8 - %add.ptr.i.i.i66 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i61, i64 3 - %_M_end_of_storage.i.i.i67 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i66, ptr %_M_end_of_storage.i.i.i67, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i61, align 4 - %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i61.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i61, i64 4 - store i32 1, ptr %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i61.sroa_idx, align 4 - %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i61.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i61, i64 8 - store i32 1, ptr %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i61.sroa_idx, align 4 - %_M_finish.i.i.i68 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i66, ptr %_M_finish.i.i.i68, align 8 + store ptr %call5.i.i.i.i1.i.i64, ptr %arrayinit.element97, align 8 + %add.ptr.i.i.i69 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i64, i64 12 + %_M_end_of_storage.i.i.i70 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i69, ptr %_M_end_of_storage.i.i.i70, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i64, align 4 + %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i64.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i64, i64 4 + store i32 1, ptr %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i64.sroa_idx, align 4 + %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i64.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i64, i64 8 + store i32 1, ptr %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i64.sroa_idx, align 4 + %_M_finish.i.i.i72 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i69, ptr %_M_finish.i.i.i72, align 8 %arrayinit.element107 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element107, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i73 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont116 unwind label %lpad.i.i74 + %call5.i.i.i.i1.i.i77 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont116 unwind label %lpad.i.i78 -lpad.i.i74: ; preds = %invoke.cont106 +lpad.i.i78: ; preds = %invoke.cont106 %4 = landingpad { ptr, i32 } cleanup br label %lpad95.body invoke.cont116: ; preds = %invoke.cont106 - store ptr %call5.i.i.i.i1.i.i73, ptr %arrayinit.element107, align 8 - %add.ptr.i.i.i78 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i73, i64 3 - %_M_end_of_storage.i.i.i79 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i78, ptr %_M_end_of_storage.i.i.i79, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i73, align 4 - %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i73.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i73, i64 4 - store i32 1, ptr %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i73.sroa_idx, align 4 - %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i73.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i73, i64 8 - store i32 1, ptr %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i73.sroa_idx, align 4 - %_M_finish.i.i.i80 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i78, ptr %_M_finish.i.i.i80, align 8 + store ptr %call5.i.i.i.i1.i.i77, ptr %arrayinit.element107, align 8 + %add.ptr.i.i.i82 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i77, i64 12 + %_M_end_of_storage.i.i.i83 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i82, ptr %_M_end_of_storage.i.i.i83, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i77, align 4 + %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i77.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i77, i64 4 + store i32 1, ptr %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i77.sroa_idx, align 4 + %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i77.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i77, i64 8 + store i32 1, ptr %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i77.sroa_idx, align 4 + %_M_finish.i.i.i85 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i82, ptr %_M_finish.i.i.i85, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element82, ptr nonnull %ref.tmp84, i64 3) to label %invoke.cont127 unwind label %lpad126 invoke.cont127: ; preds = %invoke.cont116 %arrayinit.element128 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 7 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp130, i8 0, i64 48, i1 false) - %call5.i.i.i.i1.i.i84 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont142 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469 + %call5.i.i.i.i1.i.i89 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont142 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502 invoke.cont142: ; preds = %invoke.cont127 %arrayinit.element133 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1 - store ptr %call5.i.i.i.i1.i.i84, ptr %arrayinit.element133, align 8 - %add.ptr.i.i.i89 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i84, i64 2 - %_M_end_of_storage.i.i.i90 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i89, ptr %_M_end_of_storage.i.i.i90, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i84, align 4 - %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i84.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i84, i64 4 - store i32 2, ptr %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i84.sroa_idx, align 4 - %_M_finish.i.i.i91 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i89, ptr %_M_finish.i.i.i91, align 8 + store ptr %call5.i.i.i.i1.i.i89, ptr %arrayinit.element133, align 8 + %add.ptr.i.i.i94 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i89, i64 8 + %_M_end_of_storage.i.i.i95 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i94, ptr %_M_end_of_storage.i.i.i95, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i89, align 4 + %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i89.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i89, i64 4 + store i32 2, ptr %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i89.sroa_idx, align 4 + %_M_finish.i.i.i97 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i94, ptr %_M_finish.i.i.i97, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element128, ptr nonnull %ref.tmp130, i64 2) to label %invoke.cont153 unwind label %lpad152 invoke.cont153: ; preds = %invoke.cont142 %arrayinit.element154 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %ref.tmp156, i8 0, i64 48, i1 false) - %call5.i.i.i.i1.i.i94 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont168 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472 + %call5.i.i.i.i1.i.i100 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont168 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505 invoke.cont168: ; preds = %invoke.cont153 %arrayinit.element159 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1 - store ptr %call5.i.i.i.i1.i.i94, ptr %arrayinit.element159, align 8 - %add.ptr.i.i.i99 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i94, i64 2 - %_M_end_of_storage.i.i.i100 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i99, ptr %_M_end_of_storage.i.i.i100, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i94, align 4 - %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i94, i64 4 - store i32 1, ptr %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i94.sroa_idx, align 4 - %_M_finish.i.i.i101 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i99, ptr %_M_finish.i.i.i101, align 8 + store ptr %call5.i.i.i.i1.i.i100, ptr %arrayinit.element159, align 8 + %add.ptr.i.i.i105 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i100, i64 8 + %_M_end_of_storage.i.i.i106 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i105, ptr %_M_end_of_storage.i.i.i106, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i100, align 4 + %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i100.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i100, i64 4 + store i32 1, ptr %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i100.sroa_idx, align 4 + %_M_finish.i.i.i108 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i105, ptr %_M_finish.i.i.i108, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element154, ptr nonnull %ref.tmp156, i64 2) to label %invoke.cont179 unwind label %lpad178 invoke.cont179: ; preds = %invoke.cont168 %arrayinit.element180 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 9 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp182, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i104 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont193 unwind label %lpad.i.i105 + %call5.i.i.i.i1.i.i111 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont193 unwind label %lpad.i.i112 -lpad.i.i105: ; preds = %invoke.cont179 +lpad.i.i112: ; preds = %invoke.cont179 %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup844 invoke.cont193: ; preds = %invoke.cont179 - store ptr %call5.i.i.i.i1.i.i104, ptr %ref.tmp182, align 8 - %add.ptr.i.i.i109 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i104, i64 2 - %_M_end_of_storage.i.i.i110 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 2 - store ptr %add.ptr.i.i.i109, ptr %_M_end_of_storage.i.i.i110, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i104, align 4 - %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i104.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i104, i64 4 - store i32 2, ptr %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i104.sroa_idx, align 4 - %_M_finish.i.i.i111 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 1 - store ptr %add.ptr.i.i.i109, ptr %_M_finish.i.i.i111, align 8 + store ptr %call5.i.i.i.i1.i.i111, ptr %ref.tmp182, align 8 + %add.ptr.i.i.i116 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i111, i64 8 + %_M_end_of_storage.i.i.i117 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 2 + store ptr %add.ptr.i.i.i116, ptr %_M_end_of_storage.i.i.i117, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i111, align 4 + %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i111.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i111, i64 4 + store i32 2, ptr %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i111.sroa_idx, align 4 + %_M_finish.i.i.i119 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 1 + store ptr %add.ptr.i.i.i116, ptr %_M_finish.i.i.i119, align 8 %arrayinit.element194 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp182, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element194, i8 0, i64 24, i1 false) invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element180, ptr nonnull %ref.tmp182, i64 2) @@ -207592,24 +207594,24 @@ invoke.cont193: ; preds = %invoke.cont179 invoke.cont205: ; preds = %invoke.cont193 %arrayinit.element206 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 10 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp208, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i114 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont219 unwind label %lpad.i.i115 + %call5.i.i.i.i1.i.i122 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont219 unwind label %lpad.i.i123 -lpad.i.i115: ; preds = %invoke.cont205 +lpad.i.i123: ; preds = %invoke.cont205 %6 = landingpad { ptr, i32 } cleanup br label %ehcleanup831 invoke.cont219: ; preds = %invoke.cont205 - store ptr %call5.i.i.i.i1.i.i114, ptr %ref.tmp208, align 8 - %add.ptr.i.i.i119 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i114, i64 2 - %_M_end_of_storage.i.i.i120 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 2 - store ptr %add.ptr.i.i.i119, ptr %_M_end_of_storage.i.i.i120, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i114, align 4 - %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i114.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i114, i64 4 - store i32 1, ptr %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i114.sroa_idx, align 4 - %_M_finish.i.i.i121 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 1 - store ptr %add.ptr.i.i.i119, ptr %_M_finish.i.i.i121, align 8 + store ptr %call5.i.i.i.i1.i.i122, ptr %ref.tmp208, align 8 + %add.ptr.i.i.i127 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i122, i64 8 + %_M_end_of_storage.i.i.i128 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 2 + store ptr %add.ptr.i.i.i127, ptr %_M_end_of_storage.i.i.i128, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i122, align 4 + %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i122.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i122, i64 4 + store i32 1, ptr %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i122.sroa_idx, align 4 + %_M_finish.i.i.i130 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 1 + store ptr %add.ptr.i.i.i127, ptr %_M_finish.i.i.i130, align 8 %arrayinit.element220 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp208, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element220, i8 0, i64 24, i1 false) invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element206, ptr nonnull %ref.tmp208, i64 2) @@ -207618,485 +207620,485 @@ invoke.cont219: ; preds = %invoke.cont205 invoke.cont231: ; preds = %invoke.cont219 %arrayinit.element232 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp234, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i124 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont245 unwind label %lpad.i.i125 + %call5.i.i.i.i1.i.i133 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont245 unwind label %lpad.i.i134 -lpad.i.i125: ; preds = %invoke.cont231 +lpad.i.i134: ; preds = %invoke.cont231 %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup818 invoke.cont245: ; preds = %invoke.cont231 - store ptr %call5.i.i.i.i1.i.i124, ptr %ref.tmp234, align 8 - %add.ptr.i.i.i129 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i124, i64 2 - %_M_end_of_storage.i.i.i130 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 2 - store ptr %add.ptr.i.i.i129, ptr %_M_end_of_storage.i.i.i130, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i124, align 4 - %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i124.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i124, i64 4 - store i32 2, ptr %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i124.sroa_idx, align 4 - %_M_finish.i.i.i131 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 1 - store ptr %add.ptr.i.i.i129, ptr %_M_finish.i.i.i131, align 8 + store ptr %call5.i.i.i.i1.i.i133, ptr %ref.tmp234, align 8 + %add.ptr.i.i.i138 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i133, i64 8 + %_M_end_of_storage.i.i.i139 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 2 + store ptr %add.ptr.i.i.i138, ptr %_M_end_of_storage.i.i.i139, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i133, align 4 + %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i133.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i133, i64 4 + store i32 2, ptr %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i133.sroa_idx, align 4 + %_M_finish.i.i.i141 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 1 + store ptr %add.ptr.i.i.i138, ptr %_M_finish.i.i.i141, align 8 %arrayinit.element246 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element246, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i134 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont254 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit475 + %call5.i.i.i.i1.i.i144 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont254 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508 invoke.cont254: ; preds = %invoke.cont245 - store ptr %call5.i.i.i.i1.i.i134, ptr %arrayinit.element246, align 8 - %add.ptr.i.i.i139 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i134, i64 2 - %_M_end_of_storage.i.i.i140 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i139, ptr %_M_end_of_storage.i.i.i140, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i134, align 4 - %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i134.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i134, i64 4 - store i32 4, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i134.sroa_idx, align 4 - %_M_finish.i.i.i141 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i139, ptr %_M_finish.i.i.i141, align 8 + store ptr %call5.i.i.i.i1.i.i144, ptr %arrayinit.element246, align 8 + %add.ptr.i.i.i149 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i144, i64 8 + %_M_end_of_storage.i.i.i150 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i149, ptr %_M_end_of_storage.i.i.i150, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i144, align 4 + %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i144.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i144, i64 4 + store i32 4, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i144.sroa_idx, align 4 + %_M_finish.i.i.i152 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i149, ptr %_M_finish.i.i.i152, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element232, ptr nonnull %ref.tmp234, i64 2) to label %invoke.cont265 unwind label %lpad264 invoke.cont265: ; preds = %invoke.cont254 %arrayinit.element266 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 12 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp268, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i145 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont279 unwind label %lpad.i.i146 + %call5.i.i.i.i1.i.i156 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont279 unwind label %lpad.i.i157 -lpad.i.i146: ; preds = %invoke.cont265 +lpad.i.i157: ; preds = %invoke.cont265 %8 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 invoke.cont279: ; preds = %invoke.cont265 - store ptr %call5.i.i.i.i1.i.i145, ptr %ref.tmp268, align 8 - %add.ptr.i.i.i150 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i145, i64 2 - %_M_end_of_storage.i.i.i151 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 2 - store ptr %add.ptr.i.i.i150, ptr %_M_end_of_storage.i.i.i151, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i145, align 4 - %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i145.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i145, i64 4 - store i32 2, ptr %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i145.sroa_idx, align 4 - %_M_finish.i.i.i152 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 1 - store ptr %add.ptr.i.i.i150, ptr %_M_finish.i.i.i152, align 8 + store ptr %call5.i.i.i.i1.i.i156, ptr %ref.tmp268, align 8 + %add.ptr.i.i.i161 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i156, i64 8 + %_M_end_of_storage.i.i.i162 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 2 + store ptr %add.ptr.i.i.i161, ptr %_M_end_of_storage.i.i.i162, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i156, align 4 + %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i156.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i156, i64 4 + store i32 2, ptr %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i156.sroa_idx, align 4 + %_M_finish.i.i.i164 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 1 + store ptr %add.ptr.i.i.i161, ptr %_M_finish.i.i.i164, align 8 %arrayinit.element280 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element280, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i155 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont288 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit478 + %call5.i.i.i.i1.i.i167 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont288 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 invoke.cont288: ; preds = %invoke.cont279 - store ptr %call5.i.i.i.i1.i.i155, ptr %arrayinit.element280, align 8 - %add.ptr.i.i.i160 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i155, i64 2 - %_M_end_of_storage.i.i.i161 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i160, ptr %_M_end_of_storage.i.i.i161, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i155, align 4 - %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i155.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i155, i64 4 - store i32 3, ptr %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i155.sroa_idx, align 4 - %_M_finish.i.i.i162 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i160, ptr %_M_finish.i.i.i162, align 8 + store ptr %call5.i.i.i.i1.i.i167, ptr %arrayinit.element280, align 8 + %add.ptr.i.i.i172 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i167, i64 8 + %_M_end_of_storage.i.i.i173 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i172, ptr %_M_end_of_storage.i.i.i173, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i167, align 4 + %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i167.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i167, i64 4 + store i32 3, ptr %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i167.sroa_idx, align 4 + %_M_finish.i.i.i175 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i172, ptr %_M_finish.i.i.i175, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element266, ptr nonnull %ref.tmp268, i64 2) to label %invoke.cont299 unwind label %lpad298 invoke.cont299: ; preds = %invoke.cont288 %arrayinit.element300 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 13 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp302, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i166 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont313 unwind label %lpad.i.i167 + %call5.i.i.i.i1.i.i179 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont313 unwind label %lpad.i.i180 -lpad.i.i167: ; preds = %invoke.cont299 +lpad.i.i180: ; preds = %invoke.cont299 %9 = landingpad { ptr, i32 } cleanup br label %ehcleanup792 invoke.cont313: ; preds = %invoke.cont299 - store ptr %call5.i.i.i.i1.i.i166, ptr %ref.tmp302, align 8 - %add.ptr.i.i.i171 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i166, i64 2 - %_M_end_of_storage.i.i.i172 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 2 - store ptr %add.ptr.i.i.i171, ptr %_M_end_of_storage.i.i.i172, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i166, align 4 - %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i166.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i166, i64 4 - store i32 3, ptr %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i166.sroa_idx, align 4 - %_M_finish.i.i.i173 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 1 - store ptr %add.ptr.i.i.i171, ptr %_M_finish.i.i.i173, align 8 + store ptr %call5.i.i.i.i1.i.i179, ptr %ref.tmp302, align 8 + %add.ptr.i.i.i184 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i179, i64 8 + %_M_end_of_storage.i.i.i185 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 2 + store ptr %add.ptr.i.i.i184, ptr %_M_end_of_storage.i.i.i185, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i179, align 4 + %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i179.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i179, i64 4 + store i32 3, ptr %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i179.sroa_idx, align 4 + %_M_finish.i.i.i187 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 1 + store ptr %add.ptr.i.i.i184, ptr %_M_finish.i.i.i187, align 8 %arrayinit.element314 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element314, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i176 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont322 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit481 + %call5.i.i.i.i1.i.i190 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont322 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 invoke.cont322: ; preds = %invoke.cont313 - store ptr %call5.i.i.i.i1.i.i176, ptr %arrayinit.element314, align 8 - %add.ptr.i.i.i181 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i176, i64 2 - %_M_end_of_storage.i.i.i182 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i181, ptr %_M_end_of_storage.i.i.i182, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i176, align 4 - %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i176.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i176, i64 4 - store i32 4, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i176.sroa_idx, align 4 - %_M_finish.i.i.i183 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i181, ptr %_M_finish.i.i.i183, align 8 + store ptr %call5.i.i.i.i1.i.i190, ptr %arrayinit.element314, align 8 + %add.ptr.i.i.i195 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i190, i64 8 + %_M_end_of_storage.i.i.i196 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i195, ptr %_M_end_of_storage.i.i.i196, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i190, align 4 + %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i190.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i190, i64 4 + store i32 4, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i190.sroa_idx, align 4 + %_M_finish.i.i.i198 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i195, ptr %_M_finish.i.i.i198, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element300, ptr nonnull %ref.tmp302, i64 2) to label %invoke.cont333 unwind label %lpad332 invoke.cont333: ; preds = %invoke.cont322 %arrayinit.element334 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 14 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp336, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i187 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont347 unwind label %lpad.i.i188 + %call5.i.i.i.i1.i.i202 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont347 unwind label %lpad.i.i203 -lpad.i.i188: ; preds = %invoke.cont333 +lpad.i.i203: ; preds = %invoke.cont333 %10 = landingpad { ptr, i32 } cleanup br label %ehcleanup779 invoke.cont347: ; preds = %invoke.cont333 - store ptr %call5.i.i.i.i1.i.i187, ptr %ref.tmp336, align 8 - %add.ptr.i.i.i192 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i187, i64 2 - %_M_end_of_storage.i.i.i193 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 2 - store ptr %add.ptr.i.i.i192, ptr %_M_end_of_storage.i.i.i193, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i187, align 4 - %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i187.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i187, i64 4 - store i32 3, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i187.sroa_idx, align 4 - %_M_finish.i.i.i194 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 1 - store ptr %add.ptr.i.i.i192, ptr %_M_finish.i.i.i194, align 8 + store ptr %call5.i.i.i.i1.i.i202, ptr %ref.tmp336, align 8 + %add.ptr.i.i.i207 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i202, i64 8 + %_M_end_of_storage.i.i.i208 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 2 + store ptr %add.ptr.i.i.i207, ptr %_M_end_of_storage.i.i.i208, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i202, align 4 + %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i202.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i202, i64 4 + store i32 3, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i202.sroa_idx, align 4 + %_M_finish.i.i.i210 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 1 + store ptr %add.ptr.i.i.i207, ptr %_M_finish.i.i.i210, align 8 %arrayinit.element348 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element348, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i197 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont356 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit484 + %call5.i.i.i.i1.i.i213 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont356 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 invoke.cont356: ; preds = %invoke.cont347 - store ptr %call5.i.i.i.i1.i.i197, ptr %arrayinit.element348, align 8 - %add.ptr.i.i.i202 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i197, i64 2 - %_M_end_of_storage.i.i.i203 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i202, ptr %_M_end_of_storage.i.i.i203, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i197, align 4 - %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i197.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i197, i64 4 - store i32 2, ptr %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i197.sroa_idx, align 4 - %_M_finish.i.i.i204 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i202, ptr %_M_finish.i.i.i204, align 8 + store ptr %call5.i.i.i.i1.i.i213, ptr %arrayinit.element348, align 8 + %add.ptr.i.i.i218 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i213, i64 8 + %_M_end_of_storage.i.i.i219 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i218, ptr %_M_end_of_storage.i.i.i219, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i213, align 4 + %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i213.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i213, i64 4 + store i32 2, ptr %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i213.sroa_idx, align 4 + %_M_finish.i.i.i221 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i218, ptr %_M_finish.i.i.i221, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element334, ptr nonnull %ref.tmp336, i64 2) to label %invoke.cont367 unwind label %lpad366 invoke.cont367: ; preds = %invoke.cont356 %arrayinit.element368 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 15 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp370, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i208 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont381 unwind label %lpad.i.i209 + %call5.i.i.i.i1.i.i225 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont381 unwind label %lpad.i.i226 -lpad.i.i209: ; preds = %invoke.cont367 +lpad.i.i226: ; preds = %invoke.cont367 %11 = landingpad { ptr, i32 } cleanup br label %ehcleanup766 invoke.cont381: ; preds = %invoke.cont367 - store ptr %call5.i.i.i.i1.i.i208, ptr %ref.tmp370, align 8 - %add.ptr.i.i.i213 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i208, i64 2 - %_M_end_of_storage.i.i.i214 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 2 - store ptr %add.ptr.i.i.i213, ptr %_M_end_of_storage.i.i.i214, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i208, align 4 - %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i208.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i208, i64 4 - store i32 4, ptr %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i208.sroa_idx, align 4 - %_M_finish.i.i.i215 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 1 - store ptr %add.ptr.i.i.i213, ptr %_M_finish.i.i.i215, align 8 + store ptr %call5.i.i.i.i1.i.i225, ptr %ref.tmp370, align 8 + %add.ptr.i.i.i230 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i225, i64 8 + %_M_end_of_storage.i.i.i231 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 2 + store ptr %add.ptr.i.i.i230, ptr %_M_end_of_storage.i.i.i231, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i225, align 4 + %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i225.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i225, i64 4 + store i32 4, ptr %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i225.sroa_idx, align 4 + %_M_finish.i.i.i233 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 1 + store ptr %add.ptr.i.i.i230, ptr %_M_finish.i.i.i233, align 8 %arrayinit.element382 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i218 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont390 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit487 + %call5.i.i.i.i1.i.i236 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont390 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 invoke.cont390: ; preds = %invoke.cont381 - store ptr %call5.i.i.i.i1.i.i218, ptr %arrayinit.element382, align 8 - %add.ptr.i.i.i223 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i218, i64 2 - %_M_end_of_storage.i.i.i224 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i223, ptr %_M_end_of_storage.i.i.i224, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i218, align 4 - %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i218.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i218, i64 4 - store i32 3, ptr %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i218.sroa_idx, align 4 - %_M_finish.i.i.i225 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i223, ptr %_M_finish.i.i.i225, align 8 + store ptr %call5.i.i.i.i1.i.i236, ptr %arrayinit.element382, align 8 + %add.ptr.i.i.i241 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i236, i64 8 + %_M_end_of_storage.i.i.i242 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i241, ptr %_M_end_of_storage.i.i.i242, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i236, align 4 + %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i236.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i236, i64 4 + store i32 3, ptr %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i236.sroa_idx, align 4 + %_M_finish.i.i.i244 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i241, ptr %_M_finish.i.i.i244, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element368, ptr nonnull %ref.tmp370, i64 2) to label %invoke.cont401 unwind label %lpad400 invoke.cont401: ; preds = %invoke.cont390 %arrayinit.element402 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp404, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i229 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont415 unwind label %lpad.i.i230 + %call5.i.i.i.i1.i.i248 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont415 unwind label %lpad.i.i249 -lpad.i.i230: ; preds = %invoke.cont401 +lpad.i.i249: ; preds = %invoke.cont401 %12 = landingpad { ptr, i32 } cleanup br label %ehcleanup753 invoke.cont415: ; preds = %invoke.cont401 - store ptr %call5.i.i.i.i1.i.i229, ptr %ref.tmp404, align 8 - %add.ptr.i.i.i234 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i229, i64 2 - %_M_end_of_storage.i.i.i235 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 2 - store ptr %add.ptr.i.i.i234, ptr %_M_end_of_storage.i.i.i235, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i229, align 4 - %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i229.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i229, i64 4 - store i32 4, ptr %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i229.sroa_idx, align 4 - %_M_finish.i.i.i236 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 1 - store ptr %add.ptr.i.i.i234, ptr %_M_finish.i.i.i236, align 8 + store ptr %call5.i.i.i.i1.i.i248, ptr %ref.tmp404, align 8 + %add.ptr.i.i.i253 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i248, i64 8 + %_M_end_of_storage.i.i.i254 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 2 + store ptr %add.ptr.i.i.i253, ptr %_M_end_of_storage.i.i.i254, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i248, align 4 + %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i248.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i248, i64 4 + store i32 4, ptr %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i248.sroa_idx, align 4 + %_M_finish.i.i.i256 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 1 + store ptr %add.ptr.i.i.i253, ptr %_M_finish.i.i.i256, align 8 %arrayinit.element416 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element416, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i239 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont424 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit490 + %call5.i.i.i.i1.i.i259 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont424 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 invoke.cont424: ; preds = %invoke.cont415 - store ptr %call5.i.i.i.i1.i.i239, ptr %arrayinit.element416, align 8 - %add.ptr.i.i.i244 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i239, i64 2 - %_M_end_of_storage.i.i.i245 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i244, ptr %_M_end_of_storage.i.i.i245, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i239, align 4 - %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i239.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i239, i64 4 - store i32 2, ptr %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i239.sroa_idx, align 4 - %_M_finish.i.i.i246 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i244, ptr %_M_finish.i.i.i246, align 8 + store ptr %call5.i.i.i.i1.i.i259, ptr %arrayinit.element416, align 8 + %add.ptr.i.i.i264 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i259, i64 8 + %_M_end_of_storage.i.i.i265 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i264, ptr %_M_end_of_storage.i.i.i265, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i259, align 4 + %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i259.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i259, i64 4 + store i32 2, ptr %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i259.sroa_idx, align 4 + %_M_finish.i.i.i267 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i264, ptr %_M_finish.i.i.i267, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element402, ptr nonnull %ref.tmp404, i64 2) to label %invoke.cont435 unwind label %lpad434 invoke.cont435: ; preds = %invoke.cont424 %arrayinit.element436 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 17 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp438, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i250 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont449 unwind label %lpad.i.i251 + %call5.i.i.i.i1.i.i271 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont449 unwind label %lpad.i.i272 -lpad.i.i251: ; preds = %invoke.cont435 +lpad.i.i272: ; preds = %invoke.cont435 %13 = landingpad { ptr, i32 } cleanup br label %ehcleanup740 invoke.cont449: ; preds = %invoke.cont435 - store ptr %call5.i.i.i.i1.i.i250, ptr %ref.tmp438, align 8 - %add.ptr.i.i.i255 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i250, i64 2 - %_M_end_of_storage.i.i.i256 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 2 - store ptr %add.ptr.i.i.i255, ptr %_M_end_of_storage.i.i.i256, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i250, align 4 - %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i250.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i250, i64 4 - store i32 3, ptr %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i250.sroa_idx, align 4 - %_M_finish.i.i.i257 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 1 - store ptr %add.ptr.i.i.i255, ptr %_M_finish.i.i.i257, align 8 + store ptr %call5.i.i.i.i1.i.i271, ptr %ref.tmp438, align 8 + %add.ptr.i.i.i276 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i271, i64 8 + %_M_end_of_storage.i.i.i277 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 2 + store ptr %add.ptr.i.i.i276, ptr %_M_end_of_storage.i.i.i277, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i271, align 4 + %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i271.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i271, i64 4 + store i32 3, ptr %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i271.sroa_idx, align 4 + %_M_finish.i.i.i279 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 1 + store ptr %add.ptr.i.i.i276, ptr %_M_finish.i.i.i279, align 8 %arrayinit.element450 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element450, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i260 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont458 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit493 + %call5.i.i.i.i1.i.i282 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont458 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 invoke.cont458: ; preds = %invoke.cont449 - store ptr %call5.i.i.i.i1.i.i260, ptr %arrayinit.element450, align 8 - %add.ptr.i.i.i265 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i260, i64 2 - %_M_end_of_storage.i.i.i266 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i265, ptr %_M_end_of_storage.i.i.i266, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i260, align 4 - %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i260.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i260, i64 4 - store i32 4, ptr %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i260.sroa_idx, align 4 - %_M_finish.i.i.i267 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i265, ptr %_M_finish.i.i.i267, align 8 + store ptr %call5.i.i.i.i1.i.i282, ptr %arrayinit.element450, align 8 + %add.ptr.i.i.i287 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i282, i64 8 + %_M_end_of_storage.i.i.i288 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i287, ptr %_M_end_of_storage.i.i.i288, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i282, align 4 + %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i282.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i282, i64 4 + store i32 4, ptr %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i282.sroa_idx, align 4 + %_M_finish.i.i.i290 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i287, ptr %_M_finish.i.i.i290, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element436, ptr nonnull %ref.tmp438, i64 2) to label %invoke.cont469 unwind label %lpad468 invoke.cont469: ; preds = %invoke.cont458 %arrayinit.element470 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 18 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp472, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i271 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont483 unwind label %lpad.i.i272 + %call5.i.i.i.i1.i.i294 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont483 unwind label %lpad.i.i295 -lpad.i.i272: ; preds = %invoke.cont469 +lpad.i.i295: ; preds = %invoke.cont469 %14 = landingpad { ptr, i32 } cleanup br label %ehcleanup727 invoke.cont483: ; preds = %invoke.cont469 - store ptr %call5.i.i.i.i1.i.i271, ptr %ref.tmp472, align 8 - %add.ptr.i.i.i276 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i271, i64 2 - %_M_end_of_storage.i.i.i277 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 - store ptr %add.ptr.i.i.i276, ptr %_M_end_of_storage.i.i.i277, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i271, align 4 - %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i271.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i271, i64 4 - store i32 3, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i271.sroa_idx, align 4 - %_M_finish.i.i.i278 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 - store ptr %add.ptr.i.i.i276, ptr %_M_finish.i.i.i278, align 8 + store ptr %call5.i.i.i.i1.i.i294, ptr %ref.tmp472, align 8 + %add.ptr.i.i.i299 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i294, i64 8 + %_M_end_of_storage.i.i.i300 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 + store ptr %add.ptr.i.i.i299, ptr %_M_end_of_storage.i.i.i300, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i294, align 4 + %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i294.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i294, i64 4 + store i32 3, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i294.sroa_idx, align 4 + %_M_finish.i.i.i302 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 + store ptr %add.ptr.i.i.i299, ptr %_M_finish.i.i.i302, align 8 %arrayinit.element484 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element484, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i281 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont492 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496 + %call5.i.i.i.i1.i.i305 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont492 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 invoke.cont492: ; preds = %invoke.cont483 - store ptr %call5.i.i.i.i1.i.i281, ptr %arrayinit.element484, align 8 - %add.ptr.i.i.i286 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i281, i64 2 - %_M_end_of_storage.i.i.i287 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i286, ptr %_M_end_of_storage.i.i.i287, align 8 - store i32 4, ptr %call5.i.i.i.i1.i.i281, align 4 - %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i281.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i281, i64 4 - store i32 1, ptr %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i281.sroa_idx, align 4 - %_M_finish.i.i.i288 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i286, ptr %_M_finish.i.i.i288, align 8 + store ptr %call5.i.i.i.i1.i.i305, ptr %arrayinit.element484, align 8 + %add.ptr.i.i.i310 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i305, i64 8 + %_M_end_of_storage.i.i.i311 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i310, ptr %_M_end_of_storage.i.i.i311, align 8 + store i32 4, ptr %call5.i.i.i.i1.i.i305, align 4 + %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i305.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i305, i64 4 + store i32 1, ptr %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i305.sroa_idx, align 4 + %_M_finish.i.i.i313 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i310, ptr %_M_finish.i.i.i313, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, ptr nonnull %ref.tmp472, i64 2) to label %invoke.cont503 unwind label %lpad502 invoke.cont503: ; preds = %invoke.cont492 %arrayinit.element504 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 19 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp506, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i292 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont517 unwind label %lpad.i.i293 + %call5.i.i.i.i1.i.i317 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont517 unwind label %lpad.i.i318 -lpad.i.i293: ; preds = %invoke.cont503 +lpad.i.i318: ; preds = %invoke.cont503 %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup714 invoke.cont517: ; preds = %invoke.cont503 - store ptr %call5.i.i.i.i1.i.i292, ptr %ref.tmp506, align 8 - %add.ptr.i.i.i297 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i292, i64 2 - %_M_end_of_storage.i.i.i298 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 2 - store ptr %add.ptr.i.i.i297, ptr %_M_end_of_storage.i.i.i298, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i292, align 4 - %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i292.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i292, i64 4 - store i32 4, ptr %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i292.sroa_idx, align 4 - %_M_finish.i.i.i299 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 1 - store ptr %add.ptr.i.i.i297, ptr %_M_finish.i.i.i299, align 8 + store ptr %call5.i.i.i.i1.i.i317, ptr %ref.tmp506, align 8 + %add.ptr.i.i.i322 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i317, i64 8 + %_M_end_of_storage.i.i.i323 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 2 + store ptr %add.ptr.i.i.i322, ptr %_M_end_of_storage.i.i.i323, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i317, align 4 + %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i317.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i317, i64 4 + store i32 4, ptr %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i317.sroa_idx, align 4 + %_M_finish.i.i.i325 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 1 + store ptr %add.ptr.i.i.i322, ptr %_M_finish.i.i.i325, align 8 %arrayinit.element518 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element518, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i302 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont526 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 + %call5.i.i.i.i1.i.i328 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont526 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 invoke.cont526: ; preds = %invoke.cont517 - store ptr %call5.i.i.i.i1.i.i302, ptr %arrayinit.element518, align 8 - %add.ptr.i.i.i307 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i302, i64 2 - %_M_end_of_storage.i.i.i308 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i307, ptr %_M_end_of_storage.i.i.i308, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i302, align 4 - %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i302.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i302, i64 4 - store i32 3, ptr %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i302.sroa_idx, align 4 - %_M_finish.i.i.i309 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i307, ptr %_M_finish.i.i.i309, align 8 + store ptr %call5.i.i.i.i1.i.i328, ptr %arrayinit.element518, align 8 + %add.ptr.i.i.i333 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i328, i64 8 + %_M_end_of_storage.i.i.i334 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i333, ptr %_M_end_of_storage.i.i.i334, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i328, align 4 + %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i328.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i328, i64 4 + store i32 3, ptr %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i328.sroa_idx, align 4 + %_M_finish.i.i.i336 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i333, ptr %_M_finish.i.i.i336, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element504, ptr nonnull %ref.tmp506, i64 2) to label %invoke.cont537 unwind label %lpad536 invoke.cont537: ; preds = %invoke.cont526 %arrayinit.element538 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 20 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp540, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i313 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont551 unwind label %lpad.i.i314 + %call5.i.i.i.i1.i.i340 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont551 unwind label %lpad.i.i341 -lpad.i.i314: ; preds = %invoke.cont537 +lpad.i.i341: ; preds = %invoke.cont537 %16 = landingpad { ptr, i32 } cleanup br label %ehcleanup701 invoke.cont551: ; preds = %invoke.cont537 - store ptr %call5.i.i.i.i1.i.i313, ptr %ref.tmp540, align 8 - %add.ptr.i.i.i318 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i313, i64 2 - %_M_end_of_storage.i.i.i319 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 2 - store ptr %add.ptr.i.i.i318, ptr %_M_end_of_storage.i.i.i319, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i313, align 4 - %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i313.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i313, i64 4 - store i32 4, ptr %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i313.sroa_idx, align 4 - %_M_finish.i.i.i320 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 1 - store ptr %add.ptr.i.i.i318, ptr %_M_finish.i.i.i320, align 8 + store ptr %call5.i.i.i.i1.i.i340, ptr %ref.tmp540, align 8 + %add.ptr.i.i.i345 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i340, i64 8 + %_M_end_of_storage.i.i.i346 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 2 + store ptr %add.ptr.i.i.i345, ptr %_M_end_of_storage.i.i.i346, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i340, align 4 + %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i340.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i340, i64 4 + store i32 4, ptr %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i340.sroa_idx, align 4 + %_M_finish.i.i.i348 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 1 + store ptr %add.ptr.i.i.i345, ptr %_M_finish.i.i.i348, align 8 %arrayinit.element552 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element552, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i323 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont560 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502 + %call5.i.i.i.i1.i.i351 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont560 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 invoke.cont560: ; preds = %invoke.cont551 - store ptr %call5.i.i.i.i1.i.i323, ptr %arrayinit.element552, align 8 - %add.ptr.i.i.i328 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i323, i64 2 - %_M_end_of_storage.i.i.i329 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i328, ptr %_M_end_of_storage.i.i.i329, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i323, align 4 - %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i323.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i323, i64 4 - store i32 1, ptr %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i323.sroa_idx, align 4 - %_M_finish.i.i.i330 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i328, ptr %_M_finish.i.i.i330, align 8 + store ptr %call5.i.i.i.i1.i.i351, ptr %arrayinit.element552, align 8 + %add.ptr.i.i.i356 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i351, i64 8 + %_M_end_of_storage.i.i.i357 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i356, ptr %_M_end_of_storage.i.i.i357, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i351, align 4 + %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i351.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i351, i64 4 + store i32 1, ptr %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i351.sroa_idx, align 4 + %_M_finish.i.i.i359 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i356, ptr %_M_finish.i.i.i359, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element538, ptr nonnull %ref.tmp540, i64 2) to label %invoke.cont571 unwind label %lpad570 invoke.cont571: ; preds = %invoke.cont560 %arrayinit.element572 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 21 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp574, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i334 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont585 unwind label %lpad.i.i335 + %call5.i.i.i.i1.i.i363 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont585 unwind label %lpad.i.i364 -lpad.i.i335: ; preds = %invoke.cont571 +lpad.i.i364: ; preds = %invoke.cont571 %17 = landingpad { ptr, i32 } cleanup br label %ehcleanup688 invoke.cont585: ; preds = %invoke.cont571 - store ptr %call5.i.i.i.i1.i.i334, ptr %ref.tmp574, align 8 - %add.ptr.i.i.i339 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i334, i64 2 - %_M_end_of_storage.i.i.i340 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 2 - store ptr %add.ptr.i.i.i339, ptr %_M_end_of_storage.i.i.i340, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i334, align 4 - %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i334.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i334, i64 4 - store i32 4, ptr %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i334.sroa_idx, align 4 - %_M_finish.i.i.i341 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 1 - store ptr %add.ptr.i.i.i339, ptr %_M_finish.i.i.i341, align 8 + store ptr %call5.i.i.i.i1.i.i363, ptr %ref.tmp574, align 8 + %add.ptr.i.i.i368 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i363, i64 8 + %_M_end_of_storage.i.i.i369 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 2 + store ptr %add.ptr.i.i.i368, ptr %_M_end_of_storage.i.i.i369, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i363, align 4 + %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i363.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i363, i64 4 + store i32 4, ptr %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i363.sroa_idx, align 4 + %_M_finish.i.i.i371 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 1 + store ptr %add.ptr.i.i.i368, ptr %_M_finish.i.i.i371, align 8 %arrayinit.element586 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element586, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i344 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont594 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505 + %call5.i.i.i.i1.i.i374 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont594 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 invoke.cont594: ; preds = %invoke.cont585 - store ptr %call5.i.i.i.i1.i.i344, ptr %arrayinit.element586, align 8 - %add.ptr.i.i.i349 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i344, i64 2 - %_M_end_of_storage.i.i.i350 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i349, ptr %_M_end_of_storage.i.i.i350, align 8 - store i32 1, ptr %call5.i.i.i.i1.i.i344, align 4 - %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i344.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i344, i64 4 - store i32 2, ptr %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i344.sroa_idx, align 4 - %_M_finish.i.i.i351 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i349, ptr %_M_finish.i.i.i351, align 8 + store ptr %call5.i.i.i.i1.i.i374, ptr %arrayinit.element586, align 8 + %add.ptr.i.i.i379 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i374, i64 8 + %_M_end_of_storage.i.i.i380 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i379, ptr %_M_end_of_storage.i.i.i380, align 8 + store i32 1, ptr %call5.i.i.i.i1.i.i374, align 4 + %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i374.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i374, i64 4 + store i32 2, ptr %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i374.sroa_idx, align 4 + %_M_finish.i.i.i382 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i379, ptr %_M_finish.i.i.i382, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element572, ptr nonnull %ref.tmp574, i64 2) to label %invoke.cont605 unwind label %lpad604 invoke.cont605: ; preds = %invoke.cont594 %arrayinit.element606 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 22 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp608, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i355 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont619 unwind label %lpad.i.i356 + %call5.i.i.i.i1.i.i386 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont619 unwind label %lpad.i.i387 -lpad.i.i356: ; preds = %invoke.cont605 +lpad.i.i387: ; preds = %invoke.cont605 %18 = landingpad { ptr, i32 } cleanup br label %ehcleanup675 invoke.cont619: ; preds = %invoke.cont605 - store ptr %call5.i.i.i.i1.i.i355, ptr %ref.tmp608, align 8 - %add.ptr.i.i.i360 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i355, i64 2 - %_M_end_of_storage.i.i.i361 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 2 - store ptr %add.ptr.i.i.i360, ptr %_M_end_of_storage.i.i.i361, align 8 - store i32 3, ptr %call5.i.i.i.i1.i.i355, align 4 - %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i355.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i355, i64 4 - store i32 4, ptr %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i355.sroa_idx, align 4 - %_M_finish.i.i.i362 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 1 - store ptr %add.ptr.i.i.i360, ptr %_M_finish.i.i.i362, align 8 + store ptr %call5.i.i.i.i1.i.i386, ptr %ref.tmp608, align 8 + %add.ptr.i.i.i391 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i386, i64 8 + %_M_end_of_storage.i.i.i392 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 2 + store ptr %add.ptr.i.i.i391, ptr %_M_end_of_storage.i.i.i392, align 8 + store i32 3, ptr %call5.i.i.i.i1.i.i386, align 4 + %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i386.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i386, i64 4 + store i32 4, ptr %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i386.sroa_idx, align 4 + %_M_finish.i.i.i394 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 1 + store ptr %add.ptr.i.i.i391, ptr %_M_finish.i.i.i394, align 8 %arrayinit.element620 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element620, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i365 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont628 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508 + %call5.i.i.i.i1.i.i397 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont628 unwind label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 invoke.cont628: ; preds = %invoke.cont619 - store ptr %call5.i.i.i.i1.i.i365, ptr %arrayinit.element620, align 8 - %add.ptr.i.i.i370 = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i365, i64 2 - %_M_end_of_storage.i.i.i371 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i370, ptr %_M_end_of_storage.i.i.i371, align 8 - store i32 2, ptr %call5.i.i.i.i1.i.i365, align 4 - %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i365.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i365, i64 4 - store i32 1, ptr %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i365.sroa_idx, align 4 - %_M_finish.i.i.i372 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr.i.i.i370, ptr %_M_finish.i.i.i372, align 8 + store ptr %call5.i.i.i.i1.i.i397, ptr %arrayinit.element620, align 8 + %add.ptr.i.i.i402 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i397, i64 8 + %_M_end_of_storage.i.i.i403 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i402, ptr %_M_end_of_storage.i.i.i403, align 8 + store i32 2, ptr %call5.i.i.i.i1.i.i397, align 4 + %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i397.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i397, i64 4 + store i32 1, ptr %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i397.sroa_idx, align 4 + %_M_finish.i.i.i405 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 1 + store ptr %add.ptr.i.i.i402, ptr %_M_finish.i.i.i405, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEEC2ESt16initializer_listIS4_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, ptr nonnull %ref.tmp608, i64 2) to label %invoke.cont639 unwind label %lpad638 invoke.cont639: ; preds = %invoke.cont628 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %call5.i.i.i.i5.i377 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + %call5.i.i.i.i5.i410 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 to label %call5.i.i.i.i5.i.noexc unwind label %lpad644 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont639 - store ptr %call5.i.i.i.i5.i377, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %call5.i.i.i.i5.i377, i64 23 + store ptr %call5.i.i.i.i5.i410, ptr %exemplars, align 8 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i410, i64 552 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>>, std::allocator>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i, %call5.i.i.i.i5.i.noexc - %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i377, %call5.i.i.i.i5.i.noexc ] + %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i410, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.idx.i = phi i64 [ %__first.addr.09.i.i.i.i.i.add.i, %for.inc.i.i.i.i.i.i ], [ 0, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.ptr.i = getelementptr inbounds i8, ptr %ref.tmp, i64 %__first.addr.09.i.i.i.i.i.idx.i invoke fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceIiEESaIS2_EEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %__cur.010.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.09.i.i.i.i.i.ptr.i) @@ -208113,7 +208115,7 @@ lpad.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. catch ptr null %20 = extractvalue { ptr, i32 } %19, 0 %21 = call ptr @__cxa_begin_catch(ptr %20) #28 - call fastcc void @_ZSt8_DestroyIPN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEEEvT_S9_(ptr noundef nonnull %call5.i.i.i.i5.i377, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) + call fastcc void @_ZSt8_DestroyIPN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEEEvT_S9_(ptr noundef nonnull %call5.i.i.i.i5.i410, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) invoke void @__cxa_rethrow() #30 to label %unreachable.i.i.i.i.i.i unwind label %lpad2.i.i.i.i.i.i @@ -208121,7 +208123,7 @@ lpad2.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i %22 = landingpad { ptr, i32 } cleanup invoke void @__cxa_end_catch() - to label %lpad.body.i376 unwind label %terminate.lpad.i.i.i.i.i.i + to label %lpad.body.i409 unwind label %terminate.lpad.i.i.i.i.i.i terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i %23 = landingpad { ptr, i32 } @@ -208133,12 +208135,12 @@ terminate.lpad.i.i.i.i.i.i: ; preds = %lpad2.i.i.i.i.i.i unreachable.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i.i unreachable -lpad.body.i376: ; preds = %lpad2.i.i.i.i.i.i +lpad.body.i409: ; preds = %lpad2.i.i.i.i.i.i %this.val.pre.i = load ptr, ptr %exemplars, align 8 %tobool.not.i.i.i = icmp eq ptr %this.val.pre.i, null br i1 %tobool.not.i.i.i, label %lpad644.body, label %if.then.i.i6.i -if.then.i.i6.i: ; preds = %lpad.body.i376 +if.then.i.i6.i: ; preds = %lpad.body.i409 call void @_ZdlPv(ptr noundef nonnull %this.val.pre.i) #31 br label %lpad644.body @@ -208197,8 +208199,8 @@ arraydestroy.body658: ; preds = %_ZN12_GLOBAL__N_117 %arraydestroy.elementPast659 = phi ptr [ %28, %arraydestroy.done650 ], [ %arraydestroy.element660, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit ] %arraydestroy.element660 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast659, i64 -1 %arraydestroy.element660.val = load ptr, ptr %arraydestroy.element660, align 8 - %tobool.not.i.i.i.i379 = icmp eq ptr %arraydestroy.element660.val, null - br i1 %tobool.not.i.i.i.i379, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, label %if.then.i.i.i.i + %tobool.not.i.i.i.i412 = icmp eq ptr %arraydestroy.element660.val, null + br i1 %tobool.not.i.i.i.i412, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %arraydestroy.body658 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element660.val) #31 @@ -208212,393 +208214,393 @@ arraydestroy.done662: ; preds = %_ZN12_GLOBAL__N_117 %29 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 2 br label %arraydestroy.body670 -arraydestroy.body670: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit382, %arraydestroy.done662 - %arraydestroy.elementPast671 = phi ptr [ %29, %arraydestroy.done662 ], [ %arraydestroy.element672, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit382 ] +arraydestroy.body670: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415, %arraydestroy.done662 + %arraydestroy.elementPast671 = phi ptr [ %29, %arraydestroy.done662 ], [ %arraydestroy.element672, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415 ] %arraydestroy.element672 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast671, i64 -1 %arraydestroy.element672.val = load ptr, ptr %arraydestroy.element672, align 8 - %tobool.not.i.i.i.i380 = icmp eq ptr %arraydestroy.element672.val, null - br i1 %tobool.not.i.i.i.i380, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit382, label %if.then.i.i.i.i381 + %tobool.not.i.i.i.i413 = icmp eq ptr %arraydestroy.element672.val, null + br i1 %tobool.not.i.i.i.i413, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415, label %if.then.i.i.i.i414 -if.then.i.i.i.i381: ; preds = %arraydestroy.body670 +if.then.i.i.i.i414: ; preds = %arraydestroy.body670 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element672.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit382 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit382: ; preds = %arraydestroy.body670, %if.then.i.i.i.i381 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415: ; preds = %arraydestroy.body670, %if.then.i.i.i.i414 %arraydestroy.done673 = icmp eq ptr %arraydestroy.element672, %ref.tmp574 br i1 %arraydestroy.done673, label %arraydestroy.done674, label %arraydestroy.body670 -arraydestroy.done674: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit382 +arraydestroy.done674: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415 %30 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 2 br label %arraydestroy.body683 -arraydestroy.body683: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit385, %arraydestroy.done674 - %arraydestroy.elementPast684 = phi ptr [ %30, %arraydestroy.done674 ], [ %arraydestroy.element685, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit385 ] +arraydestroy.body683: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418, %arraydestroy.done674 + %arraydestroy.elementPast684 = phi ptr [ %30, %arraydestroy.done674 ], [ %arraydestroy.element685, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418 ] %arraydestroy.element685 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast684, i64 -1 %arraydestroy.element685.val = load ptr, ptr %arraydestroy.element685, align 8 - %tobool.not.i.i.i.i383 = icmp eq ptr %arraydestroy.element685.val, null - br i1 %tobool.not.i.i.i.i383, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit385, label %if.then.i.i.i.i384 + %tobool.not.i.i.i.i416 = icmp eq ptr %arraydestroy.element685.val, null + br i1 %tobool.not.i.i.i.i416, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418, label %if.then.i.i.i.i417 -if.then.i.i.i.i384: ; preds = %arraydestroy.body683 +if.then.i.i.i.i417: ; preds = %arraydestroy.body683 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element685.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit385 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit385: ; preds = %arraydestroy.body683, %if.then.i.i.i.i384 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418: ; preds = %arraydestroy.body683, %if.then.i.i.i.i417 %arraydestroy.done686 = icmp eq ptr %arraydestroy.element685, %ref.tmp540 br i1 %arraydestroy.done686, label %arraydestroy.done687, label %arraydestroy.body683 -arraydestroy.done687: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit385 +arraydestroy.done687: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418 %31 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 2 br label %arraydestroy.body696 -arraydestroy.body696: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit388, %arraydestroy.done687 - %arraydestroy.elementPast697 = phi ptr [ %31, %arraydestroy.done687 ], [ %arraydestroy.element698, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit388 ] +arraydestroy.body696: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421, %arraydestroy.done687 + %arraydestroy.elementPast697 = phi ptr [ %31, %arraydestroy.done687 ], [ %arraydestroy.element698, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421 ] %arraydestroy.element698 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast697, i64 -1 %arraydestroy.element698.val = load ptr, ptr %arraydestroy.element698, align 8 - %tobool.not.i.i.i.i386 = icmp eq ptr %arraydestroy.element698.val, null - br i1 %tobool.not.i.i.i.i386, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit388, label %if.then.i.i.i.i387 + %tobool.not.i.i.i.i419 = icmp eq ptr %arraydestroy.element698.val, null + br i1 %tobool.not.i.i.i.i419, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421, label %if.then.i.i.i.i420 -if.then.i.i.i.i387: ; preds = %arraydestroy.body696 +if.then.i.i.i.i420: ; preds = %arraydestroy.body696 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element698.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit388 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit388: ; preds = %arraydestroy.body696, %if.then.i.i.i.i387 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421: ; preds = %arraydestroy.body696, %if.then.i.i.i.i420 %arraydestroy.done699 = icmp eq ptr %arraydestroy.element698, %ref.tmp506 br i1 %arraydestroy.done699, label %arraydestroy.done700, label %arraydestroy.body696 -arraydestroy.done700: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit388 +arraydestroy.done700: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421 %32 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 2 br label %arraydestroy.body709 -arraydestroy.body709: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit391, %arraydestroy.done700 - %arraydestroy.elementPast710 = phi ptr [ %32, %arraydestroy.done700 ], [ %arraydestroy.element711, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit391 ] +arraydestroy.body709: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424, %arraydestroy.done700 + %arraydestroy.elementPast710 = phi ptr [ %32, %arraydestroy.done700 ], [ %arraydestroy.element711, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424 ] %arraydestroy.element711 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast710, i64 -1 %arraydestroy.element711.val = load ptr, ptr %arraydestroy.element711, align 8 - %tobool.not.i.i.i.i389 = icmp eq ptr %arraydestroy.element711.val, null - br i1 %tobool.not.i.i.i.i389, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit391, label %if.then.i.i.i.i390 + %tobool.not.i.i.i.i422 = icmp eq ptr %arraydestroy.element711.val, null + br i1 %tobool.not.i.i.i.i422, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424, label %if.then.i.i.i.i423 -if.then.i.i.i.i390: ; preds = %arraydestroy.body709 +if.then.i.i.i.i423: ; preds = %arraydestroy.body709 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element711.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit391 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit391: ; preds = %arraydestroy.body709, %if.then.i.i.i.i390 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424: ; preds = %arraydestroy.body709, %if.then.i.i.i.i423 %arraydestroy.done712 = icmp eq ptr %arraydestroy.element711, %ref.tmp472 br i1 %arraydestroy.done712, label %arraydestroy.done713, label %arraydestroy.body709 -arraydestroy.done713: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit391 +arraydestroy.done713: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424 %33 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 2 br label %arraydestroy.body722 -arraydestroy.body722: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit394, %arraydestroy.done713 - %arraydestroy.elementPast723 = phi ptr [ %33, %arraydestroy.done713 ], [ %arraydestroy.element724, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit394 ] +arraydestroy.body722: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427, %arraydestroy.done713 + %arraydestroy.elementPast723 = phi ptr [ %33, %arraydestroy.done713 ], [ %arraydestroy.element724, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427 ] %arraydestroy.element724 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast723, i64 -1 %arraydestroy.element724.val = load ptr, ptr %arraydestroy.element724, align 8 - %tobool.not.i.i.i.i392 = icmp eq ptr %arraydestroy.element724.val, null - br i1 %tobool.not.i.i.i.i392, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit394, label %if.then.i.i.i.i393 + %tobool.not.i.i.i.i425 = icmp eq ptr %arraydestroy.element724.val, null + br i1 %tobool.not.i.i.i.i425, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427, label %if.then.i.i.i.i426 -if.then.i.i.i.i393: ; preds = %arraydestroy.body722 +if.then.i.i.i.i426: ; preds = %arraydestroy.body722 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element724.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit394 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit394: ; preds = %arraydestroy.body722, %if.then.i.i.i.i393 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427: ; preds = %arraydestroy.body722, %if.then.i.i.i.i426 %arraydestroy.done725 = icmp eq ptr %arraydestroy.element724, %ref.tmp438 br i1 %arraydestroy.done725, label %arraydestroy.done726, label %arraydestroy.body722 -arraydestroy.done726: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit394 +arraydestroy.done726: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427 %34 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 2 br label %arraydestroy.body735 -arraydestroy.body735: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit397, %arraydestroy.done726 - %arraydestroy.elementPast736 = phi ptr [ %34, %arraydestroy.done726 ], [ %arraydestroy.element737, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit397 ] +arraydestroy.body735: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430, %arraydestroy.done726 + %arraydestroy.elementPast736 = phi ptr [ %34, %arraydestroy.done726 ], [ %arraydestroy.element737, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430 ] %arraydestroy.element737 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast736, i64 -1 %arraydestroy.element737.val = load ptr, ptr %arraydestroy.element737, align 8 - %tobool.not.i.i.i.i395 = icmp eq ptr %arraydestroy.element737.val, null - br i1 %tobool.not.i.i.i.i395, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit397, label %if.then.i.i.i.i396 + %tobool.not.i.i.i.i428 = icmp eq ptr %arraydestroy.element737.val, null + br i1 %tobool.not.i.i.i.i428, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430, label %if.then.i.i.i.i429 -if.then.i.i.i.i396: ; preds = %arraydestroy.body735 +if.then.i.i.i.i429: ; preds = %arraydestroy.body735 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element737.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit397 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit397: ; preds = %arraydestroy.body735, %if.then.i.i.i.i396 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430: ; preds = %arraydestroy.body735, %if.then.i.i.i.i429 %arraydestroy.done738 = icmp eq ptr %arraydestroy.element737, %ref.tmp404 br i1 %arraydestroy.done738, label %arraydestroy.done739, label %arraydestroy.body735 -arraydestroy.done739: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit397 +arraydestroy.done739: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430 %35 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 2 br label %arraydestroy.body748 -arraydestroy.body748: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit400, %arraydestroy.done739 - %arraydestroy.elementPast749 = phi ptr [ %35, %arraydestroy.done739 ], [ %arraydestroy.element750, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit400 ] +arraydestroy.body748: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433, %arraydestroy.done739 + %arraydestroy.elementPast749 = phi ptr [ %35, %arraydestroy.done739 ], [ %arraydestroy.element750, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433 ] %arraydestroy.element750 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast749, i64 -1 %arraydestroy.element750.val = load ptr, ptr %arraydestroy.element750, align 8 - %tobool.not.i.i.i.i398 = icmp eq ptr %arraydestroy.element750.val, null - br i1 %tobool.not.i.i.i.i398, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit400, label %if.then.i.i.i.i399 + %tobool.not.i.i.i.i431 = icmp eq ptr %arraydestroy.element750.val, null + br i1 %tobool.not.i.i.i.i431, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433, label %if.then.i.i.i.i432 -if.then.i.i.i.i399: ; preds = %arraydestroy.body748 +if.then.i.i.i.i432: ; preds = %arraydestroy.body748 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element750.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit400 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit400: ; preds = %arraydestroy.body748, %if.then.i.i.i.i399 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433: ; preds = %arraydestroy.body748, %if.then.i.i.i.i432 %arraydestroy.done751 = icmp eq ptr %arraydestroy.element750, %ref.tmp370 br i1 %arraydestroy.done751, label %arraydestroy.done752, label %arraydestroy.body748 -arraydestroy.done752: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit400 +arraydestroy.done752: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433 %36 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 2 br label %arraydestroy.body761 -arraydestroy.body761: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit403, %arraydestroy.done752 - %arraydestroy.elementPast762 = phi ptr [ %36, %arraydestroy.done752 ], [ %arraydestroy.element763, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit403 ] +arraydestroy.body761: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436, %arraydestroy.done752 + %arraydestroy.elementPast762 = phi ptr [ %36, %arraydestroy.done752 ], [ %arraydestroy.element763, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436 ] %arraydestroy.element763 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast762, i64 -1 %arraydestroy.element763.val = load ptr, ptr %arraydestroy.element763, align 8 - %tobool.not.i.i.i.i401 = icmp eq ptr %arraydestroy.element763.val, null - br i1 %tobool.not.i.i.i.i401, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit403, label %if.then.i.i.i.i402 + %tobool.not.i.i.i.i434 = icmp eq ptr %arraydestroy.element763.val, null + br i1 %tobool.not.i.i.i.i434, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436, label %if.then.i.i.i.i435 -if.then.i.i.i.i402: ; preds = %arraydestroy.body761 +if.then.i.i.i.i435: ; preds = %arraydestroy.body761 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element763.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit403 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit403: ; preds = %arraydestroy.body761, %if.then.i.i.i.i402 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436: ; preds = %arraydestroy.body761, %if.then.i.i.i.i435 %arraydestroy.done764 = icmp eq ptr %arraydestroy.element763, %ref.tmp336 br i1 %arraydestroy.done764, label %arraydestroy.done765, label %arraydestroy.body761 -arraydestroy.done765: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit403 +arraydestroy.done765: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436 %37 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 2 br label %arraydestroy.body774 -arraydestroy.body774: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit406, %arraydestroy.done765 - %arraydestroy.elementPast775 = phi ptr [ %37, %arraydestroy.done765 ], [ %arraydestroy.element776, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit406 ] +arraydestroy.body774: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439, %arraydestroy.done765 + %arraydestroy.elementPast775 = phi ptr [ %37, %arraydestroy.done765 ], [ %arraydestroy.element776, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439 ] %arraydestroy.element776 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast775, i64 -1 %arraydestroy.element776.val = load ptr, ptr %arraydestroy.element776, align 8 - %tobool.not.i.i.i.i404 = icmp eq ptr %arraydestroy.element776.val, null - br i1 %tobool.not.i.i.i.i404, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit406, label %if.then.i.i.i.i405 + %tobool.not.i.i.i.i437 = icmp eq ptr %arraydestroy.element776.val, null + br i1 %tobool.not.i.i.i.i437, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439, label %if.then.i.i.i.i438 -if.then.i.i.i.i405: ; preds = %arraydestroy.body774 +if.then.i.i.i.i438: ; preds = %arraydestroy.body774 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element776.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit406 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit406: ; preds = %arraydestroy.body774, %if.then.i.i.i.i405 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439: ; preds = %arraydestroy.body774, %if.then.i.i.i.i438 %arraydestroy.done777 = icmp eq ptr %arraydestroy.element776, %ref.tmp302 br i1 %arraydestroy.done777, label %arraydestroy.done778, label %arraydestroy.body774 -arraydestroy.done778: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit406 +arraydestroy.done778: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439 %38 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 2 br label %arraydestroy.body787 -arraydestroy.body787: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit409, %arraydestroy.done778 - %arraydestroy.elementPast788 = phi ptr [ %38, %arraydestroy.done778 ], [ %arraydestroy.element789, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit409 ] +arraydestroy.body787: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit442, %arraydestroy.done778 + %arraydestroy.elementPast788 = phi ptr [ %38, %arraydestroy.done778 ], [ %arraydestroy.element789, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit442 ] %arraydestroy.element789 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast788, i64 -1 %arraydestroy.element789.val = load ptr, ptr %arraydestroy.element789, align 8 - %tobool.not.i.i.i.i407 = icmp eq ptr %arraydestroy.element789.val, null - br i1 %tobool.not.i.i.i.i407, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit409, label %if.then.i.i.i.i408 + %tobool.not.i.i.i.i440 = icmp eq ptr %arraydestroy.element789.val, null + br i1 %tobool.not.i.i.i.i440, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit442, label %if.then.i.i.i.i441 -if.then.i.i.i.i408: ; preds = %arraydestroy.body787 +if.then.i.i.i.i441: ; preds = %arraydestroy.body787 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element789.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit409 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit442 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit409: ; preds = %arraydestroy.body787, %if.then.i.i.i.i408 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit442: ; preds = %arraydestroy.body787, %if.then.i.i.i.i441 %arraydestroy.done790 = icmp eq ptr %arraydestroy.element789, %ref.tmp268 br i1 %arraydestroy.done790, label %arraydestroy.done791, label %arraydestroy.body787 -arraydestroy.done791: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit409 +arraydestroy.done791: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit442 %39 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 2 br label %arraydestroy.body800 -arraydestroy.body800: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit412, %arraydestroy.done791 - %arraydestroy.elementPast801 = phi ptr [ %39, %arraydestroy.done791 ], [ %arraydestroy.element802, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit412 ] +arraydestroy.body800: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit445, %arraydestroy.done791 + %arraydestroy.elementPast801 = phi ptr [ %39, %arraydestroy.done791 ], [ %arraydestroy.element802, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit445 ] %arraydestroy.element802 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast801, i64 -1 %arraydestroy.element802.val = load ptr, ptr %arraydestroy.element802, align 8 - %tobool.not.i.i.i.i410 = icmp eq ptr %arraydestroy.element802.val, null - br i1 %tobool.not.i.i.i.i410, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit412, label %if.then.i.i.i.i411 + %tobool.not.i.i.i.i443 = icmp eq ptr %arraydestroy.element802.val, null + br i1 %tobool.not.i.i.i.i443, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit445, label %if.then.i.i.i.i444 -if.then.i.i.i.i411: ; preds = %arraydestroy.body800 +if.then.i.i.i.i444: ; preds = %arraydestroy.body800 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element802.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit412 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit445 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit412: ; preds = %arraydestroy.body800, %if.then.i.i.i.i411 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit445: ; preds = %arraydestroy.body800, %if.then.i.i.i.i444 %arraydestroy.done803 = icmp eq ptr %arraydestroy.element802, %ref.tmp234 br i1 %arraydestroy.done803, label %arraydestroy.done804, label %arraydestroy.body800 -arraydestroy.done804: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit412 +arraydestroy.done804: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit445 %40 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp208, i64 2 br label %arraydestroy.body813 -arraydestroy.body813: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415, %arraydestroy.done804 - %arraydestroy.elementPast814 = phi ptr [ %40, %arraydestroy.done804 ], [ %arraydestroy.element815, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415 ] +arraydestroy.body813: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit448, %arraydestroy.done804 + %arraydestroy.elementPast814 = phi ptr [ %40, %arraydestroy.done804 ], [ %arraydestroy.element815, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit448 ] %arraydestroy.element815 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast814, i64 -1 %arraydestroy.element815.val = load ptr, ptr %arraydestroy.element815, align 8 - %tobool.not.i.i.i.i413 = icmp eq ptr %arraydestroy.element815.val, null - br i1 %tobool.not.i.i.i.i413, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415, label %if.then.i.i.i.i414 + %tobool.not.i.i.i.i446 = icmp eq ptr %arraydestroy.element815.val, null + br i1 %tobool.not.i.i.i.i446, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit448, label %if.then.i.i.i.i447 -if.then.i.i.i.i414: ; preds = %arraydestroy.body813 +if.then.i.i.i.i447: ; preds = %arraydestroy.body813 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element815.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit448 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415: ; preds = %arraydestroy.body813, %if.then.i.i.i.i414 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit448: ; preds = %arraydestroy.body813, %if.then.i.i.i.i447 %arraydestroy.done816 = icmp eq ptr %arraydestroy.element815, %ref.tmp208 br i1 %arraydestroy.done816, label %arraydestroy.done817, label %arraydestroy.body813 -arraydestroy.done817: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit415 +arraydestroy.done817: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit448 %41 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp182, i64 2 br label %arraydestroy.body826 -arraydestroy.body826: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418, %arraydestroy.done817 - %arraydestroy.elementPast827 = phi ptr [ %41, %arraydestroy.done817 ], [ %arraydestroy.element828, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418 ] +arraydestroy.body826: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit451, %arraydestroy.done817 + %arraydestroy.elementPast827 = phi ptr [ %41, %arraydestroy.done817 ], [ %arraydestroy.element828, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit451 ] %arraydestroy.element828 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast827, i64 -1 %arraydestroy.element828.val = load ptr, ptr %arraydestroy.element828, align 8 - %tobool.not.i.i.i.i416 = icmp eq ptr %arraydestroy.element828.val, null - br i1 %tobool.not.i.i.i.i416, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418, label %if.then.i.i.i.i417 + %tobool.not.i.i.i.i449 = icmp eq ptr %arraydestroy.element828.val, null + br i1 %tobool.not.i.i.i.i449, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit451, label %if.then.i.i.i.i450 -if.then.i.i.i.i417: ; preds = %arraydestroy.body826 +if.then.i.i.i.i450: ; preds = %arraydestroy.body826 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element828.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit451 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418: ; preds = %arraydestroy.body826, %if.then.i.i.i.i417 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit451: ; preds = %arraydestroy.body826, %if.then.i.i.i.i450 %arraydestroy.done829 = icmp eq ptr %arraydestroy.element828, %ref.tmp182 br i1 %arraydestroy.done829, label %arraydestroy.done830, label %arraydestroy.body826 -arraydestroy.done830: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit418 +arraydestroy.done830: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit451 %42 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 2 br label %arraydestroy.body839 -arraydestroy.body839: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421, %arraydestroy.done830 - %arraydestroy.elementPast840 = phi ptr [ %42, %arraydestroy.done830 ], [ %arraydestroy.element841, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421 ] +arraydestroy.body839: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit454, %arraydestroy.done830 + %arraydestroy.elementPast840 = phi ptr [ %42, %arraydestroy.done830 ], [ %arraydestroy.element841, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit454 ] %arraydestroy.element841 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast840, i64 -1 %arraydestroy.element841.val = load ptr, ptr %arraydestroy.element841, align 8 - %tobool.not.i.i.i.i419 = icmp eq ptr %arraydestroy.element841.val, null - br i1 %tobool.not.i.i.i.i419, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421, label %if.then.i.i.i.i420 + %tobool.not.i.i.i.i452 = icmp eq ptr %arraydestroy.element841.val, null + br i1 %tobool.not.i.i.i.i452, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit454, label %if.then.i.i.i.i453 -if.then.i.i.i.i420: ; preds = %arraydestroy.body839 +if.then.i.i.i.i453: ; preds = %arraydestroy.body839 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element841.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit454 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421: ; preds = %arraydestroy.body839, %if.then.i.i.i.i420 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit454: ; preds = %arraydestroy.body839, %if.then.i.i.i.i453 %arraydestroy.done842 = icmp eq ptr %arraydestroy.element841, %ref.tmp156 br i1 %arraydestroy.done842, label %arraydestroy.done843, label %arraydestroy.body839 -arraydestroy.done843: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit421 +arraydestroy.done843: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit454 %43 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 2 br label %arraydestroy.body852 -arraydestroy.body852: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424, %arraydestroy.done843 - %arraydestroy.elementPast853 = phi ptr [ %43, %arraydestroy.done843 ], [ %arraydestroy.element854, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424 ] +arraydestroy.body852: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit457, %arraydestroy.done843 + %arraydestroy.elementPast853 = phi ptr [ %43, %arraydestroy.done843 ], [ %arraydestroy.element854, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit457 ] %arraydestroy.element854 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast853, i64 -1 %arraydestroy.element854.val = load ptr, ptr %arraydestroy.element854, align 8 - %tobool.not.i.i.i.i422 = icmp eq ptr %arraydestroy.element854.val, null - br i1 %tobool.not.i.i.i.i422, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424, label %if.then.i.i.i.i423 + %tobool.not.i.i.i.i455 = icmp eq ptr %arraydestroy.element854.val, null + br i1 %tobool.not.i.i.i.i455, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit457, label %if.then.i.i.i.i456 -if.then.i.i.i.i423: ; preds = %arraydestroy.body852 +if.then.i.i.i.i456: ; preds = %arraydestroy.body852 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element854.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit457 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424: ; preds = %arraydestroy.body852, %if.then.i.i.i.i423 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit457: ; preds = %arraydestroy.body852, %if.then.i.i.i.i456 %arraydestroy.done855 = icmp eq ptr %arraydestroy.element854, %ref.tmp130 br i1 %arraydestroy.done855, label %arraydestroy.done856, label %arraydestroy.body852 -arraydestroy.done856: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit424 +arraydestroy.done856: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit457 %44 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 3 br label %arraydestroy.body865 -arraydestroy.body865: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427, %arraydestroy.done856 - %arraydestroy.elementPast866 = phi ptr [ %44, %arraydestroy.done856 ], [ %arraydestroy.element867, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427 ] +arraydestroy.body865: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit460, %arraydestroy.done856 + %arraydestroy.elementPast866 = phi ptr [ %44, %arraydestroy.done856 ], [ %arraydestroy.element867, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit460 ] %arraydestroy.element867 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast866, i64 -1 %arraydestroy.element867.val = load ptr, ptr %arraydestroy.element867, align 8 - %tobool.not.i.i.i.i425 = icmp eq ptr %arraydestroy.element867.val, null - br i1 %tobool.not.i.i.i.i425, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427, label %if.then.i.i.i.i426 + %tobool.not.i.i.i.i458 = icmp eq ptr %arraydestroy.element867.val, null + br i1 %tobool.not.i.i.i.i458, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit460, label %if.then.i.i.i.i459 -if.then.i.i.i.i426: ; preds = %arraydestroy.body865 +if.then.i.i.i.i459: ; preds = %arraydestroy.body865 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element867.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit460 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427: ; preds = %arraydestroy.body865, %if.then.i.i.i.i426 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit460: ; preds = %arraydestroy.body865, %if.then.i.i.i.i459 %arraydestroy.done868 = icmp eq ptr %arraydestroy.element867, %ref.tmp84 br i1 %arraydestroy.done868, label %arraydestroy.done869, label %arraydestroy.body865 -arraydestroy.done869: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit427 +arraydestroy.done869: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit460 %45 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 2 br label %arraydestroy.body878 -arraydestroy.body878: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430, %arraydestroy.done869 - %arraydestroy.elementPast879 = phi ptr [ %45, %arraydestroy.done869 ], [ %arraydestroy.element880, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430 ] +arraydestroy.body878: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463, %arraydestroy.done869 + %arraydestroy.elementPast879 = phi ptr [ %45, %arraydestroy.done869 ], [ %arraydestroy.element880, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463 ] %arraydestroy.element880 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast879, i64 -1 %arraydestroy.element880.val = load ptr, ptr %arraydestroy.element880, align 8 - %tobool.not.i.i.i.i428 = icmp eq ptr %arraydestroy.element880.val, null - br i1 %tobool.not.i.i.i.i428, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430, label %if.then.i.i.i.i429 + %tobool.not.i.i.i.i461 = icmp eq ptr %arraydestroy.element880.val, null + br i1 %tobool.not.i.i.i.i461, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463, label %if.then.i.i.i.i462 -if.then.i.i.i.i429: ; preds = %arraydestroy.body878 +if.then.i.i.i.i462: ; preds = %arraydestroy.body878 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element880.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430: ; preds = %arraydestroy.body878, %if.then.i.i.i.i429 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463: ; preds = %arraydestroy.body878, %if.then.i.i.i.i462 %arraydestroy.done881 = icmp eq ptr %arraydestroy.element880, %ref.tmp50 br i1 %arraydestroy.done881, label %arraydestroy.done882, label %arraydestroy.body878 -arraydestroy.done882: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit430 +arraydestroy.done882: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463 %arraydestroy.element893.val = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i.i431 = icmp eq ptr %arraydestroy.element893.val, null - br i1 %tobool.not.i.i.i.i431, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433, label %if.then.i.i.i.i432 + %tobool.not.i.i.i.i464 = icmp eq ptr %arraydestroy.element893.val, null + br i1 %tobool.not.i.i.i.i464, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466, label %if.then.i.i.i.i465 -if.then.i.i.i.i432: ; preds = %arraydestroy.done882 +if.then.i.i.i.i465: ; preds = %arraydestroy.done882 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element893.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433: ; preds = %arraydestroy.done882, %if.then.i.i.i.i432 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466: ; preds = %arraydestroy.done882, %if.then.i.i.i.i465 %46 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp19, i64 3 br label %arraydestroy.body904 -arraydestroy.body904: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433 - %arraydestroy.elementPast905 = phi ptr [ %46, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit433 ], [ %arraydestroy.element906, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436 ] +arraydestroy.body904: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 + %arraydestroy.elementPast905 = phi ptr [ %46, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 ], [ %arraydestroy.element906, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469 ] %arraydestroy.element906 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast905, i64 -1 %arraydestroy.element906.val = load ptr, ptr %arraydestroy.element906, align 8 - %tobool.not.i.i.i.i434 = icmp eq ptr %arraydestroy.element906.val, null - br i1 %tobool.not.i.i.i.i434, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436, label %if.then.i.i.i.i435 + %tobool.not.i.i.i.i467 = icmp eq ptr %arraydestroy.element906.val, null + br i1 %tobool.not.i.i.i.i467, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469, label %if.then.i.i.i.i468 -if.then.i.i.i.i435: ; preds = %arraydestroy.body904 +if.then.i.i.i.i468: ; preds = %arraydestroy.body904 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element906.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436: ; preds = %arraydestroy.body904, %if.then.i.i.i.i435 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469: ; preds = %arraydestroy.body904, %if.then.i.i.i.i468 %arraydestroy.done907 = icmp eq ptr %arraydestroy.element906, %ref.tmp19 br i1 %arraydestroy.done907, label %arraydestroy.done908, label %arraydestroy.body904 -arraydestroy.done908: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit436 +arraydestroy.done908: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469 %47 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp8, i64 2 br label %arraydestroy.body917 -arraydestroy.body917: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439, %arraydestroy.done908 - %arraydestroy.elementPast918 = phi ptr [ %47, %arraydestroy.done908 ], [ %arraydestroy.element919, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439 ] +arraydestroy.body917: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472, %arraydestroy.done908 + %arraydestroy.elementPast918 = phi ptr [ %47, %arraydestroy.done908 ], [ %arraydestroy.element919, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472 ] %arraydestroy.element919 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast918, i64 -1 %arraydestroy.element919.val = load ptr, ptr %arraydestroy.element919, align 8 - %tobool.not.i.i.i.i437 = icmp eq ptr %arraydestroy.element919.val, null - br i1 %tobool.not.i.i.i.i437, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439, label %if.then.i.i.i.i438 + %tobool.not.i.i.i.i470 = icmp eq ptr %arraydestroy.element919.val, null + br i1 %tobool.not.i.i.i.i470, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472, label %if.then.i.i.i.i471 -if.then.i.i.i.i438: ; preds = %arraydestroy.body917 +if.then.i.i.i.i471: ; preds = %arraydestroy.body917 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element919.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439: ; preds = %arraydestroy.body917, %if.then.i.i.i.i438 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472: ; preds = %arraydestroy.body917, %if.then.i.i.i.i471 %arraydestroy.done920 = icmp eq ptr %arraydestroy.element919, %ref.tmp8 br i1 %arraydestroy.done920, label %arraydestroy.done921, label %arraydestroy.body917 -arraydestroy.done921: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit439 +arraydestroy.done921: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472 %arraydestroy.element932.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i440 = icmp eq ptr %arraydestroy.element932.val, null - br i1 %tobool.not.i.i.i.i440, label %for.body.i.i.preheader, label %if.then.i.i.i.i441 + %tobool.not.i.i.i.i473 = icmp eq ptr %arraydestroy.element932.val, null + br i1 %tobool.not.i.i.i.i473, label %for.body.i.i.preheader, label %if.then.i.i.i.i474 -if.then.i.i.i.i441: ; preds = %arraydestroy.done921 +if.then.i.i.i.i474: ; preds = %arraydestroy.done921 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element932.val) #31 br label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %arraydestroy.done921, %if.then.i.i.i.i441 +for.body.i.i.preheader: ; preds = %arraydestroy.done921, %if.then.i.i.i.i474 br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.inc.i.i %ref.tmp.sroa.0.0.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %add.ptr19.i.i.i12.i.i = phi ptr [ %add.ptr19.i.i.i11.i.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] - %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i377, %for.body.i.i.preheader ] + %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i410, %for.body.i.i.preheader ] %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i - br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i443 + br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i476 -if.then.i.i.i.i443: ; preds = %for.body.i.i +if.then.i.i.i.i476: ; preds = %for.body.i.i store ptr %__begin0.sroa.0.08.i.i, ptr %incdec.ptr.i.i.i9.i.i, align 8, !noalias !4901 %ref.tmp.sroa.3.0..sroa_idx.i.i = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i9.i.i, i64 8 store i8 0, ptr %ref.tmp.sroa.3.0..sroa_idx.i.i, align 8, !noalias !4901 @@ -208609,13 +208611,13 @@ if.else.i.i.i.i: ; preds = %for.body.i.i %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %ref.tmp.sroa.0.0.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i459, label %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i492, label %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE12_M_check_lenEmPKc.exit.i.i.i.i.i -if.then.i.i.i.i.i.i459: ; preds = %if.else.i.i.i.i +if.then.i.i.i.i.i.i492: ; preds = %if.else.i.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.52) #30 to label %.noexc.i.i unwind label %lpad.loopexit.split-lp.i.i, !noalias !4901 -.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i459 +.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i492 unreachable _ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i @@ -208627,8 +208629,8 @@ _ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_ %cmp9.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i, 576460752303423487 %or.cond.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i %cond.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i, i64 576460752303423487, i64 %add.i.i.i.i.i.i - %cmp.not.i.i.i.i.i.i456 = icmp eq i64 %cond.i.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i.i456, label %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEEEE8allocateERSC_m.exit.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i489 = icmp eq i64 %cond.i.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i.i489, label %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEEEE8allocateERSC_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEEEE8allocateERSC_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 4 @@ -208654,8 +208656,8 @@ for.body.i.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE11_S_relocateEPSB_SE_SE_RSC_.exit21.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE11_M_allocateEm.exit.i.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE11_M_allocateEm.exit.i.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ] - %tobool.not.i.i.i.i.i.i458 = icmp eq ptr %ref.tmp.sroa.0.0.i, null - br i1 %tobool.not.i.i.i.i.i.i458, label %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i + %tobool.not.i.i.i.i.i.i491 = icmp eq ptr %ref.tmp.sroa.0.0.i, null + br i1 %tobool.not.i.i.i.i.i.i491, label %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE11_S_relocateEPSB_SE_SE_RSC_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4901 @@ -208665,10 +208667,10 @@ _ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_G %add.ptr19.i.i.i.i.i = getelementptr inbounds %"class.std::variant.1698", ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i br label %for.inc.i.i -for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i443 - %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i443 ] - %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i443 ] - %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i443 ] +for.inc.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i476 + %ref.tmp.sroa.0.1.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %ref.tmp.sroa.0.0.i, %if.then.i.i.i.i476 ] + %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %incdec.ptr.i.i.i9.i.i, %if.then.i.i.i.i476 ] + %add.ptr19.i.i.i11.i.i = phi ptr [ %add.ptr19.i.i.i.i.i, %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEESaISB_EE17_M_realloc_insertIJSB_EEEvN9__gnu_cxx17__normal_iteratorIPSB_SD_EEDpOT_.exit.i.i.i.i ], [ %add.ptr19.i.i.i12.i.i, %if.then.i.i.i.i476 ] %ref.tmp.sroa.6.0.i = getelementptr inbounds %"class.std::variant.1698", ptr %__cur.0.lcssa.i.i.i.i.i.i.i.pn.i, i64 1 %incdec.ptr.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %__begin0.sroa.0.08.i.i, i64 1 %cmp.i.not.i.i = icmp eq ptr %__begin0.sroa.0.08.i.i, %__cur.010.i.i.i.i.i.i @@ -208677,19 +208679,19 @@ for.inc.i.i: ; preds = %_ZNSt6vectorISt7var lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_IiEEEEEEEEEE8allocateERSC_m.exit.i.i.i.i.i.i %lpad.loopexit3.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i457 + br label %lpad.i.i490 -lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i459 +lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i492 %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.i.i457 + br label %lpad.i.i490 -lpad.i.i457: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i +lpad.i.i490: ; preds = %lpad.loopexit.split-lp.i.i, %lpad.loopexit.i.i %lpad.phi.i.i = phi { ptr, i32 } [ %lpad.loopexit3.i.i, %lpad.loopexit.i.i ], [ %lpad.loopexit.split-lp4.i.i, %lpad.loopexit.split-lp.i.i ] %tobool.not.i.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.0.i, null br i1 %tobool.not.i.i.i.i.i, label %ehcleanup967, label %if.then.i.i.i.i.i -if.then.i.i.i.i.i: ; preds = %lpad.i.i457 +if.then.i.i.i.i.i: ; preds = %lpad.i.i490 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !4901 br label %ehcleanup967 @@ -208724,7 +208726,7 @@ _ZN4absl13hash_internal17ContainerAsVectorISt6vectorINS_18hash_test_internal19Ty for.body.lr.ph.i7.i: ; preds = %_ZN4absl13hash_internal17ContainerAsVectorISt6vectorINS_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_IiEEEEEESaIS9_EEE2DoERKSB_.exit.i %48 = getelementptr inbounds i8, ptr %classes.i.i, i64 8 - %_M_end_of_storage.i.i.i444 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1696", ptr %classes.i.i, i64 0, i32 2 + %_M_end_of_storage.i.i.i477 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1696", ptr %classes.i.i, i64 0, i32 2 %moved_from_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 2 %_M_engaged.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i, i64 0, i32 1 %error_.i.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i, i64 0, i32 1 @@ -208766,22 +208768,22 @@ invoke.cont.i.i: ; preds = %for.body13.i.i lpad.loopexit11.i.i: ; preds = %for.body66.i.i %lpad.loopexit12.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i445 + br label %lpad.body.i478 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %for.body13.i.i %lpad.loopexit15.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i445 + br label %lpad.body.i478 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSP_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEE8allocateERSR_m.exit.i.i.i.i.i %lpad.loopexit18.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i445 + br label %lpad.body.i478 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.invoke.i.i %lpad.loopexit.split-lp19.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i445 + br label %lpad.body.i478 for.inc.i9.i: ; preds = %invoke.cont.i.i %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.1718", ptr %__begin05.sroa.0.047.i.i, i64 1 @@ -208789,7 +208791,7 @@ for.inc.i9.i: ; preds = %invoke.cont.i.i br i1 %cmp.i103.not.i.i, label %if.then19.i.i, label %for.body13.i.i if.then19.i.i: ; preds = %for.inc.i9.i, %for.body.i8.i - %52 = load ptr, ptr %_M_end_of_storage.i.i.i444, align 8, !noalias !4912 + %52 = load ptr, ptr %_M_end_of_storage.i.i.i477, align 8, !noalias !4912 %cmp.not.i.i.i = icmp eq ptr %classes.val54.i.i, %52 br i1 %cmp.not.i.i.i, label %if.else.i.i.i, label %if.then.i.i.i @@ -208833,11 +208835,11 @@ _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHa %cond.i12.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i106.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEE8allocateERSR_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds %"class.std::vector.1718", ptr %cond.i12.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i, i8 0, i64 24, i1 false) - br i1 %cmp.i103.not46.i.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i453 + br i1 %cmp.i103.not46.i.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i486 -for.body.i.i.i.i.i.i.i453: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i453 - %__cur.03.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i453 ], [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i454, %for.body.i.i.i.i.i.i.i453 ], [ %classes.val.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i ] +for.body.i.i.i.i.i.i.i486: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i486 + %__cur.03.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i486 ], [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i487, %for.body.i.i.i.i.i.i.i486 ], [ %classes.val.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !4916) call void @llvm.experimental.noalias.scope.decl(metadata !4919) %53 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i, align 8, !alias.scope !4919, !noalias !4916 @@ -208847,16 +208849,16 @@ for.body.i.i.i.i.i.i.i453: ; preds = %_ZNSt12_Vector_base %54 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !4919, !noalias !4916 store ptr %54, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !4916, !noalias !4919 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i, i8 0, i64 24, i1 false), !alias.scope !4919, !noalias !4916 - %incdec.ptr.i.i.i.i.i.i.i454 = getelementptr inbounds %"class.std::vector.1718", ptr %__first.addr.02.i.i.i.i.i.i.i, i64 1 + %incdec.ptr.i.i.i.i.i.i.i487 = getelementptr inbounds %"class.std::vector.1718", ptr %__first.addr.02.i.i.i.i.i.i.i, i64 1 %incdec.ptr1.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1718", ptr %__cur.03.i.i.i.i.i.i.i, i64 1 - %cmp.not.i.i.i.i.i.i.i455 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i454, %classes.val54.i.i - br i1 %cmp.not.i.i.i.i.i.i.i455, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i453, !llvm.loop !4921 + %cmp.not.i.i.i.i.i.i.i488 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i487, %classes.val54.i.i + br i1 %cmp.not.i.i.i.i.i.i.i488, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i486, !llvm.loop !4921 -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i453, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i453 ] - %incdec.ptr.i.i.i37.i = getelementptr inbounds %"class.std::vector.1718", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i38.i = icmp eq ptr %classes.val.i.i, null - br i1 %tobool.not.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i486, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i486 ] + %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.1718", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i39.i = icmp eq ptr %classes.val.i.i, null + br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i) #31 @@ -208864,9 +208866,9 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !4912 - store ptr %incdec.ptr.i.i.i37.i, ptr %48, align 8, !noalias !4912 + store ptr %incdec.ptr.i.i.i38.i, ptr %48, align 8, !noalias !4912 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.1718", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i - store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i444, align 8, !noalias !4912 + store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i477, align 8, !noalias !4912 br label %if.end23.i.i if.end23.i.i: ; preds = %invoke.cont.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i, %if.then.i.i.i @@ -208918,31 +208920,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.049.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.050.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1725, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1725, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.1725, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.1725, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %58 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i ], [ %57, %if.then.i.i.i14.i ] + %58 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i.i ], [ %57, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.050.i.i, 1 %call28.val.i.i = load ptr, ptr %58, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -208953,8 +208956,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !4922) %59 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !4925 %60 = and i8 %59, 1 - %tobool.not.i.i.i446 = icmp eq i8 %60, 0 - br i1 %tobool.not.i.i.i446, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i479 = icmp eq i8 %60, 0 + br i1 %tobool.not.i.i.i479, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -209053,30 +209056,30 @@ if.end8.sink.split.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx27__ex _ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i, %invoke.cont31.i.i %75 = load ptr, ptr %ref.tmp27.i.i, align 8, !noalias !4912 %76 = load ptr, ptr %_M_finish.i.i120.i.i, align 8, !noalias !4912 - %cmp.not3.i.i.i.i.i.i.i447 = icmp eq ptr %75, %76 - br i1 %cmp.not3.i.i.i.i.i.i.i447, label %invoke.cont.i.i.i.i450, label %for.body.i.i.i.i.i121.i.i + %cmp.not3.i.i.i.i.i.i.i480 = icmp eq ptr %75, %76 + br i1 %cmp.not3.i.i.i.i.i.i.i480, label %invoke.cont.i.i.i.i483, label %for.body.i.i.i.i.i121.i.i for.body.i.i.i.i.i121.i.i: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i, %for.body.i.i.i.i.i121.i.i - %__first.addr.04.i.i.i.i.i.i.i448 = phi ptr [ %incdec.ptr.i.i.i.i.i122.i.i, %for.body.i.i.i.i.i121.i.i ], [ %75, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i448) #28 - %incdec.ptr.i.i.i.i.i122.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i448, i64 1 + %__first.addr.04.i.i.i.i.i.i.i481 = phi ptr [ %incdec.ptr.i.i.i.i.i122.i.i, %for.body.i.i.i.i.i121.i.i ], [ %75, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i481) #28 + %incdec.ptr.i.i.i.i.i122.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i481, i64 1 %cmp.not.i.i.i.i.i123.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i122.i.i, %76 - br i1 %cmp.not.i.i.i.i.i123.i.i, label %invoke.contthread-pre-split.i.i.i.i449, label %for.body.i.i.i.i.i121.i.i, !llvm.loop !8 + br i1 %cmp.not.i.i.i.i.i123.i.i, label %invoke.contthread-pre-split.i.i.i.i482, label %for.body.i.i.i.i.i121.i.i, !llvm.loop !8 -invoke.contthread-pre-split.i.i.i.i449: ; preds = %for.body.i.i.i.i.i121.i.i +invoke.contthread-pre-split.i.i.i.i482: ; preds = %for.body.i.i.i.i.i121.i.i %.pr.i.i.i.i = load ptr, ptr %ref.tmp27.i.i, align 8, !noalias !4912 - br label %invoke.cont.i.i.i.i450 + br label %invoke.cont.i.i.i.i483 -invoke.cont.i.i.i.i450: ; preds = %invoke.contthread-pre-split.i.i.i.i449, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i - %77 = phi ptr [ %.pr.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i449 ], [ %75, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] +invoke.cont.i.i.i.i483: ; preds = %invoke.contthread-pre-split.i.i.i.i482, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i + %77 = phi ptr [ %.pr.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i482 ], [ %75, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] %tobool.not.i.i.i.i124.i.i = icmp eq ptr %77, null br i1 %tobool.not.i.i.i.i124.i.i, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i, label %if.then.i.i.i1.i.i.i -if.then.i.i.i1.i.i.i: ; preds = %invoke.cont.i.i.i.i450 +if.then.i.i.i1.i.i.i: ; preds = %invoke.cont.i.i.i.i483 call void @_ZdlPv(ptr noundef nonnull %77) #31 br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i: ; preds = %if.then.i.i.i1.i.i.i, %invoke.cont.i.i.i.i450 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i: ; preds = %if.then.i.i.i1.i.i.i, %invoke.cont.i.i.i.i483 %78 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4912 %79 = and i8 %78, 1 %tobool.i.i.not.i.i = icmp eq i8 %79, 0 @@ -209159,7 +209162,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %89 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i445 + br label %lpad.body.i478 lpad35.i.i: ; preds = %if.then33.i.i %90 = landingpad { ptr, i32 } @@ -209181,12 +209184,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %92 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4912 %93 = and i8 %92, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %93, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i445, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i478, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !4912 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i445 + br label %lpad.body.i478 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !4912 @@ -209288,7 +209291,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %101, %lpad51.i.i ], [ %97, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %97, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i445 + br label %lpad.body.i478 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.056.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -211322,7 +211325,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %202, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit8.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp9.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i445 + br label %lpad.body.i478 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_) @@ -211432,22 +211435,22 @@ cleanup257.i.i: ; preds = %if.then.i.i.i1.i893 %_M_finish.i914.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1696", ptr %classes.i.i, i64 0, i32 1 %371 = load ptr, ptr %_M_finish.i914.i.i, align 8, !noalias !4912 %cmp.not3.i.i.i.i.i.i = icmp eq ptr %370, %371 - br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i451 + br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i484 -for.body.i.i.i.i.i.i451: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i484: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i ], [ %370, %cleanup257.i.i ] %__first.addr.0.val.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i -if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i451 +if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i484 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i451 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i484 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1718", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i916.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i, %371 - br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i451, !llvm.loop !4926 + br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i484, !llvm.loop !4926 invoke.cont.i917.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS8_IiEEEEEEEESaISE_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EEEvPSK_.exit.i.i.i.i.i.i, %cleanup257.i.i %tobool.not.i.i.i918.i.i = icmp eq ptr %370, null @@ -211482,24 +211485,24 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i), !noalias !4909 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !4909 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !4909 - %tobool.not.i.i.i.i452 = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i452, label %invoke.cont950, label %if.then.i.i.i40.i + %tobool.not.i.i.i.i485 = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i.i485, label %invoke.cont950, label %if.then.i.i.i41.i -if.then.i.i.i40.i: ; preds = %invoke.cont.i +if.then.i.i.i41.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %invoke.cont950 -lpad.body.i445: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i +lpad.body.i478: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i %.pn46.pn.i.i = phi { ptr, i32 } [ %89, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit12.i.i, %lpad.loopexit11.i.i ], [ %lpad.loopexit15.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit18.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp19.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS7_IiEEEEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EESaISP_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i42.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i42.i, label %ehcleanup967, label %if.then.i.i.i43.i + %tobool.not.i.i.i43.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i43.i, label %ehcleanup967, label %if.then.i.i.i44.i -if.then.i.i.i43.i: ; preds = %lpad.body.i445 +if.then.i.i.i44.i: ; preds = %lpad.body.i478 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %ehcleanup967 -invoke.cont950: ; preds = %if.then.i.i.i40.i, %invoke.cont.i +invoke.cont950: ; preds = %if.then.i.i.i41.i, %invoke.cont.i %372 = load i8, ptr %gtest_ar_, align 8 %373 = and i8 %372, 1 %tobool.i.not = icmp eq i8 %373, 0 @@ -211525,7 +211528,7 @@ lpad46: ; preds = %invoke.cont41 cleanup br label %ehcleanup896 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463: ; preds = %invoke.cont61 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496: ; preds = %invoke.cont61 %378 = landingpad { ptr, i32 } cleanup call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i30) #31 @@ -211536,23 +211539,23 @@ lpad80: ; preds = %invoke.cont70 cleanup br label %ehcleanup883 -lpad95.body: ; preds = %lpad.i.i74, %lpad.i.i62 - %arrayinit.endOfInit86.0.lpad-body = phi ptr [ %arrayinit.element97, %lpad.i.i62 ], [ %arrayinit.element107, %lpad.i.i74 ] - %eh.lpad-body59 = phi { ptr, i32 } [ %3, %lpad.i.i62 ], [ %4, %lpad.i.i74 ] +lpad95.body: ; preds = %lpad.i.i78, %lpad.i.i65 + %arrayinit.endOfInit86.0.lpad-body = phi ptr [ %arrayinit.element97, %lpad.i.i65 ], [ %arrayinit.element107, %lpad.i.i78 ] + %eh.lpad-body62 = phi { ptr, i32 } [ %3, %lpad.i.i65 ], [ %4, %lpad.i.i78 ] br label %arraydestroy.body118 -arraydestroy.body118: ; preds = %lpad95.body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 - %arraydestroy.elementPast119 = phi ptr [ %arrayinit.endOfInit86.0.lpad-body, %lpad95.body ], [ %arraydestroy.element120, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 ] +arraydestroy.body118: ; preds = %lpad95.body, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 + %arraydestroy.elementPast119 = phi ptr [ %arrayinit.endOfInit86.0.lpad-body, %lpad95.body ], [ %arraydestroy.element120, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 ] %arraydestroy.element120 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast119, i64 -1 %arraydestroy.element120.val = load ptr, ptr %arraydestroy.element120, align 8 - %tobool.not.i.i.i.i464 = icmp eq ptr %arraydestroy.element120.val, null - br i1 %tobool.not.i.i.i.i464, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466, label %if.then.i.i.i.i465 + %tobool.not.i.i.i.i497 = icmp eq ptr %arraydestroy.element120.val, null + br i1 %tobool.not.i.i.i.i497, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499, label %if.then.i.i.i.i498 -if.then.i.i.i.i465: ; preds = %arraydestroy.body118 +if.then.i.i.i.i498: ; preds = %arraydestroy.body118 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element120.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466: ; preds = %arraydestroy.body118, %if.then.i.i.i.i465 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499: ; preds = %arraydestroy.body118, %if.then.i.i.i.i498 %arraydestroy.done121 = icmp eq ptr %arraydestroy.element120, %ref.tmp84 br i1 %arraydestroy.done121, label %ehcleanup883, label %arraydestroy.body118 @@ -211561,7 +211564,7 @@ lpad126: ; preds = %invoke.cont116 cleanup br label %ehcleanup870 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469: ; preds = %invoke.cont127 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502: ; preds = %invoke.cont127 %381 = landingpad { ptr, i32 } cleanup br label %ehcleanup870 @@ -211571,7 +211574,7 @@ lpad152: ; preds = %invoke.cont142 cleanup br label %ehcleanup857 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472: ; preds = %invoke.cont153 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505: ; preds = %invoke.cont153 %383 = landingpad { ptr, i32 } cleanup br label %ehcleanup857 @@ -211591,10 +211594,10 @@ lpad230: ; preds = %invoke.cont219 cleanup br label %ehcleanup818 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit475: ; preds = %invoke.cont245 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508: ; preds = %invoke.cont245 %387 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i124) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i133) #31 br label %ehcleanup818 lpad264: ; preds = %invoke.cont254 @@ -211602,10 +211605,10 @@ lpad264: ; preds = %invoke.cont254 cleanup br label %ehcleanup805 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit478: ; preds = %invoke.cont279 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511: ; preds = %invoke.cont279 %389 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i145) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i156) #31 br label %ehcleanup805 lpad298: ; preds = %invoke.cont288 @@ -211613,10 +211616,10 @@ lpad298: ; preds = %invoke.cont288 cleanup br label %ehcleanup792 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit481: ; preds = %invoke.cont313 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514: ; preds = %invoke.cont313 %391 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i166) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i179) #31 br label %ehcleanup792 lpad332: ; preds = %invoke.cont322 @@ -211624,10 +211627,10 @@ lpad332: ; preds = %invoke.cont322 cleanup br label %ehcleanup779 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit484: ; preds = %invoke.cont347 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517: ; preds = %invoke.cont347 %393 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i187) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i202) #31 br label %ehcleanup779 lpad366: ; preds = %invoke.cont356 @@ -211635,10 +211638,10 @@ lpad366: ; preds = %invoke.cont356 cleanup br label %ehcleanup766 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit487: ; preds = %invoke.cont381 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520: ; preds = %invoke.cont381 %395 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i208) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i225) #31 br label %ehcleanup766 lpad400: ; preds = %invoke.cont390 @@ -211646,10 +211649,10 @@ lpad400: ; preds = %invoke.cont390 cleanup br label %ehcleanup753 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit490: ; preds = %invoke.cont415 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523: ; preds = %invoke.cont415 %397 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i229) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i248) #31 br label %ehcleanup753 lpad434: ; preds = %invoke.cont424 @@ -211657,10 +211660,10 @@ lpad434: ; preds = %invoke.cont424 cleanup br label %ehcleanup740 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit493: ; preds = %invoke.cont449 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526: ; preds = %invoke.cont449 %399 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i250) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i271) #31 br label %ehcleanup740 lpad468: ; preds = %invoke.cont458 @@ -211668,10 +211671,10 @@ lpad468: ; preds = %invoke.cont458 cleanup br label %ehcleanup727 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496: ; preds = %invoke.cont483 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529: ; preds = %invoke.cont483 %401 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i271) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i294) #31 br label %ehcleanup727 lpad502: ; preds = %invoke.cont492 @@ -211679,10 +211682,10 @@ lpad502: ; preds = %invoke.cont492 cleanup br label %ehcleanup714 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499: ; preds = %invoke.cont517 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532: ; preds = %invoke.cont517 %403 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i292) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i317) #31 br label %ehcleanup714 lpad536: ; preds = %invoke.cont526 @@ -211690,10 +211693,10 @@ lpad536: ; preds = %invoke.cont526 cleanup br label %ehcleanup701 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502: ; preds = %invoke.cont551 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535: ; preds = %invoke.cont551 %405 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i313) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i340) #31 br label %ehcleanup701 lpad570: ; preds = %invoke.cont560 @@ -211701,10 +211704,10 @@ lpad570: ; preds = %invoke.cont560 cleanup br label %ehcleanup688 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505: ; preds = %invoke.cont585 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538: ; preds = %invoke.cont585 %407 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i334) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i363) #31 br label %ehcleanup688 lpad604: ; preds = %invoke.cont594 @@ -211712,10 +211715,10 @@ lpad604: ; preds = %invoke.cont594 cleanup br label %ehcleanup675 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508: ; preds = %invoke.cont619 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541: ; preds = %invoke.cont619 %409 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i355) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i386) #31 br label %ehcleanup675 lpad638: ; preds = %invoke.cont628 @@ -211728,8 +211731,8 @@ lpad644: ; preds = %invoke.cont639 cleanup br label %lpad644.body -lpad644.body: ; preds = %lpad.body.i376, %if.then.i.i6.i, %lpad644 - %eh.lpad-body378 = phi { ptr, i32 } [ %411, %lpad644 ], [ %22, %if.then.i.i6.i ], [ %22, %lpad.body.i376 ] +lpad644.body: ; preds = %lpad.body.i409, %if.then.i.i6.i, %lpad644 + %eh.lpad-body411 = phi { ptr, i32 } [ %411, %lpad644 ], [ %22, %if.then.i.i6.i ], [ %22, %lpad.body.i409 ] %412 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %ref.tmp, i64 23 br label %arraydestroy.body652 @@ -211741,475 +211744,475 @@ arraydestroy.body652: ; preds = %arraydestroy.body65 br i1 %arraydestroy.done655, label %ehcleanup, label %arraydestroy.body652 ehcleanup: ; preds = %arraydestroy.body652, %lpad638 - %.pn = phi { ptr, i32 } [ %410, %lpad638 ], [ %eh.lpad-body378, %arraydestroy.body652 ] + %.pn = phi { ptr, i32 } [ %410, %lpad638 ], [ %eh.lpad-body411, %arraydestroy.body652 ] %cleanup.isactive.0 = phi i1 [ true, %lpad638 ], [ false, %arraydestroy.body652 ] %413 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp608, i64 2 br label %arraydestroy.body664 -arraydestroy.body664: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511, %ehcleanup - %arraydestroy.elementPast665 = phi ptr [ %413, %ehcleanup ], [ %arraydestroy.element666, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 ] +arraydestroy.body664: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544, %ehcleanup + %arraydestroy.elementPast665 = phi ptr [ %413, %ehcleanup ], [ %arraydestroy.element666, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 ] %arraydestroy.element666 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast665, i64 -1 %arraydestroy.element666.val = load ptr, ptr %arraydestroy.element666, align 8 - %tobool.not.i.i.i.i509 = icmp eq ptr %arraydestroy.element666.val, null - br i1 %tobool.not.i.i.i.i509, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511, label %if.then.i.i.i.i510 + %tobool.not.i.i.i.i542 = icmp eq ptr %arraydestroy.element666.val, null + br i1 %tobool.not.i.i.i.i542, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544, label %if.then.i.i.i.i543 -if.then.i.i.i.i510: ; preds = %arraydestroy.body664 +if.then.i.i.i.i543: ; preds = %arraydestroy.body664 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element666.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511: ; preds = %arraydestroy.body664, %if.then.i.i.i.i510 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544: ; preds = %arraydestroy.body664, %if.then.i.i.i.i543 %arraydestroy.done667 = icmp eq ptr %arraydestroy.element666, %ref.tmp608 br i1 %arraydestroy.done667, label %ehcleanup675, label %arraydestroy.body664 -ehcleanup675: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511, %lpad.i.i356, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508, %lpad604 - %.pn.pn = phi { ptr, i32 } [ %408, %lpad604 ], [ %18, %lpad.i.i356 ], [ %409, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508 ], [ %.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element572, %lpad604 ], [ %arrayinit.element606, %lpad.i.i356 ], [ %arrayinit.element606, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508 ], [ %arrayinit.element606, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 ] - %cleanup.isactive.1 = phi i1 [ true, %lpad604 ], [ true, %lpad.i.i356 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508 ], [ %cleanup.isactive.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 ] +ehcleanup675: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544, %lpad.i.i387, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541, %lpad604 + %.pn.pn = phi { ptr, i32 } [ %408, %lpad604 ], [ %18, %lpad.i.i387 ], [ %409, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 ], [ %.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element572, %lpad604 ], [ %arrayinit.element606, %lpad.i.i387 ], [ %arrayinit.element606, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 ], [ %arrayinit.element606, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 ] + %cleanup.isactive.1 = phi i1 [ true, %lpad604 ], [ true, %lpad.i.i387 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 ], [ %cleanup.isactive.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 ] %414 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp574, i64 2 br label %arraydestroy.body677 -arraydestroy.body677: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514, %ehcleanup675 - %arraydestroy.elementPast678 = phi ptr [ %414, %ehcleanup675 ], [ %arraydestroy.element679, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 ] +arraydestroy.body677: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547, %ehcleanup675 + %arraydestroy.elementPast678 = phi ptr [ %414, %ehcleanup675 ], [ %arraydestroy.element679, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 ] %arraydestroy.element679 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast678, i64 -1 %arraydestroy.element679.val = load ptr, ptr %arraydestroy.element679, align 8 - %tobool.not.i.i.i.i512 = icmp eq ptr %arraydestroy.element679.val, null - br i1 %tobool.not.i.i.i.i512, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514, label %if.then.i.i.i.i513 + %tobool.not.i.i.i.i545 = icmp eq ptr %arraydestroy.element679.val, null + br i1 %tobool.not.i.i.i.i545, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547, label %if.then.i.i.i.i546 -if.then.i.i.i.i513: ; preds = %arraydestroy.body677 +if.then.i.i.i.i546: ; preds = %arraydestroy.body677 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element679.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514: ; preds = %arraydestroy.body677, %if.then.i.i.i.i513 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547: ; preds = %arraydestroy.body677, %if.then.i.i.i.i546 %arraydestroy.done680 = icmp eq ptr %arraydestroy.element679, %ref.tmp574 br i1 %arraydestroy.done680, label %ehcleanup688, label %arraydestroy.body677 -ehcleanup688: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514, %lpad.i.i335, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505, %lpad570 - %.pn.pn.pn = phi { ptr, i32 } [ %406, %lpad570 ], [ %17, %lpad.i.i335 ], [ %407, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505 ], [ %.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 ] - %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element538, %lpad570 ], [ %arrayinit.element572, %lpad.i.i335 ], [ %arrayinit.element572, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505 ], [ %arrayinit.endOfInit.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 ] - %cleanup.isactive.2 = phi i1 [ true, %lpad570 ], [ true, %lpad.i.i335 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505 ], [ %cleanup.isactive.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 ] +ehcleanup688: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547, %lpad.i.i364, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538, %lpad570 + %.pn.pn.pn = phi { ptr, i32 } [ %406, %lpad570 ], [ %17, %lpad.i.i364 ], [ %407, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 ], [ %.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 ] + %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element538, %lpad570 ], [ %arrayinit.element572, %lpad.i.i364 ], [ %arrayinit.element572, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 ], [ %arrayinit.endOfInit.0, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 ] + %cleanup.isactive.2 = phi i1 [ true, %lpad570 ], [ true, %lpad.i.i364 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 ], [ %cleanup.isactive.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 ] %415 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp540, i64 2 br label %arraydestroy.body690 -arraydestroy.body690: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517, %ehcleanup688 - %arraydestroy.elementPast691 = phi ptr [ %415, %ehcleanup688 ], [ %arraydestroy.element692, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 ] +arraydestroy.body690: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550, %ehcleanup688 + %arraydestroy.elementPast691 = phi ptr [ %415, %ehcleanup688 ], [ %arraydestroy.element692, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 ] %arraydestroy.element692 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast691, i64 -1 %arraydestroy.element692.val = load ptr, ptr %arraydestroy.element692, align 8 - %tobool.not.i.i.i.i515 = icmp eq ptr %arraydestroy.element692.val, null - br i1 %tobool.not.i.i.i.i515, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517, label %if.then.i.i.i.i516 + %tobool.not.i.i.i.i548 = icmp eq ptr %arraydestroy.element692.val, null + br i1 %tobool.not.i.i.i.i548, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550, label %if.then.i.i.i.i549 -if.then.i.i.i.i516: ; preds = %arraydestroy.body690 +if.then.i.i.i.i549: ; preds = %arraydestroy.body690 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element692.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517: ; preds = %arraydestroy.body690, %if.then.i.i.i.i516 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550: ; preds = %arraydestroy.body690, %if.then.i.i.i.i549 %arraydestroy.done693 = icmp eq ptr %arraydestroy.element692, %ref.tmp540 br i1 %arraydestroy.done693, label %ehcleanup701, label %arraydestroy.body690 -ehcleanup701: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517, %lpad.i.i314, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502, %lpad536 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %404, %lpad536 ], [ %16, %lpad.i.i314 ], [ %405, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502 ], [ %.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 ] - %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element504, %lpad536 ], [ %arrayinit.element538, %lpad.i.i314 ], [ %arrayinit.element538, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502 ], [ %arrayinit.endOfInit.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 ] - %cleanup.isactive.3 = phi i1 [ true, %lpad536 ], [ true, %lpad.i.i314 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502 ], [ %cleanup.isactive.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 ] +ehcleanup701: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550, %lpad.i.i341, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535, %lpad536 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %404, %lpad536 ], [ %16, %lpad.i.i341 ], [ %405, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 ], [ %.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 ] + %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element504, %lpad536 ], [ %arrayinit.element538, %lpad.i.i341 ], [ %arrayinit.element538, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 ], [ %arrayinit.endOfInit.1, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 ] + %cleanup.isactive.3 = phi i1 [ true, %lpad536 ], [ true, %lpad.i.i341 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 ], [ %cleanup.isactive.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 ] %416 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp506, i64 2 br label %arraydestroy.body703 -arraydestroy.body703: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520, %ehcleanup701 - %arraydestroy.elementPast704 = phi ptr [ %416, %ehcleanup701 ], [ %arraydestroy.element705, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 ] +arraydestroy.body703: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553, %ehcleanup701 + %arraydestroy.elementPast704 = phi ptr [ %416, %ehcleanup701 ], [ %arraydestroy.element705, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 ] %arraydestroy.element705 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast704, i64 -1 %arraydestroy.element705.val = load ptr, ptr %arraydestroy.element705, align 8 - %tobool.not.i.i.i.i518 = icmp eq ptr %arraydestroy.element705.val, null - br i1 %tobool.not.i.i.i.i518, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520, label %if.then.i.i.i.i519 + %tobool.not.i.i.i.i551 = icmp eq ptr %arraydestroy.element705.val, null + br i1 %tobool.not.i.i.i.i551, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553, label %if.then.i.i.i.i552 -if.then.i.i.i.i519: ; preds = %arraydestroy.body703 +if.then.i.i.i.i552: ; preds = %arraydestroy.body703 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element705.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520: ; preds = %arraydestroy.body703, %if.then.i.i.i.i519 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553: ; preds = %arraydestroy.body703, %if.then.i.i.i.i552 %arraydestroy.done706 = icmp eq ptr %arraydestroy.element705, %ref.tmp506 br i1 %arraydestroy.done706, label %ehcleanup714, label %arraydestroy.body703 -ehcleanup714: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520, %lpad.i.i293, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499, %lpad502 - %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %402, %lpad502 ], [ %15, %lpad.i.i293 ], [ %403, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 ], [ %.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element470, %lpad502 ], [ %arrayinit.element504, %lpad.i.i293 ], [ %arrayinit.element504, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 ], [ %arrayinit.endOfInit.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 ] - %cleanup.isactive.4 = phi i1 [ true, %lpad502 ], [ true, %lpad.i.i293 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 ], [ %cleanup.isactive.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 ] +ehcleanup714: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553, %lpad.i.i318, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532, %lpad502 + %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %402, %lpad502 ], [ %15, %lpad.i.i318 ], [ %403, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 ], [ %.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element470, %lpad502 ], [ %arrayinit.element504, %lpad.i.i318 ], [ %arrayinit.element504, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 ], [ %arrayinit.endOfInit.2, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 ] + %cleanup.isactive.4 = phi i1 [ true, %lpad502 ], [ true, %lpad.i.i318 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 ], [ %cleanup.isactive.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 ] %417 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp472, i64 2 br label %arraydestroy.body716 -arraydestroy.body716: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523, %ehcleanup714 - %arraydestroy.elementPast717 = phi ptr [ %417, %ehcleanup714 ], [ %arraydestroy.element718, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 ] +arraydestroy.body716: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556, %ehcleanup714 + %arraydestroy.elementPast717 = phi ptr [ %417, %ehcleanup714 ], [ %arraydestroy.element718, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] %arraydestroy.element718 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast717, i64 -1 %arraydestroy.element718.val = load ptr, ptr %arraydestroy.element718, align 8 - %tobool.not.i.i.i.i521 = icmp eq ptr %arraydestroy.element718.val, null - br i1 %tobool.not.i.i.i.i521, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523, label %if.then.i.i.i.i522 + %tobool.not.i.i.i.i554 = icmp eq ptr %arraydestroy.element718.val, null + br i1 %tobool.not.i.i.i.i554, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556, label %if.then.i.i.i.i555 -if.then.i.i.i.i522: ; preds = %arraydestroy.body716 +if.then.i.i.i.i555: ; preds = %arraydestroy.body716 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element718.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523: ; preds = %arraydestroy.body716, %if.then.i.i.i.i522 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556: ; preds = %arraydestroy.body716, %if.then.i.i.i.i555 %arraydestroy.done719 = icmp eq ptr %arraydestroy.element718, %ref.tmp472 br i1 %arraydestroy.done719, label %ehcleanup727, label %arraydestroy.body716 -ehcleanup727: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523, %lpad.i.i272, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496, %lpad468 - %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %400, %lpad468 ], [ %14, %lpad.i.i272 ], [ %401, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496 ], [ %.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 ] - %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element436, %lpad468 ], [ %arrayinit.element470, %lpad.i.i272 ], [ %arrayinit.element470, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496 ], [ %arrayinit.endOfInit.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 ] - %cleanup.isactive.5 = phi i1 [ true, %lpad468 ], [ true, %lpad.i.i272 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496 ], [ %cleanup.isactive.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 ] +ehcleanup727: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556, %lpad.i.i295, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529, %lpad468 + %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %400, %lpad468 ], [ %14, %lpad.i.i295 ], [ %401, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 ], [ %.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] + %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element436, %lpad468 ], [ %arrayinit.element470, %lpad.i.i295 ], [ %arrayinit.element470, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 ], [ %arrayinit.endOfInit.3, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] + %cleanup.isactive.5 = phi i1 [ true, %lpad468 ], [ true, %lpad.i.i295 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 ], [ %cleanup.isactive.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] %418 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp438, i64 2 br label %arraydestroy.body729 -arraydestroy.body729: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526, %ehcleanup727 - %arraydestroy.elementPast730 = phi ptr [ %418, %ehcleanup727 ], [ %arraydestroy.element731, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 ] +arraydestroy.body729: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, %ehcleanup727 + %arraydestroy.elementPast730 = phi ptr [ %418, %ehcleanup727 ], [ %arraydestroy.element731, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ] %arraydestroy.element731 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast730, i64 -1 %arraydestroy.element731.val = load ptr, ptr %arraydestroy.element731, align 8 - %tobool.not.i.i.i.i524 = icmp eq ptr %arraydestroy.element731.val, null - br i1 %tobool.not.i.i.i.i524, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526, label %if.then.i.i.i.i525 + %tobool.not.i.i.i.i557 = icmp eq ptr %arraydestroy.element731.val, null + br i1 %tobool.not.i.i.i.i557, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, label %if.then.i.i.i.i558 -if.then.i.i.i.i525: ; preds = %arraydestroy.body729 +if.then.i.i.i.i558: ; preds = %arraydestroy.body729 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element731.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526: ; preds = %arraydestroy.body729, %if.then.i.i.i.i525 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559: ; preds = %arraydestroy.body729, %if.then.i.i.i.i558 %arraydestroy.done732 = icmp eq ptr %arraydestroy.element731, %ref.tmp438 br i1 %arraydestroy.done732, label %ehcleanup740, label %arraydestroy.body729 -ehcleanup740: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526, %lpad.i.i251, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit493, %lpad434 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %398, %lpad434 ], [ %13, %lpad.i.i251 ], [ %399, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit493 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 ] - %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element402, %lpad434 ], [ %arrayinit.element436, %lpad.i.i251 ], [ %arrayinit.element436, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit493 ], [ %arrayinit.endOfInit.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 ] - %cleanup.isactive.6 = phi i1 [ true, %lpad434 ], [ true, %lpad.i.i251 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit493 ], [ %cleanup.isactive.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 ] +ehcleanup740: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, %lpad.i.i272, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526, %lpad434 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %398, %lpad434 ], [ %13, %lpad.i.i272 ], [ %399, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ] + %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element402, %lpad434 ], [ %arrayinit.element436, %lpad.i.i272 ], [ %arrayinit.element436, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 ], [ %arrayinit.endOfInit.4, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ] + %cleanup.isactive.6 = phi i1 [ true, %lpad434 ], [ true, %lpad.i.i272 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit526 ], [ %cleanup.isactive.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ] %419 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp404, i64 2 br label %arraydestroy.body742 -arraydestroy.body742: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529, %ehcleanup740 - %arraydestroy.elementPast743 = phi ptr [ %419, %ehcleanup740 ], [ %arraydestroy.element744, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 ] +arraydestroy.body742: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, %ehcleanup740 + %arraydestroy.elementPast743 = phi ptr [ %419, %ehcleanup740 ], [ %arraydestroy.element744, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] %arraydestroy.element744 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast743, i64 -1 %arraydestroy.element744.val = load ptr, ptr %arraydestroy.element744, align 8 - %tobool.not.i.i.i.i527 = icmp eq ptr %arraydestroy.element744.val, null - br i1 %tobool.not.i.i.i.i527, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529, label %if.then.i.i.i.i528 + %tobool.not.i.i.i.i560 = icmp eq ptr %arraydestroy.element744.val, null + br i1 %tobool.not.i.i.i.i560, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, label %if.then.i.i.i.i561 -if.then.i.i.i.i528: ; preds = %arraydestroy.body742 +if.then.i.i.i.i561: ; preds = %arraydestroy.body742 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element744.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529: ; preds = %arraydestroy.body742, %if.then.i.i.i.i528 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562: ; preds = %arraydestroy.body742, %if.then.i.i.i.i561 %arraydestroy.done745 = icmp eq ptr %arraydestroy.element744, %ref.tmp404 br i1 %arraydestroy.done745, label %ehcleanup753, label %arraydestroy.body742 -ehcleanup753: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529, %lpad.i.i230, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit490, %lpad400 - %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %396, %lpad400 ], [ %12, %lpad.i.i230 ], [ %397, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit490 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element368, %lpad400 ], [ %arrayinit.element402, %lpad.i.i230 ], [ %arrayinit.element402, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit490 ], [ %arrayinit.endOfInit.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 ] - %cleanup.isactive.7 = phi i1 [ true, %lpad400 ], [ true, %lpad.i.i230 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit490 ], [ %cleanup.isactive.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit529 ] +ehcleanup753: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, %lpad.i.i249, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523, %lpad400 + %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %396, %lpad400 ], [ %12, %lpad.i.i249 ], [ %397, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element368, %lpad400 ], [ %arrayinit.element402, %lpad.i.i249 ], [ %arrayinit.element402, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 ], [ %arrayinit.endOfInit.5, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] + %cleanup.isactive.7 = phi i1 [ true, %lpad400 ], [ true, %lpad.i.i249 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit523 ], [ %cleanup.isactive.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] %420 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp370, i64 2 br label %arraydestroy.body755 -arraydestroy.body755: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532, %ehcleanup753 - %arraydestroy.elementPast756 = phi ptr [ %420, %ehcleanup753 ], [ %arraydestroy.element757, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 ] +arraydestroy.body755: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565, %ehcleanup753 + %arraydestroy.elementPast756 = phi ptr [ %420, %ehcleanup753 ], [ %arraydestroy.element757, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 ] %arraydestroy.element757 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast756, i64 -1 %arraydestroy.element757.val = load ptr, ptr %arraydestroy.element757, align 8 - %tobool.not.i.i.i.i530 = icmp eq ptr %arraydestroy.element757.val, null - br i1 %tobool.not.i.i.i.i530, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532, label %if.then.i.i.i.i531 + %tobool.not.i.i.i.i563 = icmp eq ptr %arraydestroy.element757.val, null + br i1 %tobool.not.i.i.i.i563, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565, label %if.then.i.i.i.i564 -if.then.i.i.i.i531: ; preds = %arraydestroy.body755 +if.then.i.i.i.i564: ; preds = %arraydestroy.body755 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element757.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532: ; preds = %arraydestroy.body755, %if.then.i.i.i.i531 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565: ; preds = %arraydestroy.body755, %if.then.i.i.i.i564 %arraydestroy.done758 = icmp eq ptr %arraydestroy.element757, %ref.tmp370 br i1 %arraydestroy.done758, label %ehcleanup766, label %arraydestroy.body755 -ehcleanup766: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532, %lpad.i.i209, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit487, %lpad366 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %394, %lpad366 ], [ %11, %lpad.i.i209 ], [ %395, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit487 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 ] - %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element334, %lpad366 ], [ %arrayinit.element368, %lpad.i.i209 ], [ %arrayinit.element368, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit487 ], [ %arrayinit.endOfInit.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 ] - %cleanup.isactive.8 = phi i1 [ true, %lpad366 ], [ true, %lpad.i.i209 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit487 ], [ %cleanup.isactive.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit532 ] +ehcleanup766: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565, %lpad.i.i226, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520, %lpad366 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %394, %lpad366 ], [ %11, %lpad.i.i226 ], [ %395, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 ] + %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element334, %lpad366 ], [ %arrayinit.element368, %lpad.i.i226 ], [ %arrayinit.element368, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 ], [ %arrayinit.endOfInit.6, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 ] + %cleanup.isactive.8 = phi i1 [ true, %lpad366 ], [ true, %lpad.i.i226 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit520 ], [ %cleanup.isactive.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit565 ] %421 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp336, i64 2 br label %arraydestroy.body768 -arraydestroy.body768: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535, %ehcleanup766 - %arraydestroy.elementPast769 = phi ptr [ %421, %ehcleanup766 ], [ %arraydestroy.element770, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 ] +arraydestroy.body768: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, %ehcleanup766 + %arraydestroy.elementPast769 = phi ptr [ %421, %ehcleanup766 ], [ %arraydestroy.element770, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] %arraydestroy.element770 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast769, i64 -1 %arraydestroy.element770.val = load ptr, ptr %arraydestroy.element770, align 8 - %tobool.not.i.i.i.i533 = icmp eq ptr %arraydestroy.element770.val, null - br i1 %tobool.not.i.i.i.i533, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535, label %if.then.i.i.i.i534 + %tobool.not.i.i.i.i566 = icmp eq ptr %arraydestroy.element770.val, null + br i1 %tobool.not.i.i.i.i566, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, label %if.then.i.i.i.i567 -if.then.i.i.i.i534: ; preds = %arraydestroy.body768 +if.then.i.i.i.i567: ; preds = %arraydestroy.body768 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element770.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535: ; preds = %arraydestroy.body768, %if.then.i.i.i.i534 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568: ; preds = %arraydestroy.body768, %if.then.i.i.i.i567 %arraydestroy.done771 = icmp eq ptr %arraydestroy.element770, %ref.tmp336 br i1 %arraydestroy.done771, label %ehcleanup779, label %arraydestroy.body768 -ehcleanup779: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535, %lpad.i.i188, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit484, %lpad332 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %392, %lpad332 ], [ %10, %lpad.i.i188 ], [ %393, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit484 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 ] - %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element300, %lpad332 ], [ %arrayinit.element334, %lpad.i.i188 ], [ %arrayinit.element334, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit484 ], [ %arrayinit.endOfInit.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 ] - %cleanup.isactive.9 = phi i1 [ true, %lpad332 ], [ true, %lpad.i.i188 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit484 ], [ %cleanup.isactive.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit535 ] +ehcleanup779: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, %lpad.i.i203, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517, %lpad332 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %392, %lpad332 ], [ %10, %lpad.i.i203 ], [ %393, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] + %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element300, %lpad332 ], [ %arrayinit.element334, %lpad.i.i203 ], [ %arrayinit.element334, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 ], [ %arrayinit.endOfInit.7, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] + %cleanup.isactive.9 = phi i1 [ true, %lpad332 ], [ true, %lpad.i.i203 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit517 ], [ %cleanup.isactive.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] %422 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp302, i64 2 br label %arraydestroy.body781 -arraydestroy.body781: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538, %ehcleanup779 - %arraydestroy.elementPast782 = phi ptr [ %422, %ehcleanup779 ], [ %arraydestroy.element783, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 ] +arraydestroy.body781: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, %ehcleanup779 + %arraydestroy.elementPast782 = phi ptr [ %422, %ehcleanup779 ], [ %arraydestroy.element783, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] %arraydestroy.element783 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast782, i64 -1 %arraydestroy.element783.val = load ptr, ptr %arraydestroy.element783, align 8 - %tobool.not.i.i.i.i536 = icmp eq ptr %arraydestroy.element783.val, null - br i1 %tobool.not.i.i.i.i536, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538, label %if.then.i.i.i.i537 + %tobool.not.i.i.i.i569 = icmp eq ptr %arraydestroy.element783.val, null + br i1 %tobool.not.i.i.i.i569, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, label %if.then.i.i.i.i570 -if.then.i.i.i.i537: ; preds = %arraydestroy.body781 +if.then.i.i.i.i570: ; preds = %arraydestroy.body781 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element783.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538: ; preds = %arraydestroy.body781, %if.then.i.i.i.i537 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571: ; preds = %arraydestroy.body781, %if.then.i.i.i.i570 %arraydestroy.done784 = icmp eq ptr %arraydestroy.element783, %ref.tmp302 br i1 %arraydestroy.done784, label %ehcleanup792, label %arraydestroy.body781 -ehcleanup792: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538, %lpad.i.i167, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit481, %lpad298 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %390, %lpad298 ], [ %9, %lpad.i.i167 ], [ %391, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit481 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element266, %lpad298 ], [ %arrayinit.element300, %lpad.i.i167 ], [ %arrayinit.element300, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit481 ], [ %arrayinit.endOfInit.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 ] - %cleanup.isactive.10 = phi i1 [ true, %lpad298 ], [ true, %lpad.i.i167 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit481 ], [ %cleanup.isactive.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit538 ] +ehcleanup792: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, %lpad.i.i180, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514, %lpad298 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %390, %lpad298 ], [ %9, %lpad.i.i180 ], [ %391, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element266, %lpad298 ], [ %arrayinit.element300, %lpad.i.i180 ], [ %arrayinit.element300, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 ], [ %arrayinit.endOfInit.8, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] + %cleanup.isactive.10 = phi i1 [ true, %lpad298 ], [ true, %lpad.i.i180 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit514 ], [ %cleanup.isactive.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] %423 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp268, i64 2 br label %arraydestroy.body794 -arraydestroy.body794: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541, %ehcleanup792 - %arraydestroy.elementPast795 = phi ptr [ %423, %ehcleanup792 ], [ %arraydestroy.element796, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 ] +arraydestroy.body794: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, %ehcleanup792 + %arraydestroy.elementPast795 = phi ptr [ %423, %ehcleanup792 ], [ %arraydestroy.element796, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ] %arraydestroy.element796 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast795, i64 -1 %arraydestroy.element796.val = load ptr, ptr %arraydestroy.element796, align 8 - %tobool.not.i.i.i.i539 = icmp eq ptr %arraydestroy.element796.val, null - br i1 %tobool.not.i.i.i.i539, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541, label %if.then.i.i.i.i540 + %tobool.not.i.i.i.i572 = icmp eq ptr %arraydestroy.element796.val, null + br i1 %tobool.not.i.i.i.i572, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, label %if.then.i.i.i.i573 -if.then.i.i.i.i540: ; preds = %arraydestroy.body794 +if.then.i.i.i.i573: ; preds = %arraydestroy.body794 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element796.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541: ; preds = %arraydestroy.body794, %if.then.i.i.i.i540 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574: ; preds = %arraydestroy.body794, %if.then.i.i.i.i573 %arraydestroy.done797 = icmp eq ptr %arraydestroy.element796, %ref.tmp268 br i1 %arraydestroy.done797, label %ehcleanup805, label %arraydestroy.body794 -ehcleanup805: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541, %lpad.i.i146, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit478, %lpad264 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %388, %lpad264 ], [ %8, %lpad.i.i146 ], [ %389, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit478 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 ] - %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element232, %lpad264 ], [ %arrayinit.element266, %lpad.i.i146 ], [ %arrayinit.element266, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit478 ], [ %arrayinit.endOfInit.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 ] - %cleanup.isactive.11 = phi i1 [ true, %lpad264 ], [ true, %lpad.i.i146 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit478 ], [ %cleanup.isactive.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit541 ] +ehcleanup805: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, %lpad.i.i157, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511, %lpad264 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %388, %lpad264 ], [ %8, %lpad.i.i157 ], [ %389, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ] + %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element232, %lpad264 ], [ %arrayinit.element266, %lpad.i.i157 ], [ %arrayinit.element266, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 ], [ %arrayinit.endOfInit.9, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ] + %cleanup.isactive.11 = phi i1 [ true, %lpad264 ], [ true, %lpad.i.i157 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit511 ], [ %cleanup.isactive.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ] %424 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp234, i64 2 br label %arraydestroy.body807 -arraydestroy.body807: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544, %ehcleanup805 - %arraydestroy.elementPast808 = phi ptr [ %424, %ehcleanup805 ], [ %arraydestroy.element809, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 ] +arraydestroy.body807: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577, %ehcleanup805 + %arraydestroy.elementPast808 = phi ptr [ %424, %ehcleanup805 ], [ %arraydestroy.element809, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 ] %arraydestroy.element809 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast808, i64 -1 %arraydestroy.element809.val = load ptr, ptr %arraydestroy.element809, align 8 - %tobool.not.i.i.i.i542 = icmp eq ptr %arraydestroy.element809.val, null - br i1 %tobool.not.i.i.i.i542, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544, label %if.then.i.i.i.i543 + %tobool.not.i.i.i.i575 = icmp eq ptr %arraydestroy.element809.val, null + br i1 %tobool.not.i.i.i.i575, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577, label %if.then.i.i.i.i576 -if.then.i.i.i.i543: ; preds = %arraydestroy.body807 +if.then.i.i.i.i576: ; preds = %arraydestroy.body807 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element809.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544: ; preds = %arraydestroy.body807, %if.then.i.i.i.i543 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577: ; preds = %arraydestroy.body807, %if.then.i.i.i.i576 %arraydestroy.done810 = icmp eq ptr %arraydestroy.element809, %ref.tmp234 br i1 %arraydestroy.done810, label %ehcleanup818, label %arraydestroy.body807 -ehcleanup818: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544, %lpad.i.i125, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit475, %lpad230 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %386, %lpad230 ], [ %7, %lpad.i.i125 ], [ %387, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit475 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 ] - %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element206, %lpad230 ], [ %arrayinit.element232, %lpad.i.i125 ], [ %arrayinit.element232, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit475 ], [ %arrayinit.endOfInit.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 ] - %cleanup.isactive.12 = phi i1 [ true, %lpad230 ], [ true, %lpad.i.i125 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit475 ], [ %cleanup.isactive.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit544 ] +ehcleanup818: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577, %lpad.i.i134, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508, %lpad230 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %386, %lpad230 ], [ %7, %lpad.i.i134 ], [ %387, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 ] + %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element206, %lpad230 ], [ %arrayinit.element232, %lpad.i.i134 ], [ %arrayinit.element232, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508 ], [ %arrayinit.endOfInit.10, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 ] + %cleanup.isactive.12 = phi i1 [ true, %lpad230 ], [ true, %lpad.i.i134 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit508 ], [ %cleanup.isactive.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit577 ] %425 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp208, i64 2 br label %arraydestroy.body820 -arraydestroy.body820: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547, %ehcleanup818 - %arraydestroy.elementPast821 = phi ptr [ %425, %ehcleanup818 ], [ %arraydestroy.element822, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 ] +arraydestroy.body820: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580, %ehcleanup818 + %arraydestroy.elementPast821 = phi ptr [ %425, %ehcleanup818 ], [ %arraydestroy.element822, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 ] %arraydestroy.element822 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast821, i64 -1 %arraydestroy.element822.val = load ptr, ptr %arraydestroy.element822, align 8 - %tobool.not.i.i.i.i545 = icmp eq ptr %arraydestroy.element822.val, null - br i1 %tobool.not.i.i.i.i545, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547, label %if.then.i.i.i.i546 + %tobool.not.i.i.i.i578 = icmp eq ptr %arraydestroy.element822.val, null + br i1 %tobool.not.i.i.i.i578, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580, label %if.then.i.i.i.i579 -if.then.i.i.i.i546: ; preds = %arraydestroy.body820 +if.then.i.i.i.i579: ; preds = %arraydestroy.body820 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element822.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547: ; preds = %arraydestroy.body820, %if.then.i.i.i.i546 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580: ; preds = %arraydestroy.body820, %if.then.i.i.i.i579 %arraydestroy.done823 = icmp eq ptr %arraydestroy.element822, %ref.tmp208 br i1 %arraydestroy.done823, label %ehcleanup831, label %arraydestroy.body820 -ehcleanup831: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547, %lpad.i.i115, %lpad204 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %385, %lpad204 ], [ %6, %lpad.i.i115 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element180, %lpad204 ], [ %arrayinit.element206, %lpad.i.i115 ], [ %arrayinit.endOfInit.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 ] - %cleanup.isactive.13 = phi i1 [ true, %lpad204 ], [ true, %lpad.i.i115 ], [ %cleanup.isactive.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit547 ] +ehcleanup831: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580, %lpad.i.i123, %lpad204 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %385, %lpad204 ], [ %6, %lpad.i.i123 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element180, %lpad204 ], [ %arrayinit.element206, %lpad.i.i123 ], [ %arrayinit.endOfInit.11, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 ] + %cleanup.isactive.13 = phi i1 [ true, %lpad204 ], [ true, %lpad.i.i123 ], [ %cleanup.isactive.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit580 ] %426 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp182, i64 2 br label %arraydestroy.body833 -arraydestroy.body833: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550, %ehcleanup831 - %arraydestroy.elementPast834 = phi ptr [ %426, %ehcleanup831 ], [ %arraydestroy.element835, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 ] +arraydestroy.body833: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583, %ehcleanup831 + %arraydestroy.elementPast834 = phi ptr [ %426, %ehcleanup831 ], [ %arraydestroy.element835, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 ] %arraydestroy.element835 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast834, i64 -1 %arraydestroy.element835.val = load ptr, ptr %arraydestroy.element835, align 8 - %tobool.not.i.i.i.i548 = icmp eq ptr %arraydestroy.element835.val, null - br i1 %tobool.not.i.i.i.i548, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550, label %if.then.i.i.i.i549 + %tobool.not.i.i.i.i581 = icmp eq ptr %arraydestroy.element835.val, null + br i1 %tobool.not.i.i.i.i581, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583, label %if.then.i.i.i.i582 -if.then.i.i.i.i549: ; preds = %arraydestroy.body833 +if.then.i.i.i.i582: ; preds = %arraydestroy.body833 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element835.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550: ; preds = %arraydestroy.body833, %if.then.i.i.i.i549 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583: ; preds = %arraydestroy.body833, %if.then.i.i.i.i582 %arraydestroy.done836 = icmp eq ptr %arraydestroy.element835, %ref.tmp182 br i1 %arraydestroy.done836, label %ehcleanup844, label %arraydestroy.body833 -ehcleanup844: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550, %lpad.i.i105, %lpad178 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %384, %lpad178 ], [ %5, %lpad.i.i105 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 ] - %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element154, %lpad178 ], [ %arrayinit.element180, %lpad.i.i105 ], [ %arrayinit.endOfInit.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 ] - %cleanup.isactive.14 = phi i1 [ true, %lpad178 ], [ true, %lpad.i.i105 ], [ %cleanup.isactive.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit550 ] +ehcleanup844: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583, %lpad.i.i112, %lpad178 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %384, %lpad178 ], [ %5, %lpad.i.i112 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 ] + %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element154, %lpad178 ], [ %arrayinit.element180, %lpad.i.i112 ], [ %arrayinit.endOfInit.12, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 ] + %cleanup.isactive.14 = phi i1 [ true, %lpad178 ], [ true, %lpad.i.i112 ], [ %cleanup.isactive.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit583 ] %427 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp156, i64 2 br label %arraydestroy.body846 -arraydestroy.body846: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553, %ehcleanup844 - %arraydestroy.elementPast847 = phi ptr [ %427, %ehcleanup844 ], [ %arraydestroy.element848, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 ] +arraydestroy.body846: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586, %ehcleanup844 + %arraydestroy.elementPast847 = phi ptr [ %427, %ehcleanup844 ], [ %arraydestroy.element848, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 ] %arraydestroy.element848 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast847, i64 -1 %arraydestroy.element848.val = load ptr, ptr %arraydestroy.element848, align 8 - %tobool.not.i.i.i.i551 = icmp eq ptr %arraydestroy.element848.val, null - br i1 %tobool.not.i.i.i.i551, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553, label %if.then.i.i.i.i552 + %tobool.not.i.i.i.i584 = icmp eq ptr %arraydestroy.element848.val, null + br i1 %tobool.not.i.i.i.i584, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586, label %if.then.i.i.i.i585 -if.then.i.i.i.i552: ; preds = %arraydestroy.body846 +if.then.i.i.i.i585: ; preds = %arraydestroy.body846 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element848.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553: ; preds = %arraydestroy.body846, %if.then.i.i.i.i552 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586: ; preds = %arraydestroy.body846, %if.then.i.i.i.i585 %arraydestroy.done849 = icmp eq ptr %arraydestroy.element848, %ref.tmp156 br i1 %arraydestroy.done849, label %ehcleanup857, label %arraydestroy.body846 -ehcleanup857: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472, %lpad152 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %382, %lpad152 ], [ %383, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 ] - %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element128, %lpad152 ], [ %arrayinit.element154, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472 ], [ %arrayinit.endOfInit.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 ] - %cleanup.isactive.15 = phi i1 [ true, %lpad152 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit472 ], [ %cleanup.isactive.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit553 ] +ehcleanup857: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505, %lpad152 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %382, %lpad152 ], [ %383, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 ] + %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element128, %lpad152 ], [ %arrayinit.element154, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505 ], [ %arrayinit.endOfInit.13, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 ] + %cleanup.isactive.15 = phi i1 [ true, %lpad152 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit505 ], [ %cleanup.isactive.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit586 ] %428 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp130, i64 2 br label %arraydestroy.body859 -arraydestroy.body859: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556, %ehcleanup857 - %arraydestroy.elementPast860 = phi ptr [ %428, %ehcleanup857 ], [ %arraydestroy.element861, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] +arraydestroy.body859: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, %ehcleanup857 + %arraydestroy.elementPast860 = phi ptr [ %428, %ehcleanup857 ], [ %arraydestroy.element861, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ] %arraydestroy.element861 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast860, i64 -1 %arraydestroy.element861.val = load ptr, ptr %arraydestroy.element861, align 8 - %tobool.not.i.i.i.i554 = icmp eq ptr %arraydestroy.element861.val, null - br i1 %tobool.not.i.i.i.i554, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556, label %if.then.i.i.i.i555 + %tobool.not.i.i.i.i587 = icmp eq ptr %arraydestroy.element861.val, null + br i1 %tobool.not.i.i.i.i587, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, label %if.then.i.i.i.i588 -if.then.i.i.i.i555: ; preds = %arraydestroy.body859 +if.then.i.i.i.i588: ; preds = %arraydestroy.body859 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element861.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556: ; preds = %arraydestroy.body859, %if.then.i.i.i.i555 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589: ; preds = %arraydestroy.body859, %if.then.i.i.i.i588 %arraydestroy.done862 = icmp eq ptr %arraydestroy.element861, %ref.tmp130 br i1 %arraydestroy.done862, label %ehcleanup870, label %arraydestroy.body859 -ehcleanup870: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469, %lpad126 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %380, %lpad126 ], [ %381, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element82, %lpad126 ], [ %arrayinit.element128, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469 ], [ %arrayinit.endOfInit.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] - %cleanup.isactive.16 = phi i1 [ true, %lpad126 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit469 ], [ %cleanup.isactive.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit556 ] +ehcleanup870: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502, %lpad126 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %380, %lpad126 ], [ %381, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element82, %lpad126 ], [ %arrayinit.element128, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502 ], [ %arrayinit.endOfInit.14, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ] + %cleanup.isactive.16 = phi i1 [ true, %lpad126 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit502 ], [ %cleanup.isactive.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit589 ] %429 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp84, i64 3 br label %arraydestroy.body872 -arraydestroy.body872: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, %ehcleanup870 - %arraydestroy.elementPast873 = phi ptr [ %429, %ehcleanup870 ], [ %arraydestroy.element874, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ] +arraydestroy.body872: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, %ehcleanup870 + %arraydestroy.elementPast873 = phi ptr [ %429, %ehcleanup870 ], [ %arraydestroy.element874, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ] %arraydestroy.element874 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast873, i64 -1 %arraydestroy.element874.val = load ptr, ptr %arraydestroy.element874, align 8 - %tobool.not.i.i.i.i557 = icmp eq ptr %arraydestroy.element874.val, null - br i1 %tobool.not.i.i.i.i557, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, label %if.then.i.i.i.i558 + %tobool.not.i.i.i.i590 = icmp eq ptr %arraydestroy.element874.val, null + br i1 %tobool.not.i.i.i.i590, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, label %if.then.i.i.i.i591 -if.then.i.i.i.i558: ; preds = %arraydestroy.body872 +if.then.i.i.i.i591: ; preds = %arraydestroy.body872 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element874.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559: ; preds = %arraydestroy.body872, %if.then.i.i.i.i558 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592: ; preds = %arraydestroy.body872, %if.then.i.i.i.i591 %arraydestroy.done875 = icmp eq ptr %arraydestroy.element874, %ref.tmp84 br i1 %arraydestroy.done875, label %ehcleanup883, label %arraydestroy.body872 -ehcleanup883: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559, %lpad.i.i52, %lpad80 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %379, %lpad80 ], [ %2, %lpad.i.i52 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ], [ %eh.lpad-body59, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 ] - %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element48, %lpad80 ], [ %arrayinit.element82, %lpad.i.i52 ], [ %arrayinit.endOfInit.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ], [ %arrayinit.element82, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 ] - %cleanup.isactive.17 = phi i1 [ true, %lpad80 ], [ true, %lpad.i.i52 ], [ %cleanup.isactive.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit559 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit466 ] +ehcleanup883: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592, %lpad.i.i54, %lpad80 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %379, %lpad80 ], [ %2, %lpad.i.i54 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ], [ %eh.lpad-body62, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 ] + %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element48, %lpad80 ], [ %arrayinit.element82, %lpad.i.i54 ], [ %arrayinit.endOfInit.15, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ], [ %arrayinit.element82, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 ] + %cleanup.isactive.17 = phi i1 [ true, %lpad80 ], [ true, %lpad.i.i54 ], [ %cleanup.isactive.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit592 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit499 ] %430 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp50, i64 2 br label %arraydestroy.body885 -arraydestroy.body885: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, %ehcleanup883 - %arraydestroy.elementPast886 = phi ptr [ %430, %ehcleanup883 ], [ %arraydestroy.element887, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] +arraydestroy.body885: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, %ehcleanup883 + %arraydestroy.elementPast886 = phi ptr [ %430, %ehcleanup883 ], [ %arraydestroy.element887, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ] %arraydestroy.element887 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast886, i64 -1 %arraydestroy.element887.val = load ptr, ptr %arraydestroy.element887, align 8 - %tobool.not.i.i.i.i560 = icmp eq ptr %arraydestroy.element887.val, null - br i1 %tobool.not.i.i.i.i560, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, label %if.then.i.i.i.i561 + %tobool.not.i.i.i.i593 = icmp eq ptr %arraydestroy.element887.val, null + br i1 %tobool.not.i.i.i.i593, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, label %if.then.i.i.i.i594 -if.then.i.i.i.i561: ; preds = %arraydestroy.body885 +if.then.i.i.i.i594: ; preds = %arraydestroy.body885 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element887.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562: ; preds = %arraydestroy.body885, %if.then.i.i.i.i561 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595: ; preds = %arraydestroy.body885, %if.then.i.i.i.i594 %arraydestroy.done888 = icmp eq ptr %arraydestroy.element887, %ref.tmp50 br i1 %arraydestroy.done888, label %ehcleanup896, label %arraydestroy.body885 -ehcleanup896: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562, %lpad.i.i31, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463, %lpad46 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %377, %lpad46 ], [ %1, %lpad.i.i31 ], [ %378, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] - %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element29, %lpad46 ], [ %arrayinit.element48, %lpad.i.i31 ], [ %arrayinit.element48, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463 ], [ %arrayinit.endOfInit.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] - %cleanup.isactive.18 = phi i1 [ true, %lpad46 ], [ true, %lpad.i.i31 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit463 ], [ %cleanup.isactive.17, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit562 ] +ehcleanup896: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595, %lpad.i.i31, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496, %lpad46 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %377, %lpad46 ], [ %1, %lpad.i.i31 ], [ %378, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ] + %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element29, %lpad46 ], [ %arrayinit.element48, %lpad.i.i31 ], [ %arrayinit.element48, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496 ], [ %arrayinit.endOfInit.16, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ] + %cleanup.isactive.18 = phi i1 [ true, %lpad46 ], [ true, %lpad.i.i31 ], [ true, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit496 ], [ %cleanup.isactive.17, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit595 ] %arraydestroy.element900.val = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i.i563 = icmp eq ptr %arraydestroy.element900.val, null - br i1 %tobool.not.i.i.i.i563, label %ehcleanup909, label %if.then.i.i.i.i564 + %tobool.not.i.i.i.i596 = icmp eq ptr %arraydestroy.element900.val, null + br i1 %tobool.not.i.i.i.i596, label %ehcleanup909, label %if.then.i.i.i.i597 -if.then.i.i.i.i564: ; preds = %ehcleanup896 +if.then.i.i.i.i597: ; preds = %ehcleanup896 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element900.val) #31 br label %ehcleanup909 -ehcleanup909: ; preds = %if.then.i.i.i.i564, %ehcleanup896, %lpad.i.i, %lpad27 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %376, %lpad27 ], [ %0, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup896 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i564 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element17, %lpad27 ], [ %arrayinit.element29, %lpad.i.i ], [ %arrayinit.endOfInit.17, %ehcleanup896 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i564 ] - %cleanup.isactive.19 = phi i1 [ true, %lpad27 ], [ true, %lpad.i.i ], [ %cleanup.isactive.18, %ehcleanup896 ], [ %cleanup.isactive.18, %if.then.i.i.i.i564 ] +ehcleanup909: ; preds = %if.then.i.i.i.i597, %ehcleanup896, %lpad.i.i, %lpad27 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %376, %lpad27 ], [ %0, %lpad.i.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup896 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i597 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element17, %lpad27 ], [ %arrayinit.element29, %lpad.i.i ], [ %arrayinit.endOfInit.17, %ehcleanup896 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i597 ] + %cleanup.isactive.19 = phi i1 [ true, %lpad27 ], [ true, %lpad.i.i ], [ %cleanup.isactive.18, %ehcleanup896 ], [ %cleanup.isactive.18, %if.then.i.i.i.i597 ] %431 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp19, i64 3 br label %arraydestroy.body911 -arraydestroy.body911: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, %ehcleanup909 - %arraydestroy.elementPast912 = phi ptr [ %431, %ehcleanup909 ], [ %arraydestroy.element913, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] +arraydestroy.body911: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, %ehcleanup909 + %arraydestroy.elementPast912 = phi ptr [ %431, %ehcleanup909 ], [ %arraydestroy.element913, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ] %arraydestroy.element913 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast912, i64 -1 %arraydestroy.element913.val = load ptr, ptr %arraydestroy.element913, align 8 - %tobool.not.i.i.i.i566 = icmp eq ptr %arraydestroy.element913.val, null - br i1 %tobool.not.i.i.i.i566, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, label %if.then.i.i.i.i567 + %tobool.not.i.i.i.i599 = icmp eq ptr %arraydestroy.element913.val, null + br i1 %tobool.not.i.i.i.i599, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, label %if.then.i.i.i.i600 -if.then.i.i.i.i567: ; preds = %arraydestroy.body911 +if.then.i.i.i.i600: ; preds = %arraydestroy.body911 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element913.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568: ; preds = %arraydestroy.body911, %if.then.i.i.i.i567 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601: ; preds = %arraydestroy.body911, %if.then.i.i.i.i600 %arraydestroy.done914 = icmp eq ptr %arraydestroy.element913, %ref.tmp19 br i1 %arraydestroy.done914, label %ehcleanup922, label %arraydestroy.body911 -ehcleanup922: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568, %lpad15 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %375, %lpad15 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] - %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element6, %lpad15 ], [ %arrayinit.endOfInit.18, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] - %cleanup.isactive.20 = phi i1 [ true, %lpad15 ], [ %cleanup.isactive.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit568 ] +ehcleanup922: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601, %lpad15 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %375, %lpad15 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ] + %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element6, %lpad15 ], [ %arrayinit.endOfInit.18, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ] + %cleanup.isactive.20 = phi i1 [ true, %lpad15 ], [ %cleanup.isactive.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit601 ] %432 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %ref.tmp8, i64 2 br label %arraydestroy.body924 -arraydestroy.body924: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, %ehcleanup922 - %arraydestroy.elementPast925 = phi ptr [ %432, %ehcleanup922 ], [ %arraydestroy.element926, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] +arraydestroy.body924: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, %ehcleanup922 + %arraydestroy.elementPast925 = phi ptr [ %432, %ehcleanup922 ], [ %arraydestroy.element926, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ] %arraydestroy.element926 = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence", ptr %arraydestroy.elementPast925, i64 -1 %arraydestroy.element926.val = load ptr, ptr %arraydestroy.element926, align 8 - %tobool.not.i.i.i.i569 = icmp eq ptr %arraydestroy.element926.val, null - br i1 %tobool.not.i.i.i.i569, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, label %if.then.i.i.i.i570 + %tobool.not.i.i.i.i602 = icmp eq ptr %arraydestroy.element926.val, null + br i1 %tobool.not.i.i.i.i602, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, label %if.then.i.i.i.i603 -if.then.i.i.i.i570: ; preds = %arraydestroy.body924 +if.then.i.i.i.i603: ; preds = %arraydestroy.body924 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element926.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571: ; preds = %arraydestroy.body924, %if.then.i.i.i.i570 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604: ; preds = %arraydestroy.body924, %if.then.i.i.i.i603 %arraydestroy.done927 = icmp eq ptr %arraydestroy.element926, %ref.tmp8 br i1 %arraydestroy.done927, label %ehcleanup935, label %arraydestroy.body924 -ehcleanup935: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571, %lpad - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %374, %lpad ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] - %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %lpad ], [ %arrayinit.endOfInit.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] - %cleanup.isactive.21 = phi i1 [ true, %lpad ], [ %cleanup.isactive.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit571 ] +ehcleanup935: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604, %lpad + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %374, %lpad ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ] + %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %lpad ], [ %arrayinit.endOfInit.19, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ] + %cleanup.isactive.21 = phi i1 [ true, %lpad ], [ %cleanup.isactive.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit604 ] %arraydestroy.element939.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i572 = icmp eq ptr %arraydestroy.element939.val, null - br i1 %tobool.not.i.i.i.i572, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, label %if.then.i.i.i.i573 + %tobool.not.i.i.i.i605 = icmp eq ptr %arraydestroy.element939.val, null + br i1 %tobool.not.i.i.i.i605, label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607, label %if.then.i.i.i.i606 -if.then.i.i.i.i573: ; preds = %ehcleanup935 +if.then.i.i.i.i606: ; preds = %ehcleanup935 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element939.val) #31 - br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 + br label %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 -_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574: ; preds = %ehcleanup935, %if.then.i.i.i.i573 +_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607: ; preds = %ehcleanup935, %if.then.i.i.i.i606 %arraydestroy.isempty943 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.20 %or.cond.not = select i1 %cleanup.isactive.21, i1 %arraydestroy.isempty943, i1 false br i1 %or.cond.not, label %arraydestroy.body944, label %eh.resume -arraydestroy.body944: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, %arraydestroy.body944 - %arraydestroy.elementPast945 = phi ptr [ %arraydestroy.element946, %arraydestroy.body944 ], [ %arrayinit.endOfInit.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ] +arraydestroy.body944: ; preds = %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607, %arraydestroy.body944 + %arraydestroy.elementPast945 = phi ptr [ %arraydestroy.element946, %arraydestroy.body944 ], [ %arrayinit.endOfInit.20, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 ] %arraydestroy.element946 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %arraydestroy.elementPast945, i64 -1 call fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_IiEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element946) #28 %arraydestroy.done947 = icmp eq ptr %arraydestroy.element946, %ref.tmp @@ -212279,25 +212282,25 @@ ehcleanup964: ; preds = %lpad961, %lpad959 ehcleanup965: ; preds = %ehcleanup964, %lpad956 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %ehcleanup964 ], [ %436, %lpad956 ] %439 = load ptr, ptr %ref.tmp951, align 8 - %cmp.not.i.i575 = icmp eq ptr %439, null - br i1 %cmp.not.i.i575, label %_ZN7testing7MessageD2Ev.exit579, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i576 + %cmp.not.i.i608 = icmp eq ptr %439, null + br i1 %cmp.not.i.i608, label %_ZN7testing7MessageD2Ev.exit612, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i609 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i576: ; preds = %ehcleanup965 - %vtable.i.i.i577 = load ptr, ptr %439, align 8 - %vfn.i.i.i578 = getelementptr inbounds ptr, ptr %vtable.i.i.i577, i64 1 - %440 = load ptr, ptr %vfn.i.i.i578, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i609: ; preds = %ehcleanup965 + %vtable.i.i.i610 = load ptr, ptr %439, align 8 + %vfn.i.i.i611 = getelementptr inbounds ptr, ptr %vtable.i.i.i610, i64 1 + %440 = load ptr, ptr %vfn.i.i.i611, align 8 call void %440(ptr noundef nonnull align 8 dereferenceable(128) %439) #28 - br label %_ZN7testing7MessageD2Ev.exit579 + br label %_ZN7testing7MessageD2Ev.exit612 -_ZN7testing7MessageD2Ev.exit579: ; preds = %ehcleanup965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i576 +_ZN7testing7MessageD2Ev.exit612: ; preds = %ehcleanup965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i609 store ptr null, ptr %ref.tmp951, align 8 br label %ehcleanup966 if.end: ; preds = %invoke.cont950, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %441 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i580 = icmp eq ptr %441, null - br i1 %cmp.not.i.i580, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i613 = icmp eq ptr %441, null + br i1 %cmp.not.i.i613, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %441) #28 @@ -212309,7 +212312,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %442 = load ptr, ptr %exemplars, align 8 %443 = load ptr, ptr %_M_finish.i.i, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %442, %443 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i582, label %for.body.i.i.i.i + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i615, label %for.body.i.i.i.i for.body.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEEEvPT_.exit.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEEEvPT_.exit.i.i.i.i ], [ %442, %_ZN7testing15AssertionResultD2Ev.exit ] @@ -212349,32 +212352,32 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i _ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1683", ptr %__first.addr.04.i.i.i.i, i64 1 - %cmp.not.i.i.i.i581 = icmp eq ptr %incdec.ptr.i.i.i.i, %443 - br i1 %cmp.not.i.i.i.i581, label %invoke.cont.i582, label %for.body.i.i.i.i, !llvm.loop !4927 + %cmp.not.i.i.i.i614 = icmp eq ptr %incdec.ptr.i.i.i.i, %443 + br i1 %cmp.not.i.i.i.i614, label %invoke.cont.i615, label %for.body.i.i.i.i, !llvm.loop !4927 -invoke.cont.i582: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit - %tobool.not.i.i.i583 = icmp eq ptr %442, null - br i1 %tobool.not.i.i.i583, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEESaIS7_EED2Ev.exit, label %if.then.i.i.i584 +invoke.cont.i615: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit + %tobool.not.i.i.i616 = icmp eq ptr %442, null + br i1 %tobool.not.i.i.i616, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEESaIS7_EED2Ev.exit, label %if.then.i.i.i617 -if.then.i.i.i584: ; preds = %invoke.cont.i582 +if.then.i.i.i617: ; preds = %invoke.cont.i615 call void @_ZdlPv(ptr noundef nonnull %442) #31 br label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEESaIS7_EED2Ev.exit -_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEESaIS7_EED2Ev.exit: ; preds = %invoke.cont.i582, %if.then.i.i.i584 +_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEESaIS7_EED2Ev.exit: ; preds = %invoke.cont.i615, %if.then.i.i.i617 ret void -ehcleanup966: ; preds = %_ZN7testing7MessageD2Ev.exit579, %lpad952 - %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit579 ], [ %435, %lpad952 ] +ehcleanup966: ; preds = %_ZN7testing7MessageD2Ev.exit612, %lpad952 + %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit612 ], [ %435, %lpad952 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup967 -ehcleanup967: ; preds = %if.then.i.i.i43.i, %lpad.body.i445, %if.then.i.i.i.i.i, %lpad.i.i457, %ehcleanup966 - %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup966 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i457 ], [ %.pn46.pn.i.i, %lpad.body.i445 ], [ %.pn46.pn.i.i, %if.then.i.i.i43.i ] +ehcleanup967: ; preds = %if.then.i.i.i44.i, %lpad.body.i478, %if.then.i.i.i.i.i, %lpad.i.i490, %ehcleanup966 + %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup966 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i490 ], [ %.pn46.pn.i.i, %lpad.body.i478 ], [ %.pn46.pn.i.i, %if.then.i.i.i44.i ] call fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS4_IiEEEEEESaIS7_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body944, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574, %ehcleanup967 - %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup967 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit574 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body944 ] +eh.resume: ; preds = %arraydestroy.body944, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607, %ehcleanup967 + %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup967 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN12_GLOBAL__N_117UnorderedSequenceIiED2Ev.exit607 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body944 ] resume { ptr, i32 } %.pn23.pn.pn.pn.pn } @@ -214843,8 +214846,7 @@ invoke.cont14.i: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 5 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp, ptr %add.ptr.i.i.i, ptr %20, ptr %19) to label %invoke.cont30.i unwind label %lpad.i, !noalias !5035 @@ -215945,7 +215947,7 @@ invoke.cont16: ; preds = %invoke.cont invoke.cont28: ; preds = %invoke.cont16 %arrayinit.element29 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp31, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #32 to label %invoke.cont41 unwind label %common.resume.i common.resume.i: ; preds = %invoke.cont28 @@ -215954,169 +215956,169 @@ common.resume.i: ; preds = %invoke.cont28 br label %ehcleanup909 invoke.cont41: ; preds = %invoke.cont28 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, ptr %ref.tmp31, align 8 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, ptr %ref.tmp31, align 8 %_M_finish.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp31, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, i64 1 + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, i64 1 %_M_end_of_storage.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp31, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i, align 8 - store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i, align 4 + store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i, align 4 store ptr %add.ptr.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i, align 8 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element29, ptr nonnull %ref.tmp31, i64 1) to label %invoke.cont47 unwind label %lpad46 invoke.cont47: ; preds = %invoke.cont41 %arrayinit.element48 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 5 - %call5.i.i.i.i1.i.i.i37 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc36 unwind label %lpad60.body.thread705 + %call5.i.i.i.i1.i.i.i38 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc37 unwind label %lpad60.body.thread738 -lpad60.body.thread705: ; preds = %invoke.cont47 +lpad60.body.thread738: ; preds = %invoke.cont47 %1 = landingpad { ptr, i32 } cleanup br label %ehcleanup896 -call5.i.i.i.i1.i.i.i.noexc36: ; preds = %invoke.cont47 - store i32 1, ptr %call5.i.i.i.i1.i.i.i37, align 4 - %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i.i37.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i37, i64 4 - store i32 1, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i.i37.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc37: ; preds = %invoke.cont47 + store i32 1, ptr %call5.i.i.i.i1.i.i.i38, align 4 + %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i.i38.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i38, i64 4 + store i32 1, ptr %ref.tmp54.sroa.2.0.call5.i.i.i.i1.i.i.i38.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp50, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i31 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i31 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont61 unwind label %lpad60.body.thread -lpad60.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc36 +lpad60.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc37 %2 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i37) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i38) #31 br label %ehcleanup896 -invoke.cont61: ; preds = %call5.i.i.i.i1.i.i.i.noexc36 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i31, ptr %ref.tmp50, align 8 +invoke.cont61: ; preds = %call5.i.i.i.i1.i.i.i.noexc37 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i31, ptr %ref.tmp50, align 8 %_M_finish.i.i.i.i.i.i.i33 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i34 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i31, i64 2 + %add.ptr.i.i.i.i.i.i.i34 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i31, i64 2 %_M_end_of_storage.i.i.i.i.i.i.i35 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp50, i64 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i34, ptr %_M_end_of_storage.i.i.i.i.i.i.i35, align 8 - %3 = load i64, ptr %call5.i.i.i.i1.i.i.i37, align 4 - store i64 %3, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i31, align 4 + %3 = load i64, ptr %call5.i.i.i.i1.i.i.i38, align 4 + store i64 %3, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i31, align 4 store ptr %add.ptr.i.i.i.i.i.i.i34, ptr %_M_finish.i.i.i.i.i.i.i33, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i37) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i38) #31 %arrayinit.element62 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1 - %call5.i.i.i.i1.i.i.i46 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc45 unwind label %lpad60.body + %call5.i.i.i.i1.i.i.i48 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc47 unwind label %lpad60.body -call5.i.i.i.i1.i.i.i.noexc45: ; preds = %invoke.cont61 - store i32 1, ptr %call5.i.i.i.i1.i.i.i46, align 4 - %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i.i46.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i46, i64 4 - store i32 1, ptr %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i.i46.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc47: ; preds = %invoke.cont61 + store i32 1, ptr %call5.i.i.i.i1.i.i.i48, align 4 + %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i.i48.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i48, i64 4 + store i32 1, ptr %ref.tmp64.sroa.2.0.call5.i.i.i.i1.i.i.i48.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element62, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i40 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont70 unwind label %lpad60.body.thread699 + %call5.i.i.i.i2.i6.i.i.i.i5.i41 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont70 unwind label %lpad60.body.thread732 -lpad60.body.thread699: ; preds = %call5.i.i.i.i1.i.i.i.noexc45 +lpad60.body.thread732: ; preds = %call5.i.i.i.i1.i.i.i.noexc47 %4 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i46) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i48) #31 br label %arraydestroy.body72 -invoke.cont70: ; preds = %call5.i.i.i.i1.i.i.i.noexc45 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i40, ptr %arrayinit.element62, align 8 - %_M_finish.i.i.i.i.i.i.i42 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i43 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i40, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i44 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i43, ptr %_M_end_of_storage.i.i.i.i.i.i.i44, align 8 - %5 = load i64, ptr %call5.i.i.i.i1.i.i.i46, align 4 - store i64 %5, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i40, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i43, ptr %_M_finish.i.i.i.i.i.i.i42, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i46) #31 +invoke.cont70: ; preds = %call5.i.i.i.i1.i.i.i.noexc47 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i41, ptr %arrayinit.element62, align 8 + %_M_finish.i.i.i.i.i.i.i43 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i44 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i41, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i45 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i44, ptr %_M_end_of_storage.i.i.i.i.i.i.i45, align 8 + %5 = load i64, ptr %call5.i.i.i.i1.i.i.i48, align 4 + store i64 %5, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i41, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i44, ptr %_M_finish.i.i.i.i.i.i.i43, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i48) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element48, ptr nonnull %ref.tmp50, i64 2) to label %invoke.cont81 unwind label %lpad80 invoke.cont81: ; preds = %invoke.cont70 %arrayinit.element82 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 6 - %call5.i.i.i.i1.i.i.i57 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc56 unwind label %lpad95.body - -call5.i.i.i.i1.i.i.i.noexc56: ; preds = %invoke.cont81 - store i32 1, ptr %call5.i.i.i.i1.i.i.i57, align 4 - %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i.i57.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i57, i64 4 - store i32 1, ptr %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i.i57.sroa_idx, align 4 - %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i.i57.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i57, i64 8 - store i32 1, ptr %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i.i57.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i60 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc59 unwind label %lpad95.body + +call5.i.i.i.i1.i.i.i.noexc59: ; preds = %invoke.cont81 + store i32 1, ptr %call5.i.i.i.i1.i.i.i60, align 4 + %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i.i60.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i60, i64 4 + store i32 1, ptr %ref.tmp88.sroa.2.0.call5.i.i.i.i1.i.i.i60.sroa_idx, align 4 + %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i.i60.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i60, i64 8 + store i32 1, ptr %ref.tmp88.sroa.3.0.call5.i.i.i.i1.i.i.i60.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp84, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i51 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i53 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 to label %invoke.cont96 unwind label %lpad95.body.thread -lpad95.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc56 +lpad95.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc59 %6 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i57) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i60) #31 br label %ehcleanup883 -invoke.cont96: ; preds = %call5.i.i.i.i1.i.i.i.noexc56 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i51, ptr %ref.tmp84, align 8 - %_M_finish.i.i.i.i.i.i.i53 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i54 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i51, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i55 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i54, ptr %_M_end_of_storage.i.i.i.i.i.i.i55, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i51, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i57, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i54, ptr %_M_finish.i.i.i.i.i.i.i53, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i57) #31 +invoke.cont96: ; preds = %call5.i.i.i.i1.i.i.i.noexc59 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i53, ptr %ref.tmp84, align 8 + %_M_finish.i.i.i.i.i.i.i55 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i56 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i53, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i57 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp84, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i56, ptr %_M_end_of_storage.i.i.i.i.i.i.i57, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i53, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i60, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i56, ptr %_M_finish.i.i.i.i.i.i.i55, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i60) #31 %arrayinit.element97 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1 - %call5.i.i.i.i1.i.i.i66 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc65 unwind label %lpad95.body.thread715 - -call5.i.i.i.i1.i.i.i.noexc65: ; preds = %invoke.cont96 - store i32 1, ptr %call5.i.i.i.i1.i.i.i66, align 4 - %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i.i66.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i66, i64 4 - store i32 1, ptr %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i.i66.sroa_idx, align 4 - %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i.i66.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i66, i64 8 - store i32 1, ptr %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i.i66.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i70 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc69 unwind label %lpad95.body.thread748 + +call5.i.i.i.i1.i.i.i.noexc69: ; preds = %invoke.cont96 + store i32 1, ptr %call5.i.i.i.i1.i.i.i70, align 4 + %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i.i70.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i70, i64 4 + store i32 1, ptr %ref.tmp99.sroa.2.0.call5.i.i.i.i1.i.i.i70.sroa_idx, align 4 + %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i.i70.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i70, i64 8 + store i32 1, ptr %ref.tmp99.sroa.3.0.call5.i.i.i.i1.i.i.i70.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element97, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i60 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont106 unwind label %common.resume.i61 + %call5.i.i.i.i2.i6.i.i.i.i5.i63 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont106 unwind label %common.resume.i64 -common.resume.i61: ; preds = %call5.i.i.i.i1.i.i.i.noexc65 +common.resume.i64: ; preds = %call5.i.i.i.i1.i.i.i.noexc69 %7 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i66) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i70) #31 br label %arraydestroy.body118.preheader -invoke.cont106: ; preds = %call5.i.i.i.i1.i.i.i.noexc65 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i60, ptr %arrayinit.element97, align 8 - %_M_finish.i.i.i.i.i.i.i62 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i63 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i60, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i64 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i63, ptr %_M_end_of_storage.i.i.i.i.i.i.i64, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i60, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i66, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i63, ptr %_M_finish.i.i.i.i.i.i.i62, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i66) #31 +invoke.cont106: ; preds = %call5.i.i.i.i1.i.i.i.noexc69 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i63, ptr %arrayinit.element97, align 8 + %_M_finish.i.i.i.i.i.i.i65 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i66 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i63, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i67 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i66, ptr %_M_end_of_storage.i.i.i.i.i.i.i67, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i63, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i70, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i66, ptr %_M_finish.i.i.i.i.i.i.i65, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i70) #31 %arrayinit.element107 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2 - %call5.i.i.i.i1.i.i.i77 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %call5.i.i.i.i1.i.i.i.noexc76 unwind label %lpad95.body.thread715 - -call5.i.i.i.i1.i.i.i.noexc76: ; preds = %invoke.cont106 - store i32 1, ptr %call5.i.i.i.i1.i.i.i77, align 4 - %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i.i77.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i77, i64 4 - store i32 1, ptr %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i.i77.sroa_idx, align 4 - %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i.i77.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i77, i64 8 - store i32 1, ptr %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i.i77.sroa_idx, align 4 + %call5.i.i.i.i1.i.i.i82 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %call5.i.i.i.i1.i.i.i.noexc81 unwind label %lpad95.body.thread748 + +call5.i.i.i.i1.i.i.i.noexc81: ; preds = %invoke.cont106 + store i32 1, ptr %call5.i.i.i.i1.i.i.i82, align 4 + %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i.i82.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i82, i64 4 + store i32 1, ptr %ref.tmp109.sroa.2.0.call5.i.i.i.i1.i.i.i82.sroa_idx, align 4 + %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i.i82.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i82, i64 8 + store i32 1, ptr %ref.tmp109.sroa.3.0.call5.i.i.i.i1.i.i.i82.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element107, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i71 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 - to label %invoke.cont116 unwind label %common.resume.i72 + %call5.i.i.i.i2.i6.i.i.i.i5.i75 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #32 + to label %invoke.cont116 unwind label %common.resume.i76 -common.resume.i72: ; preds = %call5.i.i.i.i1.i.i.i.noexc76 +common.resume.i76: ; preds = %call5.i.i.i.i1.i.i.i.noexc81 %8 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i77) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i82) #31 br label %arraydestroy.body118.preheader -invoke.cont116: ; preds = %call5.i.i.i.i1.i.i.i.noexc76 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i71, ptr %arrayinit.element107, align 8 - %_M_finish.i.i.i.i.i.i.i73 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i74 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i71, i64 3 - %_M_end_of_storage.i.i.i.i.i.i.i75 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i74, ptr %_M_end_of_storage.i.i.i.i.i.i.i75, align 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i6.i71, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i77, i64 12, i1 false) - store ptr %add.ptr.i.i.i.i.i.i.i74, ptr %_M_finish.i.i.i.i.i.i.i73, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i77) #31 +invoke.cont116: ; preds = %call5.i.i.i.i1.i.i.i.noexc81 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i75, ptr %arrayinit.element107, align 8 + %_M_finish.i.i.i.i.i.i.i77 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i78 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i75, i64 3 + %_M_end_of_storage.i.i.i.i.i.i.i79 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 2, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i78, ptr %_M_end_of_storage.i.i.i.i.i.i.i79, align 8 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i5.i75, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i1.i.i.i82, i64 12, i1 false) + store ptr %add.ptr.i.i.i.i.i.i.i78, ptr %_M_finish.i.i.i.i.i.i.i77, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i82) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element82, ptr nonnull %ref.tmp84, i64 3) to label %invoke.cont127 unwind label %lpad126 @@ -216124,27 +216126,27 @@ invoke.cont127: ; preds = %invoke.cont116 %arrayinit.element128 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 7 %arrayinit.element133 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp130, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i88 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc87 unwind label %lpad141.body.thread + %call5.i.i.i.i1.i.i.i94 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc93 unwind label %lpad141.body.thread -call5.i.i.i.i1.i.i.i.noexc87: ; preds = %invoke.cont127 - store i32 1, ptr %call5.i.i.i.i1.i.i.i88, align 4 - %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i.i88.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i88, i64 4 - store i32 2, ptr %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i.i88.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc93: ; preds = %invoke.cont127 + store i32 1, ptr %call5.i.i.i.i1.i.i.i94, align 4 + %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i.i94.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i94, i64 4 + store i32 2, ptr %ref.tmp135.sroa.2.0.call5.i.i.i.i1.i.i.i94.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element133, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i82 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i87 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont142 unwind label %lpad141.body -invoke.cont142: ; preds = %call5.i.i.i.i1.i.i.i.noexc87 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i82, ptr %arrayinit.element133, align 8 - %_M_finish.i.i.i.i.i.i.i84 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i85 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i82, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i86 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i85, ptr %_M_end_of_storage.i.i.i.i.i.i.i86, align 8 - %9 = load i64, ptr %call5.i.i.i.i1.i.i.i88, align 4 - store i64 %9, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i82, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i85, ptr %_M_finish.i.i.i.i.i.i.i84, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i88) #31 +invoke.cont142: ; preds = %call5.i.i.i.i1.i.i.i.noexc93 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i87, ptr %arrayinit.element133, align 8 + %_M_finish.i.i.i.i.i.i.i89 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i90 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i87, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i91 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i90, ptr %_M_end_of_storage.i.i.i.i.i.i.i91, align 8 + %9 = load i64, ptr %call5.i.i.i.i1.i.i.i94, align 4 + store i64 %9, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i87, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i90, ptr %_M_finish.i.i.i.i.i.i.i89, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i94) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element128, ptr nonnull %ref.tmp130, i64 2) to label %invoke.cont153 unwind label %lpad152 @@ -216152,59 +216154,59 @@ invoke.cont153: ; preds = %invoke.cont142 %arrayinit.element154 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 8 %arrayinit.element159 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp156, i8 0, i64 24, i1 false) - %call5.i.i.i.i1.i.i.i97 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc96 unwind label %lpad167.body.thread + %call5.i.i.i.i1.i.i.i104 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc103 unwind label %lpad167.body.thread -call5.i.i.i.i1.i.i.i.noexc96: ; preds = %invoke.cont153 - store i32 2, ptr %call5.i.i.i.i1.i.i.i97, align 4 - %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i.i97.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i97, i64 4 - store i32 1, ptr %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i.i97.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc103: ; preds = %invoke.cont153 + store i32 2, ptr %call5.i.i.i.i1.i.i.i104, align 4 + %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i.i104.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i104, i64 4 + store i32 1, ptr %ref.tmp161.sroa.2.0.call5.i.i.i.i1.i.i.i104.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element159, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i91 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i97 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont168 unwind label %lpad167.body -invoke.cont168: ; preds = %call5.i.i.i.i1.i.i.i.noexc96 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i91, ptr %arrayinit.element159, align 8 - %_M_finish.i.i.i.i.i.i.i93 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i94 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i91, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i95 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i94, ptr %_M_end_of_storage.i.i.i.i.i.i.i95, align 8 - %10 = load i64, ptr %call5.i.i.i.i1.i.i.i97, align 4 - store i64 %10, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i91, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i94, ptr %_M_finish.i.i.i.i.i.i.i93, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i97) #31 +invoke.cont168: ; preds = %call5.i.i.i.i1.i.i.i.noexc103 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i97, ptr %arrayinit.element159, align 8 + %_M_finish.i.i.i.i.i.i.i99 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i100 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i97, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i101 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i100, ptr %_M_end_of_storage.i.i.i.i.i.i.i101, align 8 + %10 = load i64, ptr %call5.i.i.i.i1.i.i.i104, align 4 + store i64 %10, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i97, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i100, ptr %_M_finish.i.i.i.i.i.i.i99, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i104) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element154, ptr nonnull %ref.tmp156, i64 2) to label %invoke.cont179 unwind label %lpad178 invoke.cont179: ; preds = %invoke.cont168 %arrayinit.element180 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 9 - %call5.i.i.i.i1.i.i.i106 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc105 unwind label %lpad192 + %call5.i.i.i.i1.i.i.i114 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc113 unwind label %lpad192 -call5.i.i.i.i1.i.i.i.noexc105: ; preds = %invoke.cont179 - store i32 1, ptr %call5.i.i.i.i1.i.i.i106, align 4 - %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i.i106.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i106, i64 4 - store i32 2, ptr %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i.i106.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc113: ; preds = %invoke.cont179 + store i32 1, ptr %call5.i.i.i.i1.i.i.i114, align 4 + %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i.i114.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i114, i64 4 + store i32 2, ptr %ref.tmp186.sroa.2.0.call5.i.i.i.i1.i.i.i114.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp182, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i100 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont193 unwind label %common.resume.i101 + %call5.i.i.i.i2.i6.i.i.i.i5.i107 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont193 unwind label %common.resume.i108 -common.resume.i101: ; preds = %call5.i.i.i.i1.i.i.i.noexc105 +common.resume.i108: ; preds = %call5.i.i.i.i1.i.i.i.noexc113 %11 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i106) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i114) #31 br label %ehcleanup844 -invoke.cont193: ; preds = %call5.i.i.i.i1.i.i.i.noexc105 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i100, ptr %ref.tmp182, align 8 - %_M_finish.i.i.i.i.i.i.i102 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i103 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i100, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i104 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i103, ptr %_M_end_of_storage.i.i.i.i.i.i.i104, align 8 - %12 = load i64, ptr %call5.i.i.i.i1.i.i.i106, align 4 - store i64 %12, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i100, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i103, ptr %_M_finish.i.i.i.i.i.i.i102, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i106) #31 +invoke.cont193: ; preds = %call5.i.i.i.i1.i.i.i.noexc113 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i107, ptr %ref.tmp182, align 8 + %_M_finish.i.i.i.i.i.i.i109 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i110 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i107, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i111 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp182, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i110, ptr %_M_end_of_storage.i.i.i.i.i.i.i111, align 8 + %12 = load i64, ptr %call5.i.i.i.i1.i.i.i114, align 4 + store i64 %12, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i107, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i110, ptr %_M_finish.i.i.i.i.i.i.i109, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i114) #31 %arrayinit.element194 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp182, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element194, i8 0, i64 24, i1 false) invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element180, ptr nonnull %ref.tmp182, i64 2) @@ -216212,33 +216214,33 @@ invoke.cont193: ; preds = %call5.i.i.i.i1.i.i. invoke.cont205: ; preds = %invoke.cont193 %arrayinit.element206 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 10 - %call5.i.i.i.i1.i.i.i115 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc114 unwind label %lpad218 + %call5.i.i.i.i1.i.i.i124 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc123 unwind label %lpad218 -call5.i.i.i.i1.i.i.i.noexc114: ; preds = %invoke.cont205 - store i32 2, ptr %call5.i.i.i.i1.i.i.i115, align 4 - %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i.i115.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i115, i64 4 - store i32 1, ptr %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i.i115.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc123: ; preds = %invoke.cont205 + store i32 2, ptr %call5.i.i.i.i1.i.i.i124, align 4 + %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i.i124.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i124, i64 4 + store i32 1, ptr %ref.tmp212.sroa.2.0.call5.i.i.i.i1.i.i.i124.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp208, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i109 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont219 unwind label %common.resume.i110 + %call5.i.i.i.i2.i6.i.i.i.i5.i117 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont219 unwind label %common.resume.i118 -common.resume.i110: ; preds = %call5.i.i.i.i1.i.i.i.noexc114 +common.resume.i118: ; preds = %call5.i.i.i.i1.i.i.i.noexc123 %13 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i115) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i124) #31 br label %ehcleanup831 -invoke.cont219: ; preds = %call5.i.i.i.i1.i.i.i.noexc114 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i109, ptr %ref.tmp208, align 8 - %_M_finish.i.i.i.i.i.i.i111 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i112 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i109, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i113 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i112, ptr %_M_end_of_storage.i.i.i.i.i.i.i113, align 8 - %14 = load i64, ptr %call5.i.i.i.i1.i.i.i115, align 4 - store i64 %14, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i109, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i112, ptr %_M_finish.i.i.i.i.i.i.i111, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i115) #31 +invoke.cont219: ; preds = %call5.i.i.i.i1.i.i.i.noexc123 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i117, ptr %ref.tmp208, align 8 + %_M_finish.i.i.i.i.i.i.i119 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i120 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i117, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i121 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp208, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i120, ptr %_M_end_of_storage.i.i.i.i.i.i.i121, align 8 + %14 = load i64, ptr %call5.i.i.i.i1.i.i.i124, align 4 + store i64 %14, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i117, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i120, ptr %_M_finish.i.i.i.i.i.i.i119, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i124) #31 %arrayinit.element220 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp208, i64 1 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element220, i8 0, i64 24, i1 false) invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element206, ptr nonnull %ref.tmp208, i64 2) @@ -216246,798 +216248,798 @@ invoke.cont219: ; preds = %call5.i.i.i.i1.i.i. invoke.cont231: ; preds = %invoke.cont219 %arrayinit.element232 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 11 - %call5.i.i.i.i1.i.i.i124 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc123 unwind label %lpad244.body.thread733 + %call5.i.i.i.i1.i.i.i134 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc133 unwind label %lpad244.body.thread766 -lpad244.body.thread733: ; preds = %invoke.cont231 +lpad244.body.thread766: ; preds = %invoke.cont231 %15 = landingpad { ptr, i32 } cleanup br label %ehcleanup818 -call5.i.i.i.i1.i.i.i.noexc123: ; preds = %invoke.cont231 - store i32 1, ptr %call5.i.i.i.i1.i.i.i124, align 4 - %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i.i124.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i124, i64 4 - store i32 2, ptr %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i.i124.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc133: ; preds = %invoke.cont231 + store i32 1, ptr %call5.i.i.i.i1.i.i.i134, align 4 + %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i.i134.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i134, i64 4 + store i32 2, ptr %ref.tmp238.sroa.2.0.call5.i.i.i.i1.i.i.i134.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp234, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i118 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i127 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont245 unwind label %lpad244.body.thread -lpad244.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc123 +lpad244.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc133 %16 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i124) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i134) #31 br label %ehcleanup818 -invoke.cont245: ; preds = %call5.i.i.i.i1.i.i.i.noexc123 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i118, ptr %ref.tmp234, align 8 - %_M_finish.i.i.i.i.i.i.i120 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i121 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i118, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i122 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i121, ptr %_M_end_of_storage.i.i.i.i.i.i.i122, align 8 - %17 = load i64, ptr %call5.i.i.i.i1.i.i.i124, align 4 - store i64 %17, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i118, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i121, ptr %_M_finish.i.i.i.i.i.i.i120, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i124) #31 +invoke.cont245: ; preds = %call5.i.i.i.i1.i.i.i.noexc133 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i127, ptr %ref.tmp234, align 8 + %_M_finish.i.i.i.i.i.i.i129 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i130 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i127, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i131 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp234, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i130, ptr %_M_end_of_storage.i.i.i.i.i.i.i131, align 8 + %17 = load i64, ptr %call5.i.i.i.i1.i.i.i134, align 4 + store i64 %17, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i127, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i130, ptr %_M_finish.i.i.i.i.i.i.i129, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i134) #31 %arrayinit.element246 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1 - %call5.i.i.i.i1.i.i.i133 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc132 unwind label %lpad244.body + %call5.i.i.i.i1.i.i.i144 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc143 unwind label %lpad244.body -call5.i.i.i.i1.i.i.i.noexc132: ; preds = %invoke.cont245 - store i32 3, ptr %call5.i.i.i.i1.i.i.i133, align 4 - %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i133.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i133, i64 4 - store i32 4, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i133.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc143: ; preds = %invoke.cont245 + store i32 3, ptr %call5.i.i.i.i1.i.i.i144, align 4 + %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i144.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i144, i64 4 + store i32 4, ptr %ref.tmp248.sroa.2.0.call5.i.i.i.i1.i.i.i144.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element246, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i127 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont254 unwind label %lpad244.body.thread727 + %call5.i.i.i.i2.i6.i.i.i.i5.i137 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont254 unwind label %lpad244.body.thread760 -lpad244.body.thread727: ; preds = %call5.i.i.i.i1.i.i.i.noexc132 +lpad244.body.thread760: ; preds = %call5.i.i.i.i1.i.i.i.noexc143 %18 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i133) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i144) #31 br label %arraydestroy.body256 -invoke.cont254: ; preds = %call5.i.i.i.i1.i.i.i.noexc132 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i127, ptr %arrayinit.element246, align 8 - %_M_finish.i.i.i.i.i.i.i129 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i130 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i127, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i131 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i130, ptr %_M_end_of_storage.i.i.i.i.i.i.i131, align 8 - %19 = load i64, ptr %call5.i.i.i.i1.i.i.i133, align 4 - store i64 %19, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i127, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i130, ptr %_M_finish.i.i.i.i.i.i.i129, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i133) #31 +invoke.cont254: ; preds = %call5.i.i.i.i1.i.i.i.noexc143 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i137, ptr %arrayinit.element246, align 8 + %_M_finish.i.i.i.i.i.i.i139 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i140 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i137, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i141 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i140, ptr %_M_end_of_storage.i.i.i.i.i.i.i141, align 8 + %19 = load i64, ptr %call5.i.i.i.i1.i.i.i144, align 4 + store i64 %19, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i137, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i140, ptr %_M_finish.i.i.i.i.i.i.i139, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i144) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element232, ptr nonnull %ref.tmp234, i64 2) to label %invoke.cont265 unwind label %lpad264 invoke.cont265: ; preds = %invoke.cont254 %arrayinit.element266 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 12 - %call5.i.i.i.i1.i.i.i144 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc143 unwind label %lpad278.body.thread742 + %call5.i.i.i.i1.i.i.i156 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc155 unwind label %lpad278.body.thread775 -lpad278.body.thread742: ; preds = %invoke.cont265 +lpad278.body.thread775: ; preds = %invoke.cont265 %20 = landingpad { ptr, i32 } cleanup br label %ehcleanup805 -call5.i.i.i.i1.i.i.i.noexc143: ; preds = %invoke.cont265 - store i32 1, ptr %call5.i.i.i.i1.i.i.i144, align 4 - %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i.i144.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i144, i64 4 - store i32 2, ptr %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i.i144.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc155: ; preds = %invoke.cont265 + store i32 1, ptr %call5.i.i.i.i1.i.i.i156, align 4 + %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i.i156.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i156, i64 4 + store i32 2, ptr %ref.tmp272.sroa.2.0.call5.i.i.i.i1.i.i.i156.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp268, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i138 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i149 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont279 unwind label %lpad278.body.thread -lpad278.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc143 +lpad278.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc155 %21 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i144) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i156) #31 br label %ehcleanup805 -invoke.cont279: ; preds = %call5.i.i.i.i1.i.i.i.noexc143 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i138, ptr %ref.tmp268, align 8 - %_M_finish.i.i.i.i.i.i.i140 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i141 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i138, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i142 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i141, ptr %_M_end_of_storage.i.i.i.i.i.i.i142, align 8 - %22 = load i64, ptr %call5.i.i.i.i1.i.i.i144, align 4 - store i64 %22, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i138, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i141, ptr %_M_finish.i.i.i.i.i.i.i140, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i144) #31 +invoke.cont279: ; preds = %call5.i.i.i.i1.i.i.i.noexc155 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i149, ptr %ref.tmp268, align 8 + %_M_finish.i.i.i.i.i.i.i151 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i152 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i149, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i153 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp268, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i152, ptr %_M_end_of_storage.i.i.i.i.i.i.i153, align 8 + %22 = load i64, ptr %call5.i.i.i.i1.i.i.i156, align 4 + store i64 %22, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i149, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i152, ptr %_M_finish.i.i.i.i.i.i.i151, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i156) #31 %arrayinit.element280 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1 - %call5.i.i.i.i1.i.i.i153 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc152 unwind label %lpad278.body + %call5.i.i.i.i1.i.i.i166 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc165 unwind label %lpad278.body -call5.i.i.i.i1.i.i.i.noexc152: ; preds = %invoke.cont279 - store i32 4, ptr %call5.i.i.i.i1.i.i.i153, align 4 - %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i.i153.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i153, i64 4 - store i32 3, ptr %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i.i153.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc165: ; preds = %invoke.cont279 + store i32 4, ptr %call5.i.i.i.i1.i.i.i166, align 4 + %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i.i166.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i166, i64 4 + store i32 3, ptr %ref.tmp282.sroa.2.0.call5.i.i.i.i1.i.i.i166.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element280, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i147 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont288 unwind label %lpad278.body.thread736 + %call5.i.i.i.i2.i6.i.i.i.i5.i159 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont288 unwind label %lpad278.body.thread769 -lpad278.body.thread736: ; preds = %call5.i.i.i.i1.i.i.i.noexc152 +lpad278.body.thread769: ; preds = %call5.i.i.i.i1.i.i.i.noexc165 %23 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i153) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i166) #31 br label %arraydestroy.body290 -invoke.cont288: ; preds = %call5.i.i.i.i1.i.i.i.noexc152 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i147, ptr %arrayinit.element280, align 8 - %_M_finish.i.i.i.i.i.i.i149 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i150 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i147, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i151 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i150, ptr %_M_end_of_storage.i.i.i.i.i.i.i151, align 8 - %24 = load i64, ptr %call5.i.i.i.i1.i.i.i153, align 4 - store i64 %24, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i147, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i150, ptr %_M_finish.i.i.i.i.i.i.i149, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i153) #31 +invoke.cont288: ; preds = %call5.i.i.i.i1.i.i.i.noexc165 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i159, ptr %arrayinit.element280, align 8 + %_M_finish.i.i.i.i.i.i.i161 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i162 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i159, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i163 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i162, ptr %_M_end_of_storage.i.i.i.i.i.i.i163, align 8 + %24 = load i64, ptr %call5.i.i.i.i1.i.i.i166, align 4 + store i64 %24, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i159, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i162, ptr %_M_finish.i.i.i.i.i.i.i161, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i166) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element266, ptr nonnull %ref.tmp268, i64 2) to label %invoke.cont299 unwind label %lpad298 invoke.cont299: ; preds = %invoke.cont288 %arrayinit.element300 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 13 - %call5.i.i.i.i1.i.i.i164 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc163 unwind label %lpad312.body.thread751 + %call5.i.i.i.i1.i.i.i178 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc177 unwind label %lpad312.body.thread784 -lpad312.body.thread751: ; preds = %invoke.cont299 +lpad312.body.thread784: ; preds = %invoke.cont299 %25 = landingpad { ptr, i32 } cleanup br label %ehcleanup792 -call5.i.i.i.i1.i.i.i.noexc163: ; preds = %invoke.cont299 - store i32 1, ptr %call5.i.i.i.i1.i.i.i164, align 4 - %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i.i164.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i164, i64 4 - store i32 3, ptr %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i.i164.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc177: ; preds = %invoke.cont299 + store i32 1, ptr %call5.i.i.i.i1.i.i.i178, align 4 + %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i.i178.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i178, i64 4 + store i32 3, ptr %ref.tmp306.sroa.2.0.call5.i.i.i.i1.i.i.i178.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp302, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i158 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i171 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont313 unwind label %lpad312.body.thread -lpad312.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc163 +lpad312.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc177 %26 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i164) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i178) #31 br label %ehcleanup792 -invoke.cont313: ; preds = %call5.i.i.i.i1.i.i.i.noexc163 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i158, ptr %ref.tmp302, align 8 - %_M_finish.i.i.i.i.i.i.i160 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i161 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i158, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i162 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i161, ptr %_M_end_of_storage.i.i.i.i.i.i.i162, align 8 - %27 = load i64, ptr %call5.i.i.i.i1.i.i.i164, align 4 - store i64 %27, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i158, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i161, ptr %_M_finish.i.i.i.i.i.i.i160, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i164) #31 +invoke.cont313: ; preds = %call5.i.i.i.i1.i.i.i.noexc177 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i171, ptr %ref.tmp302, align 8 + %_M_finish.i.i.i.i.i.i.i173 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i174 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i171, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i175 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp302, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i174, ptr %_M_end_of_storage.i.i.i.i.i.i.i175, align 8 + %27 = load i64, ptr %call5.i.i.i.i1.i.i.i178, align 4 + store i64 %27, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i171, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i174, ptr %_M_finish.i.i.i.i.i.i.i173, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i178) #31 %arrayinit.element314 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1 - %call5.i.i.i.i1.i.i.i173 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc172 unwind label %lpad312.body + %call5.i.i.i.i1.i.i.i188 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc187 unwind label %lpad312.body -call5.i.i.i.i1.i.i.i.noexc172: ; preds = %invoke.cont313 - store i32 2, ptr %call5.i.i.i.i1.i.i.i173, align 4 - %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i.i173.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i173, i64 4 - store i32 4, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i.i173.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc187: ; preds = %invoke.cont313 + store i32 2, ptr %call5.i.i.i.i1.i.i.i188, align 4 + %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i.i188.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i188, i64 4 + store i32 4, ptr %ref.tmp316.sroa.2.0.call5.i.i.i.i1.i.i.i188.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element314, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i167 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont322 unwind label %lpad312.body.thread745 + %call5.i.i.i.i2.i6.i.i.i.i5.i181 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont322 unwind label %lpad312.body.thread778 -lpad312.body.thread745: ; preds = %call5.i.i.i.i1.i.i.i.noexc172 +lpad312.body.thread778: ; preds = %call5.i.i.i.i1.i.i.i.noexc187 %28 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i173) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i188) #31 br label %arraydestroy.body324 -invoke.cont322: ; preds = %call5.i.i.i.i1.i.i.i.noexc172 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i167, ptr %arrayinit.element314, align 8 - %_M_finish.i.i.i.i.i.i.i169 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i170 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i167, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i171 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i170, ptr %_M_end_of_storage.i.i.i.i.i.i.i171, align 8 - %29 = load i64, ptr %call5.i.i.i.i1.i.i.i173, align 4 - store i64 %29, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i167, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i170, ptr %_M_finish.i.i.i.i.i.i.i169, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i173) #31 +invoke.cont322: ; preds = %call5.i.i.i.i1.i.i.i.noexc187 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i181, ptr %arrayinit.element314, align 8 + %_M_finish.i.i.i.i.i.i.i183 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i184 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i181, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i185 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i184, ptr %_M_end_of_storage.i.i.i.i.i.i.i185, align 8 + %29 = load i64, ptr %call5.i.i.i.i1.i.i.i188, align 4 + store i64 %29, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i181, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i184, ptr %_M_finish.i.i.i.i.i.i.i183, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i188) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element300, ptr nonnull %ref.tmp302, i64 2) to label %invoke.cont333 unwind label %lpad332 invoke.cont333: ; preds = %invoke.cont322 %arrayinit.element334 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 14 - %call5.i.i.i.i1.i.i.i184 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc183 unwind label %lpad346.body.thread760 + %call5.i.i.i.i1.i.i.i200 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc199 unwind label %lpad346.body.thread793 -lpad346.body.thread760: ; preds = %invoke.cont333 +lpad346.body.thread793: ; preds = %invoke.cont333 %30 = landingpad { ptr, i32 } cleanup br label %ehcleanup779 -call5.i.i.i.i1.i.i.i.noexc183: ; preds = %invoke.cont333 - store i32 1, ptr %call5.i.i.i.i1.i.i.i184, align 4 - %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i.i184.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i184, i64 4 - store i32 3, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i.i184.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc199: ; preds = %invoke.cont333 + store i32 1, ptr %call5.i.i.i.i1.i.i.i200, align 4 + %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i.i200.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i200, i64 4 + store i32 3, ptr %ref.tmp340.sroa.2.0.call5.i.i.i.i1.i.i.i200.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp336, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i178 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i193 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont347 unwind label %lpad346.body.thread -lpad346.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc183 +lpad346.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc199 %31 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i184) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i200) #31 br label %ehcleanup779 -invoke.cont347: ; preds = %call5.i.i.i.i1.i.i.i.noexc183 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i178, ptr %ref.tmp336, align 8 - %_M_finish.i.i.i.i.i.i.i180 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i181 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i178, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i182 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i181, ptr %_M_end_of_storage.i.i.i.i.i.i.i182, align 8 - %32 = load i64, ptr %call5.i.i.i.i1.i.i.i184, align 4 - store i64 %32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i178, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i181, ptr %_M_finish.i.i.i.i.i.i.i180, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i184) #31 +invoke.cont347: ; preds = %call5.i.i.i.i1.i.i.i.noexc199 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i193, ptr %ref.tmp336, align 8 + %_M_finish.i.i.i.i.i.i.i195 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i196 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i193, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i197 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp336, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i196, ptr %_M_end_of_storage.i.i.i.i.i.i.i197, align 8 + %32 = load i64, ptr %call5.i.i.i.i1.i.i.i200, align 4 + store i64 %32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i193, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i196, ptr %_M_finish.i.i.i.i.i.i.i195, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i200) #31 %arrayinit.element348 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1 - %call5.i.i.i.i1.i.i.i193 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc192 unwind label %lpad346.body + %call5.i.i.i.i1.i.i.i210 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc209 unwind label %lpad346.body -call5.i.i.i.i1.i.i.i.noexc192: ; preds = %invoke.cont347 - store i32 4, ptr %call5.i.i.i.i1.i.i.i193, align 4 - %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i.i193.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i193, i64 4 - store i32 2, ptr %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i.i193.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc209: ; preds = %invoke.cont347 + store i32 4, ptr %call5.i.i.i.i1.i.i.i210, align 4 + %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i.i210.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i210, i64 4 + store i32 2, ptr %ref.tmp350.sroa.2.0.call5.i.i.i.i1.i.i.i210.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element348, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i187 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont356 unwind label %lpad346.body.thread754 + %call5.i.i.i.i2.i6.i.i.i.i5.i203 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont356 unwind label %lpad346.body.thread787 -lpad346.body.thread754: ; preds = %call5.i.i.i.i1.i.i.i.noexc192 +lpad346.body.thread787: ; preds = %call5.i.i.i.i1.i.i.i.noexc209 %33 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i193) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i210) #31 br label %arraydestroy.body358 -invoke.cont356: ; preds = %call5.i.i.i.i1.i.i.i.noexc192 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i187, ptr %arrayinit.element348, align 8 - %_M_finish.i.i.i.i.i.i.i189 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i190 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i187, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i191 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i190, ptr %_M_end_of_storage.i.i.i.i.i.i.i191, align 8 - %34 = load i64, ptr %call5.i.i.i.i1.i.i.i193, align 4 - store i64 %34, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i187, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i190, ptr %_M_finish.i.i.i.i.i.i.i189, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i193) #31 +invoke.cont356: ; preds = %call5.i.i.i.i1.i.i.i.noexc209 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i203, ptr %arrayinit.element348, align 8 + %_M_finish.i.i.i.i.i.i.i205 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i206 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i203, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i207 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i206, ptr %_M_end_of_storage.i.i.i.i.i.i.i207, align 8 + %34 = load i64, ptr %call5.i.i.i.i1.i.i.i210, align 4 + store i64 %34, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i203, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i206, ptr %_M_finish.i.i.i.i.i.i.i205, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i210) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element334, ptr nonnull %ref.tmp336, i64 2) to label %invoke.cont367 unwind label %lpad366 invoke.cont367: ; preds = %invoke.cont356 %arrayinit.element368 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 15 - %call5.i.i.i.i1.i.i.i204 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc203 unwind label %lpad380.body.thread769 + %call5.i.i.i.i1.i.i.i222 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc221 unwind label %lpad380.body.thread802 -lpad380.body.thread769: ; preds = %invoke.cont367 +lpad380.body.thread802: ; preds = %invoke.cont367 %35 = landingpad { ptr, i32 } cleanup br label %ehcleanup766 -call5.i.i.i.i1.i.i.i.noexc203: ; preds = %invoke.cont367 - store i32 1, ptr %call5.i.i.i.i1.i.i.i204, align 4 - %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i.i204.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i204, i64 4 - store i32 4, ptr %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i.i204.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc221: ; preds = %invoke.cont367 + store i32 1, ptr %call5.i.i.i.i1.i.i.i222, align 4 + %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i.i222.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i222, i64 4 + store i32 4, ptr %ref.tmp374.sroa.2.0.call5.i.i.i.i1.i.i.i222.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp370, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i198 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i215 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont381 unwind label %lpad380.body.thread -lpad380.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc203 +lpad380.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc221 %36 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i204) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i222) #31 br label %ehcleanup766 -invoke.cont381: ; preds = %call5.i.i.i.i1.i.i.i.noexc203 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i198, ptr %ref.tmp370, align 8 - %_M_finish.i.i.i.i.i.i.i200 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i201 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i198, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i202 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i201, ptr %_M_end_of_storage.i.i.i.i.i.i.i202, align 8 - %37 = load i64, ptr %call5.i.i.i.i1.i.i.i204, align 4 - store i64 %37, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i198, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i201, ptr %_M_finish.i.i.i.i.i.i.i200, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i204) #31 +invoke.cont381: ; preds = %call5.i.i.i.i1.i.i.i.noexc221 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i215, ptr %ref.tmp370, align 8 + %_M_finish.i.i.i.i.i.i.i217 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i218 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i215, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i219 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp370, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i218, ptr %_M_end_of_storage.i.i.i.i.i.i.i219, align 8 + %37 = load i64, ptr %call5.i.i.i.i1.i.i.i222, align 4 + store i64 %37, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i215, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i218, ptr %_M_finish.i.i.i.i.i.i.i217, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i222) #31 %arrayinit.element382 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1 - %call5.i.i.i.i1.i.i.i213 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc212 unwind label %lpad380.body + %call5.i.i.i.i1.i.i.i232 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc231 unwind label %lpad380.body -call5.i.i.i.i1.i.i.i.noexc212: ; preds = %invoke.cont381 - store i32 2, ptr %call5.i.i.i.i1.i.i.i213, align 4 - %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i.i213.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i213, i64 4 - store i32 3, ptr %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i.i213.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc231: ; preds = %invoke.cont381 + store i32 2, ptr %call5.i.i.i.i1.i.i.i232, align 4 + %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i.i232.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i232, i64 4 + store i32 3, ptr %ref.tmp384.sroa.2.0.call5.i.i.i.i1.i.i.i232.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element382, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i207 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont390 unwind label %lpad380.body.thread763 + %call5.i.i.i.i2.i6.i.i.i.i5.i225 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont390 unwind label %lpad380.body.thread796 -lpad380.body.thread763: ; preds = %call5.i.i.i.i1.i.i.i.noexc212 +lpad380.body.thread796: ; preds = %call5.i.i.i.i1.i.i.i.noexc231 %38 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i213) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i232) #31 br label %arraydestroy.body392 -invoke.cont390: ; preds = %call5.i.i.i.i1.i.i.i.noexc212 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i207, ptr %arrayinit.element382, align 8 - %_M_finish.i.i.i.i.i.i.i209 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i210 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i207, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i211 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i210, ptr %_M_end_of_storage.i.i.i.i.i.i.i211, align 8 - %39 = load i64, ptr %call5.i.i.i.i1.i.i.i213, align 4 - store i64 %39, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i207, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i210, ptr %_M_finish.i.i.i.i.i.i.i209, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i213) #31 +invoke.cont390: ; preds = %call5.i.i.i.i1.i.i.i.noexc231 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i225, ptr %arrayinit.element382, align 8 + %_M_finish.i.i.i.i.i.i.i227 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i228 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i225, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i229 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i228, ptr %_M_end_of_storage.i.i.i.i.i.i.i229, align 8 + %39 = load i64, ptr %call5.i.i.i.i1.i.i.i232, align 4 + store i64 %39, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i225, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i228, ptr %_M_finish.i.i.i.i.i.i.i227, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i232) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element368, ptr nonnull %ref.tmp370, i64 2) to label %invoke.cont401 unwind label %lpad400 invoke.cont401: ; preds = %invoke.cont390 %arrayinit.element402 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 16 - %call5.i.i.i.i1.i.i.i224 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc223 unwind label %lpad414.body.thread778 + %call5.i.i.i.i1.i.i.i244 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc243 unwind label %lpad414.body.thread811 -lpad414.body.thread778: ; preds = %invoke.cont401 +lpad414.body.thread811: ; preds = %invoke.cont401 %40 = landingpad { ptr, i32 } cleanup br label %ehcleanup753 -call5.i.i.i.i1.i.i.i.noexc223: ; preds = %invoke.cont401 - store i32 1, ptr %call5.i.i.i.i1.i.i.i224, align 4 - %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i.i224.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i224, i64 4 - store i32 4, ptr %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i.i224.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc243: ; preds = %invoke.cont401 + store i32 1, ptr %call5.i.i.i.i1.i.i.i244, align 4 + %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i.i244.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i244, i64 4 + store i32 4, ptr %ref.tmp408.sroa.2.0.call5.i.i.i.i1.i.i.i244.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp404, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i218 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i237 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont415 unwind label %lpad414.body.thread -lpad414.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc223 +lpad414.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc243 %41 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i224) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i244) #31 br label %ehcleanup753 -invoke.cont415: ; preds = %call5.i.i.i.i1.i.i.i.noexc223 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i218, ptr %ref.tmp404, align 8 - %_M_finish.i.i.i.i.i.i.i220 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i221 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i218, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i222 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i221, ptr %_M_end_of_storage.i.i.i.i.i.i.i222, align 8 - %42 = load i64, ptr %call5.i.i.i.i1.i.i.i224, align 4 - store i64 %42, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i218, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i221, ptr %_M_finish.i.i.i.i.i.i.i220, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i224) #31 +invoke.cont415: ; preds = %call5.i.i.i.i1.i.i.i.noexc243 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i237, ptr %ref.tmp404, align 8 + %_M_finish.i.i.i.i.i.i.i239 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i240 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i237, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i241 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp404, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i240, ptr %_M_end_of_storage.i.i.i.i.i.i.i241, align 8 + %42 = load i64, ptr %call5.i.i.i.i1.i.i.i244, align 4 + store i64 %42, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i237, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i240, ptr %_M_finish.i.i.i.i.i.i.i239, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i244) #31 %arrayinit.element416 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1 - %call5.i.i.i.i1.i.i.i233 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc232 unwind label %lpad414.body + %call5.i.i.i.i1.i.i.i254 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc253 unwind label %lpad414.body -call5.i.i.i.i1.i.i.i.noexc232: ; preds = %invoke.cont415 - store i32 3, ptr %call5.i.i.i.i1.i.i.i233, align 4 - %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i.i233.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i233, i64 4 - store i32 2, ptr %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i.i233.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc253: ; preds = %invoke.cont415 + store i32 3, ptr %call5.i.i.i.i1.i.i.i254, align 4 + %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i.i254.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i254, i64 4 + store i32 2, ptr %ref.tmp418.sroa.2.0.call5.i.i.i.i1.i.i.i254.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element416, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i227 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont424 unwind label %lpad414.body.thread772 + %call5.i.i.i.i2.i6.i.i.i.i5.i247 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont424 unwind label %lpad414.body.thread805 -lpad414.body.thread772: ; preds = %call5.i.i.i.i1.i.i.i.noexc232 +lpad414.body.thread805: ; preds = %call5.i.i.i.i1.i.i.i.noexc253 %43 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i233) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i254) #31 br label %arraydestroy.body426 -invoke.cont424: ; preds = %call5.i.i.i.i1.i.i.i.noexc232 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i227, ptr %arrayinit.element416, align 8 - %_M_finish.i.i.i.i.i.i.i229 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i230 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i227, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i231 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i230, ptr %_M_end_of_storage.i.i.i.i.i.i.i231, align 8 - %44 = load i64, ptr %call5.i.i.i.i1.i.i.i233, align 4 - store i64 %44, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i227, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i230, ptr %_M_finish.i.i.i.i.i.i.i229, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i233) #31 +invoke.cont424: ; preds = %call5.i.i.i.i1.i.i.i.noexc253 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i247, ptr %arrayinit.element416, align 8 + %_M_finish.i.i.i.i.i.i.i249 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i250 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i247, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i251 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i250, ptr %_M_end_of_storage.i.i.i.i.i.i.i251, align 8 + %44 = load i64, ptr %call5.i.i.i.i1.i.i.i254, align 4 + store i64 %44, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i247, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i250, ptr %_M_finish.i.i.i.i.i.i.i249, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i254) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element402, ptr nonnull %ref.tmp404, i64 2) to label %invoke.cont435 unwind label %lpad434 invoke.cont435: ; preds = %invoke.cont424 %arrayinit.element436 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 17 - %call5.i.i.i.i1.i.i.i244 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc243 unwind label %lpad448.body.thread787 + %call5.i.i.i.i1.i.i.i266 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc265 unwind label %lpad448.body.thread820 -lpad448.body.thread787: ; preds = %invoke.cont435 +lpad448.body.thread820: ; preds = %invoke.cont435 %45 = landingpad { ptr, i32 } cleanup br label %ehcleanup740 -call5.i.i.i.i1.i.i.i.noexc243: ; preds = %invoke.cont435 - store i32 2, ptr %call5.i.i.i.i1.i.i.i244, align 4 - %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i.i244.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i244, i64 4 - store i32 3, ptr %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i.i244.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc265: ; preds = %invoke.cont435 + store i32 2, ptr %call5.i.i.i.i1.i.i.i266, align 4 + %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i.i266.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i266, i64 4 + store i32 3, ptr %ref.tmp442.sroa.2.0.call5.i.i.i.i1.i.i.i266.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp438, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i238 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i259 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont449 unwind label %lpad448.body.thread -lpad448.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc243 +lpad448.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc265 %46 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i244) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i266) #31 br label %ehcleanup740 -invoke.cont449: ; preds = %call5.i.i.i.i1.i.i.i.noexc243 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i238, ptr %ref.tmp438, align 8 - %_M_finish.i.i.i.i.i.i.i240 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i241 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i238, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i242 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i241, ptr %_M_end_of_storage.i.i.i.i.i.i.i242, align 8 - %47 = load i64, ptr %call5.i.i.i.i1.i.i.i244, align 4 - store i64 %47, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i238, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i241, ptr %_M_finish.i.i.i.i.i.i.i240, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i244) #31 +invoke.cont449: ; preds = %call5.i.i.i.i1.i.i.i.noexc265 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i259, ptr %ref.tmp438, align 8 + %_M_finish.i.i.i.i.i.i.i261 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i262 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i259, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i263 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp438, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i262, ptr %_M_end_of_storage.i.i.i.i.i.i.i263, align 8 + %47 = load i64, ptr %call5.i.i.i.i1.i.i.i266, align 4 + store i64 %47, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i259, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i262, ptr %_M_finish.i.i.i.i.i.i.i261, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i266) #31 %arrayinit.element450 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1 - %call5.i.i.i.i1.i.i.i253 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc252 unwind label %lpad448.body + %call5.i.i.i.i1.i.i.i276 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc275 unwind label %lpad448.body -call5.i.i.i.i1.i.i.i.noexc252: ; preds = %invoke.cont449 - store i32 1, ptr %call5.i.i.i.i1.i.i.i253, align 4 - %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i.i253.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i253, i64 4 - store i32 4, ptr %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i.i253.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc275: ; preds = %invoke.cont449 + store i32 1, ptr %call5.i.i.i.i1.i.i.i276, align 4 + %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i.i276.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i276, i64 4 + store i32 4, ptr %ref.tmp452.sroa.2.0.call5.i.i.i.i1.i.i.i276.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element450, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i247 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont458 unwind label %lpad448.body.thread781 + %call5.i.i.i.i2.i6.i.i.i.i5.i269 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont458 unwind label %lpad448.body.thread814 -lpad448.body.thread781: ; preds = %call5.i.i.i.i1.i.i.i.noexc252 +lpad448.body.thread814: ; preds = %call5.i.i.i.i1.i.i.i.noexc275 %48 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i253) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i276) #31 br label %arraydestroy.body460 -invoke.cont458: ; preds = %call5.i.i.i.i1.i.i.i.noexc252 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, ptr %arrayinit.element450, align 8 - %_M_finish.i.i.i.i.i.i.i249 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i250 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i251 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i250, ptr %_M_end_of_storage.i.i.i.i.i.i.i251, align 8 - %49 = load i64, ptr %call5.i.i.i.i1.i.i.i253, align 4 - store i64 %49, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i247, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i250, ptr %_M_finish.i.i.i.i.i.i.i249, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i253) #31 +invoke.cont458: ; preds = %call5.i.i.i.i1.i.i.i.noexc275 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i269, ptr %arrayinit.element450, align 8 + %_M_finish.i.i.i.i.i.i.i271 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i272 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i269, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i273 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i272, ptr %_M_end_of_storage.i.i.i.i.i.i.i273, align 8 + %49 = load i64, ptr %call5.i.i.i.i1.i.i.i276, align 4 + store i64 %49, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i269, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i272, ptr %_M_finish.i.i.i.i.i.i.i271, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i276) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element436, ptr nonnull %ref.tmp438, i64 2) to label %invoke.cont469 unwind label %lpad468 invoke.cont469: ; preds = %invoke.cont458 %arrayinit.element470 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 18 - %call5.i.i.i.i1.i.i.i264 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc263 unwind label %lpad482.body.thread796 + %call5.i.i.i.i1.i.i.i288 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc287 unwind label %lpad482.body.thread829 -lpad482.body.thread796: ; preds = %invoke.cont469 +lpad482.body.thread829: ; preds = %invoke.cont469 %50 = landingpad { ptr, i32 } cleanup br label %ehcleanup727 -call5.i.i.i.i1.i.i.i.noexc263: ; preds = %invoke.cont469 - store i32 2, ptr %call5.i.i.i.i1.i.i.i264, align 4 - %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i.i264.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i264, i64 4 - store i32 3, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i.i264.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc287: ; preds = %invoke.cont469 + store i32 2, ptr %call5.i.i.i.i1.i.i.i288, align 4 + %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i.i288.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i288, i64 4 + store i32 3, ptr %ref.tmp476.sroa.2.0.call5.i.i.i.i1.i.i.i288.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp472, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i258 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i281 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont483 unwind label %lpad482.body.thread -lpad482.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc263 +lpad482.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc287 %51 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i264) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i288) #31 br label %ehcleanup727 -invoke.cont483: ; preds = %call5.i.i.i.i1.i.i.i.noexc263 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i258, ptr %ref.tmp472, align 8 - %_M_finish.i.i.i.i.i.i.i260 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i261 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i258, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i262 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i261, ptr %_M_end_of_storage.i.i.i.i.i.i.i262, align 8 - %52 = load i64, ptr %call5.i.i.i.i1.i.i.i264, align 4 - store i64 %52, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i258, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i261, ptr %_M_finish.i.i.i.i.i.i.i260, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i264) #31 +invoke.cont483: ; preds = %call5.i.i.i.i1.i.i.i.noexc287 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i281, ptr %ref.tmp472, align 8 + %_M_finish.i.i.i.i.i.i.i283 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i284 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i281, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i285 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp472, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i284, ptr %_M_end_of_storage.i.i.i.i.i.i.i285, align 8 + %52 = load i64, ptr %call5.i.i.i.i1.i.i.i288, align 4 + store i64 %52, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i281, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i284, ptr %_M_finish.i.i.i.i.i.i.i283, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i288) #31 %arrayinit.element484 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1 - %call5.i.i.i.i1.i.i.i273 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc272 unwind label %lpad482.body + %call5.i.i.i.i1.i.i.i298 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc297 unwind label %lpad482.body -call5.i.i.i.i1.i.i.i.noexc272: ; preds = %invoke.cont483 - store i32 4, ptr %call5.i.i.i.i1.i.i.i273, align 4 - %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i.i273.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i273, i64 4 - store i32 1, ptr %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i.i273.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc297: ; preds = %invoke.cont483 + store i32 4, ptr %call5.i.i.i.i1.i.i.i298, align 4 + %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i.i298.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i298, i64 4 + store i32 1, ptr %ref.tmp486.sroa.2.0.call5.i.i.i.i1.i.i.i298.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element484, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i267 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont492 unwind label %lpad482.body.thread790 + %call5.i.i.i.i2.i6.i.i.i.i5.i291 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont492 unwind label %lpad482.body.thread823 -lpad482.body.thread790: ; preds = %call5.i.i.i.i1.i.i.i.noexc272 +lpad482.body.thread823: ; preds = %call5.i.i.i.i1.i.i.i.noexc297 %53 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i273) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i298) #31 br label %arraydestroy.body494 -invoke.cont492: ; preds = %call5.i.i.i.i1.i.i.i.noexc272 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i267, ptr %arrayinit.element484, align 8 - %_M_finish.i.i.i.i.i.i.i269 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i270 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i267, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i271 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i270, ptr %_M_end_of_storage.i.i.i.i.i.i.i271, align 8 - %54 = load i64, ptr %call5.i.i.i.i1.i.i.i273, align 4 - store i64 %54, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i267, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i270, ptr %_M_finish.i.i.i.i.i.i.i269, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i273) #31 +invoke.cont492: ; preds = %call5.i.i.i.i1.i.i.i.noexc297 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i291, ptr %arrayinit.element484, align 8 + %_M_finish.i.i.i.i.i.i.i293 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i294 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i291, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i295 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i294, ptr %_M_end_of_storage.i.i.i.i.i.i.i295, align 8 + %54 = load i64, ptr %call5.i.i.i.i1.i.i.i298, align 4 + store i64 %54, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i291, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i294, ptr %_M_finish.i.i.i.i.i.i.i293, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i298) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element470, ptr nonnull %ref.tmp472, i64 2) to label %invoke.cont503 unwind label %lpad502 invoke.cont503: ; preds = %invoke.cont492 %arrayinit.element504 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 19 - %call5.i.i.i.i1.i.i.i284 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc283 unwind label %lpad516.body.thread805 + %call5.i.i.i.i1.i.i.i310 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc309 unwind label %lpad516.body.thread838 -lpad516.body.thread805: ; preds = %invoke.cont503 +lpad516.body.thread838: ; preds = %invoke.cont503 %55 = landingpad { ptr, i32 } cleanup br label %ehcleanup714 -call5.i.i.i.i1.i.i.i.noexc283: ; preds = %invoke.cont503 - store i32 2, ptr %call5.i.i.i.i1.i.i.i284, align 4 - %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i.i284.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i284, i64 4 - store i32 4, ptr %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i.i284.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc309: ; preds = %invoke.cont503 + store i32 2, ptr %call5.i.i.i.i1.i.i.i310, align 4 + %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i.i310.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i310, i64 4 + store i32 4, ptr %ref.tmp510.sroa.2.0.call5.i.i.i.i1.i.i.i310.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp506, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i278 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i303 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont517 unwind label %lpad516.body.thread -lpad516.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc283 +lpad516.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc309 %56 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i284) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i310) #31 br label %ehcleanup714 -invoke.cont517: ; preds = %call5.i.i.i.i1.i.i.i.noexc283 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i278, ptr %ref.tmp506, align 8 - %_M_finish.i.i.i.i.i.i.i280 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i281 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i278, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i282 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i281, ptr %_M_end_of_storage.i.i.i.i.i.i.i282, align 8 - %57 = load i64, ptr %call5.i.i.i.i1.i.i.i284, align 4 - store i64 %57, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i278, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i281, ptr %_M_finish.i.i.i.i.i.i.i280, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i284) #31 +invoke.cont517: ; preds = %call5.i.i.i.i1.i.i.i.noexc309 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i303, ptr %ref.tmp506, align 8 + %_M_finish.i.i.i.i.i.i.i305 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i306 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i303, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i307 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp506, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i306, ptr %_M_end_of_storage.i.i.i.i.i.i.i307, align 8 + %57 = load i64, ptr %call5.i.i.i.i1.i.i.i310, align 4 + store i64 %57, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i303, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i306, ptr %_M_finish.i.i.i.i.i.i.i305, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i310) #31 %arrayinit.element518 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1 - %call5.i.i.i.i1.i.i.i293 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc292 unwind label %lpad516.body + %call5.i.i.i.i1.i.i.i320 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc319 unwind label %lpad516.body -call5.i.i.i.i1.i.i.i.noexc292: ; preds = %invoke.cont517 - store i32 1, ptr %call5.i.i.i.i1.i.i.i293, align 4 - %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i.i293.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i293, i64 4 - store i32 3, ptr %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i.i293.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc319: ; preds = %invoke.cont517 + store i32 1, ptr %call5.i.i.i.i1.i.i.i320, align 4 + %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i.i320.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i320, i64 4 + store i32 3, ptr %ref.tmp520.sroa.2.0.call5.i.i.i.i1.i.i.i320.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element518, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i287 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont526 unwind label %lpad516.body.thread799 + %call5.i.i.i.i2.i6.i.i.i.i5.i313 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont526 unwind label %lpad516.body.thread832 -lpad516.body.thread799: ; preds = %call5.i.i.i.i1.i.i.i.noexc292 +lpad516.body.thread832: ; preds = %call5.i.i.i.i1.i.i.i.noexc319 %58 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i293) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i320) #31 br label %arraydestroy.body528 -invoke.cont526: ; preds = %call5.i.i.i.i1.i.i.i.noexc292 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i287, ptr %arrayinit.element518, align 8 - %_M_finish.i.i.i.i.i.i.i289 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i290 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i287, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i291 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i290, ptr %_M_end_of_storage.i.i.i.i.i.i.i291, align 8 - %59 = load i64, ptr %call5.i.i.i.i1.i.i.i293, align 4 - store i64 %59, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i287, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i290, ptr %_M_finish.i.i.i.i.i.i.i289, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i293) #31 +invoke.cont526: ; preds = %call5.i.i.i.i1.i.i.i.noexc319 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i313, ptr %arrayinit.element518, align 8 + %_M_finish.i.i.i.i.i.i.i315 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i316 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i313, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i317 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i316, ptr %_M_end_of_storage.i.i.i.i.i.i.i317, align 8 + %59 = load i64, ptr %call5.i.i.i.i1.i.i.i320, align 4 + store i64 %59, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i313, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i316, ptr %_M_finish.i.i.i.i.i.i.i315, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i320) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element504, ptr nonnull %ref.tmp506, i64 2) to label %invoke.cont537 unwind label %lpad536 invoke.cont537: ; preds = %invoke.cont526 %arrayinit.element538 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 20 - %call5.i.i.i.i1.i.i.i304 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc303 unwind label %lpad550.body.thread814 + %call5.i.i.i.i1.i.i.i332 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc331 unwind label %lpad550.body.thread847 -lpad550.body.thread814: ; preds = %invoke.cont537 +lpad550.body.thread847: ; preds = %invoke.cont537 %60 = landingpad { ptr, i32 } cleanup br label %ehcleanup701 -call5.i.i.i.i1.i.i.i.noexc303: ; preds = %invoke.cont537 - store i32 2, ptr %call5.i.i.i.i1.i.i.i304, align 4 - %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i.i304.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i304, i64 4 - store i32 4, ptr %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i.i304.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc331: ; preds = %invoke.cont537 + store i32 2, ptr %call5.i.i.i.i1.i.i.i332, align 4 + %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i.i332.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i332, i64 4 + store i32 4, ptr %ref.tmp544.sroa.2.0.call5.i.i.i.i1.i.i.i332.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp540, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i298 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i325 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont551 unwind label %lpad550.body.thread -lpad550.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc303 +lpad550.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc331 %61 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i304) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i332) #31 br label %ehcleanup701 -invoke.cont551: ; preds = %call5.i.i.i.i1.i.i.i.noexc303 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i298, ptr %ref.tmp540, align 8 - %_M_finish.i.i.i.i.i.i.i300 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i301 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i298, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i302 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i301, ptr %_M_end_of_storage.i.i.i.i.i.i.i302, align 8 - %62 = load i64, ptr %call5.i.i.i.i1.i.i.i304, align 4 - store i64 %62, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i298, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i301, ptr %_M_finish.i.i.i.i.i.i.i300, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i304) #31 +invoke.cont551: ; preds = %call5.i.i.i.i1.i.i.i.noexc331 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i325, ptr %ref.tmp540, align 8 + %_M_finish.i.i.i.i.i.i.i327 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i328 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i325, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i329 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp540, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i328, ptr %_M_end_of_storage.i.i.i.i.i.i.i329, align 8 + %62 = load i64, ptr %call5.i.i.i.i1.i.i.i332, align 4 + store i64 %62, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i325, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i328, ptr %_M_finish.i.i.i.i.i.i.i327, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i332) #31 %arrayinit.element552 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1 - %call5.i.i.i.i1.i.i.i313 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc312 unwind label %lpad550.body + %call5.i.i.i.i1.i.i.i342 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc341 unwind label %lpad550.body -call5.i.i.i.i1.i.i.i.noexc312: ; preds = %invoke.cont551 - store i32 3, ptr %call5.i.i.i.i1.i.i.i313, align 4 - %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i.i313.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i313, i64 4 - store i32 1, ptr %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i.i313.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc341: ; preds = %invoke.cont551 + store i32 3, ptr %call5.i.i.i.i1.i.i.i342, align 4 + %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i.i342.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i342, i64 4 + store i32 1, ptr %ref.tmp554.sroa.2.0.call5.i.i.i.i1.i.i.i342.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element552, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i307 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont560 unwind label %lpad550.body.thread808 + %call5.i.i.i.i2.i6.i.i.i.i5.i335 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont560 unwind label %lpad550.body.thread841 -lpad550.body.thread808: ; preds = %call5.i.i.i.i1.i.i.i.noexc312 +lpad550.body.thread841: ; preds = %call5.i.i.i.i1.i.i.i.noexc341 %63 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i313) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i342) #31 br label %arraydestroy.body562 -invoke.cont560: ; preds = %call5.i.i.i.i1.i.i.i.noexc312 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i307, ptr %arrayinit.element552, align 8 - %_M_finish.i.i.i.i.i.i.i309 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i310 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i307, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i311 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i310, ptr %_M_end_of_storage.i.i.i.i.i.i.i311, align 8 - %64 = load i64, ptr %call5.i.i.i.i1.i.i.i313, align 4 - store i64 %64, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i307, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i310, ptr %_M_finish.i.i.i.i.i.i.i309, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i313) #31 +invoke.cont560: ; preds = %call5.i.i.i.i1.i.i.i.noexc341 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i335, ptr %arrayinit.element552, align 8 + %_M_finish.i.i.i.i.i.i.i337 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i338 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i335, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i339 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i338, ptr %_M_end_of_storage.i.i.i.i.i.i.i339, align 8 + %64 = load i64, ptr %call5.i.i.i.i1.i.i.i342, align 4 + store i64 %64, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i335, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i338, ptr %_M_finish.i.i.i.i.i.i.i337, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i342) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element538, ptr nonnull %ref.tmp540, i64 2) to label %invoke.cont571 unwind label %lpad570 invoke.cont571: ; preds = %invoke.cont560 %arrayinit.element572 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 21 - %call5.i.i.i.i1.i.i.i324 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc323 unwind label %lpad584.body.thread823 + %call5.i.i.i.i1.i.i.i354 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc353 unwind label %lpad584.body.thread856 -lpad584.body.thread823: ; preds = %invoke.cont571 +lpad584.body.thread856: ; preds = %invoke.cont571 %65 = landingpad { ptr, i32 } cleanup br label %ehcleanup688 -call5.i.i.i.i1.i.i.i.noexc323: ; preds = %invoke.cont571 - store i32 3, ptr %call5.i.i.i.i1.i.i.i324, align 4 - %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i.i324.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i324, i64 4 - store i32 4, ptr %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i.i324.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc353: ; preds = %invoke.cont571 + store i32 3, ptr %call5.i.i.i.i1.i.i.i354, align 4 + %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i.i354.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i354, i64 4 + store i32 4, ptr %ref.tmp578.sroa.2.0.call5.i.i.i.i1.i.i.i354.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp574, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i318 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i347 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont585 unwind label %lpad584.body.thread -lpad584.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc323 +lpad584.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc353 %66 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i324) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i354) #31 br label %ehcleanup688 -invoke.cont585: ; preds = %call5.i.i.i.i1.i.i.i.noexc323 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i318, ptr %ref.tmp574, align 8 - %_M_finish.i.i.i.i.i.i.i320 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i321 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i318, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i322 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i321, ptr %_M_end_of_storage.i.i.i.i.i.i.i322, align 8 - %67 = load i64, ptr %call5.i.i.i.i1.i.i.i324, align 4 - store i64 %67, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i318, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i321, ptr %_M_finish.i.i.i.i.i.i.i320, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i324) #31 +invoke.cont585: ; preds = %call5.i.i.i.i1.i.i.i.noexc353 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i347, ptr %ref.tmp574, align 8 + %_M_finish.i.i.i.i.i.i.i349 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i350 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i347, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i351 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp574, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i350, ptr %_M_end_of_storage.i.i.i.i.i.i.i351, align 8 + %67 = load i64, ptr %call5.i.i.i.i1.i.i.i354, align 4 + store i64 %67, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i347, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i350, ptr %_M_finish.i.i.i.i.i.i.i349, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i354) #31 %arrayinit.element586 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1 - %call5.i.i.i.i1.i.i.i333 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc332 unwind label %lpad584.body + %call5.i.i.i.i1.i.i.i364 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc363 unwind label %lpad584.body -call5.i.i.i.i1.i.i.i.noexc332: ; preds = %invoke.cont585 - store i32 1, ptr %call5.i.i.i.i1.i.i.i333, align 4 - %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i.i333.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i333, i64 4 - store i32 2, ptr %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i.i333.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc363: ; preds = %invoke.cont585 + store i32 1, ptr %call5.i.i.i.i1.i.i.i364, align 4 + %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i.i364.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i364, i64 4 + store i32 2, ptr %ref.tmp588.sroa.2.0.call5.i.i.i.i1.i.i.i364.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element586, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i327 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont594 unwind label %lpad584.body.thread817 + %call5.i.i.i.i2.i6.i.i.i.i5.i357 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont594 unwind label %lpad584.body.thread850 -lpad584.body.thread817: ; preds = %call5.i.i.i.i1.i.i.i.noexc332 +lpad584.body.thread850: ; preds = %call5.i.i.i.i1.i.i.i.noexc363 %68 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i333) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i364) #31 br label %arraydestroy.body596 -invoke.cont594: ; preds = %call5.i.i.i.i1.i.i.i.noexc332 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i327, ptr %arrayinit.element586, align 8 - %_M_finish.i.i.i.i.i.i.i329 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i330 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i327, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i331 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i330, ptr %_M_end_of_storage.i.i.i.i.i.i.i331, align 8 - %69 = load i64, ptr %call5.i.i.i.i1.i.i.i333, align 4 - store i64 %69, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i327, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i330, ptr %_M_finish.i.i.i.i.i.i.i329, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i333) #31 +invoke.cont594: ; preds = %call5.i.i.i.i1.i.i.i.noexc363 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i357, ptr %arrayinit.element586, align 8 + %_M_finish.i.i.i.i.i.i.i359 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i360 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i357, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i361 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i360, ptr %_M_end_of_storage.i.i.i.i.i.i.i361, align 8 + %69 = load i64, ptr %call5.i.i.i.i1.i.i.i364, align 4 + store i64 %69, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i357, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i360, ptr %_M_finish.i.i.i.i.i.i.i359, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i364) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element572, ptr nonnull %ref.tmp574, i64 2) to label %invoke.cont605 unwind label %lpad604 invoke.cont605: ; preds = %invoke.cont594 %arrayinit.element606 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 22 - %call5.i.i.i.i1.i.i.i344 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc343 unwind label %lpad618.body.thread832 + %call5.i.i.i.i1.i.i.i376 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc375 unwind label %lpad618.body.thread865 -lpad618.body.thread832: ; preds = %invoke.cont605 +lpad618.body.thread865: ; preds = %invoke.cont605 %70 = landingpad { ptr, i32 } cleanup br label %ehcleanup675 -call5.i.i.i.i1.i.i.i.noexc343: ; preds = %invoke.cont605 - store i32 3, ptr %call5.i.i.i.i1.i.i.i344, align 4 - %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i.i344.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i344, i64 4 - store i32 4, ptr %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i.i344.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc375: ; preds = %invoke.cont605 + store i32 3, ptr %call5.i.i.i.i1.i.i.i376, align 4 + %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i.i376.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i376, i64 4 + store i32 4, ptr %ref.tmp612.sroa.2.0.call5.i.i.i.i1.i.i.i376.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp608, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i338 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + %call5.i.i.i.i2.i6.i.i.i.i5.i369 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 to label %invoke.cont619 unwind label %lpad618.body.thread -lpad618.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc343 +lpad618.body.thread: ; preds = %call5.i.i.i.i1.i.i.i.noexc375 %71 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i344) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i376) #31 br label %ehcleanup675 -invoke.cont619: ; preds = %call5.i.i.i.i1.i.i.i.noexc343 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i338, ptr %ref.tmp608, align 8 - %_M_finish.i.i.i.i.i.i.i340 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i.i341 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i338, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i342 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i341, ptr %_M_end_of_storage.i.i.i.i.i.i.i342, align 8 - %72 = load i64, ptr %call5.i.i.i.i1.i.i.i344, align 4 - store i64 %72, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i338, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i341, ptr %_M_finish.i.i.i.i.i.i.i340, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i344) #31 +invoke.cont619: ; preds = %call5.i.i.i.i1.i.i.i.noexc375 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i369, ptr %ref.tmp608, align 8 + %_M_finish.i.i.i.i.i.i.i371 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i.i372 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i369, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i373 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp608, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i372, ptr %_M_end_of_storage.i.i.i.i.i.i.i373, align 8 + %72 = load i64, ptr %call5.i.i.i.i1.i.i.i376, align 4 + store i64 %72, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i369, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i372, ptr %_M_finish.i.i.i.i.i.i.i371, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i376) #31 %arrayinit.element620 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1 - %call5.i.i.i.i1.i.i.i353 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %call5.i.i.i.i1.i.i.i.noexc352 unwind label %lpad618.body + %call5.i.i.i.i1.i.i.i386 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %call5.i.i.i.i1.i.i.i.noexc385 unwind label %lpad618.body -call5.i.i.i.i1.i.i.i.noexc352: ; preds = %invoke.cont619 - store i32 2, ptr %call5.i.i.i.i1.i.i.i353, align 4 - %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i.i353.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i353, i64 4 - store i32 1, ptr %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i.i353.sroa_idx, align 4 +call5.i.i.i.i1.i.i.i.noexc385: ; preds = %invoke.cont619 + store i32 2, ptr %call5.i.i.i.i1.i.i.i386, align 4 + %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i.i386.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i.i386, i64 4 + store i32 1, ptr %ref.tmp622.sroa.2.0.call5.i.i.i.i1.i.i.i386.sroa_idx, align 4 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element620, i8 0, i64 24, i1 false) - %call5.i.i.i.i2.i6.i.i.i.i6.i347 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 - to label %invoke.cont628 unwind label %lpad618.body.thread826 + %call5.i.i.i.i2.i6.i.i.i.i5.i379 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #32 + to label %invoke.cont628 unwind label %lpad618.body.thread859 -lpad618.body.thread826: ; preds = %call5.i.i.i.i1.i.i.i.noexc352 +lpad618.body.thread859: ; preds = %call5.i.i.i.i1.i.i.i.noexc385 %73 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i353) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i386) #31 br label %arraydestroy.body630 -invoke.cont628: ; preds = %call5.i.i.i.i1.i.i.i.noexc352 - store ptr %call5.i.i.i.i2.i6.i.i.i.i6.i347, ptr %arrayinit.element620, align 8 - %_M_finish.i.i.i.i.i.i.i349 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i.i.i.i350 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i347, i64 2 - %_M_end_of_storage.i.i.i.i.i.i.i351 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i.i350, ptr %_M_end_of_storage.i.i.i.i.i.i.i351, align 8 - %74 = load i64, ptr %call5.i.i.i.i1.i.i.i353, align 4 - store i64 %74, ptr %call5.i.i.i.i2.i6.i.i.i.i6.i347, align 4 - store ptr %add.ptr.i.i.i.i.i.i.i350, ptr %_M_finish.i.i.i.i.i.i.i349, align 8 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i353) #31 +invoke.cont628: ; preds = %call5.i.i.i.i1.i.i.i.noexc385 + store ptr %call5.i.i.i.i2.i6.i.i.i.i5.i379, ptr %arrayinit.element620, align 8 + %_M_finish.i.i.i.i.i.i.i381 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1 + %add.ptr.i.i.i.i.i.i.i382 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i379, i64 2 + %_M_end_of_storage.i.i.i.i.i.i.i383 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i.i382, ptr %_M_end_of_storage.i.i.i.i.i.i.i383, align 8 + %74 = load i64, ptr %call5.i.i.i.i1.i.i.i386, align 4 + store i64 %74, ptr %call5.i.i.i.i2.i6.i.i.i.i5.i379, align 4 + store ptr %add.ptr.i.i.i.i.i.i.i382, ptr %_M_finish.i.i.i.i.i.i.i381, align 8 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i386) #31 invoke fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEEC2ESt16initializer_listIS5_E(ptr noundef nonnull align 8 dereferenceable(24) %arrayinit.element606, ptr nonnull %ref.tmp608, i64 2) to label %invoke.cont639 unwind label %lpad638 invoke.cont639: ; preds = %invoke.cont628 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %exemplars, i8 0, i64 24, i1 false) - %call5.i.i.i.i5.i358 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 + %call5.i.i.i.i5.i391 = invoke noalias noundef nonnull dereferenceable(552) ptr @_Znwm(i64 noundef 552) #32 to label %call5.i.i.i.i5.i.noexc unwind label %lpad644 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont639 - store ptr %call5.i.i.i.i5.i358, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %call5.i.i.i.i5.i358, i64 23 + store ptr %call5.i.i.i.i5.i391, ptr %exemplars, align 8 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i391, i64 552 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>>>, std::allocator>>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.inc.i.i.i.i.i.i, %call5.i.i.i.i5.i.noexc - %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i358, %call5.i.i.i.i5.i.noexc ] + %__cur.010.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i, %for.inc.i.i.i.i.i.i ], [ %call5.i.i.i.i5.i391, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.idx.i = phi i64 [ %__first.addr.09.i.i.i.i.i.add.i, %for.inc.i.i.i.i.i.i ], [ 0, %call5.i.i.i.i5.i.noexc ] %__first.addr.09.i.i.i.i.i.ptr.i = getelementptr inbounds i8, ptr %ref.tmp, i64 %__first.addr.09.i.i.i.i.i.idx.i invoke fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEEESaIS6_EEC2ERKS8_(ptr noundef nonnull align 8 dereferenceable(24) %__cur.010.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.09.i.i.i.i.i.ptr.i) @@ -217054,7 +217056,7 @@ lpad.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. catch ptr null %76 = extractvalue { ptr, i32 } %75, 0 %77 = call ptr @__cxa_begin_catch(ptr %76) #28 - call fastcc void @_ZSt8_DestroyIPN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEEEvT_SA_(ptr noundef nonnull %call5.i.i.i.i5.i358, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) + call fastcc void @_ZSt8_DestroyIPN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEEEvT_SA_(ptr noundef nonnull %call5.i.i.i.i5.i391, ptr noundef nonnull %__cur.010.i.i.i.i.i.i) invoke void @__cxa_rethrow() #30 to label %unreachable.i.i.i.i.i.i unwind label %lpad2.i.i.i.i.i.i @@ -217138,14 +217140,14 @@ arraydestroy.body658: ; preds = %_ZN4absl18hash_test %arraydestroy.elementPast659 = phi ptr [ %84, %arraydestroy.done650 ], [ %arraydestroy.element660, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit ] %arraydestroy.element660 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast659, i64 -1 %arraydestroy.element660.val = load ptr, ptr %arraydestroy.element660, align 8 - %tobool.not.i.i.i.i.i.i360 = icmp eq ptr %arraydestroy.element660.val, null - br i1 %tobool.not.i.i.i.i.i.i360, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit, label %if.then.i.i.i.i.i.i361 + %tobool.not.i.i.i.i.i.i393 = icmp eq ptr %arraydestroy.element660.val, null + br i1 %tobool.not.i.i.i.i.i.i393, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit, label %if.then.i.i.i.i.i.i394 -if.then.i.i.i.i.i.i361: ; preds = %arraydestroy.body658 +if.then.i.i.i.i.i.i394: ; preds = %arraydestroy.body658 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element660.val) #31 br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit: ; preds = %arraydestroy.body658, %if.then.i.i.i.i.i.i361 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit: ; preds = %arraydestroy.body658, %if.then.i.i.i.i.i.i394 %arraydestroy.done661 = icmp eq ptr %arraydestroy.element660, %ref.tmp608 br i1 %arraydestroy.done661, label %arraydestroy.done662, label %arraydestroy.body658 @@ -217153,389 +217155,389 @@ arraydestroy.done662: ; preds = %_ZN4absl18hash_test %85 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 2 br label %arraydestroy.body670 -arraydestroy.body670: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit364, %arraydestroy.done662 - %arraydestroy.elementPast671 = phi ptr [ %85, %arraydestroy.done662 ], [ %arraydestroy.element672, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit364 ] +arraydestroy.body670: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397, %arraydestroy.done662 + %arraydestroy.elementPast671 = phi ptr [ %85, %arraydestroy.done662 ], [ %arraydestroy.element672, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397 ] %arraydestroy.element672 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast671, i64 -1 %arraydestroy.element672.val = load ptr, ptr %arraydestroy.element672, align 8 - %tobool.not.i.i.i.i.i.i362 = icmp eq ptr %arraydestroy.element672.val, null - br i1 %tobool.not.i.i.i.i.i.i362, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit364, label %if.then.i.i.i.i.i.i363 + %tobool.not.i.i.i.i.i.i395 = icmp eq ptr %arraydestroy.element672.val, null + br i1 %tobool.not.i.i.i.i.i.i395, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397, label %if.then.i.i.i.i.i.i396 -if.then.i.i.i.i.i.i363: ; preds = %arraydestroy.body670 +if.then.i.i.i.i.i.i396: ; preds = %arraydestroy.body670 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element672.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit364 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit364: ; preds = %arraydestroy.body670, %if.then.i.i.i.i.i.i363 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397: ; preds = %arraydestroy.body670, %if.then.i.i.i.i.i.i396 %arraydestroy.done673 = icmp eq ptr %arraydestroy.element672, %ref.tmp574 br i1 %arraydestroy.done673, label %arraydestroy.done674, label %arraydestroy.body670 -arraydestroy.done674: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit364 +arraydestroy.done674: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397 %86 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 2 br label %arraydestroy.body683 -arraydestroy.body683: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit367, %arraydestroy.done674 - %arraydestroy.elementPast684 = phi ptr [ %86, %arraydestroy.done674 ], [ %arraydestroy.element685, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit367 ] +arraydestroy.body683: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400, %arraydestroy.done674 + %arraydestroy.elementPast684 = phi ptr [ %86, %arraydestroy.done674 ], [ %arraydestroy.element685, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400 ] %arraydestroy.element685 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast684, i64 -1 %arraydestroy.element685.val = load ptr, ptr %arraydestroy.element685, align 8 - %tobool.not.i.i.i.i.i.i365 = icmp eq ptr %arraydestroy.element685.val, null - br i1 %tobool.not.i.i.i.i.i.i365, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit367, label %if.then.i.i.i.i.i.i366 + %tobool.not.i.i.i.i.i.i398 = icmp eq ptr %arraydestroy.element685.val, null + br i1 %tobool.not.i.i.i.i.i.i398, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400, label %if.then.i.i.i.i.i.i399 -if.then.i.i.i.i.i.i366: ; preds = %arraydestroy.body683 +if.then.i.i.i.i.i.i399: ; preds = %arraydestroy.body683 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element685.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit367 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit367: ; preds = %arraydestroy.body683, %if.then.i.i.i.i.i.i366 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400: ; preds = %arraydestroy.body683, %if.then.i.i.i.i.i.i399 %arraydestroy.done686 = icmp eq ptr %arraydestroy.element685, %ref.tmp540 br i1 %arraydestroy.done686, label %arraydestroy.done687, label %arraydestroy.body683 -arraydestroy.done687: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit367 +arraydestroy.done687: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400 %87 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 2 br label %arraydestroy.body696 -arraydestroy.body696: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit370, %arraydestroy.done687 - %arraydestroy.elementPast697 = phi ptr [ %87, %arraydestroy.done687 ], [ %arraydestroy.element698, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit370 ] +arraydestroy.body696: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403, %arraydestroy.done687 + %arraydestroy.elementPast697 = phi ptr [ %87, %arraydestroy.done687 ], [ %arraydestroy.element698, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403 ] %arraydestroy.element698 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast697, i64 -1 %arraydestroy.element698.val = load ptr, ptr %arraydestroy.element698, align 8 - %tobool.not.i.i.i.i.i.i368 = icmp eq ptr %arraydestroy.element698.val, null - br i1 %tobool.not.i.i.i.i.i.i368, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit370, label %if.then.i.i.i.i.i.i369 + %tobool.not.i.i.i.i.i.i401 = icmp eq ptr %arraydestroy.element698.val, null + br i1 %tobool.not.i.i.i.i.i.i401, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403, label %if.then.i.i.i.i.i.i402 -if.then.i.i.i.i.i.i369: ; preds = %arraydestroy.body696 +if.then.i.i.i.i.i.i402: ; preds = %arraydestroy.body696 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element698.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit370 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit370: ; preds = %arraydestroy.body696, %if.then.i.i.i.i.i.i369 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403: ; preds = %arraydestroy.body696, %if.then.i.i.i.i.i.i402 %arraydestroy.done699 = icmp eq ptr %arraydestroy.element698, %ref.tmp506 br i1 %arraydestroy.done699, label %arraydestroy.done700, label %arraydestroy.body696 -arraydestroy.done700: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit370 +arraydestroy.done700: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403 %88 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 2 br label %arraydestroy.body709 -arraydestroy.body709: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit373, %arraydestroy.done700 - %arraydestroy.elementPast710 = phi ptr [ %88, %arraydestroy.done700 ], [ %arraydestroy.element711, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit373 ] +arraydestroy.body709: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406, %arraydestroy.done700 + %arraydestroy.elementPast710 = phi ptr [ %88, %arraydestroy.done700 ], [ %arraydestroy.element711, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406 ] %arraydestroy.element711 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast710, i64 -1 %arraydestroy.element711.val = load ptr, ptr %arraydestroy.element711, align 8 - %tobool.not.i.i.i.i.i.i371 = icmp eq ptr %arraydestroy.element711.val, null - br i1 %tobool.not.i.i.i.i.i.i371, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit373, label %if.then.i.i.i.i.i.i372 + %tobool.not.i.i.i.i.i.i404 = icmp eq ptr %arraydestroy.element711.val, null + br i1 %tobool.not.i.i.i.i.i.i404, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406, label %if.then.i.i.i.i.i.i405 -if.then.i.i.i.i.i.i372: ; preds = %arraydestroy.body709 +if.then.i.i.i.i.i.i405: ; preds = %arraydestroy.body709 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element711.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit373 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit373: ; preds = %arraydestroy.body709, %if.then.i.i.i.i.i.i372 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406: ; preds = %arraydestroy.body709, %if.then.i.i.i.i.i.i405 %arraydestroy.done712 = icmp eq ptr %arraydestroy.element711, %ref.tmp472 br i1 %arraydestroy.done712, label %arraydestroy.done713, label %arraydestroy.body709 -arraydestroy.done713: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit373 +arraydestroy.done713: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406 %89 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 2 br label %arraydestroy.body722 -arraydestroy.body722: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit376, %arraydestroy.done713 - %arraydestroy.elementPast723 = phi ptr [ %89, %arraydestroy.done713 ], [ %arraydestroy.element724, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit376 ] +arraydestroy.body722: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409, %arraydestroy.done713 + %arraydestroy.elementPast723 = phi ptr [ %89, %arraydestroy.done713 ], [ %arraydestroy.element724, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409 ] %arraydestroy.element724 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast723, i64 -1 %arraydestroy.element724.val = load ptr, ptr %arraydestroy.element724, align 8 - %tobool.not.i.i.i.i.i.i374 = icmp eq ptr %arraydestroy.element724.val, null - br i1 %tobool.not.i.i.i.i.i.i374, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit376, label %if.then.i.i.i.i.i.i375 + %tobool.not.i.i.i.i.i.i407 = icmp eq ptr %arraydestroy.element724.val, null + br i1 %tobool.not.i.i.i.i.i.i407, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409, label %if.then.i.i.i.i.i.i408 -if.then.i.i.i.i.i.i375: ; preds = %arraydestroy.body722 +if.then.i.i.i.i.i.i408: ; preds = %arraydestroy.body722 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element724.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit376 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit376: ; preds = %arraydestroy.body722, %if.then.i.i.i.i.i.i375 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409: ; preds = %arraydestroy.body722, %if.then.i.i.i.i.i.i408 %arraydestroy.done725 = icmp eq ptr %arraydestroy.element724, %ref.tmp438 br i1 %arraydestroy.done725, label %arraydestroy.done726, label %arraydestroy.body722 -arraydestroy.done726: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit376 +arraydestroy.done726: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409 %90 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 2 br label %arraydestroy.body735 -arraydestroy.body735: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit379, %arraydestroy.done726 - %arraydestroy.elementPast736 = phi ptr [ %90, %arraydestroy.done726 ], [ %arraydestroy.element737, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit379 ] +arraydestroy.body735: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412, %arraydestroy.done726 + %arraydestroy.elementPast736 = phi ptr [ %90, %arraydestroy.done726 ], [ %arraydestroy.element737, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412 ] %arraydestroy.element737 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast736, i64 -1 %arraydestroy.element737.val = load ptr, ptr %arraydestroy.element737, align 8 - %tobool.not.i.i.i.i.i.i377 = icmp eq ptr %arraydestroy.element737.val, null - br i1 %tobool.not.i.i.i.i.i.i377, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit379, label %if.then.i.i.i.i.i.i378 + %tobool.not.i.i.i.i.i.i410 = icmp eq ptr %arraydestroy.element737.val, null + br i1 %tobool.not.i.i.i.i.i.i410, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412, label %if.then.i.i.i.i.i.i411 -if.then.i.i.i.i.i.i378: ; preds = %arraydestroy.body735 +if.then.i.i.i.i.i.i411: ; preds = %arraydestroy.body735 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element737.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit379 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit379: ; preds = %arraydestroy.body735, %if.then.i.i.i.i.i.i378 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412: ; preds = %arraydestroy.body735, %if.then.i.i.i.i.i.i411 %arraydestroy.done738 = icmp eq ptr %arraydestroy.element737, %ref.tmp404 br i1 %arraydestroy.done738, label %arraydestroy.done739, label %arraydestroy.body735 -arraydestroy.done739: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit379 +arraydestroy.done739: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412 %91 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 2 br label %arraydestroy.body748 -arraydestroy.body748: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit382, %arraydestroy.done739 - %arraydestroy.elementPast749 = phi ptr [ %91, %arraydestroy.done739 ], [ %arraydestroy.element750, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit382 ] +arraydestroy.body748: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415, %arraydestroy.done739 + %arraydestroy.elementPast749 = phi ptr [ %91, %arraydestroy.done739 ], [ %arraydestroy.element750, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415 ] %arraydestroy.element750 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast749, i64 -1 %arraydestroy.element750.val = load ptr, ptr %arraydestroy.element750, align 8 - %tobool.not.i.i.i.i.i.i380 = icmp eq ptr %arraydestroy.element750.val, null - br i1 %tobool.not.i.i.i.i.i.i380, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit382, label %if.then.i.i.i.i.i.i381 + %tobool.not.i.i.i.i.i.i413 = icmp eq ptr %arraydestroy.element750.val, null + br i1 %tobool.not.i.i.i.i.i.i413, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415, label %if.then.i.i.i.i.i.i414 -if.then.i.i.i.i.i.i381: ; preds = %arraydestroy.body748 +if.then.i.i.i.i.i.i414: ; preds = %arraydestroy.body748 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element750.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit382 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit382: ; preds = %arraydestroy.body748, %if.then.i.i.i.i.i.i381 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415: ; preds = %arraydestroy.body748, %if.then.i.i.i.i.i.i414 %arraydestroy.done751 = icmp eq ptr %arraydestroy.element750, %ref.tmp370 br i1 %arraydestroy.done751, label %arraydestroy.done752, label %arraydestroy.body748 -arraydestroy.done752: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit382 +arraydestroy.done752: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415 %92 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 2 br label %arraydestroy.body761 -arraydestroy.body761: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit385, %arraydestroy.done752 - %arraydestroy.elementPast762 = phi ptr [ %92, %arraydestroy.done752 ], [ %arraydestroy.element763, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit385 ] +arraydestroy.body761: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418, %arraydestroy.done752 + %arraydestroy.elementPast762 = phi ptr [ %92, %arraydestroy.done752 ], [ %arraydestroy.element763, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418 ] %arraydestroy.element763 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast762, i64 -1 %arraydestroy.element763.val = load ptr, ptr %arraydestroy.element763, align 8 - %tobool.not.i.i.i.i.i.i383 = icmp eq ptr %arraydestroy.element763.val, null - br i1 %tobool.not.i.i.i.i.i.i383, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit385, label %if.then.i.i.i.i.i.i384 + %tobool.not.i.i.i.i.i.i416 = icmp eq ptr %arraydestroy.element763.val, null + br i1 %tobool.not.i.i.i.i.i.i416, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418, label %if.then.i.i.i.i.i.i417 -if.then.i.i.i.i.i.i384: ; preds = %arraydestroy.body761 +if.then.i.i.i.i.i.i417: ; preds = %arraydestroy.body761 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element763.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit385 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit385: ; preds = %arraydestroy.body761, %if.then.i.i.i.i.i.i384 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418: ; preds = %arraydestroy.body761, %if.then.i.i.i.i.i.i417 %arraydestroy.done764 = icmp eq ptr %arraydestroy.element763, %ref.tmp336 br i1 %arraydestroy.done764, label %arraydestroy.done765, label %arraydestroy.body761 -arraydestroy.done765: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit385 +arraydestroy.done765: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418 %93 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 2 br label %arraydestroy.body774 -arraydestroy.body774: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit388, %arraydestroy.done765 - %arraydestroy.elementPast775 = phi ptr [ %93, %arraydestroy.done765 ], [ %arraydestroy.element776, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit388 ] +arraydestroy.body774: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421, %arraydestroy.done765 + %arraydestroy.elementPast775 = phi ptr [ %93, %arraydestroy.done765 ], [ %arraydestroy.element776, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421 ] %arraydestroy.element776 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast775, i64 -1 %arraydestroy.element776.val = load ptr, ptr %arraydestroy.element776, align 8 - %tobool.not.i.i.i.i.i.i386 = icmp eq ptr %arraydestroy.element776.val, null - br i1 %tobool.not.i.i.i.i.i.i386, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit388, label %if.then.i.i.i.i.i.i387 + %tobool.not.i.i.i.i.i.i419 = icmp eq ptr %arraydestroy.element776.val, null + br i1 %tobool.not.i.i.i.i.i.i419, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421, label %if.then.i.i.i.i.i.i420 -if.then.i.i.i.i.i.i387: ; preds = %arraydestroy.body774 +if.then.i.i.i.i.i.i420: ; preds = %arraydestroy.body774 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element776.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit388 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit388: ; preds = %arraydestroy.body774, %if.then.i.i.i.i.i.i387 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421: ; preds = %arraydestroy.body774, %if.then.i.i.i.i.i.i420 %arraydestroy.done777 = icmp eq ptr %arraydestroy.element776, %ref.tmp302 br i1 %arraydestroy.done777, label %arraydestroy.done778, label %arraydestroy.body774 -arraydestroy.done778: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit388 +arraydestroy.done778: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421 %94 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 2 br label %arraydestroy.body787 -arraydestroy.body787: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit391, %arraydestroy.done778 - %arraydestroy.elementPast788 = phi ptr [ %94, %arraydestroy.done778 ], [ %arraydestroy.element789, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit391 ] +arraydestroy.body787: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit424, %arraydestroy.done778 + %arraydestroy.elementPast788 = phi ptr [ %94, %arraydestroy.done778 ], [ %arraydestroy.element789, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit424 ] %arraydestroy.element789 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast788, i64 -1 %arraydestroy.element789.val = load ptr, ptr %arraydestroy.element789, align 8 - %tobool.not.i.i.i.i.i.i389 = icmp eq ptr %arraydestroy.element789.val, null - br i1 %tobool.not.i.i.i.i.i.i389, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit391, label %if.then.i.i.i.i.i.i390 + %tobool.not.i.i.i.i.i.i422 = icmp eq ptr %arraydestroy.element789.val, null + br i1 %tobool.not.i.i.i.i.i.i422, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit424, label %if.then.i.i.i.i.i.i423 -if.then.i.i.i.i.i.i390: ; preds = %arraydestroy.body787 +if.then.i.i.i.i.i.i423: ; preds = %arraydestroy.body787 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element789.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit391 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit424 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit391: ; preds = %arraydestroy.body787, %if.then.i.i.i.i.i.i390 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit424: ; preds = %arraydestroy.body787, %if.then.i.i.i.i.i.i423 %arraydestroy.done790 = icmp eq ptr %arraydestroy.element789, %ref.tmp268 br i1 %arraydestroy.done790, label %arraydestroy.done791, label %arraydestroy.body787 -arraydestroy.done791: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit391 +arraydestroy.done791: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit424 %95 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 2 br label %arraydestroy.body800 -arraydestroy.body800: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit394, %arraydestroy.done791 - %arraydestroy.elementPast801 = phi ptr [ %95, %arraydestroy.done791 ], [ %arraydestroy.element802, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit394 ] +arraydestroy.body800: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit427, %arraydestroy.done791 + %arraydestroy.elementPast801 = phi ptr [ %95, %arraydestroy.done791 ], [ %arraydestroy.element802, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit427 ] %arraydestroy.element802 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast801, i64 -1 %arraydestroy.element802.val = load ptr, ptr %arraydestroy.element802, align 8 - %tobool.not.i.i.i.i.i.i392 = icmp eq ptr %arraydestroy.element802.val, null - br i1 %tobool.not.i.i.i.i.i.i392, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit394, label %if.then.i.i.i.i.i.i393 + %tobool.not.i.i.i.i.i.i425 = icmp eq ptr %arraydestroy.element802.val, null + br i1 %tobool.not.i.i.i.i.i.i425, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit427, label %if.then.i.i.i.i.i.i426 -if.then.i.i.i.i.i.i393: ; preds = %arraydestroy.body800 +if.then.i.i.i.i.i.i426: ; preds = %arraydestroy.body800 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element802.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit394 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit427 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit394: ; preds = %arraydestroy.body800, %if.then.i.i.i.i.i.i393 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit427: ; preds = %arraydestroy.body800, %if.then.i.i.i.i.i.i426 %arraydestroy.done803 = icmp eq ptr %arraydestroy.element802, %ref.tmp234 br i1 %arraydestroy.done803, label %arraydestroy.done804, label %arraydestroy.body800 -arraydestroy.done804: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit394 +arraydestroy.done804: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit427 %96 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp208, i64 2 br label %arraydestroy.body813 -arraydestroy.body813: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397, %arraydestroy.done804 - %arraydestroy.elementPast814 = phi ptr [ %96, %arraydestroy.done804 ], [ %arraydestroy.element815, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397 ] +arraydestroy.body813: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit430, %arraydestroy.done804 + %arraydestroy.elementPast814 = phi ptr [ %96, %arraydestroy.done804 ], [ %arraydestroy.element815, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit430 ] %arraydestroy.element815 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast814, i64 -1 %arraydestroy.element815.val = load ptr, ptr %arraydestroy.element815, align 8 - %tobool.not.i.i.i.i.i.i395 = icmp eq ptr %arraydestroy.element815.val, null - br i1 %tobool.not.i.i.i.i.i.i395, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397, label %if.then.i.i.i.i.i.i396 + %tobool.not.i.i.i.i.i.i428 = icmp eq ptr %arraydestroy.element815.val, null + br i1 %tobool.not.i.i.i.i.i.i428, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit430, label %if.then.i.i.i.i.i.i429 -if.then.i.i.i.i.i.i396: ; preds = %arraydestroy.body813 +if.then.i.i.i.i.i.i429: ; preds = %arraydestroy.body813 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element815.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit430 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397: ; preds = %arraydestroy.body813, %if.then.i.i.i.i.i.i396 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit430: ; preds = %arraydestroy.body813, %if.then.i.i.i.i.i.i429 %arraydestroy.done816 = icmp eq ptr %arraydestroy.element815, %ref.tmp208 br i1 %arraydestroy.done816, label %arraydestroy.done817, label %arraydestroy.body813 -arraydestroy.done817: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit397 +arraydestroy.done817: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit430 %97 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp182, i64 2 br label %arraydestroy.body826 -arraydestroy.body826: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400, %arraydestroy.done817 - %arraydestroy.elementPast827 = phi ptr [ %97, %arraydestroy.done817 ], [ %arraydestroy.element828, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400 ] +arraydestroy.body826: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit433, %arraydestroy.done817 + %arraydestroy.elementPast827 = phi ptr [ %97, %arraydestroy.done817 ], [ %arraydestroy.element828, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit433 ] %arraydestroy.element828 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast827, i64 -1 %arraydestroy.element828.val = load ptr, ptr %arraydestroy.element828, align 8 - %tobool.not.i.i.i.i.i.i398 = icmp eq ptr %arraydestroy.element828.val, null - br i1 %tobool.not.i.i.i.i.i.i398, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400, label %if.then.i.i.i.i.i.i399 + %tobool.not.i.i.i.i.i.i431 = icmp eq ptr %arraydestroy.element828.val, null + br i1 %tobool.not.i.i.i.i.i.i431, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit433, label %if.then.i.i.i.i.i.i432 -if.then.i.i.i.i.i.i399: ; preds = %arraydestroy.body826 +if.then.i.i.i.i.i.i432: ; preds = %arraydestroy.body826 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element828.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit433 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400: ; preds = %arraydestroy.body826, %if.then.i.i.i.i.i.i399 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit433: ; preds = %arraydestroy.body826, %if.then.i.i.i.i.i.i432 %arraydestroy.done829 = icmp eq ptr %arraydestroy.element828, %ref.tmp182 br i1 %arraydestroy.done829, label %arraydestroy.done830, label %arraydestroy.body826 -arraydestroy.done830: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit400 +arraydestroy.done830: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit433 %98 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 2 br label %arraydestroy.body839 -arraydestroy.body839: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403, %arraydestroy.done830 - %arraydestroy.elementPast840 = phi ptr [ %98, %arraydestroy.done830 ], [ %arraydestroy.element841, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403 ] +arraydestroy.body839: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit436, %arraydestroy.done830 + %arraydestroy.elementPast840 = phi ptr [ %98, %arraydestroy.done830 ], [ %arraydestroy.element841, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit436 ] %arraydestroy.element841 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast840, i64 -1 %arraydestroy.element841.val = load ptr, ptr %arraydestroy.element841, align 8 - %tobool.not.i.i.i.i.i.i401 = icmp eq ptr %arraydestroy.element841.val, null - br i1 %tobool.not.i.i.i.i.i.i401, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403, label %if.then.i.i.i.i.i.i402 + %tobool.not.i.i.i.i.i.i434 = icmp eq ptr %arraydestroy.element841.val, null + br i1 %tobool.not.i.i.i.i.i.i434, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit436, label %if.then.i.i.i.i.i.i435 -if.then.i.i.i.i.i.i402: ; preds = %arraydestroy.body839 +if.then.i.i.i.i.i.i435: ; preds = %arraydestroy.body839 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element841.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit436 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403: ; preds = %arraydestroy.body839, %if.then.i.i.i.i.i.i402 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit436: ; preds = %arraydestroy.body839, %if.then.i.i.i.i.i.i435 %arraydestroy.done842 = icmp eq ptr %arraydestroy.element841, %ref.tmp156 br i1 %arraydestroy.done842, label %arraydestroy.done843, label %arraydestroy.body839 -arraydestroy.done843: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit403 +arraydestroy.done843: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit436 %99 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 2 br label %arraydestroy.body852 -arraydestroy.body852: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406, %arraydestroy.done843 - %arraydestroy.elementPast853 = phi ptr [ %99, %arraydestroy.done843 ], [ %arraydestroy.element854, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406 ] +arraydestroy.body852: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit439, %arraydestroy.done843 + %arraydestroy.elementPast853 = phi ptr [ %99, %arraydestroy.done843 ], [ %arraydestroy.element854, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit439 ] %arraydestroy.element854 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast853, i64 -1 %arraydestroy.element854.val = load ptr, ptr %arraydestroy.element854, align 8 - %tobool.not.i.i.i.i.i.i404 = icmp eq ptr %arraydestroy.element854.val, null - br i1 %tobool.not.i.i.i.i.i.i404, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406, label %if.then.i.i.i.i.i.i405 + %tobool.not.i.i.i.i.i.i437 = icmp eq ptr %arraydestroy.element854.val, null + br i1 %tobool.not.i.i.i.i.i.i437, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit439, label %if.then.i.i.i.i.i.i438 -if.then.i.i.i.i.i.i405: ; preds = %arraydestroy.body852 +if.then.i.i.i.i.i.i438: ; preds = %arraydestroy.body852 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element854.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit439 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406: ; preds = %arraydestroy.body852, %if.then.i.i.i.i.i.i405 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit439: ; preds = %arraydestroy.body852, %if.then.i.i.i.i.i.i438 %arraydestroy.done855 = icmp eq ptr %arraydestroy.element854, %ref.tmp130 br i1 %arraydestroy.done855, label %arraydestroy.done856, label %arraydestroy.body852 -arraydestroy.done856: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit406 +arraydestroy.done856: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit439 %100 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 3 br label %arraydestroy.body865 -arraydestroy.body865: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409, %arraydestroy.done856 - %arraydestroy.elementPast866 = phi ptr [ %100, %arraydestroy.done856 ], [ %arraydestroy.element867, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409 ] +arraydestroy.body865: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit442, %arraydestroy.done856 + %arraydestroy.elementPast866 = phi ptr [ %100, %arraydestroy.done856 ], [ %arraydestroy.element867, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit442 ] %arraydestroy.element867 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast866, i64 -1 %arraydestroy.element867.val = load ptr, ptr %arraydestroy.element867, align 8 - %tobool.not.i.i.i.i.i.i407 = icmp eq ptr %arraydestroy.element867.val, null - br i1 %tobool.not.i.i.i.i.i.i407, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409, label %if.then.i.i.i.i.i.i408 + %tobool.not.i.i.i.i.i.i440 = icmp eq ptr %arraydestroy.element867.val, null + br i1 %tobool.not.i.i.i.i.i.i440, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit442, label %if.then.i.i.i.i.i.i441 -if.then.i.i.i.i.i.i408: ; preds = %arraydestroy.body865 +if.then.i.i.i.i.i.i441: ; preds = %arraydestroy.body865 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element867.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit442 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409: ; preds = %arraydestroy.body865, %if.then.i.i.i.i.i.i408 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit442: ; preds = %arraydestroy.body865, %if.then.i.i.i.i.i.i441 %arraydestroy.done868 = icmp eq ptr %arraydestroy.element867, %ref.tmp84 br i1 %arraydestroy.done868, label %arraydestroy.done869, label %arraydestroy.body865 -arraydestroy.done869: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit409 +arraydestroy.done869: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit442 %101 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 2 br label %arraydestroy.body878 -arraydestroy.body878: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412, %arraydestroy.done869 - %arraydestroy.elementPast879 = phi ptr [ %101, %arraydestroy.done869 ], [ %arraydestroy.element880, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412 ] +arraydestroy.body878: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445, %arraydestroy.done869 + %arraydestroy.elementPast879 = phi ptr [ %101, %arraydestroy.done869 ], [ %arraydestroy.element880, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 ] %arraydestroy.element880 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast879, i64 -1 %arraydestroy.element880.val = load ptr, ptr %arraydestroy.element880, align 8 - %tobool.not.i.i.i.i.i.i410 = icmp eq ptr %arraydestroy.element880.val, null - br i1 %tobool.not.i.i.i.i.i.i410, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412, label %if.then.i.i.i.i.i.i411 + %tobool.not.i.i.i.i.i.i443 = icmp eq ptr %arraydestroy.element880.val, null + br i1 %tobool.not.i.i.i.i.i.i443, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445, label %if.then.i.i.i.i.i.i444 -if.then.i.i.i.i.i.i411: ; preds = %arraydestroy.body878 +if.then.i.i.i.i.i.i444: ; preds = %arraydestroy.body878 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element880.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412: ; preds = %arraydestroy.body878, %if.then.i.i.i.i.i.i411 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445: ; preds = %arraydestroy.body878, %if.then.i.i.i.i.i.i444 %arraydestroy.done881 = icmp eq ptr %arraydestroy.element880, %ref.tmp50 br i1 %arraydestroy.done881, label %arraydestroy.done882, label %arraydestroy.body878 -arraydestroy.done882: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit412 +arraydestroy.done882: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 %arraydestroy.element893.val = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i.i.i.i413 = icmp eq ptr %arraydestroy.element893.val, null - br i1 %tobool.not.i.i.i.i.i.i413, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415, label %if.then.i.i.i.i.i.i414 + %tobool.not.i.i.i.i.i.i446 = icmp eq ptr %arraydestroy.element893.val, null + br i1 %tobool.not.i.i.i.i.i.i446, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit448, label %if.then.i.i.i.i.i.i447 -if.then.i.i.i.i.i.i414: ; preds = %arraydestroy.done882 +if.then.i.i.i.i.i.i447: ; preds = %arraydestroy.done882 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element893.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit448 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415: ; preds = %arraydestroy.done882, %if.then.i.i.i.i.i.i414 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit448: ; preds = %arraydestroy.done882, %if.then.i.i.i.i.i.i447 %102 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp19, i64 3 br label %arraydestroy.body904 -arraydestroy.body904: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415 - %arraydestroy.elementPast905 = phi ptr [ %102, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit415 ], [ %arraydestroy.element906, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418 ] +arraydestroy.body904: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit451, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit448 + %arraydestroy.elementPast905 = phi ptr [ %102, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit448 ], [ %arraydestroy.element906, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit451 ] %arraydestroy.element906 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast905, i64 -1 %arraydestroy.element906.val = load ptr, ptr %arraydestroy.element906, align 8 - %tobool.not.i.i.i.i.i.i416 = icmp eq ptr %arraydestroy.element906.val, null - br i1 %tobool.not.i.i.i.i.i.i416, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418, label %if.then.i.i.i.i.i.i417 + %tobool.not.i.i.i.i.i.i449 = icmp eq ptr %arraydestroy.element906.val, null + br i1 %tobool.not.i.i.i.i.i.i449, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit451, label %if.then.i.i.i.i.i.i450 -if.then.i.i.i.i.i.i417: ; preds = %arraydestroy.body904 +if.then.i.i.i.i.i.i450: ; preds = %arraydestroy.body904 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element906.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit451 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418: ; preds = %arraydestroy.body904, %if.then.i.i.i.i.i.i417 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit451: ; preds = %arraydestroy.body904, %if.then.i.i.i.i.i.i450 %arraydestroy.done907 = icmp eq ptr %arraydestroy.element906, %ref.tmp19 br i1 %arraydestroy.done907, label %arraydestroy.done908, label %arraydestroy.body904 -arraydestroy.done908: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit418 +arraydestroy.done908: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit451 %103 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp8, i64 2 br label %arraydestroy.body917 -arraydestroy.body917: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421, %arraydestroy.done908 - %arraydestroy.elementPast918 = phi ptr [ %103, %arraydestroy.done908 ], [ %arraydestroy.element919, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421 ] +arraydestroy.body917: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit454, %arraydestroy.done908 + %arraydestroy.elementPast918 = phi ptr [ %103, %arraydestroy.done908 ], [ %arraydestroy.element919, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit454 ] %arraydestroy.element919 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast918, i64 -1 %arraydestroy.element919.val = load ptr, ptr %arraydestroy.element919, align 8 - %tobool.not.i.i.i.i.i.i419 = icmp eq ptr %arraydestroy.element919.val, null - br i1 %tobool.not.i.i.i.i.i.i419, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421, label %if.then.i.i.i.i.i.i420 + %tobool.not.i.i.i.i.i.i452 = icmp eq ptr %arraydestroy.element919.val, null + br i1 %tobool.not.i.i.i.i.i.i452, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit454, label %if.then.i.i.i.i.i.i453 -if.then.i.i.i.i.i.i420: ; preds = %arraydestroy.body917 +if.then.i.i.i.i.i.i453: ; preds = %arraydestroy.body917 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element919.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit454 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421: ; preds = %arraydestroy.body917, %if.then.i.i.i.i.i.i420 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit454: ; preds = %arraydestroy.body917, %if.then.i.i.i.i.i.i453 %arraydestroy.done920 = icmp eq ptr %arraydestroy.element919, %ref.tmp8 br i1 %arraydestroy.done920, label %arraydestroy.done921, label %arraydestroy.body917 -arraydestroy.done921: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit421 +arraydestroy.done921: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit454 %arraydestroy.element932.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i.i.i422 = icmp eq ptr %arraydestroy.element932.val, null - br i1 %tobool.not.i.i.i.i.i.i422, label %for.body.i.i.preheader, label %if.then.i.i.i.i.i.i423 + %tobool.not.i.i.i.i.i.i455 = icmp eq ptr %arraydestroy.element932.val, null + br i1 %tobool.not.i.i.i.i.i.i455, label %for.body.i.i.preheader, label %if.then.i.i.i.i.i.i456 -if.then.i.i.i.i.i.i423: ; preds = %arraydestroy.done921 +if.then.i.i.i.i.i.i456: ; preds = %arraydestroy.done921 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element932.val) #31 br label %for.body.i.i.preheader -for.body.i.i.preheader: ; preds = %arraydestroy.done921, %if.then.i.i.i.i.i.i423 +for.body.i.i.preheader: ; preds = %arraydestroy.done921, %if.then.i.i.i.i.i.i456 br label %for.body.i.i for.body.i.i: ; preds = %for.body.i.i.preheader, %for.inc.i.i %ref.tmp.sroa.0.0.i = phi ptr [ %ref.tmp.sroa.0.1.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %add.ptr19.i.i.i12.i.i = phi ptr [ %add.ptr19.i.i.i11.i.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] %incdec.ptr.i.i.i9.i.i = phi ptr [ %ref.tmp.sroa.6.0.i, %for.inc.i.i ], [ null, %for.body.i.i.preheader ] - %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i358, %for.body.i.i.preheader ] + %__begin0.sroa.0.08.i.i = phi ptr [ %incdec.ptr.i.i.i, %for.inc.i.i ], [ %call5.i.i.i.i5.i391, %for.body.i.i.preheader ] %cmp.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i9.i.i, %add.ptr19.i.i.i12.i.i br i1 %cmp.not.i.i.i.i, label %if.else.i.i.i.i, label %if.then.i.i.i.i @@ -217550,13 +217552,13 @@ if.else.i.i.i.i: ; preds = %for.body.i.i %sub.ptr.rhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %ref.tmp.sroa.0.0.i to i64 %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i %cmp.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i, 9223372036854775792 - br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i438, label %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i471, label %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i -if.then.i.i.i.i.i.i438: ; preds = %if.else.i.i.i.i +if.then.i.i.i.i.i.i471: ; preds = %if.else.i.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.52) #30 to label %.noexc.i.i unwind label %lpad.loopexit.split-lp.i.i, !noalias !5051 -.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i438 +.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i471 unreachable _ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i @@ -217568,8 +217570,8 @@ _ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_ %cmp9.i.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i.i, 576460752303423487 %or.cond.i.i.i.i.i.i = or i1 %cmp7.i.i.i.i.i.i, %cmp9.i.i.i.i.i.i %cond.i.i.i.i.i.i = select i1 %or.cond.i.i.i.i.i.i, i64 576460752303423487, i64 %add.i.i.i.i.i.i - %cmp.not.i.i.i.i.i.i436 = icmp eq i64 %cond.i.i.i.i.i.i, 0 - br i1 %cmp.not.i.i.i.i.i.i436, label %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEEEE8allocateERSD_m.exit.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i469 = icmp eq i64 %cond.i.i.i.i.i.i, 0 + br i1 %cmp.not.i.i.i.i.i.i469, label %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEEEE8allocateERSD_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEEEE8allocateERSD_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %mul.i.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i.i, 4 @@ -217595,8 +217597,8 @@ for.body.i.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE11_S_relocateEPSC_SF_SF_RSD_.exit21.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE11_M_allocateEm.exit.i.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i.i, %_ZNSt12_Vector_baseISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE11_M_allocateEm.exit.i.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ] - %tobool.not.i.i.i.i.i.i437 = icmp eq ptr %ref.tmp.sroa.0.0.i, null - br i1 %tobool.not.i.i.i.i.i.i437, label %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE17_M_realloc_insertIJSC_EEEvN9__gnu_cxx17__normal_iteratorIPSC_SE_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i + %tobool.not.i.i.i.i.i.i470 = icmp eq ptr %ref.tmp.sroa.0.0.i, null + br i1 %tobool.not.i.i.i.i.i.i470, label %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE17_M_realloc_insertIJSC_EEEvN9__gnu_cxx17__normal_iteratorIPSC_SE_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorISt7variantIJPKN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS3_INS5_IiEEEEEEEEEESaISC_EE11_S_relocateEPSC_SF_SF_RSD_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.0.i) #31, !noalias !5051 @@ -217620,7 +217622,7 @@ lpad.loopexit.i.i: ; preds = %_ZNSt16allocator_tr cleanup br label %lpad.i.i -lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i438 +lpad.loopexit.split-lp.i.i: ; preds = %if.then.i.i.i.i.i.i471 %lpad.loopexit.split-lp4.i.i = landingpad { ptr, i32 } cleanup br label %lpad.i.i @@ -217707,22 +217709,22 @@ invoke.cont.i.i: ; preds = %for.body13.i.i lpad.loopexit11.i.i: ; preds = %for.body66.i.i %lpad.loopexit12.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i425 + br label %lpad.body.i458 lpad.loopexit.split-lp.loopexit.i.i: ; preds = %for.body13.i.i %lpad.loopexit15.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i425 + br label %lpad.body.i458 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i: ; preds = %invoke.cont26.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSQ_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i %lpad.loopexit18.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i425 + br label %lpad.body.i458 lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i: ; preds = %for.end255.i.i, %if.then48.i.i, %if.then.i.i.i.invoke.i.i %lpad.loopexit.split-lp19.i.i = landingpad { ptr, i32 } cleanup - br label %lpad.body.i425 + br label %lpad.body.i458 for.inc.i9.i: ; preds = %invoke.cont.i.i %incdec.ptr.i.i10.i = getelementptr inbounds %"class.std::vector.1804", ptr %__begin05.sroa.0.047.i.i, i64 1 @@ -217774,11 +217776,11 @@ _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHa %cond.i12.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i106.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds %"class.std::vector.1804", ptr %cond.i12.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i, i8 0, i64 24, i1 false) - br i1 %cmp.i103.not46.i.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i433 + br i1 %cmp.i103.not46.i.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i466 -for.body.i.i.i.i.i.i.i433: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i433 - %__cur.03.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i433 ], [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i434, %for.body.i.i.i.i.i.i.i433 ], [ %classes.val.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] +for.body.i.i.i.i.i.i.i466: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i466 + %__cur.03.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i466 ], [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i467, %for.body.i.i.i.i.i.i.i466 ], [ %classes.val.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !5066) call void @llvm.experimental.noalias.scope.decl(metadata !5069) %109 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i, align 8, !alias.scope !5069, !noalias !5066 @@ -217788,16 +217790,16 @@ for.body.i.i.i.i.i.i.i433: ; preds = %_ZNSt12_Vector_base %110 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !5069, !noalias !5066 store ptr %110, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8, !alias.scope !5066, !noalias !5069 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i, i8 0, i64 24, i1 false), !alias.scope !5069, !noalias !5066 - %incdec.ptr.i.i.i.i.i.i.i434 = getelementptr inbounds %"class.std::vector.1804", ptr %__first.addr.02.i.i.i.i.i.i.i, i64 1 + %incdec.ptr.i.i.i.i.i.i.i467 = getelementptr inbounds %"class.std::vector.1804", ptr %__first.addr.02.i.i.i.i.i.i.i, i64 1 %incdec.ptr1.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1804", ptr %__cur.03.i.i.i.i.i.i.i, i64 1 - %cmp.not.i.i.i.i.i.i.i435 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i434, %classes.val54.i.i - br i1 %cmp.not.i.i.i.i.i.i.i435, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i433, !llvm.loop !5071 + %cmp.not.i.i.i.i.i.i.i468 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i467, %classes.val54.i.i + br i1 %cmp.not.i.i.i.i.i.i.i468, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i466, !llvm.loop !5071 -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i433, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i433 ] - %incdec.ptr.i.i.i37.i = getelementptr inbounds %"class.std::vector.1804", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i38.i = icmp eq ptr %classes.val.i.i, null - br i1 %tobool.not.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i466, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i466 ] + %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.1804", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i39.i = icmp eq ptr %classes.val.i.i, null + br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i) #31 @@ -217805,7 +217807,7 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !5062 - store ptr %incdec.ptr.i.i.i37.i, ptr %104, align 8, !noalias !5062 + store ptr %incdec.ptr.i.i.i38.i, ptr %104, align 8, !noalias !5062 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.1804", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !5062 br label %if.end23.i.i @@ -217859,31 +217861,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.049.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.050.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1811, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.1811, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.1811, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.1811, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %114 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i ], [ %113, %if.then.i.i.i14.i ] + %114 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i ], [ %113, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.050.i.i, 1 %call28.val.i.i = load ptr, ptr %114, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -217894,8 +217897,8 @@ invoke.cont29.i.i: ; preds = %invoke.cont26.i.i call void @llvm.experimental.noalias.scope.decl(metadata !5072) %115 = load i8, ptr %moved_from_.i.i.i, align 8, !noalias !5075 %116 = and i8 %115, 1 - %tobool.not.i.i.i427 = icmp eq i8 %116, 0 - br i1 %tobool.not.i.i.i427, label %if.end.i.i.i, label %if.then.i113.i.i + %tobool.not.i.i.i460 = icmp eq i8 %116, 0 + br i1 %tobool.not.i.i.i460, label %if.end.i.i.i, label %if.then.i113.i.i if.then.i113.i.i: ; preds = %invoke.cont29.i.i invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i, ptr noundef nonnull align 1 dereferenceable(57) @.str.55) @@ -217994,30 +217997,30 @@ if.end8.sink.split.i.i.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx27__ex _ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i, %invoke.cont31.i.i %131 = load ptr, ptr %ref.tmp27.i.i, align 8, !noalias !5062 %132 = load ptr, ptr %_M_finish.i.i120.i.i, align 8, !noalias !5062 - %cmp.not3.i.i.i.i.i.i.i428 = icmp eq ptr %131, %132 - br i1 %cmp.not3.i.i.i.i.i.i.i428, label %invoke.cont.i.i.i.i431, label %for.body.i.i.i.i.i121.i.i + %cmp.not3.i.i.i.i.i.i.i461 = icmp eq ptr %131, %132 + br i1 %cmp.not3.i.i.i.i.i.i.i461, label %invoke.cont.i.i.i.i464, label %for.body.i.i.i.i.i121.i.i for.body.i.i.i.i.i121.i.i: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i, %for.body.i.i.i.i.i121.i.i - %__first.addr.04.i.i.i.i.i.i.i429 = phi ptr [ %incdec.ptr.i.i.i.i.i122.i.i, %for.body.i.i.i.i.i121.i.i ], [ %131, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i429) #28 - %incdec.ptr.i.i.i.i.i122.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i429, i64 1 + %__first.addr.04.i.i.i.i.i.i.i462 = phi ptr [ %incdec.ptr.i.i.i.i.i122.i.i, %for.body.i.i.i.i.i121.i.i ], [ %131, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i462) #28 + %incdec.ptr.i.i.i.i.i122.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i462, i64 1 %cmp.not.i.i.i.i.i123.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i122.i.i, %132 - br i1 %cmp.not.i.i.i.i.i123.i.i, label %invoke.contthread-pre-split.i.i.i.i430, label %for.body.i.i.i.i.i121.i.i, !llvm.loop !8 + br i1 %cmp.not.i.i.i.i.i123.i.i, label %invoke.contthread-pre-split.i.i.i.i463, label %for.body.i.i.i.i.i121.i.i, !llvm.loop !8 -invoke.contthread-pre-split.i.i.i.i430: ; preds = %for.body.i.i.i.i.i121.i.i +invoke.contthread-pre-split.i.i.i.i463: ; preds = %for.body.i.i.i.i.i121.i.i %.pr.i.i.i.i = load ptr, ptr %ref.tmp27.i.i, align 8, !noalias !5062 - br label %invoke.cont.i.i.i.i431 + br label %invoke.cont.i.i.i.i464 -invoke.cont.i.i.i.i431: ; preds = %invoke.contthread-pre-split.i.i.i.i430, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i - %133 = phi ptr [ %.pr.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i430 ], [ %131, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] +invoke.cont.i.i.i.i464: ; preds = %invoke.contthread-pre-split.i.i.i.i463, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i + %133 = phi ptr [ %.pr.i.i.i.i, %invoke.contthread-pre-split.i.i.i.i463 ], [ %131, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i ] %tobool.not.i.i.i.i124.i.i = icmp eq ptr %133, null br i1 %tobool.not.i.i.i.i124.i.i, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i, label %if.then.i.i.i1.i.i.i -if.then.i.i.i1.i.i.i: ; preds = %invoke.cont.i.i.i.i431 +if.then.i.i.i1.i.i.i: ; preds = %invoke.cont.i.i.i.i464 call void @_ZdlPv(ptr noundef nonnull %133) #31 br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i: ; preds = %if.then.i.i.i1.i.i.i, %invoke.cont.i.i.i.i431 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i: ; preds = %if.then.i.i.i1.i.i.i, %invoke.cont.i.i.i.i464 %134 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !5062 %135 = and i8 %134, 1 %tobool.i.i.not.i.i = icmp eq i8 %135, 0 @@ -218100,7 +218103,7 @@ lpad30.i.i: ; preds = %if.then.i.i.i.i.i.i %145 = landingpad { ptr, i32 } cleanup call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i) #28 - br label %lpad.body.i425 + br label %lpad.body.i458 lpad35.i.i: ; preds = %if.then33.i.i %146 = landingpad { ptr, i32 } @@ -218122,12 +218125,12 @@ ehcleanup.i.i: ; preds = %lpad38.body.i.i, %l %148 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !5062 %149 = and i8 %148, 1 %tobool.not.i.i.i.i137.i.i = icmp eq i8 %149, 0 - br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i425, label %if.then.i.i.i.i138.i.i + br i1 %tobool.not.i.i.i.i137.i.i, label %lpad.body.i458, label %if.then.i.i.i.i138.i.i if.then.i.i.i.i138.i.i: ; preds = %ehcleanup.i.i store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i, align 8, !noalias !5062 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i) #28 - br label %lpad.body.i425 + br label %lpad.body.i458 for.end45.i.i: ; preds = %for.cond.i.i %classes.val62.pre.i.i = load ptr, ptr %classes.i.i, align 8, !noalias !5062 @@ -218229,7 +218232,7 @@ lpad51.i.i: ; preds = %invoke.cont52.i.i, lpad51.body.i.i: ; preds = %lpad51.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i, %lpad.i143.i.i %eh.lpad-body156.i.i = phi { ptr, i32 } [ %157, %lpad51.i.i ], [ %153, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i145.i.i ], [ %153, %lpad.i143.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i) #28 - br label %lpad.body.i425 + br label %lpad.body.i458 for.body66.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.body66.lr.ph.i.i %__begin058.sroa.0.056.i.i = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i ], [ %incdec.ptr.i869.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i ] @@ -220263,7 +220266,7 @@ _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i: ; preds = %if.then ehcleanup252.i.i: ; preds = %ehcleanup245.i.i, %ehcleanup140.i.i, %lpad112.i.i, %ehcleanup108.i.i, %ehcleanup92.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i, %lpad83.loopexit.split-lp.loopexit.i.i, %lpad83.loopexit.i.i %.pn43.pn.i.i = phi { ptr, i32 } [ %.pn43.i.i, %ehcleanup108.i.i ], [ %.pn40.pn.i.i, %ehcleanup140.i.i ], [ %258, %lpad112.i.i ], [ %.pn38.i.i, %ehcleanup92.i.i ], [ %.pn.pn.pn.i.i, %ehcleanup245.i.i ], [ %lpad.loopexit.i16.i, %lpad83.loopexit.i.i ], [ %lpad.loopexit8.i.i, %lpad83.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp9.i.i, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i) #28 - br label %lpad.body.i425 + br label %lpad.body.i458 for.end255.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit868.i.i, %for.cond64.preheader.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_) @@ -220373,22 +220376,22 @@ cleanup257.i.i: ; preds = %if.then.i.i.i1.i893 %_M_finish.i914.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1782", ptr %classes.i.i, i64 0, i32 1 %427 = load ptr, ptr %_M_finish.i914.i.i, align 8, !noalias !5062 %cmp.not3.i.i.i.i.i.i = icmp eq ptr %426, %427 - br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i432 + br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i465 -for.body.i.i.i.i.i.i432: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i +for.body.i.i.i.i.i.i465: ; preds = %cleanup257.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i ], [ %426, %cleanup257.i.i ] %__first.addr.0.val.i.i.i.i.i.i = load ptr, ptr %__first.addr.04.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i915.i.i -if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i432 +if.then.i.i.i.i.i.i.i.i915.i.i: ; preds = %for.body.i.i.i.i.i.i465 call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i) #31 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i432 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i915.i.i, %for.body.i.i.i.i.i.i465 %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds %"class.std::vector.1804", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i916.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i, %427 - br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i432, !llvm.loop !5076 + br i1 %cmp.not.i.i.i.i916.i.i, label %invoke.cont.i917.i.i, label %for.body.i.i.i.i.i.i465, !llvm.loop !5076 invoke.cont.i917.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKNS1_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS6_INS8_IiEEEEEEEEEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEvPSL_.exit.i.i.i.i.i.i, %cleanup257.i.i %tobool.not.i.i.i918.i.i = icmp eq ptr %426, null @@ -220424,23 +220427,23 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !5059 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !5059 %tobool.not.i.i.i.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i.i, label %invoke.cont950, label %if.then.i.i.i40.i + br i1 %tobool.not.i.i.i.i, label %invoke.cont950, label %if.then.i.i.i41.i -if.then.i.i.i40.i: ; preds = %invoke.cont.i +if.then.i.i.i41.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %invoke.cont950 -lpad.body.i425: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i +lpad.body.i458: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i138.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i %.pn46.pn.i.i = phi { ptr, i32 } [ %145, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit12.i.i, %lpad.loopexit11.i.i ], [ %lpad.loopexit15.i.i, %lpad.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit18.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp19.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS5_INS7_IiEEEEEEEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i42.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null - br i1 %tobool.not.i.i.i42.i, label %ehcleanup967, label %if.then.i.i.i43.i + %tobool.not.i.i.i43.i = icmp eq ptr %ref.tmp.sroa.0.1.i, null + br i1 %tobool.not.i.i.i43.i, label %ehcleanup967, label %if.then.i.i.i44.i -if.then.i.i.i43.i: ; preds = %lpad.body.i425 +if.then.i.i.i44.i: ; preds = %lpad.body.i458 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.1.i) #31 br label %ehcleanup967 -invoke.cont950: ; preds = %if.then.i.i.i40.i, %invoke.cont.i +invoke.cont950: ; preds = %if.then.i.i.i41.i, %invoke.cont.i %428 = load i8, ptr %gtest_ar_, align 8 %429 = and i8 %428, 1 %tobool.i.not = icmp eq i8 %429, 0 @@ -220471,13 +220474,13 @@ lpad60.body: ; preds = %invoke.cont61 cleanup br label %arraydestroy.body72 -arraydestroy.body72: ; preds = %lpad60.body.thread699, %lpad60.body - %eh.lpad-body38704 = phi { ptr, i32 } [ %4, %lpad60.body.thread699 ], [ %434, %lpad60.body ] +arraydestroy.body72: ; preds = %lpad60.body.thread732, %lpad60.body + %eh.lpad-body39737 = phi { ptr, i32 } [ %4, %lpad60.body.thread732 ], [ %434, %lpad60.body ] %arraydestroy.element74.val = load ptr, ptr %ref.tmp50, align 8 - %tobool.not.i.i.i.i.i.i440 = icmp eq ptr %arraydestroy.element74.val, null - br i1 %tobool.not.i.i.i.i.i.i440, label %ehcleanup896, label %if.then.i.i.i.i.i.i441 + %tobool.not.i.i.i.i.i.i473 = icmp eq ptr %arraydestroy.element74.val, null + br i1 %tobool.not.i.i.i.i.i.i473, label %ehcleanup896, label %if.then.i.i.i.i.i.i474 -if.then.i.i.i.i.i.i441: ; preds = %arraydestroy.body72 +if.then.i.i.i.i.i.i474: ; preds = %arraydestroy.body72 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element74.val) #31 br label %ehcleanup896 @@ -220486,7 +220489,7 @@ lpad80: ; preds = %invoke.cont70 cleanup br label %ehcleanup883 -lpad95.body.thread715: ; preds = %invoke.cont96, %invoke.cont106 +lpad95.body.thread748: ; preds = %invoke.cont96, %invoke.cont106 %arrayinit.endOfInit86.0.ph = phi ptr [ %arrayinit.element107, %invoke.cont106 ], [ %arrayinit.element97, %invoke.cont96 ] %lpad.thr_comm = landingpad { ptr, i32 } cleanup @@ -220497,23 +220500,23 @@ lpad95.body: ; preds = %invoke.cont81 cleanup br label %ehcleanup883 -arraydestroy.body118.preheader: ; preds = %common.resume.i72, %common.resume.i61, %lpad95.body.thread715 - %eh.lpad-body58713 = phi { ptr, i32 } [ %lpad.thr_comm, %lpad95.body.thread715 ], [ %8, %common.resume.i72 ], [ %7, %common.resume.i61 ] - %arrayinit.endOfInit86.0.lpad-body712 = phi ptr [ %arrayinit.endOfInit86.0.ph, %lpad95.body.thread715 ], [ %arrayinit.element107, %common.resume.i72 ], [ %arrayinit.element97, %common.resume.i61 ] +arraydestroy.body118.preheader: ; preds = %common.resume.i76, %common.resume.i64, %lpad95.body.thread748 + %eh.lpad-body61746 = phi { ptr, i32 } [ %lpad.thr_comm, %lpad95.body.thread748 ], [ %8, %common.resume.i76 ], [ %7, %common.resume.i64 ] + %arrayinit.endOfInit86.0.lpad-body745 = phi ptr [ %arrayinit.endOfInit86.0.ph, %lpad95.body.thread748 ], [ %arrayinit.element107, %common.resume.i76 ], [ %arrayinit.element97, %common.resume.i64 ] br label %arraydestroy.body118 -arraydestroy.body118: ; preds = %arraydestroy.body118.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 - %arraydestroy.elementPast119 = phi ptr [ %arraydestroy.element120, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 ], [ %arrayinit.endOfInit86.0.lpad-body712, %arraydestroy.body118.preheader ] +arraydestroy.body118: ; preds = %arraydestroy.body118.preheader, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478 + %arraydestroy.elementPast119 = phi ptr [ %arraydestroy.element120, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478 ], [ %arrayinit.endOfInit86.0.lpad-body745, %arraydestroy.body118.preheader ] %arraydestroy.element120 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast119, i64 -1 %arraydestroy.element120.val = load ptr, ptr %arraydestroy.element120, align 8 - %tobool.not.i.i.i.i.i.i443 = icmp eq ptr %arraydestroy.element120.val, null - br i1 %tobool.not.i.i.i.i.i.i443, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445, label %if.then.i.i.i.i.i.i444 + %tobool.not.i.i.i.i.i.i476 = icmp eq ptr %arraydestroy.element120.val, null + br i1 %tobool.not.i.i.i.i.i.i476, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478, label %if.then.i.i.i.i.i.i477 -if.then.i.i.i.i.i.i444: ; preds = %arraydestroy.body118 +if.then.i.i.i.i.i.i477: ; preds = %arraydestroy.body118 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element120.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445: ; preds = %arraydestroy.body118, %if.then.i.i.i.i.i.i444 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478: ; preds = %arraydestroy.body118, %if.then.i.i.i.i.i.i477 %arraydestroy.done121 = icmp eq ptr %arraydestroy.element120, %ref.tmp84 br i1 %arraydestroy.done121, label %ehcleanup883, label %arraydestroy.body118 @@ -220527,15 +220530,15 @@ lpad141.body.thread: ; preds = %invoke.cont127 cleanup br label %ehcleanup870 -lpad141.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc87 +lpad141.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc93 %438 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i88) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i94) #31 %arraydestroy.element146.val.pre = load ptr, ptr %ref.tmp130, align 8 - %tobool.not.i.i.i.i.i.i446 = icmp eq ptr %arraydestroy.element146.val.pre, null - br i1 %tobool.not.i.i.i.i.i.i446, label %ehcleanup870, label %if.then.i.i.i.i.i.i447 + %tobool.not.i.i.i.i.i.i479 = icmp eq ptr %arraydestroy.element146.val.pre, null + br i1 %tobool.not.i.i.i.i.i.i479, label %ehcleanup870, label %if.then.i.i.i.i.i.i480 -if.then.i.i.i.i.i.i447: ; preds = %lpad141.body +if.then.i.i.i.i.i.i480: ; preds = %lpad141.body call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element146.val.pre) #31 br label %ehcleanup870 @@ -220549,15 +220552,15 @@ lpad167.body.thread: ; preds = %invoke.cont153 cleanup br label %ehcleanup857 -lpad167.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc96 +lpad167.body: ; preds = %call5.i.i.i.i1.i.i.i.noexc103 %441 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i97) #31 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i1.i.i.i104) #31 %arraydestroy.element172.val.pre = load ptr, ptr %ref.tmp156, align 8 - %tobool.not.i.i.i.i.i.i449 = icmp eq ptr %arraydestroy.element172.val.pre, null - br i1 %tobool.not.i.i.i.i.i.i449, label %ehcleanup857, label %if.then.i.i.i.i.i.i450 + %tobool.not.i.i.i.i.i.i482 = icmp eq ptr %arraydestroy.element172.val.pre, null + br i1 %tobool.not.i.i.i.i.i.i482, label %ehcleanup857, label %if.then.i.i.i.i.i.i483 -if.then.i.i.i.i.i.i450: ; preds = %lpad167.body +if.then.i.i.i.i.i.i483: ; preds = %lpad167.body call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element172.val.pre) #31 br label %ehcleanup857 @@ -220591,13 +220594,13 @@ lpad244.body: ; preds = %invoke.cont245 cleanup br label %arraydestroy.body256 -arraydestroy.body256: ; preds = %lpad244.body.thread727, %lpad244.body - %eh.lpad-body125732 = phi { ptr, i32 } [ %18, %lpad244.body.thread727 ], [ %447, %lpad244.body ] +arraydestroy.body256: ; preds = %lpad244.body.thread760, %lpad244.body + %eh.lpad-body135765 = phi { ptr, i32 } [ %18, %lpad244.body.thread760 ], [ %447, %lpad244.body ] %arraydestroy.element258.val = load ptr, ptr %ref.tmp234, align 8 - %tobool.not.i.i.i.i.i.i452 = icmp eq ptr %arraydestroy.element258.val, null - br i1 %tobool.not.i.i.i.i.i.i452, label %ehcleanup818, label %if.then.i.i.i.i.i.i453 + %tobool.not.i.i.i.i.i.i485 = icmp eq ptr %arraydestroy.element258.val, null + br i1 %tobool.not.i.i.i.i.i.i485, label %ehcleanup818, label %if.then.i.i.i.i.i.i486 -if.then.i.i.i.i.i.i453: ; preds = %arraydestroy.body256 +if.then.i.i.i.i.i.i486: ; preds = %arraydestroy.body256 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element258.val) #31 br label %ehcleanup818 @@ -220611,13 +220614,13 @@ lpad278.body: ; preds = %invoke.cont279 cleanup br label %arraydestroy.body290 -arraydestroy.body290: ; preds = %lpad278.body.thread736, %lpad278.body - %eh.lpad-body145741 = phi { ptr, i32 } [ %23, %lpad278.body.thread736 ], [ %449, %lpad278.body ] +arraydestroy.body290: ; preds = %lpad278.body.thread769, %lpad278.body + %eh.lpad-body157774 = phi { ptr, i32 } [ %23, %lpad278.body.thread769 ], [ %449, %lpad278.body ] %arraydestroy.element292.val = load ptr, ptr %ref.tmp268, align 8 - %tobool.not.i.i.i.i.i.i455 = icmp eq ptr %arraydestroy.element292.val, null - br i1 %tobool.not.i.i.i.i.i.i455, label %ehcleanup805, label %if.then.i.i.i.i.i.i456 + %tobool.not.i.i.i.i.i.i488 = icmp eq ptr %arraydestroy.element292.val, null + br i1 %tobool.not.i.i.i.i.i.i488, label %ehcleanup805, label %if.then.i.i.i.i.i.i489 -if.then.i.i.i.i.i.i456: ; preds = %arraydestroy.body290 +if.then.i.i.i.i.i.i489: ; preds = %arraydestroy.body290 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element292.val) #31 br label %ehcleanup805 @@ -220631,13 +220634,13 @@ lpad312.body: ; preds = %invoke.cont313 cleanup br label %arraydestroy.body324 -arraydestroy.body324: ; preds = %lpad312.body.thread745, %lpad312.body - %eh.lpad-body165750 = phi { ptr, i32 } [ %28, %lpad312.body.thread745 ], [ %451, %lpad312.body ] +arraydestroy.body324: ; preds = %lpad312.body.thread778, %lpad312.body + %eh.lpad-body179783 = phi { ptr, i32 } [ %28, %lpad312.body.thread778 ], [ %451, %lpad312.body ] %arraydestroy.element326.val = load ptr, ptr %ref.tmp302, align 8 - %tobool.not.i.i.i.i.i.i458 = icmp eq ptr %arraydestroy.element326.val, null - br i1 %tobool.not.i.i.i.i.i.i458, label %ehcleanup792, label %if.then.i.i.i.i.i.i459 + %tobool.not.i.i.i.i.i.i491 = icmp eq ptr %arraydestroy.element326.val, null + br i1 %tobool.not.i.i.i.i.i.i491, label %ehcleanup792, label %if.then.i.i.i.i.i.i492 -if.then.i.i.i.i.i.i459: ; preds = %arraydestroy.body324 +if.then.i.i.i.i.i.i492: ; preds = %arraydestroy.body324 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element326.val) #31 br label %ehcleanup792 @@ -220651,13 +220654,13 @@ lpad346.body: ; preds = %invoke.cont347 cleanup br label %arraydestroy.body358 -arraydestroy.body358: ; preds = %lpad346.body.thread754, %lpad346.body - %eh.lpad-body185759 = phi { ptr, i32 } [ %33, %lpad346.body.thread754 ], [ %453, %lpad346.body ] +arraydestroy.body358: ; preds = %lpad346.body.thread787, %lpad346.body + %eh.lpad-body201792 = phi { ptr, i32 } [ %33, %lpad346.body.thread787 ], [ %453, %lpad346.body ] %arraydestroy.element360.val = load ptr, ptr %ref.tmp336, align 8 - %tobool.not.i.i.i.i.i.i461 = icmp eq ptr %arraydestroy.element360.val, null - br i1 %tobool.not.i.i.i.i.i.i461, label %ehcleanup779, label %if.then.i.i.i.i.i.i462 + %tobool.not.i.i.i.i.i.i494 = icmp eq ptr %arraydestroy.element360.val, null + br i1 %tobool.not.i.i.i.i.i.i494, label %ehcleanup779, label %if.then.i.i.i.i.i.i495 -if.then.i.i.i.i.i.i462: ; preds = %arraydestroy.body358 +if.then.i.i.i.i.i.i495: ; preds = %arraydestroy.body358 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element360.val) #31 br label %ehcleanup779 @@ -220671,13 +220674,13 @@ lpad380.body: ; preds = %invoke.cont381 cleanup br label %arraydestroy.body392 -arraydestroy.body392: ; preds = %lpad380.body.thread763, %lpad380.body - %eh.lpad-body205768 = phi { ptr, i32 } [ %38, %lpad380.body.thread763 ], [ %455, %lpad380.body ] +arraydestroy.body392: ; preds = %lpad380.body.thread796, %lpad380.body + %eh.lpad-body223801 = phi { ptr, i32 } [ %38, %lpad380.body.thread796 ], [ %455, %lpad380.body ] %arraydestroy.element394.val = load ptr, ptr %ref.tmp370, align 8 - %tobool.not.i.i.i.i.i.i464 = icmp eq ptr %arraydestroy.element394.val, null - br i1 %tobool.not.i.i.i.i.i.i464, label %ehcleanup766, label %if.then.i.i.i.i.i.i465 + %tobool.not.i.i.i.i.i.i497 = icmp eq ptr %arraydestroy.element394.val, null + br i1 %tobool.not.i.i.i.i.i.i497, label %ehcleanup766, label %if.then.i.i.i.i.i.i498 -if.then.i.i.i.i.i.i465: ; preds = %arraydestroy.body392 +if.then.i.i.i.i.i.i498: ; preds = %arraydestroy.body392 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element394.val) #31 br label %ehcleanup766 @@ -220691,13 +220694,13 @@ lpad414.body: ; preds = %invoke.cont415 cleanup br label %arraydestroy.body426 -arraydestroy.body426: ; preds = %lpad414.body.thread772, %lpad414.body - %eh.lpad-body225777 = phi { ptr, i32 } [ %43, %lpad414.body.thread772 ], [ %457, %lpad414.body ] +arraydestroy.body426: ; preds = %lpad414.body.thread805, %lpad414.body + %eh.lpad-body245810 = phi { ptr, i32 } [ %43, %lpad414.body.thread805 ], [ %457, %lpad414.body ] %arraydestroy.element428.val = load ptr, ptr %ref.tmp404, align 8 - %tobool.not.i.i.i.i.i.i467 = icmp eq ptr %arraydestroy.element428.val, null - br i1 %tobool.not.i.i.i.i.i.i467, label %ehcleanup753, label %if.then.i.i.i.i.i.i468 + %tobool.not.i.i.i.i.i.i500 = icmp eq ptr %arraydestroy.element428.val, null + br i1 %tobool.not.i.i.i.i.i.i500, label %ehcleanup753, label %if.then.i.i.i.i.i.i501 -if.then.i.i.i.i.i.i468: ; preds = %arraydestroy.body426 +if.then.i.i.i.i.i.i501: ; preds = %arraydestroy.body426 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element428.val) #31 br label %ehcleanup753 @@ -220711,13 +220714,13 @@ lpad448.body: ; preds = %invoke.cont449 cleanup br label %arraydestroy.body460 -arraydestroy.body460: ; preds = %lpad448.body.thread781, %lpad448.body - %eh.lpad-body245786 = phi { ptr, i32 } [ %48, %lpad448.body.thread781 ], [ %459, %lpad448.body ] +arraydestroy.body460: ; preds = %lpad448.body.thread814, %lpad448.body + %eh.lpad-body267819 = phi { ptr, i32 } [ %48, %lpad448.body.thread814 ], [ %459, %lpad448.body ] %arraydestroy.element462.val = load ptr, ptr %ref.tmp438, align 8 - %tobool.not.i.i.i.i.i.i470 = icmp eq ptr %arraydestroy.element462.val, null - br i1 %tobool.not.i.i.i.i.i.i470, label %ehcleanup740, label %if.then.i.i.i.i.i.i471 + %tobool.not.i.i.i.i.i.i503 = icmp eq ptr %arraydestroy.element462.val, null + br i1 %tobool.not.i.i.i.i.i.i503, label %ehcleanup740, label %if.then.i.i.i.i.i.i504 -if.then.i.i.i.i.i.i471: ; preds = %arraydestroy.body460 +if.then.i.i.i.i.i.i504: ; preds = %arraydestroy.body460 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element462.val) #31 br label %ehcleanup740 @@ -220731,13 +220734,13 @@ lpad482.body: ; preds = %invoke.cont483 cleanup br label %arraydestroy.body494 -arraydestroy.body494: ; preds = %lpad482.body.thread790, %lpad482.body - %eh.lpad-body265795 = phi { ptr, i32 } [ %53, %lpad482.body.thread790 ], [ %461, %lpad482.body ] +arraydestroy.body494: ; preds = %lpad482.body.thread823, %lpad482.body + %eh.lpad-body289828 = phi { ptr, i32 } [ %53, %lpad482.body.thread823 ], [ %461, %lpad482.body ] %arraydestroy.element496.val = load ptr, ptr %ref.tmp472, align 8 - %tobool.not.i.i.i.i.i.i473 = icmp eq ptr %arraydestroy.element496.val, null - br i1 %tobool.not.i.i.i.i.i.i473, label %ehcleanup727, label %if.then.i.i.i.i.i.i474 + %tobool.not.i.i.i.i.i.i506 = icmp eq ptr %arraydestroy.element496.val, null + br i1 %tobool.not.i.i.i.i.i.i506, label %ehcleanup727, label %if.then.i.i.i.i.i.i507 -if.then.i.i.i.i.i.i474: ; preds = %arraydestroy.body494 +if.then.i.i.i.i.i.i507: ; preds = %arraydestroy.body494 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element496.val) #31 br label %ehcleanup727 @@ -220751,13 +220754,13 @@ lpad516.body: ; preds = %invoke.cont517 cleanup br label %arraydestroy.body528 -arraydestroy.body528: ; preds = %lpad516.body.thread799, %lpad516.body - %eh.lpad-body285804 = phi { ptr, i32 } [ %58, %lpad516.body.thread799 ], [ %463, %lpad516.body ] +arraydestroy.body528: ; preds = %lpad516.body.thread832, %lpad516.body + %eh.lpad-body311837 = phi { ptr, i32 } [ %58, %lpad516.body.thread832 ], [ %463, %lpad516.body ] %arraydestroy.element530.val = load ptr, ptr %ref.tmp506, align 8 - %tobool.not.i.i.i.i.i.i476 = icmp eq ptr %arraydestroy.element530.val, null - br i1 %tobool.not.i.i.i.i.i.i476, label %ehcleanup714, label %if.then.i.i.i.i.i.i477 + %tobool.not.i.i.i.i.i.i509 = icmp eq ptr %arraydestroy.element530.val, null + br i1 %tobool.not.i.i.i.i.i.i509, label %ehcleanup714, label %if.then.i.i.i.i.i.i510 -if.then.i.i.i.i.i.i477: ; preds = %arraydestroy.body528 +if.then.i.i.i.i.i.i510: ; preds = %arraydestroy.body528 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element530.val) #31 br label %ehcleanup714 @@ -220771,13 +220774,13 @@ lpad550.body: ; preds = %invoke.cont551 cleanup br label %arraydestroy.body562 -arraydestroy.body562: ; preds = %lpad550.body.thread808, %lpad550.body - %eh.lpad-body305813 = phi { ptr, i32 } [ %63, %lpad550.body.thread808 ], [ %465, %lpad550.body ] +arraydestroy.body562: ; preds = %lpad550.body.thread841, %lpad550.body + %eh.lpad-body333846 = phi { ptr, i32 } [ %63, %lpad550.body.thread841 ], [ %465, %lpad550.body ] %arraydestroy.element564.val = load ptr, ptr %ref.tmp540, align 8 - %tobool.not.i.i.i.i.i.i479 = icmp eq ptr %arraydestroy.element564.val, null - br i1 %tobool.not.i.i.i.i.i.i479, label %ehcleanup701, label %if.then.i.i.i.i.i.i480 + %tobool.not.i.i.i.i.i.i512 = icmp eq ptr %arraydestroy.element564.val, null + br i1 %tobool.not.i.i.i.i.i.i512, label %ehcleanup701, label %if.then.i.i.i.i.i.i513 -if.then.i.i.i.i.i.i480: ; preds = %arraydestroy.body562 +if.then.i.i.i.i.i.i513: ; preds = %arraydestroy.body562 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element564.val) #31 br label %ehcleanup701 @@ -220791,13 +220794,13 @@ lpad584.body: ; preds = %invoke.cont585 cleanup br label %arraydestroy.body596 -arraydestroy.body596: ; preds = %lpad584.body.thread817, %lpad584.body - %eh.lpad-body325822 = phi { ptr, i32 } [ %68, %lpad584.body.thread817 ], [ %467, %lpad584.body ] +arraydestroy.body596: ; preds = %lpad584.body.thread850, %lpad584.body + %eh.lpad-body355855 = phi { ptr, i32 } [ %68, %lpad584.body.thread850 ], [ %467, %lpad584.body ] %arraydestroy.element598.val = load ptr, ptr %ref.tmp574, align 8 - %tobool.not.i.i.i.i.i.i482 = icmp eq ptr %arraydestroy.element598.val, null - br i1 %tobool.not.i.i.i.i.i.i482, label %ehcleanup688, label %if.then.i.i.i.i.i.i483 + %tobool.not.i.i.i.i.i.i515 = icmp eq ptr %arraydestroy.element598.val, null + br i1 %tobool.not.i.i.i.i.i.i515, label %ehcleanup688, label %if.then.i.i.i.i.i.i516 -if.then.i.i.i.i.i.i483: ; preds = %arraydestroy.body596 +if.then.i.i.i.i.i.i516: ; preds = %arraydestroy.body596 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element598.val) #31 br label %ehcleanup688 @@ -220811,13 +220814,13 @@ lpad618.body: ; preds = %invoke.cont619 cleanup br label %arraydestroy.body630 -arraydestroy.body630: ; preds = %lpad618.body.thread826, %lpad618.body - %eh.lpad-body345831 = phi { ptr, i32 } [ %73, %lpad618.body.thread826 ], [ %469, %lpad618.body ] +arraydestroy.body630: ; preds = %lpad618.body.thread859, %lpad618.body + %eh.lpad-body377864 = phi { ptr, i32 } [ %73, %lpad618.body.thread859 ], [ %469, %lpad618.body ] %arraydestroy.element632.val = load ptr, ptr %ref.tmp608, align 8 - %tobool.not.i.i.i.i.i.i485 = icmp eq ptr %arraydestroy.element632.val, null - br i1 %tobool.not.i.i.i.i.i.i485, label %ehcleanup675, label %if.then.i.i.i.i.i.i486 + %tobool.not.i.i.i.i.i.i518 = icmp eq ptr %arraydestroy.element632.val, null + br i1 %tobool.not.i.i.i.i.i.i518, label %ehcleanup675, label %if.then.i.i.i.i.i.i519 -if.then.i.i.i.i.i.i486: ; preds = %arraydestroy.body630 +if.then.i.i.i.i.i.i519: ; preds = %arraydestroy.body630 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element632.val) #31 br label %ehcleanup675 @@ -220832,7 +220835,7 @@ lpad644: ; preds = %invoke.cont639 br label %lpad644.body lpad644.body: ; preds = %lpad.body.i, %if.then.i.i6.i, %lpad644 - %eh.lpad-body359 = phi { ptr, i32 } [ %471, %lpad644 ], [ %78, %if.then.i.i6.i ], [ %78, %lpad.body.i ] + %eh.lpad-body392 = phi { ptr, i32 } [ %471, %lpad644 ], [ %78, %if.then.i.i6.i ], [ %78, %lpad.body.i ] %472 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %ref.tmp, i64 23 br label %arraydestroy.body652 @@ -220844,475 +220847,475 @@ arraydestroy.body652: ; preds = %arraydestroy.body65 br i1 %arraydestroy.done655, label %ehcleanup, label %arraydestroy.body652 ehcleanup: ; preds = %arraydestroy.body652, %lpad638 - %.pn = phi { ptr, i32 } [ %470, %lpad638 ], [ %eh.lpad-body359, %arraydestroy.body652 ] + %.pn = phi { ptr, i32 } [ %470, %lpad638 ], [ %eh.lpad-body392, %arraydestroy.body652 ] %cleanup.isactive.0 = phi i1 [ true, %lpad638 ], [ false, %arraydestroy.body652 ] %473 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp608, i64 2 br label %arraydestroy.body664 -arraydestroy.body664: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490, %ehcleanup - %arraydestroy.elementPast665 = phi ptr [ %473, %ehcleanup ], [ %arraydestroy.element666, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490 ] +arraydestroy.body664: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523, %ehcleanup + %arraydestroy.elementPast665 = phi ptr [ %473, %ehcleanup ], [ %arraydestroy.element666, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 ] %arraydestroy.element666 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast665, i64 -1 %arraydestroy.element666.val = load ptr, ptr %arraydestroy.element666, align 8 - %tobool.not.i.i.i.i.i.i488 = icmp eq ptr %arraydestroy.element666.val, null - br i1 %tobool.not.i.i.i.i.i.i488, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490, label %if.then.i.i.i.i.i.i489 + %tobool.not.i.i.i.i.i.i521 = icmp eq ptr %arraydestroy.element666.val, null + br i1 %tobool.not.i.i.i.i.i.i521, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523, label %if.then.i.i.i.i.i.i522 -if.then.i.i.i.i.i.i489: ; preds = %arraydestroy.body664 +if.then.i.i.i.i.i.i522: ; preds = %arraydestroy.body664 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element666.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490: ; preds = %arraydestroy.body664, %if.then.i.i.i.i.i.i489 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523: ; preds = %arraydestroy.body664, %if.then.i.i.i.i.i.i522 %arraydestroy.done667 = icmp eq ptr %arraydestroy.element666, %ref.tmp608 br i1 %arraydestroy.done667, label %ehcleanup675, label %arraydestroy.body664 -ehcleanup675: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490, %arraydestroy.body630, %if.then.i.i.i.i.i.i486, %lpad618.body.thread832, %lpad618.body.thread, %lpad604 - %.pn.pn = phi { ptr, i32 } [ %468, %lpad604 ], [ %71, %lpad618.body.thread ], [ %70, %lpad618.body.thread832 ], [ %eh.lpad-body345831, %if.then.i.i.i.i.i.i486 ], [ %eh.lpad-body345831, %arraydestroy.body630 ], [ %.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490 ] - %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element572, %lpad604 ], [ %arrayinit.element606, %lpad618.body.thread ], [ %arrayinit.element606, %lpad618.body.thread832 ], [ %arrayinit.element606, %if.then.i.i.i.i.i.i486 ], [ %arrayinit.element606, %arraydestroy.body630 ], [ %arrayinit.element606, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490 ] - %cleanup.isactive.1 = phi i1 [ true, %lpad604 ], [ true, %lpad618.body.thread ], [ true, %lpad618.body.thread832 ], [ true, %if.then.i.i.i.i.i.i486 ], [ true, %arraydestroy.body630 ], [ %cleanup.isactive.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit490 ] +ehcleanup675: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523, %arraydestroy.body630, %if.then.i.i.i.i.i.i519, %lpad618.body.thread865, %lpad618.body.thread, %lpad604 + %.pn.pn = phi { ptr, i32 } [ %468, %lpad604 ], [ %71, %lpad618.body.thread ], [ %70, %lpad618.body.thread865 ], [ %eh.lpad-body377864, %if.then.i.i.i.i.i.i519 ], [ %eh.lpad-body377864, %arraydestroy.body630 ], [ %.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 ] + %arrayinit.endOfInit.0 = phi ptr [ %arrayinit.element572, %lpad604 ], [ %arrayinit.element606, %lpad618.body.thread ], [ %arrayinit.element606, %lpad618.body.thread865 ], [ %arrayinit.element606, %if.then.i.i.i.i.i.i519 ], [ %arrayinit.element606, %arraydestroy.body630 ], [ %arrayinit.element606, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 ] + %cleanup.isactive.1 = phi i1 [ true, %lpad604 ], [ true, %lpad618.body.thread ], [ true, %lpad618.body.thread865 ], [ true, %if.then.i.i.i.i.i.i519 ], [ true, %arraydestroy.body630 ], [ %cleanup.isactive.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 ] %474 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp574, i64 2 br label %arraydestroy.body677 -arraydestroy.body677: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493, %ehcleanup675 - %arraydestroy.elementPast678 = phi ptr [ %474, %ehcleanup675 ], [ %arraydestroy.element679, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493 ] +arraydestroy.body677: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526, %ehcleanup675 + %arraydestroy.elementPast678 = phi ptr [ %474, %ehcleanup675 ], [ %arraydestroy.element679, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 ] %arraydestroy.element679 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast678, i64 -1 %arraydestroy.element679.val = load ptr, ptr %arraydestroy.element679, align 8 - %tobool.not.i.i.i.i.i.i491 = icmp eq ptr %arraydestroy.element679.val, null - br i1 %tobool.not.i.i.i.i.i.i491, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493, label %if.then.i.i.i.i.i.i492 + %tobool.not.i.i.i.i.i.i524 = icmp eq ptr %arraydestroy.element679.val, null + br i1 %tobool.not.i.i.i.i.i.i524, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526, label %if.then.i.i.i.i.i.i525 -if.then.i.i.i.i.i.i492: ; preds = %arraydestroy.body677 +if.then.i.i.i.i.i.i525: ; preds = %arraydestroy.body677 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element679.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493: ; preds = %arraydestroy.body677, %if.then.i.i.i.i.i.i492 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526: ; preds = %arraydestroy.body677, %if.then.i.i.i.i.i.i525 %arraydestroy.done680 = icmp eq ptr %arraydestroy.element679, %ref.tmp574 br i1 %arraydestroy.done680, label %ehcleanup688, label %arraydestroy.body677 -ehcleanup688: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493, %arraydestroy.body596, %if.then.i.i.i.i.i.i483, %lpad584.body.thread823, %lpad584.body.thread, %lpad570 - %.pn.pn.pn = phi { ptr, i32 } [ %466, %lpad570 ], [ %66, %lpad584.body.thread ], [ %65, %lpad584.body.thread823 ], [ %eh.lpad-body325822, %if.then.i.i.i.i.i.i483 ], [ %eh.lpad-body325822, %arraydestroy.body596 ], [ %.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493 ] - %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element538, %lpad570 ], [ %arrayinit.element572, %lpad584.body.thread ], [ %arrayinit.element572, %lpad584.body.thread823 ], [ %arrayinit.element572, %if.then.i.i.i.i.i.i483 ], [ %arrayinit.element572, %arraydestroy.body596 ], [ %arrayinit.endOfInit.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493 ] - %cleanup.isactive.2 = phi i1 [ true, %lpad570 ], [ true, %lpad584.body.thread ], [ true, %lpad584.body.thread823 ], [ true, %if.then.i.i.i.i.i.i483 ], [ true, %arraydestroy.body596 ], [ %cleanup.isactive.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit493 ] +ehcleanup688: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526, %arraydestroy.body596, %if.then.i.i.i.i.i.i516, %lpad584.body.thread856, %lpad584.body.thread, %lpad570 + %.pn.pn.pn = phi { ptr, i32 } [ %466, %lpad570 ], [ %66, %lpad584.body.thread ], [ %65, %lpad584.body.thread856 ], [ %eh.lpad-body355855, %if.then.i.i.i.i.i.i516 ], [ %eh.lpad-body355855, %arraydestroy.body596 ], [ %.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 ] + %arrayinit.endOfInit.1 = phi ptr [ %arrayinit.element538, %lpad570 ], [ %arrayinit.element572, %lpad584.body.thread ], [ %arrayinit.element572, %lpad584.body.thread856 ], [ %arrayinit.element572, %if.then.i.i.i.i.i.i516 ], [ %arrayinit.element572, %arraydestroy.body596 ], [ %arrayinit.endOfInit.0, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 ] + %cleanup.isactive.2 = phi i1 [ true, %lpad570 ], [ true, %lpad584.body.thread ], [ true, %lpad584.body.thread856 ], [ true, %if.then.i.i.i.i.i.i516 ], [ true, %arraydestroy.body596 ], [ %cleanup.isactive.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 ] %475 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp540, i64 2 br label %arraydestroy.body690 -arraydestroy.body690: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496, %ehcleanup688 - %arraydestroy.elementPast691 = phi ptr [ %475, %ehcleanup688 ], [ %arraydestroy.element692, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496 ] +arraydestroy.body690: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529, %ehcleanup688 + %arraydestroy.elementPast691 = phi ptr [ %475, %ehcleanup688 ], [ %arraydestroy.element692, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 ] %arraydestroy.element692 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast691, i64 -1 %arraydestroy.element692.val = load ptr, ptr %arraydestroy.element692, align 8 - %tobool.not.i.i.i.i.i.i494 = icmp eq ptr %arraydestroy.element692.val, null - br i1 %tobool.not.i.i.i.i.i.i494, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496, label %if.then.i.i.i.i.i.i495 + %tobool.not.i.i.i.i.i.i527 = icmp eq ptr %arraydestroy.element692.val, null + br i1 %tobool.not.i.i.i.i.i.i527, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529, label %if.then.i.i.i.i.i.i528 -if.then.i.i.i.i.i.i495: ; preds = %arraydestroy.body690 +if.then.i.i.i.i.i.i528: ; preds = %arraydestroy.body690 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element692.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496: ; preds = %arraydestroy.body690, %if.then.i.i.i.i.i.i495 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529: ; preds = %arraydestroy.body690, %if.then.i.i.i.i.i.i528 %arraydestroy.done693 = icmp eq ptr %arraydestroy.element692, %ref.tmp540 br i1 %arraydestroy.done693, label %ehcleanup701, label %arraydestroy.body690 -ehcleanup701: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496, %arraydestroy.body562, %if.then.i.i.i.i.i.i480, %lpad550.body.thread814, %lpad550.body.thread, %lpad536 - %.pn.pn.pn.pn = phi { ptr, i32 } [ %464, %lpad536 ], [ %61, %lpad550.body.thread ], [ %60, %lpad550.body.thread814 ], [ %eh.lpad-body305813, %if.then.i.i.i.i.i.i480 ], [ %eh.lpad-body305813, %arraydestroy.body562 ], [ %.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496 ] - %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element504, %lpad536 ], [ %arrayinit.element538, %lpad550.body.thread ], [ %arrayinit.element538, %lpad550.body.thread814 ], [ %arrayinit.element538, %if.then.i.i.i.i.i.i480 ], [ %arrayinit.element538, %arraydestroy.body562 ], [ %arrayinit.endOfInit.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496 ] - %cleanup.isactive.3 = phi i1 [ true, %lpad536 ], [ true, %lpad550.body.thread ], [ true, %lpad550.body.thread814 ], [ true, %if.then.i.i.i.i.i.i480 ], [ true, %arraydestroy.body562 ], [ %cleanup.isactive.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit496 ] +ehcleanup701: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529, %arraydestroy.body562, %if.then.i.i.i.i.i.i513, %lpad550.body.thread847, %lpad550.body.thread, %lpad536 + %.pn.pn.pn.pn = phi { ptr, i32 } [ %464, %lpad536 ], [ %61, %lpad550.body.thread ], [ %60, %lpad550.body.thread847 ], [ %eh.lpad-body333846, %if.then.i.i.i.i.i.i513 ], [ %eh.lpad-body333846, %arraydestroy.body562 ], [ %.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 ] + %arrayinit.endOfInit.2 = phi ptr [ %arrayinit.element504, %lpad536 ], [ %arrayinit.element538, %lpad550.body.thread ], [ %arrayinit.element538, %lpad550.body.thread847 ], [ %arrayinit.element538, %if.then.i.i.i.i.i.i513 ], [ %arrayinit.element538, %arraydestroy.body562 ], [ %arrayinit.endOfInit.1, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 ] + %cleanup.isactive.3 = phi i1 [ true, %lpad536 ], [ true, %lpad550.body.thread ], [ true, %lpad550.body.thread847 ], [ true, %if.then.i.i.i.i.i.i513 ], [ true, %arraydestroy.body562 ], [ %cleanup.isactive.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 ] %476 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp506, i64 2 br label %arraydestroy.body703 -arraydestroy.body703: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499, %ehcleanup701 - %arraydestroy.elementPast704 = phi ptr [ %476, %ehcleanup701 ], [ %arraydestroy.element705, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499 ] +arraydestroy.body703: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532, %ehcleanup701 + %arraydestroy.elementPast704 = phi ptr [ %476, %ehcleanup701 ], [ %arraydestroy.element705, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 ] %arraydestroy.element705 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast704, i64 -1 %arraydestroy.element705.val = load ptr, ptr %arraydestroy.element705, align 8 - %tobool.not.i.i.i.i.i.i497 = icmp eq ptr %arraydestroy.element705.val, null - br i1 %tobool.not.i.i.i.i.i.i497, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499, label %if.then.i.i.i.i.i.i498 + %tobool.not.i.i.i.i.i.i530 = icmp eq ptr %arraydestroy.element705.val, null + br i1 %tobool.not.i.i.i.i.i.i530, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532, label %if.then.i.i.i.i.i.i531 -if.then.i.i.i.i.i.i498: ; preds = %arraydestroy.body703 +if.then.i.i.i.i.i.i531: ; preds = %arraydestroy.body703 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element705.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499: ; preds = %arraydestroy.body703, %if.then.i.i.i.i.i.i498 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532: ; preds = %arraydestroy.body703, %if.then.i.i.i.i.i.i531 %arraydestroy.done706 = icmp eq ptr %arraydestroy.element705, %ref.tmp506 br i1 %arraydestroy.done706, label %ehcleanup714, label %arraydestroy.body703 -ehcleanup714: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499, %arraydestroy.body528, %if.then.i.i.i.i.i.i477, %lpad516.body.thread805, %lpad516.body.thread, %lpad502 - %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %462, %lpad502 ], [ %56, %lpad516.body.thread ], [ %55, %lpad516.body.thread805 ], [ %eh.lpad-body285804, %if.then.i.i.i.i.i.i477 ], [ %eh.lpad-body285804, %arraydestroy.body528 ], [ %.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499 ] - %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element470, %lpad502 ], [ %arrayinit.element504, %lpad516.body.thread ], [ %arrayinit.element504, %lpad516.body.thread805 ], [ %arrayinit.element504, %if.then.i.i.i.i.i.i477 ], [ %arrayinit.element504, %arraydestroy.body528 ], [ %arrayinit.endOfInit.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499 ] - %cleanup.isactive.4 = phi i1 [ true, %lpad502 ], [ true, %lpad516.body.thread ], [ true, %lpad516.body.thread805 ], [ true, %if.then.i.i.i.i.i.i477 ], [ true, %arraydestroy.body528 ], [ %cleanup.isactive.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit499 ] +ehcleanup714: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532, %arraydestroy.body528, %if.then.i.i.i.i.i.i510, %lpad516.body.thread838, %lpad516.body.thread, %lpad502 + %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %462, %lpad502 ], [ %56, %lpad516.body.thread ], [ %55, %lpad516.body.thread838 ], [ %eh.lpad-body311837, %if.then.i.i.i.i.i.i510 ], [ %eh.lpad-body311837, %arraydestroy.body528 ], [ %.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 ] + %arrayinit.endOfInit.3 = phi ptr [ %arrayinit.element470, %lpad502 ], [ %arrayinit.element504, %lpad516.body.thread ], [ %arrayinit.element504, %lpad516.body.thread838 ], [ %arrayinit.element504, %if.then.i.i.i.i.i.i510 ], [ %arrayinit.element504, %arraydestroy.body528 ], [ %arrayinit.endOfInit.2, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 ] + %cleanup.isactive.4 = phi i1 [ true, %lpad502 ], [ true, %lpad516.body.thread ], [ true, %lpad516.body.thread838 ], [ true, %if.then.i.i.i.i.i.i510 ], [ true, %arraydestroy.body528 ], [ %cleanup.isactive.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 ] %477 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp472, i64 2 br label %arraydestroy.body716 -arraydestroy.body716: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502, %ehcleanup714 - %arraydestroy.elementPast717 = phi ptr [ %477, %ehcleanup714 ], [ %arraydestroy.element718, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502 ] +arraydestroy.body716: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535, %ehcleanup714 + %arraydestroy.elementPast717 = phi ptr [ %477, %ehcleanup714 ], [ %arraydestroy.element718, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 ] %arraydestroy.element718 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast717, i64 -1 %arraydestroy.element718.val = load ptr, ptr %arraydestroy.element718, align 8 - %tobool.not.i.i.i.i.i.i500 = icmp eq ptr %arraydestroy.element718.val, null - br i1 %tobool.not.i.i.i.i.i.i500, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502, label %if.then.i.i.i.i.i.i501 + %tobool.not.i.i.i.i.i.i533 = icmp eq ptr %arraydestroy.element718.val, null + br i1 %tobool.not.i.i.i.i.i.i533, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535, label %if.then.i.i.i.i.i.i534 -if.then.i.i.i.i.i.i501: ; preds = %arraydestroy.body716 +if.then.i.i.i.i.i.i534: ; preds = %arraydestroy.body716 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element718.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502: ; preds = %arraydestroy.body716, %if.then.i.i.i.i.i.i501 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535: ; preds = %arraydestroy.body716, %if.then.i.i.i.i.i.i534 %arraydestroy.done719 = icmp eq ptr %arraydestroy.element718, %ref.tmp472 br i1 %arraydestroy.done719, label %ehcleanup727, label %arraydestroy.body716 -ehcleanup727: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502, %arraydestroy.body494, %if.then.i.i.i.i.i.i474, %lpad482.body.thread796, %lpad482.body.thread, %lpad468 - %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %460, %lpad468 ], [ %51, %lpad482.body.thread ], [ %50, %lpad482.body.thread796 ], [ %eh.lpad-body265795, %if.then.i.i.i.i.i.i474 ], [ %eh.lpad-body265795, %arraydestroy.body494 ], [ %.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502 ] - %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element436, %lpad468 ], [ %arrayinit.element470, %lpad482.body.thread ], [ %arrayinit.element470, %lpad482.body.thread796 ], [ %arrayinit.element470, %if.then.i.i.i.i.i.i474 ], [ %arrayinit.element470, %arraydestroy.body494 ], [ %arrayinit.endOfInit.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502 ] - %cleanup.isactive.5 = phi i1 [ true, %lpad468 ], [ true, %lpad482.body.thread ], [ true, %lpad482.body.thread796 ], [ true, %if.then.i.i.i.i.i.i474 ], [ true, %arraydestroy.body494 ], [ %cleanup.isactive.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit502 ] +ehcleanup727: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535, %arraydestroy.body494, %if.then.i.i.i.i.i.i507, %lpad482.body.thread829, %lpad482.body.thread, %lpad468 + %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %460, %lpad468 ], [ %51, %lpad482.body.thread ], [ %50, %lpad482.body.thread829 ], [ %eh.lpad-body289828, %if.then.i.i.i.i.i.i507 ], [ %eh.lpad-body289828, %arraydestroy.body494 ], [ %.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 ] + %arrayinit.endOfInit.4 = phi ptr [ %arrayinit.element436, %lpad468 ], [ %arrayinit.element470, %lpad482.body.thread ], [ %arrayinit.element470, %lpad482.body.thread829 ], [ %arrayinit.element470, %if.then.i.i.i.i.i.i507 ], [ %arrayinit.element470, %arraydestroy.body494 ], [ %arrayinit.endOfInit.3, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 ] + %cleanup.isactive.5 = phi i1 [ true, %lpad468 ], [ true, %lpad482.body.thread ], [ true, %lpad482.body.thread829 ], [ true, %if.then.i.i.i.i.i.i507 ], [ true, %arraydestroy.body494 ], [ %cleanup.isactive.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 ] %478 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp438, i64 2 br label %arraydestroy.body729 -arraydestroy.body729: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505, %ehcleanup727 - %arraydestroy.elementPast730 = phi ptr [ %478, %ehcleanup727 ], [ %arraydestroy.element731, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505 ] +arraydestroy.body729: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538, %ehcleanup727 + %arraydestroy.elementPast730 = phi ptr [ %478, %ehcleanup727 ], [ %arraydestroy.element731, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 ] %arraydestroy.element731 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast730, i64 -1 %arraydestroy.element731.val = load ptr, ptr %arraydestroy.element731, align 8 - %tobool.not.i.i.i.i.i.i503 = icmp eq ptr %arraydestroy.element731.val, null - br i1 %tobool.not.i.i.i.i.i.i503, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505, label %if.then.i.i.i.i.i.i504 + %tobool.not.i.i.i.i.i.i536 = icmp eq ptr %arraydestroy.element731.val, null + br i1 %tobool.not.i.i.i.i.i.i536, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538, label %if.then.i.i.i.i.i.i537 -if.then.i.i.i.i.i.i504: ; preds = %arraydestroy.body729 +if.then.i.i.i.i.i.i537: ; preds = %arraydestroy.body729 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element731.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505: ; preds = %arraydestroy.body729, %if.then.i.i.i.i.i.i504 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538: ; preds = %arraydestroy.body729, %if.then.i.i.i.i.i.i537 %arraydestroy.done732 = icmp eq ptr %arraydestroy.element731, %ref.tmp438 br i1 %arraydestroy.done732, label %ehcleanup740, label %arraydestroy.body729 -ehcleanup740: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505, %arraydestroy.body460, %if.then.i.i.i.i.i.i471, %lpad448.body.thread787, %lpad448.body.thread, %lpad434 - %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %458, %lpad434 ], [ %46, %lpad448.body.thread ], [ %45, %lpad448.body.thread787 ], [ %eh.lpad-body245786, %if.then.i.i.i.i.i.i471 ], [ %eh.lpad-body245786, %arraydestroy.body460 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505 ] - %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element402, %lpad434 ], [ %arrayinit.element436, %lpad448.body.thread ], [ %arrayinit.element436, %lpad448.body.thread787 ], [ %arrayinit.element436, %if.then.i.i.i.i.i.i471 ], [ %arrayinit.element436, %arraydestroy.body460 ], [ %arrayinit.endOfInit.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505 ] - %cleanup.isactive.6 = phi i1 [ true, %lpad434 ], [ true, %lpad448.body.thread ], [ true, %lpad448.body.thread787 ], [ true, %if.then.i.i.i.i.i.i471 ], [ true, %arraydestroy.body460 ], [ %cleanup.isactive.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit505 ] +ehcleanup740: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538, %arraydestroy.body460, %if.then.i.i.i.i.i.i504, %lpad448.body.thread820, %lpad448.body.thread, %lpad434 + %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %458, %lpad434 ], [ %46, %lpad448.body.thread ], [ %45, %lpad448.body.thread820 ], [ %eh.lpad-body267819, %if.then.i.i.i.i.i.i504 ], [ %eh.lpad-body267819, %arraydestroy.body460 ], [ %.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 ] + %arrayinit.endOfInit.5 = phi ptr [ %arrayinit.element402, %lpad434 ], [ %arrayinit.element436, %lpad448.body.thread ], [ %arrayinit.element436, %lpad448.body.thread820 ], [ %arrayinit.element436, %if.then.i.i.i.i.i.i504 ], [ %arrayinit.element436, %arraydestroy.body460 ], [ %arrayinit.endOfInit.4, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 ] + %cleanup.isactive.6 = phi i1 [ true, %lpad434 ], [ true, %lpad448.body.thread ], [ true, %lpad448.body.thread820 ], [ true, %if.then.i.i.i.i.i.i504 ], [ true, %arraydestroy.body460 ], [ %cleanup.isactive.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 ] %479 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp404, i64 2 br label %arraydestroy.body742 -arraydestroy.body742: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508, %ehcleanup740 - %arraydestroy.elementPast743 = phi ptr [ %479, %ehcleanup740 ], [ %arraydestroy.element744, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508 ] +arraydestroy.body742: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541, %ehcleanup740 + %arraydestroy.elementPast743 = phi ptr [ %479, %ehcleanup740 ], [ %arraydestroy.element744, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 ] %arraydestroy.element744 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast743, i64 -1 %arraydestroy.element744.val = load ptr, ptr %arraydestroy.element744, align 8 - %tobool.not.i.i.i.i.i.i506 = icmp eq ptr %arraydestroy.element744.val, null - br i1 %tobool.not.i.i.i.i.i.i506, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508, label %if.then.i.i.i.i.i.i507 + %tobool.not.i.i.i.i.i.i539 = icmp eq ptr %arraydestroy.element744.val, null + br i1 %tobool.not.i.i.i.i.i.i539, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541, label %if.then.i.i.i.i.i.i540 -if.then.i.i.i.i.i.i507: ; preds = %arraydestroy.body742 +if.then.i.i.i.i.i.i540: ; preds = %arraydestroy.body742 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element744.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508: ; preds = %arraydestroy.body742, %if.then.i.i.i.i.i.i507 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541: ; preds = %arraydestroy.body742, %if.then.i.i.i.i.i.i540 %arraydestroy.done745 = icmp eq ptr %arraydestroy.element744, %ref.tmp404 br i1 %arraydestroy.done745, label %ehcleanup753, label %arraydestroy.body742 -ehcleanup753: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508, %arraydestroy.body426, %if.then.i.i.i.i.i.i468, %lpad414.body.thread778, %lpad414.body.thread, %lpad400 - %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %456, %lpad400 ], [ %41, %lpad414.body.thread ], [ %40, %lpad414.body.thread778 ], [ %eh.lpad-body225777, %if.then.i.i.i.i.i.i468 ], [ %eh.lpad-body225777, %arraydestroy.body426 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508 ] - %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element368, %lpad400 ], [ %arrayinit.element402, %lpad414.body.thread ], [ %arrayinit.element402, %lpad414.body.thread778 ], [ %arrayinit.element402, %if.then.i.i.i.i.i.i468 ], [ %arrayinit.element402, %arraydestroy.body426 ], [ %arrayinit.endOfInit.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508 ] - %cleanup.isactive.7 = phi i1 [ true, %lpad400 ], [ true, %lpad414.body.thread ], [ true, %lpad414.body.thread778 ], [ true, %if.then.i.i.i.i.i.i468 ], [ true, %arraydestroy.body426 ], [ %cleanup.isactive.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit508 ] +ehcleanup753: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541, %arraydestroy.body426, %if.then.i.i.i.i.i.i501, %lpad414.body.thread811, %lpad414.body.thread, %lpad400 + %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %456, %lpad400 ], [ %41, %lpad414.body.thread ], [ %40, %lpad414.body.thread811 ], [ %eh.lpad-body245810, %if.then.i.i.i.i.i.i501 ], [ %eh.lpad-body245810, %arraydestroy.body426 ], [ %.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 ] + %arrayinit.endOfInit.6 = phi ptr [ %arrayinit.element368, %lpad400 ], [ %arrayinit.element402, %lpad414.body.thread ], [ %arrayinit.element402, %lpad414.body.thread811 ], [ %arrayinit.element402, %if.then.i.i.i.i.i.i501 ], [ %arrayinit.element402, %arraydestroy.body426 ], [ %arrayinit.endOfInit.5, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 ] + %cleanup.isactive.7 = phi i1 [ true, %lpad400 ], [ true, %lpad414.body.thread ], [ true, %lpad414.body.thread811 ], [ true, %if.then.i.i.i.i.i.i501 ], [ true, %arraydestroy.body426 ], [ %cleanup.isactive.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 ] %480 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp370, i64 2 br label %arraydestroy.body755 -arraydestroy.body755: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511, %ehcleanup753 - %arraydestroy.elementPast756 = phi ptr [ %480, %ehcleanup753 ], [ %arraydestroy.element757, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511 ] +arraydestroy.body755: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544, %ehcleanup753 + %arraydestroy.elementPast756 = phi ptr [ %480, %ehcleanup753 ], [ %arraydestroy.element757, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544 ] %arraydestroy.element757 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast756, i64 -1 %arraydestroy.element757.val = load ptr, ptr %arraydestroy.element757, align 8 - %tobool.not.i.i.i.i.i.i509 = icmp eq ptr %arraydestroy.element757.val, null - br i1 %tobool.not.i.i.i.i.i.i509, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511, label %if.then.i.i.i.i.i.i510 + %tobool.not.i.i.i.i.i.i542 = icmp eq ptr %arraydestroy.element757.val, null + br i1 %tobool.not.i.i.i.i.i.i542, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544, label %if.then.i.i.i.i.i.i543 -if.then.i.i.i.i.i.i510: ; preds = %arraydestroy.body755 +if.then.i.i.i.i.i.i543: ; preds = %arraydestroy.body755 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element757.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511: ; preds = %arraydestroy.body755, %if.then.i.i.i.i.i.i510 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544: ; preds = %arraydestroy.body755, %if.then.i.i.i.i.i.i543 %arraydestroy.done758 = icmp eq ptr %arraydestroy.element757, %ref.tmp370 br i1 %arraydestroy.done758, label %ehcleanup766, label %arraydestroy.body755 -ehcleanup766: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511, %arraydestroy.body392, %if.then.i.i.i.i.i.i465, %lpad380.body.thread769, %lpad380.body.thread, %lpad366 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %454, %lpad366 ], [ %36, %lpad380.body.thread ], [ %35, %lpad380.body.thread769 ], [ %eh.lpad-body205768, %if.then.i.i.i.i.i.i465 ], [ %eh.lpad-body205768, %arraydestroy.body392 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511 ] - %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element334, %lpad366 ], [ %arrayinit.element368, %lpad380.body.thread ], [ %arrayinit.element368, %lpad380.body.thread769 ], [ %arrayinit.element368, %if.then.i.i.i.i.i.i465 ], [ %arrayinit.element368, %arraydestroy.body392 ], [ %arrayinit.endOfInit.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511 ] - %cleanup.isactive.8 = phi i1 [ true, %lpad366 ], [ true, %lpad380.body.thread ], [ true, %lpad380.body.thread769 ], [ true, %if.then.i.i.i.i.i.i465 ], [ true, %arraydestroy.body392 ], [ %cleanup.isactive.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit511 ] +ehcleanup766: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544, %arraydestroy.body392, %if.then.i.i.i.i.i.i498, %lpad380.body.thread802, %lpad380.body.thread, %lpad366 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %454, %lpad366 ], [ %36, %lpad380.body.thread ], [ %35, %lpad380.body.thread802 ], [ %eh.lpad-body223801, %if.then.i.i.i.i.i.i498 ], [ %eh.lpad-body223801, %arraydestroy.body392 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544 ] + %arrayinit.endOfInit.7 = phi ptr [ %arrayinit.element334, %lpad366 ], [ %arrayinit.element368, %lpad380.body.thread ], [ %arrayinit.element368, %lpad380.body.thread802 ], [ %arrayinit.element368, %if.then.i.i.i.i.i.i498 ], [ %arrayinit.element368, %arraydestroy.body392 ], [ %arrayinit.endOfInit.6, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544 ] + %cleanup.isactive.8 = phi i1 [ true, %lpad366 ], [ true, %lpad380.body.thread ], [ true, %lpad380.body.thread802 ], [ true, %if.then.i.i.i.i.i.i498 ], [ true, %arraydestroy.body392 ], [ %cleanup.isactive.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit544 ] %481 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp336, i64 2 br label %arraydestroy.body768 -arraydestroy.body768: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514, %ehcleanup766 - %arraydestroy.elementPast769 = phi ptr [ %481, %ehcleanup766 ], [ %arraydestroy.element770, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514 ] +arraydestroy.body768: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547, %ehcleanup766 + %arraydestroy.elementPast769 = phi ptr [ %481, %ehcleanup766 ], [ %arraydestroy.element770, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 ] %arraydestroy.element770 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast769, i64 -1 %arraydestroy.element770.val = load ptr, ptr %arraydestroy.element770, align 8 - %tobool.not.i.i.i.i.i.i512 = icmp eq ptr %arraydestroy.element770.val, null - br i1 %tobool.not.i.i.i.i.i.i512, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514, label %if.then.i.i.i.i.i.i513 + %tobool.not.i.i.i.i.i.i545 = icmp eq ptr %arraydestroy.element770.val, null + br i1 %tobool.not.i.i.i.i.i.i545, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547, label %if.then.i.i.i.i.i.i546 -if.then.i.i.i.i.i.i513: ; preds = %arraydestroy.body768 +if.then.i.i.i.i.i.i546: ; preds = %arraydestroy.body768 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element770.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514: ; preds = %arraydestroy.body768, %if.then.i.i.i.i.i.i513 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547: ; preds = %arraydestroy.body768, %if.then.i.i.i.i.i.i546 %arraydestroy.done771 = icmp eq ptr %arraydestroy.element770, %ref.tmp336 br i1 %arraydestroy.done771, label %ehcleanup779, label %arraydestroy.body768 -ehcleanup779: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514, %arraydestroy.body358, %if.then.i.i.i.i.i.i462, %lpad346.body.thread760, %lpad346.body.thread, %lpad332 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %452, %lpad332 ], [ %31, %lpad346.body.thread ], [ %30, %lpad346.body.thread760 ], [ %eh.lpad-body185759, %if.then.i.i.i.i.i.i462 ], [ %eh.lpad-body185759, %arraydestroy.body358 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514 ] - %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element300, %lpad332 ], [ %arrayinit.element334, %lpad346.body.thread ], [ %arrayinit.element334, %lpad346.body.thread760 ], [ %arrayinit.element334, %if.then.i.i.i.i.i.i462 ], [ %arrayinit.element334, %arraydestroy.body358 ], [ %arrayinit.endOfInit.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514 ] - %cleanup.isactive.9 = phi i1 [ true, %lpad332 ], [ true, %lpad346.body.thread ], [ true, %lpad346.body.thread760 ], [ true, %if.then.i.i.i.i.i.i462 ], [ true, %arraydestroy.body358 ], [ %cleanup.isactive.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit514 ] +ehcleanup779: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547, %arraydestroy.body358, %if.then.i.i.i.i.i.i495, %lpad346.body.thread793, %lpad346.body.thread, %lpad332 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %452, %lpad332 ], [ %31, %lpad346.body.thread ], [ %30, %lpad346.body.thread793 ], [ %eh.lpad-body201792, %if.then.i.i.i.i.i.i495 ], [ %eh.lpad-body201792, %arraydestroy.body358 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 ] + %arrayinit.endOfInit.8 = phi ptr [ %arrayinit.element300, %lpad332 ], [ %arrayinit.element334, %lpad346.body.thread ], [ %arrayinit.element334, %lpad346.body.thread793 ], [ %arrayinit.element334, %if.then.i.i.i.i.i.i495 ], [ %arrayinit.element334, %arraydestroy.body358 ], [ %arrayinit.endOfInit.7, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 ] + %cleanup.isactive.9 = phi i1 [ true, %lpad332 ], [ true, %lpad346.body.thread ], [ true, %lpad346.body.thread793 ], [ true, %if.then.i.i.i.i.i.i495 ], [ true, %arraydestroy.body358 ], [ %cleanup.isactive.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 ] %482 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp302, i64 2 br label %arraydestroy.body781 -arraydestroy.body781: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517, %ehcleanup779 - %arraydestroy.elementPast782 = phi ptr [ %482, %ehcleanup779 ], [ %arraydestroy.element783, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517 ] +arraydestroy.body781: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550, %ehcleanup779 + %arraydestroy.elementPast782 = phi ptr [ %482, %ehcleanup779 ], [ %arraydestroy.element783, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 ] %arraydestroy.element783 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast782, i64 -1 %arraydestroy.element783.val = load ptr, ptr %arraydestroy.element783, align 8 - %tobool.not.i.i.i.i.i.i515 = icmp eq ptr %arraydestroy.element783.val, null - br i1 %tobool.not.i.i.i.i.i.i515, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517, label %if.then.i.i.i.i.i.i516 + %tobool.not.i.i.i.i.i.i548 = icmp eq ptr %arraydestroy.element783.val, null + br i1 %tobool.not.i.i.i.i.i.i548, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550, label %if.then.i.i.i.i.i.i549 -if.then.i.i.i.i.i.i516: ; preds = %arraydestroy.body781 +if.then.i.i.i.i.i.i549: ; preds = %arraydestroy.body781 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element783.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517: ; preds = %arraydestroy.body781, %if.then.i.i.i.i.i.i516 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550: ; preds = %arraydestroy.body781, %if.then.i.i.i.i.i.i549 %arraydestroy.done784 = icmp eq ptr %arraydestroy.element783, %ref.tmp302 br i1 %arraydestroy.done784, label %ehcleanup792, label %arraydestroy.body781 -ehcleanup792: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517, %arraydestroy.body324, %if.then.i.i.i.i.i.i459, %lpad312.body.thread751, %lpad312.body.thread, %lpad298 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %450, %lpad298 ], [ %26, %lpad312.body.thread ], [ %25, %lpad312.body.thread751 ], [ %eh.lpad-body165750, %if.then.i.i.i.i.i.i459 ], [ %eh.lpad-body165750, %arraydestroy.body324 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517 ] - %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element266, %lpad298 ], [ %arrayinit.element300, %lpad312.body.thread ], [ %arrayinit.element300, %lpad312.body.thread751 ], [ %arrayinit.element300, %if.then.i.i.i.i.i.i459 ], [ %arrayinit.element300, %arraydestroy.body324 ], [ %arrayinit.endOfInit.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517 ] - %cleanup.isactive.10 = phi i1 [ true, %lpad298 ], [ true, %lpad312.body.thread ], [ true, %lpad312.body.thread751 ], [ true, %if.then.i.i.i.i.i.i459 ], [ true, %arraydestroy.body324 ], [ %cleanup.isactive.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit517 ] +ehcleanup792: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550, %arraydestroy.body324, %if.then.i.i.i.i.i.i492, %lpad312.body.thread784, %lpad312.body.thread, %lpad298 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %450, %lpad298 ], [ %26, %lpad312.body.thread ], [ %25, %lpad312.body.thread784 ], [ %eh.lpad-body179783, %if.then.i.i.i.i.i.i492 ], [ %eh.lpad-body179783, %arraydestroy.body324 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 ] + %arrayinit.endOfInit.9 = phi ptr [ %arrayinit.element266, %lpad298 ], [ %arrayinit.element300, %lpad312.body.thread ], [ %arrayinit.element300, %lpad312.body.thread784 ], [ %arrayinit.element300, %if.then.i.i.i.i.i.i492 ], [ %arrayinit.element300, %arraydestroy.body324 ], [ %arrayinit.endOfInit.8, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 ] + %cleanup.isactive.10 = phi i1 [ true, %lpad298 ], [ true, %lpad312.body.thread ], [ true, %lpad312.body.thread784 ], [ true, %if.then.i.i.i.i.i.i492 ], [ true, %arraydestroy.body324 ], [ %cleanup.isactive.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 ] %483 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp268, i64 2 br label %arraydestroy.body794 -arraydestroy.body794: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520, %ehcleanup792 - %arraydestroy.elementPast795 = phi ptr [ %483, %ehcleanup792 ], [ %arraydestroy.element796, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520 ] +arraydestroy.body794: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553, %ehcleanup792 + %arraydestroy.elementPast795 = phi ptr [ %483, %ehcleanup792 ], [ %arraydestroy.element796, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553 ] %arraydestroy.element796 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast795, i64 -1 %arraydestroy.element796.val = load ptr, ptr %arraydestroy.element796, align 8 - %tobool.not.i.i.i.i.i.i518 = icmp eq ptr %arraydestroy.element796.val, null - br i1 %tobool.not.i.i.i.i.i.i518, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520, label %if.then.i.i.i.i.i.i519 + %tobool.not.i.i.i.i.i.i551 = icmp eq ptr %arraydestroy.element796.val, null + br i1 %tobool.not.i.i.i.i.i.i551, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553, label %if.then.i.i.i.i.i.i552 -if.then.i.i.i.i.i.i519: ; preds = %arraydestroy.body794 +if.then.i.i.i.i.i.i552: ; preds = %arraydestroy.body794 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element796.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520: ; preds = %arraydestroy.body794, %if.then.i.i.i.i.i.i519 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553: ; preds = %arraydestroy.body794, %if.then.i.i.i.i.i.i552 %arraydestroy.done797 = icmp eq ptr %arraydestroy.element796, %ref.tmp268 br i1 %arraydestroy.done797, label %ehcleanup805, label %arraydestroy.body794 -ehcleanup805: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520, %arraydestroy.body290, %if.then.i.i.i.i.i.i456, %lpad278.body.thread742, %lpad278.body.thread, %lpad264 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %448, %lpad264 ], [ %21, %lpad278.body.thread ], [ %20, %lpad278.body.thread742 ], [ %eh.lpad-body145741, %if.then.i.i.i.i.i.i456 ], [ %eh.lpad-body145741, %arraydestroy.body290 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520 ] - %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element232, %lpad264 ], [ %arrayinit.element266, %lpad278.body.thread ], [ %arrayinit.element266, %lpad278.body.thread742 ], [ %arrayinit.element266, %if.then.i.i.i.i.i.i456 ], [ %arrayinit.element266, %arraydestroy.body290 ], [ %arrayinit.endOfInit.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520 ] - %cleanup.isactive.11 = phi i1 [ true, %lpad264 ], [ true, %lpad278.body.thread ], [ true, %lpad278.body.thread742 ], [ true, %if.then.i.i.i.i.i.i456 ], [ true, %arraydestroy.body290 ], [ %cleanup.isactive.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit520 ] +ehcleanup805: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553, %arraydestroy.body290, %if.then.i.i.i.i.i.i489, %lpad278.body.thread775, %lpad278.body.thread, %lpad264 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %448, %lpad264 ], [ %21, %lpad278.body.thread ], [ %20, %lpad278.body.thread775 ], [ %eh.lpad-body157774, %if.then.i.i.i.i.i.i489 ], [ %eh.lpad-body157774, %arraydestroy.body290 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553 ] + %arrayinit.endOfInit.10 = phi ptr [ %arrayinit.element232, %lpad264 ], [ %arrayinit.element266, %lpad278.body.thread ], [ %arrayinit.element266, %lpad278.body.thread775 ], [ %arrayinit.element266, %if.then.i.i.i.i.i.i489 ], [ %arrayinit.element266, %arraydestroy.body290 ], [ %arrayinit.endOfInit.9, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553 ] + %cleanup.isactive.11 = phi i1 [ true, %lpad264 ], [ true, %lpad278.body.thread ], [ true, %lpad278.body.thread775 ], [ true, %if.then.i.i.i.i.i.i489 ], [ true, %arraydestroy.body290 ], [ %cleanup.isactive.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553 ] %484 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp234, i64 2 br label %arraydestroy.body807 -arraydestroy.body807: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523, %ehcleanup805 - %arraydestroy.elementPast808 = phi ptr [ %484, %ehcleanup805 ], [ %arraydestroy.element809, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 ] +arraydestroy.body807: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556, %ehcleanup805 + %arraydestroy.elementPast808 = phi ptr [ %484, %ehcleanup805 ], [ %arraydestroy.element809, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556 ] %arraydestroy.element809 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast808, i64 -1 %arraydestroy.element809.val = load ptr, ptr %arraydestroy.element809, align 8 - %tobool.not.i.i.i.i.i.i521 = icmp eq ptr %arraydestroy.element809.val, null - br i1 %tobool.not.i.i.i.i.i.i521, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523, label %if.then.i.i.i.i.i.i522 + %tobool.not.i.i.i.i.i.i554 = icmp eq ptr %arraydestroy.element809.val, null + br i1 %tobool.not.i.i.i.i.i.i554, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556, label %if.then.i.i.i.i.i.i555 -if.then.i.i.i.i.i.i522: ; preds = %arraydestroy.body807 +if.then.i.i.i.i.i.i555: ; preds = %arraydestroy.body807 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element809.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523: ; preds = %arraydestroy.body807, %if.then.i.i.i.i.i.i522 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556: ; preds = %arraydestroy.body807, %if.then.i.i.i.i.i.i555 %arraydestroy.done810 = icmp eq ptr %arraydestroy.element809, %ref.tmp234 br i1 %arraydestroy.done810, label %ehcleanup818, label %arraydestroy.body807 -ehcleanup818: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523, %arraydestroy.body256, %if.then.i.i.i.i.i.i453, %lpad244.body.thread733, %lpad244.body.thread, %lpad230 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %446, %lpad230 ], [ %16, %lpad244.body.thread ], [ %15, %lpad244.body.thread733 ], [ %eh.lpad-body125732, %if.then.i.i.i.i.i.i453 ], [ %eh.lpad-body125732, %arraydestroy.body256 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 ] - %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element206, %lpad230 ], [ %arrayinit.element232, %lpad244.body.thread ], [ %arrayinit.element232, %lpad244.body.thread733 ], [ %arrayinit.element232, %if.then.i.i.i.i.i.i453 ], [ %arrayinit.element232, %arraydestroy.body256 ], [ %arrayinit.endOfInit.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 ] - %cleanup.isactive.12 = phi i1 [ true, %lpad230 ], [ true, %lpad244.body.thread ], [ true, %lpad244.body.thread733 ], [ true, %if.then.i.i.i.i.i.i453 ], [ true, %arraydestroy.body256 ], [ %cleanup.isactive.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit523 ] +ehcleanup818: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556, %arraydestroy.body256, %if.then.i.i.i.i.i.i486, %lpad244.body.thread766, %lpad244.body.thread, %lpad230 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %446, %lpad230 ], [ %16, %lpad244.body.thread ], [ %15, %lpad244.body.thread766 ], [ %eh.lpad-body135765, %if.then.i.i.i.i.i.i486 ], [ %eh.lpad-body135765, %arraydestroy.body256 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556 ] + %arrayinit.endOfInit.11 = phi ptr [ %arrayinit.element206, %lpad230 ], [ %arrayinit.element232, %lpad244.body.thread ], [ %arrayinit.element232, %lpad244.body.thread766 ], [ %arrayinit.element232, %if.then.i.i.i.i.i.i486 ], [ %arrayinit.element232, %arraydestroy.body256 ], [ %arrayinit.endOfInit.10, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556 ] + %cleanup.isactive.12 = phi i1 [ true, %lpad230 ], [ true, %lpad244.body.thread ], [ true, %lpad244.body.thread766 ], [ true, %if.then.i.i.i.i.i.i486 ], [ true, %arraydestroy.body256 ], [ %cleanup.isactive.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit556 ] %485 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp208, i64 2 br label %arraydestroy.body820 -arraydestroy.body820: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526, %ehcleanup818 - %arraydestroy.elementPast821 = phi ptr [ %485, %ehcleanup818 ], [ %arraydestroy.element822, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 ] +arraydestroy.body820: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559, %ehcleanup818 + %arraydestroy.elementPast821 = phi ptr [ %485, %ehcleanup818 ], [ %arraydestroy.element822, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559 ] %arraydestroy.element822 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast821, i64 -1 %arraydestroy.element822.val = load ptr, ptr %arraydestroy.element822, align 8 - %tobool.not.i.i.i.i.i.i524 = icmp eq ptr %arraydestroy.element822.val, null - br i1 %tobool.not.i.i.i.i.i.i524, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526, label %if.then.i.i.i.i.i.i525 + %tobool.not.i.i.i.i.i.i557 = icmp eq ptr %arraydestroy.element822.val, null + br i1 %tobool.not.i.i.i.i.i.i557, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559, label %if.then.i.i.i.i.i.i558 -if.then.i.i.i.i.i.i525: ; preds = %arraydestroy.body820 +if.then.i.i.i.i.i.i558: ; preds = %arraydestroy.body820 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element822.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526: ; preds = %arraydestroy.body820, %if.then.i.i.i.i.i.i525 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559: ; preds = %arraydestroy.body820, %if.then.i.i.i.i.i.i558 %arraydestroy.done823 = icmp eq ptr %arraydestroy.element822, %ref.tmp208 br i1 %arraydestroy.done823, label %ehcleanup831, label %arraydestroy.body820 -ehcleanup831: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526, %lpad218, %common.resume.i110, %lpad204 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %444, %lpad204 ], [ %445, %lpad218 ], [ %13, %common.resume.i110 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 ] - %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element180, %lpad204 ], [ %arrayinit.element206, %lpad218 ], [ %arrayinit.element206, %common.resume.i110 ], [ %arrayinit.endOfInit.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 ] - %cleanup.isactive.13 = phi i1 [ true, %lpad204 ], [ true, %lpad218 ], [ true, %common.resume.i110 ], [ %cleanup.isactive.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit526 ] +ehcleanup831: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559, %lpad218, %common.resume.i118, %lpad204 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %444, %lpad204 ], [ %445, %lpad218 ], [ %13, %common.resume.i118 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559 ] + %arrayinit.endOfInit.12 = phi ptr [ %arrayinit.element180, %lpad204 ], [ %arrayinit.element206, %lpad218 ], [ %arrayinit.element206, %common.resume.i118 ], [ %arrayinit.endOfInit.11, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559 ] + %cleanup.isactive.13 = phi i1 [ true, %lpad204 ], [ true, %lpad218 ], [ true, %common.resume.i118 ], [ %cleanup.isactive.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit559 ] %486 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp182, i64 2 br label %arraydestroy.body833 -arraydestroy.body833: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529, %ehcleanup831 - %arraydestroy.elementPast834 = phi ptr [ %486, %ehcleanup831 ], [ %arraydestroy.element835, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 ] +arraydestroy.body833: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562, %ehcleanup831 + %arraydestroy.elementPast834 = phi ptr [ %486, %ehcleanup831 ], [ %arraydestroy.element835, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562 ] %arraydestroy.element835 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast834, i64 -1 %arraydestroy.element835.val = load ptr, ptr %arraydestroy.element835, align 8 - %tobool.not.i.i.i.i.i.i527 = icmp eq ptr %arraydestroy.element835.val, null - br i1 %tobool.not.i.i.i.i.i.i527, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529, label %if.then.i.i.i.i.i.i528 + %tobool.not.i.i.i.i.i.i560 = icmp eq ptr %arraydestroy.element835.val, null + br i1 %tobool.not.i.i.i.i.i.i560, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562, label %if.then.i.i.i.i.i.i561 -if.then.i.i.i.i.i.i528: ; preds = %arraydestroy.body833 +if.then.i.i.i.i.i.i561: ; preds = %arraydestroy.body833 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element835.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529: ; preds = %arraydestroy.body833, %if.then.i.i.i.i.i.i528 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562: ; preds = %arraydestroy.body833, %if.then.i.i.i.i.i.i561 %arraydestroy.done836 = icmp eq ptr %arraydestroy.element835, %ref.tmp182 br i1 %arraydestroy.done836, label %ehcleanup844, label %arraydestroy.body833 -ehcleanup844: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529, %lpad192, %common.resume.i101, %lpad178 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %442, %lpad178 ], [ %443, %lpad192 ], [ %11, %common.resume.i101 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 ] - %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element154, %lpad178 ], [ %arrayinit.element180, %lpad192 ], [ %arrayinit.element180, %common.resume.i101 ], [ %arrayinit.endOfInit.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 ] - %cleanup.isactive.14 = phi i1 [ true, %lpad178 ], [ true, %lpad192 ], [ true, %common.resume.i101 ], [ %cleanup.isactive.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit529 ] +ehcleanup844: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562, %lpad192, %common.resume.i108, %lpad178 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %442, %lpad178 ], [ %443, %lpad192 ], [ %11, %common.resume.i108 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562 ] + %arrayinit.endOfInit.13 = phi ptr [ %arrayinit.element154, %lpad178 ], [ %arrayinit.element180, %lpad192 ], [ %arrayinit.element180, %common.resume.i108 ], [ %arrayinit.endOfInit.12, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562 ] + %cleanup.isactive.14 = phi i1 [ true, %lpad178 ], [ true, %lpad192 ], [ true, %common.resume.i108 ], [ %cleanup.isactive.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit562 ] %487 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp156, i64 2 br label %arraydestroy.body846 -arraydestroy.body846: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532, %ehcleanup844 - %arraydestroy.elementPast847 = phi ptr [ %487, %ehcleanup844 ], [ %arraydestroy.element848, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 ] +arraydestroy.body846: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565, %ehcleanup844 + %arraydestroy.elementPast847 = phi ptr [ %487, %ehcleanup844 ], [ %arraydestroy.element848, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565 ] %arraydestroy.element848 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast847, i64 -1 %arraydestroy.element848.val = load ptr, ptr %arraydestroy.element848, align 8 - %tobool.not.i.i.i.i.i.i530 = icmp eq ptr %arraydestroy.element848.val, null - br i1 %tobool.not.i.i.i.i.i.i530, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532, label %if.then.i.i.i.i.i.i531 + %tobool.not.i.i.i.i.i.i563 = icmp eq ptr %arraydestroy.element848.val, null + br i1 %tobool.not.i.i.i.i.i.i563, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565, label %if.then.i.i.i.i.i.i564 -if.then.i.i.i.i.i.i531: ; preds = %arraydestroy.body846 +if.then.i.i.i.i.i.i564: ; preds = %arraydestroy.body846 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element848.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532: ; preds = %arraydestroy.body846, %if.then.i.i.i.i.i.i531 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565: ; preds = %arraydestroy.body846, %if.then.i.i.i.i.i.i564 %arraydestroy.done849 = icmp eq ptr %arraydestroy.element848, %ref.tmp156 br i1 %arraydestroy.done849, label %ehcleanup857, label %arraydestroy.body846 -ehcleanup857: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532, %if.then.i.i.i.i.i.i450, %lpad167.body, %lpad167.body.thread, %lpad152 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %439, %lpad152 ], [ %440, %lpad167.body.thread ], [ %441, %lpad167.body ], [ %441, %if.then.i.i.i.i.i.i450 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 ] - %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element128, %lpad152 ], [ %arrayinit.element154, %lpad167.body.thread ], [ %arrayinit.element154, %lpad167.body ], [ %arrayinit.element154, %if.then.i.i.i.i.i.i450 ], [ %arrayinit.endOfInit.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 ] - %cleanup.isactive.15 = phi i1 [ true, %lpad152 ], [ true, %lpad167.body.thread ], [ true, %lpad167.body ], [ true, %if.then.i.i.i.i.i.i450 ], [ %cleanup.isactive.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit532 ] +ehcleanup857: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565, %if.then.i.i.i.i.i.i483, %lpad167.body, %lpad167.body.thread, %lpad152 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %439, %lpad152 ], [ %440, %lpad167.body.thread ], [ %441, %lpad167.body ], [ %441, %if.then.i.i.i.i.i.i483 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565 ] + %arrayinit.endOfInit.14 = phi ptr [ %arrayinit.element128, %lpad152 ], [ %arrayinit.element154, %lpad167.body.thread ], [ %arrayinit.element154, %lpad167.body ], [ %arrayinit.element154, %if.then.i.i.i.i.i.i483 ], [ %arrayinit.endOfInit.13, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565 ] + %cleanup.isactive.15 = phi i1 [ true, %lpad152 ], [ true, %lpad167.body.thread ], [ true, %lpad167.body ], [ true, %if.then.i.i.i.i.i.i483 ], [ %cleanup.isactive.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit565 ] %488 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp130, i64 2 br label %arraydestroy.body859 -arraydestroy.body859: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535, %ehcleanup857 - %arraydestroy.elementPast860 = phi ptr [ %488, %ehcleanup857 ], [ %arraydestroy.element861, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 ] +arraydestroy.body859: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568, %ehcleanup857 + %arraydestroy.elementPast860 = phi ptr [ %488, %ehcleanup857 ], [ %arraydestroy.element861, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568 ] %arraydestroy.element861 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast860, i64 -1 %arraydestroy.element861.val = load ptr, ptr %arraydestroy.element861, align 8 - %tobool.not.i.i.i.i.i.i533 = icmp eq ptr %arraydestroy.element861.val, null - br i1 %tobool.not.i.i.i.i.i.i533, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535, label %if.then.i.i.i.i.i.i534 + %tobool.not.i.i.i.i.i.i566 = icmp eq ptr %arraydestroy.element861.val, null + br i1 %tobool.not.i.i.i.i.i.i566, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568, label %if.then.i.i.i.i.i.i567 -if.then.i.i.i.i.i.i534: ; preds = %arraydestroy.body859 +if.then.i.i.i.i.i.i567: ; preds = %arraydestroy.body859 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element861.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535: ; preds = %arraydestroy.body859, %if.then.i.i.i.i.i.i534 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568: ; preds = %arraydestroy.body859, %if.then.i.i.i.i.i.i567 %arraydestroy.done862 = icmp eq ptr %arraydestroy.element861, %ref.tmp130 br i1 %arraydestroy.done862, label %ehcleanup870, label %arraydestroy.body859 -ehcleanup870: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535, %if.then.i.i.i.i.i.i447, %lpad141.body, %lpad141.body.thread, %lpad126 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %436, %lpad126 ], [ %437, %lpad141.body.thread ], [ %438, %lpad141.body ], [ %438, %if.then.i.i.i.i.i.i447 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 ] - %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element82, %lpad126 ], [ %arrayinit.element128, %lpad141.body.thread ], [ %arrayinit.element128, %lpad141.body ], [ %arrayinit.element128, %if.then.i.i.i.i.i.i447 ], [ %arrayinit.endOfInit.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 ] - %cleanup.isactive.16 = phi i1 [ true, %lpad126 ], [ true, %lpad141.body.thread ], [ true, %lpad141.body ], [ true, %if.then.i.i.i.i.i.i447 ], [ %cleanup.isactive.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit535 ] +ehcleanup870: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568, %if.then.i.i.i.i.i.i480, %lpad141.body, %lpad141.body.thread, %lpad126 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %436, %lpad126 ], [ %437, %lpad141.body.thread ], [ %438, %lpad141.body ], [ %438, %if.then.i.i.i.i.i.i480 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568 ] + %arrayinit.endOfInit.15 = phi ptr [ %arrayinit.element82, %lpad126 ], [ %arrayinit.element128, %lpad141.body.thread ], [ %arrayinit.element128, %lpad141.body ], [ %arrayinit.element128, %if.then.i.i.i.i.i.i480 ], [ %arrayinit.endOfInit.14, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568 ] + %cleanup.isactive.16 = phi i1 [ true, %lpad126 ], [ true, %lpad141.body.thread ], [ true, %lpad141.body ], [ true, %if.then.i.i.i.i.i.i480 ], [ %cleanup.isactive.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit568 ] %489 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp84, i64 3 br label %arraydestroy.body872 -arraydestroy.body872: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538, %ehcleanup870 - %arraydestroy.elementPast873 = phi ptr [ %489, %ehcleanup870 ], [ %arraydestroy.element874, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 ] +arraydestroy.body872: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571, %ehcleanup870 + %arraydestroy.elementPast873 = phi ptr [ %489, %ehcleanup870 ], [ %arraydestroy.element874, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571 ] %arraydestroy.element874 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast873, i64 -1 %arraydestroy.element874.val = load ptr, ptr %arraydestroy.element874, align 8 - %tobool.not.i.i.i.i.i.i536 = icmp eq ptr %arraydestroy.element874.val, null - br i1 %tobool.not.i.i.i.i.i.i536, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538, label %if.then.i.i.i.i.i.i537 + %tobool.not.i.i.i.i.i.i569 = icmp eq ptr %arraydestroy.element874.val, null + br i1 %tobool.not.i.i.i.i.i.i569, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571, label %if.then.i.i.i.i.i.i570 -if.then.i.i.i.i.i.i537: ; preds = %arraydestroy.body872 +if.then.i.i.i.i.i.i570: ; preds = %arraydestroy.body872 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element874.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538: ; preds = %arraydestroy.body872, %if.then.i.i.i.i.i.i537 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571: ; preds = %arraydestroy.body872, %if.then.i.i.i.i.i.i570 %arraydestroy.done875 = icmp eq ptr %arraydestroy.element874, %ref.tmp84 br i1 %arraydestroy.done875, label %ehcleanup883, label %arraydestroy.body872 -ehcleanup883: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538, %lpad95.body, %lpad95.body.thread, %lpad80 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.thr_comm.split-lp, %lpad95.body ], [ %435, %lpad80 ], [ %6, %lpad95.body.thread ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 ], [ %eh.lpad-body58713, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 ] - %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element82, %lpad95.body ], [ %arrayinit.element48, %lpad80 ], [ %arrayinit.element82, %lpad95.body.thread ], [ %arrayinit.endOfInit.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 ], [ %arrayinit.element82, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 ] - %cleanup.isactive.17 = phi i1 [ true, %lpad95.body ], [ true, %lpad80 ], [ true, %lpad95.body.thread ], [ %cleanup.isactive.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit538 ], [ true, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit445 ] +ehcleanup883: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571, %lpad95.body, %lpad95.body.thread, %lpad80 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %lpad.thr_comm.split-lp, %lpad95.body ], [ %435, %lpad80 ], [ %6, %lpad95.body.thread ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571 ], [ %eh.lpad-body61746, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478 ] + %arrayinit.endOfInit.16 = phi ptr [ %arrayinit.element82, %lpad95.body ], [ %arrayinit.element48, %lpad80 ], [ %arrayinit.element82, %lpad95.body.thread ], [ %arrayinit.endOfInit.15, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571 ], [ %arrayinit.element82, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478 ] + %cleanup.isactive.17 = phi i1 [ true, %lpad95.body ], [ true, %lpad80 ], [ true, %lpad95.body.thread ], [ %cleanup.isactive.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit571 ], [ true, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit478 ] %490 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp50, i64 2 br label %arraydestroy.body885 -arraydestroy.body885: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541, %ehcleanup883 - %arraydestroy.elementPast886 = phi ptr [ %490, %ehcleanup883 ], [ %arraydestroy.element887, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 ] +arraydestroy.body885: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574, %ehcleanup883 + %arraydestroy.elementPast886 = phi ptr [ %490, %ehcleanup883 ], [ %arraydestroy.element887, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574 ] %arraydestroy.element887 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast886, i64 -1 %arraydestroy.element887.val = load ptr, ptr %arraydestroy.element887, align 8 - %tobool.not.i.i.i.i.i.i539 = icmp eq ptr %arraydestroy.element887.val, null - br i1 %tobool.not.i.i.i.i.i.i539, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541, label %if.then.i.i.i.i.i.i540 + %tobool.not.i.i.i.i.i.i572 = icmp eq ptr %arraydestroy.element887.val, null + br i1 %tobool.not.i.i.i.i.i.i572, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574, label %if.then.i.i.i.i.i.i573 -if.then.i.i.i.i.i.i540: ; preds = %arraydestroy.body885 +if.then.i.i.i.i.i.i573: ; preds = %arraydestroy.body885 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element887.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541: ; preds = %arraydestroy.body885, %if.then.i.i.i.i.i.i540 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574: ; preds = %arraydestroy.body885, %if.then.i.i.i.i.i.i573 %arraydestroy.done888 = icmp eq ptr %arraydestroy.element887, %ref.tmp50 br i1 %arraydestroy.done888, label %ehcleanup896, label %arraydestroy.body885 -ehcleanup896: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541, %arraydestroy.body72, %if.then.i.i.i.i.i.i441, %lpad60.body.thread705, %lpad60.body.thread, %lpad46 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %433, %lpad46 ], [ %2, %lpad60.body.thread ], [ %1, %lpad60.body.thread705 ], [ %eh.lpad-body38704, %if.then.i.i.i.i.i.i441 ], [ %eh.lpad-body38704, %arraydestroy.body72 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 ] - %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element29, %lpad46 ], [ %arrayinit.element48, %lpad60.body.thread ], [ %arrayinit.element48, %lpad60.body.thread705 ], [ %arrayinit.element48, %if.then.i.i.i.i.i.i441 ], [ %arrayinit.element48, %arraydestroy.body72 ], [ %arrayinit.endOfInit.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 ] - %cleanup.isactive.18 = phi i1 [ true, %lpad46 ], [ true, %lpad60.body.thread ], [ true, %lpad60.body.thread705 ], [ true, %if.then.i.i.i.i.i.i441 ], [ true, %arraydestroy.body72 ], [ %cleanup.isactive.17, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit541 ] +ehcleanup896: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574, %arraydestroy.body72, %if.then.i.i.i.i.i.i474, %lpad60.body.thread738, %lpad60.body.thread, %lpad46 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %433, %lpad46 ], [ %2, %lpad60.body.thread ], [ %1, %lpad60.body.thread738 ], [ %eh.lpad-body39737, %if.then.i.i.i.i.i.i474 ], [ %eh.lpad-body39737, %arraydestroy.body72 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574 ] + %arrayinit.endOfInit.17 = phi ptr [ %arrayinit.element29, %lpad46 ], [ %arrayinit.element48, %lpad60.body.thread ], [ %arrayinit.element48, %lpad60.body.thread738 ], [ %arrayinit.element48, %if.then.i.i.i.i.i.i474 ], [ %arrayinit.element48, %arraydestroy.body72 ], [ %arrayinit.endOfInit.16, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574 ] + %cleanup.isactive.18 = phi i1 [ true, %lpad46 ], [ true, %lpad60.body.thread ], [ true, %lpad60.body.thread738 ], [ true, %if.then.i.i.i.i.i.i474 ], [ true, %arraydestroy.body72 ], [ %cleanup.isactive.17, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit574 ] %arraydestroy.element900.val = load ptr, ptr %ref.tmp31, align 8 - %tobool.not.i.i.i.i.i.i542 = icmp eq ptr %arraydestroy.element900.val, null - br i1 %tobool.not.i.i.i.i.i.i542, label %ehcleanup909, label %if.then.i.i.i.i.i.i543 + %tobool.not.i.i.i.i.i.i575 = icmp eq ptr %arraydestroy.element900.val, null + br i1 %tobool.not.i.i.i.i.i.i575, label %ehcleanup909, label %if.then.i.i.i.i.i.i576 -if.then.i.i.i.i.i.i543: ; preds = %ehcleanup896 +if.then.i.i.i.i.i.i576: ; preds = %ehcleanup896 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element900.val) #31 br label %ehcleanup909 -ehcleanup909: ; preds = %if.then.i.i.i.i.i.i543, %ehcleanup896, %common.resume.i, %lpad27 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %432, %lpad27 ], [ %0, %common.resume.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup896 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i.i.i543 ] - %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element17, %lpad27 ], [ %arrayinit.element29, %common.resume.i ], [ %arrayinit.endOfInit.17, %ehcleanup896 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i.i.i543 ] - %cleanup.isactive.19 = phi i1 [ true, %lpad27 ], [ true, %common.resume.i ], [ %cleanup.isactive.18, %ehcleanup896 ], [ %cleanup.isactive.18, %if.then.i.i.i.i.i.i543 ] +ehcleanup909: ; preds = %if.then.i.i.i.i.i.i576, %ehcleanup896, %common.resume.i, %lpad27 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %432, %lpad27 ], [ %0, %common.resume.i ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %ehcleanup896 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %if.then.i.i.i.i.i.i576 ] + %arrayinit.endOfInit.18 = phi ptr [ %arrayinit.element17, %lpad27 ], [ %arrayinit.element29, %common.resume.i ], [ %arrayinit.endOfInit.17, %ehcleanup896 ], [ %arrayinit.endOfInit.17, %if.then.i.i.i.i.i.i576 ] + %cleanup.isactive.19 = phi i1 [ true, %lpad27 ], [ true, %common.resume.i ], [ %cleanup.isactive.18, %ehcleanup896 ], [ %cleanup.isactive.18, %if.then.i.i.i.i.i.i576 ] %491 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp19, i64 3 br label %arraydestroy.body911 -arraydestroy.body911: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547, %ehcleanup909 - %arraydestroy.elementPast912 = phi ptr [ %491, %ehcleanup909 ], [ %arraydestroy.element913, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 ] +arraydestroy.body911: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580, %ehcleanup909 + %arraydestroy.elementPast912 = phi ptr [ %491, %ehcleanup909 ], [ %arraydestroy.element913, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580 ] %arraydestroy.element913 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast912, i64 -1 %arraydestroy.element913.val = load ptr, ptr %arraydestroy.element913, align 8 - %tobool.not.i.i.i.i.i.i545 = icmp eq ptr %arraydestroy.element913.val, null - br i1 %tobool.not.i.i.i.i.i.i545, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547, label %if.then.i.i.i.i.i.i546 + %tobool.not.i.i.i.i.i.i578 = icmp eq ptr %arraydestroy.element913.val, null + br i1 %tobool.not.i.i.i.i.i.i578, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580, label %if.then.i.i.i.i.i.i579 -if.then.i.i.i.i.i.i546: ; preds = %arraydestroy.body911 +if.then.i.i.i.i.i.i579: ; preds = %arraydestroy.body911 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element913.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547: ; preds = %arraydestroy.body911, %if.then.i.i.i.i.i.i546 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580: ; preds = %arraydestroy.body911, %if.then.i.i.i.i.i.i579 %arraydestroy.done914 = icmp eq ptr %arraydestroy.element913, %ref.tmp19 br i1 %arraydestroy.done914, label %ehcleanup922, label %arraydestroy.body911 -ehcleanup922: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547, %lpad15 - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %431, %lpad15 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 ] - %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element6, %lpad15 ], [ %arrayinit.endOfInit.18, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 ] - %cleanup.isactive.20 = phi i1 [ true, %lpad15 ], [ %cleanup.isactive.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit547 ] +ehcleanup922: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580, %lpad15 + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %431, %lpad15 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580 ] + %arrayinit.endOfInit.19 = phi ptr [ %arrayinit.element6, %lpad15 ], [ %arrayinit.endOfInit.18, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580 ] + %cleanup.isactive.20 = phi i1 [ true, %lpad15 ], [ %cleanup.isactive.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit580 ] %492 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %ref.tmp8, i64 2 br label %arraydestroy.body924 -arraydestroy.body924: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550, %ehcleanup922 - %arraydestroy.elementPast925 = phi ptr [ %492, %ehcleanup922 ], [ %arraydestroy.element926, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 ] +arraydestroy.body924: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583, %ehcleanup922 + %arraydestroy.elementPast925 = phi ptr [ %492, %ehcleanup922 ], [ %arraydestroy.element926, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583 ] %arraydestroy.element926 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.667", ptr %arraydestroy.elementPast925, i64 -1 %arraydestroy.element926.val = load ptr, ptr %arraydestroy.element926, align 8 - %tobool.not.i.i.i.i.i.i548 = icmp eq ptr %arraydestroy.element926.val, null - br i1 %tobool.not.i.i.i.i.i.i548, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550, label %if.then.i.i.i.i.i.i549 + %tobool.not.i.i.i.i.i.i581 = icmp eq ptr %arraydestroy.element926.val, null + br i1 %tobool.not.i.i.i.i.i.i581, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583, label %if.then.i.i.i.i.i.i582 -if.then.i.i.i.i.i.i549: ; preds = %arraydestroy.body924 +if.then.i.i.i.i.i.i582: ; preds = %arraydestroy.body924 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element926.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550: ; preds = %arraydestroy.body924, %if.then.i.i.i.i.i.i549 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583: ; preds = %arraydestroy.body924, %if.then.i.i.i.i.i.i582 %arraydestroy.done927 = icmp eq ptr %arraydestroy.element926, %ref.tmp8 br i1 %arraydestroy.done927, label %ehcleanup935, label %arraydestroy.body924 -ehcleanup935: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550, %lpad - %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %430, %lpad ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 ] - %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %lpad ], [ %arrayinit.endOfInit.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 ] - %cleanup.isactive.21 = phi i1 [ true, %lpad ], [ %cleanup.isactive.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit550 ] +ehcleanup935: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583, %lpad + %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %430, %lpad ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583 ] + %arrayinit.endOfInit.20 = phi ptr [ %arrayinit.element, %lpad ], [ %arrayinit.endOfInit.19, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583 ] + %cleanup.isactive.21 = phi i1 [ true, %lpad ], [ %cleanup.isactive.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit583 ] %arraydestroy.element939.val = load ptr, ptr %ref.tmp3, align 8 - %tobool.not.i.i.i.i.i.i551 = icmp eq ptr %arraydestroy.element939.val, null - br i1 %tobool.not.i.i.i.i.i.i551, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553, label %if.then.i.i.i.i.i.i552 + %tobool.not.i.i.i.i.i.i584 = icmp eq ptr %arraydestroy.element939.val, null + br i1 %tobool.not.i.i.i.i.i.i584, label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit586, label %if.then.i.i.i.i.i.i585 -if.then.i.i.i.i.i.i552: ; preds = %ehcleanup935 +if.then.i.i.i.i.i.i585: ; preds = %ehcleanup935 call void @_ZdlPv(ptr noundef nonnull %arraydestroy.element939.val) #31 - br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553 + br label %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit586 -_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553: ; preds = %ehcleanup935, %if.then.i.i.i.i.i.i552 +_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit586: ; preds = %ehcleanup935, %if.then.i.i.i.i.i.i585 %arraydestroy.isempty943 = icmp ne ptr %ref.tmp, %arrayinit.endOfInit.20 %or.cond.not = select i1 %cleanup.isactive.21, i1 %arraydestroy.isempty943, i1 false br i1 %or.cond.not, label %arraydestroy.body944, label %eh.resume -arraydestroy.body944: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553, %arraydestroy.body944 - %arraydestroy.elementPast945 = phi ptr [ %arraydestroy.element946, %arraydestroy.body944 ], [ %arrayinit.endOfInit.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553 ] +arraydestroy.body944: ; preds = %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit586, %arraydestroy.body944 + %arraydestroy.elementPast945 = phi ptr [ %arraydestroy.element946, %arraydestroy.body944 ], [ %arrayinit.endOfInit.20, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit586 ] %arraydestroy.element946 = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %arraydestroy.elementPast945, i64 -1 call fastcc void @_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS1_INS3_IiEEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %arraydestroy.element946) #28 %arraydestroy.done947 = icmp eq ptr %arraydestroy.element946, %ref.tmp @@ -221382,25 +221385,25 @@ ehcleanup964: ; preds = %lpad961, %lpad959 ehcleanup965: ; preds = %ehcleanup964, %lpad956 %.pn23.pn = phi { ptr, i32 } [ %.pn23, %ehcleanup964 ], [ %496, %lpad956 ] %499 = load ptr, ptr %ref.tmp951, align 8 - %cmp.not.i.i554 = icmp eq ptr %499, null - br i1 %cmp.not.i.i554, label %_ZN7testing7MessageD2Ev.exit558, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i555 + %cmp.not.i.i587 = icmp eq ptr %499, null + br i1 %cmp.not.i.i587, label %_ZN7testing7MessageD2Ev.exit591, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i588 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i555: ; preds = %ehcleanup965 - %vtable.i.i.i556 = load ptr, ptr %499, align 8 - %vfn.i.i.i557 = getelementptr inbounds ptr, ptr %vtable.i.i.i556, i64 1 - %500 = load ptr, ptr %vfn.i.i.i557, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i588: ; preds = %ehcleanup965 + %vtable.i.i.i589 = load ptr, ptr %499, align 8 + %vfn.i.i.i590 = getelementptr inbounds ptr, ptr %vtable.i.i.i589, i64 1 + %500 = load ptr, ptr %vfn.i.i.i590, align 8 call void %500(ptr noundef nonnull align 8 dereferenceable(128) %499) #28 - br label %_ZN7testing7MessageD2Ev.exit558 + br label %_ZN7testing7MessageD2Ev.exit591 -_ZN7testing7MessageD2Ev.exit558: ; preds = %ehcleanup965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i555 +_ZN7testing7MessageD2Ev.exit591: ; preds = %ehcleanup965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i588 store ptr null, ptr %ref.tmp951, align 8 br label %ehcleanup966 if.end: ; preds = %invoke.cont950, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 %501 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i559 = icmp eq ptr %501, null - br i1 %cmp.not.i.i559, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i592 = icmp eq ptr %501, null + br i1 %cmp.not.i.i592, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %501) #28 @@ -221412,7 +221415,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %502 = load ptr, ptr %exemplars, align 8 %503 = load ptr, ptr %_M_finish.i.i, align 8 %cmp.not3.i.i.i.i = icmp eq ptr %502, %503 - br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i561, label %for.body.i.i.i.i + br i1 %cmp.not3.i.i.i.i, label %invoke.cont.i594, label %for.body.i.i.i.i for.body.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEEEvPT_.exit.i.i.i.i %__first.addr.04.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEEEvPT_.exit.i.i.i.i ], [ %502, %_ZN7testing15AssertionResultD2Ev.exit ] @@ -221452,32 +221455,32 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i _ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEEEvPT_.exit.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i, %invoke.cont.i.i.i.i.i.i.i.i.i %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.absl::hash_test_internal::TypeErasedContainer.1769", ptr %__first.addr.04.i.i.i.i, i64 1 - %cmp.not.i.i.i.i560 = icmp eq ptr %incdec.ptr.i.i.i.i, %503 - br i1 %cmp.not.i.i.i.i560, label %invoke.cont.i561, label %for.body.i.i.i.i, !llvm.loop !5077 + %cmp.not.i.i.i.i593 = icmp eq ptr %incdec.ptr.i.i.i.i, %503 + br i1 %cmp.not.i.i.i.i593, label %invoke.cont.i594, label %for.body.i.i.i.i, !llvm.loop !5077 -invoke.cont.i561: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit - %tobool.not.i.i.i562 = icmp eq ptr %502, null - br i1 %tobool.not.i.i.i562, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEESaIS8_EED2Ev.exit, label %if.then.i.i.i563 +invoke.cont.i594: ; preds = %_ZSt8_DestroyIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEEEvPT_.exit.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit + %tobool.not.i.i.i595 = icmp eq ptr %502, null + br i1 %tobool.not.i.i.i595, label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEESaIS8_EED2Ev.exit, label %if.then.i.i.i596 -if.then.i.i.i563: ; preds = %invoke.cont.i561 +if.then.i.i.i596: ; preds = %invoke.cont.i594 call void @_ZdlPv(ptr noundef nonnull %502) #31 br label %_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEESaIS8_EED2Ev.exit -_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i561, %if.then.i.i.i563 +_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEESaIS8_EED2Ev.exit: ; preds = %invoke.cont.i594, %if.then.i.i.i596 ret void -ehcleanup966: ; preds = %_ZN7testing7MessageD2Ev.exit558, %lpad952 - %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit558 ], [ %495, %lpad952 ] +ehcleanup966: ; preds = %_ZN7testing7MessageD2Ev.exit591, %lpad952 + %.pn23.pn.pn = phi { ptr, i32 } [ %.pn23.pn, %_ZN7testing7MessageD2Ev.exit591 ], [ %495, %lpad952 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup967 -ehcleanup967: ; preds = %if.then.i.i.i43.i, %lpad.body.i425, %if.then.i.i.i.i.i, %lpad.i.i, %ehcleanup966 - %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup966 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i ], [ %.pn46.pn.i.i, %lpad.body.i425 ], [ %.pn46.pn.i.i, %if.then.i.i.i43.i ] +ehcleanup967: ; preds = %if.then.i.i.i44.i, %lpad.body.i458, %if.then.i.i.i.i.i, %lpad.i.i, %ehcleanup966 + %.pn23.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn, %ehcleanup966 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i ], [ %.pn46.pn.i.i, %lpad.body.i458 ], [ %.pn46.pn.i.i, %if.then.i.i.i44.i ] call fastcc void @_ZNSt6vectorIN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceINS2_INS4_IiEEEEEEEESaIS8_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume -eh.resume: ; preds = %arraydestroy.body944, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553, %ehcleanup967 - %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup967 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit553 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body944 ] +eh.resume: ; preds = %arraydestroy.body944, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit586, %ehcleanup967 + %.pn23.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn23.pn.pn.pn, %ehcleanup967 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZN4absl18hash_test_internal19TypeErasedContainerIN12_GLOBAL__N_117UnorderedSequenceIiEEED2Ev.exit586 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %arraydestroy.body944 ] resume { ptr, i32 } %.pn23.pn.pn.pn.pn } @@ -223954,8 +223957,7 @@ invoke.cont14.i: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 5 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp, ptr %add.ptr.i.i.i, ptr %20, ptr %19) to label %invoke.cont30.i unwind label %lpad.i, !noalias !5192 @@ -228602,23 +228604,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0977, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0978, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1919, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1919, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1919, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -228626,7 +228629,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, %if.then.i.i - %23 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] + %23 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] %inc = add i64 %i.0978, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %24 = load ptr, ptr %23, align 8, !noalias !5235 @@ -241180,23 +241183,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0982, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0983, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSB_EEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %28, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSB_EEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2012, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSB_EEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2012, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %28, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %28) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2012, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -241204,7 +241208,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, %if.then.i.i - %29 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i ], [ %27, %if.then.i.i ] + %29 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt13unordered_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i ], [ %27, %if.then.i.i ] %inc = add i64 %i.0983, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %30 = load ptr, ptr %29, align 8, !noalias !5490 @@ -246750,8 +246754,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %20, ptr %19) to label %invoke.cont30 unwind label %lpad @@ -249079,7 +249082,7 @@ invoke.cont205: ; preds = %.noexc62 call5.i.i.i.i.noexc: ; preds = %invoke.cont205 store ptr %call5.i.i.i.i105, ptr %exemplars, align 8 - %add.ptr.i = getelementptr inbounds %"class.absl::flat_hash_map", ptr %call5.i.i.i.i105, i64 10 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i105, i64 320 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i101 @@ -250688,23 +250691,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0974, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0975, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSB_EEEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %15, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSB_EEEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2104, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSB_EEEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2104, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %15, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %15) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2104, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -250712,7 +250716,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, %if.then.i.i - %16 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i ], [ %14, %if.then.i.i ] + %16 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13flat_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i ], [ %14, %if.then.i.i ] %inc = add i64 %i.0975, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %17 = load ptr, ptr %16, align 8, !noalias !5758 @@ -256481,8 +256485,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %20 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %21, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %21, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %19, ptr %18) to label %invoke.cont30 unwind label %lpad @@ -259069,7 +259072,7 @@ invoke.cont205: ; preds = %.noexc.i.i.i.i139 call5.i.i.i.i.noexc: ; preds = %invoke.cont205 store ptr %call5.i.i.i.i187, ptr %exemplars, align 8 - %add.ptr.i = getelementptr inbounds %"class.absl::node_hash_map", ptr %call5.i.i.i.i187, i64 10 + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i187, i64 320 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i182 @@ -260614,23 +260617,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0974, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0975, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSB_EEEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %15, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSB_EEEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2183, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSB_EEEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2183, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %15, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %15) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2183, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -260638,7 +260642,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, %if.then.i.i - %16 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i ], [ %14, %if.then.i.i ] + %16 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13node_hash_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_4HashIiEESt8equal_toIiESaISt4pairIKiSA_EEEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i ], [ %14, %if.then.i.i ] %inc = add i64 %i.0975, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %17 = load ptr, ptr %16, align 8, !noalias !6170 @@ -266411,8 +266415,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %20 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %21, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %21, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %19, ptr %18) to label %invoke.cont30 unwind label %lpad @@ -271691,8 +271694,8 @@ entry: %0 = load ptr, ptr %values, align 8 %_M_finish.i = getelementptr inbounds %"struct.std::_Vector_base> *>, std::allocator> *>>>::_Vector_impl_data", ptr %values, i64 0, i32 1 %1 = load ptr, ptr %_M_finish.i, align 8 - %cmp.i.not983 = icmp eq ptr %0, %1 - br i1 %cmp.i.not983, label %if.then48, label %for.body.lr.ph + %cmp.i.not984 = icmp eq ptr %0, %1 + br i1 %cmp.i.not984, label %if.then48, label %for.body.lr.ph for.body.lr.ph: ; preds = %entry %_M_finish.i50 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2250", ptr %classes, i64 0, i32 1 @@ -271705,23 +271708,23 @@ for.body.lr.ph: ; preds = %entry br label %for.body for.cond: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit - %incdec.ptr.i80 = getelementptr inbounds %"class.std::variant.2252", ptr %__begin0.sroa.0.0984, i64 1 + %incdec.ptr.i80 = getelementptr inbounds %"class.std::variant.2252", ptr %__begin0.sroa.0.0985, i64 1 %cmp.i.not = icmp eq ptr %incdec.ptr.i80, %1 br i1 %cmp.i.not, label %for.end45, label %for.body for.body: ; preds = %for.body.lr.ph, %for.cond - %i.0985 = phi i64 [ 0, %for.body.lr.ph ], [ %inc, %for.cond ] - %__begin0.sroa.0.0984 = phi ptr [ %0, %for.body.lr.ph ], [ %incdec.ptr.i80, %for.cond ] + %i.0986 = phi i64 [ 0, %for.body.lr.ph ], [ %inc, %for.cond ] + %__begin0.sroa.0.0985 = phi ptr [ %0, %for.body.lr.ph ], [ %incdec.ptr.i80, %for.cond ] %2 = load ptr, ptr %classes, align 8 %3 = load ptr, ptr %_M_finish.i50, align 8 - %cmp.i51.not980 = icmp eq ptr %2, %3 - br i1 %cmp.i51.not980, label %if.then19, label %for.body13 + %cmp.i51.not981 = icmp eq ptr %2, %3 + br i1 %cmp.i51.not981, label %if.then19, label %for.body13 for.body13: ; preds = %for.body, %for.inc - %__begin05.sroa.0.0981 = phi ptr [ %incdec.ptr.i, %for.inc ], [ %2, %for.body ] - %4 = load ptr, ptr %__begin05.sroa.0.0981, align 8 + %__begin05.sroa.0.0982 = phi ptr [ %incdec.ptr.i, %for.inc ], [ %2, %for.body ] + %4 = load ptr, ptr %__begin05.sroa.0.0982, align 8 %5 = load ptr, ptr %4, align 8 - %6 = load ptr, ptr %__begin0.sroa.0.0984, align 8 + %6 = load ptr, ptr %__begin0.sroa.0.0985, align 8 %7 = load ptr, ptr %5, align 8 %size_.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.absl::container_internal::btree.2218", ptr %6, i64 0, i32 2 %8 = load i64, ptr %size_.i.i.i.i.i.i.i.i.i.i, align 8 @@ -271755,8 +271758,8 @@ for.body.i: ; preds = %for.body.i.preheade %__first1.sroa.0.075.i = phi ptr [ %__first1.sroa.0.2.i, %_ZN4absl18container_internal14btree_iteratorIKNS0_10btree_nodeINS0_10map_paramsIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EELi256ELb0EEEEERKSE_PSJ_EppEv.exit48.i ], [ %11, %for.body.i.preheader ] %16 = and i32 %__first1.sroa.8.076.i, 255 %conv6.i.i = zext nneg i32 %16 to i64 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__first1.sroa.0.075.i, i64 16 - %arrayidx.i.i.i.i = getelementptr inbounds %"union.absl::container_internal::map_slot_type", ptr %add.ptr.i.i.i.i.i.i, i64 %conv6.i.i + %add.ptr.i.i.i.i.i.i916 = getelementptr inbounds i8, ptr %__first1.sroa.0.075.i, i64 16 + %arrayidx.i.i.i.i = getelementptr inbounds %"union.absl::container_internal::map_slot_type", ptr %add.ptr.i.i.i.i.i.i916, i64 %conv6.i.i %17 = and i32 %__first2.sroa.7.077.i, 255 %conv6.i2.i = zext nneg i32 %17 to i64 %add.ptr.i.i.i.i.i3.i = getelementptr inbounds i8, ptr %__first2.sroa.0.078.i, i64 16 @@ -271778,8 +271781,8 @@ land.rhs.i.i.i: ; preds = %land.rhs.i.i %call2.i.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %second.i.i) #28 %call3.i.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %second2.i.i) #28 %call4.i.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %second.i.i) #28 - %cmp.i.i.i.i916 = icmp eq i64 %call4.i.i.i, 0 - br i1 %cmp.i.i.i.i916, label %for.inc.i, label %_ZSteqIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEbRKSt4pairIT_T0_ESC_.exit.i + %cmp.i.i.i.i917 = icmp eq i64 %call4.i.i.i, 0 + br i1 %cmp.i.i.i.i917, label %for.inc.i, label %_ZSteqIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEbRKSt4pairIT_T0_ESC_.exit.i _ZSteqIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEbRKSt4pairIT_T0_ESC_.exit.i: ; preds = %land.rhs.i.i.i %bcmp.i.i.i = call i32 @bcmp(ptr %call2.i.i.i, ptr %call3.i.i.i, i64 %call4.i.i.i) @@ -271898,23 +271901,23 @@ _ZN4absl18container_internal14btree_iteratorIKNS0_10btree_nodeINS0_10map_paramsI %.not.i.not.i = select i1 %cmp.i.i.i, i1 %cmp6.i.i.i, i1 false br i1 %.not.i.not.i, label %if.end23, label %for.body.i, !llvm.loop !6461 -lpad.loopexit941: ; preds = %for.body66 - %lpad.loopexit942 = landingpad { ptr, i32 } +lpad.loopexit942: ; preds = %for.body66 + %lpad.loopexit943 = landingpad { ptr, i32 } cleanup br label %ehcleanup258 lpad.loopexit.split-lp.loopexit: ; preds = %invoke.cont26, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSW_m.exit.i.i.i.i, %if.else.i - %lpad.loopexit948 = landingpad { ptr, i32 } + %lpad.loopexit949 = landingpad { ptr, i32 } cleanup br label %ehcleanup258 lpad.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i.i.i, %for.end255, %if.then48 - %lpad.loopexit.split-lp949 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp950 = landingpad { ptr, i32 } cleanup br label %ehcleanup258 for.inc: ; preds = %land.rhs.i.i, %for.body.i, %_ZSteqIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEbRKSt4pairIT_T0_ESC_.exit.i, %for.body13 - %incdec.ptr.i = getelementptr inbounds %"class.std::vector.2272", ptr %__begin05.sroa.0.0981, i64 1 + %incdec.ptr.i = getelementptr inbounds %"class.std::vector.2272", ptr %__begin05.sroa.0.0982, i64 1 %cmp.i51.not = icmp eq ptr %incdec.ptr.i, %3 br i1 %cmp.i51.not, label %if.then19.loopexit, label %for.body13 @@ -271940,16 +271943,16 @@ if.else.i: ; preds = %if.then19 to label %if.else.i.invoke.cont20_crit_edge unwind label %lpad.loopexit.split-lp.loopexit if.else.i.invoke.cont20_crit_edge: ; preds = %if.else.i - %.pre1024 = load ptr, ptr %_M_finish.i50, align 8 + %.pre1025 = load ptr, ptr %_M_finish.i50, align 8 br label %invoke.cont20 invoke.cont20: ; preds = %if.else.i.invoke.cont20_crit_edge, %if.then.i - %44 = phi ptr [ %.pre1024, %if.else.i.invoke.cont20_crit_edge ], [ %incdec.ptr.i54, %if.then.i ] + %44 = phi ptr [ %.pre1025, %if.else.i.invoke.cont20_crit_edge ], [ %incdec.ptr.i54, %if.then.i ] %add.ptr.i.i = getelementptr inbounds %"class.std::vector.2272", ptr %44, i64 -1 br label %if.end23 if.end23: ; preds = %if.end.i.i.i.i.i.i.i.i, %_ZN4absl18container_internal14btree_iteratorIKNS0_10btree_nodeINS0_10map_paramsIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EELi256ELb0EEEEERKSE_PSJ_EppEv.exit48.i, %invoke.cont20 - %c.1 = phi ptr [ %add.ptr.i.i, %invoke.cont20 ], [ %__begin05.sroa.0.0981, %_ZN4absl18container_internal14btree_iteratorIKNS0_10btree_nodeINS0_10map_paramsIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EELi256ELb0EEEEERKSE_PSJ_EppEv.exit48.i ], [ %__begin05.sroa.0.0981, %if.end.i.i.i.i.i.i.i.i ] + %c.1 = phi ptr [ %add.ptr.i.i, %invoke.cont20 ], [ %__begin05.sroa.0.0982, %_ZN4absl18container_internal14btree_iteratorIKNS0_10btree_nodeINS0_10map_paramsIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EELi256ELb0EEEEERKSE_PSJ_EppEv.exit48.i ], [ %__begin05.sroa.0.0982, %if.end.i.i.i.i.i.i.i.i ] %_M_finish.i.i55 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.2278", ptr %c.1, i64 0, i32 1 %45 = load ptr, ptr %_M_finish.i.i55, align 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.2278", ptr %c.1, i64 0, i32 2 @@ -271958,9 +271961,9 @@ if.end23: ; preds = %if.end.i.i.i.i.i.i. br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %if.end23 - store ptr %__begin0.sroa.0.0984, ptr %45, align 8 + store ptr %__begin0.sroa.0.0985, ptr %45, align 8 %ref.tmp24.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %45, i64 8 - store i64 %i.0985, ptr %ref.tmp24.sroa.3.0..sroa_idx, align 8 + store i64 %i.0986, ptr %ref.tmp24.sroa.3.0..sroa_idx, align 8 %47 = load ptr, ptr %_M_finish.i.i55, align 8 %incdec.ptr.i.i = getelementptr inbounds %struct.Info.2279, ptr %47, i64 1 store ptr %incdec.ptr.i.i, ptr %_M_finish.i.i55, align 8 @@ -272000,26 +272003,27 @@ _ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashC _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSW_m.exit.i.i.i.i, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE12_M_check_lenEmPKc.exit.i.i.i %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i58, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSW_m.exit.i.i.i.i ] %add.ptr.i.i.i56 = getelementptr inbounds %struct.Info.2279, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i - store ptr %__begin0.sroa.0.0984, ptr %add.ptr.i.i.i56, align 8 + store ptr %__begin0.sroa.0.0985, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 - store i64 %i.0985, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i + store i64 %i.0986, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %48, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2279, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2279, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %48, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %48) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2279, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -272027,8 +272031,8 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, %if.then.i.i - %49 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i ], [ %47, %if.then.i.i ] - %inc = add i64 %i.0985, 1 + %49 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i ], [ %47, %if.then.i.i ] + %inc = add i64 %i.0986, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %50 = load ptr, ptr %49, align 8, !noalias !6462 %51 = load ptr, ptr %50, align 8, !noalias !6465 @@ -272276,19 +272280,19 @@ if.then.i.i.i.i83: ; preds = %ehcleanup br label %ehcleanup258 for.end45: ; preds = %for.cond - %.pre1025 = load ptr, ptr %_M_finish.i50, align 8 - %.pre1026 = load ptr, ptr %classes, align 8 + %.pre1026 = load ptr, ptr %_M_finish.i50, align 8 + %.pre1027 = load ptr, ptr %classes, align 8 %_M_finish.i85 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2250", ptr %classes, i64 0, i32 1 - %sub.ptr.lhs.cast.i = ptrtoint ptr %.pre1025 to i64 - %sub.ptr.rhs.cast.i = ptrtoint ptr %.pre1026 to i64 + %sub.ptr.lhs.cast.i = ptrtoint ptr %.pre1026 to i64 + %sub.ptr.rhs.cast.i = ptrtoint ptr %.pre1027 to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = sdiv exact i64 %sub.ptr.sub.i, 24 %cmp47 = icmp ult i64 %sub.ptr.div.i, 2 br i1 %cmp47, label %if.then48, label %for.cond64.preheader for.cond64.preheader: ; preds = %for.end45 - %cmp.i108.not990 = icmp eq ptr %.pre1026, %.pre1025 - br i1 %cmp.i108.not990, label %for.end255, label %for.body66.lr.ph + %cmp.i108.not991 = icmp eq ptr %.pre1027, %.pre1026 + br i1 %cmp.i108.not991, label %for.end255, label %for.body66.lr.ph for.body66.lr.ph: ; preds = %for.cond64.preheader %_M_refcount.i.i.i121 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85, i64 0, i32 1, i32 0, i32 1 @@ -272379,26 +272383,26 @@ lpad51.body: ; preds = %lpad.i89, %_ZNKSt14 br label %ehcleanup258 for.body66: ; preds = %for.body66.lr.ph, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit866 - %__begin058.sroa.0.0991 = phi ptr [ %.pre1026, %for.body66.lr.ph ], [ %incdec.ptr.i867, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit866 ] - %95 = load ptr, ptr %__begin058.sroa.0.0991, align 8 + %__begin058.sroa.0.0992 = phi ptr [ %.pre1027, %for.body66.lr.ph ], [ %incdec.ptr.i867, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit866 ] + %95 = load ptr, ptr %__begin058.sroa.0.0992, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i109) %96 = load ptr, ptr %95, align 8, !noalias !6479 %97 = load ptr, ptr %96, align 8, !noalias !6482 invoke void @_ZNK4absl13hash_internal13ExpandVisitorclINS_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EEEEEENS0_16SpyHashStateImplIvEEPKT_(ptr nonnull sret(%"class.absl::hash_internal::SpyHashStateImpl") align 8 %expected, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i109, ptr noundef %97) - to label %invoke.cont70 unwind label %lpad.loopexit941 + to label %invoke.cont70 unwind label %lpad.loopexit942 invoke.cont70: ; preds = %for.body66 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i109) - %98 = load ptr, ptr %__begin058.sroa.0.0991, align 8 - %_M_finish.i112 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.2278", ptr %__begin058.sroa.0.0991, i64 0, i32 1 + %98 = load ptr, ptr %__begin058.sroa.0.0992, align 8 + %_M_finish.i112 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.2278", ptr %__begin058.sroa.0.0992, i64 0, i32 1 %99 = load ptr, ptr %_M_finish.i112, align 8 - %cmp.i113.not986 = icmp eq ptr %98, %99 - br i1 %cmp.i113.not986, label %for.end144, label %for.body80 + %cmp.i113.not987 = icmp eq ptr %98, %99 + br i1 %cmp.i113.not987, label %for.end144, label %for.body80 for.body80: ; preds = %invoke.cont70, %for.inc142 - %__begin072.sroa.0.0987 = phi ptr [ %incdec.ptr.i419, %for.inc142 ], [ %98, %invoke.cont70 ] + %__begin072.sroa.0.0988 = phi ptr [ %incdec.ptr.i419, %for.inc142 ], [ %98, %invoke.cont70 ] call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i114) - %100 = load ptr, ptr %__begin072.sroa.0.0987, align 8, !noalias !6493 + %100 = load ptr, ptr %__begin072.sroa.0.0988, align 8, !noalias !6493 %101 = load ptr, ptr %100, align 8, !noalias !6496 invoke void @_ZNK4absl13hash_internal13ExpandVisitorclINS_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EEEEEENS0_16SpyHashStateImplIvEEPKT_(ptr nonnull sret(%"class.absl::hash_internal::SpyHashStateImpl") align 8 %ref.tmp82, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i114, ptr noundef %101) to label %invoke.cont84 unwind label %lpad83.loopexit.split-lp.loopexit @@ -272406,7 +272410,7 @@ for.body80: ; preds = %invoke.cont70, %for invoke.cont84: ; preds = %for.body80 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp.i114) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i117) - %102 = load ptr, ptr %__begin072.sroa.0.0987, align 8, !noalias !6507 + %102 = load ptr, ptr %__begin072.sroa.0.0988, align 8, !noalias !6507 %103 = load ptr, ptr %102, align 8, !noalias !6510 invoke void @_ZNK4absl13hash_internal13ExpandVisitorclINS_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EEEEEENS0_16SpyHashStateImplIvEEPKT_(ptr nonnull sret(%"class.absl::hash_internal::SpyHashStateImpl") align 8 %ref.tmp85, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i117, ptr noundef %103) to label %invoke.cont87 unwind label %lpad86 @@ -272665,10 +272669,10 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont97: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i221, %invoke.cont2.i219 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i209) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i226) - %index2.i = getelementptr inbounds %struct.Info.2279, ptr %__begin072.sroa.0.0987, i64 0, i32 1 + %index2.i = getelementptr inbounds %struct.Info.2279, ptr %__begin072.sroa.0.0988, i64 0, i32 1 %138 = load i64, ptr %index2.i, align 8, !noalias !6521 store i64 %138, ptr %ref.tmp.i226, align 8, !noalias !6521 - %139 = load ptr, ptr %__begin072.sroa.0.0987, align 8, !noalias !6521 + %139 = load ptr, ptr %__begin072.sroa.0.0988, align 8, !noalias !6521 %140 = load ptr, ptr %139, align 8, !noalias !6524 invoke void @_ZNK4absl13hash_internal12PrintVisitorclINS_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EEEEEES9_PKT_(ptr nonnull sret(%"class.std::__cxx11::basic_string") align 8 %ref.tmp99, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i226, ptr noundef %140) to label %invoke.cont100 unwind label %lpad96 @@ -272784,12 +272788,12 @@ lpad83.loopexit: ; preds = %if.end158 br label %ehcleanup252 lpad83.loopexit.split-lp.loopexit: ; preds = %if.end109, %for.body80 - %lpad.loopexit938 = landingpad { ptr, i32 } + %lpad.loopexit939 = landingpad { ptr, i32 } cleanup br label %ehcleanup252 lpad83.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then116, %if.then93 - %lpad.loopexit.split-lp939 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp940 = landingpad { ptr, i32 } cleanup br label %ehcleanup252 @@ -272831,7 +272835,7 @@ ehcleanup108: ; preds = %lpad96, %_ZNKSt14de if.end109: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit208 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i268) - %158 = load ptr, ptr %__begin072.sroa.0.0987, align 8, !noalias !6535 + %158 = load ptr, ptr %__begin072.sroa.0.0988, align 8, !noalias !6535 %159 = load ptr, ptr %158, align 8, !noalias !6538 invoke void @_ZNK4absl13hash_internal13ExpandVisitorclINS_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EEEEEENS0_16SpyHashStateImplIvEEPKT_(ptr nonnull sret(%"class.absl::hash_internal::SpyHashStateImpl") align 8 %ref.tmp110, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp.i268, ptr noundef %159) to label %invoke.cont111 unwind label %lpad83.loopexit.split-lp.loopexit @@ -272990,7 +272994,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont120: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i330, %invoke.cont2.i328 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i318) - %180 = load ptr, ptr %__begin058.sroa.0.0991, align 8 + %180 = load ptr, ptr %__begin058.sroa.0.0992, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i335) %index2.i336 = getelementptr inbounds %struct.Info.2279, ptr %180, i64 0, i32 1 %181 = load i64, ptr %index2.i336, align 8, !noalias !6549 @@ -273087,10 +273091,10 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont128: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i369, %invoke.cont2.i367 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i357) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i375) - %index2.i376 = getelementptr inbounds %struct.Info.2279, ptr %__begin072.sroa.0.0987, i64 0, i32 1 + %index2.i376 = getelementptr inbounds %struct.Info.2279, ptr %__begin072.sroa.0.0988, i64 0, i32 1 %196 = load i64, ptr %index2.i376, align 8, !noalias !6563 store i64 %196, ptr %ref.tmp.i375, align 8, !noalias !6563 - %197 = load ptr, ptr %__begin072.sroa.0.0987, align 8, !noalias !6563 + %197 = load ptr, ptr %__begin072.sroa.0.0988, align 8, !noalias !6563 %198 = load ptr, ptr %197, align 8, !noalias !6566 invoke void @_ZNK4absl13hash_internal12PrintVisitorclINS_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS9_EEEEEES9_PKT_(ptr nonnull sret(%"class.std::__cxx11::basic_string") align 8 %ref.tmp130, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i375, ptr noundef %198) to label %invoke.cont131 unwind label %lpad125 @@ -273238,23 +273242,23 @@ ehcleanup140: ; preds = %lpad119, %_ZNKSt14d br label %ehcleanup252 for.inc142: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit317 - %incdec.ptr.i419 = getelementptr inbounds %struct.Info.2279, ptr %__begin072.sroa.0.0987, i64 1 + %incdec.ptr.i419 = getelementptr inbounds %struct.Info.2279, ptr %__begin072.sroa.0.0988, i64 1 %cmp.i113.not = icmp eq ptr %incdec.ptr.i419, %99 br i1 %cmp.i113.not, label %for.end144, label %for.body80 for.end144: ; preds = %for.inc142, %invoke.cont70 %216 = load ptr, ptr %classes, align 8 %217 = load ptr, ptr %_M_finish.i85, align 8 - %cmp.i421.not988 = icmp eq ptr %216, %217 - br i1 %cmp.i421.not988, label %cleanup249, label %for.body154 + %cmp.i421.not989 = icmp eq ptr %216, %217 + br i1 %cmp.i421.not989, label %cleanup249, label %for.body154 for.body154: ; preds = %for.end144, %for.inc246 - %__begin0146.sroa.0.0989 = phi ptr [ %incdec.ptr.i778, %for.inc246 ], [ %216, %for.end144 ] - %cmp156 = icmp eq ptr %__begin058.sroa.0.0991, %__begin0146.sroa.0.0989 + %__begin0146.sroa.0.0990 = phi ptr [ %incdec.ptr.i778, %for.inc246 ], [ %216, %for.end144 ] + %cmp156 = icmp eq ptr %__begin058.sroa.0.0992, %__begin0146.sroa.0.0990 br i1 %cmp156, label %for.inc246, label %if.end158 if.end158: ; preds = %for.body154 - %218 = load ptr, ptr %__begin0146.sroa.0.0989, align 8 + %218 = load ptr, ptr %__begin0146.sroa.0.0990, align 8 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i422) %219 = load ptr, ptr %218, align 8, !noalias !6577 %220 = load ptr, ptr %219, align 8, !noalias !6580 @@ -273274,12 +273278,12 @@ invoke.cont162: ; preds = %invoke.cont160 ] lpad161.loopexit: ; preds = %invoke.cont160 - %lpad.loopexit935 = landingpad { ptr, i32 } + %lpad.loopexit936 = landingpad { ptr, i32 } cleanup br label %ehcleanup245 lpad161.loopexit.split-lp: ; preds = %sw.bb, %sw.bb189, %sw.bb215 - %lpad.loopexit.split-lp936 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp937 = landingpad { ptr, i32 } cleanup br label %ehcleanup245 @@ -273330,7 +273334,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont167: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i437, %invoke.cont2.i435 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i425) - %227 = load ptr, ptr %__begin058.sroa.0.0991, align 8 + %227 = load ptr, ptr %__begin058.sroa.0.0992, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i443) %index2.i444 = getelementptr inbounds %struct.Info.2279, ptr %227, i64 0, i32 1 %228 = load i64, ptr %index2.i444, align 8, !noalias !6591 @@ -273426,7 +273430,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont175: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i477, %invoke.cont2.i475 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i465) - %243 = load ptr, ptr %__begin0146.sroa.0.0989, align 8 + %243 = load ptr, ptr %__begin0146.sroa.0.0990, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i484) %index2.i485 = getelementptr inbounds %struct.Info.2279, ptr %243, i64 0, i32 1 %244 = load i64, ptr %index2.i485, align 8, !noalias !6605 @@ -273610,7 +273614,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont193: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i541, %invoke.cont2.i539 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i529) - %269 = load ptr, ptr %__begin0146.sroa.0.0989, align 8 + %269 = load ptr, ptr %__begin0146.sroa.0.0990, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546) %index2.i547 = getelementptr inbounds %struct.Info.2279, ptr %269, i64 0, i32 1 %270 = load i64, ptr %index2.i547, align 8, !noalias !6619 @@ -273706,7 +273710,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont201: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i580, %invoke.cont2.i578 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i568) - %285 = load ptr, ptr %__begin058.sroa.0.0991, align 8 + %285 = load ptr, ptr %__begin058.sroa.0.0992, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i586) %index2.i587 = getelementptr inbounds %struct.Info.2279, ptr %285, i64 0, i32 1 %286 = load i64, ptr %index2.i587, align 8, !noalias !6633 @@ -273890,7 +273894,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont219: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i642, %invoke.cont2.i640 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i630) - %311 = load ptr, ptr %__begin058.sroa.0.0991, align 8 + %311 = load ptr, ptr %__begin058.sroa.0.0992, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i648) %index2.i649 = getelementptr inbounds %struct.Info.2279, ptr %311, i64 0, i32 1 %312 = load i64, ptr %index2.i649, align 8, !noalias !6647 @@ -273986,7 +273990,7 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont227: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i682, %invoke.cont2.i680 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i670) - %327 = load ptr, ptr %__begin0146.sroa.0.0989, align 8 + %327 = load ptr, ptr %__begin0146.sroa.0.0990, align 8 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i689) %index2.i690 = getelementptr inbounds %struct.Info.2279, ptr %327, i64 0, i32 1 %328 = load i64, ptr %index2.i690, align 8, !noalias !6661 @@ -274223,20 +274227,20 @@ if.then.i.i.i1.i757: ; preds = %invoke.cont.i.i755 br label %for.inc246 for.inc246: ; preds = %if.then.i.i.i1.i757, %invoke.cont.i.i755, %for.body154 - %incdec.ptr.i778 = getelementptr inbounds %"class.std::vector.2272", ptr %__begin0146.sroa.0.0989, i64 1 + %incdec.ptr.i778 = getelementptr inbounds %"class.std::vector.2272", ptr %__begin0146.sroa.0.0990, i64 1 %cmp.i421.not = icmp eq ptr %incdec.ptr.i778, %217 br i1 %cmp.i421.not, label %cleanup249, label %for.body154 ehcleanup245: ; preds = %lpad161.loopexit, %lpad161.loopexit.split-lp, %ehcleanup240, %ehcleanup214, %ehcleanup188 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup240 ], [ %.pn31.pn, %ehcleanup214 ], [ %.pn34.pn, %ehcleanup188 ], [ %lpad.loopexit935, %lpad161.loopexit ], [ %lpad.loopexit.split-lp936, %lpad161.loopexit.split-lp ] + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup240 ], [ %.pn31.pn, %ehcleanup214 ], [ %.pn34.pn, %ehcleanup188 ], [ %lpad.loopexit936, %lpad161.loopexit ], [ %lpad.loopexit.split-lp937, %lpad161.loopexit.split-lp ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash) #28 br label %ehcleanup252 cleanup249.critedge.sink.split: ; preds = %invoke.cont237, %invoke.cont211, %invoke.cont185 - %.sink1068 = phi ptr [ %259, %invoke.cont185 ], [ %301, %invoke.cont211 ], [ %343, %invoke.cont237 ] + %.sink1069 = phi ptr [ %259, %invoke.cont185 ], [ %301, %invoke.cont211 ], [ %343, %invoke.cont237 ] %message_.i525.sink.ph = phi ptr [ %message_.i525, %invoke.cont185 ], [ %message_.i626, %invoke.cont211 ], [ %message_.i730, %invoke.cont237 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1068) #28 - call void @_ZdlPv(ptr noundef nonnull %.sink1068) #31 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink1069) #28 + call void @_ZdlPv(ptr noundef nonnull %.sink1069) #31 br label %cleanup249.critedge cleanup249.critedge: ; preds = %cleanup249.critedge.sink.split, %invoke.cont237, %invoke.cont211, %invoke.cont185 @@ -274440,12 +274444,12 @@ if.then.i.i.i1.i846: ; preds = %invoke.cont.i.i844 br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit866 _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit866: ; preds = %invoke.cont.i.i844, %if.then.i.i.i1.i846 - %incdec.ptr.i867 = getelementptr inbounds %"class.std::vector.2272", ptr %__begin058.sroa.0.0991, i64 1 - %cmp.i108.not = icmp eq ptr %incdec.ptr.i867, %.pre1025 + %incdec.ptr.i867 = getelementptr inbounds %"class.std::vector.2272", ptr %__begin058.sroa.0.0992, i64 1 + %cmp.i108.not = icmp eq ptr %incdec.ptr.i867, %.pre1026 br i1 %cmp.i108.not, label %for.end255, label %for.body66 ehcleanup252: ; preds = %lpad83.loopexit, %lpad83.loopexit.split-lp.loopexit.split-lp, %lpad83.loopexit.split-lp.loopexit, %ehcleanup245, %ehcleanup140, %lpad112, %ehcleanup108, %ehcleanup92 - %.pn43.pn = phi { ptr, i32 } [ %.pn43, %ehcleanup108 ], [ %.pn40.pn, %ehcleanup140 ], [ %212, %lpad112 ], [ %.pn38, %ehcleanup92 ], [ %.pn.pn.pn, %ehcleanup245 ], [ %lpad.loopexit, %lpad83.loopexit ], [ %lpad.loopexit938, %lpad83.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp939, %lpad83.loopexit.split-lp.loopexit.split-lp ] + %.pn43.pn = phi { ptr, i32 } [ %.pn43, %ehcleanup108 ], [ %.pn40.pn, %ehcleanup140 ], [ %212, %lpad112 ], [ %.pn38, %ehcleanup92 ], [ %.pn.pn.pn, %ehcleanup245 ], [ %lpad.loopexit, %lpad83.loopexit ], [ %lpad.loopexit939, %lpad83.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp940, %lpad83.loopexit.split-lp.loopexit.split-lp ] call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected) #28 br label %ehcleanup258 @@ -274590,8 +274594,8 @@ if.then.i.i.i: ; preds = %invoke.cont.i915 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EESaISW_EED2Ev.exit: ; preds = %invoke.cont.i915, %if.then.i.i.i ret void -ehcleanup258: ; preds = %lpad.loopexit941, %lpad.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit, %if.then.i.i.i.i83, %ehcleanup, %ehcleanup252, %lpad51.body, %lpad30 - %.pn46.pn = phi { ptr, i32 } [ %82, %lpad30 ], [ %eh.lpad-body102, %lpad51.body ], [ %.pn43.pn, %ehcleanup252 ], [ %.pn46, %ehcleanup ], [ %.pn46, %if.then.i.i.i.i83 ], [ %lpad.loopexit942, %lpad.loopexit941 ], [ %lpad.loopexit948, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp949, %lpad.loopexit.split-lp.loopexit.split-lp ] +ehcleanup258: ; preds = %lpad.loopexit942, %lpad.loopexit.split-lp.loopexit.split-lp, %lpad.loopexit.split-lp.loopexit, %if.then.i.i.i.i83, %ehcleanup, %ehcleanup252, %lpad51.body, %lpad30 + %.pn46.pn = phi { ptr, i32 } [ %82, %lpad30 ], [ %eh.lpad-body102, %lpad51.body ], [ %.pn43.pn, %ehcleanup252 ], [ %.pn46, %ehcleanup ], [ %.pn46, %if.then.i.i.i.i83 ], [ %lpad.loopexit943, %lpad.loopexit942 ], [ %lpad.loopexit949, %lpad.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp950, %lpad.loopexit.split-lp.loopexit.split-lp ] call void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_9btree_mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EESaISW_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes) #28 resume { ptr, i32 } %.pn46.pn } @@ -278727,7 +278731,7 @@ invoke.cont176: ; preds = %invoke.cont165 call5.i.i.i.i5.i.noexc: ; preds = %invoke.cont176 store ptr %call5.i.i.i.i5.i75, ptr %exemplars, align 8 - %add.ptr.i4.i = getelementptr inbounds %"class.(anonymous namespace)::UnorderedSequence.2303", ptr %call5.i.i.i.i5.i75, i64 10 + %add.ptr.i4.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i75, i64 240 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::UnorderedSequence>>, std::allocator<(anonymous namespace)::UnorderedSequence>>>>::_Vector_impl_data", ptr %exemplars, i64 0, i32 2 store ptr %add.ptr.i4.i, ptr %_M_end_of_storage.i.i, align 8 br label %for.body.i.i.i.i.i.i @@ -279320,8 +279324,8 @@ if.then.i.i.i.cont.i.i: ; preds = %if.then.i.i.i.invok _ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i %sub.ptr.div.i.i.i.i.i.i = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i, 24 - %cmp.i.i.i.i.i37.i = icmp eq ptr %48, %this.val10.i.i.i.i - %.sroa.speculated.i.i.i.i.i = select i1 %cmp.i.i.i.i.i37.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i + %cmp.i.i.i.i.i38.i = icmp eq ptr %48, %this.val10.i.i.i.i + %.sroa.speculated.i.i.i.i.i = select i1 %cmp.i.i.i.i.i38.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i %add.i.i.i.i.i = add nsw i64 %.sroa.speculated.i.i.i.i.i, %sub.ptr.div.i.i.i.i.i.i %cmp7.i.i.i.i.i = icmp ult i64 %add.i.i.i.i.i, %sub.ptr.div.i.i.i.i.i.i %cmp9.i.i.i.i.i = icmp ugt i64 %add.i.i.i.i.i, 384307168202282325 @@ -279339,7 +279343,7 @@ _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHa %cond.i12.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i106.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISJ_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EEEE8allocateERSW_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds %"class.std::vector.2340", ptr %cond.i12.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i, i8 0, i64 24, i1 false) - br i1 %cmp.i.i.i.i.i37.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i + br i1 %cmp.i.i.i.i.i38.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISJ_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EESaISV_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i %__cur.03.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ], [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISJ_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EESaISV_EE11_M_allocateEm.exit.i.i.i.i ] @@ -279360,9 +279364,9 @@ for.body.i.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_base _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISJ_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EESaISV_EE11_M_allocateEm.exit.i.i.i.i %__cur.0.lcssa.i.i.i.i.i.i.i = phi ptr [ %cond.i12.i.i.i.i, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISJ_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EESaISV_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ] - %incdec.ptr.i.i.i38.i = getelementptr inbounds %"class.std::vector.2340", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i39.i = icmp eq ptr %this.val10.i.i.i.i, null - br i1 %tobool.not.i.i.i.i39.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i + %incdec.ptr.i.i.i39.i = getelementptr inbounds %"class.std::vector.2340", ptr %__cur.0.lcssa.i.i.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i40.i = icmp eq ptr %this.val10.i.i.i.i, null + br i1 %tobool.not.i.i.i.i40.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val10.i.i.i.i) #31 @@ -279370,7 +279374,7 @@ if.then.i26.i.i.i.i: ; preds = %_ZNSt6vectorIS_IZN4 _ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit25.i.i.i.i store ptr %cond.i12.i.i.i.i, ptr %classes.i.i, align 8, !noalias !6717 - store ptr %incdec.ptr.i.i.i38.i, ptr %33, align 8, !noalias !6717 + store ptr %incdec.ptr.i.i.i39.i, ptr %33, align 8, !noalias !6717 %add.ptr19.i.i.i.i = getelementptr inbounds %"class.std::vector.2340", ptr %cond.i12.i.i.i.i, i64 %cond.i.i.i.i.i store ptr %add.ptr19.i.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8, !noalias !6717 br label %if.end23.i.i @@ -279424,31 +279428,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.061.i.i, ptr %add.ptr.i.i.i.i33.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i33.i, i64 8 store i64 %i.062.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i22.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i21.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i32.i, ptr align 8 %this.val.i.i.i.i18.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.2347, ptr %add.ptr.i.i.i.i33.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i32.i, i64 %sub.ptr.sub.i.i.i.i.i.i21.i + %incdec.ptr.i.i.i.i34.i = getelementptr inbounds %struct.Info.2347, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i35.i = icmp eq ptr %this.val.i.i.i.i18.i, null - br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE17_M_realloc_insertIJSS_EEEvN9__gnu_cxx17__normal_iteratorIPSS_SU_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i35.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE17_M_realloc_insertIJSS_EEEvN9__gnu_cxx17__normal_iteratorIPSS_SU_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i36.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i36.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i18.i) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE17_M_realloc_insertIJSS_EEEvN9__gnu_cxx17__normal_iteratorIPSS_SU_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE17_M_realloc_insertIJSS_EEEvN9__gnu_cxx17__normal_iteratorIPSS_SU_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE17_M_realloc_insertIJSS_EEEvN9__gnu_cxx17__normal_iteratorIPSS_SU_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i36.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE11_S_relocateEPSS_SV_SV_RST_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i32.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i34.i, ptr %_M_finish.i.i.i11.i, align 8 - %add.ptr19.i.i.i.i36.i = getelementptr inbounds %struct.Info.2347, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i - store ptr %add.ptr19.i.i.i.i36.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 + %add.ptr19.i.i.i.i37.i = getelementptr inbounds %struct.Info.2347, ptr %cond.i12.i.i.i.i32.i, i64 %cond.i.i.i.i.i29.i + store ptr %add.ptr19.i.i.i.i37.i, ptr %_M_end_of_storage.i.i.i12.i, align 8 br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE17_M_realloc_insertIJSS_EEEvN9__gnu_cxx17__normal_iteratorIPSS_SU_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i14.i - %55 = phi ptr [ %add.ptr.i.i.i.i33.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE17_M_realloc_insertIJSS_EEEvN9__gnu_cxx17__normal_iteratorIPSS_SU_EEDpOT_.exit.i.i.i.i ], [ %54, %if.then.i.i.i14.i ] + %55 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EE17_M_realloc_insertIJSS_EEEvN9__gnu_cxx17__normal_iteratorIPSS_SU_EEDpOT_.exit.i.i.i.i ], [ %54, %if.then.i.i.i14.i ] %inc.i.i = add i64 %i.062.i.i, 1 %call28.val.i.i = load ptr, ptr %55, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -281991,9 +281996,9 @@ invoke.cont.i: ; preds = %if.then.i.i.i919.i. call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i), !noalias !6703 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i), !noalias !6703 %tobool.not.i.i.i.i92 = icmp eq ptr %ref.tmp.sroa.0.24.i, null - br i1 %tobool.not.i.i.i.i92, label %invoke.cont318, label %if.then.i.i.i40.i + br i1 %tobool.not.i.i.i.i92, label %invoke.cont318, label %if.then.i.i.i41.i -if.then.i.i.i40.i: ; preds = %invoke.cont.i +if.then.i.i.i41.i: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.24.i) #31 br label %invoke.cont318 @@ -282001,14 +282006,14 @@ lpad.body.i89: ; preds = %ehcleanup252.i.i, % %ref.tmp.sroa.0.27.i = phi ptr [ %ref.tmp.sroa.0.1.i, %lpad30.i.i ], [ %ref.tmp.sroa.0.25.i, %lpad51.body.i.i ], [ %ref.tmp.sroa.0.1.i, %ehcleanup252.i.i ], [ %ref.tmp.sroa.0.1.i, %ehcleanup.i.i ], [ %ref.tmp.sroa.0.1.i, %if.then.i.i.i.i138.i.i ], [ %ref.tmp.sroa.0.1.i, %lpad.loopexit13.i.i ], [ %ref.tmp.sroa.0.1.i, %lpad.loopexit.split-lp.loopexit.split.i.i ], [ %ref.tmp.sroa.0.1.i, %lpad.loopexit.split-lp.loopexit.split.us.i.i ], [ %ref.tmp.sroa.0.1.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %ref.tmp.sroa.0.28.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i ] %.pn46.pn.i.i = phi { ptr, i32 } [ %86, %lpad30.i.i ], [ %eh.lpad-body156.i.i, %lpad51.body.i.i ], [ %.pn43.pn.i.i, %ehcleanup252.i.i ], [ %.pn46.i.i, %ehcleanup.i.i ], [ %.pn46.i.i, %if.then.i.i.i.i138.i.i ], [ %lpad.loopexit14.i.i, %lpad.loopexit13.i.i ], [ %lpad.loopexit17.i.i, %lpad.loopexit.split-lp.loopexit.split.i.i ], [ %lpad.loopexit17.us.i.i, %lpad.loopexit.split-lp.loopexit.split.us.i.i ], [ %lpad.loopexit22.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i ], [ %lpad.loopexit.split-lp23.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i ] call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEEESaISI_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISS_EESaISU_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i) #28 - %tobool.not.i.i.i41.i = icmp eq ptr %ref.tmp.sroa.0.27.i, null - br i1 %tobool.not.i.i.i41.i, label %ehcleanup335, label %if.then.i.i.i42.i + %tobool.not.i.i.i42.i = icmp eq ptr %ref.tmp.sroa.0.27.i, null + br i1 %tobool.not.i.i.i42.i, label %ehcleanup335, label %if.then.i.i.i43.i -if.then.i.i.i42.i: ; preds = %lpad.body.i89 +if.then.i.i.i43.i: ; preds = %lpad.body.i89 call void @_ZdlPv(ptr noundef nonnull %ref.tmp.sroa.0.27.i) #31 br label %ehcleanup335 -invoke.cont318: ; preds = %if.then.i.i.i40.i, %invoke.cont.i +invoke.cont318: ; preds = %if.then.i.i.i41.i, %invoke.cont.i %369 = load i8, ptr %gtest_ar_, align 8 %370 = and i8 %369, 1 %tobool.i.not = icmp eq i8 %370, 0 @@ -282353,8 +282358,8 @@ ehcleanup334: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #28 br label %ehcleanup335 -ehcleanup335: ; preds = %if.then.i.i.i42.i, %lpad.body.i89, %if.then.i.i.i.i.i, %lpad.i.i95, %ehcleanup334 - %.pn11.pn.pn.pn = phi { ptr, i32 } [ %.pn11.pn.pn, %ehcleanup334 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i95 ], [ %.pn46.pn.i.i, %lpad.body.i89 ], [ %.pn46.pn.i.i, %if.then.i.i.i42.i ] +ehcleanup335: ; preds = %if.then.i.i.i43.i, %lpad.body.i89, %if.then.i.i.i.i.i, %lpad.i.i95, %ehcleanup334 + %.pn11.pn.pn.pn = phi { ptr, i32 } [ %.pn11.pn.pn, %ehcleanup334 ], [ %lpad.phi.i.i, %if.then.i.i.i.i.i ], [ %lpad.phi.i.i, %lpad.i.i95 ], [ %.pn46.pn.i.i, %lpad.body.i89 ], [ %.pn46.pn.i.i, %if.then.i.i.i43.i ] call fastcc void @_ZNSt6vectorIN12_GLOBAL__N_117UnorderedSequenceISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESaISB_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %exemplars) #28 br label %eh.resume @@ -282477,7 +282482,7 @@ _ZNSt6vectorISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS _ZNSt12_Vector_baseISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS8_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS8_EE17_S_check_init_lenEmRKS9_.exit store ptr null, ptr %this, align 8 - %add.ptr7 = getelementptr inbounds %"struct.std::pair.1868", ptr null, i64 %sub.ptr.div.i.i + %add.ptr7 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i %_M_end_of_storage8 = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr7, ptr %_M_end_of_storage8, align 8 br label %_ZSt22__uninitialized_copy_aIPKSt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPS8_S8_ET0_T_SD_SC_RSaIT1_E.exit @@ -282485,7 +282490,7 @@ _ZNSt12_Vector_baseISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorISt4pairIKiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS8_EE17_S_check_init_lenEmRKS9_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #32 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"struct.std::pair.1868", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base>, std::allocator>>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -284556,8 +284561,7 @@ invoke.cont14.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %.noexc21.invoke.con %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %255 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %256 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i, 5 - %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %256, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %256, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i.i.i.i.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.i.i.i.i.i.i.i.i.i.i.i, ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %254, ptr %253) to label %invoke.cont30.i.i.i.i.i.i.i.i.i.i.i.i unwind label %lpad.i.i.i.i.i.i.i.i.i.i.i.i, !noalias !6786 @@ -289382,23 +289386,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0977, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0978, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2425, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSB_EEEEESaISL_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISV_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2425, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_S_relocateEPSU_SX_SX_RSV_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2425, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -289406,7 +289411,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i, %if.then.i.i - %23 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] + %23 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiSA_EEEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE17_M_realloc_insertIJSU_EEEvN9__gnu_cxx17__normal_iteratorIPSU_SW_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] %inc = add i64 %i.0978, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %24 = load ptr, ptr %23, align 8, !noalias !6855 @@ -297945,23 +297950,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0982, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.0983, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSB_EEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSB_EEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2498, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSB_EEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2498, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #31 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE11_S_relocateEPSW_SZ_SZ_RSX_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2498, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -297969,7 +297975,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i, %if.then.i.i - %27 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i ], [ %25, %if.then.i.i ] + %27 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt18unordered_multimapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4hashIiESt8equal_toIiESaISt4pairIKiSA_EEEEESaISM_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISW_EE17_M_realloc_insertIJSW_EEEvN9__gnu_cxx17__normal_iteratorIPSW_SY_EEDpOT_.exit.i.i ], [ %25, %if.then.i.i ] %inc = add i64 %i.0983, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %28 = load ptr, ptr %27, align 8, !noalias !7110 @@ -303710,8 +303716,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %20, ptr %19) to label %invoke.cont30 unwind label %lpad diff --git a/bench/abseil-cpp/optimized/hash_policy_traits_test.cc.ll b/bench/abseil-cpp/optimized/hash_policy_traits_test.cc.ll index ae40d09c569..d80bd2541a2 100644 --- a/bench/abseil-cpp/optimized/hash_policy_traits_test.cc.ll +++ b/bench/abseil-cpp/optimized/hash_policy_traits_test.cc.ll @@ -9087,23 +9087,24 @@ _ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPKvEE8allocateERS2_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPKvSaIS1_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i -_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #25 br label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i -_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %untyped_actions_, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -11217,23 +11218,24 @@ _ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPKvEE8allocateERS2_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPKvSaIS1_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i -_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #25 br label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i -_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %untyped_actions_, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/hash_test.cc.ll b/bench/abseil-cpp/optimized/hash_test.cc.ll index fbee2bee4f3..d541e735420 100644 --- a/bench/abseil-cpp/optimized/hash_test.cc.ll +++ b/bench/abseil-cpp/optimized/hash_test.cc.ll @@ -121,15 +121,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base>::_Vector_impl.164" = type { %"struct.std::_Vector_base>::_Vector_impl_data.168" } %"struct.std::_Vector_base>::_Vector_impl_data.168" = type { ptr, ptr, ptr } %struct.Info.169 = type { ptr, i64 } -%"class.std::variant.199" = type { %"struct.std::__detail::__variant::_Variant_base.base.213", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.213" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.212" } -%"struct.std::__detail::__variant::_Move_assign_base.base.212" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.211" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.211" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.210" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.210" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.209" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.209" = type { %"struct.std::__detail::__variant::_Variant_storage.base.208" } -%"struct.std::__detail::__variant::_Variant_storage.base.208" = type <{ %"union.std::__detail::__variant::_Variadic_union.206", i8 }> -%"union.std::__detail::__variant::_Variadic_union.206" = type { %"struct.std::__detail::__variant::_Uninitialized.207" } -%"struct.std::__detail::__variant::_Uninitialized.207" = type { ptr } %"class.absl::hash_internal::SpyHashStateImpl.112" = type <{ %"class.std::vector", %"class.std::shared_ptr", i8, [7 x i8] }> %"class.absl::hash_internal::SpyHashStateImpl.115" = type <{ %"class.std::vector", %"class.std::shared_ptr", i8, [7 x i8] }> %"class.std::_Sp_counted_ptr_inplace" = type { %"class.std::_Sp_counted_base", %"class.std::_Sp_counted_ptr_inplace>, std::allocator, __gnu_cxx::_S_atomic>::_Impl" } @@ -153,6 +144,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.192" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.193" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.193" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.197" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.197" = type { ptr, ptr, ptr } +%"class.std::variant.199" = type { %"struct.std::__detail::__variant::_Variant_base.base.213", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.213" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.212" } +%"struct.std::__detail::__variant::_Move_assign_base.base.212" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.211" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.211" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.210" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.210" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.209" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.209" = type { %"struct.std::__detail::__variant::_Variant_storage.base.208" } +%"struct.std::__detail::__variant::_Variant_storage.base.208" = type <{ %"union.std::__detail::__variant::_Variadic_union.206", i8 }> +%"union.std::__detail::__variant::_Variadic_union.206" = type { %"struct.std::__detail::__variant::_Uninitialized.207" } +%"struct.std::__detail::__variant::_Uninitialized.207" = type { ptr } %"class.std::vector.219" = type { %"struct.std::_Vector_base.220" } %"struct.std::_Vector_base.220" = type { %"struct.std::_Vector_base>::_Vector_impl.221" } %"struct.std::_Vector_base>::_Vector_impl.221" = type { %"struct.std::_Vector_base>::_Vector_impl_data.225" } @@ -211,6 +211,14 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.284" = type { x86_fp80 } %"struct.std::_Head_base.285" = type { x86_fp80 } %"struct.std::_Head_base.286" = type { x86_fp80 } +%"class.std::vector.396" = type { %"struct.std::_Vector_base.397" } +%"struct.std::_Vector_base.397" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" = type { ptr, ptr, ptr } +%"class.std::vector.292" = type { %"struct.std::_Vector_base.293" } +%"struct.std::_Vector_base.293" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.294" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.294" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.298" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.298" = type { ptr, ptr, ptr } %"class.std::variant.300" = type { %"struct.std::__detail::__variant::_Variant_base.base.314", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.314" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.313" } %"struct.std::__detail::__variant::_Move_assign_base.base.313" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.312" } @@ -220,32 +228,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.309" = type <{ %"union.std::__detail::__variant::_Variadic_union.307", i8 }> %"union.std::__detail::__variant::_Variadic_union.307" = type { %"struct.std::__detail::__variant::_Uninitialized.308" } %"struct.std::__detail::__variant::_Uninitialized.308" = type { ptr } -%"class.std::variant.355" = type { %"struct.std::__detail::__variant::_Variant_base.base.369", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.369" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.368" } -%"struct.std::__detail::__variant::_Move_assign_base.base.368" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.367" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.367" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.366" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.366" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.365" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.365" = type { %"struct.std::__detail::__variant::_Variant_storage.base.364" } -%"struct.std::__detail::__variant::_Variant_storage.base.364" = type <{ %"union.std::__detail::__variant::_Variadic_union.362", i8 }> -%"union.std::__detail::__variant::_Variadic_union.362" = type { %"struct.std::__detail::__variant::_Uninitialized.363" } -%"struct.std::__detail::__variant::_Uninitialized.363" = type { ptr } -%"class.std::vector.396" = type { %"struct.std::_Vector_base.397" } -%"struct.std::_Vector_base.397" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" = type { ptr, ptr, ptr } -%"class.std::variant.409" = type { %"struct.std::__detail::__variant::_Variant_base.base.423", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.423" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.422" } -%"struct.std::__detail::__variant::_Move_assign_base.base.422" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.421" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.421" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.420" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.420" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.419" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.419" = type { %"struct.std::__detail::__variant::_Variant_storage.base.418" } -%"struct.std::__detail::__variant::_Variant_storage.base.418" = type <{ %"union.std::__detail::__variant::_Variadic_union.416", i8 }> -%"union.std::__detail::__variant::_Variadic_union.416" = type { %"struct.std::__detail::__variant::_Uninitialized.417" } -%"struct.std::__detail::__variant::_Uninitialized.417" = type { ptr } -%"class.std::vector.292" = type { %"struct.std::_Vector_base.293" } -%"struct.std::_Vector_base.293" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.294" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.294" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.298" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.298" = type { ptr, ptr, ptr } %"class.std::vector.320" = type { %"struct.std::_Vector_base.321" } %"struct.std::_Vector_base.321" = type { %"struct.std::_Vector_base>::_Vector_impl.322" } %"struct.std::_Vector_base>::_Vector_impl.322" = type { %"struct.std::_Vector_base>::_Vector_impl_data.326" } @@ -256,6 +238,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.348" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.349" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.349" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.353" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.353" = type { ptr, ptr, ptr } +%"class.std::variant.355" = type { %"struct.std::__detail::__variant::_Variant_base.base.369", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.369" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.368" } +%"struct.std::__detail::__variant::_Move_assign_base.base.368" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.367" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.367" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.366" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.366" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.365" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.365" = type { %"struct.std::__detail::__variant::_Variant_storage.base.364" } +%"struct.std::__detail::__variant::_Variant_storage.base.364" = type <{ %"union.std::__detail::__variant::_Variadic_union.362", i8 }> +%"union.std::__detail::__variant::_Variadic_union.362" = type { %"struct.std::__detail::__variant::_Uninitialized.363" } +%"struct.std::__detail::__variant::_Uninitialized.363" = type { ptr } %"class.std::vector.375" = type { %"struct.std::_Vector_base.376" } %"struct.std::_Vector_base.376" = type { %"struct.std::_Vector_base>::_Vector_impl.377" } %"struct.std::_Vector_base>::_Vector_impl.377" = type { %"struct.std::_Vector_base>::_Vector_impl_data.381" } @@ -266,6 +257,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.402" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.403" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.403" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.407" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.407" = type { ptr, ptr, ptr } +%"class.std::variant.409" = type { %"struct.std::__detail::__variant::_Variant_base.base.423", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.423" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.422" } +%"struct.std::__detail::__variant::_Move_assign_base.base.422" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.421" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.421" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.420" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.420" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.419" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.419" = type { %"struct.std::__detail::__variant::_Variant_storage.base.418" } +%"struct.std::__detail::__variant::_Variant_storage.base.418" = type <{ %"union.std::__detail::__variant::_Variadic_union.416", i8 }> +%"union.std::__detail::__variant::_Variadic_union.416" = type { %"struct.std::__detail::__variant::_Uninitialized.417" } +%"struct.std::__detail::__variant::_Uninitialized.417" = type { ptr } %"class.std::vector.429" = type { %"struct.std::_Vector_base.430" } %"struct.std::_Vector_base.430" = type { %"struct.std::_Vector_base>::_Vector_impl.431" } %"struct.std::_Vector_base>::_Vector_impl.431" = type { %"struct.std::_Vector_base>::_Vector_impl_data.435" } @@ -287,6 +287,12 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.459" = type { ptr } %"struct.std::_Head_base.460" = type { ptr } %"struct.std::_Head_base.461" = type { ptr } +%"class.std::vector.467" = type { %"struct.std::_Vector_base.468" } +%"struct.std::_Vector_base.468" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.469" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.469" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.473" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.473" = type { ptr, ptr, ptr } +%"struct.absl::hash_internal::EqVisitor" = type { %"struct.absl::hash_internal::DefaultEquals" } +%"struct.absl::hash_internal::DefaultEquals" = type { i8 } %"class.std::variant.475" = type { %"struct.std::__detail::__variant::_Variant_base.base.491", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.491" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.490" } %"struct.std::__detail::__variant::_Move_assign_base.base.490" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.489" } @@ -296,12 +302,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.486" = type <{ %"union.std::__detail::__variant::_Variadic_union.482", i8 }> %"union.std::__detail::__variant::_Variadic_union.482" = type { %"struct.std::__detail::__variant::_Uninitialized.483" } %"struct.std::__detail::__variant::_Uninitialized.483" = type { ptr } -%"class.std::vector.467" = type { %"struct.std::_Vector_base.468" } -%"struct.std::_Vector_base.468" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.469" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.469" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.473" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.473" = type { ptr, ptr, ptr } -%"struct.absl::hash_internal::EqVisitor" = type { %"struct.absl::hash_internal::DefaultEquals" } -%"struct.absl::hash_internal::DefaultEquals" = type { i8 } %"struct.std::__detail::__variant::_Variant_storage.481" = type <{ %"union.std::__detail::__variant::_Variadic_union.482", i8, [7 x i8] }> %"class.std::vector.497" = type { %"struct.std::_Vector_base.498" } %"struct.std::_Vector_base.498" = type { %"struct.std::_Vector_base>::_Vector_impl.499" } @@ -412,15 +412,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base>::_Vector_impl.694" = type { %"struct.std::_Vector_base>::_Vector_impl_data.698" } %"struct.std::_Vector_base>::_Vector_impl_data.698" = type { ptr, ptr, ptr } %struct.Info.699 = type { ptr, i64 } -%"class.std::variant.728" = type { %"struct.std::__detail::__variant::_Variant_base.base.742", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.742" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.741" } -%"struct.std::__detail::__variant::_Move_assign_base.base.741" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.740" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.740" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.739" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.739" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.738" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.738" = type { %"struct.std::__detail::__variant::_Variant_storage.base.737" } -%"struct.std::__detail::__variant::_Variant_storage.base.737" = type <{ %"union.std::__detail::__variant::_Variadic_union.735", i8 }> -%"union.std::__detail::__variant::_Variadic_union.735" = type { %"struct.std::__detail::__variant::_Uninitialized.736" } -%"struct.std::__detail::__variant::_Uninitialized.736" = type { ptr } %"class.std::vector.804" = type { %"struct.std::_Vector_base.805" } %"struct.std::_Vector_base.805" = type { %"struct.std::_Vector_base>::_Vector_impl.806" } %"struct.std::_Vector_base>::_Vector_impl.806" = type { %"struct.std::_Vector_base>::_Vector_impl_data.810" } @@ -452,6 +443,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.721" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.722" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.722" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.726" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.726" = type { ptr, ptr, ptr } +%"class.std::variant.728" = type { %"struct.std::__detail::__variant::_Variant_base.base.742", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.742" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.741" } +%"struct.std::__detail::__variant::_Move_assign_base.base.741" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.740" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.740" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.739" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.739" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.738" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.738" = type { %"struct.std::__detail::__variant::_Variant_storage.base.737" } +%"struct.std::__detail::__variant::_Variant_storage.base.737" = type <{ %"union.std::__detail::__variant::_Variadic_union.735", i8 }> +%"union.std::__detail::__variant::_Variadic_union.735" = type { %"struct.std::__detail::__variant::_Uninitialized.736" } +%"struct.std::__detail::__variant::_Uninitialized.736" = type { ptr } %"class.std::vector.748" = type { %"struct.std::_Vector_base.749" } %"struct.std::_Vector_base.749" = type { %"struct.std::_Vector_base>::_Vector_impl.750" } %"struct.std::_Vector_base>::_Vector_impl.750" = type { %"struct.std::_Vector_base>::_Vector_impl_data.754" } @@ -551,6 +551,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.1121" = type { %"class.std::tuple.1111" } %"struct.std::_Head_base.1122" = type { %"class.std::tuple.1111" } %"struct.std::_Head_base.1123" = type { %"class.std::tuple.1111" } +%"class.std::vector.1129" = type { %"struct.std::_Vector_base.1130" } +%"struct.std::_Vector_base.1130" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1131" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1131" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1135" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1135" = type { ptr, ptr, ptr } %"class.std::variant.1137" = type { %"struct.std::__detail::__variant::_Variant_base.base.1151", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.1151" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1150" } %"struct.std::__detail::__variant::_Move_assign_base.base.1150" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1149" } @@ -560,37 +564,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.1146" = type <{ %"union.std::__detail::__variant::_Variadic_union.1144", i8 }> %"union.std::__detail::__variant::_Variadic_union.1144" = type { %"struct.std::__detail::__variant::_Uninitialized.1145" } %"struct.std::__detail::__variant::_Uninitialized.1145" = type { ptr } -%"class.std::variant.1192" = type { %"struct.std::__detail::__variant::_Variant_base.base.1206", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.1206" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1205" } -%"struct.std::__detail::__variant::_Move_assign_base.base.1205" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1204" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.1204" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1203" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.1203" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1202" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.1202" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1201" } -%"struct.std::__detail::__variant::_Variant_storage.base.1201" = type <{ %"union.std::__detail::__variant::_Variadic_union.1199", i8 }> -%"union.std::__detail::__variant::_Variadic_union.1199" = type { %"struct.std::__detail::__variant::_Uninitialized.1200" } -%"struct.std::__detail::__variant::_Uninitialized.1200" = type { ptr } -%"class.std::variant.1251" = type { %"struct.std::__detail::__variant::_Variant_base.base.1265", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.1265" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1264" } -%"struct.std::__detail::__variant::_Move_assign_base.base.1264" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1263" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.1263" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1262" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.1262" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1261" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.1261" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1260" } -%"struct.std::__detail::__variant::_Variant_storage.base.1260" = type <{ %"union.std::__detail::__variant::_Variadic_union.1258", i8 }> -%"union.std::__detail::__variant::_Variadic_union.1258" = type { %"struct.std::__detail::__variant::_Uninitialized.1259" } -%"struct.std::__detail::__variant::_Uninitialized.1259" = type { ptr } -%"class.std::variant.1306" = type { %"struct.std::__detail::__variant::_Variant_base.base.1320", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.1320" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1319" } -%"struct.std::__detail::__variant::_Move_assign_base.base.1319" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1318" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.1318" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1317" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.1317" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1316" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.1316" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1315" } -%"struct.std::__detail::__variant::_Variant_storage.base.1315" = type <{ %"union.std::__detail::__variant::_Variadic_union.1313", i8 }> -%"union.std::__detail::__variant::_Variadic_union.1313" = type { %"struct.std::__detail::__variant::_Uninitialized.1314" } -%"struct.std::__detail::__variant::_Uninitialized.1314" = type { ptr } -%"class.std::vector.1129" = type { %"struct.std::_Vector_base.1130" } -%"struct.std::_Vector_base.1130" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1131" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1131" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1135" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1135" = type { ptr, ptr, ptr } %"class.std::vector.1157" = type { %"struct.std::_Vector_base.1158" } %"struct.std::_Vector_base.1158" = type { %"struct.std::_Vector_base>::_Vector_impl.1159" } %"struct.std::_Vector_base>::_Vector_impl.1159" = type { %"struct.std::_Vector_base>::_Vector_impl_data.1163" } @@ -601,6 +574,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.1185" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1186" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1186" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1190" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1190" = type { ptr, ptr, ptr } +%"class.std::variant.1192" = type { %"struct.std::__detail::__variant::_Variant_base.base.1206", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.1206" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1205" } +%"struct.std::__detail::__variant::_Move_assign_base.base.1205" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1204" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.1204" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1203" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.1203" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1202" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.1202" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1201" } +%"struct.std::__detail::__variant::_Variant_storage.base.1201" = type <{ %"union.std::__detail::__variant::_Variadic_union.1199", i8 }> +%"union.std::__detail::__variant::_Variadic_union.1199" = type { %"struct.std::__detail::__variant::_Uninitialized.1200" } +%"struct.std::__detail::__variant::_Uninitialized.1200" = type { ptr } %"class.std::vector.1212" = type { %"struct.std::_Vector_base.1213" } %"struct.std::_Vector_base.1213" = type { %"struct.std::_Vector_base>::_Vector_impl.1214" } %"struct.std::_Vector_base>::_Vector_impl.1214" = type { %"struct.std::_Vector_base>::_Vector_impl_data.1218" } @@ -611,6 +593,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.1244" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1245" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1245" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1249" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1249" = type { ptr, ptr, ptr } +%"class.std::variant.1251" = type { %"struct.std::__detail::__variant::_Variant_base.base.1265", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.1265" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1264" } +%"struct.std::__detail::__variant::_Move_assign_base.base.1264" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1263" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.1263" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1262" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.1262" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1261" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.1261" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1260" } +%"struct.std::__detail::__variant::_Variant_storage.base.1260" = type <{ %"union.std::__detail::__variant::_Variadic_union.1258", i8 }> +%"union.std::__detail::__variant::_Variadic_union.1258" = type { %"struct.std::__detail::__variant::_Uninitialized.1259" } +%"struct.std::__detail::__variant::_Uninitialized.1259" = type { ptr } %"class.std::vector.1271" = type { %"struct.std::_Vector_base.1272" } %"struct.std::_Vector_base.1272" = type { %"struct.std::_Vector_base>::_Vector_impl.1273" } %"struct.std::_Vector_base>::_Vector_impl.1273" = type { %"struct.std::_Vector_base>::_Vector_impl_data.1277" } @@ -621,6 +612,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.1299" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1300" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1300" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1304" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1304" = type { ptr, ptr, ptr } +%"class.std::variant.1306" = type { %"struct.std::__detail::__variant::_Variant_base.base.1320", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.1320" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1319" } +%"struct.std::__detail::__variant::_Move_assign_base.base.1319" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1318" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.1318" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1317" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.1317" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1316" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.1316" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1315" } +%"struct.std::__detail::__variant::_Variant_storage.base.1315" = type <{ %"union.std::__detail::__variant::_Variadic_union.1313", i8 }> +%"union.std::__detail::__variant::_Variadic_union.1313" = type { %"struct.std::__detail::__variant::_Uninitialized.1314" } +%"struct.std::__detail::__variant::_Uninitialized.1314" = type { ptr } %"class.std::vector.1326" = type { %"struct.std::_Vector_base.1327" } %"struct.std::_Vector_base.1327" = type { %"struct.std::_Vector_base>::_Vector_impl.1328" } %"struct.std::_Vector_base>::_Vector_impl.1328" = type { %"struct.std::_Vector_base>::_Vector_impl_data.1332" } @@ -631,9 +631,9 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.1348" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" = type { ptr, ptr, ptr } +%"class.absl::hash_internal::SpyHashStateImpl.1355" = type <{ %"class.std::vector", %"class.std::shared_ptr", i8, [7 x i8] }> %"class.std::tuple.1353" = type { %"struct.std::_Tuple_impl.1354" } %"struct.std::_Tuple_impl.1354" = type { %"struct.std::_Head_base.1081" } -%"class.absl::hash_internal::SpyHashStateImpl.1355" = type <{ %"class.std::vector", %"class.std::shared_ptr", i8, [7 x i8] }> %"class.absl::hash_internal::SpyHashStateImpl.1358" = type <{ %"class.std::vector", %"class.std::shared_ptr", i8, [7 x i8] }> %"class.absl::str_format_internal::Streamable" = type { ptr, %"class.absl::InlinedVector" } %"class.absl::InlinedVector" = type { %"class.absl::inlined_vector_internal::Storage" } @@ -689,6 +689,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Tuple_impl.1500" = type { %"struct.std::_Head_base.459" } %"struct.std::_Head_base.1501" = type { ptr } %"struct.std::_Head_base.1502" = type { ptr } +%"class.std::vector.1508" = type { %"struct.std::_Vector_base.1509" } +%"struct.std::_Vector_base.1509" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1510" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1510" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1514" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1514" = type { ptr, ptr, ptr } %"class.std::variant.1516" = type { %"struct.std::__detail::__variant::_Variant_base.base.1531", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.1531" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1530" } %"struct.std::__detail::__variant::_Move_assign_base.base.1530" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1529" } @@ -698,10 +702,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.1526" = type <{ %"union.std::__detail::__variant::_Variadic_union.1523", i8 }> %"union.std::__detail::__variant::_Variadic_union.1523" = type { %"struct.std::__detail::__variant::_Uninitialized.1524" } %"struct.std::__detail::__variant::_Uninitialized.1524" = type { ptr } -%"class.std::vector.1508" = type { %"struct.std::_Vector_base.1509" } -%"struct.std::_Vector_base.1509" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1510" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1510" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1514" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1514" = type { ptr, ptr, ptr } %"struct.std::__detail::__variant::_Variant_storage.1522" = type <{ %"union.std::__detail::__variant::_Variadic_union.1523", i8, [7 x i8] }> %"class.std::vector.1537" = type { %"struct.std::_Vector_base.1538" } %"struct.std::_Vector_base.1538" = type { %"struct.std::_Vector_base>::_Vector_impl.1539" } @@ -822,15 +822,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.1655" = type { %"struct.std::_Vector_base *, const std::basic_string_view *, const absl::Cord *>, std::allocator *, const std::basic_string_view *, const absl::Cord *>>>::_Vector_impl" } %"struct.std::_Vector_base *, const std::basic_string_view *, const absl::Cord *>, std::allocator *, const std::basic_string_view *, const absl::Cord *>>>::_Vector_impl" = type { %"struct.std::_Vector_base *, const std::basic_string_view *, const absl::Cord *>, std::allocator *, const std::basic_string_view *, const absl::Cord *>>>::_Vector_impl_data" } %"struct.std::_Vector_base *, const std::basic_string_view *, const absl::Cord *>, std::allocator *, const std::basic_string_view *, const absl::Cord *>>>::_Vector_impl_data" = type { ptr, ptr, ptr } -%"class.std::variant.1667" = type { %"struct.std::__detail::__variant::_Variant_base.base.1685", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.1685" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1684" } -%"struct.std::__detail::__variant::_Move_assign_base.base.1684" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1683" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.1683" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1682" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.1682" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1681" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.1681" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1680" } -%"struct.std::__detail::__variant::_Variant_storage.base.1680" = type <{ %"union.std::__detail::__variant::_Variadic_union.1674", i8 }> -%"union.std::__detail::__variant::_Variadic_union.1674" = type { %"struct.std::__detail::__variant::_Uninitialized.1675" } -%"struct.std::__detail::__variant::_Uninitialized.1675" = type { ptr } %"class.std::vector.1728" = type { %"struct.std::_Vector_base.1729" } %"struct.std::_Vector_base.1729" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" } @@ -839,19 +830,19 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.1739" = type { %"struct.std::_Vector_base, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>, std::allocator, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>>>::_Vector_impl" } %"struct.std::_Vector_base, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>, std::allocator, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>>>::_Vector_impl" = type { %"struct.std::_Vector_base, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>, std::allocator, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>>>::_Vector_impl_data" } %"struct.std::_Vector_base, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>, std::allocator, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>>>::_Vector_impl_data" = type { ptr, ptr, ptr } -%"class.std::variant.1751" = type { %"struct.std::__detail::__variant::_Variant_base.base.1769", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.1769" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1768" } -%"struct.std::__detail::__variant::_Move_assign_base.base.1768" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1767" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.1767" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1766" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.1766" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1765" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.1765" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1764" } -%"struct.std::__detail::__variant::_Variant_storage.base.1764" = type <{ %"union.std::__detail::__variant::_Variadic_union.1758", i8 }> -%"union.std::__detail::__variant::_Variadic_union.1758" = type { %"struct.std::__detail::__variant::_Uninitialized.1759" } -%"struct.std::__detail::__variant::_Uninitialized.1759" = type { ptr } %"class.std::vector.1659" = type { %"struct.std::_Vector_base.1660" } %"struct.std::_Vector_base.1660" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1661" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1661" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1665" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1665" = type { ptr, ptr, ptr } +%"class.std::variant.1667" = type { %"struct.std::__detail::__variant::_Variant_base.base.1685", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.1685" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1684" } +%"struct.std::__detail::__variant::_Move_assign_base.base.1684" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1683" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.1683" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1682" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.1682" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1681" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.1681" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1680" } +%"struct.std::__detail::__variant::_Variant_storage.base.1680" = type <{ %"union.std::__detail::__variant::_Variadic_union.1674", i8 }> +%"union.std::__detail::__variant::_Variadic_union.1674" = type { %"struct.std::__detail::__variant::_Uninitialized.1675" } +%"struct.std::__detail::__variant::_Uninitialized.1675" = type { ptr } %"struct.std::__detail::__variant::_Variant_storage.1673" = type <{ %"union.std::__detail::__variant::_Variadic_union.1674", i8, [7 x i8] }> %"class.std::vector.1691" = type { %"struct.std::_Vector_base.1692" } %"struct.std::_Vector_base.1692" = type { %"struct.std::_Vector_base>::_Vector_impl.1693" } @@ -876,6 +867,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.1744" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1745" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1745" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1749" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1749" = type { ptr, ptr, ptr } +%"class.std::variant.1751" = type { %"struct.std::__detail::__variant::_Variant_base.base.1769", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.1769" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1768" } +%"struct.std::__detail::__variant::_Move_assign_base.base.1768" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1767" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.1767" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.1766" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.1766" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.1765" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.1765" = type { %"struct.std::__detail::__variant::_Variant_storage.base.1764" } +%"struct.std::__detail::__variant::_Variant_storage.base.1764" = type <{ %"union.std::__detail::__variant::_Variadic_union.1758", i8 }> +%"union.std::__detail::__variant::_Variadic_union.1758" = type { %"struct.std::__detail::__variant::_Uninitialized.1759" } +%"struct.std::__detail::__variant::_Uninitialized.1759" = type { ptr } %"struct.std::__detail::__variant::_Variant_storage.1757" = type <{ %"union.std::__detail::__variant::_Variadic_union.1758", i8, [7 x i8] }> %"class.std::vector.1775" = type { %"struct.std::_Vector_base.1776" } %"struct.std::_Vector_base.1776" = type { %"struct.std::_Vector_base>::_Vector_impl.1777" } @@ -905,6 +905,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.1836" = type { %"class.std::__cxx11::basic_string.1829" } %"struct.std::_Head_base.1837" = type { %"class.std::__cxx11::basic_string.1829" } %"class.std::allocator.1830" = type { i8 } +%"class.std::vector.1843" = type { %"struct.std::_Vector_base.1844" } +%"struct.std::_Vector_base.1844" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1845" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1845" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1849" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1849" = type { ptr, ptr, ptr } %"class.std::variant.1851" = type { %"struct.std::__detail::__variant::_Variant_base.base.1865", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.1865" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1864" } %"struct.std::__detail::__variant::_Move_assign_base.base.1864" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1863" } @@ -914,10 +918,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.1860" = type <{ %"union.std::__detail::__variant::_Variadic_union.1858", i8 }> %"union.std::__detail::__variant::_Variadic_union.1858" = type { %"struct.std::__detail::__variant::_Uninitialized.1859" } %"struct.std::__detail::__variant::_Uninitialized.1859" = type { ptr } -%"class.std::vector.1843" = type { %"struct.std::_Vector_base.1844" } -%"struct.std::_Vector_base.1844" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1845" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1845" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1849" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1849" = type { ptr, ptr, ptr } %"class.std::vector.1871" = type { %"struct.std::_Vector_base.1872" } %"struct.std::_Vector_base.1872" = type { %"struct.std::_Vector_base>::_Vector_impl.1873" } %"struct.std::_Vector_base>::_Vector_impl.1873" = type { %"struct.std::_Vector_base>::_Vector_impl_data.1877" } @@ -943,6 +943,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.1905" = type { %"class.std::__cxx11::basic_string.1899" } %"struct.std::_Head_base.1906" = type { %"class.std::__cxx11::basic_string.1899" } %"struct.std::_Head_base.1907" = type { %"class.std::__cxx11::basic_string.1899" } +%"class.std::vector.1913" = type { %"struct.std::_Vector_base.1914" } +%"struct.std::_Vector_base.1914" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1915" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1915" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1919" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1919" = type { ptr, ptr, ptr } %"class.std::variant.1921" = type { %"struct.std::__detail::__variant::_Variant_base.base.1935", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.1935" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.1934" } %"struct.std::__detail::__variant::_Move_assign_base.base.1934" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.1933" } @@ -952,10 +956,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.1930" = type <{ %"union.std::__detail::__variant::_Variadic_union.1928", i8 }> %"union.std::__detail::__variant::_Variadic_union.1928" = type { %"struct.std::__detail::__variant::_Uninitialized.1929" } %"struct.std::__detail::__variant::_Uninitialized.1929" = type { ptr } -%"class.std::vector.1913" = type { %"struct.std::_Vector_base.1914" } -%"struct.std::_Vector_base.1914" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1915" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1915" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1919" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1919" = type { ptr, ptr, ptr } %"class.std::vector.1941" = type { %"struct.std::_Vector_base.1942" } %"struct.std::_Vector_base.1942" = type { %"struct.std::_Vector_base>::_Vector_impl.1943" } %"struct.std::_Vector_base>::_Vector_impl.1943" = type { %"struct.std::_Vector_base>::_Vector_impl_data.1947" } @@ -980,6 +980,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.1976" = type { %"class.std::__cxx11::basic_string.1970" } %"struct.std::_Head_base.1977" = type { %"class.std::__cxx11::basic_string.1970" } %"struct.std::_Head_base.1978" = type { %"class.std::__cxx11::basic_string.1970" } +%"class.std::vector.1984" = type { %"struct.std::_Vector_base.1985" } +%"struct.std::_Vector_base.1985" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1986" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1986" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1990" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1990" = type { ptr, ptr, ptr } %"class.std::variant.1992" = type { %"struct.std::__detail::__variant::_Variant_base.base.2006", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.2006" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2005" } %"struct.std::__detail::__variant::_Move_assign_base.base.2005" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2004" } @@ -989,10 +993,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.2001" = type <{ %"union.std::__detail::__variant::_Variadic_union.1999", i8 }> %"union.std::__detail::__variant::_Variadic_union.1999" = type { %"struct.std::__detail::__variant::_Uninitialized.2000" } %"struct.std::__detail::__variant::_Uninitialized.2000" = type { ptr } -%"class.std::vector.1984" = type { %"struct.std::_Vector_base.1985" } -%"struct.std::_Vector_base.1985" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1986" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.1986" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1990" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1990" = type { ptr, ptr, ptr } %"class.std::vector.2012" = type { %"struct.std::_Vector_base.2013" } %"struct.std::_Vector_base.2013" = type { %"struct.std::_Vector_base>::_Vector_impl.2014" } %"struct.std::_Vector_base>::_Vector_impl.2014" = type { %"struct.std::_Vector_base>::_Vector_impl_data.2018" } @@ -1015,6 +1015,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.2043" = type { %"class.std::basic_string_view.2041" } %"struct.std::_Head_base.2044" = type { %"class.std::basic_string_view.2041" } %"struct.std::_Head_base.2045" = type { %"class.std::basic_string_view.2041" } +%"class.std::vector.2051" = type { %"struct.std::_Vector_base.2052" } +%"struct.std::_Vector_base.2052" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2053" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2053" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2057" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2057" = type { ptr, ptr, ptr } %"class.std::variant.2059" = type { %"struct.std::__detail::__variant::_Variant_base.base.2073", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.2073" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2072" } %"struct.std::__detail::__variant::_Move_assign_base.base.2072" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2071" } @@ -1024,10 +1028,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.2068" = type <{ %"union.std::__detail::__variant::_Variadic_union.2066", i8 }> %"union.std::__detail::__variant::_Variadic_union.2066" = type { %"struct.std::__detail::__variant::_Uninitialized.2067" } %"struct.std::__detail::__variant::_Uninitialized.2067" = type { ptr } -%"class.std::vector.2051" = type { %"struct.std::_Vector_base.2052" } -%"struct.std::_Vector_base.2052" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2053" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2053" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2057" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2057" = type { ptr, ptr, ptr } %"class.std::vector.2079" = type { %"struct.std::_Vector_base.2080" } %"struct.std::_Vector_base.2080" = type { %"struct.std::_Vector_base>::_Vector_impl.2081" } %"struct.std::_Vector_base>::_Vector_impl.2081" = type { %"struct.std::_Vector_base>::_Vector_impl_data.2085" } @@ -1050,6 +1050,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.2109" = type { %"class.std::basic_string_view.2107" } %"struct.std::_Head_base.2110" = type { %"class.std::basic_string_view.2107" } %"struct.std::_Head_base.2111" = type { %"class.std::basic_string_view.2107" } +%"class.std::vector.2117" = type { %"struct.std::_Vector_base.2118" } +%"struct.std::_Vector_base.2118" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2119" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2119" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2123" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2123" = type { ptr, ptr, ptr } %"class.std::variant.2125" = type { %"struct.std::__detail::__variant::_Variant_base.base.2139", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.2139" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2138" } %"struct.std::__detail::__variant::_Move_assign_base.base.2138" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2137" } @@ -1059,10 +1063,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.2134" = type <{ %"union.std::__detail::__variant::_Variadic_union.2132", i8 }> %"union.std::__detail::__variant::_Variadic_union.2132" = type { %"struct.std::__detail::__variant::_Uninitialized.2133" } %"struct.std::__detail::__variant::_Uninitialized.2133" = type { ptr } -%"class.std::vector.2117" = type { %"struct.std::_Vector_base.2118" } -%"struct.std::_Vector_base.2118" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2119" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2119" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2123" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2123" = type { ptr, ptr, ptr } %"class.std::vector.2145" = type { %"struct.std::_Vector_base.2146" } %"struct.std::_Vector_base.2146" = type { %"struct.std::_Vector_base>::_Vector_impl.2147" } %"struct.std::_Vector_base>::_Vector_impl.2147" = type { %"struct.std::_Vector_base>::_Vector_impl_data.2151" } @@ -1085,6 +1085,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.2175" = type { %"class.std::basic_string_view.2173" } %"struct.std::_Head_base.2176" = type { %"class.std::basic_string_view.2173" } %"struct.std::_Head_base.2177" = type { %"class.std::basic_string_view.2173" } +%"class.std::vector.2183" = type { %"struct.std::_Vector_base.2184" } +%"struct.std::_Vector_base.2184" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2185" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2185" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2189" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2189" = type { ptr, ptr, ptr } %"class.std::variant.2191" = type { %"struct.std::__detail::__variant::_Variant_base.base.2205", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.2205" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2204" } %"struct.std::__detail::__variant::_Move_assign_base.base.2204" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2203" } @@ -1094,10 +1098,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.2200" = type <{ %"union.std::__detail::__variant::_Variadic_union.2198", i8 }> %"union.std::__detail::__variant::_Variadic_union.2198" = type { %"struct.std::__detail::__variant::_Uninitialized.2199" } %"struct.std::__detail::__variant::_Uninitialized.2199" = type { ptr } -%"class.std::vector.2183" = type { %"struct.std::_Vector_base.2184" } -%"struct.std::_Vector_base.2184" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2185" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2185" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2189" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2189" = type { ptr, ptr, ptr } %"class.std::vector.2211" = type { %"struct.std::_Vector_base.2212" } %"struct.std::_Vector_base.2212" = type { %"struct.std::_Vector_base>::_Vector_impl.2213" } %"struct.std::_Vector_base>::_Vector_impl.2213" = type { %"struct.std::_Vector_base>::_Vector_impl_data.2217" } @@ -1153,6 +1153,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.2278" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data" = type { ptr, ptr, ptr } +%"class.std::vector.2282" = type { %"struct.std::_Vector_base.2283" } +%"struct.std::_Vector_base.2283" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2284" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2284" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2288" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2288" = type { ptr, ptr, ptr } %"class.std::variant.2290" = type { %"struct.std::__detail::__variant::_Variant_base.base.2304", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.2304" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2303" } %"struct.std::__detail::__variant::_Move_assign_base.base.2303" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2302" } @@ -1162,10 +1166,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.2299" = type <{ %"union.std::__detail::__variant::_Variadic_union.2297", i8 }> %"union.std::__detail::__variant::_Variadic_union.2297" = type { %"struct.std::__detail::__variant::_Uninitialized.2298" } %"struct.std::__detail::__variant::_Uninitialized.2298" = type { ptr } -%"class.std::vector.2282" = type { %"struct.std::_Vector_base.2283" } -%"struct.std::_Vector_base.2283" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2284" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2284" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2288" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2288" = type { ptr, ptr, ptr } %"class.std::vector.2310" = type { %"struct.std::_Vector_base.2311" } %"struct.std::_Vector_base.2311" = type { %"struct.std::_Vector_base>::_Vector_impl.2312" } %"struct.std::_Vector_base>::_Vector_impl.2312" = type { %"struct.std::_Vector_base>::_Vector_impl_data.2316" } @@ -1184,6 +1184,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Head_base.2335" = type { %"struct.std::array" } %"struct.std::array" = type { [3 x i32] } %"struct.std::_Head_base.2336" = type { %"struct.std::array" } +%"class.std::vector.2342" = type { %"struct.std::_Vector_base.2343" } +%"struct.std::_Vector_base.2343" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2344" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2344" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2348" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2348" = type { ptr, ptr, ptr } %"class.std::variant.2350" = type { %"struct.std::__detail::__variant::_Variant_base.base.2364", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.2364" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2363" } %"struct.std::__detail::__variant::_Move_assign_base.base.2363" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2362" } @@ -1193,10 +1197,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.2359" = type <{ %"union.std::__detail::__variant::_Variadic_union.2357", i8 }> %"union.std::__detail::__variant::_Variadic_union.2357" = type { %"struct.std::__detail::__variant::_Uninitialized.2358" } %"struct.std::__detail::__variant::_Uninitialized.2358" = type { ptr } -%"class.std::vector.2342" = type { %"struct.std::_Vector_base.2343" } -%"struct.std::_Vector_base.2343" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2344" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2344" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2348" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2348" = type { ptr, ptr, ptr } %"class.std::vector.2370" = type { %"struct.std::_Vector_base.2371" } %"struct.std::_Vector_base.2371" = type { %"struct.std::_Vector_base>::_Vector_impl.2372" } %"struct.std::_Vector_base>::_Vector_impl.2372" = type { %"struct.std::_Vector_base>::_Vector_impl_data.2376" } @@ -1403,6 +1403,10 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base>::_Vector_impl.2849" = type { %"struct.std::_Vector_base>::_Vector_impl_data.2853" } %"struct.std::_Vector_base>::_Vector_impl_data.2853" = type { ptr, ptr, ptr } %struct.Info.2854 = type { ptr, i64 } +%"class.std::vector.2870" = type { %"struct.std::_Vector_base.2871" } +%"struct.std::_Vector_base.2871" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2872" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2872" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2876" } +%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2876" = type { ptr, ptr, ptr } %"class.std::variant.2878" = type { %"struct.std::__detail::__variant::_Variant_base.base.2892", [7 x i8] } %"struct.std::__detail::__variant::_Variant_base.base.2892" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2891" } %"struct.std::__detail::__variant::_Move_assign_base.base.2891" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2890" } @@ -1412,19 +1416,6 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::__detail::__variant::_Variant_storage.base.2887" = type <{ %"union.std::__detail::__variant::_Variadic_union.2885", i8 }> %"union.std::__detail::__variant::_Variadic_union.2885" = type { %"struct.std::__detail::__variant::_Uninitialized.2886" } %"struct.std::__detail::__variant::_Uninitialized.2886" = type { ptr } -%"class.std::variant.2929" = type { %"struct.std::__detail::__variant::_Variant_base.base.2945", [7 x i8] } -%"struct.std::__detail::__variant::_Variant_base.base.2945" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2944" } -%"struct.std::__detail::__variant::_Move_assign_base.base.2944" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2943" } -%"struct.std::__detail::__variant::_Copy_assign_base.base.2943" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.2942" } -%"struct.std::__detail::__variant::_Move_ctor_base.base.2942" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.2941" } -%"struct.std::__detail::__variant::_Copy_ctor_base.base.2941" = type { %"struct.std::__detail::__variant::_Variant_storage.base.2940" } -%"struct.std::__detail::__variant::_Variant_storage.base.2940" = type <{ %"union.std::__detail::__variant::_Variadic_union.2936", i8 }> -%"union.std::__detail::__variant::_Variadic_union.2936" = type { %"struct.std::__detail::__variant::_Uninitialized.2937" } -%"struct.std::__detail::__variant::_Uninitialized.2937" = type { ptr } -%"class.std::vector.2870" = type { %"struct.std::_Vector_base.2871" } -%"struct.std::_Vector_base.2871" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2872" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2872" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2876" } -%"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2876" = type { ptr, ptr, ptr } %"class.std::vector.2898" = type { %"struct.std::_Vector_base.2899" } %"struct.std::_Vector_base.2899" = type { %"struct.std::_Vector_base>::_Vector_impl.2900" } %"struct.std::_Vector_base>::_Vector_impl.2900" = type { %"struct.std::_Vector_base>::_Vector_impl_data.2904" } @@ -1434,6 +1425,15 @@ target triple = "x86_64-unknown-linux-gnu" %"struct.std::_Vector_base.2922" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2923" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl.2923" = type { %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2927" } %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.2927" = type { ptr, ptr, ptr } +%"class.std::variant.2929" = type { %"struct.std::__detail::__variant::_Variant_base.base.2945", [7 x i8] } +%"struct.std::__detail::__variant::_Variant_base.base.2945" = type { %"struct.std::__detail::__variant::_Move_assign_base.base.2944" } +%"struct.std::__detail::__variant::_Move_assign_base.base.2944" = type { %"struct.std::__detail::__variant::_Copy_assign_base.base.2943" } +%"struct.std::__detail::__variant::_Copy_assign_base.base.2943" = type { %"struct.std::__detail::__variant::_Move_ctor_base.base.2942" } +%"struct.std::__detail::__variant::_Move_ctor_base.base.2942" = type { %"struct.std::__detail::__variant::_Copy_ctor_base.base.2941" } +%"struct.std::__detail::__variant::_Copy_ctor_base.base.2941" = type { %"struct.std::__detail::__variant::_Variant_storage.base.2940" } +%"struct.std::__detail::__variant::_Variant_storage.base.2940" = type <{ %"union.std::__detail::__variant::_Variadic_union.2936", i8 }> +%"union.std::__detail::__variant::_Variadic_union.2936" = type { %"struct.std::__detail::__variant::_Uninitialized.2937" } +%"struct.std::__detail::__variant::_Uninitialized.2937" = type { ptr } %"struct.std::__detail::__variant::_Variant_storage.2935" = type <{ %"union.std::__detail::__variant::_Variadic_union.2936", i8, [7 x i8] }> %"class.std::vector.2951" = type { %"struct.std::_Vector_base.2952" } %"struct.std::_Vector_base.2952" = type { %"struct.std::_Vector_base>::_Vector_impl.2953" } @@ -5128,23 +5128,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.045.i.ptr.i, ptr %add.ptr.i.i.i.i.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 8 store i64 %i.046.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i, ptr align 8 %this.val.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %this.val.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds %struct.Info, ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -5152,7 +5153,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i - %10 = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i ], [ %9, %if.then.i.i.i.i ] + %10 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_110LegacyEnumEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i ], [ %9, %if.then.i.i.i.i ] %inc.i.i = add nuw nsw i64 %i.046.i.i, 1 %call28.val.i.i = load ptr, ptr %10, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -7887,7 +7888,7 @@ lpad.loopexit.split-lp.loopexit.i.i178: ; preds = %invoke.cont26.i.i17 cleanup br label %ehcleanup258.i.i180 -lpad.loopexit.split-lp.loopexit.split-lp.i.i1026: ; preds = %for.end255.i.i1025, %if.then48.i.i1123, %if.then.i.i.i.i.invoke.i.i1197 +lpad.loopexit.split-lp.loopexit.split-lp.i.i1026: ; preds = %for.end255.i.i1025, %if.then48.i.i1123, %if.then.i.i.i.i.invoke.i.i1198 %lpad.loopexit.split-lp16.i.i1027 = landingpad { ptr, i32 } cleanup br label %ehcleanup258.i.i180 @@ -7900,7 +7901,7 @@ for.inc.i.i158: ; preds = %invoke.cont.i.i152 if.then19.i.i161: ; preds = %for.inc.i.i158, %for.body.i.i142 %339 = load ptr, ptr %_M_end_of_storage.i.i.i136, align 8, !noalias !49 %cmp.not.i.i.i162 = icmp eq ptr %classes.val54.i.i147, %339 - br i1 %cmp.not.i.i.i162, label %if.else.i.i.i1199, label %if.then.i.i.i163 + br i1 %cmp.not.i.i.i162, label %if.else.i.i.i1200, label %if.then.i.i.i163 if.then.i.i.i163: ; preds = %if.then19.i.i161 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i147, i8 0, i64 24, i1 false) @@ -7908,71 +7909,71 @@ if.then.i.i.i163: ; preds = %if.then19.i.i161 store ptr %incdec.ptr.i102.i.i164, ptr %337, align 8, !noalias !49 br label %if.end23.i.i165 -if.else.i.i.i1199: ; preds = %if.then19.i.i161 - %sub.ptr.lhs.cast.i.i.i.i.i.i1200 = ptrtoint ptr %classes.val54.i.i147 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i1201 = ptrtoint ptr %classes.val.i.i146 to i64 - %sub.ptr.sub.i.i.i.i.i.i1202 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i1200, %sub.ptr.rhs.cast.i.i.i.i.i.i1201 - %cmp.i.i.i.i.i1203 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i1202, 9223372036854775800 - br i1 %cmp.i.i.i.i.i1203, label %if.then.i.i.i.i.invoke.i.i1197, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE12_M_check_lenEmPKc.exit.i.i.i.i - -_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i1199 - %sub.ptr.div.i.i.i.i.i.i1204 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i1202, 24 - %.sroa.speculated.i.i.i.i.i1205 = select i1 %cmp.i101.not42.i.i148, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i1204 - %add.i.i.i.i.i1206 = add nsw i64 %.sroa.speculated.i.i.i.i.i1205, %sub.ptr.div.i.i.i.i.i.i1204 - %cmp7.i.i.i.i.i1207 = icmp ult i64 %add.i.i.i.i.i1206, %sub.ptr.div.i.i.i.i.i.i1204 - %cmp9.i.i.i.i.i1208 = icmp ugt i64 %add.i.i.i.i.i1206, 384307168202282325 - %or.cond.i.i.i.i.i1209 = or i1 %cmp7.i.i.i.i.i1207, %cmp9.i.i.i.i.i1208 - %cond.i.i.i.i.i1210 = select i1 %or.cond.i.i.i.i.i1209, i64 384307168202282325, i64 %add.i.i.i.i.i1206 - %cmp.not.i.i.i.i.i1211 = icmp eq i64 %cond.i.i.i.i.i1210, 0 - br i1 %cmp.not.i.i.i.i.i1211, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EEEE8allocateERSM_m.exit.i.i.i.i.i +if.else.i.i.i1200: ; preds = %if.then19.i.i161 + %sub.ptr.lhs.cast.i.i.i.i.i.i1201 = ptrtoint ptr %classes.val54.i.i147 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i1202 = ptrtoint ptr %classes.val.i.i146 to i64 + %sub.ptr.sub.i.i.i.i.i.i1203 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i1201, %sub.ptr.rhs.cast.i.i.i.i.i.i1202 + %cmp.i.i.i.i.i1204 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i1203, 9223372036854775800 + br i1 %cmp.i.i.i.i.i1204, label %if.then.i.i.i.i.invoke.i.i1198, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE12_M_check_lenEmPKc.exit.i.i.i.i + +_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i1200 + %sub.ptr.div.i.i.i.i.i.i1205 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i1203, 24 + %.sroa.speculated.i.i.i.i.i1206 = select i1 %cmp.i101.not42.i.i148, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i1205 + %add.i.i.i.i.i1207 = add nsw i64 %.sroa.speculated.i.i.i.i.i1206, %sub.ptr.div.i.i.i.i.i.i1205 + %cmp7.i.i.i.i.i1208 = icmp ult i64 %add.i.i.i.i.i1207, %sub.ptr.div.i.i.i.i.i.i1205 + %cmp9.i.i.i.i.i1209 = icmp ugt i64 %add.i.i.i.i.i1207, 384307168202282325 + %or.cond.i.i.i.i.i1210 = or i1 %cmp7.i.i.i.i.i1208, %cmp9.i.i.i.i.i1209 + %cond.i.i.i.i.i1211 = select i1 %or.cond.i.i.i.i.i1210, i64 384307168202282325, i64 %add.i.i.i.i.i1207 + %cmp.not.i.i.i.i.i1212 = icmp eq i64 %cond.i.i.i.i.i1211, 0 + br i1 %cmp.not.i.i.i.i.i1212, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EEEE8allocateERSM_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EEEE8allocateERSM_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE12_M_check_lenEmPKc.exit.i.i.i.i - %mul.i.i.i.i.i.i.i1212 = mul nuw nsw i64 %cond.i.i.i.i.i1210, 24 - %call5.i.i.i.i.i103.i.i1213 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i1212) #34 + %mul.i.i.i.i.i.i.i1213 = mul nuw nsw i64 %cond.i.i.i.i.i1211, 24 + %call5.i.i.i.i.i103.i.i1214 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i1213) #34 to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i178 _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EEEE8allocateERSM_m.exit.i.i.i.i.i, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i12.i.i.i.i1214 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i103.i.i1213, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EEEE8allocateERSM_m.exit.i.i.i.i.i ] - %add.ptr.i.i.i.i1215 = getelementptr inbounds %"class.std::vector.162", ptr %cond.i12.i.i.i.i1214, i64 %sub.ptr.div.i.i.i.i.i.i1204 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i1215, i8 0, i64 24, i1 false) - br i1 %cmp.i101.not42.i.i148, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i1216 - -for.body.i.i.i.i.i.i.i1216: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i1216 - %__cur.03.i.i.i.i.i.i.i1217 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i1224, %for.body.i.i.i.i.i.i.i1216 ], [ %cond.i12.i.i.i.i1214, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i1218 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i1223, %for.body.i.i.i.i.i.i.i1216 ], [ %classes.val.i.i146, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i ] + %cond.i12.i.i.i.i1215 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i103.i.i1214, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EEEE8allocateERSM_m.exit.i.i.i.i.i ] + %add.ptr.i.i.i.i1216 = getelementptr inbounds %"class.std::vector.162", ptr %cond.i12.i.i.i.i1215, i64 %sub.ptr.div.i.i.i.i.i.i1205 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i1216, i8 0, i64 24, i1 false) + br i1 %cmp.i101.not42.i.i148, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i1217 + +for.body.i.i.i.i.i.i.i1217: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i1217 + %__cur.03.i.i.i.i.i.i.i1218 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i1225, %for.body.i.i.i.i.i.i.i1217 ], [ %cond.i12.i.i.i.i1215, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i1219 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i1224, %for.body.i.i.i.i.i.i.i1217 ], [ %classes.val.i.i146, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !53) call void @llvm.experimental.noalias.scope.decl(metadata !56) - %340 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i1218, align 8, !alias.scope !56, !noalias !53 - store <2 x ptr> %340, ptr %__cur.03.i.i.i.i.i.i.i1217, align 8, !alias.scope !53, !noalias !56 - %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i1221 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.168", ptr %__cur.03.i.i.i.i.i.i.i1217, i64 0, i32 2 - %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i1222 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.168", ptr %__first.addr.02.i.i.i.i.i.i.i1218, i64 0, i32 2 - %341 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i1222, align 8, !alias.scope !56, !noalias !53 - store ptr %341, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i1221, align 8, !alias.scope !53, !noalias !56 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i1218, i8 0, i64 24, i1 false), !alias.scope !56, !noalias !53 - %incdec.ptr.i.i.i.i.i.i.i1223 = getelementptr inbounds %"class.std::vector.162", ptr %__first.addr.02.i.i.i.i.i.i.i1218, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i1224 = getelementptr inbounds %"class.std::vector.162", ptr %__cur.03.i.i.i.i.i.i.i1217, i64 1 - %cmp.not.i.i.i.i.i.i.i1225 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i1223, %classes.val54.i.i147 - br i1 %cmp.not.i.i.i.i.i.i.i1225, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i1216, !llvm.loop !58 - -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i1216, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i1226 = phi ptr [ %cond.i12.i.i.i.i1214, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i1224, %for.body.i.i.i.i.i.i.i1216 ] - %incdec.ptr.i.i.i.i1227 = getelementptr inbounds %"class.std::vector.162", ptr %__cur.0.lcssa.i.i.i.i.i.i.i1226, i64 1 - %tobool.not.i.i.i.i.i1228 = icmp eq ptr %classes.val.i.i146, null - br i1 %tobool.not.i.i.i.i.i1228, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i1229 - -if.then.i26.i.i.i.i1229: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i + %340 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i1219, align 8, !alias.scope !56, !noalias !53 + store <2 x ptr> %340, ptr %__cur.03.i.i.i.i.i.i.i1218, align 8, !alias.scope !53, !noalias !56 + %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i1222 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.168", ptr %__cur.03.i.i.i.i.i.i.i1218, i64 0, i32 2 + %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i1223 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.168", ptr %__first.addr.02.i.i.i.i.i.i.i1219, i64 0, i32 2 + %341 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i1223, align 8, !alias.scope !56, !noalias !53 + store ptr %341, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i1222, align 8, !alias.scope !53, !noalias !56 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i1219, i8 0, i64 24, i1 false), !alias.scope !56, !noalias !53 + %incdec.ptr.i.i.i.i.i.i.i1224 = getelementptr inbounds %"class.std::vector.162", ptr %__first.addr.02.i.i.i.i.i.i.i1219, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i1225 = getelementptr inbounds %"class.std::vector.162", ptr %__cur.03.i.i.i.i.i.i.i1218, i64 1 + %cmp.not.i.i.i.i.i.i.i1226 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i1224, %classes.val54.i.i147 + br i1 %cmp.not.i.i.i.i.i.i.i1226, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i1217, !llvm.loop !58 + +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i1217, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i1227 = phi ptr [ %cond.i12.i.i.i.i1215, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EESaISL_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i1225, %for.body.i.i.i.i.i.i.i1217 ] + %incdec.ptr.i.i.i.i1228 = getelementptr inbounds %"class.std::vector.162", ptr %__cur.0.lcssa.i.i.i.i.i.i.i1227, i64 1 + %tobool.not.i.i.i.i.i1229 = icmp eq ptr %classes.val.i.i146, null + br i1 %tobool.not.i.i.i.i.i1229, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i1230 + +if.then.i26.i.i.i.i1230: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i146) #33 br label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i1229, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i - store ptr %cond.i12.i.i.i.i1214, ptr %classes.i.i104, align 8, !noalias !49 - store ptr %incdec.ptr.i.i.i.i1227, ptr %337, align 8, !noalias !49 - %add.ptr19.i.i.i.i1230 = getelementptr inbounds %"class.std::vector.162", ptr %cond.i12.i.i.i.i1214, i64 %cond.i.i.i.i.i1210 - store ptr %add.ptr19.i.i.i.i1230, ptr %_M_end_of_storage.i.i.i136, align 8, !noalias !49 +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i1230, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit25.i.i.i.i + store ptr %cond.i12.i.i.i.i1215, ptr %classes.i.i104, align 8, !noalias !49 + store ptr %incdec.ptr.i.i.i.i1228, ptr %337, align 8, !noalias !49 + %add.ptr19.i.i.i.i1231 = getelementptr inbounds %"class.std::vector.162", ptr %cond.i12.i.i.i.i1215, i64 %cond.i.i.i.i.i1211 + store ptr %add.ptr19.i.i.i.i1231, ptr %_M_end_of_storage.i.i.i136, align 8, !noalias !49 br label %if.end23.i.i165 if.end23.i.i165: ; preds = %invoke.cont.i.i152, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i, %if.then.i.i.i163 - %c.1.i.i166 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i1226, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i147, %if.then.i.i.i163 ], [ %__begin05.sroa.0.043.i.i153, %invoke.cont.i.i152 ] + %c.1.i.i166 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i1227, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EESaISK_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i147, %if.then.i.i.i163 ], [ %__begin05.sroa.0.043.i.i153, %invoke.cont.i.i152 ] %_M_finish.i.i.i.i167 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.168", ptr %c.1.i.i166, i64 0, i32 1 %342 = load ptr, ptr %_M_finish.i.i.i.i167, align 8 %_M_end_of_storage.i.i.i.i168 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.168", ptr %c.1.i.i166, i64 0, i32 2 @@ -7995,13 +7996,13 @@ if.else.i.i.i.i1171: ; preds = %if.end23.i.i165 %sub.ptr.rhs.cast.i.i.i.i.i.i.i1174 = ptrtoint ptr %this.val.i.i.i.i.i1172 to i64 %sub.ptr.sub.i.i.i.i.i.i.i1175 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i1173, %sub.ptr.rhs.cast.i.i.i.i.i.i.i1174 %cmp.i.i.i.i106.i.i1176 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i1175, 9223372036854775792 - br i1 %cmp.i.i.i.i106.i.i1176, label %if.then.i.i.i.i.invoke.i.i1197, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + br i1 %cmp.i.i.i.i106.i.i1176, label %if.then.i.i.i.i.invoke.i.i1198, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE12_M_check_lenEmPKc.exit.i.i.i.i.i -if.then.i.i.i.i.invoke.i.i1197: ; preds = %if.else.i.i.i.i1171, %if.else.i.i.i1199 +if.then.i.i.i.i.invoke.i.i1198: ; preds = %if.else.i.i.i.i1171, %if.else.i.i.i1200 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.117) #32 - to label %if.then.i.i.i.i.cont.i.i1198 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i1026 + to label %if.then.i.i.i.i.cont.i.i1199 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i1026 -if.then.i.i.i.i.cont.i.i1198: ; preds = %if.then.i.i.i.i.invoke.i.i1197 +if.then.i.i.i.i.cont.i.i1199: ; preds = %if.then.i.i.i.i.invoke.i.i1198 unreachable _ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i1171 @@ -8027,31 +8028,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.045.i.ptr.i145, ptr %add.ptr.i.i.i.i.i1189, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i1190 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i1189, i64 8 store i64 %i.046.i.i143, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i1190, align 8 - %cmp.i.i.i13.i.i.i.i.i1191 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i1177, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i1191, label %if.then.i.i.i14.i.i.i.i.i1196, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i1191 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i1175, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i1191, label %if.then.i.i.i14.i.i.i.i.i1197, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i -if.then.i.i.i14.i.i.i.i.i1196: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i +if.then.i.i.i14.i.i.i.i.i1197: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i1188, ptr align 8 %this.val.i.i.i.i.i1172, i64 %sub.ptr.sub.i.i.i.i.i.i.i1175, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i1196, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i1192 = getelementptr inbounds %struct.Info.169, ptr %add.ptr.i.i.i.i.i1189, i64 1 - %tobool.not.i.i.i.i.i.i1193 = icmp eq ptr %this.val.i.i.i.i.i1172, null - br i1 %tobool.not.i.i.i.i.i.i1193, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i1194 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i1197, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i1192 = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i1188, i64 %sub.ptr.sub.i.i.i.i.i.i.i1175 + %incdec.ptr.i.i.i.i.i1193 = getelementptr inbounds %struct.Info.169, ptr %add.ptr.i.i.i.i.i.i.i.i1192, i64 1 + %tobool.not.i.i.i.i.i.i1194 = icmp eq ptr %this.val.i.i.i.i.i1172, null + br i1 %tobool.not.i.i.i.i.i.i1194, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i1195 -if.then.i23.i.i.i.i.i1194: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i.i1195: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i1172) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i1194, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i1195, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i.i1188, ptr %c.1.i.i166, align 8 - store ptr %incdec.ptr.i.i.i.i.i1192, ptr %_M_finish.i.i.i.i167, align 8 - %add.ptr19.i.i.i.i.i1195 = getelementptr inbounds %struct.Info.169, ptr %cond.i12.i.i.i.i.i1188, i64 %cond.i.i.i.i.i.i1184 - store ptr %add.ptr19.i.i.i.i.i1195, ptr %_M_end_of_storage.i.i.i.i168, align 8 + store ptr %incdec.ptr.i.i.i.i.i1193, ptr %_M_finish.i.i.i.i167, align 8 + %add.ptr19.i.i.i.i.i1196 = getelementptr inbounds %struct.Info.169, ptr %cond.i12.i.i.i.i.i1188, i64 %cond.i.i.i.i.i.i1184 + store ptr %add.ptr19.i.i.i.i.i1196, ptr %_M_end_of_storage.i.i.i.i168, align 8 br label %invoke.cont26.i.i173 invoke.cont26.i.i173: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i170 - %345 = phi ptr [ %add.ptr.i.i.i.i.i1189, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i ], [ %344, %if.then.i.i.i.i170 ] + %345 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i1192, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_19EnumClassEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i ], [ %344, %if.then.i.i.i.i170 ] %inc.i.i174 = add nuw nsw i64 %i.046.i.i143, 1 %call28.val.i.i175 = load ptr, ptr %345, align 8 %call28.val.val.i.i176 = load ptr, ptr %call28.val.i.i175, align 8 @@ -10599,8 +10601,8 @@ _ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJN12_GLOBAL__N_ call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i130) #33 %659 = load i8, ptr %gtest_ar_84, align 8 %660 = and i8 %659, 1 - %tobool.i1231.not = icmp eq i8 %660, 0 - br i1 %tobool.i1231.not, label %if.else93, label %if.end108 + %tobool.i1232.not = icmp eq i8 %660, 0 + br i1 %tobool.i1232.not, label %if.else93, label %if.end108 ehcleanup83: ; preds = %_ZN7testing7MessageD2Ev.exit74, %lpad63 %.pn12.pn.pn = phi { ptr, i32 } [ %.pn12.pn, %_ZN7testing7MessageD2Ev.exit74 ], [ %326, %lpad63 ] @@ -10633,17 +10635,17 @@ invoke.cont104: ; preds = %invoke.cont102 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp96) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp97) #30 %662 = load ptr, ptr %ref.tmp94, align 8 - %cmp.not.i.i1232 = icmp eq ptr %662, null - br i1 %cmp.not.i.i1232, label %_ZN7testing7MessageD2Ev.exit1236, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1233 + %cmp.not.i.i1233 = icmp eq ptr %662, null + br i1 %cmp.not.i.i1233, label %_ZN7testing7MessageD2Ev.exit1237, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1234 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1233: ; preds = %invoke.cont104 - %vtable.i.i.i1234 = load ptr, ptr %662, align 8 - %vfn.i.i.i1235 = getelementptr inbounds ptr, ptr %vtable.i.i.i1234, i64 1 - %663 = load ptr, ptr %vfn.i.i.i1235, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1234: ; preds = %invoke.cont104 + %vtable.i.i.i1235 = load ptr, ptr %662, align 8 + %vfn.i.i.i1236 = getelementptr inbounds ptr, ptr %vtable.i.i.i1235, i64 1 + %663 = load ptr, ptr %vfn.i.i.i1236, align 8 call void %663(ptr noundef nonnull align 8 dereferenceable(128) %662) #30 - br label %_ZN7testing7MessageD2Ev.exit1236 + br label %_ZN7testing7MessageD2Ev.exit1237 -_ZN7testing7MessageD2Ev.exit1236: ; preds = %invoke.cont104, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1233 +_ZN7testing7MessageD2Ev.exit1237: ; preds = %invoke.cont104, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1234 store ptr null, ptr %ref.tmp94, align 8 br label %if.end108 @@ -10671,33 +10673,33 @@ ehcleanup106: ; preds = %lpad103, %lpad101 ehcleanup107: ; preds = %ehcleanup106, %lpad98 %.pn16.pn = phi { ptr, i32 } [ %.pn16, %ehcleanup106 ], [ %664, %lpad98 ] %667 = load ptr, ptr %ref.tmp94, align 8 - %cmp.not.i.i1237 = icmp eq ptr %667, null - br i1 %cmp.not.i.i1237, label %_ZN7testing7MessageD2Ev.exit1241, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1238 + %cmp.not.i.i1238 = icmp eq ptr %667, null + br i1 %cmp.not.i.i1238, label %_ZN7testing7MessageD2Ev.exit1242, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1239 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1238: ; preds = %ehcleanup107 - %vtable.i.i.i1239 = load ptr, ptr %667, align 8 - %vfn.i.i.i1240 = getelementptr inbounds ptr, ptr %vtable.i.i.i1239, i64 1 - %668 = load ptr, ptr %vfn.i.i.i1240, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1239: ; preds = %ehcleanup107 + %vtable.i.i.i1240 = load ptr, ptr %667, align 8 + %vfn.i.i.i1241 = getelementptr inbounds ptr, ptr %vtable.i.i.i1240, i64 1 + %668 = load ptr, ptr %vfn.i.i.i1241, align 8 call void %668(ptr noundef nonnull align 8 dereferenceable(128) %667) #30 - br label %_ZN7testing7MessageD2Ev.exit1241 + br label %_ZN7testing7MessageD2Ev.exit1242 -_ZN7testing7MessageD2Ev.exit1241: ; preds = %ehcleanup107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1238 +_ZN7testing7MessageD2Ev.exit1242: ; preds = %ehcleanup107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1239 store ptr null, ptr %ref.tmp94, align 8 br label %ehcleanup109 -if.end108: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJN12_GLOBAL__N_19EnumClassES4_S4_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit1236 - %message_.i1242 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_84, i64 0, i32 1 - %669 = load ptr, ptr %message_.i1242, align 8 - %cmp.not.i.i1243 = icmp eq ptr %669, null - br i1 %cmp.not.i.i1243, label %_ZN7testing15AssertionResultD2Ev.exit1245, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1244 +if.end108: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJN12_GLOBAL__N_19EnumClassES4_S4_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit1237 + %message_.i1243 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_84, i64 0, i32 1 + %669 = load ptr, ptr %message_.i1243, align 8 + %cmp.not.i.i1244 = icmp eq ptr %669, null + br i1 %cmp.not.i.i1244, label %_ZN7testing15AssertionResultD2Ev.exit1246, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1245 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1244: ; preds = %if.end108 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1245: ; preds = %if.end108 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %669) #30 call void @_ZdlPv(ptr noundef nonnull %669) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit1245 + br label %_ZN7testing15AssertionResultD2Ev.exit1246 -_ZN7testing15AssertionResultD2Ev.exit1245: ; preds = %if.end108, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1244 - store ptr null, ptr %message_.i1242, align 8 +_ZN7testing15AssertionResultD2Ev.exit1246: ; preds = %if.end108, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1245 + store ptr null, ptr %message_.i1243, align 8 store i8 0, ptr %ref.tmp111, align 1, !alias.scope !64 %670 = getelementptr inbounds i8, ptr %ref.tmp111, i64 1 store i8 1, ptr %670, align 1, !alias.scope !64 @@ -10706,7 +10708,7 @@ _ZN7testing15AssertionResultD2Ev.exit1245: ; preds = %if.end108, %_ZNKSt1 call void @llvm.experimental.noalias.scope.decl(metadata !70) %call5.i.i.i.i2.i.i.i.i = call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #34, !noalias !73 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !76, !noalias !77 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.199", ptr %call5.i.i.i.i2.i.i.i.i, i64 2 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 32 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !76, !noalias !77 store ptr %670, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !73 @@ -10721,16 +10723,16 @@ _ZN7testing15AssertionResultD2Ev.exit1245: ; preds = %if.end108, %_ZNKSt1 invoke void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKbEESaIS6_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp.i) to label %invoke.cont.i unwind label %lpad.i -invoke.cont.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1245 +invoke.cont.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1246 %671 = load ptr, ptr %ref.tmp.i, align 8, !noalias !77 %tobool.not.i.i.i.i = icmp eq ptr %671, null - br i1 %tobool.not.i.i.i.i, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJbbEEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i.i1247 + br i1 %tobool.not.i.i.i.i, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJbbEEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i.i1248 -if.then.i.i.i.i1247: ; preds = %invoke.cont.i +if.then.i.i.i.i1248: ; preds = %invoke.cont.i call void @_ZdlPv(ptr noundef nonnull %671) #33 br label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJbbEEEEN7testing15AssertionResultERKT0_.exit -lpad.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1245 +lpad.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1246 %672 = landingpad { ptr, i32 } cleanup %673 = load ptr, ptr %ref.tmp.i, align 8, !noalias !77 @@ -10741,15 +10743,15 @@ if.then.i.i.i2.i: ; preds = %lpad.i call void @_ZdlPv(ptr noundef nonnull %673) #33 br label %common.resume -_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJbbEEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i1247 +_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJbbEEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i, %if.then.i.i.i.i1248 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %ref.tmp.i) %674 = load i8, ptr %gtest_ar_110, align 8 %675 = and i8 %674, 1 - %tobool.i1248.not = icmp eq i8 %675, 0 - br i1 %tobool.i1248.not, label %if.else118, label %if.end133 + %tobool.i1249.not = icmp eq i8 %675, 0 + br i1 %tobool.i1249.not, label %if.else118, label %if.end133 -ehcleanup109: ; preds = %_ZN7testing7MessageD2Ev.exit1241, %lpad89 - %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %_ZN7testing7MessageD2Ev.exit1241 ], [ %661, %lpad89 ] +ehcleanup109: ; preds = %_ZN7testing7MessageD2Ev.exit1242, %lpad89 + %.pn16.pn.pn = phi { ptr, i32 } [ %.pn16.pn, %_ZN7testing7MessageD2Ev.exit1242 ], [ %661, %lpad89 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_84) #30 br label %common.resume @@ -10779,17 +10781,17 @@ invoke.cont129: ; preds = %invoke.cont127 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp121) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122) #30 %677 = load ptr, ptr %ref.tmp119, align 8 - %cmp.not.i.i1249 = icmp eq ptr %677, null - br i1 %cmp.not.i.i1249, label %_ZN7testing7MessageD2Ev.exit1253, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1250 + %cmp.not.i.i1250 = icmp eq ptr %677, null + br i1 %cmp.not.i.i1250, label %_ZN7testing7MessageD2Ev.exit1254, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1251 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1250: ; preds = %invoke.cont129 - %vtable.i.i.i1251 = load ptr, ptr %677, align 8 - %vfn.i.i.i1252 = getelementptr inbounds ptr, ptr %vtable.i.i.i1251, i64 1 - %678 = load ptr, ptr %vfn.i.i.i1252, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1251: ; preds = %invoke.cont129 + %vtable.i.i.i1252 = load ptr, ptr %677, align 8 + %vfn.i.i.i1253 = getelementptr inbounds ptr, ptr %vtable.i.i.i1252, i64 1 + %678 = load ptr, ptr %vfn.i.i.i1253, align 8 call void %678(ptr noundef nonnull align 8 dereferenceable(128) %677) #30 - br label %_ZN7testing7MessageD2Ev.exit1253 + br label %_ZN7testing7MessageD2Ev.exit1254 -_ZN7testing7MessageD2Ev.exit1253: ; preds = %invoke.cont129, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1250 +_ZN7testing7MessageD2Ev.exit1254: ; preds = %invoke.cont129, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1251 store ptr null, ptr %ref.tmp119, align 8 br label %if.end133 @@ -10817,36 +10819,36 @@ ehcleanup131: ; preds = %lpad128, %lpad126 ehcleanup132: ; preds = %ehcleanup131, %lpad123 %.pn20.pn = phi { ptr, i32 } [ %.pn20, %ehcleanup131 ], [ %679, %lpad123 ] %682 = load ptr, ptr %ref.tmp119, align 8 - %cmp.not.i.i1254 = icmp eq ptr %682, null - br i1 %cmp.not.i.i1254, label %_ZN7testing7MessageD2Ev.exit1258, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1255 + %cmp.not.i.i1255 = icmp eq ptr %682, null + br i1 %cmp.not.i.i1255, label %_ZN7testing7MessageD2Ev.exit1259, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1256 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1255: ; preds = %ehcleanup132 - %vtable.i.i.i1256 = load ptr, ptr %682, align 8 - %vfn.i.i.i1257 = getelementptr inbounds ptr, ptr %vtable.i.i.i1256, i64 1 - %683 = load ptr, ptr %vfn.i.i.i1257, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1256: ; preds = %ehcleanup132 + %vtable.i.i.i1257 = load ptr, ptr %682, align 8 + %vfn.i.i.i1258 = getelementptr inbounds ptr, ptr %vtable.i.i.i1257, i64 1 + %683 = load ptr, ptr %vfn.i.i.i1258, align 8 call void %683(ptr noundef nonnull align 8 dereferenceable(128) %682) #30 - br label %_ZN7testing7MessageD2Ev.exit1258 + br label %_ZN7testing7MessageD2Ev.exit1259 -_ZN7testing7MessageD2Ev.exit1258: ; preds = %ehcleanup132, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1255 +_ZN7testing7MessageD2Ev.exit1259: ; preds = %ehcleanup132, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1256 store ptr null, ptr %ref.tmp119, align 8 br label %ehcleanup134 -if.end133: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJbbEEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit1253 - %message_.i1259 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_110, i64 0, i32 1 - %684 = load ptr, ptr %message_.i1259, align 8 - %cmp.not.i.i1260 = icmp eq ptr %684, null - br i1 %cmp.not.i.i1260, label %_ZN7testing15AssertionResultD2Ev.exit1262, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1261 +if.end133: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJbbEEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit1254 + %message_.i1260 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_110, i64 0, i32 1 + %684 = load ptr, ptr %message_.i1260, align 8 + %cmp.not.i.i1261 = icmp eq ptr %684, null + br i1 %cmp.not.i.i1261, label %_ZN7testing15AssertionResultD2Ev.exit1263, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1262 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1261: ; preds = %if.end133 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1262: ; preds = %if.end133 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %684) #30 call void @_ZdlPv(ptr noundef nonnull %684) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit1262 + br label %_ZN7testing15AssertionResultD2Ev.exit1263 -_ZN7testing15AssertionResultD2Ev.exit1262: ; preds = %if.end133, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1261 +_ZN7testing15AssertionResultD2Ev.exit1263: ; preds = %if.end133, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1262 ret void -ehcleanup134: ; preds = %_ZN7testing7MessageD2Ev.exit1258, %lpad114 - %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit1258 ], [ %676, %lpad114 ] +ehcleanup134: ; preds = %_ZN7testing7MessageD2Ev.exit1259, %lpad114 + %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %_ZN7testing7MessageD2Ev.exit1259 ], [ %676, %lpad114 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110) #30 br label %common.resume } @@ -18977,23 +18979,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKbEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %18, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKbEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.226, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKbEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.226, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %18) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.226, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -19001,7 +19004,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, %if.then.i.i - %19 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %17, %if.then.i.i ] + %19 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKbEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %17, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %20 = load ptr, ptr %19, align 8, !noalias !247 @@ -25290,7 +25293,7 @@ if.end: tail call void @llvm.experimental.noalias.scope.decl(metadata !490) %call5.i.i.i.i2.i.i.i.i = tail call noalias noundef nonnull dereferenceable(80) ptr @_Znwm(i64 noundef 80) #34, !noalias !493 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !496, !noalias !497 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.300", ptr %call5.i.i.i.i2.i.i.i.i, i64 5 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 80 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !496, !noalias !497 store ptr %3, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !493 @@ -25451,7 +25454,7 @@ _ZN7testing15AssertionResultD2Ev.exit78: ; preds = %if.end82, %_ZNKSt14 call void @llvm.experimental.noalias.scope.decl(metadata !504) %call5.i.i.i.i2.i.i.i.i80 = call noalias noundef nonnull dereferenceable(80) ptr @_Znwm(i64 noundef 80) #34, !noalias !507 store ptr %call5.i.i.i.i2.i.i.i.i80, ptr %ref.tmp.i79, align 8, !alias.scope !510, !noalias !511 - %add.ptr.i1.i.i.i.i85 = getelementptr inbounds %"class.std::variant.355", ptr %call5.i.i.i.i2.i.i.i.i80, i64 5 + %add.ptr.i1.i.i.i.i85 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i80, i64 80 %_M_end_of_storage.i.i.i.i.i86 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp.i79, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i85, ptr %_M_end_of_storage.i.i.i.i.i86, align 8, !alias.scope !510, !noalias !511 store ptr %21, ptr %call5.i.i.i.i2.i.i.i.i80, align 8, !noalias !507 @@ -25746,7 +25749,7 @@ entry: %add.ptr.i.i.i10.i.i = getelementptr inbounds i8, ptr %values, i64 128 %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %values, i64 144 store ptr %call5.i.i.i.i2.i.i.i, ptr %ref.tmp, align 8, !alias.scope !521 - %add.ptr.i1.i.i.i = getelementptr inbounds %"class.std::variant.409", ptr %call5.i.i.i.i2.i.i.i, i64 10 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 160 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !alias.scope !521 store ptr %add.ptr.i.i.i.i.i, ptr %call5.i.i.i.i2.i.i.i, align 8, !noalias !521 @@ -26031,23 +26034,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKfEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKfEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.327, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKfEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.327, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.327, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -26055,7 +26059,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKfEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !522 @@ -31246,23 +31250,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKdEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKdEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.382, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKdEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.382, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.382, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -31270,7 +31275,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKdEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !759 @@ -36460,23 +36465,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKeEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKeEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.436, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKeEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.436, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.436, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -36484,7 +36490,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKeEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !996 @@ -43463,7 +43469,7 @@ if.end: call void @llvm.experimental.noalias.scope.decl(metadata !1236) %call5.i.i.i.i2.i.i.i.i = call noalias noundef nonnull dereferenceable(80) ptr @_Znwm(i64 noundef 80) #34, !noalias !1239 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !1242, !noalias !1243 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.475", ptr %call5.i.i.i.i2.i.i.i.i, i64 5 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 80 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !1242, !noalias !1243 store ptr %3, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !1239 @@ -43849,23 +43855,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.01045, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.01046, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKDnPKPiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKDnPKPiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.504, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKDnPKPiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.504, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.504, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -43873,7 +43880,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKDnPKPiEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.01046, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !1244 @@ -56738,213 +56745,213 @@ entry: ; Function Attrs: mustprogress uwtable define internal void @_ZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { if.end: - %ref.tmp.i712.i.i4554 = alloca %"class.testing::Message", align 8 - %ref.tmp.i694.i.i4555 = alloca %"class.testing::Message", align 8 - %ref.tmp.i675.i.i4556 = alloca %"class.testing::Message", align 8 - %ref.tmp.i657.i.i4557 = alloca %"class.testing::Message", align 8 - %ref.tmp.i639.i.i4558 = alloca %"class.testing::Message", align 8 - %ref.tmp.i617.i.i4559 = alloca %"class.testing::Message", align 8 - %ref.tmp.i599.i.i4560 = alloca %"class.testing::Message", align 8 - %ref.tmp.i581.i.i4561 = alloca %"class.testing::Message", align 8 - %ref.tmp.i563.i.i4562 = alloca %"class.testing::Message", align 8 - %ref.tmp.i546.i.i4563 = alloca %"class.testing::Message", align 8 - %ref.tmp.i523.i.i4564 = alloca %"class.testing::Message", align 8 - %ref.tmp.i505.i.i4565 = alloca %"class.testing::Message", align 8 - %ref.tmp.i486.i.i4566 = alloca %"class.testing::Message", align 8 - %ref.tmp.i468.i.i4567 = alloca %"class.testing::Message", align 8 - %ref.tmp.i450.i.i4568 = alloca %"class.testing::Message", align 8 - %ref.tmp.i426.i.i4569 = alloca %"class.testing::Message", align 8 - %ref.tmp.i408.i.i4570 = alloca %"class.testing::Message", align 8 - %ref.tmp.i390.i.i4571 = alloca %"class.testing::Message", align 8 - %ref.tmp.i372.i.i4572 = alloca %"class.testing::Message", align 8 - %ref.tmp.i355.i.i4573 = alloca %"class.testing::Message", align 8 - %ref.tmp.i286.i.i4574 = alloca %"class.testing::Message", align 8 - %ref.tmp.i268.i.i4575 = alloca %"class.testing::Message", align 8 - %ref.tmp.i251.i.i4576 = alloca %"class.testing::Message", align 8 - %ref.tmp.i139.i.i4577 = alloca %"class.testing::Message", align 8 - %ref.tmp.i.i.i4578 = alloca %"class.testing::Message", align 8 - %classes.i.i4579 = alloca %"class.std::vector.1000", align 8 - %error.i.i4580 = alloca %"class.std::optional", align 8 - %ref.tmp27.i.i4581 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp34.i.i4582 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp49.i.i4583 = alloca %"class.testing::AssertionResult", align 8 - %expected.i.i4584 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp82.i.i4585 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp85.i.i4586 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp94.i.i4587 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp99.i.i4588 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp110.i.i4589 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp117.i.i4590 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp122.i.i4591 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp130.i.i4592 = alloca %"class.std::__cxx11::basic_string", align 8 - %c2_hash.i.i4593 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp164.i.i4594 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp169.i.i4595 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp177.i.i4596 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp190.i.i4597 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp195.i.i4598 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp203.i.i4599 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp216.i.i4600 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp221.i.i4601 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp229.i.i4602 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp.i712.i.i3379 = alloca %"class.testing::Message", align 8 - %ref.tmp.i694.i.i3380 = alloca %"class.testing::Message", align 8 - %ref.tmp.i675.i.i3381 = alloca %"class.testing::Message", align 8 - %ref.tmp.i657.i.i3382 = alloca %"class.testing::Message", align 8 - %ref.tmp.i639.i.i3383 = alloca %"class.testing::Message", align 8 - %ref.tmp.i617.i.i3384 = alloca %"class.testing::Message", align 8 - %ref.tmp.i599.i.i3385 = alloca %"class.testing::Message", align 8 - %ref.tmp.i581.i.i3386 = alloca %"class.testing::Message", align 8 - %ref.tmp.i563.i.i3387 = alloca %"class.testing::Message", align 8 - %ref.tmp.i546.i.i3388 = alloca %"class.testing::Message", align 8 - %ref.tmp.i523.i.i3389 = alloca %"class.testing::Message", align 8 - %ref.tmp.i505.i.i3390 = alloca %"class.testing::Message", align 8 - %ref.tmp.i486.i.i3391 = alloca %"class.testing::Message", align 8 - %ref.tmp.i468.i.i3392 = alloca %"class.testing::Message", align 8 - %ref.tmp.i450.i.i3393 = alloca %"class.testing::Message", align 8 - %ref.tmp.i426.i.i3394 = alloca %"class.testing::Message", align 8 - %ref.tmp.i408.i.i3395 = alloca %"class.testing::Message", align 8 - %ref.tmp.i390.i.i3396 = alloca %"class.testing::Message", align 8 - %ref.tmp.i372.i.i3397 = alloca %"class.testing::Message", align 8 - %ref.tmp.i355.i.i3398 = alloca %"class.testing::Message", align 8 - %ref.tmp.i286.i.i3399 = alloca %"class.testing::Message", align 8 - %ref.tmp.i268.i.i3400 = alloca %"class.testing::Message", align 8 - %ref.tmp.i251.i.i3401 = alloca %"class.testing::Message", align 8 - %ref.tmp.i139.i.i3402 = alloca %"class.testing::Message", align 8 - %ref.tmp.i.i.i3403 = alloca %"class.testing::Message", align 8 - %classes.i.i3404 = alloca %"class.std::vector.944", align 8 - %error.i.i3405 = alloca %"class.std::optional", align 8 - %ref.tmp27.i.i3406 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp34.i.i3407 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp49.i.i3408 = alloca %"class.testing::AssertionResult", align 8 - %expected.i.i3409 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp82.i.i3410 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp85.i.i3411 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp94.i.i3412 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp99.i.i3413 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp110.i.i3414 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp117.i.i3415 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp122.i.i3416 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp130.i.i3417 = alloca %"class.std::__cxx11::basic_string", align 8 - %c2_hash.i.i3418 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp164.i.i3419 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp169.i.i3420 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp177.i.i3421 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp190.i.i3422 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp195.i.i3423 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp203.i.i3424 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp216.i.i3425 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp221.i.i3426 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp229.i.i3427 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp.i712.i.i2204 = alloca %"class.testing::Message", align 8 - %ref.tmp.i694.i.i2205 = alloca %"class.testing::Message", align 8 - %ref.tmp.i675.i.i2206 = alloca %"class.testing::Message", align 8 - %ref.tmp.i657.i.i2207 = alloca %"class.testing::Message", align 8 - %ref.tmp.i639.i.i2208 = alloca %"class.testing::Message", align 8 - %ref.tmp.i617.i.i2209 = alloca %"class.testing::Message", align 8 - %ref.tmp.i599.i.i2210 = alloca %"class.testing::Message", align 8 - %ref.tmp.i581.i.i2211 = alloca %"class.testing::Message", align 8 - %ref.tmp.i563.i.i2212 = alloca %"class.testing::Message", align 8 - %ref.tmp.i546.i.i2213 = alloca %"class.testing::Message", align 8 - %ref.tmp.i523.i.i2214 = alloca %"class.testing::Message", align 8 - %ref.tmp.i505.i.i2215 = alloca %"class.testing::Message", align 8 - %ref.tmp.i486.i.i2216 = alloca %"class.testing::Message", align 8 - %ref.tmp.i468.i.i2217 = alloca %"class.testing::Message", align 8 - %ref.tmp.i450.i.i2218 = alloca %"class.testing::Message", align 8 - %ref.tmp.i426.i.i2219 = alloca %"class.testing::Message", align 8 - %ref.tmp.i408.i.i2220 = alloca %"class.testing::Message", align 8 - %ref.tmp.i390.i.i2221 = alloca %"class.testing::Message", align 8 - %ref.tmp.i372.i.i2222 = alloca %"class.testing::Message", align 8 - %ref.tmp.i355.i.i2223 = alloca %"class.testing::Message", align 8 - %ref.tmp.i286.i.i2224 = alloca %"class.testing::Message", align 8 - %ref.tmp.i268.i.i2225 = alloca %"class.testing::Message", align 8 - %ref.tmp.i251.i.i2226 = alloca %"class.testing::Message", align 8 - %ref.tmp.i139.i.i2227 = alloca %"class.testing::Message", align 8 - %ref.tmp.i.i.i2228 = alloca %"class.testing::Message", align 8 - %classes.i.i2229 = alloca %"class.std::vector.888", align 8 - %error.i.i2230 = alloca %"class.std::optional", align 8 - %ref.tmp27.i.i2231 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp34.i.i2232 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp49.i.i2233 = alloca %"class.testing::AssertionResult", align 8 - %expected.i.i2234 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp82.i.i2235 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp85.i.i2236 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp94.i.i2237 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp99.i.i2238 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp110.i.i2239 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp117.i.i2240 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp122.i.i2241 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp130.i.i2242 = alloca %"class.std::__cxx11::basic_string", align 8 - %c2_hash.i.i2243 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp164.i.i2244 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp169.i.i2245 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp177.i.i2246 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp190.i.i2247 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp195.i.i2248 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp203.i.i2249 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp216.i.i2250 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp221.i.i2251 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp229.i.i2252 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp.i712.i.i1029 = alloca %"class.testing::Message", align 8 - %ref.tmp.i694.i.i1030 = alloca %"class.testing::Message", align 8 - %ref.tmp.i675.i.i1031 = alloca %"class.testing::Message", align 8 - %ref.tmp.i657.i.i1032 = alloca %"class.testing::Message", align 8 - %ref.tmp.i639.i.i1033 = alloca %"class.testing::Message", align 8 - %ref.tmp.i617.i.i1034 = alloca %"class.testing::Message", align 8 - %ref.tmp.i599.i.i1035 = alloca %"class.testing::Message", align 8 - %ref.tmp.i581.i.i1036 = alloca %"class.testing::Message", align 8 - %ref.tmp.i563.i.i1037 = alloca %"class.testing::Message", align 8 - %ref.tmp.i546.i.i1038 = alloca %"class.testing::Message", align 8 - %ref.tmp.i523.i.i1039 = alloca %"class.testing::Message", align 8 - %ref.tmp.i505.i.i1040 = alloca %"class.testing::Message", align 8 - %ref.tmp.i486.i.i1041 = alloca %"class.testing::Message", align 8 - %ref.tmp.i468.i.i1042 = alloca %"class.testing::Message", align 8 - %ref.tmp.i450.i.i1043 = alloca %"class.testing::Message", align 8 - %ref.tmp.i426.i.i1044 = alloca %"class.testing::Message", align 8 - %ref.tmp.i408.i.i1045 = alloca %"class.testing::Message", align 8 - %ref.tmp.i390.i.i1046 = alloca %"class.testing::Message", align 8 - %ref.tmp.i372.i.i1047 = alloca %"class.testing::Message", align 8 - %ref.tmp.i355.i.i1048 = alloca %"class.testing::Message", align 8 - %ref.tmp.i286.i.i1049 = alloca %"class.testing::Message", align 8 - %ref.tmp.i268.i.i1050 = alloca %"class.testing::Message", align 8 - %ref.tmp.i251.i.i1051 = alloca %"class.testing::Message", align 8 - %ref.tmp.i139.i.i1052 = alloca %"class.testing::Message", align 8 - %ref.tmp.i.i.i1053 = alloca %"class.testing::Message", align 8 - %classes.i.i1054 = alloca %"class.std::vector.832", align 8 - %error.i.i1055 = alloca %"class.std::optional", align 8 - %ref.tmp27.i.i1056 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp34.i.i1057 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp49.i.i1058 = alloca %"class.testing::AssertionResult", align 8 - %expected.i.i1059 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp82.i.i1060 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp85.i.i1061 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp94.i.i1062 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp99.i.i1063 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp110.i.i1064 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp117.i.i1065 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp122.i.i1066 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp130.i.i1067 = alloca %"class.std::__cxx11::basic_string", align 8 - %c2_hash.i.i1068 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp164.i.i1069 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp169.i.i1070 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp177.i.i1071 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp190.i.i1072 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp195.i.i1073 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp203.i.i1074 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp216.i.i1075 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp221.i.i1076 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp229.i.i1077 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp.i712.i.i4559 = alloca %"class.testing::Message", align 8 + %ref.tmp.i694.i.i4560 = alloca %"class.testing::Message", align 8 + %ref.tmp.i675.i.i4561 = alloca %"class.testing::Message", align 8 + %ref.tmp.i657.i.i4562 = alloca %"class.testing::Message", align 8 + %ref.tmp.i639.i.i4563 = alloca %"class.testing::Message", align 8 + %ref.tmp.i617.i.i4564 = alloca %"class.testing::Message", align 8 + %ref.tmp.i599.i.i4565 = alloca %"class.testing::Message", align 8 + %ref.tmp.i581.i.i4566 = alloca %"class.testing::Message", align 8 + %ref.tmp.i563.i.i4567 = alloca %"class.testing::Message", align 8 + %ref.tmp.i546.i.i4568 = alloca %"class.testing::Message", align 8 + %ref.tmp.i523.i.i4569 = alloca %"class.testing::Message", align 8 + %ref.tmp.i505.i.i4570 = alloca %"class.testing::Message", align 8 + %ref.tmp.i486.i.i4571 = alloca %"class.testing::Message", align 8 + %ref.tmp.i468.i.i4572 = alloca %"class.testing::Message", align 8 + %ref.tmp.i450.i.i4573 = alloca %"class.testing::Message", align 8 + %ref.tmp.i426.i.i4574 = alloca %"class.testing::Message", align 8 + %ref.tmp.i408.i.i4575 = alloca %"class.testing::Message", align 8 + %ref.tmp.i390.i.i4576 = alloca %"class.testing::Message", align 8 + %ref.tmp.i372.i.i4577 = alloca %"class.testing::Message", align 8 + %ref.tmp.i355.i.i4578 = alloca %"class.testing::Message", align 8 + %ref.tmp.i286.i.i4579 = alloca %"class.testing::Message", align 8 + %ref.tmp.i268.i.i4580 = alloca %"class.testing::Message", align 8 + %ref.tmp.i251.i.i4581 = alloca %"class.testing::Message", align 8 + %ref.tmp.i139.i.i4582 = alloca %"class.testing::Message", align 8 + %ref.tmp.i.i.i4583 = alloca %"class.testing::Message", align 8 + %classes.i.i4584 = alloca %"class.std::vector.1000", align 8 + %error.i.i4585 = alloca %"class.std::optional", align 8 + %ref.tmp27.i.i4586 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp34.i.i4587 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp49.i.i4588 = alloca %"class.testing::AssertionResult", align 8 + %expected.i.i4589 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp82.i.i4590 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp85.i.i4591 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp94.i.i4592 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp99.i.i4593 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp110.i.i4594 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp117.i.i4595 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp122.i.i4596 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp130.i.i4597 = alloca %"class.std::__cxx11::basic_string", align 8 + %c2_hash.i.i4598 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp164.i.i4599 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp169.i.i4600 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp177.i.i4601 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp190.i.i4602 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp195.i.i4603 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp203.i.i4604 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp216.i.i4605 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp221.i.i4606 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp229.i.i4607 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp.i712.i.i3383 = alloca %"class.testing::Message", align 8 + %ref.tmp.i694.i.i3384 = alloca %"class.testing::Message", align 8 + %ref.tmp.i675.i.i3385 = alloca %"class.testing::Message", align 8 + %ref.tmp.i657.i.i3386 = alloca %"class.testing::Message", align 8 + %ref.tmp.i639.i.i3387 = alloca %"class.testing::Message", align 8 + %ref.tmp.i617.i.i3388 = alloca %"class.testing::Message", align 8 + %ref.tmp.i599.i.i3389 = alloca %"class.testing::Message", align 8 + %ref.tmp.i581.i.i3390 = alloca %"class.testing::Message", align 8 + %ref.tmp.i563.i.i3391 = alloca %"class.testing::Message", align 8 + %ref.tmp.i546.i.i3392 = alloca %"class.testing::Message", align 8 + %ref.tmp.i523.i.i3393 = alloca %"class.testing::Message", align 8 + %ref.tmp.i505.i.i3394 = alloca %"class.testing::Message", align 8 + %ref.tmp.i486.i.i3395 = alloca %"class.testing::Message", align 8 + %ref.tmp.i468.i.i3396 = alloca %"class.testing::Message", align 8 + %ref.tmp.i450.i.i3397 = alloca %"class.testing::Message", align 8 + %ref.tmp.i426.i.i3398 = alloca %"class.testing::Message", align 8 + %ref.tmp.i408.i.i3399 = alloca %"class.testing::Message", align 8 + %ref.tmp.i390.i.i3400 = alloca %"class.testing::Message", align 8 + %ref.tmp.i372.i.i3401 = alloca %"class.testing::Message", align 8 + %ref.tmp.i355.i.i3402 = alloca %"class.testing::Message", align 8 + %ref.tmp.i286.i.i3403 = alloca %"class.testing::Message", align 8 + %ref.tmp.i268.i.i3404 = alloca %"class.testing::Message", align 8 + %ref.tmp.i251.i.i3405 = alloca %"class.testing::Message", align 8 + %ref.tmp.i139.i.i3406 = alloca %"class.testing::Message", align 8 + %ref.tmp.i.i.i3407 = alloca %"class.testing::Message", align 8 + %classes.i.i3408 = alloca %"class.std::vector.944", align 8 + %error.i.i3409 = alloca %"class.std::optional", align 8 + %ref.tmp27.i.i3410 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp34.i.i3411 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp49.i.i3412 = alloca %"class.testing::AssertionResult", align 8 + %expected.i.i3413 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp82.i.i3414 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp85.i.i3415 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp94.i.i3416 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp99.i.i3417 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp110.i.i3418 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp117.i.i3419 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp122.i.i3420 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp130.i.i3421 = alloca %"class.std::__cxx11::basic_string", align 8 + %c2_hash.i.i3422 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp164.i.i3423 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp169.i.i3424 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp177.i.i3425 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp190.i.i3426 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp195.i.i3427 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp203.i.i3428 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp216.i.i3429 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp221.i.i3430 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp229.i.i3431 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp.i712.i.i2207 = alloca %"class.testing::Message", align 8 + %ref.tmp.i694.i.i2208 = alloca %"class.testing::Message", align 8 + %ref.tmp.i675.i.i2209 = alloca %"class.testing::Message", align 8 + %ref.tmp.i657.i.i2210 = alloca %"class.testing::Message", align 8 + %ref.tmp.i639.i.i2211 = alloca %"class.testing::Message", align 8 + %ref.tmp.i617.i.i2212 = alloca %"class.testing::Message", align 8 + %ref.tmp.i599.i.i2213 = alloca %"class.testing::Message", align 8 + %ref.tmp.i581.i.i2214 = alloca %"class.testing::Message", align 8 + %ref.tmp.i563.i.i2215 = alloca %"class.testing::Message", align 8 + %ref.tmp.i546.i.i2216 = alloca %"class.testing::Message", align 8 + %ref.tmp.i523.i.i2217 = alloca %"class.testing::Message", align 8 + %ref.tmp.i505.i.i2218 = alloca %"class.testing::Message", align 8 + %ref.tmp.i486.i.i2219 = alloca %"class.testing::Message", align 8 + %ref.tmp.i468.i.i2220 = alloca %"class.testing::Message", align 8 + %ref.tmp.i450.i.i2221 = alloca %"class.testing::Message", align 8 + %ref.tmp.i426.i.i2222 = alloca %"class.testing::Message", align 8 + %ref.tmp.i408.i.i2223 = alloca %"class.testing::Message", align 8 + %ref.tmp.i390.i.i2224 = alloca %"class.testing::Message", align 8 + %ref.tmp.i372.i.i2225 = alloca %"class.testing::Message", align 8 + %ref.tmp.i355.i.i2226 = alloca %"class.testing::Message", align 8 + %ref.tmp.i286.i.i2227 = alloca %"class.testing::Message", align 8 + %ref.tmp.i268.i.i2228 = alloca %"class.testing::Message", align 8 + %ref.tmp.i251.i.i2229 = alloca %"class.testing::Message", align 8 + %ref.tmp.i139.i.i2230 = alloca %"class.testing::Message", align 8 + %ref.tmp.i.i.i2231 = alloca %"class.testing::Message", align 8 + %classes.i.i2232 = alloca %"class.std::vector.888", align 8 + %error.i.i2233 = alloca %"class.std::optional", align 8 + %ref.tmp27.i.i2234 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp34.i.i2235 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp49.i.i2236 = alloca %"class.testing::AssertionResult", align 8 + %expected.i.i2237 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp82.i.i2238 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp85.i.i2239 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp94.i.i2240 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp99.i.i2241 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp110.i.i2242 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp117.i.i2243 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp122.i.i2244 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp130.i.i2245 = alloca %"class.std::__cxx11::basic_string", align 8 + %c2_hash.i.i2246 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp164.i.i2247 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp169.i.i2248 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp177.i.i2249 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp190.i.i2250 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp195.i.i2251 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp203.i.i2252 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp216.i.i2253 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp221.i.i2254 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp229.i.i2255 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp.i712.i.i1031 = alloca %"class.testing::Message", align 8 + %ref.tmp.i694.i.i1032 = alloca %"class.testing::Message", align 8 + %ref.tmp.i675.i.i1033 = alloca %"class.testing::Message", align 8 + %ref.tmp.i657.i.i1034 = alloca %"class.testing::Message", align 8 + %ref.tmp.i639.i.i1035 = alloca %"class.testing::Message", align 8 + %ref.tmp.i617.i.i1036 = alloca %"class.testing::Message", align 8 + %ref.tmp.i599.i.i1037 = alloca %"class.testing::Message", align 8 + %ref.tmp.i581.i.i1038 = alloca %"class.testing::Message", align 8 + %ref.tmp.i563.i.i1039 = alloca %"class.testing::Message", align 8 + %ref.tmp.i546.i.i1040 = alloca %"class.testing::Message", align 8 + %ref.tmp.i523.i.i1041 = alloca %"class.testing::Message", align 8 + %ref.tmp.i505.i.i1042 = alloca %"class.testing::Message", align 8 + %ref.tmp.i486.i.i1043 = alloca %"class.testing::Message", align 8 + %ref.tmp.i468.i.i1044 = alloca %"class.testing::Message", align 8 + %ref.tmp.i450.i.i1045 = alloca %"class.testing::Message", align 8 + %ref.tmp.i426.i.i1046 = alloca %"class.testing::Message", align 8 + %ref.tmp.i408.i.i1047 = alloca %"class.testing::Message", align 8 + %ref.tmp.i390.i.i1048 = alloca %"class.testing::Message", align 8 + %ref.tmp.i372.i.i1049 = alloca %"class.testing::Message", align 8 + %ref.tmp.i355.i.i1050 = alloca %"class.testing::Message", align 8 + %ref.tmp.i286.i.i1051 = alloca %"class.testing::Message", align 8 + %ref.tmp.i268.i.i1052 = alloca %"class.testing::Message", align 8 + %ref.tmp.i251.i.i1053 = alloca %"class.testing::Message", align 8 + %ref.tmp.i139.i.i1054 = alloca %"class.testing::Message", align 8 + %ref.tmp.i.i.i1055 = alloca %"class.testing::Message", align 8 + %classes.i.i1056 = alloca %"class.std::vector.832", align 8 + %error.i.i1057 = alloca %"class.std::optional", align 8 + %ref.tmp27.i.i1058 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp34.i.i1059 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp49.i.i1060 = alloca %"class.testing::AssertionResult", align 8 + %expected.i.i1061 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp82.i.i1062 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp85.i.i1063 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp94.i.i1064 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp99.i.i1065 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp110.i.i1066 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp117.i.i1067 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp122.i.i1068 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp130.i.i1069 = alloca %"class.std::__cxx11::basic_string", align 8 + %c2_hash.i.i1070 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp164.i.i1071 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp169.i.i1072 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp177.i.i1073 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp190.i.i1074 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp195.i.i1075 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp203.i.i1076 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp216.i.i1077 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp221.i.i1078 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp229.i.i1079 = alloca %"class.std::__cxx11::basic_string", align 8 %ref.tmp.i712.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i694.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i675.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i657.i.i = alloca %"class.testing::Message", align 8 - %ref.tmp.i639.i.i605 = alloca %"class.testing::Message", align 8 + %ref.tmp.i639.i.i606 = alloca %"class.testing::Message", align 8 %ref.tmp.i617.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i599.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i581.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i563.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i546.i.i = alloca %"class.testing::Message", align 8 - %ref.tmp.i523.i.i606 = alloca %"class.testing::Message", align 8 + %ref.tmp.i523.i.i607 = alloca %"class.testing::Message", align 8 %ref.tmp.i505.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i486.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i468.i.i = alloca %"class.testing::Message", align 8 @@ -56958,31 +56965,31 @@ if.end: %ref.tmp.i268.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i251.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i139.i.i = alloca %"class.testing::Message", align 8 - %ref.tmp.i.i.i607 = alloca %"class.testing::Message", align 8 - %classes.i.i608 = alloca %"class.std::vector.776", align 8 - %error.i.i609 = alloca %"class.std::optional", align 8 - %ref.tmp27.i.i610 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp34.i.i611 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp49.i.i612 = alloca %"class.testing::AssertionResult", align 8 - %expected.i.i613 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp82.i.i614 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp85.i.i615 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp94.i.i616 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp99.i.i617 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp110.i.i618 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp117.i.i619 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp122.i.i620 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp130.i.i621 = alloca %"class.std::__cxx11::basic_string", align 8 - %c2_hash.i.i622 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 - %ref.tmp164.i.i623 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp169.i.i624 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp177.i.i625 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp190.i.i626 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp195.i.i627 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp203.i.i628 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp216.i.i629 = alloca %"class.testing::AssertionResult", align 8 - %ref.tmp221.i.i630 = alloca %"class.std::__cxx11::basic_string", align 8 - %ref.tmp229.i.i631 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp.i.i.i608 = alloca %"class.testing::Message", align 8 + %classes.i.i609 = alloca %"class.std::vector.776", align 8 + %error.i.i610 = alloca %"class.std::optional", align 8 + %ref.tmp27.i.i611 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp34.i.i612 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp49.i.i613 = alloca %"class.testing::AssertionResult", align 8 + %expected.i.i614 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp82.i.i615 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp85.i.i616 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp94.i.i617 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp99.i.i618 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp110.i.i619 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp117.i.i620 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp122.i.i621 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp130.i.i622 = alloca %"class.std::__cxx11::basic_string", align 8 + %c2_hash.i.i623 = alloca %"class.absl::hash_internal::SpyHashStateImpl", align 8 + %ref.tmp164.i.i624 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp169.i.i625 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp177.i.i626 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp190.i.i627 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp195.i.i628 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp203.i.i629 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp216.i.i630 = alloca %"class.testing::AssertionResult", align 8 + %ref.tmp221.i.i631 = alloca %"class.std::__cxx11::basic_string", align 8 + %ref.tmp229.i.i632 = alloca %"class.std::__cxx11::basic_string", align 8 %ref.tmp.i711.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i693.i.i = alloca %"class.testing::Message", align 8 %ref.tmp.i674.i.i = alloca %"class.testing::Message", align 8 @@ -57361,23 +57368,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.045.i.ptr.i, ptr %add.ptr.i.i.i.i.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 8 store i64 %i.046.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i, ptr align 8 %this.val.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.643, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.643, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %this.val.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds %struct.Info.643, ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -57385,7 +57393,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i - %11 = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i ], [ %10, %if.then.i.i.i.i ] + %11 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i ], [ %10, %if.then.i.i.i.i ] %inc.i.i = add nuw nsw i64 %i.046.i.i, 1 %call28.val.i.i = load ptr, ptr %11, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -59899,8 +59907,8 @@ if.then.i.i.i944.i.i: ; preds = %invoke.cont.i942.i. call void @_ZdlPv(ptr noundef nonnull %323) #33 br label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooiS6_S6_EEEEN7testing15AssertionResultERKT0_.exit -common.resume: ; preds = %ehcleanup58, %ehcleanup85, %ehcleanup109, %ehcleanup133, %ehcleanup158, %ehcleanup183, %ehcleanup208, %ehcleanup233, %ehcleanup258, %ehcleanup285, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5763, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5735, %ehcleanup258.i.i4660, %ehcleanup258.i.i3485, %ehcleanup258.i.i2310, %ehcleanup258.i.i1135, %ehcleanup258.i.i670, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i, %ehcleanup258.i.i188, %ehcleanup258.i.i - %common.resume.op = phi { ptr, i32 } [ %.pn46.pn.i.i, %ehcleanup258.i.i ], [ %.pn46.pn.i.i189, %ehcleanup258.i.i188 ], [ %692, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i ], [ %.pn46.pn.i.i671, %ehcleanup258.i.i670 ], [ %.pn46.pn.i.i1136, %ehcleanup258.i.i1135 ], [ %.pn46.pn.i.i2311, %ehcleanup258.i.i2310 ], [ %.pn46.pn.i.i3486, %ehcleanup258.i.i3485 ], [ %.pn46.pn.i.i4661, %ehcleanup258.i.i4660 ], [ %2395, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5735 ], [ %2409, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5763 ], [ %.pn84.pn.pn, %ehcleanup285 ], [ %.pn80.pn.pn, %ehcleanup258 ], [ %.pn76.pn.pn, %ehcleanup233 ], [ %.pn72.pn.pn, %ehcleanup208 ], [ %.pn68.pn.pn, %ehcleanup183 ], [ %.pn64.pn.pn, %ehcleanup158 ], [ %.pn60.pn.pn, %ehcleanup133 ], [ %.pn56.pn.pn, %ehcleanup109 ], [ %.pn52.pn.pn, %ehcleanup85 ], [ %.pn48.pn.pn, %ehcleanup58 ] +common.resume: ; preds = %ehcleanup58, %ehcleanup85, %ehcleanup109, %ehcleanup133, %ehcleanup158, %ehcleanup183, %ehcleanup208, %ehcleanup233, %ehcleanup258, %ehcleanup285, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5769, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5741, %ehcleanup258.i.i4665, %ehcleanup258.i.i3489, %ehcleanup258.i.i2313, %ehcleanup258.i.i1137, %ehcleanup258.i.i671, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i, %ehcleanup258.i.i188, %ehcleanup258.i.i + %common.resume.op = phi { ptr, i32 } [ %.pn46.pn.i.i, %ehcleanup258.i.i ], [ %.pn46.pn.i.i189, %ehcleanup258.i.i188 ], [ %692, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i ], [ %.pn46.pn.i.i672, %ehcleanup258.i.i671 ], [ %.pn46.pn.i.i1138, %ehcleanup258.i.i1137 ], [ %.pn46.pn.i.i2314, %ehcleanup258.i.i2313 ], [ %.pn46.pn.i.i3490, %ehcleanup258.i.i3489 ], [ %.pn46.pn.i.i4666, %ehcleanup258.i.i4665 ], [ %2395, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5741 ], [ %2409, %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5769 ], [ %.pn84.pn.pn, %ehcleanup285 ], [ %.pn80.pn.pn, %ehcleanup258 ], [ %.pn76.pn.pn, %ehcleanup233 ], [ %.pn72.pn.pn, %ehcleanup208 ], [ %.pn68.pn.pn, %ehcleanup183 ], [ %.pn64.pn.pn, %ehcleanup158 ], [ %.pn60.pn.pn, %ehcleanup133 ], [ %.pn56.pn.pn, %ehcleanup109 ], [ %.pn52.pn.pn, %ehcleanup85 ], [ %.pn48.pn.pn, %ehcleanup58 ] resume { ptr, i32 } %common.resume.op ehcleanup258.i.i: ; preds = %ehcleanup252.i.i, %lpad51.body.i.i, %if.then.i.i.i.i136.i.i, %ehcleanup.i.i, %lpad30.i.i, %lpad.loopexit.split-lp.loopexit.split-lp.i.i, %lpad.loopexit.split-lp.loopexit.i.i, %lpad.loopexit11.i.i @@ -60159,7 +60167,7 @@ for.inc.i.i191: ; preds = %invoke.cont.i.i190 if.then19.i.i194: ; preds = %for.inc.i.i191, %for.body.i.i182 %345 = load ptr, ptr %_M_end_of_storage.i.i.i176, align 8, !noalias !1474 %cmp.not.i.i.i195 = icmp eq ptr %classes.val54.i.i184, %345 - br i1 %cmp.not.i.i.i195, label %if.else.i.i.i541, label %if.then.i.i.i196 + br i1 %cmp.not.i.i.i195, label %if.else.i.i.i542, label %if.then.i.i.i196 if.then.i.i.i196: ; preds = %if.then19.i.i194 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i184, i8 0, i64 24, i1 false) @@ -60167,78 +60175,78 @@ if.then.i.i.i196: ; preds = %if.then19.i.i194 store ptr %incdec.ptr.i103.i.i, ptr %340, align 8, !noalias !1474 br label %if.end23.i.i197 -if.else.i.i.i541: ; preds = %if.then19.i.i194 - %sub.ptr.lhs.cast.i.i.i.i.i.i542 = ptrtoint ptr %classes.val54.i.i184 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i543 = ptrtoint ptr %classes.val.i.i183 to i64 - %sub.ptr.sub.i.i.i.i.i.i544 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i542, %sub.ptr.rhs.cast.i.i.i.i.i.i543 - %cmp.i.i.i.i.i545 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i544, 9223372036854775800 - br i1 %cmp.i.i.i.i.i545, label %if.then.i.i.i.invoke.i.i, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i +if.else.i.i.i542: ; preds = %if.then19.i.i194 + %sub.ptr.lhs.cast.i.i.i.i.i.i543 = ptrtoint ptr %classes.val54.i.i184 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i544 = ptrtoint ptr %classes.val.i.i183 to i64 + %sub.ptr.sub.i.i.i.i.i.i545 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i543, %sub.ptr.rhs.cast.i.i.i.i.i.i544 + %cmp.i.i.i.i.i546 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i545, 9223372036854775800 + br i1 %cmp.i.i.i.i.i546, label %if.then.i.i.i.invoke.i.i, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i -if.then.i.i.i.invoke.i.i: ; preds = %if.else.i.i.i.i517, %if.else.i.i.i541 +if.then.i.i.i.invoke.i.i: ; preds = %if.else.i.i.i.i517, %if.else.i.i.i542 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.117) #32 to label %if.then.i.i.i.cont.i.i unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.i.i if.then.i.i.i.cont.i.i: ; preds = %if.then.i.i.i.invoke.i.i unreachable -_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i541 - %sub.ptr.div.i.i.i.i.i.i546 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i544, 24 - %.sroa.speculated.i.i.i.i.i547 = select i1 %cmp.i101.not46.i.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i546 - %add.i.i.i.i.i548 = add nsw i64 %.sroa.speculated.i.i.i.i.i547, %sub.ptr.div.i.i.i.i.i.i546 - %cmp7.i.i.i.i.i549 = icmp ult i64 %add.i.i.i.i.i548, %sub.ptr.div.i.i.i.i.i.i546 - %cmp9.i.i.i.i.i550 = icmp ugt i64 %add.i.i.i.i.i548, 384307168202282325 - %or.cond.i.i.i.i.i551 = or i1 %cmp7.i.i.i.i.i549, %cmp9.i.i.i.i.i550 - %cond.i.i.i.i.i552 = select i1 %or.cond.i.i.i.i.i551, i64 384307168202282325, i64 %add.i.i.i.i.i548 - %cmp.not.i.i.i.i.i553 = icmp eq i64 %cond.i.i.i.i.i552, 0 - br i1 %cmp.not.i.i.i.i.i553, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i +_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i542 + %sub.ptr.div.i.i.i.i.i.i547 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i545, 24 + %.sroa.speculated.i.i.i.i.i548 = select i1 %cmp.i101.not46.i.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i547 + %add.i.i.i.i.i549 = add nsw i64 %.sroa.speculated.i.i.i.i.i548, %sub.ptr.div.i.i.i.i.i.i547 + %cmp7.i.i.i.i.i550 = icmp ult i64 %add.i.i.i.i.i549, %sub.ptr.div.i.i.i.i.i.i547 + %cmp9.i.i.i.i.i551 = icmp ugt i64 %add.i.i.i.i.i549, 384307168202282325 + %or.cond.i.i.i.i.i552 = or i1 %cmp7.i.i.i.i.i550, %cmp9.i.i.i.i.i551 + %cond.i.i.i.i.i553 = select i1 %or.cond.i.i.i.i.i552, i64 384307168202282325, i64 %add.i.i.i.i.i549 + %cmp.not.i.i.i.i.i554 = icmp eq i64 %cond.i.i.i.i.i553, 0 + br i1 %cmp.not.i.i.i.i.i554, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i - %mul.i.i.i.i.i.i.i554 = mul nuw nsw i64 %cond.i.i.i.i.i552, 24 - %call5.i.i.i.i.i104.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i554) #34 + %mul.i.i.i.i.i.i.i555 = mul nuw nsw i64 %cond.i.i.i.i.i553, 24 + %call5.i.i.i.i.i104.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i555) #34 to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.split-lp.loopexit.i.i _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i12.i.i.i.i555 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i104.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i ] - %add.ptr.i.i.i.i556 = getelementptr inbounds %"class.std::vector.692", ptr %cond.i12.i.i.i.i555, i64 %sub.ptr.div.i.i.i.i.i.i546 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i556, i8 0, i64 24, i1 false) - br i1 %cmp.i101.not46.i.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i557 - -for.body.i.i.i.i.i.i.i557: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i557 - %__cur.03.i.i.i.i.i.i.i558 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i565, %for.body.i.i.i.i.i.i.i557 ], [ %cond.i12.i.i.i.i555, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i559 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i564, %for.body.i.i.i.i.i.i.i557 ], [ %classes.val.i.i183, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] + %cond.i12.i.i.i.i556 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i104.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EEEE8allocateERSS_m.exit.i.i.i.i.i ] + %add.ptr.i.i.i.i557 = getelementptr inbounds %"class.std::vector.692", ptr %cond.i12.i.i.i.i556, i64 %sub.ptr.div.i.i.i.i.i.i547 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i557, i8 0, i64 24, i1 false) + br i1 %cmp.i101.not46.i.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i558 + +for.body.i.i.i.i.i.i.i558: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i558 + %__cur.03.i.i.i.i.i.i.i559 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i566, %for.body.i.i.i.i.i.i.i558 ], [ %cond.i12.i.i.i.i556, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i560 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i565, %for.body.i.i.i.i.i.i.i558 ], [ %classes.val.i.i183, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !1478) call void @llvm.experimental.noalias.scope.decl(metadata !1481) - %346 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i559, align 8, !alias.scope !1481, !noalias !1478 - store <2 x ptr> %346, ptr %__cur.03.i.i.i.i.i.i.i558, align 8, !alias.scope !1478, !noalias !1481 - %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i562 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.698", ptr %__cur.03.i.i.i.i.i.i.i558, i64 0, i32 2 - %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i563 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.698", ptr %__first.addr.02.i.i.i.i.i.i.i559, i64 0, i32 2 - %347 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i563, align 8, !alias.scope !1481, !noalias !1478 - store ptr %347, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i562, align 8, !alias.scope !1478, !noalias !1481 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i559, i8 0, i64 24, i1 false), !alias.scope !1481, !noalias !1478 - %incdec.ptr.i.i.i.i.i.i.i564 = getelementptr inbounds %"class.std::vector.692", ptr %__first.addr.02.i.i.i.i.i.i.i559, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i565 = getelementptr inbounds %"class.std::vector.692", ptr %__cur.03.i.i.i.i.i.i.i558, i64 1 - %cmp.not.i.i.i.i.i.i.i566 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i564, %classes.val54.i.i184 - br i1 %cmp.not.i.i.i.i.i.i.i566, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i557, !llvm.loop !1483 - -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i557, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i567 = phi ptr [ %cond.i12.i.i.i.i555, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i565, %for.body.i.i.i.i.i.i.i557 ] - %incdec.ptr.i.i.i.i568 = getelementptr inbounds %"class.std::vector.692", ptr %__cur.0.lcssa.i.i.i.i.i.i.i567, i64 1 - %tobool.not.i.i.i.i.i569 = icmp eq ptr %classes.val.i.i183, null - br i1 %tobool.not.i.i.i.i.i569, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i570 - -if.then.i26.i.i.i.i570: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i + %346 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i560, align 8, !alias.scope !1481, !noalias !1478 + store <2 x ptr> %346, ptr %__cur.03.i.i.i.i.i.i.i559, align 8, !alias.scope !1478, !noalias !1481 + %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i563 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.698", ptr %__cur.03.i.i.i.i.i.i.i559, i64 0, i32 2 + %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i564 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.698", ptr %__first.addr.02.i.i.i.i.i.i.i560, i64 0, i32 2 + %347 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i564, align 8, !alias.scope !1481, !noalias !1478 + store ptr %347, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i563, align 8, !alias.scope !1478, !noalias !1481 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i560, i8 0, i64 24, i1 false), !alias.scope !1481, !noalias !1478 + %incdec.ptr.i.i.i.i.i.i.i565 = getelementptr inbounds %"class.std::vector.692", ptr %__first.addr.02.i.i.i.i.i.i.i560, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i566 = getelementptr inbounds %"class.std::vector.692", ptr %__cur.03.i.i.i.i.i.i.i559, i64 1 + %cmp.not.i.i.i.i.i.i.i567 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i565, %classes.val54.i.i184 + br i1 %cmp.not.i.i.i.i.i.i.i567, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i558, !llvm.loop !1483 + +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i558, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i568 = phi ptr [ %cond.i12.i.i.i.i556, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EESaISR_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i566, %for.body.i.i.i.i.i.i.i558 ] + %incdec.ptr.i.i.i.i569 = getelementptr inbounds %"class.std::vector.692", ptr %__cur.0.lcssa.i.i.i.i.i.i.i568, i64 1 + %tobool.not.i.i.i.i.i570 = icmp eq ptr %classes.val.i.i183, null + br i1 %tobool.not.i.i.i.i.i570, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i571 + +if.then.i26.i.i.i.i571: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i183) #33 br label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i570, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i - store ptr %cond.i12.i.i.i.i555, ptr %classes.i.i151, align 8, !noalias !1474 - store ptr %incdec.ptr.i.i.i.i568, ptr %340, align 8, !noalias !1474 - %add.ptr19.i.i.i.i571 = getelementptr inbounds %"class.std::vector.692", ptr %cond.i12.i.i.i.i555, i64 %cond.i.i.i.i.i552 - store ptr %add.ptr19.i.i.i.i571, ptr %_M_end_of_storage.i.i.i176, align 8, !noalias !1474 +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i571, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE11_S_relocateEPSQ_ST_ST_RSR_.exit25.i.i.i.i + store ptr %cond.i12.i.i.i.i556, ptr %classes.i.i151, align 8, !noalias !1474 + store ptr %incdec.ptr.i.i.i.i569, ptr %340, align 8, !noalias !1474 + %add.ptr19.i.i.i.i572 = getelementptr inbounds %"class.std::vector.692", ptr %cond.i12.i.i.i.i556, i64 %cond.i.i.i.i.i553 + store ptr %add.ptr19.i.i.i.i572, ptr %_M_end_of_storage.i.i.i176, align 8, !noalias !1474 br label %if.end23.i.i197 if.end23.i.i197: ; preds = %invoke.cont.i.i190, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i, %if.then.i.i.i196 - %c.1.i.i198 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i567, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i184, %if.then.i.i.i196 ], [ %__begin05.sroa.0.047.i.i, %invoke.cont.i.i190 ] + %c.1.i.i198 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i568, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EESaISQ_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSQ_SS_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i184, %if.then.i.i.i196 ], [ %__begin05.sroa.0.047.i.i, %invoke.cont.i.i190 ] %_M_finish.i.i.i.i199 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.698", ptr %c.1.i.i198, i64 0, i32 1 %348 = load ptr, ptr %_M_finish.i.i.i.i199, align 8 %_M_end_of_storage.i.i.i.i200 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.698", ptr %c.1.i.i198, i64 0, i32 2 @@ -60286,31 +60294,32 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.049.i.ptr.i, ptr %add.ptr.i.i.i.i.i533, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i534 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i533, i64 8 store i64 %i.050.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i534, align 8 - %cmp.i.i.i13.i.i.i.i.i535 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i522, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i535, label %if.then.i.i.i14.i.i.i.i.i540, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i535 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i521, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i535, label %if.then.i.i.i14.i.i.i.i.i541, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i -if.then.i.i.i14.i.i.i.i.i540: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i +if.then.i.i.i14.i.i.i.i.i541: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i532, ptr align 8 %this.val.i.i.i.i.i518, i64 %sub.ptr.sub.i.i.i.i.i.i.i521, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i540, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i536 = getelementptr inbounds %struct.Info.699, ptr %add.ptr.i.i.i.i.i533, i64 1 - %tobool.not.i.i.i.i.i.i537 = icmp eq ptr %this.val.i.i.i.i.i518, null - br i1 %tobool.not.i.i.i.i.i.i537, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i538 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i541, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS7_iEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i536 = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i532, i64 %sub.ptr.sub.i.i.i.i.i.i.i521 + %incdec.ptr.i.i.i.i.i537 = getelementptr inbounds %struct.Info.699, ptr %add.ptr.i.i.i.i.i.i.i.i536, i64 1 + %tobool.not.i.i.i.i.i.i538 = icmp eq ptr %this.val.i.i.i.i.i518, null + br i1 %tobool.not.i.i.i.i.i.i538, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i539 -if.then.i23.i.i.i.i.i538: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i.i539: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i518) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i538, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i539, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_S_relocateEPSO_SR_SR_RSP_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i.i532, ptr %c.1.i.i198, align 8 - store ptr %incdec.ptr.i.i.i.i.i536, ptr %_M_finish.i.i.i.i199, align 8 - %add.ptr19.i.i.i.i.i539 = getelementptr inbounds %struct.Info.699, ptr %cond.i12.i.i.i.i.i532, i64 %cond.i.i.i.i.i.i529 - store ptr %add.ptr19.i.i.i.i.i539, ptr %_M_end_of_storage.i.i.i.i200, align 8 + store ptr %incdec.ptr.i.i.i.i.i537, ptr %_M_finish.i.i.i.i199, align 8 + %add.ptr19.i.i.i.i.i540 = getelementptr inbounds %struct.Info.699, ptr %cond.i12.i.i.i.i.i532, i64 %cond.i.i.i.i.i.i529 + store ptr %add.ptr19.i.i.i.i.i540, ptr %_M_end_of_storage.i.i.i.i200, align 8 br label %invoke.cont26.i.i204 invoke.cont26.i.i204: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i202 - %351 = phi ptr [ %add.ptr.i.i.i.i.i533, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i ], [ %350, %if.then.i.i.i.i202 ] + %351 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i536, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiPKMS6_iEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE17_M_realloc_insertIJSO_EEEvN9__gnu_cxx17__normal_iteratorIPSO_SQ_EEDpOT_.exit.i.i.i.i ], [ %350, %if.then.i.i.i.i202 ] %inc.i.i205 = add nuw nsw i64 %i.050.i.i, 1 %call28.val.i.i206 = load ptr, ptr %351, align 8 %call28.val.val.i.i207 = load ptr, ptr %call28.val.i.i206, align 8 @@ -62889,8 +62898,8 @@ _ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__ call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i12.i.i.i) #33 %680 = load i8, ptr %gtest_ar_59, align 8 %681 = and i8 %680, 1 - %tobool.i572.not = icmp eq i8 %681, 0 - br i1 %tobool.i572.not, label %if.else68, label %if.end84 + %tobool.i573.not = icmp eq i8 %681, 0 + br i1 %tobool.i573.not, label %if.else68, label %if.end84 ehcleanup58: ; preds = %_ZN7testing7MessageD2Ev.exit144, %lpad43 %.pn48.pn.pn = phi { ptr, i32 } [ %.pn48.pn, %_ZN7testing7MessageD2Ev.exit144 ], [ %329, %lpad43 ] @@ -62918,17 +62927,17 @@ invoke.cont80: ; preds = %invoke.cont78 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp73) #30 %682 = load ptr, ptr %ref.tmp69, align 8 - %cmp.not.i.i573 = icmp eq ptr %682, null - br i1 %cmp.not.i.i573, label %_ZN7testing7MessageD2Ev.exit577, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i574 + %cmp.not.i.i574 = icmp eq ptr %682, null + br i1 %cmp.not.i.i574, label %_ZN7testing7MessageD2Ev.exit578, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i575 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i574: ; preds = %invoke.cont80 - %vtable.i.i.i575 = load ptr, ptr %682, align 8 - %vfn.i.i.i576 = getelementptr inbounds ptr, ptr %vtable.i.i.i575, i64 1 - %683 = load ptr, ptr %vfn.i.i.i576, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i575: ; preds = %invoke.cont80 + %vtable.i.i.i576 = load ptr, ptr %682, align 8 + %vfn.i.i.i577 = getelementptr inbounds ptr, ptr %vtable.i.i.i576, i64 1 + %683 = load ptr, ptr %vfn.i.i.i577, align 8 call void %683(ptr noundef nonnull align 8 dereferenceable(128) %682) #30 - br label %_ZN7testing7MessageD2Ev.exit577 + br label %_ZN7testing7MessageD2Ev.exit578 -_ZN7testing7MessageD2Ev.exit577: ; preds = %invoke.cont80, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i574 +_ZN7testing7MessageD2Ev.exit578: ; preds = %invoke.cont80, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i575 store ptr null, ptr %ref.tmp69, align 8 br label %if.end84 @@ -62961,40 +62970,40 @@ ehcleanup82: ; preds = %lpad79, %lpad77 ehcleanup83: ; preds = %ehcleanup82, %lpad74 %.pn52.pn = phi { ptr, i32 } [ %.pn52, %ehcleanup82 ], [ %685, %lpad74 ] %688 = load ptr, ptr %ref.tmp69, align 8 - %cmp.not.i.i578 = icmp eq ptr %688, null - br i1 %cmp.not.i.i578, label %_ZN7testing7MessageD2Ev.exit582, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579 + %cmp.not.i.i579 = icmp eq ptr %688, null + br i1 %cmp.not.i.i579, label %_ZN7testing7MessageD2Ev.exit583, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i580 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579: ; preds = %ehcleanup83 - %vtable.i.i.i580 = load ptr, ptr %688, align 8 - %vfn.i.i.i581 = getelementptr inbounds ptr, ptr %vtable.i.i.i580, i64 1 - %689 = load ptr, ptr %vfn.i.i.i581, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i580: ; preds = %ehcleanup83 + %vtable.i.i.i581 = load ptr, ptr %688, align 8 + %vfn.i.i.i582 = getelementptr inbounds ptr, ptr %vtable.i.i.i581, i64 1 + %689 = load ptr, ptr %vfn.i.i.i582, align 8 call void %689(ptr noundef nonnull align 8 dereferenceable(128) %688) #30 - br label %_ZN7testing7MessageD2Ev.exit582 + br label %_ZN7testing7MessageD2Ev.exit583 -_ZN7testing7MessageD2Ev.exit582: ; preds = %ehcleanup83, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579 +_ZN7testing7MessageD2Ev.exit583: ; preds = %ehcleanup83, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i580 store ptr null, ptr %ref.tmp69, align 8 br label %ehcleanup85 -if.end84: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiS7_S7_MS5_iS8_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit577 - %message_.i583 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_59, i64 0, i32 1 - %690 = load ptr, ptr %message_.i583, align 8 - %cmp.not.i.i584 = icmp eq ptr %690, null - br i1 %cmp.not.i.i584, label %_ZN7testing15AssertionResultD2Ev.exit586, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i585 +if.end84: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKiS7_S7_MS5_iS8_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit578 + %message_.i584 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_59, i64 0, i32 1 + %690 = load ptr, ptr %message_.i584, align 8 + %cmp.not.i.i585 = icmp eq ptr %690, null + br i1 %cmp.not.i.i585, label %_ZN7testing15AssertionResultD2Ev.exit587, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i586 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i585: ; preds = %if.end84 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i586: ; preds = %if.end84 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %690) #30 call void @_ZdlPv(ptr noundef nonnull %690) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit586 + br label %_ZN7testing15AssertionResultD2Ev.exit587 -_ZN7testing15AssertionResultD2Ev.exit586: ; preds = %if.end84, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i585 - store ptr null, ptr %message_.i583, align 8 +_ZN7testing15AssertionResultD2Ev.exit587: ; preds = %if.end84, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i586 + store ptr null, ptr %message_.i584, align 8 %691 = getelementptr inbounds i8, ptr %ref.tmp87, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp87, i8 0, i64 16, i1 false) store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvEN3Foo2f1Ev to i64), ptr %691, align 8, !alias.scope !1489 %this.repack3.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp87, i64 24 store i64 0, ptr %this.repack3.i.i.i.i, align 8, !alias.scope !1489 %call5.i.i.i.i5.i.i.i.i = call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #34, !noalias !1492 - %add.ptr.i4.i.i.i.i = getelementptr inbounds %"class.std::variant.728", ptr %call5.i.i.i.i5.i.i.i.i, i64 2 + %add.ptr.i4.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i, i64 32 store ptr %691, ptr %call5.i.i.i.i5.i.i.i.i, align 8, !noalias !1492 %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i, i64 8 store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i, align 8, !noalias !1492 @@ -63005,21 +63014,21 @@ _ZN7testing15AssertionResultD2Ev.exit586: ; preds = %if.end84, %_ZNKSt14 invoke fastcc void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr noalias nonnull align 8 %gtest_ar_86, ptr nonnull %call5.i.i.i.i5.i.i.i.i, ptr nonnull %add.ptr.i4.i.i.i.i) to label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_EEEEN7testing15AssertionResultERKT0_.exit unwind label %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i -_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit586 +_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit587 %692 = landingpad { ptr, i32 } cleanup call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i) #33 br label %common.resume -_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit586 +_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit587 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i) #33 %693 = load i8, ptr %gtest_ar_86, align 8 %694 = and i8 %693, 1 - %tobool.i588.not = icmp eq i8 %694, 0 - br i1 %tobool.i588.not, label %if.else92, label %if.end108 + %tobool.i589.not = icmp eq i8 %694, 0 + br i1 %tobool.i589.not, label %if.else92, label %if.end108 -ehcleanup85: ; preds = %_ZN7testing7MessageD2Ev.exit582, %lpad70 - %.pn52.pn.pn = phi { ptr, i32 } [ %.pn52.pn, %_ZN7testing7MessageD2Ev.exit582 ], [ %684, %lpad70 ] +ehcleanup85: ; preds = %_ZN7testing7MessageD2Ev.exit583, %lpad70 + %.pn52.pn.pn = phi { ptr, i32 } [ %.pn52.pn, %_ZN7testing7MessageD2Ev.exit583 ], [ %684, %lpad70 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_59) #30 br label %common.resume @@ -63044,17 +63053,17 @@ invoke.cont104: ; preds = %invoke.cont102 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp96) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp97) #30 %695 = load ptr, ptr %ref.tmp93, align 8 - %cmp.not.i.i589 = icmp eq ptr %695, null - br i1 %cmp.not.i.i589, label %_ZN7testing7MessageD2Ev.exit593, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i590 + %cmp.not.i.i590 = icmp eq ptr %695, null + br i1 %cmp.not.i.i590, label %_ZN7testing7MessageD2Ev.exit594, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i591 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i590: ; preds = %invoke.cont104 - %vtable.i.i.i591 = load ptr, ptr %695, align 8 - %vfn.i.i.i592 = getelementptr inbounds ptr, ptr %vtable.i.i.i591, i64 1 - %696 = load ptr, ptr %vfn.i.i.i592, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i591: ; preds = %invoke.cont104 + %vtable.i.i.i592 = load ptr, ptr %695, align 8 + %vfn.i.i.i593 = getelementptr inbounds ptr, ptr %vtable.i.i.i592, i64 1 + %696 = load ptr, ptr %vfn.i.i.i593, align 8 call void %696(ptr noundef nonnull align 8 dereferenceable(128) %695) #30 - br label %_ZN7testing7MessageD2Ev.exit593 + br label %_ZN7testing7MessageD2Ev.exit594 -_ZN7testing7MessageD2Ev.exit593: ; preds = %invoke.cont104, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i590 +_ZN7testing7MessageD2Ev.exit594: ; preds = %invoke.cont104, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i591 store ptr null, ptr %ref.tmp93, align 8 br label %if.end108 @@ -63087,38 +63096,38 @@ ehcleanup106: ; preds = %lpad103, %lpad101 ehcleanup107: ; preds = %ehcleanup106, %lpad98 %.pn56.pn = phi { ptr, i32 } [ %.pn56, %ehcleanup106 ], [ %698, %lpad98 ] %701 = load ptr, ptr %ref.tmp93, align 8 - %cmp.not.i.i594 = icmp eq ptr %701, null - br i1 %cmp.not.i.i594, label %_ZN7testing7MessageD2Ev.exit598, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i595 + %cmp.not.i.i595 = icmp eq ptr %701, null + br i1 %cmp.not.i.i595, label %_ZN7testing7MessageD2Ev.exit599, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i596 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i595: ; preds = %ehcleanup107 - %vtable.i.i.i596 = load ptr, ptr %701, align 8 - %vfn.i.i.i597 = getelementptr inbounds ptr, ptr %vtable.i.i.i596, i64 1 - %702 = load ptr, ptr %vfn.i.i.i597, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i596: ; preds = %ehcleanup107 + %vtable.i.i.i597 = load ptr, ptr %701, align 8 + %vfn.i.i.i598 = getelementptr inbounds ptr, ptr %vtable.i.i.i597, i64 1 + %702 = load ptr, ptr %vfn.i.i.i598, align 8 call void %702(ptr noundef nonnull align 8 dereferenceable(128) %701) #30 - br label %_ZN7testing7MessageD2Ev.exit598 + br label %_ZN7testing7MessageD2Ev.exit599 -_ZN7testing7MessageD2Ev.exit598: ; preds = %ehcleanup107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i595 +_ZN7testing7MessageD2Ev.exit599: ; preds = %ehcleanup107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i596 store ptr null, ptr %ref.tmp93, align 8 br label %ehcleanup109 -if.end108: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit593 - %message_.i599 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_86, i64 0, i32 1 - %703 = load ptr, ptr %message_.i599, align 8 - %cmp.not.i.i600 = icmp eq ptr %703, null - br i1 %cmp.not.i.i600, label %_ZN7testing15AssertionResultD2Ev.exit602, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i601 +if.end108: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit594 + %message_.i600 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_86, i64 0, i32 1 + %703 = load ptr, ptr %message_.i600, align 8 + %cmp.not.i.i601 = icmp eq ptr %703, null + br i1 %cmp.not.i.i601, label %_ZN7testing15AssertionResultD2Ev.exit603, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i602 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i601: ; preds = %if.end108 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i602: ; preds = %if.end108 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %703) #30 call void @_ZdlPv(ptr noundef nonnull %703) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit602 + br label %_ZN7testing15AssertionResultD2Ev.exit603 -_ZN7testing15AssertionResultD2Ev.exit602: ; preds = %if.end108, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i601 - store ptr null, ptr %message_.i599, align 8 +_ZN7testing15AssertionResultD2Ev.exit603: ; preds = %if.end108, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i602 + store ptr null, ptr %message_.i600, align 8 %704 = getelementptr inbounds i8, ptr %ref.tmp111, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp111, i8 0, i64 16, i1 false) store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENK3Foo2f2Ev to i64), ptr %704, align 8, !alias.scope !1499 - %this.repack3.i.i.i.i604 = getelementptr inbounds i8, ptr %ref.tmp111, i64 24 - store i64 0, ptr %this.repack3.i.i.i.i604, align 8, !alias.scope !1499 + %this.repack3.i.i.i.i605 = getelementptr inbounds i8, ptr %ref.tmp111, i64 24 + store i64 0, ptr %this.repack3.i.i.i.i605, align 8, !alias.scope !1499 %call5.i.i.i.i5.i3.i.i.i = call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #34, !noalias !1502 store ptr %704, ptr %call5.i.i.i.i5.i3.i.i.i, align 8, !noalias !1502 %ref.tmp.sroa.2.0.call5.i.i.i.i5.i3.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i3.i.i.i, i64 8 @@ -63127,636 +63136,637 @@ _ZN7testing15AssertionResultD2Ev.exit602: ; preds = %if.end108, %_ZNKSt1 store ptr %ref.tmp111, ptr %ref.tmp.sroa.34.0.call5.i.i.i.i5.i3.sroa_idx.i.i.i, align 8, !noalias !1502 %ref.tmp.sroa.4.0.call5.i.i.i.i5.i3.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i3.i.i.i, i64 24 store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i3.sroa_idx.i.i.i, align 8, !noalias !1502 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i608), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i609), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i610), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i611), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i612), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i613), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i614), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i615), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i616), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i617), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i618), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i619), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i620), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i621), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i622), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i623), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i624), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i625), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i626), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i627), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i628), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i629), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i630), !noalias !1509 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i631), !noalias !1509 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i608, i8 0, i64 24, i1 false), !noalias !1510 - %705 = getelementptr inbounds i8, ptr %classes.i.i608, i64 8 - %_M_end_of_storage.i.i.i633 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.782", ptr %classes.i.i608, i64 0, i32 2 - %moved_from_.i.i.i634 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i610, i64 0, i32 2 - %_M_engaged.i.i.i.i.i.i.i.i635 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i609, i64 0, i32 1 - %error_.i.i.i636 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i610, i64 0, i32 1 - %_M_refcount.i.i.i.i.i637 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i610, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i119.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i610, i64 0, i32 1 - br label %for.body.i.i638 - -for.cond.i.i724: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i691 - %__begin0.sroa.0.045.i.add.i725 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i640, 16 - %cmp.i.not.i.i726 = icmp eq i64 %__begin0.sroa.0.045.i.add.i725, 32 - br i1 %cmp.i.not.i.i726, label %for.end45.i.i727, label %for.body.i.i638 - -for.body.i.i638: ; preds = %for.cond.i.i724, %_ZN7testing15AssertionResultD2Ev.exit602 - %i.046.i.i639 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit602 ], [ %inc.i.i665, %for.cond.i.i724 ] - %__begin0.sroa.0.045.i.idx.i640 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit602 ], [ %__begin0.sroa.0.045.i.add.i725, %for.cond.i.i724 ] - %__begin0.sroa.0.045.i.ptr.i641 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i3.i.i.i, i64 %__begin0.sroa.0.045.i.idx.i640 - %classes.val.i.i642 = load ptr, ptr %classes.i.i608, align 8, !noalias !1510 - %classes.val54.i.i643 = load ptr, ptr %705, align 8, !noalias !1510 - %cmp.i103.not42.i.i = icmp eq ptr %classes.val.i.i642, %classes.val54.i.i643 - br i1 %cmp.i103.not42.i.i, label %if.then19.i.i654, label %invoke.cont.lr.ph.i.i644 - -invoke.cont.lr.ph.i.i644: ; preds = %for.body.i.i638 - %call4.val.i.i645 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i641, align 8, !noalias !1513 - %call4.val.val.i.i646 = load i64, ptr %call4.val.i.i645, align 8 - %706 = getelementptr i8, ptr %call4.val.i.i645, i64 8 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i609), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i610), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i611), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i612), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i613), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i614), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i615), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i616), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i617), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i618), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i619), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i620), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i621), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i622), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i623), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i624), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i625), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i626), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i627), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i628), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i629), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i630), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i631), !noalias !1509 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i632), !noalias !1509 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i609, i8 0, i64 24, i1 false), !noalias !1510 + %705 = getelementptr inbounds i8, ptr %classes.i.i609, i64 8 + %_M_end_of_storage.i.i.i634 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.782", ptr %classes.i.i609, i64 0, i32 2 + %moved_from_.i.i.i635 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i611, i64 0, i32 2 + %_M_engaged.i.i.i.i.i.i.i.i636 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i610, i64 0, i32 1 + %error_.i.i.i637 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i611, i64 0, i32 1 + %_M_refcount.i.i.i.i.i638 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i611, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i119.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i611, i64 0, i32 1 + br label %for.body.i.i639 + +for.cond.i.i725: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i692 + %__begin0.sroa.0.045.i.add.i726 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i641, 16 + %cmp.i.not.i.i727 = icmp eq i64 %__begin0.sroa.0.045.i.add.i726, 32 + br i1 %cmp.i.not.i.i727, label %for.end45.i.i728, label %for.body.i.i639 + +for.body.i.i639: ; preds = %for.cond.i.i725, %_ZN7testing15AssertionResultD2Ev.exit603 + %i.046.i.i640 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit603 ], [ %inc.i.i666, %for.cond.i.i725 ] + %__begin0.sroa.0.045.i.idx.i641 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit603 ], [ %__begin0.sroa.0.045.i.add.i726, %for.cond.i.i725 ] + %__begin0.sroa.0.045.i.ptr.i642 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i3.i.i.i, i64 %__begin0.sroa.0.045.i.idx.i641 + %classes.val.i.i643 = load ptr, ptr %classes.i.i609, align 8, !noalias !1510 + %classes.val54.i.i644 = load ptr, ptr %705, align 8, !noalias !1510 + %cmp.i103.not42.i.i = icmp eq ptr %classes.val.i.i643, %classes.val54.i.i644 + br i1 %cmp.i103.not42.i.i, label %if.then19.i.i655, label %invoke.cont.lr.ph.i.i645 + +invoke.cont.lr.ph.i.i645: ; preds = %for.body.i.i639 + %call4.val.i.i646 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i642, align 8, !noalias !1513 + %call4.val.val.i.i647 = load i64, ptr %call4.val.i.i646, align 8 + %706 = getelementptr i8, ptr %call4.val.i.i646, i64 8 %call4.val.val60.i.i = load i64, ptr %706, align 8 - %cmp.ptr.null.i.i.i.i.i.i.i.i.i = icmp eq i64 %call4.val.val.i.i646, 0 - br label %invoke.cont.i.i647 - -invoke.cont.i.i647: ; preds = %for.inc.i.i652, %invoke.cont.lr.ph.i.i644 - %__begin05.sroa.0.043.i.i648 = phi ptr [ %classes.val.i.i642, %invoke.cont.lr.ph.i.i644 ], [ %incdec.ptr.i.i.i653, %for.inc.i.i652 ] - %call14.val.i.i649 = load ptr, ptr %__begin05.sroa.0.043.i.i648, align 8 - %707 = load ptr, ptr %call14.val.i.i649, align 8 - %.val.i.i650 = load ptr, ptr %707, align 8 - %.val.val.i.i651 = load i64, ptr %.val.i.i650, align 8 - %708 = getelementptr i8, ptr %.val.i.i650, i64 8 + %cmp.ptr.null.i.i.i.i.i.i.i.i.i = icmp eq i64 %call4.val.val.i.i647, 0 + br label %invoke.cont.i.i648 + +invoke.cont.i.i648: ; preds = %for.inc.i.i653, %invoke.cont.lr.ph.i.i645 + %__begin05.sroa.0.043.i.i649 = phi ptr [ %classes.val.i.i643, %invoke.cont.lr.ph.i.i645 ], [ %incdec.ptr.i.i.i654, %for.inc.i.i653 ] + %call14.val.i.i650 = load ptr, ptr %__begin05.sroa.0.043.i.i649, align 8 + %707 = load ptr, ptr %call14.val.i.i650, align 8 + %.val.i.i651 = load ptr, ptr %707, align 8 + %.val.val.i.i652 = load i64, ptr %.val.i.i651, align 8 + %708 = getelementptr i8, ptr %.val.i.i651, i64 8 %.val.val61.i.i = load i64, ptr %708, align 8 - %cmp.ptr.i.i.i.i.i.i.i.i.i = icmp eq i64 %call4.val.val.i.i646, %.val.val.i.i651 + %cmp.ptr.i.i.i.i.i.i.i.i.i = icmp eq i64 %call4.val.val.i.i647, %.val.val.i.i652 %cmp.adj.i.i.i.i.i.i.i.i.i = icmp eq i64 %call4.val.val60.i.i, %.val.val61.i.i %709 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i, %cmp.adj.i.i.i.i.i.i.i.i.i %memptr.eq.i.i.i.i.i.i.i.i.i = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i, %709 - br i1 %memptr.eq.i.i.i.i.i.i.i.i.i, label %if.end23.i.i657, label %for.inc.i.i652 + br i1 %memptr.eq.i.i.i.i.i.i.i.i.i, label %if.end23.i.i658, label %for.inc.i.i653 -lpad.loopexit11.i.i741: ; preds = %for.body66.i.i736 - %lpad.loopexit12.i.i742 = landingpad { ptr, i32 } +lpad.loopexit11.i.i742: ; preds = %for.body66.i.i737 + %lpad.loopexit12.i.i743 = landingpad { ptr, i32 } cleanup - br label %ehcleanup258.i.i670 + br label %ehcleanup258.i.i671 -lpad.loopexit.split-lp.loopexit.i.i668: ; preds = %invoke.cont26.i.i664, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i - %lpad.loopexit15.i.i669 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit.i.i669: ; preds = %invoke.cont26.i.i665, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %lpad.loopexit15.i.i670 = landingpad { ptr, i32 } cleanup - br label %ehcleanup258.i.i670 + br label %ehcleanup258.i.i671 -lpad.loopexit.split-lp.loopexit.split-lp.i.i924: ; preds = %for.end255.i.i923, %if.then48.i.i926, %if.then.i.i.i.i.invoke.i.i979 - %lpad.loopexit.split-lp16.i.i925 = landingpad { ptr, i32 } +lpad.loopexit.split-lp.loopexit.split-lp.i.i925: ; preds = %for.end255.i.i924, %if.then48.i.i927, %if.then.i.i.i.i.invoke.i.i981 + %lpad.loopexit.split-lp16.i.i926 = landingpad { ptr, i32 } cleanup - br label %ehcleanup258.i.i670 + br label %ehcleanup258.i.i671 -for.inc.i.i652: ; preds = %invoke.cont.i.i647 - %incdec.ptr.i.i.i653 = getelementptr inbounds %"class.std::vector.804", ptr %__begin05.sroa.0.043.i.i648, i64 1 - %cmp.i103.not.i.i = icmp eq ptr %incdec.ptr.i.i.i653, %classes.val54.i.i643 - br i1 %cmp.i103.not.i.i, label %if.then19.i.i654, label %invoke.cont.i.i647 +for.inc.i.i653: ; preds = %invoke.cont.i.i648 + %incdec.ptr.i.i.i654 = getelementptr inbounds %"class.std::vector.804", ptr %__begin05.sroa.0.043.i.i649, i64 1 + %cmp.i103.not.i.i = icmp eq ptr %incdec.ptr.i.i.i654, %classes.val54.i.i644 + br i1 %cmp.i103.not.i.i, label %if.then19.i.i655, label %invoke.cont.i.i648 -if.then19.i.i654: ; preds = %for.inc.i.i652, %for.body.i.i638 - %710 = load ptr, ptr %_M_end_of_storage.i.i.i633, align 8, !noalias !1510 - %cmp.not.i.i.i655 = icmp eq ptr %classes.val54.i.i643, %710 - br i1 %cmp.not.i.i.i655, label %if.else.i.i.i981, label %if.then.i.i.i656 +if.then19.i.i655: ; preds = %for.inc.i.i653, %for.body.i.i639 + %710 = load ptr, ptr %_M_end_of_storage.i.i.i634, align 8, !noalias !1510 + %cmp.not.i.i.i656 = icmp eq ptr %classes.val54.i.i644, %710 + br i1 %cmp.not.i.i.i656, label %if.else.i.i.i983, label %if.then.i.i.i657 -if.then.i.i.i656: ; preds = %if.then19.i.i654 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i643, i8 0, i64 24, i1 false) - %incdec.ptr.i104.i.i = getelementptr inbounds %"class.std::vector.804", ptr %classes.val54.i.i643, i64 1 +if.then.i.i.i657: ; preds = %if.then19.i.i655 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i644, i8 0, i64 24, i1 false) + %incdec.ptr.i104.i.i = getelementptr inbounds %"class.std::vector.804", ptr %classes.val54.i.i644, i64 1 store ptr %incdec.ptr.i104.i.i, ptr %705, align 8, !noalias !1510 - br label %if.end23.i.i657 - -if.else.i.i.i981: ; preds = %if.then19.i.i654 - %sub.ptr.lhs.cast.i.i.i.i.i.i982 = ptrtoint ptr %classes.val54.i.i643 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i983 = ptrtoint ptr %classes.val.i.i642 to i64 - %sub.ptr.sub.i.i.i.i.i.i984 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i982, %sub.ptr.rhs.cast.i.i.i.i.i.i983 - %cmp.i.i.i.i.i985 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i984, 9223372036854775800 - br i1 %cmp.i.i.i.i.i985, label %if.then.i.i.i.i.invoke.i.i979, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - -_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i981 - %sub.ptr.div.i.i.i.i.i.i986 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i984, 24 - %.sroa.speculated.i.i.i.i.i987 = select i1 %cmp.i103.not42.i.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i986 - %add.i.i.i.i.i988 = add nsw i64 %.sroa.speculated.i.i.i.i.i987, %sub.ptr.div.i.i.i.i.i.i986 - %cmp7.i.i.i.i.i989 = icmp ult i64 %add.i.i.i.i.i988, %sub.ptr.div.i.i.i.i.i.i986 - %cmp9.i.i.i.i.i990 = icmp ugt i64 %add.i.i.i.i.i988, 384307168202282325 - %or.cond.i.i.i.i.i991 = or i1 %cmp7.i.i.i.i.i989, %cmp9.i.i.i.i.i990 - %cond.i.i.i.i.i992 = select i1 %or.cond.i.i.i.i.i991, i64 384307168202282325, i64 %add.i.i.i.i.i988 - %cmp.not.i.i.i.i.i993 = icmp eq i64 %cond.i.i.i.i.i992, 0 - br i1 %cmp.not.i.i.i.i.i993, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + br label %if.end23.i.i658 + +if.else.i.i.i983: ; preds = %if.then19.i.i655 + %sub.ptr.lhs.cast.i.i.i.i.i.i984 = ptrtoint ptr %classes.val54.i.i644 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i985 = ptrtoint ptr %classes.val.i.i643 to i64 + %sub.ptr.sub.i.i.i.i.i.i986 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i984, %sub.ptr.rhs.cast.i.i.i.i.i.i985 + %cmp.i.i.i.i.i987 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i986, 9223372036854775800 + br i1 %cmp.i.i.i.i.i987, label %if.then.i.i.i.i.invoke.i.i981, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i + +_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i983 + %sub.ptr.div.i.i.i.i.i.i988 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i986, 24 + %.sroa.speculated.i.i.i.i.i989 = select i1 %cmp.i103.not42.i.i, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i988 + %add.i.i.i.i.i990 = add nsw i64 %.sroa.speculated.i.i.i.i.i989, %sub.ptr.div.i.i.i.i.i.i988 + %cmp7.i.i.i.i.i991 = icmp ult i64 %add.i.i.i.i.i990, %sub.ptr.div.i.i.i.i.i.i988 + %cmp9.i.i.i.i.i992 = icmp ugt i64 %add.i.i.i.i.i990, 384307168202282325 + %or.cond.i.i.i.i.i993 = or i1 %cmp7.i.i.i.i.i991, %cmp9.i.i.i.i.i992 + %cond.i.i.i.i.i994 = select i1 %or.cond.i.i.i.i.i993, i64 384307168202282325, i64 %add.i.i.i.i.i990 + %cmp.not.i.i.i.i.i995 = icmp eq i64 %cond.i.i.i.i.i994, 0 + br i1 %cmp.not.i.i.i.i.i995, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %mul.i.i.i.i.i.i.i994 = mul nuw nsw i64 %cond.i.i.i.i.i992, 24 - %call5.i.i.i.i.i105.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i994) #34 - to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i668 + %mul.i.i.i.i.i.i.i996 = mul nuw nsw i64 %cond.i.i.i.i.i994, 24 + %call5.i.i.i.i.i105.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i996) #34 + to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i669 _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i12.i.i.i.i995 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] - %add.ptr.i.i.i.i996 = getelementptr inbounds %"class.std::vector.804", ptr %cond.i12.i.i.i.i995, i64 %sub.ptr.div.i.i.i.i.i.i986 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i996, i8 0, i64 24, i1 false) - br i1 %cmp.i103.not42.i.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i997 - -for.body.i.i.i.i.i.i.i997: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i997 - %__cur.03.i.i.i.i.i.i.i998 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i1005, %for.body.i.i.i.i.i.i.i997 ], [ %cond.i12.i.i.i.i995, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i999 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i1004, %for.body.i.i.i.i.i.i.i997 ], [ %classes.val.i.i642, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %cond.i12.i.i.i.i997 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] + %add.ptr.i.i.i.i998 = getelementptr inbounds %"class.std::vector.804", ptr %cond.i12.i.i.i.i997, i64 %sub.ptr.div.i.i.i.i.i.i988 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i998, i8 0, i64 24, i1 false) + br i1 %cmp.i103.not42.i.i, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i999 + +for.body.i.i.i.i.i.i.i999: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i999 + %__cur.03.i.i.i.i.i.i.i1000 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i1007, %for.body.i.i.i.i.i.i.i999 ], [ %cond.i12.i.i.i.i997, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i1001 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i1006, %for.body.i.i.i.i.i.i.i999 ], [ %classes.val.i.i643, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !1514) call void @llvm.experimental.noalias.scope.decl(metadata !1517) - %711 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i999, align 8, !alias.scope !1517, !noalias !1514 - store <2 x ptr> %711, ptr %__cur.03.i.i.i.i.i.i.i998, align 8, !alias.scope !1514, !noalias !1517 - %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i1002 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.810", ptr %__cur.03.i.i.i.i.i.i.i998, i64 0, i32 2 - %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i1003 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.810", ptr %__first.addr.02.i.i.i.i.i.i.i999, i64 0, i32 2 - %712 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i1003, align 8, !alias.scope !1517, !noalias !1514 - store ptr %712, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i1002, align 8, !alias.scope !1514, !noalias !1517 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i999, i8 0, i64 24, i1 false), !alias.scope !1517, !noalias !1514 - %incdec.ptr.i.i.i.i.i.i.i1004 = getelementptr inbounds %"class.std::vector.804", ptr %__first.addr.02.i.i.i.i.i.i.i999, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i1005 = getelementptr inbounds %"class.std::vector.804", ptr %__cur.03.i.i.i.i.i.i.i998, i64 1 - %cmp.not.i.i.i.i.i.i.i1006 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i1004, %classes.val54.i.i643 - br i1 %cmp.not.i.i.i.i.i.i.i1006, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i997, !llvm.loop !1519 - -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i997, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i1007 = phi ptr [ %cond.i12.i.i.i.i995, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i1005, %for.body.i.i.i.i.i.i.i997 ] - %incdec.ptr.i.i.i.i1008 = getelementptr inbounds %"class.std::vector.804", ptr %__cur.0.lcssa.i.i.i.i.i.i.i1007, i64 1 - %tobool.not.i.i.i.i.i1009 = icmp eq ptr %classes.val.i.i642, null - br i1 %tobool.not.i.i.i.i.i1009, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i1010 - -if.then.i26.i.i.i.i1010: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i642) #33 + %711 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i1001, align 8, !alias.scope !1517, !noalias !1514 + store <2 x ptr> %711, ptr %__cur.03.i.i.i.i.i.i.i1000, align 8, !alias.scope !1514, !noalias !1517 + %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i1004 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.810", ptr %__cur.03.i.i.i.i.i.i.i1000, i64 0, i32 2 + %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i1005 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.810", ptr %__first.addr.02.i.i.i.i.i.i.i1001, i64 0, i32 2 + %712 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i1005, align 8, !alias.scope !1517, !noalias !1514 + store ptr %712, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i1004, align 8, !alias.scope !1514, !noalias !1517 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i1001, i8 0, i64 24, i1 false), !alias.scope !1517, !noalias !1514 + %incdec.ptr.i.i.i.i.i.i.i1006 = getelementptr inbounds %"class.std::vector.804", ptr %__first.addr.02.i.i.i.i.i.i.i1001, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i1007 = getelementptr inbounds %"class.std::vector.804", ptr %__cur.03.i.i.i.i.i.i.i1000, i64 1 + %cmp.not.i.i.i.i.i.i.i1008 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i1006, %classes.val54.i.i644 + br i1 %cmp.not.i.i.i.i.i.i.i1008, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i999, !llvm.loop !1519 + +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i999, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i1009 = phi ptr [ %cond.i12.i.i.i.i997, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i1007, %for.body.i.i.i.i.i.i.i999 ] + %incdec.ptr.i.i.i.i1010 = getelementptr inbounds %"class.std::vector.804", ptr %__cur.0.lcssa.i.i.i.i.i.i.i1009, i64 1 + %tobool.not.i.i.i.i.i1011 = icmp eq ptr %classes.val.i.i643, null + br i1 %tobool.not.i.i.i.i.i1011, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i1012 + +if.then.i26.i.i.i.i1012: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i643) #33 br label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i1010, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - store ptr %cond.i12.i.i.i.i995, ptr %classes.i.i608, align 8, !noalias !1510 - store ptr %incdec.ptr.i.i.i.i1008, ptr %705, align 8, !noalias !1510 - %add.ptr19.i.i.i.i1011 = getelementptr inbounds %"class.std::vector.804", ptr %cond.i12.i.i.i.i995, i64 %cond.i.i.i.i.i992 - store ptr %add.ptr19.i.i.i.i1011, ptr %_M_end_of_storage.i.i.i633, align 8, !noalias !1510 - br label %if.end23.i.i657 - -if.end23.i.i657: ; preds = %invoke.cont.i.i647, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i656 - %c.1.i.i658 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i1007, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i643, %if.then.i.i.i656 ], [ %__begin05.sroa.0.043.i.i648, %invoke.cont.i.i647 ] - %_M_finish.i.i.i.i659 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.810", ptr %c.1.i.i658, i64 0, i32 1 - %713 = load ptr, ptr %_M_finish.i.i.i.i659, align 8 - %_M_end_of_storage.i.i.i.i660 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.810", ptr %c.1.i.i658, i64 0, i32 2 - %714 = load ptr, ptr %_M_end_of_storage.i.i.i.i660, align 8 - %cmp.not.i.i.i.i661 = icmp eq ptr %713, %714 - br i1 %cmp.not.i.i.i.i661, label %if.else.i.i.i.i955, label %if.then.i.i.i.i662 - -if.then.i.i.i.i662: ; preds = %if.end23.i.i657 - store ptr %__begin0.sroa.0.045.i.ptr.i641, ptr %713, align 8 - %ref.tmp24.sroa.3.0..sroa_idx.i.i663 = getelementptr inbounds i8, ptr %713, i64 8 - store i64 %i.046.i.i639, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i663, align 8 - %715 = load ptr, ptr %_M_finish.i.i.i.i659, align 8 +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i1012, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + store ptr %cond.i12.i.i.i.i997, ptr %classes.i.i609, align 8, !noalias !1510 + store ptr %incdec.ptr.i.i.i.i1010, ptr %705, align 8, !noalias !1510 + %add.ptr19.i.i.i.i1013 = getelementptr inbounds %"class.std::vector.804", ptr %cond.i12.i.i.i.i997, i64 %cond.i.i.i.i.i994 + store ptr %add.ptr19.i.i.i.i1013, ptr %_M_end_of_storage.i.i.i634, align 8, !noalias !1510 + br label %if.end23.i.i658 + +if.end23.i.i658: ; preds = %invoke.cont.i.i648, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i657 + %c.1.i.i659 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i1009, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i644, %if.then.i.i.i657 ], [ %__begin05.sroa.0.043.i.i649, %invoke.cont.i.i648 ] + %_M_finish.i.i.i.i660 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.810", ptr %c.1.i.i659, i64 0, i32 1 + %713 = load ptr, ptr %_M_finish.i.i.i.i660, align 8 + %_M_end_of_storage.i.i.i.i661 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.810", ptr %c.1.i.i659, i64 0, i32 2 + %714 = load ptr, ptr %_M_end_of_storage.i.i.i.i661, align 8 + %cmp.not.i.i.i.i662 = icmp eq ptr %713, %714 + br i1 %cmp.not.i.i.i.i662, label %if.else.i.i.i.i956, label %if.then.i.i.i.i663 + +if.then.i.i.i.i663: ; preds = %if.end23.i.i658 + store ptr %__begin0.sroa.0.045.i.ptr.i642, ptr %713, align 8 + %ref.tmp24.sroa.3.0..sroa_idx.i.i664 = getelementptr inbounds i8, ptr %713, i64 8 + store i64 %i.046.i.i640, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i664, align 8 + %715 = load ptr, ptr %_M_finish.i.i.i.i660, align 8 %incdec.ptr.i.i107.i.i = getelementptr inbounds %struct.Info.811, ptr %715, i64 1 - store ptr %incdec.ptr.i.i107.i.i, ptr %_M_finish.i.i.i.i659, align 8 - br label %invoke.cont26.i.i664 - -if.else.i.i.i.i955: ; preds = %if.end23.i.i657 - %this.val.i.i.i.i.i956 = load ptr, ptr %c.1.i.i658, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i957 = ptrtoint ptr %713 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i958 = ptrtoint ptr %this.val.i.i.i.i.i956 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i959 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i957, %sub.ptr.rhs.cast.i.i.i.i.i.i.i958 - %cmp.i.i.i.i108.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i959, 9223372036854775792 - br i1 %cmp.i.i.i.i108.i.i, label %if.then.i.i.i.i.invoke.i.i979, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - -if.then.i.i.i.i.invoke.i.i979: ; preds = %if.else.i.i.i.i955, %if.else.i.i.i981 + store ptr %incdec.ptr.i.i107.i.i, ptr %_M_finish.i.i.i.i660, align 8 + br label %invoke.cont26.i.i665 + +if.else.i.i.i.i956: ; preds = %if.end23.i.i658 + %this.val.i.i.i.i.i957 = load ptr, ptr %c.1.i.i659, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i958 = ptrtoint ptr %713 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i959 = ptrtoint ptr %this.val.i.i.i.i.i957 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i960 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i958, %sub.ptr.rhs.cast.i.i.i.i.i.i.i959 + %cmp.i.i.i.i108.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i960, 9223372036854775792 + br i1 %cmp.i.i.i.i108.i.i, label %if.then.i.i.i.i.invoke.i.i981, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + +if.then.i.i.i.i.invoke.i.i981: ; preds = %if.else.i.i.i.i956, %if.else.i.i.i983 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.117) #32 - to label %if.then.i.i.i.i.cont.i.i980 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i924 + to label %if.then.i.i.i.i.cont.i.i982 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i925 -if.then.i.i.i.i.cont.i.i980: ; preds = %if.then.i.i.i.i.invoke.i.i979 +if.then.i.i.i.i.cont.i.i982: ; preds = %if.then.i.i.i.i.invoke.i.i981 unreachable -_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i955 - %sub.ptr.div.i.i.i.i.i.i.i960 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i959, 4 - %cmp.i.i.i.i.i.i.i961 = icmp eq ptr %713, %this.val.i.i.i.i.i956 - %.sroa.speculated.i.i.i.i.i.i962 = select i1 %cmp.i.i.i.i.i.i.i961, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i960 - %add.i.i.i.i.i.i963 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i962, %sub.ptr.div.i.i.i.i.i.i.i960 - %cmp7.i.i.i.i.i.i964 = icmp ult i64 %add.i.i.i.i.i.i963, %sub.ptr.div.i.i.i.i.i.i.i960 - %cmp9.i.i.i.i.i.i965 = icmp ugt i64 %add.i.i.i.i.i.i963, 576460752303423487 - %or.cond.i.i.i.i.i.i966 = or i1 %cmp7.i.i.i.i.i.i964, %cmp9.i.i.i.i.i.i965 - %cond.i.i.i.i.i.i967 = select i1 %or.cond.i.i.i.i.i.i966, i64 576460752303423487, i64 %add.i.i.i.i.i.i963 - %cmp.not.i.i.i.i.i.i968 = icmp eq i64 %cond.i.i.i.i.i.i967, 0 - br i1 %cmp.not.i.i.i.i.i.i968, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i +_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i956 + %sub.ptr.div.i.i.i.i.i.i.i961 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i960, 4 + %cmp.i.i.i.i.i.i.i962 = icmp eq ptr %713, %this.val.i.i.i.i.i957 + %.sroa.speculated.i.i.i.i.i.i963 = select i1 %cmp.i.i.i.i.i.i.i962, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i961 + %add.i.i.i.i.i.i964 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i963, %sub.ptr.div.i.i.i.i.i.i.i961 + %cmp7.i.i.i.i.i.i965 = icmp ult i64 %add.i.i.i.i.i.i964, %sub.ptr.div.i.i.i.i.i.i.i961 + %cmp9.i.i.i.i.i.i966 = icmp ugt i64 %add.i.i.i.i.i.i964, 576460752303423487 + %or.cond.i.i.i.i.i.i967 = or i1 %cmp7.i.i.i.i.i.i965, %cmp9.i.i.i.i.i.i966 + %cond.i.i.i.i.i.i968 = select i1 %or.cond.i.i.i.i.i.i967, i64 576460752303423487, i64 %add.i.i.i.i.i.i964 + %cmp.not.i.i.i.i.i.i969 = icmp eq i64 %cond.i.i.i.i.i.i968, 0 + br i1 %cmp.not.i.i.i.i.i.i969, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %mul.i.i.i.i.i.i.i.i969 = shl nuw nsw i64 %cond.i.i.i.i.i.i967, 4 - %call5.i.i.i.i.i.i110.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i969) #34 - to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i668 + %mul.i.i.i.i.i.i.i.i970 = shl nuw nsw i64 %cond.i.i.i.i.i.i968, 4 + %call5.i.i.i.i.i.i110.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i970) #34 + to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i669 _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %cond.i12.i.i.i.i.i970 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] - %add.ptr.i.i.i.i.i971 = getelementptr inbounds %struct.Info.811, ptr %cond.i12.i.i.i.i.i970, i64 %sub.ptr.div.i.i.i.i.i.i.i960 - store ptr %__begin0.sroa.0.045.i.ptr.i641, ptr %add.ptr.i.i.i.i.i971, align 8 - %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i972 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i971, i64 8 - store i64 %i.046.i.i639, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i972, align 8 - %cmp.i.i.i13.i.i.i.i.i973 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i960, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i973, label %if.then.i.i.i14.i.i.i.i.i978, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -if.then.i.i.i14.i.i.i.i.i978: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i970, ptr align 8 %this.val.i.i.i.i.i956, i64 %sub.ptr.sub.i.i.i.i.i.i.i959, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i978, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i974 = getelementptr inbounds %struct.Info.811, ptr %add.ptr.i.i.i.i.i971, i64 1 - %tobool.not.i.i.i.i.i.i975 = icmp eq ptr %this.val.i.i.i.i.i956, null - br i1 %tobool.not.i.i.i.i.i.i975, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i976 - -if.then.i23.i.i.i.i.i976: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i956) #33 + %cond.i12.i.i.i.i.i971 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i972 = getelementptr inbounds %struct.Info.811, ptr %cond.i12.i.i.i.i.i971, i64 %sub.ptr.div.i.i.i.i.i.i.i961 + store ptr %__begin0.sroa.0.045.i.ptr.i642, ptr %add.ptr.i.i.i.i.i972, align 8 + %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i973 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i972, i64 8 + store i64 %i.046.i.i640, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i973, align 8 + %cmp.i.i.i13.i.i.i.i.i974 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i960, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i974, label %if.then.i.i.i14.i.i.i.i.i980, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +if.then.i.i.i14.i.i.i.i.i980: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i971, ptr align 8 %this.val.i.i.i.i.i957, i64 %sub.ptr.sub.i.i.i.i.i.i.i960, i1 false) + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i980, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i975 = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i971, i64 %sub.ptr.sub.i.i.i.i.i.i.i960 + %incdec.ptr.i.i.i.i.i976 = getelementptr inbounds %struct.Info.811, ptr %add.ptr.i.i.i.i.i.i.i.i975, i64 1 + %tobool.not.i.i.i.i.i.i977 = icmp eq ptr %this.val.i.i.i.i.i957, null + br i1 %tobool.not.i.i.i.i.i.i977, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i978 + +if.then.i22.i.i.i.i.i978: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i957) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i976, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - store ptr %cond.i12.i.i.i.i.i970, ptr %c.1.i.i658, align 8 - store ptr %incdec.ptr.i.i.i.i.i974, ptr %_M_finish.i.i.i.i659, align 8 - %add.ptr19.i.i.i.i.i977 = getelementptr inbounds %struct.Info.811, ptr %cond.i12.i.i.i.i.i970, i64 %cond.i.i.i.i.i.i967 - store ptr %add.ptr19.i.i.i.i.i977, ptr %_M_end_of_storage.i.i.i.i660, align 8 - br label %invoke.cont26.i.i664 - -invoke.cont26.i.i664: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i662 - %716 = phi ptr [ %add.ptr.i.i.i.i.i971, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %715, %if.then.i.i.i.i662 ] - %inc.i.i665 = add nuw nsw i64 %i.046.i.i639, 1 - %call28.val.i.i666 = load ptr, ptr %716, align 8 - %call28.val.val.i.i667 = load ptr, ptr %call28.val.i.i666, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i610, ptr %call28.val.val.i.i667) - to label %invoke.cont29.i.i672 unwind label %lpad.loopexit.split-lp.loopexit.i.i668 - -invoke.cont29.i.i672: ; preds = %invoke.cont26.i.i664 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i978, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + store ptr %cond.i12.i.i.i.i.i971, ptr %c.1.i.i659, align 8 + store ptr %incdec.ptr.i.i.i.i.i976, ptr %_M_finish.i.i.i.i660, align 8 + %add.ptr19.i.i.i.i.i979 = getelementptr inbounds %struct.Info.811, ptr %cond.i12.i.i.i.i.i971, i64 %cond.i.i.i.i.i.i968 + store ptr %add.ptr19.i.i.i.i.i979, ptr %_M_end_of_storage.i.i.i.i661, align 8 + br label %invoke.cont26.i.i665 + +invoke.cont26.i.i665: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i663 + %716 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i975, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %715, %if.then.i.i.i.i663 ] + %inc.i.i666 = add nuw nsw i64 %i.046.i.i640, 1 + %call28.val.i.i667 = load ptr, ptr %716, align 8 + %call28.val.val.i.i668 = load ptr, ptr %call28.val.i.i667, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i611, ptr %call28.val.val.i.i668) + to label %invoke.cont29.i.i673 unwind label %lpad.loopexit.split-lp.loopexit.i.i669 + +invoke.cont29.i.i673: ; preds = %invoke.cont26.i.i665 call void @llvm.experimental.noalias.scope.decl(metadata !1520) - %717 = load i8, ptr %moved_from_.i.i.i634, align 8, !noalias !1523 + %717 = load i8, ptr %moved_from_.i.i.i635, align 8, !noalias !1523 %718 = and i8 %717, 1 - %tobool.not.i.i.i673 = icmp eq i8 %718, 0 - br i1 %tobool.not.i.i.i673, label %if.end.i.i.i951, label %if.then.i112.i.i - -if.then.i112.i.i: ; preds = %invoke.cont29.i.i672 - invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i609, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) - to label %return.sink.split.i.i.i675 unwind label %lpad30.i.i674 - -if.end.i.i.i951: ; preds = %invoke.cont29.i.i672 - %719 = load ptr, ptr %error_.i.i.i636, align 8, !noalias !1523 - %_M_engaged.i.i.i.i.i952 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %719, i64 0, i32 1 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i635, align 8, !alias.scope !1520, !noalias !1510 - %720 = load i8, ptr %_M_engaged.i.i.i.i.i952, align 8, !noalias !1520 + %tobool.not.i.i.i674 = icmp eq i8 %718, 0 + br i1 %tobool.not.i.i.i674, label %if.end.i.i.i952, label %if.then.i112.i.i + +if.then.i112.i.i: ; preds = %invoke.cont29.i.i673 + invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i610, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) + to label %return.sink.split.i.i.i676 unwind label %lpad30.i.i675 + +if.end.i.i.i952: ; preds = %invoke.cont29.i.i673 + %719 = load ptr, ptr %error_.i.i.i637, align 8, !noalias !1523 + %_M_engaged.i.i.i.i.i953 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %719, i64 0, i32 1 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i636, align 8, !alias.scope !1520, !noalias !1510 + %720 = load i8, ptr %_M_engaged.i.i.i.i.i953, align 8, !noalias !1520 %721 = and i8 %720, 1 - %tobool.not.i.i.i.i.i.i.i.i953 = icmp eq i8 %721, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i953, label %invoke.cont31.i.i676, label %if.then.i.i.i.i.i.i.i.i954 + %tobool.not.i.i.i.i.i.i.i.i954 = icmp eq i8 %721, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i954, label %invoke.cont31.i.i677, label %if.then.i.i.i.i.i.i.i.i955 -if.then.i.i.i.i.i.i.i.i954: ; preds = %if.end.i.i.i951 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i609, ptr noundef nonnull align 8 dereferenceable(32) %719) - to label %return.sink.split.i.i.i675 unwind label %lpad30.i.i674 +if.then.i.i.i.i.i.i.i.i955: ; preds = %if.end.i.i.i952 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i610, ptr noundef nonnull align 8 dereferenceable(32) %719) + to label %return.sink.split.i.i.i676 unwind label %lpad30.i.i675 -return.sink.split.i.i.i675: ; preds = %if.then.i.i.i.i.i.i.i.i954, %if.then.i112.i.i - store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i635, align 8, !alias.scope !1520, !noalias !1510 - br label %invoke.cont31.i.i676 +return.sink.split.i.i.i676: ; preds = %if.then.i.i.i.i.i.i.i.i955, %if.then.i112.i.i + store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i636, align 8, !alias.scope !1520, !noalias !1510 + br label %invoke.cont31.i.i677 -invoke.cont31.i.i676: ; preds = %return.sink.split.i.i.i675, %if.end.i.i.i951 - %722 = load ptr, ptr %_M_refcount.i.i.i.i.i637, align 8, !noalias !1510 +invoke.cont31.i.i677: ; preds = %return.sink.split.i.i.i676, %if.end.i.i.i952 + %722 = load ptr, ptr %_M_refcount.i.i.i.i.i638, align 8, !noalias !1510 %cmp.not.i.i.i.i115.i.i = icmp eq ptr %722, null - br i1 %cmp.not.i.i.i.i115.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684, label %if.then.i.i.i.i116.i.i + br i1 %cmp.not.i.i.i.i115.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685, label %if.then.i.i.i.i116.i.i -if.then.i.i.i.i116.i.i: ; preds = %invoke.cont31.i.i676 - %_M_use_count.i.i.i.i.i.i.i677 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %722, i64 0, i32 1 - %723 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i677 acquire, align 8 +if.then.i.i.i.i116.i.i: ; preds = %invoke.cont31.i.i677 + %_M_use_count.i.i.i.i.i.i.i678 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %722, i64 0, i32 1 + %723 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i678 acquire, align 8 %cmp.i.i.i.i.i117.i.i = icmp eq i64 %723, 4294967297 %724 = trunc i64 %723 to i32 - br i1 %cmp.i.i.i.i.i117.i.i, label %if.then.i.i.i.i.i.i.i947, label %if.end.i.i.i.i.i.i.i678 - -if.then.i.i.i.i.i.i.i947: ; preds = %if.then.i.i.i.i116.i.i - store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i677, align 8 - %_M_weak_count.i.i.i.i.i.i.i948 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %722, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i948, align 4 - %vtable.i.i.i.i.i.i.i949 = load ptr, ptr %722, align 8 - %vfn.i.i.i.i.i.i.i950 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i949, i64 2 - %725 = load ptr, ptr %vfn.i.i.i.i.i.i.i950, align 8 + br i1 %cmp.i.i.i.i.i117.i.i, label %if.then.i.i.i.i.i.i.i948, label %if.end.i.i.i.i.i.i.i679 + +if.then.i.i.i.i.i.i.i948: ; preds = %if.then.i.i.i.i116.i.i + store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i678, align 8 + %_M_weak_count.i.i.i.i.i.i.i949 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %722, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i949, align 4 + %vtable.i.i.i.i.i.i.i950 = load ptr, ptr %722, align 8 + %vfn.i.i.i.i.i.i.i951 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i950, i64 2 + %725 = load ptr, ptr %vfn.i.i.i.i.i.i.i951, align 8 call void %725(ptr noundef nonnull align 8 dereferenceable(16) %722) #30 - br label %if.end8.sink.split.i.i.i.i.i.i.i942 + br label %if.end8.sink.split.i.i.i.i.i.i.i943 -if.end.i.i.i.i.i.i.i678: ; preds = %if.then.i.i.i.i116.i.i +if.end.i.i.i.i.i.i.i679: ; preds = %if.then.i.i.i.i116.i.i %726 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1510 - %tobool.i.i.not.i.i.i.i.i.i.i679 = icmp eq i8 %726, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i679, label %if.else.i.i.i.i.i.i.i.i946, label %if.then.i.i.i.i.i.i118.i.i - -if.then.i.i.i.i.i.i118.i.i: ; preds = %if.end.i.i.i.i.i.i.i678 - %add.i.i.i.i.i.i.i.i680 = add nsw i32 %724, -1 - store i32 %add.i.i.i.i.i.i.i.i680, ptr %_M_use_count.i.i.i.i.i.i.i677, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i681 - -if.else.i.i.i.i.i.i.i.i946: ; preds = %if.end.i.i.i.i.i.i.i678 - %727 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i677, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i681 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i681: ; preds = %if.else.i.i.i.i.i.i.i.i946, %if.then.i.i.i.i.i.i118.i.i - %retval.i.0.i.i.i.i.i.i.i682 = phi i32 [ %724, %if.then.i.i.i.i.i.i118.i.i ], [ %727, %if.else.i.i.i.i.i.i.i.i946 ] - %cmp6.i.i.i.i.i.i.i683 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i682, 1 - br i1 %cmp6.i.i.i.i.i.i.i683, label %if.then7.i.i.i.i.i.i.i932, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684 - -if.then7.i.i.i.i.i.i.i932: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i681 - %vtable.i.i.i.i.i.i.i.i.i933 = load ptr, ptr %722, align 8 - %vfn.i.i.i.i.i.i.i.i.i934 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i933, i64 2 - %728 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i934, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i680 = icmp eq i8 %726, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i680, label %if.else.i.i.i.i.i.i.i.i947, label %if.then.i.i.i.i.i.i118.i.i + +if.then.i.i.i.i.i.i118.i.i: ; preds = %if.end.i.i.i.i.i.i.i679 + %add.i.i.i.i.i.i.i.i681 = add nsw i32 %724, -1 + store i32 %add.i.i.i.i.i.i.i.i681, ptr %_M_use_count.i.i.i.i.i.i.i678, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i682 + +if.else.i.i.i.i.i.i.i.i947: ; preds = %if.end.i.i.i.i.i.i.i679 + %727 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i678, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i682 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i682: ; preds = %if.else.i.i.i.i.i.i.i.i947, %if.then.i.i.i.i.i.i118.i.i + %retval.i.0.i.i.i.i.i.i.i683 = phi i32 [ %724, %if.then.i.i.i.i.i.i118.i.i ], [ %727, %if.else.i.i.i.i.i.i.i.i947 ] + %cmp6.i.i.i.i.i.i.i684 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i683, 1 + br i1 %cmp6.i.i.i.i.i.i.i684, label %if.then7.i.i.i.i.i.i.i933, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685 + +if.then7.i.i.i.i.i.i.i933: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i682 + %vtable.i.i.i.i.i.i.i.i.i934 = load ptr, ptr %722, align 8 + %vfn.i.i.i.i.i.i.i.i.i935 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i934, i64 2 + %728 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i935, align 8 call void %728(ptr noundef nonnull align 8 dereferenceable(16) %722) #30 - %_M_weak_count.i.i.i.i.i.i.i.i.i935 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %722, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i.i.i936 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %722, i64 0, i32 2 %729 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1510 - %tobool.i.i.not.i.i.i.i.i.i.i.i.i936 = icmp eq i8 %729, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i936, label %if.else.i.i.i.i.i.i.i.i.i.i945, label %if.then.i.i.i.i.i.i.i.i.i.i937 - -if.then.i.i.i.i.i.i.i.i.i.i937: ; preds = %if.then7.i.i.i.i.i.i.i932 - %730 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i935, align 4 - %add.i.i.i.i.i.i.i.i.i.i938 = add nsw i32 %730, -1 - store i32 %add.i.i.i.i.i.i.i.i.i.i938, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i935, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i939 - -if.else.i.i.i.i.i.i.i.i.i.i945: ; preds = %if.then7.i.i.i.i.i.i.i932 - %731 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i935, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i939 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i939: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i945, %if.then.i.i.i.i.i.i.i.i.i.i937 - %retval.i.0.i.i.i.i.i.i.i.i.i940 = phi i32 [ %730, %if.then.i.i.i.i.i.i.i.i.i.i937 ], [ %731, %if.else.i.i.i.i.i.i.i.i.i.i945 ] - %cmp.i.i.i.i.i.i.i.i.i941 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i940, 1 - br i1 %cmp.i.i.i.i.i.i.i.i.i941, label %if.end8.sink.split.i.i.i.i.i.i.i942, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684 - -if.end8.sink.split.i.i.i.i.i.i.i942: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i939, %if.then.i.i.i.i.i.i.i947 - %vtable2.i.i.i.i.i.i.i.i.i943 = load ptr, ptr %722, align 8 - %vfn3.i.i.i.i.i.i.i.i.i944 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i943, i64 3 - %732 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i944, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i.i.i937 = icmp eq i8 %729, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i937, label %if.else.i.i.i.i.i.i.i.i.i.i946, label %if.then.i.i.i.i.i.i.i.i.i.i938 + +if.then.i.i.i.i.i.i.i.i.i.i938: ; preds = %if.then7.i.i.i.i.i.i.i933 + %730 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i936, align 4 + %add.i.i.i.i.i.i.i.i.i.i939 = add nsw i32 %730, -1 + store i32 %add.i.i.i.i.i.i.i.i.i.i939, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i936, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i940 + +if.else.i.i.i.i.i.i.i.i.i.i946: ; preds = %if.then7.i.i.i.i.i.i.i933 + %731 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i936, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i940 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i940: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i946, %if.then.i.i.i.i.i.i.i.i.i.i938 + %retval.i.0.i.i.i.i.i.i.i.i.i941 = phi i32 [ %730, %if.then.i.i.i.i.i.i.i.i.i.i938 ], [ %731, %if.else.i.i.i.i.i.i.i.i.i.i946 ] + %cmp.i.i.i.i.i.i.i.i.i942 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i941, 1 + br i1 %cmp.i.i.i.i.i.i.i.i.i942, label %if.end8.sink.split.i.i.i.i.i.i.i943, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685 + +if.end8.sink.split.i.i.i.i.i.i.i943: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i940, %if.then.i.i.i.i.i.i.i948 + %vtable2.i.i.i.i.i.i.i.i.i944 = load ptr, ptr %722, align 8 + %vfn3.i.i.i.i.i.i.i.i.i945 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i944, i64 3 + %732 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i945, align 8 call void %732(ptr noundef nonnull align 8 dereferenceable(16) %722) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685 -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i942, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i939, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i681, %invoke.cont31.i.i676 - %733 = load ptr, ptr %ref.tmp27.i.i610, align 8, !noalias !1510 +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i943, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i940, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i682, %invoke.cont31.i.i677 + %733 = load ptr, ptr %ref.tmp27.i.i611, align 8, !noalias !1510 %734 = load ptr, ptr %_M_finish.i.i119.i.i, align 8, !noalias !1510 - %cmp.not3.i.i.i.i.i.i.i685 = icmp eq ptr %733, %734 - br i1 %cmp.not3.i.i.i.i.i.i.i685, label %invoke.cont.i.i.i.i689, label %for.body.i.i.i.i.i120.i.i + %cmp.not3.i.i.i.i.i.i.i686 = icmp eq ptr %733, %734 + br i1 %cmp.not3.i.i.i.i.i.i.i686, label %invoke.cont.i.i.i.i690, label %for.body.i.i.i.i.i120.i.i -for.body.i.i.i.i.i120.i.i: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684, %for.body.i.i.i.i.i120.i.i - %__first.addr.04.i.i.i.i.i.i.i686 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i, %for.body.i.i.i.i.i120.i.i ], [ %733, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i686) #30 - %incdec.ptr.i.i.i.i.i121.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i686, i64 1 +for.body.i.i.i.i.i120.i.i: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685, %for.body.i.i.i.i.i120.i.i + %__first.addr.04.i.i.i.i.i.i.i687 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i, %for.body.i.i.i.i.i120.i.i ], [ %733, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i687) #30 + %incdec.ptr.i.i.i.i.i121.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i687, i64 1 %cmp.not.i.i.i.i.i122.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i, %734 - br i1 %cmp.not.i.i.i.i.i122.i.i, label %invoke.contthread-pre-split.i.i.i.i687, label %for.body.i.i.i.i.i120.i.i, !llvm.loop !8 + br i1 %cmp.not.i.i.i.i.i122.i.i, label %invoke.contthread-pre-split.i.i.i.i688, label %for.body.i.i.i.i.i120.i.i, !llvm.loop !8 -invoke.contthread-pre-split.i.i.i.i687: ; preds = %for.body.i.i.i.i.i120.i.i - %.pr.i.i.i.i688 = load ptr, ptr %ref.tmp27.i.i610, align 8, !noalias !1510 - br label %invoke.cont.i.i.i.i689 +invoke.contthread-pre-split.i.i.i.i688: ; preds = %for.body.i.i.i.i.i120.i.i + %.pr.i.i.i.i689 = load ptr, ptr %ref.tmp27.i.i611, align 8, !noalias !1510 + br label %invoke.cont.i.i.i.i690 -invoke.cont.i.i.i.i689: ; preds = %invoke.contthread-pre-split.i.i.i.i687, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684 - %735 = phi ptr [ %.pr.i.i.i.i688, %invoke.contthread-pre-split.i.i.i.i687 ], [ %733, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i684 ] +invoke.cont.i.i.i.i690: ; preds = %invoke.contthread-pre-split.i.i.i.i688, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685 + %735 = phi ptr [ %.pr.i.i.i.i689, %invoke.contthread-pre-split.i.i.i.i688 ], [ %733, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i685 ] %tobool.not.i.i.i.i123.i.i = icmp eq ptr %735, null - br i1 %tobool.not.i.i.i.i123.i.i, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i691, label %if.then.i.i.i1.i.i.i690 + br i1 %tobool.not.i.i.i.i123.i.i, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i692, label %if.then.i.i.i1.i.i.i691 -if.then.i.i.i1.i.i.i690: ; preds = %invoke.cont.i.i.i.i689 +if.then.i.i.i1.i.i.i691: ; preds = %invoke.cont.i.i.i.i690 call void @_ZdlPv(ptr noundef nonnull %735) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i691 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i692 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i691: ; preds = %if.then.i.i.i1.i.i.i690, %invoke.cont.i.i.i.i689 - %736 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i635, align 8, !noalias !1510 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i692: ; preds = %if.then.i.i.i1.i.i.i691, %invoke.cont.i.i.i.i690 + %736 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i636, align 8, !noalias !1510 %737 = and i8 %736, 1 - %tobool.i.i.not.i.i692 = icmp eq i8 %737, 0 - br i1 %tobool.i.i.not.i.i692, label %for.cond.i.i724, label %if.then33.i.i693 + %tobool.i.i.not.i.i693 = icmp eq i8 %737, 0 + br i1 %tobool.i.i.not.i.i693, label %for.cond.i.i725, label %if.then33.i.i694 -if.then33.i.i693: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i691 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i611) - to label %invoke.cont36.i.i697 unwind label %lpad35.i.i694 +if.then33.i.i694: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i692 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i612) + to label %invoke.cont36.i.i698 unwind label %lpad35.i.i695 -invoke.cont36.i.i697: ; preds = %if.then33.i.i693 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i607), !noalias !1510 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i607) - to label %.noexc126.i.i unwind label %lpad38.i.i698 +invoke.cont36.i.i698: ; preds = %if.then33.i.i694 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i608), !noalias !1510 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i608) + to label %.noexc126.i.i unwind label %lpad38.i.i699 -.noexc126.i.i: ; preds = %invoke.cont36.i.i697 - %738 = load ptr, ptr %ref.tmp.i.i.i607, align 8, !noalias !1510 +.noexc126.i.i: ; preds = %invoke.cont36.i.i698 + %738 = load ptr, ptr %ref.tmp.i.i.i608, align 8, !noalias !1510 %add.ptr.i.i124.i.i = getelementptr inbounds i8, ptr %738, i64 16 - %call2.i1.i.i.i701 = 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) %add.ptr.i.i124.i.i, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i609) - to label %invoke.cont.i.i.i707 unwind label %lpad.i.i.i702 + %call2.i1.i.i.i702 = 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) %add.ptr.i.i124.i.i, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i610) + to label %invoke.cont.i.i.i708 unwind label %lpad.i.i.i703 -invoke.cont.i.i.i707: ; preds = %.noexc126.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i611, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i607) - to label %invoke.cont2.i.i.i708 unwind label %lpad.i.i.i702 +invoke.cont.i.i.i708: ; preds = %.noexc126.i.i + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i612, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i608) + to label %invoke.cont2.i.i.i709 unwind label %lpad.i.i.i703 -invoke.cont2.i.i.i708: ; preds = %invoke.cont.i.i.i707 - %739 = load ptr, ptr %ref.tmp.i.i.i607, align 8, !noalias !1510 +invoke.cont2.i.i.i709: ; preds = %invoke.cont.i.i.i708 + %739 = load ptr, ptr %ref.tmp.i.i.i608, align 8, !noalias !1510 %cmp.not.i.i.i125.i.i = icmp eq ptr %739, null - br i1 %cmp.not.i.i.i125.i.i, label %invoke.cont39.i.i712, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i709 + br i1 %cmp.not.i.i.i125.i.i, label %invoke.cont39.i.i713, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i710 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i709: ; preds = %invoke.cont2.i.i.i708 - %vtable.i.i.i.i.i.i710 = load ptr, ptr %739, align 8 - %vfn.i.i.i.i.i.i711 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i710, i64 1 - %740 = load ptr, ptr %vfn.i.i.i.i.i.i711, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i710: ; preds = %invoke.cont2.i.i.i709 + %vtable.i.i.i.i.i.i711 = load ptr, ptr %739, align 8 + %vfn.i.i.i.i.i.i712 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i711, i64 1 + %740 = load ptr, ptr %vfn.i.i.i.i.i.i712, align 8 call void %740(ptr noundef nonnull align 8 dereferenceable(128) %739) #30 - br label %invoke.cont39.i.i712 + br label %invoke.cont39.i.i713 -lpad.i.i.i702: ; preds = %invoke.cont.i.i.i707, %.noexc126.i.i +lpad.i.i.i703: ; preds = %invoke.cont.i.i.i708, %.noexc126.i.i %741 = landingpad { ptr, i32 } cleanup - %742 = load ptr, ptr %ref.tmp.i.i.i607, align 8, !noalias !1510 - %cmp.not.i.i2.i.i.i703 = icmp eq ptr %742, null - br i1 %cmp.not.i.i2.i.i.i703, label %lpad38.body.i.i699, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i704 + %742 = load ptr, ptr %ref.tmp.i.i.i608, align 8, !noalias !1510 + %cmp.not.i.i2.i.i.i704 = icmp eq ptr %742, null + br i1 %cmp.not.i.i2.i.i.i704, label %lpad38.body.i.i700, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i705 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i704: ; preds = %lpad.i.i.i702 - %vtable.i.i.i4.i.i.i705 = load ptr, ptr %742, align 8 - %vfn.i.i.i5.i.i.i706 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i705, i64 1 - %743 = load ptr, ptr %vfn.i.i.i5.i.i.i706, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i705: ; preds = %lpad.i.i.i703 + %vtable.i.i.i4.i.i.i706 = load ptr, ptr %742, align 8 + %vfn.i.i.i5.i.i.i707 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i706, i64 1 + %743 = load ptr, ptr %vfn.i.i.i5.i.i.i707, align 8 call void %743(ptr noundef nonnull align 8 dereferenceable(128) %742) #30 - br label %lpad38.body.i.i699 + br label %lpad38.body.i.i700 -invoke.cont39.i.i712: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i709, %invoke.cont2.i.i.i708 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i607), !noalias !1510 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i611) - to label %invoke.cont41.i.i713 unwind label %lpad38.i.i698 +invoke.cont39.i.i713: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i710, %invoke.cont2.i.i.i709 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i608), !noalias !1510 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i612) + to label %invoke.cont41.i.i714 unwind label %lpad38.i.i699 -invoke.cont41.i.i713: ; preds = %invoke.cont39.i.i712 - %message_.i.i.i714 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i611, i64 0, i32 1 - %744 = load ptr, ptr %message_.i.i.i714, align 8, !noalias !1510 +invoke.cont41.i.i714: ; preds = %invoke.cont39.i.i713 + %message_.i.i.i715 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i612, i64 0, i32 1 + %744 = load ptr, ptr %message_.i.i.i715, align 8, !noalias !1510 %cmp.not.i.i127.i.i = icmp eq ptr %744, null - br i1 %cmp.not.i.i127.i.i, label %_ZN7testing15AssertionResultD2Ev.exit.i.i716, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i715 + br i1 %cmp.not.i.i127.i.i, label %_ZN7testing15AssertionResultD2Ev.exit.i.i717, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i716 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i715: ; preds = %invoke.cont41.i.i713 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i716: ; preds = %invoke.cont41.i.i714 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %744) #30 call void @_ZdlPv(ptr noundef nonnull %744) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit.i.i716 + br label %_ZN7testing15AssertionResultD2Ev.exit.i.i717 -_ZN7testing15AssertionResultD2Ev.exit.i.i716: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i715, %invoke.cont41.i.i713 - store ptr null, ptr %message_.i.i.i714, align 8, !noalias !1510 - %745 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i635, align 8, !noalias !1510 +_ZN7testing15AssertionResultD2Ev.exit.i.i717: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i716, %invoke.cont41.i.i714 + store ptr null, ptr %message_.i.i.i715, align 8, !noalias !1510 + %745 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i636, align 8, !noalias !1510 %746 = and i8 %745, 1 %tobool.not.i.i.i.i128.i.i = icmp eq i8 %746, 0 - br i1 %tobool.not.i.i.i.i128.i.i, label %cleanup257.i.i717, label %if.then.i.i.i.i129.i.i + br i1 %tobool.not.i.i.i.i128.i.i, label %cleanup257.i.i718, label %if.then.i.i.i.i129.i.i -if.then.i.i.i.i129.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i716 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i635, align 8, !noalias !1510 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i609) #30 - br label %cleanup257.i.i717 +if.then.i.i.i.i129.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i717 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i636, align 8, !noalias !1510 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i610) #30 + br label %cleanup257.i.i718 -lpad30.i.i674: ; preds = %if.then.i.i.i.i.i.i.i.i954, %if.then.i112.i.i +lpad30.i.i675: ; preds = %if.then.i.i.i.i.i.i.i.i955, %if.then.i112.i.i %747 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i610) #30 - br label %ehcleanup258.i.i670 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i611) #30 + br label %ehcleanup258.i.i671 -lpad35.i.i694: ; preds = %if.then33.i.i693 +lpad35.i.i695: ; preds = %if.then33.i.i694 %748 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i.i695 + br label %ehcleanup.i.i696 -lpad38.i.i698: ; preds = %invoke.cont39.i.i712, %invoke.cont36.i.i697 +lpad38.i.i699: ; preds = %invoke.cont39.i.i713, %invoke.cont36.i.i698 %749 = landingpad { ptr, i32 } cleanup - br label %lpad38.body.i.i699 + br label %lpad38.body.i.i700 -lpad38.body.i.i699: ; preds = %lpad38.i.i698, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i704, %lpad.i.i.i702 - %eh.lpad-body.i.i700 = phi { ptr, i32 } [ %749, %lpad38.i.i698 ], [ %741, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i704 ], [ %741, %lpad.i.i.i702 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i611) #30 - br label %ehcleanup.i.i695 +lpad38.body.i.i700: ; preds = %lpad38.i.i699, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i705, %lpad.i.i.i703 + %eh.lpad-body.i.i701 = phi { ptr, i32 } [ %749, %lpad38.i.i699 ], [ %741, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i705 ], [ %741, %lpad.i.i.i703 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i612) #30 + br label %ehcleanup.i.i696 -ehcleanup.i.i695: ; preds = %lpad38.body.i.i699, %lpad35.i.i694 - %.pn46.i.i696 = phi { ptr, i32 } [ %eh.lpad-body.i.i700, %lpad38.body.i.i699 ], [ %748, %lpad35.i.i694 ] - %750 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i635, align 8, !noalias !1510 +ehcleanup.i.i696: ; preds = %lpad38.body.i.i700, %lpad35.i.i695 + %.pn46.i.i697 = phi { ptr, i32 } [ %eh.lpad-body.i.i701, %lpad38.body.i.i700 ], [ %748, %lpad35.i.i695 ] + %750 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i636, align 8, !noalias !1510 %751 = and i8 %750, 1 %tobool.not.i.i.i.i136.i.i = icmp eq i8 %751, 0 - br i1 %tobool.not.i.i.i.i136.i.i, label %ehcleanup258.i.i670, label %if.then.i.i.i.i137.i.i + br i1 %tobool.not.i.i.i.i136.i.i, label %ehcleanup258.i.i671, label %if.then.i.i.i.i137.i.i -if.then.i.i.i.i137.i.i: ; preds = %ehcleanup.i.i695 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i635, align 8, !noalias !1510 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i609) #30 - br label %ehcleanup258.i.i670 +if.then.i.i.i.i137.i.i: ; preds = %ehcleanup.i.i696 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i636, align 8, !noalias !1510 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i610) #30 + br label %ehcleanup258.i.i671 -for.end45.i.i727: ; preds = %for.cond.i.i724 - %classes.val62.pre.i.i = load ptr, ptr %classes.i.i608, align 8, !noalias !1510 +for.end45.i.i728: ; preds = %for.cond.i.i725 + %classes.val62.pre.i.i = load ptr, ptr %classes.i.i609, align 8, !noalias !1510 %classes.val63.pre.i.i = load ptr, ptr %705, align 8, !noalias !1510 - %sub.ptr.lhs.cast.i.i.i728 = ptrtoint ptr %classes.val63.pre.i.i to i64 - %sub.ptr.rhs.cast.i.i.i729 = ptrtoint ptr %classes.val62.pre.i.i to i64 - %sub.ptr.sub.i.i.i730 = sub i64 %sub.ptr.lhs.cast.i.i.i728, %sub.ptr.rhs.cast.i.i.i729 - %sub.ptr.div.i.i.i731 = sdiv exact i64 %sub.ptr.sub.i.i.i730, 24 - %cmp47.i.i732 = icmp ult i64 %sub.ptr.div.i.i.i731, 2 - br i1 %cmp47.i.i732, label %if.then48.i.i926, label %for.cond64.preheader.i.i733 - -for.cond64.preheader.i.i733: ; preds = %for.end45.i.i727 - %cmp.i160.not51.i.i734 = icmp eq ptr %classes.val62.pre.i.i, %classes.val63.pre.i.i - br i1 %cmp.i160.not51.i.i734, label %for.end255.i.i923, label %for.body66.lr.ph.i.i735 - -for.body66.lr.ph.i.i735: ; preds = %for.cond64.preheader.i.i733 - %_M_refcount.i.i.i163.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i615, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i176.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i615, i64 0, i32 1 - %_M_refcount.i.i.i207.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i614, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i220.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i614, i64 0, i32 1 - %_M_refcount.i.i.i311.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i618, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i324.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i618, i64 0, i32 1 - %_M_refcount.i.i.i735.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i622, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i748.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i622, i64 0, i32 1 - %_M_refcount.i.i.i824.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i613, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i837.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i613, i64 0, i32 1 - br label %for.body66.i.i736 - -if.then48.i.i926: ; preds = %for.end45.i.i727 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i612) - to label %invoke.cont50.i.i927 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i924 - -invoke.cont50.i.i927: ; preds = %if.then48.i.i926 + %sub.ptr.lhs.cast.i.i.i729 = ptrtoint ptr %classes.val63.pre.i.i to i64 + %sub.ptr.rhs.cast.i.i.i730 = ptrtoint ptr %classes.val62.pre.i.i to i64 + %sub.ptr.sub.i.i.i731 = sub i64 %sub.ptr.lhs.cast.i.i.i729, %sub.ptr.rhs.cast.i.i.i730 + %sub.ptr.div.i.i.i732 = sdiv exact i64 %sub.ptr.sub.i.i.i731, 24 + %cmp47.i.i733 = icmp ult i64 %sub.ptr.div.i.i.i732, 2 + br i1 %cmp47.i.i733, label %if.then48.i.i927, label %for.cond64.preheader.i.i734 + +for.cond64.preheader.i.i734: ; preds = %for.end45.i.i728 + %cmp.i160.not51.i.i735 = icmp eq ptr %classes.val62.pre.i.i, %classes.val63.pre.i.i + br i1 %cmp.i160.not51.i.i735, label %for.end255.i.i924, label %for.body66.lr.ph.i.i736 + +for.body66.lr.ph.i.i736: ; preds = %for.cond64.preheader.i.i734 + %_M_refcount.i.i.i163.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i616, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i176.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i616, i64 0, i32 1 + %_M_refcount.i.i.i207.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i615, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i220.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i615, i64 0, i32 1 + %_M_refcount.i.i.i311.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i619, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i324.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i619, i64 0, i32 1 + %_M_refcount.i.i.i735.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i623, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i748.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i623, i64 0, i32 1 + %_M_refcount.i.i.i824.i.i = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i614, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i837.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i614, i64 0, i32 1 + br label %for.body66.i.i737 + +if.then48.i.i927: ; preds = %for.end45.i.i728 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i613) + to label %invoke.cont50.i.i928 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i925 + +invoke.cont50.i.i928: ; preds = %if.then48.i.i927 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i) - to label %.noexc154.i.i unwind label %lpad51.i.i928 + to label %.noexc154.i.i unwind label %lpad51.i.i929 -.noexc154.i.i: ; preds = %invoke.cont50.i.i927 +.noexc154.i.i: ; preds = %invoke.cont50.i.i928 %752 = load ptr, ptr %ref.tmp.i139.i.i, align 8, !noalias !1510 %add.ptr.i.i140.i.i = getelementptr inbounds i8, ptr %752, i64 16 %call2.i1.i141.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i, ptr noundef nonnull @.str.106) to label %invoke.cont.i148.i.i unwind label %lpad.i142.i.i invoke.cont.i148.i.i: ; preds = %.noexc154.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i612, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i613, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i) to label %invoke.cont2.i149.i.i unwind label %lpad.i142.i.i invoke.cont2.i149.i.i: ; preds = %invoke.cont.i148.i.i %753 = load ptr, ptr %ref.tmp.i139.i.i, align 8, !noalias !1510 %cmp.not.i.i.i150.i.i = icmp eq ptr %753, null - br i1 %cmp.not.i.i.i150.i.i, label %invoke.cont52.i.i930, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i + br i1 %cmp.not.i.i.i150.i.i, label %invoke.cont52.i.i931, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i: ; preds = %invoke.cont2.i149.i.i %vtable.i.i.i.i152.i.i = load ptr, ptr %753, align 8 %vfn.i.i.i.i153.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i, i64 1 %754 = load ptr, ptr %vfn.i.i.i.i153.i.i, align 8 call void %754(ptr noundef nonnull align 8 dereferenceable(128) %753) #30 - br label %invoke.cont52.i.i930 + br label %invoke.cont52.i.i931 lpad.i142.i.i: ; preds = %invoke.cont.i148.i.i, %.noexc154.i.i %755 = landingpad { ptr, i32 } cleanup %756 = load ptr, ptr %ref.tmp.i139.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i143.i.i = icmp eq ptr %756, null - br i1 %cmp.not.i.i2.i143.i.i, label %lpad51.body.i.i929, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i + br i1 %cmp.not.i.i2.i143.i.i, label %lpad51.body.i.i930, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i: ; preds = %lpad.i142.i.i %vtable.i.i.i4.i145.i.i = load ptr, ptr %756, align 8 %vfn.i.i.i5.i146.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i, i64 1 %757 = load ptr, ptr %vfn.i.i.i5.i146.i.i, align 8 call void %757(ptr noundef nonnull align 8 dereferenceable(128) %756) #30 - br label %lpad51.body.i.i929 + br label %lpad51.body.i.i930 -invoke.cont52.i.i930: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i, %invoke.cont2.i149.i.i +invoke.cont52.i.i931: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i, %invoke.cont2.i149.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i), !noalias !1510 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i612) - to label %invoke.cont54.i.i931 unwind label %lpad51.i.i928 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i613) + to label %invoke.cont54.i.i932 unwind label %lpad51.i.i929 -invoke.cont54.i.i931: ; preds = %invoke.cont52.i.i930 - %message_.i156.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i612, i64 0, i32 1 +invoke.cont54.i.i932: ; preds = %invoke.cont52.i.i931 + %message_.i156.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i613, i64 0, i32 1 %758 = load ptr, ptr %message_.i156.i.i, align 8, !noalias !1510 %cmp.not.i.i157.i.i = icmp eq ptr %758, null br i1 %cmp.not.i.i157.i.i, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i: ; preds = %invoke.cont54.i.i931 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i: ; preds = %invoke.cont54.i.i932 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %758) #30 call void @_ZdlPv(ptr noundef nonnull %758) #33 br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i -_ZN7testing15AssertionResultD2Ev.exit159.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i, %invoke.cont54.i.i931 +_ZN7testing15AssertionResultD2Ev.exit159.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i, %invoke.cont54.i.i932 store ptr null, ptr %message_.i156.i.i, align 8, !noalias !1510 - br label %cleanup257.i.i717 + br label %cleanup257.i.i718 -lpad51.i.i928: ; preds = %invoke.cont52.i.i930, %invoke.cont50.i.i927 +lpad51.i.i929: ; preds = %invoke.cont52.i.i931, %invoke.cont50.i.i928 %759 = landingpad { ptr, i32 } cleanup - br label %lpad51.body.i.i929 + br label %lpad51.body.i.i930 -lpad51.body.i.i929: ; preds = %lpad51.i.i928, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i, %lpad.i142.i.i - %eh.lpad-body155.i.i = phi { ptr, i32 } [ %759, %lpad51.i.i928 ], [ %755, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i ], [ %755, %lpad.i142.i.i ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i612) #30 - br label %ehcleanup258.i.i670 +lpad51.body.i.i930: ; preds = %lpad51.i.i929, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i, %lpad.i142.i.i + %eh.lpad-body155.i.i = phi { ptr, i32 } [ %759, %lpad51.i.i929 ], [ %755, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i ], [ %755, %lpad.i142.i.i ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i613) #30 + br label %ehcleanup258.i.i671 -for.body66.i.i736: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i, %for.body66.lr.ph.i.i735 - %__begin058.sroa.0.052.i.i737 = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i735 ], [ %incdec.ptr.i868.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i ] - %call68.val.i.i738 = load ptr, ptr %__begin058.sroa.0.052.i.i737, align 8 - %call69.val.i.i739 = load ptr, ptr %call68.val.i.i738, align 8 - %call69.val.val.i.i740 = load ptr, ptr %call69.val.i.i739, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i613, ptr %call69.val.val.i.i740) - to label %invoke.cont70.i.i743 unwind label %lpad.loopexit11.i.i741 +for.body66.i.i737: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i, %for.body66.lr.ph.i.i736 + %__begin058.sroa.0.052.i.i738 = phi ptr [ %classes.val62.pre.i.i, %for.body66.lr.ph.i.i736 ], [ %incdec.ptr.i868.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i ] + %call68.val.i.i739 = load ptr, ptr %__begin058.sroa.0.052.i.i738, align 8 + %call69.val.i.i740 = load ptr, ptr %call68.val.i.i739, align 8 + %call69.val.val.i.i741 = load ptr, ptr %call69.val.i.i740, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i614, ptr %call69.val.val.i.i741) + to label %invoke.cont70.i.i744 unwind label %lpad.loopexit11.i.i742 -invoke.cont70.i.i743: ; preds = %for.body66.i.i736 - %call68.val80.i.i = load ptr, ptr %__begin058.sroa.0.052.i.i737, align 8 - %760 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i737, i64 8 +invoke.cont70.i.i744: ; preds = %for.body66.i.i737 + %call68.val80.i.i = load ptr, ptr %__begin058.sroa.0.052.i.i738, align 8 + %760 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i738, i64 8 %call68.val81.i.i = load ptr, ptr %760, align 8 %cmp.i161.not47.i.i = icmp eq ptr %call68.val80.i.i, %call68.val81.i.i - br i1 %cmp.i161.not47.i.i, label %for.end144.i.i800, label %for.body80.i.i744 + br i1 %cmp.i161.not47.i.i, label %for.end144.i.i801, label %for.body80.i.i745 -for.body80.i.i744: ; preds = %invoke.cont70.i.i743, %for.inc142.i.i799 - %__begin072.sroa.0.048.i.i745 = phi ptr [ %incdec.ptr.i448.i.i, %for.inc142.i.i799 ], [ %call68.val80.i.i, %invoke.cont70.i.i743 ] - %call81.val.i.i746 = load ptr, ptr %__begin072.sroa.0.048.i.i745, align 8 - %call81.val.val.i.i747 = load ptr, ptr %call81.val.i.i746, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i614, ptr %call81.val.val.i.i747) - to label %invoke.cont84.i.i752 unwind label %lpad83.loopexit.split-lp.loopexit.i.i748 +for.body80.i.i745: ; preds = %invoke.cont70.i.i744, %for.inc142.i.i800 + %__begin072.sroa.0.048.i.i746 = phi ptr [ %incdec.ptr.i448.i.i, %for.inc142.i.i800 ], [ %call68.val80.i.i, %invoke.cont70.i.i744 ] + %call81.val.i.i747 = load ptr, ptr %__begin072.sroa.0.048.i.i746, align 8 + %call81.val.val.i.i748 = load ptr, ptr %call81.val.i.i747, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i615, ptr %call81.val.val.i.i748) + to label %invoke.cont84.i.i753 unwind label %lpad83.loopexit.split-lp.loopexit.i.i749 -invoke.cont84.i.i752: ; preds = %for.body80.i.i744 - %call81.val65.i.i = load ptr, ptr %__begin072.sroa.0.048.i.i745, align 8 +invoke.cont84.i.i753: ; preds = %for.body80.i.i745 + %call81.val65.i.i = load ptr, ptr %__begin072.sroa.0.048.i.i746, align 8 %call81.val65.val.i.i = load ptr, ptr %call81.val65.i.i, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i615, ptr %call81.val65.val.i.i) - to label %invoke.cont87.i.i756 unwind label %lpad86.i.i753 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i616, ptr %call81.val65.val.i.i) + to label %invoke.cont87.i.i757 unwind label %lpad86.i.i754 -invoke.cont87.i.i756: ; preds = %invoke.cont84.i.i752 - %call.i.i162.i.i = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i614, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i615) - to label %invoke.cont89.i.i758 unwind label %lpad88.i.i757 +invoke.cont87.i.i757: ; preds = %invoke.cont84.i.i753 + %call.i.i162.i.i = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i615, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i616) + to label %invoke.cont89.i.i759 unwind label %lpad88.i.i758 -invoke.cont89.i.i758: ; preds = %invoke.cont87.i.i756 +invoke.cont89.i.i759: ; preds = %invoke.cont87.i.i757 %761 = load ptr, ptr %_M_refcount.i.i.i163.i.i, align 8, !noalias !1510 %cmp.not.i.i.i.i164.i.i = icmp eq ptr %761, null br i1 %cmp.not.i.i.i.i164.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i, label %if.then.i.i.i.i165.i.i -if.then.i.i.i.i165.i.i: ; preds = %invoke.cont89.i.i758 +if.then.i.i.i.i165.i.i: ; preds = %invoke.cont89.i.i759 %_M_use_count.i.i.i.i.i166.i.i = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %761, i64 0, i32 1 %762 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i acquire, align 8 %cmp.i.i.i.i.i167.i.i = icmp eq i64 %762, 4294967297 @@ -63824,8 +63834,8 @@ if.end8.sink.split.i.i.i.i.i197.i.i: ; preds = %_ZN9__gnu_cxx27__ex call void %771(ptr noundef nonnull align 8 dereferenceable(16) %761) #30 br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i, %invoke.cont89.i.i758 - %772 = load ptr, ptr %ref.tmp85.i.i615, align 8, !noalias !1510 +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i, %invoke.cont89.i.i759 + %772 = load ptr, ptr %ref.tmp85.i.i616, align 8, !noalias !1510 %773 = load ptr, ptr %_M_finish.i.i176.i.i, align 8, !noalias !1510 %cmp.not3.i.i.i.i.i177.i.i = icmp eq ptr %772, %773 br i1 %cmp.not3.i.i.i.i.i177.i.i, label %invoke.cont.i.i184.i.i, label %for.body.i.i.i.i.i178.i.i @@ -63838,7 +63848,7 @@ for.body.i.i.i.i.i178.i.i: ; preds = %_ZNSt10shared_ptrIS br i1 %cmp.not.i.i.i.i.i181.i.i, label %invoke.contthread-pre-split.i.i182.i.i, label %for.body.i.i.i.i.i178.i.i, !llvm.loop !8 invoke.contthread-pre-split.i.i182.i.i: ; preds = %for.body.i.i.i.i.i178.i.i - %.pr.i.i183.i.i = load ptr, ptr %ref.tmp85.i.i615, align 8, !noalias !1510 + %.pr.i.i183.i.i = load ptr, ptr %ref.tmp85.i.i616, align 8, !noalias !1510 br label %invoke.cont.i.i184.i.i invoke.cont.i.i184.i.i: ; preds = %invoke.contthread-pre-split.i.i182.i.i, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i @@ -63924,7 +63934,7 @@ if.end8.sink.split.i.i.i.i.i241.i.i: ; preds = %_ZN9__gnu_cxx27__ex br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i _ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i - %786 = load ptr, ptr %ref.tmp82.i.i614, align 8, !noalias !1510 + %786 = load ptr, ptr %ref.tmp82.i.i615, align 8, !noalias !1510 %787 = load ptr, ptr %_M_finish.i.i220.i.i, align 8, !noalias !1510 %cmp.not3.i.i.i.i.i221.i.i = icmp eq ptr %786, %787 br i1 %cmp.not3.i.i.i.i.i221.i.i, label %invoke.cont.i.i228.i.i, label %for.body.i.i.i.i.i222.i.i @@ -63937,7 +63947,7 @@ for.body.i.i.i.i.i222.i.i: ; preds = %_ZNSt10shared_ptrIS br i1 %cmp.not.i.i.i.i.i225.i.i, label %invoke.contthread-pre-split.i.i226.i.i, label %for.body.i.i.i.i.i222.i.i, !llvm.loop !8 invoke.contthread-pre-split.i.i226.i.i: ; preds = %for.body.i.i.i.i.i222.i.i - %.pr.i.i227.i.i = load ptr, ptr %ref.tmp82.i.i614, align 8, !noalias !1510 + %.pr.i.i227.i.i = load ptr, ptr %ref.tmp82.i.i615, align 8, !noalias !1510 br label %invoke.cont.i.i228.i.i invoke.cont.i.i228.i.i: ; preds = %invoke.contthread-pre-split.i.i226.i.i, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i @@ -63950,233 +63960,233 @@ if.then.i.i.i1.i230.i.i: ; preds = %invoke.cont.i.i228. br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i: ; preds = %if.then.i.i.i1.i230.i.i, %invoke.cont.i.i228.i.i - br i1 %call.i.i162.i.i, label %if.end109.i.i775, label %if.then93.i.i759 + br i1 %call.i.i162.i.i, label %if.end109.i.i776, label %if.then93.i.i760 -if.then93.i.i759: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i616) - to label %invoke.cont95.i.i762 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i760 +if.then93.i.i760: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i617) + to label %invoke.cont95.i.i763 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i761 -invoke.cont95.i.i762: ; preds = %if.then93.i.i759 +invoke.cont95.i.i763: ; preds = %if.then93.i.i760 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i) - to label %.noexc266.i.i unwind label %lpad96.i.i763 + to label %.noexc266.i.i unwind label %lpad96.i.i764 -.noexc266.i.i: ; preds = %invoke.cont95.i.i762 +.noexc266.i.i: ; preds = %invoke.cont95.i.i763 %789 = load ptr, ptr %ref.tmp.i251.i.i, align 8, !noalias !1510 %add.ptr.i.i252.i.i = getelementptr inbounds i8, ptr %789, i64 16 %call2.i1.i253.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i, ptr noundef nonnull @.str.107) to label %invoke.cont.i260.i.i unwind label %lpad.i254.i.i invoke.cont.i260.i.i: ; preds = %.noexc266.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i616, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i617, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i) to label %invoke.cont2.i261.i.i unwind label %lpad.i254.i.i invoke.cont2.i261.i.i: ; preds = %invoke.cont.i260.i.i %790 = load ptr, ptr %ref.tmp.i251.i.i, align 8, !noalias !1510 %cmp.not.i.i.i262.i.i = icmp eq ptr %790, null - br i1 %cmp.not.i.i.i262.i.i, label %invoke.cont97.i.i766, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i + br i1 %cmp.not.i.i.i262.i.i, label %invoke.cont97.i.i767, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i: ; preds = %invoke.cont2.i261.i.i %vtable.i.i.i.i264.i.i = load ptr, ptr %790, align 8 %vfn.i.i.i.i265.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i, i64 1 %791 = load ptr, ptr %vfn.i.i.i.i265.i.i, align 8 call void %791(ptr noundef nonnull align 8 dereferenceable(128) %790) #30 - br label %invoke.cont97.i.i766 + br label %invoke.cont97.i.i767 lpad.i254.i.i: ; preds = %invoke.cont.i260.i.i, %.noexc266.i.i %792 = landingpad { ptr, i32 } cleanup %793 = load ptr, ptr %ref.tmp.i251.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i255.i.i = icmp eq ptr %793, null - br i1 %cmp.not.i.i2.i255.i.i, label %ehcleanup108.i.i764, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i + br i1 %cmp.not.i.i2.i255.i.i, label %ehcleanup108.i.i765, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i: ; preds = %lpad.i254.i.i %vtable.i.i.i4.i257.i.i = load ptr, ptr %793, align 8 %vfn.i.i.i5.i258.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i, i64 1 %794 = load ptr, ptr %vfn.i.i.i5.i258.i.i, align 8 call void %794(ptr noundef nonnull align 8 dereferenceable(128) %793) #30 - br label %ehcleanup108.i.i764 + br label %ehcleanup108.i.i765 -invoke.cont97.i.i766: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i, %invoke.cont2.i261.i.i +invoke.cont97.i.i767: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i, %invoke.cont2.i261.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i), !noalias !1510 - %call81.val83.i.i = load ptr, ptr %__begin072.sroa.0.048.i.i745, align 8 - %795 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i745, i64 8 - %call81.val84.i.i767 = load i64, ptr %795, align 8 + %call81.val83.i.i = load ptr, ptr %__begin072.sroa.0.048.i.i746, align 8 + %795 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i746, i64 8 + %call81.val84.i.i768 = load i64, ptr %795, align 8 %call81.val83.val.i.i = load ptr, ptr %call81.val83.i.i, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i617, ptr %call81.val83.val.i.i, i64 %call81.val84.i.i767) - to label %invoke.cont100.i.i768 unwind label %lpad96.i.i763 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i618, ptr %call81.val83.val.i.i, i64 %call81.val84.i.i768) + to label %invoke.cont100.i.i769 unwind label %lpad96.i.i764 -invoke.cont100.i.i768: ; preds = %invoke.cont97.i.i766 +invoke.cont100.i.i769: ; preds = %invoke.cont97.i.i767 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i) - to label %.noexc283.i.i unwind label %lpad101.i.i769 + to label %.noexc283.i.i unwind label %lpad101.i.i770 -.noexc283.i.i: ; preds = %invoke.cont100.i.i768 +.noexc283.i.i: ; preds = %invoke.cont100.i.i769 %796 = load ptr, ptr %ref.tmp.i268.i.i, align 8, !noalias !1510 %add.ptr.i.i269.i.i = getelementptr inbounds i8, ptr %796, i64 16 - %call2.i1.i270.i.i = 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) %add.ptr.i.i269.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i617) + %call2.i1.i270.i.i = 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) %add.ptr.i.i269.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i618) to label %invoke.cont.i277.i.i unwind label %lpad.i271.i.i invoke.cont.i277.i.i: ; preds = %.noexc283.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i616, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i617, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i) to label %invoke.cont2.i278.i.i unwind label %lpad.i271.i.i invoke.cont2.i278.i.i: ; preds = %invoke.cont.i277.i.i %797 = load ptr, ptr %ref.tmp.i268.i.i, align 8, !noalias !1510 %cmp.not.i.i.i279.i.i = icmp eq ptr %797, null - br i1 %cmp.not.i.i.i279.i.i, label %invoke.cont102.i.i771, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i + br i1 %cmp.not.i.i.i279.i.i, label %invoke.cont102.i.i772, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i: ; preds = %invoke.cont2.i278.i.i %vtable.i.i.i.i281.i.i = load ptr, ptr %797, align 8 %vfn.i.i.i.i282.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i, i64 1 %798 = load ptr, ptr %vfn.i.i.i.i282.i.i, align 8 call void %798(ptr noundef nonnull align 8 dereferenceable(128) %797) #30 - br label %invoke.cont102.i.i771 + br label %invoke.cont102.i.i772 lpad.i271.i.i: ; preds = %invoke.cont.i277.i.i, %.noexc283.i.i %799 = landingpad { ptr, i32 } cleanup %800 = load ptr, ptr %ref.tmp.i268.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i272.i.i = icmp eq ptr %800, null - br i1 %cmp.not.i.i2.i272.i.i, label %lpad101.body.i.i770, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i + br i1 %cmp.not.i.i2.i272.i.i, label %lpad101.body.i.i771, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i: ; preds = %lpad.i271.i.i %vtable.i.i.i4.i274.i.i = load ptr, ptr %800, align 8 %vfn.i.i.i5.i275.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i, i64 1 %801 = load ptr, ptr %vfn.i.i.i5.i275.i.i, align 8 call void %801(ptr noundef nonnull align 8 dereferenceable(128) %800) #30 - br label %lpad101.body.i.i770 + br label %lpad101.body.i.i771 -invoke.cont102.i.i771: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i, %invoke.cont2.i278.i.i +invoke.cont102.i.i772: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i, %invoke.cont2.i278.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i), !noalias !1510 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i) - to label %.noexc301.i.i unwind label %lpad101.i.i769 + to label %.noexc301.i.i unwind label %lpad101.i.i770 -.noexc301.i.i: ; preds = %invoke.cont102.i.i771 +.noexc301.i.i: ; preds = %invoke.cont102.i.i772 %802 = load ptr, ptr %ref.tmp.i286.i.i, align 8, !noalias !1510 %add.ptr.i.i287.i.i = getelementptr inbounds i8, ptr %802, i64 16 %call2.i1.i288.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i, ptr noundef nonnull @.str.108) to label %invoke.cont.i295.i.i unwind label %lpad.i289.i.i invoke.cont.i295.i.i: ; preds = %.noexc301.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i616, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i617, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i) to label %invoke.cont2.i296.i.i unwind label %lpad.i289.i.i invoke.cont2.i296.i.i: ; preds = %invoke.cont.i295.i.i %803 = load ptr, ptr %ref.tmp.i286.i.i, align 8, !noalias !1510 %cmp.not.i.i.i297.i.i = icmp eq ptr %803, null - br i1 %cmp.not.i.i.i297.i.i, label %invoke.cont104.i.i772, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i + br i1 %cmp.not.i.i.i297.i.i, label %invoke.cont104.i.i773, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i: ; preds = %invoke.cont2.i296.i.i %vtable.i.i.i.i299.i.i = load ptr, ptr %803, align 8 %vfn.i.i.i.i300.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i, i64 1 %804 = load ptr, ptr %vfn.i.i.i.i300.i.i, align 8 call void %804(ptr noundef nonnull align 8 dereferenceable(128) %803) #30 - br label %invoke.cont104.i.i772 + br label %invoke.cont104.i.i773 lpad.i289.i.i: ; preds = %invoke.cont.i295.i.i, %.noexc301.i.i %805 = landingpad { ptr, i32 } cleanup %806 = load ptr, ptr %ref.tmp.i286.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i290.i.i = icmp eq ptr %806, null - br i1 %cmp.not.i.i2.i290.i.i, label %lpad101.body.i.i770, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i + br i1 %cmp.not.i.i2.i290.i.i, label %lpad101.body.i.i771, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i: ; preds = %lpad.i289.i.i %vtable.i.i.i4.i292.i.i = load ptr, ptr %806, align 8 %vfn.i.i.i5.i293.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i, i64 1 %807 = load ptr, ptr %vfn.i.i.i5.i293.i.i, align 8 call void %807(ptr noundef nonnull align 8 dereferenceable(128) %806) #30 - br label %lpad101.body.i.i770 + br label %lpad101.body.i.i771 -invoke.cont104.i.i772: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i, %invoke.cont2.i296.i.i +invoke.cont104.i.i773: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i, %invoke.cont2.i296.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i), !noalias !1510 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i616) - to label %invoke.cont106.i.i773 unwind label %lpad101.i.i769 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i617) + to label %invoke.cont106.i.i774 unwind label %lpad101.i.i770 -invoke.cont106.i.i773: ; preds = %invoke.cont104.i.i772 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i617) #30 - %message_.i304.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i616, i64 0, i32 1 +invoke.cont106.i.i774: ; preds = %invoke.cont104.i.i773 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i618) #30 + %message_.i304.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i617, i64 0, i32 1 %808 = load ptr, ptr %message_.i304.i.i, align 8, !noalias !1510 %cmp.not.i.i305.i.i = icmp eq ptr %808, null br i1 %cmp.not.i.i305.i.i, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i: ; preds = %invoke.cont106.i.i773 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i: ; preds = %invoke.cont106.i.i774 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %808) #30 call void @_ZdlPv(ptr noundef nonnull %808) #33 br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i -_ZN7testing15AssertionResultD2Ev.exit307.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i, %invoke.cont106.i.i773 +_ZN7testing15AssertionResultD2Ev.exit307.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i, %invoke.cont106.i.i774 store ptr null, ptr %message_.i304.i.i, align 8, !noalias !1510 - br label %cleanup257.critedge.i.i774 + br label %cleanup257.critedge.i.i775 -lpad83.loopexit.i.i810: ; preds = %if.end158.i.i806 - %lpad.loopexit.i.i811 = landingpad { ptr, i32 } +lpad83.loopexit.i.i811: ; preds = %if.end158.i.i807 + %lpad.loopexit.i.i812 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i750 + br label %ehcleanup252.i.i751 -lpad83.loopexit.split-lp.loopexit.i.i748: ; preds = %for.body80.i.i744, %if.end109.i.i775 - %lpad.loopexit8.i.i749 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.i.i749: ; preds = %for.body80.i.i745, %if.end109.i.i776 + %lpad.loopexit8.i.i750 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i750 + br label %ehcleanup252.i.i751 -lpad83.loopexit.split-lp.loopexit.split-lp.i.i760: ; preds = %if.then116.i.i779, %if.then93.i.i759 - %lpad.loopexit.split-lp9.i.i761 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.split-lp.i.i761: ; preds = %if.then116.i.i780, %if.then93.i.i760 + %lpad.loopexit.split-lp9.i.i762 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i750 + br label %ehcleanup252.i.i751 -lpad86.i.i753: ; preds = %invoke.cont84.i.i752 +lpad86.i.i754: ; preds = %invoke.cont84.i.i753 %809 = landingpad { ptr, i32 } cleanup - br label %ehcleanup92.i.i754 + br label %ehcleanup92.i.i755 -lpad88.i.i757: ; preds = %invoke.cont87.i.i756 +lpad88.i.i758: ; preds = %invoke.cont87.i.i757 %810 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i615) #30 - br label %ehcleanup92.i.i754 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i616) #30 + br label %ehcleanup92.i.i755 -ehcleanup92.i.i754: ; preds = %lpad88.i.i757, %lpad86.i.i753 - %.pn38.i.i755 = phi { ptr, i32 } [ %810, %lpad88.i.i757 ], [ %809, %lpad86.i.i753 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i614) #30 - br label %ehcleanup252.i.i750 +ehcleanup92.i.i755: ; preds = %lpad88.i.i758, %lpad86.i.i754 + %.pn38.i.i756 = phi { ptr, i32 } [ %810, %lpad88.i.i758 ], [ %809, %lpad86.i.i754 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i615) #30 + br label %ehcleanup252.i.i751 -lpad96.i.i763: ; preds = %invoke.cont97.i.i766, %invoke.cont95.i.i762 +lpad96.i.i764: ; preds = %invoke.cont97.i.i767, %invoke.cont95.i.i763 %811 = landingpad { ptr, i32 } cleanup - br label %ehcleanup108.i.i764 + br label %ehcleanup108.i.i765 -lpad101.i.i769: ; preds = %invoke.cont104.i.i772, %invoke.cont102.i.i771, %invoke.cont100.i.i768 +lpad101.i.i770: ; preds = %invoke.cont104.i.i773, %invoke.cont102.i.i772, %invoke.cont100.i.i769 %812 = landingpad { ptr, i32 } cleanup - br label %lpad101.body.i.i770 + br label %lpad101.body.i.i771 -lpad101.body.i.i770: ; preds = %lpad101.i.i769, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i, %lpad.i289.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i, %lpad.i271.i.i - %eh.lpad-body284.i.i = phi { ptr, i32 } [ %799, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i ], [ %799, %lpad.i271.i.i ], [ %812, %lpad101.i.i769 ], [ %805, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i ], [ %805, %lpad.i289.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i617) #30 - br label %ehcleanup108.i.i764 +lpad101.body.i.i771: ; preds = %lpad101.i.i770, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i, %lpad.i289.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i, %lpad.i271.i.i + %eh.lpad-body284.i.i = phi { ptr, i32 } [ %799, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i ], [ %799, %lpad.i271.i.i ], [ %812, %lpad101.i.i770 ], [ %805, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i ], [ %805, %lpad.i289.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i618) #30 + br label %ehcleanup108.i.i765 -ehcleanup108.i.i764: ; preds = %lpad101.body.i.i770, %lpad96.i.i763, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i, %lpad.i254.i.i - %.pn43.i.i765 = phi { ptr, i32 } [ %eh.lpad-body284.i.i, %lpad101.body.i.i770 ], [ %811, %lpad96.i.i763 ], [ %792, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i ], [ %792, %lpad.i254.i.i ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i616) #30 - br label %ehcleanup252.i.i750 +ehcleanup108.i.i765: ; preds = %lpad101.body.i.i771, %lpad96.i.i764, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i, %lpad.i254.i.i + %.pn43.i.i766 = phi { ptr, i32 } [ %eh.lpad-body284.i.i, %lpad101.body.i.i771 ], [ %811, %lpad96.i.i764 ], [ %792, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i ], [ %792, %lpad.i254.i.i ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i617) #30 + br label %ehcleanup252.i.i751 -if.end109.i.i775: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i - %call81.val66.i.i = load ptr, ptr %__begin072.sroa.0.048.i.i745, align 8 +if.end109.i.i776: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i + %call81.val66.i.i = load ptr, ptr %__begin072.sroa.0.048.i.i746, align 8 %call81.val66.val.i.i = load ptr, ptr %call81.val66.i.i, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i618, ptr %call81.val66.val.i.i) - to label %invoke.cont111.i.i776 unwind label %lpad83.loopexit.split-lp.loopexit.i.i748 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i619, ptr %call81.val66.val.i.i) + to label %invoke.cont111.i.i777 unwind label %lpad83.loopexit.split-lp.loopexit.i.i749 -invoke.cont111.i.i776: ; preds = %if.end109.i.i775 - %call.i.i309.i.i = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i618, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i613) - to label %invoke.cont113.i.i778 unwind label %lpad112.i.i777 +invoke.cont111.i.i777: ; preds = %if.end109.i.i776 + %call.i.i309.i.i = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i619, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i614) + to label %invoke.cont113.i.i779 unwind label %lpad112.i.i778 -invoke.cont113.i.i778: ; preds = %invoke.cont111.i.i776 +invoke.cont113.i.i779: ; preds = %invoke.cont111.i.i777 %813 = load ptr, ptr %_M_refcount.i.i.i311.i.i, align 8, !noalias !1510 %cmp.not.i.i.i.i312.i.i = icmp eq ptr %813, null br i1 %cmp.not.i.i.i.i312.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i, label %if.then.i.i.i.i313.i.i -if.then.i.i.i.i313.i.i: ; preds = %invoke.cont113.i.i778 +if.then.i.i.i.i313.i.i: ; preds = %invoke.cont113.i.i779 %_M_use_count.i.i.i.i.i314.i.i = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %813, i64 0, i32 1 %814 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i acquire, align 8 %cmp.i.i.i.i.i315.i.i = icmp eq i64 %814, 4294967297 @@ -64244,8 +64254,8 @@ if.end8.sink.split.i.i.i.i.i345.i.i: ; preds = %_ZN9__gnu_cxx27__ex call void %823(ptr noundef nonnull align 8 dereferenceable(16) %813) #30 br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i, %invoke.cont113.i.i778 - %824 = load ptr, ptr %ref.tmp110.i.i618, align 8, !noalias !1510 +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i, %invoke.cont113.i.i779 + %824 = load ptr, ptr %ref.tmp110.i.i619, align 8, !noalias !1510 %825 = load ptr, ptr %_M_finish.i.i324.i.i, align 8, !noalias !1510 %cmp.not3.i.i.i.i.i325.i.i = icmp eq ptr %824, %825 br i1 %cmp.not3.i.i.i.i.i325.i.i, label %invoke.cont.i.i332.i.i, label %for.body.i.i.i.i.i326.i.i @@ -64258,7 +64268,7 @@ for.body.i.i.i.i.i326.i.i: ; preds = %_ZNSt10shared_ptrIS br i1 %cmp.not.i.i.i.i.i329.i.i, label %invoke.contthread-pre-split.i.i330.i.i, label %for.body.i.i.i.i.i326.i.i, !llvm.loop !8 invoke.contthread-pre-split.i.i330.i.i: ; preds = %for.body.i.i.i.i.i326.i.i - %.pr.i.i331.i.i = load ptr, ptr %ref.tmp110.i.i618, align 8, !noalias !1510 + %.pr.i.i331.i.i = load ptr, ptr %ref.tmp110.i.i619, align 8, !noalias !1510 br label %invoke.cont.i.i332.i.i invoke.cont.i.i332.i.i: ; preds = %invoke.contthread-pre-split.i.i330.i.i, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i @@ -64271,1168 +64281,1168 @@ if.then.i.i.i1.i334.i.i: ; preds = %invoke.cont.i.i332. br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i: ; preds = %if.then.i.i.i1.i334.i.i, %invoke.cont.i.i332.i.i - br i1 %call.i.i309.i.i, label %for.inc142.i.i799, label %if.then116.i.i779 + br i1 %call.i.i309.i.i, label %for.inc142.i.i800, label %if.then116.i.i780 -if.then116.i.i779: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i619) - to label %invoke.cont118.i.i780 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i760 +if.then116.i.i780: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i620) + to label %invoke.cont118.i.i781 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i761 -invoke.cont118.i.i780: ; preds = %if.then116.i.i779 +invoke.cont118.i.i781: ; preds = %if.then116.i.i780 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i) - to label %.noexc370.i.i unwind label %lpad119.i.i781 + to label %.noexc370.i.i unwind label %lpad119.i.i782 -.noexc370.i.i: ; preds = %invoke.cont118.i.i780 +.noexc370.i.i: ; preds = %invoke.cont118.i.i781 %827 = load ptr, ptr %ref.tmp.i355.i.i, align 8, !noalias !1510 %add.ptr.i.i356.i.i = getelementptr inbounds i8, ptr %827, i64 16 %call2.i1.i357.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i, ptr noundef nonnull @.str.109) to label %invoke.cont.i364.i.i unwind label %lpad.i358.i.i invoke.cont.i364.i.i: ; preds = %.noexc370.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i619, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i620, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i) to label %invoke.cont2.i365.i.i unwind label %lpad.i358.i.i invoke.cont2.i365.i.i: ; preds = %invoke.cont.i364.i.i %828 = load ptr, ptr %ref.tmp.i355.i.i, align 8, !noalias !1510 %cmp.not.i.i.i366.i.i = icmp eq ptr %828, null - br i1 %cmp.not.i.i.i366.i.i, label %invoke.cont120.i.i784, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i + br i1 %cmp.not.i.i.i366.i.i, label %invoke.cont120.i.i785, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i: ; preds = %invoke.cont2.i365.i.i %vtable.i.i.i.i368.i.i = load ptr, ptr %828, align 8 %vfn.i.i.i.i369.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i, i64 1 %829 = load ptr, ptr %vfn.i.i.i.i369.i.i, align 8 call void %829(ptr noundef nonnull align 8 dereferenceable(128) %828) #30 - br label %invoke.cont120.i.i784 + br label %invoke.cont120.i.i785 lpad.i358.i.i: ; preds = %invoke.cont.i364.i.i, %.noexc370.i.i %830 = landingpad { ptr, i32 } cleanup %831 = load ptr, ptr %ref.tmp.i355.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i359.i.i = icmp eq ptr %831, null - br i1 %cmp.not.i.i2.i359.i.i, label %ehcleanup140.i.i782, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i + br i1 %cmp.not.i.i2.i359.i.i, label %ehcleanup140.i.i783, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i: ; preds = %lpad.i358.i.i %vtable.i.i.i4.i361.i.i = load ptr, ptr %831, align 8 %vfn.i.i.i5.i362.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i, i64 1 %832 = load ptr, ptr %vfn.i.i.i5.i362.i.i, align 8 call void %832(ptr noundef nonnull align 8 dereferenceable(128) %831) #30 - br label %ehcleanup140.i.i782 + br label %ehcleanup140.i.i783 -invoke.cont120.i.i784: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i, %invoke.cont2.i365.i.i +invoke.cont120.i.i785: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i, %invoke.cont2.i365.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i), !noalias !1510 - %call68.val73.i.i = load ptr, ptr %__begin058.sroa.0.052.i.i737, align 8 - %call123.val.i.i785 = load ptr, ptr %call68.val73.i.i, align 8 + %call68.val73.i.i = load ptr, ptr %__begin058.sroa.0.052.i.i738, align 8 + %call123.val.i.i786 = load ptr, ptr %call68.val73.i.i, align 8 %833 = getelementptr i8, ptr %call68.val73.i.i, i64 8 %call123.val85.i.i = load i64, ptr %833, align 8 - %call123.val.val.i.i786 = load ptr, ptr %call123.val.i.i785, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i620, ptr %call123.val.val.i.i786, i64 %call123.val85.i.i) - to label %invoke.cont124.i.i787 unwind label %lpad119.i.i781 + %call123.val.val.i.i787 = load ptr, ptr %call123.val.i.i786, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i621, ptr %call123.val.val.i.i787, i64 %call123.val85.i.i) + to label %invoke.cont124.i.i788 unwind label %lpad119.i.i782 -invoke.cont124.i.i787: ; preds = %invoke.cont120.i.i784 +invoke.cont124.i.i788: ; preds = %invoke.cont120.i.i785 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i) - to label %.noexc387.i.i unwind label %lpad125.i.i788 + to label %.noexc387.i.i unwind label %lpad125.i.i789 -.noexc387.i.i: ; preds = %invoke.cont124.i.i787 +.noexc387.i.i: ; preds = %invoke.cont124.i.i788 %834 = load ptr, ptr %ref.tmp.i372.i.i, align 8, !noalias !1510 %add.ptr.i.i373.i.i = getelementptr inbounds i8, ptr %834, i64 16 - %call2.i1.i374.i.i = 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) %add.ptr.i.i373.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i620) + %call2.i1.i374.i.i = 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) %add.ptr.i.i373.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i621) to label %invoke.cont.i381.i.i unwind label %lpad.i375.i.i invoke.cont.i381.i.i: ; preds = %.noexc387.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i619, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i620, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i) to label %invoke.cont2.i382.i.i unwind label %lpad.i375.i.i invoke.cont2.i382.i.i: ; preds = %invoke.cont.i381.i.i %835 = load ptr, ptr %ref.tmp.i372.i.i, align 8, !noalias !1510 %cmp.not.i.i.i383.i.i = icmp eq ptr %835, null - br i1 %cmp.not.i.i.i383.i.i, label %invoke.cont126.i.i791, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i + br i1 %cmp.not.i.i.i383.i.i, label %invoke.cont126.i.i792, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i: ; preds = %invoke.cont2.i382.i.i %vtable.i.i.i.i385.i.i = load ptr, ptr %835, align 8 %vfn.i.i.i.i386.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i, i64 1 %836 = load ptr, ptr %vfn.i.i.i.i386.i.i, align 8 call void %836(ptr noundef nonnull align 8 dereferenceable(128) %835) #30 - br label %invoke.cont126.i.i791 + br label %invoke.cont126.i.i792 lpad.i375.i.i: ; preds = %invoke.cont.i381.i.i, %.noexc387.i.i %837 = landingpad { ptr, i32 } cleanup %838 = load ptr, ptr %ref.tmp.i372.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i376.i.i = icmp eq ptr %838, null - br i1 %cmp.not.i.i2.i376.i.i, label %ehcleanup139.i.i789, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i + br i1 %cmp.not.i.i2.i376.i.i, label %ehcleanup139.i.i790, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i: ; preds = %lpad.i375.i.i %vtable.i.i.i4.i378.i.i = load ptr, ptr %838, align 8 %vfn.i.i.i5.i379.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i, i64 1 %839 = load ptr, ptr %vfn.i.i.i5.i379.i.i, align 8 call void %839(ptr noundef nonnull align 8 dereferenceable(128) %838) #30 - br label %ehcleanup139.i.i789 + br label %ehcleanup139.i.i790 -invoke.cont126.i.i791: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i, %invoke.cont2.i382.i.i +invoke.cont126.i.i792: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i, %invoke.cont2.i382.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i), !noalias !1510 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i) - to label %.noexc405.i.i unwind label %lpad125.i.i788 + to label %.noexc405.i.i unwind label %lpad125.i.i789 -.noexc405.i.i: ; preds = %invoke.cont126.i.i791 +.noexc405.i.i: ; preds = %invoke.cont126.i.i792 %840 = load ptr, ptr %ref.tmp.i390.i.i, align 8, !noalias !1510 %add.ptr.i.i391.i.i = getelementptr inbounds i8, ptr %840, i64 16 %call2.i1.i392.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i, ptr noundef nonnull @.str.110) to label %invoke.cont.i399.i.i unwind label %lpad.i393.i.i invoke.cont.i399.i.i: ; preds = %.noexc405.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i619, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i620, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i) to label %invoke.cont2.i400.i.i unwind label %lpad.i393.i.i invoke.cont2.i400.i.i: ; preds = %invoke.cont.i399.i.i %841 = load ptr, ptr %ref.tmp.i390.i.i, align 8, !noalias !1510 %cmp.not.i.i.i401.i.i = icmp eq ptr %841, null - br i1 %cmp.not.i.i.i401.i.i, label %invoke.cont128.i.i792, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i + br i1 %cmp.not.i.i.i401.i.i, label %invoke.cont128.i.i793, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i: ; preds = %invoke.cont2.i400.i.i %vtable.i.i.i.i403.i.i = load ptr, ptr %841, align 8 %vfn.i.i.i.i404.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i, i64 1 %842 = load ptr, ptr %vfn.i.i.i.i404.i.i, align 8 call void %842(ptr noundef nonnull align 8 dereferenceable(128) %841) #30 - br label %invoke.cont128.i.i792 + br label %invoke.cont128.i.i793 lpad.i393.i.i: ; preds = %invoke.cont.i399.i.i, %.noexc405.i.i %843 = landingpad { ptr, i32 } cleanup %844 = load ptr, ptr %ref.tmp.i390.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i394.i.i = icmp eq ptr %844, null - br i1 %cmp.not.i.i2.i394.i.i, label %ehcleanup139.i.i789, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i + br i1 %cmp.not.i.i2.i394.i.i, label %ehcleanup139.i.i790, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i: ; preds = %lpad.i393.i.i %vtable.i.i.i4.i396.i.i = load ptr, ptr %844, align 8 %vfn.i.i.i5.i397.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i, i64 1 %845 = load ptr, ptr %vfn.i.i.i5.i397.i.i, align 8 call void %845(ptr noundef nonnull align 8 dereferenceable(128) %844) #30 - br label %ehcleanup139.i.i789 + br label %ehcleanup139.i.i790 -invoke.cont128.i.i792: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i, %invoke.cont2.i400.i.i +invoke.cont128.i.i793: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i, %invoke.cont2.i400.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i), !noalias !1510 - %call81.val86.i.i = load ptr, ptr %__begin072.sroa.0.048.i.i745, align 8 - %846 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i745, i64 8 + %call81.val86.i.i = load ptr, ptr %__begin072.sroa.0.048.i.i746, align 8 + %846 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i746, i64 8 %call81.val87.i.i = load i64, ptr %846, align 8 %call81.val86.val.i.i = load ptr, ptr %call81.val86.i.i, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i621, ptr %call81.val86.val.i.i, i64 %call81.val87.i.i) - to label %invoke.cont131.i.i793 unwind label %lpad125.i.i788 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i622, ptr %call81.val86.val.i.i, i64 %call81.val87.i.i) + to label %invoke.cont131.i.i794 unwind label %lpad125.i.i789 -invoke.cont131.i.i793: ; preds = %invoke.cont128.i.i792 +invoke.cont131.i.i794: ; preds = %invoke.cont128.i.i793 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i) - to label %.noexc423.i.i unwind label %lpad132.i.i794 + to label %.noexc423.i.i unwind label %lpad132.i.i795 -.noexc423.i.i: ; preds = %invoke.cont131.i.i793 +.noexc423.i.i: ; preds = %invoke.cont131.i.i794 %847 = load ptr, ptr %ref.tmp.i408.i.i, align 8, !noalias !1510 %add.ptr.i.i409.i.i = getelementptr inbounds i8, ptr %847, i64 16 - %call2.i1.i410.i.i = 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) %add.ptr.i.i409.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i621) + %call2.i1.i410.i.i = 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) %add.ptr.i.i409.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i622) to label %invoke.cont.i417.i.i unwind label %lpad.i411.i.i invoke.cont.i417.i.i: ; preds = %.noexc423.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i619, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i620, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i) to label %invoke.cont2.i418.i.i unwind label %lpad.i411.i.i invoke.cont2.i418.i.i: ; preds = %invoke.cont.i417.i.i %848 = load ptr, ptr %ref.tmp.i408.i.i, align 8, !noalias !1510 %cmp.not.i.i.i419.i.i = icmp eq ptr %848, null - br i1 %cmp.not.i.i.i419.i.i, label %invoke.cont133.i.i796, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i + br i1 %cmp.not.i.i.i419.i.i, label %invoke.cont133.i.i797, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i: ; preds = %invoke.cont2.i418.i.i %vtable.i.i.i.i421.i.i = load ptr, ptr %848, align 8 %vfn.i.i.i.i422.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i, i64 1 %849 = load ptr, ptr %vfn.i.i.i.i422.i.i, align 8 call void %849(ptr noundef nonnull align 8 dereferenceable(128) %848) #30 - br label %invoke.cont133.i.i796 + br label %invoke.cont133.i.i797 lpad.i411.i.i: ; preds = %invoke.cont.i417.i.i, %.noexc423.i.i %850 = landingpad { ptr, i32 } cleanup %851 = load ptr, ptr %ref.tmp.i408.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i412.i.i = icmp eq ptr %851, null - br i1 %cmp.not.i.i2.i412.i.i, label %lpad132.body.i.i795, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i + br i1 %cmp.not.i.i2.i412.i.i, label %lpad132.body.i.i796, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i: ; preds = %lpad.i411.i.i %vtable.i.i.i4.i414.i.i = load ptr, ptr %851, align 8 %vfn.i.i.i5.i415.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i, i64 1 %852 = load ptr, ptr %vfn.i.i.i5.i415.i.i, align 8 call void %852(ptr noundef nonnull align 8 dereferenceable(128) %851) #30 - br label %lpad132.body.i.i795 + br label %lpad132.body.i.i796 -invoke.cont133.i.i796: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i, %invoke.cont2.i418.i.i +invoke.cont133.i.i797: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i, %invoke.cont2.i418.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i), !noalias !1510 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i) - to label %.noexc441.i.i unwind label %lpad132.i.i794 + to label %.noexc441.i.i unwind label %lpad132.i.i795 -.noexc441.i.i: ; preds = %invoke.cont133.i.i796 +.noexc441.i.i: ; preds = %invoke.cont133.i.i797 %853 = load ptr, ptr %ref.tmp.i426.i.i, align 8, !noalias !1510 %add.ptr.i.i427.i.i = getelementptr inbounds i8, ptr %853, i64 16 %call2.i1.i428.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i, ptr noundef nonnull @.str.111) to label %invoke.cont.i435.i.i unwind label %lpad.i429.i.i invoke.cont.i435.i.i: ; preds = %.noexc441.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i619, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i620, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i) to label %invoke.cont2.i436.i.i unwind label %lpad.i429.i.i invoke.cont2.i436.i.i: ; preds = %invoke.cont.i435.i.i %854 = load ptr, ptr %ref.tmp.i426.i.i, align 8, !noalias !1510 %cmp.not.i.i.i437.i.i = icmp eq ptr %854, null - br i1 %cmp.not.i.i.i437.i.i, label %invoke.cont135.i.i797, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i + br i1 %cmp.not.i.i.i437.i.i, label %invoke.cont135.i.i798, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i: ; preds = %invoke.cont2.i436.i.i %vtable.i.i.i.i439.i.i = load ptr, ptr %854, align 8 %vfn.i.i.i.i440.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i, i64 1 %855 = load ptr, ptr %vfn.i.i.i.i440.i.i, align 8 call void %855(ptr noundef nonnull align 8 dereferenceable(128) %854) #30 - br label %invoke.cont135.i.i797 + br label %invoke.cont135.i.i798 lpad.i429.i.i: ; preds = %invoke.cont.i435.i.i, %.noexc441.i.i %856 = landingpad { ptr, i32 } cleanup %857 = load ptr, ptr %ref.tmp.i426.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i430.i.i = icmp eq ptr %857, null - br i1 %cmp.not.i.i2.i430.i.i, label %lpad132.body.i.i795, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i + br i1 %cmp.not.i.i2.i430.i.i, label %lpad132.body.i.i796, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i: ; preds = %lpad.i429.i.i %vtable.i.i.i4.i432.i.i = load ptr, ptr %857, align 8 %vfn.i.i.i5.i433.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i, i64 1 %858 = load ptr, ptr %vfn.i.i.i5.i433.i.i, align 8 call void %858(ptr noundef nonnull align 8 dereferenceable(128) %857) #30 - br label %lpad132.body.i.i795 + br label %lpad132.body.i.i796 -invoke.cont135.i.i797: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i, %invoke.cont2.i436.i.i +invoke.cont135.i.i798: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i, %invoke.cont2.i436.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i), !noalias !1510 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i619) - to label %invoke.cont137.i.i798 unwind label %lpad132.i.i794 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i620) + to label %invoke.cont137.i.i799 unwind label %lpad132.i.i795 -invoke.cont137.i.i798: ; preds = %invoke.cont135.i.i797 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i621) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i620) #30 - %message_.i444.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i619, i64 0, i32 1 +invoke.cont137.i.i799: ; preds = %invoke.cont135.i.i798 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i622) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i621) #30 + %message_.i444.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i620, i64 0, i32 1 %859 = load ptr, ptr %message_.i444.i.i, align 8, !noalias !1510 %cmp.not.i.i445.i.i = icmp eq ptr %859, null br i1 %cmp.not.i.i445.i.i, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i: ; preds = %invoke.cont137.i.i798 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i: ; preds = %invoke.cont137.i.i799 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %859) #30 call void @_ZdlPv(ptr noundef nonnull %859) #33 br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i -_ZN7testing15AssertionResultD2Ev.exit447.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i, %invoke.cont137.i.i798 +_ZN7testing15AssertionResultD2Ev.exit447.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i, %invoke.cont137.i.i799 store ptr null, ptr %message_.i444.i.i, align 8, !noalias !1510 - br label %cleanup257.critedge.i.i774 + br label %cleanup257.critedge.i.i775 -lpad112.i.i777: ; preds = %invoke.cont111.i.i776 +lpad112.i.i778: ; preds = %invoke.cont111.i.i777 %860 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i618) #30 - br label %ehcleanup252.i.i750 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i619) #30 + br label %ehcleanup252.i.i751 -lpad119.i.i781: ; preds = %invoke.cont120.i.i784, %invoke.cont118.i.i780 +lpad119.i.i782: ; preds = %invoke.cont120.i.i785, %invoke.cont118.i.i781 %861 = landingpad { ptr, i32 } cleanup - br label %ehcleanup140.i.i782 + br label %ehcleanup140.i.i783 -lpad125.i.i788: ; preds = %invoke.cont128.i.i792, %invoke.cont126.i.i791, %invoke.cont124.i.i787 +lpad125.i.i789: ; preds = %invoke.cont128.i.i793, %invoke.cont126.i.i792, %invoke.cont124.i.i788 %862 = landingpad { ptr, i32 } cleanup - br label %ehcleanup139.i.i789 + br label %ehcleanup139.i.i790 -lpad132.i.i794: ; preds = %invoke.cont135.i.i797, %invoke.cont133.i.i796, %invoke.cont131.i.i793 +lpad132.i.i795: ; preds = %invoke.cont135.i.i798, %invoke.cont133.i.i797, %invoke.cont131.i.i794 %863 = landingpad { ptr, i32 } cleanup - br label %lpad132.body.i.i795 + br label %lpad132.body.i.i796 -lpad132.body.i.i795: ; preds = %lpad132.i.i794, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i, %lpad.i429.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i, %lpad.i411.i.i - %eh.lpad-body424.i.i = phi { ptr, i32 } [ %850, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i ], [ %850, %lpad.i411.i.i ], [ %863, %lpad132.i.i794 ], [ %856, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i ], [ %856, %lpad.i429.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i621) #30 - br label %ehcleanup139.i.i789 +lpad132.body.i.i796: ; preds = %lpad132.i.i795, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i, %lpad.i429.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i, %lpad.i411.i.i + %eh.lpad-body424.i.i = phi { ptr, i32 } [ %850, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i ], [ %850, %lpad.i411.i.i ], [ %863, %lpad132.i.i795 ], [ %856, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i ], [ %856, %lpad.i429.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i622) #30 + br label %ehcleanup139.i.i790 -ehcleanup139.i.i789: ; preds = %lpad132.body.i.i795, %lpad125.i.i788, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i, %lpad.i393.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i, %lpad.i375.i.i - %.pn40.i.i790 = phi { ptr, i32 } [ %eh.lpad-body424.i.i, %lpad132.body.i.i795 ], [ %837, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i ], [ %837, %lpad.i375.i.i ], [ %862, %lpad125.i.i788 ], [ %843, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i ], [ %843, %lpad.i393.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i620) #30 - br label %ehcleanup140.i.i782 +ehcleanup139.i.i790: ; preds = %lpad132.body.i.i796, %lpad125.i.i789, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i, %lpad.i393.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i, %lpad.i375.i.i + %.pn40.i.i791 = phi { ptr, i32 } [ %eh.lpad-body424.i.i, %lpad132.body.i.i796 ], [ %837, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i ], [ %837, %lpad.i375.i.i ], [ %862, %lpad125.i.i789 ], [ %843, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i ], [ %843, %lpad.i393.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i621) #30 + br label %ehcleanup140.i.i783 -ehcleanup140.i.i782: ; preds = %ehcleanup139.i.i789, %lpad119.i.i781, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i, %lpad.i358.i.i - %.pn40.pn.i.i783 = phi { ptr, i32 } [ %.pn40.i.i790, %ehcleanup139.i.i789 ], [ %861, %lpad119.i.i781 ], [ %830, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i ], [ %830, %lpad.i358.i.i ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i619) #30 - br label %ehcleanup252.i.i750 +ehcleanup140.i.i783: ; preds = %ehcleanup139.i.i790, %lpad119.i.i782, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i, %lpad.i358.i.i + %.pn40.pn.i.i784 = phi { ptr, i32 } [ %.pn40.i.i791, %ehcleanup139.i.i790 ], [ %861, %lpad119.i.i782 ], [ %830, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i ], [ %830, %lpad.i358.i.i ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i620) #30 + br label %ehcleanup252.i.i751 -for.inc142.i.i799: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i - %incdec.ptr.i448.i.i = getelementptr inbounds %struct.Info.811, ptr %__begin072.sroa.0.048.i.i745, i64 1 +for.inc142.i.i800: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i + %incdec.ptr.i448.i.i = getelementptr inbounds %struct.Info.811, ptr %__begin072.sroa.0.048.i.i746, i64 1 %cmp.i161.not.i.i = icmp eq ptr %incdec.ptr.i448.i.i, %call68.val81.i.i - br i1 %cmp.i161.not.i.i, label %for.end144.i.i800, label %for.body80.i.i744 - -for.end144.i.i800: ; preds = %for.inc142.i.i799, %invoke.cont70.i.i743 - %classes.val53.i.i801 = load ptr, ptr %classes.i.i608, align 8, !noalias !1510 - %classes.val56.i.i802 = load ptr, ptr %705, align 8, !noalias !1510 - %cmp.i449.not49.i.i = icmp eq ptr %classes.val53.i.i801, %classes.val56.i.i802 - br i1 %cmp.i449.not49.i.i, label %cleanup249.i.i921, label %for.body154.i.i803 - -for.body154.i.i803: ; preds = %for.end144.i.i800, %for.inc246.i.i920 - %__begin0146.sroa.0.050.i.i804 = phi ptr [ %incdec.ptr.i779.i.i, %for.inc246.i.i920 ], [ %classes.val53.i.i801, %for.end144.i.i800 ] - %cmp156.i.i805 = icmp eq ptr %__begin058.sroa.0.052.i.i737, %__begin0146.sroa.0.050.i.i804 - br i1 %cmp156.i.i805, label %for.inc246.i.i920, label %if.end158.i.i806 - -if.end158.i.i806: ; preds = %for.body154.i.i803 - %call155.val.i.i807 = load ptr, ptr %__begin0146.sroa.0.050.i.i804, align 8 - %call159.val.i.i808 = load ptr, ptr %call155.val.i.i807, align 8 - %call159.val.val.i.i809 = load ptr, ptr %call159.val.i.i808, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i622, ptr %call159.val.val.i.i809) - to label %invoke.cont160.i.i812 unwind label %lpad83.loopexit.i.i810 - -invoke.cont160.i.i812: ; preds = %if.end158.i.i806 - %call163.i.i813 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i613, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i622) - to label %invoke.cont162.i.i818 unwind label %lpad161.loopexit.i.i814 - -invoke.cont162.i.i818: ; preds = %invoke.cont160.i.i812 - switch i32 %call163.i.i813, label %cleanup242.i.i919 [ - i32 0, label %sw.bb.i.i883 - i32 2, label %sw.bb189.i.i861 - i32 1, label %sw.bb215.i.i819 + br i1 %cmp.i161.not.i.i, label %for.end144.i.i801, label %for.body80.i.i745 + +for.end144.i.i801: ; preds = %for.inc142.i.i800, %invoke.cont70.i.i744 + %classes.val53.i.i802 = load ptr, ptr %classes.i.i609, align 8, !noalias !1510 + %classes.val56.i.i803 = load ptr, ptr %705, align 8, !noalias !1510 + %cmp.i449.not49.i.i = icmp eq ptr %classes.val53.i.i802, %classes.val56.i.i803 + br i1 %cmp.i449.not49.i.i, label %cleanup249.i.i922, label %for.body154.i.i804 + +for.body154.i.i804: ; preds = %for.end144.i.i801, %for.inc246.i.i921 + %__begin0146.sroa.0.050.i.i805 = phi ptr [ %incdec.ptr.i779.i.i, %for.inc246.i.i921 ], [ %classes.val53.i.i802, %for.end144.i.i801 ] + %cmp156.i.i806 = icmp eq ptr %__begin058.sroa.0.052.i.i738, %__begin0146.sroa.0.050.i.i805 + br i1 %cmp156.i.i806, label %for.inc246.i.i921, label %if.end158.i.i807 + +if.end158.i.i807: ; preds = %for.body154.i.i804 + %call155.val.i.i808 = load ptr, ptr %__begin0146.sroa.0.050.i.i805, align 8 + %call159.val.i.i809 = load ptr, ptr %call155.val.i.i808, align 8 + %call159.val.val.i.i810 = load ptr, ptr %call159.val.i.i809, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i623, ptr %call159.val.val.i.i810) + to label %invoke.cont160.i.i813 unwind label %lpad83.loopexit.i.i811 + +invoke.cont160.i.i813: ; preds = %if.end158.i.i807 + %call163.i.i814 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i614, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i623) + to label %invoke.cont162.i.i819 unwind label %lpad161.loopexit.i.i815 + +invoke.cont162.i.i819: ; preds = %invoke.cont160.i.i813 + switch i32 %call163.i.i814, label %cleanup242.i.i920 [ + i32 0, label %sw.bb.i.i884 + i32 2, label %sw.bb189.i.i862 + i32 1, label %sw.bb215.i.i820 ] -lpad161.loopexit.i.i814: ; preds = %invoke.cont160.i.i812 - %lpad.loopexit5.i.i815 = landingpad { ptr, i32 } +lpad161.loopexit.i.i815: ; preds = %invoke.cont160.i.i813 + %lpad.loopexit5.i.i816 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i816 + br label %ehcleanup245.i.i817 -lpad161.loopexit.split-lp.i.i820: ; preds = %sw.bb215.i.i819, %sw.bb189.i.i861, %sw.bb.i.i883 - %lpad.loopexit.split-lp6.i.i821 = landingpad { ptr, i32 } +lpad161.loopexit.split-lp.i.i821: ; preds = %sw.bb215.i.i820, %sw.bb189.i.i862, %sw.bb.i.i884 + %lpad.loopexit.split-lp6.i.i822 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i816 + br label %ehcleanup245.i.i817 -sw.bb.i.i883: ; preds = %invoke.cont162.i.i818 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i623) - to label %invoke.cont165.i.i884 unwind label %lpad161.loopexit.split-lp.i.i820 +sw.bb.i.i884: ; preds = %invoke.cont162.i.i819 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i624) + to label %invoke.cont165.i.i885 unwind label %lpad161.loopexit.split-lp.i.i821 -invoke.cont165.i.i884: ; preds = %sw.bb.i.i883 +invoke.cont165.i.i885: ; preds = %sw.bb.i.i884 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i) - to label %.noexc465.i.i unwind label %lpad166.i.i885 + to label %.noexc465.i.i unwind label %lpad166.i.i886 -.noexc465.i.i: ; preds = %invoke.cont165.i.i884 +.noexc465.i.i: ; preds = %invoke.cont165.i.i885 %864 = load ptr, ptr %ref.tmp.i450.i.i, align 8, !noalias !1510 %add.ptr.i.i451.i.i = getelementptr inbounds i8, ptr %864, i64 16 %call2.i1.i452.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i, ptr noundef nonnull @.str.109) to label %invoke.cont.i459.i.i unwind label %lpad.i453.i.i invoke.cont.i459.i.i: ; preds = %.noexc465.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i623, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i624, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i) to label %invoke.cont2.i460.i.i unwind label %lpad.i453.i.i invoke.cont2.i460.i.i: ; preds = %invoke.cont.i459.i.i %865 = load ptr, ptr %ref.tmp.i450.i.i, align 8, !noalias !1510 %cmp.not.i.i.i461.i.i = icmp eq ptr %865, null - br i1 %cmp.not.i.i.i461.i.i, label %invoke.cont167.i.i888, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i + br i1 %cmp.not.i.i.i461.i.i, label %invoke.cont167.i.i889, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i: ; preds = %invoke.cont2.i460.i.i %vtable.i.i.i.i463.i.i = load ptr, ptr %865, align 8 %vfn.i.i.i.i464.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i, i64 1 %866 = load ptr, ptr %vfn.i.i.i.i464.i.i, align 8 call void %866(ptr noundef nonnull align 8 dereferenceable(128) %865) #30 - br label %invoke.cont167.i.i888 + br label %invoke.cont167.i.i889 lpad.i453.i.i: ; preds = %invoke.cont.i459.i.i, %.noexc465.i.i %867 = landingpad { ptr, i32 } cleanup %868 = load ptr, ptr %ref.tmp.i450.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i454.i.i = icmp eq ptr %868, null - br i1 %cmp.not.i.i2.i454.i.i, label %ehcleanup188.i.i886, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i + br i1 %cmp.not.i.i2.i454.i.i, label %ehcleanup188.i.i887, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i: ; preds = %lpad.i453.i.i %vtable.i.i.i4.i456.i.i = load ptr, ptr %868, align 8 %vfn.i.i.i5.i457.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i, i64 1 %869 = load ptr, ptr %vfn.i.i.i5.i457.i.i, align 8 call void %869(ptr noundef nonnull align 8 dereferenceable(128) %868) #30 - br label %ehcleanup188.i.i886 + br label %ehcleanup188.i.i887 -invoke.cont167.i.i888: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i, %invoke.cont2.i460.i.i +invoke.cont167.i.i889: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i, %invoke.cont2.i460.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i), !noalias !1510 - %call68.val74.i.i = load ptr, ptr %__begin058.sroa.0.052.i.i737, align 8 - %call170.val.i.i889 = load ptr, ptr %call68.val74.i.i, align 8 + %call68.val74.i.i = load ptr, ptr %__begin058.sroa.0.052.i.i738, align 8 + %call170.val.i.i890 = load ptr, ptr %call68.val74.i.i, align 8 %870 = getelementptr i8, ptr %call68.val74.i.i, i64 8 %call170.val88.i.i = load i64, ptr %870, align 8 - %call170.val.val.i.i890 = load ptr, ptr %call170.val.i.i889, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i624, ptr %call170.val.val.i.i890, i64 %call170.val88.i.i) - to label %invoke.cont171.i.i891 unwind label %lpad166.i.i885 + %call170.val.val.i.i891 = load ptr, ptr %call170.val.i.i890, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i625, ptr %call170.val.val.i.i891, i64 %call170.val88.i.i) + to label %invoke.cont171.i.i892 unwind label %lpad166.i.i886 -invoke.cont171.i.i891: ; preds = %invoke.cont167.i.i888 +invoke.cont171.i.i892: ; preds = %invoke.cont167.i.i889 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i) - to label %.noexc483.i.i unwind label %lpad172.i.i892 + to label %.noexc483.i.i unwind label %lpad172.i.i893 -.noexc483.i.i: ; preds = %invoke.cont171.i.i891 +.noexc483.i.i: ; preds = %invoke.cont171.i.i892 %871 = load ptr, ptr %ref.tmp.i468.i.i, align 8, !noalias !1510 %add.ptr.i.i469.i.i = getelementptr inbounds i8, ptr %871, i64 16 - %call2.i1.i470.i.i = 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) %add.ptr.i.i469.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i624) + %call2.i1.i470.i.i = 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) %add.ptr.i.i469.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i625) to label %invoke.cont.i477.i.i unwind label %lpad.i471.i.i invoke.cont.i477.i.i: ; preds = %.noexc483.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i623, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i624, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i) to label %invoke.cont2.i478.i.i unwind label %lpad.i471.i.i invoke.cont2.i478.i.i: ; preds = %invoke.cont.i477.i.i %872 = load ptr, ptr %ref.tmp.i468.i.i, align 8, !noalias !1510 %cmp.not.i.i.i479.i.i = icmp eq ptr %872, null - br i1 %cmp.not.i.i.i479.i.i, label %invoke.cont173.i.i895, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i + br i1 %cmp.not.i.i.i479.i.i, label %invoke.cont173.i.i896, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i: ; preds = %invoke.cont2.i478.i.i %vtable.i.i.i.i481.i.i = load ptr, ptr %872, align 8 %vfn.i.i.i.i482.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i, i64 1 %873 = load ptr, ptr %vfn.i.i.i.i482.i.i, align 8 call void %873(ptr noundef nonnull align 8 dereferenceable(128) %872) #30 - br label %invoke.cont173.i.i895 + br label %invoke.cont173.i.i896 lpad.i471.i.i: ; preds = %invoke.cont.i477.i.i, %.noexc483.i.i %874 = landingpad { ptr, i32 } cleanup %875 = load ptr, ptr %ref.tmp.i468.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i472.i.i = icmp eq ptr %875, null - br i1 %cmp.not.i.i2.i472.i.i, label %ehcleanup187.i.i893, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i + br i1 %cmp.not.i.i2.i472.i.i, label %ehcleanup187.i.i894, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i: ; preds = %lpad.i471.i.i %vtable.i.i.i4.i474.i.i = load ptr, ptr %875, align 8 %vfn.i.i.i5.i475.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i, i64 1 %876 = load ptr, ptr %vfn.i.i.i5.i475.i.i, align 8 call void %876(ptr noundef nonnull align 8 dereferenceable(128) %875) #30 - br label %ehcleanup187.i.i893 + br label %ehcleanup187.i.i894 -invoke.cont173.i.i895: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i, %invoke.cont2.i478.i.i +invoke.cont173.i.i896: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i, %invoke.cont2.i478.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i), !noalias !1510 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i) - to label %.noexc501.i.i unwind label %lpad172.i.i892 + to label %.noexc501.i.i unwind label %lpad172.i.i893 -.noexc501.i.i: ; preds = %invoke.cont173.i.i895 +.noexc501.i.i: ; preds = %invoke.cont173.i.i896 %877 = load ptr, ptr %ref.tmp.i486.i.i, align 8, !noalias !1510 %add.ptr.i.i487.i.i = getelementptr inbounds i8, ptr %877, i64 16 %call2.i1.i488.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i, ptr noundef nonnull @.str.110) to label %invoke.cont.i495.i.i unwind label %lpad.i489.i.i invoke.cont.i495.i.i: ; preds = %.noexc501.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i623, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i624, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i) to label %invoke.cont2.i496.i.i unwind label %lpad.i489.i.i invoke.cont2.i496.i.i: ; preds = %invoke.cont.i495.i.i %878 = load ptr, ptr %ref.tmp.i486.i.i, align 8, !noalias !1510 %cmp.not.i.i.i497.i.i = icmp eq ptr %878, null - br i1 %cmp.not.i.i.i497.i.i, label %invoke.cont175.i.i896, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i + br i1 %cmp.not.i.i.i497.i.i, label %invoke.cont175.i.i897, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i: ; preds = %invoke.cont2.i496.i.i %vtable.i.i.i.i499.i.i = load ptr, ptr %878, align 8 %vfn.i.i.i.i500.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i, i64 1 %879 = load ptr, ptr %vfn.i.i.i.i500.i.i, align 8 call void %879(ptr noundef nonnull align 8 dereferenceable(128) %878) #30 - br label %invoke.cont175.i.i896 + br label %invoke.cont175.i.i897 lpad.i489.i.i: ; preds = %invoke.cont.i495.i.i, %.noexc501.i.i %880 = landingpad { ptr, i32 } cleanup %881 = load ptr, ptr %ref.tmp.i486.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i490.i.i = icmp eq ptr %881, null - br i1 %cmp.not.i.i2.i490.i.i, label %ehcleanup187.i.i893, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i + br i1 %cmp.not.i.i2.i490.i.i, label %ehcleanup187.i.i894, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i: ; preds = %lpad.i489.i.i %vtable.i.i.i4.i492.i.i = load ptr, ptr %881, align 8 %vfn.i.i.i5.i493.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i, i64 1 %882 = load ptr, ptr %vfn.i.i.i5.i493.i.i, align 8 call void %882(ptr noundef nonnull align 8 dereferenceable(128) %881) #30 - br label %ehcleanup187.i.i893 + br label %ehcleanup187.i.i894 -invoke.cont175.i.i896: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i, %invoke.cont2.i496.i.i +invoke.cont175.i.i897: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i, %invoke.cont2.i496.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i), !noalias !1510 - %call155.val75.i.i = load ptr, ptr %__begin0146.sroa.0.050.i.i804, align 8 - %call178.val.i.i897 = load ptr, ptr %call155.val75.i.i, align 8 + %call155.val75.i.i = load ptr, ptr %__begin0146.sroa.0.050.i.i805, align 8 + %call178.val.i.i898 = load ptr, ptr %call155.val75.i.i, align 8 %883 = getelementptr i8, ptr %call155.val75.i.i, i64 8 %call178.val89.i.i = load i64, ptr %883, align 8 - %call178.val.val.i.i898 = load ptr, ptr %call178.val.i.i897, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i625, ptr %call178.val.val.i.i898, i64 %call178.val89.i.i) - to label %invoke.cont179.i.i899 unwind label %lpad172.i.i892 + %call178.val.val.i.i899 = load ptr, ptr %call178.val.i.i898, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i626, ptr %call178.val.val.i.i899, i64 %call178.val89.i.i) + to label %invoke.cont179.i.i900 unwind label %lpad172.i.i893 -invoke.cont179.i.i899: ; preds = %invoke.cont175.i.i896 +invoke.cont179.i.i900: ; preds = %invoke.cont175.i.i897 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i) - to label %.noexc520.i.i unwind label %lpad180.i.i900 + to label %.noexc520.i.i unwind label %lpad180.i.i901 -.noexc520.i.i: ; preds = %invoke.cont179.i.i899 +.noexc520.i.i: ; preds = %invoke.cont179.i.i900 %884 = load ptr, ptr %ref.tmp.i505.i.i, align 8, !noalias !1510 %add.ptr.i.i506.i.i = getelementptr inbounds i8, ptr %884, i64 16 - %call2.i1.i507.i.i = 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) %add.ptr.i.i506.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i625) + %call2.i1.i507.i.i = 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) %add.ptr.i.i506.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i626) to label %invoke.cont.i514.i.i unwind label %lpad.i508.i.i invoke.cont.i514.i.i: ; preds = %.noexc520.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i623, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i624, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i) to label %invoke.cont2.i515.i.i unwind label %lpad.i508.i.i invoke.cont2.i515.i.i: ; preds = %invoke.cont.i514.i.i %885 = load ptr, ptr %ref.tmp.i505.i.i, align 8, !noalias !1510 %cmp.not.i.i.i516.i.i = icmp eq ptr %885, null - br i1 %cmp.not.i.i.i516.i.i, label %invoke.cont181.i.i902, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i + br i1 %cmp.not.i.i.i516.i.i, label %invoke.cont181.i.i903, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i: ; preds = %invoke.cont2.i515.i.i %vtable.i.i.i.i518.i.i = load ptr, ptr %885, align 8 %vfn.i.i.i.i519.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i, i64 1 %886 = load ptr, ptr %vfn.i.i.i.i519.i.i, align 8 call void %886(ptr noundef nonnull align 8 dereferenceable(128) %885) #30 - br label %invoke.cont181.i.i902 + br label %invoke.cont181.i.i903 lpad.i508.i.i: ; preds = %invoke.cont.i514.i.i, %.noexc520.i.i %887 = landingpad { ptr, i32 } cleanup %888 = load ptr, ptr %ref.tmp.i505.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i509.i.i = icmp eq ptr %888, null - br i1 %cmp.not.i.i2.i509.i.i, label %lpad180.body.i.i901, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i + br i1 %cmp.not.i.i2.i509.i.i, label %lpad180.body.i.i902, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i: ; preds = %lpad.i508.i.i %vtable.i.i.i4.i511.i.i = load ptr, ptr %888, align 8 %vfn.i.i.i5.i512.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i, i64 1 %889 = load ptr, ptr %vfn.i.i.i5.i512.i.i, align 8 call void %889(ptr noundef nonnull align 8 dereferenceable(128) %888) #30 - br label %lpad180.body.i.i901 + br label %lpad180.body.i.i902 -invoke.cont181.i.i902: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i, %invoke.cont2.i515.i.i +invoke.cont181.i.i903: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i, %invoke.cont2.i515.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i), !noalias !1510 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i606), !noalias !1510 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i606) - to label %.noexc538.i.i903 unwind label %lpad180.i.i900 - -.noexc538.i.i903: ; preds = %invoke.cont181.i.i902 - %890 = load ptr, ptr %ref.tmp.i523.i.i606, align 8, !noalias !1510 - %add.ptr.i.i524.i.i904 = getelementptr inbounds i8, ptr %890, i64 16 - %call2.i1.i525.i.i905 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i904, ptr noundef nonnull @.str.112) - to label %invoke.cont.i532.i.i911 unwind label %lpad.i526.i.i906 - -invoke.cont.i532.i.i911: ; preds = %.noexc538.i.i903 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i623, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i606) - to label %invoke.cont2.i533.i.i912 unwind label %lpad.i526.i.i906 - -invoke.cont2.i533.i.i912: ; preds = %invoke.cont.i532.i.i911 - %891 = load ptr, ptr %ref.tmp.i523.i.i606, align 8, !noalias !1510 - %cmp.not.i.i.i534.i.i913 = icmp eq ptr %891, null - br i1 %cmp.not.i.i.i534.i.i913, label %invoke.cont183.i.i917, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i914 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i914: ; preds = %invoke.cont2.i533.i.i912 - %vtable.i.i.i.i536.i.i915 = load ptr, ptr %891, align 8 - %vfn.i.i.i.i537.i.i916 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i915, i64 1 - %892 = load ptr, ptr %vfn.i.i.i.i537.i.i916, align 8 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i607), !noalias !1510 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i607) + to label %.noexc538.i.i904 unwind label %lpad180.i.i901 + +.noexc538.i.i904: ; preds = %invoke.cont181.i.i903 + %890 = load ptr, ptr %ref.tmp.i523.i.i607, align 8, !noalias !1510 + %add.ptr.i.i524.i.i905 = getelementptr inbounds i8, ptr %890, i64 16 + %call2.i1.i525.i.i906 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i905, ptr noundef nonnull @.str.112) + to label %invoke.cont.i532.i.i912 unwind label %lpad.i526.i.i907 + +invoke.cont.i532.i.i912: ; preds = %.noexc538.i.i904 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i624, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i607) + to label %invoke.cont2.i533.i.i913 unwind label %lpad.i526.i.i907 + +invoke.cont2.i533.i.i913: ; preds = %invoke.cont.i532.i.i912 + %891 = load ptr, ptr %ref.tmp.i523.i.i607, align 8, !noalias !1510 + %cmp.not.i.i.i534.i.i914 = icmp eq ptr %891, null + br i1 %cmp.not.i.i.i534.i.i914, label %invoke.cont183.i.i918, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i915 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i915: ; preds = %invoke.cont2.i533.i.i913 + %vtable.i.i.i.i536.i.i916 = load ptr, ptr %891, align 8 + %vfn.i.i.i.i537.i.i917 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i916, i64 1 + %892 = load ptr, ptr %vfn.i.i.i.i537.i.i917, align 8 call void %892(ptr noundef nonnull align 8 dereferenceable(128) %891) #30 - br label %invoke.cont183.i.i917 + br label %invoke.cont183.i.i918 -lpad.i526.i.i906: ; preds = %invoke.cont.i532.i.i911, %.noexc538.i.i903 +lpad.i526.i.i907: ; preds = %invoke.cont.i532.i.i912, %.noexc538.i.i904 %893 = landingpad { ptr, i32 } cleanup - %894 = load ptr, ptr %ref.tmp.i523.i.i606, align 8, !noalias !1510 - %cmp.not.i.i2.i527.i.i907 = icmp eq ptr %894, null - br i1 %cmp.not.i.i2.i527.i.i907, label %lpad180.body.i.i901, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i908 + %894 = load ptr, ptr %ref.tmp.i523.i.i607, align 8, !noalias !1510 + %cmp.not.i.i2.i527.i.i908 = icmp eq ptr %894, null + br i1 %cmp.not.i.i2.i527.i.i908, label %lpad180.body.i.i902, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i909 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i908: ; preds = %lpad.i526.i.i906 - %vtable.i.i.i4.i529.i.i909 = load ptr, ptr %894, align 8 - %vfn.i.i.i5.i530.i.i910 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i909, i64 1 - %895 = load ptr, ptr %vfn.i.i.i5.i530.i.i910, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i909: ; preds = %lpad.i526.i.i907 + %vtable.i.i.i4.i529.i.i910 = load ptr, ptr %894, align 8 + %vfn.i.i.i5.i530.i.i911 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i910, i64 1 + %895 = load ptr, ptr %vfn.i.i.i5.i530.i.i911, align 8 call void %895(ptr noundef nonnull align 8 dereferenceable(128) %894) #30 - br label %lpad180.body.i.i901 + br label %lpad180.body.i.i902 -invoke.cont183.i.i917: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i914, %invoke.cont2.i533.i.i912 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i606), !noalias !1510 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i623) - to label %invoke.cont185.i.i918 unwind label %lpad180.i.i900 +invoke.cont183.i.i918: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i915, %invoke.cont2.i533.i.i913 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i607), !noalias !1510 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i624) + to label %invoke.cont185.i.i919 unwind label %lpad180.i.i901 -invoke.cont185.i.i918: ; preds = %invoke.cont183.i.i917 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i625) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i624) #30 - %message_.i542.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i623, i64 0, i32 1 +invoke.cont185.i.i919: ; preds = %invoke.cont183.i.i918 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i626) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i625) #30 + %message_.i542.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i624, i64 0, i32 1 %896 = load ptr, ptr %message_.i542.i.i, align 8, !noalias !1510 %cmp.not.i.i543.i.i = icmp eq ptr %896, null - br i1 %cmp.not.i.i543.i.i, label %cleanup249.critedge.i.i860, label %cleanup249.critedge.sink.split.i.i858 + br i1 %cmp.not.i.i543.i.i, label %cleanup249.critedge.i.i861, label %cleanup249.critedge.sink.split.i.i859 -lpad166.i.i885: ; preds = %invoke.cont167.i.i888, %invoke.cont165.i.i884 +lpad166.i.i886: ; preds = %invoke.cont167.i.i889, %invoke.cont165.i.i885 %897 = landingpad { ptr, i32 } cleanup - br label %ehcleanup188.i.i886 + br label %ehcleanup188.i.i887 -lpad172.i.i892: ; preds = %invoke.cont175.i.i896, %invoke.cont173.i.i895, %invoke.cont171.i.i891 +lpad172.i.i893: ; preds = %invoke.cont175.i.i897, %invoke.cont173.i.i896, %invoke.cont171.i.i892 %898 = landingpad { ptr, i32 } cleanup - br label %ehcleanup187.i.i893 + br label %ehcleanup187.i.i894 -lpad180.i.i900: ; preds = %invoke.cont183.i.i917, %invoke.cont181.i.i902, %invoke.cont179.i.i899 +lpad180.i.i901: ; preds = %invoke.cont183.i.i918, %invoke.cont181.i.i903, %invoke.cont179.i.i900 %899 = landingpad { ptr, i32 } cleanup - br label %lpad180.body.i.i901 + br label %lpad180.body.i.i902 -lpad180.body.i.i901: ; preds = %lpad180.i.i900, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i908, %lpad.i526.i.i906, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i, %lpad.i508.i.i - %eh.lpad-body521.i.i = phi { ptr, i32 } [ %887, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i ], [ %887, %lpad.i508.i.i ], [ %899, %lpad180.i.i900 ], [ %893, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i908 ], [ %893, %lpad.i526.i.i906 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i625) #30 - br label %ehcleanup187.i.i893 +lpad180.body.i.i902: ; preds = %lpad180.i.i901, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i909, %lpad.i526.i.i907, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i, %lpad.i508.i.i + %eh.lpad-body521.i.i = phi { ptr, i32 } [ %887, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i ], [ %887, %lpad.i508.i.i ], [ %899, %lpad180.i.i901 ], [ %893, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i909 ], [ %893, %lpad.i526.i.i907 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i626) #30 + br label %ehcleanup187.i.i894 -ehcleanup187.i.i893: ; preds = %lpad180.body.i.i901, %lpad172.i.i892, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i, %lpad.i489.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i, %lpad.i471.i.i - %.pn34.i.i894 = phi { ptr, i32 } [ %eh.lpad-body521.i.i, %lpad180.body.i.i901 ], [ %874, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i ], [ %874, %lpad.i471.i.i ], [ %898, %lpad172.i.i892 ], [ %880, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i ], [ %880, %lpad.i489.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i624) #30 - br label %ehcleanup188.i.i886 +ehcleanup187.i.i894: ; preds = %lpad180.body.i.i902, %lpad172.i.i893, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i, %lpad.i489.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i, %lpad.i471.i.i + %.pn34.i.i895 = phi { ptr, i32 } [ %eh.lpad-body521.i.i, %lpad180.body.i.i902 ], [ %874, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i ], [ %874, %lpad.i471.i.i ], [ %898, %lpad172.i.i893 ], [ %880, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i ], [ %880, %lpad.i489.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i625) #30 + br label %ehcleanup188.i.i887 -ehcleanup188.i.i886: ; preds = %ehcleanup187.i.i893, %lpad166.i.i885, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i, %lpad.i453.i.i - %.pn34.pn.i.i887 = phi { ptr, i32 } [ %.pn34.i.i894, %ehcleanup187.i.i893 ], [ %897, %lpad166.i.i885 ], [ %867, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i ], [ %867, %lpad.i453.i.i ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i623) #30 - br label %ehcleanup245.i.i816 +ehcleanup188.i.i887: ; preds = %ehcleanup187.i.i894, %lpad166.i.i886, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i, %lpad.i453.i.i + %.pn34.pn.i.i888 = phi { ptr, i32 } [ %.pn34.i.i895, %ehcleanup187.i.i894 ], [ %897, %lpad166.i.i886 ], [ %867, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i ], [ %867, %lpad.i453.i.i ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i624) #30 + br label %ehcleanup245.i.i817 -sw.bb189.i.i861: ; preds = %invoke.cont162.i.i818 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i626) - to label %invoke.cont191.i.i862 unwind label %lpad161.loopexit.split-lp.i.i820 +sw.bb189.i.i862: ; preds = %invoke.cont162.i.i819 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i627) + to label %invoke.cont191.i.i863 unwind label %lpad161.loopexit.split-lp.i.i821 -invoke.cont191.i.i862: ; preds = %sw.bb189.i.i861 +invoke.cont191.i.i863: ; preds = %sw.bb189.i.i862 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i) - to label %.noexc561.i.i unwind label %lpad192.i.i863 + to label %.noexc561.i.i unwind label %lpad192.i.i864 -.noexc561.i.i: ; preds = %invoke.cont191.i.i862 +.noexc561.i.i: ; preds = %invoke.cont191.i.i863 %900 = load ptr, ptr %ref.tmp.i546.i.i, align 8, !noalias !1510 %add.ptr.i.i547.i.i = getelementptr inbounds i8, ptr %900, i64 16 %call2.i1.i548.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i, ptr noundef nonnull @.str.113) to label %invoke.cont.i555.i.i unwind label %lpad.i549.i.i invoke.cont.i555.i.i: ; preds = %.noexc561.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i626, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i627, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i) to label %invoke.cont2.i556.i.i unwind label %lpad.i549.i.i invoke.cont2.i556.i.i: ; preds = %invoke.cont.i555.i.i %901 = load ptr, ptr %ref.tmp.i546.i.i, align 8, !noalias !1510 %cmp.not.i.i.i557.i.i = icmp eq ptr %901, null - br i1 %cmp.not.i.i.i557.i.i, label %invoke.cont193.i.i866, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i + br i1 %cmp.not.i.i.i557.i.i, label %invoke.cont193.i.i867, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i: ; preds = %invoke.cont2.i556.i.i %vtable.i.i.i.i559.i.i = load ptr, ptr %901, align 8 %vfn.i.i.i.i560.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i, i64 1 %902 = load ptr, ptr %vfn.i.i.i.i560.i.i, align 8 call void %902(ptr noundef nonnull align 8 dereferenceable(128) %901) #30 - br label %invoke.cont193.i.i866 + br label %invoke.cont193.i.i867 lpad.i549.i.i: ; preds = %invoke.cont.i555.i.i, %.noexc561.i.i %903 = landingpad { ptr, i32 } cleanup %904 = load ptr, ptr %ref.tmp.i546.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i550.i.i = icmp eq ptr %904, null - br i1 %cmp.not.i.i2.i550.i.i, label %ehcleanup214.i.i864, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i + br i1 %cmp.not.i.i2.i550.i.i, label %ehcleanup214.i.i865, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i: ; preds = %lpad.i549.i.i %vtable.i.i.i4.i552.i.i = load ptr, ptr %904, align 8 %vfn.i.i.i5.i553.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i, i64 1 %905 = load ptr, ptr %vfn.i.i.i5.i553.i.i, align 8 call void %905(ptr noundef nonnull align 8 dereferenceable(128) %904) #30 - br label %ehcleanup214.i.i864 + br label %ehcleanup214.i.i865 -invoke.cont193.i.i866: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i, %invoke.cont2.i556.i.i +invoke.cont193.i.i867: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i, %invoke.cont2.i556.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i), !noalias !1510 - %call155.val76.i.i = load ptr, ptr %__begin0146.sroa.0.050.i.i804, align 8 - %call196.val.i.i867 = load ptr, ptr %call155.val76.i.i, align 8 + %call155.val76.i.i = load ptr, ptr %__begin0146.sroa.0.050.i.i805, align 8 + %call196.val.i.i868 = load ptr, ptr %call155.val76.i.i, align 8 %906 = getelementptr i8, ptr %call155.val76.i.i, i64 8 %call196.val90.i.i = load i64, ptr %906, align 8 - %call196.val.val.i.i868 = load ptr, ptr %call196.val.i.i867, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i627, ptr %call196.val.val.i.i868, i64 %call196.val90.i.i) - to label %invoke.cont197.i.i869 unwind label %lpad192.i.i863 + %call196.val.val.i.i869 = load ptr, ptr %call196.val.i.i868, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i628, ptr %call196.val.val.i.i869, i64 %call196.val90.i.i) + to label %invoke.cont197.i.i870 unwind label %lpad192.i.i864 -invoke.cont197.i.i869: ; preds = %invoke.cont193.i.i866 +invoke.cont197.i.i870: ; preds = %invoke.cont193.i.i867 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i) - to label %.noexc578.i.i unwind label %lpad198.i.i870 + to label %.noexc578.i.i unwind label %lpad198.i.i871 -.noexc578.i.i: ; preds = %invoke.cont197.i.i869 +.noexc578.i.i: ; preds = %invoke.cont197.i.i870 %907 = load ptr, ptr %ref.tmp.i563.i.i, align 8, !noalias !1510 %add.ptr.i.i564.i.i = getelementptr inbounds i8, ptr %907, i64 16 - %call2.i1.i565.i.i = 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) %add.ptr.i.i564.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i627) + %call2.i1.i565.i.i = 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) %add.ptr.i.i564.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i628) to label %invoke.cont.i572.i.i unwind label %lpad.i566.i.i invoke.cont.i572.i.i: ; preds = %.noexc578.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i626, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i627, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i) to label %invoke.cont2.i573.i.i unwind label %lpad.i566.i.i invoke.cont2.i573.i.i: ; preds = %invoke.cont.i572.i.i %908 = load ptr, ptr %ref.tmp.i563.i.i, align 8, !noalias !1510 %cmp.not.i.i.i574.i.i = icmp eq ptr %908, null - br i1 %cmp.not.i.i.i574.i.i, label %invoke.cont199.i.i873, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i + br i1 %cmp.not.i.i.i574.i.i, label %invoke.cont199.i.i874, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i: ; preds = %invoke.cont2.i573.i.i %vtable.i.i.i.i576.i.i = load ptr, ptr %908, align 8 %vfn.i.i.i.i577.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i, i64 1 %909 = load ptr, ptr %vfn.i.i.i.i577.i.i, align 8 call void %909(ptr noundef nonnull align 8 dereferenceable(128) %908) #30 - br label %invoke.cont199.i.i873 + br label %invoke.cont199.i.i874 lpad.i566.i.i: ; preds = %invoke.cont.i572.i.i, %.noexc578.i.i %910 = landingpad { ptr, i32 } cleanup %911 = load ptr, ptr %ref.tmp.i563.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i567.i.i = icmp eq ptr %911, null - br i1 %cmp.not.i.i2.i567.i.i, label %ehcleanup213.i.i871, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i + br i1 %cmp.not.i.i2.i567.i.i, label %ehcleanup213.i.i872, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i: ; preds = %lpad.i566.i.i %vtable.i.i.i4.i569.i.i = load ptr, ptr %911, align 8 %vfn.i.i.i5.i570.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i, i64 1 %912 = load ptr, ptr %vfn.i.i.i5.i570.i.i, align 8 call void %912(ptr noundef nonnull align 8 dereferenceable(128) %911) #30 - br label %ehcleanup213.i.i871 + br label %ehcleanup213.i.i872 -invoke.cont199.i.i873: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i, %invoke.cont2.i573.i.i +invoke.cont199.i.i874: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i, %invoke.cont2.i573.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i), !noalias !1510 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i) - to label %.noexc596.i.i unwind label %lpad198.i.i870 + to label %.noexc596.i.i unwind label %lpad198.i.i871 -.noexc596.i.i: ; preds = %invoke.cont199.i.i873 +.noexc596.i.i: ; preds = %invoke.cont199.i.i874 %913 = load ptr, ptr %ref.tmp.i581.i.i, align 8, !noalias !1510 %add.ptr.i.i582.i.i = getelementptr inbounds i8, ptr %913, i64 16 %call2.i1.i583.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i, ptr noundef nonnull @.str.114) to label %invoke.cont.i590.i.i unwind label %lpad.i584.i.i invoke.cont.i590.i.i: ; preds = %.noexc596.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i626, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i627, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i) to label %invoke.cont2.i591.i.i unwind label %lpad.i584.i.i invoke.cont2.i591.i.i: ; preds = %invoke.cont.i590.i.i %914 = load ptr, ptr %ref.tmp.i581.i.i, align 8, !noalias !1510 %cmp.not.i.i.i592.i.i = icmp eq ptr %914, null - br i1 %cmp.not.i.i.i592.i.i, label %invoke.cont201.i.i874, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i + br i1 %cmp.not.i.i.i592.i.i, label %invoke.cont201.i.i875, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i: ; preds = %invoke.cont2.i591.i.i %vtable.i.i.i.i594.i.i = load ptr, ptr %914, align 8 %vfn.i.i.i.i595.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i, i64 1 %915 = load ptr, ptr %vfn.i.i.i.i595.i.i, align 8 call void %915(ptr noundef nonnull align 8 dereferenceable(128) %914) #30 - br label %invoke.cont201.i.i874 + br label %invoke.cont201.i.i875 lpad.i584.i.i: ; preds = %invoke.cont.i590.i.i, %.noexc596.i.i %916 = landingpad { ptr, i32 } cleanup %917 = load ptr, ptr %ref.tmp.i581.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i585.i.i = icmp eq ptr %917, null - br i1 %cmp.not.i.i2.i585.i.i, label %ehcleanup213.i.i871, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i + br i1 %cmp.not.i.i2.i585.i.i, label %ehcleanup213.i.i872, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i: ; preds = %lpad.i584.i.i %vtable.i.i.i4.i587.i.i = load ptr, ptr %917, align 8 %vfn.i.i.i5.i588.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i, i64 1 %918 = load ptr, ptr %vfn.i.i.i5.i588.i.i, align 8 call void %918(ptr noundef nonnull align 8 dereferenceable(128) %917) #30 - br label %ehcleanup213.i.i871 + br label %ehcleanup213.i.i872 -invoke.cont201.i.i874: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i, %invoke.cont2.i591.i.i +invoke.cont201.i.i875: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i, %invoke.cont2.i591.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i), !noalias !1510 - %call68.val77.i.i = load ptr, ptr %__begin058.sroa.0.052.i.i737, align 8 - %call204.val.i.i875 = load ptr, ptr %call68.val77.i.i, align 8 + %call68.val77.i.i = load ptr, ptr %__begin058.sroa.0.052.i.i738, align 8 + %call204.val.i.i876 = load ptr, ptr %call68.val77.i.i, align 8 %919 = getelementptr i8, ptr %call68.val77.i.i, i64 8 %call204.val91.i.i = load i64, ptr %919, align 8 - %call204.val.val.i.i876 = load ptr, ptr %call204.val.i.i875, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i628, ptr %call204.val.val.i.i876, i64 %call204.val91.i.i) - to label %invoke.cont205.i.i877 unwind label %lpad198.i.i870 + %call204.val.val.i.i877 = load ptr, ptr %call204.val.i.i876, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i629, ptr %call204.val.val.i.i877, i64 %call204.val91.i.i) + to label %invoke.cont205.i.i878 unwind label %lpad198.i.i871 -invoke.cont205.i.i877: ; preds = %invoke.cont201.i.i874 +invoke.cont205.i.i878: ; preds = %invoke.cont201.i.i875 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i) - to label %.noexc614.i.i unwind label %lpad206.i.i878 + to label %.noexc614.i.i unwind label %lpad206.i.i879 -.noexc614.i.i: ; preds = %invoke.cont205.i.i877 +.noexc614.i.i: ; preds = %invoke.cont205.i.i878 %920 = load ptr, ptr %ref.tmp.i599.i.i, align 8, !noalias !1510 %add.ptr.i.i600.i.i = getelementptr inbounds i8, ptr %920, i64 16 - %call2.i1.i601.i.i = 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) %add.ptr.i.i600.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i628) + %call2.i1.i601.i.i = 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) %add.ptr.i.i600.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i629) to label %invoke.cont.i608.i.i unwind label %lpad.i602.i.i invoke.cont.i608.i.i: ; preds = %.noexc614.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i626, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i627, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i) to label %invoke.cont2.i609.i.i unwind label %lpad.i602.i.i invoke.cont2.i609.i.i: ; preds = %invoke.cont.i608.i.i %921 = load ptr, ptr %ref.tmp.i599.i.i, align 8, !noalias !1510 %cmp.not.i.i.i610.i.i = icmp eq ptr %921, null - br i1 %cmp.not.i.i.i610.i.i, label %invoke.cont207.i.i880, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i + br i1 %cmp.not.i.i.i610.i.i, label %invoke.cont207.i.i881, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i: ; preds = %invoke.cont2.i609.i.i %vtable.i.i.i.i612.i.i = load ptr, ptr %921, align 8 %vfn.i.i.i.i613.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i, i64 1 %922 = load ptr, ptr %vfn.i.i.i.i613.i.i, align 8 call void %922(ptr noundef nonnull align 8 dereferenceable(128) %921) #30 - br label %invoke.cont207.i.i880 + br label %invoke.cont207.i.i881 lpad.i602.i.i: ; preds = %invoke.cont.i608.i.i, %.noexc614.i.i %923 = landingpad { ptr, i32 } cleanup %924 = load ptr, ptr %ref.tmp.i599.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i603.i.i = icmp eq ptr %924, null - br i1 %cmp.not.i.i2.i603.i.i, label %lpad206.body.i.i879, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i + br i1 %cmp.not.i.i2.i603.i.i, label %lpad206.body.i.i880, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i: ; preds = %lpad.i602.i.i %vtable.i.i.i4.i605.i.i = load ptr, ptr %924, align 8 %vfn.i.i.i5.i606.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i, i64 1 %925 = load ptr, ptr %vfn.i.i.i5.i606.i.i, align 8 call void %925(ptr noundef nonnull align 8 dereferenceable(128) %924) #30 - br label %lpad206.body.i.i879 + br label %lpad206.body.i.i880 -invoke.cont207.i.i880: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i, %invoke.cont2.i609.i.i +invoke.cont207.i.i881: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i, %invoke.cont2.i609.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i), !noalias !1510 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i) - to label %.noexc632.i.i unwind label %lpad206.i.i878 + to label %.noexc632.i.i unwind label %lpad206.i.i879 -.noexc632.i.i: ; preds = %invoke.cont207.i.i880 +.noexc632.i.i: ; preds = %invoke.cont207.i.i881 %926 = load ptr, ptr %ref.tmp.i617.i.i, align 8, !noalias !1510 %add.ptr.i.i618.i.i = getelementptr inbounds i8, ptr %926, i64 16 %call2.i1.i619.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i, ptr noundef nonnull @.str.115) to label %invoke.cont.i626.i.i unwind label %lpad.i620.i.i invoke.cont.i626.i.i: ; preds = %.noexc632.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i626, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i627, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i) to label %invoke.cont2.i627.i.i unwind label %lpad.i620.i.i invoke.cont2.i627.i.i: ; preds = %invoke.cont.i626.i.i %927 = load ptr, ptr %ref.tmp.i617.i.i, align 8, !noalias !1510 %cmp.not.i.i.i628.i.i = icmp eq ptr %927, null - br i1 %cmp.not.i.i.i628.i.i, label %invoke.cont209.i.i881, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i + br i1 %cmp.not.i.i.i628.i.i, label %invoke.cont209.i.i882, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i: ; preds = %invoke.cont2.i627.i.i %vtable.i.i.i.i630.i.i = load ptr, ptr %927, align 8 %vfn.i.i.i.i631.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i, i64 1 %928 = load ptr, ptr %vfn.i.i.i.i631.i.i, align 8 call void %928(ptr noundef nonnull align 8 dereferenceable(128) %927) #30 - br label %invoke.cont209.i.i881 + br label %invoke.cont209.i.i882 lpad.i620.i.i: ; preds = %invoke.cont.i626.i.i, %.noexc632.i.i %929 = landingpad { ptr, i32 } cleanup %930 = load ptr, ptr %ref.tmp.i617.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i621.i.i = icmp eq ptr %930, null - br i1 %cmp.not.i.i2.i621.i.i, label %lpad206.body.i.i879, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i + br i1 %cmp.not.i.i2.i621.i.i, label %lpad206.body.i.i880, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i: ; preds = %lpad.i620.i.i %vtable.i.i.i4.i623.i.i = load ptr, ptr %930, align 8 %vfn.i.i.i5.i624.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i, i64 1 %931 = load ptr, ptr %vfn.i.i.i5.i624.i.i, align 8 call void %931(ptr noundef nonnull align 8 dereferenceable(128) %930) #30 - br label %lpad206.body.i.i879 + br label %lpad206.body.i.i880 -invoke.cont209.i.i881: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i, %invoke.cont2.i627.i.i +invoke.cont209.i.i882: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i, %invoke.cont2.i627.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i), !noalias !1510 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i626) - to label %invoke.cont211.i.i882 unwind label %lpad206.i.i878 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i627) + to label %invoke.cont211.i.i883 unwind label %lpad206.i.i879 -invoke.cont211.i.i882: ; preds = %invoke.cont209.i.i881 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i628) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i627) #30 - %message_.i635.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i626, i64 0, i32 1 +invoke.cont211.i.i883: ; preds = %invoke.cont209.i.i882 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i629) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i628) #30 + %message_.i635.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i627, i64 0, i32 1 %932 = load ptr, ptr %message_.i635.i.i, align 8, !noalias !1510 %cmp.not.i.i636.i.i = icmp eq ptr %932, null - br i1 %cmp.not.i.i636.i.i, label %cleanup249.critedge.i.i860, label %cleanup249.critedge.sink.split.i.i858 + br i1 %cmp.not.i.i636.i.i, label %cleanup249.critedge.i.i861, label %cleanup249.critedge.sink.split.i.i859 -lpad192.i.i863: ; preds = %invoke.cont193.i.i866, %invoke.cont191.i.i862 +lpad192.i.i864: ; preds = %invoke.cont193.i.i867, %invoke.cont191.i.i863 %933 = landingpad { ptr, i32 } cleanup - br label %ehcleanup214.i.i864 + br label %ehcleanup214.i.i865 -lpad198.i.i870: ; preds = %invoke.cont201.i.i874, %invoke.cont199.i.i873, %invoke.cont197.i.i869 +lpad198.i.i871: ; preds = %invoke.cont201.i.i875, %invoke.cont199.i.i874, %invoke.cont197.i.i870 %934 = landingpad { ptr, i32 } cleanup - br label %ehcleanup213.i.i871 + br label %ehcleanup213.i.i872 -lpad206.i.i878: ; preds = %invoke.cont209.i.i881, %invoke.cont207.i.i880, %invoke.cont205.i.i877 +lpad206.i.i879: ; preds = %invoke.cont209.i.i882, %invoke.cont207.i.i881, %invoke.cont205.i.i878 %935 = landingpad { ptr, i32 } cleanup - br label %lpad206.body.i.i879 - -lpad206.body.i.i879: ; preds = %lpad206.i.i878, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i, %lpad.i620.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i, %lpad.i602.i.i - %eh.lpad-body615.i.i = phi { ptr, i32 } [ %923, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i ], [ %923, %lpad.i602.i.i ], [ %935, %lpad206.i.i878 ], [ %929, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i ], [ %929, %lpad.i620.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i628) #30 - br label %ehcleanup213.i.i871 - -ehcleanup213.i.i871: ; preds = %lpad206.body.i.i879, %lpad198.i.i870, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i, %lpad.i584.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i, %lpad.i566.i.i - %.pn31.i.i872 = phi { ptr, i32 } [ %eh.lpad-body615.i.i, %lpad206.body.i.i879 ], [ %910, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i ], [ %910, %lpad.i566.i.i ], [ %934, %lpad198.i.i870 ], [ %916, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i ], [ %916, %lpad.i584.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i627) #30 - br label %ehcleanup214.i.i864 - -ehcleanup214.i.i864: ; preds = %ehcleanup213.i.i871, %lpad192.i.i863, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i, %lpad.i549.i.i - %.pn31.pn.i.i865 = phi { ptr, i32 } [ %.pn31.i.i872, %ehcleanup213.i.i871 ], [ %933, %lpad192.i.i863 ], [ %903, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i ], [ %903, %lpad.i549.i.i ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i626) #30 - br label %ehcleanup245.i.i816 - -sw.bb215.i.i819: ; preds = %invoke.cont162.i.i818 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i629) - to label %invoke.cont217.i.i822 unwind label %lpad161.loopexit.split-lp.i.i820 - -invoke.cont217.i.i822: ; preds = %sw.bb215.i.i819 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i605), !noalias !1510 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i605) - to label %.noexc654.i.i826 unwind label %lpad218.i.i823 - -.noexc654.i.i826: ; preds = %invoke.cont217.i.i822 - %936 = load ptr, ptr %ref.tmp.i639.i.i605, align 8, !noalias !1510 - %add.ptr.i.i640.i.i827 = getelementptr inbounds i8, ptr %936, i64 16 - %call2.i1.i641.i.i828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i827, ptr noundef nonnull @.str.113) - to label %invoke.cont.i648.i.i834 unwind label %lpad.i642.i.i829 - -invoke.cont.i648.i.i834: ; preds = %.noexc654.i.i826 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i629, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i605) - to label %invoke.cont2.i649.i.i835 unwind label %lpad.i642.i.i829 - -invoke.cont2.i649.i.i835: ; preds = %invoke.cont.i648.i.i834 - %937 = load ptr, ptr %ref.tmp.i639.i.i605, align 8, !noalias !1510 - %cmp.not.i.i.i650.i.i836 = icmp eq ptr %937, null - br i1 %cmp.not.i.i.i650.i.i836, label %invoke.cont219.i.i840, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i837 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i837: ; preds = %invoke.cont2.i649.i.i835 - %vtable.i.i.i.i652.i.i838 = load ptr, ptr %937, align 8 - %vfn.i.i.i.i653.i.i839 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i838, i64 1 - %938 = load ptr, ptr %vfn.i.i.i.i653.i.i839, align 8 + br label %lpad206.body.i.i880 + +lpad206.body.i.i880: ; preds = %lpad206.i.i879, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i, %lpad.i620.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i, %lpad.i602.i.i + %eh.lpad-body615.i.i = phi { ptr, i32 } [ %923, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i ], [ %923, %lpad.i602.i.i ], [ %935, %lpad206.i.i879 ], [ %929, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i ], [ %929, %lpad.i620.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i629) #30 + br label %ehcleanup213.i.i872 + +ehcleanup213.i.i872: ; preds = %lpad206.body.i.i880, %lpad198.i.i871, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i, %lpad.i584.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i, %lpad.i566.i.i + %.pn31.i.i873 = phi { ptr, i32 } [ %eh.lpad-body615.i.i, %lpad206.body.i.i880 ], [ %910, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i ], [ %910, %lpad.i566.i.i ], [ %934, %lpad198.i.i871 ], [ %916, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i ], [ %916, %lpad.i584.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i628) #30 + br label %ehcleanup214.i.i865 + +ehcleanup214.i.i865: ; preds = %ehcleanup213.i.i872, %lpad192.i.i864, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i, %lpad.i549.i.i + %.pn31.pn.i.i866 = phi { ptr, i32 } [ %.pn31.i.i873, %ehcleanup213.i.i872 ], [ %933, %lpad192.i.i864 ], [ %903, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i ], [ %903, %lpad.i549.i.i ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i627) #30 + br label %ehcleanup245.i.i817 + +sw.bb215.i.i820: ; preds = %invoke.cont162.i.i819 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i630) + to label %invoke.cont217.i.i823 unwind label %lpad161.loopexit.split-lp.i.i821 + +invoke.cont217.i.i823: ; preds = %sw.bb215.i.i820 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i606), !noalias !1510 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i606) + to label %.noexc654.i.i827 unwind label %lpad218.i.i824 + +.noexc654.i.i827: ; preds = %invoke.cont217.i.i823 + %936 = load ptr, ptr %ref.tmp.i639.i.i606, align 8, !noalias !1510 + %add.ptr.i.i640.i.i828 = getelementptr inbounds i8, ptr %936, i64 16 + %call2.i1.i641.i.i829 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i828, ptr noundef nonnull @.str.113) + to label %invoke.cont.i648.i.i835 unwind label %lpad.i642.i.i830 + +invoke.cont.i648.i.i835: ; preds = %.noexc654.i.i827 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i630, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i606) + to label %invoke.cont2.i649.i.i836 unwind label %lpad.i642.i.i830 + +invoke.cont2.i649.i.i836: ; preds = %invoke.cont.i648.i.i835 + %937 = load ptr, ptr %ref.tmp.i639.i.i606, align 8, !noalias !1510 + %cmp.not.i.i.i650.i.i837 = icmp eq ptr %937, null + br i1 %cmp.not.i.i.i650.i.i837, label %invoke.cont219.i.i841, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i838 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i838: ; preds = %invoke.cont2.i649.i.i836 + %vtable.i.i.i.i652.i.i839 = load ptr, ptr %937, align 8 + %vfn.i.i.i.i653.i.i840 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i839, i64 1 + %938 = load ptr, ptr %vfn.i.i.i.i653.i.i840, align 8 call void %938(ptr noundef nonnull align 8 dereferenceable(128) %937) #30 - br label %invoke.cont219.i.i840 + br label %invoke.cont219.i.i841 -lpad.i642.i.i829: ; preds = %invoke.cont.i648.i.i834, %.noexc654.i.i826 +lpad.i642.i.i830: ; preds = %invoke.cont.i648.i.i835, %.noexc654.i.i827 %939 = landingpad { ptr, i32 } cleanup - %940 = load ptr, ptr %ref.tmp.i639.i.i605, align 8, !noalias !1510 - %cmp.not.i.i2.i643.i.i830 = icmp eq ptr %940, null - br i1 %cmp.not.i.i2.i643.i.i830, label %ehcleanup240.i.i824, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i831 + %940 = load ptr, ptr %ref.tmp.i639.i.i606, align 8, !noalias !1510 + %cmp.not.i.i2.i643.i.i831 = icmp eq ptr %940, null + br i1 %cmp.not.i.i2.i643.i.i831, label %ehcleanup240.i.i825, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i832 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i831: ; preds = %lpad.i642.i.i829 - %vtable.i.i.i4.i645.i.i832 = load ptr, ptr %940, align 8 - %vfn.i.i.i5.i646.i.i833 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i832, i64 1 - %941 = load ptr, ptr %vfn.i.i.i5.i646.i.i833, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i832: ; preds = %lpad.i642.i.i830 + %vtable.i.i.i4.i645.i.i833 = load ptr, ptr %940, align 8 + %vfn.i.i.i5.i646.i.i834 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i833, i64 1 + %941 = load ptr, ptr %vfn.i.i.i5.i646.i.i834, align 8 call void %941(ptr noundef nonnull align 8 dereferenceable(128) %940) #30 - br label %ehcleanup240.i.i824 + br label %ehcleanup240.i.i825 -invoke.cont219.i.i840: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i837, %invoke.cont2.i649.i.i835 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i605), !noalias !1510 - %call68.val78.i.i841 = load ptr, ptr %__begin058.sroa.0.052.i.i737, align 8 - %call222.val.i.i842 = load ptr, ptr %call68.val78.i.i841, align 8 - %942 = getelementptr i8, ptr %call68.val78.i.i841, i64 8 +invoke.cont219.i.i841: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i838, %invoke.cont2.i649.i.i836 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i606), !noalias !1510 + %call68.val78.i.i842 = load ptr, ptr %__begin058.sroa.0.052.i.i738, align 8 + %call222.val.i.i843 = load ptr, ptr %call68.val78.i.i842, align 8 + %942 = getelementptr i8, ptr %call68.val78.i.i842, i64 8 %call222.val92.i.i = load i64, ptr %942, align 8 - %call222.val.val.i.i843 = load ptr, ptr %call222.val.i.i842, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i630, ptr %call222.val.val.i.i843, i64 %call222.val92.i.i) - to label %invoke.cont223.i.i844 unwind label %lpad218.i.i823 + %call222.val.val.i.i844 = load ptr, ptr %call222.val.i.i843, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i631, ptr %call222.val.val.i.i844, i64 %call222.val92.i.i) + to label %invoke.cont223.i.i845 unwind label %lpad218.i.i824 -invoke.cont223.i.i844: ; preds = %invoke.cont219.i.i840 +invoke.cont223.i.i845: ; preds = %invoke.cont219.i.i841 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i) - to label %.noexc672.i.i unwind label %lpad224.i.i845 + to label %.noexc672.i.i unwind label %lpad224.i.i846 -.noexc672.i.i: ; preds = %invoke.cont223.i.i844 +.noexc672.i.i: ; preds = %invoke.cont223.i.i845 %943 = load ptr, ptr %ref.tmp.i657.i.i, align 8, !noalias !1510 %add.ptr.i.i658.i.i = getelementptr inbounds i8, ptr %943, i64 16 - %call2.i1.i659.i.i = 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) %add.ptr.i.i658.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i630) + %call2.i1.i659.i.i = 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) %add.ptr.i.i658.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i631) to label %invoke.cont.i666.i.i unwind label %lpad.i660.i.i invoke.cont.i666.i.i: ; preds = %.noexc672.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i629, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i630, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i) to label %invoke.cont2.i667.i.i unwind label %lpad.i660.i.i invoke.cont2.i667.i.i: ; preds = %invoke.cont.i666.i.i %944 = load ptr, ptr %ref.tmp.i657.i.i, align 8, !noalias !1510 %cmp.not.i.i.i668.i.i = icmp eq ptr %944, null - br i1 %cmp.not.i.i.i668.i.i, label %invoke.cont225.i.i848, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i + br i1 %cmp.not.i.i.i668.i.i, label %invoke.cont225.i.i849, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i: ; preds = %invoke.cont2.i667.i.i %vtable.i.i.i.i670.i.i = load ptr, ptr %944, align 8 %vfn.i.i.i.i671.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i, i64 1 %945 = load ptr, ptr %vfn.i.i.i.i671.i.i, align 8 call void %945(ptr noundef nonnull align 8 dereferenceable(128) %944) #30 - br label %invoke.cont225.i.i848 + br label %invoke.cont225.i.i849 lpad.i660.i.i: ; preds = %invoke.cont.i666.i.i, %.noexc672.i.i %946 = landingpad { ptr, i32 } cleanup %947 = load ptr, ptr %ref.tmp.i657.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i661.i.i = icmp eq ptr %947, null - br i1 %cmp.not.i.i2.i661.i.i, label %ehcleanup239.i.i846, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i + br i1 %cmp.not.i.i2.i661.i.i, label %ehcleanup239.i.i847, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i: ; preds = %lpad.i660.i.i %vtable.i.i.i4.i663.i.i = load ptr, ptr %947, align 8 %vfn.i.i.i5.i664.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i, i64 1 %948 = load ptr, ptr %vfn.i.i.i5.i664.i.i, align 8 call void %948(ptr noundef nonnull align 8 dereferenceable(128) %947) #30 - br label %ehcleanup239.i.i846 + br label %ehcleanup239.i.i847 -invoke.cont225.i.i848: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i, %invoke.cont2.i667.i.i +invoke.cont225.i.i849: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i, %invoke.cont2.i667.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i), !noalias !1510 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i) - to label %.noexc690.i.i unwind label %lpad224.i.i845 + to label %.noexc690.i.i unwind label %lpad224.i.i846 -.noexc690.i.i: ; preds = %invoke.cont225.i.i848 +.noexc690.i.i: ; preds = %invoke.cont225.i.i849 %949 = load ptr, ptr %ref.tmp.i675.i.i, align 8, !noalias !1510 %add.ptr.i.i676.i.i = getelementptr inbounds i8, ptr %949, i64 16 %call2.i1.i677.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i, ptr noundef nonnull @.str.114) to label %invoke.cont.i684.i.i unwind label %lpad.i678.i.i invoke.cont.i684.i.i: ; preds = %.noexc690.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i629, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i630, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i) to label %invoke.cont2.i685.i.i unwind label %lpad.i678.i.i invoke.cont2.i685.i.i: ; preds = %invoke.cont.i684.i.i %950 = load ptr, ptr %ref.tmp.i675.i.i, align 8, !noalias !1510 %cmp.not.i.i.i686.i.i = icmp eq ptr %950, null - br i1 %cmp.not.i.i.i686.i.i, label %invoke.cont227.i.i849, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i + br i1 %cmp.not.i.i.i686.i.i, label %invoke.cont227.i.i850, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i: ; preds = %invoke.cont2.i685.i.i %vtable.i.i.i.i688.i.i = load ptr, ptr %950, align 8 %vfn.i.i.i.i689.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i, i64 1 %951 = load ptr, ptr %vfn.i.i.i.i689.i.i, align 8 call void %951(ptr noundef nonnull align 8 dereferenceable(128) %950) #30 - br label %invoke.cont227.i.i849 + br label %invoke.cont227.i.i850 lpad.i678.i.i: ; preds = %invoke.cont.i684.i.i, %.noexc690.i.i %952 = landingpad { ptr, i32 } cleanup %953 = load ptr, ptr %ref.tmp.i675.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i679.i.i = icmp eq ptr %953, null - br i1 %cmp.not.i.i2.i679.i.i, label %ehcleanup239.i.i846, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i + br i1 %cmp.not.i.i2.i679.i.i, label %ehcleanup239.i.i847, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i: ; preds = %lpad.i678.i.i %vtable.i.i.i4.i681.i.i = load ptr, ptr %953, align 8 %vfn.i.i.i5.i682.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i, i64 1 %954 = load ptr, ptr %vfn.i.i.i5.i682.i.i, align 8 call void %954(ptr noundef nonnull align 8 dereferenceable(128) %953) #30 - br label %ehcleanup239.i.i846 + br label %ehcleanup239.i.i847 -invoke.cont227.i.i849: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i, %invoke.cont2.i685.i.i +invoke.cont227.i.i850: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i, %invoke.cont2.i685.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i), !noalias !1510 - %call155.val79.i.i = load ptr, ptr %__begin0146.sroa.0.050.i.i804, align 8 - %call230.val.i.i850 = load ptr, ptr %call155.val79.i.i, align 8 + %call155.val79.i.i = load ptr, ptr %__begin0146.sroa.0.050.i.i805, align 8 + %call230.val.i.i851 = load ptr, ptr %call155.val79.i.i, align 8 %955 = getelementptr i8, ptr %call155.val79.i.i, i64 8 %call230.val93.i.i = load i64, ptr %955, align 8 - %call230.val.val.i.i851 = load ptr, ptr %call230.val.i.i850, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i631, ptr %call230.val.val.i.i851, i64 %call230.val93.i.i) - to label %invoke.cont231.i.i852 unwind label %lpad224.i.i845 + %call230.val.val.i.i852 = load ptr, ptr %call230.val.i.i851, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i632, ptr %call230.val.val.i.i852, i64 %call230.val93.i.i) + to label %invoke.cont231.i.i853 unwind label %lpad224.i.i846 -invoke.cont231.i.i852: ; preds = %invoke.cont227.i.i849 +invoke.cont231.i.i853: ; preds = %invoke.cont227.i.i850 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i) - to label %.noexc709.i.i unwind label %lpad232.i.i853 + to label %.noexc709.i.i unwind label %lpad232.i.i854 -.noexc709.i.i: ; preds = %invoke.cont231.i.i852 +.noexc709.i.i: ; preds = %invoke.cont231.i.i853 %956 = load ptr, ptr %ref.tmp.i694.i.i, align 8, !noalias !1510 %add.ptr.i.i695.i.i = getelementptr inbounds i8, ptr %956, i64 16 - %call2.i1.i696.i.i = 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) %add.ptr.i.i695.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i631) + %call2.i1.i696.i.i = 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) %add.ptr.i.i695.i.i, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i632) to label %invoke.cont.i703.i.i unwind label %lpad.i697.i.i invoke.cont.i703.i.i: ; preds = %.noexc709.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i629, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i630, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i) to label %invoke.cont2.i704.i.i unwind label %lpad.i697.i.i invoke.cont2.i704.i.i: ; preds = %invoke.cont.i703.i.i %957 = load ptr, ptr %ref.tmp.i694.i.i, align 8, !noalias !1510 %cmp.not.i.i.i705.i.i = icmp eq ptr %957, null - br i1 %cmp.not.i.i.i705.i.i, label %invoke.cont233.i.i855, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i + br i1 %cmp.not.i.i.i705.i.i, label %invoke.cont233.i.i856, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i: ; preds = %invoke.cont2.i704.i.i %vtable.i.i.i.i707.i.i = load ptr, ptr %957, align 8 %vfn.i.i.i.i708.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i, i64 1 %958 = load ptr, ptr %vfn.i.i.i.i708.i.i, align 8 call void %958(ptr noundef nonnull align 8 dereferenceable(128) %957) #30 - br label %invoke.cont233.i.i855 + br label %invoke.cont233.i.i856 lpad.i697.i.i: ; preds = %invoke.cont.i703.i.i, %.noexc709.i.i %959 = landingpad { ptr, i32 } cleanup %960 = load ptr, ptr %ref.tmp.i694.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i698.i.i = icmp eq ptr %960, null - br i1 %cmp.not.i.i2.i698.i.i, label %lpad232.body.i.i854, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i + br i1 %cmp.not.i.i2.i698.i.i, label %lpad232.body.i.i855, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i: ; preds = %lpad.i697.i.i %vtable.i.i.i4.i700.i.i = load ptr, ptr %960, align 8 %vfn.i.i.i5.i701.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i, i64 1 %961 = load ptr, ptr %vfn.i.i.i5.i701.i.i, align 8 call void %961(ptr noundef nonnull align 8 dereferenceable(128) %960) #30 - br label %lpad232.body.i.i854 + br label %lpad232.body.i.i855 -invoke.cont233.i.i855: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i, %invoke.cont2.i704.i.i +invoke.cont233.i.i856: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i, %invoke.cont2.i704.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i), !noalias !1510 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i), !noalias !1510 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i) - to label %.noexc727.i.i unwind label %lpad232.i.i853 + to label %.noexc727.i.i unwind label %lpad232.i.i854 -.noexc727.i.i: ; preds = %invoke.cont233.i.i855 +.noexc727.i.i: ; preds = %invoke.cont233.i.i856 %962 = load ptr, ptr %ref.tmp.i712.i.i, align 8, !noalias !1510 %add.ptr.i.i713.i.i = getelementptr inbounds i8, ptr %962, i64 16 %call2.i1.i714.i.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i, ptr noundef nonnull @.str.115) to label %invoke.cont.i721.i.i unwind label %lpad.i715.i.i invoke.cont.i721.i.i: ; preds = %.noexc727.i.i - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i629, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i) + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i630, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i) to label %invoke.cont2.i722.i.i unwind label %lpad.i715.i.i invoke.cont2.i722.i.i: ; preds = %invoke.cont.i721.i.i %963 = load ptr, ptr %ref.tmp.i712.i.i, align 8, !noalias !1510 %cmp.not.i.i.i723.i.i = icmp eq ptr %963, null - br i1 %cmp.not.i.i.i723.i.i, label %invoke.cont235.i.i856, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i + br i1 %cmp.not.i.i.i723.i.i, label %invoke.cont235.i.i857, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i: ; preds = %invoke.cont2.i722.i.i %vtable.i.i.i.i725.i.i = load ptr, ptr %963, align 8 %vfn.i.i.i.i726.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i, i64 1 %964 = load ptr, ptr %vfn.i.i.i.i726.i.i, align 8 call void %964(ptr noundef nonnull align 8 dereferenceable(128) %963) #30 - br label %invoke.cont235.i.i856 + br label %invoke.cont235.i.i857 lpad.i715.i.i: ; preds = %invoke.cont.i721.i.i, %.noexc727.i.i %965 = landingpad { ptr, i32 } cleanup %966 = load ptr, ptr %ref.tmp.i712.i.i, align 8, !noalias !1510 %cmp.not.i.i2.i716.i.i = icmp eq ptr %966, null - br i1 %cmp.not.i.i2.i716.i.i, label %lpad232.body.i.i854, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i + br i1 %cmp.not.i.i2.i716.i.i, label %lpad232.body.i.i855, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i: ; preds = %lpad.i715.i.i %vtable.i.i.i4.i718.i.i = load ptr, ptr %966, align 8 %vfn.i.i.i5.i719.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i, i64 1 %967 = load ptr, ptr %vfn.i.i.i5.i719.i.i, align 8 call void %967(ptr noundef nonnull align 8 dereferenceable(128) %966) #30 - br label %lpad232.body.i.i854 + br label %lpad232.body.i.i855 -invoke.cont235.i.i856: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i, %invoke.cont2.i722.i.i +invoke.cont235.i.i857: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i, %invoke.cont2.i722.i.i call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i), !noalias !1510 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i629) - to label %invoke.cont237.i.i857 unwind label %lpad232.i.i853 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i630) + to label %invoke.cont237.i.i858 unwind label %lpad232.i.i854 -invoke.cont237.i.i857: ; preds = %invoke.cont235.i.i856 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i631) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i630) #30 - %message_.i731.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i629, i64 0, i32 1 +invoke.cont237.i.i858: ; preds = %invoke.cont235.i.i857 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i632) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i631) #30 + %message_.i731.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i630, i64 0, i32 1 %968 = load ptr, ptr %message_.i731.i.i, align 8, !noalias !1510 %cmp.not.i.i732.i.i = icmp eq ptr %968, null - br i1 %cmp.not.i.i732.i.i, label %cleanup249.critedge.i.i860, label %cleanup249.critedge.sink.split.i.i858 + br i1 %cmp.not.i.i732.i.i, label %cleanup249.critedge.i.i861, label %cleanup249.critedge.sink.split.i.i859 -lpad218.i.i823: ; preds = %invoke.cont219.i.i840, %invoke.cont217.i.i822 +lpad218.i.i824: ; preds = %invoke.cont219.i.i841, %invoke.cont217.i.i823 %969 = landingpad { ptr, i32 } cleanup - br label %ehcleanup240.i.i824 + br label %ehcleanup240.i.i825 -lpad224.i.i845: ; preds = %invoke.cont227.i.i849, %invoke.cont225.i.i848, %invoke.cont223.i.i844 +lpad224.i.i846: ; preds = %invoke.cont227.i.i850, %invoke.cont225.i.i849, %invoke.cont223.i.i845 %970 = landingpad { ptr, i32 } cleanup - br label %ehcleanup239.i.i846 + br label %ehcleanup239.i.i847 -lpad232.i.i853: ; preds = %invoke.cont235.i.i856, %invoke.cont233.i.i855, %invoke.cont231.i.i852 +lpad232.i.i854: ; preds = %invoke.cont235.i.i857, %invoke.cont233.i.i856, %invoke.cont231.i.i853 %971 = landingpad { ptr, i32 } cleanup - br label %lpad232.body.i.i854 + br label %lpad232.body.i.i855 -lpad232.body.i.i854: ; preds = %lpad232.i.i853, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i, %lpad.i715.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i, %lpad.i697.i.i - %eh.lpad-body710.i.i = phi { ptr, i32 } [ %959, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i ], [ %959, %lpad.i697.i.i ], [ %971, %lpad232.i.i853 ], [ %965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i ], [ %965, %lpad.i715.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i631) #30 - br label %ehcleanup239.i.i846 +lpad232.body.i.i855: ; preds = %lpad232.i.i854, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i, %lpad.i715.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i, %lpad.i697.i.i + %eh.lpad-body710.i.i = phi { ptr, i32 } [ %959, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i ], [ %959, %lpad.i697.i.i ], [ %971, %lpad232.i.i854 ], [ %965, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i ], [ %965, %lpad.i715.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i632) #30 + br label %ehcleanup239.i.i847 -ehcleanup239.i.i846: ; preds = %lpad232.body.i.i854, %lpad224.i.i845, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i, %lpad.i678.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i, %lpad.i660.i.i - %.pn.i.i847 = phi { ptr, i32 } [ %eh.lpad-body710.i.i, %lpad232.body.i.i854 ], [ %946, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i ], [ %946, %lpad.i660.i.i ], [ %970, %lpad224.i.i845 ], [ %952, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i ], [ %952, %lpad.i678.i.i ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i630) #30 - br label %ehcleanup240.i.i824 +ehcleanup239.i.i847: ; preds = %lpad232.body.i.i855, %lpad224.i.i846, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i, %lpad.i678.i.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i, %lpad.i660.i.i + %.pn.i.i848 = phi { ptr, i32 } [ %eh.lpad-body710.i.i, %lpad232.body.i.i855 ], [ %946, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i ], [ %946, %lpad.i660.i.i ], [ %970, %lpad224.i.i846 ], [ %952, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i ], [ %952, %lpad.i678.i.i ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i631) #30 + br label %ehcleanup240.i.i825 -ehcleanup240.i.i824: ; preds = %ehcleanup239.i.i846, %lpad218.i.i823, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i831, %lpad.i642.i.i829 - %.pn.pn.i.i825 = phi { ptr, i32 } [ %.pn.i.i847, %ehcleanup239.i.i846 ], [ %969, %lpad218.i.i823 ], [ %939, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i831 ], [ %939, %lpad.i642.i.i829 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i629) #30 - br label %ehcleanup245.i.i816 +ehcleanup240.i.i825: ; preds = %ehcleanup239.i.i847, %lpad218.i.i824, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i832, %lpad.i642.i.i830 + %.pn.pn.i.i826 = phi { ptr, i32 } [ %.pn.i.i848, %ehcleanup239.i.i847 ], [ %969, %lpad218.i.i824 ], [ %939, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i832 ], [ %939, %lpad.i642.i.i830 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i630) #30 + br label %ehcleanup245.i.i817 -cleanup242.i.i919: ; preds = %invoke.cont162.i.i818 +cleanup242.i.i920: ; preds = %invoke.cont162.i.i819 %972 = load ptr, ptr %_M_refcount.i.i.i735.i.i, align 8, !noalias !1510 %cmp.not.i.i.i.i736.i.i = icmp eq ptr %972, null br i1 %cmp.not.i.i.i.i736.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i, label %if.then.i.i.i.i737.i.i -if.then.i.i.i.i737.i.i: ; preds = %cleanup242.i.i919 +if.then.i.i.i.i737.i.i: ; preds = %cleanup242.i.i920 %_M_use_count.i.i.i.i.i738.i.i = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %972, i64 0, i32 1 %973 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i acquire, align 8 %cmp.i.i.i.i.i739.i.i = icmp eq i64 %973, 4294967297 @@ -65500,8 +65510,8 @@ if.end8.sink.split.i.i.i.i.i769.i.i: ; preds = %_ZN9__gnu_cxx27__ex call void %982(ptr noundef nonnull align 8 dereferenceable(16) %972) #30 br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i, %cleanup242.i.i919 - %983 = load ptr, ptr %c2_hash.i.i622, align 8, !noalias !1510 +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i, %cleanup242.i.i920 + %983 = load ptr, ptr %c2_hash.i.i623, align 8, !noalias !1510 %984 = load ptr, ptr %_M_finish.i.i748.i.i, align 8, !noalias !1510 %cmp.not3.i.i.i.i.i749.i.i = icmp eq ptr %983, %984 br i1 %cmp.not3.i.i.i.i.i749.i.i, label %invoke.cont.i.i756.i.i, label %for.body.i.i.i.i.i750.i.i @@ -65514,43 +65524,43 @@ for.body.i.i.i.i.i750.i.i: ; preds = %_ZNSt10shared_ptrIS br i1 %cmp.not.i.i.i.i.i753.i.i, label %invoke.contthread-pre-split.i.i754.i.i, label %for.body.i.i.i.i.i750.i.i, !llvm.loop !8 invoke.contthread-pre-split.i.i754.i.i: ; preds = %for.body.i.i.i.i.i750.i.i - %.pr.i.i755.i.i = load ptr, ptr %c2_hash.i.i622, align 8, !noalias !1510 + %.pr.i.i755.i.i = load ptr, ptr %c2_hash.i.i623, align 8, !noalias !1510 br label %invoke.cont.i.i756.i.i invoke.cont.i.i756.i.i: ; preds = %invoke.contthread-pre-split.i.i754.i.i, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i %985 = phi ptr [ %.pr.i.i755.i.i, %invoke.contthread-pre-split.i.i754.i.i ], [ %983, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i ] %tobool.not.i.i.i.i757.i.i = icmp eq ptr %985, null - br i1 %tobool.not.i.i.i.i757.i.i, label %for.inc246.i.i920, label %if.then.i.i.i1.i758.i.i + br i1 %tobool.not.i.i.i.i757.i.i, label %for.inc246.i.i921, label %if.then.i.i.i1.i758.i.i if.then.i.i.i1.i758.i.i: ; preds = %invoke.cont.i.i756.i.i call void @_ZdlPv(ptr noundef nonnull %985) #33 - br label %for.inc246.i.i920 - -for.inc246.i.i920: ; preds = %if.then.i.i.i1.i758.i.i, %invoke.cont.i.i756.i.i, %for.body154.i.i803 - %incdec.ptr.i779.i.i = getelementptr inbounds %"class.std::vector.804", ptr %__begin0146.sroa.0.050.i.i804, i64 1 - %cmp.i449.not.i.i = icmp eq ptr %incdec.ptr.i779.i.i, %classes.val56.i.i802 - br i1 %cmp.i449.not.i.i, label %cleanup249.i.i921, label %for.body154.i.i803 - -ehcleanup245.i.i816: ; preds = %ehcleanup240.i.i824, %ehcleanup214.i.i864, %ehcleanup188.i.i886, %lpad161.loopexit.split-lp.i.i820, %lpad161.loopexit.i.i814 - %.pn.pn.pn.i.i817 = phi { ptr, i32 } [ %.pn.pn.i.i825, %ehcleanup240.i.i824 ], [ %.pn31.pn.i.i865, %ehcleanup214.i.i864 ], [ %.pn34.pn.i.i887, %ehcleanup188.i.i886 ], [ %lpad.loopexit5.i.i815, %lpad161.loopexit.i.i814 ], [ %lpad.loopexit.split-lp6.i.i821, %lpad161.loopexit.split-lp.i.i820 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i622) #30 - br label %ehcleanup252.i.i750 - -cleanup249.critedge.sink.split.i.i858: ; preds = %invoke.cont237.i.i857, %invoke.cont211.i.i882, %invoke.cont185.i.i918 - %.sink117.i.i859 = phi ptr [ %896, %invoke.cont185.i.i918 ], [ %932, %invoke.cont211.i.i882 ], [ %968, %invoke.cont237.i.i857 ] - %message_.i542.sink.ph.i.i = phi ptr [ %message_.i542.i.i, %invoke.cont185.i.i918 ], [ %message_.i635.i.i, %invoke.cont211.i.i882 ], [ %message_.i731.i.i, %invoke.cont237.i.i857 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i859) #30 - call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i859) #33 - br label %cleanup249.critedge.i.i860 - -cleanup249.critedge.i.i860: ; preds = %cleanup249.critedge.sink.split.i.i858, %invoke.cont237.i.i857, %invoke.cont211.i.i882, %invoke.cont185.i.i918 - %message_.i542.sink.i.i = phi ptr [ %message_.i542.i.i, %invoke.cont185.i.i918 ], [ %message_.i635.i.i, %invoke.cont211.i.i882 ], [ %message_.i731.i.i, %invoke.cont237.i.i857 ], [ %message_.i542.sink.ph.i.i, %cleanup249.critedge.sink.split.i.i858 ] + br label %for.inc246.i.i921 + +for.inc246.i.i921: ; preds = %if.then.i.i.i1.i758.i.i, %invoke.cont.i.i756.i.i, %for.body154.i.i804 + %incdec.ptr.i779.i.i = getelementptr inbounds %"class.std::vector.804", ptr %__begin0146.sroa.0.050.i.i805, i64 1 + %cmp.i449.not.i.i = icmp eq ptr %incdec.ptr.i779.i.i, %classes.val56.i.i803 + br i1 %cmp.i449.not.i.i, label %cleanup249.i.i922, label %for.body154.i.i804 + +ehcleanup245.i.i817: ; preds = %ehcleanup240.i.i825, %ehcleanup214.i.i865, %ehcleanup188.i.i887, %lpad161.loopexit.split-lp.i.i821, %lpad161.loopexit.i.i815 + %.pn.pn.pn.i.i818 = phi { ptr, i32 } [ %.pn.pn.i.i826, %ehcleanup240.i.i825 ], [ %.pn31.pn.i.i866, %ehcleanup214.i.i865 ], [ %.pn34.pn.i.i888, %ehcleanup188.i.i887 ], [ %lpad.loopexit5.i.i816, %lpad161.loopexit.i.i815 ], [ %lpad.loopexit.split-lp6.i.i822, %lpad161.loopexit.split-lp.i.i821 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i623) #30 + br label %ehcleanup252.i.i751 + +cleanup249.critedge.sink.split.i.i859: ; preds = %invoke.cont237.i.i858, %invoke.cont211.i.i883, %invoke.cont185.i.i919 + %.sink117.i.i860 = phi ptr [ %896, %invoke.cont185.i.i919 ], [ %932, %invoke.cont211.i.i883 ], [ %968, %invoke.cont237.i.i858 ] + %message_.i542.sink.ph.i.i = phi ptr [ %message_.i542.i.i, %invoke.cont185.i.i919 ], [ %message_.i635.i.i, %invoke.cont211.i.i883 ], [ %message_.i731.i.i, %invoke.cont237.i.i858 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i860) #30 + call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i860) #33 + br label %cleanup249.critedge.i.i861 + +cleanup249.critedge.i.i861: ; preds = %cleanup249.critedge.sink.split.i.i859, %invoke.cont237.i.i858, %invoke.cont211.i.i883, %invoke.cont185.i.i919 + %message_.i542.sink.i.i = phi ptr [ %message_.i542.i.i, %invoke.cont185.i.i919 ], [ %message_.i635.i.i, %invoke.cont211.i.i883 ], [ %message_.i731.i.i, %invoke.cont237.i.i858 ], [ %message_.i542.sink.ph.i.i, %cleanup249.critedge.sink.split.i.i859 ] store ptr null, ptr %message_.i542.sink.i.i, align 8, !noalias !1510 %986 = load ptr, ptr %_M_refcount.i.i.i735.i.i, align 8, !noalias !1510 %cmp.not.i.i.i.i781.i.i = icmp eq ptr %986, null br i1 %cmp.not.i.i.i.i781.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i, label %if.then.i.i.i.i782.i.i -if.then.i.i.i.i782.i.i: ; preds = %cleanup249.critedge.i.i860 +if.then.i.i.i.i782.i.i: ; preds = %cleanup249.critedge.i.i861 %_M_use_count.i.i.i.i.i783.i.i = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %986, i64 0, i32 1 %987 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i acquire, align 8 %cmp.i.i.i.i.i784.i.i = icmp eq i64 %987, 4294967297 @@ -65618,8 +65628,8 @@ if.end8.sink.split.i.i.i.i.i814.i.i: ; preds = %_ZN9__gnu_cxx27__ex call void %996(ptr noundef nonnull align 8 dereferenceable(16) %986) #30 br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i, %cleanup249.critedge.i.i860 - %997 = load ptr, ptr %c2_hash.i.i622, align 8, !noalias !1510 +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i, %cleanup249.critedge.i.i861 + %997 = load ptr, ptr %c2_hash.i.i623, align 8, !noalias !1510 %998 = load ptr, ptr %_M_finish.i.i748.i.i, align 8, !noalias !1510 %cmp.not3.i.i.i.i.i794.i.i = icmp eq ptr %997, %998 br i1 %cmp.not3.i.i.i.i.i794.i.i, label %invoke.cont.i.i801.i.i, label %for.body.i.i.i.i.i795.i.i @@ -65632,24 +65642,24 @@ for.body.i.i.i.i.i795.i.i: ; preds = %_ZNSt10shared_ptrIS br i1 %cmp.not.i.i.i.i.i798.i.i, label %invoke.contthread-pre-split.i.i799.i.i, label %for.body.i.i.i.i.i795.i.i, !llvm.loop !8 invoke.contthread-pre-split.i.i799.i.i: ; preds = %for.body.i.i.i.i.i795.i.i - %.pr.i.i800.i.i = load ptr, ptr %c2_hash.i.i622, align 8, !noalias !1510 + %.pr.i.i800.i.i = load ptr, ptr %c2_hash.i.i623, align 8, !noalias !1510 br label %invoke.cont.i.i801.i.i invoke.cont.i.i801.i.i: ; preds = %invoke.contthread-pre-split.i.i799.i.i, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i %999 = phi ptr [ %.pr.i.i800.i.i, %invoke.contthread-pre-split.i.i799.i.i ], [ %997, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i ] %tobool.not.i.i.i.i802.i.i = icmp eq ptr %999, null - br i1 %tobool.not.i.i.i.i802.i.i, label %cleanup257.critedge.i.i774, label %if.then.i.i.i1.i803.i.i + br i1 %tobool.not.i.i.i.i802.i.i, label %cleanup257.critedge.i.i775, label %if.then.i.i.i1.i803.i.i if.then.i.i.i1.i803.i.i: ; preds = %invoke.cont.i.i801.i.i call void @_ZdlPv(ptr noundef nonnull %999) #33 - br label %cleanup257.critedge.i.i774 + br label %cleanup257.critedge.i.i775 -cleanup249.i.i921: ; preds = %for.inc246.i.i920, %for.end144.i.i800 +cleanup249.i.i922: ; preds = %for.inc246.i.i921, %for.end144.i.i801 %1000 = load ptr, ptr %_M_refcount.i.i.i824.i.i, align 8, !noalias !1510 %cmp.not.i.i.i.i825.i.i = icmp eq ptr %1000, null br i1 %cmp.not.i.i.i.i825.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i, label %if.then.i.i.i.i826.i.i -if.then.i.i.i.i826.i.i: ; preds = %cleanup249.i.i921 +if.then.i.i.i.i826.i.i: ; preds = %cleanup249.i.i922 %_M_use_count.i.i.i.i.i827.i.i = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1000, i64 0, i32 1 %1001 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i acquire, align 8 %cmp.i.i.i.i.i828.i.i = icmp eq i64 %1001, 4294967297 @@ -65717,8 +65727,8 @@ if.end8.sink.split.i.i.i.i.i858.i.i: ; preds = %_ZN9__gnu_cxx27__ex call void %1010(ptr noundef nonnull align 8 dereferenceable(16) %1000) #30 br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i, %cleanup249.i.i921 - %1011 = load ptr, ptr %expected.i.i613, align 8, !noalias !1510 +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i, %cleanup249.i.i922 + %1011 = load ptr, ptr %expected.i.i614, align 8, !noalias !1510 %1012 = load ptr, ptr %_M_finish.i.i837.i.i, align 8, !noalias !1510 %cmp.not3.i.i.i.i.i838.i.i = icmp eq ptr %1011, %1012 br i1 %cmp.not3.i.i.i.i.i838.i.i, label %invoke.cont.i.i845.i.i, label %for.body.i.i.i.i.i839.i.i @@ -65731,7 +65741,7 @@ for.body.i.i.i.i.i839.i.i: ; preds = %_ZNSt10shared_ptrIS br i1 %cmp.not.i.i.i.i.i842.i.i, label %invoke.contthread-pre-split.i.i843.i.i, label %for.body.i.i.i.i.i839.i.i, !llvm.loop !8 invoke.contthread-pre-split.i.i843.i.i: ; preds = %for.body.i.i.i.i.i839.i.i - %.pr.i.i844.i.i = load ptr, ptr %expected.i.i613, align 8, !noalias !1510 + %.pr.i.i844.i.i = load ptr, ptr %expected.i.i614, align 8, !noalias !1510 br label %invoke.cont.i.i845.i.i invoke.cont.i.i845.i.i: ; preds = %invoke.contthread-pre-split.i.i843.i.i, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i @@ -65744,25 +65754,25 @@ if.then.i.i.i1.i847.i.i: ; preds = %invoke.cont.i.i845. br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i: ; preds = %if.then.i.i.i1.i847.i.i, %invoke.cont.i.i845.i.i - %incdec.ptr.i868.i.i = getelementptr inbounds %"class.std::vector.804", ptr %__begin058.sroa.0.052.i.i737, i64 1 - %cmp.i160.not.i.i922 = icmp eq ptr %incdec.ptr.i868.i.i, %classes.val63.pre.i.i - br i1 %cmp.i160.not.i.i922, label %for.end255.i.i923, label %for.body66.i.i736 + %incdec.ptr.i868.i.i = getelementptr inbounds %"class.std::vector.804", ptr %__begin058.sroa.0.052.i.i738, i64 1 + %cmp.i160.not.i.i923 = icmp eq ptr %incdec.ptr.i868.i.i, %classes.val63.pre.i.i + br i1 %cmp.i160.not.i.i923, label %for.end255.i.i924, label %for.body66.i.i737 -ehcleanup252.i.i750: ; preds = %ehcleanup245.i.i816, %ehcleanup140.i.i782, %lpad112.i.i777, %ehcleanup108.i.i764, %ehcleanup92.i.i754, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i760, %lpad83.loopexit.split-lp.loopexit.i.i748, %lpad83.loopexit.i.i810 - %.pn43.pn.i.i751 = phi { ptr, i32 } [ %.pn43.i.i765, %ehcleanup108.i.i764 ], [ %.pn40.pn.i.i783, %ehcleanup140.i.i782 ], [ %860, %lpad112.i.i777 ], [ %.pn38.i.i755, %ehcleanup92.i.i754 ], [ %.pn.pn.pn.i.i817, %ehcleanup245.i.i816 ], [ %lpad.loopexit.i.i811, %lpad83.loopexit.i.i810 ], [ %lpad.loopexit8.i.i749, %lpad83.loopexit.split-lp.loopexit.i.i748 ], [ %lpad.loopexit.split-lp9.i.i761, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i760 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i613) #30 - br label %ehcleanup258.i.i670 +ehcleanup252.i.i751: ; preds = %ehcleanup245.i.i817, %ehcleanup140.i.i783, %lpad112.i.i778, %ehcleanup108.i.i765, %ehcleanup92.i.i755, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i761, %lpad83.loopexit.split-lp.loopexit.i.i749, %lpad83.loopexit.i.i811 + %.pn43.pn.i.i752 = phi { ptr, i32 } [ %.pn43.i.i766, %ehcleanup108.i.i765 ], [ %.pn40.pn.i.i784, %ehcleanup140.i.i783 ], [ %860, %lpad112.i.i778 ], [ %.pn38.i.i756, %ehcleanup92.i.i755 ], [ %.pn.pn.pn.i.i818, %ehcleanup245.i.i817 ], [ %lpad.loopexit.i.i812, %lpad83.loopexit.i.i811 ], [ %lpad.loopexit8.i.i750, %lpad83.loopexit.split-lp.loopexit.i.i749 ], [ %lpad.loopexit.split-lp9.i.i762, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i761 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i614) #30 + br label %ehcleanup258.i.i671 -for.end255.i.i923: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i, %for.cond64.preheader.i.i733 +for.end255.i.i924: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i, %for.cond64.preheader.i.i734 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_110) - to label %cleanup257.i.i717 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i924 + to label %cleanup257.i.i718 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i925 -cleanup257.critedge.i.i774: ; preds = %if.then.i.i.i1.i803.i.i, %invoke.cont.i.i801.i.i, %_ZN7testing15AssertionResultD2Ev.exit447.i.i, %_ZN7testing15AssertionResultD2Ev.exit307.i.i +cleanup257.critedge.i.i775: ; preds = %if.then.i.i.i1.i803.i.i, %invoke.cont.i.i801.i.i, %_ZN7testing15AssertionResultD2Ev.exit447.i.i, %_ZN7testing15AssertionResultD2Ev.exit307.i.i %1014 = load ptr, ptr %_M_refcount.i.i.i824.i.i, align 8, !noalias !1510 %cmp.not.i.i.i.i870.i.i = icmp eq ptr %1014, null br i1 %cmp.not.i.i.i.i870.i.i, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i, label %if.then.i.i.i.i871.i.i -if.then.i.i.i.i871.i.i: ; preds = %cleanup257.critedge.i.i774 +if.then.i.i.i.i871.i.i: ; preds = %cleanup257.critedge.i.i775 %_M_use_count.i.i.i.i.i872.i.i = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1014, i64 0, i32 1 %1015 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i acquire, align 8 %cmp.i.i.i.i.i873.i.i = icmp eq i64 %1015, 4294967297 @@ -65830,8 +65840,8 @@ if.end8.sink.split.i.i.i.i.i903.i.i: ; preds = %_ZN9__gnu_cxx27__ex call void %1024(ptr noundef nonnull align 8 dereferenceable(16) %1014) #30 br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i, %cleanup257.critedge.i.i774 - %1025 = load ptr, ptr %expected.i.i613, align 8, !noalias !1510 +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i, %cleanup257.critedge.i.i775 + %1025 = load ptr, ptr %expected.i.i614, align 8, !noalias !1510 %1026 = load ptr, ptr %_M_finish.i.i837.i.i, align 8, !noalias !1510 %cmp.not3.i.i.i.i.i883.i.i = icmp eq ptr %1025, %1026 br i1 %cmp.not3.i.i.i.i.i883.i.i, label %invoke.cont.i.i890.i.i, label %for.body.i.i.i.i.i884.i.i @@ -65844,40 +65854,40 @@ for.body.i.i.i.i.i884.i.i: ; preds = %_ZNSt10shared_ptrIS br i1 %cmp.not.i.i.i.i.i887.i.i, label %invoke.contthread-pre-split.i.i888.i.i, label %for.body.i.i.i.i.i884.i.i, !llvm.loop !8 invoke.contthread-pre-split.i.i888.i.i: ; preds = %for.body.i.i.i.i.i884.i.i - %.pr.i.i889.i.i = load ptr, ptr %expected.i.i613, align 8, !noalias !1510 + %.pr.i.i889.i.i = load ptr, ptr %expected.i.i614, align 8, !noalias !1510 br label %invoke.cont.i.i890.i.i invoke.cont.i.i890.i.i: ; preds = %invoke.contthread-pre-split.i.i888.i.i, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i %1027 = phi ptr [ %.pr.i.i889.i.i, %invoke.contthread-pre-split.i.i888.i.i ], [ %1025, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i ] %tobool.not.i.i.i.i891.i.i = icmp eq ptr %1027, null - br i1 %tobool.not.i.i.i.i891.i.i, label %cleanup257.i.i717, label %if.then.i.i.i1.i892.i.i + br i1 %tobool.not.i.i.i.i891.i.i, label %cleanup257.i.i718, label %if.then.i.i.i1.i892.i.i if.then.i.i.i1.i892.i.i: ; preds = %invoke.cont.i.i890.i.i call void @_ZdlPv(ptr noundef nonnull %1027) #33 - br label %cleanup257.i.i717 + br label %cleanup257.i.i718 -cleanup257.i.i717: ; preds = %if.then.i.i.i1.i892.i.i, %invoke.cont.i.i890.i.i, %for.end255.i.i923, %_ZN7testing15AssertionResultD2Ev.exit159.i.i, %if.then.i.i.i.i129.i.i, %_ZN7testing15AssertionResultD2Ev.exit.i.i716 - %1028 = load ptr, ptr %classes.i.i608, align 8, !noalias !1510 +cleanup257.i.i718: ; preds = %if.then.i.i.i1.i892.i.i, %invoke.cont.i.i890.i.i, %for.end255.i.i924, %_ZN7testing15AssertionResultD2Ev.exit159.i.i, %if.then.i.i.i.i129.i.i, %_ZN7testing15AssertionResultD2Ev.exit.i.i717 + %1028 = load ptr, ptr %classes.i.i609, align 8, !noalias !1510 %1029 = load ptr, ptr %705, align 8, !noalias !1510 - %cmp.not3.i.i.i.i.i.i718 = icmp eq ptr %1028, %1029 - br i1 %cmp.not3.i.i.i.i.i.i718, label %invoke.cont.i916.i.i, label %for.body.i.i.i.i.i.i719 + %cmp.not3.i.i.i.i.i.i719 = icmp eq ptr %1028, %1029 + br i1 %cmp.not3.i.i.i.i.i.i719, label %invoke.cont.i916.i.i, label %for.body.i.i.i.i.i.i720 -for.body.i.i.i.i.i.i719: ; preds = %cleanup257.i.i717, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i720 = phi ptr [ %incdec.ptr.i.i.i.i.i.i723, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %1028, %cleanup257.i.i717 ] - %__first.addr.0.val.i.i.i.i.i.i721 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i720, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i.i722 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i721, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i722, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i +for.body.i.i.i.i.i.i720: ; preds = %cleanup257.i.i718, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i721 = phi ptr [ %incdec.ptr.i.i.i.i.i.i724, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %1028, %cleanup257.i.i718 ] + %__first.addr.0.val.i.i.i.i.i.i722 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i721, align 8 + %tobool.not.i.i.i.i.i.i.i.i.i.i723 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i722, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i723, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i -if.then.i.i.i.i.i.i.i.i914.i.i: ; preds = %for.body.i.i.i.i.i.i719 - call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i721) #33 +if.then.i.i.i.i.i.i.i.i914.i.i: ; preds = %for.body.i.i.i.i.i.i720 + call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i722) #33 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i, %for.body.i.i.i.i.i.i719 - %incdec.ptr.i.i.i.i.i.i723 = getelementptr inbounds %"class.std::vector.804", ptr %__first.addr.04.i.i.i.i.i.i720, i64 1 - %cmp.not.i.i.i.i915.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i723, %1029 - br i1 %cmp.not.i.i.i.i915.i.i, label %invoke.cont.i916.i.i, label %for.body.i.i.i.i.i.i719, !llvm.loop !1524 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i, %for.body.i.i.i.i.i.i720 + %incdec.ptr.i.i.i.i.i.i724 = getelementptr inbounds %"class.std::vector.804", ptr %__first.addr.04.i.i.i.i.i.i721, i64 1 + %cmp.not.i.i.i.i915.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i724, %1029 + br i1 %cmp.not.i.i.i.i915.i.i, label %invoke.cont.i916.i.i, label %for.body.i.i.i.i.i.i720, !llvm.loop !1524 -invoke.cont.i916.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i717 +invoke.cont.i916.i.i: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i718 %tobool.not.i.i.i917.i.i = icmp eq ptr %1028, null br i1 %tobool.not.i.i.i917.i.i, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvES7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i @@ -65885,45 +65895,45 @@ if.then.i.i.i918.i.i: ; preds = %invoke.cont.i916.i. call void @_ZdlPv(ptr noundef nonnull %1028) #33 br label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvES7_EEEEN7testing15AssertionResultERKT0_.exit -ehcleanup258.i.i670: ; preds = %ehcleanup252.i.i750, %lpad51.body.i.i929, %if.then.i.i.i.i137.i.i, %ehcleanup.i.i695, %lpad30.i.i674, %lpad.loopexit.split-lp.loopexit.split-lp.i.i924, %lpad.loopexit.split-lp.loopexit.i.i668, %lpad.loopexit11.i.i741 - %.pn46.pn.i.i671 = phi { ptr, i32 } [ %747, %lpad30.i.i674 ], [ %eh.lpad-body155.i.i, %lpad51.body.i.i929 ], [ %.pn43.pn.i.i751, %ehcleanup252.i.i750 ], [ %.pn46.i.i696, %ehcleanup.i.i695 ], [ %.pn46.i.i696, %if.then.i.i.i.i137.i.i ], [ %lpad.loopexit12.i.i742, %lpad.loopexit11.i.i741 ], [ %lpad.loopexit15.i.i669, %lpad.loopexit.split-lp.loopexit.i.i668 ], [ %lpad.loopexit.split-lp16.i.i925, %lpad.loopexit.split-lp.loopexit.split-lp.i.i924 ] - call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i608) #30 +ehcleanup258.i.i671: ; preds = %ehcleanup252.i.i751, %lpad51.body.i.i930, %if.then.i.i.i.i137.i.i, %ehcleanup.i.i696, %lpad30.i.i675, %lpad.loopexit.split-lp.loopexit.split-lp.i.i925, %lpad.loopexit.split-lp.loopexit.i.i669, %lpad.loopexit11.i.i742 + %.pn46.pn.i.i672 = phi { ptr, i32 } [ %747, %lpad30.i.i675 ], [ %eh.lpad-body155.i.i, %lpad51.body.i.i930 ], [ %.pn43.pn.i.i752, %ehcleanup252.i.i751 ], [ %.pn46.i.i697, %ehcleanup.i.i696 ], [ %.pn46.i.i697, %if.then.i.i.i.i137.i.i ], [ %lpad.loopexit12.i.i743, %lpad.loopexit11.i.i742 ], [ %lpad.loopexit15.i.i670, %lpad.loopexit.split-lp.loopexit.i.i669 ], [ %lpad.loopexit.split-lp16.i.i926, %lpad.loopexit.split-lp.loopexit.split-lp.i.i925 ] + call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i609) #30 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i3.i.i.i) #33 br label %common.resume _ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvES7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i, %if.then.i.i.i918.i.i - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i608), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i609), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i610), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i611), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i612), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i613), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i614), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i615), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i616), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i617), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i618), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i619), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i620), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i621), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i622), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i623), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i624), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i625), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i626), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i627), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i628), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i629), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i630), !noalias !1509 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i631), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i609), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i610), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i611), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i612), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i613), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i614), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i615), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i616), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i617), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i618), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i619), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i620), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i621), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i622), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i623), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i624), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i625), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i626), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i627), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i628), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i629), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i630), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i631), !noalias !1509 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i632), !noalias !1509 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i3.i.i.i) #33 %1030 = load i8, ptr %gtest_ar_110, align 8 %1031 = and i8 %1030, 1 - %tobool.i1012.not = icmp eq i8 %1031, 0 - br i1 %tobool.i1012.not, label %if.else116, label %if.end132 + %tobool.i1014.not = icmp eq i8 %1031, 0 + br i1 %tobool.i1014.not, label %if.else116, label %if.end132 -ehcleanup109: ; preds = %_ZN7testing7MessageD2Ev.exit598, %lpad94 - %.pn56.pn.pn = phi { ptr, i32 } [ %.pn56.pn, %_ZN7testing7MessageD2Ev.exit598 ], [ %697, %lpad94 ] +ehcleanup109: ; preds = %_ZN7testing7MessageD2Ev.exit599, %lpad94 + %.pn56.pn.pn = phi { ptr, i32 } [ %.pn56.pn, %_ZN7testing7MessageD2Ev.exit599 ], [ %697, %lpad94 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_86) #30 br label %common.resume @@ -65948,17 +65958,17 @@ invoke.cont128: ; preds = %invoke.cont126 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp120) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp121) #30 %1032 = load ptr, ptr %ref.tmp117, align 8 - %cmp.not.i.i1013 = icmp eq ptr %1032, null - br i1 %cmp.not.i.i1013, label %_ZN7testing7MessageD2Ev.exit1017, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1014 + %cmp.not.i.i1015 = icmp eq ptr %1032, null + br i1 %cmp.not.i.i1015, label %_ZN7testing7MessageD2Ev.exit1019, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1016 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1014: ; preds = %invoke.cont128 - %vtable.i.i.i1015 = load ptr, ptr %1032, align 8 - %vfn.i.i.i1016 = getelementptr inbounds ptr, ptr %vtable.i.i.i1015, i64 1 - %1033 = load ptr, ptr %vfn.i.i.i1016, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1016: ; preds = %invoke.cont128 + %vtable.i.i.i1017 = load ptr, ptr %1032, align 8 + %vfn.i.i.i1018 = getelementptr inbounds ptr, ptr %vtable.i.i.i1017, i64 1 + %1033 = load ptr, ptr %vfn.i.i.i1018, align 8 call void %1033(ptr noundef nonnull align 8 dereferenceable(128) %1032) #30 - br label %_ZN7testing7MessageD2Ev.exit1017 + br label %_ZN7testing7MessageD2Ev.exit1019 -_ZN7testing7MessageD2Ev.exit1017: ; preds = %invoke.cont128, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1014 +_ZN7testing7MessageD2Ev.exit1019: ; preds = %invoke.cont128, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1016 store ptr null, ptr %ref.tmp117, align 8 br label %if.end132 @@ -65991,2851 +66001,2852 @@ ehcleanup130: ; preds = %lpad127, %lpad125 ehcleanup131: ; preds = %ehcleanup130, %lpad122 %.pn60.pn = phi { ptr, i32 } [ %.pn60, %ehcleanup130 ], [ %1035, %lpad122 ] %1038 = load ptr, ptr %ref.tmp117, align 8 - %cmp.not.i.i1018 = icmp eq ptr %1038, null - br i1 %cmp.not.i.i1018, label %_ZN7testing7MessageD2Ev.exit1022, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1019 + %cmp.not.i.i1020 = icmp eq ptr %1038, null + br i1 %cmp.not.i.i1020, label %_ZN7testing7MessageD2Ev.exit1024, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1021 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1019: ; preds = %ehcleanup131 - %vtable.i.i.i1020 = load ptr, ptr %1038, align 8 - %vfn.i.i.i1021 = getelementptr inbounds ptr, ptr %vtable.i.i.i1020, i64 1 - %1039 = load ptr, ptr %vfn.i.i.i1021, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1021: ; preds = %ehcleanup131 + %vtable.i.i.i1022 = load ptr, ptr %1038, align 8 + %vfn.i.i.i1023 = getelementptr inbounds ptr, ptr %vtable.i.i.i1022, i64 1 + %1039 = load ptr, ptr %vfn.i.i.i1023, align 8 call void %1039(ptr noundef nonnull align 8 dereferenceable(128) %1038) #30 - br label %_ZN7testing7MessageD2Ev.exit1022 + br label %_ZN7testing7MessageD2Ev.exit1024 -_ZN7testing7MessageD2Ev.exit1022: ; preds = %ehcleanup131, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1019 +_ZN7testing7MessageD2Ev.exit1024: ; preds = %ehcleanup131, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1021 store ptr null, ptr %ref.tmp117, align 8 br label %ehcleanup133 -if.end132: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvES7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit1017 - %message_.i1023 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_110, i64 0, i32 1 - %1040 = load ptr, ptr %message_.i1023, align 8 - %cmp.not.i.i1024 = icmp eq ptr %1040, null - br i1 %cmp.not.i.i1024, label %_ZN7testing15AssertionResultD2Ev.exit1026, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1025 +if.end132: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFvvES7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit1019 + %message_.i1025 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_110, i64 0, i32 1 + %1040 = load ptr, ptr %message_.i1025, align 8 + %cmp.not.i.i1026 = icmp eq ptr %1040, null + br i1 %cmp.not.i.i1026, label %_ZN7testing15AssertionResultD2Ev.exit1028, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1027 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1025: ; preds = %if.end132 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1027: ; preds = %if.end132 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1040) #30 call void @_ZdlPv(ptr noundef nonnull %1040) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit1026 + br label %_ZN7testing15AssertionResultD2Ev.exit1028 -_ZN7testing15AssertionResultD2Ev.exit1026: ; preds = %if.end132, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1025 - store ptr null, ptr %message_.i1023, align 8 +_ZN7testing15AssertionResultD2Ev.exit1028: ; preds = %if.end132, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1027 + store ptr null, ptr %message_.i1025, align 8 %1041 = getelementptr inbounds i8, ptr %ref.tmp135, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp135, i8 0, i64 16, i1 false) store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENR3Foo2h1Ev to i64), ptr %1041, align 8, !alias.scope !1525 - %this.repack3.i.i.i.i.i1027 = getelementptr inbounds i8, ptr %ref.tmp135, i64 24 - store i64 0, ptr %this.repack3.i.i.i.i.i1027, align 8, !alias.scope !1525 + %this.repack3.i.i.i.i.i1029 = getelementptr inbounds i8, ptr %ref.tmp135, i64 24 + store i64 0, ptr %this.repack3.i.i.i.i.i1029, align 8, !alias.scope !1525 %1042 = getelementptr inbounds i8, ptr %ref.tmp135, i64 32 store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENR3Foo2g1Ev to i64), ptr %1042, align 8, !alias.scope !1525 - %this.repack3.i.i.i.i1028 = getelementptr inbounds i8, ptr %ref.tmp135, i64 40 - store i64 0, ptr %this.repack3.i.i.i.i1028, align 8, !alias.scope !1525 - %call5.i.i.i.i5.i6.i.i.i1080 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1528 - store ptr %1042, ptr %call5.i.i.i.i5.i6.i.i.i1080, align 8, !noalias !1528 - %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1081 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1080, i64 8 - store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1081, align 8, !noalias !1528 - %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1082 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1080, i64 16 - store ptr %1041, ptr %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1082, align 8, !noalias !1528 - %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1083 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1080, i64 24 - store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1083, align 8, !noalias !1528 - %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1084 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1080, i64 32 - store ptr %ref.tmp135, ptr %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1084, align 8, !noalias !1528 - %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1085 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1080, i64 40 - store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1085, align 8, !noalias !1528 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i1054), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i1055), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i1056), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i1057), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i1058), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i1059), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i1060), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i1061), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i1062), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i1063), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i1064), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i1065), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i1066), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i1067), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i1068), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i1069), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i1070), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i1071), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i1072), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i1073), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i1074), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i1075), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i1076), !noalias !1535 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i1077), !noalias !1535 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i1054, i8 0, i64 24, i1 false), !noalias !1536 - %1043 = getelementptr inbounds i8, ptr %classes.i.i1054, i64 8 - %_M_end_of_storage.i.i.i1086 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.838", ptr %classes.i.i1054, i64 0, i32 2 - %moved_from_.i.i.i1087 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i1056, i64 0, i32 2 - %_M_engaged.i.i.i.i.i.i.i.i1088 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i1055, i64 0, i32 1 - %error_.i.i.i1089 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i1056, i64 0, i32 1 - %_M_refcount.i.i.i.i.i1090 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i1056, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i119.i.i1091 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i1056, i64 0, i32 1 - br label %for.body.i.i1092 - -for.cond.i.i1211: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1165 - %__begin0.sroa.0.045.i.add.i1212 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i1094, 16 - %cmp.i.not.i.i1213 = icmp eq i64 %__begin0.sroa.0.045.i.add.i1212, 48 - br i1 %cmp.i.not.i.i1213, label %for.end45.i.i1214, label %for.body.i.i1092 - -for.body.i.i1092: ; preds = %for.cond.i.i1211, %_ZN7testing15AssertionResultD2Ev.exit1026 - %i.046.i.i1093 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit1026 ], [ %inc.i.i1129, %for.cond.i.i1211 ] - %__begin0.sroa.0.045.i.idx.i1094 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit1026 ], [ %__begin0.sroa.0.045.i.add.i1212, %for.cond.i.i1211 ] - %__begin0.sroa.0.045.i.ptr.i1095 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1080, i64 %__begin0.sroa.0.045.i.idx.i1094 - %classes.val.i.i1096 = load ptr, ptr %classes.i.i1054, align 8, !noalias !1536 - %classes.val54.i.i1097 = load ptr, ptr %1043, align 8, !noalias !1536 - %cmp.i103.not42.i.i1098 = icmp eq ptr %classes.val.i.i1096, %classes.val54.i.i1097 - br i1 %cmp.i103.not42.i.i1098, label %if.then19.i.i1116, label %invoke.cont.lr.ph.i.i1099 - -invoke.cont.lr.ph.i.i1099: ; preds = %for.body.i.i1092 - %call4.val.i.i1100 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i1095, align 8, !noalias !1539 - %call4.val.val.i.i1101 = load i64, ptr %call4.val.i.i1100, align 8 - %1044 = getelementptr i8, ptr %call4.val.i.i1100, i64 8 - %call4.val.val60.i.i1102 = load i64, ptr %1044, align 8 - %cmp.ptr.null.i.i.i.i.i.i.i.i.i1103 = icmp eq i64 %call4.val.val.i.i1101, 0 - br label %invoke.cont.i.i1104 - -invoke.cont.i.i1104: ; preds = %for.inc.i.i1113, %invoke.cont.lr.ph.i.i1099 - %__begin05.sroa.0.043.i.i1105 = phi ptr [ %classes.val.i.i1096, %invoke.cont.lr.ph.i.i1099 ], [ %incdec.ptr.i.i.i1114, %for.inc.i.i1113 ] - %call14.val.i.i1106 = load ptr, ptr %__begin05.sroa.0.043.i.i1105, align 8 - %1045 = load ptr, ptr %call14.val.i.i1106, align 8 - %.val.i.i1107 = load ptr, ptr %1045, align 8 - %.val.val.i.i1108 = load i64, ptr %.val.i.i1107, align 8 - %1046 = getelementptr i8, ptr %.val.i.i1107, i64 8 - %.val.val61.i.i1109 = load i64, ptr %1046, align 8 - %cmp.ptr.i.i.i.i.i.i.i.i.i1110 = icmp eq i64 %call4.val.val.i.i1101, %.val.val.i.i1108 - %cmp.adj.i.i.i.i.i.i.i.i.i1111 = icmp eq i64 %call4.val.val60.i.i1102, %.val.val61.i.i1109 - %1047 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i1103, %cmp.adj.i.i.i.i.i.i.i.i.i1111 - %memptr.eq.i.i.i.i.i.i.i.i.i1112 = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i1110, %1047 - br i1 %memptr.eq.i.i.i.i.i.i.i.i.i1112, label %if.end23.i.i1120, label %for.inc.i.i1113 - -lpad.loopexit11.i.i1241: ; preds = %for.body66.i.i1235 - %lpad.loopexit12.i.i1242 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i1135 - -lpad.loopexit.split-lp.loopexit.i.i1133: ; preds = %invoke.cont26.i.i1128, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i - %lpad.loopexit15.i.i1134 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i1135 - -lpad.loopexit.split-lp.loopexit.split-lp.i.i1981: ; preds = %for.end255.i.i1980, %if.then48.i.i2078, %if.then.i.i.i.i.invoke.i.i2152 - %lpad.loopexit.split-lp16.i.i1982 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i1135 - -for.inc.i.i1113: ; preds = %invoke.cont.i.i1104 - %incdec.ptr.i.i.i1114 = getelementptr inbounds %"class.std::vector.860", ptr %__begin05.sroa.0.043.i.i1105, i64 1 - %cmp.i103.not.i.i1115 = icmp eq ptr %incdec.ptr.i.i.i1114, %classes.val54.i.i1097 - br i1 %cmp.i103.not.i.i1115, label %if.then19.i.i1116, label %invoke.cont.i.i1104 - -if.then19.i.i1116: ; preds = %for.inc.i.i1113, %for.body.i.i1092 - %1048 = load ptr, ptr %_M_end_of_storage.i.i.i1086, align 8, !noalias !1536 - %cmp.not.i.i.i1117 = icmp eq ptr %classes.val54.i.i1097, %1048 - br i1 %cmp.not.i.i.i1117, label %if.else.i.i.i2154, label %if.then.i.i.i1118 - -if.then.i.i.i1118: ; preds = %if.then19.i.i1116 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i1097, i8 0, i64 24, i1 false) - %incdec.ptr.i104.i.i1119 = getelementptr inbounds %"class.std::vector.860", ptr %classes.val54.i.i1097, i64 1 - store ptr %incdec.ptr.i104.i.i1119, ptr %1043, align 8, !noalias !1536 - br label %if.end23.i.i1120 - -if.else.i.i.i2154: ; preds = %if.then19.i.i1116 - %sub.ptr.lhs.cast.i.i.i.i.i.i2155 = ptrtoint ptr %classes.val54.i.i1097 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i2156 = ptrtoint ptr %classes.val.i.i1096 to i64 - %sub.ptr.sub.i.i.i.i.i.i2157 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i2155, %sub.ptr.rhs.cast.i.i.i.i.i.i2156 - %cmp.i.i.i.i.i2158 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i2157, 9223372036854775800 - br i1 %cmp.i.i.i.i.i2158, label %if.then.i.i.i.i.invoke.i.i2152, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - -_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i2154 - %sub.ptr.div.i.i.i.i.i.i2159 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i2157, 24 - %.sroa.speculated.i.i.i.i.i2160 = select i1 %cmp.i103.not42.i.i1098, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i2159 - %add.i.i.i.i.i2161 = add nsw i64 %.sroa.speculated.i.i.i.i.i2160, %sub.ptr.div.i.i.i.i.i.i2159 - %cmp7.i.i.i.i.i2162 = icmp ult i64 %add.i.i.i.i.i2161, %sub.ptr.div.i.i.i.i.i.i2159 - %cmp9.i.i.i.i.i2163 = icmp ugt i64 %add.i.i.i.i.i2161, 384307168202282325 - %or.cond.i.i.i.i.i2164 = or i1 %cmp7.i.i.i.i.i2162, %cmp9.i.i.i.i.i2163 - %cond.i.i.i.i.i2165 = select i1 %or.cond.i.i.i.i.i2164, i64 384307168202282325, i64 %add.i.i.i.i.i2161 - %cmp.not.i.i.i.i.i2166 = icmp eq i64 %cond.i.i.i.i.i2165, 0 - br i1 %cmp.not.i.i.i.i.i2166, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %this.repack3.i.i.i.i1030 = getelementptr inbounds i8, ptr %ref.tmp135, i64 40 + store i64 0, ptr %this.repack3.i.i.i.i1030, align 8, !alias.scope !1525 + %call5.i.i.i.i5.i6.i.i.i1082 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1528 + store ptr %1042, ptr %call5.i.i.i.i5.i6.i.i.i1082, align 8, !noalias !1528 + %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1083 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1082, i64 8 + store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1083, align 8, !noalias !1528 + %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1084 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1082, i64 16 + store ptr %1041, ptr %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1084, align 8, !noalias !1528 + %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1085 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1082, i64 24 + store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1085, align 8, !noalias !1528 + %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1086 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1082, i64 32 + store ptr %ref.tmp135, ptr %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1086, align 8, !noalias !1528 + %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1087 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1082, i64 40 + store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i1087, align 8, !noalias !1528 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i1056), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i1057), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i1058), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i1059), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i1060), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i1061), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i1062), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i1063), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i1064), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i1065), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i1066), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i1067), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i1068), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i1069), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i1070), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i1071), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i1072), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i1073), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i1074), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i1075), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i1076), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i1077), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i1078), !noalias !1535 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i1079), !noalias !1535 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i1056, i8 0, i64 24, i1 false), !noalias !1536 + %1043 = getelementptr inbounds i8, ptr %classes.i.i1056, i64 8 + %_M_end_of_storage.i.i.i1088 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.838", ptr %classes.i.i1056, i64 0, i32 2 + %moved_from_.i.i.i1089 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i1058, i64 0, i32 2 + %_M_engaged.i.i.i.i.i.i.i.i1090 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i1057, i64 0, i32 1 + %error_.i.i.i1091 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i1058, i64 0, i32 1 + %_M_refcount.i.i.i.i.i1092 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i1058, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i119.i.i1093 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i1058, i64 0, i32 1 + br label %for.body.i.i1094 + +for.cond.i.i1213: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1167 + %__begin0.sroa.0.045.i.add.i1214 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i1096, 16 + %cmp.i.not.i.i1215 = icmp eq i64 %__begin0.sroa.0.045.i.add.i1214, 48 + br i1 %cmp.i.not.i.i1215, label %for.end45.i.i1216, label %for.body.i.i1094 + +for.body.i.i1094: ; preds = %for.cond.i.i1213, %_ZN7testing15AssertionResultD2Ev.exit1028 + %i.046.i.i1095 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit1028 ], [ %inc.i.i1131, %for.cond.i.i1213 ] + %__begin0.sroa.0.045.i.idx.i1096 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit1028 ], [ %__begin0.sroa.0.045.i.add.i1214, %for.cond.i.i1213 ] + %__begin0.sroa.0.045.i.ptr.i1097 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i1082, i64 %__begin0.sroa.0.045.i.idx.i1096 + %classes.val.i.i1098 = load ptr, ptr %classes.i.i1056, align 8, !noalias !1536 + %classes.val54.i.i1099 = load ptr, ptr %1043, align 8, !noalias !1536 + %cmp.i103.not42.i.i1100 = icmp eq ptr %classes.val.i.i1098, %classes.val54.i.i1099 + br i1 %cmp.i103.not42.i.i1100, label %if.then19.i.i1118, label %invoke.cont.lr.ph.i.i1101 + +invoke.cont.lr.ph.i.i1101: ; preds = %for.body.i.i1094 + %call4.val.i.i1102 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i1097, align 8, !noalias !1539 + %call4.val.val.i.i1103 = load i64, ptr %call4.val.i.i1102, align 8 + %1044 = getelementptr i8, ptr %call4.val.i.i1102, i64 8 + %call4.val.val60.i.i1104 = load i64, ptr %1044, align 8 + %cmp.ptr.null.i.i.i.i.i.i.i.i.i1105 = icmp eq i64 %call4.val.val.i.i1103, 0 + br label %invoke.cont.i.i1106 + +invoke.cont.i.i1106: ; preds = %for.inc.i.i1115, %invoke.cont.lr.ph.i.i1101 + %__begin05.sroa.0.043.i.i1107 = phi ptr [ %classes.val.i.i1098, %invoke.cont.lr.ph.i.i1101 ], [ %incdec.ptr.i.i.i1116, %for.inc.i.i1115 ] + %call14.val.i.i1108 = load ptr, ptr %__begin05.sroa.0.043.i.i1107, align 8 + %1045 = load ptr, ptr %call14.val.i.i1108, align 8 + %.val.i.i1109 = load ptr, ptr %1045, align 8 + %.val.val.i.i1110 = load i64, ptr %.val.i.i1109, align 8 + %1046 = getelementptr i8, ptr %.val.i.i1109, i64 8 + %.val.val61.i.i1111 = load i64, ptr %1046, align 8 + %cmp.ptr.i.i.i.i.i.i.i.i.i1112 = icmp eq i64 %call4.val.val.i.i1103, %.val.val.i.i1110 + %cmp.adj.i.i.i.i.i.i.i.i.i1113 = icmp eq i64 %call4.val.val60.i.i1104, %.val.val61.i.i1111 + %1047 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i1105, %cmp.adj.i.i.i.i.i.i.i.i.i1113 + %memptr.eq.i.i.i.i.i.i.i.i.i1114 = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i1112, %1047 + br i1 %memptr.eq.i.i.i.i.i.i.i.i.i1114, label %if.end23.i.i1122, label %for.inc.i.i1115 + +lpad.loopexit11.i.i1243: ; preds = %for.body66.i.i1237 + %lpad.loopexit12.i.i1244 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i1137 + +lpad.loopexit.split-lp.loopexit.i.i1135: ; preds = %invoke.cont26.i.i1130, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %lpad.loopexit15.i.i1136 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i1137 + +lpad.loopexit.split-lp.loopexit.split-lp.i.i1983: ; preds = %for.end255.i.i1982, %if.then48.i.i2080, %if.then.i.i.i.i.invoke.i.i2155 + %lpad.loopexit.split-lp16.i.i1984 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i1137 + +for.inc.i.i1115: ; preds = %invoke.cont.i.i1106 + %incdec.ptr.i.i.i1116 = getelementptr inbounds %"class.std::vector.860", ptr %__begin05.sroa.0.043.i.i1107, i64 1 + %cmp.i103.not.i.i1117 = icmp eq ptr %incdec.ptr.i.i.i1116, %classes.val54.i.i1099 + br i1 %cmp.i103.not.i.i1117, label %if.then19.i.i1118, label %invoke.cont.i.i1106 + +if.then19.i.i1118: ; preds = %for.inc.i.i1115, %for.body.i.i1094 + %1048 = load ptr, ptr %_M_end_of_storage.i.i.i1088, align 8, !noalias !1536 + %cmp.not.i.i.i1119 = icmp eq ptr %classes.val54.i.i1099, %1048 + br i1 %cmp.not.i.i.i1119, label %if.else.i.i.i2157, label %if.then.i.i.i1120 + +if.then.i.i.i1120: ; preds = %if.then19.i.i1118 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i1099, i8 0, i64 24, i1 false) + %incdec.ptr.i104.i.i1121 = getelementptr inbounds %"class.std::vector.860", ptr %classes.val54.i.i1099, i64 1 + store ptr %incdec.ptr.i104.i.i1121, ptr %1043, align 8, !noalias !1536 + br label %if.end23.i.i1122 + +if.else.i.i.i2157: ; preds = %if.then19.i.i1118 + %sub.ptr.lhs.cast.i.i.i.i.i.i2158 = ptrtoint ptr %classes.val54.i.i1099 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i2159 = ptrtoint ptr %classes.val.i.i1098 to i64 + %sub.ptr.sub.i.i.i.i.i.i2160 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i2158, %sub.ptr.rhs.cast.i.i.i.i.i.i2159 + %cmp.i.i.i.i.i2161 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i2160, 9223372036854775800 + br i1 %cmp.i.i.i.i.i2161, label %if.then.i.i.i.i.invoke.i.i2155, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i + +_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i2157 + %sub.ptr.div.i.i.i.i.i.i2162 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i2160, 24 + %.sroa.speculated.i.i.i.i.i2163 = select i1 %cmp.i103.not42.i.i1100, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i2162 + %add.i.i.i.i.i2164 = add nsw i64 %.sroa.speculated.i.i.i.i.i2163, %sub.ptr.div.i.i.i.i.i.i2162 + %cmp7.i.i.i.i.i2165 = icmp ult i64 %add.i.i.i.i.i2164, %sub.ptr.div.i.i.i.i.i.i2162 + %cmp9.i.i.i.i.i2166 = icmp ugt i64 %add.i.i.i.i.i2164, 384307168202282325 + %or.cond.i.i.i.i.i2167 = or i1 %cmp7.i.i.i.i.i2165, %cmp9.i.i.i.i.i2166 + %cond.i.i.i.i.i2168 = select i1 %or.cond.i.i.i.i.i2167, i64 384307168202282325, i64 %add.i.i.i.i.i2164 + %cmp.not.i.i.i.i.i2169 = icmp eq i64 %cond.i.i.i.i.i2168, 0 + br i1 %cmp.not.i.i.i.i.i2169, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %mul.i.i.i.i.i.i.i2167 = mul nuw nsw i64 %cond.i.i.i.i.i2165, 24 - %call5.i.i.i.i.i105.i.i2168 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i2167) #34 - to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i1133 + %mul.i.i.i.i.i.i.i2170 = mul nuw nsw i64 %cond.i.i.i.i.i2168, 24 + %call5.i.i.i.i.i105.i.i2171 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i2170) #34 + to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i1135 _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i12.i.i.i.i2169 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i2168, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] - %add.ptr.i.i.i.i2170 = getelementptr inbounds %"class.std::vector.860", ptr %cond.i12.i.i.i.i2169, i64 %sub.ptr.div.i.i.i.i.i.i2159 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i2170, i8 0, i64 24, i1 false) - br i1 %cmp.i103.not42.i.i1098, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i2171 - -for.body.i.i.i.i.i.i.i2171: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i2171 - %__cur.03.i.i.i.i.i.i.i2172 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i2179, %for.body.i.i.i.i.i.i.i2171 ], [ %cond.i12.i.i.i.i2169, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i2173 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i2178, %for.body.i.i.i.i.i.i.i2171 ], [ %classes.val.i.i1096, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %cond.i12.i.i.i.i2172 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i2171, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] + %add.ptr.i.i.i.i2173 = getelementptr inbounds %"class.std::vector.860", ptr %cond.i12.i.i.i.i2172, i64 %sub.ptr.div.i.i.i.i.i.i2162 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i2173, i8 0, i64 24, i1 false) + br i1 %cmp.i103.not42.i.i1100, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i2174 + +for.body.i.i.i.i.i.i.i2174: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i2174 + %__cur.03.i.i.i.i.i.i.i2175 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i2182, %for.body.i.i.i.i.i.i.i2174 ], [ %cond.i12.i.i.i.i2172, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i2176 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i2181, %for.body.i.i.i.i.i.i.i2174 ], [ %classes.val.i.i1098, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !1540) call void @llvm.experimental.noalias.scope.decl(metadata !1543) - %1049 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i2173, align 8, !alias.scope !1543, !noalias !1540 - store <2 x ptr> %1049, ptr %__cur.03.i.i.i.i.i.i.i2172, align 8, !alias.scope !1540, !noalias !1543 - %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i2176 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.866", ptr %__cur.03.i.i.i.i.i.i.i2172, i64 0, i32 2 - %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i2177 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.866", ptr %__first.addr.02.i.i.i.i.i.i.i2173, i64 0, i32 2 - %1050 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i2177, align 8, !alias.scope !1543, !noalias !1540 - store ptr %1050, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i2176, align 8, !alias.scope !1540, !noalias !1543 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i2173, i8 0, i64 24, i1 false), !alias.scope !1543, !noalias !1540 - %incdec.ptr.i.i.i.i.i.i.i2178 = getelementptr inbounds %"class.std::vector.860", ptr %__first.addr.02.i.i.i.i.i.i.i2173, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i2179 = getelementptr inbounds %"class.std::vector.860", ptr %__cur.03.i.i.i.i.i.i.i2172, i64 1 - %cmp.not.i.i.i.i.i.i.i2180 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i2178, %classes.val54.i.i1097 - br i1 %cmp.not.i.i.i.i.i.i.i2180, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i2171, !llvm.loop !1545 - -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i2171, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i2181 = phi ptr [ %cond.i12.i.i.i.i2169, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i2179, %for.body.i.i.i.i.i.i.i2171 ] - %incdec.ptr.i.i.i.i2182 = getelementptr inbounds %"class.std::vector.860", ptr %__cur.0.lcssa.i.i.i.i.i.i.i2181, i64 1 - %tobool.not.i.i.i.i.i2183 = icmp eq ptr %classes.val.i.i1096, null - br i1 %tobool.not.i.i.i.i.i2183, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i2184 - -if.then.i26.i.i.i.i2184: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i1096) #33 + %1049 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i2176, align 8, !alias.scope !1543, !noalias !1540 + store <2 x ptr> %1049, ptr %__cur.03.i.i.i.i.i.i.i2175, align 8, !alias.scope !1540, !noalias !1543 + %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i2179 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.866", ptr %__cur.03.i.i.i.i.i.i.i2175, i64 0, i32 2 + %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i2180 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.866", ptr %__first.addr.02.i.i.i.i.i.i.i2176, i64 0, i32 2 + %1050 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i2180, align 8, !alias.scope !1543, !noalias !1540 + store ptr %1050, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i2179, align 8, !alias.scope !1540, !noalias !1543 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i2176, i8 0, i64 24, i1 false), !alias.scope !1543, !noalias !1540 + %incdec.ptr.i.i.i.i.i.i.i2181 = getelementptr inbounds %"class.std::vector.860", ptr %__first.addr.02.i.i.i.i.i.i.i2176, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i2182 = getelementptr inbounds %"class.std::vector.860", ptr %__cur.03.i.i.i.i.i.i.i2175, i64 1 + %cmp.not.i.i.i.i.i.i.i2183 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i2181, %classes.val54.i.i1099 + br i1 %cmp.not.i.i.i.i.i.i.i2183, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i2174, !llvm.loop !1545 + +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i2174, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i2184 = phi ptr [ %cond.i12.i.i.i.i2172, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i2182, %for.body.i.i.i.i.i.i.i2174 ] + %incdec.ptr.i.i.i.i2185 = getelementptr inbounds %"class.std::vector.860", ptr %__cur.0.lcssa.i.i.i.i.i.i.i2184, i64 1 + %tobool.not.i.i.i.i.i2186 = icmp eq ptr %classes.val.i.i1098, null + br i1 %tobool.not.i.i.i.i.i2186, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i2187 + +if.then.i26.i.i.i.i2187: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i1098) #33 br label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i2184, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - store ptr %cond.i12.i.i.i.i2169, ptr %classes.i.i1054, align 8, !noalias !1536 - store ptr %incdec.ptr.i.i.i.i2182, ptr %1043, align 8, !noalias !1536 - %add.ptr19.i.i.i.i2185 = getelementptr inbounds %"class.std::vector.860", ptr %cond.i12.i.i.i.i2169, i64 %cond.i.i.i.i.i2165 - store ptr %add.ptr19.i.i.i.i2185, ptr %_M_end_of_storage.i.i.i1086, align 8, !noalias !1536 - br label %if.end23.i.i1120 - -if.end23.i.i1120: ; preds = %invoke.cont.i.i1104, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i1118 - %c.1.i.i1121 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i2181, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i1097, %if.then.i.i.i1118 ], [ %__begin05.sroa.0.043.i.i1105, %invoke.cont.i.i1104 ] - %_M_finish.i.i.i.i1122 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.866", ptr %c.1.i.i1121, i64 0, i32 1 - %1051 = load ptr, ptr %_M_finish.i.i.i.i1122, align 8 - %_M_end_of_storage.i.i.i.i1123 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.866", ptr %c.1.i.i1121, i64 0, i32 2 - %1052 = load ptr, ptr %_M_end_of_storage.i.i.i.i1123, align 8 - %cmp.not.i.i.i.i1124 = icmp eq ptr %1051, %1052 - br i1 %cmp.not.i.i.i.i1124, label %if.else.i.i.i.i2126, label %if.then.i.i.i.i1125 - -if.then.i.i.i.i1125: ; preds = %if.end23.i.i1120 - store ptr %__begin0.sroa.0.045.i.ptr.i1095, ptr %1051, align 8 - %ref.tmp24.sroa.3.0..sroa_idx.i.i1126 = getelementptr inbounds i8, ptr %1051, i64 8 - store i64 %i.046.i.i1093, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i1126, align 8 - %1053 = load ptr, ptr %_M_finish.i.i.i.i1122, align 8 - %incdec.ptr.i.i107.i.i1127 = getelementptr inbounds %struct.Info.867, ptr %1053, i64 1 - store ptr %incdec.ptr.i.i107.i.i1127, ptr %_M_finish.i.i.i.i1122, align 8 - br label %invoke.cont26.i.i1128 - -if.else.i.i.i.i2126: ; preds = %if.end23.i.i1120 - %this.val.i.i.i.i.i2127 = load ptr, ptr %c.1.i.i1121, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i2128 = ptrtoint ptr %1051 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i2129 = ptrtoint ptr %this.val.i.i.i.i.i2127 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i2130 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i2128, %sub.ptr.rhs.cast.i.i.i.i.i.i.i2129 - %cmp.i.i.i.i108.i.i2131 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i2130, 9223372036854775792 - br i1 %cmp.i.i.i.i108.i.i2131, label %if.then.i.i.i.i.invoke.i.i2152, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - -if.then.i.i.i.i.invoke.i.i2152: ; preds = %if.else.i.i.i.i2126, %if.else.i.i.i2154 +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i2187, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + store ptr %cond.i12.i.i.i.i2172, ptr %classes.i.i1056, align 8, !noalias !1536 + store ptr %incdec.ptr.i.i.i.i2185, ptr %1043, align 8, !noalias !1536 + %add.ptr19.i.i.i.i2188 = getelementptr inbounds %"class.std::vector.860", ptr %cond.i12.i.i.i.i2172, i64 %cond.i.i.i.i.i2168 + store ptr %add.ptr19.i.i.i.i2188, ptr %_M_end_of_storage.i.i.i1088, align 8, !noalias !1536 + br label %if.end23.i.i1122 + +if.end23.i.i1122: ; preds = %invoke.cont.i.i1106, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i1120 + %c.1.i.i1123 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i2184, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i1099, %if.then.i.i.i1120 ], [ %__begin05.sroa.0.043.i.i1107, %invoke.cont.i.i1106 ] + %_M_finish.i.i.i.i1124 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.866", ptr %c.1.i.i1123, i64 0, i32 1 + %1051 = load ptr, ptr %_M_finish.i.i.i.i1124, align 8 + %_M_end_of_storage.i.i.i.i1125 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.866", ptr %c.1.i.i1123, i64 0, i32 2 + %1052 = load ptr, ptr %_M_end_of_storage.i.i.i.i1125, align 8 + %cmp.not.i.i.i.i1126 = icmp eq ptr %1051, %1052 + br i1 %cmp.not.i.i.i.i1126, label %if.else.i.i.i.i2128, label %if.then.i.i.i.i1127 + +if.then.i.i.i.i1127: ; preds = %if.end23.i.i1122 + store ptr %__begin0.sroa.0.045.i.ptr.i1097, ptr %1051, align 8 + %ref.tmp24.sroa.3.0..sroa_idx.i.i1128 = getelementptr inbounds i8, ptr %1051, i64 8 + store i64 %i.046.i.i1095, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i1128, align 8 + %1053 = load ptr, ptr %_M_finish.i.i.i.i1124, align 8 + %incdec.ptr.i.i107.i.i1129 = getelementptr inbounds %struct.Info.867, ptr %1053, i64 1 + store ptr %incdec.ptr.i.i107.i.i1129, ptr %_M_finish.i.i.i.i1124, align 8 + br label %invoke.cont26.i.i1130 + +if.else.i.i.i.i2128: ; preds = %if.end23.i.i1122 + %this.val.i.i.i.i.i2129 = load ptr, ptr %c.1.i.i1123, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i2130 = ptrtoint ptr %1051 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i2131 = ptrtoint ptr %this.val.i.i.i.i.i2129 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i2132 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i2130, %sub.ptr.rhs.cast.i.i.i.i.i.i.i2131 + %cmp.i.i.i.i108.i.i2133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i2132, 9223372036854775792 + br i1 %cmp.i.i.i.i108.i.i2133, label %if.then.i.i.i.i.invoke.i.i2155, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + +if.then.i.i.i.i.invoke.i.i2155: ; preds = %if.else.i.i.i.i2128, %if.else.i.i.i2157 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.117) #32 - to label %if.then.i.i.i.i.cont.i.i2153 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i1981 + to label %if.then.i.i.i.i.cont.i.i2156 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i1983 -if.then.i.i.i.i.cont.i.i2153: ; preds = %if.then.i.i.i.i.invoke.i.i2152 +if.then.i.i.i.i.cont.i.i2156: ; preds = %if.then.i.i.i.i.invoke.i.i2155 unreachable -_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i2126 - %sub.ptr.div.i.i.i.i.i.i.i2132 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i2130, 4 - %cmp.i.i.i.i.i.i.i2133 = icmp eq ptr %1051, %this.val.i.i.i.i.i2127 - %.sroa.speculated.i.i.i.i.i.i2134 = select i1 %cmp.i.i.i.i.i.i.i2133, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i2132 - %add.i.i.i.i.i.i2135 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i2134, %sub.ptr.div.i.i.i.i.i.i.i2132 - %cmp7.i.i.i.i.i.i2136 = icmp ult i64 %add.i.i.i.i.i.i2135, %sub.ptr.div.i.i.i.i.i.i.i2132 - %cmp9.i.i.i.i.i.i2137 = icmp ugt i64 %add.i.i.i.i.i.i2135, 576460752303423487 - %or.cond.i.i.i.i.i.i2138 = or i1 %cmp7.i.i.i.i.i.i2136, %cmp9.i.i.i.i.i.i2137 - %cond.i.i.i.i.i.i2139 = select i1 %or.cond.i.i.i.i.i.i2138, i64 576460752303423487, i64 %add.i.i.i.i.i.i2135 - %cmp.not.i.i.i.i.i.i2140 = icmp eq i64 %cond.i.i.i.i.i.i2139, 0 - br i1 %cmp.not.i.i.i.i.i.i2140, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i +_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i2128 + %sub.ptr.div.i.i.i.i.i.i.i2134 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i2132, 4 + %cmp.i.i.i.i.i.i.i2135 = icmp eq ptr %1051, %this.val.i.i.i.i.i2129 + %.sroa.speculated.i.i.i.i.i.i2136 = select i1 %cmp.i.i.i.i.i.i.i2135, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i2134 + %add.i.i.i.i.i.i2137 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i2136, %sub.ptr.div.i.i.i.i.i.i.i2134 + %cmp7.i.i.i.i.i.i2138 = icmp ult i64 %add.i.i.i.i.i.i2137, %sub.ptr.div.i.i.i.i.i.i.i2134 + %cmp9.i.i.i.i.i.i2139 = icmp ugt i64 %add.i.i.i.i.i.i2137, 576460752303423487 + %or.cond.i.i.i.i.i.i2140 = or i1 %cmp7.i.i.i.i.i.i2138, %cmp9.i.i.i.i.i.i2139 + %cond.i.i.i.i.i.i2141 = select i1 %or.cond.i.i.i.i.i.i2140, i64 576460752303423487, i64 %add.i.i.i.i.i.i2137 + %cmp.not.i.i.i.i.i.i2142 = icmp eq i64 %cond.i.i.i.i.i.i2141, 0 + br i1 %cmp.not.i.i.i.i.i.i2142, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %mul.i.i.i.i.i.i.i.i2141 = shl nuw nsw i64 %cond.i.i.i.i.i.i2139, 4 - %call5.i.i.i.i.i.i110.i.i2142 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i2141) #34 - to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i1133 + %mul.i.i.i.i.i.i.i.i2143 = shl nuw nsw i64 %cond.i.i.i.i.i.i2141, 4 + %call5.i.i.i.i.i.i110.i.i2144 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i2143) #34 + to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i1135 _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %cond.i12.i.i.i.i.i2143 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i2142, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] - %add.ptr.i.i.i.i.i2144 = getelementptr inbounds %struct.Info.867, ptr %cond.i12.i.i.i.i.i2143, i64 %sub.ptr.div.i.i.i.i.i.i.i2132 - store ptr %__begin0.sroa.0.045.i.ptr.i1095, ptr %add.ptr.i.i.i.i.i2144, align 8 - %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i2145 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i2144, i64 8 - store i64 %i.046.i.i1093, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i2145, align 8 - %cmp.i.i.i13.i.i.i.i.i2146 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i2132, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i2146, label %if.then.i.i.i14.i.i.i.i.i2151, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -if.then.i.i.i14.i.i.i.i.i2151: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i2143, ptr align 8 %this.val.i.i.i.i.i2127, i64 %sub.ptr.sub.i.i.i.i.i.i.i2130, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i2151, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i2147 = getelementptr inbounds %struct.Info.867, ptr %add.ptr.i.i.i.i.i2144, i64 1 - %tobool.not.i.i.i.i.i.i2148 = icmp eq ptr %this.val.i.i.i.i.i2127, null - br i1 %tobool.not.i.i.i.i.i.i2148, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i2149 - -if.then.i23.i.i.i.i.i2149: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i2127) #33 + %cond.i12.i.i.i.i.i2145 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i2144, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i2146 = getelementptr inbounds %struct.Info.867, ptr %cond.i12.i.i.i.i.i2145, i64 %sub.ptr.div.i.i.i.i.i.i.i2134 + store ptr %__begin0.sroa.0.045.i.ptr.i1097, ptr %add.ptr.i.i.i.i.i2146, align 8 + %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i2147 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i2146, i64 8 + store i64 %i.046.i.i1095, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i2147, align 8 + %cmp.i.i.i13.i.i.i.i.i2148 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i2132, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i2148, label %if.then.i.i.i14.i.i.i.i.i2154, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +if.then.i.i.i14.i.i.i.i.i2154: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i2145, ptr align 8 %this.val.i.i.i.i.i2129, i64 %sub.ptr.sub.i.i.i.i.i.i.i2132, i1 false) + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i2154, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i2149 = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i2145, i64 %sub.ptr.sub.i.i.i.i.i.i.i2132 + %incdec.ptr.i.i.i.i.i2150 = getelementptr inbounds %struct.Info.867, ptr %add.ptr.i.i.i.i.i.i.i.i2149, i64 1 + %tobool.not.i.i.i.i.i.i2151 = icmp eq ptr %this.val.i.i.i.i.i2129, null + br i1 %tobool.not.i.i.i.i.i.i2151, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i2152 + +if.then.i22.i.i.i.i.i2152: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i2129) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i2149, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - store ptr %cond.i12.i.i.i.i.i2143, ptr %c.1.i.i1121, align 8 - store ptr %incdec.ptr.i.i.i.i.i2147, ptr %_M_finish.i.i.i.i1122, align 8 - %add.ptr19.i.i.i.i.i2150 = getelementptr inbounds %struct.Info.867, ptr %cond.i12.i.i.i.i.i2143, i64 %cond.i.i.i.i.i.i2139 - store ptr %add.ptr19.i.i.i.i.i2150, ptr %_M_end_of_storage.i.i.i.i1123, align 8 - br label %invoke.cont26.i.i1128 - -invoke.cont26.i.i1128: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i1125 - %1054 = phi ptr [ %add.ptr.i.i.i.i.i2144, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %1053, %if.then.i.i.i.i1125 ] - %inc.i.i1129 = add nuw nsw i64 %i.046.i.i1093, 1 - %call28.val.i.i1130 = load ptr, ptr %1054, align 8 - %call28.val.val.i.i1131 = load ptr, ptr %call28.val.i.i1130, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i1056, ptr %call28.val.val.i.i1131) - to label %invoke.cont29.i.i1137 unwind label %lpad.loopexit.split-lp.loopexit.i.i1133 - -invoke.cont29.i.i1137: ; preds = %invoke.cont26.i.i1128 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i2152, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + store ptr %cond.i12.i.i.i.i.i2145, ptr %c.1.i.i1123, align 8 + store ptr %incdec.ptr.i.i.i.i.i2150, ptr %_M_finish.i.i.i.i1124, align 8 + %add.ptr19.i.i.i.i.i2153 = getelementptr inbounds %struct.Info.867, ptr %cond.i12.i.i.i.i.i2145, i64 %cond.i.i.i.i.i.i2141 + store ptr %add.ptr19.i.i.i.i.i2153, ptr %_M_end_of_storage.i.i.i.i1125, align 8 + br label %invoke.cont26.i.i1130 + +invoke.cont26.i.i1130: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i1127 + %1054 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i2149, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %1053, %if.then.i.i.i.i1127 ] + %inc.i.i1131 = add nuw nsw i64 %i.046.i.i1095, 1 + %call28.val.i.i1132 = load ptr, ptr %1054, align 8 + %call28.val.val.i.i1133 = load ptr, ptr %call28.val.i.i1132, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i1058, ptr %call28.val.val.i.i1133) + to label %invoke.cont29.i.i1139 unwind label %lpad.loopexit.split-lp.loopexit.i.i1135 + +invoke.cont29.i.i1139: ; preds = %invoke.cont26.i.i1130 call void @llvm.experimental.noalias.scope.decl(metadata !1546) - %1055 = load i8, ptr %moved_from_.i.i.i1087, align 8, !noalias !1549 + %1055 = load i8, ptr %moved_from_.i.i.i1089, align 8, !noalias !1549 %1056 = and i8 %1055, 1 - %tobool.not.i.i.i1138 = icmp eq i8 %1056, 0 - br i1 %tobool.not.i.i.i1138, label %if.end.i.i.i2122, label %if.then.i112.i.i1139 - -if.then.i112.i.i1139: ; preds = %invoke.cont29.i.i1137 - invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1055, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) - to label %return.sink.split.i.i.i1141 unwind label %lpad30.i.i1140 - -if.end.i.i.i2122: ; preds = %invoke.cont29.i.i1137 - %1057 = load ptr, ptr %error_.i.i.i1089, align 8, !noalias !1549 - %_M_engaged.i.i.i.i.i2123 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %1057, i64 0, i32 1 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i1088, align 8, !alias.scope !1546, !noalias !1536 - %1058 = load i8, ptr %_M_engaged.i.i.i.i.i2123, align 8, !noalias !1546 + %tobool.not.i.i.i1140 = icmp eq i8 %1056, 0 + br i1 %tobool.not.i.i.i1140, label %if.end.i.i.i2124, label %if.then.i112.i.i1141 + +if.then.i112.i.i1141: ; preds = %invoke.cont29.i.i1139 + invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1057, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) + to label %return.sink.split.i.i.i1143 unwind label %lpad30.i.i1142 + +if.end.i.i.i2124: ; preds = %invoke.cont29.i.i1139 + %1057 = load ptr, ptr %error_.i.i.i1091, align 8, !noalias !1549 + %_M_engaged.i.i.i.i.i2125 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %1057, i64 0, i32 1 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i1090, align 8, !alias.scope !1546, !noalias !1536 + %1058 = load i8, ptr %_M_engaged.i.i.i.i.i2125, align 8, !noalias !1546 %1059 = and i8 %1058, 1 - %tobool.not.i.i.i.i.i.i.i.i2124 = icmp eq i8 %1059, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i2124, label %invoke.cont31.i.i1142, label %if.then.i.i.i.i.i.i.i.i2125 - -if.then.i.i.i.i.i.i.i.i2125: ; preds = %if.end.i.i.i2122 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1055, ptr noundef nonnull align 8 dereferenceable(32) %1057) - to label %return.sink.split.i.i.i1141 unwind label %lpad30.i.i1140 - -return.sink.split.i.i.i1141: ; preds = %if.then.i.i.i.i.i.i.i.i2125, %if.then.i112.i.i1139 - store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i1088, align 8, !alias.scope !1546, !noalias !1536 - br label %invoke.cont31.i.i1142 - -invoke.cont31.i.i1142: ; preds = %return.sink.split.i.i.i1141, %if.end.i.i.i2122 - %1060 = load ptr, ptr %_M_refcount.i.i.i.i.i1090, align 8, !noalias !1536 - %cmp.not.i.i.i.i115.i.i1143 = icmp eq ptr %1060, null - br i1 %cmp.not.i.i.i.i115.i.i1143, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154, label %if.then.i.i.i.i116.i.i1144 - -if.then.i.i.i.i116.i.i1144: ; preds = %invoke.cont31.i.i1142 - %_M_use_count.i.i.i.i.i.i.i1145 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1060, i64 0, i32 1 - %1061 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i1145 acquire, align 8 - %cmp.i.i.i.i.i117.i.i1146 = icmp eq i64 %1061, 4294967297 + %tobool.not.i.i.i.i.i.i.i.i2126 = icmp eq i8 %1059, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i2126, label %invoke.cont31.i.i1144, label %if.then.i.i.i.i.i.i.i.i2127 + +if.then.i.i.i.i.i.i.i.i2127: ; preds = %if.end.i.i.i2124 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1057, ptr noundef nonnull align 8 dereferenceable(32) %1057) + to label %return.sink.split.i.i.i1143 unwind label %lpad30.i.i1142 + +return.sink.split.i.i.i1143: ; preds = %if.then.i.i.i.i.i.i.i.i2127, %if.then.i112.i.i1141 + store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i1090, align 8, !alias.scope !1546, !noalias !1536 + br label %invoke.cont31.i.i1144 + +invoke.cont31.i.i1144: ; preds = %return.sink.split.i.i.i1143, %if.end.i.i.i2124 + %1060 = load ptr, ptr %_M_refcount.i.i.i.i.i1092, align 8, !noalias !1536 + %cmp.not.i.i.i.i115.i.i1145 = icmp eq ptr %1060, null + br i1 %cmp.not.i.i.i.i115.i.i1145, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156, label %if.then.i.i.i.i116.i.i1146 + +if.then.i.i.i.i116.i.i1146: ; preds = %invoke.cont31.i.i1144 + %_M_use_count.i.i.i.i.i.i.i1147 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1060, i64 0, i32 1 + %1061 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i1147 acquire, align 8 + %cmp.i.i.i.i.i117.i.i1148 = icmp eq i64 %1061, 4294967297 %1062 = trunc i64 %1061 to i32 - br i1 %cmp.i.i.i.i.i117.i.i1146, label %if.then.i.i.i.i.i.i.i2118, label %if.end.i.i.i.i.i.i.i1147 - -if.then.i.i.i.i.i.i.i2118: ; preds = %if.then.i.i.i.i116.i.i1144 - store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i1145, align 8 - %_M_weak_count.i.i.i.i.i.i.i2119 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1060, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i2119, align 4 - %vtable.i.i.i.i.i.i.i2120 = load ptr, ptr %1060, align 8 - %vfn.i.i.i.i.i.i.i2121 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i2120, i64 2 - %1063 = load ptr, ptr %vfn.i.i.i.i.i.i.i2121, align 8 + br i1 %cmp.i.i.i.i.i117.i.i1148, label %if.then.i.i.i.i.i.i.i2120, label %if.end.i.i.i.i.i.i.i1149 + +if.then.i.i.i.i.i.i.i2120: ; preds = %if.then.i.i.i.i116.i.i1146 + store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i1147, align 8 + %_M_weak_count.i.i.i.i.i.i.i2121 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1060, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i2121, align 4 + %vtable.i.i.i.i.i.i.i2122 = load ptr, ptr %1060, align 8 + %vfn.i.i.i.i.i.i.i2123 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i2122, i64 2 + %1063 = load ptr, ptr %vfn.i.i.i.i.i.i.i2123, align 8 call void %1063(ptr noundef nonnull align 8 dereferenceable(16) %1060) #30 - br label %if.end8.sink.split.i.i.i.i.i.i.i2113 + br label %if.end8.sink.split.i.i.i.i.i.i.i2115 -if.end.i.i.i.i.i.i.i1147: ; preds = %if.then.i.i.i.i116.i.i1144 +if.end.i.i.i.i.i.i.i1149: ; preds = %if.then.i.i.i.i116.i.i1146 %1064 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i1148 = icmp eq i8 %1064, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i1148, label %if.else.i.i.i.i.i.i.i.i2117, label %if.then.i.i.i.i.i.i118.i.i1149 - -if.then.i.i.i.i.i.i118.i.i1149: ; preds = %if.end.i.i.i.i.i.i.i1147 - %add.i.i.i.i.i.i.i.i1150 = add nsw i32 %1062, -1 - store i32 %add.i.i.i.i.i.i.i.i1150, ptr %_M_use_count.i.i.i.i.i.i.i1145, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1151 - -if.else.i.i.i.i.i.i.i.i2117: ; preds = %if.end.i.i.i.i.i.i.i1147 - %1065 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i1145, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1151 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1151: ; preds = %if.else.i.i.i.i.i.i.i.i2117, %if.then.i.i.i.i.i.i118.i.i1149 - %retval.i.0.i.i.i.i.i.i.i1152 = phi i32 [ %1062, %if.then.i.i.i.i.i.i118.i.i1149 ], [ %1065, %if.else.i.i.i.i.i.i.i.i2117 ] - %cmp6.i.i.i.i.i.i.i1153 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i1152, 1 - br i1 %cmp6.i.i.i.i.i.i.i1153, label %if.then7.i.i.i.i.i.i.i2103, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154 - -if.then7.i.i.i.i.i.i.i2103: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1151 - %vtable.i.i.i.i.i.i.i.i.i2104 = load ptr, ptr %1060, align 8 - %vfn.i.i.i.i.i.i.i.i.i2105 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i2104, i64 2 - %1066 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i2105, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i1150 = icmp eq i8 %1064, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i1150, label %if.else.i.i.i.i.i.i.i.i2119, label %if.then.i.i.i.i.i.i118.i.i1151 + +if.then.i.i.i.i.i.i118.i.i1151: ; preds = %if.end.i.i.i.i.i.i.i1149 + %add.i.i.i.i.i.i.i.i1152 = add nsw i32 %1062, -1 + store i32 %add.i.i.i.i.i.i.i.i1152, ptr %_M_use_count.i.i.i.i.i.i.i1147, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1153 + +if.else.i.i.i.i.i.i.i.i2119: ; preds = %if.end.i.i.i.i.i.i.i1149 + %1065 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i1147, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1153 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1153: ; preds = %if.else.i.i.i.i.i.i.i.i2119, %if.then.i.i.i.i.i.i118.i.i1151 + %retval.i.0.i.i.i.i.i.i.i1154 = phi i32 [ %1062, %if.then.i.i.i.i.i.i118.i.i1151 ], [ %1065, %if.else.i.i.i.i.i.i.i.i2119 ] + %cmp6.i.i.i.i.i.i.i1155 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i1154, 1 + br i1 %cmp6.i.i.i.i.i.i.i1155, label %if.then7.i.i.i.i.i.i.i2105, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156 + +if.then7.i.i.i.i.i.i.i2105: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1153 + %vtable.i.i.i.i.i.i.i.i.i2106 = load ptr, ptr %1060, align 8 + %vfn.i.i.i.i.i.i.i.i.i2107 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i2106, i64 2 + %1066 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i2107, align 8 call void %1066(ptr noundef nonnull align 8 dereferenceable(16) %1060) #30 - %_M_weak_count.i.i.i.i.i.i.i.i.i2106 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1060, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i.i.i2108 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1060, i64 0, i32 2 %1067 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i.i.i2107 = icmp eq i8 %1067, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i2107, label %if.else.i.i.i.i.i.i.i.i.i.i2116, label %if.then.i.i.i.i.i.i.i.i.i.i2108 - -if.then.i.i.i.i.i.i.i.i.i.i2108: ; preds = %if.then7.i.i.i.i.i.i.i2103 - %1068 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i2106, align 4 - %add.i.i.i.i.i.i.i.i.i.i2109 = add nsw i32 %1068, -1 - store i32 %add.i.i.i.i.i.i.i.i.i.i2109, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i2106, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2110 - -if.else.i.i.i.i.i.i.i.i.i.i2116: ; preds = %if.then7.i.i.i.i.i.i.i2103 - %1069 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i2106, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2110 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2110: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i2116, %if.then.i.i.i.i.i.i.i.i.i.i2108 - %retval.i.0.i.i.i.i.i.i.i.i.i2111 = phi i32 [ %1068, %if.then.i.i.i.i.i.i.i.i.i.i2108 ], [ %1069, %if.else.i.i.i.i.i.i.i.i.i.i2116 ] - %cmp.i.i.i.i.i.i.i.i.i2112 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i2111, 1 - br i1 %cmp.i.i.i.i.i.i.i.i.i2112, label %if.end8.sink.split.i.i.i.i.i.i.i2113, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154 - -if.end8.sink.split.i.i.i.i.i.i.i2113: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2110, %if.then.i.i.i.i.i.i.i2118 - %vtable2.i.i.i.i.i.i.i.i.i2114 = load ptr, ptr %1060, align 8 - %vfn3.i.i.i.i.i.i.i.i.i2115 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i2114, i64 3 - %1070 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i2115, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i.i.i2109 = icmp eq i8 %1067, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i2109, label %if.else.i.i.i.i.i.i.i.i.i.i2118, label %if.then.i.i.i.i.i.i.i.i.i.i2110 + +if.then.i.i.i.i.i.i.i.i.i.i2110: ; preds = %if.then7.i.i.i.i.i.i.i2105 + %1068 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i2108, align 4 + %add.i.i.i.i.i.i.i.i.i.i2111 = add nsw i32 %1068, -1 + store i32 %add.i.i.i.i.i.i.i.i.i.i2111, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i2108, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2112 + +if.else.i.i.i.i.i.i.i.i.i.i2118: ; preds = %if.then7.i.i.i.i.i.i.i2105 + %1069 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i2108, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2112 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2112: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i2118, %if.then.i.i.i.i.i.i.i.i.i.i2110 + %retval.i.0.i.i.i.i.i.i.i.i.i2113 = phi i32 [ %1068, %if.then.i.i.i.i.i.i.i.i.i.i2110 ], [ %1069, %if.else.i.i.i.i.i.i.i.i.i.i2118 ] + %cmp.i.i.i.i.i.i.i.i.i2114 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i2113, 1 + br i1 %cmp.i.i.i.i.i.i.i.i.i2114, label %if.end8.sink.split.i.i.i.i.i.i.i2115, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156 + +if.end8.sink.split.i.i.i.i.i.i.i2115: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2112, %if.then.i.i.i.i.i.i.i2120 + %vtable2.i.i.i.i.i.i.i.i.i2116 = load ptr, ptr %1060, align 8 + %vfn3.i.i.i.i.i.i.i.i.i2117 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i2116, i64 3 + %1070 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i2117, align 8 call void %1070(ptr noundef nonnull align 8 dereferenceable(16) %1060) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i2113, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2110, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1151, %invoke.cont31.i.i1142 - %1071 = load ptr, ptr %ref.tmp27.i.i1056, align 8, !noalias !1536 - %1072 = load ptr, ptr %_M_finish.i.i119.i.i1091, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i.i.i1155 = icmp eq ptr %1071, %1072 - br i1 %cmp.not3.i.i.i.i.i.i.i1155, label %invoke.cont.i.i.i.i1162, label %for.body.i.i.i.i.i120.i.i1156 - -for.body.i.i.i.i.i120.i.i1156: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154, %for.body.i.i.i.i.i120.i.i1156 - %__first.addr.04.i.i.i.i.i.i.i1157 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i1158, %for.body.i.i.i.i.i120.i.i1156 ], [ %1071, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i1157) #30 - %incdec.ptr.i.i.i.i.i121.i.i1158 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i1157, i64 1 - %cmp.not.i.i.i.i.i122.i.i1159 = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i1158, %1072 - br i1 %cmp.not.i.i.i.i.i122.i.i1159, label %invoke.contthread-pre-split.i.i.i.i1160, label %for.body.i.i.i.i.i120.i.i1156, !llvm.loop !8 - -invoke.contthread-pre-split.i.i.i.i1160: ; preds = %for.body.i.i.i.i.i120.i.i1156 - %.pr.i.i.i.i1161 = load ptr, ptr %ref.tmp27.i.i1056, align 8, !noalias !1536 - br label %invoke.cont.i.i.i.i1162 - -invoke.cont.i.i.i.i1162: ; preds = %invoke.contthread-pre-split.i.i.i.i1160, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154 - %1073 = phi ptr [ %.pr.i.i.i.i1161, %invoke.contthread-pre-split.i.i.i.i1160 ], [ %1071, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1154 ] - %tobool.not.i.i.i.i123.i.i1163 = icmp eq ptr %1073, null - br i1 %tobool.not.i.i.i.i123.i.i1163, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1165, label %if.then.i.i.i1.i.i.i1164 - -if.then.i.i.i1.i.i.i1164: ; preds = %invoke.cont.i.i.i.i1162 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i2115, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i2112, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i1153, %invoke.cont31.i.i1144 + %1071 = load ptr, ptr %ref.tmp27.i.i1058, align 8, !noalias !1536 + %1072 = load ptr, ptr %_M_finish.i.i119.i.i1093, align 8, !noalias !1536 + %cmp.not3.i.i.i.i.i.i.i1157 = icmp eq ptr %1071, %1072 + br i1 %cmp.not3.i.i.i.i.i.i.i1157, label %invoke.cont.i.i.i.i1164, label %for.body.i.i.i.i.i120.i.i1158 + +for.body.i.i.i.i.i120.i.i1158: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156, %for.body.i.i.i.i.i120.i.i1158 + %__first.addr.04.i.i.i.i.i.i.i1159 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i1160, %for.body.i.i.i.i.i120.i.i1158 ], [ %1071, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i1159) #30 + %incdec.ptr.i.i.i.i.i121.i.i1160 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i1159, i64 1 + %cmp.not.i.i.i.i.i122.i.i1161 = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i1160, %1072 + br i1 %cmp.not.i.i.i.i.i122.i.i1161, label %invoke.contthread-pre-split.i.i.i.i1162, label %for.body.i.i.i.i.i120.i.i1158, !llvm.loop !8 + +invoke.contthread-pre-split.i.i.i.i1162: ; preds = %for.body.i.i.i.i.i120.i.i1158 + %.pr.i.i.i.i1163 = load ptr, ptr %ref.tmp27.i.i1058, align 8, !noalias !1536 + br label %invoke.cont.i.i.i.i1164 + +invoke.cont.i.i.i.i1164: ; preds = %invoke.contthread-pre-split.i.i.i.i1162, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156 + %1073 = phi ptr [ %.pr.i.i.i.i1163, %invoke.contthread-pre-split.i.i.i.i1162 ], [ %1071, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i1156 ] + %tobool.not.i.i.i.i123.i.i1165 = icmp eq ptr %1073, null + br i1 %tobool.not.i.i.i.i123.i.i1165, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1167, label %if.then.i.i.i1.i.i.i1166 + +if.then.i.i.i1.i.i.i1166: ; preds = %invoke.cont.i.i.i.i1164 call void @_ZdlPv(ptr noundef nonnull %1073) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1165 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1167 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1165: ; preds = %if.then.i.i.i1.i.i.i1164, %invoke.cont.i.i.i.i1162 - %1074 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i1088, align 8, !noalias !1536 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1167: ; preds = %if.then.i.i.i1.i.i.i1166, %invoke.cont.i.i.i.i1164 + %1074 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i1090, align 8, !noalias !1536 %1075 = and i8 %1074, 1 - %tobool.i.i.not.i.i1166 = icmp eq i8 %1075, 0 - br i1 %tobool.i.i.not.i.i1166, label %for.cond.i.i1211, label %if.then33.i.i1167 - -if.then33.i.i1167: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1165 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i1057) - to label %invoke.cont36.i.i1173 unwind label %lpad35.i.i1168 - -invoke.cont36.i.i1173: ; preds = %if.then33.i.i1167 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i1053), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i1053) - to label %.noexc126.i.i1177 unwind label %lpad38.i.i1174 - -.noexc126.i.i1177: ; preds = %invoke.cont36.i.i1173 - %1076 = load ptr, ptr %ref.tmp.i.i.i1053, align 8, !noalias !1536 - %add.ptr.i.i124.i.i1178 = getelementptr inbounds i8, ptr %1076, i64 16 - %call2.i1.i.i.i1179 = 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) %add.ptr.i.i124.i.i1178, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1055) - to label %invoke.cont.i.i.i1185 unwind label %lpad.i.i.i1180 - -invoke.cont.i.i.i1185: ; preds = %.noexc126.i.i1177 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i1057, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i1053) - to label %invoke.cont2.i.i.i1186 unwind label %lpad.i.i.i1180 - -invoke.cont2.i.i.i1186: ; preds = %invoke.cont.i.i.i1185 - %1077 = load ptr, ptr %ref.tmp.i.i.i1053, align 8, !noalias !1536 - %cmp.not.i.i.i125.i.i1187 = icmp eq ptr %1077, null - br i1 %cmp.not.i.i.i125.i.i1187, label %invoke.cont39.i.i1191, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i1188 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i1188: ; preds = %invoke.cont2.i.i.i1186 - %vtable.i.i.i.i.i.i1189 = load ptr, ptr %1077, align 8 - %vfn.i.i.i.i.i.i1190 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i1189, i64 1 - %1078 = load ptr, ptr %vfn.i.i.i.i.i.i1190, align 8 + %tobool.i.i.not.i.i1168 = icmp eq i8 %1075, 0 + br i1 %tobool.i.i.not.i.i1168, label %for.cond.i.i1213, label %if.then33.i.i1169 + +if.then33.i.i1169: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i1167 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i1059) + to label %invoke.cont36.i.i1175 unwind label %lpad35.i.i1170 + +invoke.cont36.i.i1175: ; preds = %if.then33.i.i1169 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i1055), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i1055) + to label %.noexc126.i.i1179 unwind label %lpad38.i.i1176 + +.noexc126.i.i1179: ; preds = %invoke.cont36.i.i1175 + %1076 = load ptr, ptr %ref.tmp.i.i.i1055, align 8, !noalias !1536 + %add.ptr.i.i124.i.i1180 = getelementptr inbounds i8, ptr %1076, i64 16 + %call2.i1.i.i.i1181 = 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) %add.ptr.i.i124.i.i1180, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1057) + to label %invoke.cont.i.i.i1187 unwind label %lpad.i.i.i1182 + +invoke.cont.i.i.i1187: ; preds = %.noexc126.i.i1179 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i1059, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i1055) + to label %invoke.cont2.i.i.i1188 unwind label %lpad.i.i.i1182 + +invoke.cont2.i.i.i1188: ; preds = %invoke.cont.i.i.i1187 + %1077 = load ptr, ptr %ref.tmp.i.i.i1055, align 8, !noalias !1536 + %cmp.not.i.i.i125.i.i1189 = icmp eq ptr %1077, null + br i1 %cmp.not.i.i.i125.i.i1189, label %invoke.cont39.i.i1193, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i1190 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i1190: ; preds = %invoke.cont2.i.i.i1188 + %vtable.i.i.i.i.i.i1191 = load ptr, ptr %1077, align 8 + %vfn.i.i.i.i.i.i1192 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i1191, i64 1 + %1078 = load ptr, ptr %vfn.i.i.i.i.i.i1192, align 8 call void %1078(ptr noundef nonnull align 8 dereferenceable(128) %1077) #30 - br label %invoke.cont39.i.i1191 + br label %invoke.cont39.i.i1193 -lpad.i.i.i1180: ; preds = %invoke.cont.i.i.i1185, %.noexc126.i.i1177 +lpad.i.i.i1182: ; preds = %invoke.cont.i.i.i1187, %.noexc126.i.i1179 %1079 = landingpad { ptr, i32 } cleanup - %1080 = load ptr, ptr %ref.tmp.i.i.i1053, align 8, !noalias !1536 - %cmp.not.i.i2.i.i.i1181 = icmp eq ptr %1080, null - br i1 %cmp.not.i.i2.i.i.i1181, label %lpad38.body.i.i1175, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i1182 + %1080 = load ptr, ptr %ref.tmp.i.i.i1055, align 8, !noalias !1536 + %cmp.not.i.i2.i.i.i1183 = icmp eq ptr %1080, null + br i1 %cmp.not.i.i2.i.i.i1183, label %lpad38.body.i.i1177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i1184 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i1182: ; preds = %lpad.i.i.i1180 - %vtable.i.i.i4.i.i.i1183 = load ptr, ptr %1080, align 8 - %vfn.i.i.i5.i.i.i1184 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i1183, i64 1 - %1081 = load ptr, ptr %vfn.i.i.i5.i.i.i1184, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i1184: ; preds = %lpad.i.i.i1182 + %vtable.i.i.i4.i.i.i1185 = load ptr, ptr %1080, align 8 + %vfn.i.i.i5.i.i.i1186 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i1185, i64 1 + %1081 = load ptr, ptr %vfn.i.i.i5.i.i.i1186, align 8 call void %1081(ptr noundef nonnull align 8 dereferenceable(128) %1080) #30 - br label %lpad38.body.i.i1175 + br label %lpad38.body.i.i1177 -invoke.cont39.i.i1191: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i1188, %invoke.cont2.i.i.i1186 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i1053), !noalias !1536 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i1057) - to label %invoke.cont41.i.i1192 unwind label %lpad38.i.i1174 +invoke.cont39.i.i1193: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i1190, %invoke.cont2.i.i.i1188 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i1055), !noalias !1536 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i1059) + to label %invoke.cont41.i.i1194 unwind label %lpad38.i.i1176 -invoke.cont41.i.i1192: ; preds = %invoke.cont39.i.i1191 - %message_.i.i.i1193 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i1057, i64 0, i32 1 - %1082 = load ptr, ptr %message_.i.i.i1193, align 8, !noalias !1536 - %cmp.not.i.i127.i.i1194 = icmp eq ptr %1082, null - br i1 %cmp.not.i.i127.i.i1194, label %_ZN7testing15AssertionResultD2Ev.exit.i.i1196, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i1195 +invoke.cont41.i.i1194: ; preds = %invoke.cont39.i.i1193 + %message_.i.i.i1195 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i1059, i64 0, i32 1 + %1082 = load ptr, ptr %message_.i.i.i1195, align 8, !noalias !1536 + %cmp.not.i.i127.i.i1196 = icmp eq ptr %1082, null + br i1 %cmp.not.i.i127.i.i1196, label %_ZN7testing15AssertionResultD2Ev.exit.i.i1198, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i1197 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i1195: ; preds = %invoke.cont41.i.i1192 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i1197: ; preds = %invoke.cont41.i.i1194 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1082) #30 call void @_ZdlPv(ptr noundef nonnull %1082) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit.i.i1196 + br label %_ZN7testing15AssertionResultD2Ev.exit.i.i1198 -_ZN7testing15AssertionResultD2Ev.exit.i.i1196: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i1195, %invoke.cont41.i.i1192 - store ptr null, ptr %message_.i.i.i1193, align 8, !noalias !1536 - %1083 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i1088, align 8, !noalias !1536 +_ZN7testing15AssertionResultD2Ev.exit.i.i1198: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i1197, %invoke.cont41.i.i1194 + store ptr null, ptr %message_.i.i.i1195, align 8, !noalias !1536 + %1083 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i1090, align 8, !noalias !1536 %1084 = and i8 %1083, 1 - %tobool.not.i.i.i.i128.i.i1197 = icmp eq i8 %1084, 0 - br i1 %tobool.not.i.i.i.i128.i.i1197, label %cleanup257.i.i1199, label %if.then.i.i.i.i129.i.i1198 + %tobool.not.i.i.i.i128.i.i1199 = icmp eq i8 %1084, 0 + br i1 %tobool.not.i.i.i.i128.i.i1199, label %cleanup257.i.i1201, label %if.then.i.i.i.i129.i.i1200 -if.then.i.i.i.i129.i.i1198: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i1196 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i1088, align 8, !noalias !1536 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1055) #30 - br label %cleanup257.i.i1199 +if.then.i.i.i.i129.i.i1200: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i1198 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i1090, align 8, !noalias !1536 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1057) #30 + br label %cleanup257.i.i1201 -lpad30.i.i1140: ; preds = %if.then.i.i.i.i.i.i.i.i2125, %if.then.i112.i.i1139 +lpad30.i.i1142: ; preds = %if.then.i.i.i.i.i.i.i.i2127, %if.then.i112.i.i1141 %1085 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i1056) #30 - br label %ehcleanup258.i.i1135 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i1058) #30 + br label %ehcleanup258.i.i1137 -lpad35.i.i1168: ; preds = %if.then33.i.i1167 +lpad35.i.i1170: ; preds = %if.then33.i.i1169 %1086 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i.i1169 + br label %ehcleanup.i.i1171 -lpad38.i.i1174: ; preds = %invoke.cont39.i.i1191, %invoke.cont36.i.i1173 +lpad38.i.i1176: ; preds = %invoke.cont39.i.i1193, %invoke.cont36.i.i1175 %1087 = landingpad { ptr, i32 } cleanup - br label %lpad38.body.i.i1175 + br label %lpad38.body.i.i1177 -lpad38.body.i.i1175: ; preds = %lpad38.i.i1174, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i1182, %lpad.i.i.i1180 - %eh.lpad-body.i.i1176 = phi { ptr, i32 } [ %1087, %lpad38.i.i1174 ], [ %1079, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i1182 ], [ %1079, %lpad.i.i.i1180 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i1057) #30 - br label %ehcleanup.i.i1169 +lpad38.body.i.i1177: ; preds = %lpad38.i.i1176, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i1184, %lpad.i.i.i1182 + %eh.lpad-body.i.i1178 = phi { ptr, i32 } [ %1087, %lpad38.i.i1176 ], [ %1079, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i1184 ], [ %1079, %lpad.i.i.i1182 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i1059) #30 + br label %ehcleanup.i.i1171 -ehcleanup.i.i1169: ; preds = %lpad38.body.i.i1175, %lpad35.i.i1168 - %.pn46.i.i1170 = phi { ptr, i32 } [ %eh.lpad-body.i.i1176, %lpad38.body.i.i1175 ], [ %1086, %lpad35.i.i1168 ] - %1088 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i1088, align 8, !noalias !1536 +ehcleanup.i.i1171: ; preds = %lpad38.body.i.i1177, %lpad35.i.i1170 + %.pn46.i.i1172 = phi { ptr, i32 } [ %eh.lpad-body.i.i1178, %lpad38.body.i.i1177 ], [ %1086, %lpad35.i.i1170 ] + %1088 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i1090, align 8, !noalias !1536 %1089 = and i8 %1088, 1 - %tobool.not.i.i.i.i136.i.i1171 = icmp eq i8 %1089, 0 - br i1 %tobool.not.i.i.i.i136.i.i1171, label %ehcleanup258.i.i1135, label %if.then.i.i.i.i137.i.i1172 - -if.then.i.i.i.i137.i.i1172: ; preds = %ehcleanup.i.i1169 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i1088, align 8, !noalias !1536 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1055) #30 - br label %ehcleanup258.i.i1135 - -for.end45.i.i1214: ; preds = %for.cond.i.i1211 - %classes.val62.pre.i.i1215 = load ptr, ptr %classes.i.i1054, align 8, !noalias !1536 - %classes.val63.pre.i.i1216 = load ptr, ptr %1043, align 8, !noalias !1536 - %sub.ptr.lhs.cast.i.i.i1217 = ptrtoint ptr %classes.val63.pre.i.i1216 to i64 - %sub.ptr.rhs.cast.i.i.i1218 = ptrtoint ptr %classes.val62.pre.i.i1215 to i64 - %sub.ptr.sub.i.i.i1219 = sub i64 %sub.ptr.lhs.cast.i.i.i1217, %sub.ptr.rhs.cast.i.i.i1218 - %sub.ptr.div.i.i.i1220 = sdiv exact i64 %sub.ptr.sub.i.i.i1219, 24 - %cmp47.i.i1221 = icmp ult i64 %sub.ptr.div.i.i.i1220, 2 - br i1 %cmp47.i.i1221, label %if.then48.i.i2078, label %for.cond64.preheader.i.i1222 - -for.cond64.preheader.i.i1222: ; preds = %for.end45.i.i1214 - %cmp.i160.not51.i.i1223 = icmp eq ptr %classes.val62.pre.i.i1215, %classes.val63.pre.i.i1216 - br i1 %cmp.i160.not51.i.i1223, label %for.end255.i.i1980, label %for.body66.lr.ph.i.i1224 - -for.body66.lr.ph.i.i1224: ; preds = %for.cond64.preheader.i.i1222 - %_M_refcount.i.i.i163.i.i1225 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i1061, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i176.i.i1226 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i1061, i64 0, i32 1 - %_M_refcount.i.i.i207.i.i1227 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i1060, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i220.i.i1228 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i1060, i64 0, i32 1 - %_M_refcount.i.i.i311.i.i1229 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i1064, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i324.i.i1230 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i1064, i64 0, i32 1 - %_M_refcount.i.i.i735.i.i1231 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i1068, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i748.i.i1232 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i1068, i64 0, i32 1 - %_M_refcount.i.i.i824.i.i1233 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i1059, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i837.i.i1234 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i1059, i64 0, i32 1 - br label %for.body66.i.i1235 - -if.then48.i.i2078: ; preds = %for.end45.i.i1214 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i1058) - to label %invoke.cont50.i.i2079 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i1981 - -invoke.cont50.i.i2079: ; preds = %if.then48.i.i2078 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i1052), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i1052) - to label %.noexc154.i.i2083 unwind label %lpad51.i.i2080 - -.noexc154.i.i2083: ; preds = %invoke.cont50.i.i2079 - %1090 = load ptr, ptr %ref.tmp.i139.i.i1052, align 8, !noalias !1536 - %add.ptr.i.i140.i.i2084 = getelementptr inbounds i8, ptr %1090, i64 16 - %call2.i1.i141.i.i2085 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i2084, ptr noundef nonnull @.str.106) - to label %invoke.cont.i148.i.i2091 unwind label %lpad.i142.i.i2086 - -invoke.cont.i148.i.i2091: ; preds = %.noexc154.i.i2083 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i1058, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i1052) - to label %invoke.cont2.i149.i.i2092 unwind label %lpad.i142.i.i2086 - -invoke.cont2.i149.i.i2092: ; preds = %invoke.cont.i148.i.i2091 - %1091 = load ptr, ptr %ref.tmp.i139.i.i1052, align 8, !noalias !1536 - %cmp.not.i.i.i150.i.i2093 = icmp eq ptr %1091, null - br i1 %cmp.not.i.i.i150.i.i2093, label %invoke.cont52.i.i2097, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i2094 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i2094: ; preds = %invoke.cont2.i149.i.i2092 - %vtable.i.i.i.i152.i.i2095 = load ptr, ptr %1091, align 8 - %vfn.i.i.i.i153.i.i2096 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i2095, i64 1 - %1092 = load ptr, ptr %vfn.i.i.i.i153.i.i2096, align 8 + %tobool.not.i.i.i.i136.i.i1173 = icmp eq i8 %1089, 0 + br i1 %tobool.not.i.i.i.i136.i.i1173, label %ehcleanup258.i.i1137, label %if.then.i.i.i.i137.i.i1174 + +if.then.i.i.i.i137.i.i1174: ; preds = %ehcleanup.i.i1171 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i1090, align 8, !noalias !1536 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i1057) #30 + br label %ehcleanup258.i.i1137 + +for.end45.i.i1216: ; preds = %for.cond.i.i1213 + %classes.val62.pre.i.i1217 = load ptr, ptr %classes.i.i1056, align 8, !noalias !1536 + %classes.val63.pre.i.i1218 = load ptr, ptr %1043, align 8, !noalias !1536 + %sub.ptr.lhs.cast.i.i.i1219 = ptrtoint ptr %classes.val63.pre.i.i1218 to i64 + %sub.ptr.rhs.cast.i.i.i1220 = ptrtoint ptr %classes.val62.pre.i.i1217 to i64 + %sub.ptr.sub.i.i.i1221 = sub i64 %sub.ptr.lhs.cast.i.i.i1219, %sub.ptr.rhs.cast.i.i.i1220 + %sub.ptr.div.i.i.i1222 = sdiv exact i64 %sub.ptr.sub.i.i.i1221, 24 + %cmp47.i.i1223 = icmp ult i64 %sub.ptr.div.i.i.i1222, 2 + br i1 %cmp47.i.i1223, label %if.then48.i.i2080, label %for.cond64.preheader.i.i1224 + +for.cond64.preheader.i.i1224: ; preds = %for.end45.i.i1216 + %cmp.i160.not51.i.i1225 = icmp eq ptr %classes.val62.pre.i.i1217, %classes.val63.pre.i.i1218 + br i1 %cmp.i160.not51.i.i1225, label %for.end255.i.i1982, label %for.body66.lr.ph.i.i1226 + +for.body66.lr.ph.i.i1226: ; preds = %for.cond64.preheader.i.i1224 + %_M_refcount.i.i.i163.i.i1227 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i1063, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i176.i.i1228 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i1063, i64 0, i32 1 + %_M_refcount.i.i.i207.i.i1229 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i1062, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i220.i.i1230 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i1062, i64 0, i32 1 + %_M_refcount.i.i.i311.i.i1231 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i1066, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i324.i.i1232 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i1066, i64 0, i32 1 + %_M_refcount.i.i.i735.i.i1233 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i1070, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i748.i.i1234 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i1070, i64 0, i32 1 + %_M_refcount.i.i.i824.i.i1235 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i1061, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i837.i.i1236 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i1061, i64 0, i32 1 + br label %for.body66.i.i1237 + +if.then48.i.i2080: ; preds = %for.end45.i.i1216 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i1060) + to label %invoke.cont50.i.i2081 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i1983 + +invoke.cont50.i.i2081: ; preds = %if.then48.i.i2080 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i1054), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i1054) + to label %.noexc154.i.i2085 unwind label %lpad51.i.i2082 + +.noexc154.i.i2085: ; preds = %invoke.cont50.i.i2081 + %1090 = load ptr, ptr %ref.tmp.i139.i.i1054, align 8, !noalias !1536 + %add.ptr.i.i140.i.i2086 = getelementptr inbounds i8, ptr %1090, i64 16 + %call2.i1.i141.i.i2087 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i2086, ptr noundef nonnull @.str.106) + to label %invoke.cont.i148.i.i2093 unwind label %lpad.i142.i.i2088 + +invoke.cont.i148.i.i2093: ; preds = %.noexc154.i.i2085 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i1060, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i1054) + to label %invoke.cont2.i149.i.i2094 unwind label %lpad.i142.i.i2088 + +invoke.cont2.i149.i.i2094: ; preds = %invoke.cont.i148.i.i2093 + %1091 = load ptr, ptr %ref.tmp.i139.i.i1054, align 8, !noalias !1536 + %cmp.not.i.i.i150.i.i2095 = icmp eq ptr %1091, null + br i1 %cmp.not.i.i.i150.i.i2095, label %invoke.cont52.i.i2099, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i2096 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i2096: ; preds = %invoke.cont2.i149.i.i2094 + %vtable.i.i.i.i152.i.i2097 = load ptr, ptr %1091, align 8 + %vfn.i.i.i.i153.i.i2098 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i2097, i64 1 + %1092 = load ptr, ptr %vfn.i.i.i.i153.i.i2098, align 8 call void %1092(ptr noundef nonnull align 8 dereferenceable(128) %1091) #30 - br label %invoke.cont52.i.i2097 + br label %invoke.cont52.i.i2099 -lpad.i142.i.i2086: ; preds = %invoke.cont.i148.i.i2091, %.noexc154.i.i2083 +lpad.i142.i.i2088: ; preds = %invoke.cont.i148.i.i2093, %.noexc154.i.i2085 %1093 = landingpad { ptr, i32 } cleanup - %1094 = load ptr, ptr %ref.tmp.i139.i.i1052, align 8, !noalias !1536 - %cmp.not.i.i2.i143.i.i2087 = icmp eq ptr %1094, null - br i1 %cmp.not.i.i2.i143.i.i2087, label %lpad51.body.i.i2081, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i2088 + %1094 = load ptr, ptr %ref.tmp.i139.i.i1054, align 8, !noalias !1536 + %cmp.not.i.i2.i143.i.i2089 = icmp eq ptr %1094, null + br i1 %cmp.not.i.i2.i143.i.i2089, label %lpad51.body.i.i2083, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i2090 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i2088: ; preds = %lpad.i142.i.i2086 - %vtable.i.i.i4.i145.i.i2089 = load ptr, ptr %1094, align 8 - %vfn.i.i.i5.i146.i.i2090 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i2089, i64 1 - %1095 = load ptr, ptr %vfn.i.i.i5.i146.i.i2090, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i2090: ; preds = %lpad.i142.i.i2088 + %vtable.i.i.i4.i145.i.i2091 = load ptr, ptr %1094, align 8 + %vfn.i.i.i5.i146.i.i2092 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i2091, i64 1 + %1095 = load ptr, ptr %vfn.i.i.i5.i146.i.i2092, align 8 call void %1095(ptr noundef nonnull align 8 dereferenceable(128) %1094) #30 - br label %lpad51.body.i.i2081 + br label %lpad51.body.i.i2083 -invoke.cont52.i.i2097: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i2094, %invoke.cont2.i149.i.i2092 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i1052), !noalias !1536 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i1058) - to label %invoke.cont54.i.i2098 unwind label %lpad51.i.i2080 +invoke.cont52.i.i2099: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i2096, %invoke.cont2.i149.i.i2094 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i1054), !noalias !1536 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i1060) + to label %invoke.cont54.i.i2100 unwind label %lpad51.i.i2082 -invoke.cont54.i.i2098: ; preds = %invoke.cont52.i.i2097 - %message_.i156.i.i2099 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i1058, i64 0, i32 1 - %1096 = load ptr, ptr %message_.i156.i.i2099, align 8, !noalias !1536 - %cmp.not.i.i157.i.i2100 = icmp eq ptr %1096, null - br i1 %cmp.not.i.i157.i.i2100, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i2102, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i2101 +invoke.cont54.i.i2100: ; preds = %invoke.cont52.i.i2099 + %message_.i156.i.i2101 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i1060, i64 0, i32 1 + %1096 = load ptr, ptr %message_.i156.i.i2101, align 8, !noalias !1536 + %cmp.not.i.i157.i.i2102 = icmp eq ptr %1096, null + br i1 %cmp.not.i.i157.i.i2102, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i2104, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i2103 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i2101: ; preds = %invoke.cont54.i.i2098 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i2103: ; preds = %invoke.cont54.i.i2100 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1096) #30 call void @_ZdlPv(ptr noundef nonnull %1096) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i2102 + br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i2104 -_ZN7testing15AssertionResultD2Ev.exit159.i.i2102: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i2101, %invoke.cont54.i.i2098 - store ptr null, ptr %message_.i156.i.i2099, align 8, !noalias !1536 - br label %cleanup257.i.i1199 +_ZN7testing15AssertionResultD2Ev.exit159.i.i2104: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i2103, %invoke.cont54.i.i2100 + store ptr null, ptr %message_.i156.i.i2101, align 8, !noalias !1536 + br label %cleanup257.i.i1201 -lpad51.i.i2080: ; preds = %invoke.cont52.i.i2097, %invoke.cont50.i.i2079 +lpad51.i.i2082: ; preds = %invoke.cont52.i.i2099, %invoke.cont50.i.i2081 %1097 = landingpad { ptr, i32 } cleanup - br label %lpad51.body.i.i2081 - -lpad51.body.i.i2081: ; preds = %lpad51.i.i2080, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i2088, %lpad.i142.i.i2086 - %eh.lpad-body155.i.i2082 = phi { ptr, i32 } [ %1097, %lpad51.i.i2080 ], [ %1093, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i2088 ], [ %1093, %lpad.i142.i.i2086 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i1058) #30 - br label %ehcleanup258.i.i1135 - -for.body66.i.i1235: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1977, %for.body66.lr.ph.i.i1224 - %__begin058.sroa.0.052.i.i1236 = phi ptr [ %classes.val62.pre.i.i1215, %for.body66.lr.ph.i.i1224 ], [ %incdec.ptr.i868.i.i1978, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1977 ] - %call68.val.i.i1237 = load ptr, ptr %__begin058.sroa.0.052.i.i1236, align 8 - %call69.val.i.i1238 = load ptr, ptr %call68.val.i.i1237, align 8 - %call69.val.val.i.i1239 = load ptr, ptr %call69.val.i.i1238, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i1059, ptr %call69.val.val.i.i1239) - to label %invoke.cont70.i.i1243 unwind label %lpad.loopexit11.i.i1241 - -invoke.cont70.i.i1243: ; preds = %for.body66.i.i1235 - %call68.val80.i.i1244 = load ptr, ptr %__begin058.sroa.0.052.i.i1236, align 8 - %1098 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i1236, i64 8 - %call68.val81.i.i1245 = load ptr, ptr %1098, align 8 - %cmp.i161.not47.i.i1246 = icmp eq ptr %call68.val80.i.i1244, %call68.val81.i.i1245 - br i1 %cmp.i161.not47.i.i1246, label %for.end144.i.i1556, label %for.body80.i.i1247 - -for.body80.i.i1247: ; preds = %invoke.cont70.i.i1243, %for.inc142.i.i1553 - %__begin072.sroa.0.048.i.i1248 = phi ptr [ %incdec.ptr.i448.i.i1554, %for.inc142.i.i1553 ], [ %call68.val80.i.i1244, %invoke.cont70.i.i1243 ] - %call81.val.i.i1249 = load ptr, ptr %__begin072.sroa.0.048.i.i1248, align 8 - %call81.val.val.i.i1250 = load ptr, ptr %call81.val.i.i1249, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i1060, ptr %call81.val.val.i.i1250) - to label %invoke.cont84.i.i1256 unwind label %lpad83.loopexit.split-lp.loopexit.i.i1252 - -invoke.cont84.i.i1256: ; preds = %for.body80.i.i1247 - %call81.val65.i.i1257 = load ptr, ptr %__begin072.sroa.0.048.i.i1248, align 8 - %call81.val65.val.i.i1258 = load ptr, ptr %call81.val65.i.i1257, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i1061, ptr %call81.val65.val.i.i1258) - to label %invoke.cont87.i.i1263 unwind label %lpad86.i.i1260 - -invoke.cont87.i.i1263: ; preds = %invoke.cont84.i.i1256 - %call.i.i162.i.i1264 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i1060, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i1061) - to label %invoke.cont89.i.i1266 unwind label %lpad88.i.i1265 - -invoke.cont89.i.i1266: ; preds = %invoke.cont87.i.i1263 - %1099 = load ptr, ptr %_M_refcount.i.i.i163.i.i1225, align 8, !noalias !1536 - %cmp.not.i.i.i.i164.i.i1267 = icmp eq ptr %1099, null - br i1 %cmp.not.i.i.i.i164.i.i1267, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278, label %if.then.i.i.i.i165.i.i1268 - -if.then.i.i.i.i165.i.i1268: ; preds = %invoke.cont89.i.i1266 - %_M_use_count.i.i.i.i.i166.i.i1269 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1099, i64 0, i32 1 - %1100 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i1269 acquire, align 8 - %cmp.i.i.i.i.i167.i.i1270 = icmp eq i64 %1100, 4294967297 + br label %lpad51.body.i.i2083 + +lpad51.body.i.i2083: ; preds = %lpad51.i.i2082, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i2090, %lpad.i142.i.i2088 + %eh.lpad-body155.i.i2084 = phi { ptr, i32 } [ %1097, %lpad51.i.i2082 ], [ %1093, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i2090 ], [ %1093, %lpad.i142.i.i2088 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i1060) #30 + br label %ehcleanup258.i.i1137 + +for.body66.i.i1237: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1979, %for.body66.lr.ph.i.i1226 + %__begin058.sroa.0.052.i.i1238 = phi ptr [ %classes.val62.pre.i.i1217, %for.body66.lr.ph.i.i1226 ], [ %incdec.ptr.i868.i.i1980, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1979 ] + %call68.val.i.i1239 = load ptr, ptr %__begin058.sroa.0.052.i.i1238, align 8 + %call69.val.i.i1240 = load ptr, ptr %call68.val.i.i1239, align 8 + %call69.val.val.i.i1241 = load ptr, ptr %call69.val.i.i1240, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i1061, ptr %call69.val.val.i.i1241) + to label %invoke.cont70.i.i1245 unwind label %lpad.loopexit11.i.i1243 + +invoke.cont70.i.i1245: ; preds = %for.body66.i.i1237 + %call68.val80.i.i1246 = load ptr, ptr %__begin058.sroa.0.052.i.i1238, align 8 + %1098 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i1238, i64 8 + %call68.val81.i.i1247 = load ptr, ptr %1098, align 8 + %cmp.i161.not47.i.i1248 = icmp eq ptr %call68.val80.i.i1246, %call68.val81.i.i1247 + br i1 %cmp.i161.not47.i.i1248, label %for.end144.i.i1558, label %for.body80.i.i1249 + +for.body80.i.i1249: ; preds = %invoke.cont70.i.i1245, %for.inc142.i.i1555 + %__begin072.sroa.0.048.i.i1250 = phi ptr [ %incdec.ptr.i448.i.i1556, %for.inc142.i.i1555 ], [ %call68.val80.i.i1246, %invoke.cont70.i.i1245 ] + %call81.val.i.i1251 = load ptr, ptr %__begin072.sroa.0.048.i.i1250, align 8 + %call81.val.val.i.i1252 = load ptr, ptr %call81.val.i.i1251, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i1062, ptr %call81.val.val.i.i1252) + to label %invoke.cont84.i.i1258 unwind label %lpad83.loopexit.split-lp.loopexit.i.i1254 + +invoke.cont84.i.i1258: ; preds = %for.body80.i.i1249 + %call81.val65.i.i1259 = load ptr, ptr %__begin072.sroa.0.048.i.i1250, align 8 + %call81.val65.val.i.i1260 = load ptr, ptr %call81.val65.i.i1259, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i1063, ptr %call81.val65.val.i.i1260) + to label %invoke.cont87.i.i1265 unwind label %lpad86.i.i1262 + +invoke.cont87.i.i1265: ; preds = %invoke.cont84.i.i1258 + %call.i.i162.i.i1266 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i1062, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i1063) + to label %invoke.cont89.i.i1268 unwind label %lpad88.i.i1267 + +invoke.cont89.i.i1268: ; preds = %invoke.cont87.i.i1265 + %1099 = load ptr, ptr %_M_refcount.i.i.i163.i.i1227, align 8, !noalias !1536 + %cmp.not.i.i.i.i164.i.i1269 = icmp eq ptr %1099, null + br i1 %cmp.not.i.i.i.i164.i.i1269, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280, label %if.then.i.i.i.i165.i.i1270 + +if.then.i.i.i.i165.i.i1270: ; preds = %invoke.cont89.i.i1268 + %_M_use_count.i.i.i.i.i166.i.i1271 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1099, i64 0, i32 1 + %1100 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i1271 acquire, align 8 + %cmp.i.i.i.i.i167.i.i1272 = icmp eq i64 %1100, 4294967297 %1101 = trunc i64 %1100 to i32 - br i1 %cmp.i.i.i.i.i167.i.i1270, label %if.then.i.i.i.i.i202.i.i2074, label %if.end.i.i.i.i.i168.i.i1271 - -if.then.i.i.i.i.i202.i.i2074: ; preds = %if.then.i.i.i.i165.i.i1268 - store i32 0, ptr %_M_use_count.i.i.i.i.i166.i.i1269, align 8 - %_M_weak_count.i.i.i.i.i203.i.i2075 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1099, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i203.i.i2075, align 4 - %vtable.i.i.i.i.i204.i.i2076 = load ptr, ptr %1099, align 8 - %vfn.i.i.i.i.i205.i.i2077 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i204.i.i2076, i64 2 - %1102 = load ptr, ptr %vfn.i.i.i.i.i205.i.i2077, align 8 + br i1 %cmp.i.i.i.i.i167.i.i1272, label %if.then.i.i.i.i.i202.i.i2076, label %if.end.i.i.i.i.i168.i.i1273 + +if.then.i.i.i.i.i202.i.i2076: ; preds = %if.then.i.i.i.i165.i.i1270 + store i32 0, ptr %_M_use_count.i.i.i.i.i166.i.i1271, align 8 + %_M_weak_count.i.i.i.i.i203.i.i2077 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1099, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i203.i.i2077, align 4 + %vtable.i.i.i.i.i204.i.i2078 = load ptr, ptr %1099, align 8 + %vfn.i.i.i.i.i205.i.i2079 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i204.i.i2078, i64 2 + %1102 = load ptr, ptr %vfn.i.i.i.i.i205.i.i2079, align 8 call void %1102(ptr noundef nonnull align 8 dereferenceable(16) %1099) #30 - br label %if.end8.sink.split.i.i.i.i.i197.i.i2069 + br label %if.end8.sink.split.i.i.i.i.i197.i.i2071 -if.end.i.i.i.i.i168.i.i1271: ; preds = %if.then.i.i.i.i165.i.i1268 +if.end.i.i.i.i.i168.i.i1273: ; preds = %if.then.i.i.i.i165.i.i1270 %1103 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i169.i.i1272 = icmp eq i8 %1103, 0 - br i1 %tobool.i.i.not.i.i.i.i.i169.i.i1272, label %if.else.i.i.i.i.i.i201.i.i2073, label %if.then.i.i.i.i.i.i170.i.i1273 - -if.then.i.i.i.i.i.i170.i.i1273: ; preds = %if.end.i.i.i.i.i168.i.i1271 - %add.i.i.i.i.i.i171.i.i1274 = add nsw i32 %1101, -1 - store i32 %add.i.i.i.i.i.i171.i.i1274, ptr %_M_use_count.i.i.i.i.i166.i.i1269, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1275 - -if.else.i.i.i.i.i.i201.i.i2073: ; preds = %if.end.i.i.i.i.i168.i.i1271 - %1104 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i166.i.i1269, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1275 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1275: ; preds = %if.else.i.i.i.i.i.i201.i.i2073, %if.then.i.i.i.i.i.i170.i.i1273 - %retval.i.0.i.i.i.i.i173.i.i1276 = phi i32 [ %1101, %if.then.i.i.i.i.i.i170.i.i1273 ], [ %1104, %if.else.i.i.i.i.i.i201.i.i2073 ] - %cmp6.i.i.i.i.i174.i.i1277 = icmp eq i32 %retval.i.0.i.i.i.i.i173.i.i1276, 1 - br i1 %cmp6.i.i.i.i.i174.i.i1277, label %if.then7.i.i.i.i.i187.i.i2059, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278 - -if.then7.i.i.i.i.i187.i.i2059: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1275 - %vtable.i.i.i.i.i.i.i188.i.i2060 = load ptr, ptr %1099, align 8 - %vfn.i.i.i.i.i.i.i189.i.i2061 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i188.i.i2060, i64 2 - %1105 = load ptr, ptr %vfn.i.i.i.i.i.i.i189.i.i2061, align 8 + %tobool.i.i.not.i.i.i.i.i169.i.i1274 = icmp eq i8 %1103, 0 + br i1 %tobool.i.i.not.i.i.i.i.i169.i.i1274, label %if.else.i.i.i.i.i.i201.i.i2075, label %if.then.i.i.i.i.i.i170.i.i1275 + +if.then.i.i.i.i.i.i170.i.i1275: ; preds = %if.end.i.i.i.i.i168.i.i1273 + %add.i.i.i.i.i.i171.i.i1276 = add nsw i32 %1101, -1 + store i32 %add.i.i.i.i.i.i171.i.i1276, ptr %_M_use_count.i.i.i.i.i166.i.i1271, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1277 + +if.else.i.i.i.i.i.i201.i.i2075: ; preds = %if.end.i.i.i.i.i168.i.i1273 + %1104 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i166.i.i1271, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1277 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1277: ; preds = %if.else.i.i.i.i.i.i201.i.i2075, %if.then.i.i.i.i.i.i170.i.i1275 + %retval.i.0.i.i.i.i.i173.i.i1278 = phi i32 [ %1101, %if.then.i.i.i.i.i.i170.i.i1275 ], [ %1104, %if.else.i.i.i.i.i.i201.i.i2075 ] + %cmp6.i.i.i.i.i174.i.i1279 = icmp eq i32 %retval.i.0.i.i.i.i.i173.i.i1278, 1 + br i1 %cmp6.i.i.i.i.i174.i.i1279, label %if.then7.i.i.i.i.i187.i.i2061, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280 + +if.then7.i.i.i.i.i187.i.i2061: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1277 + %vtable.i.i.i.i.i.i.i188.i.i2062 = load ptr, ptr %1099, align 8 + %vfn.i.i.i.i.i.i.i189.i.i2063 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i188.i.i2062, i64 2 + %1105 = load ptr, ptr %vfn.i.i.i.i.i.i.i189.i.i2063, align 8 call void %1105(ptr noundef nonnull align 8 dereferenceable(16) %1099) #30 - %_M_weak_count.i.i.i.i.i.i.i190.i.i2062 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1099, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i190.i.i2064 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1099, i64 0, i32 2 %1106 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i191.i.i2063 = icmp eq i8 %1106, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i191.i.i2063, label %if.else.i.i.i.i.i.i.i.i200.i.i2072, label %if.then.i.i.i.i.i.i.i.i192.i.i2064 - -if.then.i.i.i.i.i.i.i.i192.i.i2064: ; preds = %if.then7.i.i.i.i.i187.i.i2059 - %1107 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i2062, align 4 - %add.i.i.i.i.i.i.i.i193.i.i2065 = add nsw i32 %1107, -1 - store i32 %add.i.i.i.i.i.i.i.i193.i.i2065, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i2062, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2066 - -if.else.i.i.i.i.i.i.i.i200.i.i2072: ; preds = %if.then7.i.i.i.i.i187.i.i2059 - %1108 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i2062, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2066 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2066: ; preds = %if.else.i.i.i.i.i.i.i.i200.i.i2072, %if.then.i.i.i.i.i.i.i.i192.i.i2064 - %retval.i.0.i.i.i.i.i.i.i195.i.i2067 = phi i32 [ %1107, %if.then.i.i.i.i.i.i.i.i192.i.i2064 ], [ %1108, %if.else.i.i.i.i.i.i.i.i200.i.i2072 ] - %cmp.i.i.i.i.i.i.i196.i.i2068 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i195.i.i2067, 1 - br i1 %cmp.i.i.i.i.i.i.i196.i.i2068, label %if.end8.sink.split.i.i.i.i.i197.i.i2069, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278 - -if.end8.sink.split.i.i.i.i.i197.i.i2069: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2066, %if.then.i.i.i.i.i202.i.i2074 - %vtable2.i.i.i.i.i.i.i198.i.i2070 = load ptr, ptr %1099, align 8 - %vfn3.i.i.i.i.i.i.i199.i.i2071 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i198.i.i2070, i64 3 - %1109 = load ptr, ptr %vfn3.i.i.i.i.i.i.i199.i.i2071, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i191.i.i2065 = icmp eq i8 %1106, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i191.i.i2065, label %if.else.i.i.i.i.i.i.i.i200.i.i2074, label %if.then.i.i.i.i.i.i.i.i192.i.i2066 + +if.then.i.i.i.i.i.i.i.i192.i.i2066: ; preds = %if.then7.i.i.i.i.i187.i.i2061 + %1107 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i2064, align 4 + %add.i.i.i.i.i.i.i.i193.i.i2067 = add nsw i32 %1107, -1 + store i32 %add.i.i.i.i.i.i.i.i193.i.i2067, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i2064, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2068 + +if.else.i.i.i.i.i.i.i.i200.i.i2074: ; preds = %if.then7.i.i.i.i.i187.i.i2061 + %1108 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i2064, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2068 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2068: ; preds = %if.else.i.i.i.i.i.i.i.i200.i.i2074, %if.then.i.i.i.i.i.i.i.i192.i.i2066 + %retval.i.0.i.i.i.i.i.i.i195.i.i2069 = phi i32 [ %1107, %if.then.i.i.i.i.i.i.i.i192.i.i2066 ], [ %1108, %if.else.i.i.i.i.i.i.i.i200.i.i2074 ] + %cmp.i.i.i.i.i.i.i196.i.i2070 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i195.i.i2069, 1 + br i1 %cmp.i.i.i.i.i.i.i196.i.i2070, label %if.end8.sink.split.i.i.i.i.i197.i.i2071, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280 + +if.end8.sink.split.i.i.i.i.i197.i.i2071: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2068, %if.then.i.i.i.i.i202.i.i2076 + %vtable2.i.i.i.i.i.i.i198.i.i2072 = load ptr, ptr %1099, align 8 + %vfn3.i.i.i.i.i.i.i199.i.i2073 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i198.i.i2072, i64 3 + %1109 = load ptr, ptr %vfn3.i.i.i.i.i.i.i199.i.i2073, align 8 call void %1109(ptr noundef nonnull align 8 dereferenceable(16) %1099) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i2069, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2066, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1275, %invoke.cont89.i.i1266 - %1110 = load ptr, ptr %ref.tmp85.i.i1061, align 8, !noalias !1536 - %1111 = load ptr, ptr %_M_finish.i.i176.i.i1226, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i177.i.i1279 = icmp eq ptr %1110, %1111 - br i1 %cmp.not3.i.i.i.i.i177.i.i1279, label %invoke.cont.i.i184.i.i1286, label %for.body.i.i.i.i.i178.i.i1280 - -for.body.i.i.i.i.i178.i.i1280: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278, %for.body.i.i.i.i.i178.i.i1280 - %__first.addr.04.i.i.i.i.i179.i.i1281 = phi ptr [ %incdec.ptr.i.i.i.i.i180.i.i1282, %for.body.i.i.i.i.i178.i.i1280 ], [ %1110, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i179.i.i1281) #30 - %incdec.ptr.i.i.i.i.i180.i.i1282 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i179.i.i1281, i64 1 - %cmp.not.i.i.i.i.i181.i.i1283 = icmp eq ptr %incdec.ptr.i.i.i.i.i180.i.i1282, %1111 - br i1 %cmp.not.i.i.i.i.i181.i.i1283, label %invoke.contthread-pre-split.i.i182.i.i1284, label %for.body.i.i.i.i.i178.i.i1280, !llvm.loop !8 - -invoke.contthread-pre-split.i.i182.i.i1284: ; preds = %for.body.i.i.i.i.i178.i.i1280 - %.pr.i.i183.i.i1285 = load ptr, ptr %ref.tmp85.i.i1061, align 8, !noalias !1536 - br label %invoke.cont.i.i184.i.i1286 - -invoke.cont.i.i184.i.i1286: ; preds = %invoke.contthread-pre-split.i.i182.i.i1284, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278 - %1112 = phi ptr [ %.pr.i.i183.i.i1285, %invoke.contthread-pre-split.i.i182.i.i1284 ], [ %1110, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1278 ] - %tobool.not.i.i.i.i185.i.i1287 = icmp eq ptr %1112, null - br i1 %tobool.not.i.i.i.i185.i.i1287, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1289, label %if.then.i.i.i1.i186.i.i1288 - -if.then.i.i.i1.i186.i.i1288: ; preds = %invoke.cont.i.i184.i.i1286 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i2071, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i2068, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i1277, %invoke.cont89.i.i1268 + %1110 = load ptr, ptr %ref.tmp85.i.i1063, align 8, !noalias !1536 + %1111 = load ptr, ptr %_M_finish.i.i176.i.i1228, align 8, !noalias !1536 + %cmp.not3.i.i.i.i.i177.i.i1281 = icmp eq ptr %1110, %1111 + br i1 %cmp.not3.i.i.i.i.i177.i.i1281, label %invoke.cont.i.i184.i.i1288, label %for.body.i.i.i.i.i178.i.i1282 + +for.body.i.i.i.i.i178.i.i1282: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280, %for.body.i.i.i.i.i178.i.i1282 + %__first.addr.04.i.i.i.i.i179.i.i1283 = phi ptr [ %incdec.ptr.i.i.i.i.i180.i.i1284, %for.body.i.i.i.i.i178.i.i1282 ], [ %1110, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i179.i.i1283) #30 + %incdec.ptr.i.i.i.i.i180.i.i1284 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i179.i.i1283, i64 1 + %cmp.not.i.i.i.i.i181.i.i1285 = icmp eq ptr %incdec.ptr.i.i.i.i.i180.i.i1284, %1111 + br i1 %cmp.not.i.i.i.i.i181.i.i1285, label %invoke.contthread-pre-split.i.i182.i.i1286, label %for.body.i.i.i.i.i178.i.i1282, !llvm.loop !8 + +invoke.contthread-pre-split.i.i182.i.i1286: ; preds = %for.body.i.i.i.i.i178.i.i1282 + %.pr.i.i183.i.i1287 = load ptr, ptr %ref.tmp85.i.i1063, align 8, !noalias !1536 + br label %invoke.cont.i.i184.i.i1288 + +invoke.cont.i.i184.i.i1288: ; preds = %invoke.contthread-pre-split.i.i182.i.i1286, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280 + %1112 = phi ptr [ %.pr.i.i183.i.i1287, %invoke.contthread-pre-split.i.i182.i.i1286 ], [ %1110, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i1280 ] + %tobool.not.i.i.i.i185.i.i1289 = icmp eq ptr %1112, null + br i1 %tobool.not.i.i.i.i185.i.i1289, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1291, label %if.then.i.i.i1.i186.i.i1290 + +if.then.i.i.i1.i186.i.i1290: ; preds = %invoke.cont.i.i184.i.i1288 call void @_ZdlPv(ptr noundef nonnull %1112) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1289 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1291 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1289: ; preds = %if.then.i.i.i1.i186.i.i1288, %invoke.cont.i.i184.i.i1286 - %1113 = load ptr, ptr %_M_refcount.i.i.i207.i.i1227, align 8, !noalias !1536 - %cmp.not.i.i.i.i208.i.i1290 = icmp eq ptr %1113, null - br i1 %cmp.not.i.i.i.i208.i.i1290, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301, label %if.then.i.i.i.i209.i.i1291 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1291: ; preds = %if.then.i.i.i1.i186.i.i1290, %invoke.cont.i.i184.i.i1288 + %1113 = load ptr, ptr %_M_refcount.i.i.i207.i.i1229, align 8, !noalias !1536 + %cmp.not.i.i.i.i208.i.i1292 = icmp eq ptr %1113, null + br i1 %cmp.not.i.i.i.i208.i.i1292, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303, label %if.then.i.i.i.i209.i.i1293 -if.then.i.i.i.i209.i.i1291: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1289 - %_M_use_count.i.i.i.i.i210.i.i1292 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1113, i64 0, i32 1 - %1114 = load atomic i64, ptr %_M_use_count.i.i.i.i.i210.i.i1292 acquire, align 8 - %cmp.i.i.i.i.i211.i.i1293 = icmp eq i64 %1114, 4294967297 +if.then.i.i.i.i209.i.i1293: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1291 + %_M_use_count.i.i.i.i.i210.i.i1294 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1113, i64 0, i32 1 + %1114 = load atomic i64, ptr %_M_use_count.i.i.i.i.i210.i.i1294 acquire, align 8 + %cmp.i.i.i.i.i211.i.i1295 = icmp eq i64 %1114, 4294967297 %1115 = trunc i64 %1114 to i32 - br i1 %cmp.i.i.i.i.i211.i.i1293, label %if.then.i.i.i.i.i246.i.i2055, label %if.end.i.i.i.i.i212.i.i1294 - -if.then.i.i.i.i.i246.i.i2055: ; preds = %if.then.i.i.i.i209.i.i1291 - store i32 0, ptr %_M_use_count.i.i.i.i.i210.i.i1292, align 8 - %_M_weak_count.i.i.i.i.i247.i.i2056 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1113, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i247.i.i2056, align 4 - %vtable.i.i.i.i.i248.i.i2057 = load ptr, ptr %1113, align 8 - %vfn.i.i.i.i.i249.i.i2058 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i248.i.i2057, i64 2 - %1116 = load ptr, ptr %vfn.i.i.i.i.i249.i.i2058, align 8 + br i1 %cmp.i.i.i.i.i211.i.i1295, label %if.then.i.i.i.i.i246.i.i2057, label %if.end.i.i.i.i.i212.i.i1296 + +if.then.i.i.i.i.i246.i.i2057: ; preds = %if.then.i.i.i.i209.i.i1293 + store i32 0, ptr %_M_use_count.i.i.i.i.i210.i.i1294, align 8 + %_M_weak_count.i.i.i.i.i247.i.i2058 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1113, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i247.i.i2058, align 4 + %vtable.i.i.i.i.i248.i.i2059 = load ptr, ptr %1113, align 8 + %vfn.i.i.i.i.i249.i.i2060 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i248.i.i2059, i64 2 + %1116 = load ptr, ptr %vfn.i.i.i.i.i249.i.i2060, align 8 call void %1116(ptr noundef nonnull align 8 dereferenceable(16) %1113) #30 - br label %if.end8.sink.split.i.i.i.i.i241.i.i2050 + br label %if.end8.sink.split.i.i.i.i.i241.i.i2052 -if.end.i.i.i.i.i212.i.i1294: ; preds = %if.then.i.i.i.i209.i.i1291 +if.end.i.i.i.i.i212.i.i1296: ; preds = %if.then.i.i.i.i209.i.i1293 %1117 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i213.i.i1295 = icmp eq i8 %1117, 0 - br i1 %tobool.i.i.not.i.i.i.i.i213.i.i1295, label %if.else.i.i.i.i.i.i245.i.i2054, label %if.then.i.i.i.i.i.i214.i.i1296 - -if.then.i.i.i.i.i.i214.i.i1296: ; preds = %if.end.i.i.i.i.i212.i.i1294 - %add.i.i.i.i.i.i215.i.i1297 = add nsw i32 %1115, -1 - store i32 %add.i.i.i.i.i.i215.i.i1297, ptr %_M_use_count.i.i.i.i.i210.i.i1292, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1298 - -if.else.i.i.i.i.i.i245.i.i2054: ; preds = %if.end.i.i.i.i.i212.i.i1294 - %1118 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i210.i.i1292, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1298 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1298: ; preds = %if.else.i.i.i.i.i.i245.i.i2054, %if.then.i.i.i.i.i.i214.i.i1296 - %retval.i.0.i.i.i.i.i217.i.i1299 = phi i32 [ %1115, %if.then.i.i.i.i.i.i214.i.i1296 ], [ %1118, %if.else.i.i.i.i.i.i245.i.i2054 ] - %cmp6.i.i.i.i.i218.i.i1300 = icmp eq i32 %retval.i.0.i.i.i.i.i217.i.i1299, 1 - br i1 %cmp6.i.i.i.i.i218.i.i1300, label %if.then7.i.i.i.i.i231.i.i2040, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301 - -if.then7.i.i.i.i.i231.i.i2040: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1298 - %vtable.i.i.i.i.i.i.i232.i.i2041 = load ptr, ptr %1113, align 8 - %vfn.i.i.i.i.i.i.i233.i.i2042 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i232.i.i2041, i64 2 - %1119 = load ptr, ptr %vfn.i.i.i.i.i.i.i233.i.i2042, align 8 + %tobool.i.i.not.i.i.i.i.i213.i.i1297 = icmp eq i8 %1117, 0 + br i1 %tobool.i.i.not.i.i.i.i.i213.i.i1297, label %if.else.i.i.i.i.i.i245.i.i2056, label %if.then.i.i.i.i.i.i214.i.i1298 + +if.then.i.i.i.i.i.i214.i.i1298: ; preds = %if.end.i.i.i.i.i212.i.i1296 + %add.i.i.i.i.i.i215.i.i1299 = add nsw i32 %1115, -1 + store i32 %add.i.i.i.i.i.i215.i.i1299, ptr %_M_use_count.i.i.i.i.i210.i.i1294, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1300 + +if.else.i.i.i.i.i.i245.i.i2056: ; preds = %if.end.i.i.i.i.i212.i.i1296 + %1118 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i210.i.i1294, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1300 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1300: ; preds = %if.else.i.i.i.i.i.i245.i.i2056, %if.then.i.i.i.i.i.i214.i.i1298 + %retval.i.0.i.i.i.i.i217.i.i1301 = phi i32 [ %1115, %if.then.i.i.i.i.i.i214.i.i1298 ], [ %1118, %if.else.i.i.i.i.i.i245.i.i2056 ] + %cmp6.i.i.i.i.i218.i.i1302 = icmp eq i32 %retval.i.0.i.i.i.i.i217.i.i1301, 1 + br i1 %cmp6.i.i.i.i.i218.i.i1302, label %if.then7.i.i.i.i.i231.i.i2042, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303 + +if.then7.i.i.i.i.i231.i.i2042: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1300 + %vtable.i.i.i.i.i.i.i232.i.i2043 = load ptr, ptr %1113, align 8 + %vfn.i.i.i.i.i.i.i233.i.i2044 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i232.i.i2043, i64 2 + %1119 = load ptr, ptr %vfn.i.i.i.i.i.i.i233.i.i2044, align 8 call void %1119(ptr noundef nonnull align 8 dereferenceable(16) %1113) #30 - %_M_weak_count.i.i.i.i.i.i.i234.i.i2043 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1113, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i234.i.i2045 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1113, i64 0, i32 2 %1120 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i235.i.i2044 = icmp eq i8 %1120, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i235.i.i2044, label %if.else.i.i.i.i.i.i.i.i244.i.i2053, label %if.then.i.i.i.i.i.i.i.i236.i.i2045 - -if.then.i.i.i.i.i.i.i.i236.i.i2045: ; preds = %if.then7.i.i.i.i.i231.i.i2040 - %1121 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i2043, align 4 - %add.i.i.i.i.i.i.i.i237.i.i2046 = add nsw i32 %1121, -1 - store i32 %add.i.i.i.i.i.i.i.i237.i.i2046, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i2043, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2047 - -if.else.i.i.i.i.i.i.i.i244.i.i2053: ; preds = %if.then7.i.i.i.i.i231.i.i2040 - %1122 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i2043, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2047 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2047: ; preds = %if.else.i.i.i.i.i.i.i.i244.i.i2053, %if.then.i.i.i.i.i.i.i.i236.i.i2045 - %retval.i.0.i.i.i.i.i.i.i239.i.i2048 = phi i32 [ %1121, %if.then.i.i.i.i.i.i.i.i236.i.i2045 ], [ %1122, %if.else.i.i.i.i.i.i.i.i244.i.i2053 ] - %cmp.i.i.i.i.i.i.i240.i.i2049 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i239.i.i2048, 1 - br i1 %cmp.i.i.i.i.i.i.i240.i.i2049, label %if.end8.sink.split.i.i.i.i.i241.i.i2050, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301 - -if.end8.sink.split.i.i.i.i.i241.i.i2050: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2047, %if.then.i.i.i.i.i246.i.i2055 - %vtable2.i.i.i.i.i.i.i242.i.i2051 = load ptr, ptr %1113, align 8 - %vfn3.i.i.i.i.i.i.i243.i.i2052 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i242.i.i2051, i64 3 - %1123 = load ptr, ptr %vfn3.i.i.i.i.i.i.i243.i.i2052, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i235.i.i2046 = icmp eq i8 %1120, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i235.i.i2046, label %if.else.i.i.i.i.i.i.i.i244.i.i2055, label %if.then.i.i.i.i.i.i.i.i236.i.i2047 + +if.then.i.i.i.i.i.i.i.i236.i.i2047: ; preds = %if.then7.i.i.i.i.i231.i.i2042 + %1121 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i2045, align 4 + %add.i.i.i.i.i.i.i.i237.i.i2048 = add nsw i32 %1121, -1 + store i32 %add.i.i.i.i.i.i.i.i237.i.i2048, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i2045, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2049 + +if.else.i.i.i.i.i.i.i.i244.i.i2055: ; preds = %if.then7.i.i.i.i.i231.i.i2042 + %1122 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i2045, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2049 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2049: ; preds = %if.else.i.i.i.i.i.i.i.i244.i.i2055, %if.then.i.i.i.i.i.i.i.i236.i.i2047 + %retval.i.0.i.i.i.i.i.i.i239.i.i2050 = phi i32 [ %1121, %if.then.i.i.i.i.i.i.i.i236.i.i2047 ], [ %1122, %if.else.i.i.i.i.i.i.i.i244.i.i2055 ] + %cmp.i.i.i.i.i.i.i240.i.i2051 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i239.i.i2050, 1 + br i1 %cmp.i.i.i.i.i.i.i240.i.i2051, label %if.end8.sink.split.i.i.i.i.i241.i.i2052, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303 + +if.end8.sink.split.i.i.i.i.i241.i.i2052: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2049, %if.then.i.i.i.i.i246.i.i2057 + %vtable2.i.i.i.i.i.i.i242.i.i2053 = load ptr, ptr %1113, align 8 + %vfn3.i.i.i.i.i.i.i243.i.i2054 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i242.i.i2053, i64 3 + %1123 = load ptr, ptr %vfn3.i.i.i.i.i.i.i243.i.i2054, align 8 call void %1123(ptr noundef nonnull align 8 dereferenceable(16) %1113) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i2050, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2047, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1298, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1289 - %1124 = load ptr, ptr %ref.tmp82.i.i1060, align 8, !noalias !1536 - %1125 = load ptr, ptr %_M_finish.i.i220.i.i1228, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i221.i.i1302 = icmp eq ptr %1124, %1125 - br i1 %cmp.not3.i.i.i.i.i221.i.i1302, label %invoke.cont.i.i228.i.i1309, label %for.body.i.i.i.i.i222.i.i1303 - -for.body.i.i.i.i.i222.i.i1303: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301, %for.body.i.i.i.i.i222.i.i1303 - %__first.addr.04.i.i.i.i.i223.i.i1304 = phi ptr [ %incdec.ptr.i.i.i.i.i224.i.i1305, %for.body.i.i.i.i.i222.i.i1303 ], [ %1124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i223.i.i1304) #30 - %incdec.ptr.i.i.i.i.i224.i.i1305 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i223.i.i1304, i64 1 - %cmp.not.i.i.i.i.i225.i.i1306 = icmp eq ptr %incdec.ptr.i.i.i.i.i224.i.i1305, %1125 - br i1 %cmp.not.i.i.i.i.i225.i.i1306, label %invoke.contthread-pre-split.i.i226.i.i1307, label %for.body.i.i.i.i.i222.i.i1303, !llvm.loop !8 - -invoke.contthread-pre-split.i.i226.i.i1307: ; preds = %for.body.i.i.i.i.i222.i.i1303 - %.pr.i.i227.i.i1308 = load ptr, ptr %ref.tmp82.i.i1060, align 8, !noalias !1536 - br label %invoke.cont.i.i228.i.i1309 - -invoke.cont.i.i228.i.i1309: ; preds = %invoke.contthread-pre-split.i.i226.i.i1307, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301 - %1126 = phi ptr [ %.pr.i.i227.i.i1308, %invoke.contthread-pre-split.i.i226.i.i1307 ], [ %1124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1301 ] - %tobool.not.i.i.i.i229.i.i1310 = icmp eq ptr %1126, null - br i1 %tobool.not.i.i.i.i229.i.i1310, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1312, label %if.then.i.i.i1.i230.i.i1311 - -if.then.i.i.i1.i230.i.i1311: ; preds = %invoke.cont.i.i228.i.i1309 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i2052, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i2049, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i1300, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i1291 + %1124 = load ptr, ptr %ref.tmp82.i.i1062, align 8, !noalias !1536 + %1125 = load ptr, ptr %_M_finish.i.i220.i.i1230, align 8, !noalias !1536 + %cmp.not3.i.i.i.i.i221.i.i1304 = icmp eq ptr %1124, %1125 + br i1 %cmp.not3.i.i.i.i.i221.i.i1304, label %invoke.cont.i.i228.i.i1311, label %for.body.i.i.i.i.i222.i.i1305 + +for.body.i.i.i.i.i222.i.i1305: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303, %for.body.i.i.i.i.i222.i.i1305 + %__first.addr.04.i.i.i.i.i223.i.i1306 = phi ptr [ %incdec.ptr.i.i.i.i.i224.i.i1307, %for.body.i.i.i.i.i222.i.i1305 ], [ %1124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i223.i.i1306) #30 + %incdec.ptr.i.i.i.i.i224.i.i1307 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i223.i.i1306, i64 1 + %cmp.not.i.i.i.i.i225.i.i1308 = icmp eq ptr %incdec.ptr.i.i.i.i.i224.i.i1307, %1125 + br i1 %cmp.not.i.i.i.i.i225.i.i1308, label %invoke.contthread-pre-split.i.i226.i.i1309, label %for.body.i.i.i.i.i222.i.i1305, !llvm.loop !8 + +invoke.contthread-pre-split.i.i226.i.i1309: ; preds = %for.body.i.i.i.i.i222.i.i1305 + %.pr.i.i227.i.i1310 = load ptr, ptr %ref.tmp82.i.i1062, align 8, !noalias !1536 + br label %invoke.cont.i.i228.i.i1311 + +invoke.cont.i.i228.i.i1311: ; preds = %invoke.contthread-pre-split.i.i226.i.i1309, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303 + %1126 = phi ptr [ %.pr.i.i227.i.i1310, %invoke.contthread-pre-split.i.i226.i.i1309 ], [ %1124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i1303 ] + %tobool.not.i.i.i.i229.i.i1312 = icmp eq ptr %1126, null + br i1 %tobool.not.i.i.i.i229.i.i1312, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1314, label %if.then.i.i.i1.i230.i.i1313 + +if.then.i.i.i1.i230.i.i1313: ; preds = %invoke.cont.i.i228.i.i1311 call void @_ZdlPv(ptr noundef nonnull %1126) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1312 - -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1312: ; preds = %if.then.i.i.i1.i230.i.i1311, %invoke.cont.i.i228.i.i1309 - br i1 %call.i.i162.i.i1264, label %if.end109.i.i1420, label %if.then93.i.i1313 - -if.then93.i.i1313: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1312 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i1062) - to label %invoke.cont95.i.i1316 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i1314 - -invoke.cont95.i.i1316: ; preds = %if.then93.i.i1313 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i1051), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i1051) - to label %.noexc266.i.i1320 unwind label %lpad96.i.i1317 - -.noexc266.i.i1320: ; preds = %invoke.cont95.i.i1316 - %1127 = load ptr, ptr %ref.tmp.i251.i.i1051, align 8, !noalias !1536 - %add.ptr.i.i252.i.i1321 = getelementptr inbounds i8, ptr %1127, i64 16 - %call2.i1.i253.i.i1322 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i1321, ptr noundef nonnull @.str.107) - to label %invoke.cont.i260.i.i1328 unwind label %lpad.i254.i.i1323 - -invoke.cont.i260.i.i1328: ; preds = %.noexc266.i.i1320 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1062, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i1051) - to label %invoke.cont2.i261.i.i1329 unwind label %lpad.i254.i.i1323 - -invoke.cont2.i261.i.i1329: ; preds = %invoke.cont.i260.i.i1328 - %1128 = load ptr, ptr %ref.tmp.i251.i.i1051, align 8, !noalias !1536 - %cmp.not.i.i.i262.i.i1330 = icmp eq ptr %1128, null - br i1 %cmp.not.i.i.i262.i.i1330, label %invoke.cont97.i.i1334, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i1331 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i1331: ; preds = %invoke.cont2.i261.i.i1329 - %vtable.i.i.i.i264.i.i1332 = load ptr, ptr %1128, align 8 - %vfn.i.i.i.i265.i.i1333 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i1332, i64 1 - %1129 = load ptr, ptr %vfn.i.i.i.i265.i.i1333, align 8 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1314 + +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1314: ; preds = %if.then.i.i.i1.i230.i.i1313, %invoke.cont.i.i228.i.i1311 + br i1 %call.i.i162.i.i1266, label %if.end109.i.i1422, label %if.then93.i.i1315 + +if.then93.i.i1315: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1314 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i1064) + to label %invoke.cont95.i.i1318 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i1316 + +invoke.cont95.i.i1318: ; preds = %if.then93.i.i1315 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i1053), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i1053) + to label %.noexc266.i.i1322 unwind label %lpad96.i.i1319 + +.noexc266.i.i1322: ; preds = %invoke.cont95.i.i1318 + %1127 = load ptr, ptr %ref.tmp.i251.i.i1053, align 8, !noalias !1536 + %add.ptr.i.i252.i.i1323 = getelementptr inbounds i8, ptr %1127, i64 16 + %call2.i1.i253.i.i1324 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i1323, ptr noundef nonnull @.str.107) + to label %invoke.cont.i260.i.i1330 unwind label %lpad.i254.i.i1325 + +invoke.cont.i260.i.i1330: ; preds = %.noexc266.i.i1322 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1064, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i1053) + to label %invoke.cont2.i261.i.i1331 unwind label %lpad.i254.i.i1325 + +invoke.cont2.i261.i.i1331: ; preds = %invoke.cont.i260.i.i1330 + %1128 = load ptr, ptr %ref.tmp.i251.i.i1053, align 8, !noalias !1536 + %cmp.not.i.i.i262.i.i1332 = icmp eq ptr %1128, null + br i1 %cmp.not.i.i.i262.i.i1332, label %invoke.cont97.i.i1336, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i1333 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i1333: ; preds = %invoke.cont2.i261.i.i1331 + %vtable.i.i.i.i264.i.i1334 = load ptr, ptr %1128, align 8 + %vfn.i.i.i.i265.i.i1335 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i1334, i64 1 + %1129 = load ptr, ptr %vfn.i.i.i.i265.i.i1335, align 8 call void %1129(ptr noundef nonnull align 8 dereferenceable(128) %1128) #30 - br label %invoke.cont97.i.i1334 + br label %invoke.cont97.i.i1336 -lpad.i254.i.i1323: ; preds = %invoke.cont.i260.i.i1328, %.noexc266.i.i1320 +lpad.i254.i.i1325: ; preds = %invoke.cont.i260.i.i1330, %.noexc266.i.i1322 %1130 = landingpad { ptr, i32 } cleanup - %1131 = load ptr, ptr %ref.tmp.i251.i.i1051, align 8, !noalias !1536 - %cmp.not.i.i2.i255.i.i1324 = icmp eq ptr %1131, null - br i1 %cmp.not.i.i2.i255.i.i1324, label %ehcleanup108.i.i1318, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i1325 + %1131 = load ptr, ptr %ref.tmp.i251.i.i1053, align 8, !noalias !1536 + %cmp.not.i.i2.i255.i.i1326 = icmp eq ptr %1131, null + br i1 %cmp.not.i.i2.i255.i.i1326, label %ehcleanup108.i.i1320, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i1327 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i1325: ; preds = %lpad.i254.i.i1323 - %vtable.i.i.i4.i257.i.i1326 = load ptr, ptr %1131, align 8 - %vfn.i.i.i5.i258.i.i1327 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i1326, i64 1 - %1132 = load ptr, ptr %vfn.i.i.i5.i258.i.i1327, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i1327: ; preds = %lpad.i254.i.i1325 + %vtable.i.i.i4.i257.i.i1328 = load ptr, ptr %1131, align 8 + %vfn.i.i.i5.i258.i.i1329 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i1328, i64 1 + %1132 = load ptr, ptr %vfn.i.i.i5.i258.i.i1329, align 8 call void %1132(ptr noundef nonnull align 8 dereferenceable(128) %1131) #30 - br label %ehcleanup108.i.i1318 - -invoke.cont97.i.i1334: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i1331, %invoke.cont2.i261.i.i1329 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i1051), !noalias !1536 - %call81.val83.i.i1335 = load ptr, ptr %__begin072.sroa.0.048.i.i1248, align 8 - %1133 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i1248, i64 8 - %call81.val84.i.i1336 = load i64, ptr %1133, align 8 - %call81.val83.val.i.i1337 = load ptr, ptr %call81.val83.i.i1335, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i1063, ptr %call81.val83.val.i.i1337, i64 %call81.val84.i.i1336) - to label %invoke.cont100.i.i1339 unwind label %lpad96.i.i1317 - -invoke.cont100.i.i1339: ; preds = %invoke.cont97.i.i1334 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i1050), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i1050) - to label %.noexc283.i.i1343 unwind label %lpad101.i.i1340 - -.noexc283.i.i1343: ; preds = %invoke.cont100.i.i1339 - %1134 = load ptr, ptr %ref.tmp.i268.i.i1050, align 8, !noalias !1536 - %add.ptr.i.i269.i.i1344 = getelementptr inbounds i8, ptr %1134, i64 16 - %call2.i1.i270.i.i1345 = 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) %add.ptr.i.i269.i.i1344, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i1063) - to label %invoke.cont.i277.i.i1351 unwind label %lpad.i271.i.i1346 - -invoke.cont.i277.i.i1351: ; preds = %.noexc283.i.i1343 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1062, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i1050) - to label %invoke.cont2.i278.i.i1352 unwind label %lpad.i271.i.i1346 - -invoke.cont2.i278.i.i1352: ; preds = %invoke.cont.i277.i.i1351 - %1135 = load ptr, ptr %ref.tmp.i268.i.i1050, align 8, !noalias !1536 - %cmp.not.i.i.i279.i.i1353 = icmp eq ptr %1135, null - br i1 %cmp.not.i.i.i279.i.i1353, label %invoke.cont102.i.i1357, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i1354 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i1354: ; preds = %invoke.cont2.i278.i.i1352 - %vtable.i.i.i.i281.i.i1355 = load ptr, ptr %1135, align 8 - %vfn.i.i.i.i282.i.i1356 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i1355, i64 1 - %1136 = load ptr, ptr %vfn.i.i.i.i282.i.i1356, align 8 + br label %ehcleanup108.i.i1320 + +invoke.cont97.i.i1336: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i1333, %invoke.cont2.i261.i.i1331 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i1053), !noalias !1536 + %call81.val83.i.i1337 = load ptr, ptr %__begin072.sroa.0.048.i.i1250, align 8 + %1133 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i1250, i64 8 + %call81.val84.i.i1338 = load i64, ptr %1133, align 8 + %call81.val83.val.i.i1339 = load ptr, ptr %call81.val83.i.i1337, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i1065, ptr %call81.val83.val.i.i1339, i64 %call81.val84.i.i1338) + to label %invoke.cont100.i.i1341 unwind label %lpad96.i.i1319 + +invoke.cont100.i.i1341: ; preds = %invoke.cont97.i.i1336 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i1052), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i1052) + to label %.noexc283.i.i1345 unwind label %lpad101.i.i1342 + +.noexc283.i.i1345: ; preds = %invoke.cont100.i.i1341 + %1134 = load ptr, ptr %ref.tmp.i268.i.i1052, align 8, !noalias !1536 + %add.ptr.i.i269.i.i1346 = getelementptr inbounds i8, ptr %1134, i64 16 + %call2.i1.i270.i.i1347 = 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) %add.ptr.i.i269.i.i1346, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i1065) + to label %invoke.cont.i277.i.i1353 unwind label %lpad.i271.i.i1348 + +invoke.cont.i277.i.i1353: ; preds = %.noexc283.i.i1345 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1064, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i1052) + to label %invoke.cont2.i278.i.i1354 unwind label %lpad.i271.i.i1348 + +invoke.cont2.i278.i.i1354: ; preds = %invoke.cont.i277.i.i1353 + %1135 = load ptr, ptr %ref.tmp.i268.i.i1052, align 8, !noalias !1536 + %cmp.not.i.i.i279.i.i1355 = icmp eq ptr %1135, null + br i1 %cmp.not.i.i.i279.i.i1355, label %invoke.cont102.i.i1359, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i1356 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i1356: ; preds = %invoke.cont2.i278.i.i1354 + %vtable.i.i.i.i281.i.i1357 = load ptr, ptr %1135, align 8 + %vfn.i.i.i.i282.i.i1358 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i1357, i64 1 + %1136 = load ptr, ptr %vfn.i.i.i.i282.i.i1358, align 8 call void %1136(ptr noundef nonnull align 8 dereferenceable(128) %1135) #30 - br label %invoke.cont102.i.i1357 + br label %invoke.cont102.i.i1359 -lpad.i271.i.i1346: ; preds = %invoke.cont.i277.i.i1351, %.noexc283.i.i1343 +lpad.i271.i.i1348: ; preds = %invoke.cont.i277.i.i1353, %.noexc283.i.i1345 %1137 = landingpad { ptr, i32 } cleanup - %1138 = load ptr, ptr %ref.tmp.i268.i.i1050, align 8, !noalias !1536 - %cmp.not.i.i2.i272.i.i1347 = icmp eq ptr %1138, null - br i1 %cmp.not.i.i2.i272.i.i1347, label %lpad101.body.i.i1341, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i1348 + %1138 = load ptr, ptr %ref.tmp.i268.i.i1052, align 8, !noalias !1536 + %cmp.not.i.i2.i272.i.i1349 = icmp eq ptr %1138, null + br i1 %cmp.not.i.i2.i272.i.i1349, label %lpad101.body.i.i1343, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i1350 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i1348: ; preds = %lpad.i271.i.i1346 - %vtable.i.i.i4.i274.i.i1349 = load ptr, ptr %1138, align 8 - %vfn.i.i.i5.i275.i.i1350 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i1349, i64 1 - %1139 = load ptr, ptr %vfn.i.i.i5.i275.i.i1350, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i1350: ; preds = %lpad.i271.i.i1348 + %vtable.i.i.i4.i274.i.i1351 = load ptr, ptr %1138, align 8 + %vfn.i.i.i5.i275.i.i1352 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i1351, i64 1 + %1139 = load ptr, ptr %vfn.i.i.i5.i275.i.i1352, align 8 call void %1139(ptr noundef nonnull align 8 dereferenceable(128) %1138) #30 - br label %lpad101.body.i.i1341 - -invoke.cont102.i.i1357: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i1354, %invoke.cont2.i278.i.i1352 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i1050), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i1049), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i1049) - to label %.noexc301.i.i1358 unwind label %lpad101.i.i1340 - -.noexc301.i.i1358: ; preds = %invoke.cont102.i.i1357 - %1140 = load ptr, ptr %ref.tmp.i286.i.i1049, align 8, !noalias !1536 - %add.ptr.i.i287.i.i1359 = getelementptr inbounds i8, ptr %1140, i64 16 - %call2.i1.i288.i.i1360 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i1359, ptr noundef nonnull @.str.108) - to label %invoke.cont.i295.i.i1366 unwind label %lpad.i289.i.i1361 - -invoke.cont.i295.i.i1366: ; preds = %.noexc301.i.i1358 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1062, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i1049) - to label %invoke.cont2.i296.i.i1367 unwind label %lpad.i289.i.i1361 - -invoke.cont2.i296.i.i1367: ; preds = %invoke.cont.i295.i.i1366 - %1141 = load ptr, ptr %ref.tmp.i286.i.i1049, align 8, !noalias !1536 - %cmp.not.i.i.i297.i.i1368 = icmp eq ptr %1141, null - br i1 %cmp.not.i.i.i297.i.i1368, label %invoke.cont104.i.i1372, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i1369 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i1369: ; preds = %invoke.cont2.i296.i.i1367 - %vtable.i.i.i.i299.i.i1370 = load ptr, ptr %1141, align 8 - %vfn.i.i.i.i300.i.i1371 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i1370, i64 1 - %1142 = load ptr, ptr %vfn.i.i.i.i300.i.i1371, align 8 + br label %lpad101.body.i.i1343 + +invoke.cont102.i.i1359: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i1356, %invoke.cont2.i278.i.i1354 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i1052), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i1051), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i1051) + to label %.noexc301.i.i1360 unwind label %lpad101.i.i1342 + +.noexc301.i.i1360: ; preds = %invoke.cont102.i.i1359 + %1140 = load ptr, ptr %ref.tmp.i286.i.i1051, align 8, !noalias !1536 + %add.ptr.i.i287.i.i1361 = getelementptr inbounds i8, ptr %1140, i64 16 + %call2.i1.i288.i.i1362 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i1361, ptr noundef nonnull @.str.108) + to label %invoke.cont.i295.i.i1368 unwind label %lpad.i289.i.i1363 + +invoke.cont.i295.i.i1368: ; preds = %.noexc301.i.i1360 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1064, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i1051) + to label %invoke.cont2.i296.i.i1369 unwind label %lpad.i289.i.i1363 + +invoke.cont2.i296.i.i1369: ; preds = %invoke.cont.i295.i.i1368 + %1141 = load ptr, ptr %ref.tmp.i286.i.i1051, align 8, !noalias !1536 + %cmp.not.i.i.i297.i.i1370 = icmp eq ptr %1141, null + br i1 %cmp.not.i.i.i297.i.i1370, label %invoke.cont104.i.i1374, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i1371 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i1371: ; preds = %invoke.cont2.i296.i.i1369 + %vtable.i.i.i.i299.i.i1372 = load ptr, ptr %1141, align 8 + %vfn.i.i.i.i300.i.i1373 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i1372, i64 1 + %1142 = load ptr, ptr %vfn.i.i.i.i300.i.i1373, align 8 call void %1142(ptr noundef nonnull align 8 dereferenceable(128) %1141) #30 - br label %invoke.cont104.i.i1372 + br label %invoke.cont104.i.i1374 -lpad.i289.i.i1361: ; preds = %invoke.cont.i295.i.i1366, %.noexc301.i.i1358 +lpad.i289.i.i1363: ; preds = %invoke.cont.i295.i.i1368, %.noexc301.i.i1360 %1143 = landingpad { ptr, i32 } cleanup - %1144 = load ptr, ptr %ref.tmp.i286.i.i1049, align 8, !noalias !1536 - %cmp.not.i.i2.i290.i.i1362 = icmp eq ptr %1144, null - br i1 %cmp.not.i.i2.i290.i.i1362, label %lpad101.body.i.i1341, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i1363 + %1144 = load ptr, ptr %ref.tmp.i286.i.i1051, align 8, !noalias !1536 + %cmp.not.i.i2.i290.i.i1364 = icmp eq ptr %1144, null + br i1 %cmp.not.i.i2.i290.i.i1364, label %lpad101.body.i.i1343, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i1365 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i1363: ; preds = %lpad.i289.i.i1361 - %vtable.i.i.i4.i292.i.i1364 = load ptr, ptr %1144, align 8 - %vfn.i.i.i5.i293.i.i1365 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i1364, i64 1 - %1145 = load ptr, ptr %vfn.i.i.i5.i293.i.i1365, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i1365: ; preds = %lpad.i289.i.i1363 + %vtable.i.i.i4.i292.i.i1366 = load ptr, ptr %1144, align 8 + %vfn.i.i.i5.i293.i.i1367 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i1366, i64 1 + %1145 = load ptr, ptr %vfn.i.i.i5.i293.i.i1367, align 8 call void %1145(ptr noundef nonnull align 8 dereferenceable(128) %1144) #30 - br label %lpad101.body.i.i1341 + br label %lpad101.body.i.i1343 -invoke.cont104.i.i1372: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i1369, %invoke.cont2.i296.i.i1367 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i1049), !noalias !1536 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1062) - to label %invoke.cont106.i.i1373 unwind label %lpad101.i.i1340 +invoke.cont104.i.i1374: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i1371, %invoke.cont2.i296.i.i1369 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i1051), !noalias !1536 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1064) + to label %invoke.cont106.i.i1375 unwind label %lpad101.i.i1342 -invoke.cont106.i.i1373: ; preds = %invoke.cont104.i.i1372 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i1063) #30 - %message_.i304.i.i1374 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i1062, i64 0, i32 1 - %1146 = load ptr, ptr %message_.i304.i.i1374, align 8, !noalias !1536 - %cmp.not.i.i305.i.i1375 = icmp eq ptr %1146, null - br i1 %cmp.not.i.i305.i.i1375, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i1377, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i1376 +invoke.cont106.i.i1375: ; preds = %invoke.cont104.i.i1374 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i1065) #30 + %message_.i304.i.i1376 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i1064, i64 0, i32 1 + %1146 = load ptr, ptr %message_.i304.i.i1376, align 8, !noalias !1536 + %cmp.not.i.i305.i.i1377 = icmp eq ptr %1146, null + br i1 %cmp.not.i.i305.i.i1377, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i1379, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i1378 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i1376: ; preds = %invoke.cont106.i.i1373 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i1378: ; preds = %invoke.cont106.i.i1375 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1146) #30 call void @_ZdlPv(ptr noundef nonnull %1146) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i1377 + br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i1379 -_ZN7testing15AssertionResultD2Ev.exit307.i.i1377: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i1376, %invoke.cont106.i.i1373 - store ptr null, ptr %message_.i304.i.i1374, align 8, !noalias !1536 - br label %cleanup257.critedge.i.i1378 +_ZN7testing15AssertionResultD2Ev.exit307.i.i1379: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i1378, %invoke.cont106.i.i1375 + store ptr null, ptr %message_.i304.i.i1376, align 8, !noalias !1536 + br label %cleanup257.critedge.i.i1380 -lpad83.loopexit.i.i1568: ; preds = %if.end158.i.i1563 - %lpad.loopexit.i.i1569 = landingpad { ptr, i32 } +lpad83.loopexit.i.i1570: ; preds = %if.end158.i.i1565 + %lpad.loopexit.i.i1571 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i1254 + br label %ehcleanup252.i.i1256 -lpad83.loopexit.split-lp.loopexit.i.i1252: ; preds = %for.body80.i.i1247, %if.end109.i.i1420 - %lpad.loopexit8.i.i1253 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.i.i1254: ; preds = %for.body80.i.i1249, %if.end109.i.i1422 + %lpad.loopexit8.i.i1255 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i1254 + br label %ehcleanup252.i.i1256 -lpad83.loopexit.split-lp.loopexit.split-lp.i.i1314: ; preds = %if.then116.i.i1451, %if.then93.i.i1313 - %lpad.loopexit.split-lp9.i.i1315 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.split-lp.i.i1316: ; preds = %if.then116.i.i1453, %if.then93.i.i1315 + %lpad.loopexit.split-lp9.i.i1317 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i1254 + br label %ehcleanup252.i.i1256 -lpad86.i.i1260: ; preds = %invoke.cont84.i.i1256 +lpad86.i.i1262: ; preds = %invoke.cont84.i.i1258 %1147 = landingpad { ptr, i32 } cleanup - br label %ehcleanup92.i.i1261 + br label %ehcleanup92.i.i1263 -lpad88.i.i1265: ; preds = %invoke.cont87.i.i1263 +lpad88.i.i1267: ; preds = %invoke.cont87.i.i1265 %1148 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i1061) #30 - br label %ehcleanup92.i.i1261 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i1063) #30 + br label %ehcleanup92.i.i1263 -ehcleanup92.i.i1261: ; preds = %lpad88.i.i1265, %lpad86.i.i1260 - %.pn38.i.i1262 = phi { ptr, i32 } [ %1148, %lpad88.i.i1265 ], [ %1147, %lpad86.i.i1260 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i1060) #30 - br label %ehcleanup252.i.i1254 +ehcleanup92.i.i1263: ; preds = %lpad88.i.i1267, %lpad86.i.i1262 + %.pn38.i.i1264 = phi { ptr, i32 } [ %1148, %lpad88.i.i1267 ], [ %1147, %lpad86.i.i1262 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i1062) #30 + br label %ehcleanup252.i.i1256 -lpad96.i.i1317: ; preds = %invoke.cont97.i.i1334, %invoke.cont95.i.i1316 +lpad96.i.i1319: ; preds = %invoke.cont97.i.i1336, %invoke.cont95.i.i1318 %1149 = landingpad { ptr, i32 } cleanup - br label %ehcleanup108.i.i1318 + br label %ehcleanup108.i.i1320 -lpad101.i.i1340: ; preds = %invoke.cont104.i.i1372, %invoke.cont102.i.i1357, %invoke.cont100.i.i1339 +lpad101.i.i1342: ; preds = %invoke.cont104.i.i1374, %invoke.cont102.i.i1359, %invoke.cont100.i.i1341 %1150 = landingpad { ptr, i32 } cleanup - br label %lpad101.body.i.i1341 - -lpad101.body.i.i1341: ; preds = %lpad101.i.i1340, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i1363, %lpad.i289.i.i1361, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i1348, %lpad.i271.i.i1346 - %eh.lpad-body284.i.i1342 = phi { ptr, i32 } [ %1137, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i1348 ], [ %1137, %lpad.i271.i.i1346 ], [ %1150, %lpad101.i.i1340 ], [ %1143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i1363 ], [ %1143, %lpad.i289.i.i1361 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i1063) #30 - br label %ehcleanup108.i.i1318 - -ehcleanup108.i.i1318: ; preds = %lpad101.body.i.i1341, %lpad96.i.i1317, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i1325, %lpad.i254.i.i1323 - %.pn43.i.i1319 = phi { ptr, i32 } [ %eh.lpad-body284.i.i1342, %lpad101.body.i.i1341 ], [ %1149, %lpad96.i.i1317 ], [ %1130, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i1325 ], [ %1130, %lpad.i254.i.i1323 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1062) #30 - br label %ehcleanup252.i.i1254 - -if.end109.i.i1420: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1312 - %call81.val66.i.i1421 = load ptr, ptr %__begin072.sroa.0.048.i.i1248, align 8 - %call81.val66.val.i.i1422 = load ptr, ptr %call81.val66.i.i1421, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i1064, ptr %call81.val66.val.i.i1422) - to label %invoke.cont111.i.i1424 unwind label %lpad83.loopexit.split-lp.loopexit.i.i1252 - -invoke.cont111.i.i1424: ; preds = %if.end109.i.i1420 - %call.i.i309.i.i1425 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i1064, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i1059) - to label %invoke.cont113.i.i1427 unwind label %lpad112.i.i1426 - -invoke.cont113.i.i1427: ; preds = %invoke.cont111.i.i1424 - %1151 = load ptr, ptr %_M_refcount.i.i.i311.i.i1229, align 8, !noalias !1536 - %cmp.not.i.i.i.i312.i.i1428 = icmp eq ptr %1151, null - br i1 %cmp.not.i.i.i.i312.i.i1428, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439, label %if.then.i.i.i.i313.i.i1429 - -if.then.i.i.i.i313.i.i1429: ; preds = %invoke.cont113.i.i1427 - %_M_use_count.i.i.i.i.i314.i.i1430 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1151, i64 0, i32 1 - %1152 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i1430 acquire, align 8 - %cmp.i.i.i.i.i315.i.i1431 = icmp eq i64 %1152, 4294967297 + br label %lpad101.body.i.i1343 + +lpad101.body.i.i1343: ; preds = %lpad101.i.i1342, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i1365, %lpad.i289.i.i1363, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i1350, %lpad.i271.i.i1348 + %eh.lpad-body284.i.i1344 = phi { ptr, i32 } [ %1137, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i1350 ], [ %1137, %lpad.i271.i.i1348 ], [ %1150, %lpad101.i.i1342 ], [ %1143, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i1365 ], [ %1143, %lpad.i289.i.i1363 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i1065) #30 + br label %ehcleanup108.i.i1320 + +ehcleanup108.i.i1320: ; preds = %lpad101.body.i.i1343, %lpad96.i.i1319, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i1327, %lpad.i254.i.i1325 + %.pn43.i.i1321 = phi { ptr, i32 } [ %eh.lpad-body284.i.i1344, %lpad101.body.i.i1343 ], [ %1149, %lpad96.i.i1319 ], [ %1130, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i1327 ], [ %1130, %lpad.i254.i.i1325 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i1064) #30 + br label %ehcleanup252.i.i1256 + +if.end109.i.i1422: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i1314 + %call81.val66.i.i1423 = load ptr, ptr %__begin072.sroa.0.048.i.i1250, align 8 + %call81.val66.val.i.i1424 = load ptr, ptr %call81.val66.i.i1423, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i1066, ptr %call81.val66.val.i.i1424) + to label %invoke.cont111.i.i1426 unwind label %lpad83.loopexit.split-lp.loopexit.i.i1254 + +invoke.cont111.i.i1426: ; preds = %if.end109.i.i1422 + %call.i.i309.i.i1427 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i1066, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i1061) + to label %invoke.cont113.i.i1429 unwind label %lpad112.i.i1428 + +invoke.cont113.i.i1429: ; preds = %invoke.cont111.i.i1426 + %1151 = load ptr, ptr %_M_refcount.i.i.i311.i.i1231, align 8, !noalias !1536 + %cmp.not.i.i.i.i312.i.i1430 = icmp eq ptr %1151, null + br i1 %cmp.not.i.i.i.i312.i.i1430, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441, label %if.then.i.i.i.i313.i.i1431 + +if.then.i.i.i.i313.i.i1431: ; preds = %invoke.cont113.i.i1429 + %_M_use_count.i.i.i.i.i314.i.i1432 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1151, i64 0, i32 1 + %1152 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i1432 acquire, align 8 + %cmp.i.i.i.i.i315.i.i1433 = icmp eq i64 %1152, 4294967297 %1153 = trunc i64 %1152 to i32 - br i1 %cmp.i.i.i.i.i315.i.i1431, label %if.then.i.i.i.i.i350.i.i2036, label %if.end.i.i.i.i.i316.i.i1432 - -if.then.i.i.i.i.i350.i.i2036: ; preds = %if.then.i.i.i.i313.i.i1429 - store i32 0, ptr %_M_use_count.i.i.i.i.i314.i.i1430, align 8 - %_M_weak_count.i.i.i.i.i351.i.i2037 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1151, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i351.i.i2037, align 4 - %vtable.i.i.i.i.i352.i.i2038 = load ptr, ptr %1151, align 8 - %vfn.i.i.i.i.i353.i.i2039 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i352.i.i2038, i64 2 - %1154 = load ptr, ptr %vfn.i.i.i.i.i353.i.i2039, align 8 + br i1 %cmp.i.i.i.i.i315.i.i1433, label %if.then.i.i.i.i.i350.i.i2038, label %if.end.i.i.i.i.i316.i.i1434 + +if.then.i.i.i.i.i350.i.i2038: ; preds = %if.then.i.i.i.i313.i.i1431 + store i32 0, ptr %_M_use_count.i.i.i.i.i314.i.i1432, align 8 + %_M_weak_count.i.i.i.i.i351.i.i2039 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1151, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i351.i.i2039, align 4 + %vtable.i.i.i.i.i352.i.i2040 = load ptr, ptr %1151, align 8 + %vfn.i.i.i.i.i353.i.i2041 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i352.i.i2040, i64 2 + %1154 = load ptr, ptr %vfn.i.i.i.i.i353.i.i2041, align 8 call void %1154(ptr noundef nonnull align 8 dereferenceable(16) %1151) #30 - br label %if.end8.sink.split.i.i.i.i.i345.i.i2031 + br label %if.end8.sink.split.i.i.i.i.i345.i.i2033 -if.end.i.i.i.i.i316.i.i1432: ; preds = %if.then.i.i.i.i313.i.i1429 +if.end.i.i.i.i.i316.i.i1434: ; preds = %if.then.i.i.i.i313.i.i1431 %1155 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i317.i.i1433 = icmp eq i8 %1155, 0 - br i1 %tobool.i.i.not.i.i.i.i.i317.i.i1433, label %if.else.i.i.i.i.i.i349.i.i2035, label %if.then.i.i.i.i.i.i318.i.i1434 - -if.then.i.i.i.i.i.i318.i.i1434: ; preds = %if.end.i.i.i.i.i316.i.i1432 - %add.i.i.i.i.i.i319.i.i1435 = add nsw i32 %1153, -1 - store i32 %add.i.i.i.i.i.i319.i.i1435, ptr %_M_use_count.i.i.i.i.i314.i.i1430, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1436 - -if.else.i.i.i.i.i.i349.i.i2035: ; preds = %if.end.i.i.i.i.i316.i.i1432 - %1156 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i314.i.i1430, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1436 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1436: ; preds = %if.else.i.i.i.i.i.i349.i.i2035, %if.then.i.i.i.i.i.i318.i.i1434 - %retval.i.0.i.i.i.i.i321.i.i1437 = phi i32 [ %1153, %if.then.i.i.i.i.i.i318.i.i1434 ], [ %1156, %if.else.i.i.i.i.i.i349.i.i2035 ] - %cmp6.i.i.i.i.i322.i.i1438 = icmp eq i32 %retval.i.0.i.i.i.i.i321.i.i1437, 1 - br i1 %cmp6.i.i.i.i.i322.i.i1438, label %if.then7.i.i.i.i.i335.i.i2021, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439 - -if.then7.i.i.i.i.i335.i.i2021: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1436 - %vtable.i.i.i.i.i.i.i336.i.i2022 = load ptr, ptr %1151, align 8 - %vfn.i.i.i.i.i.i.i337.i.i2023 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i336.i.i2022, i64 2 - %1157 = load ptr, ptr %vfn.i.i.i.i.i.i.i337.i.i2023, align 8 + %tobool.i.i.not.i.i.i.i.i317.i.i1435 = icmp eq i8 %1155, 0 + br i1 %tobool.i.i.not.i.i.i.i.i317.i.i1435, label %if.else.i.i.i.i.i.i349.i.i2037, label %if.then.i.i.i.i.i.i318.i.i1436 + +if.then.i.i.i.i.i.i318.i.i1436: ; preds = %if.end.i.i.i.i.i316.i.i1434 + %add.i.i.i.i.i.i319.i.i1437 = add nsw i32 %1153, -1 + store i32 %add.i.i.i.i.i.i319.i.i1437, ptr %_M_use_count.i.i.i.i.i314.i.i1432, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1438 + +if.else.i.i.i.i.i.i349.i.i2037: ; preds = %if.end.i.i.i.i.i316.i.i1434 + %1156 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i314.i.i1432, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1438 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1438: ; preds = %if.else.i.i.i.i.i.i349.i.i2037, %if.then.i.i.i.i.i.i318.i.i1436 + %retval.i.0.i.i.i.i.i321.i.i1439 = phi i32 [ %1153, %if.then.i.i.i.i.i.i318.i.i1436 ], [ %1156, %if.else.i.i.i.i.i.i349.i.i2037 ] + %cmp6.i.i.i.i.i322.i.i1440 = icmp eq i32 %retval.i.0.i.i.i.i.i321.i.i1439, 1 + br i1 %cmp6.i.i.i.i.i322.i.i1440, label %if.then7.i.i.i.i.i335.i.i2023, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441 + +if.then7.i.i.i.i.i335.i.i2023: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1438 + %vtable.i.i.i.i.i.i.i336.i.i2024 = load ptr, ptr %1151, align 8 + %vfn.i.i.i.i.i.i.i337.i.i2025 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i336.i.i2024, i64 2 + %1157 = load ptr, ptr %vfn.i.i.i.i.i.i.i337.i.i2025, align 8 call void %1157(ptr noundef nonnull align 8 dereferenceable(16) %1151) #30 - %_M_weak_count.i.i.i.i.i.i.i338.i.i2024 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1151, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i338.i.i2026 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1151, i64 0, i32 2 %1158 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i339.i.i2025 = icmp eq i8 %1158, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i339.i.i2025, label %if.else.i.i.i.i.i.i.i.i348.i.i2034, label %if.then.i.i.i.i.i.i.i.i340.i.i2026 - -if.then.i.i.i.i.i.i.i.i340.i.i2026: ; preds = %if.then7.i.i.i.i.i335.i.i2021 - %1159 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i2024, align 4 - %add.i.i.i.i.i.i.i.i341.i.i2027 = add nsw i32 %1159, -1 - store i32 %add.i.i.i.i.i.i.i.i341.i.i2027, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i2024, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2028 - -if.else.i.i.i.i.i.i.i.i348.i.i2034: ; preds = %if.then7.i.i.i.i.i335.i.i2021 - %1160 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i2024, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2028 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2028: ; preds = %if.else.i.i.i.i.i.i.i.i348.i.i2034, %if.then.i.i.i.i.i.i.i.i340.i.i2026 - %retval.i.0.i.i.i.i.i.i.i343.i.i2029 = phi i32 [ %1159, %if.then.i.i.i.i.i.i.i.i340.i.i2026 ], [ %1160, %if.else.i.i.i.i.i.i.i.i348.i.i2034 ] - %cmp.i.i.i.i.i.i.i344.i.i2030 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i343.i.i2029, 1 - br i1 %cmp.i.i.i.i.i.i.i344.i.i2030, label %if.end8.sink.split.i.i.i.i.i345.i.i2031, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439 - -if.end8.sink.split.i.i.i.i.i345.i.i2031: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2028, %if.then.i.i.i.i.i350.i.i2036 - %vtable2.i.i.i.i.i.i.i346.i.i2032 = load ptr, ptr %1151, align 8 - %vfn3.i.i.i.i.i.i.i347.i.i2033 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i346.i.i2032, i64 3 - %1161 = load ptr, ptr %vfn3.i.i.i.i.i.i.i347.i.i2033, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i339.i.i2027 = icmp eq i8 %1158, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i339.i.i2027, label %if.else.i.i.i.i.i.i.i.i348.i.i2036, label %if.then.i.i.i.i.i.i.i.i340.i.i2028 + +if.then.i.i.i.i.i.i.i.i340.i.i2028: ; preds = %if.then7.i.i.i.i.i335.i.i2023 + %1159 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i2026, align 4 + %add.i.i.i.i.i.i.i.i341.i.i2029 = add nsw i32 %1159, -1 + store i32 %add.i.i.i.i.i.i.i.i341.i.i2029, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i2026, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2030 + +if.else.i.i.i.i.i.i.i.i348.i.i2036: ; preds = %if.then7.i.i.i.i.i335.i.i2023 + %1160 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i2026, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2030 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2030: ; preds = %if.else.i.i.i.i.i.i.i.i348.i.i2036, %if.then.i.i.i.i.i.i.i.i340.i.i2028 + %retval.i.0.i.i.i.i.i.i.i343.i.i2031 = phi i32 [ %1159, %if.then.i.i.i.i.i.i.i.i340.i.i2028 ], [ %1160, %if.else.i.i.i.i.i.i.i.i348.i.i2036 ] + %cmp.i.i.i.i.i.i.i344.i.i2032 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i343.i.i2031, 1 + br i1 %cmp.i.i.i.i.i.i.i344.i.i2032, label %if.end8.sink.split.i.i.i.i.i345.i.i2033, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441 + +if.end8.sink.split.i.i.i.i.i345.i.i2033: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2030, %if.then.i.i.i.i.i350.i.i2038 + %vtable2.i.i.i.i.i.i.i346.i.i2034 = load ptr, ptr %1151, align 8 + %vfn3.i.i.i.i.i.i.i347.i.i2035 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i346.i.i2034, i64 3 + %1161 = load ptr, ptr %vfn3.i.i.i.i.i.i.i347.i.i2035, align 8 call void %1161(ptr noundef nonnull align 8 dereferenceable(16) %1151) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i2031, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2028, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1436, %invoke.cont113.i.i1427 - %1162 = load ptr, ptr %ref.tmp110.i.i1064, align 8, !noalias !1536 - %1163 = load ptr, ptr %_M_finish.i.i324.i.i1230, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i325.i.i1440 = icmp eq ptr %1162, %1163 - br i1 %cmp.not3.i.i.i.i.i325.i.i1440, label %invoke.cont.i.i332.i.i1447, label %for.body.i.i.i.i.i326.i.i1441 - -for.body.i.i.i.i.i326.i.i1441: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439, %for.body.i.i.i.i.i326.i.i1441 - %__first.addr.04.i.i.i.i.i327.i.i1442 = phi ptr [ %incdec.ptr.i.i.i.i.i328.i.i1443, %for.body.i.i.i.i.i326.i.i1441 ], [ %1162, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i327.i.i1442) #30 - %incdec.ptr.i.i.i.i.i328.i.i1443 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i327.i.i1442, i64 1 - %cmp.not.i.i.i.i.i329.i.i1444 = icmp eq ptr %incdec.ptr.i.i.i.i.i328.i.i1443, %1163 - br i1 %cmp.not.i.i.i.i.i329.i.i1444, label %invoke.contthread-pre-split.i.i330.i.i1445, label %for.body.i.i.i.i.i326.i.i1441, !llvm.loop !8 - -invoke.contthread-pre-split.i.i330.i.i1445: ; preds = %for.body.i.i.i.i.i326.i.i1441 - %.pr.i.i331.i.i1446 = load ptr, ptr %ref.tmp110.i.i1064, align 8, !noalias !1536 - br label %invoke.cont.i.i332.i.i1447 - -invoke.cont.i.i332.i.i1447: ; preds = %invoke.contthread-pre-split.i.i330.i.i1445, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439 - %1164 = phi ptr [ %.pr.i.i331.i.i1446, %invoke.contthread-pre-split.i.i330.i.i1445 ], [ %1162, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1439 ] - %tobool.not.i.i.i.i333.i.i1448 = icmp eq ptr %1164, null - br i1 %tobool.not.i.i.i.i333.i.i1448, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1450, label %if.then.i.i.i1.i334.i.i1449 - -if.then.i.i.i1.i334.i.i1449: ; preds = %invoke.cont.i.i332.i.i1447 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i2033, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i2030, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i1438, %invoke.cont113.i.i1429 + %1162 = load ptr, ptr %ref.tmp110.i.i1066, align 8, !noalias !1536 + %1163 = load ptr, ptr %_M_finish.i.i324.i.i1232, align 8, !noalias !1536 + %cmp.not3.i.i.i.i.i325.i.i1442 = icmp eq ptr %1162, %1163 + br i1 %cmp.not3.i.i.i.i.i325.i.i1442, label %invoke.cont.i.i332.i.i1449, label %for.body.i.i.i.i.i326.i.i1443 + +for.body.i.i.i.i.i326.i.i1443: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441, %for.body.i.i.i.i.i326.i.i1443 + %__first.addr.04.i.i.i.i.i327.i.i1444 = phi ptr [ %incdec.ptr.i.i.i.i.i328.i.i1445, %for.body.i.i.i.i.i326.i.i1443 ], [ %1162, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i327.i.i1444) #30 + %incdec.ptr.i.i.i.i.i328.i.i1445 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i327.i.i1444, i64 1 + %cmp.not.i.i.i.i.i329.i.i1446 = icmp eq ptr %incdec.ptr.i.i.i.i.i328.i.i1445, %1163 + br i1 %cmp.not.i.i.i.i.i329.i.i1446, label %invoke.contthread-pre-split.i.i330.i.i1447, label %for.body.i.i.i.i.i326.i.i1443, !llvm.loop !8 + +invoke.contthread-pre-split.i.i330.i.i1447: ; preds = %for.body.i.i.i.i.i326.i.i1443 + %.pr.i.i331.i.i1448 = load ptr, ptr %ref.tmp110.i.i1066, align 8, !noalias !1536 + br label %invoke.cont.i.i332.i.i1449 + +invoke.cont.i.i332.i.i1449: ; preds = %invoke.contthread-pre-split.i.i330.i.i1447, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441 + %1164 = phi ptr [ %.pr.i.i331.i.i1448, %invoke.contthread-pre-split.i.i330.i.i1447 ], [ %1162, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i1441 ] + %tobool.not.i.i.i.i333.i.i1450 = icmp eq ptr %1164, null + br i1 %tobool.not.i.i.i.i333.i.i1450, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1452, label %if.then.i.i.i1.i334.i.i1451 + +if.then.i.i.i1.i334.i.i1451: ; preds = %invoke.cont.i.i332.i.i1449 call void @_ZdlPv(ptr noundef nonnull %1164) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1450 - -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1450: ; preds = %if.then.i.i.i1.i334.i.i1449, %invoke.cont.i.i332.i.i1447 - br i1 %call.i.i309.i.i1425, label %for.inc142.i.i1553, label %if.then116.i.i1451 - -if.then116.i.i1451: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1450 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i1065) - to label %invoke.cont118.i.i1452 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i1314 - -invoke.cont118.i.i1452: ; preds = %if.then116.i.i1451 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i1048), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i1048) - to label %.noexc370.i.i1456 unwind label %lpad119.i.i1453 - -.noexc370.i.i1456: ; preds = %invoke.cont118.i.i1452 - %1165 = load ptr, ptr %ref.tmp.i355.i.i1048, align 8, !noalias !1536 - %add.ptr.i.i356.i.i1457 = getelementptr inbounds i8, ptr %1165, i64 16 - %call2.i1.i357.i.i1458 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i1457, ptr noundef nonnull @.str.109) - to label %invoke.cont.i364.i.i1464 unwind label %lpad.i358.i.i1459 - -invoke.cont.i364.i.i1464: ; preds = %.noexc370.i.i1456 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1065, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i1048) - to label %invoke.cont2.i365.i.i1465 unwind label %lpad.i358.i.i1459 - -invoke.cont2.i365.i.i1465: ; preds = %invoke.cont.i364.i.i1464 - %1166 = load ptr, ptr %ref.tmp.i355.i.i1048, align 8, !noalias !1536 - %cmp.not.i.i.i366.i.i1466 = icmp eq ptr %1166, null - br i1 %cmp.not.i.i.i366.i.i1466, label %invoke.cont120.i.i1470, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i1467 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i1467: ; preds = %invoke.cont2.i365.i.i1465 - %vtable.i.i.i.i368.i.i1468 = load ptr, ptr %1166, align 8 - %vfn.i.i.i.i369.i.i1469 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i1468, i64 1 - %1167 = load ptr, ptr %vfn.i.i.i.i369.i.i1469, align 8 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1452 + +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1452: ; preds = %if.then.i.i.i1.i334.i.i1451, %invoke.cont.i.i332.i.i1449 + br i1 %call.i.i309.i.i1427, label %for.inc142.i.i1555, label %if.then116.i.i1453 + +if.then116.i.i1453: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1452 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i1067) + to label %invoke.cont118.i.i1454 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i1316 + +invoke.cont118.i.i1454: ; preds = %if.then116.i.i1453 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i1050), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i1050) + to label %.noexc370.i.i1458 unwind label %lpad119.i.i1455 + +.noexc370.i.i1458: ; preds = %invoke.cont118.i.i1454 + %1165 = load ptr, ptr %ref.tmp.i355.i.i1050, align 8, !noalias !1536 + %add.ptr.i.i356.i.i1459 = getelementptr inbounds i8, ptr %1165, i64 16 + %call2.i1.i357.i.i1460 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i1459, ptr noundef nonnull @.str.109) + to label %invoke.cont.i364.i.i1466 unwind label %lpad.i358.i.i1461 + +invoke.cont.i364.i.i1466: ; preds = %.noexc370.i.i1458 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1067, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i1050) + to label %invoke.cont2.i365.i.i1467 unwind label %lpad.i358.i.i1461 + +invoke.cont2.i365.i.i1467: ; preds = %invoke.cont.i364.i.i1466 + %1166 = load ptr, ptr %ref.tmp.i355.i.i1050, align 8, !noalias !1536 + %cmp.not.i.i.i366.i.i1468 = icmp eq ptr %1166, null + br i1 %cmp.not.i.i.i366.i.i1468, label %invoke.cont120.i.i1472, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i1469 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i1469: ; preds = %invoke.cont2.i365.i.i1467 + %vtable.i.i.i.i368.i.i1470 = load ptr, ptr %1166, align 8 + %vfn.i.i.i.i369.i.i1471 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i1470, i64 1 + %1167 = load ptr, ptr %vfn.i.i.i.i369.i.i1471, align 8 call void %1167(ptr noundef nonnull align 8 dereferenceable(128) %1166) #30 - br label %invoke.cont120.i.i1470 + br label %invoke.cont120.i.i1472 -lpad.i358.i.i1459: ; preds = %invoke.cont.i364.i.i1464, %.noexc370.i.i1456 +lpad.i358.i.i1461: ; preds = %invoke.cont.i364.i.i1466, %.noexc370.i.i1458 %1168 = landingpad { ptr, i32 } cleanup - %1169 = load ptr, ptr %ref.tmp.i355.i.i1048, align 8, !noalias !1536 - %cmp.not.i.i2.i359.i.i1460 = icmp eq ptr %1169, null - br i1 %cmp.not.i.i2.i359.i.i1460, label %ehcleanup140.i.i1454, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i1461 + %1169 = load ptr, ptr %ref.tmp.i355.i.i1050, align 8, !noalias !1536 + %cmp.not.i.i2.i359.i.i1462 = icmp eq ptr %1169, null + br i1 %cmp.not.i.i2.i359.i.i1462, label %ehcleanup140.i.i1456, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i1463 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i1461: ; preds = %lpad.i358.i.i1459 - %vtable.i.i.i4.i361.i.i1462 = load ptr, ptr %1169, align 8 - %vfn.i.i.i5.i362.i.i1463 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i1462, i64 1 - %1170 = load ptr, ptr %vfn.i.i.i5.i362.i.i1463, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i1463: ; preds = %lpad.i358.i.i1461 + %vtable.i.i.i4.i361.i.i1464 = load ptr, ptr %1169, align 8 + %vfn.i.i.i5.i362.i.i1465 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i1464, i64 1 + %1170 = load ptr, ptr %vfn.i.i.i5.i362.i.i1465, align 8 call void %1170(ptr noundef nonnull align 8 dereferenceable(128) %1169) #30 - br label %ehcleanup140.i.i1454 - -invoke.cont120.i.i1470: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i1467, %invoke.cont2.i365.i.i1465 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i1048), !noalias !1536 - %call68.val73.i.i1471 = load ptr, ptr %__begin058.sroa.0.052.i.i1236, align 8 - %call123.val.i.i1472 = load ptr, ptr %call68.val73.i.i1471, align 8 - %1171 = getelementptr i8, ptr %call68.val73.i.i1471, i64 8 - %call123.val85.i.i1473 = load i64, ptr %1171, align 8 - %call123.val.val.i.i1474 = load ptr, ptr %call123.val.i.i1472, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i1066, ptr %call123.val.val.i.i1474, i64 %call123.val85.i.i1473) - to label %invoke.cont124.i.i1476 unwind label %lpad119.i.i1453 - -invoke.cont124.i.i1476: ; preds = %invoke.cont120.i.i1470 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i1047), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i1047) - to label %.noexc387.i.i1480 unwind label %lpad125.i.i1477 - -.noexc387.i.i1480: ; preds = %invoke.cont124.i.i1476 - %1172 = load ptr, ptr %ref.tmp.i372.i.i1047, align 8, !noalias !1536 - %add.ptr.i.i373.i.i1481 = getelementptr inbounds i8, ptr %1172, i64 16 - %call2.i1.i374.i.i1482 = 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) %add.ptr.i.i373.i.i1481, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i1066) - to label %invoke.cont.i381.i.i1488 unwind label %lpad.i375.i.i1483 - -invoke.cont.i381.i.i1488: ; preds = %.noexc387.i.i1480 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1065, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i1047) - to label %invoke.cont2.i382.i.i1489 unwind label %lpad.i375.i.i1483 - -invoke.cont2.i382.i.i1489: ; preds = %invoke.cont.i381.i.i1488 - %1173 = load ptr, ptr %ref.tmp.i372.i.i1047, align 8, !noalias !1536 - %cmp.not.i.i.i383.i.i1490 = icmp eq ptr %1173, null - br i1 %cmp.not.i.i.i383.i.i1490, label %invoke.cont126.i.i1494, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i1491 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i1491: ; preds = %invoke.cont2.i382.i.i1489 - %vtable.i.i.i.i385.i.i1492 = load ptr, ptr %1173, align 8 - %vfn.i.i.i.i386.i.i1493 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i1492, i64 1 - %1174 = load ptr, ptr %vfn.i.i.i.i386.i.i1493, align 8 + br label %ehcleanup140.i.i1456 + +invoke.cont120.i.i1472: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i1469, %invoke.cont2.i365.i.i1467 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i1050), !noalias !1536 + %call68.val73.i.i1473 = load ptr, ptr %__begin058.sroa.0.052.i.i1238, align 8 + %call123.val.i.i1474 = load ptr, ptr %call68.val73.i.i1473, align 8 + %1171 = getelementptr i8, ptr %call68.val73.i.i1473, i64 8 + %call123.val85.i.i1475 = load i64, ptr %1171, align 8 + %call123.val.val.i.i1476 = load ptr, ptr %call123.val.i.i1474, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i1068, ptr %call123.val.val.i.i1476, i64 %call123.val85.i.i1475) + to label %invoke.cont124.i.i1478 unwind label %lpad119.i.i1455 + +invoke.cont124.i.i1478: ; preds = %invoke.cont120.i.i1472 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i1049), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i1049) + to label %.noexc387.i.i1482 unwind label %lpad125.i.i1479 + +.noexc387.i.i1482: ; preds = %invoke.cont124.i.i1478 + %1172 = load ptr, ptr %ref.tmp.i372.i.i1049, align 8, !noalias !1536 + %add.ptr.i.i373.i.i1483 = getelementptr inbounds i8, ptr %1172, i64 16 + %call2.i1.i374.i.i1484 = 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) %add.ptr.i.i373.i.i1483, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i1068) + to label %invoke.cont.i381.i.i1490 unwind label %lpad.i375.i.i1485 + +invoke.cont.i381.i.i1490: ; preds = %.noexc387.i.i1482 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1067, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i1049) + to label %invoke.cont2.i382.i.i1491 unwind label %lpad.i375.i.i1485 + +invoke.cont2.i382.i.i1491: ; preds = %invoke.cont.i381.i.i1490 + %1173 = load ptr, ptr %ref.tmp.i372.i.i1049, align 8, !noalias !1536 + %cmp.not.i.i.i383.i.i1492 = icmp eq ptr %1173, null + br i1 %cmp.not.i.i.i383.i.i1492, label %invoke.cont126.i.i1496, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i1493 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i1493: ; preds = %invoke.cont2.i382.i.i1491 + %vtable.i.i.i.i385.i.i1494 = load ptr, ptr %1173, align 8 + %vfn.i.i.i.i386.i.i1495 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i1494, i64 1 + %1174 = load ptr, ptr %vfn.i.i.i.i386.i.i1495, align 8 call void %1174(ptr noundef nonnull align 8 dereferenceable(128) %1173) #30 - br label %invoke.cont126.i.i1494 + br label %invoke.cont126.i.i1496 -lpad.i375.i.i1483: ; preds = %invoke.cont.i381.i.i1488, %.noexc387.i.i1480 +lpad.i375.i.i1485: ; preds = %invoke.cont.i381.i.i1490, %.noexc387.i.i1482 %1175 = landingpad { ptr, i32 } cleanup - %1176 = load ptr, ptr %ref.tmp.i372.i.i1047, align 8, !noalias !1536 - %cmp.not.i.i2.i376.i.i1484 = icmp eq ptr %1176, null - br i1 %cmp.not.i.i2.i376.i.i1484, label %ehcleanup139.i.i1478, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i1485 + %1176 = load ptr, ptr %ref.tmp.i372.i.i1049, align 8, !noalias !1536 + %cmp.not.i.i2.i376.i.i1486 = icmp eq ptr %1176, null + br i1 %cmp.not.i.i2.i376.i.i1486, label %ehcleanup139.i.i1480, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i1487 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i1485: ; preds = %lpad.i375.i.i1483 - %vtable.i.i.i4.i378.i.i1486 = load ptr, ptr %1176, align 8 - %vfn.i.i.i5.i379.i.i1487 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i1486, i64 1 - %1177 = load ptr, ptr %vfn.i.i.i5.i379.i.i1487, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i1487: ; preds = %lpad.i375.i.i1485 + %vtable.i.i.i4.i378.i.i1488 = load ptr, ptr %1176, align 8 + %vfn.i.i.i5.i379.i.i1489 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i1488, i64 1 + %1177 = load ptr, ptr %vfn.i.i.i5.i379.i.i1489, align 8 call void %1177(ptr noundef nonnull align 8 dereferenceable(128) %1176) #30 - br label %ehcleanup139.i.i1478 - -invoke.cont126.i.i1494: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i1491, %invoke.cont2.i382.i.i1489 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i1047), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i1046), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i1046) - to label %.noexc405.i.i1495 unwind label %lpad125.i.i1477 - -.noexc405.i.i1495: ; preds = %invoke.cont126.i.i1494 - %1178 = load ptr, ptr %ref.tmp.i390.i.i1046, align 8, !noalias !1536 - %add.ptr.i.i391.i.i1496 = getelementptr inbounds i8, ptr %1178, i64 16 - %call2.i1.i392.i.i1497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i1496, ptr noundef nonnull @.str.110) - to label %invoke.cont.i399.i.i1503 unwind label %lpad.i393.i.i1498 - -invoke.cont.i399.i.i1503: ; preds = %.noexc405.i.i1495 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1065, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i1046) - to label %invoke.cont2.i400.i.i1504 unwind label %lpad.i393.i.i1498 - -invoke.cont2.i400.i.i1504: ; preds = %invoke.cont.i399.i.i1503 - %1179 = load ptr, ptr %ref.tmp.i390.i.i1046, align 8, !noalias !1536 - %cmp.not.i.i.i401.i.i1505 = icmp eq ptr %1179, null - br i1 %cmp.not.i.i.i401.i.i1505, label %invoke.cont128.i.i1509, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i1506 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i1506: ; preds = %invoke.cont2.i400.i.i1504 - %vtable.i.i.i.i403.i.i1507 = load ptr, ptr %1179, align 8 - %vfn.i.i.i.i404.i.i1508 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i1507, i64 1 - %1180 = load ptr, ptr %vfn.i.i.i.i404.i.i1508, align 8 + br label %ehcleanup139.i.i1480 + +invoke.cont126.i.i1496: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i1493, %invoke.cont2.i382.i.i1491 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i1049), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i1048), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i1048) + to label %.noexc405.i.i1497 unwind label %lpad125.i.i1479 + +.noexc405.i.i1497: ; preds = %invoke.cont126.i.i1496 + %1178 = load ptr, ptr %ref.tmp.i390.i.i1048, align 8, !noalias !1536 + %add.ptr.i.i391.i.i1498 = getelementptr inbounds i8, ptr %1178, i64 16 + %call2.i1.i392.i.i1499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i1498, ptr noundef nonnull @.str.110) + to label %invoke.cont.i399.i.i1505 unwind label %lpad.i393.i.i1500 + +invoke.cont.i399.i.i1505: ; preds = %.noexc405.i.i1497 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1067, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i1048) + to label %invoke.cont2.i400.i.i1506 unwind label %lpad.i393.i.i1500 + +invoke.cont2.i400.i.i1506: ; preds = %invoke.cont.i399.i.i1505 + %1179 = load ptr, ptr %ref.tmp.i390.i.i1048, align 8, !noalias !1536 + %cmp.not.i.i.i401.i.i1507 = icmp eq ptr %1179, null + br i1 %cmp.not.i.i.i401.i.i1507, label %invoke.cont128.i.i1511, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i1508 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i1508: ; preds = %invoke.cont2.i400.i.i1506 + %vtable.i.i.i.i403.i.i1509 = load ptr, ptr %1179, align 8 + %vfn.i.i.i.i404.i.i1510 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i1509, i64 1 + %1180 = load ptr, ptr %vfn.i.i.i.i404.i.i1510, align 8 call void %1180(ptr noundef nonnull align 8 dereferenceable(128) %1179) #30 - br label %invoke.cont128.i.i1509 + br label %invoke.cont128.i.i1511 -lpad.i393.i.i1498: ; preds = %invoke.cont.i399.i.i1503, %.noexc405.i.i1495 +lpad.i393.i.i1500: ; preds = %invoke.cont.i399.i.i1505, %.noexc405.i.i1497 %1181 = landingpad { ptr, i32 } cleanup - %1182 = load ptr, ptr %ref.tmp.i390.i.i1046, align 8, !noalias !1536 - %cmp.not.i.i2.i394.i.i1499 = icmp eq ptr %1182, null - br i1 %cmp.not.i.i2.i394.i.i1499, label %ehcleanup139.i.i1478, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i1500 + %1182 = load ptr, ptr %ref.tmp.i390.i.i1048, align 8, !noalias !1536 + %cmp.not.i.i2.i394.i.i1501 = icmp eq ptr %1182, null + br i1 %cmp.not.i.i2.i394.i.i1501, label %ehcleanup139.i.i1480, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i1502 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i1500: ; preds = %lpad.i393.i.i1498 - %vtable.i.i.i4.i396.i.i1501 = load ptr, ptr %1182, align 8 - %vfn.i.i.i5.i397.i.i1502 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i1501, i64 1 - %1183 = load ptr, ptr %vfn.i.i.i5.i397.i.i1502, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i1502: ; preds = %lpad.i393.i.i1500 + %vtable.i.i.i4.i396.i.i1503 = load ptr, ptr %1182, align 8 + %vfn.i.i.i5.i397.i.i1504 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i1503, i64 1 + %1183 = load ptr, ptr %vfn.i.i.i5.i397.i.i1504, align 8 call void %1183(ptr noundef nonnull align 8 dereferenceable(128) %1182) #30 - br label %ehcleanup139.i.i1478 - -invoke.cont128.i.i1509: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i1506, %invoke.cont2.i400.i.i1504 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i1046), !noalias !1536 - %call81.val86.i.i1510 = load ptr, ptr %__begin072.sroa.0.048.i.i1248, align 8 - %1184 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i1248, i64 8 - %call81.val87.i.i1511 = load i64, ptr %1184, align 8 - %call81.val86.val.i.i1512 = load ptr, ptr %call81.val86.i.i1510, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i1067, ptr %call81.val86.val.i.i1512, i64 %call81.val87.i.i1511) - to label %invoke.cont131.i.i1514 unwind label %lpad125.i.i1477 - -invoke.cont131.i.i1514: ; preds = %invoke.cont128.i.i1509 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i1045), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i1045) - to label %.noexc423.i.i1518 unwind label %lpad132.i.i1515 - -.noexc423.i.i1518: ; preds = %invoke.cont131.i.i1514 - %1185 = load ptr, ptr %ref.tmp.i408.i.i1045, align 8, !noalias !1536 - %add.ptr.i.i409.i.i1519 = getelementptr inbounds i8, ptr %1185, i64 16 - %call2.i1.i410.i.i1520 = 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) %add.ptr.i.i409.i.i1519, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i1067) - to label %invoke.cont.i417.i.i1526 unwind label %lpad.i411.i.i1521 - -invoke.cont.i417.i.i1526: ; preds = %.noexc423.i.i1518 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1065, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i1045) - to label %invoke.cont2.i418.i.i1527 unwind label %lpad.i411.i.i1521 - -invoke.cont2.i418.i.i1527: ; preds = %invoke.cont.i417.i.i1526 - %1186 = load ptr, ptr %ref.tmp.i408.i.i1045, align 8, !noalias !1536 - %cmp.not.i.i.i419.i.i1528 = icmp eq ptr %1186, null - br i1 %cmp.not.i.i.i419.i.i1528, label %invoke.cont133.i.i1532, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i1529 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i1529: ; preds = %invoke.cont2.i418.i.i1527 - %vtable.i.i.i.i421.i.i1530 = load ptr, ptr %1186, align 8 - %vfn.i.i.i.i422.i.i1531 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i1530, i64 1 - %1187 = load ptr, ptr %vfn.i.i.i.i422.i.i1531, align 8 + br label %ehcleanup139.i.i1480 + +invoke.cont128.i.i1511: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i1508, %invoke.cont2.i400.i.i1506 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i1048), !noalias !1536 + %call81.val86.i.i1512 = load ptr, ptr %__begin072.sroa.0.048.i.i1250, align 8 + %1184 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i1250, i64 8 + %call81.val87.i.i1513 = load i64, ptr %1184, align 8 + %call81.val86.val.i.i1514 = load ptr, ptr %call81.val86.i.i1512, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i1069, ptr %call81.val86.val.i.i1514, i64 %call81.val87.i.i1513) + to label %invoke.cont131.i.i1516 unwind label %lpad125.i.i1479 + +invoke.cont131.i.i1516: ; preds = %invoke.cont128.i.i1511 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i1047), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i1047) + to label %.noexc423.i.i1520 unwind label %lpad132.i.i1517 + +.noexc423.i.i1520: ; preds = %invoke.cont131.i.i1516 + %1185 = load ptr, ptr %ref.tmp.i408.i.i1047, align 8, !noalias !1536 + %add.ptr.i.i409.i.i1521 = getelementptr inbounds i8, ptr %1185, i64 16 + %call2.i1.i410.i.i1522 = 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) %add.ptr.i.i409.i.i1521, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i1069) + to label %invoke.cont.i417.i.i1528 unwind label %lpad.i411.i.i1523 + +invoke.cont.i417.i.i1528: ; preds = %.noexc423.i.i1520 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1067, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i1047) + to label %invoke.cont2.i418.i.i1529 unwind label %lpad.i411.i.i1523 + +invoke.cont2.i418.i.i1529: ; preds = %invoke.cont.i417.i.i1528 + %1186 = load ptr, ptr %ref.tmp.i408.i.i1047, align 8, !noalias !1536 + %cmp.not.i.i.i419.i.i1530 = icmp eq ptr %1186, null + br i1 %cmp.not.i.i.i419.i.i1530, label %invoke.cont133.i.i1534, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i1531 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i1531: ; preds = %invoke.cont2.i418.i.i1529 + %vtable.i.i.i.i421.i.i1532 = load ptr, ptr %1186, align 8 + %vfn.i.i.i.i422.i.i1533 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i1532, i64 1 + %1187 = load ptr, ptr %vfn.i.i.i.i422.i.i1533, align 8 call void %1187(ptr noundef nonnull align 8 dereferenceable(128) %1186) #30 - br label %invoke.cont133.i.i1532 + br label %invoke.cont133.i.i1534 -lpad.i411.i.i1521: ; preds = %invoke.cont.i417.i.i1526, %.noexc423.i.i1518 +lpad.i411.i.i1523: ; preds = %invoke.cont.i417.i.i1528, %.noexc423.i.i1520 %1188 = landingpad { ptr, i32 } cleanup - %1189 = load ptr, ptr %ref.tmp.i408.i.i1045, align 8, !noalias !1536 - %cmp.not.i.i2.i412.i.i1522 = icmp eq ptr %1189, null - br i1 %cmp.not.i.i2.i412.i.i1522, label %lpad132.body.i.i1516, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i1523 + %1189 = load ptr, ptr %ref.tmp.i408.i.i1047, align 8, !noalias !1536 + %cmp.not.i.i2.i412.i.i1524 = icmp eq ptr %1189, null + br i1 %cmp.not.i.i2.i412.i.i1524, label %lpad132.body.i.i1518, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i1525 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i1523: ; preds = %lpad.i411.i.i1521 - %vtable.i.i.i4.i414.i.i1524 = load ptr, ptr %1189, align 8 - %vfn.i.i.i5.i415.i.i1525 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i1524, i64 1 - %1190 = load ptr, ptr %vfn.i.i.i5.i415.i.i1525, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i1525: ; preds = %lpad.i411.i.i1523 + %vtable.i.i.i4.i414.i.i1526 = load ptr, ptr %1189, align 8 + %vfn.i.i.i5.i415.i.i1527 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i1526, i64 1 + %1190 = load ptr, ptr %vfn.i.i.i5.i415.i.i1527, align 8 call void %1190(ptr noundef nonnull align 8 dereferenceable(128) %1189) #30 - br label %lpad132.body.i.i1516 - -invoke.cont133.i.i1532: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i1529, %invoke.cont2.i418.i.i1527 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i1045), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i1044), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i1044) - to label %.noexc441.i.i1533 unwind label %lpad132.i.i1515 - -.noexc441.i.i1533: ; preds = %invoke.cont133.i.i1532 - %1191 = load ptr, ptr %ref.tmp.i426.i.i1044, align 8, !noalias !1536 - %add.ptr.i.i427.i.i1534 = getelementptr inbounds i8, ptr %1191, i64 16 - %call2.i1.i428.i.i1535 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i1534, ptr noundef nonnull @.str.111) - to label %invoke.cont.i435.i.i1541 unwind label %lpad.i429.i.i1536 - -invoke.cont.i435.i.i1541: ; preds = %.noexc441.i.i1533 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1065, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i1044) - to label %invoke.cont2.i436.i.i1542 unwind label %lpad.i429.i.i1536 - -invoke.cont2.i436.i.i1542: ; preds = %invoke.cont.i435.i.i1541 - %1192 = load ptr, ptr %ref.tmp.i426.i.i1044, align 8, !noalias !1536 - %cmp.not.i.i.i437.i.i1543 = icmp eq ptr %1192, null - br i1 %cmp.not.i.i.i437.i.i1543, label %invoke.cont135.i.i1547, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i1544 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i1544: ; preds = %invoke.cont2.i436.i.i1542 - %vtable.i.i.i.i439.i.i1545 = load ptr, ptr %1192, align 8 - %vfn.i.i.i.i440.i.i1546 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i1545, i64 1 - %1193 = load ptr, ptr %vfn.i.i.i.i440.i.i1546, align 8 + br label %lpad132.body.i.i1518 + +invoke.cont133.i.i1534: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i1531, %invoke.cont2.i418.i.i1529 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i1047), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i1046), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i1046) + to label %.noexc441.i.i1535 unwind label %lpad132.i.i1517 + +.noexc441.i.i1535: ; preds = %invoke.cont133.i.i1534 + %1191 = load ptr, ptr %ref.tmp.i426.i.i1046, align 8, !noalias !1536 + %add.ptr.i.i427.i.i1536 = getelementptr inbounds i8, ptr %1191, i64 16 + %call2.i1.i428.i.i1537 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i1536, ptr noundef nonnull @.str.111) + to label %invoke.cont.i435.i.i1543 unwind label %lpad.i429.i.i1538 + +invoke.cont.i435.i.i1543: ; preds = %.noexc441.i.i1535 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1067, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i1046) + to label %invoke.cont2.i436.i.i1544 unwind label %lpad.i429.i.i1538 + +invoke.cont2.i436.i.i1544: ; preds = %invoke.cont.i435.i.i1543 + %1192 = load ptr, ptr %ref.tmp.i426.i.i1046, align 8, !noalias !1536 + %cmp.not.i.i.i437.i.i1545 = icmp eq ptr %1192, null + br i1 %cmp.not.i.i.i437.i.i1545, label %invoke.cont135.i.i1549, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i1546 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i1546: ; preds = %invoke.cont2.i436.i.i1544 + %vtable.i.i.i.i439.i.i1547 = load ptr, ptr %1192, align 8 + %vfn.i.i.i.i440.i.i1548 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i1547, i64 1 + %1193 = load ptr, ptr %vfn.i.i.i.i440.i.i1548, align 8 call void %1193(ptr noundef nonnull align 8 dereferenceable(128) %1192) #30 - br label %invoke.cont135.i.i1547 + br label %invoke.cont135.i.i1549 -lpad.i429.i.i1536: ; preds = %invoke.cont.i435.i.i1541, %.noexc441.i.i1533 +lpad.i429.i.i1538: ; preds = %invoke.cont.i435.i.i1543, %.noexc441.i.i1535 %1194 = landingpad { ptr, i32 } cleanup - %1195 = load ptr, ptr %ref.tmp.i426.i.i1044, align 8, !noalias !1536 - %cmp.not.i.i2.i430.i.i1537 = icmp eq ptr %1195, null - br i1 %cmp.not.i.i2.i430.i.i1537, label %lpad132.body.i.i1516, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i1538 + %1195 = load ptr, ptr %ref.tmp.i426.i.i1046, align 8, !noalias !1536 + %cmp.not.i.i2.i430.i.i1539 = icmp eq ptr %1195, null + br i1 %cmp.not.i.i2.i430.i.i1539, label %lpad132.body.i.i1518, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i1540 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i1538: ; preds = %lpad.i429.i.i1536 - %vtable.i.i.i4.i432.i.i1539 = load ptr, ptr %1195, align 8 - %vfn.i.i.i5.i433.i.i1540 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i1539, i64 1 - %1196 = load ptr, ptr %vfn.i.i.i5.i433.i.i1540, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i1540: ; preds = %lpad.i429.i.i1538 + %vtable.i.i.i4.i432.i.i1541 = load ptr, ptr %1195, align 8 + %vfn.i.i.i5.i433.i.i1542 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i1541, i64 1 + %1196 = load ptr, ptr %vfn.i.i.i5.i433.i.i1542, align 8 call void %1196(ptr noundef nonnull align 8 dereferenceable(128) %1195) #30 - br label %lpad132.body.i.i1516 - -invoke.cont135.i.i1547: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i1544, %invoke.cont2.i436.i.i1542 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i1044), !noalias !1536 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1065) - to label %invoke.cont137.i.i1548 unwind label %lpad132.i.i1515 - -invoke.cont137.i.i1548: ; preds = %invoke.cont135.i.i1547 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i1067) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i1066) #30 - %message_.i444.i.i1549 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i1065, i64 0, i32 1 - %1197 = load ptr, ptr %message_.i444.i.i1549, align 8, !noalias !1536 - %cmp.not.i.i445.i.i1550 = icmp eq ptr %1197, null - br i1 %cmp.not.i.i445.i.i1550, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i1552, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i1551 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i1551: ; preds = %invoke.cont137.i.i1548 + br label %lpad132.body.i.i1518 + +invoke.cont135.i.i1549: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i1546, %invoke.cont2.i436.i.i1544 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i1046), !noalias !1536 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1067) + to label %invoke.cont137.i.i1550 unwind label %lpad132.i.i1517 + +invoke.cont137.i.i1550: ; preds = %invoke.cont135.i.i1549 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i1069) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i1068) #30 + %message_.i444.i.i1551 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i1067, i64 0, i32 1 + %1197 = load ptr, ptr %message_.i444.i.i1551, align 8, !noalias !1536 + %cmp.not.i.i445.i.i1552 = icmp eq ptr %1197, null + br i1 %cmp.not.i.i445.i.i1552, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i1554, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i1553 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i1553: ; preds = %invoke.cont137.i.i1550 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1197) #30 call void @_ZdlPv(ptr noundef nonnull %1197) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i1552 + br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i1554 -_ZN7testing15AssertionResultD2Ev.exit447.i.i1552: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i1551, %invoke.cont137.i.i1548 - store ptr null, ptr %message_.i444.i.i1549, align 8, !noalias !1536 - br label %cleanup257.critedge.i.i1378 +_ZN7testing15AssertionResultD2Ev.exit447.i.i1554: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i1553, %invoke.cont137.i.i1550 + store ptr null, ptr %message_.i444.i.i1551, align 8, !noalias !1536 + br label %cleanup257.critedge.i.i1380 -lpad112.i.i1426: ; preds = %invoke.cont111.i.i1424 +lpad112.i.i1428: ; preds = %invoke.cont111.i.i1426 %1198 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i1064) #30 - br label %ehcleanup252.i.i1254 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i1066) #30 + br label %ehcleanup252.i.i1256 -lpad119.i.i1453: ; preds = %invoke.cont120.i.i1470, %invoke.cont118.i.i1452 +lpad119.i.i1455: ; preds = %invoke.cont120.i.i1472, %invoke.cont118.i.i1454 %1199 = landingpad { ptr, i32 } cleanup - br label %ehcleanup140.i.i1454 + br label %ehcleanup140.i.i1456 -lpad125.i.i1477: ; preds = %invoke.cont128.i.i1509, %invoke.cont126.i.i1494, %invoke.cont124.i.i1476 +lpad125.i.i1479: ; preds = %invoke.cont128.i.i1511, %invoke.cont126.i.i1496, %invoke.cont124.i.i1478 %1200 = landingpad { ptr, i32 } cleanup - br label %ehcleanup139.i.i1478 + br label %ehcleanup139.i.i1480 -lpad132.i.i1515: ; preds = %invoke.cont135.i.i1547, %invoke.cont133.i.i1532, %invoke.cont131.i.i1514 +lpad132.i.i1517: ; preds = %invoke.cont135.i.i1549, %invoke.cont133.i.i1534, %invoke.cont131.i.i1516 %1201 = landingpad { ptr, i32 } cleanup - br label %lpad132.body.i.i1516 - -lpad132.body.i.i1516: ; preds = %lpad132.i.i1515, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i1538, %lpad.i429.i.i1536, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i1523, %lpad.i411.i.i1521 - %eh.lpad-body424.i.i1517 = phi { ptr, i32 } [ %1188, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i1523 ], [ %1188, %lpad.i411.i.i1521 ], [ %1201, %lpad132.i.i1515 ], [ %1194, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i1538 ], [ %1194, %lpad.i429.i.i1536 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i1067) #30 - br label %ehcleanup139.i.i1478 - -ehcleanup139.i.i1478: ; preds = %lpad132.body.i.i1516, %lpad125.i.i1477, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i1500, %lpad.i393.i.i1498, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i1485, %lpad.i375.i.i1483 - %.pn40.i.i1479 = phi { ptr, i32 } [ %eh.lpad-body424.i.i1517, %lpad132.body.i.i1516 ], [ %1175, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i1485 ], [ %1175, %lpad.i375.i.i1483 ], [ %1200, %lpad125.i.i1477 ], [ %1181, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i1500 ], [ %1181, %lpad.i393.i.i1498 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i1066) #30 - br label %ehcleanup140.i.i1454 - -ehcleanup140.i.i1454: ; preds = %ehcleanup139.i.i1478, %lpad119.i.i1453, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i1461, %lpad.i358.i.i1459 - %.pn40.pn.i.i1455 = phi { ptr, i32 } [ %.pn40.i.i1479, %ehcleanup139.i.i1478 ], [ %1199, %lpad119.i.i1453 ], [ %1168, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i1461 ], [ %1168, %lpad.i358.i.i1459 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1065) #30 - br label %ehcleanup252.i.i1254 - -for.inc142.i.i1553: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1450 - %incdec.ptr.i448.i.i1554 = getelementptr inbounds %struct.Info.867, ptr %__begin072.sroa.0.048.i.i1248, i64 1 - %cmp.i161.not.i.i1555 = icmp eq ptr %incdec.ptr.i448.i.i1554, %call68.val81.i.i1245 - br i1 %cmp.i161.not.i.i1555, label %for.end144.i.i1556, label %for.body80.i.i1247 - -for.end144.i.i1556: ; preds = %for.inc142.i.i1553, %invoke.cont70.i.i1243 - %classes.val53.i.i1557 = load ptr, ptr %classes.i.i1054, align 8, !noalias !1536 - %classes.val56.i.i1558 = load ptr, ptr %1043, align 8, !noalias !1536 - %cmp.i449.not49.i.i1559 = icmp eq ptr %classes.val53.i.i1557, %classes.val56.i.i1558 - br i1 %cmp.i449.not49.i.i1559, label %cleanup249.i.i1954, label %for.body154.i.i1560 - -for.body154.i.i1560: ; preds = %for.end144.i.i1556, %for.inc246.i.i1951 - %__begin0146.sroa.0.050.i.i1561 = phi ptr [ %incdec.ptr.i779.i.i1952, %for.inc246.i.i1951 ], [ %classes.val53.i.i1557, %for.end144.i.i1556 ] - %cmp156.i.i1562 = icmp eq ptr %__begin058.sroa.0.052.i.i1236, %__begin0146.sroa.0.050.i.i1561 - br i1 %cmp156.i.i1562, label %for.inc246.i.i1951, label %if.end158.i.i1563 - -if.end158.i.i1563: ; preds = %for.body154.i.i1560 - %call155.val.i.i1564 = load ptr, ptr %__begin0146.sroa.0.050.i.i1561, align 8 - %call159.val.i.i1565 = load ptr, ptr %call155.val.i.i1564, align 8 - %call159.val.val.i.i1566 = load ptr, ptr %call159.val.i.i1565, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i1068, ptr %call159.val.val.i.i1566) - to label %invoke.cont160.i.i1570 unwind label %lpad83.loopexit.i.i1568 - -invoke.cont160.i.i1570: ; preds = %if.end158.i.i1563 - %call163.i.i1571 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i1059, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i1068) - to label %invoke.cont162.i.i1576 unwind label %lpad161.loopexit.i.i1572 - -invoke.cont162.i.i1576: ; preds = %invoke.cont160.i.i1570 - switch i32 %call163.i.i1571, label %cleanup242.i.i1928 [ - i32 0, label %sw.bb.i.i1827 - i32 2, label %sw.bb189.i.i1726 - i32 1, label %sw.bb215.i.i1577 + br label %lpad132.body.i.i1518 + +lpad132.body.i.i1518: ; preds = %lpad132.i.i1517, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i1540, %lpad.i429.i.i1538, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i1525, %lpad.i411.i.i1523 + %eh.lpad-body424.i.i1519 = phi { ptr, i32 } [ %1188, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i1525 ], [ %1188, %lpad.i411.i.i1523 ], [ %1201, %lpad132.i.i1517 ], [ %1194, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i1540 ], [ %1194, %lpad.i429.i.i1538 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i1069) #30 + br label %ehcleanup139.i.i1480 + +ehcleanup139.i.i1480: ; preds = %lpad132.body.i.i1518, %lpad125.i.i1479, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i1502, %lpad.i393.i.i1500, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i1487, %lpad.i375.i.i1485 + %.pn40.i.i1481 = phi { ptr, i32 } [ %eh.lpad-body424.i.i1519, %lpad132.body.i.i1518 ], [ %1175, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i1487 ], [ %1175, %lpad.i375.i.i1485 ], [ %1200, %lpad125.i.i1479 ], [ %1181, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i1502 ], [ %1181, %lpad.i393.i.i1500 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i1068) #30 + br label %ehcleanup140.i.i1456 + +ehcleanup140.i.i1456: ; preds = %ehcleanup139.i.i1480, %lpad119.i.i1455, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i1463, %lpad.i358.i.i1461 + %.pn40.pn.i.i1457 = phi { ptr, i32 } [ %.pn40.i.i1481, %ehcleanup139.i.i1480 ], [ %1199, %lpad119.i.i1455 ], [ %1168, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i1463 ], [ %1168, %lpad.i358.i.i1461 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i1067) #30 + br label %ehcleanup252.i.i1256 + +for.inc142.i.i1555: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i1452 + %incdec.ptr.i448.i.i1556 = getelementptr inbounds %struct.Info.867, ptr %__begin072.sroa.0.048.i.i1250, i64 1 + %cmp.i161.not.i.i1557 = icmp eq ptr %incdec.ptr.i448.i.i1556, %call68.val81.i.i1247 + br i1 %cmp.i161.not.i.i1557, label %for.end144.i.i1558, label %for.body80.i.i1249 + +for.end144.i.i1558: ; preds = %for.inc142.i.i1555, %invoke.cont70.i.i1245 + %classes.val53.i.i1559 = load ptr, ptr %classes.i.i1056, align 8, !noalias !1536 + %classes.val56.i.i1560 = load ptr, ptr %1043, align 8, !noalias !1536 + %cmp.i449.not49.i.i1561 = icmp eq ptr %classes.val53.i.i1559, %classes.val56.i.i1560 + br i1 %cmp.i449.not49.i.i1561, label %cleanup249.i.i1956, label %for.body154.i.i1562 + +for.body154.i.i1562: ; preds = %for.end144.i.i1558, %for.inc246.i.i1953 + %__begin0146.sroa.0.050.i.i1563 = phi ptr [ %incdec.ptr.i779.i.i1954, %for.inc246.i.i1953 ], [ %classes.val53.i.i1559, %for.end144.i.i1558 ] + %cmp156.i.i1564 = icmp eq ptr %__begin058.sroa.0.052.i.i1238, %__begin0146.sroa.0.050.i.i1563 + br i1 %cmp156.i.i1564, label %for.inc246.i.i1953, label %if.end158.i.i1565 + +if.end158.i.i1565: ; preds = %for.body154.i.i1562 + %call155.val.i.i1566 = load ptr, ptr %__begin0146.sroa.0.050.i.i1563, align 8 + %call159.val.i.i1567 = load ptr, ptr %call155.val.i.i1566, align 8 + %call159.val.val.i.i1568 = load ptr, ptr %call159.val.i.i1567, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i1070, ptr %call159.val.val.i.i1568) + to label %invoke.cont160.i.i1572 unwind label %lpad83.loopexit.i.i1570 + +invoke.cont160.i.i1572: ; preds = %if.end158.i.i1565 + %call163.i.i1573 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i1061, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i1070) + to label %invoke.cont162.i.i1578 unwind label %lpad161.loopexit.i.i1574 + +invoke.cont162.i.i1578: ; preds = %invoke.cont160.i.i1572 + switch i32 %call163.i.i1573, label %cleanup242.i.i1930 [ + i32 0, label %sw.bb.i.i1829 + i32 2, label %sw.bb189.i.i1728 + i32 1, label %sw.bb215.i.i1579 ] -lpad161.loopexit.i.i1572: ; preds = %invoke.cont160.i.i1570 - %lpad.loopexit5.i.i1573 = landingpad { ptr, i32 } +lpad161.loopexit.i.i1574: ; preds = %invoke.cont160.i.i1572 + %lpad.loopexit5.i.i1575 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i1574 + br label %ehcleanup245.i.i1576 -lpad161.loopexit.split-lp.i.i1578: ; preds = %sw.bb215.i.i1577, %sw.bb189.i.i1726, %sw.bb.i.i1827 - %lpad.loopexit.split-lp6.i.i1579 = landingpad { ptr, i32 } +lpad161.loopexit.split-lp.i.i1580: ; preds = %sw.bb215.i.i1579, %sw.bb189.i.i1728, %sw.bb.i.i1829 + %lpad.loopexit.split-lp6.i.i1581 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i1574 + br label %ehcleanup245.i.i1576 -sw.bb.i.i1827: ; preds = %invoke.cont162.i.i1576 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i1069) - to label %invoke.cont165.i.i1828 unwind label %lpad161.loopexit.split-lp.i.i1578 +sw.bb.i.i1829: ; preds = %invoke.cont162.i.i1578 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i1071) + to label %invoke.cont165.i.i1830 unwind label %lpad161.loopexit.split-lp.i.i1580 -invoke.cont165.i.i1828: ; preds = %sw.bb.i.i1827 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i1043), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i1043) - to label %.noexc465.i.i1832 unwind label %lpad166.i.i1829 +invoke.cont165.i.i1830: ; preds = %sw.bb.i.i1829 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i1045), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i1045) + to label %.noexc465.i.i1834 unwind label %lpad166.i.i1831 -.noexc465.i.i1832: ; preds = %invoke.cont165.i.i1828 - %1202 = load ptr, ptr %ref.tmp.i450.i.i1043, align 8, !noalias !1536 - %add.ptr.i.i451.i.i1833 = getelementptr inbounds i8, ptr %1202, i64 16 - %call2.i1.i452.i.i1834 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i1833, ptr noundef nonnull @.str.109) - to label %invoke.cont.i459.i.i1840 unwind label %lpad.i453.i.i1835 +.noexc465.i.i1834: ; preds = %invoke.cont165.i.i1830 + %1202 = load ptr, ptr %ref.tmp.i450.i.i1045, align 8, !noalias !1536 + %add.ptr.i.i451.i.i1835 = getelementptr inbounds i8, ptr %1202, i64 16 + %call2.i1.i452.i.i1836 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i1835, ptr noundef nonnull @.str.109) + to label %invoke.cont.i459.i.i1842 unwind label %lpad.i453.i.i1837 -invoke.cont.i459.i.i1840: ; preds = %.noexc465.i.i1832 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1069, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i1043) - to label %invoke.cont2.i460.i.i1841 unwind label %lpad.i453.i.i1835 +invoke.cont.i459.i.i1842: ; preds = %.noexc465.i.i1834 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1071, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i1045) + to label %invoke.cont2.i460.i.i1843 unwind label %lpad.i453.i.i1837 -invoke.cont2.i460.i.i1841: ; preds = %invoke.cont.i459.i.i1840 - %1203 = load ptr, ptr %ref.tmp.i450.i.i1043, align 8, !noalias !1536 - %cmp.not.i.i.i461.i.i1842 = icmp eq ptr %1203, null - br i1 %cmp.not.i.i.i461.i.i1842, label %invoke.cont167.i.i1846, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i1843 +invoke.cont2.i460.i.i1843: ; preds = %invoke.cont.i459.i.i1842 + %1203 = load ptr, ptr %ref.tmp.i450.i.i1045, align 8, !noalias !1536 + %cmp.not.i.i.i461.i.i1844 = icmp eq ptr %1203, null + br i1 %cmp.not.i.i.i461.i.i1844, label %invoke.cont167.i.i1848, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i1845 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i1843: ; preds = %invoke.cont2.i460.i.i1841 - %vtable.i.i.i.i463.i.i1844 = load ptr, ptr %1203, align 8 - %vfn.i.i.i.i464.i.i1845 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i1844, i64 1 - %1204 = load ptr, ptr %vfn.i.i.i.i464.i.i1845, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i1845: ; preds = %invoke.cont2.i460.i.i1843 + %vtable.i.i.i.i463.i.i1846 = load ptr, ptr %1203, align 8 + %vfn.i.i.i.i464.i.i1847 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i1846, i64 1 + %1204 = load ptr, ptr %vfn.i.i.i.i464.i.i1847, align 8 call void %1204(ptr noundef nonnull align 8 dereferenceable(128) %1203) #30 - br label %invoke.cont167.i.i1846 + br label %invoke.cont167.i.i1848 -lpad.i453.i.i1835: ; preds = %invoke.cont.i459.i.i1840, %.noexc465.i.i1832 +lpad.i453.i.i1837: ; preds = %invoke.cont.i459.i.i1842, %.noexc465.i.i1834 %1205 = landingpad { ptr, i32 } cleanup - %1206 = load ptr, ptr %ref.tmp.i450.i.i1043, align 8, !noalias !1536 - %cmp.not.i.i2.i454.i.i1836 = icmp eq ptr %1206, null - br i1 %cmp.not.i.i2.i454.i.i1836, label %ehcleanup188.i.i1830, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i1837 + %1206 = load ptr, ptr %ref.tmp.i450.i.i1045, align 8, !noalias !1536 + %cmp.not.i.i2.i454.i.i1838 = icmp eq ptr %1206, null + br i1 %cmp.not.i.i2.i454.i.i1838, label %ehcleanup188.i.i1832, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i1839 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i1837: ; preds = %lpad.i453.i.i1835 - %vtable.i.i.i4.i456.i.i1838 = load ptr, ptr %1206, align 8 - %vfn.i.i.i5.i457.i.i1839 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i1838, i64 1 - %1207 = load ptr, ptr %vfn.i.i.i5.i457.i.i1839, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i1839: ; preds = %lpad.i453.i.i1837 + %vtable.i.i.i4.i456.i.i1840 = load ptr, ptr %1206, align 8 + %vfn.i.i.i5.i457.i.i1841 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i1840, i64 1 + %1207 = load ptr, ptr %vfn.i.i.i5.i457.i.i1841, align 8 call void %1207(ptr noundef nonnull align 8 dereferenceable(128) %1206) #30 - br label %ehcleanup188.i.i1830 - -invoke.cont167.i.i1846: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i1843, %invoke.cont2.i460.i.i1841 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i1043), !noalias !1536 - %call68.val74.i.i1847 = load ptr, ptr %__begin058.sroa.0.052.i.i1236, align 8 - %call170.val.i.i1848 = load ptr, ptr %call68.val74.i.i1847, align 8 - %1208 = getelementptr i8, ptr %call68.val74.i.i1847, i64 8 - %call170.val88.i.i1849 = load i64, ptr %1208, align 8 - %call170.val.val.i.i1850 = load ptr, ptr %call170.val.i.i1848, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i1070, ptr %call170.val.val.i.i1850, i64 %call170.val88.i.i1849) - to label %invoke.cont171.i.i1852 unwind label %lpad166.i.i1829 - -invoke.cont171.i.i1852: ; preds = %invoke.cont167.i.i1846 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i1042), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i1042) - to label %.noexc483.i.i1856 unwind label %lpad172.i.i1853 - -.noexc483.i.i1856: ; preds = %invoke.cont171.i.i1852 - %1209 = load ptr, ptr %ref.tmp.i468.i.i1042, align 8, !noalias !1536 - %add.ptr.i.i469.i.i1857 = getelementptr inbounds i8, ptr %1209, i64 16 - %call2.i1.i470.i.i1858 = 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) %add.ptr.i.i469.i.i1857, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i1070) - to label %invoke.cont.i477.i.i1864 unwind label %lpad.i471.i.i1859 - -invoke.cont.i477.i.i1864: ; preds = %.noexc483.i.i1856 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1069, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i1042) - to label %invoke.cont2.i478.i.i1865 unwind label %lpad.i471.i.i1859 - -invoke.cont2.i478.i.i1865: ; preds = %invoke.cont.i477.i.i1864 - %1210 = load ptr, ptr %ref.tmp.i468.i.i1042, align 8, !noalias !1536 - %cmp.not.i.i.i479.i.i1866 = icmp eq ptr %1210, null - br i1 %cmp.not.i.i.i479.i.i1866, label %invoke.cont173.i.i1870, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i1867 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i1867: ; preds = %invoke.cont2.i478.i.i1865 - %vtable.i.i.i.i481.i.i1868 = load ptr, ptr %1210, align 8 - %vfn.i.i.i.i482.i.i1869 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i1868, i64 1 - %1211 = load ptr, ptr %vfn.i.i.i.i482.i.i1869, align 8 + br label %ehcleanup188.i.i1832 + +invoke.cont167.i.i1848: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i1845, %invoke.cont2.i460.i.i1843 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i1045), !noalias !1536 + %call68.val74.i.i1849 = load ptr, ptr %__begin058.sroa.0.052.i.i1238, align 8 + %call170.val.i.i1850 = load ptr, ptr %call68.val74.i.i1849, align 8 + %1208 = getelementptr i8, ptr %call68.val74.i.i1849, i64 8 + %call170.val88.i.i1851 = load i64, ptr %1208, align 8 + %call170.val.val.i.i1852 = load ptr, ptr %call170.val.i.i1850, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i1072, ptr %call170.val.val.i.i1852, i64 %call170.val88.i.i1851) + to label %invoke.cont171.i.i1854 unwind label %lpad166.i.i1831 + +invoke.cont171.i.i1854: ; preds = %invoke.cont167.i.i1848 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i1044), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i1044) + to label %.noexc483.i.i1858 unwind label %lpad172.i.i1855 + +.noexc483.i.i1858: ; preds = %invoke.cont171.i.i1854 + %1209 = load ptr, ptr %ref.tmp.i468.i.i1044, align 8, !noalias !1536 + %add.ptr.i.i469.i.i1859 = getelementptr inbounds i8, ptr %1209, i64 16 + %call2.i1.i470.i.i1860 = 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) %add.ptr.i.i469.i.i1859, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i1072) + to label %invoke.cont.i477.i.i1866 unwind label %lpad.i471.i.i1861 + +invoke.cont.i477.i.i1866: ; preds = %.noexc483.i.i1858 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1071, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i1044) + to label %invoke.cont2.i478.i.i1867 unwind label %lpad.i471.i.i1861 + +invoke.cont2.i478.i.i1867: ; preds = %invoke.cont.i477.i.i1866 + %1210 = load ptr, ptr %ref.tmp.i468.i.i1044, align 8, !noalias !1536 + %cmp.not.i.i.i479.i.i1868 = icmp eq ptr %1210, null + br i1 %cmp.not.i.i.i479.i.i1868, label %invoke.cont173.i.i1872, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i1869 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i1869: ; preds = %invoke.cont2.i478.i.i1867 + %vtable.i.i.i.i481.i.i1870 = load ptr, ptr %1210, align 8 + %vfn.i.i.i.i482.i.i1871 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i1870, i64 1 + %1211 = load ptr, ptr %vfn.i.i.i.i482.i.i1871, align 8 call void %1211(ptr noundef nonnull align 8 dereferenceable(128) %1210) #30 - br label %invoke.cont173.i.i1870 + br label %invoke.cont173.i.i1872 -lpad.i471.i.i1859: ; preds = %invoke.cont.i477.i.i1864, %.noexc483.i.i1856 +lpad.i471.i.i1861: ; preds = %invoke.cont.i477.i.i1866, %.noexc483.i.i1858 %1212 = landingpad { ptr, i32 } cleanup - %1213 = load ptr, ptr %ref.tmp.i468.i.i1042, align 8, !noalias !1536 - %cmp.not.i.i2.i472.i.i1860 = icmp eq ptr %1213, null - br i1 %cmp.not.i.i2.i472.i.i1860, label %ehcleanup187.i.i1854, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i1861 + %1213 = load ptr, ptr %ref.tmp.i468.i.i1044, align 8, !noalias !1536 + %cmp.not.i.i2.i472.i.i1862 = icmp eq ptr %1213, null + br i1 %cmp.not.i.i2.i472.i.i1862, label %ehcleanup187.i.i1856, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i1863 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i1861: ; preds = %lpad.i471.i.i1859 - %vtable.i.i.i4.i474.i.i1862 = load ptr, ptr %1213, align 8 - %vfn.i.i.i5.i475.i.i1863 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i1862, i64 1 - %1214 = load ptr, ptr %vfn.i.i.i5.i475.i.i1863, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i1863: ; preds = %lpad.i471.i.i1861 + %vtable.i.i.i4.i474.i.i1864 = load ptr, ptr %1213, align 8 + %vfn.i.i.i5.i475.i.i1865 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i1864, i64 1 + %1214 = load ptr, ptr %vfn.i.i.i5.i475.i.i1865, align 8 call void %1214(ptr noundef nonnull align 8 dereferenceable(128) %1213) #30 - br label %ehcleanup187.i.i1854 - -invoke.cont173.i.i1870: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i1867, %invoke.cont2.i478.i.i1865 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i1042), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i1041), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i1041) - to label %.noexc501.i.i1871 unwind label %lpad172.i.i1853 - -.noexc501.i.i1871: ; preds = %invoke.cont173.i.i1870 - %1215 = load ptr, ptr %ref.tmp.i486.i.i1041, align 8, !noalias !1536 - %add.ptr.i.i487.i.i1872 = getelementptr inbounds i8, ptr %1215, i64 16 - %call2.i1.i488.i.i1873 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i1872, ptr noundef nonnull @.str.110) - to label %invoke.cont.i495.i.i1879 unwind label %lpad.i489.i.i1874 - -invoke.cont.i495.i.i1879: ; preds = %.noexc501.i.i1871 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1069, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i1041) - to label %invoke.cont2.i496.i.i1880 unwind label %lpad.i489.i.i1874 - -invoke.cont2.i496.i.i1880: ; preds = %invoke.cont.i495.i.i1879 - %1216 = load ptr, ptr %ref.tmp.i486.i.i1041, align 8, !noalias !1536 - %cmp.not.i.i.i497.i.i1881 = icmp eq ptr %1216, null - br i1 %cmp.not.i.i.i497.i.i1881, label %invoke.cont175.i.i1885, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i1882 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i1882: ; preds = %invoke.cont2.i496.i.i1880 - %vtable.i.i.i.i499.i.i1883 = load ptr, ptr %1216, align 8 - %vfn.i.i.i.i500.i.i1884 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i1883, i64 1 - %1217 = load ptr, ptr %vfn.i.i.i.i500.i.i1884, align 8 + br label %ehcleanup187.i.i1856 + +invoke.cont173.i.i1872: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i1869, %invoke.cont2.i478.i.i1867 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i1044), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i1043), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i1043) + to label %.noexc501.i.i1873 unwind label %lpad172.i.i1855 + +.noexc501.i.i1873: ; preds = %invoke.cont173.i.i1872 + %1215 = load ptr, ptr %ref.tmp.i486.i.i1043, align 8, !noalias !1536 + %add.ptr.i.i487.i.i1874 = getelementptr inbounds i8, ptr %1215, i64 16 + %call2.i1.i488.i.i1875 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i1874, ptr noundef nonnull @.str.110) + to label %invoke.cont.i495.i.i1881 unwind label %lpad.i489.i.i1876 + +invoke.cont.i495.i.i1881: ; preds = %.noexc501.i.i1873 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1071, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i1043) + to label %invoke.cont2.i496.i.i1882 unwind label %lpad.i489.i.i1876 + +invoke.cont2.i496.i.i1882: ; preds = %invoke.cont.i495.i.i1881 + %1216 = load ptr, ptr %ref.tmp.i486.i.i1043, align 8, !noalias !1536 + %cmp.not.i.i.i497.i.i1883 = icmp eq ptr %1216, null + br i1 %cmp.not.i.i.i497.i.i1883, label %invoke.cont175.i.i1887, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i1884 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i1884: ; preds = %invoke.cont2.i496.i.i1882 + %vtable.i.i.i.i499.i.i1885 = load ptr, ptr %1216, align 8 + %vfn.i.i.i.i500.i.i1886 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i1885, i64 1 + %1217 = load ptr, ptr %vfn.i.i.i.i500.i.i1886, align 8 call void %1217(ptr noundef nonnull align 8 dereferenceable(128) %1216) #30 - br label %invoke.cont175.i.i1885 + br label %invoke.cont175.i.i1887 -lpad.i489.i.i1874: ; preds = %invoke.cont.i495.i.i1879, %.noexc501.i.i1871 +lpad.i489.i.i1876: ; preds = %invoke.cont.i495.i.i1881, %.noexc501.i.i1873 %1218 = landingpad { ptr, i32 } cleanup - %1219 = load ptr, ptr %ref.tmp.i486.i.i1041, align 8, !noalias !1536 - %cmp.not.i.i2.i490.i.i1875 = icmp eq ptr %1219, null - br i1 %cmp.not.i.i2.i490.i.i1875, label %ehcleanup187.i.i1854, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i1876 + %1219 = load ptr, ptr %ref.tmp.i486.i.i1043, align 8, !noalias !1536 + %cmp.not.i.i2.i490.i.i1877 = icmp eq ptr %1219, null + br i1 %cmp.not.i.i2.i490.i.i1877, label %ehcleanup187.i.i1856, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i1878 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i1876: ; preds = %lpad.i489.i.i1874 - %vtable.i.i.i4.i492.i.i1877 = load ptr, ptr %1219, align 8 - %vfn.i.i.i5.i493.i.i1878 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i1877, i64 1 - %1220 = load ptr, ptr %vfn.i.i.i5.i493.i.i1878, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i1878: ; preds = %lpad.i489.i.i1876 + %vtable.i.i.i4.i492.i.i1879 = load ptr, ptr %1219, align 8 + %vfn.i.i.i5.i493.i.i1880 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i1879, i64 1 + %1220 = load ptr, ptr %vfn.i.i.i5.i493.i.i1880, align 8 call void %1220(ptr noundef nonnull align 8 dereferenceable(128) %1219) #30 - br label %ehcleanup187.i.i1854 - -invoke.cont175.i.i1885: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i1882, %invoke.cont2.i496.i.i1880 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i1041), !noalias !1536 - %call155.val75.i.i1886 = load ptr, ptr %__begin0146.sroa.0.050.i.i1561, align 8 - %call178.val.i.i1887 = load ptr, ptr %call155.val75.i.i1886, align 8 - %1221 = getelementptr i8, ptr %call155.val75.i.i1886, i64 8 - %call178.val89.i.i1888 = load i64, ptr %1221, align 8 - %call178.val.val.i.i1889 = load ptr, ptr %call178.val.i.i1887, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i1071, ptr %call178.val.val.i.i1889, i64 %call178.val89.i.i1888) - to label %invoke.cont179.i.i1891 unwind label %lpad172.i.i1853 - -invoke.cont179.i.i1891: ; preds = %invoke.cont175.i.i1885 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i1040), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i1040) - to label %.noexc520.i.i1895 unwind label %lpad180.i.i1892 - -.noexc520.i.i1895: ; preds = %invoke.cont179.i.i1891 - %1222 = load ptr, ptr %ref.tmp.i505.i.i1040, align 8, !noalias !1536 - %add.ptr.i.i506.i.i1896 = getelementptr inbounds i8, ptr %1222, i64 16 - %call2.i1.i507.i.i1897 = 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) %add.ptr.i.i506.i.i1896, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i1071) - to label %invoke.cont.i514.i.i1903 unwind label %lpad.i508.i.i1898 - -invoke.cont.i514.i.i1903: ; preds = %.noexc520.i.i1895 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1069, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i1040) - to label %invoke.cont2.i515.i.i1904 unwind label %lpad.i508.i.i1898 - -invoke.cont2.i515.i.i1904: ; preds = %invoke.cont.i514.i.i1903 - %1223 = load ptr, ptr %ref.tmp.i505.i.i1040, align 8, !noalias !1536 - %cmp.not.i.i.i516.i.i1905 = icmp eq ptr %1223, null - br i1 %cmp.not.i.i.i516.i.i1905, label %invoke.cont181.i.i1909, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i1906 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i1906: ; preds = %invoke.cont2.i515.i.i1904 - %vtable.i.i.i.i518.i.i1907 = load ptr, ptr %1223, align 8 - %vfn.i.i.i.i519.i.i1908 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i1907, i64 1 - %1224 = load ptr, ptr %vfn.i.i.i.i519.i.i1908, align 8 + br label %ehcleanup187.i.i1856 + +invoke.cont175.i.i1887: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i1884, %invoke.cont2.i496.i.i1882 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i1043), !noalias !1536 + %call155.val75.i.i1888 = load ptr, ptr %__begin0146.sroa.0.050.i.i1563, align 8 + %call178.val.i.i1889 = load ptr, ptr %call155.val75.i.i1888, align 8 + %1221 = getelementptr i8, ptr %call155.val75.i.i1888, i64 8 + %call178.val89.i.i1890 = load i64, ptr %1221, align 8 + %call178.val.val.i.i1891 = load ptr, ptr %call178.val.i.i1889, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i1073, ptr %call178.val.val.i.i1891, i64 %call178.val89.i.i1890) + to label %invoke.cont179.i.i1893 unwind label %lpad172.i.i1855 + +invoke.cont179.i.i1893: ; preds = %invoke.cont175.i.i1887 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i1042), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i1042) + to label %.noexc520.i.i1897 unwind label %lpad180.i.i1894 + +.noexc520.i.i1897: ; preds = %invoke.cont179.i.i1893 + %1222 = load ptr, ptr %ref.tmp.i505.i.i1042, align 8, !noalias !1536 + %add.ptr.i.i506.i.i1898 = getelementptr inbounds i8, ptr %1222, i64 16 + %call2.i1.i507.i.i1899 = 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) %add.ptr.i.i506.i.i1898, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i1073) + to label %invoke.cont.i514.i.i1905 unwind label %lpad.i508.i.i1900 + +invoke.cont.i514.i.i1905: ; preds = %.noexc520.i.i1897 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1071, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i1042) + to label %invoke.cont2.i515.i.i1906 unwind label %lpad.i508.i.i1900 + +invoke.cont2.i515.i.i1906: ; preds = %invoke.cont.i514.i.i1905 + %1223 = load ptr, ptr %ref.tmp.i505.i.i1042, align 8, !noalias !1536 + %cmp.not.i.i.i516.i.i1907 = icmp eq ptr %1223, null + br i1 %cmp.not.i.i.i516.i.i1907, label %invoke.cont181.i.i1911, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i1908 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i1908: ; preds = %invoke.cont2.i515.i.i1906 + %vtable.i.i.i.i518.i.i1909 = load ptr, ptr %1223, align 8 + %vfn.i.i.i.i519.i.i1910 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i1909, i64 1 + %1224 = load ptr, ptr %vfn.i.i.i.i519.i.i1910, align 8 call void %1224(ptr noundef nonnull align 8 dereferenceable(128) %1223) #30 - br label %invoke.cont181.i.i1909 + br label %invoke.cont181.i.i1911 -lpad.i508.i.i1898: ; preds = %invoke.cont.i514.i.i1903, %.noexc520.i.i1895 +lpad.i508.i.i1900: ; preds = %invoke.cont.i514.i.i1905, %.noexc520.i.i1897 %1225 = landingpad { ptr, i32 } cleanup - %1226 = load ptr, ptr %ref.tmp.i505.i.i1040, align 8, !noalias !1536 - %cmp.not.i.i2.i509.i.i1899 = icmp eq ptr %1226, null - br i1 %cmp.not.i.i2.i509.i.i1899, label %lpad180.body.i.i1893, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i1900 + %1226 = load ptr, ptr %ref.tmp.i505.i.i1042, align 8, !noalias !1536 + %cmp.not.i.i2.i509.i.i1901 = icmp eq ptr %1226, null + br i1 %cmp.not.i.i2.i509.i.i1901, label %lpad180.body.i.i1895, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i1902 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i1900: ; preds = %lpad.i508.i.i1898 - %vtable.i.i.i4.i511.i.i1901 = load ptr, ptr %1226, align 8 - %vfn.i.i.i5.i512.i.i1902 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i1901, i64 1 - %1227 = load ptr, ptr %vfn.i.i.i5.i512.i.i1902, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i1902: ; preds = %lpad.i508.i.i1900 + %vtable.i.i.i4.i511.i.i1903 = load ptr, ptr %1226, align 8 + %vfn.i.i.i5.i512.i.i1904 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i1903, i64 1 + %1227 = load ptr, ptr %vfn.i.i.i5.i512.i.i1904, align 8 call void %1227(ptr noundef nonnull align 8 dereferenceable(128) %1226) #30 - br label %lpad180.body.i.i1893 - -invoke.cont181.i.i1909: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i1906, %invoke.cont2.i515.i.i1904 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i1040), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i1039), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i1039) - to label %.noexc538.i.i1910 unwind label %lpad180.i.i1892 - -.noexc538.i.i1910: ; preds = %invoke.cont181.i.i1909 - %1228 = load ptr, ptr %ref.tmp.i523.i.i1039, align 8, !noalias !1536 - %add.ptr.i.i524.i.i1911 = getelementptr inbounds i8, ptr %1228, i64 16 - %call2.i1.i525.i.i1912 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i1911, ptr noundef nonnull @.str.112) - to label %invoke.cont.i532.i.i1918 unwind label %lpad.i526.i.i1913 - -invoke.cont.i532.i.i1918: ; preds = %.noexc538.i.i1910 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1069, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i1039) - to label %invoke.cont2.i533.i.i1919 unwind label %lpad.i526.i.i1913 - -invoke.cont2.i533.i.i1919: ; preds = %invoke.cont.i532.i.i1918 - %1229 = load ptr, ptr %ref.tmp.i523.i.i1039, align 8, !noalias !1536 - %cmp.not.i.i.i534.i.i1920 = icmp eq ptr %1229, null - br i1 %cmp.not.i.i.i534.i.i1920, label %invoke.cont183.i.i1924, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i1921 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i1921: ; preds = %invoke.cont2.i533.i.i1919 - %vtable.i.i.i.i536.i.i1922 = load ptr, ptr %1229, align 8 - %vfn.i.i.i.i537.i.i1923 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i1922, i64 1 - %1230 = load ptr, ptr %vfn.i.i.i.i537.i.i1923, align 8 + br label %lpad180.body.i.i1895 + +invoke.cont181.i.i1911: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i1908, %invoke.cont2.i515.i.i1906 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i1042), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i1041), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i1041) + to label %.noexc538.i.i1912 unwind label %lpad180.i.i1894 + +.noexc538.i.i1912: ; preds = %invoke.cont181.i.i1911 + %1228 = load ptr, ptr %ref.tmp.i523.i.i1041, align 8, !noalias !1536 + %add.ptr.i.i524.i.i1913 = getelementptr inbounds i8, ptr %1228, i64 16 + %call2.i1.i525.i.i1914 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i1913, ptr noundef nonnull @.str.112) + to label %invoke.cont.i532.i.i1920 unwind label %lpad.i526.i.i1915 + +invoke.cont.i532.i.i1920: ; preds = %.noexc538.i.i1912 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1071, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i1041) + to label %invoke.cont2.i533.i.i1921 unwind label %lpad.i526.i.i1915 + +invoke.cont2.i533.i.i1921: ; preds = %invoke.cont.i532.i.i1920 + %1229 = load ptr, ptr %ref.tmp.i523.i.i1041, align 8, !noalias !1536 + %cmp.not.i.i.i534.i.i1922 = icmp eq ptr %1229, null + br i1 %cmp.not.i.i.i534.i.i1922, label %invoke.cont183.i.i1926, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i1923 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i1923: ; preds = %invoke.cont2.i533.i.i1921 + %vtable.i.i.i.i536.i.i1924 = load ptr, ptr %1229, align 8 + %vfn.i.i.i.i537.i.i1925 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i1924, i64 1 + %1230 = load ptr, ptr %vfn.i.i.i.i537.i.i1925, align 8 call void %1230(ptr noundef nonnull align 8 dereferenceable(128) %1229) #30 - br label %invoke.cont183.i.i1924 + br label %invoke.cont183.i.i1926 -lpad.i526.i.i1913: ; preds = %invoke.cont.i532.i.i1918, %.noexc538.i.i1910 +lpad.i526.i.i1915: ; preds = %invoke.cont.i532.i.i1920, %.noexc538.i.i1912 %1231 = landingpad { ptr, i32 } cleanup - %1232 = load ptr, ptr %ref.tmp.i523.i.i1039, align 8, !noalias !1536 - %cmp.not.i.i2.i527.i.i1914 = icmp eq ptr %1232, null - br i1 %cmp.not.i.i2.i527.i.i1914, label %lpad180.body.i.i1893, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i1915 + %1232 = load ptr, ptr %ref.tmp.i523.i.i1041, align 8, !noalias !1536 + %cmp.not.i.i2.i527.i.i1916 = icmp eq ptr %1232, null + br i1 %cmp.not.i.i2.i527.i.i1916, label %lpad180.body.i.i1895, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i1917 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i1915: ; preds = %lpad.i526.i.i1913 - %vtable.i.i.i4.i529.i.i1916 = load ptr, ptr %1232, align 8 - %vfn.i.i.i5.i530.i.i1917 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i1916, i64 1 - %1233 = load ptr, ptr %vfn.i.i.i5.i530.i.i1917, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i1917: ; preds = %lpad.i526.i.i1915 + %vtable.i.i.i4.i529.i.i1918 = load ptr, ptr %1232, align 8 + %vfn.i.i.i5.i530.i.i1919 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i1918, i64 1 + %1233 = load ptr, ptr %vfn.i.i.i5.i530.i.i1919, align 8 call void %1233(ptr noundef nonnull align 8 dereferenceable(128) %1232) #30 - br label %lpad180.body.i.i1893 - -invoke.cont183.i.i1924: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i1921, %invoke.cont2.i533.i.i1919 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i1039), !noalias !1536 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1069) - to label %invoke.cont185.i.i1925 unwind label %lpad180.i.i1892 - -invoke.cont185.i.i1925: ; preds = %invoke.cont183.i.i1924 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i1071) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i1070) #30 - %message_.i542.i.i1926 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i1069, i64 0, i32 1 - %1234 = load ptr, ptr %message_.i542.i.i1926, align 8, !noalias !1536 - %cmp.not.i.i543.i.i1927 = icmp eq ptr %1234, null - br i1 %cmp.not.i.i543.i.i1927, label %cleanup249.critedge.i.i1683, label %cleanup249.critedge.sink.split.i.i1680 - -lpad166.i.i1829: ; preds = %invoke.cont167.i.i1846, %invoke.cont165.i.i1828 + br label %lpad180.body.i.i1895 + +invoke.cont183.i.i1926: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i1923, %invoke.cont2.i533.i.i1921 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i1041), !noalias !1536 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1071) + to label %invoke.cont185.i.i1927 unwind label %lpad180.i.i1894 + +invoke.cont185.i.i1927: ; preds = %invoke.cont183.i.i1926 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i1073) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i1072) #30 + %message_.i542.i.i1928 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i1071, i64 0, i32 1 + %1234 = load ptr, ptr %message_.i542.i.i1928, align 8, !noalias !1536 + %cmp.not.i.i543.i.i1929 = icmp eq ptr %1234, null + br i1 %cmp.not.i.i543.i.i1929, label %cleanup249.critedge.i.i1685, label %cleanup249.critedge.sink.split.i.i1682 + +lpad166.i.i1831: ; preds = %invoke.cont167.i.i1848, %invoke.cont165.i.i1830 %1235 = landingpad { ptr, i32 } cleanup - br label %ehcleanup188.i.i1830 + br label %ehcleanup188.i.i1832 -lpad172.i.i1853: ; preds = %invoke.cont175.i.i1885, %invoke.cont173.i.i1870, %invoke.cont171.i.i1852 +lpad172.i.i1855: ; preds = %invoke.cont175.i.i1887, %invoke.cont173.i.i1872, %invoke.cont171.i.i1854 %1236 = landingpad { ptr, i32 } cleanup - br label %ehcleanup187.i.i1854 + br label %ehcleanup187.i.i1856 -lpad180.i.i1892: ; preds = %invoke.cont183.i.i1924, %invoke.cont181.i.i1909, %invoke.cont179.i.i1891 +lpad180.i.i1894: ; preds = %invoke.cont183.i.i1926, %invoke.cont181.i.i1911, %invoke.cont179.i.i1893 %1237 = landingpad { ptr, i32 } cleanup - br label %lpad180.body.i.i1893 - -lpad180.body.i.i1893: ; preds = %lpad180.i.i1892, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i1915, %lpad.i526.i.i1913, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i1900, %lpad.i508.i.i1898 - %eh.lpad-body521.i.i1894 = phi { ptr, i32 } [ %1225, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i1900 ], [ %1225, %lpad.i508.i.i1898 ], [ %1237, %lpad180.i.i1892 ], [ %1231, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i1915 ], [ %1231, %lpad.i526.i.i1913 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i1071) #30 - br label %ehcleanup187.i.i1854 - -ehcleanup187.i.i1854: ; preds = %lpad180.body.i.i1893, %lpad172.i.i1853, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i1876, %lpad.i489.i.i1874, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i1861, %lpad.i471.i.i1859 - %.pn34.i.i1855 = phi { ptr, i32 } [ %eh.lpad-body521.i.i1894, %lpad180.body.i.i1893 ], [ %1212, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i1861 ], [ %1212, %lpad.i471.i.i1859 ], [ %1236, %lpad172.i.i1853 ], [ %1218, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i1876 ], [ %1218, %lpad.i489.i.i1874 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i1070) #30 - br label %ehcleanup188.i.i1830 - -ehcleanup188.i.i1830: ; preds = %ehcleanup187.i.i1854, %lpad166.i.i1829, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i1837, %lpad.i453.i.i1835 - %.pn34.pn.i.i1831 = phi { ptr, i32 } [ %.pn34.i.i1855, %ehcleanup187.i.i1854 ], [ %1235, %lpad166.i.i1829 ], [ %1205, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i1837 ], [ %1205, %lpad.i453.i.i1835 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1069) #30 - br label %ehcleanup245.i.i1574 - -sw.bb189.i.i1726: ; preds = %invoke.cont162.i.i1576 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i1072) - to label %invoke.cont191.i.i1727 unwind label %lpad161.loopexit.split-lp.i.i1578 - -invoke.cont191.i.i1727: ; preds = %sw.bb189.i.i1726 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i1038), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i1038) - to label %.noexc561.i.i1731 unwind label %lpad192.i.i1728 - -.noexc561.i.i1731: ; preds = %invoke.cont191.i.i1727 - %1238 = load ptr, ptr %ref.tmp.i546.i.i1038, align 8, !noalias !1536 - %add.ptr.i.i547.i.i1732 = getelementptr inbounds i8, ptr %1238, i64 16 - %call2.i1.i548.i.i1733 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i1732, ptr noundef nonnull @.str.113) - to label %invoke.cont.i555.i.i1739 unwind label %lpad.i549.i.i1734 - -invoke.cont.i555.i.i1739: ; preds = %.noexc561.i.i1731 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1072, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i1038) - to label %invoke.cont2.i556.i.i1740 unwind label %lpad.i549.i.i1734 - -invoke.cont2.i556.i.i1740: ; preds = %invoke.cont.i555.i.i1739 - %1239 = load ptr, ptr %ref.tmp.i546.i.i1038, align 8, !noalias !1536 - %cmp.not.i.i.i557.i.i1741 = icmp eq ptr %1239, null - br i1 %cmp.not.i.i.i557.i.i1741, label %invoke.cont193.i.i1745, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i1742 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i1742: ; preds = %invoke.cont2.i556.i.i1740 - %vtable.i.i.i.i559.i.i1743 = load ptr, ptr %1239, align 8 - %vfn.i.i.i.i560.i.i1744 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i1743, i64 1 - %1240 = load ptr, ptr %vfn.i.i.i.i560.i.i1744, align 8 + br label %lpad180.body.i.i1895 + +lpad180.body.i.i1895: ; preds = %lpad180.i.i1894, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i1917, %lpad.i526.i.i1915, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i1902, %lpad.i508.i.i1900 + %eh.lpad-body521.i.i1896 = phi { ptr, i32 } [ %1225, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i1902 ], [ %1225, %lpad.i508.i.i1900 ], [ %1237, %lpad180.i.i1894 ], [ %1231, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i1917 ], [ %1231, %lpad.i526.i.i1915 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i1073) #30 + br label %ehcleanup187.i.i1856 + +ehcleanup187.i.i1856: ; preds = %lpad180.body.i.i1895, %lpad172.i.i1855, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i1878, %lpad.i489.i.i1876, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i1863, %lpad.i471.i.i1861 + %.pn34.i.i1857 = phi { ptr, i32 } [ %eh.lpad-body521.i.i1896, %lpad180.body.i.i1895 ], [ %1212, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i1863 ], [ %1212, %lpad.i471.i.i1861 ], [ %1236, %lpad172.i.i1855 ], [ %1218, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i1878 ], [ %1218, %lpad.i489.i.i1876 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i1072) #30 + br label %ehcleanup188.i.i1832 + +ehcleanup188.i.i1832: ; preds = %ehcleanup187.i.i1856, %lpad166.i.i1831, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i1839, %lpad.i453.i.i1837 + %.pn34.pn.i.i1833 = phi { ptr, i32 } [ %.pn34.i.i1857, %ehcleanup187.i.i1856 ], [ %1235, %lpad166.i.i1831 ], [ %1205, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i1839 ], [ %1205, %lpad.i453.i.i1837 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i1071) #30 + br label %ehcleanup245.i.i1576 + +sw.bb189.i.i1728: ; preds = %invoke.cont162.i.i1578 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i1074) + to label %invoke.cont191.i.i1729 unwind label %lpad161.loopexit.split-lp.i.i1580 + +invoke.cont191.i.i1729: ; preds = %sw.bb189.i.i1728 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i1040), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i1040) + to label %.noexc561.i.i1733 unwind label %lpad192.i.i1730 + +.noexc561.i.i1733: ; preds = %invoke.cont191.i.i1729 + %1238 = load ptr, ptr %ref.tmp.i546.i.i1040, align 8, !noalias !1536 + %add.ptr.i.i547.i.i1734 = getelementptr inbounds i8, ptr %1238, i64 16 + %call2.i1.i548.i.i1735 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i1734, ptr noundef nonnull @.str.113) + to label %invoke.cont.i555.i.i1741 unwind label %lpad.i549.i.i1736 + +invoke.cont.i555.i.i1741: ; preds = %.noexc561.i.i1733 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1074, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i1040) + to label %invoke.cont2.i556.i.i1742 unwind label %lpad.i549.i.i1736 + +invoke.cont2.i556.i.i1742: ; preds = %invoke.cont.i555.i.i1741 + %1239 = load ptr, ptr %ref.tmp.i546.i.i1040, align 8, !noalias !1536 + %cmp.not.i.i.i557.i.i1743 = icmp eq ptr %1239, null + br i1 %cmp.not.i.i.i557.i.i1743, label %invoke.cont193.i.i1747, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i1744 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i1744: ; preds = %invoke.cont2.i556.i.i1742 + %vtable.i.i.i.i559.i.i1745 = load ptr, ptr %1239, align 8 + %vfn.i.i.i.i560.i.i1746 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i1745, i64 1 + %1240 = load ptr, ptr %vfn.i.i.i.i560.i.i1746, align 8 call void %1240(ptr noundef nonnull align 8 dereferenceable(128) %1239) #30 - br label %invoke.cont193.i.i1745 + br label %invoke.cont193.i.i1747 -lpad.i549.i.i1734: ; preds = %invoke.cont.i555.i.i1739, %.noexc561.i.i1731 +lpad.i549.i.i1736: ; preds = %invoke.cont.i555.i.i1741, %.noexc561.i.i1733 %1241 = landingpad { ptr, i32 } cleanup - %1242 = load ptr, ptr %ref.tmp.i546.i.i1038, align 8, !noalias !1536 - %cmp.not.i.i2.i550.i.i1735 = icmp eq ptr %1242, null - br i1 %cmp.not.i.i2.i550.i.i1735, label %ehcleanup214.i.i1729, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i1736 + %1242 = load ptr, ptr %ref.tmp.i546.i.i1040, align 8, !noalias !1536 + %cmp.not.i.i2.i550.i.i1737 = icmp eq ptr %1242, null + br i1 %cmp.not.i.i2.i550.i.i1737, label %ehcleanup214.i.i1731, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i1738 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i1736: ; preds = %lpad.i549.i.i1734 - %vtable.i.i.i4.i552.i.i1737 = load ptr, ptr %1242, align 8 - %vfn.i.i.i5.i553.i.i1738 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i1737, i64 1 - %1243 = load ptr, ptr %vfn.i.i.i5.i553.i.i1738, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i1738: ; preds = %lpad.i549.i.i1736 + %vtable.i.i.i4.i552.i.i1739 = load ptr, ptr %1242, align 8 + %vfn.i.i.i5.i553.i.i1740 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i1739, i64 1 + %1243 = load ptr, ptr %vfn.i.i.i5.i553.i.i1740, align 8 call void %1243(ptr noundef nonnull align 8 dereferenceable(128) %1242) #30 - br label %ehcleanup214.i.i1729 - -invoke.cont193.i.i1745: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i1742, %invoke.cont2.i556.i.i1740 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i1038), !noalias !1536 - %call155.val76.i.i1746 = load ptr, ptr %__begin0146.sroa.0.050.i.i1561, align 8 - %call196.val.i.i1747 = load ptr, ptr %call155.val76.i.i1746, align 8 - %1244 = getelementptr i8, ptr %call155.val76.i.i1746, i64 8 - %call196.val90.i.i1748 = load i64, ptr %1244, align 8 - %call196.val.val.i.i1749 = load ptr, ptr %call196.val.i.i1747, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i1073, ptr %call196.val.val.i.i1749, i64 %call196.val90.i.i1748) - to label %invoke.cont197.i.i1751 unwind label %lpad192.i.i1728 - -invoke.cont197.i.i1751: ; preds = %invoke.cont193.i.i1745 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i1037), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i1037) - to label %.noexc578.i.i1755 unwind label %lpad198.i.i1752 - -.noexc578.i.i1755: ; preds = %invoke.cont197.i.i1751 - %1245 = load ptr, ptr %ref.tmp.i563.i.i1037, align 8, !noalias !1536 - %add.ptr.i.i564.i.i1756 = getelementptr inbounds i8, ptr %1245, i64 16 - %call2.i1.i565.i.i1757 = 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) %add.ptr.i.i564.i.i1756, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i1073) - to label %invoke.cont.i572.i.i1763 unwind label %lpad.i566.i.i1758 - -invoke.cont.i572.i.i1763: ; preds = %.noexc578.i.i1755 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1072, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i1037) - to label %invoke.cont2.i573.i.i1764 unwind label %lpad.i566.i.i1758 - -invoke.cont2.i573.i.i1764: ; preds = %invoke.cont.i572.i.i1763 - %1246 = load ptr, ptr %ref.tmp.i563.i.i1037, align 8, !noalias !1536 - %cmp.not.i.i.i574.i.i1765 = icmp eq ptr %1246, null - br i1 %cmp.not.i.i.i574.i.i1765, label %invoke.cont199.i.i1769, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i1766 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i1766: ; preds = %invoke.cont2.i573.i.i1764 - %vtable.i.i.i.i576.i.i1767 = load ptr, ptr %1246, align 8 - %vfn.i.i.i.i577.i.i1768 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i1767, i64 1 - %1247 = load ptr, ptr %vfn.i.i.i.i577.i.i1768, align 8 + br label %ehcleanup214.i.i1731 + +invoke.cont193.i.i1747: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i1744, %invoke.cont2.i556.i.i1742 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i1040), !noalias !1536 + %call155.val76.i.i1748 = load ptr, ptr %__begin0146.sroa.0.050.i.i1563, align 8 + %call196.val.i.i1749 = load ptr, ptr %call155.val76.i.i1748, align 8 + %1244 = getelementptr i8, ptr %call155.val76.i.i1748, i64 8 + %call196.val90.i.i1750 = load i64, ptr %1244, align 8 + %call196.val.val.i.i1751 = load ptr, ptr %call196.val.i.i1749, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i1075, ptr %call196.val.val.i.i1751, i64 %call196.val90.i.i1750) + to label %invoke.cont197.i.i1753 unwind label %lpad192.i.i1730 + +invoke.cont197.i.i1753: ; preds = %invoke.cont193.i.i1747 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i1039), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i1039) + to label %.noexc578.i.i1757 unwind label %lpad198.i.i1754 + +.noexc578.i.i1757: ; preds = %invoke.cont197.i.i1753 + %1245 = load ptr, ptr %ref.tmp.i563.i.i1039, align 8, !noalias !1536 + %add.ptr.i.i564.i.i1758 = getelementptr inbounds i8, ptr %1245, i64 16 + %call2.i1.i565.i.i1759 = 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) %add.ptr.i.i564.i.i1758, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i1075) + to label %invoke.cont.i572.i.i1765 unwind label %lpad.i566.i.i1760 + +invoke.cont.i572.i.i1765: ; preds = %.noexc578.i.i1757 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1074, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i1039) + to label %invoke.cont2.i573.i.i1766 unwind label %lpad.i566.i.i1760 + +invoke.cont2.i573.i.i1766: ; preds = %invoke.cont.i572.i.i1765 + %1246 = load ptr, ptr %ref.tmp.i563.i.i1039, align 8, !noalias !1536 + %cmp.not.i.i.i574.i.i1767 = icmp eq ptr %1246, null + br i1 %cmp.not.i.i.i574.i.i1767, label %invoke.cont199.i.i1771, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i1768 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i1768: ; preds = %invoke.cont2.i573.i.i1766 + %vtable.i.i.i.i576.i.i1769 = load ptr, ptr %1246, align 8 + %vfn.i.i.i.i577.i.i1770 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i1769, i64 1 + %1247 = load ptr, ptr %vfn.i.i.i.i577.i.i1770, align 8 call void %1247(ptr noundef nonnull align 8 dereferenceable(128) %1246) #30 - br label %invoke.cont199.i.i1769 + br label %invoke.cont199.i.i1771 -lpad.i566.i.i1758: ; preds = %invoke.cont.i572.i.i1763, %.noexc578.i.i1755 +lpad.i566.i.i1760: ; preds = %invoke.cont.i572.i.i1765, %.noexc578.i.i1757 %1248 = landingpad { ptr, i32 } cleanup - %1249 = load ptr, ptr %ref.tmp.i563.i.i1037, align 8, !noalias !1536 - %cmp.not.i.i2.i567.i.i1759 = icmp eq ptr %1249, null - br i1 %cmp.not.i.i2.i567.i.i1759, label %ehcleanup213.i.i1753, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i1760 + %1249 = load ptr, ptr %ref.tmp.i563.i.i1039, align 8, !noalias !1536 + %cmp.not.i.i2.i567.i.i1761 = icmp eq ptr %1249, null + br i1 %cmp.not.i.i2.i567.i.i1761, label %ehcleanup213.i.i1755, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i1762 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i1760: ; preds = %lpad.i566.i.i1758 - %vtable.i.i.i4.i569.i.i1761 = load ptr, ptr %1249, align 8 - %vfn.i.i.i5.i570.i.i1762 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i1761, i64 1 - %1250 = load ptr, ptr %vfn.i.i.i5.i570.i.i1762, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i1762: ; preds = %lpad.i566.i.i1760 + %vtable.i.i.i4.i569.i.i1763 = load ptr, ptr %1249, align 8 + %vfn.i.i.i5.i570.i.i1764 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i1763, i64 1 + %1250 = load ptr, ptr %vfn.i.i.i5.i570.i.i1764, align 8 call void %1250(ptr noundef nonnull align 8 dereferenceable(128) %1249) #30 - br label %ehcleanup213.i.i1753 - -invoke.cont199.i.i1769: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i1766, %invoke.cont2.i573.i.i1764 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i1037), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i1036), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i1036) - to label %.noexc596.i.i1770 unwind label %lpad198.i.i1752 - -.noexc596.i.i1770: ; preds = %invoke.cont199.i.i1769 - %1251 = load ptr, ptr %ref.tmp.i581.i.i1036, align 8, !noalias !1536 - %add.ptr.i.i582.i.i1771 = getelementptr inbounds i8, ptr %1251, i64 16 - %call2.i1.i583.i.i1772 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i1771, ptr noundef nonnull @.str.114) - to label %invoke.cont.i590.i.i1778 unwind label %lpad.i584.i.i1773 - -invoke.cont.i590.i.i1778: ; preds = %.noexc596.i.i1770 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1072, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i1036) - to label %invoke.cont2.i591.i.i1779 unwind label %lpad.i584.i.i1773 - -invoke.cont2.i591.i.i1779: ; preds = %invoke.cont.i590.i.i1778 - %1252 = load ptr, ptr %ref.tmp.i581.i.i1036, align 8, !noalias !1536 - %cmp.not.i.i.i592.i.i1780 = icmp eq ptr %1252, null - br i1 %cmp.not.i.i.i592.i.i1780, label %invoke.cont201.i.i1784, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i1781 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i1781: ; preds = %invoke.cont2.i591.i.i1779 - %vtable.i.i.i.i594.i.i1782 = load ptr, ptr %1252, align 8 - %vfn.i.i.i.i595.i.i1783 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i1782, i64 1 - %1253 = load ptr, ptr %vfn.i.i.i.i595.i.i1783, align 8 + br label %ehcleanup213.i.i1755 + +invoke.cont199.i.i1771: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i1768, %invoke.cont2.i573.i.i1766 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i1039), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i1038), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i1038) + to label %.noexc596.i.i1772 unwind label %lpad198.i.i1754 + +.noexc596.i.i1772: ; preds = %invoke.cont199.i.i1771 + %1251 = load ptr, ptr %ref.tmp.i581.i.i1038, align 8, !noalias !1536 + %add.ptr.i.i582.i.i1773 = getelementptr inbounds i8, ptr %1251, i64 16 + %call2.i1.i583.i.i1774 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i1773, ptr noundef nonnull @.str.114) + to label %invoke.cont.i590.i.i1780 unwind label %lpad.i584.i.i1775 + +invoke.cont.i590.i.i1780: ; preds = %.noexc596.i.i1772 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1074, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i1038) + to label %invoke.cont2.i591.i.i1781 unwind label %lpad.i584.i.i1775 + +invoke.cont2.i591.i.i1781: ; preds = %invoke.cont.i590.i.i1780 + %1252 = load ptr, ptr %ref.tmp.i581.i.i1038, align 8, !noalias !1536 + %cmp.not.i.i.i592.i.i1782 = icmp eq ptr %1252, null + br i1 %cmp.not.i.i.i592.i.i1782, label %invoke.cont201.i.i1786, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i1783 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i1783: ; preds = %invoke.cont2.i591.i.i1781 + %vtable.i.i.i.i594.i.i1784 = load ptr, ptr %1252, align 8 + %vfn.i.i.i.i595.i.i1785 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i1784, i64 1 + %1253 = load ptr, ptr %vfn.i.i.i.i595.i.i1785, align 8 call void %1253(ptr noundef nonnull align 8 dereferenceable(128) %1252) #30 - br label %invoke.cont201.i.i1784 + br label %invoke.cont201.i.i1786 -lpad.i584.i.i1773: ; preds = %invoke.cont.i590.i.i1778, %.noexc596.i.i1770 +lpad.i584.i.i1775: ; preds = %invoke.cont.i590.i.i1780, %.noexc596.i.i1772 %1254 = landingpad { ptr, i32 } cleanup - %1255 = load ptr, ptr %ref.tmp.i581.i.i1036, align 8, !noalias !1536 - %cmp.not.i.i2.i585.i.i1774 = icmp eq ptr %1255, null - br i1 %cmp.not.i.i2.i585.i.i1774, label %ehcleanup213.i.i1753, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i1775 + %1255 = load ptr, ptr %ref.tmp.i581.i.i1038, align 8, !noalias !1536 + %cmp.not.i.i2.i585.i.i1776 = icmp eq ptr %1255, null + br i1 %cmp.not.i.i2.i585.i.i1776, label %ehcleanup213.i.i1755, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i1777 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i1775: ; preds = %lpad.i584.i.i1773 - %vtable.i.i.i4.i587.i.i1776 = load ptr, ptr %1255, align 8 - %vfn.i.i.i5.i588.i.i1777 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i1776, i64 1 - %1256 = load ptr, ptr %vfn.i.i.i5.i588.i.i1777, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i1777: ; preds = %lpad.i584.i.i1775 + %vtable.i.i.i4.i587.i.i1778 = load ptr, ptr %1255, align 8 + %vfn.i.i.i5.i588.i.i1779 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i1778, i64 1 + %1256 = load ptr, ptr %vfn.i.i.i5.i588.i.i1779, align 8 call void %1256(ptr noundef nonnull align 8 dereferenceable(128) %1255) #30 - br label %ehcleanup213.i.i1753 - -invoke.cont201.i.i1784: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i1781, %invoke.cont2.i591.i.i1779 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i1036), !noalias !1536 - %call68.val77.i.i1785 = load ptr, ptr %__begin058.sroa.0.052.i.i1236, align 8 - %call204.val.i.i1786 = load ptr, ptr %call68.val77.i.i1785, align 8 - %1257 = getelementptr i8, ptr %call68.val77.i.i1785, i64 8 - %call204.val91.i.i1787 = load i64, ptr %1257, align 8 - %call204.val.val.i.i1788 = load ptr, ptr %call204.val.i.i1786, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i1074, ptr %call204.val.val.i.i1788, i64 %call204.val91.i.i1787) - to label %invoke.cont205.i.i1790 unwind label %lpad198.i.i1752 - -invoke.cont205.i.i1790: ; preds = %invoke.cont201.i.i1784 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i1035), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i1035) - to label %.noexc614.i.i1794 unwind label %lpad206.i.i1791 - -.noexc614.i.i1794: ; preds = %invoke.cont205.i.i1790 - %1258 = load ptr, ptr %ref.tmp.i599.i.i1035, align 8, !noalias !1536 - %add.ptr.i.i600.i.i1795 = getelementptr inbounds i8, ptr %1258, i64 16 - %call2.i1.i601.i.i1796 = 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) %add.ptr.i.i600.i.i1795, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i1074) - to label %invoke.cont.i608.i.i1802 unwind label %lpad.i602.i.i1797 - -invoke.cont.i608.i.i1802: ; preds = %.noexc614.i.i1794 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1072, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i1035) - to label %invoke.cont2.i609.i.i1803 unwind label %lpad.i602.i.i1797 - -invoke.cont2.i609.i.i1803: ; preds = %invoke.cont.i608.i.i1802 - %1259 = load ptr, ptr %ref.tmp.i599.i.i1035, align 8, !noalias !1536 - %cmp.not.i.i.i610.i.i1804 = icmp eq ptr %1259, null - br i1 %cmp.not.i.i.i610.i.i1804, label %invoke.cont207.i.i1808, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i1805 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i1805: ; preds = %invoke.cont2.i609.i.i1803 - %vtable.i.i.i.i612.i.i1806 = load ptr, ptr %1259, align 8 - %vfn.i.i.i.i613.i.i1807 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i1806, i64 1 - %1260 = load ptr, ptr %vfn.i.i.i.i613.i.i1807, align 8 + br label %ehcleanup213.i.i1755 + +invoke.cont201.i.i1786: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i1783, %invoke.cont2.i591.i.i1781 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i1038), !noalias !1536 + %call68.val77.i.i1787 = load ptr, ptr %__begin058.sroa.0.052.i.i1238, align 8 + %call204.val.i.i1788 = load ptr, ptr %call68.val77.i.i1787, align 8 + %1257 = getelementptr i8, ptr %call68.val77.i.i1787, i64 8 + %call204.val91.i.i1789 = load i64, ptr %1257, align 8 + %call204.val.val.i.i1790 = load ptr, ptr %call204.val.i.i1788, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i1076, ptr %call204.val.val.i.i1790, i64 %call204.val91.i.i1789) + to label %invoke.cont205.i.i1792 unwind label %lpad198.i.i1754 + +invoke.cont205.i.i1792: ; preds = %invoke.cont201.i.i1786 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i1037), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i1037) + to label %.noexc614.i.i1796 unwind label %lpad206.i.i1793 + +.noexc614.i.i1796: ; preds = %invoke.cont205.i.i1792 + %1258 = load ptr, ptr %ref.tmp.i599.i.i1037, align 8, !noalias !1536 + %add.ptr.i.i600.i.i1797 = getelementptr inbounds i8, ptr %1258, i64 16 + %call2.i1.i601.i.i1798 = 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) %add.ptr.i.i600.i.i1797, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i1076) + to label %invoke.cont.i608.i.i1804 unwind label %lpad.i602.i.i1799 + +invoke.cont.i608.i.i1804: ; preds = %.noexc614.i.i1796 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1074, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i1037) + to label %invoke.cont2.i609.i.i1805 unwind label %lpad.i602.i.i1799 + +invoke.cont2.i609.i.i1805: ; preds = %invoke.cont.i608.i.i1804 + %1259 = load ptr, ptr %ref.tmp.i599.i.i1037, align 8, !noalias !1536 + %cmp.not.i.i.i610.i.i1806 = icmp eq ptr %1259, null + br i1 %cmp.not.i.i.i610.i.i1806, label %invoke.cont207.i.i1810, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i1807 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i1807: ; preds = %invoke.cont2.i609.i.i1805 + %vtable.i.i.i.i612.i.i1808 = load ptr, ptr %1259, align 8 + %vfn.i.i.i.i613.i.i1809 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i1808, i64 1 + %1260 = load ptr, ptr %vfn.i.i.i.i613.i.i1809, align 8 call void %1260(ptr noundef nonnull align 8 dereferenceable(128) %1259) #30 - br label %invoke.cont207.i.i1808 + br label %invoke.cont207.i.i1810 -lpad.i602.i.i1797: ; preds = %invoke.cont.i608.i.i1802, %.noexc614.i.i1794 +lpad.i602.i.i1799: ; preds = %invoke.cont.i608.i.i1804, %.noexc614.i.i1796 %1261 = landingpad { ptr, i32 } cleanup - %1262 = load ptr, ptr %ref.tmp.i599.i.i1035, align 8, !noalias !1536 - %cmp.not.i.i2.i603.i.i1798 = icmp eq ptr %1262, null - br i1 %cmp.not.i.i2.i603.i.i1798, label %lpad206.body.i.i1792, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i1799 + %1262 = load ptr, ptr %ref.tmp.i599.i.i1037, align 8, !noalias !1536 + %cmp.not.i.i2.i603.i.i1800 = icmp eq ptr %1262, null + br i1 %cmp.not.i.i2.i603.i.i1800, label %lpad206.body.i.i1794, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i1801 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i1799: ; preds = %lpad.i602.i.i1797 - %vtable.i.i.i4.i605.i.i1800 = load ptr, ptr %1262, align 8 - %vfn.i.i.i5.i606.i.i1801 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i1800, i64 1 - %1263 = load ptr, ptr %vfn.i.i.i5.i606.i.i1801, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i1801: ; preds = %lpad.i602.i.i1799 + %vtable.i.i.i4.i605.i.i1802 = load ptr, ptr %1262, align 8 + %vfn.i.i.i5.i606.i.i1803 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i1802, i64 1 + %1263 = load ptr, ptr %vfn.i.i.i5.i606.i.i1803, align 8 call void %1263(ptr noundef nonnull align 8 dereferenceable(128) %1262) #30 - br label %lpad206.body.i.i1792 - -invoke.cont207.i.i1808: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i1805, %invoke.cont2.i609.i.i1803 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i1035), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i1034), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i1034) - to label %.noexc632.i.i1809 unwind label %lpad206.i.i1791 - -.noexc632.i.i1809: ; preds = %invoke.cont207.i.i1808 - %1264 = load ptr, ptr %ref.tmp.i617.i.i1034, align 8, !noalias !1536 - %add.ptr.i.i618.i.i1810 = getelementptr inbounds i8, ptr %1264, i64 16 - %call2.i1.i619.i.i1811 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i1810, ptr noundef nonnull @.str.115) - to label %invoke.cont.i626.i.i1817 unwind label %lpad.i620.i.i1812 - -invoke.cont.i626.i.i1817: ; preds = %.noexc632.i.i1809 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1072, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i1034) - to label %invoke.cont2.i627.i.i1818 unwind label %lpad.i620.i.i1812 - -invoke.cont2.i627.i.i1818: ; preds = %invoke.cont.i626.i.i1817 - %1265 = load ptr, ptr %ref.tmp.i617.i.i1034, align 8, !noalias !1536 - %cmp.not.i.i.i628.i.i1819 = icmp eq ptr %1265, null - br i1 %cmp.not.i.i.i628.i.i1819, label %invoke.cont209.i.i1823, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i1820 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i1820: ; preds = %invoke.cont2.i627.i.i1818 - %vtable.i.i.i.i630.i.i1821 = load ptr, ptr %1265, align 8 - %vfn.i.i.i.i631.i.i1822 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i1821, i64 1 - %1266 = load ptr, ptr %vfn.i.i.i.i631.i.i1822, align 8 + br label %lpad206.body.i.i1794 + +invoke.cont207.i.i1810: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i1807, %invoke.cont2.i609.i.i1805 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i1037), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i1036), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i1036) + to label %.noexc632.i.i1811 unwind label %lpad206.i.i1793 + +.noexc632.i.i1811: ; preds = %invoke.cont207.i.i1810 + %1264 = load ptr, ptr %ref.tmp.i617.i.i1036, align 8, !noalias !1536 + %add.ptr.i.i618.i.i1812 = getelementptr inbounds i8, ptr %1264, i64 16 + %call2.i1.i619.i.i1813 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i1812, ptr noundef nonnull @.str.115) + to label %invoke.cont.i626.i.i1819 unwind label %lpad.i620.i.i1814 + +invoke.cont.i626.i.i1819: ; preds = %.noexc632.i.i1811 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1074, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i1036) + to label %invoke.cont2.i627.i.i1820 unwind label %lpad.i620.i.i1814 + +invoke.cont2.i627.i.i1820: ; preds = %invoke.cont.i626.i.i1819 + %1265 = load ptr, ptr %ref.tmp.i617.i.i1036, align 8, !noalias !1536 + %cmp.not.i.i.i628.i.i1821 = icmp eq ptr %1265, null + br i1 %cmp.not.i.i.i628.i.i1821, label %invoke.cont209.i.i1825, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i1822 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i1822: ; preds = %invoke.cont2.i627.i.i1820 + %vtable.i.i.i.i630.i.i1823 = load ptr, ptr %1265, align 8 + %vfn.i.i.i.i631.i.i1824 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i1823, i64 1 + %1266 = load ptr, ptr %vfn.i.i.i.i631.i.i1824, align 8 call void %1266(ptr noundef nonnull align 8 dereferenceable(128) %1265) #30 - br label %invoke.cont209.i.i1823 + br label %invoke.cont209.i.i1825 -lpad.i620.i.i1812: ; preds = %invoke.cont.i626.i.i1817, %.noexc632.i.i1809 +lpad.i620.i.i1814: ; preds = %invoke.cont.i626.i.i1819, %.noexc632.i.i1811 %1267 = landingpad { ptr, i32 } cleanup - %1268 = load ptr, ptr %ref.tmp.i617.i.i1034, align 8, !noalias !1536 - %cmp.not.i.i2.i621.i.i1813 = icmp eq ptr %1268, null - br i1 %cmp.not.i.i2.i621.i.i1813, label %lpad206.body.i.i1792, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i1814 + %1268 = load ptr, ptr %ref.tmp.i617.i.i1036, align 8, !noalias !1536 + %cmp.not.i.i2.i621.i.i1815 = icmp eq ptr %1268, null + br i1 %cmp.not.i.i2.i621.i.i1815, label %lpad206.body.i.i1794, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i1816 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i1814: ; preds = %lpad.i620.i.i1812 - %vtable.i.i.i4.i623.i.i1815 = load ptr, ptr %1268, align 8 - %vfn.i.i.i5.i624.i.i1816 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i1815, i64 1 - %1269 = load ptr, ptr %vfn.i.i.i5.i624.i.i1816, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i1816: ; preds = %lpad.i620.i.i1814 + %vtable.i.i.i4.i623.i.i1817 = load ptr, ptr %1268, align 8 + %vfn.i.i.i5.i624.i.i1818 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i1817, i64 1 + %1269 = load ptr, ptr %vfn.i.i.i5.i624.i.i1818, align 8 call void %1269(ptr noundef nonnull align 8 dereferenceable(128) %1268) #30 - br label %lpad206.body.i.i1792 - -invoke.cont209.i.i1823: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i1820, %invoke.cont2.i627.i.i1818 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i1034), !noalias !1536 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1072) - to label %invoke.cont211.i.i1824 unwind label %lpad206.i.i1791 - -invoke.cont211.i.i1824: ; preds = %invoke.cont209.i.i1823 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i1074) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i1073) #30 - %message_.i635.i.i1825 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i1072, i64 0, i32 1 - %1270 = load ptr, ptr %message_.i635.i.i1825, align 8, !noalias !1536 - %cmp.not.i.i636.i.i1826 = icmp eq ptr %1270, null - br i1 %cmp.not.i.i636.i.i1826, label %cleanup249.critedge.i.i1683, label %cleanup249.critedge.sink.split.i.i1680 - -lpad192.i.i1728: ; preds = %invoke.cont193.i.i1745, %invoke.cont191.i.i1727 + br label %lpad206.body.i.i1794 + +invoke.cont209.i.i1825: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i1822, %invoke.cont2.i627.i.i1820 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i1036), !noalias !1536 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1074) + to label %invoke.cont211.i.i1826 unwind label %lpad206.i.i1793 + +invoke.cont211.i.i1826: ; preds = %invoke.cont209.i.i1825 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i1076) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i1075) #30 + %message_.i635.i.i1827 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i1074, i64 0, i32 1 + %1270 = load ptr, ptr %message_.i635.i.i1827, align 8, !noalias !1536 + %cmp.not.i.i636.i.i1828 = icmp eq ptr %1270, null + br i1 %cmp.not.i.i636.i.i1828, label %cleanup249.critedge.i.i1685, label %cleanup249.critedge.sink.split.i.i1682 + +lpad192.i.i1730: ; preds = %invoke.cont193.i.i1747, %invoke.cont191.i.i1729 %1271 = landingpad { ptr, i32 } cleanup - br label %ehcleanup214.i.i1729 + br label %ehcleanup214.i.i1731 -lpad198.i.i1752: ; preds = %invoke.cont201.i.i1784, %invoke.cont199.i.i1769, %invoke.cont197.i.i1751 +lpad198.i.i1754: ; preds = %invoke.cont201.i.i1786, %invoke.cont199.i.i1771, %invoke.cont197.i.i1753 %1272 = landingpad { ptr, i32 } cleanup - br label %ehcleanup213.i.i1753 + br label %ehcleanup213.i.i1755 -lpad206.i.i1791: ; preds = %invoke.cont209.i.i1823, %invoke.cont207.i.i1808, %invoke.cont205.i.i1790 +lpad206.i.i1793: ; preds = %invoke.cont209.i.i1825, %invoke.cont207.i.i1810, %invoke.cont205.i.i1792 %1273 = landingpad { ptr, i32 } cleanup - br label %lpad206.body.i.i1792 - -lpad206.body.i.i1792: ; preds = %lpad206.i.i1791, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i1814, %lpad.i620.i.i1812, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i1799, %lpad.i602.i.i1797 - %eh.lpad-body615.i.i1793 = phi { ptr, i32 } [ %1261, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i1799 ], [ %1261, %lpad.i602.i.i1797 ], [ %1273, %lpad206.i.i1791 ], [ %1267, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i1814 ], [ %1267, %lpad.i620.i.i1812 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i1074) #30 - br label %ehcleanup213.i.i1753 - -ehcleanup213.i.i1753: ; preds = %lpad206.body.i.i1792, %lpad198.i.i1752, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i1775, %lpad.i584.i.i1773, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i1760, %lpad.i566.i.i1758 - %.pn31.i.i1754 = phi { ptr, i32 } [ %eh.lpad-body615.i.i1793, %lpad206.body.i.i1792 ], [ %1248, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i1760 ], [ %1248, %lpad.i566.i.i1758 ], [ %1272, %lpad198.i.i1752 ], [ %1254, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i1775 ], [ %1254, %lpad.i584.i.i1773 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i1073) #30 - br label %ehcleanup214.i.i1729 - -ehcleanup214.i.i1729: ; preds = %ehcleanup213.i.i1753, %lpad192.i.i1728, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i1736, %lpad.i549.i.i1734 - %.pn31.pn.i.i1730 = phi { ptr, i32 } [ %.pn31.i.i1754, %ehcleanup213.i.i1753 ], [ %1271, %lpad192.i.i1728 ], [ %1241, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i1736 ], [ %1241, %lpad.i549.i.i1734 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1072) #30 - br label %ehcleanup245.i.i1574 - -sw.bb215.i.i1577: ; preds = %invoke.cont162.i.i1576 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i1075) - to label %invoke.cont217.i.i1580 unwind label %lpad161.loopexit.split-lp.i.i1578 - -invoke.cont217.i.i1580: ; preds = %sw.bb215.i.i1577 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i1033), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i1033) - to label %.noexc654.i.i1584 unwind label %lpad218.i.i1581 - -.noexc654.i.i1584: ; preds = %invoke.cont217.i.i1580 - %1274 = load ptr, ptr %ref.tmp.i639.i.i1033, align 8, !noalias !1536 - %add.ptr.i.i640.i.i1585 = getelementptr inbounds i8, ptr %1274, i64 16 - %call2.i1.i641.i.i1586 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i1585, ptr noundef nonnull @.str.113) - to label %invoke.cont.i648.i.i1592 unwind label %lpad.i642.i.i1587 - -invoke.cont.i648.i.i1592: ; preds = %.noexc654.i.i1584 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1075, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i1033) - to label %invoke.cont2.i649.i.i1593 unwind label %lpad.i642.i.i1587 - -invoke.cont2.i649.i.i1593: ; preds = %invoke.cont.i648.i.i1592 - %1275 = load ptr, ptr %ref.tmp.i639.i.i1033, align 8, !noalias !1536 - %cmp.not.i.i.i650.i.i1594 = icmp eq ptr %1275, null - br i1 %cmp.not.i.i.i650.i.i1594, label %invoke.cont219.i.i1598, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i1595 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i1595: ; preds = %invoke.cont2.i649.i.i1593 - %vtable.i.i.i.i652.i.i1596 = load ptr, ptr %1275, align 8 - %vfn.i.i.i.i653.i.i1597 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i1596, i64 1 - %1276 = load ptr, ptr %vfn.i.i.i.i653.i.i1597, align 8 + br label %lpad206.body.i.i1794 + +lpad206.body.i.i1794: ; preds = %lpad206.i.i1793, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i1816, %lpad.i620.i.i1814, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i1801, %lpad.i602.i.i1799 + %eh.lpad-body615.i.i1795 = phi { ptr, i32 } [ %1261, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i1801 ], [ %1261, %lpad.i602.i.i1799 ], [ %1273, %lpad206.i.i1793 ], [ %1267, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i1816 ], [ %1267, %lpad.i620.i.i1814 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i1076) #30 + br label %ehcleanup213.i.i1755 + +ehcleanup213.i.i1755: ; preds = %lpad206.body.i.i1794, %lpad198.i.i1754, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i1777, %lpad.i584.i.i1775, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i1762, %lpad.i566.i.i1760 + %.pn31.i.i1756 = phi { ptr, i32 } [ %eh.lpad-body615.i.i1795, %lpad206.body.i.i1794 ], [ %1248, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i1762 ], [ %1248, %lpad.i566.i.i1760 ], [ %1272, %lpad198.i.i1754 ], [ %1254, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i1777 ], [ %1254, %lpad.i584.i.i1775 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i1075) #30 + br label %ehcleanup214.i.i1731 + +ehcleanup214.i.i1731: ; preds = %ehcleanup213.i.i1755, %lpad192.i.i1730, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i1738, %lpad.i549.i.i1736 + %.pn31.pn.i.i1732 = phi { ptr, i32 } [ %.pn31.i.i1756, %ehcleanup213.i.i1755 ], [ %1271, %lpad192.i.i1730 ], [ %1241, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i1738 ], [ %1241, %lpad.i549.i.i1736 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i1074) #30 + br label %ehcleanup245.i.i1576 + +sw.bb215.i.i1579: ; preds = %invoke.cont162.i.i1578 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i1077) + to label %invoke.cont217.i.i1582 unwind label %lpad161.loopexit.split-lp.i.i1580 + +invoke.cont217.i.i1582: ; preds = %sw.bb215.i.i1579 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i1035), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i1035) + to label %.noexc654.i.i1586 unwind label %lpad218.i.i1583 + +.noexc654.i.i1586: ; preds = %invoke.cont217.i.i1582 + %1274 = load ptr, ptr %ref.tmp.i639.i.i1035, align 8, !noalias !1536 + %add.ptr.i.i640.i.i1587 = getelementptr inbounds i8, ptr %1274, i64 16 + %call2.i1.i641.i.i1588 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i1587, ptr noundef nonnull @.str.113) + to label %invoke.cont.i648.i.i1594 unwind label %lpad.i642.i.i1589 + +invoke.cont.i648.i.i1594: ; preds = %.noexc654.i.i1586 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1077, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i1035) + to label %invoke.cont2.i649.i.i1595 unwind label %lpad.i642.i.i1589 + +invoke.cont2.i649.i.i1595: ; preds = %invoke.cont.i648.i.i1594 + %1275 = load ptr, ptr %ref.tmp.i639.i.i1035, align 8, !noalias !1536 + %cmp.not.i.i.i650.i.i1596 = icmp eq ptr %1275, null + br i1 %cmp.not.i.i.i650.i.i1596, label %invoke.cont219.i.i1600, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i1597 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i1597: ; preds = %invoke.cont2.i649.i.i1595 + %vtable.i.i.i.i652.i.i1598 = load ptr, ptr %1275, align 8 + %vfn.i.i.i.i653.i.i1599 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i1598, i64 1 + %1276 = load ptr, ptr %vfn.i.i.i.i653.i.i1599, align 8 call void %1276(ptr noundef nonnull align 8 dereferenceable(128) %1275) #30 - br label %invoke.cont219.i.i1598 + br label %invoke.cont219.i.i1600 -lpad.i642.i.i1587: ; preds = %invoke.cont.i648.i.i1592, %.noexc654.i.i1584 +lpad.i642.i.i1589: ; preds = %invoke.cont.i648.i.i1594, %.noexc654.i.i1586 %1277 = landingpad { ptr, i32 } cleanup - %1278 = load ptr, ptr %ref.tmp.i639.i.i1033, align 8, !noalias !1536 - %cmp.not.i.i2.i643.i.i1588 = icmp eq ptr %1278, null - br i1 %cmp.not.i.i2.i643.i.i1588, label %ehcleanup240.i.i1582, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i1589 + %1278 = load ptr, ptr %ref.tmp.i639.i.i1035, align 8, !noalias !1536 + %cmp.not.i.i2.i643.i.i1590 = icmp eq ptr %1278, null + br i1 %cmp.not.i.i2.i643.i.i1590, label %ehcleanup240.i.i1584, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i1591 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i1589: ; preds = %lpad.i642.i.i1587 - %vtable.i.i.i4.i645.i.i1590 = load ptr, ptr %1278, align 8 - %vfn.i.i.i5.i646.i.i1591 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i1590, i64 1 - %1279 = load ptr, ptr %vfn.i.i.i5.i646.i.i1591, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i1591: ; preds = %lpad.i642.i.i1589 + %vtable.i.i.i4.i645.i.i1592 = load ptr, ptr %1278, align 8 + %vfn.i.i.i5.i646.i.i1593 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i1592, i64 1 + %1279 = load ptr, ptr %vfn.i.i.i5.i646.i.i1593, align 8 call void %1279(ptr noundef nonnull align 8 dereferenceable(128) %1278) #30 - br label %ehcleanup240.i.i1582 - -invoke.cont219.i.i1598: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i1595, %invoke.cont2.i649.i.i1593 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i1033), !noalias !1536 - %call68.val78.i.i1599 = load ptr, ptr %__begin058.sroa.0.052.i.i1236, align 8 - %call222.val.i.i1600 = load ptr, ptr %call68.val78.i.i1599, align 8 - %1280 = getelementptr i8, ptr %call68.val78.i.i1599, i64 8 - %call222.val92.i.i1601 = load i64, ptr %1280, align 8 - %call222.val.val.i.i1602 = load ptr, ptr %call222.val.i.i1600, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i1076, ptr %call222.val.val.i.i1602, i64 %call222.val92.i.i1601) - to label %invoke.cont223.i.i1604 unwind label %lpad218.i.i1581 - -invoke.cont223.i.i1604: ; preds = %invoke.cont219.i.i1598 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i1032), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i1032) - to label %.noexc672.i.i1608 unwind label %lpad224.i.i1605 - -.noexc672.i.i1608: ; preds = %invoke.cont223.i.i1604 - %1281 = load ptr, ptr %ref.tmp.i657.i.i1032, align 8, !noalias !1536 - %add.ptr.i.i658.i.i1609 = getelementptr inbounds i8, ptr %1281, i64 16 - %call2.i1.i659.i.i1610 = 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) %add.ptr.i.i658.i.i1609, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i1076) - to label %invoke.cont.i666.i.i1616 unwind label %lpad.i660.i.i1611 - -invoke.cont.i666.i.i1616: ; preds = %.noexc672.i.i1608 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1075, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i1032) - to label %invoke.cont2.i667.i.i1617 unwind label %lpad.i660.i.i1611 - -invoke.cont2.i667.i.i1617: ; preds = %invoke.cont.i666.i.i1616 - %1282 = load ptr, ptr %ref.tmp.i657.i.i1032, align 8, !noalias !1536 - %cmp.not.i.i.i668.i.i1618 = icmp eq ptr %1282, null - br i1 %cmp.not.i.i.i668.i.i1618, label %invoke.cont225.i.i1622, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i1619 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i1619: ; preds = %invoke.cont2.i667.i.i1617 - %vtable.i.i.i.i670.i.i1620 = load ptr, ptr %1282, align 8 - %vfn.i.i.i.i671.i.i1621 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i1620, i64 1 - %1283 = load ptr, ptr %vfn.i.i.i.i671.i.i1621, align 8 + br label %ehcleanup240.i.i1584 + +invoke.cont219.i.i1600: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i1597, %invoke.cont2.i649.i.i1595 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i1035), !noalias !1536 + %call68.val78.i.i1601 = load ptr, ptr %__begin058.sroa.0.052.i.i1238, align 8 + %call222.val.i.i1602 = load ptr, ptr %call68.val78.i.i1601, align 8 + %1280 = getelementptr i8, ptr %call68.val78.i.i1601, i64 8 + %call222.val92.i.i1603 = load i64, ptr %1280, align 8 + %call222.val.val.i.i1604 = load ptr, ptr %call222.val.i.i1602, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i1078, ptr %call222.val.val.i.i1604, i64 %call222.val92.i.i1603) + to label %invoke.cont223.i.i1606 unwind label %lpad218.i.i1583 + +invoke.cont223.i.i1606: ; preds = %invoke.cont219.i.i1600 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i1034), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i1034) + to label %.noexc672.i.i1610 unwind label %lpad224.i.i1607 + +.noexc672.i.i1610: ; preds = %invoke.cont223.i.i1606 + %1281 = load ptr, ptr %ref.tmp.i657.i.i1034, align 8, !noalias !1536 + %add.ptr.i.i658.i.i1611 = getelementptr inbounds i8, ptr %1281, i64 16 + %call2.i1.i659.i.i1612 = 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) %add.ptr.i.i658.i.i1611, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i1078) + to label %invoke.cont.i666.i.i1618 unwind label %lpad.i660.i.i1613 + +invoke.cont.i666.i.i1618: ; preds = %.noexc672.i.i1610 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1077, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i1034) + to label %invoke.cont2.i667.i.i1619 unwind label %lpad.i660.i.i1613 + +invoke.cont2.i667.i.i1619: ; preds = %invoke.cont.i666.i.i1618 + %1282 = load ptr, ptr %ref.tmp.i657.i.i1034, align 8, !noalias !1536 + %cmp.not.i.i.i668.i.i1620 = icmp eq ptr %1282, null + br i1 %cmp.not.i.i.i668.i.i1620, label %invoke.cont225.i.i1624, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i1621 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i1621: ; preds = %invoke.cont2.i667.i.i1619 + %vtable.i.i.i.i670.i.i1622 = load ptr, ptr %1282, align 8 + %vfn.i.i.i.i671.i.i1623 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i1622, i64 1 + %1283 = load ptr, ptr %vfn.i.i.i.i671.i.i1623, align 8 call void %1283(ptr noundef nonnull align 8 dereferenceable(128) %1282) #30 - br label %invoke.cont225.i.i1622 + br label %invoke.cont225.i.i1624 -lpad.i660.i.i1611: ; preds = %invoke.cont.i666.i.i1616, %.noexc672.i.i1608 +lpad.i660.i.i1613: ; preds = %invoke.cont.i666.i.i1618, %.noexc672.i.i1610 %1284 = landingpad { ptr, i32 } cleanup - %1285 = load ptr, ptr %ref.tmp.i657.i.i1032, align 8, !noalias !1536 - %cmp.not.i.i2.i661.i.i1612 = icmp eq ptr %1285, null - br i1 %cmp.not.i.i2.i661.i.i1612, label %ehcleanup239.i.i1606, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i1613 + %1285 = load ptr, ptr %ref.tmp.i657.i.i1034, align 8, !noalias !1536 + %cmp.not.i.i2.i661.i.i1614 = icmp eq ptr %1285, null + br i1 %cmp.not.i.i2.i661.i.i1614, label %ehcleanup239.i.i1608, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i1615 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i1613: ; preds = %lpad.i660.i.i1611 - %vtable.i.i.i4.i663.i.i1614 = load ptr, ptr %1285, align 8 - %vfn.i.i.i5.i664.i.i1615 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i1614, i64 1 - %1286 = load ptr, ptr %vfn.i.i.i5.i664.i.i1615, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i1615: ; preds = %lpad.i660.i.i1613 + %vtable.i.i.i4.i663.i.i1616 = load ptr, ptr %1285, align 8 + %vfn.i.i.i5.i664.i.i1617 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i1616, i64 1 + %1286 = load ptr, ptr %vfn.i.i.i5.i664.i.i1617, align 8 call void %1286(ptr noundef nonnull align 8 dereferenceable(128) %1285) #30 - br label %ehcleanup239.i.i1606 - -invoke.cont225.i.i1622: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i1619, %invoke.cont2.i667.i.i1617 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i1032), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i1031), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i1031) - to label %.noexc690.i.i1623 unwind label %lpad224.i.i1605 - -.noexc690.i.i1623: ; preds = %invoke.cont225.i.i1622 - %1287 = load ptr, ptr %ref.tmp.i675.i.i1031, align 8, !noalias !1536 - %add.ptr.i.i676.i.i1624 = getelementptr inbounds i8, ptr %1287, i64 16 - %call2.i1.i677.i.i1625 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i1624, ptr noundef nonnull @.str.114) - to label %invoke.cont.i684.i.i1631 unwind label %lpad.i678.i.i1626 - -invoke.cont.i684.i.i1631: ; preds = %.noexc690.i.i1623 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1075, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i1031) - to label %invoke.cont2.i685.i.i1632 unwind label %lpad.i678.i.i1626 - -invoke.cont2.i685.i.i1632: ; preds = %invoke.cont.i684.i.i1631 - %1288 = load ptr, ptr %ref.tmp.i675.i.i1031, align 8, !noalias !1536 - %cmp.not.i.i.i686.i.i1633 = icmp eq ptr %1288, null - br i1 %cmp.not.i.i.i686.i.i1633, label %invoke.cont227.i.i1637, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i1634 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i1634: ; preds = %invoke.cont2.i685.i.i1632 - %vtable.i.i.i.i688.i.i1635 = load ptr, ptr %1288, align 8 - %vfn.i.i.i.i689.i.i1636 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i1635, i64 1 - %1289 = load ptr, ptr %vfn.i.i.i.i689.i.i1636, align 8 + br label %ehcleanup239.i.i1608 + +invoke.cont225.i.i1624: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i1621, %invoke.cont2.i667.i.i1619 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i1034), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i1033), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i1033) + to label %.noexc690.i.i1625 unwind label %lpad224.i.i1607 + +.noexc690.i.i1625: ; preds = %invoke.cont225.i.i1624 + %1287 = load ptr, ptr %ref.tmp.i675.i.i1033, align 8, !noalias !1536 + %add.ptr.i.i676.i.i1626 = getelementptr inbounds i8, ptr %1287, i64 16 + %call2.i1.i677.i.i1627 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i1626, ptr noundef nonnull @.str.114) + to label %invoke.cont.i684.i.i1633 unwind label %lpad.i678.i.i1628 + +invoke.cont.i684.i.i1633: ; preds = %.noexc690.i.i1625 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1077, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i1033) + to label %invoke.cont2.i685.i.i1634 unwind label %lpad.i678.i.i1628 + +invoke.cont2.i685.i.i1634: ; preds = %invoke.cont.i684.i.i1633 + %1288 = load ptr, ptr %ref.tmp.i675.i.i1033, align 8, !noalias !1536 + %cmp.not.i.i.i686.i.i1635 = icmp eq ptr %1288, null + br i1 %cmp.not.i.i.i686.i.i1635, label %invoke.cont227.i.i1639, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i1636 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i1636: ; preds = %invoke.cont2.i685.i.i1634 + %vtable.i.i.i.i688.i.i1637 = load ptr, ptr %1288, align 8 + %vfn.i.i.i.i689.i.i1638 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i1637, i64 1 + %1289 = load ptr, ptr %vfn.i.i.i.i689.i.i1638, align 8 call void %1289(ptr noundef nonnull align 8 dereferenceable(128) %1288) #30 - br label %invoke.cont227.i.i1637 + br label %invoke.cont227.i.i1639 -lpad.i678.i.i1626: ; preds = %invoke.cont.i684.i.i1631, %.noexc690.i.i1623 +lpad.i678.i.i1628: ; preds = %invoke.cont.i684.i.i1633, %.noexc690.i.i1625 %1290 = landingpad { ptr, i32 } cleanup - %1291 = load ptr, ptr %ref.tmp.i675.i.i1031, align 8, !noalias !1536 - %cmp.not.i.i2.i679.i.i1627 = icmp eq ptr %1291, null - br i1 %cmp.not.i.i2.i679.i.i1627, label %ehcleanup239.i.i1606, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i1628 + %1291 = load ptr, ptr %ref.tmp.i675.i.i1033, align 8, !noalias !1536 + %cmp.not.i.i2.i679.i.i1629 = icmp eq ptr %1291, null + br i1 %cmp.not.i.i2.i679.i.i1629, label %ehcleanup239.i.i1608, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i1630 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i1628: ; preds = %lpad.i678.i.i1626 - %vtable.i.i.i4.i681.i.i1629 = load ptr, ptr %1291, align 8 - %vfn.i.i.i5.i682.i.i1630 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i1629, i64 1 - %1292 = load ptr, ptr %vfn.i.i.i5.i682.i.i1630, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i1630: ; preds = %lpad.i678.i.i1628 + %vtable.i.i.i4.i681.i.i1631 = load ptr, ptr %1291, align 8 + %vfn.i.i.i5.i682.i.i1632 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i1631, i64 1 + %1292 = load ptr, ptr %vfn.i.i.i5.i682.i.i1632, align 8 call void %1292(ptr noundef nonnull align 8 dereferenceable(128) %1291) #30 - br label %ehcleanup239.i.i1606 - -invoke.cont227.i.i1637: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i1634, %invoke.cont2.i685.i.i1632 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i1031), !noalias !1536 - %call155.val79.i.i1638 = load ptr, ptr %__begin0146.sroa.0.050.i.i1561, align 8 - %call230.val.i.i1639 = load ptr, ptr %call155.val79.i.i1638, align 8 - %1293 = getelementptr i8, ptr %call155.val79.i.i1638, i64 8 - %call230.val93.i.i1640 = load i64, ptr %1293, align 8 - %call230.val.val.i.i1641 = load ptr, ptr %call230.val.i.i1639, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i1077, ptr %call230.val.val.i.i1641, i64 %call230.val93.i.i1640) - to label %invoke.cont231.i.i1643 unwind label %lpad224.i.i1605 - -invoke.cont231.i.i1643: ; preds = %invoke.cont227.i.i1637 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i1030), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i1030) - to label %.noexc709.i.i1647 unwind label %lpad232.i.i1644 - -.noexc709.i.i1647: ; preds = %invoke.cont231.i.i1643 - %1294 = load ptr, ptr %ref.tmp.i694.i.i1030, align 8, !noalias !1536 - %add.ptr.i.i695.i.i1648 = getelementptr inbounds i8, ptr %1294, i64 16 - %call2.i1.i696.i.i1649 = 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) %add.ptr.i.i695.i.i1648, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i1077) - to label %invoke.cont.i703.i.i1655 unwind label %lpad.i697.i.i1650 - -invoke.cont.i703.i.i1655: ; preds = %.noexc709.i.i1647 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1075, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i1030) - to label %invoke.cont2.i704.i.i1656 unwind label %lpad.i697.i.i1650 - -invoke.cont2.i704.i.i1656: ; preds = %invoke.cont.i703.i.i1655 - %1295 = load ptr, ptr %ref.tmp.i694.i.i1030, align 8, !noalias !1536 - %cmp.not.i.i.i705.i.i1657 = icmp eq ptr %1295, null - br i1 %cmp.not.i.i.i705.i.i1657, label %invoke.cont233.i.i1661, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i1658 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i1658: ; preds = %invoke.cont2.i704.i.i1656 - %vtable.i.i.i.i707.i.i1659 = load ptr, ptr %1295, align 8 - %vfn.i.i.i.i708.i.i1660 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i1659, i64 1 - %1296 = load ptr, ptr %vfn.i.i.i.i708.i.i1660, align 8 + br label %ehcleanup239.i.i1608 + +invoke.cont227.i.i1639: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i1636, %invoke.cont2.i685.i.i1634 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i1033), !noalias !1536 + %call155.val79.i.i1640 = load ptr, ptr %__begin0146.sroa.0.050.i.i1563, align 8 + %call230.val.i.i1641 = load ptr, ptr %call155.val79.i.i1640, align 8 + %1293 = getelementptr i8, ptr %call155.val79.i.i1640, i64 8 + %call230.val93.i.i1642 = load i64, ptr %1293, align 8 + %call230.val.val.i.i1643 = load ptr, ptr %call230.val.i.i1641, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i1079, ptr %call230.val.val.i.i1643, i64 %call230.val93.i.i1642) + to label %invoke.cont231.i.i1645 unwind label %lpad224.i.i1607 + +invoke.cont231.i.i1645: ; preds = %invoke.cont227.i.i1639 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i1032), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i1032) + to label %.noexc709.i.i1649 unwind label %lpad232.i.i1646 + +.noexc709.i.i1649: ; preds = %invoke.cont231.i.i1645 + %1294 = load ptr, ptr %ref.tmp.i694.i.i1032, align 8, !noalias !1536 + %add.ptr.i.i695.i.i1650 = getelementptr inbounds i8, ptr %1294, i64 16 + %call2.i1.i696.i.i1651 = 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) %add.ptr.i.i695.i.i1650, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i1079) + to label %invoke.cont.i703.i.i1657 unwind label %lpad.i697.i.i1652 + +invoke.cont.i703.i.i1657: ; preds = %.noexc709.i.i1649 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1077, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i1032) + to label %invoke.cont2.i704.i.i1658 unwind label %lpad.i697.i.i1652 + +invoke.cont2.i704.i.i1658: ; preds = %invoke.cont.i703.i.i1657 + %1295 = load ptr, ptr %ref.tmp.i694.i.i1032, align 8, !noalias !1536 + %cmp.not.i.i.i705.i.i1659 = icmp eq ptr %1295, null + br i1 %cmp.not.i.i.i705.i.i1659, label %invoke.cont233.i.i1663, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i1660 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i1660: ; preds = %invoke.cont2.i704.i.i1658 + %vtable.i.i.i.i707.i.i1661 = load ptr, ptr %1295, align 8 + %vfn.i.i.i.i708.i.i1662 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i1661, i64 1 + %1296 = load ptr, ptr %vfn.i.i.i.i708.i.i1662, align 8 call void %1296(ptr noundef nonnull align 8 dereferenceable(128) %1295) #30 - br label %invoke.cont233.i.i1661 + br label %invoke.cont233.i.i1663 -lpad.i697.i.i1650: ; preds = %invoke.cont.i703.i.i1655, %.noexc709.i.i1647 +lpad.i697.i.i1652: ; preds = %invoke.cont.i703.i.i1657, %.noexc709.i.i1649 %1297 = landingpad { ptr, i32 } cleanup - %1298 = load ptr, ptr %ref.tmp.i694.i.i1030, align 8, !noalias !1536 - %cmp.not.i.i2.i698.i.i1651 = icmp eq ptr %1298, null - br i1 %cmp.not.i.i2.i698.i.i1651, label %lpad232.body.i.i1645, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i1652 + %1298 = load ptr, ptr %ref.tmp.i694.i.i1032, align 8, !noalias !1536 + %cmp.not.i.i2.i698.i.i1653 = icmp eq ptr %1298, null + br i1 %cmp.not.i.i2.i698.i.i1653, label %lpad232.body.i.i1647, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i1654 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i1652: ; preds = %lpad.i697.i.i1650 - %vtable.i.i.i4.i700.i.i1653 = load ptr, ptr %1298, align 8 - %vfn.i.i.i5.i701.i.i1654 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i1653, i64 1 - %1299 = load ptr, ptr %vfn.i.i.i5.i701.i.i1654, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i1654: ; preds = %lpad.i697.i.i1652 + %vtable.i.i.i4.i700.i.i1655 = load ptr, ptr %1298, align 8 + %vfn.i.i.i5.i701.i.i1656 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i1655, i64 1 + %1299 = load ptr, ptr %vfn.i.i.i5.i701.i.i1656, align 8 call void %1299(ptr noundef nonnull align 8 dereferenceable(128) %1298) #30 - br label %lpad232.body.i.i1645 - -invoke.cont233.i.i1661: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i1658, %invoke.cont2.i704.i.i1656 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i1030), !noalias !1536 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i1029), !noalias !1536 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i1029) - to label %.noexc727.i.i1662 unwind label %lpad232.i.i1644 - -.noexc727.i.i1662: ; preds = %invoke.cont233.i.i1661 - %1300 = load ptr, ptr %ref.tmp.i712.i.i1029, align 8, !noalias !1536 - %add.ptr.i.i713.i.i1663 = getelementptr inbounds i8, ptr %1300, i64 16 - %call2.i1.i714.i.i1664 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i1663, ptr noundef nonnull @.str.115) - to label %invoke.cont.i721.i.i1670 unwind label %lpad.i715.i.i1665 - -invoke.cont.i721.i.i1670: ; preds = %.noexc727.i.i1662 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1075, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i1029) - to label %invoke.cont2.i722.i.i1671 unwind label %lpad.i715.i.i1665 - -invoke.cont2.i722.i.i1671: ; preds = %invoke.cont.i721.i.i1670 - %1301 = load ptr, ptr %ref.tmp.i712.i.i1029, align 8, !noalias !1536 - %cmp.not.i.i.i723.i.i1672 = icmp eq ptr %1301, null - br i1 %cmp.not.i.i.i723.i.i1672, label %invoke.cont235.i.i1676, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i1673 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i1673: ; preds = %invoke.cont2.i722.i.i1671 - %vtable.i.i.i.i725.i.i1674 = load ptr, ptr %1301, align 8 - %vfn.i.i.i.i726.i.i1675 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i1674, i64 1 - %1302 = load ptr, ptr %vfn.i.i.i.i726.i.i1675, align 8 + br label %lpad232.body.i.i1647 + +invoke.cont233.i.i1663: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i1660, %invoke.cont2.i704.i.i1658 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i1032), !noalias !1536 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i1031), !noalias !1536 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i1031) + to label %.noexc727.i.i1664 unwind label %lpad232.i.i1646 + +.noexc727.i.i1664: ; preds = %invoke.cont233.i.i1663 + %1300 = load ptr, ptr %ref.tmp.i712.i.i1031, align 8, !noalias !1536 + %add.ptr.i.i713.i.i1665 = getelementptr inbounds i8, ptr %1300, i64 16 + %call2.i1.i714.i.i1666 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i1665, ptr noundef nonnull @.str.115) + to label %invoke.cont.i721.i.i1672 unwind label %lpad.i715.i.i1667 + +invoke.cont.i721.i.i1672: ; preds = %.noexc727.i.i1664 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1077, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i1031) + to label %invoke.cont2.i722.i.i1673 unwind label %lpad.i715.i.i1667 + +invoke.cont2.i722.i.i1673: ; preds = %invoke.cont.i721.i.i1672 + %1301 = load ptr, ptr %ref.tmp.i712.i.i1031, align 8, !noalias !1536 + %cmp.not.i.i.i723.i.i1674 = icmp eq ptr %1301, null + br i1 %cmp.not.i.i.i723.i.i1674, label %invoke.cont235.i.i1678, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i1675 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i1675: ; preds = %invoke.cont2.i722.i.i1673 + %vtable.i.i.i.i725.i.i1676 = load ptr, ptr %1301, align 8 + %vfn.i.i.i.i726.i.i1677 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i1676, i64 1 + %1302 = load ptr, ptr %vfn.i.i.i.i726.i.i1677, align 8 call void %1302(ptr noundef nonnull align 8 dereferenceable(128) %1301) #30 - br label %invoke.cont235.i.i1676 + br label %invoke.cont235.i.i1678 -lpad.i715.i.i1665: ; preds = %invoke.cont.i721.i.i1670, %.noexc727.i.i1662 +lpad.i715.i.i1667: ; preds = %invoke.cont.i721.i.i1672, %.noexc727.i.i1664 %1303 = landingpad { ptr, i32 } cleanup - %1304 = load ptr, ptr %ref.tmp.i712.i.i1029, align 8, !noalias !1536 - %cmp.not.i.i2.i716.i.i1666 = icmp eq ptr %1304, null - br i1 %cmp.not.i.i2.i716.i.i1666, label %lpad232.body.i.i1645, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i1667 + %1304 = load ptr, ptr %ref.tmp.i712.i.i1031, align 8, !noalias !1536 + %cmp.not.i.i2.i716.i.i1668 = icmp eq ptr %1304, null + br i1 %cmp.not.i.i2.i716.i.i1668, label %lpad232.body.i.i1647, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i1669 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i1667: ; preds = %lpad.i715.i.i1665 - %vtable.i.i.i4.i718.i.i1668 = load ptr, ptr %1304, align 8 - %vfn.i.i.i5.i719.i.i1669 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i1668, i64 1 - %1305 = load ptr, ptr %vfn.i.i.i5.i719.i.i1669, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i1669: ; preds = %lpad.i715.i.i1667 + %vtable.i.i.i4.i718.i.i1670 = load ptr, ptr %1304, align 8 + %vfn.i.i.i5.i719.i.i1671 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i1670, i64 1 + %1305 = load ptr, ptr %vfn.i.i.i5.i719.i.i1671, align 8 call void %1305(ptr noundef nonnull align 8 dereferenceable(128) %1304) #30 - br label %lpad232.body.i.i1645 - -invoke.cont235.i.i1676: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i1673, %invoke.cont2.i722.i.i1671 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i1029), !noalias !1536 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1075) - to label %invoke.cont237.i.i1677 unwind label %lpad232.i.i1644 - -invoke.cont237.i.i1677: ; preds = %invoke.cont235.i.i1676 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i1077) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i1076) #30 - %message_.i731.i.i1678 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i1075, i64 0, i32 1 - %1306 = load ptr, ptr %message_.i731.i.i1678, align 8, !noalias !1536 - %cmp.not.i.i732.i.i1679 = icmp eq ptr %1306, null - br i1 %cmp.not.i.i732.i.i1679, label %cleanup249.critedge.i.i1683, label %cleanup249.critedge.sink.split.i.i1680 - -lpad218.i.i1581: ; preds = %invoke.cont219.i.i1598, %invoke.cont217.i.i1580 + br label %lpad232.body.i.i1647 + +invoke.cont235.i.i1678: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i1675, %invoke.cont2.i722.i.i1673 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i1031), !noalias !1536 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1077) + to label %invoke.cont237.i.i1679 unwind label %lpad232.i.i1646 + +invoke.cont237.i.i1679: ; preds = %invoke.cont235.i.i1678 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i1079) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i1078) #30 + %message_.i731.i.i1680 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i1077, i64 0, i32 1 + %1306 = load ptr, ptr %message_.i731.i.i1680, align 8, !noalias !1536 + %cmp.not.i.i732.i.i1681 = icmp eq ptr %1306, null + br i1 %cmp.not.i.i732.i.i1681, label %cleanup249.critedge.i.i1685, label %cleanup249.critedge.sink.split.i.i1682 + +lpad218.i.i1583: ; preds = %invoke.cont219.i.i1600, %invoke.cont217.i.i1582 %1307 = landingpad { ptr, i32 } cleanup - br label %ehcleanup240.i.i1582 + br label %ehcleanup240.i.i1584 -lpad224.i.i1605: ; preds = %invoke.cont227.i.i1637, %invoke.cont225.i.i1622, %invoke.cont223.i.i1604 +lpad224.i.i1607: ; preds = %invoke.cont227.i.i1639, %invoke.cont225.i.i1624, %invoke.cont223.i.i1606 %1308 = landingpad { ptr, i32 } cleanup - br label %ehcleanup239.i.i1606 + br label %ehcleanup239.i.i1608 -lpad232.i.i1644: ; preds = %invoke.cont235.i.i1676, %invoke.cont233.i.i1661, %invoke.cont231.i.i1643 +lpad232.i.i1646: ; preds = %invoke.cont235.i.i1678, %invoke.cont233.i.i1663, %invoke.cont231.i.i1645 %1309 = landingpad { ptr, i32 } cleanup - br label %lpad232.body.i.i1645 + br label %lpad232.body.i.i1647 -lpad232.body.i.i1645: ; preds = %lpad232.i.i1644, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i1667, %lpad.i715.i.i1665, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i1652, %lpad.i697.i.i1650 - %eh.lpad-body710.i.i1646 = phi { ptr, i32 } [ %1297, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i1652 ], [ %1297, %lpad.i697.i.i1650 ], [ %1309, %lpad232.i.i1644 ], [ %1303, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i1667 ], [ %1303, %lpad.i715.i.i1665 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i1077) #30 - br label %ehcleanup239.i.i1606 +lpad232.body.i.i1647: ; preds = %lpad232.i.i1646, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i1669, %lpad.i715.i.i1667, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i1654, %lpad.i697.i.i1652 + %eh.lpad-body710.i.i1648 = phi { ptr, i32 } [ %1297, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i1654 ], [ %1297, %lpad.i697.i.i1652 ], [ %1309, %lpad232.i.i1646 ], [ %1303, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i1669 ], [ %1303, %lpad.i715.i.i1667 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i1079) #30 + br label %ehcleanup239.i.i1608 -ehcleanup239.i.i1606: ; preds = %lpad232.body.i.i1645, %lpad224.i.i1605, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i1628, %lpad.i678.i.i1626, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i1613, %lpad.i660.i.i1611 - %.pn.i.i1607 = phi { ptr, i32 } [ %eh.lpad-body710.i.i1646, %lpad232.body.i.i1645 ], [ %1284, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i1613 ], [ %1284, %lpad.i660.i.i1611 ], [ %1308, %lpad224.i.i1605 ], [ %1290, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i1628 ], [ %1290, %lpad.i678.i.i1626 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i1076) #30 - br label %ehcleanup240.i.i1582 +ehcleanup239.i.i1608: ; preds = %lpad232.body.i.i1647, %lpad224.i.i1607, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i1630, %lpad.i678.i.i1628, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i1615, %lpad.i660.i.i1613 + %.pn.i.i1609 = phi { ptr, i32 } [ %eh.lpad-body710.i.i1648, %lpad232.body.i.i1647 ], [ %1284, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i1615 ], [ %1284, %lpad.i660.i.i1613 ], [ %1308, %lpad224.i.i1607 ], [ %1290, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i1630 ], [ %1290, %lpad.i678.i.i1628 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i1078) #30 + br label %ehcleanup240.i.i1584 -ehcleanup240.i.i1582: ; preds = %ehcleanup239.i.i1606, %lpad218.i.i1581, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i1589, %lpad.i642.i.i1587 - %.pn.pn.i.i1583 = phi { ptr, i32 } [ %.pn.i.i1607, %ehcleanup239.i.i1606 ], [ %1307, %lpad218.i.i1581 ], [ %1277, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i1589 ], [ %1277, %lpad.i642.i.i1587 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1075) #30 - br label %ehcleanup245.i.i1574 +ehcleanup240.i.i1584: ; preds = %ehcleanup239.i.i1608, %lpad218.i.i1583, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i1591, %lpad.i642.i.i1589 + %.pn.pn.i.i1585 = phi { ptr, i32 } [ %.pn.i.i1609, %ehcleanup239.i.i1608 ], [ %1307, %lpad218.i.i1583 ], [ %1277, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i1591 ], [ %1277, %lpad.i642.i.i1589 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i1077) #30 + br label %ehcleanup245.i.i1576 -cleanup242.i.i1928: ; preds = %invoke.cont162.i.i1576 - %1310 = load ptr, ptr %_M_refcount.i.i.i735.i.i1231, align 8, !noalias !1536 - %cmp.not.i.i.i.i736.i.i1929 = icmp eq ptr %1310, null - br i1 %cmp.not.i.i.i.i736.i.i1929, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940, label %if.then.i.i.i.i737.i.i1930 +cleanup242.i.i1930: ; preds = %invoke.cont162.i.i1578 + %1310 = load ptr, ptr %_M_refcount.i.i.i735.i.i1233, align 8, !noalias !1536 + %cmp.not.i.i.i.i736.i.i1931 = icmp eq ptr %1310, null + br i1 %cmp.not.i.i.i.i736.i.i1931, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942, label %if.then.i.i.i.i737.i.i1932 -if.then.i.i.i.i737.i.i1930: ; preds = %cleanup242.i.i1928 - %_M_use_count.i.i.i.i.i738.i.i1931 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1310, i64 0, i32 1 - %1311 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i1931 acquire, align 8 - %cmp.i.i.i.i.i739.i.i1932 = icmp eq i64 %1311, 4294967297 +if.then.i.i.i.i737.i.i1932: ; preds = %cleanup242.i.i1930 + %_M_use_count.i.i.i.i.i738.i.i1933 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1310, i64 0, i32 1 + %1311 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i1933 acquire, align 8 + %cmp.i.i.i.i.i739.i.i1934 = icmp eq i64 %1311, 4294967297 %1312 = trunc i64 %1311 to i32 - br i1 %cmp.i.i.i.i.i739.i.i1932, label %if.then.i.i.i.i.i774.i.i2017, label %if.end.i.i.i.i.i740.i.i1933 - -if.then.i.i.i.i.i774.i.i2017: ; preds = %if.then.i.i.i.i737.i.i1930 - store i32 0, ptr %_M_use_count.i.i.i.i.i738.i.i1931, align 8 - %_M_weak_count.i.i.i.i.i775.i.i2018 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1310, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i775.i.i2018, align 4 - %vtable.i.i.i.i.i776.i.i2019 = load ptr, ptr %1310, align 8 - %vfn.i.i.i.i.i777.i.i2020 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i776.i.i2019, i64 2 - %1313 = load ptr, ptr %vfn.i.i.i.i.i777.i.i2020, align 8 + br i1 %cmp.i.i.i.i.i739.i.i1934, label %if.then.i.i.i.i.i774.i.i2019, label %if.end.i.i.i.i.i740.i.i1935 + +if.then.i.i.i.i.i774.i.i2019: ; preds = %if.then.i.i.i.i737.i.i1932 + store i32 0, ptr %_M_use_count.i.i.i.i.i738.i.i1933, align 8 + %_M_weak_count.i.i.i.i.i775.i.i2020 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1310, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i775.i.i2020, align 4 + %vtable.i.i.i.i.i776.i.i2021 = load ptr, ptr %1310, align 8 + %vfn.i.i.i.i.i777.i.i2022 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i776.i.i2021, i64 2 + %1313 = load ptr, ptr %vfn.i.i.i.i.i777.i.i2022, align 8 call void %1313(ptr noundef nonnull align 8 dereferenceable(16) %1310) #30 - br label %if.end8.sink.split.i.i.i.i.i769.i.i2012 + br label %if.end8.sink.split.i.i.i.i.i769.i.i2014 -if.end.i.i.i.i.i740.i.i1933: ; preds = %if.then.i.i.i.i737.i.i1930 +if.end.i.i.i.i.i740.i.i1935: ; preds = %if.then.i.i.i.i737.i.i1932 %1314 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i741.i.i1934 = icmp eq i8 %1314, 0 - br i1 %tobool.i.i.not.i.i.i.i.i741.i.i1934, label %if.else.i.i.i.i.i.i773.i.i2016, label %if.then.i.i.i.i.i.i742.i.i1935 - -if.then.i.i.i.i.i.i742.i.i1935: ; preds = %if.end.i.i.i.i.i740.i.i1933 - %add.i.i.i.i.i.i743.i.i1936 = add nsw i32 %1312, -1 - store i32 %add.i.i.i.i.i.i743.i.i1936, ptr %_M_use_count.i.i.i.i.i738.i.i1931, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1937 - -if.else.i.i.i.i.i.i773.i.i2016: ; preds = %if.end.i.i.i.i.i740.i.i1933 - %1315 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i738.i.i1931, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1937 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1937: ; preds = %if.else.i.i.i.i.i.i773.i.i2016, %if.then.i.i.i.i.i.i742.i.i1935 - %retval.i.0.i.i.i.i.i745.i.i1938 = phi i32 [ %1312, %if.then.i.i.i.i.i.i742.i.i1935 ], [ %1315, %if.else.i.i.i.i.i.i773.i.i2016 ] - %cmp6.i.i.i.i.i746.i.i1939 = icmp eq i32 %retval.i.0.i.i.i.i.i745.i.i1938, 1 - br i1 %cmp6.i.i.i.i.i746.i.i1939, label %if.then7.i.i.i.i.i759.i.i2002, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940 - -if.then7.i.i.i.i.i759.i.i2002: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1937 - %vtable.i.i.i.i.i.i.i760.i.i2003 = load ptr, ptr %1310, align 8 - %vfn.i.i.i.i.i.i.i761.i.i2004 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i760.i.i2003, i64 2 - %1316 = load ptr, ptr %vfn.i.i.i.i.i.i.i761.i.i2004, align 8 + %tobool.i.i.not.i.i.i.i.i741.i.i1936 = icmp eq i8 %1314, 0 + br i1 %tobool.i.i.not.i.i.i.i.i741.i.i1936, label %if.else.i.i.i.i.i.i773.i.i2018, label %if.then.i.i.i.i.i.i742.i.i1937 + +if.then.i.i.i.i.i.i742.i.i1937: ; preds = %if.end.i.i.i.i.i740.i.i1935 + %add.i.i.i.i.i.i743.i.i1938 = add nsw i32 %1312, -1 + store i32 %add.i.i.i.i.i.i743.i.i1938, ptr %_M_use_count.i.i.i.i.i738.i.i1933, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1939 + +if.else.i.i.i.i.i.i773.i.i2018: ; preds = %if.end.i.i.i.i.i740.i.i1935 + %1315 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i738.i.i1933, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1939 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1939: ; preds = %if.else.i.i.i.i.i.i773.i.i2018, %if.then.i.i.i.i.i.i742.i.i1937 + %retval.i.0.i.i.i.i.i745.i.i1940 = phi i32 [ %1312, %if.then.i.i.i.i.i.i742.i.i1937 ], [ %1315, %if.else.i.i.i.i.i.i773.i.i2018 ] + %cmp6.i.i.i.i.i746.i.i1941 = icmp eq i32 %retval.i.0.i.i.i.i.i745.i.i1940, 1 + br i1 %cmp6.i.i.i.i.i746.i.i1941, label %if.then7.i.i.i.i.i759.i.i2004, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942 + +if.then7.i.i.i.i.i759.i.i2004: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1939 + %vtable.i.i.i.i.i.i.i760.i.i2005 = load ptr, ptr %1310, align 8 + %vfn.i.i.i.i.i.i.i761.i.i2006 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i760.i.i2005, i64 2 + %1316 = load ptr, ptr %vfn.i.i.i.i.i.i.i761.i.i2006, align 8 call void %1316(ptr noundef nonnull align 8 dereferenceable(16) %1310) #30 - %_M_weak_count.i.i.i.i.i.i.i762.i.i2005 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1310, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i762.i.i2007 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1310, i64 0, i32 2 %1317 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i763.i.i2006 = icmp eq i8 %1317, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i763.i.i2006, label %if.else.i.i.i.i.i.i.i.i772.i.i2015, label %if.then.i.i.i.i.i.i.i.i764.i.i2007 - -if.then.i.i.i.i.i.i.i.i764.i.i2007: ; preds = %if.then7.i.i.i.i.i759.i.i2002 - %1318 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i2005, align 4 - %add.i.i.i.i.i.i.i.i765.i.i2008 = add nsw i32 %1318, -1 - store i32 %add.i.i.i.i.i.i.i.i765.i.i2008, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i2005, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2009 - -if.else.i.i.i.i.i.i.i.i772.i.i2015: ; preds = %if.then7.i.i.i.i.i759.i.i2002 - %1319 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i2005, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2009 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2009: ; preds = %if.else.i.i.i.i.i.i.i.i772.i.i2015, %if.then.i.i.i.i.i.i.i.i764.i.i2007 - %retval.i.0.i.i.i.i.i.i.i767.i.i2010 = phi i32 [ %1318, %if.then.i.i.i.i.i.i.i.i764.i.i2007 ], [ %1319, %if.else.i.i.i.i.i.i.i.i772.i.i2015 ] - %cmp.i.i.i.i.i.i.i768.i.i2011 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i767.i.i2010, 1 - br i1 %cmp.i.i.i.i.i.i.i768.i.i2011, label %if.end8.sink.split.i.i.i.i.i769.i.i2012, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940 - -if.end8.sink.split.i.i.i.i.i769.i.i2012: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2009, %if.then.i.i.i.i.i774.i.i2017 - %vtable2.i.i.i.i.i.i.i770.i.i2013 = load ptr, ptr %1310, align 8 - %vfn3.i.i.i.i.i.i.i771.i.i2014 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i770.i.i2013, i64 3 - %1320 = load ptr, ptr %vfn3.i.i.i.i.i.i.i771.i.i2014, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i763.i.i2008 = icmp eq i8 %1317, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i763.i.i2008, label %if.else.i.i.i.i.i.i.i.i772.i.i2017, label %if.then.i.i.i.i.i.i.i.i764.i.i2009 + +if.then.i.i.i.i.i.i.i.i764.i.i2009: ; preds = %if.then7.i.i.i.i.i759.i.i2004 + %1318 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i2007, align 4 + %add.i.i.i.i.i.i.i.i765.i.i2010 = add nsw i32 %1318, -1 + store i32 %add.i.i.i.i.i.i.i.i765.i.i2010, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i2007, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2011 + +if.else.i.i.i.i.i.i.i.i772.i.i2017: ; preds = %if.then7.i.i.i.i.i759.i.i2004 + %1319 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i2007, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2011 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2011: ; preds = %if.else.i.i.i.i.i.i.i.i772.i.i2017, %if.then.i.i.i.i.i.i.i.i764.i.i2009 + %retval.i.0.i.i.i.i.i.i.i767.i.i2012 = phi i32 [ %1318, %if.then.i.i.i.i.i.i.i.i764.i.i2009 ], [ %1319, %if.else.i.i.i.i.i.i.i.i772.i.i2017 ] + %cmp.i.i.i.i.i.i.i768.i.i2013 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i767.i.i2012, 1 + br i1 %cmp.i.i.i.i.i.i.i768.i.i2013, label %if.end8.sink.split.i.i.i.i.i769.i.i2014, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942 + +if.end8.sink.split.i.i.i.i.i769.i.i2014: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2011, %if.then.i.i.i.i.i774.i.i2019 + %vtable2.i.i.i.i.i.i.i770.i.i2015 = load ptr, ptr %1310, align 8 + %vfn3.i.i.i.i.i.i.i771.i.i2016 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i770.i.i2015, i64 3 + %1320 = load ptr, ptr %vfn3.i.i.i.i.i.i.i771.i.i2016, align 8 call void %1320(ptr noundef nonnull align 8 dereferenceable(16) %1310) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i2012, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2009, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1937, %cleanup242.i.i1928 - %1321 = load ptr, ptr %c2_hash.i.i1068, align 8, !noalias !1536 - %1322 = load ptr, ptr %_M_finish.i.i748.i.i1232, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i749.i.i1941 = icmp eq ptr %1321, %1322 - br i1 %cmp.not3.i.i.i.i.i749.i.i1941, label %invoke.cont.i.i756.i.i1948, label %for.body.i.i.i.i.i750.i.i1942 - -for.body.i.i.i.i.i750.i.i1942: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940, %for.body.i.i.i.i.i750.i.i1942 - %__first.addr.04.i.i.i.i.i751.i.i1943 = phi ptr [ %incdec.ptr.i.i.i.i.i752.i.i1944, %for.body.i.i.i.i.i750.i.i1942 ], [ %1321, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i751.i.i1943) #30 - %incdec.ptr.i.i.i.i.i752.i.i1944 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i751.i.i1943, i64 1 - %cmp.not.i.i.i.i.i753.i.i1945 = icmp eq ptr %incdec.ptr.i.i.i.i.i752.i.i1944, %1322 - br i1 %cmp.not.i.i.i.i.i753.i.i1945, label %invoke.contthread-pre-split.i.i754.i.i1946, label %for.body.i.i.i.i.i750.i.i1942, !llvm.loop !8 - -invoke.contthread-pre-split.i.i754.i.i1946: ; preds = %for.body.i.i.i.i.i750.i.i1942 - %.pr.i.i755.i.i1947 = load ptr, ptr %c2_hash.i.i1068, align 8, !noalias !1536 - br label %invoke.cont.i.i756.i.i1948 - -invoke.cont.i.i756.i.i1948: ; preds = %invoke.contthread-pre-split.i.i754.i.i1946, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940 - %1323 = phi ptr [ %.pr.i.i755.i.i1947, %invoke.contthread-pre-split.i.i754.i.i1946 ], [ %1321, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1940 ] - %tobool.not.i.i.i.i757.i.i1949 = icmp eq ptr %1323, null - br i1 %tobool.not.i.i.i.i757.i.i1949, label %for.inc246.i.i1951, label %if.then.i.i.i1.i758.i.i1950 - -if.then.i.i.i1.i758.i.i1950: ; preds = %invoke.cont.i.i756.i.i1948 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i2014, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i2011, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i1939, %cleanup242.i.i1930 + %1321 = load ptr, ptr %c2_hash.i.i1070, align 8, !noalias !1536 + %1322 = load ptr, ptr %_M_finish.i.i748.i.i1234, align 8, !noalias !1536 + %cmp.not3.i.i.i.i.i749.i.i1943 = icmp eq ptr %1321, %1322 + br i1 %cmp.not3.i.i.i.i.i749.i.i1943, label %invoke.cont.i.i756.i.i1950, label %for.body.i.i.i.i.i750.i.i1944 + +for.body.i.i.i.i.i750.i.i1944: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942, %for.body.i.i.i.i.i750.i.i1944 + %__first.addr.04.i.i.i.i.i751.i.i1945 = phi ptr [ %incdec.ptr.i.i.i.i.i752.i.i1946, %for.body.i.i.i.i.i750.i.i1944 ], [ %1321, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i751.i.i1945) #30 + %incdec.ptr.i.i.i.i.i752.i.i1946 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i751.i.i1945, i64 1 + %cmp.not.i.i.i.i.i753.i.i1947 = icmp eq ptr %incdec.ptr.i.i.i.i.i752.i.i1946, %1322 + br i1 %cmp.not.i.i.i.i.i753.i.i1947, label %invoke.contthread-pre-split.i.i754.i.i1948, label %for.body.i.i.i.i.i750.i.i1944, !llvm.loop !8 + +invoke.contthread-pre-split.i.i754.i.i1948: ; preds = %for.body.i.i.i.i.i750.i.i1944 + %.pr.i.i755.i.i1949 = load ptr, ptr %c2_hash.i.i1070, align 8, !noalias !1536 + br label %invoke.cont.i.i756.i.i1950 + +invoke.cont.i.i756.i.i1950: ; preds = %invoke.contthread-pre-split.i.i754.i.i1948, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942 + %1323 = phi ptr [ %.pr.i.i755.i.i1949, %invoke.contthread-pre-split.i.i754.i.i1948 ], [ %1321, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i1942 ] + %tobool.not.i.i.i.i757.i.i1951 = icmp eq ptr %1323, null + br i1 %tobool.not.i.i.i.i757.i.i1951, label %for.inc246.i.i1953, label %if.then.i.i.i1.i758.i.i1952 + +if.then.i.i.i1.i758.i.i1952: ; preds = %invoke.cont.i.i756.i.i1950 call void @_ZdlPv(ptr noundef nonnull %1323) #33 - br label %for.inc246.i.i1951 - -for.inc246.i.i1951: ; preds = %if.then.i.i.i1.i758.i.i1950, %invoke.cont.i.i756.i.i1948, %for.body154.i.i1560 - %incdec.ptr.i779.i.i1952 = getelementptr inbounds %"class.std::vector.860", ptr %__begin0146.sroa.0.050.i.i1561, i64 1 - %cmp.i449.not.i.i1953 = icmp eq ptr %incdec.ptr.i779.i.i1952, %classes.val56.i.i1558 - br i1 %cmp.i449.not.i.i1953, label %cleanup249.i.i1954, label %for.body154.i.i1560 - -ehcleanup245.i.i1574: ; preds = %ehcleanup240.i.i1582, %ehcleanup214.i.i1729, %ehcleanup188.i.i1830, %lpad161.loopexit.split-lp.i.i1578, %lpad161.loopexit.i.i1572 - %.pn.pn.pn.i.i1575 = phi { ptr, i32 } [ %.pn.pn.i.i1583, %ehcleanup240.i.i1582 ], [ %.pn31.pn.i.i1730, %ehcleanup214.i.i1729 ], [ %.pn34.pn.i.i1831, %ehcleanup188.i.i1830 ], [ %lpad.loopexit5.i.i1573, %lpad161.loopexit.i.i1572 ], [ %lpad.loopexit.split-lp6.i.i1579, %lpad161.loopexit.split-lp.i.i1578 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i1068) #30 - br label %ehcleanup252.i.i1254 - -cleanup249.critedge.sink.split.i.i1680: ; preds = %invoke.cont237.i.i1677, %invoke.cont211.i.i1824, %invoke.cont185.i.i1925 - %.sink117.i.i1681 = phi ptr [ %1234, %invoke.cont185.i.i1925 ], [ %1270, %invoke.cont211.i.i1824 ], [ %1306, %invoke.cont237.i.i1677 ] - %message_.i542.sink.ph.i.i1682 = phi ptr [ %message_.i542.i.i1926, %invoke.cont185.i.i1925 ], [ %message_.i635.i.i1825, %invoke.cont211.i.i1824 ], [ %message_.i731.i.i1678, %invoke.cont237.i.i1677 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i1681) #30 - call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i1681) #33 - br label %cleanup249.critedge.i.i1683 - -cleanup249.critedge.i.i1683: ; preds = %cleanup249.critedge.sink.split.i.i1680, %invoke.cont237.i.i1677, %invoke.cont211.i.i1824, %invoke.cont185.i.i1925 - %message_.i542.sink.i.i1684 = phi ptr [ %message_.i542.i.i1926, %invoke.cont185.i.i1925 ], [ %message_.i635.i.i1825, %invoke.cont211.i.i1824 ], [ %message_.i731.i.i1678, %invoke.cont237.i.i1677 ], [ %message_.i542.sink.ph.i.i1682, %cleanup249.critedge.sink.split.i.i1680 ] - store ptr null, ptr %message_.i542.sink.i.i1684, align 8, !noalias !1536 - %1324 = load ptr, ptr %_M_refcount.i.i.i735.i.i1231, align 8, !noalias !1536 - %cmp.not.i.i.i.i781.i.i1685 = icmp eq ptr %1324, null - br i1 %cmp.not.i.i.i.i781.i.i1685, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696, label %if.then.i.i.i.i782.i.i1686 - -if.then.i.i.i.i782.i.i1686: ; preds = %cleanup249.critedge.i.i1683 - %_M_use_count.i.i.i.i.i783.i.i1687 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1324, i64 0, i32 1 - %1325 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i1687 acquire, align 8 - %cmp.i.i.i.i.i784.i.i1688 = icmp eq i64 %1325, 4294967297 + br label %for.inc246.i.i1953 + +for.inc246.i.i1953: ; preds = %if.then.i.i.i1.i758.i.i1952, %invoke.cont.i.i756.i.i1950, %for.body154.i.i1562 + %incdec.ptr.i779.i.i1954 = getelementptr inbounds %"class.std::vector.860", ptr %__begin0146.sroa.0.050.i.i1563, i64 1 + %cmp.i449.not.i.i1955 = icmp eq ptr %incdec.ptr.i779.i.i1954, %classes.val56.i.i1560 + br i1 %cmp.i449.not.i.i1955, label %cleanup249.i.i1956, label %for.body154.i.i1562 + +ehcleanup245.i.i1576: ; preds = %ehcleanup240.i.i1584, %ehcleanup214.i.i1731, %ehcleanup188.i.i1832, %lpad161.loopexit.split-lp.i.i1580, %lpad161.loopexit.i.i1574 + %.pn.pn.pn.i.i1577 = phi { ptr, i32 } [ %.pn.pn.i.i1585, %ehcleanup240.i.i1584 ], [ %.pn31.pn.i.i1732, %ehcleanup214.i.i1731 ], [ %.pn34.pn.i.i1833, %ehcleanup188.i.i1832 ], [ %lpad.loopexit5.i.i1575, %lpad161.loopexit.i.i1574 ], [ %lpad.loopexit.split-lp6.i.i1581, %lpad161.loopexit.split-lp.i.i1580 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i1070) #30 + br label %ehcleanup252.i.i1256 + +cleanup249.critedge.sink.split.i.i1682: ; preds = %invoke.cont237.i.i1679, %invoke.cont211.i.i1826, %invoke.cont185.i.i1927 + %.sink117.i.i1683 = phi ptr [ %1234, %invoke.cont185.i.i1927 ], [ %1270, %invoke.cont211.i.i1826 ], [ %1306, %invoke.cont237.i.i1679 ] + %message_.i542.sink.ph.i.i1684 = phi ptr [ %message_.i542.i.i1928, %invoke.cont185.i.i1927 ], [ %message_.i635.i.i1827, %invoke.cont211.i.i1826 ], [ %message_.i731.i.i1680, %invoke.cont237.i.i1679 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i1683) #30 + call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i1683) #33 + br label %cleanup249.critedge.i.i1685 + +cleanup249.critedge.i.i1685: ; preds = %cleanup249.critedge.sink.split.i.i1682, %invoke.cont237.i.i1679, %invoke.cont211.i.i1826, %invoke.cont185.i.i1927 + %message_.i542.sink.i.i1686 = phi ptr [ %message_.i542.i.i1928, %invoke.cont185.i.i1927 ], [ %message_.i635.i.i1827, %invoke.cont211.i.i1826 ], [ %message_.i731.i.i1680, %invoke.cont237.i.i1679 ], [ %message_.i542.sink.ph.i.i1684, %cleanup249.critedge.sink.split.i.i1682 ] + store ptr null, ptr %message_.i542.sink.i.i1686, align 8, !noalias !1536 + %1324 = load ptr, ptr %_M_refcount.i.i.i735.i.i1233, align 8, !noalias !1536 + %cmp.not.i.i.i.i781.i.i1687 = icmp eq ptr %1324, null + br i1 %cmp.not.i.i.i.i781.i.i1687, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698, label %if.then.i.i.i.i782.i.i1688 + +if.then.i.i.i.i782.i.i1688: ; preds = %cleanup249.critedge.i.i1685 + %_M_use_count.i.i.i.i.i783.i.i1689 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1324, i64 0, i32 1 + %1325 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i1689 acquire, align 8 + %cmp.i.i.i.i.i784.i.i1690 = icmp eq i64 %1325, 4294967297 %1326 = trunc i64 %1325 to i32 - br i1 %cmp.i.i.i.i.i784.i.i1688, label %if.then.i.i.i.i.i819.i.i1722, label %if.end.i.i.i.i.i785.i.i1689 - -if.then.i.i.i.i.i819.i.i1722: ; preds = %if.then.i.i.i.i782.i.i1686 - store i32 0, ptr %_M_use_count.i.i.i.i.i783.i.i1687, align 8 - %_M_weak_count.i.i.i.i.i820.i.i1723 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1324, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i820.i.i1723, align 4 - %vtable.i.i.i.i.i821.i.i1724 = load ptr, ptr %1324, align 8 - %vfn.i.i.i.i.i822.i.i1725 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i821.i.i1724, i64 2 - %1327 = load ptr, ptr %vfn.i.i.i.i.i822.i.i1725, align 8 + br i1 %cmp.i.i.i.i.i784.i.i1690, label %if.then.i.i.i.i.i819.i.i1724, label %if.end.i.i.i.i.i785.i.i1691 + +if.then.i.i.i.i.i819.i.i1724: ; preds = %if.then.i.i.i.i782.i.i1688 + store i32 0, ptr %_M_use_count.i.i.i.i.i783.i.i1689, align 8 + %_M_weak_count.i.i.i.i.i820.i.i1725 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1324, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i820.i.i1725, align 4 + %vtable.i.i.i.i.i821.i.i1726 = load ptr, ptr %1324, align 8 + %vfn.i.i.i.i.i822.i.i1727 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i821.i.i1726, i64 2 + %1327 = load ptr, ptr %vfn.i.i.i.i.i822.i.i1727, align 8 call void %1327(ptr noundef nonnull align 8 dereferenceable(16) %1324) #30 - br label %if.end8.sink.split.i.i.i.i.i814.i.i1717 + br label %if.end8.sink.split.i.i.i.i.i814.i.i1719 -if.end.i.i.i.i.i785.i.i1689: ; preds = %if.then.i.i.i.i782.i.i1686 +if.end.i.i.i.i.i785.i.i1691: ; preds = %if.then.i.i.i.i782.i.i1688 %1328 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i786.i.i1690 = icmp eq i8 %1328, 0 - br i1 %tobool.i.i.not.i.i.i.i.i786.i.i1690, label %if.else.i.i.i.i.i.i818.i.i1721, label %if.then.i.i.i.i.i.i787.i.i1691 - -if.then.i.i.i.i.i.i787.i.i1691: ; preds = %if.end.i.i.i.i.i785.i.i1689 - %add.i.i.i.i.i.i788.i.i1692 = add nsw i32 %1326, -1 - store i32 %add.i.i.i.i.i.i788.i.i1692, ptr %_M_use_count.i.i.i.i.i783.i.i1687, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1693 - -if.else.i.i.i.i.i.i818.i.i1721: ; preds = %if.end.i.i.i.i.i785.i.i1689 - %1329 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i783.i.i1687, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1693 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1693: ; preds = %if.else.i.i.i.i.i.i818.i.i1721, %if.then.i.i.i.i.i.i787.i.i1691 - %retval.i.0.i.i.i.i.i790.i.i1694 = phi i32 [ %1326, %if.then.i.i.i.i.i.i787.i.i1691 ], [ %1329, %if.else.i.i.i.i.i.i818.i.i1721 ] - %cmp6.i.i.i.i.i791.i.i1695 = icmp eq i32 %retval.i.0.i.i.i.i.i790.i.i1694, 1 - br i1 %cmp6.i.i.i.i.i791.i.i1695, label %if.then7.i.i.i.i.i804.i.i1707, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696 - -if.then7.i.i.i.i.i804.i.i1707: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1693 - %vtable.i.i.i.i.i.i.i805.i.i1708 = load ptr, ptr %1324, align 8 - %vfn.i.i.i.i.i.i.i806.i.i1709 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i805.i.i1708, i64 2 - %1330 = load ptr, ptr %vfn.i.i.i.i.i.i.i806.i.i1709, align 8 + %tobool.i.i.not.i.i.i.i.i786.i.i1692 = icmp eq i8 %1328, 0 + br i1 %tobool.i.i.not.i.i.i.i.i786.i.i1692, label %if.else.i.i.i.i.i.i818.i.i1723, label %if.then.i.i.i.i.i.i787.i.i1693 + +if.then.i.i.i.i.i.i787.i.i1693: ; preds = %if.end.i.i.i.i.i785.i.i1691 + %add.i.i.i.i.i.i788.i.i1694 = add nsw i32 %1326, -1 + store i32 %add.i.i.i.i.i.i788.i.i1694, ptr %_M_use_count.i.i.i.i.i783.i.i1689, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1695 + +if.else.i.i.i.i.i.i818.i.i1723: ; preds = %if.end.i.i.i.i.i785.i.i1691 + %1329 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i783.i.i1689, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1695 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1695: ; preds = %if.else.i.i.i.i.i.i818.i.i1723, %if.then.i.i.i.i.i.i787.i.i1693 + %retval.i.0.i.i.i.i.i790.i.i1696 = phi i32 [ %1326, %if.then.i.i.i.i.i.i787.i.i1693 ], [ %1329, %if.else.i.i.i.i.i.i818.i.i1723 ] + %cmp6.i.i.i.i.i791.i.i1697 = icmp eq i32 %retval.i.0.i.i.i.i.i790.i.i1696, 1 + br i1 %cmp6.i.i.i.i.i791.i.i1697, label %if.then7.i.i.i.i.i804.i.i1709, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698 + +if.then7.i.i.i.i.i804.i.i1709: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1695 + %vtable.i.i.i.i.i.i.i805.i.i1710 = load ptr, ptr %1324, align 8 + %vfn.i.i.i.i.i.i.i806.i.i1711 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i805.i.i1710, i64 2 + %1330 = load ptr, ptr %vfn.i.i.i.i.i.i.i806.i.i1711, align 8 call void %1330(ptr noundef nonnull align 8 dereferenceable(16) %1324) #30 - %_M_weak_count.i.i.i.i.i.i.i807.i.i1710 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1324, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i807.i.i1712 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1324, i64 0, i32 2 %1331 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i808.i.i1711 = icmp eq i8 %1331, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i808.i.i1711, label %if.else.i.i.i.i.i.i.i.i817.i.i1720, label %if.then.i.i.i.i.i.i.i.i809.i.i1712 - -if.then.i.i.i.i.i.i.i.i809.i.i1712: ; preds = %if.then7.i.i.i.i.i804.i.i1707 - %1332 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i1710, align 4 - %add.i.i.i.i.i.i.i.i810.i.i1713 = add nsw i32 %1332, -1 - store i32 %add.i.i.i.i.i.i.i.i810.i.i1713, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i1710, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1714 - -if.else.i.i.i.i.i.i.i.i817.i.i1720: ; preds = %if.then7.i.i.i.i.i804.i.i1707 - %1333 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i1710, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1714 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1714: ; preds = %if.else.i.i.i.i.i.i.i.i817.i.i1720, %if.then.i.i.i.i.i.i.i.i809.i.i1712 - %retval.i.0.i.i.i.i.i.i.i812.i.i1715 = phi i32 [ %1332, %if.then.i.i.i.i.i.i.i.i809.i.i1712 ], [ %1333, %if.else.i.i.i.i.i.i.i.i817.i.i1720 ] - %cmp.i.i.i.i.i.i.i813.i.i1716 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i812.i.i1715, 1 - br i1 %cmp.i.i.i.i.i.i.i813.i.i1716, label %if.end8.sink.split.i.i.i.i.i814.i.i1717, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696 - -if.end8.sink.split.i.i.i.i.i814.i.i1717: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1714, %if.then.i.i.i.i.i819.i.i1722 - %vtable2.i.i.i.i.i.i.i815.i.i1718 = load ptr, ptr %1324, align 8 - %vfn3.i.i.i.i.i.i.i816.i.i1719 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i815.i.i1718, i64 3 - %1334 = load ptr, ptr %vfn3.i.i.i.i.i.i.i816.i.i1719, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i808.i.i1713 = icmp eq i8 %1331, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i808.i.i1713, label %if.else.i.i.i.i.i.i.i.i817.i.i1722, label %if.then.i.i.i.i.i.i.i.i809.i.i1714 + +if.then.i.i.i.i.i.i.i.i809.i.i1714: ; preds = %if.then7.i.i.i.i.i804.i.i1709 + %1332 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i1712, align 4 + %add.i.i.i.i.i.i.i.i810.i.i1715 = add nsw i32 %1332, -1 + store i32 %add.i.i.i.i.i.i.i.i810.i.i1715, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i1712, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1716 + +if.else.i.i.i.i.i.i.i.i817.i.i1722: ; preds = %if.then7.i.i.i.i.i804.i.i1709 + %1333 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i1712, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1716 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1716: ; preds = %if.else.i.i.i.i.i.i.i.i817.i.i1722, %if.then.i.i.i.i.i.i.i.i809.i.i1714 + %retval.i.0.i.i.i.i.i.i.i812.i.i1717 = phi i32 [ %1332, %if.then.i.i.i.i.i.i.i.i809.i.i1714 ], [ %1333, %if.else.i.i.i.i.i.i.i.i817.i.i1722 ] + %cmp.i.i.i.i.i.i.i813.i.i1718 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i812.i.i1717, 1 + br i1 %cmp.i.i.i.i.i.i.i813.i.i1718, label %if.end8.sink.split.i.i.i.i.i814.i.i1719, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698 + +if.end8.sink.split.i.i.i.i.i814.i.i1719: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1716, %if.then.i.i.i.i.i819.i.i1724 + %vtable2.i.i.i.i.i.i.i815.i.i1720 = load ptr, ptr %1324, align 8 + %vfn3.i.i.i.i.i.i.i816.i.i1721 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i815.i.i1720, i64 3 + %1334 = load ptr, ptr %vfn3.i.i.i.i.i.i.i816.i.i1721, align 8 call void %1334(ptr noundef nonnull align 8 dereferenceable(16) %1324) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i1717, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1714, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1693, %cleanup249.critedge.i.i1683 - %1335 = load ptr, ptr %c2_hash.i.i1068, align 8, !noalias !1536 - %1336 = load ptr, ptr %_M_finish.i.i748.i.i1232, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i794.i.i1697 = icmp eq ptr %1335, %1336 - br i1 %cmp.not3.i.i.i.i.i794.i.i1697, label %invoke.cont.i.i801.i.i1704, label %for.body.i.i.i.i.i795.i.i1698 - -for.body.i.i.i.i.i795.i.i1698: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696, %for.body.i.i.i.i.i795.i.i1698 - %__first.addr.04.i.i.i.i.i796.i.i1699 = phi ptr [ %incdec.ptr.i.i.i.i.i797.i.i1700, %for.body.i.i.i.i.i795.i.i1698 ], [ %1335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i796.i.i1699) #30 - %incdec.ptr.i.i.i.i.i797.i.i1700 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i796.i.i1699, i64 1 - %cmp.not.i.i.i.i.i798.i.i1701 = icmp eq ptr %incdec.ptr.i.i.i.i.i797.i.i1700, %1336 - br i1 %cmp.not.i.i.i.i.i798.i.i1701, label %invoke.contthread-pre-split.i.i799.i.i1702, label %for.body.i.i.i.i.i795.i.i1698, !llvm.loop !8 - -invoke.contthread-pre-split.i.i799.i.i1702: ; preds = %for.body.i.i.i.i.i795.i.i1698 - %.pr.i.i800.i.i1703 = load ptr, ptr %c2_hash.i.i1068, align 8, !noalias !1536 - br label %invoke.cont.i.i801.i.i1704 - -invoke.cont.i.i801.i.i1704: ; preds = %invoke.contthread-pre-split.i.i799.i.i1702, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696 - %1337 = phi ptr [ %.pr.i.i800.i.i1703, %invoke.contthread-pre-split.i.i799.i.i1702 ], [ %1335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1696 ] - %tobool.not.i.i.i.i802.i.i1705 = icmp eq ptr %1337, null - br i1 %tobool.not.i.i.i.i802.i.i1705, label %cleanup257.critedge.i.i1378, label %if.then.i.i.i1.i803.i.i1706 - -if.then.i.i.i1.i803.i.i1706: ; preds = %invoke.cont.i.i801.i.i1704 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i1719, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i1716, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i1695, %cleanup249.critedge.i.i1685 + %1335 = load ptr, ptr %c2_hash.i.i1070, align 8, !noalias !1536 + %1336 = load ptr, ptr %_M_finish.i.i748.i.i1234, align 8, !noalias !1536 + %cmp.not3.i.i.i.i.i794.i.i1699 = icmp eq ptr %1335, %1336 + br i1 %cmp.not3.i.i.i.i.i794.i.i1699, label %invoke.cont.i.i801.i.i1706, label %for.body.i.i.i.i.i795.i.i1700 + +for.body.i.i.i.i.i795.i.i1700: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698, %for.body.i.i.i.i.i795.i.i1700 + %__first.addr.04.i.i.i.i.i796.i.i1701 = phi ptr [ %incdec.ptr.i.i.i.i.i797.i.i1702, %for.body.i.i.i.i.i795.i.i1700 ], [ %1335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i796.i.i1701) #30 + %incdec.ptr.i.i.i.i.i797.i.i1702 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i796.i.i1701, i64 1 + %cmp.not.i.i.i.i.i798.i.i1703 = icmp eq ptr %incdec.ptr.i.i.i.i.i797.i.i1702, %1336 + br i1 %cmp.not.i.i.i.i.i798.i.i1703, label %invoke.contthread-pre-split.i.i799.i.i1704, label %for.body.i.i.i.i.i795.i.i1700, !llvm.loop !8 + +invoke.contthread-pre-split.i.i799.i.i1704: ; preds = %for.body.i.i.i.i.i795.i.i1700 + %.pr.i.i800.i.i1705 = load ptr, ptr %c2_hash.i.i1070, align 8, !noalias !1536 + br label %invoke.cont.i.i801.i.i1706 + +invoke.cont.i.i801.i.i1706: ; preds = %invoke.contthread-pre-split.i.i799.i.i1704, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698 + %1337 = phi ptr [ %.pr.i.i800.i.i1705, %invoke.contthread-pre-split.i.i799.i.i1704 ], [ %1335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i1698 ] + %tobool.not.i.i.i.i802.i.i1707 = icmp eq ptr %1337, null + br i1 %tobool.not.i.i.i.i802.i.i1707, label %cleanup257.critedge.i.i1380, label %if.then.i.i.i1.i803.i.i1708 + +if.then.i.i.i1.i803.i.i1708: ; preds = %invoke.cont.i.i801.i.i1706 call void @_ZdlPv(ptr noundef nonnull %1337) #33 - br label %cleanup257.critedge.i.i1378 + br label %cleanup257.critedge.i.i1380 -cleanup249.i.i1954: ; preds = %for.inc246.i.i1951, %for.end144.i.i1556 - %1338 = load ptr, ptr %_M_refcount.i.i.i824.i.i1233, align 8, !noalias !1536 - %cmp.not.i.i.i.i825.i.i1955 = icmp eq ptr %1338, null - br i1 %cmp.not.i.i.i.i825.i.i1955, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966, label %if.then.i.i.i.i826.i.i1956 +cleanup249.i.i1956: ; preds = %for.inc246.i.i1953, %for.end144.i.i1558 + %1338 = load ptr, ptr %_M_refcount.i.i.i824.i.i1235, align 8, !noalias !1536 + %cmp.not.i.i.i.i825.i.i1957 = icmp eq ptr %1338, null + br i1 %cmp.not.i.i.i.i825.i.i1957, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968, label %if.then.i.i.i.i826.i.i1958 -if.then.i.i.i.i826.i.i1956: ; preds = %cleanup249.i.i1954 - %_M_use_count.i.i.i.i.i827.i.i1957 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1338, i64 0, i32 1 - %1339 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i1957 acquire, align 8 - %cmp.i.i.i.i.i828.i.i1958 = icmp eq i64 %1339, 4294967297 +if.then.i.i.i.i826.i.i1958: ; preds = %cleanup249.i.i1956 + %_M_use_count.i.i.i.i.i827.i.i1959 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1338, i64 0, i32 1 + %1339 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i1959 acquire, align 8 + %cmp.i.i.i.i.i828.i.i1960 = icmp eq i64 %1339, 4294967297 %1340 = trunc i64 %1339 to i32 - br i1 %cmp.i.i.i.i.i828.i.i1958, label %if.then.i.i.i.i.i863.i.i1998, label %if.end.i.i.i.i.i829.i.i1959 - -if.then.i.i.i.i.i863.i.i1998: ; preds = %if.then.i.i.i.i826.i.i1956 - store i32 0, ptr %_M_use_count.i.i.i.i.i827.i.i1957, align 8 - %_M_weak_count.i.i.i.i.i864.i.i1999 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1338, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i864.i.i1999, align 4 - %vtable.i.i.i.i.i865.i.i2000 = load ptr, ptr %1338, align 8 - %vfn.i.i.i.i.i866.i.i2001 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i865.i.i2000, i64 2 - %1341 = load ptr, ptr %vfn.i.i.i.i.i866.i.i2001, align 8 + br i1 %cmp.i.i.i.i.i828.i.i1960, label %if.then.i.i.i.i.i863.i.i2000, label %if.end.i.i.i.i.i829.i.i1961 + +if.then.i.i.i.i.i863.i.i2000: ; preds = %if.then.i.i.i.i826.i.i1958 + store i32 0, ptr %_M_use_count.i.i.i.i.i827.i.i1959, align 8 + %_M_weak_count.i.i.i.i.i864.i.i2001 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1338, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i864.i.i2001, align 4 + %vtable.i.i.i.i.i865.i.i2002 = load ptr, ptr %1338, align 8 + %vfn.i.i.i.i.i866.i.i2003 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i865.i.i2002, i64 2 + %1341 = load ptr, ptr %vfn.i.i.i.i.i866.i.i2003, align 8 call void %1341(ptr noundef nonnull align 8 dereferenceable(16) %1338) #30 - br label %if.end8.sink.split.i.i.i.i.i858.i.i1993 + br label %if.end8.sink.split.i.i.i.i.i858.i.i1995 -if.end.i.i.i.i.i829.i.i1959: ; preds = %if.then.i.i.i.i826.i.i1956 +if.end.i.i.i.i.i829.i.i1961: ; preds = %if.then.i.i.i.i826.i.i1958 %1342 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i830.i.i1960 = icmp eq i8 %1342, 0 - br i1 %tobool.i.i.not.i.i.i.i.i830.i.i1960, label %if.else.i.i.i.i.i.i862.i.i1997, label %if.then.i.i.i.i.i.i831.i.i1961 - -if.then.i.i.i.i.i.i831.i.i1961: ; preds = %if.end.i.i.i.i.i829.i.i1959 - %add.i.i.i.i.i.i832.i.i1962 = add nsw i32 %1340, -1 - store i32 %add.i.i.i.i.i.i832.i.i1962, ptr %_M_use_count.i.i.i.i.i827.i.i1957, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1963 - -if.else.i.i.i.i.i.i862.i.i1997: ; preds = %if.end.i.i.i.i.i829.i.i1959 - %1343 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i827.i.i1957, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1963 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1963: ; preds = %if.else.i.i.i.i.i.i862.i.i1997, %if.then.i.i.i.i.i.i831.i.i1961 - %retval.i.0.i.i.i.i.i834.i.i1964 = phi i32 [ %1340, %if.then.i.i.i.i.i.i831.i.i1961 ], [ %1343, %if.else.i.i.i.i.i.i862.i.i1997 ] - %cmp6.i.i.i.i.i835.i.i1965 = icmp eq i32 %retval.i.0.i.i.i.i.i834.i.i1964, 1 - br i1 %cmp6.i.i.i.i.i835.i.i1965, label %if.then7.i.i.i.i.i848.i.i1983, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966 - -if.then7.i.i.i.i.i848.i.i1983: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1963 - %vtable.i.i.i.i.i.i.i849.i.i1984 = load ptr, ptr %1338, align 8 - %vfn.i.i.i.i.i.i.i850.i.i1985 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i849.i.i1984, i64 2 - %1344 = load ptr, ptr %vfn.i.i.i.i.i.i.i850.i.i1985, align 8 + %tobool.i.i.not.i.i.i.i.i830.i.i1962 = icmp eq i8 %1342, 0 + br i1 %tobool.i.i.not.i.i.i.i.i830.i.i1962, label %if.else.i.i.i.i.i.i862.i.i1999, label %if.then.i.i.i.i.i.i831.i.i1963 + +if.then.i.i.i.i.i.i831.i.i1963: ; preds = %if.end.i.i.i.i.i829.i.i1961 + %add.i.i.i.i.i.i832.i.i1964 = add nsw i32 %1340, -1 + store i32 %add.i.i.i.i.i.i832.i.i1964, ptr %_M_use_count.i.i.i.i.i827.i.i1959, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1965 + +if.else.i.i.i.i.i.i862.i.i1999: ; preds = %if.end.i.i.i.i.i829.i.i1961 + %1343 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i827.i.i1959, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1965 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1965: ; preds = %if.else.i.i.i.i.i.i862.i.i1999, %if.then.i.i.i.i.i.i831.i.i1963 + %retval.i.0.i.i.i.i.i834.i.i1966 = phi i32 [ %1340, %if.then.i.i.i.i.i.i831.i.i1963 ], [ %1343, %if.else.i.i.i.i.i.i862.i.i1999 ] + %cmp6.i.i.i.i.i835.i.i1967 = icmp eq i32 %retval.i.0.i.i.i.i.i834.i.i1966, 1 + br i1 %cmp6.i.i.i.i.i835.i.i1967, label %if.then7.i.i.i.i.i848.i.i1985, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968 + +if.then7.i.i.i.i.i848.i.i1985: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1965 + %vtable.i.i.i.i.i.i.i849.i.i1986 = load ptr, ptr %1338, align 8 + %vfn.i.i.i.i.i.i.i850.i.i1987 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i849.i.i1986, i64 2 + %1344 = load ptr, ptr %vfn.i.i.i.i.i.i.i850.i.i1987, align 8 call void %1344(ptr noundef nonnull align 8 dereferenceable(16) %1338) #30 - %_M_weak_count.i.i.i.i.i.i.i851.i.i1986 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1338, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i851.i.i1988 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1338, i64 0, i32 2 %1345 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i852.i.i1987 = icmp eq i8 %1345, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i852.i.i1987, label %if.else.i.i.i.i.i.i.i.i861.i.i1996, label %if.then.i.i.i.i.i.i.i.i853.i.i1988 - -if.then.i.i.i.i.i.i.i.i853.i.i1988: ; preds = %if.then7.i.i.i.i.i848.i.i1983 - %1346 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i1986, align 4 - %add.i.i.i.i.i.i.i.i854.i.i1989 = add nsw i32 %1346, -1 - store i32 %add.i.i.i.i.i.i.i.i854.i.i1989, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i1986, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1990 - -if.else.i.i.i.i.i.i.i.i861.i.i1996: ; preds = %if.then7.i.i.i.i.i848.i.i1983 - %1347 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i1986, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1990 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1990: ; preds = %if.else.i.i.i.i.i.i.i.i861.i.i1996, %if.then.i.i.i.i.i.i.i.i853.i.i1988 - %retval.i.0.i.i.i.i.i.i.i856.i.i1991 = phi i32 [ %1346, %if.then.i.i.i.i.i.i.i.i853.i.i1988 ], [ %1347, %if.else.i.i.i.i.i.i.i.i861.i.i1996 ] - %cmp.i.i.i.i.i.i.i857.i.i1992 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i856.i.i1991, 1 - br i1 %cmp.i.i.i.i.i.i.i857.i.i1992, label %if.end8.sink.split.i.i.i.i.i858.i.i1993, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966 - -if.end8.sink.split.i.i.i.i.i858.i.i1993: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1990, %if.then.i.i.i.i.i863.i.i1998 - %vtable2.i.i.i.i.i.i.i859.i.i1994 = load ptr, ptr %1338, align 8 - %vfn3.i.i.i.i.i.i.i860.i.i1995 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i859.i.i1994, i64 3 - %1348 = load ptr, ptr %vfn3.i.i.i.i.i.i.i860.i.i1995, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i852.i.i1989 = icmp eq i8 %1345, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i852.i.i1989, label %if.else.i.i.i.i.i.i.i.i861.i.i1998, label %if.then.i.i.i.i.i.i.i.i853.i.i1990 + +if.then.i.i.i.i.i.i.i.i853.i.i1990: ; preds = %if.then7.i.i.i.i.i848.i.i1985 + %1346 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i1988, align 4 + %add.i.i.i.i.i.i.i.i854.i.i1991 = add nsw i32 %1346, -1 + store i32 %add.i.i.i.i.i.i.i.i854.i.i1991, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i1988, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1992 + +if.else.i.i.i.i.i.i.i.i861.i.i1998: ; preds = %if.then7.i.i.i.i.i848.i.i1985 + %1347 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i1988, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1992 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1992: ; preds = %if.else.i.i.i.i.i.i.i.i861.i.i1998, %if.then.i.i.i.i.i.i.i.i853.i.i1990 + %retval.i.0.i.i.i.i.i.i.i856.i.i1993 = phi i32 [ %1346, %if.then.i.i.i.i.i.i.i.i853.i.i1990 ], [ %1347, %if.else.i.i.i.i.i.i.i.i861.i.i1998 ] + %cmp.i.i.i.i.i.i.i857.i.i1994 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i856.i.i1993, 1 + br i1 %cmp.i.i.i.i.i.i.i857.i.i1994, label %if.end8.sink.split.i.i.i.i.i858.i.i1995, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968 + +if.end8.sink.split.i.i.i.i.i858.i.i1995: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1992, %if.then.i.i.i.i.i863.i.i2000 + %vtable2.i.i.i.i.i.i.i859.i.i1996 = load ptr, ptr %1338, align 8 + %vfn3.i.i.i.i.i.i.i860.i.i1997 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i859.i.i1996, i64 3 + %1348 = load ptr, ptr %vfn3.i.i.i.i.i.i.i860.i.i1997, align 8 call void %1348(ptr noundef nonnull align 8 dereferenceable(16) %1338) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i1993, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1990, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1963, %cleanup249.i.i1954 - %1349 = load ptr, ptr %expected.i.i1059, align 8, !noalias !1536 - %1350 = load ptr, ptr %_M_finish.i.i837.i.i1234, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i838.i.i1967 = icmp eq ptr %1349, %1350 - br i1 %cmp.not3.i.i.i.i.i838.i.i1967, label %invoke.cont.i.i845.i.i1974, label %for.body.i.i.i.i.i839.i.i1968 - -for.body.i.i.i.i.i839.i.i1968: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966, %for.body.i.i.i.i.i839.i.i1968 - %__first.addr.04.i.i.i.i.i840.i.i1969 = phi ptr [ %incdec.ptr.i.i.i.i.i841.i.i1970, %for.body.i.i.i.i.i839.i.i1968 ], [ %1349, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i840.i.i1969) #30 - %incdec.ptr.i.i.i.i.i841.i.i1970 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i840.i.i1969, i64 1 - %cmp.not.i.i.i.i.i842.i.i1971 = icmp eq ptr %incdec.ptr.i.i.i.i.i841.i.i1970, %1350 - br i1 %cmp.not.i.i.i.i.i842.i.i1971, label %invoke.contthread-pre-split.i.i843.i.i1972, label %for.body.i.i.i.i.i839.i.i1968, !llvm.loop !8 - -invoke.contthread-pre-split.i.i843.i.i1972: ; preds = %for.body.i.i.i.i.i839.i.i1968 - %.pr.i.i844.i.i1973 = load ptr, ptr %expected.i.i1059, align 8, !noalias !1536 - br label %invoke.cont.i.i845.i.i1974 - -invoke.cont.i.i845.i.i1974: ; preds = %invoke.contthread-pre-split.i.i843.i.i1972, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966 - %1351 = phi ptr [ %.pr.i.i844.i.i1973, %invoke.contthread-pre-split.i.i843.i.i1972 ], [ %1349, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1966 ] - %tobool.not.i.i.i.i846.i.i1975 = icmp eq ptr %1351, null - br i1 %tobool.not.i.i.i.i846.i.i1975, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1977, label %if.then.i.i.i1.i847.i.i1976 - -if.then.i.i.i1.i847.i.i1976: ; preds = %invoke.cont.i.i845.i.i1974 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i1995, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i1992, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i1965, %cleanup249.i.i1956 + %1349 = load ptr, ptr %expected.i.i1061, align 8, !noalias !1536 + %1350 = load ptr, ptr %_M_finish.i.i837.i.i1236, align 8, !noalias !1536 + %cmp.not3.i.i.i.i.i838.i.i1969 = icmp eq ptr %1349, %1350 + br i1 %cmp.not3.i.i.i.i.i838.i.i1969, label %invoke.cont.i.i845.i.i1976, label %for.body.i.i.i.i.i839.i.i1970 + +for.body.i.i.i.i.i839.i.i1970: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968, %for.body.i.i.i.i.i839.i.i1970 + %__first.addr.04.i.i.i.i.i840.i.i1971 = phi ptr [ %incdec.ptr.i.i.i.i.i841.i.i1972, %for.body.i.i.i.i.i839.i.i1970 ], [ %1349, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i840.i.i1971) #30 + %incdec.ptr.i.i.i.i.i841.i.i1972 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i840.i.i1971, i64 1 + %cmp.not.i.i.i.i.i842.i.i1973 = icmp eq ptr %incdec.ptr.i.i.i.i.i841.i.i1972, %1350 + br i1 %cmp.not.i.i.i.i.i842.i.i1973, label %invoke.contthread-pre-split.i.i843.i.i1974, label %for.body.i.i.i.i.i839.i.i1970, !llvm.loop !8 + +invoke.contthread-pre-split.i.i843.i.i1974: ; preds = %for.body.i.i.i.i.i839.i.i1970 + %.pr.i.i844.i.i1975 = load ptr, ptr %expected.i.i1061, align 8, !noalias !1536 + br label %invoke.cont.i.i845.i.i1976 + +invoke.cont.i.i845.i.i1976: ; preds = %invoke.contthread-pre-split.i.i843.i.i1974, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968 + %1351 = phi ptr [ %.pr.i.i844.i.i1975, %invoke.contthread-pre-split.i.i843.i.i1974 ], [ %1349, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i1968 ] + %tobool.not.i.i.i.i846.i.i1977 = icmp eq ptr %1351, null + br i1 %tobool.not.i.i.i.i846.i.i1977, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1979, label %if.then.i.i.i1.i847.i.i1978 + +if.then.i.i.i1.i847.i.i1978: ; preds = %invoke.cont.i.i845.i.i1976 call void @_ZdlPv(ptr noundef nonnull %1351) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1977 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1979 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1977: ; preds = %if.then.i.i.i1.i847.i.i1976, %invoke.cont.i.i845.i.i1974 - %incdec.ptr.i868.i.i1978 = getelementptr inbounds %"class.std::vector.860", ptr %__begin058.sroa.0.052.i.i1236, i64 1 - %cmp.i160.not.i.i1979 = icmp eq ptr %incdec.ptr.i868.i.i1978, %classes.val63.pre.i.i1216 - br i1 %cmp.i160.not.i.i1979, label %for.end255.i.i1980, label %for.body66.i.i1235 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1979: ; preds = %if.then.i.i.i1.i847.i.i1978, %invoke.cont.i.i845.i.i1976 + %incdec.ptr.i868.i.i1980 = getelementptr inbounds %"class.std::vector.860", ptr %__begin058.sroa.0.052.i.i1238, i64 1 + %cmp.i160.not.i.i1981 = icmp eq ptr %incdec.ptr.i868.i.i1980, %classes.val63.pre.i.i1218 + br i1 %cmp.i160.not.i.i1981, label %for.end255.i.i1982, label %for.body66.i.i1237 -ehcleanup252.i.i1254: ; preds = %ehcleanup245.i.i1574, %ehcleanup140.i.i1454, %lpad112.i.i1426, %ehcleanup108.i.i1318, %ehcleanup92.i.i1261, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i1314, %lpad83.loopexit.split-lp.loopexit.i.i1252, %lpad83.loopexit.i.i1568 - %.pn43.pn.i.i1255 = phi { ptr, i32 } [ %.pn43.i.i1319, %ehcleanup108.i.i1318 ], [ %.pn40.pn.i.i1455, %ehcleanup140.i.i1454 ], [ %1198, %lpad112.i.i1426 ], [ %.pn38.i.i1262, %ehcleanup92.i.i1261 ], [ %.pn.pn.pn.i.i1575, %ehcleanup245.i.i1574 ], [ %lpad.loopexit.i.i1569, %lpad83.loopexit.i.i1568 ], [ %lpad.loopexit8.i.i1253, %lpad83.loopexit.split-lp.loopexit.i.i1252 ], [ %lpad.loopexit.split-lp9.i.i1315, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i1314 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i1059) #30 - br label %ehcleanup258.i.i1135 +ehcleanup252.i.i1256: ; preds = %ehcleanup245.i.i1576, %ehcleanup140.i.i1456, %lpad112.i.i1428, %ehcleanup108.i.i1320, %ehcleanup92.i.i1263, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i1316, %lpad83.loopexit.split-lp.loopexit.i.i1254, %lpad83.loopexit.i.i1570 + %.pn43.pn.i.i1257 = phi { ptr, i32 } [ %.pn43.i.i1321, %ehcleanup108.i.i1320 ], [ %.pn40.pn.i.i1457, %ehcleanup140.i.i1456 ], [ %1198, %lpad112.i.i1428 ], [ %.pn38.i.i1264, %ehcleanup92.i.i1263 ], [ %.pn.pn.pn.i.i1577, %ehcleanup245.i.i1576 ], [ %lpad.loopexit.i.i1571, %lpad83.loopexit.i.i1570 ], [ %lpad.loopexit8.i.i1255, %lpad83.loopexit.split-lp.loopexit.i.i1254 ], [ %lpad.loopexit.split-lp9.i.i1317, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i1316 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i1061) #30 + br label %ehcleanup258.i.i1137 -for.end255.i.i1980: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1977, %for.cond64.preheader.i.i1222 +for.end255.i.i1982: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i1979, %for.cond64.preheader.i.i1224 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_134) - to label %cleanup257.i.i1199 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i1981 + to label %cleanup257.i.i1201 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i1983 -cleanup257.critedge.i.i1378: ; preds = %if.then.i.i.i1.i803.i.i1706, %invoke.cont.i.i801.i.i1704, %_ZN7testing15AssertionResultD2Ev.exit447.i.i1552, %_ZN7testing15AssertionResultD2Ev.exit307.i.i1377 - %1352 = load ptr, ptr %_M_refcount.i.i.i824.i.i1233, align 8, !noalias !1536 - %cmp.not.i.i.i.i870.i.i1379 = icmp eq ptr %1352, null - br i1 %cmp.not.i.i.i.i870.i.i1379, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390, label %if.then.i.i.i.i871.i.i1380 +cleanup257.critedge.i.i1380: ; preds = %if.then.i.i.i1.i803.i.i1708, %invoke.cont.i.i801.i.i1706, %_ZN7testing15AssertionResultD2Ev.exit447.i.i1554, %_ZN7testing15AssertionResultD2Ev.exit307.i.i1379 + %1352 = load ptr, ptr %_M_refcount.i.i.i824.i.i1235, align 8, !noalias !1536 + %cmp.not.i.i.i.i870.i.i1381 = icmp eq ptr %1352, null + br i1 %cmp.not.i.i.i.i870.i.i1381, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392, label %if.then.i.i.i.i871.i.i1382 -if.then.i.i.i.i871.i.i1380: ; preds = %cleanup257.critedge.i.i1378 - %_M_use_count.i.i.i.i.i872.i.i1381 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1352, i64 0, i32 1 - %1353 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i1381 acquire, align 8 - %cmp.i.i.i.i.i873.i.i1382 = icmp eq i64 %1353, 4294967297 +if.then.i.i.i.i871.i.i1382: ; preds = %cleanup257.critedge.i.i1380 + %_M_use_count.i.i.i.i.i872.i.i1383 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1352, i64 0, i32 1 + %1353 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i1383 acquire, align 8 + %cmp.i.i.i.i.i873.i.i1384 = icmp eq i64 %1353, 4294967297 %1354 = trunc i64 %1353 to i32 - br i1 %cmp.i.i.i.i.i873.i.i1382, label %if.then.i.i.i.i.i908.i.i1416, label %if.end.i.i.i.i.i874.i.i1383 - -if.then.i.i.i.i.i908.i.i1416: ; preds = %if.then.i.i.i.i871.i.i1380 - store i32 0, ptr %_M_use_count.i.i.i.i.i872.i.i1381, align 8 - %_M_weak_count.i.i.i.i.i909.i.i1417 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1352, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i909.i.i1417, align 4 - %vtable.i.i.i.i.i910.i.i1418 = load ptr, ptr %1352, align 8 - %vfn.i.i.i.i.i911.i.i1419 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i910.i.i1418, i64 2 - %1355 = load ptr, ptr %vfn.i.i.i.i.i911.i.i1419, align 8 + br i1 %cmp.i.i.i.i.i873.i.i1384, label %if.then.i.i.i.i.i908.i.i1418, label %if.end.i.i.i.i.i874.i.i1385 + +if.then.i.i.i.i.i908.i.i1418: ; preds = %if.then.i.i.i.i871.i.i1382 + store i32 0, ptr %_M_use_count.i.i.i.i.i872.i.i1383, align 8 + %_M_weak_count.i.i.i.i.i909.i.i1419 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1352, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i909.i.i1419, align 4 + %vtable.i.i.i.i.i910.i.i1420 = load ptr, ptr %1352, align 8 + %vfn.i.i.i.i.i911.i.i1421 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i910.i.i1420, i64 2 + %1355 = load ptr, ptr %vfn.i.i.i.i.i911.i.i1421, align 8 call void %1355(ptr noundef nonnull align 8 dereferenceable(16) %1352) #30 - br label %if.end8.sink.split.i.i.i.i.i903.i.i1411 + br label %if.end8.sink.split.i.i.i.i.i903.i.i1413 -if.end.i.i.i.i.i874.i.i1383: ; preds = %if.then.i.i.i.i871.i.i1380 +if.end.i.i.i.i.i874.i.i1385: ; preds = %if.then.i.i.i.i871.i.i1382 %1356 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i875.i.i1384 = icmp eq i8 %1356, 0 - br i1 %tobool.i.i.not.i.i.i.i.i875.i.i1384, label %if.else.i.i.i.i.i.i907.i.i1415, label %if.then.i.i.i.i.i.i876.i.i1385 - -if.then.i.i.i.i.i.i876.i.i1385: ; preds = %if.end.i.i.i.i.i874.i.i1383 - %add.i.i.i.i.i.i877.i.i1386 = add nsw i32 %1354, -1 - store i32 %add.i.i.i.i.i.i877.i.i1386, ptr %_M_use_count.i.i.i.i.i872.i.i1381, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1387 - -if.else.i.i.i.i.i.i907.i.i1415: ; preds = %if.end.i.i.i.i.i874.i.i1383 - %1357 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i872.i.i1381, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1387 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1387: ; preds = %if.else.i.i.i.i.i.i907.i.i1415, %if.then.i.i.i.i.i.i876.i.i1385 - %retval.i.0.i.i.i.i.i879.i.i1388 = phi i32 [ %1354, %if.then.i.i.i.i.i.i876.i.i1385 ], [ %1357, %if.else.i.i.i.i.i.i907.i.i1415 ] - %cmp6.i.i.i.i.i880.i.i1389 = icmp eq i32 %retval.i.0.i.i.i.i.i879.i.i1388, 1 - br i1 %cmp6.i.i.i.i.i880.i.i1389, label %if.then7.i.i.i.i.i893.i.i1401, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390 - -if.then7.i.i.i.i.i893.i.i1401: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1387 - %vtable.i.i.i.i.i.i.i894.i.i1402 = load ptr, ptr %1352, align 8 - %vfn.i.i.i.i.i.i.i895.i.i1403 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i894.i.i1402, i64 2 - %1358 = load ptr, ptr %vfn.i.i.i.i.i.i.i895.i.i1403, align 8 + %tobool.i.i.not.i.i.i.i.i875.i.i1386 = icmp eq i8 %1356, 0 + br i1 %tobool.i.i.not.i.i.i.i.i875.i.i1386, label %if.else.i.i.i.i.i.i907.i.i1417, label %if.then.i.i.i.i.i.i876.i.i1387 + +if.then.i.i.i.i.i.i876.i.i1387: ; preds = %if.end.i.i.i.i.i874.i.i1385 + %add.i.i.i.i.i.i877.i.i1388 = add nsw i32 %1354, -1 + store i32 %add.i.i.i.i.i.i877.i.i1388, ptr %_M_use_count.i.i.i.i.i872.i.i1383, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1389 + +if.else.i.i.i.i.i.i907.i.i1417: ; preds = %if.end.i.i.i.i.i874.i.i1385 + %1357 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i872.i.i1383, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1389 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1389: ; preds = %if.else.i.i.i.i.i.i907.i.i1417, %if.then.i.i.i.i.i.i876.i.i1387 + %retval.i.0.i.i.i.i.i879.i.i1390 = phi i32 [ %1354, %if.then.i.i.i.i.i.i876.i.i1387 ], [ %1357, %if.else.i.i.i.i.i.i907.i.i1417 ] + %cmp6.i.i.i.i.i880.i.i1391 = icmp eq i32 %retval.i.0.i.i.i.i.i879.i.i1390, 1 + br i1 %cmp6.i.i.i.i.i880.i.i1391, label %if.then7.i.i.i.i.i893.i.i1403, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392 + +if.then7.i.i.i.i.i893.i.i1403: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1389 + %vtable.i.i.i.i.i.i.i894.i.i1404 = load ptr, ptr %1352, align 8 + %vfn.i.i.i.i.i.i.i895.i.i1405 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i894.i.i1404, i64 2 + %1358 = load ptr, ptr %vfn.i.i.i.i.i.i.i895.i.i1405, align 8 call void %1358(ptr noundef nonnull align 8 dereferenceable(16) %1352) #30 - %_M_weak_count.i.i.i.i.i.i.i896.i.i1404 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1352, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i896.i.i1406 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1352, i64 0, i32 2 %1359 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1536 - %tobool.i.i.not.i.i.i.i.i.i.i897.i.i1405 = icmp eq i8 %1359, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i897.i.i1405, label %if.else.i.i.i.i.i.i.i.i906.i.i1414, label %if.then.i.i.i.i.i.i.i.i898.i.i1406 - -if.then.i.i.i.i.i.i.i.i898.i.i1406: ; preds = %if.then7.i.i.i.i.i893.i.i1401 - %1360 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i1404, align 4 - %add.i.i.i.i.i.i.i.i899.i.i1407 = add nsw i32 %1360, -1 - store i32 %add.i.i.i.i.i.i.i.i899.i.i1407, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i1404, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1408 - -if.else.i.i.i.i.i.i.i.i906.i.i1414: ; preds = %if.then7.i.i.i.i.i893.i.i1401 - %1361 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i1404, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1408 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1408: ; preds = %if.else.i.i.i.i.i.i.i.i906.i.i1414, %if.then.i.i.i.i.i.i.i.i898.i.i1406 - %retval.i.0.i.i.i.i.i.i.i901.i.i1409 = phi i32 [ %1360, %if.then.i.i.i.i.i.i.i.i898.i.i1406 ], [ %1361, %if.else.i.i.i.i.i.i.i.i906.i.i1414 ] - %cmp.i.i.i.i.i.i.i902.i.i1410 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i901.i.i1409, 1 - br i1 %cmp.i.i.i.i.i.i.i902.i.i1410, label %if.end8.sink.split.i.i.i.i.i903.i.i1411, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390 - -if.end8.sink.split.i.i.i.i.i903.i.i1411: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1408, %if.then.i.i.i.i.i908.i.i1416 - %vtable2.i.i.i.i.i.i.i904.i.i1412 = load ptr, ptr %1352, align 8 - %vfn3.i.i.i.i.i.i.i905.i.i1413 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i904.i.i1412, i64 3 - %1362 = load ptr, ptr %vfn3.i.i.i.i.i.i.i905.i.i1413, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i897.i.i1407 = icmp eq i8 %1359, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i897.i.i1407, label %if.else.i.i.i.i.i.i.i.i906.i.i1416, label %if.then.i.i.i.i.i.i.i.i898.i.i1408 + +if.then.i.i.i.i.i.i.i.i898.i.i1408: ; preds = %if.then7.i.i.i.i.i893.i.i1403 + %1360 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i1406, align 4 + %add.i.i.i.i.i.i.i.i899.i.i1409 = add nsw i32 %1360, -1 + store i32 %add.i.i.i.i.i.i.i.i899.i.i1409, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i1406, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1410 + +if.else.i.i.i.i.i.i.i.i906.i.i1416: ; preds = %if.then7.i.i.i.i.i893.i.i1403 + %1361 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i1406, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1410 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1410: ; preds = %if.else.i.i.i.i.i.i.i.i906.i.i1416, %if.then.i.i.i.i.i.i.i.i898.i.i1408 + %retval.i.0.i.i.i.i.i.i.i901.i.i1411 = phi i32 [ %1360, %if.then.i.i.i.i.i.i.i.i898.i.i1408 ], [ %1361, %if.else.i.i.i.i.i.i.i.i906.i.i1416 ] + %cmp.i.i.i.i.i.i.i902.i.i1412 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i901.i.i1411, 1 + br i1 %cmp.i.i.i.i.i.i.i902.i.i1412, label %if.end8.sink.split.i.i.i.i.i903.i.i1413, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392 + +if.end8.sink.split.i.i.i.i.i903.i.i1413: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1410, %if.then.i.i.i.i.i908.i.i1418 + %vtable2.i.i.i.i.i.i.i904.i.i1414 = load ptr, ptr %1352, align 8 + %vfn3.i.i.i.i.i.i.i905.i.i1415 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i904.i.i1414, i64 3 + %1362 = load ptr, ptr %vfn3.i.i.i.i.i.i.i905.i.i1415, align 8 call void %1362(ptr noundef nonnull align 8 dereferenceable(16) %1352) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i1411, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1408, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1387, %cleanup257.critedge.i.i1378 - %1363 = load ptr, ptr %expected.i.i1059, align 8, !noalias !1536 - %1364 = load ptr, ptr %_M_finish.i.i837.i.i1234, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i883.i.i1391 = icmp eq ptr %1363, %1364 - br i1 %cmp.not3.i.i.i.i.i883.i.i1391, label %invoke.cont.i.i890.i.i1398, label %for.body.i.i.i.i.i884.i.i1392 - -for.body.i.i.i.i.i884.i.i1392: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390, %for.body.i.i.i.i.i884.i.i1392 - %__first.addr.04.i.i.i.i.i885.i.i1393 = phi ptr [ %incdec.ptr.i.i.i.i.i886.i.i1394, %for.body.i.i.i.i.i884.i.i1392 ], [ %1363, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i885.i.i1393) #30 - %incdec.ptr.i.i.i.i.i886.i.i1394 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i885.i.i1393, i64 1 - %cmp.not.i.i.i.i.i887.i.i1395 = icmp eq ptr %incdec.ptr.i.i.i.i.i886.i.i1394, %1364 - br i1 %cmp.not.i.i.i.i.i887.i.i1395, label %invoke.contthread-pre-split.i.i888.i.i1396, label %for.body.i.i.i.i.i884.i.i1392, !llvm.loop !8 - -invoke.contthread-pre-split.i.i888.i.i1396: ; preds = %for.body.i.i.i.i.i884.i.i1392 - %.pr.i.i889.i.i1397 = load ptr, ptr %expected.i.i1059, align 8, !noalias !1536 - br label %invoke.cont.i.i890.i.i1398 - -invoke.cont.i.i890.i.i1398: ; preds = %invoke.contthread-pre-split.i.i888.i.i1396, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390 - %1365 = phi ptr [ %.pr.i.i889.i.i1397, %invoke.contthread-pre-split.i.i888.i.i1396 ], [ %1363, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1390 ] - %tobool.not.i.i.i.i891.i.i1399 = icmp eq ptr %1365, null - br i1 %tobool.not.i.i.i.i891.i.i1399, label %cleanup257.i.i1199, label %if.then.i.i.i1.i892.i.i1400 - -if.then.i.i.i1.i892.i.i1400: ; preds = %invoke.cont.i.i890.i.i1398 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i1413, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i1410, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i1389, %cleanup257.critedge.i.i1380 + %1363 = load ptr, ptr %expected.i.i1061, align 8, !noalias !1536 + %1364 = load ptr, ptr %_M_finish.i.i837.i.i1236, align 8, !noalias !1536 + %cmp.not3.i.i.i.i.i883.i.i1393 = icmp eq ptr %1363, %1364 + br i1 %cmp.not3.i.i.i.i.i883.i.i1393, label %invoke.cont.i.i890.i.i1400, label %for.body.i.i.i.i.i884.i.i1394 + +for.body.i.i.i.i.i884.i.i1394: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392, %for.body.i.i.i.i.i884.i.i1394 + %__first.addr.04.i.i.i.i.i885.i.i1395 = phi ptr [ %incdec.ptr.i.i.i.i.i886.i.i1396, %for.body.i.i.i.i.i884.i.i1394 ], [ %1363, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i885.i.i1395) #30 + %incdec.ptr.i.i.i.i.i886.i.i1396 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i885.i.i1395, i64 1 + %cmp.not.i.i.i.i.i887.i.i1397 = icmp eq ptr %incdec.ptr.i.i.i.i.i886.i.i1396, %1364 + br i1 %cmp.not.i.i.i.i.i887.i.i1397, label %invoke.contthread-pre-split.i.i888.i.i1398, label %for.body.i.i.i.i.i884.i.i1394, !llvm.loop !8 + +invoke.contthread-pre-split.i.i888.i.i1398: ; preds = %for.body.i.i.i.i.i884.i.i1394 + %.pr.i.i889.i.i1399 = load ptr, ptr %expected.i.i1061, align 8, !noalias !1536 + br label %invoke.cont.i.i890.i.i1400 + +invoke.cont.i.i890.i.i1400: ; preds = %invoke.contthread-pre-split.i.i888.i.i1398, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392 + %1365 = phi ptr [ %.pr.i.i889.i.i1399, %invoke.contthread-pre-split.i.i888.i.i1398 ], [ %1363, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i1392 ] + %tobool.not.i.i.i.i891.i.i1401 = icmp eq ptr %1365, null + br i1 %tobool.not.i.i.i.i891.i.i1401, label %cleanup257.i.i1201, label %if.then.i.i.i1.i892.i.i1402 + +if.then.i.i.i1.i892.i.i1402: ; preds = %invoke.cont.i.i890.i.i1400 call void @_ZdlPv(ptr noundef nonnull %1365) #33 - br label %cleanup257.i.i1199 + br label %cleanup257.i.i1201 -cleanup257.i.i1199: ; preds = %if.then.i.i.i1.i892.i.i1400, %invoke.cont.i.i890.i.i1398, %for.end255.i.i1980, %_ZN7testing15AssertionResultD2Ev.exit159.i.i2102, %if.then.i.i.i.i129.i.i1198, %_ZN7testing15AssertionResultD2Ev.exit.i.i1196 - %1366 = load ptr, ptr %classes.i.i1054, align 8, !noalias !1536 +cleanup257.i.i1201: ; preds = %if.then.i.i.i1.i892.i.i1402, %invoke.cont.i.i890.i.i1400, %for.end255.i.i1982, %_ZN7testing15AssertionResultD2Ev.exit159.i.i2104, %if.then.i.i.i.i129.i.i1200, %_ZN7testing15AssertionResultD2Ev.exit.i.i1198 + %1366 = load ptr, ptr %classes.i.i1056, align 8, !noalias !1536 %1367 = load ptr, ptr %1043, align 8, !noalias !1536 - %cmp.not3.i.i.i.i.i.i1200 = icmp eq ptr %1366, %1367 - br i1 %cmp.not3.i.i.i.i.i.i1200, label %invoke.cont.i916.i.i1208, label %for.body.i.i.i.i.i.i1201 + %cmp.not3.i.i.i.i.i.i1202 = icmp eq ptr %1366, %1367 + br i1 %cmp.not3.i.i.i.i.i.i1202, label %invoke.cont.i916.i.i1210, label %for.body.i.i.i.i.i.i1203 -for.body.i.i.i.i.i.i1201: ; preds = %cleanup257.i.i1199, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i1202 = phi ptr [ %incdec.ptr.i.i.i.i.i.i1206, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %1366, %cleanup257.i.i1199 ] - %__first.addr.0.val.i.i.i.i.i.i1203 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i1202, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i.i1204 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i1203, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i1204, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i1205 +for.body.i.i.i.i.i.i1203: ; preds = %cleanup257.i.i1201, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i1204 = phi ptr [ %incdec.ptr.i.i.i.i.i.i1208, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %1366, %cleanup257.i.i1201 ] + %__first.addr.0.val.i.i.i.i.i.i1205 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i1204, align 8 + %tobool.not.i.i.i.i.i.i.i.i.i.i1206 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i1205, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i1206, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i1207 -if.then.i.i.i.i.i.i.i.i914.i.i1205: ; preds = %for.body.i.i.i.i.i.i1201 - call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i1203) #33 +if.then.i.i.i.i.i.i.i.i914.i.i1207: ; preds = %for.body.i.i.i.i.i.i1203 + call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i1205) #33 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i1205, %for.body.i.i.i.i.i.i1201 - %incdec.ptr.i.i.i.i.i.i1206 = getelementptr inbounds %"class.std::vector.860", ptr %__first.addr.04.i.i.i.i.i.i1202, i64 1 - %cmp.not.i.i.i.i915.i.i1207 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i1206, %1367 - br i1 %cmp.not.i.i.i.i915.i.i1207, label %invoke.cont.i916.i.i1208, label %for.body.i.i.i.i.i.i1201, !llvm.loop !1550 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i1207, %for.body.i.i.i.i.i.i1203 + %incdec.ptr.i.i.i.i.i.i1208 = getelementptr inbounds %"class.std::vector.860", ptr %__first.addr.04.i.i.i.i.i.i1204, i64 1 + %cmp.not.i.i.i.i915.i.i1209 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i1208, %1367 + br i1 %cmp.not.i.i.i.i915.i.i1209, label %invoke.cont.i916.i.i1210, label %for.body.i.i.i.i.i.i1203, !llvm.loop !1550 -invoke.cont.i916.i.i1208: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i1199 - %tobool.not.i.i.i917.i.i1209 = icmp eq ptr %1366, null - br i1 %tobool.not.i.i.i917.i.i1209, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i1210 +invoke.cont.i916.i.i1210: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i1201 + %tobool.not.i.i.i917.i.i1211 = icmp eq ptr %1366, null + br i1 %tobool.not.i.i.i917.i.i1211, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i1212 -if.then.i.i.i918.i.i1210: ; preds = %invoke.cont.i916.i.i1208 +if.then.i.i.i918.i.i1212: ; preds = %invoke.cont.i916.i.i1210 call void @_ZdlPv(ptr noundef nonnull %1366) #33 br label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit -ehcleanup258.i.i1135: ; preds = %ehcleanup252.i.i1254, %lpad51.body.i.i2081, %if.then.i.i.i.i137.i.i1172, %ehcleanup.i.i1169, %lpad30.i.i1140, %lpad.loopexit.split-lp.loopexit.split-lp.i.i1981, %lpad.loopexit.split-lp.loopexit.i.i1133, %lpad.loopexit11.i.i1241 - %.pn46.pn.i.i1136 = phi { ptr, i32 } [ %1085, %lpad30.i.i1140 ], [ %eh.lpad-body155.i.i2082, %lpad51.body.i.i2081 ], [ %.pn43.pn.i.i1255, %ehcleanup252.i.i1254 ], [ %.pn46.i.i1170, %ehcleanup.i.i1169 ], [ %.pn46.i.i1170, %if.then.i.i.i.i137.i.i1172 ], [ %lpad.loopexit12.i.i1242, %lpad.loopexit11.i.i1241 ], [ %lpad.loopexit15.i.i1134, %lpad.loopexit.split-lp.loopexit.i.i1133 ], [ %lpad.loopexit.split-lp16.i.i1982, %lpad.loopexit.split-lp.loopexit.split-lp.i.i1981 ] - call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i1054) #30 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i1080) #33 +ehcleanup258.i.i1137: ; preds = %ehcleanup252.i.i1256, %lpad51.body.i.i2083, %if.then.i.i.i.i137.i.i1174, %ehcleanup.i.i1171, %lpad30.i.i1142, %lpad.loopexit.split-lp.loopexit.split-lp.i.i1983, %lpad.loopexit.split-lp.loopexit.i.i1135, %lpad.loopexit11.i.i1243 + %.pn46.pn.i.i1138 = phi { ptr, i32 } [ %1085, %lpad30.i.i1142 ], [ %eh.lpad-body155.i.i2084, %lpad51.body.i.i2083 ], [ %.pn43.pn.i.i1257, %ehcleanup252.i.i1256 ], [ %.pn46.i.i1172, %ehcleanup.i.i1171 ], [ %.pn46.i.i1172, %if.then.i.i.i.i137.i.i1174 ], [ %lpad.loopexit12.i.i1244, %lpad.loopexit11.i.i1243 ], [ %lpad.loopexit15.i.i1136, %lpad.loopexit.split-lp.loopexit.i.i1135 ], [ %lpad.loopexit.split-lp16.i.i1984, %lpad.loopexit.split-lp.loopexit.split-lp.i.i1983 ] + call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i1056) #30 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i1082) #33 br label %common.resume -_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i1208, %if.then.i.i.i918.i.i1210 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i1054), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i1055), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i1056), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i1057), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i1058), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i1059), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i1060), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i1061), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i1062), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i1063), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i1064), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i1065), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i1066), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i1067), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i1068), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i1069), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i1070), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i1071), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i1072), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i1073), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i1074), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i1075), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i1076), !noalias !1535 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i1077), !noalias !1535 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i1080) #33 +_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i1210, %if.then.i.i.i918.i.i1212 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i1056), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i1057), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i1058), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i1059), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i1060), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i1061), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i1062), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i1063), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i1064), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i1065), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i1066), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i1067), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i1068), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i1069), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i1070), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i1071), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i1072), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i1073), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i1074), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i1075), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i1076), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i1077), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i1078), !noalias !1535 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i1079), !noalias !1535 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i1082) #33 %1368 = load i8, ptr %gtest_ar_134, align 8 %1369 = and i8 %1368, 1 - %tobool.i2186.not = icmp eq i8 %1369, 0 - br i1 %tobool.i2186.not, label %if.else141, label %if.end157 + %tobool.i2189.not = icmp eq i8 %1369, 0 + br i1 %tobool.i2189.not, label %if.else141, label %if.end157 -ehcleanup133: ; preds = %_ZN7testing7MessageD2Ev.exit1022, %lpad118 - %.pn60.pn.pn = phi { ptr, i32 } [ %.pn60.pn, %_ZN7testing7MessageD2Ev.exit1022 ], [ %1034, %lpad118 ] +ehcleanup133: ; preds = %_ZN7testing7MessageD2Ev.exit1024, %lpad118 + %.pn60.pn.pn = phi { ptr, i32 } [ %.pn60.pn, %_ZN7testing7MessageD2Ev.exit1024 ], [ %1034, %lpad118 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_110) #30 br label %common.resume @@ -68860,17 +68871,17 @@ invoke.cont153: ; preds = %invoke.cont151 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp145) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp146) #30 %1370 = load ptr, ptr %ref.tmp142, align 8 - %cmp.not.i.i2187 = icmp eq ptr %1370, null - br i1 %cmp.not.i.i2187, label %_ZN7testing7MessageD2Ev.exit2191, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2188 + %cmp.not.i.i2190 = icmp eq ptr %1370, null + br i1 %cmp.not.i.i2190, label %_ZN7testing7MessageD2Ev.exit2194, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2191 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2188: ; preds = %invoke.cont153 - %vtable.i.i.i2189 = load ptr, ptr %1370, align 8 - %vfn.i.i.i2190 = getelementptr inbounds ptr, ptr %vtable.i.i.i2189, i64 1 - %1371 = load ptr, ptr %vfn.i.i.i2190, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2191: ; preds = %invoke.cont153 + %vtable.i.i.i2192 = load ptr, ptr %1370, align 8 + %vfn.i.i.i2193 = getelementptr inbounds ptr, ptr %vtable.i.i.i2192, i64 1 + %1371 = load ptr, ptr %vfn.i.i.i2193, align 8 call void %1371(ptr noundef nonnull align 8 dereferenceable(128) %1370) #30 - br label %_ZN7testing7MessageD2Ev.exit2191 + br label %_ZN7testing7MessageD2Ev.exit2194 -_ZN7testing7MessageD2Ev.exit2191: ; preds = %invoke.cont153, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2188 +_ZN7testing7MessageD2Ev.exit2194: ; preds = %invoke.cont153, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2191 store ptr null, ptr %ref.tmp142, align 8 br label %if.end157 @@ -68903,2851 +68914,2852 @@ ehcleanup155: ; preds = %lpad152, %lpad150 ehcleanup156: ; preds = %ehcleanup155, %lpad147 %.pn64.pn = phi { ptr, i32 } [ %.pn64, %ehcleanup155 ], [ %1373, %lpad147 ] %1376 = load ptr, ptr %ref.tmp142, align 8 - %cmp.not.i.i2192 = icmp eq ptr %1376, null - br i1 %cmp.not.i.i2192, label %_ZN7testing7MessageD2Ev.exit2196, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2193 + %cmp.not.i.i2195 = icmp eq ptr %1376, null + br i1 %cmp.not.i.i2195, label %_ZN7testing7MessageD2Ev.exit2199, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2196 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2193: ; preds = %ehcleanup156 - %vtable.i.i.i2194 = load ptr, ptr %1376, align 8 - %vfn.i.i.i2195 = getelementptr inbounds ptr, ptr %vtable.i.i.i2194, i64 1 - %1377 = load ptr, ptr %vfn.i.i.i2195, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2196: ; preds = %ehcleanup156 + %vtable.i.i.i2197 = load ptr, ptr %1376, align 8 + %vfn.i.i.i2198 = getelementptr inbounds ptr, ptr %vtable.i.i.i2197, i64 1 + %1377 = load ptr, ptr %vfn.i.i.i2198, align 8 call void %1377(ptr noundef nonnull align 8 dereferenceable(128) %1376) #30 - br label %_ZN7testing7MessageD2Ev.exit2196 + br label %_ZN7testing7MessageD2Ev.exit2199 -_ZN7testing7MessageD2Ev.exit2196: ; preds = %ehcleanup156, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2193 +_ZN7testing7MessageD2Ev.exit2199: ; preds = %ehcleanup156, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2196 store ptr null, ptr %ref.tmp142, align 8 br label %ehcleanup158 -if.end157: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit2191 - %message_.i2197 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_134, i64 0, i32 1 - %1378 = load ptr, ptr %message_.i2197, align 8 - %cmp.not.i.i2198 = icmp eq ptr %1378, null - br i1 %cmp.not.i.i2198, label %_ZN7testing15AssertionResultD2Ev.exit2200, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2199 +if.end157: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit2194 + %message_.i2200 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_134, i64 0, i32 1 + %1378 = load ptr, ptr %message_.i2200, align 8 + %cmp.not.i.i2201 = icmp eq ptr %1378, null + br i1 %cmp.not.i.i2201, label %_ZN7testing15AssertionResultD2Ev.exit2203, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2202 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2199: ; preds = %if.end157 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2202: ; preds = %if.end157 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1378) #30 call void @_ZdlPv(ptr noundef nonnull %1378) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit2200 + br label %_ZN7testing15AssertionResultD2Ev.exit2203 -_ZN7testing15AssertionResultD2Ev.exit2200: ; preds = %if.end157, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2199 - store ptr null, ptr %message_.i2197, align 8 +_ZN7testing15AssertionResultD2Ev.exit2203: ; preds = %if.end157, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i2202 + store ptr null, ptr %message_.i2200, align 8 %1379 = getelementptr inbounds i8, ptr %ref.tmp160, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp160, i8 0, i64 16, i1 false) store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENKR3Foo2h2Ev to i64), ptr %1379, align 8, !alias.scope !1551 - %this.repack3.i.i.i.i.i2202 = getelementptr inbounds i8, ptr %ref.tmp160, i64 24 - store i64 0, ptr %this.repack3.i.i.i.i.i2202, align 8, !alias.scope !1551 + %this.repack3.i.i.i.i.i2205 = getelementptr inbounds i8, ptr %ref.tmp160, i64 24 + store i64 0, ptr %this.repack3.i.i.i.i.i2205, align 8, !alias.scope !1551 %1380 = getelementptr inbounds i8, ptr %ref.tmp160, i64 32 store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENKR3Foo2g2Ev to i64), ptr %1380, align 8, !alias.scope !1551 - %this.repack3.i.i.i.i2203 = getelementptr inbounds i8, ptr %ref.tmp160, i64 40 - store i64 0, ptr %this.repack3.i.i.i.i2203, align 8, !alias.scope !1551 - %call5.i.i.i.i5.i6.i.i.i2255 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1554 - store ptr %1380, ptr %call5.i.i.i.i5.i6.i.i.i2255, align 8, !noalias !1554 - %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2256 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2255, i64 8 - store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2256, align 8, !noalias !1554 - %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2257 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2255, i64 16 - store ptr %1379, ptr %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2257, align 8, !noalias !1554 - %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2258 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2255, i64 24 - store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2258, align 8, !noalias !1554 - %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2259 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2255, i64 32 - store ptr %ref.tmp160, ptr %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2259, align 8, !noalias !1554 - %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2260 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2255, i64 40 - store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2260, align 8, !noalias !1554 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i2229), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i2230), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i2231), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i2232), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i2233), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i2234), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i2235), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i2236), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i2237), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i2238), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i2239), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i2240), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i2241), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i2242), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i2243), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i2244), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i2245), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i2246), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i2247), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i2248), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i2249), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i2250), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i2251), !noalias !1561 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i2252), !noalias !1561 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i2229, i8 0, i64 24, i1 false), !noalias !1562 - %1381 = getelementptr inbounds i8, ptr %classes.i.i2229, i64 8 - %_M_end_of_storage.i.i.i2261 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.894", ptr %classes.i.i2229, i64 0, i32 2 - %moved_from_.i.i.i2262 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i2231, i64 0, i32 2 - %_M_engaged.i.i.i.i.i.i.i.i2263 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i2230, i64 0, i32 1 - %error_.i.i.i2264 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i2231, i64 0, i32 1 - %_M_refcount.i.i.i.i.i2265 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i2231, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i119.i.i2266 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i2231, i64 0, i32 1 - br label %for.body.i.i2267 - -for.cond.i.i2386: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2340 - %__begin0.sroa.0.045.i.add.i2387 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i2269, 16 - %cmp.i.not.i.i2388 = icmp eq i64 %__begin0.sroa.0.045.i.add.i2387, 48 - br i1 %cmp.i.not.i.i2388, label %for.end45.i.i2389, label %for.body.i.i2267 - -for.body.i.i2267: ; preds = %for.cond.i.i2386, %_ZN7testing15AssertionResultD2Ev.exit2200 - %i.046.i.i2268 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit2200 ], [ %inc.i.i2304, %for.cond.i.i2386 ] - %__begin0.sroa.0.045.i.idx.i2269 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit2200 ], [ %__begin0.sroa.0.045.i.add.i2387, %for.cond.i.i2386 ] - %__begin0.sroa.0.045.i.ptr.i2270 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2255, i64 %__begin0.sroa.0.045.i.idx.i2269 - %classes.val.i.i2271 = load ptr, ptr %classes.i.i2229, align 8, !noalias !1562 - %classes.val54.i.i2272 = load ptr, ptr %1381, align 8, !noalias !1562 - %cmp.i103.not42.i.i2273 = icmp eq ptr %classes.val.i.i2271, %classes.val54.i.i2272 - br i1 %cmp.i103.not42.i.i2273, label %if.then19.i.i2291, label %invoke.cont.lr.ph.i.i2274 - -invoke.cont.lr.ph.i.i2274: ; preds = %for.body.i.i2267 - %call4.val.i.i2275 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i2270, align 8, !noalias !1565 - %call4.val.val.i.i2276 = load i64, ptr %call4.val.i.i2275, align 8 - %1382 = getelementptr i8, ptr %call4.val.i.i2275, i64 8 - %call4.val.val60.i.i2277 = load i64, ptr %1382, align 8 - %cmp.ptr.null.i.i.i.i.i.i.i.i.i2278 = icmp eq i64 %call4.val.val.i.i2276, 0 - br label %invoke.cont.i.i2279 - -invoke.cont.i.i2279: ; preds = %for.inc.i.i2288, %invoke.cont.lr.ph.i.i2274 - %__begin05.sroa.0.043.i.i2280 = phi ptr [ %classes.val.i.i2271, %invoke.cont.lr.ph.i.i2274 ], [ %incdec.ptr.i.i.i2289, %for.inc.i.i2288 ] - %call14.val.i.i2281 = load ptr, ptr %__begin05.sroa.0.043.i.i2280, align 8 - %1383 = load ptr, ptr %call14.val.i.i2281, align 8 - %.val.i.i2282 = load ptr, ptr %1383, align 8 - %.val.val.i.i2283 = load i64, ptr %.val.i.i2282, align 8 - %1384 = getelementptr i8, ptr %.val.i.i2282, i64 8 - %.val.val61.i.i2284 = load i64, ptr %1384, align 8 - %cmp.ptr.i.i.i.i.i.i.i.i.i2285 = icmp eq i64 %call4.val.val.i.i2276, %.val.val.i.i2283 - %cmp.adj.i.i.i.i.i.i.i.i.i2286 = icmp eq i64 %call4.val.val60.i.i2277, %.val.val61.i.i2284 - %1385 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i2278, %cmp.adj.i.i.i.i.i.i.i.i.i2286 - %memptr.eq.i.i.i.i.i.i.i.i.i2287 = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i2285, %1385 - br i1 %memptr.eq.i.i.i.i.i.i.i.i.i2287, label %if.end23.i.i2295, label %for.inc.i.i2288 - -lpad.loopexit11.i.i2416: ; preds = %for.body66.i.i2410 - %lpad.loopexit12.i.i2417 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i2310 - -lpad.loopexit.split-lp.loopexit.i.i2308: ; preds = %invoke.cont26.i.i2303, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i - %lpad.loopexit15.i.i2309 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i2310 - -lpad.loopexit.split-lp.loopexit.split-lp.i.i3156: ; preds = %for.end255.i.i3155, %if.then48.i.i3253, %if.then.i.i.i.i.invoke.i.i3327 - %lpad.loopexit.split-lp16.i.i3157 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i2310 - -for.inc.i.i2288: ; preds = %invoke.cont.i.i2279 - %incdec.ptr.i.i.i2289 = getelementptr inbounds %"class.std::vector.916", ptr %__begin05.sroa.0.043.i.i2280, i64 1 - %cmp.i103.not.i.i2290 = icmp eq ptr %incdec.ptr.i.i.i2289, %classes.val54.i.i2272 - br i1 %cmp.i103.not.i.i2290, label %if.then19.i.i2291, label %invoke.cont.i.i2279 - -if.then19.i.i2291: ; preds = %for.inc.i.i2288, %for.body.i.i2267 - %1386 = load ptr, ptr %_M_end_of_storage.i.i.i2261, align 8, !noalias !1562 - %cmp.not.i.i.i2292 = icmp eq ptr %classes.val54.i.i2272, %1386 - br i1 %cmp.not.i.i.i2292, label %if.else.i.i.i3329, label %if.then.i.i.i2293 - -if.then.i.i.i2293: ; preds = %if.then19.i.i2291 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i2272, i8 0, i64 24, i1 false) - %incdec.ptr.i104.i.i2294 = getelementptr inbounds %"class.std::vector.916", ptr %classes.val54.i.i2272, i64 1 - store ptr %incdec.ptr.i104.i.i2294, ptr %1381, align 8, !noalias !1562 - br label %if.end23.i.i2295 - -if.else.i.i.i3329: ; preds = %if.then19.i.i2291 - %sub.ptr.lhs.cast.i.i.i.i.i.i3330 = ptrtoint ptr %classes.val54.i.i2272 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i3331 = ptrtoint ptr %classes.val.i.i2271 to i64 - %sub.ptr.sub.i.i.i.i.i.i3332 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i3330, %sub.ptr.rhs.cast.i.i.i.i.i.i3331 - %cmp.i.i.i.i.i3333 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i3332, 9223372036854775800 - br i1 %cmp.i.i.i.i.i3333, label %if.then.i.i.i.i.invoke.i.i3327, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - -_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i3329 - %sub.ptr.div.i.i.i.i.i.i3334 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i3332, 24 - %.sroa.speculated.i.i.i.i.i3335 = select i1 %cmp.i103.not42.i.i2273, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i3334 - %add.i.i.i.i.i3336 = add nsw i64 %.sroa.speculated.i.i.i.i.i3335, %sub.ptr.div.i.i.i.i.i.i3334 - %cmp7.i.i.i.i.i3337 = icmp ult i64 %add.i.i.i.i.i3336, %sub.ptr.div.i.i.i.i.i.i3334 - %cmp9.i.i.i.i.i3338 = icmp ugt i64 %add.i.i.i.i.i3336, 384307168202282325 - %or.cond.i.i.i.i.i3339 = or i1 %cmp7.i.i.i.i.i3337, %cmp9.i.i.i.i.i3338 - %cond.i.i.i.i.i3340 = select i1 %or.cond.i.i.i.i.i3339, i64 384307168202282325, i64 %add.i.i.i.i.i3336 - %cmp.not.i.i.i.i.i3341 = icmp eq i64 %cond.i.i.i.i.i3340, 0 - br i1 %cmp.not.i.i.i.i.i3341, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %this.repack3.i.i.i.i2206 = getelementptr inbounds i8, ptr %ref.tmp160, i64 40 + store i64 0, ptr %this.repack3.i.i.i.i2206, align 8, !alias.scope !1551 + %call5.i.i.i.i5.i6.i.i.i2258 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1554 + store ptr %1380, ptr %call5.i.i.i.i5.i6.i.i.i2258, align 8, !noalias !1554 + %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2259 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2258, i64 8 + store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2259, align 8, !noalias !1554 + %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2260 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2258, i64 16 + store ptr %1379, ptr %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2260, align 8, !noalias !1554 + %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2261 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2258, i64 24 + store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2261, align 8, !noalias !1554 + %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2262 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2258, i64 32 + store ptr %ref.tmp160, ptr %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2262, align 8, !noalias !1554 + %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2263 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2258, i64 40 + store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i2263, align 8, !noalias !1554 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i2232), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i2233), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i2234), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i2235), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i2236), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i2237), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i2238), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i2239), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i2240), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i2241), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i2242), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i2243), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i2244), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i2245), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i2246), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i2247), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i2248), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i2249), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i2250), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i2251), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i2252), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i2253), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i2254), !noalias !1561 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i2255), !noalias !1561 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i2232, i8 0, i64 24, i1 false), !noalias !1562 + %1381 = getelementptr inbounds i8, ptr %classes.i.i2232, i64 8 + %_M_end_of_storage.i.i.i2264 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.894", ptr %classes.i.i2232, i64 0, i32 2 + %moved_from_.i.i.i2265 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i2234, i64 0, i32 2 + %_M_engaged.i.i.i.i.i.i.i.i2266 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i2233, i64 0, i32 1 + %error_.i.i.i2267 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i2234, i64 0, i32 1 + %_M_refcount.i.i.i.i.i2268 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i2234, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i119.i.i2269 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i2234, i64 0, i32 1 + br label %for.body.i.i2270 + +for.cond.i.i2389: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2343 + %__begin0.sroa.0.045.i.add.i2390 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i2272, 16 + %cmp.i.not.i.i2391 = icmp eq i64 %__begin0.sroa.0.045.i.add.i2390, 48 + br i1 %cmp.i.not.i.i2391, label %for.end45.i.i2392, label %for.body.i.i2270 + +for.body.i.i2270: ; preds = %for.cond.i.i2389, %_ZN7testing15AssertionResultD2Ev.exit2203 + %i.046.i.i2271 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit2203 ], [ %inc.i.i2307, %for.cond.i.i2389 ] + %__begin0.sroa.0.045.i.idx.i2272 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit2203 ], [ %__begin0.sroa.0.045.i.add.i2390, %for.cond.i.i2389 ] + %__begin0.sroa.0.045.i.ptr.i2273 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i2258, i64 %__begin0.sroa.0.045.i.idx.i2272 + %classes.val.i.i2274 = load ptr, ptr %classes.i.i2232, align 8, !noalias !1562 + %classes.val54.i.i2275 = load ptr, ptr %1381, align 8, !noalias !1562 + %cmp.i103.not42.i.i2276 = icmp eq ptr %classes.val.i.i2274, %classes.val54.i.i2275 + br i1 %cmp.i103.not42.i.i2276, label %if.then19.i.i2294, label %invoke.cont.lr.ph.i.i2277 + +invoke.cont.lr.ph.i.i2277: ; preds = %for.body.i.i2270 + %call4.val.i.i2278 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i2273, align 8, !noalias !1565 + %call4.val.val.i.i2279 = load i64, ptr %call4.val.i.i2278, align 8 + %1382 = getelementptr i8, ptr %call4.val.i.i2278, i64 8 + %call4.val.val60.i.i2280 = load i64, ptr %1382, align 8 + %cmp.ptr.null.i.i.i.i.i.i.i.i.i2281 = icmp eq i64 %call4.val.val.i.i2279, 0 + br label %invoke.cont.i.i2282 + +invoke.cont.i.i2282: ; preds = %for.inc.i.i2291, %invoke.cont.lr.ph.i.i2277 + %__begin05.sroa.0.043.i.i2283 = phi ptr [ %classes.val.i.i2274, %invoke.cont.lr.ph.i.i2277 ], [ %incdec.ptr.i.i.i2292, %for.inc.i.i2291 ] + %call14.val.i.i2284 = load ptr, ptr %__begin05.sroa.0.043.i.i2283, align 8 + %1383 = load ptr, ptr %call14.val.i.i2284, align 8 + %.val.i.i2285 = load ptr, ptr %1383, align 8 + %.val.val.i.i2286 = load i64, ptr %.val.i.i2285, align 8 + %1384 = getelementptr i8, ptr %.val.i.i2285, i64 8 + %.val.val61.i.i2287 = load i64, ptr %1384, align 8 + %cmp.ptr.i.i.i.i.i.i.i.i.i2288 = icmp eq i64 %call4.val.val.i.i2279, %.val.val.i.i2286 + %cmp.adj.i.i.i.i.i.i.i.i.i2289 = icmp eq i64 %call4.val.val60.i.i2280, %.val.val61.i.i2287 + %1385 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i2281, %cmp.adj.i.i.i.i.i.i.i.i.i2289 + %memptr.eq.i.i.i.i.i.i.i.i.i2290 = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i2288, %1385 + br i1 %memptr.eq.i.i.i.i.i.i.i.i.i2290, label %if.end23.i.i2298, label %for.inc.i.i2291 + +lpad.loopexit11.i.i2419: ; preds = %for.body66.i.i2413 + %lpad.loopexit12.i.i2420 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i2313 + +lpad.loopexit.split-lp.loopexit.i.i2311: ; preds = %invoke.cont26.i.i2306, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %lpad.loopexit15.i.i2312 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i2313 + +lpad.loopexit.split-lp.loopexit.split-lp.i.i3159: ; preds = %for.end255.i.i3158, %if.then48.i.i3256, %if.then.i.i.i.i.invoke.i.i3331 + %lpad.loopexit.split-lp16.i.i3160 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i2313 + +for.inc.i.i2291: ; preds = %invoke.cont.i.i2282 + %incdec.ptr.i.i.i2292 = getelementptr inbounds %"class.std::vector.916", ptr %__begin05.sroa.0.043.i.i2283, i64 1 + %cmp.i103.not.i.i2293 = icmp eq ptr %incdec.ptr.i.i.i2292, %classes.val54.i.i2275 + br i1 %cmp.i103.not.i.i2293, label %if.then19.i.i2294, label %invoke.cont.i.i2282 + +if.then19.i.i2294: ; preds = %for.inc.i.i2291, %for.body.i.i2270 + %1386 = load ptr, ptr %_M_end_of_storage.i.i.i2264, align 8, !noalias !1562 + %cmp.not.i.i.i2295 = icmp eq ptr %classes.val54.i.i2275, %1386 + br i1 %cmp.not.i.i.i2295, label %if.else.i.i.i3333, label %if.then.i.i.i2296 + +if.then.i.i.i2296: ; preds = %if.then19.i.i2294 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i2275, i8 0, i64 24, i1 false) + %incdec.ptr.i104.i.i2297 = getelementptr inbounds %"class.std::vector.916", ptr %classes.val54.i.i2275, i64 1 + store ptr %incdec.ptr.i104.i.i2297, ptr %1381, align 8, !noalias !1562 + br label %if.end23.i.i2298 + +if.else.i.i.i3333: ; preds = %if.then19.i.i2294 + %sub.ptr.lhs.cast.i.i.i.i.i.i3334 = ptrtoint ptr %classes.val54.i.i2275 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i3335 = ptrtoint ptr %classes.val.i.i2274 to i64 + %sub.ptr.sub.i.i.i.i.i.i3336 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i3334, %sub.ptr.rhs.cast.i.i.i.i.i.i3335 + %cmp.i.i.i.i.i3337 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i3336, 9223372036854775800 + br i1 %cmp.i.i.i.i.i3337, label %if.then.i.i.i.i.invoke.i.i3331, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i + +_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i3333 + %sub.ptr.div.i.i.i.i.i.i3338 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i3336, 24 + %.sroa.speculated.i.i.i.i.i3339 = select i1 %cmp.i103.not42.i.i2276, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i3338 + %add.i.i.i.i.i3340 = add nsw i64 %.sroa.speculated.i.i.i.i.i3339, %sub.ptr.div.i.i.i.i.i.i3338 + %cmp7.i.i.i.i.i3341 = icmp ult i64 %add.i.i.i.i.i3340, %sub.ptr.div.i.i.i.i.i.i3338 + %cmp9.i.i.i.i.i3342 = icmp ugt i64 %add.i.i.i.i.i3340, 384307168202282325 + %or.cond.i.i.i.i.i3343 = or i1 %cmp7.i.i.i.i.i3341, %cmp9.i.i.i.i.i3342 + %cond.i.i.i.i.i3344 = select i1 %or.cond.i.i.i.i.i3343, i64 384307168202282325, i64 %add.i.i.i.i.i3340 + %cmp.not.i.i.i.i.i3345 = icmp eq i64 %cond.i.i.i.i.i3344, 0 + br i1 %cmp.not.i.i.i.i.i3345, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %mul.i.i.i.i.i.i.i3342 = mul nuw nsw i64 %cond.i.i.i.i.i3340, 24 - %call5.i.i.i.i.i105.i.i3343 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i3342) #34 - to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i2308 + %mul.i.i.i.i.i.i.i3346 = mul nuw nsw i64 %cond.i.i.i.i.i3344, 24 + %call5.i.i.i.i.i105.i.i3347 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i3346) #34 + to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i2311 _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i12.i.i.i.i3344 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i3343, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] - %add.ptr.i.i.i.i3345 = getelementptr inbounds %"class.std::vector.916", ptr %cond.i12.i.i.i.i3344, i64 %sub.ptr.div.i.i.i.i.i.i3334 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i3345, i8 0, i64 24, i1 false) - br i1 %cmp.i103.not42.i.i2273, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i3346 - -for.body.i.i.i.i.i.i.i3346: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i3346 - %__cur.03.i.i.i.i.i.i.i3347 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i3354, %for.body.i.i.i.i.i.i.i3346 ], [ %cond.i12.i.i.i.i3344, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i3348 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i3353, %for.body.i.i.i.i.i.i.i3346 ], [ %classes.val.i.i2271, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %cond.i12.i.i.i.i3348 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i3347, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] + %add.ptr.i.i.i.i3349 = getelementptr inbounds %"class.std::vector.916", ptr %cond.i12.i.i.i.i3348, i64 %sub.ptr.div.i.i.i.i.i.i3338 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i3349, i8 0, i64 24, i1 false) + br i1 %cmp.i103.not42.i.i2276, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i3350 + +for.body.i.i.i.i.i.i.i3350: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i3350 + %__cur.03.i.i.i.i.i.i.i3351 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i3358, %for.body.i.i.i.i.i.i.i3350 ], [ %cond.i12.i.i.i.i3348, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i3352 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i3357, %for.body.i.i.i.i.i.i.i3350 ], [ %classes.val.i.i2274, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !1566) call void @llvm.experimental.noalias.scope.decl(metadata !1569) - %1387 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i3348, align 8, !alias.scope !1569, !noalias !1566 - store <2 x ptr> %1387, ptr %__cur.03.i.i.i.i.i.i.i3347, align 8, !alias.scope !1566, !noalias !1569 - %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i3351 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.922", ptr %__cur.03.i.i.i.i.i.i.i3347, i64 0, i32 2 - %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i3352 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.922", ptr %__first.addr.02.i.i.i.i.i.i.i3348, i64 0, i32 2 - %1388 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i3352, align 8, !alias.scope !1569, !noalias !1566 - store ptr %1388, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i3351, align 8, !alias.scope !1566, !noalias !1569 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i3348, i8 0, i64 24, i1 false), !alias.scope !1569, !noalias !1566 - %incdec.ptr.i.i.i.i.i.i.i3353 = getelementptr inbounds %"class.std::vector.916", ptr %__first.addr.02.i.i.i.i.i.i.i3348, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i3354 = getelementptr inbounds %"class.std::vector.916", ptr %__cur.03.i.i.i.i.i.i.i3347, i64 1 - %cmp.not.i.i.i.i.i.i.i3355 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i3353, %classes.val54.i.i2272 - br i1 %cmp.not.i.i.i.i.i.i.i3355, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i3346, !llvm.loop !1571 - -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i3346, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i3356 = phi ptr [ %cond.i12.i.i.i.i3344, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i3354, %for.body.i.i.i.i.i.i.i3346 ] - %incdec.ptr.i.i.i.i3357 = getelementptr inbounds %"class.std::vector.916", ptr %__cur.0.lcssa.i.i.i.i.i.i.i3356, i64 1 - %tobool.not.i.i.i.i.i3358 = icmp eq ptr %classes.val.i.i2271, null - br i1 %tobool.not.i.i.i.i.i3358, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i3359 - -if.then.i26.i.i.i.i3359: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i2271) #33 + %1387 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i3352, align 8, !alias.scope !1569, !noalias !1566 + store <2 x ptr> %1387, ptr %__cur.03.i.i.i.i.i.i.i3351, align 8, !alias.scope !1566, !noalias !1569 + %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i3355 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.922", ptr %__cur.03.i.i.i.i.i.i.i3351, i64 0, i32 2 + %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i3356 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.922", ptr %__first.addr.02.i.i.i.i.i.i.i3352, i64 0, i32 2 + %1388 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i3356, align 8, !alias.scope !1569, !noalias !1566 + store ptr %1388, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i3355, align 8, !alias.scope !1566, !noalias !1569 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i3352, i8 0, i64 24, i1 false), !alias.scope !1569, !noalias !1566 + %incdec.ptr.i.i.i.i.i.i.i3357 = getelementptr inbounds %"class.std::vector.916", ptr %__first.addr.02.i.i.i.i.i.i.i3352, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i3358 = getelementptr inbounds %"class.std::vector.916", ptr %__cur.03.i.i.i.i.i.i.i3351, i64 1 + %cmp.not.i.i.i.i.i.i.i3359 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i3357, %classes.val54.i.i2275 + br i1 %cmp.not.i.i.i.i.i.i.i3359, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i3350, !llvm.loop !1571 + +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i3350, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i3360 = phi ptr [ %cond.i12.i.i.i.i3348, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i3358, %for.body.i.i.i.i.i.i.i3350 ] + %incdec.ptr.i.i.i.i3361 = getelementptr inbounds %"class.std::vector.916", ptr %__cur.0.lcssa.i.i.i.i.i.i.i3360, i64 1 + %tobool.not.i.i.i.i.i3362 = icmp eq ptr %classes.val.i.i2274, null + br i1 %tobool.not.i.i.i.i.i3362, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i3363 + +if.then.i26.i.i.i.i3363: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i2274) #33 br label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i3359, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - store ptr %cond.i12.i.i.i.i3344, ptr %classes.i.i2229, align 8, !noalias !1562 - store ptr %incdec.ptr.i.i.i.i3357, ptr %1381, align 8, !noalias !1562 - %add.ptr19.i.i.i.i3360 = getelementptr inbounds %"class.std::vector.916", ptr %cond.i12.i.i.i.i3344, i64 %cond.i.i.i.i.i3340 - store ptr %add.ptr19.i.i.i.i3360, ptr %_M_end_of_storage.i.i.i2261, align 8, !noalias !1562 - br label %if.end23.i.i2295 - -if.end23.i.i2295: ; preds = %invoke.cont.i.i2279, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i2293 - %c.1.i.i2296 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i3356, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i2272, %if.then.i.i.i2293 ], [ %__begin05.sroa.0.043.i.i2280, %invoke.cont.i.i2279 ] - %_M_finish.i.i.i.i2297 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.922", ptr %c.1.i.i2296, i64 0, i32 1 - %1389 = load ptr, ptr %_M_finish.i.i.i.i2297, align 8 - %_M_end_of_storage.i.i.i.i2298 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.922", ptr %c.1.i.i2296, i64 0, i32 2 - %1390 = load ptr, ptr %_M_end_of_storage.i.i.i.i2298, align 8 - %cmp.not.i.i.i.i2299 = icmp eq ptr %1389, %1390 - br i1 %cmp.not.i.i.i.i2299, label %if.else.i.i.i.i3301, label %if.then.i.i.i.i2300 - -if.then.i.i.i.i2300: ; preds = %if.end23.i.i2295 - store ptr %__begin0.sroa.0.045.i.ptr.i2270, ptr %1389, align 8 - %ref.tmp24.sroa.3.0..sroa_idx.i.i2301 = getelementptr inbounds i8, ptr %1389, i64 8 - store i64 %i.046.i.i2268, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i2301, align 8 - %1391 = load ptr, ptr %_M_finish.i.i.i.i2297, align 8 - %incdec.ptr.i.i107.i.i2302 = getelementptr inbounds %struct.Info.923, ptr %1391, i64 1 - store ptr %incdec.ptr.i.i107.i.i2302, ptr %_M_finish.i.i.i.i2297, align 8 - br label %invoke.cont26.i.i2303 - -if.else.i.i.i.i3301: ; preds = %if.end23.i.i2295 - %this.val.i.i.i.i.i3302 = load ptr, ptr %c.1.i.i2296, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i3303 = ptrtoint ptr %1389 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i3304 = ptrtoint ptr %this.val.i.i.i.i.i3302 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i3305 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i3303, %sub.ptr.rhs.cast.i.i.i.i.i.i.i3304 - %cmp.i.i.i.i108.i.i3306 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i3305, 9223372036854775792 - br i1 %cmp.i.i.i.i108.i.i3306, label %if.then.i.i.i.i.invoke.i.i3327, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - -if.then.i.i.i.i.invoke.i.i3327: ; preds = %if.else.i.i.i.i3301, %if.else.i.i.i3329 +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i3363, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + store ptr %cond.i12.i.i.i.i3348, ptr %classes.i.i2232, align 8, !noalias !1562 + store ptr %incdec.ptr.i.i.i.i3361, ptr %1381, align 8, !noalias !1562 + %add.ptr19.i.i.i.i3364 = getelementptr inbounds %"class.std::vector.916", ptr %cond.i12.i.i.i.i3348, i64 %cond.i.i.i.i.i3344 + store ptr %add.ptr19.i.i.i.i3364, ptr %_M_end_of_storage.i.i.i2264, align 8, !noalias !1562 + br label %if.end23.i.i2298 + +if.end23.i.i2298: ; preds = %invoke.cont.i.i2282, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i2296 + %c.1.i.i2299 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i3360, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i2275, %if.then.i.i.i2296 ], [ %__begin05.sroa.0.043.i.i2283, %invoke.cont.i.i2282 ] + %_M_finish.i.i.i.i2300 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.922", ptr %c.1.i.i2299, i64 0, i32 1 + %1389 = load ptr, ptr %_M_finish.i.i.i.i2300, align 8 + %_M_end_of_storage.i.i.i.i2301 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.922", ptr %c.1.i.i2299, i64 0, i32 2 + %1390 = load ptr, ptr %_M_end_of_storage.i.i.i.i2301, align 8 + %cmp.not.i.i.i.i2302 = icmp eq ptr %1389, %1390 + br i1 %cmp.not.i.i.i.i2302, label %if.else.i.i.i.i3304, label %if.then.i.i.i.i2303 + +if.then.i.i.i.i2303: ; preds = %if.end23.i.i2298 + store ptr %__begin0.sroa.0.045.i.ptr.i2273, ptr %1389, align 8 + %ref.tmp24.sroa.3.0..sroa_idx.i.i2304 = getelementptr inbounds i8, ptr %1389, i64 8 + store i64 %i.046.i.i2271, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i2304, align 8 + %1391 = load ptr, ptr %_M_finish.i.i.i.i2300, align 8 + %incdec.ptr.i.i107.i.i2305 = getelementptr inbounds %struct.Info.923, ptr %1391, i64 1 + store ptr %incdec.ptr.i.i107.i.i2305, ptr %_M_finish.i.i.i.i2300, align 8 + br label %invoke.cont26.i.i2306 + +if.else.i.i.i.i3304: ; preds = %if.end23.i.i2298 + %this.val.i.i.i.i.i3305 = load ptr, ptr %c.1.i.i2299, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i3306 = ptrtoint ptr %1389 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i3307 = ptrtoint ptr %this.val.i.i.i.i.i3305 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i3308 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i3306, %sub.ptr.rhs.cast.i.i.i.i.i.i.i3307 + %cmp.i.i.i.i108.i.i3309 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i3308, 9223372036854775792 + br i1 %cmp.i.i.i.i108.i.i3309, label %if.then.i.i.i.i.invoke.i.i3331, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + +if.then.i.i.i.i.invoke.i.i3331: ; preds = %if.else.i.i.i.i3304, %if.else.i.i.i3333 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.117) #32 - to label %if.then.i.i.i.i.cont.i.i3328 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i3156 + to label %if.then.i.i.i.i.cont.i.i3332 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i3159 -if.then.i.i.i.i.cont.i.i3328: ; preds = %if.then.i.i.i.i.invoke.i.i3327 +if.then.i.i.i.i.cont.i.i3332: ; preds = %if.then.i.i.i.i.invoke.i.i3331 unreachable -_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i3301 - %sub.ptr.div.i.i.i.i.i.i.i3307 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i3305, 4 - %cmp.i.i.i.i.i.i.i3308 = icmp eq ptr %1389, %this.val.i.i.i.i.i3302 - %.sroa.speculated.i.i.i.i.i.i3309 = select i1 %cmp.i.i.i.i.i.i.i3308, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i3307 - %add.i.i.i.i.i.i3310 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i3309, %sub.ptr.div.i.i.i.i.i.i.i3307 - %cmp7.i.i.i.i.i.i3311 = icmp ult i64 %add.i.i.i.i.i.i3310, %sub.ptr.div.i.i.i.i.i.i.i3307 - %cmp9.i.i.i.i.i.i3312 = icmp ugt i64 %add.i.i.i.i.i.i3310, 576460752303423487 - %or.cond.i.i.i.i.i.i3313 = or i1 %cmp7.i.i.i.i.i.i3311, %cmp9.i.i.i.i.i.i3312 - %cond.i.i.i.i.i.i3314 = select i1 %or.cond.i.i.i.i.i.i3313, i64 576460752303423487, i64 %add.i.i.i.i.i.i3310 - %cmp.not.i.i.i.i.i.i3315 = icmp eq i64 %cond.i.i.i.i.i.i3314, 0 - br i1 %cmp.not.i.i.i.i.i.i3315, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i +_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i3304 + %sub.ptr.div.i.i.i.i.i.i.i3310 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i3308, 4 + %cmp.i.i.i.i.i.i.i3311 = icmp eq ptr %1389, %this.val.i.i.i.i.i3305 + %.sroa.speculated.i.i.i.i.i.i3312 = select i1 %cmp.i.i.i.i.i.i.i3311, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i3310 + %add.i.i.i.i.i.i3313 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i3312, %sub.ptr.div.i.i.i.i.i.i.i3310 + %cmp7.i.i.i.i.i.i3314 = icmp ult i64 %add.i.i.i.i.i.i3313, %sub.ptr.div.i.i.i.i.i.i.i3310 + %cmp9.i.i.i.i.i.i3315 = icmp ugt i64 %add.i.i.i.i.i.i3313, 576460752303423487 + %or.cond.i.i.i.i.i.i3316 = or i1 %cmp7.i.i.i.i.i.i3314, %cmp9.i.i.i.i.i.i3315 + %cond.i.i.i.i.i.i3317 = select i1 %or.cond.i.i.i.i.i.i3316, i64 576460752303423487, i64 %add.i.i.i.i.i.i3313 + %cmp.not.i.i.i.i.i.i3318 = icmp eq i64 %cond.i.i.i.i.i.i3317, 0 + br i1 %cmp.not.i.i.i.i.i.i3318, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %mul.i.i.i.i.i.i.i.i3316 = shl nuw nsw i64 %cond.i.i.i.i.i.i3314, 4 - %call5.i.i.i.i.i.i110.i.i3317 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i3316) #34 - to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i2308 + %mul.i.i.i.i.i.i.i.i3319 = shl nuw nsw i64 %cond.i.i.i.i.i.i3317, 4 + %call5.i.i.i.i.i.i110.i.i3320 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i3319) #34 + to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i2311 _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %cond.i12.i.i.i.i.i3318 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i3317, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] - %add.ptr.i.i.i.i.i3319 = getelementptr inbounds %struct.Info.923, ptr %cond.i12.i.i.i.i.i3318, i64 %sub.ptr.div.i.i.i.i.i.i.i3307 - store ptr %__begin0.sroa.0.045.i.ptr.i2270, ptr %add.ptr.i.i.i.i.i3319, align 8 - %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i3320 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i3319, i64 8 - store i64 %i.046.i.i2268, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i3320, align 8 - %cmp.i.i.i13.i.i.i.i.i3321 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i3307, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i3321, label %if.then.i.i.i14.i.i.i.i.i3326, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -if.then.i.i.i14.i.i.i.i.i3326: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i3318, ptr align 8 %this.val.i.i.i.i.i3302, i64 %sub.ptr.sub.i.i.i.i.i.i.i3305, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i3326, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i3322 = getelementptr inbounds %struct.Info.923, ptr %add.ptr.i.i.i.i.i3319, i64 1 - %tobool.not.i.i.i.i.i.i3323 = icmp eq ptr %this.val.i.i.i.i.i3302, null - br i1 %tobool.not.i.i.i.i.i.i3323, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i3324 - -if.then.i23.i.i.i.i.i3324: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i3302) #33 + %cond.i12.i.i.i.i.i3321 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i3320, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i3322 = getelementptr inbounds %struct.Info.923, ptr %cond.i12.i.i.i.i.i3321, i64 %sub.ptr.div.i.i.i.i.i.i.i3310 + store ptr %__begin0.sroa.0.045.i.ptr.i2273, ptr %add.ptr.i.i.i.i.i3322, align 8 + %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i3323 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i3322, i64 8 + store i64 %i.046.i.i2271, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i3323, align 8 + %cmp.i.i.i13.i.i.i.i.i3324 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i3308, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i3324, label %if.then.i.i.i14.i.i.i.i.i3330, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +if.then.i.i.i14.i.i.i.i.i3330: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i3321, ptr align 8 %this.val.i.i.i.i.i3305, i64 %sub.ptr.sub.i.i.i.i.i.i.i3308, i1 false) + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i3330, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i3325 = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i3321, i64 %sub.ptr.sub.i.i.i.i.i.i.i3308 + %incdec.ptr.i.i.i.i.i3326 = getelementptr inbounds %struct.Info.923, ptr %add.ptr.i.i.i.i.i.i.i.i3325, i64 1 + %tobool.not.i.i.i.i.i.i3327 = icmp eq ptr %this.val.i.i.i.i.i3305, null + br i1 %tobool.not.i.i.i.i.i.i3327, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i3328 + +if.then.i22.i.i.i.i.i3328: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i3305) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i3324, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - store ptr %cond.i12.i.i.i.i.i3318, ptr %c.1.i.i2296, align 8 - store ptr %incdec.ptr.i.i.i.i.i3322, ptr %_M_finish.i.i.i.i2297, align 8 - %add.ptr19.i.i.i.i.i3325 = getelementptr inbounds %struct.Info.923, ptr %cond.i12.i.i.i.i.i3318, i64 %cond.i.i.i.i.i.i3314 - store ptr %add.ptr19.i.i.i.i.i3325, ptr %_M_end_of_storage.i.i.i.i2298, align 8 - br label %invoke.cont26.i.i2303 - -invoke.cont26.i.i2303: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i2300 - %1392 = phi ptr [ %add.ptr.i.i.i.i.i3319, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %1391, %if.then.i.i.i.i2300 ] - %inc.i.i2304 = add nuw nsw i64 %i.046.i.i2268, 1 - %call28.val.i.i2305 = load ptr, ptr %1392, align 8 - %call28.val.val.i.i2306 = load ptr, ptr %call28.val.i.i2305, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i2231, ptr %call28.val.val.i.i2306) - to label %invoke.cont29.i.i2312 unwind label %lpad.loopexit.split-lp.loopexit.i.i2308 - -invoke.cont29.i.i2312: ; preds = %invoke.cont26.i.i2303 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i3328, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + store ptr %cond.i12.i.i.i.i.i3321, ptr %c.1.i.i2299, align 8 + store ptr %incdec.ptr.i.i.i.i.i3326, ptr %_M_finish.i.i.i.i2300, align 8 + %add.ptr19.i.i.i.i.i3329 = getelementptr inbounds %struct.Info.923, ptr %cond.i12.i.i.i.i.i3321, i64 %cond.i.i.i.i.i.i3317 + store ptr %add.ptr19.i.i.i.i.i3329, ptr %_M_end_of_storage.i.i.i.i2301, align 8 + br label %invoke.cont26.i.i2306 + +invoke.cont26.i.i2306: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i2303 + %1392 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i3325, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %1391, %if.then.i.i.i.i2303 ] + %inc.i.i2307 = add nuw nsw i64 %i.046.i.i2271, 1 + %call28.val.i.i2308 = load ptr, ptr %1392, align 8 + %call28.val.val.i.i2309 = load ptr, ptr %call28.val.i.i2308, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i2234, ptr %call28.val.val.i.i2309) + to label %invoke.cont29.i.i2315 unwind label %lpad.loopexit.split-lp.loopexit.i.i2311 + +invoke.cont29.i.i2315: ; preds = %invoke.cont26.i.i2306 call void @llvm.experimental.noalias.scope.decl(metadata !1572) - %1393 = load i8, ptr %moved_from_.i.i.i2262, align 8, !noalias !1575 + %1393 = load i8, ptr %moved_from_.i.i.i2265, align 8, !noalias !1575 %1394 = and i8 %1393, 1 - %tobool.not.i.i.i2313 = icmp eq i8 %1394, 0 - br i1 %tobool.not.i.i.i2313, label %if.end.i.i.i3297, label %if.then.i112.i.i2314 - -if.then.i112.i.i2314: ; preds = %invoke.cont29.i.i2312 - invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2230, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) - to label %return.sink.split.i.i.i2316 unwind label %lpad30.i.i2315 - -if.end.i.i.i3297: ; preds = %invoke.cont29.i.i2312 - %1395 = load ptr, ptr %error_.i.i.i2264, align 8, !noalias !1575 - %_M_engaged.i.i.i.i.i3298 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %1395, i64 0, i32 1 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i2263, align 8, !alias.scope !1572, !noalias !1562 - %1396 = load i8, ptr %_M_engaged.i.i.i.i.i3298, align 8, !noalias !1572 + %tobool.not.i.i.i2316 = icmp eq i8 %1394, 0 + br i1 %tobool.not.i.i.i2316, label %if.end.i.i.i3300, label %if.then.i112.i.i2317 + +if.then.i112.i.i2317: ; preds = %invoke.cont29.i.i2315 + invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2233, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) + to label %return.sink.split.i.i.i2319 unwind label %lpad30.i.i2318 + +if.end.i.i.i3300: ; preds = %invoke.cont29.i.i2315 + %1395 = load ptr, ptr %error_.i.i.i2267, align 8, !noalias !1575 + %_M_engaged.i.i.i.i.i3301 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %1395, i64 0, i32 1 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i2266, align 8, !alias.scope !1572, !noalias !1562 + %1396 = load i8, ptr %_M_engaged.i.i.i.i.i3301, align 8, !noalias !1572 %1397 = and i8 %1396, 1 - %tobool.not.i.i.i.i.i.i.i.i3299 = icmp eq i8 %1397, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i3299, label %invoke.cont31.i.i2317, label %if.then.i.i.i.i.i.i.i.i3300 - -if.then.i.i.i.i.i.i.i.i3300: ; preds = %if.end.i.i.i3297 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2230, ptr noundef nonnull align 8 dereferenceable(32) %1395) - to label %return.sink.split.i.i.i2316 unwind label %lpad30.i.i2315 - -return.sink.split.i.i.i2316: ; preds = %if.then.i.i.i.i.i.i.i.i3300, %if.then.i112.i.i2314 - store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i2263, align 8, !alias.scope !1572, !noalias !1562 - br label %invoke.cont31.i.i2317 - -invoke.cont31.i.i2317: ; preds = %return.sink.split.i.i.i2316, %if.end.i.i.i3297 - %1398 = load ptr, ptr %_M_refcount.i.i.i.i.i2265, align 8, !noalias !1562 - %cmp.not.i.i.i.i115.i.i2318 = icmp eq ptr %1398, null - br i1 %cmp.not.i.i.i.i115.i.i2318, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329, label %if.then.i.i.i.i116.i.i2319 - -if.then.i.i.i.i116.i.i2319: ; preds = %invoke.cont31.i.i2317 - %_M_use_count.i.i.i.i.i.i.i2320 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1398, i64 0, i32 1 - %1399 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i2320 acquire, align 8 - %cmp.i.i.i.i.i117.i.i2321 = icmp eq i64 %1399, 4294967297 + %tobool.not.i.i.i.i.i.i.i.i3302 = icmp eq i8 %1397, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i3302, label %invoke.cont31.i.i2320, label %if.then.i.i.i.i.i.i.i.i3303 + +if.then.i.i.i.i.i.i.i.i3303: ; preds = %if.end.i.i.i3300 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2233, ptr noundef nonnull align 8 dereferenceable(32) %1395) + to label %return.sink.split.i.i.i2319 unwind label %lpad30.i.i2318 + +return.sink.split.i.i.i2319: ; preds = %if.then.i.i.i.i.i.i.i.i3303, %if.then.i112.i.i2317 + store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i2266, align 8, !alias.scope !1572, !noalias !1562 + br label %invoke.cont31.i.i2320 + +invoke.cont31.i.i2320: ; preds = %return.sink.split.i.i.i2319, %if.end.i.i.i3300 + %1398 = load ptr, ptr %_M_refcount.i.i.i.i.i2268, align 8, !noalias !1562 + %cmp.not.i.i.i.i115.i.i2321 = icmp eq ptr %1398, null + br i1 %cmp.not.i.i.i.i115.i.i2321, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332, label %if.then.i.i.i.i116.i.i2322 + +if.then.i.i.i.i116.i.i2322: ; preds = %invoke.cont31.i.i2320 + %_M_use_count.i.i.i.i.i.i.i2323 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1398, i64 0, i32 1 + %1399 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i2323 acquire, align 8 + %cmp.i.i.i.i.i117.i.i2324 = icmp eq i64 %1399, 4294967297 %1400 = trunc i64 %1399 to i32 - br i1 %cmp.i.i.i.i.i117.i.i2321, label %if.then.i.i.i.i.i.i.i3293, label %if.end.i.i.i.i.i.i.i2322 - -if.then.i.i.i.i.i.i.i3293: ; preds = %if.then.i.i.i.i116.i.i2319 - store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i2320, align 8 - %_M_weak_count.i.i.i.i.i.i.i3294 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1398, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i3294, align 4 - %vtable.i.i.i.i.i.i.i3295 = load ptr, ptr %1398, align 8 - %vfn.i.i.i.i.i.i.i3296 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i3295, i64 2 - %1401 = load ptr, ptr %vfn.i.i.i.i.i.i.i3296, align 8 + br i1 %cmp.i.i.i.i.i117.i.i2324, label %if.then.i.i.i.i.i.i.i3296, label %if.end.i.i.i.i.i.i.i2325 + +if.then.i.i.i.i.i.i.i3296: ; preds = %if.then.i.i.i.i116.i.i2322 + store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i2323, align 8 + %_M_weak_count.i.i.i.i.i.i.i3297 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1398, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i3297, align 4 + %vtable.i.i.i.i.i.i.i3298 = load ptr, ptr %1398, align 8 + %vfn.i.i.i.i.i.i.i3299 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i3298, i64 2 + %1401 = load ptr, ptr %vfn.i.i.i.i.i.i.i3299, align 8 call void %1401(ptr noundef nonnull align 8 dereferenceable(16) %1398) #30 - br label %if.end8.sink.split.i.i.i.i.i.i.i3288 + br label %if.end8.sink.split.i.i.i.i.i.i.i3291 -if.end.i.i.i.i.i.i.i2322: ; preds = %if.then.i.i.i.i116.i.i2319 +if.end.i.i.i.i.i.i.i2325: ; preds = %if.then.i.i.i.i116.i.i2322 %1402 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i2323 = icmp eq i8 %1402, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i2323, label %if.else.i.i.i.i.i.i.i.i3292, label %if.then.i.i.i.i.i.i118.i.i2324 - -if.then.i.i.i.i.i.i118.i.i2324: ; preds = %if.end.i.i.i.i.i.i.i2322 - %add.i.i.i.i.i.i.i.i2325 = add nsw i32 %1400, -1 - store i32 %add.i.i.i.i.i.i.i.i2325, ptr %_M_use_count.i.i.i.i.i.i.i2320, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2326 - -if.else.i.i.i.i.i.i.i.i3292: ; preds = %if.end.i.i.i.i.i.i.i2322 - %1403 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i2320, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2326 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2326: ; preds = %if.else.i.i.i.i.i.i.i.i3292, %if.then.i.i.i.i.i.i118.i.i2324 - %retval.i.0.i.i.i.i.i.i.i2327 = phi i32 [ %1400, %if.then.i.i.i.i.i.i118.i.i2324 ], [ %1403, %if.else.i.i.i.i.i.i.i.i3292 ] - %cmp6.i.i.i.i.i.i.i2328 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i2327, 1 - br i1 %cmp6.i.i.i.i.i.i.i2328, label %if.then7.i.i.i.i.i.i.i3278, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329 - -if.then7.i.i.i.i.i.i.i3278: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2326 - %vtable.i.i.i.i.i.i.i.i.i3279 = load ptr, ptr %1398, align 8 - %vfn.i.i.i.i.i.i.i.i.i3280 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i3279, i64 2 - %1404 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i3280, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i2326 = icmp eq i8 %1402, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i2326, label %if.else.i.i.i.i.i.i.i.i3295, label %if.then.i.i.i.i.i.i118.i.i2327 + +if.then.i.i.i.i.i.i118.i.i2327: ; preds = %if.end.i.i.i.i.i.i.i2325 + %add.i.i.i.i.i.i.i.i2328 = add nsw i32 %1400, -1 + store i32 %add.i.i.i.i.i.i.i.i2328, ptr %_M_use_count.i.i.i.i.i.i.i2323, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2329 + +if.else.i.i.i.i.i.i.i.i3295: ; preds = %if.end.i.i.i.i.i.i.i2325 + %1403 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i2323, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2329 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2329: ; preds = %if.else.i.i.i.i.i.i.i.i3295, %if.then.i.i.i.i.i.i118.i.i2327 + %retval.i.0.i.i.i.i.i.i.i2330 = phi i32 [ %1400, %if.then.i.i.i.i.i.i118.i.i2327 ], [ %1403, %if.else.i.i.i.i.i.i.i.i3295 ] + %cmp6.i.i.i.i.i.i.i2331 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i2330, 1 + br i1 %cmp6.i.i.i.i.i.i.i2331, label %if.then7.i.i.i.i.i.i.i3281, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332 + +if.then7.i.i.i.i.i.i.i3281: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2329 + %vtable.i.i.i.i.i.i.i.i.i3282 = load ptr, ptr %1398, align 8 + %vfn.i.i.i.i.i.i.i.i.i3283 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i3282, i64 2 + %1404 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i3283, align 8 call void %1404(ptr noundef nonnull align 8 dereferenceable(16) %1398) #30 - %_M_weak_count.i.i.i.i.i.i.i.i.i3281 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1398, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i.i.i3284 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1398, i64 0, i32 2 %1405 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i.i.i3282 = icmp eq i8 %1405, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i3282, label %if.else.i.i.i.i.i.i.i.i.i.i3291, label %if.then.i.i.i.i.i.i.i.i.i.i3283 - -if.then.i.i.i.i.i.i.i.i.i.i3283: ; preds = %if.then7.i.i.i.i.i.i.i3278 - %1406 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i3281, align 4 - %add.i.i.i.i.i.i.i.i.i.i3284 = add nsw i32 %1406, -1 - store i32 %add.i.i.i.i.i.i.i.i.i.i3284, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i3281, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3285 - -if.else.i.i.i.i.i.i.i.i.i.i3291: ; preds = %if.then7.i.i.i.i.i.i.i3278 - %1407 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i3281, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3285 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3285: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i3291, %if.then.i.i.i.i.i.i.i.i.i.i3283 - %retval.i.0.i.i.i.i.i.i.i.i.i3286 = phi i32 [ %1406, %if.then.i.i.i.i.i.i.i.i.i.i3283 ], [ %1407, %if.else.i.i.i.i.i.i.i.i.i.i3291 ] - %cmp.i.i.i.i.i.i.i.i.i3287 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i3286, 1 - br i1 %cmp.i.i.i.i.i.i.i.i.i3287, label %if.end8.sink.split.i.i.i.i.i.i.i3288, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329 - -if.end8.sink.split.i.i.i.i.i.i.i3288: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3285, %if.then.i.i.i.i.i.i.i3293 - %vtable2.i.i.i.i.i.i.i.i.i3289 = load ptr, ptr %1398, align 8 - %vfn3.i.i.i.i.i.i.i.i.i3290 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i3289, i64 3 - %1408 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i3290, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i.i.i3285 = icmp eq i8 %1405, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i3285, label %if.else.i.i.i.i.i.i.i.i.i.i3294, label %if.then.i.i.i.i.i.i.i.i.i.i3286 + +if.then.i.i.i.i.i.i.i.i.i.i3286: ; preds = %if.then7.i.i.i.i.i.i.i3281 + %1406 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i3284, align 4 + %add.i.i.i.i.i.i.i.i.i.i3287 = add nsw i32 %1406, -1 + store i32 %add.i.i.i.i.i.i.i.i.i.i3287, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i3284, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3288 + +if.else.i.i.i.i.i.i.i.i.i.i3294: ; preds = %if.then7.i.i.i.i.i.i.i3281 + %1407 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i3284, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3288 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3288: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i3294, %if.then.i.i.i.i.i.i.i.i.i.i3286 + %retval.i.0.i.i.i.i.i.i.i.i.i3289 = phi i32 [ %1406, %if.then.i.i.i.i.i.i.i.i.i.i3286 ], [ %1407, %if.else.i.i.i.i.i.i.i.i.i.i3294 ] + %cmp.i.i.i.i.i.i.i.i.i3290 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i3289, 1 + br i1 %cmp.i.i.i.i.i.i.i.i.i3290, label %if.end8.sink.split.i.i.i.i.i.i.i3291, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332 + +if.end8.sink.split.i.i.i.i.i.i.i3291: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3288, %if.then.i.i.i.i.i.i.i3296 + %vtable2.i.i.i.i.i.i.i.i.i3292 = load ptr, ptr %1398, align 8 + %vfn3.i.i.i.i.i.i.i.i.i3293 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i3292, i64 3 + %1408 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i3293, align 8 call void %1408(ptr noundef nonnull align 8 dereferenceable(16) %1398) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i3288, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3285, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2326, %invoke.cont31.i.i2317 - %1409 = load ptr, ptr %ref.tmp27.i.i2231, align 8, !noalias !1562 - %1410 = load ptr, ptr %_M_finish.i.i119.i.i2266, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i.i.i2330 = icmp eq ptr %1409, %1410 - br i1 %cmp.not3.i.i.i.i.i.i.i2330, label %invoke.cont.i.i.i.i2337, label %for.body.i.i.i.i.i120.i.i2331 - -for.body.i.i.i.i.i120.i.i2331: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329, %for.body.i.i.i.i.i120.i.i2331 - %__first.addr.04.i.i.i.i.i.i.i2332 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i2333, %for.body.i.i.i.i.i120.i.i2331 ], [ %1409, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i2332) #30 - %incdec.ptr.i.i.i.i.i121.i.i2333 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i2332, i64 1 - %cmp.not.i.i.i.i.i122.i.i2334 = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i2333, %1410 - br i1 %cmp.not.i.i.i.i.i122.i.i2334, label %invoke.contthread-pre-split.i.i.i.i2335, label %for.body.i.i.i.i.i120.i.i2331, !llvm.loop !8 - -invoke.contthread-pre-split.i.i.i.i2335: ; preds = %for.body.i.i.i.i.i120.i.i2331 - %.pr.i.i.i.i2336 = load ptr, ptr %ref.tmp27.i.i2231, align 8, !noalias !1562 - br label %invoke.cont.i.i.i.i2337 - -invoke.cont.i.i.i.i2337: ; preds = %invoke.contthread-pre-split.i.i.i.i2335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329 - %1411 = phi ptr [ %.pr.i.i.i.i2336, %invoke.contthread-pre-split.i.i.i.i2335 ], [ %1409, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2329 ] - %tobool.not.i.i.i.i123.i.i2338 = icmp eq ptr %1411, null - br i1 %tobool.not.i.i.i.i123.i.i2338, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2340, label %if.then.i.i.i1.i.i.i2339 - -if.then.i.i.i1.i.i.i2339: ; preds = %invoke.cont.i.i.i.i2337 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i3291, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i3288, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i2329, %invoke.cont31.i.i2320 + %1409 = load ptr, ptr %ref.tmp27.i.i2234, align 8, !noalias !1562 + %1410 = load ptr, ptr %_M_finish.i.i119.i.i2269, align 8, !noalias !1562 + %cmp.not3.i.i.i.i.i.i.i2333 = icmp eq ptr %1409, %1410 + br i1 %cmp.not3.i.i.i.i.i.i.i2333, label %invoke.cont.i.i.i.i2340, label %for.body.i.i.i.i.i120.i.i2334 + +for.body.i.i.i.i.i120.i.i2334: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332, %for.body.i.i.i.i.i120.i.i2334 + %__first.addr.04.i.i.i.i.i.i.i2335 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i2336, %for.body.i.i.i.i.i120.i.i2334 ], [ %1409, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i2335) #30 + %incdec.ptr.i.i.i.i.i121.i.i2336 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i2335, i64 1 + %cmp.not.i.i.i.i.i122.i.i2337 = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i2336, %1410 + br i1 %cmp.not.i.i.i.i.i122.i.i2337, label %invoke.contthread-pre-split.i.i.i.i2338, label %for.body.i.i.i.i.i120.i.i2334, !llvm.loop !8 + +invoke.contthread-pre-split.i.i.i.i2338: ; preds = %for.body.i.i.i.i.i120.i.i2334 + %.pr.i.i.i.i2339 = load ptr, ptr %ref.tmp27.i.i2234, align 8, !noalias !1562 + br label %invoke.cont.i.i.i.i2340 + +invoke.cont.i.i.i.i2340: ; preds = %invoke.contthread-pre-split.i.i.i.i2338, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332 + %1411 = phi ptr [ %.pr.i.i.i.i2339, %invoke.contthread-pre-split.i.i.i.i2338 ], [ %1409, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i2332 ] + %tobool.not.i.i.i.i123.i.i2341 = icmp eq ptr %1411, null + br i1 %tobool.not.i.i.i.i123.i.i2341, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2343, label %if.then.i.i.i1.i.i.i2342 + +if.then.i.i.i1.i.i.i2342: ; preds = %invoke.cont.i.i.i.i2340 call void @_ZdlPv(ptr noundef nonnull %1411) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2340 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2343 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2340: ; preds = %if.then.i.i.i1.i.i.i2339, %invoke.cont.i.i.i.i2337 - %1412 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i2263, align 8, !noalias !1562 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2343: ; preds = %if.then.i.i.i1.i.i.i2342, %invoke.cont.i.i.i.i2340 + %1412 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i2266, align 8, !noalias !1562 %1413 = and i8 %1412, 1 - %tobool.i.i.not.i.i2341 = icmp eq i8 %1413, 0 - br i1 %tobool.i.i.not.i.i2341, label %for.cond.i.i2386, label %if.then33.i.i2342 - -if.then33.i.i2342: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2340 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i2232) - to label %invoke.cont36.i.i2348 unwind label %lpad35.i.i2343 - -invoke.cont36.i.i2348: ; preds = %if.then33.i.i2342 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i2228), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i2228) - to label %.noexc126.i.i2352 unwind label %lpad38.i.i2349 - -.noexc126.i.i2352: ; preds = %invoke.cont36.i.i2348 - %1414 = load ptr, ptr %ref.tmp.i.i.i2228, align 8, !noalias !1562 - %add.ptr.i.i124.i.i2353 = getelementptr inbounds i8, ptr %1414, i64 16 - %call2.i1.i.i.i2354 = 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) %add.ptr.i.i124.i.i2353, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2230) - to label %invoke.cont.i.i.i2360 unwind label %lpad.i.i.i2355 - -invoke.cont.i.i.i2360: ; preds = %.noexc126.i.i2352 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i2232, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i2228) - to label %invoke.cont2.i.i.i2361 unwind label %lpad.i.i.i2355 - -invoke.cont2.i.i.i2361: ; preds = %invoke.cont.i.i.i2360 - %1415 = load ptr, ptr %ref.tmp.i.i.i2228, align 8, !noalias !1562 - %cmp.not.i.i.i125.i.i2362 = icmp eq ptr %1415, null - br i1 %cmp.not.i.i.i125.i.i2362, label %invoke.cont39.i.i2366, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i2363 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i2363: ; preds = %invoke.cont2.i.i.i2361 - %vtable.i.i.i.i.i.i2364 = load ptr, ptr %1415, align 8 - %vfn.i.i.i.i.i.i2365 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i2364, i64 1 - %1416 = load ptr, ptr %vfn.i.i.i.i.i.i2365, align 8 + %tobool.i.i.not.i.i2344 = icmp eq i8 %1413, 0 + br i1 %tobool.i.i.not.i.i2344, label %for.cond.i.i2389, label %if.then33.i.i2345 + +if.then33.i.i2345: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i2343 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i2235) + to label %invoke.cont36.i.i2351 unwind label %lpad35.i.i2346 + +invoke.cont36.i.i2351: ; preds = %if.then33.i.i2345 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i2231), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i2231) + to label %.noexc126.i.i2355 unwind label %lpad38.i.i2352 + +.noexc126.i.i2355: ; preds = %invoke.cont36.i.i2351 + %1414 = load ptr, ptr %ref.tmp.i.i.i2231, align 8, !noalias !1562 + %add.ptr.i.i124.i.i2356 = getelementptr inbounds i8, ptr %1414, i64 16 + %call2.i1.i.i.i2357 = 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) %add.ptr.i.i124.i.i2356, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2233) + to label %invoke.cont.i.i.i2363 unwind label %lpad.i.i.i2358 + +invoke.cont.i.i.i2363: ; preds = %.noexc126.i.i2355 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i2235, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i2231) + to label %invoke.cont2.i.i.i2364 unwind label %lpad.i.i.i2358 + +invoke.cont2.i.i.i2364: ; preds = %invoke.cont.i.i.i2363 + %1415 = load ptr, ptr %ref.tmp.i.i.i2231, align 8, !noalias !1562 + %cmp.not.i.i.i125.i.i2365 = icmp eq ptr %1415, null + br i1 %cmp.not.i.i.i125.i.i2365, label %invoke.cont39.i.i2369, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i2366 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i2366: ; preds = %invoke.cont2.i.i.i2364 + %vtable.i.i.i.i.i.i2367 = load ptr, ptr %1415, align 8 + %vfn.i.i.i.i.i.i2368 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i2367, i64 1 + %1416 = load ptr, ptr %vfn.i.i.i.i.i.i2368, align 8 call void %1416(ptr noundef nonnull align 8 dereferenceable(128) %1415) #30 - br label %invoke.cont39.i.i2366 + br label %invoke.cont39.i.i2369 -lpad.i.i.i2355: ; preds = %invoke.cont.i.i.i2360, %.noexc126.i.i2352 +lpad.i.i.i2358: ; preds = %invoke.cont.i.i.i2363, %.noexc126.i.i2355 %1417 = landingpad { ptr, i32 } cleanup - %1418 = load ptr, ptr %ref.tmp.i.i.i2228, align 8, !noalias !1562 - %cmp.not.i.i2.i.i.i2356 = icmp eq ptr %1418, null - br i1 %cmp.not.i.i2.i.i.i2356, label %lpad38.body.i.i2350, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i2357 + %1418 = load ptr, ptr %ref.tmp.i.i.i2231, align 8, !noalias !1562 + %cmp.not.i.i2.i.i.i2359 = icmp eq ptr %1418, null + br i1 %cmp.not.i.i2.i.i.i2359, label %lpad38.body.i.i2353, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i2360 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i2357: ; preds = %lpad.i.i.i2355 - %vtable.i.i.i4.i.i.i2358 = load ptr, ptr %1418, align 8 - %vfn.i.i.i5.i.i.i2359 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i2358, i64 1 - %1419 = load ptr, ptr %vfn.i.i.i5.i.i.i2359, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i2360: ; preds = %lpad.i.i.i2358 + %vtable.i.i.i4.i.i.i2361 = load ptr, ptr %1418, align 8 + %vfn.i.i.i5.i.i.i2362 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i2361, i64 1 + %1419 = load ptr, ptr %vfn.i.i.i5.i.i.i2362, align 8 call void %1419(ptr noundef nonnull align 8 dereferenceable(128) %1418) #30 - br label %lpad38.body.i.i2350 + br label %lpad38.body.i.i2353 -invoke.cont39.i.i2366: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i2363, %invoke.cont2.i.i.i2361 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i2228), !noalias !1562 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i2232) - to label %invoke.cont41.i.i2367 unwind label %lpad38.i.i2349 +invoke.cont39.i.i2369: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i2366, %invoke.cont2.i.i.i2364 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i2231), !noalias !1562 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i2235) + to label %invoke.cont41.i.i2370 unwind label %lpad38.i.i2352 -invoke.cont41.i.i2367: ; preds = %invoke.cont39.i.i2366 - %message_.i.i.i2368 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i2232, i64 0, i32 1 - %1420 = load ptr, ptr %message_.i.i.i2368, align 8, !noalias !1562 - %cmp.not.i.i127.i.i2369 = icmp eq ptr %1420, null - br i1 %cmp.not.i.i127.i.i2369, label %_ZN7testing15AssertionResultD2Ev.exit.i.i2371, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i2370 +invoke.cont41.i.i2370: ; preds = %invoke.cont39.i.i2369 + %message_.i.i.i2371 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i2235, i64 0, i32 1 + %1420 = load ptr, ptr %message_.i.i.i2371, align 8, !noalias !1562 + %cmp.not.i.i127.i.i2372 = icmp eq ptr %1420, null + br i1 %cmp.not.i.i127.i.i2372, label %_ZN7testing15AssertionResultD2Ev.exit.i.i2374, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i2373 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i2370: ; preds = %invoke.cont41.i.i2367 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i2373: ; preds = %invoke.cont41.i.i2370 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1420) #30 call void @_ZdlPv(ptr noundef nonnull %1420) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit.i.i2371 + br label %_ZN7testing15AssertionResultD2Ev.exit.i.i2374 -_ZN7testing15AssertionResultD2Ev.exit.i.i2371: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i2370, %invoke.cont41.i.i2367 - store ptr null, ptr %message_.i.i.i2368, align 8, !noalias !1562 - %1421 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i2263, align 8, !noalias !1562 +_ZN7testing15AssertionResultD2Ev.exit.i.i2374: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i2373, %invoke.cont41.i.i2370 + store ptr null, ptr %message_.i.i.i2371, align 8, !noalias !1562 + %1421 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i2266, align 8, !noalias !1562 %1422 = and i8 %1421, 1 - %tobool.not.i.i.i.i128.i.i2372 = icmp eq i8 %1422, 0 - br i1 %tobool.not.i.i.i.i128.i.i2372, label %cleanup257.i.i2374, label %if.then.i.i.i.i129.i.i2373 + %tobool.not.i.i.i.i128.i.i2375 = icmp eq i8 %1422, 0 + br i1 %tobool.not.i.i.i.i128.i.i2375, label %cleanup257.i.i2377, label %if.then.i.i.i.i129.i.i2376 -if.then.i.i.i.i129.i.i2373: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i2371 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i2263, align 8, !noalias !1562 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2230) #30 - br label %cleanup257.i.i2374 +if.then.i.i.i.i129.i.i2376: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i2374 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i2266, align 8, !noalias !1562 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2233) #30 + br label %cleanup257.i.i2377 -lpad30.i.i2315: ; preds = %if.then.i.i.i.i.i.i.i.i3300, %if.then.i112.i.i2314 +lpad30.i.i2318: ; preds = %if.then.i.i.i.i.i.i.i.i3303, %if.then.i112.i.i2317 %1423 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i2231) #30 - br label %ehcleanup258.i.i2310 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i2234) #30 + br label %ehcleanup258.i.i2313 -lpad35.i.i2343: ; preds = %if.then33.i.i2342 +lpad35.i.i2346: ; preds = %if.then33.i.i2345 %1424 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i.i2344 + br label %ehcleanup.i.i2347 -lpad38.i.i2349: ; preds = %invoke.cont39.i.i2366, %invoke.cont36.i.i2348 +lpad38.i.i2352: ; preds = %invoke.cont39.i.i2369, %invoke.cont36.i.i2351 %1425 = landingpad { ptr, i32 } cleanup - br label %lpad38.body.i.i2350 + br label %lpad38.body.i.i2353 -lpad38.body.i.i2350: ; preds = %lpad38.i.i2349, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i2357, %lpad.i.i.i2355 - %eh.lpad-body.i.i2351 = phi { ptr, i32 } [ %1425, %lpad38.i.i2349 ], [ %1417, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i2357 ], [ %1417, %lpad.i.i.i2355 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i2232) #30 - br label %ehcleanup.i.i2344 +lpad38.body.i.i2353: ; preds = %lpad38.i.i2352, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i2360, %lpad.i.i.i2358 + %eh.lpad-body.i.i2354 = phi { ptr, i32 } [ %1425, %lpad38.i.i2352 ], [ %1417, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i2360 ], [ %1417, %lpad.i.i.i2358 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i2235) #30 + br label %ehcleanup.i.i2347 -ehcleanup.i.i2344: ; preds = %lpad38.body.i.i2350, %lpad35.i.i2343 - %.pn46.i.i2345 = phi { ptr, i32 } [ %eh.lpad-body.i.i2351, %lpad38.body.i.i2350 ], [ %1424, %lpad35.i.i2343 ] - %1426 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i2263, align 8, !noalias !1562 +ehcleanup.i.i2347: ; preds = %lpad38.body.i.i2353, %lpad35.i.i2346 + %.pn46.i.i2348 = phi { ptr, i32 } [ %eh.lpad-body.i.i2354, %lpad38.body.i.i2353 ], [ %1424, %lpad35.i.i2346 ] + %1426 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i2266, align 8, !noalias !1562 %1427 = and i8 %1426, 1 - %tobool.not.i.i.i.i136.i.i2346 = icmp eq i8 %1427, 0 - br i1 %tobool.not.i.i.i.i136.i.i2346, label %ehcleanup258.i.i2310, label %if.then.i.i.i.i137.i.i2347 - -if.then.i.i.i.i137.i.i2347: ; preds = %ehcleanup.i.i2344 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i2263, align 8, !noalias !1562 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2230) #30 - br label %ehcleanup258.i.i2310 - -for.end45.i.i2389: ; preds = %for.cond.i.i2386 - %classes.val62.pre.i.i2390 = load ptr, ptr %classes.i.i2229, align 8, !noalias !1562 - %classes.val63.pre.i.i2391 = load ptr, ptr %1381, align 8, !noalias !1562 - %sub.ptr.lhs.cast.i.i.i2392 = ptrtoint ptr %classes.val63.pre.i.i2391 to i64 - %sub.ptr.rhs.cast.i.i.i2393 = ptrtoint ptr %classes.val62.pre.i.i2390 to i64 - %sub.ptr.sub.i.i.i2394 = sub i64 %sub.ptr.lhs.cast.i.i.i2392, %sub.ptr.rhs.cast.i.i.i2393 - %sub.ptr.div.i.i.i2395 = sdiv exact i64 %sub.ptr.sub.i.i.i2394, 24 - %cmp47.i.i2396 = icmp ult i64 %sub.ptr.div.i.i.i2395, 2 - br i1 %cmp47.i.i2396, label %if.then48.i.i3253, label %for.cond64.preheader.i.i2397 - -for.cond64.preheader.i.i2397: ; preds = %for.end45.i.i2389 - %cmp.i160.not51.i.i2398 = icmp eq ptr %classes.val62.pre.i.i2390, %classes.val63.pre.i.i2391 - br i1 %cmp.i160.not51.i.i2398, label %for.end255.i.i3155, label %for.body66.lr.ph.i.i2399 - -for.body66.lr.ph.i.i2399: ; preds = %for.cond64.preheader.i.i2397 - %_M_refcount.i.i.i163.i.i2400 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i2236, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i176.i.i2401 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i2236, i64 0, i32 1 - %_M_refcount.i.i.i207.i.i2402 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i2235, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i220.i.i2403 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i2235, i64 0, i32 1 - %_M_refcount.i.i.i311.i.i2404 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i2239, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i324.i.i2405 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i2239, i64 0, i32 1 - %_M_refcount.i.i.i735.i.i2406 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i2243, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i748.i.i2407 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i2243, i64 0, i32 1 - %_M_refcount.i.i.i824.i.i2408 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i2234, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i837.i.i2409 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i2234, i64 0, i32 1 - br label %for.body66.i.i2410 - -if.then48.i.i3253: ; preds = %for.end45.i.i2389 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i2233) - to label %invoke.cont50.i.i3254 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i3156 - -invoke.cont50.i.i3254: ; preds = %if.then48.i.i3253 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i2227), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i2227) - to label %.noexc154.i.i3258 unwind label %lpad51.i.i3255 - -.noexc154.i.i3258: ; preds = %invoke.cont50.i.i3254 - %1428 = load ptr, ptr %ref.tmp.i139.i.i2227, align 8, !noalias !1562 - %add.ptr.i.i140.i.i3259 = getelementptr inbounds i8, ptr %1428, i64 16 - %call2.i1.i141.i.i3260 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i3259, ptr noundef nonnull @.str.106) - to label %invoke.cont.i148.i.i3266 unwind label %lpad.i142.i.i3261 - -invoke.cont.i148.i.i3266: ; preds = %.noexc154.i.i3258 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i2233, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i2227) - to label %invoke.cont2.i149.i.i3267 unwind label %lpad.i142.i.i3261 - -invoke.cont2.i149.i.i3267: ; preds = %invoke.cont.i148.i.i3266 - %1429 = load ptr, ptr %ref.tmp.i139.i.i2227, align 8, !noalias !1562 - %cmp.not.i.i.i150.i.i3268 = icmp eq ptr %1429, null - br i1 %cmp.not.i.i.i150.i.i3268, label %invoke.cont52.i.i3272, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i3269 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i3269: ; preds = %invoke.cont2.i149.i.i3267 - %vtable.i.i.i.i152.i.i3270 = load ptr, ptr %1429, align 8 - %vfn.i.i.i.i153.i.i3271 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i3270, i64 1 - %1430 = load ptr, ptr %vfn.i.i.i.i153.i.i3271, align 8 + %tobool.not.i.i.i.i136.i.i2349 = icmp eq i8 %1427, 0 + br i1 %tobool.not.i.i.i.i136.i.i2349, label %ehcleanup258.i.i2313, label %if.then.i.i.i.i137.i.i2350 + +if.then.i.i.i.i137.i.i2350: ; preds = %ehcleanup.i.i2347 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i2266, align 8, !noalias !1562 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i2233) #30 + br label %ehcleanup258.i.i2313 + +for.end45.i.i2392: ; preds = %for.cond.i.i2389 + %classes.val62.pre.i.i2393 = load ptr, ptr %classes.i.i2232, align 8, !noalias !1562 + %classes.val63.pre.i.i2394 = load ptr, ptr %1381, align 8, !noalias !1562 + %sub.ptr.lhs.cast.i.i.i2395 = ptrtoint ptr %classes.val63.pre.i.i2394 to i64 + %sub.ptr.rhs.cast.i.i.i2396 = ptrtoint ptr %classes.val62.pre.i.i2393 to i64 + %sub.ptr.sub.i.i.i2397 = sub i64 %sub.ptr.lhs.cast.i.i.i2395, %sub.ptr.rhs.cast.i.i.i2396 + %sub.ptr.div.i.i.i2398 = sdiv exact i64 %sub.ptr.sub.i.i.i2397, 24 + %cmp47.i.i2399 = icmp ult i64 %sub.ptr.div.i.i.i2398, 2 + br i1 %cmp47.i.i2399, label %if.then48.i.i3256, label %for.cond64.preheader.i.i2400 + +for.cond64.preheader.i.i2400: ; preds = %for.end45.i.i2392 + %cmp.i160.not51.i.i2401 = icmp eq ptr %classes.val62.pre.i.i2393, %classes.val63.pre.i.i2394 + br i1 %cmp.i160.not51.i.i2401, label %for.end255.i.i3158, label %for.body66.lr.ph.i.i2402 + +for.body66.lr.ph.i.i2402: ; preds = %for.cond64.preheader.i.i2400 + %_M_refcount.i.i.i163.i.i2403 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i2239, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i176.i.i2404 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i2239, i64 0, i32 1 + %_M_refcount.i.i.i207.i.i2405 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i2238, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i220.i.i2406 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i2238, i64 0, i32 1 + %_M_refcount.i.i.i311.i.i2407 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i2242, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i324.i.i2408 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i2242, i64 0, i32 1 + %_M_refcount.i.i.i735.i.i2409 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i2246, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i748.i.i2410 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i2246, i64 0, i32 1 + %_M_refcount.i.i.i824.i.i2411 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i2237, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i837.i.i2412 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i2237, i64 0, i32 1 + br label %for.body66.i.i2413 + +if.then48.i.i3256: ; preds = %for.end45.i.i2392 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i2236) + to label %invoke.cont50.i.i3257 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i3159 + +invoke.cont50.i.i3257: ; preds = %if.then48.i.i3256 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i2230), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i2230) + to label %.noexc154.i.i3261 unwind label %lpad51.i.i3258 + +.noexc154.i.i3261: ; preds = %invoke.cont50.i.i3257 + %1428 = load ptr, ptr %ref.tmp.i139.i.i2230, align 8, !noalias !1562 + %add.ptr.i.i140.i.i3262 = getelementptr inbounds i8, ptr %1428, i64 16 + %call2.i1.i141.i.i3263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i3262, ptr noundef nonnull @.str.106) + to label %invoke.cont.i148.i.i3269 unwind label %lpad.i142.i.i3264 + +invoke.cont.i148.i.i3269: ; preds = %.noexc154.i.i3261 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i2236, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i2230) + to label %invoke.cont2.i149.i.i3270 unwind label %lpad.i142.i.i3264 + +invoke.cont2.i149.i.i3270: ; preds = %invoke.cont.i148.i.i3269 + %1429 = load ptr, ptr %ref.tmp.i139.i.i2230, align 8, !noalias !1562 + %cmp.not.i.i.i150.i.i3271 = icmp eq ptr %1429, null + br i1 %cmp.not.i.i.i150.i.i3271, label %invoke.cont52.i.i3275, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i3272 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i3272: ; preds = %invoke.cont2.i149.i.i3270 + %vtable.i.i.i.i152.i.i3273 = load ptr, ptr %1429, align 8 + %vfn.i.i.i.i153.i.i3274 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i3273, i64 1 + %1430 = load ptr, ptr %vfn.i.i.i.i153.i.i3274, align 8 call void %1430(ptr noundef nonnull align 8 dereferenceable(128) %1429) #30 - br label %invoke.cont52.i.i3272 + br label %invoke.cont52.i.i3275 -lpad.i142.i.i3261: ; preds = %invoke.cont.i148.i.i3266, %.noexc154.i.i3258 +lpad.i142.i.i3264: ; preds = %invoke.cont.i148.i.i3269, %.noexc154.i.i3261 %1431 = landingpad { ptr, i32 } cleanup - %1432 = load ptr, ptr %ref.tmp.i139.i.i2227, align 8, !noalias !1562 - %cmp.not.i.i2.i143.i.i3262 = icmp eq ptr %1432, null - br i1 %cmp.not.i.i2.i143.i.i3262, label %lpad51.body.i.i3256, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i3263 + %1432 = load ptr, ptr %ref.tmp.i139.i.i2230, align 8, !noalias !1562 + %cmp.not.i.i2.i143.i.i3265 = icmp eq ptr %1432, null + br i1 %cmp.not.i.i2.i143.i.i3265, label %lpad51.body.i.i3259, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i3266 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i3263: ; preds = %lpad.i142.i.i3261 - %vtable.i.i.i4.i145.i.i3264 = load ptr, ptr %1432, align 8 - %vfn.i.i.i5.i146.i.i3265 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i3264, i64 1 - %1433 = load ptr, ptr %vfn.i.i.i5.i146.i.i3265, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i3266: ; preds = %lpad.i142.i.i3264 + %vtable.i.i.i4.i145.i.i3267 = load ptr, ptr %1432, align 8 + %vfn.i.i.i5.i146.i.i3268 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i3267, i64 1 + %1433 = load ptr, ptr %vfn.i.i.i5.i146.i.i3268, align 8 call void %1433(ptr noundef nonnull align 8 dereferenceable(128) %1432) #30 - br label %lpad51.body.i.i3256 + br label %lpad51.body.i.i3259 -invoke.cont52.i.i3272: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i3269, %invoke.cont2.i149.i.i3267 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i2227), !noalias !1562 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i2233) - to label %invoke.cont54.i.i3273 unwind label %lpad51.i.i3255 +invoke.cont52.i.i3275: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i3272, %invoke.cont2.i149.i.i3270 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i2230), !noalias !1562 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i2236) + to label %invoke.cont54.i.i3276 unwind label %lpad51.i.i3258 -invoke.cont54.i.i3273: ; preds = %invoke.cont52.i.i3272 - %message_.i156.i.i3274 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i2233, i64 0, i32 1 - %1434 = load ptr, ptr %message_.i156.i.i3274, align 8, !noalias !1562 - %cmp.not.i.i157.i.i3275 = icmp eq ptr %1434, null - br i1 %cmp.not.i.i157.i.i3275, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i3277, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i3276 +invoke.cont54.i.i3276: ; preds = %invoke.cont52.i.i3275 + %message_.i156.i.i3277 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i2236, i64 0, i32 1 + %1434 = load ptr, ptr %message_.i156.i.i3277, align 8, !noalias !1562 + %cmp.not.i.i157.i.i3278 = icmp eq ptr %1434, null + br i1 %cmp.not.i.i157.i.i3278, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i3280, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i3279 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i3276: ; preds = %invoke.cont54.i.i3273 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i3279: ; preds = %invoke.cont54.i.i3276 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1434) #30 call void @_ZdlPv(ptr noundef nonnull %1434) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i3277 + br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i3280 -_ZN7testing15AssertionResultD2Ev.exit159.i.i3277: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i3276, %invoke.cont54.i.i3273 - store ptr null, ptr %message_.i156.i.i3274, align 8, !noalias !1562 - br label %cleanup257.i.i2374 +_ZN7testing15AssertionResultD2Ev.exit159.i.i3280: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i3279, %invoke.cont54.i.i3276 + store ptr null, ptr %message_.i156.i.i3277, align 8, !noalias !1562 + br label %cleanup257.i.i2377 -lpad51.i.i3255: ; preds = %invoke.cont52.i.i3272, %invoke.cont50.i.i3254 +lpad51.i.i3258: ; preds = %invoke.cont52.i.i3275, %invoke.cont50.i.i3257 %1435 = landingpad { ptr, i32 } cleanup - br label %lpad51.body.i.i3256 - -lpad51.body.i.i3256: ; preds = %lpad51.i.i3255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i3263, %lpad.i142.i.i3261 - %eh.lpad-body155.i.i3257 = phi { ptr, i32 } [ %1435, %lpad51.i.i3255 ], [ %1431, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i3263 ], [ %1431, %lpad.i142.i.i3261 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i2233) #30 - br label %ehcleanup258.i.i2310 - -for.body66.i.i2410: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3152, %for.body66.lr.ph.i.i2399 - %__begin058.sroa.0.052.i.i2411 = phi ptr [ %classes.val62.pre.i.i2390, %for.body66.lr.ph.i.i2399 ], [ %incdec.ptr.i868.i.i3153, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3152 ] - %call68.val.i.i2412 = load ptr, ptr %__begin058.sroa.0.052.i.i2411, align 8 - %call69.val.i.i2413 = load ptr, ptr %call68.val.i.i2412, align 8 - %call69.val.val.i.i2414 = load ptr, ptr %call69.val.i.i2413, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i2234, ptr %call69.val.val.i.i2414) - to label %invoke.cont70.i.i2418 unwind label %lpad.loopexit11.i.i2416 - -invoke.cont70.i.i2418: ; preds = %for.body66.i.i2410 - %call68.val80.i.i2419 = load ptr, ptr %__begin058.sroa.0.052.i.i2411, align 8 - %1436 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i2411, i64 8 - %call68.val81.i.i2420 = load ptr, ptr %1436, align 8 - %cmp.i161.not47.i.i2421 = icmp eq ptr %call68.val80.i.i2419, %call68.val81.i.i2420 - br i1 %cmp.i161.not47.i.i2421, label %for.end144.i.i2731, label %for.body80.i.i2422 - -for.body80.i.i2422: ; preds = %invoke.cont70.i.i2418, %for.inc142.i.i2728 - %__begin072.sroa.0.048.i.i2423 = phi ptr [ %incdec.ptr.i448.i.i2729, %for.inc142.i.i2728 ], [ %call68.val80.i.i2419, %invoke.cont70.i.i2418 ] - %call81.val.i.i2424 = load ptr, ptr %__begin072.sroa.0.048.i.i2423, align 8 - %call81.val.val.i.i2425 = load ptr, ptr %call81.val.i.i2424, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i2235, ptr %call81.val.val.i.i2425) - to label %invoke.cont84.i.i2431 unwind label %lpad83.loopexit.split-lp.loopexit.i.i2427 - -invoke.cont84.i.i2431: ; preds = %for.body80.i.i2422 - %call81.val65.i.i2432 = load ptr, ptr %__begin072.sroa.0.048.i.i2423, align 8 - %call81.val65.val.i.i2433 = load ptr, ptr %call81.val65.i.i2432, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i2236, ptr %call81.val65.val.i.i2433) - to label %invoke.cont87.i.i2438 unwind label %lpad86.i.i2435 - -invoke.cont87.i.i2438: ; preds = %invoke.cont84.i.i2431 - %call.i.i162.i.i2439 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i2235, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i2236) - to label %invoke.cont89.i.i2441 unwind label %lpad88.i.i2440 - -invoke.cont89.i.i2441: ; preds = %invoke.cont87.i.i2438 - %1437 = load ptr, ptr %_M_refcount.i.i.i163.i.i2400, align 8, !noalias !1562 - %cmp.not.i.i.i.i164.i.i2442 = icmp eq ptr %1437, null - br i1 %cmp.not.i.i.i.i164.i.i2442, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453, label %if.then.i.i.i.i165.i.i2443 - -if.then.i.i.i.i165.i.i2443: ; preds = %invoke.cont89.i.i2441 - %_M_use_count.i.i.i.i.i166.i.i2444 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1437, i64 0, i32 1 - %1438 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i2444 acquire, align 8 - %cmp.i.i.i.i.i167.i.i2445 = icmp eq i64 %1438, 4294967297 + br label %lpad51.body.i.i3259 + +lpad51.body.i.i3259: ; preds = %lpad51.i.i3258, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i3266, %lpad.i142.i.i3264 + %eh.lpad-body155.i.i3260 = phi { ptr, i32 } [ %1435, %lpad51.i.i3258 ], [ %1431, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i3266 ], [ %1431, %lpad.i142.i.i3264 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i2236) #30 + br label %ehcleanup258.i.i2313 + +for.body66.i.i2413: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3155, %for.body66.lr.ph.i.i2402 + %__begin058.sroa.0.052.i.i2414 = phi ptr [ %classes.val62.pre.i.i2393, %for.body66.lr.ph.i.i2402 ], [ %incdec.ptr.i868.i.i3156, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3155 ] + %call68.val.i.i2415 = load ptr, ptr %__begin058.sroa.0.052.i.i2414, align 8 + %call69.val.i.i2416 = load ptr, ptr %call68.val.i.i2415, align 8 + %call69.val.val.i.i2417 = load ptr, ptr %call69.val.i.i2416, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i2237, ptr %call69.val.val.i.i2417) + to label %invoke.cont70.i.i2421 unwind label %lpad.loopexit11.i.i2419 + +invoke.cont70.i.i2421: ; preds = %for.body66.i.i2413 + %call68.val80.i.i2422 = load ptr, ptr %__begin058.sroa.0.052.i.i2414, align 8 + %1436 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i2414, i64 8 + %call68.val81.i.i2423 = load ptr, ptr %1436, align 8 + %cmp.i161.not47.i.i2424 = icmp eq ptr %call68.val80.i.i2422, %call68.val81.i.i2423 + br i1 %cmp.i161.not47.i.i2424, label %for.end144.i.i2734, label %for.body80.i.i2425 + +for.body80.i.i2425: ; preds = %invoke.cont70.i.i2421, %for.inc142.i.i2731 + %__begin072.sroa.0.048.i.i2426 = phi ptr [ %incdec.ptr.i448.i.i2732, %for.inc142.i.i2731 ], [ %call68.val80.i.i2422, %invoke.cont70.i.i2421 ] + %call81.val.i.i2427 = load ptr, ptr %__begin072.sroa.0.048.i.i2426, align 8 + %call81.val.val.i.i2428 = load ptr, ptr %call81.val.i.i2427, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i2238, ptr %call81.val.val.i.i2428) + to label %invoke.cont84.i.i2434 unwind label %lpad83.loopexit.split-lp.loopexit.i.i2430 + +invoke.cont84.i.i2434: ; preds = %for.body80.i.i2425 + %call81.val65.i.i2435 = load ptr, ptr %__begin072.sroa.0.048.i.i2426, align 8 + %call81.val65.val.i.i2436 = load ptr, ptr %call81.val65.i.i2435, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i2239, ptr %call81.val65.val.i.i2436) + to label %invoke.cont87.i.i2441 unwind label %lpad86.i.i2438 + +invoke.cont87.i.i2441: ; preds = %invoke.cont84.i.i2434 + %call.i.i162.i.i2442 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i2238, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i2239) + to label %invoke.cont89.i.i2444 unwind label %lpad88.i.i2443 + +invoke.cont89.i.i2444: ; preds = %invoke.cont87.i.i2441 + %1437 = load ptr, ptr %_M_refcount.i.i.i163.i.i2403, align 8, !noalias !1562 + %cmp.not.i.i.i.i164.i.i2445 = icmp eq ptr %1437, null + br i1 %cmp.not.i.i.i.i164.i.i2445, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456, label %if.then.i.i.i.i165.i.i2446 + +if.then.i.i.i.i165.i.i2446: ; preds = %invoke.cont89.i.i2444 + %_M_use_count.i.i.i.i.i166.i.i2447 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1437, i64 0, i32 1 + %1438 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i2447 acquire, align 8 + %cmp.i.i.i.i.i167.i.i2448 = icmp eq i64 %1438, 4294967297 %1439 = trunc i64 %1438 to i32 - br i1 %cmp.i.i.i.i.i167.i.i2445, label %if.then.i.i.i.i.i202.i.i3249, label %if.end.i.i.i.i.i168.i.i2446 - -if.then.i.i.i.i.i202.i.i3249: ; preds = %if.then.i.i.i.i165.i.i2443 - store i32 0, ptr %_M_use_count.i.i.i.i.i166.i.i2444, align 8 - %_M_weak_count.i.i.i.i.i203.i.i3250 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1437, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i203.i.i3250, align 4 - %vtable.i.i.i.i.i204.i.i3251 = load ptr, ptr %1437, align 8 - %vfn.i.i.i.i.i205.i.i3252 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i204.i.i3251, i64 2 - %1440 = load ptr, ptr %vfn.i.i.i.i.i205.i.i3252, align 8 + br i1 %cmp.i.i.i.i.i167.i.i2448, label %if.then.i.i.i.i.i202.i.i3252, label %if.end.i.i.i.i.i168.i.i2449 + +if.then.i.i.i.i.i202.i.i3252: ; preds = %if.then.i.i.i.i165.i.i2446 + store i32 0, ptr %_M_use_count.i.i.i.i.i166.i.i2447, align 8 + %_M_weak_count.i.i.i.i.i203.i.i3253 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1437, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i203.i.i3253, align 4 + %vtable.i.i.i.i.i204.i.i3254 = load ptr, ptr %1437, align 8 + %vfn.i.i.i.i.i205.i.i3255 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i204.i.i3254, i64 2 + %1440 = load ptr, ptr %vfn.i.i.i.i.i205.i.i3255, align 8 call void %1440(ptr noundef nonnull align 8 dereferenceable(16) %1437) #30 - br label %if.end8.sink.split.i.i.i.i.i197.i.i3244 + br label %if.end8.sink.split.i.i.i.i.i197.i.i3247 -if.end.i.i.i.i.i168.i.i2446: ; preds = %if.then.i.i.i.i165.i.i2443 +if.end.i.i.i.i.i168.i.i2449: ; preds = %if.then.i.i.i.i165.i.i2446 %1441 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i169.i.i2447 = icmp eq i8 %1441, 0 - br i1 %tobool.i.i.not.i.i.i.i.i169.i.i2447, label %if.else.i.i.i.i.i.i201.i.i3248, label %if.then.i.i.i.i.i.i170.i.i2448 - -if.then.i.i.i.i.i.i170.i.i2448: ; preds = %if.end.i.i.i.i.i168.i.i2446 - %add.i.i.i.i.i.i171.i.i2449 = add nsw i32 %1439, -1 - store i32 %add.i.i.i.i.i.i171.i.i2449, ptr %_M_use_count.i.i.i.i.i166.i.i2444, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2450 - -if.else.i.i.i.i.i.i201.i.i3248: ; preds = %if.end.i.i.i.i.i168.i.i2446 - %1442 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i166.i.i2444, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2450 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2450: ; preds = %if.else.i.i.i.i.i.i201.i.i3248, %if.then.i.i.i.i.i.i170.i.i2448 - %retval.i.0.i.i.i.i.i173.i.i2451 = phi i32 [ %1439, %if.then.i.i.i.i.i.i170.i.i2448 ], [ %1442, %if.else.i.i.i.i.i.i201.i.i3248 ] - %cmp6.i.i.i.i.i174.i.i2452 = icmp eq i32 %retval.i.0.i.i.i.i.i173.i.i2451, 1 - br i1 %cmp6.i.i.i.i.i174.i.i2452, label %if.then7.i.i.i.i.i187.i.i3234, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453 - -if.then7.i.i.i.i.i187.i.i3234: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2450 - %vtable.i.i.i.i.i.i.i188.i.i3235 = load ptr, ptr %1437, align 8 - %vfn.i.i.i.i.i.i.i189.i.i3236 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i188.i.i3235, i64 2 - %1443 = load ptr, ptr %vfn.i.i.i.i.i.i.i189.i.i3236, align 8 + %tobool.i.i.not.i.i.i.i.i169.i.i2450 = icmp eq i8 %1441, 0 + br i1 %tobool.i.i.not.i.i.i.i.i169.i.i2450, label %if.else.i.i.i.i.i.i201.i.i3251, label %if.then.i.i.i.i.i.i170.i.i2451 + +if.then.i.i.i.i.i.i170.i.i2451: ; preds = %if.end.i.i.i.i.i168.i.i2449 + %add.i.i.i.i.i.i171.i.i2452 = add nsw i32 %1439, -1 + store i32 %add.i.i.i.i.i.i171.i.i2452, ptr %_M_use_count.i.i.i.i.i166.i.i2447, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2453 + +if.else.i.i.i.i.i.i201.i.i3251: ; preds = %if.end.i.i.i.i.i168.i.i2449 + %1442 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i166.i.i2447, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2453 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2453: ; preds = %if.else.i.i.i.i.i.i201.i.i3251, %if.then.i.i.i.i.i.i170.i.i2451 + %retval.i.0.i.i.i.i.i173.i.i2454 = phi i32 [ %1439, %if.then.i.i.i.i.i.i170.i.i2451 ], [ %1442, %if.else.i.i.i.i.i.i201.i.i3251 ] + %cmp6.i.i.i.i.i174.i.i2455 = icmp eq i32 %retval.i.0.i.i.i.i.i173.i.i2454, 1 + br i1 %cmp6.i.i.i.i.i174.i.i2455, label %if.then7.i.i.i.i.i187.i.i3237, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456 + +if.then7.i.i.i.i.i187.i.i3237: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2453 + %vtable.i.i.i.i.i.i.i188.i.i3238 = load ptr, ptr %1437, align 8 + %vfn.i.i.i.i.i.i.i189.i.i3239 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i188.i.i3238, i64 2 + %1443 = load ptr, ptr %vfn.i.i.i.i.i.i.i189.i.i3239, align 8 call void %1443(ptr noundef nonnull align 8 dereferenceable(16) %1437) #30 - %_M_weak_count.i.i.i.i.i.i.i190.i.i3237 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1437, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i190.i.i3240 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1437, i64 0, i32 2 %1444 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i191.i.i3238 = icmp eq i8 %1444, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i191.i.i3238, label %if.else.i.i.i.i.i.i.i.i200.i.i3247, label %if.then.i.i.i.i.i.i.i.i192.i.i3239 - -if.then.i.i.i.i.i.i.i.i192.i.i3239: ; preds = %if.then7.i.i.i.i.i187.i.i3234 - %1445 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i3237, align 4 - %add.i.i.i.i.i.i.i.i193.i.i3240 = add nsw i32 %1445, -1 - store i32 %add.i.i.i.i.i.i.i.i193.i.i3240, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i3237, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3241 - -if.else.i.i.i.i.i.i.i.i200.i.i3247: ; preds = %if.then7.i.i.i.i.i187.i.i3234 - %1446 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i3237, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3241 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3241: ; preds = %if.else.i.i.i.i.i.i.i.i200.i.i3247, %if.then.i.i.i.i.i.i.i.i192.i.i3239 - %retval.i.0.i.i.i.i.i.i.i195.i.i3242 = phi i32 [ %1445, %if.then.i.i.i.i.i.i.i.i192.i.i3239 ], [ %1446, %if.else.i.i.i.i.i.i.i.i200.i.i3247 ] - %cmp.i.i.i.i.i.i.i196.i.i3243 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i195.i.i3242, 1 - br i1 %cmp.i.i.i.i.i.i.i196.i.i3243, label %if.end8.sink.split.i.i.i.i.i197.i.i3244, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453 - -if.end8.sink.split.i.i.i.i.i197.i.i3244: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3241, %if.then.i.i.i.i.i202.i.i3249 - %vtable2.i.i.i.i.i.i.i198.i.i3245 = load ptr, ptr %1437, align 8 - %vfn3.i.i.i.i.i.i.i199.i.i3246 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i198.i.i3245, i64 3 - %1447 = load ptr, ptr %vfn3.i.i.i.i.i.i.i199.i.i3246, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i191.i.i3241 = icmp eq i8 %1444, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i191.i.i3241, label %if.else.i.i.i.i.i.i.i.i200.i.i3250, label %if.then.i.i.i.i.i.i.i.i192.i.i3242 + +if.then.i.i.i.i.i.i.i.i192.i.i3242: ; preds = %if.then7.i.i.i.i.i187.i.i3237 + %1445 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i3240, align 4 + %add.i.i.i.i.i.i.i.i193.i.i3243 = add nsw i32 %1445, -1 + store i32 %add.i.i.i.i.i.i.i.i193.i.i3243, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i3240, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3244 + +if.else.i.i.i.i.i.i.i.i200.i.i3250: ; preds = %if.then7.i.i.i.i.i187.i.i3237 + %1446 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i3240, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3244 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3244: ; preds = %if.else.i.i.i.i.i.i.i.i200.i.i3250, %if.then.i.i.i.i.i.i.i.i192.i.i3242 + %retval.i.0.i.i.i.i.i.i.i195.i.i3245 = phi i32 [ %1445, %if.then.i.i.i.i.i.i.i.i192.i.i3242 ], [ %1446, %if.else.i.i.i.i.i.i.i.i200.i.i3250 ] + %cmp.i.i.i.i.i.i.i196.i.i3246 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i195.i.i3245, 1 + br i1 %cmp.i.i.i.i.i.i.i196.i.i3246, label %if.end8.sink.split.i.i.i.i.i197.i.i3247, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456 + +if.end8.sink.split.i.i.i.i.i197.i.i3247: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3244, %if.then.i.i.i.i.i202.i.i3252 + %vtable2.i.i.i.i.i.i.i198.i.i3248 = load ptr, ptr %1437, align 8 + %vfn3.i.i.i.i.i.i.i199.i.i3249 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i198.i.i3248, i64 3 + %1447 = load ptr, ptr %vfn3.i.i.i.i.i.i.i199.i.i3249, align 8 call void %1447(ptr noundef nonnull align 8 dereferenceable(16) %1437) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i3244, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3241, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2450, %invoke.cont89.i.i2441 - %1448 = load ptr, ptr %ref.tmp85.i.i2236, align 8, !noalias !1562 - %1449 = load ptr, ptr %_M_finish.i.i176.i.i2401, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i177.i.i2454 = icmp eq ptr %1448, %1449 - br i1 %cmp.not3.i.i.i.i.i177.i.i2454, label %invoke.cont.i.i184.i.i2461, label %for.body.i.i.i.i.i178.i.i2455 - -for.body.i.i.i.i.i178.i.i2455: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453, %for.body.i.i.i.i.i178.i.i2455 - %__first.addr.04.i.i.i.i.i179.i.i2456 = phi ptr [ %incdec.ptr.i.i.i.i.i180.i.i2457, %for.body.i.i.i.i.i178.i.i2455 ], [ %1448, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i179.i.i2456) #30 - %incdec.ptr.i.i.i.i.i180.i.i2457 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i179.i.i2456, i64 1 - %cmp.not.i.i.i.i.i181.i.i2458 = icmp eq ptr %incdec.ptr.i.i.i.i.i180.i.i2457, %1449 - br i1 %cmp.not.i.i.i.i.i181.i.i2458, label %invoke.contthread-pre-split.i.i182.i.i2459, label %for.body.i.i.i.i.i178.i.i2455, !llvm.loop !8 - -invoke.contthread-pre-split.i.i182.i.i2459: ; preds = %for.body.i.i.i.i.i178.i.i2455 - %.pr.i.i183.i.i2460 = load ptr, ptr %ref.tmp85.i.i2236, align 8, !noalias !1562 - br label %invoke.cont.i.i184.i.i2461 - -invoke.cont.i.i184.i.i2461: ; preds = %invoke.contthread-pre-split.i.i182.i.i2459, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453 - %1450 = phi ptr [ %.pr.i.i183.i.i2460, %invoke.contthread-pre-split.i.i182.i.i2459 ], [ %1448, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2453 ] - %tobool.not.i.i.i.i185.i.i2462 = icmp eq ptr %1450, null - br i1 %tobool.not.i.i.i.i185.i.i2462, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2464, label %if.then.i.i.i1.i186.i.i2463 - -if.then.i.i.i1.i186.i.i2463: ; preds = %invoke.cont.i.i184.i.i2461 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i3247, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i3244, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i2453, %invoke.cont89.i.i2444 + %1448 = load ptr, ptr %ref.tmp85.i.i2239, align 8, !noalias !1562 + %1449 = load ptr, ptr %_M_finish.i.i176.i.i2404, align 8, !noalias !1562 + %cmp.not3.i.i.i.i.i177.i.i2457 = icmp eq ptr %1448, %1449 + br i1 %cmp.not3.i.i.i.i.i177.i.i2457, label %invoke.cont.i.i184.i.i2464, label %for.body.i.i.i.i.i178.i.i2458 + +for.body.i.i.i.i.i178.i.i2458: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456, %for.body.i.i.i.i.i178.i.i2458 + %__first.addr.04.i.i.i.i.i179.i.i2459 = phi ptr [ %incdec.ptr.i.i.i.i.i180.i.i2460, %for.body.i.i.i.i.i178.i.i2458 ], [ %1448, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i179.i.i2459) #30 + %incdec.ptr.i.i.i.i.i180.i.i2460 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i179.i.i2459, i64 1 + %cmp.not.i.i.i.i.i181.i.i2461 = icmp eq ptr %incdec.ptr.i.i.i.i.i180.i.i2460, %1449 + br i1 %cmp.not.i.i.i.i.i181.i.i2461, label %invoke.contthread-pre-split.i.i182.i.i2462, label %for.body.i.i.i.i.i178.i.i2458, !llvm.loop !8 + +invoke.contthread-pre-split.i.i182.i.i2462: ; preds = %for.body.i.i.i.i.i178.i.i2458 + %.pr.i.i183.i.i2463 = load ptr, ptr %ref.tmp85.i.i2239, align 8, !noalias !1562 + br label %invoke.cont.i.i184.i.i2464 + +invoke.cont.i.i184.i.i2464: ; preds = %invoke.contthread-pre-split.i.i182.i.i2462, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456 + %1450 = phi ptr [ %.pr.i.i183.i.i2463, %invoke.contthread-pre-split.i.i182.i.i2462 ], [ %1448, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i2456 ] + %tobool.not.i.i.i.i185.i.i2465 = icmp eq ptr %1450, null + br i1 %tobool.not.i.i.i.i185.i.i2465, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2467, label %if.then.i.i.i1.i186.i.i2466 + +if.then.i.i.i1.i186.i.i2466: ; preds = %invoke.cont.i.i184.i.i2464 call void @_ZdlPv(ptr noundef nonnull %1450) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2464 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2467 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2464: ; preds = %if.then.i.i.i1.i186.i.i2463, %invoke.cont.i.i184.i.i2461 - %1451 = load ptr, ptr %_M_refcount.i.i.i207.i.i2402, align 8, !noalias !1562 - %cmp.not.i.i.i.i208.i.i2465 = icmp eq ptr %1451, null - br i1 %cmp.not.i.i.i.i208.i.i2465, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476, label %if.then.i.i.i.i209.i.i2466 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2467: ; preds = %if.then.i.i.i1.i186.i.i2466, %invoke.cont.i.i184.i.i2464 + %1451 = load ptr, ptr %_M_refcount.i.i.i207.i.i2405, align 8, !noalias !1562 + %cmp.not.i.i.i.i208.i.i2468 = icmp eq ptr %1451, null + br i1 %cmp.not.i.i.i.i208.i.i2468, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479, label %if.then.i.i.i.i209.i.i2469 -if.then.i.i.i.i209.i.i2466: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2464 - %_M_use_count.i.i.i.i.i210.i.i2467 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1451, i64 0, i32 1 - %1452 = load atomic i64, ptr %_M_use_count.i.i.i.i.i210.i.i2467 acquire, align 8 - %cmp.i.i.i.i.i211.i.i2468 = icmp eq i64 %1452, 4294967297 +if.then.i.i.i.i209.i.i2469: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2467 + %_M_use_count.i.i.i.i.i210.i.i2470 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1451, i64 0, i32 1 + %1452 = load atomic i64, ptr %_M_use_count.i.i.i.i.i210.i.i2470 acquire, align 8 + %cmp.i.i.i.i.i211.i.i2471 = icmp eq i64 %1452, 4294967297 %1453 = trunc i64 %1452 to i32 - br i1 %cmp.i.i.i.i.i211.i.i2468, label %if.then.i.i.i.i.i246.i.i3230, label %if.end.i.i.i.i.i212.i.i2469 - -if.then.i.i.i.i.i246.i.i3230: ; preds = %if.then.i.i.i.i209.i.i2466 - store i32 0, ptr %_M_use_count.i.i.i.i.i210.i.i2467, align 8 - %_M_weak_count.i.i.i.i.i247.i.i3231 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1451, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i247.i.i3231, align 4 - %vtable.i.i.i.i.i248.i.i3232 = load ptr, ptr %1451, align 8 - %vfn.i.i.i.i.i249.i.i3233 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i248.i.i3232, i64 2 - %1454 = load ptr, ptr %vfn.i.i.i.i.i249.i.i3233, align 8 + br i1 %cmp.i.i.i.i.i211.i.i2471, label %if.then.i.i.i.i.i246.i.i3233, label %if.end.i.i.i.i.i212.i.i2472 + +if.then.i.i.i.i.i246.i.i3233: ; preds = %if.then.i.i.i.i209.i.i2469 + store i32 0, ptr %_M_use_count.i.i.i.i.i210.i.i2470, align 8 + %_M_weak_count.i.i.i.i.i247.i.i3234 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1451, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i247.i.i3234, align 4 + %vtable.i.i.i.i.i248.i.i3235 = load ptr, ptr %1451, align 8 + %vfn.i.i.i.i.i249.i.i3236 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i248.i.i3235, i64 2 + %1454 = load ptr, ptr %vfn.i.i.i.i.i249.i.i3236, align 8 call void %1454(ptr noundef nonnull align 8 dereferenceable(16) %1451) #30 - br label %if.end8.sink.split.i.i.i.i.i241.i.i3225 + br label %if.end8.sink.split.i.i.i.i.i241.i.i3228 -if.end.i.i.i.i.i212.i.i2469: ; preds = %if.then.i.i.i.i209.i.i2466 +if.end.i.i.i.i.i212.i.i2472: ; preds = %if.then.i.i.i.i209.i.i2469 %1455 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i213.i.i2470 = icmp eq i8 %1455, 0 - br i1 %tobool.i.i.not.i.i.i.i.i213.i.i2470, label %if.else.i.i.i.i.i.i245.i.i3229, label %if.then.i.i.i.i.i.i214.i.i2471 - -if.then.i.i.i.i.i.i214.i.i2471: ; preds = %if.end.i.i.i.i.i212.i.i2469 - %add.i.i.i.i.i.i215.i.i2472 = add nsw i32 %1453, -1 - store i32 %add.i.i.i.i.i.i215.i.i2472, ptr %_M_use_count.i.i.i.i.i210.i.i2467, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2473 - -if.else.i.i.i.i.i.i245.i.i3229: ; preds = %if.end.i.i.i.i.i212.i.i2469 - %1456 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i210.i.i2467, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2473 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2473: ; preds = %if.else.i.i.i.i.i.i245.i.i3229, %if.then.i.i.i.i.i.i214.i.i2471 - %retval.i.0.i.i.i.i.i217.i.i2474 = phi i32 [ %1453, %if.then.i.i.i.i.i.i214.i.i2471 ], [ %1456, %if.else.i.i.i.i.i.i245.i.i3229 ] - %cmp6.i.i.i.i.i218.i.i2475 = icmp eq i32 %retval.i.0.i.i.i.i.i217.i.i2474, 1 - br i1 %cmp6.i.i.i.i.i218.i.i2475, label %if.then7.i.i.i.i.i231.i.i3215, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476 - -if.then7.i.i.i.i.i231.i.i3215: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2473 - %vtable.i.i.i.i.i.i.i232.i.i3216 = load ptr, ptr %1451, align 8 - %vfn.i.i.i.i.i.i.i233.i.i3217 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i232.i.i3216, i64 2 - %1457 = load ptr, ptr %vfn.i.i.i.i.i.i.i233.i.i3217, align 8 + %tobool.i.i.not.i.i.i.i.i213.i.i2473 = icmp eq i8 %1455, 0 + br i1 %tobool.i.i.not.i.i.i.i.i213.i.i2473, label %if.else.i.i.i.i.i.i245.i.i3232, label %if.then.i.i.i.i.i.i214.i.i2474 + +if.then.i.i.i.i.i.i214.i.i2474: ; preds = %if.end.i.i.i.i.i212.i.i2472 + %add.i.i.i.i.i.i215.i.i2475 = add nsw i32 %1453, -1 + store i32 %add.i.i.i.i.i.i215.i.i2475, ptr %_M_use_count.i.i.i.i.i210.i.i2470, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2476 + +if.else.i.i.i.i.i.i245.i.i3232: ; preds = %if.end.i.i.i.i.i212.i.i2472 + %1456 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i210.i.i2470, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2476 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2476: ; preds = %if.else.i.i.i.i.i.i245.i.i3232, %if.then.i.i.i.i.i.i214.i.i2474 + %retval.i.0.i.i.i.i.i217.i.i2477 = phi i32 [ %1453, %if.then.i.i.i.i.i.i214.i.i2474 ], [ %1456, %if.else.i.i.i.i.i.i245.i.i3232 ] + %cmp6.i.i.i.i.i218.i.i2478 = icmp eq i32 %retval.i.0.i.i.i.i.i217.i.i2477, 1 + br i1 %cmp6.i.i.i.i.i218.i.i2478, label %if.then7.i.i.i.i.i231.i.i3218, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479 + +if.then7.i.i.i.i.i231.i.i3218: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2476 + %vtable.i.i.i.i.i.i.i232.i.i3219 = load ptr, ptr %1451, align 8 + %vfn.i.i.i.i.i.i.i233.i.i3220 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i232.i.i3219, i64 2 + %1457 = load ptr, ptr %vfn.i.i.i.i.i.i.i233.i.i3220, align 8 call void %1457(ptr noundef nonnull align 8 dereferenceable(16) %1451) #30 - %_M_weak_count.i.i.i.i.i.i.i234.i.i3218 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1451, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i234.i.i3221 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1451, i64 0, i32 2 %1458 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i235.i.i3219 = icmp eq i8 %1458, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i235.i.i3219, label %if.else.i.i.i.i.i.i.i.i244.i.i3228, label %if.then.i.i.i.i.i.i.i.i236.i.i3220 - -if.then.i.i.i.i.i.i.i.i236.i.i3220: ; preds = %if.then7.i.i.i.i.i231.i.i3215 - %1459 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i3218, align 4 - %add.i.i.i.i.i.i.i.i237.i.i3221 = add nsw i32 %1459, -1 - store i32 %add.i.i.i.i.i.i.i.i237.i.i3221, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i3218, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3222 - -if.else.i.i.i.i.i.i.i.i244.i.i3228: ; preds = %if.then7.i.i.i.i.i231.i.i3215 - %1460 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i3218, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3222 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3222: ; preds = %if.else.i.i.i.i.i.i.i.i244.i.i3228, %if.then.i.i.i.i.i.i.i.i236.i.i3220 - %retval.i.0.i.i.i.i.i.i.i239.i.i3223 = phi i32 [ %1459, %if.then.i.i.i.i.i.i.i.i236.i.i3220 ], [ %1460, %if.else.i.i.i.i.i.i.i.i244.i.i3228 ] - %cmp.i.i.i.i.i.i.i240.i.i3224 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i239.i.i3223, 1 - br i1 %cmp.i.i.i.i.i.i.i240.i.i3224, label %if.end8.sink.split.i.i.i.i.i241.i.i3225, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476 - -if.end8.sink.split.i.i.i.i.i241.i.i3225: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3222, %if.then.i.i.i.i.i246.i.i3230 - %vtable2.i.i.i.i.i.i.i242.i.i3226 = load ptr, ptr %1451, align 8 - %vfn3.i.i.i.i.i.i.i243.i.i3227 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i242.i.i3226, i64 3 - %1461 = load ptr, ptr %vfn3.i.i.i.i.i.i.i243.i.i3227, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i235.i.i3222 = icmp eq i8 %1458, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i235.i.i3222, label %if.else.i.i.i.i.i.i.i.i244.i.i3231, label %if.then.i.i.i.i.i.i.i.i236.i.i3223 + +if.then.i.i.i.i.i.i.i.i236.i.i3223: ; preds = %if.then7.i.i.i.i.i231.i.i3218 + %1459 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i3221, align 4 + %add.i.i.i.i.i.i.i.i237.i.i3224 = add nsw i32 %1459, -1 + store i32 %add.i.i.i.i.i.i.i.i237.i.i3224, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i3221, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3225 + +if.else.i.i.i.i.i.i.i.i244.i.i3231: ; preds = %if.then7.i.i.i.i.i231.i.i3218 + %1460 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i3221, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3225 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3225: ; preds = %if.else.i.i.i.i.i.i.i.i244.i.i3231, %if.then.i.i.i.i.i.i.i.i236.i.i3223 + %retval.i.0.i.i.i.i.i.i.i239.i.i3226 = phi i32 [ %1459, %if.then.i.i.i.i.i.i.i.i236.i.i3223 ], [ %1460, %if.else.i.i.i.i.i.i.i.i244.i.i3231 ] + %cmp.i.i.i.i.i.i.i240.i.i3227 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i239.i.i3226, 1 + br i1 %cmp.i.i.i.i.i.i.i240.i.i3227, label %if.end8.sink.split.i.i.i.i.i241.i.i3228, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479 + +if.end8.sink.split.i.i.i.i.i241.i.i3228: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3225, %if.then.i.i.i.i.i246.i.i3233 + %vtable2.i.i.i.i.i.i.i242.i.i3229 = load ptr, ptr %1451, align 8 + %vfn3.i.i.i.i.i.i.i243.i.i3230 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i242.i.i3229, i64 3 + %1461 = load ptr, ptr %vfn3.i.i.i.i.i.i.i243.i.i3230, align 8 call void %1461(ptr noundef nonnull align 8 dereferenceable(16) %1451) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i3225, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3222, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2473, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2464 - %1462 = load ptr, ptr %ref.tmp82.i.i2235, align 8, !noalias !1562 - %1463 = load ptr, ptr %_M_finish.i.i220.i.i2403, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i221.i.i2477 = icmp eq ptr %1462, %1463 - br i1 %cmp.not3.i.i.i.i.i221.i.i2477, label %invoke.cont.i.i228.i.i2484, label %for.body.i.i.i.i.i222.i.i2478 - -for.body.i.i.i.i.i222.i.i2478: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476, %for.body.i.i.i.i.i222.i.i2478 - %__first.addr.04.i.i.i.i.i223.i.i2479 = phi ptr [ %incdec.ptr.i.i.i.i.i224.i.i2480, %for.body.i.i.i.i.i222.i.i2478 ], [ %1462, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i223.i.i2479) #30 - %incdec.ptr.i.i.i.i.i224.i.i2480 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i223.i.i2479, i64 1 - %cmp.not.i.i.i.i.i225.i.i2481 = icmp eq ptr %incdec.ptr.i.i.i.i.i224.i.i2480, %1463 - br i1 %cmp.not.i.i.i.i.i225.i.i2481, label %invoke.contthread-pre-split.i.i226.i.i2482, label %for.body.i.i.i.i.i222.i.i2478, !llvm.loop !8 - -invoke.contthread-pre-split.i.i226.i.i2482: ; preds = %for.body.i.i.i.i.i222.i.i2478 - %.pr.i.i227.i.i2483 = load ptr, ptr %ref.tmp82.i.i2235, align 8, !noalias !1562 - br label %invoke.cont.i.i228.i.i2484 - -invoke.cont.i.i228.i.i2484: ; preds = %invoke.contthread-pre-split.i.i226.i.i2482, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476 - %1464 = phi ptr [ %.pr.i.i227.i.i2483, %invoke.contthread-pre-split.i.i226.i.i2482 ], [ %1462, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2476 ] - %tobool.not.i.i.i.i229.i.i2485 = icmp eq ptr %1464, null - br i1 %tobool.not.i.i.i.i229.i.i2485, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2487, label %if.then.i.i.i1.i230.i.i2486 - -if.then.i.i.i1.i230.i.i2486: ; preds = %invoke.cont.i.i228.i.i2484 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i3228, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i3225, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i2476, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i2467 + %1462 = load ptr, ptr %ref.tmp82.i.i2238, align 8, !noalias !1562 + %1463 = load ptr, ptr %_M_finish.i.i220.i.i2406, align 8, !noalias !1562 + %cmp.not3.i.i.i.i.i221.i.i2480 = icmp eq ptr %1462, %1463 + br i1 %cmp.not3.i.i.i.i.i221.i.i2480, label %invoke.cont.i.i228.i.i2487, label %for.body.i.i.i.i.i222.i.i2481 + +for.body.i.i.i.i.i222.i.i2481: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479, %for.body.i.i.i.i.i222.i.i2481 + %__first.addr.04.i.i.i.i.i223.i.i2482 = phi ptr [ %incdec.ptr.i.i.i.i.i224.i.i2483, %for.body.i.i.i.i.i222.i.i2481 ], [ %1462, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i223.i.i2482) #30 + %incdec.ptr.i.i.i.i.i224.i.i2483 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i223.i.i2482, i64 1 + %cmp.not.i.i.i.i.i225.i.i2484 = icmp eq ptr %incdec.ptr.i.i.i.i.i224.i.i2483, %1463 + br i1 %cmp.not.i.i.i.i.i225.i.i2484, label %invoke.contthread-pre-split.i.i226.i.i2485, label %for.body.i.i.i.i.i222.i.i2481, !llvm.loop !8 + +invoke.contthread-pre-split.i.i226.i.i2485: ; preds = %for.body.i.i.i.i.i222.i.i2481 + %.pr.i.i227.i.i2486 = load ptr, ptr %ref.tmp82.i.i2238, align 8, !noalias !1562 + br label %invoke.cont.i.i228.i.i2487 + +invoke.cont.i.i228.i.i2487: ; preds = %invoke.contthread-pre-split.i.i226.i.i2485, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479 + %1464 = phi ptr [ %.pr.i.i227.i.i2486, %invoke.contthread-pre-split.i.i226.i.i2485 ], [ %1462, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i2479 ] + %tobool.not.i.i.i.i229.i.i2488 = icmp eq ptr %1464, null + br i1 %tobool.not.i.i.i.i229.i.i2488, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2490, label %if.then.i.i.i1.i230.i.i2489 + +if.then.i.i.i1.i230.i.i2489: ; preds = %invoke.cont.i.i228.i.i2487 call void @_ZdlPv(ptr noundef nonnull %1464) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2487 - -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2487: ; preds = %if.then.i.i.i1.i230.i.i2486, %invoke.cont.i.i228.i.i2484 - br i1 %call.i.i162.i.i2439, label %if.end109.i.i2595, label %if.then93.i.i2488 - -if.then93.i.i2488: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2487 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i2237) - to label %invoke.cont95.i.i2491 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i2489 - -invoke.cont95.i.i2491: ; preds = %if.then93.i.i2488 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i2226), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i2226) - to label %.noexc266.i.i2495 unwind label %lpad96.i.i2492 - -.noexc266.i.i2495: ; preds = %invoke.cont95.i.i2491 - %1465 = load ptr, ptr %ref.tmp.i251.i.i2226, align 8, !noalias !1562 - %add.ptr.i.i252.i.i2496 = getelementptr inbounds i8, ptr %1465, i64 16 - %call2.i1.i253.i.i2497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i2496, ptr noundef nonnull @.str.107) - to label %invoke.cont.i260.i.i2503 unwind label %lpad.i254.i.i2498 - -invoke.cont.i260.i.i2503: ; preds = %.noexc266.i.i2495 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2237, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i2226) - to label %invoke.cont2.i261.i.i2504 unwind label %lpad.i254.i.i2498 - -invoke.cont2.i261.i.i2504: ; preds = %invoke.cont.i260.i.i2503 - %1466 = load ptr, ptr %ref.tmp.i251.i.i2226, align 8, !noalias !1562 - %cmp.not.i.i.i262.i.i2505 = icmp eq ptr %1466, null - br i1 %cmp.not.i.i.i262.i.i2505, label %invoke.cont97.i.i2509, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i2506 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i2506: ; preds = %invoke.cont2.i261.i.i2504 - %vtable.i.i.i.i264.i.i2507 = load ptr, ptr %1466, align 8 - %vfn.i.i.i.i265.i.i2508 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i2507, i64 1 - %1467 = load ptr, ptr %vfn.i.i.i.i265.i.i2508, align 8 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2490 + +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2490: ; preds = %if.then.i.i.i1.i230.i.i2489, %invoke.cont.i.i228.i.i2487 + br i1 %call.i.i162.i.i2442, label %if.end109.i.i2598, label %if.then93.i.i2491 + +if.then93.i.i2491: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2490 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i2240) + to label %invoke.cont95.i.i2494 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i2492 + +invoke.cont95.i.i2494: ; preds = %if.then93.i.i2491 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i2229), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i2229) + to label %.noexc266.i.i2498 unwind label %lpad96.i.i2495 + +.noexc266.i.i2498: ; preds = %invoke.cont95.i.i2494 + %1465 = load ptr, ptr %ref.tmp.i251.i.i2229, align 8, !noalias !1562 + %add.ptr.i.i252.i.i2499 = getelementptr inbounds i8, ptr %1465, i64 16 + %call2.i1.i253.i.i2500 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i2499, ptr noundef nonnull @.str.107) + to label %invoke.cont.i260.i.i2506 unwind label %lpad.i254.i.i2501 + +invoke.cont.i260.i.i2506: ; preds = %.noexc266.i.i2498 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2240, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i2229) + to label %invoke.cont2.i261.i.i2507 unwind label %lpad.i254.i.i2501 + +invoke.cont2.i261.i.i2507: ; preds = %invoke.cont.i260.i.i2506 + %1466 = load ptr, ptr %ref.tmp.i251.i.i2229, align 8, !noalias !1562 + %cmp.not.i.i.i262.i.i2508 = icmp eq ptr %1466, null + br i1 %cmp.not.i.i.i262.i.i2508, label %invoke.cont97.i.i2512, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i2509 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i2509: ; preds = %invoke.cont2.i261.i.i2507 + %vtable.i.i.i.i264.i.i2510 = load ptr, ptr %1466, align 8 + %vfn.i.i.i.i265.i.i2511 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i2510, i64 1 + %1467 = load ptr, ptr %vfn.i.i.i.i265.i.i2511, align 8 call void %1467(ptr noundef nonnull align 8 dereferenceable(128) %1466) #30 - br label %invoke.cont97.i.i2509 + br label %invoke.cont97.i.i2512 -lpad.i254.i.i2498: ; preds = %invoke.cont.i260.i.i2503, %.noexc266.i.i2495 +lpad.i254.i.i2501: ; preds = %invoke.cont.i260.i.i2506, %.noexc266.i.i2498 %1468 = landingpad { ptr, i32 } cleanup - %1469 = load ptr, ptr %ref.tmp.i251.i.i2226, align 8, !noalias !1562 - %cmp.not.i.i2.i255.i.i2499 = icmp eq ptr %1469, null - br i1 %cmp.not.i.i2.i255.i.i2499, label %ehcleanup108.i.i2493, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i2500 + %1469 = load ptr, ptr %ref.tmp.i251.i.i2229, align 8, !noalias !1562 + %cmp.not.i.i2.i255.i.i2502 = icmp eq ptr %1469, null + br i1 %cmp.not.i.i2.i255.i.i2502, label %ehcleanup108.i.i2496, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i2503 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i2500: ; preds = %lpad.i254.i.i2498 - %vtable.i.i.i4.i257.i.i2501 = load ptr, ptr %1469, align 8 - %vfn.i.i.i5.i258.i.i2502 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i2501, i64 1 - %1470 = load ptr, ptr %vfn.i.i.i5.i258.i.i2502, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i2503: ; preds = %lpad.i254.i.i2501 + %vtable.i.i.i4.i257.i.i2504 = load ptr, ptr %1469, align 8 + %vfn.i.i.i5.i258.i.i2505 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i2504, i64 1 + %1470 = load ptr, ptr %vfn.i.i.i5.i258.i.i2505, align 8 call void %1470(ptr noundef nonnull align 8 dereferenceable(128) %1469) #30 - br label %ehcleanup108.i.i2493 - -invoke.cont97.i.i2509: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i2506, %invoke.cont2.i261.i.i2504 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i2226), !noalias !1562 - %call81.val83.i.i2510 = load ptr, ptr %__begin072.sroa.0.048.i.i2423, align 8 - %1471 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i2423, i64 8 - %call81.val84.i.i2511 = load i64, ptr %1471, align 8 - %call81.val83.val.i.i2512 = load ptr, ptr %call81.val83.i.i2510, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i2238, ptr %call81.val83.val.i.i2512, i64 %call81.val84.i.i2511) - to label %invoke.cont100.i.i2514 unwind label %lpad96.i.i2492 - -invoke.cont100.i.i2514: ; preds = %invoke.cont97.i.i2509 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i2225), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i2225) - to label %.noexc283.i.i2518 unwind label %lpad101.i.i2515 - -.noexc283.i.i2518: ; preds = %invoke.cont100.i.i2514 - %1472 = load ptr, ptr %ref.tmp.i268.i.i2225, align 8, !noalias !1562 - %add.ptr.i.i269.i.i2519 = getelementptr inbounds i8, ptr %1472, i64 16 - %call2.i1.i270.i.i2520 = 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) %add.ptr.i.i269.i.i2519, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i2238) - to label %invoke.cont.i277.i.i2526 unwind label %lpad.i271.i.i2521 - -invoke.cont.i277.i.i2526: ; preds = %.noexc283.i.i2518 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2237, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i2225) - to label %invoke.cont2.i278.i.i2527 unwind label %lpad.i271.i.i2521 - -invoke.cont2.i278.i.i2527: ; preds = %invoke.cont.i277.i.i2526 - %1473 = load ptr, ptr %ref.tmp.i268.i.i2225, align 8, !noalias !1562 - %cmp.not.i.i.i279.i.i2528 = icmp eq ptr %1473, null - br i1 %cmp.not.i.i.i279.i.i2528, label %invoke.cont102.i.i2532, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i2529 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i2529: ; preds = %invoke.cont2.i278.i.i2527 - %vtable.i.i.i.i281.i.i2530 = load ptr, ptr %1473, align 8 - %vfn.i.i.i.i282.i.i2531 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i2530, i64 1 - %1474 = load ptr, ptr %vfn.i.i.i.i282.i.i2531, align 8 + br label %ehcleanup108.i.i2496 + +invoke.cont97.i.i2512: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i2509, %invoke.cont2.i261.i.i2507 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i2229), !noalias !1562 + %call81.val83.i.i2513 = load ptr, ptr %__begin072.sroa.0.048.i.i2426, align 8 + %1471 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i2426, i64 8 + %call81.val84.i.i2514 = load i64, ptr %1471, align 8 + %call81.val83.val.i.i2515 = load ptr, ptr %call81.val83.i.i2513, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i2241, ptr %call81.val83.val.i.i2515, i64 %call81.val84.i.i2514) + to label %invoke.cont100.i.i2517 unwind label %lpad96.i.i2495 + +invoke.cont100.i.i2517: ; preds = %invoke.cont97.i.i2512 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i2228), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i2228) + to label %.noexc283.i.i2521 unwind label %lpad101.i.i2518 + +.noexc283.i.i2521: ; preds = %invoke.cont100.i.i2517 + %1472 = load ptr, ptr %ref.tmp.i268.i.i2228, align 8, !noalias !1562 + %add.ptr.i.i269.i.i2522 = getelementptr inbounds i8, ptr %1472, i64 16 + %call2.i1.i270.i.i2523 = 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) %add.ptr.i.i269.i.i2522, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i2241) + to label %invoke.cont.i277.i.i2529 unwind label %lpad.i271.i.i2524 + +invoke.cont.i277.i.i2529: ; preds = %.noexc283.i.i2521 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2240, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i2228) + to label %invoke.cont2.i278.i.i2530 unwind label %lpad.i271.i.i2524 + +invoke.cont2.i278.i.i2530: ; preds = %invoke.cont.i277.i.i2529 + %1473 = load ptr, ptr %ref.tmp.i268.i.i2228, align 8, !noalias !1562 + %cmp.not.i.i.i279.i.i2531 = icmp eq ptr %1473, null + br i1 %cmp.not.i.i.i279.i.i2531, label %invoke.cont102.i.i2535, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i2532 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i2532: ; preds = %invoke.cont2.i278.i.i2530 + %vtable.i.i.i.i281.i.i2533 = load ptr, ptr %1473, align 8 + %vfn.i.i.i.i282.i.i2534 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i2533, i64 1 + %1474 = load ptr, ptr %vfn.i.i.i.i282.i.i2534, align 8 call void %1474(ptr noundef nonnull align 8 dereferenceable(128) %1473) #30 - br label %invoke.cont102.i.i2532 + br label %invoke.cont102.i.i2535 -lpad.i271.i.i2521: ; preds = %invoke.cont.i277.i.i2526, %.noexc283.i.i2518 +lpad.i271.i.i2524: ; preds = %invoke.cont.i277.i.i2529, %.noexc283.i.i2521 %1475 = landingpad { ptr, i32 } cleanup - %1476 = load ptr, ptr %ref.tmp.i268.i.i2225, align 8, !noalias !1562 - %cmp.not.i.i2.i272.i.i2522 = icmp eq ptr %1476, null - br i1 %cmp.not.i.i2.i272.i.i2522, label %lpad101.body.i.i2516, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i2523 + %1476 = load ptr, ptr %ref.tmp.i268.i.i2228, align 8, !noalias !1562 + %cmp.not.i.i2.i272.i.i2525 = icmp eq ptr %1476, null + br i1 %cmp.not.i.i2.i272.i.i2525, label %lpad101.body.i.i2519, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i2526 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i2523: ; preds = %lpad.i271.i.i2521 - %vtable.i.i.i4.i274.i.i2524 = load ptr, ptr %1476, align 8 - %vfn.i.i.i5.i275.i.i2525 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i2524, i64 1 - %1477 = load ptr, ptr %vfn.i.i.i5.i275.i.i2525, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i2526: ; preds = %lpad.i271.i.i2524 + %vtable.i.i.i4.i274.i.i2527 = load ptr, ptr %1476, align 8 + %vfn.i.i.i5.i275.i.i2528 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i2527, i64 1 + %1477 = load ptr, ptr %vfn.i.i.i5.i275.i.i2528, align 8 call void %1477(ptr noundef nonnull align 8 dereferenceable(128) %1476) #30 - br label %lpad101.body.i.i2516 - -invoke.cont102.i.i2532: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i2529, %invoke.cont2.i278.i.i2527 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i2225), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i2224), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i2224) - to label %.noexc301.i.i2533 unwind label %lpad101.i.i2515 - -.noexc301.i.i2533: ; preds = %invoke.cont102.i.i2532 - %1478 = load ptr, ptr %ref.tmp.i286.i.i2224, align 8, !noalias !1562 - %add.ptr.i.i287.i.i2534 = getelementptr inbounds i8, ptr %1478, i64 16 - %call2.i1.i288.i.i2535 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i2534, ptr noundef nonnull @.str.108) - to label %invoke.cont.i295.i.i2541 unwind label %lpad.i289.i.i2536 - -invoke.cont.i295.i.i2541: ; preds = %.noexc301.i.i2533 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2237, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i2224) - to label %invoke.cont2.i296.i.i2542 unwind label %lpad.i289.i.i2536 - -invoke.cont2.i296.i.i2542: ; preds = %invoke.cont.i295.i.i2541 - %1479 = load ptr, ptr %ref.tmp.i286.i.i2224, align 8, !noalias !1562 - %cmp.not.i.i.i297.i.i2543 = icmp eq ptr %1479, null - br i1 %cmp.not.i.i.i297.i.i2543, label %invoke.cont104.i.i2547, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i2544 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i2544: ; preds = %invoke.cont2.i296.i.i2542 - %vtable.i.i.i.i299.i.i2545 = load ptr, ptr %1479, align 8 - %vfn.i.i.i.i300.i.i2546 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i2545, i64 1 - %1480 = load ptr, ptr %vfn.i.i.i.i300.i.i2546, align 8 + br label %lpad101.body.i.i2519 + +invoke.cont102.i.i2535: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i2532, %invoke.cont2.i278.i.i2530 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i2228), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i2227), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i2227) + to label %.noexc301.i.i2536 unwind label %lpad101.i.i2518 + +.noexc301.i.i2536: ; preds = %invoke.cont102.i.i2535 + %1478 = load ptr, ptr %ref.tmp.i286.i.i2227, align 8, !noalias !1562 + %add.ptr.i.i287.i.i2537 = getelementptr inbounds i8, ptr %1478, i64 16 + %call2.i1.i288.i.i2538 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i2537, ptr noundef nonnull @.str.108) + to label %invoke.cont.i295.i.i2544 unwind label %lpad.i289.i.i2539 + +invoke.cont.i295.i.i2544: ; preds = %.noexc301.i.i2536 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2240, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i2227) + to label %invoke.cont2.i296.i.i2545 unwind label %lpad.i289.i.i2539 + +invoke.cont2.i296.i.i2545: ; preds = %invoke.cont.i295.i.i2544 + %1479 = load ptr, ptr %ref.tmp.i286.i.i2227, align 8, !noalias !1562 + %cmp.not.i.i.i297.i.i2546 = icmp eq ptr %1479, null + br i1 %cmp.not.i.i.i297.i.i2546, label %invoke.cont104.i.i2550, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i2547 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i2547: ; preds = %invoke.cont2.i296.i.i2545 + %vtable.i.i.i.i299.i.i2548 = load ptr, ptr %1479, align 8 + %vfn.i.i.i.i300.i.i2549 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i2548, i64 1 + %1480 = load ptr, ptr %vfn.i.i.i.i300.i.i2549, align 8 call void %1480(ptr noundef nonnull align 8 dereferenceable(128) %1479) #30 - br label %invoke.cont104.i.i2547 + br label %invoke.cont104.i.i2550 -lpad.i289.i.i2536: ; preds = %invoke.cont.i295.i.i2541, %.noexc301.i.i2533 +lpad.i289.i.i2539: ; preds = %invoke.cont.i295.i.i2544, %.noexc301.i.i2536 %1481 = landingpad { ptr, i32 } cleanup - %1482 = load ptr, ptr %ref.tmp.i286.i.i2224, align 8, !noalias !1562 - %cmp.not.i.i2.i290.i.i2537 = icmp eq ptr %1482, null - br i1 %cmp.not.i.i2.i290.i.i2537, label %lpad101.body.i.i2516, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i2538 + %1482 = load ptr, ptr %ref.tmp.i286.i.i2227, align 8, !noalias !1562 + %cmp.not.i.i2.i290.i.i2540 = icmp eq ptr %1482, null + br i1 %cmp.not.i.i2.i290.i.i2540, label %lpad101.body.i.i2519, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i2541 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i2538: ; preds = %lpad.i289.i.i2536 - %vtable.i.i.i4.i292.i.i2539 = load ptr, ptr %1482, align 8 - %vfn.i.i.i5.i293.i.i2540 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i2539, i64 1 - %1483 = load ptr, ptr %vfn.i.i.i5.i293.i.i2540, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i2541: ; preds = %lpad.i289.i.i2539 + %vtable.i.i.i4.i292.i.i2542 = load ptr, ptr %1482, align 8 + %vfn.i.i.i5.i293.i.i2543 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i2542, i64 1 + %1483 = load ptr, ptr %vfn.i.i.i5.i293.i.i2543, align 8 call void %1483(ptr noundef nonnull align 8 dereferenceable(128) %1482) #30 - br label %lpad101.body.i.i2516 + br label %lpad101.body.i.i2519 -invoke.cont104.i.i2547: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i2544, %invoke.cont2.i296.i.i2542 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i2224), !noalias !1562 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2237) - to label %invoke.cont106.i.i2548 unwind label %lpad101.i.i2515 +invoke.cont104.i.i2550: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i2547, %invoke.cont2.i296.i.i2545 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i2227), !noalias !1562 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2240) + to label %invoke.cont106.i.i2551 unwind label %lpad101.i.i2518 -invoke.cont106.i.i2548: ; preds = %invoke.cont104.i.i2547 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i2238) #30 - %message_.i304.i.i2549 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i2237, i64 0, i32 1 - %1484 = load ptr, ptr %message_.i304.i.i2549, align 8, !noalias !1562 - %cmp.not.i.i305.i.i2550 = icmp eq ptr %1484, null - br i1 %cmp.not.i.i305.i.i2550, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i2552, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i2551 +invoke.cont106.i.i2551: ; preds = %invoke.cont104.i.i2550 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i2241) #30 + %message_.i304.i.i2552 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i2240, i64 0, i32 1 + %1484 = load ptr, ptr %message_.i304.i.i2552, align 8, !noalias !1562 + %cmp.not.i.i305.i.i2553 = icmp eq ptr %1484, null + br i1 %cmp.not.i.i305.i.i2553, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i2555, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i2554 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i2551: ; preds = %invoke.cont106.i.i2548 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i2554: ; preds = %invoke.cont106.i.i2551 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1484) #30 call void @_ZdlPv(ptr noundef nonnull %1484) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i2552 + br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i2555 -_ZN7testing15AssertionResultD2Ev.exit307.i.i2552: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i2551, %invoke.cont106.i.i2548 - store ptr null, ptr %message_.i304.i.i2549, align 8, !noalias !1562 - br label %cleanup257.critedge.i.i2553 +_ZN7testing15AssertionResultD2Ev.exit307.i.i2555: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i2554, %invoke.cont106.i.i2551 + store ptr null, ptr %message_.i304.i.i2552, align 8, !noalias !1562 + br label %cleanup257.critedge.i.i2556 -lpad83.loopexit.i.i2743: ; preds = %if.end158.i.i2738 - %lpad.loopexit.i.i2744 = landingpad { ptr, i32 } +lpad83.loopexit.i.i2746: ; preds = %if.end158.i.i2741 + %lpad.loopexit.i.i2747 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i2429 + br label %ehcleanup252.i.i2432 -lpad83.loopexit.split-lp.loopexit.i.i2427: ; preds = %for.body80.i.i2422, %if.end109.i.i2595 - %lpad.loopexit8.i.i2428 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.i.i2430: ; preds = %for.body80.i.i2425, %if.end109.i.i2598 + %lpad.loopexit8.i.i2431 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i2429 + br label %ehcleanup252.i.i2432 -lpad83.loopexit.split-lp.loopexit.split-lp.i.i2489: ; preds = %if.then116.i.i2626, %if.then93.i.i2488 - %lpad.loopexit.split-lp9.i.i2490 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.split-lp.i.i2492: ; preds = %if.then116.i.i2629, %if.then93.i.i2491 + %lpad.loopexit.split-lp9.i.i2493 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i2429 + br label %ehcleanup252.i.i2432 -lpad86.i.i2435: ; preds = %invoke.cont84.i.i2431 +lpad86.i.i2438: ; preds = %invoke.cont84.i.i2434 %1485 = landingpad { ptr, i32 } cleanup - br label %ehcleanup92.i.i2436 + br label %ehcleanup92.i.i2439 -lpad88.i.i2440: ; preds = %invoke.cont87.i.i2438 +lpad88.i.i2443: ; preds = %invoke.cont87.i.i2441 %1486 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i2236) #30 - br label %ehcleanup92.i.i2436 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i2239) #30 + br label %ehcleanup92.i.i2439 -ehcleanup92.i.i2436: ; preds = %lpad88.i.i2440, %lpad86.i.i2435 - %.pn38.i.i2437 = phi { ptr, i32 } [ %1486, %lpad88.i.i2440 ], [ %1485, %lpad86.i.i2435 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i2235) #30 - br label %ehcleanup252.i.i2429 +ehcleanup92.i.i2439: ; preds = %lpad88.i.i2443, %lpad86.i.i2438 + %.pn38.i.i2440 = phi { ptr, i32 } [ %1486, %lpad88.i.i2443 ], [ %1485, %lpad86.i.i2438 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i2238) #30 + br label %ehcleanup252.i.i2432 -lpad96.i.i2492: ; preds = %invoke.cont97.i.i2509, %invoke.cont95.i.i2491 +lpad96.i.i2495: ; preds = %invoke.cont97.i.i2512, %invoke.cont95.i.i2494 %1487 = landingpad { ptr, i32 } cleanup - br label %ehcleanup108.i.i2493 + br label %ehcleanup108.i.i2496 -lpad101.i.i2515: ; preds = %invoke.cont104.i.i2547, %invoke.cont102.i.i2532, %invoke.cont100.i.i2514 +lpad101.i.i2518: ; preds = %invoke.cont104.i.i2550, %invoke.cont102.i.i2535, %invoke.cont100.i.i2517 %1488 = landingpad { ptr, i32 } cleanup - br label %lpad101.body.i.i2516 - -lpad101.body.i.i2516: ; preds = %lpad101.i.i2515, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i2538, %lpad.i289.i.i2536, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i2523, %lpad.i271.i.i2521 - %eh.lpad-body284.i.i2517 = phi { ptr, i32 } [ %1475, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i2523 ], [ %1475, %lpad.i271.i.i2521 ], [ %1488, %lpad101.i.i2515 ], [ %1481, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i2538 ], [ %1481, %lpad.i289.i.i2536 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i2238) #30 - br label %ehcleanup108.i.i2493 - -ehcleanup108.i.i2493: ; preds = %lpad101.body.i.i2516, %lpad96.i.i2492, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i2500, %lpad.i254.i.i2498 - %.pn43.i.i2494 = phi { ptr, i32 } [ %eh.lpad-body284.i.i2517, %lpad101.body.i.i2516 ], [ %1487, %lpad96.i.i2492 ], [ %1468, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i2500 ], [ %1468, %lpad.i254.i.i2498 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2237) #30 - br label %ehcleanup252.i.i2429 - -if.end109.i.i2595: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2487 - %call81.val66.i.i2596 = load ptr, ptr %__begin072.sroa.0.048.i.i2423, align 8 - %call81.val66.val.i.i2597 = load ptr, ptr %call81.val66.i.i2596, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i2239, ptr %call81.val66.val.i.i2597) - to label %invoke.cont111.i.i2599 unwind label %lpad83.loopexit.split-lp.loopexit.i.i2427 - -invoke.cont111.i.i2599: ; preds = %if.end109.i.i2595 - %call.i.i309.i.i2600 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i2239, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i2234) - to label %invoke.cont113.i.i2602 unwind label %lpad112.i.i2601 - -invoke.cont113.i.i2602: ; preds = %invoke.cont111.i.i2599 - %1489 = load ptr, ptr %_M_refcount.i.i.i311.i.i2404, align 8, !noalias !1562 - %cmp.not.i.i.i.i312.i.i2603 = icmp eq ptr %1489, null - br i1 %cmp.not.i.i.i.i312.i.i2603, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614, label %if.then.i.i.i.i313.i.i2604 - -if.then.i.i.i.i313.i.i2604: ; preds = %invoke.cont113.i.i2602 - %_M_use_count.i.i.i.i.i314.i.i2605 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1489, i64 0, i32 1 - %1490 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i2605 acquire, align 8 - %cmp.i.i.i.i.i315.i.i2606 = icmp eq i64 %1490, 4294967297 + br label %lpad101.body.i.i2519 + +lpad101.body.i.i2519: ; preds = %lpad101.i.i2518, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i2541, %lpad.i289.i.i2539, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i2526, %lpad.i271.i.i2524 + %eh.lpad-body284.i.i2520 = phi { ptr, i32 } [ %1475, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i2526 ], [ %1475, %lpad.i271.i.i2524 ], [ %1488, %lpad101.i.i2518 ], [ %1481, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i2541 ], [ %1481, %lpad.i289.i.i2539 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i2241) #30 + br label %ehcleanup108.i.i2496 + +ehcleanup108.i.i2496: ; preds = %lpad101.body.i.i2519, %lpad96.i.i2495, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i2503, %lpad.i254.i.i2501 + %.pn43.i.i2497 = phi { ptr, i32 } [ %eh.lpad-body284.i.i2520, %lpad101.body.i.i2519 ], [ %1487, %lpad96.i.i2495 ], [ %1468, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i2503 ], [ %1468, %lpad.i254.i.i2501 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i2240) #30 + br label %ehcleanup252.i.i2432 + +if.end109.i.i2598: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i2490 + %call81.val66.i.i2599 = load ptr, ptr %__begin072.sroa.0.048.i.i2426, align 8 + %call81.val66.val.i.i2600 = load ptr, ptr %call81.val66.i.i2599, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i2242, ptr %call81.val66.val.i.i2600) + to label %invoke.cont111.i.i2602 unwind label %lpad83.loopexit.split-lp.loopexit.i.i2430 + +invoke.cont111.i.i2602: ; preds = %if.end109.i.i2598 + %call.i.i309.i.i2603 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i2242, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i2237) + to label %invoke.cont113.i.i2605 unwind label %lpad112.i.i2604 + +invoke.cont113.i.i2605: ; preds = %invoke.cont111.i.i2602 + %1489 = load ptr, ptr %_M_refcount.i.i.i311.i.i2407, align 8, !noalias !1562 + %cmp.not.i.i.i.i312.i.i2606 = icmp eq ptr %1489, null + br i1 %cmp.not.i.i.i.i312.i.i2606, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617, label %if.then.i.i.i.i313.i.i2607 + +if.then.i.i.i.i313.i.i2607: ; preds = %invoke.cont113.i.i2605 + %_M_use_count.i.i.i.i.i314.i.i2608 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1489, i64 0, i32 1 + %1490 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i2608 acquire, align 8 + %cmp.i.i.i.i.i315.i.i2609 = icmp eq i64 %1490, 4294967297 %1491 = trunc i64 %1490 to i32 - br i1 %cmp.i.i.i.i.i315.i.i2606, label %if.then.i.i.i.i.i350.i.i3211, label %if.end.i.i.i.i.i316.i.i2607 - -if.then.i.i.i.i.i350.i.i3211: ; preds = %if.then.i.i.i.i313.i.i2604 - store i32 0, ptr %_M_use_count.i.i.i.i.i314.i.i2605, align 8 - %_M_weak_count.i.i.i.i.i351.i.i3212 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1489, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i351.i.i3212, align 4 - %vtable.i.i.i.i.i352.i.i3213 = load ptr, ptr %1489, align 8 - %vfn.i.i.i.i.i353.i.i3214 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i352.i.i3213, i64 2 - %1492 = load ptr, ptr %vfn.i.i.i.i.i353.i.i3214, align 8 + br i1 %cmp.i.i.i.i.i315.i.i2609, label %if.then.i.i.i.i.i350.i.i3214, label %if.end.i.i.i.i.i316.i.i2610 + +if.then.i.i.i.i.i350.i.i3214: ; preds = %if.then.i.i.i.i313.i.i2607 + store i32 0, ptr %_M_use_count.i.i.i.i.i314.i.i2608, align 8 + %_M_weak_count.i.i.i.i.i351.i.i3215 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1489, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i351.i.i3215, align 4 + %vtable.i.i.i.i.i352.i.i3216 = load ptr, ptr %1489, align 8 + %vfn.i.i.i.i.i353.i.i3217 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i352.i.i3216, i64 2 + %1492 = load ptr, ptr %vfn.i.i.i.i.i353.i.i3217, align 8 call void %1492(ptr noundef nonnull align 8 dereferenceable(16) %1489) #30 - br label %if.end8.sink.split.i.i.i.i.i345.i.i3206 + br label %if.end8.sink.split.i.i.i.i.i345.i.i3209 -if.end.i.i.i.i.i316.i.i2607: ; preds = %if.then.i.i.i.i313.i.i2604 +if.end.i.i.i.i.i316.i.i2610: ; preds = %if.then.i.i.i.i313.i.i2607 %1493 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i317.i.i2608 = icmp eq i8 %1493, 0 - br i1 %tobool.i.i.not.i.i.i.i.i317.i.i2608, label %if.else.i.i.i.i.i.i349.i.i3210, label %if.then.i.i.i.i.i.i318.i.i2609 - -if.then.i.i.i.i.i.i318.i.i2609: ; preds = %if.end.i.i.i.i.i316.i.i2607 - %add.i.i.i.i.i.i319.i.i2610 = add nsw i32 %1491, -1 - store i32 %add.i.i.i.i.i.i319.i.i2610, ptr %_M_use_count.i.i.i.i.i314.i.i2605, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2611 - -if.else.i.i.i.i.i.i349.i.i3210: ; preds = %if.end.i.i.i.i.i316.i.i2607 - %1494 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i314.i.i2605, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2611 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2611: ; preds = %if.else.i.i.i.i.i.i349.i.i3210, %if.then.i.i.i.i.i.i318.i.i2609 - %retval.i.0.i.i.i.i.i321.i.i2612 = phi i32 [ %1491, %if.then.i.i.i.i.i.i318.i.i2609 ], [ %1494, %if.else.i.i.i.i.i.i349.i.i3210 ] - %cmp6.i.i.i.i.i322.i.i2613 = icmp eq i32 %retval.i.0.i.i.i.i.i321.i.i2612, 1 - br i1 %cmp6.i.i.i.i.i322.i.i2613, label %if.then7.i.i.i.i.i335.i.i3196, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614 - -if.then7.i.i.i.i.i335.i.i3196: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2611 - %vtable.i.i.i.i.i.i.i336.i.i3197 = load ptr, ptr %1489, align 8 - %vfn.i.i.i.i.i.i.i337.i.i3198 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i336.i.i3197, i64 2 - %1495 = load ptr, ptr %vfn.i.i.i.i.i.i.i337.i.i3198, align 8 + %tobool.i.i.not.i.i.i.i.i317.i.i2611 = icmp eq i8 %1493, 0 + br i1 %tobool.i.i.not.i.i.i.i.i317.i.i2611, label %if.else.i.i.i.i.i.i349.i.i3213, label %if.then.i.i.i.i.i.i318.i.i2612 + +if.then.i.i.i.i.i.i318.i.i2612: ; preds = %if.end.i.i.i.i.i316.i.i2610 + %add.i.i.i.i.i.i319.i.i2613 = add nsw i32 %1491, -1 + store i32 %add.i.i.i.i.i.i319.i.i2613, ptr %_M_use_count.i.i.i.i.i314.i.i2608, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2614 + +if.else.i.i.i.i.i.i349.i.i3213: ; preds = %if.end.i.i.i.i.i316.i.i2610 + %1494 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i314.i.i2608, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2614 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2614: ; preds = %if.else.i.i.i.i.i.i349.i.i3213, %if.then.i.i.i.i.i.i318.i.i2612 + %retval.i.0.i.i.i.i.i321.i.i2615 = phi i32 [ %1491, %if.then.i.i.i.i.i.i318.i.i2612 ], [ %1494, %if.else.i.i.i.i.i.i349.i.i3213 ] + %cmp6.i.i.i.i.i322.i.i2616 = icmp eq i32 %retval.i.0.i.i.i.i.i321.i.i2615, 1 + br i1 %cmp6.i.i.i.i.i322.i.i2616, label %if.then7.i.i.i.i.i335.i.i3199, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617 + +if.then7.i.i.i.i.i335.i.i3199: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2614 + %vtable.i.i.i.i.i.i.i336.i.i3200 = load ptr, ptr %1489, align 8 + %vfn.i.i.i.i.i.i.i337.i.i3201 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i336.i.i3200, i64 2 + %1495 = load ptr, ptr %vfn.i.i.i.i.i.i.i337.i.i3201, align 8 call void %1495(ptr noundef nonnull align 8 dereferenceable(16) %1489) #30 - %_M_weak_count.i.i.i.i.i.i.i338.i.i3199 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1489, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i338.i.i3202 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1489, i64 0, i32 2 %1496 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i339.i.i3200 = icmp eq i8 %1496, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i339.i.i3200, label %if.else.i.i.i.i.i.i.i.i348.i.i3209, label %if.then.i.i.i.i.i.i.i.i340.i.i3201 - -if.then.i.i.i.i.i.i.i.i340.i.i3201: ; preds = %if.then7.i.i.i.i.i335.i.i3196 - %1497 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i3199, align 4 - %add.i.i.i.i.i.i.i.i341.i.i3202 = add nsw i32 %1497, -1 - store i32 %add.i.i.i.i.i.i.i.i341.i.i3202, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i3199, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3203 - -if.else.i.i.i.i.i.i.i.i348.i.i3209: ; preds = %if.then7.i.i.i.i.i335.i.i3196 - %1498 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i3199, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3203 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3203: ; preds = %if.else.i.i.i.i.i.i.i.i348.i.i3209, %if.then.i.i.i.i.i.i.i.i340.i.i3201 - %retval.i.0.i.i.i.i.i.i.i343.i.i3204 = phi i32 [ %1497, %if.then.i.i.i.i.i.i.i.i340.i.i3201 ], [ %1498, %if.else.i.i.i.i.i.i.i.i348.i.i3209 ] - %cmp.i.i.i.i.i.i.i344.i.i3205 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i343.i.i3204, 1 - br i1 %cmp.i.i.i.i.i.i.i344.i.i3205, label %if.end8.sink.split.i.i.i.i.i345.i.i3206, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614 - -if.end8.sink.split.i.i.i.i.i345.i.i3206: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3203, %if.then.i.i.i.i.i350.i.i3211 - %vtable2.i.i.i.i.i.i.i346.i.i3207 = load ptr, ptr %1489, align 8 - %vfn3.i.i.i.i.i.i.i347.i.i3208 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i346.i.i3207, i64 3 - %1499 = load ptr, ptr %vfn3.i.i.i.i.i.i.i347.i.i3208, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i339.i.i3203 = icmp eq i8 %1496, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i339.i.i3203, label %if.else.i.i.i.i.i.i.i.i348.i.i3212, label %if.then.i.i.i.i.i.i.i.i340.i.i3204 + +if.then.i.i.i.i.i.i.i.i340.i.i3204: ; preds = %if.then7.i.i.i.i.i335.i.i3199 + %1497 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i3202, align 4 + %add.i.i.i.i.i.i.i.i341.i.i3205 = add nsw i32 %1497, -1 + store i32 %add.i.i.i.i.i.i.i.i341.i.i3205, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i3202, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3206 + +if.else.i.i.i.i.i.i.i.i348.i.i3212: ; preds = %if.then7.i.i.i.i.i335.i.i3199 + %1498 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i3202, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3206 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3206: ; preds = %if.else.i.i.i.i.i.i.i.i348.i.i3212, %if.then.i.i.i.i.i.i.i.i340.i.i3204 + %retval.i.0.i.i.i.i.i.i.i343.i.i3207 = phi i32 [ %1497, %if.then.i.i.i.i.i.i.i.i340.i.i3204 ], [ %1498, %if.else.i.i.i.i.i.i.i.i348.i.i3212 ] + %cmp.i.i.i.i.i.i.i344.i.i3208 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i343.i.i3207, 1 + br i1 %cmp.i.i.i.i.i.i.i344.i.i3208, label %if.end8.sink.split.i.i.i.i.i345.i.i3209, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617 + +if.end8.sink.split.i.i.i.i.i345.i.i3209: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3206, %if.then.i.i.i.i.i350.i.i3214 + %vtable2.i.i.i.i.i.i.i346.i.i3210 = load ptr, ptr %1489, align 8 + %vfn3.i.i.i.i.i.i.i347.i.i3211 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i346.i.i3210, i64 3 + %1499 = load ptr, ptr %vfn3.i.i.i.i.i.i.i347.i.i3211, align 8 call void %1499(ptr noundef nonnull align 8 dereferenceable(16) %1489) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i3206, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3203, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2611, %invoke.cont113.i.i2602 - %1500 = load ptr, ptr %ref.tmp110.i.i2239, align 8, !noalias !1562 - %1501 = load ptr, ptr %_M_finish.i.i324.i.i2405, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i325.i.i2615 = icmp eq ptr %1500, %1501 - br i1 %cmp.not3.i.i.i.i.i325.i.i2615, label %invoke.cont.i.i332.i.i2622, label %for.body.i.i.i.i.i326.i.i2616 - -for.body.i.i.i.i.i326.i.i2616: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614, %for.body.i.i.i.i.i326.i.i2616 - %__first.addr.04.i.i.i.i.i327.i.i2617 = phi ptr [ %incdec.ptr.i.i.i.i.i328.i.i2618, %for.body.i.i.i.i.i326.i.i2616 ], [ %1500, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i327.i.i2617) #30 - %incdec.ptr.i.i.i.i.i328.i.i2618 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i327.i.i2617, i64 1 - %cmp.not.i.i.i.i.i329.i.i2619 = icmp eq ptr %incdec.ptr.i.i.i.i.i328.i.i2618, %1501 - br i1 %cmp.not.i.i.i.i.i329.i.i2619, label %invoke.contthread-pre-split.i.i330.i.i2620, label %for.body.i.i.i.i.i326.i.i2616, !llvm.loop !8 - -invoke.contthread-pre-split.i.i330.i.i2620: ; preds = %for.body.i.i.i.i.i326.i.i2616 - %.pr.i.i331.i.i2621 = load ptr, ptr %ref.tmp110.i.i2239, align 8, !noalias !1562 - br label %invoke.cont.i.i332.i.i2622 - -invoke.cont.i.i332.i.i2622: ; preds = %invoke.contthread-pre-split.i.i330.i.i2620, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614 - %1502 = phi ptr [ %.pr.i.i331.i.i2621, %invoke.contthread-pre-split.i.i330.i.i2620 ], [ %1500, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2614 ] - %tobool.not.i.i.i.i333.i.i2623 = icmp eq ptr %1502, null - br i1 %tobool.not.i.i.i.i333.i.i2623, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2625, label %if.then.i.i.i1.i334.i.i2624 - -if.then.i.i.i1.i334.i.i2624: ; preds = %invoke.cont.i.i332.i.i2622 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i3209, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i3206, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i2614, %invoke.cont113.i.i2605 + %1500 = load ptr, ptr %ref.tmp110.i.i2242, align 8, !noalias !1562 + %1501 = load ptr, ptr %_M_finish.i.i324.i.i2408, align 8, !noalias !1562 + %cmp.not3.i.i.i.i.i325.i.i2618 = icmp eq ptr %1500, %1501 + br i1 %cmp.not3.i.i.i.i.i325.i.i2618, label %invoke.cont.i.i332.i.i2625, label %for.body.i.i.i.i.i326.i.i2619 + +for.body.i.i.i.i.i326.i.i2619: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617, %for.body.i.i.i.i.i326.i.i2619 + %__first.addr.04.i.i.i.i.i327.i.i2620 = phi ptr [ %incdec.ptr.i.i.i.i.i328.i.i2621, %for.body.i.i.i.i.i326.i.i2619 ], [ %1500, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i327.i.i2620) #30 + %incdec.ptr.i.i.i.i.i328.i.i2621 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i327.i.i2620, i64 1 + %cmp.not.i.i.i.i.i329.i.i2622 = icmp eq ptr %incdec.ptr.i.i.i.i.i328.i.i2621, %1501 + br i1 %cmp.not.i.i.i.i.i329.i.i2622, label %invoke.contthread-pre-split.i.i330.i.i2623, label %for.body.i.i.i.i.i326.i.i2619, !llvm.loop !8 + +invoke.contthread-pre-split.i.i330.i.i2623: ; preds = %for.body.i.i.i.i.i326.i.i2619 + %.pr.i.i331.i.i2624 = load ptr, ptr %ref.tmp110.i.i2242, align 8, !noalias !1562 + br label %invoke.cont.i.i332.i.i2625 + +invoke.cont.i.i332.i.i2625: ; preds = %invoke.contthread-pre-split.i.i330.i.i2623, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617 + %1502 = phi ptr [ %.pr.i.i331.i.i2624, %invoke.contthread-pre-split.i.i330.i.i2623 ], [ %1500, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i2617 ] + %tobool.not.i.i.i.i333.i.i2626 = icmp eq ptr %1502, null + br i1 %tobool.not.i.i.i.i333.i.i2626, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2628, label %if.then.i.i.i1.i334.i.i2627 + +if.then.i.i.i1.i334.i.i2627: ; preds = %invoke.cont.i.i332.i.i2625 call void @_ZdlPv(ptr noundef nonnull %1502) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2625 - -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2625: ; preds = %if.then.i.i.i1.i334.i.i2624, %invoke.cont.i.i332.i.i2622 - br i1 %call.i.i309.i.i2600, label %for.inc142.i.i2728, label %if.then116.i.i2626 - -if.then116.i.i2626: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2625 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i2240) - to label %invoke.cont118.i.i2627 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i2489 - -invoke.cont118.i.i2627: ; preds = %if.then116.i.i2626 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i2223), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i2223) - to label %.noexc370.i.i2631 unwind label %lpad119.i.i2628 - -.noexc370.i.i2631: ; preds = %invoke.cont118.i.i2627 - %1503 = load ptr, ptr %ref.tmp.i355.i.i2223, align 8, !noalias !1562 - %add.ptr.i.i356.i.i2632 = getelementptr inbounds i8, ptr %1503, i64 16 - %call2.i1.i357.i.i2633 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i2632, ptr noundef nonnull @.str.109) - to label %invoke.cont.i364.i.i2639 unwind label %lpad.i358.i.i2634 - -invoke.cont.i364.i.i2639: ; preds = %.noexc370.i.i2631 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2240, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i2223) - to label %invoke.cont2.i365.i.i2640 unwind label %lpad.i358.i.i2634 - -invoke.cont2.i365.i.i2640: ; preds = %invoke.cont.i364.i.i2639 - %1504 = load ptr, ptr %ref.tmp.i355.i.i2223, align 8, !noalias !1562 - %cmp.not.i.i.i366.i.i2641 = icmp eq ptr %1504, null - br i1 %cmp.not.i.i.i366.i.i2641, label %invoke.cont120.i.i2645, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i2642 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i2642: ; preds = %invoke.cont2.i365.i.i2640 - %vtable.i.i.i.i368.i.i2643 = load ptr, ptr %1504, align 8 - %vfn.i.i.i.i369.i.i2644 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i2643, i64 1 - %1505 = load ptr, ptr %vfn.i.i.i.i369.i.i2644, align 8 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2628 + +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2628: ; preds = %if.then.i.i.i1.i334.i.i2627, %invoke.cont.i.i332.i.i2625 + br i1 %call.i.i309.i.i2603, label %for.inc142.i.i2731, label %if.then116.i.i2629 + +if.then116.i.i2629: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2628 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i2243) + to label %invoke.cont118.i.i2630 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i2492 + +invoke.cont118.i.i2630: ; preds = %if.then116.i.i2629 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i2226), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i2226) + to label %.noexc370.i.i2634 unwind label %lpad119.i.i2631 + +.noexc370.i.i2634: ; preds = %invoke.cont118.i.i2630 + %1503 = load ptr, ptr %ref.tmp.i355.i.i2226, align 8, !noalias !1562 + %add.ptr.i.i356.i.i2635 = getelementptr inbounds i8, ptr %1503, i64 16 + %call2.i1.i357.i.i2636 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i2635, ptr noundef nonnull @.str.109) + to label %invoke.cont.i364.i.i2642 unwind label %lpad.i358.i.i2637 + +invoke.cont.i364.i.i2642: ; preds = %.noexc370.i.i2634 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2243, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i2226) + to label %invoke.cont2.i365.i.i2643 unwind label %lpad.i358.i.i2637 + +invoke.cont2.i365.i.i2643: ; preds = %invoke.cont.i364.i.i2642 + %1504 = load ptr, ptr %ref.tmp.i355.i.i2226, align 8, !noalias !1562 + %cmp.not.i.i.i366.i.i2644 = icmp eq ptr %1504, null + br i1 %cmp.not.i.i.i366.i.i2644, label %invoke.cont120.i.i2648, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i2645 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i2645: ; preds = %invoke.cont2.i365.i.i2643 + %vtable.i.i.i.i368.i.i2646 = load ptr, ptr %1504, align 8 + %vfn.i.i.i.i369.i.i2647 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i2646, i64 1 + %1505 = load ptr, ptr %vfn.i.i.i.i369.i.i2647, align 8 call void %1505(ptr noundef nonnull align 8 dereferenceable(128) %1504) #30 - br label %invoke.cont120.i.i2645 + br label %invoke.cont120.i.i2648 -lpad.i358.i.i2634: ; preds = %invoke.cont.i364.i.i2639, %.noexc370.i.i2631 +lpad.i358.i.i2637: ; preds = %invoke.cont.i364.i.i2642, %.noexc370.i.i2634 %1506 = landingpad { ptr, i32 } cleanup - %1507 = load ptr, ptr %ref.tmp.i355.i.i2223, align 8, !noalias !1562 - %cmp.not.i.i2.i359.i.i2635 = icmp eq ptr %1507, null - br i1 %cmp.not.i.i2.i359.i.i2635, label %ehcleanup140.i.i2629, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i2636 + %1507 = load ptr, ptr %ref.tmp.i355.i.i2226, align 8, !noalias !1562 + %cmp.not.i.i2.i359.i.i2638 = icmp eq ptr %1507, null + br i1 %cmp.not.i.i2.i359.i.i2638, label %ehcleanup140.i.i2632, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i2639 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i2636: ; preds = %lpad.i358.i.i2634 - %vtable.i.i.i4.i361.i.i2637 = load ptr, ptr %1507, align 8 - %vfn.i.i.i5.i362.i.i2638 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i2637, i64 1 - %1508 = load ptr, ptr %vfn.i.i.i5.i362.i.i2638, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i2639: ; preds = %lpad.i358.i.i2637 + %vtable.i.i.i4.i361.i.i2640 = load ptr, ptr %1507, align 8 + %vfn.i.i.i5.i362.i.i2641 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i2640, i64 1 + %1508 = load ptr, ptr %vfn.i.i.i5.i362.i.i2641, align 8 call void %1508(ptr noundef nonnull align 8 dereferenceable(128) %1507) #30 - br label %ehcleanup140.i.i2629 - -invoke.cont120.i.i2645: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i2642, %invoke.cont2.i365.i.i2640 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i2223), !noalias !1562 - %call68.val73.i.i2646 = load ptr, ptr %__begin058.sroa.0.052.i.i2411, align 8 - %call123.val.i.i2647 = load ptr, ptr %call68.val73.i.i2646, align 8 - %1509 = getelementptr i8, ptr %call68.val73.i.i2646, i64 8 - %call123.val85.i.i2648 = load i64, ptr %1509, align 8 - %call123.val.val.i.i2649 = load ptr, ptr %call123.val.i.i2647, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i2241, ptr %call123.val.val.i.i2649, i64 %call123.val85.i.i2648) - to label %invoke.cont124.i.i2651 unwind label %lpad119.i.i2628 - -invoke.cont124.i.i2651: ; preds = %invoke.cont120.i.i2645 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i2222), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i2222) - to label %.noexc387.i.i2655 unwind label %lpad125.i.i2652 - -.noexc387.i.i2655: ; preds = %invoke.cont124.i.i2651 - %1510 = load ptr, ptr %ref.tmp.i372.i.i2222, align 8, !noalias !1562 - %add.ptr.i.i373.i.i2656 = getelementptr inbounds i8, ptr %1510, i64 16 - %call2.i1.i374.i.i2657 = 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) %add.ptr.i.i373.i.i2656, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i2241) - to label %invoke.cont.i381.i.i2663 unwind label %lpad.i375.i.i2658 - -invoke.cont.i381.i.i2663: ; preds = %.noexc387.i.i2655 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2240, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i2222) - to label %invoke.cont2.i382.i.i2664 unwind label %lpad.i375.i.i2658 - -invoke.cont2.i382.i.i2664: ; preds = %invoke.cont.i381.i.i2663 - %1511 = load ptr, ptr %ref.tmp.i372.i.i2222, align 8, !noalias !1562 - %cmp.not.i.i.i383.i.i2665 = icmp eq ptr %1511, null - br i1 %cmp.not.i.i.i383.i.i2665, label %invoke.cont126.i.i2669, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i2666 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i2666: ; preds = %invoke.cont2.i382.i.i2664 - %vtable.i.i.i.i385.i.i2667 = load ptr, ptr %1511, align 8 - %vfn.i.i.i.i386.i.i2668 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i2667, i64 1 - %1512 = load ptr, ptr %vfn.i.i.i.i386.i.i2668, align 8 + br label %ehcleanup140.i.i2632 + +invoke.cont120.i.i2648: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i2645, %invoke.cont2.i365.i.i2643 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i2226), !noalias !1562 + %call68.val73.i.i2649 = load ptr, ptr %__begin058.sroa.0.052.i.i2414, align 8 + %call123.val.i.i2650 = load ptr, ptr %call68.val73.i.i2649, align 8 + %1509 = getelementptr i8, ptr %call68.val73.i.i2649, i64 8 + %call123.val85.i.i2651 = load i64, ptr %1509, align 8 + %call123.val.val.i.i2652 = load ptr, ptr %call123.val.i.i2650, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i2244, ptr %call123.val.val.i.i2652, i64 %call123.val85.i.i2651) + to label %invoke.cont124.i.i2654 unwind label %lpad119.i.i2631 + +invoke.cont124.i.i2654: ; preds = %invoke.cont120.i.i2648 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i2225), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i2225) + to label %.noexc387.i.i2658 unwind label %lpad125.i.i2655 + +.noexc387.i.i2658: ; preds = %invoke.cont124.i.i2654 + %1510 = load ptr, ptr %ref.tmp.i372.i.i2225, align 8, !noalias !1562 + %add.ptr.i.i373.i.i2659 = getelementptr inbounds i8, ptr %1510, i64 16 + %call2.i1.i374.i.i2660 = 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) %add.ptr.i.i373.i.i2659, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i2244) + to label %invoke.cont.i381.i.i2666 unwind label %lpad.i375.i.i2661 + +invoke.cont.i381.i.i2666: ; preds = %.noexc387.i.i2658 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2243, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i2225) + to label %invoke.cont2.i382.i.i2667 unwind label %lpad.i375.i.i2661 + +invoke.cont2.i382.i.i2667: ; preds = %invoke.cont.i381.i.i2666 + %1511 = load ptr, ptr %ref.tmp.i372.i.i2225, align 8, !noalias !1562 + %cmp.not.i.i.i383.i.i2668 = icmp eq ptr %1511, null + br i1 %cmp.not.i.i.i383.i.i2668, label %invoke.cont126.i.i2672, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i2669 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i2669: ; preds = %invoke.cont2.i382.i.i2667 + %vtable.i.i.i.i385.i.i2670 = load ptr, ptr %1511, align 8 + %vfn.i.i.i.i386.i.i2671 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i2670, i64 1 + %1512 = load ptr, ptr %vfn.i.i.i.i386.i.i2671, align 8 call void %1512(ptr noundef nonnull align 8 dereferenceable(128) %1511) #30 - br label %invoke.cont126.i.i2669 + br label %invoke.cont126.i.i2672 -lpad.i375.i.i2658: ; preds = %invoke.cont.i381.i.i2663, %.noexc387.i.i2655 +lpad.i375.i.i2661: ; preds = %invoke.cont.i381.i.i2666, %.noexc387.i.i2658 %1513 = landingpad { ptr, i32 } cleanup - %1514 = load ptr, ptr %ref.tmp.i372.i.i2222, align 8, !noalias !1562 - %cmp.not.i.i2.i376.i.i2659 = icmp eq ptr %1514, null - br i1 %cmp.not.i.i2.i376.i.i2659, label %ehcleanup139.i.i2653, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i2660 + %1514 = load ptr, ptr %ref.tmp.i372.i.i2225, align 8, !noalias !1562 + %cmp.not.i.i2.i376.i.i2662 = icmp eq ptr %1514, null + br i1 %cmp.not.i.i2.i376.i.i2662, label %ehcleanup139.i.i2656, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i2663 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i2660: ; preds = %lpad.i375.i.i2658 - %vtable.i.i.i4.i378.i.i2661 = load ptr, ptr %1514, align 8 - %vfn.i.i.i5.i379.i.i2662 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i2661, i64 1 - %1515 = load ptr, ptr %vfn.i.i.i5.i379.i.i2662, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i2663: ; preds = %lpad.i375.i.i2661 + %vtable.i.i.i4.i378.i.i2664 = load ptr, ptr %1514, align 8 + %vfn.i.i.i5.i379.i.i2665 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i2664, i64 1 + %1515 = load ptr, ptr %vfn.i.i.i5.i379.i.i2665, align 8 call void %1515(ptr noundef nonnull align 8 dereferenceable(128) %1514) #30 - br label %ehcleanup139.i.i2653 - -invoke.cont126.i.i2669: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i2666, %invoke.cont2.i382.i.i2664 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i2222), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i2221), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i2221) - to label %.noexc405.i.i2670 unwind label %lpad125.i.i2652 - -.noexc405.i.i2670: ; preds = %invoke.cont126.i.i2669 - %1516 = load ptr, ptr %ref.tmp.i390.i.i2221, align 8, !noalias !1562 - %add.ptr.i.i391.i.i2671 = getelementptr inbounds i8, ptr %1516, i64 16 - %call2.i1.i392.i.i2672 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i2671, ptr noundef nonnull @.str.110) - to label %invoke.cont.i399.i.i2678 unwind label %lpad.i393.i.i2673 - -invoke.cont.i399.i.i2678: ; preds = %.noexc405.i.i2670 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2240, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i2221) - to label %invoke.cont2.i400.i.i2679 unwind label %lpad.i393.i.i2673 - -invoke.cont2.i400.i.i2679: ; preds = %invoke.cont.i399.i.i2678 - %1517 = load ptr, ptr %ref.tmp.i390.i.i2221, align 8, !noalias !1562 - %cmp.not.i.i.i401.i.i2680 = icmp eq ptr %1517, null - br i1 %cmp.not.i.i.i401.i.i2680, label %invoke.cont128.i.i2684, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i2681 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i2681: ; preds = %invoke.cont2.i400.i.i2679 - %vtable.i.i.i.i403.i.i2682 = load ptr, ptr %1517, align 8 - %vfn.i.i.i.i404.i.i2683 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i2682, i64 1 - %1518 = load ptr, ptr %vfn.i.i.i.i404.i.i2683, align 8 + br label %ehcleanup139.i.i2656 + +invoke.cont126.i.i2672: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i2669, %invoke.cont2.i382.i.i2667 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i2225), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i2224), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i2224) + to label %.noexc405.i.i2673 unwind label %lpad125.i.i2655 + +.noexc405.i.i2673: ; preds = %invoke.cont126.i.i2672 + %1516 = load ptr, ptr %ref.tmp.i390.i.i2224, align 8, !noalias !1562 + %add.ptr.i.i391.i.i2674 = getelementptr inbounds i8, ptr %1516, i64 16 + %call2.i1.i392.i.i2675 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i2674, ptr noundef nonnull @.str.110) + to label %invoke.cont.i399.i.i2681 unwind label %lpad.i393.i.i2676 + +invoke.cont.i399.i.i2681: ; preds = %.noexc405.i.i2673 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2243, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i2224) + to label %invoke.cont2.i400.i.i2682 unwind label %lpad.i393.i.i2676 + +invoke.cont2.i400.i.i2682: ; preds = %invoke.cont.i399.i.i2681 + %1517 = load ptr, ptr %ref.tmp.i390.i.i2224, align 8, !noalias !1562 + %cmp.not.i.i.i401.i.i2683 = icmp eq ptr %1517, null + br i1 %cmp.not.i.i.i401.i.i2683, label %invoke.cont128.i.i2687, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i2684 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i2684: ; preds = %invoke.cont2.i400.i.i2682 + %vtable.i.i.i.i403.i.i2685 = load ptr, ptr %1517, align 8 + %vfn.i.i.i.i404.i.i2686 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i2685, i64 1 + %1518 = load ptr, ptr %vfn.i.i.i.i404.i.i2686, align 8 call void %1518(ptr noundef nonnull align 8 dereferenceable(128) %1517) #30 - br label %invoke.cont128.i.i2684 + br label %invoke.cont128.i.i2687 -lpad.i393.i.i2673: ; preds = %invoke.cont.i399.i.i2678, %.noexc405.i.i2670 +lpad.i393.i.i2676: ; preds = %invoke.cont.i399.i.i2681, %.noexc405.i.i2673 %1519 = landingpad { ptr, i32 } cleanup - %1520 = load ptr, ptr %ref.tmp.i390.i.i2221, align 8, !noalias !1562 - %cmp.not.i.i2.i394.i.i2674 = icmp eq ptr %1520, null - br i1 %cmp.not.i.i2.i394.i.i2674, label %ehcleanup139.i.i2653, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i2675 + %1520 = load ptr, ptr %ref.tmp.i390.i.i2224, align 8, !noalias !1562 + %cmp.not.i.i2.i394.i.i2677 = icmp eq ptr %1520, null + br i1 %cmp.not.i.i2.i394.i.i2677, label %ehcleanup139.i.i2656, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i2678 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i2675: ; preds = %lpad.i393.i.i2673 - %vtable.i.i.i4.i396.i.i2676 = load ptr, ptr %1520, align 8 - %vfn.i.i.i5.i397.i.i2677 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i2676, i64 1 - %1521 = load ptr, ptr %vfn.i.i.i5.i397.i.i2677, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i2678: ; preds = %lpad.i393.i.i2676 + %vtable.i.i.i4.i396.i.i2679 = load ptr, ptr %1520, align 8 + %vfn.i.i.i5.i397.i.i2680 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i2679, i64 1 + %1521 = load ptr, ptr %vfn.i.i.i5.i397.i.i2680, align 8 call void %1521(ptr noundef nonnull align 8 dereferenceable(128) %1520) #30 - br label %ehcleanup139.i.i2653 - -invoke.cont128.i.i2684: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i2681, %invoke.cont2.i400.i.i2679 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i2221), !noalias !1562 - %call81.val86.i.i2685 = load ptr, ptr %__begin072.sroa.0.048.i.i2423, align 8 - %1522 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i2423, i64 8 - %call81.val87.i.i2686 = load i64, ptr %1522, align 8 - %call81.val86.val.i.i2687 = load ptr, ptr %call81.val86.i.i2685, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i2242, ptr %call81.val86.val.i.i2687, i64 %call81.val87.i.i2686) - to label %invoke.cont131.i.i2689 unwind label %lpad125.i.i2652 - -invoke.cont131.i.i2689: ; preds = %invoke.cont128.i.i2684 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i2220), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i2220) - to label %.noexc423.i.i2693 unwind label %lpad132.i.i2690 - -.noexc423.i.i2693: ; preds = %invoke.cont131.i.i2689 - %1523 = load ptr, ptr %ref.tmp.i408.i.i2220, align 8, !noalias !1562 - %add.ptr.i.i409.i.i2694 = getelementptr inbounds i8, ptr %1523, i64 16 - %call2.i1.i410.i.i2695 = 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) %add.ptr.i.i409.i.i2694, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i2242) - to label %invoke.cont.i417.i.i2701 unwind label %lpad.i411.i.i2696 - -invoke.cont.i417.i.i2701: ; preds = %.noexc423.i.i2693 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2240, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i2220) - to label %invoke.cont2.i418.i.i2702 unwind label %lpad.i411.i.i2696 - -invoke.cont2.i418.i.i2702: ; preds = %invoke.cont.i417.i.i2701 - %1524 = load ptr, ptr %ref.tmp.i408.i.i2220, align 8, !noalias !1562 - %cmp.not.i.i.i419.i.i2703 = icmp eq ptr %1524, null - br i1 %cmp.not.i.i.i419.i.i2703, label %invoke.cont133.i.i2707, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i2704 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i2704: ; preds = %invoke.cont2.i418.i.i2702 - %vtable.i.i.i.i421.i.i2705 = load ptr, ptr %1524, align 8 - %vfn.i.i.i.i422.i.i2706 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i2705, i64 1 - %1525 = load ptr, ptr %vfn.i.i.i.i422.i.i2706, align 8 + br label %ehcleanup139.i.i2656 + +invoke.cont128.i.i2687: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i2684, %invoke.cont2.i400.i.i2682 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i2224), !noalias !1562 + %call81.val86.i.i2688 = load ptr, ptr %__begin072.sroa.0.048.i.i2426, align 8 + %1522 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i2426, i64 8 + %call81.val87.i.i2689 = load i64, ptr %1522, align 8 + %call81.val86.val.i.i2690 = load ptr, ptr %call81.val86.i.i2688, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i2245, ptr %call81.val86.val.i.i2690, i64 %call81.val87.i.i2689) + to label %invoke.cont131.i.i2692 unwind label %lpad125.i.i2655 + +invoke.cont131.i.i2692: ; preds = %invoke.cont128.i.i2687 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i2223), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i2223) + to label %.noexc423.i.i2696 unwind label %lpad132.i.i2693 + +.noexc423.i.i2696: ; preds = %invoke.cont131.i.i2692 + %1523 = load ptr, ptr %ref.tmp.i408.i.i2223, align 8, !noalias !1562 + %add.ptr.i.i409.i.i2697 = getelementptr inbounds i8, ptr %1523, i64 16 + %call2.i1.i410.i.i2698 = 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) %add.ptr.i.i409.i.i2697, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i2245) + to label %invoke.cont.i417.i.i2704 unwind label %lpad.i411.i.i2699 + +invoke.cont.i417.i.i2704: ; preds = %.noexc423.i.i2696 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2243, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i2223) + to label %invoke.cont2.i418.i.i2705 unwind label %lpad.i411.i.i2699 + +invoke.cont2.i418.i.i2705: ; preds = %invoke.cont.i417.i.i2704 + %1524 = load ptr, ptr %ref.tmp.i408.i.i2223, align 8, !noalias !1562 + %cmp.not.i.i.i419.i.i2706 = icmp eq ptr %1524, null + br i1 %cmp.not.i.i.i419.i.i2706, label %invoke.cont133.i.i2710, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i2707 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i2707: ; preds = %invoke.cont2.i418.i.i2705 + %vtable.i.i.i.i421.i.i2708 = load ptr, ptr %1524, align 8 + %vfn.i.i.i.i422.i.i2709 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i2708, i64 1 + %1525 = load ptr, ptr %vfn.i.i.i.i422.i.i2709, align 8 call void %1525(ptr noundef nonnull align 8 dereferenceable(128) %1524) #30 - br label %invoke.cont133.i.i2707 + br label %invoke.cont133.i.i2710 -lpad.i411.i.i2696: ; preds = %invoke.cont.i417.i.i2701, %.noexc423.i.i2693 +lpad.i411.i.i2699: ; preds = %invoke.cont.i417.i.i2704, %.noexc423.i.i2696 %1526 = landingpad { ptr, i32 } cleanup - %1527 = load ptr, ptr %ref.tmp.i408.i.i2220, align 8, !noalias !1562 - %cmp.not.i.i2.i412.i.i2697 = icmp eq ptr %1527, null - br i1 %cmp.not.i.i2.i412.i.i2697, label %lpad132.body.i.i2691, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i2698 + %1527 = load ptr, ptr %ref.tmp.i408.i.i2223, align 8, !noalias !1562 + %cmp.not.i.i2.i412.i.i2700 = icmp eq ptr %1527, null + br i1 %cmp.not.i.i2.i412.i.i2700, label %lpad132.body.i.i2694, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i2701 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i2698: ; preds = %lpad.i411.i.i2696 - %vtable.i.i.i4.i414.i.i2699 = load ptr, ptr %1527, align 8 - %vfn.i.i.i5.i415.i.i2700 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i2699, i64 1 - %1528 = load ptr, ptr %vfn.i.i.i5.i415.i.i2700, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i2701: ; preds = %lpad.i411.i.i2699 + %vtable.i.i.i4.i414.i.i2702 = load ptr, ptr %1527, align 8 + %vfn.i.i.i5.i415.i.i2703 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i2702, i64 1 + %1528 = load ptr, ptr %vfn.i.i.i5.i415.i.i2703, align 8 call void %1528(ptr noundef nonnull align 8 dereferenceable(128) %1527) #30 - br label %lpad132.body.i.i2691 - -invoke.cont133.i.i2707: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i2704, %invoke.cont2.i418.i.i2702 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i2220), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i2219), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i2219) - to label %.noexc441.i.i2708 unwind label %lpad132.i.i2690 - -.noexc441.i.i2708: ; preds = %invoke.cont133.i.i2707 - %1529 = load ptr, ptr %ref.tmp.i426.i.i2219, align 8, !noalias !1562 - %add.ptr.i.i427.i.i2709 = getelementptr inbounds i8, ptr %1529, i64 16 - %call2.i1.i428.i.i2710 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i2709, ptr noundef nonnull @.str.111) - to label %invoke.cont.i435.i.i2716 unwind label %lpad.i429.i.i2711 - -invoke.cont.i435.i.i2716: ; preds = %.noexc441.i.i2708 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2240, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i2219) - to label %invoke.cont2.i436.i.i2717 unwind label %lpad.i429.i.i2711 - -invoke.cont2.i436.i.i2717: ; preds = %invoke.cont.i435.i.i2716 - %1530 = load ptr, ptr %ref.tmp.i426.i.i2219, align 8, !noalias !1562 - %cmp.not.i.i.i437.i.i2718 = icmp eq ptr %1530, null - br i1 %cmp.not.i.i.i437.i.i2718, label %invoke.cont135.i.i2722, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i2719 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i2719: ; preds = %invoke.cont2.i436.i.i2717 - %vtable.i.i.i.i439.i.i2720 = load ptr, ptr %1530, align 8 - %vfn.i.i.i.i440.i.i2721 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i2720, i64 1 - %1531 = load ptr, ptr %vfn.i.i.i.i440.i.i2721, align 8 + br label %lpad132.body.i.i2694 + +invoke.cont133.i.i2710: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i2707, %invoke.cont2.i418.i.i2705 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i2223), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i2222), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i2222) + to label %.noexc441.i.i2711 unwind label %lpad132.i.i2693 + +.noexc441.i.i2711: ; preds = %invoke.cont133.i.i2710 + %1529 = load ptr, ptr %ref.tmp.i426.i.i2222, align 8, !noalias !1562 + %add.ptr.i.i427.i.i2712 = getelementptr inbounds i8, ptr %1529, i64 16 + %call2.i1.i428.i.i2713 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i2712, ptr noundef nonnull @.str.111) + to label %invoke.cont.i435.i.i2719 unwind label %lpad.i429.i.i2714 + +invoke.cont.i435.i.i2719: ; preds = %.noexc441.i.i2711 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2243, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i2222) + to label %invoke.cont2.i436.i.i2720 unwind label %lpad.i429.i.i2714 + +invoke.cont2.i436.i.i2720: ; preds = %invoke.cont.i435.i.i2719 + %1530 = load ptr, ptr %ref.tmp.i426.i.i2222, align 8, !noalias !1562 + %cmp.not.i.i.i437.i.i2721 = icmp eq ptr %1530, null + br i1 %cmp.not.i.i.i437.i.i2721, label %invoke.cont135.i.i2725, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i2722 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i2722: ; preds = %invoke.cont2.i436.i.i2720 + %vtable.i.i.i.i439.i.i2723 = load ptr, ptr %1530, align 8 + %vfn.i.i.i.i440.i.i2724 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i2723, i64 1 + %1531 = load ptr, ptr %vfn.i.i.i.i440.i.i2724, align 8 call void %1531(ptr noundef nonnull align 8 dereferenceable(128) %1530) #30 - br label %invoke.cont135.i.i2722 + br label %invoke.cont135.i.i2725 -lpad.i429.i.i2711: ; preds = %invoke.cont.i435.i.i2716, %.noexc441.i.i2708 +lpad.i429.i.i2714: ; preds = %invoke.cont.i435.i.i2719, %.noexc441.i.i2711 %1532 = landingpad { ptr, i32 } cleanup - %1533 = load ptr, ptr %ref.tmp.i426.i.i2219, align 8, !noalias !1562 - %cmp.not.i.i2.i430.i.i2712 = icmp eq ptr %1533, null - br i1 %cmp.not.i.i2.i430.i.i2712, label %lpad132.body.i.i2691, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i2713 + %1533 = load ptr, ptr %ref.tmp.i426.i.i2222, align 8, !noalias !1562 + %cmp.not.i.i2.i430.i.i2715 = icmp eq ptr %1533, null + br i1 %cmp.not.i.i2.i430.i.i2715, label %lpad132.body.i.i2694, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i2716 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i2713: ; preds = %lpad.i429.i.i2711 - %vtable.i.i.i4.i432.i.i2714 = load ptr, ptr %1533, align 8 - %vfn.i.i.i5.i433.i.i2715 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i2714, i64 1 - %1534 = load ptr, ptr %vfn.i.i.i5.i433.i.i2715, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i2716: ; preds = %lpad.i429.i.i2714 + %vtable.i.i.i4.i432.i.i2717 = load ptr, ptr %1533, align 8 + %vfn.i.i.i5.i433.i.i2718 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i2717, i64 1 + %1534 = load ptr, ptr %vfn.i.i.i5.i433.i.i2718, align 8 call void %1534(ptr noundef nonnull align 8 dereferenceable(128) %1533) #30 - br label %lpad132.body.i.i2691 - -invoke.cont135.i.i2722: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i2719, %invoke.cont2.i436.i.i2717 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i2219), !noalias !1562 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2240) - to label %invoke.cont137.i.i2723 unwind label %lpad132.i.i2690 - -invoke.cont137.i.i2723: ; preds = %invoke.cont135.i.i2722 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i2242) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i2241) #30 - %message_.i444.i.i2724 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i2240, i64 0, i32 1 - %1535 = load ptr, ptr %message_.i444.i.i2724, align 8, !noalias !1562 - %cmp.not.i.i445.i.i2725 = icmp eq ptr %1535, null - br i1 %cmp.not.i.i445.i.i2725, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i2727, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i2726 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i2726: ; preds = %invoke.cont137.i.i2723 + br label %lpad132.body.i.i2694 + +invoke.cont135.i.i2725: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i2722, %invoke.cont2.i436.i.i2720 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i2222), !noalias !1562 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2243) + to label %invoke.cont137.i.i2726 unwind label %lpad132.i.i2693 + +invoke.cont137.i.i2726: ; preds = %invoke.cont135.i.i2725 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i2245) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i2244) #30 + %message_.i444.i.i2727 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i2243, i64 0, i32 1 + %1535 = load ptr, ptr %message_.i444.i.i2727, align 8, !noalias !1562 + %cmp.not.i.i445.i.i2728 = icmp eq ptr %1535, null + br i1 %cmp.not.i.i445.i.i2728, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i2730, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i2729 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i2729: ; preds = %invoke.cont137.i.i2726 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1535) #30 call void @_ZdlPv(ptr noundef nonnull %1535) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i2727 + br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i2730 -_ZN7testing15AssertionResultD2Ev.exit447.i.i2727: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i2726, %invoke.cont137.i.i2723 - store ptr null, ptr %message_.i444.i.i2724, align 8, !noalias !1562 - br label %cleanup257.critedge.i.i2553 +_ZN7testing15AssertionResultD2Ev.exit447.i.i2730: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i2729, %invoke.cont137.i.i2726 + store ptr null, ptr %message_.i444.i.i2727, align 8, !noalias !1562 + br label %cleanup257.critedge.i.i2556 -lpad112.i.i2601: ; preds = %invoke.cont111.i.i2599 +lpad112.i.i2604: ; preds = %invoke.cont111.i.i2602 %1536 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i2239) #30 - br label %ehcleanup252.i.i2429 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i2242) #30 + br label %ehcleanup252.i.i2432 -lpad119.i.i2628: ; preds = %invoke.cont120.i.i2645, %invoke.cont118.i.i2627 +lpad119.i.i2631: ; preds = %invoke.cont120.i.i2648, %invoke.cont118.i.i2630 %1537 = landingpad { ptr, i32 } cleanup - br label %ehcleanup140.i.i2629 + br label %ehcleanup140.i.i2632 -lpad125.i.i2652: ; preds = %invoke.cont128.i.i2684, %invoke.cont126.i.i2669, %invoke.cont124.i.i2651 +lpad125.i.i2655: ; preds = %invoke.cont128.i.i2687, %invoke.cont126.i.i2672, %invoke.cont124.i.i2654 %1538 = landingpad { ptr, i32 } cleanup - br label %ehcleanup139.i.i2653 + br label %ehcleanup139.i.i2656 -lpad132.i.i2690: ; preds = %invoke.cont135.i.i2722, %invoke.cont133.i.i2707, %invoke.cont131.i.i2689 +lpad132.i.i2693: ; preds = %invoke.cont135.i.i2725, %invoke.cont133.i.i2710, %invoke.cont131.i.i2692 %1539 = landingpad { ptr, i32 } cleanup - br label %lpad132.body.i.i2691 - -lpad132.body.i.i2691: ; preds = %lpad132.i.i2690, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i2713, %lpad.i429.i.i2711, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i2698, %lpad.i411.i.i2696 - %eh.lpad-body424.i.i2692 = phi { ptr, i32 } [ %1526, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i2698 ], [ %1526, %lpad.i411.i.i2696 ], [ %1539, %lpad132.i.i2690 ], [ %1532, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i2713 ], [ %1532, %lpad.i429.i.i2711 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i2242) #30 - br label %ehcleanup139.i.i2653 - -ehcleanup139.i.i2653: ; preds = %lpad132.body.i.i2691, %lpad125.i.i2652, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i2675, %lpad.i393.i.i2673, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i2660, %lpad.i375.i.i2658 - %.pn40.i.i2654 = phi { ptr, i32 } [ %eh.lpad-body424.i.i2692, %lpad132.body.i.i2691 ], [ %1513, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i2660 ], [ %1513, %lpad.i375.i.i2658 ], [ %1538, %lpad125.i.i2652 ], [ %1519, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i2675 ], [ %1519, %lpad.i393.i.i2673 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i2241) #30 - br label %ehcleanup140.i.i2629 - -ehcleanup140.i.i2629: ; preds = %ehcleanup139.i.i2653, %lpad119.i.i2628, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i2636, %lpad.i358.i.i2634 - %.pn40.pn.i.i2630 = phi { ptr, i32 } [ %.pn40.i.i2654, %ehcleanup139.i.i2653 ], [ %1537, %lpad119.i.i2628 ], [ %1506, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i2636 ], [ %1506, %lpad.i358.i.i2634 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2240) #30 - br label %ehcleanup252.i.i2429 - -for.inc142.i.i2728: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2625 - %incdec.ptr.i448.i.i2729 = getelementptr inbounds %struct.Info.923, ptr %__begin072.sroa.0.048.i.i2423, i64 1 - %cmp.i161.not.i.i2730 = icmp eq ptr %incdec.ptr.i448.i.i2729, %call68.val81.i.i2420 - br i1 %cmp.i161.not.i.i2730, label %for.end144.i.i2731, label %for.body80.i.i2422 - -for.end144.i.i2731: ; preds = %for.inc142.i.i2728, %invoke.cont70.i.i2418 - %classes.val53.i.i2732 = load ptr, ptr %classes.i.i2229, align 8, !noalias !1562 - %classes.val56.i.i2733 = load ptr, ptr %1381, align 8, !noalias !1562 - %cmp.i449.not49.i.i2734 = icmp eq ptr %classes.val53.i.i2732, %classes.val56.i.i2733 - br i1 %cmp.i449.not49.i.i2734, label %cleanup249.i.i3129, label %for.body154.i.i2735 - -for.body154.i.i2735: ; preds = %for.end144.i.i2731, %for.inc246.i.i3126 - %__begin0146.sroa.0.050.i.i2736 = phi ptr [ %incdec.ptr.i779.i.i3127, %for.inc246.i.i3126 ], [ %classes.val53.i.i2732, %for.end144.i.i2731 ] - %cmp156.i.i2737 = icmp eq ptr %__begin058.sroa.0.052.i.i2411, %__begin0146.sroa.0.050.i.i2736 - br i1 %cmp156.i.i2737, label %for.inc246.i.i3126, label %if.end158.i.i2738 - -if.end158.i.i2738: ; preds = %for.body154.i.i2735 - %call155.val.i.i2739 = load ptr, ptr %__begin0146.sroa.0.050.i.i2736, align 8 - %call159.val.i.i2740 = load ptr, ptr %call155.val.i.i2739, align 8 - %call159.val.val.i.i2741 = load ptr, ptr %call159.val.i.i2740, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i2243, ptr %call159.val.val.i.i2741) - to label %invoke.cont160.i.i2745 unwind label %lpad83.loopexit.i.i2743 - -invoke.cont160.i.i2745: ; preds = %if.end158.i.i2738 - %call163.i.i2746 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i2234, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i2243) - to label %invoke.cont162.i.i2751 unwind label %lpad161.loopexit.i.i2747 - -invoke.cont162.i.i2751: ; preds = %invoke.cont160.i.i2745 - switch i32 %call163.i.i2746, label %cleanup242.i.i3103 [ - i32 0, label %sw.bb.i.i3002 - i32 2, label %sw.bb189.i.i2901 - i32 1, label %sw.bb215.i.i2752 + br label %lpad132.body.i.i2694 + +lpad132.body.i.i2694: ; preds = %lpad132.i.i2693, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i2716, %lpad.i429.i.i2714, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i2701, %lpad.i411.i.i2699 + %eh.lpad-body424.i.i2695 = phi { ptr, i32 } [ %1526, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i2701 ], [ %1526, %lpad.i411.i.i2699 ], [ %1539, %lpad132.i.i2693 ], [ %1532, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i2716 ], [ %1532, %lpad.i429.i.i2714 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i2245) #30 + br label %ehcleanup139.i.i2656 + +ehcleanup139.i.i2656: ; preds = %lpad132.body.i.i2694, %lpad125.i.i2655, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i2678, %lpad.i393.i.i2676, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i2663, %lpad.i375.i.i2661 + %.pn40.i.i2657 = phi { ptr, i32 } [ %eh.lpad-body424.i.i2695, %lpad132.body.i.i2694 ], [ %1513, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i2663 ], [ %1513, %lpad.i375.i.i2661 ], [ %1538, %lpad125.i.i2655 ], [ %1519, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i2678 ], [ %1519, %lpad.i393.i.i2676 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i2244) #30 + br label %ehcleanup140.i.i2632 + +ehcleanup140.i.i2632: ; preds = %ehcleanup139.i.i2656, %lpad119.i.i2631, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i2639, %lpad.i358.i.i2637 + %.pn40.pn.i.i2633 = phi { ptr, i32 } [ %.pn40.i.i2657, %ehcleanup139.i.i2656 ], [ %1537, %lpad119.i.i2631 ], [ %1506, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i2639 ], [ %1506, %lpad.i358.i.i2637 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i2243) #30 + br label %ehcleanup252.i.i2432 + +for.inc142.i.i2731: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i2628 + %incdec.ptr.i448.i.i2732 = getelementptr inbounds %struct.Info.923, ptr %__begin072.sroa.0.048.i.i2426, i64 1 + %cmp.i161.not.i.i2733 = icmp eq ptr %incdec.ptr.i448.i.i2732, %call68.val81.i.i2423 + br i1 %cmp.i161.not.i.i2733, label %for.end144.i.i2734, label %for.body80.i.i2425 + +for.end144.i.i2734: ; preds = %for.inc142.i.i2731, %invoke.cont70.i.i2421 + %classes.val53.i.i2735 = load ptr, ptr %classes.i.i2232, align 8, !noalias !1562 + %classes.val56.i.i2736 = load ptr, ptr %1381, align 8, !noalias !1562 + %cmp.i449.not49.i.i2737 = icmp eq ptr %classes.val53.i.i2735, %classes.val56.i.i2736 + br i1 %cmp.i449.not49.i.i2737, label %cleanup249.i.i3132, label %for.body154.i.i2738 + +for.body154.i.i2738: ; preds = %for.end144.i.i2734, %for.inc246.i.i3129 + %__begin0146.sroa.0.050.i.i2739 = phi ptr [ %incdec.ptr.i779.i.i3130, %for.inc246.i.i3129 ], [ %classes.val53.i.i2735, %for.end144.i.i2734 ] + %cmp156.i.i2740 = icmp eq ptr %__begin058.sroa.0.052.i.i2414, %__begin0146.sroa.0.050.i.i2739 + br i1 %cmp156.i.i2740, label %for.inc246.i.i3129, label %if.end158.i.i2741 + +if.end158.i.i2741: ; preds = %for.body154.i.i2738 + %call155.val.i.i2742 = load ptr, ptr %__begin0146.sroa.0.050.i.i2739, align 8 + %call159.val.i.i2743 = load ptr, ptr %call155.val.i.i2742, align 8 + %call159.val.val.i.i2744 = load ptr, ptr %call159.val.i.i2743, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i2246, ptr %call159.val.val.i.i2744) + to label %invoke.cont160.i.i2748 unwind label %lpad83.loopexit.i.i2746 + +invoke.cont160.i.i2748: ; preds = %if.end158.i.i2741 + %call163.i.i2749 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i2237, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i2246) + to label %invoke.cont162.i.i2754 unwind label %lpad161.loopexit.i.i2750 + +invoke.cont162.i.i2754: ; preds = %invoke.cont160.i.i2748 + switch i32 %call163.i.i2749, label %cleanup242.i.i3106 [ + i32 0, label %sw.bb.i.i3005 + i32 2, label %sw.bb189.i.i2904 + i32 1, label %sw.bb215.i.i2755 ] -lpad161.loopexit.i.i2747: ; preds = %invoke.cont160.i.i2745 - %lpad.loopexit5.i.i2748 = landingpad { ptr, i32 } +lpad161.loopexit.i.i2750: ; preds = %invoke.cont160.i.i2748 + %lpad.loopexit5.i.i2751 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i2749 + br label %ehcleanup245.i.i2752 -lpad161.loopexit.split-lp.i.i2753: ; preds = %sw.bb215.i.i2752, %sw.bb189.i.i2901, %sw.bb.i.i3002 - %lpad.loopexit.split-lp6.i.i2754 = landingpad { ptr, i32 } +lpad161.loopexit.split-lp.i.i2756: ; preds = %sw.bb215.i.i2755, %sw.bb189.i.i2904, %sw.bb.i.i3005 + %lpad.loopexit.split-lp6.i.i2757 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i2749 + br label %ehcleanup245.i.i2752 -sw.bb.i.i3002: ; preds = %invoke.cont162.i.i2751 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i2244) - to label %invoke.cont165.i.i3003 unwind label %lpad161.loopexit.split-lp.i.i2753 +sw.bb.i.i3005: ; preds = %invoke.cont162.i.i2754 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i2247) + to label %invoke.cont165.i.i3006 unwind label %lpad161.loopexit.split-lp.i.i2756 -invoke.cont165.i.i3003: ; preds = %sw.bb.i.i3002 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i2218), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i2218) - to label %.noexc465.i.i3007 unwind label %lpad166.i.i3004 +invoke.cont165.i.i3006: ; preds = %sw.bb.i.i3005 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i2221), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i2221) + to label %.noexc465.i.i3010 unwind label %lpad166.i.i3007 -.noexc465.i.i3007: ; preds = %invoke.cont165.i.i3003 - %1540 = load ptr, ptr %ref.tmp.i450.i.i2218, align 8, !noalias !1562 - %add.ptr.i.i451.i.i3008 = getelementptr inbounds i8, ptr %1540, i64 16 - %call2.i1.i452.i.i3009 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i3008, ptr noundef nonnull @.str.109) - to label %invoke.cont.i459.i.i3015 unwind label %lpad.i453.i.i3010 +.noexc465.i.i3010: ; preds = %invoke.cont165.i.i3006 + %1540 = load ptr, ptr %ref.tmp.i450.i.i2221, align 8, !noalias !1562 + %add.ptr.i.i451.i.i3011 = getelementptr inbounds i8, ptr %1540, i64 16 + %call2.i1.i452.i.i3012 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i3011, ptr noundef nonnull @.str.109) + to label %invoke.cont.i459.i.i3018 unwind label %lpad.i453.i.i3013 -invoke.cont.i459.i.i3015: ; preds = %.noexc465.i.i3007 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2244, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i2218) - to label %invoke.cont2.i460.i.i3016 unwind label %lpad.i453.i.i3010 +invoke.cont.i459.i.i3018: ; preds = %.noexc465.i.i3010 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i2221) + to label %invoke.cont2.i460.i.i3019 unwind label %lpad.i453.i.i3013 -invoke.cont2.i460.i.i3016: ; preds = %invoke.cont.i459.i.i3015 - %1541 = load ptr, ptr %ref.tmp.i450.i.i2218, align 8, !noalias !1562 - %cmp.not.i.i.i461.i.i3017 = icmp eq ptr %1541, null - br i1 %cmp.not.i.i.i461.i.i3017, label %invoke.cont167.i.i3021, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i3018 +invoke.cont2.i460.i.i3019: ; preds = %invoke.cont.i459.i.i3018 + %1541 = load ptr, ptr %ref.tmp.i450.i.i2221, align 8, !noalias !1562 + %cmp.not.i.i.i461.i.i3020 = icmp eq ptr %1541, null + br i1 %cmp.not.i.i.i461.i.i3020, label %invoke.cont167.i.i3024, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i3021 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i3018: ; preds = %invoke.cont2.i460.i.i3016 - %vtable.i.i.i.i463.i.i3019 = load ptr, ptr %1541, align 8 - %vfn.i.i.i.i464.i.i3020 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i3019, i64 1 - %1542 = load ptr, ptr %vfn.i.i.i.i464.i.i3020, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i3021: ; preds = %invoke.cont2.i460.i.i3019 + %vtable.i.i.i.i463.i.i3022 = load ptr, ptr %1541, align 8 + %vfn.i.i.i.i464.i.i3023 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i3022, i64 1 + %1542 = load ptr, ptr %vfn.i.i.i.i464.i.i3023, align 8 call void %1542(ptr noundef nonnull align 8 dereferenceable(128) %1541) #30 - br label %invoke.cont167.i.i3021 + br label %invoke.cont167.i.i3024 -lpad.i453.i.i3010: ; preds = %invoke.cont.i459.i.i3015, %.noexc465.i.i3007 +lpad.i453.i.i3013: ; preds = %invoke.cont.i459.i.i3018, %.noexc465.i.i3010 %1543 = landingpad { ptr, i32 } cleanup - %1544 = load ptr, ptr %ref.tmp.i450.i.i2218, align 8, !noalias !1562 - %cmp.not.i.i2.i454.i.i3011 = icmp eq ptr %1544, null - br i1 %cmp.not.i.i2.i454.i.i3011, label %ehcleanup188.i.i3005, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i3012 + %1544 = load ptr, ptr %ref.tmp.i450.i.i2221, align 8, !noalias !1562 + %cmp.not.i.i2.i454.i.i3014 = icmp eq ptr %1544, null + br i1 %cmp.not.i.i2.i454.i.i3014, label %ehcleanup188.i.i3008, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i3015 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i3012: ; preds = %lpad.i453.i.i3010 - %vtable.i.i.i4.i456.i.i3013 = load ptr, ptr %1544, align 8 - %vfn.i.i.i5.i457.i.i3014 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i3013, i64 1 - %1545 = load ptr, ptr %vfn.i.i.i5.i457.i.i3014, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i3015: ; preds = %lpad.i453.i.i3013 + %vtable.i.i.i4.i456.i.i3016 = load ptr, ptr %1544, align 8 + %vfn.i.i.i5.i457.i.i3017 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i3016, i64 1 + %1545 = load ptr, ptr %vfn.i.i.i5.i457.i.i3017, align 8 call void %1545(ptr noundef nonnull align 8 dereferenceable(128) %1544) #30 - br label %ehcleanup188.i.i3005 - -invoke.cont167.i.i3021: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i3018, %invoke.cont2.i460.i.i3016 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i2218), !noalias !1562 - %call68.val74.i.i3022 = load ptr, ptr %__begin058.sroa.0.052.i.i2411, align 8 - %call170.val.i.i3023 = load ptr, ptr %call68.val74.i.i3022, align 8 - %1546 = getelementptr i8, ptr %call68.val74.i.i3022, i64 8 - %call170.val88.i.i3024 = load i64, ptr %1546, align 8 - %call170.val.val.i.i3025 = load ptr, ptr %call170.val.i.i3023, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i2245, ptr %call170.val.val.i.i3025, i64 %call170.val88.i.i3024) - to label %invoke.cont171.i.i3027 unwind label %lpad166.i.i3004 - -invoke.cont171.i.i3027: ; preds = %invoke.cont167.i.i3021 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i2217), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i2217) - to label %.noexc483.i.i3031 unwind label %lpad172.i.i3028 - -.noexc483.i.i3031: ; preds = %invoke.cont171.i.i3027 - %1547 = load ptr, ptr %ref.tmp.i468.i.i2217, align 8, !noalias !1562 - %add.ptr.i.i469.i.i3032 = getelementptr inbounds i8, ptr %1547, i64 16 - %call2.i1.i470.i.i3033 = 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) %add.ptr.i.i469.i.i3032, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i2245) - to label %invoke.cont.i477.i.i3039 unwind label %lpad.i471.i.i3034 - -invoke.cont.i477.i.i3039: ; preds = %.noexc483.i.i3031 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2244, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i2217) - to label %invoke.cont2.i478.i.i3040 unwind label %lpad.i471.i.i3034 - -invoke.cont2.i478.i.i3040: ; preds = %invoke.cont.i477.i.i3039 - %1548 = load ptr, ptr %ref.tmp.i468.i.i2217, align 8, !noalias !1562 - %cmp.not.i.i.i479.i.i3041 = icmp eq ptr %1548, null - br i1 %cmp.not.i.i.i479.i.i3041, label %invoke.cont173.i.i3045, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i3042 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i3042: ; preds = %invoke.cont2.i478.i.i3040 - %vtable.i.i.i.i481.i.i3043 = load ptr, ptr %1548, align 8 - %vfn.i.i.i.i482.i.i3044 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i3043, i64 1 - %1549 = load ptr, ptr %vfn.i.i.i.i482.i.i3044, align 8 + br label %ehcleanup188.i.i3008 + +invoke.cont167.i.i3024: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i3021, %invoke.cont2.i460.i.i3019 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i2221), !noalias !1562 + %call68.val74.i.i3025 = load ptr, ptr %__begin058.sroa.0.052.i.i2414, align 8 + %call170.val.i.i3026 = load ptr, ptr %call68.val74.i.i3025, align 8 + %1546 = getelementptr i8, ptr %call68.val74.i.i3025, i64 8 + %call170.val88.i.i3027 = load i64, ptr %1546, align 8 + %call170.val.val.i.i3028 = load ptr, ptr %call170.val.i.i3026, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i2248, ptr %call170.val.val.i.i3028, i64 %call170.val88.i.i3027) + to label %invoke.cont171.i.i3030 unwind label %lpad166.i.i3007 + +invoke.cont171.i.i3030: ; preds = %invoke.cont167.i.i3024 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i2220), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i2220) + to label %.noexc483.i.i3034 unwind label %lpad172.i.i3031 + +.noexc483.i.i3034: ; preds = %invoke.cont171.i.i3030 + %1547 = load ptr, ptr %ref.tmp.i468.i.i2220, align 8, !noalias !1562 + %add.ptr.i.i469.i.i3035 = getelementptr inbounds i8, ptr %1547, i64 16 + %call2.i1.i470.i.i3036 = 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) %add.ptr.i.i469.i.i3035, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i2248) + to label %invoke.cont.i477.i.i3042 unwind label %lpad.i471.i.i3037 + +invoke.cont.i477.i.i3042: ; preds = %.noexc483.i.i3034 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i2220) + to label %invoke.cont2.i478.i.i3043 unwind label %lpad.i471.i.i3037 + +invoke.cont2.i478.i.i3043: ; preds = %invoke.cont.i477.i.i3042 + %1548 = load ptr, ptr %ref.tmp.i468.i.i2220, align 8, !noalias !1562 + %cmp.not.i.i.i479.i.i3044 = icmp eq ptr %1548, null + br i1 %cmp.not.i.i.i479.i.i3044, label %invoke.cont173.i.i3048, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i3045 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i3045: ; preds = %invoke.cont2.i478.i.i3043 + %vtable.i.i.i.i481.i.i3046 = load ptr, ptr %1548, align 8 + %vfn.i.i.i.i482.i.i3047 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i3046, i64 1 + %1549 = load ptr, ptr %vfn.i.i.i.i482.i.i3047, align 8 call void %1549(ptr noundef nonnull align 8 dereferenceable(128) %1548) #30 - br label %invoke.cont173.i.i3045 + br label %invoke.cont173.i.i3048 -lpad.i471.i.i3034: ; preds = %invoke.cont.i477.i.i3039, %.noexc483.i.i3031 +lpad.i471.i.i3037: ; preds = %invoke.cont.i477.i.i3042, %.noexc483.i.i3034 %1550 = landingpad { ptr, i32 } cleanup - %1551 = load ptr, ptr %ref.tmp.i468.i.i2217, align 8, !noalias !1562 - %cmp.not.i.i2.i472.i.i3035 = icmp eq ptr %1551, null - br i1 %cmp.not.i.i2.i472.i.i3035, label %ehcleanup187.i.i3029, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i3036 + %1551 = load ptr, ptr %ref.tmp.i468.i.i2220, align 8, !noalias !1562 + %cmp.not.i.i2.i472.i.i3038 = icmp eq ptr %1551, null + br i1 %cmp.not.i.i2.i472.i.i3038, label %ehcleanup187.i.i3032, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i3039 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i3036: ; preds = %lpad.i471.i.i3034 - %vtable.i.i.i4.i474.i.i3037 = load ptr, ptr %1551, align 8 - %vfn.i.i.i5.i475.i.i3038 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i3037, i64 1 - %1552 = load ptr, ptr %vfn.i.i.i5.i475.i.i3038, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i3039: ; preds = %lpad.i471.i.i3037 + %vtable.i.i.i4.i474.i.i3040 = load ptr, ptr %1551, align 8 + %vfn.i.i.i5.i475.i.i3041 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i3040, i64 1 + %1552 = load ptr, ptr %vfn.i.i.i5.i475.i.i3041, align 8 call void %1552(ptr noundef nonnull align 8 dereferenceable(128) %1551) #30 - br label %ehcleanup187.i.i3029 - -invoke.cont173.i.i3045: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i3042, %invoke.cont2.i478.i.i3040 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i2217), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i2216), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i2216) - to label %.noexc501.i.i3046 unwind label %lpad172.i.i3028 - -.noexc501.i.i3046: ; preds = %invoke.cont173.i.i3045 - %1553 = load ptr, ptr %ref.tmp.i486.i.i2216, align 8, !noalias !1562 - %add.ptr.i.i487.i.i3047 = getelementptr inbounds i8, ptr %1553, i64 16 - %call2.i1.i488.i.i3048 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i3047, ptr noundef nonnull @.str.110) - to label %invoke.cont.i495.i.i3054 unwind label %lpad.i489.i.i3049 - -invoke.cont.i495.i.i3054: ; preds = %.noexc501.i.i3046 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2244, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i2216) - to label %invoke.cont2.i496.i.i3055 unwind label %lpad.i489.i.i3049 - -invoke.cont2.i496.i.i3055: ; preds = %invoke.cont.i495.i.i3054 - %1554 = load ptr, ptr %ref.tmp.i486.i.i2216, align 8, !noalias !1562 - %cmp.not.i.i.i497.i.i3056 = icmp eq ptr %1554, null - br i1 %cmp.not.i.i.i497.i.i3056, label %invoke.cont175.i.i3060, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i3057 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i3057: ; preds = %invoke.cont2.i496.i.i3055 - %vtable.i.i.i.i499.i.i3058 = load ptr, ptr %1554, align 8 - %vfn.i.i.i.i500.i.i3059 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i3058, i64 1 - %1555 = load ptr, ptr %vfn.i.i.i.i500.i.i3059, align 8 + br label %ehcleanup187.i.i3032 + +invoke.cont173.i.i3048: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i3045, %invoke.cont2.i478.i.i3043 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i2220), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i2219), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i2219) + to label %.noexc501.i.i3049 unwind label %lpad172.i.i3031 + +.noexc501.i.i3049: ; preds = %invoke.cont173.i.i3048 + %1553 = load ptr, ptr %ref.tmp.i486.i.i2219, align 8, !noalias !1562 + %add.ptr.i.i487.i.i3050 = getelementptr inbounds i8, ptr %1553, i64 16 + %call2.i1.i488.i.i3051 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i3050, ptr noundef nonnull @.str.110) + to label %invoke.cont.i495.i.i3057 unwind label %lpad.i489.i.i3052 + +invoke.cont.i495.i.i3057: ; preds = %.noexc501.i.i3049 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i2219) + to label %invoke.cont2.i496.i.i3058 unwind label %lpad.i489.i.i3052 + +invoke.cont2.i496.i.i3058: ; preds = %invoke.cont.i495.i.i3057 + %1554 = load ptr, ptr %ref.tmp.i486.i.i2219, align 8, !noalias !1562 + %cmp.not.i.i.i497.i.i3059 = icmp eq ptr %1554, null + br i1 %cmp.not.i.i.i497.i.i3059, label %invoke.cont175.i.i3063, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i3060 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i3060: ; preds = %invoke.cont2.i496.i.i3058 + %vtable.i.i.i.i499.i.i3061 = load ptr, ptr %1554, align 8 + %vfn.i.i.i.i500.i.i3062 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i3061, i64 1 + %1555 = load ptr, ptr %vfn.i.i.i.i500.i.i3062, align 8 call void %1555(ptr noundef nonnull align 8 dereferenceable(128) %1554) #30 - br label %invoke.cont175.i.i3060 + br label %invoke.cont175.i.i3063 -lpad.i489.i.i3049: ; preds = %invoke.cont.i495.i.i3054, %.noexc501.i.i3046 +lpad.i489.i.i3052: ; preds = %invoke.cont.i495.i.i3057, %.noexc501.i.i3049 %1556 = landingpad { ptr, i32 } cleanup - %1557 = load ptr, ptr %ref.tmp.i486.i.i2216, align 8, !noalias !1562 - %cmp.not.i.i2.i490.i.i3050 = icmp eq ptr %1557, null - br i1 %cmp.not.i.i2.i490.i.i3050, label %ehcleanup187.i.i3029, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i3051 + %1557 = load ptr, ptr %ref.tmp.i486.i.i2219, align 8, !noalias !1562 + %cmp.not.i.i2.i490.i.i3053 = icmp eq ptr %1557, null + br i1 %cmp.not.i.i2.i490.i.i3053, label %ehcleanup187.i.i3032, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i3054 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i3051: ; preds = %lpad.i489.i.i3049 - %vtable.i.i.i4.i492.i.i3052 = load ptr, ptr %1557, align 8 - %vfn.i.i.i5.i493.i.i3053 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i3052, i64 1 - %1558 = load ptr, ptr %vfn.i.i.i5.i493.i.i3053, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i3054: ; preds = %lpad.i489.i.i3052 + %vtable.i.i.i4.i492.i.i3055 = load ptr, ptr %1557, align 8 + %vfn.i.i.i5.i493.i.i3056 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i3055, i64 1 + %1558 = load ptr, ptr %vfn.i.i.i5.i493.i.i3056, align 8 call void %1558(ptr noundef nonnull align 8 dereferenceable(128) %1557) #30 - br label %ehcleanup187.i.i3029 - -invoke.cont175.i.i3060: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i3057, %invoke.cont2.i496.i.i3055 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i2216), !noalias !1562 - %call155.val75.i.i3061 = load ptr, ptr %__begin0146.sroa.0.050.i.i2736, align 8 - %call178.val.i.i3062 = load ptr, ptr %call155.val75.i.i3061, align 8 - %1559 = getelementptr i8, ptr %call155.val75.i.i3061, i64 8 - %call178.val89.i.i3063 = load i64, ptr %1559, align 8 - %call178.val.val.i.i3064 = load ptr, ptr %call178.val.i.i3062, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i2246, ptr %call178.val.val.i.i3064, i64 %call178.val89.i.i3063) - to label %invoke.cont179.i.i3066 unwind label %lpad172.i.i3028 - -invoke.cont179.i.i3066: ; preds = %invoke.cont175.i.i3060 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i2215), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i2215) - to label %.noexc520.i.i3070 unwind label %lpad180.i.i3067 - -.noexc520.i.i3070: ; preds = %invoke.cont179.i.i3066 - %1560 = load ptr, ptr %ref.tmp.i505.i.i2215, align 8, !noalias !1562 - %add.ptr.i.i506.i.i3071 = getelementptr inbounds i8, ptr %1560, i64 16 - %call2.i1.i507.i.i3072 = 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) %add.ptr.i.i506.i.i3071, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i2246) - to label %invoke.cont.i514.i.i3078 unwind label %lpad.i508.i.i3073 - -invoke.cont.i514.i.i3078: ; preds = %.noexc520.i.i3070 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2244, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i2215) - to label %invoke.cont2.i515.i.i3079 unwind label %lpad.i508.i.i3073 - -invoke.cont2.i515.i.i3079: ; preds = %invoke.cont.i514.i.i3078 - %1561 = load ptr, ptr %ref.tmp.i505.i.i2215, align 8, !noalias !1562 - %cmp.not.i.i.i516.i.i3080 = icmp eq ptr %1561, null - br i1 %cmp.not.i.i.i516.i.i3080, label %invoke.cont181.i.i3084, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i3081 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i3081: ; preds = %invoke.cont2.i515.i.i3079 - %vtable.i.i.i.i518.i.i3082 = load ptr, ptr %1561, align 8 - %vfn.i.i.i.i519.i.i3083 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i3082, i64 1 - %1562 = load ptr, ptr %vfn.i.i.i.i519.i.i3083, align 8 + br label %ehcleanup187.i.i3032 + +invoke.cont175.i.i3063: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i3060, %invoke.cont2.i496.i.i3058 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i2219), !noalias !1562 + %call155.val75.i.i3064 = load ptr, ptr %__begin0146.sroa.0.050.i.i2739, align 8 + %call178.val.i.i3065 = load ptr, ptr %call155.val75.i.i3064, align 8 + %1559 = getelementptr i8, ptr %call155.val75.i.i3064, i64 8 + %call178.val89.i.i3066 = load i64, ptr %1559, align 8 + %call178.val.val.i.i3067 = load ptr, ptr %call178.val.i.i3065, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i2249, ptr %call178.val.val.i.i3067, i64 %call178.val89.i.i3066) + to label %invoke.cont179.i.i3069 unwind label %lpad172.i.i3031 + +invoke.cont179.i.i3069: ; preds = %invoke.cont175.i.i3063 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i2218), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i2218) + to label %.noexc520.i.i3073 unwind label %lpad180.i.i3070 + +.noexc520.i.i3073: ; preds = %invoke.cont179.i.i3069 + %1560 = load ptr, ptr %ref.tmp.i505.i.i2218, align 8, !noalias !1562 + %add.ptr.i.i506.i.i3074 = getelementptr inbounds i8, ptr %1560, i64 16 + %call2.i1.i507.i.i3075 = 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) %add.ptr.i.i506.i.i3074, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i2249) + to label %invoke.cont.i514.i.i3081 unwind label %lpad.i508.i.i3076 + +invoke.cont.i514.i.i3081: ; preds = %.noexc520.i.i3073 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i2218) + to label %invoke.cont2.i515.i.i3082 unwind label %lpad.i508.i.i3076 + +invoke.cont2.i515.i.i3082: ; preds = %invoke.cont.i514.i.i3081 + %1561 = load ptr, ptr %ref.tmp.i505.i.i2218, align 8, !noalias !1562 + %cmp.not.i.i.i516.i.i3083 = icmp eq ptr %1561, null + br i1 %cmp.not.i.i.i516.i.i3083, label %invoke.cont181.i.i3087, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i3084 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i3084: ; preds = %invoke.cont2.i515.i.i3082 + %vtable.i.i.i.i518.i.i3085 = load ptr, ptr %1561, align 8 + %vfn.i.i.i.i519.i.i3086 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i3085, i64 1 + %1562 = load ptr, ptr %vfn.i.i.i.i519.i.i3086, align 8 call void %1562(ptr noundef nonnull align 8 dereferenceable(128) %1561) #30 - br label %invoke.cont181.i.i3084 + br label %invoke.cont181.i.i3087 -lpad.i508.i.i3073: ; preds = %invoke.cont.i514.i.i3078, %.noexc520.i.i3070 +lpad.i508.i.i3076: ; preds = %invoke.cont.i514.i.i3081, %.noexc520.i.i3073 %1563 = landingpad { ptr, i32 } cleanup - %1564 = load ptr, ptr %ref.tmp.i505.i.i2215, align 8, !noalias !1562 - %cmp.not.i.i2.i509.i.i3074 = icmp eq ptr %1564, null - br i1 %cmp.not.i.i2.i509.i.i3074, label %lpad180.body.i.i3068, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i3075 + %1564 = load ptr, ptr %ref.tmp.i505.i.i2218, align 8, !noalias !1562 + %cmp.not.i.i2.i509.i.i3077 = icmp eq ptr %1564, null + br i1 %cmp.not.i.i2.i509.i.i3077, label %lpad180.body.i.i3071, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i3078 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i3075: ; preds = %lpad.i508.i.i3073 - %vtable.i.i.i4.i511.i.i3076 = load ptr, ptr %1564, align 8 - %vfn.i.i.i5.i512.i.i3077 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i3076, i64 1 - %1565 = load ptr, ptr %vfn.i.i.i5.i512.i.i3077, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i3078: ; preds = %lpad.i508.i.i3076 + %vtable.i.i.i4.i511.i.i3079 = load ptr, ptr %1564, align 8 + %vfn.i.i.i5.i512.i.i3080 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i3079, i64 1 + %1565 = load ptr, ptr %vfn.i.i.i5.i512.i.i3080, align 8 call void %1565(ptr noundef nonnull align 8 dereferenceable(128) %1564) #30 - br label %lpad180.body.i.i3068 - -invoke.cont181.i.i3084: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i3081, %invoke.cont2.i515.i.i3079 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i2215), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i2214), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i2214) - to label %.noexc538.i.i3085 unwind label %lpad180.i.i3067 - -.noexc538.i.i3085: ; preds = %invoke.cont181.i.i3084 - %1566 = load ptr, ptr %ref.tmp.i523.i.i2214, align 8, !noalias !1562 - %add.ptr.i.i524.i.i3086 = getelementptr inbounds i8, ptr %1566, i64 16 - %call2.i1.i525.i.i3087 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i3086, ptr noundef nonnull @.str.112) - to label %invoke.cont.i532.i.i3093 unwind label %lpad.i526.i.i3088 - -invoke.cont.i532.i.i3093: ; preds = %.noexc538.i.i3085 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2244, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i2214) - to label %invoke.cont2.i533.i.i3094 unwind label %lpad.i526.i.i3088 - -invoke.cont2.i533.i.i3094: ; preds = %invoke.cont.i532.i.i3093 - %1567 = load ptr, ptr %ref.tmp.i523.i.i2214, align 8, !noalias !1562 - %cmp.not.i.i.i534.i.i3095 = icmp eq ptr %1567, null - br i1 %cmp.not.i.i.i534.i.i3095, label %invoke.cont183.i.i3099, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i3096 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i3096: ; preds = %invoke.cont2.i533.i.i3094 - %vtable.i.i.i.i536.i.i3097 = load ptr, ptr %1567, align 8 - %vfn.i.i.i.i537.i.i3098 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i3097, i64 1 - %1568 = load ptr, ptr %vfn.i.i.i.i537.i.i3098, align 8 + br label %lpad180.body.i.i3071 + +invoke.cont181.i.i3087: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i3084, %invoke.cont2.i515.i.i3082 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i2218), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i2217), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i2217) + to label %.noexc538.i.i3088 unwind label %lpad180.i.i3070 + +.noexc538.i.i3088: ; preds = %invoke.cont181.i.i3087 + %1566 = load ptr, ptr %ref.tmp.i523.i.i2217, align 8, !noalias !1562 + %add.ptr.i.i524.i.i3089 = getelementptr inbounds i8, ptr %1566, i64 16 + %call2.i1.i525.i.i3090 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i3089, ptr noundef nonnull @.str.112) + to label %invoke.cont.i532.i.i3096 unwind label %lpad.i526.i.i3091 + +invoke.cont.i532.i.i3096: ; preds = %.noexc538.i.i3088 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i2217) + to label %invoke.cont2.i533.i.i3097 unwind label %lpad.i526.i.i3091 + +invoke.cont2.i533.i.i3097: ; preds = %invoke.cont.i532.i.i3096 + %1567 = load ptr, ptr %ref.tmp.i523.i.i2217, align 8, !noalias !1562 + %cmp.not.i.i.i534.i.i3098 = icmp eq ptr %1567, null + br i1 %cmp.not.i.i.i534.i.i3098, label %invoke.cont183.i.i3102, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i3099 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i3099: ; preds = %invoke.cont2.i533.i.i3097 + %vtable.i.i.i.i536.i.i3100 = load ptr, ptr %1567, align 8 + %vfn.i.i.i.i537.i.i3101 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i3100, i64 1 + %1568 = load ptr, ptr %vfn.i.i.i.i537.i.i3101, align 8 call void %1568(ptr noundef nonnull align 8 dereferenceable(128) %1567) #30 - br label %invoke.cont183.i.i3099 + br label %invoke.cont183.i.i3102 -lpad.i526.i.i3088: ; preds = %invoke.cont.i532.i.i3093, %.noexc538.i.i3085 +lpad.i526.i.i3091: ; preds = %invoke.cont.i532.i.i3096, %.noexc538.i.i3088 %1569 = landingpad { ptr, i32 } cleanup - %1570 = load ptr, ptr %ref.tmp.i523.i.i2214, align 8, !noalias !1562 - %cmp.not.i.i2.i527.i.i3089 = icmp eq ptr %1570, null - br i1 %cmp.not.i.i2.i527.i.i3089, label %lpad180.body.i.i3068, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i3090 + %1570 = load ptr, ptr %ref.tmp.i523.i.i2217, align 8, !noalias !1562 + %cmp.not.i.i2.i527.i.i3092 = icmp eq ptr %1570, null + br i1 %cmp.not.i.i2.i527.i.i3092, label %lpad180.body.i.i3071, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i3093 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i3090: ; preds = %lpad.i526.i.i3088 - %vtable.i.i.i4.i529.i.i3091 = load ptr, ptr %1570, align 8 - %vfn.i.i.i5.i530.i.i3092 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i3091, i64 1 - %1571 = load ptr, ptr %vfn.i.i.i5.i530.i.i3092, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i3093: ; preds = %lpad.i526.i.i3091 + %vtable.i.i.i4.i529.i.i3094 = load ptr, ptr %1570, align 8 + %vfn.i.i.i5.i530.i.i3095 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i3094, i64 1 + %1571 = load ptr, ptr %vfn.i.i.i5.i530.i.i3095, align 8 call void %1571(ptr noundef nonnull align 8 dereferenceable(128) %1570) #30 - br label %lpad180.body.i.i3068 - -invoke.cont183.i.i3099: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i3096, %invoke.cont2.i533.i.i3094 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i2214), !noalias !1562 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2244) - to label %invoke.cont185.i.i3100 unwind label %lpad180.i.i3067 - -invoke.cont185.i.i3100: ; preds = %invoke.cont183.i.i3099 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i2246) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i2245) #30 - %message_.i542.i.i3101 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i2244, i64 0, i32 1 - %1572 = load ptr, ptr %message_.i542.i.i3101, align 8, !noalias !1562 - %cmp.not.i.i543.i.i3102 = icmp eq ptr %1572, null - br i1 %cmp.not.i.i543.i.i3102, label %cleanup249.critedge.i.i2858, label %cleanup249.critedge.sink.split.i.i2855 - -lpad166.i.i3004: ; preds = %invoke.cont167.i.i3021, %invoke.cont165.i.i3003 + br label %lpad180.body.i.i3071 + +invoke.cont183.i.i3102: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i3099, %invoke.cont2.i533.i.i3097 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i2217), !noalias !1562 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2247) + to label %invoke.cont185.i.i3103 unwind label %lpad180.i.i3070 + +invoke.cont185.i.i3103: ; preds = %invoke.cont183.i.i3102 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i2249) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i2248) #30 + %message_.i542.i.i3104 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i2247, i64 0, i32 1 + %1572 = load ptr, ptr %message_.i542.i.i3104, align 8, !noalias !1562 + %cmp.not.i.i543.i.i3105 = icmp eq ptr %1572, null + br i1 %cmp.not.i.i543.i.i3105, label %cleanup249.critedge.i.i2861, label %cleanup249.critedge.sink.split.i.i2858 + +lpad166.i.i3007: ; preds = %invoke.cont167.i.i3024, %invoke.cont165.i.i3006 %1573 = landingpad { ptr, i32 } cleanup - br label %ehcleanup188.i.i3005 + br label %ehcleanup188.i.i3008 -lpad172.i.i3028: ; preds = %invoke.cont175.i.i3060, %invoke.cont173.i.i3045, %invoke.cont171.i.i3027 +lpad172.i.i3031: ; preds = %invoke.cont175.i.i3063, %invoke.cont173.i.i3048, %invoke.cont171.i.i3030 %1574 = landingpad { ptr, i32 } cleanup - br label %ehcleanup187.i.i3029 + br label %ehcleanup187.i.i3032 -lpad180.i.i3067: ; preds = %invoke.cont183.i.i3099, %invoke.cont181.i.i3084, %invoke.cont179.i.i3066 +lpad180.i.i3070: ; preds = %invoke.cont183.i.i3102, %invoke.cont181.i.i3087, %invoke.cont179.i.i3069 %1575 = landingpad { ptr, i32 } cleanup - br label %lpad180.body.i.i3068 - -lpad180.body.i.i3068: ; preds = %lpad180.i.i3067, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i3090, %lpad.i526.i.i3088, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i3075, %lpad.i508.i.i3073 - %eh.lpad-body521.i.i3069 = phi { ptr, i32 } [ %1563, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i3075 ], [ %1563, %lpad.i508.i.i3073 ], [ %1575, %lpad180.i.i3067 ], [ %1569, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i3090 ], [ %1569, %lpad.i526.i.i3088 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i2246) #30 - br label %ehcleanup187.i.i3029 - -ehcleanup187.i.i3029: ; preds = %lpad180.body.i.i3068, %lpad172.i.i3028, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i3051, %lpad.i489.i.i3049, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i3036, %lpad.i471.i.i3034 - %.pn34.i.i3030 = phi { ptr, i32 } [ %eh.lpad-body521.i.i3069, %lpad180.body.i.i3068 ], [ %1550, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i3036 ], [ %1550, %lpad.i471.i.i3034 ], [ %1574, %lpad172.i.i3028 ], [ %1556, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i3051 ], [ %1556, %lpad.i489.i.i3049 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i2245) #30 - br label %ehcleanup188.i.i3005 - -ehcleanup188.i.i3005: ; preds = %ehcleanup187.i.i3029, %lpad166.i.i3004, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i3012, %lpad.i453.i.i3010 - %.pn34.pn.i.i3006 = phi { ptr, i32 } [ %.pn34.i.i3030, %ehcleanup187.i.i3029 ], [ %1573, %lpad166.i.i3004 ], [ %1543, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i3012 ], [ %1543, %lpad.i453.i.i3010 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2244) #30 - br label %ehcleanup245.i.i2749 - -sw.bb189.i.i2901: ; preds = %invoke.cont162.i.i2751 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i2247) - to label %invoke.cont191.i.i2902 unwind label %lpad161.loopexit.split-lp.i.i2753 - -invoke.cont191.i.i2902: ; preds = %sw.bb189.i.i2901 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i2213), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i2213) - to label %.noexc561.i.i2906 unwind label %lpad192.i.i2903 - -.noexc561.i.i2906: ; preds = %invoke.cont191.i.i2902 - %1576 = load ptr, ptr %ref.tmp.i546.i.i2213, align 8, !noalias !1562 - %add.ptr.i.i547.i.i2907 = getelementptr inbounds i8, ptr %1576, i64 16 - %call2.i1.i548.i.i2908 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i2907, ptr noundef nonnull @.str.113) - to label %invoke.cont.i555.i.i2914 unwind label %lpad.i549.i.i2909 - -invoke.cont.i555.i.i2914: ; preds = %.noexc561.i.i2906 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i2213) - to label %invoke.cont2.i556.i.i2915 unwind label %lpad.i549.i.i2909 - -invoke.cont2.i556.i.i2915: ; preds = %invoke.cont.i555.i.i2914 - %1577 = load ptr, ptr %ref.tmp.i546.i.i2213, align 8, !noalias !1562 - %cmp.not.i.i.i557.i.i2916 = icmp eq ptr %1577, null - br i1 %cmp.not.i.i.i557.i.i2916, label %invoke.cont193.i.i2920, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i2917 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i2917: ; preds = %invoke.cont2.i556.i.i2915 - %vtable.i.i.i.i559.i.i2918 = load ptr, ptr %1577, align 8 - %vfn.i.i.i.i560.i.i2919 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i2918, i64 1 - %1578 = load ptr, ptr %vfn.i.i.i.i560.i.i2919, align 8 + br label %lpad180.body.i.i3071 + +lpad180.body.i.i3071: ; preds = %lpad180.i.i3070, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i3093, %lpad.i526.i.i3091, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i3078, %lpad.i508.i.i3076 + %eh.lpad-body521.i.i3072 = phi { ptr, i32 } [ %1563, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i3078 ], [ %1563, %lpad.i508.i.i3076 ], [ %1575, %lpad180.i.i3070 ], [ %1569, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i3093 ], [ %1569, %lpad.i526.i.i3091 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i2249) #30 + br label %ehcleanup187.i.i3032 + +ehcleanup187.i.i3032: ; preds = %lpad180.body.i.i3071, %lpad172.i.i3031, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i3054, %lpad.i489.i.i3052, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i3039, %lpad.i471.i.i3037 + %.pn34.i.i3033 = phi { ptr, i32 } [ %eh.lpad-body521.i.i3072, %lpad180.body.i.i3071 ], [ %1550, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i3039 ], [ %1550, %lpad.i471.i.i3037 ], [ %1574, %lpad172.i.i3031 ], [ %1556, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i3054 ], [ %1556, %lpad.i489.i.i3052 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i2248) #30 + br label %ehcleanup188.i.i3008 + +ehcleanup188.i.i3008: ; preds = %ehcleanup187.i.i3032, %lpad166.i.i3007, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i3015, %lpad.i453.i.i3013 + %.pn34.pn.i.i3009 = phi { ptr, i32 } [ %.pn34.i.i3033, %ehcleanup187.i.i3032 ], [ %1573, %lpad166.i.i3007 ], [ %1543, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i3015 ], [ %1543, %lpad.i453.i.i3013 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i2247) #30 + br label %ehcleanup245.i.i2752 + +sw.bb189.i.i2904: ; preds = %invoke.cont162.i.i2754 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i2250) + to label %invoke.cont191.i.i2905 unwind label %lpad161.loopexit.split-lp.i.i2756 + +invoke.cont191.i.i2905: ; preds = %sw.bb189.i.i2904 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i2216), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i2216) + to label %.noexc561.i.i2909 unwind label %lpad192.i.i2906 + +.noexc561.i.i2909: ; preds = %invoke.cont191.i.i2905 + %1576 = load ptr, ptr %ref.tmp.i546.i.i2216, align 8, !noalias !1562 + %add.ptr.i.i547.i.i2910 = getelementptr inbounds i8, ptr %1576, i64 16 + %call2.i1.i548.i.i2911 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i2910, ptr noundef nonnull @.str.113) + to label %invoke.cont.i555.i.i2917 unwind label %lpad.i549.i.i2912 + +invoke.cont.i555.i.i2917: ; preds = %.noexc561.i.i2909 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i2216) + to label %invoke.cont2.i556.i.i2918 unwind label %lpad.i549.i.i2912 + +invoke.cont2.i556.i.i2918: ; preds = %invoke.cont.i555.i.i2917 + %1577 = load ptr, ptr %ref.tmp.i546.i.i2216, align 8, !noalias !1562 + %cmp.not.i.i.i557.i.i2919 = icmp eq ptr %1577, null + br i1 %cmp.not.i.i.i557.i.i2919, label %invoke.cont193.i.i2923, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i2920 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i2920: ; preds = %invoke.cont2.i556.i.i2918 + %vtable.i.i.i.i559.i.i2921 = load ptr, ptr %1577, align 8 + %vfn.i.i.i.i560.i.i2922 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i2921, i64 1 + %1578 = load ptr, ptr %vfn.i.i.i.i560.i.i2922, align 8 call void %1578(ptr noundef nonnull align 8 dereferenceable(128) %1577) #30 - br label %invoke.cont193.i.i2920 + br label %invoke.cont193.i.i2923 -lpad.i549.i.i2909: ; preds = %invoke.cont.i555.i.i2914, %.noexc561.i.i2906 +lpad.i549.i.i2912: ; preds = %invoke.cont.i555.i.i2917, %.noexc561.i.i2909 %1579 = landingpad { ptr, i32 } cleanup - %1580 = load ptr, ptr %ref.tmp.i546.i.i2213, align 8, !noalias !1562 - %cmp.not.i.i2.i550.i.i2910 = icmp eq ptr %1580, null - br i1 %cmp.not.i.i2.i550.i.i2910, label %ehcleanup214.i.i2904, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i2911 + %1580 = load ptr, ptr %ref.tmp.i546.i.i2216, align 8, !noalias !1562 + %cmp.not.i.i2.i550.i.i2913 = icmp eq ptr %1580, null + br i1 %cmp.not.i.i2.i550.i.i2913, label %ehcleanup214.i.i2907, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i2914 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i2911: ; preds = %lpad.i549.i.i2909 - %vtable.i.i.i4.i552.i.i2912 = load ptr, ptr %1580, align 8 - %vfn.i.i.i5.i553.i.i2913 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i2912, i64 1 - %1581 = load ptr, ptr %vfn.i.i.i5.i553.i.i2913, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i2914: ; preds = %lpad.i549.i.i2912 + %vtable.i.i.i4.i552.i.i2915 = load ptr, ptr %1580, align 8 + %vfn.i.i.i5.i553.i.i2916 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i2915, i64 1 + %1581 = load ptr, ptr %vfn.i.i.i5.i553.i.i2916, align 8 call void %1581(ptr noundef nonnull align 8 dereferenceable(128) %1580) #30 - br label %ehcleanup214.i.i2904 - -invoke.cont193.i.i2920: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i2917, %invoke.cont2.i556.i.i2915 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i2213), !noalias !1562 - %call155.val76.i.i2921 = load ptr, ptr %__begin0146.sroa.0.050.i.i2736, align 8 - %call196.val.i.i2922 = load ptr, ptr %call155.val76.i.i2921, align 8 - %1582 = getelementptr i8, ptr %call155.val76.i.i2921, i64 8 - %call196.val90.i.i2923 = load i64, ptr %1582, align 8 - %call196.val.val.i.i2924 = load ptr, ptr %call196.val.i.i2922, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i2248, ptr %call196.val.val.i.i2924, i64 %call196.val90.i.i2923) - to label %invoke.cont197.i.i2926 unwind label %lpad192.i.i2903 - -invoke.cont197.i.i2926: ; preds = %invoke.cont193.i.i2920 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i2212), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i2212) - to label %.noexc578.i.i2930 unwind label %lpad198.i.i2927 - -.noexc578.i.i2930: ; preds = %invoke.cont197.i.i2926 - %1583 = load ptr, ptr %ref.tmp.i563.i.i2212, align 8, !noalias !1562 - %add.ptr.i.i564.i.i2931 = getelementptr inbounds i8, ptr %1583, i64 16 - %call2.i1.i565.i.i2932 = 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) %add.ptr.i.i564.i.i2931, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i2248) - to label %invoke.cont.i572.i.i2938 unwind label %lpad.i566.i.i2933 - -invoke.cont.i572.i.i2938: ; preds = %.noexc578.i.i2930 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i2212) - to label %invoke.cont2.i573.i.i2939 unwind label %lpad.i566.i.i2933 - -invoke.cont2.i573.i.i2939: ; preds = %invoke.cont.i572.i.i2938 - %1584 = load ptr, ptr %ref.tmp.i563.i.i2212, align 8, !noalias !1562 - %cmp.not.i.i.i574.i.i2940 = icmp eq ptr %1584, null - br i1 %cmp.not.i.i.i574.i.i2940, label %invoke.cont199.i.i2944, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i2941 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i2941: ; preds = %invoke.cont2.i573.i.i2939 - %vtable.i.i.i.i576.i.i2942 = load ptr, ptr %1584, align 8 - %vfn.i.i.i.i577.i.i2943 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i2942, i64 1 - %1585 = load ptr, ptr %vfn.i.i.i.i577.i.i2943, align 8 + br label %ehcleanup214.i.i2907 + +invoke.cont193.i.i2923: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i2920, %invoke.cont2.i556.i.i2918 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i2216), !noalias !1562 + %call155.val76.i.i2924 = load ptr, ptr %__begin0146.sroa.0.050.i.i2739, align 8 + %call196.val.i.i2925 = load ptr, ptr %call155.val76.i.i2924, align 8 + %1582 = getelementptr i8, ptr %call155.val76.i.i2924, i64 8 + %call196.val90.i.i2926 = load i64, ptr %1582, align 8 + %call196.val.val.i.i2927 = load ptr, ptr %call196.val.i.i2925, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i2251, ptr %call196.val.val.i.i2927, i64 %call196.val90.i.i2926) + to label %invoke.cont197.i.i2929 unwind label %lpad192.i.i2906 + +invoke.cont197.i.i2929: ; preds = %invoke.cont193.i.i2923 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i2215), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i2215) + to label %.noexc578.i.i2933 unwind label %lpad198.i.i2930 + +.noexc578.i.i2933: ; preds = %invoke.cont197.i.i2929 + %1583 = load ptr, ptr %ref.tmp.i563.i.i2215, align 8, !noalias !1562 + %add.ptr.i.i564.i.i2934 = getelementptr inbounds i8, ptr %1583, i64 16 + %call2.i1.i565.i.i2935 = 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) %add.ptr.i.i564.i.i2934, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i2251) + to label %invoke.cont.i572.i.i2941 unwind label %lpad.i566.i.i2936 + +invoke.cont.i572.i.i2941: ; preds = %.noexc578.i.i2933 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i2215) + to label %invoke.cont2.i573.i.i2942 unwind label %lpad.i566.i.i2936 + +invoke.cont2.i573.i.i2942: ; preds = %invoke.cont.i572.i.i2941 + %1584 = load ptr, ptr %ref.tmp.i563.i.i2215, align 8, !noalias !1562 + %cmp.not.i.i.i574.i.i2943 = icmp eq ptr %1584, null + br i1 %cmp.not.i.i.i574.i.i2943, label %invoke.cont199.i.i2947, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i2944 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i2944: ; preds = %invoke.cont2.i573.i.i2942 + %vtable.i.i.i.i576.i.i2945 = load ptr, ptr %1584, align 8 + %vfn.i.i.i.i577.i.i2946 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i2945, i64 1 + %1585 = load ptr, ptr %vfn.i.i.i.i577.i.i2946, align 8 call void %1585(ptr noundef nonnull align 8 dereferenceable(128) %1584) #30 - br label %invoke.cont199.i.i2944 + br label %invoke.cont199.i.i2947 -lpad.i566.i.i2933: ; preds = %invoke.cont.i572.i.i2938, %.noexc578.i.i2930 +lpad.i566.i.i2936: ; preds = %invoke.cont.i572.i.i2941, %.noexc578.i.i2933 %1586 = landingpad { ptr, i32 } cleanup - %1587 = load ptr, ptr %ref.tmp.i563.i.i2212, align 8, !noalias !1562 - %cmp.not.i.i2.i567.i.i2934 = icmp eq ptr %1587, null - br i1 %cmp.not.i.i2.i567.i.i2934, label %ehcleanup213.i.i2928, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i2935 + %1587 = load ptr, ptr %ref.tmp.i563.i.i2215, align 8, !noalias !1562 + %cmp.not.i.i2.i567.i.i2937 = icmp eq ptr %1587, null + br i1 %cmp.not.i.i2.i567.i.i2937, label %ehcleanup213.i.i2931, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i2938 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i2935: ; preds = %lpad.i566.i.i2933 - %vtable.i.i.i4.i569.i.i2936 = load ptr, ptr %1587, align 8 - %vfn.i.i.i5.i570.i.i2937 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i2936, i64 1 - %1588 = load ptr, ptr %vfn.i.i.i5.i570.i.i2937, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i2938: ; preds = %lpad.i566.i.i2936 + %vtable.i.i.i4.i569.i.i2939 = load ptr, ptr %1587, align 8 + %vfn.i.i.i5.i570.i.i2940 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i2939, i64 1 + %1588 = load ptr, ptr %vfn.i.i.i5.i570.i.i2940, align 8 call void %1588(ptr noundef nonnull align 8 dereferenceable(128) %1587) #30 - br label %ehcleanup213.i.i2928 - -invoke.cont199.i.i2944: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i2941, %invoke.cont2.i573.i.i2939 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i2212), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i2211), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i2211) - to label %.noexc596.i.i2945 unwind label %lpad198.i.i2927 - -.noexc596.i.i2945: ; preds = %invoke.cont199.i.i2944 - %1589 = load ptr, ptr %ref.tmp.i581.i.i2211, align 8, !noalias !1562 - %add.ptr.i.i582.i.i2946 = getelementptr inbounds i8, ptr %1589, i64 16 - %call2.i1.i583.i.i2947 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i2946, ptr noundef nonnull @.str.114) - to label %invoke.cont.i590.i.i2953 unwind label %lpad.i584.i.i2948 - -invoke.cont.i590.i.i2953: ; preds = %.noexc596.i.i2945 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i2211) - to label %invoke.cont2.i591.i.i2954 unwind label %lpad.i584.i.i2948 - -invoke.cont2.i591.i.i2954: ; preds = %invoke.cont.i590.i.i2953 - %1590 = load ptr, ptr %ref.tmp.i581.i.i2211, align 8, !noalias !1562 - %cmp.not.i.i.i592.i.i2955 = icmp eq ptr %1590, null - br i1 %cmp.not.i.i.i592.i.i2955, label %invoke.cont201.i.i2959, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i2956 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i2956: ; preds = %invoke.cont2.i591.i.i2954 - %vtable.i.i.i.i594.i.i2957 = load ptr, ptr %1590, align 8 - %vfn.i.i.i.i595.i.i2958 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i2957, i64 1 - %1591 = load ptr, ptr %vfn.i.i.i.i595.i.i2958, align 8 + br label %ehcleanup213.i.i2931 + +invoke.cont199.i.i2947: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i2944, %invoke.cont2.i573.i.i2942 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i2215), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i2214), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i2214) + to label %.noexc596.i.i2948 unwind label %lpad198.i.i2930 + +.noexc596.i.i2948: ; preds = %invoke.cont199.i.i2947 + %1589 = load ptr, ptr %ref.tmp.i581.i.i2214, align 8, !noalias !1562 + %add.ptr.i.i582.i.i2949 = getelementptr inbounds i8, ptr %1589, i64 16 + %call2.i1.i583.i.i2950 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i2949, ptr noundef nonnull @.str.114) + to label %invoke.cont.i590.i.i2956 unwind label %lpad.i584.i.i2951 + +invoke.cont.i590.i.i2956: ; preds = %.noexc596.i.i2948 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i2214) + to label %invoke.cont2.i591.i.i2957 unwind label %lpad.i584.i.i2951 + +invoke.cont2.i591.i.i2957: ; preds = %invoke.cont.i590.i.i2956 + %1590 = load ptr, ptr %ref.tmp.i581.i.i2214, align 8, !noalias !1562 + %cmp.not.i.i.i592.i.i2958 = icmp eq ptr %1590, null + br i1 %cmp.not.i.i.i592.i.i2958, label %invoke.cont201.i.i2962, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i2959 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i2959: ; preds = %invoke.cont2.i591.i.i2957 + %vtable.i.i.i.i594.i.i2960 = load ptr, ptr %1590, align 8 + %vfn.i.i.i.i595.i.i2961 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i2960, i64 1 + %1591 = load ptr, ptr %vfn.i.i.i.i595.i.i2961, align 8 call void %1591(ptr noundef nonnull align 8 dereferenceable(128) %1590) #30 - br label %invoke.cont201.i.i2959 + br label %invoke.cont201.i.i2962 -lpad.i584.i.i2948: ; preds = %invoke.cont.i590.i.i2953, %.noexc596.i.i2945 +lpad.i584.i.i2951: ; preds = %invoke.cont.i590.i.i2956, %.noexc596.i.i2948 %1592 = landingpad { ptr, i32 } cleanup - %1593 = load ptr, ptr %ref.tmp.i581.i.i2211, align 8, !noalias !1562 - %cmp.not.i.i2.i585.i.i2949 = icmp eq ptr %1593, null - br i1 %cmp.not.i.i2.i585.i.i2949, label %ehcleanup213.i.i2928, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i2950 + %1593 = load ptr, ptr %ref.tmp.i581.i.i2214, align 8, !noalias !1562 + %cmp.not.i.i2.i585.i.i2952 = icmp eq ptr %1593, null + br i1 %cmp.not.i.i2.i585.i.i2952, label %ehcleanup213.i.i2931, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i2953 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i2950: ; preds = %lpad.i584.i.i2948 - %vtable.i.i.i4.i587.i.i2951 = load ptr, ptr %1593, align 8 - %vfn.i.i.i5.i588.i.i2952 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i2951, i64 1 - %1594 = load ptr, ptr %vfn.i.i.i5.i588.i.i2952, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i2953: ; preds = %lpad.i584.i.i2951 + %vtable.i.i.i4.i587.i.i2954 = load ptr, ptr %1593, align 8 + %vfn.i.i.i5.i588.i.i2955 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i2954, i64 1 + %1594 = load ptr, ptr %vfn.i.i.i5.i588.i.i2955, align 8 call void %1594(ptr noundef nonnull align 8 dereferenceable(128) %1593) #30 - br label %ehcleanup213.i.i2928 - -invoke.cont201.i.i2959: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i2956, %invoke.cont2.i591.i.i2954 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i2211), !noalias !1562 - %call68.val77.i.i2960 = load ptr, ptr %__begin058.sroa.0.052.i.i2411, align 8 - %call204.val.i.i2961 = load ptr, ptr %call68.val77.i.i2960, align 8 - %1595 = getelementptr i8, ptr %call68.val77.i.i2960, i64 8 - %call204.val91.i.i2962 = load i64, ptr %1595, align 8 - %call204.val.val.i.i2963 = load ptr, ptr %call204.val.i.i2961, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i2249, ptr %call204.val.val.i.i2963, i64 %call204.val91.i.i2962) - to label %invoke.cont205.i.i2965 unwind label %lpad198.i.i2927 - -invoke.cont205.i.i2965: ; preds = %invoke.cont201.i.i2959 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i2210), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i2210) - to label %.noexc614.i.i2969 unwind label %lpad206.i.i2966 - -.noexc614.i.i2969: ; preds = %invoke.cont205.i.i2965 - %1596 = load ptr, ptr %ref.tmp.i599.i.i2210, align 8, !noalias !1562 - %add.ptr.i.i600.i.i2970 = getelementptr inbounds i8, ptr %1596, i64 16 - %call2.i1.i601.i.i2971 = 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) %add.ptr.i.i600.i.i2970, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i2249) - to label %invoke.cont.i608.i.i2977 unwind label %lpad.i602.i.i2972 - -invoke.cont.i608.i.i2977: ; preds = %.noexc614.i.i2969 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i2210) - to label %invoke.cont2.i609.i.i2978 unwind label %lpad.i602.i.i2972 - -invoke.cont2.i609.i.i2978: ; preds = %invoke.cont.i608.i.i2977 - %1597 = load ptr, ptr %ref.tmp.i599.i.i2210, align 8, !noalias !1562 - %cmp.not.i.i.i610.i.i2979 = icmp eq ptr %1597, null - br i1 %cmp.not.i.i.i610.i.i2979, label %invoke.cont207.i.i2983, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i2980 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i2980: ; preds = %invoke.cont2.i609.i.i2978 - %vtable.i.i.i.i612.i.i2981 = load ptr, ptr %1597, align 8 - %vfn.i.i.i.i613.i.i2982 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i2981, i64 1 - %1598 = load ptr, ptr %vfn.i.i.i.i613.i.i2982, align 8 + br label %ehcleanup213.i.i2931 + +invoke.cont201.i.i2962: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i2959, %invoke.cont2.i591.i.i2957 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i2214), !noalias !1562 + %call68.val77.i.i2963 = load ptr, ptr %__begin058.sroa.0.052.i.i2414, align 8 + %call204.val.i.i2964 = load ptr, ptr %call68.val77.i.i2963, align 8 + %1595 = getelementptr i8, ptr %call68.val77.i.i2963, i64 8 + %call204.val91.i.i2965 = load i64, ptr %1595, align 8 + %call204.val.val.i.i2966 = load ptr, ptr %call204.val.i.i2964, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i2252, ptr %call204.val.val.i.i2966, i64 %call204.val91.i.i2965) + to label %invoke.cont205.i.i2968 unwind label %lpad198.i.i2930 + +invoke.cont205.i.i2968: ; preds = %invoke.cont201.i.i2962 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i2213), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i2213) + to label %.noexc614.i.i2972 unwind label %lpad206.i.i2969 + +.noexc614.i.i2972: ; preds = %invoke.cont205.i.i2968 + %1596 = load ptr, ptr %ref.tmp.i599.i.i2213, align 8, !noalias !1562 + %add.ptr.i.i600.i.i2973 = getelementptr inbounds i8, ptr %1596, i64 16 + %call2.i1.i601.i.i2974 = 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) %add.ptr.i.i600.i.i2973, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i2252) + to label %invoke.cont.i608.i.i2980 unwind label %lpad.i602.i.i2975 + +invoke.cont.i608.i.i2980: ; preds = %.noexc614.i.i2972 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i2213) + to label %invoke.cont2.i609.i.i2981 unwind label %lpad.i602.i.i2975 + +invoke.cont2.i609.i.i2981: ; preds = %invoke.cont.i608.i.i2980 + %1597 = load ptr, ptr %ref.tmp.i599.i.i2213, align 8, !noalias !1562 + %cmp.not.i.i.i610.i.i2982 = icmp eq ptr %1597, null + br i1 %cmp.not.i.i.i610.i.i2982, label %invoke.cont207.i.i2986, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i2983 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i2983: ; preds = %invoke.cont2.i609.i.i2981 + %vtable.i.i.i.i612.i.i2984 = load ptr, ptr %1597, align 8 + %vfn.i.i.i.i613.i.i2985 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i2984, i64 1 + %1598 = load ptr, ptr %vfn.i.i.i.i613.i.i2985, align 8 call void %1598(ptr noundef nonnull align 8 dereferenceable(128) %1597) #30 - br label %invoke.cont207.i.i2983 + br label %invoke.cont207.i.i2986 -lpad.i602.i.i2972: ; preds = %invoke.cont.i608.i.i2977, %.noexc614.i.i2969 +lpad.i602.i.i2975: ; preds = %invoke.cont.i608.i.i2980, %.noexc614.i.i2972 %1599 = landingpad { ptr, i32 } cleanup - %1600 = load ptr, ptr %ref.tmp.i599.i.i2210, align 8, !noalias !1562 - %cmp.not.i.i2.i603.i.i2973 = icmp eq ptr %1600, null - br i1 %cmp.not.i.i2.i603.i.i2973, label %lpad206.body.i.i2967, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i2974 + %1600 = load ptr, ptr %ref.tmp.i599.i.i2213, align 8, !noalias !1562 + %cmp.not.i.i2.i603.i.i2976 = icmp eq ptr %1600, null + br i1 %cmp.not.i.i2.i603.i.i2976, label %lpad206.body.i.i2970, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i2977 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i2974: ; preds = %lpad.i602.i.i2972 - %vtable.i.i.i4.i605.i.i2975 = load ptr, ptr %1600, align 8 - %vfn.i.i.i5.i606.i.i2976 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i2975, i64 1 - %1601 = load ptr, ptr %vfn.i.i.i5.i606.i.i2976, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i2977: ; preds = %lpad.i602.i.i2975 + %vtable.i.i.i4.i605.i.i2978 = load ptr, ptr %1600, align 8 + %vfn.i.i.i5.i606.i.i2979 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i2978, i64 1 + %1601 = load ptr, ptr %vfn.i.i.i5.i606.i.i2979, align 8 call void %1601(ptr noundef nonnull align 8 dereferenceable(128) %1600) #30 - br label %lpad206.body.i.i2967 - -invoke.cont207.i.i2983: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i2980, %invoke.cont2.i609.i.i2978 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i2210), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i2209), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i2209) - to label %.noexc632.i.i2984 unwind label %lpad206.i.i2966 - -.noexc632.i.i2984: ; preds = %invoke.cont207.i.i2983 - %1602 = load ptr, ptr %ref.tmp.i617.i.i2209, align 8, !noalias !1562 - %add.ptr.i.i618.i.i2985 = getelementptr inbounds i8, ptr %1602, i64 16 - %call2.i1.i619.i.i2986 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i2985, ptr noundef nonnull @.str.115) - to label %invoke.cont.i626.i.i2992 unwind label %lpad.i620.i.i2987 - -invoke.cont.i626.i.i2992: ; preds = %.noexc632.i.i2984 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2247, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i2209) - to label %invoke.cont2.i627.i.i2993 unwind label %lpad.i620.i.i2987 - -invoke.cont2.i627.i.i2993: ; preds = %invoke.cont.i626.i.i2992 - %1603 = load ptr, ptr %ref.tmp.i617.i.i2209, align 8, !noalias !1562 - %cmp.not.i.i.i628.i.i2994 = icmp eq ptr %1603, null - br i1 %cmp.not.i.i.i628.i.i2994, label %invoke.cont209.i.i2998, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i2995 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i2995: ; preds = %invoke.cont2.i627.i.i2993 - %vtable.i.i.i.i630.i.i2996 = load ptr, ptr %1603, align 8 - %vfn.i.i.i.i631.i.i2997 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i2996, i64 1 - %1604 = load ptr, ptr %vfn.i.i.i.i631.i.i2997, align 8 + br label %lpad206.body.i.i2970 + +invoke.cont207.i.i2986: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i2983, %invoke.cont2.i609.i.i2981 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i2213), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i2212), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i2212) + to label %.noexc632.i.i2987 unwind label %lpad206.i.i2969 + +.noexc632.i.i2987: ; preds = %invoke.cont207.i.i2986 + %1602 = load ptr, ptr %ref.tmp.i617.i.i2212, align 8, !noalias !1562 + %add.ptr.i.i618.i.i2988 = getelementptr inbounds i8, ptr %1602, i64 16 + %call2.i1.i619.i.i2989 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i2988, ptr noundef nonnull @.str.115) + to label %invoke.cont.i626.i.i2995 unwind label %lpad.i620.i.i2990 + +invoke.cont.i626.i.i2995: ; preds = %.noexc632.i.i2987 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i2212) + to label %invoke.cont2.i627.i.i2996 unwind label %lpad.i620.i.i2990 + +invoke.cont2.i627.i.i2996: ; preds = %invoke.cont.i626.i.i2995 + %1603 = load ptr, ptr %ref.tmp.i617.i.i2212, align 8, !noalias !1562 + %cmp.not.i.i.i628.i.i2997 = icmp eq ptr %1603, null + br i1 %cmp.not.i.i.i628.i.i2997, label %invoke.cont209.i.i3001, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i2998 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i2998: ; preds = %invoke.cont2.i627.i.i2996 + %vtable.i.i.i.i630.i.i2999 = load ptr, ptr %1603, align 8 + %vfn.i.i.i.i631.i.i3000 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i2999, i64 1 + %1604 = load ptr, ptr %vfn.i.i.i.i631.i.i3000, align 8 call void %1604(ptr noundef nonnull align 8 dereferenceable(128) %1603) #30 - br label %invoke.cont209.i.i2998 + br label %invoke.cont209.i.i3001 -lpad.i620.i.i2987: ; preds = %invoke.cont.i626.i.i2992, %.noexc632.i.i2984 +lpad.i620.i.i2990: ; preds = %invoke.cont.i626.i.i2995, %.noexc632.i.i2987 %1605 = landingpad { ptr, i32 } cleanup - %1606 = load ptr, ptr %ref.tmp.i617.i.i2209, align 8, !noalias !1562 - %cmp.not.i.i2.i621.i.i2988 = icmp eq ptr %1606, null - br i1 %cmp.not.i.i2.i621.i.i2988, label %lpad206.body.i.i2967, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i2989 + %1606 = load ptr, ptr %ref.tmp.i617.i.i2212, align 8, !noalias !1562 + %cmp.not.i.i2.i621.i.i2991 = icmp eq ptr %1606, null + br i1 %cmp.not.i.i2.i621.i.i2991, label %lpad206.body.i.i2970, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i2992 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i2989: ; preds = %lpad.i620.i.i2987 - %vtable.i.i.i4.i623.i.i2990 = load ptr, ptr %1606, align 8 - %vfn.i.i.i5.i624.i.i2991 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i2990, i64 1 - %1607 = load ptr, ptr %vfn.i.i.i5.i624.i.i2991, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i2992: ; preds = %lpad.i620.i.i2990 + %vtable.i.i.i4.i623.i.i2993 = load ptr, ptr %1606, align 8 + %vfn.i.i.i5.i624.i.i2994 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i2993, i64 1 + %1607 = load ptr, ptr %vfn.i.i.i5.i624.i.i2994, align 8 call void %1607(ptr noundef nonnull align 8 dereferenceable(128) %1606) #30 - br label %lpad206.body.i.i2967 - -invoke.cont209.i.i2998: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i2995, %invoke.cont2.i627.i.i2993 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i2209), !noalias !1562 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2247) - to label %invoke.cont211.i.i2999 unwind label %lpad206.i.i2966 - -invoke.cont211.i.i2999: ; preds = %invoke.cont209.i.i2998 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i2249) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i2248) #30 - %message_.i635.i.i3000 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i2247, i64 0, i32 1 - %1608 = load ptr, ptr %message_.i635.i.i3000, align 8, !noalias !1562 - %cmp.not.i.i636.i.i3001 = icmp eq ptr %1608, null - br i1 %cmp.not.i.i636.i.i3001, label %cleanup249.critedge.i.i2858, label %cleanup249.critedge.sink.split.i.i2855 - -lpad192.i.i2903: ; preds = %invoke.cont193.i.i2920, %invoke.cont191.i.i2902 + br label %lpad206.body.i.i2970 + +invoke.cont209.i.i3001: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i2998, %invoke.cont2.i627.i.i2996 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i2212), !noalias !1562 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2250) + to label %invoke.cont211.i.i3002 unwind label %lpad206.i.i2969 + +invoke.cont211.i.i3002: ; preds = %invoke.cont209.i.i3001 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i2252) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i2251) #30 + %message_.i635.i.i3003 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i2250, i64 0, i32 1 + %1608 = load ptr, ptr %message_.i635.i.i3003, align 8, !noalias !1562 + %cmp.not.i.i636.i.i3004 = icmp eq ptr %1608, null + br i1 %cmp.not.i.i636.i.i3004, label %cleanup249.critedge.i.i2861, label %cleanup249.critedge.sink.split.i.i2858 + +lpad192.i.i2906: ; preds = %invoke.cont193.i.i2923, %invoke.cont191.i.i2905 %1609 = landingpad { ptr, i32 } cleanup - br label %ehcleanup214.i.i2904 + br label %ehcleanup214.i.i2907 -lpad198.i.i2927: ; preds = %invoke.cont201.i.i2959, %invoke.cont199.i.i2944, %invoke.cont197.i.i2926 +lpad198.i.i2930: ; preds = %invoke.cont201.i.i2962, %invoke.cont199.i.i2947, %invoke.cont197.i.i2929 %1610 = landingpad { ptr, i32 } cleanup - br label %ehcleanup213.i.i2928 + br label %ehcleanup213.i.i2931 -lpad206.i.i2966: ; preds = %invoke.cont209.i.i2998, %invoke.cont207.i.i2983, %invoke.cont205.i.i2965 +lpad206.i.i2969: ; preds = %invoke.cont209.i.i3001, %invoke.cont207.i.i2986, %invoke.cont205.i.i2968 %1611 = landingpad { ptr, i32 } cleanup - br label %lpad206.body.i.i2967 - -lpad206.body.i.i2967: ; preds = %lpad206.i.i2966, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i2989, %lpad.i620.i.i2987, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i2974, %lpad.i602.i.i2972 - %eh.lpad-body615.i.i2968 = phi { ptr, i32 } [ %1599, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i2974 ], [ %1599, %lpad.i602.i.i2972 ], [ %1611, %lpad206.i.i2966 ], [ %1605, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i2989 ], [ %1605, %lpad.i620.i.i2987 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i2249) #30 - br label %ehcleanup213.i.i2928 - -ehcleanup213.i.i2928: ; preds = %lpad206.body.i.i2967, %lpad198.i.i2927, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i2950, %lpad.i584.i.i2948, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i2935, %lpad.i566.i.i2933 - %.pn31.i.i2929 = phi { ptr, i32 } [ %eh.lpad-body615.i.i2968, %lpad206.body.i.i2967 ], [ %1586, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i2935 ], [ %1586, %lpad.i566.i.i2933 ], [ %1610, %lpad198.i.i2927 ], [ %1592, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i2950 ], [ %1592, %lpad.i584.i.i2948 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i2248) #30 - br label %ehcleanup214.i.i2904 - -ehcleanup214.i.i2904: ; preds = %ehcleanup213.i.i2928, %lpad192.i.i2903, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i2911, %lpad.i549.i.i2909 - %.pn31.pn.i.i2905 = phi { ptr, i32 } [ %.pn31.i.i2929, %ehcleanup213.i.i2928 ], [ %1609, %lpad192.i.i2903 ], [ %1579, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i2911 ], [ %1579, %lpad.i549.i.i2909 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2247) #30 - br label %ehcleanup245.i.i2749 - -sw.bb215.i.i2752: ; preds = %invoke.cont162.i.i2751 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i2250) - to label %invoke.cont217.i.i2755 unwind label %lpad161.loopexit.split-lp.i.i2753 - -invoke.cont217.i.i2755: ; preds = %sw.bb215.i.i2752 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i2208), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i2208) - to label %.noexc654.i.i2759 unwind label %lpad218.i.i2756 - -.noexc654.i.i2759: ; preds = %invoke.cont217.i.i2755 - %1612 = load ptr, ptr %ref.tmp.i639.i.i2208, align 8, !noalias !1562 - %add.ptr.i.i640.i.i2760 = getelementptr inbounds i8, ptr %1612, i64 16 - %call2.i1.i641.i.i2761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i2760, ptr noundef nonnull @.str.113) - to label %invoke.cont.i648.i.i2767 unwind label %lpad.i642.i.i2762 - -invoke.cont.i648.i.i2767: ; preds = %.noexc654.i.i2759 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i2208) - to label %invoke.cont2.i649.i.i2768 unwind label %lpad.i642.i.i2762 - -invoke.cont2.i649.i.i2768: ; preds = %invoke.cont.i648.i.i2767 - %1613 = load ptr, ptr %ref.tmp.i639.i.i2208, align 8, !noalias !1562 - %cmp.not.i.i.i650.i.i2769 = icmp eq ptr %1613, null - br i1 %cmp.not.i.i.i650.i.i2769, label %invoke.cont219.i.i2773, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i2770 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i2770: ; preds = %invoke.cont2.i649.i.i2768 - %vtable.i.i.i.i652.i.i2771 = load ptr, ptr %1613, align 8 - %vfn.i.i.i.i653.i.i2772 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i2771, i64 1 - %1614 = load ptr, ptr %vfn.i.i.i.i653.i.i2772, align 8 + br label %lpad206.body.i.i2970 + +lpad206.body.i.i2970: ; preds = %lpad206.i.i2969, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i2992, %lpad.i620.i.i2990, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i2977, %lpad.i602.i.i2975 + %eh.lpad-body615.i.i2971 = phi { ptr, i32 } [ %1599, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i2977 ], [ %1599, %lpad.i602.i.i2975 ], [ %1611, %lpad206.i.i2969 ], [ %1605, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i2992 ], [ %1605, %lpad.i620.i.i2990 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i2252) #30 + br label %ehcleanup213.i.i2931 + +ehcleanup213.i.i2931: ; preds = %lpad206.body.i.i2970, %lpad198.i.i2930, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i2953, %lpad.i584.i.i2951, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i2938, %lpad.i566.i.i2936 + %.pn31.i.i2932 = phi { ptr, i32 } [ %eh.lpad-body615.i.i2971, %lpad206.body.i.i2970 ], [ %1586, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i2938 ], [ %1586, %lpad.i566.i.i2936 ], [ %1610, %lpad198.i.i2930 ], [ %1592, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i2953 ], [ %1592, %lpad.i584.i.i2951 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i2251) #30 + br label %ehcleanup214.i.i2907 + +ehcleanup214.i.i2907: ; preds = %ehcleanup213.i.i2931, %lpad192.i.i2906, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i2914, %lpad.i549.i.i2912 + %.pn31.pn.i.i2908 = phi { ptr, i32 } [ %.pn31.i.i2932, %ehcleanup213.i.i2931 ], [ %1609, %lpad192.i.i2906 ], [ %1579, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i2914 ], [ %1579, %lpad.i549.i.i2912 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i2250) #30 + br label %ehcleanup245.i.i2752 + +sw.bb215.i.i2755: ; preds = %invoke.cont162.i.i2754 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i2253) + to label %invoke.cont217.i.i2758 unwind label %lpad161.loopexit.split-lp.i.i2756 + +invoke.cont217.i.i2758: ; preds = %sw.bb215.i.i2755 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i2211), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i2211) + to label %.noexc654.i.i2762 unwind label %lpad218.i.i2759 + +.noexc654.i.i2762: ; preds = %invoke.cont217.i.i2758 + %1612 = load ptr, ptr %ref.tmp.i639.i.i2211, align 8, !noalias !1562 + %add.ptr.i.i640.i.i2763 = getelementptr inbounds i8, ptr %1612, i64 16 + %call2.i1.i641.i.i2764 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i2763, ptr noundef nonnull @.str.113) + to label %invoke.cont.i648.i.i2770 unwind label %lpad.i642.i.i2765 + +invoke.cont.i648.i.i2770: ; preds = %.noexc654.i.i2762 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2253, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i2211) + to label %invoke.cont2.i649.i.i2771 unwind label %lpad.i642.i.i2765 + +invoke.cont2.i649.i.i2771: ; preds = %invoke.cont.i648.i.i2770 + %1613 = load ptr, ptr %ref.tmp.i639.i.i2211, align 8, !noalias !1562 + %cmp.not.i.i.i650.i.i2772 = icmp eq ptr %1613, null + br i1 %cmp.not.i.i.i650.i.i2772, label %invoke.cont219.i.i2776, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i2773 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i2773: ; preds = %invoke.cont2.i649.i.i2771 + %vtable.i.i.i.i652.i.i2774 = load ptr, ptr %1613, align 8 + %vfn.i.i.i.i653.i.i2775 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i2774, i64 1 + %1614 = load ptr, ptr %vfn.i.i.i.i653.i.i2775, align 8 call void %1614(ptr noundef nonnull align 8 dereferenceable(128) %1613) #30 - br label %invoke.cont219.i.i2773 + br label %invoke.cont219.i.i2776 -lpad.i642.i.i2762: ; preds = %invoke.cont.i648.i.i2767, %.noexc654.i.i2759 +lpad.i642.i.i2765: ; preds = %invoke.cont.i648.i.i2770, %.noexc654.i.i2762 %1615 = landingpad { ptr, i32 } cleanup - %1616 = load ptr, ptr %ref.tmp.i639.i.i2208, align 8, !noalias !1562 - %cmp.not.i.i2.i643.i.i2763 = icmp eq ptr %1616, null - br i1 %cmp.not.i.i2.i643.i.i2763, label %ehcleanup240.i.i2757, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i2764 + %1616 = load ptr, ptr %ref.tmp.i639.i.i2211, align 8, !noalias !1562 + %cmp.not.i.i2.i643.i.i2766 = icmp eq ptr %1616, null + br i1 %cmp.not.i.i2.i643.i.i2766, label %ehcleanup240.i.i2760, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i2767 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i2764: ; preds = %lpad.i642.i.i2762 - %vtable.i.i.i4.i645.i.i2765 = load ptr, ptr %1616, align 8 - %vfn.i.i.i5.i646.i.i2766 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i2765, i64 1 - %1617 = load ptr, ptr %vfn.i.i.i5.i646.i.i2766, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i2767: ; preds = %lpad.i642.i.i2765 + %vtable.i.i.i4.i645.i.i2768 = load ptr, ptr %1616, align 8 + %vfn.i.i.i5.i646.i.i2769 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i2768, i64 1 + %1617 = load ptr, ptr %vfn.i.i.i5.i646.i.i2769, align 8 call void %1617(ptr noundef nonnull align 8 dereferenceable(128) %1616) #30 - br label %ehcleanup240.i.i2757 - -invoke.cont219.i.i2773: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i2770, %invoke.cont2.i649.i.i2768 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i2208), !noalias !1562 - %call68.val78.i.i2774 = load ptr, ptr %__begin058.sroa.0.052.i.i2411, align 8 - %call222.val.i.i2775 = load ptr, ptr %call68.val78.i.i2774, align 8 - %1618 = getelementptr i8, ptr %call68.val78.i.i2774, i64 8 - %call222.val92.i.i2776 = load i64, ptr %1618, align 8 - %call222.val.val.i.i2777 = load ptr, ptr %call222.val.i.i2775, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i2251, ptr %call222.val.val.i.i2777, i64 %call222.val92.i.i2776) - to label %invoke.cont223.i.i2779 unwind label %lpad218.i.i2756 - -invoke.cont223.i.i2779: ; preds = %invoke.cont219.i.i2773 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i2207), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i2207) - to label %.noexc672.i.i2783 unwind label %lpad224.i.i2780 - -.noexc672.i.i2783: ; preds = %invoke.cont223.i.i2779 - %1619 = load ptr, ptr %ref.tmp.i657.i.i2207, align 8, !noalias !1562 - %add.ptr.i.i658.i.i2784 = getelementptr inbounds i8, ptr %1619, i64 16 - %call2.i1.i659.i.i2785 = 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) %add.ptr.i.i658.i.i2784, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i2251) - to label %invoke.cont.i666.i.i2791 unwind label %lpad.i660.i.i2786 - -invoke.cont.i666.i.i2791: ; preds = %.noexc672.i.i2783 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i2207) - to label %invoke.cont2.i667.i.i2792 unwind label %lpad.i660.i.i2786 - -invoke.cont2.i667.i.i2792: ; preds = %invoke.cont.i666.i.i2791 - %1620 = load ptr, ptr %ref.tmp.i657.i.i2207, align 8, !noalias !1562 - %cmp.not.i.i.i668.i.i2793 = icmp eq ptr %1620, null - br i1 %cmp.not.i.i.i668.i.i2793, label %invoke.cont225.i.i2797, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i2794 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i2794: ; preds = %invoke.cont2.i667.i.i2792 - %vtable.i.i.i.i670.i.i2795 = load ptr, ptr %1620, align 8 - %vfn.i.i.i.i671.i.i2796 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i2795, i64 1 - %1621 = load ptr, ptr %vfn.i.i.i.i671.i.i2796, align 8 + br label %ehcleanup240.i.i2760 + +invoke.cont219.i.i2776: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i2773, %invoke.cont2.i649.i.i2771 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i2211), !noalias !1562 + %call68.val78.i.i2777 = load ptr, ptr %__begin058.sroa.0.052.i.i2414, align 8 + %call222.val.i.i2778 = load ptr, ptr %call68.val78.i.i2777, align 8 + %1618 = getelementptr i8, ptr %call68.val78.i.i2777, i64 8 + %call222.val92.i.i2779 = load i64, ptr %1618, align 8 + %call222.val.val.i.i2780 = load ptr, ptr %call222.val.i.i2778, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i2254, ptr %call222.val.val.i.i2780, i64 %call222.val92.i.i2779) + to label %invoke.cont223.i.i2782 unwind label %lpad218.i.i2759 + +invoke.cont223.i.i2782: ; preds = %invoke.cont219.i.i2776 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i2210), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i2210) + to label %.noexc672.i.i2786 unwind label %lpad224.i.i2783 + +.noexc672.i.i2786: ; preds = %invoke.cont223.i.i2782 + %1619 = load ptr, ptr %ref.tmp.i657.i.i2210, align 8, !noalias !1562 + %add.ptr.i.i658.i.i2787 = getelementptr inbounds i8, ptr %1619, i64 16 + %call2.i1.i659.i.i2788 = 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) %add.ptr.i.i658.i.i2787, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i2254) + to label %invoke.cont.i666.i.i2794 unwind label %lpad.i660.i.i2789 + +invoke.cont.i666.i.i2794: ; preds = %.noexc672.i.i2786 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2253, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i2210) + to label %invoke.cont2.i667.i.i2795 unwind label %lpad.i660.i.i2789 + +invoke.cont2.i667.i.i2795: ; preds = %invoke.cont.i666.i.i2794 + %1620 = load ptr, ptr %ref.tmp.i657.i.i2210, align 8, !noalias !1562 + %cmp.not.i.i.i668.i.i2796 = icmp eq ptr %1620, null + br i1 %cmp.not.i.i.i668.i.i2796, label %invoke.cont225.i.i2800, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i2797 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i2797: ; preds = %invoke.cont2.i667.i.i2795 + %vtable.i.i.i.i670.i.i2798 = load ptr, ptr %1620, align 8 + %vfn.i.i.i.i671.i.i2799 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i2798, i64 1 + %1621 = load ptr, ptr %vfn.i.i.i.i671.i.i2799, align 8 call void %1621(ptr noundef nonnull align 8 dereferenceable(128) %1620) #30 - br label %invoke.cont225.i.i2797 + br label %invoke.cont225.i.i2800 -lpad.i660.i.i2786: ; preds = %invoke.cont.i666.i.i2791, %.noexc672.i.i2783 +lpad.i660.i.i2789: ; preds = %invoke.cont.i666.i.i2794, %.noexc672.i.i2786 %1622 = landingpad { ptr, i32 } cleanup - %1623 = load ptr, ptr %ref.tmp.i657.i.i2207, align 8, !noalias !1562 - %cmp.not.i.i2.i661.i.i2787 = icmp eq ptr %1623, null - br i1 %cmp.not.i.i2.i661.i.i2787, label %ehcleanup239.i.i2781, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i2788 + %1623 = load ptr, ptr %ref.tmp.i657.i.i2210, align 8, !noalias !1562 + %cmp.not.i.i2.i661.i.i2790 = icmp eq ptr %1623, null + br i1 %cmp.not.i.i2.i661.i.i2790, label %ehcleanup239.i.i2784, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i2791 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i2788: ; preds = %lpad.i660.i.i2786 - %vtable.i.i.i4.i663.i.i2789 = load ptr, ptr %1623, align 8 - %vfn.i.i.i5.i664.i.i2790 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i2789, i64 1 - %1624 = load ptr, ptr %vfn.i.i.i5.i664.i.i2790, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i2791: ; preds = %lpad.i660.i.i2789 + %vtable.i.i.i4.i663.i.i2792 = load ptr, ptr %1623, align 8 + %vfn.i.i.i5.i664.i.i2793 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i2792, i64 1 + %1624 = load ptr, ptr %vfn.i.i.i5.i664.i.i2793, align 8 call void %1624(ptr noundef nonnull align 8 dereferenceable(128) %1623) #30 - br label %ehcleanup239.i.i2781 - -invoke.cont225.i.i2797: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i2794, %invoke.cont2.i667.i.i2792 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i2207), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i2206), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i2206) - to label %.noexc690.i.i2798 unwind label %lpad224.i.i2780 - -.noexc690.i.i2798: ; preds = %invoke.cont225.i.i2797 - %1625 = load ptr, ptr %ref.tmp.i675.i.i2206, align 8, !noalias !1562 - %add.ptr.i.i676.i.i2799 = getelementptr inbounds i8, ptr %1625, i64 16 - %call2.i1.i677.i.i2800 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i2799, ptr noundef nonnull @.str.114) - to label %invoke.cont.i684.i.i2806 unwind label %lpad.i678.i.i2801 - -invoke.cont.i684.i.i2806: ; preds = %.noexc690.i.i2798 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i2206) - to label %invoke.cont2.i685.i.i2807 unwind label %lpad.i678.i.i2801 - -invoke.cont2.i685.i.i2807: ; preds = %invoke.cont.i684.i.i2806 - %1626 = load ptr, ptr %ref.tmp.i675.i.i2206, align 8, !noalias !1562 - %cmp.not.i.i.i686.i.i2808 = icmp eq ptr %1626, null - br i1 %cmp.not.i.i.i686.i.i2808, label %invoke.cont227.i.i2812, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i2809 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i2809: ; preds = %invoke.cont2.i685.i.i2807 - %vtable.i.i.i.i688.i.i2810 = load ptr, ptr %1626, align 8 - %vfn.i.i.i.i689.i.i2811 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i2810, i64 1 - %1627 = load ptr, ptr %vfn.i.i.i.i689.i.i2811, align 8 + br label %ehcleanup239.i.i2784 + +invoke.cont225.i.i2800: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i2797, %invoke.cont2.i667.i.i2795 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i2210), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i2209), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i2209) + to label %.noexc690.i.i2801 unwind label %lpad224.i.i2783 + +.noexc690.i.i2801: ; preds = %invoke.cont225.i.i2800 + %1625 = load ptr, ptr %ref.tmp.i675.i.i2209, align 8, !noalias !1562 + %add.ptr.i.i676.i.i2802 = getelementptr inbounds i8, ptr %1625, i64 16 + %call2.i1.i677.i.i2803 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i2802, ptr noundef nonnull @.str.114) + to label %invoke.cont.i684.i.i2809 unwind label %lpad.i678.i.i2804 + +invoke.cont.i684.i.i2809: ; preds = %.noexc690.i.i2801 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2253, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i2209) + to label %invoke.cont2.i685.i.i2810 unwind label %lpad.i678.i.i2804 + +invoke.cont2.i685.i.i2810: ; preds = %invoke.cont.i684.i.i2809 + %1626 = load ptr, ptr %ref.tmp.i675.i.i2209, align 8, !noalias !1562 + %cmp.not.i.i.i686.i.i2811 = icmp eq ptr %1626, null + br i1 %cmp.not.i.i.i686.i.i2811, label %invoke.cont227.i.i2815, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i2812 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i2812: ; preds = %invoke.cont2.i685.i.i2810 + %vtable.i.i.i.i688.i.i2813 = load ptr, ptr %1626, align 8 + %vfn.i.i.i.i689.i.i2814 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i2813, i64 1 + %1627 = load ptr, ptr %vfn.i.i.i.i689.i.i2814, align 8 call void %1627(ptr noundef nonnull align 8 dereferenceable(128) %1626) #30 - br label %invoke.cont227.i.i2812 + br label %invoke.cont227.i.i2815 -lpad.i678.i.i2801: ; preds = %invoke.cont.i684.i.i2806, %.noexc690.i.i2798 +lpad.i678.i.i2804: ; preds = %invoke.cont.i684.i.i2809, %.noexc690.i.i2801 %1628 = landingpad { ptr, i32 } cleanup - %1629 = load ptr, ptr %ref.tmp.i675.i.i2206, align 8, !noalias !1562 - %cmp.not.i.i2.i679.i.i2802 = icmp eq ptr %1629, null - br i1 %cmp.not.i.i2.i679.i.i2802, label %ehcleanup239.i.i2781, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i2803 + %1629 = load ptr, ptr %ref.tmp.i675.i.i2209, align 8, !noalias !1562 + %cmp.not.i.i2.i679.i.i2805 = icmp eq ptr %1629, null + br i1 %cmp.not.i.i2.i679.i.i2805, label %ehcleanup239.i.i2784, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i2806 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i2803: ; preds = %lpad.i678.i.i2801 - %vtable.i.i.i4.i681.i.i2804 = load ptr, ptr %1629, align 8 - %vfn.i.i.i5.i682.i.i2805 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i2804, i64 1 - %1630 = load ptr, ptr %vfn.i.i.i5.i682.i.i2805, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i2806: ; preds = %lpad.i678.i.i2804 + %vtable.i.i.i4.i681.i.i2807 = load ptr, ptr %1629, align 8 + %vfn.i.i.i5.i682.i.i2808 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i2807, i64 1 + %1630 = load ptr, ptr %vfn.i.i.i5.i682.i.i2808, align 8 call void %1630(ptr noundef nonnull align 8 dereferenceable(128) %1629) #30 - br label %ehcleanup239.i.i2781 - -invoke.cont227.i.i2812: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i2809, %invoke.cont2.i685.i.i2807 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i2206), !noalias !1562 - %call155.val79.i.i2813 = load ptr, ptr %__begin0146.sroa.0.050.i.i2736, align 8 - %call230.val.i.i2814 = load ptr, ptr %call155.val79.i.i2813, align 8 - %1631 = getelementptr i8, ptr %call155.val79.i.i2813, i64 8 - %call230.val93.i.i2815 = load i64, ptr %1631, align 8 - %call230.val.val.i.i2816 = load ptr, ptr %call230.val.i.i2814, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i2252, ptr %call230.val.val.i.i2816, i64 %call230.val93.i.i2815) - to label %invoke.cont231.i.i2818 unwind label %lpad224.i.i2780 - -invoke.cont231.i.i2818: ; preds = %invoke.cont227.i.i2812 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i2205), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i2205) - to label %.noexc709.i.i2822 unwind label %lpad232.i.i2819 - -.noexc709.i.i2822: ; preds = %invoke.cont231.i.i2818 - %1632 = load ptr, ptr %ref.tmp.i694.i.i2205, align 8, !noalias !1562 - %add.ptr.i.i695.i.i2823 = getelementptr inbounds i8, ptr %1632, i64 16 - %call2.i1.i696.i.i2824 = 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) %add.ptr.i.i695.i.i2823, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i2252) - to label %invoke.cont.i703.i.i2830 unwind label %lpad.i697.i.i2825 - -invoke.cont.i703.i.i2830: ; preds = %.noexc709.i.i2822 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i2205) - to label %invoke.cont2.i704.i.i2831 unwind label %lpad.i697.i.i2825 - -invoke.cont2.i704.i.i2831: ; preds = %invoke.cont.i703.i.i2830 - %1633 = load ptr, ptr %ref.tmp.i694.i.i2205, align 8, !noalias !1562 - %cmp.not.i.i.i705.i.i2832 = icmp eq ptr %1633, null - br i1 %cmp.not.i.i.i705.i.i2832, label %invoke.cont233.i.i2836, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i2833 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i2833: ; preds = %invoke.cont2.i704.i.i2831 - %vtable.i.i.i.i707.i.i2834 = load ptr, ptr %1633, align 8 - %vfn.i.i.i.i708.i.i2835 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i2834, i64 1 - %1634 = load ptr, ptr %vfn.i.i.i.i708.i.i2835, align 8 + br label %ehcleanup239.i.i2784 + +invoke.cont227.i.i2815: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i2812, %invoke.cont2.i685.i.i2810 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i2209), !noalias !1562 + %call155.val79.i.i2816 = load ptr, ptr %__begin0146.sroa.0.050.i.i2739, align 8 + %call230.val.i.i2817 = load ptr, ptr %call155.val79.i.i2816, align 8 + %1631 = getelementptr i8, ptr %call155.val79.i.i2816, i64 8 + %call230.val93.i.i2818 = load i64, ptr %1631, align 8 + %call230.val.val.i.i2819 = load ptr, ptr %call230.val.i.i2817, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i2255, ptr %call230.val.val.i.i2819, i64 %call230.val93.i.i2818) + to label %invoke.cont231.i.i2821 unwind label %lpad224.i.i2783 + +invoke.cont231.i.i2821: ; preds = %invoke.cont227.i.i2815 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i2208), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i2208) + to label %.noexc709.i.i2825 unwind label %lpad232.i.i2822 + +.noexc709.i.i2825: ; preds = %invoke.cont231.i.i2821 + %1632 = load ptr, ptr %ref.tmp.i694.i.i2208, align 8, !noalias !1562 + %add.ptr.i.i695.i.i2826 = getelementptr inbounds i8, ptr %1632, i64 16 + %call2.i1.i696.i.i2827 = 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) %add.ptr.i.i695.i.i2826, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i2255) + to label %invoke.cont.i703.i.i2833 unwind label %lpad.i697.i.i2828 + +invoke.cont.i703.i.i2833: ; preds = %.noexc709.i.i2825 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2253, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i2208) + to label %invoke.cont2.i704.i.i2834 unwind label %lpad.i697.i.i2828 + +invoke.cont2.i704.i.i2834: ; preds = %invoke.cont.i703.i.i2833 + %1633 = load ptr, ptr %ref.tmp.i694.i.i2208, align 8, !noalias !1562 + %cmp.not.i.i.i705.i.i2835 = icmp eq ptr %1633, null + br i1 %cmp.not.i.i.i705.i.i2835, label %invoke.cont233.i.i2839, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i2836 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i2836: ; preds = %invoke.cont2.i704.i.i2834 + %vtable.i.i.i.i707.i.i2837 = load ptr, ptr %1633, align 8 + %vfn.i.i.i.i708.i.i2838 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i2837, i64 1 + %1634 = load ptr, ptr %vfn.i.i.i.i708.i.i2838, align 8 call void %1634(ptr noundef nonnull align 8 dereferenceable(128) %1633) #30 - br label %invoke.cont233.i.i2836 + br label %invoke.cont233.i.i2839 -lpad.i697.i.i2825: ; preds = %invoke.cont.i703.i.i2830, %.noexc709.i.i2822 +lpad.i697.i.i2828: ; preds = %invoke.cont.i703.i.i2833, %.noexc709.i.i2825 %1635 = landingpad { ptr, i32 } cleanup - %1636 = load ptr, ptr %ref.tmp.i694.i.i2205, align 8, !noalias !1562 - %cmp.not.i.i2.i698.i.i2826 = icmp eq ptr %1636, null - br i1 %cmp.not.i.i2.i698.i.i2826, label %lpad232.body.i.i2820, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i2827 + %1636 = load ptr, ptr %ref.tmp.i694.i.i2208, align 8, !noalias !1562 + %cmp.not.i.i2.i698.i.i2829 = icmp eq ptr %1636, null + br i1 %cmp.not.i.i2.i698.i.i2829, label %lpad232.body.i.i2823, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i2830 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i2827: ; preds = %lpad.i697.i.i2825 - %vtable.i.i.i4.i700.i.i2828 = load ptr, ptr %1636, align 8 - %vfn.i.i.i5.i701.i.i2829 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i2828, i64 1 - %1637 = load ptr, ptr %vfn.i.i.i5.i701.i.i2829, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i2830: ; preds = %lpad.i697.i.i2828 + %vtable.i.i.i4.i700.i.i2831 = load ptr, ptr %1636, align 8 + %vfn.i.i.i5.i701.i.i2832 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i2831, i64 1 + %1637 = load ptr, ptr %vfn.i.i.i5.i701.i.i2832, align 8 call void %1637(ptr noundef nonnull align 8 dereferenceable(128) %1636) #30 - br label %lpad232.body.i.i2820 - -invoke.cont233.i.i2836: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i2833, %invoke.cont2.i704.i.i2831 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i2205), !noalias !1562 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i2204), !noalias !1562 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i2204) - to label %.noexc727.i.i2837 unwind label %lpad232.i.i2819 - -.noexc727.i.i2837: ; preds = %invoke.cont233.i.i2836 - %1638 = load ptr, ptr %ref.tmp.i712.i.i2204, align 8, !noalias !1562 - %add.ptr.i.i713.i.i2838 = getelementptr inbounds i8, ptr %1638, i64 16 - %call2.i1.i714.i.i2839 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i2838, ptr noundef nonnull @.str.115) - to label %invoke.cont.i721.i.i2845 unwind label %lpad.i715.i.i2840 - -invoke.cont.i721.i.i2845: ; preds = %.noexc727.i.i2837 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2250, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i2204) - to label %invoke.cont2.i722.i.i2846 unwind label %lpad.i715.i.i2840 - -invoke.cont2.i722.i.i2846: ; preds = %invoke.cont.i721.i.i2845 - %1639 = load ptr, ptr %ref.tmp.i712.i.i2204, align 8, !noalias !1562 - %cmp.not.i.i.i723.i.i2847 = icmp eq ptr %1639, null - br i1 %cmp.not.i.i.i723.i.i2847, label %invoke.cont235.i.i2851, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i2848 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i2848: ; preds = %invoke.cont2.i722.i.i2846 - %vtable.i.i.i.i725.i.i2849 = load ptr, ptr %1639, align 8 - %vfn.i.i.i.i726.i.i2850 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i2849, i64 1 - %1640 = load ptr, ptr %vfn.i.i.i.i726.i.i2850, align 8 + br label %lpad232.body.i.i2823 + +invoke.cont233.i.i2839: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i2836, %invoke.cont2.i704.i.i2834 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i2208), !noalias !1562 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i2207), !noalias !1562 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i2207) + to label %.noexc727.i.i2840 unwind label %lpad232.i.i2822 + +.noexc727.i.i2840: ; preds = %invoke.cont233.i.i2839 + %1638 = load ptr, ptr %ref.tmp.i712.i.i2207, align 8, !noalias !1562 + %add.ptr.i.i713.i.i2841 = getelementptr inbounds i8, ptr %1638, i64 16 + %call2.i1.i714.i.i2842 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i2841, ptr noundef nonnull @.str.115) + to label %invoke.cont.i721.i.i2848 unwind label %lpad.i715.i.i2843 + +invoke.cont.i721.i.i2848: ; preds = %.noexc727.i.i2840 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2253, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i2207) + to label %invoke.cont2.i722.i.i2849 unwind label %lpad.i715.i.i2843 + +invoke.cont2.i722.i.i2849: ; preds = %invoke.cont.i721.i.i2848 + %1639 = load ptr, ptr %ref.tmp.i712.i.i2207, align 8, !noalias !1562 + %cmp.not.i.i.i723.i.i2850 = icmp eq ptr %1639, null + br i1 %cmp.not.i.i.i723.i.i2850, label %invoke.cont235.i.i2854, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i2851 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i2851: ; preds = %invoke.cont2.i722.i.i2849 + %vtable.i.i.i.i725.i.i2852 = load ptr, ptr %1639, align 8 + %vfn.i.i.i.i726.i.i2853 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i2852, i64 1 + %1640 = load ptr, ptr %vfn.i.i.i.i726.i.i2853, align 8 call void %1640(ptr noundef nonnull align 8 dereferenceable(128) %1639) #30 - br label %invoke.cont235.i.i2851 + br label %invoke.cont235.i.i2854 -lpad.i715.i.i2840: ; preds = %invoke.cont.i721.i.i2845, %.noexc727.i.i2837 +lpad.i715.i.i2843: ; preds = %invoke.cont.i721.i.i2848, %.noexc727.i.i2840 %1641 = landingpad { ptr, i32 } cleanup - %1642 = load ptr, ptr %ref.tmp.i712.i.i2204, align 8, !noalias !1562 - %cmp.not.i.i2.i716.i.i2841 = icmp eq ptr %1642, null - br i1 %cmp.not.i.i2.i716.i.i2841, label %lpad232.body.i.i2820, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i2842 + %1642 = load ptr, ptr %ref.tmp.i712.i.i2207, align 8, !noalias !1562 + %cmp.not.i.i2.i716.i.i2844 = icmp eq ptr %1642, null + br i1 %cmp.not.i.i2.i716.i.i2844, label %lpad232.body.i.i2823, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i2845 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i2842: ; preds = %lpad.i715.i.i2840 - %vtable.i.i.i4.i718.i.i2843 = load ptr, ptr %1642, align 8 - %vfn.i.i.i5.i719.i.i2844 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i2843, i64 1 - %1643 = load ptr, ptr %vfn.i.i.i5.i719.i.i2844, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i2845: ; preds = %lpad.i715.i.i2843 + %vtable.i.i.i4.i718.i.i2846 = load ptr, ptr %1642, align 8 + %vfn.i.i.i5.i719.i.i2847 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i2846, i64 1 + %1643 = load ptr, ptr %vfn.i.i.i5.i719.i.i2847, align 8 call void %1643(ptr noundef nonnull align 8 dereferenceable(128) %1642) #30 - br label %lpad232.body.i.i2820 - -invoke.cont235.i.i2851: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i2848, %invoke.cont2.i722.i.i2846 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i2204), !noalias !1562 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2250) - to label %invoke.cont237.i.i2852 unwind label %lpad232.i.i2819 - -invoke.cont237.i.i2852: ; preds = %invoke.cont235.i.i2851 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i2252) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i2251) #30 - %message_.i731.i.i2853 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i2250, i64 0, i32 1 - %1644 = load ptr, ptr %message_.i731.i.i2853, align 8, !noalias !1562 - %cmp.not.i.i732.i.i2854 = icmp eq ptr %1644, null - br i1 %cmp.not.i.i732.i.i2854, label %cleanup249.critedge.i.i2858, label %cleanup249.critedge.sink.split.i.i2855 - -lpad218.i.i2756: ; preds = %invoke.cont219.i.i2773, %invoke.cont217.i.i2755 + br label %lpad232.body.i.i2823 + +invoke.cont235.i.i2854: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i2851, %invoke.cont2.i722.i.i2849 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i2207), !noalias !1562 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2253) + to label %invoke.cont237.i.i2855 unwind label %lpad232.i.i2822 + +invoke.cont237.i.i2855: ; preds = %invoke.cont235.i.i2854 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i2255) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i2254) #30 + %message_.i731.i.i2856 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i2253, i64 0, i32 1 + %1644 = load ptr, ptr %message_.i731.i.i2856, align 8, !noalias !1562 + %cmp.not.i.i732.i.i2857 = icmp eq ptr %1644, null + br i1 %cmp.not.i.i732.i.i2857, label %cleanup249.critedge.i.i2861, label %cleanup249.critedge.sink.split.i.i2858 + +lpad218.i.i2759: ; preds = %invoke.cont219.i.i2776, %invoke.cont217.i.i2758 %1645 = landingpad { ptr, i32 } cleanup - br label %ehcleanup240.i.i2757 + br label %ehcleanup240.i.i2760 -lpad224.i.i2780: ; preds = %invoke.cont227.i.i2812, %invoke.cont225.i.i2797, %invoke.cont223.i.i2779 +lpad224.i.i2783: ; preds = %invoke.cont227.i.i2815, %invoke.cont225.i.i2800, %invoke.cont223.i.i2782 %1646 = landingpad { ptr, i32 } cleanup - br label %ehcleanup239.i.i2781 + br label %ehcleanup239.i.i2784 -lpad232.i.i2819: ; preds = %invoke.cont235.i.i2851, %invoke.cont233.i.i2836, %invoke.cont231.i.i2818 +lpad232.i.i2822: ; preds = %invoke.cont235.i.i2854, %invoke.cont233.i.i2839, %invoke.cont231.i.i2821 %1647 = landingpad { ptr, i32 } cleanup - br label %lpad232.body.i.i2820 + br label %lpad232.body.i.i2823 -lpad232.body.i.i2820: ; preds = %lpad232.i.i2819, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i2842, %lpad.i715.i.i2840, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i2827, %lpad.i697.i.i2825 - %eh.lpad-body710.i.i2821 = phi { ptr, i32 } [ %1635, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i2827 ], [ %1635, %lpad.i697.i.i2825 ], [ %1647, %lpad232.i.i2819 ], [ %1641, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i2842 ], [ %1641, %lpad.i715.i.i2840 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i2252) #30 - br label %ehcleanup239.i.i2781 +lpad232.body.i.i2823: ; preds = %lpad232.i.i2822, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i2845, %lpad.i715.i.i2843, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i2830, %lpad.i697.i.i2828 + %eh.lpad-body710.i.i2824 = phi { ptr, i32 } [ %1635, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i2830 ], [ %1635, %lpad.i697.i.i2828 ], [ %1647, %lpad232.i.i2822 ], [ %1641, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i2845 ], [ %1641, %lpad.i715.i.i2843 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i2255) #30 + br label %ehcleanup239.i.i2784 -ehcleanup239.i.i2781: ; preds = %lpad232.body.i.i2820, %lpad224.i.i2780, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i2803, %lpad.i678.i.i2801, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i2788, %lpad.i660.i.i2786 - %.pn.i.i2782 = phi { ptr, i32 } [ %eh.lpad-body710.i.i2821, %lpad232.body.i.i2820 ], [ %1622, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i2788 ], [ %1622, %lpad.i660.i.i2786 ], [ %1646, %lpad224.i.i2780 ], [ %1628, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i2803 ], [ %1628, %lpad.i678.i.i2801 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i2251) #30 - br label %ehcleanup240.i.i2757 +ehcleanup239.i.i2784: ; preds = %lpad232.body.i.i2823, %lpad224.i.i2783, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i2806, %lpad.i678.i.i2804, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i2791, %lpad.i660.i.i2789 + %.pn.i.i2785 = phi { ptr, i32 } [ %eh.lpad-body710.i.i2824, %lpad232.body.i.i2823 ], [ %1622, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i2791 ], [ %1622, %lpad.i660.i.i2789 ], [ %1646, %lpad224.i.i2783 ], [ %1628, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i2806 ], [ %1628, %lpad.i678.i.i2804 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i2254) #30 + br label %ehcleanup240.i.i2760 -ehcleanup240.i.i2757: ; preds = %ehcleanup239.i.i2781, %lpad218.i.i2756, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i2764, %lpad.i642.i.i2762 - %.pn.pn.i.i2758 = phi { ptr, i32 } [ %.pn.i.i2782, %ehcleanup239.i.i2781 ], [ %1645, %lpad218.i.i2756 ], [ %1615, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i2764 ], [ %1615, %lpad.i642.i.i2762 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2250) #30 - br label %ehcleanup245.i.i2749 +ehcleanup240.i.i2760: ; preds = %ehcleanup239.i.i2784, %lpad218.i.i2759, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i2767, %lpad.i642.i.i2765 + %.pn.pn.i.i2761 = phi { ptr, i32 } [ %.pn.i.i2785, %ehcleanup239.i.i2784 ], [ %1645, %lpad218.i.i2759 ], [ %1615, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i2767 ], [ %1615, %lpad.i642.i.i2765 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i2253) #30 + br label %ehcleanup245.i.i2752 -cleanup242.i.i3103: ; preds = %invoke.cont162.i.i2751 - %1648 = load ptr, ptr %_M_refcount.i.i.i735.i.i2406, align 8, !noalias !1562 - %cmp.not.i.i.i.i736.i.i3104 = icmp eq ptr %1648, null - br i1 %cmp.not.i.i.i.i736.i.i3104, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115, label %if.then.i.i.i.i737.i.i3105 +cleanup242.i.i3106: ; preds = %invoke.cont162.i.i2754 + %1648 = load ptr, ptr %_M_refcount.i.i.i735.i.i2409, align 8, !noalias !1562 + %cmp.not.i.i.i.i736.i.i3107 = icmp eq ptr %1648, null + br i1 %cmp.not.i.i.i.i736.i.i3107, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118, label %if.then.i.i.i.i737.i.i3108 -if.then.i.i.i.i737.i.i3105: ; preds = %cleanup242.i.i3103 - %_M_use_count.i.i.i.i.i738.i.i3106 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1648, i64 0, i32 1 - %1649 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i3106 acquire, align 8 - %cmp.i.i.i.i.i739.i.i3107 = icmp eq i64 %1649, 4294967297 +if.then.i.i.i.i737.i.i3108: ; preds = %cleanup242.i.i3106 + %_M_use_count.i.i.i.i.i738.i.i3109 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1648, i64 0, i32 1 + %1649 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i3109 acquire, align 8 + %cmp.i.i.i.i.i739.i.i3110 = icmp eq i64 %1649, 4294967297 %1650 = trunc i64 %1649 to i32 - br i1 %cmp.i.i.i.i.i739.i.i3107, label %if.then.i.i.i.i.i774.i.i3192, label %if.end.i.i.i.i.i740.i.i3108 - -if.then.i.i.i.i.i774.i.i3192: ; preds = %if.then.i.i.i.i737.i.i3105 - store i32 0, ptr %_M_use_count.i.i.i.i.i738.i.i3106, align 8 - %_M_weak_count.i.i.i.i.i775.i.i3193 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1648, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i775.i.i3193, align 4 - %vtable.i.i.i.i.i776.i.i3194 = load ptr, ptr %1648, align 8 - %vfn.i.i.i.i.i777.i.i3195 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i776.i.i3194, i64 2 - %1651 = load ptr, ptr %vfn.i.i.i.i.i777.i.i3195, align 8 + br i1 %cmp.i.i.i.i.i739.i.i3110, label %if.then.i.i.i.i.i774.i.i3195, label %if.end.i.i.i.i.i740.i.i3111 + +if.then.i.i.i.i.i774.i.i3195: ; preds = %if.then.i.i.i.i737.i.i3108 + store i32 0, ptr %_M_use_count.i.i.i.i.i738.i.i3109, align 8 + %_M_weak_count.i.i.i.i.i775.i.i3196 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1648, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i775.i.i3196, align 4 + %vtable.i.i.i.i.i776.i.i3197 = load ptr, ptr %1648, align 8 + %vfn.i.i.i.i.i777.i.i3198 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i776.i.i3197, i64 2 + %1651 = load ptr, ptr %vfn.i.i.i.i.i777.i.i3198, align 8 call void %1651(ptr noundef nonnull align 8 dereferenceable(16) %1648) #30 - br label %if.end8.sink.split.i.i.i.i.i769.i.i3187 + br label %if.end8.sink.split.i.i.i.i.i769.i.i3190 -if.end.i.i.i.i.i740.i.i3108: ; preds = %if.then.i.i.i.i737.i.i3105 +if.end.i.i.i.i.i740.i.i3111: ; preds = %if.then.i.i.i.i737.i.i3108 %1652 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i741.i.i3109 = icmp eq i8 %1652, 0 - br i1 %tobool.i.i.not.i.i.i.i.i741.i.i3109, label %if.else.i.i.i.i.i.i773.i.i3191, label %if.then.i.i.i.i.i.i742.i.i3110 - -if.then.i.i.i.i.i.i742.i.i3110: ; preds = %if.end.i.i.i.i.i740.i.i3108 - %add.i.i.i.i.i.i743.i.i3111 = add nsw i32 %1650, -1 - store i32 %add.i.i.i.i.i.i743.i.i3111, ptr %_M_use_count.i.i.i.i.i738.i.i3106, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3112 - -if.else.i.i.i.i.i.i773.i.i3191: ; preds = %if.end.i.i.i.i.i740.i.i3108 - %1653 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i738.i.i3106, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3112 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3112: ; preds = %if.else.i.i.i.i.i.i773.i.i3191, %if.then.i.i.i.i.i.i742.i.i3110 - %retval.i.0.i.i.i.i.i745.i.i3113 = phi i32 [ %1650, %if.then.i.i.i.i.i.i742.i.i3110 ], [ %1653, %if.else.i.i.i.i.i.i773.i.i3191 ] - %cmp6.i.i.i.i.i746.i.i3114 = icmp eq i32 %retval.i.0.i.i.i.i.i745.i.i3113, 1 - br i1 %cmp6.i.i.i.i.i746.i.i3114, label %if.then7.i.i.i.i.i759.i.i3177, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115 - -if.then7.i.i.i.i.i759.i.i3177: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3112 - %vtable.i.i.i.i.i.i.i760.i.i3178 = load ptr, ptr %1648, align 8 - %vfn.i.i.i.i.i.i.i761.i.i3179 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i760.i.i3178, i64 2 - %1654 = load ptr, ptr %vfn.i.i.i.i.i.i.i761.i.i3179, align 8 + %tobool.i.i.not.i.i.i.i.i741.i.i3112 = icmp eq i8 %1652, 0 + br i1 %tobool.i.i.not.i.i.i.i.i741.i.i3112, label %if.else.i.i.i.i.i.i773.i.i3194, label %if.then.i.i.i.i.i.i742.i.i3113 + +if.then.i.i.i.i.i.i742.i.i3113: ; preds = %if.end.i.i.i.i.i740.i.i3111 + %add.i.i.i.i.i.i743.i.i3114 = add nsw i32 %1650, -1 + store i32 %add.i.i.i.i.i.i743.i.i3114, ptr %_M_use_count.i.i.i.i.i738.i.i3109, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3115 + +if.else.i.i.i.i.i.i773.i.i3194: ; preds = %if.end.i.i.i.i.i740.i.i3111 + %1653 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i738.i.i3109, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3115 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3115: ; preds = %if.else.i.i.i.i.i.i773.i.i3194, %if.then.i.i.i.i.i.i742.i.i3113 + %retval.i.0.i.i.i.i.i745.i.i3116 = phi i32 [ %1650, %if.then.i.i.i.i.i.i742.i.i3113 ], [ %1653, %if.else.i.i.i.i.i.i773.i.i3194 ] + %cmp6.i.i.i.i.i746.i.i3117 = icmp eq i32 %retval.i.0.i.i.i.i.i745.i.i3116, 1 + br i1 %cmp6.i.i.i.i.i746.i.i3117, label %if.then7.i.i.i.i.i759.i.i3180, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118 + +if.then7.i.i.i.i.i759.i.i3180: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3115 + %vtable.i.i.i.i.i.i.i760.i.i3181 = load ptr, ptr %1648, align 8 + %vfn.i.i.i.i.i.i.i761.i.i3182 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i760.i.i3181, i64 2 + %1654 = load ptr, ptr %vfn.i.i.i.i.i.i.i761.i.i3182, align 8 call void %1654(ptr noundef nonnull align 8 dereferenceable(16) %1648) #30 - %_M_weak_count.i.i.i.i.i.i.i762.i.i3180 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1648, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i762.i.i3183 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1648, i64 0, i32 2 %1655 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i763.i.i3181 = icmp eq i8 %1655, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i763.i.i3181, label %if.else.i.i.i.i.i.i.i.i772.i.i3190, label %if.then.i.i.i.i.i.i.i.i764.i.i3182 - -if.then.i.i.i.i.i.i.i.i764.i.i3182: ; preds = %if.then7.i.i.i.i.i759.i.i3177 - %1656 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i3180, align 4 - %add.i.i.i.i.i.i.i.i765.i.i3183 = add nsw i32 %1656, -1 - store i32 %add.i.i.i.i.i.i.i.i765.i.i3183, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i3180, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3184 - -if.else.i.i.i.i.i.i.i.i772.i.i3190: ; preds = %if.then7.i.i.i.i.i759.i.i3177 - %1657 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i3180, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3184 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3184: ; preds = %if.else.i.i.i.i.i.i.i.i772.i.i3190, %if.then.i.i.i.i.i.i.i.i764.i.i3182 - %retval.i.0.i.i.i.i.i.i.i767.i.i3185 = phi i32 [ %1656, %if.then.i.i.i.i.i.i.i.i764.i.i3182 ], [ %1657, %if.else.i.i.i.i.i.i.i.i772.i.i3190 ] - %cmp.i.i.i.i.i.i.i768.i.i3186 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i767.i.i3185, 1 - br i1 %cmp.i.i.i.i.i.i.i768.i.i3186, label %if.end8.sink.split.i.i.i.i.i769.i.i3187, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115 - -if.end8.sink.split.i.i.i.i.i769.i.i3187: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3184, %if.then.i.i.i.i.i774.i.i3192 - %vtable2.i.i.i.i.i.i.i770.i.i3188 = load ptr, ptr %1648, align 8 - %vfn3.i.i.i.i.i.i.i771.i.i3189 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i770.i.i3188, i64 3 - %1658 = load ptr, ptr %vfn3.i.i.i.i.i.i.i771.i.i3189, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i763.i.i3184 = icmp eq i8 %1655, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i763.i.i3184, label %if.else.i.i.i.i.i.i.i.i772.i.i3193, label %if.then.i.i.i.i.i.i.i.i764.i.i3185 + +if.then.i.i.i.i.i.i.i.i764.i.i3185: ; preds = %if.then7.i.i.i.i.i759.i.i3180 + %1656 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i3183, align 4 + %add.i.i.i.i.i.i.i.i765.i.i3186 = add nsw i32 %1656, -1 + store i32 %add.i.i.i.i.i.i.i.i765.i.i3186, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i3183, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3187 + +if.else.i.i.i.i.i.i.i.i772.i.i3193: ; preds = %if.then7.i.i.i.i.i759.i.i3180 + %1657 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i3183, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3187 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3187: ; preds = %if.else.i.i.i.i.i.i.i.i772.i.i3193, %if.then.i.i.i.i.i.i.i.i764.i.i3185 + %retval.i.0.i.i.i.i.i.i.i767.i.i3188 = phi i32 [ %1656, %if.then.i.i.i.i.i.i.i.i764.i.i3185 ], [ %1657, %if.else.i.i.i.i.i.i.i.i772.i.i3193 ] + %cmp.i.i.i.i.i.i.i768.i.i3189 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i767.i.i3188, 1 + br i1 %cmp.i.i.i.i.i.i.i768.i.i3189, label %if.end8.sink.split.i.i.i.i.i769.i.i3190, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118 + +if.end8.sink.split.i.i.i.i.i769.i.i3190: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3187, %if.then.i.i.i.i.i774.i.i3195 + %vtable2.i.i.i.i.i.i.i770.i.i3191 = load ptr, ptr %1648, align 8 + %vfn3.i.i.i.i.i.i.i771.i.i3192 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i770.i.i3191, i64 3 + %1658 = load ptr, ptr %vfn3.i.i.i.i.i.i.i771.i.i3192, align 8 call void %1658(ptr noundef nonnull align 8 dereferenceable(16) %1648) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i3187, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3184, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3112, %cleanup242.i.i3103 - %1659 = load ptr, ptr %c2_hash.i.i2243, align 8, !noalias !1562 - %1660 = load ptr, ptr %_M_finish.i.i748.i.i2407, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i749.i.i3116 = icmp eq ptr %1659, %1660 - br i1 %cmp.not3.i.i.i.i.i749.i.i3116, label %invoke.cont.i.i756.i.i3123, label %for.body.i.i.i.i.i750.i.i3117 - -for.body.i.i.i.i.i750.i.i3117: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115, %for.body.i.i.i.i.i750.i.i3117 - %__first.addr.04.i.i.i.i.i751.i.i3118 = phi ptr [ %incdec.ptr.i.i.i.i.i752.i.i3119, %for.body.i.i.i.i.i750.i.i3117 ], [ %1659, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i751.i.i3118) #30 - %incdec.ptr.i.i.i.i.i752.i.i3119 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i751.i.i3118, i64 1 - %cmp.not.i.i.i.i.i753.i.i3120 = icmp eq ptr %incdec.ptr.i.i.i.i.i752.i.i3119, %1660 - br i1 %cmp.not.i.i.i.i.i753.i.i3120, label %invoke.contthread-pre-split.i.i754.i.i3121, label %for.body.i.i.i.i.i750.i.i3117, !llvm.loop !8 - -invoke.contthread-pre-split.i.i754.i.i3121: ; preds = %for.body.i.i.i.i.i750.i.i3117 - %.pr.i.i755.i.i3122 = load ptr, ptr %c2_hash.i.i2243, align 8, !noalias !1562 - br label %invoke.cont.i.i756.i.i3123 - -invoke.cont.i.i756.i.i3123: ; preds = %invoke.contthread-pre-split.i.i754.i.i3121, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115 - %1661 = phi ptr [ %.pr.i.i755.i.i3122, %invoke.contthread-pre-split.i.i754.i.i3121 ], [ %1659, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3115 ] - %tobool.not.i.i.i.i757.i.i3124 = icmp eq ptr %1661, null - br i1 %tobool.not.i.i.i.i757.i.i3124, label %for.inc246.i.i3126, label %if.then.i.i.i1.i758.i.i3125 - -if.then.i.i.i1.i758.i.i3125: ; preds = %invoke.cont.i.i756.i.i3123 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i3190, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i3187, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i3115, %cleanup242.i.i3106 + %1659 = load ptr, ptr %c2_hash.i.i2246, align 8, !noalias !1562 + %1660 = load ptr, ptr %_M_finish.i.i748.i.i2410, align 8, !noalias !1562 + %cmp.not3.i.i.i.i.i749.i.i3119 = icmp eq ptr %1659, %1660 + br i1 %cmp.not3.i.i.i.i.i749.i.i3119, label %invoke.cont.i.i756.i.i3126, label %for.body.i.i.i.i.i750.i.i3120 + +for.body.i.i.i.i.i750.i.i3120: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118, %for.body.i.i.i.i.i750.i.i3120 + %__first.addr.04.i.i.i.i.i751.i.i3121 = phi ptr [ %incdec.ptr.i.i.i.i.i752.i.i3122, %for.body.i.i.i.i.i750.i.i3120 ], [ %1659, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i751.i.i3121) #30 + %incdec.ptr.i.i.i.i.i752.i.i3122 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i751.i.i3121, i64 1 + %cmp.not.i.i.i.i.i753.i.i3123 = icmp eq ptr %incdec.ptr.i.i.i.i.i752.i.i3122, %1660 + br i1 %cmp.not.i.i.i.i.i753.i.i3123, label %invoke.contthread-pre-split.i.i754.i.i3124, label %for.body.i.i.i.i.i750.i.i3120, !llvm.loop !8 + +invoke.contthread-pre-split.i.i754.i.i3124: ; preds = %for.body.i.i.i.i.i750.i.i3120 + %.pr.i.i755.i.i3125 = load ptr, ptr %c2_hash.i.i2246, align 8, !noalias !1562 + br label %invoke.cont.i.i756.i.i3126 + +invoke.cont.i.i756.i.i3126: ; preds = %invoke.contthread-pre-split.i.i754.i.i3124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118 + %1661 = phi ptr [ %.pr.i.i755.i.i3125, %invoke.contthread-pre-split.i.i754.i.i3124 ], [ %1659, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i3118 ] + %tobool.not.i.i.i.i757.i.i3127 = icmp eq ptr %1661, null + br i1 %tobool.not.i.i.i.i757.i.i3127, label %for.inc246.i.i3129, label %if.then.i.i.i1.i758.i.i3128 + +if.then.i.i.i1.i758.i.i3128: ; preds = %invoke.cont.i.i756.i.i3126 call void @_ZdlPv(ptr noundef nonnull %1661) #33 - br label %for.inc246.i.i3126 - -for.inc246.i.i3126: ; preds = %if.then.i.i.i1.i758.i.i3125, %invoke.cont.i.i756.i.i3123, %for.body154.i.i2735 - %incdec.ptr.i779.i.i3127 = getelementptr inbounds %"class.std::vector.916", ptr %__begin0146.sroa.0.050.i.i2736, i64 1 - %cmp.i449.not.i.i3128 = icmp eq ptr %incdec.ptr.i779.i.i3127, %classes.val56.i.i2733 - br i1 %cmp.i449.not.i.i3128, label %cleanup249.i.i3129, label %for.body154.i.i2735 - -ehcleanup245.i.i2749: ; preds = %ehcleanup240.i.i2757, %ehcleanup214.i.i2904, %ehcleanup188.i.i3005, %lpad161.loopexit.split-lp.i.i2753, %lpad161.loopexit.i.i2747 - %.pn.pn.pn.i.i2750 = phi { ptr, i32 } [ %.pn.pn.i.i2758, %ehcleanup240.i.i2757 ], [ %.pn31.pn.i.i2905, %ehcleanup214.i.i2904 ], [ %.pn34.pn.i.i3006, %ehcleanup188.i.i3005 ], [ %lpad.loopexit5.i.i2748, %lpad161.loopexit.i.i2747 ], [ %lpad.loopexit.split-lp6.i.i2754, %lpad161.loopexit.split-lp.i.i2753 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i2243) #30 - br label %ehcleanup252.i.i2429 - -cleanup249.critedge.sink.split.i.i2855: ; preds = %invoke.cont237.i.i2852, %invoke.cont211.i.i2999, %invoke.cont185.i.i3100 - %.sink117.i.i2856 = phi ptr [ %1572, %invoke.cont185.i.i3100 ], [ %1608, %invoke.cont211.i.i2999 ], [ %1644, %invoke.cont237.i.i2852 ] - %message_.i542.sink.ph.i.i2857 = phi ptr [ %message_.i542.i.i3101, %invoke.cont185.i.i3100 ], [ %message_.i635.i.i3000, %invoke.cont211.i.i2999 ], [ %message_.i731.i.i2853, %invoke.cont237.i.i2852 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i2856) #30 - call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i2856) #33 - br label %cleanup249.critedge.i.i2858 - -cleanup249.critedge.i.i2858: ; preds = %cleanup249.critedge.sink.split.i.i2855, %invoke.cont237.i.i2852, %invoke.cont211.i.i2999, %invoke.cont185.i.i3100 - %message_.i542.sink.i.i2859 = phi ptr [ %message_.i542.i.i3101, %invoke.cont185.i.i3100 ], [ %message_.i635.i.i3000, %invoke.cont211.i.i2999 ], [ %message_.i731.i.i2853, %invoke.cont237.i.i2852 ], [ %message_.i542.sink.ph.i.i2857, %cleanup249.critedge.sink.split.i.i2855 ] - store ptr null, ptr %message_.i542.sink.i.i2859, align 8, !noalias !1562 - %1662 = load ptr, ptr %_M_refcount.i.i.i735.i.i2406, align 8, !noalias !1562 - %cmp.not.i.i.i.i781.i.i2860 = icmp eq ptr %1662, null - br i1 %cmp.not.i.i.i.i781.i.i2860, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871, label %if.then.i.i.i.i782.i.i2861 - -if.then.i.i.i.i782.i.i2861: ; preds = %cleanup249.critedge.i.i2858 - %_M_use_count.i.i.i.i.i783.i.i2862 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1662, i64 0, i32 1 - %1663 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i2862 acquire, align 8 - %cmp.i.i.i.i.i784.i.i2863 = icmp eq i64 %1663, 4294967297 + br label %for.inc246.i.i3129 + +for.inc246.i.i3129: ; preds = %if.then.i.i.i1.i758.i.i3128, %invoke.cont.i.i756.i.i3126, %for.body154.i.i2738 + %incdec.ptr.i779.i.i3130 = getelementptr inbounds %"class.std::vector.916", ptr %__begin0146.sroa.0.050.i.i2739, i64 1 + %cmp.i449.not.i.i3131 = icmp eq ptr %incdec.ptr.i779.i.i3130, %classes.val56.i.i2736 + br i1 %cmp.i449.not.i.i3131, label %cleanup249.i.i3132, label %for.body154.i.i2738 + +ehcleanup245.i.i2752: ; preds = %ehcleanup240.i.i2760, %ehcleanup214.i.i2907, %ehcleanup188.i.i3008, %lpad161.loopexit.split-lp.i.i2756, %lpad161.loopexit.i.i2750 + %.pn.pn.pn.i.i2753 = phi { ptr, i32 } [ %.pn.pn.i.i2761, %ehcleanup240.i.i2760 ], [ %.pn31.pn.i.i2908, %ehcleanup214.i.i2907 ], [ %.pn34.pn.i.i3009, %ehcleanup188.i.i3008 ], [ %lpad.loopexit5.i.i2751, %lpad161.loopexit.i.i2750 ], [ %lpad.loopexit.split-lp6.i.i2757, %lpad161.loopexit.split-lp.i.i2756 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i2246) #30 + br label %ehcleanup252.i.i2432 + +cleanup249.critedge.sink.split.i.i2858: ; preds = %invoke.cont237.i.i2855, %invoke.cont211.i.i3002, %invoke.cont185.i.i3103 + %.sink117.i.i2859 = phi ptr [ %1572, %invoke.cont185.i.i3103 ], [ %1608, %invoke.cont211.i.i3002 ], [ %1644, %invoke.cont237.i.i2855 ] + %message_.i542.sink.ph.i.i2860 = phi ptr [ %message_.i542.i.i3104, %invoke.cont185.i.i3103 ], [ %message_.i635.i.i3003, %invoke.cont211.i.i3002 ], [ %message_.i731.i.i2856, %invoke.cont237.i.i2855 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i2859) #30 + call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i2859) #33 + br label %cleanup249.critedge.i.i2861 + +cleanup249.critedge.i.i2861: ; preds = %cleanup249.critedge.sink.split.i.i2858, %invoke.cont237.i.i2855, %invoke.cont211.i.i3002, %invoke.cont185.i.i3103 + %message_.i542.sink.i.i2862 = phi ptr [ %message_.i542.i.i3104, %invoke.cont185.i.i3103 ], [ %message_.i635.i.i3003, %invoke.cont211.i.i3002 ], [ %message_.i731.i.i2856, %invoke.cont237.i.i2855 ], [ %message_.i542.sink.ph.i.i2860, %cleanup249.critedge.sink.split.i.i2858 ] + store ptr null, ptr %message_.i542.sink.i.i2862, align 8, !noalias !1562 + %1662 = load ptr, ptr %_M_refcount.i.i.i735.i.i2409, align 8, !noalias !1562 + %cmp.not.i.i.i.i781.i.i2863 = icmp eq ptr %1662, null + br i1 %cmp.not.i.i.i.i781.i.i2863, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874, label %if.then.i.i.i.i782.i.i2864 + +if.then.i.i.i.i782.i.i2864: ; preds = %cleanup249.critedge.i.i2861 + %_M_use_count.i.i.i.i.i783.i.i2865 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1662, i64 0, i32 1 + %1663 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i2865 acquire, align 8 + %cmp.i.i.i.i.i784.i.i2866 = icmp eq i64 %1663, 4294967297 %1664 = trunc i64 %1663 to i32 - br i1 %cmp.i.i.i.i.i784.i.i2863, label %if.then.i.i.i.i.i819.i.i2897, label %if.end.i.i.i.i.i785.i.i2864 - -if.then.i.i.i.i.i819.i.i2897: ; preds = %if.then.i.i.i.i782.i.i2861 - store i32 0, ptr %_M_use_count.i.i.i.i.i783.i.i2862, align 8 - %_M_weak_count.i.i.i.i.i820.i.i2898 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1662, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i820.i.i2898, align 4 - %vtable.i.i.i.i.i821.i.i2899 = load ptr, ptr %1662, align 8 - %vfn.i.i.i.i.i822.i.i2900 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i821.i.i2899, i64 2 - %1665 = load ptr, ptr %vfn.i.i.i.i.i822.i.i2900, align 8 + br i1 %cmp.i.i.i.i.i784.i.i2866, label %if.then.i.i.i.i.i819.i.i2900, label %if.end.i.i.i.i.i785.i.i2867 + +if.then.i.i.i.i.i819.i.i2900: ; preds = %if.then.i.i.i.i782.i.i2864 + store i32 0, ptr %_M_use_count.i.i.i.i.i783.i.i2865, align 8 + %_M_weak_count.i.i.i.i.i820.i.i2901 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1662, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i820.i.i2901, align 4 + %vtable.i.i.i.i.i821.i.i2902 = load ptr, ptr %1662, align 8 + %vfn.i.i.i.i.i822.i.i2903 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i821.i.i2902, i64 2 + %1665 = load ptr, ptr %vfn.i.i.i.i.i822.i.i2903, align 8 call void %1665(ptr noundef nonnull align 8 dereferenceable(16) %1662) #30 - br label %if.end8.sink.split.i.i.i.i.i814.i.i2892 + br label %if.end8.sink.split.i.i.i.i.i814.i.i2895 -if.end.i.i.i.i.i785.i.i2864: ; preds = %if.then.i.i.i.i782.i.i2861 +if.end.i.i.i.i.i785.i.i2867: ; preds = %if.then.i.i.i.i782.i.i2864 %1666 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i786.i.i2865 = icmp eq i8 %1666, 0 - br i1 %tobool.i.i.not.i.i.i.i.i786.i.i2865, label %if.else.i.i.i.i.i.i818.i.i2896, label %if.then.i.i.i.i.i.i787.i.i2866 - -if.then.i.i.i.i.i.i787.i.i2866: ; preds = %if.end.i.i.i.i.i785.i.i2864 - %add.i.i.i.i.i.i788.i.i2867 = add nsw i32 %1664, -1 - store i32 %add.i.i.i.i.i.i788.i.i2867, ptr %_M_use_count.i.i.i.i.i783.i.i2862, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2868 - -if.else.i.i.i.i.i.i818.i.i2896: ; preds = %if.end.i.i.i.i.i785.i.i2864 - %1667 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i783.i.i2862, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2868 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2868: ; preds = %if.else.i.i.i.i.i.i818.i.i2896, %if.then.i.i.i.i.i.i787.i.i2866 - %retval.i.0.i.i.i.i.i790.i.i2869 = phi i32 [ %1664, %if.then.i.i.i.i.i.i787.i.i2866 ], [ %1667, %if.else.i.i.i.i.i.i818.i.i2896 ] - %cmp6.i.i.i.i.i791.i.i2870 = icmp eq i32 %retval.i.0.i.i.i.i.i790.i.i2869, 1 - br i1 %cmp6.i.i.i.i.i791.i.i2870, label %if.then7.i.i.i.i.i804.i.i2882, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871 - -if.then7.i.i.i.i.i804.i.i2882: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2868 - %vtable.i.i.i.i.i.i.i805.i.i2883 = load ptr, ptr %1662, align 8 - %vfn.i.i.i.i.i.i.i806.i.i2884 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i805.i.i2883, i64 2 - %1668 = load ptr, ptr %vfn.i.i.i.i.i.i.i806.i.i2884, align 8 + %tobool.i.i.not.i.i.i.i.i786.i.i2868 = icmp eq i8 %1666, 0 + br i1 %tobool.i.i.not.i.i.i.i.i786.i.i2868, label %if.else.i.i.i.i.i.i818.i.i2899, label %if.then.i.i.i.i.i.i787.i.i2869 + +if.then.i.i.i.i.i.i787.i.i2869: ; preds = %if.end.i.i.i.i.i785.i.i2867 + %add.i.i.i.i.i.i788.i.i2870 = add nsw i32 %1664, -1 + store i32 %add.i.i.i.i.i.i788.i.i2870, ptr %_M_use_count.i.i.i.i.i783.i.i2865, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2871 + +if.else.i.i.i.i.i.i818.i.i2899: ; preds = %if.end.i.i.i.i.i785.i.i2867 + %1667 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i783.i.i2865, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2871 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2871: ; preds = %if.else.i.i.i.i.i.i818.i.i2899, %if.then.i.i.i.i.i.i787.i.i2869 + %retval.i.0.i.i.i.i.i790.i.i2872 = phi i32 [ %1664, %if.then.i.i.i.i.i.i787.i.i2869 ], [ %1667, %if.else.i.i.i.i.i.i818.i.i2899 ] + %cmp6.i.i.i.i.i791.i.i2873 = icmp eq i32 %retval.i.0.i.i.i.i.i790.i.i2872, 1 + br i1 %cmp6.i.i.i.i.i791.i.i2873, label %if.then7.i.i.i.i.i804.i.i2885, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874 + +if.then7.i.i.i.i.i804.i.i2885: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2871 + %vtable.i.i.i.i.i.i.i805.i.i2886 = load ptr, ptr %1662, align 8 + %vfn.i.i.i.i.i.i.i806.i.i2887 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i805.i.i2886, i64 2 + %1668 = load ptr, ptr %vfn.i.i.i.i.i.i.i806.i.i2887, align 8 call void %1668(ptr noundef nonnull align 8 dereferenceable(16) %1662) #30 - %_M_weak_count.i.i.i.i.i.i.i807.i.i2885 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1662, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i807.i.i2888 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1662, i64 0, i32 2 %1669 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i808.i.i2886 = icmp eq i8 %1669, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i808.i.i2886, label %if.else.i.i.i.i.i.i.i.i817.i.i2895, label %if.then.i.i.i.i.i.i.i.i809.i.i2887 - -if.then.i.i.i.i.i.i.i.i809.i.i2887: ; preds = %if.then7.i.i.i.i.i804.i.i2882 - %1670 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i2885, align 4 - %add.i.i.i.i.i.i.i.i810.i.i2888 = add nsw i32 %1670, -1 - store i32 %add.i.i.i.i.i.i.i.i810.i.i2888, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i2885, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2889 - -if.else.i.i.i.i.i.i.i.i817.i.i2895: ; preds = %if.then7.i.i.i.i.i804.i.i2882 - %1671 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i2885, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2889 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2889: ; preds = %if.else.i.i.i.i.i.i.i.i817.i.i2895, %if.then.i.i.i.i.i.i.i.i809.i.i2887 - %retval.i.0.i.i.i.i.i.i.i812.i.i2890 = phi i32 [ %1670, %if.then.i.i.i.i.i.i.i.i809.i.i2887 ], [ %1671, %if.else.i.i.i.i.i.i.i.i817.i.i2895 ] - %cmp.i.i.i.i.i.i.i813.i.i2891 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i812.i.i2890, 1 - br i1 %cmp.i.i.i.i.i.i.i813.i.i2891, label %if.end8.sink.split.i.i.i.i.i814.i.i2892, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871 - -if.end8.sink.split.i.i.i.i.i814.i.i2892: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2889, %if.then.i.i.i.i.i819.i.i2897 - %vtable2.i.i.i.i.i.i.i815.i.i2893 = load ptr, ptr %1662, align 8 - %vfn3.i.i.i.i.i.i.i816.i.i2894 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i815.i.i2893, i64 3 - %1672 = load ptr, ptr %vfn3.i.i.i.i.i.i.i816.i.i2894, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i808.i.i2889 = icmp eq i8 %1669, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i808.i.i2889, label %if.else.i.i.i.i.i.i.i.i817.i.i2898, label %if.then.i.i.i.i.i.i.i.i809.i.i2890 + +if.then.i.i.i.i.i.i.i.i809.i.i2890: ; preds = %if.then7.i.i.i.i.i804.i.i2885 + %1670 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i2888, align 4 + %add.i.i.i.i.i.i.i.i810.i.i2891 = add nsw i32 %1670, -1 + store i32 %add.i.i.i.i.i.i.i.i810.i.i2891, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i2888, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2892 + +if.else.i.i.i.i.i.i.i.i817.i.i2898: ; preds = %if.then7.i.i.i.i.i804.i.i2885 + %1671 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i2888, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2892 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2892: ; preds = %if.else.i.i.i.i.i.i.i.i817.i.i2898, %if.then.i.i.i.i.i.i.i.i809.i.i2890 + %retval.i.0.i.i.i.i.i.i.i812.i.i2893 = phi i32 [ %1670, %if.then.i.i.i.i.i.i.i.i809.i.i2890 ], [ %1671, %if.else.i.i.i.i.i.i.i.i817.i.i2898 ] + %cmp.i.i.i.i.i.i.i813.i.i2894 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i812.i.i2893, 1 + br i1 %cmp.i.i.i.i.i.i.i813.i.i2894, label %if.end8.sink.split.i.i.i.i.i814.i.i2895, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874 + +if.end8.sink.split.i.i.i.i.i814.i.i2895: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2892, %if.then.i.i.i.i.i819.i.i2900 + %vtable2.i.i.i.i.i.i.i815.i.i2896 = load ptr, ptr %1662, align 8 + %vfn3.i.i.i.i.i.i.i816.i.i2897 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i815.i.i2896, i64 3 + %1672 = load ptr, ptr %vfn3.i.i.i.i.i.i.i816.i.i2897, align 8 call void %1672(ptr noundef nonnull align 8 dereferenceable(16) %1662) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i2892, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2889, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2868, %cleanup249.critedge.i.i2858 - %1673 = load ptr, ptr %c2_hash.i.i2243, align 8, !noalias !1562 - %1674 = load ptr, ptr %_M_finish.i.i748.i.i2407, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i794.i.i2872 = icmp eq ptr %1673, %1674 - br i1 %cmp.not3.i.i.i.i.i794.i.i2872, label %invoke.cont.i.i801.i.i2879, label %for.body.i.i.i.i.i795.i.i2873 - -for.body.i.i.i.i.i795.i.i2873: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871, %for.body.i.i.i.i.i795.i.i2873 - %__first.addr.04.i.i.i.i.i796.i.i2874 = phi ptr [ %incdec.ptr.i.i.i.i.i797.i.i2875, %for.body.i.i.i.i.i795.i.i2873 ], [ %1673, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i796.i.i2874) #30 - %incdec.ptr.i.i.i.i.i797.i.i2875 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i796.i.i2874, i64 1 - %cmp.not.i.i.i.i.i798.i.i2876 = icmp eq ptr %incdec.ptr.i.i.i.i.i797.i.i2875, %1674 - br i1 %cmp.not.i.i.i.i.i798.i.i2876, label %invoke.contthread-pre-split.i.i799.i.i2877, label %for.body.i.i.i.i.i795.i.i2873, !llvm.loop !8 - -invoke.contthread-pre-split.i.i799.i.i2877: ; preds = %for.body.i.i.i.i.i795.i.i2873 - %.pr.i.i800.i.i2878 = load ptr, ptr %c2_hash.i.i2243, align 8, !noalias !1562 - br label %invoke.cont.i.i801.i.i2879 - -invoke.cont.i.i801.i.i2879: ; preds = %invoke.contthread-pre-split.i.i799.i.i2877, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871 - %1675 = phi ptr [ %.pr.i.i800.i.i2878, %invoke.contthread-pre-split.i.i799.i.i2877 ], [ %1673, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2871 ] - %tobool.not.i.i.i.i802.i.i2880 = icmp eq ptr %1675, null - br i1 %tobool.not.i.i.i.i802.i.i2880, label %cleanup257.critedge.i.i2553, label %if.then.i.i.i1.i803.i.i2881 - -if.then.i.i.i1.i803.i.i2881: ; preds = %invoke.cont.i.i801.i.i2879 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i2895, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i2892, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i2871, %cleanup249.critedge.i.i2861 + %1673 = load ptr, ptr %c2_hash.i.i2246, align 8, !noalias !1562 + %1674 = load ptr, ptr %_M_finish.i.i748.i.i2410, align 8, !noalias !1562 + %cmp.not3.i.i.i.i.i794.i.i2875 = icmp eq ptr %1673, %1674 + br i1 %cmp.not3.i.i.i.i.i794.i.i2875, label %invoke.cont.i.i801.i.i2882, label %for.body.i.i.i.i.i795.i.i2876 + +for.body.i.i.i.i.i795.i.i2876: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874, %for.body.i.i.i.i.i795.i.i2876 + %__first.addr.04.i.i.i.i.i796.i.i2877 = phi ptr [ %incdec.ptr.i.i.i.i.i797.i.i2878, %for.body.i.i.i.i.i795.i.i2876 ], [ %1673, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i796.i.i2877) #30 + %incdec.ptr.i.i.i.i.i797.i.i2878 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i796.i.i2877, i64 1 + %cmp.not.i.i.i.i.i798.i.i2879 = icmp eq ptr %incdec.ptr.i.i.i.i.i797.i.i2878, %1674 + br i1 %cmp.not.i.i.i.i.i798.i.i2879, label %invoke.contthread-pre-split.i.i799.i.i2880, label %for.body.i.i.i.i.i795.i.i2876, !llvm.loop !8 + +invoke.contthread-pre-split.i.i799.i.i2880: ; preds = %for.body.i.i.i.i.i795.i.i2876 + %.pr.i.i800.i.i2881 = load ptr, ptr %c2_hash.i.i2246, align 8, !noalias !1562 + br label %invoke.cont.i.i801.i.i2882 + +invoke.cont.i.i801.i.i2882: ; preds = %invoke.contthread-pre-split.i.i799.i.i2880, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874 + %1675 = phi ptr [ %.pr.i.i800.i.i2881, %invoke.contthread-pre-split.i.i799.i.i2880 ], [ %1673, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i2874 ] + %tobool.not.i.i.i.i802.i.i2883 = icmp eq ptr %1675, null + br i1 %tobool.not.i.i.i.i802.i.i2883, label %cleanup257.critedge.i.i2556, label %if.then.i.i.i1.i803.i.i2884 + +if.then.i.i.i1.i803.i.i2884: ; preds = %invoke.cont.i.i801.i.i2882 call void @_ZdlPv(ptr noundef nonnull %1675) #33 - br label %cleanup257.critedge.i.i2553 + br label %cleanup257.critedge.i.i2556 -cleanup249.i.i3129: ; preds = %for.inc246.i.i3126, %for.end144.i.i2731 - %1676 = load ptr, ptr %_M_refcount.i.i.i824.i.i2408, align 8, !noalias !1562 - %cmp.not.i.i.i.i825.i.i3130 = icmp eq ptr %1676, null - br i1 %cmp.not.i.i.i.i825.i.i3130, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141, label %if.then.i.i.i.i826.i.i3131 +cleanup249.i.i3132: ; preds = %for.inc246.i.i3129, %for.end144.i.i2734 + %1676 = load ptr, ptr %_M_refcount.i.i.i824.i.i2411, align 8, !noalias !1562 + %cmp.not.i.i.i.i825.i.i3133 = icmp eq ptr %1676, null + br i1 %cmp.not.i.i.i.i825.i.i3133, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144, label %if.then.i.i.i.i826.i.i3134 -if.then.i.i.i.i826.i.i3131: ; preds = %cleanup249.i.i3129 - %_M_use_count.i.i.i.i.i827.i.i3132 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1676, i64 0, i32 1 - %1677 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i3132 acquire, align 8 - %cmp.i.i.i.i.i828.i.i3133 = icmp eq i64 %1677, 4294967297 +if.then.i.i.i.i826.i.i3134: ; preds = %cleanup249.i.i3132 + %_M_use_count.i.i.i.i.i827.i.i3135 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1676, i64 0, i32 1 + %1677 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i3135 acquire, align 8 + %cmp.i.i.i.i.i828.i.i3136 = icmp eq i64 %1677, 4294967297 %1678 = trunc i64 %1677 to i32 - br i1 %cmp.i.i.i.i.i828.i.i3133, label %if.then.i.i.i.i.i863.i.i3173, label %if.end.i.i.i.i.i829.i.i3134 - -if.then.i.i.i.i.i863.i.i3173: ; preds = %if.then.i.i.i.i826.i.i3131 - store i32 0, ptr %_M_use_count.i.i.i.i.i827.i.i3132, align 8 - %_M_weak_count.i.i.i.i.i864.i.i3174 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1676, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i864.i.i3174, align 4 - %vtable.i.i.i.i.i865.i.i3175 = load ptr, ptr %1676, align 8 - %vfn.i.i.i.i.i866.i.i3176 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i865.i.i3175, i64 2 - %1679 = load ptr, ptr %vfn.i.i.i.i.i866.i.i3176, align 8 + br i1 %cmp.i.i.i.i.i828.i.i3136, label %if.then.i.i.i.i.i863.i.i3176, label %if.end.i.i.i.i.i829.i.i3137 + +if.then.i.i.i.i.i863.i.i3176: ; preds = %if.then.i.i.i.i826.i.i3134 + store i32 0, ptr %_M_use_count.i.i.i.i.i827.i.i3135, align 8 + %_M_weak_count.i.i.i.i.i864.i.i3177 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1676, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i864.i.i3177, align 4 + %vtable.i.i.i.i.i865.i.i3178 = load ptr, ptr %1676, align 8 + %vfn.i.i.i.i.i866.i.i3179 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i865.i.i3178, i64 2 + %1679 = load ptr, ptr %vfn.i.i.i.i.i866.i.i3179, align 8 call void %1679(ptr noundef nonnull align 8 dereferenceable(16) %1676) #30 - br label %if.end8.sink.split.i.i.i.i.i858.i.i3168 + br label %if.end8.sink.split.i.i.i.i.i858.i.i3171 -if.end.i.i.i.i.i829.i.i3134: ; preds = %if.then.i.i.i.i826.i.i3131 +if.end.i.i.i.i.i829.i.i3137: ; preds = %if.then.i.i.i.i826.i.i3134 %1680 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i830.i.i3135 = icmp eq i8 %1680, 0 - br i1 %tobool.i.i.not.i.i.i.i.i830.i.i3135, label %if.else.i.i.i.i.i.i862.i.i3172, label %if.then.i.i.i.i.i.i831.i.i3136 - -if.then.i.i.i.i.i.i831.i.i3136: ; preds = %if.end.i.i.i.i.i829.i.i3134 - %add.i.i.i.i.i.i832.i.i3137 = add nsw i32 %1678, -1 - store i32 %add.i.i.i.i.i.i832.i.i3137, ptr %_M_use_count.i.i.i.i.i827.i.i3132, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3138 - -if.else.i.i.i.i.i.i862.i.i3172: ; preds = %if.end.i.i.i.i.i829.i.i3134 - %1681 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i827.i.i3132, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3138 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3138: ; preds = %if.else.i.i.i.i.i.i862.i.i3172, %if.then.i.i.i.i.i.i831.i.i3136 - %retval.i.0.i.i.i.i.i834.i.i3139 = phi i32 [ %1678, %if.then.i.i.i.i.i.i831.i.i3136 ], [ %1681, %if.else.i.i.i.i.i.i862.i.i3172 ] - %cmp6.i.i.i.i.i835.i.i3140 = icmp eq i32 %retval.i.0.i.i.i.i.i834.i.i3139, 1 - br i1 %cmp6.i.i.i.i.i835.i.i3140, label %if.then7.i.i.i.i.i848.i.i3158, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141 - -if.then7.i.i.i.i.i848.i.i3158: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3138 - %vtable.i.i.i.i.i.i.i849.i.i3159 = load ptr, ptr %1676, align 8 - %vfn.i.i.i.i.i.i.i850.i.i3160 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i849.i.i3159, i64 2 - %1682 = load ptr, ptr %vfn.i.i.i.i.i.i.i850.i.i3160, align 8 + %tobool.i.i.not.i.i.i.i.i830.i.i3138 = icmp eq i8 %1680, 0 + br i1 %tobool.i.i.not.i.i.i.i.i830.i.i3138, label %if.else.i.i.i.i.i.i862.i.i3175, label %if.then.i.i.i.i.i.i831.i.i3139 + +if.then.i.i.i.i.i.i831.i.i3139: ; preds = %if.end.i.i.i.i.i829.i.i3137 + %add.i.i.i.i.i.i832.i.i3140 = add nsw i32 %1678, -1 + store i32 %add.i.i.i.i.i.i832.i.i3140, ptr %_M_use_count.i.i.i.i.i827.i.i3135, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3141 + +if.else.i.i.i.i.i.i862.i.i3175: ; preds = %if.end.i.i.i.i.i829.i.i3137 + %1681 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i827.i.i3135, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3141 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3141: ; preds = %if.else.i.i.i.i.i.i862.i.i3175, %if.then.i.i.i.i.i.i831.i.i3139 + %retval.i.0.i.i.i.i.i834.i.i3142 = phi i32 [ %1678, %if.then.i.i.i.i.i.i831.i.i3139 ], [ %1681, %if.else.i.i.i.i.i.i862.i.i3175 ] + %cmp6.i.i.i.i.i835.i.i3143 = icmp eq i32 %retval.i.0.i.i.i.i.i834.i.i3142, 1 + br i1 %cmp6.i.i.i.i.i835.i.i3143, label %if.then7.i.i.i.i.i848.i.i3161, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144 + +if.then7.i.i.i.i.i848.i.i3161: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3141 + %vtable.i.i.i.i.i.i.i849.i.i3162 = load ptr, ptr %1676, align 8 + %vfn.i.i.i.i.i.i.i850.i.i3163 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i849.i.i3162, i64 2 + %1682 = load ptr, ptr %vfn.i.i.i.i.i.i.i850.i.i3163, align 8 call void %1682(ptr noundef nonnull align 8 dereferenceable(16) %1676) #30 - %_M_weak_count.i.i.i.i.i.i.i851.i.i3161 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1676, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i851.i.i3164 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1676, i64 0, i32 2 %1683 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i852.i.i3162 = icmp eq i8 %1683, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i852.i.i3162, label %if.else.i.i.i.i.i.i.i.i861.i.i3171, label %if.then.i.i.i.i.i.i.i.i853.i.i3163 - -if.then.i.i.i.i.i.i.i.i853.i.i3163: ; preds = %if.then7.i.i.i.i.i848.i.i3158 - %1684 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i3161, align 4 - %add.i.i.i.i.i.i.i.i854.i.i3164 = add nsw i32 %1684, -1 - store i32 %add.i.i.i.i.i.i.i.i854.i.i3164, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i3161, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3165 - -if.else.i.i.i.i.i.i.i.i861.i.i3171: ; preds = %if.then7.i.i.i.i.i848.i.i3158 - %1685 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i3161, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3165 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3165: ; preds = %if.else.i.i.i.i.i.i.i.i861.i.i3171, %if.then.i.i.i.i.i.i.i.i853.i.i3163 - %retval.i.0.i.i.i.i.i.i.i856.i.i3166 = phi i32 [ %1684, %if.then.i.i.i.i.i.i.i.i853.i.i3163 ], [ %1685, %if.else.i.i.i.i.i.i.i.i861.i.i3171 ] - %cmp.i.i.i.i.i.i.i857.i.i3167 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i856.i.i3166, 1 - br i1 %cmp.i.i.i.i.i.i.i857.i.i3167, label %if.end8.sink.split.i.i.i.i.i858.i.i3168, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141 - -if.end8.sink.split.i.i.i.i.i858.i.i3168: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3165, %if.then.i.i.i.i.i863.i.i3173 - %vtable2.i.i.i.i.i.i.i859.i.i3169 = load ptr, ptr %1676, align 8 - %vfn3.i.i.i.i.i.i.i860.i.i3170 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i859.i.i3169, i64 3 - %1686 = load ptr, ptr %vfn3.i.i.i.i.i.i.i860.i.i3170, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i852.i.i3165 = icmp eq i8 %1683, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i852.i.i3165, label %if.else.i.i.i.i.i.i.i.i861.i.i3174, label %if.then.i.i.i.i.i.i.i.i853.i.i3166 + +if.then.i.i.i.i.i.i.i.i853.i.i3166: ; preds = %if.then7.i.i.i.i.i848.i.i3161 + %1684 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i3164, align 4 + %add.i.i.i.i.i.i.i.i854.i.i3167 = add nsw i32 %1684, -1 + store i32 %add.i.i.i.i.i.i.i.i854.i.i3167, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i3164, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3168 + +if.else.i.i.i.i.i.i.i.i861.i.i3174: ; preds = %if.then7.i.i.i.i.i848.i.i3161 + %1685 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i3164, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3168 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3168: ; preds = %if.else.i.i.i.i.i.i.i.i861.i.i3174, %if.then.i.i.i.i.i.i.i.i853.i.i3166 + %retval.i.0.i.i.i.i.i.i.i856.i.i3169 = phi i32 [ %1684, %if.then.i.i.i.i.i.i.i.i853.i.i3166 ], [ %1685, %if.else.i.i.i.i.i.i.i.i861.i.i3174 ] + %cmp.i.i.i.i.i.i.i857.i.i3170 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i856.i.i3169, 1 + br i1 %cmp.i.i.i.i.i.i.i857.i.i3170, label %if.end8.sink.split.i.i.i.i.i858.i.i3171, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144 + +if.end8.sink.split.i.i.i.i.i858.i.i3171: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3168, %if.then.i.i.i.i.i863.i.i3176 + %vtable2.i.i.i.i.i.i.i859.i.i3172 = load ptr, ptr %1676, align 8 + %vfn3.i.i.i.i.i.i.i860.i.i3173 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i859.i.i3172, i64 3 + %1686 = load ptr, ptr %vfn3.i.i.i.i.i.i.i860.i.i3173, align 8 call void %1686(ptr noundef nonnull align 8 dereferenceable(16) %1676) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i3168, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3165, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3138, %cleanup249.i.i3129 - %1687 = load ptr, ptr %expected.i.i2234, align 8, !noalias !1562 - %1688 = load ptr, ptr %_M_finish.i.i837.i.i2409, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i838.i.i3142 = icmp eq ptr %1687, %1688 - br i1 %cmp.not3.i.i.i.i.i838.i.i3142, label %invoke.cont.i.i845.i.i3149, label %for.body.i.i.i.i.i839.i.i3143 - -for.body.i.i.i.i.i839.i.i3143: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141, %for.body.i.i.i.i.i839.i.i3143 - %__first.addr.04.i.i.i.i.i840.i.i3144 = phi ptr [ %incdec.ptr.i.i.i.i.i841.i.i3145, %for.body.i.i.i.i.i839.i.i3143 ], [ %1687, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i840.i.i3144) #30 - %incdec.ptr.i.i.i.i.i841.i.i3145 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i840.i.i3144, i64 1 - %cmp.not.i.i.i.i.i842.i.i3146 = icmp eq ptr %incdec.ptr.i.i.i.i.i841.i.i3145, %1688 - br i1 %cmp.not.i.i.i.i.i842.i.i3146, label %invoke.contthread-pre-split.i.i843.i.i3147, label %for.body.i.i.i.i.i839.i.i3143, !llvm.loop !8 - -invoke.contthread-pre-split.i.i843.i.i3147: ; preds = %for.body.i.i.i.i.i839.i.i3143 - %.pr.i.i844.i.i3148 = load ptr, ptr %expected.i.i2234, align 8, !noalias !1562 - br label %invoke.cont.i.i845.i.i3149 - -invoke.cont.i.i845.i.i3149: ; preds = %invoke.contthread-pre-split.i.i843.i.i3147, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141 - %1689 = phi ptr [ %.pr.i.i844.i.i3148, %invoke.contthread-pre-split.i.i843.i.i3147 ], [ %1687, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3141 ] - %tobool.not.i.i.i.i846.i.i3150 = icmp eq ptr %1689, null - br i1 %tobool.not.i.i.i.i846.i.i3150, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3152, label %if.then.i.i.i1.i847.i.i3151 - -if.then.i.i.i1.i847.i.i3151: ; preds = %invoke.cont.i.i845.i.i3149 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i3171, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i3168, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i3141, %cleanup249.i.i3132 + %1687 = load ptr, ptr %expected.i.i2237, align 8, !noalias !1562 + %1688 = load ptr, ptr %_M_finish.i.i837.i.i2412, align 8, !noalias !1562 + %cmp.not3.i.i.i.i.i838.i.i3145 = icmp eq ptr %1687, %1688 + br i1 %cmp.not3.i.i.i.i.i838.i.i3145, label %invoke.cont.i.i845.i.i3152, label %for.body.i.i.i.i.i839.i.i3146 + +for.body.i.i.i.i.i839.i.i3146: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144, %for.body.i.i.i.i.i839.i.i3146 + %__first.addr.04.i.i.i.i.i840.i.i3147 = phi ptr [ %incdec.ptr.i.i.i.i.i841.i.i3148, %for.body.i.i.i.i.i839.i.i3146 ], [ %1687, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i840.i.i3147) #30 + %incdec.ptr.i.i.i.i.i841.i.i3148 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i840.i.i3147, i64 1 + %cmp.not.i.i.i.i.i842.i.i3149 = icmp eq ptr %incdec.ptr.i.i.i.i.i841.i.i3148, %1688 + br i1 %cmp.not.i.i.i.i.i842.i.i3149, label %invoke.contthread-pre-split.i.i843.i.i3150, label %for.body.i.i.i.i.i839.i.i3146, !llvm.loop !8 + +invoke.contthread-pre-split.i.i843.i.i3150: ; preds = %for.body.i.i.i.i.i839.i.i3146 + %.pr.i.i844.i.i3151 = load ptr, ptr %expected.i.i2237, align 8, !noalias !1562 + br label %invoke.cont.i.i845.i.i3152 + +invoke.cont.i.i845.i.i3152: ; preds = %invoke.contthread-pre-split.i.i843.i.i3150, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144 + %1689 = phi ptr [ %.pr.i.i844.i.i3151, %invoke.contthread-pre-split.i.i843.i.i3150 ], [ %1687, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i3144 ] + %tobool.not.i.i.i.i846.i.i3153 = icmp eq ptr %1689, null + br i1 %tobool.not.i.i.i.i846.i.i3153, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3155, label %if.then.i.i.i1.i847.i.i3154 + +if.then.i.i.i1.i847.i.i3154: ; preds = %invoke.cont.i.i845.i.i3152 call void @_ZdlPv(ptr noundef nonnull %1689) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3152 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3155 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3152: ; preds = %if.then.i.i.i1.i847.i.i3151, %invoke.cont.i.i845.i.i3149 - %incdec.ptr.i868.i.i3153 = getelementptr inbounds %"class.std::vector.916", ptr %__begin058.sroa.0.052.i.i2411, i64 1 - %cmp.i160.not.i.i3154 = icmp eq ptr %incdec.ptr.i868.i.i3153, %classes.val63.pre.i.i2391 - br i1 %cmp.i160.not.i.i3154, label %for.end255.i.i3155, label %for.body66.i.i2410 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3155: ; preds = %if.then.i.i.i1.i847.i.i3154, %invoke.cont.i.i845.i.i3152 + %incdec.ptr.i868.i.i3156 = getelementptr inbounds %"class.std::vector.916", ptr %__begin058.sroa.0.052.i.i2414, i64 1 + %cmp.i160.not.i.i3157 = icmp eq ptr %incdec.ptr.i868.i.i3156, %classes.val63.pre.i.i2394 + br i1 %cmp.i160.not.i.i3157, label %for.end255.i.i3158, label %for.body66.i.i2413 -ehcleanup252.i.i2429: ; preds = %ehcleanup245.i.i2749, %ehcleanup140.i.i2629, %lpad112.i.i2601, %ehcleanup108.i.i2493, %ehcleanup92.i.i2436, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i2489, %lpad83.loopexit.split-lp.loopexit.i.i2427, %lpad83.loopexit.i.i2743 - %.pn43.pn.i.i2430 = phi { ptr, i32 } [ %.pn43.i.i2494, %ehcleanup108.i.i2493 ], [ %.pn40.pn.i.i2630, %ehcleanup140.i.i2629 ], [ %1536, %lpad112.i.i2601 ], [ %.pn38.i.i2437, %ehcleanup92.i.i2436 ], [ %.pn.pn.pn.i.i2750, %ehcleanup245.i.i2749 ], [ %lpad.loopexit.i.i2744, %lpad83.loopexit.i.i2743 ], [ %lpad.loopexit8.i.i2428, %lpad83.loopexit.split-lp.loopexit.i.i2427 ], [ %lpad.loopexit.split-lp9.i.i2490, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i2489 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i2234) #30 - br label %ehcleanup258.i.i2310 +ehcleanup252.i.i2432: ; preds = %ehcleanup245.i.i2752, %ehcleanup140.i.i2632, %lpad112.i.i2604, %ehcleanup108.i.i2496, %ehcleanup92.i.i2439, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i2492, %lpad83.loopexit.split-lp.loopexit.i.i2430, %lpad83.loopexit.i.i2746 + %.pn43.pn.i.i2433 = phi { ptr, i32 } [ %.pn43.i.i2497, %ehcleanup108.i.i2496 ], [ %.pn40.pn.i.i2633, %ehcleanup140.i.i2632 ], [ %1536, %lpad112.i.i2604 ], [ %.pn38.i.i2440, %ehcleanup92.i.i2439 ], [ %.pn.pn.pn.i.i2753, %ehcleanup245.i.i2752 ], [ %lpad.loopexit.i.i2747, %lpad83.loopexit.i.i2746 ], [ %lpad.loopexit8.i.i2431, %lpad83.loopexit.split-lp.loopexit.i.i2430 ], [ %lpad.loopexit.split-lp9.i.i2493, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i2492 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i2237) #30 + br label %ehcleanup258.i.i2313 -for.end255.i.i3155: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3152, %for.cond64.preheader.i.i2397 +for.end255.i.i3158: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i3155, %for.cond64.preheader.i.i2400 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_159) - to label %cleanup257.i.i2374 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i3156 + to label %cleanup257.i.i2377 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i3159 -cleanup257.critedge.i.i2553: ; preds = %if.then.i.i.i1.i803.i.i2881, %invoke.cont.i.i801.i.i2879, %_ZN7testing15AssertionResultD2Ev.exit447.i.i2727, %_ZN7testing15AssertionResultD2Ev.exit307.i.i2552 - %1690 = load ptr, ptr %_M_refcount.i.i.i824.i.i2408, align 8, !noalias !1562 - %cmp.not.i.i.i.i870.i.i2554 = icmp eq ptr %1690, null - br i1 %cmp.not.i.i.i.i870.i.i2554, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565, label %if.then.i.i.i.i871.i.i2555 +cleanup257.critedge.i.i2556: ; preds = %if.then.i.i.i1.i803.i.i2884, %invoke.cont.i.i801.i.i2882, %_ZN7testing15AssertionResultD2Ev.exit447.i.i2730, %_ZN7testing15AssertionResultD2Ev.exit307.i.i2555 + %1690 = load ptr, ptr %_M_refcount.i.i.i824.i.i2411, align 8, !noalias !1562 + %cmp.not.i.i.i.i870.i.i2557 = icmp eq ptr %1690, null + br i1 %cmp.not.i.i.i.i870.i.i2557, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568, label %if.then.i.i.i.i871.i.i2558 -if.then.i.i.i.i871.i.i2555: ; preds = %cleanup257.critedge.i.i2553 - %_M_use_count.i.i.i.i.i872.i.i2556 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1690, i64 0, i32 1 - %1691 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i2556 acquire, align 8 - %cmp.i.i.i.i.i873.i.i2557 = icmp eq i64 %1691, 4294967297 +if.then.i.i.i.i871.i.i2558: ; preds = %cleanup257.critedge.i.i2556 + %_M_use_count.i.i.i.i.i872.i.i2559 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1690, i64 0, i32 1 + %1691 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i2559 acquire, align 8 + %cmp.i.i.i.i.i873.i.i2560 = icmp eq i64 %1691, 4294967297 %1692 = trunc i64 %1691 to i32 - br i1 %cmp.i.i.i.i.i873.i.i2557, label %if.then.i.i.i.i.i908.i.i2591, label %if.end.i.i.i.i.i874.i.i2558 - -if.then.i.i.i.i.i908.i.i2591: ; preds = %if.then.i.i.i.i871.i.i2555 - store i32 0, ptr %_M_use_count.i.i.i.i.i872.i.i2556, align 8 - %_M_weak_count.i.i.i.i.i909.i.i2592 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1690, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i909.i.i2592, align 4 - %vtable.i.i.i.i.i910.i.i2593 = load ptr, ptr %1690, align 8 - %vfn.i.i.i.i.i911.i.i2594 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i910.i.i2593, i64 2 - %1693 = load ptr, ptr %vfn.i.i.i.i.i911.i.i2594, align 8 + br i1 %cmp.i.i.i.i.i873.i.i2560, label %if.then.i.i.i.i.i908.i.i2594, label %if.end.i.i.i.i.i874.i.i2561 + +if.then.i.i.i.i.i908.i.i2594: ; preds = %if.then.i.i.i.i871.i.i2558 + store i32 0, ptr %_M_use_count.i.i.i.i.i872.i.i2559, align 8 + %_M_weak_count.i.i.i.i.i909.i.i2595 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1690, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i909.i.i2595, align 4 + %vtable.i.i.i.i.i910.i.i2596 = load ptr, ptr %1690, align 8 + %vfn.i.i.i.i.i911.i.i2597 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i910.i.i2596, i64 2 + %1693 = load ptr, ptr %vfn.i.i.i.i.i911.i.i2597, align 8 call void %1693(ptr noundef nonnull align 8 dereferenceable(16) %1690) #30 - br label %if.end8.sink.split.i.i.i.i.i903.i.i2586 + br label %if.end8.sink.split.i.i.i.i.i903.i.i2589 -if.end.i.i.i.i.i874.i.i2558: ; preds = %if.then.i.i.i.i871.i.i2555 +if.end.i.i.i.i.i874.i.i2561: ; preds = %if.then.i.i.i.i871.i.i2558 %1694 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i875.i.i2559 = icmp eq i8 %1694, 0 - br i1 %tobool.i.i.not.i.i.i.i.i875.i.i2559, label %if.else.i.i.i.i.i.i907.i.i2590, label %if.then.i.i.i.i.i.i876.i.i2560 - -if.then.i.i.i.i.i.i876.i.i2560: ; preds = %if.end.i.i.i.i.i874.i.i2558 - %add.i.i.i.i.i.i877.i.i2561 = add nsw i32 %1692, -1 - store i32 %add.i.i.i.i.i.i877.i.i2561, ptr %_M_use_count.i.i.i.i.i872.i.i2556, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2562 - -if.else.i.i.i.i.i.i907.i.i2590: ; preds = %if.end.i.i.i.i.i874.i.i2558 - %1695 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i872.i.i2556, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2562 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2562: ; preds = %if.else.i.i.i.i.i.i907.i.i2590, %if.then.i.i.i.i.i.i876.i.i2560 - %retval.i.0.i.i.i.i.i879.i.i2563 = phi i32 [ %1692, %if.then.i.i.i.i.i.i876.i.i2560 ], [ %1695, %if.else.i.i.i.i.i.i907.i.i2590 ] - %cmp6.i.i.i.i.i880.i.i2564 = icmp eq i32 %retval.i.0.i.i.i.i.i879.i.i2563, 1 - br i1 %cmp6.i.i.i.i.i880.i.i2564, label %if.then7.i.i.i.i.i893.i.i2576, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565 - -if.then7.i.i.i.i.i893.i.i2576: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2562 - %vtable.i.i.i.i.i.i.i894.i.i2577 = load ptr, ptr %1690, align 8 - %vfn.i.i.i.i.i.i.i895.i.i2578 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i894.i.i2577, i64 2 - %1696 = load ptr, ptr %vfn.i.i.i.i.i.i.i895.i.i2578, align 8 + %tobool.i.i.not.i.i.i.i.i875.i.i2562 = icmp eq i8 %1694, 0 + br i1 %tobool.i.i.not.i.i.i.i.i875.i.i2562, label %if.else.i.i.i.i.i.i907.i.i2593, label %if.then.i.i.i.i.i.i876.i.i2563 + +if.then.i.i.i.i.i.i876.i.i2563: ; preds = %if.end.i.i.i.i.i874.i.i2561 + %add.i.i.i.i.i.i877.i.i2564 = add nsw i32 %1692, -1 + store i32 %add.i.i.i.i.i.i877.i.i2564, ptr %_M_use_count.i.i.i.i.i872.i.i2559, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2565 + +if.else.i.i.i.i.i.i907.i.i2593: ; preds = %if.end.i.i.i.i.i874.i.i2561 + %1695 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i872.i.i2559, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2565 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2565: ; preds = %if.else.i.i.i.i.i.i907.i.i2593, %if.then.i.i.i.i.i.i876.i.i2563 + %retval.i.0.i.i.i.i.i879.i.i2566 = phi i32 [ %1692, %if.then.i.i.i.i.i.i876.i.i2563 ], [ %1695, %if.else.i.i.i.i.i.i907.i.i2593 ] + %cmp6.i.i.i.i.i880.i.i2567 = icmp eq i32 %retval.i.0.i.i.i.i.i879.i.i2566, 1 + br i1 %cmp6.i.i.i.i.i880.i.i2567, label %if.then7.i.i.i.i.i893.i.i2579, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568 + +if.then7.i.i.i.i.i893.i.i2579: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2565 + %vtable.i.i.i.i.i.i.i894.i.i2580 = load ptr, ptr %1690, align 8 + %vfn.i.i.i.i.i.i.i895.i.i2581 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i894.i.i2580, i64 2 + %1696 = load ptr, ptr %vfn.i.i.i.i.i.i.i895.i.i2581, align 8 call void %1696(ptr noundef nonnull align 8 dereferenceable(16) %1690) #30 - %_M_weak_count.i.i.i.i.i.i.i896.i.i2579 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1690, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i896.i.i2582 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1690, i64 0, i32 2 %1697 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1562 - %tobool.i.i.not.i.i.i.i.i.i.i897.i.i2580 = icmp eq i8 %1697, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i897.i.i2580, label %if.else.i.i.i.i.i.i.i.i906.i.i2589, label %if.then.i.i.i.i.i.i.i.i898.i.i2581 - -if.then.i.i.i.i.i.i.i.i898.i.i2581: ; preds = %if.then7.i.i.i.i.i893.i.i2576 - %1698 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i2579, align 4 - %add.i.i.i.i.i.i.i.i899.i.i2582 = add nsw i32 %1698, -1 - store i32 %add.i.i.i.i.i.i.i.i899.i.i2582, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i2579, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2583 - -if.else.i.i.i.i.i.i.i.i906.i.i2589: ; preds = %if.then7.i.i.i.i.i893.i.i2576 - %1699 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i2579, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2583 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2583: ; preds = %if.else.i.i.i.i.i.i.i.i906.i.i2589, %if.then.i.i.i.i.i.i.i.i898.i.i2581 - %retval.i.0.i.i.i.i.i.i.i901.i.i2584 = phi i32 [ %1698, %if.then.i.i.i.i.i.i.i.i898.i.i2581 ], [ %1699, %if.else.i.i.i.i.i.i.i.i906.i.i2589 ] - %cmp.i.i.i.i.i.i.i902.i.i2585 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i901.i.i2584, 1 - br i1 %cmp.i.i.i.i.i.i.i902.i.i2585, label %if.end8.sink.split.i.i.i.i.i903.i.i2586, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565 - -if.end8.sink.split.i.i.i.i.i903.i.i2586: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2583, %if.then.i.i.i.i.i908.i.i2591 - %vtable2.i.i.i.i.i.i.i904.i.i2587 = load ptr, ptr %1690, align 8 - %vfn3.i.i.i.i.i.i.i905.i.i2588 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i904.i.i2587, i64 3 - %1700 = load ptr, ptr %vfn3.i.i.i.i.i.i.i905.i.i2588, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i897.i.i2583 = icmp eq i8 %1697, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i897.i.i2583, label %if.else.i.i.i.i.i.i.i.i906.i.i2592, label %if.then.i.i.i.i.i.i.i.i898.i.i2584 + +if.then.i.i.i.i.i.i.i.i898.i.i2584: ; preds = %if.then7.i.i.i.i.i893.i.i2579 + %1698 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i2582, align 4 + %add.i.i.i.i.i.i.i.i899.i.i2585 = add nsw i32 %1698, -1 + store i32 %add.i.i.i.i.i.i.i.i899.i.i2585, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i2582, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2586 + +if.else.i.i.i.i.i.i.i.i906.i.i2592: ; preds = %if.then7.i.i.i.i.i893.i.i2579 + %1699 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i2582, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2586 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2586: ; preds = %if.else.i.i.i.i.i.i.i.i906.i.i2592, %if.then.i.i.i.i.i.i.i.i898.i.i2584 + %retval.i.0.i.i.i.i.i.i.i901.i.i2587 = phi i32 [ %1698, %if.then.i.i.i.i.i.i.i.i898.i.i2584 ], [ %1699, %if.else.i.i.i.i.i.i.i.i906.i.i2592 ] + %cmp.i.i.i.i.i.i.i902.i.i2588 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i901.i.i2587, 1 + br i1 %cmp.i.i.i.i.i.i.i902.i.i2588, label %if.end8.sink.split.i.i.i.i.i903.i.i2589, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568 + +if.end8.sink.split.i.i.i.i.i903.i.i2589: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2586, %if.then.i.i.i.i.i908.i.i2594 + %vtable2.i.i.i.i.i.i.i904.i.i2590 = load ptr, ptr %1690, align 8 + %vfn3.i.i.i.i.i.i.i905.i.i2591 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i904.i.i2590, i64 3 + %1700 = load ptr, ptr %vfn3.i.i.i.i.i.i.i905.i.i2591, align 8 call void %1700(ptr noundef nonnull align 8 dereferenceable(16) %1690) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i2586, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2583, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2562, %cleanup257.critedge.i.i2553 - %1701 = load ptr, ptr %expected.i.i2234, align 8, !noalias !1562 - %1702 = load ptr, ptr %_M_finish.i.i837.i.i2409, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i883.i.i2566 = icmp eq ptr %1701, %1702 - br i1 %cmp.not3.i.i.i.i.i883.i.i2566, label %invoke.cont.i.i890.i.i2573, label %for.body.i.i.i.i.i884.i.i2567 - -for.body.i.i.i.i.i884.i.i2567: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565, %for.body.i.i.i.i.i884.i.i2567 - %__first.addr.04.i.i.i.i.i885.i.i2568 = phi ptr [ %incdec.ptr.i.i.i.i.i886.i.i2569, %for.body.i.i.i.i.i884.i.i2567 ], [ %1701, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i885.i.i2568) #30 - %incdec.ptr.i.i.i.i.i886.i.i2569 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i885.i.i2568, i64 1 - %cmp.not.i.i.i.i.i887.i.i2570 = icmp eq ptr %incdec.ptr.i.i.i.i.i886.i.i2569, %1702 - br i1 %cmp.not.i.i.i.i.i887.i.i2570, label %invoke.contthread-pre-split.i.i888.i.i2571, label %for.body.i.i.i.i.i884.i.i2567, !llvm.loop !8 - -invoke.contthread-pre-split.i.i888.i.i2571: ; preds = %for.body.i.i.i.i.i884.i.i2567 - %.pr.i.i889.i.i2572 = load ptr, ptr %expected.i.i2234, align 8, !noalias !1562 - br label %invoke.cont.i.i890.i.i2573 - -invoke.cont.i.i890.i.i2573: ; preds = %invoke.contthread-pre-split.i.i888.i.i2571, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565 - %1703 = phi ptr [ %.pr.i.i889.i.i2572, %invoke.contthread-pre-split.i.i888.i.i2571 ], [ %1701, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2565 ] - %tobool.not.i.i.i.i891.i.i2574 = icmp eq ptr %1703, null - br i1 %tobool.not.i.i.i.i891.i.i2574, label %cleanup257.i.i2374, label %if.then.i.i.i1.i892.i.i2575 - -if.then.i.i.i1.i892.i.i2575: ; preds = %invoke.cont.i.i890.i.i2573 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i2589, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i2586, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i2565, %cleanup257.critedge.i.i2556 + %1701 = load ptr, ptr %expected.i.i2237, align 8, !noalias !1562 + %1702 = load ptr, ptr %_M_finish.i.i837.i.i2412, align 8, !noalias !1562 + %cmp.not3.i.i.i.i.i883.i.i2569 = icmp eq ptr %1701, %1702 + br i1 %cmp.not3.i.i.i.i.i883.i.i2569, label %invoke.cont.i.i890.i.i2576, label %for.body.i.i.i.i.i884.i.i2570 + +for.body.i.i.i.i.i884.i.i2570: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568, %for.body.i.i.i.i.i884.i.i2570 + %__first.addr.04.i.i.i.i.i885.i.i2571 = phi ptr [ %incdec.ptr.i.i.i.i.i886.i.i2572, %for.body.i.i.i.i.i884.i.i2570 ], [ %1701, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i885.i.i2571) #30 + %incdec.ptr.i.i.i.i.i886.i.i2572 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i885.i.i2571, i64 1 + %cmp.not.i.i.i.i.i887.i.i2573 = icmp eq ptr %incdec.ptr.i.i.i.i.i886.i.i2572, %1702 + br i1 %cmp.not.i.i.i.i.i887.i.i2573, label %invoke.contthread-pre-split.i.i888.i.i2574, label %for.body.i.i.i.i.i884.i.i2570, !llvm.loop !8 + +invoke.contthread-pre-split.i.i888.i.i2574: ; preds = %for.body.i.i.i.i.i884.i.i2570 + %.pr.i.i889.i.i2575 = load ptr, ptr %expected.i.i2237, align 8, !noalias !1562 + br label %invoke.cont.i.i890.i.i2576 + +invoke.cont.i.i890.i.i2576: ; preds = %invoke.contthread-pre-split.i.i888.i.i2574, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568 + %1703 = phi ptr [ %.pr.i.i889.i.i2575, %invoke.contthread-pre-split.i.i888.i.i2574 ], [ %1701, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i2568 ] + %tobool.not.i.i.i.i891.i.i2577 = icmp eq ptr %1703, null + br i1 %tobool.not.i.i.i.i891.i.i2577, label %cleanup257.i.i2377, label %if.then.i.i.i1.i892.i.i2578 + +if.then.i.i.i1.i892.i.i2578: ; preds = %invoke.cont.i.i890.i.i2576 call void @_ZdlPv(ptr noundef nonnull %1703) #33 - br label %cleanup257.i.i2374 + br label %cleanup257.i.i2377 -cleanup257.i.i2374: ; preds = %if.then.i.i.i1.i892.i.i2575, %invoke.cont.i.i890.i.i2573, %for.end255.i.i3155, %_ZN7testing15AssertionResultD2Ev.exit159.i.i3277, %if.then.i.i.i.i129.i.i2373, %_ZN7testing15AssertionResultD2Ev.exit.i.i2371 - %1704 = load ptr, ptr %classes.i.i2229, align 8, !noalias !1562 +cleanup257.i.i2377: ; preds = %if.then.i.i.i1.i892.i.i2578, %invoke.cont.i.i890.i.i2576, %for.end255.i.i3158, %_ZN7testing15AssertionResultD2Ev.exit159.i.i3280, %if.then.i.i.i.i129.i.i2376, %_ZN7testing15AssertionResultD2Ev.exit.i.i2374 + %1704 = load ptr, ptr %classes.i.i2232, align 8, !noalias !1562 %1705 = load ptr, ptr %1381, align 8, !noalias !1562 - %cmp.not3.i.i.i.i.i.i2375 = icmp eq ptr %1704, %1705 - br i1 %cmp.not3.i.i.i.i.i.i2375, label %invoke.cont.i916.i.i2383, label %for.body.i.i.i.i.i.i2376 + %cmp.not3.i.i.i.i.i.i2378 = icmp eq ptr %1704, %1705 + br i1 %cmp.not3.i.i.i.i.i.i2378, label %invoke.cont.i916.i.i2386, label %for.body.i.i.i.i.i.i2379 -for.body.i.i.i.i.i.i2376: ; preds = %cleanup257.i.i2374, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i2377 = phi ptr [ %incdec.ptr.i.i.i.i.i.i2381, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %1704, %cleanup257.i.i2374 ] - %__first.addr.0.val.i.i.i.i.i.i2378 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i2377, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i.i2379 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i2378, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i2379, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i2380 +for.body.i.i.i.i.i.i2379: ; preds = %cleanup257.i.i2377, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i2380 = phi ptr [ %incdec.ptr.i.i.i.i.i.i2384, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %1704, %cleanup257.i.i2377 ] + %__first.addr.0.val.i.i.i.i.i.i2381 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i2380, align 8 + %tobool.not.i.i.i.i.i.i.i.i.i.i2382 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i2381, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i2382, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i2383 -if.then.i.i.i.i.i.i.i.i914.i.i2380: ; preds = %for.body.i.i.i.i.i.i2376 - call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i2378) #33 +if.then.i.i.i.i.i.i.i.i914.i.i2383: ; preds = %for.body.i.i.i.i.i.i2379 + call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i2381) #33 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i2380, %for.body.i.i.i.i.i.i2376 - %incdec.ptr.i.i.i.i.i.i2381 = getelementptr inbounds %"class.std::vector.916", ptr %__first.addr.04.i.i.i.i.i.i2377, i64 1 - %cmp.not.i.i.i.i915.i.i2382 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i2381, %1705 - br i1 %cmp.not.i.i.i.i915.i.i2382, label %invoke.cont.i916.i.i2383, label %for.body.i.i.i.i.i.i2376, !llvm.loop !1576 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i2383, %for.body.i.i.i.i.i.i2379 + %incdec.ptr.i.i.i.i.i.i2384 = getelementptr inbounds %"class.std::vector.916", ptr %__first.addr.04.i.i.i.i.i.i2380, i64 1 + %cmp.not.i.i.i.i915.i.i2385 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i2384, %1705 + br i1 %cmp.not.i.i.i.i915.i.i2385, label %invoke.cont.i916.i.i2386, label %for.body.i.i.i.i.i.i2379, !llvm.loop !1576 -invoke.cont.i916.i.i2383: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i2374 - %tobool.not.i.i.i917.i.i2384 = icmp eq ptr %1704, null - br i1 %tobool.not.i.i.i917.i.i2384, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i2385 +invoke.cont.i916.i.i2386: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i2377 + %tobool.not.i.i.i917.i.i2387 = icmp eq ptr %1704, null + br i1 %tobool.not.i.i.i917.i.i2387, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i2388 -if.then.i.i.i918.i.i2385: ; preds = %invoke.cont.i916.i.i2383 +if.then.i.i.i918.i.i2388: ; preds = %invoke.cont.i916.i.i2386 call void @_ZdlPv(ptr noundef nonnull %1704) #33 br label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit -ehcleanup258.i.i2310: ; preds = %ehcleanup252.i.i2429, %lpad51.body.i.i3256, %if.then.i.i.i.i137.i.i2347, %ehcleanup.i.i2344, %lpad30.i.i2315, %lpad.loopexit.split-lp.loopexit.split-lp.i.i3156, %lpad.loopexit.split-lp.loopexit.i.i2308, %lpad.loopexit11.i.i2416 - %.pn46.pn.i.i2311 = phi { ptr, i32 } [ %1423, %lpad30.i.i2315 ], [ %eh.lpad-body155.i.i3257, %lpad51.body.i.i3256 ], [ %.pn43.pn.i.i2430, %ehcleanup252.i.i2429 ], [ %.pn46.i.i2345, %ehcleanup.i.i2344 ], [ %.pn46.i.i2345, %if.then.i.i.i.i137.i.i2347 ], [ %lpad.loopexit12.i.i2417, %lpad.loopexit11.i.i2416 ], [ %lpad.loopexit15.i.i2309, %lpad.loopexit.split-lp.loopexit.i.i2308 ], [ %lpad.loopexit.split-lp16.i.i3157, %lpad.loopexit.split-lp.loopexit.split-lp.i.i3156 ] - call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i2229) #30 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i2255) #33 +ehcleanup258.i.i2313: ; preds = %ehcleanup252.i.i2432, %lpad51.body.i.i3259, %if.then.i.i.i.i137.i.i2350, %ehcleanup.i.i2347, %lpad30.i.i2318, %lpad.loopexit.split-lp.loopexit.split-lp.i.i3159, %lpad.loopexit.split-lp.loopexit.i.i2311, %lpad.loopexit11.i.i2419 + %.pn46.pn.i.i2314 = phi { ptr, i32 } [ %1423, %lpad30.i.i2318 ], [ %eh.lpad-body155.i.i3260, %lpad51.body.i.i3259 ], [ %.pn43.pn.i.i2433, %ehcleanup252.i.i2432 ], [ %.pn46.i.i2348, %ehcleanup.i.i2347 ], [ %.pn46.i.i2348, %if.then.i.i.i.i137.i.i2350 ], [ %lpad.loopexit12.i.i2420, %lpad.loopexit11.i.i2419 ], [ %lpad.loopexit15.i.i2312, %lpad.loopexit.split-lp.loopexit.i.i2311 ], [ %lpad.loopexit.split-lp16.i.i3160, %lpad.loopexit.split-lp.loopexit.split-lp.i.i3159 ] + call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivREEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i2232) #30 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i2258) #33 br label %common.resume -_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i2383, %if.then.i.i.i918.i.i2385 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i2229), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i2230), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i2231), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i2232), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i2233), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i2234), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i2235), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i2236), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i2237), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i2238), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i2239), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i2240), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i2241), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i2242), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i2243), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i2244), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i2245), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i2246), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i2247), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i2248), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i2249), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i2250), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i2251), !noalias !1561 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i2252), !noalias !1561 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i2255) #33 +_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i2386, %if.then.i.i.i918.i.i2388 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i2232), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i2233), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i2234), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i2235), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i2236), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i2237), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i2238), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i2239), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i2240), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i2241), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i2242), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i2243), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i2244), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i2245), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i2246), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i2247), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i2248), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i2249), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i2250), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i2251), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i2252), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i2253), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i2254), !noalias !1561 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i2255), !noalias !1561 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i2258) #33 %1706 = load i8, ptr %gtest_ar_159, align 8 %1707 = and i8 %1706, 1 - %tobool.i3361.not = icmp eq i8 %1707, 0 - br i1 %tobool.i3361.not, label %if.else166, label %if.end182 + %tobool.i3365.not = icmp eq i8 %1707, 0 + br i1 %tobool.i3365.not, label %if.else166, label %if.end182 -ehcleanup158: ; preds = %_ZN7testing7MessageD2Ev.exit2196, %lpad143 - %.pn64.pn.pn = phi { ptr, i32 } [ %.pn64.pn, %_ZN7testing7MessageD2Ev.exit2196 ], [ %1372, %lpad143 ] +ehcleanup158: ; preds = %_ZN7testing7MessageD2Ev.exit2199, %lpad143 + %.pn64.pn.pn = phi { ptr, i32 } [ %.pn64.pn, %_ZN7testing7MessageD2Ev.exit2199 ], [ %1372, %lpad143 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_134) #30 br label %common.resume @@ -71772,17 +71784,17 @@ invoke.cont178: ; preds = %invoke.cont176 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp170) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp171) #30 %1708 = load ptr, ptr %ref.tmp167, align 8 - %cmp.not.i.i3362 = icmp eq ptr %1708, null - br i1 %cmp.not.i.i3362, label %_ZN7testing7MessageD2Ev.exit3366, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3363 + %cmp.not.i.i3366 = icmp eq ptr %1708, null + br i1 %cmp.not.i.i3366, label %_ZN7testing7MessageD2Ev.exit3370, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3367 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3363: ; preds = %invoke.cont178 - %vtable.i.i.i3364 = load ptr, ptr %1708, align 8 - %vfn.i.i.i3365 = getelementptr inbounds ptr, ptr %vtable.i.i.i3364, i64 1 - %1709 = load ptr, ptr %vfn.i.i.i3365, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3367: ; preds = %invoke.cont178 + %vtable.i.i.i3368 = load ptr, ptr %1708, align 8 + %vfn.i.i.i3369 = getelementptr inbounds ptr, ptr %vtable.i.i.i3368, i64 1 + %1709 = load ptr, ptr %vfn.i.i.i3369, align 8 call void %1709(ptr noundef nonnull align 8 dereferenceable(128) %1708) #30 - br label %_ZN7testing7MessageD2Ev.exit3366 + br label %_ZN7testing7MessageD2Ev.exit3370 -_ZN7testing7MessageD2Ev.exit3366: ; preds = %invoke.cont178, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3363 +_ZN7testing7MessageD2Ev.exit3370: ; preds = %invoke.cont178, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3367 store ptr null, ptr %ref.tmp167, align 8 br label %if.end182 @@ -71815,2851 +71827,2852 @@ ehcleanup180: ; preds = %lpad177, %lpad175 ehcleanup181: ; preds = %ehcleanup180, %lpad172 %.pn68.pn = phi { ptr, i32 } [ %.pn68, %ehcleanup180 ], [ %1711, %lpad172 ] %1714 = load ptr, ptr %ref.tmp167, align 8 - %cmp.not.i.i3367 = icmp eq ptr %1714, null - br i1 %cmp.not.i.i3367, label %_ZN7testing7MessageD2Ev.exit3371, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3368 + %cmp.not.i.i3371 = icmp eq ptr %1714, null + br i1 %cmp.not.i.i3371, label %_ZN7testing7MessageD2Ev.exit3375, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3372 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3368: ; preds = %ehcleanup181 - %vtable.i.i.i3369 = load ptr, ptr %1714, align 8 - %vfn.i.i.i3370 = getelementptr inbounds ptr, ptr %vtable.i.i.i3369, i64 1 - %1715 = load ptr, ptr %vfn.i.i.i3370, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3372: ; preds = %ehcleanup181 + %vtable.i.i.i3373 = load ptr, ptr %1714, align 8 + %vfn.i.i.i3374 = getelementptr inbounds ptr, ptr %vtable.i.i.i3373, i64 1 + %1715 = load ptr, ptr %vfn.i.i.i3374, align 8 call void %1715(ptr noundef nonnull align 8 dereferenceable(128) %1714) #30 - br label %_ZN7testing7MessageD2Ev.exit3371 + br label %_ZN7testing7MessageD2Ev.exit3375 -_ZN7testing7MessageD2Ev.exit3371: ; preds = %ehcleanup181, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3368 +_ZN7testing7MessageD2Ev.exit3375: ; preds = %ehcleanup181, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3372 store ptr null, ptr %ref.tmp167, align 8 br label %ehcleanup183 -if.end182: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit3366 - %message_.i3372 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_159, i64 0, i32 1 - %1716 = load ptr, ptr %message_.i3372, align 8 - %cmp.not.i.i3373 = icmp eq ptr %1716, null - br i1 %cmp.not.i.i3373, label %_ZN7testing15AssertionResultD2Ev.exit3375, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3374 +if.end182: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivRES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit3370 + %message_.i3376 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_159, i64 0, i32 1 + %1716 = load ptr, ptr %message_.i3376, align 8 + %cmp.not.i.i3377 = icmp eq ptr %1716, null + br i1 %cmp.not.i.i3377, label %_ZN7testing15AssertionResultD2Ev.exit3379, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3378 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3374: ; preds = %if.end182 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3378: ; preds = %if.end182 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1716) #30 call void @_ZdlPv(ptr noundef nonnull %1716) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit3375 + br label %_ZN7testing15AssertionResultD2Ev.exit3379 -_ZN7testing15AssertionResultD2Ev.exit3375: ; preds = %if.end182, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3374 - store ptr null, ptr %message_.i3372, align 8 +_ZN7testing15AssertionResultD2Ev.exit3379: ; preds = %if.end182, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3378 + store ptr null, ptr %message_.i3376, align 8 %1717 = getelementptr inbounds i8, ptr %ref.tmp185, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp185, i8 0, i64 16, i1 false) store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENO3Foo2h3Ev to i64), ptr %1717, align 8, !alias.scope !1577 - %this.repack3.i.i.i.i.i3377 = getelementptr inbounds i8, ptr %ref.tmp185, i64 24 - store i64 0, ptr %this.repack3.i.i.i.i.i3377, align 8, !alias.scope !1577 + %this.repack3.i.i.i.i.i3381 = getelementptr inbounds i8, ptr %ref.tmp185, i64 24 + store i64 0, ptr %this.repack3.i.i.i.i.i3381, align 8, !alias.scope !1577 %1718 = getelementptr inbounds i8, ptr %ref.tmp185, i64 32 store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENO3Foo2g3Ev to i64), ptr %1718, align 8, !alias.scope !1577 - %this.repack3.i.i.i.i3378 = getelementptr inbounds i8, ptr %ref.tmp185, i64 40 - store i64 0, ptr %this.repack3.i.i.i.i3378, align 8, !alias.scope !1577 - %call5.i.i.i.i5.i6.i.i.i3430 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1580 - store ptr %1718, ptr %call5.i.i.i.i5.i6.i.i.i3430, align 8, !noalias !1580 - %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3431 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3430, i64 8 - store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3431, align 8, !noalias !1580 - %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3432 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3430, i64 16 - store ptr %1717, ptr %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3432, align 8, !noalias !1580 - %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3433 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3430, i64 24 - store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3433, align 8, !noalias !1580 - %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3434 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3430, i64 32 - store ptr %ref.tmp185, ptr %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3434, align 8, !noalias !1580 - %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3435 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3430, i64 40 - store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3435, align 8, !noalias !1580 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i3404), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i3405), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i3406), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i3407), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i3408), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i3409), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i3410), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i3411), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i3412), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i3413), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i3414), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i3415), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i3416), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i3417), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i3418), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i3419), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i3420), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i3421), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i3422), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i3423), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i3424), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i3425), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i3426), !noalias !1587 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i3427), !noalias !1587 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i3404, i8 0, i64 24, i1 false), !noalias !1588 - %1719 = getelementptr inbounds i8, ptr %classes.i.i3404, i64 8 - %_M_end_of_storage.i.i.i3436 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.950", ptr %classes.i.i3404, i64 0, i32 2 - %moved_from_.i.i.i3437 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i3406, i64 0, i32 2 - %_M_engaged.i.i.i.i.i.i.i.i3438 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i3405, i64 0, i32 1 - %error_.i.i.i3439 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i3406, i64 0, i32 1 - %_M_refcount.i.i.i.i.i3440 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i3406, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i119.i.i3441 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i3406, i64 0, i32 1 - br label %for.body.i.i3442 - -for.cond.i.i3561: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3515 - %__begin0.sroa.0.045.i.add.i3562 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i3444, 16 - %cmp.i.not.i.i3563 = icmp eq i64 %__begin0.sroa.0.045.i.add.i3562, 48 - br i1 %cmp.i.not.i.i3563, label %for.end45.i.i3564, label %for.body.i.i3442 - -for.body.i.i3442: ; preds = %for.cond.i.i3561, %_ZN7testing15AssertionResultD2Ev.exit3375 - %i.046.i.i3443 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit3375 ], [ %inc.i.i3479, %for.cond.i.i3561 ] - %__begin0.sroa.0.045.i.idx.i3444 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit3375 ], [ %__begin0.sroa.0.045.i.add.i3562, %for.cond.i.i3561 ] - %__begin0.sroa.0.045.i.ptr.i3445 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3430, i64 %__begin0.sroa.0.045.i.idx.i3444 - %classes.val.i.i3446 = load ptr, ptr %classes.i.i3404, align 8, !noalias !1588 - %classes.val54.i.i3447 = load ptr, ptr %1719, align 8, !noalias !1588 - %cmp.i103.not42.i.i3448 = icmp eq ptr %classes.val.i.i3446, %classes.val54.i.i3447 - br i1 %cmp.i103.not42.i.i3448, label %if.then19.i.i3466, label %invoke.cont.lr.ph.i.i3449 - -invoke.cont.lr.ph.i.i3449: ; preds = %for.body.i.i3442 - %call4.val.i.i3450 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i3445, align 8, !noalias !1591 - %call4.val.val.i.i3451 = load i64, ptr %call4.val.i.i3450, align 8 - %1720 = getelementptr i8, ptr %call4.val.i.i3450, i64 8 - %call4.val.val60.i.i3452 = load i64, ptr %1720, align 8 - %cmp.ptr.null.i.i.i.i.i.i.i.i.i3453 = icmp eq i64 %call4.val.val.i.i3451, 0 - br label %invoke.cont.i.i3454 - -invoke.cont.i.i3454: ; preds = %for.inc.i.i3463, %invoke.cont.lr.ph.i.i3449 - %__begin05.sroa.0.043.i.i3455 = phi ptr [ %classes.val.i.i3446, %invoke.cont.lr.ph.i.i3449 ], [ %incdec.ptr.i.i.i3464, %for.inc.i.i3463 ] - %call14.val.i.i3456 = load ptr, ptr %__begin05.sroa.0.043.i.i3455, align 8 - %1721 = load ptr, ptr %call14.val.i.i3456, align 8 - %.val.i.i3457 = load ptr, ptr %1721, align 8 - %.val.val.i.i3458 = load i64, ptr %.val.i.i3457, align 8 - %1722 = getelementptr i8, ptr %.val.i.i3457, i64 8 - %.val.val61.i.i3459 = load i64, ptr %1722, align 8 - %cmp.ptr.i.i.i.i.i.i.i.i.i3460 = icmp eq i64 %call4.val.val.i.i3451, %.val.val.i.i3458 - %cmp.adj.i.i.i.i.i.i.i.i.i3461 = icmp eq i64 %call4.val.val60.i.i3452, %.val.val61.i.i3459 - %1723 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i3453, %cmp.adj.i.i.i.i.i.i.i.i.i3461 - %memptr.eq.i.i.i.i.i.i.i.i.i3462 = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i3460, %1723 - br i1 %memptr.eq.i.i.i.i.i.i.i.i.i3462, label %if.end23.i.i3470, label %for.inc.i.i3463 - -lpad.loopexit11.i.i3591: ; preds = %for.body66.i.i3585 - %lpad.loopexit12.i.i3592 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i3485 - -lpad.loopexit.split-lp.loopexit.i.i3483: ; preds = %invoke.cont26.i.i3478, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i - %lpad.loopexit15.i.i3484 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i3485 - -lpad.loopexit.split-lp.loopexit.split-lp.i.i4331: ; preds = %for.end255.i.i4330, %if.then48.i.i4428, %if.then.i.i.i.i.invoke.i.i4502 - %lpad.loopexit.split-lp16.i.i4332 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i3485 - -for.inc.i.i3463: ; preds = %invoke.cont.i.i3454 - %incdec.ptr.i.i.i3464 = getelementptr inbounds %"class.std::vector.972", ptr %__begin05.sroa.0.043.i.i3455, i64 1 - %cmp.i103.not.i.i3465 = icmp eq ptr %incdec.ptr.i.i.i3464, %classes.val54.i.i3447 - br i1 %cmp.i103.not.i.i3465, label %if.then19.i.i3466, label %invoke.cont.i.i3454 - -if.then19.i.i3466: ; preds = %for.inc.i.i3463, %for.body.i.i3442 - %1724 = load ptr, ptr %_M_end_of_storage.i.i.i3436, align 8, !noalias !1588 - %cmp.not.i.i.i3467 = icmp eq ptr %classes.val54.i.i3447, %1724 - br i1 %cmp.not.i.i.i3467, label %if.else.i.i.i4504, label %if.then.i.i.i3468 - -if.then.i.i.i3468: ; preds = %if.then19.i.i3466 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i3447, i8 0, i64 24, i1 false) - %incdec.ptr.i104.i.i3469 = getelementptr inbounds %"class.std::vector.972", ptr %classes.val54.i.i3447, i64 1 - store ptr %incdec.ptr.i104.i.i3469, ptr %1719, align 8, !noalias !1588 - br label %if.end23.i.i3470 - -if.else.i.i.i4504: ; preds = %if.then19.i.i3466 - %sub.ptr.lhs.cast.i.i.i.i.i.i4505 = ptrtoint ptr %classes.val54.i.i3447 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i4506 = ptrtoint ptr %classes.val.i.i3446 to i64 - %sub.ptr.sub.i.i.i.i.i.i4507 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i4505, %sub.ptr.rhs.cast.i.i.i.i.i.i4506 - %cmp.i.i.i.i.i4508 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i4507, 9223372036854775800 - br i1 %cmp.i.i.i.i.i4508, label %if.then.i.i.i.i.invoke.i.i4502, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - -_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i4504 - %sub.ptr.div.i.i.i.i.i.i4509 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i4507, 24 - %.sroa.speculated.i.i.i.i.i4510 = select i1 %cmp.i103.not42.i.i3448, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i4509 - %add.i.i.i.i.i4511 = add nsw i64 %.sroa.speculated.i.i.i.i.i4510, %sub.ptr.div.i.i.i.i.i.i4509 - %cmp7.i.i.i.i.i4512 = icmp ult i64 %add.i.i.i.i.i4511, %sub.ptr.div.i.i.i.i.i.i4509 - %cmp9.i.i.i.i.i4513 = icmp ugt i64 %add.i.i.i.i.i4511, 384307168202282325 - %or.cond.i.i.i.i.i4514 = or i1 %cmp7.i.i.i.i.i4512, %cmp9.i.i.i.i.i4513 - %cond.i.i.i.i.i4515 = select i1 %or.cond.i.i.i.i.i4514, i64 384307168202282325, i64 %add.i.i.i.i.i4511 - %cmp.not.i.i.i.i.i4516 = icmp eq i64 %cond.i.i.i.i.i4515, 0 - br i1 %cmp.not.i.i.i.i.i4516, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %this.repack3.i.i.i.i3382 = getelementptr inbounds i8, ptr %ref.tmp185, i64 40 + store i64 0, ptr %this.repack3.i.i.i.i3382, align 8, !alias.scope !1577 + %call5.i.i.i.i5.i6.i.i.i3434 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1580 + store ptr %1718, ptr %call5.i.i.i.i5.i6.i.i.i3434, align 8, !noalias !1580 + %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3435 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3434, i64 8 + store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3435, align 8, !noalias !1580 + %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3436 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3434, i64 16 + store ptr %1717, ptr %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3436, align 8, !noalias !1580 + %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3437 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3434, i64 24 + store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3437, align 8, !noalias !1580 + %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3438 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3434, i64 32 + store ptr %ref.tmp185, ptr %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3438, align 8, !noalias !1580 + %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3439 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3434, i64 40 + store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i3439, align 8, !noalias !1580 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i3408), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i3409), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i3410), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i3411), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i3412), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i3413), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i3414), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i3415), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i3416), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i3417), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i3418), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i3419), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i3420), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i3421), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i3422), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i3423), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i3424), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i3425), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i3426), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i3427), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i3428), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i3429), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i3430), !noalias !1587 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i3431), !noalias !1587 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i3408, i8 0, i64 24, i1 false), !noalias !1588 + %1719 = getelementptr inbounds i8, ptr %classes.i.i3408, i64 8 + %_M_end_of_storage.i.i.i3440 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.950", ptr %classes.i.i3408, i64 0, i32 2 + %moved_from_.i.i.i3441 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i3410, i64 0, i32 2 + %_M_engaged.i.i.i.i.i.i.i.i3442 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i3409, i64 0, i32 1 + %error_.i.i.i3443 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i3410, i64 0, i32 1 + %_M_refcount.i.i.i.i.i3444 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i3410, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i119.i.i3445 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i3410, i64 0, i32 1 + br label %for.body.i.i3446 + +for.cond.i.i3565: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3519 + %__begin0.sroa.0.045.i.add.i3566 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i3448, 16 + %cmp.i.not.i.i3567 = icmp eq i64 %__begin0.sroa.0.045.i.add.i3566, 48 + br i1 %cmp.i.not.i.i3567, label %for.end45.i.i3568, label %for.body.i.i3446 + +for.body.i.i3446: ; preds = %for.cond.i.i3565, %_ZN7testing15AssertionResultD2Ev.exit3379 + %i.046.i.i3447 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit3379 ], [ %inc.i.i3483, %for.cond.i.i3565 ] + %__begin0.sroa.0.045.i.idx.i3448 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit3379 ], [ %__begin0.sroa.0.045.i.add.i3566, %for.cond.i.i3565 ] + %__begin0.sroa.0.045.i.ptr.i3449 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i3434, i64 %__begin0.sroa.0.045.i.idx.i3448 + %classes.val.i.i3450 = load ptr, ptr %classes.i.i3408, align 8, !noalias !1588 + %classes.val54.i.i3451 = load ptr, ptr %1719, align 8, !noalias !1588 + %cmp.i103.not42.i.i3452 = icmp eq ptr %classes.val.i.i3450, %classes.val54.i.i3451 + br i1 %cmp.i103.not42.i.i3452, label %if.then19.i.i3470, label %invoke.cont.lr.ph.i.i3453 + +invoke.cont.lr.ph.i.i3453: ; preds = %for.body.i.i3446 + %call4.val.i.i3454 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i3449, align 8, !noalias !1591 + %call4.val.val.i.i3455 = load i64, ptr %call4.val.i.i3454, align 8 + %1720 = getelementptr i8, ptr %call4.val.i.i3454, i64 8 + %call4.val.val60.i.i3456 = load i64, ptr %1720, align 8 + %cmp.ptr.null.i.i.i.i.i.i.i.i.i3457 = icmp eq i64 %call4.val.val.i.i3455, 0 + br label %invoke.cont.i.i3458 + +invoke.cont.i.i3458: ; preds = %for.inc.i.i3467, %invoke.cont.lr.ph.i.i3453 + %__begin05.sroa.0.043.i.i3459 = phi ptr [ %classes.val.i.i3450, %invoke.cont.lr.ph.i.i3453 ], [ %incdec.ptr.i.i.i3468, %for.inc.i.i3467 ] + %call14.val.i.i3460 = load ptr, ptr %__begin05.sroa.0.043.i.i3459, align 8 + %1721 = load ptr, ptr %call14.val.i.i3460, align 8 + %.val.i.i3461 = load ptr, ptr %1721, align 8 + %.val.val.i.i3462 = load i64, ptr %.val.i.i3461, align 8 + %1722 = getelementptr i8, ptr %.val.i.i3461, i64 8 + %.val.val61.i.i3463 = load i64, ptr %1722, align 8 + %cmp.ptr.i.i.i.i.i.i.i.i.i3464 = icmp eq i64 %call4.val.val.i.i3455, %.val.val.i.i3462 + %cmp.adj.i.i.i.i.i.i.i.i.i3465 = icmp eq i64 %call4.val.val60.i.i3456, %.val.val61.i.i3463 + %1723 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i3457, %cmp.adj.i.i.i.i.i.i.i.i.i3465 + %memptr.eq.i.i.i.i.i.i.i.i.i3466 = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i3464, %1723 + br i1 %memptr.eq.i.i.i.i.i.i.i.i.i3466, label %if.end23.i.i3474, label %for.inc.i.i3467 + +lpad.loopexit11.i.i3595: ; preds = %for.body66.i.i3589 + %lpad.loopexit12.i.i3596 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i3489 + +lpad.loopexit.split-lp.loopexit.i.i3487: ; preds = %invoke.cont26.i.i3482, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %lpad.loopexit15.i.i3488 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i3489 + +lpad.loopexit.split-lp.loopexit.split-lp.i.i4335: ; preds = %for.end255.i.i4334, %if.then48.i.i4432, %if.then.i.i.i.i.invoke.i.i4507 + %lpad.loopexit.split-lp16.i.i4336 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i3489 + +for.inc.i.i3467: ; preds = %invoke.cont.i.i3458 + %incdec.ptr.i.i.i3468 = getelementptr inbounds %"class.std::vector.972", ptr %__begin05.sroa.0.043.i.i3459, i64 1 + %cmp.i103.not.i.i3469 = icmp eq ptr %incdec.ptr.i.i.i3468, %classes.val54.i.i3451 + br i1 %cmp.i103.not.i.i3469, label %if.then19.i.i3470, label %invoke.cont.i.i3458 + +if.then19.i.i3470: ; preds = %for.inc.i.i3467, %for.body.i.i3446 + %1724 = load ptr, ptr %_M_end_of_storage.i.i.i3440, align 8, !noalias !1588 + %cmp.not.i.i.i3471 = icmp eq ptr %classes.val54.i.i3451, %1724 + br i1 %cmp.not.i.i.i3471, label %if.else.i.i.i4509, label %if.then.i.i.i3472 + +if.then.i.i.i3472: ; preds = %if.then19.i.i3470 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i3451, i8 0, i64 24, i1 false) + %incdec.ptr.i104.i.i3473 = getelementptr inbounds %"class.std::vector.972", ptr %classes.val54.i.i3451, i64 1 + store ptr %incdec.ptr.i104.i.i3473, ptr %1719, align 8, !noalias !1588 + br label %if.end23.i.i3474 + +if.else.i.i.i4509: ; preds = %if.then19.i.i3470 + %sub.ptr.lhs.cast.i.i.i.i.i.i4510 = ptrtoint ptr %classes.val54.i.i3451 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i4511 = ptrtoint ptr %classes.val.i.i3450 to i64 + %sub.ptr.sub.i.i.i.i.i.i4512 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i4510, %sub.ptr.rhs.cast.i.i.i.i.i.i4511 + %cmp.i.i.i.i.i4513 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i4512, 9223372036854775800 + br i1 %cmp.i.i.i.i.i4513, label %if.then.i.i.i.i.invoke.i.i4507, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i + +_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i4509 + %sub.ptr.div.i.i.i.i.i.i4514 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i4512, 24 + %.sroa.speculated.i.i.i.i.i4515 = select i1 %cmp.i103.not42.i.i3452, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i4514 + %add.i.i.i.i.i4516 = add nsw i64 %.sroa.speculated.i.i.i.i.i4515, %sub.ptr.div.i.i.i.i.i.i4514 + %cmp7.i.i.i.i.i4517 = icmp ult i64 %add.i.i.i.i.i4516, %sub.ptr.div.i.i.i.i.i.i4514 + %cmp9.i.i.i.i.i4518 = icmp ugt i64 %add.i.i.i.i.i4516, 384307168202282325 + %or.cond.i.i.i.i.i4519 = or i1 %cmp7.i.i.i.i.i4517, %cmp9.i.i.i.i.i4518 + %cond.i.i.i.i.i4520 = select i1 %or.cond.i.i.i.i.i4519, i64 384307168202282325, i64 %add.i.i.i.i.i4516 + %cmp.not.i.i.i.i.i4521 = icmp eq i64 %cond.i.i.i.i.i4520, 0 + br i1 %cmp.not.i.i.i.i.i4521, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %mul.i.i.i.i.i.i.i4517 = mul nuw nsw i64 %cond.i.i.i.i.i4515, 24 - %call5.i.i.i.i.i105.i.i4518 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i4517) #34 - to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i3483 + %mul.i.i.i.i.i.i.i4522 = mul nuw nsw i64 %cond.i.i.i.i.i4520, 24 + %call5.i.i.i.i.i105.i.i4523 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i4522) #34 + to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i3487 _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i12.i.i.i.i4519 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i4518, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] - %add.ptr.i.i.i.i4520 = getelementptr inbounds %"class.std::vector.972", ptr %cond.i12.i.i.i.i4519, i64 %sub.ptr.div.i.i.i.i.i.i4509 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i4520, i8 0, i64 24, i1 false) - br i1 %cmp.i103.not42.i.i3448, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i4521 - -for.body.i.i.i.i.i.i.i4521: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i4521 - %__cur.03.i.i.i.i.i.i.i4522 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i4529, %for.body.i.i.i.i.i.i.i4521 ], [ %cond.i12.i.i.i.i4519, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i4523 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i4528, %for.body.i.i.i.i.i.i.i4521 ], [ %classes.val.i.i3446, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %cond.i12.i.i.i.i4524 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i4523, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] + %add.ptr.i.i.i.i4525 = getelementptr inbounds %"class.std::vector.972", ptr %cond.i12.i.i.i.i4524, i64 %sub.ptr.div.i.i.i.i.i.i4514 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i4525, i8 0, i64 24, i1 false) + br i1 %cmp.i103.not42.i.i3452, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i4526 + +for.body.i.i.i.i.i.i.i4526: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i4526 + %__cur.03.i.i.i.i.i.i.i4527 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i4534, %for.body.i.i.i.i.i.i.i4526 ], [ %cond.i12.i.i.i.i4524, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i4528 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i4533, %for.body.i.i.i.i.i.i.i4526 ], [ %classes.val.i.i3450, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !1592) call void @llvm.experimental.noalias.scope.decl(metadata !1595) - %1725 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i4523, align 8, !alias.scope !1595, !noalias !1592 - store <2 x ptr> %1725, ptr %__cur.03.i.i.i.i.i.i.i4522, align 8, !alias.scope !1592, !noalias !1595 - %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i4526 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.978", ptr %__cur.03.i.i.i.i.i.i.i4522, i64 0, i32 2 - %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i4527 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.978", ptr %__first.addr.02.i.i.i.i.i.i.i4523, i64 0, i32 2 - %1726 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i4527, align 8, !alias.scope !1595, !noalias !1592 - store ptr %1726, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i4526, align 8, !alias.scope !1592, !noalias !1595 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i4523, i8 0, i64 24, i1 false), !alias.scope !1595, !noalias !1592 - %incdec.ptr.i.i.i.i.i.i.i4528 = getelementptr inbounds %"class.std::vector.972", ptr %__first.addr.02.i.i.i.i.i.i.i4523, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i4529 = getelementptr inbounds %"class.std::vector.972", ptr %__cur.03.i.i.i.i.i.i.i4522, i64 1 - %cmp.not.i.i.i.i.i.i.i4530 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i4528, %classes.val54.i.i3447 - br i1 %cmp.not.i.i.i.i.i.i.i4530, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i4521, !llvm.loop !1597 - -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i4521, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i4531 = phi ptr [ %cond.i12.i.i.i.i4519, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i4529, %for.body.i.i.i.i.i.i.i4521 ] - %incdec.ptr.i.i.i.i4532 = getelementptr inbounds %"class.std::vector.972", ptr %__cur.0.lcssa.i.i.i.i.i.i.i4531, i64 1 - %tobool.not.i.i.i.i.i4533 = icmp eq ptr %classes.val.i.i3446, null - br i1 %tobool.not.i.i.i.i.i4533, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i4534 - -if.then.i26.i.i.i.i4534: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i3446) #33 + %1725 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i4528, align 8, !alias.scope !1595, !noalias !1592 + store <2 x ptr> %1725, ptr %__cur.03.i.i.i.i.i.i.i4527, align 8, !alias.scope !1592, !noalias !1595 + %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i4531 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.978", ptr %__cur.03.i.i.i.i.i.i.i4527, i64 0, i32 2 + %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i4532 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.978", ptr %__first.addr.02.i.i.i.i.i.i.i4528, i64 0, i32 2 + %1726 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i4532, align 8, !alias.scope !1595, !noalias !1592 + store ptr %1726, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i4531, align 8, !alias.scope !1592, !noalias !1595 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i4528, i8 0, i64 24, i1 false), !alias.scope !1595, !noalias !1592 + %incdec.ptr.i.i.i.i.i.i.i4533 = getelementptr inbounds %"class.std::vector.972", ptr %__first.addr.02.i.i.i.i.i.i.i4528, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i4534 = getelementptr inbounds %"class.std::vector.972", ptr %__cur.03.i.i.i.i.i.i.i4527, i64 1 + %cmp.not.i.i.i.i.i.i.i4535 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i4533, %classes.val54.i.i3451 + br i1 %cmp.not.i.i.i.i.i.i.i4535, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i4526, !llvm.loop !1597 + +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i4526, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i4536 = phi ptr [ %cond.i12.i.i.i.i4524, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i4534, %for.body.i.i.i.i.i.i.i4526 ] + %incdec.ptr.i.i.i.i4537 = getelementptr inbounds %"class.std::vector.972", ptr %__cur.0.lcssa.i.i.i.i.i.i.i4536, i64 1 + %tobool.not.i.i.i.i.i4538 = icmp eq ptr %classes.val.i.i3450, null + br i1 %tobool.not.i.i.i.i.i4538, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i4539 + +if.then.i26.i.i.i.i4539: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i3450) #33 br label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i4534, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - store ptr %cond.i12.i.i.i.i4519, ptr %classes.i.i3404, align 8, !noalias !1588 - store ptr %incdec.ptr.i.i.i.i4532, ptr %1719, align 8, !noalias !1588 - %add.ptr19.i.i.i.i4535 = getelementptr inbounds %"class.std::vector.972", ptr %cond.i12.i.i.i.i4519, i64 %cond.i.i.i.i.i4515 - store ptr %add.ptr19.i.i.i.i4535, ptr %_M_end_of_storage.i.i.i3436, align 8, !noalias !1588 - br label %if.end23.i.i3470 - -if.end23.i.i3470: ; preds = %invoke.cont.i.i3454, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i3468 - %c.1.i.i3471 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i4531, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i3447, %if.then.i.i.i3468 ], [ %__begin05.sroa.0.043.i.i3455, %invoke.cont.i.i3454 ] - %_M_finish.i.i.i.i3472 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.978", ptr %c.1.i.i3471, i64 0, i32 1 - %1727 = load ptr, ptr %_M_finish.i.i.i.i3472, align 8 - %_M_end_of_storage.i.i.i.i3473 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.978", ptr %c.1.i.i3471, i64 0, i32 2 - %1728 = load ptr, ptr %_M_end_of_storage.i.i.i.i3473, align 8 - %cmp.not.i.i.i.i3474 = icmp eq ptr %1727, %1728 - br i1 %cmp.not.i.i.i.i3474, label %if.else.i.i.i.i4476, label %if.then.i.i.i.i3475 - -if.then.i.i.i.i3475: ; preds = %if.end23.i.i3470 - store ptr %__begin0.sroa.0.045.i.ptr.i3445, ptr %1727, align 8 - %ref.tmp24.sroa.3.0..sroa_idx.i.i3476 = getelementptr inbounds i8, ptr %1727, i64 8 - store i64 %i.046.i.i3443, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i3476, align 8 - %1729 = load ptr, ptr %_M_finish.i.i.i.i3472, align 8 - %incdec.ptr.i.i107.i.i3477 = getelementptr inbounds %struct.Info.979, ptr %1729, i64 1 - store ptr %incdec.ptr.i.i107.i.i3477, ptr %_M_finish.i.i.i.i3472, align 8 - br label %invoke.cont26.i.i3478 - -if.else.i.i.i.i4476: ; preds = %if.end23.i.i3470 - %this.val.i.i.i.i.i4477 = load ptr, ptr %c.1.i.i3471, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i4478 = ptrtoint ptr %1727 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i4479 = ptrtoint ptr %this.val.i.i.i.i.i4477 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i4480 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i4478, %sub.ptr.rhs.cast.i.i.i.i.i.i.i4479 - %cmp.i.i.i.i108.i.i4481 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i4480, 9223372036854775792 - br i1 %cmp.i.i.i.i108.i.i4481, label %if.then.i.i.i.i.invoke.i.i4502, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - -if.then.i.i.i.i.invoke.i.i4502: ; preds = %if.else.i.i.i.i4476, %if.else.i.i.i4504 +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i4539, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + store ptr %cond.i12.i.i.i.i4524, ptr %classes.i.i3408, align 8, !noalias !1588 + store ptr %incdec.ptr.i.i.i.i4537, ptr %1719, align 8, !noalias !1588 + %add.ptr19.i.i.i.i4540 = getelementptr inbounds %"class.std::vector.972", ptr %cond.i12.i.i.i.i4524, i64 %cond.i.i.i.i.i4520 + store ptr %add.ptr19.i.i.i.i4540, ptr %_M_end_of_storage.i.i.i3440, align 8, !noalias !1588 + br label %if.end23.i.i3474 + +if.end23.i.i3474: ; preds = %invoke.cont.i.i3458, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i3472 + %c.1.i.i3475 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i4536, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i3451, %if.then.i.i.i3472 ], [ %__begin05.sroa.0.043.i.i3459, %invoke.cont.i.i3458 ] + %_M_finish.i.i.i.i3476 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.978", ptr %c.1.i.i3475, i64 0, i32 1 + %1727 = load ptr, ptr %_M_finish.i.i.i.i3476, align 8 + %_M_end_of_storage.i.i.i.i3477 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.978", ptr %c.1.i.i3475, i64 0, i32 2 + %1728 = load ptr, ptr %_M_end_of_storage.i.i.i.i3477, align 8 + %cmp.not.i.i.i.i3478 = icmp eq ptr %1727, %1728 + br i1 %cmp.not.i.i.i.i3478, label %if.else.i.i.i.i4480, label %if.then.i.i.i.i3479 + +if.then.i.i.i.i3479: ; preds = %if.end23.i.i3474 + store ptr %__begin0.sroa.0.045.i.ptr.i3449, ptr %1727, align 8 + %ref.tmp24.sroa.3.0..sroa_idx.i.i3480 = getelementptr inbounds i8, ptr %1727, i64 8 + store i64 %i.046.i.i3447, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i3480, align 8 + %1729 = load ptr, ptr %_M_finish.i.i.i.i3476, align 8 + %incdec.ptr.i.i107.i.i3481 = getelementptr inbounds %struct.Info.979, ptr %1729, i64 1 + store ptr %incdec.ptr.i.i107.i.i3481, ptr %_M_finish.i.i.i.i3476, align 8 + br label %invoke.cont26.i.i3482 + +if.else.i.i.i.i4480: ; preds = %if.end23.i.i3474 + %this.val.i.i.i.i.i4481 = load ptr, ptr %c.1.i.i3475, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i4482 = ptrtoint ptr %1727 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i4483 = ptrtoint ptr %this.val.i.i.i.i.i4481 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i4484 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i4482, %sub.ptr.rhs.cast.i.i.i.i.i.i.i4483 + %cmp.i.i.i.i108.i.i4485 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i4484, 9223372036854775792 + br i1 %cmp.i.i.i.i108.i.i4485, label %if.then.i.i.i.i.invoke.i.i4507, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + +if.then.i.i.i.i.invoke.i.i4507: ; preds = %if.else.i.i.i.i4480, %if.else.i.i.i4509 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.117) #32 - to label %if.then.i.i.i.i.cont.i.i4503 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i4331 + to label %if.then.i.i.i.i.cont.i.i4508 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i4335 -if.then.i.i.i.i.cont.i.i4503: ; preds = %if.then.i.i.i.i.invoke.i.i4502 +if.then.i.i.i.i.cont.i.i4508: ; preds = %if.then.i.i.i.i.invoke.i.i4507 unreachable -_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i4476 - %sub.ptr.div.i.i.i.i.i.i.i4482 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i4480, 4 - %cmp.i.i.i.i.i.i.i4483 = icmp eq ptr %1727, %this.val.i.i.i.i.i4477 - %.sroa.speculated.i.i.i.i.i.i4484 = select i1 %cmp.i.i.i.i.i.i.i4483, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i4482 - %add.i.i.i.i.i.i4485 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i4484, %sub.ptr.div.i.i.i.i.i.i.i4482 - %cmp7.i.i.i.i.i.i4486 = icmp ult i64 %add.i.i.i.i.i.i4485, %sub.ptr.div.i.i.i.i.i.i.i4482 - %cmp9.i.i.i.i.i.i4487 = icmp ugt i64 %add.i.i.i.i.i.i4485, 576460752303423487 - %or.cond.i.i.i.i.i.i4488 = or i1 %cmp7.i.i.i.i.i.i4486, %cmp9.i.i.i.i.i.i4487 - %cond.i.i.i.i.i.i4489 = select i1 %or.cond.i.i.i.i.i.i4488, i64 576460752303423487, i64 %add.i.i.i.i.i.i4485 - %cmp.not.i.i.i.i.i.i4490 = icmp eq i64 %cond.i.i.i.i.i.i4489, 0 - br i1 %cmp.not.i.i.i.i.i.i4490, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i +_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i4480 + %sub.ptr.div.i.i.i.i.i.i.i4486 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i4484, 4 + %cmp.i.i.i.i.i.i.i4487 = icmp eq ptr %1727, %this.val.i.i.i.i.i4481 + %.sroa.speculated.i.i.i.i.i.i4488 = select i1 %cmp.i.i.i.i.i.i.i4487, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i4486 + %add.i.i.i.i.i.i4489 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i4488, %sub.ptr.div.i.i.i.i.i.i.i4486 + %cmp7.i.i.i.i.i.i4490 = icmp ult i64 %add.i.i.i.i.i.i4489, %sub.ptr.div.i.i.i.i.i.i.i4486 + %cmp9.i.i.i.i.i.i4491 = icmp ugt i64 %add.i.i.i.i.i.i4489, 576460752303423487 + %or.cond.i.i.i.i.i.i4492 = or i1 %cmp7.i.i.i.i.i.i4490, %cmp9.i.i.i.i.i.i4491 + %cond.i.i.i.i.i.i4493 = select i1 %or.cond.i.i.i.i.i.i4492, i64 576460752303423487, i64 %add.i.i.i.i.i.i4489 + %cmp.not.i.i.i.i.i.i4494 = icmp eq i64 %cond.i.i.i.i.i.i4493, 0 + br i1 %cmp.not.i.i.i.i.i.i4494, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %mul.i.i.i.i.i.i.i.i4491 = shl nuw nsw i64 %cond.i.i.i.i.i.i4489, 4 - %call5.i.i.i.i.i.i110.i.i4492 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i4491) #34 - to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i3483 + %mul.i.i.i.i.i.i.i.i4495 = shl nuw nsw i64 %cond.i.i.i.i.i.i4493, 4 + %call5.i.i.i.i.i.i110.i.i4496 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i4495) #34 + to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i3487 _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %cond.i12.i.i.i.i.i4493 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i4492, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] - %add.ptr.i.i.i.i.i4494 = getelementptr inbounds %struct.Info.979, ptr %cond.i12.i.i.i.i.i4493, i64 %sub.ptr.div.i.i.i.i.i.i.i4482 - store ptr %__begin0.sroa.0.045.i.ptr.i3445, ptr %add.ptr.i.i.i.i.i4494, align 8 - %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i4495 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i4494, i64 8 - store i64 %i.046.i.i3443, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i4495, align 8 - %cmp.i.i.i13.i.i.i.i.i4496 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i4482, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i4496, label %if.then.i.i.i14.i.i.i.i.i4501, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -if.then.i.i.i14.i.i.i.i.i4501: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i4493, ptr align 8 %this.val.i.i.i.i.i4477, i64 %sub.ptr.sub.i.i.i.i.i.i.i4480, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i4501, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i4497 = getelementptr inbounds %struct.Info.979, ptr %add.ptr.i.i.i.i.i4494, i64 1 - %tobool.not.i.i.i.i.i.i4498 = icmp eq ptr %this.val.i.i.i.i.i4477, null - br i1 %tobool.not.i.i.i.i.i.i4498, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i4499 - -if.then.i23.i.i.i.i.i4499: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i4477) #33 + %cond.i12.i.i.i.i.i4497 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i4496, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i4498 = getelementptr inbounds %struct.Info.979, ptr %cond.i12.i.i.i.i.i4497, i64 %sub.ptr.div.i.i.i.i.i.i.i4486 + store ptr %__begin0.sroa.0.045.i.ptr.i3449, ptr %add.ptr.i.i.i.i.i4498, align 8 + %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i4499 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i4498, i64 8 + store i64 %i.046.i.i3447, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i4499, align 8 + %cmp.i.i.i13.i.i.i.i.i4500 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i4484, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i4500, label %if.then.i.i.i14.i.i.i.i.i4506, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +if.then.i.i.i14.i.i.i.i.i4506: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i4497, ptr align 8 %this.val.i.i.i.i.i4481, i64 %sub.ptr.sub.i.i.i.i.i.i.i4484, i1 false) + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i4506, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i4501 = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i4497, i64 %sub.ptr.sub.i.i.i.i.i.i.i4484 + %incdec.ptr.i.i.i.i.i4502 = getelementptr inbounds %struct.Info.979, ptr %add.ptr.i.i.i.i.i.i.i.i4501, i64 1 + %tobool.not.i.i.i.i.i.i4503 = icmp eq ptr %this.val.i.i.i.i.i4481, null + br i1 %tobool.not.i.i.i.i.i.i4503, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i4504 + +if.then.i22.i.i.i.i.i4504: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i4481) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i4499, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - store ptr %cond.i12.i.i.i.i.i4493, ptr %c.1.i.i3471, align 8 - store ptr %incdec.ptr.i.i.i.i.i4497, ptr %_M_finish.i.i.i.i3472, align 8 - %add.ptr19.i.i.i.i.i4500 = getelementptr inbounds %struct.Info.979, ptr %cond.i12.i.i.i.i.i4493, i64 %cond.i.i.i.i.i.i4489 - store ptr %add.ptr19.i.i.i.i.i4500, ptr %_M_end_of_storage.i.i.i.i3473, align 8 - br label %invoke.cont26.i.i3478 - -invoke.cont26.i.i3478: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i3475 - %1730 = phi ptr [ %add.ptr.i.i.i.i.i4494, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %1729, %if.then.i.i.i.i3475 ] - %inc.i.i3479 = add nuw nsw i64 %i.046.i.i3443, 1 - %call28.val.i.i3480 = load ptr, ptr %1730, align 8 - %call28.val.val.i.i3481 = load ptr, ptr %call28.val.i.i3480, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i3406, ptr %call28.val.val.i.i3481) - to label %invoke.cont29.i.i3487 unwind label %lpad.loopexit.split-lp.loopexit.i.i3483 - -invoke.cont29.i.i3487: ; preds = %invoke.cont26.i.i3478 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i4504, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + store ptr %cond.i12.i.i.i.i.i4497, ptr %c.1.i.i3475, align 8 + store ptr %incdec.ptr.i.i.i.i.i4502, ptr %_M_finish.i.i.i.i3476, align 8 + %add.ptr19.i.i.i.i.i4505 = getelementptr inbounds %struct.Info.979, ptr %cond.i12.i.i.i.i.i4497, i64 %cond.i.i.i.i.i.i4493 + store ptr %add.ptr19.i.i.i.i.i4505, ptr %_M_end_of_storage.i.i.i.i3477, align 8 + br label %invoke.cont26.i.i3482 + +invoke.cont26.i.i3482: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i3479 + %1730 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i4501, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %1729, %if.then.i.i.i.i3479 ] + %inc.i.i3483 = add nuw nsw i64 %i.046.i.i3447, 1 + %call28.val.i.i3484 = load ptr, ptr %1730, align 8 + %call28.val.val.i.i3485 = load ptr, ptr %call28.val.i.i3484, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i3410, ptr %call28.val.val.i.i3485) + to label %invoke.cont29.i.i3491 unwind label %lpad.loopexit.split-lp.loopexit.i.i3487 + +invoke.cont29.i.i3491: ; preds = %invoke.cont26.i.i3482 call void @llvm.experimental.noalias.scope.decl(metadata !1598) - %1731 = load i8, ptr %moved_from_.i.i.i3437, align 8, !noalias !1601 + %1731 = load i8, ptr %moved_from_.i.i.i3441, align 8, !noalias !1601 %1732 = and i8 %1731, 1 - %tobool.not.i.i.i3488 = icmp eq i8 %1732, 0 - br i1 %tobool.not.i.i.i3488, label %if.end.i.i.i4472, label %if.then.i112.i.i3489 - -if.then.i112.i.i3489: ; preds = %invoke.cont29.i.i3487 - invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3405, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) - to label %return.sink.split.i.i.i3491 unwind label %lpad30.i.i3490 - -if.end.i.i.i4472: ; preds = %invoke.cont29.i.i3487 - %1733 = load ptr, ptr %error_.i.i.i3439, align 8, !noalias !1601 - %_M_engaged.i.i.i.i.i4473 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %1733, i64 0, i32 1 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i3438, align 8, !alias.scope !1598, !noalias !1588 - %1734 = load i8, ptr %_M_engaged.i.i.i.i.i4473, align 8, !noalias !1598 + %tobool.not.i.i.i3492 = icmp eq i8 %1732, 0 + br i1 %tobool.not.i.i.i3492, label %if.end.i.i.i4476, label %if.then.i112.i.i3493 + +if.then.i112.i.i3493: ; preds = %invoke.cont29.i.i3491 + invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3409, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) + to label %return.sink.split.i.i.i3495 unwind label %lpad30.i.i3494 + +if.end.i.i.i4476: ; preds = %invoke.cont29.i.i3491 + %1733 = load ptr, ptr %error_.i.i.i3443, align 8, !noalias !1601 + %_M_engaged.i.i.i.i.i4477 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %1733, i64 0, i32 1 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i3442, align 8, !alias.scope !1598, !noalias !1588 + %1734 = load i8, ptr %_M_engaged.i.i.i.i.i4477, align 8, !noalias !1598 %1735 = and i8 %1734, 1 - %tobool.not.i.i.i.i.i.i.i.i4474 = icmp eq i8 %1735, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i4474, label %invoke.cont31.i.i3492, label %if.then.i.i.i.i.i.i.i.i4475 - -if.then.i.i.i.i.i.i.i.i4475: ; preds = %if.end.i.i.i4472 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3405, ptr noundef nonnull align 8 dereferenceable(32) %1733) - to label %return.sink.split.i.i.i3491 unwind label %lpad30.i.i3490 - -return.sink.split.i.i.i3491: ; preds = %if.then.i.i.i.i.i.i.i.i4475, %if.then.i112.i.i3489 - store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i3438, align 8, !alias.scope !1598, !noalias !1588 - br label %invoke.cont31.i.i3492 - -invoke.cont31.i.i3492: ; preds = %return.sink.split.i.i.i3491, %if.end.i.i.i4472 - %1736 = load ptr, ptr %_M_refcount.i.i.i.i.i3440, align 8, !noalias !1588 - %cmp.not.i.i.i.i115.i.i3493 = icmp eq ptr %1736, null - br i1 %cmp.not.i.i.i.i115.i.i3493, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504, label %if.then.i.i.i.i116.i.i3494 - -if.then.i.i.i.i116.i.i3494: ; preds = %invoke.cont31.i.i3492 - %_M_use_count.i.i.i.i.i.i.i3495 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1736, i64 0, i32 1 - %1737 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i3495 acquire, align 8 - %cmp.i.i.i.i.i117.i.i3496 = icmp eq i64 %1737, 4294967297 + %tobool.not.i.i.i.i.i.i.i.i4478 = icmp eq i8 %1735, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i4478, label %invoke.cont31.i.i3496, label %if.then.i.i.i.i.i.i.i.i4479 + +if.then.i.i.i.i.i.i.i.i4479: ; preds = %if.end.i.i.i4476 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3409, ptr noundef nonnull align 8 dereferenceable(32) %1733) + to label %return.sink.split.i.i.i3495 unwind label %lpad30.i.i3494 + +return.sink.split.i.i.i3495: ; preds = %if.then.i.i.i.i.i.i.i.i4479, %if.then.i112.i.i3493 + store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i3442, align 8, !alias.scope !1598, !noalias !1588 + br label %invoke.cont31.i.i3496 + +invoke.cont31.i.i3496: ; preds = %return.sink.split.i.i.i3495, %if.end.i.i.i4476 + %1736 = load ptr, ptr %_M_refcount.i.i.i.i.i3444, align 8, !noalias !1588 + %cmp.not.i.i.i.i115.i.i3497 = icmp eq ptr %1736, null + br i1 %cmp.not.i.i.i.i115.i.i3497, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508, label %if.then.i.i.i.i116.i.i3498 + +if.then.i.i.i.i116.i.i3498: ; preds = %invoke.cont31.i.i3496 + %_M_use_count.i.i.i.i.i.i.i3499 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1736, i64 0, i32 1 + %1737 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i3499 acquire, align 8 + %cmp.i.i.i.i.i117.i.i3500 = icmp eq i64 %1737, 4294967297 %1738 = trunc i64 %1737 to i32 - br i1 %cmp.i.i.i.i.i117.i.i3496, label %if.then.i.i.i.i.i.i.i4468, label %if.end.i.i.i.i.i.i.i3497 - -if.then.i.i.i.i.i.i.i4468: ; preds = %if.then.i.i.i.i116.i.i3494 - store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i3495, align 8 - %_M_weak_count.i.i.i.i.i.i.i4469 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1736, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i4469, align 4 - %vtable.i.i.i.i.i.i.i4470 = load ptr, ptr %1736, align 8 - %vfn.i.i.i.i.i.i.i4471 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i4470, i64 2 - %1739 = load ptr, ptr %vfn.i.i.i.i.i.i.i4471, align 8 + br i1 %cmp.i.i.i.i.i117.i.i3500, label %if.then.i.i.i.i.i.i.i4472, label %if.end.i.i.i.i.i.i.i3501 + +if.then.i.i.i.i.i.i.i4472: ; preds = %if.then.i.i.i.i116.i.i3498 + store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i3499, align 8 + %_M_weak_count.i.i.i.i.i.i.i4473 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1736, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i4473, align 4 + %vtable.i.i.i.i.i.i.i4474 = load ptr, ptr %1736, align 8 + %vfn.i.i.i.i.i.i.i4475 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i4474, i64 2 + %1739 = load ptr, ptr %vfn.i.i.i.i.i.i.i4475, align 8 call void %1739(ptr noundef nonnull align 8 dereferenceable(16) %1736) #30 - br label %if.end8.sink.split.i.i.i.i.i.i.i4463 + br label %if.end8.sink.split.i.i.i.i.i.i.i4467 -if.end.i.i.i.i.i.i.i3497: ; preds = %if.then.i.i.i.i116.i.i3494 +if.end.i.i.i.i.i.i.i3501: ; preds = %if.then.i.i.i.i116.i.i3498 %1740 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i3498 = icmp eq i8 %1740, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i3498, label %if.else.i.i.i.i.i.i.i.i4467, label %if.then.i.i.i.i.i.i118.i.i3499 - -if.then.i.i.i.i.i.i118.i.i3499: ; preds = %if.end.i.i.i.i.i.i.i3497 - %add.i.i.i.i.i.i.i.i3500 = add nsw i32 %1738, -1 - store i32 %add.i.i.i.i.i.i.i.i3500, ptr %_M_use_count.i.i.i.i.i.i.i3495, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3501 - -if.else.i.i.i.i.i.i.i.i4467: ; preds = %if.end.i.i.i.i.i.i.i3497 - %1741 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i3495, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3501 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3501: ; preds = %if.else.i.i.i.i.i.i.i.i4467, %if.then.i.i.i.i.i.i118.i.i3499 - %retval.i.0.i.i.i.i.i.i.i3502 = phi i32 [ %1738, %if.then.i.i.i.i.i.i118.i.i3499 ], [ %1741, %if.else.i.i.i.i.i.i.i.i4467 ] - %cmp6.i.i.i.i.i.i.i3503 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i3502, 1 - br i1 %cmp6.i.i.i.i.i.i.i3503, label %if.then7.i.i.i.i.i.i.i4453, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504 - -if.then7.i.i.i.i.i.i.i4453: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3501 - %vtable.i.i.i.i.i.i.i.i.i4454 = load ptr, ptr %1736, align 8 - %vfn.i.i.i.i.i.i.i.i.i4455 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i4454, i64 2 - %1742 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i4455, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i3502 = icmp eq i8 %1740, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i3502, label %if.else.i.i.i.i.i.i.i.i4471, label %if.then.i.i.i.i.i.i118.i.i3503 + +if.then.i.i.i.i.i.i118.i.i3503: ; preds = %if.end.i.i.i.i.i.i.i3501 + %add.i.i.i.i.i.i.i.i3504 = add nsw i32 %1738, -1 + store i32 %add.i.i.i.i.i.i.i.i3504, ptr %_M_use_count.i.i.i.i.i.i.i3499, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3505 + +if.else.i.i.i.i.i.i.i.i4471: ; preds = %if.end.i.i.i.i.i.i.i3501 + %1741 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i3499, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3505 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3505: ; preds = %if.else.i.i.i.i.i.i.i.i4471, %if.then.i.i.i.i.i.i118.i.i3503 + %retval.i.0.i.i.i.i.i.i.i3506 = phi i32 [ %1738, %if.then.i.i.i.i.i.i118.i.i3503 ], [ %1741, %if.else.i.i.i.i.i.i.i.i4471 ] + %cmp6.i.i.i.i.i.i.i3507 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i3506, 1 + br i1 %cmp6.i.i.i.i.i.i.i3507, label %if.then7.i.i.i.i.i.i.i4457, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508 + +if.then7.i.i.i.i.i.i.i4457: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3505 + %vtable.i.i.i.i.i.i.i.i.i4458 = load ptr, ptr %1736, align 8 + %vfn.i.i.i.i.i.i.i.i.i4459 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i4458, i64 2 + %1742 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i4459, align 8 call void %1742(ptr noundef nonnull align 8 dereferenceable(16) %1736) #30 - %_M_weak_count.i.i.i.i.i.i.i.i.i4456 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1736, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i.i.i4460 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1736, i64 0, i32 2 %1743 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i.i.i4457 = icmp eq i8 %1743, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i4457, label %if.else.i.i.i.i.i.i.i.i.i.i4466, label %if.then.i.i.i.i.i.i.i.i.i.i4458 - -if.then.i.i.i.i.i.i.i.i.i.i4458: ; preds = %if.then7.i.i.i.i.i.i.i4453 - %1744 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i4456, align 4 - %add.i.i.i.i.i.i.i.i.i.i4459 = add nsw i32 %1744, -1 - store i32 %add.i.i.i.i.i.i.i.i.i.i4459, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i4456, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4460 - -if.else.i.i.i.i.i.i.i.i.i.i4466: ; preds = %if.then7.i.i.i.i.i.i.i4453 - %1745 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i4456, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4460 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4460: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i4466, %if.then.i.i.i.i.i.i.i.i.i.i4458 - %retval.i.0.i.i.i.i.i.i.i.i.i4461 = phi i32 [ %1744, %if.then.i.i.i.i.i.i.i.i.i.i4458 ], [ %1745, %if.else.i.i.i.i.i.i.i.i.i.i4466 ] - %cmp.i.i.i.i.i.i.i.i.i4462 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i4461, 1 - br i1 %cmp.i.i.i.i.i.i.i.i.i4462, label %if.end8.sink.split.i.i.i.i.i.i.i4463, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504 - -if.end8.sink.split.i.i.i.i.i.i.i4463: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4460, %if.then.i.i.i.i.i.i.i4468 - %vtable2.i.i.i.i.i.i.i.i.i4464 = load ptr, ptr %1736, align 8 - %vfn3.i.i.i.i.i.i.i.i.i4465 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i4464, i64 3 - %1746 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i4465, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i.i.i4461 = icmp eq i8 %1743, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i4461, label %if.else.i.i.i.i.i.i.i.i.i.i4470, label %if.then.i.i.i.i.i.i.i.i.i.i4462 + +if.then.i.i.i.i.i.i.i.i.i.i4462: ; preds = %if.then7.i.i.i.i.i.i.i4457 + %1744 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i4460, align 4 + %add.i.i.i.i.i.i.i.i.i.i4463 = add nsw i32 %1744, -1 + store i32 %add.i.i.i.i.i.i.i.i.i.i4463, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i4460, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4464 + +if.else.i.i.i.i.i.i.i.i.i.i4470: ; preds = %if.then7.i.i.i.i.i.i.i4457 + %1745 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i4460, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4464 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4464: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i4470, %if.then.i.i.i.i.i.i.i.i.i.i4462 + %retval.i.0.i.i.i.i.i.i.i.i.i4465 = phi i32 [ %1744, %if.then.i.i.i.i.i.i.i.i.i.i4462 ], [ %1745, %if.else.i.i.i.i.i.i.i.i.i.i4470 ] + %cmp.i.i.i.i.i.i.i.i.i4466 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i4465, 1 + br i1 %cmp.i.i.i.i.i.i.i.i.i4466, label %if.end8.sink.split.i.i.i.i.i.i.i4467, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508 + +if.end8.sink.split.i.i.i.i.i.i.i4467: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4464, %if.then.i.i.i.i.i.i.i4472 + %vtable2.i.i.i.i.i.i.i.i.i4468 = load ptr, ptr %1736, align 8 + %vfn3.i.i.i.i.i.i.i.i.i4469 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i4468, i64 3 + %1746 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i4469, align 8 call void %1746(ptr noundef nonnull align 8 dereferenceable(16) %1736) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i4463, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4460, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3501, %invoke.cont31.i.i3492 - %1747 = load ptr, ptr %ref.tmp27.i.i3406, align 8, !noalias !1588 - %1748 = load ptr, ptr %_M_finish.i.i119.i.i3441, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i.i.i3505 = icmp eq ptr %1747, %1748 - br i1 %cmp.not3.i.i.i.i.i.i.i3505, label %invoke.cont.i.i.i.i3512, label %for.body.i.i.i.i.i120.i.i3506 - -for.body.i.i.i.i.i120.i.i3506: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504, %for.body.i.i.i.i.i120.i.i3506 - %__first.addr.04.i.i.i.i.i.i.i3507 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i3508, %for.body.i.i.i.i.i120.i.i3506 ], [ %1747, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i3507) #30 - %incdec.ptr.i.i.i.i.i121.i.i3508 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i3507, i64 1 - %cmp.not.i.i.i.i.i122.i.i3509 = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i3508, %1748 - br i1 %cmp.not.i.i.i.i.i122.i.i3509, label %invoke.contthread-pre-split.i.i.i.i3510, label %for.body.i.i.i.i.i120.i.i3506, !llvm.loop !8 - -invoke.contthread-pre-split.i.i.i.i3510: ; preds = %for.body.i.i.i.i.i120.i.i3506 - %.pr.i.i.i.i3511 = load ptr, ptr %ref.tmp27.i.i3406, align 8, !noalias !1588 - br label %invoke.cont.i.i.i.i3512 - -invoke.cont.i.i.i.i3512: ; preds = %invoke.contthread-pre-split.i.i.i.i3510, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504 - %1749 = phi ptr [ %.pr.i.i.i.i3511, %invoke.contthread-pre-split.i.i.i.i3510 ], [ %1747, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3504 ] - %tobool.not.i.i.i.i123.i.i3513 = icmp eq ptr %1749, null - br i1 %tobool.not.i.i.i.i123.i.i3513, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3515, label %if.then.i.i.i1.i.i.i3514 - -if.then.i.i.i1.i.i.i3514: ; preds = %invoke.cont.i.i.i.i3512 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i4467, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i4464, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i3505, %invoke.cont31.i.i3496 + %1747 = load ptr, ptr %ref.tmp27.i.i3410, align 8, !noalias !1588 + %1748 = load ptr, ptr %_M_finish.i.i119.i.i3445, align 8, !noalias !1588 + %cmp.not3.i.i.i.i.i.i.i3509 = icmp eq ptr %1747, %1748 + br i1 %cmp.not3.i.i.i.i.i.i.i3509, label %invoke.cont.i.i.i.i3516, label %for.body.i.i.i.i.i120.i.i3510 + +for.body.i.i.i.i.i120.i.i3510: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508, %for.body.i.i.i.i.i120.i.i3510 + %__first.addr.04.i.i.i.i.i.i.i3511 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i3512, %for.body.i.i.i.i.i120.i.i3510 ], [ %1747, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i3511) #30 + %incdec.ptr.i.i.i.i.i121.i.i3512 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i3511, i64 1 + %cmp.not.i.i.i.i.i122.i.i3513 = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i3512, %1748 + br i1 %cmp.not.i.i.i.i.i122.i.i3513, label %invoke.contthread-pre-split.i.i.i.i3514, label %for.body.i.i.i.i.i120.i.i3510, !llvm.loop !8 + +invoke.contthread-pre-split.i.i.i.i3514: ; preds = %for.body.i.i.i.i.i120.i.i3510 + %.pr.i.i.i.i3515 = load ptr, ptr %ref.tmp27.i.i3410, align 8, !noalias !1588 + br label %invoke.cont.i.i.i.i3516 + +invoke.cont.i.i.i.i3516: ; preds = %invoke.contthread-pre-split.i.i.i.i3514, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508 + %1749 = phi ptr [ %.pr.i.i.i.i3515, %invoke.contthread-pre-split.i.i.i.i3514 ], [ %1747, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i3508 ] + %tobool.not.i.i.i.i123.i.i3517 = icmp eq ptr %1749, null + br i1 %tobool.not.i.i.i.i123.i.i3517, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3519, label %if.then.i.i.i1.i.i.i3518 + +if.then.i.i.i1.i.i.i3518: ; preds = %invoke.cont.i.i.i.i3516 call void @_ZdlPv(ptr noundef nonnull %1749) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3515 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3519 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3515: ; preds = %if.then.i.i.i1.i.i.i3514, %invoke.cont.i.i.i.i3512 - %1750 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i3438, align 8, !noalias !1588 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3519: ; preds = %if.then.i.i.i1.i.i.i3518, %invoke.cont.i.i.i.i3516 + %1750 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i3442, align 8, !noalias !1588 %1751 = and i8 %1750, 1 - %tobool.i.i.not.i.i3516 = icmp eq i8 %1751, 0 - br i1 %tobool.i.i.not.i.i3516, label %for.cond.i.i3561, label %if.then33.i.i3517 - -if.then33.i.i3517: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3515 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i3407) - to label %invoke.cont36.i.i3523 unwind label %lpad35.i.i3518 - -invoke.cont36.i.i3523: ; preds = %if.then33.i.i3517 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i3403), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i3403) - to label %.noexc126.i.i3527 unwind label %lpad38.i.i3524 - -.noexc126.i.i3527: ; preds = %invoke.cont36.i.i3523 - %1752 = load ptr, ptr %ref.tmp.i.i.i3403, align 8, !noalias !1588 - %add.ptr.i.i124.i.i3528 = getelementptr inbounds i8, ptr %1752, i64 16 - %call2.i1.i.i.i3529 = 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) %add.ptr.i.i124.i.i3528, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3405) - to label %invoke.cont.i.i.i3535 unwind label %lpad.i.i.i3530 - -invoke.cont.i.i.i3535: ; preds = %.noexc126.i.i3527 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i3407, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i3403) - to label %invoke.cont2.i.i.i3536 unwind label %lpad.i.i.i3530 - -invoke.cont2.i.i.i3536: ; preds = %invoke.cont.i.i.i3535 - %1753 = load ptr, ptr %ref.tmp.i.i.i3403, align 8, !noalias !1588 - %cmp.not.i.i.i125.i.i3537 = icmp eq ptr %1753, null - br i1 %cmp.not.i.i.i125.i.i3537, label %invoke.cont39.i.i3541, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i3538 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i3538: ; preds = %invoke.cont2.i.i.i3536 - %vtable.i.i.i.i.i.i3539 = load ptr, ptr %1753, align 8 - %vfn.i.i.i.i.i.i3540 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i3539, i64 1 - %1754 = load ptr, ptr %vfn.i.i.i.i.i.i3540, align 8 + %tobool.i.i.not.i.i3520 = icmp eq i8 %1751, 0 + br i1 %tobool.i.i.not.i.i3520, label %for.cond.i.i3565, label %if.then33.i.i3521 + +if.then33.i.i3521: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i3519 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i3411) + to label %invoke.cont36.i.i3527 unwind label %lpad35.i.i3522 + +invoke.cont36.i.i3527: ; preds = %if.then33.i.i3521 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i3407), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i3407) + to label %.noexc126.i.i3531 unwind label %lpad38.i.i3528 + +.noexc126.i.i3531: ; preds = %invoke.cont36.i.i3527 + %1752 = load ptr, ptr %ref.tmp.i.i.i3407, align 8, !noalias !1588 + %add.ptr.i.i124.i.i3532 = getelementptr inbounds i8, ptr %1752, i64 16 + %call2.i1.i.i.i3533 = 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) %add.ptr.i.i124.i.i3532, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3409) + to label %invoke.cont.i.i.i3539 unwind label %lpad.i.i.i3534 + +invoke.cont.i.i.i3539: ; preds = %.noexc126.i.i3531 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i3411, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i3407) + to label %invoke.cont2.i.i.i3540 unwind label %lpad.i.i.i3534 + +invoke.cont2.i.i.i3540: ; preds = %invoke.cont.i.i.i3539 + %1753 = load ptr, ptr %ref.tmp.i.i.i3407, align 8, !noalias !1588 + %cmp.not.i.i.i125.i.i3541 = icmp eq ptr %1753, null + br i1 %cmp.not.i.i.i125.i.i3541, label %invoke.cont39.i.i3545, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i3542 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i3542: ; preds = %invoke.cont2.i.i.i3540 + %vtable.i.i.i.i.i.i3543 = load ptr, ptr %1753, align 8 + %vfn.i.i.i.i.i.i3544 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i3543, i64 1 + %1754 = load ptr, ptr %vfn.i.i.i.i.i.i3544, align 8 call void %1754(ptr noundef nonnull align 8 dereferenceable(128) %1753) #30 - br label %invoke.cont39.i.i3541 + br label %invoke.cont39.i.i3545 -lpad.i.i.i3530: ; preds = %invoke.cont.i.i.i3535, %.noexc126.i.i3527 +lpad.i.i.i3534: ; preds = %invoke.cont.i.i.i3539, %.noexc126.i.i3531 %1755 = landingpad { ptr, i32 } cleanup - %1756 = load ptr, ptr %ref.tmp.i.i.i3403, align 8, !noalias !1588 - %cmp.not.i.i2.i.i.i3531 = icmp eq ptr %1756, null - br i1 %cmp.not.i.i2.i.i.i3531, label %lpad38.body.i.i3525, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i3532 + %1756 = load ptr, ptr %ref.tmp.i.i.i3407, align 8, !noalias !1588 + %cmp.not.i.i2.i.i.i3535 = icmp eq ptr %1756, null + br i1 %cmp.not.i.i2.i.i.i3535, label %lpad38.body.i.i3529, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i3536 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i3532: ; preds = %lpad.i.i.i3530 - %vtable.i.i.i4.i.i.i3533 = load ptr, ptr %1756, align 8 - %vfn.i.i.i5.i.i.i3534 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i3533, i64 1 - %1757 = load ptr, ptr %vfn.i.i.i5.i.i.i3534, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i3536: ; preds = %lpad.i.i.i3534 + %vtable.i.i.i4.i.i.i3537 = load ptr, ptr %1756, align 8 + %vfn.i.i.i5.i.i.i3538 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i3537, i64 1 + %1757 = load ptr, ptr %vfn.i.i.i5.i.i.i3538, align 8 call void %1757(ptr noundef nonnull align 8 dereferenceable(128) %1756) #30 - br label %lpad38.body.i.i3525 + br label %lpad38.body.i.i3529 -invoke.cont39.i.i3541: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i3538, %invoke.cont2.i.i.i3536 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i3403), !noalias !1588 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i3407) - to label %invoke.cont41.i.i3542 unwind label %lpad38.i.i3524 +invoke.cont39.i.i3545: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i3542, %invoke.cont2.i.i.i3540 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i3407), !noalias !1588 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i3411) + to label %invoke.cont41.i.i3546 unwind label %lpad38.i.i3528 -invoke.cont41.i.i3542: ; preds = %invoke.cont39.i.i3541 - %message_.i.i.i3543 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i3407, i64 0, i32 1 - %1758 = load ptr, ptr %message_.i.i.i3543, align 8, !noalias !1588 - %cmp.not.i.i127.i.i3544 = icmp eq ptr %1758, null - br i1 %cmp.not.i.i127.i.i3544, label %_ZN7testing15AssertionResultD2Ev.exit.i.i3546, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i3545 +invoke.cont41.i.i3546: ; preds = %invoke.cont39.i.i3545 + %message_.i.i.i3547 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i3411, i64 0, i32 1 + %1758 = load ptr, ptr %message_.i.i.i3547, align 8, !noalias !1588 + %cmp.not.i.i127.i.i3548 = icmp eq ptr %1758, null + br i1 %cmp.not.i.i127.i.i3548, label %_ZN7testing15AssertionResultD2Ev.exit.i.i3550, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i3549 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i3545: ; preds = %invoke.cont41.i.i3542 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i3549: ; preds = %invoke.cont41.i.i3546 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1758) #30 call void @_ZdlPv(ptr noundef nonnull %1758) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit.i.i3546 + br label %_ZN7testing15AssertionResultD2Ev.exit.i.i3550 -_ZN7testing15AssertionResultD2Ev.exit.i.i3546: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i3545, %invoke.cont41.i.i3542 - store ptr null, ptr %message_.i.i.i3543, align 8, !noalias !1588 - %1759 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i3438, align 8, !noalias !1588 +_ZN7testing15AssertionResultD2Ev.exit.i.i3550: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i3549, %invoke.cont41.i.i3546 + store ptr null, ptr %message_.i.i.i3547, align 8, !noalias !1588 + %1759 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i3442, align 8, !noalias !1588 %1760 = and i8 %1759, 1 - %tobool.not.i.i.i.i128.i.i3547 = icmp eq i8 %1760, 0 - br i1 %tobool.not.i.i.i.i128.i.i3547, label %cleanup257.i.i3549, label %if.then.i.i.i.i129.i.i3548 + %tobool.not.i.i.i.i128.i.i3551 = icmp eq i8 %1760, 0 + br i1 %tobool.not.i.i.i.i128.i.i3551, label %cleanup257.i.i3553, label %if.then.i.i.i.i129.i.i3552 -if.then.i.i.i.i129.i.i3548: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i3546 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i3438, align 8, !noalias !1588 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3405) #30 - br label %cleanup257.i.i3549 +if.then.i.i.i.i129.i.i3552: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i3550 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i3442, align 8, !noalias !1588 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3409) #30 + br label %cleanup257.i.i3553 -lpad30.i.i3490: ; preds = %if.then.i.i.i.i.i.i.i.i4475, %if.then.i112.i.i3489 +lpad30.i.i3494: ; preds = %if.then.i.i.i.i.i.i.i.i4479, %if.then.i112.i.i3493 %1761 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i3406) #30 - br label %ehcleanup258.i.i3485 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i3410) #30 + br label %ehcleanup258.i.i3489 -lpad35.i.i3518: ; preds = %if.then33.i.i3517 +lpad35.i.i3522: ; preds = %if.then33.i.i3521 %1762 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i.i3519 + br label %ehcleanup.i.i3523 -lpad38.i.i3524: ; preds = %invoke.cont39.i.i3541, %invoke.cont36.i.i3523 +lpad38.i.i3528: ; preds = %invoke.cont39.i.i3545, %invoke.cont36.i.i3527 %1763 = landingpad { ptr, i32 } cleanup - br label %lpad38.body.i.i3525 + br label %lpad38.body.i.i3529 -lpad38.body.i.i3525: ; preds = %lpad38.i.i3524, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i3532, %lpad.i.i.i3530 - %eh.lpad-body.i.i3526 = phi { ptr, i32 } [ %1763, %lpad38.i.i3524 ], [ %1755, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i3532 ], [ %1755, %lpad.i.i.i3530 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i3407) #30 - br label %ehcleanup.i.i3519 +lpad38.body.i.i3529: ; preds = %lpad38.i.i3528, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i3536, %lpad.i.i.i3534 + %eh.lpad-body.i.i3530 = phi { ptr, i32 } [ %1763, %lpad38.i.i3528 ], [ %1755, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i3536 ], [ %1755, %lpad.i.i.i3534 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i3411) #30 + br label %ehcleanup.i.i3523 -ehcleanup.i.i3519: ; preds = %lpad38.body.i.i3525, %lpad35.i.i3518 - %.pn46.i.i3520 = phi { ptr, i32 } [ %eh.lpad-body.i.i3526, %lpad38.body.i.i3525 ], [ %1762, %lpad35.i.i3518 ] - %1764 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i3438, align 8, !noalias !1588 +ehcleanup.i.i3523: ; preds = %lpad38.body.i.i3529, %lpad35.i.i3522 + %.pn46.i.i3524 = phi { ptr, i32 } [ %eh.lpad-body.i.i3530, %lpad38.body.i.i3529 ], [ %1762, %lpad35.i.i3522 ] + %1764 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i3442, align 8, !noalias !1588 %1765 = and i8 %1764, 1 - %tobool.not.i.i.i.i136.i.i3521 = icmp eq i8 %1765, 0 - br i1 %tobool.not.i.i.i.i136.i.i3521, label %ehcleanup258.i.i3485, label %if.then.i.i.i.i137.i.i3522 - -if.then.i.i.i.i137.i.i3522: ; preds = %ehcleanup.i.i3519 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i3438, align 8, !noalias !1588 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3405) #30 - br label %ehcleanup258.i.i3485 - -for.end45.i.i3564: ; preds = %for.cond.i.i3561 - %classes.val62.pre.i.i3565 = load ptr, ptr %classes.i.i3404, align 8, !noalias !1588 - %classes.val63.pre.i.i3566 = load ptr, ptr %1719, align 8, !noalias !1588 - %sub.ptr.lhs.cast.i.i.i3567 = ptrtoint ptr %classes.val63.pre.i.i3566 to i64 - %sub.ptr.rhs.cast.i.i.i3568 = ptrtoint ptr %classes.val62.pre.i.i3565 to i64 - %sub.ptr.sub.i.i.i3569 = sub i64 %sub.ptr.lhs.cast.i.i.i3567, %sub.ptr.rhs.cast.i.i.i3568 - %sub.ptr.div.i.i.i3570 = sdiv exact i64 %sub.ptr.sub.i.i.i3569, 24 - %cmp47.i.i3571 = icmp ult i64 %sub.ptr.div.i.i.i3570, 2 - br i1 %cmp47.i.i3571, label %if.then48.i.i4428, label %for.cond64.preheader.i.i3572 - -for.cond64.preheader.i.i3572: ; preds = %for.end45.i.i3564 - %cmp.i160.not51.i.i3573 = icmp eq ptr %classes.val62.pre.i.i3565, %classes.val63.pre.i.i3566 - br i1 %cmp.i160.not51.i.i3573, label %for.end255.i.i4330, label %for.body66.lr.ph.i.i3574 - -for.body66.lr.ph.i.i3574: ; preds = %for.cond64.preheader.i.i3572 - %_M_refcount.i.i.i163.i.i3575 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i3411, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i176.i.i3576 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i3411, i64 0, i32 1 - %_M_refcount.i.i.i207.i.i3577 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i3410, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i220.i.i3578 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i3410, i64 0, i32 1 - %_M_refcount.i.i.i311.i.i3579 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i3414, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i324.i.i3580 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i3414, i64 0, i32 1 - %_M_refcount.i.i.i735.i.i3581 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i3418, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i748.i.i3582 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i3418, i64 0, i32 1 - %_M_refcount.i.i.i824.i.i3583 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i3409, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i837.i.i3584 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i3409, i64 0, i32 1 - br label %for.body66.i.i3585 - -if.then48.i.i4428: ; preds = %for.end45.i.i3564 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i3408) - to label %invoke.cont50.i.i4429 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i4331 - -invoke.cont50.i.i4429: ; preds = %if.then48.i.i4428 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i3402), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i3402) - to label %.noexc154.i.i4433 unwind label %lpad51.i.i4430 - -.noexc154.i.i4433: ; preds = %invoke.cont50.i.i4429 - %1766 = load ptr, ptr %ref.tmp.i139.i.i3402, align 8, !noalias !1588 - %add.ptr.i.i140.i.i4434 = getelementptr inbounds i8, ptr %1766, i64 16 - %call2.i1.i141.i.i4435 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i4434, ptr noundef nonnull @.str.106) - to label %invoke.cont.i148.i.i4441 unwind label %lpad.i142.i.i4436 - -invoke.cont.i148.i.i4441: ; preds = %.noexc154.i.i4433 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i3408, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i3402) - to label %invoke.cont2.i149.i.i4442 unwind label %lpad.i142.i.i4436 - -invoke.cont2.i149.i.i4442: ; preds = %invoke.cont.i148.i.i4441 - %1767 = load ptr, ptr %ref.tmp.i139.i.i3402, align 8, !noalias !1588 - %cmp.not.i.i.i150.i.i4443 = icmp eq ptr %1767, null - br i1 %cmp.not.i.i.i150.i.i4443, label %invoke.cont52.i.i4447, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i4444 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i4444: ; preds = %invoke.cont2.i149.i.i4442 - %vtable.i.i.i.i152.i.i4445 = load ptr, ptr %1767, align 8 - %vfn.i.i.i.i153.i.i4446 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i4445, i64 1 - %1768 = load ptr, ptr %vfn.i.i.i.i153.i.i4446, align 8 + %tobool.not.i.i.i.i136.i.i3525 = icmp eq i8 %1765, 0 + br i1 %tobool.not.i.i.i.i136.i.i3525, label %ehcleanup258.i.i3489, label %if.then.i.i.i.i137.i.i3526 + +if.then.i.i.i.i137.i.i3526: ; preds = %ehcleanup.i.i3523 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i3442, align 8, !noalias !1588 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i3409) #30 + br label %ehcleanup258.i.i3489 + +for.end45.i.i3568: ; preds = %for.cond.i.i3565 + %classes.val62.pre.i.i3569 = load ptr, ptr %classes.i.i3408, align 8, !noalias !1588 + %classes.val63.pre.i.i3570 = load ptr, ptr %1719, align 8, !noalias !1588 + %sub.ptr.lhs.cast.i.i.i3571 = ptrtoint ptr %classes.val63.pre.i.i3570 to i64 + %sub.ptr.rhs.cast.i.i.i3572 = ptrtoint ptr %classes.val62.pre.i.i3569 to i64 + %sub.ptr.sub.i.i.i3573 = sub i64 %sub.ptr.lhs.cast.i.i.i3571, %sub.ptr.rhs.cast.i.i.i3572 + %sub.ptr.div.i.i.i3574 = sdiv exact i64 %sub.ptr.sub.i.i.i3573, 24 + %cmp47.i.i3575 = icmp ult i64 %sub.ptr.div.i.i.i3574, 2 + br i1 %cmp47.i.i3575, label %if.then48.i.i4432, label %for.cond64.preheader.i.i3576 + +for.cond64.preheader.i.i3576: ; preds = %for.end45.i.i3568 + %cmp.i160.not51.i.i3577 = icmp eq ptr %classes.val62.pre.i.i3569, %classes.val63.pre.i.i3570 + br i1 %cmp.i160.not51.i.i3577, label %for.end255.i.i4334, label %for.body66.lr.ph.i.i3578 + +for.body66.lr.ph.i.i3578: ; preds = %for.cond64.preheader.i.i3576 + %_M_refcount.i.i.i163.i.i3579 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i3415, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i176.i.i3580 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i3415, i64 0, i32 1 + %_M_refcount.i.i.i207.i.i3581 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i3414, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i220.i.i3582 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i3414, i64 0, i32 1 + %_M_refcount.i.i.i311.i.i3583 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i3418, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i324.i.i3584 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i3418, i64 0, i32 1 + %_M_refcount.i.i.i735.i.i3585 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i3422, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i748.i.i3586 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i3422, i64 0, i32 1 + %_M_refcount.i.i.i824.i.i3587 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i3413, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i837.i.i3588 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i3413, i64 0, i32 1 + br label %for.body66.i.i3589 + +if.then48.i.i4432: ; preds = %for.end45.i.i3568 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i3412) + to label %invoke.cont50.i.i4433 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i4335 + +invoke.cont50.i.i4433: ; preds = %if.then48.i.i4432 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i3406), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i3406) + to label %.noexc154.i.i4437 unwind label %lpad51.i.i4434 + +.noexc154.i.i4437: ; preds = %invoke.cont50.i.i4433 + %1766 = load ptr, ptr %ref.tmp.i139.i.i3406, align 8, !noalias !1588 + %add.ptr.i.i140.i.i4438 = getelementptr inbounds i8, ptr %1766, i64 16 + %call2.i1.i141.i.i4439 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i4438, ptr noundef nonnull @.str.106) + to label %invoke.cont.i148.i.i4445 unwind label %lpad.i142.i.i4440 + +invoke.cont.i148.i.i4445: ; preds = %.noexc154.i.i4437 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i3412, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i3406) + to label %invoke.cont2.i149.i.i4446 unwind label %lpad.i142.i.i4440 + +invoke.cont2.i149.i.i4446: ; preds = %invoke.cont.i148.i.i4445 + %1767 = load ptr, ptr %ref.tmp.i139.i.i3406, align 8, !noalias !1588 + %cmp.not.i.i.i150.i.i4447 = icmp eq ptr %1767, null + br i1 %cmp.not.i.i.i150.i.i4447, label %invoke.cont52.i.i4451, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i4448 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i4448: ; preds = %invoke.cont2.i149.i.i4446 + %vtable.i.i.i.i152.i.i4449 = load ptr, ptr %1767, align 8 + %vfn.i.i.i.i153.i.i4450 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i4449, i64 1 + %1768 = load ptr, ptr %vfn.i.i.i.i153.i.i4450, align 8 call void %1768(ptr noundef nonnull align 8 dereferenceable(128) %1767) #30 - br label %invoke.cont52.i.i4447 + br label %invoke.cont52.i.i4451 -lpad.i142.i.i4436: ; preds = %invoke.cont.i148.i.i4441, %.noexc154.i.i4433 +lpad.i142.i.i4440: ; preds = %invoke.cont.i148.i.i4445, %.noexc154.i.i4437 %1769 = landingpad { ptr, i32 } cleanup - %1770 = load ptr, ptr %ref.tmp.i139.i.i3402, align 8, !noalias !1588 - %cmp.not.i.i2.i143.i.i4437 = icmp eq ptr %1770, null - br i1 %cmp.not.i.i2.i143.i.i4437, label %lpad51.body.i.i4431, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i4438 + %1770 = load ptr, ptr %ref.tmp.i139.i.i3406, align 8, !noalias !1588 + %cmp.not.i.i2.i143.i.i4441 = icmp eq ptr %1770, null + br i1 %cmp.not.i.i2.i143.i.i4441, label %lpad51.body.i.i4435, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i4442 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i4438: ; preds = %lpad.i142.i.i4436 - %vtable.i.i.i4.i145.i.i4439 = load ptr, ptr %1770, align 8 - %vfn.i.i.i5.i146.i.i4440 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i4439, i64 1 - %1771 = load ptr, ptr %vfn.i.i.i5.i146.i.i4440, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i4442: ; preds = %lpad.i142.i.i4440 + %vtable.i.i.i4.i145.i.i4443 = load ptr, ptr %1770, align 8 + %vfn.i.i.i5.i146.i.i4444 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i4443, i64 1 + %1771 = load ptr, ptr %vfn.i.i.i5.i146.i.i4444, align 8 call void %1771(ptr noundef nonnull align 8 dereferenceable(128) %1770) #30 - br label %lpad51.body.i.i4431 + br label %lpad51.body.i.i4435 -invoke.cont52.i.i4447: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i4444, %invoke.cont2.i149.i.i4442 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i3402), !noalias !1588 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i3408) - to label %invoke.cont54.i.i4448 unwind label %lpad51.i.i4430 +invoke.cont52.i.i4451: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i4448, %invoke.cont2.i149.i.i4446 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i3406), !noalias !1588 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i3412) + to label %invoke.cont54.i.i4452 unwind label %lpad51.i.i4434 -invoke.cont54.i.i4448: ; preds = %invoke.cont52.i.i4447 - %message_.i156.i.i4449 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i3408, i64 0, i32 1 - %1772 = load ptr, ptr %message_.i156.i.i4449, align 8, !noalias !1588 - %cmp.not.i.i157.i.i4450 = icmp eq ptr %1772, null - br i1 %cmp.not.i.i157.i.i4450, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i4452, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i4451 +invoke.cont54.i.i4452: ; preds = %invoke.cont52.i.i4451 + %message_.i156.i.i4453 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i3412, i64 0, i32 1 + %1772 = load ptr, ptr %message_.i156.i.i4453, align 8, !noalias !1588 + %cmp.not.i.i157.i.i4454 = icmp eq ptr %1772, null + br i1 %cmp.not.i.i157.i.i4454, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i4456, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i4455 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i4451: ; preds = %invoke.cont54.i.i4448 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i4455: ; preds = %invoke.cont54.i.i4452 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1772) #30 call void @_ZdlPv(ptr noundef nonnull %1772) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i4452 + br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i4456 -_ZN7testing15AssertionResultD2Ev.exit159.i.i4452: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i4451, %invoke.cont54.i.i4448 - store ptr null, ptr %message_.i156.i.i4449, align 8, !noalias !1588 - br label %cleanup257.i.i3549 +_ZN7testing15AssertionResultD2Ev.exit159.i.i4456: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i4455, %invoke.cont54.i.i4452 + store ptr null, ptr %message_.i156.i.i4453, align 8, !noalias !1588 + br label %cleanup257.i.i3553 -lpad51.i.i4430: ; preds = %invoke.cont52.i.i4447, %invoke.cont50.i.i4429 +lpad51.i.i4434: ; preds = %invoke.cont52.i.i4451, %invoke.cont50.i.i4433 %1773 = landingpad { ptr, i32 } cleanup - br label %lpad51.body.i.i4431 - -lpad51.body.i.i4431: ; preds = %lpad51.i.i4430, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i4438, %lpad.i142.i.i4436 - %eh.lpad-body155.i.i4432 = phi { ptr, i32 } [ %1773, %lpad51.i.i4430 ], [ %1769, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i4438 ], [ %1769, %lpad.i142.i.i4436 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i3408) #30 - br label %ehcleanup258.i.i3485 - -for.body66.i.i3585: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4327, %for.body66.lr.ph.i.i3574 - %__begin058.sroa.0.052.i.i3586 = phi ptr [ %classes.val62.pre.i.i3565, %for.body66.lr.ph.i.i3574 ], [ %incdec.ptr.i868.i.i4328, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4327 ] - %call68.val.i.i3587 = load ptr, ptr %__begin058.sroa.0.052.i.i3586, align 8 - %call69.val.i.i3588 = load ptr, ptr %call68.val.i.i3587, align 8 - %call69.val.val.i.i3589 = load ptr, ptr %call69.val.i.i3588, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i3409, ptr %call69.val.val.i.i3589) - to label %invoke.cont70.i.i3593 unwind label %lpad.loopexit11.i.i3591 - -invoke.cont70.i.i3593: ; preds = %for.body66.i.i3585 - %call68.val80.i.i3594 = load ptr, ptr %__begin058.sroa.0.052.i.i3586, align 8 - %1774 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i3586, i64 8 - %call68.val81.i.i3595 = load ptr, ptr %1774, align 8 - %cmp.i161.not47.i.i3596 = icmp eq ptr %call68.val80.i.i3594, %call68.val81.i.i3595 - br i1 %cmp.i161.not47.i.i3596, label %for.end144.i.i3906, label %for.body80.i.i3597 - -for.body80.i.i3597: ; preds = %invoke.cont70.i.i3593, %for.inc142.i.i3903 - %__begin072.sroa.0.048.i.i3598 = phi ptr [ %incdec.ptr.i448.i.i3904, %for.inc142.i.i3903 ], [ %call68.val80.i.i3594, %invoke.cont70.i.i3593 ] - %call81.val.i.i3599 = load ptr, ptr %__begin072.sroa.0.048.i.i3598, align 8 - %call81.val.val.i.i3600 = load ptr, ptr %call81.val.i.i3599, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i3410, ptr %call81.val.val.i.i3600) - to label %invoke.cont84.i.i3606 unwind label %lpad83.loopexit.split-lp.loopexit.i.i3602 - -invoke.cont84.i.i3606: ; preds = %for.body80.i.i3597 - %call81.val65.i.i3607 = load ptr, ptr %__begin072.sroa.0.048.i.i3598, align 8 - %call81.val65.val.i.i3608 = load ptr, ptr %call81.val65.i.i3607, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i3411, ptr %call81.val65.val.i.i3608) - to label %invoke.cont87.i.i3613 unwind label %lpad86.i.i3610 - -invoke.cont87.i.i3613: ; preds = %invoke.cont84.i.i3606 - %call.i.i162.i.i3614 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i3410, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i3411) - to label %invoke.cont89.i.i3616 unwind label %lpad88.i.i3615 - -invoke.cont89.i.i3616: ; preds = %invoke.cont87.i.i3613 - %1775 = load ptr, ptr %_M_refcount.i.i.i163.i.i3575, align 8, !noalias !1588 - %cmp.not.i.i.i.i164.i.i3617 = icmp eq ptr %1775, null - br i1 %cmp.not.i.i.i.i164.i.i3617, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628, label %if.then.i.i.i.i165.i.i3618 - -if.then.i.i.i.i165.i.i3618: ; preds = %invoke.cont89.i.i3616 - %_M_use_count.i.i.i.i.i166.i.i3619 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1775, i64 0, i32 1 - %1776 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i3619 acquire, align 8 - %cmp.i.i.i.i.i167.i.i3620 = icmp eq i64 %1776, 4294967297 + br label %lpad51.body.i.i4435 + +lpad51.body.i.i4435: ; preds = %lpad51.i.i4434, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i4442, %lpad.i142.i.i4440 + %eh.lpad-body155.i.i4436 = phi { ptr, i32 } [ %1773, %lpad51.i.i4434 ], [ %1769, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i4442 ], [ %1769, %lpad.i142.i.i4440 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i3412) #30 + br label %ehcleanup258.i.i3489 + +for.body66.i.i3589: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4331, %for.body66.lr.ph.i.i3578 + %__begin058.sroa.0.052.i.i3590 = phi ptr [ %classes.val62.pre.i.i3569, %for.body66.lr.ph.i.i3578 ], [ %incdec.ptr.i868.i.i4332, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4331 ] + %call68.val.i.i3591 = load ptr, ptr %__begin058.sroa.0.052.i.i3590, align 8 + %call69.val.i.i3592 = load ptr, ptr %call68.val.i.i3591, align 8 + %call69.val.val.i.i3593 = load ptr, ptr %call69.val.i.i3592, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i3413, ptr %call69.val.val.i.i3593) + to label %invoke.cont70.i.i3597 unwind label %lpad.loopexit11.i.i3595 + +invoke.cont70.i.i3597: ; preds = %for.body66.i.i3589 + %call68.val80.i.i3598 = load ptr, ptr %__begin058.sroa.0.052.i.i3590, align 8 + %1774 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i3590, i64 8 + %call68.val81.i.i3599 = load ptr, ptr %1774, align 8 + %cmp.i161.not47.i.i3600 = icmp eq ptr %call68.val80.i.i3598, %call68.val81.i.i3599 + br i1 %cmp.i161.not47.i.i3600, label %for.end144.i.i3910, label %for.body80.i.i3601 + +for.body80.i.i3601: ; preds = %invoke.cont70.i.i3597, %for.inc142.i.i3907 + %__begin072.sroa.0.048.i.i3602 = phi ptr [ %incdec.ptr.i448.i.i3908, %for.inc142.i.i3907 ], [ %call68.val80.i.i3598, %invoke.cont70.i.i3597 ] + %call81.val.i.i3603 = load ptr, ptr %__begin072.sroa.0.048.i.i3602, align 8 + %call81.val.val.i.i3604 = load ptr, ptr %call81.val.i.i3603, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i3414, ptr %call81.val.val.i.i3604) + to label %invoke.cont84.i.i3610 unwind label %lpad83.loopexit.split-lp.loopexit.i.i3606 + +invoke.cont84.i.i3610: ; preds = %for.body80.i.i3601 + %call81.val65.i.i3611 = load ptr, ptr %__begin072.sroa.0.048.i.i3602, align 8 + %call81.val65.val.i.i3612 = load ptr, ptr %call81.val65.i.i3611, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i3415, ptr %call81.val65.val.i.i3612) + to label %invoke.cont87.i.i3617 unwind label %lpad86.i.i3614 + +invoke.cont87.i.i3617: ; preds = %invoke.cont84.i.i3610 + %call.i.i162.i.i3618 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i3414, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i3415) + to label %invoke.cont89.i.i3620 unwind label %lpad88.i.i3619 + +invoke.cont89.i.i3620: ; preds = %invoke.cont87.i.i3617 + %1775 = load ptr, ptr %_M_refcount.i.i.i163.i.i3579, align 8, !noalias !1588 + %cmp.not.i.i.i.i164.i.i3621 = icmp eq ptr %1775, null + br i1 %cmp.not.i.i.i.i164.i.i3621, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632, label %if.then.i.i.i.i165.i.i3622 + +if.then.i.i.i.i165.i.i3622: ; preds = %invoke.cont89.i.i3620 + %_M_use_count.i.i.i.i.i166.i.i3623 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1775, i64 0, i32 1 + %1776 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i3623 acquire, align 8 + %cmp.i.i.i.i.i167.i.i3624 = icmp eq i64 %1776, 4294967297 %1777 = trunc i64 %1776 to i32 - br i1 %cmp.i.i.i.i.i167.i.i3620, label %if.then.i.i.i.i.i202.i.i4424, label %if.end.i.i.i.i.i168.i.i3621 - -if.then.i.i.i.i.i202.i.i4424: ; preds = %if.then.i.i.i.i165.i.i3618 - store i32 0, ptr %_M_use_count.i.i.i.i.i166.i.i3619, align 8 - %_M_weak_count.i.i.i.i.i203.i.i4425 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1775, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i203.i.i4425, align 4 - %vtable.i.i.i.i.i204.i.i4426 = load ptr, ptr %1775, align 8 - %vfn.i.i.i.i.i205.i.i4427 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i204.i.i4426, i64 2 - %1778 = load ptr, ptr %vfn.i.i.i.i.i205.i.i4427, align 8 + br i1 %cmp.i.i.i.i.i167.i.i3624, label %if.then.i.i.i.i.i202.i.i4428, label %if.end.i.i.i.i.i168.i.i3625 + +if.then.i.i.i.i.i202.i.i4428: ; preds = %if.then.i.i.i.i165.i.i3622 + store i32 0, ptr %_M_use_count.i.i.i.i.i166.i.i3623, align 8 + %_M_weak_count.i.i.i.i.i203.i.i4429 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1775, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i203.i.i4429, align 4 + %vtable.i.i.i.i.i204.i.i4430 = load ptr, ptr %1775, align 8 + %vfn.i.i.i.i.i205.i.i4431 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i204.i.i4430, i64 2 + %1778 = load ptr, ptr %vfn.i.i.i.i.i205.i.i4431, align 8 call void %1778(ptr noundef nonnull align 8 dereferenceable(16) %1775) #30 - br label %if.end8.sink.split.i.i.i.i.i197.i.i4419 + br label %if.end8.sink.split.i.i.i.i.i197.i.i4423 -if.end.i.i.i.i.i168.i.i3621: ; preds = %if.then.i.i.i.i165.i.i3618 +if.end.i.i.i.i.i168.i.i3625: ; preds = %if.then.i.i.i.i165.i.i3622 %1779 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i169.i.i3622 = icmp eq i8 %1779, 0 - br i1 %tobool.i.i.not.i.i.i.i.i169.i.i3622, label %if.else.i.i.i.i.i.i201.i.i4423, label %if.then.i.i.i.i.i.i170.i.i3623 - -if.then.i.i.i.i.i.i170.i.i3623: ; preds = %if.end.i.i.i.i.i168.i.i3621 - %add.i.i.i.i.i.i171.i.i3624 = add nsw i32 %1777, -1 - store i32 %add.i.i.i.i.i.i171.i.i3624, ptr %_M_use_count.i.i.i.i.i166.i.i3619, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3625 - -if.else.i.i.i.i.i.i201.i.i4423: ; preds = %if.end.i.i.i.i.i168.i.i3621 - %1780 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i166.i.i3619, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3625 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3625: ; preds = %if.else.i.i.i.i.i.i201.i.i4423, %if.then.i.i.i.i.i.i170.i.i3623 - %retval.i.0.i.i.i.i.i173.i.i3626 = phi i32 [ %1777, %if.then.i.i.i.i.i.i170.i.i3623 ], [ %1780, %if.else.i.i.i.i.i.i201.i.i4423 ] - %cmp6.i.i.i.i.i174.i.i3627 = icmp eq i32 %retval.i.0.i.i.i.i.i173.i.i3626, 1 - br i1 %cmp6.i.i.i.i.i174.i.i3627, label %if.then7.i.i.i.i.i187.i.i4409, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628 - -if.then7.i.i.i.i.i187.i.i4409: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3625 - %vtable.i.i.i.i.i.i.i188.i.i4410 = load ptr, ptr %1775, align 8 - %vfn.i.i.i.i.i.i.i189.i.i4411 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i188.i.i4410, i64 2 - %1781 = load ptr, ptr %vfn.i.i.i.i.i.i.i189.i.i4411, align 8 + %tobool.i.i.not.i.i.i.i.i169.i.i3626 = icmp eq i8 %1779, 0 + br i1 %tobool.i.i.not.i.i.i.i.i169.i.i3626, label %if.else.i.i.i.i.i.i201.i.i4427, label %if.then.i.i.i.i.i.i170.i.i3627 + +if.then.i.i.i.i.i.i170.i.i3627: ; preds = %if.end.i.i.i.i.i168.i.i3625 + %add.i.i.i.i.i.i171.i.i3628 = add nsw i32 %1777, -1 + store i32 %add.i.i.i.i.i.i171.i.i3628, ptr %_M_use_count.i.i.i.i.i166.i.i3623, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3629 + +if.else.i.i.i.i.i.i201.i.i4427: ; preds = %if.end.i.i.i.i.i168.i.i3625 + %1780 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i166.i.i3623, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3629 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3629: ; preds = %if.else.i.i.i.i.i.i201.i.i4427, %if.then.i.i.i.i.i.i170.i.i3627 + %retval.i.0.i.i.i.i.i173.i.i3630 = phi i32 [ %1777, %if.then.i.i.i.i.i.i170.i.i3627 ], [ %1780, %if.else.i.i.i.i.i.i201.i.i4427 ] + %cmp6.i.i.i.i.i174.i.i3631 = icmp eq i32 %retval.i.0.i.i.i.i.i173.i.i3630, 1 + br i1 %cmp6.i.i.i.i.i174.i.i3631, label %if.then7.i.i.i.i.i187.i.i4413, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632 + +if.then7.i.i.i.i.i187.i.i4413: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3629 + %vtable.i.i.i.i.i.i.i188.i.i4414 = load ptr, ptr %1775, align 8 + %vfn.i.i.i.i.i.i.i189.i.i4415 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i188.i.i4414, i64 2 + %1781 = load ptr, ptr %vfn.i.i.i.i.i.i.i189.i.i4415, align 8 call void %1781(ptr noundef nonnull align 8 dereferenceable(16) %1775) #30 - %_M_weak_count.i.i.i.i.i.i.i190.i.i4412 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1775, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i190.i.i4416 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1775, i64 0, i32 2 %1782 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i191.i.i4413 = icmp eq i8 %1782, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i191.i.i4413, label %if.else.i.i.i.i.i.i.i.i200.i.i4422, label %if.then.i.i.i.i.i.i.i.i192.i.i4414 - -if.then.i.i.i.i.i.i.i.i192.i.i4414: ; preds = %if.then7.i.i.i.i.i187.i.i4409 - %1783 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i4412, align 4 - %add.i.i.i.i.i.i.i.i193.i.i4415 = add nsw i32 %1783, -1 - store i32 %add.i.i.i.i.i.i.i.i193.i.i4415, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i4412, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4416 - -if.else.i.i.i.i.i.i.i.i200.i.i4422: ; preds = %if.then7.i.i.i.i.i187.i.i4409 - %1784 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i4412, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4416 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4416: ; preds = %if.else.i.i.i.i.i.i.i.i200.i.i4422, %if.then.i.i.i.i.i.i.i.i192.i.i4414 - %retval.i.0.i.i.i.i.i.i.i195.i.i4417 = phi i32 [ %1783, %if.then.i.i.i.i.i.i.i.i192.i.i4414 ], [ %1784, %if.else.i.i.i.i.i.i.i.i200.i.i4422 ] - %cmp.i.i.i.i.i.i.i196.i.i4418 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i195.i.i4417, 1 - br i1 %cmp.i.i.i.i.i.i.i196.i.i4418, label %if.end8.sink.split.i.i.i.i.i197.i.i4419, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628 - -if.end8.sink.split.i.i.i.i.i197.i.i4419: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4416, %if.then.i.i.i.i.i202.i.i4424 - %vtable2.i.i.i.i.i.i.i198.i.i4420 = load ptr, ptr %1775, align 8 - %vfn3.i.i.i.i.i.i.i199.i.i4421 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i198.i.i4420, i64 3 - %1785 = load ptr, ptr %vfn3.i.i.i.i.i.i.i199.i.i4421, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i191.i.i4417 = icmp eq i8 %1782, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i191.i.i4417, label %if.else.i.i.i.i.i.i.i.i200.i.i4426, label %if.then.i.i.i.i.i.i.i.i192.i.i4418 + +if.then.i.i.i.i.i.i.i.i192.i.i4418: ; preds = %if.then7.i.i.i.i.i187.i.i4413 + %1783 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i4416, align 4 + %add.i.i.i.i.i.i.i.i193.i.i4419 = add nsw i32 %1783, -1 + store i32 %add.i.i.i.i.i.i.i.i193.i.i4419, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i4416, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4420 + +if.else.i.i.i.i.i.i.i.i200.i.i4426: ; preds = %if.then7.i.i.i.i.i187.i.i4413 + %1784 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i4416, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4420 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4420: ; preds = %if.else.i.i.i.i.i.i.i.i200.i.i4426, %if.then.i.i.i.i.i.i.i.i192.i.i4418 + %retval.i.0.i.i.i.i.i.i.i195.i.i4421 = phi i32 [ %1783, %if.then.i.i.i.i.i.i.i.i192.i.i4418 ], [ %1784, %if.else.i.i.i.i.i.i.i.i200.i.i4426 ] + %cmp.i.i.i.i.i.i.i196.i.i4422 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i195.i.i4421, 1 + br i1 %cmp.i.i.i.i.i.i.i196.i.i4422, label %if.end8.sink.split.i.i.i.i.i197.i.i4423, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632 + +if.end8.sink.split.i.i.i.i.i197.i.i4423: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4420, %if.then.i.i.i.i.i202.i.i4428 + %vtable2.i.i.i.i.i.i.i198.i.i4424 = load ptr, ptr %1775, align 8 + %vfn3.i.i.i.i.i.i.i199.i.i4425 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i198.i.i4424, i64 3 + %1785 = load ptr, ptr %vfn3.i.i.i.i.i.i.i199.i.i4425, align 8 call void %1785(ptr noundef nonnull align 8 dereferenceable(16) %1775) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i4419, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4416, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3625, %invoke.cont89.i.i3616 - %1786 = load ptr, ptr %ref.tmp85.i.i3411, align 8, !noalias !1588 - %1787 = load ptr, ptr %_M_finish.i.i176.i.i3576, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i177.i.i3629 = icmp eq ptr %1786, %1787 - br i1 %cmp.not3.i.i.i.i.i177.i.i3629, label %invoke.cont.i.i184.i.i3636, label %for.body.i.i.i.i.i178.i.i3630 - -for.body.i.i.i.i.i178.i.i3630: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628, %for.body.i.i.i.i.i178.i.i3630 - %__first.addr.04.i.i.i.i.i179.i.i3631 = phi ptr [ %incdec.ptr.i.i.i.i.i180.i.i3632, %for.body.i.i.i.i.i178.i.i3630 ], [ %1786, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i179.i.i3631) #30 - %incdec.ptr.i.i.i.i.i180.i.i3632 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i179.i.i3631, i64 1 - %cmp.not.i.i.i.i.i181.i.i3633 = icmp eq ptr %incdec.ptr.i.i.i.i.i180.i.i3632, %1787 - br i1 %cmp.not.i.i.i.i.i181.i.i3633, label %invoke.contthread-pre-split.i.i182.i.i3634, label %for.body.i.i.i.i.i178.i.i3630, !llvm.loop !8 - -invoke.contthread-pre-split.i.i182.i.i3634: ; preds = %for.body.i.i.i.i.i178.i.i3630 - %.pr.i.i183.i.i3635 = load ptr, ptr %ref.tmp85.i.i3411, align 8, !noalias !1588 - br label %invoke.cont.i.i184.i.i3636 - -invoke.cont.i.i184.i.i3636: ; preds = %invoke.contthread-pre-split.i.i182.i.i3634, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628 - %1788 = phi ptr [ %.pr.i.i183.i.i3635, %invoke.contthread-pre-split.i.i182.i.i3634 ], [ %1786, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3628 ] - %tobool.not.i.i.i.i185.i.i3637 = icmp eq ptr %1788, null - br i1 %tobool.not.i.i.i.i185.i.i3637, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3639, label %if.then.i.i.i1.i186.i.i3638 - -if.then.i.i.i1.i186.i.i3638: ; preds = %invoke.cont.i.i184.i.i3636 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i4423, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i4420, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i3629, %invoke.cont89.i.i3620 + %1786 = load ptr, ptr %ref.tmp85.i.i3415, align 8, !noalias !1588 + %1787 = load ptr, ptr %_M_finish.i.i176.i.i3580, align 8, !noalias !1588 + %cmp.not3.i.i.i.i.i177.i.i3633 = icmp eq ptr %1786, %1787 + br i1 %cmp.not3.i.i.i.i.i177.i.i3633, label %invoke.cont.i.i184.i.i3640, label %for.body.i.i.i.i.i178.i.i3634 + +for.body.i.i.i.i.i178.i.i3634: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632, %for.body.i.i.i.i.i178.i.i3634 + %__first.addr.04.i.i.i.i.i179.i.i3635 = phi ptr [ %incdec.ptr.i.i.i.i.i180.i.i3636, %for.body.i.i.i.i.i178.i.i3634 ], [ %1786, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i179.i.i3635) #30 + %incdec.ptr.i.i.i.i.i180.i.i3636 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i179.i.i3635, i64 1 + %cmp.not.i.i.i.i.i181.i.i3637 = icmp eq ptr %incdec.ptr.i.i.i.i.i180.i.i3636, %1787 + br i1 %cmp.not.i.i.i.i.i181.i.i3637, label %invoke.contthread-pre-split.i.i182.i.i3638, label %for.body.i.i.i.i.i178.i.i3634, !llvm.loop !8 + +invoke.contthread-pre-split.i.i182.i.i3638: ; preds = %for.body.i.i.i.i.i178.i.i3634 + %.pr.i.i183.i.i3639 = load ptr, ptr %ref.tmp85.i.i3415, align 8, !noalias !1588 + br label %invoke.cont.i.i184.i.i3640 + +invoke.cont.i.i184.i.i3640: ; preds = %invoke.contthread-pre-split.i.i182.i.i3638, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632 + %1788 = phi ptr [ %.pr.i.i183.i.i3639, %invoke.contthread-pre-split.i.i182.i.i3638 ], [ %1786, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i3632 ] + %tobool.not.i.i.i.i185.i.i3641 = icmp eq ptr %1788, null + br i1 %tobool.not.i.i.i.i185.i.i3641, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3643, label %if.then.i.i.i1.i186.i.i3642 + +if.then.i.i.i1.i186.i.i3642: ; preds = %invoke.cont.i.i184.i.i3640 call void @_ZdlPv(ptr noundef nonnull %1788) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3639 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3643 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3639: ; preds = %if.then.i.i.i1.i186.i.i3638, %invoke.cont.i.i184.i.i3636 - %1789 = load ptr, ptr %_M_refcount.i.i.i207.i.i3577, align 8, !noalias !1588 - %cmp.not.i.i.i.i208.i.i3640 = icmp eq ptr %1789, null - br i1 %cmp.not.i.i.i.i208.i.i3640, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651, label %if.then.i.i.i.i209.i.i3641 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3643: ; preds = %if.then.i.i.i1.i186.i.i3642, %invoke.cont.i.i184.i.i3640 + %1789 = load ptr, ptr %_M_refcount.i.i.i207.i.i3581, align 8, !noalias !1588 + %cmp.not.i.i.i.i208.i.i3644 = icmp eq ptr %1789, null + br i1 %cmp.not.i.i.i.i208.i.i3644, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655, label %if.then.i.i.i.i209.i.i3645 -if.then.i.i.i.i209.i.i3641: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3639 - %_M_use_count.i.i.i.i.i210.i.i3642 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1789, i64 0, i32 1 - %1790 = load atomic i64, ptr %_M_use_count.i.i.i.i.i210.i.i3642 acquire, align 8 - %cmp.i.i.i.i.i211.i.i3643 = icmp eq i64 %1790, 4294967297 +if.then.i.i.i.i209.i.i3645: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3643 + %_M_use_count.i.i.i.i.i210.i.i3646 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1789, i64 0, i32 1 + %1790 = load atomic i64, ptr %_M_use_count.i.i.i.i.i210.i.i3646 acquire, align 8 + %cmp.i.i.i.i.i211.i.i3647 = icmp eq i64 %1790, 4294967297 %1791 = trunc i64 %1790 to i32 - br i1 %cmp.i.i.i.i.i211.i.i3643, label %if.then.i.i.i.i.i246.i.i4405, label %if.end.i.i.i.i.i212.i.i3644 - -if.then.i.i.i.i.i246.i.i4405: ; preds = %if.then.i.i.i.i209.i.i3641 - store i32 0, ptr %_M_use_count.i.i.i.i.i210.i.i3642, align 8 - %_M_weak_count.i.i.i.i.i247.i.i4406 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1789, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i247.i.i4406, align 4 - %vtable.i.i.i.i.i248.i.i4407 = load ptr, ptr %1789, align 8 - %vfn.i.i.i.i.i249.i.i4408 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i248.i.i4407, i64 2 - %1792 = load ptr, ptr %vfn.i.i.i.i.i249.i.i4408, align 8 + br i1 %cmp.i.i.i.i.i211.i.i3647, label %if.then.i.i.i.i.i246.i.i4409, label %if.end.i.i.i.i.i212.i.i3648 + +if.then.i.i.i.i.i246.i.i4409: ; preds = %if.then.i.i.i.i209.i.i3645 + store i32 0, ptr %_M_use_count.i.i.i.i.i210.i.i3646, align 8 + %_M_weak_count.i.i.i.i.i247.i.i4410 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1789, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i247.i.i4410, align 4 + %vtable.i.i.i.i.i248.i.i4411 = load ptr, ptr %1789, align 8 + %vfn.i.i.i.i.i249.i.i4412 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i248.i.i4411, i64 2 + %1792 = load ptr, ptr %vfn.i.i.i.i.i249.i.i4412, align 8 call void %1792(ptr noundef nonnull align 8 dereferenceable(16) %1789) #30 - br label %if.end8.sink.split.i.i.i.i.i241.i.i4400 + br label %if.end8.sink.split.i.i.i.i.i241.i.i4404 -if.end.i.i.i.i.i212.i.i3644: ; preds = %if.then.i.i.i.i209.i.i3641 +if.end.i.i.i.i.i212.i.i3648: ; preds = %if.then.i.i.i.i209.i.i3645 %1793 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i213.i.i3645 = icmp eq i8 %1793, 0 - br i1 %tobool.i.i.not.i.i.i.i.i213.i.i3645, label %if.else.i.i.i.i.i.i245.i.i4404, label %if.then.i.i.i.i.i.i214.i.i3646 - -if.then.i.i.i.i.i.i214.i.i3646: ; preds = %if.end.i.i.i.i.i212.i.i3644 - %add.i.i.i.i.i.i215.i.i3647 = add nsw i32 %1791, -1 - store i32 %add.i.i.i.i.i.i215.i.i3647, ptr %_M_use_count.i.i.i.i.i210.i.i3642, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3648 - -if.else.i.i.i.i.i.i245.i.i4404: ; preds = %if.end.i.i.i.i.i212.i.i3644 - %1794 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i210.i.i3642, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3648 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3648: ; preds = %if.else.i.i.i.i.i.i245.i.i4404, %if.then.i.i.i.i.i.i214.i.i3646 - %retval.i.0.i.i.i.i.i217.i.i3649 = phi i32 [ %1791, %if.then.i.i.i.i.i.i214.i.i3646 ], [ %1794, %if.else.i.i.i.i.i.i245.i.i4404 ] - %cmp6.i.i.i.i.i218.i.i3650 = icmp eq i32 %retval.i.0.i.i.i.i.i217.i.i3649, 1 - br i1 %cmp6.i.i.i.i.i218.i.i3650, label %if.then7.i.i.i.i.i231.i.i4390, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651 - -if.then7.i.i.i.i.i231.i.i4390: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3648 - %vtable.i.i.i.i.i.i.i232.i.i4391 = load ptr, ptr %1789, align 8 - %vfn.i.i.i.i.i.i.i233.i.i4392 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i232.i.i4391, i64 2 - %1795 = load ptr, ptr %vfn.i.i.i.i.i.i.i233.i.i4392, align 8 + %tobool.i.i.not.i.i.i.i.i213.i.i3649 = icmp eq i8 %1793, 0 + br i1 %tobool.i.i.not.i.i.i.i.i213.i.i3649, label %if.else.i.i.i.i.i.i245.i.i4408, label %if.then.i.i.i.i.i.i214.i.i3650 + +if.then.i.i.i.i.i.i214.i.i3650: ; preds = %if.end.i.i.i.i.i212.i.i3648 + %add.i.i.i.i.i.i215.i.i3651 = add nsw i32 %1791, -1 + store i32 %add.i.i.i.i.i.i215.i.i3651, ptr %_M_use_count.i.i.i.i.i210.i.i3646, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3652 + +if.else.i.i.i.i.i.i245.i.i4408: ; preds = %if.end.i.i.i.i.i212.i.i3648 + %1794 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i210.i.i3646, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3652 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3652: ; preds = %if.else.i.i.i.i.i.i245.i.i4408, %if.then.i.i.i.i.i.i214.i.i3650 + %retval.i.0.i.i.i.i.i217.i.i3653 = phi i32 [ %1791, %if.then.i.i.i.i.i.i214.i.i3650 ], [ %1794, %if.else.i.i.i.i.i.i245.i.i4408 ] + %cmp6.i.i.i.i.i218.i.i3654 = icmp eq i32 %retval.i.0.i.i.i.i.i217.i.i3653, 1 + br i1 %cmp6.i.i.i.i.i218.i.i3654, label %if.then7.i.i.i.i.i231.i.i4394, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655 + +if.then7.i.i.i.i.i231.i.i4394: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3652 + %vtable.i.i.i.i.i.i.i232.i.i4395 = load ptr, ptr %1789, align 8 + %vfn.i.i.i.i.i.i.i233.i.i4396 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i232.i.i4395, i64 2 + %1795 = load ptr, ptr %vfn.i.i.i.i.i.i.i233.i.i4396, align 8 call void %1795(ptr noundef nonnull align 8 dereferenceable(16) %1789) #30 - %_M_weak_count.i.i.i.i.i.i.i234.i.i4393 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1789, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i234.i.i4397 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1789, i64 0, i32 2 %1796 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i235.i.i4394 = icmp eq i8 %1796, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i235.i.i4394, label %if.else.i.i.i.i.i.i.i.i244.i.i4403, label %if.then.i.i.i.i.i.i.i.i236.i.i4395 - -if.then.i.i.i.i.i.i.i.i236.i.i4395: ; preds = %if.then7.i.i.i.i.i231.i.i4390 - %1797 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i4393, align 4 - %add.i.i.i.i.i.i.i.i237.i.i4396 = add nsw i32 %1797, -1 - store i32 %add.i.i.i.i.i.i.i.i237.i.i4396, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i4393, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4397 - -if.else.i.i.i.i.i.i.i.i244.i.i4403: ; preds = %if.then7.i.i.i.i.i231.i.i4390 - %1798 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i4393, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4397 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4397: ; preds = %if.else.i.i.i.i.i.i.i.i244.i.i4403, %if.then.i.i.i.i.i.i.i.i236.i.i4395 - %retval.i.0.i.i.i.i.i.i.i239.i.i4398 = phi i32 [ %1797, %if.then.i.i.i.i.i.i.i.i236.i.i4395 ], [ %1798, %if.else.i.i.i.i.i.i.i.i244.i.i4403 ] - %cmp.i.i.i.i.i.i.i240.i.i4399 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i239.i.i4398, 1 - br i1 %cmp.i.i.i.i.i.i.i240.i.i4399, label %if.end8.sink.split.i.i.i.i.i241.i.i4400, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651 - -if.end8.sink.split.i.i.i.i.i241.i.i4400: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4397, %if.then.i.i.i.i.i246.i.i4405 - %vtable2.i.i.i.i.i.i.i242.i.i4401 = load ptr, ptr %1789, align 8 - %vfn3.i.i.i.i.i.i.i243.i.i4402 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i242.i.i4401, i64 3 - %1799 = load ptr, ptr %vfn3.i.i.i.i.i.i.i243.i.i4402, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i235.i.i4398 = icmp eq i8 %1796, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i235.i.i4398, label %if.else.i.i.i.i.i.i.i.i244.i.i4407, label %if.then.i.i.i.i.i.i.i.i236.i.i4399 + +if.then.i.i.i.i.i.i.i.i236.i.i4399: ; preds = %if.then7.i.i.i.i.i231.i.i4394 + %1797 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i4397, align 4 + %add.i.i.i.i.i.i.i.i237.i.i4400 = add nsw i32 %1797, -1 + store i32 %add.i.i.i.i.i.i.i.i237.i.i4400, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i4397, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4401 + +if.else.i.i.i.i.i.i.i.i244.i.i4407: ; preds = %if.then7.i.i.i.i.i231.i.i4394 + %1798 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i4397, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4401 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4401: ; preds = %if.else.i.i.i.i.i.i.i.i244.i.i4407, %if.then.i.i.i.i.i.i.i.i236.i.i4399 + %retval.i.0.i.i.i.i.i.i.i239.i.i4402 = phi i32 [ %1797, %if.then.i.i.i.i.i.i.i.i236.i.i4399 ], [ %1798, %if.else.i.i.i.i.i.i.i.i244.i.i4407 ] + %cmp.i.i.i.i.i.i.i240.i.i4403 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i239.i.i4402, 1 + br i1 %cmp.i.i.i.i.i.i.i240.i.i4403, label %if.end8.sink.split.i.i.i.i.i241.i.i4404, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655 + +if.end8.sink.split.i.i.i.i.i241.i.i4404: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4401, %if.then.i.i.i.i.i246.i.i4409 + %vtable2.i.i.i.i.i.i.i242.i.i4405 = load ptr, ptr %1789, align 8 + %vfn3.i.i.i.i.i.i.i243.i.i4406 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i242.i.i4405, i64 3 + %1799 = load ptr, ptr %vfn3.i.i.i.i.i.i.i243.i.i4406, align 8 call void %1799(ptr noundef nonnull align 8 dereferenceable(16) %1789) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i4400, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4397, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3648, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3639 - %1800 = load ptr, ptr %ref.tmp82.i.i3410, align 8, !noalias !1588 - %1801 = load ptr, ptr %_M_finish.i.i220.i.i3578, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i221.i.i3652 = icmp eq ptr %1800, %1801 - br i1 %cmp.not3.i.i.i.i.i221.i.i3652, label %invoke.cont.i.i228.i.i3659, label %for.body.i.i.i.i.i222.i.i3653 - -for.body.i.i.i.i.i222.i.i3653: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651, %for.body.i.i.i.i.i222.i.i3653 - %__first.addr.04.i.i.i.i.i223.i.i3654 = phi ptr [ %incdec.ptr.i.i.i.i.i224.i.i3655, %for.body.i.i.i.i.i222.i.i3653 ], [ %1800, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i223.i.i3654) #30 - %incdec.ptr.i.i.i.i.i224.i.i3655 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i223.i.i3654, i64 1 - %cmp.not.i.i.i.i.i225.i.i3656 = icmp eq ptr %incdec.ptr.i.i.i.i.i224.i.i3655, %1801 - br i1 %cmp.not.i.i.i.i.i225.i.i3656, label %invoke.contthread-pre-split.i.i226.i.i3657, label %for.body.i.i.i.i.i222.i.i3653, !llvm.loop !8 - -invoke.contthread-pre-split.i.i226.i.i3657: ; preds = %for.body.i.i.i.i.i222.i.i3653 - %.pr.i.i227.i.i3658 = load ptr, ptr %ref.tmp82.i.i3410, align 8, !noalias !1588 - br label %invoke.cont.i.i228.i.i3659 - -invoke.cont.i.i228.i.i3659: ; preds = %invoke.contthread-pre-split.i.i226.i.i3657, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651 - %1802 = phi ptr [ %.pr.i.i227.i.i3658, %invoke.contthread-pre-split.i.i226.i.i3657 ], [ %1800, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3651 ] - %tobool.not.i.i.i.i229.i.i3660 = icmp eq ptr %1802, null - br i1 %tobool.not.i.i.i.i229.i.i3660, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3662, label %if.then.i.i.i1.i230.i.i3661 - -if.then.i.i.i1.i230.i.i3661: ; preds = %invoke.cont.i.i228.i.i3659 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i4404, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i4401, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i3652, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i3643 + %1800 = load ptr, ptr %ref.tmp82.i.i3414, align 8, !noalias !1588 + %1801 = load ptr, ptr %_M_finish.i.i220.i.i3582, align 8, !noalias !1588 + %cmp.not3.i.i.i.i.i221.i.i3656 = icmp eq ptr %1800, %1801 + br i1 %cmp.not3.i.i.i.i.i221.i.i3656, label %invoke.cont.i.i228.i.i3663, label %for.body.i.i.i.i.i222.i.i3657 + +for.body.i.i.i.i.i222.i.i3657: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655, %for.body.i.i.i.i.i222.i.i3657 + %__first.addr.04.i.i.i.i.i223.i.i3658 = phi ptr [ %incdec.ptr.i.i.i.i.i224.i.i3659, %for.body.i.i.i.i.i222.i.i3657 ], [ %1800, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i223.i.i3658) #30 + %incdec.ptr.i.i.i.i.i224.i.i3659 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i223.i.i3658, i64 1 + %cmp.not.i.i.i.i.i225.i.i3660 = icmp eq ptr %incdec.ptr.i.i.i.i.i224.i.i3659, %1801 + br i1 %cmp.not.i.i.i.i.i225.i.i3660, label %invoke.contthread-pre-split.i.i226.i.i3661, label %for.body.i.i.i.i.i222.i.i3657, !llvm.loop !8 + +invoke.contthread-pre-split.i.i226.i.i3661: ; preds = %for.body.i.i.i.i.i222.i.i3657 + %.pr.i.i227.i.i3662 = load ptr, ptr %ref.tmp82.i.i3414, align 8, !noalias !1588 + br label %invoke.cont.i.i228.i.i3663 + +invoke.cont.i.i228.i.i3663: ; preds = %invoke.contthread-pre-split.i.i226.i.i3661, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655 + %1802 = phi ptr [ %.pr.i.i227.i.i3662, %invoke.contthread-pre-split.i.i226.i.i3661 ], [ %1800, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i3655 ] + %tobool.not.i.i.i.i229.i.i3664 = icmp eq ptr %1802, null + br i1 %tobool.not.i.i.i.i229.i.i3664, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3666, label %if.then.i.i.i1.i230.i.i3665 + +if.then.i.i.i1.i230.i.i3665: ; preds = %invoke.cont.i.i228.i.i3663 call void @_ZdlPv(ptr noundef nonnull %1802) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3662 - -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3662: ; preds = %if.then.i.i.i1.i230.i.i3661, %invoke.cont.i.i228.i.i3659 - br i1 %call.i.i162.i.i3614, label %if.end109.i.i3770, label %if.then93.i.i3663 - -if.then93.i.i3663: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3662 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i3412) - to label %invoke.cont95.i.i3666 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i3664 - -invoke.cont95.i.i3666: ; preds = %if.then93.i.i3663 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i3401), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i3401) - to label %.noexc266.i.i3670 unwind label %lpad96.i.i3667 - -.noexc266.i.i3670: ; preds = %invoke.cont95.i.i3666 - %1803 = load ptr, ptr %ref.tmp.i251.i.i3401, align 8, !noalias !1588 - %add.ptr.i.i252.i.i3671 = getelementptr inbounds i8, ptr %1803, i64 16 - %call2.i1.i253.i.i3672 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i3671, ptr noundef nonnull @.str.107) - to label %invoke.cont.i260.i.i3678 unwind label %lpad.i254.i.i3673 - -invoke.cont.i260.i.i3678: ; preds = %.noexc266.i.i3670 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3412, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i3401) - to label %invoke.cont2.i261.i.i3679 unwind label %lpad.i254.i.i3673 - -invoke.cont2.i261.i.i3679: ; preds = %invoke.cont.i260.i.i3678 - %1804 = load ptr, ptr %ref.tmp.i251.i.i3401, align 8, !noalias !1588 - %cmp.not.i.i.i262.i.i3680 = icmp eq ptr %1804, null - br i1 %cmp.not.i.i.i262.i.i3680, label %invoke.cont97.i.i3684, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i3681 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i3681: ; preds = %invoke.cont2.i261.i.i3679 - %vtable.i.i.i.i264.i.i3682 = load ptr, ptr %1804, align 8 - %vfn.i.i.i.i265.i.i3683 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i3682, i64 1 - %1805 = load ptr, ptr %vfn.i.i.i.i265.i.i3683, align 8 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3666 + +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3666: ; preds = %if.then.i.i.i1.i230.i.i3665, %invoke.cont.i.i228.i.i3663 + br i1 %call.i.i162.i.i3618, label %if.end109.i.i3774, label %if.then93.i.i3667 + +if.then93.i.i3667: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3666 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i3416) + to label %invoke.cont95.i.i3670 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i3668 + +invoke.cont95.i.i3670: ; preds = %if.then93.i.i3667 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i3405), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i3405) + to label %.noexc266.i.i3674 unwind label %lpad96.i.i3671 + +.noexc266.i.i3674: ; preds = %invoke.cont95.i.i3670 + %1803 = load ptr, ptr %ref.tmp.i251.i.i3405, align 8, !noalias !1588 + %add.ptr.i.i252.i.i3675 = getelementptr inbounds i8, ptr %1803, i64 16 + %call2.i1.i253.i.i3676 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i3675, ptr noundef nonnull @.str.107) + to label %invoke.cont.i260.i.i3682 unwind label %lpad.i254.i.i3677 + +invoke.cont.i260.i.i3682: ; preds = %.noexc266.i.i3674 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3416, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i3405) + to label %invoke.cont2.i261.i.i3683 unwind label %lpad.i254.i.i3677 + +invoke.cont2.i261.i.i3683: ; preds = %invoke.cont.i260.i.i3682 + %1804 = load ptr, ptr %ref.tmp.i251.i.i3405, align 8, !noalias !1588 + %cmp.not.i.i.i262.i.i3684 = icmp eq ptr %1804, null + br i1 %cmp.not.i.i.i262.i.i3684, label %invoke.cont97.i.i3688, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i3685 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i3685: ; preds = %invoke.cont2.i261.i.i3683 + %vtable.i.i.i.i264.i.i3686 = load ptr, ptr %1804, align 8 + %vfn.i.i.i.i265.i.i3687 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i3686, i64 1 + %1805 = load ptr, ptr %vfn.i.i.i.i265.i.i3687, align 8 call void %1805(ptr noundef nonnull align 8 dereferenceable(128) %1804) #30 - br label %invoke.cont97.i.i3684 + br label %invoke.cont97.i.i3688 -lpad.i254.i.i3673: ; preds = %invoke.cont.i260.i.i3678, %.noexc266.i.i3670 +lpad.i254.i.i3677: ; preds = %invoke.cont.i260.i.i3682, %.noexc266.i.i3674 %1806 = landingpad { ptr, i32 } cleanup - %1807 = load ptr, ptr %ref.tmp.i251.i.i3401, align 8, !noalias !1588 - %cmp.not.i.i2.i255.i.i3674 = icmp eq ptr %1807, null - br i1 %cmp.not.i.i2.i255.i.i3674, label %ehcleanup108.i.i3668, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i3675 + %1807 = load ptr, ptr %ref.tmp.i251.i.i3405, align 8, !noalias !1588 + %cmp.not.i.i2.i255.i.i3678 = icmp eq ptr %1807, null + br i1 %cmp.not.i.i2.i255.i.i3678, label %ehcleanup108.i.i3672, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i3679 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i3675: ; preds = %lpad.i254.i.i3673 - %vtable.i.i.i4.i257.i.i3676 = load ptr, ptr %1807, align 8 - %vfn.i.i.i5.i258.i.i3677 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i3676, i64 1 - %1808 = load ptr, ptr %vfn.i.i.i5.i258.i.i3677, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i3679: ; preds = %lpad.i254.i.i3677 + %vtable.i.i.i4.i257.i.i3680 = load ptr, ptr %1807, align 8 + %vfn.i.i.i5.i258.i.i3681 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i3680, i64 1 + %1808 = load ptr, ptr %vfn.i.i.i5.i258.i.i3681, align 8 call void %1808(ptr noundef nonnull align 8 dereferenceable(128) %1807) #30 - br label %ehcleanup108.i.i3668 - -invoke.cont97.i.i3684: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i3681, %invoke.cont2.i261.i.i3679 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i3401), !noalias !1588 - %call81.val83.i.i3685 = load ptr, ptr %__begin072.sroa.0.048.i.i3598, align 8 - %1809 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i3598, i64 8 - %call81.val84.i.i3686 = load i64, ptr %1809, align 8 - %call81.val83.val.i.i3687 = load ptr, ptr %call81.val83.i.i3685, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i3413, ptr %call81.val83.val.i.i3687, i64 %call81.val84.i.i3686) - to label %invoke.cont100.i.i3689 unwind label %lpad96.i.i3667 - -invoke.cont100.i.i3689: ; preds = %invoke.cont97.i.i3684 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i3400), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i3400) - to label %.noexc283.i.i3693 unwind label %lpad101.i.i3690 - -.noexc283.i.i3693: ; preds = %invoke.cont100.i.i3689 - %1810 = load ptr, ptr %ref.tmp.i268.i.i3400, align 8, !noalias !1588 - %add.ptr.i.i269.i.i3694 = getelementptr inbounds i8, ptr %1810, i64 16 - %call2.i1.i270.i.i3695 = 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) %add.ptr.i.i269.i.i3694, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i3413) - to label %invoke.cont.i277.i.i3701 unwind label %lpad.i271.i.i3696 - -invoke.cont.i277.i.i3701: ; preds = %.noexc283.i.i3693 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3412, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i3400) - to label %invoke.cont2.i278.i.i3702 unwind label %lpad.i271.i.i3696 - -invoke.cont2.i278.i.i3702: ; preds = %invoke.cont.i277.i.i3701 - %1811 = load ptr, ptr %ref.tmp.i268.i.i3400, align 8, !noalias !1588 - %cmp.not.i.i.i279.i.i3703 = icmp eq ptr %1811, null - br i1 %cmp.not.i.i.i279.i.i3703, label %invoke.cont102.i.i3707, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i3704 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i3704: ; preds = %invoke.cont2.i278.i.i3702 - %vtable.i.i.i.i281.i.i3705 = load ptr, ptr %1811, align 8 - %vfn.i.i.i.i282.i.i3706 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i3705, i64 1 - %1812 = load ptr, ptr %vfn.i.i.i.i282.i.i3706, align 8 + br label %ehcleanup108.i.i3672 + +invoke.cont97.i.i3688: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i3685, %invoke.cont2.i261.i.i3683 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i3405), !noalias !1588 + %call81.val83.i.i3689 = load ptr, ptr %__begin072.sroa.0.048.i.i3602, align 8 + %1809 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i3602, i64 8 + %call81.val84.i.i3690 = load i64, ptr %1809, align 8 + %call81.val83.val.i.i3691 = load ptr, ptr %call81.val83.i.i3689, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i3417, ptr %call81.val83.val.i.i3691, i64 %call81.val84.i.i3690) + to label %invoke.cont100.i.i3693 unwind label %lpad96.i.i3671 + +invoke.cont100.i.i3693: ; preds = %invoke.cont97.i.i3688 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i3404), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i3404) + to label %.noexc283.i.i3697 unwind label %lpad101.i.i3694 + +.noexc283.i.i3697: ; preds = %invoke.cont100.i.i3693 + %1810 = load ptr, ptr %ref.tmp.i268.i.i3404, align 8, !noalias !1588 + %add.ptr.i.i269.i.i3698 = getelementptr inbounds i8, ptr %1810, i64 16 + %call2.i1.i270.i.i3699 = 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) %add.ptr.i.i269.i.i3698, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i3417) + to label %invoke.cont.i277.i.i3705 unwind label %lpad.i271.i.i3700 + +invoke.cont.i277.i.i3705: ; preds = %.noexc283.i.i3697 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3416, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i3404) + to label %invoke.cont2.i278.i.i3706 unwind label %lpad.i271.i.i3700 + +invoke.cont2.i278.i.i3706: ; preds = %invoke.cont.i277.i.i3705 + %1811 = load ptr, ptr %ref.tmp.i268.i.i3404, align 8, !noalias !1588 + %cmp.not.i.i.i279.i.i3707 = icmp eq ptr %1811, null + br i1 %cmp.not.i.i.i279.i.i3707, label %invoke.cont102.i.i3711, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i3708 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i3708: ; preds = %invoke.cont2.i278.i.i3706 + %vtable.i.i.i.i281.i.i3709 = load ptr, ptr %1811, align 8 + %vfn.i.i.i.i282.i.i3710 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i3709, i64 1 + %1812 = load ptr, ptr %vfn.i.i.i.i282.i.i3710, align 8 call void %1812(ptr noundef nonnull align 8 dereferenceable(128) %1811) #30 - br label %invoke.cont102.i.i3707 + br label %invoke.cont102.i.i3711 -lpad.i271.i.i3696: ; preds = %invoke.cont.i277.i.i3701, %.noexc283.i.i3693 +lpad.i271.i.i3700: ; preds = %invoke.cont.i277.i.i3705, %.noexc283.i.i3697 %1813 = landingpad { ptr, i32 } cleanup - %1814 = load ptr, ptr %ref.tmp.i268.i.i3400, align 8, !noalias !1588 - %cmp.not.i.i2.i272.i.i3697 = icmp eq ptr %1814, null - br i1 %cmp.not.i.i2.i272.i.i3697, label %lpad101.body.i.i3691, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i3698 + %1814 = load ptr, ptr %ref.tmp.i268.i.i3404, align 8, !noalias !1588 + %cmp.not.i.i2.i272.i.i3701 = icmp eq ptr %1814, null + br i1 %cmp.not.i.i2.i272.i.i3701, label %lpad101.body.i.i3695, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i3702 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i3698: ; preds = %lpad.i271.i.i3696 - %vtable.i.i.i4.i274.i.i3699 = load ptr, ptr %1814, align 8 - %vfn.i.i.i5.i275.i.i3700 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i3699, i64 1 - %1815 = load ptr, ptr %vfn.i.i.i5.i275.i.i3700, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i3702: ; preds = %lpad.i271.i.i3700 + %vtable.i.i.i4.i274.i.i3703 = load ptr, ptr %1814, align 8 + %vfn.i.i.i5.i275.i.i3704 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i3703, i64 1 + %1815 = load ptr, ptr %vfn.i.i.i5.i275.i.i3704, align 8 call void %1815(ptr noundef nonnull align 8 dereferenceable(128) %1814) #30 - br label %lpad101.body.i.i3691 - -invoke.cont102.i.i3707: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i3704, %invoke.cont2.i278.i.i3702 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i3400), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i3399), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i3399) - to label %.noexc301.i.i3708 unwind label %lpad101.i.i3690 - -.noexc301.i.i3708: ; preds = %invoke.cont102.i.i3707 - %1816 = load ptr, ptr %ref.tmp.i286.i.i3399, align 8, !noalias !1588 - %add.ptr.i.i287.i.i3709 = getelementptr inbounds i8, ptr %1816, i64 16 - %call2.i1.i288.i.i3710 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i3709, ptr noundef nonnull @.str.108) - to label %invoke.cont.i295.i.i3716 unwind label %lpad.i289.i.i3711 - -invoke.cont.i295.i.i3716: ; preds = %.noexc301.i.i3708 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3412, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i3399) - to label %invoke.cont2.i296.i.i3717 unwind label %lpad.i289.i.i3711 - -invoke.cont2.i296.i.i3717: ; preds = %invoke.cont.i295.i.i3716 - %1817 = load ptr, ptr %ref.tmp.i286.i.i3399, align 8, !noalias !1588 - %cmp.not.i.i.i297.i.i3718 = icmp eq ptr %1817, null - br i1 %cmp.not.i.i.i297.i.i3718, label %invoke.cont104.i.i3722, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i3719 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i3719: ; preds = %invoke.cont2.i296.i.i3717 - %vtable.i.i.i.i299.i.i3720 = load ptr, ptr %1817, align 8 - %vfn.i.i.i.i300.i.i3721 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i3720, i64 1 - %1818 = load ptr, ptr %vfn.i.i.i.i300.i.i3721, align 8 + br label %lpad101.body.i.i3695 + +invoke.cont102.i.i3711: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i3708, %invoke.cont2.i278.i.i3706 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i3404), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i3403), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i3403) + to label %.noexc301.i.i3712 unwind label %lpad101.i.i3694 + +.noexc301.i.i3712: ; preds = %invoke.cont102.i.i3711 + %1816 = load ptr, ptr %ref.tmp.i286.i.i3403, align 8, !noalias !1588 + %add.ptr.i.i287.i.i3713 = getelementptr inbounds i8, ptr %1816, i64 16 + %call2.i1.i288.i.i3714 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i3713, ptr noundef nonnull @.str.108) + to label %invoke.cont.i295.i.i3720 unwind label %lpad.i289.i.i3715 + +invoke.cont.i295.i.i3720: ; preds = %.noexc301.i.i3712 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3416, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i3403) + to label %invoke.cont2.i296.i.i3721 unwind label %lpad.i289.i.i3715 + +invoke.cont2.i296.i.i3721: ; preds = %invoke.cont.i295.i.i3720 + %1817 = load ptr, ptr %ref.tmp.i286.i.i3403, align 8, !noalias !1588 + %cmp.not.i.i.i297.i.i3722 = icmp eq ptr %1817, null + br i1 %cmp.not.i.i.i297.i.i3722, label %invoke.cont104.i.i3726, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i3723 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i3723: ; preds = %invoke.cont2.i296.i.i3721 + %vtable.i.i.i.i299.i.i3724 = load ptr, ptr %1817, align 8 + %vfn.i.i.i.i300.i.i3725 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i3724, i64 1 + %1818 = load ptr, ptr %vfn.i.i.i.i300.i.i3725, align 8 call void %1818(ptr noundef nonnull align 8 dereferenceable(128) %1817) #30 - br label %invoke.cont104.i.i3722 + br label %invoke.cont104.i.i3726 -lpad.i289.i.i3711: ; preds = %invoke.cont.i295.i.i3716, %.noexc301.i.i3708 +lpad.i289.i.i3715: ; preds = %invoke.cont.i295.i.i3720, %.noexc301.i.i3712 %1819 = landingpad { ptr, i32 } cleanup - %1820 = load ptr, ptr %ref.tmp.i286.i.i3399, align 8, !noalias !1588 - %cmp.not.i.i2.i290.i.i3712 = icmp eq ptr %1820, null - br i1 %cmp.not.i.i2.i290.i.i3712, label %lpad101.body.i.i3691, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i3713 + %1820 = load ptr, ptr %ref.tmp.i286.i.i3403, align 8, !noalias !1588 + %cmp.not.i.i2.i290.i.i3716 = icmp eq ptr %1820, null + br i1 %cmp.not.i.i2.i290.i.i3716, label %lpad101.body.i.i3695, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i3717 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i3713: ; preds = %lpad.i289.i.i3711 - %vtable.i.i.i4.i292.i.i3714 = load ptr, ptr %1820, align 8 - %vfn.i.i.i5.i293.i.i3715 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i3714, i64 1 - %1821 = load ptr, ptr %vfn.i.i.i5.i293.i.i3715, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i3717: ; preds = %lpad.i289.i.i3715 + %vtable.i.i.i4.i292.i.i3718 = load ptr, ptr %1820, align 8 + %vfn.i.i.i5.i293.i.i3719 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i3718, i64 1 + %1821 = load ptr, ptr %vfn.i.i.i5.i293.i.i3719, align 8 call void %1821(ptr noundef nonnull align 8 dereferenceable(128) %1820) #30 - br label %lpad101.body.i.i3691 + br label %lpad101.body.i.i3695 -invoke.cont104.i.i3722: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i3719, %invoke.cont2.i296.i.i3717 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i3399), !noalias !1588 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3412) - to label %invoke.cont106.i.i3723 unwind label %lpad101.i.i3690 +invoke.cont104.i.i3726: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i3723, %invoke.cont2.i296.i.i3721 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i3403), !noalias !1588 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3416) + to label %invoke.cont106.i.i3727 unwind label %lpad101.i.i3694 -invoke.cont106.i.i3723: ; preds = %invoke.cont104.i.i3722 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i3413) #30 - %message_.i304.i.i3724 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i3412, i64 0, i32 1 - %1822 = load ptr, ptr %message_.i304.i.i3724, align 8, !noalias !1588 - %cmp.not.i.i305.i.i3725 = icmp eq ptr %1822, null - br i1 %cmp.not.i.i305.i.i3725, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i3727, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i3726 +invoke.cont106.i.i3727: ; preds = %invoke.cont104.i.i3726 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i3417) #30 + %message_.i304.i.i3728 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i3416, i64 0, i32 1 + %1822 = load ptr, ptr %message_.i304.i.i3728, align 8, !noalias !1588 + %cmp.not.i.i305.i.i3729 = icmp eq ptr %1822, null + br i1 %cmp.not.i.i305.i.i3729, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i3731, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i3730 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i3726: ; preds = %invoke.cont106.i.i3723 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i3730: ; preds = %invoke.cont106.i.i3727 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1822) #30 call void @_ZdlPv(ptr noundef nonnull %1822) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i3727 + br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i3731 -_ZN7testing15AssertionResultD2Ev.exit307.i.i3727: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i3726, %invoke.cont106.i.i3723 - store ptr null, ptr %message_.i304.i.i3724, align 8, !noalias !1588 - br label %cleanup257.critedge.i.i3728 +_ZN7testing15AssertionResultD2Ev.exit307.i.i3731: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i3730, %invoke.cont106.i.i3727 + store ptr null, ptr %message_.i304.i.i3728, align 8, !noalias !1588 + br label %cleanup257.critedge.i.i3732 -lpad83.loopexit.i.i3918: ; preds = %if.end158.i.i3913 - %lpad.loopexit.i.i3919 = landingpad { ptr, i32 } +lpad83.loopexit.i.i3922: ; preds = %if.end158.i.i3917 + %lpad.loopexit.i.i3923 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i3604 + br label %ehcleanup252.i.i3608 -lpad83.loopexit.split-lp.loopexit.i.i3602: ; preds = %for.body80.i.i3597, %if.end109.i.i3770 - %lpad.loopexit8.i.i3603 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.i.i3606: ; preds = %for.body80.i.i3601, %if.end109.i.i3774 + %lpad.loopexit8.i.i3607 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i3604 + br label %ehcleanup252.i.i3608 -lpad83.loopexit.split-lp.loopexit.split-lp.i.i3664: ; preds = %if.then116.i.i3801, %if.then93.i.i3663 - %lpad.loopexit.split-lp9.i.i3665 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.split-lp.i.i3668: ; preds = %if.then116.i.i3805, %if.then93.i.i3667 + %lpad.loopexit.split-lp9.i.i3669 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i3604 + br label %ehcleanup252.i.i3608 -lpad86.i.i3610: ; preds = %invoke.cont84.i.i3606 +lpad86.i.i3614: ; preds = %invoke.cont84.i.i3610 %1823 = landingpad { ptr, i32 } cleanup - br label %ehcleanup92.i.i3611 + br label %ehcleanup92.i.i3615 -lpad88.i.i3615: ; preds = %invoke.cont87.i.i3613 +lpad88.i.i3619: ; preds = %invoke.cont87.i.i3617 %1824 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i3411) #30 - br label %ehcleanup92.i.i3611 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i3415) #30 + br label %ehcleanup92.i.i3615 -ehcleanup92.i.i3611: ; preds = %lpad88.i.i3615, %lpad86.i.i3610 - %.pn38.i.i3612 = phi { ptr, i32 } [ %1824, %lpad88.i.i3615 ], [ %1823, %lpad86.i.i3610 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i3410) #30 - br label %ehcleanup252.i.i3604 +ehcleanup92.i.i3615: ; preds = %lpad88.i.i3619, %lpad86.i.i3614 + %.pn38.i.i3616 = phi { ptr, i32 } [ %1824, %lpad88.i.i3619 ], [ %1823, %lpad86.i.i3614 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i3414) #30 + br label %ehcleanup252.i.i3608 -lpad96.i.i3667: ; preds = %invoke.cont97.i.i3684, %invoke.cont95.i.i3666 +lpad96.i.i3671: ; preds = %invoke.cont97.i.i3688, %invoke.cont95.i.i3670 %1825 = landingpad { ptr, i32 } cleanup - br label %ehcleanup108.i.i3668 + br label %ehcleanup108.i.i3672 -lpad101.i.i3690: ; preds = %invoke.cont104.i.i3722, %invoke.cont102.i.i3707, %invoke.cont100.i.i3689 +lpad101.i.i3694: ; preds = %invoke.cont104.i.i3726, %invoke.cont102.i.i3711, %invoke.cont100.i.i3693 %1826 = landingpad { ptr, i32 } cleanup - br label %lpad101.body.i.i3691 - -lpad101.body.i.i3691: ; preds = %lpad101.i.i3690, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i3713, %lpad.i289.i.i3711, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i3698, %lpad.i271.i.i3696 - %eh.lpad-body284.i.i3692 = phi { ptr, i32 } [ %1813, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i3698 ], [ %1813, %lpad.i271.i.i3696 ], [ %1826, %lpad101.i.i3690 ], [ %1819, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i3713 ], [ %1819, %lpad.i289.i.i3711 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i3413) #30 - br label %ehcleanup108.i.i3668 - -ehcleanup108.i.i3668: ; preds = %lpad101.body.i.i3691, %lpad96.i.i3667, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i3675, %lpad.i254.i.i3673 - %.pn43.i.i3669 = phi { ptr, i32 } [ %eh.lpad-body284.i.i3692, %lpad101.body.i.i3691 ], [ %1825, %lpad96.i.i3667 ], [ %1806, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i3675 ], [ %1806, %lpad.i254.i.i3673 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3412) #30 - br label %ehcleanup252.i.i3604 - -if.end109.i.i3770: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3662 - %call81.val66.i.i3771 = load ptr, ptr %__begin072.sroa.0.048.i.i3598, align 8 - %call81.val66.val.i.i3772 = load ptr, ptr %call81.val66.i.i3771, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i3414, ptr %call81.val66.val.i.i3772) - to label %invoke.cont111.i.i3774 unwind label %lpad83.loopexit.split-lp.loopexit.i.i3602 - -invoke.cont111.i.i3774: ; preds = %if.end109.i.i3770 - %call.i.i309.i.i3775 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i3414, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i3409) - to label %invoke.cont113.i.i3777 unwind label %lpad112.i.i3776 - -invoke.cont113.i.i3777: ; preds = %invoke.cont111.i.i3774 - %1827 = load ptr, ptr %_M_refcount.i.i.i311.i.i3579, align 8, !noalias !1588 - %cmp.not.i.i.i.i312.i.i3778 = icmp eq ptr %1827, null - br i1 %cmp.not.i.i.i.i312.i.i3778, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789, label %if.then.i.i.i.i313.i.i3779 - -if.then.i.i.i.i313.i.i3779: ; preds = %invoke.cont113.i.i3777 - %_M_use_count.i.i.i.i.i314.i.i3780 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1827, i64 0, i32 1 - %1828 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i3780 acquire, align 8 - %cmp.i.i.i.i.i315.i.i3781 = icmp eq i64 %1828, 4294967297 + br label %lpad101.body.i.i3695 + +lpad101.body.i.i3695: ; preds = %lpad101.i.i3694, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i3717, %lpad.i289.i.i3715, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i3702, %lpad.i271.i.i3700 + %eh.lpad-body284.i.i3696 = phi { ptr, i32 } [ %1813, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i3702 ], [ %1813, %lpad.i271.i.i3700 ], [ %1826, %lpad101.i.i3694 ], [ %1819, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i3717 ], [ %1819, %lpad.i289.i.i3715 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i3417) #30 + br label %ehcleanup108.i.i3672 + +ehcleanup108.i.i3672: ; preds = %lpad101.body.i.i3695, %lpad96.i.i3671, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i3679, %lpad.i254.i.i3677 + %.pn43.i.i3673 = phi { ptr, i32 } [ %eh.lpad-body284.i.i3696, %lpad101.body.i.i3695 ], [ %1825, %lpad96.i.i3671 ], [ %1806, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i3679 ], [ %1806, %lpad.i254.i.i3677 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i3416) #30 + br label %ehcleanup252.i.i3608 + +if.end109.i.i3774: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i3666 + %call81.val66.i.i3775 = load ptr, ptr %__begin072.sroa.0.048.i.i3602, align 8 + %call81.val66.val.i.i3776 = load ptr, ptr %call81.val66.i.i3775, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i3418, ptr %call81.val66.val.i.i3776) + to label %invoke.cont111.i.i3778 unwind label %lpad83.loopexit.split-lp.loopexit.i.i3606 + +invoke.cont111.i.i3778: ; preds = %if.end109.i.i3774 + %call.i.i309.i.i3779 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i3418, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i3413) + to label %invoke.cont113.i.i3781 unwind label %lpad112.i.i3780 + +invoke.cont113.i.i3781: ; preds = %invoke.cont111.i.i3778 + %1827 = load ptr, ptr %_M_refcount.i.i.i311.i.i3583, align 8, !noalias !1588 + %cmp.not.i.i.i.i312.i.i3782 = icmp eq ptr %1827, null + br i1 %cmp.not.i.i.i.i312.i.i3782, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793, label %if.then.i.i.i.i313.i.i3783 + +if.then.i.i.i.i313.i.i3783: ; preds = %invoke.cont113.i.i3781 + %_M_use_count.i.i.i.i.i314.i.i3784 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1827, i64 0, i32 1 + %1828 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i3784 acquire, align 8 + %cmp.i.i.i.i.i315.i.i3785 = icmp eq i64 %1828, 4294967297 %1829 = trunc i64 %1828 to i32 - br i1 %cmp.i.i.i.i.i315.i.i3781, label %if.then.i.i.i.i.i350.i.i4386, label %if.end.i.i.i.i.i316.i.i3782 - -if.then.i.i.i.i.i350.i.i4386: ; preds = %if.then.i.i.i.i313.i.i3779 - store i32 0, ptr %_M_use_count.i.i.i.i.i314.i.i3780, align 8 - %_M_weak_count.i.i.i.i.i351.i.i4387 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1827, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i351.i.i4387, align 4 - %vtable.i.i.i.i.i352.i.i4388 = load ptr, ptr %1827, align 8 - %vfn.i.i.i.i.i353.i.i4389 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i352.i.i4388, i64 2 - %1830 = load ptr, ptr %vfn.i.i.i.i.i353.i.i4389, align 8 + br i1 %cmp.i.i.i.i.i315.i.i3785, label %if.then.i.i.i.i.i350.i.i4390, label %if.end.i.i.i.i.i316.i.i3786 + +if.then.i.i.i.i.i350.i.i4390: ; preds = %if.then.i.i.i.i313.i.i3783 + store i32 0, ptr %_M_use_count.i.i.i.i.i314.i.i3784, align 8 + %_M_weak_count.i.i.i.i.i351.i.i4391 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1827, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i351.i.i4391, align 4 + %vtable.i.i.i.i.i352.i.i4392 = load ptr, ptr %1827, align 8 + %vfn.i.i.i.i.i353.i.i4393 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i352.i.i4392, i64 2 + %1830 = load ptr, ptr %vfn.i.i.i.i.i353.i.i4393, align 8 call void %1830(ptr noundef nonnull align 8 dereferenceable(16) %1827) #30 - br label %if.end8.sink.split.i.i.i.i.i345.i.i4381 + br label %if.end8.sink.split.i.i.i.i.i345.i.i4385 -if.end.i.i.i.i.i316.i.i3782: ; preds = %if.then.i.i.i.i313.i.i3779 +if.end.i.i.i.i.i316.i.i3786: ; preds = %if.then.i.i.i.i313.i.i3783 %1831 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i317.i.i3783 = icmp eq i8 %1831, 0 - br i1 %tobool.i.i.not.i.i.i.i.i317.i.i3783, label %if.else.i.i.i.i.i.i349.i.i4385, label %if.then.i.i.i.i.i.i318.i.i3784 - -if.then.i.i.i.i.i.i318.i.i3784: ; preds = %if.end.i.i.i.i.i316.i.i3782 - %add.i.i.i.i.i.i319.i.i3785 = add nsw i32 %1829, -1 - store i32 %add.i.i.i.i.i.i319.i.i3785, ptr %_M_use_count.i.i.i.i.i314.i.i3780, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3786 - -if.else.i.i.i.i.i.i349.i.i4385: ; preds = %if.end.i.i.i.i.i316.i.i3782 - %1832 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i314.i.i3780, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3786 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3786: ; preds = %if.else.i.i.i.i.i.i349.i.i4385, %if.then.i.i.i.i.i.i318.i.i3784 - %retval.i.0.i.i.i.i.i321.i.i3787 = phi i32 [ %1829, %if.then.i.i.i.i.i.i318.i.i3784 ], [ %1832, %if.else.i.i.i.i.i.i349.i.i4385 ] - %cmp6.i.i.i.i.i322.i.i3788 = icmp eq i32 %retval.i.0.i.i.i.i.i321.i.i3787, 1 - br i1 %cmp6.i.i.i.i.i322.i.i3788, label %if.then7.i.i.i.i.i335.i.i4371, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789 - -if.then7.i.i.i.i.i335.i.i4371: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3786 - %vtable.i.i.i.i.i.i.i336.i.i4372 = load ptr, ptr %1827, align 8 - %vfn.i.i.i.i.i.i.i337.i.i4373 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i336.i.i4372, i64 2 - %1833 = load ptr, ptr %vfn.i.i.i.i.i.i.i337.i.i4373, align 8 + %tobool.i.i.not.i.i.i.i.i317.i.i3787 = icmp eq i8 %1831, 0 + br i1 %tobool.i.i.not.i.i.i.i.i317.i.i3787, label %if.else.i.i.i.i.i.i349.i.i4389, label %if.then.i.i.i.i.i.i318.i.i3788 + +if.then.i.i.i.i.i.i318.i.i3788: ; preds = %if.end.i.i.i.i.i316.i.i3786 + %add.i.i.i.i.i.i319.i.i3789 = add nsw i32 %1829, -1 + store i32 %add.i.i.i.i.i.i319.i.i3789, ptr %_M_use_count.i.i.i.i.i314.i.i3784, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3790 + +if.else.i.i.i.i.i.i349.i.i4389: ; preds = %if.end.i.i.i.i.i316.i.i3786 + %1832 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i314.i.i3784, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3790 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3790: ; preds = %if.else.i.i.i.i.i.i349.i.i4389, %if.then.i.i.i.i.i.i318.i.i3788 + %retval.i.0.i.i.i.i.i321.i.i3791 = phi i32 [ %1829, %if.then.i.i.i.i.i.i318.i.i3788 ], [ %1832, %if.else.i.i.i.i.i.i349.i.i4389 ] + %cmp6.i.i.i.i.i322.i.i3792 = icmp eq i32 %retval.i.0.i.i.i.i.i321.i.i3791, 1 + br i1 %cmp6.i.i.i.i.i322.i.i3792, label %if.then7.i.i.i.i.i335.i.i4375, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793 + +if.then7.i.i.i.i.i335.i.i4375: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3790 + %vtable.i.i.i.i.i.i.i336.i.i4376 = load ptr, ptr %1827, align 8 + %vfn.i.i.i.i.i.i.i337.i.i4377 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i336.i.i4376, i64 2 + %1833 = load ptr, ptr %vfn.i.i.i.i.i.i.i337.i.i4377, align 8 call void %1833(ptr noundef nonnull align 8 dereferenceable(16) %1827) #30 - %_M_weak_count.i.i.i.i.i.i.i338.i.i4374 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1827, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i338.i.i4378 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1827, i64 0, i32 2 %1834 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i339.i.i4375 = icmp eq i8 %1834, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i339.i.i4375, label %if.else.i.i.i.i.i.i.i.i348.i.i4384, label %if.then.i.i.i.i.i.i.i.i340.i.i4376 - -if.then.i.i.i.i.i.i.i.i340.i.i4376: ; preds = %if.then7.i.i.i.i.i335.i.i4371 - %1835 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i4374, align 4 - %add.i.i.i.i.i.i.i.i341.i.i4377 = add nsw i32 %1835, -1 - store i32 %add.i.i.i.i.i.i.i.i341.i.i4377, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i4374, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4378 - -if.else.i.i.i.i.i.i.i.i348.i.i4384: ; preds = %if.then7.i.i.i.i.i335.i.i4371 - %1836 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i4374, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4378 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4378: ; preds = %if.else.i.i.i.i.i.i.i.i348.i.i4384, %if.then.i.i.i.i.i.i.i.i340.i.i4376 - %retval.i.0.i.i.i.i.i.i.i343.i.i4379 = phi i32 [ %1835, %if.then.i.i.i.i.i.i.i.i340.i.i4376 ], [ %1836, %if.else.i.i.i.i.i.i.i.i348.i.i4384 ] - %cmp.i.i.i.i.i.i.i344.i.i4380 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i343.i.i4379, 1 - br i1 %cmp.i.i.i.i.i.i.i344.i.i4380, label %if.end8.sink.split.i.i.i.i.i345.i.i4381, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789 - -if.end8.sink.split.i.i.i.i.i345.i.i4381: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4378, %if.then.i.i.i.i.i350.i.i4386 - %vtable2.i.i.i.i.i.i.i346.i.i4382 = load ptr, ptr %1827, align 8 - %vfn3.i.i.i.i.i.i.i347.i.i4383 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i346.i.i4382, i64 3 - %1837 = load ptr, ptr %vfn3.i.i.i.i.i.i.i347.i.i4383, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i339.i.i4379 = icmp eq i8 %1834, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i339.i.i4379, label %if.else.i.i.i.i.i.i.i.i348.i.i4388, label %if.then.i.i.i.i.i.i.i.i340.i.i4380 + +if.then.i.i.i.i.i.i.i.i340.i.i4380: ; preds = %if.then7.i.i.i.i.i335.i.i4375 + %1835 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i4378, align 4 + %add.i.i.i.i.i.i.i.i341.i.i4381 = add nsw i32 %1835, -1 + store i32 %add.i.i.i.i.i.i.i.i341.i.i4381, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i4378, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4382 + +if.else.i.i.i.i.i.i.i.i348.i.i4388: ; preds = %if.then7.i.i.i.i.i335.i.i4375 + %1836 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i4378, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4382 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4382: ; preds = %if.else.i.i.i.i.i.i.i.i348.i.i4388, %if.then.i.i.i.i.i.i.i.i340.i.i4380 + %retval.i.0.i.i.i.i.i.i.i343.i.i4383 = phi i32 [ %1835, %if.then.i.i.i.i.i.i.i.i340.i.i4380 ], [ %1836, %if.else.i.i.i.i.i.i.i.i348.i.i4388 ] + %cmp.i.i.i.i.i.i.i344.i.i4384 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i343.i.i4383, 1 + br i1 %cmp.i.i.i.i.i.i.i344.i.i4384, label %if.end8.sink.split.i.i.i.i.i345.i.i4385, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793 + +if.end8.sink.split.i.i.i.i.i345.i.i4385: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4382, %if.then.i.i.i.i.i350.i.i4390 + %vtable2.i.i.i.i.i.i.i346.i.i4386 = load ptr, ptr %1827, align 8 + %vfn3.i.i.i.i.i.i.i347.i.i4387 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i346.i.i4386, i64 3 + %1837 = load ptr, ptr %vfn3.i.i.i.i.i.i.i347.i.i4387, align 8 call void %1837(ptr noundef nonnull align 8 dereferenceable(16) %1827) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i4381, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4378, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3786, %invoke.cont113.i.i3777 - %1838 = load ptr, ptr %ref.tmp110.i.i3414, align 8, !noalias !1588 - %1839 = load ptr, ptr %_M_finish.i.i324.i.i3580, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i325.i.i3790 = icmp eq ptr %1838, %1839 - br i1 %cmp.not3.i.i.i.i.i325.i.i3790, label %invoke.cont.i.i332.i.i3797, label %for.body.i.i.i.i.i326.i.i3791 - -for.body.i.i.i.i.i326.i.i3791: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789, %for.body.i.i.i.i.i326.i.i3791 - %__first.addr.04.i.i.i.i.i327.i.i3792 = phi ptr [ %incdec.ptr.i.i.i.i.i328.i.i3793, %for.body.i.i.i.i.i326.i.i3791 ], [ %1838, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i327.i.i3792) #30 - %incdec.ptr.i.i.i.i.i328.i.i3793 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i327.i.i3792, i64 1 - %cmp.not.i.i.i.i.i329.i.i3794 = icmp eq ptr %incdec.ptr.i.i.i.i.i328.i.i3793, %1839 - br i1 %cmp.not.i.i.i.i.i329.i.i3794, label %invoke.contthread-pre-split.i.i330.i.i3795, label %for.body.i.i.i.i.i326.i.i3791, !llvm.loop !8 - -invoke.contthread-pre-split.i.i330.i.i3795: ; preds = %for.body.i.i.i.i.i326.i.i3791 - %.pr.i.i331.i.i3796 = load ptr, ptr %ref.tmp110.i.i3414, align 8, !noalias !1588 - br label %invoke.cont.i.i332.i.i3797 - -invoke.cont.i.i332.i.i3797: ; preds = %invoke.contthread-pre-split.i.i330.i.i3795, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789 - %1840 = phi ptr [ %.pr.i.i331.i.i3796, %invoke.contthread-pre-split.i.i330.i.i3795 ], [ %1838, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3789 ] - %tobool.not.i.i.i.i333.i.i3798 = icmp eq ptr %1840, null - br i1 %tobool.not.i.i.i.i333.i.i3798, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3800, label %if.then.i.i.i1.i334.i.i3799 - -if.then.i.i.i1.i334.i.i3799: ; preds = %invoke.cont.i.i332.i.i3797 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i4385, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i4382, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i3790, %invoke.cont113.i.i3781 + %1838 = load ptr, ptr %ref.tmp110.i.i3418, align 8, !noalias !1588 + %1839 = load ptr, ptr %_M_finish.i.i324.i.i3584, align 8, !noalias !1588 + %cmp.not3.i.i.i.i.i325.i.i3794 = icmp eq ptr %1838, %1839 + br i1 %cmp.not3.i.i.i.i.i325.i.i3794, label %invoke.cont.i.i332.i.i3801, label %for.body.i.i.i.i.i326.i.i3795 + +for.body.i.i.i.i.i326.i.i3795: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793, %for.body.i.i.i.i.i326.i.i3795 + %__first.addr.04.i.i.i.i.i327.i.i3796 = phi ptr [ %incdec.ptr.i.i.i.i.i328.i.i3797, %for.body.i.i.i.i.i326.i.i3795 ], [ %1838, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i327.i.i3796) #30 + %incdec.ptr.i.i.i.i.i328.i.i3797 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i327.i.i3796, i64 1 + %cmp.not.i.i.i.i.i329.i.i3798 = icmp eq ptr %incdec.ptr.i.i.i.i.i328.i.i3797, %1839 + br i1 %cmp.not.i.i.i.i.i329.i.i3798, label %invoke.contthread-pre-split.i.i330.i.i3799, label %for.body.i.i.i.i.i326.i.i3795, !llvm.loop !8 + +invoke.contthread-pre-split.i.i330.i.i3799: ; preds = %for.body.i.i.i.i.i326.i.i3795 + %.pr.i.i331.i.i3800 = load ptr, ptr %ref.tmp110.i.i3418, align 8, !noalias !1588 + br label %invoke.cont.i.i332.i.i3801 + +invoke.cont.i.i332.i.i3801: ; preds = %invoke.contthread-pre-split.i.i330.i.i3799, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793 + %1840 = phi ptr [ %.pr.i.i331.i.i3800, %invoke.contthread-pre-split.i.i330.i.i3799 ], [ %1838, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i3793 ] + %tobool.not.i.i.i.i333.i.i3802 = icmp eq ptr %1840, null + br i1 %tobool.not.i.i.i.i333.i.i3802, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3804, label %if.then.i.i.i1.i334.i.i3803 + +if.then.i.i.i1.i334.i.i3803: ; preds = %invoke.cont.i.i332.i.i3801 call void @_ZdlPv(ptr noundef nonnull %1840) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3800 - -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3800: ; preds = %if.then.i.i.i1.i334.i.i3799, %invoke.cont.i.i332.i.i3797 - br i1 %call.i.i309.i.i3775, label %for.inc142.i.i3903, label %if.then116.i.i3801 - -if.then116.i.i3801: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3800 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i3415) - to label %invoke.cont118.i.i3802 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i3664 - -invoke.cont118.i.i3802: ; preds = %if.then116.i.i3801 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i3398), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i3398) - to label %.noexc370.i.i3806 unwind label %lpad119.i.i3803 - -.noexc370.i.i3806: ; preds = %invoke.cont118.i.i3802 - %1841 = load ptr, ptr %ref.tmp.i355.i.i3398, align 8, !noalias !1588 - %add.ptr.i.i356.i.i3807 = getelementptr inbounds i8, ptr %1841, i64 16 - %call2.i1.i357.i.i3808 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i3807, ptr noundef nonnull @.str.109) - to label %invoke.cont.i364.i.i3814 unwind label %lpad.i358.i.i3809 - -invoke.cont.i364.i.i3814: ; preds = %.noexc370.i.i3806 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3415, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i3398) - to label %invoke.cont2.i365.i.i3815 unwind label %lpad.i358.i.i3809 - -invoke.cont2.i365.i.i3815: ; preds = %invoke.cont.i364.i.i3814 - %1842 = load ptr, ptr %ref.tmp.i355.i.i3398, align 8, !noalias !1588 - %cmp.not.i.i.i366.i.i3816 = icmp eq ptr %1842, null - br i1 %cmp.not.i.i.i366.i.i3816, label %invoke.cont120.i.i3820, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i3817 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i3817: ; preds = %invoke.cont2.i365.i.i3815 - %vtable.i.i.i.i368.i.i3818 = load ptr, ptr %1842, align 8 - %vfn.i.i.i.i369.i.i3819 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i3818, i64 1 - %1843 = load ptr, ptr %vfn.i.i.i.i369.i.i3819, align 8 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3804 + +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3804: ; preds = %if.then.i.i.i1.i334.i.i3803, %invoke.cont.i.i332.i.i3801 + br i1 %call.i.i309.i.i3779, label %for.inc142.i.i3907, label %if.then116.i.i3805 + +if.then116.i.i3805: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3804 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i3419) + to label %invoke.cont118.i.i3806 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i3668 + +invoke.cont118.i.i3806: ; preds = %if.then116.i.i3805 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i3402), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i3402) + to label %.noexc370.i.i3810 unwind label %lpad119.i.i3807 + +.noexc370.i.i3810: ; preds = %invoke.cont118.i.i3806 + %1841 = load ptr, ptr %ref.tmp.i355.i.i3402, align 8, !noalias !1588 + %add.ptr.i.i356.i.i3811 = getelementptr inbounds i8, ptr %1841, i64 16 + %call2.i1.i357.i.i3812 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i3811, ptr noundef nonnull @.str.109) + to label %invoke.cont.i364.i.i3818 unwind label %lpad.i358.i.i3813 + +invoke.cont.i364.i.i3818: ; preds = %.noexc370.i.i3810 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i3402) + to label %invoke.cont2.i365.i.i3819 unwind label %lpad.i358.i.i3813 + +invoke.cont2.i365.i.i3819: ; preds = %invoke.cont.i364.i.i3818 + %1842 = load ptr, ptr %ref.tmp.i355.i.i3402, align 8, !noalias !1588 + %cmp.not.i.i.i366.i.i3820 = icmp eq ptr %1842, null + br i1 %cmp.not.i.i.i366.i.i3820, label %invoke.cont120.i.i3824, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i3821 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i3821: ; preds = %invoke.cont2.i365.i.i3819 + %vtable.i.i.i.i368.i.i3822 = load ptr, ptr %1842, align 8 + %vfn.i.i.i.i369.i.i3823 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i3822, i64 1 + %1843 = load ptr, ptr %vfn.i.i.i.i369.i.i3823, align 8 call void %1843(ptr noundef nonnull align 8 dereferenceable(128) %1842) #30 - br label %invoke.cont120.i.i3820 + br label %invoke.cont120.i.i3824 -lpad.i358.i.i3809: ; preds = %invoke.cont.i364.i.i3814, %.noexc370.i.i3806 +lpad.i358.i.i3813: ; preds = %invoke.cont.i364.i.i3818, %.noexc370.i.i3810 %1844 = landingpad { ptr, i32 } cleanup - %1845 = load ptr, ptr %ref.tmp.i355.i.i3398, align 8, !noalias !1588 - %cmp.not.i.i2.i359.i.i3810 = icmp eq ptr %1845, null - br i1 %cmp.not.i.i2.i359.i.i3810, label %ehcleanup140.i.i3804, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i3811 + %1845 = load ptr, ptr %ref.tmp.i355.i.i3402, align 8, !noalias !1588 + %cmp.not.i.i2.i359.i.i3814 = icmp eq ptr %1845, null + br i1 %cmp.not.i.i2.i359.i.i3814, label %ehcleanup140.i.i3808, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i3815 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i3811: ; preds = %lpad.i358.i.i3809 - %vtable.i.i.i4.i361.i.i3812 = load ptr, ptr %1845, align 8 - %vfn.i.i.i5.i362.i.i3813 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i3812, i64 1 - %1846 = load ptr, ptr %vfn.i.i.i5.i362.i.i3813, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i3815: ; preds = %lpad.i358.i.i3813 + %vtable.i.i.i4.i361.i.i3816 = load ptr, ptr %1845, align 8 + %vfn.i.i.i5.i362.i.i3817 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i3816, i64 1 + %1846 = load ptr, ptr %vfn.i.i.i5.i362.i.i3817, align 8 call void %1846(ptr noundef nonnull align 8 dereferenceable(128) %1845) #30 - br label %ehcleanup140.i.i3804 - -invoke.cont120.i.i3820: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i3817, %invoke.cont2.i365.i.i3815 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i3398), !noalias !1588 - %call68.val73.i.i3821 = load ptr, ptr %__begin058.sroa.0.052.i.i3586, align 8 - %call123.val.i.i3822 = load ptr, ptr %call68.val73.i.i3821, align 8 - %1847 = getelementptr i8, ptr %call68.val73.i.i3821, i64 8 - %call123.val85.i.i3823 = load i64, ptr %1847, align 8 - %call123.val.val.i.i3824 = load ptr, ptr %call123.val.i.i3822, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i3416, ptr %call123.val.val.i.i3824, i64 %call123.val85.i.i3823) - to label %invoke.cont124.i.i3826 unwind label %lpad119.i.i3803 - -invoke.cont124.i.i3826: ; preds = %invoke.cont120.i.i3820 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i3397), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i3397) - to label %.noexc387.i.i3830 unwind label %lpad125.i.i3827 - -.noexc387.i.i3830: ; preds = %invoke.cont124.i.i3826 - %1848 = load ptr, ptr %ref.tmp.i372.i.i3397, align 8, !noalias !1588 - %add.ptr.i.i373.i.i3831 = getelementptr inbounds i8, ptr %1848, i64 16 - %call2.i1.i374.i.i3832 = 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) %add.ptr.i.i373.i.i3831, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i3416) - to label %invoke.cont.i381.i.i3838 unwind label %lpad.i375.i.i3833 - -invoke.cont.i381.i.i3838: ; preds = %.noexc387.i.i3830 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3415, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i3397) - to label %invoke.cont2.i382.i.i3839 unwind label %lpad.i375.i.i3833 - -invoke.cont2.i382.i.i3839: ; preds = %invoke.cont.i381.i.i3838 - %1849 = load ptr, ptr %ref.tmp.i372.i.i3397, align 8, !noalias !1588 - %cmp.not.i.i.i383.i.i3840 = icmp eq ptr %1849, null - br i1 %cmp.not.i.i.i383.i.i3840, label %invoke.cont126.i.i3844, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i3841 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i3841: ; preds = %invoke.cont2.i382.i.i3839 - %vtable.i.i.i.i385.i.i3842 = load ptr, ptr %1849, align 8 - %vfn.i.i.i.i386.i.i3843 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i3842, i64 1 - %1850 = load ptr, ptr %vfn.i.i.i.i386.i.i3843, align 8 + br label %ehcleanup140.i.i3808 + +invoke.cont120.i.i3824: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i3821, %invoke.cont2.i365.i.i3819 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i3402), !noalias !1588 + %call68.val73.i.i3825 = load ptr, ptr %__begin058.sroa.0.052.i.i3590, align 8 + %call123.val.i.i3826 = load ptr, ptr %call68.val73.i.i3825, align 8 + %1847 = getelementptr i8, ptr %call68.val73.i.i3825, i64 8 + %call123.val85.i.i3827 = load i64, ptr %1847, align 8 + %call123.val.val.i.i3828 = load ptr, ptr %call123.val.i.i3826, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i3420, ptr %call123.val.val.i.i3828, i64 %call123.val85.i.i3827) + to label %invoke.cont124.i.i3830 unwind label %lpad119.i.i3807 + +invoke.cont124.i.i3830: ; preds = %invoke.cont120.i.i3824 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i3401), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i3401) + to label %.noexc387.i.i3834 unwind label %lpad125.i.i3831 + +.noexc387.i.i3834: ; preds = %invoke.cont124.i.i3830 + %1848 = load ptr, ptr %ref.tmp.i372.i.i3401, align 8, !noalias !1588 + %add.ptr.i.i373.i.i3835 = getelementptr inbounds i8, ptr %1848, i64 16 + %call2.i1.i374.i.i3836 = 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) %add.ptr.i.i373.i.i3835, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i3420) + to label %invoke.cont.i381.i.i3842 unwind label %lpad.i375.i.i3837 + +invoke.cont.i381.i.i3842: ; preds = %.noexc387.i.i3834 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i3401) + to label %invoke.cont2.i382.i.i3843 unwind label %lpad.i375.i.i3837 + +invoke.cont2.i382.i.i3843: ; preds = %invoke.cont.i381.i.i3842 + %1849 = load ptr, ptr %ref.tmp.i372.i.i3401, align 8, !noalias !1588 + %cmp.not.i.i.i383.i.i3844 = icmp eq ptr %1849, null + br i1 %cmp.not.i.i.i383.i.i3844, label %invoke.cont126.i.i3848, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i3845 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i3845: ; preds = %invoke.cont2.i382.i.i3843 + %vtable.i.i.i.i385.i.i3846 = load ptr, ptr %1849, align 8 + %vfn.i.i.i.i386.i.i3847 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i3846, i64 1 + %1850 = load ptr, ptr %vfn.i.i.i.i386.i.i3847, align 8 call void %1850(ptr noundef nonnull align 8 dereferenceable(128) %1849) #30 - br label %invoke.cont126.i.i3844 + br label %invoke.cont126.i.i3848 -lpad.i375.i.i3833: ; preds = %invoke.cont.i381.i.i3838, %.noexc387.i.i3830 +lpad.i375.i.i3837: ; preds = %invoke.cont.i381.i.i3842, %.noexc387.i.i3834 %1851 = landingpad { ptr, i32 } cleanup - %1852 = load ptr, ptr %ref.tmp.i372.i.i3397, align 8, !noalias !1588 - %cmp.not.i.i2.i376.i.i3834 = icmp eq ptr %1852, null - br i1 %cmp.not.i.i2.i376.i.i3834, label %ehcleanup139.i.i3828, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i3835 + %1852 = load ptr, ptr %ref.tmp.i372.i.i3401, align 8, !noalias !1588 + %cmp.not.i.i2.i376.i.i3838 = icmp eq ptr %1852, null + br i1 %cmp.not.i.i2.i376.i.i3838, label %ehcleanup139.i.i3832, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i3839 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i3835: ; preds = %lpad.i375.i.i3833 - %vtable.i.i.i4.i378.i.i3836 = load ptr, ptr %1852, align 8 - %vfn.i.i.i5.i379.i.i3837 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i3836, i64 1 - %1853 = load ptr, ptr %vfn.i.i.i5.i379.i.i3837, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i3839: ; preds = %lpad.i375.i.i3837 + %vtable.i.i.i4.i378.i.i3840 = load ptr, ptr %1852, align 8 + %vfn.i.i.i5.i379.i.i3841 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i3840, i64 1 + %1853 = load ptr, ptr %vfn.i.i.i5.i379.i.i3841, align 8 call void %1853(ptr noundef nonnull align 8 dereferenceable(128) %1852) #30 - br label %ehcleanup139.i.i3828 - -invoke.cont126.i.i3844: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i3841, %invoke.cont2.i382.i.i3839 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i3397), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i3396), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i3396) - to label %.noexc405.i.i3845 unwind label %lpad125.i.i3827 - -.noexc405.i.i3845: ; preds = %invoke.cont126.i.i3844 - %1854 = load ptr, ptr %ref.tmp.i390.i.i3396, align 8, !noalias !1588 - %add.ptr.i.i391.i.i3846 = getelementptr inbounds i8, ptr %1854, i64 16 - %call2.i1.i392.i.i3847 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i3846, ptr noundef nonnull @.str.110) - to label %invoke.cont.i399.i.i3853 unwind label %lpad.i393.i.i3848 - -invoke.cont.i399.i.i3853: ; preds = %.noexc405.i.i3845 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3415, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i3396) - to label %invoke.cont2.i400.i.i3854 unwind label %lpad.i393.i.i3848 - -invoke.cont2.i400.i.i3854: ; preds = %invoke.cont.i399.i.i3853 - %1855 = load ptr, ptr %ref.tmp.i390.i.i3396, align 8, !noalias !1588 - %cmp.not.i.i.i401.i.i3855 = icmp eq ptr %1855, null - br i1 %cmp.not.i.i.i401.i.i3855, label %invoke.cont128.i.i3859, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i3856 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i3856: ; preds = %invoke.cont2.i400.i.i3854 - %vtable.i.i.i.i403.i.i3857 = load ptr, ptr %1855, align 8 - %vfn.i.i.i.i404.i.i3858 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i3857, i64 1 - %1856 = load ptr, ptr %vfn.i.i.i.i404.i.i3858, align 8 + br label %ehcleanup139.i.i3832 + +invoke.cont126.i.i3848: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i3845, %invoke.cont2.i382.i.i3843 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i3401), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i3400), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i3400) + to label %.noexc405.i.i3849 unwind label %lpad125.i.i3831 + +.noexc405.i.i3849: ; preds = %invoke.cont126.i.i3848 + %1854 = load ptr, ptr %ref.tmp.i390.i.i3400, align 8, !noalias !1588 + %add.ptr.i.i391.i.i3850 = getelementptr inbounds i8, ptr %1854, i64 16 + %call2.i1.i392.i.i3851 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i3850, ptr noundef nonnull @.str.110) + to label %invoke.cont.i399.i.i3857 unwind label %lpad.i393.i.i3852 + +invoke.cont.i399.i.i3857: ; preds = %.noexc405.i.i3849 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i3400) + to label %invoke.cont2.i400.i.i3858 unwind label %lpad.i393.i.i3852 + +invoke.cont2.i400.i.i3858: ; preds = %invoke.cont.i399.i.i3857 + %1855 = load ptr, ptr %ref.tmp.i390.i.i3400, align 8, !noalias !1588 + %cmp.not.i.i.i401.i.i3859 = icmp eq ptr %1855, null + br i1 %cmp.not.i.i.i401.i.i3859, label %invoke.cont128.i.i3863, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i3860 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i3860: ; preds = %invoke.cont2.i400.i.i3858 + %vtable.i.i.i.i403.i.i3861 = load ptr, ptr %1855, align 8 + %vfn.i.i.i.i404.i.i3862 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i3861, i64 1 + %1856 = load ptr, ptr %vfn.i.i.i.i404.i.i3862, align 8 call void %1856(ptr noundef nonnull align 8 dereferenceable(128) %1855) #30 - br label %invoke.cont128.i.i3859 + br label %invoke.cont128.i.i3863 -lpad.i393.i.i3848: ; preds = %invoke.cont.i399.i.i3853, %.noexc405.i.i3845 +lpad.i393.i.i3852: ; preds = %invoke.cont.i399.i.i3857, %.noexc405.i.i3849 %1857 = landingpad { ptr, i32 } cleanup - %1858 = load ptr, ptr %ref.tmp.i390.i.i3396, align 8, !noalias !1588 - %cmp.not.i.i2.i394.i.i3849 = icmp eq ptr %1858, null - br i1 %cmp.not.i.i2.i394.i.i3849, label %ehcleanup139.i.i3828, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i3850 + %1858 = load ptr, ptr %ref.tmp.i390.i.i3400, align 8, !noalias !1588 + %cmp.not.i.i2.i394.i.i3853 = icmp eq ptr %1858, null + br i1 %cmp.not.i.i2.i394.i.i3853, label %ehcleanup139.i.i3832, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i3854 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i3850: ; preds = %lpad.i393.i.i3848 - %vtable.i.i.i4.i396.i.i3851 = load ptr, ptr %1858, align 8 - %vfn.i.i.i5.i397.i.i3852 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i3851, i64 1 - %1859 = load ptr, ptr %vfn.i.i.i5.i397.i.i3852, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i3854: ; preds = %lpad.i393.i.i3852 + %vtable.i.i.i4.i396.i.i3855 = load ptr, ptr %1858, align 8 + %vfn.i.i.i5.i397.i.i3856 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i3855, i64 1 + %1859 = load ptr, ptr %vfn.i.i.i5.i397.i.i3856, align 8 call void %1859(ptr noundef nonnull align 8 dereferenceable(128) %1858) #30 - br label %ehcleanup139.i.i3828 - -invoke.cont128.i.i3859: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i3856, %invoke.cont2.i400.i.i3854 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i3396), !noalias !1588 - %call81.val86.i.i3860 = load ptr, ptr %__begin072.sroa.0.048.i.i3598, align 8 - %1860 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i3598, i64 8 - %call81.val87.i.i3861 = load i64, ptr %1860, align 8 - %call81.val86.val.i.i3862 = load ptr, ptr %call81.val86.i.i3860, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i3417, ptr %call81.val86.val.i.i3862, i64 %call81.val87.i.i3861) - to label %invoke.cont131.i.i3864 unwind label %lpad125.i.i3827 - -invoke.cont131.i.i3864: ; preds = %invoke.cont128.i.i3859 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i3395), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i3395) - to label %.noexc423.i.i3868 unwind label %lpad132.i.i3865 - -.noexc423.i.i3868: ; preds = %invoke.cont131.i.i3864 - %1861 = load ptr, ptr %ref.tmp.i408.i.i3395, align 8, !noalias !1588 - %add.ptr.i.i409.i.i3869 = getelementptr inbounds i8, ptr %1861, i64 16 - %call2.i1.i410.i.i3870 = 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) %add.ptr.i.i409.i.i3869, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i3417) - to label %invoke.cont.i417.i.i3876 unwind label %lpad.i411.i.i3871 - -invoke.cont.i417.i.i3876: ; preds = %.noexc423.i.i3868 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3415, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i3395) - to label %invoke.cont2.i418.i.i3877 unwind label %lpad.i411.i.i3871 - -invoke.cont2.i418.i.i3877: ; preds = %invoke.cont.i417.i.i3876 - %1862 = load ptr, ptr %ref.tmp.i408.i.i3395, align 8, !noalias !1588 - %cmp.not.i.i.i419.i.i3878 = icmp eq ptr %1862, null - br i1 %cmp.not.i.i.i419.i.i3878, label %invoke.cont133.i.i3882, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i3879 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i3879: ; preds = %invoke.cont2.i418.i.i3877 - %vtable.i.i.i.i421.i.i3880 = load ptr, ptr %1862, align 8 - %vfn.i.i.i.i422.i.i3881 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i3880, i64 1 - %1863 = load ptr, ptr %vfn.i.i.i.i422.i.i3881, align 8 + br label %ehcleanup139.i.i3832 + +invoke.cont128.i.i3863: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i3860, %invoke.cont2.i400.i.i3858 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i3400), !noalias !1588 + %call81.val86.i.i3864 = load ptr, ptr %__begin072.sroa.0.048.i.i3602, align 8 + %1860 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i3602, i64 8 + %call81.val87.i.i3865 = load i64, ptr %1860, align 8 + %call81.val86.val.i.i3866 = load ptr, ptr %call81.val86.i.i3864, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i3421, ptr %call81.val86.val.i.i3866, i64 %call81.val87.i.i3865) + to label %invoke.cont131.i.i3868 unwind label %lpad125.i.i3831 + +invoke.cont131.i.i3868: ; preds = %invoke.cont128.i.i3863 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i3399), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i3399) + to label %.noexc423.i.i3872 unwind label %lpad132.i.i3869 + +.noexc423.i.i3872: ; preds = %invoke.cont131.i.i3868 + %1861 = load ptr, ptr %ref.tmp.i408.i.i3399, align 8, !noalias !1588 + %add.ptr.i.i409.i.i3873 = getelementptr inbounds i8, ptr %1861, i64 16 + %call2.i1.i410.i.i3874 = 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) %add.ptr.i.i409.i.i3873, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i3421) + to label %invoke.cont.i417.i.i3880 unwind label %lpad.i411.i.i3875 + +invoke.cont.i417.i.i3880: ; preds = %.noexc423.i.i3872 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i3399) + to label %invoke.cont2.i418.i.i3881 unwind label %lpad.i411.i.i3875 + +invoke.cont2.i418.i.i3881: ; preds = %invoke.cont.i417.i.i3880 + %1862 = load ptr, ptr %ref.tmp.i408.i.i3399, align 8, !noalias !1588 + %cmp.not.i.i.i419.i.i3882 = icmp eq ptr %1862, null + br i1 %cmp.not.i.i.i419.i.i3882, label %invoke.cont133.i.i3886, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i3883 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i3883: ; preds = %invoke.cont2.i418.i.i3881 + %vtable.i.i.i.i421.i.i3884 = load ptr, ptr %1862, align 8 + %vfn.i.i.i.i422.i.i3885 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i3884, i64 1 + %1863 = load ptr, ptr %vfn.i.i.i.i422.i.i3885, align 8 call void %1863(ptr noundef nonnull align 8 dereferenceable(128) %1862) #30 - br label %invoke.cont133.i.i3882 + br label %invoke.cont133.i.i3886 -lpad.i411.i.i3871: ; preds = %invoke.cont.i417.i.i3876, %.noexc423.i.i3868 +lpad.i411.i.i3875: ; preds = %invoke.cont.i417.i.i3880, %.noexc423.i.i3872 %1864 = landingpad { ptr, i32 } cleanup - %1865 = load ptr, ptr %ref.tmp.i408.i.i3395, align 8, !noalias !1588 - %cmp.not.i.i2.i412.i.i3872 = icmp eq ptr %1865, null - br i1 %cmp.not.i.i2.i412.i.i3872, label %lpad132.body.i.i3866, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i3873 + %1865 = load ptr, ptr %ref.tmp.i408.i.i3399, align 8, !noalias !1588 + %cmp.not.i.i2.i412.i.i3876 = icmp eq ptr %1865, null + br i1 %cmp.not.i.i2.i412.i.i3876, label %lpad132.body.i.i3870, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i3877 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i3873: ; preds = %lpad.i411.i.i3871 - %vtable.i.i.i4.i414.i.i3874 = load ptr, ptr %1865, align 8 - %vfn.i.i.i5.i415.i.i3875 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i3874, i64 1 - %1866 = load ptr, ptr %vfn.i.i.i5.i415.i.i3875, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i3877: ; preds = %lpad.i411.i.i3875 + %vtable.i.i.i4.i414.i.i3878 = load ptr, ptr %1865, align 8 + %vfn.i.i.i5.i415.i.i3879 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i3878, i64 1 + %1866 = load ptr, ptr %vfn.i.i.i5.i415.i.i3879, align 8 call void %1866(ptr noundef nonnull align 8 dereferenceable(128) %1865) #30 - br label %lpad132.body.i.i3866 - -invoke.cont133.i.i3882: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i3879, %invoke.cont2.i418.i.i3877 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i3395), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i3394), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i3394) - to label %.noexc441.i.i3883 unwind label %lpad132.i.i3865 - -.noexc441.i.i3883: ; preds = %invoke.cont133.i.i3882 - %1867 = load ptr, ptr %ref.tmp.i426.i.i3394, align 8, !noalias !1588 - %add.ptr.i.i427.i.i3884 = getelementptr inbounds i8, ptr %1867, i64 16 - %call2.i1.i428.i.i3885 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i3884, ptr noundef nonnull @.str.111) - to label %invoke.cont.i435.i.i3891 unwind label %lpad.i429.i.i3886 - -invoke.cont.i435.i.i3891: ; preds = %.noexc441.i.i3883 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3415, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i3394) - to label %invoke.cont2.i436.i.i3892 unwind label %lpad.i429.i.i3886 - -invoke.cont2.i436.i.i3892: ; preds = %invoke.cont.i435.i.i3891 - %1868 = load ptr, ptr %ref.tmp.i426.i.i3394, align 8, !noalias !1588 - %cmp.not.i.i.i437.i.i3893 = icmp eq ptr %1868, null - br i1 %cmp.not.i.i.i437.i.i3893, label %invoke.cont135.i.i3897, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i3894 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i3894: ; preds = %invoke.cont2.i436.i.i3892 - %vtable.i.i.i.i439.i.i3895 = load ptr, ptr %1868, align 8 - %vfn.i.i.i.i440.i.i3896 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i3895, i64 1 - %1869 = load ptr, ptr %vfn.i.i.i.i440.i.i3896, align 8 + br label %lpad132.body.i.i3870 + +invoke.cont133.i.i3886: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i3883, %invoke.cont2.i418.i.i3881 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i3399), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i3398), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i3398) + to label %.noexc441.i.i3887 unwind label %lpad132.i.i3869 + +.noexc441.i.i3887: ; preds = %invoke.cont133.i.i3886 + %1867 = load ptr, ptr %ref.tmp.i426.i.i3398, align 8, !noalias !1588 + %add.ptr.i.i427.i.i3888 = getelementptr inbounds i8, ptr %1867, i64 16 + %call2.i1.i428.i.i3889 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i3888, ptr noundef nonnull @.str.111) + to label %invoke.cont.i435.i.i3895 unwind label %lpad.i429.i.i3890 + +invoke.cont.i435.i.i3895: ; preds = %.noexc441.i.i3887 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i3398) + to label %invoke.cont2.i436.i.i3896 unwind label %lpad.i429.i.i3890 + +invoke.cont2.i436.i.i3896: ; preds = %invoke.cont.i435.i.i3895 + %1868 = load ptr, ptr %ref.tmp.i426.i.i3398, align 8, !noalias !1588 + %cmp.not.i.i.i437.i.i3897 = icmp eq ptr %1868, null + br i1 %cmp.not.i.i.i437.i.i3897, label %invoke.cont135.i.i3901, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i3898 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i3898: ; preds = %invoke.cont2.i436.i.i3896 + %vtable.i.i.i.i439.i.i3899 = load ptr, ptr %1868, align 8 + %vfn.i.i.i.i440.i.i3900 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i3899, i64 1 + %1869 = load ptr, ptr %vfn.i.i.i.i440.i.i3900, align 8 call void %1869(ptr noundef nonnull align 8 dereferenceable(128) %1868) #30 - br label %invoke.cont135.i.i3897 + br label %invoke.cont135.i.i3901 -lpad.i429.i.i3886: ; preds = %invoke.cont.i435.i.i3891, %.noexc441.i.i3883 +lpad.i429.i.i3890: ; preds = %invoke.cont.i435.i.i3895, %.noexc441.i.i3887 %1870 = landingpad { ptr, i32 } cleanup - %1871 = load ptr, ptr %ref.tmp.i426.i.i3394, align 8, !noalias !1588 - %cmp.not.i.i2.i430.i.i3887 = icmp eq ptr %1871, null - br i1 %cmp.not.i.i2.i430.i.i3887, label %lpad132.body.i.i3866, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i3888 + %1871 = load ptr, ptr %ref.tmp.i426.i.i3398, align 8, !noalias !1588 + %cmp.not.i.i2.i430.i.i3891 = icmp eq ptr %1871, null + br i1 %cmp.not.i.i2.i430.i.i3891, label %lpad132.body.i.i3870, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i3892 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i3888: ; preds = %lpad.i429.i.i3886 - %vtable.i.i.i4.i432.i.i3889 = load ptr, ptr %1871, align 8 - %vfn.i.i.i5.i433.i.i3890 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i3889, i64 1 - %1872 = load ptr, ptr %vfn.i.i.i5.i433.i.i3890, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i3892: ; preds = %lpad.i429.i.i3890 + %vtable.i.i.i4.i432.i.i3893 = load ptr, ptr %1871, align 8 + %vfn.i.i.i5.i433.i.i3894 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i3893, i64 1 + %1872 = load ptr, ptr %vfn.i.i.i5.i433.i.i3894, align 8 call void %1872(ptr noundef nonnull align 8 dereferenceable(128) %1871) #30 - br label %lpad132.body.i.i3866 - -invoke.cont135.i.i3897: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i3894, %invoke.cont2.i436.i.i3892 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i3394), !noalias !1588 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3415) - to label %invoke.cont137.i.i3898 unwind label %lpad132.i.i3865 - -invoke.cont137.i.i3898: ; preds = %invoke.cont135.i.i3897 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i3417) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i3416) #30 - %message_.i444.i.i3899 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i3415, i64 0, i32 1 - %1873 = load ptr, ptr %message_.i444.i.i3899, align 8, !noalias !1588 - %cmp.not.i.i445.i.i3900 = icmp eq ptr %1873, null - br i1 %cmp.not.i.i445.i.i3900, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i3902, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i3901 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i3901: ; preds = %invoke.cont137.i.i3898 + br label %lpad132.body.i.i3870 + +invoke.cont135.i.i3901: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i3898, %invoke.cont2.i436.i.i3896 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i3398), !noalias !1588 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3419) + to label %invoke.cont137.i.i3902 unwind label %lpad132.i.i3869 + +invoke.cont137.i.i3902: ; preds = %invoke.cont135.i.i3901 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i3421) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i3420) #30 + %message_.i444.i.i3903 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i3419, i64 0, i32 1 + %1873 = load ptr, ptr %message_.i444.i.i3903, align 8, !noalias !1588 + %cmp.not.i.i445.i.i3904 = icmp eq ptr %1873, null + br i1 %cmp.not.i.i445.i.i3904, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i3906, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i3905 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i3905: ; preds = %invoke.cont137.i.i3902 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %1873) #30 call void @_ZdlPv(ptr noundef nonnull %1873) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i3902 + br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i3906 -_ZN7testing15AssertionResultD2Ev.exit447.i.i3902: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i3901, %invoke.cont137.i.i3898 - store ptr null, ptr %message_.i444.i.i3899, align 8, !noalias !1588 - br label %cleanup257.critedge.i.i3728 +_ZN7testing15AssertionResultD2Ev.exit447.i.i3906: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i3905, %invoke.cont137.i.i3902 + store ptr null, ptr %message_.i444.i.i3903, align 8, !noalias !1588 + br label %cleanup257.critedge.i.i3732 -lpad112.i.i3776: ; preds = %invoke.cont111.i.i3774 +lpad112.i.i3780: ; preds = %invoke.cont111.i.i3778 %1874 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i3414) #30 - br label %ehcleanup252.i.i3604 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i3418) #30 + br label %ehcleanup252.i.i3608 -lpad119.i.i3803: ; preds = %invoke.cont120.i.i3820, %invoke.cont118.i.i3802 +lpad119.i.i3807: ; preds = %invoke.cont120.i.i3824, %invoke.cont118.i.i3806 %1875 = landingpad { ptr, i32 } cleanup - br label %ehcleanup140.i.i3804 + br label %ehcleanup140.i.i3808 -lpad125.i.i3827: ; preds = %invoke.cont128.i.i3859, %invoke.cont126.i.i3844, %invoke.cont124.i.i3826 +lpad125.i.i3831: ; preds = %invoke.cont128.i.i3863, %invoke.cont126.i.i3848, %invoke.cont124.i.i3830 %1876 = landingpad { ptr, i32 } cleanup - br label %ehcleanup139.i.i3828 + br label %ehcleanup139.i.i3832 -lpad132.i.i3865: ; preds = %invoke.cont135.i.i3897, %invoke.cont133.i.i3882, %invoke.cont131.i.i3864 +lpad132.i.i3869: ; preds = %invoke.cont135.i.i3901, %invoke.cont133.i.i3886, %invoke.cont131.i.i3868 %1877 = landingpad { ptr, i32 } cleanup - br label %lpad132.body.i.i3866 - -lpad132.body.i.i3866: ; preds = %lpad132.i.i3865, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i3888, %lpad.i429.i.i3886, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i3873, %lpad.i411.i.i3871 - %eh.lpad-body424.i.i3867 = phi { ptr, i32 } [ %1864, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i3873 ], [ %1864, %lpad.i411.i.i3871 ], [ %1877, %lpad132.i.i3865 ], [ %1870, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i3888 ], [ %1870, %lpad.i429.i.i3886 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i3417) #30 - br label %ehcleanup139.i.i3828 - -ehcleanup139.i.i3828: ; preds = %lpad132.body.i.i3866, %lpad125.i.i3827, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i3850, %lpad.i393.i.i3848, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i3835, %lpad.i375.i.i3833 - %.pn40.i.i3829 = phi { ptr, i32 } [ %eh.lpad-body424.i.i3867, %lpad132.body.i.i3866 ], [ %1851, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i3835 ], [ %1851, %lpad.i375.i.i3833 ], [ %1876, %lpad125.i.i3827 ], [ %1857, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i3850 ], [ %1857, %lpad.i393.i.i3848 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i3416) #30 - br label %ehcleanup140.i.i3804 - -ehcleanup140.i.i3804: ; preds = %ehcleanup139.i.i3828, %lpad119.i.i3803, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i3811, %lpad.i358.i.i3809 - %.pn40.pn.i.i3805 = phi { ptr, i32 } [ %.pn40.i.i3829, %ehcleanup139.i.i3828 ], [ %1875, %lpad119.i.i3803 ], [ %1844, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i3811 ], [ %1844, %lpad.i358.i.i3809 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3415) #30 - br label %ehcleanup252.i.i3604 - -for.inc142.i.i3903: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3800 - %incdec.ptr.i448.i.i3904 = getelementptr inbounds %struct.Info.979, ptr %__begin072.sroa.0.048.i.i3598, i64 1 - %cmp.i161.not.i.i3905 = icmp eq ptr %incdec.ptr.i448.i.i3904, %call68.val81.i.i3595 - br i1 %cmp.i161.not.i.i3905, label %for.end144.i.i3906, label %for.body80.i.i3597 - -for.end144.i.i3906: ; preds = %for.inc142.i.i3903, %invoke.cont70.i.i3593 - %classes.val53.i.i3907 = load ptr, ptr %classes.i.i3404, align 8, !noalias !1588 - %classes.val56.i.i3908 = load ptr, ptr %1719, align 8, !noalias !1588 - %cmp.i449.not49.i.i3909 = icmp eq ptr %classes.val53.i.i3907, %classes.val56.i.i3908 - br i1 %cmp.i449.not49.i.i3909, label %cleanup249.i.i4304, label %for.body154.i.i3910 - -for.body154.i.i3910: ; preds = %for.end144.i.i3906, %for.inc246.i.i4301 - %__begin0146.sroa.0.050.i.i3911 = phi ptr [ %incdec.ptr.i779.i.i4302, %for.inc246.i.i4301 ], [ %classes.val53.i.i3907, %for.end144.i.i3906 ] - %cmp156.i.i3912 = icmp eq ptr %__begin058.sroa.0.052.i.i3586, %__begin0146.sroa.0.050.i.i3911 - br i1 %cmp156.i.i3912, label %for.inc246.i.i4301, label %if.end158.i.i3913 - -if.end158.i.i3913: ; preds = %for.body154.i.i3910 - %call155.val.i.i3914 = load ptr, ptr %__begin0146.sroa.0.050.i.i3911, align 8 - %call159.val.i.i3915 = load ptr, ptr %call155.val.i.i3914, align 8 - %call159.val.val.i.i3916 = load ptr, ptr %call159.val.i.i3915, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i3418, ptr %call159.val.val.i.i3916) - to label %invoke.cont160.i.i3920 unwind label %lpad83.loopexit.i.i3918 - -invoke.cont160.i.i3920: ; preds = %if.end158.i.i3913 - %call163.i.i3921 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i3409, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i3418) - to label %invoke.cont162.i.i3926 unwind label %lpad161.loopexit.i.i3922 - -invoke.cont162.i.i3926: ; preds = %invoke.cont160.i.i3920 - switch i32 %call163.i.i3921, label %cleanup242.i.i4278 [ - i32 0, label %sw.bb.i.i4177 - i32 2, label %sw.bb189.i.i4076 - i32 1, label %sw.bb215.i.i3927 + br label %lpad132.body.i.i3870 + +lpad132.body.i.i3870: ; preds = %lpad132.i.i3869, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i3892, %lpad.i429.i.i3890, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i3877, %lpad.i411.i.i3875 + %eh.lpad-body424.i.i3871 = phi { ptr, i32 } [ %1864, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i3877 ], [ %1864, %lpad.i411.i.i3875 ], [ %1877, %lpad132.i.i3869 ], [ %1870, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i3892 ], [ %1870, %lpad.i429.i.i3890 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i3421) #30 + br label %ehcleanup139.i.i3832 + +ehcleanup139.i.i3832: ; preds = %lpad132.body.i.i3870, %lpad125.i.i3831, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i3854, %lpad.i393.i.i3852, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i3839, %lpad.i375.i.i3837 + %.pn40.i.i3833 = phi { ptr, i32 } [ %eh.lpad-body424.i.i3871, %lpad132.body.i.i3870 ], [ %1851, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i3839 ], [ %1851, %lpad.i375.i.i3837 ], [ %1876, %lpad125.i.i3831 ], [ %1857, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i3854 ], [ %1857, %lpad.i393.i.i3852 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i3420) #30 + br label %ehcleanup140.i.i3808 + +ehcleanup140.i.i3808: ; preds = %ehcleanup139.i.i3832, %lpad119.i.i3807, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i3815, %lpad.i358.i.i3813 + %.pn40.pn.i.i3809 = phi { ptr, i32 } [ %.pn40.i.i3833, %ehcleanup139.i.i3832 ], [ %1875, %lpad119.i.i3807 ], [ %1844, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i3815 ], [ %1844, %lpad.i358.i.i3813 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i3419) #30 + br label %ehcleanup252.i.i3608 + +for.inc142.i.i3907: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i3804 + %incdec.ptr.i448.i.i3908 = getelementptr inbounds %struct.Info.979, ptr %__begin072.sroa.0.048.i.i3602, i64 1 + %cmp.i161.not.i.i3909 = icmp eq ptr %incdec.ptr.i448.i.i3908, %call68.val81.i.i3599 + br i1 %cmp.i161.not.i.i3909, label %for.end144.i.i3910, label %for.body80.i.i3601 + +for.end144.i.i3910: ; preds = %for.inc142.i.i3907, %invoke.cont70.i.i3597 + %classes.val53.i.i3911 = load ptr, ptr %classes.i.i3408, align 8, !noalias !1588 + %classes.val56.i.i3912 = load ptr, ptr %1719, align 8, !noalias !1588 + %cmp.i449.not49.i.i3913 = icmp eq ptr %classes.val53.i.i3911, %classes.val56.i.i3912 + br i1 %cmp.i449.not49.i.i3913, label %cleanup249.i.i4308, label %for.body154.i.i3914 + +for.body154.i.i3914: ; preds = %for.end144.i.i3910, %for.inc246.i.i4305 + %__begin0146.sroa.0.050.i.i3915 = phi ptr [ %incdec.ptr.i779.i.i4306, %for.inc246.i.i4305 ], [ %classes.val53.i.i3911, %for.end144.i.i3910 ] + %cmp156.i.i3916 = icmp eq ptr %__begin058.sroa.0.052.i.i3590, %__begin0146.sroa.0.050.i.i3915 + br i1 %cmp156.i.i3916, label %for.inc246.i.i4305, label %if.end158.i.i3917 + +if.end158.i.i3917: ; preds = %for.body154.i.i3914 + %call155.val.i.i3918 = load ptr, ptr %__begin0146.sroa.0.050.i.i3915, align 8 + %call159.val.i.i3919 = load ptr, ptr %call155.val.i.i3918, align 8 + %call159.val.val.i.i3920 = load ptr, ptr %call159.val.i.i3919, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i3422, ptr %call159.val.val.i.i3920) + to label %invoke.cont160.i.i3924 unwind label %lpad83.loopexit.i.i3922 + +invoke.cont160.i.i3924: ; preds = %if.end158.i.i3917 + %call163.i.i3925 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i3413, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i3422) + to label %invoke.cont162.i.i3930 unwind label %lpad161.loopexit.i.i3926 + +invoke.cont162.i.i3930: ; preds = %invoke.cont160.i.i3924 + switch i32 %call163.i.i3925, label %cleanup242.i.i4282 [ + i32 0, label %sw.bb.i.i4181 + i32 2, label %sw.bb189.i.i4080 + i32 1, label %sw.bb215.i.i3931 ] -lpad161.loopexit.i.i3922: ; preds = %invoke.cont160.i.i3920 - %lpad.loopexit5.i.i3923 = landingpad { ptr, i32 } +lpad161.loopexit.i.i3926: ; preds = %invoke.cont160.i.i3924 + %lpad.loopexit5.i.i3927 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i3924 + br label %ehcleanup245.i.i3928 -lpad161.loopexit.split-lp.i.i3928: ; preds = %sw.bb215.i.i3927, %sw.bb189.i.i4076, %sw.bb.i.i4177 - %lpad.loopexit.split-lp6.i.i3929 = landingpad { ptr, i32 } +lpad161.loopexit.split-lp.i.i3932: ; preds = %sw.bb215.i.i3931, %sw.bb189.i.i4080, %sw.bb.i.i4181 + %lpad.loopexit.split-lp6.i.i3933 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i3924 + br label %ehcleanup245.i.i3928 -sw.bb.i.i4177: ; preds = %invoke.cont162.i.i3926 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i3419) - to label %invoke.cont165.i.i4178 unwind label %lpad161.loopexit.split-lp.i.i3928 +sw.bb.i.i4181: ; preds = %invoke.cont162.i.i3930 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i3423) + to label %invoke.cont165.i.i4182 unwind label %lpad161.loopexit.split-lp.i.i3932 -invoke.cont165.i.i4178: ; preds = %sw.bb.i.i4177 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i3393), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i3393) - to label %.noexc465.i.i4182 unwind label %lpad166.i.i4179 +invoke.cont165.i.i4182: ; preds = %sw.bb.i.i4181 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i3397), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i3397) + to label %.noexc465.i.i4186 unwind label %lpad166.i.i4183 -.noexc465.i.i4182: ; preds = %invoke.cont165.i.i4178 - %1878 = load ptr, ptr %ref.tmp.i450.i.i3393, align 8, !noalias !1588 - %add.ptr.i.i451.i.i4183 = getelementptr inbounds i8, ptr %1878, i64 16 - %call2.i1.i452.i.i4184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i4183, ptr noundef nonnull @.str.109) - to label %invoke.cont.i459.i.i4190 unwind label %lpad.i453.i.i4185 +.noexc465.i.i4186: ; preds = %invoke.cont165.i.i4182 + %1878 = load ptr, ptr %ref.tmp.i450.i.i3397, align 8, !noalias !1588 + %add.ptr.i.i451.i.i4187 = getelementptr inbounds i8, ptr %1878, i64 16 + %call2.i1.i452.i.i4188 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i4187, ptr noundef nonnull @.str.109) + to label %invoke.cont.i459.i.i4194 unwind label %lpad.i453.i.i4189 -invoke.cont.i459.i.i4190: ; preds = %.noexc465.i.i4182 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i3393) - to label %invoke.cont2.i460.i.i4191 unwind label %lpad.i453.i.i4185 +invoke.cont.i459.i.i4194: ; preds = %.noexc465.i.i4186 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3423, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i3397) + to label %invoke.cont2.i460.i.i4195 unwind label %lpad.i453.i.i4189 -invoke.cont2.i460.i.i4191: ; preds = %invoke.cont.i459.i.i4190 - %1879 = load ptr, ptr %ref.tmp.i450.i.i3393, align 8, !noalias !1588 - %cmp.not.i.i.i461.i.i4192 = icmp eq ptr %1879, null - br i1 %cmp.not.i.i.i461.i.i4192, label %invoke.cont167.i.i4196, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i4193 +invoke.cont2.i460.i.i4195: ; preds = %invoke.cont.i459.i.i4194 + %1879 = load ptr, ptr %ref.tmp.i450.i.i3397, align 8, !noalias !1588 + %cmp.not.i.i.i461.i.i4196 = icmp eq ptr %1879, null + br i1 %cmp.not.i.i.i461.i.i4196, label %invoke.cont167.i.i4200, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i4197 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i4193: ; preds = %invoke.cont2.i460.i.i4191 - %vtable.i.i.i.i463.i.i4194 = load ptr, ptr %1879, align 8 - %vfn.i.i.i.i464.i.i4195 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i4194, i64 1 - %1880 = load ptr, ptr %vfn.i.i.i.i464.i.i4195, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i4197: ; preds = %invoke.cont2.i460.i.i4195 + %vtable.i.i.i.i463.i.i4198 = load ptr, ptr %1879, align 8 + %vfn.i.i.i.i464.i.i4199 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i4198, i64 1 + %1880 = load ptr, ptr %vfn.i.i.i.i464.i.i4199, align 8 call void %1880(ptr noundef nonnull align 8 dereferenceable(128) %1879) #30 - br label %invoke.cont167.i.i4196 + br label %invoke.cont167.i.i4200 -lpad.i453.i.i4185: ; preds = %invoke.cont.i459.i.i4190, %.noexc465.i.i4182 +lpad.i453.i.i4189: ; preds = %invoke.cont.i459.i.i4194, %.noexc465.i.i4186 %1881 = landingpad { ptr, i32 } cleanup - %1882 = load ptr, ptr %ref.tmp.i450.i.i3393, align 8, !noalias !1588 - %cmp.not.i.i2.i454.i.i4186 = icmp eq ptr %1882, null - br i1 %cmp.not.i.i2.i454.i.i4186, label %ehcleanup188.i.i4180, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i4187 + %1882 = load ptr, ptr %ref.tmp.i450.i.i3397, align 8, !noalias !1588 + %cmp.not.i.i2.i454.i.i4190 = icmp eq ptr %1882, null + br i1 %cmp.not.i.i2.i454.i.i4190, label %ehcleanup188.i.i4184, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i4191 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i4187: ; preds = %lpad.i453.i.i4185 - %vtable.i.i.i4.i456.i.i4188 = load ptr, ptr %1882, align 8 - %vfn.i.i.i5.i457.i.i4189 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i4188, i64 1 - %1883 = load ptr, ptr %vfn.i.i.i5.i457.i.i4189, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i4191: ; preds = %lpad.i453.i.i4189 + %vtable.i.i.i4.i456.i.i4192 = load ptr, ptr %1882, align 8 + %vfn.i.i.i5.i457.i.i4193 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i4192, i64 1 + %1883 = load ptr, ptr %vfn.i.i.i5.i457.i.i4193, align 8 call void %1883(ptr noundef nonnull align 8 dereferenceable(128) %1882) #30 - br label %ehcleanup188.i.i4180 - -invoke.cont167.i.i4196: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i4193, %invoke.cont2.i460.i.i4191 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i3393), !noalias !1588 - %call68.val74.i.i4197 = load ptr, ptr %__begin058.sroa.0.052.i.i3586, align 8 - %call170.val.i.i4198 = load ptr, ptr %call68.val74.i.i4197, align 8 - %1884 = getelementptr i8, ptr %call68.val74.i.i4197, i64 8 - %call170.val88.i.i4199 = load i64, ptr %1884, align 8 - %call170.val.val.i.i4200 = load ptr, ptr %call170.val.i.i4198, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i3420, ptr %call170.val.val.i.i4200, i64 %call170.val88.i.i4199) - to label %invoke.cont171.i.i4202 unwind label %lpad166.i.i4179 - -invoke.cont171.i.i4202: ; preds = %invoke.cont167.i.i4196 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i3392), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i3392) - to label %.noexc483.i.i4206 unwind label %lpad172.i.i4203 - -.noexc483.i.i4206: ; preds = %invoke.cont171.i.i4202 - %1885 = load ptr, ptr %ref.tmp.i468.i.i3392, align 8, !noalias !1588 - %add.ptr.i.i469.i.i4207 = getelementptr inbounds i8, ptr %1885, i64 16 - %call2.i1.i470.i.i4208 = 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) %add.ptr.i.i469.i.i4207, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i3420) - to label %invoke.cont.i477.i.i4214 unwind label %lpad.i471.i.i4209 - -invoke.cont.i477.i.i4214: ; preds = %.noexc483.i.i4206 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i3392) - to label %invoke.cont2.i478.i.i4215 unwind label %lpad.i471.i.i4209 - -invoke.cont2.i478.i.i4215: ; preds = %invoke.cont.i477.i.i4214 - %1886 = load ptr, ptr %ref.tmp.i468.i.i3392, align 8, !noalias !1588 - %cmp.not.i.i.i479.i.i4216 = icmp eq ptr %1886, null - br i1 %cmp.not.i.i.i479.i.i4216, label %invoke.cont173.i.i4220, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i4217 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i4217: ; preds = %invoke.cont2.i478.i.i4215 - %vtable.i.i.i.i481.i.i4218 = load ptr, ptr %1886, align 8 - %vfn.i.i.i.i482.i.i4219 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i4218, i64 1 - %1887 = load ptr, ptr %vfn.i.i.i.i482.i.i4219, align 8 + br label %ehcleanup188.i.i4184 + +invoke.cont167.i.i4200: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i4197, %invoke.cont2.i460.i.i4195 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i3397), !noalias !1588 + %call68.val74.i.i4201 = load ptr, ptr %__begin058.sroa.0.052.i.i3590, align 8 + %call170.val.i.i4202 = load ptr, ptr %call68.val74.i.i4201, align 8 + %1884 = getelementptr i8, ptr %call68.val74.i.i4201, i64 8 + %call170.val88.i.i4203 = load i64, ptr %1884, align 8 + %call170.val.val.i.i4204 = load ptr, ptr %call170.val.i.i4202, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i3424, ptr %call170.val.val.i.i4204, i64 %call170.val88.i.i4203) + to label %invoke.cont171.i.i4206 unwind label %lpad166.i.i4183 + +invoke.cont171.i.i4206: ; preds = %invoke.cont167.i.i4200 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i3396), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i3396) + to label %.noexc483.i.i4210 unwind label %lpad172.i.i4207 + +.noexc483.i.i4210: ; preds = %invoke.cont171.i.i4206 + %1885 = load ptr, ptr %ref.tmp.i468.i.i3396, align 8, !noalias !1588 + %add.ptr.i.i469.i.i4211 = getelementptr inbounds i8, ptr %1885, i64 16 + %call2.i1.i470.i.i4212 = 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) %add.ptr.i.i469.i.i4211, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i3424) + to label %invoke.cont.i477.i.i4218 unwind label %lpad.i471.i.i4213 + +invoke.cont.i477.i.i4218: ; preds = %.noexc483.i.i4210 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3423, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i3396) + to label %invoke.cont2.i478.i.i4219 unwind label %lpad.i471.i.i4213 + +invoke.cont2.i478.i.i4219: ; preds = %invoke.cont.i477.i.i4218 + %1886 = load ptr, ptr %ref.tmp.i468.i.i3396, align 8, !noalias !1588 + %cmp.not.i.i.i479.i.i4220 = icmp eq ptr %1886, null + br i1 %cmp.not.i.i.i479.i.i4220, label %invoke.cont173.i.i4224, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i4221 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i4221: ; preds = %invoke.cont2.i478.i.i4219 + %vtable.i.i.i.i481.i.i4222 = load ptr, ptr %1886, align 8 + %vfn.i.i.i.i482.i.i4223 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i4222, i64 1 + %1887 = load ptr, ptr %vfn.i.i.i.i482.i.i4223, align 8 call void %1887(ptr noundef nonnull align 8 dereferenceable(128) %1886) #30 - br label %invoke.cont173.i.i4220 + br label %invoke.cont173.i.i4224 -lpad.i471.i.i4209: ; preds = %invoke.cont.i477.i.i4214, %.noexc483.i.i4206 +lpad.i471.i.i4213: ; preds = %invoke.cont.i477.i.i4218, %.noexc483.i.i4210 %1888 = landingpad { ptr, i32 } cleanup - %1889 = load ptr, ptr %ref.tmp.i468.i.i3392, align 8, !noalias !1588 - %cmp.not.i.i2.i472.i.i4210 = icmp eq ptr %1889, null - br i1 %cmp.not.i.i2.i472.i.i4210, label %ehcleanup187.i.i4204, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i4211 + %1889 = load ptr, ptr %ref.tmp.i468.i.i3396, align 8, !noalias !1588 + %cmp.not.i.i2.i472.i.i4214 = icmp eq ptr %1889, null + br i1 %cmp.not.i.i2.i472.i.i4214, label %ehcleanup187.i.i4208, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i4215 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i4211: ; preds = %lpad.i471.i.i4209 - %vtable.i.i.i4.i474.i.i4212 = load ptr, ptr %1889, align 8 - %vfn.i.i.i5.i475.i.i4213 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i4212, i64 1 - %1890 = load ptr, ptr %vfn.i.i.i5.i475.i.i4213, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i4215: ; preds = %lpad.i471.i.i4213 + %vtable.i.i.i4.i474.i.i4216 = load ptr, ptr %1889, align 8 + %vfn.i.i.i5.i475.i.i4217 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i4216, i64 1 + %1890 = load ptr, ptr %vfn.i.i.i5.i475.i.i4217, align 8 call void %1890(ptr noundef nonnull align 8 dereferenceable(128) %1889) #30 - br label %ehcleanup187.i.i4204 - -invoke.cont173.i.i4220: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i4217, %invoke.cont2.i478.i.i4215 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i3392), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i3391), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i3391) - to label %.noexc501.i.i4221 unwind label %lpad172.i.i4203 - -.noexc501.i.i4221: ; preds = %invoke.cont173.i.i4220 - %1891 = load ptr, ptr %ref.tmp.i486.i.i3391, align 8, !noalias !1588 - %add.ptr.i.i487.i.i4222 = getelementptr inbounds i8, ptr %1891, i64 16 - %call2.i1.i488.i.i4223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i4222, ptr noundef nonnull @.str.110) - to label %invoke.cont.i495.i.i4229 unwind label %lpad.i489.i.i4224 - -invoke.cont.i495.i.i4229: ; preds = %.noexc501.i.i4221 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i3391) - to label %invoke.cont2.i496.i.i4230 unwind label %lpad.i489.i.i4224 - -invoke.cont2.i496.i.i4230: ; preds = %invoke.cont.i495.i.i4229 - %1892 = load ptr, ptr %ref.tmp.i486.i.i3391, align 8, !noalias !1588 - %cmp.not.i.i.i497.i.i4231 = icmp eq ptr %1892, null - br i1 %cmp.not.i.i.i497.i.i4231, label %invoke.cont175.i.i4235, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i4232 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i4232: ; preds = %invoke.cont2.i496.i.i4230 - %vtable.i.i.i.i499.i.i4233 = load ptr, ptr %1892, align 8 - %vfn.i.i.i.i500.i.i4234 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i4233, i64 1 - %1893 = load ptr, ptr %vfn.i.i.i.i500.i.i4234, align 8 + br label %ehcleanup187.i.i4208 + +invoke.cont173.i.i4224: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i4221, %invoke.cont2.i478.i.i4219 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i3396), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i3395), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i3395) + to label %.noexc501.i.i4225 unwind label %lpad172.i.i4207 + +.noexc501.i.i4225: ; preds = %invoke.cont173.i.i4224 + %1891 = load ptr, ptr %ref.tmp.i486.i.i3395, align 8, !noalias !1588 + %add.ptr.i.i487.i.i4226 = getelementptr inbounds i8, ptr %1891, i64 16 + %call2.i1.i488.i.i4227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i4226, ptr noundef nonnull @.str.110) + to label %invoke.cont.i495.i.i4233 unwind label %lpad.i489.i.i4228 + +invoke.cont.i495.i.i4233: ; preds = %.noexc501.i.i4225 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3423, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i3395) + to label %invoke.cont2.i496.i.i4234 unwind label %lpad.i489.i.i4228 + +invoke.cont2.i496.i.i4234: ; preds = %invoke.cont.i495.i.i4233 + %1892 = load ptr, ptr %ref.tmp.i486.i.i3395, align 8, !noalias !1588 + %cmp.not.i.i.i497.i.i4235 = icmp eq ptr %1892, null + br i1 %cmp.not.i.i.i497.i.i4235, label %invoke.cont175.i.i4239, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i4236 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i4236: ; preds = %invoke.cont2.i496.i.i4234 + %vtable.i.i.i.i499.i.i4237 = load ptr, ptr %1892, align 8 + %vfn.i.i.i.i500.i.i4238 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i4237, i64 1 + %1893 = load ptr, ptr %vfn.i.i.i.i500.i.i4238, align 8 call void %1893(ptr noundef nonnull align 8 dereferenceable(128) %1892) #30 - br label %invoke.cont175.i.i4235 + br label %invoke.cont175.i.i4239 -lpad.i489.i.i4224: ; preds = %invoke.cont.i495.i.i4229, %.noexc501.i.i4221 +lpad.i489.i.i4228: ; preds = %invoke.cont.i495.i.i4233, %.noexc501.i.i4225 %1894 = landingpad { ptr, i32 } cleanup - %1895 = load ptr, ptr %ref.tmp.i486.i.i3391, align 8, !noalias !1588 - %cmp.not.i.i2.i490.i.i4225 = icmp eq ptr %1895, null - br i1 %cmp.not.i.i2.i490.i.i4225, label %ehcleanup187.i.i4204, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i4226 + %1895 = load ptr, ptr %ref.tmp.i486.i.i3395, align 8, !noalias !1588 + %cmp.not.i.i2.i490.i.i4229 = icmp eq ptr %1895, null + br i1 %cmp.not.i.i2.i490.i.i4229, label %ehcleanup187.i.i4208, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i4230 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i4226: ; preds = %lpad.i489.i.i4224 - %vtable.i.i.i4.i492.i.i4227 = load ptr, ptr %1895, align 8 - %vfn.i.i.i5.i493.i.i4228 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i4227, i64 1 - %1896 = load ptr, ptr %vfn.i.i.i5.i493.i.i4228, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i4230: ; preds = %lpad.i489.i.i4228 + %vtable.i.i.i4.i492.i.i4231 = load ptr, ptr %1895, align 8 + %vfn.i.i.i5.i493.i.i4232 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i4231, i64 1 + %1896 = load ptr, ptr %vfn.i.i.i5.i493.i.i4232, align 8 call void %1896(ptr noundef nonnull align 8 dereferenceable(128) %1895) #30 - br label %ehcleanup187.i.i4204 - -invoke.cont175.i.i4235: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i4232, %invoke.cont2.i496.i.i4230 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i3391), !noalias !1588 - %call155.val75.i.i4236 = load ptr, ptr %__begin0146.sroa.0.050.i.i3911, align 8 - %call178.val.i.i4237 = load ptr, ptr %call155.val75.i.i4236, align 8 - %1897 = getelementptr i8, ptr %call155.val75.i.i4236, i64 8 - %call178.val89.i.i4238 = load i64, ptr %1897, align 8 - %call178.val.val.i.i4239 = load ptr, ptr %call178.val.i.i4237, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i3421, ptr %call178.val.val.i.i4239, i64 %call178.val89.i.i4238) - to label %invoke.cont179.i.i4241 unwind label %lpad172.i.i4203 - -invoke.cont179.i.i4241: ; preds = %invoke.cont175.i.i4235 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i3390), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i3390) - to label %.noexc520.i.i4245 unwind label %lpad180.i.i4242 - -.noexc520.i.i4245: ; preds = %invoke.cont179.i.i4241 - %1898 = load ptr, ptr %ref.tmp.i505.i.i3390, align 8, !noalias !1588 - %add.ptr.i.i506.i.i4246 = getelementptr inbounds i8, ptr %1898, i64 16 - %call2.i1.i507.i.i4247 = 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) %add.ptr.i.i506.i.i4246, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i3421) - to label %invoke.cont.i514.i.i4253 unwind label %lpad.i508.i.i4248 - -invoke.cont.i514.i.i4253: ; preds = %.noexc520.i.i4245 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i3390) - to label %invoke.cont2.i515.i.i4254 unwind label %lpad.i508.i.i4248 - -invoke.cont2.i515.i.i4254: ; preds = %invoke.cont.i514.i.i4253 - %1899 = load ptr, ptr %ref.tmp.i505.i.i3390, align 8, !noalias !1588 - %cmp.not.i.i.i516.i.i4255 = icmp eq ptr %1899, null - br i1 %cmp.not.i.i.i516.i.i4255, label %invoke.cont181.i.i4259, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i4256 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i4256: ; preds = %invoke.cont2.i515.i.i4254 - %vtable.i.i.i.i518.i.i4257 = load ptr, ptr %1899, align 8 - %vfn.i.i.i.i519.i.i4258 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i4257, i64 1 - %1900 = load ptr, ptr %vfn.i.i.i.i519.i.i4258, align 8 + br label %ehcleanup187.i.i4208 + +invoke.cont175.i.i4239: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i4236, %invoke.cont2.i496.i.i4234 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i3395), !noalias !1588 + %call155.val75.i.i4240 = load ptr, ptr %__begin0146.sroa.0.050.i.i3915, align 8 + %call178.val.i.i4241 = load ptr, ptr %call155.val75.i.i4240, align 8 + %1897 = getelementptr i8, ptr %call155.val75.i.i4240, i64 8 + %call178.val89.i.i4242 = load i64, ptr %1897, align 8 + %call178.val.val.i.i4243 = load ptr, ptr %call178.val.i.i4241, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i3425, ptr %call178.val.val.i.i4243, i64 %call178.val89.i.i4242) + to label %invoke.cont179.i.i4245 unwind label %lpad172.i.i4207 + +invoke.cont179.i.i4245: ; preds = %invoke.cont175.i.i4239 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i3394), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i3394) + to label %.noexc520.i.i4249 unwind label %lpad180.i.i4246 + +.noexc520.i.i4249: ; preds = %invoke.cont179.i.i4245 + %1898 = load ptr, ptr %ref.tmp.i505.i.i3394, align 8, !noalias !1588 + %add.ptr.i.i506.i.i4250 = getelementptr inbounds i8, ptr %1898, i64 16 + %call2.i1.i507.i.i4251 = 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) %add.ptr.i.i506.i.i4250, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i3425) + to label %invoke.cont.i514.i.i4257 unwind label %lpad.i508.i.i4252 + +invoke.cont.i514.i.i4257: ; preds = %.noexc520.i.i4249 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3423, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i3394) + to label %invoke.cont2.i515.i.i4258 unwind label %lpad.i508.i.i4252 + +invoke.cont2.i515.i.i4258: ; preds = %invoke.cont.i514.i.i4257 + %1899 = load ptr, ptr %ref.tmp.i505.i.i3394, align 8, !noalias !1588 + %cmp.not.i.i.i516.i.i4259 = icmp eq ptr %1899, null + br i1 %cmp.not.i.i.i516.i.i4259, label %invoke.cont181.i.i4263, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i4260 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i4260: ; preds = %invoke.cont2.i515.i.i4258 + %vtable.i.i.i.i518.i.i4261 = load ptr, ptr %1899, align 8 + %vfn.i.i.i.i519.i.i4262 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i4261, i64 1 + %1900 = load ptr, ptr %vfn.i.i.i.i519.i.i4262, align 8 call void %1900(ptr noundef nonnull align 8 dereferenceable(128) %1899) #30 - br label %invoke.cont181.i.i4259 + br label %invoke.cont181.i.i4263 -lpad.i508.i.i4248: ; preds = %invoke.cont.i514.i.i4253, %.noexc520.i.i4245 +lpad.i508.i.i4252: ; preds = %invoke.cont.i514.i.i4257, %.noexc520.i.i4249 %1901 = landingpad { ptr, i32 } cleanup - %1902 = load ptr, ptr %ref.tmp.i505.i.i3390, align 8, !noalias !1588 - %cmp.not.i.i2.i509.i.i4249 = icmp eq ptr %1902, null - br i1 %cmp.not.i.i2.i509.i.i4249, label %lpad180.body.i.i4243, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i4250 + %1902 = load ptr, ptr %ref.tmp.i505.i.i3394, align 8, !noalias !1588 + %cmp.not.i.i2.i509.i.i4253 = icmp eq ptr %1902, null + br i1 %cmp.not.i.i2.i509.i.i4253, label %lpad180.body.i.i4247, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i4254 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i4250: ; preds = %lpad.i508.i.i4248 - %vtable.i.i.i4.i511.i.i4251 = load ptr, ptr %1902, align 8 - %vfn.i.i.i5.i512.i.i4252 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i4251, i64 1 - %1903 = load ptr, ptr %vfn.i.i.i5.i512.i.i4252, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i4254: ; preds = %lpad.i508.i.i4252 + %vtable.i.i.i4.i511.i.i4255 = load ptr, ptr %1902, align 8 + %vfn.i.i.i5.i512.i.i4256 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i4255, i64 1 + %1903 = load ptr, ptr %vfn.i.i.i5.i512.i.i4256, align 8 call void %1903(ptr noundef nonnull align 8 dereferenceable(128) %1902) #30 - br label %lpad180.body.i.i4243 - -invoke.cont181.i.i4259: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i4256, %invoke.cont2.i515.i.i4254 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i3390), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i3389), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i3389) - to label %.noexc538.i.i4260 unwind label %lpad180.i.i4242 - -.noexc538.i.i4260: ; preds = %invoke.cont181.i.i4259 - %1904 = load ptr, ptr %ref.tmp.i523.i.i3389, align 8, !noalias !1588 - %add.ptr.i.i524.i.i4261 = getelementptr inbounds i8, ptr %1904, i64 16 - %call2.i1.i525.i.i4262 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i4261, ptr noundef nonnull @.str.112) - to label %invoke.cont.i532.i.i4268 unwind label %lpad.i526.i.i4263 - -invoke.cont.i532.i.i4268: ; preds = %.noexc538.i.i4260 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3419, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i3389) - to label %invoke.cont2.i533.i.i4269 unwind label %lpad.i526.i.i4263 - -invoke.cont2.i533.i.i4269: ; preds = %invoke.cont.i532.i.i4268 - %1905 = load ptr, ptr %ref.tmp.i523.i.i3389, align 8, !noalias !1588 - %cmp.not.i.i.i534.i.i4270 = icmp eq ptr %1905, null - br i1 %cmp.not.i.i.i534.i.i4270, label %invoke.cont183.i.i4274, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i4271 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i4271: ; preds = %invoke.cont2.i533.i.i4269 - %vtable.i.i.i.i536.i.i4272 = load ptr, ptr %1905, align 8 - %vfn.i.i.i.i537.i.i4273 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i4272, i64 1 - %1906 = load ptr, ptr %vfn.i.i.i.i537.i.i4273, align 8 + br label %lpad180.body.i.i4247 + +invoke.cont181.i.i4263: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i4260, %invoke.cont2.i515.i.i4258 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i3394), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i3393), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i3393) + to label %.noexc538.i.i4264 unwind label %lpad180.i.i4246 + +.noexc538.i.i4264: ; preds = %invoke.cont181.i.i4263 + %1904 = load ptr, ptr %ref.tmp.i523.i.i3393, align 8, !noalias !1588 + %add.ptr.i.i524.i.i4265 = getelementptr inbounds i8, ptr %1904, i64 16 + %call2.i1.i525.i.i4266 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i4265, ptr noundef nonnull @.str.112) + to label %invoke.cont.i532.i.i4272 unwind label %lpad.i526.i.i4267 + +invoke.cont.i532.i.i4272: ; preds = %.noexc538.i.i4264 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3423, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i3393) + to label %invoke.cont2.i533.i.i4273 unwind label %lpad.i526.i.i4267 + +invoke.cont2.i533.i.i4273: ; preds = %invoke.cont.i532.i.i4272 + %1905 = load ptr, ptr %ref.tmp.i523.i.i3393, align 8, !noalias !1588 + %cmp.not.i.i.i534.i.i4274 = icmp eq ptr %1905, null + br i1 %cmp.not.i.i.i534.i.i4274, label %invoke.cont183.i.i4278, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i4275 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i4275: ; preds = %invoke.cont2.i533.i.i4273 + %vtable.i.i.i.i536.i.i4276 = load ptr, ptr %1905, align 8 + %vfn.i.i.i.i537.i.i4277 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i4276, i64 1 + %1906 = load ptr, ptr %vfn.i.i.i.i537.i.i4277, align 8 call void %1906(ptr noundef nonnull align 8 dereferenceable(128) %1905) #30 - br label %invoke.cont183.i.i4274 + br label %invoke.cont183.i.i4278 -lpad.i526.i.i4263: ; preds = %invoke.cont.i532.i.i4268, %.noexc538.i.i4260 +lpad.i526.i.i4267: ; preds = %invoke.cont.i532.i.i4272, %.noexc538.i.i4264 %1907 = landingpad { ptr, i32 } cleanup - %1908 = load ptr, ptr %ref.tmp.i523.i.i3389, align 8, !noalias !1588 - %cmp.not.i.i2.i527.i.i4264 = icmp eq ptr %1908, null - br i1 %cmp.not.i.i2.i527.i.i4264, label %lpad180.body.i.i4243, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i4265 + %1908 = load ptr, ptr %ref.tmp.i523.i.i3393, align 8, !noalias !1588 + %cmp.not.i.i2.i527.i.i4268 = icmp eq ptr %1908, null + br i1 %cmp.not.i.i2.i527.i.i4268, label %lpad180.body.i.i4247, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i4269 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i4265: ; preds = %lpad.i526.i.i4263 - %vtable.i.i.i4.i529.i.i4266 = load ptr, ptr %1908, align 8 - %vfn.i.i.i5.i530.i.i4267 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i4266, i64 1 - %1909 = load ptr, ptr %vfn.i.i.i5.i530.i.i4267, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i4269: ; preds = %lpad.i526.i.i4267 + %vtable.i.i.i4.i529.i.i4270 = load ptr, ptr %1908, align 8 + %vfn.i.i.i5.i530.i.i4271 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i4270, i64 1 + %1909 = load ptr, ptr %vfn.i.i.i5.i530.i.i4271, align 8 call void %1909(ptr noundef nonnull align 8 dereferenceable(128) %1908) #30 - br label %lpad180.body.i.i4243 - -invoke.cont183.i.i4274: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i4271, %invoke.cont2.i533.i.i4269 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i3389), !noalias !1588 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3419) - to label %invoke.cont185.i.i4275 unwind label %lpad180.i.i4242 - -invoke.cont185.i.i4275: ; preds = %invoke.cont183.i.i4274 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i3421) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i3420) #30 - %message_.i542.i.i4276 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i3419, i64 0, i32 1 - %1910 = load ptr, ptr %message_.i542.i.i4276, align 8, !noalias !1588 - %cmp.not.i.i543.i.i4277 = icmp eq ptr %1910, null - br i1 %cmp.not.i.i543.i.i4277, label %cleanup249.critedge.i.i4033, label %cleanup249.critedge.sink.split.i.i4030 - -lpad166.i.i4179: ; preds = %invoke.cont167.i.i4196, %invoke.cont165.i.i4178 + br label %lpad180.body.i.i4247 + +invoke.cont183.i.i4278: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i4275, %invoke.cont2.i533.i.i4273 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i3393), !noalias !1588 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3423) + to label %invoke.cont185.i.i4279 unwind label %lpad180.i.i4246 + +invoke.cont185.i.i4279: ; preds = %invoke.cont183.i.i4278 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i3425) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i3424) #30 + %message_.i542.i.i4280 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i3423, i64 0, i32 1 + %1910 = load ptr, ptr %message_.i542.i.i4280, align 8, !noalias !1588 + %cmp.not.i.i543.i.i4281 = icmp eq ptr %1910, null + br i1 %cmp.not.i.i543.i.i4281, label %cleanup249.critedge.i.i4037, label %cleanup249.critedge.sink.split.i.i4034 + +lpad166.i.i4183: ; preds = %invoke.cont167.i.i4200, %invoke.cont165.i.i4182 %1911 = landingpad { ptr, i32 } cleanup - br label %ehcleanup188.i.i4180 + br label %ehcleanup188.i.i4184 -lpad172.i.i4203: ; preds = %invoke.cont175.i.i4235, %invoke.cont173.i.i4220, %invoke.cont171.i.i4202 +lpad172.i.i4207: ; preds = %invoke.cont175.i.i4239, %invoke.cont173.i.i4224, %invoke.cont171.i.i4206 %1912 = landingpad { ptr, i32 } cleanup - br label %ehcleanup187.i.i4204 + br label %ehcleanup187.i.i4208 -lpad180.i.i4242: ; preds = %invoke.cont183.i.i4274, %invoke.cont181.i.i4259, %invoke.cont179.i.i4241 +lpad180.i.i4246: ; preds = %invoke.cont183.i.i4278, %invoke.cont181.i.i4263, %invoke.cont179.i.i4245 %1913 = landingpad { ptr, i32 } cleanup - br label %lpad180.body.i.i4243 - -lpad180.body.i.i4243: ; preds = %lpad180.i.i4242, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i4265, %lpad.i526.i.i4263, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i4250, %lpad.i508.i.i4248 - %eh.lpad-body521.i.i4244 = phi { ptr, i32 } [ %1901, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i4250 ], [ %1901, %lpad.i508.i.i4248 ], [ %1913, %lpad180.i.i4242 ], [ %1907, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i4265 ], [ %1907, %lpad.i526.i.i4263 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i3421) #30 - br label %ehcleanup187.i.i4204 - -ehcleanup187.i.i4204: ; preds = %lpad180.body.i.i4243, %lpad172.i.i4203, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i4226, %lpad.i489.i.i4224, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i4211, %lpad.i471.i.i4209 - %.pn34.i.i4205 = phi { ptr, i32 } [ %eh.lpad-body521.i.i4244, %lpad180.body.i.i4243 ], [ %1888, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i4211 ], [ %1888, %lpad.i471.i.i4209 ], [ %1912, %lpad172.i.i4203 ], [ %1894, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i4226 ], [ %1894, %lpad.i489.i.i4224 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i3420) #30 - br label %ehcleanup188.i.i4180 - -ehcleanup188.i.i4180: ; preds = %ehcleanup187.i.i4204, %lpad166.i.i4179, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i4187, %lpad.i453.i.i4185 - %.pn34.pn.i.i4181 = phi { ptr, i32 } [ %.pn34.i.i4205, %ehcleanup187.i.i4204 ], [ %1911, %lpad166.i.i4179 ], [ %1881, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i4187 ], [ %1881, %lpad.i453.i.i4185 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3419) #30 - br label %ehcleanup245.i.i3924 - -sw.bb189.i.i4076: ; preds = %invoke.cont162.i.i3926 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i3422) - to label %invoke.cont191.i.i4077 unwind label %lpad161.loopexit.split-lp.i.i3928 - -invoke.cont191.i.i4077: ; preds = %sw.bb189.i.i4076 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i3388), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i3388) - to label %.noexc561.i.i4081 unwind label %lpad192.i.i4078 - -.noexc561.i.i4081: ; preds = %invoke.cont191.i.i4077 - %1914 = load ptr, ptr %ref.tmp.i546.i.i3388, align 8, !noalias !1588 - %add.ptr.i.i547.i.i4082 = getelementptr inbounds i8, ptr %1914, i64 16 - %call2.i1.i548.i.i4083 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i4082, ptr noundef nonnull @.str.113) - to label %invoke.cont.i555.i.i4089 unwind label %lpad.i549.i.i4084 - -invoke.cont.i555.i.i4089: ; preds = %.noexc561.i.i4081 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3422, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i3388) - to label %invoke.cont2.i556.i.i4090 unwind label %lpad.i549.i.i4084 - -invoke.cont2.i556.i.i4090: ; preds = %invoke.cont.i555.i.i4089 - %1915 = load ptr, ptr %ref.tmp.i546.i.i3388, align 8, !noalias !1588 - %cmp.not.i.i.i557.i.i4091 = icmp eq ptr %1915, null - br i1 %cmp.not.i.i.i557.i.i4091, label %invoke.cont193.i.i4095, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i4092 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i4092: ; preds = %invoke.cont2.i556.i.i4090 - %vtable.i.i.i.i559.i.i4093 = load ptr, ptr %1915, align 8 - %vfn.i.i.i.i560.i.i4094 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i4093, i64 1 - %1916 = load ptr, ptr %vfn.i.i.i.i560.i.i4094, align 8 + br label %lpad180.body.i.i4247 + +lpad180.body.i.i4247: ; preds = %lpad180.i.i4246, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i4269, %lpad.i526.i.i4267, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i4254, %lpad.i508.i.i4252 + %eh.lpad-body521.i.i4248 = phi { ptr, i32 } [ %1901, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i4254 ], [ %1901, %lpad.i508.i.i4252 ], [ %1913, %lpad180.i.i4246 ], [ %1907, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i4269 ], [ %1907, %lpad.i526.i.i4267 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i3425) #30 + br label %ehcleanup187.i.i4208 + +ehcleanup187.i.i4208: ; preds = %lpad180.body.i.i4247, %lpad172.i.i4207, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i4230, %lpad.i489.i.i4228, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i4215, %lpad.i471.i.i4213 + %.pn34.i.i4209 = phi { ptr, i32 } [ %eh.lpad-body521.i.i4248, %lpad180.body.i.i4247 ], [ %1888, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i4215 ], [ %1888, %lpad.i471.i.i4213 ], [ %1912, %lpad172.i.i4207 ], [ %1894, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i4230 ], [ %1894, %lpad.i489.i.i4228 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i3424) #30 + br label %ehcleanup188.i.i4184 + +ehcleanup188.i.i4184: ; preds = %ehcleanup187.i.i4208, %lpad166.i.i4183, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i4191, %lpad.i453.i.i4189 + %.pn34.pn.i.i4185 = phi { ptr, i32 } [ %.pn34.i.i4209, %ehcleanup187.i.i4208 ], [ %1911, %lpad166.i.i4183 ], [ %1881, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i4191 ], [ %1881, %lpad.i453.i.i4189 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i3423) #30 + br label %ehcleanup245.i.i3928 + +sw.bb189.i.i4080: ; preds = %invoke.cont162.i.i3930 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i3426) + to label %invoke.cont191.i.i4081 unwind label %lpad161.loopexit.split-lp.i.i3932 + +invoke.cont191.i.i4081: ; preds = %sw.bb189.i.i4080 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i3392), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i3392) + to label %.noexc561.i.i4085 unwind label %lpad192.i.i4082 + +.noexc561.i.i4085: ; preds = %invoke.cont191.i.i4081 + %1914 = load ptr, ptr %ref.tmp.i546.i.i3392, align 8, !noalias !1588 + %add.ptr.i.i547.i.i4086 = getelementptr inbounds i8, ptr %1914, i64 16 + %call2.i1.i548.i.i4087 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i4086, ptr noundef nonnull @.str.113) + to label %invoke.cont.i555.i.i4093 unwind label %lpad.i549.i.i4088 + +invoke.cont.i555.i.i4093: ; preds = %.noexc561.i.i4085 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3426, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i3392) + to label %invoke.cont2.i556.i.i4094 unwind label %lpad.i549.i.i4088 + +invoke.cont2.i556.i.i4094: ; preds = %invoke.cont.i555.i.i4093 + %1915 = load ptr, ptr %ref.tmp.i546.i.i3392, align 8, !noalias !1588 + %cmp.not.i.i.i557.i.i4095 = icmp eq ptr %1915, null + br i1 %cmp.not.i.i.i557.i.i4095, label %invoke.cont193.i.i4099, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i4096 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i4096: ; preds = %invoke.cont2.i556.i.i4094 + %vtable.i.i.i.i559.i.i4097 = load ptr, ptr %1915, align 8 + %vfn.i.i.i.i560.i.i4098 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i4097, i64 1 + %1916 = load ptr, ptr %vfn.i.i.i.i560.i.i4098, align 8 call void %1916(ptr noundef nonnull align 8 dereferenceable(128) %1915) #30 - br label %invoke.cont193.i.i4095 + br label %invoke.cont193.i.i4099 -lpad.i549.i.i4084: ; preds = %invoke.cont.i555.i.i4089, %.noexc561.i.i4081 +lpad.i549.i.i4088: ; preds = %invoke.cont.i555.i.i4093, %.noexc561.i.i4085 %1917 = landingpad { ptr, i32 } cleanup - %1918 = load ptr, ptr %ref.tmp.i546.i.i3388, align 8, !noalias !1588 - %cmp.not.i.i2.i550.i.i4085 = icmp eq ptr %1918, null - br i1 %cmp.not.i.i2.i550.i.i4085, label %ehcleanup214.i.i4079, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i4086 + %1918 = load ptr, ptr %ref.tmp.i546.i.i3392, align 8, !noalias !1588 + %cmp.not.i.i2.i550.i.i4089 = icmp eq ptr %1918, null + br i1 %cmp.not.i.i2.i550.i.i4089, label %ehcleanup214.i.i4083, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i4090 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i4086: ; preds = %lpad.i549.i.i4084 - %vtable.i.i.i4.i552.i.i4087 = load ptr, ptr %1918, align 8 - %vfn.i.i.i5.i553.i.i4088 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i4087, i64 1 - %1919 = load ptr, ptr %vfn.i.i.i5.i553.i.i4088, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i4090: ; preds = %lpad.i549.i.i4088 + %vtable.i.i.i4.i552.i.i4091 = load ptr, ptr %1918, align 8 + %vfn.i.i.i5.i553.i.i4092 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i4091, i64 1 + %1919 = load ptr, ptr %vfn.i.i.i5.i553.i.i4092, align 8 call void %1919(ptr noundef nonnull align 8 dereferenceable(128) %1918) #30 - br label %ehcleanup214.i.i4079 - -invoke.cont193.i.i4095: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i4092, %invoke.cont2.i556.i.i4090 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i3388), !noalias !1588 - %call155.val76.i.i4096 = load ptr, ptr %__begin0146.sroa.0.050.i.i3911, align 8 - %call196.val.i.i4097 = load ptr, ptr %call155.val76.i.i4096, align 8 - %1920 = getelementptr i8, ptr %call155.val76.i.i4096, i64 8 - %call196.val90.i.i4098 = load i64, ptr %1920, align 8 - %call196.val.val.i.i4099 = load ptr, ptr %call196.val.i.i4097, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i3423, ptr %call196.val.val.i.i4099, i64 %call196.val90.i.i4098) - to label %invoke.cont197.i.i4101 unwind label %lpad192.i.i4078 - -invoke.cont197.i.i4101: ; preds = %invoke.cont193.i.i4095 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i3387), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i3387) - to label %.noexc578.i.i4105 unwind label %lpad198.i.i4102 - -.noexc578.i.i4105: ; preds = %invoke.cont197.i.i4101 - %1921 = load ptr, ptr %ref.tmp.i563.i.i3387, align 8, !noalias !1588 - %add.ptr.i.i564.i.i4106 = getelementptr inbounds i8, ptr %1921, i64 16 - %call2.i1.i565.i.i4107 = 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) %add.ptr.i.i564.i.i4106, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i3423) - to label %invoke.cont.i572.i.i4113 unwind label %lpad.i566.i.i4108 - -invoke.cont.i572.i.i4113: ; preds = %.noexc578.i.i4105 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3422, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i3387) - to label %invoke.cont2.i573.i.i4114 unwind label %lpad.i566.i.i4108 - -invoke.cont2.i573.i.i4114: ; preds = %invoke.cont.i572.i.i4113 - %1922 = load ptr, ptr %ref.tmp.i563.i.i3387, align 8, !noalias !1588 - %cmp.not.i.i.i574.i.i4115 = icmp eq ptr %1922, null - br i1 %cmp.not.i.i.i574.i.i4115, label %invoke.cont199.i.i4119, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i4116 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i4116: ; preds = %invoke.cont2.i573.i.i4114 - %vtable.i.i.i.i576.i.i4117 = load ptr, ptr %1922, align 8 - %vfn.i.i.i.i577.i.i4118 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i4117, i64 1 - %1923 = load ptr, ptr %vfn.i.i.i.i577.i.i4118, align 8 + br label %ehcleanup214.i.i4083 + +invoke.cont193.i.i4099: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i4096, %invoke.cont2.i556.i.i4094 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i3392), !noalias !1588 + %call155.val76.i.i4100 = load ptr, ptr %__begin0146.sroa.0.050.i.i3915, align 8 + %call196.val.i.i4101 = load ptr, ptr %call155.val76.i.i4100, align 8 + %1920 = getelementptr i8, ptr %call155.val76.i.i4100, i64 8 + %call196.val90.i.i4102 = load i64, ptr %1920, align 8 + %call196.val.val.i.i4103 = load ptr, ptr %call196.val.i.i4101, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i3427, ptr %call196.val.val.i.i4103, i64 %call196.val90.i.i4102) + to label %invoke.cont197.i.i4105 unwind label %lpad192.i.i4082 + +invoke.cont197.i.i4105: ; preds = %invoke.cont193.i.i4099 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i3391), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i3391) + to label %.noexc578.i.i4109 unwind label %lpad198.i.i4106 + +.noexc578.i.i4109: ; preds = %invoke.cont197.i.i4105 + %1921 = load ptr, ptr %ref.tmp.i563.i.i3391, align 8, !noalias !1588 + %add.ptr.i.i564.i.i4110 = getelementptr inbounds i8, ptr %1921, i64 16 + %call2.i1.i565.i.i4111 = 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) %add.ptr.i.i564.i.i4110, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i3427) + to label %invoke.cont.i572.i.i4117 unwind label %lpad.i566.i.i4112 + +invoke.cont.i572.i.i4117: ; preds = %.noexc578.i.i4109 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3426, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i3391) + to label %invoke.cont2.i573.i.i4118 unwind label %lpad.i566.i.i4112 + +invoke.cont2.i573.i.i4118: ; preds = %invoke.cont.i572.i.i4117 + %1922 = load ptr, ptr %ref.tmp.i563.i.i3391, align 8, !noalias !1588 + %cmp.not.i.i.i574.i.i4119 = icmp eq ptr %1922, null + br i1 %cmp.not.i.i.i574.i.i4119, label %invoke.cont199.i.i4123, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i4120 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i4120: ; preds = %invoke.cont2.i573.i.i4118 + %vtable.i.i.i.i576.i.i4121 = load ptr, ptr %1922, align 8 + %vfn.i.i.i.i577.i.i4122 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i4121, i64 1 + %1923 = load ptr, ptr %vfn.i.i.i.i577.i.i4122, align 8 call void %1923(ptr noundef nonnull align 8 dereferenceable(128) %1922) #30 - br label %invoke.cont199.i.i4119 + br label %invoke.cont199.i.i4123 -lpad.i566.i.i4108: ; preds = %invoke.cont.i572.i.i4113, %.noexc578.i.i4105 +lpad.i566.i.i4112: ; preds = %invoke.cont.i572.i.i4117, %.noexc578.i.i4109 %1924 = landingpad { ptr, i32 } cleanup - %1925 = load ptr, ptr %ref.tmp.i563.i.i3387, align 8, !noalias !1588 - %cmp.not.i.i2.i567.i.i4109 = icmp eq ptr %1925, null - br i1 %cmp.not.i.i2.i567.i.i4109, label %ehcleanup213.i.i4103, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i4110 + %1925 = load ptr, ptr %ref.tmp.i563.i.i3391, align 8, !noalias !1588 + %cmp.not.i.i2.i567.i.i4113 = icmp eq ptr %1925, null + br i1 %cmp.not.i.i2.i567.i.i4113, label %ehcleanup213.i.i4107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i4114 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i4110: ; preds = %lpad.i566.i.i4108 - %vtable.i.i.i4.i569.i.i4111 = load ptr, ptr %1925, align 8 - %vfn.i.i.i5.i570.i.i4112 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i4111, i64 1 - %1926 = load ptr, ptr %vfn.i.i.i5.i570.i.i4112, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i4114: ; preds = %lpad.i566.i.i4112 + %vtable.i.i.i4.i569.i.i4115 = load ptr, ptr %1925, align 8 + %vfn.i.i.i5.i570.i.i4116 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i4115, i64 1 + %1926 = load ptr, ptr %vfn.i.i.i5.i570.i.i4116, align 8 call void %1926(ptr noundef nonnull align 8 dereferenceable(128) %1925) #30 - br label %ehcleanup213.i.i4103 - -invoke.cont199.i.i4119: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i4116, %invoke.cont2.i573.i.i4114 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i3387), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i3386), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i3386) - to label %.noexc596.i.i4120 unwind label %lpad198.i.i4102 - -.noexc596.i.i4120: ; preds = %invoke.cont199.i.i4119 - %1927 = load ptr, ptr %ref.tmp.i581.i.i3386, align 8, !noalias !1588 - %add.ptr.i.i582.i.i4121 = getelementptr inbounds i8, ptr %1927, i64 16 - %call2.i1.i583.i.i4122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i4121, ptr noundef nonnull @.str.114) - to label %invoke.cont.i590.i.i4128 unwind label %lpad.i584.i.i4123 - -invoke.cont.i590.i.i4128: ; preds = %.noexc596.i.i4120 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3422, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i3386) - to label %invoke.cont2.i591.i.i4129 unwind label %lpad.i584.i.i4123 - -invoke.cont2.i591.i.i4129: ; preds = %invoke.cont.i590.i.i4128 - %1928 = load ptr, ptr %ref.tmp.i581.i.i3386, align 8, !noalias !1588 - %cmp.not.i.i.i592.i.i4130 = icmp eq ptr %1928, null - br i1 %cmp.not.i.i.i592.i.i4130, label %invoke.cont201.i.i4134, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i4131 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i4131: ; preds = %invoke.cont2.i591.i.i4129 - %vtable.i.i.i.i594.i.i4132 = load ptr, ptr %1928, align 8 - %vfn.i.i.i.i595.i.i4133 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i4132, i64 1 - %1929 = load ptr, ptr %vfn.i.i.i.i595.i.i4133, align 8 + br label %ehcleanup213.i.i4107 + +invoke.cont199.i.i4123: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i4120, %invoke.cont2.i573.i.i4118 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i3391), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i3390), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i3390) + to label %.noexc596.i.i4124 unwind label %lpad198.i.i4106 + +.noexc596.i.i4124: ; preds = %invoke.cont199.i.i4123 + %1927 = load ptr, ptr %ref.tmp.i581.i.i3390, align 8, !noalias !1588 + %add.ptr.i.i582.i.i4125 = getelementptr inbounds i8, ptr %1927, i64 16 + %call2.i1.i583.i.i4126 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i4125, ptr noundef nonnull @.str.114) + to label %invoke.cont.i590.i.i4132 unwind label %lpad.i584.i.i4127 + +invoke.cont.i590.i.i4132: ; preds = %.noexc596.i.i4124 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3426, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i3390) + to label %invoke.cont2.i591.i.i4133 unwind label %lpad.i584.i.i4127 + +invoke.cont2.i591.i.i4133: ; preds = %invoke.cont.i590.i.i4132 + %1928 = load ptr, ptr %ref.tmp.i581.i.i3390, align 8, !noalias !1588 + %cmp.not.i.i.i592.i.i4134 = icmp eq ptr %1928, null + br i1 %cmp.not.i.i.i592.i.i4134, label %invoke.cont201.i.i4138, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i4135 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i4135: ; preds = %invoke.cont2.i591.i.i4133 + %vtable.i.i.i.i594.i.i4136 = load ptr, ptr %1928, align 8 + %vfn.i.i.i.i595.i.i4137 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i4136, i64 1 + %1929 = load ptr, ptr %vfn.i.i.i.i595.i.i4137, align 8 call void %1929(ptr noundef nonnull align 8 dereferenceable(128) %1928) #30 - br label %invoke.cont201.i.i4134 + br label %invoke.cont201.i.i4138 -lpad.i584.i.i4123: ; preds = %invoke.cont.i590.i.i4128, %.noexc596.i.i4120 +lpad.i584.i.i4127: ; preds = %invoke.cont.i590.i.i4132, %.noexc596.i.i4124 %1930 = landingpad { ptr, i32 } cleanup - %1931 = load ptr, ptr %ref.tmp.i581.i.i3386, align 8, !noalias !1588 - %cmp.not.i.i2.i585.i.i4124 = icmp eq ptr %1931, null - br i1 %cmp.not.i.i2.i585.i.i4124, label %ehcleanup213.i.i4103, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i4125 + %1931 = load ptr, ptr %ref.tmp.i581.i.i3390, align 8, !noalias !1588 + %cmp.not.i.i2.i585.i.i4128 = icmp eq ptr %1931, null + br i1 %cmp.not.i.i2.i585.i.i4128, label %ehcleanup213.i.i4107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i4129 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i4125: ; preds = %lpad.i584.i.i4123 - %vtable.i.i.i4.i587.i.i4126 = load ptr, ptr %1931, align 8 - %vfn.i.i.i5.i588.i.i4127 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i4126, i64 1 - %1932 = load ptr, ptr %vfn.i.i.i5.i588.i.i4127, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i4129: ; preds = %lpad.i584.i.i4127 + %vtable.i.i.i4.i587.i.i4130 = load ptr, ptr %1931, align 8 + %vfn.i.i.i5.i588.i.i4131 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i4130, i64 1 + %1932 = load ptr, ptr %vfn.i.i.i5.i588.i.i4131, align 8 call void %1932(ptr noundef nonnull align 8 dereferenceable(128) %1931) #30 - br label %ehcleanup213.i.i4103 - -invoke.cont201.i.i4134: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i4131, %invoke.cont2.i591.i.i4129 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i3386), !noalias !1588 - %call68.val77.i.i4135 = load ptr, ptr %__begin058.sroa.0.052.i.i3586, align 8 - %call204.val.i.i4136 = load ptr, ptr %call68.val77.i.i4135, align 8 - %1933 = getelementptr i8, ptr %call68.val77.i.i4135, i64 8 - %call204.val91.i.i4137 = load i64, ptr %1933, align 8 - %call204.val.val.i.i4138 = load ptr, ptr %call204.val.i.i4136, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i3424, ptr %call204.val.val.i.i4138, i64 %call204.val91.i.i4137) - to label %invoke.cont205.i.i4140 unwind label %lpad198.i.i4102 - -invoke.cont205.i.i4140: ; preds = %invoke.cont201.i.i4134 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i3385), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i3385) - to label %.noexc614.i.i4144 unwind label %lpad206.i.i4141 - -.noexc614.i.i4144: ; preds = %invoke.cont205.i.i4140 - %1934 = load ptr, ptr %ref.tmp.i599.i.i3385, align 8, !noalias !1588 - %add.ptr.i.i600.i.i4145 = getelementptr inbounds i8, ptr %1934, i64 16 - %call2.i1.i601.i.i4146 = 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) %add.ptr.i.i600.i.i4145, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i3424) - to label %invoke.cont.i608.i.i4152 unwind label %lpad.i602.i.i4147 - -invoke.cont.i608.i.i4152: ; preds = %.noexc614.i.i4144 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3422, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i3385) - to label %invoke.cont2.i609.i.i4153 unwind label %lpad.i602.i.i4147 - -invoke.cont2.i609.i.i4153: ; preds = %invoke.cont.i608.i.i4152 - %1935 = load ptr, ptr %ref.tmp.i599.i.i3385, align 8, !noalias !1588 - %cmp.not.i.i.i610.i.i4154 = icmp eq ptr %1935, null - br i1 %cmp.not.i.i.i610.i.i4154, label %invoke.cont207.i.i4158, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i4155 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i4155: ; preds = %invoke.cont2.i609.i.i4153 - %vtable.i.i.i.i612.i.i4156 = load ptr, ptr %1935, align 8 - %vfn.i.i.i.i613.i.i4157 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i4156, i64 1 - %1936 = load ptr, ptr %vfn.i.i.i.i613.i.i4157, align 8 + br label %ehcleanup213.i.i4107 + +invoke.cont201.i.i4138: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i4135, %invoke.cont2.i591.i.i4133 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i3390), !noalias !1588 + %call68.val77.i.i4139 = load ptr, ptr %__begin058.sroa.0.052.i.i3590, align 8 + %call204.val.i.i4140 = load ptr, ptr %call68.val77.i.i4139, align 8 + %1933 = getelementptr i8, ptr %call68.val77.i.i4139, i64 8 + %call204.val91.i.i4141 = load i64, ptr %1933, align 8 + %call204.val.val.i.i4142 = load ptr, ptr %call204.val.i.i4140, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i3428, ptr %call204.val.val.i.i4142, i64 %call204.val91.i.i4141) + to label %invoke.cont205.i.i4144 unwind label %lpad198.i.i4106 + +invoke.cont205.i.i4144: ; preds = %invoke.cont201.i.i4138 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i3389), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i3389) + to label %.noexc614.i.i4148 unwind label %lpad206.i.i4145 + +.noexc614.i.i4148: ; preds = %invoke.cont205.i.i4144 + %1934 = load ptr, ptr %ref.tmp.i599.i.i3389, align 8, !noalias !1588 + %add.ptr.i.i600.i.i4149 = getelementptr inbounds i8, ptr %1934, i64 16 + %call2.i1.i601.i.i4150 = 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) %add.ptr.i.i600.i.i4149, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i3428) + to label %invoke.cont.i608.i.i4156 unwind label %lpad.i602.i.i4151 + +invoke.cont.i608.i.i4156: ; preds = %.noexc614.i.i4148 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3426, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i3389) + to label %invoke.cont2.i609.i.i4157 unwind label %lpad.i602.i.i4151 + +invoke.cont2.i609.i.i4157: ; preds = %invoke.cont.i608.i.i4156 + %1935 = load ptr, ptr %ref.tmp.i599.i.i3389, align 8, !noalias !1588 + %cmp.not.i.i.i610.i.i4158 = icmp eq ptr %1935, null + br i1 %cmp.not.i.i.i610.i.i4158, label %invoke.cont207.i.i4162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i4159 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i4159: ; preds = %invoke.cont2.i609.i.i4157 + %vtable.i.i.i.i612.i.i4160 = load ptr, ptr %1935, align 8 + %vfn.i.i.i.i613.i.i4161 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i4160, i64 1 + %1936 = load ptr, ptr %vfn.i.i.i.i613.i.i4161, align 8 call void %1936(ptr noundef nonnull align 8 dereferenceable(128) %1935) #30 - br label %invoke.cont207.i.i4158 + br label %invoke.cont207.i.i4162 -lpad.i602.i.i4147: ; preds = %invoke.cont.i608.i.i4152, %.noexc614.i.i4144 +lpad.i602.i.i4151: ; preds = %invoke.cont.i608.i.i4156, %.noexc614.i.i4148 %1937 = landingpad { ptr, i32 } cleanup - %1938 = load ptr, ptr %ref.tmp.i599.i.i3385, align 8, !noalias !1588 - %cmp.not.i.i2.i603.i.i4148 = icmp eq ptr %1938, null - br i1 %cmp.not.i.i2.i603.i.i4148, label %lpad206.body.i.i4142, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i4149 + %1938 = load ptr, ptr %ref.tmp.i599.i.i3389, align 8, !noalias !1588 + %cmp.not.i.i2.i603.i.i4152 = icmp eq ptr %1938, null + br i1 %cmp.not.i.i2.i603.i.i4152, label %lpad206.body.i.i4146, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i4153 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i4149: ; preds = %lpad.i602.i.i4147 - %vtable.i.i.i4.i605.i.i4150 = load ptr, ptr %1938, align 8 - %vfn.i.i.i5.i606.i.i4151 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i4150, i64 1 - %1939 = load ptr, ptr %vfn.i.i.i5.i606.i.i4151, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i4153: ; preds = %lpad.i602.i.i4151 + %vtable.i.i.i4.i605.i.i4154 = load ptr, ptr %1938, align 8 + %vfn.i.i.i5.i606.i.i4155 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i4154, i64 1 + %1939 = load ptr, ptr %vfn.i.i.i5.i606.i.i4155, align 8 call void %1939(ptr noundef nonnull align 8 dereferenceable(128) %1938) #30 - br label %lpad206.body.i.i4142 - -invoke.cont207.i.i4158: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i4155, %invoke.cont2.i609.i.i4153 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i3385), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i3384), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i3384) - to label %.noexc632.i.i4159 unwind label %lpad206.i.i4141 - -.noexc632.i.i4159: ; preds = %invoke.cont207.i.i4158 - %1940 = load ptr, ptr %ref.tmp.i617.i.i3384, align 8, !noalias !1588 - %add.ptr.i.i618.i.i4160 = getelementptr inbounds i8, ptr %1940, i64 16 - %call2.i1.i619.i.i4161 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i4160, ptr noundef nonnull @.str.115) - to label %invoke.cont.i626.i.i4167 unwind label %lpad.i620.i.i4162 - -invoke.cont.i626.i.i4167: ; preds = %.noexc632.i.i4159 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3422, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i3384) - to label %invoke.cont2.i627.i.i4168 unwind label %lpad.i620.i.i4162 - -invoke.cont2.i627.i.i4168: ; preds = %invoke.cont.i626.i.i4167 - %1941 = load ptr, ptr %ref.tmp.i617.i.i3384, align 8, !noalias !1588 - %cmp.not.i.i.i628.i.i4169 = icmp eq ptr %1941, null - br i1 %cmp.not.i.i.i628.i.i4169, label %invoke.cont209.i.i4173, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i4170 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i4170: ; preds = %invoke.cont2.i627.i.i4168 - %vtable.i.i.i.i630.i.i4171 = load ptr, ptr %1941, align 8 - %vfn.i.i.i.i631.i.i4172 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i4171, i64 1 - %1942 = load ptr, ptr %vfn.i.i.i.i631.i.i4172, align 8 + br label %lpad206.body.i.i4146 + +invoke.cont207.i.i4162: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i4159, %invoke.cont2.i609.i.i4157 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i3389), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i3388), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i3388) + to label %.noexc632.i.i4163 unwind label %lpad206.i.i4145 + +.noexc632.i.i4163: ; preds = %invoke.cont207.i.i4162 + %1940 = load ptr, ptr %ref.tmp.i617.i.i3388, align 8, !noalias !1588 + %add.ptr.i.i618.i.i4164 = getelementptr inbounds i8, ptr %1940, i64 16 + %call2.i1.i619.i.i4165 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i4164, ptr noundef nonnull @.str.115) + to label %invoke.cont.i626.i.i4171 unwind label %lpad.i620.i.i4166 + +invoke.cont.i626.i.i4171: ; preds = %.noexc632.i.i4163 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3426, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i3388) + to label %invoke.cont2.i627.i.i4172 unwind label %lpad.i620.i.i4166 + +invoke.cont2.i627.i.i4172: ; preds = %invoke.cont.i626.i.i4171 + %1941 = load ptr, ptr %ref.tmp.i617.i.i3388, align 8, !noalias !1588 + %cmp.not.i.i.i628.i.i4173 = icmp eq ptr %1941, null + br i1 %cmp.not.i.i.i628.i.i4173, label %invoke.cont209.i.i4177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i4174 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i4174: ; preds = %invoke.cont2.i627.i.i4172 + %vtable.i.i.i.i630.i.i4175 = load ptr, ptr %1941, align 8 + %vfn.i.i.i.i631.i.i4176 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i4175, i64 1 + %1942 = load ptr, ptr %vfn.i.i.i.i631.i.i4176, align 8 call void %1942(ptr noundef nonnull align 8 dereferenceable(128) %1941) #30 - br label %invoke.cont209.i.i4173 + br label %invoke.cont209.i.i4177 -lpad.i620.i.i4162: ; preds = %invoke.cont.i626.i.i4167, %.noexc632.i.i4159 +lpad.i620.i.i4166: ; preds = %invoke.cont.i626.i.i4171, %.noexc632.i.i4163 %1943 = landingpad { ptr, i32 } cleanup - %1944 = load ptr, ptr %ref.tmp.i617.i.i3384, align 8, !noalias !1588 - %cmp.not.i.i2.i621.i.i4163 = icmp eq ptr %1944, null - br i1 %cmp.not.i.i2.i621.i.i4163, label %lpad206.body.i.i4142, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i4164 + %1944 = load ptr, ptr %ref.tmp.i617.i.i3388, align 8, !noalias !1588 + %cmp.not.i.i2.i621.i.i4167 = icmp eq ptr %1944, null + br i1 %cmp.not.i.i2.i621.i.i4167, label %lpad206.body.i.i4146, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i4168 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i4164: ; preds = %lpad.i620.i.i4162 - %vtable.i.i.i4.i623.i.i4165 = load ptr, ptr %1944, align 8 - %vfn.i.i.i5.i624.i.i4166 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i4165, i64 1 - %1945 = load ptr, ptr %vfn.i.i.i5.i624.i.i4166, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i4168: ; preds = %lpad.i620.i.i4166 + %vtable.i.i.i4.i623.i.i4169 = load ptr, ptr %1944, align 8 + %vfn.i.i.i5.i624.i.i4170 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i4169, i64 1 + %1945 = load ptr, ptr %vfn.i.i.i5.i624.i.i4170, align 8 call void %1945(ptr noundef nonnull align 8 dereferenceable(128) %1944) #30 - br label %lpad206.body.i.i4142 - -invoke.cont209.i.i4173: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i4170, %invoke.cont2.i627.i.i4168 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i3384), !noalias !1588 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3422) - to label %invoke.cont211.i.i4174 unwind label %lpad206.i.i4141 - -invoke.cont211.i.i4174: ; preds = %invoke.cont209.i.i4173 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i3424) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i3423) #30 - %message_.i635.i.i4175 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i3422, i64 0, i32 1 - %1946 = load ptr, ptr %message_.i635.i.i4175, align 8, !noalias !1588 - %cmp.not.i.i636.i.i4176 = icmp eq ptr %1946, null - br i1 %cmp.not.i.i636.i.i4176, label %cleanup249.critedge.i.i4033, label %cleanup249.critedge.sink.split.i.i4030 - -lpad192.i.i4078: ; preds = %invoke.cont193.i.i4095, %invoke.cont191.i.i4077 + br label %lpad206.body.i.i4146 + +invoke.cont209.i.i4177: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i4174, %invoke.cont2.i627.i.i4172 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i3388), !noalias !1588 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3426) + to label %invoke.cont211.i.i4178 unwind label %lpad206.i.i4145 + +invoke.cont211.i.i4178: ; preds = %invoke.cont209.i.i4177 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i3428) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i3427) #30 + %message_.i635.i.i4179 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i3426, i64 0, i32 1 + %1946 = load ptr, ptr %message_.i635.i.i4179, align 8, !noalias !1588 + %cmp.not.i.i636.i.i4180 = icmp eq ptr %1946, null + br i1 %cmp.not.i.i636.i.i4180, label %cleanup249.critedge.i.i4037, label %cleanup249.critedge.sink.split.i.i4034 + +lpad192.i.i4082: ; preds = %invoke.cont193.i.i4099, %invoke.cont191.i.i4081 %1947 = landingpad { ptr, i32 } cleanup - br label %ehcleanup214.i.i4079 + br label %ehcleanup214.i.i4083 -lpad198.i.i4102: ; preds = %invoke.cont201.i.i4134, %invoke.cont199.i.i4119, %invoke.cont197.i.i4101 +lpad198.i.i4106: ; preds = %invoke.cont201.i.i4138, %invoke.cont199.i.i4123, %invoke.cont197.i.i4105 %1948 = landingpad { ptr, i32 } cleanup - br label %ehcleanup213.i.i4103 + br label %ehcleanup213.i.i4107 -lpad206.i.i4141: ; preds = %invoke.cont209.i.i4173, %invoke.cont207.i.i4158, %invoke.cont205.i.i4140 +lpad206.i.i4145: ; preds = %invoke.cont209.i.i4177, %invoke.cont207.i.i4162, %invoke.cont205.i.i4144 %1949 = landingpad { ptr, i32 } cleanup - br label %lpad206.body.i.i4142 - -lpad206.body.i.i4142: ; preds = %lpad206.i.i4141, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i4164, %lpad.i620.i.i4162, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i4149, %lpad.i602.i.i4147 - %eh.lpad-body615.i.i4143 = phi { ptr, i32 } [ %1937, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i4149 ], [ %1937, %lpad.i602.i.i4147 ], [ %1949, %lpad206.i.i4141 ], [ %1943, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i4164 ], [ %1943, %lpad.i620.i.i4162 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i3424) #30 - br label %ehcleanup213.i.i4103 - -ehcleanup213.i.i4103: ; preds = %lpad206.body.i.i4142, %lpad198.i.i4102, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i4125, %lpad.i584.i.i4123, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i4110, %lpad.i566.i.i4108 - %.pn31.i.i4104 = phi { ptr, i32 } [ %eh.lpad-body615.i.i4143, %lpad206.body.i.i4142 ], [ %1924, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i4110 ], [ %1924, %lpad.i566.i.i4108 ], [ %1948, %lpad198.i.i4102 ], [ %1930, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i4125 ], [ %1930, %lpad.i584.i.i4123 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i3423) #30 - br label %ehcleanup214.i.i4079 - -ehcleanup214.i.i4079: ; preds = %ehcleanup213.i.i4103, %lpad192.i.i4078, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i4086, %lpad.i549.i.i4084 - %.pn31.pn.i.i4080 = phi { ptr, i32 } [ %.pn31.i.i4104, %ehcleanup213.i.i4103 ], [ %1947, %lpad192.i.i4078 ], [ %1917, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i4086 ], [ %1917, %lpad.i549.i.i4084 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3422) #30 - br label %ehcleanup245.i.i3924 - -sw.bb215.i.i3927: ; preds = %invoke.cont162.i.i3926 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i3425) - to label %invoke.cont217.i.i3930 unwind label %lpad161.loopexit.split-lp.i.i3928 - -invoke.cont217.i.i3930: ; preds = %sw.bb215.i.i3927 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i3383), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i3383) - to label %.noexc654.i.i3934 unwind label %lpad218.i.i3931 - -.noexc654.i.i3934: ; preds = %invoke.cont217.i.i3930 - %1950 = load ptr, ptr %ref.tmp.i639.i.i3383, align 8, !noalias !1588 - %add.ptr.i.i640.i.i3935 = getelementptr inbounds i8, ptr %1950, i64 16 - %call2.i1.i641.i.i3936 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i3935, ptr noundef nonnull @.str.113) - to label %invoke.cont.i648.i.i3942 unwind label %lpad.i642.i.i3937 - -invoke.cont.i648.i.i3942: ; preds = %.noexc654.i.i3934 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3425, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i3383) - to label %invoke.cont2.i649.i.i3943 unwind label %lpad.i642.i.i3937 - -invoke.cont2.i649.i.i3943: ; preds = %invoke.cont.i648.i.i3942 - %1951 = load ptr, ptr %ref.tmp.i639.i.i3383, align 8, !noalias !1588 - %cmp.not.i.i.i650.i.i3944 = icmp eq ptr %1951, null - br i1 %cmp.not.i.i.i650.i.i3944, label %invoke.cont219.i.i3948, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i3945 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i3945: ; preds = %invoke.cont2.i649.i.i3943 - %vtable.i.i.i.i652.i.i3946 = load ptr, ptr %1951, align 8 - %vfn.i.i.i.i653.i.i3947 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i3946, i64 1 - %1952 = load ptr, ptr %vfn.i.i.i.i653.i.i3947, align 8 + br label %lpad206.body.i.i4146 + +lpad206.body.i.i4146: ; preds = %lpad206.i.i4145, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i4168, %lpad.i620.i.i4166, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i4153, %lpad.i602.i.i4151 + %eh.lpad-body615.i.i4147 = phi { ptr, i32 } [ %1937, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i4153 ], [ %1937, %lpad.i602.i.i4151 ], [ %1949, %lpad206.i.i4145 ], [ %1943, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i4168 ], [ %1943, %lpad.i620.i.i4166 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i3428) #30 + br label %ehcleanup213.i.i4107 + +ehcleanup213.i.i4107: ; preds = %lpad206.body.i.i4146, %lpad198.i.i4106, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i4129, %lpad.i584.i.i4127, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i4114, %lpad.i566.i.i4112 + %.pn31.i.i4108 = phi { ptr, i32 } [ %eh.lpad-body615.i.i4147, %lpad206.body.i.i4146 ], [ %1924, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i4114 ], [ %1924, %lpad.i566.i.i4112 ], [ %1948, %lpad198.i.i4106 ], [ %1930, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i4129 ], [ %1930, %lpad.i584.i.i4127 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i3427) #30 + br label %ehcleanup214.i.i4083 + +ehcleanup214.i.i4083: ; preds = %ehcleanup213.i.i4107, %lpad192.i.i4082, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i4090, %lpad.i549.i.i4088 + %.pn31.pn.i.i4084 = phi { ptr, i32 } [ %.pn31.i.i4108, %ehcleanup213.i.i4107 ], [ %1947, %lpad192.i.i4082 ], [ %1917, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i4090 ], [ %1917, %lpad.i549.i.i4088 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i3426) #30 + br label %ehcleanup245.i.i3928 + +sw.bb215.i.i3931: ; preds = %invoke.cont162.i.i3930 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i3429) + to label %invoke.cont217.i.i3934 unwind label %lpad161.loopexit.split-lp.i.i3932 + +invoke.cont217.i.i3934: ; preds = %sw.bb215.i.i3931 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i3387), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i3387) + to label %.noexc654.i.i3938 unwind label %lpad218.i.i3935 + +.noexc654.i.i3938: ; preds = %invoke.cont217.i.i3934 + %1950 = load ptr, ptr %ref.tmp.i639.i.i3387, align 8, !noalias !1588 + %add.ptr.i.i640.i.i3939 = getelementptr inbounds i8, ptr %1950, i64 16 + %call2.i1.i641.i.i3940 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i3939, ptr noundef nonnull @.str.113) + to label %invoke.cont.i648.i.i3946 unwind label %lpad.i642.i.i3941 + +invoke.cont.i648.i.i3946: ; preds = %.noexc654.i.i3938 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3429, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i3387) + to label %invoke.cont2.i649.i.i3947 unwind label %lpad.i642.i.i3941 + +invoke.cont2.i649.i.i3947: ; preds = %invoke.cont.i648.i.i3946 + %1951 = load ptr, ptr %ref.tmp.i639.i.i3387, align 8, !noalias !1588 + %cmp.not.i.i.i650.i.i3948 = icmp eq ptr %1951, null + br i1 %cmp.not.i.i.i650.i.i3948, label %invoke.cont219.i.i3952, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i3949 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i3949: ; preds = %invoke.cont2.i649.i.i3947 + %vtable.i.i.i.i652.i.i3950 = load ptr, ptr %1951, align 8 + %vfn.i.i.i.i653.i.i3951 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i3950, i64 1 + %1952 = load ptr, ptr %vfn.i.i.i.i653.i.i3951, align 8 call void %1952(ptr noundef nonnull align 8 dereferenceable(128) %1951) #30 - br label %invoke.cont219.i.i3948 + br label %invoke.cont219.i.i3952 -lpad.i642.i.i3937: ; preds = %invoke.cont.i648.i.i3942, %.noexc654.i.i3934 +lpad.i642.i.i3941: ; preds = %invoke.cont.i648.i.i3946, %.noexc654.i.i3938 %1953 = landingpad { ptr, i32 } cleanup - %1954 = load ptr, ptr %ref.tmp.i639.i.i3383, align 8, !noalias !1588 - %cmp.not.i.i2.i643.i.i3938 = icmp eq ptr %1954, null - br i1 %cmp.not.i.i2.i643.i.i3938, label %ehcleanup240.i.i3932, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i3939 + %1954 = load ptr, ptr %ref.tmp.i639.i.i3387, align 8, !noalias !1588 + %cmp.not.i.i2.i643.i.i3942 = icmp eq ptr %1954, null + br i1 %cmp.not.i.i2.i643.i.i3942, label %ehcleanup240.i.i3936, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i3943 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i3939: ; preds = %lpad.i642.i.i3937 - %vtable.i.i.i4.i645.i.i3940 = load ptr, ptr %1954, align 8 - %vfn.i.i.i5.i646.i.i3941 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i3940, i64 1 - %1955 = load ptr, ptr %vfn.i.i.i5.i646.i.i3941, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i3943: ; preds = %lpad.i642.i.i3941 + %vtable.i.i.i4.i645.i.i3944 = load ptr, ptr %1954, align 8 + %vfn.i.i.i5.i646.i.i3945 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i3944, i64 1 + %1955 = load ptr, ptr %vfn.i.i.i5.i646.i.i3945, align 8 call void %1955(ptr noundef nonnull align 8 dereferenceable(128) %1954) #30 - br label %ehcleanup240.i.i3932 - -invoke.cont219.i.i3948: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i3945, %invoke.cont2.i649.i.i3943 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i3383), !noalias !1588 - %call68.val78.i.i3949 = load ptr, ptr %__begin058.sroa.0.052.i.i3586, align 8 - %call222.val.i.i3950 = load ptr, ptr %call68.val78.i.i3949, align 8 - %1956 = getelementptr i8, ptr %call68.val78.i.i3949, i64 8 - %call222.val92.i.i3951 = load i64, ptr %1956, align 8 - %call222.val.val.i.i3952 = load ptr, ptr %call222.val.i.i3950, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i3426, ptr %call222.val.val.i.i3952, i64 %call222.val92.i.i3951) - to label %invoke.cont223.i.i3954 unwind label %lpad218.i.i3931 - -invoke.cont223.i.i3954: ; preds = %invoke.cont219.i.i3948 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i3382), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i3382) - to label %.noexc672.i.i3958 unwind label %lpad224.i.i3955 - -.noexc672.i.i3958: ; preds = %invoke.cont223.i.i3954 - %1957 = load ptr, ptr %ref.tmp.i657.i.i3382, align 8, !noalias !1588 - %add.ptr.i.i658.i.i3959 = getelementptr inbounds i8, ptr %1957, i64 16 - %call2.i1.i659.i.i3960 = 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) %add.ptr.i.i658.i.i3959, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i3426) - to label %invoke.cont.i666.i.i3966 unwind label %lpad.i660.i.i3961 - -invoke.cont.i666.i.i3966: ; preds = %.noexc672.i.i3958 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3425, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i3382) - to label %invoke.cont2.i667.i.i3967 unwind label %lpad.i660.i.i3961 - -invoke.cont2.i667.i.i3967: ; preds = %invoke.cont.i666.i.i3966 - %1958 = load ptr, ptr %ref.tmp.i657.i.i3382, align 8, !noalias !1588 - %cmp.not.i.i.i668.i.i3968 = icmp eq ptr %1958, null - br i1 %cmp.not.i.i.i668.i.i3968, label %invoke.cont225.i.i3972, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i3969 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i3969: ; preds = %invoke.cont2.i667.i.i3967 - %vtable.i.i.i.i670.i.i3970 = load ptr, ptr %1958, align 8 - %vfn.i.i.i.i671.i.i3971 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i3970, i64 1 - %1959 = load ptr, ptr %vfn.i.i.i.i671.i.i3971, align 8 + br label %ehcleanup240.i.i3936 + +invoke.cont219.i.i3952: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i3949, %invoke.cont2.i649.i.i3947 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i3387), !noalias !1588 + %call68.val78.i.i3953 = load ptr, ptr %__begin058.sroa.0.052.i.i3590, align 8 + %call222.val.i.i3954 = load ptr, ptr %call68.val78.i.i3953, align 8 + %1956 = getelementptr i8, ptr %call68.val78.i.i3953, i64 8 + %call222.val92.i.i3955 = load i64, ptr %1956, align 8 + %call222.val.val.i.i3956 = load ptr, ptr %call222.val.i.i3954, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i3430, ptr %call222.val.val.i.i3956, i64 %call222.val92.i.i3955) + to label %invoke.cont223.i.i3958 unwind label %lpad218.i.i3935 + +invoke.cont223.i.i3958: ; preds = %invoke.cont219.i.i3952 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i3386), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i3386) + to label %.noexc672.i.i3962 unwind label %lpad224.i.i3959 + +.noexc672.i.i3962: ; preds = %invoke.cont223.i.i3958 + %1957 = load ptr, ptr %ref.tmp.i657.i.i3386, align 8, !noalias !1588 + %add.ptr.i.i658.i.i3963 = getelementptr inbounds i8, ptr %1957, i64 16 + %call2.i1.i659.i.i3964 = 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) %add.ptr.i.i658.i.i3963, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i3430) + to label %invoke.cont.i666.i.i3970 unwind label %lpad.i660.i.i3965 + +invoke.cont.i666.i.i3970: ; preds = %.noexc672.i.i3962 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3429, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i3386) + to label %invoke.cont2.i667.i.i3971 unwind label %lpad.i660.i.i3965 + +invoke.cont2.i667.i.i3971: ; preds = %invoke.cont.i666.i.i3970 + %1958 = load ptr, ptr %ref.tmp.i657.i.i3386, align 8, !noalias !1588 + %cmp.not.i.i.i668.i.i3972 = icmp eq ptr %1958, null + br i1 %cmp.not.i.i.i668.i.i3972, label %invoke.cont225.i.i3976, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i3973 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i3973: ; preds = %invoke.cont2.i667.i.i3971 + %vtable.i.i.i.i670.i.i3974 = load ptr, ptr %1958, align 8 + %vfn.i.i.i.i671.i.i3975 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i3974, i64 1 + %1959 = load ptr, ptr %vfn.i.i.i.i671.i.i3975, align 8 call void %1959(ptr noundef nonnull align 8 dereferenceable(128) %1958) #30 - br label %invoke.cont225.i.i3972 + br label %invoke.cont225.i.i3976 -lpad.i660.i.i3961: ; preds = %invoke.cont.i666.i.i3966, %.noexc672.i.i3958 +lpad.i660.i.i3965: ; preds = %invoke.cont.i666.i.i3970, %.noexc672.i.i3962 %1960 = landingpad { ptr, i32 } cleanup - %1961 = load ptr, ptr %ref.tmp.i657.i.i3382, align 8, !noalias !1588 - %cmp.not.i.i2.i661.i.i3962 = icmp eq ptr %1961, null - br i1 %cmp.not.i.i2.i661.i.i3962, label %ehcleanup239.i.i3956, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i3963 + %1961 = load ptr, ptr %ref.tmp.i657.i.i3386, align 8, !noalias !1588 + %cmp.not.i.i2.i661.i.i3966 = icmp eq ptr %1961, null + br i1 %cmp.not.i.i2.i661.i.i3966, label %ehcleanup239.i.i3960, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i3967 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i3963: ; preds = %lpad.i660.i.i3961 - %vtable.i.i.i4.i663.i.i3964 = load ptr, ptr %1961, align 8 - %vfn.i.i.i5.i664.i.i3965 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i3964, i64 1 - %1962 = load ptr, ptr %vfn.i.i.i5.i664.i.i3965, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i3967: ; preds = %lpad.i660.i.i3965 + %vtable.i.i.i4.i663.i.i3968 = load ptr, ptr %1961, align 8 + %vfn.i.i.i5.i664.i.i3969 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i3968, i64 1 + %1962 = load ptr, ptr %vfn.i.i.i5.i664.i.i3969, align 8 call void %1962(ptr noundef nonnull align 8 dereferenceable(128) %1961) #30 - br label %ehcleanup239.i.i3956 - -invoke.cont225.i.i3972: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i3969, %invoke.cont2.i667.i.i3967 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i3382), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i3381), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i3381) - to label %.noexc690.i.i3973 unwind label %lpad224.i.i3955 - -.noexc690.i.i3973: ; preds = %invoke.cont225.i.i3972 - %1963 = load ptr, ptr %ref.tmp.i675.i.i3381, align 8, !noalias !1588 - %add.ptr.i.i676.i.i3974 = getelementptr inbounds i8, ptr %1963, i64 16 - %call2.i1.i677.i.i3975 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i3974, ptr noundef nonnull @.str.114) - to label %invoke.cont.i684.i.i3981 unwind label %lpad.i678.i.i3976 - -invoke.cont.i684.i.i3981: ; preds = %.noexc690.i.i3973 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3425, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i3381) - to label %invoke.cont2.i685.i.i3982 unwind label %lpad.i678.i.i3976 - -invoke.cont2.i685.i.i3982: ; preds = %invoke.cont.i684.i.i3981 - %1964 = load ptr, ptr %ref.tmp.i675.i.i3381, align 8, !noalias !1588 - %cmp.not.i.i.i686.i.i3983 = icmp eq ptr %1964, null - br i1 %cmp.not.i.i.i686.i.i3983, label %invoke.cont227.i.i3987, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i3984 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i3984: ; preds = %invoke.cont2.i685.i.i3982 - %vtable.i.i.i.i688.i.i3985 = load ptr, ptr %1964, align 8 - %vfn.i.i.i.i689.i.i3986 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i3985, i64 1 - %1965 = load ptr, ptr %vfn.i.i.i.i689.i.i3986, align 8 + br label %ehcleanup239.i.i3960 + +invoke.cont225.i.i3976: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i3973, %invoke.cont2.i667.i.i3971 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i3386), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i3385), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i3385) + to label %.noexc690.i.i3977 unwind label %lpad224.i.i3959 + +.noexc690.i.i3977: ; preds = %invoke.cont225.i.i3976 + %1963 = load ptr, ptr %ref.tmp.i675.i.i3385, align 8, !noalias !1588 + %add.ptr.i.i676.i.i3978 = getelementptr inbounds i8, ptr %1963, i64 16 + %call2.i1.i677.i.i3979 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i3978, ptr noundef nonnull @.str.114) + to label %invoke.cont.i684.i.i3985 unwind label %lpad.i678.i.i3980 + +invoke.cont.i684.i.i3985: ; preds = %.noexc690.i.i3977 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3429, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i3385) + to label %invoke.cont2.i685.i.i3986 unwind label %lpad.i678.i.i3980 + +invoke.cont2.i685.i.i3986: ; preds = %invoke.cont.i684.i.i3985 + %1964 = load ptr, ptr %ref.tmp.i675.i.i3385, align 8, !noalias !1588 + %cmp.not.i.i.i686.i.i3987 = icmp eq ptr %1964, null + br i1 %cmp.not.i.i.i686.i.i3987, label %invoke.cont227.i.i3991, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i3988 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i3988: ; preds = %invoke.cont2.i685.i.i3986 + %vtable.i.i.i.i688.i.i3989 = load ptr, ptr %1964, align 8 + %vfn.i.i.i.i689.i.i3990 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i3989, i64 1 + %1965 = load ptr, ptr %vfn.i.i.i.i689.i.i3990, align 8 call void %1965(ptr noundef nonnull align 8 dereferenceable(128) %1964) #30 - br label %invoke.cont227.i.i3987 + br label %invoke.cont227.i.i3991 -lpad.i678.i.i3976: ; preds = %invoke.cont.i684.i.i3981, %.noexc690.i.i3973 +lpad.i678.i.i3980: ; preds = %invoke.cont.i684.i.i3985, %.noexc690.i.i3977 %1966 = landingpad { ptr, i32 } cleanup - %1967 = load ptr, ptr %ref.tmp.i675.i.i3381, align 8, !noalias !1588 - %cmp.not.i.i2.i679.i.i3977 = icmp eq ptr %1967, null - br i1 %cmp.not.i.i2.i679.i.i3977, label %ehcleanup239.i.i3956, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i3978 + %1967 = load ptr, ptr %ref.tmp.i675.i.i3385, align 8, !noalias !1588 + %cmp.not.i.i2.i679.i.i3981 = icmp eq ptr %1967, null + br i1 %cmp.not.i.i2.i679.i.i3981, label %ehcleanup239.i.i3960, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i3982 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i3978: ; preds = %lpad.i678.i.i3976 - %vtable.i.i.i4.i681.i.i3979 = load ptr, ptr %1967, align 8 - %vfn.i.i.i5.i682.i.i3980 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i3979, i64 1 - %1968 = load ptr, ptr %vfn.i.i.i5.i682.i.i3980, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i3982: ; preds = %lpad.i678.i.i3980 + %vtable.i.i.i4.i681.i.i3983 = load ptr, ptr %1967, align 8 + %vfn.i.i.i5.i682.i.i3984 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i3983, i64 1 + %1968 = load ptr, ptr %vfn.i.i.i5.i682.i.i3984, align 8 call void %1968(ptr noundef nonnull align 8 dereferenceable(128) %1967) #30 - br label %ehcleanup239.i.i3956 - -invoke.cont227.i.i3987: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i3984, %invoke.cont2.i685.i.i3982 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i3381), !noalias !1588 - %call155.val79.i.i3988 = load ptr, ptr %__begin0146.sroa.0.050.i.i3911, align 8 - %call230.val.i.i3989 = load ptr, ptr %call155.val79.i.i3988, align 8 - %1969 = getelementptr i8, ptr %call155.val79.i.i3988, i64 8 - %call230.val93.i.i3990 = load i64, ptr %1969, align 8 - %call230.val.val.i.i3991 = load ptr, ptr %call230.val.i.i3989, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i3427, ptr %call230.val.val.i.i3991, i64 %call230.val93.i.i3990) - to label %invoke.cont231.i.i3993 unwind label %lpad224.i.i3955 - -invoke.cont231.i.i3993: ; preds = %invoke.cont227.i.i3987 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i3380), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i3380) - to label %.noexc709.i.i3997 unwind label %lpad232.i.i3994 - -.noexc709.i.i3997: ; preds = %invoke.cont231.i.i3993 - %1970 = load ptr, ptr %ref.tmp.i694.i.i3380, align 8, !noalias !1588 - %add.ptr.i.i695.i.i3998 = getelementptr inbounds i8, ptr %1970, i64 16 - %call2.i1.i696.i.i3999 = 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) %add.ptr.i.i695.i.i3998, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i3427) - to label %invoke.cont.i703.i.i4005 unwind label %lpad.i697.i.i4000 - -invoke.cont.i703.i.i4005: ; preds = %.noexc709.i.i3997 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3425, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i3380) - to label %invoke.cont2.i704.i.i4006 unwind label %lpad.i697.i.i4000 - -invoke.cont2.i704.i.i4006: ; preds = %invoke.cont.i703.i.i4005 - %1971 = load ptr, ptr %ref.tmp.i694.i.i3380, align 8, !noalias !1588 - %cmp.not.i.i.i705.i.i4007 = icmp eq ptr %1971, null - br i1 %cmp.not.i.i.i705.i.i4007, label %invoke.cont233.i.i4011, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i4008 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i4008: ; preds = %invoke.cont2.i704.i.i4006 - %vtable.i.i.i.i707.i.i4009 = load ptr, ptr %1971, align 8 - %vfn.i.i.i.i708.i.i4010 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i4009, i64 1 - %1972 = load ptr, ptr %vfn.i.i.i.i708.i.i4010, align 8 + br label %ehcleanup239.i.i3960 + +invoke.cont227.i.i3991: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i3988, %invoke.cont2.i685.i.i3986 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i3385), !noalias !1588 + %call155.val79.i.i3992 = load ptr, ptr %__begin0146.sroa.0.050.i.i3915, align 8 + %call230.val.i.i3993 = load ptr, ptr %call155.val79.i.i3992, align 8 + %1969 = getelementptr i8, ptr %call155.val79.i.i3992, i64 8 + %call230.val93.i.i3994 = load i64, ptr %1969, align 8 + %call230.val.val.i.i3995 = load ptr, ptr %call230.val.i.i3993, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i3431, ptr %call230.val.val.i.i3995, i64 %call230.val93.i.i3994) + to label %invoke.cont231.i.i3997 unwind label %lpad224.i.i3959 + +invoke.cont231.i.i3997: ; preds = %invoke.cont227.i.i3991 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i3384), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i3384) + to label %.noexc709.i.i4001 unwind label %lpad232.i.i3998 + +.noexc709.i.i4001: ; preds = %invoke.cont231.i.i3997 + %1970 = load ptr, ptr %ref.tmp.i694.i.i3384, align 8, !noalias !1588 + %add.ptr.i.i695.i.i4002 = getelementptr inbounds i8, ptr %1970, i64 16 + %call2.i1.i696.i.i4003 = 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) %add.ptr.i.i695.i.i4002, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i3431) + to label %invoke.cont.i703.i.i4009 unwind label %lpad.i697.i.i4004 + +invoke.cont.i703.i.i4009: ; preds = %.noexc709.i.i4001 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3429, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i3384) + to label %invoke.cont2.i704.i.i4010 unwind label %lpad.i697.i.i4004 + +invoke.cont2.i704.i.i4010: ; preds = %invoke.cont.i703.i.i4009 + %1971 = load ptr, ptr %ref.tmp.i694.i.i3384, align 8, !noalias !1588 + %cmp.not.i.i.i705.i.i4011 = icmp eq ptr %1971, null + br i1 %cmp.not.i.i.i705.i.i4011, label %invoke.cont233.i.i4015, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i4012 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i4012: ; preds = %invoke.cont2.i704.i.i4010 + %vtable.i.i.i.i707.i.i4013 = load ptr, ptr %1971, align 8 + %vfn.i.i.i.i708.i.i4014 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i4013, i64 1 + %1972 = load ptr, ptr %vfn.i.i.i.i708.i.i4014, align 8 call void %1972(ptr noundef nonnull align 8 dereferenceable(128) %1971) #30 - br label %invoke.cont233.i.i4011 + br label %invoke.cont233.i.i4015 -lpad.i697.i.i4000: ; preds = %invoke.cont.i703.i.i4005, %.noexc709.i.i3997 +lpad.i697.i.i4004: ; preds = %invoke.cont.i703.i.i4009, %.noexc709.i.i4001 %1973 = landingpad { ptr, i32 } cleanup - %1974 = load ptr, ptr %ref.tmp.i694.i.i3380, align 8, !noalias !1588 - %cmp.not.i.i2.i698.i.i4001 = icmp eq ptr %1974, null - br i1 %cmp.not.i.i2.i698.i.i4001, label %lpad232.body.i.i3995, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i4002 + %1974 = load ptr, ptr %ref.tmp.i694.i.i3384, align 8, !noalias !1588 + %cmp.not.i.i2.i698.i.i4005 = icmp eq ptr %1974, null + br i1 %cmp.not.i.i2.i698.i.i4005, label %lpad232.body.i.i3999, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i4006 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i4002: ; preds = %lpad.i697.i.i4000 - %vtable.i.i.i4.i700.i.i4003 = load ptr, ptr %1974, align 8 - %vfn.i.i.i5.i701.i.i4004 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i4003, i64 1 - %1975 = load ptr, ptr %vfn.i.i.i5.i701.i.i4004, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i4006: ; preds = %lpad.i697.i.i4004 + %vtable.i.i.i4.i700.i.i4007 = load ptr, ptr %1974, align 8 + %vfn.i.i.i5.i701.i.i4008 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i4007, i64 1 + %1975 = load ptr, ptr %vfn.i.i.i5.i701.i.i4008, align 8 call void %1975(ptr noundef nonnull align 8 dereferenceable(128) %1974) #30 - br label %lpad232.body.i.i3995 - -invoke.cont233.i.i4011: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i4008, %invoke.cont2.i704.i.i4006 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i3380), !noalias !1588 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i3379), !noalias !1588 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i3379) - to label %.noexc727.i.i4012 unwind label %lpad232.i.i3994 - -.noexc727.i.i4012: ; preds = %invoke.cont233.i.i4011 - %1976 = load ptr, ptr %ref.tmp.i712.i.i3379, align 8, !noalias !1588 - %add.ptr.i.i713.i.i4013 = getelementptr inbounds i8, ptr %1976, i64 16 - %call2.i1.i714.i.i4014 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i4013, ptr noundef nonnull @.str.115) - to label %invoke.cont.i721.i.i4020 unwind label %lpad.i715.i.i4015 - -invoke.cont.i721.i.i4020: ; preds = %.noexc727.i.i4012 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3425, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i3379) - to label %invoke.cont2.i722.i.i4021 unwind label %lpad.i715.i.i4015 - -invoke.cont2.i722.i.i4021: ; preds = %invoke.cont.i721.i.i4020 - %1977 = load ptr, ptr %ref.tmp.i712.i.i3379, align 8, !noalias !1588 - %cmp.not.i.i.i723.i.i4022 = icmp eq ptr %1977, null - br i1 %cmp.not.i.i.i723.i.i4022, label %invoke.cont235.i.i4026, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i4023 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i4023: ; preds = %invoke.cont2.i722.i.i4021 - %vtable.i.i.i.i725.i.i4024 = load ptr, ptr %1977, align 8 - %vfn.i.i.i.i726.i.i4025 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i4024, i64 1 - %1978 = load ptr, ptr %vfn.i.i.i.i726.i.i4025, align 8 + br label %lpad232.body.i.i3999 + +invoke.cont233.i.i4015: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i4012, %invoke.cont2.i704.i.i4010 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i3384), !noalias !1588 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i3383), !noalias !1588 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i3383) + to label %.noexc727.i.i4016 unwind label %lpad232.i.i3998 + +.noexc727.i.i4016: ; preds = %invoke.cont233.i.i4015 + %1976 = load ptr, ptr %ref.tmp.i712.i.i3383, align 8, !noalias !1588 + %add.ptr.i.i713.i.i4017 = getelementptr inbounds i8, ptr %1976, i64 16 + %call2.i1.i714.i.i4018 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i4017, ptr noundef nonnull @.str.115) + to label %invoke.cont.i721.i.i4024 unwind label %lpad.i715.i.i4019 + +invoke.cont.i721.i.i4024: ; preds = %.noexc727.i.i4016 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3429, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i3383) + to label %invoke.cont2.i722.i.i4025 unwind label %lpad.i715.i.i4019 + +invoke.cont2.i722.i.i4025: ; preds = %invoke.cont.i721.i.i4024 + %1977 = load ptr, ptr %ref.tmp.i712.i.i3383, align 8, !noalias !1588 + %cmp.not.i.i.i723.i.i4026 = icmp eq ptr %1977, null + br i1 %cmp.not.i.i.i723.i.i4026, label %invoke.cont235.i.i4030, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i4027 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i4027: ; preds = %invoke.cont2.i722.i.i4025 + %vtable.i.i.i.i725.i.i4028 = load ptr, ptr %1977, align 8 + %vfn.i.i.i.i726.i.i4029 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i4028, i64 1 + %1978 = load ptr, ptr %vfn.i.i.i.i726.i.i4029, align 8 call void %1978(ptr noundef nonnull align 8 dereferenceable(128) %1977) #30 - br label %invoke.cont235.i.i4026 + br label %invoke.cont235.i.i4030 -lpad.i715.i.i4015: ; preds = %invoke.cont.i721.i.i4020, %.noexc727.i.i4012 +lpad.i715.i.i4019: ; preds = %invoke.cont.i721.i.i4024, %.noexc727.i.i4016 %1979 = landingpad { ptr, i32 } cleanup - %1980 = load ptr, ptr %ref.tmp.i712.i.i3379, align 8, !noalias !1588 - %cmp.not.i.i2.i716.i.i4016 = icmp eq ptr %1980, null - br i1 %cmp.not.i.i2.i716.i.i4016, label %lpad232.body.i.i3995, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i4017 + %1980 = load ptr, ptr %ref.tmp.i712.i.i3383, align 8, !noalias !1588 + %cmp.not.i.i2.i716.i.i4020 = icmp eq ptr %1980, null + br i1 %cmp.not.i.i2.i716.i.i4020, label %lpad232.body.i.i3999, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i4021 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i4017: ; preds = %lpad.i715.i.i4015 - %vtable.i.i.i4.i718.i.i4018 = load ptr, ptr %1980, align 8 - %vfn.i.i.i5.i719.i.i4019 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i4018, i64 1 - %1981 = load ptr, ptr %vfn.i.i.i5.i719.i.i4019, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i4021: ; preds = %lpad.i715.i.i4019 + %vtable.i.i.i4.i718.i.i4022 = load ptr, ptr %1980, align 8 + %vfn.i.i.i5.i719.i.i4023 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i4022, i64 1 + %1981 = load ptr, ptr %vfn.i.i.i5.i719.i.i4023, align 8 call void %1981(ptr noundef nonnull align 8 dereferenceable(128) %1980) #30 - br label %lpad232.body.i.i3995 - -invoke.cont235.i.i4026: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i4023, %invoke.cont2.i722.i.i4021 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i3379), !noalias !1588 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3425) - to label %invoke.cont237.i.i4027 unwind label %lpad232.i.i3994 - -invoke.cont237.i.i4027: ; preds = %invoke.cont235.i.i4026 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i3427) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i3426) #30 - %message_.i731.i.i4028 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i3425, i64 0, i32 1 - %1982 = load ptr, ptr %message_.i731.i.i4028, align 8, !noalias !1588 - %cmp.not.i.i732.i.i4029 = icmp eq ptr %1982, null - br i1 %cmp.not.i.i732.i.i4029, label %cleanup249.critedge.i.i4033, label %cleanup249.critedge.sink.split.i.i4030 - -lpad218.i.i3931: ; preds = %invoke.cont219.i.i3948, %invoke.cont217.i.i3930 + br label %lpad232.body.i.i3999 + +invoke.cont235.i.i4030: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i4027, %invoke.cont2.i722.i.i4025 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i3383), !noalias !1588 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3429) + to label %invoke.cont237.i.i4031 unwind label %lpad232.i.i3998 + +invoke.cont237.i.i4031: ; preds = %invoke.cont235.i.i4030 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i3431) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i3430) #30 + %message_.i731.i.i4032 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i3429, i64 0, i32 1 + %1982 = load ptr, ptr %message_.i731.i.i4032, align 8, !noalias !1588 + %cmp.not.i.i732.i.i4033 = icmp eq ptr %1982, null + br i1 %cmp.not.i.i732.i.i4033, label %cleanup249.critedge.i.i4037, label %cleanup249.critedge.sink.split.i.i4034 + +lpad218.i.i3935: ; preds = %invoke.cont219.i.i3952, %invoke.cont217.i.i3934 %1983 = landingpad { ptr, i32 } cleanup - br label %ehcleanup240.i.i3932 + br label %ehcleanup240.i.i3936 -lpad224.i.i3955: ; preds = %invoke.cont227.i.i3987, %invoke.cont225.i.i3972, %invoke.cont223.i.i3954 +lpad224.i.i3959: ; preds = %invoke.cont227.i.i3991, %invoke.cont225.i.i3976, %invoke.cont223.i.i3958 %1984 = landingpad { ptr, i32 } cleanup - br label %ehcleanup239.i.i3956 + br label %ehcleanup239.i.i3960 -lpad232.i.i3994: ; preds = %invoke.cont235.i.i4026, %invoke.cont233.i.i4011, %invoke.cont231.i.i3993 +lpad232.i.i3998: ; preds = %invoke.cont235.i.i4030, %invoke.cont233.i.i4015, %invoke.cont231.i.i3997 %1985 = landingpad { ptr, i32 } cleanup - br label %lpad232.body.i.i3995 + br label %lpad232.body.i.i3999 -lpad232.body.i.i3995: ; preds = %lpad232.i.i3994, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i4017, %lpad.i715.i.i4015, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i4002, %lpad.i697.i.i4000 - %eh.lpad-body710.i.i3996 = phi { ptr, i32 } [ %1973, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i4002 ], [ %1973, %lpad.i697.i.i4000 ], [ %1985, %lpad232.i.i3994 ], [ %1979, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i4017 ], [ %1979, %lpad.i715.i.i4015 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i3427) #30 - br label %ehcleanup239.i.i3956 +lpad232.body.i.i3999: ; preds = %lpad232.i.i3998, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i4021, %lpad.i715.i.i4019, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i4006, %lpad.i697.i.i4004 + %eh.lpad-body710.i.i4000 = phi { ptr, i32 } [ %1973, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i4006 ], [ %1973, %lpad.i697.i.i4004 ], [ %1985, %lpad232.i.i3998 ], [ %1979, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i4021 ], [ %1979, %lpad.i715.i.i4019 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i3431) #30 + br label %ehcleanup239.i.i3960 -ehcleanup239.i.i3956: ; preds = %lpad232.body.i.i3995, %lpad224.i.i3955, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i3978, %lpad.i678.i.i3976, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i3963, %lpad.i660.i.i3961 - %.pn.i.i3957 = phi { ptr, i32 } [ %eh.lpad-body710.i.i3996, %lpad232.body.i.i3995 ], [ %1960, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i3963 ], [ %1960, %lpad.i660.i.i3961 ], [ %1984, %lpad224.i.i3955 ], [ %1966, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i3978 ], [ %1966, %lpad.i678.i.i3976 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i3426) #30 - br label %ehcleanup240.i.i3932 +ehcleanup239.i.i3960: ; preds = %lpad232.body.i.i3999, %lpad224.i.i3959, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i3982, %lpad.i678.i.i3980, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i3967, %lpad.i660.i.i3965 + %.pn.i.i3961 = phi { ptr, i32 } [ %eh.lpad-body710.i.i4000, %lpad232.body.i.i3999 ], [ %1960, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i3967 ], [ %1960, %lpad.i660.i.i3965 ], [ %1984, %lpad224.i.i3959 ], [ %1966, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i3982 ], [ %1966, %lpad.i678.i.i3980 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i3430) #30 + br label %ehcleanup240.i.i3936 -ehcleanup240.i.i3932: ; preds = %ehcleanup239.i.i3956, %lpad218.i.i3931, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i3939, %lpad.i642.i.i3937 - %.pn.pn.i.i3933 = phi { ptr, i32 } [ %.pn.i.i3957, %ehcleanup239.i.i3956 ], [ %1983, %lpad218.i.i3931 ], [ %1953, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i3939 ], [ %1953, %lpad.i642.i.i3937 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3425) #30 - br label %ehcleanup245.i.i3924 +ehcleanup240.i.i3936: ; preds = %ehcleanup239.i.i3960, %lpad218.i.i3935, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i3943, %lpad.i642.i.i3941 + %.pn.pn.i.i3937 = phi { ptr, i32 } [ %.pn.i.i3961, %ehcleanup239.i.i3960 ], [ %1983, %lpad218.i.i3935 ], [ %1953, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i3943 ], [ %1953, %lpad.i642.i.i3941 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i3429) #30 + br label %ehcleanup245.i.i3928 -cleanup242.i.i4278: ; preds = %invoke.cont162.i.i3926 - %1986 = load ptr, ptr %_M_refcount.i.i.i735.i.i3581, align 8, !noalias !1588 - %cmp.not.i.i.i.i736.i.i4279 = icmp eq ptr %1986, null - br i1 %cmp.not.i.i.i.i736.i.i4279, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290, label %if.then.i.i.i.i737.i.i4280 +cleanup242.i.i4282: ; preds = %invoke.cont162.i.i3930 + %1986 = load ptr, ptr %_M_refcount.i.i.i735.i.i3585, align 8, !noalias !1588 + %cmp.not.i.i.i.i736.i.i4283 = icmp eq ptr %1986, null + br i1 %cmp.not.i.i.i.i736.i.i4283, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294, label %if.then.i.i.i.i737.i.i4284 -if.then.i.i.i.i737.i.i4280: ; preds = %cleanup242.i.i4278 - %_M_use_count.i.i.i.i.i738.i.i4281 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1986, i64 0, i32 1 - %1987 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i4281 acquire, align 8 - %cmp.i.i.i.i.i739.i.i4282 = icmp eq i64 %1987, 4294967297 +if.then.i.i.i.i737.i.i4284: ; preds = %cleanup242.i.i4282 + %_M_use_count.i.i.i.i.i738.i.i4285 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1986, i64 0, i32 1 + %1987 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i4285 acquire, align 8 + %cmp.i.i.i.i.i739.i.i4286 = icmp eq i64 %1987, 4294967297 %1988 = trunc i64 %1987 to i32 - br i1 %cmp.i.i.i.i.i739.i.i4282, label %if.then.i.i.i.i.i774.i.i4367, label %if.end.i.i.i.i.i740.i.i4283 - -if.then.i.i.i.i.i774.i.i4367: ; preds = %if.then.i.i.i.i737.i.i4280 - store i32 0, ptr %_M_use_count.i.i.i.i.i738.i.i4281, align 8 - %_M_weak_count.i.i.i.i.i775.i.i4368 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1986, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i775.i.i4368, align 4 - %vtable.i.i.i.i.i776.i.i4369 = load ptr, ptr %1986, align 8 - %vfn.i.i.i.i.i777.i.i4370 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i776.i.i4369, i64 2 - %1989 = load ptr, ptr %vfn.i.i.i.i.i777.i.i4370, align 8 + br i1 %cmp.i.i.i.i.i739.i.i4286, label %if.then.i.i.i.i.i774.i.i4371, label %if.end.i.i.i.i.i740.i.i4287 + +if.then.i.i.i.i.i774.i.i4371: ; preds = %if.then.i.i.i.i737.i.i4284 + store i32 0, ptr %_M_use_count.i.i.i.i.i738.i.i4285, align 8 + %_M_weak_count.i.i.i.i.i775.i.i4372 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1986, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i775.i.i4372, align 4 + %vtable.i.i.i.i.i776.i.i4373 = load ptr, ptr %1986, align 8 + %vfn.i.i.i.i.i777.i.i4374 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i776.i.i4373, i64 2 + %1989 = load ptr, ptr %vfn.i.i.i.i.i777.i.i4374, align 8 call void %1989(ptr noundef nonnull align 8 dereferenceable(16) %1986) #30 - br label %if.end8.sink.split.i.i.i.i.i769.i.i4362 + br label %if.end8.sink.split.i.i.i.i.i769.i.i4366 -if.end.i.i.i.i.i740.i.i4283: ; preds = %if.then.i.i.i.i737.i.i4280 +if.end.i.i.i.i.i740.i.i4287: ; preds = %if.then.i.i.i.i737.i.i4284 %1990 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i741.i.i4284 = icmp eq i8 %1990, 0 - br i1 %tobool.i.i.not.i.i.i.i.i741.i.i4284, label %if.else.i.i.i.i.i.i773.i.i4366, label %if.then.i.i.i.i.i.i742.i.i4285 - -if.then.i.i.i.i.i.i742.i.i4285: ; preds = %if.end.i.i.i.i.i740.i.i4283 - %add.i.i.i.i.i.i743.i.i4286 = add nsw i32 %1988, -1 - store i32 %add.i.i.i.i.i.i743.i.i4286, ptr %_M_use_count.i.i.i.i.i738.i.i4281, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4287 - -if.else.i.i.i.i.i.i773.i.i4366: ; preds = %if.end.i.i.i.i.i740.i.i4283 - %1991 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i738.i.i4281, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4287 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4287: ; preds = %if.else.i.i.i.i.i.i773.i.i4366, %if.then.i.i.i.i.i.i742.i.i4285 - %retval.i.0.i.i.i.i.i745.i.i4288 = phi i32 [ %1988, %if.then.i.i.i.i.i.i742.i.i4285 ], [ %1991, %if.else.i.i.i.i.i.i773.i.i4366 ] - %cmp6.i.i.i.i.i746.i.i4289 = icmp eq i32 %retval.i.0.i.i.i.i.i745.i.i4288, 1 - br i1 %cmp6.i.i.i.i.i746.i.i4289, label %if.then7.i.i.i.i.i759.i.i4352, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290 - -if.then7.i.i.i.i.i759.i.i4352: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4287 - %vtable.i.i.i.i.i.i.i760.i.i4353 = load ptr, ptr %1986, align 8 - %vfn.i.i.i.i.i.i.i761.i.i4354 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i760.i.i4353, i64 2 - %1992 = load ptr, ptr %vfn.i.i.i.i.i.i.i761.i.i4354, align 8 + %tobool.i.i.not.i.i.i.i.i741.i.i4288 = icmp eq i8 %1990, 0 + br i1 %tobool.i.i.not.i.i.i.i.i741.i.i4288, label %if.else.i.i.i.i.i.i773.i.i4370, label %if.then.i.i.i.i.i.i742.i.i4289 + +if.then.i.i.i.i.i.i742.i.i4289: ; preds = %if.end.i.i.i.i.i740.i.i4287 + %add.i.i.i.i.i.i743.i.i4290 = add nsw i32 %1988, -1 + store i32 %add.i.i.i.i.i.i743.i.i4290, ptr %_M_use_count.i.i.i.i.i738.i.i4285, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4291 + +if.else.i.i.i.i.i.i773.i.i4370: ; preds = %if.end.i.i.i.i.i740.i.i4287 + %1991 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i738.i.i4285, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4291 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4291: ; preds = %if.else.i.i.i.i.i.i773.i.i4370, %if.then.i.i.i.i.i.i742.i.i4289 + %retval.i.0.i.i.i.i.i745.i.i4292 = phi i32 [ %1988, %if.then.i.i.i.i.i.i742.i.i4289 ], [ %1991, %if.else.i.i.i.i.i.i773.i.i4370 ] + %cmp6.i.i.i.i.i746.i.i4293 = icmp eq i32 %retval.i.0.i.i.i.i.i745.i.i4292, 1 + br i1 %cmp6.i.i.i.i.i746.i.i4293, label %if.then7.i.i.i.i.i759.i.i4356, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294 + +if.then7.i.i.i.i.i759.i.i4356: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4291 + %vtable.i.i.i.i.i.i.i760.i.i4357 = load ptr, ptr %1986, align 8 + %vfn.i.i.i.i.i.i.i761.i.i4358 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i760.i.i4357, i64 2 + %1992 = load ptr, ptr %vfn.i.i.i.i.i.i.i761.i.i4358, align 8 call void %1992(ptr noundef nonnull align 8 dereferenceable(16) %1986) #30 - %_M_weak_count.i.i.i.i.i.i.i762.i.i4355 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1986, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i762.i.i4359 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %1986, i64 0, i32 2 %1993 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i763.i.i4356 = icmp eq i8 %1993, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i763.i.i4356, label %if.else.i.i.i.i.i.i.i.i772.i.i4365, label %if.then.i.i.i.i.i.i.i.i764.i.i4357 - -if.then.i.i.i.i.i.i.i.i764.i.i4357: ; preds = %if.then7.i.i.i.i.i759.i.i4352 - %1994 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i4355, align 4 - %add.i.i.i.i.i.i.i.i765.i.i4358 = add nsw i32 %1994, -1 - store i32 %add.i.i.i.i.i.i.i.i765.i.i4358, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i4355, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4359 - -if.else.i.i.i.i.i.i.i.i772.i.i4365: ; preds = %if.then7.i.i.i.i.i759.i.i4352 - %1995 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i4355, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4359 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4359: ; preds = %if.else.i.i.i.i.i.i.i.i772.i.i4365, %if.then.i.i.i.i.i.i.i.i764.i.i4357 - %retval.i.0.i.i.i.i.i.i.i767.i.i4360 = phi i32 [ %1994, %if.then.i.i.i.i.i.i.i.i764.i.i4357 ], [ %1995, %if.else.i.i.i.i.i.i.i.i772.i.i4365 ] - %cmp.i.i.i.i.i.i.i768.i.i4361 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i767.i.i4360, 1 - br i1 %cmp.i.i.i.i.i.i.i768.i.i4361, label %if.end8.sink.split.i.i.i.i.i769.i.i4362, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290 - -if.end8.sink.split.i.i.i.i.i769.i.i4362: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4359, %if.then.i.i.i.i.i774.i.i4367 - %vtable2.i.i.i.i.i.i.i770.i.i4363 = load ptr, ptr %1986, align 8 - %vfn3.i.i.i.i.i.i.i771.i.i4364 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i770.i.i4363, i64 3 - %1996 = load ptr, ptr %vfn3.i.i.i.i.i.i.i771.i.i4364, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i763.i.i4360 = icmp eq i8 %1993, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i763.i.i4360, label %if.else.i.i.i.i.i.i.i.i772.i.i4369, label %if.then.i.i.i.i.i.i.i.i764.i.i4361 + +if.then.i.i.i.i.i.i.i.i764.i.i4361: ; preds = %if.then7.i.i.i.i.i759.i.i4356 + %1994 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i4359, align 4 + %add.i.i.i.i.i.i.i.i765.i.i4362 = add nsw i32 %1994, -1 + store i32 %add.i.i.i.i.i.i.i.i765.i.i4362, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i4359, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4363 + +if.else.i.i.i.i.i.i.i.i772.i.i4369: ; preds = %if.then7.i.i.i.i.i759.i.i4356 + %1995 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i4359, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4363 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4363: ; preds = %if.else.i.i.i.i.i.i.i.i772.i.i4369, %if.then.i.i.i.i.i.i.i.i764.i.i4361 + %retval.i.0.i.i.i.i.i.i.i767.i.i4364 = phi i32 [ %1994, %if.then.i.i.i.i.i.i.i.i764.i.i4361 ], [ %1995, %if.else.i.i.i.i.i.i.i.i772.i.i4369 ] + %cmp.i.i.i.i.i.i.i768.i.i4365 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i767.i.i4364, 1 + br i1 %cmp.i.i.i.i.i.i.i768.i.i4365, label %if.end8.sink.split.i.i.i.i.i769.i.i4366, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294 + +if.end8.sink.split.i.i.i.i.i769.i.i4366: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4363, %if.then.i.i.i.i.i774.i.i4371 + %vtable2.i.i.i.i.i.i.i770.i.i4367 = load ptr, ptr %1986, align 8 + %vfn3.i.i.i.i.i.i.i771.i.i4368 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i770.i.i4367, i64 3 + %1996 = load ptr, ptr %vfn3.i.i.i.i.i.i.i771.i.i4368, align 8 call void %1996(ptr noundef nonnull align 8 dereferenceable(16) %1986) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i4362, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4359, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4287, %cleanup242.i.i4278 - %1997 = load ptr, ptr %c2_hash.i.i3418, align 8, !noalias !1588 - %1998 = load ptr, ptr %_M_finish.i.i748.i.i3582, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i749.i.i4291 = icmp eq ptr %1997, %1998 - br i1 %cmp.not3.i.i.i.i.i749.i.i4291, label %invoke.cont.i.i756.i.i4298, label %for.body.i.i.i.i.i750.i.i4292 - -for.body.i.i.i.i.i750.i.i4292: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290, %for.body.i.i.i.i.i750.i.i4292 - %__first.addr.04.i.i.i.i.i751.i.i4293 = phi ptr [ %incdec.ptr.i.i.i.i.i752.i.i4294, %for.body.i.i.i.i.i750.i.i4292 ], [ %1997, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i751.i.i4293) #30 - %incdec.ptr.i.i.i.i.i752.i.i4294 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i751.i.i4293, i64 1 - %cmp.not.i.i.i.i.i753.i.i4295 = icmp eq ptr %incdec.ptr.i.i.i.i.i752.i.i4294, %1998 - br i1 %cmp.not.i.i.i.i.i753.i.i4295, label %invoke.contthread-pre-split.i.i754.i.i4296, label %for.body.i.i.i.i.i750.i.i4292, !llvm.loop !8 - -invoke.contthread-pre-split.i.i754.i.i4296: ; preds = %for.body.i.i.i.i.i750.i.i4292 - %.pr.i.i755.i.i4297 = load ptr, ptr %c2_hash.i.i3418, align 8, !noalias !1588 - br label %invoke.cont.i.i756.i.i4298 - -invoke.cont.i.i756.i.i4298: ; preds = %invoke.contthread-pre-split.i.i754.i.i4296, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290 - %1999 = phi ptr [ %.pr.i.i755.i.i4297, %invoke.contthread-pre-split.i.i754.i.i4296 ], [ %1997, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4290 ] - %tobool.not.i.i.i.i757.i.i4299 = icmp eq ptr %1999, null - br i1 %tobool.not.i.i.i.i757.i.i4299, label %for.inc246.i.i4301, label %if.then.i.i.i1.i758.i.i4300 - -if.then.i.i.i1.i758.i.i4300: ; preds = %invoke.cont.i.i756.i.i4298 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i4366, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i4363, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i4291, %cleanup242.i.i4282 + %1997 = load ptr, ptr %c2_hash.i.i3422, align 8, !noalias !1588 + %1998 = load ptr, ptr %_M_finish.i.i748.i.i3586, align 8, !noalias !1588 + %cmp.not3.i.i.i.i.i749.i.i4295 = icmp eq ptr %1997, %1998 + br i1 %cmp.not3.i.i.i.i.i749.i.i4295, label %invoke.cont.i.i756.i.i4302, label %for.body.i.i.i.i.i750.i.i4296 + +for.body.i.i.i.i.i750.i.i4296: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294, %for.body.i.i.i.i.i750.i.i4296 + %__first.addr.04.i.i.i.i.i751.i.i4297 = phi ptr [ %incdec.ptr.i.i.i.i.i752.i.i4298, %for.body.i.i.i.i.i750.i.i4296 ], [ %1997, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i751.i.i4297) #30 + %incdec.ptr.i.i.i.i.i752.i.i4298 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i751.i.i4297, i64 1 + %cmp.not.i.i.i.i.i753.i.i4299 = icmp eq ptr %incdec.ptr.i.i.i.i.i752.i.i4298, %1998 + br i1 %cmp.not.i.i.i.i.i753.i.i4299, label %invoke.contthread-pre-split.i.i754.i.i4300, label %for.body.i.i.i.i.i750.i.i4296, !llvm.loop !8 + +invoke.contthread-pre-split.i.i754.i.i4300: ; preds = %for.body.i.i.i.i.i750.i.i4296 + %.pr.i.i755.i.i4301 = load ptr, ptr %c2_hash.i.i3422, align 8, !noalias !1588 + br label %invoke.cont.i.i756.i.i4302 + +invoke.cont.i.i756.i.i4302: ; preds = %invoke.contthread-pre-split.i.i754.i.i4300, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294 + %1999 = phi ptr [ %.pr.i.i755.i.i4301, %invoke.contthread-pre-split.i.i754.i.i4300 ], [ %1997, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i4294 ] + %tobool.not.i.i.i.i757.i.i4303 = icmp eq ptr %1999, null + br i1 %tobool.not.i.i.i.i757.i.i4303, label %for.inc246.i.i4305, label %if.then.i.i.i1.i758.i.i4304 + +if.then.i.i.i1.i758.i.i4304: ; preds = %invoke.cont.i.i756.i.i4302 call void @_ZdlPv(ptr noundef nonnull %1999) #33 - br label %for.inc246.i.i4301 - -for.inc246.i.i4301: ; preds = %if.then.i.i.i1.i758.i.i4300, %invoke.cont.i.i756.i.i4298, %for.body154.i.i3910 - %incdec.ptr.i779.i.i4302 = getelementptr inbounds %"class.std::vector.972", ptr %__begin0146.sroa.0.050.i.i3911, i64 1 - %cmp.i449.not.i.i4303 = icmp eq ptr %incdec.ptr.i779.i.i4302, %classes.val56.i.i3908 - br i1 %cmp.i449.not.i.i4303, label %cleanup249.i.i4304, label %for.body154.i.i3910 - -ehcleanup245.i.i3924: ; preds = %ehcleanup240.i.i3932, %ehcleanup214.i.i4079, %ehcleanup188.i.i4180, %lpad161.loopexit.split-lp.i.i3928, %lpad161.loopexit.i.i3922 - %.pn.pn.pn.i.i3925 = phi { ptr, i32 } [ %.pn.pn.i.i3933, %ehcleanup240.i.i3932 ], [ %.pn31.pn.i.i4080, %ehcleanup214.i.i4079 ], [ %.pn34.pn.i.i4181, %ehcleanup188.i.i4180 ], [ %lpad.loopexit5.i.i3923, %lpad161.loopexit.i.i3922 ], [ %lpad.loopexit.split-lp6.i.i3929, %lpad161.loopexit.split-lp.i.i3928 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i3418) #30 - br label %ehcleanup252.i.i3604 - -cleanup249.critedge.sink.split.i.i4030: ; preds = %invoke.cont237.i.i4027, %invoke.cont211.i.i4174, %invoke.cont185.i.i4275 - %.sink117.i.i4031 = phi ptr [ %1910, %invoke.cont185.i.i4275 ], [ %1946, %invoke.cont211.i.i4174 ], [ %1982, %invoke.cont237.i.i4027 ] - %message_.i542.sink.ph.i.i4032 = phi ptr [ %message_.i542.i.i4276, %invoke.cont185.i.i4275 ], [ %message_.i635.i.i4175, %invoke.cont211.i.i4174 ], [ %message_.i731.i.i4028, %invoke.cont237.i.i4027 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i4031) #30 - call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i4031) #33 - br label %cleanup249.critedge.i.i4033 - -cleanup249.critedge.i.i4033: ; preds = %cleanup249.critedge.sink.split.i.i4030, %invoke.cont237.i.i4027, %invoke.cont211.i.i4174, %invoke.cont185.i.i4275 - %message_.i542.sink.i.i4034 = phi ptr [ %message_.i542.i.i4276, %invoke.cont185.i.i4275 ], [ %message_.i635.i.i4175, %invoke.cont211.i.i4174 ], [ %message_.i731.i.i4028, %invoke.cont237.i.i4027 ], [ %message_.i542.sink.ph.i.i4032, %cleanup249.critedge.sink.split.i.i4030 ] - store ptr null, ptr %message_.i542.sink.i.i4034, align 8, !noalias !1588 - %2000 = load ptr, ptr %_M_refcount.i.i.i735.i.i3581, align 8, !noalias !1588 - %cmp.not.i.i.i.i781.i.i4035 = icmp eq ptr %2000, null - br i1 %cmp.not.i.i.i.i781.i.i4035, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046, label %if.then.i.i.i.i782.i.i4036 - -if.then.i.i.i.i782.i.i4036: ; preds = %cleanup249.critedge.i.i4033 - %_M_use_count.i.i.i.i.i783.i.i4037 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2000, i64 0, i32 1 - %2001 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i4037 acquire, align 8 - %cmp.i.i.i.i.i784.i.i4038 = icmp eq i64 %2001, 4294967297 + br label %for.inc246.i.i4305 + +for.inc246.i.i4305: ; preds = %if.then.i.i.i1.i758.i.i4304, %invoke.cont.i.i756.i.i4302, %for.body154.i.i3914 + %incdec.ptr.i779.i.i4306 = getelementptr inbounds %"class.std::vector.972", ptr %__begin0146.sroa.0.050.i.i3915, i64 1 + %cmp.i449.not.i.i4307 = icmp eq ptr %incdec.ptr.i779.i.i4306, %classes.val56.i.i3912 + br i1 %cmp.i449.not.i.i4307, label %cleanup249.i.i4308, label %for.body154.i.i3914 + +ehcleanup245.i.i3928: ; preds = %ehcleanup240.i.i3936, %ehcleanup214.i.i4083, %ehcleanup188.i.i4184, %lpad161.loopexit.split-lp.i.i3932, %lpad161.loopexit.i.i3926 + %.pn.pn.pn.i.i3929 = phi { ptr, i32 } [ %.pn.pn.i.i3937, %ehcleanup240.i.i3936 ], [ %.pn31.pn.i.i4084, %ehcleanup214.i.i4083 ], [ %.pn34.pn.i.i4185, %ehcleanup188.i.i4184 ], [ %lpad.loopexit5.i.i3927, %lpad161.loopexit.i.i3926 ], [ %lpad.loopexit.split-lp6.i.i3933, %lpad161.loopexit.split-lp.i.i3932 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i3422) #30 + br label %ehcleanup252.i.i3608 + +cleanup249.critedge.sink.split.i.i4034: ; preds = %invoke.cont237.i.i4031, %invoke.cont211.i.i4178, %invoke.cont185.i.i4279 + %.sink117.i.i4035 = phi ptr [ %1910, %invoke.cont185.i.i4279 ], [ %1946, %invoke.cont211.i.i4178 ], [ %1982, %invoke.cont237.i.i4031 ] + %message_.i542.sink.ph.i.i4036 = phi ptr [ %message_.i542.i.i4280, %invoke.cont185.i.i4279 ], [ %message_.i635.i.i4179, %invoke.cont211.i.i4178 ], [ %message_.i731.i.i4032, %invoke.cont237.i.i4031 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i4035) #30 + call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i4035) #33 + br label %cleanup249.critedge.i.i4037 + +cleanup249.critedge.i.i4037: ; preds = %cleanup249.critedge.sink.split.i.i4034, %invoke.cont237.i.i4031, %invoke.cont211.i.i4178, %invoke.cont185.i.i4279 + %message_.i542.sink.i.i4038 = phi ptr [ %message_.i542.i.i4280, %invoke.cont185.i.i4279 ], [ %message_.i635.i.i4179, %invoke.cont211.i.i4178 ], [ %message_.i731.i.i4032, %invoke.cont237.i.i4031 ], [ %message_.i542.sink.ph.i.i4036, %cleanup249.critedge.sink.split.i.i4034 ] + store ptr null, ptr %message_.i542.sink.i.i4038, align 8, !noalias !1588 + %2000 = load ptr, ptr %_M_refcount.i.i.i735.i.i3585, align 8, !noalias !1588 + %cmp.not.i.i.i.i781.i.i4039 = icmp eq ptr %2000, null + br i1 %cmp.not.i.i.i.i781.i.i4039, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050, label %if.then.i.i.i.i782.i.i4040 + +if.then.i.i.i.i782.i.i4040: ; preds = %cleanup249.critedge.i.i4037 + %_M_use_count.i.i.i.i.i783.i.i4041 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2000, i64 0, i32 1 + %2001 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i4041 acquire, align 8 + %cmp.i.i.i.i.i784.i.i4042 = icmp eq i64 %2001, 4294967297 %2002 = trunc i64 %2001 to i32 - br i1 %cmp.i.i.i.i.i784.i.i4038, label %if.then.i.i.i.i.i819.i.i4072, label %if.end.i.i.i.i.i785.i.i4039 - -if.then.i.i.i.i.i819.i.i4072: ; preds = %if.then.i.i.i.i782.i.i4036 - store i32 0, ptr %_M_use_count.i.i.i.i.i783.i.i4037, align 8 - %_M_weak_count.i.i.i.i.i820.i.i4073 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2000, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i820.i.i4073, align 4 - %vtable.i.i.i.i.i821.i.i4074 = load ptr, ptr %2000, align 8 - %vfn.i.i.i.i.i822.i.i4075 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i821.i.i4074, i64 2 - %2003 = load ptr, ptr %vfn.i.i.i.i.i822.i.i4075, align 8 + br i1 %cmp.i.i.i.i.i784.i.i4042, label %if.then.i.i.i.i.i819.i.i4076, label %if.end.i.i.i.i.i785.i.i4043 + +if.then.i.i.i.i.i819.i.i4076: ; preds = %if.then.i.i.i.i782.i.i4040 + store i32 0, ptr %_M_use_count.i.i.i.i.i783.i.i4041, align 8 + %_M_weak_count.i.i.i.i.i820.i.i4077 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2000, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i820.i.i4077, align 4 + %vtable.i.i.i.i.i821.i.i4078 = load ptr, ptr %2000, align 8 + %vfn.i.i.i.i.i822.i.i4079 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i821.i.i4078, i64 2 + %2003 = load ptr, ptr %vfn.i.i.i.i.i822.i.i4079, align 8 call void %2003(ptr noundef nonnull align 8 dereferenceable(16) %2000) #30 - br label %if.end8.sink.split.i.i.i.i.i814.i.i4067 + br label %if.end8.sink.split.i.i.i.i.i814.i.i4071 -if.end.i.i.i.i.i785.i.i4039: ; preds = %if.then.i.i.i.i782.i.i4036 +if.end.i.i.i.i.i785.i.i4043: ; preds = %if.then.i.i.i.i782.i.i4040 %2004 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i786.i.i4040 = icmp eq i8 %2004, 0 - br i1 %tobool.i.i.not.i.i.i.i.i786.i.i4040, label %if.else.i.i.i.i.i.i818.i.i4071, label %if.then.i.i.i.i.i.i787.i.i4041 - -if.then.i.i.i.i.i.i787.i.i4041: ; preds = %if.end.i.i.i.i.i785.i.i4039 - %add.i.i.i.i.i.i788.i.i4042 = add nsw i32 %2002, -1 - store i32 %add.i.i.i.i.i.i788.i.i4042, ptr %_M_use_count.i.i.i.i.i783.i.i4037, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4043 - -if.else.i.i.i.i.i.i818.i.i4071: ; preds = %if.end.i.i.i.i.i785.i.i4039 - %2005 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i783.i.i4037, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4043 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4043: ; preds = %if.else.i.i.i.i.i.i818.i.i4071, %if.then.i.i.i.i.i.i787.i.i4041 - %retval.i.0.i.i.i.i.i790.i.i4044 = phi i32 [ %2002, %if.then.i.i.i.i.i.i787.i.i4041 ], [ %2005, %if.else.i.i.i.i.i.i818.i.i4071 ] - %cmp6.i.i.i.i.i791.i.i4045 = icmp eq i32 %retval.i.0.i.i.i.i.i790.i.i4044, 1 - br i1 %cmp6.i.i.i.i.i791.i.i4045, label %if.then7.i.i.i.i.i804.i.i4057, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046 - -if.then7.i.i.i.i.i804.i.i4057: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4043 - %vtable.i.i.i.i.i.i.i805.i.i4058 = load ptr, ptr %2000, align 8 - %vfn.i.i.i.i.i.i.i806.i.i4059 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i805.i.i4058, i64 2 - %2006 = load ptr, ptr %vfn.i.i.i.i.i.i.i806.i.i4059, align 8 + %tobool.i.i.not.i.i.i.i.i786.i.i4044 = icmp eq i8 %2004, 0 + br i1 %tobool.i.i.not.i.i.i.i.i786.i.i4044, label %if.else.i.i.i.i.i.i818.i.i4075, label %if.then.i.i.i.i.i.i787.i.i4045 + +if.then.i.i.i.i.i.i787.i.i4045: ; preds = %if.end.i.i.i.i.i785.i.i4043 + %add.i.i.i.i.i.i788.i.i4046 = add nsw i32 %2002, -1 + store i32 %add.i.i.i.i.i.i788.i.i4046, ptr %_M_use_count.i.i.i.i.i783.i.i4041, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4047 + +if.else.i.i.i.i.i.i818.i.i4075: ; preds = %if.end.i.i.i.i.i785.i.i4043 + %2005 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i783.i.i4041, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4047 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4047: ; preds = %if.else.i.i.i.i.i.i818.i.i4075, %if.then.i.i.i.i.i.i787.i.i4045 + %retval.i.0.i.i.i.i.i790.i.i4048 = phi i32 [ %2002, %if.then.i.i.i.i.i.i787.i.i4045 ], [ %2005, %if.else.i.i.i.i.i.i818.i.i4075 ] + %cmp6.i.i.i.i.i791.i.i4049 = icmp eq i32 %retval.i.0.i.i.i.i.i790.i.i4048, 1 + br i1 %cmp6.i.i.i.i.i791.i.i4049, label %if.then7.i.i.i.i.i804.i.i4061, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050 + +if.then7.i.i.i.i.i804.i.i4061: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4047 + %vtable.i.i.i.i.i.i.i805.i.i4062 = load ptr, ptr %2000, align 8 + %vfn.i.i.i.i.i.i.i806.i.i4063 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i805.i.i4062, i64 2 + %2006 = load ptr, ptr %vfn.i.i.i.i.i.i.i806.i.i4063, align 8 call void %2006(ptr noundef nonnull align 8 dereferenceable(16) %2000) #30 - %_M_weak_count.i.i.i.i.i.i.i807.i.i4060 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2000, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i807.i.i4064 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2000, i64 0, i32 2 %2007 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i808.i.i4061 = icmp eq i8 %2007, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i808.i.i4061, label %if.else.i.i.i.i.i.i.i.i817.i.i4070, label %if.then.i.i.i.i.i.i.i.i809.i.i4062 - -if.then.i.i.i.i.i.i.i.i809.i.i4062: ; preds = %if.then7.i.i.i.i.i804.i.i4057 - %2008 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i4060, align 4 - %add.i.i.i.i.i.i.i.i810.i.i4063 = add nsw i32 %2008, -1 - store i32 %add.i.i.i.i.i.i.i.i810.i.i4063, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i4060, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4064 - -if.else.i.i.i.i.i.i.i.i817.i.i4070: ; preds = %if.then7.i.i.i.i.i804.i.i4057 - %2009 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i4060, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4064 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4064: ; preds = %if.else.i.i.i.i.i.i.i.i817.i.i4070, %if.then.i.i.i.i.i.i.i.i809.i.i4062 - %retval.i.0.i.i.i.i.i.i.i812.i.i4065 = phi i32 [ %2008, %if.then.i.i.i.i.i.i.i.i809.i.i4062 ], [ %2009, %if.else.i.i.i.i.i.i.i.i817.i.i4070 ] - %cmp.i.i.i.i.i.i.i813.i.i4066 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i812.i.i4065, 1 - br i1 %cmp.i.i.i.i.i.i.i813.i.i4066, label %if.end8.sink.split.i.i.i.i.i814.i.i4067, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046 - -if.end8.sink.split.i.i.i.i.i814.i.i4067: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4064, %if.then.i.i.i.i.i819.i.i4072 - %vtable2.i.i.i.i.i.i.i815.i.i4068 = load ptr, ptr %2000, align 8 - %vfn3.i.i.i.i.i.i.i816.i.i4069 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i815.i.i4068, i64 3 - %2010 = load ptr, ptr %vfn3.i.i.i.i.i.i.i816.i.i4069, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i808.i.i4065 = icmp eq i8 %2007, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i808.i.i4065, label %if.else.i.i.i.i.i.i.i.i817.i.i4074, label %if.then.i.i.i.i.i.i.i.i809.i.i4066 + +if.then.i.i.i.i.i.i.i.i809.i.i4066: ; preds = %if.then7.i.i.i.i.i804.i.i4061 + %2008 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i4064, align 4 + %add.i.i.i.i.i.i.i.i810.i.i4067 = add nsw i32 %2008, -1 + store i32 %add.i.i.i.i.i.i.i.i810.i.i4067, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i4064, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4068 + +if.else.i.i.i.i.i.i.i.i817.i.i4074: ; preds = %if.then7.i.i.i.i.i804.i.i4061 + %2009 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i4064, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4068 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4068: ; preds = %if.else.i.i.i.i.i.i.i.i817.i.i4074, %if.then.i.i.i.i.i.i.i.i809.i.i4066 + %retval.i.0.i.i.i.i.i.i.i812.i.i4069 = phi i32 [ %2008, %if.then.i.i.i.i.i.i.i.i809.i.i4066 ], [ %2009, %if.else.i.i.i.i.i.i.i.i817.i.i4074 ] + %cmp.i.i.i.i.i.i.i813.i.i4070 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i812.i.i4069, 1 + br i1 %cmp.i.i.i.i.i.i.i813.i.i4070, label %if.end8.sink.split.i.i.i.i.i814.i.i4071, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050 + +if.end8.sink.split.i.i.i.i.i814.i.i4071: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4068, %if.then.i.i.i.i.i819.i.i4076 + %vtable2.i.i.i.i.i.i.i815.i.i4072 = load ptr, ptr %2000, align 8 + %vfn3.i.i.i.i.i.i.i816.i.i4073 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i815.i.i4072, i64 3 + %2010 = load ptr, ptr %vfn3.i.i.i.i.i.i.i816.i.i4073, align 8 call void %2010(ptr noundef nonnull align 8 dereferenceable(16) %2000) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i4067, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4064, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4043, %cleanup249.critedge.i.i4033 - %2011 = load ptr, ptr %c2_hash.i.i3418, align 8, !noalias !1588 - %2012 = load ptr, ptr %_M_finish.i.i748.i.i3582, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i794.i.i4047 = icmp eq ptr %2011, %2012 - br i1 %cmp.not3.i.i.i.i.i794.i.i4047, label %invoke.cont.i.i801.i.i4054, label %for.body.i.i.i.i.i795.i.i4048 - -for.body.i.i.i.i.i795.i.i4048: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046, %for.body.i.i.i.i.i795.i.i4048 - %__first.addr.04.i.i.i.i.i796.i.i4049 = phi ptr [ %incdec.ptr.i.i.i.i.i797.i.i4050, %for.body.i.i.i.i.i795.i.i4048 ], [ %2011, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i796.i.i4049) #30 - %incdec.ptr.i.i.i.i.i797.i.i4050 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i796.i.i4049, i64 1 - %cmp.not.i.i.i.i.i798.i.i4051 = icmp eq ptr %incdec.ptr.i.i.i.i.i797.i.i4050, %2012 - br i1 %cmp.not.i.i.i.i.i798.i.i4051, label %invoke.contthread-pre-split.i.i799.i.i4052, label %for.body.i.i.i.i.i795.i.i4048, !llvm.loop !8 - -invoke.contthread-pre-split.i.i799.i.i4052: ; preds = %for.body.i.i.i.i.i795.i.i4048 - %.pr.i.i800.i.i4053 = load ptr, ptr %c2_hash.i.i3418, align 8, !noalias !1588 - br label %invoke.cont.i.i801.i.i4054 - -invoke.cont.i.i801.i.i4054: ; preds = %invoke.contthread-pre-split.i.i799.i.i4052, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046 - %2013 = phi ptr [ %.pr.i.i800.i.i4053, %invoke.contthread-pre-split.i.i799.i.i4052 ], [ %2011, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4046 ] - %tobool.not.i.i.i.i802.i.i4055 = icmp eq ptr %2013, null - br i1 %tobool.not.i.i.i.i802.i.i4055, label %cleanup257.critedge.i.i3728, label %if.then.i.i.i1.i803.i.i4056 - -if.then.i.i.i1.i803.i.i4056: ; preds = %invoke.cont.i.i801.i.i4054 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i4071, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i4068, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i4047, %cleanup249.critedge.i.i4037 + %2011 = load ptr, ptr %c2_hash.i.i3422, align 8, !noalias !1588 + %2012 = load ptr, ptr %_M_finish.i.i748.i.i3586, align 8, !noalias !1588 + %cmp.not3.i.i.i.i.i794.i.i4051 = icmp eq ptr %2011, %2012 + br i1 %cmp.not3.i.i.i.i.i794.i.i4051, label %invoke.cont.i.i801.i.i4058, label %for.body.i.i.i.i.i795.i.i4052 + +for.body.i.i.i.i.i795.i.i4052: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050, %for.body.i.i.i.i.i795.i.i4052 + %__first.addr.04.i.i.i.i.i796.i.i4053 = phi ptr [ %incdec.ptr.i.i.i.i.i797.i.i4054, %for.body.i.i.i.i.i795.i.i4052 ], [ %2011, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i796.i.i4053) #30 + %incdec.ptr.i.i.i.i.i797.i.i4054 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i796.i.i4053, i64 1 + %cmp.not.i.i.i.i.i798.i.i4055 = icmp eq ptr %incdec.ptr.i.i.i.i.i797.i.i4054, %2012 + br i1 %cmp.not.i.i.i.i.i798.i.i4055, label %invoke.contthread-pre-split.i.i799.i.i4056, label %for.body.i.i.i.i.i795.i.i4052, !llvm.loop !8 + +invoke.contthread-pre-split.i.i799.i.i4056: ; preds = %for.body.i.i.i.i.i795.i.i4052 + %.pr.i.i800.i.i4057 = load ptr, ptr %c2_hash.i.i3422, align 8, !noalias !1588 + br label %invoke.cont.i.i801.i.i4058 + +invoke.cont.i.i801.i.i4058: ; preds = %invoke.contthread-pre-split.i.i799.i.i4056, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050 + %2013 = phi ptr [ %.pr.i.i800.i.i4057, %invoke.contthread-pre-split.i.i799.i.i4056 ], [ %2011, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i4050 ] + %tobool.not.i.i.i.i802.i.i4059 = icmp eq ptr %2013, null + br i1 %tobool.not.i.i.i.i802.i.i4059, label %cleanup257.critedge.i.i3732, label %if.then.i.i.i1.i803.i.i4060 + +if.then.i.i.i1.i803.i.i4060: ; preds = %invoke.cont.i.i801.i.i4058 call void @_ZdlPv(ptr noundef nonnull %2013) #33 - br label %cleanup257.critedge.i.i3728 + br label %cleanup257.critedge.i.i3732 -cleanup249.i.i4304: ; preds = %for.inc246.i.i4301, %for.end144.i.i3906 - %2014 = load ptr, ptr %_M_refcount.i.i.i824.i.i3583, align 8, !noalias !1588 - %cmp.not.i.i.i.i825.i.i4305 = icmp eq ptr %2014, null - br i1 %cmp.not.i.i.i.i825.i.i4305, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316, label %if.then.i.i.i.i826.i.i4306 +cleanup249.i.i4308: ; preds = %for.inc246.i.i4305, %for.end144.i.i3910 + %2014 = load ptr, ptr %_M_refcount.i.i.i824.i.i3587, align 8, !noalias !1588 + %cmp.not.i.i.i.i825.i.i4309 = icmp eq ptr %2014, null + br i1 %cmp.not.i.i.i.i825.i.i4309, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320, label %if.then.i.i.i.i826.i.i4310 -if.then.i.i.i.i826.i.i4306: ; preds = %cleanup249.i.i4304 - %_M_use_count.i.i.i.i.i827.i.i4307 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2014, i64 0, i32 1 - %2015 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i4307 acquire, align 8 - %cmp.i.i.i.i.i828.i.i4308 = icmp eq i64 %2015, 4294967297 +if.then.i.i.i.i826.i.i4310: ; preds = %cleanup249.i.i4308 + %_M_use_count.i.i.i.i.i827.i.i4311 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2014, i64 0, i32 1 + %2015 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i4311 acquire, align 8 + %cmp.i.i.i.i.i828.i.i4312 = icmp eq i64 %2015, 4294967297 %2016 = trunc i64 %2015 to i32 - br i1 %cmp.i.i.i.i.i828.i.i4308, label %if.then.i.i.i.i.i863.i.i4348, label %if.end.i.i.i.i.i829.i.i4309 - -if.then.i.i.i.i.i863.i.i4348: ; preds = %if.then.i.i.i.i826.i.i4306 - store i32 0, ptr %_M_use_count.i.i.i.i.i827.i.i4307, align 8 - %_M_weak_count.i.i.i.i.i864.i.i4349 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2014, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i864.i.i4349, align 4 - %vtable.i.i.i.i.i865.i.i4350 = load ptr, ptr %2014, align 8 - %vfn.i.i.i.i.i866.i.i4351 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i865.i.i4350, i64 2 - %2017 = load ptr, ptr %vfn.i.i.i.i.i866.i.i4351, align 8 + br i1 %cmp.i.i.i.i.i828.i.i4312, label %if.then.i.i.i.i.i863.i.i4352, label %if.end.i.i.i.i.i829.i.i4313 + +if.then.i.i.i.i.i863.i.i4352: ; preds = %if.then.i.i.i.i826.i.i4310 + store i32 0, ptr %_M_use_count.i.i.i.i.i827.i.i4311, align 8 + %_M_weak_count.i.i.i.i.i864.i.i4353 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2014, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i864.i.i4353, align 4 + %vtable.i.i.i.i.i865.i.i4354 = load ptr, ptr %2014, align 8 + %vfn.i.i.i.i.i866.i.i4355 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i865.i.i4354, i64 2 + %2017 = load ptr, ptr %vfn.i.i.i.i.i866.i.i4355, align 8 call void %2017(ptr noundef nonnull align 8 dereferenceable(16) %2014) #30 - br label %if.end8.sink.split.i.i.i.i.i858.i.i4343 + br label %if.end8.sink.split.i.i.i.i.i858.i.i4347 -if.end.i.i.i.i.i829.i.i4309: ; preds = %if.then.i.i.i.i826.i.i4306 +if.end.i.i.i.i.i829.i.i4313: ; preds = %if.then.i.i.i.i826.i.i4310 %2018 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i830.i.i4310 = icmp eq i8 %2018, 0 - br i1 %tobool.i.i.not.i.i.i.i.i830.i.i4310, label %if.else.i.i.i.i.i.i862.i.i4347, label %if.then.i.i.i.i.i.i831.i.i4311 - -if.then.i.i.i.i.i.i831.i.i4311: ; preds = %if.end.i.i.i.i.i829.i.i4309 - %add.i.i.i.i.i.i832.i.i4312 = add nsw i32 %2016, -1 - store i32 %add.i.i.i.i.i.i832.i.i4312, ptr %_M_use_count.i.i.i.i.i827.i.i4307, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4313 - -if.else.i.i.i.i.i.i862.i.i4347: ; preds = %if.end.i.i.i.i.i829.i.i4309 - %2019 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i827.i.i4307, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4313 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4313: ; preds = %if.else.i.i.i.i.i.i862.i.i4347, %if.then.i.i.i.i.i.i831.i.i4311 - %retval.i.0.i.i.i.i.i834.i.i4314 = phi i32 [ %2016, %if.then.i.i.i.i.i.i831.i.i4311 ], [ %2019, %if.else.i.i.i.i.i.i862.i.i4347 ] - %cmp6.i.i.i.i.i835.i.i4315 = icmp eq i32 %retval.i.0.i.i.i.i.i834.i.i4314, 1 - br i1 %cmp6.i.i.i.i.i835.i.i4315, label %if.then7.i.i.i.i.i848.i.i4333, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316 - -if.then7.i.i.i.i.i848.i.i4333: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4313 - %vtable.i.i.i.i.i.i.i849.i.i4334 = load ptr, ptr %2014, align 8 - %vfn.i.i.i.i.i.i.i850.i.i4335 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i849.i.i4334, i64 2 - %2020 = load ptr, ptr %vfn.i.i.i.i.i.i.i850.i.i4335, align 8 + %tobool.i.i.not.i.i.i.i.i830.i.i4314 = icmp eq i8 %2018, 0 + br i1 %tobool.i.i.not.i.i.i.i.i830.i.i4314, label %if.else.i.i.i.i.i.i862.i.i4351, label %if.then.i.i.i.i.i.i831.i.i4315 + +if.then.i.i.i.i.i.i831.i.i4315: ; preds = %if.end.i.i.i.i.i829.i.i4313 + %add.i.i.i.i.i.i832.i.i4316 = add nsw i32 %2016, -1 + store i32 %add.i.i.i.i.i.i832.i.i4316, ptr %_M_use_count.i.i.i.i.i827.i.i4311, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4317 + +if.else.i.i.i.i.i.i862.i.i4351: ; preds = %if.end.i.i.i.i.i829.i.i4313 + %2019 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i827.i.i4311, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4317 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4317: ; preds = %if.else.i.i.i.i.i.i862.i.i4351, %if.then.i.i.i.i.i.i831.i.i4315 + %retval.i.0.i.i.i.i.i834.i.i4318 = phi i32 [ %2016, %if.then.i.i.i.i.i.i831.i.i4315 ], [ %2019, %if.else.i.i.i.i.i.i862.i.i4351 ] + %cmp6.i.i.i.i.i835.i.i4319 = icmp eq i32 %retval.i.0.i.i.i.i.i834.i.i4318, 1 + br i1 %cmp6.i.i.i.i.i835.i.i4319, label %if.then7.i.i.i.i.i848.i.i4337, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320 + +if.then7.i.i.i.i.i848.i.i4337: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4317 + %vtable.i.i.i.i.i.i.i849.i.i4338 = load ptr, ptr %2014, align 8 + %vfn.i.i.i.i.i.i.i850.i.i4339 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i849.i.i4338, i64 2 + %2020 = load ptr, ptr %vfn.i.i.i.i.i.i.i850.i.i4339, align 8 call void %2020(ptr noundef nonnull align 8 dereferenceable(16) %2014) #30 - %_M_weak_count.i.i.i.i.i.i.i851.i.i4336 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2014, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i851.i.i4340 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2014, i64 0, i32 2 %2021 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i852.i.i4337 = icmp eq i8 %2021, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i852.i.i4337, label %if.else.i.i.i.i.i.i.i.i861.i.i4346, label %if.then.i.i.i.i.i.i.i.i853.i.i4338 - -if.then.i.i.i.i.i.i.i.i853.i.i4338: ; preds = %if.then7.i.i.i.i.i848.i.i4333 - %2022 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i4336, align 4 - %add.i.i.i.i.i.i.i.i854.i.i4339 = add nsw i32 %2022, -1 - store i32 %add.i.i.i.i.i.i.i.i854.i.i4339, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i4336, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4340 - -if.else.i.i.i.i.i.i.i.i861.i.i4346: ; preds = %if.then7.i.i.i.i.i848.i.i4333 - %2023 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i4336, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4340 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4340: ; preds = %if.else.i.i.i.i.i.i.i.i861.i.i4346, %if.then.i.i.i.i.i.i.i.i853.i.i4338 - %retval.i.0.i.i.i.i.i.i.i856.i.i4341 = phi i32 [ %2022, %if.then.i.i.i.i.i.i.i.i853.i.i4338 ], [ %2023, %if.else.i.i.i.i.i.i.i.i861.i.i4346 ] - %cmp.i.i.i.i.i.i.i857.i.i4342 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i856.i.i4341, 1 - br i1 %cmp.i.i.i.i.i.i.i857.i.i4342, label %if.end8.sink.split.i.i.i.i.i858.i.i4343, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316 - -if.end8.sink.split.i.i.i.i.i858.i.i4343: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4340, %if.then.i.i.i.i.i863.i.i4348 - %vtable2.i.i.i.i.i.i.i859.i.i4344 = load ptr, ptr %2014, align 8 - %vfn3.i.i.i.i.i.i.i860.i.i4345 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i859.i.i4344, i64 3 - %2024 = load ptr, ptr %vfn3.i.i.i.i.i.i.i860.i.i4345, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i852.i.i4341 = icmp eq i8 %2021, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i852.i.i4341, label %if.else.i.i.i.i.i.i.i.i861.i.i4350, label %if.then.i.i.i.i.i.i.i.i853.i.i4342 + +if.then.i.i.i.i.i.i.i.i853.i.i4342: ; preds = %if.then7.i.i.i.i.i848.i.i4337 + %2022 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i4340, align 4 + %add.i.i.i.i.i.i.i.i854.i.i4343 = add nsw i32 %2022, -1 + store i32 %add.i.i.i.i.i.i.i.i854.i.i4343, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i4340, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4344 + +if.else.i.i.i.i.i.i.i.i861.i.i4350: ; preds = %if.then7.i.i.i.i.i848.i.i4337 + %2023 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i4340, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4344 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4344: ; preds = %if.else.i.i.i.i.i.i.i.i861.i.i4350, %if.then.i.i.i.i.i.i.i.i853.i.i4342 + %retval.i.0.i.i.i.i.i.i.i856.i.i4345 = phi i32 [ %2022, %if.then.i.i.i.i.i.i.i.i853.i.i4342 ], [ %2023, %if.else.i.i.i.i.i.i.i.i861.i.i4350 ] + %cmp.i.i.i.i.i.i.i857.i.i4346 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i856.i.i4345, 1 + br i1 %cmp.i.i.i.i.i.i.i857.i.i4346, label %if.end8.sink.split.i.i.i.i.i858.i.i4347, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320 + +if.end8.sink.split.i.i.i.i.i858.i.i4347: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4344, %if.then.i.i.i.i.i863.i.i4352 + %vtable2.i.i.i.i.i.i.i859.i.i4348 = load ptr, ptr %2014, align 8 + %vfn3.i.i.i.i.i.i.i860.i.i4349 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i859.i.i4348, i64 3 + %2024 = load ptr, ptr %vfn3.i.i.i.i.i.i.i860.i.i4349, align 8 call void %2024(ptr noundef nonnull align 8 dereferenceable(16) %2014) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i4343, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4340, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4313, %cleanup249.i.i4304 - %2025 = load ptr, ptr %expected.i.i3409, align 8, !noalias !1588 - %2026 = load ptr, ptr %_M_finish.i.i837.i.i3584, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i838.i.i4317 = icmp eq ptr %2025, %2026 - br i1 %cmp.not3.i.i.i.i.i838.i.i4317, label %invoke.cont.i.i845.i.i4324, label %for.body.i.i.i.i.i839.i.i4318 - -for.body.i.i.i.i.i839.i.i4318: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316, %for.body.i.i.i.i.i839.i.i4318 - %__first.addr.04.i.i.i.i.i840.i.i4319 = phi ptr [ %incdec.ptr.i.i.i.i.i841.i.i4320, %for.body.i.i.i.i.i839.i.i4318 ], [ %2025, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i840.i.i4319) #30 - %incdec.ptr.i.i.i.i.i841.i.i4320 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i840.i.i4319, i64 1 - %cmp.not.i.i.i.i.i842.i.i4321 = icmp eq ptr %incdec.ptr.i.i.i.i.i841.i.i4320, %2026 - br i1 %cmp.not.i.i.i.i.i842.i.i4321, label %invoke.contthread-pre-split.i.i843.i.i4322, label %for.body.i.i.i.i.i839.i.i4318, !llvm.loop !8 - -invoke.contthread-pre-split.i.i843.i.i4322: ; preds = %for.body.i.i.i.i.i839.i.i4318 - %.pr.i.i844.i.i4323 = load ptr, ptr %expected.i.i3409, align 8, !noalias !1588 - br label %invoke.cont.i.i845.i.i4324 - -invoke.cont.i.i845.i.i4324: ; preds = %invoke.contthread-pre-split.i.i843.i.i4322, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316 - %2027 = phi ptr [ %.pr.i.i844.i.i4323, %invoke.contthread-pre-split.i.i843.i.i4322 ], [ %2025, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4316 ] - %tobool.not.i.i.i.i846.i.i4325 = icmp eq ptr %2027, null - br i1 %tobool.not.i.i.i.i846.i.i4325, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4327, label %if.then.i.i.i1.i847.i.i4326 - -if.then.i.i.i1.i847.i.i4326: ; preds = %invoke.cont.i.i845.i.i4324 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i4347, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i4344, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i4317, %cleanup249.i.i4308 + %2025 = load ptr, ptr %expected.i.i3413, align 8, !noalias !1588 + %2026 = load ptr, ptr %_M_finish.i.i837.i.i3588, align 8, !noalias !1588 + %cmp.not3.i.i.i.i.i838.i.i4321 = icmp eq ptr %2025, %2026 + br i1 %cmp.not3.i.i.i.i.i838.i.i4321, label %invoke.cont.i.i845.i.i4328, label %for.body.i.i.i.i.i839.i.i4322 + +for.body.i.i.i.i.i839.i.i4322: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320, %for.body.i.i.i.i.i839.i.i4322 + %__first.addr.04.i.i.i.i.i840.i.i4323 = phi ptr [ %incdec.ptr.i.i.i.i.i841.i.i4324, %for.body.i.i.i.i.i839.i.i4322 ], [ %2025, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i840.i.i4323) #30 + %incdec.ptr.i.i.i.i.i841.i.i4324 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i840.i.i4323, i64 1 + %cmp.not.i.i.i.i.i842.i.i4325 = icmp eq ptr %incdec.ptr.i.i.i.i.i841.i.i4324, %2026 + br i1 %cmp.not.i.i.i.i.i842.i.i4325, label %invoke.contthread-pre-split.i.i843.i.i4326, label %for.body.i.i.i.i.i839.i.i4322, !llvm.loop !8 + +invoke.contthread-pre-split.i.i843.i.i4326: ; preds = %for.body.i.i.i.i.i839.i.i4322 + %.pr.i.i844.i.i4327 = load ptr, ptr %expected.i.i3413, align 8, !noalias !1588 + br label %invoke.cont.i.i845.i.i4328 + +invoke.cont.i.i845.i.i4328: ; preds = %invoke.contthread-pre-split.i.i843.i.i4326, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320 + %2027 = phi ptr [ %.pr.i.i844.i.i4327, %invoke.contthread-pre-split.i.i843.i.i4326 ], [ %2025, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i4320 ] + %tobool.not.i.i.i.i846.i.i4329 = icmp eq ptr %2027, null + br i1 %tobool.not.i.i.i.i846.i.i4329, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4331, label %if.then.i.i.i1.i847.i.i4330 + +if.then.i.i.i1.i847.i.i4330: ; preds = %invoke.cont.i.i845.i.i4328 call void @_ZdlPv(ptr noundef nonnull %2027) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4327 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4331 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4327: ; preds = %if.then.i.i.i1.i847.i.i4326, %invoke.cont.i.i845.i.i4324 - %incdec.ptr.i868.i.i4328 = getelementptr inbounds %"class.std::vector.972", ptr %__begin058.sroa.0.052.i.i3586, i64 1 - %cmp.i160.not.i.i4329 = icmp eq ptr %incdec.ptr.i868.i.i4328, %classes.val63.pre.i.i3566 - br i1 %cmp.i160.not.i.i4329, label %for.end255.i.i4330, label %for.body66.i.i3585 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4331: ; preds = %if.then.i.i.i1.i847.i.i4330, %invoke.cont.i.i845.i.i4328 + %incdec.ptr.i868.i.i4332 = getelementptr inbounds %"class.std::vector.972", ptr %__begin058.sroa.0.052.i.i3590, i64 1 + %cmp.i160.not.i.i4333 = icmp eq ptr %incdec.ptr.i868.i.i4332, %classes.val63.pre.i.i3570 + br i1 %cmp.i160.not.i.i4333, label %for.end255.i.i4334, label %for.body66.i.i3589 -ehcleanup252.i.i3604: ; preds = %ehcleanup245.i.i3924, %ehcleanup140.i.i3804, %lpad112.i.i3776, %ehcleanup108.i.i3668, %ehcleanup92.i.i3611, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i3664, %lpad83.loopexit.split-lp.loopexit.i.i3602, %lpad83.loopexit.i.i3918 - %.pn43.pn.i.i3605 = phi { ptr, i32 } [ %.pn43.i.i3669, %ehcleanup108.i.i3668 ], [ %.pn40.pn.i.i3805, %ehcleanup140.i.i3804 ], [ %1874, %lpad112.i.i3776 ], [ %.pn38.i.i3612, %ehcleanup92.i.i3611 ], [ %.pn.pn.pn.i.i3925, %ehcleanup245.i.i3924 ], [ %lpad.loopexit.i.i3919, %lpad83.loopexit.i.i3918 ], [ %lpad.loopexit8.i.i3603, %lpad83.loopexit.split-lp.loopexit.i.i3602 ], [ %lpad.loopexit.split-lp9.i.i3665, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i3664 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i3409) #30 - br label %ehcleanup258.i.i3485 +ehcleanup252.i.i3608: ; preds = %ehcleanup245.i.i3928, %ehcleanup140.i.i3808, %lpad112.i.i3780, %ehcleanup108.i.i3672, %ehcleanup92.i.i3615, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i3668, %lpad83.loopexit.split-lp.loopexit.i.i3606, %lpad83.loopexit.i.i3922 + %.pn43.pn.i.i3609 = phi { ptr, i32 } [ %.pn43.i.i3673, %ehcleanup108.i.i3672 ], [ %.pn40.pn.i.i3809, %ehcleanup140.i.i3808 ], [ %1874, %lpad112.i.i3780 ], [ %.pn38.i.i3616, %ehcleanup92.i.i3615 ], [ %.pn.pn.pn.i.i3929, %ehcleanup245.i.i3928 ], [ %lpad.loopexit.i.i3923, %lpad83.loopexit.i.i3922 ], [ %lpad.loopexit8.i.i3607, %lpad83.loopexit.split-lp.loopexit.i.i3606 ], [ %lpad.loopexit.split-lp9.i.i3669, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i3668 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i3413) #30 + br label %ehcleanup258.i.i3489 -for.end255.i.i4330: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4327, %for.cond64.preheader.i.i3572 +for.end255.i.i4334: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i4331, %for.cond64.preheader.i.i3576 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_184) - to label %cleanup257.i.i3549 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i4331 + to label %cleanup257.i.i3553 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i4335 -cleanup257.critedge.i.i3728: ; preds = %if.then.i.i.i1.i803.i.i4056, %invoke.cont.i.i801.i.i4054, %_ZN7testing15AssertionResultD2Ev.exit447.i.i3902, %_ZN7testing15AssertionResultD2Ev.exit307.i.i3727 - %2028 = load ptr, ptr %_M_refcount.i.i.i824.i.i3583, align 8, !noalias !1588 - %cmp.not.i.i.i.i870.i.i3729 = icmp eq ptr %2028, null - br i1 %cmp.not.i.i.i.i870.i.i3729, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740, label %if.then.i.i.i.i871.i.i3730 +cleanup257.critedge.i.i3732: ; preds = %if.then.i.i.i1.i803.i.i4060, %invoke.cont.i.i801.i.i4058, %_ZN7testing15AssertionResultD2Ev.exit447.i.i3906, %_ZN7testing15AssertionResultD2Ev.exit307.i.i3731 + %2028 = load ptr, ptr %_M_refcount.i.i.i824.i.i3587, align 8, !noalias !1588 + %cmp.not.i.i.i.i870.i.i3733 = icmp eq ptr %2028, null + br i1 %cmp.not.i.i.i.i870.i.i3733, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744, label %if.then.i.i.i.i871.i.i3734 -if.then.i.i.i.i871.i.i3730: ; preds = %cleanup257.critedge.i.i3728 - %_M_use_count.i.i.i.i.i872.i.i3731 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2028, i64 0, i32 1 - %2029 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i3731 acquire, align 8 - %cmp.i.i.i.i.i873.i.i3732 = icmp eq i64 %2029, 4294967297 +if.then.i.i.i.i871.i.i3734: ; preds = %cleanup257.critedge.i.i3732 + %_M_use_count.i.i.i.i.i872.i.i3735 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2028, i64 0, i32 1 + %2029 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i3735 acquire, align 8 + %cmp.i.i.i.i.i873.i.i3736 = icmp eq i64 %2029, 4294967297 %2030 = trunc i64 %2029 to i32 - br i1 %cmp.i.i.i.i.i873.i.i3732, label %if.then.i.i.i.i.i908.i.i3766, label %if.end.i.i.i.i.i874.i.i3733 - -if.then.i.i.i.i.i908.i.i3766: ; preds = %if.then.i.i.i.i871.i.i3730 - store i32 0, ptr %_M_use_count.i.i.i.i.i872.i.i3731, align 8 - %_M_weak_count.i.i.i.i.i909.i.i3767 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2028, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i909.i.i3767, align 4 - %vtable.i.i.i.i.i910.i.i3768 = load ptr, ptr %2028, align 8 - %vfn.i.i.i.i.i911.i.i3769 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i910.i.i3768, i64 2 - %2031 = load ptr, ptr %vfn.i.i.i.i.i911.i.i3769, align 8 + br i1 %cmp.i.i.i.i.i873.i.i3736, label %if.then.i.i.i.i.i908.i.i3770, label %if.end.i.i.i.i.i874.i.i3737 + +if.then.i.i.i.i.i908.i.i3770: ; preds = %if.then.i.i.i.i871.i.i3734 + store i32 0, ptr %_M_use_count.i.i.i.i.i872.i.i3735, align 8 + %_M_weak_count.i.i.i.i.i909.i.i3771 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2028, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i909.i.i3771, align 4 + %vtable.i.i.i.i.i910.i.i3772 = load ptr, ptr %2028, align 8 + %vfn.i.i.i.i.i911.i.i3773 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i910.i.i3772, i64 2 + %2031 = load ptr, ptr %vfn.i.i.i.i.i911.i.i3773, align 8 call void %2031(ptr noundef nonnull align 8 dereferenceable(16) %2028) #30 - br label %if.end8.sink.split.i.i.i.i.i903.i.i3761 + br label %if.end8.sink.split.i.i.i.i.i903.i.i3765 -if.end.i.i.i.i.i874.i.i3733: ; preds = %if.then.i.i.i.i871.i.i3730 +if.end.i.i.i.i.i874.i.i3737: ; preds = %if.then.i.i.i.i871.i.i3734 %2032 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i875.i.i3734 = icmp eq i8 %2032, 0 - br i1 %tobool.i.i.not.i.i.i.i.i875.i.i3734, label %if.else.i.i.i.i.i.i907.i.i3765, label %if.then.i.i.i.i.i.i876.i.i3735 - -if.then.i.i.i.i.i.i876.i.i3735: ; preds = %if.end.i.i.i.i.i874.i.i3733 - %add.i.i.i.i.i.i877.i.i3736 = add nsw i32 %2030, -1 - store i32 %add.i.i.i.i.i.i877.i.i3736, ptr %_M_use_count.i.i.i.i.i872.i.i3731, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3737 - -if.else.i.i.i.i.i.i907.i.i3765: ; preds = %if.end.i.i.i.i.i874.i.i3733 - %2033 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i872.i.i3731, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3737 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3737: ; preds = %if.else.i.i.i.i.i.i907.i.i3765, %if.then.i.i.i.i.i.i876.i.i3735 - %retval.i.0.i.i.i.i.i879.i.i3738 = phi i32 [ %2030, %if.then.i.i.i.i.i.i876.i.i3735 ], [ %2033, %if.else.i.i.i.i.i.i907.i.i3765 ] - %cmp6.i.i.i.i.i880.i.i3739 = icmp eq i32 %retval.i.0.i.i.i.i.i879.i.i3738, 1 - br i1 %cmp6.i.i.i.i.i880.i.i3739, label %if.then7.i.i.i.i.i893.i.i3751, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740 - -if.then7.i.i.i.i.i893.i.i3751: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3737 - %vtable.i.i.i.i.i.i.i894.i.i3752 = load ptr, ptr %2028, align 8 - %vfn.i.i.i.i.i.i.i895.i.i3753 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i894.i.i3752, i64 2 - %2034 = load ptr, ptr %vfn.i.i.i.i.i.i.i895.i.i3753, align 8 + %tobool.i.i.not.i.i.i.i.i875.i.i3738 = icmp eq i8 %2032, 0 + br i1 %tobool.i.i.not.i.i.i.i.i875.i.i3738, label %if.else.i.i.i.i.i.i907.i.i3769, label %if.then.i.i.i.i.i.i876.i.i3739 + +if.then.i.i.i.i.i.i876.i.i3739: ; preds = %if.end.i.i.i.i.i874.i.i3737 + %add.i.i.i.i.i.i877.i.i3740 = add nsw i32 %2030, -1 + store i32 %add.i.i.i.i.i.i877.i.i3740, ptr %_M_use_count.i.i.i.i.i872.i.i3735, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3741 + +if.else.i.i.i.i.i.i907.i.i3769: ; preds = %if.end.i.i.i.i.i874.i.i3737 + %2033 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i872.i.i3735, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3741 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3741: ; preds = %if.else.i.i.i.i.i.i907.i.i3769, %if.then.i.i.i.i.i.i876.i.i3739 + %retval.i.0.i.i.i.i.i879.i.i3742 = phi i32 [ %2030, %if.then.i.i.i.i.i.i876.i.i3739 ], [ %2033, %if.else.i.i.i.i.i.i907.i.i3769 ] + %cmp6.i.i.i.i.i880.i.i3743 = icmp eq i32 %retval.i.0.i.i.i.i.i879.i.i3742, 1 + br i1 %cmp6.i.i.i.i.i880.i.i3743, label %if.then7.i.i.i.i.i893.i.i3755, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744 + +if.then7.i.i.i.i.i893.i.i3755: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3741 + %vtable.i.i.i.i.i.i.i894.i.i3756 = load ptr, ptr %2028, align 8 + %vfn.i.i.i.i.i.i.i895.i.i3757 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i894.i.i3756, i64 2 + %2034 = load ptr, ptr %vfn.i.i.i.i.i.i.i895.i.i3757, align 8 call void %2034(ptr noundef nonnull align 8 dereferenceable(16) %2028) #30 - %_M_weak_count.i.i.i.i.i.i.i896.i.i3754 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2028, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i896.i.i3758 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2028, i64 0, i32 2 %2035 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1588 - %tobool.i.i.not.i.i.i.i.i.i.i897.i.i3755 = icmp eq i8 %2035, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i897.i.i3755, label %if.else.i.i.i.i.i.i.i.i906.i.i3764, label %if.then.i.i.i.i.i.i.i.i898.i.i3756 - -if.then.i.i.i.i.i.i.i.i898.i.i3756: ; preds = %if.then7.i.i.i.i.i893.i.i3751 - %2036 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i3754, align 4 - %add.i.i.i.i.i.i.i.i899.i.i3757 = add nsw i32 %2036, -1 - store i32 %add.i.i.i.i.i.i.i.i899.i.i3757, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i3754, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3758 - -if.else.i.i.i.i.i.i.i.i906.i.i3764: ; preds = %if.then7.i.i.i.i.i893.i.i3751 - %2037 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i3754, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3758 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3758: ; preds = %if.else.i.i.i.i.i.i.i.i906.i.i3764, %if.then.i.i.i.i.i.i.i.i898.i.i3756 - %retval.i.0.i.i.i.i.i.i.i901.i.i3759 = phi i32 [ %2036, %if.then.i.i.i.i.i.i.i.i898.i.i3756 ], [ %2037, %if.else.i.i.i.i.i.i.i.i906.i.i3764 ] - %cmp.i.i.i.i.i.i.i902.i.i3760 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i901.i.i3759, 1 - br i1 %cmp.i.i.i.i.i.i.i902.i.i3760, label %if.end8.sink.split.i.i.i.i.i903.i.i3761, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740 - -if.end8.sink.split.i.i.i.i.i903.i.i3761: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3758, %if.then.i.i.i.i.i908.i.i3766 - %vtable2.i.i.i.i.i.i.i904.i.i3762 = load ptr, ptr %2028, align 8 - %vfn3.i.i.i.i.i.i.i905.i.i3763 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i904.i.i3762, i64 3 - %2038 = load ptr, ptr %vfn3.i.i.i.i.i.i.i905.i.i3763, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i897.i.i3759 = icmp eq i8 %2035, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i897.i.i3759, label %if.else.i.i.i.i.i.i.i.i906.i.i3768, label %if.then.i.i.i.i.i.i.i.i898.i.i3760 + +if.then.i.i.i.i.i.i.i.i898.i.i3760: ; preds = %if.then7.i.i.i.i.i893.i.i3755 + %2036 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i3758, align 4 + %add.i.i.i.i.i.i.i.i899.i.i3761 = add nsw i32 %2036, -1 + store i32 %add.i.i.i.i.i.i.i.i899.i.i3761, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i3758, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3762 + +if.else.i.i.i.i.i.i.i.i906.i.i3768: ; preds = %if.then7.i.i.i.i.i893.i.i3755 + %2037 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i3758, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3762 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3762: ; preds = %if.else.i.i.i.i.i.i.i.i906.i.i3768, %if.then.i.i.i.i.i.i.i.i898.i.i3760 + %retval.i.0.i.i.i.i.i.i.i901.i.i3763 = phi i32 [ %2036, %if.then.i.i.i.i.i.i.i.i898.i.i3760 ], [ %2037, %if.else.i.i.i.i.i.i.i.i906.i.i3768 ] + %cmp.i.i.i.i.i.i.i902.i.i3764 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i901.i.i3763, 1 + br i1 %cmp.i.i.i.i.i.i.i902.i.i3764, label %if.end8.sink.split.i.i.i.i.i903.i.i3765, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744 + +if.end8.sink.split.i.i.i.i.i903.i.i3765: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3762, %if.then.i.i.i.i.i908.i.i3770 + %vtable2.i.i.i.i.i.i.i904.i.i3766 = load ptr, ptr %2028, align 8 + %vfn3.i.i.i.i.i.i.i905.i.i3767 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i904.i.i3766, i64 3 + %2038 = load ptr, ptr %vfn3.i.i.i.i.i.i.i905.i.i3767, align 8 call void %2038(ptr noundef nonnull align 8 dereferenceable(16) %2028) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i3761, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3758, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3737, %cleanup257.critedge.i.i3728 - %2039 = load ptr, ptr %expected.i.i3409, align 8, !noalias !1588 - %2040 = load ptr, ptr %_M_finish.i.i837.i.i3584, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i883.i.i3741 = icmp eq ptr %2039, %2040 - br i1 %cmp.not3.i.i.i.i.i883.i.i3741, label %invoke.cont.i.i890.i.i3748, label %for.body.i.i.i.i.i884.i.i3742 - -for.body.i.i.i.i.i884.i.i3742: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740, %for.body.i.i.i.i.i884.i.i3742 - %__first.addr.04.i.i.i.i.i885.i.i3743 = phi ptr [ %incdec.ptr.i.i.i.i.i886.i.i3744, %for.body.i.i.i.i.i884.i.i3742 ], [ %2039, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i885.i.i3743) #30 - %incdec.ptr.i.i.i.i.i886.i.i3744 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i885.i.i3743, i64 1 - %cmp.not.i.i.i.i.i887.i.i3745 = icmp eq ptr %incdec.ptr.i.i.i.i.i886.i.i3744, %2040 - br i1 %cmp.not.i.i.i.i.i887.i.i3745, label %invoke.contthread-pre-split.i.i888.i.i3746, label %for.body.i.i.i.i.i884.i.i3742, !llvm.loop !8 - -invoke.contthread-pre-split.i.i888.i.i3746: ; preds = %for.body.i.i.i.i.i884.i.i3742 - %.pr.i.i889.i.i3747 = load ptr, ptr %expected.i.i3409, align 8, !noalias !1588 - br label %invoke.cont.i.i890.i.i3748 - -invoke.cont.i.i890.i.i3748: ; preds = %invoke.contthread-pre-split.i.i888.i.i3746, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740 - %2041 = phi ptr [ %.pr.i.i889.i.i3747, %invoke.contthread-pre-split.i.i888.i.i3746 ], [ %2039, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3740 ] - %tobool.not.i.i.i.i891.i.i3749 = icmp eq ptr %2041, null - br i1 %tobool.not.i.i.i.i891.i.i3749, label %cleanup257.i.i3549, label %if.then.i.i.i1.i892.i.i3750 - -if.then.i.i.i1.i892.i.i3750: ; preds = %invoke.cont.i.i890.i.i3748 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i3765, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i3762, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i3741, %cleanup257.critedge.i.i3732 + %2039 = load ptr, ptr %expected.i.i3413, align 8, !noalias !1588 + %2040 = load ptr, ptr %_M_finish.i.i837.i.i3588, align 8, !noalias !1588 + %cmp.not3.i.i.i.i.i883.i.i3745 = icmp eq ptr %2039, %2040 + br i1 %cmp.not3.i.i.i.i.i883.i.i3745, label %invoke.cont.i.i890.i.i3752, label %for.body.i.i.i.i.i884.i.i3746 + +for.body.i.i.i.i.i884.i.i3746: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744, %for.body.i.i.i.i.i884.i.i3746 + %__first.addr.04.i.i.i.i.i885.i.i3747 = phi ptr [ %incdec.ptr.i.i.i.i.i886.i.i3748, %for.body.i.i.i.i.i884.i.i3746 ], [ %2039, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i885.i.i3747) #30 + %incdec.ptr.i.i.i.i.i886.i.i3748 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i885.i.i3747, i64 1 + %cmp.not.i.i.i.i.i887.i.i3749 = icmp eq ptr %incdec.ptr.i.i.i.i.i886.i.i3748, %2040 + br i1 %cmp.not.i.i.i.i.i887.i.i3749, label %invoke.contthread-pre-split.i.i888.i.i3750, label %for.body.i.i.i.i.i884.i.i3746, !llvm.loop !8 + +invoke.contthread-pre-split.i.i888.i.i3750: ; preds = %for.body.i.i.i.i.i884.i.i3746 + %.pr.i.i889.i.i3751 = load ptr, ptr %expected.i.i3413, align 8, !noalias !1588 + br label %invoke.cont.i.i890.i.i3752 + +invoke.cont.i.i890.i.i3752: ; preds = %invoke.contthread-pre-split.i.i888.i.i3750, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744 + %2041 = phi ptr [ %.pr.i.i889.i.i3751, %invoke.contthread-pre-split.i.i888.i.i3750 ], [ %2039, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i3744 ] + %tobool.not.i.i.i.i891.i.i3753 = icmp eq ptr %2041, null + br i1 %tobool.not.i.i.i.i891.i.i3753, label %cleanup257.i.i3553, label %if.then.i.i.i1.i892.i.i3754 + +if.then.i.i.i1.i892.i.i3754: ; preds = %invoke.cont.i.i890.i.i3752 call void @_ZdlPv(ptr noundef nonnull %2041) #33 - br label %cleanup257.i.i3549 + br label %cleanup257.i.i3553 -cleanup257.i.i3549: ; preds = %if.then.i.i.i1.i892.i.i3750, %invoke.cont.i.i890.i.i3748, %for.end255.i.i4330, %_ZN7testing15AssertionResultD2Ev.exit159.i.i4452, %if.then.i.i.i.i129.i.i3548, %_ZN7testing15AssertionResultD2Ev.exit.i.i3546 - %2042 = load ptr, ptr %classes.i.i3404, align 8, !noalias !1588 +cleanup257.i.i3553: ; preds = %if.then.i.i.i1.i892.i.i3754, %invoke.cont.i.i890.i.i3752, %for.end255.i.i4334, %_ZN7testing15AssertionResultD2Ev.exit159.i.i4456, %if.then.i.i.i.i129.i.i3552, %_ZN7testing15AssertionResultD2Ev.exit.i.i3550 + %2042 = load ptr, ptr %classes.i.i3408, align 8, !noalias !1588 %2043 = load ptr, ptr %1719, align 8, !noalias !1588 - %cmp.not3.i.i.i.i.i.i3550 = icmp eq ptr %2042, %2043 - br i1 %cmp.not3.i.i.i.i.i.i3550, label %invoke.cont.i916.i.i3558, label %for.body.i.i.i.i.i.i3551 + %cmp.not3.i.i.i.i.i.i3554 = icmp eq ptr %2042, %2043 + br i1 %cmp.not3.i.i.i.i.i.i3554, label %invoke.cont.i916.i.i3562, label %for.body.i.i.i.i.i.i3555 -for.body.i.i.i.i.i.i3551: ; preds = %cleanup257.i.i3549, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i3552 = phi ptr [ %incdec.ptr.i.i.i.i.i.i3556, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %2042, %cleanup257.i.i3549 ] - %__first.addr.0.val.i.i.i.i.i.i3553 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i3552, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i.i3554 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i3553, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i3554, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i3555 +for.body.i.i.i.i.i.i3555: ; preds = %cleanup257.i.i3553, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i3556 = phi ptr [ %incdec.ptr.i.i.i.i.i.i3560, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %2042, %cleanup257.i.i3553 ] + %__first.addr.0.val.i.i.i.i.i.i3557 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i3556, align 8 + %tobool.not.i.i.i.i.i.i.i.i.i.i3558 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i3557, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i3558, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i3559 -if.then.i.i.i.i.i.i.i.i914.i.i3555: ; preds = %for.body.i.i.i.i.i.i3551 - call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i3553) #33 +if.then.i.i.i.i.i.i.i.i914.i.i3559: ; preds = %for.body.i.i.i.i.i.i3555 + call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i3557) #33 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i3555, %for.body.i.i.i.i.i.i3551 - %incdec.ptr.i.i.i.i.i.i3556 = getelementptr inbounds %"class.std::vector.972", ptr %__first.addr.04.i.i.i.i.i.i3552, i64 1 - %cmp.not.i.i.i.i915.i.i3557 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i3556, %2043 - br i1 %cmp.not.i.i.i.i915.i.i3557, label %invoke.cont.i916.i.i3558, label %for.body.i.i.i.i.i.i3551, !llvm.loop !1602 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i3559, %for.body.i.i.i.i.i.i3555 + %incdec.ptr.i.i.i.i.i.i3560 = getelementptr inbounds %"class.std::vector.972", ptr %__first.addr.04.i.i.i.i.i.i3556, i64 1 + %cmp.not.i.i.i.i915.i.i3561 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i3560, %2043 + br i1 %cmp.not.i.i.i.i915.i.i3561, label %invoke.cont.i916.i.i3562, label %for.body.i.i.i.i.i.i3555, !llvm.loop !1602 -invoke.cont.i916.i.i3558: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i3549 - %tobool.not.i.i.i917.i.i3559 = icmp eq ptr %2042, null - br i1 %tobool.not.i.i.i917.i.i3559, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i3560 +invoke.cont.i916.i.i3562: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i3553 + %tobool.not.i.i.i917.i.i3563 = icmp eq ptr %2042, null + br i1 %tobool.not.i.i.i917.i.i3563, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i3564 -if.then.i.i.i918.i.i3560: ; preds = %invoke.cont.i916.i.i3558 +if.then.i.i.i918.i.i3564: ; preds = %invoke.cont.i916.i.i3562 call void @_ZdlPv(ptr noundef nonnull %2042) #33 br label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit -ehcleanup258.i.i3485: ; preds = %ehcleanup252.i.i3604, %lpad51.body.i.i4431, %if.then.i.i.i.i137.i.i3522, %ehcleanup.i.i3519, %lpad30.i.i3490, %lpad.loopexit.split-lp.loopexit.split-lp.i.i4331, %lpad.loopexit.split-lp.loopexit.i.i3483, %lpad.loopexit11.i.i3591 - %.pn46.pn.i.i3486 = phi { ptr, i32 } [ %1761, %lpad30.i.i3490 ], [ %eh.lpad-body155.i.i4432, %lpad51.body.i.i4431 ], [ %.pn43.pn.i.i3605, %ehcleanup252.i.i3604 ], [ %.pn46.i.i3520, %ehcleanup.i.i3519 ], [ %.pn46.i.i3520, %if.then.i.i.i.i137.i.i3522 ], [ %lpad.loopexit12.i.i3592, %lpad.loopexit11.i.i3591 ], [ %lpad.loopexit15.i.i3484, %lpad.loopexit.split-lp.loopexit.i.i3483 ], [ %lpad.loopexit.split-lp16.i.i4332, %lpad.loopexit.split-lp.loopexit.split-lp.i.i4331 ] - call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i3404) #30 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i3430) #33 +ehcleanup258.i.i3489: ; preds = %ehcleanup252.i.i3608, %lpad51.body.i.i4435, %if.then.i.i.i.i137.i.i3526, %ehcleanup.i.i3523, %lpad30.i.i3494, %lpad.loopexit.split-lp.loopexit.split-lp.i.i4335, %lpad.loopexit.split-lp.loopexit.i.i3487, %lpad.loopexit11.i.i3595 + %.pn46.pn.i.i3490 = phi { ptr, i32 } [ %1761, %lpad30.i.i3494 ], [ %eh.lpad-body155.i.i4436, %lpad51.body.i.i4435 ], [ %.pn43.pn.i.i3609, %ehcleanup252.i.i3608 ], [ %.pn46.i.i3524, %ehcleanup.i.i3523 ], [ %.pn46.i.i3524, %if.then.i.i.i.i137.i.i3526 ], [ %lpad.loopexit12.i.i3596, %lpad.loopexit11.i.i3595 ], [ %lpad.loopexit15.i.i3488, %lpad.loopexit.split-lp.loopexit.i.i3487 ], [ %lpad.loopexit.split-lp16.i.i4336, %lpad.loopexit.split-lp.loopexit.split-lp.i.i4335 ] + call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i3408) #30 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i3434) #33 br label %common.resume -_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i3558, %if.then.i.i.i918.i.i3560 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i3404), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i3405), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i3406), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i3407), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i3408), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i3409), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i3410), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i3411), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i3412), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i3413), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i3414), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i3415), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i3416), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i3417), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i3418), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i3419), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i3420), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i3421), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i3422), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i3423), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i3424), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i3425), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i3426), !noalias !1587 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i3427), !noalias !1587 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i3430) #33 +_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i3562, %if.then.i.i.i918.i.i3564 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i3408), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i3409), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i3410), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i3411), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i3412), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i3413), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i3414), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i3415), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i3416), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i3417), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i3418), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i3419), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i3420), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i3421), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i3422), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i3423), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i3424), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i3425), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i3426), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i3427), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i3428), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i3429), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i3430), !noalias !1587 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i3431), !noalias !1587 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i3434) #33 %2044 = load i8, ptr %gtest_ar_184, align 8 %2045 = and i8 %2044, 1 - %tobool.i4536.not = icmp eq i8 %2045, 0 - br i1 %tobool.i4536.not, label %if.else191, label %if.end207 + %tobool.i4541.not = icmp eq i8 %2045, 0 + br i1 %tobool.i4541.not, label %if.else191, label %if.end207 -ehcleanup183: ; preds = %_ZN7testing7MessageD2Ev.exit3371, %lpad168 - %.pn68.pn.pn = phi { ptr, i32 } [ %.pn68.pn, %_ZN7testing7MessageD2Ev.exit3371 ], [ %1710, %lpad168 ] +ehcleanup183: ; preds = %_ZN7testing7MessageD2Ev.exit3375, %lpad168 + %.pn68.pn.pn = phi { ptr, i32 } [ %.pn68.pn, %_ZN7testing7MessageD2Ev.exit3375 ], [ %1710, %lpad168 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_159) #30 br label %common.resume @@ -74684,17 +74697,17 @@ invoke.cont203: ; preds = %invoke.cont201 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp195) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp196) #30 %2046 = load ptr, ptr %ref.tmp192, align 8 - %cmp.not.i.i4537 = icmp eq ptr %2046, null - br i1 %cmp.not.i.i4537, label %_ZN7testing7MessageD2Ev.exit4541, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4538 + %cmp.not.i.i4542 = icmp eq ptr %2046, null + br i1 %cmp.not.i.i4542, label %_ZN7testing7MessageD2Ev.exit4546, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4543 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4538: ; preds = %invoke.cont203 - %vtable.i.i.i4539 = load ptr, ptr %2046, align 8 - %vfn.i.i.i4540 = getelementptr inbounds ptr, ptr %vtable.i.i.i4539, i64 1 - %2047 = load ptr, ptr %vfn.i.i.i4540, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4543: ; preds = %invoke.cont203 + %vtable.i.i.i4544 = load ptr, ptr %2046, align 8 + %vfn.i.i.i4545 = getelementptr inbounds ptr, ptr %vtable.i.i.i4544, i64 1 + %2047 = load ptr, ptr %vfn.i.i.i4545, align 8 call void %2047(ptr noundef nonnull align 8 dereferenceable(128) %2046) #30 - br label %_ZN7testing7MessageD2Ev.exit4541 + br label %_ZN7testing7MessageD2Ev.exit4546 -_ZN7testing7MessageD2Ev.exit4541: ; preds = %invoke.cont203, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4538 +_ZN7testing7MessageD2Ev.exit4546: ; preds = %invoke.cont203, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4543 store ptr null, ptr %ref.tmp192, align 8 br label %if.end207 @@ -74727,2851 +74740,2852 @@ ehcleanup205: ; preds = %lpad202, %lpad200 ehcleanup206: ; preds = %ehcleanup205, %lpad197 %.pn72.pn = phi { ptr, i32 } [ %.pn72, %ehcleanup205 ], [ %2049, %lpad197 ] %2052 = load ptr, ptr %ref.tmp192, align 8 - %cmp.not.i.i4542 = icmp eq ptr %2052, null - br i1 %cmp.not.i.i4542, label %_ZN7testing7MessageD2Ev.exit4546, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4543 + %cmp.not.i.i4547 = icmp eq ptr %2052, null + br i1 %cmp.not.i.i4547, label %_ZN7testing7MessageD2Ev.exit4551, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4548 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4543: ; preds = %ehcleanup206 - %vtable.i.i.i4544 = load ptr, ptr %2052, align 8 - %vfn.i.i.i4545 = getelementptr inbounds ptr, ptr %vtable.i.i.i4544, i64 1 - %2053 = load ptr, ptr %vfn.i.i.i4545, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4548: ; preds = %ehcleanup206 + %vtable.i.i.i4549 = load ptr, ptr %2052, align 8 + %vfn.i.i.i4550 = getelementptr inbounds ptr, ptr %vtable.i.i.i4549, i64 1 + %2053 = load ptr, ptr %vfn.i.i.i4550, align 8 call void %2053(ptr noundef nonnull align 8 dereferenceable(128) %2052) #30 - br label %_ZN7testing7MessageD2Ev.exit4546 + br label %_ZN7testing7MessageD2Ev.exit4551 -_ZN7testing7MessageD2Ev.exit4546: ; preds = %ehcleanup206, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4543 +_ZN7testing7MessageD2Ev.exit4551: ; preds = %ehcleanup206, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4548 store ptr null, ptr %ref.tmp192, align 8 br label %ehcleanup208 -if.end207: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit4541 - %message_.i4547 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_184, i64 0, i32 1 - %2054 = load ptr, ptr %message_.i4547, align 8 - %cmp.not.i.i4548 = icmp eq ptr %2054, null - br i1 %cmp.not.i.i4548, label %_ZN7testing15AssertionResultD2Ev.exit4550, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4549 +if.end207: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit4546 + %message_.i4552 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_184, i64 0, i32 1 + %2054 = load ptr, ptr %message_.i4552, align 8 + %cmp.not.i.i4553 = icmp eq ptr %2054, null + br i1 %cmp.not.i.i4553, label %_ZN7testing15AssertionResultD2Ev.exit4555, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4554 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4549: ; preds = %if.end207 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4554: ; preds = %if.end207 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %2054) #30 call void @_ZdlPv(ptr noundef nonnull %2054) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit4550 + br label %_ZN7testing15AssertionResultD2Ev.exit4555 -_ZN7testing15AssertionResultD2Ev.exit4550: ; preds = %if.end207, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4549 - store ptr null, ptr %message_.i4547, align 8 +_ZN7testing15AssertionResultD2Ev.exit4555: ; preds = %if.end207, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4554 + store ptr null, ptr %message_.i4552, align 8 %2055 = getelementptr inbounds i8, ptr %ref.tmp210, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp210, i8 0, i64 16, i1 false) store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENKO3Foo2h4Ev to i64), ptr %2055, align 8, !alias.scope !1603 - %this.repack3.i.i.i.i.i4552 = getelementptr inbounds i8, ptr %ref.tmp210, i64 24 - store i64 0, ptr %this.repack3.i.i.i.i.i4552, align 8, !alias.scope !1603 + %this.repack3.i.i.i.i.i4557 = getelementptr inbounds i8, ptr %ref.tmp210, i64 24 + store i64 0, ptr %this.repack3.i.i.i.i.i4557, align 8, !alias.scope !1603 %2056 = getelementptr inbounds i8, ptr %ref.tmp210, i64 32 store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvENKO3Foo2g4Ev to i64), ptr %2056, align 8, !alias.scope !1603 - %this.repack3.i.i.i.i4553 = getelementptr inbounds i8, ptr %ref.tmp210, i64 40 - store i64 0, ptr %this.repack3.i.i.i.i4553, align 8, !alias.scope !1603 - %call5.i.i.i.i5.i6.i.i.i4605 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1606 - store ptr %2056, ptr %call5.i.i.i.i5.i6.i.i.i4605, align 8, !noalias !1606 - %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4606 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4605, i64 8 - store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4606, align 8, !noalias !1606 - %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4607 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4605, i64 16 - store ptr %2055, ptr %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4607, align 8, !noalias !1606 - %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4608 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4605, i64 24 - store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4608, align 8, !noalias !1606 - %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4609 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4605, i64 32 - store ptr %ref.tmp210, ptr %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4609, align 8, !noalias !1606 - %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4610 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4605, i64 40 - store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4610, align 8, !noalias !1606 - call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i4579), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i4580), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i4581), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i4582), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i4583), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i4584), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i4585), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i4586), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i4587), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i4588), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i4589), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i4590), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i4591), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i4592), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i4593), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i4594), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i4595), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i4596), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i4597), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i4598), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i4599), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i4600), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i4601), !noalias !1613 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i4602), !noalias !1613 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i4579, i8 0, i64 24, i1 false), !noalias !1614 - %2057 = getelementptr inbounds i8, ptr %classes.i.i4579, i64 8 - %_M_end_of_storage.i.i.i4611 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1006", ptr %classes.i.i4579, i64 0, i32 2 - %moved_from_.i.i.i4612 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i4581, i64 0, i32 2 - %_M_engaged.i.i.i.i.i.i.i.i4613 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i4580, i64 0, i32 1 - %error_.i.i.i4614 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i4581, i64 0, i32 1 - %_M_refcount.i.i.i.i.i4615 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i4581, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i119.i.i4616 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i4581, i64 0, i32 1 - br label %for.body.i.i4617 - -for.cond.i.i4736: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4690 - %__begin0.sroa.0.045.i.add.i4737 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i4619, 16 - %cmp.i.not.i.i4738 = icmp eq i64 %__begin0.sroa.0.045.i.add.i4737, 48 - br i1 %cmp.i.not.i.i4738, label %for.end45.i.i4739, label %for.body.i.i4617 - -for.body.i.i4617: ; preds = %for.cond.i.i4736, %_ZN7testing15AssertionResultD2Ev.exit4550 - %i.046.i.i4618 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit4550 ], [ %inc.i.i4654, %for.cond.i.i4736 ] - %__begin0.sroa.0.045.i.idx.i4619 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit4550 ], [ %__begin0.sroa.0.045.i.add.i4737, %for.cond.i.i4736 ] - %__begin0.sroa.0.045.i.ptr.i4620 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4605, i64 %__begin0.sroa.0.045.i.idx.i4619 - %classes.val.i.i4621 = load ptr, ptr %classes.i.i4579, align 8, !noalias !1614 - %classes.val54.i.i4622 = load ptr, ptr %2057, align 8, !noalias !1614 - %cmp.i103.not42.i.i4623 = icmp eq ptr %classes.val.i.i4621, %classes.val54.i.i4622 - br i1 %cmp.i103.not42.i.i4623, label %if.then19.i.i4641, label %invoke.cont.lr.ph.i.i4624 - -invoke.cont.lr.ph.i.i4624: ; preds = %for.body.i.i4617 - %call4.val.i.i4625 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i4620, align 8, !noalias !1617 - %call4.val.val.i.i4626 = load i64, ptr %call4.val.i.i4625, align 8 - %2058 = getelementptr i8, ptr %call4.val.i.i4625, i64 8 - %call4.val.val60.i.i4627 = load i64, ptr %2058, align 8 - %cmp.ptr.null.i.i.i.i.i.i.i.i.i4628 = icmp eq i64 %call4.val.val.i.i4626, 0 - br label %invoke.cont.i.i4629 - -invoke.cont.i.i4629: ; preds = %for.inc.i.i4638, %invoke.cont.lr.ph.i.i4624 - %__begin05.sroa.0.043.i.i4630 = phi ptr [ %classes.val.i.i4621, %invoke.cont.lr.ph.i.i4624 ], [ %incdec.ptr.i.i.i4639, %for.inc.i.i4638 ] - %call14.val.i.i4631 = load ptr, ptr %__begin05.sroa.0.043.i.i4630, align 8 - %2059 = load ptr, ptr %call14.val.i.i4631, align 8 - %.val.i.i4632 = load ptr, ptr %2059, align 8 - %.val.val.i.i4633 = load i64, ptr %.val.i.i4632, align 8 - %2060 = getelementptr i8, ptr %.val.i.i4632, i64 8 - %.val.val61.i.i4634 = load i64, ptr %2060, align 8 - %cmp.ptr.i.i.i.i.i.i.i.i.i4635 = icmp eq i64 %call4.val.val.i.i4626, %.val.val.i.i4633 - %cmp.adj.i.i.i.i.i.i.i.i.i4636 = icmp eq i64 %call4.val.val60.i.i4627, %.val.val61.i.i4634 - %2061 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i4628, %cmp.adj.i.i.i.i.i.i.i.i.i4636 - %memptr.eq.i.i.i.i.i.i.i.i.i4637 = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i4635, %2061 - br i1 %memptr.eq.i.i.i.i.i.i.i.i.i4637, label %if.end23.i.i4645, label %for.inc.i.i4638 - -lpad.loopexit11.i.i4766: ; preds = %for.body66.i.i4760 - %lpad.loopexit12.i.i4767 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i4660 - -lpad.loopexit.split-lp.loopexit.i.i4658: ; preds = %invoke.cont26.i.i4653, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i - %lpad.loopexit15.i.i4659 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i4660 - -lpad.loopexit.split-lp.loopexit.split-lp.i.i5506: ; preds = %for.end255.i.i5505, %if.then48.i.i5603, %if.then.i.i.i.i.invoke.i.i5677 - %lpad.loopexit.split-lp16.i.i5507 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup258.i.i4660 - -for.inc.i.i4638: ; preds = %invoke.cont.i.i4629 - %incdec.ptr.i.i.i4639 = getelementptr inbounds %"class.std::vector.1028", ptr %__begin05.sroa.0.043.i.i4630, i64 1 - %cmp.i103.not.i.i4640 = icmp eq ptr %incdec.ptr.i.i.i4639, %classes.val54.i.i4622 - br i1 %cmp.i103.not.i.i4640, label %if.then19.i.i4641, label %invoke.cont.i.i4629 - -if.then19.i.i4641: ; preds = %for.inc.i.i4638, %for.body.i.i4617 - %2062 = load ptr, ptr %_M_end_of_storage.i.i.i4611, align 8, !noalias !1614 - %cmp.not.i.i.i4642 = icmp eq ptr %classes.val54.i.i4622, %2062 - br i1 %cmp.not.i.i.i4642, label %if.else.i.i.i5679, label %if.then.i.i.i4643 - -if.then.i.i.i4643: ; preds = %if.then19.i.i4641 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i4622, i8 0, i64 24, i1 false) - %incdec.ptr.i104.i.i4644 = getelementptr inbounds %"class.std::vector.1028", ptr %classes.val54.i.i4622, i64 1 - store ptr %incdec.ptr.i104.i.i4644, ptr %2057, align 8, !noalias !1614 - br label %if.end23.i.i4645 - -if.else.i.i.i5679: ; preds = %if.then19.i.i4641 - %sub.ptr.lhs.cast.i.i.i.i.i.i5680 = ptrtoint ptr %classes.val54.i.i4622 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i5681 = ptrtoint ptr %classes.val.i.i4621 to i64 - %sub.ptr.sub.i.i.i.i.i.i5682 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i5680, %sub.ptr.rhs.cast.i.i.i.i.i.i5681 - %cmp.i.i.i.i.i5683 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i5682, 9223372036854775800 - br i1 %cmp.i.i.i.i.i5683, label %if.then.i.i.i.i.invoke.i.i5677, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - -_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i5679 - %sub.ptr.div.i.i.i.i.i.i5684 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i5682, 24 - %.sroa.speculated.i.i.i.i.i5685 = select i1 %cmp.i103.not42.i.i4623, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i5684 - %add.i.i.i.i.i5686 = add nsw i64 %.sroa.speculated.i.i.i.i.i5685, %sub.ptr.div.i.i.i.i.i.i5684 - %cmp7.i.i.i.i.i5687 = icmp ult i64 %add.i.i.i.i.i5686, %sub.ptr.div.i.i.i.i.i.i5684 - %cmp9.i.i.i.i.i5688 = icmp ugt i64 %add.i.i.i.i.i5686, 384307168202282325 - %or.cond.i.i.i.i.i5689 = or i1 %cmp7.i.i.i.i.i5687, %cmp9.i.i.i.i.i5688 - %cond.i.i.i.i.i5690 = select i1 %or.cond.i.i.i.i.i5689, i64 384307168202282325, i64 %add.i.i.i.i.i5686 - %cmp.not.i.i.i.i.i5691 = icmp eq i64 %cond.i.i.i.i.i5690, 0 - br i1 %cmp.not.i.i.i.i.i5691, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %this.repack3.i.i.i.i4558 = getelementptr inbounds i8, ptr %ref.tmp210, i64 40 + store i64 0, ptr %this.repack3.i.i.i.i4558, align 8, !alias.scope !1603 + %call5.i.i.i.i5.i6.i.i.i4610 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1606 + store ptr %2056, ptr %call5.i.i.i.i5.i6.i.i.i4610, align 8, !noalias !1606 + %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4611 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4610, i64 8 + store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4611, align 8, !noalias !1606 + %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4612 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4610, i64 16 + store ptr %2055, ptr %ref.tmp.sroa.37.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4612, align 8, !noalias !1606 + %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4613 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4610, i64 24 + store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4613, align 8, !noalias !1606 + %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4614 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4610, i64 32 + store ptr %ref.tmp210, ptr %ref.tmp.sroa.58.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4614, align 8, !noalias !1606 + %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4615 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4610, i64 40 + store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i6.sroa_idx.i.i.i4615, align 8, !noalias !1606 + call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %classes.i.i4584), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %error.i.i4585), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp27.i.i4586), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp34.i.i4587), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp49.i.i4588), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %expected.i.i4589), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp82.i.i4590), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp85.i.i4591), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp94.i.i4592), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp99.i.i4593), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %ref.tmp110.i.i4594), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp117.i.i4595), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp122.i.i4596), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp130.i.i4597), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %c2_hash.i.i4598), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp164.i.i4599), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp169.i.i4600), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp177.i.i4601), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp190.i.i4602), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp195.i.i4603), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp203.i.i4604), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp216.i.i4605), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp221.i.i4606), !noalias !1613 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp229.i.i4607), !noalias !1613 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i4584, i8 0, i64 24, i1 false), !noalias !1614 + %2057 = getelementptr inbounds i8, ptr %classes.i.i4584, i64 8 + %_M_end_of_storage.i.i.i4616 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data.1006", ptr %classes.i.i4584, i64 0, i32 2 + %moved_from_.i.i.i4617 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i4586, i64 0, i32 2 + %_M_engaged.i.i.i.i.i.i.i.i4618 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %error.i.i4585, i64 0, i32 1 + %error_.i.i.i4619 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i4586, i64 0, i32 1 + %_M_refcount.i.i.i.i.i4620 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp27.i.i4586, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i119.i.i4621 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp27.i.i4586, i64 0, i32 1 + br label %for.body.i.i4622 + +for.cond.i.i4741: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4695 + %__begin0.sroa.0.045.i.add.i4742 = add nuw nsw i64 %__begin0.sroa.0.045.i.idx.i4624, 16 + %cmp.i.not.i.i4743 = icmp eq i64 %__begin0.sroa.0.045.i.add.i4742, 48 + br i1 %cmp.i.not.i.i4743, label %for.end45.i.i4744, label %for.body.i.i4622 + +for.body.i.i4622: ; preds = %for.cond.i.i4741, %_ZN7testing15AssertionResultD2Ev.exit4555 + %i.046.i.i4623 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit4555 ], [ %inc.i.i4659, %for.cond.i.i4741 ] + %__begin0.sroa.0.045.i.idx.i4624 = phi i64 [ 0, %_ZN7testing15AssertionResultD2Ev.exit4555 ], [ %__begin0.sroa.0.045.i.add.i4742, %for.cond.i.i4741 ] + %__begin0.sroa.0.045.i.ptr.i4625 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i6.i.i.i4610, i64 %__begin0.sroa.0.045.i.idx.i4624 + %classes.val.i.i4626 = load ptr, ptr %classes.i.i4584, align 8, !noalias !1614 + %classes.val54.i.i4627 = load ptr, ptr %2057, align 8, !noalias !1614 + %cmp.i103.not42.i.i4628 = icmp eq ptr %classes.val.i.i4626, %classes.val54.i.i4627 + br i1 %cmp.i103.not42.i.i4628, label %if.then19.i.i4646, label %invoke.cont.lr.ph.i.i4629 + +invoke.cont.lr.ph.i.i4629: ; preds = %for.body.i.i4622 + %call4.val.i.i4630 = load ptr, ptr %__begin0.sroa.0.045.i.ptr.i4625, align 8, !noalias !1617 + %call4.val.val.i.i4631 = load i64, ptr %call4.val.i.i4630, align 8 + %2058 = getelementptr i8, ptr %call4.val.i.i4630, i64 8 + %call4.val.val60.i.i4632 = load i64, ptr %2058, align 8 + %cmp.ptr.null.i.i.i.i.i.i.i.i.i4633 = icmp eq i64 %call4.val.val.i.i4631, 0 + br label %invoke.cont.i.i4634 + +invoke.cont.i.i4634: ; preds = %for.inc.i.i4643, %invoke.cont.lr.ph.i.i4629 + %__begin05.sroa.0.043.i.i4635 = phi ptr [ %classes.val.i.i4626, %invoke.cont.lr.ph.i.i4629 ], [ %incdec.ptr.i.i.i4644, %for.inc.i.i4643 ] + %call14.val.i.i4636 = load ptr, ptr %__begin05.sroa.0.043.i.i4635, align 8 + %2059 = load ptr, ptr %call14.val.i.i4636, align 8 + %.val.i.i4637 = load ptr, ptr %2059, align 8 + %.val.val.i.i4638 = load i64, ptr %.val.i.i4637, align 8 + %2060 = getelementptr i8, ptr %.val.i.i4637, i64 8 + %.val.val61.i.i4639 = load i64, ptr %2060, align 8 + %cmp.ptr.i.i.i.i.i.i.i.i.i4640 = icmp eq i64 %call4.val.val.i.i4631, %.val.val.i.i4638 + %cmp.adj.i.i.i.i.i.i.i.i.i4641 = icmp eq i64 %call4.val.val60.i.i4632, %.val.val61.i.i4639 + %2061 = or i1 %cmp.ptr.null.i.i.i.i.i.i.i.i.i4633, %cmp.adj.i.i.i.i.i.i.i.i.i4641 + %memptr.eq.i.i.i.i.i.i.i.i.i4642 = and i1 %cmp.ptr.i.i.i.i.i.i.i.i.i4640, %2061 + br i1 %memptr.eq.i.i.i.i.i.i.i.i.i4642, label %if.end23.i.i4650, label %for.inc.i.i4643 + +lpad.loopexit11.i.i4771: ; preds = %for.body66.i.i4765 + %lpad.loopexit12.i.i4772 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i4665 + +lpad.loopexit.split-lp.loopexit.i.i4663: ; preds = %invoke.cont26.i.i4658, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i + %lpad.loopexit15.i.i4664 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i4665 + +lpad.loopexit.split-lp.loopexit.split-lp.i.i5511: ; preds = %for.end255.i.i5510, %if.then48.i.i5608, %if.then.i.i.i.i.invoke.i.i5683 + %lpad.loopexit.split-lp16.i.i5512 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup258.i.i4665 + +for.inc.i.i4643: ; preds = %invoke.cont.i.i4634 + %incdec.ptr.i.i.i4644 = getelementptr inbounds %"class.std::vector.1028", ptr %__begin05.sroa.0.043.i.i4635, i64 1 + %cmp.i103.not.i.i4645 = icmp eq ptr %incdec.ptr.i.i.i4644, %classes.val54.i.i4627 + br i1 %cmp.i103.not.i.i4645, label %if.then19.i.i4646, label %invoke.cont.i.i4634 + +if.then19.i.i4646: ; preds = %for.inc.i.i4643, %for.body.i.i4622 + %2062 = load ptr, ptr %_M_end_of_storage.i.i.i4616, align 8, !noalias !1614 + %cmp.not.i.i.i4647 = icmp eq ptr %classes.val54.i.i4627, %2062 + br i1 %cmp.not.i.i.i4647, label %if.else.i.i.i5685, label %if.then.i.i.i4648 + +if.then.i.i.i4648: ; preds = %if.then19.i.i4646 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %classes.val54.i.i4627, i8 0, i64 24, i1 false) + %incdec.ptr.i104.i.i4649 = getelementptr inbounds %"class.std::vector.1028", ptr %classes.val54.i.i4627, i64 1 + store ptr %incdec.ptr.i104.i.i4649, ptr %2057, align 8, !noalias !1614 + br label %if.end23.i.i4650 + +if.else.i.i.i5685: ; preds = %if.then19.i.i4646 + %sub.ptr.lhs.cast.i.i.i.i.i.i5686 = ptrtoint ptr %classes.val54.i.i4627 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i5687 = ptrtoint ptr %classes.val.i.i4626 to i64 + %sub.ptr.sub.i.i.i.i.i.i5688 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i5686, %sub.ptr.rhs.cast.i.i.i.i.i.i5687 + %cmp.i.i.i.i.i5689 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i5688, 9223372036854775800 + br i1 %cmp.i.i.i.i.i5689, label %if.then.i.i.i.i.invoke.i.i5683, label %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i + +_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i5685 + %sub.ptr.div.i.i.i.i.i.i5690 = sdiv exact i64 %sub.ptr.sub.i.i.i.i.i.i5688, 24 + %.sroa.speculated.i.i.i.i.i5691 = select i1 %cmp.i103.not42.i.i4628, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i5690 + %add.i.i.i.i.i5692 = add nsw i64 %.sroa.speculated.i.i.i.i.i5691, %sub.ptr.div.i.i.i.i.i.i5690 + %cmp7.i.i.i.i.i5693 = icmp ult i64 %add.i.i.i.i.i5692, %sub.ptr.div.i.i.i.i.i.i5690 + %cmp9.i.i.i.i.i5694 = icmp ugt i64 %add.i.i.i.i.i5692, 384307168202282325 + %or.cond.i.i.i.i.i5695 = or i1 %cmp7.i.i.i.i.i5693, %cmp9.i.i.i.i.i5694 + %cond.i.i.i.i.i5696 = select i1 %or.cond.i.i.i.i.i5695, i64 384307168202282325, i64 %add.i.i.i.i.i5692 + %cmp.not.i.i.i.i.i5697 = icmp eq i64 %cond.i.i.i.i.i5696, 0 + br i1 %cmp.not.i.i.i.i.i5697, label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, label %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i _ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %mul.i.i.i.i.i.i.i5692 = mul nuw nsw i64 %cond.i.i.i.i.i5690, 24 - %call5.i.i.i.i.i105.i.i5693 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i5692) #34 - to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i4658 + %mul.i.i.i.i.i.i.i5698 = mul nuw nsw i64 %cond.i.i.i.i.i5696, 24 + %call5.i.i.i.i.i105.i.i5699 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i5698) #34 + to label %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i4663 _ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i - %cond.i12.i.i.i.i5694 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i5693, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] - %add.ptr.i.i.i.i5695 = getelementptr inbounds %"class.std::vector.1028", ptr %cond.i12.i.i.i.i5694, i64 %sub.ptr.div.i.i.i.i.i.i5684 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i5695, i8 0, i64 24, i1 false) - br i1 %cmp.i103.not42.i.i4623, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i5696 - -for.body.i.i.i.i.i.i.i5696: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i5696 - %__cur.03.i.i.i.i.i.i.i5697 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i5704, %for.body.i.i.i.i.i.i.i5696 ], [ %cond.i12.i.i.i.i5694, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] - %__first.addr.02.i.i.i.i.i.i.i5698 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i5703, %for.body.i.i.i.i.i.i.i5696 ], [ %classes.val.i.i4621, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %cond.i12.i.i.i.i5700 = phi ptr [ null, %_ZNKSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i105.i.i5699, %_ZNSt16allocator_traitsISaISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEE8allocateERSP_m.exit.i.i.i.i.i ] + %add.ptr.i.i.i.i5701 = getelementptr inbounds %"class.std::vector.1028", ptr %cond.i12.i.i.i.i5700, i64 %sub.ptr.div.i.i.i.i.i.i5690 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %add.ptr.i.i.i.i5701, i8 0, i64 24, i1 false) + br i1 %cmp.i103.not42.i.i4628, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i5702 + +for.body.i.i.i.i.i.i.i5702: ; preds = %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i, %for.body.i.i.i.i.i.i.i5702 + %__cur.03.i.i.i.i.i.i.i5703 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i5710, %for.body.i.i.i.i.i.i.i5702 ], [ %cond.i12.i.i.i.i5700, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] + %__first.addr.02.i.i.i.i.i.i.i5704 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i5709, %for.body.i.i.i.i.i.i.i5702 ], [ %classes.val.i.i4626, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ] call void @llvm.experimental.noalias.scope.decl(metadata !1618) call void @llvm.experimental.noalias.scope.decl(metadata !1621) - %2063 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i5698, align 8, !alias.scope !1621, !noalias !1618 - store <2 x ptr> %2063, ptr %__cur.03.i.i.i.i.i.i.i5697, align 8, !alias.scope !1618, !noalias !1621 - %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i5701 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1034", ptr %__cur.03.i.i.i.i.i.i.i5697, i64 0, i32 2 - %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i5702 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1034", ptr %__first.addr.02.i.i.i.i.i.i.i5698, i64 0, i32 2 - %2064 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i5702, align 8, !alias.scope !1621, !noalias !1618 - store ptr %2064, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i5701, align 8, !alias.scope !1618, !noalias !1621 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i5698, i8 0, i64 24, i1 false), !alias.scope !1621, !noalias !1618 - %incdec.ptr.i.i.i.i.i.i.i5703 = getelementptr inbounds %"class.std::vector.1028", ptr %__first.addr.02.i.i.i.i.i.i.i5698, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i5704 = getelementptr inbounds %"class.std::vector.1028", ptr %__cur.03.i.i.i.i.i.i.i5697, i64 1 - %cmp.not.i.i.i.i.i.i.i5705 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i5703, %classes.val54.i.i4622 - br i1 %cmp.not.i.i.i.i.i.i.i5705, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i5696, !llvm.loop !1623 - -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i5696, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i - %__cur.0.lcssa.i.i.i.i.i.i.i5706 = phi ptr [ %cond.i12.i.i.i.i5694, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i5704, %for.body.i.i.i.i.i.i.i5696 ] - %incdec.ptr.i.i.i.i5707 = getelementptr inbounds %"class.std::vector.1028", ptr %__cur.0.lcssa.i.i.i.i.i.i.i5706, i64 1 - %tobool.not.i.i.i.i.i5708 = icmp eq ptr %classes.val.i.i4621, null - br i1 %tobool.not.i.i.i.i.i5708, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i5709 - -if.then.i26.i.i.i.i5709: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i4621) #33 + %2063 = load <2 x ptr>, ptr %__first.addr.02.i.i.i.i.i.i.i5704, align 8, !alias.scope !1621, !noalias !1618 + store <2 x ptr> %2063, ptr %__cur.03.i.i.i.i.i.i.i5703, align 8, !alias.scope !1618, !noalias !1621 + %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i5707 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1034", ptr %__cur.03.i.i.i.i.i.i.i5703, i64 0, i32 2 + %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i5708 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1034", ptr %__first.addr.02.i.i.i.i.i.i.i5704, i64 0, i32 2 + %2064 = load ptr, ptr %_M_end_of_storage4.i.i.i.i.i.i.i.i.i.i.i.i.i.i5708, align 8, !alias.scope !1621, !noalias !1618 + store ptr %2064, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i.i.i.i.i.i5707, align 8, !alias.scope !1618, !noalias !1621 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %__first.addr.02.i.i.i.i.i.i.i5704, i8 0, i64 24, i1 false), !alias.scope !1621, !noalias !1618 + %incdec.ptr.i.i.i.i.i.i.i5709 = getelementptr inbounds %"class.std::vector.1028", ptr %__first.addr.02.i.i.i.i.i.i.i5704, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i5710 = getelementptr inbounds %"class.std::vector.1028", ptr %__cur.03.i.i.i.i.i.i.i5703, i64 1 + %cmp.not.i.i.i.i.i.i.i5711 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i5709, %classes.val54.i.i4627 + br i1 %cmp.not.i.i.i.i.i.i.i5711, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i, label %for.body.i.i.i.i.i.i.i5702, !llvm.loop !1623 + +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i5702, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i + %__cur.0.lcssa.i.i.i.i.i.i.i5712 = phi ptr [ %cond.i12.i.i.i.i5700, %_ZNSt12_Vector_baseISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EESaISO_EE11_M_allocateEm.exit.i.i.i.i ], [ %incdec.ptr1.i.i.i.i.i.i.i5710, %for.body.i.i.i.i.i.i.i5702 ] + %incdec.ptr.i.i.i.i5713 = getelementptr inbounds %"class.std::vector.1028", ptr %__cur.0.lcssa.i.i.i.i.i.i.i5712, i64 1 + %tobool.not.i.i.i.i.i5714 = icmp eq ptr %classes.val.i.i4626, null + br i1 %tobool.not.i.i.i.i.i5714, label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, label %if.then.i26.i.i.i.i5715 + +if.then.i26.i.i.i.i5715: ; preds = %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %classes.val.i.i4626) #33 br label %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i -_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i5709, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i - store ptr %cond.i12.i.i.i.i5694, ptr %classes.i.i4579, align 8, !noalias !1614 - store ptr %incdec.ptr.i.i.i.i5707, ptr %2057, align 8, !noalias !1614 - %add.ptr19.i.i.i.i5710 = getelementptr inbounds %"class.std::vector.1028", ptr %cond.i12.i.i.i.i5694, i64 %cond.i.i.i.i.i5690 - store ptr %add.ptr19.i.i.i.i5710, ptr %_M_end_of_storage.i.i.i4611, align 8, !noalias !1614 - br label %if.end23.i.i4645 - -if.end23.i.i4645: ; preds = %invoke.cont.i.i4629, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i4643 - %c.1.i.i4646 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i5706, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i4622, %if.then.i.i.i4643 ], [ %__begin05.sroa.0.043.i.i4630, %invoke.cont.i.i4629 ] - %_M_finish.i.i.i.i4647 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1034", ptr %c.1.i.i4646, i64 0, i32 1 - %2065 = load ptr, ptr %_M_finish.i.i.i.i4647, align 8 - %_M_end_of_storage.i.i.i.i4648 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1034", ptr %c.1.i.i4646, i64 0, i32 2 - %2066 = load ptr, ptr %_M_end_of_storage.i.i.i.i4648, align 8 - %cmp.not.i.i.i.i4649 = icmp eq ptr %2065, %2066 - br i1 %cmp.not.i.i.i.i4649, label %if.else.i.i.i.i5651, label %if.then.i.i.i.i4650 - -if.then.i.i.i.i4650: ; preds = %if.end23.i.i4645 - store ptr %__begin0.sroa.0.045.i.ptr.i4620, ptr %2065, align 8 - %ref.tmp24.sroa.3.0..sroa_idx.i.i4651 = getelementptr inbounds i8, ptr %2065, i64 8 - store i64 %i.046.i.i4618, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i4651, align 8 - %2067 = load ptr, ptr %_M_finish.i.i.i.i4647, align 8 - %incdec.ptr.i.i107.i.i4652 = getelementptr inbounds %struct.Info.1035, ptr %2067, i64 1 - store ptr %incdec.ptr.i.i107.i.i4652, ptr %_M_finish.i.i.i.i4647, align 8 - br label %invoke.cont26.i.i4653 - -if.else.i.i.i.i5651: ; preds = %if.end23.i.i4645 - %this.val.i.i.i.i.i5652 = load ptr, ptr %c.1.i.i4646, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i5653 = ptrtoint ptr %2065 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i5654 = ptrtoint ptr %this.val.i.i.i.i.i5652 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i5655 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i5653, %sub.ptr.rhs.cast.i.i.i.i.i.i.i5654 - %cmp.i.i.i.i108.i.i5656 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i5655, 9223372036854775792 - br i1 %cmp.i.i.i.i108.i.i5656, label %if.then.i.i.i.i.invoke.i.i5677, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - -if.then.i.i.i.i.invoke.i.i5677: ; preds = %if.else.i.i.i.i5651, %if.else.i.i.i5679 +_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i: ; preds = %if.then.i26.i.i.i.i5715, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit25.i.i.i.i + store ptr %cond.i12.i.i.i.i5700, ptr %classes.i.i4584, align 8, !noalias !1614 + store ptr %incdec.ptr.i.i.i.i5713, ptr %2057, align 8, !noalias !1614 + %add.ptr19.i.i.i.i5716 = getelementptr inbounds %"class.std::vector.1028", ptr %cond.i12.i.i.i.i5700, i64 %cond.i.i.i.i.i5696 + store ptr %add.ptr19.i.i.i.i5716, ptr %_M_end_of_storage.i.i.i4616, align 8, !noalias !1614 + br label %if.end23.i.i4650 + +if.end23.i.i4650: ; preds = %invoke.cont.i.i4634, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i, %if.then.i.i.i4648 + %c.1.i.i4651 = phi ptr [ %__cur.0.lcssa.i.i.i.i.i.i.i5712, %_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EE17_M_realloc_insertIJEEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i.i ], [ %classes.val54.i.i4627, %if.then.i.i.i4648 ], [ %__begin05.sroa.0.043.i.i4635, %invoke.cont.i.i4634 ] + %_M_finish.i.i.i.i4652 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1034", ptr %c.1.i.i4651, i64 0, i32 1 + %2065 = load ptr, ptr %_M_finish.i.i.i.i4652, align 8 + %_M_end_of_storage.i.i.i.i4653 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data.1034", ptr %c.1.i.i4651, i64 0, i32 2 + %2066 = load ptr, ptr %_M_end_of_storage.i.i.i.i4653, align 8 + %cmp.not.i.i.i.i4654 = icmp eq ptr %2065, %2066 + br i1 %cmp.not.i.i.i.i4654, label %if.else.i.i.i.i5656, label %if.then.i.i.i.i4655 + +if.then.i.i.i.i4655: ; preds = %if.end23.i.i4650 + store ptr %__begin0.sroa.0.045.i.ptr.i4625, ptr %2065, align 8 + %ref.tmp24.sroa.3.0..sroa_idx.i.i4656 = getelementptr inbounds i8, ptr %2065, i64 8 + store i64 %i.046.i.i4623, ptr %ref.tmp24.sroa.3.0..sroa_idx.i.i4656, align 8 + %2067 = load ptr, ptr %_M_finish.i.i.i.i4652, align 8 + %incdec.ptr.i.i107.i.i4657 = getelementptr inbounds %struct.Info.1035, ptr %2067, i64 1 + store ptr %incdec.ptr.i.i107.i.i4657, ptr %_M_finish.i.i.i.i4652, align 8 + br label %invoke.cont26.i.i4658 + +if.else.i.i.i.i5656: ; preds = %if.end23.i.i4650 + %this.val.i.i.i.i.i5657 = load ptr, ptr %c.1.i.i4651, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i5658 = ptrtoint ptr %2065 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i5659 = ptrtoint ptr %this.val.i.i.i.i.i5657 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i5660 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i5658, %sub.ptr.rhs.cast.i.i.i.i.i.i.i5659 + %cmp.i.i.i.i108.i.i5661 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i.i5660, 9223372036854775792 + br i1 %cmp.i.i.i.i108.i.i5661, label %if.then.i.i.i.i.invoke.i.i5683, label %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i + +if.then.i.i.i.i.invoke.i.i5683: ; preds = %if.else.i.i.i.i5656, %if.else.i.i.i5685 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.117) #32 - to label %if.then.i.i.i.i.cont.i.i5678 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i5506 + to label %if.then.i.i.i.i.cont.i.i5684 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i5511 -if.then.i.i.i.i.cont.i.i5678: ; preds = %if.then.i.i.i.i.invoke.i.i5677 +if.then.i.i.i.i.cont.i.i5684: ; preds = %if.then.i.i.i.i.invoke.i.i5683 unreachable -_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i5651 - %sub.ptr.div.i.i.i.i.i.i.i5657 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i5655, 4 - %cmp.i.i.i.i.i.i.i5658 = icmp eq ptr %2065, %this.val.i.i.i.i.i5652 - %.sroa.speculated.i.i.i.i.i.i5659 = select i1 %cmp.i.i.i.i.i.i.i5658, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i5657 - %add.i.i.i.i.i.i5660 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i5659, %sub.ptr.div.i.i.i.i.i.i.i5657 - %cmp7.i.i.i.i.i.i5661 = icmp ult i64 %add.i.i.i.i.i.i5660, %sub.ptr.div.i.i.i.i.i.i.i5657 - %cmp9.i.i.i.i.i.i5662 = icmp ugt i64 %add.i.i.i.i.i.i5660, 576460752303423487 - %or.cond.i.i.i.i.i.i5663 = or i1 %cmp7.i.i.i.i.i.i5661, %cmp9.i.i.i.i.i.i5662 - %cond.i.i.i.i.i.i5664 = select i1 %or.cond.i.i.i.i.i.i5663, i64 576460752303423487, i64 %add.i.i.i.i.i.i5660 - %cmp.not.i.i.i.i.i.i5665 = icmp eq i64 %cond.i.i.i.i.i.i5664, 0 - br i1 %cmp.not.i.i.i.i.i.i5665, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i +_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i: ; preds = %if.else.i.i.i.i5656 + %sub.ptr.div.i.i.i.i.i.i.i5662 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i5660, 4 + %cmp.i.i.i.i.i.i.i5663 = icmp eq ptr %2065, %this.val.i.i.i.i.i5657 + %.sroa.speculated.i.i.i.i.i.i5664 = select i1 %cmp.i.i.i.i.i.i.i5663, i64 1, i64 %sub.ptr.div.i.i.i.i.i.i.i5662 + %add.i.i.i.i.i.i5665 = add nsw i64 %.sroa.speculated.i.i.i.i.i.i5664, %sub.ptr.div.i.i.i.i.i.i.i5662 + %cmp7.i.i.i.i.i.i5666 = icmp ult i64 %add.i.i.i.i.i.i5665, %sub.ptr.div.i.i.i.i.i.i.i5662 + %cmp9.i.i.i.i.i.i5667 = icmp ugt i64 %add.i.i.i.i.i.i5665, 576460752303423487 + %or.cond.i.i.i.i.i.i5668 = or i1 %cmp7.i.i.i.i.i.i5666, %cmp9.i.i.i.i.i.i5667 + %cond.i.i.i.i.i.i5669 = select i1 %or.cond.i.i.i.i.i.i5668, i64 576460752303423487, i64 %add.i.i.i.i.i.i5665 + %cmp.not.i.i.i.i.i.i5670 = icmp eq i64 %cond.i.i.i.i.i.i5669, 0 + br i1 %cmp.not.i.i.i.i.i.i5670, label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i _ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i: ; preds = %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %mul.i.i.i.i.i.i.i.i5666 = shl nuw nsw i64 %cond.i.i.i.i.i.i5664, 4 - %call5.i.i.i.i.i.i110.i.i5667 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i5666) #34 - to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i4658 + %mul.i.i.i.i.i.i.i.i5671 = shl nuw nsw i64 %cond.i.i.i.i.i.i5669, 4 + %call5.i.i.i.i.i.i110.i.i5672 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i.i5671) #34 + to label %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i unwind label %lpad.loopexit.split-lp.loopexit.i.i4663 _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i - %cond.i12.i.i.i.i.i5668 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i5667, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] - %add.ptr.i.i.i.i.i5669 = getelementptr inbounds %struct.Info.1035, ptr %cond.i12.i.i.i.i.i5668, i64 %sub.ptr.div.i.i.i.i.i.i.i5657 - store ptr %__begin0.sroa.0.045.i.ptr.i4620, ptr %add.ptr.i.i.i.i.i5669, align 8 - %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i5670 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i5669, i64 8 - store i64 %i.046.i.i4618, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i5670, align 8 - %cmp.i.i.i13.i.i.i.i.i5671 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i5657, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i5671, label %if.then.i.i.i14.i.i.i.i.i5676, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -if.then.i.i.i14.i.i.i.i.i5676: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i5668, ptr align 8 %this.val.i.i.i.i.i5652, i64 %sub.ptr.sub.i.i.i.i.i.i.i5655, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i5676, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i5672 = getelementptr inbounds %struct.Info.1035, ptr %add.ptr.i.i.i.i.i5669, i64 1 - %tobool.not.i.i.i.i.i.i5673 = icmp eq ptr %this.val.i.i.i.i.i5652, null - br i1 %tobool.not.i.i.i.i.i.i5673, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i5674 - -if.then.i23.i.i.i.i.i5674: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i5652) #33 + %cond.i12.i.i.i.i.i5673 = phi ptr [ null, %_ZNKSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE12_M_check_lenEmPKc.exit.i.i.i.i.i ], [ %call5.i.i.i.i.i.i110.i.i5672, %_ZNSt16allocator_traitsISaIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoEE8allocateERSN_m.exit.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i5674 = getelementptr inbounds %struct.Info.1035, ptr %cond.i12.i.i.i.i.i5673, i64 %sub.ptr.div.i.i.i.i.i.i.i5662 + store ptr %__begin0.sroa.0.045.i.ptr.i4625, ptr %add.ptr.i.i.i.i.i5674, align 8 + %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i5675 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i5674, i64 8 + store i64 %i.046.i.i4623, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i5675, align 8 + %cmp.i.i.i13.i.i.i.i.i5676 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i5660, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i5676, label %if.then.i.i.i14.i.i.i.i.i5682, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +if.then.i.i.i14.i.i.i.i.i5682: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i5673, ptr align 8 %this.val.i.i.i.i.i5657, i64 %sub.ptr.sub.i.i.i.i.i.i.i5660, i1 false) + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i5682, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i5677 = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i5673, i64 %sub.ptr.sub.i.i.i.i.i.i.i5660 + %incdec.ptr.i.i.i.i.i5678 = getelementptr inbounds %struct.Info.1035, ptr %add.ptr.i.i.i.i.i.i.i.i5677, i64 1 + %tobool.not.i.i.i.i.i.i5679 = icmp eq ptr %this.val.i.i.i.i.i5657, null + br i1 %tobool.not.i.i.i.i.i.i5679, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i5680 + +if.then.i22.i.i.i.i.i5680: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i5657) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i5674, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i.i.i - store ptr %cond.i12.i.i.i.i.i5668, ptr %c.1.i.i4646, align 8 - store ptr %incdec.ptr.i.i.i.i.i5672, ptr %_M_finish.i.i.i.i4647, align 8 - %add.ptr19.i.i.i.i.i5675 = getelementptr inbounds %struct.Info.1035, ptr %cond.i12.i.i.i.i.i5668, i64 %cond.i.i.i.i.i.i5664 - store ptr %add.ptr19.i.i.i.i.i5675, ptr %_M_end_of_storage.i.i.i.i4648, align 8 - br label %invoke.cont26.i.i4653 - -invoke.cont26.i.i4653: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i4650 - %2068 = phi ptr [ %add.ptr.i.i.i.i.i5669, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %2067, %if.then.i.i.i.i4650 ] - %inc.i.i4654 = add nuw nsw i64 %i.046.i.i4618, 1 - %call28.val.i.i4655 = load ptr, ptr %2068, align 8 - %call28.val.val.i.i4656 = load ptr, ptr %call28.val.i.i4655, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i4581, ptr %call28.val.val.i.i4656) - to label %invoke.cont29.i.i4662 unwind label %lpad.loopexit.split-lp.loopexit.i.i4658 - -invoke.cont29.i.i4662: ; preds = %invoke.cont26.i.i4653 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i5680, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i.i.i + store ptr %cond.i12.i.i.i.i.i5673, ptr %c.1.i.i4651, align 8 + store ptr %incdec.ptr.i.i.i.i.i5678, ptr %_M_finish.i.i.i.i4652, align 8 + %add.ptr19.i.i.i.i.i5681 = getelementptr inbounds %struct.Info.1035, ptr %cond.i12.i.i.i.i.i5673, i64 %cond.i.i.i.i.i.i5669 + store ptr %add.ptr19.i.i.i.i.i5681, ptr %_M_end_of_storage.i.i.i.i4653, align 8 + br label %invoke.cont26.i.i4658 + +invoke.cont26.i.i4658: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i4655 + %2068 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i5677, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i.i.i ], [ %2067, %if.then.i.i.i.i4655 ] + %inc.i.i4659 = add nuw nsw i64 %i.046.i.i4623, 1 + %call28.val.i.i4660 = load ptr, ptr %2068, align 8 + %call28.val.val.i.i4661 = load ptr, ptr %call28.val.i.i4660, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp27.i.i4586, ptr %call28.val.val.i.i4661) + to label %invoke.cont29.i.i4667 unwind label %lpad.loopexit.split-lp.loopexit.i.i4663 + +invoke.cont29.i.i4667: ; preds = %invoke.cont26.i.i4658 call void @llvm.experimental.noalias.scope.decl(metadata !1624) - %2069 = load i8, ptr %moved_from_.i.i.i4612, align 8, !noalias !1627 + %2069 = load i8, ptr %moved_from_.i.i.i4617, align 8, !noalias !1627 %2070 = and i8 %2069, 1 - %tobool.not.i.i.i4663 = icmp eq i8 %2070, 0 - br i1 %tobool.not.i.i.i4663, label %if.end.i.i.i5647, label %if.then.i112.i.i4664 - -if.then.i112.i.i4664: ; preds = %invoke.cont29.i.i4662 - invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4580, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) - to label %return.sink.split.i.i.i4666 unwind label %lpad30.i.i4665 - -if.end.i.i.i5647: ; preds = %invoke.cont29.i.i4662 - %2071 = load ptr, ptr %error_.i.i.i4614, align 8, !noalias !1627 - %_M_engaged.i.i.i.i.i5648 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %2071, i64 0, i32 1 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i4613, align 8, !alias.scope !1624, !noalias !1614 - %2072 = load i8, ptr %_M_engaged.i.i.i.i.i5648, align 8, !noalias !1624 + %tobool.not.i.i.i4668 = icmp eq i8 %2070, 0 + br i1 %tobool.not.i.i.i4668, label %if.end.i.i.i5652, label %if.then.i112.i.i4669 + +if.then.i112.i.i4669: ; preds = %invoke.cont29.i.i4667 + invoke void @_ZNSt22_Optional_payload_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8_StorageIS5_Lb0EEC2IJRA57_KcEEESt10in_place_tDpOT_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4585, ptr noundef nonnull align 1 dereferenceable(57) @.str.120) + to label %return.sink.split.i.i.i4671 unwind label %lpad30.i.i4670 + +if.end.i.i.i5652: ; preds = %invoke.cont29.i.i4667 + %2071 = load ptr, ptr %error_.i.i.i4619, align 8, !noalias !1627 + %_M_engaged.i.i.i.i.i5653 = getelementptr inbounds %"struct.std::_Optional_payload_base", ptr %2071, i64 0, i32 1 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i4618, align 8, !alias.scope !1624, !noalias !1614 + %2072 = load i8, ptr %_M_engaged.i.i.i.i.i5653, align 8, !noalias !1624 %2073 = and i8 %2072, 1 - %tobool.not.i.i.i.i.i.i.i.i5649 = icmp eq i8 %2073, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i5649, label %invoke.cont31.i.i4667, label %if.then.i.i.i.i.i.i.i.i5650 - -if.then.i.i.i.i.i.i.i.i5650: ; preds = %if.end.i.i.i5647 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4580, ptr noundef nonnull align 8 dereferenceable(32) %2071) - to label %return.sink.split.i.i.i4666 unwind label %lpad30.i.i4665 - -return.sink.split.i.i.i4666: ; preds = %if.then.i.i.i.i.i.i.i.i5650, %if.then.i112.i.i4664 - store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i4613, align 8, !alias.scope !1624, !noalias !1614 - br label %invoke.cont31.i.i4667 - -invoke.cont31.i.i4667: ; preds = %return.sink.split.i.i.i4666, %if.end.i.i.i5647 - %2074 = load ptr, ptr %_M_refcount.i.i.i.i.i4615, align 8, !noalias !1614 - %cmp.not.i.i.i.i115.i.i4668 = icmp eq ptr %2074, null - br i1 %cmp.not.i.i.i.i115.i.i4668, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679, label %if.then.i.i.i.i116.i.i4669 - -if.then.i.i.i.i116.i.i4669: ; preds = %invoke.cont31.i.i4667 - %_M_use_count.i.i.i.i.i.i.i4670 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2074, i64 0, i32 1 - %2075 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i4670 acquire, align 8 - %cmp.i.i.i.i.i117.i.i4671 = icmp eq i64 %2075, 4294967297 + %tobool.not.i.i.i.i.i.i.i.i5654 = icmp eq i8 %2073, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i5654, label %invoke.cont31.i.i4672, label %if.then.i.i.i.i.i.i.i.i5655 + +if.then.i.i.i.i.i.i.i.i5655: ; preds = %if.end.i.i.i5652 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4585, ptr noundef nonnull align 8 dereferenceable(32) %2071) + to label %return.sink.split.i.i.i4671 unwind label %lpad30.i.i4670 + +return.sink.split.i.i.i4671: ; preds = %if.then.i.i.i.i.i.i.i.i5655, %if.then.i112.i.i4669 + store i8 1, ptr %_M_engaged.i.i.i.i.i.i.i.i4618, align 8, !alias.scope !1624, !noalias !1614 + br label %invoke.cont31.i.i4672 + +invoke.cont31.i.i4672: ; preds = %return.sink.split.i.i.i4671, %if.end.i.i.i5652 + %2074 = load ptr, ptr %_M_refcount.i.i.i.i.i4620, align 8, !noalias !1614 + %cmp.not.i.i.i.i115.i.i4673 = icmp eq ptr %2074, null + br i1 %cmp.not.i.i.i.i115.i.i4673, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684, label %if.then.i.i.i.i116.i.i4674 + +if.then.i.i.i.i116.i.i4674: ; preds = %invoke.cont31.i.i4672 + %_M_use_count.i.i.i.i.i.i.i4675 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2074, i64 0, i32 1 + %2075 = load atomic i64, ptr %_M_use_count.i.i.i.i.i.i.i4675 acquire, align 8 + %cmp.i.i.i.i.i117.i.i4676 = icmp eq i64 %2075, 4294967297 %2076 = trunc i64 %2075 to i32 - br i1 %cmp.i.i.i.i.i117.i.i4671, label %if.then.i.i.i.i.i.i.i5643, label %if.end.i.i.i.i.i.i.i4672 - -if.then.i.i.i.i.i.i.i5643: ; preds = %if.then.i.i.i.i116.i.i4669 - store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i4670, align 8 - %_M_weak_count.i.i.i.i.i.i.i5644 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2074, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i5644, align 4 - %vtable.i.i.i.i.i.i.i5645 = load ptr, ptr %2074, align 8 - %vfn.i.i.i.i.i.i.i5646 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i5645, i64 2 - %2077 = load ptr, ptr %vfn.i.i.i.i.i.i.i5646, align 8 + br i1 %cmp.i.i.i.i.i117.i.i4676, label %if.then.i.i.i.i.i.i.i5648, label %if.end.i.i.i.i.i.i.i4677 + +if.then.i.i.i.i.i.i.i5648: ; preds = %if.then.i.i.i.i116.i.i4674 + store i32 0, ptr %_M_use_count.i.i.i.i.i.i.i4675, align 8 + %_M_weak_count.i.i.i.i.i.i.i5649 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2074, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i.i.i5649, align 4 + %vtable.i.i.i.i.i.i.i5650 = load ptr, ptr %2074, align 8 + %vfn.i.i.i.i.i.i.i5651 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i5650, i64 2 + %2077 = load ptr, ptr %vfn.i.i.i.i.i.i.i5651, align 8 call void %2077(ptr noundef nonnull align 8 dereferenceable(16) %2074) #30 - br label %if.end8.sink.split.i.i.i.i.i.i.i5638 + br label %if.end8.sink.split.i.i.i.i.i.i.i5643 -if.end.i.i.i.i.i.i.i4672: ; preds = %if.then.i.i.i.i116.i.i4669 +if.end.i.i.i.i.i.i.i4677: ; preds = %if.then.i.i.i.i116.i.i4674 %2078 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i4673 = icmp eq i8 %2078, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i4673, label %if.else.i.i.i.i.i.i.i.i5642, label %if.then.i.i.i.i.i.i118.i.i4674 - -if.then.i.i.i.i.i.i118.i.i4674: ; preds = %if.end.i.i.i.i.i.i.i4672 - %add.i.i.i.i.i.i.i.i4675 = add nsw i32 %2076, -1 - store i32 %add.i.i.i.i.i.i.i.i4675, ptr %_M_use_count.i.i.i.i.i.i.i4670, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4676 - -if.else.i.i.i.i.i.i.i.i5642: ; preds = %if.end.i.i.i.i.i.i.i4672 - %2079 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i4670, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4676 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4676: ; preds = %if.else.i.i.i.i.i.i.i.i5642, %if.then.i.i.i.i.i.i118.i.i4674 - %retval.i.0.i.i.i.i.i.i.i4677 = phi i32 [ %2076, %if.then.i.i.i.i.i.i118.i.i4674 ], [ %2079, %if.else.i.i.i.i.i.i.i.i5642 ] - %cmp6.i.i.i.i.i.i.i4678 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i4677, 1 - br i1 %cmp6.i.i.i.i.i.i.i4678, label %if.then7.i.i.i.i.i.i.i5628, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679 - -if.then7.i.i.i.i.i.i.i5628: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4676 - %vtable.i.i.i.i.i.i.i.i.i5629 = load ptr, ptr %2074, align 8 - %vfn.i.i.i.i.i.i.i.i.i5630 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i5629, i64 2 - %2080 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i5630, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i4678 = icmp eq i8 %2078, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i4678, label %if.else.i.i.i.i.i.i.i.i5647, label %if.then.i.i.i.i.i.i118.i.i4679 + +if.then.i.i.i.i.i.i118.i.i4679: ; preds = %if.end.i.i.i.i.i.i.i4677 + %add.i.i.i.i.i.i.i.i4680 = add nsw i32 %2076, -1 + store i32 %add.i.i.i.i.i.i.i.i4680, ptr %_M_use_count.i.i.i.i.i.i.i4675, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4681 + +if.else.i.i.i.i.i.i.i.i5647: ; preds = %if.end.i.i.i.i.i.i.i4677 + %2079 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i.i.i4675, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4681 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4681: ; preds = %if.else.i.i.i.i.i.i.i.i5647, %if.then.i.i.i.i.i.i118.i.i4679 + %retval.i.0.i.i.i.i.i.i.i4682 = phi i32 [ %2076, %if.then.i.i.i.i.i.i118.i.i4679 ], [ %2079, %if.else.i.i.i.i.i.i.i.i5647 ] + %cmp6.i.i.i.i.i.i.i4683 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i4682, 1 + br i1 %cmp6.i.i.i.i.i.i.i4683, label %if.then7.i.i.i.i.i.i.i5633, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684 + +if.then7.i.i.i.i.i.i.i5633: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4681 + %vtable.i.i.i.i.i.i.i.i.i5634 = load ptr, ptr %2074, align 8 + %vfn.i.i.i.i.i.i.i.i.i5635 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i.i.i5634, i64 2 + %2080 = load ptr, ptr %vfn.i.i.i.i.i.i.i.i.i5635, align 8 call void %2080(ptr noundef nonnull align 8 dereferenceable(16) %2074) #30 - %_M_weak_count.i.i.i.i.i.i.i.i.i5631 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2074, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i.i.i5636 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2074, i64 0, i32 2 %2081 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i.i.i5632 = icmp eq i8 %2081, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i5632, label %if.else.i.i.i.i.i.i.i.i.i.i5641, label %if.then.i.i.i.i.i.i.i.i.i.i5633 - -if.then.i.i.i.i.i.i.i.i.i.i5633: ; preds = %if.then7.i.i.i.i.i.i.i5628 - %2082 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i5631, align 4 - %add.i.i.i.i.i.i.i.i.i.i5634 = add nsw i32 %2082, -1 - store i32 %add.i.i.i.i.i.i.i.i.i.i5634, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i5631, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5635 - -if.else.i.i.i.i.i.i.i.i.i.i5641: ; preds = %if.then7.i.i.i.i.i.i.i5628 - %2083 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i5631, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5635 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5635: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i5641, %if.then.i.i.i.i.i.i.i.i.i.i5633 - %retval.i.0.i.i.i.i.i.i.i.i.i5636 = phi i32 [ %2082, %if.then.i.i.i.i.i.i.i.i.i.i5633 ], [ %2083, %if.else.i.i.i.i.i.i.i.i.i.i5641 ] - %cmp.i.i.i.i.i.i.i.i.i5637 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i5636, 1 - br i1 %cmp.i.i.i.i.i.i.i.i.i5637, label %if.end8.sink.split.i.i.i.i.i.i.i5638, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679 - -if.end8.sink.split.i.i.i.i.i.i.i5638: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5635, %if.then.i.i.i.i.i.i.i5643 - %vtable2.i.i.i.i.i.i.i.i.i5639 = load ptr, ptr %2074, align 8 - %vfn3.i.i.i.i.i.i.i.i.i5640 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i5639, i64 3 - %2084 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i5640, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i.i.i5637 = icmp eq i8 %2081, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i.i.i5637, label %if.else.i.i.i.i.i.i.i.i.i.i5646, label %if.then.i.i.i.i.i.i.i.i.i.i5638 + +if.then.i.i.i.i.i.i.i.i.i.i5638: ; preds = %if.then7.i.i.i.i.i.i.i5633 + %2082 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i5636, align 4 + %add.i.i.i.i.i.i.i.i.i.i5639 = add nsw i32 %2082, -1 + store i32 %add.i.i.i.i.i.i.i.i.i.i5639, ptr %_M_weak_count.i.i.i.i.i.i.i.i.i5636, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5640 + +if.else.i.i.i.i.i.i.i.i.i.i5646: ; preds = %if.then7.i.i.i.i.i.i.i5633 + %2083 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i.i.i5636, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5640 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5640: ; preds = %if.else.i.i.i.i.i.i.i.i.i.i5646, %if.then.i.i.i.i.i.i.i.i.i.i5638 + %retval.i.0.i.i.i.i.i.i.i.i.i5641 = phi i32 [ %2082, %if.then.i.i.i.i.i.i.i.i.i.i5638 ], [ %2083, %if.else.i.i.i.i.i.i.i.i.i.i5646 ] + %cmp.i.i.i.i.i.i.i.i.i5642 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i.i.i5641, 1 + br i1 %cmp.i.i.i.i.i.i.i.i.i5642, label %if.end8.sink.split.i.i.i.i.i.i.i5643, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684 + +if.end8.sink.split.i.i.i.i.i.i.i5643: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5640, %if.then.i.i.i.i.i.i.i5648 + %vtable2.i.i.i.i.i.i.i.i.i5644 = load ptr, ptr %2074, align 8 + %vfn3.i.i.i.i.i.i.i.i.i5645 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i.i.i5644, i64 3 + %2084 = load ptr, ptr %vfn3.i.i.i.i.i.i.i.i.i5645, align 8 call void %2084(ptr noundef nonnull align 8 dereferenceable(16) %2074) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i5638, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5635, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4676, %invoke.cont31.i.i4667 - %2085 = load ptr, ptr %ref.tmp27.i.i4581, align 8, !noalias !1614 - %2086 = load ptr, ptr %_M_finish.i.i119.i.i4616, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i.i.i4680 = icmp eq ptr %2085, %2086 - br i1 %cmp.not3.i.i.i.i.i.i.i4680, label %invoke.cont.i.i.i.i4687, label %for.body.i.i.i.i.i120.i.i4681 - -for.body.i.i.i.i.i120.i.i4681: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679, %for.body.i.i.i.i.i120.i.i4681 - %__first.addr.04.i.i.i.i.i.i.i4682 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i4683, %for.body.i.i.i.i.i120.i.i4681 ], [ %2085, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i4682) #30 - %incdec.ptr.i.i.i.i.i121.i.i4683 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i4682, i64 1 - %cmp.not.i.i.i.i.i122.i.i4684 = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i4683, %2086 - br i1 %cmp.not.i.i.i.i.i122.i.i4684, label %invoke.contthread-pre-split.i.i.i.i4685, label %for.body.i.i.i.i.i120.i.i4681, !llvm.loop !8 - -invoke.contthread-pre-split.i.i.i.i4685: ; preds = %for.body.i.i.i.i.i120.i.i4681 - %.pr.i.i.i.i4686 = load ptr, ptr %ref.tmp27.i.i4581, align 8, !noalias !1614 - br label %invoke.cont.i.i.i.i4687 - -invoke.cont.i.i.i.i4687: ; preds = %invoke.contthread-pre-split.i.i.i.i4685, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679 - %2087 = phi ptr [ %.pr.i.i.i.i4686, %invoke.contthread-pre-split.i.i.i.i4685 ], [ %2085, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4679 ] - %tobool.not.i.i.i.i123.i.i4688 = icmp eq ptr %2087, null - br i1 %tobool.not.i.i.i.i123.i.i4688, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4690, label %if.then.i.i.i1.i.i.i4689 - -if.then.i.i.i1.i.i.i4689: ; preds = %invoke.cont.i.i.i.i4687 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684: ; preds = %if.end8.sink.split.i.i.i.i.i.i.i5643, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i.i.i5640, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i4681, %invoke.cont31.i.i4672 + %2085 = load ptr, ptr %ref.tmp27.i.i4586, align 8, !noalias !1614 + %2086 = load ptr, ptr %_M_finish.i.i119.i.i4621, align 8, !noalias !1614 + %cmp.not3.i.i.i.i.i.i.i4685 = icmp eq ptr %2085, %2086 + br i1 %cmp.not3.i.i.i.i.i.i.i4685, label %invoke.cont.i.i.i.i4692, label %for.body.i.i.i.i.i120.i.i4686 + +for.body.i.i.i.i.i120.i.i4686: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684, %for.body.i.i.i.i.i120.i.i4686 + %__first.addr.04.i.i.i.i.i.i.i4687 = phi ptr [ %incdec.ptr.i.i.i.i.i121.i.i4688, %for.body.i.i.i.i.i120.i.i4686 ], [ %2085, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i.i4687) #30 + %incdec.ptr.i.i.i.i.i121.i.i4688 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i.i4687, i64 1 + %cmp.not.i.i.i.i.i122.i.i4689 = icmp eq ptr %incdec.ptr.i.i.i.i.i121.i.i4688, %2086 + br i1 %cmp.not.i.i.i.i.i122.i.i4689, label %invoke.contthread-pre-split.i.i.i.i4690, label %for.body.i.i.i.i.i120.i.i4686, !llvm.loop !8 + +invoke.contthread-pre-split.i.i.i.i4690: ; preds = %for.body.i.i.i.i.i120.i.i4686 + %.pr.i.i.i.i4691 = load ptr, ptr %ref.tmp27.i.i4586, align 8, !noalias !1614 + br label %invoke.cont.i.i.i.i4692 + +invoke.cont.i.i.i.i4692: ; preds = %invoke.contthread-pre-split.i.i.i.i4690, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684 + %2087 = phi ptr [ %.pr.i.i.i.i4691, %invoke.contthread-pre-split.i.i.i.i4690 ], [ %2085, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i.i.i4684 ] + %tobool.not.i.i.i.i123.i.i4693 = icmp eq ptr %2087, null + br i1 %tobool.not.i.i.i.i123.i.i4693, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4695, label %if.then.i.i.i1.i.i.i4694 + +if.then.i.i.i1.i.i.i4694: ; preds = %invoke.cont.i.i.i.i4692 call void @_ZdlPv(ptr noundef nonnull %2087) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4690 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4695 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4690: ; preds = %if.then.i.i.i1.i.i.i4689, %invoke.cont.i.i.i.i4687 - %2088 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i4613, align 8, !noalias !1614 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4695: ; preds = %if.then.i.i.i1.i.i.i4694, %invoke.cont.i.i.i.i4692 + %2088 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i4618, align 8, !noalias !1614 %2089 = and i8 %2088, 1 - %tobool.i.i.not.i.i4691 = icmp eq i8 %2089, 0 - br i1 %tobool.i.i.not.i.i4691, label %for.cond.i.i4736, label %if.then33.i.i4692 - -if.then33.i.i4692: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4690 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i4582) - to label %invoke.cont36.i.i4698 unwind label %lpad35.i.i4693 - -invoke.cont36.i.i4698: ; preds = %if.then33.i.i4692 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i4578), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i4578) - to label %.noexc126.i.i4702 unwind label %lpad38.i.i4699 - -.noexc126.i.i4702: ; preds = %invoke.cont36.i.i4698 - %2090 = load ptr, ptr %ref.tmp.i.i.i4578, align 8, !noalias !1614 - %add.ptr.i.i124.i.i4703 = getelementptr inbounds i8, ptr %2090, i64 16 - %call2.i1.i.i.i4704 = 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) %add.ptr.i.i124.i.i4703, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4580) - to label %invoke.cont.i.i.i4710 unwind label %lpad.i.i.i4705 - -invoke.cont.i.i.i4710: ; preds = %.noexc126.i.i4702 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i4582, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i4578) - to label %invoke.cont2.i.i.i4711 unwind label %lpad.i.i.i4705 - -invoke.cont2.i.i.i4711: ; preds = %invoke.cont.i.i.i4710 - %2091 = load ptr, ptr %ref.tmp.i.i.i4578, align 8, !noalias !1614 - %cmp.not.i.i.i125.i.i4712 = icmp eq ptr %2091, null - br i1 %cmp.not.i.i.i125.i.i4712, label %invoke.cont39.i.i4716, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i4713 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i4713: ; preds = %invoke.cont2.i.i.i4711 - %vtable.i.i.i.i.i.i4714 = load ptr, ptr %2091, align 8 - %vfn.i.i.i.i.i.i4715 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i4714, i64 1 - %2092 = load ptr, ptr %vfn.i.i.i.i.i.i4715, align 8 + %tobool.i.i.not.i.i4696 = icmp eq i8 %2089, 0 + br i1 %tobool.i.i.not.i.i4696, label %for.cond.i.i4741, label %if.then33.i.i4697 + +if.then33.i.i4697: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit.i.i4695 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp34.i.i4587) + to label %invoke.cont36.i.i4703 unwind label %lpad35.i.i4698 + +invoke.cont36.i.i4703: ; preds = %if.then33.i.i4697 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i.i4583), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i4583) + to label %.noexc126.i.i4707 unwind label %lpad38.i.i4704 + +.noexc126.i.i4707: ; preds = %invoke.cont36.i.i4703 + %2090 = load ptr, ptr %ref.tmp.i.i.i4583, align 8, !noalias !1614 + %add.ptr.i.i124.i.i4708 = getelementptr inbounds i8, ptr %2090, i64 16 + %call2.i1.i.i.i4709 = 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) %add.ptr.i.i124.i.i4708, ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4585) + to label %invoke.cont.i.i.i4715 unwind label %lpad.i.i.i4710 + +invoke.cont.i.i.i4715: ; preds = %.noexc126.i.i4707 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i4587, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i.i4583) + to label %invoke.cont2.i.i.i4716 unwind label %lpad.i.i.i4710 + +invoke.cont2.i.i.i4716: ; preds = %invoke.cont.i.i.i4715 + %2091 = load ptr, ptr %ref.tmp.i.i.i4583, align 8, !noalias !1614 + %cmp.not.i.i.i125.i.i4717 = icmp eq ptr %2091, null + br i1 %cmp.not.i.i.i125.i.i4717, label %invoke.cont39.i.i4721, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i4718 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i4718: ; preds = %invoke.cont2.i.i.i4716 + %vtable.i.i.i.i.i.i4719 = load ptr, ptr %2091, align 8 + %vfn.i.i.i.i.i.i4720 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i4719, i64 1 + %2092 = load ptr, ptr %vfn.i.i.i.i.i.i4720, align 8 call void %2092(ptr noundef nonnull align 8 dereferenceable(128) %2091) #30 - br label %invoke.cont39.i.i4716 + br label %invoke.cont39.i.i4721 -lpad.i.i.i4705: ; preds = %invoke.cont.i.i.i4710, %.noexc126.i.i4702 +lpad.i.i.i4710: ; preds = %invoke.cont.i.i.i4715, %.noexc126.i.i4707 %2093 = landingpad { ptr, i32 } cleanup - %2094 = load ptr, ptr %ref.tmp.i.i.i4578, align 8, !noalias !1614 - %cmp.not.i.i2.i.i.i4706 = icmp eq ptr %2094, null - br i1 %cmp.not.i.i2.i.i.i4706, label %lpad38.body.i.i4700, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i4707 + %2094 = load ptr, ptr %ref.tmp.i.i.i4583, align 8, !noalias !1614 + %cmp.not.i.i2.i.i.i4711 = icmp eq ptr %2094, null + br i1 %cmp.not.i.i2.i.i.i4711, label %lpad38.body.i.i4705, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i4712 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i4707: ; preds = %lpad.i.i.i4705 - %vtable.i.i.i4.i.i.i4708 = load ptr, ptr %2094, align 8 - %vfn.i.i.i5.i.i.i4709 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i4708, i64 1 - %2095 = load ptr, ptr %vfn.i.i.i5.i.i.i4709, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i4712: ; preds = %lpad.i.i.i4710 + %vtable.i.i.i4.i.i.i4713 = load ptr, ptr %2094, align 8 + %vfn.i.i.i5.i.i.i4714 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i.i.i4713, i64 1 + %2095 = load ptr, ptr %vfn.i.i.i5.i.i.i4714, align 8 call void %2095(ptr noundef nonnull align 8 dereferenceable(128) %2094) #30 - br label %lpad38.body.i.i4700 + br label %lpad38.body.i.i4705 -invoke.cont39.i.i4716: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i4713, %invoke.cont2.i.i.i4711 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i4578), !noalias !1614 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i4582) - to label %invoke.cont41.i.i4717 unwind label %lpad38.i.i4699 +invoke.cont39.i.i4721: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i4718, %invoke.cont2.i.i.i4716 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i.i4583), !noalias !1614 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i4587) + to label %invoke.cont41.i.i4722 unwind label %lpad38.i.i4704 -invoke.cont41.i.i4717: ; preds = %invoke.cont39.i.i4716 - %message_.i.i.i4718 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i4582, i64 0, i32 1 - %2096 = load ptr, ptr %message_.i.i.i4718, align 8, !noalias !1614 - %cmp.not.i.i127.i.i4719 = icmp eq ptr %2096, null - br i1 %cmp.not.i.i127.i.i4719, label %_ZN7testing15AssertionResultD2Ev.exit.i.i4721, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i4720 +invoke.cont41.i.i4722: ; preds = %invoke.cont39.i.i4721 + %message_.i.i.i4723 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp34.i.i4587, i64 0, i32 1 + %2096 = load ptr, ptr %message_.i.i.i4723, align 8, !noalias !1614 + %cmp.not.i.i127.i.i4724 = icmp eq ptr %2096, null + br i1 %cmp.not.i.i127.i.i4724, label %_ZN7testing15AssertionResultD2Ev.exit.i.i4726, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i4725 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i4720: ; preds = %invoke.cont41.i.i4717 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i4725: ; preds = %invoke.cont41.i.i4722 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %2096) #30 call void @_ZdlPv(ptr noundef nonnull %2096) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit.i.i4721 + br label %_ZN7testing15AssertionResultD2Ev.exit.i.i4726 -_ZN7testing15AssertionResultD2Ev.exit.i.i4721: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i4720, %invoke.cont41.i.i4717 - store ptr null, ptr %message_.i.i.i4718, align 8, !noalias !1614 - %2097 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i4613, align 8, !noalias !1614 +_ZN7testing15AssertionResultD2Ev.exit.i.i4726: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i4725, %invoke.cont41.i.i4722 + store ptr null, ptr %message_.i.i.i4723, align 8, !noalias !1614 + %2097 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i4618, align 8, !noalias !1614 %2098 = and i8 %2097, 1 - %tobool.not.i.i.i.i128.i.i4722 = icmp eq i8 %2098, 0 - br i1 %tobool.not.i.i.i.i128.i.i4722, label %cleanup257.i.i4724, label %if.then.i.i.i.i129.i.i4723 + %tobool.not.i.i.i.i128.i.i4727 = icmp eq i8 %2098, 0 + br i1 %tobool.not.i.i.i.i128.i.i4727, label %cleanup257.i.i4729, label %if.then.i.i.i.i129.i.i4728 -if.then.i.i.i.i129.i.i4723: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i4721 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i4613, align 8, !noalias !1614 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4580) #30 - br label %cleanup257.i.i4724 +if.then.i.i.i.i129.i.i4728: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i.i4726 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i4618, align 8, !noalias !1614 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4585) #30 + br label %cleanup257.i.i4729 -lpad30.i.i4665: ; preds = %if.then.i.i.i.i.i.i.i.i5650, %if.then.i112.i.i4664 +lpad30.i.i4670: ; preds = %if.then.i.i.i.i.i.i.i.i5655, %if.then.i112.i.i4669 %2099 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i4581) #30 - br label %ehcleanup258.i.i4660 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp27.i.i4586) #30 + br label %ehcleanup258.i.i4665 -lpad35.i.i4693: ; preds = %if.then33.i.i4692 +lpad35.i.i4698: ; preds = %if.then33.i.i4697 %2100 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i.i4694 + br label %ehcleanup.i.i4699 -lpad38.i.i4699: ; preds = %invoke.cont39.i.i4716, %invoke.cont36.i.i4698 +lpad38.i.i4704: ; preds = %invoke.cont39.i.i4721, %invoke.cont36.i.i4703 %2101 = landingpad { ptr, i32 } cleanup - br label %lpad38.body.i.i4700 + br label %lpad38.body.i.i4705 -lpad38.body.i.i4700: ; preds = %lpad38.i.i4699, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i4707, %lpad.i.i.i4705 - %eh.lpad-body.i.i4701 = phi { ptr, i32 } [ %2101, %lpad38.i.i4699 ], [ %2093, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i4707 ], [ %2093, %lpad.i.i.i4705 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i4582) #30 - br label %ehcleanup.i.i4694 +lpad38.body.i.i4705: ; preds = %lpad38.i.i4704, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i4712, %lpad.i.i.i4710 + %eh.lpad-body.i.i4706 = phi { ptr, i32 } [ %2101, %lpad38.i.i4704 ], [ %2093, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i.i.i4712 ], [ %2093, %lpad.i.i.i4710 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp34.i.i4587) #30 + br label %ehcleanup.i.i4699 -ehcleanup.i.i4694: ; preds = %lpad38.body.i.i4700, %lpad35.i.i4693 - %.pn46.i.i4695 = phi { ptr, i32 } [ %eh.lpad-body.i.i4701, %lpad38.body.i.i4700 ], [ %2100, %lpad35.i.i4693 ] - %2102 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i4613, align 8, !noalias !1614 +ehcleanup.i.i4699: ; preds = %lpad38.body.i.i4705, %lpad35.i.i4698 + %.pn46.i.i4700 = phi { ptr, i32 } [ %eh.lpad-body.i.i4706, %lpad38.body.i.i4705 ], [ %2100, %lpad35.i.i4698 ] + %2102 = load i8, ptr %_M_engaged.i.i.i.i.i.i.i.i4618, align 8, !noalias !1614 %2103 = and i8 %2102, 1 - %tobool.not.i.i.i.i136.i.i4696 = icmp eq i8 %2103, 0 - br i1 %tobool.not.i.i.i.i136.i.i4696, label %ehcleanup258.i.i4660, label %if.then.i.i.i.i137.i.i4697 - -if.then.i.i.i.i137.i.i4697: ; preds = %ehcleanup.i.i4694 - store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i4613, align 8, !noalias !1614 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4580) #30 - br label %ehcleanup258.i.i4660 - -for.end45.i.i4739: ; preds = %for.cond.i.i4736 - %classes.val62.pre.i.i4740 = load ptr, ptr %classes.i.i4579, align 8, !noalias !1614 - %classes.val63.pre.i.i4741 = load ptr, ptr %2057, align 8, !noalias !1614 - %sub.ptr.lhs.cast.i.i.i4742 = ptrtoint ptr %classes.val63.pre.i.i4741 to i64 - %sub.ptr.rhs.cast.i.i.i4743 = ptrtoint ptr %classes.val62.pre.i.i4740 to i64 - %sub.ptr.sub.i.i.i4744 = sub i64 %sub.ptr.lhs.cast.i.i.i4742, %sub.ptr.rhs.cast.i.i.i4743 - %sub.ptr.div.i.i.i4745 = sdiv exact i64 %sub.ptr.sub.i.i.i4744, 24 - %cmp47.i.i4746 = icmp ult i64 %sub.ptr.div.i.i.i4745, 2 - br i1 %cmp47.i.i4746, label %if.then48.i.i5603, label %for.cond64.preheader.i.i4747 - -for.cond64.preheader.i.i4747: ; preds = %for.end45.i.i4739 - %cmp.i160.not51.i.i4748 = icmp eq ptr %classes.val62.pre.i.i4740, %classes.val63.pre.i.i4741 - br i1 %cmp.i160.not51.i.i4748, label %for.end255.i.i5505, label %for.body66.lr.ph.i.i4749 - -for.body66.lr.ph.i.i4749: ; preds = %for.cond64.preheader.i.i4747 - %_M_refcount.i.i.i163.i.i4750 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i4586, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i176.i.i4751 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i4586, i64 0, i32 1 - %_M_refcount.i.i.i207.i.i4752 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i4585, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i220.i.i4753 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i4585, i64 0, i32 1 - %_M_refcount.i.i.i311.i.i4754 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i4589, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i324.i.i4755 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i4589, i64 0, i32 1 - %_M_refcount.i.i.i735.i.i4756 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i4593, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i748.i.i4757 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i4593, i64 0, i32 1 - %_M_refcount.i.i.i824.i.i4758 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i4584, i64 0, i32 1, i32 0, i32 1 - %_M_finish.i.i837.i.i4759 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i4584, i64 0, i32 1 - br label %for.body66.i.i4760 - -if.then48.i.i5603: ; preds = %for.end45.i.i4739 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i4583) - to label %invoke.cont50.i.i5604 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i5506 - -invoke.cont50.i.i5604: ; preds = %if.then48.i.i5603 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i4577), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i4577) - to label %.noexc154.i.i5608 unwind label %lpad51.i.i5605 - -.noexc154.i.i5608: ; preds = %invoke.cont50.i.i5604 - %2104 = load ptr, ptr %ref.tmp.i139.i.i4577, align 8, !noalias !1614 - %add.ptr.i.i140.i.i5609 = getelementptr inbounds i8, ptr %2104, i64 16 - %call2.i1.i141.i.i5610 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i5609, ptr noundef nonnull @.str.106) - to label %invoke.cont.i148.i.i5616 unwind label %lpad.i142.i.i5611 - -invoke.cont.i148.i.i5616: ; preds = %.noexc154.i.i5608 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i4583, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i4577) - to label %invoke.cont2.i149.i.i5617 unwind label %lpad.i142.i.i5611 - -invoke.cont2.i149.i.i5617: ; preds = %invoke.cont.i148.i.i5616 - %2105 = load ptr, ptr %ref.tmp.i139.i.i4577, align 8, !noalias !1614 - %cmp.not.i.i.i150.i.i5618 = icmp eq ptr %2105, null - br i1 %cmp.not.i.i.i150.i.i5618, label %invoke.cont52.i.i5622, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i5619 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i5619: ; preds = %invoke.cont2.i149.i.i5617 - %vtable.i.i.i.i152.i.i5620 = load ptr, ptr %2105, align 8 - %vfn.i.i.i.i153.i.i5621 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i5620, i64 1 - %2106 = load ptr, ptr %vfn.i.i.i.i153.i.i5621, align 8 + %tobool.not.i.i.i.i136.i.i4701 = icmp eq i8 %2103, 0 + br i1 %tobool.not.i.i.i.i136.i.i4701, label %ehcleanup258.i.i4665, label %if.then.i.i.i.i137.i.i4702 + +if.then.i.i.i.i137.i.i4702: ; preds = %ehcleanup.i.i4699 + store i8 0, ptr %_M_engaged.i.i.i.i.i.i.i.i4618, align 8, !noalias !1614 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %error.i.i4585) #30 + br label %ehcleanup258.i.i4665 + +for.end45.i.i4744: ; preds = %for.cond.i.i4741 + %classes.val62.pre.i.i4745 = load ptr, ptr %classes.i.i4584, align 8, !noalias !1614 + %classes.val63.pre.i.i4746 = load ptr, ptr %2057, align 8, !noalias !1614 + %sub.ptr.lhs.cast.i.i.i4747 = ptrtoint ptr %classes.val63.pre.i.i4746 to i64 + %sub.ptr.rhs.cast.i.i.i4748 = ptrtoint ptr %classes.val62.pre.i.i4745 to i64 + %sub.ptr.sub.i.i.i4749 = sub i64 %sub.ptr.lhs.cast.i.i.i4747, %sub.ptr.rhs.cast.i.i.i4748 + %sub.ptr.div.i.i.i4750 = sdiv exact i64 %sub.ptr.sub.i.i.i4749, 24 + %cmp47.i.i4751 = icmp ult i64 %sub.ptr.div.i.i.i4750, 2 + br i1 %cmp47.i.i4751, label %if.then48.i.i5608, label %for.cond64.preheader.i.i4752 + +for.cond64.preheader.i.i4752: ; preds = %for.end45.i.i4744 + %cmp.i160.not51.i.i4753 = icmp eq ptr %classes.val62.pre.i.i4745, %classes.val63.pre.i.i4746 + br i1 %cmp.i160.not51.i.i4753, label %for.end255.i.i5510, label %for.body66.lr.ph.i.i4754 + +for.body66.lr.ph.i.i4754: ; preds = %for.cond64.preheader.i.i4752 + %_M_refcount.i.i.i163.i.i4755 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp85.i.i4591, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i176.i.i4756 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp85.i.i4591, i64 0, i32 1 + %_M_refcount.i.i.i207.i.i4757 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp82.i.i4590, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i220.i.i4758 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp82.i.i4590, i64 0, i32 1 + %_M_refcount.i.i.i311.i.i4759 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %ref.tmp110.i.i4594, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i324.i.i4760 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp110.i.i4594, i64 0, i32 1 + %_M_refcount.i.i.i735.i.i4761 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %c2_hash.i.i4598, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i748.i.i4762 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %c2_hash.i.i4598, i64 0, i32 1 + %_M_refcount.i.i.i824.i.i4763 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %expected.i.i4589, i64 0, i32 1, i32 0, i32 1 + %_M_finish.i.i837.i.i4764 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %expected.i.i4589, i64 0, i32 1 + br label %for.body66.i.i4765 + +if.then48.i.i5608: ; preds = %for.end45.i.i4744 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp49.i.i4588) + to label %invoke.cont50.i.i5609 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i5511 + +invoke.cont50.i.i5609: ; preds = %if.then48.i.i5608 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i4582), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i4582) + to label %.noexc154.i.i5613 unwind label %lpad51.i.i5610 + +.noexc154.i.i5613: ; preds = %invoke.cont50.i.i5609 + %2104 = load ptr, ptr %ref.tmp.i139.i.i4582, align 8, !noalias !1614 + %add.ptr.i.i140.i.i5614 = getelementptr inbounds i8, ptr %2104, i64 16 + %call2.i1.i141.i.i5615 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i140.i.i5614, ptr noundef nonnull @.str.106) + to label %invoke.cont.i148.i.i5621 unwind label %lpad.i142.i.i5616 + +invoke.cont.i148.i.i5621: ; preds = %.noexc154.i.i5613 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i4588, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i139.i.i4582) + to label %invoke.cont2.i149.i.i5622 unwind label %lpad.i142.i.i5616 + +invoke.cont2.i149.i.i5622: ; preds = %invoke.cont.i148.i.i5621 + %2105 = load ptr, ptr %ref.tmp.i139.i.i4582, align 8, !noalias !1614 + %cmp.not.i.i.i150.i.i5623 = icmp eq ptr %2105, null + br i1 %cmp.not.i.i.i150.i.i5623, label %invoke.cont52.i.i5627, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i5624 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i5624: ; preds = %invoke.cont2.i149.i.i5622 + %vtable.i.i.i.i152.i.i5625 = load ptr, ptr %2105, align 8 + %vfn.i.i.i.i153.i.i5626 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i152.i.i5625, i64 1 + %2106 = load ptr, ptr %vfn.i.i.i.i153.i.i5626, align 8 call void %2106(ptr noundef nonnull align 8 dereferenceable(128) %2105) #30 - br label %invoke.cont52.i.i5622 + br label %invoke.cont52.i.i5627 -lpad.i142.i.i5611: ; preds = %invoke.cont.i148.i.i5616, %.noexc154.i.i5608 +lpad.i142.i.i5616: ; preds = %invoke.cont.i148.i.i5621, %.noexc154.i.i5613 %2107 = landingpad { ptr, i32 } cleanup - %2108 = load ptr, ptr %ref.tmp.i139.i.i4577, align 8, !noalias !1614 - %cmp.not.i.i2.i143.i.i5612 = icmp eq ptr %2108, null - br i1 %cmp.not.i.i2.i143.i.i5612, label %lpad51.body.i.i5606, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i5613 + %2108 = load ptr, ptr %ref.tmp.i139.i.i4582, align 8, !noalias !1614 + %cmp.not.i.i2.i143.i.i5617 = icmp eq ptr %2108, null + br i1 %cmp.not.i.i2.i143.i.i5617, label %lpad51.body.i.i5611, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i5618 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i5613: ; preds = %lpad.i142.i.i5611 - %vtable.i.i.i4.i145.i.i5614 = load ptr, ptr %2108, align 8 - %vfn.i.i.i5.i146.i.i5615 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i5614, i64 1 - %2109 = load ptr, ptr %vfn.i.i.i5.i146.i.i5615, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i5618: ; preds = %lpad.i142.i.i5616 + %vtable.i.i.i4.i145.i.i5619 = load ptr, ptr %2108, align 8 + %vfn.i.i.i5.i146.i.i5620 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i145.i.i5619, i64 1 + %2109 = load ptr, ptr %vfn.i.i.i5.i146.i.i5620, align 8 call void %2109(ptr noundef nonnull align 8 dereferenceable(128) %2108) #30 - br label %lpad51.body.i.i5606 + br label %lpad51.body.i.i5611 -invoke.cont52.i.i5622: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i5619, %invoke.cont2.i149.i.i5617 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i4577), !noalias !1614 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i4583) - to label %invoke.cont54.i.i5623 unwind label %lpad51.i.i5605 +invoke.cont52.i.i5627: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i151.i.i5624, %invoke.cont2.i149.i.i5622 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i139.i.i4582), !noalias !1614 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i4588) + to label %invoke.cont54.i.i5628 unwind label %lpad51.i.i5610 -invoke.cont54.i.i5623: ; preds = %invoke.cont52.i.i5622 - %message_.i156.i.i5624 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i4583, i64 0, i32 1 - %2110 = load ptr, ptr %message_.i156.i.i5624, align 8, !noalias !1614 - %cmp.not.i.i157.i.i5625 = icmp eq ptr %2110, null - br i1 %cmp.not.i.i157.i.i5625, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i5627, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i5626 +invoke.cont54.i.i5628: ; preds = %invoke.cont52.i.i5627 + %message_.i156.i.i5629 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp49.i.i4588, i64 0, i32 1 + %2110 = load ptr, ptr %message_.i156.i.i5629, align 8, !noalias !1614 + %cmp.not.i.i157.i.i5630 = icmp eq ptr %2110, null + br i1 %cmp.not.i.i157.i.i5630, label %_ZN7testing15AssertionResultD2Ev.exit159.i.i5632, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i5631 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i5626: ; preds = %invoke.cont54.i.i5623 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i5631: ; preds = %invoke.cont54.i.i5628 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %2110) #30 call void @_ZdlPv(ptr noundef nonnull %2110) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i5627 + br label %_ZN7testing15AssertionResultD2Ev.exit159.i.i5632 -_ZN7testing15AssertionResultD2Ev.exit159.i.i5627: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i5626, %invoke.cont54.i.i5623 - store ptr null, ptr %message_.i156.i.i5624, align 8, !noalias !1614 - br label %cleanup257.i.i4724 +_ZN7testing15AssertionResultD2Ev.exit159.i.i5632: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158.i.i5631, %invoke.cont54.i.i5628 + store ptr null, ptr %message_.i156.i.i5629, align 8, !noalias !1614 + br label %cleanup257.i.i4729 -lpad51.i.i5605: ; preds = %invoke.cont52.i.i5622, %invoke.cont50.i.i5604 +lpad51.i.i5610: ; preds = %invoke.cont52.i.i5627, %invoke.cont50.i.i5609 %2111 = landingpad { ptr, i32 } cleanup - br label %lpad51.body.i.i5606 - -lpad51.body.i.i5606: ; preds = %lpad51.i.i5605, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i5613, %lpad.i142.i.i5611 - %eh.lpad-body155.i.i5607 = phi { ptr, i32 } [ %2111, %lpad51.i.i5605 ], [ %2107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i5613 ], [ %2107, %lpad.i142.i.i5611 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i4583) #30 - br label %ehcleanup258.i.i4660 - -for.body66.i.i4760: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5502, %for.body66.lr.ph.i.i4749 - %__begin058.sroa.0.052.i.i4761 = phi ptr [ %classes.val62.pre.i.i4740, %for.body66.lr.ph.i.i4749 ], [ %incdec.ptr.i868.i.i5503, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5502 ] - %call68.val.i.i4762 = load ptr, ptr %__begin058.sroa.0.052.i.i4761, align 8 - %call69.val.i.i4763 = load ptr, ptr %call68.val.i.i4762, align 8 - %call69.val.val.i.i4764 = load ptr, ptr %call69.val.i.i4763, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i4584, ptr %call69.val.val.i.i4764) - to label %invoke.cont70.i.i4768 unwind label %lpad.loopexit11.i.i4766 - -invoke.cont70.i.i4768: ; preds = %for.body66.i.i4760 - %call68.val80.i.i4769 = load ptr, ptr %__begin058.sroa.0.052.i.i4761, align 8 - %2112 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i4761, i64 8 - %call68.val81.i.i4770 = load ptr, ptr %2112, align 8 - %cmp.i161.not47.i.i4771 = icmp eq ptr %call68.val80.i.i4769, %call68.val81.i.i4770 - br i1 %cmp.i161.not47.i.i4771, label %for.end144.i.i5081, label %for.body80.i.i4772 - -for.body80.i.i4772: ; preds = %invoke.cont70.i.i4768, %for.inc142.i.i5078 - %__begin072.sroa.0.048.i.i4773 = phi ptr [ %incdec.ptr.i448.i.i5079, %for.inc142.i.i5078 ], [ %call68.val80.i.i4769, %invoke.cont70.i.i4768 ] - %call81.val.i.i4774 = load ptr, ptr %__begin072.sroa.0.048.i.i4773, align 8 - %call81.val.val.i.i4775 = load ptr, ptr %call81.val.i.i4774, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i4585, ptr %call81.val.val.i.i4775) - to label %invoke.cont84.i.i4781 unwind label %lpad83.loopexit.split-lp.loopexit.i.i4777 - -invoke.cont84.i.i4781: ; preds = %for.body80.i.i4772 - %call81.val65.i.i4782 = load ptr, ptr %__begin072.sroa.0.048.i.i4773, align 8 - %call81.val65.val.i.i4783 = load ptr, ptr %call81.val65.i.i4782, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i4586, ptr %call81.val65.val.i.i4783) - to label %invoke.cont87.i.i4788 unwind label %lpad86.i.i4785 - -invoke.cont87.i.i4788: ; preds = %invoke.cont84.i.i4781 - %call.i.i162.i.i4789 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i4585, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i4586) - to label %invoke.cont89.i.i4791 unwind label %lpad88.i.i4790 - -invoke.cont89.i.i4791: ; preds = %invoke.cont87.i.i4788 - %2113 = load ptr, ptr %_M_refcount.i.i.i163.i.i4750, align 8, !noalias !1614 - %cmp.not.i.i.i.i164.i.i4792 = icmp eq ptr %2113, null - br i1 %cmp.not.i.i.i.i164.i.i4792, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803, label %if.then.i.i.i.i165.i.i4793 - -if.then.i.i.i.i165.i.i4793: ; preds = %invoke.cont89.i.i4791 - %_M_use_count.i.i.i.i.i166.i.i4794 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2113, i64 0, i32 1 - %2114 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i4794 acquire, align 8 - %cmp.i.i.i.i.i167.i.i4795 = icmp eq i64 %2114, 4294967297 + br label %lpad51.body.i.i5611 + +lpad51.body.i.i5611: ; preds = %lpad51.i.i5610, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i5618, %lpad.i142.i.i5616 + %eh.lpad-body155.i.i5612 = phi { ptr, i32 } [ %2111, %lpad51.i.i5610 ], [ %2107, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i144.i.i5618 ], [ %2107, %lpad.i142.i.i5616 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp49.i.i4588) #30 + br label %ehcleanup258.i.i4665 + +for.body66.i.i4765: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5507, %for.body66.lr.ph.i.i4754 + %__begin058.sroa.0.052.i.i4766 = phi ptr [ %classes.val62.pre.i.i4745, %for.body66.lr.ph.i.i4754 ], [ %incdec.ptr.i868.i.i5508, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5507 ] + %call68.val.i.i4767 = load ptr, ptr %__begin058.sroa.0.052.i.i4766, align 8 + %call69.val.i.i4768 = load ptr, ptr %call68.val.i.i4767, align 8 + %call69.val.val.i.i4769 = load ptr, ptr %call69.val.i.i4768, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %expected.i.i4589, ptr %call69.val.val.i.i4769) + to label %invoke.cont70.i.i4773 unwind label %lpad.loopexit11.i.i4771 + +invoke.cont70.i.i4773: ; preds = %for.body66.i.i4765 + %call68.val80.i.i4774 = load ptr, ptr %__begin058.sroa.0.052.i.i4766, align 8 + %2112 = getelementptr i8, ptr %__begin058.sroa.0.052.i.i4766, i64 8 + %call68.val81.i.i4775 = load ptr, ptr %2112, align 8 + %cmp.i161.not47.i.i4776 = icmp eq ptr %call68.val80.i.i4774, %call68.val81.i.i4775 + br i1 %cmp.i161.not47.i.i4776, label %for.end144.i.i5086, label %for.body80.i.i4777 + +for.body80.i.i4777: ; preds = %invoke.cont70.i.i4773, %for.inc142.i.i5083 + %__begin072.sroa.0.048.i.i4778 = phi ptr [ %incdec.ptr.i448.i.i5084, %for.inc142.i.i5083 ], [ %call68.val80.i.i4774, %invoke.cont70.i.i4773 ] + %call81.val.i.i4779 = load ptr, ptr %__begin072.sroa.0.048.i.i4778, align 8 + %call81.val.val.i.i4780 = load ptr, ptr %call81.val.i.i4779, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp82.i.i4590, ptr %call81.val.val.i.i4780) + to label %invoke.cont84.i.i4786 unwind label %lpad83.loopexit.split-lp.loopexit.i.i4782 + +invoke.cont84.i.i4786: ; preds = %for.body80.i.i4777 + %call81.val65.i.i4787 = load ptr, ptr %__begin072.sroa.0.048.i.i4778, align 8 + %call81.val65.val.i.i4788 = load ptr, ptr %call81.val65.i.i4787, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp85.i.i4591, ptr %call81.val65.val.i.i4788) + to label %invoke.cont87.i.i4793 unwind label %lpad86.i.i4790 + +invoke.cont87.i.i4793: ; preds = %invoke.cont84.i.i4786 + %call.i.i162.i.i4794 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp82.i.i4590, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp85.i.i4591) + to label %invoke.cont89.i.i4796 unwind label %lpad88.i.i4795 + +invoke.cont89.i.i4796: ; preds = %invoke.cont87.i.i4793 + %2113 = load ptr, ptr %_M_refcount.i.i.i163.i.i4755, align 8, !noalias !1614 + %cmp.not.i.i.i.i164.i.i4797 = icmp eq ptr %2113, null + br i1 %cmp.not.i.i.i.i164.i.i4797, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808, label %if.then.i.i.i.i165.i.i4798 + +if.then.i.i.i.i165.i.i4798: ; preds = %invoke.cont89.i.i4796 + %_M_use_count.i.i.i.i.i166.i.i4799 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2113, i64 0, i32 1 + %2114 = load atomic i64, ptr %_M_use_count.i.i.i.i.i166.i.i4799 acquire, align 8 + %cmp.i.i.i.i.i167.i.i4800 = icmp eq i64 %2114, 4294967297 %2115 = trunc i64 %2114 to i32 - br i1 %cmp.i.i.i.i.i167.i.i4795, label %if.then.i.i.i.i.i202.i.i5599, label %if.end.i.i.i.i.i168.i.i4796 - -if.then.i.i.i.i.i202.i.i5599: ; preds = %if.then.i.i.i.i165.i.i4793 - store i32 0, ptr %_M_use_count.i.i.i.i.i166.i.i4794, align 8 - %_M_weak_count.i.i.i.i.i203.i.i5600 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2113, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i203.i.i5600, align 4 - %vtable.i.i.i.i.i204.i.i5601 = load ptr, ptr %2113, align 8 - %vfn.i.i.i.i.i205.i.i5602 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i204.i.i5601, i64 2 - %2116 = load ptr, ptr %vfn.i.i.i.i.i205.i.i5602, align 8 + br i1 %cmp.i.i.i.i.i167.i.i4800, label %if.then.i.i.i.i.i202.i.i5604, label %if.end.i.i.i.i.i168.i.i4801 + +if.then.i.i.i.i.i202.i.i5604: ; preds = %if.then.i.i.i.i165.i.i4798 + store i32 0, ptr %_M_use_count.i.i.i.i.i166.i.i4799, align 8 + %_M_weak_count.i.i.i.i.i203.i.i5605 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2113, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i203.i.i5605, align 4 + %vtable.i.i.i.i.i204.i.i5606 = load ptr, ptr %2113, align 8 + %vfn.i.i.i.i.i205.i.i5607 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i204.i.i5606, i64 2 + %2116 = load ptr, ptr %vfn.i.i.i.i.i205.i.i5607, align 8 call void %2116(ptr noundef nonnull align 8 dereferenceable(16) %2113) #30 - br label %if.end8.sink.split.i.i.i.i.i197.i.i5594 + br label %if.end8.sink.split.i.i.i.i.i197.i.i5599 -if.end.i.i.i.i.i168.i.i4796: ; preds = %if.then.i.i.i.i165.i.i4793 +if.end.i.i.i.i.i168.i.i4801: ; preds = %if.then.i.i.i.i165.i.i4798 %2117 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i169.i.i4797 = icmp eq i8 %2117, 0 - br i1 %tobool.i.i.not.i.i.i.i.i169.i.i4797, label %if.else.i.i.i.i.i.i201.i.i5598, label %if.then.i.i.i.i.i.i170.i.i4798 - -if.then.i.i.i.i.i.i170.i.i4798: ; preds = %if.end.i.i.i.i.i168.i.i4796 - %add.i.i.i.i.i.i171.i.i4799 = add nsw i32 %2115, -1 - store i32 %add.i.i.i.i.i.i171.i.i4799, ptr %_M_use_count.i.i.i.i.i166.i.i4794, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4800 - -if.else.i.i.i.i.i.i201.i.i5598: ; preds = %if.end.i.i.i.i.i168.i.i4796 - %2118 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i166.i.i4794, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4800 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4800: ; preds = %if.else.i.i.i.i.i.i201.i.i5598, %if.then.i.i.i.i.i.i170.i.i4798 - %retval.i.0.i.i.i.i.i173.i.i4801 = phi i32 [ %2115, %if.then.i.i.i.i.i.i170.i.i4798 ], [ %2118, %if.else.i.i.i.i.i.i201.i.i5598 ] - %cmp6.i.i.i.i.i174.i.i4802 = icmp eq i32 %retval.i.0.i.i.i.i.i173.i.i4801, 1 - br i1 %cmp6.i.i.i.i.i174.i.i4802, label %if.then7.i.i.i.i.i187.i.i5584, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803 - -if.then7.i.i.i.i.i187.i.i5584: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4800 - %vtable.i.i.i.i.i.i.i188.i.i5585 = load ptr, ptr %2113, align 8 - %vfn.i.i.i.i.i.i.i189.i.i5586 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i188.i.i5585, i64 2 - %2119 = load ptr, ptr %vfn.i.i.i.i.i.i.i189.i.i5586, align 8 + %tobool.i.i.not.i.i.i.i.i169.i.i4802 = icmp eq i8 %2117, 0 + br i1 %tobool.i.i.not.i.i.i.i.i169.i.i4802, label %if.else.i.i.i.i.i.i201.i.i5603, label %if.then.i.i.i.i.i.i170.i.i4803 + +if.then.i.i.i.i.i.i170.i.i4803: ; preds = %if.end.i.i.i.i.i168.i.i4801 + %add.i.i.i.i.i.i171.i.i4804 = add nsw i32 %2115, -1 + store i32 %add.i.i.i.i.i.i171.i.i4804, ptr %_M_use_count.i.i.i.i.i166.i.i4799, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4805 + +if.else.i.i.i.i.i.i201.i.i5603: ; preds = %if.end.i.i.i.i.i168.i.i4801 + %2118 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i166.i.i4799, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4805 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4805: ; preds = %if.else.i.i.i.i.i.i201.i.i5603, %if.then.i.i.i.i.i.i170.i.i4803 + %retval.i.0.i.i.i.i.i173.i.i4806 = phi i32 [ %2115, %if.then.i.i.i.i.i.i170.i.i4803 ], [ %2118, %if.else.i.i.i.i.i.i201.i.i5603 ] + %cmp6.i.i.i.i.i174.i.i4807 = icmp eq i32 %retval.i.0.i.i.i.i.i173.i.i4806, 1 + br i1 %cmp6.i.i.i.i.i174.i.i4807, label %if.then7.i.i.i.i.i187.i.i5589, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808 + +if.then7.i.i.i.i.i187.i.i5589: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4805 + %vtable.i.i.i.i.i.i.i188.i.i5590 = load ptr, ptr %2113, align 8 + %vfn.i.i.i.i.i.i.i189.i.i5591 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i188.i.i5590, i64 2 + %2119 = load ptr, ptr %vfn.i.i.i.i.i.i.i189.i.i5591, align 8 call void %2119(ptr noundef nonnull align 8 dereferenceable(16) %2113) #30 - %_M_weak_count.i.i.i.i.i.i.i190.i.i5587 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2113, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i190.i.i5592 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2113, i64 0, i32 2 %2120 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i191.i.i5588 = icmp eq i8 %2120, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i191.i.i5588, label %if.else.i.i.i.i.i.i.i.i200.i.i5597, label %if.then.i.i.i.i.i.i.i.i192.i.i5589 - -if.then.i.i.i.i.i.i.i.i192.i.i5589: ; preds = %if.then7.i.i.i.i.i187.i.i5584 - %2121 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i5587, align 4 - %add.i.i.i.i.i.i.i.i193.i.i5590 = add nsw i32 %2121, -1 - store i32 %add.i.i.i.i.i.i.i.i193.i.i5590, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i5587, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5591 - -if.else.i.i.i.i.i.i.i.i200.i.i5597: ; preds = %if.then7.i.i.i.i.i187.i.i5584 - %2122 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i5587, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5591 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5591: ; preds = %if.else.i.i.i.i.i.i.i.i200.i.i5597, %if.then.i.i.i.i.i.i.i.i192.i.i5589 - %retval.i.0.i.i.i.i.i.i.i195.i.i5592 = phi i32 [ %2121, %if.then.i.i.i.i.i.i.i.i192.i.i5589 ], [ %2122, %if.else.i.i.i.i.i.i.i.i200.i.i5597 ] - %cmp.i.i.i.i.i.i.i196.i.i5593 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i195.i.i5592, 1 - br i1 %cmp.i.i.i.i.i.i.i196.i.i5593, label %if.end8.sink.split.i.i.i.i.i197.i.i5594, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803 - -if.end8.sink.split.i.i.i.i.i197.i.i5594: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5591, %if.then.i.i.i.i.i202.i.i5599 - %vtable2.i.i.i.i.i.i.i198.i.i5595 = load ptr, ptr %2113, align 8 - %vfn3.i.i.i.i.i.i.i199.i.i5596 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i198.i.i5595, i64 3 - %2123 = load ptr, ptr %vfn3.i.i.i.i.i.i.i199.i.i5596, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i191.i.i5593 = icmp eq i8 %2120, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i191.i.i5593, label %if.else.i.i.i.i.i.i.i.i200.i.i5602, label %if.then.i.i.i.i.i.i.i.i192.i.i5594 + +if.then.i.i.i.i.i.i.i.i192.i.i5594: ; preds = %if.then7.i.i.i.i.i187.i.i5589 + %2121 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i5592, align 4 + %add.i.i.i.i.i.i.i.i193.i.i5595 = add nsw i32 %2121, -1 + store i32 %add.i.i.i.i.i.i.i.i193.i.i5595, ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i5592, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5596 + +if.else.i.i.i.i.i.i.i.i200.i.i5602: ; preds = %if.then7.i.i.i.i.i187.i.i5589 + %2122 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i190.i.i5592, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5596 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5596: ; preds = %if.else.i.i.i.i.i.i.i.i200.i.i5602, %if.then.i.i.i.i.i.i.i.i192.i.i5594 + %retval.i.0.i.i.i.i.i.i.i195.i.i5597 = phi i32 [ %2121, %if.then.i.i.i.i.i.i.i.i192.i.i5594 ], [ %2122, %if.else.i.i.i.i.i.i.i.i200.i.i5602 ] + %cmp.i.i.i.i.i.i.i196.i.i5598 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i195.i.i5597, 1 + br i1 %cmp.i.i.i.i.i.i.i196.i.i5598, label %if.end8.sink.split.i.i.i.i.i197.i.i5599, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808 + +if.end8.sink.split.i.i.i.i.i197.i.i5599: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5596, %if.then.i.i.i.i.i202.i.i5604 + %vtable2.i.i.i.i.i.i.i198.i.i5600 = load ptr, ptr %2113, align 8 + %vfn3.i.i.i.i.i.i.i199.i.i5601 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i198.i.i5600, i64 3 + %2123 = load ptr, ptr %vfn3.i.i.i.i.i.i.i199.i.i5601, align 8 call void %2123(ptr noundef nonnull align 8 dereferenceable(16) %2113) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i5594, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5591, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4800, %invoke.cont89.i.i4791 - %2124 = load ptr, ptr %ref.tmp85.i.i4586, align 8, !noalias !1614 - %2125 = load ptr, ptr %_M_finish.i.i176.i.i4751, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i177.i.i4804 = icmp eq ptr %2124, %2125 - br i1 %cmp.not3.i.i.i.i.i177.i.i4804, label %invoke.cont.i.i184.i.i4811, label %for.body.i.i.i.i.i178.i.i4805 - -for.body.i.i.i.i.i178.i.i4805: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803, %for.body.i.i.i.i.i178.i.i4805 - %__first.addr.04.i.i.i.i.i179.i.i4806 = phi ptr [ %incdec.ptr.i.i.i.i.i180.i.i4807, %for.body.i.i.i.i.i178.i.i4805 ], [ %2124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i179.i.i4806) #30 - %incdec.ptr.i.i.i.i.i180.i.i4807 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i179.i.i4806, i64 1 - %cmp.not.i.i.i.i.i181.i.i4808 = icmp eq ptr %incdec.ptr.i.i.i.i.i180.i.i4807, %2125 - br i1 %cmp.not.i.i.i.i.i181.i.i4808, label %invoke.contthread-pre-split.i.i182.i.i4809, label %for.body.i.i.i.i.i178.i.i4805, !llvm.loop !8 - -invoke.contthread-pre-split.i.i182.i.i4809: ; preds = %for.body.i.i.i.i.i178.i.i4805 - %.pr.i.i183.i.i4810 = load ptr, ptr %ref.tmp85.i.i4586, align 8, !noalias !1614 - br label %invoke.cont.i.i184.i.i4811 - -invoke.cont.i.i184.i.i4811: ; preds = %invoke.contthread-pre-split.i.i182.i.i4809, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803 - %2126 = phi ptr [ %.pr.i.i183.i.i4810, %invoke.contthread-pre-split.i.i182.i.i4809 ], [ %2124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4803 ] - %tobool.not.i.i.i.i185.i.i4812 = icmp eq ptr %2126, null - br i1 %tobool.not.i.i.i.i185.i.i4812, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4814, label %if.then.i.i.i1.i186.i.i4813 - -if.then.i.i.i1.i186.i.i4813: ; preds = %invoke.cont.i.i184.i.i4811 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808: ; preds = %if.end8.sink.split.i.i.i.i.i197.i.i5599, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i194.i.i5596, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i172.i.i4805, %invoke.cont89.i.i4796 + %2124 = load ptr, ptr %ref.tmp85.i.i4591, align 8, !noalias !1614 + %2125 = load ptr, ptr %_M_finish.i.i176.i.i4756, align 8, !noalias !1614 + %cmp.not3.i.i.i.i.i177.i.i4809 = icmp eq ptr %2124, %2125 + br i1 %cmp.not3.i.i.i.i.i177.i.i4809, label %invoke.cont.i.i184.i.i4816, label %for.body.i.i.i.i.i178.i.i4810 + +for.body.i.i.i.i.i178.i.i4810: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808, %for.body.i.i.i.i.i178.i.i4810 + %__first.addr.04.i.i.i.i.i179.i.i4811 = phi ptr [ %incdec.ptr.i.i.i.i.i180.i.i4812, %for.body.i.i.i.i.i178.i.i4810 ], [ %2124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i179.i.i4811) #30 + %incdec.ptr.i.i.i.i.i180.i.i4812 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i179.i.i4811, i64 1 + %cmp.not.i.i.i.i.i181.i.i4813 = icmp eq ptr %incdec.ptr.i.i.i.i.i180.i.i4812, %2125 + br i1 %cmp.not.i.i.i.i.i181.i.i4813, label %invoke.contthread-pre-split.i.i182.i.i4814, label %for.body.i.i.i.i.i178.i.i4810, !llvm.loop !8 + +invoke.contthread-pre-split.i.i182.i.i4814: ; preds = %for.body.i.i.i.i.i178.i.i4810 + %.pr.i.i183.i.i4815 = load ptr, ptr %ref.tmp85.i.i4591, align 8, !noalias !1614 + br label %invoke.cont.i.i184.i.i4816 + +invoke.cont.i.i184.i.i4816: ; preds = %invoke.contthread-pre-split.i.i182.i.i4814, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808 + %2126 = phi ptr [ %.pr.i.i183.i.i4815, %invoke.contthread-pre-split.i.i182.i.i4814 ], [ %2124, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i175.i.i4808 ] + %tobool.not.i.i.i.i185.i.i4817 = icmp eq ptr %2126, null + br i1 %tobool.not.i.i.i.i185.i.i4817, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4819, label %if.then.i.i.i1.i186.i.i4818 + +if.then.i.i.i1.i186.i.i4818: ; preds = %invoke.cont.i.i184.i.i4816 call void @_ZdlPv(ptr noundef nonnull %2126) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4814 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4819 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4814: ; preds = %if.then.i.i.i1.i186.i.i4813, %invoke.cont.i.i184.i.i4811 - %2127 = load ptr, ptr %_M_refcount.i.i.i207.i.i4752, align 8, !noalias !1614 - %cmp.not.i.i.i.i208.i.i4815 = icmp eq ptr %2127, null - br i1 %cmp.not.i.i.i.i208.i.i4815, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826, label %if.then.i.i.i.i209.i.i4816 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4819: ; preds = %if.then.i.i.i1.i186.i.i4818, %invoke.cont.i.i184.i.i4816 + %2127 = load ptr, ptr %_M_refcount.i.i.i207.i.i4757, align 8, !noalias !1614 + %cmp.not.i.i.i.i208.i.i4820 = icmp eq ptr %2127, null + br i1 %cmp.not.i.i.i.i208.i.i4820, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831, label %if.then.i.i.i.i209.i.i4821 -if.then.i.i.i.i209.i.i4816: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4814 - %_M_use_count.i.i.i.i.i210.i.i4817 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2127, i64 0, i32 1 - %2128 = load atomic i64, ptr %_M_use_count.i.i.i.i.i210.i.i4817 acquire, align 8 - %cmp.i.i.i.i.i211.i.i4818 = icmp eq i64 %2128, 4294967297 +if.then.i.i.i.i209.i.i4821: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4819 + %_M_use_count.i.i.i.i.i210.i.i4822 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2127, i64 0, i32 1 + %2128 = load atomic i64, ptr %_M_use_count.i.i.i.i.i210.i.i4822 acquire, align 8 + %cmp.i.i.i.i.i211.i.i4823 = icmp eq i64 %2128, 4294967297 %2129 = trunc i64 %2128 to i32 - br i1 %cmp.i.i.i.i.i211.i.i4818, label %if.then.i.i.i.i.i246.i.i5580, label %if.end.i.i.i.i.i212.i.i4819 - -if.then.i.i.i.i.i246.i.i5580: ; preds = %if.then.i.i.i.i209.i.i4816 - store i32 0, ptr %_M_use_count.i.i.i.i.i210.i.i4817, align 8 - %_M_weak_count.i.i.i.i.i247.i.i5581 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2127, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i247.i.i5581, align 4 - %vtable.i.i.i.i.i248.i.i5582 = load ptr, ptr %2127, align 8 - %vfn.i.i.i.i.i249.i.i5583 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i248.i.i5582, i64 2 - %2130 = load ptr, ptr %vfn.i.i.i.i.i249.i.i5583, align 8 + br i1 %cmp.i.i.i.i.i211.i.i4823, label %if.then.i.i.i.i.i246.i.i5585, label %if.end.i.i.i.i.i212.i.i4824 + +if.then.i.i.i.i.i246.i.i5585: ; preds = %if.then.i.i.i.i209.i.i4821 + store i32 0, ptr %_M_use_count.i.i.i.i.i210.i.i4822, align 8 + %_M_weak_count.i.i.i.i.i247.i.i5586 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2127, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i247.i.i5586, align 4 + %vtable.i.i.i.i.i248.i.i5587 = load ptr, ptr %2127, align 8 + %vfn.i.i.i.i.i249.i.i5588 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i248.i.i5587, i64 2 + %2130 = load ptr, ptr %vfn.i.i.i.i.i249.i.i5588, align 8 call void %2130(ptr noundef nonnull align 8 dereferenceable(16) %2127) #30 - br label %if.end8.sink.split.i.i.i.i.i241.i.i5575 + br label %if.end8.sink.split.i.i.i.i.i241.i.i5580 -if.end.i.i.i.i.i212.i.i4819: ; preds = %if.then.i.i.i.i209.i.i4816 +if.end.i.i.i.i.i212.i.i4824: ; preds = %if.then.i.i.i.i209.i.i4821 %2131 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i213.i.i4820 = icmp eq i8 %2131, 0 - br i1 %tobool.i.i.not.i.i.i.i.i213.i.i4820, label %if.else.i.i.i.i.i.i245.i.i5579, label %if.then.i.i.i.i.i.i214.i.i4821 - -if.then.i.i.i.i.i.i214.i.i4821: ; preds = %if.end.i.i.i.i.i212.i.i4819 - %add.i.i.i.i.i.i215.i.i4822 = add nsw i32 %2129, -1 - store i32 %add.i.i.i.i.i.i215.i.i4822, ptr %_M_use_count.i.i.i.i.i210.i.i4817, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4823 - -if.else.i.i.i.i.i.i245.i.i5579: ; preds = %if.end.i.i.i.i.i212.i.i4819 - %2132 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i210.i.i4817, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4823 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4823: ; preds = %if.else.i.i.i.i.i.i245.i.i5579, %if.then.i.i.i.i.i.i214.i.i4821 - %retval.i.0.i.i.i.i.i217.i.i4824 = phi i32 [ %2129, %if.then.i.i.i.i.i.i214.i.i4821 ], [ %2132, %if.else.i.i.i.i.i.i245.i.i5579 ] - %cmp6.i.i.i.i.i218.i.i4825 = icmp eq i32 %retval.i.0.i.i.i.i.i217.i.i4824, 1 - br i1 %cmp6.i.i.i.i.i218.i.i4825, label %if.then7.i.i.i.i.i231.i.i5565, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826 - -if.then7.i.i.i.i.i231.i.i5565: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4823 - %vtable.i.i.i.i.i.i.i232.i.i5566 = load ptr, ptr %2127, align 8 - %vfn.i.i.i.i.i.i.i233.i.i5567 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i232.i.i5566, i64 2 - %2133 = load ptr, ptr %vfn.i.i.i.i.i.i.i233.i.i5567, align 8 + %tobool.i.i.not.i.i.i.i.i213.i.i4825 = icmp eq i8 %2131, 0 + br i1 %tobool.i.i.not.i.i.i.i.i213.i.i4825, label %if.else.i.i.i.i.i.i245.i.i5584, label %if.then.i.i.i.i.i.i214.i.i4826 + +if.then.i.i.i.i.i.i214.i.i4826: ; preds = %if.end.i.i.i.i.i212.i.i4824 + %add.i.i.i.i.i.i215.i.i4827 = add nsw i32 %2129, -1 + store i32 %add.i.i.i.i.i.i215.i.i4827, ptr %_M_use_count.i.i.i.i.i210.i.i4822, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4828 + +if.else.i.i.i.i.i.i245.i.i5584: ; preds = %if.end.i.i.i.i.i212.i.i4824 + %2132 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i210.i.i4822, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4828 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4828: ; preds = %if.else.i.i.i.i.i.i245.i.i5584, %if.then.i.i.i.i.i.i214.i.i4826 + %retval.i.0.i.i.i.i.i217.i.i4829 = phi i32 [ %2129, %if.then.i.i.i.i.i.i214.i.i4826 ], [ %2132, %if.else.i.i.i.i.i.i245.i.i5584 ] + %cmp6.i.i.i.i.i218.i.i4830 = icmp eq i32 %retval.i.0.i.i.i.i.i217.i.i4829, 1 + br i1 %cmp6.i.i.i.i.i218.i.i4830, label %if.then7.i.i.i.i.i231.i.i5570, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831 + +if.then7.i.i.i.i.i231.i.i5570: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4828 + %vtable.i.i.i.i.i.i.i232.i.i5571 = load ptr, ptr %2127, align 8 + %vfn.i.i.i.i.i.i.i233.i.i5572 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i232.i.i5571, i64 2 + %2133 = load ptr, ptr %vfn.i.i.i.i.i.i.i233.i.i5572, align 8 call void %2133(ptr noundef nonnull align 8 dereferenceable(16) %2127) #30 - %_M_weak_count.i.i.i.i.i.i.i234.i.i5568 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2127, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i234.i.i5573 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2127, i64 0, i32 2 %2134 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i235.i.i5569 = icmp eq i8 %2134, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i235.i.i5569, label %if.else.i.i.i.i.i.i.i.i244.i.i5578, label %if.then.i.i.i.i.i.i.i.i236.i.i5570 - -if.then.i.i.i.i.i.i.i.i236.i.i5570: ; preds = %if.then7.i.i.i.i.i231.i.i5565 - %2135 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i5568, align 4 - %add.i.i.i.i.i.i.i.i237.i.i5571 = add nsw i32 %2135, -1 - store i32 %add.i.i.i.i.i.i.i.i237.i.i5571, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i5568, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5572 - -if.else.i.i.i.i.i.i.i.i244.i.i5578: ; preds = %if.then7.i.i.i.i.i231.i.i5565 - %2136 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i5568, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5572 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5572: ; preds = %if.else.i.i.i.i.i.i.i.i244.i.i5578, %if.then.i.i.i.i.i.i.i.i236.i.i5570 - %retval.i.0.i.i.i.i.i.i.i239.i.i5573 = phi i32 [ %2135, %if.then.i.i.i.i.i.i.i.i236.i.i5570 ], [ %2136, %if.else.i.i.i.i.i.i.i.i244.i.i5578 ] - %cmp.i.i.i.i.i.i.i240.i.i5574 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i239.i.i5573, 1 - br i1 %cmp.i.i.i.i.i.i.i240.i.i5574, label %if.end8.sink.split.i.i.i.i.i241.i.i5575, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826 - -if.end8.sink.split.i.i.i.i.i241.i.i5575: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5572, %if.then.i.i.i.i.i246.i.i5580 - %vtable2.i.i.i.i.i.i.i242.i.i5576 = load ptr, ptr %2127, align 8 - %vfn3.i.i.i.i.i.i.i243.i.i5577 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i242.i.i5576, i64 3 - %2137 = load ptr, ptr %vfn3.i.i.i.i.i.i.i243.i.i5577, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i235.i.i5574 = icmp eq i8 %2134, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i235.i.i5574, label %if.else.i.i.i.i.i.i.i.i244.i.i5583, label %if.then.i.i.i.i.i.i.i.i236.i.i5575 + +if.then.i.i.i.i.i.i.i.i236.i.i5575: ; preds = %if.then7.i.i.i.i.i231.i.i5570 + %2135 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i5573, align 4 + %add.i.i.i.i.i.i.i.i237.i.i5576 = add nsw i32 %2135, -1 + store i32 %add.i.i.i.i.i.i.i.i237.i.i5576, ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i5573, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5577 + +if.else.i.i.i.i.i.i.i.i244.i.i5583: ; preds = %if.then7.i.i.i.i.i231.i.i5570 + %2136 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i234.i.i5573, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5577 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5577: ; preds = %if.else.i.i.i.i.i.i.i.i244.i.i5583, %if.then.i.i.i.i.i.i.i.i236.i.i5575 + %retval.i.0.i.i.i.i.i.i.i239.i.i5578 = phi i32 [ %2135, %if.then.i.i.i.i.i.i.i.i236.i.i5575 ], [ %2136, %if.else.i.i.i.i.i.i.i.i244.i.i5583 ] + %cmp.i.i.i.i.i.i.i240.i.i5579 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i239.i.i5578, 1 + br i1 %cmp.i.i.i.i.i.i.i240.i.i5579, label %if.end8.sink.split.i.i.i.i.i241.i.i5580, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831 + +if.end8.sink.split.i.i.i.i.i241.i.i5580: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5577, %if.then.i.i.i.i.i246.i.i5585 + %vtable2.i.i.i.i.i.i.i242.i.i5581 = load ptr, ptr %2127, align 8 + %vfn3.i.i.i.i.i.i.i243.i.i5582 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i242.i.i5581, i64 3 + %2137 = load ptr, ptr %vfn3.i.i.i.i.i.i.i243.i.i5582, align 8 call void %2137(ptr noundef nonnull align 8 dereferenceable(16) %2127) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i5575, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5572, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4823, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4814 - %2138 = load ptr, ptr %ref.tmp82.i.i4585, align 8, !noalias !1614 - %2139 = load ptr, ptr %_M_finish.i.i220.i.i4753, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i221.i.i4827 = icmp eq ptr %2138, %2139 - br i1 %cmp.not3.i.i.i.i.i221.i.i4827, label %invoke.cont.i.i228.i.i4834, label %for.body.i.i.i.i.i222.i.i4828 - -for.body.i.i.i.i.i222.i.i4828: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826, %for.body.i.i.i.i.i222.i.i4828 - %__first.addr.04.i.i.i.i.i223.i.i4829 = phi ptr [ %incdec.ptr.i.i.i.i.i224.i.i4830, %for.body.i.i.i.i.i222.i.i4828 ], [ %2138, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i223.i.i4829) #30 - %incdec.ptr.i.i.i.i.i224.i.i4830 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i223.i.i4829, i64 1 - %cmp.not.i.i.i.i.i225.i.i4831 = icmp eq ptr %incdec.ptr.i.i.i.i.i224.i.i4830, %2139 - br i1 %cmp.not.i.i.i.i.i225.i.i4831, label %invoke.contthread-pre-split.i.i226.i.i4832, label %for.body.i.i.i.i.i222.i.i4828, !llvm.loop !8 - -invoke.contthread-pre-split.i.i226.i.i4832: ; preds = %for.body.i.i.i.i.i222.i.i4828 - %.pr.i.i227.i.i4833 = load ptr, ptr %ref.tmp82.i.i4585, align 8, !noalias !1614 - br label %invoke.cont.i.i228.i.i4834 - -invoke.cont.i.i228.i.i4834: ; preds = %invoke.contthread-pre-split.i.i226.i.i4832, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826 - %2140 = phi ptr [ %.pr.i.i227.i.i4833, %invoke.contthread-pre-split.i.i226.i.i4832 ], [ %2138, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4826 ] - %tobool.not.i.i.i.i229.i.i4835 = icmp eq ptr %2140, null - br i1 %tobool.not.i.i.i.i229.i.i4835, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4837, label %if.then.i.i.i1.i230.i.i4836 - -if.then.i.i.i1.i230.i.i4836: ; preds = %invoke.cont.i.i228.i.i4834 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831: ; preds = %if.end8.sink.split.i.i.i.i.i241.i.i5580, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i238.i.i5577, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i216.i.i4828, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit206.i.i4819 + %2138 = load ptr, ptr %ref.tmp82.i.i4590, align 8, !noalias !1614 + %2139 = load ptr, ptr %_M_finish.i.i220.i.i4758, align 8, !noalias !1614 + %cmp.not3.i.i.i.i.i221.i.i4832 = icmp eq ptr %2138, %2139 + br i1 %cmp.not3.i.i.i.i.i221.i.i4832, label %invoke.cont.i.i228.i.i4839, label %for.body.i.i.i.i.i222.i.i4833 + +for.body.i.i.i.i.i222.i.i4833: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831, %for.body.i.i.i.i.i222.i.i4833 + %__first.addr.04.i.i.i.i.i223.i.i4834 = phi ptr [ %incdec.ptr.i.i.i.i.i224.i.i4835, %for.body.i.i.i.i.i222.i.i4833 ], [ %2138, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i223.i.i4834) #30 + %incdec.ptr.i.i.i.i.i224.i.i4835 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i223.i.i4834, i64 1 + %cmp.not.i.i.i.i.i225.i.i4836 = icmp eq ptr %incdec.ptr.i.i.i.i.i224.i.i4835, %2139 + br i1 %cmp.not.i.i.i.i.i225.i.i4836, label %invoke.contthread-pre-split.i.i226.i.i4837, label %for.body.i.i.i.i.i222.i.i4833, !llvm.loop !8 + +invoke.contthread-pre-split.i.i226.i.i4837: ; preds = %for.body.i.i.i.i.i222.i.i4833 + %.pr.i.i227.i.i4838 = load ptr, ptr %ref.tmp82.i.i4590, align 8, !noalias !1614 + br label %invoke.cont.i.i228.i.i4839 + +invoke.cont.i.i228.i.i4839: ; preds = %invoke.contthread-pre-split.i.i226.i.i4837, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831 + %2140 = phi ptr [ %.pr.i.i227.i.i4838, %invoke.contthread-pre-split.i.i226.i.i4837 ], [ %2138, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i219.i.i4831 ] + %tobool.not.i.i.i.i229.i.i4840 = icmp eq ptr %2140, null + br i1 %tobool.not.i.i.i.i229.i.i4840, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4842, label %if.then.i.i.i1.i230.i.i4841 + +if.then.i.i.i1.i230.i.i4841: ; preds = %invoke.cont.i.i228.i.i4839 call void @_ZdlPv(ptr noundef nonnull %2140) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4837 - -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4837: ; preds = %if.then.i.i.i1.i230.i.i4836, %invoke.cont.i.i228.i.i4834 - br i1 %call.i.i162.i.i4789, label %if.end109.i.i4945, label %if.then93.i.i4838 - -if.then93.i.i4838: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4837 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i4587) - to label %invoke.cont95.i.i4841 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i4839 - -invoke.cont95.i.i4841: ; preds = %if.then93.i.i4838 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i4576), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i4576) - to label %.noexc266.i.i4845 unwind label %lpad96.i.i4842 - -.noexc266.i.i4845: ; preds = %invoke.cont95.i.i4841 - %2141 = load ptr, ptr %ref.tmp.i251.i.i4576, align 8, !noalias !1614 - %add.ptr.i.i252.i.i4846 = getelementptr inbounds i8, ptr %2141, i64 16 - %call2.i1.i253.i.i4847 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i4846, ptr noundef nonnull @.str.107) - to label %invoke.cont.i260.i.i4853 unwind label %lpad.i254.i.i4848 - -invoke.cont.i260.i.i4853: ; preds = %.noexc266.i.i4845 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4587, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i4576) - to label %invoke.cont2.i261.i.i4854 unwind label %lpad.i254.i.i4848 - -invoke.cont2.i261.i.i4854: ; preds = %invoke.cont.i260.i.i4853 - %2142 = load ptr, ptr %ref.tmp.i251.i.i4576, align 8, !noalias !1614 - %cmp.not.i.i.i262.i.i4855 = icmp eq ptr %2142, null - br i1 %cmp.not.i.i.i262.i.i4855, label %invoke.cont97.i.i4859, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i4856 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i4856: ; preds = %invoke.cont2.i261.i.i4854 - %vtable.i.i.i.i264.i.i4857 = load ptr, ptr %2142, align 8 - %vfn.i.i.i.i265.i.i4858 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i4857, i64 1 - %2143 = load ptr, ptr %vfn.i.i.i.i265.i.i4858, align 8 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4842 + +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4842: ; preds = %if.then.i.i.i1.i230.i.i4841, %invoke.cont.i.i228.i.i4839 + br i1 %call.i.i162.i.i4794, label %if.end109.i.i4950, label %if.then93.i.i4843 + +if.then93.i.i4843: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4842 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp94.i.i4592) + to label %invoke.cont95.i.i4846 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i4844 + +invoke.cont95.i.i4846: ; preds = %if.then93.i.i4843 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i4581), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i4581) + to label %.noexc266.i.i4850 unwind label %lpad96.i.i4847 + +.noexc266.i.i4850: ; preds = %invoke.cont95.i.i4846 + %2141 = load ptr, ptr %ref.tmp.i251.i.i4581, align 8, !noalias !1614 + %add.ptr.i.i252.i.i4851 = getelementptr inbounds i8, ptr %2141, i64 16 + %call2.i1.i253.i.i4852 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i252.i.i4851, ptr noundef nonnull @.str.107) + to label %invoke.cont.i260.i.i4858 unwind label %lpad.i254.i.i4853 + +invoke.cont.i260.i.i4858: ; preds = %.noexc266.i.i4850 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4592, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i251.i.i4581) + to label %invoke.cont2.i261.i.i4859 unwind label %lpad.i254.i.i4853 + +invoke.cont2.i261.i.i4859: ; preds = %invoke.cont.i260.i.i4858 + %2142 = load ptr, ptr %ref.tmp.i251.i.i4581, align 8, !noalias !1614 + %cmp.not.i.i.i262.i.i4860 = icmp eq ptr %2142, null + br i1 %cmp.not.i.i.i262.i.i4860, label %invoke.cont97.i.i4864, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i4861 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i4861: ; preds = %invoke.cont2.i261.i.i4859 + %vtable.i.i.i.i264.i.i4862 = load ptr, ptr %2142, align 8 + %vfn.i.i.i.i265.i.i4863 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i264.i.i4862, i64 1 + %2143 = load ptr, ptr %vfn.i.i.i.i265.i.i4863, align 8 call void %2143(ptr noundef nonnull align 8 dereferenceable(128) %2142) #30 - br label %invoke.cont97.i.i4859 + br label %invoke.cont97.i.i4864 -lpad.i254.i.i4848: ; preds = %invoke.cont.i260.i.i4853, %.noexc266.i.i4845 +lpad.i254.i.i4853: ; preds = %invoke.cont.i260.i.i4858, %.noexc266.i.i4850 %2144 = landingpad { ptr, i32 } cleanup - %2145 = load ptr, ptr %ref.tmp.i251.i.i4576, align 8, !noalias !1614 - %cmp.not.i.i2.i255.i.i4849 = icmp eq ptr %2145, null - br i1 %cmp.not.i.i2.i255.i.i4849, label %ehcleanup108.i.i4843, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i4850 + %2145 = load ptr, ptr %ref.tmp.i251.i.i4581, align 8, !noalias !1614 + %cmp.not.i.i2.i255.i.i4854 = icmp eq ptr %2145, null + br i1 %cmp.not.i.i2.i255.i.i4854, label %ehcleanup108.i.i4848, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i4855 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i4850: ; preds = %lpad.i254.i.i4848 - %vtable.i.i.i4.i257.i.i4851 = load ptr, ptr %2145, align 8 - %vfn.i.i.i5.i258.i.i4852 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i4851, i64 1 - %2146 = load ptr, ptr %vfn.i.i.i5.i258.i.i4852, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i4855: ; preds = %lpad.i254.i.i4853 + %vtable.i.i.i4.i257.i.i4856 = load ptr, ptr %2145, align 8 + %vfn.i.i.i5.i258.i.i4857 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i257.i.i4856, i64 1 + %2146 = load ptr, ptr %vfn.i.i.i5.i258.i.i4857, align 8 call void %2146(ptr noundef nonnull align 8 dereferenceable(128) %2145) #30 - br label %ehcleanup108.i.i4843 - -invoke.cont97.i.i4859: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i4856, %invoke.cont2.i261.i.i4854 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i4576), !noalias !1614 - %call81.val83.i.i4860 = load ptr, ptr %__begin072.sroa.0.048.i.i4773, align 8 - %2147 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i4773, i64 8 - %call81.val84.i.i4861 = load i64, ptr %2147, align 8 - %call81.val83.val.i.i4862 = load ptr, ptr %call81.val83.i.i4860, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i4588, ptr %call81.val83.val.i.i4862, i64 %call81.val84.i.i4861) - to label %invoke.cont100.i.i4864 unwind label %lpad96.i.i4842 - -invoke.cont100.i.i4864: ; preds = %invoke.cont97.i.i4859 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i4575), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i4575) - to label %.noexc283.i.i4868 unwind label %lpad101.i.i4865 - -.noexc283.i.i4868: ; preds = %invoke.cont100.i.i4864 - %2148 = load ptr, ptr %ref.tmp.i268.i.i4575, align 8, !noalias !1614 - %add.ptr.i.i269.i.i4869 = getelementptr inbounds i8, ptr %2148, i64 16 - %call2.i1.i270.i.i4870 = 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) %add.ptr.i.i269.i.i4869, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i4588) - to label %invoke.cont.i277.i.i4876 unwind label %lpad.i271.i.i4871 - -invoke.cont.i277.i.i4876: ; preds = %.noexc283.i.i4868 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4587, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i4575) - to label %invoke.cont2.i278.i.i4877 unwind label %lpad.i271.i.i4871 - -invoke.cont2.i278.i.i4877: ; preds = %invoke.cont.i277.i.i4876 - %2149 = load ptr, ptr %ref.tmp.i268.i.i4575, align 8, !noalias !1614 - %cmp.not.i.i.i279.i.i4878 = icmp eq ptr %2149, null - br i1 %cmp.not.i.i.i279.i.i4878, label %invoke.cont102.i.i4882, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i4879 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i4879: ; preds = %invoke.cont2.i278.i.i4877 - %vtable.i.i.i.i281.i.i4880 = load ptr, ptr %2149, align 8 - %vfn.i.i.i.i282.i.i4881 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i4880, i64 1 - %2150 = load ptr, ptr %vfn.i.i.i.i282.i.i4881, align 8 + br label %ehcleanup108.i.i4848 + +invoke.cont97.i.i4864: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i263.i.i4861, %invoke.cont2.i261.i.i4859 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i251.i.i4581), !noalias !1614 + %call81.val83.i.i4865 = load ptr, ptr %__begin072.sroa.0.048.i.i4778, align 8 + %2147 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i4778, i64 8 + %call81.val84.i.i4866 = load i64, ptr %2147, align 8 + %call81.val83.val.i.i4867 = load ptr, ptr %call81.val83.i.i4865, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp99.i.i4593, ptr %call81.val83.val.i.i4867, i64 %call81.val84.i.i4866) + to label %invoke.cont100.i.i4869 unwind label %lpad96.i.i4847 + +invoke.cont100.i.i4869: ; preds = %invoke.cont97.i.i4864 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i4580), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i4580) + to label %.noexc283.i.i4873 unwind label %lpad101.i.i4870 + +.noexc283.i.i4873: ; preds = %invoke.cont100.i.i4869 + %2148 = load ptr, ptr %ref.tmp.i268.i.i4580, align 8, !noalias !1614 + %add.ptr.i.i269.i.i4874 = getelementptr inbounds i8, ptr %2148, i64 16 + %call2.i1.i270.i.i4875 = 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) %add.ptr.i.i269.i.i4874, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i4593) + to label %invoke.cont.i277.i.i4881 unwind label %lpad.i271.i.i4876 + +invoke.cont.i277.i.i4881: ; preds = %.noexc283.i.i4873 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4592, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i268.i.i4580) + to label %invoke.cont2.i278.i.i4882 unwind label %lpad.i271.i.i4876 + +invoke.cont2.i278.i.i4882: ; preds = %invoke.cont.i277.i.i4881 + %2149 = load ptr, ptr %ref.tmp.i268.i.i4580, align 8, !noalias !1614 + %cmp.not.i.i.i279.i.i4883 = icmp eq ptr %2149, null + br i1 %cmp.not.i.i.i279.i.i4883, label %invoke.cont102.i.i4887, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i4884 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i4884: ; preds = %invoke.cont2.i278.i.i4882 + %vtable.i.i.i.i281.i.i4885 = load ptr, ptr %2149, align 8 + %vfn.i.i.i.i282.i.i4886 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i281.i.i4885, i64 1 + %2150 = load ptr, ptr %vfn.i.i.i.i282.i.i4886, align 8 call void %2150(ptr noundef nonnull align 8 dereferenceable(128) %2149) #30 - br label %invoke.cont102.i.i4882 + br label %invoke.cont102.i.i4887 -lpad.i271.i.i4871: ; preds = %invoke.cont.i277.i.i4876, %.noexc283.i.i4868 +lpad.i271.i.i4876: ; preds = %invoke.cont.i277.i.i4881, %.noexc283.i.i4873 %2151 = landingpad { ptr, i32 } cleanup - %2152 = load ptr, ptr %ref.tmp.i268.i.i4575, align 8, !noalias !1614 - %cmp.not.i.i2.i272.i.i4872 = icmp eq ptr %2152, null - br i1 %cmp.not.i.i2.i272.i.i4872, label %lpad101.body.i.i4866, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i4873 + %2152 = load ptr, ptr %ref.tmp.i268.i.i4580, align 8, !noalias !1614 + %cmp.not.i.i2.i272.i.i4877 = icmp eq ptr %2152, null + br i1 %cmp.not.i.i2.i272.i.i4877, label %lpad101.body.i.i4871, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i4878 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i4873: ; preds = %lpad.i271.i.i4871 - %vtable.i.i.i4.i274.i.i4874 = load ptr, ptr %2152, align 8 - %vfn.i.i.i5.i275.i.i4875 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i4874, i64 1 - %2153 = load ptr, ptr %vfn.i.i.i5.i275.i.i4875, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i4878: ; preds = %lpad.i271.i.i4876 + %vtable.i.i.i4.i274.i.i4879 = load ptr, ptr %2152, align 8 + %vfn.i.i.i5.i275.i.i4880 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i274.i.i4879, i64 1 + %2153 = load ptr, ptr %vfn.i.i.i5.i275.i.i4880, align 8 call void %2153(ptr noundef nonnull align 8 dereferenceable(128) %2152) #30 - br label %lpad101.body.i.i4866 - -invoke.cont102.i.i4882: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i4879, %invoke.cont2.i278.i.i4877 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i4575), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i4574), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i4574) - to label %.noexc301.i.i4883 unwind label %lpad101.i.i4865 - -.noexc301.i.i4883: ; preds = %invoke.cont102.i.i4882 - %2154 = load ptr, ptr %ref.tmp.i286.i.i4574, align 8, !noalias !1614 - %add.ptr.i.i287.i.i4884 = getelementptr inbounds i8, ptr %2154, i64 16 - %call2.i1.i288.i.i4885 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i4884, ptr noundef nonnull @.str.108) - to label %invoke.cont.i295.i.i4891 unwind label %lpad.i289.i.i4886 - -invoke.cont.i295.i.i4891: ; preds = %.noexc301.i.i4883 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4587, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i4574) - to label %invoke.cont2.i296.i.i4892 unwind label %lpad.i289.i.i4886 - -invoke.cont2.i296.i.i4892: ; preds = %invoke.cont.i295.i.i4891 - %2155 = load ptr, ptr %ref.tmp.i286.i.i4574, align 8, !noalias !1614 - %cmp.not.i.i.i297.i.i4893 = icmp eq ptr %2155, null - br i1 %cmp.not.i.i.i297.i.i4893, label %invoke.cont104.i.i4897, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i4894 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i4894: ; preds = %invoke.cont2.i296.i.i4892 - %vtable.i.i.i.i299.i.i4895 = load ptr, ptr %2155, align 8 - %vfn.i.i.i.i300.i.i4896 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i4895, i64 1 - %2156 = load ptr, ptr %vfn.i.i.i.i300.i.i4896, align 8 + br label %lpad101.body.i.i4871 + +invoke.cont102.i.i4887: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i280.i.i4884, %invoke.cont2.i278.i.i4882 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i268.i.i4580), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i4579), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i4579) + to label %.noexc301.i.i4888 unwind label %lpad101.i.i4870 + +.noexc301.i.i4888: ; preds = %invoke.cont102.i.i4887 + %2154 = load ptr, ptr %ref.tmp.i286.i.i4579, align 8, !noalias !1614 + %add.ptr.i.i287.i.i4889 = getelementptr inbounds i8, ptr %2154, i64 16 + %call2.i1.i288.i.i4890 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i287.i.i4889, ptr noundef nonnull @.str.108) + to label %invoke.cont.i295.i.i4896 unwind label %lpad.i289.i.i4891 + +invoke.cont.i295.i.i4896: ; preds = %.noexc301.i.i4888 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4592, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i286.i.i4579) + to label %invoke.cont2.i296.i.i4897 unwind label %lpad.i289.i.i4891 + +invoke.cont2.i296.i.i4897: ; preds = %invoke.cont.i295.i.i4896 + %2155 = load ptr, ptr %ref.tmp.i286.i.i4579, align 8, !noalias !1614 + %cmp.not.i.i.i297.i.i4898 = icmp eq ptr %2155, null + br i1 %cmp.not.i.i.i297.i.i4898, label %invoke.cont104.i.i4902, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i4899 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i4899: ; preds = %invoke.cont2.i296.i.i4897 + %vtable.i.i.i.i299.i.i4900 = load ptr, ptr %2155, align 8 + %vfn.i.i.i.i300.i.i4901 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i299.i.i4900, i64 1 + %2156 = load ptr, ptr %vfn.i.i.i.i300.i.i4901, align 8 call void %2156(ptr noundef nonnull align 8 dereferenceable(128) %2155) #30 - br label %invoke.cont104.i.i4897 + br label %invoke.cont104.i.i4902 -lpad.i289.i.i4886: ; preds = %invoke.cont.i295.i.i4891, %.noexc301.i.i4883 +lpad.i289.i.i4891: ; preds = %invoke.cont.i295.i.i4896, %.noexc301.i.i4888 %2157 = landingpad { ptr, i32 } cleanup - %2158 = load ptr, ptr %ref.tmp.i286.i.i4574, align 8, !noalias !1614 - %cmp.not.i.i2.i290.i.i4887 = icmp eq ptr %2158, null - br i1 %cmp.not.i.i2.i290.i.i4887, label %lpad101.body.i.i4866, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i4888 + %2158 = load ptr, ptr %ref.tmp.i286.i.i4579, align 8, !noalias !1614 + %cmp.not.i.i2.i290.i.i4892 = icmp eq ptr %2158, null + br i1 %cmp.not.i.i2.i290.i.i4892, label %lpad101.body.i.i4871, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i4893 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i4888: ; preds = %lpad.i289.i.i4886 - %vtable.i.i.i4.i292.i.i4889 = load ptr, ptr %2158, align 8 - %vfn.i.i.i5.i293.i.i4890 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i4889, i64 1 - %2159 = load ptr, ptr %vfn.i.i.i5.i293.i.i4890, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i4893: ; preds = %lpad.i289.i.i4891 + %vtable.i.i.i4.i292.i.i4894 = load ptr, ptr %2158, align 8 + %vfn.i.i.i5.i293.i.i4895 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i292.i.i4894, i64 1 + %2159 = load ptr, ptr %vfn.i.i.i5.i293.i.i4895, align 8 call void %2159(ptr noundef nonnull align 8 dereferenceable(128) %2158) #30 - br label %lpad101.body.i.i4866 + br label %lpad101.body.i.i4871 -invoke.cont104.i.i4897: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i4894, %invoke.cont2.i296.i.i4892 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i4574), !noalias !1614 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4587) - to label %invoke.cont106.i.i4898 unwind label %lpad101.i.i4865 +invoke.cont104.i.i4902: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i298.i.i4899, %invoke.cont2.i296.i.i4897 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i286.i.i4579), !noalias !1614 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4592) + to label %invoke.cont106.i.i4903 unwind label %lpad101.i.i4870 -invoke.cont106.i.i4898: ; preds = %invoke.cont104.i.i4897 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i4588) #30 - %message_.i304.i.i4899 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i4587, i64 0, i32 1 - %2160 = load ptr, ptr %message_.i304.i.i4899, align 8, !noalias !1614 - %cmp.not.i.i305.i.i4900 = icmp eq ptr %2160, null - br i1 %cmp.not.i.i305.i.i4900, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i4902, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i4901 +invoke.cont106.i.i4903: ; preds = %invoke.cont104.i.i4902 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i4593) #30 + %message_.i304.i.i4904 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp94.i.i4592, i64 0, i32 1 + %2160 = load ptr, ptr %message_.i304.i.i4904, align 8, !noalias !1614 + %cmp.not.i.i305.i.i4905 = icmp eq ptr %2160, null + br i1 %cmp.not.i.i305.i.i4905, label %_ZN7testing15AssertionResultD2Ev.exit307.i.i4907, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i4906 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i4901: ; preds = %invoke.cont106.i.i4898 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i4906: ; preds = %invoke.cont106.i.i4903 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %2160) #30 call void @_ZdlPv(ptr noundef nonnull %2160) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i4902 + br label %_ZN7testing15AssertionResultD2Ev.exit307.i.i4907 -_ZN7testing15AssertionResultD2Ev.exit307.i.i4902: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i4901, %invoke.cont106.i.i4898 - store ptr null, ptr %message_.i304.i.i4899, align 8, !noalias !1614 - br label %cleanup257.critedge.i.i4903 +_ZN7testing15AssertionResultD2Ev.exit307.i.i4907: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306.i.i4906, %invoke.cont106.i.i4903 + store ptr null, ptr %message_.i304.i.i4904, align 8, !noalias !1614 + br label %cleanup257.critedge.i.i4908 -lpad83.loopexit.i.i5093: ; preds = %if.end158.i.i5088 - %lpad.loopexit.i.i5094 = landingpad { ptr, i32 } +lpad83.loopexit.i.i5098: ; preds = %if.end158.i.i5093 + %lpad.loopexit.i.i5099 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i4779 + br label %ehcleanup252.i.i4784 -lpad83.loopexit.split-lp.loopexit.i.i4777: ; preds = %for.body80.i.i4772, %if.end109.i.i4945 - %lpad.loopexit8.i.i4778 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.i.i4782: ; preds = %for.body80.i.i4777, %if.end109.i.i4950 + %lpad.loopexit8.i.i4783 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i4779 + br label %ehcleanup252.i.i4784 -lpad83.loopexit.split-lp.loopexit.split-lp.i.i4839: ; preds = %if.then116.i.i4976, %if.then93.i.i4838 - %lpad.loopexit.split-lp9.i.i4840 = landingpad { ptr, i32 } +lpad83.loopexit.split-lp.loopexit.split-lp.i.i4844: ; preds = %if.then116.i.i4981, %if.then93.i.i4843 + %lpad.loopexit.split-lp9.i.i4845 = landingpad { ptr, i32 } cleanup - br label %ehcleanup252.i.i4779 + br label %ehcleanup252.i.i4784 -lpad86.i.i4785: ; preds = %invoke.cont84.i.i4781 +lpad86.i.i4790: ; preds = %invoke.cont84.i.i4786 %2161 = landingpad { ptr, i32 } cleanup - br label %ehcleanup92.i.i4786 + br label %ehcleanup92.i.i4791 -lpad88.i.i4790: ; preds = %invoke.cont87.i.i4788 +lpad88.i.i4795: ; preds = %invoke.cont87.i.i4793 %2162 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i4586) #30 - br label %ehcleanup92.i.i4786 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp85.i.i4591) #30 + br label %ehcleanup92.i.i4791 -ehcleanup92.i.i4786: ; preds = %lpad88.i.i4790, %lpad86.i.i4785 - %.pn38.i.i4787 = phi { ptr, i32 } [ %2162, %lpad88.i.i4790 ], [ %2161, %lpad86.i.i4785 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i4585) #30 - br label %ehcleanup252.i.i4779 +ehcleanup92.i.i4791: ; preds = %lpad88.i.i4795, %lpad86.i.i4790 + %.pn38.i.i4792 = phi { ptr, i32 } [ %2162, %lpad88.i.i4795 ], [ %2161, %lpad86.i.i4790 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp82.i.i4590) #30 + br label %ehcleanup252.i.i4784 -lpad96.i.i4842: ; preds = %invoke.cont97.i.i4859, %invoke.cont95.i.i4841 +lpad96.i.i4847: ; preds = %invoke.cont97.i.i4864, %invoke.cont95.i.i4846 %2163 = landingpad { ptr, i32 } cleanup - br label %ehcleanup108.i.i4843 + br label %ehcleanup108.i.i4848 -lpad101.i.i4865: ; preds = %invoke.cont104.i.i4897, %invoke.cont102.i.i4882, %invoke.cont100.i.i4864 +lpad101.i.i4870: ; preds = %invoke.cont104.i.i4902, %invoke.cont102.i.i4887, %invoke.cont100.i.i4869 %2164 = landingpad { ptr, i32 } cleanup - br label %lpad101.body.i.i4866 - -lpad101.body.i.i4866: ; preds = %lpad101.i.i4865, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i4888, %lpad.i289.i.i4886, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i4873, %lpad.i271.i.i4871 - %eh.lpad-body284.i.i4867 = phi { ptr, i32 } [ %2151, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i4873 ], [ %2151, %lpad.i271.i.i4871 ], [ %2164, %lpad101.i.i4865 ], [ %2157, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i4888 ], [ %2157, %lpad.i289.i.i4886 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i4588) #30 - br label %ehcleanup108.i.i4843 - -ehcleanup108.i.i4843: ; preds = %lpad101.body.i.i4866, %lpad96.i.i4842, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i4850, %lpad.i254.i.i4848 - %.pn43.i.i4844 = phi { ptr, i32 } [ %eh.lpad-body284.i.i4867, %lpad101.body.i.i4866 ], [ %2163, %lpad96.i.i4842 ], [ %2144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i4850 ], [ %2144, %lpad.i254.i.i4848 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4587) #30 - br label %ehcleanup252.i.i4779 - -if.end109.i.i4945: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4837 - %call81.val66.i.i4946 = load ptr, ptr %__begin072.sroa.0.048.i.i4773, align 8 - %call81.val66.val.i.i4947 = load ptr, ptr %call81.val66.i.i4946, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i4589, ptr %call81.val66.val.i.i4947) - to label %invoke.cont111.i.i4949 unwind label %lpad83.loopexit.split-lp.loopexit.i.i4777 - -invoke.cont111.i.i4949: ; preds = %if.end109.i.i4945 - %call.i.i309.i.i4950 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i4589, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i4584) - to label %invoke.cont113.i.i4952 unwind label %lpad112.i.i4951 - -invoke.cont113.i.i4952: ; preds = %invoke.cont111.i.i4949 - %2165 = load ptr, ptr %_M_refcount.i.i.i311.i.i4754, align 8, !noalias !1614 - %cmp.not.i.i.i.i312.i.i4953 = icmp eq ptr %2165, null - br i1 %cmp.not.i.i.i.i312.i.i4953, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964, label %if.then.i.i.i.i313.i.i4954 - -if.then.i.i.i.i313.i.i4954: ; preds = %invoke.cont113.i.i4952 - %_M_use_count.i.i.i.i.i314.i.i4955 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2165, i64 0, i32 1 - %2166 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i4955 acquire, align 8 - %cmp.i.i.i.i.i315.i.i4956 = icmp eq i64 %2166, 4294967297 + br label %lpad101.body.i.i4871 + +lpad101.body.i.i4871: ; preds = %lpad101.i.i4870, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i4893, %lpad.i289.i.i4891, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i4878, %lpad.i271.i.i4876 + %eh.lpad-body284.i.i4872 = phi { ptr, i32 } [ %2151, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i273.i.i4878 ], [ %2151, %lpad.i271.i.i4876 ], [ %2164, %lpad101.i.i4870 ], [ %2157, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i291.i.i4893 ], [ %2157, %lpad.i289.i.i4891 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp99.i.i4593) #30 + br label %ehcleanup108.i.i4848 + +ehcleanup108.i.i4848: ; preds = %lpad101.body.i.i4871, %lpad96.i.i4847, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i4855, %lpad.i254.i.i4853 + %.pn43.i.i4849 = phi { ptr, i32 } [ %eh.lpad-body284.i.i4872, %lpad101.body.i.i4871 ], [ %2163, %lpad96.i.i4847 ], [ %2144, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i256.i.i4855 ], [ %2144, %lpad.i254.i.i4853 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp94.i.i4592) #30 + br label %ehcleanup252.i.i4784 + +if.end109.i.i4950: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit250.i.i4842 + %call81.val66.i.i4951 = load ptr, ptr %__begin072.sroa.0.048.i.i4778, align 8 + %call81.val66.val.i.i4952 = load ptr, ptr %call81.val66.i.i4951, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %ref.tmp110.i.i4594, ptr %call81.val66.val.i.i4952) + to label %invoke.cont111.i.i4954 unwind label %lpad83.loopexit.split-lp.loopexit.i.i4782 + +invoke.cont111.i.i4954: ; preds = %if.end109.i.i4950 + %call.i.i309.i.i4955 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp110.i.i4594, ptr noundef nonnull align 8 dereferenceable(24) %expected.i.i4589) + to label %invoke.cont113.i.i4957 unwind label %lpad112.i.i4956 + +invoke.cont113.i.i4957: ; preds = %invoke.cont111.i.i4954 + %2165 = load ptr, ptr %_M_refcount.i.i.i311.i.i4759, align 8, !noalias !1614 + %cmp.not.i.i.i.i312.i.i4958 = icmp eq ptr %2165, null + br i1 %cmp.not.i.i.i.i312.i.i4958, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969, label %if.then.i.i.i.i313.i.i4959 + +if.then.i.i.i.i313.i.i4959: ; preds = %invoke.cont113.i.i4957 + %_M_use_count.i.i.i.i.i314.i.i4960 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2165, i64 0, i32 1 + %2166 = load atomic i64, ptr %_M_use_count.i.i.i.i.i314.i.i4960 acquire, align 8 + %cmp.i.i.i.i.i315.i.i4961 = icmp eq i64 %2166, 4294967297 %2167 = trunc i64 %2166 to i32 - br i1 %cmp.i.i.i.i.i315.i.i4956, label %if.then.i.i.i.i.i350.i.i5561, label %if.end.i.i.i.i.i316.i.i4957 - -if.then.i.i.i.i.i350.i.i5561: ; preds = %if.then.i.i.i.i313.i.i4954 - store i32 0, ptr %_M_use_count.i.i.i.i.i314.i.i4955, align 8 - %_M_weak_count.i.i.i.i.i351.i.i5562 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2165, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i351.i.i5562, align 4 - %vtable.i.i.i.i.i352.i.i5563 = load ptr, ptr %2165, align 8 - %vfn.i.i.i.i.i353.i.i5564 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i352.i.i5563, i64 2 - %2168 = load ptr, ptr %vfn.i.i.i.i.i353.i.i5564, align 8 + br i1 %cmp.i.i.i.i.i315.i.i4961, label %if.then.i.i.i.i.i350.i.i5566, label %if.end.i.i.i.i.i316.i.i4962 + +if.then.i.i.i.i.i350.i.i5566: ; preds = %if.then.i.i.i.i313.i.i4959 + store i32 0, ptr %_M_use_count.i.i.i.i.i314.i.i4960, align 8 + %_M_weak_count.i.i.i.i.i351.i.i5567 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2165, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i351.i.i5567, align 4 + %vtable.i.i.i.i.i352.i.i5568 = load ptr, ptr %2165, align 8 + %vfn.i.i.i.i.i353.i.i5569 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i352.i.i5568, i64 2 + %2168 = load ptr, ptr %vfn.i.i.i.i.i353.i.i5569, align 8 call void %2168(ptr noundef nonnull align 8 dereferenceable(16) %2165) #30 - br label %if.end8.sink.split.i.i.i.i.i345.i.i5556 + br label %if.end8.sink.split.i.i.i.i.i345.i.i5561 -if.end.i.i.i.i.i316.i.i4957: ; preds = %if.then.i.i.i.i313.i.i4954 +if.end.i.i.i.i.i316.i.i4962: ; preds = %if.then.i.i.i.i313.i.i4959 %2169 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i317.i.i4958 = icmp eq i8 %2169, 0 - br i1 %tobool.i.i.not.i.i.i.i.i317.i.i4958, label %if.else.i.i.i.i.i.i349.i.i5560, label %if.then.i.i.i.i.i.i318.i.i4959 - -if.then.i.i.i.i.i.i318.i.i4959: ; preds = %if.end.i.i.i.i.i316.i.i4957 - %add.i.i.i.i.i.i319.i.i4960 = add nsw i32 %2167, -1 - store i32 %add.i.i.i.i.i.i319.i.i4960, ptr %_M_use_count.i.i.i.i.i314.i.i4955, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4961 - -if.else.i.i.i.i.i.i349.i.i5560: ; preds = %if.end.i.i.i.i.i316.i.i4957 - %2170 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i314.i.i4955, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4961 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4961: ; preds = %if.else.i.i.i.i.i.i349.i.i5560, %if.then.i.i.i.i.i.i318.i.i4959 - %retval.i.0.i.i.i.i.i321.i.i4962 = phi i32 [ %2167, %if.then.i.i.i.i.i.i318.i.i4959 ], [ %2170, %if.else.i.i.i.i.i.i349.i.i5560 ] - %cmp6.i.i.i.i.i322.i.i4963 = icmp eq i32 %retval.i.0.i.i.i.i.i321.i.i4962, 1 - br i1 %cmp6.i.i.i.i.i322.i.i4963, label %if.then7.i.i.i.i.i335.i.i5546, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964 - -if.then7.i.i.i.i.i335.i.i5546: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4961 - %vtable.i.i.i.i.i.i.i336.i.i5547 = load ptr, ptr %2165, align 8 - %vfn.i.i.i.i.i.i.i337.i.i5548 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i336.i.i5547, i64 2 - %2171 = load ptr, ptr %vfn.i.i.i.i.i.i.i337.i.i5548, align 8 + %tobool.i.i.not.i.i.i.i.i317.i.i4963 = icmp eq i8 %2169, 0 + br i1 %tobool.i.i.not.i.i.i.i.i317.i.i4963, label %if.else.i.i.i.i.i.i349.i.i5565, label %if.then.i.i.i.i.i.i318.i.i4964 + +if.then.i.i.i.i.i.i318.i.i4964: ; preds = %if.end.i.i.i.i.i316.i.i4962 + %add.i.i.i.i.i.i319.i.i4965 = add nsw i32 %2167, -1 + store i32 %add.i.i.i.i.i.i319.i.i4965, ptr %_M_use_count.i.i.i.i.i314.i.i4960, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4966 + +if.else.i.i.i.i.i.i349.i.i5565: ; preds = %if.end.i.i.i.i.i316.i.i4962 + %2170 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i314.i.i4960, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4966 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4966: ; preds = %if.else.i.i.i.i.i.i349.i.i5565, %if.then.i.i.i.i.i.i318.i.i4964 + %retval.i.0.i.i.i.i.i321.i.i4967 = phi i32 [ %2167, %if.then.i.i.i.i.i.i318.i.i4964 ], [ %2170, %if.else.i.i.i.i.i.i349.i.i5565 ] + %cmp6.i.i.i.i.i322.i.i4968 = icmp eq i32 %retval.i.0.i.i.i.i.i321.i.i4967, 1 + br i1 %cmp6.i.i.i.i.i322.i.i4968, label %if.then7.i.i.i.i.i335.i.i5551, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969 + +if.then7.i.i.i.i.i335.i.i5551: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4966 + %vtable.i.i.i.i.i.i.i336.i.i5552 = load ptr, ptr %2165, align 8 + %vfn.i.i.i.i.i.i.i337.i.i5553 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i336.i.i5552, i64 2 + %2171 = load ptr, ptr %vfn.i.i.i.i.i.i.i337.i.i5553, align 8 call void %2171(ptr noundef nonnull align 8 dereferenceable(16) %2165) #30 - %_M_weak_count.i.i.i.i.i.i.i338.i.i5549 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2165, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i338.i.i5554 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2165, i64 0, i32 2 %2172 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i339.i.i5550 = icmp eq i8 %2172, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i339.i.i5550, label %if.else.i.i.i.i.i.i.i.i348.i.i5559, label %if.then.i.i.i.i.i.i.i.i340.i.i5551 - -if.then.i.i.i.i.i.i.i.i340.i.i5551: ; preds = %if.then7.i.i.i.i.i335.i.i5546 - %2173 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i5549, align 4 - %add.i.i.i.i.i.i.i.i341.i.i5552 = add nsw i32 %2173, -1 - store i32 %add.i.i.i.i.i.i.i.i341.i.i5552, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i5549, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5553 - -if.else.i.i.i.i.i.i.i.i348.i.i5559: ; preds = %if.then7.i.i.i.i.i335.i.i5546 - %2174 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i5549, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5553 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5553: ; preds = %if.else.i.i.i.i.i.i.i.i348.i.i5559, %if.then.i.i.i.i.i.i.i.i340.i.i5551 - %retval.i.0.i.i.i.i.i.i.i343.i.i5554 = phi i32 [ %2173, %if.then.i.i.i.i.i.i.i.i340.i.i5551 ], [ %2174, %if.else.i.i.i.i.i.i.i.i348.i.i5559 ] - %cmp.i.i.i.i.i.i.i344.i.i5555 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i343.i.i5554, 1 - br i1 %cmp.i.i.i.i.i.i.i344.i.i5555, label %if.end8.sink.split.i.i.i.i.i345.i.i5556, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964 - -if.end8.sink.split.i.i.i.i.i345.i.i5556: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5553, %if.then.i.i.i.i.i350.i.i5561 - %vtable2.i.i.i.i.i.i.i346.i.i5557 = load ptr, ptr %2165, align 8 - %vfn3.i.i.i.i.i.i.i347.i.i5558 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i346.i.i5557, i64 3 - %2175 = load ptr, ptr %vfn3.i.i.i.i.i.i.i347.i.i5558, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i339.i.i5555 = icmp eq i8 %2172, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i339.i.i5555, label %if.else.i.i.i.i.i.i.i.i348.i.i5564, label %if.then.i.i.i.i.i.i.i.i340.i.i5556 + +if.then.i.i.i.i.i.i.i.i340.i.i5556: ; preds = %if.then7.i.i.i.i.i335.i.i5551 + %2173 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i5554, align 4 + %add.i.i.i.i.i.i.i.i341.i.i5557 = add nsw i32 %2173, -1 + store i32 %add.i.i.i.i.i.i.i.i341.i.i5557, ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i5554, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5558 + +if.else.i.i.i.i.i.i.i.i348.i.i5564: ; preds = %if.then7.i.i.i.i.i335.i.i5551 + %2174 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i338.i.i5554, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5558 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5558: ; preds = %if.else.i.i.i.i.i.i.i.i348.i.i5564, %if.then.i.i.i.i.i.i.i.i340.i.i5556 + %retval.i.0.i.i.i.i.i.i.i343.i.i5559 = phi i32 [ %2173, %if.then.i.i.i.i.i.i.i.i340.i.i5556 ], [ %2174, %if.else.i.i.i.i.i.i.i.i348.i.i5564 ] + %cmp.i.i.i.i.i.i.i344.i.i5560 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i343.i.i5559, 1 + br i1 %cmp.i.i.i.i.i.i.i344.i.i5560, label %if.end8.sink.split.i.i.i.i.i345.i.i5561, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969 + +if.end8.sink.split.i.i.i.i.i345.i.i5561: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5558, %if.then.i.i.i.i.i350.i.i5566 + %vtable2.i.i.i.i.i.i.i346.i.i5562 = load ptr, ptr %2165, align 8 + %vfn3.i.i.i.i.i.i.i347.i.i5563 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i346.i.i5562, i64 3 + %2175 = load ptr, ptr %vfn3.i.i.i.i.i.i.i347.i.i5563, align 8 call void %2175(ptr noundef nonnull align 8 dereferenceable(16) %2165) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i5556, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5553, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4961, %invoke.cont113.i.i4952 - %2176 = load ptr, ptr %ref.tmp110.i.i4589, align 8, !noalias !1614 - %2177 = load ptr, ptr %_M_finish.i.i324.i.i4755, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i325.i.i4965 = icmp eq ptr %2176, %2177 - br i1 %cmp.not3.i.i.i.i.i325.i.i4965, label %invoke.cont.i.i332.i.i4972, label %for.body.i.i.i.i.i326.i.i4966 - -for.body.i.i.i.i.i326.i.i4966: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964, %for.body.i.i.i.i.i326.i.i4966 - %__first.addr.04.i.i.i.i.i327.i.i4967 = phi ptr [ %incdec.ptr.i.i.i.i.i328.i.i4968, %for.body.i.i.i.i.i326.i.i4966 ], [ %2176, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i327.i.i4967) #30 - %incdec.ptr.i.i.i.i.i328.i.i4968 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i327.i.i4967, i64 1 - %cmp.not.i.i.i.i.i329.i.i4969 = icmp eq ptr %incdec.ptr.i.i.i.i.i328.i.i4968, %2177 - br i1 %cmp.not.i.i.i.i.i329.i.i4969, label %invoke.contthread-pre-split.i.i330.i.i4970, label %for.body.i.i.i.i.i326.i.i4966, !llvm.loop !8 - -invoke.contthread-pre-split.i.i330.i.i4970: ; preds = %for.body.i.i.i.i.i326.i.i4966 - %.pr.i.i331.i.i4971 = load ptr, ptr %ref.tmp110.i.i4589, align 8, !noalias !1614 - br label %invoke.cont.i.i332.i.i4972 - -invoke.cont.i.i332.i.i4972: ; preds = %invoke.contthread-pre-split.i.i330.i.i4970, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964 - %2178 = phi ptr [ %.pr.i.i331.i.i4971, %invoke.contthread-pre-split.i.i330.i.i4970 ], [ %2176, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4964 ] - %tobool.not.i.i.i.i333.i.i4973 = icmp eq ptr %2178, null - br i1 %tobool.not.i.i.i.i333.i.i4973, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4975, label %if.then.i.i.i1.i334.i.i4974 - -if.then.i.i.i1.i334.i.i4974: ; preds = %invoke.cont.i.i332.i.i4972 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969: ; preds = %if.end8.sink.split.i.i.i.i.i345.i.i5561, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i342.i.i5558, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i320.i.i4966, %invoke.cont113.i.i4957 + %2176 = load ptr, ptr %ref.tmp110.i.i4594, align 8, !noalias !1614 + %2177 = load ptr, ptr %_M_finish.i.i324.i.i4760, align 8, !noalias !1614 + %cmp.not3.i.i.i.i.i325.i.i4970 = icmp eq ptr %2176, %2177 + br i1 %cmp.not3.i.i.i.i.i325.i.i4970, label %invoke.cont.i.i332.i.i4977, label %for.body.i.i.i.i.i326.i.i4971 + +for.body.i.i.i.i.i326.i.i4971: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969, %for.body.i.i.i.i.i326.i.i4971 + %__first.addr.04.i.i.i.i.i327.i.i4972 = phi ptr [ %incdec.ptr.i.i.i.i.i328.i.i4973, %for.body.i.i.i.i.i326.i.i4971 ], [ %2176, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i327.i.i4972) #30 + %incdec.ptr.i.i.i.i.i328.i.i4973 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i327.i.i4972, i64 1 + %cmp.not.i.i.i.i.i329.i.i4974 = icmp eq ptr %incdec.ptr.i.i.i.i.i328.i.i4973, %2177 + br i1 %cmp.not.i.i.i.i.i329.i.i4974, label %invoke.contthread-pre-split.i.i330.i.i4975, label %for.body.i.i.i.i.i326.i.i4971, !llvm.loop !8 + +invoke.contthread-pre-split.i.i330.i.i4975: ; preds = %for.body.i.i.i.i.i326.i.i4971 + %.pr.i.i331.i.i4976 = load ptr, ptr %ref.tmp110.i.i4594, align 8, !noalias !1614 + br label %invoke.cont.i.i332.i.i4977 + +invoke.cont.i.i332.i.i4977: ; preds = %invoke.contthread-pre-split.i.i330.i.i4975, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969 + %2178 = phi ptr [ %.pr.i.i331.i.i4976, %invoke.contthread-pre-split.i.i330.i.i4975 ], [ %2176, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i323.i.i4969 ] + %tobool.not.i.i.i.i333.i.i4978 = icmp eq ptr %2178, null + br i1 %tobool.not.i.i.i.i333.i.i4978, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4980, label %if.then.i.i.i1.i334.i.i4979 + +if.then.i.i.i1.i334.i.i4979: ; preds = %invoke.cont.i.i332.i.i4977 call void @_ZdlPv(ptr noundef nonnull %2178) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4975 - -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4975: ; preds = %if.then.i.i.i1.i334.i.i4974, %invoke.cont.i.i332.i.i4972 - br i1 %call.i.i309.i.i4950, label %for.inc142.i.i5078, label %if.then116.i.i4976 - -if.then116.i.i4976: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4975 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i4590) - to label %invoke.cont118.i.i4977 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i4839 - -invoke.cont118.i.i4977: ; preds = %if.then116.i.i4976 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i4573), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i4573) - to label %.noexc370.i.i4981 unwind label %lpad119.i.i4978 - -.noexc370.i.i4981: ; preds = %invoke.cont118.i.i4977 - %2179 = load ptr, ptr %ref.tmp.i355.i.i4573, align 8, !noalias !1614 - %add.ptr.i.i356.i.i4982 = getelementptr inbounds i8, ptr %2179, i64 16 - %call2.i1.i357.i.i4983 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i4982, ptr noundef nonnull @.str.109) - to label %invoke.cont.i364.i.i4989 unwind label %lpad.i358.i.i4984 - -invoke.cont.i364.i.i4989: ; preds = %.noexc370.i.i4981 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4590, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i4573) - to label %invoke.cont2.i365.i.i4990 unwind label %lpad.i358.i.i4984 - -invoke.cont2.i365.i.i4990: ; preds = %invoke.cont.i364.i.i4989 - %2180 = load ptr, ptr %ref.tmp.i355.i.i4573, align 8, !noalias !1614 - %cmp.not.i.i.i366.i.i4991 = icmp eq ptr %2180, null - br i1 %cmp.not.i.i.i366.i.i4991, label %invoke.cont120.i.i4995, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i4992 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i4992: ; preds = %invoke.cont2.i365.i.i4990 - %vtable.i.i.i.i368.i.i4993 = load ptr, ptr %2180, align 8 - %vfn.i.i.i.i369.i.i4994 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i4993, i64 1 - %2181 = load ptr, ptr %vfn.i.i.i.i369.i.i4994, align 8 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4980 + +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4980: ; preds = %if.then.i.i.i1.i334.i.i4979, %invoke.cont.i.i332.i.i4977 + br i1 %call.i.i309.i.i4955, label %for.inc142.i.i5083, label %if.then116.i.i4981 + +if.then116.i.i4981: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4980 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp117.i.i4595) + to label %invoke.cont118.i.i4982 unwind label %lpad83.loopexit.split-lp.loopexit.split-lp.i.i4844 + +invoke.cont118.i.i4982: ; preds = %if.then116.i.i4981 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i4578), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i4578) + to label %.noexc370.i.i4986 unwind label %lpad119.i.i4983 + +.noexc370.i.i4986: ; preds = %invoke.cont118.i.i4982 + %2179 = load ptr, ptr %ref.tmp.i355.i.i4578, align 8, !noalias !1614 + %add.ptr.i.i356.i.i4987 = getelementptr inbounds i8, ptr %2179, i64 16 + %call2.i1.i357.i.i4988 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i356.i.i4987, ptr noundef nonnull @.str.109) + to label %invoke.cont.i364.i.i4994 unwind label %lpad.i358.i.i4989 + +invoke.cont.i364.i.i4994: ; preds = %.noexc370.i.i4986 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4595, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i355.i.i4578) + to label %invoke.cont2.i365.i.i4995 unwind label %lpad.i358.i.i4989 + +invoke.cont2.i365.i.i4995: ; preds = %invoke.cont.i364.i.i4994 + %2180 = load ptr, ptr %ref.tmp.i355.i.i4578, align 8, !noalias !1614 + %cmp.not.i.i.i366.i.i4996 = icmp eq ptr %2180, null + br i1 %cmp.not.i.i.i366.i.i4996, label %invoke.cont120.i.i5000, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i4997 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i4997: ; preds = %invoke.cont2.i365.i.i4995 + %vtable.i.i.i.i368.i.i4998 = load ptr, ptr %2180, align 8 + %vfn.i.i.i.i369.i.i4999 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i368.i.i4998, i64 1 + %2181 = load ptr, ptr %vfn.i.i.i.i369.i.i4999, align 8 call void %2181(ptr noundef nonnull align 8 dereferenceable(128) %2180) #30 - br label %invoke.cont120.i.i4995 + br label %invoke.cont120.i.i5000 -lpad.i358.i.i4984: ; preds = %invoke.cont.i364.i.i4989, %.noexc370.i.i4981 +lpad.i358.i.i4989: ; preds = %invoke.cont.i364.i.i4994, %.noexc370.i.i4986 %2182 = landingpad { ptr, i32 } cleanup - %2183 = load ptr, ptr %ref.tmp.i355.i.i4573, align 8, !noalias !1614 - %cmp.not.i.i2.i359.i.i4985 = icmp eq ptr %2183, null - br i1 %cmp.not.i.i2.i359.i.i4985, label %ehcleanup140.i.i4979, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i4986 + %2183 = load ptr, ptr %ref.tmp.i355.i.i4578, align 8, !noalias !1614 + %cmp.not.i.i2.i359.i.i4990 = icmp eq ptr %2183, null + br i1 %cmp.not.i.i2.i359.i.i4990, label %ehcleanup140.i.i4984, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i4991 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i4986: ; preds = %lpad.i358.i.i4984 - %vtable.i.i.i4.i361.i.i4987 = load ptr, ptr %2183, align 8 - %vfn.i.i.i5.i362.i.i4988 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i4987, i64 1 - %2184 = load ptr, ptr %vfn.i.i.i5.i362.i.i4988, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i4991: ; preds = %lpad.i358.i.i4989 + %vtable.i.i.i4.i361.i.i4992 = load ptr, ptr %2183, align 8 + %vfn.i.i.i5.i362.i.i4993 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i361.i.i4992, i64 1 + %2184 = load ptr, ptr %vfn.i.i.i5.i362.i.i4993, align 8 call void %2184(ptr noundef nonnull align 8 dereferenceable(128) %2183) #30 - br label %ehcleanup140.i.i4979 - -invoke.cont120.i.i4995: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i4992, %invoke.cont2.i365.i.i4990 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i4573), !noalias !1614 - %call68.val73.i.i4996 = load ptr, ptr %__begin058.sroa.0.052.i.i4761, align 8 - %call123.val.i.i4997 = load ptr, ptr %call68.val73.i.i4996, align 8 - %2185 = getelementptr i8, ptr %call68.val73.i.i4996, i64 8 - %call123.val85.i.i4998 = load i64, ptr %2185, align 8 - %call123.val.val.i.i4999 = load ptr, ptr %call123.val.i.i4997, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i4591, ptr %call123.val.val.i.i4999, i64 %call123.val85.i.i4998) - to label %invoke.cont124.i.i5001 unwind label %lpad119.i.i4978 - -invoke.cont124.i.i5001: ; preds = %invoke.cont120.i.i4995 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i4572), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i4572) - to label %.noexc387.i.i5005 unwind label %lpad125.i.i5002 - -.noexc387.i.i5005: ; preds = %invoke.cont124.i.i5001 - %2186 = load ptr, ptr %ref.tmp.i372.i.i4572, align 8, !noalias !1614 - %add.ptr.i.i373.i.i5006 = getelementptr inbounds i8, ptr %2186, i64 16 - %call2.i1.i374.i.i5007 = 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) %add.ptr.i.i373.i.i5006, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i4591) - to label %invoke.cont.i381.i.i5013 unwind label %lpad.i375.i.i5008 - -invoke.cont.i381.i.i5013: ; preds = %.noexc387.i.i5005 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4590, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i4572) - to label %invoke.cont2.i382.i.i5014 unwind label %lpad.i375.i.i5008 - -invoke.cont2.i382.i.i5014: ; preds = %invoke.cont.i381.i.i5013 - %2187 = load ptr, ptr %ref.tmp.i372.i.i4572, align 8, !noalias !1614 - %cmp.not.i.i.i383.i.i5015 = icmp eq ptr %2187, null - br i1 %cmp.not.i.i.i383.i.i5015, label %invoke.cont126.i.i5019, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i5016 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i5016: ; preds = %invoke.cont2.i382.i.i5014 - %vtable.i.i.i.i385.i.i5017 = load ptr, ptr %2187, align 8 - %vfn.i.i.i.i386.i.i5018 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i5017, i64 1 - %2188 = load ptr, ptr %vfn.i.i.i.i386.i.i5018, align 8 + br label %ehcleanup140.i.i4984 + +invoke.cont120.i.i5000: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i367.i.i4997, %invoke.cont2.i365.i.i4995 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i355.i.i4578), !noalias !1614 + %call68.val73.i.i5001 = load ptr, ptr %__begin058.sroa.0.052.i.i4766, align 8 + %call123.val.i.i5002 = load ptr, ptr %call68.val73.i.i5001, align 8 + %2185 = getelementptr i8, ptr %call68.val73.i.i5001, i64 8 + %call123.val85.i.i5003 = load i64, ptr %2185, align 8 + %call123.val.val.i.i5004 = load ptr, ptr %call123.val.i.i5002, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp122.i.i4596, ptr %call123.val.val.i.i5004, i64 %call123.val85.i.i5003) + to label %invoke.cont124.i.i5006 unwind label %lpad119.i.i4983 + +invoke.cont124.i.i5006: ; preds = %invoke.cont120.i.i5000 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i4577), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i4577) + to label %.noexc387.i.i5010 unwind label %lpad125.i.i5007 + +.noexc387.i.i5010: ; preds = %invoke.cont124.i.i5006 + %2186 = load ptr, ptr %ref.tmp.i372.i.i4577, align 8, !noalias !1614 + %add.ptr.i.i373.i.i5011 = getelementptr inbounds i8, ptr %2186, i64 16 + %call2.i1.i374.i.i5012 = 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) %add.ptr.i.i373.i.i5011, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i4596) + to label %invoke.cont.i381.i.i5018 unwind label %lpad.i375.i.i5013 + +invoke.cont.i381.i.i5018: ; preds = %.noexc387.i.i5010 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4595, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i372.i.i4577) + to label %invoke.cont2.i382.i.i5019 unwind label %lpad.i375.i.i5013 + +invoke.cont2.i382.i.i5019: ; preds = %invoke.cont.i381.i.i5018 + %2187 = load ptr, ptr %ref.tmp.i372.i.i4577, align 8, !noalias !1614 + %cmp.not.i.i.i383.i.i5020 = icmp eq ptr %2187, null + br i1 %cmp.not.i.i.i383.i.i5020, label %invoke.cont126.i.i5024, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i5021 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i5021: ; preds = %invoke.cont2.i382.i.i5019 + %vtable.i.i.i.i385.i.i5022 = load ptr, ptr %2187, align 8 + %vfn.i.i.i.i386.i.i5023 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i385.i.i5022, i64 1 + %2188 = load ptr, ptr %vfn.i.i.i.i386.i.i5023, align 8 call void %2188(ptr noundef nonnull align 8 dereferenceable(128) %2187) #30 - br label %invoke.cont126.i.i5019 + br label %invoke.cont126.i.i5024 -lpad.i375.i.i5008: ; preds = %invoke.cont.i381.i.i5013, %.noexc387.i.i5005 +lpad.i375.i.i5013: ; preds = %invoke.cont.i381.i.i5018, %.noexc387.i.i5010 %2189 = landingpad { ptr, i32 } cleanup - %2190 = load ptr, ptr %ref.tmp.i372.i.i4572, align 8, !noalias !1614 - %cmp.not.i.i2.i376.i.i5009 = icmp eq ptr %2190, null - br i1 %cmp.not.i.i2.i376.i.i5009, label %ehcleanup139.i.i5003, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i5010 + %2190 = load ptr, ptr %ref.tmp.i372.i.i4577, align 8, !noalias !1614 + %cmp.not.i.i2.i376.i.i5014 = icmp eq ptr %2190, null + br i1 %cmp.not.i.i2.i376.i.i5014, label %ehcleanup139.i.i5008, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i5015 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i5010: ; preds = %lpad.i375.i.i5008 - %vtable.i.i.i4.i378.i.i5011 = load ptr, ptr %2190, align 8 - %vfn.i.i.i5.i379.i.i5012 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i5011, i64 1 - %2191 = load ptr, ptr %vfn.i.i.i5.i379.i.i5012, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i5015: ; preds = %lpad.i375.i.i5013 + %vtable.i.i.i4.i378.i.i5016 = load ptr, ptr %2190, align 8 + %vfn.i.i.i5.i379.i.i5017 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i378.i.i5016, i64 1 + %2191 = load ptr, ptr %vfn.i.i.i5.i379.i.i5017, align 8 call void %2191(ptr noundef nonnull align 8 dereferenceable(128) %2190) #30 - br label %ehcleanup139.i.i5003 - -invoke.cont126.i.i5019: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i5016, %invoke.cont2.i382.i.i5014 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i4572), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i4571), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i4571) - to label %.noexc405.i.i5020 unwind label %lpad125.i.i5002 - -.noexc405.i.i5020: ; preds = %invoke.cont126.i.i5019 - %2192 = load ptr, ptr %ref.tmp.i390.i.i4571, align 8, !noalias !1614 - %add.ptr.i.i391.i.i5021 = getelementptr inbounds i8, ptr %2192, i64 16 - %call2.i1.i392.i.i5022 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i5021, ptr noundef nonnull @.str.110) - to label %invoke.cont.i399.i.i5028 unwind label %lpad.i393.i.i5023 - -invoke.cont.i399.i.i5028: ; preds = %.noexc405.i.i5020 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4590, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i4571) - to label %invoke.cont2.i400.i.i5029 unwind label %lpad.i393.i.i5023 - -invoke.cont2.i400.i.i5029: ; preds = %invoke.cont.i399.i.i5028 - %2193 = load ptr, ptr %ref.tmp.i390.i.i4571, align 8, !noalias !1614 - %cmp.not.i.i.i401.i.i5030 = icmp eq ptr %2193, null - br i1 %cmp.not.i.i.i401.i.i5030, label %invoke.cont128.i.i5034, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i5031 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i5031: ; preds = %invoke.cont2.i400.i.i5029 - %vtable.i.i.i.i403.i.i5032 = load ptr, ptr %2193, align 8 - %vfn.i.i.i.i404.i.i5033 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i5032, i64 1 - %2194 = load ptr, ptr %vfn.i.i.i.i404.i.i5033, align 8 + br label %ehcleanup139.i.i5008 + +invoke.cont126.i.i5024: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i384.i.i5021, %invoke.cont2.i382.i.i5019 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i372.i.i4577), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i4576), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i4576) + to label %.noexc405.i.i5025 unwind label %lpad125.i.i5007 + +.noexc405.i.i5025: ; preds = %invoke.cont126.i.i5024 + %2192 = load ptr, ptr %ref.tmp.i390.i.i4576, align 8, !noalias !1614 + %add.ptr.i.i391.i.i5026 = getelementptr inbounds i8, ptr %2192, i64 16 + %call2.i1.i392.i.i5027 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i391.i.i5026, ptr noundef nonnull @.str.110) + to label %invoke.cont.i399.i.i5033 unwind label %lpad.i393.i.i5028 + +invoke.cont.i399.i.i5033: ; preds = %.noexc405.i.i5025 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4595, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i390.i.i4576) + to label %invoke.cont2.i400.i.i5034 unwind label %lpad.i393.i.i5028 + +invoke.cont2.i400.i.i5034: ; preds = %invoke.cont.i399.i.i5033 + %2193 = load ptr, ptr %ref.tmp.i390.i.i4576, align 8, !noalias !1614 + %cmp.not.i.i.i401.i.i5035 = icmp eq ptr %2193, null + br i1 %cmp.not.i.i.i401.i.i5035, label %invoke.cont128.i.i5039, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i5036 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i5036: ; preds = %invoke.cont2.i400.i.i5034 + %vtable.i.i.i.i403.i.i5037 = load ptr, ptr %2193, align 8 + %vfn.i.i.i.i404.i.i5038 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i403.i.i5037, i64 1 + %2194 = load ptr, ptr %vfn.i.i.i.i404.i.i5038, align 8 call void %2194(ptr noundef nonnull align 8 dereferenceable(128) %2193) #30 - br label %invoke.cont128.i.i5034 + br label %invoke.cont128.i.i5039 -lpad.i393.i.i5023: ; preds = %invoke.cont.i399.i.i5028, %.noexc405.i.i5020 +lpad.i393.i.i5028: ; preds = %invoke.cont.i399.i.i5033, %.noexc405.i.i5025 %2195 = landingpad { ptr, i32 } cleanup - %2196 = load ptr, ptr %ref.tmp.i390.i.i4571, align 8, !noalias !1614 - %cmp.not.i.i2.i394.i.i5024 = icmp eq ptr %2196, null - br i1 %cmp.not.i.i2.i394.i.i5024, label %ehcleanup139.i.i5003, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i5025 + %2196 = load ptr, ptr %ref.tmp.i390.i.i4576, align 8, !noalias !1614 + %cmp.not.i.i2.i394.i.i5029 = icmp eq ptr %2196, null + br i1 %cmp.not.i.i2.i394.i.i5029, label %ehcleanup139.i.i5008, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i5030 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i5025: ; preds = %lpad.i393.i.i5023 - %vtable.i.i.i4.i396.i.i5026 = load ptr, ptr %2196, align 8 - %vfn.i.i.i5.i397.i.i5027 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i5026, i64 1 - %2197 = load ptr, ptr %vfn.i.i.i5.i397.i.i5027, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i5030: ; preds = %lpad.i393.i.i5028 + %vtable.i.i.i4.i396.i.i5031 = load ptr, ptr %2196, align 8 + %vfn.i.i.i5.i397.i.i5032 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i396.i.i5031, i64 1 + %2197 = load ptr, ptr %vfn.i.i.i5.i397.i.i5032, align 8 call void %2197(ptr noundef nonnull align 8 dereferenceable(128) %2196) #30 - br label %ehcleanup139.i.i5003 - -invoke.cont128.i.i5034: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i5031, %invoke.cont2.i400.i.i5029 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i4571), !noalias !1614 - %call81.val86.i.i5035 = load ptr, ptr %__begin072.sroa.0.048.i.i4773, align 8 - %2198 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i4773, i64 8 - %call81.val87.i.i5036 = load i64, ptr %2198, align 8 - %call81.val86.val.i.i5037 = load ptr, ptr %call81.val86.i.i5035, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i4592, ptr %call81.val86.val.i.i5037, i64 %call81.val87.i.i5036) - to label %invoke.cont131.i.i5039 unwind label %lpad125.i.i5002 - -invoke.cont131.i.i5039: ; preds = %invoke.cont128.i.i5034 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i4570), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i4570) - to label %.noexc423.i.i5043 unwind label %lpad132.i.i5040 - -.noexc423.i.i5043: ; preds = %invoke.cont131.i.i5039 - %2199 = load ptr, ptr %ref.tmp.i408.i.i4570, align 8, !noalias !1614 - %add.ptr.i.i409.i.i5044 = getelementptr inbounds i8, ptr %2199, i64 16 - %call2.i1.i410.i.i5045 = 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) %add.ptr.i.i409.i.i5044, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i4592) - to label %invoke.cont.i417.i.i5051 unwind label %lpad.i411.i.i5046 - -invoke.cont.i417.i.i5051: ; preds = %.noexc423.i.i5043 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4590, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i4570) - to label %invoke.cont2.i418.i.i5052 unwind label %lpad.i411.i.i5046 - -invoke.cont2.i418.i.i5052: ; preds = %invoke.cont.i417.i.i5051 - %2200 = load ptr, ptr %ref.tmp.i408.i.i4570, align 8, !noalias !1614 - %cmp.not.i.i.i419.i.i5053 = icmp eq ptr %2200, null - br i1 %cmp.not.i.i.i419.i.i5053, label %invoke.cont133.i.i5057, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i5054 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i5054: ; preds = %invoke.cont2.i418.i.i5052 - %vtable.i.i.i.i421.i.i5055 = load ptr, ptr %2200, align 8 - %vfn.i.i.i.i422.i.i5056 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i5055, i64 1 - %2201 = load ptr, ptr %vfn.i.i.i.i422.i.i5056, align 8 + br label %ehcleanup139.i.i5008 + +invoke.cont128.i.i5039: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i402.i.i5036, %invoke.cont2.i400.i.i5034 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i390.i.i4576), !noalias !1614 + %call81.val86.i.i5040 = load ptr, ptr %__begin072.sroa.0.048.i.i4778, align 8 + %2198 = getelementptr i8, ptr %__begin072.sroa.0.048.i.i4778, i64 8 + %call81.val87.i.i5041 = load i64, ptr %2198, align 8 + %call81.val86.val.i.i5042 = load ptr, ptr %call81.val86.i.i5040, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp130.i.i4597, ptr %call81.val86.val.i.i5042, i64 %call81.val87.i.i5041) + to label %invoke.cont131.i.i5044 unwind label %lpad125.i.i5007 + +invoke.cont131.i.i5044: ; preds = %invoke.cont128.i.i5039 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i4575), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i4575) + to label %.noexc423.i.i5048 unwind label %lpad132.i.i5045 + +.noexc423.i.i5048: ; preds = %invoke.cont131.i.i5044 + %2199 = load ptr, ptr %ref.tmp.i408.i.i4575, align 8, !noalias !1614 + %add.ptr.i.i409.i.i5049 = getelementptr inbounds i8, ptr %2199, i64 16 + %call2.i1.i410.i.i5050 = 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) %add.ptr.i.i409.i.i5049, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i4597) + to label %invoke.cont.i417.i.i5056 unwind label %lpad.i411.i.i5051 + +invoke.cont.i417.i.i5056: ; preds = %.noexc423.i.i5048 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4595, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i408.i.i4575) + to label %invoke.cont2.i418.i.i5057 unwind label %lpad.i411.i.i5051 + +invoke.cont2.i418.i.i5057: ; preds = %invoke.cont.i417.i.i5056 + %2200 = load ptr, ptr %ref.tmp.i408.i.i4575, align 8, !noalias !1614 + %cmp.not.i.i.i419.i.i5058 = icmp eq ptr %2200, null + br i1 %cmp.not.i.i.i419.i.i5058, label %invoke.cont133.i.i5062, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i5059 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i5059: ; preds = %invoke.cont2.i418.i.i5057 + %vtable.i.i.i.i421.i.i5060 = load ptr, ptr %2200, align 8 + %vfn.i.i.i.i422.i.i5061 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i421.i.i5060, i64 1 + %2201 = load ptr, ptr %vfn.i.i.i.i422.i.i5061, align 8 call void %2201(ptr noundef nonnull align 8 dereferenceable(128) %2200) #30 - br label %invoke.cont133.i.i5057 + br label %invoke.cont133.i.i5062 -lpad.i411.i.i5046: ; preds = %invoke.cont.i417.i.i5051, %.noexc423.i.i5043 +lpad.i411.i.i5051: ; preds = %invoke.cont.i417.i.i5056, %.noexc423.i.i5048 %2202 = landingpad { ptr, i32 } cleanup - %2203 = load ptr, ptr %ref.tmp.i408.i.i4570, align 8, !noalias !1614 - %cmp.not.i.i2.i412.i.i5047 = icmp eq ptr %2203, null - br i1 %cmp.not.i.i2.i412.i.i5047, label %lpad132.body.i.i5041, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i5048 + %2203 = load ptr, ptr %ref.tmp.i408.i.i4575, align 8, !noalias !1614 + %cmp.not.i.i2.i412.i.i5052 = icmp eq ptr %2203, null + br i1 %cmp.not.i.i2.i412.i.i5052, label %lpad132.body.i.i5046, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i5053 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i5048: ; preds = %lpad.i411.i.i5046 - %vtable.i.i.i4.i414.i.i5049 = load ptr, ptr %2203, align 8 - %vfn.i.i.i5.i415.i.i5050 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i5049, i64 1 - %2204 = load ptr, ptr %vfn.i.i.i5.i415.i.i5050, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i5053: ; preds = %lpad.i411.i.i5051 + %vtable.i.i.i4.i414.i.i5054 = load ptr, ptr %2203, align 8 + %vfn.i.i.i5.i415.i.i5055 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i414.i.i5054, i64 1 + %2204 = load ptr, ptr %vfn.i.i.i5.i415.i.i5055, align 8 call void %2204(ptr noundef nonnull align 8 dereferenceable(128) %2203) #30 - br label %lpad132.body.i.i5041 - -invoke.cont133.i.i5057: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i5054, %invoke.cont2.i418.i.i5052 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i4570), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i4569), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i4569) - to label %.noexc441.i.i5058 unwind label %lpad132.i.i5040 - -.noexc441.i.i5058: ; preds = %invoke.cont133.i.i5057 - %2205 = load ptr, ptr %ref.tmp.i426.i.i4569, align 8, !noalias !1614 - %add.ptr.i.i427.i.i5059 = getelementptr inbounds i8, ptr %2205, i64 16 - %call2.i1.i428.i.i5060 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i5059, ptr noundef nonnull @.str.111) - to label %invoke.cont.i435.i.i5066 unwind label %lpad.i429.i.i5061 - -invoke.cont.i435.i.i5066: ; preds = %.noexc441.i.i5058 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4590, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i4569) - to label %invoke.cont2.i436.i.i5067 unwind label %lpad.i429.i.i5061 - -invoke.cont2.i436.i.i5067: ; preds = %invoke.cont.i435.i.i5066 - %2206 = load ptr, ptr %ref.tmp.i426.i.i4569, align 8, !noalias !1614 - %cmp.not.i.i.i437.i.i5068 = icmp eq ptr %2206, null - br i1 %cmp.not.i.i.i437.i.i5068, label %invoke.cont135.i.i5072, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i5069 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i5069: ; preds = %invoke.cont2.i436.i.i5067 - %vtable.i.i.i.i439.i.i5070 = load ptr, ptr %2206, align 8 - %vfn.i.i.i.i440.i.i5071 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i5070, i64 1 - %2207 = load ptr, ptr %vfn.i.i.i.i440.i.i5071, align 8 + br label %lpad132.body.i.i5046 + +invoke.cont133.i.i5062: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i420.i.i5059, %invoke.cont2.i418.i.i5057 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i408.i.i4575), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i4574), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i4574) + to label %.noexc441.i.i5063 unwind label %lpad132.i.i5045 + +.noexc441.i.i5063: ; preds = %invoke.cont133.i.i5062 + %2205 = load ptr, ptr %ref.tmp.i426.i.i4574, align 8, !noalias !1614 + %add.ptr.i.i427.i.i5064 = getelementptr inbounds i8, ptr %2205, i64 16 + %call2.i1.i428.i.i5065 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i427.i.i5064, ptr noundef nonnull @.str.111) + to label %invoke.cont.i435.i.i5071 unwind label %lpad.i429.i.i5066 + +invoke.cont.i435.i.i5071: ; preds = %.noexc441.i.i5063 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4595, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i426.i.i4574) + to label %invoke.cont2.i436.i.i5072 unwind label %lpad.i429.i.i5066 + +invoke.cont2.i436.i.i5072: ; preds = %invoke.cont.i435.i.i5071 + %2206 = load ptr, ptr %ref.tmp.i426.i.i4574, align 8, !noalias !1614 + %cmp.not.i.i.i437.i.i5073 = icmp eq ptr %2206, null + br i1 %cmp.not.i.i.i437.i.i5073, label %invoke.cont135.i.i5077, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i5074 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i5074: ; preds = %invoke.cont2.i436.i.i5072 + %vtable.i.i.i.i439.i.i5075 = load ptr, ptr %2206, align 8 + %vfn.i.i.i.i440.i.i5076 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i439.i.i5075, i64 1 + %2207 = load ptr, ptr %vfn.i.i.i.i440.i.i5076, align 8 call void %2207(ptr noundef nonnull align 8 dereferenceable(128) %2206) #30 - br label %invoke.cont135.i.i5072 + br label %invoke.cont135.i.i5077 -lpad.i429.i.i5061: ; preds = %invoke.cont.i435.i.i5066, %.noexc441.i.i5058 +lpad.i429.i.i5066: ; preds = %invoke.cont.i435.i.i5071, %.noexc441.i.i5063 %2208 = landingpad { ptr, i32 } cleanup - %2209 = load ptr, ptr %ref.tmp.i426.i.i4569, align 8, !noalias !1614 - %cmp.not.i.i2.i430.i.i5062 = icmp eq ptr %2209, null - br i1 %cmp.not.i.i2.i430.i.i5062, label %lpad132.body.i.i5041, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i5063 + %2209 = load ptr, ptr %ref.tmp.i426.i.i4574, align 8, !noalias !1614 + %cmp.not.i.i2.i430.i.i5067 = icmp eq ptr %2209, null + br i1 %cmp.not.i.i2.i430.i.i5067, label %lpad132.body.i.i5046, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i5068 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i5063: ; preds = %lpad.i429.i.i5061 - %vtable.i.i.i4.i432.i.i5064 = load ptr, ptr %2209, align 8 - %vfn.i.i.i5.i433.i.i5065 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i5064, i64 1 - %2210 = load ptr, ptr %vfn.i.i.i5.i433.i.i5065, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i5068: ; preds = %lpad.i429.i.i5066 + %vtable.i.i.i4.i432.i.i5069 = load ptr, ptr %2209, align 8 + %vfn.i.i.i5.i433.i.i5070 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i432.i.i5069, i64 1 + %2210 = load ptr, ptr %vfn.i.i.i5.i433.i.i5070, align 8 call void %2210(ptr noundef nonnull align 8 dereferenceable(128) %2209) #30 - br label %lpad132.body.i.i5041 - -invoke.cont135.i.i5072: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i5069, %invoke.cont2.i436.i.i5067 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i4569), !noalias !1614 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4590) - to label %invoke.cont137.i.i5073 unwind label %lpad132.i.i5040 - -invoke.cont137.i.i5073: ; preds = %invoke.cont135.i.i5072 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i4592) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i4591) #30 - %message_.i444.i.i5074 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i4590, i64 0, i32 1 - %2211 = load ptr, ptr %message_.i444.i.i5074, align 8, !noalias !1614 - %cmp.not.i.i445.i.i5075 = icmp eq ptr %2211, null - br i1 %cmp.not.i.i445.i.i5075, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i5077, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i5076 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i5076: ; preds = %invoke.cont137.i.i5073 + br label %lpad132.body.i.i5046 + +invoke.cont135.i.i5077: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i438.i.i5074, %invoke.cont2.i436.i.i5072 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i426.i.i4574), !noalias !1614 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4595) + to label %invoke.cont137.i.i5078 unwind label %lpad132.i.i5045 + +invoke.cont137.i.i5078: ; preds = %invoke.cont135.i.i5077 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i4597) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i4596) #30 + %message_.i444.i.i5079 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp117.i.i4595, i64 0, i32 1 + %2211 = load ptr, ptr %message_.i444.i.i5079, align 8, !noalias !1614 + %cmp.not.i.i445.i.i5080 = icmp eq ptr %2211, null + br i1 %cmp.not.i.i445.i.i5080, label %_ZN7testing15AssertionResultD2Ev.exit447.i.i5082, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i5081 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i5081: ; preds = %invoke.cont137.i.i5078 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %2211) #30 call void @_ZdlPv(ptr noundef nonnull %2211) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i5077 + br label %_ZN7testing15AssertionResultD2Ev.exit447.i.i5082 -_ZN7testing15AssertionResultD2Ev.exit447.i.i5077: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i5076, %invoke.cont137.i.i5073 - store ptr null, ptr %message_.i444.i.i5074, align 8, !noalias !1614 - br label %cleanup257.critedge.i.i4903 +_ZN7testing15AssertionResultD2Ev.exit447.i.i5082: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i446.i.i5081, %invoke.cont137.i.i5078 + store ptr null, ptr %message_.i444.i.i5079, align 8, !noalias !1614 + br label %cleanup257.critedge.i.i4908 -lpad112.i.i4951: ; preds = %invoke.cont111.i.i4949 +lpad112.i.i4956: ; preds = %invoke.cont111.i.i4954 %2212 = landingpad { ptr, i32 } cleanup - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i4589) #30 - br label %ehcleanup252.i.i4779 + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %ref.tmp110.i.i4594) #30 + br label %ehcleanup252.i.i4784 -lpad119.i.i4978: ; preds = %invoke.cont120.i.i4995, %invoke.cont118.i.i4977 +lpad119.i.i4983: ; preds = %invoke.cont120.i.i5000, %invoke.cont118.i.i4982 %2213 = landingpad { ptr, i32 } cleanup - br label %ehcleanup140.i.i4979 + br label %ehcleanup140.i.i4984 -lpad125.i.i5002: ; preds = %invoke.cont128.i.i5034, %invoke.cont126.i.i5019, %invoke.cont124.i.i5001 +lpad125.i.i5007: ; preds = %invoke.cont128.i.i5039, %invoke.cont126.i.i5024, %invoke.cont124.i.i5006 %2214 = landingpad { ptr, i32 } cleanup - br label %ehcleanup139.i.i5003 + br label %ehcleanup139.i.i5008 -lpad132.i.i5040: ; preds = %invoke.cont135.i.i5072, %invoke.cont133.i.i5057, %invoke.cont131.i.i5039 +lpad132.i.i5045: ; preds = %invoke.cont135.i.i5077, %invoke.cont133.i.i5062, %invoke.cont131.i.i5044 %2215 = landingpad { ptr, i32 } cleanup - br label %lpad132.body.i.i5041 - -lpad132.body.i.i5041: ; preds = %lpad132.i.i5040, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i5063, %lpad.i429.i.i5061, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i5048, %lpad.i411.i.i5046 - %eh.lpad-body424.i.i5042 = phi { ptr, i32 } [ %2202, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i5048 ], [ %2202, %lpad.i411.i.i5046 ], [ %2215, %lpad132.i.i5040 ], [ %2208, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i5063 ], [ %2208, %lpad.i429.i.i5061 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i4592) #30 - br label %ehcleanup139.i.i5003 - -ehcleanup139.i.i5003: ; preds = %lpad132.body.i.i5041, %lpad125.i.i5002, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i5025, %lpad.i393.i.i5023, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i5010, %lpad.i375.i.i5008 - %.pn40.i.i5004 = phi { ptr, i32 } [ %eh.lpad-body424.i.i5042, %lpad132.body.i.i5041 ], [ %2189, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i5010 ], [ %2189, %lpad.i375.i.i5008 ], [ %2214, %lpad125.i.i5002 ], [ %2195, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i5025 ], [ %2195, %lpad.i393.i.i5023 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i4591) #30 - br label %ehcleanup140.i.i4979 - -ehcleanup140.i.i4979: ; preds = %ehcleanup139.i.i5003, %lpad119.i.i4978, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i4986, %lpad.i358.i.i4984 - %.pn40.pn.i.i4980 = phi { ptr, i32 } [ %.pn40.i.i5004, %ehcleanup139.i.i5003 ], [ %2213, %lpad119.i.i4978 ], [ %2182, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i4986 ], [ %2182, %lpad.i358.i.i4984 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4590) #30 - br label %ehcleanup252.i.i4779 - -for.inc142.i.i5078: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4975 - %incdec.ptr.i448.i.i5079 = getelementptr inbounds %struct.Info.1035, ptr %__begin072.sroa.0.048.i.i4773, i64 1 - %cmp.i161.not.i.i5080 = icmp eq ptr %incdec.ptr.i448.i.i5079, %call68.val81.i.i4770 - br i1 %cmp.i161.not.i.i5080, label %for.end144.i.i5081, label %for.body80.i.i4772 - -for.end144.i.i5081: ; preds = %for.inc142.i.i5078, %invoke.cont70.i.i4768 - %classes.val53.i.i5082 = load ptr, ptr %classes.i.i4579, align 8, !noalias !1614 - %classes.val56.i.i5083 = load ptr, ptr %2057, align 8, !noalias !1614 - %cmp.i449.not49.i.i5084 = icmp eq ptr %classes.val53.i.i5082, %classes.val56.i.i5083 - br i1 %cmp.i449.not49.i.i5084, label %cleanup249.i.i5479, label %for.body154.i.i5085 - -for.body154.i.i5085: ; preds = %for.end144.i.i5081, %for.inc246.i.i5476 - %__begin0146.sroa.0.050.i.i5086 = phi ptr [ %incdec.ptr.i779.i.i5477, %for.inc246.i.i5476 ], [ %classes.val53.i.i5082, %for.end144.i.i5081 ] - %cmp156.i.i5087 = icmp eq ptr %__begin058.sroa.0.052.i.i4761, %__begin0146.sroa.0.050.i.i5086 - br i1 %cmp156.i.i5087, label %for.inc246.i.i5476, label %if.end158.i.i5088 - -if.end158.i.i5088: ; preds = %for.body154.i.i5085 - %call155.val.i.i5089 = load ptr, ptr %__begin0146.sroa.0.050.i.i5086, align 8 - %call159.val.i.i5090 = load ptr, ptr %call155.val.i.i5089, align 8 - %call159.val.val.i.i5091 = load ptr, ptr %call159.val.i.i5090, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i4593, ptr %call159.val.val.i.i5091) - to label %invoke.cont160.i.i5095 unwind label %lpad83.loopexit.i.i5093 - -invoke.cont160.i.i5095: ; preds = %if.end158.i.i5088 - %call163.i.i5096 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i4584, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i4593) - to label %invoke.cont162.i.i5101 unwind label %lpad161.loopexit.i.i5097 - -invoke.cont162.i.i5101: ; preds = %invoke.cont160.i.i5095 - switch i32 %call163.i.i5096, label %cleanup242.i.i5453 [ - i32 0, label %sw.bb.i.i5352 - i32 2, label %sw.bb189.i.i5251 - i32 1, label %sw.bb215.i.i5102 + br label %lpad132.body.i.i5046 + +lpad132.body.i.i5046: ; preds = %lpad132.i.i5045, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i5068, %lpad.i429.i.i5066, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i5053, %lpad.i411.i.i5051 + %eh.lpad-body424.i.i5047 = phi { ptr, i32 } [ %2202, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i413.i.i5053 ], [ %2202, %lpad.i411.i.i5051 ], [ %2215, %lpad132.i.i5045 ], [ %2208, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i431.i.i5068 ], [ %2208, %lpad.i429.i.i5066 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp130.i.i4597) #30 + br label %ehcleanup139.i.i5008 + +ehcleanup139.i.i5008: ; preds = %lpad132.body.i.i5046, %lpad125.i.i5007, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i5030, %lpad.i393.i.i5028, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i5015, %lpad.i375.i.i5013 + %.pn40.i.i5009 = phi { ptr, i32 } [ %eh.lpad-body424.i.i5047, %lpad132.body.i.i5046 ], [ %2189, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i377.i.i5015 ], [ %2189, %lpad.i375.i.i5013 ], [ %2214, %lpad125.i.i5007 ], [ %2195, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i395.i.i5030 ], [ %2195, %lpad.i393.i.i5028 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp122.i.i4596) #30 + br label %ehcleanup140.i.i4984 + +ehcleanup140.i.i4984: ; preds = %ehcleanup139.i.i5008, %lpad119.i.i4983, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i4991, %lpad.i358.i.i4989 + %.pn40.pn.i.i4985 = phi { ptr, i32 } [ %.pn40.i.i5009, %ehcleanup139.i.i5008 ], [ %2213, %lpad119.i.i4983 ], [ %2182, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i360.i.i4991 ], [ %2182, %lpad.i358.i.i4989 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp117.i.i4595) #30 + br label %ehcleanup252.i.i4784 + +for.inc142.i.i5083: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit354.i.i4980 + %incdec.ptr.i448.i.i5084 = getelementptr inbounds %struct.Info.1035, ptr %__begin072.sroa.0.048.i.i4778, i64 1 + %cmp.i161.not.i.i5085 = icmp eq ptr %incdec.ptr.i448.i.i5084, %call68.val81.i.i4775 + br i1 %cmp.i161.not.i.i5085, label %for.end144.i.i5086, label %for.body80.i.i4777 + +for.end144.i.i5086: ; preds = %for.inc142.i.i5083, %invoke.cont70.i.i4773 + %classes.val53.i.i5087 = load ptr, ptr %classes.i.i4584, align 8, !noalias !1614 + %classes.val56.i.i5088 = load ptr, ptr %2057, align 8, !noalias !1614 + %cmp.i449.not49.i.i5089 = icmp eq ptr %classes.val53.i.i5087, %classes.val56.i.i5088 + br i1 %cmp.i449.not49.i.i5089, label %cleanup249.i.i5484, label %for.body154.i.i5090 + +for.body154.i.i5090: ; preds = %for.end144.i.i5086, %for.inc246.i.i5481 + %__begin0146.sroa.0.050.i.i5091 = phi ptr [ %incdec.ptr.i779.i.i5482, %for.inc246.i.i5481 ], [ %classes.val53.i.i5087, %for.end144.i.i5086 ] + %cmp156.i.i5092 = icmp eq ptr %__begin058.sroa.0.052.i.i4766, %__begin0146.sroa.0.050.i.i5091 + br i1 %cmp156.i.i5092, label %for.inc246.i.i5481, label %if.end158.i.i5093 + +if.end158.i.i5093: ; preds = %for.body154.i.i5090 + %call155.val.i.i5094 = load ptr, ptr %__begin0146.sroa.0.050.i.i5091, align 8 + %call159.val.i.i5095 = load ptr, ptr %call155.val.i.i5094, align 8 + %call159.val.val.i.i5096 = load ptr, ptr %call159.val.i.i5095, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info6expandEv(ptr noalias nonnull align 8 %c2_hash.i.i4598, ptr %call159.val.val.i.i5096) + to label %invoke.cont160.i.i5100 unwind label %lpad83.loopexit.i.i5098 + +invoke.cont160.i.i5100: ; preds = %if.end158.i.i5093 + %call163.i.i5101 = invoke noundef i32 @_ZN4absl13hash_internal16SpyHashStateImplIvE7CompareERKS2_S4_(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i4589, ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i4598) + to label %invoke.cont162.i.i5106 unwind label %lpad161.loopexit.i.i5102 + +invoke.cont162.i.i5106: ; preds = %invoke.cont160.i.i5100 + switch i32 %call163.i.i5101, label %cleanup242.i.i5458 [ + i32 0, label %sw.bb.i.i5357 + i32 2, label %sw.bb189.i.i5256 + i32 1, label %sw.bb215.i.i5107 ] -lpad161.loopexit.i.i5097: ; preds = %invoke.cont160.i.i5095 - %lpad.loopexit5.i.i5098 = landingpad { ptr, i32 } +lpad161.loopexit.i.i5102: ; preds = %invoke.cont160.i.i5100 + %lpad.loopexit5.i.i5103 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i5099 + br label %ehcleanup245.i.i5104 -lpad161.loopexit.split-lp.i.i5103: ; preds = %sw.bb215.i.i5102, %sw.bb189.i.i5251, %sw.bb.i.i5352 - %lpad.loopexit.split-lp6.i.i5104 = landingpad { ptr, i32 } +lpad161.loopexit.split-lp.i.i5108: ; preds = %sw.bb215.i.i5107, %sw.bb189.i.i5256, %sw.bb.i.i5357 + %lpad.loopexit.split-lp6.i.i5109 = landingpad { ptr, i32 } cleanup - br label %ehcleanup245.i.i5099 + br label %ehcleanup245.i.i5104 -sw.bb.i.i5352: ; preds = %invoke.cont162.i.i5101 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i4594) - to label %invoke.cont165.i.i5353 unwind label %lpad161.loopexit.split-lp.i.i5103 +sw.bb.i.i5357: ; preds = %invoke.cont162.i.i5106 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp164.i.i4599) + to label %invoke.cont165.i.i5358 unwind label %lpad161.loopexit.split-lp.i.i5108 -invoke.cont165.i.i5353: ; preds = %sw.bb.i.i5352 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i4568), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i4568) - to label %.noexc465.i.i5357 unwind label %lpad166.i.i5354 +invoke.cont165.i.i5358: ; preds = %sw.bb.i.i5357 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i4573), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i4573) + to label %.noexc465.i.i5362 unwind label %lpad166.i.i5359 -.noexc465.i.i5357: ; preds = %invoke.cont165.i.i5353 - %2216 = load ptr, ptr %ref.tmp.i450.i.i4568, align 8, !noalias !1614 - %add.ptr.i.i451.i.i5358 = getelementptr inbounds i8, ptr %2216, i64 16 - %call2.i1.i452.i.i5359 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i5358, ptr noundef nonnull @.str.109) - to label %invoke.cont.i459.i.i5365 unwind label %lpad.i453.i.i5360 +.noexc465.i.i5362: ; preds = %invoke.cont165.i.i5358 + %2216 = load ptr, ptr %ref.tmp.i450.i.i4573, align 8, !noalias !1614 + %add.ptr.i.i451.i.i5363 = getelementptr inbounds i8, ptr %2216, i64 16 + %call2.i1.i452.i.i5364 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i451.i.i5363, ptr noundef nonnull @.str.109) + to label %invoke.cont.i459.i.i5370 unwind label %lpad.i453.i.i5365 -invoke.cont.i459.i.i5365: ; preds = %.noexc465.i.i5357 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4594, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i4568) - to label %invoke.cont2.i460.i.i5366 unwind label %lpad.i453.i.i5360 +invoke.cont.i459.i.i5370: ; preds = %.noexc465.i.i5362 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4599, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i450.i.i4573) + to label %invoke.cont2.i460.i.i5371 unwind label %lpad.i453.i.i5365 -invoke.cont2.i460.i.i5366: ; preds = %invoke.cont.i459.i.i5365 - %2217 = load ptr, ptr %ref.tmp.i450.i.i4568, align 8, !noalias !1614 - %cmp.not.i.i.i461.i.i5367 = icmp eq ptr %2217, null - br i1 %cmp.not.i.i.i461.i.i5367, label %invoke.cont167.i.i5371, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i5368 +invoke.cont2.i460.i.i5371: ; preds = %invoke.cont.i459.i.i5370 + %2217 = load ptr, ptr %ref.tmp.i450.i.i4573, align 8, !noalias !1614 + %cmp.not.i.i.i461.i.i5372 = icmp eq ptr %2217, null + br i1 %cmp.not.i.i.i461.i.i5372, label %invoke.cont167.i.i5376, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i5373 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i5368: ; preds = %invoke.cont2.i460.i.i5366 - %vtable.i.i.i.i463.i.i5369 = load ptr, ptr %2217, align 8 - %vfn.i.i.i.i464.i.i5370 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i5369, i64 1 - %2218 = load ptr, ptr %vfn.i.i.i.i464.i.i5370, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i5373: ; preds = %invoke.cont2.i460.i.i5371 + %vtable.i.i.i.i463.i.i5374 = load ptr, ptr %2217, align 8 + %vfn.i.i.i.i464.i.i5375 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i463.i.i5374, i64 1 + %2218 = load ptr, ptr %vfn.i.i.i.i464.i.i5375, align 8 call void %2218(ptr noundef nonnull align 8 dereferenceable(128) %2217) #30 - br label %invoke.cont167.i.i5371 + br label %invoke.cont167.i.i5376 -lpad.i453.i.i5360: ; preds = %invoke.cont.i459.i.i5365, %.noexc465.i.i5357 +lpad.i453.i.i5365: ; preds = %invoke.cont.i459.i.i5370, %.noexc465.i.i5362 %2219 = landingpad { ptr, i32 } cleanup - %2220 = load ptr, ptr %ref.tmp.i450.i.i4568, align 8, !noalias !1614 - %cmp.not.i.i2.i454.i.i5361 = icmp eq ptr %2220, null - br i1 %cmp.not.i.i2.i454.i.i5361, label %ehcleanup188.i.i5355, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i5362 + %2220 = load ptr, ptr %ref.tmp.i450.i.i4573, align 8, !noalias !1614 + %cmp.not.i.i2.i454.i.i5366 = icmp eq ptr %2220, null + br i1 %cmp.not.i.i2.i454.i.i5366, label %ehcleanup188.i.i5360, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i5367 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i5362: ; preds = %lpad.i453.i.i5360 - %vtable.i.i.i4.i456.i.i5363 = load ptr, ptr %2220, align 8 - %vfn.i.i.i5.i457.i.i5364 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i5363, i64 1 - %2221 = load ptr, ptr %vfn.i.i.i5.i457.i.i5364, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i5367: ; preds = %lpad.i453.i.i5365 + %vtable.i.i.i4.i456.i.i5368 = load ptr, ptr %2220, align 8 + %vfn.i.i.i5.i457.i.i5369 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i456.i.i5368, i64 1 + %2221 = load ptr, ptr %vfn.i.i.i5.i457.i.i5369, align 8 call void %2221(ptr noundef nonnull align 8 dereferenceable(128) %2220) #30 - br label %ehcleanup188.i.i5355 - -invoke.cont167.i.i5371: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i5368, %invoke.cont2.i460.i.i5366 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i4568), !noalias !1614 - %call68.val74.i.i5372 = load ptr, ptr %__begin058.sroa.0.052.i.i4761, align 8 - %call170.val.i.i5373 = load ptr, ptr %call68.val74.i.i5372, align 8 - %2222 = getelementptr i8, ptr %call68.val74.i.i5372, i64 8 - %call170.val88.i.i5374 = load i64, ptr %2222, align 8 - %call170.val.val.i.i5375 = load ptr, ptr %call170.val.i.i5373, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i4595, ptr %call170.val.val.i.i5375, i64 %call170.val88.i.i5374) - to label %invoke.cont171.i.i5377 unwind label %lpad166.i.i5354 - -invoke.cont171.i.i5377: ; preds = %invoke.cont167.i.i5371 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i4567), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i4567) - to label %.noexc483.i.i5381 unwind label %lpad172.i.i5378 - -.noexc483.i.i5381: ; preds = %invoke.cont171.i.i5377 - %2223 = load ptr, ptr %ref.tmp.i468.i.i4567, align 8, !noalias !1614 - %add.ptr.i.i469.i.i5382 = getelementptr inbounds i8, ptr %2223, i64 16 - %call2.i1.i470.i.i5383 = 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) %add.ptr.i.i469.i.i5382, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i4595) - to label %invoke.cont.i477.i.i5389 unwind label %lpad.i471.i.i5384 - -invoke.cont.i477.i.i5389: ; preds = %.noexc483.i.i5381 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4594, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i4567) - to label %invoke.cont2.i478.i.i5390 unwind label %lpad.i471.i.i5384 - -invoke.cont2.i478.i.i5390: ; preds = %invoke.cont.i477.i.i5389 - %2224 = load ptr, ptr %ref.tmp.i468.i.i4567, align 8, !noalias !1614 - %cmp.not.i.i.i479.i.i5391 = icmp eq ptr %2224, null - br i1 %cmp.not.i.i.i479.i.i5391, label %invoke.cont173.i.i5395, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i5392 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i5392: ; preds = %invoke.cont2.i478.i.i5390 - %vtable.i.i.i.i481.i.i5393 = load ptr, ptr %2224, align 8 - %vfn.i.i.i.i482.i.i5394 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i5393, i64 1 - %2225 = load ptr, ptr %vfn.i.i.i.i482.i.i5394, align 8 + br label %ehcleanup188.i.i5360 + +invoke.cont167.i.i5376: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i462.i.i5373, %invoke.cont2.i460.i.i5371 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i450.i.i4573), !noalias !1614 + %call68.val74.i.i5377 = load ptr, ptr %__begin058.sroa.0.052.i.i4766, align 8 + %call170.val.i.i5378 = load ptr, ptr %call68.val74.i.i5377, align 8 + %2222 = getelementptr i8, ptr %call68.val74.i.i5377, i64 8 + %call170.val88.i.i5379 = load i64, ptr %2222, align 8 + %call170.val.val.i.i5380 = load ptr, ptr %call170.val.i.i5378, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp169.i.i4600, ptr %call170.val.val.i.i5380, i64 %call170.val88.i.i5379) + to label %invoke.cont171.i.i5382 unwind label %lpad166.i.i5359 + +invoke.cont171.i.i5382: ; preds = %invoke.cont167.i.i5376 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i4572), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i4572) + to label %.noexc483.i.i5386 unwind label %lpad172.i.i5383 + +.noexc483.i.i5386: ; preds = %invoke.cont171.i.i5382 + %2223 = load ptr, ptr %ref.tmp.i468.i.i4572, align 8, !noalias !1614 + %add.ptr.i.i469.i.i5387 = getelementptr inbounds i8, ptr %2223, i64 16 + %call2.i1.i470.i.i5388 = 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) %add.ptr.i.i469.i.i5387, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i4600) + to label %invoke.cont.i477.i.i5394 unwind label %lpad.i471.i.i5389 + +invoke.cont.i477.i.i5394: ; preds = %.noexc483.i.i5386 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4599, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i468.i.i4572) + to label %invoke.cont2.i478.i.i5395 unwind label %lpad.i471.i.i5389 + +invoke.cont2.i478.i.i5395: ; preds = %invoke.cont.i477.i.i5394 + %2224 = load ptr, ptr %ref.tmp.i468.i.i4572, align 8, !noalias !1614 + %cmp.not.i.i.i479.i.i5396 = icmp eq ptr %2224, null + br i1 %cmp.not.i.i.i479.i.i5396, label %invoke.cont173.i.i5400, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i5397 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i5397: ; preds = %invoke.cont2.i478.i.i5395 + %vtable.i.i.i.i481.i.i5398 = load ptr, ptr %2224, align 8 + %vfn.i.i.i.i482.i.i5399 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i481.i.i5398, i64 1 + %2225 = load ptr, ptr %vfn.i.i.i.i482.i.i5399, align 8 call void %2225(ptr noundef nonnull align 8 dereferenceable(128) %2224) #30 - br label %invoke.cont173.i.i5395 + br label %invoke.cont173.i.i5400 -lpad.i471.i.i5384: ; preds = %invoke.cont.i477.i.i5389, %.noexc483.i.i5381 +lpad.i471.i.i5389: ; preds = %invoke.cont.i477.i.i5394, %.noexc483.i.i5386 %2226 = landingpad { ptr, i32 } cleanup - %2227 = load ptr, ptr %ref.tmp.i468.i.i4567, align 8, !noalias !1614 - %cmp.not.i.i2.i472.i.i5385 = icmp eq ptr %2227, null - br i1 %cmp.not.i.i2.i472.i.i5385, label %ehcleanup187.i.i5379, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i5386 + %2227 = load ptr, ptr %ref.tmp.i468.i.i4572, align 8, !noalias !1614 + %cmp.not.i.i2.i472.i.i5390 = icmp eq ptr %2227, null + br i1 %cmp.not.i.i2.i472.i.i5390, label %ehcleanup187.i.i5384, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i5391 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i5386: ; preds = %lpad.i471.i.i5384 - %vtable.i.i.i4.i474.i.i5387 = load ptr, ptr %2227, align 8 - %vfn.i.i.i5.i475.i.i5388 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i5387, i64 1 - %2228 = load ptr, ptr %vfn.i.i.i5.i475.i.i5388, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i5391: ; preds = %lpad.i471.i.i5389 + %vtable.i.i.i4.i474.i.i5392 = load ptr, ptr %2227, align 8 + %vfn.i.i.i5.i475.i.i5393 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i474.i.i5392, i64 1 + %2228 = load ptr, ptr %vfn.i.i.i5.i475.i.i5393, align 8 call void %2228(ptr noundef nonnull align 8 dereferenceable(128) %2227) #30 - br label %ehcleanup187.i.i5379 - -invoke.cont173.i.i5395: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i5392, %invoke.cont2.i478.i.i5390 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i4567), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i4566), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i4566) - to label %.noexc501.i.i5396 unwind label %lpad172.i.i5378 - -.noexc501.i.i5396: ; preds = %invoke.cont173.i.i5395 - %2229 = load ptr, ptr %ref.tmp.i486.i.i4566, align 8, !noalias !1614 - %add.ptr.i.i487.i.i5397 = getelementptr inbounds i8, ptr %2229, i64 16 - %call2.i1.i488.i.i5398 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i5397, ptr noundef nonnull @.str.110) - to label %invoke.cont.i495.i.i5404 unwind label %lpad.i489.i.i5399 - -invoke.cont.i495.i.i5404: ; preds = %.noexc501.i.i5396 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4594, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i4566) - to label %invoke.cont2.i496.i.i5405 unwind label %lpad.i489.i.i5399 - -invoke.cont2.i496.i.i5405: ; preds = %invoke.cont.i495.i.i5404 - %2230 = load ptr, ptr %ref.tmp.i486.i.i4566, align 8, !noalias !1614 - %cmp.not.i.i.i497.i.i5406 = icmp eq ptr %2230, null - br i1 %cmp.not.i.i.i497.i.i5406, label %invoke.cont175.i.i5410, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i5407 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i5407: ; preds = %invoke.cont2.i496.i.i5405 - %vtable.i.i.i.i499.i.i5408 = load ptr, ptr %2230, align 8 - %vfn.i.i.i.i500.i.i5409 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i5408, i64 1 - %2231 = load ptr, ptr %vfn.i.i.i.i500.i.i5409, align 8 + br label %ehcleanup187.i.i5384 + +invoke.cont173.i.i5400: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i480.i.i5397, %invoke.cont2.i478.i.i5395 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i468.i.i4572), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i4571), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i4571) + to label %.noexc501.i.i5401 unwind label %lpad172.i.i5383 + +.noexc501.i.i5401: ; preds = %invoke.cont173.i.i5400 + %2229 = load ptr, ptr %ref.tmp.i486.i.i4571, align 8, !noalias !1614 + %add.ptr.i.i487.i.i5402 = getelementptr inbounds i8, ptr %2229, i64 16 + %call2.i1.i488.i.i5403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i487.i.i5402, ptr noundef nonnull @.str.110) + to label %invoke.cont.i495.i.i5409 unwind label %lpad.i489.i.i5404 + +invoke.cont.i495.i.i5409: ; preds = %.noexc501.i.i5401 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4599, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i486.i.i4571) + to label %invoke.cont2.i496.i.i5410 unwind label %lpad.i489.i.i5404 + +invoke.cont2.i496.i.i5410: ; preds = %invoke.cont.i495.i.i5409 + %2230 = load ptr, ptr %ref.tmp.i486.i.i4571, align 8, !noalias !1614 + %cmp.not.i.i.i497.i.i5411 = icmp eq ptr %2230, null + br i1 %cmp.not.i.i.i497.i.i5411, label %invoke.cont175.i.i5415, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i5412 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i5412: ; preds = %invoke.cont2.i496.i.i5410 + %vtable.i.i.i.i499.i.i5413 = load ptr, ptr %2230, align 8 + %vfn.i.i.i.i500.i.i5414 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i499.i.i5413, i64 1 + %2231 = load ptr, ptr %vfn.i.i.i.i500.i.i5414, align 8 call void %2231(ptr noundef nonnull align 8 dereferenceable(128) %2230) #30 - br label %invoke.cont175.i.i5410 + br label %invoke.cont175.i.i5415 -lpad.i489.i.i5399: ; preds = %invoke.cont.i495.i.i5404, %.noexc501.i.i5396 +lpad.i489.i.i5404: ; preds = %invoke.cont.i495.i.i5409, %.noexc501.i.i5401 %2232 = landingpad { ptr, i32 } cleanup - %2233 = load ptr, ptr %ref.tmp.i486.i.i4566, align 8, !noalias !1614 - %cmp.not.i.i2.i490.i.i5400 = icmp eq ptr %2233, null - br i1 %cmp.not.i.i2.i490.i.i5400, label %ehcleanup187.i.i5379, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i5401 + %2233 = load ptr, ptr %ref.tmp.i486.i.i4571, align 8, !noalias !1614 + %cmp.not.i.i2.i490.i.i5405 = icmp eq ptr %2233, null + br i1 %cmp.not.i.i2.i490.i.i5405, label %ehcleanup187.i.i5384, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i5406 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i5401: ; preds = %lpad.i489.i.i5399 - %vtable.i.i.i4.i492.i.i5402 = load ptr, ptr %2233, align 8 - %vfn.i.i.i5.i493.i.i5403 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i5402, i64 1 - %2234 = load ptr, ptr %vfn.i.i.i5.i493.i.i5403, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i5406: ; preds = %lpad.i489.i.i5404 + %vtable.i.i.i4.i492.i.i5407 = load ptr, ptr %2233, align 8 + %vfn.i.i.i5.i493.i.i5408 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i492.i.i5407, i64 1 + %2234 = load ptr, ptr %vfn.i.i.i5.i493.i.i5408, align 8 call void %2234(ptr noundef nonnull align 8 dereferenceable(128) %2233) #30 - br label %ehcleanup187.i.i5379 - -invoke.cont175.i.i5410: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i5407, %invoke.cont2.i496.i.i5405 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i4566), !noalias !1614 - %call155.val75.i.i5411 = load ptr, ptr %__begin0146.sroa.0.050.i.i5086, align 8 - %call178.val.i.i5412 = load ptr, ptr %call155.val75.i.i5411, align 8 - %2235 = getelementptr i8, ptr %call155.val75.i.i5411, i64 8 - %call178.val89.i.i5413 = load i64, ptr %2235, align 8 - %call178.val.val.i.i5414 = load ptr, ptr %call178.val.i.i5412, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i4596, ptr %call178.val.val.i.i5414, i64 %call178.val89.i.i5413) - to label %invoke.cont179.i.i5416 unwind label %lpad172.i.i5378 - -invoke.cont179.i.i5416: ; preds = %invoke.cont175.i.i5410 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i4565), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i4565) - to label %.noexc520.i.i5420 unwind label %lpad180.i.i5417 - -.noexc520.i.i5420: ; preds = %invoke.cont179.i.i5416 - %2236 = load ptr, ptr %ref.tmp.i505.i.i4565, align 8, !noalias !1614 - %add.ptr.i.i506.i.i5421 = getelementptr inbounds i8, ptr %2236, i64 16 - %call2.i1.i507.i.i5422 = 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) %add.ptr.i.i506.i.i5421, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i4596) - to label %invoke.cont.i514.i.i5428 unwind label %lpad.i508.i.i5423 - -invoke.cont.i514.i.i5428: ; preds = %.noexc520.i.i5420 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4594, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i4565) - to label %invoke.cont2.i515.i.i5429 unwind label %lpad.i508.i.i5423 - -invoke.cont2.i515.i.i5429: ; preds = %invoke.cont.i514.i.i5428 - %2237 = load ptr, ptr %ref.tmp.i505.i.i4565, align 8, !noalias !1614 - %cmp.not.i.i.i516.i.i5430 = icmp eq ptr %2237, null - br i1 %cmp.not.i.i.i516.i.i5430, label %invoke.cont181.i.i5434, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i5431 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i5431: ; preds = %invoke.cont2.i515.i.i5429 - %vtable.i.i.i.i518.i.i5432 = load ptr, ptr %2237, align 8 - %vfn.i.i.i.i519.i.i5433 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i5432, i64 1 - %2238 = load ptr, ptr %vfn.i.i.i.i519.i.i5433, align 8 + br label %ehcleanup187.i.i5384 + +invoke.cont175.i.i5415: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i498.i.i5412, %invoke.cont2.i496.i.i5410 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i486.i.i4571), !noalias !1614 + %call155.val75.i.i5416 = load ptr, ptr %__begin0146.sroa.0.050.i.i5091, align 8 + %call178.val.i.i5417 = load ptr, ptr %call155.val75.i.i5416, align 8 + %2235 = getelementptr i8, ptr %call155.val75.i.i5416, i64 8 + %call178.val89.i.i5418 = load i64, ptr %2235, align 8 + %call178.val.val.i.i5419 = load ptr, ptr %call178.val.i.i5417, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp177.i.i4601, ptr %call178.val.val.i.i5419, i64 %call178.val89.i.i5418) + to label %invoke.cont179.i.i5421 unwind label %lpad172.i.i5383 + +invoke.cont179.i.i5421: ; preds = %invoke.cont175.i.i5415 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i4570), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i4570) + to label %.noexc520.i.i5425 unwind label %lpad180.i.i5422 + +.noexc520.i.i5425: ; preds = %invoke.cont179.i.i5421 + %2236 = load ptr, ptr %ref.tmp.i505.i.i4570, align 8, !noalias !1614 + %add.ptr.i.i506.i.i5426 = getelementptr inbounds i8, ptr %2236, i64 16 + %call2.i1.i507.i.i5427 = 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) %add.ptr.i.i506.i.i5426, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i4601) + to label %invoke.cont.i514.i.i5433 unwind label %lpad.i508.i.i5428 + +invoke.cont.i514.i.i5433: ; preds = %.noexc520.i.i5425 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4599, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i505.i.i4570) + to label %invoke.cont2.i515.i.i5434 unwind label %lpad.i508.i.i5428 + +invoke.cont2.i515.i.i5434: ; preds = %invoke.cont.i514.i.i5433 + %2237 = load ptr, ptr %ref.tmp.i505.i.i4570, align 8, !noalias !1614 + %cmp.not.i.i.i516.i.i5435 = icmp eq ptr %2237, null + br i1 %cmp.not.i.i.i516.i.i5435, label %invoke.cont181.i.i5439, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i5436 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i5436: ; preds = %invoke.cont2.i515.i.i5434 + %vtable.i.i.i.i518.i.i5437 = load ptr, ptr %2237, align 8 + %vfn.i.i.i.i519.i.i5438 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i518.i.i5437, i64 1 + %2238 = load ptr, ptr %vfn.i.i.i.i519.i.i5438, align 8 call void %2238(ptr noundef nonnull align 8 dereferenceable(128) %2237) #30 - br label %invoke.cont181.i.i5434 + br label %invoke.cont181.i.i5439 -lpad.i508.i.i5423: ; preds = %invoke.cont.i514.i.i5428, %.noexc520.i.i5420 +lpad.i508.i.i5428: ; preds = %invoke.cont.i514.i.i5433, %.noexc520.i.i5425 %2239 = landingpad { ptr, i32 } cleanup - %2240 = load ptr, ptr %ref.tmp.i505.i.i4565, align 8, !noalias !1614 - %cmp.not.i.i2.i509.i.i5424 = icmp eq ptr %2240, null - br i1 %cmp.not.i.i2.i509.i.i5424, label %lpad180.body.i.i5418, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i5425 + %2240 = load ptr, ptr %ref.tmp.i505.i.i4570, align 8, !noalias !1614 + %cmp.not.i.i2.i509.i.i5429 = icmp eq ptr %2240, null + br i1 %cmp.not.i.i2.i509.i.i5429, label %lpad180.body.i.i5423, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i5430 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i5425: ; preds = %lpad.i508.i.i5423 - %vtable.i.i.i4.i511.i.i5426 = load ptr, ptr %2240, align 8 - %vfn.i.i.i5.i512.i.i5427 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i5426, i64 1 - %2241 = load ptr, ptr %vfn.i.i.i5.i512.i.i5427, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i5430: ; preds = %lpad.i508.i.i5428 + %vtable.i.i.i4.i511.i.i5431 = load ptr, ptr %2240, align 8 + %vfn.i.i.i5.i512.i.i5432 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i511.i.i5431, i64 1 + %2241 = load ptr, ptr %vfn.i.i.i5.i512.i.i5432, align 8 call void %2241(ptr noundef nonnull align 8 dereferenceable(128) %2240) #30 - br label %lpad180.body.i.i5418 - -invoke.cont181.i.i5434: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i5431, %invoke.cont2.i515.i.i5429 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i4565), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i4564), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i4564) - to label %.noexc538.i.i5435 unwind label %lpad180.i.i5417 - -.noexc538.i.i5435: ; preds = %invoke.cont181.i.i5434 - %2242 = load ptr, ptr %ref.tmp.i523.i.i4564, align 8, !noalias !1614 - %add.ptr.i.i524.i.i5436 = getelementptr inbounds i8, ptr %2242, i64 16 - %call2.i1.i525.i.i5437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i5436, ptr noundef nonnull @.str.112) - to label %invoke.cont.i532.i.i5443 unwind label %lpad.i526.i.i5438 - -invoke.cont.i532.i.i5443: ; preds = %.noexc538.i.i5435 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4594, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i4564) - to label %invoke.cont2.i533.i.i5444 unwind label %lpad.i526.i.i5438 - -invoke.cont2.i533.i.i5444: ; preds = %invoke.cont.i532.i.i5443 - %2243 = load ptr, ptr %ref.tmp.i523.i.i4564, align 8, !noalias !1614 - %cmp.not.i.i.i534.i.i5445 = icmp eq ptr %2243, null - br i1 %cmp.not.i.i.i534.i.i5445, label %invoke.cont183.i.i5449, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i5446 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i5446: ; preds = %invoke.cont2.i533.i.i5444 - %vtable.i.i.i.i536.i.i5447 = load ptr, ptr %2243, align 8 - %vfn.i.i.i.i537.i.i5448 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i5447, i64 1 - %2244 = load ptr, ptr %vfn.i.i.i.i537.i.i5448, align 8 + br label %lpad180.body.i.i5423 + +invoke.cont181.i.i5439: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i517.i.i5436, %invoke.cont2.i515.i.i5434 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i505.i.i4570), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i4569), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i4569) + to label %.noexc538.i.i5440 unwind label %lpad180.i.i5422 + +.noexc538.i.i5440: ; preds = %invoke.cont181.i.i5439 + %2242 = load ptr, ptr %ref.tmp.i523.i.i4569, align 8, !noalias !1614 + %add.ptr.i.i524.i.i5441 = getelementptr inbounds i8, ptr %2242, i64 16 + %call2.i1.i525.i.i5442 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i524.i.i5441, ptr noundef nonnull @.str.112) + to label %invoke.cont.i532.i.i5448 unwind label %lpad.i526.i.i5443 + +invoke.cont.i532.i.i5448: ; preds = %.noexc538.i.i5440 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4599, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i523.i.i4569) + to label %invoke.cont2.i533.i.i5449 unwind label %lpad.i526.i.i5443 + +invoke.cont2.i533.i.i5449: ; preds = %invoke.cont.i532.i.i5448 + %2243 = load ptr, ptr %ref.tmp.i523.i.i4569, align 8, !noalias !1614 + %cmp.not.i.i.i534.i.i5450 = icmp eq ptr %2243, null + br i1 %cmp.not.i.i.i534.i.i5450, label %invoke.cont183.i.i5454, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i5451 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i5451: ; preds = %invoke.cont2.i533.i.i5449 + %vtable.i.i.i.i536.i.i5452 = load ptr, ptr %2243, align 8 + %vfn.i.i.i.i537.i.i5453 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i536.i.i5452, i64 1 + %2244 = load ptr, ptr %vfn.i.i.i.i537.i.i5453, align 8 call void %2244(ptr noundef nonnull align 8 dereferenceable(128) %2243) #30 - br label %invoke.cont183.i.i5449 + br label %invoke.cont183.i.i5454 -lpad.i526.i.i5438: ; preds = %invoke.cont.i532.i.i5443, %.noexc538.i.i5435 +lpad.i526.i.i5443: ; preds = %invoke.cont.i532.i.i5448, %.noexc538.i.i5440 %2245 = landingpad { ptr, i32 } cleanup - %2246 = load ptr, ptr %ref.tmp.i523.i.i4564, align 8, !noalias !1614 - %cmp.not.i.i2.i527.i.i5439 = icmp eq ptr %2246, null - br i1 %cmp.not.i.i2.i527.i.i5439, label %lpad180.body.i.i5418, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i5440 + %2246 = load ptr, ptr %ref.tmp.i523.i.i4569, align 8, !noalias !1614 + %cmp.not.i.i2.i527.i.i5444 = icmp eq ptr %2246, null + br i1 %cmp.not.i.i2.i527.i.i5444, label %lpad180.body.i.i5423, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i5445 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i5440: ; preds = %lpad.i526.i.i5438 - %vtable.i.i.i4.i529.i.i5441 = load ptr, ptr %2246, align 8 - %vfn.i.i.i5.i530.i.i5442 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i5441, i64 1 - %2247 = load ptr, ptr %vfn.i.i.i5.i530.i.i5442, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i5445: ; preds = %lpad.i526.i.i5443 + %vtable.i.i.i4.i529.i.i5446 = load ptr, ptr %2246, align 8 + %vfn.i.i.i5.i530.i.i5447 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i529.i.i5446, i64 1 + %2247 = load ptr, ptr %vfn.i.i.i5.i530.i.i5447, align 8 call void %2247(ptr noundef nonnull align 8 dereferenceable(128) %2246) #30 - br label %lpad180.body.i.i5418 - -invoke.cont183.i.i5449: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i5446, %invoke.cont2.i533.i.i5444 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i4564), !noalias !1614 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4594) - to label %invoke.cont185.i.i5450 unwind label %lpad180.i.i5417 - -invoke.cont185.i.i5450: ; preds = %invoke.cont183.i.i5449 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i4596) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i4595) #30 - %message_.i542.i.i5451 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i4594, i64 0, i32 1 - %2248 = load ptr, ptr %message_.i542.i.i5451, align 8, !noalias !1614 - %cmp.not.i.i543.i.i5452 = icmp eq ptr %2248, null - br i1 %cmp.not.i.i543.i.i5452, label %cleanup249.critedge.i.i5208, label %cleanup249.critedge.sink.split.i.i5205 - -lpad166.i.i5354: ; preds = %invoke.cont167.i.i5371, %invoke.cont165.i.i5353 + br label %lpad180.body.i.i5423 + +invoke.cont183.i.i5454: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i535.i.i5451, %invoke.cont2.i533.i.i5449 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i523.i.i4569), !noalias !1614 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4599) + to label %invoke.cont185.i.i5455 unwind label %lpad180.i.i5422 + +invoke.cont185.i.i5455: ; preds = %invoke.cont183.i.i5454 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i4601) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i4600) #30 + %message_.i542.i.i5456 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp164.i.i4599, i64 0, i32 1 + %2248 = load ptr, ptr %message_.i542.i.i5456, align 8, !noalias !1614 + %cmp.not.i.i543.i.i5457 = icmp eq ptr %2248, null + br i1 %cmp.not.i.i543.i.i5457, label %cleanup249.critedge.i.i5213, label %cleanup249.critedge.sink.split.i.i5210 + +lpad166.i.i5359: ; preds = %invoke.cont167.i.i5376, %invoke.cont165.i.i5358 %2249 = landingpad { ptr, i32 } cleanup - br label %ehcleanup188.i.i5355 + br label %ehcleanup188.i.i5360 -lpad172.i.i5378: ; preds = %invoke.cont175.i.i5410, %invoke.cont173.i.i5395, %invoke.cont171.i.i5377 +lpad172.i.i5383: ; preds = %invoke.cont175.i.i5415, %invoke.cont173.i.i5400, %invoke.cont171.i.i5382 %2250 = landingpad { ptr, i32 } cleanup - br label %ehcleanup187.i.i5379 + br label %ehcleanup187.i.i5384 -lpad180.i.i5417: ; preds = %invoke.cont183.i.i5449, %invoke.cont181.i.i5434, %invoke.cont179.i.i5416 +lpad180.i.i5422: ; preds = %invoke.cont183.i.i5454, %invoke.cont181.i.i5439, %invoke.cont179.i.i5421 %2251 = landingpad { ptr, i32 } cleanup - br label %lpad180.body.i.i5418 - -lpad180.body.i.i5418: ; preds = %lpad180.i.i5417, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i5440, %lpad.i526.i.i5438, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i5425, %lpad.i508.i.i5423 - %eh.lpad-body521.i.i5419 = phi { ptr, i32 } [ %2239, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i5425 ], [ %2239, %lpad.i508.i.i5423 ], [ %2251, %lpad180.i.i5417 ], [ %2245, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i5440 ], [ %2245, %lpad.i526.i.i5438 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i4596) #30 - br label %ehcleanup187.i.i5379 - -ehcleanup187.i.i5379: ; preds = %lpad180.body.i.i5418, %lpad172.i.i5378, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i5401, %lpad.i489.i.i5399, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i5386, %lpad.i471.i.i5384 - %.pn34.i.i5380 = phi { ptr, i32 } [ %eh.lpad-body521.i.i5419, %lpad180.body.i.i5418 ], [ %2226, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i5386 ], [ %2226, %lpad.i471.i.i5384 ], [ %2250, %lpad172.i.i5378 ], [ %2232, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i5401 ], [ %2232, %lpad.i489.i.i5399 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i4595) #30 - br label %ehcleanup188.i.i5355 - -ehcleanup188.i.i5355: ; preds = %ehcleanup187.i.i5379, %lpad166.i.i5354, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i5362, %lpad.i453.i.i5360 - %.pn34.pn.i.i5356 = phi { ptr, i32 } [ %.pn34.i.i5380, %ehcleanup187.i.i5379 ], [ %2249, %lpad166.i.i5354 ], [ %2219, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i5362 ], [ %2219, %lpad.i453.i.i5360 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4594) #30 - br label %ehcleanup245.i.i5099 - -sw.bb189.i.i5251: ; preds = %invoke.cont162.i.i5101 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i4597) - to label %invoke.cont191.i.i5252 unwind label %lpad161.loopexit.split-lp.i.i5103 - -invoke.cont191.i.i5252: ; preds = %sw.bb189.i.i5251 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i4563), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i4563) - to label %.noexc561.i.i5256 unwind label %lpad192.i.i5253 - -.noexc561.i.i5256: ; preds = %invoke.cont191.i.i5252 - %2252 = load ptr, ptr %ref.tmp.i546.i.i4563, align 8, !noalias !1614 - %add.ptr.i.i547.i.i5257 = getelementptr inbounds i8, ptr %2252, i64 16 - %call2.i1.i548.i.i5258 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i5257, ptr noundef nonnull @.str.113) - to label %invoke.cont.i555.i.i5264 unwind label %lpad.i549.i.i5259 - -invoke.cont.i555.i.i5264: ; preds = %.noexc561.i.i5256 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4597, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i4563) - to label %invoke.cont2.i556.i.i5265 unwind label %lpad.i549.i.i5259 - -invoke.cont2.i556.i.i5265: ; preds = %invoke.cont.i555.i.i5264 - %2253 = load ptr, ptr %ref.tmp.i546.i.i4563, align 8, !noalias !1614 - %cmp.not.i.i.i557.i.i5266 = icmp eq ptr %2253, null - br i1 %cmp.not.i.i.i557.i.i5266, label %invoke.cont193.i.i5270, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i5267 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i5267: ; preds = %invoke.cont2.i556.i.i5265 - %vtable.i.i.i.i559.i.i5268 = load ptr, ptr %2253, align 8 - %vfn.i.i.i.i560.i.i5269 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i5268, i64 1 - %2254 = load ptr, ptr %vfn.i.i.i.i560.i.i5269, align 8 + br label %lpad180.body.i.i5423 + +lpad180.body.i.i5423: ; preds = %lpad180.i.i5422, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i5445, %lpad.i526.i.i5443, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i5430, %lpad.i508.i.i5428 + %eh.lpad-body521.i.i5424 = phi { ptr, i32 } [ %2239, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i510.i.i5430 ], [ %2239, %lpad.i508.i.i5428 ], [ %2251, %lpad180.i.i5422 ], [ %2245, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i528.i.i5445 ], [ %2245, %lpad.i526.i.i5443 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp177.i.i4601) #30 + br label %ehcleanup187.i.i5384 + +ehcleanup187.i.i5384: ; preds = %lpad180.body.i.i5423, %lpad172.i.i5383, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i5406, %lpad.i489.i.i5404, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i5391, %lpad.i471.i.i5389 + %.pn34.i.i5385 = phi { ptr, i32 } [ %eh.lpad-body521.i.i5424, %lpad180.body.i.i5423 ], [ %2226, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i473.i.i5391 ], [ %2226, %lpad.i471.i.i5389 ], [ %2250, %lpad172.i.i5383 ], [ %2232, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i491.i.i5406 ], [ %2232, %lpad.i489.i.i5404 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp169.i.i4600) #30 + br label %ehcleanup188.i.i5360 + +ehcleanup188.i.i5360: ; preds = %ehcleanup187.i.i5384, %lpad166.i.i5359, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i5367, %lpad.i453.i.i5365 + %.pn34.pn.i.i5361 = phi { ptr, i32 } [ %.pn34.i.i5385, %ehcleanup187.i.i5384 ], [ %2249, %lpad166.i.i5359 ], [ %2219, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i455.i.i5367 ], [ %2219, %lpad.i453.i.i5365 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp164.i.i4599) #30 + br label %ehcleanup245.i.i5104 + +sw.bb189.i.i5256: ; preds = %invoke.cont162.i.i5106 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp190.i.i4602) + to label %invoke.cont191.i.i5257 unwind label %lpad161.loopexit.split-lp.i.i5108 + +invoke.cont191.i.i5257: ; preds = %sw.bb189.i.i5256 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i4568), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i4568) + to label %.noexc561.i.i5261 unwind label %lpad192.i.i5258 + +.noexc561.i.i5261: ; preds = %invoke.cont191.i.i5257 + %2252 = load ptr, ptr %ref.tmp.i546.i.i4568, align 8, !noalias !1614 + %add.ptr.i.i547.i.i5262 = getelementptr inbounds i8, ptr %2252, i64 16 + %call2.i1.i548.i.i5263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i547.i.i5262, ptr noundef nonnull @.str.113) + to label %invoke.cont.i555.i.i5269 unwind label %lpad.i549.i.i5264 + +invoke.cont.i555.i.i5269: ; preds = %.noexc561.i.i5261 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4602, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i546.i.i4568) + to label %invoke.cont2.i556.i.i5270 unwind label %lpad.i549.i.i5264 + +invoke.cont2.i556.i.i5270: ; preds = %invoke.cont.i555.i.i5269 + %2253 = load ptr, ptr %ref.tmp.i546.i.i4568, align 8, !noalias !1614 + %cmp.not.i.i.i557.i.i5271 = icmp eq ptr %2253, null + br i1 %cmp.not.i.i.i557.i.i5271, label %invoke.cont193.i.i5275, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i5272 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i5272: ; preds = %invoke.cont2.i556.i.i5270 + %vtable.i.i.i.i559.i.i5273 = load ptr, ptr %2253, align 8 + %vfn.i.i.i.i560.i.i5274 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i559.i.i5273, i64 1 + %2254 = load ptr, ptr %vfn.i.i.i.i560.i.i5274, align 8 call void %2254(ptr noundef nonnull align 8 dereferenceable(128) %2253) #30 - br label %invoke.cont193.i.i5270 + br label %invoke.cont193.i.i5275 -lpad.i549.i.i5259: ; preds = %invoke.cont.i555.i.i5264, %.noexc561.i.i5256 +lpad.i549.i.i5264: ; preds = %invoke.cont.i555.i.i5269, %.noexc561.i.i5261 %2255 = landingpad { ptr, i32 } cleanup - %2256 = load ptr, ptr %ref.tmp.i546.i.i4563, align 8, !noalias !1614 - %cmp.not.i.i2.i550.i.i5260 = icmp eq ptr %2256, null - br i1 %cmp.not.i.i2.i550.i.i5260, label %ehcleanup214.i.i5254, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i5261 + %2256 = load ptr, ptr %ref.tmp.i546.i.i4568, align 8, !noalias !1614 + %cmp.not.i.i2.i550.i.i5265 = icmp eq ptr %2256, null + br i1 %cmp.not.i.i2.i550.i.i5265, label %ehcleanup214.i.i5259, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i5266 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i5261: ; preds = %lpad.i549.i.i5259 - %vtable.i.i.i4.i552.i.i5262 = load ptr, ptr %2256, align 8 - %vfn.i.i.i5.i553.i.i5263 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i5262, i64 1 - %2257 = load ptr, ptr %vfn.i.i.i5.i553.i.i5263, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i5266: ; preds = %lpad.i549.i.i5264 + %vtable.i.i.i4.i552.i.i5267 = load ptr, ptr %2256, align 8 + %vfn.i.i.i5.i553.i.i5268 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i552.i.i5267, i64 1 + %2257 = load ptr, ptr %vfn.i.i.i5.i553.i.i5268, align 8 call void %2257(ptr noundef nonnull align 8 dereferenceable(128) %2256) #30 - br label %ehcleanup214.i.i5254 - -invoke.cont193.i.i5270: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i5267, %invoke.cont2.i556.i.i5265 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i4563), !noalias !1614 - %call155.val76.i.i5271 = load ptr, ptr %__begin0146.sroa.0.050.i.i5086, align 8 - %call196.val.i.i5272 = load ptr, ptr %call155.val76.i.i5271, align 8 - %2258 = getelementptr i8, ptr %call155.val76.i.i5271, i64 8 - %call196.val90.i.i5273 = load i64, ptr %2258, align 8 - %call196.val.val.i.i5274 = load ptr, ptr %call196.val.i.i5272, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i4598, ptr %call196.val.val.i.i5274, i64 %call196.val90.i.i5273) - to label %invoke.cont197.i.i5276 unwind label %lpad192.i.i5253 - -invoke.cont197.i.i5276: ; preds = %invoke.cont193.i.i5270 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i4562), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i4562) - to label %.noexc578.i.i5280 unwind label %lpad198.i.i5277 - -.noexc578.i.i5280: ; preds = %invoke.cont197.i.i5276 - %2259 = load ptr, ptr %ref.tmp.i563.i.i4562, align 8, !noalias !1614 - %add.ptr.i.i564.i.i5281 = getelementptr inbounds i8, ptr %2259, i64 16 - %call2.i1.i565.i.i5282 = 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) %add.ptr.i.i564.i.i5281, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i4598) - to label %invoke.cont.i572.i.i5288 unwind label %lpad.i566.i.i5283 - -invoke.cont.i572.i.i5288: ; preds = %.noexc578.i.i5280 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4597, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i4562) - to label %invoke.cont2.i573.i.i5289 unwind label %lpad.i566.i.i5283 - -invoke.cont2.i573.i.i5289: ; preds = %invoke.cont.i572.i.i5288 - %2260 = load ptr, ptr %ref.tmp.i563.i.i4562, align 8, !noalias !1614 - %cmp.not.i.i.i574.i.i5290 = icmp eq ptr %2260, null - br i1 %cmp.not.i.i.i574.i.i5290, label %invoke.cont199.i.i5294, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i5291 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i5291: ; preds = %invoke.cont2.i573.i.i5289 - %vtable.i.i.i.i576.i.i5292 = load ptr, ptr %2260, align 8 - %vfn.i.i.i.i577.i.i5293 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i5292, i64 1 - %2261 = load ptr, ptr %vfn.i.i.i.i577.i.i5293, align 8 + br label %ehcleanup214.i.i5259 + +invoke.cont193.i.i5275: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i558.i.i5272, %invoke.cont2.i556.i.i5270 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i546.i.i4568), !noalias !1614 + %call155.val76.i.i5276 = load ptr, ptr %__begin0146.sroa.0.050.i.i5091, align 8 + %call196.val.i.i5277 = load ptr, ptr %call155.val76.i.i5276, align 8 + %2258 = getelementptr i8, ptr %call155.val76.i.i5276, i64 8 + %call196.val90.i.i5278 = load i64, ptr %2258, align 8 + %call196.val.val.i.i5279 = load ptr, ptr %call196.val.i.i5277, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp195.i.i4603, ptr %call196.val.val.i.i5279, i64 %call196.val90.i.i5278) + to label %invoke.cont197.i.i5281 unwind label %lpad192.i.i5258 + +invoke.cont197.i.i5281: ; preds = %invoke.cont193.i.i5275 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i4567), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i4567) + to label %.noexc578.i.i5285 unwind label %lpad198.i.i5282 + +.noexc578.i.i5285: ; preds = %invoke.cont197.i.i5281 + %2259 = load ptr, ptr %ref.tmp.i563.i.i4567, align 8, !noalias !1614 + %add.ptr.i.i564.i.i5286 = getelementptr inbounds i8, ptr %2259, i64 16 + %call2.i1.i565.i.i5287 = 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) %add.ptr.i.i564.i.i5286, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i4603) + to label %invoke.cont.i572.i.i5293 unwind label %lpad.i566.i.i5288 + +invoke.cont.i572.i.i5293: ; preds = %.noexc578.i.i5285 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4602, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i563.i.i4567) + to label %invoke.cont2.i573.i.i5294 unwind label %lpad.i566.i.i5288 + +invoke.cont2.i573.i.i5294: ; preds = %invoke.cont.i572.i.i5293 + %2260 = load ptr, ptr %ref.tmp.i563.i.i4567, align 8, !noalias !1614 + %cmp.not.i.i.i574.i.i5295 = icmp eq ptr %2260, null + br i1 %cmp.not.i.i.i574.i.i5295, label %invoke.cont199.i.i5299, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i5296 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i5296: ; preds = %invoke.cont2.i573.i.i5294 + %vtable.i.i.i.i576.i.i5297 = load ptr, ptr %2260, align 8 + %vfn.i.i.i.i577.i.i5298 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i576.i.i5297, i64 1 + %2261 = load ptr, ptr %vfn.i.i.i.i577.i.i5298, align 8 call void %2261(ptr noundef nonnull align 8 dereferenceable(128) %2260) #30 - br label %invoke.cont199.i.i5294 + br label %invoke.cont199.i.i5299 -lpad.i566.i.i5283: ; preds = %invoke.cont.i572.i.i5288, %.noexc578.i.i5280 +lpad.i566.i.i5288: ; preds = %invoke.cont.i572.i.i5293, %.noexc578.i.i5285 %2262 = landingpad { ptr, i32 } cleanup - %2263 = load ptr, ptr %ref.tmp.i563.i.i4562, align 8, !noalias !1614 - %cmp.not.i.i2.i567.i.i5284 = icmp eq ptr %2263, null - br i1 %cmp.not.i.i2.i567.i.i5284, label %ehcleanup213.i.i5278, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i5285 + %2263 = load ptr, ptr %ref.tmp.i563.i.i4567, align 8, !noalias !1614 + %cmp.not.i.i2.i567.i.i5289 = icmp eq ptr %2263, null + br i1 %cmp.not.i.i2.i567.i.i5289, label %ehcleanup213.i.i5283, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i5290 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i5285: ; preds = %lpad.i566.i.i5283 - %vtable.i.i.i4.i569.i.i5286 = load ptr, ptr %2263, align 8 - %vfn.i.i.i5.i570.i.i5287 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i5286, i64 1 - %2264 = load ptr, ptr %vfn.i.i.i5.i570.i.i5287, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i5290: ; preds = %lpad.i566.i.i5288 + %vtable.i.i.i4.i569.i.i5291 = load ptr, ptr %2263, align 8 + %vfn.i.i.i5.i570.i.i5292 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i569.i.i5291, i64 1 + %2264 = load ptr, ptr %vfn.i.i.i5.i570.i.i5292, align 8 call void %2264(ptr noundef nonnull align 8 dereferenceable(128) %2263) #30 - br label %ehcleanup213.i.i5278 - -invoke.cont199.i.i5294: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i5291, %invoke.cont2.i573.i.i5289 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i4562), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i4561), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i4561) - to label %.noexc596.i.i5295 unwind label %lpad198.i.i5277 - -.noexc596.i.i5295: ; preds = %invoke.cont199.i.i5294 - %2265 = load ptr, ptr %ref.tmp.i581.i.i4561, align 8, !noalias !1614 - %add.ptr.i.i582.i.i5296 = getelementptr inbounds i8, ptr %2265, i64 16 - %call2.i1.i583.i.i5297 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i5296, ptr noundef nonnull @.str.114) - to label %invoke.cont.i590.i.i5303 unwind label %lpad.i584.i.i5298 - -invoke.cont.i590.i.i5303: ; preds = %.noexc596.i.i5295 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4597, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i4561) - to label %invoke.cont2.i591.i.i5304 unwind label %lpad.i584.i.i5298 - -invoke.cont2.i591.i.i5304: ; preds = %invoke.cont.i590.i.i5303 - %2266 = load ptr, ptr %ref.tmp.i581.i.i4561, align 8, !noalias !1614 - %cmp.not.i.i.i592.i.i5305 = icmp eq ptr %2266, null - br i1 %cmp.not.i.i.i592.i.i5305, label %invoke.cont201.i.i5309, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i5306 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i5306: ; preds = %invoke.cont2.i591.i.i5304 - %vtable.i.i.i.i594.i.i5307 = load ptr, ptr %2266, align 8 - %vfn.i.i.i.i595.i.i5308 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i5307, i64 1 - %2267 = load ptr, ptr %vfn.i.i.i.i595.i.i5308, align 8 + br label %ehcleanup213.i.i5283 + +invoke.cont199.i.i5299: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i575.i.i5296, %invoke.cont2.i573.i.i5294 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i563.i.i4567), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i4566), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i4566) + to label %.noexc596.i.i5300 unwind label %lpad198.i.i5282 + +.noexc596.i.i5300: ; preds = %invoke.cont199.i.i5299 + %2265 = load ptr, ptr %ref.tmp.i581.i.i4566, align 8, !noalias !1614 + %add.ptr.i.i582.i.i5301 = getelementptr inbounds i8, ptr %2265, i64 16 + %call2.i1.i583.i.i5302 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i582.i.i5301, ptr noundef nonnull @.str.114) + to label %invoke.cont.i590.i.i5308 unwind label %lpad.i584.i.i5303 + +invoke.cont.i590.i.i5308: ; preds = %.noexc596.i.i5300 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4602, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i581.i.i4566) + to label %invoke.cont2.i591.i.i5309 unwind label %lpad.i584.i.i5303 + +invoke.cont2.i591.i.i5309: ; preds = %invoke.cont.i590.i.i5308 + %2266 = load ptr, ptr %ref.tmp.i581.i.i4566, align 8, !noalias !1614 + %cmp.not.i.i.i592.i.i5310 = icmp eq ptr %2266, null + br i1 %cmp.not.i.i.i592.i.i5310, label %invoke.cont201.i.i5314, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i5311 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i5311: ; preds = %invoke.cont2.i591.i.i5309 + %vtable.i.i.i.i594.i.i5312 = load ptr, ptr %2266, align 8 + %vfn.i.i.i.i595.i.i5313 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i594.i.i5312, i64 1 + %2267 = load ptr, ptr %vfn.i.i.i.i595.i.i5313, align 8 call void %2267(ptr noundef nonnull align 8 dereferenceable(128) %2266) #30 - br label %invoke.cont201.i.i5309 + br label %invoke.cont201.i.i5314 -lpad.i584.i.i5298: ; preds = %invoke.cont.i590.i.i5303, %.noexc596.i.i5295 +lpad.i584.i.i5303: ; preds = %invoke.cont.i590.i.i5308, %.noexc596.i.i5300 %2268 = landingpad { ptr, i32 } cleanup - %2269 = load ptr, ptr %ref.tmp.i581.i.i4561, align 8, !noalias !1614 - %cmp.not.i.i2.i585.i.i5299 = icmp eq ptr %2269, null - br i1 %cmp.not.i.i2.i585.i.i5299, label %ehcleanup213.i.i5278, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i5300 + %2269 = load ptr, ptr %ref.tmp.i581.i.i4566, align 8, !noalias !1614 + %cmp.not.i.i2.i585.i.i5304 = icmp eq ptr %2269, null + br i1 %cmp.not.i.i2.i585.i.i5304, label %ehcleanup213.i.i5283, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i5305 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i5300: ; preds = %lpad.i584.i.i5298 - %vtable.i.i.i4.i587.i.i5301 = load ptr, ptr %2269, align 8 - %vfn.i.i.i5.i588.i.i5302 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i5301, i64 1 - %2270 = load ptr, ptr %vfn.i.i.i5.i588.i.i5302, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i5305: ; preds = %lpad.i584.i.i5303 + %vtable.i.i.i4.i587.i.i5306 = load ptr, ptr %2269, align 8 + %vfn.i.i.i5.i588.i.i5307 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i587.i.i5306, i64 1 + %2270 = load ptr, ptr %vfn.i.i.i5.i588.i.i5307, align 8 call void %2270(ptr noundef nonnull align 8 dereferenceable(128) %2269) #30 - br label %ehcleanup213.i.i5278 - -invoke.cont201.i.i5309: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i5306, %invoke.cont2.i591.i.i5304 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i4561), !noalias !1614 - %call68.val77.i.i5310 = load ptr, ptr %__begin058.sroa.0.052.i.i4761, align 8 - %call204.val.i.i5311 = load ptr, ptr %call68.val77.i.i5310, align 8 - %2271 = getelementptr i8, ptr %call68.val77.i.i5310, i64 8 - %call204.val91.i.i5312 = load i64, ptr %2271, align 8 - %call204.val.val.i.i5313 = load ptr, ptr %call204.val.i.i5311, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i4599, ptr %call204.val.val.i.i5313, i64 %call204.val91.i.i5312) - to label %invoke.cont205.i.i5315 unwind label %lpad198.i.i5277 - -invoke.cont205.i.i5315: ; preds = %invoke.cont201.i.i5309 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i4560), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i4560) - to label %.noexc614.i.i5319 unwind label %lpad206.i.i5316 - -.noexc614.i.i5319: ; preds = %invoke.cont205.i.i5315 - %2272 = load ptr, ptr %ref.tmp.i599.i.i4560, align 8, !noalias !1614 - %add.ptr.i.i600.i.i5320 = getelementptr inbounds i8, ptr %2272, i64 16 - %call2.i1.i601.i.i5321 = 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) %add.ptr.i.i600.i.i5320, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i4599) - to label %invoke.cont.i608.i.i5327 unwind label %lpad.i602.i.i5322 - -invoke.cont.i608.i.i5327: ; preds = %.noexc614.i.i5319 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4597, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i4560) - to label %invoke.cont2.i609.i.i5328 unwind label %lpad.i602.i.i5322 - -invoke.cont2.i609.i.i5328: ; preds = %invoke.cont.i608.i.i5327 - %2273 = load ptr, ptr %ref.tmp.i599.i.i4560, align 8, !noalias !1614 - %cmp.not.i.i.i610.i.i5329 = icmp eq ptr %2273, null - br i1 %cmp.not.i.i.i610.i.i5329, label %invoke.cont207.i.i5333, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i5330 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i5330: ; preds = %invoke.cont2.i609.i.i5328 - %vtable.i.i.i.i612.i.i5331 = load ptr, ptr %2273, align 8 - %vfn.i.i.i.i613.i.i5332 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i5331, i64 1 - %2274 = load ptr, ptr %vfn.i.i.i.i613.i.i5332, align 8 + br label %ehcleanup213.i.i5283 + +invoke.cont201.i.i5314: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i593.i.i5311, %invoke.cont2.i591.i.i5309 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i581.i.i4566), !noalias !1614 + %call68.val77.i.i5315 = load ptr, ptr %__begin058.sroa.0.052.i.i4766, align 8 + %call204.val.i.i5316 = load ptr, ptr %call68.val77.i.i5315, align 8 + %2271 = getelementptr i8, ptr %call68.val77.i.i5315, i64 8 + %call204.val91.i.i5317 = load i64, ptr %2271, align 8 + %call204.val.val.i.i5318 = load ptr, ptr %call204.val.i.i5316, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp203.i.i4604, ptr %call204.val.val.i.i5318, i64 %call204.val91.i.i5317) + to label %invoke.cont205.i.i5320 unwind label %lpad198.i.i5282 + +invoke.cont205.i.i5320: ; preds = %invoke.cont201.i.i5314 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i4565), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i4565) + to label %.noexc614.i.i5324 unwind label %lpad206.i.i5321 + +.noexc614.i.i5324: ; preds = %invoke.cont205.i.i5320 + %2272 = load ptr, ptr %ref.tmp.i599.i.i4565, align 8, !noalias !1614 + %add.ptr.i.i600.i.i5325 = getelementptr inbounds i8, ptr %2272, i64 16 + %call2.i1.i601.i.i5326 = 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) %add.ptr.i.i600.i.i5325, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i4604) + to label %invoke.cont.i608.i.i5332 unwind label %lpad.i602.i.i5327 + +invoke.cont.i608.i.i5332: ; preds = %.noexc614.i.i5324 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4602, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i599.i.i4565) + to label %invoke.cont2.i609.i.i5333 unwind label %lpad.i602.i.i5327 + +invoke.cont2.i609.i.i5333: ; preds = %invoke.cont.i608.i.i5332 + %2273 = load ptr, ptr %ref.tmp.i599.i.i4565, align 8, !noalias !1614 + %cmp.not.i.i.i610.i.i5334 = icmp eq ptr %2273, null + br i1 %cmp.not.i.i.i610.i.i5334, label %invoke.cont207.i.i5338, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i5335 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i5335: ; preds = %invoke.cont2.i609.i.i5333 + %vtable.i.i.i.i612.i.i5336 = load ptr, ptr %2273, align 8 + %vfn.i.i.i.i613.i.i5337 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i612.i.i5336, i64 1 + %2274 = load ptr, ptr %vfn.i.i.i.i613.i.i5337, align 8 call void %2274(ptr noundef nonnull align 8 dereferenceable(128) %2273) #30 - br label %invoke.cont207.i.i5333 + br label %invoke.cont207.i.i5338 -lpad.i602.i.i5322: ; preds = %invoke.cont.i608.i.i5327, %.noexc614.i.i5319 +lpad.i602.i.i5327: ; preds = %invoke.cont.i608.i.i5332, %.noexc614.i.i5324 %2275 = landingpad { ptr, i32 } cleanup - %2276 = load ptr, ptr %ref.tmp.i599.i.i4560, align 8, !noalias !1614 - %cmp.not.i.i2.i603.i.i5323 = icmp eq ptr %2276, null - br i1 %cmp.not.i.i2.i603.i.i5323, label %lpad206.body.i.i5317, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i5324 + %2276 = load ptr, ptr %ref.tmp.i599.i.i4565, align 8, !noalias !1614 + %cmp.not.i.i2.i603.i.i5328 = icmp eq ptr %2276, null + br i1 %cmp.not.i.i2.i603.i.i5328, label %lpad206.body.i.i5322, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i5329 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i5324: ; preds = %lpad.i602.i.i5322 - %vtable.i.i.i4.i605.i.i5325 = load ptr, ptr %2276, align 8 - %vfn.i.i.i5.i606.i.i5326 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i5325, i64 1 - %2277 = load ptr, ptr %vfn.i.i.i5.i606.i.i5326, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i5329: ; preds = %lpad.i602.i.i5327 + %vtable.i.i.i4.i605.i.i5330 = load ptr, ptr %2276, align 8 + %vfn.i.i.i5.i606.i.i5331 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i605.i.i5330, i64 1 + %2277 = load ptr, ptr %vfn.i.i.i5.i606.i.i5331, align 8 call void %2277(ptr noundef nonnull align 8 dereferenceable(128) %2276) #30 - br label %lpad206.body.i.i5317 - -invoke.cont207.i.i5333: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i5330, %invoke.cont2.i609.i.i5328 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i4560), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i4559), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i4559) - to label %.noexc632.i.i5334 unwind label %lpad206.i.i5316 - -.noexc632.i.i5334: ; preds = %invoke.cont207.i.i5333 - %2278 = load ptr, ptr %ref.tmp.i617.i.i4559, align 8, !noalias !1614 - %add.ptr.i.i618.i.i5335 = getelementptr inbounds i8, ptr %2278, i64 16 - %call2.i1.i619.i.i5336 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i5335, ptr noundef nonnull @.str.115) - to label %invoke.cont.i626.i.i5342 unwind label %lpad.i620.i.i5337 - -invoke.cont.i626.i.i5342: ; preds = %.noexc632.i.i5334 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4597, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i4559) - to label %invoke.cont2.i627.i.i5343 unwind label %lpad.i620.i.i5337 - -invoke.cont2.i627.i.i5343: ; preds = %invoke.cont.i626.i.i5342 - %2279 = load ptr, ptr %ref.tmp.i617.i.i4559, align 8, !noalias !1614 - %cmp.not.i.i.i628.i.i5344 = icmp eq ptr %2279, null - br i1 %cmp.not.i.i.i628.i.i5344, label %invoke.cont209.i.i5348, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i5345 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i5345: ; preds = %invoke.cont2.i627.i.i5343 - %vtable.i.i.i.i630.i.i5346 = load ptr, ptr %2279, align 8 - %vfn.i.i.i.i631.i.i5347 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i5346, i64 1 - %2280 = load ptr, ptr %vfn.i.i.i.i631.i.i5347, align 8 + br label %lpad206.body.i.i5322 + +invoke.cont207.i.i5338: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i611.i.i5335, %invoke.cont2.i609.i.i5333 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i599.i.i4565), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i4564), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i4564) + to label %.noexc632.i.i5339 unwind label %lpad206.i.i5321 + +.noexc632.i.i5339: ; preds = %invoke.cont207.i.i5338 + %2278 = load ptr, ptr %ref.tmp.i617.i.i4564, align 8, !noalias !1614 + %add.ptr.i.i618.i.i5340 = getelementptr inbounds i8, ptr %2278, i64 16 + %call2.i1.i619.i.i5341 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i618.i.i5340, ptr noundef nonnull @.str.115) + to label %invoke.cont.i626.i.i5347 unwind label %lpad.i620.i.i5342 + +invoke.cont.i626.i.i5347: ; preds = %.noexc632.i.i5339 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4602, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i617.i.i4564) + to label %invoke.cont2.i627.i.i5348 unwind label %lpad.i620.i.i5342 + +invoke.cont2.i627.i.i5348: ; preds = %invoke.cont.i626.i.i5347 + %2279 = load ptr, ptr %ref.tmp.i617.i.i4564, align 8, !noalias !1614 + %cmp.not.i.i.i628.i.i5349 = icmp eq ptr %2279, null + br i1 %cmp.not.i.i.i628.i.i5349, label %invoke.cont209.i.i5353, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i5350 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i5350: ; preds = %invoke.cont2.i627.i.i5348 + %vtable.i.i.i.i630.i.i5351 = load ptr, ptr %2279, align 8 + %vfn.i.i.i.i631.i.i5352 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i630.i.i5351, i64 1 + %2280 = load ptr, ptr %vfn.i.i.i.i631.i.i5352, align 8 call void %2280(ptr noundef nonnull align 8 dereferenceable(128) %2279) #30 - br label %invoke.cont209.i.i5348 + br label %invoke.cont209.i.i5353 -lpad.i620.i.i5337: ; preds = %invoke.cont.i626.i.i5342, %.noexc632.i.i5334 +lpad.i620.i.i5342: ; preds = %invoke.cont.i626.i.i5347, %.noexc632.i.i5339 %2281 = landingpad { ptr, i32 } cleanup - %2282 = load ptr, ptr %ref.tmp.i617.i.i4559, align 8, !noalias !1614 - %cmp.not.i.i2.i621.i.i5338 = icmp eq ptr %2282, null - br i1 %cmp.not.i.i2.i621.i.i5338, label %lpad206.body.i.i5317, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i5339 + %2282 = load ptr, ptr %ref.tmp.i617.i.i4564, align 8, !noalias !1614 + %cmp.not.i.i2.i621.i.i5343 = icmp eq ptr %2282, null + br i1 %cmp.not.i.i2.i621.i.i5343, label %lpad206.body.i.i5322, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i5344 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i5339: ; preds = %lpad.i620.i.i5337 - %vtable.i.i.i4.i623.i.i5340 = load ptr, ptr %2282, align 8 - %vfn.i.i.i5.i624.i.i5341 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i5340, i64 1 - %2283 = load ptr, ptr %vfn.i.i.i5.i624.i.i5341, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i5344: ; preds = %lpad.i620.i.i5342 + %vtable.i.i.i4.i623.i.i5345 = load ptr, ptr %2282, align 8 + %vfn.i.i.i5.i624.i.i5346 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i623.i.i5345, i64 1 + %2283 = load ptr, ptr %vfn.i.i.i5.i624.i.i5346, align 8 call void %2283(ptr noundef nonnull align 8 dereferenceable(128) %2282) #30 - br label %lpad206.body.i.i5317 - -invoke.cont209.i.i5348: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i5345, %invoke.cont2.i627.i.i5343 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i4559), !noalias !1614 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4597) - to label %invoke.cont211.i.i5349 unwind label %lpad206.i.i5316 - -invoke.cont211.i.i5349: ; preds = %invoke.cont209.i.i5348 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i4599) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i4598) #30 - %message_.i635.i.i5350 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i4597, i64 0, i32 1 - %2284 = load ptr, ptr %message_.i635.i.i5350, align 8, !noalias !1614 - %cmp.not.i.i636.i.i5351 = icmp eq ptr %2284, null - br i1 %cmp.not.i.i636.i.i5351, label %cleanup249.critedge.i.i5208, label %cleanup249.critedge.sink.split.i.i5205 - -lpad192.i.i5253: ; preds = %invoke.cont193.i.i5270, %invoke.cont191.i.i5252 + br label %lpad206.body.i.i5322 + +invoke.cont209.i.i5353: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i629.i.i5350, %invoke.cont2.i627.i.i5348 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i617.i.i4564), !noalias !1614 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4602) + to label %invoke.cont211.i.i5354 unwind label %lpad206.i.i5321 + +invoke.cont211.i.i5354: ; preds = %invoke.cont209.i.i5353 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i4604) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i4603) #30 + %message_.i635.i.i5355 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp190.i.i4602, i64 0, i32 1 + %2284 = load ptr, ptr %message_.i635.i.i5355, align 8, !noalias !1614 + %cmp.not.i.i636.i.i5356 = icmp eq ptr %2284, null + br i1 %cmp.not.i.i636.i.i5356, label %cleanup249.critedge.i.i5213, label %cleanup249.critedge.sink.split.i.i5210 + +lpad192.i.i5258: ; preds = %invoke.cont193.i.i5275, %invoke.cont191.i.i5257 %2285 = landingpad { ptr, i32 } cleanup - br label %ehcleanup214.i.i5254 + br label %ehcleanup214.i.i5259 -lpad198.i.i5277: ; preds = %invoke.cont201.i.i5309, %invoke.cont199.i.i5294, %invoke.cont197.i.i5276 +lpad198.i.i5282: ; preds = %invoke.cont201.i.i5314, %invoke.cont199.i.i5299, %invoke.cont197.i.i5281 %2286 = landingpad { ptr, i32 } cleanup - br label %ehcleanup213.i.i5278 + br label %ehcleanup213.i.i5283 -lpad206.i.i5316: ; preds = %invoke.cont209.i.i5348, %invoke.cont207.i.i5333, %invoke.cont205.i.i5315 +lpad206.i.i5321: ; preds = %invoke.cont209.i.i5353, %invoke.cont207.i.i5338, %invoke.cont205.i.i5320 %2287 = landingpad { ptr, i32 } cleanup - br label %lpad206.body.i.i5317 - -lpad206.body.i.i5317: ; preds = %lpad206.i.i5316, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i5339, %lpad.i620.i.i5337, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i5324, %lpad.i602.i.i5322 - %eh.lpad-body615.i.i5318 = phi { ptr, i32 } [ %2275, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i5324 ], [ %2275, %lpad.i602.i.i5322 ], [ %2287, %lpad206.i.i5316 ], [ %2281, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i5339 ], [ %2281, %lpad.i620.i.i5337 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i4599) #30 - br label %ehcleanup213.i.i5278 - -ehcleanup213.i.i5278: ; preds = %lpad206.body.i.i5317, %lpad198.i.i5277, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i5300, %lpad.i584.i.i5298, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i5285, %lpad.i566.i.i5283 - %.pn31.i.i5279 = phi { ptr, i32 } [ %eh.lpad-body615.i.i5318, %lpad206.body.i.i5317 ], [ %2262, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i5285 ], [ %2262, %lpad.i566.i.i5283 ], [ %2286, %lpad198.i.i5277 ], [ %2268, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i5300 ], [ %2268, %lpad.i584.i.i5298 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i4598) #30 - br label %ehcleanup214.i.i5254 - -ehcleanup214.i.i5254: ; preds = %ehcleanup213.i.i5278, %lpad192.i.i5253, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i5261, %lpad.i549.i.i5259 - %.pn31.pn.i.i5255 = phi { ptr, i32 } [ %.pn31.i.i5279, %ehcleanup213.i.i5278 ], [ %2285, %lpad192.i.i5253 ], [ %2255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i5261 ], [ %2255, %lpad.i549.i.i5259 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4597) #30 - br label %ehcleanup245.i.i5099 - -sw.bb215.i.i5102: ; preds = %invoke.cont162.i.i5101 - invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i4600) - to label %invoke.cont217.i.i5105 unwind label %lpad161.loopexit.split-lp.i.i5103 - -invoke.cont217.i.i5105: ; preds = %sw.bb215.i.i5102 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i4558), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i4558) - to label %.noexc654.i.i5109 unwind label %lpad218.i.i5106 - -.noexc654.i.i5109: ; preds = %invoke.cont217.i.i5105 - %2288 = load ptr, ptr %ref.tmp.i639.i.i4558, align 8, !noalias !1614 - %add.ptr.i.i640.i.i5110 = getelementptr inbounds i8, ptr %2288, i64 16 - %call2.i1.i641.i.i5111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i5110, ptr noundef nonnull @.str.113) - to label %invoke.cont.i648.i.i5117 unwind label %lpad.i642.i.i5112 - -invoke.cont.i648.i.i5117: ; preds = %.noexc654.i.i5109 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4600, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i4558) - to label %invoke.cont2.i649.i.i5118 unwind label %lpad.i642.i.i5112 - -invoke.cont2.i649.i.i5118: ; preds = %invoke.cont.i648.i.i5117 - %2289 = load ptr, ptr %ref.tmp.i639.i.i4558, align 8, !noalias !1614 - %cmp.not.i.i.i650.i.i5119 = icmp eq ptr %2289, null - br i1 %cmp.not.i.i.i650.i.i5119, label %invoke.cont219.i.i5123, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i5120 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i5120: ; preds = %invoke.cont2.i649.i.i5118 - %vtable.i.i.i.i652.i.i5121 = load ptr, ptr %2289, align 8 - %vfn.i.i.i.i653.i.i5122 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i5121, i64 1 - %2290 = load ptr, ptr %vfn.i.i.i.i653.i.i5122, align 8 + br label %lpad206.body.i.i5322 + +lpad206.body.i.i5322: ; preds = %lpad206.i.i5321, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i5344, %lpad.i620.i.i5342, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i5329, %lpad.i602.i.i5327 + %eh.lpad-body615.i.i5323 = phi { ptr, i32 } [ %2275, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i604.i.i5329 ], [ %2275, %lpad.i602.i.i5327 ], [ %2287, %lpad206.i.i5321 ], [ %2281, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i622.i.i5344 ], [ %2281, %lpad.i620.i.i5342 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp203.i.i4604) #30 + br label %ehcleanup213.i.i5283 + +ehcleanup213.i.i5283: ; preds = %lpad206.body.i.i5322, %lpad198.i.i5282, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i5305, %lpad.i584.i.i5303, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i5290, %lpad.i566.i.i5288 + %.pn31.i.i5284 = phi { ptr, i32 } [ %eh.lpad-body615.i.i5323, %lpad206.body.i.i5322 ], [ %2262, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i568.i.i5290 ], [ %2262, %lpad.i566.i.i5288 ], [ %2286, %lpad198.i.i5282 ], [ %2268, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i586.i.i5305 ], [ %2268, %lpad.i584.i.i5303 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp195.i.i4603) #30 + br label %ehcleanup214.i.i5259 + +ehcleanup214.i.i5259: ; preds = %ehcleanup213.i.i5283, %lpad192.i.i5258, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i5266, %lpad.i549.i.i5264 + %.pn31.pn.i.i5260 = phi { ptr, i32 } [ %.pn31.i.i5284, %ehcleanup213.i.i5283 ], [ %2285, %lpad192.i.i5258 ], [ %2255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i551.i.i5266 ], [ %2255, %lpad.i549.i.i5264 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp190.i.i4602) #30 + br label %ehcleanup245.i.i5104 + +sw.bb215.i.i5107: ; preds = %invoke.cont162.i.i5106 + invoke void @_ZN7testing16AssertionFailureEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %ref.tmp216.i.i4605) + to label %invoke.cont217.i.i5110 unwind label %lpad161.loopexit.split-lp.i.i5108 + +invoke.cont217.i.i5110: ; preds = %sw.bb215.i.i5107 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i4563), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i4563) + to label %.noexc654.i.i5114 unwind label %lpad218.i.i5111 + +.noexc654.i.i5114: ; preds = %invoke.cont217.i.i5110 + %2288 = load ptr, ptr %ref.tmp.i639.i.i4563, align 8, !noalias !1614 + %add.ptr.i.i640.i.i5115 = getelementptr inbounds i8, ptr %2288, i64 16 + %call2.i1.i641.i.i5116 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i640.i.i5115, ptr noundef nonnull @.str.113) + to label %invoke.cont.i648.i.i5122 unwind label %lpad.i642.i.i5117 + +invoke.cont.i648.i.i5122: ; preds = %.noexc654.i.i5114 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4605, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i639.i.i4563) + to label %invoke.cont2.i649.i.i5123 unwind label %lpad.i642.i.i5117 + +invoke.cont2.i649.i.i5123: ; preds = %invoke.cont.i648.i.i5122 + %2289 = load ptr, ptr %ref.tmp.i639.i.i4563, align 8, !noalias !1614 + %cmp.not.i.i.i650.i.i5124 = icmp eq ptr %2289, null + br i1 %cmp.not.i.i.i650.i.i5124, label %invoke.cont219.i.i5128, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i5125 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i5125: ; preds = %invoke.cont2.i649.i.i5123 + %vtable.i.i.i.i652.i.i5126 = load ptr, ptr %2289, align 8 + %vfn.i.i.i.i653.i.i5127 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i652.i.i5126, i64 1 + %2290 = load ptr, ptr %vfn.i.i.i.i653.i.i5127, align 8 call void %2290(ptr noundef nonnull align 8 dereferenceable(128) %2289) #30 - br label %invoke.cont219.i.i5123 + br label %invoke.cont219.i.i5128 -lpad.i642.i.i5112: ; preds = %invoke.cont.i648.i.i5117, %.noexc654.i.i5109 +lpad.i642.i.i5117: ; preds = %invoke.cont.i648.i.i5122, %.noexc654.i.i5114 %2291 = landingpad { ptr, i32 } cleanup - %2292 = load ptr, ptr %ref.tmp.i639.i.i4558, align 8, !noalias !1614 - %cmp.not.i.i2.i643.i.i5113 = icmp eq ptr %2292, null - br i1 %cmp.not.i.i2.i643.i.i5113, label %ehcleanup240.i.i5107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i5114 + %2292 = load ptr, ptr %ref.tmp.i639.i.i4563, align 8, !noalias !1614 + %cmp.not.i.i2.i643.i.i5118 = icmp eq ptr %2292, null + br i1 %cmp.not.i.i2.i643.i.i5118, label %ehcleanup240.i.i5112, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i5119 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i5114: ; preds = %lpad.i642.i.i5112 - %vtable.i.i.i4.i645.i.i5115 = load ptr, ptr %2292, align 8 - %vfn.i.i.i5.i646.i.i5116 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i5115, i64 1 - %2293 = load ptr, ptr %vfn.i.i.i5.i646.i.i5116, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i5119: ; preds = %lpad.i642.i.i5117 + %vtable.i.i.i4.i645.i.i5120 = load ptr, ptr %2292, align 8 + %vfn.i.i.i5.i646.i.i5121 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i645.i.i5120, i64 1 + %2293 = load ptr, ptr %vfn.i.i.i5.i646.i.i5121, align 8 call void %2293(ptr noundef nonnull align 8 dereferenceable(128) %2292) #30 - br label %ehcleanup240.i.i5107 - -invoke.cont219.i.i5123: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i5120, %invoke.cont2.i649.i.i5118 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i4558), !noalias !1614 - %call68.val78.i.i5124 = load ptr, ptr %__begin058.sroa.0.052.i.i4761, align 8 - %call222.val.i.i5125 = load ptr, ptr %call68.val78.i.i5124, align 8 - %2294 = getelementptr i8, ptr %call68.val78.i.i5124, i64 8 - %call222.val92.i.i5126 = load i64, ptr %2294, align 8 - %call222.val.val.i.i5127 = load ptr, ptr %call222.val.i.i5125, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i4601, ptr %call222.val.val.i.i5127, i64 %call222.val92.i.i5126) - to label %invoke.cont223.i.i5129 unwind label %lpad218.i.i5106 - -invoke.cont223.i.i5129: ; preds = %invoke.cont219.i.i5123 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i4557), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i4557) - to label %.noexc672.i.i5133 unwind label %lpad224.i.i5130 - -.noexc672.i.i5133: ; preds = %invoke.cont223.i.i5129 - %2295 = load ptr, ptr %ref.tmp.i657.i.i4557, align 8, !noalias !1614 - %add.ptr.i.i658.i.i5134 = getelementptr inbounds i8, ptr %2295, i64 16 - %call2.i1.i659.i.i5135 = 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) %add.ptr.i.i658.i.i5134, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i4601) - to label %invoke.cont.i666.i.i5141 unwind label %lpad.i660.i.i5136 - -invoke.cont.i666.i.i5141: ; preds = %.noexc672.i.i5133 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4600, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i4557) - to label %invoke.cont2.i667.i.i5142 unwind label %lpad.i660.i.i5136 - -invoke.cont2.i667.i.i5142: ; preds = %invoke.cont.i666.i.i5141 - %2296 = load ptr, ptr %ref.tmp.i657.i.i4557, align 8, !noalias !1614 - %cmp.not.i.i.i668.i.i5143 = icmp eq ptr %2296, null - br i1 %cmp.not.i.i.i668.i.i5143, label %invoke.cont225.i.i5147, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i5144 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i5144: ; preds = %invoke.cont2.i667.i.i5142 - %vtable.i.i.i.i670.i.i5145 = load ptr, ptr %2296, align 8 - %vfn.i.i.i.i671.i.i5146 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i5145, i64 1 - %2297 = load ptr, ptr %vfn.i.i.i.i671.i.i5146, align 8 + br label %ehcleanup240.i.i5112 + +invoke.cont219.i.i5128: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i651.i.i5125, %invoke.cont2.i649.i.i5123 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i639.i.i4563), !noalias !1614 + %call68.val78.i.i5129 = load ptr, ptr %__begin058.sroa.0.052.i.i4766, align 8 + %call222.val.i.i5130 = load ptr, ptr %call68.val78.i.i5129, align 8 + %2294 = getelementptr i8, ptr %call68.val78.i.i5129, i64 8 + %call222.val92.i.i5131 = load i64, ptr %2294, align 8 + %call222.val.val.i.i5132 = load ptr, ptr %call222.val.i.i5130, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp221.i.i4606, ptr %call222.val.val.i.i5132, i64 %call222.val92.i.i5131) + to label %invoke.cont223.i.i5134 unwind label %lpad218.i.i5111 + +invoke.cont223.i.i5134: ; preds = %invoke.cont219.i.i5128 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i4562), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i4562) + to label %.noexc672.i.i5138 unwind label %lpad224.i.i5135 + +.noexc672.i.i5138: ; preds = %invoke.cont223.i.i5134 + %2295 = load ptr, ptr %ref.tmp.i657.i.i4562, align 8, !noalias !1614 + %add.ptr.i.i658.i.i5139 = getelementptr inbounds i8, ptr %2295, i64 16 + %call2.i1.i659.i.i5140 = 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) %add.ptr.i.i658.i.i5139, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i4606) + to label %invoke.cont.i666.i.i5146 unwind label %lpad.i660.i.i5141 + +invoke.cont.i666.i.i5146: ; preds = %.noexc672.i.i5138 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4605, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i657.i.i4562) + to label %invoke.cont2.i667.i.i5147 unwind label %lpad.i660.i.i5141 + +invoke.cont2.i667.i.i5147: ; preds = %invoke.cont.i666.i.i5146 + %2296 = load ptr, ptr %ref.tmp.i657.i.i4562, align 8, !noalias !1614 + %cmp.not.i.i.i668.i.i5148 = icmp eq ptr %2296, null + br i1 %cmp.not.i.i.i668.i.i5148, label %invoke.cont225.i.i5152, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i5149 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i5149: ; preds = %invoke.cont2.i667.i.i5147 + %vtable.i.i.i.i670.i.i5150 = load ptr, ptr %2296, align 8 + %vfn.i.i.i.i671.i.i5151 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i670.i.i5150, i64 1 + %2297 = load ptr, ptr %vfn.i.i.i.i671.i.i5151, align 8 call void %2297(ptr noundef nonnull align 8 dereferenceable(128) %2296) #30 - br label %invoke.cont225.i.i5147 + br label %invoke.cont225.i.i5152 -lpad.i660.i.i5136: ; preds = %invoke.cont.i666.i.i5141, %.noexc672.i.i5133 +lpad.i660.i.i5141: ; preds = %invoke.cont.i666.i.i5146, %.noexc672.i.i5138 %2298 = landingpad { ptr, i32 } cleanup - %2299 = load ptr, ptr %ref.tmp.i657.i.i4557, align 8, !noalias !1614 - %cmp.not.i.i2.i661.i.i5137 = icmp eq ptr %2299, null - br i1 %cmp.not.i.i2.i661.i.i5137, label %ehcleanup239.i.i5131, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i5138 + %2299 = load ptr, ptr %ref.tmp.i657.i.i4562, align 8, !noalias !1614 + %cmp.not.i.i2.i661.i.i5142 = icmp eq ptr %2299, null + br i1 %cmp.not.i.i2.i661.i.i5142, label %ehcleanup239.i.i5136, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i5143 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i5138: ; preds = %lpad.i660.i.i5136 - %vtable.i.i.i4.i663.i.i5139 = load ptr, ptr %2299, align 8 - %vfn.i.i.i5.i664.i.i5140 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i5139, i64 1 - %2300 = load ptr, ptr %vfn.i.i.i5.i664.i.i5140, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i5143: ; preds = %lpad.i660.i.i5141 + %vtable.i.i.i4.i663.i.i5144 = load ptr, ptr %2299, align 8 + %vfn.i.i.i5.i664.i.i5145 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i663.i.i5144, i64 1 + %2300 = load ptr, ptr %vfn.i.i.i5.i664.i.i5145, align 8 call void %2300(ptr noundef nonnull align 8 dereferenceable(128) %2299) #30 - br label %ehcleanup239.i.i5131 - -invoke.cont225.i.i5147: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i5144, %invoke.cont2.i667.i.i5142 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i4557), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i4556), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i4556) - to label %.noexc690.i.i5148 unwind label %lpad224.i.i5130 - -.noexc690.i.i5148: ; preds = %invoke.cont225.i.i5147 - %2301 = load ptr, ptr %ref.tmp.i675.i.i4556, align 8, !noalias !1614 - %add.ptr.i.i676.i.i5149 = getelementptr inbounds i8, ptr %2301, i64 16 - %call2.i1.i677.i.i5150 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i5149, ptr noundef nonnull @.str.114) - to label %invoke.cont.i684.i.i5156 unwind label %lpad.i678.i.i5151 - -invoke.cont.i684.i.i5156: ; preds = %.noexc690.i.i5148 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4600, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i4556) - to label %invoke.cont2.i685.i.i5157 unwind label %lpad.i678.i.i5151 - -invoke.cont2.i685.i.i5157: ; preds = %invoke.cont.i684.i.i5156 - %2302 = load ptr, ptr %ref.tmp.i675.i.i4556, align 8, !noalias !1614 - %cmp.not.i.i.i686.i.i5158 = icmp eq ptr %2302, null - br i1 %cmp.not.i.i.i686.i.i5158, label %invoke.cont227.i.i5162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i5159 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i5159: ; preds = %invoke.cont2.i685.i.i5157 - %vtable.i.i.i.i688.i.i5160 = load ptr, ptr %2302, align 8 - %vfn.i.i.i.i689.i.i5161 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i5160, i64 1 - %2303 = load ptr, ptr %vfn.i.i.i.i689.i.i5161, align 8 + br label %ehcleanup239.i.i5136 + +invoke.cont225.i.i5152: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i669.i.i5149, %invoke.cont2.i667.i.i5147 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i657.i.i4562), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i4561), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i4561) + to label %.noexc690.i.i5153 unwind label %lpad224.i.i5135 + +.noexc690.i.i5153: ; preds = %invoke.cont225.i.i5152 + %2301 = load ptr, ptr %ref.tmp.i675.i.i4561, align 8, !noalias !1614 + %add.ptr.i.i676.i.i5154 = getelementptr inbounds i8, ptr %2301, i64 16 + %call2.i1.i677.i.i5155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i676.i.i5154, ptr noundef nonnull @.str.114) + to label %invoke.cont.i684.i.i5161 unwind label %lpad.i678.i.i5156 + +invoke.cont.i684.i.i5161: ; preds = %.noexc690.i.i5153 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4605, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i675.i.i4561) + to label %invoke.cont2.i685.i.i5162 unwind label %lpad.i678.i.i5156 + +invoke.cont2.i685.i.i5162: ; preds = %invoke.cont.i684.i.i5161 + %2302 = load ptr, ptr %ref.tmp.i675.i.i4561, align 8, !noalias !1614 + %cmp.not.i.i.i686.i.i5163 = icmp eq ptr %2302, null + br i1 %cmp.not.i.i.i686.i.i5163, label %invoke.cont227.i.i5167, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i5164 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i5164: ; preds = %invoke.cont2.i685.i.i5162 + %vtable.i.i.i.i688.i.i5165 = load ptr, ptr %2302, align 8 + %vfn.i.i.i.i689.i.i5166 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i688.i.i5165, i64 1 + %2303 = load ptr, ptr %vfn.i.i.i.i689.i.i5166, align 8 call void %2303(ptr noundef nonnull align 8 dereferenceable(128) %2302) #30 - br label %invoke.cont227.i.i5162 + br label %invoke.cont227.i.i5167 -lpad.i678.i.i5151: ; preds = %invoke.cont.i684.i.i5156, %.noexc690.i.i5148 +lpad.i678.i.i5156: ; preds = %invoke.cont.i684.i.i5161, %.noexc690.i.i5153 %2304 = landingpad { ptr, i32 } cleanup - %2305 = load ptr, ptr %ref.tmp.i675.i.i4556, align 8, !noalias !1614 - %cmp.not.i.i2.i679.i.i5152 = icmp eq ptr %2305, null - br i1 %cmp.not.i.i2.i679.i.i5152, label %ehcleanup239.i.i5131, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i5153 + %2305 = load ptr, ptr %ref.tmp.i675.i.i4561, align 8, !noalias !1614 + %cmp.not.i.i2.i679.i.i5157 = icmp eq ptr %2305, null + br i1 %cmp.not.i.i2.i679.i.i5157, label %ehcleanup239.i.i5136, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i5158 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i5153: ; preds = %lpad.i678.i.i5151 - %vtable.i.i.i4.i681.i.i5154 = load ptr, ptr %2305, align 8 - %vfn.i.i.i5.i682.i.i5155 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i5154, i64 1 - %2306 = load ptr, ptr %vfn.i.i.i5.i682.i.i5155, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i5158: ; preds = %lpad.i678.i.i5156 + %vtable.i.i.i4.i681.i.i5159 = load ptr, ptr %2305, align 8 + %vfn.i.i.i5.i682.i.i5160 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i681.i.i5159, i64 1 + %2306 = load ptr, ptr %vfn.i.i.i5.i682.i.i5160, align 8 call void %2306(ptr noundef nonnull align 8 dereferenceable(128) %2305) #30 - br label %ehcleanup239.i.i5131 - -invoke.cont227.i.i5162: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i5159, %invoke.cont2.i685.i.i5157 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i4556), !noalias !1614 - %call155.val79.i.i5163 = load ptr, ptr %__begin0146.sroa.0.050.i.i5086, align 8 - %call230.val.i.i5164 = load ptr, ptr %call155.val79.i.i5163, align 8 - %2307 = getelementptr i8, ptr %call155.val79.i.i5163, i64 8 - %call230.val93.i.i5165 = load i64, ptr %2307, align 8 - %call230.val.val.i.i5166 = load ptr, ptr %call230.val.i.i5164, align 8 - invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i4602, ptr %call230.val.val.i.i5166, i64 %call230.val93.i.i5165) - to label %invoke.cont231.i.i5168 unwind label %lpad224.i.i5130 - -invoke.cont231.i.i5168: ; preds = %invoke.cont227.i.i5162 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i4555), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i4555) - to label %.noexc709.i.i5172 unwind label %lpad232.i.i5169 - -.noexc709.i.i5172: ; preds = %invoke.cont231.i.i5168 - %2308 = load ptr, ptr %ref.tmp.i694.i.i4555, align 8, !noalias !1614 - %add.ptr.i.i695.i.i5173 = getelementptr inbounds i8, ptr %2308, i64 16 - %call2.i1.i696.i.i5174 = 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) %add.ptr.i.i695.i.i5173, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i4602) - to label %invoke.cont.i703.i.i5180 unwind label %lpad.i697.i.i5175 - -invoke.cont.i703.i.i5180: ; preds = %.noexc709.i.i5172 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4600, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i4555) - to label %invoke.cont2.i704.i.i5181 unwind label %lpad.i697.i.i5175 - -invoke.cont2.i704.i.i5181: ; preds = %invoke.cont.i703.i.i5180 - %2309 = load ptr, ptr %ref.tmp.i694.i.i4555, align 8, !noalias !1614 - %cmp.not.i.i.i705.i.i5182 = icmp eq ptr %2309, null - br i1 %cmp.not.i.i.i705.i.i5182, label %invoke.cont233.i.i5186, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i5183 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i5183: ; preds = %invoke.cont2.i704.i.i5181 - %vtable.i.i.i.i707.i.i5184 = load ptr, ptr %2309, align 8 - %vfn.i.i.i.i708.i.i5185 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i5184, i64 1 - %2310 = load ptr, ptr %vfn.i.i.i.i708.i.i5185, align 8 + br label %ehcleanup239.i.i5136 + +invoke.cont227.i.i5167: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i687.i.i5164, %invoke.cont2.i685.i.i5162 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i675.i.i4561), !noalias !1614 + %call155.val79.i.i5168 = load ptr, ptr %__begin0146.sroa.0.050.i.i5091, align 8 + %call230.val.i.i5169 = load ptr, ptr %call155.val79.i.i5168, align 8 + %2307 = getelementptr i8, ptr %call155.val79.i.i5168, i64 8 + %call230.val93.i.i5170 = load i64, ptr %2307, align 8 + %call230.val.val.i.i5171 = load ptr, ptr %call230.val.i.i5169, align 8 + invoke fastcc void @_ZZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_ENK4Info8ToStringB5cxx11Ev(ptr noalias nonnull align 8 %ref.tmp229.i.i4607, ptr %call230.val.val.i.i5171, i64 %call230.val93.i.i5170) + to label %invoke.cont231.i.i5173 unwind label %lpad224.i.i5135 + +invoke.cont231.i.i5173: ; preds = %invoke.cont227.i.i5167 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i4560), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i4560) + to label %.noexc709.i.i5177 unwind label %lpad232.i.i5174 + +.noexc709.i.i5177: ; preds = %invoke.cont231.i.i5173 + %2308 = load ptr, ptr %ref.tmp.i694.i.i4560, align 8, !noalias !1614 + %add.ptr.i.i695.i.i5178 = getelementptr inbounds i8, ptr %2308, i64 16 + %call2.i1.i696.i.i5179 = 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) %add.ptr.i.i695.i.i5178, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i4607) + to label %invoke.cont.i703.i.i5185 unwind label %lpad.i697.i.i5180 + +invoke.cont.i703.i.i5185: ; preds = %.noexc709.i.i5177 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4605, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i694.i.i4560) + to label %invoke.cont2.i704.i.i5186 unwind label %lpad.i697.i.i5180 + +invoke.cont2.i704.i.i5186: ; preds = %invoke.cont.i703.i.i5185 + %2309 = load ptr, ptr %ref.tmp.i694.i.i4560, align 8, !noalias !1614 + %cmp.not.i.i.i705.i.i5187 = icmp eq ptr %2309, null + br i1 %cmp.not.i.i.i705.i.i5187, label %invoke.cont233.i.i5191, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i5188 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i5188: ; preds = %invoke.cont2.i704.i.i5186 + %vtable.i.i.i.i707.i.i5189 = load ptr, ptr %2309, align 8 + %vfn.i.i.i.i708.i.i5190 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i707.i.i5189, i64 1 + %2310 = load ptr, ptr %vfn.i.i.i.i708.i.i5190, align 8 call void %2310(ptr noundef nonnull align 8 dereferenceable(128) %2309) #30 - br label %invoke.cont233.i.i5186 + br label %invoke.cont233.i.i5191 -lpad.i697.i.i5175: ; preds = %invoke.cont.i703.i.i5180, %.noexc709.i.i5172 +lpad.i697.i.i5180: ; preds = %invoke.cont.i703.i.i5185, %.noexc709.i.i5177 %2311 = landingpad { ptr, i32 } cleanup - %2312 = load ptr, ptr %ref.tmp.i694.i.i4555, align 8, !noalias !1614 - %cmp.not.i.i2.i698.i.i5176 = icmp eq ptr %2312, null - br i1 %cmp.not.i.i2.i698.i.i5176, label %lpad232.body.i.i5170, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i5177 + %2312 = load ptr, ptr %ref.tmp.i694.i.i4560, align 8, !noalias !1614 + %cmp.not.i.i2.i698.i.i5181 = icmp eq ptr %2312, null + br i1 %cmp.not.i.i2.i698.i.i5181, label %lpad232.body.i.i5175, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i5182 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i5177: ; preds = %lpad.i697.i.i5175 - %vtable.i.i.i4.i700.i.i5178 = load ptr, ptr %2312, align 8 - %vfn.i.i.i5.i701.i.i5179 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i5178, i64 1 - %2313 = load ptr, ptr %vfn.i.i.i5.i701.i.i5179, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i5182: ; preds = %lpad.i697.i.i5180 + %vtable.i.i.i4.i700.i.i5183 = load ptr, ptr %2312, align 8 + %vfn.i.i.i5.i701.i.i5184 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i700.i.i5183, i64 1 + %2313 = load ptr, ptr %vfn.i.i.i5.i701.i.i5184, align 8 call void %2313(ptr noundef nonnull align 8 dereferenceable(128) %2312) #30 - br label %lpad232.body.i.i5170 - -invoke.cont233.i.i5186: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i5183, %invoke.cont2.i704.i.i5181 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i4555), !noalias !1614 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i4554), !noalias !1614 - invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i4554) - to label %.noexc727.i.i5187 unwind label %lpad232.i.i5169 - -.noexc727.i.i5187: ; preds = %invoke.cont233.i.i5186 - %2314 = load ptr, ptr %ref.tmp.i712.i.i4554, align 8, !noalias !1614 - %add.ptr.i.i713.i.i5188 = getelementptr inbounds i8, ptr %2314, i64 16 - %call2.i1.i714.i.i5189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i5188, ptr noundef nonnull @.str.115) - to label %invoke.cont.i721.i.i5195 unwind label %lpad.i715.i.i5190 - -invoke.cont.i721.i.i5195: ; preds = %.noexc727.i.i5187 - invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4600, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i4554) - to label %invoke.cont2.i722.i.i5196 unwind label %lpad.i715.i.i5190 - -invoke.cont2.i722.i.i5196: ; preds = %invoke.cont.i721.i.i5195 - %2315 = load ptr, ptr %ref.tmp.i712.i.i4554, align 8, !noalias !1614 - %cmp.not.i.i.i723.i.i5197 = icmp eq ptr %2315, null - br i1 %cmp.not.i.i.i723.i.i5197, label %invoke.cont235.i.i5201, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i5198 - -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i5198: ; preds = %invoke.cont2.i722.i.i5196 - %vtable.i.i.i.i725.i.i5199 = load ptr, ptr %2315, align 8 - %vfn.i.i.i.i726.i.i5200 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i5199, i64 1 - %2316 = load ptr, ptr %vfn.i.i.i.i726.i.i5200, align 8 + br label %lpad232.body.i.i5175 + +invoke.cont233.i.i5191: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i706.i.i5188, %invoke.cont2.i704.i.i5186 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i694.i.i4560), !noalias !1614 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i4559), !noalias !1614 + invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i4559) + to label %.noexc727.i.i5192 unwind label %lpad232.i.i5174 + +.noexc727.i.i5192: ; preds = %invoke.cont233.i.i5191 + %2314 = load ptr, ptr %ref.tmp.i712.i.i4559, align 8, !noalias !1614 + %add.ptr.i.i713.i.i5193 = getelementptr inbounds i8, ptr %2314, i64 16 + %call2.i1.i714.i.i5194 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i713.i.i5193, ptr noundef nonnull @.str.115) + to label %invoke.cont.i721.i.i5200 unwind label %lpad.i715.i.i5195 + +invoke.cont.i721.i.i5200: ; preds = %.noexc727.i.i5192 + invoke void @_ZN7testing15AssertionResult13AppendMessageERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4605, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i712.i.i4559) + to label %invoke.cont2.i722.i.i5201 unwind label %lpad.i715.i.i5195 + +invoke.cont2.i722.i.i5201: ; preds = %invoke.cont.i721.i.i5200 + %2315 = load ptr, ptr %ref.tmp.i712.i.i4559, align 8, !noalias !1614 + %cmp.not.i.i.i723.i.i5202 = icmp eq ptr %2315, null + br i1 %cmp.not.i.i.i723.i.i5202, label %invoke.cont235.i.i5206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i5203 + +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i5203: ; preds = %invoke.cont2.i722.i.i5201 + %vtable.i.i.i.i725.i.i5204 = load ptr, ptr %2315, align 8 + %vfn.i.i.i.i726.i.i5205 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i725.i.i5204, i64 1 + %2316 = load ptr, ptr %vfn.i.i.i.i726.i.i5205, align 8 call void %2316(ptr noundef nonnull align 8 dereferenceable(128) %2315) #30 - br label %invoke.cont235.i.i5201 + br label %invoke.cont235.i.i5206 -lpad.i715.i.i5190: ; preds = %invoke.cont.i721.i.i5195, %.noexc727.i.i5187 +lpad.i715.i.i5195: ; preds = %invoke.cont.i721.i.i5200, %.noexc727.i.i5192 %2317 = landingpad { ptr, i32 } cleanup - %2318 = load ptr, ptr %ref.tmp.i712.i.i4554, align 8, !noalias !1614 - %cmp.not.i.i2.i716.i.i5191 = icmp eq ptr %2318, null - br i1 %cmp.not.i.i2.i716.i.i5191, label %lpad232.body.i.i5170, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i5192 + %2318 = load ptr, ptr %ref.tmp.i712.i.i4559, align 8, !noalias !1614 + %cmp.not.i.i2.i716.i.i5196 = icmp eq ptr %2318, null + br i1 %cmp.not.i.i2.i716.i.i5196, label %lpad232.body.i.i5175, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i5197 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i5192: ; preds = %lpad.i715.i.i5190 - %vtable.i.i.i4.i718.i.i5193 = load ptr, ptr %2318, align 8 - %vfn.i.i.i5.i719.i.i5194 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i5193, i64 1 - %2319 = load ptr, ptr %vfn.i.i.i5.i719.i.i5194, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i5197: ; preds = %lpad.i715.i.i5195 + %vtable.i.i.i4.i718.i.i5198 = load ptr, ptr %2318, align 8 + %vfn.i.i.i5.i719.i.i5199 = getelementptr inbounds ptr, ptr %vtable.i.i.i4.i718.i.i5198, i64 1 + %2319 = load ptr, ptr %vfn.i.i.i5.i719.i.i5199, align 8 call void %2319(ptr noundef nonnull align 8 dereferenceable(128) %2318) #30 - br label %lpad232.body.i.i5170 - -invoke.cont235.i.i5201: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i5198, %invoke.cont2.i722.i.i5196 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i4554), !noalias !1614 - invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4600) - to label %invoke.cont237.i.i5202 unwind label %lpad232.i.i5169 - -invoke.cont237.i.i5202: ; preds = %invoke.cont235.i.i5201 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i4602) #30 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i4601) #30 - %message_.i731.i.i5203 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i4600, i64 0, i32 1 - %2320 = load ptr, ptr %message_.i731.i.i5203, align 8, !noalias !1614 - %cmp.not.i.i732.i.i5204 = icmp eq ptr %2320, null - br i1 %cmp.not.i.i732.i.i5204, label %cleanup249.critedge.i.i5208, label %cleanup249.critedge.sink.split.i.i5205 - -lpad218.i.i5106: ; preds = %invoke.cont219.i.i5123, %invoke.cont217.i.i5105 + br label %lpad232.body.i.i5175 + +invoke.cont235.i.i5206: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i724.i.i5203, %invoke.cont2.i722.i.i5201 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i712.i.i4559), !noalias !1614 + invoke void @_ZN7testing15AssertionResultC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4605) + to label %invoke.cont237.i.i5207 unwind label %lpad232.i.i5174 + +invoke.cont237.i.i5207: ; preds = %invoke.cont235.i.i5206 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i4607) #30 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i4606) #30 + %message_.i731.i.i5208 = getelementptr inbounds %"class.testing::AssertionResult", ptr %ref.tmp216.i.i4605, i64 0, i32 1 + %2320 = load ptr, ptr %message_.i731.i.i5208, align 8, !noalias !1614 + %cmp.not.i.i732.i.i5209 = icmp eq ptr %2320, null + br i1 %cmp.not.i.i732.i.i5209, label %cleanup249.critedge.i.i5213, label %cleanup249.critedge.sink.split.i.i5210 + +lpad218.i.i5111: ; preds = %invoke.cont219.i.i5128, %invoke.cont217.i.i5110 %2321 = landingpad { ptr, i32 } cleanup - br label %ehcleanup240.i.i5107 + br label %ehcleanup240.i.i5112 -lpad224.i.i5130: ; preds = %invoke.cont227.i.i5162, %invoke.cont225.i.i5147, %invoke.cont223.i.i5129 +lpad224.i.i5135: ; preds = %invoke.cont227.i.i5167, %invoke.cont225.i.i5152, %invoke.cont223.i.i5134 %2322 = landingpad { ptr, i32 } cleanup - br label %ehcleanup239.i.i5131 + br label %ehcleanup239.i.i5136 -lpad232.i.i5169: ; preds = %invoke.cont235.i.i5201, %invoke.cont233.i.i5186, %invoke.cont231.i.i5168 +lpad232.i.i5174: ; preds = %invoke.cont235.i.i5206, %invoke.cont233.i.i5191, %invoke.cont231.i.i5173 %2323 = landingpad { ptr, i32 } cleanup - br label %lpad232.body.i.i5170 + br label %lpad232.body.i.i5175 -lpad232.body.i.i5170: ; preds = %lpad232.i.i5169, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i5192, %lpad.i715.i.i5190, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i5177, %lpad.i697.i.i5175 - %eh.lpad-body710.i.i5171 = phi { ptr, i32 } [ %2311, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i5177 ], [ %2311, %lpad.i697.i.i5175 ], [ %2323, %lpad232.i.i5169 ], [ %2317, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i5192 ], [ %2317, %lpad.i715.i.i5190 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i4602) #30 - br label %ehcleanup239.i.i5131 +lpad232.body.i.i5175: ; preds = %lpad232.i.i5174, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i5197, %lpad.i715.i.i5195, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i5182, %lpad.i697.i.i5180 + %eh.lpad-body710.i.i5176 = phi { ptr, i32 } [ %2311, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i699.i.i5182 ], [ %2311, %lpad.i697.i.i5180 ], [ %2323, %lpad232.i.i5174 ], [ %2317, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i717.i.i5197 ], [ %2317, %lpad.i715.i.i5195 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp229.i.i4607) #30 + br label %ehcleanup239.i.i5136 -ehcleanup239.i.i5131: ; preds = %lpad232.body.i.i5170, %lpad224.i.i5130, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i5153, %lpad.i678.i.i5151, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i5138, %lpad.i660.i.i5136 - %.pn.i.i5132 = phi { ptr, i32 } [ %eh.lpad-body710.i.i5171, %lpad232.body.i.i5170 ], [ %2298, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i5138 ], [ %2298, %lpad.i660.i.i5136 ], [ %2322, %lpad224.i.i5130 ], [ %2304, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i5153 ], [ %2304, %lpad.i678.i.i5151 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i4601) #30 - br label %ehcleanup240.i.i5107 +ehcleanup239.i.i5136: ; preds = %lpad232.body.i.i5175, %lpad224.i.i5135, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i5158, %lpad.i678.i.i5156, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i5143, %lpad.i660.i.i5141 + %.pn.i.i5137 = phi { ptr, i32 } [ %eh.lpad-body710.i.i5176, %lpad232.body.i.i5175 ], [ %2298, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i662.i.i5143 ], [ %2298, %lpad.i660.i.i5141 ], [ %2322, %lpad224.i.i5135 ], [ %2304, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i680.i.i5158 ], [ %2304, %lpad.i678.i.i5156 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221.i.i4606) #30 + br label %ehcleanup240.i.i5112 -ehcleanup240.i.i5107: ; preds = %ehcleanup239.i.i5131, %lpad218.i.i5106, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i5114, %lpad.i642.i.i5112 - %.pn.pn.i.i5108 = phi { ptr, i32 } [ %.pn.i.i5132, %ehcleanup239.i.i5131 ], [ %2321, %lpad218.i.i5106 ], [ %2291, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i5114 ], [ %2291, %lpad.i642.i.i5112 ] - call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4600) #30 - br label %ehcleanup245.i.i5099 +ehcleanup240.i.i5112: ; preds = %ehcleanup239.i.i5136, %lpad218.i.i5111, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i5119, %lpad.i642.i.i5117 + %.pn.pn.i.i5113 = phi { ptr, i32 } [ %.pn.i.i5137, %ehcleanup239.i.i5136 ], [ %2321, %lpad218.i.i5111 ], [ %2291, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i3.i644.i.i5119 ], [ %2291, %lpad.i642.i.i5117 ] + call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp216.i.i4605) #30 + br label %ehcleanup245.i.i5104 -cleanup242.i.i5453: ; preds = %invoke.cont162.i.i5101 - %2324 = load ptr, ptr %_M_refcount.i.i.i735.i.i4756, align 8, !noalias !1614 - %cmp.not.i.i.i.i736.i.i5454 = icmp eq ptr %2324, null - br i1 %cmp.not.i.i.i.i736.i.i5454, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465, label %if.then.i.i.i.i737.i.i5455 +cleanup242.i.i5458: ; preds = %invoke.cont162.i.i5106 + %2324 = load ptr, ptr %_M_refcount.i.i.i735.i.i4761, align 8, !noalias !1614 + %cmp.not.i.i.i.i736.i.i5459 = icmp eq ptr %2324, null + br i1 %cmp.not.i.i.i.i736.i.i5459, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470, label %if.then.i.i.i.i737.i.i5460 -if.then.i.i.i.i737.i.i5455: ; preds = %cleanup242.i.i5453 - %_M_use_count.i.i.i.i.i738.i.i5456 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2324, i64 0, i32 1 - %2325 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i5456 acquire, align 8 - %cmp.i.i.i.i.i739.i.i5457 = icmp eq i64 %2325, 4294967297 +if.then.i.i.i.i737.i.i5460: ; preds = %cleanup242.i.i5458 + %_M_use_count.i.i.i.i.i738.i.i5461 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2324, i64 0, i32 1 + %2325 = load atomic i64, ptr %_M_use_count.i.i.i.i.i738.i.i5461 acquire, align 8 + %cmp.i.i.i.i.i739.i.i5462 = icmp eq i64 %2325, 4294967297 %2326 = trunc i64 %2325 to i32 - br i1 %cmp.i.i.i.i.i739.i.i5457, label %if.then.i.i.i.i.i774.i.i5542, label %if.end.i.i.i.i.i740.i.i5458 - -if.then.i.i.i.i.i774.i.i5542: ; preds = %if.then.i.i.i.i737.i.i5455 - store i32 0, ptr %_M_use_count.i.i.i.i.i738.i.i5456, align 8 - %_M_weak_count.i.i.i.i.i775.i.i5543 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2324, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i775.i.i5543, align 4 - %vtable.i.i.i.i.i776.i.i5544 = load ptr, ptr %2324, align 8 - %vfn.i.i.i.i.i777.i.i5545 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i776.i.i5544, i64 2 - %2327 = load ptr, ptr %vfn.i.i.i.i.i777.i.i5545, align 8 + br i1 %cmp.i.i.i.i.i739.i.i5462, label %if.then.i.i.i.i.i774.i.i5547, label %if.end.i.i.i.i.i740.i.i5463 + +if.then.i.i.i.i.i774.i.i5547: ; preds = %if.then.i.i.i.i737.i.i5460 + store i32 0, ptr %_M_use_count.i.i.i.i.i738.i.i5461, align 8 + %_M_weak_count.i.i.i.i.i775.i.i5548 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2324, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i775.i.i5548, align 4 + %vtable.i.i.i.i.i776.i.i5549 = load ptr, ptr %2324, align 8 + %vfn.i.i.i.i.i777.i.i5550 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i776.i.i5549, i64 2 + %2327 = load ptr, ptr %vfn.i.i.i.i.i777.i.i5550, align 8 call void %2327(ptr noundef nonnull align 8 dereferenceable(16) %2324) #30 - br label %if.end8.sink.split.i.i.i.i.i769.i.i5537 + br label %if.end8.sink.split.i.i.i.i.i769.i.i5542 -if.end.i.i.i.i.i740.i.i5458: ; preds = %if.then.i.i.i.i737.i.i5455 +if.end.i.i.i.i.i740.i.i5463: ; preds = %if.then.i.i.i.i737.i.i5460 %2328 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i741.i.i5459 = icmp eq i8 %2328, 0 - br i1 %tobool.i.i.not.i.i.i.i.i741.i.i5459, label %if.else.i.i.i.i.i.i773.i.i5541, label %if.then.i.i.i.i.i.i742.i.i5460 - -if.then.i.i.i.i.i.i742.i.i5460: ; preds = %if.end.i.i.i.i.i740.i.i5458 - %add.i.i.i.i.i.i743.i.i5461 = add nsw i32 %2326, -1 - store i32 %add.i.i.i.i.i.i743.i.i5461, ptr %_M_use_count.i.i.i.i.i738.i.i5456, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5462 - -if.else.i.i.i.i.i.i773.i.i5541: ; preds = %if.end.i.i.i.i.i740.i.i5458 - %2329 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i738.i.i5456, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5462 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5462: ; preds = %if.else.i.i.i.i.i.i773.i.i5541, %if.then.i.i.i.i.i.i742.i.i5460 - %retval.i.0.i.i.i.i.i745.i.i5463 = phi i32 [ %2326, %if.then.i.i.i.i.i.i742.i.i5460 ], [ %2329, %if.else.i.i.i.i.i.i773.i.i5541 ] - %cmp6.i.i.i.i.i746.i.i5464 = icmp eq i32 %retval.i.0.i.i.i.i.i745.i.i5463, 1 - br i1 %cmp6.i.i.i.i.i746.i.i5464, label %if.then7.i.i.i.i.i759.i.i5527, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465 - -if.then7.i.i.i.i.i759.i.i5527: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5462 - %vtable.i.i.i.i.i.i.i760.i.i5528 = load ptr, ptr %2324, align 8 - %vfn.i.i.i.i.i.i.i761.i.i5529 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i760.i.i5528, i64 2 - %2330 = load ptr, ptr %vfn.i.i.i.i.i.i.i761.i.i5529, align 8 + %tobool.i.i.not.i.i.i.i.i741.i.i5464 = icmp eq i8 %2328, 0 + br i1 %tobool.i.i.not.i.i.i.i.i741.i.i5464, label %if.else.i.i.i.i.i.i773.i.i5546, label %if.then.i.i.i.i.i.i742.i.i5465 + +if.then.i.i.i.i.i.i742.i.i5465: ; preds = %if.end.i.i.i.i.i740.i.i5463 + %add.i.i.i.i.i.i743.i.i5466 = add nsw i32 %2326, -1 + store i32 %add.i.i.i.i.i.i743.i.i5466, ptr %_M_use_count.i.i.i.i.i738.i.i5461, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5467 + +if.else.i.i.i.i.i.i773.i.i5546: ; preds = %if.end.i.i.i.i.i740.i.i5463 + %2329 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i738.i.i5461, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5467 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5467: ; preds = %if.else.i.i.i.i.i.i773.i.i5546, %if.then.i.i.i.i.i.i742.i.i5465 + %retval.i.0.i.i.i.i.i745.i.i5468 = phi i32 [ %2326, %if.then.i.i.i.i.i.i742.i.i5465 ], [ %2329, %if.else.i.i.i.i.i.i773.i.i5546 ] + %cmp6.i.i.i.i.i746.i.i5469 = icmp eq i32 %retval.i.0.i.i.i.i.i745.i.i5468, 1 + br i1 %cmp6.i.i.i.i.i746.i.i5469, label %if.then7.i.i.i.i.i759.i.i5532, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470 + +if.then7.i.i.i.i.i759.i.i5532: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5467 + %vtable.i.i.i.i.i.i.i760.i.i5533 = load ptr, ptr %2324, align 8 + %vfn.i.i.i.i.i.i.i761.i.i5534 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i760.i.i5533, i64 2 + %2330 = load ptr, ptr %vfn.i.i.i.i.i.i.i761.i.i5534, align 8 call void %2330(ptr noundef nonnull align 8 dereferenceable(16) %2324) #30 - %_M_weak_count.i.i.i.i.i.i.i762.i.i5530 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2324, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i762.i.i5535 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2324, i64 0, i32 2 %2331 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i763.i.i5531 = icmp eq i8 %2331, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i763.i.i5531, label %if.else.i.i.i.i.i.i.i.i772.i.i5540, label %if.then.i.i.i.i.i.i.i.i764.i.i5532 - -if.then.i.i.i.i.i.i.i.i764.i.i5532: ; preds = %if.then7.i.i.i.i.i759.i.i5527 - %2332 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i5530, align 4 - %add.i.i.i.i.i.i.i.i765.i.i5533 = add nsw i32 %2332, -1 - store i32 %add.i.i.i.i.i.i.i.i765.i.i5533, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i5530, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5534 - -if.else.i.i.i.i.i.i.i.i772.i.i5540: ; preds = %if.then7.i.i.i.i.i759.i.i5527 - %2333 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i5530, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5534 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5534: ; preds = %if.else.i.i.i.i.i.i.i.i772.i.i5540, %if.then.i.i.i.i.i.i.i.i764.i.i5532 - %retval.i.0.i.i.i.i.i.i.i767.i.i5535 = phi i32 [ %2332, %if.then.i.i.i.i.i.i.i.i764.i.i5532 ], [ %2333, %if.else.i.i.i.i.i.i.i.i772.i.i5540 ] - %cmp.i.i.i.i.i.i.i768.i.i5536 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i767.i.i5535, 1 - br i1 %cmp.i.i.i.i.i.i.i768.i.i5536, label %if.end8.sink.split.i.i.i.i.i769.i.i5537, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465 - -if.end8.sink.split.i.i.i.i.i769.i.i5537: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5534, %if.then.i.i.i.i.i774.i.i5542 - %vtable2.i.i.i.i.i.i.i770.i.i5538 = load ptr, ptr %2324, align 8 - %vfn3.i.i.i.i.i.i.i771.i.i5539 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i770.i.i5538, i64 3 - %2334 = load ptr, ptr %vfn3.i.i.i.i.i.i.i771.i.i5539, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i763.i.i5536 = icmp eq i8 %2331, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i763.i.i5536, label %if.else.i.i.i.i.i.i.i.i772.i.i5545, label %if.then.i.i.i.i.i.i.i.i764.i.i5537 + +if.then.i.i.i.i.i.i.i.i764.i.i5537: ; preds = %if.then7.i.i.i.i.i759.i.i5532 + %2332 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i5535, align 4 + %add.i.i.i.i.i.i.i.i765.i.i5538 = add nsw i32 %2332, -1 + store i32 %add.i.i.i.i.i.i.i.i765.i.i5538, ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i5535, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5539 + +if.else.i.i.i.i.i.i.i.i772.i.i5545: ; preds = %if.then7.i.i.i.i.i759.i.i5532 + %2333 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i762.i.i5535, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5539 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5539: ; preds = %if.else.i.i.i.i.i.i.i.i772.i.i5545, %if.then.i.i.i.i.i.i.i.i764.i.i5537 + %retval.i.0.i.i.i.i.i.i.i767.i.i5540 = phi i32 [ %2332, %if.then.i.i.i.i.i.i.i.i764.i.i5537 ], [ %2333, %if.else.i.i.i.i.i.i.i.i772.i.i5545 ] + %cmp.i.i.i.i.i.i.i768.i.i5541 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i767.i.i5540, 1 + br i1 %cmp.i.i.i.i.i.i.i768.i.i5541, label %if.end8.sink.split.i.i.i.i.i769.i.i5542, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470 + +if.end8.sink.split.i.i.i.i.i769.i.i5542: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5539, %if.then.i.i.i.i.i774.i.i5547 + %vtable2.i.i.i.i.i.i.i770.i.i5543 = load ptr, ptr %2324, align 8 + %vfn3.i.i.i.i.i.i.i771.i.i5544 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i770.i.i5543, i64 3 + %2334 = load ptr, ptr %vfn3.i.i.i.i.i.i.i771.i.i5544, align 8 call void %2334(ptr noundef nonnull align 8 dereferenceable(16) %2324) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i5537, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5534, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5462, %cleanup242.i.i5453 - %2335 = load ptr, ptr %c2_hash.i.i4593, align 8, !noalias !1614 - %2336 = load ptr, ptr %_M_finish.i.i748.i.i4757, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i749.i.i5466 = icmp eq ptr %2335, %2336 - br i1 %cmp.not3.i.i.i.i.i749.i.i5466, label %invoke.cont.i.i756.i.i5473, label %for.body.i.i.i.i.i750.i.i5467 - -for.body.i.i.i.i.i750.i.i5467: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465, %for.body.i.i.i.i.i750.i.i5467 - %__first.addr.04.i.i.i.i.i751.i.i5468 = phi ptr [ %incdec.ptr.i.i.i.i.i752.i.i5469, %for.body.i.i.i.i.i750.i.i5467 ], [ %2335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i751.i.i5468) #30 - %incdec.ptr.i.i.i.i.i752.i.i5469 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i751.i.i5468, i64 1 - %cmp.not.i.i.i.i.i753.i.i5470 = icmp eq ptr %incdec.ptr.i.i.i.i.i752.i.i5469, %2336 - br i1 %cmp.not.i.i.i.i.i753.i.i5470, label %invoke.contthread-pre-split.i.i754.i.i5471, label %for.body.i.i.i.i.i750.i.i5467, !llvm.loop !8 - -invoke.contthread-pre-split.i.i754.i.i5471: ; preds = %for.body.i.i.i.i.i750.i.i5467 - %.pr.i.i755.i.i5472 = load ptr, ptr %c2_hash.i.i4593, align 8, !noalias !1614 - br label %invoke.cont.i.i756.i.i5473 - -invoke.cont.i.i756.i.i5473: ; preds = %invoke.contthread-pre-split.i.i754.i.i5471, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465 - %2337 = phi ptr [ %.pr.i.i755.i.i5472, %invoke.contthread-pre-split.i.i754.i.i5471 ], [ %2335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5465 ] - %tobool.not.i.i.i.i757.i.i5474 = icmp eq ptr %2337, null - br i1 %tobool.not.i.i.i.i757.i.i5474, label %for.inc246.i.i5476, label %if.then.i.i.i1.i758.i.i5475 - -if.then.i.i.i1.i758.i.i5475: ; preds = %invoke.cont.i.i756.i.i5473 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470: ; preds = %if.end8.sink.split.i.i.i.i.i769.i.i5542, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i766.i.i5539, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i744.i.i5467, %cleanup242.i.i5458 + %2335 = load ptr, ptr %c2_hash.i.i4598, align 8, !noalias !1614 + %2336 = load ptr, ptr %_M_finish.i.i748.i.i4762, align 8, !noalias !1614 + %cmp.not3.i.i.i.i.i749.i.i5471 = icmp eq ptr %2335, %2336 + br i1 %cmp.not3.i.i.i.i.i749.i.i5471, label %invoke.cont.i.i756.i.i5478, label %for.body.i.i.i.i.i750.i.i5472 + +for.body.i.i.i.i.i750.i.i5472: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470, %for.body.i.i.i.i.i750.i.i5472 + %__first.addr.04.i.i.i.i.i751.i.i5473 = phi ptr [ %incdec.ptr.i.i.i.i.i752.i.i5474, %for.body.i.i.i.i.i750.i.i5472 ], [ %2335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i751.i.i5473) #30 + %incdec.ptr.i.i.i.i.i752.i.i5474 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i751.i.i5473, i64 1 + %cmp.not.i.i.i.i.i753.i.i5475 = icmp eq ptr %incdec.ptr.i.i.i.i.i752.i.i5474, %2336 + br i1 %cmp.not.i.i.i.i.i753.i.i5475, label %invoke.contthread-pre-split.i.i754.i.i5476, label %for.body.i.i.i.i.i750.i.i5472, !llvm.loop !8 + +invoke.contthread-pre-split.i.i754.i.i5476: ; preds = %for.body.i.i.i.i.i750.i.i5472 + %.pr.i.i755.i.i5477 = load ptr, ptr %c2_hash.i.i4598, align 8, !noalias !1614 + br label %invoke.cont.i.i756.i.i5478 + +invoke.cont.i.i756.i.i5478: ; preds = %invoke.contthread-pre-split.i.i754.i.i5476, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470 + %2337 = phi ptr [ %.pr.i.i755.i.i5477, %invoke.contthread-pre-split.i.i754.i.i5476 ], [ %2335, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i747.i.i5470 ] + %tobool.not.i.i.i.i757.i.i5479 = icmp eq ptr %2337, null + br i1 %tobool.not.i.i.i.i757.i.i5479, label %for.inc246.i.i5481, label %if.then.i.i.i1.i758.i.i5480 + +if.then.i.i.i1.i758.i.i5480: ; preds = %invoke.cont.i.i756.i.i5478 call void @_ZdlPv(ptr noundef nonnull %2337) #33 - br label %for.inc246.i.i5476 - -for.inc246.i.i5476: ; preds = %if.then.i.i.i1.i758.i.i5475, %invoke.cont.i.i756.i.i5473, %for.body154.i.i5085 - %incdec.ptr.i779.i.i5477 = getelementptr inbounds %"class.std::vector.1028", ptr %__begin0146.sroa.0.050.i.i5086, i64 1 - %cmp.i449.not.i.i5478 = icmp eq ptr %incdec.ptr.i779.i.i5477, %classes.val56.i.i5083 - br i1 %cmp.i449.not.i.i5478, label %cleanup249.i.i5479, label %for.body154.i.i5085 - -ehcleanup245.i.i5099: ; preds = %ehcleanup240.i.i5107, %ehcleanup214.i.i5254, %ehcleanup188.i.i5355, %lpad161.loopexit.split-lp.i.i5103, %lpad161.loopexit.i.i5097 - %.pn.pn.pn.i.i5100 = phi { ptr, i32 } [ %.pn.pn.i.i5108, %ehcleanup240.i.i5107 ], [ %.pn31.pn.i.i5255, %ehcleanup214.i.i5254 ], [ %.pn34.pn.i.i5356, %ehcleanup188.i.i5355 ], [ %lpad.loopexit5.i.i5098, %lpad161.loopexit.i.i5097 ], [ %lpad.loopexit.split-lp6.i.i5104, %lpad161.loopexit.split-lp.i.i5103 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i4593) #30 - br label %ehcleanup252.i.i4779 - -cleanup249.critedge.sink.split.i.i5205: ; preds = %invoke.cont237.i.i5202, %invoke.cont211.i.i5349, %invoke.cont185.i.i5450 - %.sink117.i.i5206 = phi ptr [ %2248, %invoke.cont185.i.i5450 ], [ %2284, %invoke.cont211.i.i5349 ], [ %2320, %invoke.cont237.i.i5202 ] - %message_.i542.sink.ph.i.i5207 = phi ptr [ %message_.i542.i.i5451, %invoke.cont185.i.i5450 ], [ %message_.i635.i.i5350, %invoke.cont211.i.i5349 ], [ %message_.i731.i.i5203, %invoke.cont237.i.i5202 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i5206) #30 - call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i5206) #33 - br label %cleanup249.critedge.i.i5208 - -cleanup249.critedge.i.i5208: ; preds = %cleanup249.critedge.sink.split.i.i5205, %invoke.cont237.i.i5202, %invoke.cont211.i.i5349, %invoke.cont185.i.i5450 - %message_.i542.sink.i.i5209 = phi ptr [ %message_.i542.i.i5451, %invoke.cont185.i.i5450 ], [ %message_.i635.i.i5350, %invoke.cont211.i.i5349 ], [ %message_.i731.i.i5203, %invoke.cont237.i.i5202 ], [ %message_.i542.sink.ph.i.i5207, %cleanup249.critedge.sink.split.i.i5205 ] - store ptr null, ptr %message_.i542.sink.i.i5209, align 8, !noalias !1614 - %2338 = load ptr, ptr %_M_refcount.i.i.i735.i.i4756, align 8, !noalias !1614 - %cmp.not.i.i.i.i781.i.i5210 = icmp eq ptr %2338, null - br i1 %cmp.not.i.i.i.i781.i.i5210, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221, label %if.then.i.i.i.i782.i.i5211 - -if.then.i.i.i.i782.i.i5211: ; preds = %cleanup249.critedge.i.i5208 - %_M_use_count.i.i.i.i.i783.i.i5212 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2338, i64 0, i32 1 - %2339 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i5212 acquire, align 8 - %cmp.i.i.i.i.i784.i.i5213 = icmp eq i64 %2339, 4294967297 + br label %for.inc246.i.i5481 + +for.inc246.i.i5481: ; preds = %if.then.i.i.i1.i758.i.i5480, %invoke.cont.i.i756.i.i5478, %for.body154.i.i5090 + %incdec.ptr.i779.i.i5482 = getelementptr inbounds %"class.std::vector.1028", ptr %__begin0146.sroa.0.050.i.i5091, i64 1 + %cmp.i449.not.i.i5483 = icmp eq ptr %incdec.ptr.i779.i.i5482, %classes.val56.i.i5088 + br i1 %cmp.i449.not.i.i5483, label %cleanup249.i.i5484, label %for.body154.i.i5090 + +ehcleanup245.i.i5104: ; preds = %ehcleanup240.i.i5112, %ehcleanup214.i.i5259, %ehcleanup188.i.i5360, %lpad161.loopexit.split-lp.i.i5108, %lpad161.loopexit.i.i5102 + %.pn.pn.pn.i.i5105 = phi { ptr, i32 } [ %.pn.pn.i.i5113, %ehcleanup240.i.i5112 ], [ %.pn31.pn.i.i5260, %ehcleanup214.i.i5259 ], [ %.pn34.pn.i.i5361, %ehcleanup188.i.i5360 ], [ %lpad.loopexit5.i.i5103, %lpad161.loopexit.i.i5102 ], [ %lpad.loopexit.split-lp6.i.i5109, %lpad161.loopexit.split-lp.i.i5108 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %c2_hash.i.i4598) #30 + br label %ehcleanup252.i.i4784 + +cleanup249.critedge.sink.split.i.i5210: ; preds = %invoke.cont237.i.i5207, %invoke.cont211.i.i5354, %invoke.cont185.i.i5455 + %.sink117.i.i5211 = phi ptr [ %2248, %invoke.cont185.i.i5455 ], [ %2284, %invoke.cont211.i.i5354 ], [ %2320, %invoke.cont237.i.i5207 ] + %message_.i542.sink.ph.i.i5212 = phi ptr [ %message_.i542.i.i5456, %invoke.cont185.i.i5455 ], [ %message_.i635.i.i5355, %invoke.cont211.i.i5354 ], [ %message_.i731.i.i5208, %invoke.cont237.i.i5207 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.sink117.i.i5211) #30 + call void @_ZdlPv(ptr noundef nonnull %.sink117.i.i5211) #33 + br label %cleanup249.critedge.i.i5213 + +cleanup249.critedge.i.i5213: ; preds = %cleanup249.critedge.sink.split.i.i5210, %invoke.cont237.i.i5207, %invoke.cont211.i.i5354, %invoke.cont185.i.i5455 + %message_.i542.sink.i.i5214 = phi ptr [ %message_.i542.i.i5456, %invoke.cont185.i.i5455 ], [ %message_.i635.i.i5355, %invoke.cont211.i.i5354 ], [ %message_.i731.i.i5208, %invoke.cont237.i.i5207 ], [ %message_.i542.sink.ph.i.i5212, %cleanup249.critedge.sink.split.i.i5210 ] + store ptr null, ptr %message_.i542.sink.i.i5214, align 8, !noalias !1614 + %2338 = load ptr, ptr %_M_refcount.i.i.i735.i.i4761, align 8, !noalias !1614 + %cmp.not.i.i.i.i781.i.i5215 = icmp eq ptr %2338, null + br i1 %cmp.not.i.i.i.i781.i.i5215, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226, label %if.then.i.i.i.i782.i.i5216 + +if.then.i.i.i.i782.i.i5216: ; preds = %cleanup249.critedge.i.i5213 + %_M_use_count.i.i.i.i.i783.i.i5217 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2338, i64 0, i32 1 + %2339 = load atomic i64, ptr %_M_use_count.i.i.i.i.i783.i.i5217 acquire, align 8 + %cmp.i.i.i.i.i784.i.i5218 = icmp eq i64 %2339, 4294967297 %2340 = trunc i64 %2339 to i32 - br i1 %cmp.i.i.i.i.i784.i.i5213, label %if.then.i.i.i.i.i819.i.i5247, label %if.end.i.i.i.i.i785.i.i5214 - -if.then.i.i.i.i.i819.i.i5247: ; preds = %if.then.i.i.i.i782.i.i5211 - store i32 0, ptr %_M_use_count.i.i.i.i.i783.i.i5212, align 8 - %_M_weak_count.i.i.i.i.i820.i.i5248 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2338, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i820.i.i5248, align 4 - %vtable.i.i.i.i.i821.i.i5249 = load ptr, ptr %2338, align 8 - %vfn.i.i.i.i.i822.i.i5250 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i821.i.i5249, i64 2 - %2341 = load ptr, ptr %vfn.i.i.i.i.i822.i.i5250, align 8 + br i1 %cmp.i.i.i.i.i784.i.i5218, label %if.then.i.i.i.i.i819.i.i5252, label %if.end.i.i.i.i.i785.i.i5219 + +if.then.i.i.i.i.i819.i.i5252: ; preds = %if.then.i.i.i.i782.i.i5216 + store i32 0, ptr %_M_use_count.i.i.i.i.i783.i.i5217, align 8 + %_M_weak_count.i.i.i.i.i820.i.i5253 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2338, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i820.i.i5253, align 4 + %vtable.i.i.i.i.i821.i.i5254 = load ptr, ptr %2338, align 8 + %vfn.i.i.i.i.i822.i.i5255 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i821.i.i5254, i64 2 + %2341 = load ptr, ptr %vfn.i.i.i.i.i822.i.i5255, align 8 call void %2341(ptr noundef nonnull align 8 dereferenceable(16) %2338) #30 - br label %if.end8.sink.split.i.i.i.i.i814.i.i5242 + br label %if.end8.sink.split.i.i.i.i.i814.i.i5247 -if.end.i.i.i.i.i785.i.i5214: ; preds = %if.then.i.i.i.i782.i.i5211 +if.end.i.i.i.i.i785.i.i5219: ; preds = %if.then.i.i.i.i782.i.i5216 %2342 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i786.i.i5215 = icmp eq i8 %2342, 0 - br i1 %tobool.i.i.not.i.i.i.i.i786.i.i5215, label %if.else.i.i.i.i.i.i818.i.i5246, label %if.then.i.i.i.i.i.i787.i.i5216 - -if.then.i.i.i.i.i.i787.i.i5216: ; preds = %if.end.i.i.i.i.i785.i.i5214 - %add.i.i.i.i.i.i788.i.i5217 = add nsw i32 %2340, -1 - store i32 %add.i.i.i.i.i.i788.i.i5217, ptr %_M_use_count.i.i.i.i.i783.i.i5212, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5218 - -if.else.i.i.i.i.i.i818.i.i5246: ; preds = %if.end.i.i.i.i.i785.i.i5214 - %2343 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i783.i.i5212, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5218 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5218: ; preds = %if.else.i.i.i.i.i.i818.i.i5246, %if.then.i.i.i.i.i.i787.i.i5216 - %retval.i.0.i.i.i.i.i790.i.i5219 = phi i32 [ %2340, %if.then.i.i.i.i.i.i787.i.i5216 ], [ %2343, %if.else.i.i.i.i.i.i818.i.i5246 ] - %cmp6.i.i.i.i.i791.i.i5220 = icmp eq i32 %retval.i.0.i.i.i.i.i790.i.i5219, 1 - br i1 %cmp6.i.i.i.i.i791.i.i5220, label %if.then7.i.i.i.i.i804.i.i5232, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221 - -if.then7.i.i.i.i.i804.i.i5232: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5218 - %vtable.i.i.i.i.i.i.i805.i.i5233 = load ptr, ptr %2338, align 8 - %vfn.i.i.i.i.i.i.i806.i.i5234 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i805.i.i5233, i64 2 - %2344 = load ptr, ptr %vfn.i.i.i.i.i.i.i806.i.i5234, align 8 + %tobool.i.i.not.i.i.i.i.i786.i.i5220 = icmp eq i8 %2342, 0 + br i1 %tobool.i.i.not.i.i.i.i.i786.i.i5220, label %if.else.i.i.i.i.i.i818.i.i5251, label %if.then.i.i.i.i.i.i787.i.i5221 + +if.then.i.i.i.i.i.i787.i.i5221: ; preds = %if.end.i.i.i.i.i785.i.i5219 + %add.i.i.i.i.i.i788.i.i5222 = add nsw i32 %2340, -1 + store i32 %add.i.i.i.i.i.i788.i.i5222, ptr %_M_use_count.i.i.i.i.i783.i.i5217, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5223 + +if.else.i.i.i.i.i.i818.i.i5251: ; preds = %if.end.i.i.i.i.i785.i.i5219 + %2343 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i783.i.i5217, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5223 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5223: ; preds = %if.else.i.i.i.i.i.i818.i.i5251, %if.then.i.i.i.i.i.i787.i.i5221 + %retval.i.0.i.i.i.i.i790.i.i5224 = phi i32 [ %2340, %if.then.i.i.i.i.i.i787.i.i5221 ], [ %2343, %if.else.i.i.i.i.i.i818.i.i5251 ] + %cmp6.i.i.i.i.i791.i.i5225 = icmp eq i32 %retval.i.0.i.i.i.i.i790.i.i5224, 1 + br i1 %cmp6.i.i.i.i.i791.i.i5225, label %if.then7.i.i.i.i.i804.i.i5237, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226 + +if.then7.i.i.i.i.i804.i.i5237: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5223 + %vtable.i.i.i.i.i.i.i805.i.i5238 = load ptr, ptr %2338, align 8 + %vfn.i.i.i.i.i.i.i806.i.i5239 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i805.i.i5238, i64 2 + %2344 = load ptr, ptr %vfn.i.i.i.i.i.i.i806.i.i5239, align 8 call void %2344(ptr noundef nonnull align 8 dereferenceable(16) %2338) #30 - %_M_weak_count.i.i.i.i.i.i.i807.i.i5235 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2338, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i807.i.i5240 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2338, i64 0, i32 2 %2345 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i808.i.i5236 = icmp eq i8 %2345, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i808.i.i5236, label %if.else.i.i.i.i.i.i.i.i817.i.i5245, label %if.then.i.i.i.i.i.i.i.i809.i.i5237 - -if.then.i.i.i.i.i.i.i.i809.i.i5237: ; preds = %if.then7.i.i.i.i.i804.i.i5232 - %2346 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i5235, align 4 - %add.i.i.i.i.i.i.i.i810.i.i5238 = add nsw i32 %2346, -1 - store i32 %add.i.i.i.i.i.i.i.i810.i.i5238, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i5235, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5239 - -if.else.i.i.i.i.i.i.i.i817.i.i5245: ; preds = %if.then7.i.i.i.i.i804.i.i5232 - %2347 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i5235, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5239 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5239: ; preds = %if.else.i.i.i.i.i.i.i.i817.i.i5245, %if.then.i.i.i.i.i.i.i.i809.i.i5237 - %retval.i.0.i.i.i.i.i.i.i812.i.i5240 = phi i32 [ %2346, %if.then.i.i.i.i.i.i.i.i809.i.i5237 ], [ %2347, %if.else.i.i.i.i.i.i.i.i817.i.i5245 ] - %cmp.i.i.i.i.i.i.i813.i.i5241 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i812.i.i5240, 1 - br i1 %cmp.i.i.i.i.i.i.i813.i.i5241, label %if.end8.sink.split.i.i.i.i.i814.i.i5242, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221 - -if.end8.sink.split.i.i.i.i.i814.i.i5242: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5239, %if.then.i.i.i.i.i819.i.i5247 - %vtable2.i.i.i.i.i.i.i815.i.i5243 = load ptr, ptr %2338, align 8 - %vfn3.i.i.i.i.i.i.i816.i.i5244 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i815.i.i5243, i64 3 - %2348 = load ptr, ptr %vfn3.i.i.i.i.i.i.i816.i.i5244, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i808.i.i5241 = icmp eq i8 %2345, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i808.i.i5241, label %if.else.i.i.i.i.i.i.i.i817.i.i5250, label %if.then.i.i.i.i.i.i.i.i809.i.i5242 + +if.then.i.i.i.i.i.i.i.i809.i.i5242: ; preds = %if.then7.i.i.i.i.i804.i.i5237 + %2346 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i5240, align 4 + %add.i.i.i.i.i.i.i.i810.i.i5243 = add nsw i32 %2346, -1 + store i32 %add.i.i.i.i.i.i.i.i810.i.i5243, ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i5240, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5244 + +if.else.i.i.i.i.i.i.i.i817.i.i5250: ; preds = %if.then7.i.i.i.i.i804.i.i5237 + %2347 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i807.i.i5240, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5244 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5244: ; preds = %if.else.i.i.i.i.i.i.i.i817.i.i5250, %if.then.i.i.i.i.i.i.i.i809.i.i5242 + %retval.i.0.i.i.i.i.i.i.i812.i.i5245 = phi i32 [ %2346, %if.then.i.i.i.i.i.i.i.i809.i.i5242 ], [ %2347, %if.else.i.i.i.i.i.i.i.i817.i.i5250 ] + %cmp.i.i.i.i.i.i.i813.i.i5246 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i812.i.i5245, 1 + br i1 %cmp.i.i.i.i.i.i.i813.i.i5246, label %if.end8.sink.split.i.i.i.i.i814.i.i5247, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226 + +if.end8.sink.split.i.i.i.i.i814.i.i5247: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5244, %if.then.i.i.i.i.i819.i.i5252 + %vtable2.i.i.i.i.i.i.i815.i.i5248 = load ptr, ptr %2338, align 8 + %vfn3.i.i.i.i.i.i.i816.i.i5249 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i815.i.i5248, i64 3 + %2348 = load ptr, ptr %vfn3.i.i.i.i.i.i.i816.i.i5249, align 8 call void %2348(ptr noundef nonnull align 8 dereferenceable(16) %2338) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i5242, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5239, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5218, %cleanup249.critedge.i.i5208 - %2349 = load ptr, ptr %c2_hash.i.i4593, align 8, !noalias !1614 - %2350 = load ptr, ptr %_M_finish.i.i748.i.i4757, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i794.i.i5222 = icmp eq ptr %2349, %2350 - br i1 %cmp.not3.i.i.i.i.i794.i.i5222, label %invoke.cont.i.i801.i.i5229, label %for.body.i.i.i.i.i795.i.i5223 - -for.body.i.i.i.i.i795.i.i5223: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221, %for.body.i.i.i.i.i795.i.i5223 - %__first.addr.04.i.i.i.i.i796.i.i5224 = phi ptr [ %incdec.ptr.i.i.i.i.i797.i.i5225, %for.body.i.i.i.i.i795.i.i5223 ], [ %2349, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i796.i.i5224) #30 - %incdec.ptr.i.i.i.i.i797.i.i5225 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i796.i.i5224, i64 1 - %cmp.not.i.i.i.i.i798.i.i5226 = icmp eq ptr %incdec.ptr.i.i.i.i.i797.i.i5225, %2350 - br i1 %cmp.not.i.i.i.i.i798.i.i5226, label %invoke.contthread-pre-split.i.i799.i.i5227, label %for.body.i.i.i.i.i795.i.i5223, !llvm.loop !8 - -invoke.contthread-pre-split.i.i799.i.i5227: ; preds = %for.body.i.i.i.i.i795.i.i5223 - %.pr.i.i800.i.i5228 = load ptr, ptr %c2_hash.i.i4593, align 8, !noalias !1614 - br label %invoke.cont.i.i801.i.i5229 - -invoke.cont.i.i801.i.i5229: ; preds = %invoke.contthread-pre-split.i.i799.i.i5227, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221 - %2351 = phi ptr [ %.pr.i.i800.i.i5228, %invoke.contthread-pre-split.i.i799.i.i5227 ], [ %2349, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5221 ] - %tobool.not.i.i.i.i802.i.i5230 = icmp eq ptr %2351, null - br i1 %tobool.not.i.i.i.i802.i.i5230, label %cleanup257.critedge.i.i4903, label %if.then.i.i.i1.i803.i.i5231 - -if.then.i.i.i1.i803.i.i5231: ; preds = %invoke.cont.i.i801.i.i5229 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226: ; preds = %if.end8.sink.split.i.i.i.i.i814.i.i5247, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i811.i.i5244, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i789.i.i5223, %cleanup249.critedge.i.i5213 + %2349 = load ptr, ptr %c2_hash.i.i4598, align 8, !noalias !1614 + %2350 = load ptr, ptr %_M_finish.i.i748.i.i4762, align 8, !noalias !1614 + %cmp.not3.i.i.i.i.i794.i.i5227 = icmp eq ptr %2349, %2350 + br i1 %cmp.not3.i.i.i.i.i794.i.i5227, label %invoke.cont.i.i801.i.i5234, label %for.body.i.i.i.i.i795.i.i5228 + +for.body.i.i.i.i.i795.i.i5228: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226, %for.body.i.i.i.i.i795.i.i5228 + %__first.addr.04.i.i.i.i.i796.i.i5229 = phi ptr [ %incdec.ptr.i.i.i.i.i797.i.i5230, %for.body.i.i.i.i.i795.i.i5228 ], [ %2349, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i796.i.i5229) #30 + %incdec.ptr.i.i.i.i.i797.i.i5230 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i796.i.i5229, i64 1 + %cmp.not.i.i.i.i.i798.i.i5231 = icmp eq ptr %incdec.ptr.i.i.i.i.i797.i.i5230, %2350 + br i1 %cmp.not.i.i.i.i.i798.i.i5231, label %invoke.contthread-pre-split.i.i799.i.i5232, label %for.body.i.i.i.i.i795.i.i5228, !llvm.loop !8 + +invoke.contthread-pre-split.i.i799.i.i5232: ; preds = %for.body.i.i.i.i.i795.i.i5228 + %.pr.i.i800.i.i5233 = load ptr, ptr %c2_hash.i.i4598, align 8, !noalias !1614 + br label %invoke.cont.i.i801.i.i5234 + +invoke.cont.i.i801.i.i5234: ; preds = %invoke.contthread-pre-split.i.i799.i.i5232, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226 + %2351 = phi ptr [ %.pr.i.i800.i.i5233, %invoke.contthread-pre-split.i.i799.i.i5232 ], [ %2349, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i792.i.i5226 ] + %tobool.not.i.i.i.i802.i.i5235 = icmp eq ptr %2351, null + br i1 %tobool.not.i.i.i.i802.i.i5235, label %cleanup257.critedge.i.i4908, label %if.then.i.i.i1.i803.i.i5236 + +if.then.i.i.i1.i803.i.i5236: ; preds = %invoke.cont.i.i801.i.i5234 call void @_ZdlPv(ptr noundef nonnull %2351) #33 - br label %cleanup257.critedge.i.i4903 + br label %cleanup257.critedge.i.i4908 -cleanup249.i.i5479: ; preds = %for.inc246.i.i5476, %for.end144.i.i5081 - %2352 = load ptr, ptr %_M_refcount.i.i.i824.i.i4758, align 8, !noalias !1614 - %cmp.not.i.i.i.i825.i.i5480 = icmp eq ptr %2352, null - br i1 %cmp.not.i.i.i.i825.i.i5480, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491, label %if.then.i.i.i.i826.i.i5481 +cleanup249.i.i5484: ; preds = %for.inc246.i.i5481, %for.end144.i.i5086 + %2352 = load ptr, ptr %_M_refcount.i.i.i824.i.i4763, align 8, !noalias !1614 + %cmp.not.i.i.i.i825.i.i5485 = icmp eq ptr %2352, null + br i1 %cmp.not.i.i.i.i825.i.i5485, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496, label %if.then.i.i.i.i826.i.i5486 -if.then.i.i.i.i826.i.i5481: ; preds = %cleanup249.i.i5479 - %_M_use_count.i.i.i.i.i827.i.i5482 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2352, i64 0, i32 1 - %2353 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i5482 acquire, align 8 - %cmp.i.i.i.i.i828.i.i5483 = icmp eq i64 %2353, 4294967297 +if.then.i.i.i.i826.i.i5486: ; preds = %cleanup249.i.i5484 + %_M_use_count.i.i.i.i.i827.i.i5487 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2352, i64 0, i32 1 + %2353 = load atomic i64, ptr %_M_use_count.i.i.i.i.i827.i.i5487 acquire, align 8 + %cmp.i.i.i.i.i828.i.i5488 = icmp eq i64 %2353, 4294967297 %2354 = trunc i64 %2353 to i32 - br i1 %cmp.i.i.i.i.i828.i.i5483, label %if.then.i.i.i.i.i863.i.i5523, label %if.end.i.i.i.i.i829.i.i5484 - -if.then.i.i.i.i.i863.i.i5523: ; preds = %if.then.i.i.i.i826.i.i5481 - store i32 0, ptr %_M_use_count.i.i.i.i.i827.i.i5482, align 8 - %_M_weak_count.i.i.i.i.i864.i.i5524 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2352, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i864.i.i5524, align 4 - %vtable.i.i.i.i.i865.i.i5525 = load ptr, ptr %2352, align 8 - %vfn.i.i.i.i.i866.i.i5526 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i865.i.i5525, i64 2 - %2355 = load ptr, ptr %vfn.i.i.i.i.i866.i.i5526, align 8 + br i1 %cmp.i.i.i.i.i828.i.i5488, label %if.then.i.i.i.i.i863.i.i5528, label %if.end.i.i.i.i.i829.i.i5489 + +if.then.i.i.i.i.i863.i.i5528: ; preds = %if.then.i.i.i.i826.i.i5486 + store i32 0, ptr %_M_use_count.i.i.i.i.i827.i.i5487, align 8 + %_M_weak_count.i.i.i.i.i864.i.i5529 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2352, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i864.i.i5529, align 4 + %vtable.i.i.i.i.i865.i.i5530 = load ptr, ptr %2352, align 8 + %vfn.i.i.i.i.i866.i.i5531 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i865.i.i5530, i64 2 + %2355 = load ptr, ptr %vfn.i.i.i.i.i866.i.i5531, align 8 call void %2355(ptr noundef nonnull align 8 dereferenceable(16) %2352) #30 - br label %if.end8.sink.split.i.i.i.i.i858.i.i5518 + br label %if.end8.sink.split.i.i.i.i.i858.i.i5523 -if.end.i.i.i.i.i829.i.i5484: ; preds = %if.then.i.i.i.i826.i.i5481 +if.end.i.i.i.i.i829.i.i5489: ; preds = %if.then.i.i.i.i826.i.i5486 %2356 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i830.i.i5485 = icmp eq i8 %2356, 0 - br i1 %tobool.i.i.not.i.i.i.i.i830.i.i5485, label %if.else.i.i.i.i.i.i862.i.i5522, label %if.then.i.i.i.i.i.i831.i.i5486 - -if.then.i.i.i.i.i.i831.i.i5486: ; preds = %if.end.i.i.i.i.i829.i.i5484 - %add.i.i.i.i.i.i832.i.i5487 = add nsw i32 %2354, -1 - store i32 %add.i.i.i.i.i.i832.i.i5487, ptr %_M_use_count.i.i.i.i.i827.i.i5482, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5488 - -if.else.i.i.i.i.i.i862.i.i5522: ; preds = %if.end.i.i.i.i.i829.i.i5484 - %2357 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i827.i.i5482, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5488 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5488: ; preds = %if.else.i.i.i.i.i.i862.i.i5522, %if.then.i.i.i.i.i.i831.i.i5486 - %retval.i.0.i.i.i.i.i834.i.i5489 = phi i32 [ %2354, %if.then.i.i.i.i.i.i831.i.i5486 ], [ %2357, %if.else.i.i.i.i.i.i862.i.i5522 ] - %cmp6.i.i.i.i.i835.i.i5490 = icmp eq i32 %retval.i.0.i.i.i.i.i834.i.i5489, 1 - br i1 %cmp6.i.i.i.i.i835.i.i5490, label %if.then7.i.i.i.i.i848.i.i5508, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491 - -if.then7.i.i.i.i.i848.i.i5508: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5488 - %vtable.i.i.i.i.i.i.i849.i.i5509 = load ptr, ptr %2352, align 8 - %vfn.i.i.i.i.i.i.i850.i.i5510 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i849.i.i5509, i64 2 - %2358 = load ptr, ptr %vfn.i.i.i.i.i.i.i850.i.i5510, align 8 + %tobool.i.i.not.i.i.i.i.i830.i.i5490 = icmp eq i8 %2356, 0 + br i1 %tobool.i.i.not.i.i.i.i.i830.i.i5490, label %if.else.i.i.i.i.i.i862.i.i5527, label %if.then.i.i.i.i.i.i831.i.i5491 + +if.then.i.i.i.i.i.i831.i.i5491: ; preds = %if.end.i.i.i.i.i829.i.i5489 + %add.i.i.i.i.i.i832.i.i5492 = add nsw i32 %2354, -1 + store i32 %add.i.i.i.i.i.i832.i.i5492, ptr %_M_use_count.i.i.i.i.i827.i.i5487, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5493 + +if.else.i.i.i.i.i.i862.i.i5527: ; preds = %if.end.i.i.i.i.i829.i.i5489 + %2357 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i827.i.i5487, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5493 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5493: ; preds = %if.else.i.i.i.i.i.i862.i.i5527, %if.then.i.i.i.i.i.i831.i.i5491 + %retval.i.0.i.i.i.i.i834.i.i5494 = phi i32 [ %2354, %if.then.i.i.i.i.i.i831.i.i5491 ], [ %2357, %if.else.i.i.i.i.i.i862.i.i5527 ] + %cmp6.i.i.i.i.i835.i.i5495 = icmp eq i32 %retval.i.0.i.i.i.i.i834.i.i5494, 1 + br i1 %cmp6.i.i.i.i.i835.i.i5495, label %if.then7.i.i.i.i.i848.i.i5513, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496 + +if.then7.i.i.i.i.i848.i.i5513: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5493 + %vtable.i.i.i.i.i.i.i849.i.i5514 = load ptr, ptr %2352, align 8 + %vfn.i.i.i.i.i.i.i850.i.i5515 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i849.i.i5514, i64 2 + %2358 = load ptr, ptr %vfn.i.i.i.i.i.i.i850.i.i5515, align 8 call void %2358(ptr noundef nonnull align 8 dereferenceable(16) %2352) #30 - %_M_weak_count.i.i.i.i.i.i.i851.i.i5511 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2352, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i851.i.i5516 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2352, i64 0, i32 2 %2359 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i852.i.i5512 = icmp eq i8 %2359, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i852.i.i5512, label %if.else.i.i.i.i.i.i.i.i861.i.i5521, label %if.then.i.i.i.i.i.i.i.i853.i.i5513 - -if.then.i.i.i.i.i.i.i.i853.i.i5513: ; preds = %if.then7.i.i.i.i.i848.i.i5508 - %2360 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i5511, align 4 - %add.i.i.i.i.i.i.i.i854.i.i5514 = add nsw i32 %2360, -1 - store i32 %add.i.i.i.i.i.i.i.i854.i.i5514, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i5511, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5515 - -if.else.i.i.i.i.i.i.i.i861.i.i5521: ; preds = %if.then7.i.i.i.i.i848.i.i5508 - %2361 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i5511, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5515 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5515: ; preds = %if.else.i.i.i.i.i.i.i.i861.i.i5521, %if.then.i.i.i.i.i.i.i.i853.i.i5513 - %retval.i.0.i.i.i.i.i.i.i856.i.i5516 = phi i32 [ %2360, %if.then.i.i.i.i.i.i.i.i853.i.i5513 ], [ %2361, %if.else.i.i.i.i.i.i.i.i861.i.i5521 ] - %cmp.i.i.i.i.i.i.i857.i.i5517 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i856.i.i5516, 1 - br i1 %cmp.i.i.i.i.i.i.i857.i.i5517, label %if.end8.sink.split.i.i.i.i.i858.i.i5518, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491 - -if.end8.sink.split.i.i.i.i.i858.i.i5518: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5515, %if.then.i.i.i.i.i863.i.i5523 - %vtable2.i.i.i.i.i.i.i859.i.i5519 = load ptr, ptr %2352, align 8 - %vfn3.i.i.i.i.i.i.i860.i.i5520 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i859.i.i5519, i64 3 - %2362 = load ptr, ptr %vfn3.i.i.i.i.i.i.i860.i.i5520, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i852.i.i5517 = icmp eq i8 %2359, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i852.i.i5517, label %if.else.i.i.i.i.i.i.i.i861.i.i5526, label %if.then.i.i.i.i.i.i.i.i853.i.i5518 + +if.then.i.i.i.i.i.i.i.i853.i.i5518: ; preds = %if.then7.i.i.i.i.i848.i.i5513 + %2360 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i5516, align 4 + %add.i.i.i.i.i.i.i.i854.i.i5519 = add nsw i32 %2360, -1 + store i32 %add.i.i.i.i.i.i.i.i854.i.i5519, ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i5516, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5520 + +if.else.i.i.i.i.i.i.i.i861.i.i5526: ; preds = %if.then7.i.i.i.i.i848.i.i5513 + %2361 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i851.i.i5516, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5520 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5520: ; preds = %if.else.i.i.i.i.i.i.i.i861.i.i5526, %if.then.i.i.i.i.i.i.i.i853.i.i5518 + %retval.i.0.i.i.i.i.i.i.i856.i.i5521 = phi i32 [ %2360, %if.then.i.i.i.i.i.i.i.i853.i.i5518 ], [ %2361, %if.else.i.i.i.i.i.i.i.i861.i.i5526 ] + %cmp.i.i.i.i.i.i.i857.i.i5522 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i856.i.i5521, 1 + br i1 %cmp.i.i.i.i.i.i.i857.i.i5522, label %if.end8.sink.split.i.i.i.i.i858.i.i5523, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496 + +if.end8.sink.split.i.i.i.i.i858.i.i5523: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5520, %if.then.i.i.i.i.i863.i.i5528 + %vtable2.i.i.i.i.i.i.i859.i.i5524 = load ptr, ptr %2352, align 8 + %vfn3.i.i.i.i.i.i.i860.i.i5525 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i859.i.i5524, i64 3 + %2362 = load ptr, ptr %vfn3.i.i.i.i.i.i.i860.i.i5525, align 8 call void %2362(ptr noundef nonnull align 8 dereferenceable(16) %2352) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i5518, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5515, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5488, %cleanup249.i.i5479 - %2363 = load ptr, ptr %expected.i.i4584, align 8, !noalias !1614 - %2364 = load ptr, ptr %_M_finish.i.i837.i.i4759, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i838.i.i5492 = icmp eq ptr %2363, %2364 - br i1 %cmp.not3.i.i.i.i.i838.i.i5492, label %invoke.cont.i.i845.i.i5499, label %for.body.i.i.i.i.i839.i.i5493 - -for.body.i.i.i.i.i839.i.i5493: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491, %for.body.i.i.i.i.i839.i.i5493 - %__first.addr.04.i.i.i.i.i840.i.i5494 = phi ptr [ %incdec.ptr.i.i.i.i.i841.i.i5495, %for.body.i.i.i.i.i839.i.i5493 ], [ %2363, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i840.i.i5494) #30 - %incdec.ptr.i.i.i.i.i841.i.i5495 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i840.i.i5494, i64 1 - %cmp.not.i.i.i.i.i842.i.i5496 = icmp eq ptr %incdec.ptr.i.i.i.i.i841.i.i5495, %2364 - br i1 %cmp.not.i.i.i.i.i842.i.i5496, label %invoke.contthread-pre-split.i.i843.i.i5497, label %for.body.i.i.i.i.i839.i.i5493, !llvm.loop !8 - -invoke.contthread-pre-split.i.i843.i.i5497: ; preds = %for.body.i.i.i.i.i839.i.i5493 - %.pr.i.i844.i.i5498 = load ptr, ptr %expected.i.i4584, align 8, !noalias !1614 - br label %invoke.cont.i.i845.i.i5499 - -invoke.cont.i.i845.i.i5499: ; preds = %invoke.contthread-pre-split.i.i843.i.i5497, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491 - %2365 = phi ptr [ %.pr.i.i844.i.i5498, %invoke.contthread-pre-split.i.i843.i.i5497 ], [ %2363, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5491 ] - %tobool.not.i.i.i.i846.i.i5500 = icmp eq ptr %2365, null - br i1 %tobool.not.i.i.i.i846.i.i5500, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5502, label %if.then.i.i.i1.i847.i.i5501 - -if.then.i.i.i1.i847.i.i5501: ; preds = %invoke.cont.i.i845.i.i5499 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496: ; preds = %if.end8.sink.split.i.i.i.i.i858.i.i5523, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i855.i.i5520, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i833.i.i5493, %cleanup249.i.i5484 + %2363 = load ptr, ptr %expected.i.i4589, align 8, !noalias !1614 + %2364 = load ptr, ptr %_M_finish.i.i837.i.i4764, align 8, !noalias !1614 + %cmp.not3.i.i.i.i.i838.i.i5497 = icmp eq ptr %2363, %2364 + br i1 %cmp.not3.i.i.i.i.i838.i.i5497, label %invoke.cont.i.i845.i.i5504, label %for.body.i.i.i.i.i839.i.i5498 + +for.body.i.i.i.i.i839.i.i5498: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496, %for.body.i.i.i.i.i839.i.i5498 + %__first.addr.04.i.i.i.i.i840.i.i5499 = phi ptr [ %incdec.ptr.i.i.i.i.i841.i.i5500, %for.body.i.i.i.i.i839.i.i5498 ], [ %2363, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i840.i.i5499) #30 + %incdec.ptr.i.i.i.i.i841.i.i5500 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i840.i.i5499, i64 1 + %cmp.not.i.i.i.i.i842.i.i5501 = icmp eq ptr %incdec.ptr.i.i.i.i.i841.i.i5500, %2364 + br i1 %cmp.not.i.i.i.i.i842.i.i5501, label %invoke.contthread-pre-split.i.i843.i.i5502, label %for.body.i.i.i.i.i839.i.i5498, !llvm.loop !8 + +invoke.contthread-pre-split.i.i843.i.i5502: ; preds = %for.body.i.i.i.i.i839.i.i5498 + %.pr.i.i844.i.i5503 = load ptr, ptr %expected.i.i4589, align 8, !noalias !1614 + br label %invoke.cont.i.i845.i.i5504 + +invoke.cont.i.i845.i.i5504: ; preds = %invoke.contthread-pre-split.i.i843.i.i5502, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496 + %2365 = phi ptr [ %.pr.i.i844.i.i5503, %invoke.contthread-pre-split.i.i843.i.i5502 ], [ %2363, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i836.i.i5496 ] + %tobool.not.i.i.i.i846.i.i5505 = icmp eq ptr %2365, null + br i1 %tobool.not.i.i.i.i846.i.i5505, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5507, label %if.then.i.i.i1.i847.i.i5506 + +if.then.i.i.i1.i847.i.i5506: ; preds = %invoke.cont.i.i845.i.i5504 call void @_ZdlPv(ptr noundef nonnull %2365) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5502 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5507 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5502: ; preds = %if.then.i.i.i1.i847.i.i5501, %invoke.cont.i.i845.i.i5499 - %incdec.ptr.i868.i.i5503 = getelementptr inbounds %"class.std::vector.1028", ptr %__begin058.sroa.0.052.i.i4761, i64 1 - %cmp.i160.not.i.i5504 = icmp eq ptr %incdec.ptr.i868.i.i5503, %classes.val63.pre.i.i4741 - br i1 %cmp.i160.not.i.i5504, label %for.end255.i.i5505, label %for.body66.i.i4760 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5507: ; preds = %if.then.i.i.i1.i847.i.i5506, %invoke.cont.i.i845.i.i5504 + %incdec.ptr.i868.i.i5508 = getelementptr inbounds %"class.std::vector.1028", ptr %__begin058.sroa.0.052.i.i4766, i64 1 + %cmp.i160.not.i.i5509 = icmp eq ptr %incdec.ptr.i868.i.i5508, %classes.val63.pre.i.i4746 + br i1 %cmp.i160.not.i.i5509, label %for.end255.i.i5510, label %for.body66.i.i4765 -ehcleanup252.i.i4779: ; preds = %ehcleanup245.i.i5099, %ehcleanup140.i.i4979, %lpad112.i.i4951, %ehcleanup108.i.i4843, %ehcleanup92.i.i4786, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i4839, %lpad83.loopexit.split-lp.loopexit.i.i4777, %lpad83.loopexit.i.i5093 - %.pn43.pn.i.i4780 = phi { ptr, i32 } [ %.pn43.i.i4844, %ehcleanup108.i.i4843 ], [ %.pn40.pn.i.i4980, %ehcleanup140.i.i4979 ], [ %2212, %lpad112.i.i4951 ], [ %.pn38.i.i4787, %ehcleanup92.i.i4786 ], [ %.pn.pn.pn.i.i5100, %ehcleanup245.i.i5099 ], [ %lpad.loopexit.i.i5094, %lpad83.loopexit.i.i5093 ], [ %lpad.loopexit8.i.i4778, %lpad83.loopexit.split-lp.loopexit.i.i4777 ], [ %lpad.loopexit.split-lp9.i.i4840, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i4839 ] - call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i4584) #30 - br label %ehcleanup258.i.i4660 +ehcleanup252.i.i4784: ; preds = %ehcleanup245.i.i5104, %ehcleanup140.i.i4984, %lpad112.i.i4956, %ehcleanup108.i.i4848, %ehcleanup92.i.i4791, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i4844, %lpad83.loopexit.split-lp.loopexit.i.i4782, %lpad83.loopexit.i.i5098 + %.pn43.pn.i.i4785 = phi { ptr, i32 } [ %.pn43.i.i4849, %ehcleanup108.i.i4848 ], [ %.pn40.pn.i.i4985, %ehcleanup140.i.i4984 ], [ %2212, %lpad112.i.i4956 ], [ %.pn38.i.i4792, %ehcleanup92.i.i4791 ], [ %.pn.pn.pn.i.i5105, %ehcleanup245.i.i5104 ], [ %lpad.loopexit.i.i5099, %lpad83.loopexit.i.i5098 ], [ %lpad.loopexit8.i.i4783, %lpad83.loopexit.split-lp.loopexit.i.i4782 ], [ %lpad.loopexit.split-lp9.i.i4845, %lpad83.loopexit.split-lp.loopexit.split-lp.i.i4844 ] + call void @_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev(ptr noundef nonnull align 8 dereferenceable(41) %expected.i.i4589) #30 + br label %ehcleanup258.i.i4665 -for.end255.i.i5505: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5502, %for.cond64.preheader.i.i4747 +for.end255.i.i5510: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit867.i.i5507, %for.cond64.preheader.i.i4752 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar_209) - to label %cleanup257.i.i4724 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i5506 + to label %cleanup257.i.i4729 unwind label %lpad.loopexit.split-lp.loopexit.split-lp.i.i5511 -cleanup257.critedge.i.i4903: ; preds = %if.then.i.i.i1.i803.i.i5231, %invoke.cont.i.i801.i.i5229, %_ZN7testing15AssertionResultD2Ev.exit447.i.i5077, %_ZN7testing15AssertionResultD2Ev.exit307.i.i4902 - %2366 = load ptr, ptr %_M_refcount.i.i.i824.i.i4758, align 8, !noalias !1614 - %cmp.not.i.i.i.i870.i.i4904 = icmp eq ptr %2366, null - br i1 %cmp.not.i.i.i.i870.i.i4904, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915, label %if.then.i.i.i.i871.i.i4905 +cleanup257.critedge.i.i4908: ; preds = %if.then.i.i.i1.i803.i.i5236, %invoke.cont.i.i801.i.i5234, %_ZN7testing15AssertionResultD2Ev.exit447.i.i5082, %_ZN7testing15AssertionResultD2Ev.exit307.i.i4907 + %2366 = load ptr, ptr %_M_refcount.i.i.i824.i.i4763, align 8, !noalias !1614 + %cmp.not.i.i.i.i870.i.i4909 = icmp eq ptr %2366, null + br i1 %cmp.not.i.i.i.i870.i.i4909, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920, label %if.then.i.i.i.i871.i.i4910 -if.then.i.i.i.i871.i.i4905: ; preds = %cleanup257.critedge.i.i4903 - %_M_use_count.i.i.i.i.i872.i.i4906 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2366, i64 0, i32 1 - %2367 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i4906 acquire, align 8 - %cmp.i.i.i.i.i873.i.i4907 = icmp eq i64 %2367, 4294967297 +if.then.i.i.i.i871.i.i4910: ; preds = %cleanup257.critedge.i.i4908 + %_M_use_count.i.i.i.i.i872.i.i4911 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2366, i64 0, i32 1 + %2367 = load atomic i64, ptr %_M_use_count.i.i.i.i.i872.i.i4911 acquire, align 8 + %cmp.i.i.i.i.i873.i.i4912 = icmp eq i64 %2367, 4294967297 %2368 = trunc i64 %2367 to i32 - br i1 %cmp.i.i.i.i.i873.i.i4907, label %if.then.i.i.i.i.i908.i.i4941, label %if.end.i.i.i.i.i874.i.i4908 - -if.then.i.i.i.i.i908.i.i4941: ; preds = %if.then.i.i.i.i871.i.i4905 - store i32 0, ptr %_M_use_count.i.i.i.i.i872.i.i4906, align 8 - %_M_weak_count.i.i.i.i.i909.i.i4942 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2366, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i909.i.i4942, align 4 - %vtable.i.i.i.i.i910.i.i4943 = load ptr, ptr %2366, align 8 - %vfn.i.i.i.i.i911.i.i4944 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i910.i.i4943, i64 2 - %2369 = load ptr, ptr %vfn.i.i.i.i.i911.i.i4944, align 8 + br i1 %cmp.i.i.i.i.i873.i.i4912, label %if.then.i.i.i.i.i908.i.i4946, label %if.end.i.i.i.i.i874.i.i4913 + +if.then.i.i.i.i.i908.i.i4946: ; preds = %if.then.i.i.i.i871.i.i4910 + store i32 0, ptr %_M_use_count.i.i.i.i.i872.i.i4911, align 8 + %_M_weak_count.i.i.i.i.i909.i.i4947 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2366, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i909.i.i4947, align 4 + %vtable.i.i.i.i.i910.i.i4948 = load ptr, ptr %2366, align 8 + %vfn.i.i.i.i.i911.i.i4949 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i910.i.i4948, i64 2 + %2369 = load ptr, ptr %vfn.i.i.i.i.i911.i.i4949, align 8 call void %2369(ptr noundef nonnull align 8 dereferenceable(16) %2366) #30 - br label %if.end8.sink.split.i.i.i.i.i903.i.i4936 + br label %if.end8.sink.split.i.i.i.i.i903.i.i4941 -if.end.i.i.i.i.i874.i.i4908: ; preds = %if.then.i.i.i.i871.i.i4905 +if.end.i.i.i.i.i874.i.i4913: ; preds = %if.then.i.i.i.i871.i.i4910 %2370 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i875.i.i4909 = icmp eq i8 %2370, 0 - br i1 %tobool.i.i.not.i.i.i.i.i875.i.i4909, label %if.else.i.i.i.i.i.i907.i.i4940, label %if.then.i.i.i.i.i.i876.i.i4910 - -if.then.i.i.i.i.i.i876.i.i4910: ; preds = %if.end.i.i.i.i.i874.i.i4908 - %add.i.i.i.i.i.i877.i.i4911 = add nsw i32 %2368, -1 - store i32 %add.i.i.i.i.i.i877.i.i4911, ptr %_M_use_count.i.i.i.i.i872.i.i4906, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4912 - -if.else.i.i.i.i.i.i907.i.i4940: ; preds = %if.end.i.i.i.i.i874.i.i4908 - %2371 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i872.i.i4906, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4912 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4912: ; preds = %if.else.i.i.i.i.i.i907.i.i4940, %if.then.i.i.i.i.i.i876.i.i4910 - %retval.i.0.i.i.i.i.i879.i.i4913 = phi i32 [ %2368, %if.then.i.i.i.i.i.i876.i.i4910 ], [ %2371, %if.else.i.i.i.i.i.i907.i.i4940 ] - %cmp6.i.i.i.i.i880.i.i4914 = icmp eq i32 %retval.i.0.i.i.i.i.i879.i.i4913, 1 - br i1 %cmp6.i.i.i.i.i880.i.i4914, label %if.then7.i.i.i.i.i893.i.i4926, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915 - -if.then7.i.i.i.i.i893.i.i4926: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4912 - %vtable.i.i.i.i.i.i.i894.i.i4927 = load ptr, ptr %2366, align 8 - %vfn.i.i.i.i.i.i.i895.i.i4928 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i894.i.i4927, i64 2 - %2372 = load ptr, ptr %vfn.i.i.i.i.i.i.i895.i.i4928, align 8 + %tobool.i.i.not.i.i.i.i.i875.i.i4914 = icmp eq i8 %2370, 0 + br i1 %tobool.i.i.not.i.i.i.i.i875.i.i4914, label %if.else.i.i.i.i.i.i907.i.i4945, label %if.then.i.i.i.i.i.i876.i.i4915 + +if.then.i.i.i.i.i.i876.i.i4915: ; preds = %if.end.i.i.i.i.i874.i.i4913 + %add.i.i.i.i.i.i877.i.i4916 = add nsw i32 %2368, -1 + store i32 %add.i.i.i.i.i.i877.i.i4916, ptr %_M_use_count.i.i.i.i.i872.i.i4911, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4917 + +if.else.i.i.i.i.i.i907.i.i4945: ; preds = %if.end.i.i.i.i.i874.i.i4913 + %2371 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i872.i.i4911, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4917 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4917: ; preds = %if.else.i.i.i.i.i.i907.i.i4945, %if.then.i.i.i.i.i.i876.i.i4915 + %retval.i.0.i.i.i.i.i879.i.i4918 = phi i32 [ %2368, %if.then.i.i.i.i.i.i876.i.i4915 ], [ %2371, %if.else.i.i.i.i.i.i907.i.i4945 ] + %cmp6.i.i.i.i.i880.i.i4919 = icmp eq i32 %retval.i.0.i.i.i.i.i879.i.i4918, 1 + br i1 %cmp6.i.i.i.i.i880.i.i4919, label %if.then7.i.i.i.i.i893.i.i4931, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920 + +if.then7.i.i.i.i.i893.i.i4931: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4917 + %vtable.i.i.i.i.i.i.i894.i.i4932 = load ptr, ptr %2366, align 8 + %vfn.i.i.i.i.i.i.i895.i.i4933 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i894.i.i4932, i64 2 + %2372 = load ptr, ptr %vfn.i.i.i.i.i.i.i895.i.i4933, align 8 call void %2372(ptr noundef nonnull align 8 dereferenceable(16) %2366) #30 - %_M_weak_count.i.i.i.i.i.i.i896.i.i4929 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2366, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i896.i.i4934 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %2366, i64 0, i32 2 %2373 = load i8, ptr @__libc_single_threaded, align 1, !noalias !1614 - %tobool.i.i.not.i.i.i.i.i.i.i897.i.i4930 = icmp eq i8 %2373, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i897.i.i4930, label %if.else.i.i.i.i.i.i.i.i906.i.i4939, label %if.then.i.i.i.i.i.i.i.i898.i.i4931 - -if.then.i.i.i.i.i.i.i.i898.i.i4931: ; preds = %if.then7.i.i.i.i.i893.i.i4926 - %2374 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i4929, align 4 - %add.i.i.i.i.i.i.i.i899.i.i4932 = add nsw i32 %2374, -1 - store i32 %add.i.i.i.i.i.i.i.i899.i.i4932, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i4929, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4933 - -if.else.i.i.i.i.i.i.i.i906.i.i4939: ; preds = %if.then7.i.i.i.i.i893.i.i4926 - %2375 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i4929, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4933 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4933: ; preds = %if.else.i.i.i.i.i.i.i.i906.i.i4939, %if.then.i.i.i.i.i.i.i.i898.i.i4931 - %retval.i.0.i.i.i.i.i.i.i901.i.i4934 = phi i32 [ %2374, %if.then.i.i.i.i.i.i.i.i898.i.i4931 ], [ %2375, %if.else.i.i.i.i.i.i.i.i906.i.i4939 ] - %cmp.i.i.i.i.i.i.i902.i.i4935 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i901.i.i4934, 1 - br i1 %cmp.i.i.i.i.i.i.i902.i.i4935, label %if.end8.sink.split.i.i.i.i.i903.i.i4936, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915 - -if.end8.sink.split.i.i.i.i.i903.i.i4936: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4933, %if.then.i.i.i.i.i908.i.i4941 - %vtable2.i.i.i.i.i.i.i904.i.i4937 = load ptr, ptr %2366, align 8 - %vfn3.i.i.i.i.i.i.i905.i.i4938 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i904.i.i4937, i64 3 - %2376 = load ptr, ptr %vfn3.i.i.i.i.i.i.i905.i.i4938, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i897.i.i4935 = icmp eq i8 %2373, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i897.i.i4935, label %if.else.i.i.i.i.i.i.i.i906.i.i4944, label %if.then.i.i.i.i.i.i.i.i898.i.i4936 + +if.then.i.i.i.i.i.i.i.i898.i.i4936: ; preds = %if.then7.i.i.i.i.i893.i.i4931 + %2374 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i4934, align 4 + %add.i.i.i.i.i.i.i.i899.i.i4937 = add nsw i32 %2374, -1 + store i32 %add.i.i.i.i.i.i.i.i899.i.i4937, ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i4934, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4938 + +if.else.i.i.i.i.i.i.i.i906.i.i4944: ; preds = %if.then7.i.i.i.i.i893.i.i4931 + %2375 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i896.i.i4934, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4938 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4938: ; preds = %if.else.i.i.i.i.i.i.i.i906.i.i4944, %if.then.i.i.i.i.i.i.i.i898.i.i4936 + %retval.i.0.i.i.i.i.i.i.i901.i.i4939 = phi i32 [ %2374, %if.then.i.i.i.i.i.i.i.i898.i.i4936 ], [ %2375, %if.else.i.i.i.i.i.i.i.i906.i.i4944 ] + %cmp.i.i.i.i.i.i.i902.i.i4940 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i901.i.i4939, 1 + br i1 %cmp.i.i.i.i.i.i.i902.i.i4940, label %if.end8.sink.split.i.i.i.i.i903.i.i4941, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920 + +if.end8.sink.split.i.i.i.i.i903.i.i4941: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4938, %if.then.i.i.i.i.i908.i.i4946 + %vtable2.i.i.i.i.i.i.i904.i.i4942 = load ptr, ptr %2366, align 8 + %vfn3.i.i.i.i.i.i.i905.i.i4943 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i904.i.i4942, i64 3 + %2376 = load ptr, ptr %vfn3.i.i.i.i.i.i.i905.i.i4943, align 8 call void %2376(ptr noundef nonnull align 8 dereferenceable(16) %2366) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915 - -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i4936, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4933, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4912, %cleanup257.critedge.i.i4903 - %2377 = load ptr, ptr %expected.i.i4584, align 8, !noalias !1614 - %2378 = load ptr, ptr %_M_finish.i.i837.i.i4759, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i883.i.i4916 = icmp eq ptr %2377, %2378 - br i1 %cmp.not3.i.i.i.i.i883.i.i4916, label %invoke.cont.i.i890.i.i4923, label %for.body.i.i.i.i.i884.i.i4917 - -for.body.i.i.i.i.i884.i.i4917: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915, %for.body.i.i.i.i.i884.i.i4917 - %__first.addr.04.i.i.i.i.i885.i.i4918 = phi ptr [ %incdec.ptr.i.i.i.i.i886.i.i4919, %for.body.i.i.i.i.i884.i.i4917 ], [ %2377, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i885.i.i4918) #30 - %incdec.ptr.i.i.i.i.i886.i.i4919 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i885.i.i4918, i64 1 - %cmp.not.i.i.i.i.i887.i.i4920 = icmp eq ptr %incdec.ptr.i.i.i.i.i886.i.i4919, %2378 - br i1 %cmp.not.i.i.i.i.i887.i.i4920, label %invoke.contthread-pre-split.i.i888.i.i4921, label %for.body.i.i.i.i.i884.i.i4917, !llvm.loop !8 - -invoke.contthread-pre-split.i.i888.i.i4921: ; preds = %for.body.i.i.i.i.i884.i.i4917 - %.pr.i.i889.i.i4922 = load ptr, ptr %expected.i.i4584, align 8, !noalias !1614 - br label %invoke.cont.i.i890.i.i4923 - -invoke.cont.i.i890.i.i4923: ; preds = %invoke.contthread-pre-split.i.i888.i.i4921, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915 - %2379 = phi ptr [ %.pr.i.i889.i.i4922, %invoke.contthread-pre-split.i.i888.i.i4921 ], [ %2377, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4915 ] - %tobool.not.i.i.i.i891.i.i4924 = icmp eq ptr %2379, null - br i1 %tobool.not.i.i.i.i891.i.i4924, label %cleanup257.i.i4724, label %if.then.i.i.i1.i892.i.i4925 - -if.then.i.i.i1.i892.i.i4925: ; preds = %invoke.cont.i.i890.i.i4923 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920 + +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920: ; preds = %if.end8.sink.split.i.i.i.i.i903.i.i4941, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i900.i.i4938, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i878.i.i4917, %cleanup257.critedge.i.i4908 + %2377 = load ptr, ptr %expected.i.i4589, align 8, !noalias !1614 + %2378 = load ptr, ptr %_M_finish.i.i837.i.i4764, align 8, !noalias !1614 + %cmp.not3.i.i.i.i.i883.i.i4921 = icmp eq ptr %2377, %2378 + br i1 %cmp.not3.i.i.i.i.i883.i.i4921, label %invoke.cont.i.i890.i.i4928, label %for.body.i.i.i.i.i884.i.i4922 + +for.body.i.i.i.i.i884.i.i4922: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920, %for.body.i.i.i.i.i884.i.i4922 + %__first.addr.04.i.i.i.i.i885.i.i4923 = phi ptr [ %incdec.ptr.i.i.i.i.i886.i.i4924, %for.body.i.i.i.i.i884.i.i4922 ], [ %2377, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i885.i.i4923) #30 + %incdec.ptr.i.i.i.i.i886.i.i4924 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i885.i.i4923, i64 1 + %cmp.not.i.i.i.i.i887.i.i4925 = icmp eq ptr %incdec.ptr.i.i.i.i.i886.i.i4924, %2378 + br i1 %cmp.not.i.i.i.i.i887.i.i4925, label %invoke.contthread-pre-split.i.i888.i.i4926, label %for.body.i.i.i.i.i884.i.i4922, !llvm.loop !8 + +invoke.contthread-pre-split.i.i888.i.i4926: ; preds = %for.body.i.i.i.i.i884.i.i4922 + %.pr.i.i889.i.i4927 = load ptr, ptr %expected.i.i4589, align 8, !noalias !1614 + br label %invoke.cont.i.i890.i.i4928 + +invoke.cont.i.i890.i.i4928: ; preds = %invoke.contthread-pre-split.i.i888.i.i4926, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920 + %2379 = phi ptr [ %.pr.i.i889.i.i4927, %invoke.contthread-pre-split.i.i888.i.i4926 ], [ %2377, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i881.i.i4920 ] + %tobool.not.i.i.i.i891.i.i4929 = icmp eq ptr %2379, null + br i1 %tobool.not.i.i.i.i891.i.i4929, label %cleanup257.i.i4729, label %if.then.i.i.i1.i892.i.i4930 + +if.then.i.i.i1.i892.i.i4930: ; preds = %invoke.cont.i.i890.i.i4928 call void @_ZdlPv(ptr noundef nonnull %2379) #33 - br label %cleanup257.i.i4724 + br label %cleanup257.i.i4729 -cleanup257.i.i4724: ; preds = %if.then.i.i.i1.i892.i.i4925, %invoke.cont.i.i890.i.i4923, %for.end255.i.i5505, %_ZN7testing15AssertionResultD2Ev.exit159.i.i5627, %if.then.i.i.i.i129.i.i4723, %_ZN7testing15AssertionResultD2Ev.exit.i.i4721 - %2380 = load ptr, ptr %classes.i.i4579, align 8, !noalias !1614 +cleanup257.i.i4729: ; preds = %if.then.i.i.i1.i892.i.i4930, %invoke.cont.i.i890.i.i4928, %for.end255.i.i5510, %_ZN7testing15AssertionResultD2Ev.exit159.i.i5632, %if.then.i.i.i.i129.i.i4728, %_ZN7testing15AssertionResultD2Ev.exit.i.i4726 + %2380 = load ptr, ptr %classes.i.i4584, align 8, !noalias !1614 %2381 = load ptr, ptr %2057, align 8, !noalias !1614 - %cmp.not3.i.i.i.i.i.i4725 = icmp eq ptr %2380, %2381 - br i1 %cmp.not3.i.i.i.i.i.i4725, label %invoke.cont.i916.i.i4733, label %for.body.i.i.i.i.i.i4726 + %cmp.not3.i.i.i.i.i.i4730 = icmp eq ptr %2380, %2381 + br i1 %cmp.not3.i.i.i.i.i.i4730, label %invoke.cont.i916.i.i4738, label %for.body.i.i.i.i.i.i4731 -for.body.i.i.i.i.i.i4726: ; preds = %cleanup257.i.i4724, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i4727 = phi ptr [ %incdec.ptr.i.i.i.i.i.i4731, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %2380, %cleanup257.i.i4724 ] - %__first.addr.0.val.i.i.i.i.i.i4728 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i4727, align 8 - %tobool.not.i.i.i.i.i.i.i.i.i.i4729 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i4728, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i4729, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i4730 +for.body.i.i.i.i.i.i4731: ; preds = %cleanup257.i.i4729, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i + %__first.addr.04.i.i.i.i.i.i4732 = phi ptr [ %incdec.ptr.i.i.i.i.i.i4736, %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i ], [ %2380, %cleanup257.i.i4729 ] + %__first.addr.0.val.i.i.i.i.i.i4733 = load ptr, ptr %__first.addr.04.i.i.i.i.i.i4732, align 8 + %tobool.not.i.i.i.i.i.i.i.i.i.i4734 = icmp eq ptr %__first.addr.0.val.i.i.i.i.i.i4733, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i4734, label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i914.i.i4735 -if.then.i.i.i.i.i.i.i.i914.i.i4730: ; preds = %for.body.i.i.i.i.i.i4726 - call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i4728) #33 +if.then.i.i.i.i.i.i.i.i914.i.i4735: ; preds = %for.body.i.i.i.i.i.i4731 + call void @_ZdlPv(ptr noundef nonnull %__first.addr.0.val.i.i.i.i.i.i4733) #33 br label %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i -_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i4730, %for.body.i.i.i.i.i.i4726 - %incdec.ptr.i.i.i.i.i.i4731 = getelementptr inbounds %"class.std::vector.1028", ptr %__first.addr.04.i.i.i.i.i.i4727, i64 1 - %cmp.not.i.i.i.i915.i.i4732 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i4731, %2381 - br i1 %cmp.not.i.i.i.i915.i.i4732, label %invoke.cont.i916.i.i4733, label %for.body.i.i.i.i.i.i4726, !llvm.loop !1628 +_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i914.i.i4735, %for.body.i.i.i.i.i.i4731 + %incdec.ptr.i.i.i.i.i.i4736 = getelementptr inbounds %"class.std::vector.1028", ptr %__first.addr.04.i.i.i.i.i.i4732, i64 1 + %cmp.not.i.i.i.i915.i.i4737 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i4736, %2381 + br i1 %cmp.not.i.i.i.i915.i.i4737, label %invoke.cont.i916.i.i4738, label %for.body.i.i.i.i.i.i4731, !llvm.loop !1628 -invoke.cont.i916.i.i4733: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i4724 - %tobool.not.i.i.i917.i.i4734 = icmp eq ptr %2380, null - br i1 %tobool.not.i.i.i917.i.i4734, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i4735 +invoke.cont.i916.i.i4738: ; preds = %_ZSt8_DestroyISt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS0_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISC_EENS2_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EEEvPSI_.exit.i.i.i.i.i.i, %cleanup257.i.i4729 + %tobool.not.i.i.i917.i.i4739 = icmp eq ptr %2380, null + br i1 %tobool.not.i.i.i917.i.i4739, label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, label %if.then.i.i.i918.i.i4740 -if.then.i.i.i918.i.i4735: ; preds = %invoke.cont.i916.i.i4733 +if.then.i.i.i918.i.i4740: ; preds = %invoke.cont.i916.i.i4738 call void @_ZdlPv(ptr noundef nonnull %2380) #33 br label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit -ehcleanup258.i.i4660: ; preds = %ehcleanup252.i.i4779, %lpad51.body.i.i5606, %if.then.i.i.i.i137.i.i4697, %ehcleanup.i.i4694, %lpad30.i.i4665, %lpad.loopexit.split-lp.loopexit.split-lp.i.i5506, %lpad.loopexit.split-lp.loopexit.i.i4658, %lpad.loopexit11.i.i4766 - %.pn46.pn.i.i4661 = phi { ptr, i32 } [ %2099, %lpad30.i.i4665 ], [ %eh.lpad-body155.i.i5607, %lpad51.body.i.i5606 ], [ %.pn43.pn.i.i4780, %ehcleanup252.i.i4779 ], [ %.pn46.i.i4695, %ehcleanup.i.i4694 ], [ %.pn46.i.i4695, %if.then.i.i.i.i137.i.i4697 ], [ %lpad.loopexit12.i.i4767, %lpad.loopexit11.i.i4766 ], [ %lpad.loopexit15.i.i4659, %lpad.loopexit.split-lp.loopexit.i.i4658 ], [ %lpad.loopexit.split-lp16.i.i5507, %lpad.loopexit.split-lp.loopexit.split-lp.i.i5506 ] - call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i4579) #30 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i4605) #33 +ehcleanup258.i.i4665: ; preds = %ehcleanup252.i.i4784, %lpad51.body.i.i5611, %if.then.i.i.i.i137.i.i4702, %ehcleanup.i.i4699, %lpad30.i.i4670, %lpad.loopexit.split-lp.loopexit.split-lp.i.i5511, %lpad.loopexit.split-lp.loopexit.i.i4663, %lpad.loopexit11.i.i4771 + %.pn46.pn.i.i4666 = phi { ptr, i32 } [ %2099, %lpad30.i.i4670 ], [ %eh.lpad-body155.i.i5612, %lpad51.body.i.i5611 ], [ %.pn43.pn.i.i4785, %ehcleanup252.i.i4784 ], [ %.pn46.i.i4700, %ehcleanup.i.i4699 ], [ %.pn46.i.i4700, %if.then.i.i.i.i137.i.i4702 ], [ %lpad.loopexit12.i.i4772, %lpad.loopexit11.i.i4771 ], [ %lpad.loopexit15.i.i4664, %lpad.loopexit.split-lp.loopexit.i.i4663 ], [ %lpad.loopexit.split-lp16.i.i5512, %lpad.loopexit.split-lp.loopexit.split-lp.i.i5511 ] + call fastcc void @_ZNSt6vectorIS_IZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EESaISN_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %classes.i.i4584) #30 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i4610) #33 br label %common.resume -_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i4733, %if.then.i.i.i918.i.i4735 - call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i4579), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i4580), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i4581), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i4582), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i4583), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i4584), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i4585), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i4586), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i4587), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i4588), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i4589), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i4590), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i4591), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i4592), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i4593), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i4594), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i4595), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i4596), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i4597), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i4598), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i4599), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i4600), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i4601), !noalias !1613 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i4602), !noalias !1613 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i4605) #33 +_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %invoke.cont.i916.i.i4738, %if.then.i.i.i918.i.i4740 + call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %classes.i.i4584), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %error.i.i4585), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp27.i.i4586), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp34.i.i4587), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp49.i.i4588), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %expected.i.i4589), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp82.i.i4590), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp85.i.i4591), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp94.i.i4592), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp99.i.i4593), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %ref.tmp110.i.i4594), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp117.i.i4595), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp122.i.i4596), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp130.i.i4597), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %c2_hash.i.i4598), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp164.i.i4599), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp169.i.i4600), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp177.i.i4601), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp190.i.i4602), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp195.i.i4603), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp203.i.i4604), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp216.i.i4605), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp221.i.i4606), !noalias !1613 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp229.i.i4607), !noalias !1613 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i6.i.i.i4610) #33 %2382 = load i8, ptr %gtest_ar_209, align 8 %2383 = and i8 %2382, 1 - %tobool.i5711.not = icmp eq i8 %2383, 0 - br i1 %tobool.i5711.not, label %if.else216, label %if.end232 + %tobool.i5717.not = icmp eq i8 %2383, 0 + br i1 %tobool.i5717.not, label %if.else216, label %if.end232 -ehcleanup208: ; preds = %_ZN7testing7MessageD2Ev.exit4546, %lpad193 - %.pn72.pn.pn = phi { ptr, i32 } [ %.pn72.pn, %_ZN7testing7MessageD2Ev.exit4546 ], [ %2048, %lpad193 ] +ehcleanup208: ; preds = %_ZN7testing7MessageD2Ev.exit4551, %lpad193 + %.pn72.pn.pn = phi { ptr, i32 } [ %.pn72.pn, %_ZN7testing7MessageD2Ev.exit4551 ], [ %2048, %lpad193 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_184) #30 br label %common.resume @@ -77596,17 +77610,17 @@ invoke.cont228: ; preds = %invoke.cont226 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp220) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp221) #30 %2384 = load ptr, ptr %ref.tmp217, align 8 - %cmp.not.i.i5712 = icmp eq ptr %2384, null - br i1 %cmp.not.i.i5712, label %_ZN7testing7MessageD2Ev.exit5716, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5713 + %cmp.not.i.i5718 = icmp eq ptr %2384, null + br i1 %cmp.not.i.i5718, label %_ZN7testing7MessageD2Ev.exit5722, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5719 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5713: ; preds = %invoke.cont228 - %vtable.i.i.i5714 = load ptr, ptr %2384, align 8 - %vfn.i.i.i5715 = getelementptr inbounds ptr, ptr %vtable.i.i.i5714, i64 1 - %2385 = load ptr, ptr %vfn.i.i.i5715, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5719: ; preds = %invoke.cont228 + %vtable.i.i.i5720 = load ptr, ptr %2384, align 8 + %vfn.i.i.i5721 = getelementptr inbounds ptr, ptr %vtable.i.i.i5720, i64 1 + %2385 = load ptr, ptr %vfn.i.i.i5721, align 8 call void %2385(ptr noundef nonnull align 8 dereferenceable(128) %2384) #30 - br label %_ZN7testing7MessageD2Ev.exit5716 + br label %_ZN7testing7MessageD2Ev.exit5722 -_ZN7testing7MessageD2Ev.exit5716: ; preds = %invoke.cont228, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5713 +_ZN7testing7MessageD2Ev.exit5722: ; preds = %invoke.cont228, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5719 store ptr null, ptr %ref.tmp217, align 8 br label %if.end232 @@ -77639,73 +77653,73 @@ ehcleanup230: ; preds = %lpad227, %lpad225 ehcleanup231: ; preds = %ehcleanup230, %lpad222 %.pn76.pn = phi { ptr, i32 } [ %.pn76, %ehcleanup230 ], [ %2387, %lpad222 ] %2390 = load ptr, ptr %ref.tmp217, align 8 - %cmp.not.i.i5717 = icmp eq ptr %2390, null - br i1 %cmp.not.i.i5717, label %_ZN7testing7MessageD2Ev.exit5721, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5718 + %cmp.not.i.i5723 = icmp eq ptr %2390, null + br i1 %cmp.not.i.i5723, label %_ZN7testing7MessageD2Ev.exit5727, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5724 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5718: ; preds = %ehcleanup231 - %vtable.i.i.i5719 = load ptr, ptr %2390, align 8 - %vfn.i.i.i5720 = getelementptr inbounds ptr, ptr %vtable.i.i.i5719, i64 1 - %2391 = load ptr, ptr %vfn.i.i.i5720, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5724: ; preds = %ehcleanup231 + %vtable.i.i.i5725 = load ptr, ptr %2390, align 8 + %vfn.i.i.i5726 = getelementptr inbounds ptr, ptr %vtable.i.i.i5725, i64 1 + %2391 = load ptr, ptr %vfn.i.i.i5726, align 8 call void %2391(ptr noundef nonnull align 8 dereferenceable(128) %2390) #30 - br label %_ZN7testing7MessageD2Ev.exit5721 + br label %_ZN7testing7MessageD2Ev.exit5727 -_ZN7testing7MessageD2Ev.exit5721: ; preds = %ehcleanup231, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5718 +_ZN7testing7MessageD2Ev.exit5727: ; preds = %ehcleanup231, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5724 store ptr null, ptr %ref.tmp217, align 8 br label %ehcleanup233 -if.end232: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit5716 - %message_.i5722 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_209, i64 0, i32 1 - %2392 = load ptr, ptr %message_.i5722, align 8 - %cmp.not.i.i5723 = icmp eq ptr %2392, null - br i1 %cmp.not.i.i5723, label %_ZN7testing15AssertionResultD2Ev.exit5725, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5724 +if.end232: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooKFivOES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit5722 + %message_.i5728 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_209, i64 0, i32 1 + %2392 = load ptr, ptr %message_.i5728, align 8 + %cmp.not.i.i5729 = icmp eq ptr %2392, null + br i1 %cmp.not.i.i5729, label %_ZN7testing15AssertionResultD2Ev.exit5731, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5730 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5724: ; preds = %if.end232 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5730: ; preds = %if.end232 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %2392) #30 call void @_ZdlPv(ptr noundef nonnull %2392) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit5725 + br label %_ZN7testing15AssertionResultD2Ev.exit5731 -_ZN7testing15AssertionResultD2Ev.exit5725: ; preds = %if.end232, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5724 - store ptr null, ptr %message_.i5722, align 8 +_ZN7testing15AssertionResultD2Ev.exit5731: ; preds = %if.end232, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5730 + store ptr null, ptr %message_.i5728, align 8 %2393 = getelementptr inbounds i8, ptr %ref.tmp235, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp235, i8 0, i64 16, i1 false) store i64 17, ptr %2393, align 8, !alias.scope !1629 - %this.repack3.i.i.i.i.i5727 = getelementptr inbounds i8, ptr %ref.tmp235, i64 24 - store i64 8, ptr %this.repack3.i.i.i.i.i5727, align 8, !alias.scope !1629 + %this.repack3.i.i.i.i.i5733 = getelementptr inbounds i8, ptr %ref.tmp235, i64 24 + store i64 8, ptr %this.repack3.i.i.i.i.i5733, align 8, !alias.scope !1629 %2394 = getelementptr inbounds i8, ptr %ref.tmp235, i64 32 store i64 17, ptr %2394, align 8, !alias.scope !1629 - %this.repack3.i.i.i.i5728 = getelementptr inbounds i8, ptr %ref.tmp235, i64 40 - store i64 0, ptr %this.repack3.i.i.i.i5728, align 8, !alias.scope !1629 - %call5.i.i.i.i5.i.i.i.i5729 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1632 - %add.ptr.i4.i.i.i.i5732 = getelementptr inbounds %"class.std::variant.728", ptr %call5.i.i.i.i5.i.i.i.i5729, i64 3 - store ptr %2394, ptr %call5.i.i.i.i5.i.i.i.i5729, align 8, !noalias !1632 - %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5733 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5729, i64 8 - store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5733, align 8, !noalias !1632 - %ref.tmp.sroa.36.0.call5.i.i.i.i5.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5729, i64 16 + %this.repack3.i.i.i.i5734 = getelementptr inbounds i8, ptr %ref.tmp235, i64 40 + store i64 0, ptr %this.repack3.i.i.i.i5734, align 8, !alias.scope !1629 + %call5.i.i.i.i5.i.i.i.i5735 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1632 + %add.ptr.i4.i.i.i.i5738 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5735, i64 48 + store ptr %2394, ptr %call5.i.i.i.i5.i.i.i.i5735, align 8, !noalias !1632 + %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5739 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5735, i64 8 + store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5739, align 8, !noalias !1632 + %ref.tmp.sroa.36.0.call5.i.i.i.i5.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5735, i64 16 store ptr %2393, ptr %ref.tmp.sroa.36.0.call5.i.i.i.i5.i.sroa_idx.i.i.i, align 8, !noalias !1632 - %ref.tmp.sroa.4.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5734 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5729, i64 24 - store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5734, align 8, !noalias !1632 - %ref.tmp.sroa.57.0.call5.i.i.i.i5.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5729, i64 32 + %ref.tmp.sroa.4.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5740 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5735, i64 24 + store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5740, align 8, !noalias !1632 + %ref.tmp.sroa.57.0.call5.i.i.i.i5.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5735, i64 32 store ptr %ref.tmp235, ptr %ref.tmp.sroa.57.0.call5.i.i.i.i5.i.sroa_idx.i.i.i, align 8, !noalias !1632 - %ref.tmp.sroa.6.0.call5.i.i.i.i5.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5729, i64 40 + %ref.tmp.sroa.6.0.call5.i.i.i.i5.i.sroa_idx.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5735, i64 40 store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i.sroa_idx.i.i.i, align 8, !noalias !1632 - invoke fastcc void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr noalias nonnull align 8 %gtest_ar_234, ptr nonnull %call5.i.i.i.i5.i.i.i.i5729, ptr nonnull %add.ptr.i4.i.i.i.i5732) - to label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit unwind label %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5735 + invoke fastcc void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr noalias nonnull align 8 %gtest_ar_234, ptr nonnull %call5.i.i.i.i5.i.i.i.i5735, ptr nonnull %add.ptr.i4.i.i.i.i5738) + to label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit unwind label %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5741 -_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5735: ; preds = %_ZN7testing15AssertionResultD2Ev.exit5725 +_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5741: ; preds = %_ZN7testing15AssertionResultD2Ev.exit5731 %2395 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i5729) #33 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i5735) #33 br label %common.resume -_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit5725 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i5729) #33 +_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit5731 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i5735) #33 %2396 = load i8, ptr %gtest_ar_234, align 8 %2397 = and i8 %2396, 1 - %tobool.i5736.not = icmp eq i8 %2397, 0 - br i1 %tobool.i5736.not, label %if.else241, label %if.end257 + %tobool.i5742.not = icmp eq i8 %2397, 0 + br i1 %tobool.i5742.not, label %if.else241, label %if.end257 -ehcleanup233: ; preds = %_ZN7testing7MessageD2Ev.exit5721, %lpad218 - %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %_ZN7testing7MessageD2Ev.exit5721 ], [ %2386, %lpad218 ] +ehcleanup233: ; preds = %_ZN7testing7MessageD2Ev.exit5727, %lpad218 + %.pn76.pn.pn = phi { ptr, i32 } [ %.pn76.pn, %_ZN7testing7MessageD2Ev.exit5727 ], [ %2386, %lpad218 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209) #30 br label %common.resume @@ -77730,17 +77744,17 @@ invoke.cont253: ; preds = %invoke.cont251 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp245) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp246) #30 %2398 = load ptr, ptr %ref.tmp242, align 8 - %cmp.not.i.i5737 = icmp eq ptr %2398, null - br i1 %cmp.not.i.i5737, label %_ZN7testing7MessageD2Ev.exit5741, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5738 + %cmp.not.i.i5743 = icmp eq ptr %2398, null + br i1 %cmp.not.i.i5743, label %_ZN7testing7MessageD2Ev.exit5747, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5744 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5738: ; preds = %invoke.cont253 - %vtable.i.i.i5739 = load ptr, ptr %2398, align 8 - %vfn.i.i.i5740 = getelementptr inbounds ptr, ptr %vtable.i.i.i5739, i64 1 - %2399 = load ptr, ptr %vfn.i.i.i5740, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5744: ; preds = %invoke.cont253 + %vtable.i.i.i5745 = load ptr, ptr %2398, align 8 + %vfn.i.i.i5746 = getelementptr inbounds ptr, ptr %vtable.i.i.i5745, i64 1 + %2399 = load ptr, ptr %vfn.i.i.i5746, align 8 call void %2399(ptr noundef nonnull align 8 dereferenceable(128) %2398) #30 - br label %_ZN7testing7MessageD2Ev.exit5741 + br label %_ZN7testing7MessageD2Ev.exit5747 -_ZN7testing7MessageD2Ev.exit5741: ; preds = %invoke.cont253, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5738 +_ZN7testing7MessageD2Ev.exit5747: ; preds = %invoke.cont253, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5744 store ptr null, ptr %ref.tmp242, align 8 br label %if.end257 @@ -77773,77 +77787,77 @@ ehcleanup255: ; preds = %lpad252, %lpad250 ehcleanup256: ; preds = %ehcleanup255, %lpad247 %.pn80.pn = phi { ptr, i32 } [ %.pn80, %ehcleanup255 ], [ %2401, %lpad247 ] %2404 = load ptr, ptr %ref.tmp242, align 8 - %cmp.not.i.i5742 = icmp eq ptr %2404, null - br i1 %cmp.not.i.i5742, label %_ZN7testing7MessageD2Ev.exit5746, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5743 + %cmp.not.i.i5748 = icmp eq ptr %2404, null + br i1 %cmp.not.i.i5748, label %_ZN7testing7MessageD2Ev.exit5752, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5749 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5743: ; preds = %ehcleanup256 - %vtable.i.i.i5744 = load ptr, ptr %2404, align 8 - %vfn.i.i.i5745 = getelementptr inbounds ptr, ptr %vtable.i.i.i5744, i64 1 - %2405 = load ptr, ptr %vfn.i.i.i5745, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5749: ; preds = %ehcleanup256 + %vtable.i.i.i5750 = load ptr, ptr %2404, align 8 + %vfn.i.i.i5751 = getelementptr inbounds ptr, ptr %vtable.i.i.i5750, i64 1 + %2405 = load ptr, ptr %vfn.i.i.i5751, align 8 call void %2405(ptr noundef nonnull align 8 dereferenceable(128) %2404) #30 - br label %_ZN7testing7MessageD2Ev.exit5746 + br label %_ZN7testing7MessageD2Ev.exit5752 -_ZN7testing7MessageD2Ev.exit5746: ; preds = %ehcleanup256, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5743 +_ZN7testing7MessageD2Ev.exit5752: ; preds = %ehcleanup256, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5749 store ptr null, ptr %ref.tmp242, align 8 br label %ehcleanup258 -if.end257: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit5741 - %message_.i5747 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_234, i64 0, i32 1 - %2406 = load ptr, ptr %message_.i5747, align 8 - %cmp.not.i.i5748 = icmp eq ptr %2406, null - br i1 %cmp.not.i.i5748, label %_ZN7testing15AssertionResultD2Ev.exit5750, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5749 +if.end257: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit, %_ZN7testing7MessageD2Ev.exit5747 + %message_.i5753 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_234, i64 0, i32 1 + %2406 = load ptr, ptr %message_.i5753, align 8 + %cmp.not.i.i5754 = icmp eq ptr %2406, null + br i1 %cmp.not.i.i5754, label %_ZN7testing15AssertionResultD2Ev.exit5756, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5755 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5749: ; preds = %if.end257 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5755: ; preds = %if.end257 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %2406) #30 call void @_ZdlPv(ptr noundef nonnull %2406) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit5750 + br label %_ZN7testing15AssertionResultD2Ev.exit5756 -_ZN7testing15AssertionResultD2Ev.exit5750: ; preds = %if.end257, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5749 - store ptr null, ptr %message_.i5747, align 8 +_ZN7testing15AssertionResultD2Ev.exit5756: ; preds = %if.end257, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5755 + store ptr null, ptr %message_.i5753, align 8 %2407 = getelementptr inbounds i8, ptr %ref.tmp260, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp260, i8 0, i64 16, i1 false) store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvEN4Bass1qEv to i64), ptr %2407, align 8, !alias.scope !1639 - %this.repack3.i.i.i.i.i5752 = getelementptr inbounds i8, ptr %ref.tmp260, i64 24 - store i64 8, ptr %this.repack3.i.i.i.i.i5752, align 8, !alias.scope !1639 + %this.repack3.i.i.i.i.i5758 = getelementptr inbounds i8, ptr %ref.tmp260, i64 24 + store i64 8, ptr %this.repack3.i.i.i.i.i5758, align 8, !alias.scope !1639 %2408 = getelementptr inbounds i8, ptr %ref.tmp260, i64 32 store i64 ptrtoint (ptr @_ZZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvEN4Bass1qEv to i64), ptr %2408, align 8, !alias.scope !1639 - %this.repack3.i.i.i.i5753 = getelementptr inbounds i8, ptr %ref.tmp260, i64 40 - store i64 0, ptr %this.repack3.i.i.i.i5753, align 8, !alias.scope !1639 - %call5.i.i.i.i5.i.i.i.i5754 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1642 - %add.ptr.i4.i.i.i.i5757 = getelementptr inbounds %"class.std::variant.728", ptr %call5.i.i.i.i5.i.i.i.i5754, i64 3 - store ptr %2408, ptr %call5.i.i.i.i5.i.i.i.i5754, align 8, !noalias !1642 - %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5758 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5754, i64 8 - store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5758, align 8, !noalias !1642 - %ref.tmp.sroa.36.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5759 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5754, i64 16 - store ptr %2407, ptr %ref.tmp.sroa.36.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5759, align 8, !noalias !1642 - %ref.tmp.sroa.4.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5760 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5754, i64 24 - store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5760, align 8, !noalias !1642 - %ref.tmp.sroa.57.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5761 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5754, i64 32 - store ptr %ref.tmp260, ptr %ref.tmp.sroa.57.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5761, align 8, !noalias !1642 - %ref.tmp.sroa.6.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5762 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5754, i64 40 - store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5762, align 8, !noalias !1642 - invoke fastcc void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr noalias nonnull align 8 %gtest_ar_259, ptr nonnull %call5.i.i.i.i5.i.i.i.i5754, ptr nonnull %add.ptr.i4.i.i.i.i5757) - to label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit5764 unwind label %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5763 - -_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5763: ; preds = %_ZN7testing15AssertionResultD2Ev.exit5750 + %this.repack3.i.i.i.i5759 = getelementptr inbounds i8, ptr %ref.tmp260, i64 40 + store i64 0, ptr %this.repack3.i.i.i.i5759, align 8, !alias.scope !1639 + %call5.i.i.i.i5.i.i.i.i5760 = call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !1642 + %add.ptr.i4.i.i.i.i5763 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5760, i64 48 + store ptr %2408, ptr %call5.i.i.i.i5.i.i.i.i5760, align 8, !noalias !1642 + %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5764 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5760, i64 8 + store i8 0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5764, align 8, !noalias !1642 + %ref.tmp.sroa.36.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5765 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5760, i64 16 + store ptr %2407, ptr %ref.tmp.sroa.36.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5765, align 8, !noalias !1642 + %ref.tmp.sroa.4.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5766 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5760, i64 24 + store i8 0, ptr %ref.tmp.sroa.4.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5766, align 8, !noalias !1642 + %ref.tmp.sroa.57.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5767 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5760, i64 32 + store ptr %ref.tmp260, ptr %ref.tmp.sroa.57.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5767, align 8, !noalias !1642 + %ref.tmp.sroa.6.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5768 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i5760, i64 40 + store i8 0, ptr %ref.tmp.sroa.6.0.call5.i.i.i.i5.i.sroa_idx.i.i.i5768, align 8, !noalias !1642 + invoke fastcc void @_ZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS0_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_(ptr noalias nonnull align 8 %gtest_ar_259, ptr nonnull %call5.i.i.i.i5.i.i.i.i5760, ptr nonnull %add.ptr.i4.i.i.i.i5763) + to label %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit5770 unwind label %_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5769 + +_ZNSt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaIS8_EED2Ev.exit8.i5769: ; preds = %_ZN7testing15AssertionResultD2Ev.exit5756 %2409 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i5754) #33 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i5760) #33 br label %common.resume -_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit5764: ; preds = %_ZN7testing15AssertionResultD2Ev.exit5750 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i5754) #33 +_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit5770: ; preds = %_ZN7testing15AssertionResultD2Ev.exit5756 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i5.i.i.i.i5760) #33 %2410 = load i8, ptr %gtest_ar_259, align 8 %2411 = and i8 %2410, 1 - %tobool.i5765.not = icmp eq i8 %2411, 0 - br i1 %tobool.i5765.not, label %if.else268, label %if.end284 + %tobool.i5771.not = icmp eq i8 %2411, 0 + br i1 %tobool.i5771.not, label %if.else268, label %if.end284 -ehcleanup258: ; preds = %_ZN7testing7MessageD2Ev.exit5746, %lpad243 - %.pn80.pn.pn = phi { ptr, i32 } [ %.pn80.pn, %_ZN7testing7MessageD2Ev.exit5746 ], [ %2400, %lpad243 ] +ehcleanup258: ; preds = %_ZN7testing7MessageD2Ev.exit5752, %lpad243 + %.pn80.pn.pn = phi { ptr, i32 } [ %.pn80.pn, %_ZN7testing7MessageD2Ev.exit5752 ], [ %2400, %lpad243 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_234) #30 br label %common.resume -if.else268: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit5764 +if.else268: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit5770 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp269) to label %invoke.cont271 unwind label %lpad270 @@ -77864,17 +77878,17 @@ invoke.cont280: ; preds = %invoke.cont278 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp272) #30 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp273) #30 %2412 = load ptr, ptr %ref.tmp269, align 8 - %cmp.not.i.i5766 = icmp eq ptr %2412, null - br i1 %cmp.not.i.i5766, label %_ZN7testing7MessageD2Ev.exit5770, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5767 + %cmp.not.i.i5772 = icmp eq ptr %2412, null + br i1 %cmp.not.i.i5772, label %_ZN7testing7MessageD2Ev.exit5776, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5773 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5767: ; preds = %invoke.cont280 - %vtable.i.i.i5768 = load ptr, ptr %2412, align 8 - %vfn.i.i.i5769 = getelementptr inbounds ptr, ptr %vtable.i.i.i5768, i64 1 - %2413 = load ptr, ptr %vfn.i.i.i5769, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5773: ; preds = %invoke.cont280 + %vtable.i.i.i5774 = load ptr, ptr %2412, align 8 + %vfn.i.i.i5775 = getelementptr inbounds ptr, ptr %vtable.i.i.i5774, i64 1 + %2413 = load ptr, ptr %vfn.i.i.i5775, align 8 call void %2413(ptr noundef nonnull align 8 dereferenceable(128) %2412) #30 - br label %_ZN7testing7MessageD2Ev.exit5770 + br label %_ZN7testing7MessageD2Ev.exit5776 -_ZN7testing7MessageD2Ev.exit5770: ; preds = %invoke.cont280, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5767 +_ZN7testing7MessageD2Ev.exit5776: ; preds = %invoke.cont280, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5773 store ptr null, ptr %ref.tmp269, align 8 br label %if.end284 @@ -77907,36 +77921,36 @@ ehcleanup282: ; preds = %lpad279, %lpad277 ehcleanup283: ; preds = %ehcleanup282, %lpad274 %.pn84.pn = phi { ptr, i32 } [ %.pn84, %ehcleanup282 ], [ %2415, %lpad274 ] %2418 = load ptr, ptr %ref.tmp269, align 8 - %cmp.not.i.i5771 = icmp eq ptr %2418, null - br i1 %cmp.not.i.i5771, label %_ZN7testing7MessageD2Ev.exit5775, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5772 + %cmp.not.i.i5777 = icmp eq ptr %2418, null + br i1 %cmp.not.i.i5777, label %_ZN7testing7MessageD2Ev.exit5781, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5778 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5772: ; preds = %ehcleanup283 - %vtable.i.i.i5773 = load ptr, ptr %2418, align 8 - %vfn.i.i.i5774 = getelementptr inbounds ptr, ptr %vtable.i.i.i5773, i64 1 - %2419 = load ptr, ptr %vfn.i.i.i5774, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5778: ; preds = %ehcleanup283 + %vtable.i.i.i5779 = load ptr, ptr %2418, align 8 + %vfn.i.i.i5780 = getelementptr inbounds ptr, ptr %vtable.i.i.i5779, i64 1 + %2419 = load ptr, ptr %vfn.i.i.i5780, align 8 call void %2419(ptr noundef nonnull align 8 dereferenceable(128) %2418) #30 - br label %_ZN7testing7MessageD2Ev.exit5775 + br label %_ZN7testing7MessageD2Ev.exit5781 -_ZN7testing7MessageD2Ev.exit5775: ; preds = %ehcleanup283, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5772 +_ZN7testing7MessageD2Ev.exit5781: ; preds = %ehcleanup283, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5778 store ptr null, ptr %ref.tmp269, align 8 br label %ehcleanup285 -if.end284: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit5764, %_ZN7testing7MessageD2Ev.exit5770 - %message_.i5776 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_259, i64 0, i32 1 - %2420 = load ptr, ptr %message_.i5776, align 8 - %cmp.not.i.i5777 = icmp eq ptr %2420, null - br i1 %cmp.not.i.i5777, label %_ZN7testing15AssertionResultD2Ev.exit5779, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5778 +if.end284: ; preds = %_ZN4absl37VerifyTypeImplementsAbslHashCorrectlyITpTnRiJESt5tupleIJMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvES7_S7_EEEEN7testing15AssertionResultERKT0_.exit5770, %_ZN7testing7MessageD2Ev.exit5776 + %message_.i5782 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_259, i64 0, i32 1 + %2420 = load ptr, ptr %message_.i5782, align 8 + %cmp.not.i.i5783 = icmp eq ptr %2420, null + br i1 %cmp.not.i.i5783, label %_ZN7testing15AssertionResultD2Ev.exit5785, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5784 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5778: ; preds = %if.end284 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5784: ; preds = %if.end284 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %2420) #30 call void @_ZdlPv(ptr noundef nonnull %2420) #33 - br label %_ZN7testing15AssertionResultD2Ev.exit5779 + br label %_ZN7testing15AssertionResultD2Ev.exit5785 -_ZN7testing15AssertionResultD2Ev.exit5779: ; preds = %if.end284, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5778 +_ZN7testing15AssertionResultD2Ev.exit5785: ; preds = %if.end284, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i5784 ret void -ehcleanup285: ; preds = %_ZN7testing7MessageD2Ev.exit5775, %lpad270 - %.pn84.pn.pn = phi { ptr, i32 } [ %.pn84.pn, %_ZN7testing7MessageD2Ev.exit5775 ], [ %2414, %lpad270 ] +ehcleanup285: ; preds = %_ZN7testing7MessageD2Ev.exit5781, %lpad270 + %.pn84.pn.pn = phi { ptr, i32 } [ %.pn84.pn, %_ZN7testing7MessageD2Ev.exit5781 ], [ %2414, %lpad270 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_259) #30 br label %common.resume } @@ -82140,23 +82154,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.045, ptr %add.ptr.i.i.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i, i64 8 store i64 %i.046, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx, align 8 - %cmp.i.i.i13.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i13.i.i.i, label %if.then.i.i.i14.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i + %cmp.i.i.i13.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i13.i.i.i, label %if.then.i.i.i14.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i if.then.i.i.i14.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i, ptr align 8 %this.val.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i: ; preds = %if.then.i.i.i14.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.755, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i: ; preds = %if.then.i.i.i14.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.755, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %this.val.i.i.i, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i23.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, label %if.then.i22.i.i.i -if.then.i23.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i +if.then.i22.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i23.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit22.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i: ; preds = %if.then.i22.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_S_relocateEPSL_SO_SO_RSM_.exit21.i.i.i store ptr %cond.i12.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.755, ptr %cond.i12.i.i.i, i64 %cond.i.i.i.i @@ -82164,7 +82179,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i, %if.then.i.i - %11 = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %10, %if.then.i.i ] + %11 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKMZN12_GLOBAL__N_134HashValueTest_PointerToMember_Test8TestBodyEvE3FooFvvEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE17_M_realloc_insertIJSL_EEEvN9__gnu_cxx17__normal_iteratorIPSL_SN_EEDpOT_.exit.i.i ], [ %10, %if.then.i.i ] %inc = add i64 %i.046, 1 %call28.val = load ptr, ptr %11, align 8 %call28.val.val = load ptr, ptr %call28.val, align 8 @@ -96275,7 +96290,7 @@ if.end: tail call void @llvm.experimental.noalias.scope.decl(metadata !2130) %call5.i.i.i.i2.i.i.i.i = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #34, !noalias !2133 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !2136, !noalias !2137 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.1137", ptr %call5.i.i.i.i2.i.i.i.i, i64 6 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 96 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !2136, !noalias !2137 store ptr %4, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !2133 @@ -96447,7 +96462,7 @@ _ZN7testing15AssertionResultD2Ev.exit122: ; preds = %if.end120, %_ZNKSt1 call void @llvm.experimental.noalias.scope.decl(metadata !2144) %call5.i.i.i.i2.i.i.i.i125 = call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #34, !noalias !2147 store ptr %call5.i.i.i.i2.i.i.i.i125, ptr %ref.tmp.i124, align 8, !alias.scope !2150, !noalias !2151 - %add.ptr.i1.i.i.i.i127 = getelementptr inbounds %"class.std::variant.1192", ptr %call5.i.i.i.i2.i.i.i.i125, i64 7 + %add.ptr.i1.i.i.i.i127 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i125, i64 112 %_M_end_of_storage.i.i.i.i.i128 = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i124, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i127, ptr %_M_end_of_storage.i.i.i.i.i128, align 8, !alias.scope !2150, !noalias !2151 store ptr %27, ptr %call5.i.i.i.i2.i.i.i.i125, align 8, !noalias !2147 @@ -96633,7 +96648,7 @@ _ZN7testing15AssertionResultD2Ev.exit156: ; preds = %if.end170, %_ZNKSt1 call void @llvm.experimental.noalias.scope.decl(metadata !2158) %call5.i.i.i.i2.i.i.i.i162 = call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #34, !noalias !2161 store ptr %call5.i.i.i.i2.i.i.i.i162, ptr %ref.tmp.i161, align 8, !alias.scope !2164, !noalias !2165 - %add.ptr.i1.i.i.i.i165 = getelementptr inbounds %"class.std::variant.1251", ptr %call5.i.i.i.i2.i.i.i.i162, i64 4 + %add.ptr.i1.i.i.i.i165 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i162, i64 64 %_M_end_of_storage.i.i.i.i.i166 = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i161, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i165, ptr %_M_end_of_storage.i.i.i.i.i166, align 8, !alias.scope !2164, !noalias !2165 store ptr %51, ptr %call5.i.i.i.i2.i.i.i.i162, align 8, !noalias !2161 @@ -96867,7 +96882,7 @@ _ZN7testing15AssertionResultD2Ev.exit192: ; preds = %if.end196, %_ZNKSt1 call void @llvm.experimental.noalias.scope.decl(metadata !2172) %call5.i.i.i.i2.i.i.i.i208 = call noalias noundef nonnull dereferenceable(112) ptr @_Znwm(i64 noundef 112) #34, !noalias !2175 store ptr %call5.i.i.i.i2.i.i.i.i208, ptr %ref.tmp.i207, align 8, !alias.scope !2178, !noalias !2179 - %add.ptr.i1.i.i.i.i215 = getelementptr inbounds %"class.std::variant.1306", ptr %call5.i.i.i.i2.i.i.i.i208, i64 7 + %add.ptr.i1.i.i.i.i215 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i208, i64 112 %_M_end_of_storage.i.i.i.i.i216 = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i207, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i215, ptr %_M_end_of_storage.i.i.i.i.i216, align 8, !alias.scope !2178, !noalias !2179 store ptr %102, ptr %call5.i.i.i.i2.i.i.i.i208, align 8, !noalias !2175 @@ -97246,23 +97261,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt4pairIiiEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt4pairIiiEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1164, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt4pairIiiEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1164, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1164, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -97270,7 +97286,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, %if.then.i.i - %21 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %19, %if.then.i.i ] + %21 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt4pairIiiEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %19, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %22 = load ptr, ptr %21, align 8, !noalias !2180 @@ -103267,23 +103283,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJiiiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJiiiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1219, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJiiiEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1219, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1219, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -103291,7 +103308,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, %if.then.i.i - %23 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] + %23 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiiiEEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %24 = load ptr, ptr %23, align 8, !noalias !2411 @@ -110091,23 +110108,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJRiS6_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJRiS6_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1278, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJRiS6_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1278, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1278, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -110115,7 +110133,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, %if.then.i.i - %23 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] + %23 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJRiS5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %24 = load ptr, ptr %23, align 8, !noalias !2642 @@ -116245,23 +116263,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJOiS6_S6_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJOiS6_S6_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1333, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJOiS6_S6_EEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1333, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1333, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -116269,7 +116288,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, %if.then.i.i - %27 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %25, %if.then.i.i ] + %27 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJOiS5_S5_EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %25, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %28 = load ptr, ptr %27, align 8, !noalias !2876 @@ -122910,7 +122929,7 @@ entry: %ref.tmp29 = alloca %"class.testing::internal::AssertHelper", align 8 %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #34 store ptr %call5.i.i.i.i2.i, ptr %v1, align 8 - %add.ptr.i1.i = getelementptr inbounds %"class.std::tuple.1353", ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %v1, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 1, ptr %call5.i.i.i.i2.i, align 4 @@ -122929,14 +122948,14 @@ lpad.i9: ; preds = %entry invoke.cont19: ; preds = %entry store ptr %call5.i.i.i.i2.i8, ptr %v2, align 8 - %add.ptr.i1.i13 = getelementptr inbounds %"class.std::tuple.1353", ptr %call5.i.i.i.i2.i8, i64 2 + %add.ptr.i1.i13 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i8, i64 8 %_M_end_of_storage.i.i14 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %v2, i64 0, i32 2 store ptr %add.ptr.i1.i13, ptr %_M_end_of_storage.i.i14, align 8 store i32 1, ptr %call5.i.i.i.i2.i8, align 4 %ref.tmp6.sroa.2.0.call5.i.i.i.i2.i8.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i8, i64 4 store i32 2, ptr %ref.tmp6.sroa.2.0.call5.i.i.i.i2.i8.sroa_idx, align 4 - %_M_finish.i.i16 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %v2, i64 0, i32 1 - store ptr %add.ptr.i1.i13, ptr %_M_finish.i.i16, align 8 + %_M_finish.i.i15 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %v2, i64 0, i32 1 + store ptr %add.ptr.i1.i13, ptr %_M_finish.i.i15, align 8 invoke fastcc void @_ZN12_GLOBAL__N_17SpyHashISt6vectorISt5tupleIJiEESaIS3_EEEEN4absl13hash_internal16SpyHashStateImplIvEERKT_(ptr noalias nonnull align 8 %vh1, ptr noundef nonnull align 8 dereferenceable(24) %v1) to label %invoke.cont21 unwind label %lpad20 @@ -122945,11 +122964,11 @@ invoke.cont21: ; preds = %invoke.cont19 to label %invoke.cont23 unwind label %lpad22 invoke.cont23: ; preds = %invoke.cont21 - %call.i.i.i19 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %vh1, ptr noundef nonnull align 8 dereferenceable(24) %vh2) + %call.i.i.i18 = invoke noundef zeroext i1 @_ZSteqINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEbRKSt6vectorIT_T0_ESC_(ptr noundef nonnull align 8 dereferenceable(24) %vh1, ptr noundef nonnull align 8 dereferenceable(24) %vh2) to label %call.i.i.i.noexc unwind label %lpad24 call.i.i.i.noexc: ; preds = %invoke.cont23 - br i1 %call.i.i.i19, label %if.else.i, label %if.then.i + br i1 %call.i.i.i18, label %if.else.i, label %if.then.i if.then.i: ; preds = %call.i.i.i.noexc invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar) @@ -123039,25 +123058,25 @@ lpad34: ; preds = %invoke.cont33 ehcleanup: ; preds = %lpad34, %lpad30 %.pn = phi { ptr, i32 } [ %11, %lpad34 ], [ %10, %lpad30 ] %12 = load ptr, ptr %ref.tmp26, align 8 - %cmp.not.i.i21 = icmp eq ptr %12, null - br i1 %cmp.not.i.i21, label %_ZN7testing7MessageD2Ev.exit25, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22 + %cmp.not.i.i20 = icmp eq ptr %12, null + br i1 %cmp.not.i.i20, label %_ZN7testing7MessageD2Ev.exit24, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22: ; preds = %ehcleanup - %vtable.i.i.i23 = load ptr, ptr %12, align 8 - %vfn.i.i.i24 = getelementptr inbounds ptr, ptr %vtable.i.i.i23, i64 1 - %13 = load ptr, ptr %vfn.i.i.i24, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21: ; preds = %ehcleanup + %vtable.i.i.i22 = load ptr, ptr %12, align 8 + %vfn.i.i.i23 = getelementptr inbounds ptr, ptr %vtable.i.i.i22, i64 1 + %13 = load ptr, ptr %vfn.i.i.i23, align 8 call void %13(ptr noundef nonnull align 8 dereferenceable(128) %12) #30 - br label %_ZN7testing7MessageD2Ev.exit25 + br label %_ZN7testing7MessageD2Ev.exit24 -_ZN7testing7MessageD2Ev.exit25: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i22 +_ZN7testing7MessageD2Ev.exit24: ; preds = %ehcleanup, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i21 store ptr null, ptr %ref.tmp26, align 8 br label %ehcleanup36 if.end: ; preds = %invoke.cont25, %_ZN7testing7MessageD2Ev.exit %message_.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %14 = load ptr, ptr %message_.i, align 8 - %cmp.not.i.i26 = icmp eq ptr %14, null - br i1 %cmp.not.i.i26, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i + %cmp.not.i.i25 = icmp eq ptr %14, null + br i1 %cmp.not.i.i25, label %_ZN7testing15AssertionResultD2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i: ; preds = %if.end call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #30 @@ -123141,8 +123160,8 @@ if.end8.sink.split.i.i.i.i.i: ; preds = %_ZN9__gnu_cxx27__ex _ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i: ; preds = %if.end8.sink.split.i.i.i.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit %26 = load ptr, ptr %vh2, align 8 - %_M_finish.i.i27 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %vh2, i64 0, i32 1 - %27 = load ptr, ptr %_M_finish.i.i27, align 8 + %_M_finish.i.i26 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %vh2, i64 0, i32 1 + %27 = load ptr, ptr %_M_finish.i.i26, align 8 %cmp.not3.i.i.i.i.i = icmp eq ptr %26, %27 br i1 %cmp.not3.i.i.i.i.i, label %invoke.cont.i.i, label %for.body.i.i.i.i.i @@ -123167,129 +123186,129 @@ if.then.i.i.i1.i: ; preds = %invoke.cont.i.i br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit _ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit: ; preds = %invoke.cont.i.i, %if.then.i.i.i1.i - %_M_refcount.i.i.i28 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %vh1, i64 0, i32 1, i32 0, i32 1 - %29 = load ptr, ptr %_M_refcount.i.i.i28, align 8 - %cmp.not.i.i.i.i29 = icmp eq ptr %29, null - br i1 %cmp.not.i.i.i.i29, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40, label %if.then.i.i.i.i30 - -if.then.i.i.i.i30: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit - %_M_use_count.i.i.i.i.i31 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %29, i64 0, i32 1 - %30 = load atomic i64, ptr %_M_use_count.i.i.i.i.i31 acquire, align 8 - %cmp.i.i.i.i.i32 = icmp eq i64 %30, 4294967297 + %_M_refcount.i.i.i27 = getelementptr inbounds %"class.absl::hash_internal::SpyHashStateImpl", ptr %vh1, i64 0, i32 1, i32 0, i32 1 + %29 = load ptr, ptr %_M_refcount.i.i.i27, align 8 + %cmp.not.i.i.i.i28 = icmp eq ptr %29, null + br i1 %cmp.not.i.i.i.i28, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39, label %if.then.i.i.i.i29 + +if.then.i.i.i.i29: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit + %_M_use_count.i.i.i.i.i30 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %29, i64 0, i32 1 + %30 = load atomic i64, ptr %_M_use_count.i.i.i.i.i30 acquire, align 8 + %cmp.i.i.i.i.i31 = icmp eq i64 %30, 4294967297 %31 = trunc i64 %30 to i32 - br i1 %cmp.i.i.i.i.i32, label %if.then.i.i.i.i.i67, label %if.end.i.i.i.i.i33 - -if.then.i.i.i.i.i67: ; preds = %if.then.i.i.i.i30 - store i32 0, ptr %_M_use_count.i.i.i.i.i31, align 8 - %_M_weak_count.i.i.i.i.i68 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %29, i64 0, i32 2 - store i32 0, ptr %_M_weak_count.i.i.i.i.i68, align 4 - %vtable.i.i.i.i.i69 = load ptr, ptr %29, align 8 - %vfn.i.i.i.i.i70 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i69, i64 2 - %32 = load ptr, ptr %vfn.i.i.i.i.i70, align 8 + br i1 %cmp.i.i.i.i.i31, label %if.then.i.i.i.i.i66, label %if.end.i.i.i.i.i32 + +if.then.i.i.i.i.i66: ; preds = %if.then.i.i.i.i29 + store i32 0, ptr %_M_use_count.i.i.i.i.i30, align 8 + %_M_weak_count.i.i.i.i.i67 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %29, i64 0, i32 2 + store i32 0, ptr %_M_weak_count.i.i.i.i.i67, align 4 + %vtable.i.i.i.i.i68 = load ptr, ptr %29, align 8 + %vfn.i.i.i.i.i69 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i68, i64 2 + %32 = load ptr, ptr %vfn.i.i.i.i.i69, align 8 call void %32(ptr noundef nonnull align 8 dereferenceable(16) %29) #30 - br label %if.end8.sink.split.i.i.i.i.i62 + br label %if.end8.sink.split.i.i.i.i.i61 -if.end.i.i.i.i.i33: ; preds = %if.then.i.i.i.i30 +if.end.i.i.i.i.i32: ; preds = %if.then.i.i.i.i29 %33 = load i8, ptr @__libc_single_threaded, align 1 - %tobool.i.i.not.i.i.i.i.i34 = icmp eq i8 %33, 0 - br i1 %tobool.i.i.not.i.i.i.i.i34, label %if.else.i.i.i.i.i.i66, label %if.then.i.i.i.i.i.i35 - -if.then.i.i.i.i.i.i35: ; preds = %if.end.i.i.i.i.i33 - %add.i.i.i.i.i.i36 = add nsw i32 %31, -1 - store i32 %add.i.i.i.i.i.i36, ptr %_M_use_count.i.i.i.i.i31, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i37 - -if.else.i.i.i.i.i.i66: ; preds = %if.end.i.i.i.i.i33 - %34 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i31, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i37 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i37: ; preds = %if.else.i.i.i.i.i.i66, %if.then.i.i.i.i.i.i35 - %retval.i.0.i.i.i.i.i38 = phi i32 [ %31, %if.then.i.i.i.i.i.i35 ], [ %34, %if.else.i.i.i.i.i.i66 ] - %cmp6.i.i.i.i.i39 = icmp eq i32 %retval.i.0.i.i.i.i.i38, 1 - br i1 %cmp6.i.i.i.i.i39, label %if.then7.i.i.i.i.i52, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40 - -if.then7.i.i.i.i.i52: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i37 - %vtable.i.i.i.i.i.i.i53 = load ptr, ptr %29, align 8 - %vfn.i.i.i.i.i.i.i54 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i53, i64 2 - %35 = load ptr, ptr %vfn.i.i.i.i.i.i.i54, align 8 + %tobool.i.i.not.i.i.i.i.i33 = icmp eq i8 %33, 0 + br i1 %tobool.i.i.not.i.i.i.i.i33, label %if.else.i.i.i.i.i.i65, label %if.then.i.i.i.i.i.i34 + +if.then.i.i.i.i.i.i34: ; preds = %if.end.i.i.i.i.i32 + %add.i.i.i.i.i.i35 = add nsw i32 %31, -1 + store i32 %add.i.i.i.i.i.i35, ptr %_M_use_count.i.i.i.i.i30, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i36 + +if.else.i.i.i.i.i.i65: ; preds = %if.end.i.i.i.i.i32 + %34 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i30, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i36 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i36: ; preds = %if.else.i.i.i.i.i.i65, %if.then.i.i.i.i.i.i34 + %retval.i.0.i.i.i.i.i37 = phi i32 [ %31, %if.then.i.i.i.i.i.i34 ], [ %34, %if.else.i.i.i.i.i.i65 ] + %cmp6.i.i.i.i.i38 = icmp eq i32 %retval.i.0.i.i.i.i.i37, 1 + br i1 %cmp6.i.i.i.i.i38, label %if.then7.i.i.i.i.i51, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39 + +if.then7.i.i.i.i.i51: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i36 + %vtable.i.i.i.i.i.i.i52 = load ptr, ptr %29, align 8 + %vfn.i.i.i.i.i.i.i53 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i.i.i.i52, i64 2 + %35 = load ptr, ptr %vfn.i.i.i.i.i.i.i53, align 8 call void %35(ptr noundef nonnull align 8 dereferenceable(16) %29) #30 - %_M_weak_count.i.i.i.i.i.i.i55 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %29, i64 0, i32 2 + %_M_weak_count.i.i.i.i.i.i.i54 = getelementptr inbounds %"class.std::_Sp_counted_base", ptr %29, i64 0, i32 2 %36 = load i8, ptr @__libc_single_threaded, align 1 - %tobool.i.i.not.i.i.i.i.i.i.i56 = icmp eq i8 %36, 0 - br i1 %tobool.i.i.not.i.i.i.i.i.i.i56, label %if.else.i.i.i.i.i.i.i.i65, label %if.then.i.i.i.i.i.i.i.i57 - -if.then.i.i.i.i.i.i.i.i57: ; preds = %if.then7.i.i.i.i.i52 - %37 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i55, align 4 - %add.i.i.i.i.i.i.i.i58 = add nsw i32 %37, -1 - store i32 %add.i.i.i.i.i.i.i.i58, ptr %_M_weak_count.i.i.i.i.i.i.i55, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i59 - -if.else.i.i.i.i.i.i.i.i65: ; preds = %if.then7.i.i.i.i.i52 - %38 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i55, i32 -1 acq_rel, align 4 - br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i59 - -_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i59: ; preds = %if.else.i.i.i.i.i.i.i.i65, %if.then.i.i.i.i.i.i.i.i57 - %retval.i.0.i.i.i.i.i.i.i60 = phi i32 [ %37, %if.then.i.i.i.i.i.i.i.i57 ], [ %38, %if.else.i.i.i.i.i.i.i.i65 ] - %cmp.i.i.i.i.i.i.i61 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i60, 1 - br i1 %cmp.i.i.i.i.i.i.i61, label %if.end8.sink.split.i.i.i.i.i62, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40 - -if.end8.sink.split.i.i.i.i.i62: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i59, %if.then.i.i.i.i.i67 - %vtable2.i.i.i.i.i.i.i63 = load ptr, ptr %29, align 8 - %vfn3.i.i.i.i.i.i.i64 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i63, i64 3 - %39 = load ptr, ptr %vfn3.i.i.i.i.i.i.i64, align 8 + %tobool.i.i.not.i.i.i.i.i.i.i55 = icmp eq i8 %36, 0 + br i1 %tobool.i.i.not.i.i.i.i.i.i.i55, label %if.else.i.i.i.i.i.i.i.i64, label %if.then.i.i.i.i.i.i.i.i56 + +if.then.i.i.i.i.i.i.i.i56: ; preds = %if.then7.i.i.i.i.i51 + %37 = load i32, ptr %_M_weak_count.i.i.i.i.i.i.i54, align 4 + %add.i.i.i.i.i.i.i.i57 = add nsw i32 %37, -1 + store i32 %add.i.i.i.i.i.i.i.i57, ptr %_M_weak_count.i.i.i.i.i.i.i54, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i58 + +if.else.i.i.i.i.i.i.i.i64: ; preds = %if.then7.i.i.i.i.i51 + %38 = atomicrmw volatile add ptr %_M_weak_count.i.i.i.i.i.i.i54, i32 -1 acq_rel, align 4 + br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i58 + +_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i58: ; preds = %if.else.i.i.i.i.i.i.i.i64, %if.then.i.i.i.i.i.i.i.i56 + %retval.i.0.i.i.i.i.i.i.i59 = phi i32 [ %37, %if.then.i.i.i.i.i.i.i.i56 ], [ %38, %if.else.i.i.i.i.i.i.i.i64 ] + %cmp.i.i.i.i.i.i.i60 = icmp eq i32 %retval.i.0.i.i.i.i.i.i.i59, 1 + br i1 %cmp.i.i.i.i.i.i.i60, label %if.end8.sink.split.i.i.i.i.i61, label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39 + +if.end8.sink.split.i.i.i.i.i61: ; preds = %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i58, %if.then.i.i.i.i.i66 + %vtable2.i.i.i.i.i.i.i62 = load ptr, ptr %29, align 8 + %vfn3.i.i.i.i.i.i.i63 = getelementptr inbounds ptr, ptr %vtable2.i.i.i.i.i.i.i62, i64 3 + %39 = load ptr, ptr %vfn3.i.i.i.i.i.i.i63, align 8 call void %39(ptr noundef nonnull align 8 dereferenceable(16) %29) #30 - br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40 + br label %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39 -_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40: ; preds = %if.end8.sink.split.i.i.i.i.i62, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i59, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i37, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit +_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39: ; preds = %if.end8.sink.split.i.i.i.i.i61, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i.i.i58, %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i36, %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit %40 = load ptr, ptr %vh1, align 8 - %_M_finish.i.i41 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %vh1, i64 0, i32 1 - %41 = load ptr, ptr %_M_finish.i.i41, align 8 - %cmp.not3.i.i.i.i.i42 = icmp eq ptr %40, %41 - br i1 %cmp.not3.i.i.i.i.i42, label %invoke.cont.i.i49, label %for.body.i.i.i.i.i43 - -for.body.i.i.i.i.i43: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40, %for.body.i.i.i.i.i43 - %__first.addr.04.i.i.i.i.i44 = phi ptr [ %incdec.ptr.i.i.i.i.i45, %for.body.i.i.i.i.i43 ], [ %40, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40 ] - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i44) #30 - %incdec.ptr.i.i.i.i.i45 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i44, i64 1 - %cmp.not.i.i.i.i.i46 = icmp eq ptr %incdec.ptr.i.i.i.i.i45, %41 - br i1 %cmp.not.i.i.i.i.i46, label %invoke.contthread-pre-split.i.i47, label %for.body.i.i.i.i.i43, !llvm.loop !8 - -invoke.contthread-pre-split.i.i47: ; preds = %for.body.i.i.i.i.i43 - %.pr.i.i48 = load ptr, ptr %vh1, align 8 - br label %invoke.cont.i.i49 - -invoke.cont.i.i49: ; preds = %invoke.contthread-pre-split.i.i47, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40 - %42 = phi ptr [ %.pr.i.i48, %invoke.contthread-pre-split.i.i47 ], [ %40, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i40 ] - %tobool.not.i.i.i.i50 = icmp eq ptr %42, null - br i1 %tobool.not.i.i.i.i50, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit71, label %if.then.i.i.i1.i51 - -if.then.i.i.i1.i51: ; preds = %invoke.cont.i.i49 + %_M_finish.i.i40 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %vh1, i64 0, i32 1 + %41 = load ptr, ptr %_M_finish.i.i40, align 8 + %cmp.not3.i.i.i.i.i41 = icmp eq ptr %40, %41 + br i1 %cmp.not3.i.i.i.i.i41, label %invoke.cont.i.i48, label %for.body.i.i.i.i.i42 + +for.body.i.i.i.i.i42: ; preds = %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39, %for.body.i.i.i.i.i42 + %__first.addr.04.i.i.i.i.i43 = phi ptr [ %incdec.ptr.i.i.i.i.i44, %for.body.i.i.i.i.i42 ], [ %40, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39 ] + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i43) #30 + %incdec.ptr.i.i.i.i.i44 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i43, i64 1 + %cmp.not.i.i.i.i.i45 = icmp eq ptr %incdec.ptr.i.i.i.i.i44, %41 + br i1 %cmp.not.i.i.i.i.i45, label %invoke.contthread-pre-split.i.i46, label %for.body.i.i.i.i.i42, !llvm.loop !8 + +invoke.contthread-pre-split.i.i46: ; preds = %for.body.i.i.i.i.i42 + %.pr.i.i47 = load ptr, ptr %vh1, align 8 + br label %invoke.cont.i.i48 + +invoke.cont.i.i48: ; preds = %invoke.contthread-pre-split.i.i46, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39 + %42 = phi ptr [ %.pr.i.i47, %invoke.contthread-pre-split.i.i46 ], [ %40, %_ZNSt10shared_ptrISt8optionalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev.exit.i39 ] + %tobool.not.i.i.i.i49 = icmp eq ptr %42, null + br i1 %tobool.not.i.i.i.i49, label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit70, label %if.then.i.i.i1.i50 + +if.then.i.i.i1.i50: ; preds = %invoke.cont.i.i48 call void @_ZdlPv(ptr noundef nonnull %42) #33 - br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit71 + br label %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit70 -_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit71: ; preds = %invoke.cont.i.i49, %if.then.i.i.i1.i51 +_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit70: ; preds = %invoke.cont.i.i48, %if.then.i.i.i1.i50 %43 = load ptr, ptr %v2, align 8 - %tobool.not.i.i.i72 = icmp eq ptr %43, null - br i1 %tobool.not.i.i.i72, label %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit, label %if.then.i.i.i + %tobool.not.i.i.i71 = icmp eq ptr %43, null + br i1 %tobool.not.i.i.i71, label %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit71 +if.then.i.i.i: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit70 call void @_ZdlPv(ptr noundef nonnull %43) #33 br label %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit -_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit71, %if.then.i.i.i +_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit: ; preds = %_ZN4absl13hash_internal16SpyHashStateImplIvED2Ev.exit70, %if.then.i.i.i %44 = load ptr, ptr %v1, align 8 - %tobool.not.i.i.i74 = icmp eq ptr %44, null - br i1 %tobool.not.i.i.i74, label %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit77, label %if.then.i.i.i75 + %tobool.not.i.i.i73 = icmp eq ptr %44, null + br i1 %tobool.not.i.i.i73, label %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit76, label %if.then.i.i.i74 -if.then.i.i.i75: ; preds = %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit +if.then.i.i.i74: ; preds = %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit call void @_ZdlPv(ptr noundef nonnull %44) #33 - br label %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit77 + br label %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit76 -_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit77: ; preds = %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit, %if.then.i.i.i75 +_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit76: ; preds = %_ZNSt6vectorISt5tupleIJiEESaIS1_EED2Ev.exit, %if.then.i.i.i74 ret void -ehcleanup36: ; preds = %_ZN7testing7MessageD2Ev.exit25, %lpad27 - %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit25 ], [ %9, %lpad27 ] +ehcleanup36: ; preds = %_ZN7testing7MessageD2Ev.exit24, %lpad27 + %.pn.pn = phi { ptr, i32 } [ %.pn, %_ZN7testing7MessageD2Ev.exit24 ], [ %9, %lpad27 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar) #30 br label %ehcleanup37 @@ -123306,24 +123325,24 @@ ehcleanup38: ; preds = %ehcleanup37, %lpad2 ehcleanup39: ; preds = %ehcleanup38, %lpad20 %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %ehcleanup38 ], [ %3, %lpad20 ] %45 = load ptr, ptr %v2, align 8 - %tobool.not.i.i.i78 = icmp eq ptr %45, null - br i1 %tobool.not.i.i.i78, label %ehcleanup40, label %if.then.i.i.i79 + %tobool.not.i.i.i77 = icmp eq ptr %45, null + br i1 %tobool.not.i.i.i77, label %ehcleanup40, label %if.then.i.i.i78 -if.then.i.i.i79: ; preds = %ehcleanup39 +if.then.i.i.i78: ; preds = %ehcleanup39 call void @_ZdlPv(ptr noundef nonnull %45) #33 br label %ehcleanup40 -ehcleanup40: ; preds = %lpad.i9, %if.then.i.i.i79, %ehcleanup39 - %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i9 ], [ %.pn.pn.pn.pn.pn, %ehcleanup39 ], [ %.pn.pn.pn.pn.pn, %if.then.i.i.i79 ] +ehcleanup40: ; preds = %lpad.i9, %if.then.i.i.i78, %ehcleanup39 + %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %0, %lpad.i9 ], [ %.pn.pn.pn.pn.pn, %ehcleanup39 ], [ %.pn.pn.pn.pn.pn, %if.then.i.i.i78 ] %46 = load ptr, ptr %v1, align 8 - %tobool.not.i.i.i82 = icmp eq ptr %46, null - br i1 %tobool.not.i.i.i82, label %eh.resume, label %if.then.i.i.i83 + %tobool.not.i.i.i81 = icmp eq ptr %46, null + br i1 %tobool.not.i.i.i81, label %eh.resume, label %if.then.i.i.i82 -if.then.i.i.i83: ; preds = %ehcleanup40 +if.then.i.i.i82: ; preds = %ehcleanup40 call void @_ZdlPv(ptr noundef nonnull %46) #33 br label %eh.resume -eh.resume: ; preds = %if.then.i.i.i83, %ehcleanup40 +eh.resume: ; preds = %if.then.i.i.i82, %ehcleanup40 resume { ptr, i32 } %.pn.pn.pn.pn.pn.pn } @@ -129595,23 +129614,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.049.i.ptr.i, ptr %add.ptr.i.i.i.i.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 8 store i64 %i.050.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKSA_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISP_EENSB_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISZ_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i, ptr align 8 %this.val.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKSA_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISP_EENSB_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISZ_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.1460, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKSA_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISP_EENSB_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISZ_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.1460, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %this.val.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE17_M_realloc_insertIJSY_EEEvN9__gnu_cxx17__normal_iteratorIPSY_S10_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE17_M_realloc_insertIJSY_EEEvN9__gnu_cxx17__normal_iteratorIPSY_S10_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE17_M_realloc_insertIJSY_EEEvN9__gnu_cxx17__normal_iteratorIPSY_S10_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE17_M_realloc_insertIJSY_EEEvN9__gnu_cxx17__normal_iteratorIPSY_S10_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE17_M_realloc_insertIJSY_EEEvN9__gnu_cxx17__normal_iteratorIPSY_S10_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_S_relocateEPSY_S11_S11_RSZ_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds %struct.Info.1460, ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -129619,7 +129639,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE17_M_realloc_insertIJSY_EEEvN9__gnu_cxx17__normal_iteratorIPSY_S10_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i - %30 = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE17_M_realloc_insertIJSY_EEEvN9__gnu_cxx17__normal_iteratorIPSY_S10_EEDpOT_.exit.i.i.i.i ], [ %29, %if.then.i.i.i.i ] + %30 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPiPKDnPKSt10unique_ptrIiN12_GLOBAL__N_112DummyDeleterEEPKS9_IiSt14default_deleteIiEEPKSt10shared_ptrIiEEESaISO_EENSA_14SmartPointerEqEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE17_M_realloc_insertIJSY_EEEvN9__gnu_cxx17__normal_iteratorIPSY_S10_EEDpOT_.exit.i.i.i.i ], [ %29, %if.then.i.i.i.i ] %inc.i.i = add nuw nsw i64 %i.050.i.i, 1 %call28.val.i.i = load ptr, ptr %30, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -140452,7 +140472,7 @@ if.end: tail call void @llvm.experimental.noalias.scope.decl(metadata !3254) %call5.i.i.i.i2.i.i.i.i = tail call noalias noundef nonnull dereferenceable(48) ptr @_Znwm(i64 noundef 48) #34, !noalias !3257 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !3260, !noalias !3261 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.1516", ptr %call5.i.i.i.i2.i.i.i.i, i64 3 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 48 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !3260, !noalias !3261 store ptr %1, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !3257 @@ -140842,23 +140862,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.01045, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.01046, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKPFivEPKDnEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKPFivEPKDnEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1544, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKPFivEPKDnEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1544, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1544, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -140866,7 +140887,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKPFivEPKDnEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.01046, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !3262 @@ -149525,7 +149546,7 @@ entry: %add.ptr.i.i.i19.i.i = getelementptr inbounds i8, ptr %values, i64 352 %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %values, i64 368 store ptr %call5.i.i.i.i2.i.i.i, ptr %ref.tmp, align 8, !alias.scope !3519 - %add.ptr.i1.i.i.i = getelementptr inbounds %"class.std::variant.1667", ptr %call5.i.i.i.i2.i.i.i, i64 19 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 304 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *, const std::basic_string_view *, const absl::Cord *>, std::allocator *, const std::basic_string_view *, const absl::Cord *>>>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !alias.scope !3519 store ptr %add.ptr.i.i.i.i.i, ptr %call5.i.i.i.i2.i.i.i, align 8, !noalias !3519 @@ -149652,7 +149673,7 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE6substrEmm.exit: ; preds = %entry %add.ptr.i = getelementptr inbounds i8, ptr %sv.coerce1, i64 %div2 %sub.i = sub i64 %sv.coerce0, %div2 store ptr %call5.i.i.i.i2.i, ptr %parts, align 8 - %add.ptr.i1.i = getelementptr inbounds %"class.std::basic_string_view", ptr %call5.i.i.i.i2.i, i64 2 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 32 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %parts, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i64 %div2, ptr %call5.i.i.i.i2.i, align 8 @@ -149743,7 +149764,7 @@ entry: %add.ptr.i.i.i19.i.i = getelementptr inbounds i8, ptr %values, i64 624 %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %values, i64 656 store ptr %call5.i.i.i.i2.i.i.i, ptr %ref.tmp, align 8, !alias.scope !3526 - %add.ptr.i1.i.i.i = getelementptr inbounds %"class.std::variant.1751", ptr %call5.i.i.i.i2.i.i.i, i64 19 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 304 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>, std::allocator, unsigned long> *, const std::tuple, unsigned long> *, const std::tuple *>>>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !alias.scope !3526 store ptr %add.ptr.i.i.i.i.i, ptr %call5.i.i.i.i2.i.i.i, align 8, !noalias !3526 @@ -150116,23 +150137,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.01083, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.01084, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS8_EPKNS0_4CordEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS8_EPKNS0_4CordEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1698, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS8_EPKNS0_4CordEEESaISK_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISU_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1698, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE17_M_realloc_insertIJST_EEEvN9__gnu_cxx17__normal_iteratorIPST_SV_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE17_M_realloc_insertIJST_EEEvN9__gnu_cxx17__normal_iteratorIPST_SV_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE17_M_realloc_insertIJST_EEEvN9__gnu_cxx17__normal_iteratorIPST_SV_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE17_M_realloc_insertIJST_EEEvN9__gnu_cxx17__normal_iteratorIPST_SV_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE17_M_realloc_insertIJST_EEEvN9__gnu_cxx17__normal_iteratorIPST_SV_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE11_S_relocateEPST_SW_SW_RSU_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1698, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -150140,7 +150162,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE17_M_realloc_insertIJST_EEEvN9__gnu_cxx17__normal_iteratorIPST_SV_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE17_M_realloc_insertIJST_EEEvN9__gnu_cxx17__normal_iteratorIPST_SV_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKSt17basic_string_viewIcS7_EPKNS0_4CordEEESaISJ_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaIST_EE17_M_realloc_insertIJST_EEEvN9__gnu_cxx17__normal_iteratorIPST_SV_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.01084, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !3527 @@ -165167,23 +165189,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.01083, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.01084, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS5_IJiSt17basic_string_viewIcS9_EmEEPKS5_IJiNS0_4CordEmEEEESaISO_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS5_IJiSt17basic_string_viewIcS9_EmEEPKS5_IJiNS0_4CordEmEEEESaISO_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1782, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS5_IJiSt17basic_string_viewIcS9_EmEEPKS5_IJiNS0_4CordEmEEEESaISO_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISY_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1782, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE17_M_realloc_insertIJSX_EEEvN9__gnu_cxx17__normal_iteratorIPSX_SZ_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE17_M_realloc_insertIJSX_EEEvN9__gnu_cxx17__normal_iteratorIPSX_SZ_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE17_M_realloc_insertIJSX_EEEvN9__gnu_cxx17__normal_iteratorIPSX_SZ_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE17_M_realloc_insertIJSX_EEEvN9__gnu_cxx17__normal_iteratorIPSX_SZ_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE17_M_realloc_insertIJSX_EEEvN9__gnu_cxx17__normal_iteratorIPSX_SZ_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE11_S_relocateEPSX_S10_S10_RSY_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1782, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -165191,7 +165214,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE17_M_realloc_insertIJSX_EEEvN9__gnu_cxx17__normal_iteratorIPSX_SZ_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE17_M_realloc_insertIJSX_EEEvN9__gnu_cxx17__normal_iteratorIPSX_SZ_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmEEPKS4_IJiSt17basic_string_viewIcS8_EmEEPKS4_IJiNS0_4CordEmEEEESaISN_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISX_EE17_M_realloc_insertIJSX_EEEvN9__gnu_cxx17__normal_iteratorIPSX_SZ_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.01084, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !3702 @@ -183413,7 +183436,7 @@ invoke.cont31: ; preds = %.noexc43 call5.i.i.i.i2.i.i.i.i.noexc: ; preds = %invoke.cont31 store ptr %call5.i.i.i.i2.i.i.i.i47, ptr %ref.tmp.i, align 8, !alias.scope !3861, !noalias !3862 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.1851", ptr %call5.i.i.i.i2.i.i.i.i47, i64 5 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i47, i64 80 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !3861, !noalias !3862 store ptr %7, ptr %call5.i.i.i.i2.i.i.i.i47, align 8, !noalias !3865 @@ -183890,23 +183913,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1878, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1878, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1878, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -183914,7 +183938,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !3866 @@ -189885,7 +189909,7 @@ _ZNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEE9_M_createERmm.exit.i.i8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(54) %call5.i.i.i.i5.i64, ptr noundef nonnull align 2 dereferenceable(54) @.str.211, i64 54, i1 false) %_M_string_length.i.i.i.i53 = getelementptr inbounds %"class.std::__cxx11::basic_string.1899", ptr %ref.tmp24, i64 0, i32 1 store i64 27, ptr %_M_string_length.i.i.i.i53, align 8 - %arrayidx.i.i.i54 = getelementptr inbounds i16, ptr %call5.i.i.i.i5.i64, i64 27 + %arrayidx.i.i.i54 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i64, i64 54 store i16 0, ptr %arrayidx.i.i.i54, align 2 %4 = getelementptr inbounds %"class.std::__cxx11::basic_string.1899", ptr %ref.tmp28, i64 0, i32 2 store ptr %4, ptr %ref.tmp28, align 8 @@ -189896,7 +189920,7 @@ _ZSt10make_tupleIJNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEES5_S5_S store i64 0, ptr %4, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(40) %call5.i.i.i.i5.i86, ptr noundef nonnull align 2 dereferenceable(40) @.str.212, i64 40, i1 false) %_M_string_length.i.i.i.i75 = getelementptr inbounds %"class.std::__cxx11::basic_string.1899", ptr %ref.tmp28, i64 0, i32 1 - %arrayidx.i.i.i76 = getelementptr inbounds i16, ptr %call5.i.i.i.i5.i86, i64 20 + %arrayidx.i.i.i76 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i86, i64 40 store i16 0, ptr %arrayidx.i.i.i76, align 2 call void @llvm.experimental.noalias.scope.decl(metadata !4103) %5 = getelementptr inbounds %"class.std::__cxx11::basic_string.1899", ptr %ref.tmp14, i64 0, i32 2 @@ -189952,7 +189976,7 @@ _ZSt10make_tupleIJNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEES5_S5_S call5.i.i.i.i2.i.i.i.i.noexc: ; preds = %_ZSt10make_tupleIJNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEES5_S5_S5_S5_EESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS9_.exit store ptr %call5.i.i.i.i2.i.i.i.i89, ptr %ref.tmp.i, align 8, !alias.scope !4112, !noalias !4113 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.1921", ptr %call5.i.i.i.i2.i.i.i.i89, i64 5 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i89, i64 80 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !4112, !noalias !4113 store ptr %14, ptr %call5.i.i.i.i2.i.i.i.i89, align 8, !noalias !4116 @@ -190685,23 +190709,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1948, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.1948, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.1948, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -190709,7 +190734,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, %if.then.i.i - %23 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] + %23 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDsSt11char_traitsIDsESaIDsEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %24 = load ptr, ptr %23, align 8, !noalias !4118 @@ -196569,7 +196594,7 @@ _ZNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEE9_M_createERmm.exit.i.i8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %call5.i.i.i.i5.i64, ptr noundef nonnull align 4 dereferenceable(108) @.str.205, i64 108, i1 false) %_M_string_length.i.i.i.i53 = getelementptr inbounds %"class.std::__cxx11::basic_string.1970", ptr %ref.tmp24, i64 0, i32 1 store i64 27, ptr %_M_string_length.i.i.i.i53, align 8 - %arrayidx.i.i.i54 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i64, i64 27 + %arrayidx.i.i.i54 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i64, i64 108 store i32 0, ptr %arrayidx.i.i.i54, align 4 %4 = getelementptr inbounds %"class.std::__cxx11::basic_string.1970", ptr %ref.tmp28, i64 0, i32 2 store ptr %4, ptr %ref.tmp28, align 8 @@ -196580,7 +196605,7 @@ _ZSt10make_tupleIJNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEES5_S5_S store i64 0, ptr %4, align 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(80) %call5.i.i.i.i5.i86, ptr noundef nonnull align 4 dereferenceable(80) @.str.206, i64 80, i1 false) %_M_string_length.i.i.i.i75 = getelementptr inbounds %"class.std::__cxx11::basic_string.1970", ptr %ref.tmp28, i64 0, i32 1 - %arrayidx.i.i.i76 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i86, i64 20 + %arrayidx.i.i.i76 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i86, i64 80 store i32 0, ptr %arrayidx.i.i.i76, align 4 call void @llvm.experimental.noalias.scope.decl(metadata !4355) %5 = getelementptr inbounds %"class.std::__cxx11::basic_string.1970", ptr %ref.tmp14, i64 0, i32 2 @@ -196634,7 +196659,7 @@ _ZSt10make_tupleIJNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEES5_S5_S call5.i.i.i.i2.i.i.i.i.noexc: ; preds = %_ZSt10make_tupleIJNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEES5_S5_S5_S5_EESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS9_.exit store ptr %call5.i.i.i.i2.i.i.i.i89, ptr %ref.tmp.i, align 8, !alias.scope !4364, !noalias !4365 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.1992", ptr %call5.i.i.i.i2.i.i.i.i89, i64 5 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i89, i64 80 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !4364, !noalias !4365 store ptr %12, ptr %call5.i.i.i.i2.i.i.i.i89, align 8, !noalias !4368 @@ -197367,23 +197392,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %22, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2019, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2019, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %22, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %22) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE11_S_relocateEPSM_SP_SP_RSN_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2019, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -197391,7 +197417,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i, %if.then.i.i - %23 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] + %23 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt7__cxx1112basic_stringIDiSt11char_traitsIDiESaIDiEEEEESaISC_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISM_EE17_M_realloc_insertIJSM_EEEvN9__gnu_cxx17__normal_iteratorIPSM_SO_EEDpOT_.exit.i.i ], [ %21, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %24 = load ptr, ptr %23, align 8, !noalias !4370 @@ -203238,7 +203264,7 @@ if.end: tail call void @llvm.experimental.noalias.scope.decl(metadata !4610) %call5.i.i.i.i2.i.i.i.i = tail call noalias noundef nonnull dereferenceable(80) ptr @_Znwm(i64 noundef 80) #34, !noalias !4613 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !4616, !noalias !4617 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.2059", ptr %call5.i.i.i.i2.i.i.i.i, i64 5 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 80 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !4616, !noalias !4617 store ptr %0, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !4613 @@ -203630,23 +203656,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %17, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2086, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2086, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %17, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %17) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2086, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -203654,7 +203681,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, %if.then.i.i - %18 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %16, %if.then.i.i ] + %18 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIwSt11char_traitsIwEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %16, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %19 = load ptr, ptr %18, align 8, !noalias !4618 @@ -209547,7 +209574,7 @@ if.end: tail call void @llvm.experimental.noalias.scope.decl(metadata !4858) %call5.i.i.i.i2.i.i.i.i = tail call noalias noundef nonnull dereferenceable(80) ptr @_Znwm(i64 noundef 80) #34, !noalias !4861 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !4864, !noalias !4865 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.2125", ptr %call5.i.i.i.i2.i.i.i.i, i64 5 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 80 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !4864, !noalias !4865 store ptr %0, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !4861 @@ -209948,23 +209975,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0974, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0975, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %19, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2152, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2152, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %19, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %19) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2152, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -209972,7 +210000,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, %if.then.i.i - %20 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %18, %if.then.i.i ] + %20 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDsSt11char_traitsIDsEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %18, %if.then.i.i ] %inc = add i64 %i.0975, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %21 = load ptr, ptr %20, align 8, !noalias !4866 @@ -215866,7 +215894,7 @@ if.end: tail call void @llvm.experimental.noalias.scope.decl(metadata !5106) %call5.i.i.i.i2.i.i.i.i = tail call noalias noundef nonnull dereferenceable(80) ptr @_Znwm(i64 noundef 80) #34, !noalias !5109 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !5112, !noalias !5113 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.2191", ptr %call5.i.i.i.i2.i.i.i.i, i64 5 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 80 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !5112, !noalias !5113 store ptr %0, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !5109 @@ -216267,23 +216295,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0974, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0975, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %19, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2218, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2218, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %19, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %19) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2218, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -216291,7 +216320,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i, %if.then.i.i - %20 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %18, %if.then.i.i ] + %20 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt17basic_string_viewIDiSt11char_traitsIDiEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i ], [ %18, %if.then.i.i ] %inc = add i64 %i.0975, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %21 = load ptr, ptr %20, align 8, !noalias !5114 @@ -223224,7 +223253,7 @@ entry: %add.ptr.i.i.i18.i.i = getelementptr inbounds i8, ptr %values, i64 640 %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %values, i64 680 store ptr %call5.i.i.i.i2.i.i.i, ptr %ref.tmp, align 8, !alias.scope !5357 - %add.ptr.i1.i.i.i = getelementptr inbounds %"class.std::variant.2290", ptr %call5.i.i.i.i2.i.i.i, i64 18 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 288 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8, !alias.scope !5357 store ptr %add.ptr.i.i.i.i.i, ptr %call5.i.i.i.i2.i.i.i, align 8, !noalias !5357 @@ -224183,23 +224212,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt10filesystem7__cxx114pathEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %15, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt10filesystem7__cxx114pathEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2317, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNSt10filesystem7__cxx114pathEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2317, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %15, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %15) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2317, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -224207,7 +224237,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, %if.then.i.i - %16 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %14, %if.then.i.i ] + %16 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNSt10filesystem7__cxx114pathEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %14, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %17 = load ptr, ptr %16, align 8, !noalias !5358 @@ -229544,7 +229574,7 @@ if.end: tail call void @llvm.experimental.noalias.scope.decl(metadata !5598) %call5.i.i.i.i2.i.i.i.i = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #34, !noalias !5601 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !5604, !noalias !5605 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.2350", ptr %call5.i.i.i.i2.i.i.i.i, i64 2 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 32 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base *>, std::allocator *>>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !5604, !noalias !5605 store ptr %0, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !5601 @@ -229898,23 +229928,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5arrayIiLm3EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %14, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5arrayIiLm3EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2377, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5arrayIiLm3EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2377, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %14, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %14) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2377, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -229922,7 +229953,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, %if.then.i.i - %15 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %13, %if.then.i.i ] + %15 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5arrayIiLm3EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %13, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %16 = load ptr, ptr %15, align 8, !noalias !5606 @@ -236245,23 +236276,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm2EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm2EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2438, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm2EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2438, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2438, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -236269,7 +236301,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm2EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !5853 @@ -241497,23 +241529,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm5EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm5EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2492, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm5EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2492, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2492, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -241521,7 +241554,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm5EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !6097 @@ -246749,23 +246782,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0975, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0976, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm256EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %18, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm256EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2548, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt6bitsetILm256EEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2548, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %18, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %18) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2548, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -246773,7 +246807,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i, %if.then.i.i - %19 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %17, %if.then.i.i ] + %19 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt6bitsetILm256EEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i ], [ %17, %if.then.i.i ] %inc = add i64 %i.0976, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %20 = load ptr, ptr %19, align 8, !noalias !6341 @@ -257279,23 +257313,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.045.i.ptr.i, ptr %add.ptr.i.i.i.i.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 8 store i64 %i.046.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i, ptr align 8 %this.val.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.2649, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISB_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISL_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.2649, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %this.val.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_S_relocateEPSK_SN_SN_RSL_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds %struct.Info.2649, ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -257303,7 +257338,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i - %19 = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i ], [ %18, %if.then.i.i.i.i ] + %19 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt8optionalIN12_GLOBAL__N_17PrivateEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE17_M_realloc_insertIJSK_EEEvN9__gnu_cxx17__normal_iteratorIPSK_SM_EEDpOT_.exit.i.i.i.i ], [ %18, %if.then.i.i.i.i ] %inc.i.i = add nuw nsw i64 %i.046.i.i, 1 %call28.val.i.i = load ptr, ptr %19, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -263694,23 +263729,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.048.i.ptr.i, ptr %add.ptr.i.i.i.i.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 8 store i64 %i.049.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS4_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISG_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISQ_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i, ptr align 8 %this.val.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS4_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISG_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISQ_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.2736, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKS4_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISG_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISQ_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.2736, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %this.val.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE17_M_realloc_insertIJSP_EEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE17_M_realloc_insertIJSP_EEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE17_M_realloc_insertIJSP_EEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE17_M_realloc_insertIJSP_EEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE17_M_realloc_insertIJSP_EEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE11_S_relocateEPSP_SS_SS_RSQ_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds %struct.Info.2736, ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -263718,7 +263754,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE17_M_realloc_insertIJSP_EEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i - %21 = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE17_M_realloc_insertIJSP_EEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i.i ], [ %20, %if.then.i.i.i.i ] + %21 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKS3_IJN12_GLOBAL__N_17PrivateENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESaISF_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISP_EE17_M_realloc_insertIJSP_EEEvN9__gnu_cxx17__normal_iteratorIPSP_SR_EEDpOT_.exit.i.i.i.i ], [ %20, %if.then.i.i.i.i ] %inc.i.i = add nuw nsw i64 %i.049.i.i, 1 %call28.val.i.i = load ptr, ptr %21, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -271309,23 +271345,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.045.i.ptr.i, ptr %add.ptr.i.i.i.i.i, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i, i64 8 store i64 %i.046.i.i, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i.sroa_idx.i.i, align 8 - %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i + %cmp.i.i.i13.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i13.i.i.i.i.i, label %if.then.i.i.i14.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i if.then.i.i.i14.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i12.i.i.i.i.i, ptr align 8 %this.val.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i - %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.2854, ptr %add.ptr.i.i.i.i.i, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i: ; preds = %if.then.i.i.i14.i.i.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_M_allocateEm.exit.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i12.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i = getelementptr inbounds %struct.Info.2854, ptr %add.ptr.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i = icmp eq ptr %this.val.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, label %if.then.i23.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, label %if.then.i22.i.i.i.i.i -if.then.i23.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i +if.then.i22.i.i.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %this.val.i.i.i.i.i) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i23.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit22.i.i.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i: ; preds = %if.then.i22.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_S_relocateEPSI_SL_SL_RSJ_.exit21.i.i.i.i.i store ptr %cond.i12.i.i.i.i.i, ptr %c.1.i.i, align 8 store ptr %incdec.ptr.i.i.i.i.i, ptr %_M_finish.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i = getelementptr inbounds %struct.Info.2854, ptr %cond.i12.i.i.i.i.i, i64 %cond.i.i.i.i.i.i @@ -271333,7 +271370,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26.i.i invoke.cont26.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i, %if.then.i.i.i.i - %15 = phi ptr [ %add.ptr.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i ], [ %14, %if.then.i.i.i.i ] + %15 = phi ptr [ %add.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKN12_GLOBAL__N_17PrivateEEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE17_M_realloc_insertIJSI_EEEvN9__gnu_cxx17__normal_iteratorIPSI_SK_EEDpOT_.exit.i.i.i.i ], [ %14, %if.then.i.i.i.i ] %inc.i.i = add nuw nsw i64 %i.046.i.i, 1 %call28.val.i.i = load ptr, ptr %15, align 8 %call28.val.val.i.i = load ptr, ptr %call28.val.i.i, align 8 @@ -274002,7 +274039,7 @@ if.end65: ; preds = %_ZNKSt14default_del call void @llvm.experimental.noalias.scope.decl(metadata !6966) %call5.i.i.i.i2.i.i.i.i = call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #34, !noalias !6969 store ptr %call5.i.i.i.i2.i.i.i.i, ptr %ref.tmp.i, align 8, !alias.scope !6972, !noalias !6973 - %add.ptr.i1.i.i.i.i = getelementptr inbounds %"class.std::variant.2878", ptr %call5.i.i.i.i2.i.i.i.i, i64 6 + %add.ptr.i1.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i, i64 96 %_M_end_of_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %ref.tmp.i, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i, align 8, !alias.scope !6972, !noalias !6973 store ptr %344, ptr %call5.i.i.i.i2.i.i.i.i, align 8, !noalias !6969 @@ -274167,7 +274204,7 @@ _ZN7testing15AssertionResultD2Ev.exit75: ; preds = %if.end99, %_ZNKSt14 call void @llvm.experimental.noalias.scope.decl(metadata !6980) %call5.i.i.i.i2.i.i.i.i79 = call noalias noundef nonnull dereferenceable(64) ptr @_Znwm(i64 noundef 64) #34, !noalias !6983 store ptr %call5.i.i.i.i2.i.i.i.i79, ptr %ref.tmp.i78, align 8, !alias.scope !6986, !noalias !6987 - %add.ptr.i1.i.i.i.i82 = getelementptr inbounds %"class.std::variant.2929", ptr %call5.i.i.i.i2.i.i.i.i79, i64 4 + %add.ptr.i1.i.i.i.i82 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i.i79, i64 64 %_M_end_of_storage.i.i.i.i.i83 = getelementptr inbounds %"struct.std::_Vector_base> *, const std::tuple *>, std::allocator> *, const std::tuple *>>>::_Vector_impl_data", ptr %ref.tmp.i78, i64 0, i32 2 store ptr %add.ptr.i1.i.i.i.i82, ptr %_M_end_of_storage.i.i.i.i.i83, align 8, !alias.scope !6986, !noalias !6987 store ptr %365, ptr %call5.i.i.i.i2.i.i.i.i79, align 8, !noalias !6983 @@ -274804,23 +274841,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0970, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0971, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKiEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKiEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2905, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKiEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2905, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE11_S_relocateEPSG_SJ_SJ_RSH_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2905, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -274828,7 +274866,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKiEESaIS6_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISG_EE17_M_realloc_insertIJSG_EEEvN9__gnu_cxx17__normal_iteratorIPSG_SI_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.0971, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !7026 @@ -278668,23 +278706,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.01045, ptr %add.ptr.i.i.i56, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i56, i64 8 store i64 %i.01046, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i56.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS5_IJiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS5_IJiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2958, ptr %add.ptr.i.i.i56, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS5_IJiEEEESaISE_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISO_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info.2958, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #33 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE11_S_relocateEPSN_SQ_SQ_RSO_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i55, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info.2958, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -278692,7 +278731,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i, %if.then.i.i - %17 = phi ptr [ %add.ptr.i.i.i56, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] + %17 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKSt5tupleIJSt17reference_wrapperIiEEEPKS4_IJiEEEESaISD_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISN_EE17_M_realloc_insertIJSN_EEEvN9__gnu_cxx17__normal_iteratorIPSN_SP_EEDpOT_.exit.i.i ], [ %15, %if.then.i.i ] %inc = add i64 %i.01046, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %18 = load ptr, ptr %17, align 8, !noalias !7260 @@ -286679,7 +286718,7 @@ entry: call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp93.i.i.i.i) %call5.i.i.i.i5.i.i.i.i.i = tail call noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #34 store ptr %call5.i.i.i.i5.i.i.i.i.i, ptr %ref.tmp2.i.i.i.i, align 8 - %add.ptr.i4.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i.i.i.i, i64 1 + %add.ptr.i4.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i.i.i, i64 4 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::InvokeTag, std::allocator<(anonymous namespace)::InvokeTag>>::_Vector_impl_data", ptr %ref.tmp2.i.i.i.i, i64 0, i32 2 store ptr %add.ptr.i4.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8 store i32 2, ptr %call5.i.i.i.i5.i.i.i.i.i, align 4 @@ -288845,7 +288884,7 @@ entry: call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp96.i.i) %call5.i.i.i.i5.i.i.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #34 store ptr %call5.i.i.i.i5.i.i.i, ptr %ref.tmp4.i.i, align 8 - %add.ptr.i4.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i.i, i64 3 + %add.ptr.i4.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i, i64 12 %_M_end_of_storage.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::InvokeTag, std::allocator<(anonymous namespace)::InvokeTag>>::_Vector_impl_data", ptr %ref.tmp4.i.i, i64 0, i32 2 store ptr %add.ptr.i4.i.i.i, ptr %_M_end_of_storage.i.i.i.i, align 8 store i32 2, ptr %call5.i.i.i.i5.i.i.i, align 4 @@ -290920,7 +290959,7 @@ _ZN12_GLOBAL__N_118TestCustomHashTypeIJSt17integral_constantINS_9InvokeTagELS2_2 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp94.i.i) %call5.i.i.i.i5.i.i16.i = call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #34 store ptr %call5.i.i.i.i5.i.i16.i, ptr %ref.tmp3.i.i, align 8 - %add.ptr.i4.i.i17.i = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i16.i, i64 2 + %add.ptr.i4.i.i17.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i16.i, i64 8 %_M_end_of_storage.i.i.i18.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::InvokeTag, std::allocator<(anonymous namespace)::InvokeTag>>::_Vector_impl_data", ptr %ref.tmp3.i.i, i64 0, i32 2 store ptr %add.ptr.i4.i.i17.i, ptr %_M_end_of_storage.i.i.i18.i, align 8 store i32 1, ptr %call5.i.i.i.i5.i.i16.i, align 4 @@ -292989,7 +293028,7 @@ _ZN12_GLOBAL__N_118TestCustomHashTypeILNS_9InvokeTagE2EJSt17integral_constantIS1 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp94.i.i39) %call5.i.i.i.i5.i.i.i40 = call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #34 store ptr %call5.i.i.i.i5.i.i.i40, ptr %ref.tmp3.i.i32, align 8 - %add.ptr.i4.i.i.i41 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i.i40, i64 2 + %add.ptr.i4.i.i.i41 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i.i40, i64 8 %_M_end_of_storage.i.i.i.i42 = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::InvokeTag, std::allocator<(anonymous namespace)::InvokeTag>>::_Vector_impl_data", ptr %ref.tmp3.i.i32, i64 0, i32 2 store ptr %add.ptr.i4.i.i.i41, ptr %_M_end_of_storage.i.i.i.i42, align 8 store i32 2, ptr %call5.i.i.i.i5.i.i.i40, align 4 @@ -295058,7 +295097,7 @@ _ZN12_GLOBAL__N_118TestCustomHashTypeIJSt17integral_constantINS_9InvokeTagELS2_2 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp93.i.i17) %call5.i.i.i.i5.i.i18.i = call noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #34 store ptr %call5.i.i.i.i5.i.i18.i, ptr %ref.tmp2.i.i, align 8 - %add.ptr.i4.i.i19.i = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i18.i, i64 1 + %add.ptr.i4.i.i19.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i18.i, i64 4 %_M_end_of_storage.i.i.i20.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::InvokeTag, std::allocator<(anonymous namespace)::InvokeTag>>::_Vector_impl_data", ptr %ref.tmp2.i.i, i64 0, i32 2 store ptr %add.ptr.i4.i.i19.i, ptr %_M_end_of_storage.i.i.i20.i, align 8 store i32 0, ptr %call5.i.i.i.i5.i.i18.i, align 4 @@ -298510,7 +298549,7 @@ entry: call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp94.i) %call5.i.i.i.i5.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #34 store ptr %call5.i.i.i.i5.i.i, ptr %ref.tmp3.i, align 8 - %add.ptr.i4.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i, i64 2 + %add.ptr.i4.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i, i64 8 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::InvokeTag, std::allocator<(anonymous namespace)::InvokeTag>>::_Vector_impl_data", ptr %ref.tmp3.i, i64 0, i32 2 store ptr %add.ptr.i4.i.i, ptr %_M_end_of_storage.i.i.i, align 8 store i32 2, ptr %call5.i.i.i.i5.i.i, align 4 @@ -300845,7 +300884,7 @@ _ZN12_GLOBAL__N_118TestCustomHashTypeIJSt17integral_constantINS_9InvokeTagELS2_2 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp93.i) %call5.i.i.i.i5.i.i20 = call noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #34 store ptr %call5.i.i.i.i5.i.i20, ptr %ref.tmp2.i, align 8 - %add.ptr.i4.i.i21 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i20, i64 1 + %add.ptr.i4.i.i21 = getelementptr inbounds i8, ptr %call5.i.i.i.i5.i.i20, i64 4 %_M_end_of_storage.i.i.i22 = getelementptr inbounds %"struct.std::_Vector_base<(anonymous namespace)::InvokeTag, std::allocator<(anonymous namespace)::InvokeTag>>::_Vector_impl_data", ptr %ref.tmp2.i, i64 0, i32 2 store ptr %add.ptr.i4.i.i21, ptr %_M_end_of_storage.i.i.i22, align 8 store i32 1, ptr %call5.i.i.i.i5.i.i20, align 4 @@ -313249,8 +313288,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %20, ptr %19) to label %invoke.cont30 unwind label %lpad @@ -314497,7 +314535,7 @@ if.then9: ; preds = %if.then %sub.ptr.sub.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 5 %cmp15 = icmp ugt i64 %sub.ptr.div.i, %sub.ptr.div.i.i.i - br i1 %cmp15, label %for.body.i.i.i.i.i.preheader, label %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit + br i1 %cmp15, label %for.body.i.i.i.i.i.preheader, label %if.else5.i.i for.body.i.i.i.i.i.preheader: ; preds = %if.then9 %idx.neg = sub nsw i64 0, %sub.ptr.div.i.i.i @@ -314514,8 +314552,8 @@ for.body.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. br i1 %cmp.i.i.not.i.i.i.i.i, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit, label %for.body.i.i.i.i.i, !llvm.loop !7785 _ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit: ; preds = %for.body.i.i.i.i.i - %.pre138 = load ptr, ptr %_M_finish, align 8 - %add.ptr27 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %.pre138, i64 %sub.ptr.div.i.i.i + %.pre136 = load ptr, ptr %_M_finish, align 8 + %add.ptr27 = getelementptr inbounds i8, ptr %.pre136, i64 %sub.ptr.sub.i.i.i store ptr %add.ptr27, ptr %_M_finish, align 8 %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %add.ptr to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i @@ -314536,34 +314574,34 @@ for.body.i.i.i.i.i26: ; preds = %_ZSt22__uninitializ _ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit: ; preds = %for.body.i.i.i.i.i26, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit %cmp6.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i, 0 - br i1 %cmp6.i.i.i.i.i, label %for.body.i.i.i.i.i37, label %if.end109 - -for.body.i.i.i.i.i37: ; preds = %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit, %for.body.i.i.i.i.i37 - %__n.09.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i41, %for.body.i.i.i.i.i37 ], [ %sub.ptr.div.i.i.i, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] - %__result.addr.08.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i40, %for.body.i.i.i.i.i37 ], [ %__position.coerce, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] - %__first.addr.07.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i39, %for.body.i.i.i.i.i37 ], [ %__first.coerce, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] - %call.i.i.i.i.i38 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__result.addr.08.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.07.i.i.i.i.i) - %incdec.ptr.i.i.i.i.i39 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.07.i.i.i.i.i, i64 1 - %incdec.ptr1.i.i.i.i.i40 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__result.addr.08.i.i.i.i.i, i64 1 - %dec.i.i.i.i.i41 = add nsw i64 %__n.09.i.i.i.i.i, -1 - %cmp.i.i.i.i.i42 = icmp ugt i64 %__n.09.i.i.i.i.i, 1 - br i1 %cmp.i.i.i.i.i42, label %for.body.i.i.i.i.i37, label %if.end109, !llvm.loop !7786 - -_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit: ; preds = %if.then9 - %incdec.ptr.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.coerce, i64 %sub.ptr.div.i - %cmp.i.not8.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i, %__last.coerce + br i1 %cmp6.i.i.i.i.i, label %for.body.i.i.i.i.i36, label %if.end109 + +for.body.i.i.i.i.i36: ; preds = %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit, %for.body.i.i.i.i.i36 + %__n.09.i.i.i.i.i = phi i64 [ %dec.i.i.i.i.i40, %for.body.i.i.i.i.i36 ], [ %sub.ptr.div.i.i.i, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] + %__result.addr.08.i.i.i.i.i = phi ptr [ %incdec.ptr1.i.i.i.i.i39, %for.body.i.i.i.i.i36 ], [ %__position.coerce, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] + %__first.addr.07.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i38, %for.body.i.i.i.i.i36 ], [ %__first.coerce, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit ] + %call.i.i.i.i.i37 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__result.addr.08.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.07.i.i.i.i.i) + %incdec.ptr.i.i.i.i.i38 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.07.i.i.i.i.i, i64 1 + %incdec.ptr1.i.i.i.i.i39 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__result.addr.08.i.i.i.i.i, i64 1 + %dec.i.i.i.i.i40 = add nsw i64 %__n.09.i.i.i.i.i, -1 + %cmp.i.i.i.i.i41 = icmp ugt i64 %__n.09.i.i.i.i.i, 1 + br i1 %cmp.i.i.i.i.i41, label %for.body.i.i.i.i.i36, label %if.end109, !llvm.loop !7786 + +if.else5.i.i: ; preds = %if.then9 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %__first.coerce, i64 %sub.ptr.sub.i + %cmp.i.not8.i.i.i.i = icmp eq ptr %add.ptr.i.i.i, %__last.coerce br i1 %cmp.i.not8.i.i.i.i, label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit, label %for.body.i.i.i.i -for.body.i.i.i.i: ; preds = %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit, %for.inc.i.i.i.i - %__cur.010.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.inc.i.i.i.i ], [ %1, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit ] - %__first.sroa.0.09.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i44, %for.inc.i.i.i.i ], [ %incdec.ptr.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit ] +for.body.i.i.i.i: ; preds = %if.else5.i.i, %for.inc.i.i.i.i + %__cur.010.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.inc.i.i.i.i ], [ %1, %if.else5.i.i ] + %__first.sroa.0.09.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i43, %for.inc.i.i.i.i ], [ %add.ptr.i.i.i, %if.else5.i.i ] invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.010.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.09.i.i.i.i) to label %for.inc.i.i.i.i unwind label %lpad.i.i.i.i for.inc.i.i.i.i: ; preds = %for.body.i.i.i.i - %incdec.ptr.i.i.i.i.i44 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.09.i.i.i.i, i64 1 + %incdec.ptr.i.i.i.i.i43 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.09.i.i.i.i, i64 1 %incdec.ptr.i.i.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.010.i.i.i.i, i64 1 - %cmp.i.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i44, %__last.coerce + %cmp.i.not.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i43, %__last.coerce br i1 %cmp.i.not.i.i.i.i, label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit, label %for.body.i.i.i.i, !llvm.loop !7787 lpad.i.i.i.i: ; preds = %for.body.i.i.i.i @@ -314575,10 +314613,10 @@ lpad.i.i.i.i: ; preds = %for.body.i.i.i.i br i1 %cmp.not3.i.i.i.i.i.i, label %invoke.cont5.i.i.i.i, label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %lpad.i.i.i.i, %for.body.i.i.i.i.i.i - %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i43, %for.body.i.i.i.i.i.i ], [ %1, %lpad.i.i.i.i ] + %__first.addr.04.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i42, %for.body.i.i.i.i.i.i ], [ %1, %lpad.i.i.i.i ] tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i) #30 - %incdec.ptr.i.i.i.i.i.i43 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 - %cmp.not.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i43, %__cur.010.i.i.i.i + %incdec.ptr.i.i.i.i.i.i42 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i, i64 1 + %cmp.not.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i42, %__cur.010.i.i.i.i br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont5.i.i.i.i, label %for.body.i.i.i.i.i.i, !llvm.loop !8 invoke.cont5.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i, %lpad.i.i.i.i @@ -314609,44 +314647,45 @@ _ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_ %.pre = load ptr, ptr %_M_finish, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit -_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit - %8 = phi ptr [ %.pre, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit ], [ %1, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEmEvRT_T0_.exit ] +_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit, %if.else5.i.i + %8 = phi ptr [ %.pre, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit.loopexit ], [ %1, %if.else5.i.i ] %sub = sub nsw i64 %sub.ptr.div.i.i.i, %sub.ptr.div.i %add.ptr50 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %8, i64 %sub store ptr %add.ptr50, ptr %_M_finish, align 8 - %cmp.i.i.not7.i.i.i.i.i45 = icmp eq ptr %1, %__position.coerce - br i1 %cmp.i.i.not7.i.i.i.i.i45, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53, label %for.body.i.i.i.i.i46 - -for.body.i.i.i.i.i46: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit, %for.body.i.i.i.i.i46 - %__cur.09.i.i.i.i.i47 = phi ptr [ %incdec.ptr.i.i.i.i.i50, %for.body.i.i.i.i.i46 ], [ %add.ptr50, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] - %__first.sroa.0.08.i.i.i.i.i48 = phi ptr [ %incdec.ptr.i.i.i.i.i.i49, %for.body.i.i.i.i.i46 ], [ %__position.coerce, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i47, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i48) #30 - %incdec.ptr.i.i.i.i.i.i49 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i48, i64 1 - %incdec.ptr.i.i.i.i.i50 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i47, i64 1 - %cmp.i.i.not.i.i.i.i.i51 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i49, %1 - br i1 %cmp.i.i.not.i.i.i.i.i51, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53.loopexit, label %for.body.i.i.i.i.i46, !llvm.loop !7785 - -_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53.loopexit: ; preds = %for.body.i.i.i.i.i46 - %.pre137 = load ptr, ptr %_M_finish, align 8 - br label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53 - -_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53: ; preds = %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53.loopexit, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit - %9 = phi ptr [ %.pre137, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53.loopexit ], [ %add.ptr50, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] - %add.ptr58 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %9, i64 %sub.ptr.div.i + %cmp.i.i.not7.i.i.i.i.i44 = icmp eq ptr %1, %__position.coerce + br i1 %cmp.i.i.not7.i.i.i.i.i44, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52, label %for.body.i.i.i.i.i45 + +for.body.i.i.i.i.i45: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit, %for.body.i.i.i.i.i45 + %__cur.09.i.i.i.i.i46 = phi ptr [ %incdec.ptr.i.i.i.i.i49, %for.body.i.i.i.i.i45 ], [ %add.ptr50, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] + %__first.sroa.0.08.i.i.i.i.i47 = phi ptr [ %incdec.ptr.i.i.i.i.i.i48, %for.body.i.i.i.i.i45 ], [ %__position.coerce, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i46, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i47) #30 + %incdec.ptr.i.i.i.i.i.i48 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i47, i64 1 + %incdec.ptr.i.i.i.i.i49 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i46, i64 1 + %cmp.i.i.not.i.i.i.i.i50 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i48, %1 + br i1 %cmp.i.i.not.i.i.i.i.i50, label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52.loopexit, label %for.body.i.i.i.i.i45, !llvm.loop !7785 + +_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52.loopexit: ; preds = %for.body.i.i.i.i.i45 + %.pre135 = load ptr, ptr %_M_finish, align 8 + br label %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52 + +_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52: ; preds = %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52.loopexit, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit + %9 = phi ptr [ %.pre135, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52.loopexit ], [ %add.ptr50, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_S7_ET0_T_SE_SD_RSaIT1_E.exit ] + %add.ptr58 = getelementptr inbounds i8, ptr %9, i64 %sub.ptr.sub.i store ptr %add.ptr58, ptr %_M_finish, align 8 - %cmp6.i.i.i.i.i58 = icmp sgt i64 %sub.ptr.div.i, 0 - br i1 %cmp6.i.i.i.i.i58, label %for.body.i.i.i.i.i65, label %if.end109 - -for.body.i.i.i.i.i65: ; preds = %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53, %for.body.i.i.i.i.i65 - %__n.09.i.i.i.i.i66 = phi i64 [ %dec.i.i.i.i.i72, %for.body.i.i.i.i.i65 ], [ %sub.ptr.div.i, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53 ] - %__result.addr.08.i.i.i.i.i67 = phi ptr [ %incdec.ptr1.i.i.i.i.i71, %for.body.i.i.i.i.i65 ], [ %__position.coerce, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53 ] - %__first.addr.07.i.i.i.i.i68 = phi ptr [ %incdec.ptr.i.i.i.i.i70, %for.body.i.i.i.i.i65 ], [ %__first.coerce, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53 ] - %call.i.i.i.i.i69 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__result.addr.08.i.i.i.i.i67, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.07.i.i.i.i.i68) - %incdec.ptr.i.i.i.i.i70 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.07.i.i.i.i.i68, i64 1 - %incdec.ptr1.i.i.i.i.i71 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__result.addr.08.i.i.i.i.i67, i64 1 - %dec.i.i.i.i.i72 = add nsw i64 %__n.09.i.i.i.i.i66, -1 - %cmp.i.i.i.i.i73 = icmp ugt i64 %__n.09.i.i.i.i.i66, 1 - br i1 %cmp.i.i.i.i.i73, label %for.body.i.i.i.i.i65, label %if.end109, !llvm.loop !7786 + %sub.ptr.div.i.i.i.i.i56 = ashr exact i64 %sub.ptr.sub.i, 5 + %cmp6.i.i.i.i.i57 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i56, 0 + br i1 %cmp6.i.i.i.i.i57, label %for.body.i.i.i.i.i63, label %if.end109 + +for.body.i.i.i.i.i63: ; preds = %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52, %for.body.i.i.i.i.i63 + %__n.09.i.i.i.i.i64 = phi i64 [ %dec.i.i.i.i.i70, %for.body.i.i.i.i.i63 ], [ %sub.ptr.div.i.i.i.i.i56, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52 ] + %__result.addr.08.i.i.i.i.i65 = phi ptr [ %incdec.ptr1.i.i.i.i.i69, %for.body.i.i.i.i.i63 ], [ %__position.coerce, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52 ] + %__first.addr.07.i.i.i.i.i66 = phi ptr [ %incdec.ptr.i.i.i.i.i68, %for.body.i.i.i.i.i63 ], [ %__first.coerce, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52 ] + %call.i.i.i.i.i67 = tail call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__result.addr.08.i.i.i.i.i65, ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.07.i.i.i.i.i66) + %incdec.ptr.i.i.i.i.i68 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.07.i.i.i.i.i66, i64 1 + %incdec.ptr1.i.i.i.i.i69 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__result.addr.08.i.i.i.i.i65, i64 1 + %dec.i.i.i.i.i70 = add nsw i64 %__n.09.i.i.i.i.i64, -1 + %cmp.i.i.i.i.i71 = icmp ugt i64 %__n.09.i.i.i.i.i64, 1 + br i1 %cmp.i.i.i.i.i71, label %for.body.i.i.i.i.i63, label %if.end109, !llvm.loop !7786 if.else68: ; preds = %if.then %10 = load ptr, ptr %this, align 8 @@ -314654,8 +314693,8 @@ if.else68: ; preds = %if.then %sub.ptr.sub.i.i = sub i64 %sub.ptr.rhs.cast, %sub.ptr.rhs.cast.i.i %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 %sub.i = sub nsw i64 288230376151711743, %sub.ptr.div.i.i - %cmp.i75 = icmp ult i64 %sub.i, %sub.ptr.div.i.i.i - br i1 %cmp.i75, label %if.then.i, label %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit + %cmp.i73 = icmp ult i64 %sub.i, %sub.ptr.div.i.i.i + br i1 %cmp.i73, label %if.then.i, label %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit if.then.i: ; preds = %if.else68 tail call void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.340) #32 @@ -314677,132 +314716,132 @@ _ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE br label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit: ; preds = %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit, %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i - %cond.i76 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i ], [ null, %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit ] - %cmp.i.i.not7.i.i.i.i.i77 = icmp eq ptr %10, %__position.coerce - br i1 %cmp.i.i.not7.i.i.i.i.i77, label %for.body.i.i.i.i86.preheader, label %for.body.i.i.i.i.i78 - -for.body.i.i.i.i.i78: ; preds = %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit, %for.body.i.i.i.i.i78 - %__cur.09.i.i.i.i.i79 = phi ptr [ %incdec.ptr.i.i.i.i.i82, %for.body.i.i.i.i.i78 ], [ %cond.i76, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] - %__first.sroa.0.08.i.i.i.i.i80 = phi ptr [ %incdec.ptr.i.i.i.i.i.i81, %for.body.i.i.i.i.i78 ], [ %10, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i79, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i80) #30 - %incdec.ptr.i.i.i.i.i.i81 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i80, i64 1 - %incdec.ptr.i.i.i.i.i82 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i79, i64 1 - %cmp.i.i.not.i.i.i.i.i83 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i81, %__position.coerce - br i1 %cmp.i.i.not.i.i.i.i.i83, label %for.body.i.i.i.i86.preheader, label %for.body.i.i.i.i.i78, !llvm.loop !7785 - -for.body.i.i.i.i86.preheader: ; preds = %for.body.i.i.i.i.i78, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit - %__cur.0.lcssa.i.i.i.i.i84 = phi ptr [ %cond.i76, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ], [ %incdec.ptr.i.i.i.i.i82, %for.body.i.i.i.i.i78 ] - br label %for.body.i.i.i.i86 - -for.body.i.i.i.i86: ; preds = %for.body.i.i.i.i86.preheader, %for.inc.i.i.i.i100 - %__cur.010.i.i.i.i87 = phi ptr [ %incdec.ptr.i.i.i.i102, %for.inc.i.i.i.i100 ], [ %__cur.0.lcssa.i.i.i.i.i84, %for.body.i.i.i.i86.preheader ] - %__first.sroa.0.09.i.i.i.i88 = phi ptr [ %incdec.ptr.i.i.i.i.i101, %for.inc.i.i.i.i100 ], [ %__first.coerce, %for.body.i.i.i.i86.preheader ] - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.010.i.i.i.i87, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.09.i.i.i.i88) - to label %for.inc.i.i.i.i100 unwind label %lpad.i.i.i.i89 - -for.inc.i.i.i.i100: ; preds = %for.body.i.i.i.i86 - %incdec.ptr.i.i.i.i.i101 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.09.i.i.i.i88, i64 1 - %incdec.ptr.i.i.i.i102 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.010.i.i.i.i87, i64 1 - %cmp.i.not.i.i.i.i103 = icmp eq ptr %incdec.ptr.i.i.i.i.i101, %__last.coerce - br i1 %cmp.i.not.i.i.i.i103, label %invoke.cont83, label %for.body.i.i.i.i86, !llvm.loop !7787 - -lpad.i.i.i.i89: ; preds = %for.body.i.i.i.i86 + %cond.i74 = phi ptr [ %call5.i.i.i, %_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m.exit.i ], [ null, %_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc.exit ] + %cmp.i.i.not7.i.i.i.i.i75 = icmp eq ptr %10, %__position.coerce + br i1 %cmp.i.i.not7.i.i.i.i.i75, label %for.body.i.i.i.i84.preheader, label %for.body.i.i.i.i.i76 + +for.body.i.i.i.i.i76: ; preds = %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit, %for.body.i.i.i.i.i76 + %__cur.09.i.i.i.i.i77 = phi ptr [ %incdec.ptr.i.i.i.i.i80, %for.body.i.i.i.i.i76 ], [ %cond.i74, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] + %__first.sroa.0.08.i.i.i.i.i78 = phi ptr [ %incdec.ptr.i.i.i.i.i.i79, %for.body.i.i.i.i.i76 ], [ %10, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i77, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i78) #30 + %incdec.ptr.i.i.i.i.i.i79 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i78, i64 1 + %incdec.ptr.i.i.i.i.i80 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i77, i64 1 + %cmp.i.i.not.i.i.i.i.i81 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i79, %__position.coerce + br i1 %cmp.i.i.not.i.i.i.i.i81, label %for.body.i.i.i.i84.preheader, label %for.body.i.i.i.i.i76, !llvm.loop !7785 + +for.body.i.i.i.i84.preheader: ; preds = %for.body.i.i.i.i.i76, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit + %__cur.0.lcssa.i.i.i.i.i82 = phi ptr [ %cond.i74, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit ], [ %incdec.ptr.i.i.i.i.i80, %for.body.i.i.i.i.i76 ] + br label %for.body.i.i.i.i84 + +for.body.i.i.i.i84: ; preds = %for.body.i.i.i.i84.preheader, %for.inc.i.i.i.i98 + %__cur.010.i.i.i.i85 = phi ptr [ %incdec.ptr.i.i.i.i100, %for.inc.i.i.i.i98 ], [ %__cur.0.lcssa.i.i.i.i.i82, %for.body.i.i.i.i84.preheader ] + %__first.sroa.0.09.i.i.i.i86 = phi ptr [ %incdec.ptr.i.i.i.i.i99, %for.inc.i.i.i.i98 ], [ %__first.coerce, %for.body.i.i.i.i84.preheader ] + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.010.i.i.i.i85, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.09.i.i.i.i86) + to label %for.inc.i.i.i.i98 unwind label %lpad.i.i.i.i87 + +for.inc.i.i.i.i98: ; preds = %for.body.i.i.i.i84 + %incdec.ptr.i.i.i.i.i99 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.09.i.i.i.i86, i64 1 + %incdec.ptr.i.i.i.i100 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.010.i.i.i.i85, i64 1 + %cmp.i.not.i.i.i.i101 = icmp eq ptr %incdec.ptr.i.i.i.i.i99, %__last.coerce + br i1 %cmp.i.not.i.i.i.i101, label %invoke.cont83, label %for.body.i.i.i.i84, !llvm.loop !7787 + +lpad.i.i.i.i87: ; preds = %for.body.i.i.i.i84 %11 = landingpad { ptr, i32 } catch ptr null %12 = extractvalue { ptr, i32 } %11, 0 %13 = tail call ptr @__cxa_begin_catch(ptr %12) #30 - %cmp.not3.i.i.i.i.i.i90 = icmp eq ptr %__cur.010.i.i.i.i87, %__cur.0.lcssa.i.i.i.i.i84 - br i1 %cmp.not3.i.i.i.i.i.i90, label %invoke.cont5.i.i.i.i95, label %for.body.i.i.i.i.i.i91 + %cmp.not3.i.i.i.i.i.i88 = icmp eq ptr %__cur.010.i.i.i.i85, %__cur.0.lcssa.i.i.i.i.i82 + br i1 %cmp.not3.i.i.i.i.i.i88, label %invoke.cont5.i.i.i.i93, label %for.body.i.i.i.i.i.i89 -for.body.i.i.i.i.i.i91: ; preds = %lpad.i.i.i.i89, %for.body.i.i.i.i.i.i91 - %__first.addr.04.i.i.i.i.i.i92 = phi ptr [ %incdec.ptr.i.i.i.i.i.i93, %for.body.i.i.i.i.i.i91 ], [ %__cur.0.lcssa.i.i.i.i.i84, %lpad.i.i.i.i89 ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i92) #30 - %incdec.ptr.i.i.i.i.i.i93 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i92, i64 1 - %cmp.not.i.i.i.i.i.i94 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i93, %__cur.010.i.i.i.i87 - br i1 %cmp.not.i.i.i.i.i.i94, label %invoke.cont5.i.i.i.i95, label %for.body.i.i.i.i.i.i91, !llvm.loop !8 +for.body.i.i.i.i.i.i89: ; preds = %lpad.i.i.i.i87, %for.body.i.i.i.i.i.i89 + %__first.addr.04.i.i.i.i.i.i90 = phi ptr [ %incdec.ptr.i.i.i.i.i.i91, %for.body.i.i.i.i.i.i89 ], [ %__cur.0.lcssa.i.i.i.i.i82, %lpad.i.i.i.i87 ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i.i.i.i90) #30 + %incdec.ptr.i.i.i.i.i.i91 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i.i.i.i90, i64 1 + %cmp.not.i.i.i.i.i.i92 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i91, %__cur.010.i.i.i.i85 + br i1 %cmp.not.i.i.i.i.i.i92, label %invoke.cont5.i.i.i.i93, label %for.body.i.i.i.i.i.i89, !llvm.loop !8 -invoke.cont5.i.i.i.i95: ; preds = %for.body.i.i.i.i.i.i91, %lpad.i.i.i.i89 +invoke.cont5.i.i.i.i93: ; preds = %for.body.i.i.i.i.i.i89, %lpad.i.i.i.i87 invoke void @__cxa_rethrow() #32 - to label %unreachable.i.i.i.i99 unwind label %lpad4.i.i.i.i96 + to label %unreachable.i.i.i.i97 unwind label %lpad4.i.i.i.i94 -lpad4.i.i.i.i96: ; preds = %invoke.cont5.i.i.i.i95 +lpad4.i.i.i.i94: ; preds = %invoke.cont5.i.i.i.i93 %14 = landingpad { ptr, i32 } catch ptr null invoke void @__cxa_end_catch() - to label %lpad.body unwind label %terminate.lpad.i.i.i.i97 + to label %lpad.body unwind label %terminate.lpad.i.i.i.i95 -terminate.lpad.i.i.i.i97: ; preds = %lpad4.i.i.i.i96 +terminate.lpad.i.i.i.i95: ; preds = %lpad4.i.i.i.i94 %15 = landingpad { ptr, i32 } catch ptr null %16 = extractvalue { ptr, i32 } %15, 0 tail call void @__clang_call_terminate(ptr %16) #29 unreachable -unreachable.i.i.i.i99: ; preds = %invoke.cont5.i.i.i.i95 +unreachable.i.i.i.i97: ; preds = %invoke.cont5.i.i.i.i93 unreachable -invoke.cont83: ; preds = %for.inc.i.i.i.i100 - %cmp.i.i.not7.i.i.i.i.i106 = icmp eq ptr %1, %__position.coerce - br i1 %cmp.i.i.not7.i.i.i.i.i106, label %invoke.cont87, label %for.body.i.i.i.i.i107 - -for.body.i.i.i.i.i107: ; preds = %invoke.cont83, %for.body.i.i.i.i.i107 - %__cur.09.i.i.i.i.i108 = phi ptr [ %incdec.ptr.i.i.i.i.i111, %for.body.i.i.i.i.i107 ], [ %incdec.ptr.i.i.i.i102, %invoke.cont83 ] - %__first.sroa.0.08.i.i.i.i.i109 = phi ptr [ %incdec.ptr.i.i.i.i.i.i110, %for.body.i.i.i.i.i107 ], [ %__position.coerce, %invoke.cont83 ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i108, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i109) #30 - %incdec.ptr.i.i.i.i.i.i110 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i109, i64 1 - %incdec.ptr.i.i.i.i.i111 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i108, i64 1 - %cmp.i.i.not.i.i.i.i.i112 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i110, %1 - br i1 %cmp.i.i.not.i.i.i.i.i112, label %invoke.cont87, label %for.body.i.i.i.i.i107, !llvm.loop !7785 - -invoke.cont87: ; preds = %for.body.i.i.i.i.i107, %invoke.cont83 - %__cur.0.lcssa.i.i.i.i.i113 = phi ptr [ %incdec.ptr.i.i.i.i102, %invoke.cont83 ], [ %incdec.ptr.i.i.i.i.i111, %for.body.i.i.i.i.i107 ] +invoke.cont83: ; preds = %for.inc.i.i.i.i98 + %cmp.i.i.not7.i.i.i.i.i104 = icmp eq ptr %1, %__position.coerce + br i1 %cmp.i.i.not7.i.i.i.i.i104, label %invoke.cont87, label %for.body.i.i.i.i.i105 + +for.body.i.i.i.i.i105: ; preds = %invoke.cont83, %for.body.i.i.i.i.i105 + %__cur.09.i.i.i.i.i106 = phi ptr [ %incdec.ptr.i.i.i.i.i109, %for.body.i.i.i.i.i105 ], [ %incdec.ptr.i.i.i.i100, %invoke.cont83 ] + %__first.sroa.0.08.i.i.i.i.i107 = phi ptr [ %incdec.ptr.i.i.i.i.i.i108, %for.body.i.i.i.i.i105 ], [ %__position.coerce, %invoke.cont83 ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_(ptr noundef nonnull align 8 dereferenceable(32) %__cur.09.i.i.i.i.i106, ptr noundef nonnull align 8 dereferenceable(32) %__first.sroa.0.08.i.i.i.i.i107) #30 + %incdec.ptr.i.i.i.i.i.i108 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.sroa.0.08.i.i.i.i.i107, i64 1 + %incdec.ptr.i.i.i.i.i109 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__cur.09.i.i.i.i.i106, i64 1 + %cmp.i.i.not.i.i.i.i.i110 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i108, %1 + br i1 %cmp.i.i.not.i.i.i.i.i110, label %invoke.cont87, label %for.body.i.i.i.i.i105, !llvm.loop !7785 + +invoke.cont87: ; preds = %for.body.i.i.i.i.i105, %invoke.cont83 + %__cur.0.lcssa.i.i.i.i.i111 = phi ptr [ %incdec.ptr.i.i.i.i100, %invoke.cont83 ], [ %incdec.ptr.i.i.i.i.i109, %for.body.i.i.i.i.i105 ] %cmp.not3.i.i.i = icmp eq ptr %10, %1 br i1 %cmp.not3.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit, label %for.body.i.i.i for.body.i.i.i: ; preds = %invoke.cont87, %for.body.i.i.i - %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i115, %for.body.i.i.i ], [ %10, %invoke.cont87 ] + %__first.addr.04.i.i.i = phi ptr [ %incdec.ptr.i.i.i113, %for.body.i.i.i ], [ %10, %invoke.cont87 ] tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i) #30 - %incdec.ptr.i.i.i115 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i, i64 1 - %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i115, %1 + %incdec.ptr.i.i.i113 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i, i64 1 + %cmp.not.i.i.i = icmp eq ptr %incdec.ptr.i.i.i113, %1 br i1 %cmp.not.i.i.i, label %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit, label %for.body.i.i.i, !llvm.loop !8 _ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit: ; preds = %for.body.i.i.i, %invoke.cont87 %tobool.not.i = icmp eq ptr %10, null - br i1 %tobool.not.i, label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, label %if.then.i116 + br i1 %tobool.not.i, label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, label %if.then.i114 -if.then.i116: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit +if.then.i114: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit tail call void @_ZdlPv(ptr noundef nonnull %10) #33 br label %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit -_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit, %if.then.i116 - store ptr %cond.i76, ptr %this, align 8 - store ptr %__cur.0.lcssa.i.i.i.i.i113, ptr %_M_finish, align 8 - %add.ptr105 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %cond.i76, i64 %cond.i +_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit: ; preds = %_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EvT_S7_RSaIT0_E.exit, %if.then.i114 + store ptr %cond.i74, ptr %this, align 8 + store ptr %__cur.0.lcssa.i.i.i.i.i111, ptr %_M_finish, align 8 + %add.ptr105 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %cond.i74, i64 %cond.i store ptr %add.ptr105, ptr %_M_end_of_storage, align 8 br label %if.end109 -lpad.body: ; preds = %lpad4.i.i.i.i96 +lpad.body: ; preds = %lpad4.i.i.i.i94 %17 = extractvalue { ptr, i32 } %14, 0 %18 = tail call ptr @__cxa_begin_catch(ptr %17) #30 - %cmp.not3.i.i.i117 = icmp eq ptr %cond.i76, %__cur.0.lcssa.i.i.i.i.i84 - br i1 %cmp.not3.i.i.i117, label %invoke.cont91, label %for.body.i.i.i118 - -for.body.i.i.i118: ; preds = %lpad.body, %for.body.i.i.i118 - %__first.addr.04.i.i.i119 = phi ptr [ %incdec.ptr.i.i.i120, %for.body.i.i.i118 ], [ %cond.i76, %lpad.body ] - tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i119) #30 - %incdec.ptr.i.i.i120 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i119, i64 1 - %cmp.not.i.i.i121 = icmp eq ptr %incdec.ptr.i.i.i120, %__cur.0.lcssa.i.i.i.i.i84 - br i1 %cmp.not.i.i.i121, label %invoke.cont91, label %for.body.i.i.i118, !llvm.loop !8 - -invoke.cont91: ; preds = %for.body.i.i.i118, %lpad.body - %tobool.not.i123 = icmp eq ptr %cond.i76, null - br i1 %tobool.not.i123, label %invoke.cont92, label %if.then.i124 - -if.then.i124: ; preds = %invoke.cont91 - tail call void @_ZdlPv(ptr noundef nonnull %cond.i76) #33 + %cmp.not3.i.i.i115 = icmp eq ptr %cond.i74, %__cur.0.lcssa.i.i.i.i.i82 + br i1 %cmp.not3.i.i.i115, label %invoke.cont91, label %for.body.i.i.i116 + +for.body.i.i.i116: ; preds = %lpad.body, %for.body.i.i.i116 + %__first.addr.04.i.i.i117 = phi ptr [ %incdec.ptr.i.i.i118, %for.body.i.i.i116 ], [ %cond.i74, %lpad.body ] + tail call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %__first.addr.04.i.i.i117) #30 + %incdec.ptr.i.i.i118 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %__first.addr.04.i.i.i117, i64 1 + %cmp.not.i.i.i119 = icmp eq ptr %incdec.ptr.i.i.i118, %__cur.0.lcssa.i.i.i.i.i82 + br i1 %cmp.not.i.i.i119, label %invoke.cont91, label %for.body.i.i.i116, !llvm.loop !8 + +invoke.cont91: ; preds = %for.body.i.i.i116, %lpad.body + %tobool.not.i121 = icmp eq ptr %cond.i74, null + br i1 %tobool.not.i121, label %invoke.cont92, label %if.then.i122 + +if.then.i122: ; preds = %invoke.cont91 + tail call void @_ZdlPv(ptr noundef nonnull %cond.i74) #33 br label %invoke.cont92 -invoke.cont92: ; preds = %if.then.i124, %invoke.cont91 +invoke.cont92: ; preds = %if.then.i122, %invoke.cont91 invoke void @__cxa_rethrow() #32 to label %unreachable unwind label %lpad90 @@ -314812,7 +314851,7 @@ lpad90: ; preds = %invoke.cont92 invoke void @__cxa_end_catch() to label %common.resume unwind label %terminate.lpad -if.end109: ; preds = %for.body.i.i.i.i.i65, %for.body.i.i.i.i.i37, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit53, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, %entry +if.end109: ; preds = %for.body.i.i.i.i.i63, %for.body.i.i.i.i.i36, %_ZSt22__uninitialized_move_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_.exit52, %_ZSt13move_backwardIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_.exit, %_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m.exit, %entry ret void terminate.lpad: ; preds = %lpad90 @@ -325603,8 +325642,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %20 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %21, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %21, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %19, ptr %18) to label %invoke.cont30 unwind label %lpad @@ -329138,8 +329176,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %20 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %21, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %21, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %19, ptr %18) to label %invoke.cont30 unwind label %lpad @@ -333798,8 +333835,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %20, ptr %19) to label %invoke.cont30 unwind label %lpad @@ -336985,8 +337021,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %20 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %21, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %21, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %19, ptr %18) to label %invoke.cont30 unwind label %lpad @@ -340314,8 +340349,7 @@ invoke.cont14: ; preds = %.noexc.invoke.cont1 %sub.ptr.lhs.cast.i.i = ptrtoint ptr %21 to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %22 to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %add.ptr.i.i = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %22, i64 %sub.ptr.div.i.i + %add.ptr.i.i = getelementptr inbounds i8, ptr %22, i64 %sub.ptr.sub.i.i invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPS5_S7_EEEEvSC_T_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %state, ptr %add.ptr.i.i, ptr %20, ptr %19) to label %invoke.cont30 unwind label %lpad diff --git a/bench/abseil-cpp/optimized/hashtablez_sampler_test.cc.ll b/bench/abseil-cpp/optimized/hashtablez_sampler_test.cc.ll index b0b720f47a2..88578cb0ddf 100644 --- a/bench/abseil-cpp/optimized/hashtablez_sampler_test.cc.ll +++ b/bench/abseil-cpp/optimized/hashtablez_sampler_test.cc.ll @@ -11839,23 +11839,24 @@ _ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocate %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i18, %_ZNSt16allocator_traitsISaIPKN7testing25MatcherDescriberInterfaceEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %retval.0.i, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %26, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %26, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %26) #22 br label %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKN7testing25MatcherDescriberInterfaceESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %matcher_describers_.i, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i8, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -13730,23 +13731,24 @@ _ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i.i.i.i: ; preds = %_ZNSt16a %cond.i10.i.i.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaImEE8allocateERS0_m.exit.i.i.i.i.i.i.i ], [ null, %_ZNKSt6vectorImSaImEE12_M_check_lenEmPKc.exit.i.i.i.i.i.i ] %add.ptr.i.i.i.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i store i64 %1, ptr %add.ptr.i.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i.i, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i.i.i + %cmp.i.i.i11.i.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i.i.i, label %if.then.i.i.i12.i.i.i.i.i.i, label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i.i.i if.then.i.i.i12.i.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i.i.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i.i.i.i, ptr align 8 %5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i.i.i + br label %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i.i.i -_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i.i.i.i - %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i, i64 1 +_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i.i.i, %_ZNSt12_Vector_baseImSaImEE11_M_allocateEm.exit.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i + %incdec.ptr.i.i.i.i.i.i = getelementptr inbounds i64, ptr %add.ptr.i.i.i.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %5, null - br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i.i.i, label %if.then.i21.i.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i.i.i, label %if.then.i20.i.i.i.i.i.i -if.then.i21.i.i.i.i.i.i: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i.i.i +if.then.i20.i.i.i.i.i.i: ; preds = %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i.i.i tail call void @_ZdlPv(ptr noundef nonnull %5) #22 br label %_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i.i.i -_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i.i, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit20.i.i.i.i.i.i +_ZNSt6vectorImSaImEE17_M_realloc_insertIJmEEEvN9__gnu_cxx17__normal_iteratorIPmS1_EEDpOT_.exit.i.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i.i, %_ZNSt6vectorImSaImEE11_S_relocateEPmS2_S2_RS0_.exit19.i.i.i.i.i.i store ptr %cond.i10.i.i.i.i.i.i, ptr %0, align 8 store ptr %incdec.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i, align 8 %add.ptr19.i.i.i.i.i.i = getelementptr inbounds i64, ptr %cond.i10.i.i.i.i.i.i, i64 %cond.i.i.i.i.i.i.i @@ -14154,11 +14156,11 @@ entry: ; Function Attrs: mustprogress uwtable define internal void @_ZN4absl18container_internal12_GLOBAL__N_141HashtablezSamplerTest_Unregistration_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { entry: - %ref.tmp.i299 = alloca %"class.std::function", align 8 - %ref.tmp.i238 = alloca %"class.std::function", align 8 - %ref.tmp.i181 = alloca %"class.std::function", align 8 - %test_stride.i135 = alloca i64, align 8 - %test_element_size.i136 = alloca i64, align 8 + %ref.tmp.i301 = alloca %"class.std::function", align 8 + %ref.tmp.i240 = alloca %"class.std::function", align 8 + %ref.tmp.i183 = alloca %"class.std::function", align 8 + %test_stride.i136 = alloca i64, align 8 + %test_element_size.i137 = alloca i64, align 8 %test_stride.i92 = alloca i64, align 8 %test_element_size.i93 = alloca i64, align 8 %ref.tmp.i42 = alloca %"class.std::function", align 8 @@ -14216,8 +14218,8 @@ terminate.lpad.i.i: ; preds = %invoke.cont.i call void @__clang_call_terminate(ptr %1) #24 unreachable -common.resume: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit357, %lpad.i - %common.resume.op = phi { ptr, i32 } [ %2, %lpad.i ], [ %.pn17382, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit357 ] +common.resume: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit359, %lpad.i + %common.resume.op = phi { ptr, i32 } [ %2, %lpad.i ], [ %.pn17384, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit359 ] resume { ptr, i32 } %common.resume.op lpad.i: ; preds = %entry @@ -14227,10 +14229,10 @@ lpad.i: ; preds = %entry br label %common.resume for.body: ; preds = %invoke.cont.i, %for.inc - %i.0396 = phi i64 [ %inc, %for.inc ], [ 0, %invoke.cont.i ] - %infos.sroa.0.0395 = phi ptr [ %infos.sroa.0.1, %for.inc ], [ null, %invoke.cont.i ] - %infos.sroa.14.0394 = phi ptr [ %infos.sroa.14.1, %for.inc ], [ null, %invoke.cont.i ] - %infos.sroa.26.0393 = phi ptr [ %infos.sroa.26.1, %for.inc ], [ null, %invoke.cont.i ] + %i.0398 = phi i64 [ %inc, %for.inc ], [ 0, %invoke.cont.i ] + %infos.sroa.0.0397 = phi ptr [ %infos.sroa.0.1, %for.inc ], [ null, %invoke.cont.i ] + %infos.sroa.14.0396 = phi ptr [ %infos.sroa.14.1, %for.inc ], [ null, %invoke.cont.i ] + %infos.sroa.26.0395 = phi ptr [ %infos.sroa.26.1, %for.inc ], [ null, %invoke.cont.i ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %test_stride.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %test_element_size.i) store i64 123, ptr %test_stride.i, align 8 @@ -14240,19 +14242,19 @@ for.body: ; preds = %invoke.cont.i, %for invoke.cont: ; preds = %for.body %size1.i = getelementptr inbounds %"struct.absl::container_internal::HashtablezInfo", ptr %call.i19, i64 0, i32 2 - store atomic i64 %i.0396, ptr %size1.i seq_cst, align 8 + store atomic i64 %i.0398, ptr %size1.i seq_cst, align 8 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %test_stride.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %test_element_size.i) - %cmp.not.i.i = icmp eq ptr %infos.sroa.14.0394, %infos.sroa.26.0393 + %cmp.not.i.i = icmp eq ptr %infos.sroa.14.0396, %infos.sroa.26.0395 br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i if.then.i.i: ; preds = %invoke.cont - store ptr %call.i19, ptr %infos.sroa.14.0394, align 8 + store ptr %call.i19, ptr %infos.sroa.14.0396, align 8 br label %for.inc if.else.i.i: ; preds = %invoke.cont - %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %infos.sroa.14.0394 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %infos.sroa.0.0395 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %infos.sroa.14.0396 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %infos.sroa.0.0397 to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i %cmp.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i @@ -14284,42 +14286,43 @@ _ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_all %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i20, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call.i19, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %infos.sroa.0.0395, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %infos.sroa.0.0397, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i - %tobool.not.i.i.i.i = icmp eq ptr %infos.sroa.0.0395, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %tobool.not.i.i.i.i = icmp eq ptr %infos.sroa.0.0397, null + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i - call void @_ZdlPv(ptr noundef nonnull %infos.sroa.0.0395) #22 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i + call void @_ZdlPv(ptr noundef nonnull %infos.sroa.0.0397) #22 br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, %if.then.i.i - %infos.sroa.26.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %infos.sroa.26.0393, %if.then.i.i ] - %add.ptr.i.i.i.pn = phi ptr [ %add.ptr.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %infos.sroa.14.0394, %if.then.i.i ] - %infos.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %infos.sroa.0.0395, %if.then.i.i ] - %infos.sroa.14.1 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.pn, i64 1 - %inc = add nuw nsw i64 %i.0396, 1 + %infos.sroa.26.1 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %infos.sroa.26.0395, %if.then.i.i ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %infos.sroa.14.0396, %if.then.i.i ] + %infos.sroa.0.1 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i ], [ %infos.sroa.0.0397, %if.then.i.i ] + %infos.sroa.14.1 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 + %inc = add nuw nsw i64 %i.0398, 1 %exitcond.not = icmp eq i64 %inc, 3 br i1 %exitcond.not, label %invoke.cont8, label %for.body, !llvm.loop !169 lpad.loopexit: ; preds = %for.body, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i - %lpad.loopexit383 = landingpad { ptr, i32 } + %lpad.loopexit385 = landingpad { ptr, i32 } cleanup br label %ehcleanup161 -lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit, %_ZN7testing15AssertionResultD2Ev.exit91, %if.then.i.i.i.i130, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i117, %invoke.cont59, %if.then.i.i.i.i173, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i160, %_ZN7testing15AssertionResultD2Ev.exit230, %_ZN7testing15AssertionResultD2Ev.exit287, %invoke.cont128, %invoke.cont130 - %infos.sroa.0.2.ph = phi ptr [ %infos.sroa.0.1, %_ZN7testing15AssertionResultD2Ev.exit ], [ %infos.sroa.0.1, %_ZN7testing15AssertionResultD2Ev.exit91 ], [ %infos.sroa.0.1, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i117 ], [ %infos.sroa.0.8, %invoke.cont59 ], [ %infos.sroa.0.8, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i160 ], [ %infos.sroa.0.9, %_ZN7testing15AssertionResultD2Ev.exit230 ], [ %infos.sroa.0.9, %_ZN7testing15AssertionResultD2Ev.exit287 ], [ %infos.sroa.0.9, %invoke.cont128 ], [ %infos.sroa.0.9, %invoke.cont130 ], [ %infos.sroa.0.8, %if.then.i.i.i.i173 ], [ %infos.sroa.0.1, %if.then.i.i.i.i130 ], [ %infos.sroa.0.0395, %if.then.i.i.i.i ] - %lpad.loopexit.split-lp384 = landingpad { ptr, i32 } +lpad.loopexit.split-lp: ; preds = %if.then.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit, %_ZN7testing15AssertionResultD2Ev.exit91, %if.then.i.i.i.i131, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i117, %invoke.cont59, %if.then.i.i.i.i175, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i161, %_ZN7testing15AssertionResultD2Ev.exit232, %_ZN7testing15AssertionResultD2Ev.exit289, %invoke.cont128, %invoke.cont130 + %infos.sroa.0.2.ph = phi ptr [ %infos.sroa.0.1, %_ZN7testing15AssertionResultD2Ev.exit ], [ %infos.sroa.0.1, %_ZN7testing15AssertionResultD2Ev.exit91 ], [ %infos.sroa.0.1, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i117 ], [ %infos.sroa.0.8, %invoke.cont59 ], [ %infos.sroa.0.8, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i161 ], [ %infos.sroa.0.9, %_ZN7testing15AssertionResultD2Ev.exit232 ], [ %infos.sroa.0.9, %_ZN7testing15AssertionResultD2Ev.exit289 ], [ %infos.sroa.0.9, %invoke.cont128 ], [ %infos.sroa.0.9, %invoke.cont130 ], [ %infos.sroa.0.8, %if.then.i.i.i.i175 ], [ %infos.sroa.0.1, %if.then.i.i.i.i131 ], [ %infos.sroa.0.0397, %if.then.i.i.i.i ] + %lpad.loopexit.split-lp386 = landingpad { ptr, i32 } cleanup br label %ehcleanup161 @@ -14563,11 +14566,11 @@ terminate.lpad.i.i6.i50: ; preds = %if.then.i.i4.i48 _ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i51: ; preds = %if.then.i.i4.i48, %lpad.i46 %38 = load ptr, ptr %ref.tmp34, align 8, !alias.scope !176 %tobool.not.i.i.i.i52 = icmp eq ptr %38, null - br i1 %tobool.not.i.i.i.i52, label %if.then.i.i.i356, label %if.then.i.i.i.i53 + br i1 %tobool.not.i.i.i.i52, label %if.then.i.i.i358, label %if.then.i.i.i.i53 if.then.i.i.i.i53: ; preds = %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i51 call void @_ZdlPv(ptr noundef nonnull %38) #22 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 invoke.cont35: ; preds = %if.then.i.i.i57, %invoke.cont.i55 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i42) @@ -14599,11 +14602,11 @@ lpad36: ; preds = %invoke.cont35 cleanup %43 = load ptr, ptr %ref.tmp34, align 8 %tobool.not.i.i.i69 = icmp eq ptr %43, null - br i1 %tobool.not.i.i.i69, label %if.then.i.i.i356, label %if.then.i.i.i70 + br i1 %tobool.not.i.i.i69, label %if.then.i.i.i358, label %if.then.i.i.i70 if.then.i.i.i70: ; preds = %lpad36 call void @_ZdlPv(ptr noundef nonnull %43) #22 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 if.else41: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit66 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp42) @@ -14715,13 +14718,13 @@ if.else.i.i103: ; preds = %invoke.cont57 %sub.ptr.rhs.cast.i.i.i.i.i105 = ptrtoint ptr %infos.sroa.0.1 to i64 %sub.ptr.sub.i.i.i.i.i106 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i104, %sub.ptr.rhs.cast.i.i.i.i.i105 %cmp.i.i.i.i107 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i106, 9223372036854775800 - br i1 %cmp.i.i.i.i107, label %if.then.i.i.i.i130, label %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i108 + br i1 %cmp.i.i.i.i107, label %if.then.i.i.i.i131, label %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i108 -if.then.i.i.i.i130: ; preds = %if.else.i.i103 +if.then.i.i.i.i131: ; preds = %if.else.i.i103 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.81) #26 - to label %.noexc131 unwind label %lpad.loopexit.split-lp + to label %.noexc132 unwind label %lpad.loopexit.split-lp -.noexc131: ; preds = %if.then.i.i.i.i130 +.noexc132: ; preds = %if.then.i.i.i.i131 unreachable _ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i108: ; preds = %if.else.i.i103 @@ -14737,207 +14740,208 @@ _ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_len _ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i117: ; preds = %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i108 %mul.i.i.i.i.i.i118 = shl nuw nsw i64 %cond.i.i.i.i115, 3 - %call5.i.i.i.i.i.i133 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i118) #23 + %call5.i.i.i.i.i.i134 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i118) #23 to label %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i119 unwind label %lpad.loopexit.split-lp _ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i119: ; preds = %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i117, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i108 - %cond.i10.i.i.i120 = phi ptr [ null, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i108 ], [ %call5.i.i.i.i.i.i133, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i117 ] + %cond.i10.i.i.i120 = phi ptr [ null, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i108 ], [ %call5.i.i.i.i.i.i134, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i117 ] %add.ptr.i.i.i121 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i120, i64 %sub.ptr.div.i.i.i.i.i109 store ptr %call.i9496, ptr %add.ptr.i.i.i121, align 8 - %cmp.i.i.i11.i.i.i122 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i109, 0 - br i1 %cmp.i.i.i11.i.i.i122, label %if.then.i.i.i12.i.i.i129, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i127 + %cmp.i.i.i11.i.i.i122 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i106, 0 + br i1 %cmp.i.i.i11.i.i.i122, label %if.then.i.i.i12.i.i.i130, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i128 -if.then.i.i.i12.i.i.i129: ; preds = %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i119 +if.then.i.i.i12.i.i.i130: ; preds = %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i119 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i120, ptr nonnull align 8 %infos.sroa.0.1, i64 %sub.ptr.sub.i.i.i.i.i106, i1 false) - br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i127 + br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i128 -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i127: ; preds = %if.then.i.i.i12.i.i.i129, %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i119 +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i128: ; preds = %if.then.i.i.i12.i.i.i130, %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i119 + %add.ptr.i.i.i.i.i.i124 = getelementptr inbounds i8, ptr %cond.i10.i.i.i120, i64 %sub.ptr.sub.i.i.i.i.i106 call void @_ZdlPv(ptr noundef nonnull %infos.sroa.0.1) #22 - %add.ptr19.i.i.i128 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i120, i64 %cond.i.i.i.i115 + %add.ptr19.i.i.i129 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i120, i64 %cond.i.i.i.i115 br label %invoke.cont59 -invoke.cont59: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i127, %if.then.i.i101 - %infos.sroa.26.2 = phi ptr [ %add.ptr19.i.i.i128, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i127 ], [ %infos.sroa.26.1, %if.then.i.i101 ] - %add.ptr.i.i.i121.pn = phi ptr [ %add.ptr.i.i.i121, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i127 ], [ %infos.sroa.14.1, %if.then.i.i101 ] - %infos.sroa.0.8 = phi ptr [ %cond.i10.i.i.i120, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i127 ], [ %infos.sroa.0.1, %if.then.i.i101 ] - %infos.sroa.14.2 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i121.pn, i64 1 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %test_stride.i135) - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %test_element_size.i136) - store i64 123, ptr %test_stride.i135, align 8 - store i64 17, ptr %test_element_size.i136, align 8 - %call.i137139 = invoke noundef ptr @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE8RegisterIJRKlRKmEEEPS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef nonnull align 8 dereferenceable(8) %test_stride.i135, ptr noundef nonnull align 8 dereferenceable(8) %test_element_size.i136) +invoke.cont59: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i128, %if.then.i.i101 + %infos.sroa.26.2 = phi ptr [ %add.ptr19.i.i.i129, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i128 ], [ %infos.sroa.26.1, %if.then.i.i101 ] + %add.ptr.i.i.i.i.i.i124.pn = phi ptr [ %add.ptr.i.i.i.i.i.i124, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i128 ], [ %infos.sroa.14.1, %if.then.i.i101 ] + %infos.sroa.0.8 = phi ptr [ %cond.i10.i.i.i120, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i128 ], [ %infos.sroa.0.1, %if.then.i.i101 ] + %infos.sroa.14.2 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i124.pn, i64 1 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %test_stride.i136) + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %test_element_size.i137) + store i64 123, ptr %test_stride.i136, align 8 + store i64 17, ptr %test_element_size.i137, align 8 + %call.i138140 = invoke noundef ptr @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE8RegisterIJRKlRKmEEEPS3_DpOT_(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef nonnull align 8 dereferenceable(8) %test_stride.i136, ptr noundef nonnull align 8 dereferenceable(8) %test_element_size.i137) to label %invoke.cont61 unwind label %lpad.loopexit.split-lp invoke.cont61: ; preds = %invoke.cont59 - %size1.i138 = getelementptr inbounds %"struct.absl::container_internal::HashtablezInfo", ptr %call.i137139, i64 0, i32 2 - store atomic i64 4, ptr %size1.i138 seq_cst, align 8 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %test_stride.i135) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %test_element_size.i136) - %cmp.not.i.i143 = icmp eq ptr %infos.sroa.14.2, %infos.sroa.26.2 - br i1 %cmp.not.i.i143, label %if.else.i.i146, label %if.then.i.i144 - -if.then.i.i144: ; preds = %invoke.cont61 - store ptr %call.i137139, ptr %infos.sroa.14.2, align 8 + %size1.i139 = getelementptr inbounds %"struct.absl::container_internal::HashtablezInfo", ptr %call.i138140, i64 0, i32 2 + store atomic i64 4, ptr %size1.i139 seq_cst, align 8 + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %test_stride.i136) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %test_element_size.i137) + %cmp.not.i.i144 = icmp eq ptr %infos.sroa.14.2, %infos.sroa.26.2 + br i1 %cmp.not.i.i144, label %if.else.i.i147, label %if.then.i.i145 + +if.then.i.i145: ; preds = %invoke.cont61 + store ptr %call.i138140, ptr %infos.sroa.14.2, align 8 br label %invoke.cont72 -if.else.i.i146: ; preds = %invoke.cont61 - %sub.ptr.lhs.cast.i.i.i.i.i147 = ptrtoint ptr %infos.sroa.26.2 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i148 = ptrtoint ptr %infos.sroa.0.8 to i64 - %sub.ptr.sub.i.i.i.i.i149 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i147, %sub.ptr.rhs.cast.i.i.i.i.i148 - %cmp.i.i.i.i150 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i149, 9223372036854775800 - br i1 %cmp.i.i.i.i150, label %if.then.i.i.i.i173, label %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i151 +if.else.i.i147: ; preds = %invoke.cont61 + %sub.ptr.lhs.cast.i.i.i.i.i148 = ptrtoint ptr %infos.sroa.26.2 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i149 = ptrtoint ptr %infos.sroa.0.8 to i64 + %sub.ptr.sub.i.i.i.i.i150 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i148, %sub.ptr.rhs.cast.i.i.i.i.i149 + %cmp.i.i.i.i151 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i150, 9223372036854775800 + br i1 %cmp.i.i.i.i151, label %if.then.i.i.i.i175, label %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i152 -if.then.i.i.i.i173: ; preds = %if.else.i.i146 +if.then.i.i.i.i175: ; preds = %if.else.i.i147 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.81) #26 - to label %.noexc174 unwind label %lpad.loopexit.split-lp + to label %.noexc176 unwind label %lpad.loopexit.split-lp -.noexc174: ; preds = %if.then.i.i.i.i173 +.noexc176: ; preds = %if.then.i.i.i.i175 unreachable -_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i151: ; preds = %if.else.i.i146 - %sub.ptr.div.i.i.i.i.i152 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i149, 3 - %.sroa.speculated.i.i.i.i153 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i152, i64 1) - %add.i.i.i.i154 = add i64 %.sroa.speculated.i.i.i.i153, %sub.ptr.div.i.i.i.i.i152 - %cmp7.i.i.i.i155 = icmp ult i64 %add.i.i.i.i154, %sub.ptr.div.i.i.i.i.i152 - %cmp9.i.i.i.i156 = icmp ugt i64 %add.i.i.i.i154, 1152921504606846975 - %or.cond.i.i.i.i157 = or i1 %cmp7.i.i.i.i155, %cmp9.i.i.i.i156 - %cond.i.i.i.i158 = select i1 %or.cond.i.i.i.i157, i64 1152921504606846975, i64 %add.i.i.i.i154 - %cmp.not.i.i.i.i159 = icmp eq i64 %cond.i.i.i.i158, 0 - br i1 %cmp.not.i.i.i.i159, label %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i162, label %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i160 - -_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i160: ; preds = %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i151 - %mul.i.i.i.i.i.i161 = shl nuw nsw i64 %cond.i.i.i.i158, 3 - %call5.i.i.i.i.i.i176 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i161) #23 - to label %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i162 unwind label %lpad.loopexit.split-lp - -_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i162: ; preds = %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i160, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i151 - %cond.i10.i.i.i163 = phi ptr [ null, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i151 ], [ %call5.i.i.i.i.i.i176, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i160 ] - %add.ptr.i.i.i164 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i163, i64 %sub.ptr.div.i.i.i.i.i152 - store ptr %call.i137139, ptr %add.ptr.i.i.i164, align 8 - %cmp.i.i.i11.i.i.i165 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i152, 0 - br i1 %cmp.i.i.i11.i.i.i165, label %if.then.i.i.i12.i.i.i172, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i170 - -if.then.i.i.i12.i.i.i172: ; preds = %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i162 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i163, ptr nonnull align 8 %infos.sroa.0.8, i64 %sub.ptr.sub.i.i.i.i.i149, i1 false) - br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i170 - -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i170: ; preds = %if.then.i.i.i12.i.i.i172, %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i162 +_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i152: ; preds = %if.else.i.i147 + %sub.ptr.div.i.i.i.i.i153 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i150, 3 + %.sroa.speculated.i.i.i.i154 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i153, i64 1) + %add.i.i.i.i155 = add i64 %.sroa.speculated.i.i.i.i154, %sub.ptr.div.i.i.i.i.i153 + %cmp7.i.i.i.i156 = icmp ult i64 %add.i.i.i.i155, %sub.ptr.div.i.i.i.i.i153 + %cmp9.i.i.i.i157 = icmp ugt i64 %add.i.i.i.i155, 1152921504606846975 + %or.cond.i.i.i.i158 = or i1 %cmp7.i.i.i.i156, %cmp9.i.i.i.i157 + %cond.i.i.i.i159 = select i1 %or.cond.i.i.i.i158, i64 1152921504606846975, i64 %add.i.i.i.i155 + %cmp.not.i.i.i.i160 = icmp eq i64 %cond.i.i.i.i159, 0 + br i1 %cmp.not.i.i.i.i160, label %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i163, label %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i161 + +_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i161: ; preds = %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i152 + %mul.i.i.i.i.i.i162 = shl nuw nsw i64 %cond.i.i.i.i159, 3 + %call5.i.i.i.i.i.i178 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i162) #23 + to label %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i163 unwind label %lpad.loopexit.split-lp + +_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i163: ; preds = %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i161, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i152 + %cond.i10.i.i.i164 = phi ptr [ null, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i152 ], [ %call5.i.i.i.i.i.i178, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i161 ] + %add.ptr.i.i.i165 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i164, i64 %sub.ptr.div.i.i.i.i.i153 + store ptr %call.i138140, ptr %add.ptr.i.i.i165, align 8 + %cmp.i.i.i11.i.i.i166 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i150, 0 + br i1 %cmp.i.i.i11.i.i.i166, label %if.then.i.i.i12.i.i.i174, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i172 + +if.then.i.i.i12.i.i.i174: ; preds = %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i163 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i164, ptr nonnull align 8 %infos.sroa.0.8, i64 %sub.ptr.sub.i.i.i.i.i150, i1 false) + br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i172 + +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i172: ; preds = %if.then.i.i.i12.i.i.i174, %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i163 call void @_ZdlPv(ptr noundef nonnull %infos.sroa.0.8) #22 br label %invoke.cont72 -invoke.cont72: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i170, %if.then.i.i144 - %infos.sroa.0.9 = phi ptr [ %cond.i10.i.i.i163, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i170 ], [ %infos.sroa.0.8, %if.then.i.i144 ] +invoke.cont72: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i172, %if.then.i.i145 + %infos.sroa.0.9 = phi ptr [ %cond.i10.i.i.i164, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i172 ], [ %infos.sroa.0.8, %if.then.i.i145 ] store <4 x i32> , ptr %ref.tmp65, align 16 call void @llvm.experimental.noalias.scope.decl(metadata !179) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i181) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i183) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp73, i8 0, i64 24, i1 false), !alias.scope !179 - %_M_manager.i.i.i182 = getelementptr inbounds %"class.std::_Function_base", ptr %ref.tmp.i181, i64 0, i32 1 - %_M_invoker.i.i183 = getelementptr inbounds %"class.std::function", ptr %ref.tmp.i181, i64 0, i32 1 - %53 = getelementptr inbounds i8, ptr %ref.tmp.i181, i64 8 + %_M_manager.i.i.i184 = getelementptr inbounds %"class.std::_Function_base", ptr %ref.tmp.i183, i64 0, i32 1 + %_M_invoker.i.i185 = getelementptr inbounds %"class.std::function", ptr %ref.tmp.i183, i64 0, i32 1 + %53 = getelementptr inbounds i8, ptr %ref.tmp.i183, i64 8 store i64 0, ptr %53, align 8, !noalias !179 %54 = ptrtoint ptr %ref.tmp73 to i64 - store i64 %54, ptr %ref.tmp.i181, align 8, !noalias !179 - store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E9_M_invokeERKSt9_Any_dataS4_", ptr %_M_invoker.i.i183, align 8, !noalias !179 - store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation", ptr %_M_manager.i.i.i182, align 8, !noalias !179 - %call.i184 = invoke noundef i64 @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE7IterateERKSt8functionIFvRKS3_EE(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i181) - to label %invoke.cont.i194 unwind label %lpad.i185 - -invoke.cont.i194: ; preds = %invoke.cont72 - %55 = load ptr, ptr %_M_manager.i.i.i182, align 8, !noalias !179 - %tobool.not.i.i.i195 = icmp eq ptr %55, null - br i1 %tobool.not.i.i.i195, label %invoke.cont74, label %if.then.i.i.i196 - -if.then.i.i.i196: ; preds = %invoke.cont.i194 - %call.i.i.i197 = invoke noundef zeroext i1 %55(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i181, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i181, i32 noundef 3) - to label %invoke.cont74 unwind label %terminate.lpad.i.i.i198 - -terminate.lpad.i.i.i198: ; preds = %if.then.i.i.i196 + store i64 %54, ptr %ref.tmp.i183, align 8, !noalias !179 + store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E9_M_invokeERKSt9_Any_dataS4_", ptr %_M_invoker.i.i185, align 8, !noalias !179 + store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation", ptr %_M_manager.i.i.i184, align 8, !noalias !179 + %call.i186 = invoke noundef i64 @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE7IterateERKSt8functionIFvRKS3_EE(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i183) + to label %invoke.cont.i196 unwind label %lpad.i187 + +invoke.cont.i196: ; preds = %invoke.cont72 + %55 = load ptr, ptr %_M_manager.i.i.i184, align 8, !noalias !179 + %tobool.not.i.i.i197 = icmp eq ptr %55, null + br i1 %tobool.not.i.i.i197, label %invoke.cont74, label %if.then.i.i.i198 + +if.then.i.i.i198: ; preds = %invoke.cont.i196 + %call.i.i.i199 = invoke noundef zeroext i1 %55(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i183, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i183, i32 noundef 3) + to label %invoke.cont74 unwind label %terminate.lpad.i.i.i200 + +terminate.lpad.i.i.i200: ; preds = %if.then.i.i.i198 %56 = landingpad { ptr, i32 } catch ptr null %57 = extractvalue { ptr, i32 } %56, 0 call void @__clang_call_terminate(ptr %57) #24 unreachable -lpad.i185: ; preds = %invoke.cont72 +lpad.i187: ; preds = %invoke.cont72 %58 = landingpad { ptr, i32 } cleanup - %59 = load ptr, ptr %_M_manager.i.i.i182, align 8, !noalias !179 - %tobool.not.i.i3.i186 = icmp eq ptr %59, null - br i1 %tobool.not.i.i3.i186, label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i190, label %if.then.i.i4.i187 + %59 = load ptr, ptr %_M_manager.i.i.i184, align 8, !noalias !179 + %tobool.not.i.i3.i188 = icmp eq ptr %59, null + br i1 %tobool.not.i.i3.i188, label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i192, label %if.then.i.i4.i189 -if.then.i.i4.i187: ; preds = %lpad.i185 - %call.i.i5.i188 = invoke noundef zeroext i1 %59(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i181, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i181, i32 noundef 3) - to label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i190 unwind label %terminate.lpad.i.i6.i189 +if.then.i.i4.i189: ; preds = %lpad.i187 + %call.i.i5.i190 = invoke noundef zeroext i1 %59(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i183, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i183, i32 noundef 3) + to label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i192 unwind label %terminate.lpad.i.i6.i191 -terminate.lpad.i.i6.i189: ; preds = %if.then.i.i4.i187 +terminate.lpad.i.i6.i191: ; preds = %if.then.i.i4.i189 %60 = landingpad { ptr, i32 } catch ptr null %61 = extractvalue { ptr, i32 } %60, 0 call void @__clang_call_terminate(ptr %61) #24 unreachable -_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i190: ; preds = %if.then.i.i4.i187, %lpad.i185 +_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i192: ; preds = %if.then.i.i4.i189, %lpad.i187 %62 = load ptr, ptr %ref.tmp73, align 8, !alias.scope !179 - %tobool.not.i.i.i.i191 = icmp eq ptr %62, null - br i1 %tobool.not.i.i.i.i191, label %if.then.i.i.i356, label %if.then.i.i.i.i192 + %tobool.not.i.i.i.i193 = icmp eq ptr %62, null + br i1 %tobool.not.i.i.i.i193, label %if.then.i.i.i358, label %if.then.i.i.i.i194 -if.then.i.i.i.i192: ; preds = %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i190 +if.then.i.i.i.i194: ; preds = %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i192 call void @_ZdlPv(ptr noundef nonnull %62) #22 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 -invoke.cont74: ; preds = %if.then.i.i.i196, %invoke.cont.i194 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i181) +invoke.cont74: ; preds = %if.then.i.i.i198, %invoke.cont.i196 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i183) invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_27UnorderedElementsAreMatcherISt5tupleIJiiiiEEEEEclISt6vectorImSaImEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar64, ptr noundef nonnull align 4 dereferenceable(16) %ref.tmp65, ptr noundef nonnull @.str.67, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp73) to label %invoke.cont76 unwind label %lpad75 invoke.cont76: ; preds = %invoke.cont74 %63 = load ptr, ptr %ref.tmp73, align 8 - %tobool.not.i.i.i203 = icmp eq ptr %63, null - br i1 %tobool.not.i.i.i203, label %_ZNSt6vectorImSaImEED2Ev.exit205, label %if.then.i.i.i204 + %tobool.not.i.i.i205 = icmp eq ptr %63, null + br i1 %tobool.not.i.i.i205, label %_ZNSt6vectorImSaImEED2Ev.exit207, label %if.then.i.i.i206 -if.then.i.i.i204: ; preds = %invoke.cont76 +if.then.i.i.i206: ; preds = %invoke.cont76 call void @_ZdlPv(ptr noundef nonnull %63) #22 - br label %_ZNSt6vectorImSaImEED2Ev.exit205 + br label %_ZNSt6vectorImSaImEED2Ev.exit207 -_ZNSt6vectorImSaImEED2Ev.exit205: ; preds = %invoke.cont76, %if.then.i.i.i204 +_ZNSt6vectorImSaImEED2Ev.exit207: ; preds = %invoke.cont76, %if.then.i.i.i206 %64 = load i8, ptr %gtest_ar64, align 8 %65 = and i8 %64, 1 - %tobool.i206.not = icmp eq i8 %65, 0 - br i1 %tobool.i206.not, label %if.else80, label %if.end93 + %tobool.i208.not = icmp eq i8 %65, 0 + br i1 %tobool.i208.not, label %if.else80, label %if.end93 ehcleanup55: ; preds = %_ZN7testing7MessageD2Ev.exit87, %lpad43 %.pn5.pn = phi { ptr, i32 } [ %.pn5, %_ZN7testing7MessageD2Ev.exit87 ], [ %47, %lpad43 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar27) #21 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 lpad75: ; preds = %invoke.cont74 %66 = landingpad { ptr, i32 } cleanup %67 = load ptr, ptr %ref.tmp73, align 8 - %tobool.not.i.i.i208 = icmp eq ptr %67, null - br i1 %tobool.not.i.i.i208, label %if.then.i.i.i356, label %if.then.i.i.i209 + %tobool.not.i.i.i210 = icmp eq ptr %67, null + br i1 %tobool.not.i.i.i210, label %if.then.i.i.i358, label %if.then.i.i.i211 -if.then.i.i.i209: ; preds = %lpad75 +if.then.i.i.i211: ; preds = %lpad75 call void @_ZdlPv(ptr noundef nonnull %67) #22 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 -if.else80: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit205 +if.else80: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit207 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp81) to label %invoke.cont83 unwind label %lpad82 invoke.cont83: ; preds = %if.else80 - %message_.i.i211 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 - %68 = load ptr, ptr %message_.i.i211, align 8 - %cmp.i.i.not.i.i212 = icmp eq ptr %68, null - br i1 %cmp.i.i.not.i.i212, label %invoke.cont86, label %cond.true.i.i213 + %message_.i.i213 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 + %68 = load ptr, ptr %message_.i.i213, align 8 + %cmp.i.i.not.i.i214 = icmp eq ptr %68, null + br i1 %cmp.i.i.not.i.i214, label %invoke.cont86, label %cond.true.i.i215 -cond.true.i.i213: ; preds = %invoke.cont83 - %call4.i.i214 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #21 +cond.true.i.i215: ; preds = %invoke.cont83 + %call4.i.i216 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #21 br label %invoke.cont86 -invoke.cont86: ; preds = %cond.true.i.i213, %invoke.cont83 - %cond.i.i215 = phi ptr [ %call4.i.i214, %cond.true.i.i213 ], [ @.str.42, %invoke.cont83 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp84, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 336, ptr noundef %cond.i.i215) +invoke.cont86: ; preds = %cond.true.i.i215, %invoke.cont83 + %cond.i.i217 = phi ptr [ %call4.i.i216, %cond.true.i.i215 ], [ @.str.42, %invoke.cont83 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp84, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 336, ptr noundef %cond.i.i217) to label %invoke.cont88 unwind label %lpad85 invoke.cont88: ; preds = %invoke.cont86 @@ -14947,17 +14951,17 @@ invoke.cont88: ; preds = %invoke.cont86 invoke.cont90: ; preds = %invoke.cont88 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp84) #21 %69 = load ptr, ptr %ref.tmp81, align 8 - %cmp.not.i.i217 = icmp eq ptr %69, null - br i1 %cmp.not.i.i217, label %_ZN7testing7MessageD2Ev.exit221, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 + %cmp.not.i.i219 = icmp eq ptr %69, null + br i1 %cmp.not.i.i219, label %_ZN7testing7MessageD2Ev.exit223, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218: ; preds = %invoke.cont90 - %vtable.i.i.i219 = load ptr, ptr %69, align 8 - %vfn.i.i.i220 = getelementptr inbounds ptr, ptr %vtable.i.i.i219, i64 1 - %70 = load ptr, ptr %vfn.i.i.i220, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220: ; preds = %invoke.cont90 + %vtable.i.i.i221 = load ptr, ptr %69, align 8 + %vfn.i.i.i222 = getelementptr inbounds ptr, ptr %vtable.i.i.i221, i64 1 + %70 = load ptr, ptr %vfn.i.i.i222, align 8 call void %70(ptr noundef nonnull align 8 dereferenceable(128) %69) #21 - br label %_ZN7testing7MessageD2Ev.exit221 + br label %_ZN7testing7MessageD2Ev.exit223 -_ZN7testing7MessageD2Ev.exit221: ; preds = %invoke.cont90, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 +_ZN7testing7MessageD2Ev.exit223: ; preds = %invoke.cont90, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i220 store ptr null, ptr %ref.tmp81, align 8 br label %if.end93 @@ -14980,155 +14984,155 @@ lpad89: ; preds = %invoke.cont88 ehcleanup92: ; preds = %lpad89, %lpad85 %.pn8 = phi { ptr, i32 } [ %73, %lpad89 ], [ %72, %lpad85 ] %74 = load ptr, ptr %ref.tmp81, align 8 - %cmp.not.i.i222 = icmp eq ptr %74, null - br i1 %cmp.not.i.i222, label %_ZN7testing7MessageD2Ev.exit226, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 + %cmp.not.i.i224 = icmp eq ptr %74, null + br i1 %cmp.not.i.i224, label %_ZN7testing7MessageD2Ev.exit228, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223: ; preds = %ehcleanup92 - %vtable.i.i.i224 = load ptr, ptr %74, align 8 - %vfn.i.i.i225 = getelementptr inbounds ptr, ptr %vtable.i.i.i224, i64 1 - %75 = load ptr, ptr %vfn.i.i.i225, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225: ; preds = %ehcleanup92 + %vtable.i.i.i226 = load ptr, ptr %74, align 8 + %vfn.i.i.i227 = getelementptr inbounds ptr, ptr %vtable.i.i.i226, i64 1 + %75 = load ptr, ptr %vfn.i.i.i227, align 8 call void %75(ptr noundef nonnull align 8 dereferenceable(128) %74) #21 - br label %_ZN7testing7MessageD2Ev.exit226 + br label %_ZN7testing7MessageD2Ev.exit228 -_ZN7testing7MessageD2Ev.exit226: ; preds = %ehcleanup92, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 +_ZN7testing7MessageD2Ev.exit228: ; preds = %ehcleanup92, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i225 store ptr null, ptr %ref.tmp81, align 8 br label %ehcleanup94 -if.end93: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit205, %_ZN7testing7MessageD2Ev.exit221 - %message_.i227 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 - %76 = load ptr, ptr %message_.i227, align 8 - %cmp.not.i.i228 = icmp eq ptr %76, null - br i1 %cmp.not.i.i228, label %_ZN7testing15AssertionResultD2Ev.exit230, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229 +if.end93: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit207, %_ZN7testing7MessageD2Ev.exit223 + %message_.i229 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar64, i64 0, i32 1 + %76 = load ptr, ptr %message_.i229, align 8 + %cmp.not.i.i230 = icmp eq ptr %76, null + br i1 %cmp.not.i.i230, label %_ZN7testing15AssertionResultD2Ev.exit232, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229: ; preds = %if.end93 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231: ; preds = %if.end93 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #21 call void @_ZdlPv(ptr noundef nonnull %76) #22 - br label %_ZN7testing15AssertionResultD2Ev.exit230 + br label %_ZN7testing15AssertionResultD2Ev.exit232 -_ZN7testing15AssertionResultD2Ev.exit230: ; preds = %if.end93, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229 - store ptr null, ptr %message_.i227, align 8 - %add.ptr.i231 = getelementptr inbounds ptr, ptr %infos.sroa.0.9, i64 3 - %77 = load ptr, ptr %add.ptr.i231, align 8 +_ZN7testing15AssertionResultD2Ev.exit232: ; preds = %if.end93, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i231 + store ptr null, ptr %message_.i229, align 8 + %add.ptr.i233 = getelementptr inbounds ptr, ptr %infos.sroa.0.9, i64 3 + %77 = load ptr, ptr %add.ptr.i233, align 8 invoke void @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE8PushDeadEPS3_(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef %77) to label %invoke.cont104 unwind label %lpad.loopexit.split-lp -invoke.cont104: ; preds = %_ZN7testing15AssertionResultD2Ev.exit230 +invoke.cont104: ; preds = %_ZN7testing15AssertionResultD2Ev.exit232 %78 = atomicrmw sub ptr %size_estimate_.i, i64 1 monotonic, align 8 store i32 4, ptr %ref.tmp98, align 4 - %agg.tmp99237.sroa.4.0.ref.tmp98.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp98, i64 4 - store i32 2, ptr %agg.tmp99237.sroa.4.0.ref.tmp98.sroa_idx, align 4 - %agg.tmp99237.sroa.5.0.ref.tmp98.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp98, i64 8 - store i32 0, ptr %agg.tmp99237.sroa.5.0.ref.tmp98.sroa_idx, align 4 + %agg.tmp99239.sroa.4.0.ref.tmp98.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp98, i64 4 + store i32 2, ptr %agg.tmp99239.sroa.4.0.ref.tmp98.sroa_idx, align 4 + %agg.tmp99239.sroa.5.0.ref.tmp98.sroa_idx = getelementptr inbounds i8, ptr %ref.tmp98, i64 8 + store i32 0, ptr %agg.tmp99239.sroa.5.0.ref.tmp98.sroa_idx, align 4 call void @llvm.experimental.noalias.scope.decl(metadata !182) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i238) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i240) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp105, i8 0, i64 24, i1 false), !alias.scope !182 - %_M_manager.i.i.i239 = getelementptr inbounds %"class.std::_Function_base", ptr %ref.tmp.i238, i64 0, i32 1 - %_M_invoker.i.i240 = getelementptr inbounds %"class.std::function", ptr %ref.tmp.i238, i64 0, i32 1 - %79 = getelementptr inbounds i8, ptr %ref.tmp.i238, i64 8 + %_M_manager.i.i.i241 = getelementptr inbounds %"class.std::_Function_base", ptr %ref.tmp.i240, i64 0, i32 1 + %_M_invoker.i.i242 = getelementptr inbounds %"class.std::function", ptr %ref.tmp.i240, i64 0, i32 1 + %79 = getelementptr inbounds i8, ptr %ref.tmp.i240, i64 8 store i64 0, ptr %79, align 8, !noalias !182 %80 = ptrtoint ptr %ref.tmp105 to i64 - store i64 %80, ptr %ref.tmp.i238, align 8, !noalias !182 - store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E9_M_invokeERKSt9_Any_dataS4_", ptr %_M_invoker.i.i240, align 8, !noalias !182 - store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation", ptr %_M_manager.i.i.i239, align 8, !noalias !182 - %call.i241 = invoke noundef i64 @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE7IterateERKSt8functionIFvRKS3_EE(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i238) - to label %invoke.cont.i251 unwind label %lpad.i242 - -invoke.cont.i251: ; preds = %invoke.cont104 - %81 = load ptr, ptr %_M_manager.i.i.i239, align 8, !noalias !182 - %tobool.not.i.i.i252 = icmp eq ptr %81, null - br i1 %tobool.not.i.i.i252, label %invoke.cont106, label %if.then.i.i.i253 - -if.then.i.i.i253: ; preds = %invoke.cont.i251 - %call.i.i.i254 = invoke noundef zeroext i1 %81(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i238, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i238, i32 noundef 3) - to label %invoke.cont106 unwind label %terminate.lpad.i.i.i255 - -terminate.lpad.i.i.i255: ; preds = %if.then.i.i.i253 + store i64 %80, ptr %ref.tmp.i240, align 8, !noalias !182 + store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E9_M_invokeERKSt9_Any_dataS4_", ptr %_M_invoker.i.i242, align 8, !noalias !182 + store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation", ptr %_M_manager.i.i.i241, align 8, !noalias !182 + %call.i243 = invoke noundef i64 @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE7IterateERKSt8functionIFvRKS3_EE(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i240) + to label %invoke.cont.i253 unwind label %lpad.i244 + +invoke.cont.i253: ; preds = %invoke.cont104 + %81 = load ptr, ptr %_M_manager.i.i.i241, align 8, !noalias !182 + %tobool.not.i.i.i254 = icmp eq ptr %81, null + br i1 %tobool.not.i.i.i254, label %invoke.cont106, label %if.then.i.i.i255 + +if.then.i.i.i255: ; preds = %invoke.cont.i253 + %call.i.i.i256 = invoke noundef zeroext i1 %81(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i240, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i240, i32 noundef 3) + to label %invoke.cont106 unwind label %terminate.lpad.i.i.i257 + +terminate.lpad.i.i.i257: ; preds = %if.then.i.i.i255 %82 = landingpad { ptr, i32 } catch ptr null %83 = extractvalue { ptr, i32 } %82, 0 call void @__clang_call_terminate(ptr %83) #24 unreachable -lpad.i242: ; preds = %invoke.cont104 +lpad.i244: ; preds = %invoke.cont104 %84 = landingpad { ptr, i32 } cleanup - %85 = load ptr, ptr %_M_manager.i.i.i239, align 8, !noalias !182 - %tobool.not.i.i3.i243 = icmp eq ptr %85, null - br i1 %tobool.not.i.i3.i243, label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i247, label %if.then.i.i4.i244 + %85 = load ptr, ptr %_M_manager.i.i.i241, align 8, !noalias !182 + %tobool.not.i.i3.i245 = icmp eq ptr %85, null + br i1 %tobool.not.i.i3.i245, label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i249, label %if.then.i.i4.i246 -if.then.i.i4.i244: ; preds = %lpad.i242 - %call.i.i5.i245 = invoke noundef zeroext i1 %85(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i238, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i238, i32 noundef 3) - to label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i247 unwind label %terminate.lpad.i.i6.i246 +if.then.i.i4.i246: ; preds = %lpad.i244 + %call.i.i5.i247 = invoke noundef zeroext i1 %85(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i240, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i240, i32 noundef 3) + to label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i249 unwind label %terminate.lpad.i.i6.i248 -terminate.lpad.i.i6.i246: ; preds = %if.then.i.i4.i244 +terminate.lpad.i.i6.i248: ; preds = %if.then.i.i4.i246 %86 = landingpad { ptr, i32 } catch ptr null %87 = extractvalue { ptr, i32 } %86, 0 call void @__clang_call_terminate(ptr %87) #24 unreachable -_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i247: ; preds = %if.then.i.i4.i244, %lpad.i242 +_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i249: ; preds = %if.then.i.i4.i246, %lpad.i244 %88 = load ptr, ptr %ref.tmp105, align 8, !alias.scope !182 - %tobool.not.i.i.i.i248 = icmp eq ptr %88, null - br i1 %tobool.not.i.i.i.i248, label %if.then.i.i.i356, label %if.then.i.i.i.i249 + %tobool.not.i.i.i.i250 = icmp eq ptr %88, null + br i1 %tobool.not.i.i.i.i250, label %if.then.i.i.i358, label %if.then.i.i.i.i251 -if.then.i.i.i.i249: ; preds = %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i247 +if.then.i.i.i.i251: ; preds = %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i249 call void @_ZdlPv(ptr noundef nonnull %88) #22 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 -invoke.cont106: ; preds = %if.then.i.i.i253, %invoke.cont.i251 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i238) +invoke.cont106: ; preds = %if.then.i.i.i255, %invoke.cont.i253 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i240) invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_27UnorderedElementsAreMatcherISt5tupleIJiiiEEEEEclISt6vectorImSaImEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar97, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp98, ptr noundef nonnull @.str.67, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp105) to label %invoke.cont108 unwind label %lpad107 invoke.cont108: ; preds = %invoke.cont106 %89 = load ptr, ptr %ref.tmp105, align 8 - %tobool.not.i.i.i260 = icmp eq ptr %89, null - br i1 %tobool.not.i.i.i260, label %_ZNSt6vectorImSaImEED2Ev.exit262, label %if.then.i.i.i261 + %tobool.not.i.i.i262 = icmp eq ptr %89, null + br i1 %tobool.not.i.i.i262, label %_ZNSt6vectorImSaImEED2Ev.exit264, label %if.then.i.i.i263 -if.then.i.i.i261: ; preds = %invoke.cont108 +if.then.i.i.i263: ; preds = %invoke.cont108 call void @_ZdlPv(ptr noundef nonnull %89) #22 - br label %_ZNSt6vectorImSaImEED2Ev.exit262 + br label %_ZNSt6vectorImSaImEED2Ev.exit264 -_ZNSt6vectorImSaImEED2Ev.exit262: ; preds = %invoke.cont108, %if.then.i.i.i261 +_ZNSt6vectorImSaImEED2Ev.exit264: ; preds = %invoke.cont108, %if.then.i.i.i263 %90 = load i8, ptr %gtest_ar97, align 8 %91 = and i8 %90, 1 - %tobool.i263.not = icmp eq i8 %91, 0 - br i1 %tobool.i263.not, label %if.else112, label %if.end125 + %tobool.i265.not = icmp eq i8 %91, 0 + br i1 %tobool.i265.not, label %if.else112, label %if.end125 -ehcleanup94: ; preds = %_ZN7testing7MessageD2Ev.exit226, %lpad82 - %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit226 ], [ %71, %lpad82 ] +ehcleanup94: ; preds = %_ZN7testing7MessageD2Ev.exit228, %lpad82 + %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit228 ], [ %71, %lpad82 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar64) #21 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 lpad107: ; preds = %invoke.cont106 %92 = landingpad { ptr, i32 } cleanup %93 = load ptr, ptr %ref.tmp105, align 8 - %tobool.not.i.i.i265 = icmp eq ptr %93, null - br i1 %tobool.not.i.i.i265, label %if.then.i.i.i356, label %if.then.i.i.i266 + %tobool.not.i.i.i267 = icmp eq ptr %93, null + br i1 %tobool.not.i.i.i267, label %if.then.i.i.i358, label %if.then.i.i.i268 -if.then.i.i.i266: ; preds = %lpad107 +if.then.i.i.i268: ; preds = %lpad107 call void @_ZdlPv(ptr noundef nonnull %93) #22 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 -if.else112: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit262 +if.else112: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit264 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp113) to label %invoke.cont115 unwind label %lpad114 invoke.cont115: ; preds = %if.else112 - %message_.i.i268 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar97, i64 0, i32 1 - %94 = load ptr, ptr %message_.i.i268, align 8 - %cmp.i.i.not.i.i269 = icmp eq ptr %94, null - br i1 %cmp.i.i.not.i.i269, label %invoke.cont118, label %cond.true.i.i270 + %message_.i.i270 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar97, i64 0, i32 1 + %94 = load ptr, ptr %message_.i.i270, align 8 + %cmp.i.i.not.i.i271 = icmp eq ptr %94, null + br i1 %cmp.i.i.not.i.i271, label %invoke.cont118, label %cond.true.i.i272 -cond.true.i.i270: ; preds = %invoke.cont115 - %call4.i.i271 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %94) #21 +cond.true.i.i272: ; preds = %invoke.cont115 + %call4.i.i273 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %94) #21 br label %invoke.cont118 -invoke.cont118: ; preds = %cond.true.i.i270, %invoke.cont115 - %cond.i.i272 = phi ptr [ %call4.i.i271, %cond.true.i.i270 ], [ @.str.42, %invoke.cont115 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp116, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 338, ptr noundef %cond.i.i272) +invoke.cont118: ; preds = %cond.true.i.i272, %invoke.cont115 + %cond.i.i274 = phi ptr [ %call4.i.i273, %cond.true.i.i272 ], [ @.str.42, %invoke.cont115 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp116, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 338, ptr noundef %cond.i.i274) to label %invoke.cont120 unwind label %lpad117 invoke.cont120: ; preds = %invoke.cont118 @@ -15138,17 +15142,17 @@ invoke.cont120: ; preds = %invoke.cont118 invoke.cont122: ; preds = %invoke.cont120 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp116) #21 %95 = load ptr, ptr %ref.tmp113, align 8 - %cmp.not.i.i274 = icmp eq ptr %95, null - br i1 %cmp.not.i.i274, label %_ZN7testing7MessageD2Ev.exit278, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275 + %cmp.not.i.i276 = icmp eq ptr %95, null + br i1 %cmp.not.i.i276, label %_ZN7testing7MessageD2Ev.exit280, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i277 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275: ; preds = %invoke.cont122 - %vtable.i.i.i276 = load ptr, ptr %95, align 8 - %vfn.i.i.i277 = getelementptr inbounds ptr, ptr %vtable.i.i.i276, i64 1 - %96 = load ptr, ptr %vfn.i.i.i277, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i277: ; preds = %invoke.cont122 + %vtable.i.i.i278 = load ptr, ptr %95, align 8 + %vfn.i.i.i279 = getelementptr inbounds ptr, ptr %vtable.i.i.i278, i64 1 + %96 = load ptr, ptr %vfn.i.i.i279, align 8 call void %96(ptr noundef nonnull align 8 dereferenceable(128) %95) #21 - br label %_ZN7testing7MessageD2Ev.exit278 + br label %_ZN7testing7MessageD2Ev.exit280 -_ZN7testing7MessageD2Ev.exit278: ; preds = %invoke.cont122, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275 +_ZN7testing7MessageD2Ev.exit280: ; preds = %invoke.cont122, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i277 store ptr null, ptr %ref.tmp113, align 8 br label %if.end125 @@ -15171,163 +15175,163 @@ lpad121: ; preds = %invoke.cont120 ehcleanup124: ; preds = %lpad121, %lpad117 %.pn11 = phi { ptr, i32 } [ %99, %lpad121 ], [ %98, %lpad117 ] %100 = load ptr, ptr %ref.tmp113, align 8 - %cmp.not.i.i279 = icmp eq ptr %100, null - br i1 %cmp.not.i.i279, label %_ZN7testing7MessageD2Ev.exit283, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i280 + %cmp.not.i.i281 = icmp eq ptr %100, null + br i1 %cmp.not.i.i281, label %_ZN7testing7MessageD2Ev.exit285, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i282 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i280: ; preds = %ehcleanup124 - %vtable.i.i.i281 = load ptr, ptr %100, align 8 - %vfn.i.i.i282 = getelementptr inbounds ptr, ptr %vtable.i.i.i281, i64 1 - %101 = load ptr, ptr %vfn.i.i.i282, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i282: ; preds = %ehcleanup124 + %vtable.i.i.i283 = load ptr, ptr %100, align 8 + %vfn.i.i.i284 = getelementptr inbounds ptr, ptr %vtable.i.i.i283, i64 1 + %101 = load ptr, ptr %vfn.i.i.i284, align 8 call void %101(ptr noundef nonnull align 8 dereferenceable(128) %100) #21 - br label %_ZN7testing7MessageD2Ev.exit283 + br label %_ZN7testing7MessageD2Ev.exit285 -_ZN7testing7MessageD2Ev.exit283: ; preds = %ehcleanup124, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i280 +_ZN7testing7MessageD2Ev.exit285: ; preds = %ehcleanup124, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i282 store ptr null, ptr %ref.tmp113, align 8 br label %ehcleanup126 -if.end125: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit262, %_ZN7testing7MessageD2Ev.exit278 - %message_.i284 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar97, i64 0, i32 1 - %102 = load ptr, ptr %message_.i284, align 8 - %cmp.not.i.i285 = icmp eq ptr %102, null - br i1 %cmp.not.i.i285, label %_ZN7testing15AssertionResultD2Ev.exit287, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i286 +if.end125: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit264, %_ZN7testing7MessageD2Ev.exit280 + %message_.i286 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar97, i64 0, i32 1 + %102 = load ptr, ptr %message_.i286, align 8 + %cmp.not.i.i287 = icmp eq ptr %102, null + br i1 %cmp.not.i.i287, label %_ZN7testing15AssertionResultD2Ev.exit289, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i286: ; preds = %if.end125 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288: ; preds = %if.end125 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #21 call void @_ZdlPv(ptr noundef nonnull %102) #22 - br label %_ZN7testing15AssertionResultD2Ev.exit287 + br label %_ZN7testing15AssertionResultD2Ev.exit289 -_ZN7testing15AssertionResultD2Ev.exit287: ; preds = %if.end125, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i286 - store ptr null, ptr %message_.i284, align 8 +_ZN7testing15AssertionResultD2Ev.exit289: ; preds = %if.end125, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i288 + store ptr null, ptr %message_.i286, align 8 %103 = load ptr, ptr %infos.sroa.0.9, align 8 invoke void @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE8PushDeadEPS3_(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef %103) to label %invoke.cont128 unwind label %lpad.loopexit.split-lp -invoke.cont128: ; preds = %_ZN7testing15AssertionResultD2Ev.exit287 +invoke.cont128: ; preds = %_ZN7testing15AssertionResultD2Ev.exit289 %104 = atomicrmw sub ptr %size_estimate_.i, i64 1 monotonic, align 8 - %add.ptr.i291 = getelementptr inbounds ptr, ptr %infos.sroa.0.9, i64 2 - %105 = load ptr, ptr %add.ptr.i291, align 8 + %add.ptr.i293 = getelementptr inbounds ptr, ptr %infos.sroa.0.9, i64 2 + %105 = load ptr, ptr %add.ptr.i293, align 8 invoke void @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE8PushDeadEPS3_(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef %105) to label %invoke.cont130 unwind label %lpad.loopexit.split-lp invoke.cont130: ; preds = %invoke.cont128 %106 = atomicrmw sub ptr %size_estimate_.i, i64 1 monotonic, align 8 - %add.ptr.i295 = getelementptr inbounds ptr, ptr %infos.sroa.0.9, i64 4 - %107 = load ptr, ptr %add.ptr.i295, align 8 + %add.ptr.i297 = getelementptr inbounds ptr, ptr %infos.sroa.0.9, i64 4 + %107 = load ptr, ptr %add.ptr.i297, align 8 invoke void @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE8PushDeadEPS3_(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef %107) to label %invoke.cont137 unwind label %lpad.loopexit.split-lp invoke.cont137: ; preds = %invoke.cont130 %108 = atomicrmw sub ptr %size_estimate_.i, i64 1 monotonic, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !185) - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i299) + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %ref.tmp.i301) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp139, i8 0, i64 24, i1 false), !alias.scope !185 - %_M_manager.i.i.i300 = getelementptr inbounds %"class.std::_Function_base", ptr %ref.tmp.i299, i64 0, i32 1 - %_M_invoker.i.i301 = getelementptr inbounds %"class.std::function", ptr %ref.tmp.i299, i64 0, i32 1 - %109 = getelementptr inbounds i8, ptr %ref.tmp.i299, i64 8 + %_M_manager.i.i.i302 = getelementptr inbounds %"class.std::_Function_base", ptr %ref.tmp.i301, i64 0, i32 1 + %_M_invoker.i.i303 = getelementptr inbounds %"class.std::function", ptr %ref.tmp.i301, i64 0, i32 1 + %109 = getelementptr inbounds i8, ptr %ref.tmp.i301, i64 8 store i64 0, ptr %109, align 8, !noalias !185 %110 = ptrtoint ptr %ref.tmp139 to i64 - store i64 %110, ptr %ref.tmp.i299, align 8, !noalias !185 - store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E9_M_invokeERKSt9_Any_dataS4_", ptr %_M_invoker.i.i301, align 8, !noalias !185 - store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation", ptr %_M_manager.i.i.i300, align 8, !noalias !185 - %call.i302 = invoke noundef i64 @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE7IterateERKSt8functionIFvRKS3_EE(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i299) - to label %invoke.cont.i312 unwind label %lpad.i303 - -invoke.cont.i312: ; preds = %invoke.cont137 - %111 = load ptr, ptr %_M_manager.i.i.i300, align 8, !noalias !185 - %tobool.not.i.i.i313 = icmp eq ptr %111, null - br i1 %tobool.not.i.i.i313, label %invoke.cont140, label %if.then.i.i.i314 - -if.then.i.i.i314: ; preds = %invoke.cont.i312 - %call.i.i.i315 = invoke noundef zeroext i1 %111(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i299, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i299, i32 noundef 3) - to label %invoke.cont140 unwind label %terminate.lpad.i.i.i316 - -terminate.lpad.i.i.i316: ; preds = %if.then.i.i.i314 + store i64 %110, ptr %ref.tmp.i301, align 8, !noalias !185 + store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E9_M_invokeERKSt9_Any_dataS4_", ptr %_M_invoker.i.i303, align 8, !noalias !185 + store ptr @"_ZNSt17_Function_handlerIFvRKN4absl18container_internal14HashtablezInfoEEZNS1_12_GLOBAL__N_18GetSizesEPNS0_18profiling_internal14SampleRecorderIS2_EEE3$_0E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation", ptr %_M_manager.i.i.i302, align 8, !noalias !185 + %call.i304 = invoke noundef i64 @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE7IterateERKSt8functionIFvRKS3_EE(ptr noundef nonnull align 8 dereferenceable(688) %sampler, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp.i301) + to label %invoke.cont.i314 unwind label %lpad.i305 + +invoke.cont.i314: ; preds = %invoke.cont137 + %111 = load ptr, ptr %_M_manager.i.i.i302, align 8, !noalias !185 + %tobool.not.i.i.i315 = icmp eq ptr %111, null + br i1 %tobool.not.i.i.i315, label %invoke.cont140, label %if.then.i.i.i316 + +if.then.i.i.i316: ; preds = %invoke.cont.i314 + %call.i.i.i317 = invoke noundef zeroext i1 %111(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i301, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i301, i32 noundef 3) + to label %invoke.cont140 unwind label %terminate.lpad.i.i.i318 + +terminate.lpad.i.i.i318: ; preds = %if.then.i.i.i316 %112 = landingpad { ptr, i32 } catch ptr null %113 = extractvalue { ptr, i32 } %112, 0 call void @__clang_call_terminate(ptr %113) #24 unreachable -lpad.i303: ; preds = %invoke.cont137 +lpad.i305: ; preds = %invoke.cont137 %114 = landingpad { ptr, i32 } cleanup - %115 = load ptr, ptr %_M_manager.i.i.i300, align 8, !noalias !185 - %tobool.not.i.i3.i304 = icmp eq ptr %115, null - br i1 %tobool.not.i.i3.i304, label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i308, label %if.then.i.i4.i305 + %115 = load ptr, ptr %_M_manager.i.i.i302, align 8, !noalias !185 + %tobool.not.i.i3.i306 = icmp eq ptr %115, null + br i1 %tobool.not.i.i3.i306, label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i310, label %if.then.i.i4.i307 -if.then.i.i4.i305: ; preds = %lpad.i303 - %call.i.i5.i306 = invoke noundef zeroext i1 %115(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i299, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i299, i32 noundef 3) - to label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i308 unwind label %terminate.lpad.i.i6.i307 +if.then.i.i4.i307: ; preds = %lpad.i305 + %call.i.i5.i308 = invoke noundef zeroext i1 %115(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i301, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp.i301, i32 noundef 3) + to label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i310 unwind label %terminate.lpad.i.i6.i309 -terminate.lpad.i.i6.i307: ; preds = %if.then.i.i4.i305 +terminate.lpad.i.i6.i309: ; preds = %if.then.i.i4.i307 %116 = landingpad { ptr, i32 } catch ptr null %117 = extractvalue { ptr, i32 } %116, 0 call void @__clang_call_terminate(ptr %117) #24 unreachable -_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i308: ; preds = %if.then.i.i4.i305, %lpad.i303 +_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i310: ; preds = %if.then.i.i4.i307, %lpad.i305 %118 = load ptr, ptr %ref.tmp139, align 8, !alias.scope !185 - %tobool.not.i.i.i.i309 = icmp eq ptr %118, null - br i1 %tobool.not.i.i.i.i309, label %if.then.i.i.i356, label %if.then.i.i.i.i310 + %tobool.not.i.i.i.i311 = icmp eq ptr %118, null + br i1 %tobool.not.i.i.i.i311, label %if.then.i.i.i358, label %if.then.i.i.i.i312 -if.then.i.i.i.i310: ; preds = %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i308 +if.then.i.i.i.i312: ; preds = %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i310 call void @_ZdlPv(ptr noundef nonnull %118) #22 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 -invoke.cont140: ; preds = %if.then.i.i.i314, %invoke.cont.i312 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i299) +invoke.cont140: ; preds = %if.then.i.i.i316, %invoke.cont.i314 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i301) invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS_18PolymorphicMatcherINS0_14IsEmptyMatcherEEEEclISt6vectorImSaImEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar133, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp134, ptr noundef nonnull @.str.67, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp139) to label %invoke.cont142 unwind label %lpad141 invoke.cont142: ; preds = %invoke.cont140 %119 = load ptr, ptr %ref.tmp139, align 8 - %tobool.not.i.i.i321 = icmp eq ptr %119, null - br i1 %tobool.not.i.i.i321, label %_ZNSt6vectorImSaImEED2Ev.exit323, label %if.then.i.i.i322 + %tobool.not.i.i.i323 = icmp eq ptr %119, null + br i1 %tobool.not.i.i.i323, label %_ZNSt6vectorImSaImEED2Ev.exit325, label %if.then.i.i.i324 -if.then.i.i.i322: ; preds = %invoke.cont142 +if.then.i.i.i324: ; preds = %invoke.cont142 call void @_ZdlPv(ptr noundef nonnull %119) #22 - br label %_ZNSt6vectorImSaImEED2Ev.exit323 + br label %_ZNSt6vectorImSaImEED2Ev.exit325 -_ZNSt6vectorImSaImEED2Ev.exit323: ; preds = %invoke.cont142, %if.then.i.i.i322 +_ZNSt6vectorImSaImEED2Ev.exit325: ; preds = %invoke.cont142, %if.then.i.i.i324 %120 = load i8, ptr %gtest_ar133, align 8 %121 = and i8 %120, 1 - %tobool.i324.not = icmp eq i8 %121, 0 - br i1 %tobool.i324.not, label %if.else146, label %if.end159 + %tobool.i326.not = icmp eq i8 %121, 0 + br i1 %tobool.i326.not, label %if.else146, label %if.end159 -ehcleanup126: ; preds = %_ZN7testing7MessageD2Ev.exit283, %lpad114 - %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit283 ], [ %97, %lpad114 ] +ehcleanup126: ; preds = %_ZN7testing7MessageD2Ev.exit285, %lpad114 + %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit285 ], [ %97, %lpad114 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar97) #21 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 lpad141: ; preds = %invoke.cont140 %122 = landingpad { ptr, i32 } cleanup %123 = load ptr, ptr %ref.tmp139, align 8 - %tobool.not.i.i.i326 = icmp eq ptr %123, null - br i1 %tobool.not.i.i.i326, label %if.then.i.i.i356, label %if.then.i.i.i327 + %tobool.not.i.i.i328 = icmp eq ptr %123, null + br i1 %tobool.not.i.i.i328, label %if.then.i.i.i358, label %if.then.i.i.i329 -if.then.i.i.i327: ; preds = %lpad141 +if.then.i.i.i329: ; preds = %lpad141 call void @_ZdlPv(ptr noundef nonnull %123) #22 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 -if.else146: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit323 +if.else146: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit325 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp147) to label %invoke.cont149 unwind label %lpad148 invoke.cont149: ; preds = %if.else146 - %message_.i.i329 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar133, i64 0, i32 1 - %124 = load ptr, ptr %message_.i.i329, align 8 - %cmp.i.i.not.i.i330 = icmp eq ptr %124, null - br i1 %cmp.i.i.not.i.i330, label %invoke.cont152, label %cond.true.i.i331 + %message_.i.i331 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar133, i64 0, i32 1 + %124 = load ptr, ptr %message_.i.i331, align 8 + %cmp.i.i.not.i.i332 = icmp eq ptr %124, null + br i1 %cmp.i.i.not.i.i332, label %invoke.cont152, label %cond.true.i.i333 -cond.true.i.i331: ; preds = %invoke.cont149 - %call4.i.i332 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %124) #21 +cond.true.i.i333: ; preds = %invoke.cont149 + %call4.i.i334 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %124) #21 br label %invoke.cont152 -invoke.cont152: ; preds = %cond.true.i.i331, %invoke.cont149 - %cond.i.i333 = phi ptr [ %call4.i.i332, %cond.true.i.i331 ], [ @.str.42, %invoke.cont149 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp150, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 343, ptr noundef %cond.i.i333) +invoke.cont152: ; preds = %cond.true.i.i333, %invoke.cont149 + %cond.i.i335 = phi ptr [ %call4.i.i334, %cond.true.i.i333 ], [ @.str.42, %invoke.cont149 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp150, i32 noundef 1, ptr noundef nonnull @.str.3, i32 noundef 343, ptr noundef %cond.i.i335) to label %invoke.cont154 unwind label %lpad151 invoke.cont154: ; preds = %invoke.cont152 @@ -15337,17 +15341,17 @@ invoke.cont154: ; preds = %invoke.cont152 invoke.cont156: ; preds = %invoke.cont154 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp150) #21 %125 = load ptr, ptr %ref.tmp147, align 8 - %cmp.not.i.i335 = icmp eq ptr %125, null - br i1 %cmp.not.i.i335, label %_ZN7testing7MessageD2Ev.exit339, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336 + %cmp.not.i.i337 = icmp eq ptr %125, null + br i1 %cmp.not.i.i337, label %_ZN7testing7MessageD2Ev.exit341, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336: ; preds = %invoke.cont156 - %vtable.i.i.i337 = load ptr, ptr %125, align 8 - %vfn.i.i.i338 = getelementptr inbounds ptr, ptr %vtable.i.i.i337, i64 1 - %126 = load ptr, ptr %vfn.i.i.i338, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338: ; preds = %invoke.cont156 + %vtable.i.i.i339 = load ptr, ptr %125, align 8 + %vfn.i.i.i340 = getelementptr inbounds ptr, ptr %vtable.i.i.i339, i64 1 + %126 = load ptr, ptr %vfn.i.i.i340, align 8 call void %126(ptr noundef nonnull align 8 dereferenceable(128) %125) #21 - br label %_ZN7testing7MessageD2Ev.exit339 + br label %_ZN7testing7MessageD2Ev.exit341 -_ZN7testing7MessageD2Ev.exit339: ; preds = %invoke.cont156, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336 +_ZN7testing7MessageD2Ev.exit341: ; preds = %invoke.cont156, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i338 store ptr null, ptr %ref.tmp147, align 8 br label %if.end159 @@ -15370,33 +15374,33 @@ lpad155: ; preds = %invoke.cont154 ehcleanup158: ; preds = %lpad155, %lpad151 %.pn14 = phi { ptr, i32 } [ %129, %lpad155 ], [ %128, %lpad151 ] %130 = load ptr, ptr %ref.tmp147, align 8 - %cmp.not.i.i340 = icmp eq ptr %130, null - br i1 %cmp.not.i.i340, label %_ZN7testing7MessageD2Ev.exit344, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i341 + %cmp.not.i.i342 = icmp eq ptr %130, null + br i1 %cmp.not.i.i342, label %_ZN7testing7MessageD2Ev.exit346, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i341: ; preds = %ehcleanup158 - %vtable.i.i.i342 = load ptr, ptr %130, align 8 - %vfn.i.i.i343 = getelementptr inbounds ptr, ptr %vtable.i.i.i342, i64 1 - %131 = load ptr, ptr %vfn.i.i.i343, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343: ; preds = %ehcleanup158 + %vtable.i.i.i344 = load ptr, ptr %130, align 8 + %vfn.i.i.i345 = getelementptr inbounds ptr, ptr %vtable.i.i.i344, i64 1 + %131 = load ptr, ptr %vfn.i.i.i345, align 8 call void %131(ptr noundef nonnull align 8 dereferenceable(128) %130) #21 - br label %_ZN7testing7MessageD2Ev.exit344 + br label %_ZN7testing7MessageD2Ev.exit346 -_ZN7testing7MessageD2Ev.exit344: ; preds = %ehcleanup158, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i341 +_ZN7testing7MessageD2Ev.exit346: ; preds = %ehcleanup158, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i343 store ptr null, ptr %ref.tmp147, align 8 br label %ehcleanup160 -if.end159: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit323, %_ZN7testing7MessageD2Ev.exit339 - %message_.i345 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar133, i64 0, i32 1 - %132 = load ptr, ptr %message_.i345, align 8 - %cmp.not.i.i346 = icmp eq ptr %132, null - br i1 %cmp.not.i.i346, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i347 +if.end159: ; preds = %_ZNSt6vectorImSaImEED2Ev.exit325, %_ZN7testing7MessageD2Ev.exit341 + %message_.i347 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar133, i64 0, i32 1 + %132 = load ptr, ptr %message_.i347, align 8 + %cmp.not.i.i348 = icmp eq ptr %132, null + br i1 %cmp.not.i.i348, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i347: ; preds = %if.end159 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349: ; preds = %if.end159 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #21 call void @_ZdlPv(ptr noundef nonnull %132) #22 br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit: ; preds = %if.end159, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i347 - store ptr null, ptr %message_.i345, align 8 +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit: ; preds = %if.end159, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i349 + store ptr null, ptr %message_.i347, align 8 call void @_ZdlPv(ptr noundef nonnull %infos.sroa.0.9) #22 %133 = load atomic i64, ptr %all_.i acquire, align 8 %cmp.not3.i = icmp eq i64 %133, 0 @@ -15419,25 +15423,25 @@ _ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14Hashtablez call void @_ZN4absl18container_internal14HashtablezInfoD1Ev(ptr noundef nonnull align 8 dereferenceable(648) %graveyard_.i) #21 ret void -ehcleanup160: ; preds = %_ZN7testing7MessageD2Ev.exit344, %lpad148 - %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit344 ], [ %127, %lpad148 ] +ehcleanup160: ; preds = %_ZN7testing7MessageD2Ev.exit346, %lpad148 + %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit346 ], [ %127, %lpad148 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar133) #21 - br label %if.then.i.i.i356 + br label %if.then.i.i.i358 ehcleanup161: ; preds = %lpad.loopexit, %lpad.loopexit.split-lp, %if.then.i.i.i31, %lpad11, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i, %if.then.i.i.i.i24, %ehcleanup24 - %infos.sroa.0.10 = phi ptr [ %infos.sroa.0.1, %ehcleanup24 ], [ %infos.sroa.0.1, %if.then.i.i.i.i24 ], [ %infos.sroa.0.1, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i ], [ %infos.sroa.0.1, %lpad11 ], [ %infos.sroa.0.1, %if.then.i.i.i31 ], [ %infos.sroa.0.0395, %lpad.loopexit ], [ %infos.sroa.0.2.ph, %lpad.loopexit.split-lp ] - %.pn17 = phi { ptr, i32 } [ %.pn.pn, %ehcleanup24 ], [ %8, %if.then.i.i.i.i24 ], [ %8, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i ], [ %16, %lpad11 ], [ %16, %if.then.i.i.i31 ], [ %lpad.loopexit383, %lpad.loopexit ], [ %lpad.loopexit.split-lp384, %lpad.loopexit.split-lp ] - %tobool.not.i.i.i355 = icmp eq ptr %infos.sroa.0.10, null - br i1 %tobool.not.i.i.i355, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit357, label %if.then.i.i.i356 - -if.then.i.i.i356: ; preds = %if.then.i.i.i327, %lpad141, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i308, %if.then.i.i.i.i310, %if.then.i.i.i266, %lpad107, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i247, %if.then.i.i.i.i249, %if.then.i.i.i209, %lpad75, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i190, %if.then.i.i.i.i192, %if.then.i.i.i70, %lpad36, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i51, %if.then.i.i.i.i53, %ehcleanup55, %ehcleanup94, %ehcleanup126, %ehcleanup160, %ehcleanup161 - %.pn17381 = phi { ptr, i32 } [ %.pn17, %ehcleanup161 ], [ %122, %if.then.i.i.i327 ], [ %122, %lpad141 ], [ %114, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i308 ], [ %114, %if.then.i.i.i.i310 ], [ %92, %if.then.i.i.i266 ], [ %92, %lpad107 ], [ %84, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i247 ], [ %84, %if.then.i.i.i.i249 ], [ %66, %if.then.i.i.i209 ], [ %66, %lpad75 ], [ %58, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i190 ], [ %58, %if.then.i.i.i.i192 ], [ %42, %if.then.i.i.i70 ], [ %42, %lpad36 ], [ %34, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i51 ], [ %34, %if.then.i.i.i.i53 ], [ %.pn5.pn, %ehcleanup55 ], [ %.pn8.pn, %ehcleanup94 ], [ %.pn11.pn, %ehcleanup126 ], [ %.pn14.pn, %ehcleanup160 ] - %infos.sroa.0.10380 = phi ptr [ %infos.sroa.0.10, %ehcleanup161 ], [ %infos.sroa.0.9, %if.then.i.i.i327 ], [ %infos.sroa.0.9, %lpad141 ], [ %infos.sroa.0.9, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i308 ], [ %infos.sroa.0.9, %if.then.i.i.i.i310 ], [ %infos.sroa.0.9, %if.then.i.i.i266 ], [ %infos.sroa.0.9, %lpad107 ], [ %infos.sroa.0.9, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i247 ], [ %infos.sroa.0.9, %if.then.i.i.i.i249 ], [ %infos.sroa.0.9, %if.then.i.i.i209 ], [ %infos.sroa.0.9, %lpad75 ], [ %infos.sroa.0.9, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i190 ], [ %infos.sroa.0.9, %if.then.i.i.i.i192 ], [ %infos.sroa.0.1, %if.then.i.i.i70 ], [ %infos.sroa.0.1, %lpad36 ], [ %infos.sroa.0.1, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i51 ], [ %infos.sroa.0.1, %if.then.i.i.i.i53 ], [ %infos.sroa.0.1, %ehcleanup55 ], [ %infos.sroa.0.9, %ehcleanup94 ], [ %infos.sroa.0.9, %ehcleanup126 ], [ %infos.sroa.0.9, %ehcleanup160 ] - call void @_ZdlPv(ptr noundef nonnull %infos.sroa.0.10380) #22 - br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit357 - -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit357: ; preds = %ehcleanup161, %if.then.i.i.i356 - %.pn17382 = phi { ptr, i32 } [ %.pn17, %ehcleanup161 ], [ %.pn17381, %if.then.i.i.i356 ] + %infos.sroa.0.10 = phi ptr [ %infos.sroa.0.1, %ehcleanup24 ], [ %infos.sroa.0.1, %if.then.i.i.i.i24 ], [ %infos.sroa.0.1, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i ], [ %infos.sroa.0.1, %lpad11 ], [ %infos.sroa.0.1, %if.then.i.i.i31 ], [ %infos.sroa.0.0397, %lpad.loopexit ], [ %infos.sroa.0.2.ph, %lpad.loopexit.split-lp ] + %.pn17 = phi { ptr, i32 } [ %.pn.pn, %ehcleanup24 ], [ %8, %if.then.i.i.i.i24 ], [ %8, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i ], [ %16, %lpad11 ], [ %16, %if.then.i.i.i31 ], [ %lpad.loopexit385, %lpad.loopexit ], [ %lpad.loopexit.split-lp386, %lpad.loopexit.split-lp ] + %tobool.not.i.i.i357 = icmp eq ptr %infos.sroa.0.10, null + br i1 %tobool.not.i.i.i357, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit359, label %if.then.i.i.i358 + +if.then.i.i.i358: ; preds = %if.then.i.i.i329, %lpad141, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i310, %if.then.i.i.i.i312, %if.then.i.i.i268, %lpad107, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i249, %if.then.i.i.i.i251, %if.then.i.i.i211, %lpad75, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i192, %if.then.i.i.i.i194, %if.then.i.i.i70, %lpad36, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i51, %if.then.i.i.i.i53, %ehcleanup55, %ehcleanup94, %ehcleanup126, %ehcleanup160, %ehcleanup161 + %.pn17383 = phi { ptr, i32 } [ %.pn17, %ehcleanup161 ], [ %122, %if.then.i.i.i329 ], [ %122, %lpad141 ], [ %114, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i310 ], [ %114, %if.then.i.i.i.i312 ], [ %92, %if.then.i.i.i268 ], [ %92, %lpad107 ], [ %84, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i249 ], [ %84, %if.then.i.i.i.i251 ], [ %66, %if.then.i.i.i211 ], [ %66, %lpad75 ], [ %58, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i192 ], [ %58, %if.then.i.i.i.i194 ], [ %42, %if.then.i.i.i70 ], [ %42, %lpad36 ], [ %34, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i51 ], [ %34, %if.then.i.i.i.i53 ], [ %.pn5.pn, %ehcleanup55 ], [ %.pn8.pn, %ehcleanup94 ], [ %.pn11.pn, %ehcleanup126 ], [ %.pn14.pn, %ehcleanup160 ] + %infos.sroa.0.10382 = phi ptr [ %infos.sroa.0.10, %ehcleanup161 ], [ %infos.sroa.0.9, %if.then.i.i.i329 ], [ %infos.sroa.0.9, %lpad141 ], [ %infos.sroa.0.9, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i310 ], [ %infos.sroa.0.9, %if.then.i.i.i.i312 ], [ %infos.sroa.0.9, %if.then.i.i.i268 ], [ %infos.sroa.0.9, %lpad107 ], [ %infos.sroa.0.9, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i249 ], [ %infos.sroa.0.9, %if.then.i.i.i.i251 ], [ %infos.sroa.0.9, %if.then.i.i.i211 ], [ %infos.sroa.0.9, %lpad75 ], [ %infos.sroa.0.9, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i192 ], [ %infos.sroa.0.9, %if.then.i.i.i.i194 ], [ %infos.sroa.0.1, %if.then.i.i.i70 ], [ %infos.sroa.0.1, %lpad36 ], [ %infos.sroa.0.1, %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit7.i51 ], [ %infos.sroa.0.1, %if.then.i.i.i.i53 ], [ %infos.sroa.0.1, %ehcleanup55 ], [ %infos.sroa.0.9, %ehcleanup94 ], [ %infos.sroa.0.9, %ehcleanup126 ], [ %infos.sroa.0.9, %ehcleanup160 ] + call void @_ZdlPv(ptr noundef nonnull %infos.sroa.0.10382) #22 + br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit359 + +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit359: ; preds = %ehcleanup161, %if.then.i.i.i358 + %.pn17384 = phi { ptr, i32 } [ %.pn17, %ehcleanup161 ], [ %.pn17383, %if.then.i.i.i358 ] call void @_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEED2Ev(ptr noundef nonnull align 8 dereferenceable(688) %sampler) #21 br label %common.resume } @@ -18519,16 +18523,16 @@ if.then.i.i.i.i.i: ; preds = %if.then14 br label %if.end65 if.else: ; preds = %if.then - br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i23 + br i1 %tobool.not.i.i.i.i.i, label %if.end65, label %if.then.i.i.i.i.i22 -if.then.i.i.i.i.i23: ; preds = %if.else +if.then.i.i.i.i.i22: ; preds = %if.else %sub.ptr.lhs.cast.i.i.i.i.i18 = ptrtoint ptr %add.ptr21 to i64 %sub.ptr.sub.i.i.i.i.i20 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i18, %sub.ptr.rhs.cast - %sub.ptr.div.i.i.i.i.i21 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 - %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i21 + %sub.ptr.div.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i20, 3 + %.pre.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i %add.ptr29 = getelementptr inbounds ptr, ptr %add.ptr9, i64 %add - %add.ptr.i.i.i.i.i24 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i - tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i24, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) + %add.ptr.i.i.i.i.i23 = getelementptr inbounds ptr, ptr %add.ptr29, i64 %.pre.i.i.i.i.i + tail call void @llvm.memmove.p0.p0.i64(ptr align 8 %add.ptr.i.i.i.i.i23, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i20, i1 false) br label %if.end65 if.else31: ; preds = %entry @@ -18559,24 +18563,24 @@ _ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit: %cond47 = select i1 %__add_at_front, i64 %__nodes_to_add, i64 0 %add.ptr48 = getelementptr inbounds ptr, ptr %add.ptr42, i64 %cond47 %add.ptr55 = getelementptr inbounds ptr, ptr %0, i64 1 - %tobool.not.i.i.i.i.i28 = icmp eq ptr %add.ptr55, %1 - br i1 %tobool.not.i.i.i.i.i28, label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32, label %if.then.i.i.i.i.i29 + %tobool.not.i.i.i.i.i27 = icmp eq ptr %add.ptr55, %1 + br i1 %tobool.not.i.i.i.i.i27, label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30, label %if.then.i.i.i.i.i28 -if.then.i.i.i.i.i29: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit - %sub.ptr.lhs.cast.i.i.i.i.i25 = ptrtoint ptr %add.ptr55 to i64 - %sub.ptr.sub.i.i.i.i.i27 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i25, %sub.ptr.rhs.cast - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i27, i1 false) - br label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 +if.then.i.i.i.i.i28: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit + %sub.ptr.lhs.cast.i.i.i.i.i24 = ptrtoint ptr %add.ptr55 to i64 + %sub.ptr.sub.i.i.i.i.i26 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i24, %sub.ptr.rhs.cast + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %add.ptr48, ptr align 8 %1, i64 %sub.ptr.sub.i.i.i.i.i26, i1 false) + br label %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 -_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i29 +_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30: ; preds = %_ZNSt11_Deque_baseIN4absl12AnyInvocableIFvvEEESaIS3_EE15_M_allocate_mapEm.exit, %if.then.i.i.i.i.i28 %4 = load ptr, ptr %this, align 8 tail call void @_ZdlPv(ptr noundef %4) #22 store ptr %call5.i.i2.i, ptr %this, align 8 store i64 %add38, ptr %_M_map_size, align 8 br label %if.end65 -if.end65: ; preds = %if.then.i.i.i.i.i, %if.then14, %if.then.i.i.i.i.i23, %if.else, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 - %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit32 ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i23 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ] +if.end65: ; preds = %if.then.i.i.i.i.i22, %if.else, %if.then.i.i.i.i.i, %if.then14, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 + %__new_nstart.0 = phi ptr [ %add.ptr48, %_ZSt4copyIPPN4absl12AnyInvocableIFvvEEES5_ET0_T_S7_S6_.exit30 ], [ %add.ptr9, %if.then14 ], [ %add.ptr9, %if.then.i.i.i.i.i ], [ %add.ptr9, %if.else ], [ %add.ptr9, %if.then.i.i.i.i.i22 ] store ptr %__new_nstart.0, ptr %_M_node3, align 8 %5 = load ptr, ptr %__new_nstart.0, align 8 %_M_first.i = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 2, i32 1 @@ -18588,11 +18592,11 @@ if.end65: ; preds = %if.then.i.i.i.i.i, %add.ptr71 = getelementptr inbounds ptr, ptr %add.ptr70, i64 -1 store ptr %add.ptr71, ptr %_M_node, align 8 %6 = load ptr, ptr %add.ptr71, align 8 - %_M_first.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 - store ptr %6, ptr %_M_first.i34, align 8 - %add.ptr.i35 = getelementptr inbounds %"class.absl::AnyInvocable", ptr %6, i64 16 - %_M_last.i36 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 - store ptr %add.ptr.i35, ptr %_M_last.i36, align 8 + %_M_first.i32 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 1 + store ptr %6, ptr %_M_first.i32, align 8 + %add.ptr.i33 = getelementptr inbounds %"class.absl::AnyInvocable", ptr %6, i64 16 + %_M_last.i34 = getelementptr inbounds %"struct.std::_Deque_base, std::allocator>>::_Deque_impl_data", ptr %this, i64 0, i32 3, i32 2 + store ptr %add.ptr.i33, ptr %_M_last.i34, align 8 ret void } @@ -18654,11 +18658,11 @@ invoke.cont2.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. store i64 624, ptr %_M_p.i.i.i.i.i.i.i, align 8 %2 = getelementptr inbounds %class.anon.148, ptr %0, i64 0, i32 1 %3 = load ptr, ptr %2, align 8 - %notified_yet_.i153.i.i.i.i.i = getelementptr inbounds %"class.absl::Notification", ptr %3, i64 0, i32 1 - %4 = load atomic i8, ptr %notified_yet_.i153.i.i.i.i.i acquire, align 1 + %notified_yet_.i154.i.i.i.i.i = getelementptr inbounds %"class.absl::Notification", ptr %3, i64 0, i32 1 + %4 = load atomic i8, ptr %notified_yet_.i154.i.i.i.i.i acquire, align 1 %5 = and i8 %4, 1 - %tobool.i.i.i.i.not154.i.i.i.i.i = icmp eq i8 %5, 0 - br i1 %tobool.i.i.i.i.not154.i.i.i.i.i, label %while.body.lr.ph.i.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit.i.i.i.i.i + %tobool.i.i.i.i.not155.i.i.i.i.i = icmp eq i8 %5, 0 + br i1 %tobool.i.i.i.i.not155.i.i.i.i.i, label %while.body.lr.ph.i.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit.i.i.i.i.i while.body.lr.ph.i.i.i.i.i: ; preds = %invoke.cont2.i.i.i.i.i %6 = getelementptr inbounds %class.anon.148, ptr %0, i64 0, i32 2 @@ -18669,17 +18673,17 @@ while.body.lr.ph.i.i.i.i.i: ; preds = %invoke.cont2.i.i.i. %_M_invoker.i.i.i.i.i.i = getelementptr inbounds %"class.std::function", ptr %ref.tmp47.i.i.i.i.i, i64 0, i32 1 %8 = ptrtoint ptr %oldest.i.i.i.i.i to i64 %tmp.coerce56.sroa.2.0.ref.tmp54.sroa_idx.i.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp54.i.i.i.i.i, i64 8 - %message_.i100.i.i.i.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar53.i.i.i.i.i, i64 0, i32 1 - %_M_b.i.i51.i.i.i.i.i = getelementptr inbounds %"struct.std::uniform_int_distribution<>::param_type", ptr %ref.tmp19.i.i.i.i.i, i64 0, i32 1 + %message_.i101.i.i.i.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar53.i.i.i.i.i, i64 0, i32 1 + %_M_b.i.i52.i.i.i.i.i = getelementptr inbounds %"struct.std::uniform_int_distribution<>::param_type", ptr %ref.tmp19.i.i.i.i.i, i64 0, i32 1 %message_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar.i.i.i.i.i, i64 0, i32 1 %9 = getelementptr inbounds i8, ptr %ref.tmp47.i.i.i.i.i, i64 8 br label %while.body.i.i.i.i.i while.body.i.i.i.i.i: ; preds = %sw.epilog.i.i.i.i.i, %while.body.lr.ph.i.i.i.i.i - %infoz.sroa.0.0157.i.i.i.i.i = phi ptr [ null, %while.body.lr.ph.i.i.i.i.i ], [ %infoz.sroa.0.5.i.i.i.i.i, %sw.epilog.i.i.i.i.i ] - %infoz.sroa.11.0156.i.i.i.i.i = phi ptr [ null, %while.body.lr.ph.i.i.i.i.i ], [ %infoz.sroa.11.4.i.i.i.i.i, %sw.epilog.i.i.i.i.i ] - %infoz.sroa.24.0155.i.i.i.i.i = phi ptr [ null, %while.body.lr.ph.i.i.i.i.i ], [ %infoz.sroa.24.4.i.i.i.i.i, %sw.epilog.i.i.i.i.i ] - %cmp.i.i.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.0157.i.i.i.i.i, %infoz.sroa.11.0156.i.i.i.i.i + %infoz.sroa.0.0158.i.i.i.i.i = phi ptr [ null, %while.body.lr.ph.i.i.i.i.i ], [ %infoz.sroa.0.5.i.i.i.i.i, %sw.epilog.i.i.i.i.i ] + %infoz.sroa.11.0157.i.i.i.i.i = phi ptr [ null, %while.body.lr.ph.i.i.i.i.i ], [ %infoz.sroa.11.4.i.i.i.i.i, %sw.epilog.i.i.i.i.i ] + %infoz.sroa.24.0156.i.i.i.i.i = phi ptr [ null, %while.body.lr.ph.i.i.i.i.i ], [ %infoz.sroa.24.4.i.i.i.i.i, %sw.epilog.i.i.i.i.i ] + %cmp.i.i.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.0158.i.i.i.i.i, %infoz.sroa.11.0157.i.i.i.i.i br i1 %cmp.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i, label %invoke.cont11.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %while.body.i.i.i.i.i @@ -18688,26 +18692,26 @@ if.then.i.i.i.i.i: ; preds = %while.body.i.i.i.i. to label %invoke.cont7.i.i.i.i.i unwind label %lpad3.loopexit.i.i.i.i.i invoke.cont7.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i - %cmp.not.i.i.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.0157.i.i.i.i.i, %infoz.sroa.24.0155.i.i.i.i.i + %cmp.not.i.i.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.0158.i.i.i.i.i, %infoz.sroa.24.0156.i.i.i.i.i br i1 %cmp.not.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i: ; preds = %invoke.cont7.i.i.i.i.i - store ptr %call8.i.i.i.i.i, ptr %infoz.sroa.0.0157.i.i.i.i.i, align 8 - %incdec.ptr.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %infoz.sroa.0.0157.i.i.i.i.i, i64 1 + store ptr %call8.i.i.i.i.i, ptr %infoz.sroa.0.0158.i.i.i.i.i, align 8 + %incdec.ptr.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %infoz.sroa.0.0158.i.i.i.i.i, i64 1 br label %invoke.cont11.i.i.i.i.i _ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i.i.i.i.i.i: ; preds = %invoke.cont7.i.i.i.i.i %call5.i.i.i.i.i.i12.i.i.i.i.i = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #23 - to label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i.i.i.i.i unwind label %lpad3.loopexit.i.i.i.i.i + to label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i.i.i.i.i unwind label %lpad3.loopexit.i.i.i.i.i -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i.i.i.i.i.i +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i.i.i.i.i.i store ptr %call8.i.i.i.i.i, ptr %call5.i.i.i.i.i.i12.i.i.i.i.i, align 8 %incdec.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i12.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.0157.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %invoke.cont11.i.i.i.i.i, label %if.then.i21.i.i.i.i.i.i.i.i + %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.0158.i.i.i.i.i, null + br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %invoke.cont11.i.i.i.i.i, label %if.then.i20.i.i.i.i.i.i.i.i -if.then.i21.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i.i.i.i.i - call void @_ZdlPv(ptr noundef nonnull %infoz.sroa.0.0157.i.i.i.i.i) #22 +if.then.i20.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i.i.i.i.i + call void @_ZdlPv(ptr noundef nonnull %infoz.sroa.0.0158.i.i.i.i.i) #22 br label %invoke.cont11.i.i.i.i.i lpad.i.i.i.i.i: ; preds = %entry @@ -18715,21 +18719,21 @@ lpad.i.i.i.i.i: ; preds = %entry cleanup br label %ehcleanup80.i.i.i.i.i -lpad3.loopexit.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit.i.i.i.i.i, %if.end.i.i.i.i.i.i.i, %if.then.i.i58.i.i.i.i.i, %invoke.cont22.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i33.i.i.i.i.i, %sw.bb.i.i.i.i.i, %invoke.cont11.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i - %infoz.sroa.0.2.ph.i.i.i.i.i = phi ptr [ %infoz.sroa.0.0157.i.i.i.i.i, %if.then.i.i.i.i.i ], [ %infoz.sroa.0.0157.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %invoke.cont11.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i33.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %invoke.cont22.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.end.i.i.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.then.i.i58.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.then.i.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.else.i.i.i.i.i.i ] +lpad3.loopexit.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit.i.i.i.i.i, %if.end.i.i.i.i.i.i.i, %if.then.i.i59.i.i.i.i.i, %invoke.cont22.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i33.i.i.i.i.i, %sw.bb.i.i.i.i.i, %invoke.cont11.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i + %infoz.sroa.0.2.ph.i.i.i.i.i = phi ptr [ %infoz.sroa.0.0158.i.i.i.i.i, %if.then.i.i.i.i.i ], [ %infoz.sroa.0.0158.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %invoke.cont11.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %sw.bb.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i33.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %invoke.cont22.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.end.i.i.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.then.i.i59.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.then.i.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.else.i.i.i.i.i.i ] %lpad.loopexit.i.i.i.i.i = landingpad { ptr, i32 } cleanup br label %ehcleanup76.i.i.i.i.i -lpad3.loopexit.split-lp.i.i.i.i.i: ; preds = %if.then.i.i.i.i46.i.i.i.i.i +lpad3.loopexit.split-lp.i.i.i.i.i: ; preds = %if.then.i.i.i.i47.i.i.i.i.i %lpad.loopexit.split-lp.i.i.i.i.i = landingpad { ptr, i32 } cleanup br label %ehcleanup76.i.i.i.i.i -invoke.cont11.i.i.i.i.i: ; preds = %if.then.i21.i.i.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %while.body.i.i.i.i.i - %infoz.sroa.24.2.i.i.i.i.i = phi ptr [ %infoz.sroa.24.0155.i.i.i.i.i, %while.body.i.i.i.i.i ], [ %infoz.sroa.24.0155.i.i.i.i.i, %if.then.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i, %if.then.i21.i.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i.i.i.i.i ] - %infoz.sroa.11.2.i.i.i.i.i = phi ptr [ %infoz.sroa.11.0156.i.i.i.i.i, %while.body.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i, %if.then.i21.i.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i.i.i.i.i ] - %infoz.sroa.0.3.i.i.i.i.i = phi ptr [ %infoz.sroa.0.0157.i.i.i.i.i, %while.body.i.i.i.i.i ], [ %infoz.sroa.0.0157.i.i.i.i.i, %if.then.i.i.i.i.i.i.i ], [ %call5.i.i.i.i.i.i12.i.i.i.i.i, %if.then.i21.i.i.i.i.i.i.i.i ], [ %call5.i.i.i.i.i.i12.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i.i.i.i.i.i ] +invoke.cont11.i.i.i.i.i: ; preds = %if.then.i20.i.i.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i, %while.body.i.i.i.i.i + %infoz.sroa.24.2.i.i.i.i.i = phi ptr [ %infoz.sroa.24.0156.i.i.i.i.i, %while.body.i.i.i.i.i ], [ %infoz.sroa.24.0156.i.i.i.i.i, %if.then.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i, %if.then.i20.i.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i.i.i.i.i ] + %infoz.sroa.11.2.i.i.i.i.i = phi ptr [ %infoz.sroa.11.0157.i.i.i.i.i, %while.body.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i, %if.then.i20.i.i.i.i.i.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i.i.i.i.i ] + %infoz.sroa.0.3.i.i.i.i.i = phi ptr [ %infoz.sroa.0.0158.i.i.i.i.i, %while.body.i.i.i.i.i ], [ %infoz.sroa.0.0158.i.i.i.i.i, %if.then.i.i.i.i.i.i.i ], [ %call5.i.i.i.i.i.i12.i.i.i.i.i, %if.then.i20.i.i.i.i.i.i.i.i ], [ %call5.i.i.i.i.i.i12.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i.i.i.i.i.i ] store i32 0, ptr %ref.tmp10.i.i.i.i.i, align 4 store i32 2, ptr %_M_b.i.i.i.i.i.i.i, align 4 %call.i13.i.i.i.i.i = invoke noundef i32 @_ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE(ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp10.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(5000) %gen.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp10.i.i.i.i.i) @@ -18761,13 +18765,13 @@ if.else.i.i19.i.i.i.i.i: ; preds = %invoke.cont15.i.i.i %sub.ptr.rhs.cast.i.i.i.i.i21.i.i.i.i.i = ptrtoint ptr %infoz.sroa.0.3.i.i.i.i.i to i64 %sub.ptr.sub.i.i.i.i.i22.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i20.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i21.i.i.i.i.i %cmp.i.i.i.i23.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i22.i.i.i.i.i, 9223372036854775800 - br i1 %cmp.i.i.i.i23.i.i.i.i.i, label %if.then.i.i.i.i46.i.i.i.i.i, label %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i24.i.i.i.i.i + br i1 %cmp.i.i.i.i23.i.i.i.i.i, label %if.then.i.i.i.i47.i.i.i.i.i, label %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i24.i.i.i.i.i -if.then.i.i.i.i46.i.i.i.i.i: ; preds = %if.else.i.i19.i.i.i.i.i +if.then.i.i.i.i47.i.i.i.i.i: ; preds = %if.else.i.i19.i.i.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.81) #26 - to label %.noexc47.i.i.i.i.i unwind label %lpad3.loopexit.split-lp.i.i.i.i.i + to label %.noexc48.i.i.i.i.i unwind label %lpad3.loopexit.split-lp.i.i.i.i.i -.noexc47.i.i.i.i.i: ; preds = %if.then.i.i.i.i46.i.i.i.i.i +.noexc48.i.i.i.i.i: ; preds = %if.then.i.i.i.i47.i.i.i.i.i unreachable _ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i24.i.i.i.i.i: ; preds = %if.else.i.i19.i.i.i.i.i @@ -18783,31 +18787,32 @@ _ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_len _ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i33.i.i.i.i.i: ; preds = %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i24.i.i.i.i.i %mul.i.i.i.i.i.i34.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i31.i.i.i.i.i, 3 - %call5.i.i.i.i.i.i49.i.i.i.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i34.i.i.i.i.i) #23 + %call5.i.i.i.i.i.i50.i.i.i.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i34.i.i.i.i.i) #23 to label %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i35.i.i.i.i.i unwind label %lpad3.loopexit.i.i.i.i.i _ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i35.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i33.i.i.i.i.i, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i24.i.i.i.i.i - %cond.i10.i.i.i36.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i24.i.i.i.i.i ], [ %call5.i.i.i.i.i.i49.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i33.i.i.i.i.i ] + %cond.i10.i.i.i36.i.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i24.i.i.i.i.i ], [ %call5.i.i.i.i.i.i50.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN4absl18container_internal14HashtablezInfoEEE8allocateERS4_m.exit.i.i.i.i33.i.i.i.i.i ] %add.ptr.i.i.i37.i.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i36.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i25.i.i.i.i.i store ptr %call16.i.i.i.i.i, ptr %add.ptr.i.i.i37.i.i.i.i.i, align 8 - %cmp.i.i.i11.i.i.i38.i.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i25.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i38.i.i.i.i.i, label %if.then.i.i.i12.i.i.i45.i.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i39.i.i.i.i.i + %cmp.i.i.i11.i.i.i38.i.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i22.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i38.i.i.i.i.i, label %if.then.i.i.i12.i.i.i46.i.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i39.i.i.i.i.i -if.then.i.i.i12.i.i.i45.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i35.i.i.i.i.i +if.then.i.i.i12.i.i.i46.i.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i35.i.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i36.i.i.i.i.i, ptr align 8 %infoz.sroa.0.3.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i22.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i39.i.i.i.i.i + br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i39.i.i.i.i.i -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i39.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i45.i.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i35.i.i.i.i.i - %incdec.ptr.i.i.i40.i.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i37.i.i.i.i.i, i64 1 - %tobool.not.i.i.i.i41.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.3.i.i.i.i.i, null - br i1 %tobool.not.i.i.i.i41.i.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i43.i.i.i.i.i, label %if.then.i21.i.i.i42.i.i.i.i.i +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i39.i.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i46.i.i.i.i.i, %_ZNSt12_Vector_baseIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_M_allocateEm.exit.i.i.i35.i.i.i.i.i + %add.ptr.i.i.i.i.i.i40.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i36.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i22.i.i.i.i.i + %incdec.ptr.i.i.i41.i.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i40.i.i.i.i.i, i64 1 + %tobool.not.i.i.i.i42.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.3.i.i.i.i.i, null + br i1 %tobool.not.i.i.i.i42.i.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i44.i.i.i.i.i, label %if.then.i20.i.i.i43.i.i.i.i.i -if.then.i21.i.i.i42.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i39.i.i.i.i.i +if.then.i20.i.i.i43.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i39.i.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %infoz.sroa.0.3.i.i.i.i.i) #22 - br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i43.i.i.i.i.i + br label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i44.i.i.i.i.i -_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i43.i.i.i.i.i: ; preds = %if.then.i21.i.i.i42.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i39.i.i.i.i.i - %add.ptr19.i.i.i44.i.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i36.i.i.i.i.i, i64 %cond.i.i.i.i31.i.i.i.i.i +_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i44.i.i.i.i.i: ; preds = %if.then.i20.i.i.i43.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i39.i.i.i.i.i + %add.ptr19.i.i.i45.i.i.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i36.i.i.i.i.i, i64 %cond.i.i.i.i31.i.i.i.i.i br label %sw.epilog.i.i.i.i.i invoke.cont22.i.i.i.i.i: ; preds = %invoke.cont12.i.i.i.i.i @@ -18818,12 +18823,12 @@ invoke.cont22.i.i.i.i.i: ; preds = %invoke.cont12.i.i.i %13 = trunc i64 %sub.ptr.div.i.i.i.i.i.i to i32 %conv21.i.i.i.i.i = add i32 %13, -1 store i32 0, ptr %ref.tmp19.i.i.i.i.i, align 4 - store i32 %conv21.i.i.i.i.i, ptr %_M_b.i.i51.i.i.i.i.i, align 4 - %call.i52.i.i.i.i.i = invoke noundef i32 @_ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE(ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp19.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(5000) %gen.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp19.i.i.i.i.i) + store i32 %conv21.i.i.i.i.i, ptr %_M_b.i.i52.i.i.i.i.i, align 4 + %call.i53.i.i.i.i.i = invoke noundef i32 @_ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE(ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp19.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(5000) %gen.i.i.i.i.i, ptr noundef nonnull align 4 dereferenceable(8) %ref.tmp19.i.i.i.i.i) to label %invoke.cont23.i.i.i.i.i unwind label %lpad3.loopexit.i.i.i.i.i invoke.cont23.i.i.i.i.i: ; preds = %invoke.cont22.i.i.i.i.i - %conv25.i.i.i.i.i = sext i32 %call.i52.i.i.i.i.i to i64 + %conv25.i.i.i.i.i = sext i32 %call.i53.i.i.i.i.i to i64 %add.ptr.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %infoz.sroa.0.3.i.i.i.i.i, i64 %conv25.i.i.i.i.i %14 = load ptr, ptr %add.ptr.i.i.i.i.i.i, align 8 %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %infoz.sroa.11.2.i.i.i.i.i, i64 -1 @@ -18832,10 +18837,10 @@ invoke.cont23.i.i.i.i.i: ; preds = %invoke.cont22.i.i.i %weight.i.i.i.i.i = getelementptr inbounds %"struct.absl::profiling_internal::Sample", ptr %14, i64 0, i32 3 %16 = load i64, ptr %weight.i.i.i.i.i, align 8, !noalias !320 %17 = load i64, ptr %6, align 8, !noalias !320 - %cmp.i.i57.i.i.i.i.i = icmp eq i64 %16, %17 - br i1 %cmp.i.i57.i.i.i.i.i, label %if.then.i.i58.i.i.i.i.i, label %if.end.i.i.i.i.i.i.i + %cmp.i.i58.i.i.i.i.i = icmp eq i64 %16, %17 + br i1 %cmp.i.i58.i.i.i.i.i, label %if.then.i.i59.i.i.i.i.i, label %if.end.i.i.i.i.i.i.i -if.then.i.i58.i.i.i.i.i: ; preds = %invoke.cont23.i.i.i.i.i +if.then.i.i59.i.i.i.i.i: ; preds = %invoke.cont23.i.i.i.i.i invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i.i.i.i.i) to label %invoke.cont29.i.i.i.i.i unwind label %lpad3.loopexit.i.i.i.i.i @@ -18843,7 +18848,7 @@ if.end.i.i.i.i.i.i.i: ; preds = %invoke.cont23.i.i.i invoke void @_ZN7testing8internal18CmpHelperEQFailureIllEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i.i.i.i.i, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.93, ptr noundef nonnull align 8 dereferenceable(8) %weight.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(8) %6) to label %invoke.cont29.i.i.i.i.i unwind label %lpad3.loopexit.i.i.i.i.i -invoke.cont29.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i.i, %if.then.i.i58.i.i.i.i.i +invoke.cont29.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i.i, %if.then.i.i59.i.i.i.i.i %18 = load i8, ptr %gtest_ar.i.i.i.i.i, align 8 %19 = and i8 %18, 1 %tobool.i.not.i.i.i.i.i = icmp eq i8 %19, 0 @@ -18874,8 +18879,8 @@ invoke.cont39.i.i.i.i.i: ; preds = %invoke.cont37.i.i.i invoke.cont41.i.i.i.i.i: ; preds = %invoke.cont39.i.i.i.i.i call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp35.i.i.i.i.i) #21 %21 = load ptr, ptr %ref.tmp32.i.i.i.i.i, align 8 - %cmp.not.i.i61.i.i.i.i.i = icmp eq ptr %21, null - br i1 %cmp.not.i.i61.i.i.i.i.i, label %_ZN7testing7MessageD2Ev.exit.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i.i.i + %cmp.not.i.i62.i.i.i.i.i = icmp eq ptr %21, null + br i1 %cmp.not.i.i62.i.i.i.i.i, label %_ZN7testing7MessageD2Ev.exit.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i.i.i _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i.i.i: ; preds = %invoke.cont41.i.i.i.i.i %vtable.i.i.i.i.i.i.i.i = load ptr, ptr %21, align 8 @@ -18907,24 +18912,24 @@ lpad40.i.i.i.i.i: ; preds = %invoke.cont39.i.i.i ehcleanup.i.i.i.i.i: ; preds = %lpad40.i.i.i.i.i, %lpad36.i.i.i.i.i %.pn5.i.i.i.i.i = phi { ptr, i32 } [ %25, %lpad40.i.i.i.i.i ], [ %24, %lpad36.i.i.i.i.i ] %26 = load ptr, ptr %ref.tmp32.i.i.i.i.i, align 8 - %cmp.not.i.i62.i.i.i.i.i = icmp eq ptr %26, null - br i1 %cmp.not.i.i62.i.i.i.i.i, label %_ZN7testing7MessageD2Ev.exit66.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63.i.i.i.i.i + %cmp.not.i.i63.i.i.i.i.i = icmp eq ptr %26, null + br i1 %cmp.not.i.i63.i.i.i.i.i, label %_ZN7testing7MessageD2Ev.exit67.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i.i.i.i.i -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63.i.i.i.i.i: ; preds = %ehcleanup.i.i.i.i.i - %vtable.i.i.i64.i.i.i.i.i = load ptr, ptr %26, align 8 - %vfn.i.i.i65.i.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i64.i.i.i.i.i, i64 1 - %27 = load ptr, ptr %vfn.i.i.i65.i.i.i.i.i, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i.i.i.i.i: ; preds = %ehcleanup.i.i.i.i.i + %vtable.i.i.i65.i.i.i.i.i = load ptr, ptr %26, align 8 + %vfn.i.i.i66.i.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i65.i.i.i.i.i, i64 1 + %27 = load ptr, ptr %vfn.i.i.i66.i.i.i.i.i, align 8 call void %27(ptr noundef nonnull align 8 dereferenceable(128) %26) #21 - br label %_ZN7testing7MessageD2Ev.exit66.i.i.i.i.i + br label %_ZN7testing7MessageD2Ev.exit67.i.i.i.i.i -_ZN7testing7MessageD2Ev.exit66.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i63.i.i.i.i.i, %ehcleanup.i.i.i.i.i +_ZN7testing7MessageD2Ev.exit67.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i64.i.i.i.i.i, %ehcleanup.i.i.i.i.i store ptr null, ptr %ref.tmp32.i.i.i.i.i, align 8 br label %ehcleanup76.thread.i.i.i.i.i if.end42.i.i.i.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit.i.i.i.i.i, %invoke.cont29.i.i.i.i.i %28 = load ptr, ptr %message_.i.i.i.i.i.i.i, align 8 - %cmp.not.i.i67.i.i.i.i.i = icmp eq ptr %28, null - br i1 %cmp.not.i.i67.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i.i.i + %cmp.not.i.i68.i.i.i.i.i = icmp eq ptr %28, null + br i1 %cmp.not.i.i68.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i.i.i _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i.i.i.i.i: ; preds = %if.end42.i.i.i.i.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #21 @@ -18942,10 +18947,10 @@ _ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14Hashtablez %30 = atomicrmw sub ptr %size_estimate_.i.i.i.i.i.i, i64 1 monotonic, align 8 br label %sw.epilog.i.i.i.i.i -ehcleanup76.thread.i.i.i.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit66.i.i.i.i.i, %lpad33.i.i.i.i.i - %.pn5.pn.i.i.i.i.i = phi { ptr, i32 } [ %.pn5.i.i.i.i.i, %_ZN7testing7MessageD2Ev.exit66.i.i.i.i.i ], [ %23, %lpad33.i.i.i.i.i ] +ehcleanup76.thread.i.i.i.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit67.i.i.i.i.i, %lpad33.i.i.i.i.i + %.pn5.pn.i.i.i.i.i = phi { ptr, i32 } [ %.pn5.i.i.i.i.i, %_ZN7testing7MessageD2Ev.exit67.i.i.i.i.i ], [ %23, %lpad33.i.i.i.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i.i.i.i.i) #21 - br label %if.then.i.i.i105.i.i.i.i.i + br label %if.then.i.i.i106.i.i.i.i.i sw.bb45.i.i.i.i.i: ; preds = %invoke.cont12.i.i.i.i.i store i64 0, ptr %oldest.i.i.i.i.i, align 8 @@ -18961,20 +18966,20 @@ sw.bb45.i.i.i.i.i: ; preds = %invoke.cont12.i.i.i invoke.cont50.i.i.i.i.i: ; preds = %sw.bb45.i.i.i.i.i %32 = load ptr, ptr %_M_manager.i.i.i.i.i.i.i, align 8 %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %32, null - br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit.i.i.i.i.i, label %if.then.i.i70.i.i.i.i.i + br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit.i.i.i.i.i, label %if.then.i.i71.i.i.i.i.i -if.then.i.i70.i.i.i.i.i: ; preds = %invoke.cont50.i.i.i.i.i +if.then.i.i71.i.i.i.i.i: ; preds = %invoke.cont50.i.i.i.i.i %call.i.i.i.i.i.i.i = invoke noundef zeroext i1 %32(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp47.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp47.i.i.i.i.i, i32 noundef 3) to label %_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit.i.i.i.i.i unwind label %terminate.lpad.i.i.i.i.i.i.i -terminate.lpad.i.i.i.i.i.i.i: ; preds = %if.then.i.i70.i.i.i.i.i +terminate.lpad.i.i.i.i.i.i.i: ; preds = %if.then.i.i71.i.i.i.i.i %33 = landingpad { ptr, i32 } catch ptr null %34 = extractvalue { ptr, i32 } %33, 0 call void @__clang_call_terminate(ptr %34) #24 unreachable -_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit.i.i.i.i.i: ; preds = %if.then.i.i70.i.i.i.i.i, %invoke.cont50.i.i.i.i.i +_ZNSt8functionIFvRKN4absl18container_internal14HashtablezInfoEEED2Ev.exit.i.i.i.i.i: ; preds = %if.then.i.i71.i.i.i.i.i, %invoke.cont50.i.i.i.i.i store i64 0, ptr %ref.tmp54.i.i.i.i.i, align 8 store i32 0, ptr %tmp.coerce56.sroa.2.0.ref.tmp54.sroa_idx.i.i.i.i.i, align 8 %agg.tmp.sroa.0.0.copyload.i.i.i.i.i.i = load i64, ptr %oldest.i.i.i.i.i, align 8, !noalias !325 @@ -18992,21 +18997,21 @@ if.else.i.i.i.i.i.i: ; preds = %_ZNSt8functionIFvRK invoke.cont57.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i %35 = load i8, ptr %gtest_ar53.i.i.i.i.i, align 8 %36 = and i8 %35, 1 - %tobool.i73.not.i.i.i.i.i = icmp eq i8 %36, 0 - br i1 %tobool.i73.not.i.i.i.i.i, label %if.else60.i.i.i.i.i, label %sw.epilog.critedge.i.i.i.i.i + %tobool.i74.not.i.i.i.i.i = icmp eq i8 %36, 0 + br i1 %tobool.i74.not.i.i.i.i.i, label %if.else60.i.i.i.i.i, label %sw.epilog.critedge.i.i.i.i.i lpad49.i.i.i.i.i: ; preds = %sw.bb45.i.i.i.i.i %37 = landingpad { ptr, i32 } cleanup %38 = load ptr, ptr %_M_manager.i.i.i.i.i.i.i, align 8 - %tobool.not.i.i75.i.i.i.i.i = icmp eq ptr %38, null - br i1 %tobool.not.i.i75.i.i.i.i.i, label %ehcleanup76.i.i.i.i.i, label %if.then.i.i76.i.i.i.i.i + %tobool.not.i.i76.i.i.i.i.i = icmp eq ptr %38, null + br i1 %tobool.not.i.i76.i.i.i.i.i, label %ehcleanup76.i.i.i.i.i, label %if.then.i.i77.i.i.i.i.i -if.then.i.i76.i.i.i.i.i: ; preds = %lpad49.i.i.i.i.i - %call.i.i77.i.i.i.i.i = invoke noundef zeroext i1 %38(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp47.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp47.i.i.i.i.i, i32 noundef 3) - to label %ehcleanup76.i.i.i.i.i unwind label %terminate.lpad.i.i78.i.i.i.i.i +if.then.i.i77.i.i.i.i.i: ; preds = %lpad49.i.i.i.i.i + %call.i.i78.i.i.i.i.i = invoke noundef zeroext i1 %38(ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp47.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %ref.tmp47.i.i.i.i.i, i32 noundef 3) + to label %ehcleanup76.i.i.i.i.i unwind label %terminate.lpad.i.i79.i.i.i.i.i -terminate.lpad.i.i78.i.i.i.i.i: ; preds = %if.then.i.i76.i.i.i.i.i +terminate.lpad.i.i79.i.i.i.i.i: ; preds = %if.then.i.i77.i.i.i.i.i %39 = landingpad { ptr, i32 } catch ptr null %40 = extractvalue { ptr, i32 } %39, 0 @@ -19018,17 +19023,17 @@ if.else60.i.i.i.i.i: ; preds = %invoke.cont57.i.i.i to label %invoke.cont63.i.i.i.i.i unwind label %lpad62.i.i.i.i.i invoke.cont63.i.i.i.i.i: ; preds = %if.else60.i.i.i.i.i - %41 = load ptr, ptr %message_.i100.i.i.i.i.i, align 8 - %cmp.i.i.not.i.i81.i.i.i.i.i = icmp eq ptr %41, null - br i1 %cmp.i.i.not.i.i81.i.i.i.i.i, label %invoke.cont66.i.i.i.i.i, label %cond.true.i.i82.i.i.i.i.i + %41 = load ptr, ptr %message_.i101.i.i.i.i.i, align 8 + %cmp.i.i.not.i.i82.i.i.i.i.i = icmp eq ptr %41, null + br i1 %cmp.i.i.not.i.i82.i.i.i.i.i, label %invoke.cont66.i.i.i.i.i, label %cond.true.i.i83.i.i.i.i.i -cond.true.i.i82.i.i.i.i.i: ; preds = %invoke.cont63.i.i.i.i.i - %call4.i.i83.i.i.i.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #21 +cond.true.i.i83.i.i.i.i.i: ; preds = %invoke.cont63.i.i.i.i.i + %call4.i.i84.i.i.i.i.i = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #21 br label %invoke.cont66.i.i.i.i.i -invoke.cont66.i.i.i.i.i: ; preds = %cond.true.i.i82.i.i.i.i.i, %invoke.cont63.i.i.i.i.i - %cond.i.i84.i.i.i.i.i = phi ptr [ %call4.i.i83.i.i.i.i.i, %cond.true.i.i82.i.i.i.i.i ], [ @.str.42, %invoke.cont63.i.i.i.i.i ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i.i.i.i.i, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 383, ptr noundef %cond.i.i84.i.i.i.i.i) +invoke.cont66.i.i.i.i.i: ; preds = %cond.true.i.i83.i.i.i.i.i, %invoke.cont63.i.i.i.i.i + %cond.i.i85.i.i.i.i.i = phi ptr [ %call4.i.i84.i.i.i.i.i, %cond.true.i.i83.i.i.i.i.i ], [ @.str.42, %invoke.cont63.i.i.i.i.i ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i.i.i.i.i, i32 noundef 2, ptr noundef nonnull @.str.3, i32 noundef 383, ptr noundef %cond.i.i85.i.i.i.i.i) to label %invoke.cont68.i.i.i.i.i unwind label %lpad65.i.i.i.i.i invoke.cont68.i.i.i.i.i: ; preds = %invoke.cont66.i.i.i.i.i @@ -19038,29 +19043,29 @@ invoke.cont68.i.i.i.i.i: ; preds = %invoke.cont66.i.i.i invoke.cont70.i.i.i.i.i: ; preds = %invoke.cont68.i.i.i.i.i call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i.i.i.i.i) #21 %42 = load ptr, ptr %ref.tmp61.i.i.i.i.i, align 8 - %cmp.not.i.i86.i.i.i.i.i = icmp eq ptr %42, null - br i1 %cmp.not.i.i86.i.i.i.i.i, label %_ZN7testing7MessageD2Ev.exit90.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87.i.i.i.i.i + %cmp.not.i.i87.i.i.i.i.i = icmp eq ptr %42, null + br i1 %cmp.not.i.i87.i.i.i.i.i, label %_ZN7testing7MessageD2Ev.exit91.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i.i.i.i.i -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87.i.i.i.i.i: ; preds = %invoke.cont70.i.i.i.i.i - %vtable.i.i.i88.i.i.i.i.i = load ptr, ptr %42, align 8 - %vfn.i.i.i89.i.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i88.i.i.i.i.i, i64 1 - %43 = load ptr, ptr %vfn.i.i.i89.i.i.i.i.i, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i.i.i.i.i: ; preds = %invoke.cont70.i.i.i.i.i + %vtable.i.i.i89.i.i.i.i.i = load ptr, ptr %42, align 8 + %vfn.i.i.i90.i.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i89.i.i.i.i.i, i64 1 + %43 = load ptr, ptr %vfn.i.i.i90.i.i.i.i.i, align 8 call void %43(ptr noundef nonnull align 8 dereferenceable(128) %42) #21 - br label %_ZN7testing7MessageD2Ev.exit90.i.i.i.i.i + br label %_ZN7testing7MessageD2Ev.exit91.i.i.i.i.i -_ZN7testing7MessageD2Ev.exit90.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i87.i.i.i.i.i, %invoke.cont70.i.i.i.i.i +_ZN7testing7MessageD2Ev.exit91.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i88.i.i.i.i.i, %invoke.cont70.i.i.i.i.i store ptr null, ptr %ref.tmp61.i.i.i.i.i, align 8 - %44 = load ptr, ptr %message_.i100.i.i.i.i.i, align 8 - %cmp.not.i.i92.i.i.i.i.i = icmp eq ptr %44, null - br i1 %cmp.not.i.i92.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit94.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93.i.i.i.i.i + %44 = load ptr, ptr %message_.i101.i.i.i.i.i, align 8 + %cmp.not.i.i93.i.i.i.i.i = icmp eq ptr %44, null + br i1 %cmp.not.i.i93.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit95.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94.i.i.i.i.i -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93.i.i.i.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit90.i.i.i.i.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94.i.i.i.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit91.i.i.i.i.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #21 call void @_ZdlPv(ptr noundef nonnull %44) #22 - br label %_ZN7testing15AssertionResultD2Ev.exit94.i.i.i.i.i + br label %_ZN7testing15AssertionResultD2Ev.exit95.i.i.i.i.i -_ZN7testing15AssertionResultD2Ev.exit94.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i93.i.i.i.i.i, %_ZN7testing7MessageD2Ev.exit90.i.i.i.i.i - store ptr null, ptr %message_.i100.i.i.i.i.i, align 8 +_ZN7testing15AssertionResultD2Ev.exit95.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i94.i.i.i.i.i, %_ZN7testing7MessageD2Ev.exit91.i.i.i.i.i + store ptr null, ptr %message_.i101.i.i.i.i.i, align 8 br label %cleanup75.i.i.i.i.i lpad62.i.i.i.i.i: ; preds = %if.else60.i.i.i.i.i @@ -19082,43 +19087,43 @@ lpad69.i.i.i.i.i: ; preds = %invoke.cont68.i.i.i ehcleanup72.i.i.i.i.i: ; preds = %lpad69.i.i.i.i.i, %lpad65.i.i.i.i.i %.pn.i.i.i.i.i = phi { ptr, i32 } [ %47, %lpad69.i.i.i.i.i ], [ %46, %lpad65.i.i.i.i.i ] %48 = load ptr, ptr %ref.tmp61.i.i.i.i.i, align 8 - %cmp.not.i.i95.i.i.i.i.i = icmp eq ptr %48, null - br i1 %cmp.not.i.i95.i.i.i.i.i, label %_ZN7testing7MessageD2Ev.exit99.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96.i.i.i.i.i + %cmp.not.i.i96.i.i.i.i.i = icmp eq ptr %48, null + br i1 %cmp.not.i.i96.i.i.i.i.i, label %_ZN7testing7MessageD2Ev.exit100.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97.i.i.i.i.i -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96.i.i.i.i.i: ; preds = %ehcleanup72.i.i.i.i.i - %vtable.i.i.i97.i.i.i.i.i = load ptr, ptr %48, align 8 - %vfn.i.i.i98.i.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i97.i.i.i.i.i, i64 1 - %49 = load ptr, ptr %vfn.i.i.i98.i.i.i.i.i, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97.i.i.i.i.i: ; preds = %ehcleanup72.i.i.i.i.i + %vtable.i.i.i98.i.i.i.i.i = load ptr, ptr %48, align 8 + %vfn.i.i.i99.i.i.i.i.i = getelementptr inbounds ptr, ptr %vtable.i.i.i98.i.i.i.i.i, i64 1 + %49 = load ptr, ptr %vfn.i.i.i99.i.i.i.i.i, align 8 call void %49(ptr noundef nonnull align 8 dereferenceable(128) %48) #21 - br label %_ZN7testing7MessageD2Ev.exit99.i.i.i.i.i + br label %_ZN7testing7MessageD2Ev.exit100.i.i.i.i.i -_ZN7testing7MessageD2Ev.exit99.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96.i.i.i.i.i, %ehcleanup72.i.i.i.i.i +_ZN7testing7MessageD2Ev.exit100.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i97.i.i.i.i.i, %ehcleanup72.i.i.i.i.i store ptr null, ptr %ref.tmp61.i.i.i.i.i, align 8 br label %ehcleanup74.i.i.i.i.i -ehcleanup74.i.i.i.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit99.i.i.i.i.i, %lpad62.i.i.i.i.i - %.pn.pn.i.i.i.i.i = phi { ptr, i32 } [ %.pn.i.i.i.i.i, %_ZN7testing7MessageD2Ev.exit99.i.i.i.i.i ], [ %45, %lpad62.i.i.i.i.i ] +ehcleanup74.i.i.i.i.i: ; preds = %_ZN7testing7MessageD2Ev.exit100.i.i.i.i.i, %lpad62.i.i.i.i.i + %.pn.pn.i.i.i.i.i = phi { ptr, i32 } [ %.pn.i.i.i.i.i, %_ZN7testing7MessageD2Ev.exit100.i.i.i.i.i ], [ %45, %lpad62.i.i.i.i.i ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar53.i.i.i.i.i) #21 br label %ehcleanup76.i.i.i.i.i sw.epilog.critedge.i.i.i.i.i: ; preds = %invoke.cont57.i.i.i.i.i - %50 = load ptr, ptr %message_.i100.i.i.i.i.i, align 8 - %cmp.not.i.i101.i.i.i.i.i = icmp eq ptr %50, null - br i1 %cmp.not.i.i101.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit103.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i102.i.i.i.i.i + %50 = load ptr, ptr %message_.i101.i.i.i.i.i, align 8 + %cmp.not.i.i102.i.i.i.i.i = icmp eq ptr %50, null + br i1 %cmp.not.i.i102.i.i.i.i.i, label %_ZN7testing15AssertionResultD2Ev.exit104.i.i.i.i.i, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i.i.i.i.i -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i102.i.i.i.i.i: ; preds = %sw.epilog.critedge.i.i.i.i.i +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i.i.i.i.i: ; preds = %sw.epilog.critedge.i.i.i.i.i call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #21 call void @_ZdlPv(ptr noundef nonnull %50) #22 - br label %_ZN7testing15AssertionResultD2Ev.exit103.i.i.i.i.i + br label %_ZN7testing15AssertionResultD2Ev.exit104.i.i.i.i.i -_ZN7testing15AssertionResultD2Ev.exit103.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i102.i.i.i.i.i, %sw.epilog.critedge.i.i.i.i.i - store ptr null, ptr %message_.i100.i.i.i.i.i, align 8 +_ZN7testing15AssertionResultD2Ev.exit104.i.i.i.i.i: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103.i.i.i.i.i, %sw.epilog.critedge.i.i.i.i.i + store ptr null, ptr %message_.i101.i.i.i.i.i, align 8 br label %sw.epilog.i.i.i.i.i -sw.epilog.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit103.i.i.i.i.i, %_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE10UnregisterEPS3_.exit.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i43.i.i.i.i.i, %if.then.i.i17.i.i.i.i.i, %invoke.cont12.i.i.i.i.i - %infoz.sroa.24.4.i.i.i.i.i = phi ptr [ %infoz.sroa.24.2.i.i.i.i.i, %invoke.cont12.i.i.i.i.i ], [ %infoz.sroa.24.2.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit103.i.i.i.i.i ], [ %infoz.sroa.24.2.i.i.i.i.i, %_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE10UnregisterEPS3_.exit.i.i.i.i.i ], [ %add.ptr19.i.i.i44.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i43.i.i.i.i.i ], [ %infoz.sroa.24.2.i.i.i.i.i, %if.then.i.i17.i.i.i.i.i ] - %infoz.sroa.11.4.i.i.i.i.i = phi ptr [ %infoz.sroa.11.2.i.i.i.i.i, %invoke.cont12.i.i.i.i.i ], [ %infoz.sroa.11.2.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit103.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i, %_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE10UnregisterEPS3_.exit.i.i.i.i.i ], [ %incdec.ptr.i.i.i40.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i43.i.i.i.i.i ], [ %incdec.ptr.i.i18.i.i.i.i.i, %if.then.i.i17.i.i.i.i.i ] - %infoz.sroa.0.5.i.i.i.i.i = phi ptr [ %infoz.sroa.0.3.i.i.i.i.i, %invoke.cont12.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit103.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE10UnregisterEPS3_.exit.i.i.i.i.i ], [ %cond.i10.i.i.i36.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i43.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.then.i.i17.i.i.i.i.i ] +sw.epilog.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit104.i.i.i.i.i, %_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE10UnregisterEPS3_.exit.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i44.i.i.i.i.i, %if.then.i.i17.i.i.i.i.i, %invoke.cont12.i.i.i.i.i + %infoz.sroa.24.4.i.i.i.i.i = phi ptr [ %infoz.sroa.24.2.i.i.i.i.i, %invoke.cont12.i.i.i.i.i ], [ %infoz.sroa.24.2.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit104.i.i.i.i.i ], [ %infoz.sroa.24.2.i.i.i.i.i, %_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE10UnregisterEPS3_.exit.i.i.i.i.i ], [ %add.ptr19.i.i.i45.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i44.i.i.i.i.i ], [ %infoz.sroa.24.2.i.i.i.i.i, %if.then.i.i17.i.i.i.i.i ] + %infoz.sroa.11.4.i.i.i.i.i = phi ptr [ %infoz.sroa.11.2.i.i.i.i.i, %invoke.cont12.i.i.i.i.i ], [ %infoz.sroa.11.2.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit104.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i, %_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE10UnregisterEPS3_.exit.i.i.i.i.i ], [ %incdec.ptr.i.i.i41.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i44.i.i.i.i.i ], [ %incdec.ptr.i.i18.i.i.i.i.i, %if.then.i.i17.i.i.i.i.i ] + %infoz.sroa.0.5.i.i.i.i.i = phi ptr [ %infoz.sroa.0.3.i.i.i.i.i, %invoke.cont12.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit104.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %_ZN4absl18profiling_internal14SampleRecorderINS_18container_internal14HashtablezInfoEE10UnregisterEPS3_.exit.i.i.i.i.i ], [ %cond.i10.i.i.i36.i.i.i.i.i, %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i44.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.then.i.i17.i.i.i.i.i ] %51 = load ptr, ptr %2, align 8 %notified_yet_.i.i.i.i.i.i = getelementptr inbounds %"class.absl::Notification", ptr %51, i64 0, i32 1 %52 = load atomic i8, ptr %notified_yet_.i.i.i.i.i.i acquire, align 1 @@ -19126,8 +19131,8 @@ sw.epilog.i.i.i.i.i: ; preds = %_ZN7testing15Assert %tobool.i.i.i.i.not.i.i.i.i.i = icmp eq i8 %53, 0 br i1 %tobool.i.i.i.i.not.i.i.i.i.i, label %while.body.i.i.i.i.i, label %cleanup75.i.i.i.i.i, !llvm.loop !328 -cleanup75.i.i.i.i.i: ; preds = %sw.epilog.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit94.i.i.i.i.i - %infoz.sroa.0.6.i.i.i.i.i = phi ptr [ %infoz.sroa.0.3.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit94.i.i.i.i.i ], [ %infoz.sroa.0.5.i.i.i.i.i, %sw.epilog.i.i.i.i.i ] +cleanup75.i.i.i.i.i: ; preds = %sw.epilog.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit95.i.i.i.i.i + %infoz.sroa.0.6.i.i.i.i.i = phi ptr [ %infoz.sroa.0.3.i.i.i.i.i, %_ZN7testing15AssertionResultD2Ev.exit95.i.i.i.i.i ], [ %infoz.sroa.0.5.i.i.i.i.i, %sw.epilog.i.i.i.i.i ] %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.6.i.i.i.i.i, null br i1 %tobool.not.i.i.i.i.i.i.i.i, label %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit.i.i.i.i.i, label %if.then.i.i.i.i.i.i.i.i @@ -19146,31 +19151,31 @@ terminate.lpad.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIPN4abs call void @__clang_call_terminate(ptr %55) #24 unreachable -ehcleanup76.i.i.i.i.i: ; preds = %ehcleanup74.i.i.i.i.i, %if.then.i.i76.i.i.i.i.i, %lpad49.i.i.i.i.i, %lpad3.loopexit.split-lp.i.i.i.i.i, %lpad3.loopexit.i.i.i.i.i - %infoz.sroa.0.7.i.i.i.i.i = phi ptr [ %infoz.sroa.0.3.i.i.i.i.i, %ehcleanup74.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %lpad49.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.then.i.i76.i.i.i.i.i ], [ %infoz.sroa.0.2.ph.i.i.i.i.i, %lpad3.loopexit.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %lpad3.loopexit.split-lp.i.i.i.i.i ] - %.pn.pn.pn.i.i.i.i.i = phi { ptr, i32 } [ %.pn.pn.i.i.i.i.i, %ehcleanup74.i.i.i.i.i ], [ %37, %lpad49.i.i.i.i.i ], [ %37, %if.then.i.i76.i.i.i.i.i ], [ %lpad.loopexit.i.i.i.i.i, %lpad3.loopexit.i.i.i.i.i ], [ %lpad.loopexit.split-lp.i.i.i.i.i, %lpad3.loopexit.split-lp.i.i.i.i.i ] - %tobool.not.i.i.i104.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.7.i.i.i.i.i, null - br i1 %tobool.not.i.i.i104.i.i.i.i.i, label %ehcleanup80.i.i.i.i.i, label %if.then.i.i.i105.i.i.i.i.i +ehcleanup76.i.i.i.i.i: ; preds = %ehcleanup74.i.i.i.i.i, %if.then.i.i77.i.i.i.i.i, %lpad49.i.i.i.i.i, %lpad3.loopexit.split-lp.i.i.i.i.i, %lpad3.loopexit.i.i.i.i.i + %infoz.sroa.0.7.i.i.i.i.i = phi ptr [ %infoz.sroa.0.3.i.i.i.i.i, %ehcleanup74.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %lpad49.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %if.then.i.i77.i.i.i.i.i ], [ %infoz.sroa.0.2.ph.i.i.i.i.i, %lpad3.loopexit.i.i.i.i.i ], [ %infoz.sroa.0.3.i.i.i.i.i, %lpad3.loopexit.split-lp.i.i.i.i.i ] + %.pn.pn.pn.i.i.i.i.i = phi { ptr, i32 } [ %.pn.pn.i.i.i.i.i, %ehcleanup74.i.i.i.i.i ], [ %37, %lpad49.i.i.i.i.i ], [ %37, %if.then.i.i77.i.i.i.i.i ], [ %lpad.loopexit.i.i.i.i.i, %lpad3.loopexit.i.i.i.i.i ], [ %lpad.loopexit.split-lp.i.i.i.i.i, %lpad3.loopexit.split-lp.i.i.i.i.i ] + %tobool.not.i.i.i105.i.i.i.i.i = icmp eq ptr %infoz.sroa.0.7.i.i.i.i.i, null + br i1 %tobool.not.i.i.i105.i.i.i.i.i, label %ehcleanup80.i.i.i.i.i, label %if.then.i.i.i106.i.i.i.i.i -if.then.i.i.i105.i.i.i.i.i: ; preds = %ehcleanup76.i.i.i.i.i, %ehcleanup76.thread.i.i.i.i.i - %.pn.pn.pn130.i.i.i.i.i = phi { ptr, i32 } [ %.pn5.pn.i.i.i.i.i, %ehcleanup76.thread.i.i.i.i.i ], [ %.pn.pn.pn.i.i.i.i.i, %ehcleanup76.i.i.i.i.i ] - %infoz.sroa.0.7129.i.i.i.i.i = phi ptr [ %infoz.sroa.0.3.i.i.i.i.i, %ehcleanup76.thread.i.i.i.i.i ], [ %infoz.sroa.0.7.i.i.i.i.i, %ehcleanup76.i.i.i.i.i ] - call void @_ZdlPv(ptr noundef nonnull %infoz.sroa.0.7129.i.i.i.i.i) #22 +if.then.i.i.i106.i.i.i.i.i: ; preds = %ehcleanup76.i.i.i.i.i, %ehcleanup76.thread.i.i.i.i.i + %.pn.pn.pn131.i.i.i.i.i = phi { ptr, i32 } [ %.pn5.pn.i.i.i.i.i, %ehcleanup76.thread.i.i.i.i.i ], [ %.pn.pn.pn.i.i.i.i.i, %ehcleanup76.i.i.i.i.i ] + %infoz.sroa.0.7130.i.i.i.i.i = phi ptr [ %infoz.sroa.0.3.i.i.i.i.i, %ehcleanup76.thread.i.i.i.i.i ], [ %infoz.sroa.0.7.i.i.i.i.i, %ehcleanup76.i.i.i.i.i ] + call void @_ZdlPv(ptr noundef nonnull %infoz.sroa.0.7130.i.i.i.i.i) #22 br label %ehcleanup80.i.i.i.i.i -ehcleanup80.i.i.i.i.i: ; preds = %if.then.i.i.i105.i.i.i.i.i, %ehcleanup76.i.i.i.i.i, %lpad.i.i.i.i.i - %.pn.pn.pn.pn.i.i.i.i.i = phi { ptr, i32 } [ %11, %lpad.i.i.i.i.i ], [ %.pn.pn.pn.i.i.i.i.i, %ehcleanup76.i.i.i.i.i ], [ %.pn.pn.pn130.i.i.i.i.i, %if.then.i.i.i105.i.i.i.i.i ] +ehcleanup80.i.i.i.i.i: ; preds = %if.then.i.i.i106.i.i.i.i.i, %ehcleanup76.i.i.i.i.i, %lpad.i.i.i.i.i + %.pn.pn.pn.pn.i.i.i.i.i = phi { ptr, i32 } [ %11, %lpad.i.i.i.i.i ], [ %.pn.pn.pn.i.i.i.i.i, %ehcleanup76.i.i.i.i.i ], [ %.pn.pn.pn131.i.i.i.i.i, %if.then.i.i.i106.i.i.i.i.i ] invoke void @_ZNSt13random_device7_M_finiEv(ptr noundef nonnull align 8 dereferenceable(5000) %rd.i.i.i.i.i) - to label %_ZNSt13random_deviceD2Ev.exit108.i.i.i.i.i unwind label %terminate.lpad.i107.i.i.i.i.i + to label %_ZNSt13random_deviceD2Ev.exit109.i.i.i.i.i unwind label %terminate.lpad.i108.i.i.i.i.i -terminate.lpad.i107.i.i.i.i.i: ; preds = %ehcleanup80.i.i.i.i.i +terminate.lpad.i108.i.i.i.i.i: ; preds = %ehcleanup80.i.i.i.i.i %56 = landingpad { ptr, i32 } catch ptr null %57 = extractvalue { ptr, i32 } %56, 0 call void @__clang_call_terminate(ptr %57) #24 unreachable -_ZNSt13random_deviceD2Ev.exit108.i.i.i.i.i: ; preds = %ehcleanup80.i.i.i.i.i +_ZNSt13random_deviceD2Ev.exit109.i.i.i.i.i: ; preds = %ehcleanup80.i.i.i.i.i resume { ptr, i32 } %.pn.pn.pn.pn.i.i.i.i.i "_ZN4absl22internal_any_invocable7InvokeRIvRZNS_18container_internal12_GLOBAL__N_140HashtablezSamplerTest_MultiThreaded_Test8TestBodyEvE3$_0JEvEEvOT0_DpOT1_.exit": ; preds = %_ZNSt6vectorIPN4absl18container_internal14HashtablezInfoESaIS3_EED2Ev.exit.i.i.i.i.i diff --git a/bench/abseil-cpp/optimized/inlined_vector_exception_safety_test.cc.ll b/bench/abseil-cpp/optimized/inlined_vector_exception_safety_test.cc.ll index a0052db4141..98f44905cef 100644 --- a/bench/abseil-cpp/optimized/inlined_vector_exception_safety_test.cc.ll +++ b/bench/abseil-cpp/optimized/inlined_vector_exception_safety_test.cc.ll @@ -118821,7 +118821,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS to label %invoke.cont18 unwind label %lpad12 invoke.cont18: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS2_8TypeSpecE0EEEELb0EE8AllocateERS6_m.exit.i - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call5.i.i.i.i29, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i29, i64 %sub.ptr.sub.i.i %cmp7.not.i.i = icmp eq i64 %insert_count, 0 br i1 %cmp7.not.i.i, label %invoke.cont20, label %for.body.i.i @@ -119017,7 +119017,7 @@ if.else: ; preds = %entry call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %move_construction_tx41, i8 0, i64 16, i1 false) %add.ptr51 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %.sroa.speculated %sub52 = sub i64 %add3, %.sroa.speculated - %add.ptr54 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %sub.ptr.div.i.i + %add.ptr54 = getelementptr inbounds i8, ptr %.sink3.i, i64 %sub.ptr.sub.i.i %add.ptr56 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %add %sub57 = sub i64 %.sroa.speculated, %add %add.ptr61 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr54, i64 %sub52 @@ -123917,7 +123917,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS to label %invoke.cont18 unwind label %lpad12 invoke.cont18: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS2_8TypeSpecE2EEEELb0EE8AllocateERS6_m.exit.i - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %call5.i.i.i.i29, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i29, i64 %sub.ptr.sub.i.i %cmp6.not.i.i = icmp eq i64 %insert_count, 0 br i1 %cmp6.not.i.i, label %invoke.cont20, label %for.inc.i.i @@ -124018,7 +124018,7 @@ if.else: ; preds = %entry %.sroa.speculated = tail call i64 @llvm.umax.i64(i64 %add, i64 %shr.i.sink.i) %add.ptr51 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %.sroa.speculated %sub52 = sub i64 %add3, %.sroa.speculated - %add.ptr54 = getelementptr %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %sub.ptr.div.i.i + %add.ptr54 = getelementptr i8, ptr %.sink3.i, i64 %sub.ptr.sub.i.i %add.ptr56 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %add %sub57 = sub i64 %.sroa.speculated, %add %add.ptr61 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %add.ptr54, i64 %sub52 @@ -126883,7 +126883,7 @@ invoke.cont18: ; preds = %.noexc store ptr %call.i.i.i.i28, ptr %3, align 8 %capacity_.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::AllocationTransaction.548", ptr %allocation_tx, i64 0, i32 1 store i64 %.sroa.speculated.i, ptr %capacity_.i.i, align 8 - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call.i.i.i.i28, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call.i.i.i.i28, i64 %sub.ptr.sub.i.i invoke void @_ZN4absl23inlined_vector_internal17ConstructElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_20IteratorValueAdapterIS8_St13move_iteratorIPS6_EEEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISF_E7pointerERT0_NSK_9size_typeE(ptr noundef nonnull align 8 dereferenceable(16) %construction_tx, ptr noundef nonnull %add.ptr, ptr noundef nonnull align 8 dereferenceable(8) %values, i64 noundef %insert_count) to label %invoke.cont20 unwind label %lpad12 @@ -126987,7 +126987,7 @@ if.else: ; preds = %entry store i64 %18, ptr %move_construction_values, align 8 %add.ptr49 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %.sroa.speculated %sub50 = sub i64 %add3, %.sroa.speculated - %add.ptr52 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i + %add.ptr52 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i %add.ptr54 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %add %add.ptr59 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr52, i64 %sub50 %sub61 = sub i64 %insert_count, %sub50 @@ -129649,7 +129649,7 @@ invoke.cont18: ; preds = %.noexc store ptr %call.i.i.i.i28, ptr %3, align 8 %capacity_.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::AllocationTransaction.548", ptr %allocation_tx, i64 0, i32 1 store i64 %.sroa.speculated.i, ptr %capacity_.i.i, align 8 - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call.i.i.i.i28, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call.i.i.i.i28, i64 %sub.ptr.sub.i.i invoke void @_ZN4absl23inlined_vector_internal17ConstructElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_20IteratorValueAdapterIS8_St13move_iteratorIPS6_EEEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISF_E7pointerERT0_NSK_9size_typeE(ptr noundef nonnull align 8 dereferenceable(16) %construction_tx, ptr noundef nonnull %add.ptr, ptr noundef nonnull align 8 dereferenceable(8) %values, i64 noundef %insert_count) to label %invoke.cont20 unwind label %lpad12 @@ -129753,7 +129753,7 @@ if.else: ; preds = %entry store i64 %18, ptr %move_construction_values, align 8 %add.ptr48 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %.sroa.speculated %sub49 = sub i64 %add3, %.sroa.speculated - %add.ptr51 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i + %add.ptr51 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %add %add.ptr58 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr51, i64 %sub49 %sub60 = sub i64 %insert_count, %sub49 @@ -133914,7 +133914,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS to label %invoke.cont17 unwind label %lpad11 invoke.cont17: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS2_8TypeSpecE0EEEELb0EE8AllocateERS6_m.exit.i - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call5.i.i.i.i29, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i29, i64 %sub.ptr.sub.i.i %cmp7.not.i.i = icmp eq i64 %insert_count, 0 br i1 %cmp7.not.i.i, label %invoke.cont19, label %for.body.i.i @@ -134108,7 +134108,7 @@ if.else: ; preds = %entry call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %move_construction_tx40, i8 0, i64 16, i1 false) %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %.sroa.speculated %sub51 = sub i64 %add2, %.sroa.speculated - %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %sub.ptr.div.i.i + %add.ptr53 = getelementptr inbounds i8, ptr %.sink3.i, i64 %sub.ptr.sub.i.i %add.ptr55 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %add %sub56 = sub i64 %.sroa.speculated, %add %add.ptr60 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr53, i64 %sub51 @@ -134916,7 +134916,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS to label %invoke.cont17 unwind label %lpad11 invoke.cont17: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS2_8TypeSpecE0EEEELb0EE8AllocateERS6_m.exit.i - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call5.i.i.i.i29, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i29, i64 %sub.ptr.sub.i.i %cmp7.not.i.i = icmp eq i64 %insert_count, 0 br i1 %cmp7.not.i.i, label %invoke.cont19, label %for.body.i.i @@ -135112,7 +135112,7 @@ if.else: ; preds = %entry call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %move_construction_tx40, i8 0, i64 16, i1 false) %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %.sroa.speculated %sub51 = sub i64 %add2, %.sroa.speculated - %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %sub.ptr.div.i.i + %add.ptr53 = getelementptr inbounds i8, ptr %.sink3.i, i64 %sub.ptr.sub.i.i %add.ptr55 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %add %sub56 = sub i64 %.sroa.speculated, %add %add.ptr60 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr53, i64 %sub51 @@ -136202,7 +136202,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS to label %invoke.cont17 unwind label %lpad11 invoke.cont17: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS2_8TypeSpecE0EEEELb0EE8AllocateERS6_m.exit.i - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call5.i.i.i.i29, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i29, i64 %sub.ptr.sub.i.i %cmp7.not.i.i = icmp eq i64 %insert_count, 0 br i1 %cmp7.not.i.i, label %invoke.cont19, label %for.body.i.i @@ -136398,7 +136398,7 @@ if.else: ; preds = %entry call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %move_construction_tx40, i8 0, i64 16, i1 false) %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %.sroa.speculated %sub51 = sub i64 %add2, %.sroa.speculated - %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %sub.ptr.div.i.i + %add.ptr53 = getelementptr inbounds i8, ptr %.sink3.i, i64 %sub.ptr.sub.i.i %add.ptr55 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink3.i, i64 %add %sub56 = sub i64 %.sroa.speculated, %add %add.ptr60 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr53, i64 %sub51 @@ -152832,7 +152832,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS to label %invoke.cont17 unwind label %lpad11 invoke.cont17: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS2_8TypeSpecE2EEEELb0EE8AllocateERS6_m.exit.i - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %call5.i.i.i.i29, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i29, i64 %sub.ptr.sub.i.i %cmp7.not.i.i = icmp eq i64 %insert_count, 0 br i1 %cmp7.not.i.i, label %invoke.cont19, label %for.body.i.i @@ -152969,7 +152969,7 @@ if.else: ; preds = %entry %.sroa.speculated = tail call i64 @llvm.umax.i64(i64 %add, i64 %shr.i.sink.i) %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %.sroa.speculated %sub51 = sub i64 %add2, %.sroa.speculated - %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %sub.ptr.div.i.i + %add.ptr53 = getelementptr inbounds i8, ptr %.sink3.i, i64 %sub.ptr.sub.i.i %add.ptr55 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %add %sub56 = sub i64 %.sroa.speculated, %add %add.ptr60 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %add.ptr53, i64 %sub51 @@ -153740,7 +153740,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS to label %invoke.cont17 unwind label %lpad11 invoke.cont17: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS2_8TypeSpecE2EEEELb0EE8AllocateERS6_m.exit.i - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %call5.i.i.i.i29, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i29, i64 %sub.ptr.sub.i.i %cmp7.not.i.i = icmp eq i64 %insert_count, 0 br i1 %cmp7.not.i.i, label %invoke.cont19, label %for.body.i.i @@ -153879,7 +153879,7 @@ if.else: ; preds = %entry %.sroa.speculated = tail call i64 @llvm.umax.i64(i64 %add, i64 %shr.i.sink.i) %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %.sroa.speculated %sub51 = sub i64 %add2, %.sroa.speculated - %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %sub.ptr.div.i.i + %add.ptr53 = getelementptr inbounds i8, ptr %.sink3.i, i64 %sub.ptr.sub.i.i %add.ptr55 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %add %sub56 = sub i64 %.sroa.speculated, %add %add.ptr60 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %add.ptr53, i64 %sub51 @@ -154932,7 +154932,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS to label %invoke.cont17 unwind label %lpad11 invoke.cont17: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN7testing13ThrowingValueILNS2_8TypeSpecE2EEEELb0EE8AllocateERS6_m.exit.i - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %call5.i.i.i.i29, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i.i29, i64 %sub.ptr.sub.i.i %cmp7.not.i.i = icmp eq i64 %insert_count, 0 br i1 %cmp7.not.i.i, label %invoke.cont19, label %for.body.i.i @@ -155071,7 +155071,7 @@ if.else: ; preds = %entry %.sroa.speculated = tail call i64 @llvm.umax.i64(i64 %add, i64 %shr.i.sink.i) %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %.sroa.speculated %sub51 = sub i64 %add2, %.sroa.speculated - %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %sub.ptr.div.i.i + %add.ptr53 = getelementptr inbounds i8, ptr %.sink3.i, i64 %sub.ptr.sub.i.i %add.ptr55 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %.sink3.i, i64 %add %sub56 = sub i64 %.sroa.speculated, %add %add.ptr60 = getelementptr inbounds %"class.testing::ThrowingValue.41", ptr %add.ptr53, i64 %sub51 @@ -169295,7 +169295,7 @@ invoke.cont17: ; preds = %.noexc store ptr %call.i.i.i.i28, ptr %3, align 8 %capacity_.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::AllocationTransaction.548", ptr %allocation_tx, i64 0, i32 1 store i64 %.sroa.speculated.i, ptr %capacity_.i.i, align 8 - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call.i.i.i.i28, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call.i.i.i.i28, i64 %sub.ptr.sub.i.i invoke void @_ZN4absl23inlined_vector_internal17ConstructElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_16CopyValueAdapterIS8_EEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISC_E7pointerERT0_NSH_9size_typeE(ptr noundef nonnull align 8 dereferenceable(16) %construction_tx, ptr noundef nonnull %add.ptr, ptr noundef nonnull align 8 dereferenceable(8) %values, i64 noundef %insert_count) to label %invoke.cont19 unwind label %lpad11 @@ -169399,7 +169399,7 @@ if.else: ; preds = %entry store i64 %18, ptr %move_construction_values, align 8 %add.ptr48 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %.sroa.speculated %sub49 = sub i64 %add2, %.sroa.speculated - %add.ptr51 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i + %add.ptr51 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %add %add.ptr58 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr51, i64 %sub49 %sub60 = sub i64 %insert_count, %sub49 @@ -170138,7 +170138,7 @@ invoke.cont17: ; preds = %.noexc store ptr %call.i.i.i.i28, ptr %3, align 8 %capacity_.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::AllocationTransaction.548", ptr %allocation_tx, i64 0, i32 1 store i64 %.sroa.speculated.i, ptr %capacity_.i.i, align 8 - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call.i.i.i.i28, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call.i.i.i.i28, i64 %sub.ptr.sub.i.i invoke void @_ZN4absl23inlined_vector_internal17ConstructElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_20IteratorValueAdapterIS8_PKS6_EEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISE_E7pointerERT0_NSJ_9size_typeE(ptr noundef nonnull align 8 dereferenceable(16) %construction_tx, ptr noundef nonnull %add.ptr, ptr noundef nonnull align 8 dereferenceable(8) %values, i64 noundef %insert_count) to label %invoke.cont19 unwind label %lpad11 @@ -170242,7 +170242,7 @@ if.else: ; preds = %entry store i64 %18, ptr %move_construction_values, align 8 %add.ptr48 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %.sroa.speculated %sub49 = sub i64 %add2, %.sroa.speculated - %add.ptr51 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i + %add.ptr51 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %add %add.ptr58 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr51, i64 %sub49 %sub60 = sub i64 %insert_count, %sub49 @@ -171265,7 +171265,7 @@ invoke.cont17: ; preds = %.noexc store ptr %call.i.i.i.i28, ptr %3, align 8 %capacity_.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::AllocationTransaction.548", ptr %allocation_tx, i64 0, i32 1 store i64 %.sroa.speculated.i, ptr %capacity_.i.i, align 8 - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call.i.i.i.i28, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call.i.i.i.i28, i64 %sub.ptr.sub.i.i invoke void @_ZN4absl23inlined_vector_internal17ConstructElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_20IteratorValueAdapterIS8_PS6_EEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISD_E7pointerERT0_NSI_9size_typeE(ptr noundef nonnull align 8 dereferenceable(16) %construction_tx, ptr noundef nonnull %add.ptr, ptr noundef nonnull align 8 dereferenceable(8) %values, i64 noundef %insert_count) to label %invoke.cont19 unwind label %lpad11 @@ -171369,7 +171369,7 @@ if.else: ; preds = %entry store i64 %18, ptr %move_construction_values, align 8 %add.ptr48 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %.sroa.speculated %sub49 = sub i64 %add2, %.sroa.speculated - %add.ptr51 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i + %add.ptr51 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i %add.ptr53 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %add %add.ptr58 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr51, i64 %sub49 %sub60 = sub i64 %insert_count, %sub49 @@ -187056,7 +187056,7 @@ invoke.cont17: ; preds = %.noexc store ptr %call.i.i.i.i28, ptr %3, align 8 %capacity_.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::AllocationTransaction.548", ptr %allocation_tx, i64 0, i32 1 store i64 %.sroa.speculated.i, ptr %capacity_.i.i, align 8 - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call.i.i.i.i28, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call.i.i.i.i28, i64 %sub.ptr.sub.i.i invoke void @_ZN4absl23inlined_vector_internal17ConstructElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_16CopyValueAdapterIS8_EEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISC_E7pointerERT0_NSH_9size_typeE(ptr noundef nonnull align 8 dereferenceable(16) %construction_tx, ptr noundef nonnull %add.ptr, ptr noundef nonnull align 8 dereferenceable(8) %values, i64 noundef %insert_count) to label %invoke.cont19 unwind label %lpad11 @@ -187160,7 +187160,7 @@ if.else: ; preds = %entry store i64 %18, ptr %move_construction_values, align 8 %add.ptr47 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %.sroa.speculated %sub48 = sub i64 %add2, %.sroa.speculated - %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i + %add.ptr50 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i %add.ptr52 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %add %add.ptr57 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr50, i64 %sub48 %sub59 = sub i64 %insert_count, %sub48 @@ -187899,7 +187899,7 @@ invoke.cont17: ; preds = %.noexc store ptr %call.i.i.i.i28, ptr %3, align 8 %capacity_.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::AllocationTransaction.548", ptr %allocation_tx, i64 0, i32 1 store i64 %.sroa.speculated.i, ptr %capacity_.i.i, align 8 - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call.i.i.i.i28, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call.i.i.i.i28, i64 %sub.ptr.sub.i.i invoke void @_ZN4absl23inlined_vector_internal17ConstructElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_20IteratorValueAdapterIS8_PKS6_EEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISE_E7pointerERT0_NSJ_9size_typeE(ptr noundef nonnull align 8 dereferenceable(16) %construction_tx, ptr noundef nonnull %add.ptr, ptr noundef nonnull align 8 dereferenceable(8) %values, i64 noundef %insert_count) to label %invoke.cont19 unwind label %lpad11 @@ -188003,7 +188003,7 @@ if.else: ; preds = %entry store i64 %18, ptr %move_construction_values, align 8 %add.ptr47 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %.sroa.speculated %sub48 = sub i64 %add2, %.sroa.speculated - %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i + %add.ptr50 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i %add.ptr52 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %add %add.ptr57 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr50, i64 %sub48 %sub59 = sub i64 %insert_count, %sub48 @@ -189026,7 +189026,7 @@ invoke.cont17: ; preds = %.noexc store ptr %call.i.i.i.i28, ptr %3, align 8 %capacity_.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::AllocationTransaction.548", ptr %allocation_tx, i64 0, i32 1 store i64 %.sroa.speculated.i, ptr %capacity_.i.i, align 8 - %add.ptr = getelementptr inbounds %"class.testing::ThrowingValue", ptr %call.i.i.i.i28, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call.i.i.i.i28, i64 %sub.ptr.sub.i.i invoke void @_ZN4absl23inlined_vector_internal17ConstructElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_20IteratorValueAdapterIS8_PS6_EEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISD_E7pointerERT0_NSI_9size_typeE(ptr noundef nonnull align 8 dereferenceable(16) %construction_tx, ptr noundef nonnull %add.ptr, ptr noundef nonnull align 8 dereferenceable(8) %values, i64 noundef %insert_count) to label %invoke.cont19 unwind label %lpad11 @@ -189130,7 +189130,7 @@ if.else: ; preds = %entry store i64 %18, ptr %move_construction_values, align 8 %add.ptr47 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %.sroa.speculated %sub48 = sub i64 %add2, %.sroa.speculated - %add.ptr50 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i + %add.ptr50 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i %add.ptr52 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %add %add.ptr57 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %add.ptr50, i64 %sub48 %sub59 = sub i64 %insert_count, %sub48 @@ -234541,7 +234541,7 @@ entry: %sub.ptr.sub.i.i10 = sub i64 %sub.ptr.rhs.cast.i.i, %sub.ptr.rhs.cast.i.i9 %sub.ptr.div.i.i11 = ashr exact i64 %sub.ptr.sub.i.i10, 2 %add = add nsw i64 %sub.ptr.div.i.i11, %sub.ptr.div.i.i - %add.ptr5 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i11 + %add.ptr5 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i10 %sub = sub i64 %shr.i.sink.i, %add %cmp3.not.i = icmp eq i64 %shr.i.sink.i, %add br i1 %cmp3.not.i, label %_ZN4absl23inlined_vector_internal14AssignElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_20IteratorValueAdapterIS8_St13move_iteratorIPS6_EEEEEvNSt16allocator_traitsIT_E7pointerERT0_NSG_9size_typeE.exit, label %for.body.i.preheader @@ -239798,7 +239798,7 @@ entry: %sub.ptr.sub.i.i10 = sub i64 %sub.ptr.rhs.cast.i.i, %sub.ptr.rhs.cast.i.i9 %sub.ptr.div.i.i11 = ashr exact i64 %sub.ptr.sub.i.i10, 2 %add = add nsw i64 %sub.ptr.div.i.i11, %sub.ptr.div.i.i - %add.ptr5 = getelementptr inbounds %"class.testing::ThrowingValue", ptr %.sink5.i, i64 %sub.ptr.div.i.i11 + %add.ptr5 = getelementptr inbounds i8, ptr %.sink5.i, i64 %sub.ptr.sub.i.i10 %sub = sub i64 %shr.i.sink.i, %add %cmp3.not.i = icmp eq i64 %shr.i.sink.i, %add br i1 %cmp3.not.i, label %_ZN4absl23inlined_vector_internal14AssignElementsIN7testing17ThrowingAllocatorINS2_13ThrowingValueILNS2_8TypeSpecE0EEELNS2_9AllocSpecE0EEENS0_20IteratorValueAdapterIS8_St13move_iteratorIPS6_EEEEEvNSt16allocator_traitsIT_E7pointerERT0_NSG_9size_typeE.exit, label %for.body.i.preheader diff --git a/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll b/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll index 3e4db7ff7a2..48eb516e248 100644 --- a/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll +++ b/bench/abseil-cpp/optimized/inlined_vector_test.cc.ll @@ -22168,66 +22168,65 @@ entry: %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp19, i64 0, i32 2 %message_.i.i = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar, i64 0, i32 1 %message_.i.i135 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar40, i64 0, i32 1 - %data_.i1.i.i1255 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v67, i64 0, i32 1 - %allocated_capacity.i.i.i1256 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v67, i64 0, i32 1, i32 0, i32 1 + %data_.i1.i.i1257 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v67, i64 0, i32 1 + %allocated_capacity.i.i.i1258 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v67, i64 0, i32 1, i32 0, i32 1 %_M_finish.i.i.i.i.i.i252 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp90, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i254 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp90, i64 0, i32 2 - %message_.i.i287 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar89, i64 0, i32 1 - %message_.i.i318 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar116, i64 0, i32 1 - %data_.i1.i.i1388 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v143, i64 0, i32 1 - %allocated_capacity.i.i.i1389 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v143, i64 0, i32 1, i32 0, i32 1 + %message_.i.i288 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar89, i64 0, i32 1 + %message_.i.i319 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar116, i64 0, i32 1 + %data_.i1.i.i1389 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v143, i64 0, i32 1 + %allocated_capacity.i.i.i1390 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v143, i64 0, i32 1, i32 0, i32 1 %_M_finish.i.i.i.i.i.i450 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp188, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i452 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp188, i64 0, i32 2 - %message_.i.i486 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar187, i64 0, i32 1 - %message_.i.i517 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar214, i64 0, i32 1 - %data_.i1.i.i1563 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v242, i64 0, i32 1 - %allocated_capacity.i.i.i1564 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v242, i64 0, i32 1, i32 0, i32 1 + %message_.i.i487 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar187, i64 0, i32 1 + %message_.i.i518 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar214, i64 0, i32 1 + %data_.i1.i.i1566 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v242, i64 0, i32 1 + %allocated_capacity.i.i.i1567 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v242, i64 0, i32 1, i32 0, i32 1 %arrayinit.element249 = getelementptr inbounds i32, ptr %ref.tmp247, i64 1 %arrayinit.element250 = getelementptr inbounds i32, ptr %ref.tmp247, i64 2 %_M_finish.i.i.i.i.i.i656 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp293, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i658 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp293, i64 0, i32 2 - %message_.i.i696 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar292, i64 0, i32 1 - %message_.i.i727 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar319, i64 0, i32 1 - %data_.i1.i.i1758 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v347, i64 0, i32 1 - %allocated_capacity.i.i.i1759 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v347, i64 0, i32 1, i32 0, i32 1 + %message_.i.i697 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar292, i64 0, i32 1 + %message_.i.i728 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar319, i64 0, i32 1 + %data_.i1.i.i1754 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v347, i64 0, i32 1 + %allocated_capacity.i.i.i1755 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v347, i64 0, i32 1, i32 0, i32 1 %arrayinit.element360 = getelementptr inbounds i32, ptr %ref.tmp358, i64 1 %arrayinit.element361 = getelementptr inbounds i32, ptr %ref.tmp358, i64 2 %_M_ok.i = getelementptr inbounds %"class.std::istream_iterator", ptr %agg.tmp382, i64 0, i32 2 %_M_value.i.i = getelementptr inbounds %"class.std::istream_iterator", ptr %agg.tmp382, i64 0, i32 1 %_M_finish.i.i.i.i.i.i881 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp389, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i883 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp389, i64 0, i32 2 - %message_.i.i923 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar388, i64 0, i32 1 - %message_.i.i954 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar415, i64 0, i32 1 + %message_.i.i924 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar388, i64 0, i32 1 + %message_.i.i955 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar415, i64 0, i32 1 %data_.i1.i.i1967 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v443, i64 0, i32 1 %allocated_capacity.i.i.i1968 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %v443, i64 0, i32 1, i32 0, i32 1 %arrayinit.element456 = getelementptr inbounds i32, ptr %ref.tmp454, i64 1 %arrayinit.element471 = getelementptr inbounds i32, ptr %ref.tmp469, i64 1 %_M_finish.i.i.i.i.i.i1084 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp478, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i1086 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp478, i64 0, i32 2 - %message_.i.i1120 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar477, i64 0, i32 1 - %message_.i.i1151 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar504, i64 0, i32 1 + %message_.i.i1121 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar477, i64 0, i32 1 + %message_.i.i1152 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar504, i64 0, i32 1 %scevgep = getelementptr inbounds i8, ptr %dealias.i.i, i64 4 - %scevgep4591 = getelementptr inbounds i8, ptr %dealias.i.i.i, i64 4 - %scevgep4596 = getelementptr inbounds i8, ptr %ref.tmp469, i64 8 + %scevgep4616 = getelementptr inbounds i8, ptr %dealias.i.i.i, i64 4 + %scevgep4621 = getelementptr inbounds i8, ptr %ref.tmp469, i64 8 br label %for.cond2.preheader for.cond2.preheader: ; preds = %entry, %for.inc528 - %indvars.iv4601 = phi i64 [ 1, %entry ], [ %indvars.iv.next4602, %for.inc528 ] - %len.03501 = phi i64 [ 0, %entry ], [ %inc529, %for.inc528 ] - %cmp4.not.i = icmp eq i64 %len.03501, 0 + %indvars.iv4626 = phi i64 [ 1, %entry ], [ %indvars.iv.next4627, %for.inc528 ] + %len.03526 = phi i64 [ 0, %entry ], [ %inc529, %for.inc528 ] + %cmp4.not.i = icmp eq i64 %len.03526, 0 br label %for.body4 -for.body4: ; preds = %for.cond2.preheader, %_ZNSt6vectorIiSaIiEED2Ev.exit1179 - %indvars.iv4597 = phi i64 [ 2, %for.cond2.preheader ], [ %indvars.iv.next4598, %_ZNSt6vectorIiSaIiEED2Ev.exit1179 ] - %indvars.iv = phi i64 [ 1, %for.cond2.preheader ], [ %indvars.iv.next, %_ZNSt6vectorIiSaIiEED2Ev.exit1179 ] - %pos.03500 = phi i64 [ 0, %for.cond2.preheader ], [ %add.i, %_ZNSt6vectorIiSaIiEED2Ev.exit1179 ] +for.body4: ; preds = %for.cond2.preheader, %_ZNSt6vectorIiSaIiEED2Ev.exit1180 + %indvars.iv4622 = phi i64 [ 2, %for.cond2.preheader ], [ %indvars.iv.next4623, %_ZNSt6vectorIiSaIiEED2Ev.exit1180 ] + %indvars.iv = phi i64 [ 1, %for.cond2.preheader ], [ %indvars.iv.next, %_ZNSt6vectorIiSaIiEED2Ev.exit1180 ] + %pos.03525 = phi i64 [ 0, %for.cond2.preheader ], [ %add.i, %_ZNSt6vectorIiSaIiEED2Ev.exit1180 ] br i1 %cmp4.not.i, label %invoke.cont6.thread, label %for.body.i invoke.cont6.thread: ; preds = %for.body4 store i64 0, ptr %v, align 8 - %add.ptr.i2300 = getelementptr inbounds i32, ptr null, i64 %pos.03500 - %sub.ptr.lhs.cast.i.i12032301 = ptrtoint ptr %add.ptr.i2300 to i64 - %sub.ptr.div.i.i12062304 = ashr exact i64 %sub.ptr.lhs.cast.i.i12032301, 2 + %add.ptr.i2302 = getelementptr inbounds i32, ptr null, i64 %pos.03525 + %sub.ptr.lhs.cast.i.i12042303 = ptrtoint ptr %add.ptr.i2302 to i64 br label %if.else21.i for.body.i: ; preds = %for.body4, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i @@ -22252,7 +22251,7 @@ if.else.i.i.i: ; preds = %for.body.i if.then.i.i.i.i.i: ; preds = %if.else.i.i.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc unwind label %lpad.loopexit.split-lp2389 + to label %.noexc unwind label %lpad.loopexit.split-lp2414 .noexc: ; preds = %if.then.i.i.i.i.i unreachable @@ -22271,38 +22270,39 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i: ; preds = %if.else.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i.i.i, 2 %call5.i.i.i.i.i.i.i100 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #33 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit2388 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i unwind label %lpad.loopexit2413 _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i %cond.i10.i.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i ], [ %call5.i.i.i.i.i.i.i100, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i ] %add.ptr.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i store i32 %conv.i, ptr %add.ptr.i.i.i.i, align 4 - %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + %cmp.i.i.i11.i.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i.i, label %if.then.i.i.i12.i.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i if.then.i.i.i12.i.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i, ptr align 4 %std_v.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i: ; preds = %if.then.i.i.i12.i.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i + %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %tobool.not.i.i.i.i.i = icmp eq ptr %std_v.sroa.0.2, null - br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i21.i.i.i.i + br i1 %tobool.not.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, label %if.then.i20.i.i.i.i -if.then.i21.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +if.then.i20.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i call void @_ZdlPv(ptr noundef nonnull %std_v.sroa.0.2) #32 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i21.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i: ; preds = %if.then.i20.i.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i %add.ptr19.i.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i, i64 %cond.i.i.i.i.i br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i _ZNSt6vectorIiSaIiEE9push_backEOi.exit.i: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i, %if.then.i.i.i %std_v.sroa.21.3 = phi ptr [ %add.ptr19.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ], [ %std_v.sroa.21.2, %if.then.i.i.i ] - %add.ptr.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ], [ %0, %if.then.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ], [ %0, %if.then.i.i.i ] %std_v.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i ], [ %std_v.sroa.0.2, %if.then.i.i.i ] - %std_v.sroa.10.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.pn, i64 1 + %std_v.sroa.10.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 1 %inc.i = add nuw nsw i64 %i.05.i, 1 - %exitcond.not.i = icmp eq i64 %inc.i, %len.03501 + %exitcond.not.i = icmp eq i64 %inc.i, %len.03526 br i1 %exitcond.not.i, label %invoke.cont, label %for.body.i, !llvm.loop !489 invoke.cont: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i @@ -22313,96 +22313,96 @@ for.body.i101: ; preds = %invoke.cont, %call. %1 = phi i64 [ %storemerge.i, %call.i.i.i.noexc ], [ 0, %invoke.cont ] %i.04.i = phi i64 [ %inc.i103, %call.i.i.i.noexc ], [ 0, %invoke.cont ] %conv.i102 = trunc i64 %i.04.i to i32 - %and.i.i.i1189 = and i64 %1, 1 - %tobool.i.not.i.i1190 = icmp eq i64 %and.i.i.i1189, 0 + %and.i.i.i1190 = and i64 %1, 1 + %tobool.i.not.i.i1191 = icmp eq i64 %and.i.i.i1190, 0 %2 = load ptr, ptr %data_.i1.i.i, align 8 %3 = load i64, ptr %allocated_capacity.i.i.i, align 8, !noalias !11 - %.sink3.i.i = select i1 %tobool.i.not.i.i1190, ptr %data_.i1.i.i, ptr %2 - %.sink.i.i = select i1 %tobool.i.not.i.i1190, i64 8, i64 %3 + %.sink3.i.i = select i1 %tobool.i.not.i.i1191, ptr %data_.i1.i.i, ptr %2 + %.sink.i.i = select i1 %tobool.i.not.i.i1191, i64 8, i64 %3 %shr.i.sink.i.i = lshr i64 %1, 1 %cmp.not.i = icmp eq i64 %shr.i.sink.i.i, %.sink.i.i - br i1 %cmp.not.i, label %if.end.i, label %if.then.i1191 + br i1 %cmp.not.i, label %if.end.i, label %if.then.i1192 -if.then.i1191: ; preds = %for.body.i101 - %add.ptr.i1192 = getelementptr inbounds i32, ptr %.sink3.i.i, i64 %shr.i.sink.i.i - store i32 %conv.i102, ptr %add.ptr.i1192, align 4 +if.then.i1192: ; preds = %for.body.i101 + %add.ptr.i1193 = getelementptr inbounds i32, ptr %.sink3.i.i, i64 %shr.i.sink.i.i + store i32 %conv.i102, ptr %add.ptr.i1193, align 4 %4 = load i64, ptr %v, align 8 br label %call.i.i.i.noexc if.end.i: ; preds = %for.body.i101 %5 = shl i64 %3, 1 - %mul.i.i.i = select i1 %tobool.i.not.i.i1190, i64 16, i64 %5 - %cmp.i.i.i.i.i.i1194 = icmp ugt i64 %mul.i.i.i, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i1194, label %if.then.i.i.i.i.i.i1199, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i + %mul.i.i.i = select i1 %tobool.i.not.i.i1191, i64 16, i64 %5 + %cmp.i.i.i.i.i.i1195 = icmp ugt i64 %mul.i.i.i, 2305843009213693951 + br i1 %cmp.i.i.i.i.i.i1195, label %if.then.i.i.i.i.i.i1200, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i -if.then.i.i.i.i.i.i1199: ; preds = %if.end.i +if.then.i.i.i.i.i.i1200: ; preds = %if.end.i %cmp2.i.i.i.i.i.i = icmp ugt i64 %mul.i.i.i, 4611686018427387903 br i1 %cmp2.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %if.end.i.i.i.i.i.i -if.then3.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i1199 +if.then3.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i1200 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1200 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp + to label %.noexc1201 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp -.noexc1200: ; preds = %if.then3.i.i.i.i.i.i +.noexc1201: ; preds = %if.then3.i.i.i.i.i.i unreachable -if.end.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i1199 +if.end.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i1200 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1201 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp + to label %.noexc1202 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp -.noexc1201: ; preds = %if.end.i.i.i.i.i.i +.noexc1202: ; preds = %if.end.i.i.i.i.i.i unreachable _ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i: ; preds = %if.end.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %mul.i.i.i, 2 - %call5.i.i.i.i5.i.i1202 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #33 + %call5.i.i.i.i5.i.i1203 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #33 to label %call5.i.i.i.i5.i.i.noexc unwind label %lpad5.loopexit call5.i.i.i.i5.i.i.noexc: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i - %add.ptr.i.i1195 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1202, i64 %.sink.i.i - store i32 %conv.i102, ptr %add.ptr.i.i1195, align 4 + %add.ptr.i.i1196 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1203, i64 %.sink.i.i + store i32 %conv.i102, ptr %add.ptr.i.i1196, align 4 %cmp6.not.i.i.i = icmp ult i64 %1, 2 br i1 %cmp6.not.i.i.i, label %invoke.cont21.i.i, label %for.inc.i.i.i for.inc.i.i.i: ; preds = %call5.i.i.i.i5.i.i.noexc, %for.inc.i.i.i %move_values.sroa.0.0.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i, %for.inc.i.i.i ], [ %.sink3.i.i, %call5.i.i.i.i5.i.i.noexc ] - %i.07.i.i.i = phi i64 [ %inc.i.i.i1197, %for.inc.i.i.i ], [ 0, %call5.i.i.i.i5.i.i.noexc ] - %add.ptr.i.i.i1196 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1202, i64 %i.07.i.i.i + %i.07.i.i.i = phi i64 [ %inc.i.i.i1198, %for.inc.i.i.i ], [ 0, %call5.i.i.i.i5.i.i.noexc ] + %add.ptr.i.i.i1197 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1203, i64 %i.07.i.i.i %6 = load i32, ptr %move_values.sroa.0.0.i.i, align 4 - store i32 %6, ptr %add.ptr.i.i.i1196, align 4 + store i32 %6, ptr %add.ptr.i.i.i1197, align 4 %incdec.ptr.i.i.i.i.i = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i, i64 1 - %inc.i.i.i1197 = add nuw nsw i64 %i.07.i.i.i, 1 - %exitcond.not.i.i.i = icmp eq i64 %inc.i.i.i1197, %.sink.i.i + %inc.i.i.i1198 = add nuw nsw i64 %i.07.i.i.i, 1 + %exitcond.not.i.i.i = icmp eq i64 %inc.i.i.i1198, %.sink.i.i br i1 %exitcond.not.i.i.i, label %invoke.cont21.i.i, label %for.inc.i.i.i, !llvm.loop !12 invoke.cont21.i.i: ; preds = %for.inc.i.i.i, %call5.i.i.i.i5.i.i.noexc - br i1 %tobool.i.not.i.i1190, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i, label %if.then.i.i.i1198 + br i1 %tobool.i.not.i.i1191, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i, label %if.then.i.i.i1199 -if.then.i.i.i1198: ; preds = %invoke.cont21.i.i +if.then.i.i.i1199: ; preds = %invoke.cont21.i.i call void @_ZdlPv(ptr noundef %2) #32 %.pre.i.i = load i64, ptr %v, align 8 br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i -_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i: ; preds = %if.then.i.i.i1198, %invoke.cont21.i.i - %7 = phi i64 [ %.pre.i.i, %if.then.i.i.i1198 ], [ %1, %invoke.cont21.i.i ] - store ptr %call5.i.i.i.i5.i.i1202, ptr %data_.i1.i.i, align 8 +_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i: ; preds = %if.then.i.i.i1199, %invoke.cont21.i.i + %7 = phi i64 [ %.pre.i.i, %if.then.i.i.i1199 ], [ %1, %invoke.cont21.i.i ] + store ptr %call5.i.i.i.i5.i.i1203, ptr %data_.i1.i.i, align 8 store i64 %mul.i.i.i, ptr %allocated_capacity.i.i.i, align 8 %or.i.i.i = or i64 %7, 1 br label %call.i.i.i.noexc -call.i.i.i.noexc: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i, %if.then.i1191 - %storemerge.in.i = phi i64 [ %4, %if.then.i1191 ], [ %or.i.i.i, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i ] +call.i.i.i.noexc: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i, %if.then.i1192 + %storemerge.in.i = phi i64 [ %4, %if.then.i1192 ], [ %or.i.i.i, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i ] %storemerge.i = add i64 %storemerge.in.i, 2 store i64 %storemerge.i, ptr %v, align 8 %inc.i103 = add nuw nsw i64 %i.04.i, 1 - %exitcond.not.i104 = icmp eq i64 %inc.i103, %len.03501 + %exitcond.not.i104 = icmp eq i64 %inc.i103, %len.03526 br i1 %exitcond.not.i104, label %invoke.cont6.loopexit, label %for.body.i101, !llvm.loop !13 invoke.cont6.loopexit: ; preds = %call.i.i.i.noexc - %add.ptr.i = getelementptr inbounds i32, ptr %std_v.sroa.0.3, i64 %pos.03500 - %sub.ptr.lhs.cast.i.i1203 = ptrtoint ptr %add.ptr.i to i64 - %sub.ptr.rhs.cast.i.i1204 = ptrtoint ptr %std_v.sroa.0.3 to i64 - %add.ptr.i.idx = shl nsw i64 %pos.03500, 2 + %add.ptr.i = getelementptr inbounds i32, ptr %std_v.sroa.0.3, i64 %pos.03525 + %sub.ptr.lhs.cast.i.i1204 = ptrtoint ptr %add.ptr.i to i64 + %sub.ptr.rhs.cast.i.i1205 = ptrtoint ptr %std_v.sroa.0.3 to i64 + %add.ptr.i.idx = shl nsw i64 %pos.03525, 2 %cmp.not.i1208 = icmp eq ptr %std_v.sroa.10.3, %std_v.sroa.21.3 br i1 %cmp.not.i1208, label %if.else21.i, label %if.then.i1209 @@ -22412,23 +22412,23 @@ if.then.i1209: ; preds = %invoke.cont6.loopex if.then9.i: ; preds = %if.then.i1209 store i32 9999, ptr %std_v.sroa.10.3, align 4 - %incdec.ptr.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.pn, i64 2 + %incdec.ptr.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 2 br label %invoke.cont12 if.else.i: ; preds = %if.then.i1209 - %8 = load i32, ptr %add.ptr.i.i.i.i.pn, align 4 + %8 = load i32, ptr %add.ptr.i.i.i.i.i.i.i.pn, align 4 store i32 %8, ptr %std_v.sroa.10.3, align 4 - %incdec.ptr.i.i1212 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.pn, i64 2 - %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i.i.i.pn, %add.ptr.i + %incdec.ptr.i.i1212 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.pn, i64 2 + %tobool.not.i.i.i.i.i.i.i = icmp eq ptr %add.ptr.i.i.i.i.i.i.i.pn, %add.ptr.i br i1 %tobool.not.i.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i, label %if.then.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i: ; preds = %if.else.i - %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i.i.i.pn to i64 - %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.lhs.cast.i.i1203 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i.i.i.i.i.i.i.pn to i64 + %sub.ptr.sub.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i, %sub.ptr.lhs.cast.i.i1204 %sub.ptr.div.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i, 2 %.pre.i.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %std_v.sroa.10.3, i64 %.pre.i.i.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i, ptr align 4 %add.ptr.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) + %add.ptr.i.i.i.i.i.i.i1213 = getelementptr inbounds i32, ptr %std_v.sroa.10.3, i64 %.pre.i.i.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i1213, ptr align 4 %add.ptr.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i, i1 false) br label %_ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i _ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i: ; preds = %if.then.i.i.i.i.i.i.i, %if.else.i @@ -22436,183 +22436,185 @@ _ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT br label %invoke.cont12 if.else21.i: ; preds = %invoke.cont6.thread, %invoke.cont6.loopexit - %sub.ptr.div.i.i12062312 = phi i64 [ %sub.ptr.div.i.i12062304, %invoke.cont6.thread ], [ %pos.03500, %invoke.cont6.loopexit ] - %sub.ptr.sub.i.i12052311 = phi i64 [ %sub.ptr.lhs.cast.i.i12032301, %invoke.cont6.thread ], [ %add.ptr.i.idx, %invoke.cont6.loopexit ] - %sub.ptr.rhs.cast.i.i12042310 = phi i64 [ 0, %invoke.cont6.thread ], [ %sub.ptr.rhs.cast.i.i1204, %invoke.cont6.loopexit ] - %sub.ptr.lhs.cast.i.i12032309 = phi i64 [ %sub.ptr.lhs.cast.i.i12032301, %invoke.cont6.thread ], [ %sub.ptr.lhs.cast.i.i1203, %invoke.cont6.loopexit ] - %add.ptr.i2308 = phi ptr [ %add.ptr.i2300, %invoke.cont6.thread ], [ %add.ptr.i, %invoke.cont6.loopexit ] - %std_v.sroa.10.422952307 = phi ptr [ null, %invoke.cont6.thread ], [ %std_v.sroa.21.3, %invoke.cont6.loopexit ] - %std_v.sroa.0.422962306 = phi ptr [ null, %invoke.cont6.thread ], [ %std_v.sroa.0.3, %invoke.cont6.loopexit ] - %sub.ptr.lhs.cast.i.i.i.i1214 = ptrtoint ptr %std_v.sroa.10.422952307 to i64 - %sub.ptr.sub.i.i.i.i1215 = sub i64 %sub.ptr.lhs.cast.i.i.i.i1214, %sub.ptr.rhs.cast.i.i12042310 - %cmp.i.i.i1216 = icmp eq i64 %sub.ptr.sub.i.i.i.i1215, 9223372036854775804 - br i1 %cmp.i.i.i1216, label %if.then.i.i.i1222, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i - -if.then.i.i.i1222: ; preds = %if.else21.i + %sub.ptr.sub.i.i12062312 = phi i64 [ %sub.ptr.lhs.cast.i.i12042303, %invoke.cont6.thread ], [ %add.ptr.i.idx, %invoke.cont6.loopexit ] + %sub.ptr.rhs.cast.i.i12052311 = phi i64 [ 0, %invoke.cont6.thread ], [ %sub.ptr.rhs.cast.i.i1205, %invoke.cont6.loopexit ] + %sub.ptr.lhs.cast.i.i12042310 = phi i64 [ %sub.ptr.lhs.cast.i.i12042303, %invoke.cont6.thread ], [ %sub.ptr.lhs.cast.i.i1204, %invoke.cont6.loopexit ] + %add.ptr.i2309 = phi ptr [ %add.ptr.i2302, %invoke.cont6.thread ], [ %add.ptr.i, %invoke.cont6.loopexit ] + %std_v.sroa.10.422972308 = phi ptr [ null, %invoke.cont6.thread ], [ %std_v.sroa.21.3, %invoke.cont6.loopexit ] + %std_v.sroa.0.422982307 = phi ptr [ null, %invoke.cont6.thread ], [ %std_v.sroa.0.3, %invoke.cont6.loopexit ] + %sub.ptr.lhs.cast.i.i.i.i1215 = ptrtoint ptr %std_v.sroa.10.422972308 to i64 + %sub.ptr.sub.i.i.i.i1216 = sub i64 %sub.ptr.lhs.cast.i.i.i.i1215, %sub.ptr.rhs.cast.i.i12052311 + %cmp.i.i.i1217 = icmp eq i64 %sub.ptr.sub.i.i.i.i1216, 9223372036854775804 + br i1 %cmp.i.i.i1217, label %if.then.i.i.i1224, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i + +if.then.i.i.i1224: ; preds = %if.else21.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc1223 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp + to label %.noexc1225 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp -.noexc1223: ; preds = %if.then.i.i.i1222 +.noexc1225: ; preds = %if.then.i.i.i1224 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i: ; preds = %if.else21.i - %sub.ptr.div.i.i.i.i1217 = ashr exact i64 %sub.ptr.sub.i.i.i.i1215, 2 - %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i1217, i64 1) - %add.i.i.i = add i64 %.sroa.speculated.i.i.i, %sub.ptr.div.i.i.i.i1217 - %cmp7.i.i.i = icmp ult i64 %add.i.i.i, %sub.ptr.div.i.i.i.i1217 + %sub.ptr.div.i.i.i.i1218 = ashr exact i64 %sub.ptr.sub.i.i.i.i1216, 2 + %.sroa.speculated.i.i.i = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i1218, i64 1) + %add.i.i.i = add i64 %.sroa.speculated.i.i.i, %sub.ptr.div.i.i.i.i1218 + %cmp7.i.i.i = icmp ult i64 %add.i.i.i, %sub.ptr.div.i.i.i.i1218 %cmp9.i.i.i = icmp ugt i64 %add.i.i.i, 2305843009213693951 %or.cond.i.i.i = or i1 %cmp7.i.i.i, %cmp9.i.i.i - %cond.i.i.i1218 = select i1 %or.cond.i.i.i, i64 2305843009213693951, i64 %add.i.i.i - %cmp.not.i.i.i1220 = icmp eq i64 %cond.i.i.i1218, 0 - br i1 %cmp.not.i.i.i1220, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i + %cond.i.i.i1219 = select i1 %or.cond.i.i.i, i64 2305843009213693951, i64 %add.i.i.i + %sub.ptr.div.i.i.i1221 = ashr exact i64 %sub.ptr.sub.i.i12062312, 2 + %cmp.not.i.i.i1222 = icmp eq i64 %cond.i.i.i1219, 0 + br i1 %cmp.not.i.i.i1222, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i - %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i1218, 2 - %call5.i.i.i.i.i1224 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #33 + %mul.i.i.i.i.i = shl nuw nsw i64 %cond.i.i.i1219, 2 + %call5.i.i.i.i.i1226 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i) #33 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i unwind label %lpad5.loopexit.split-lp.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i - %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i1224, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i ] - %add.ptr.i8.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i12062312 + %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i1226, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i ] + %add.ptr.i8.i = getelementptr inbounds i32, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i1221 store i32 9999, ptr %add.ptr.i8.i, align 4 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i12062312, 0 + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i12062312, 0 br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %std_v.sroa.0.422962306, i64 %sub.ptr.sub.i.i12052311, i1 false) + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i, ptr align 4 %std_v.sroa.0.422982307, i64 %sub.ptr.sub.i.i12062312, i1 false) br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit.i.i _ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i - %incdec.ptr.i9.i = getelementptr inbounds i32, ptr %add.ptr.i8.i, i64 1 - %sub.ptr.sub.i.i.i15.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i1214, %sub.ptr.lhs.cast.i.i12032309 - %sub.ptr.div.i.i.i16.i.i = ashr exact i64 %sub.ptr.sub.i.i.i15.i.i, 2 - %cmp.i.i.i17.i.i = icmp sgt i64 %sub.ptr.div.i.i.i16.i.i, 0 - br i1 %cmp.i.i.i17.i.i, label %if.then.i.i.i19.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i - -if.then.i.i.i19.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %incdec.ptr.i9.i, ptr align 4 %add.ptr.i2308, i64 %sub.ptr.sub.i.i.i15.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i: ; preds = %if.then.i.i.i19.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit.i.i - %tobool.not.i.i.i1221 = icmp eq ptr %std_v.sroa.0.422962306, null - br i1 %tobool.not.i.i.i1221, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i21.i.i - -if.then.i21.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i - call void @_ZdlPv(ptr noundef nonnull %std_v.sroa.0.422962306) #32 + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i12062312 + %incdec.ptr.i9.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i, i64 1 + %sub.ptr.sub.i.i.i15.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i1215, %sub.ptr.lhs.cast.i.i12042310 + %cmp.i.i.i16.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i15.i.i, 0 + br i1 %cmp.i.i.i16.i.i, label %if.then.i.i.i18.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i + +if.then.i.i.i18.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %incdec.ptr.i9.i, ptr align 4 %add.ptr.i2309, i64 %sub.ptr.sub.i.i.i15.i.i, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i: ; preds = %if.then.i.i.i18.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit.i.i + %tobool.not.i.i.i1223 = icmp eq ptr %std_v.sroa.0.422982307, null + br i1 %tobool.not.i.i.i1223, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i, label %if.then.i20.i.i + +if.then.i20.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i + call void @_ZdlPv(ptr noundef nonnull %std_v.sroa.0.422982307) #32 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i - %add.ptr.i.i.i18.i.i = getelementptr inbounds i32, ptr %incdec.ptr.i9.i, i64 %sub.ptr.div.i.i.i16.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i + %add.ptr.i.i.i17.i.i = getelementptr inbounds i8, ptr %incdec.ptr.i9.i, i64 %sub.ptr.sub.i.i.i15.i.i + %.pre4631 = shl nsw i64 %pos.03525, 2 br label %invoke.cont12 invoke.cont12: ; preds = %if.then9.i, %_ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i - %std_v.sroa.10.5 = phi ptr [ %add.ptr.i.i.i18.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %incdec.ptr.i, %if.then9.i ], [ %incdec.ptr.i.i1212, %_ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i ] - %std_v.sroa.0.5 = phi ptr [ %cond.i10.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ], [ %std_v.sroa.0.3, %if.then9.i ], [ %std_v.sroa.0.3, %_ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i ] + %add.ptr.idx.pre-phi = phi i64 [ %add.ptr.i.idx, %if.then9.i ], [ %add.ptr.i.idx, %_ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i ], [ %.pre4631, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ] + %std_v.sroa.10.5 = phi ptr [ %incdec.ptr.i, %if.then9.i ], [ %incdec.ptr.i.i1212, %_ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i ], [ %add.ptr.i.i.i17.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ] + %std_v.sroa.0.5 = phi ptr [ %std_v.sroa.0.3, %if.then9.i ], [ %std_v.sroa.0.3, %_ZNSt6vectorIiSaIiEE13_M_insert_auxIiEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEOT_.exit.i ], [ %cond.i10.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i ] %9 = load i64, ptr %v, align 8 %and.i.i.i.i = and i64 %9, 1 %tobool.i.not.i.i.i = icmp eq i64 %and.i.i.i.i, 0 %10 = load ptr, ptr %data_.i1.i.i, align 8 %cond.i.i.i = select i1 %tobool.i.not.i.i.i, ptr %data_.i1.i.i, ptr %10 - %add.ptr = getelementptr i32, ptr %cond.i.i.i, i64 %pos.03500 + %add.ptr = getelementptr i32, ptr %cond.i.i.i, i64 %pos.03525 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %dealias.i.i) store i32 9999, ptr %dealias.i.i, align 4 %11 = load i64, ptr %allocated_capacity.i.i.i, align 8, !noalias !490 - %.sink.i.i1230 = select i1 %tobool.i.not.i.i.i, i64 8, i64 %11 - %shr.i.sink.i.i1231 = lshr i64 %9, 1 - %add.i = add nuw nsw i64 %pos.03500, 1 - %add3.i = add nuw i64 %shr.i.sink.i.i1231, 1 - %cmp.i.not = icmp ult i64 %shr.i.sink.i.i1231, %.sink.i.i1230 - br i1 %cmp.i.not, label %if.else.i1236, label %invoke.cont16.i + %.sink.i.i1232 = select i1 %tobool.i.not.i.i.i, i64 8, i64 %11 + %shr.i.sink.i.i1233 = lshr i64 %9, 1 + %add.i = add nuw nsw i64 %pos.03525, 1 + %add3.i = add nuw i64 %shr.i.sink.i.i1233, 1 + %cmp.i.not = icmp ult i64 %shr.i.sink.i.i1233, %.sink.i.i1232 + br i1 %cmp.i.not, label %if.else.i1238, label %invoke.cont16.i invoke.cont16.i: ; preds = %invoke.cont12 - %mul.i.i.i1242 = shl i64 %.sink.i.i1230, 1 - %.sroa.speculated.i.i = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1242, i64 %add3.i) - %cmp.i.i.i.i.i1243 = icmp ugt i64 %.sroa.speculated.i.i, 2305843009213693951 - br i1 %cmp.i.i.i.i.i1243, label %if.then.i.i.i.i.i1249, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i + %mul.i.i.i1244 = shl i64 %.sink.i.i1232, 1 + %.sroa.speculated.i.i = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1244, i64 %add3.i) + %cmp.i.i.i.i.i1245 = icmp ugt i64 %.sroa.speculated.i.i, 2305843009213693951 + br i1 %cmp.i.i.i.i.i1245, label %if.then.i.i.i.i.i1251, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i -if.then.i.i.i.i.i1249: ; preds = %invoke.cont16.i +if.then.i.i.i.i.i1251: ; preds = %invoke.cont16.i %cmp2.i.i.i.i.i = icmp ugt i64 %.sroa.speculated.i.i, 4611686018427387903 br i1 %cmp2.i.i.i.i.i, label %if.then3.i.i.i.i.i, label %if.end.i.i.i.i.i -if.then3.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i1249 +if.then3.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i1251 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1250 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp + to label %.noexc1252 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp -.noexc1250: ; preds = %if.then3.i.i.i.i.i +.noexc1252: ; preds = %if.then3.i.i.i.i.i unreachable -if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i1249 +if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i1251 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1251 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp + to label %.noexc1253 unwind label %lpad5.loopexit.split-lp.loopexit.split-lp -.noexc1251: ; preds = %if.end.i.i.i.i.i +.noexc1253: ; preds = %if.end.i.i.i.i.i unreachable _ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i: ; preds = %invoke.cont16.i - %mul.i.i.i.i.i1244 = shl nuw nsw i64 %.sroa.speculated.i.i, 2 - %call5.i.i.i.i29.i1252 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1244) #33 + %mul.i.i.i.i.i1246 = shl nuw nsw i64 %.sroa.speculated.i.i, 2 + %call5.i.i.i.i29.i1254 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1246) #33 to label %call5.i.i.i.i29.i.noexc unwind label %lpad5.loopexit.split-lp.loopexit call5.i.i.i.i29.i.noexc: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i - %add.ptr.i1245 = getelementptr i32, ptr %call5.i.i.i.i29.i1252, i64 %pos.03500 - store i32 9999, ptr %add.ptr.i1245, align 4 - %cmp6.not.i.i30.i = icmp eq i64 %pos.03500, 0 + %add.ptr.i1247 = getelementptr i8, ptr %call5.i.i.i.i29.i1254, i64 %add.ptr.idx.pre-phi + store i32 9999, ptr %add.ptr.i1247, align 4 + %cmp6.not.i.i30.i = icmp eq i64 %pos.03525, 0 br i1 %cmp6.not.i.i30.i, label %invoke.cont22.i, label %for.inc.i.i33.i for.inc.i.i33.i: ; preds = %call5.i.i.i.i29.i.noexc, %for.inc.i.i33.i %move_values.sroa.0.0.i = phi ptr [ %incdec.ptr.i.i.i.i36.i, %for.inc.i.i33.i ], [ %cond.i.i.i, %call5.i.i.i.i29.i.noexc ] %i.07.i.i34.i = phi i64 [ %inc.i.i37.i, %for.inc.i.i33.i ], [ 0, %call5.i.i.i.i29.i.noexc ] - %add.ptr.i.i35.i = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1252, i64 %i.07.i.i34.i + %add.ptr.i.i35.i = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1254, i64 %i.07.i.i34.i %12 = load i32, ptr %move_values.sroa.0.0.i, align 4 store i32 %12, ptr %add.ptr.i.i35.i, align 4 %incdec.ptr.i.i.i.i36.i = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i, i64 1 %inc.i.i37.i = add nuw nsw i64 %i.07.i.i34.i, 1 - %exitcond.not.i.i38.i = icmp eq i64 %inc.i.i37.i, %pos.03500 + %exitcond.not.i.i38.i = icmp eq i64 %inc.i.i37.i, %pos.03525 br i1 %exitcond.not.i.i38.i, label %invoke.cont22.i, label %for.inc.i.i33.i, !llvm.loop !12 invoke.cont22.i: ; preds = %for.inc.i.i33.i, %call5.i.i.i.i29.i.noexc %move_values.sroa.0.1.i = phi ptr [ %add.ptr, %call5.i.i.i.i29.i.noexc ], [ %incdec.ptr.i.i.i.i36.i, %for.inc.i.i33.i ] - %add.ptr24.i = getelementptr i32, ptr %call5.i.i.i.i29.i1252, i64 %add.i - %sub.i = sub nsw i64 %shr.i.sink.i.i1231, %pos.03500 - %cmp6.not.i.i = icmp eq i64 %shr.i.sink.i.i1231, %pos.03500 + %add.ptr24.i = getelementptr i32, ptr %call5.i.i.i.i29.i1254, i64 %add.i + %sub.i = sub nsw i64 %shr.i.sink.i.i1233, %pos.03525 + %cmp6.not.i.i = icmp eq i64 %shr.i.sink.i.i1233, %pos.03525 br i1 %cmp6.not.i.i, label %invoke.cont32.i, label %for.inc.i.i for.inc.i.i: ; preds = %invoke.cont22.i, %for.inc.i.i - %move_values.sroa.0.2.i = phi ptr [ %incdec.ptr.i.i.i.i1247, %for.inc.i.i ], [ %move_values.sroa.0.1.i, %invoke.cont22.i ] + %move_values.sroa.0.2.i = phi ptr [ %incdec.ptr.i.i.i.i1249, %for.inc.i.i ], [ %move_values.sroa.0.1.i, %invoke.cont22.i ] %i.07.i.i = phi i64 [ %inc.i.i, %for.inc.i.i ], [ 0, %invoke.cont22.i ] - %add.ptr.i.i1246 = getelementptr inbounds i32, ptr %add.ptr24.i, i64 %i.07.i.i + %add.ptr.i.i1248 = getelementptr inbounds i32, ptr %add.ptr24.i, i64 %i.07.i.i %13 = load i32, ptr %move_values.sroa.0.2.i, align 4 - store i32 %13, ptr %add.ptr.i.i1246, align 4 - %incdec.ptr.i.i.i.i1247 = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i, i64 1 + store i32 %13, ptr %add.ptr.i.i1248, align 4 + %incdec.ptr.i.i.i.i1249 = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i, i64 1 %inc.i.i = add nuw i64 %i.07.i.i, 1 %exitcond.not.i.i = icmp eq i64 %inc.i.i, %sub.i br i1 %exitcond.not.i.i, label %invoke.cont32.i, label %for.inc.i.i, !llvm.loop !12 invoke.cont32.i: ; preds = %for.inc.i.i, %invoke.cont22.i - br i1 %tobool.i.not.i.i.i, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i, label %if.then.i.i1248 + br i1 %tobool.i.not.i.i.i, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i, label %if.then.i.i1250 -if.then.i.i1248: ; preds = %invoke.cont32.i +if.then.i.i1250: ; preds = %invoke.cont32.i call void @_ZdlPv(ptr noundef %10) #32 br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i -_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i: ; preds = %if.then.i.i1248, %invoke.cont32.i - store ptr %call5.i.i.i.i29.i1252, ptr %data_.i1.i.i, align 8 +_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i: ; preds = %if.then.i.i1250, %invoke.cont32.i + store ptr %call5.i.i.i.i29.i1254, ptr %data_.i1.i.i, align 8 store i64 %.sroa.speculated.i.i, ptr %allocated_capacity.i.i.i, align 8 %shl.i.i = shl i64 %add3.i, 1 %or.i.i = or disjoint i64 %shl.i.i, 1 br label %invoke.cont17 -if.else.i1236: ; preds = %invoke.cont12 - %.sroa.speculated.i = call i64 @llvm.umax.i64(i64 %add.i, i64 %shr.i.sink.i.i1231) +if.else.i1238: ; preds = %invoke.cont12 + %.sroa.speculated.i = call i64 @llvm.umax.i64(i64 %add.i, i64 %shr.i.sink.i.i1233) %add.ptr51.i = getelementptr i32, ptr %cond.i.i.i, i64 %.sroa.speculated.i %sub52.i = sub i64 %add3.i, %.sroa.speculated.i %add.ptr56.i = getelementptr inbounds i32, ptr %cond.i.i.i, i64 %add.i %sub57.i = sub nsw i64 %.sroa.speculated.i, %add.i %add.ptr61.i = getelementptr i32, ptr %add.ptr, i64 %sub52.i - %cmp6.not.i.i54.i = icmp eq i64 %pos.03500, %shr.i.sink.i.i1231 + %cmp6.not.i.i54.i = icmp eq i64 %pos.03525, %shr.i.sink.i.i1233 br i1 %cmp6.not.i.i54.i, label %invoke.cont66.i, label %for.inc.i.i57.preheader.i -for.inc.i.i57.preheader.i: ; preds = %if.else.i1236 +for.inc.i.i57.preheader.i: ; preds = %if.else.i1238 %add.ptr46.i = getelementptr i32, ptr %add.ptr51.i, i64 -1 %load_initial = load i32, ptr %add.ptr46.i, align 4 br label %for.inc.i.i57.i @@ -22625,43 +22627,43 @@ for.inc.i.i57.i: ; preds = %for.inc.i.i57.i, %f %exitcond.not.i.i62.i = icmp eq i64 %inc.i.i61.i, %sub52.i br i1 %exitcond.not.i.i62.i, label %invoke.cont66.i, label %for.inc.i.i57.i, !llvm.loop !12 -invoke.cont66.i: ; preds = %for.inc.i.i57.i, %if.else.i1236 +invoke.cont66.i: ; preds = %for.inc.i.i57.i, %if.else.i1238 %incdec.ptr120.i = getelementptr inbounds i32, ptr %add.ptr51.i, i64 -1 %cmp74121.i = icmp ult ptr %incdec.ptr120.i, %add.ptr56.i br i1 %cmp74121.i, label %for.end.i, label %if.end.preheader.i if.end.preheader.i: ; preds = %invoke.cont66.i %add.ptr72.i = getelementptr inbounds i32, ptr %add.ptr, i64 %sub57.i - br label %if.end.i1237 + br label %if.end.i1239 -if.end.i1237: ; preds = %if.end.i1237, %if.end.preheader.i - %incdec.ptr123.i = phi ptr [ %incdec.ptr.i1238, %if.end.i1237 ], [ %incdec.ptr120.i, %if.end.preheader.i ] - %source.0122.i = phi ptr [ %incdec.ptr73.i, %if.end.i1237 ], [ %add.ptr72.i, %if.end.preheader.i ] +if.end.i1239: ; preds = %if.end.i1239, %if.end.preheader.i + %incdec.ptr123.i = phi ptr [ %incdec.ptr.i1240, %if.end.i1239 ], [ %incdec.ptr120.i, %if.end.preheader.i ] + %source.0122.i = phi ptr [ %incdec.ptr73.i, %if.end.i1239 ], [ %add.ptr72.i, %if.end.preheader.i ] %incdec.ptr73.i = getelementptr inbounds i32, ptr %source.0122.i, i64 -1 %14 = load i32, ptr %incdec.ptr73.i, align 4 store i32 %14, ptr %incdec.ptr123.i, align 4 - %incdec.ptr.i1238 = getelementptr inbounds i32, ptr %incdec.ptr123.i, i64 -1 - %cmp74.i = icmp ult ptr %incdec.ptr.i1238, %add.ptr56.i - br i1 %cmp74.i, label %for.end.i, label %if.end.i1237, !llvm.loop !493 + %incdec.ptr.i1240 = getelementptr inbounds i32, ptr %incdec.ptr123.i, i64 -1 + %cmp74.i = icmp ult ptr %incdec.ptr.i1240, %add.ptr56.i + br i1 %cmp74.i, label %for.end.i, label %if.end.i1239, !llvm.loop !493 -for.end.i: ; preds = %if.end.i1237, %invoke.cont66.i - br i1 %cmp6.not.i.i54.i, label %invoke.cont79.i, label %for.body.i.i1239.preheader +for.end.i: ; preds = %if.end.i1239, %invoke.cont66.i + br i1 %cmp6.not.i.i54.i, label %invoke.cont79.i, label %for.body.i.i1241.preheader -for.body.i.i1239.preheader: ; preds = %for.end.i +for.body.i.i1241.preheader: ; preds = %for.end.i %15 = shl nuw i64 %sub52.i, 2 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %add.ptr, ptr nonnull align 4 %dealias.i.i, i64 %15, i1 false) - %16 = call i64 @llvm.usub.sat.i64(i64 %indvars.iv, i64 %shr.i.sink.i.i1231) + %16 = call i64 @llvm.usub.sat.i64(i64 %indvars.iv, i64 %shr.i.sink.i.i1233) %.neg = mul i64 %16, -4 - %scevgep4590 = getelementptr i8, ptr %scevgep, i64 %.neg + %scevgep4615 = getelementptr i8, ptr %scevgep, i64 %.neg br label %invoke.cont79.i -invoke.cont79.i: ; preds = %for.body.i.i1239.preheader, %for.end.i - %values.sroa.0.2.i = phi ptr [ %dealias.i.i, %for.end.i ], [ %scevgep4590, %for.body.i.i1239.preheader ] +invoke.cont79.i: ; preds = %for.body.i.i1241.preheader, %for.end.i + %values.sroa.0.2.i = phi ptr [ %dealias.i.i, %for.end.i ], [ %scevgep4615, %for.body.i.i1241.preheader ] %cmp6.not.i74.i = icmp eq i64 %sub52.i, 1 br i1 %cmp6.not.i74.i, label %invoke.cont85.i, label %for.inc.i77.i.preheader for.inc.i77.i.preheader: ; preds = %invoke.cont79.i - %17 = sub nsw i64 %.sroa.speculated.i, %shr.i.sink.i.i1231 + %17 = sub nsw i64 %.sroa.speculated.i, %shr.i.sink.i.i1233 %18 = shl i64 %17, 2 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %add.ptr61.i, ptr align 4 %values.sroa.0.2.i, i64 %18, i1 false) br label %invoke.cont85.i @@ -22672,11 +22674,11 @@ invoke.cont85.i: ; preds = %for.inc.i77.i.prehe br label %invoke.cont17 invoke.cont17: ; preds = %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i, %invoke.cont85.i - %storemerge.i1240 = phi i64 [ %add.i.i, %invoke.cont85.i ], [ %or.i.i, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i ] - %retval.0.i1241 = phi ptr [ %add.ptr, %invoke.cont85.i ], [ %add.ptr.i1245, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i ] - store i64 %storemerge.i1240, ptr %v, align 8 + %storemerge.i1242 = phi i64 [ %add.i.i, %invoke.cont85.i ], [ %or.i.i, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i ] + %retval.0.i1243 = phi ptr [ %add.ptr, %invoke.cont85.i ], [ %add.ptr.i1247, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i ] + store i64 %storemerge.i1242, ptr %v, align 8 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %dealias.i.i) - store ptr %retval.0.i1241, ptr %it, align 8 + store ptr %retval.0.i1243, ptr %it, align 8 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %std_v.sroa.10.5 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %std_v.sroa.0.5 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i @@ -22696,38 +22698,36 @@ _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i: ; preds = %invoke if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i %call5.i.i.i.i1.i.i.i.i109 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #33 - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad5.loopexit.split-lp.loopexit + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %lpad5.loopexit.split-lp.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i - %sub.ptr.div.i.i.i.i19.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i19.i + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store i64 0, ptr %ref.tmp19, align 8, !alias.scope !494 store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !494 br label %invoke.cont23 -cond.true.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i109, ptr align 4 %std_v.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !497 call void @llvm.experimental.noalias.scope.decl(metadata !494) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp19, i8 0, i64 24, i1 false), !alias.scope !494 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i) #33 to label %if.then.i.i.i.i.i111 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !494 -if.then.i.i.i.i.i111: ; preds = %cond.true.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 +if.then.i.i.i.i.i111: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp19, align 8, !alias.scope !494 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !494 call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i109, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont23 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %20 = landingpad { ptr, i32 } cleanup br label %if.then.i.i.i.i120 invoke.cont23: ; preds = %if.then.i.i.i.i.i111, %invoke.cont.thread.i %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i111 ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp20.sroa.0.24610 = phi ptr [ %call5.i.i.i.i1.i.i.i.i109, %if.then.i.i.i.i.i111 ], [ null, %invoke.cont.thread.i ] + %agg.tmp20.sroa.0.24636 = phi ptr [ %call5.i.i.i.i1.i.i.i.i109, %if.then.i.i.i.i.i111 ], [ null, %invoke.cont.thread.i ] store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !494 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm8ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp19, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(40) %v) to label %invoke.cont25 unwind label %lpad24 @@ -22742,11 +22742,11 @@ if.then.i.i.i.i.i115: ; preds = %invoke.cont25 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit _ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit: ; preds = %invoke.cont25, %if.then.i.i.i.i.i115 - %tobool.not.i.i.i.i = icmp eq ptr %agg.tmp20.sroa.0.24610, null + %tobool.not.i.i.i.i = icmp eq ptr %agg.tmp20.sroa.0.24636, null br i1 %tobool.not.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i if.then.i.i.i.i: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp20.sroa.0.24610) #32 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp20.sroa.0.24636) #32 br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit _ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit, %if.then.i.i.i.i @@ -22755,30 +22755,30 @@ _ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %_ZN7testin %tobool.i.not = icmp eq i8 %23, 0 br i1 %tobool.i.not, label %if.else, label %if.end -lpad.loopexit2388: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i - %lpad.loopexit2390 = landingpad { ptr, i32 } +lpad.loopexit2413: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i + %lpad.loopexit2415 = landingpad { ptr, i32 } cleanup br label %ehcleanup63 -lpad.loopexit.split-lp2389: ; preds = %if.then.i.i.i.i.i - %lpad.loopexit.split-lp2391 = landingpad { ptr, i32 } +lpad.loopexit.split-lp2414: ; preds = %if.then.i.i.i.i.i + %lpad.loopexit.split-lp2416 = landingpad { ptr, i32 } cleanup br label %ehcleanup63 lpad5.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i - %lpad.loopexit2385 = landingpad { ptr, i32 } + %lpad.loopexit2410 = landingpad { ptr, i32 } cleanup br label %ehcleanup62 lpad5.loopexit.split-lp.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i, %if.end.i.i, %if.then.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - %std_v.sroa.0.6.ph.ph = phi ptr [ %std_v.sroa.0.5, %if.then.i.i ], [ %std_v.sroa.0.5, %if.end.i.i ], [ %std_v.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %std_v.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ], [ %std_v.sroa.0.422962306, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i ] - %lpad.loopexit2394 = landingpad { ptr, i32 } + %std_v.sroa.0.6.ph.ph = phi ptr [ %std_v.sroa.0.5, %if.then.i.i ], [ %std_v.sroa.0.5, %if.end.i.i ], [ %std_v.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %std_v.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ], [ %std_v.sroa.0.422982307, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i ] + %lpad.loopexit2419 = landingpad { ptr, i32 } cleanup br label %ehcleanup62 -lpad5.loopexit.split-lp.loopexit.split-lp: ; preds = %if.end.i.i.i.i.i, %if.then3.i.i.i.i.i, %if.then.i.i.i1222, %if.end.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i, %if.then.i.i.i.i.i.i - %std_v.sroa.0.6.ph.ph2393 = phi ptr [ %std_v.sroa.0.422962306, %if.then.i.i.i1222 ], [ %std_v.sroa.0.5, %if.then3.i.i.i.i.i ], [ %std_v.sroa.0.5, %if.end.i.i.i.i.i ], [ %std_v.sroa.0.5, %if.then.i.i.i.i.i.i ], [ %std_v.sroa.0.3, %if.then3.i.i.i.i.i.i ], [ %std_v.sroa.0.3, %if.end.i.i.i.i.i.i ] - %lpad.loopexit.split-lp2395 = landingpad { ptr, i32 } +lpad5.loopexit.split-lp.loopexit.split-lp: ; preds = %if.end.i.i.i.i.i, %if.then3.i.i.i.i.i, %if.then.i.i.i1224, %if.end.i.i.i.i.i.i, %if.then3.i.i.i.i.i.i, %if.then.i.i.i.i.i.i + %std_v.sroa.0.6.ph.ph2418 = phi ptr [ %std_v.sroa.0.422982307, %if.then.i.i.i1224 ], [ %std_v.sroa.0.5, %if.then3.i.i.i.i.i ], [ %std_v.sroa.0.5, %if.end.i.i.i.i.i ], [ %std_v.sroa.0.5, %if.then.i.i.i.i.i.i ], [ %std_v.sroa.0.3, %if.then3.i.i.i.i.i.i ], [ %std_v.sroa.0.3, %if.end.i.i.i.i.i.i ] + %lpad.loopexit.split-lp2420 = landingpad { ptr, i32 } cleanup br label %ehcleanup62 @@ -22794,13 +22794,13 @@ if.then.i.i.i.i.i117: ; preds = %lpad24 br label %ehcleanup ehcleanup: ; preds = %if.then.i.i.i.i.i117, %lpad24 - %tobool.not.i.i.i.i119 = icmp eq ptr %agg.tmp20.sroa.0.24610, null + %tobool.not.i.i.i.i119 = icmp eq ptr %agg.tmp20.sroa.0.24636, null br i1 %tobool.not.i.i.i.i119, label %ehcleanup62, label %if.then.i.i.i.i120 if.then.i.i.i.i120: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %ehcleanup - %.pn4617 = phi { ptr, i32 } [ %24, %ehcleanup ], [ %20, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] - %agg.tmp20.sroa.0.246124616 = phi ptr [ %agg.tmp20.sroa.0.24610, %ehcleanup ], [ %call5.i.i.i.i1.i.i.i.i109, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp20.sroa.0.246124616) #32 + %.pn4643 = phi { ptr, i32 } [ %24, %ehcleanup ], [ %20, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] + %agg.tmp20.sroa.0.246384642 = phi ptr [ %agg.tmp20.sroa.0.24636, %ehcleanup ], [ %call5.i.i.i.i1.i.i.i.i109, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp20.sroa.0.246384642) #32 br label %ehcleanup62 if.else: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit @@ -22892,7 +22892,7 @@ _ZN7testing15AssertionResultD2Ev.exit: ; preds = %if.end, %_ZNKSt14de %tobool.i.not.i.i.i129 = icmp eq i64 %and.i.i.i.i128, 0 %36 = load ptr, ptr %data_.i1.i.i, align 8 %cond.i.i.i131 = select i1 %tobool.i.not.i.i.i129, ptr %data_.i1.i.i, ptr %36 - %add.ptr43 = getelementptr inbounds i32, ptr %cond.i.i.i131, i64 %pos.03500 + %add.ptr43 = getelementptr inbounds i32, ptr %cond.i.i.i131, i64 %pos.03525 store ptr %add.ptr43, ptr %ref.tmp41, align 8 %37 = load ptr, ptr %it, align 8, !noalias !502 %cmp.i.i = icmp eq ptr %37, %add.ptr43 @@ -23044,13 +23044,13 @@ if.else.i.i.i174: ; preds = %for.body.i165 %sub.ptr.rhs.cast.i.i.i.i.i.i176 = ptrtoint ptr %std_v64.sroa.0.2 to i64 %sub.ptr.sub.i.i.i.i.i.i177 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i175, %sub.ptr.rhs.cast.i.i.i.i.i.i176 %cmp.i.i.i.i.i178 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i177, 9223372036854775804 - br i1 %cmp.i.i.i.i.i178, label %if.then.i.i.i.i.i201, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i179 + br i1 %cmp.i.i.i.i.i178, label %if.then.i.i.i.i.i202, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i179 -if.then.i.i.i.i.i201: ; preds = %if.else.i.i.i174 +if.then.i.i.i.i.i202: ; preds = %if.else.i.i.i174 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc202 unwind label %lpad65.loopexit.split-lp + to label %.noexc203 unwind label %lpad65.loopexit.split-lp -.noexc202: ; preds = %if.then.i.i.i.i.i201 +.noexc203: ; preds = %if.then.i.i.i.i.i202 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i179: ; preds = %if.else.i.i.i174 @@ -23066,453 +23066,452 @@ _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i179: ; preds = %if.else.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i188: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i179 %mul.i.i.i.i.i.i.i189 = shl nuw nsw i64 %cond.i.i.i.i.i186, 2 - %call5.i.i.i.i.i.i.i204 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i189) #33 + %call5.i.i.i.i.i.i.i205 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i189) #33 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i190 unwind label %lpad65.loopexit _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i190: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i188, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i179 - %cond.i10.i.i.i.i191 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i179 ], [ %call5.i.i.i.i.i.i.i204, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i188 ] + %cond.i10.i.i.i.i191 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i179 ], [ %call5.i.i.i.i.i.i.i205, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i188 ] %add.ptr.i.i.i.i192 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i191, i64 %sub.ptr.div.i.i.i.i.i.i180 store i32 %conv.i167, ptr %add.ptr.i.i.i.i192, align 4 - %cmp.i.i.i11.i.i.i.i193 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i180, 0 - br i1 %cmp.i.i.i11.i.i.i.i193, label %if.then.i.i.i12.i.i.i.i200, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i194 + %cmp.i.i.i11.i.i.i.i193 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i177, 0 + br i1 %cmp.i.i.i11.i.i.i.i193, label %if.then.i.i.i12.i.i.i.i201, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i194 -if.then.i.i.i12.i.i.i.i200: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i190 +if.then.i.i.i12.i.i.i.i201: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i190 call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i191, ptr align 4 %std_v64.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i177, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i194 + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i194 -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i194: ; preds = %if.then.i.i.i12.i.i.i.i200, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i190 - %tobool.not.i.i.i.i.i196 = icmp eq ptr %std_v64.sroa.0.2, null - br i1 %tobool.not.i.i.i.i.i196, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i198, label %if.then.i21.i.i.i.i197 +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i194: ; preds = %if.then.i.i.i12.i.i.i.i201, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i190 + %add.ptr.i.i.i.i.i.i.i195 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i191, i64 %sub.ptr.sub.i.i.i.i.i.i177 + %tobool.not.i.i.i.i.i197 = icmp eq ptr %std_v64.sroa.0.2, null + br i1 %tobool.not.i.i.i.i.i197, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i199, label %if.then.i20.i.i.i.i198 -if.then.i21.i.i.i.i197: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i194 +if.then.i20.i.i.i.i198: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i194 call void @_ZdlPv(ptr noundef nonnull %std_v64.sroa.0.2) #32 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i198 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i199 -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i198: ; preds = %if.then.i21.i.i.i.i197, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i194 - %add.ptr19.i.i.i.i199 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i191, i64 %cond.i.i.i.i.i186 +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i199: ; preds = %if.then.i20.i.i.i.i198, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i194 + %add.ptr19.i.i.i.i200 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i191, i64 %cond.i.i.i.i.i186 br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i171 -_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i171: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i198, %if.then.i.i.i169 - %std_v64.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i199, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i198 ], [ %std_v64.sroa.24.2, %if.then.i.i.i169 ] - %add.ptr.i.i.i.i192.pn = phi ptr [ %add.ptr.i.i.i.i192, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i198 ], [ %51, %if.then.i.i.i169 ] - %std_v64.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i191, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i198 ], [ %std_v64.sroa.0.2, %if.then.i.i.i169 ] - %std_v64.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i192.pn, i64 1 +_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i171: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i199, %if.then.i.i.i169 + %std_v64.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i200, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i199 ], [ %std_v64.sroa.24.2, %if.then.i.i.i169 ] + %add.ptr.i.i.i.i.i.i.i195.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i195, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i199 ], [ %51, %if.then.i.i.i169 ] + %std_v64.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i191, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i199 ], [ %std_v64.sroa.0.2, %if.then.i.i.i169 ] + %std_v64.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i195.pn, i64 1 %inc.i172 = add nuw nsw i64 %i.05.i166, 1 - %exitcond.not.i173 = icmp eq i64 %inc.i172, %len.03501 + %exitcond.not.i173 = icmp eq i64 %inc.i172, %len.03526 br i1 %exitcond.not.i173, label %invoke.cont66, label %for.body.i165, !llvm.loop !489 invoke.cont66: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i171 store i64 0, ptr %v67, align 8 - br label %for.body.i208 - -for.body.i208: ; preds = %invoke.cont66, %call.i.i.i.noexc213 - %52 = phi i64 [ %storemerge.i1265, %call.i.i.i.noexc213 ], [ 0, %invoke.cont66 ] - %i.04.i209 = phi i64 [ %inc.i211, %call.i.i.i.noexc213 ], [ 0, %invoke.cont66 ] - %conv.i210 = trunc i64 %i.04.i209 to i32 - %and.i.i.i1253 = and i64 %52, 1 - %tobool.i.not.i.i1254 = icmp eq i64 %and.i.i.i1253, 0 - %53 = load ptr, ptr %data_.i1.i.i1255, align 8 - %54 = load i64, ptr %allocated_capacity.i.i.i1256, align 8, !noalias !11 - %.sink3.i.i1257 = select i1 %tobool.i.not.i.i1254, ptr %data_.i1.i.i1255, ptr %53 - %.sink.i.i1258 = select i1 %tobool.i.not.i.i1254, i64 8, i64 %54 - %shr.i.sink.i.i1259 = lshr i64 %52, 1 - %cmp.not.i1260 = icmp eq i64 %shr.i.sink.i.i1259, %.sink.i.i1258 - br i1 %cmp.not.i1260, label %if.end.i1266, label %if.then.i1261 - -if.then.i1261: ; preds = %for.body.i208 - %add.ptr.i1262 = getelementptr inbounds i32, ptr %.sink3.i.i1257, i64 %shr.i.sink.i.i1259 - store i32 %conv.i210, ptr %add.ptr.i1262, align 4 + br label %for.body.i209 + +for.body.i209: ; preds = %invoke.cont66, %call.i.i.i.noexc214 + %52 = phi i64 [ %storemerge.i1267, %call.i.i.i.noexc214 ], [ 0, %invoke.cont66 ] + %i.04.i210 = phi i64 [ %inc.i212, %call.i.i.i.noexc214 ], [ 0, %invoke.cont66 ] + %conv.i211 = trunc i64 %i.04.i210 to i32 + %and.i.i.i1255 = and i64 %52, 1 + %tobool.i.not.i.i1256 = icmp eq i64 %and.i.i.i1255, 0 + %53 = load ptr, ptr %data_.i1.i.i1257, align 8 + %54 = load i64, ptr %allocated_capacity.i.i.i1258, align 8, !noalias !11 + %.sink3.i.i1259 = select i1 %tobool.i.not.i.i1256, ptr %data_.i1.i.i1257, ptr %53 + %.sink.i.i1260 = select i1 %tobool.i.not.i.i1256, i64 8, i64 %54 + %shr.i.sink.i.i1261 = lshr i64 %52, 1 + %cmp.not.i1262 = icmp eq i64 %shr.i.sink.i.i1261, %.sink.i.i1260 + br i1 %cmp.not.i1262, label %if.end.i1268, label %if.then.i1263 + +if.then.i1263: ; preds = %for.body.i209 + %add.ptr.i1264 = getelementptr inbounds i32, ptr %.sink3.i.i1259, i64 %shr.i.sink.i.i1261 + store i32 %conv.i211, ptr %add.ptr.i1264, align 4 %55 = load i64, ptr %v67, align 8 - br label %call.i.i.i.noexc213 + br label %call.i.i.i.noexc214 -if.end.i1266: ; preds = %for.body.i208 +if.end.i1268: ; preds = %for.body.i209 %56 = shl i64 %54, 1 - %mul.i.i.i1267 = select i1 %tobool.i.not.i.i1254, i64 16, i64 %56 - %cmp.i.i.i.i.i.i1268 = icmp ugt i64 %mul.i.i.i1267, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i1268, label %if.then.i.i.i.i.i.i1285, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1269 + %mul.i.i.i1269 = select i1 %tobool.i.not.i.i1256, i64 16, i64 %56 + %cmp.i.i.i.i.i.i1270 = icmp ugt i64 %mul.i.i.i1269, 2305843009213693951 + br i1 %cmp.i.i.i.i.i.i1270, label %if.then.i.i.i.i.i.i1287, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1271 -if.then.i.i.i.i.i.i1285: ; preds = %if.end.i1266 - %cmp2.i.i.i.i.i.i1286 = icmp ugt i64 %mul.i.i.i1267, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i.i1286, label %if.then3.i.i.i.i.i.i1288, label %if.end.i.i.i.i.i.i1287 +if.then.i.i.i.i.i.i1287: ; preds = %if.end.i1268 + %cmp2.i.i.i.i.i.i1288 = icmp ugt i64 %mul.i.i.i1269, 4611686018427387903 + br i1 %cmp2.i.i.i.i.i.i1288, label %if.then3.i.i.i.i.i.i1290, label %if.end.i.i.i.i.i.i1289 -if.then3.i.i.i.i.i.i1288: ; preds = %if.then.i.i.i.i.i.i1285 +if.then3.i.i.i.i.i.i1290: ; preds = %if.then.i.i.i.i.i.i1287 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1289 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp + to label %.noexc1291 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp -.noexc1289: ; preds = %if.then3.i.i.i.i.i.i1288 +.noexc1291: ; preds = %if.then3.i.i.i.i.i.i1290 unreachable -if.end.i.i.i.i.i.i1287: ; preds = %if.then.i.i.i.i.i.i1285 +if.end.i.i.i.i.i.i1289: ; preds = %if.then.i.i.i.i.i.i1287 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1290 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp + to label %.noexc1292 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp -.noexc1290: ; preds = %if.end.i.i.i.i.i.i1287 +.noexc1292: ; preds = %if.end.i.i.i.i.i.i1289 unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1269: ; preds = %if.end.i1266 - %mul.i.i.i.i.i.i1270 = shl nuw nsw i64 %mul.i.i.i1267, 2 - %call5.i.i.i.i5.i.i1292 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i1270) #33 - to label %call5.i.i.i.i5.i.i.noexc1291 unwind label %lpad68.loopexit +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1271: ; preds = %if.end.i1268 + %mul.i.i.i.i.i.i1272 = shl nuw nsw i64 %mul.i.i.i1269, 2 + %call5.i.i.i.i5.i.i1294 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i1272) #33 + to label %call5.i.i.i.i5.i.i.noexc1293 unwind label %lpad68.loopexit -call5.i.i.i.i5.i.i.noexc1291: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1269 - %add.ptr.i.i1271 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1292, i64 %.sink.i.i1258 - store i32 %conv.i210, ptr %add.ptr.i.i1271, align 4 - %cmp6.not.i.i.i1272 = icmp ult i64 %52, 2 - br i1 %cmp6.not.i.i.i1272, label %invoke.cont21.i.i1280, label %for.inc.i.i.i1273 +call5.i.i.i.i5.i.i.noexc1293: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1271 + %add.ptr.i.i1273 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1294, i64 %.sink.i.i1260 + store i32 %conv.i211, ptr %add.ptr.i.i1273, align 4 + %cmp6.not.i.i.i1274 = icmp ult i64 %52, 2 + br i1 %cmp6.not.i.i.i1274, label %invoke.cont21.i.i1282, label %for.inc.i.i.i1275 -for.inc.i.i.i1273: ; preds = %call5.i.i.i.i5.i.i.noexc1291, %for.inc.i.i.i1273 - %move_values.sroa.0.0.i.i1274 = phi ptr [ %incdec.ptr.i.i.i.i.i1277, %for.inc.i.i.i1273 ], [ %.sink3.i.i1257, %call5.i.i.i.i5.i.i.noexc1291 ] - %i.07.i.i.i1275 = phi i64 [ %inc.i.i.i1278, %for.inc.i.i.i1273 ], [ 0, %call5.i.i.i.i5.i.i.noexc1291 ] - %add.ptr.i.i.i1276 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1292, i64 %i.07.i.i.i1275 - %57 = load i32, ptr %move_values.sroa.0.0.i.i1274, align 4 - store i32 %57, ptr %add.ptr.i.i.i1276, align 4 - %incdec.ptr.i.i.i.i.i1277 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i1274, i64 1 - %inc.i.i.i1278 = add nuw nsw i64 %i.07.i.i.i1275, 1 - %exitcond.not.i.i.i1279 = icmp eq i64 %inc.i.i.i1278, %.sink.i.i1258 - br i1 %exitcond.not.i.i.i1279, label %invoke.cont21.i.i1280, label %for.inc.i.i.i1273, !llvm.loop !12 +for.inc.i.i.i1275: ; preds = %call5.i.i.i.i5.i.i.noexc1293, %for.inc.i.i.i1275 + %move_values.sroa.0.0.i.i1276 = phi ptr [ %incdec.ptr.i.i.i.i.i1279, %for.inc.i.i.i1275 ], [ %.sink3.i.i1259, %call5.i.i.i.i5.i.i.noexc1293 ] + %i.07.i.i.i1277 = phi i64 [ %inc.i.i.i1280, %for.inc.i.i.i1275 ], [ 0, %call5.i.i.i.i5.i.i.noexc1293 ] + %add.ptr.i.i.i1278 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1294, i64 %i.07.i.i.i1277 + %57 = load i32, ptr %move_values.sroa.0.0.i.i1276, align 4 + store i32 %57, ptr %add.ptr.i.i.i1278, align 4 + %incdec.ptr.i.i.i.i.i1279 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i1276, i64 1 + %inc.i.i.i1280 = add nuw nsw i64 %i.07.i.i.i1277, 1 + %exitcond.not.i.i.i1281 = icmp eq i64 %inc.i.i.i1280, %.sink.i.i1260 + br i1 %exitcond.not.i.i.i1281, label %invoke.cont21.i.i1282, label %for.inc.i.i.i1275, !llvm.loop !12 -invoke.cont21.i.i1280: ; preds = %for.inc.i.i.i1273, %call5.i.i.i.i5.i.i.noexc1291 - br i1 %tobool.i.not.i.i1254, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1283, label %if.then.i.i.i1281 +invoke.cont21.i.i1282: ; preds = %for.inc.i.i.i1275, %call5.i.i.i.i5.i.i.noexc1293 + br i1 %tobool.i.not.i.i1256, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1285, label %if.then.i.i.i1283 -if.then.i.i.i1281: ; preds = %invoke.cont21.i.i1280 +if.then.i.i.i1283: ; preds = %invoke.cont21.i.i1282 call void @_ZdlPv(ptr noundef %53) #32 - %.pre.i.i1282 = load i64, ptr %v67, align 8 - br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1283 - -_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1283: ; preds = %if.then.i.i.i1281, %invoke.cont21.i.i1280 - %58 = phi i64 [ %.pre.i.i1282, %if.then.i.i.i1281 ], [ %52, %invoke.cont21.i.i1280 ] - store ptr %call5.i.i.i.i5.i.i1292, ptr %data_.i1.i.i1255, align 8 - store i64 %mul.i.i.i1267, ptr %allocated_capacity.i.i.i1256, align 8 - %or.i.i.i1284 = or i64 %58, 1 - br label %call.i.i.i.noexc213 - -call.i.i.i.noexc213: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1283, %if.then.i1261 - %storemerge.in.i1263 = phi i64 [ %55, %if.then.i1261 ], [ %or.i.i.i1284, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1283 ] - %storemerge.i1265 = add i64 %storemerge.in.i1263, 2 - store i64 %storemerge.i1265, ptr %v67, align 8 - %inc.i211 = add nuw nsw i64 %i.04.i209, 1 - %exitcond.not.i212 = icmp eq i64 %inc.i211, %len.03501 - br i1 %exitcond.not.i212, label %invoke.cont69, label %for.body.i208, !llvm.loop !13 - -invoke.cont69: ; preds = %call.i.i.i.noexc213, %invoke.cont66.thread - %std_v64.sroa.0.42318 = phi ptr [ null, %invoke.cont66.thread ], [ %std_v64.sroa.0.3, %call.i.i.i.noexc213 ] - %std_v64.sroa.11.42317 = phi ptr [ null, %invoke.cont66.thread ], [ %std_v64.sroa.11.3, %call.i.i.i.noexc213 ] - %std_v64.sroa.24.42316 = phi ptr [ null, %invoke.cont66.thread ], [ %std_v64.sroa.24.3, %call.i.i.i.noexc213 ] - %add.ptr.i216 = getelementptr inbounds i32, ptr %std_v64.sroa.0.42318, i64 %pos.03500 - %sub.ptr.lhs.cast.i.i = ptrtoint ptr %add.ptr.i216 to i64 - %add.ptr.i216.idx = shl nsw i64 %pos.03500, 2 + %.pre.i.i1284 = load i64, ptr %v67, align 8 + br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1285 + +_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1285: ; preds = %if.then.i.i.i1283, %invoke.cont21.i.i1282 + %58 = phi i64 [ %.pre.i.i1284, %if.then.i.i.i1283 ], [ %52, %invoke.cont21.i.i1282 ] + store ptr %call5.i.i.i.i5.i.i1294, ptr %data_.i1.i.i1257, align 8 + store i64 %mul.i.i.i1269, ptr %allocated_capacity.i.i.i1258, align 8 + %or.i.i.i1286 = or i64 %58, 1 + br label %call.i.i.i.noexc214 + +call.i.i.i.noexc214: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1285, %if.then.i1263 + %storemerge.in.i1265 = phi i64 [ %55, %if.then.i1263 ], [ %or.i.i.i1286, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1285 ] + %storemerge.i1267 = add i64 %storemerge.in.i1265, 2 + store i64 %storemerge.i1267, ptr %v67, align 8 + %inc.i212 = add nuw nsw i64 %i.04.i210, 1 + %exitcond.not.i213 = icmp eq i64 %inc.i212, %len.03526 + br i1 %exitcond.not.i213, label %invoke.cont69, label %for.body.i209, !llvm.loop !13 + +invoke.cont69: ; preds = %call.i.i.i.noexc214, %invoke.cont66.thread + %std_v64.sroa.0.42318 = phi ptr [ null, %invoke.cont66.thread ], [ %std_v64.sroa.0.3, %call.i.i.i.noexc214 ] + %std_v64.sroa.11.42317 = phi ptr [ null, %invoke.cont66.thread ], [ %std_v64.sroa.11.3, %call.i.i.i.noexc214 ] + %std_v64.sroa.24.42316 = phi ptr [ null, %invoke.cont66.thread ], [ %std_v64.sroa.24.3, %call.i.i.i.noexc214 ] + %add.ptr.i217 = getelementptr inbounds i32, ptr %std_v64.sroa.0.42318, i64 %pos.03525 + %sub.ptr.lhs.cast.i.i = ptrtoint ptr %add.ptr.i217 to i64 %sub.ptr.lhs.cast.i = ptrtoint ptr %std_v64.sroa.24.42316 to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %std_v64.sroa.11.42317 to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i - %cmp3.not.i1297 = icmp ult i64 %sub.ptr.sub.i, 20 - br i1 %cmp3.not.i1297, label %if.else42.i, label %if.then4.i + %cmp3.not.i1299 = icmp ult i64 %sub.ptr.sub.i, 20 + br i1 %cmp3.not.i1299, label %if.else42.i, label %if.then4.i if.then4.i: ; preds = %invoke.cont69 - %sub.ptr.sub.i.i1299 = sub i64 %sub.ptr.rhs.cast.i, %sub.ptr.lhs.cast.i.i - %sub.ptr.div.i.i1300 = ashr exact i64 %sub.ptr.sub.i.i1299, 2 - %cmp10.i = icmp ugt i64 %sub.ptr.div.i.i1300, 5 - br i1 %cmp10.i, label %if.then11.i, label %if.else.i1301 + %sub.ptr.sub.i.i1301 = sub i64 %sub.ptr.rhs.cast.i, %sub.ptr.lhs.cast.i.i + %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i1301, 2 + %cmp10.i = icmp ugt i64 %sub.ptr.div.i.i, 5 + br i1 %cmp10.i, label %if.then11.i, label %if.else.i1302 if.then11.i: ; preds = %if.then4.i - %add.ptr.i1305 = getelementptr inbounds i32, ptr %std_v64.sroa.11.42317, i64 -5 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %std_v64.sroa.11.42317, ptr noundef nonnull align 4 dereferenceable(20) %add.ptr.i1305, i64 20, i1 false) + %add.ptr.i1306 = getelementptr inbounds i32, ptr %std_v64.sroa.11.42317, i64 -5 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %std_v64.sroa.11.42317, ptr noundef nonnull align 4 dereferenceable(20) %add.ptr.i1306, i64 20, i1 false) %add.ptr16.i = getelementptr inbounds i32, ptr %std_v64.sroa.11.42317, i64 5 - %tobool.not.i.i.i.i.i.i = icmp eq ptr %add.ptr.i1305, %add.ptr.i216 - br i1 %tobool.not.i.i.i.i.i.i, label %for.body.i.i.i.i.preheader, label %if.then.i.i.i.i.i.i1306 - -if.then.i.i.i.i.i.i1306: ; preds = %if.then11.i - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i1305 to i64 - %sub.ptr.sub.i.i.i.i.i.i1307 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i, %sub.ptr.lhs.cast.i.i - %sub.ptr.div.i.i.i.i.i.i1308 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1307, 2 - %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i1308 - %add.ptr.i.i.i.i.i.i1309 = getelementptr inbounds i32, ptr %std_v64.sroa.11.42317, i64 %.pre.i.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i1309, ptr align 4 %add.ptr.i216, i64 %sub.ptr.sub.i.i.i.i.i.i1307, i1 false) + %tobool.not.i.i.i.i.i.i = icmp eq ptr %add.ptr.i1306, %add.ptr.i217 + br i1 %tobool.not.i.i.i.i.i.i, label %for.body.i.i.i.i.preheader, label %if.then.i.i.i.i.i.i1307 + +if.then.i.i.i.i.i.i1307: ; preds = %if.then11.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i = ptrtoint ptr %add.ptr.i1306 to i64 + %sub.ptr.sub.i.i.i.i.i.i1308 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i, %sub.ptr.lhs.cast.i.i + %sub.ptr.div.i.i.i.i.i.i1309 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1308, 2 + %.pre.i.i.i.i.i.i = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i1309 + %add.ptr.i.i.i.i.i.i1310 = getelementptr inbounds i32, ptr %std_v64.sroa.11.42317, i64 %.pre.i.i.i.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i1310, ptr align 4 %add.ptr.i217, i64 %sub.ptr.sub.i.i.i.i.i.i1308, i1 false) br label %for.body.i.i.i.i.preheader -for.body.i.i.i.i.preheader: ; preds = %if.then.i.i.i.i.i.i1306, %if.then11.i +for.body.i.i.i.i.preheader: ; preds = %if.then.i.i.i.i.i.i1307, %if.then11.i br label %for.body.i.i.i.i for.body.i.i.i.i: ; preds = %for.body.i.i.i.i.preheader, %for.body.i.i.i.i %__first.addr.04.i.i.i.i.idx = phi i64 [ %__first.addr.04.i.i.i.i.add, %for.body.i.i.i.i ], [ 0, %for.body.i.i.i.i.preheader ] - %__first.addr.04.i.i.i.i.ptr = getelementptr inbounds i8, ptr %add.ptr.i216, i64 %__first.addr.04.i.i.i.i.idx + %__first.addr.04.i.i.i.i.ptr = getelementptr inbounds i8, ptr %add.ptr.i217, i64 %__first.addr.04.i.i.i.i.idx store i32 9999, ptr %__first.addr.04.i.i.i.i.ptr, align 4 %__first.addr.04.i.i.i.i.add = add nuw nsw i64 %__first.addr.04.i.i.i.i.idx, 4 %cmp.not.i.i.i.i = icmp eq i64 %__first.addr.04.i.i.i.i.add, 20 br i1 %cmp.not.i.i.i.i, label %invoke.cont79, label %for.body.i.i.i.i, !llvm.loop !507 -if.else.i1301: ; preds = %if.then4.i - %cmp.i.i.i.i.i.i1302 = icmp eq i64 %sub.ptr.sub.i.i1299, 20 - br i1 %cmp.i.i.i.i.i.i1302, label %invoke.cont27.i, label %if.end.i.i.i.i.i.i1303 +if.else.i1302: ; preds = %if.then4.i + %cmp.i.i.i.i.i.i1303 = icmp eq i64 %sub.ptr.sub.i.i1301, 20 + br i1 %cmp.i.i.i.i.i.i1303, label %invoke.cont27.i, label %if.end.i.i.i.i.i.i1304 -if.end.i.i.i.i.i.i1303: ; preds = %if.else.i1301 - %sub.i1304 = sub nuw nsw i64 5, %sub.ptr.div.i.i1300 - %add.ptr.i.i.i.i.i49.i = getelementptr inbounds i32, ptr %std_v64.sroa.11.42317, i64 %sub.i1304 +if.end.i.i.i.i.i.i1304: ; preds = %if.else.i1302 + %sub.i1305 = sub nuw nsw i64 5, %sub.ptr.div.i.i + %add.ptr.i.i.i.i.i49.i = getelementptr inbounds i32, ptr %std_v64.sroa.11.42317, i64 %sub.i1305 br label %for.body.i.i.i.i.i.i.i.i -for.body.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %if.end.i.i.i.i.i.i1303 - %__first.addr.04.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ], [ %std_v64.sroa.11.42317, %if.end.i.i.i.i.i.i1303 ] +for.body.i.i.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %if.end.i.i.i.i.i.i1304 + %__first.addr.04.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i ], [ %std_v64.sroa.11.42317, %if.end.i.i.i.i.i.i1304 ] store i32 9999, ptr %__first.addr.04.i.i.i.i.i.i.i.i, align 4 %incdec.ptr.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %__first.addr.04.i.i.i.i.i.i.i.i, i64 1 %cmp.not.i.i.i.i.i.i.i.i = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i, %add.ptr.i.i.i.i.i49.i br i1 %cmp.not.i.i.i.i.i.i.i.i, label %invoke.cont27.i, label %for.body.i.i.i.i.i.i.i.i, !llvm.loop !507 -invoke.cont27.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %if.else.i1301 - %59 = phi ptr [ %std_v64.sroa.11.42317, %if.else.i1301 ], [ %add.ptr.i.i.i.i.i49.i, %for.body.i.i.i.i.i.i.i.i ] - %tobool.not.i.i.i.i.i.i.i.i.i53.i = icmp eq ptr %std_v64.sroa.11.42317, %add.ptr.i216 +invoke.cont27.i: ; preds = %for.body.i.i.i.i.i.i.i.i, %if.else.i1302 + %59 = phi ptr [ %std_v64.sroa.11.42317, %if.else.i1302 ], [ %add.ptr.i.i.i.i.i49.i, %for.body.i.i.i.i.i.i.i.i ] + %tobool.not.i.i.i.i.i.i.i.i.i53.i = icmp eq ptr %std_v64.sroa.11.42317, %add.ptr.i217 br i1 %tobool.not.i.i.i.i.i.i.i.i.i53.i, label %invoke.cont35.thread.i, label %invoke.cont35.i invoke.cont35.thread.i: ; preds = %invoke.cont27.i - %add.ptr39119.i = getelementptr inbounds i32, ptr %59, i64 %sub.ptr.div.i.i1300 + %add.ptr39116.i = getelementptr inbounds i8, ptr %59, i64 %sub.ptr.sub.i.i1301 br label %invoke.cont79 invoke.cont35.i: ; preds = %invoke.cont27.i - call void @llvm.memmove.p0.p0.i64(ptr align 4 %59, ptr align 4 %add.ptr.i216, i64 %sub.ptr.sub.i.i1299, i1 false) - br label %for.body.i.i.i59.i + call void @llvm.memmove.p0.p0.i64(ptr align 4 %59, ptr align 4 %add.ptr.i217, i64 %sub.ptr.sub.i.i1301, i1 false) + br label %for.body.i.i.i58.i -for.body.i.i.i59.i: ; preds = %for.body.i.i.i59.i, %invoke.cont35.i - %__first.addr.04.i.i.i60.i = phi ptr [ %incdec.ptr.i.i.i61.i, %for.body.i.i.i59.i ], [ %add.ptr.i216, %invoke.cont35.i ] - store i32 9999, ptr %__first.addr.04.i.i.i60.i, align 4 - %incdec.ptr.i.i.i61.i = getelementptr inbounds i32, ptr %__first.addr.04.i.i.i60.i, i64 1 - %cmp.not.i.i.i62.i = icmp eq ptr %incdec.ptr.i.i.i61.i, %std_v64.sroa.11.42317 - br i1 %cmp.not.i.i.i62.i, label %invoke.cont79.loopexit3503, label %for.body.i.i.i59.i, !llvm.loop !507 +for.body.i.i.i58.i: ; preds = %for.body.i.i.i58.i, %invoke.cont35.i + %__first.addr.04.i.i.i59.i = phi ptr [ %incdec.ptr.i.i.i60.i, %for.body.i.i.i58.i ], [ %add.ptr.i217, %invoke.cont35.i ] + store i32 9999, ptr %__first.addr.04.i.i.i59.i, align 4 + %incdec.ptr.i.i.i60.i = getelementptr inbounds i32, ptr %__first.addr.04.i.i.i59.i, i64 1 + %cmp.not.i.i.i61.i = icmp eq ptr %incdec.ptr.i.i.i60.i, %std_v64.sroa.11.42317 + br i1 %cmp.not.i.i.i61.i, label %invoke.cont79.loopexit3528, label %for.body.i.i.i58.i, !llvm.loop !507 if.else42.i: ; preds = %invoke.cont69 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %std_v64.sroa.0.42318 to i64 - %sub.ptr.sub.i.i.i1313 = sub i64 %sub.ptr.rhs.cast.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i.i1314 = ashr exact i64 %sub.ptr.sub.i.i.i1313, 2 - %60 = add nsw i64 %sub.ptr.div.i.i.i1314, -2305843009213693947 - %cmp.i.i1315 = icmp ult i64 %60, 5 - br i1 %cmp.i.i1315, label %if.then.i.i1321, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i + %sub.ptr.sub.i.i.i1314 = sub i64 %sub.ptr.rhs.cast.i, %sub.ptr.rhs.cast.i.i + %sub.ptr.div.i.i.i1315 = ashr exact i64 %sub.ptr.sub.i.i.i1314, 2 + %60 = add nsw i64 %sub.ptr.div.i.i.i1315, -2305843009213693947 + %cmp.i.i1316 = icmp ult i64 %60, 5 + br i1 %cmp.i.i1316, label %if.then.i.i1322, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i -if.then.i.i1321: ; preds = %if.else42.i +if.then.i.i1322: ; preds = %if.else42.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.309) #31 - to label %.noexc1322 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp + to label %.noexc1323 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp -.noexc1322: ; preds = %if.then.i.i1321 +.noexc1323: ; preds = %if.then.i.i1322 unreachable _ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i: ; preds = %if.else42.i - %.sroa.speculated.i.i1316 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i1314, i64 5) - %add.i.i1317 = add i64 %.sroa.speculated.i.i1316, %sub.ptr.div.i.i.i1314 - %cmp7.i.i = icmp ult i64 %add.i.i1317, %sub.ptr.div.i.i.i1314 - %cmp9.i.i = icmp ugt i64 %add.i.i1317, 2305843009213693951 + %.sroa.speculated.i.i1317 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i1315, i64 5) + %add.i.i1318 = add i64 %.sroa.speculated.i.i1317, %sub.ptr.div.i.i.i1315 + %cmp7.i.i = icmp ult i64 %add.i.i1318, %sub.ptr.div.i.i.i1315 + %cmp9.i.i = icmp ugt i64 %add.i.i1318, 2305843009213693951 %or.cond.i.i = or i1 %cmp7.i.i, %cmp9.i.i - %cond.i.i1318 = select i1 %or.cond.i.i, i64 2305843009213693951, i64 %add.i.i1317 - %cmp.not.i.i1319 = icmp eq i64 %cond.i.i1318, 0 - br i1 %cmp.not.i.i1319, label %if.end.i.i.i.i.i66.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i + %cond.i.i1319 = select i1 %or.cond.i.i, i64 2305843009213693951, i64 %add.i.i1318 + %cmp.not.i.i1320 = icmp eq i64 %cond.i.i1319, 0 + br i1 %cmp.not.i.i1320, label %if.end.i.i.i.i.i65.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i - %mul.i.i.i.i = shl nuw nsw i64 %cond.i.i1318, 2 - %call5.i.i.i.i1323 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #33 - to label %if.end.i.i.i.i.i66.i unwind label %lpad68.loopexit.split-lp.loopexit - -if.end.i.i.i.i.i66.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i - %cond.i64.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i ], [ %call5.i.i.i.i1323, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i ] - %add.ptr54.i1320 = getelementptr inbounds i32, ptr %cond.i64.i, i64 %pos.03500 - br label %for.body.i.i.i.i.i.i.i68.i - -for.body.i.i.i.i.i.i.i68.i: ; preds = %for.body.i.i.i.i.i.i.i68.i, %if.end.i.i.i.i.i66.i - %__first.addr.04.i.i.i.i.i.i.i69.i.idx = phi i64 [ %__first.addr.04.i.i.i.i.i.i.i69.i.add, %for.body.i.i.i.i.i.i.i68.i ], [ 0, %if.end.i.i.i.i.i66.i ] - %__first.addr.04.i.i.i.i.i.i.i69.i.ptr = getelementptr inbounds i8, ptr %add.ptr54.i1320, i64 %__first.addr.04.i.i.i.i.i.i.i69.i.idx - store i32 9999, ptr %__first.addr.04.i.i.i.i.i.i.i69.i.ptr, align 4 - %__first.addr.04.i.i.i.i.i.i.i69.i.add = add nuw nsw i64 %__first.addr.04.i.i.i.i.i.i.i69.i.idx, 4 - %cmp.not.i.i.i.i.i.i.i71.i = icmp eq i64 %__first.addr.04.i.i.i.i.i.i.i69.i.add, 20 - br i1 %cmp.not.i.i.i.i.i.i.i71.i, label %invoke.cont57.i, label %for.body.i.i.i.i.i.i.i68.i, !llvm.loop !507 - -invoke.cont57.i: ; preds = %for.body.i.i.i.i.i.i.i68.i - %add.ptr.i.i.i.i.i67.i = getelementptr inbounds i32, ptr %add.ptr54.i1320, i64 5 - %tobool.not.i.i.i.i.i.i.i.i.i77.i = icmp eq i64 %pos.03500, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i77.i, label %invoke.cont60.i, label %if.then.i.i.i.i.i.i.i.i.i78.i - -if.then.i.i.i.i.i.i.i.i.i78.i: ; preds = %invoke.cont57.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i64.i, ptr align 4 %std_v64.sroa.0.42318, i64 %add.ptr.i216.idx, i1 false) + %mul.i.i.i.i = shl nuw nsw i64 %cond.i.i1319, 2 + %call5.i.i.i.i1324 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i) #33 + to label %if.end.i.i.i.i.i65.i unwind label %lpad68.loopexit.split-lp.loopexit + +if.end.i.i.i.i.i65.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i + %cond.i63.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i ], [ %call5.i.i.i.i1324, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i ] + %add.ptr54.i1321 = getelementptr inbounds i8, ptr %cond.i63.i, i64 %add.ptr.idx.pre-phi + br label %for.body.i.i.i.i.i.i.i67.i + +for.body.i.i.i.i.i.i.i67.i: ; preds = %for.body.i.i.i.i.i.i.i67.i, %if.end.i.i.i.i.i65.i + %__first.addr.04.i.i.i.i.i.i.i68.i.idx = phi i64 [ %__first.addr.04.i.i.i.i.i.i.i68.i.add, %for.body.i.i.i.i.i.i.i67.i ], [ 0, %if.end.i.i.i.i.i65.i ] + %__first.addr.04.i.i.i.i.i.i.i68.i.ptr = getelementptr inbounds i8, ptr %add.ptr54.i1321, i64 %__first.addr.04.i.i.i.i.i.i.i68.i.idx + store i32 9999, ptr %__first.addr.04.i.i.i.i.i.i.i68.i.ptr, align 4 + %__first.addr.04.i.i.i.i.i.i.i68.i.add = add nuw nsw i64 %__first.addr.04.i.i.i.i.i.i.i68.i.idx, 4 + %cmp.not.i.i.i.i.i.i.i70.i = icmp eq i64 %__first.addr.04.i.i.i.i.i.i.i68.i.add, 20 + br i1 %cmp.not.i.i.i.i.i.i.i70.i, label %invoke.cont57.i, label %for.body.i.i.i.i.i.i.i67.i, !llvm.loop !507 + +invoke.cont57.i: ; preds = %for.body.i.i.i.i.i.i.i67.i + %add.ptr.i.i.i.i.i66.i = getelementptr inbounds i32, ptr %add.ptr54.i1321, i64 5 + %tobool.not.i.i.i.i.i.i.i.i.i76.i = icmp eq i64 %pos.03525, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76.i, label %invoke.cont60.i, label %if.then.i.i.i.i.i.i.i.i.i77.i + +if.then.i.i.i.i.i.i.i.i.i77.i: ; preds = %invoke.cont57.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i63.i, ptr align 4 %std_v64.sroa.0.42318, i64 %add.ptr.idx.pre-phi, i1 false) br label %invoke.cont60.i -invoke.cont60.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i78.i, %invoke.cont57.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i83.i = sub i64 %sub.ptr.rhs.cast.i, %sub.ptr.lhs.cast.i.i - %tobool.not.i.i.i.i.i.i.i.i.i84.i = icmp eq ptr %std_v64.sroa.11.42317, %add.ptr.i216 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i84.i, label %invoke.cont64.i, label %if.then.i.i.i.i.i.i.i.i.i85.i +invoke.cont60.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i77.i, %invoke.cont57.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i81.i = sub i64 %sub.ptr.rhs.cast.i, %sub.ptr.lhs.cast.i.i + %tobool.not.i.i.i.i.i.i.i.i.i82.i = icmp eq ptr %std_v64.sroa.11.42317, %add.ptr.i217 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i82.i, label %invoke.cont64.i, label %if.then.i.i.i.i.i.i.i.i.i83.i -if.then.i.i.i.i.i.i.i.i.i85.i: ; preds = %invoke.cont60.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i67.i, ptr align 4 %add.ptr.i216, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i83.i, i1 false) +if.then.i.i.i.i.i.i.i.i.i83.i: ; preds = %invoke.cont60.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i66.i, ptr align 4 %add.ptr.i217, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i81.i, i1 false) br label %invoke.cont64.i -invoke.cont64.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i85.i, %invoke.cont60.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i86.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i83.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i87.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i67.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i86.i +invoke.cont64.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i83.i, %invoke.cont60.i + %add.ptr.i.i.i.i.i.i.i.i.i84.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i66.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i81.i %tobool.not.i.i = icmp eq ptr %std_v64.sroa.0.42318, null - br i1 %tobool.not.i.i, label %invoke.cont79, label %if.then.i89.i + br i1 %tobool.not.i.i, label %invoke.cont79, label %if.then.i86.i -if.then.i89.i: ; preds = %invoke.cont64.i +if.then.i86.i: ; preds = %invoke.cont64.i call void @_ZdlPv(ptr noundef nonnull %std_v64.sroa.0.42318) #32 br label %invoke.cont79 -invoke.cont79.loopexit3503: ; preds = %for.body.i.i.i59.i - %add.ptr39.i = getelementptr inbounds i32, ptr %59, i64 %sub.ptr.div.i.i1300 +invoke.cont79.loopexit3528: ; preds = %for.body.i.i.i58.i + %add.ptr39.i = getelementptr inbounds i8, ptr %59, i64 %sub.ptr.sub.i.i1301 br label %invoke.cont79 -invoke.cont79: ; preds = %for.body.i.i.i.i, %invoke.cont79.loopexit3503, %invoke.cont64.i, %if.then.i89.i, %invoke.cont35.thread.i - %std_v64.sroa.11.5 = phi ptr [ %add.ptr39119.i, %invoke.cont35.thread.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i87.i, %if.then.i89.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i87.i, %invoke.cont64.i ], [ %add.ptr39.i, %invoke.cont79.loopexit3503 ], [ %add.ptr16.i, %for.body.i.i.i.i ] - %std_v64.sroa.0.5 = phi ptr [ %std_v64.sroa.0.42318, %invoke.cont35.thread.i ], [ %cond.i64.i, %if.then.i89.i ], [ %cond.i64.i, %invoke.cont64.i ], [ %std_v64.sroa.0.42318, %invoke.cont79.loopexit3503 ], [ %std_v64.sroa.0.42318, %for.body.i.i.i.i ] +invoke.cont79: ; preds = %for.body.i.i.i.i, %invoke.cont79.loopexit3528, %invoke.cont64.i, %if.then.i86.i, %invoke.cont35.thread.i + %std_v64.sroa.11.5 = phi ptr [ %add.ptr39116.i, %invoke.cont35.thread.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i84.i, %if.then.i86.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i84.i, %invoke.cont64.i ], [ %add.ptr39.i, %invoke.cont79.loopexit3528 ], [ %add.ptr16.i, %for.body.i.i.i.i ] + %std_v64.sroa.0.5 = phi ptr [ %std_v64.sroa.0.42318, %invoke.cont35.thread.i ], [ %cond.i63.i, %if.then.i86.i ], [ %cond.i63.i, %invoke.cont64.i ], [ %std_v64.sroa.0.42318, %invoke.cont79.loopexit3528 ], [ %std_v64.sroa.0.42318, %for.body.i.i.i.i ] %61 = load i64, ptr %v67, align 8 - %and.i.i.i.i218 = and i64 %61, 1 - %tobool.i.not.i.i.i219 = icmp eq i64 %and.i.i.i.i218, 0 - %62 = load ptr, ptr %data_.i1.i.i1255, align 8 - %cond.i.i.i221 = select i1 %tobool.i.not.i.i.i219, ptr %data_.i1.i.i1255, ptr %62 - %add.ptr85 = getelementptr inbounds i32, ptr %cond.i.i.i221, i64 %pos.03500 - %63 = load i64, ptr %allocated_capacity.i.i.i1256, align 8, !noalias !508 - %.sink.i.i1329 = select i1 %tobool.i.not.i.i.i219, i64 8, i64 %63 - %shr.i.sink.i.i1330 = lshr i64 %61, 1 - %add.i1335 = add nuw nsw i64 %pos.03500, 5 - %add2.i = add nuw i64 %shr.i.sink.i.i1330, 5 - %cmp.i1336 = icmp ugt i64 %add2.i, %.sink.i.i1329 - br i1 %cmp.i1336, label %invoke.cont15.i, label %if.else.i1337 + %and.i.i.i.i219 = and i64 %61, 1 + %tobool.i.not.i.i.i220 = icmp eq i64 %and.i.i.i.i219, 0 + %62 = load ptr, ptr %data_.i1.i.i1257, align 8 + %cond.i.i.i222 = select i1 %tobool.i.not.i.i.i220, ptr %data_.i1.i.i1257, ptr %62 + %add.ptr85 = getelementptr inbounds i32, ptr %cond.i.i.i222, i64 %pos.03525 + %63 = load i64, ptr %allocated_capacity.i.i.i1258, align 8, !noalias !508 + %.sink.i.i1330 = select i1 %tobool.i.not.i.i.i220, i64 8, i64 %63 + %shr.i.sink.i.i1331 = lshr i64 %61, 1 + %add.i1336 = add nuw nsw i64 %pos.03525, 5 + %add2.i = add nuw i64 %shr.i.sink.i.i1331, 5 + %cmp.i1337 = icmp ugt i64 %add2.i, %.sink.i.i1330 + br i1 %cmp.i1337, label %invoke.cont15.i, label %if.else.i1338 invoke.cont15.i: ; preds = %invoke.cont79 - %mul.i.i.i1350 = shl i64 %.sink.i.i1329, 1 - %.sroa.speculated.i.i1351 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1350, i64 %add2.i) - %cmp.i.i.i.i.i1352 = icmp ugt i64 %.sroa.speculated.i.i1351, 2305843009213693951 - br i1 %cmp.i.i.i.i.i1352, label %if.then.i.i.i.i.i1378, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1353 + %mul.i.i.i1351 = shl i64 %.sink.i.i1330, 1 + %.sroa.speculated.i.i1352 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1351, i64 %add2.i) + %cmp.i.i.i.i.i1353 = icmp ugt i64 %.sroa.speculated.i.i1352, 2305843009213693951 + br i1 %cmp.i.i.i.i.i1353, label %if.then.i.i.i.i.i1379, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1354 -if.then.i.i.i.i.i1378: ; preds = %invoke.cont15.i - %cmp2.i.i.i.i.i1379 = icmp ugt i64 %.sroa.speculated.i.i1351, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i1379, label %if.then3.i.i.i.i.i1381, label %if.end.i.i.i.i.i1380 +if.then.i.i.i.i.i1379: ; preds = %invoke.cont15.i + %cmp2.i.i.i.i.i1380 = icmp ugt i64 %.sroa.speculated.i.i1352, 4611686018427387903 + br i1 %cmp2.i.i.i.i.i1380, label %if.then3.i.i.i.i.i1382, label %if.end.i.i.i.i.i1381 -if.then3.i.i.i.i.i1381: ; preds = %if.then.i.i.i.i.i1378 +if.then3.i.i.i.i.i1382: ; preds = %if.then.i.i.i.i.i1379 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1382 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp + to label %.noexc1383 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp -.noexc1382: ; preds = %if.then3.i.i.i.i.i1381 +.noexc1383: ; preds = %if.then3.i.i.i.i.i1382 unreachable -if.end.i.i.i.i.i1380: ; preds = %if.then.i.i.i.i.i1378 +if.end.i.i.i.i.i1381: ; preds = %if.then.i.i.i.i.i1379 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1383 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp + to label %.noexc1384 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp -.noexc1383: ; preds = %if.end.i.i.i.i.i1380 +.noexc1384: ; preds = %if.end.i.i.i.i.i1381 unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1353: ; preds = %invoke.cont15.i - %mul.i.i.i.i.i1354 = shl nuw nsw i64 %.sroa.speculated.i.i1351, 2 - %call5.i.i.i.i29.i1385 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1354) #33 - to label %call5.i.i.i.i29.i.noexc1384 unwind label %lpad68.loopexit.split-lp.loopexit +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1354: ; preds = %invoke.cont15.i + %mul.i.i.i.i.i1355 = shl nuw nsw i64 %.sroa.speculated.i.i1352, 2 + %call5.i.i.i.i29.i1386 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1355) #33 + to label %call5.i.i.i.i29.i.noexc1385 unwind label %lpad68.loopexit.split-lp.loopexit -call5.i.i.i.i29.i.noexc1384: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1353 - %add.ptr.i1355 = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1385, i64 %pos.03500 +call5.i.i.i.i29.i.noexc1385: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1354 + %add.ptr.i1356 = getelementptr inbounds i8, ptr %call5.i.i.i.i29.i1386, i64 %add.ptr.idx.pre-phi br label %for.body.i.i.i -for.body.i.i.i: ; preds = %for.body.i.i.i, %call5.i.i.i.i29.i.noexc1384 - %i.04.i.i.i = phi i64 [ %inc.i.i.i1357, %for.body.i.i.i ], [ 0, %call5.i.i.i.i29.i.noexc1384 ] - %add.ptr.i.i.i1356 = getelementptr inbounds i32, ptr %add.ptr.i1355, i64 %i.04.i.i.i - store i32 9999, ptr %add.ptr.i.i.i1356, align 4 - %inc.i.i.i1357 = add nuw nsw i64 %i.04.i.i.i, 1 - %exitcond.not.i.i.i1358 = icmp eq i64 %inc.i.i.i1357, 5 - br i1 %exitcond.not.i.i.i1358, label %invoke.cont19.i, label %for.body.i.i.i, !llvm.loop !511 +for.body.i.i.i: ; preds = %for.body.i.i.i, %call5.i.i.i.i29.i.noexc1385 + %i.04.i.i.i = phi i64 [ %inc.i.i.i1358, %for.body.i.i.i ], [ 0, %call5.i.i.i.i29.i.noexc1385 ] + %add.ptr.i.i.i1357 = getelementptr inbounds i32, ptr %add.ptr.i1356, i64 %i.04.i.i.i + store i32 9999, ptr %add.ptr.i.i.i1357, align 4 + %inc.i.i.i1358 = add nuw nsw i64 %i.04.i.i.i, 1 + %exitcond.not.i.i.i1359 = icmp eq i64 %inc.i.i.i1358, 5 + br i1 %exitcond.not.i.i.i1359, label %invoke.cont19.i, label %for.body.i.i.i, !llvm.loop !511 invoke.cont19.i: ; preds = %for.body.i.i.i - %cmp6.not.i.i.i1359 = icmp eq i64 %pos.03500, 0 - br i1 %cmp6.not.i.i.i1359, label %invoke.cont21.i, label %for.inc.i.i.i1360 - -for.inc.i.i.i1360: ; preds = %invoke.cont19.i, %for.inc.i.i.i1360 - %move_values.sroa.0.0.i1361 = phi ptr [ %incdec.ptr.i.i.i.i.i1363, %for.inc.i.i.i1360 ], [ %cond.i.i.i221, %invoke.cont19.i ] - %i.07.i.i.i1362 = phi i64 [ %inc.i.i31.i, %for.inc.i.i.i1360 ], [ 0, %invoke.cont19.i ] - %add.ptr.i.i30.i = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1385, i64 %i.07.i.i.i1362 - %64 = load i32, ptr %move_values.sroa.0.0.i1361, align 4 + %cmp6.not.i.i.i1360 = icmp eq i64 %pos.03525, 0 + br i1 %cmp6.not.i.i.i1360, label %invoke.cont21.i, label %for.inc.i.i.i1361 + +for.inc.i.i.i1361: ; preds = %invoke.cont19.i, %for.inc.i.i.i1361 + %move_values.sroa.0.0.i1362 = phi ptr [ %incdec.ptr.i.i.i.i.i1364, %for.inc.i.i.i1361 ], [ %cond.i.i.i222, %invoke.cont19.i ] + %i.07.i.i.i1363 = phi i64 [ %inc.i.i31.i, %for.inc.i.i.i1361 ], [ 0, %invoke.cont19.i ] + %add.ptr.i.i30.i = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1386, i64 %i.07.i.i.i1363 + %64 = load i32, ptr %move_values.sroa.0.0.i1362, align 4 store i32 %64, ptr %add.ptr.i.i30.i, align 4 - %incdec.ptr.i.i.i.i.i1363 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i1361, i64 1 - %inc.i.i31.i = add nuw nsw i64 %i.07.i.i.i1362, 1 - %exitcond.not.i.i32.i = icmp eq i64 %inc.i.i31.i, %pos.03500 - br i1 %exitcond.not.i.i32.i, label %invoke.cont21.i, label %for.inc.i.i.i1360, !llvm.loop !12 - -invoke.cont21.i: ; preds = %for.inc.i.i.i1360, %invoke.cont19.i - %move_values.sroa.0.1.i1364 = phi ptr [ %add.ptr85, %invoke.cont19.i ], [ %incdec.ptr.i.i.i.i.i1363, %for.inc.i.i.i1360 ] - %add.ptr23.i = getelementptr i32, ptr %call5.i.i.i.i29.i1385, i64 %add.i1335 - %sub.i1365 = sub nsw i64 %shr.i.sink.i.i1330, %pos.03500 - %cmp6.not.i.i1366 = icmp eq i64 %shr.i.sink.i.i1330, %pos.03500 - br i1 %cmp6.not.i.i1366, label %invoke.cont31.i, label %for.inc.i.i1367 - -for.inc.i.i1367: ; preds = %invoke.cont21.i, %for.inc.i.i1367 - %move_values.sroa.0.2.i1368 = phi ptr [ %incdec.ptr.i.i.i.i1371, %for.inc.i.i1367 ], [ %move_values.sroa.0.1.i1364, %invoke.cont21.i ] - %i.07.i.i1369 = phi i64 [ %inc.i.i1372, %for.inc.i.i1367 ], [ 0, %invoke.cont21.i ] - %add.ptr.i.i1370 = getelementptr inbounds i32, ptr %add.ptr23.i, i64 %i.07.i.i1369 - %65 = load i32, ptr %move_values.sroa.0.2.i1368, align 4 - store i32 %65, ptr %add.ptr.i.i1370, align 4 - %incdec.ptr.i.i.i.i1371 = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i1368, i64 1 - %inc.i.i1372 = add nuw i64 %i.07.i.i1369, 1 - %exitcond.not.i.i1373 = icmp eq i64 %inc.i.i1372, %sub.i1365 - br i1 %exitcond.not.i.i1373, label %invoke.cont31.i, label %for.inc.i.i1367, !llvm.loop !12 - -invoke.cont31.i: ; preds = %for.inc.i.i1367, %invoke.cont21.i - br i1 %tobool.i.not.i.i.i219, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1375, label %if.then.i.i1374 - -if.then.i.i1374: ; preds = %invoke.cont31.i + %incdec.ptr.i.i.i.i.i1364 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i1362, i64 1 + %inc.i.i31.i = add nuw nsw i64 %i.07.i.i.i1363, 1 + %exitcond.not.i.i32.i = icmp eq i64 %inc.i.i31.i, %pos.03525 + br i1 %exitcond.not.i.i32.i, label %invoke.cont21.i, label %for.inc.i.i.i1361, !llvm.loop !12 + +invoke.cont21.i: ; preds = %for.inc.i.i.i1361, %invoke.cont19.i + %move_values.sroa.0.1.i1365 = phi ptr [ %add.ptr85, %invoke.cont19.i ], [ %incdec.ptr.i.i.i.i.i1364, %for.inc.i.i.i1361 ] + %add.ptr23.i = getelementptr i32, ptr %call5.i.i.i.i29.i1386, i64 %add.i1336 + %sub.i1366 = sub nsw i64 %shr.i.sink.i.i1331, %pos.03525 + %cmp6.not.i.i1367 = icmp eq i64 %shr.i.sink.i.i1331, %pos.03525 + br i1 %cmp6.not.i.i1367, label %invoke.cont31.i, label %for.inc.i.i1368 + +for.inc.i.i1368: ; preds = %invoke.cont21.i, %for.inc.i.i1368 + %move_values.sroa.0.2.i1369 = phi ptr [ %incdec.ptr.i.i.i.i1372, %for.inc.i.i1368 ], [ %move_values.sroa.0.1.i1365, %invoke.cont21.i ] + %i.07.i.i1370 = phi i64 [ %inc.i.i1373, %for.inc.i.i1368 ], [ 0, %invoke.cont21.i ] + %add.ptr.i.i1371 = getelementptr inbounds i32, ptr %add.ptr23.i, i64 %i.07.i.i1370 + %65 = load i32, ptr %move_values.sroa.0.2.i1369, align 4 + store i32 %65, ptr %add.ptr.i.i1371, align 4 + %incdec.ptr.i.i.i.i1372 = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i1369, i64 1 + %inc.i.i1373 = add nuw i64 %i.07.i.i1370, 1 + %exitcond.not.i.i1374 = icmp eq i64 %inc.i.i1373, %sub.i1366 + br i1 %exitcond.not.i.i1374, label %invoke.cont31.i, label %for.inc.i.i1368, !llvm.loop !12 + +invoke.cont31.i: ; preds = %for.inc.i.i1368, %invoke.cont21.i + br i1 %tobool.i.not.i.i.i220, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1376, label %if.then.i.i1375 + +if.then.i.i1375: ; preds = %invoke.cont31.i call void @_ZdlPv(ptr noundef %62) #32 - br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1375 + br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1376 -_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1375: ; preds = %if.then.i.i1374, %invoke.cont31.i - store ptr %call5.i.i.i.i29.i1385, ptr %data_.i1.i.i1255, align 8 - store i64 %.sroa.speculated.i.i1351, ptr %allocated_capacity.i.i.i1256, align 8 - %shl.i.i1376 = shl i64 %add2.i, 1 - %or.i.i1377 = or disjoint i64 %shl.i.i1376, 1 +_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1376: ; preds = %if.then.i.i1375, %invoke.cont31.i + store ptr %call5.i.i.i.i29.i1386, ptr %data_.i1.i.i1257, align 8 + store i64 %.sroa.speculated.i.i1352, ptr %allocated_capacity.i.i.i1258, align 8 + %shl.i.i1377 = shl i64 %add2.i, 1 + %or.i.i1378 = or disjoint i64 %shl.i.i1377, 1 br label %invoke.cont87 -if.else.i1337: ; preds = %invoke.cont79 - %.sroa.speculated.i1338 = call i64 @llvm.umax.i64(i64 %add.i1335, i64 %shr.i.sink.i.i1330) - %add.ptr50.i = getelementptr i32, ptr %cond.i.i.i221, i64 %.sroa.speculated.i1338 - %sub51.i = sub i64 %add2.i, %.sroa.speculated.i1338 - %add.ptr55.i = getelementptr inbounds i32, ptr %cond.i.i.i221, i64 %add.i1335 - %sub56.i = sub nsw i64 %.sroa.speculated.i1338, %add.i1335 +if.else.i1338: ; preds = %invoke.cont79 + %.sroa.speculated.i1339 = call i64 @llvm.umax.i64(i64 %add.i1336, i64 %shr.i.sink.i.i1331) + %add.ptr50.i = getelementptr i32, ptr %cond.i.i.i222, i64 %.sroa.speculated.i1339 + %sub51.i = sub i64 %add2.i, %.sroa.speculated.i1339 + %add.ptr55.i = getelementptr inbounds i32, ptr %cond.i.i.i222, i64 %add.i1336 + %sub56.i = sub nsw i64 %.sroa.speculated.i1339, %add.i1336 %add.ptr60.i = getelementptr inbounds i32, ptr %add.ptr85, i64 %sub51.i %sub62.i = sub i64 5, %sub51.i - %cmp6.not.i.i47.i = icmp eq i64 %pos.03500, %shr.i.sink.i.i1330 + %cmp6.not.i.i47.i = icmp eq i64 %pos.03525, %shr.i.sink.i.i1331 br i1 %cmp6.not.i.i47.i, label %invoke.cont65.i, label %for.inc.i.i50.preheader.i -for.inc.i.i50.preheader.i: ; preds = %if.else.i1337 +for.inc.i.i50.preheader.i: ; preds = %if.else.i1338 %add.ptr45.i = getelementptr i32, ptr %add.ptr50.i, i64 -5 br label %for.inc.i.i50.i for.inc.i.i50.i: ; preds = %for.inc.i.i50.i, %for.inc.i.i50.preheader.i - %move_construction_values.sroa.0.0.i1339 = phi ptr [ %incdec.ptr.i.i.i.i53.i, %for.inc.i.i50.i ], [ %add.ptr45.i, %for.inc.i.i50.preheader.i ] + %move_construction_values.sroa.0.0.i1340 = phi ptr [ %incdec.ptr.i.i.i.i53.i, %for.inc.i.i50.i ], [ %add.ptr45.i, %for.inc.i.i50.preheader.i ] %i.07.i.i51.i = phi i64 [ %inc.i.i54.i, %for.inc.i.i50.i ], [ 0, %for.inc.i.i50.preheader.i ] %add.ptr.i.i52.i = getelementptr inbounds i32, ptr %add.ptr50.i, i64 %i.07.i.i51.i - %66 = load i32, ptr %move_construction_values.sroa.0.0.i1339, align 4 + %66 = load i32, ptr %move_construction_values.sroa.0.0.i1340, align 4 store i32 %66, ptr %add.ptr.i.i52.i, align 4 - %incdec.ptr.i.i.i.i53.i = getelementptr inbounds i32, ptr %move_construction_values.sroa.0.0.i1339, i64 1 + %incdec.ptr.i.i.i.i53.i = getelementptr inbounds i32, ptr %move_construction_values.sroa.0.0.i1340, i64 1 %inc.i.i54.i = add nuw i64 %i.07.i.i51.i, 1 %exitcond.not.i.i55.i = icmp eq i64 %inc.i.i54.i, %sub51.i br i1 %exitcond.not.i.i55.i, label %invoke.cont65.i, label %for.inc.i.i50.i, !llvm.loop !12 -invoke.cont65.i: ; preds = %for.inc.i.i50.i, %if.else.i1337 +invoke.cont65.i: ; preds = %for.inc.i.i50.i, %if.else.i1338 %incdec.ptr107.i = getelementptr inbounds i32, ptr %add.ptr50.i, i64 -1 %cmp73108.i = icmp ult ptr %incdec.ptr107.i, %add.ptr55.i - br i1 %cmp73108.i, label %for.end.i1343, label %if.end.preheader.i1340 + br i1 %cmp73108.i, label %for.end.i1344, label %if.end.preheader.i1341 -if.end.preheader.i1340: ; preds = %invoke.cont65.i +if.end.preheader.i1341: ; preds = %invoke.cont65.i %add.ptr71.i = getelementptr inbounds i32, ptr %add.ptr85, i64 %sub56.i - br label %if.end.i1341 + br label %if.end.i1342 -if.end.i1341: ; preds = %if.end.i1341, %if.end.preheader.i1340 - %incdec.ptr110.i = phi ptr [ %incdec.ptr.i1342, %if.end.i1341 ], [ %incdec.ptr107.i, %if.end.preheader.i1340 ] - %source.0109.i = phi ptr [ %incdec.ptr72.i, %if.end.i1341 ], [ %add.ptr71.i, %if.end.preheader.i1340 ] +if.end.i1342: ; preds = %if.end.i1342, %if.end.preheader.i1341 + %incdec.ptr110.i = phi ptr [ %incdec.ptr.i1343, %if.end.i1342 ], [ %incdec.ptr107.i, %if.end.preheader.i1341 ] + %source.0109.i = phi ptr [ %incdec.ptr72.i, %if.end.i1342 ], [ %add.ptr71.i, %if.end.preheader.i1341 ] %incdec.ptr72.i = getelementptr inbounds i32, ptr %source.0109.i, i64 -1 %67 = load i32, ptr %incdec.ptr72.i, align 4 store i32 %67, ptr %incdec.ptr110.i, align 4 - %incdec.ptr.i1342 = getelementptr inbounds i32, ptr %incdec.ptr110.i, i64 -1 - %cmp73.i = icmp ult ptr %incdec.ptr.i1342, %add.ptr55.i - br i1 %cmp73.i, label %for.end.i1343, label %if.end.i1341, !llvm.loop !512 + %incdec.ptr.i1343 = getelementptr inbounds i32, ptr %incdec.ptr110.i, i64 -1 + %cmp73.i = icmp ult ptr %incdec.ptr.i1343, %add.ptr55.i + br i1 %cmp73.i, label %for.end.i1344, label %if.end.i1342, !llvm.loop !512 -for.end.i1343: ; preds = %if.end.i1341, %invoke.cont65.i - br i1 %cmp6.not.i.i47.i, label %invoke.cont78.i, label %for.body.i.i1345 +for.end.i1344: ; preds = %if.end.i1342, %invoke.cont65.i + br i1 %cmp6.not.i.i47.i, label %invoke.cont78.i, label %for.body.i.i1346 -for.body.i.i1345: ; preds = %for.end.i1343, %for.body.i.i1345 - %i.04.i.i1346 = phi i64 [ %inc.i62.i, %for.body.i.i1345 ], [ 0, %for.end.i1343 ] - %add.ptr.i61.i = getelementptr inbounds i32, ptr %add.ptr85, i64 %i.04.i.i1346 +for.body.i.i1346: ; preds = %for.end.i1344, %for.body.i.i1346 + %i.04.i.i1347 = phi i64 [ %inc.i62.i, %for.body.i.i1346 ], [ 0, %for.end.i1344 ] + %add.ptr.i61.i = getelementptr inbounds i32, ptr %add.ptr85, i64 %i.04.i.i1347 store i32 9999, ptr %add.ptr.i61.i, align 4 - %inc.i62.i = add nuw i64 %i.04.i.i1346, 1 + %inc.i62.i = add nuw i64 %i.04.i.i1347, 1 %exitcond.not.i63.i = icmp eq i64 %inc.i62.i, %sub51.i - br i1 %exitcond.not.i63.i, label %invoke.cont78.i, label %for.body.i.i1345, !llvm.loop !513 + br i1 %exitcond.not.i63.i, label %invoke.cont78.i, label %for.body.i.i1346, !llvm.loop !513 -invoke.cont78.i: ; preds = %for.body.i.i1345, %for.end.i1343 +invoke.cont78.i: ; preds = %for.body.i.i1346, %for.end.i1344 %cmp3.not.i65.i = icmp eq i64 %sub51.i, 5 br i1 %cmp3.not.i65.i, label %invoke.cont84.i, label %for.body.i66.i @@ -23526,91 +23525,89 @@ for.body.i66.i: ; preds = %invoke.cont78.i, %f invoke.cont84.i: ; preds = %for.body.i66.i, %invoke.cont78.i %68 = load i64, ptr %v67, align 8 - %add.i.i1347 = add i64 %68, 10 + %add.i.i1348 = add i64 %68, 10 br label %invoke.cont87 -invoke.cont87: ; preds = %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1375, %invoke.cont84.i - %storemerge.i1348 = phi i64 [ %add.i.i1347, %invoke.cont84.i ], [ %or.i.i1377, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1375 ] - %retval.0.i1349 = phi ptr [ %add.ptr85, %invoke.cont84.i ], [ %add.ptr.i1355, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1375 ] - store i64 %storemerge.i1348, ptr %v67, align 8 - store ptr %retval.0.i1349, ptr %it83, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i224 = ptrtoint ptr %std_v64.sroa.11.5 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i225 = ptrtoint ptr %std_v64.sroa.0.5 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i226 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i224, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i225 - %cmp.i.i.i.i.i.i228 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i226, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i228, label %if.then.i.i.i.i.i.i235, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i229 - -if.then.i.i.i.i.i.i235: ; preds = %invoke.cont87 +invoke.cont87: ; preds = %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1376, %invoke.cont84.i + %storemerge.i1349 = phi i64 [ %add.i.i1348, %invoke.cont84.i ], [ %or.i.i1378, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1376 ] + %retval.0.i1350 = phi ptr [ %add.ptr85, %invoke.cont84.i ], [ %add.ptr.i1356, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1376 ] + store i64 %storemerge.i1349, ptr %v67, align 8 + store ptr %retval.0.i1350, ptr %it83, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i225 = ptrtoint ptr %std_v64.sroa.11.5 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i226 = ptrtoint ptr %std_v64.sroa.0.5 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i227 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i225, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i226 + %cmp.i.i.i.i.i.i228 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i227, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i228, label %if.then.i.i.i.i.i.i236, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i229 + +if.then.i.i.i.i.i.i236: ; preds = %invoke.cont87 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc236 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp + to label %.noexc237 unwind label %lpad68.loopexit.split-lp.loopexit.split-lp -.noexc236: ; preds = %if.then.i.i.i.i.i.i235 +.noexc237: ; preds = %if.then.i.i.i.i.i.i236 unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i229: ; preds = %invoke.cont87 %cmp.not.i.i.i.i.i.i230 = icmp eq ptr %std_v64.sroa.11.5, %std_v64.sroa.0.5 - br i1 %cmp.not.i.i.i.i.i.i230, label %invoke.cont.thread.i256, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231 + br i1 %cmp.not.i.i.i.i.i.i230, label %invoke.cont.thread.i257, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231 if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i229 - %call5.i.i.i.i1.i.i.i.i238 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i226) #33 - to label %cond.true.i.i.i.i.i.i.i247 unwind label %lpad68.loopexit.split-lp.loopexit + %call5.i.i.i.i1.i.i.i.i239 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i227) #33 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i248 unwind label %lpad68.loopexit.split-lp.loopexit -invoke.cont.thread.i256: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i229 - %sub.ptr.div.i.i.i.i19.i257 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i226, 2 - %add.ptr.i.i.i.i.i14.i259 = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i19.i257 +invoke.cont.thread.i257: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i229 + %add.ptr.i.i.i.i.i14.i259 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i227 store i64 0, ptr %ref.tmp90, align 8, !alias.scope !514 store ptr %add.ptr.i.i.i.i.i14.i259, ptr %_M_end_of_storage.i.i.i.i.i.i254, align 8, !alias.scope !514 br label %invoke.cont94 -cond.true.i.i.i.i.i.i.i247: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i238, ptr align 4 %std_v64.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i226, i1 false), !noalias !517 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i248: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i239, ptr align 4 %std_v64.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i227, i1 false), !noalias !517 call void @llvm.experimental.noalias.scope.decl(metadata !514) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp90, i8 0, i64 24, i1 false), !alias.scope !514 - %call5.i.i.i.i2.i6.i.i.i2.i248 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i226) #33 - to label %if.then.i.i.i.i.i250 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i249, !noalias !514 + %call5.i.i.i.i2.i6.i.i.i2.i249 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i227) #33 + to label %if.then.i.i.i.i.i251 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i250, !noalias !514 -if.then.i.i.i.i.i250: ; preds = %cond.true.i.i.i.i.i.i.i247 - %sub.ptr.div.i.i.i.i.i251 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i226, 2 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i248, ptr %ref.tmp90, align 8, !alias.scope !514 - %add.ptr.i.i.i.i.i.i253 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i248, i64 %sub.ptr.div.i.i.i.i.i251 +if.then.i.i.i.i.i251: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i248 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i249, ptr %ref.tmp90, align 8, !alias.scope !514 + %add.ptr.i.i.i.i.i.i253 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i249, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i227 store ptr %add.ptr.i.i.i.i.i.i253, ptr %_M_end_of_storage.i.i.i.i.i.i254, align 8, !alias.scope !514 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i248, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i238, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i226, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i249, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i239, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i227, i1 false) br label %invoke.cont94 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i249: ; preds = %cond.true.i.i.i.i.i.i.i247 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i250: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i248 %69 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i285 + br label %if.then.i.i.i.i286 -invoke.cont94: ; preds = %if.then.i.i.i.i.i250, %invoke.cont.thread.i256 - %storemerge5752 = phi ptr [ %add.ptr.i.i.i.i.i.i253, %if.then.i.i.i.i.i250 ], [ %add.ptr.i.i.i.i.i14.i259, %invoke.cont.thread.i256 ] - %agg.tmp91.sroa.0.24619 = phi ptr [ %call5.i.i.i.i1.i.i.i.i238, %if.then.i.i.i.i.i250 ], [ null, %invoke.cont.thread.i256 ] - store ptr %storemerge5752, ptr %_M_finish.i.i.i.i.i.i252, align 8, !alias.scope !514 +invoke.cont94: ; preds = %if.then.i.i.i.i.i251, %invoke.cont.thread.i257 + %storemerge5764 = phi ptr [ %add.ptr.i.i.i.i.i.i253, %if.then.i.i.i.i.i251 ], [ %add.ptr.i.i.i.i.i14.i259, %invoke.cont.thread.i257 ] + %agg.tmp91.sroa.0.24645 = phi ptr [ %call5.i.i.i.i1.i.i.i.i239, %if.then.i.i.i.i.i251 ], [ null, %invoke.cont.thread.i257 ] + store ptr %storemerge5764, ptr %_M_finish.i.i.i.i.i.i252, align 8, !alias.scope !514 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm8ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar89, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp90, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(40) %v67) to label %invoke.cont96 unwind label %lpad95 invoke.cont96: ; preds = %invoke.cont94 %70 = load ptr, ptr %ref.tmp90, align 8 - %tobool.not.i.i.i.i.i266 = icmp eq ptr %70, null - br i1 %tobool.not.i.i.i.i.i266, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit268, label %if.then.i.i.i.i.i267 + %tobool.not.i.i.i.i.i267 = icmp eq ptr %70, null + br i1 %tobool.not.i.i.i.i.i267, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit269, label %if.then.i.i.i.i.i268 -if.then.i.i.i.i.i267: ; preds = %invoke.cont96 +if.then.i.i.i.i.i268: ; preds = %invoke.cont96 call void @_ZdlPv(ptr noundef nonnull %70) #32 - br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit268 + br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit269 -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit268: ; preds = %invoke.cont96, %if.then.i.i.i.i.i267 - %tobool.not.i.i.i.i269 = icmp eq ptr %agg.tmp91.sroa.0.24619, null - br i1 %tobool.not.i.i.i.i269, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit271, label %if.then.i.i.i.i270 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit269: ; preds = %invoke.cont96, %if.then.i.i.i.i.i268 + %tobool.not.i.i.i.i270 = icmp eq ptr %agg.tmp91.sroa.0.24645, null + br i1 %tobool.not.i.i.i.i270, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit272, label %if.then.i.i.i.i271 -if.then.i.i.i.i270: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit268 - call void @_ZdlPv(ptr noundef nonnull %agg.tmp91.sroa.0.24619) #32 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit271 +if.then.i.i.i.i271: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit269 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp91.sroa.0.24645) #32 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit272 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit271: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit268, %if.then.i.i.i.i270 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit272: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit269, %if.then.i.i.i.i271 %71 = load i8, ptr %gtest_ar89, align 8 %72 = and i8 %71, 1 - %tobool.i272.not = icmp eq i8 %72, 0 - br i1 %tobool.i272.not, label %if.else101, label %if.end114 + %tobool.i273.not = icmp eq i8 %72, 0 + br i1 %tobool.i273.not, label %if.else101, label %if.end114 ehcleanup61: ; preds = %_ZN7testing7MessageD2Ev.exit150, %lpad49 %.pn39.pn = phi { ptr, i32 } [ %.pn39, %_ZN7testing7MessageD2Ev.exit150 ], [ %43, %lpad49 ] @@ -23618,48 +23615,48 @@ ehcleanup61: ; preds = %_ZN7testing7Message br label %ehcleanup62 ehcleanup62: ; preds = %lpad5.loopexit, %lpad5.loopexit.split-lp.loopexit.split-lp, %lpad5.loopexit.split-lp.loopexit, %if.then.i.i.i.i120, %ehcleanup, %ehcleanup61, %ehcleanup39 - %std_v.sroa.0.7 = phi ptr [ %std_v.sroa.0.5, %ehcleanup61 ], [ %std_v.sroa.0.5, %ehcleanup39 ], [ %std_v.sroa.0.5, %ehcleanup ], [ %std_v.sroa.0.5, %if.then.i.i.i.i120 ], [ %std_v.sroa.0.3, %lpad5.loopexit ], [ %std_v.sroa.0.6.ph.ph, %lpad5.loopexit.split-lp.loopexit ], [ %std_v.sroa.0.6.ph.ph2393, %lpad5.loopexit.split-lp.loopexit.split-lp ] - %.pn39.pn.pn = phi { ptr, i32 } [ %.pn39.pn, %ehcleanup61 ], [ %.pn36.pn, %ehcleanup39 ], [ %24, %ehcleanup ], [ %.pn4617, %if.then.i.i.i.i120 ], [ %lpad.loopexit2385, %lpad5.loopexit ], [ %lpad.loopexit2394, %lpad5.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2395, %lpad5.loopexit.split-lp.loopexit.split-lp ] + %std_v.sroa.0.7 = phi ptr [ %std_v.sroa.0.5, %ehcleanup61 ], [ %std_v.sroa.0.5, %ehcleanup39 ], [ %std_v.sroa.0.5, %ehcleanup ], [ %std_v.sroa.0.5, %if.then.i.i.i.i120 ], [ %std_v.sroa.0.3, %lpad5.loopexit ], [ %std_v.sroa.0.6.ph.ph, %lpad5.loopexit.split-lp.loopexit ], [ %std_v.sroa.0.6.ph.ph2418, %lpad5.loopexit.split-lp.loopexit.split-lp ] + %.pn39.pn.pn = phi { ptr, i32 } [ %.pn39.pn, %ehcleanup61 ], [ %.pn36.pn, %ehcleanup39 ], [ %24, %ehcleanup ], [ %.pn4643, %if.then.i.i.i.i120 ], [ %lpad.loopexit2410, %lpad5.loopexit ], [ %lpad.loopexit2419, %lpad5.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2420, %lpad5.loopexit.split-lp.loopexit.split-lp ] %73 = load i64, ptr %v, align 8 - %and.i.i.i.i273 = and i64 %73, 1 - %tobool.i.not.i.i.i274 = icmp eq i64 %and.i.i.i.i273, 0 - br i1 %tobool.i.not.i.i.i274, label %ehcleanup63, label %if.then.i.i.i275 + %and.i.i.i.i274 = and i64 %73, 1 + %tobool.i.not.i.i.i275 = icmp eq i64 %and.i.i.i.i274, 0 + br i1 %tobool.i.not.i.i.i275, label %ehcleanup63, label %if.then.i.i.i276 -if.then.i.i.i275: ; preds = %ehcleanup62 +if.then.i.i.i276: ; preds = %ehcleanup62 %74 = load ptr, ptr %data_.i1.i.i, align 8 call void @_ZdlPv(ptr noundef %74) #32 br label %ehcleanup63 -ehcleanup63: ; preds = %lpad.loopexit2388, %lpad.loopexit.split-lp2389, %if.then.i.i.i275, %ehcleanup62 - %std_v.sroa.0.8 = phi ptr [ %std_v.sroa.0.7, %ehcleanup62 ], [ %std_v.sroa.0.7, %if.then.i.i.i275 ], [ %std_v.sroa.0.2, %lpad.loopexit2388 ], [ %std_v.sroa.0.2, %lpad.loopexit.split-lp2389 ] - %.pn39.pn.pn.pn = phi { ptr, i32 } [ %.pn39.pn.pn, %ehcleanup62 ], [ %.pn39.pn.pn, %if.then.i.i.i275 ], [ %lpad.loopexit2390, %lpad.loopexit2388 ], [ %lpad.loopexit.split-lp2391, %lpad.loopexit.split-lp2389 ] - %tobool.not.i.i.i278 = icmp eq ptr %std_v.sroa.0.8, null - br i1 %tobool.not.i.i.i278, label %eh.resume, label %eh.resume.sink.split +ehcleanup63: ; preds = %lpad.loopexit2413, %lpad.loopexit.split-lp2414, %if.then.i.i.i276, %ehcleanup62 + %std_v.sroa.0.8 = phi ptr [ %std_v.sroa.0.7, %ehcleanup62 ], [ %std_v.sroa.0.7, %if.then.i.i.i276 ], [ %std_v.sroa.0.2, %lpad.loopexit2413 ], [ %std_v.sroa.0.2, %lpad.loopexit.split-lp2414 ] + %.pn39.pn.pn.pn = phi { ptr, i32 } [ %.pn39.pn.pn, %ehcleanup62 ], [ %.pn39.pn.pn, %if.then.i.i.i276 ], [ %lpad.loopexit2415, %lpad.loopexit2413 ], [ %lpad.loopexit.split-lp2416, %lpad.loopexit.split-lp2414 ] + %tobool.not.i.i.i279 = icmp eq ptr %std_v.sroa.0.8, null + br i1 %tobool.not.i.i.i279, label %eh.resume, label %eh.resume.sink.split lpad65.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i188 - %lpad.loopexit2382 = landingpad { ptr, i32 } + %lpad.loopexit2407 = landingpad { ptr, i32 } cleanup br label %ehcleanup139 -lpad65.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i201 - %lpad.loopexit.split-lp2383 = landingpad { ptr, i32 } +lpad65.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i202 + %lpad.loopexit.split-lp2408 = landingpad { ptr, i32 } cleanup br label %ehcleanup139 -lpad68.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1269 - %lpad.loopexit2379 = landingpad { ptr, i32 } +lpad68.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1271 + %lpad.loopexit2404 = landingpad { ptr, i32 } cleanup br label %ehcleanup138 -lpad68.loopexit.split-lp.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1353, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i, %if.end.i.i312, %if.then.i.i313, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231 - %std_v64.sroa.0.6.ph.ph = phi ptr [ %std_v64.sroa.0.5, %if.then.i.i313 ], [ %std_v64.sroa.0.5, %if.end.i.i312 ], [ %std_v64.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231 ], [ %std_v64.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1353 ], [ %std_v64.sroa.0.42318, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i ] - %lpad.loopexit2398 = landingpad { ptr, i32 } +lpad68.loopexit.split-lp.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1354, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i, %if.end.i.i313, %if.then.i.i314, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231 + %std_v64.sroa.0.6.ph.ph = phi ptr [ %std_v64.sroa.0.5, %if.then.i.i314 ], [ %std_v64.sroa.0.5, %if.end.i.i313 ], [ %std_v64.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i231 ], [ %std_v64.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1354 ], [ %std_v64.sroa.0.42318, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i ] + %lpad.loopexit2423 = landingpad { ptr, i32 } cleanup br label %ehcleanup138 -lpad68.loopexit.split-lp.loopexit.split-lp: ; preds = %if.end.i.i.i.i.i1380, %if.then3.i.i.i.i.i1381, %if.then.i.i1321, %if.end.i.i.i.i.i.i1287, %if.then3.i.i.i.i.i.i1288, %if.then.i.i.i.i.i.i235 - %std_v64.sroa.0.6.ph.ph2397 = phi ptr [ %std_v64.sroa.0.42318, %if.then.i.i1321 ], [ %std_v64.sroa.0.5, %if.then3.i.i.i.i.i1381 ], [ %std_v64.sroa.0.5, %if.end.i.i.i.i.i1380 ], [ %std_v64.sroa.0.5, %if.then.i.i.i.i.i.i235 ], [ %std_v64.sroa.0.3, %if.then3.i.i.i.i.i.i1288 ], [ %std_v64.sroa.0.3, %if.end.i.i.i.i.i.i1287 ] - %lpad.loopexit.split-lp2399 = landingpad { ptr, i32 } +lpad68.loopexit.split-lp.loopexit.split-lp: ; preds = %if.end.i.i.i.i.i1381, %if.then3.i.i.i.i.i1382, %if.then.i.i1322, %if.end.i.i.i.i.i.i1289, %if.then3.i.i.i.i.i.i1290, %if.then.i.i.i.i.i.i236 + %std_v64.sroa.0.6.ph.ph2422 = phi ptr [ %std_v64.sroa.0.42318, %if.then.i.i1322 ], [ %std_v64.sroa.0.5, %if.then3.i.i.i.i.i1382 ], [ %std_v64.sroa.0.5, %if.end.i.i.i.i.i1381 ], [ %std_v64.sroa.0.5, %if.then.i.i.i.i.i.i236 ], [ %std_v64.sroa.0.3, %if.then3.i.i.i.i.i.i1290 ], [ %std_v64.sroa.0.3, %if.end.i.i.i.i.i.i1289 ] + %lpad.loopexit.split-lp2424 = landingpad { ptr, i32 } cleanup br label %ehcleanup138 @@ -23667,39 +23664,39 @@ lpad95: ; preds = %invoke.cont94 %75 = landingpad { ptr, i32 } cleanup %76 = load ptr, ptr %ref.tmp90, align 8 - %tobool.not.i.i.i.i.i281 = icmp eq ptr %76, null - br i1 %tobool.not.i.i.i.i.i281, label %ehcleanup98, label %if.then.i.i.i.i.i282 + %tobool.not.i.i.i.i.i282 = icmp eq ptr %76, null + br i1 %tobool.not.i.i.i.i.i282, label %ehcleanup98, label %if.then.i.i.i.i.i283 -if.then.i.i.i.i.i282: ; preds = %lpad95 +if.then.i.i.i.i.i283: ; preds = %lpad95 call void @_ZdlPv(ptr noundef nonnull %76) #32 br label %ehcleanup98 -ehcleanup98: ; preds = %if.then.i.i.i.i.i282, %lpad95 - %tobool.not.i.i.i.i284 = icmp eq ptr %agg.tmp91.sroa.0.24619, null - br i1 %tobool.not.i.i.i.i284, label %ehcleanup138, label %if.then.i.i.i.i285 +ehcleanup98: ; preds = %if.then.i.i.i.i.i283, %lpad95 + %tobool.not.i.i.i.i285 = icmp eq ptr %agg.tmp91.sroa.0.24645, null + br i1 %tobool.not.i.i.i.i285, label %ehcleanup138, label %if.then.i.i.i.i286 -if.then.i.i.i.i285: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i249, %ehcleanup98 - %.pn444626 = phi { ptr, i32 } [ %75, %ehcleanup98 ], [ %69, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i249 ] - %agg.tmp91.sroa.0.246214625 = phi ptr [ %agg.tmp91.sroa.0.24619, %ehcleanup98 ], [ %call5.i.i.i.i1.i.i.i.i238, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i249 ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp91.sroa.0.246214625) #32 +if.then.i.i.i.i286: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i250, %ehcleanup98 + %.pn444652 = phi { ptr, i32 } [ %75, %ehcleanup98 ], [ %69, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i250 ] + %agg.tmp91.sroa.0.246474651 = phi ptr [ %agg.tmp91.sroa.0.24645, %ehcleanup98 ], [ %call5.i.i.i.i1.i.i.i.i239, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i250 ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp91.sroa.0.246474651) #32 br label %ehcleanup138 -if.else101: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit271 +if.else101: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit272 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp102) to label %invoke.cont104 unwind label %lpad103 invoke.cont104: ; preds = %if.else101 - %77 = load ptr, ptr %message_.i.i287, align 8 - %cmp.i.i.not.i.i288 = icmp eq ptr %77, null - br i1 %cmp.i.i.not.i.i288, label %invoke.cont107, label %cond.true.i.i289 + %77 = load ptr, ptr %message_.i.i288, align 8 + %cmp.i.i.not.i.i289 = icmp eq ptr %77, null + br i1 %cmp.i.i.not.i.i289, label %invoke.cont107, label %cond.true.i.i290 -cond.true.i.i289: ; preds = %invoke.cont104 - %call4.i.i290 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %77) #29 +cond.true.i.i290: ; preds = %invoke.cont104 + %call4.i.i291 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %77) #29 br label %invoke.cont107 -invoke.cont107: ; preds = %cond.true.i.i289, %invoke.cont104 - %cond.i.i291 = phi ptr [ %call4.i.i290, %cond.true.i.i289 ], [ @.str.202, %invoke.cont104 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp105, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 510, ptr noundef %cond.i.i291) +invoke.cont107: ; preds = %cond.true.i.i290, %invoke.cont104 + %cond.i.i292 = phi ptr [ %call4.i.i291, %cond.true.i.i290 ], [ @.str.202, %invoke.cont104 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp105, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 510, ptr noundef %cond.i.i292) to label %invoke.cont109 unwind label %lpad106 invoke.cont109: ; preds = %invoke.cont107 @@ -23709,17 +23706,17 @@ invoke.cont109: ; preds = %invoke.cont107 invoke.cont111: ; preds = %invoke.cont109 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp105) #29 %78 = load ptr, ptr %ref.tmp102, align 8 - %cmp.not.i.i293 = icmp eq ptr %78, null - br i1 %cmp.not.i.i293, label %_ZN7testing7MessageD2Ev.exit297, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 + %cmp.not.i.i294 = icmp eq ptr %78, null + br i1 %cmp.not.i.i294, label %_ZN7testing7MessageD2Ev.exit298, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294: ; preds = %invoke.cont111 - %vtable.i.i.i295 = load ptr, ptr %78, align 8 - %vfn.i.i.i296 = getelementptr inbounds ptr, ptr %vtable.i.i.i295, i64 1 - %79 = load ptr, ptr %vfn.i.i.i296, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295: ; preds = %invoke.cont111 + %vtable.i.i.i296 = load ptr, ptr %78, align 8 + %vfn.i.i.i297 = getelementptr inbounds ptr, ptr %vtable.i.i.i296, i64 1 + %79 = load ptr, ptr %vfn.i.i.i297, align 8 call void %79(ptr noundef nonnull align 8 dereferenceable(128) %78) #29 - br label %_ZN7testing7MessageD2Ev.exit297 + br label %_ZN7testing7MessageD2Ev.exit298 -_ZN7testing7MessageD2Ev.exit297: ; preds = %invoke.cont111, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 +_ZN7testing7MessageD2Ev.exit298: ; preds = %invoke.cont111, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 store ptr null, ptr %ref.tmp102, align 8 br label %if.end114 @@ -23742,59 +23739,59 @@ lpad110: ; preds = %invoke.cont109 ehcleanup113: ; preds = %lpad110, %lpad106 %.pn46 = phi { ptr, i32 } [ %82, %lpad110 ], [ %81, %lpad106 ] %83 = load ptr, ptr %ref.tmp102, align 8 - %cmp.not.i.i298 = icmp eq ptr %83, null - br i1 %cmp.not.i.i298, label %_ZN7testing7MessageD2Ev.exit302, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299 + %cmp.not.i.i299 = icmp eq ptr %83, null + br i1 %cmp.not.i.i299, label %_ZN7testing7MessageD2Ev.exit303, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299: ; preds = %ehcleanup113 - %vtable.i.i.i300 = load ptr, ptr %83, align 8 - %vfn.i.i.i301 = getelementptr inbounds ptr, ptr %vtable.i.i.i300, i64 1 - %84 = load ptr, ptr %vfn.i.i.i301, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300: ; preds = %ehcleanup113 + %vtable.i.i.i301 = load ptr, ptr %83, align 8 + %vfn.i.i.i302 = getelementptr inbounds ptr, ptr %vtable.i.i.i301, i64 1 + %84 = load ptr, ptr %vfn.i.i.i302, align 8 call void %84(ptr noundef nonnull align 8 dereferenceable(128) %83) #29 - br label %_ZN7testing7MessageD2Ev.exit302 + br label %_ZN7testing7MessageD2Ev.exit303 -_ZN7testing7MessageD2Ev.exit302: ; preds = %ehcleanup113, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299 +_ZN7testing7MessageD2Ev.exit303: ; preds = %ehcleanup113, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300 store ptr null, ptr %ref.tmp102, align 8 br label %ehcleanup115 -if.end114: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit271, %_ZN7testing7MessageD2Ev.exit297 - %85 = load ptr, ptr %message_.i.i287, align 8 - %cmp.not.i.i304 = icmp eq ptr %85, null - br i1 %cmp.not.i.i304, label %_ZN7testing15AssertionResultD2Ev.exit306, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i305 +if.end114: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit272, %_ZN7testing7MessageD2Ev.exit298 + %85 = load ptr, ptr %message_.i.i288, align 8 + %cmp.not.i.i305 = icmp eq ptr %85, null + br i1 %cmp.not.i.i305, label %_ZN7testing15AssertionResultD2Ev.exit307, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i305: ; preds = %if.end114 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306: ; preds = %if.end114 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #29 call void @_ZdlPv(ptr noundef nonnull %85) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit306 + br label %_ZN7testing15AssertionResultD2Ev.exit307 -_ZN7testing15AssertionResultD2Ev.exit306: ; preds = %if.end114, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i305 - store ptr null, ptr %message_.i.i287, align 8 +_ZN7testing15AssertionResultD2Ev.exit307: ; preds = %if.end114, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i306 + store ptr null, ptr %message_.i.i288, align 8 %86 = load i64, ptr %v67, align 8 - %and.i.i.i.i307 = and i64 %86, 1 - %tobool.i.not.i.i.i308 = icmp eq i64 %and.i.i.i.i307, 0 - %87 = load ptr, ptr %data_.i1.i.i1255, align 8 - %cond.i.i.i310 = select i1 %tobool.i.not.i.i.i308, ptr %data_.i1.i.i1255, ptr %87 - %add.ptr119 = getelementptr inbounds i32, ptr %cond.i.i.i310, i64 %pos.03500 + %and.i.i.i.i308 = and i64 %86, 1 + %tobool.i.not.i.i.i309 = icmp eq i64 %and.i.i.i.i308, 0 + %87 = load ptr, ptr %data_.i1.i.i1257, align 8 + %cond.i.i.i311 = select i1 %tobool.i.not.i.i.i309, ptr %data_.i1.i.i1257, ptr %87 + %add.ptr119 = getelementptr inbounds i32, ptr %cond.i.i.i311, i64 %pos.03525 store ptr %add.ptr119, ptr %ref.tmp117, align 8 %88 = load ptr, ptr %it83, align 8, !noalias !522 - %cmp.i.i311 = icmp eq ptr %88, %add.ptr119 - br i1 %cmp.i.i311, label %if.then.i.i313, label %if.end.i.i312 + %cmp.i.i312 = icmp eq ptr %88, %add.ptr119 + br i1 %cmp.i.i312, label %if.then.i.i314, label %if.end.i.i313 -if.then.i.i313: ; preds = %_ZN7testing15AssertionResultD2Ev.exit306 +if.then.i.i314: ; preds = %_ZN7testing15AssertionResultD2Ev.exit307 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar116) to label %invoke.cont120 unwind label %lpad68.loopexit.split-lp.loopexit -if.end.i.i312: ; preds = %_ZN7testing15AssertionResultD2Ev.exit306 +if.end.i.i313: ; preds = %_ZN7testing15AssertionResultD2Ev.exit307 invoke void @_ZN7testing8internal18CmpHelperEQFailureIPiPKiEENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar116, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.291, ptr noundef nonnull align 8 dereferenceable(8) %it83, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp117) to label %invoke.cont120 unwind label %lpad68.loopexit.split-lp.loopexit -invoke.cont120: ; preds = %if.then.i.i313, %if.end.i.i312 +invoke.cont120: ; preds = %if.then.i.i314, %if.end.i.i313 %89 = load i8, ptr %gtest_ar116, align 8 %90 = and i8 %89, 1 - %tobool.i317.not = icmp eq i8 %90, 0 - br i1 %tobool.i317.not, label %if.else123, label %if.end136 + %tobool.i318.not = icmp eq i8 %90, 0 + br i1 %tobool.i318.not, label %if.else123, label %if.end136 -ehcleanup115: ; preds = %_ZN7testing7MessageD2Ev.exit302, %lpad103 - %.pn46.pn = phi { ptr, i32 } [ %.pn46, %_ZN7testing7MessageD2Ev.exit302 ], [ %80, %lpad103 ] +ehcleanup115: ; preds = %_ZN7testing7MessageD2Ev.exit303, %lpad103 + %.pn46.pn = phi { ptr, i32 } [ %.pn46, %_ZN7testing7MessageD2Ev.exit303 ], [ %80, %lpad103 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar89) #29 br label %ehcleanup138 @@ -23803,17 +23800,17 @@ if.else123: ; preds = %invoke.cont120 to label %invoke.cont126 unwind label %lpad125 invoke.cont126: ; preds = %if.else123 - %91 = load ptr, ptr %message_.i.i318, align 8 - %cmp.i.i.not.i.i319 = icmp eq ptr %91, null - br i1 %cmp.i.i.not.i.i319, label %invoke.cont129, label %cond.true.i.i320 + %91 = load ptr, ptr %message_.i.i319, align 8 + %cmp.i.i.not.i.i320 = icmp eq ptr %91, null + br i1 %cmp.i.i.not.i.i320, label %invoke.cont129, label %cond.true.i.i321 -cond.true.i.i320: ; preds = %invoke.cont126 - %call4.i.i321 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %91) #29 +cond.true.i.i321: ; preds = %invoke.cont126 + %call4.i.i322 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %91) #29 br label %invoke.cont129 -invoke.cont129: ; preds = %cond.true.i.i320, %invoke.cont126 - %cond.i.i322 = phi ptr [ %call4.i.i321, %cond.true.i.i320 ], [ @.str.202, %invoke.cont126 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 511, ptr noundef %cond.i.i322) +invoke.cont129: ; preds = %cond.true.i.i321, %invoke.cont126 + %cond.i.i323 = phi ptr [ %call4.i.i322, %cond.true.i.i321 ], [ @.str.202, %invoke.cont126 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 511, ptr noundef %cond.i.i323) to label %invoke.cont131 unwind label %lpad128 invoke.cont131: ; preds = %invoke.cont129 @@ -23823,17 +23820,17 @@ invoke.cont131: ; preds = %invoke.cont129 invoke.cont133: ; preds = %invoke.cont131 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp127) #29 %92 = load ptr, ptr %ref.tmp124, align 8 - %cmp.not.i.i324 = icmp eq ptr %92, null - br i1 %cmp.not.i.i324, label %_ZN7testing7MessageD2Ev.exit328, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i325 + %cmp.not.i.i325 = icmp eq ptr %92, null + br i1 %cmp.not.i.i325, label %_ZN7testing7MessageD2Ev.exit329, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i326 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i325: ; preds = %invoke.cont133 - %vtable.i.i.i326 = load ptr, ptr %92, align 8 - %vfn.i.i.i327 = getelementptr inbounds ptr, ptr %vtable.i.i.i326, i64 1 - %93 = load ptr, ptr %vfn.i.i.i327, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i326: ; preds = %invoke.cont133 + %vtable.i.i.i327 = load ptr, ptr %92, align 8 + %vfn.i.i.i328 = getelementptr inbounds ptr, ptr %vtable.i.i.i327, i64 1 + %93 = load ptr, ptr %vfn.i.i.i328, align 8 call void %93(ptr noundef nonnull align 8 dereferenceable(128) %92) #29 - br label %_ZN7testing7MessageD2Ev.exit328 + br label %_ZN7testing7MessageD2Ev.exit329 -_ZN7testing7MessageD2Ev.exit328: ; preds = %invoke.cont133, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i325 +_ZN7testing7MessageD2Ev.exit329: ; preds = %invoke.cont133, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i326 store ptr null, ptr %ref.tmp124, align 8 br label %if.end136 @@ -23856,720 +23853,716 @@ lpad132: ; preds = %invoke.cont131 ehcleanup135: ; preds = %lpad132, %lpad128 %.pn49 = phi { ptr, i32 } [ %96, %lpad132 ], [ %95, %lpad128 ] %97 = load ptr, ptr %ref.tmp124, align 8 - %cmp.not.i.i329 = icmp eq ptr %97, null - br i1 %cmp.not.i.i329, label %_ZN7testing7MessageD2Ev.exit333, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i330 + %cmp.not.i.i330 = icmp eq ptr %97, null + br i1 %cmp.not.i.i330, label %_ZN7testing7MessageD2Ev.exit334, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i330: ; preds = %ehcleanup135 - %vtable.i.i.i331 = load ptr, ptr %97, align 8 - %vfn.i.i.i332 = getelementptr inbounds ptr, ptr %vtable.i.i.i331, i64 1 - %98 = load ptr, ptr %vfn.i.i.i332, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331: ; preds = %ehcleanup135 + %vtable.i.i.i332 = load ptr, ptr %97, align 8 + %vfn.i.i.i333 = getelementptr inbounds ptr, ptr %vtable.i.i.i332, i64 1 + %98 = load ptr, ptr %vfn.i.i.i333, align 8 call void %98(ptr noundef nonnull align 8 dereferenceable(128) %97) #29 - br label %_ZN7testing7MessageD2Ev.exit333 + br label %_ZN7testing7MessageD2Ev.exit334 -_ZN7testing7MessageD2Ev.exit333: ; preds = %ehcleanup135, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i330 +_ZN7testing7MessageD2Ev.exit334: ; preds = %ehcleanup135, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331 store ptr null, ptr %ref.tmp124, align 8 br label %ehcleanup137 -if.end136: ; preds = %invoke.cont120, %_ZN7testing7MessageD2Ev.exit328 - %99 = load ptr, ptr %message_.i.i318, align 8 - %cmp.not.i.i335 = icmp eq ptr %99, null - br i1 %cmp.not.i.i335, label %_ZN7testing15AssertionResultD2Ev.exit337, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336 +if.end136: ; preds = %invoke.cont120, %_ZN7testing7MessageD2Ev.exit329 + %99 = load ptr, ptr %message_.i.i319, align 8 + %cmp.not.i.i336 = icmp eq ptr %99, null + br i1 %cmp.not.i.i336, label %_ZN7testing15AssertionResultD2Ev.exit338, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i337 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336: ; preds = %if.end136 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i337: ; preds = %if.end136 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #29 call void @_ZdlPv(ptr noundef nonnull %99) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit337 + br label %_ZN7testing15AssertionResultD2Ev.exit338 -_ZN7testing15AssertionResultD2Ev.exit337: ; preds = %if.end136, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i336 - store ptr null, ptr %message_.i.i318, align 8 +_ZN7testing15AssertionResultD2Ev.exit338: ; preds = %if.end136, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i337 + store ptr null, ptr %message_.i.i319, align 8 %100 = load i64, ptr %v67, align 8 - %and.i.i.i.i338 = and i64 %100, 1 - %tobool.i.not.i.i.i339 = icmp eq i64 %and.i.i.i.i338, 0 - br i1 %tobool.i.not.i.i.i339, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit342, label %if.then.i.i.i340 + %and.i.i.i.i339 = and i64 %100, 1 + %tobool.i.not.i.i.i340 = icmp eq i64 %and.i.i.i.i339, 0 + br i1 %tobool.i.not.i.i.i340, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit343, label %if.then.i.i.i341 -if.then.i.i.i340: ; preds = %_ZN7testing15AssertionResultD2Ev.exit337 - %101 = load ptr, ptr %data_.i1.i.i1255, align 8 +if.then.i.i.i341: ; preds = %_ZN7testing15AssertionResultD2Ev.exit338 + %101 = load ptr, ptr %data_.i1.i.i1257, align 8 call void @_ZdlPv(ptr noundef %101) #32 - br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit342 + br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit343 -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit342: ; preds = %_ZN7testing15AssertionResultD2Ev.exit337, %if.then.i.i.i340 - %tobool.not.i.i.i343 = icmp eq ptr %std_v64.sroa.0.5, null - br i1 %tobool.not.i.i.i343, label %_ZNSt6vectorIiSaIiEED2Ev.exit345, label %if.then.i.i.i344 +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit343: ; preds = %_ZN7testing15AssertionResultD2Ev.exit338, %if.then.i.i.i341 + %tobool.not.i.i.i344 = icmp eq ptr %std_v64.sroa.0.5, null + br i1 %tobool.not.i.i.i344, label %_ZNSt6vectorIiSaIiEED2Ev.exit346, label %if.then.i.i.i345 -if.then.i.i.i344: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit342 +if.then.i.i.i345: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit343 call void @_ZdlPv(ptr noundef nonnull %std_v64.sroa.0.5) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit345 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit346 -_ZNSt6vectorIiSaIiEED2Ev.exit345: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit342, %if.then.i.i.i344 - br i1 %cmp4.not.i, label %invoke.cont142.thread, label %for.body.i351 +_ZNSt6vectorIiSaIiEED2Ev.exit346: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit343, %if.then.i.i.i345 + br i1 %cmp4.not.i, label %invoke.cont142.thread, label %for.body.i352 -invoke.cont142.thread: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit345 +invoke.cont142.thread: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit346 store i64 0, ptr %v143, align 8 br label %invoke.cont145 -for.body.i351: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit345, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357 - %std_v140.sroa.24.2 = phi ptr [ %std_v140.sroa.24.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit345 ] - %std_v140.sroa.0.2 = phi ptr [ %std_v140.sroa.0.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit345 ] - %102 = phi ptr [ %std_v140.sroa.11.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit345 ] - %i.05.i352 = phi i64 [ %inc.i358, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357 ], [ 0, %_ZNSt6vectorIiSaIiEED2Ev.exit345 ] - %conv.i353 = trunc i64 %i.05.i352 to i32 - %cmp.not.i.i.i354 = icmp eq ptr %102, %std_v140.sroa.24.2 - br i1 %cmp.not.i.i.i354, label %if.else.i.i.i360, label %if.then.i.i.i355 - -if.then.i.i.i355: ; preds = %for.body.i351 - store i32 %conv.i353, ptr %102, align 4 - br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357 - -if.else.i.i.i360: ; preds = %for.body.i351 - %sub.ptr.lhs.cast.i.i.i.i.i.i361 = ptrtoint ptr %std_v140.sroa.24.2 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i362 = ptrtoint ptr %std_v140.sroa.0.2 to i64 - %sub.ptr.sub.i.i.i.i.i.i363 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i361, %sub.ptr.rhs.cast.i.i.i.i.i.i362 - %cmp.i.i.i.i.i364 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i363, 9223372036854775804 - br i1 %cmp.i.i.i.i.i364, label %if.then.i.i.i.i.i387, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i365 - -if.then.i.i.i.i.i387: ; preds = %if.else.i.i.i360 +for.body.i352: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit346, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358 + %std_v140.sroa.24.2 = phi ptr [ %std_v140.sroa.24.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit346 ] + %std_v140.sroa.0.2 = phi ptr [ %std_v140.sroa.0.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit346 ] + %102 = phi ptr [ %std_v140.sroa.11.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit346 ] + %i.05.i353 = phi i64 [ %inc.i359, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358 ], [ 0, %_ZNSt6vectorIiSaIiEED2Ev.exit346 ] + %conv.i354 = trunc i64 %i.05.i353 to i32 + %cmp.not.i.i.i355 = icmp eq ptr %102, %std_v140.sroa.24.2 + br i1 %cmp.not.i.i.i355, label %if.else.i.i.i361, label %if.then.i.i.i356 + +if.then.i.i.i356: ; preds = %for.body.i352 + store i32 %conv.i354, ptr %102, align 4 + br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358 + +if.else.i.i.i361: ; preds = %for.body.i352 + %sub.ptr.lhs.cast.i.i.i.i.i.i362 = ptrtoint ptr %std_v140.sroa.24.2 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i363 = ptrtoint ptr %std_v140.sroa.0.2 to i64 + %sub.ptr.sub.i.i.i.i.i.i364 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i362, %sub.ptr.rhs.cast.i.i.i.i.i.i363 + %cmp.i.i.i.i.i365 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i364, 9223372036854775804 + br i1 %cmp.i.i.i.i.i365, label %if.then.i.i.i.i.i389, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i366 + +if.then.i.i.i.i.i389: ; preds = %if.else.i.i.i361 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc388 unwind label %lpad141.loopexit.split-lp - -.noexc388: ; preds = %if.then.i.i.i.i.i387 - unreachable - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i365: ; preds = %if.else.i.i.i360 - %sub.ptr.div.i.i.i.i.i.i366 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i363, 2 - %.sroa.speculated.i.i.i.i.i367 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i366, i64 1) - %add.i.i.i.i.i368 = add i64 %.sroa.speculated.i.i.i.i.i367, %sub.ptr.div.i.i.i.i.i.i366 - %cmp7.i.i.i.i.i369 = icmp ult i64 %add.i.i.i.i.i368, %sub.ptr.div.i.i.i.i.i.i366 - %cmp9.i.i.i.i.i370 = icmp ugt i64 %add.i.i.i.i.i368, 2305843009213693951 - %or.cond.i.i.i.i.i371 = or i1 %cmp7.i.i.i.i.i369, %cmp9.i.i.i.i.i370 - %cond.i.i.i.i.i372 = select i1 %or.cond.i.i.i.i.i371, i64 2305843009213693951, i64 %add.i.i.i.i.i368 - %cmp.not.i.i.i.i.i373 = icmp eq i64 %cond.i.i.i.i.i372, 0 - br i1 %cmp.not.i.i.i.i.i373, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i376, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i374 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i374: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i365 - %mul.i.i.i.i.i.i.i375 = shl nuw nsw i64 %cond.i.i.i.i.i372, 2 - %call5.i.i.i.i.i.i.i390 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i375) #33 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i376 unwind label %lpad141.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i376: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i374, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i365 - %cond.i10.i.i.i.i377 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i365 ], [ %call5.i.i.i.i.i.i.i390, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i374 ] - %add.ptr.i.i.i.i378 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i377, i64 %sub.ptr.div.i.i.i.i.i.i366 - store i32 %conv.i353, ptr %add.ptr.i.i.i.i378, align 4 - %cmp.i.i.i11.i.i.i.i379 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i366, 0 - br i1 %cmp.i.i.i11.i.i.i.i379, label %if.then.i.i.i12.i.i.i.i386, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i380 - -if.then.i.i.i12.i.i.i.i386: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i376 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i377, ptr align 4 %std_v140.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i363, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i380 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i380: ; preds = %if.then.i.i.i12.i.i.i.i386, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i376 - %tobool.not.i.i.i.i.i382 = icmp eq ptr %std_v140.sroa.0.2, null - br i1 %tobool.not.i.i.i.i.i382, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i384, label %if.then.i21.i.i.i.i383 - -if.then.i21.i.i.i.i383: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i380 + to label %.noexc390 unwind label %lpad141.loopexit.split-lp + +.noexc390: ; preds = %if.then.i.i.i.i.i389 + unreachable + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i366: ; preds = %if.else.i.i.i361 + %sub.ptr.div.i.i.i.i.i.i367 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i364, 2 + %.sroa.speculated.i.i.i.i.i368 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i367, i64 1) + %add.i.i.i.i.i369 = add i64 %.sroa.speculated.i.i.i.i.i368, %sub.ptr.div.i.i.i.i.i.i367 + %cmp7.i.i.i.i.i370 = icmp ult i64 %add.i.i.i.i.i369, %sub.ptr.div.i.i.i.i.i.i367 + %cmp9.i.i.i.i.i371 = icmp ugt i64 %add.i.i.i.i.i369, 2305843009213693951 + %or.cond.i.i.i.i.i372 = or i1 %cmp7.i.i.i.i.i370, %cmp9.i.i.i.i.i371 + %cond.i.i.i.i.i373 = select i1 %or.cond.i.i.i.i.i372, i64 2305843009213693951, i64 %add.i.i.i.i.i369 + %cmp.not.i.i.i.i.i374 = icmp eq i64 %cond.i.i.i.i.i373, 0 + br i1 %cmp.not.i.i.i.i.i374, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i377, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i375 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i375: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i366 + %mul.i.i.i.i.i.i.i376 = shl nuw nsw i64 %cond.i.i.i.i.i373, 2 + %call5.i.i.i.i.i.i.i392 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i376) #33 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i377 unwind label %lpad141.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i377: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i375, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i366 + %cond.i10.i.i.i.i378 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i366 ], [ %call5.i.i.i.i.i.i.i392, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i375 ] + %add.ptr.i.i.i.i379 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i378, i64 %sub.ptr.div.i.i.i.i.i.i367 + store i32 %conv.i354, ptr %add.ptr.i.i.i.i379, align 4 + %cmp.i.i.i11.i.i.i.i380 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i364, 0 + br i1 %cmp.i.i.i11.i.i.i.i380, label %if.then.i.i.i12.i.i.i.i388, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i381 + +if.then.i.i.i12.i.i.i.i388: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i377 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i378, ptr align 4 %std_v140.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i364, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i381 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i381: ; preds = %if.then.i.i.i12.i.i.i.i388, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i377 + %add.ptr.i.i.i.i.i.i.i382 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i378, i64 %sub.ptr.sub.i.i.i.i.i.i364 + %tobool.not.i.i.i.i.i384 = icmp eq ptr %std_v140.sroa.0.2, null + br i1 %tobool.not.i.i.i.i.i384, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i386, label %if.then.i20.i.i.i.i385 + +if.then.i20.i.i.i.i385: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i381 call void @_ZdlPv(ptr noundef nonnull %std_v140.sroa.0.2) #32 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i384 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i384: ; preds = %if.then.i21.i.i.i.i383, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i380 - %add.ptr19.i.i.i.i385 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i377, i64 %cond.i.i.i.i.i372 - br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357 - -_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i384, %if.then.i.i.i355 - %std_v140.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i385, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i384 ], [ %std_v140.sroa.24.2, %if.then.i.i.i355 ] - %add.ptr.i.i.i.i378.pn = phi ptr [ %add.ptr.i.i.i.i378, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i384 ], [ %102, %if.then.i.i.i355 ] - %std_v140.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i377, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i384 ], [ %std_v140.sroa.0.2, %if.then.i.i.i355 ] - %std_v140.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i378.pn, i64 1 - %inc.i358 = add nuw nsw i64 %i.05.i352, 1 - %exitcond.not.i359 = icmp eq i64 %inc.i358, %len.03501 - br i1 %exitcond.not.i359, label %invoke.cont142, label %for.body.i351, !llvm.loop !489 - -invoke.cont142: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i357 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i386 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i386: ; preds = %if.then.i20.i.i.i.i385, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i381 + %add.ptr19.i.i.i.i387 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i378, i64 %cond.i.i.i.i.i373 + br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358 + +_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i386, %if.then.i.i.i356 + %std_v140.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i387, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i386 ], [ %std_v140.sroa.24.2, %if.then.i.i.i356 ] + %add.ptr.i.i.i.i.i.i.i382.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i382, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i386 ], [ %102, %if.then.i.i.i356 ] + %std_v140.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i378, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i386 ], [ %std_v140.sroa.0.2, %if.then.i.i.i356 ] + %std_v140.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i382.pn, i64 1 + %inc.i359 = add nuw nsw i64 %i.05.i353, 1 + %exitcond.not.i360 = icmp eq i64 %inc.i359, %len.03526 + br i1 %exitcond.not.i360, label %invoke.cont142, label %for.body.i352, !llvm.loop !489 + +invoke.cont142: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i358 store i64 0, ptr %v143, align 8 - br label %for.body.i394 - -for.body.i394: ; preds = %invoke.cont142, %call.i.i.i.noexc399 - %103 = phi i64 [ %storemerge.i1398, %call.i.i.i.noexc399 ], [ 0, %invoke.cont142 ] - %i.04.i395 = phi i64 [ %inc.i397, %call.i.i.i.noexc399 ], [ 0, %invoke.cont142 ] - %conv.i396 = trunc i64 %i.04.i395 to i32 - %and.i.i.i1386 = and i64 %103, 1 - %tobool.i.not.i.i1387 = icmp eq i64 %and.i.i.i1386, 0 - %104 = load ptr, ptr %data_.i1.i.i1388, align 8 - %105 = load i64, ptr %allocated_capacity.i.i.i1389, align 8, !noalias !11 - %.sink3.i.i1390 = select i1 %tobool.i.not.i.i1387, ptr %data_.i1.i.i1388, ptr %104 - %.sink.i.i1391 = select i1 %tobool.i.not.i.i1387, i64 8, i64 %105 - %shr.i.sink.i.i1392 = lshr i64 %103, 1 - %cmp.not.i1393 = icmp eq i64 %shr.i.sink.i.i1392, %.sink.i.i1391 - br i1 %cmp.not.i1393, label %if.end.i1399, label %if.then.i1394 - -if.then.i1394: ; preds = %for.body.i394 - %add.ptr.i1395 = getelementptr inbounds i32, ptr %.sink3.i.i1390, i64 %shr.i.sink.i.i1392 - store i32 %conv.i396, ptr %add.ptr.i1395, align 4 + br label %for.body.i396 + +for.body.i396: ; preds = %invoke.cont142, %call.i.i.i.noexc401 + %103 = phi i64 [ %storemerge.i1399, %call.i.i.i.noexc401 ], [ 0, %invoke.cont142 ] + %i.04.i397 = phi i64 [ %inc.i399, %call.i.i.i.noexc401 ], [ 0, %invoke.cont142 ] + %conv.i398 = trunc i64 %i.04.i397 to i32 + %and.i.i.i1387 = and i64 %103, 1 + %tobool.i.not.i.i1388 = icmp eq i64 %and.i.i.i1387, 0 + %104 = load ptr, ptr %data_.i1.i.i1389, align 8 + %105 = load i64, ptr %allocated_capacity.i.i.i1390, align 8, !noalias !11 + %.sink3.i.i1391 = select i1 %tobool.i.not.i.i1388, ptr %data_.i1.i.i1389, ptr %104 + %.sink.i.i1392 = select i1 %tobool.i.not.i.i1388, i64 8, i64 %105 + %shr.i.sink.i.i1393 = lshr i64 %103, 1 + %cmp.not.i1394 = icmp eq i64 %shr.i.sink.i.i1393, %.sink.i.i1392 + br i1 %cmp.not.i1394, label %if.end.i1400, label %if.then.i1395 + +if.then.i1395: ; preds = %for.body.i396 + %add.ptr.i1396 = getelementptr inbounds i32, ptr %.sink3.i.i1391, i64 %shr.i.sink.i.i1393 + store i32 %conv.i398, ptr %add.ptr.i1396, align 4 %106 = load i64, ptr %v143, align 8 - br label %call.i.i.i.noexc399 + br label %call.i.i.i.noexc401 -if.end.i1399: ; preds = %for.body.i394 +if.end.i1400: ; preds = %for.body.i396 %107 = shl i64 %105, 1 - %mul.i.i.i1400 = select i1 %tobool.i.not.i.i1387, i64 16, i64 %107 - %cmp.i.i.i.i.i.i1401 = icmp ugt i64 %mul.i.i.i1400, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i1401, label %if.then.i.i.i.i.i.i1418, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1402 + %mul.i.i.i1401 = select i1 %tobool.i.not.i.i1388, i64 16, i64 %107 + %cmp.i.i.i.i.i.i1402 = icmp ugt i64 %mul.i.i.i1401, 2305843009213693951 + br i1 %cmp.i.i.i.i.i.i1402, label %if.then.i.i.i.i.i.i1419, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1403 -if.then.i.i.i.i.i.i1418: ; preds = %if.end.i1399 - %cmp2.i.i.i.i.i.i1419 = icmp ugt i64 %mul.i.i.i1400, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i.i1419, label %if.then3.i.i.i.i.i.i1421, label %if.end.i.i.i.i.i.i1420 +if.then.i.i.i.i.i.i1419: ; preds = %if.end.i1400 + %cmp2.i.i.i.i.i.i1420 = icmp ugt i64 %mul.i.i.i1401, 4611686018427387903 + br i1 %cmp2.i.i.i.i.i.i1420, label %if.then3.i.i.i.i.i.i1422, label %if.end.i.i.i.i.i.i1421 -if.then3.i.i.i.i.i.i1421: ; preds = %if.then.i.i.i.i.i.i1418 +if.then3.i.i.i.i.i.i1422: ; preds = %if.then.i.i.i.i.i.i1419 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1422 unwind label %lpad144.loopexit.split-lp + to label %.noexc1423 unwind label %lpad144.loopexit.split-lp -.noexc1422: ; preds = %if.then3.i.i.i.i.i.i1421 +.noexc1423: ; preds = %if.then3.i.i.i.i.i.i1422 unreachable -if.end.i.i.i.i.i.i1420: ; preds = %if.then.i.i.i.i.i.i1418 +if.end.i.i.i.i.i.i1421: ; preds = %if.then.i.i.i.i.i.i1419 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1423 unwind label %lpad144.loopexit.split-lp + to label %.noexc1424 unwind label %lpad144.loopexit.split-lp -.noexc1423: ; preds = %if.end.i.i.i.i.i.i1420 +.noexc1424: ; preds = %if.end.i.i.i.i.i.i1421 unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1402: ; preds = %if.end.i1399 - %mul.i.i.i.i.i.i1403 = shl nuw nsw i64 %mul.i.i.i1400, 2 - %call5.i.i.i.i5.i.i1425 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i1403) #33 - to label %call5.i.i.i.i5.i.i.noexc1424 unwind label %lpad144.loopexit +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1403: ; preds = %if.end.i1400 + %mul.i.i.i.i.i.i1404 = shl nuw nsw i64 %mul.i.i.i1401, 2 + %call5.i.i.i.i5.i.i1426 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i1404) #33 + to label %call5.i.i.i.i5.i.i.noexc1425 unwind label %lpad144.loopexit -call5.i.i.i.i5.i.i.noexc1424: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1402 - %add.ptr.i.i1404 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1425, i64 %.sink.i.i1391 - store i32 %conv.i396, ptr %add.ptr.i.i1404, align 4 - %cmp6.not.i.i.i1405 = icmp ult i64 %103, 2 - br i1 %cmp6.not.i.i.i1405, label %invoke.cont21.i.i1413, label %for.inc.i.i.i1406 +call5.i.i.i.i5.i.i.noexc1425: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1403 + %add.ptr.i.i1405 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1426, i64 %.sink.i.i1392 + store i32 %conv.i398, ptr %add.ptr.i.i1405, align 4 + %cmp6.not.i.i.i1406 = icmp ult i64 %103, 2 + br i1 %cmp6.not.i.i.i1406, label %invoke.cont21.i.i1414, label %for.inc.i.i.i1407 -for.inc.i.i.i1406: ; preds = %call5.i.i.i.i5.i.i.noexc1424, %for.inc.i.i.i1406 - %move_values.sroa.0.0.i.i1407 = phi ptr [ %incdec.ptr.i.i.i.i.i1410, %for.inc.i.i.i1406 ], [ %.sink3.i.i1390, %call5.i.i.i.i5.i.i.noexc1424 ] - %i.07.i.i.i1408 = phi i64 [ %inc.i.i.i1411, %for.inc.i.i.i1406 ], [ 0, %call5.i.i.i.i5.i.i.noexc1424 ] - %add.ptr.i.i.i1409 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1425, i64 %i.07.i.i.i1408 - %108 = load i32, ptr %move_values.sroa.0.0.i.i1407, align 4 - store i32 %108, ptr %add.ptr.i.i.i1409, align 4 - %incdec.ptr.i.i.i.i.i1410 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i1407, i64 1 - %inc.i.i.i1411 = add nuw nsw i64 %i.07.i.i.i1408, 1 - %exitcond.not.i.i.i1412 = icmp eq i64 %inc.i.i.i1411, %.sink.i.i1391 - br i1 %exitcond.not.i.i.i1412, label %invoke.cont21.i.i1413, label %for.inc.i.i.i1406, !llvm.loop !12 +for.inc.i.i.i1407: ; preds = %call5.i.i.i.i5.i.i.noexc1425, %for.inc.i.i.i1407 + %move_values.sroa.0.0.i.i1408 = phi ptr [ %incdec.ptr.i.i.i.i.i1411, %for.inc.i.i.i1407 ], [ %.sink3.i.i1391, %call5.i.i.i.i5.i.i.noexc1425 ] + %i.07.i.i.i1409 = phi i64 [ %inc.i.i.i1412, %for.inc.i.i.i1407 ], [ 0, %call5.i.i.i.i5.i.i.noexc1425 ] + %add.ptr.i.i.i1410 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1426, i64 %i.07.i.i.i1409 + %108 = load i32, ptr %move_values.sroa.0.0.i.i1408, align 4 + store i32 %108, ptr %add.ptr.i.i.i1410, align 4 + %incdec.ptr.i.i.i.i.i1411 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i1408, i64 1 + %inc.i.i.i1412 = add nuw nsw i64 %i.07.i.i.i1409, 1 + %exitcond.not.i.i.i1413 = icmp eq i64 %inc.i.i.i1412, %.sink.i.i1392 + br i1 %exitcond.not.i.i.i1413, label %invoke.cont21.i.i1414, label %for.inc.i.i.i1407, !llvm.loop !12 -invoke.cont21.i.i1413: ; preds = %for.inc.i.i.i1406, %call5.i.i.i.i5.i.i.noexc1424 - br i1 %tobool.i.not.i.i1387, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1416, label %if.then.i.i.i1414 +invoke.cont21.i.i1414: ; preds = %for.inc.i.i.i1407, %call5.i.i.i.i5.i.i.noexc1425 + br i1 %tobool.i.not.i.i1388, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1417, label %if.then.i.i.i1415 -if.then.i.i.i1414: ; preds = %invoke.cont21.i.i1413 +if.then.i.i.i1415: ; preds = %invoke.cont21.i.i1414 call void @_ZdlPv(ptr noundef %104) #32 - %.pre.i.i1415 = load i64, ptr %v143, align 8 - br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1416 - -_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1416: ; preds = %if.then.i.i.i1414, %invoke.cont21.i.i1413 - %109 = phi i64 [ %.pre.i.i1415, %if.then.i.i.i1414 ], [ %103, %invoke.cont21.i.i1413 ] - store ptr %call5.i.i.i.i5.i.i1425, ptr %data_.i1.i.i1388, align 8 - store i64 %mul.i.i.i1400, ptr %allocated_capacity.i.i.i1389, align 8 - %or.i.i.i1417 = or i64 %109, 1 - br label %call.i.i.i.noexc399 - -call.i.i.i.noexc399: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1416, %if.then.i1394 - %storemerge.in.i1396 = phi i64 [ %106, %if.then.i1394 ], [ %or.i.i.i1417, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1416 ] - %storemerge.i1398 = add i64 %storemerge.in.i1396, 2 - store i64 %storemerge.i1398, ptr %v143, align 8 - %inc.i397 = add nuw nsw i64 %i.04.i395, 1 - %exitcond.not.i398 = icmp eq i64 %inc.i397, %len.03501 - br i1 %exitcond.not.i398, label %invoke.cont145, label %for.body.i394, !llvm.loop !13 - -invoke.cont145: ; preds = %call.i.i.i.noexc399, %invoke.cont142.thread - %std_v140.sroa.0.42324 = phi ptr [ null, %invoke.cont142.thread ], [ %std_v140.sroa.0.3, %call.i.i.i.noexc399 ] - %std_v140.sroa.11.42323 = phi ptr [ null, %invoke.cont142.thread ], [ %std_v140.sroa.11.3, %call.i.i.i.noexc399 ] - %std_v140.sroa.24.42322 = phi ptr [ null, %invoke.cont142.thread ], [ %std_v140.sroa.24.3, %call.i.i.i.noexc399 ] + %.pre.i.i1416 = load i64, ptr %v143, align 8 + br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1417 + +_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1417: ; preds = %if.then.i.i.i1415, %invoke.cont21.i.i1414 + %109 = phi i64 [ %.pre.i.i1416, %if.then.i.i.i1415 ], [ %103, %invoke.cont21.i.i1414 ] + store ptr %call5.i.i.i.i5.i.i1426, ptr %data_.i1.i.i1389, align 8 + store i64 %mul.i.i.i1401, ptr %allocated_capacity.i.i.i1390, align 8 + %or.i.i.i1418 = or i64 %109, 1 + br label %call.i.i.i.noexc401 + +call.i.i.i.noexc401: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1417, %if.then.i1395 + %storemerge.in.i1397 = phi i64 [ %106, %if.then.i1395 ], [ %or.i.i.i1418, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1417 ] + %storemerge.i1399 = add i64 %storemerge.in.i1397, 2 + store i64 %storemerge.i1399, ptr %v143, align 8 + %inc.i399 = add nuw nsw i64 %i.04.i397, 1 + %exitcond.not.i400 = icmp eq i64 %inc.i399, %len.03526 + br i1 %exitcond.not.i400, label %invoke.cont145, label %for.body.i396, !llvm.loop !13 + +invoke.cont145: ; preds = %call.i.i.i.noexc401, %invoke.cont142.thread + %std_v140.sroa.0.42324 = phi ptr [ null, %invoke.cont142.thread ], [ %std_v140.sroa.0.3, %call.i.i.i.noexc401 ] + %std_v140.sroa.11.42323 = phi ptr [ null, %invoke.cont142.thread ], [ %std_v140.sroa.11.3, %call.i.i.i.noexc401 ] + %std_v140.sroa.24.42322 = phi ptr [ null, %invoke.cont142.thread ], [ %std_v140.sroa.24.3, %call.i.i.i.noexc401 ] %call5.i.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 - to label %if.then.i1428 unwind label %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i + to label %if.then.i1429 unwind label %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i _ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i: ; preds = %invoke.cont145 %110 = landingpad { ptr, i32 } cleanup br label %ehcleanup237 -if.then.i1428: ; preds = %invoke.cont145 +if.then.i1429: ; preds = %invoke.cont145 store i32 9999, ptr %call5.i.i.i.i2.i, align 4 %ref.tmp147.sroa.2.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 4 store i32 8888, ptr %ref.tmp147.sroa.2.0.call5.i.i.i.i2.i.sroa_idx, align 4 %ref.tmp147.sroa.3.0.call5.i.i.i.i2.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 store i32 7777, ptr %ref.tmp147.sroa.3.0.call5.i.i.i.i2.i.sroa_idx, align 4 - %add.ptr.i405 = getelementptr inbounds i32, ptr %std_v140.sroa.0.42324, i64 %pos.03500 - %sub.ptr.lhs.cast.i.i406 = ptrtoint ptr %add.ptr.i405 to i64 - %sub.ptr.lhs.cast.i1435 = ptrtoint ptr %std_v140.sroa.24.42322 to i64 - %sub.ptr.rhs.cast.i1436 = ptrtoint ptr %std_v140.sroa.11.42323 to i64 - %sub.ptr.sub.i1437 = sub i64 %sub.ptr.lhs.cast.i1435, %sub.ptr.rhs.cast.i1436 - %cmp.not.i1439 = icmp ult i64 %sub.ptr.sub.i1437, 12 - br i1 %cmp.not.i1439, label %if.else68.i, label %if.then9.i1440 - -if.then9.i1440: ; preds = %if.then.i1428 - %sub.ptr.sub.i.i1442 = sub i64 %sub.ptr.rhs.cast.i1436, %sub.ptr.lhs.cast.i.i406 - %sub.ptr.div.i.i1443 = ashr exact i64 %sub.ptr.sub.i.i1442, 2 - %cmp15.i = icmp ugt i64 %sub.ptr.div.i.i1443, 3 + %add.ptr.i407 = getelementptr inbounds i32, ptr %std_v140.sroa.0.42324, i64 %pos.03525 + %sub.ptr.lhs.cast.i.i408 = ptrtoint ptr %add.ptr.i407 to i64 + %sub.ptr.lhs.cast.i1436 = ptrtoint ptr %std_v140.sroa.24.42322 to i64 + %sub.ptr.rhs.cast.i1437 = ptrtoint ptr %std_v140.sroa.11.42323 to i64 + %sub.ptr.sub.i1438 = sub i64 %sub.ptr.lhs.cast.i1436, %sub.ptr.rhs.cast.i1437 + %cmp.not.i1440 = icmp ult i64 %sub.ptr.sub.i1438, 12 + br i1 %cmp.not.i1440, label %if.else68.i, label %if.then9.i1441 + +if.then9.i1441: ; preds = %if.then.i1429 + %sub.ptr.sub.i.i1443 = sub i64 %sub.ptr.rhs.cast.i1437, %sub.ptr.lhs.cast.i.i408 + %sub.ptr.div.i.i1444 = ashr exact i64 %sub.ptr.sub.i.i1443, 2 + %cmp15.i = icmp ugt i64 %sub.ptr.div.i.i1444, 3 br i1 %cmp15.i, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i, label %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEmEvRT_T0_.exit.i -_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i: ; preds = %if.then9.i1440 - %add.ptr.i1452 = getelementptr inbounds i32, ptr %std_v140.sroa.11.42323, i64 -3 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %std_v140.sroa.11.42323, ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i1452, i64 12, i1 false) - %add.ptr27.i = getelementptr inbounds i32, ptr %std_v140.sroa.11.42323, i64 3 - %tobool.not.i.i.i.i.i.i1453 = icmp eq ptr %add.ptr.i1452, %add.ptr.i405 - br i1 %tobool.not.i.i.i.i.i.i1453, label %if.then.i.i.i.i.i30.i, label %if.then.i.i.i.i.i.i1454 - -if.then.i.i.i.i.i.i1454: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1455 = ptrtoint ptr %add.ptr.i1452 to i64 - %sub.ptr.sub.i.i.i.i.i.i1456 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1455, %sub.ptr.lhs.cast.i.i406 - %sub.ptr.div.i.i.i.i.i.i1457 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1456, 2 - %.pre.i.i.i.i.i.i1458 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i1457 - %add.ptr.i.i.i.i.i.i1459 = getelementptr inbounds i32, ptr %std_v140.sroa.11.42323, i64 %.pre.i.i.i.i.i.i1458 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i1459, ptr align 4 %add.ptr.i405, i64 %sub.ptr.sub.i.i.i.i.i.i1456, i1 false) +_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i: ; preds = %if.then9.i1441 + %add.ptr.i1455 = getelementptr inbounds i32, ptr %std_v140.sroa.11.42323, i64 -3 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %std_v140.sroa.11.42323, ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i1455, i64 12, i1 false) + %add.ptr27.i = getelementptr inbounds i8, ptr %std_v140.sroa.11.42323, i64 12 + %tobool.not.i.i.i.i.i.i1456 = icmp eq ptr %add.ptr.i1455, %add.ptr.i407 + br i1 %tobool.not.i.i.i.i.i.i1456, label %if.then.i.i.i.i.i30.i, label %if.then.i.i.i.i.i.i1457 + +if.then.i.i.i.i.i.i1457: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1458 = ptrtoint ptr %add.ptr.i1455 to i64 + %sub.ptr.sub.i.i.i.i.i.i1459 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1458, %sub.ptr.lhs.cast.i.i408 + %sub.ptr.div.i.i.i.i.i.i1460 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1459, 2 + %.pre.i.i.i.i.i.i1461 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i1460 + %add.ptr.i.i.i.i.i.i1462 = getelementptr inbounds i32, ptr %std_v140.sroa.11.42323, i64 %.pre.i.i.i.i.i.i1461 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i1462, ptr align 4 %add.ptr.i407, i64 %sub.ptr.sub.i.i.i.i.i.i1459, i1 false) br label %if.then.i.i.i.i.i30.i -if.then.i.i.i.i.i30.i: ; preds = %if.then.i.i.i.i.i.i1454, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i - call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i405, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) +if.then.i.i.i.i.i30.i: ; preds = %if.then.i.i.i.i.i.i1457, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i + call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i407, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) br label %if.then.i -_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEmEvRT_T0_.exit.i: ; preds = %if.then9.i1440 - %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i1442, 12 +_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEmEvRT_T0_.exit.i: ; preds = %if.then9.i1441 + %tobool.not.i.i.i.i.i.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i1443, 12 br i1 %tobool.not.i.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E.exit.i, label %if.then.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEmEvRT_T0_.exit.i - %incdec.ptr.i.i.i.i1448 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i, i64 %sub.ptr.div.i.i1443 - %gepdiff = sub nsw i64 12, %sub.ptr.sub.i.i1442 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %std_v140.sroa.11.42323, ptr nonnull align 4 %incdec.ptr.i.i.i.i1448, i64 %gepdiff, i1 false) + %add.ptr.i.i.i.i1449 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 %sub.ptr.sub.i.i1443 + %gepdiff = sub nsw i64 12, %sub.ptr.sub.i.i1443 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %std_v140.sroa.11.42323, ptr nonnull align 4 %add.ptr.i.i.i.i1449, i64 %gepdiff, i1 false) br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E.exit.i _ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E.exit.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEmEvRT_T0_.exit.i - %.sink.i4630 = phi i64 [ %sub.ptr.div.i.i1443, %if.then.i.i.i.i.i.i.i.i.i ], [ 3, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEmEvRT_T0_.exit.i ] - %sub.i1450 = xor i64 %sub.ptr.div.i.i1443, 3 - %add.ptr50.i1451 = getelementptr inbounds i32, ptr %std_v140.sroa.11.42323, i64 %sub.i1450 - %tobool.not.i.i.i.i.i.i.i.i.i36.i = icmp eq ptr %std_v140.sroa.11.42323, %add.ptr.i405 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i36.i, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit40.i, label %if.then.i.i.i.i.i.i.i.i.i37.i - -if.then.i.i.i.i.i.i.i.i.i37.i: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E.exit.i - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr50.i1451, ptr align 4 %add.ptr.i405, i64 %sub.ptr.sub.i.i1442, i1 false) - br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit40.i - -_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit40.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i37.i, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E.exit.i - %add.ptr58.i = getelementptr inbounds i32, ptr %add.ptr50.i1451, i64 %sub.ptr.div.i.i1443 - %tobool.not.i.i.i.i.i44.i = icmp eq i64 %.sink.i4630, 0 - br i1 %tobool.not.i.i.i.i.i44.i, label %if.then.i, label %if.then.i.i.i.i.i45.i - -if.then.i.i.i.i.i45.i: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit40.i - %incdec.ptr.i.i.i.idx.i = shl nuw nsw i64 %.sink.i4630, 2 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i405, ptr nonnull align 4 %call5.i.i.i.i2.i, i64 %incdec.ptr.i.i.i.idx.i, i1 false) + %sub.i1451 = xor i64 %sub.ptr.div.i.i1444, 3 + %add.ptr50.i1452 = getelementptr inbounds i32, ptr %std_v140.sroa.11.42323, i64 %sub.i1451 + %tobool.not.i.i.i.i.i.i.i.i.i35.i = icmp eq ptr %std_v140.sroa.11.42323, %add.ptr.i407 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i35.i, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit38.i, label %if.then.i.i.i.i.i.i.i.i.i36.i + +if.then.i.i.i.i.i.i.i.i.i36.i: ; preds = %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E.exit.i + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr50.i1452, ptr align 4 %add.ptr.i407, i64 %sub.ptr.sub.i.i1443, i1 false) + br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit38.i + +_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit38.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i36.i, %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEPiiET0_T_SA_S9_RSaIT1_E.exit.i + %add.ptr58.i = getelementptr inbounds i8, ptr %add.ptr50.i1452, i64 %sub.ptr.sub.i.i1443 + %tobool.not.i.i.i.i.i42.i = icmp eq ptr %std_v140.sroa.11.42323, %add.ptr.i407 + br i1 %tobool.not.i.i.i.i.i42.i, label %if.then.i, label %if.then.i.i.i.i.i43.i + +if.then.i.i.i.i.i43.i: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit38.i + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i407, ptr nonnull align 4 %call5.i.i.i.i2.i, i64 %sub.ptr.sub.i.i1443, i1 false) br label %if.then.i -if.else68.i: ; preds = %if.then.i1428 - %sub.ptr.rhs.cast.i.i407 = ptrtoint ptr %std_v140.sroa.0.42324 to i64 - %sub.ptr.sub.i.i.i1461 = sub i64 %sub.ptr.rhs.cast.i1436, %sub.ptr.rhs.cast.i.i407 - %sub.ptr.div.i.i.i1462 = ashr exact i64 %sub.ptr.sub.i.i.i1461, 2 - %111 = add nsw i64 %sub.ptr.div.i.i.i1462, -2305843009213693949 - %cmp.i49.i = icmp ult i64 %111, 3 - br i1 %cmp.i49.i, label %if.then.i.i1476, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1464 +if.else68.i: ; preds = %if.then.i1429 + %sub.ptr.rhs.cast.i.i409 = ptrtoint ptr %std_v140.sroa.0.42324 to i64 + %sub.ptr.sub.i.i.i1464 = sub i64 %sub.ptr.rhs.cast.i1437, %sub.ptr.rhs.cast.i.i409 + %sub.ptr.div.i.i.i1465 = ashr exact i64 %sub.ptr.sub.i.i.i1464, 2 + %111 = add nsw i64 %sub.ptr.div.i.i.i1465, -2305843009213693949 + %cmp.i46.i = icmp ult i64 %111, 3 + br i1 %cmp.i46.i, label %if.then.i.i1479, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1467 -if.then.i.i1476: ; preds = %if.else68.i +if.then.i.i1479: ; preds = %if.else68.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.310) #31 - to label %.noexc1477 unwind label %lpad169.loopexit.split-lp + to label %.noexc1480 unwind label %lpad169.loopexit.split-lp -.noexc1477: ; preds = %if.then.i.i1476 +.noexc1480: ; preds = %if.then.i.i1479 unreachable -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1464: ; preds = %if.else68.i - %.sroa.speculated.i.i1465 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i1462, i64 3) - %add.i.i1466 = add nsw i64 %.sroa.speculated.i.i1465, %sub.ptr.div.i.i.i1462 - %cmp7.i.i1467 = icmp ult i64 %add.i.i1466, %sub.ptr.div.i.i.i1462 - %cmp9.i.i1468 = icmp ugt i64 %add.i.i1466, 2305843009213693951 - %or.cond.i.i1469 = or i1 %cmp7.i.i1467, %cmp9.i.i1468 - %cond.i.i1470 = select i1 %or.cond.i.i1469, i64 2305843009213693951, i64 %add.i.i1466 - %cmp.not.i.i1471 = icmp eq i64 %cond.i.i1470, 0 - br i1 %cmp.not.i.i1471, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1472 +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1467: ; preds = %if.else68.i + %.sroa.speculated.i.i1468 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i1465, i64 3) + %add.i.i1469 = add nsw i64 %.sroa.speculated.i.i1468, %sub.ptr.div.i.i.i1465 + %cmp7.i.i1470 = icmp ult i64 %add.i.i1469, %sub.ptr.div.i.i.i1465 + %cmp9.i.i1471 = icmp ugt i64 %add.i.i1469, 2305843009213693951 + %or.cond.i.i1472 = or i1 %cmp7.i.i1470, %cmp9.i.i1471 + %cond.i.i1473 = select i1 %or.cond.i.i1472, i64 2305843009213693951, i64 %add.i.i1469 + %cmp.not.i.i1474 = icmp eq i64 %cond.i.i1473, 0 + br i1 %cmp.not.i.i1474, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1475 -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1472: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1464 - %mul.i.i.i.i1473 = shl nuw nsw i64 %cond.i.i1470, 2 - %call5.i.i.i.i1479 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i1473) #33 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1475: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1467 + %mul.i.i.i.i1476 = shl nuw nsw i64 %cond.i.i1473, 2 + %call5.i.i.i.i1482 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i1476) #33 to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i unwind label %lpad169.loopexit -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1472, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1464 - %cond.i50.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1464 ], [ %call5.i.i.i.i1479, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1472 ] - %tobool.not.i.i.i.i.i.i.i.i.i54.i = icmp eq i64 %pos.03500, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i54.i, label %invoke.cont83.i, label %if.then.i.i.i.i.i.i.i.i.i55.i +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1475, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1467 + %cond.i47.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1467 ], [ %call5.i.i.i.i1482, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1475 ] + %tobool.not.i.i.i.i.i.i.i.i.i51.i = icmp eq i64 %pos.03525, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i51.i, label %invoke.cont83.i, label %if.then.i.i.i.i.i.i.i.i.i52.i -if.then.i.i.i.i.i.i.i.i.i55.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i - call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i50.i, ptr align 4 %std_v140.sroa.0.42324, i64 %add.ptr.i216.idx, i1 false) +if.then.i.i.i.i.i.i.i.i.i52.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i + call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i47.i, ptr align 4 %std_v140.sroa.0.42324, i64 %add.ptr.idx.pre-phi, i1 false) br label %invoke.cont83.i -invoke.cont83.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i55.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i - %add.ptr.i.i.i.i.i.i.i.i.i57.i = getelementptr inbounds i32, ptr %cond.i50.i, i64 %pos.03500 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i.i.i.i.i.i.i.i.i57.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) - %add.ptr.i.i.i.i.i.i.i.i64.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i57.i, i64 3 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i68.i = sub i64 %sub.ptr.rhs.cast.i1436, %sub.ptr.lhs.cast.i.i406 - %tobool.not.i.i.i.i.i.i.i.i.i69.i = icmp eq ptr %std_v140.sroa.11.42323, %add.ptr.i405 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i69.i, label %invoke.cont87.i, label %if.then.i.i.i.i.i.i.i.i.i70.i +invoke.cont83.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i52.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i + %add.ptr.i.i.i.i.i.i.i.i.i53.i = getelementptr inbounds i8, ptr %cond.i47.i, i64 %add.ptr.idx.pre-phi + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i.i.i.i.i.i.i.i.i53.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) + %add.ptr.i.i.i.i.i.i.i.i59.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i53.i, i64 12 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i63.i = sub i64 %sub.ptr.rhs.cast.i1437, %sub.ptr.lhs.cast.i.i408 + %tobool.not.i.i.i.i.i.i.i.i.i64.i = icmp eq ptr %std_v140.sroa.11.42323, %add.ptr.i407 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i64.i, label %invoke.cont87.i, label %if.then.i.i.i.i.i.i.i.i.i65.i -if.then.i.i.i.i.i.i.i.i.i70.i: ; preds = %invoke.cont83.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i64.i, ptr align 4 %add.ptr.i405, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i68.i, i1 false) +if.then.i.i.i.i.i.i.i.i.i65.i: ; preds = %invoke.cont83.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i59.i, ptr align 4 %add.ptr.i407, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i63.i, i1 false) br label %invoke.cont87.i -invoke.cont87.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i70.i, %invoke.cont83.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i71.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i68.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i72.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i64.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i71.i - %tobool.not.i.i1474 = icmp eq ptr %std_v140.sroa.0.42324, null - br i1 %tobool.not.i.i1474, label %if.then.i, label %if.then.i74.i +invoke.cont87.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i65.i, %invoke.cont83.i + %add.ptr.i.i.i.i.i.i.i.i.i66.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i59.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i63.i + %tobool.not.i.i1477 = icmp eq ptr %std_v140.sroa.0.42324, null + br i1 %tobool.not.i.i1477, label %if.then.i, label %if.then.i68.i -if.then.i74.i: ; preds = %invoke.cont87.i +if.then.i68.i: ; preds = %invoke.cont87.i call void @_ZdlPv(ptr noundef nonnull %std_v140.sroa.0.42324) #32 br label %if.then.i -if.then.i: ; preds = %invoke.cont87.i, %if.then.i74.i, %if.then.i.i.i.i.i45.i, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit40.i, %if.then.i.i.i.i.i30.i - %std_v140.sroa.11.5 = phi ptr [ %add.ptr27.i, %if.then.i.i.i.i.i30.i ], [ %add.ptr58.i, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit40.i ], [ %add.ptr58.i, %if.then.i.i.i.i.i45.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i72.i, %if.then.i74.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i72.i, %invoke.cont87.i ] - %std_v140.sroa.0.5 = phi ptr [ %std_v140.sroa.0.42324, %if.then.i.i.i.i.i30.i ], [ %std_v140.sroa.0.42324, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit40.i ], [ %std_v140.sroa.0.42324, %if.then.i.i.i.i.i45.i ], [ %cond.i50.i, %if.then.i74.i ], [ %cond.i50.i, %invoke.cont87.i ] +if.then.i: ; preds = %invoke.cont87.i, %if.then.i68.i, %if.then.i.i.i.i.i43.i, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit38.i, %if.then.i.i.i.i.i30.i + %std_v140.sroa.11.5 = phi ptr [ %add.ptr27.i, %if.then.i.i.i.i.i30.i ], [ %add.ptr58.i, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit38.i ], [ %add.ptr58.i, %if.then.i.i.i.i.i43.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i66.i, %if.then.i68.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i66.i, %invoke.cont87.i ] + %std_v140.sroa.0.5 = phi ptr [ %std_v140.sroa.0.42324, %if.then.i.i.i.i.i30.i ], [ %std_v140.sroa.0.42324, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit38.i ], [ %std_v140.sroa.0.42324, %if.then.i.i.i.i.i43.i ], [ %cond.i47.i, %if.then.i68.i ], [ %cond.i47.i, %invoke.cont87.i ] %112 = load i64, ptr %v143, align 8 - %and.i.i.i.i413 = and i64 %112, 1 - %tobool.i.not.i.i.i414 = icmp eq i64 %and.i.i.i.i413, 0 - %113 = load ptr, ptr %data_.i1.i.i1388, align 8 - %cond.i.i.i416 = select i1 %tobool.i.not.i.i.i414, ptr %data_.i1.i.i1388, ptr %113 - %add.ptr176 = getelementptr i32, ptr %cond.i.i.i416, i64 %pos.03500 - %114 = load i64, ptr %allocated_capacity.i.i.i1389, align 8, !noalias !527 - %.sink.i.i1485 = select i1 %tobool.i.not.i.i.i414, i64 8, i64 %114 - %shr.i.sink.i.i1486 = lshr i64 %112, 1 - %add.i1491 = add nuw nsw i64 %pos.03500, 3 - %add3.i1492 = add nuw i64 %shr.i.sink.i.i1486, 3 - %cmp.i1493 = icmp ugt i64 %add3.i1492, %.sink.i.i1485 - br i1 %cmp.i1493, label %invoke.cont16.i1524, label %if.else.i1494 - -invoke.cont16.i1524: ; preds = %if.then.i - %mul.i.i.i1525 = shl i64 %.sink.i.i1485, 1 - %.sroa.speculated.i.i1526 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1525, i64 %add3.i1492) - %cmp.i.i.i.i.i1527 = icmp ugt i64 %.sroa.speculated.i.i1526, 2305843009213693951 - br i1 %cmp.i.i.i.i.i1527, label %if.then.i.i.i.i.i1553, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1528 - -if.then.i.i.i.i.i1553: ; preds = %invoke.cont16.i1524 - %cmp2.i.i.i.i.i1554 = icmp ugt i64 %.sroa.speculated.i.i1526, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i1554, label %if.then3.i.i.i.i.i1556, label %if.end.i.i.i.i.i1555 - -if.then3.i.i.i.i.i1556: ; preds = %if.then.i.i.i.i.i1553 + %and.i.i.i.i414 = and i64 %112, 1 + %tobool.i.not.i.i.i415 = icmp eq i64 %and.i.i.i.i414, 0 + %113 = load ptr, ptr %data_.i1.i.i1389, align 8 + %cond.i.i.i417 = select i1 %tobool.i.not.i.i.i415, ptr %data_.i1.i.i1389, ptr %113 + %add.ptr176 = getelementptr i32, ptr %cond.i.i.i417, i64 %pos.03525 + %114 = load i64, ptr %allocated_capacity.i.i.i1390, align 8, !noalias !527 + %.sink.i.i1488 = select i1 %tobool.i.not.i.i.i415, i64 8, i64 %114 + %shr.i.sink.i.i1489 = lshr i64 %112, 1 + %add.i1494 = add nuw nsw i64 %pos.03525, 3 + %add3.i1495 = add nuw i64 %shr.i.sink.i.i1489, 3 + %cmp.i1496 = icmp ugt i64 %add3.i1495, %.sink.i.i1488 + br i1 %cmp.i1496, label %invoke.cont16.i1527, label %if.else.i1497 + +invoke.cont16.i1527: ; preds = %if.then.i + %mul.i.i.i1528 = shl i64 %.sink.i.i1488, 1 + %.sroa.speculated.i.i1529 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1528, i64 %add3.i1495) + %cmp.i.i.i.i.i1530 = icmp ugt i64 %.sroa.speculated.i.i1529, 2305843009213693951 + br i1 %cmp.i.i.i.i.i1530, label %if.then.i.i.i.i.i1556, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1531 + +if.then.i.i.i.i.i1556: ; preds = %invoke.cont16.i1527 + %cmp2.i.i.i.i.i1557 = icmp ugt i64 %.sroa.speculated.i.i1529, 4611686018427387903 + br i1 %cmp2.i.i.i.i.i1557, label %if.then3.i.i.i.i.i1559, label %if.end.i.i.i.i.i1558 + +if.then3.i.i.i.i.i1559: ; preds = %if.then.i.i.i.i.i1556 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1557 unwind label %lpad169.loopexit.split-lp + to label %.noexc1560 unwind label %lpad169.loopexit.split-lp -.noexc1557: ; preds = %if.then3.i.i.i.i.i1556 +.noexc1560: ; preds = %if.then3.i.i.i.i.i1559 unreachable -if.end.i.i.i.i.i1555: ; preds = %if.then.i.i.i.i.i1553 +if.end.i.i.i.i.i1558: ; preds = %if.then.i.i.i.i.i1556 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1558 unwind label %lpad169.loopexit.split-lp + to label %.noexc1561 unwind label %lpad169.loopexit.split-lp -.noexc1558: ; preds = %if.end.i.i.i.i.i1555 +.noexc1561: ; preds = %if.end.i.i.i.i.i1558 unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1528: ; preds = %invoke.cont16.i1524 - %mul.i.i.i.i.i1529 = shl nuw nsw i64 %.sroa.speculated.i.i1526, 2 - %call5.i.i.i.i29.i1560 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1529) #33 - to label %invoke.cont20.i1531 unwind label %lpad169.loopexit +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1531: ; preds = %invoke.cont16.i1527 + %mul.i.i.i.i.i1532 = shl nuw nsw i64 %.sroa.speculated.i.i1529, 2 + %call5.i.i.i.i29.i1563 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1532) #33 + to label %invoke.cont20.i1534 unwind label %lpad169.loopexit -invoke.cont20.i1531: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1528 - %add.ptr.i1530 = getelementptr i32, ptr %call5.i.i.i.i29.i1560, i64 %pos.03500 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i1530, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) - %cmp6.not.i.i.i1532 = icmp eq i64 %pos.03500, 0 - br i1 %cmp6.not.i.i.i1532, label %invoke.cont22.i1536, label %for.inc.i.i.i1533 +invoke.cont20.i1534: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1531 + %add.ptr.i1533 = getelementptr i8, ptr %call5.i.i.i.i29.i1563, i64 %add.ptr.idx.pre-phi + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i1533, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i, i64 12, i1 false) + %cmp6.not.i.i.i1535 = icmp eq i64 %pos.03525, 0 + br i1 %cmp6.not.i.i.i1535, label %invoke.cont22.i1539, label %for.inc.i.i.i1536 -for.inc.i.i.i1533: ; preds = %invoke.cont20.i1531, %for.inc.i.i.i1533 - %move_values.sroa.0.0.i1534 = phi ptr [ %incdec.ptr.i.i.i.i32.i, %for.inc.i.i.i1533 ], [ %cond.i.i.i416, %invoke.cont20.i1531 ] - %i.07.i.i.i1535 = phi i64 [ %inc.i.i33.i, %for.inc.i.i.i1533 ], [ 0, %invoke.cont20.i1531 ] - %add.ptr.i.i31.i = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1560, i64 %i.07.i.i.i1535 - %115 = load i32, ptr %move_values.sroa.0.0.i1534, align 4 +for.inc.i.i.i1536: ; preds = %invoke.cont20.i1534, %for.inc.i.i.i1536 + %move_values.sroa.0.0.i1537 = phi ptr [ %incdec.ptr.i.i.i.i32.i, %for.inc.i.i.i1536 ], [ %cond.i.i.i417, %invoke.cont20.i1534 ] + %i.07.i.i.i1538 = phi i64 [ %inc.i.i33.i, %for.inc.i.i.i1536 ], [ 0, %invoke.cont20.i1534 ] + %add.ptr.i.i31.i = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1563, i64 %i.07.i.i.i1538 + %115 = load i32, ptr %move_values.sroa.0.0.i1537, align 4 store i32 %115, ptr %add.ptr.i.i31.i, align 4 - %incdec.ptr.i.i.i.i32.i = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i1534, i64 1 - %inc.i.i33.i = add nuw nsw i64 %i.07.i.i.i1535, 1 - %exitcond.not.i.i34.i = icmp eq i64 %inc.i.i33.i, %pos.03500 - br i1 %exitcond.not.i.i34.i, label %invoke.cont22.i1536, label %for.inc.i.i.i1533, !llvm.loop !12 - -invoke.cont22.i1536: ; preds = %for.inc.i.i.i1533, %invoke.cont20.i1531 - %move_values.sroa.0.1.i1537 = phi ptr [ %add.ptr176, %invoke.cont20.i1531 ], [ %incdec.ptr.i.i.i.i32.i, %for.inc.i.i.i1533 ] - %add.ptr24.i1538 = getelementptr i32, ptr %call5.i.i.i.i29.i1560, i64 %add.i1491 - %sub.i1539 = sub nsw i64 %shr.i.sink.i.i1486, %pos.03500 - %cmp6.not.i.i1540 = icmp eq i64 %shr.i.sink.i.i1486, %pos.03500 - br i1 %cmp6.not.i.i1540, label %invoke.cont32.i1548, label %for.inc.i.i1541 - -for.inc.i.i1541: ; preds = %invoke.cont22.i1536, %for.inc.i.i1541 - %move_values.sroa.0.2.i1542 = phi ptr [ %incdec.ptr.i.i.i.i1545, %for.inc.i.i1541 ], [ %move_values.sroa.0.1.i1537, %invoke.cont22.i1536 ] - %i.07.i.i1543 = phi i64 [ %inc.i.i1546, %for.inc.i.i1541 ], [ 0, %invoke.cont22.i1536 ] - %add.ptr.i.i1544 = getelementptr inbounds i32, ptr %add.ptr24.i1538, i64 %i.07.i.i1543 - %116 = load i32, ptr %move_values.sroa.0.2.i1542, align 4 - store i32 %116, ptr %add.ptr.i.i1544, align 4 - %incdec.ptr.i.i.i.i1545 = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i1542, i64 1 - %inc.i.i1546 = add nuw i64 %i.07.i.i1543, 1 - %exitcond.not.i.i1547 = icmp eq i64 %inc.i.i1546, %sub.i1539 - br i1 %exitcond.not.i.i1547, label %invoke.cont32.i1548, label %for.inc.i.i1541, !llvm.loop !12 - -invoke.cont32.i1548: ; preds = %for.inc.i.i1541, %invoke.cont22.i1536 - br i1 %tobool.i.not.i.i.i414, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1550, label %if.then.i.i1549 - -if.then.i.i1549: ; preds = %invoke.cont32.i1548 + %incdec.ptr.i.i.i.i32.i = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i1537, i64 1 + %inc.i.i33.i = add nuw nsw i64 %i.07.i.i.i1538, 1 + %exitcond.not.i.i34.i = icmp eq i64 %inc.i.i33.i, %pos.03525 + br i1 %exitcond.not.i.i34.i, label %invoke.cont22.i1539, label %for.inc.i.i.i1536, !llvm.loop !12 + +invoke.cont22.i1539: ; preds = %for.inc.i.i.i1536, %invoke.cont20.i1534 + %move_values.sroa.0.1.i1540 = phi ptr [ %add.ptr176, %invoke.cont20.i1534 ], [ %incdec.ptr.i.i.i.i32.i, %for.inc.i.i.i1536 ] + %add.ptr24.i1541 = getelementptr i32, ptr %call5.i.i.i.i29.i1563, i64 %add.i1494 + %sub.i1542 = sub nsw i64 %shr.i.sink.i.i1489, %pos.03525 + %cmp6.not.i.i1543 = icmp eq i64 %shr.i.sink.i.i1489, %pos.03525 + br i1 %cmp6.not.i.i1543, label %invoke.cont32.i1551, label %for.inc.i.i1544 + +for.inc.i.i1544: ; preds = %invoke.cont22.i1539, %for.inc.i.i1544 + %move_values.sroa.0.2.i1545 = phi ptr [ %incdec.ptr.i.i.i.i1548, %for.inc.i.i1544 ], [ %move_values.sroa.0.1.i1540, %invoke.cont22.i1539 ] + %i.07.i.i1546 = phi i64 [ %inc.i.i1549, %for.inc.i.i1544 ], [ 0, %invoke.cont22.i1539 ] + %add.ptr.i.i1547 = getelementptr inbounds i32, ptr %add.ptr24.i1541, i64 %i.07.i.i1546 + %116 = load i32, ptr %move_values.sroa.0.2.i1545, align 4 + store i32 %116, ptr %add.ptr.i.i1547, align 4 + %incdec.ptr.i.i.i.i1548 = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i1545, i64 1 + %inc.i.i1549 = add nuw i64 %i.07.i.i1546, 1 + %exitcond.not.i.i1550 = icmp eq i64 %inc.i.i1549, %sub.i1542 + br i1 %exitcond.not.i.i1550, label %invoke.cont32.i1551, label %for.inc.i.i1544, !llvm.loop !12 + +invoke.cont32.i1551: ; preds = %for.inc.i.i1544, %invoke.cont22.i1539 + br i1 %tobool.i.not.i.i.i415, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1553, label %if.then.i.i1552 + +if.then.i.i1552: ; preds = %invoke.cont32.i1551 call void @_ZdlPv(ptr noundef %113) #32 - br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1550 + br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1553 -_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1550: ; preds = %if.then.i.i1549, %invoke.cont32.i1548 - store ptr %call5.i.i.i.i29.i1560, ptr %data_.i1.i.i1388, align 8 - store i64 %.sroa.speculated.i.i1526, ptr %allocated_capacity.i.i.i1389, align 8 - %shl.i.i1551 = shl i64 %add3.i1492, 1 - %or.i.i1552 = or disjoint i64 %shl.i.i1551, 1 +_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1553: ; preds = %if.then.i.i1552, %invoke.cont32.i1551 + store ptr %call5.i.i.i.i29.i1563, ptr %data_.i1.i.i1389, align 8 + store i64 %.sroa.speculated.i.i1529, ptr %allocated_capacity.i.i.i1390, align 8 + %shl.i.i1554 = shl i64 %add3.i1495, 1 + %or.i.i1555 = or disjoint i64 %shl.i.i1554, 1 br label %invoke.cont185 -if.else.i1494: ; preds = %if.then.i - %.sroa.speculated.i1495 = call i64 @llvm.umax.i64(i64 %add.i1491, i64 %shr.i.sink.i.i1486) - %add.ptr51.i1496 = getelementptr i32, ptr %cond.i.i.i416, i64 %.sroa.speculated.i1495 - %sub52.i1497 = sub i64 %add3.i1492, %.sroa.speculated.i1495 - %add.ptr56.i1499 = getelementptr inbounds i32, ptr %cond.i.i.i416, i64 %add.i1491 - %sub57.i1500 = sub nsw i64 %.sroa.speculated.i1495, %add.i1491 - %add.ptr61.i1501 = getelementptr i32, ptr %add.ptr176, i64 %sub52.i1497 - %sub63.i1502 = sub i64 3, %sub52.i1497 - %cmp6.not.i.i49.i = icmp eq i64 %pos.03500, %shr.i.sink.i.i1486 - br i1 %cmp6.not.i.i49.i, label %invoke.cont66.i1506, label %for.inc.i.i52.preheader.i - -for.inc.i.i52.preheader.i: ; preds = %if.else.i1494 - %add.ptr46.i1504 = getelementptr i32, ptr %add.ptr51.i1496, i64 -3 +if.else.i1497: ; preds = %if.then.i + %.sroa.speculated.i1498 = call i64 @llvm.umax.i64(i64 %add.i1494, i64 %shr.i.sink.i.i1489) + %add.ptr51.i1499 = getelementptr i32, ptr %cond.i.i.i417, i64 %.sroa.speculated.i1498 + %sub52.i1500 = sub i64 %add3.i1495, %.sroa.speculated.i1498 + %add.ptr56.i1502 = getelementptr inbounds i32, ptr %cond.i.i.i417, i64 %add.i1494 + %sub57.i1503 = sub nsw i64 %.sroa.speculated.i1498, %add.i1494 + %add.ptr61.i1504 = getelementptr i32, ptr %add.ptr176, i64 %sub52.i1500 + %sub63.i1505 = sub i64 3, %sub52.i1500 + %cmp6.not.i.i49.i = icmp eq i64 %pos.03525, %shr.i.sink.i.i1489 + br i1 %cmp6.not.i.i49.i, label %invoke.cont66.i1509, label %for.inc.i.i52.preheader.i + +for.inc.i.i52.preheader.i: ; preds = %if.else.i1497 + %add.ptr46.i1507 = getelementptr i32, ptr %add.ptr51.i1499, i64 -3 br label %for.inc.i.i52.i for.inc.i.i52.i: ; preds = %for.inc.i.i52.i, %for.inc.i.i52.preheader.i - %move_construction_values.sroa.0.0.i1505 = phi ptr [ %incdec.ptr.i.i.i.i55.i, %for.inc.i.i52.i ], [ %add.ptr46.i1504, %for.inc.i.i52.preheader.i ] + %move_construction_values.sroa.0.0.i1508 = phi ptr [ %incdec.ptr.i.i.i.i55.i, %for.inc.i.i52.i ], [ %add.ptr46.i1507, %for.inc.i.i52.preheader.i ] %i.07.i.i53.i = phi i64 [ %inc.i.i56.i, %for.inc.i.i52.i ], [ 0, %for.inc.i.i52.preheader.i ] - %add.ptr.i.i54.i = getelementptr inbounds i32, ptr %add.ptr51.i1496, i64 %i.07.i.i53.i - %117 = load i32, ptr %move_construction_values.sroa.0.0.i1505, align 4 + %add.ptr.i.i54.i = getelementptr inbounds i32, ptr %add.ptr51.i1499, i64 %i.07.i.i53.i + %117 = load i32, ptr %move_construction_values.sroa.0.0.i1508, align 4 store i32 %117, ptr %add.ptr.i.i54.i, align 4 - %incdec.ptr.i.i.i.i55.i = getelementptr inbounds i32, ptr %move_construction_values.sroa.0.0.i1505, i64 1 + %incdec.ptr.i.i.i.i55.i = getelementptr inbounds i32, ptr %move_construction_values.sroa.0.0.i1508, i64 1 %inc.i.i56.i = add nuw i64 %i.07.i.i53.i, 1 - %exitcond.not.i.i57.i = icmp eq i64 %inc.i.i56.i, %sub52.i1497 - br i1 %exitcond.not.i.i57.i, label %invoke.cont66.i1506, label %for.inc.i.i52.i, !llvm.loop !12 - -invoke.cont66.i1506: ; preds = %for.inc.i.i52.i, %if.else.i1494 - %incdec.ptr114.i = getelementptr inbounds i32, ptr %add.ptr51.i1496, i64 -1 - %cmp74115.i = icmp ult ptr %incdec.ptr114.i, %add.ptr56.i1499 - br i1 %cmp74115.i, label %for.end.i1513, label %if.end.preheader.i1507 - -if.end.preheader.i1507: ; preds = %invoke.cont66.i1506 - %add.ptr72.i1508 = getelementptr inbounds i32, ptr %add.ptr176, i64 %sub57.i1500 - br label %if.end.i1509 - -if.end.i1509: ; preds = %if.end.i1509, %if.end.preheader.i1507 - %incdec.ptr117.i = phi ptr [ %incdec.ptr.i1511, %if.end.i1509 ], [ %incdec.ptr114.i, %if.end.preheader.i1507 ] - %source.0116.i = phi ptr [ %incdec.ptr73.i1510, %if.end.i1509 ], [ %add.ptr72.i1508, %if.end.preheader.i1507 ] - %incdec.ptr73.i1510 = getelementptr inbounds i32, ptr %source.0116.i, i64 -1 - %118 = load i32, ptr %incdec.ptr73.i1510, align 4 + %exitcond.not.i.i57.i = icmp eq i64 %inc.i.i56.i, %sub52.i1500 + br i1 %exitcond.not.i.i57.i, label %invoke.cont66.i1509, label %for.inc.i.i52.i, !llvm.loop !12 + +invoke.cont66.i1509: ; preds = %for.inc.i.i52.i, %if.else.i1497 + %incdec.ptr114.i = getelementptr inbounds i32, ptr %add.ptr51.i1499, i64 -1 + %cmp74115.i = icmp ult ptr %incdec.ptr114.i, %add.ptr56.i1502 + br i1 %cmp74115.i, label %for.end.i1516, label %if.end.preheader.i1510 + +if.end.preheader.i1510: ; preds = %invoke.cont66.i1509 + %add.ptr72.i1511 = getelementptr inbounds i32, ptr %add.ptr176, i64 %sub57.i1503 + br label %if.end.i1512 + +if.end.i1512: ; preds = %if.end.i1512, %if.end.preheader.i1510 + %incdec.ptr117.i = phi ptr [ %incdec.ptr.i1514, %if.end.i1512 ], [ %incdec.ptr114.i, %if.end.preheader.i1510 ] + %source.0116.i = phi ptr [ %incdec.ptr73.i1513, %if.end.i1512 ], [ %add.ptr72.i1511, %if.end.preheader.i1510 ] + %incdec.ptr73.i1513 = getelementptr inbounds i32, ptr %source.0116.i, i64 -1 + %118 = load i32, ptr %incdec.ptr73.i1513, align 4 store i32 %118, ptr %incdec.ptr117.i, align 4 - %incdec.ptr.i1511 = getelementptr inbounds i32, ptr %incdec.ptr117.i, i64 -1 - %cmp74.i1512 = icmp ult ptr %incdec.ptr.i1511, %add.ptr56.i1499 - br i1 %cmp74.i1512, label %for.end.i1513, label %if.end.i1509, !llvm.loop !530 - -for.end.i1513: ; preds = %if.end.i1509, %invoke.cont66.i1506 - br i1 %cmp6.not.i.i49.i, label %invoke.cont79.i1517, label %for.body.i.i1514 - -for.body.i.i1514: ; preds = %for.end.i1513, %for.body.i.i1514 - %values.sroa.0.1.i1515 = phi ptr [ %incdec.ptr.i.i.i65.i, %for.body.i.i1514 ], [ %call5.i.i.i.i2.i, %for.end.i1513 ] - %i.04.i.i1516 = phi i64 [ %inc.i66.i, %for.body.i.i1514 ], [ 0, %for.end.i1513 ] - %add.ptr.i64.i = getelementptr inbounds i32, ptr %add.ptr176, i64 %i.04.i.i1516 - %119 = load i32, ptr %values.sroa.0.1.i1515, align 4 + %incdec.ptr.i1514 = getelementptr inbounds i32, ptr %incdec.ptr117.i, i64 -1 + %cmp74.i1515 = icmp ult ptr %incdec.ptr.i1514, %add.ptr56.i1502 + br i1 %cmp74.i1515, label %for.end.i1516, label %if.end.i1512, !llvm.loop !530 + +for.end.i1516: ; preds = %if.end.i1512, %invoke.cont66.i1509 + br i1 %cmp6.not.i.i49.i, label %invoke.cont79.i1520, label %for.body.i.i1517 + +for.body.i.i1517: ; preds = %for.end.i1516, %for.body.i.i1517 + %values.sroa.0.1.i1518 = phi ptr [ %incdec.ptr.i.i.i65.i, %for.body.i.i1517 ], [ %call5.i.i.i.i2.i, %for.end.i1516 ] + %i.04.i.i1519 = phi i64 [ %inc.i66.i, %for.body.i.i1517 ], [ 0, %for.end.i1516 ] + %add.ptr.i64.i = getelementptr inbounds i32, ptr %add.ptr176, i64 %i.04.i.i1519 + %119 = load i32, ptr %values.sroa.0.1.i1518, align 4 store i32 %119, ptr %add.ptr.i64.i, align 4 - %incdec.ptr.i.i.i65.i = getelementptr inbounds i32, ptr %values.sroa.0.1.i1515, i64 1 - %inc.i66.i = add nuw i64 %i.04.i.i1516, 1 - %exitcond.not.i67.i = icmp eq i64 %inc.i66.i, %sub52.i1497 - br i1 %exitcond.not.i67.i, label %invoke.cont79.i1517, label %for.body.i.i1514, !llvm.loop !531 - -invoke.cont79.i1517: ; preds = %for.body.i.i1514, %for.end.i1513 - %values.sroa.0.2.i1518 = phi ptr [ %call5.i.i.i.i2.i, %for.end.i1513 ], [ %incdec.ptr.i.i.i65.i, %for.body.i.i1514 ] - %cmp3.not.i69.i = icmp eq i64 %sub52.i1497, 3 - br i1 %cmp3.not.i69.i, label %invoke.cont85.i1520, label %for.body.i72.i - -for.body.i72.i: ; preds = %invoke.cont79.i1517, %for.body.i72.i - %values.sroa.0.3.i1519 = phi ptr [ %incdec.ptr.i.i.i75.i, %for.body.i72.i ], [ %values.sroa.0.2.i1518, %invoke.cont79.i1517 ] - %i.04.i73.i = phi i64 [ %inc.i76.i, %for.body.i72.i ], [ 0, %invoke.cont79.i1517 ] - %add.ptr.i74.i = getelementptr inbounds i32, ptr %add.ptr61.i1501, i64 %i.04.i73.i - %120 = load i32, ptr %values.sroa.0.3.i1519, align 4 + %incdec.ptr.i.i.i65.i = getelementptr inbounds i32, ptr %values.sroa.0.1.i1518, i64 1 + %inc.i66.i = add nuw i64 %i.04.i.i1519, 1 + %exitcond.not.i67.i = icmp eq i64 %inc.i66.i, %sub52.i1500 + br i1 %exitcond.not.i67.i, label %invoke.cont79.i1520, label %for.body.i.i1517, !llvm.loop !531 + +invoke.cont79.i1520: ; preds = %for.body.i.i1517, %for.end.i1516 + %values.sroa.0.2.i1521 = phi ptr [ %call5.i.i.i.i2.i, %for.end.i1516 ], [ %incdec.ptr.i.i.i65.i, %for.body.i.i1517 ] + %cmp3.not.i69.i = icmp eq i64 %sub52.i1500, 3 + br i1 %cmp3.not.i69.i, label %invoke.cont85.i1523, label %for.body.i72.i + +for.body.i72.i: ; preds = %invoke.cont79.i1520, %for.body.i72.i + %values.sroa.0.3.i1522 = phi ptr [ %incdec.ptr.i.i.i75.i, %for.body.i72.i ], [ %values.sroa.0.2.i1521, %invoke.cont79.i1520 ] + %i.04.i73.i = phi i64 [ %inc.i76.i, %for.body.i72.i ], [ 0, %invoke.cont79.i1520 ] + %add.ptr.i74.i = getelementptr inbounds i32, ptr %add.ptr61.i1504, i64 %i.04.i73.i + %120 = load i32, ptr %values.sroa.0.3.i1522, align 4 store i32 %120, ptr %add.ptr.i74.i, align 4 - %incdec.ptr.i.i.i75.i = getelementptr inbounds i32, ptr %values.sroa.0.3.i1519, i64 1 + %incdec.ptr.i.i.i75.i = getelementptr inbounds i32, ptr %values.sroa.0.3.i1522, i64 1 %inc.i76.i = add nuw i64 %i.04.i73.i, 1 - %exitcond.not.i77.i = icmp eq i64 %inc.i76.i, %sub63.i1502 - br i1 %exitcond.not.i77.i, label %invoke.cont85.i1520, label %for.body.i72.i, !llvm.loop !532 + %exitcond.not.i77.i = icmp eq i64 %inc.i76.i, %sub63.i1505 + br i1 %exitcond.not.i77.i, label %invoke.cont85.i1523, label %for.body.i72.i, !llvm.loop !532 -invoke.cont85.i1520: ; preds = %for.body.i72.i, %invoke.cont79.i1517 +invoke.cont85.i1523: ; preds = %for.body.i72.i, %invoke.cont79.i1520 %121 = load i64, ptr %v143, align 8 - %add.i.i1521 = add i64 %121, 6 + %add.i.i1524 = add i64 %121, 6 br label %invoke.cont185 -invoke.cont185: ; preds = %invoke.cont85.i1520, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1550 - %storemerge.i1522 = phi i64 [ %add.i.i1521, %invoke.cont85.i1520 ], [ %or.i.i1552, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1550 ] - %retval.0.i1523 = phi ptr [ %add.ptr176, %invoke.cont85.i1520 ], [ %add.ptr.i1530, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1550 ] - store i64 %storemerge.i1522, ptr %v143, align 8 - store ptr %retval.0.i1523, ptr %it174, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i422 = ptrtoint ptr %std_v140.sroa.11.5 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i423 = ptrtoint ptr %std_v140.sroa.0.5 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i424 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i422, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i423 - %cmp.i.i.i.i.i.i426 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i424, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i426, label %if.then.i.i.i.i.i.i433, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i427 - -if.then.i.i.i.i.i.i433: ; preds = %invoke.cont185 +invoke.cont185: ; preds = %invoke.cont85.i1523, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1553 + %storemerge.i1525 = phi i64 [ %add.i.i1524, %invoke.cont85.i1523 ], [ %or.i.i1555, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1553 ] + %retval.0.i1526 = phi ptr [ %add.ptr176, %invoke.cont85.i1523 ], [ %add.ptr.i1533, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1553 ] + store i64 %storemerge.i1525, ptr %v143, align 8 + store ptr %retval.0.i1526, ptr %it174, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i423 = ptrtoint ptr %std_v140.sroa.11.5 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i424 = ptrtoint ptr %std_v140.sroa.0.5 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i425 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i423, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i424 + %cmp.i.i.i.i.i.i426 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i425, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i426, label %if.then.i.i.i.i.i.i434, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i427 + +if.then.i.i.i.i.i.i434: ; preds = %invoke.cont185 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc434 unwind label %lpad169.loopexit.split-lp + to label %.noexc435 unwind label %lpad169.loopexit.split-lp -.noexc434: ; preds = %if.then.i.i.i.i.i.i433 +.noexc435: ; preds = %if.then.i.i.i.i.i.i434 unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i427: ; preds = %invoke.cont185 %cmp.not.i.i.i.i.i.i428 = icmp eq ptr %std_v140.sroa.11.5, %std_v140.sroa.0.5 - br i1 %cmp.not.i.i.i.i.i.i428, label %invoke.cont.thread.i454, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429 + br i1 %cmp.not.i.i.i.i.i.i428, label %invoke.cont.thread.i455, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429 if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i427 - %call5.i.i.i.i1.i.i.i.i436 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i424) #33 - to label %cond.true.i.i.i.i.i.i.i445 unwind label %lpad169.loopexit + %call5.i.i.i.i1.i.i.i.i437 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i425) #33 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i446 unwind label %lpad169.loopexit -invoke.cont.thread.i454: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i427 - %sub.ptr.div.i.i.i.i19.i455 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i424, 2 - %add.ptr.i.i.i.i.i14.i457 = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i19.i455 +invoke.cont.thread.i455: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i427 + %add.ptr.i.i.i.i.i14.i457 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i425 store i64 0, ptr %ref.tmp188, align 8, !alias.scope !533 store ptr %add.ptr.i.i.i.i.i14.i457, ptr %_M_end_of_storage.i.i.i.i.i.i452, align 8, !alias.scope !533 br label %invoke.cont192 -cond.true.i.i.i.i.i.i.i445: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i436, ptr align 4 %std_v140.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i424, i1 false), !noalias !536 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i446: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i437, ptr align 4 %std_v140.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i425, i1 false), !noalias !536 call void @llvm.experimental.noalias.scope.decl(metadata !533) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp188, i8 0, i64 24, i1 false), !alias.scope !533 - %call5.i.i.i.i2.i6.i.i.i2.i446 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i424) #33 - to label %if.then.i.i.i.i.i448 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i447, !noalias !533 + %call5.i.i.i.i2.i6.i.i.i2.i447 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i425) #33 + to label %if.then.i.i.i.i.i449 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i448, !noalias !533 -if.then.i.i.i.i.i448: ; preds = %cond.true.i.i.i.i.i.i.i445 - %sub.ptr.div.i.i.i.i.i449 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i424, 2 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i446, ptr %ref.tmp188, align 8, !alias.scope !533 - %add.ptr.i.i.i.i.i.i451 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i446, i64 %sub.ptr.div.i.i.i.i.i449 +if.then.i.i.i.i.i449: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i446 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i447, ptr %ref.tmp188, align 8, !alias.scope !533 + %add.ptr.i.i.i.i.i.i451 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i447, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i425 store ptr %add.ptr.i.i.i.i.i.i451, ptr %_M_end_of_storage.i.i.i.i.i.i452, align 8, !alias.scope !533 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i446, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i436, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i424, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i447, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i437, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i425, i1 false) br label %invoke.cont192 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i447: ; preds = %cond.true.i.i.i.i.i.i.i445 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i448: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i446 %122 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i484 + br label %if.then.i.i.i.i485 -invoke.cont192: ; preds = %if.then.i.i.i.i.i448, %invoke.cont.thread.i454 - %storemerge5753 = phi ptr [ %add.ptr.i.i.i.i.i.i451, %if.then.i.i.i.i.i448 ], [ %add.ptr.i.i.i.i.i14.i457, %invoke.cont.thread.i454 ] - %agg.tmp189.sroa.0.24632 = phi ptr [ %call5.i.i.i.i1.i.i.i.i436, %if.then.i.i.i.i.i448 ], [ null, %invoke.cont.thread.i454 ] - store ptr %storemerge5753, ptr %_M_finish.i.i.i.i.i.i450, align 8, !alias.scope !533 +invoke.cont192: ; preds = %if.then.i.i.i.i.i449, %invoke.cont.thread.i455 + %storemerge5765 = phi ptr [ %add.ptr.i.i.i.i.i.i451, %if.then.i.i.i.i.i449 ], [ %add.ptr.i.i.i.i.i14.i457, %invoke.cont.thread.i455 ] + %agg.tmp189.sroa.0.24654 = phi ptr [ %call5.i.i.i.i1.i.i.i.i437, %if.then.i.i.i.i.i449 ], [ null, %invoke.cont.thread.i455 ] + store ptr %storemerge5765, ptr %_M_finish.i.i.i.i.i.i450, align 8, !alias.scope !533 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm8ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar187, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp188, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(40) %v143) to label %invoke.cont194 unwind label %lpad193 invoke.cont194: ; preds = %invoke.cont192 %123 = load ptr, ptr %ref.tmp188, align 8 - %tobool.not.i.i.i.i.i464 = icmp eq ptr %123, null - br i1 %tobool.not.i.i.i.i.i464, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit466, label %if.then.i.i.i.i.i465 + %tobool.not.i.i.i.i.i465 = icmp eq ptr %123, null + br i1 %tobool.not.i.i.i.i.i465, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit467, label %if.then.i.i.i.i.i466 -if.then.i.i.i.i.i465: ; preds = %invoke.cont194 +if.then.i.i.i.i.i466: ; preds = %invoke.cont194 call void @_ZdlPv(ptr noundef nonnull %123) #32 - br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit466 + br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit467 -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit466: ; preds = %invoke.cont194, %if.then.i.i.i.i.i465 - %tobool.not.i.i.i.i467 = icmp eq ptr %agg.tmp189.sroa.0.24632, null - br i1 %tobool.not.i.i.i.i467, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit469, label %if.then.i.i.i.i468 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit467: ; preds = %invoke.cont194, %if.then.i.i.i.i.i466 + %tobool.not.i.i.i.i468 = icmp eq ptr %agg.tmp189.sroa.0.24654, null + br i1 %tobool.not.i.i.i.i468, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit470, label %if.then.i.i.i.i469 -if.then.i.i.i.i468: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit466 - call void @_ZdlPv(ptr noundef nonnull %agg.tmp189.sroa.0.24632) #32 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit469 +if.then.i.i.i.i469: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit467 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp189.sroa.0.24654) #32 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit470 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit469: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit466, %if.then.i.i.i.i468 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit470: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit467, %if.then.i.i.i.i469 %124 = load i8, ptr %gtest_ar187, align 8 %125 = and i8 %124, 1 - %tobool.i470.not = icmp eq i8 %125, 0 - br i1 %tobool.i470.not, label %if.else199, label %if.end212 + %tobool.i471.not = icmp eq i8 %125, 0 + br i1 %tobool.i471.not, label %if.else199, label %if.end212 -ehcleanup137: ; preds = %_ZN7testing7MessageD2Ev.exit333, %lpad125 - %.pn49.pn = phi { ptr, i32 } [ %.pn49, %_ZN7testing7MessageD2Ev.exit333 ], [ %94, %lpad125 ] +ehcleanup137: ; preds = %_ZN7testing7MessageD2Ev.exit334, %lpad125 + %.pn49.pn = phi { ptr, i32 } [ %.pn49, %_ZN7testing7MessageD2Ev.exit334 ], [ %94, %lpad125 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar116) #29 br label %ehcleanup138 -ehcleanup138: ; preds = %lpad68.loopexit, %lpad68.loopexit.split-lp.loopexit.split-lp, %lpad68.loopexit.split-lp.loopexit, %if.then.i.i.i.i285, %ehcleanup98, %ehcleanup137, %ehcleanup115 - %std_v64.sroa.0.7 = phi ptr [ %std_v64.sroa.0.5, %ehcleanup137 ], [ %std_v64.sroa.0.5, %ehcleanup115 ], [ %std_v64.sroa.0.5, %ehcleanup98 ], [ %std_v64.sroa.0.5, %if.then.i.i.i.i285 ], [ %std_v64.sroa.0.3, %lpad68.loopexit ], [ %std_v64.sroa.0.6.ph.ph, %lpad68.loopexit.split-lp.loopexit ], [ %std_v64.sroa.0.6.ph.ph2397, %lpad68.loopexit.split-lp.loopexit.split-lp ] - %.pn49.pn.pn = phi { ptr, i32 } [ %.pn49.pn, %ehcleanup137 ], [ %.pn46.pn, %ehcleanup115 ], [ %75, %ehcleanup98 ], [ %.pn444626, %if.then.i.i.i.i285 ], [ %lpad.loopexit2379, %lpad68.loopexit ], [ %lpad.loopexit2398, %lpad68.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2399, %lpad68.loopexit.split-lp.loopexit.split-lp ] +ehcleanup138: ; preds = %lpad68.loopexit, %lpad68.loopexit.split-lp.loopexit.split-lp, %lpad68.loopexit.split-lp.loopexit, %if.then.i.i.i.i286, %ehcleanup98, %ehcleanup137, %ehcleanup115 + %std_v64.sroa.0.7 = phi ptr [ %std_v64.sroa.0.5, %ehcleanup137 ], [ %std_v64.sroa.0.5, %ehcleanup115 ], [ %std_v64.sroa.0.5, %ehcleanup98 ], [ %std_v64.sroa.0.5, %if.then.i.i.i.i286 ], [ %std_v64.sroa.0.3, %lpad68.loopexit ], [ %std_v64.sroa.0.6.ph.ph, %lpad68.loopexit.split-lp.loopexit ], [ %std_v64.sroa.0.6.ph.ph2422, %lpad68.loopexit.split-lp.loopexit.split-lp ] + %.pn49.pn.pn = phi { ptr, i32 } [ %.pn49.pn, %ehcleanup137 ], [ %.pn46.pn, %ehcleanup115 ], [ %75, %ehcleanup98 ], [ %.pn444652, %if.then.i.i.i.i286 ], [ %lpad.loopexit2404, %lpad68.loopexit ], [ %lpad.loopexit2423, %lpad68.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2424, %lpad68.loopexit.split-lp.loopexit.split-lp ] %126 = load i64, ptr %v67, align 8 - %and.i.i.i.i471 = and i64 %126, 1 - %tobool.i.not.i.i.i472 = icmp eq i64 %and.i.i.i.i471, 0 - br i1 %tobool.i.not.i.i.i472, label %ehcleanup139, label %if.then.i.i.i473 + %and.i.i.i.i472 = and i64 %126, 1 + %tobool.i.not.i.i.i473 = icmp eq i64 %and.i.i.i.i472, 0 + br i1 %tobool.i.not.i.i.i473, label %ehcleanup139, label %if.then.i.i.i474 -if.then.i.i.i473: ; preds = %ehcleanup138 - %127 = load ptr, ptr %data_.i1.i.i1255, align 8 +if.then.i.i.i474: ; preds = %ehcleanup138 + %127 = load ptr, ptr %data_.i1.i.i1257, align 8 call void @_ZdlPv(ptr noundef %127) #32 br label %ehcleanup139 -ehcleanup139: ; preds = %lpad65.loopexit, %lpad65.loopexit.split-lp, %if.then.i.i.i473, %ehcleanup138 - %std_v64.sroa.0.8 = phi ptr [ %std_v64.sroa.0.7, %ehcleanup138 ], [ %std_v64.sroa.0.7, %if.then.i.i.i473 ], [ %std_v64.sroa.0.2, %lpad65.loopexit ], [ %std_v64.sroa.0.2, %lpad65.loopexit.split-lp ] - %.pn49.pn.pn.pn = phi { ptr, i32 } [ %.pn49.pn.pn, %ehcleanup138 ], [ %.pn49.pn.pn, %if.then.i.i.i473 ], [ %lpad.loopexit2382, %lpad65.loopexit ], [ %lpad.loopexit.split-lp2383, %lpad65.loopexit.split-lp ] - %tobool.not.i.i.i476 = icmp eq ptr %std_v64.sroa.0.8, null - br i1 %tobool.not.i.i.i476, label %eh.resume, label %eh.resume.sink.split +ehcleanup139: ; preds = %lpad65.loopexit, %lpad65.loopexit.split-lp, %if.then.i.i.i474, %ehcleanup138 + %std_v64.sroa.0.8 = phi ptr [ %std_v64.sroa.0.7, %ehcleanup138 ], [ %std_v64.sroa.0.7, %if.then.i.i.i474 ], [ %std_v64.sroa.0.2, %lpad65.loopexit ], [ %std_v64.sroa.0.2, %lpad65.loopexit.split-lp ] + %.pn49.pn.pn.pn = phi { ptr, i32 } [ %.pn49.pn.pn, %ehcleanup138 ], [ %.pn49.pn.pn, %if.then.i.i.i474 ], [ %lpad.loopexit2407, %lpad65.loopexit ], [ %lpad.loopexit.split-lp2408, %lpad65.loopexit.split-lp ] + %tobool.not.i.i.i477 = icmp eq ptr %std_v64.sroa.0.8, null + br i1 %tobool.not.i.i.i477, label %eh.resume, label %eh.resume.sink.split -lpad141.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i374 - %lpad.loopexit2375 = landingpad { ptr, i32 } +lpad141.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i375 + %lpad.loopexit2400 = landingpad { ptr, i32 } cleanup br label %ehcleanup238 -lpad141.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i387 - %lpad.loopexit.split-lp2376 = landingpad { ptr, i32 } +lpad141.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i389 + %lpad.loopexit.split-lp2401 = landingpad { ptr, i32 } cleanup br label %ehcleanup238 -lpad144.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1402 - %lpad.loopexit2372 = landingpad { ptr, i32 } +lpad144.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1403 + %lpad.loopexit2397 = landingpad { ptr, i32 } cleanup br label %ehcleanup237 -lpad144.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i1421, %if.end.i.i.i.i.i.i1420 - %lpad.loopexit.split-lp2373 = landingpad { ptr, i32 } +lpad144.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i1422, %if.end.i.i.i.i.i.i1421 + %lpad.loopexit.split-lp2398 = landingpad { ptr, i32 } cleanup br label %ehcleanup237 -lpad169.loopexit: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429, %if.then.i.i512, %if.end.i.i511, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1472, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1528 - %std_v140.sroa.0.6.ph = phi ptr [ %std_v140.sroa.0.42324, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1472 ], [ %std_v140.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1528 ], [ %std_v140.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429 ], [ %std_v140.sroa.0.5, %if.end.i.i511 ], [ %std_v140.sroa.0.5, %if.then.i.i512 ] - %lpad.loopexit2402 = landingpad { ptr, i32 } +lpad169.loopexit: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429, %if.then.i.i513, %if.end.i.i512, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1475, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1531 + %std_v140.sroa.0.6.ph = phi ptr [ %std_v140.sroa.0.42324, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1475 ], [ %std_v140.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1531 ], [ %std_v140.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i429 ], [ %std_v140.sroa.0.5, %if.end.i.i512 ], [ %std_v140.sroa.0.5, %if.then.i.i513 ] + %lpad.loopexit2427 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIiSaIiEED2Ev.exit680 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit681 -lpad169.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i433, %if.then.i.i1476, %if.then3.i.i.i.i.i1556, %if.end.i.i.i.i.i1555 - %std_v140.sroa.0.6.ph2401 = phi ptr [ %std_v140.sroa.0.42324, %if.then.i.i1476 ], [ %std_v140.sroa.0.5, %if.end.i.i.i.i.i1555 ], [ %std_v140.sroa.0.5, %if.then3.i.i.i.i.i1556 ], [ %std_v140.sroa.0.5, %if.then.i.i.i.i.i.i433 ] - %lpad.loopexit.split-lp2403 = landingpad { ptr, i32 } +lpad169.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i434, %if.then.i.i1479, %if.then3.i.i.i.i.i1559, %if.end.i.i.i.i.i1558 + %std_v140.sroa.0.6.ph2426 = phi ptr [ %std_v140.sroa.0.42324, %if.then.i.i1479 ], [ %std_v140.sroa.0.5, %if.end.i.i.i.i.i1558 ], [ %std_v140.sroa.0.5, %if.then3.i.i.i.i.i1559 ], [ %std_v140.sroa.0.5, %if.then.i.i.i.i.i.i434 ] + %lpad.loopexit.split-lp2428 = landingpad { ptr, i32 } cleanup - br label %_ZNSt6vectorIiSaIiEED2Ev.exit680 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit681 lpad193: ; preds = %invoke.cont192 %128 = landingpad { ptr, i32 } cleanup %129 = load ptr, ptr %ref.tmp188, align 8 - %tobool.not.i.i.i.i.i480 = icmp eq ptr %129, null - br i1 %tobool.not.i.i.i.i.i480, label %ehcleanup196, label %if.then.i.i.i.i.i481 + %tobool.not.i.i.i.i.i481 = icmp eq ptr %129, null + br i1 %tobool.not.i.i.i.i.i481, label %ehcleanup196, label %if.then.i.i.i.i.i482 -if.then.i.i.i.i.i481: ; preds = %lpad193 +if.then.i.i.i.i.i482: ; preds = %lpad193 call void @_ZdlPv(ptr noundef nonnull %129) #32 br label %ehcleanup196 -ehcleanup196: ; preds = %if.then.i.i.i.i.i481, %lpad193 - %tobool.not.i.i.i.i483 = icmp eq ptr %agg.tmp189.sroa.0.24632, null - br i1 %tobool.not.i.i.i.i483, label %_ZNSt6vectorIiSaIiEED2Ev.exit680, label %if.then.i.i.i.i484 +ehcleanup196: ; preds = %if.then.i.i.i.i.i482, %lpad193 + %tobool.not.i.i.i.i484 = icmp eq ptr %agg.tmp189.sroa.0.24654, null + br i1 %tobool.not.i.i.i.i484, label %_ZNSt6vectorIiSaIiEED2Ev.exit681, label %if.then.i.i.i.i485 -if.then.i.i.i.i484: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i447, %ehcleanup196 - %.pn544639 = phi { ptr, i32 } [ %128, %ehcleanup196 ], [ %122, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i447 ] - %agg.tmp189.sroa.0.246344638 = phi ptr [ %agg.tmp189.sroa.0.24632, %ehcleanup196 ], [ %call5.i.i.i.i1.i.i.i.i436, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i447 ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp189.sroa.0.246344638) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit680 +if.then.i.i.i.i485: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i448, %ehcleanup196 + %.pn544661 = phi { ptr, i32 } [ %128, %ehcleanup196 ], [ %122, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i448 ] + %agg.tmp189.sroa.0.246564660 = phi ptr [ %agg.tmp189.sroa.0.24654, %ehcleanup196 ], [ %call5.i.i.i.i1.i.i.i.i437, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i448 ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp189.sroa.0.246564660) #32 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit681 -if.else199: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit469 +if.else199: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit470 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp200) to label %invoke.cont202 unwind label %lpad201 invoke.cont202: ; preds = %if.else199 - %130 = load ptr, ptr %message_.i.i486, align 8 - %cmp.i.i.not.i.i487 = icmp eq ptr %130, null - br i1 %cmp.i.i.not.i.i487, label %invoke.cont205, label %cond.true.i.i488 + %130 = load ptr, ptr %message_.i.i487, align 8 + %cmp.i.i.not.i.i488 = icmp eq ptr %130, null + br i1 %cmp.i.i.not.i.i488, label %invoke.cont205, label %cond.true.i.i489 -cond.true.i.i488: ; preds = %invoke.cont202 - %call4.i.i489 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %130) #29 +cond.true.i.i489: ; preds = %invoke.cont202 + %call4.i.i490 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %130) #29 br label %invoke.cont205 -invoke.cont205: ; preds = %cond.true.i.i488, %invoke.cont202 - %cond.i.i490 = phi ptr [ %call4.i.i489, %cond.true.i.i488 ], [ @.str.202, %invoke.cont202 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp203, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 524, ptr noundef %cond.i.i490) +invoke.cont205: ; preds = %cond.true.i.i489, %invoke.cont202 + %cond.i.i491 = phi ptr [ %call4.i.i490, %cond.true.i.i489 ], [ @.str.202, %invoke.cont202 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp203, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 524, ptr noundef %cond.i.i491) to label %invoke.cont207 unwind label %lpad204 invoke.cont207: ; preds = %invoke.cont205 @@ -24579,17 +24572,17 @@ invoke.cont207: ; preds = %invoke.cont205 invoke.cont209: ; preds = %invoke.cont207 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp203) #29 %131 = load ptr, ptr %ref.tmp200, align 8 - %cmp.not.i.i492 = icmp eq ptr %131, null - br i1 %cmp.not.i.i492, label %_ZN7testing7MessageD2Ev.exit496, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i493 + %cmp.not.i.i493 = icmp eq ptr %131, null + br i1 %cmp.not.i.i493, label %_ZN7testing7MessageD2Ev.exit497, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i494 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i493: ; preds = %invoke.cont209 - %vtable.i.i.i494 = load ptr, ptr %131, align 8 - %vfn.i.i.i495 = getelementptr inbounds ptr, ptr %vtable.i.i.i494, i64 1 - %132 = load ptr, ptr %vfn.i.i.i495, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i494: ; preds = %invoke.cont209 + %vtable.i.i.i495 = load ptr, ptr %131, align 8 + %vfn.i.i.i496 = getelementptr inbounds ptr, ptr %vtable.i.i.i495, i64 1 + %132 = load ptr, ptr %vfn.i.i.i496, align 8 call void %132(ptr noundef nonnull align 8 dereferenceable(128) %131) #29 - br label %_ZN7testing7MessageD2Ev.exit496 + br label %_ZN7testing7MessageD2Ev.exit497 -_ZN7testing7MessageD2Ev.exit496: ; preds = %invoke.cont209, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i493 +_ZN7testing7MessageD2Ev.exit497: ; preds = %invoke.cont209, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i494 store ptr null, ptr %ref.tmp200, align 8 br label %if.end212 @@ -24612,78 +24605,78 @@ lpad208: ; preds = %invoke.cont207 ehcleanup211: ; preds = %lpad208, %lpad204 %.pn56 = phi { ptr, i32 } [ %135, %lpad208 ], [ %134, %lpad204 ] %136 = load ptr, ptr %ref.tmp200, align 8 - %cmp.not.i.i497 = icmp eq ptr %136, null - br i1 %cmp.not.i.i497, label %_ZN7testing7MessageD2Ev.exit501, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498 + %cmp.not.i.i498 = icmp eq ptr %136, null + br i1 %cmp.not.i.i498, label %_ZN7testing7MessageD2Ev.exit502, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i499 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498: ; preds = %ehcleanup211 - %vtable.i.i.i499 = load ptr, ptr %136, align 8 - %vfn.i.i.i500 = getelementptr inbounds ptr, ptr %vtable.i.i.i499, i64 1 - %137 = load ptr, ptr %vfn.i.i.i500, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i499: ; preds = %ehcleanup211 + %vtable.i.i.i500 = load ptr, ptr %136, align 8 + %vfn.i.i.i501 = getelementptr inbounds ptr, ptr %vtable.i.i.i500, i64 1 + %137 = load ptr, ptr %vfn.i.i.i501, align 8 call void %137(ptr noundef nonnull align 8 dereferenceable(128) %136) #29 - br label %_ZN7testing7MessageD2Ev.exit501 + br label %_ZN7testing7MessageD2Ev.exit502 -_ZN7testing7MessageD2Ev.exit501: ; preds = %ehcleanup211, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i498 +_ZN7testing7MessageD2Ev.exit502: ; preds = %ehcleanup211, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i499 store ptr null, ptr %ref.tmp200, align 8 br label %ehcleanup213 -if.end212: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit469, %_ZN7testing7MessageD2Ev.exit496 - %138 = load ptr, ptr %message_.i.i486, align 8 - %cmp.not.i.i503 = icmp eq ptr %138, null - br i1 %cmp.not.i.i503, label %_ZN7testing15AssertionResultD2Ev.exit505, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i504 +if.end212: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit470, %_ZN7testing7MessageD2Ev.exit497 + %138 = load ptr, ptr %message_.i.i487, align 8 + %cmp.not.i.i504 = icmp eq ptr %138, null + br i1 %cmp.not.i.i504, label %_ZN7testing15AssertionResultD2Ev.exit506, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i505 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i504: ; preds = %if.end212 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i505: ; preds = %if.end212 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #29 call void @_ZdlPv(ptr noundef nonnull %138) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit505 + br label %_ZN7testing15AssertionResultD2Ev.exit506 -_ZN7testing15AssertionResultD2Ev.exit505: ; preds = %if.end212, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i504 - store ptr null, ptr %message_.i.i486, align 8 +_ZN7testing15AssertionResultD2Ev.exit506: ; preds = %if.end212, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i505 + store ptr null, ptr %message_.i.i487, align 8 %139 = load i64, ptr %v143, align 8 - %and.i.i.i.i506 = and i64 %139, 1 - %tobool.i.not.i.i.i507 = icmp eq i64 %and.i.i.i.i506, 0 - %140 = load ptr, ptr %data_.i1.i.i1388, align 8 - %cond.i.i.i509 = select i1 %tobool.i.not.i.i.i507, ptr %data_.i1.i.i1388, ptr %140 - %add.ptr217 = getelementptr inbounds i32, ptr %cond.i.i.i509, i64 %pos.03500 + %and.i.i.i.i507 = and i64 %139, 1 + %tobool.i.not.i.i.i508 = icmp eq i64 %and.i.i.i.i507, 0 + %140 = load ptr, ptr %data_.i1.i.i1389, align 8 + %cond.i.i.i510 = select i1 %tobool.i.not.i.i.i508, ptr %data_.i1.i.i1389, ptr %140 + %add.ptr217 = getelementptr inbounds i32, ptr %cond.i.i.i510, i64 %pos.03525 store ptr %add.ptr217, ptr %ref.tmp215, align 8 %141 = load ptr, ptr %it174, align 8, !noalias !541 - %cmp.i.i510 = icmp eq ptr %141, %add.ptr217 - br i1 %cmp.i.i510, label %if.then.i.i512, label %if.end.i.i511 + %cmp.i.i511 = icmp eq ptr %141, %add.ptr217 + br i1 %cmp.i.i511, label %if.then.i.i513, label %if.end.i.i512 -if.then.i.i512: ; preds = %_ZN7testing15AssertionResultD2Ev.exit505 +if.then.i.i513: ; preds = %_ZN7testing15AssertionResultD2Ev.exit506 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar214) to label %invoke.cont218 unwind label %lpad169.loopexit -if.end.i.i511: ; preds = %_ZN7testing15AssertionResultD2Ev.exit505 +if.end.i.i512: ; preds = %_ZN7testing15AssertionResultD2Ev.exit506 invoke void @_ZN7testing8internal18CmpHelperEQFailureIPiPKiEENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar214, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.291, ptr noundef nonnull align 8 dereferenceable(8) %it174, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp215) to label %invoke.cont218 unwind label %lpad169.loopexit -invoke.cont218: ; preds = %if.then.i.i512, %if.end.i.i511 +invoke.cont218: ; preds = %if.then.i.i513, %if.end.i.i512 %142 = load i8, ptr %gtest_ar214, align 8 %143 = and i8 %142, 1 - %tobool.i516.not = icmp eq i8 %143, 0 - br i1 %tobool.i516.not, label %if.else221, label %if.end234 + %tobool.i517.not = icmp eq i8 %143, 0 + br i1 %tobool.i517.not, label %if.else221, label %if.end234 -ehcleanup213: ; preds = %_ZN7testing7MessageD2Ev.exit501, %lpad201 - %.pn56.pn = phi { ptr, i32 } [ %.pn56, %_ZN7testing7MessageD2Ev.exit501 ], [ %133, %lpad201 ] +ehcleanup213: ; preds = %_ZN7testing7MessageD2Ev.exit502, %lpad201 + %.pn56.pn = phi { ptr, i32 } [ %.pn56, %_ZN7testing7MessageD2Ev.exit502 ], [ %133, %lpad201 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar187) #29 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit680 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit681 if.else221: ; preds = %invoke.cont218 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp222) to label %invoke.cont224 unwind label %lpad223 invoke.cont224: ; preds = %if.else221 - %144 = load ptr, ptr %message_.i.i517, align 8 - %cmp.i.i.not.i.i518 = icmp eq ptr %144, null - br i1 %cmp.i.i.not.i.i518, label %invoke.cont227, label %cond.true.i.i519 + %144 = load ptr, ptr %message_.i.i518, align 8 + %cmp.i.i.not.i.i519 = icmp eq ptr %144, null + br i1 %cmp.i.i.not.i.i519, label %invoke.cont227, label %cond.true.i.i520 -cond.true.i.i519: ; preds = %invoke.cont224 - %call4.i.i520 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %144) #29 +cond.true.i.i520: ; preds = %invoke.cont224 + %call4.i.i521 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %144) #29 br label %invoke.cont227 -invoke.cont227: ; preds = %cond.true.i.i519, %invoke.cont224 - %cond.i.i521 = phi ptr [ %call4.i.i520, %cond.true.i.i519 ], [ @.str.202, %invoke.cont224 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp225, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 525, ptr noundef %cond.i.i521) +invoke.cont227: ; preds = %cond.true.i.i520, %invoke.cont224 + %cond.i.i522 = phi ptr [ %call4.i.i521, %cond.true.i.i520 ], [ @.str.202, %invoke.cont224 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp225, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 525, ptr noundef %cond.i.i522) to label %invoke.cont229 unwind label %lpad226 invoke.cont229: ; preds = %invoke.cont227 @@ -24693,17 +24686,17 @@ invoke.cont229: ; preds = %invoke.cont227 invoke.cont231: ; preds = %invoke.cont229 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp225) #29 %145 = load ptr, ptr %ref.tmp222, align 8 - %cmp.not.i.i523 = icmp eq ptr %145, null - br i1 %cmp.not.i.i523, label %_ZN7testing7MessageD2Ev.exit527, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i524 + %cmp.not.i.i524 = icmp eq ptr %145, null + br i1 %cmp.not.i.i524, label %_ZN7testing7MessageD2Ev.exit528, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i525 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i524: ; preds = %invoke.cont231 - %vtable.i.i.i525 = load ptr, ptr %145, align 8 - %vfn.i.i.i526 = getelementptr inbounds ptr, ptr %vtable.i.i.i525, i64 1 - %146 = load ptr, ptr %vfn.i.i.i526, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i525: ; preds = %invoke.cont231 + %vtable.i.i.i526 = load ptr, ptr %145, align 8 + %vfn.i.i.i527 = getelementptr inbounds ptr, ptr %vtable.i.i.i526, i64 1 + %146 = load ptr, ptr %vfn.i.i.i527, align 8 call void %146(ptr noundef nonnull align 8 dereferenceable(128) %145) #29 - br label %_ZN7testing7MessageD2Ev.exit527 + br label %_ZN7testing7MessageD2Ev.exit528 -_ZN7testing7MessageD2Ev.exit527: ; preds = %invoke.cont231, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i524 +_ZN7testing7MessageD2Ev.exit528: ; preds = %invoke.cont231, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i525 store ptr null, ptr %ref.tmp222, align 8 br label %if.end234 @@ -24726,230 +24719,231 @@ lpad230: ; preds = %invoke.cont229 ehcleanup233: ; preds = %lpad230, %lpad226 %.pn59 = phi { ptr, i32 } [ %149, %lpad230 ], [ %148, %lpad226 ] %150 = load ptr, ptr %ref.tmp222, align 8 - %cmp.not.i.i528 = icmp eq ptr %150, null - br i1 %cmp.not.i.i528, label %_ZN7testing7MessageD2Ev.exit532, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i529 + %cmp.not.i.i529 = icmp eq ptr %150, null + br i1 %cmp.not.i.i529, label %_ZN7testing7MessageD2Ev.exit533, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i530 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i529: ; preds = %ehcleanup233 - %vtable.i.i.i530 = load ptr, ptr %150, align 8 - %vfn.i.i.i531 = getelementptr inbounds ptr, ptr %vtable.i.i.i530, i64 1 - %151 = load ptr, ptr %vfn.i.i.i531, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i530: ; preds = %ehcleanup233 + %vtable.i.i.i531 = load ptr, ptr %150, align 8 + %vfn.i.i.i532 = getelementptr inbounds ptr, ptr %vtable.i.i.i531, i64 1 + %151 = load ptr, ptr %vfn.i.i.i532, align 8 call void %151(ptr noundef nonnull align 8 dereferenceable(128) %150) #29 - br label %_ZN7testing7MessageD2Ev.exit532 + br label %_ZN7testing7MessageD2Ev.exit533 -_ZN7testing7MessageD2Ev.exit532: ; preds = %ehcleanup233, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i529 +_ZN7testing7MessageD2Ev.exit533: ; preds = %ehcleanup233, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i530 store ptr null, ptr %ref.tmp222, align 8 br label %ehcleanup235 -if.end234: ; preds = %invoke.cont218, %_ZN7testing7MessageD2Ev.exit527 - %152 = load ptr, ptr %message_.i.i517, align 8 - %cmp.not.i.i534 = icmp eq ptr %152, null - br i1 %cmp.not.i.i534, label %_ZNSt6vectorIiSaIiEED2Ev.exit540, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i535 +if.end234: ; preds = %invoke.cont218, %_ZN7testing7MessageD2Ev.exit528 + %152 = load ptr, ptr %message_.i.i518, align 8 + %cmp.not.i.i535 = icmp eq ptr %152, null + br i1 %cmp.not.i.i535, label %_ZNSt6vectorIiSaIiEED2Ev.exit541, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i536 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i535: ; preds = %if.end234 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i536: ; preds = %if.end234 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #29 call void @_ZdlPv(ptr noundef nonnull %152) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit540 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit541 -_ZNSt6vectorIiSaIiEED2Ev.exit540: ; preds = %if.end234, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i535 - store ptr null, ptr %message_.i.i517, align 8 +_ZNSt6vectorIiSaIiEED2Ev.exit541: ; preds = %if.end234, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i536 + store ptr null, ptr %message_.i.i518, align 8 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #32 %153 = load i64, ptr %v143, align 8 - %and.i.i.i.i541 = and i64 %153, 1 - %tobool.i.not.i.i.i542 = icmp eq i64 %and.i.i.i.i541, 0 - br i1 %tobool.i.not.i.i.i542, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit545, label %if.then.i.i.i543 + %and.i.i.i.i542 = and i64 %153, 1 + %tobool.i.not.i.i.i543 = icmp eq i64 %and.i.i.i.i542, 0 + br i1 %tobool.i.not.i.i.i543, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit546, label %if.then.i.i.i544 -if.then.i.i.i543: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit540 - %154 = load ptr, ptr %data_.i1.i.i1388, align 8 +if.then.i.i.i544: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit541 + %154 = load ptr, ptr %data_.i1.i.i1389, align 8 call void @_ZdlPv(ptr noundef %154) #32 - br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit545 + br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit546 -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit545: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit540, %if.then.i.i.i543 - %tobool.not.i.i.i546 = icmp eq ptr %std_v140.sroa.0.5, null - br i1 %tobool.not.i.i.i546, label %_ZNSt6vectorIiSaIiEED2Ev.exit549, label %if.then.i.i.i547 +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit546: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit541, %if.then.i.i.i544 + %tobool.not.i.i.i547 = icmp eq ptr %std_v140.sroa.0.5, null + br i1 %tobool.not.i.i.i547, label %_ZNSt6vectorIiSaIiEED2Ev.exit550, label %if.then.i.i.i548 -if.then.i.i.i547: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit545 +if.then.i.i.i548: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit546 call void @_ZdlPv(ptr noundef nonnull %std_v140.sroa.0.5) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit549 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit550 -_ZNSt6vectorIiSaIiEED2Ev.exit549: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit545, %if.then.i.i.i547 - br i1 %cmp4.not.i, label %invoke.cont241.thread, label %for.body.i555 +_ZNSt6vectorIiSaIiEED2Ev.exit550: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit546, %if.then.i.i.i548 + br i1 %cmp4.not.i, label %invoke.cont241.thread, label %for.body.i556 -invoke.cont241.thread: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit549 +invoke.cont241.thread: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit550 store i64 0, ptr %v242, align 8 br label %invoke.cont244 -for.body.i555: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit549, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561 - %std_v239.sroa.0.2 = phi ptr [ %std_v239.sroa.0.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit549 ] - %std_v239.sroa.24.2 = phi ptr [ %std_v239.sroa.24.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit549 ] - %155 = phi ptr [ %std_v239.sroa.11.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit549 ] - %i.05.i556 = phi i64 [ %inc.i562, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561 ], [ 0, %_ZNSt6vectorIiSaIiEED2Ev.exit549 ] - %conv.i557 = trunc i64 %i.05.i556 to i32 - %cmp.not.i.i.i558 = icmp eq ptr %155, %std_v239.sroa.24.2 - br i1 %cmp.not.i.i.i558, label %if.else.i.i.i564, label %if.then.i.i.i559 - -if.then.i.i.i559: ; preds = %for.body.i555 - store i32 %conv.i557, ptr %155, align 4 - br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561 - -if.else.i.i.i564: ; preds = %for.body.i555 - %sub.ptr.lhs.cast.i.i.i.i.i.i565 = ptrtoint ptr %std_v239.sroa.24.2 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i566 = ptrtoint ptr %std_v239.sroa.0.2 to i64 - %sub.ptr.sub.i.i.i.i.i.i567 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i565, %sub.ptr.rhs.cast.i.i.i.i.i.i566 - %cmp.i.i.i.i.i568 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i567, 9223372036854775804 - br i1 %cmp.i.i.i.i.i568, label %if.then.i.i.i.i.i591, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i569 - -if.then.i.i.i.i.i591: ; preds = %if.else.i.i.i564 +for.body.i556: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit550, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562 + %std_v239.sroa.0.2 = phi ptr [ %std_v239.sroa.0.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit550 ] + %std_v239.sroa.24.2 = phi ptr [ %std_v239.sroa.24.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit550 ] + %155 = phi ptr [ %std_v239.sroa.11.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit550 ] + %i.05.i557 = phi i64 [ %inc.i563, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562 ], [ 0, %_ZNSt6vectorIiSaIiEED2Ev.exit550 ] + %conv.i558 = trunc i64 %i.05.i557 to i32 + %cmp.not.i.i.i559 = icmp eq ptr %155, %std_v239.sroa.24.2 + br i1 %cmp.not.i.i.i559, label %if.else.i.i.i565, label %if.then.i.i.i560 + +if.then.i.i.i560: ; preds = %for.body.i556 + store i32 %conv.i558, ptr %155, align 4 + br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562 + +if.else.i.i.i565: ; preds = %for.body.i556 + %sub.ptr.lhs.cast.i.i.i.i.i.i566 = ptrtoint ptr %std_v239.sroa.24.2 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i567 = ptrtoint ptr %std_v239.sroa.0.2 to i64 + %sub.ptr.sub.i.i.i.i.i.i568 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i566, %sub.ptr.rhs.cast.i.i.i.i.i.i567 + %cmp.i.i.i.i.i569 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i568, 9223372036854775804 + br i1 %cmp.i.i.i.i.i569, label %if.then.i.i.i.i.i593, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i570 + +if.then.i.i.i.i.i593: ; preds = %if.else.i.i.i565 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc592 unwind label %lpad240.loopexit.split-lp - -.noexc592: ; preds = %if.then.i.i.i.i.i591 - unreachable - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i569: ; preds = %if.else.i.i.i564 - %sub.ptr.div.i.i.i.i.i.i570 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i567, 2 - %.sroa.speculated.i.i.i.i.i571 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i570, i64 1) - %add.i.i.i.i.i572 = add i64 %.sroa.speculated.i.i.i.i.i571, %sub.ptr.div.i.i.i.i.i.i570 - %cmp7.i.i.i.i.i573 = icmp ult i64 %add.i.i.i.i.i572, %sub.ptr.div.i.i.i.i.i.i570 - %cmp9.i.i.i.i.i574 = icmp ugt i64 %add.i.i.i.i.i572, 2305843009213693951 - %or.cond.i.i.i.i.i575 = or i1 %cmp7.i.i.i.i.i573, %cmp9.i.i.i.i.i574 - %cond.i.i.i.i.i576 = select i1 %or.cond.i.i.i.i.i575, i64 2305843009213693951, i64 %add.i.i.i.i.i572 - %cmp.not.i.i.i.i.i577 = icmp eq i64 %cond.i.i.i.i.i576, 0 - br i1 %cmp.not.i.i.i.i.i577, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i580, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i578 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i578: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i569 - %mul.i.i.i.i.i.i.i579 = shl nuw nsw i64 %cond.i.i.i.i.i576, 2 - %call5.i.i.i.i.i.i.i594 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i579) #33 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i580 unwind label %lpad240.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i580: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i578, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i569 - %cond.i10.i.i.i.i581 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i569 ], [ %call5.i.i.i.i.i.i.i594, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i578 ] - %add.ptr.i.i.i.i582 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i581, i64 %sub.ptr.div.i.i.i.i.i.i570 - store i32 %conv.i557, ptr %add.ptr.i.i.i.i582, align 4 - %cmp.i.i.i11.i.i.i.i583 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i570, 0 - br i1 %cmp.i.i.i11.i.i.i.i583, label %if.then.i.i.i12.i.i.i.i590, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i584 - -if.then.i.i.i12.i.i.i.i590: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i580 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i581, ptr align 4 %std_v239.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i567, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i584 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i584: ; preds = %if.then.i.i.i12.i.i.i.i590, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i580 - %tobool.not.i.i.i.i.i586 = icmp eq ptr %std_v239.sroa.0.2, null - br i1 %tobool.not.i.i.i.i.i586, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i588, label %if.then.i21.i.i.i.i587 - -if.then.i21.i.i.i.i587: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i584 + to label %.noexc594 unwind label %lpad240.loopexit.split-lp + +.noexc594: ; preds = %if.then.i.i.i.i.i593 + unreachable + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i570: ; preds = %if.else.i.i.i565 + %sub.ptr.div.i.i.i.i.i.i571 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i568, 2 + %.sroa.speculated.i.i.i.i.i572 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i571, i64 1) + %add.i.i.i.i.i573 = add i64 %.sroa.speculated.i.i.i.i.i572, %sub.ptr.div.i.i.i.i.i.i571 + %cmp7.i.i.i.i.i574 = icmp ult i64 %add.i.i.i.i.i573, %sub.ptr.div.i.i.i.i.i.i571 + %cmp9.i.i.i.i.i575 = icmp ugt i64 %add.i.i.i.i.i573, 2305843009213693951 + %or.cond.i.i.i.i.i576 = or i1 %cmp7.i.i.i.i.i574, %cmp9.i.i.i.i.i575 + %cond.i.i.i.i.i577 = select i1 %or.cond.i.i.i.i.i576, i64 2305843009213693951, i64 %add.i.i.i.i.i573 + %cmp.not.i.i.i.i.i578 = icmp eq i64 %cond.i.i.i.i.i577, 0 + br i1 %cmp.not.i.i.i.i.i578, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i581, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i579 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i579: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i570 + %mul.i.i.i.i.i.i.i580 = shl nuw nsw i64 %cond.i.i.i.i.i577, 2 + %call5.i.i.i.i.i.i.i596 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i580) #33 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i581 unwind label %lpad240.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i581: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i579, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i570 + %cond.i10.i.i.i.i582 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i570 ], [ %call5.i.i.i.i.i.i.i596, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i579 ] + %add.ptr.i.i.i.i583 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i582, i64 %sub.ptr.div.i.i.i.i.i.i571 + store i32 %conv.i558, ptr %add.ptr.i.i.i.i583, align 4 + %cmp.i.i.i11.i.i.i.i584 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i568, 0 + br i1 %cmp.i.i.i11.i.i.i.i584, label %if.then.i.i.i12.i.i.i.i592, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i585 + +if.then.i.i.i12.i.i.i.i592: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i581 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i582, ptr align 4 %std_v239.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i568, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i585 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i585: ; preds = %if.then.i.i.i12.i.i.i.i592, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i581 + %add.ptr.i.i.i.i.i.i.i586 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i582, i64 %sub.ptr.sub.i.i.i.i.i.i568 + %tobool.not.i.i.i.i.i588 = icmp eq ptr %std_v239.sroa.0.2, null + br i1 %tobool.not.i.i.i.i.i588, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i590, label %if.then.i20.i.i.i.i589 + +if.then.i20.i.i.i.i589: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i585 call void @_ZdlPv(ptr noundef nonnull %std_v239.sroa.0.2) #32 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i588 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i588: ; preds = %if.then.i21.i.i.i.i587, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i584 - %add.ptr19.i.i.i.i589 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i581, i64 %cond.i.i.i.i.i576 - br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561 - -_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i588, %if.then.i.i.i559 - %std_v239.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i581, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i588 ], [ %std_v239.sroa.0.2, %if.then.i.i.i559 ] - %add.ptr.i.i.i.i582.pn = phi ptr [ %add.ptr.i.i.i.i582, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i588 ], [ %155, %if.then.i.i.i559 ] - %std_v239.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i589, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i588 ], [ %std_v239.sroa.24.2, %if.then.i.i.i559 ] - %std_v239.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i582.pn, i64 1 - %inc.i562 = add nuw nsw i64 %i.05.i556, 1 - %exitcond.not.i563 = icmp eq i64 %inc.i562, %len.03501 - br i1 %exitcond.not.i563, label %invoke.cont241, label %for.body.i555, !llvm.loop !489 - -invoke.cont241: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i561 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i590 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i590: ; preds = %if.then.i20.i.i.i.i589, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i585 + %add.ptr19.i.i.i.i591 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i582, i64 %cond.i.i.i.i.i577 + br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562 + +_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i590, %if.then.i.i.i560 + %std_v239.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i582, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i590 ], [ %std_v239.sroa.0.2, %if.then.i.i.i560 ] + %add.ptr.i.i.i.i.i.i.i586.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i586, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i590 ], [ %155, %if.then.i.i.i560 ] + %std_v239.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i591, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i590 ], [ %std_v239.sroa.24.2, %if.then.i.i.i560 ] + %std_v239.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i586.pn, i64 1 + %inc.i563 = add nuw nsw i64 %i.05.i557, 1 + %exitcond.not.i564 = icmp eq i64 %inc.i563, %len.03526 + br i1 %exitcond.not.i564, label %invoke.cont241, label %for.body.i556, !llvm.loop !489 + +invoke.cont241: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i562 store i64 0, ptr %v242, align 8 - br label %for.body.i598 - -for.body.i598: ; preds = %invoke.cont241, %call.i.i.i.noexc603 - %156 = phi i64 [ %storemerge.i1573, %call.i.i.i.noexc603 ], [ 0, %invoke.cont241 ] - %i.04.i599 = phi i64 [ %inc.i601, %call.i.i.i.noexc603 ], [ 0, %invoke.cont241 ] - %conv.i600 = trunc i64 %i.04.i599 to i32 - %and.i.i.i1561 = and i64 %156, 1 - %tobool.i.not.i.i1562 = icmp eq i64 %and.i.i.i1561, 0 - %157 = load ptr, ptr %data_.i1.i.i1563, align 8 - %158 = load i64, ptr %allocated_capacity.i.i.i1564, align 8, !noalias !11 - %.sink3.i.i1565 = select i1 %tobool.i.not.i.i1562, ptr %data_.i1.i.i1563, ptr %157 - %.sink.i.i1566 = select i1 %tobool.i.not.i.i1562, i64 8, i64 %158 - %shr.i.sink.i.i1567 = lshr i64 %156, 1 - %cmp.not.i1568 = icmp eq i64 %shr.i.sink.i.i1567, %.sink.i.i1566 - br i1 %cmp.not.i1568, label %if.end.i1574, label %if.then.i1569 - -if.then.i1569: ; preds = %for.body.i598 - %add.ptr.i1570 = getelementptr inbounds i32, ptr %.sink3.i.i1565, i64 %shr.i.sink.i.i1567 - store i32 %conv.i600, ptr %add.ptr.i1570, align 4 + br label %for.body.i600 + +for.body.i600: ; preds = %invoke.cont241, %call.i.i.i.noexc605 + %156 = phi i64 [ %storemerge.i1576, %call.i.i.i.noexc605 ], [ 0, %invoke.cont241 ] + %i.04.i601 = phi i64 [ %inc.i603, %call.i.i.i.noexc605 ], [ 0, %invoke.cont241 ] + %conv.i602 = trunc i64 %i.04.i601 to i32 + %and.i.i.i1564 = and i64 %156, 1 + %tobool.i.not.i.i1565 = icmp eq i64 %and.i.i.i1564, 0 + %157 = load ptr, ptr %data_.i1.i.i1566, align 8 + %158 = load i64, ptr %allocated_capacity.i.i.i1567, align 8, !noalias !11 + %.sink3.i.i1568 = select i1 %tobool.i.not.i.i1565, ptr %data_.i1.i.i1566, ptr %157 + %.sink.i.i1569 = select i1 %tobool.i.not.i.i1565, i64 8, i64 %158 + %shr.i.sink.i.i1570 = lshr i64 %156, 1 + %cmp.not.i1571 = icmp eq i64 %shr.i.sink.i.i1570, %.sink.i.i1569 + br i1 %cmp.not.i1571, label %if.end.i1577, label %if.then.i1572 + +if.then.i1572: ; preds = %for.body.i600 + %add.ptr.i1573 = getelementptr inbounds i32, ptr %.sink3.i.i1568, i64 %shr.i.sink.i.i1570 + store i32 %conv.i602, ptr %add.ptr.i1573, align 4 %159 = load i64, ptr %v242, align 8 - br label %call.i.i.i.noexc603 + br label %call.i.i.i.noexc605 -if.end.i1574: ; preds = %for.body.i598 +if.end.i1577: ; preds = %for.body.i600 %160 = shl i64 %158, 1 - %mul.i.i.i1575 = select i1 %tobool.i.not.i.i1562, i64 16, i64 %160 - %cmp.i.i.i.i.i.i1576 = icmp ugt i64 %mul.i.i.i1575, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i1576, label %if.then.i.i.i.i.i.i1593, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1577 + %mul.i.i.i1578 = select i1 %tobool.i.not.i.i1565, i64 16, i64 %160 + %cmp.i.i.i.i.i.i1579 = icmp ugt i64 %mul.i.i.i1578, 2305843009213693951 + br i1 %cmp.i.i.i.i.i.i1579, label %if.then.i.i.i.i.i.i1596, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1580 -if.then.i.i.i.i.i.i1593: ; preds = %if.end.i1574 - %cmp2.i.i.i.i.i.i1594 = icmp ugt i64 %mul.i.i.i1575, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i.i1594, label %if.then3.i.i.i.i.i.i1596, label %if.end.i.i.i.i.i.i1595 +if.then.i.i.i.i.i.i1596: ; preds = %if.end.i1577 + %cmp2.i.i.i.i.i.i1597 = icmp ugt i64 %mul.i.i.i1578, 4611686018427387903 + br i1 %cmp2.i.i.i.i.i.i1597, label %if.then3.i.i.i.i.i.i1599, label %if.end.i.i.i.i.i.i1598 -if.then3.i.i.i.i.i.i1596: ; preds = %if.then.i.i.i.i.i.i1593 +if.then3.i.i.i.i.i.i1599: ; preds = %if.then.i.i.i.i.i.i1596 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1597 unwind label %lpad243.loopexit.split-lp + to label %.noexc1600 unwind label %lpad243.loopexit.split-lp -.noexc1597: ; preds = %if.then3.i.i.i.i.i.i1596 +.noexc1600: ; preds = %if.then3.i.i.i.i.i.i1599 unreachable -if.end.i.i.i.i.i.i1595: ; preds = %if.then.i.i.i.i.i.i1593 +if.end.i.i.i.i.i.i1598: ; preds = %if.then.i.i.i.i.i.i1596 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1598 unwind label %lpad243.loopexit.split-lp + to label %.noexc1601 unwind label %lpad243.loopexit.split-lp -.noexc1598: ; preds = %if.end.i.i.i.i.i.i1595 +.noexc1601: ; preds = %if.end.i.i.i.i.i.i1598 unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1577: ; preds = %if.end.i1574 - %mul.i.i.i.i.i.i1578 = shl nuw nsw i64 %mul.i.i.i1575, 2 - %call5.i.i.i.i5.i.i1600 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i1578) #33 - to label %call5.i.i.i.i5.i.i.noexc1599 unwind label %lpad243.loopexit +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1580: ; preds = %if.end.i1577 + %mul.i.i.i.i.i.i1581 = shl nuw nsw i64 %mul.i.i.i1578, 2 + %call5.i.i.i.i5.i.i1603 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i1581) #33 + to label %call5.i.i.i.i5.i.i.noexc1602 unwind label %lpad243.loopexit -call5.i.i.i.i5.i.i.noexc1599: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1577 - %add.ptr.i.i1579 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1600, i64 %.sink.i.i1566 - store i32 %conv.i600, ptr %add.ptr.i.i1579, align 4 - %cmp6.not.i.i.i1580 = icmp ult i64 %156, 2 - br i1 %cmp6.not.i.i.i1580, label %invoke.cont21.i.i1588, label %for.inc.i.i.i1581 +call5.i.i.i.i5.i.i.noexc1602: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1580 + %add.ptr.i.i1582 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1603, i64 %.sink.i.i1569 + store i32 %conv.i602, ptr %add.ptr.i.i1582, align 4 + %cmp6.not.i.i.i1583 = icmp ult i64 %156, 2 + br i1 %cmp6.not.i.i.i1583, label %invoke.cont21.i.i1591, label %for.inc.i.i.i1584 -for.inc.i.i.i1581: ; preds = %call5.i.i.i.i5.i.i.noexc1599, %for.inc.i.i.i1581 - %move_values.sroa.0.0.i.i1582 = phi ptr [ %incdec.ptr.i.i.i.i.i1585, %for.inc.i.i.i1581 ], [ %.sink3.i.i1565, %call5.i.i.i.i5.i.i.noexc1599 ] - %i.07.i.i.i1583 = phi i64 [ %inc.i.i.i1586, %for.inc.i.i.i1581 ], [ 0, %call5.i.i.i.i5.i.i.noexc1599 ] - %add.ptr.i.i.i1584 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1600, i64 %i.07.i.i.i1583 - %161 = load i32, ptr %move_values.sroa.0.0.i.i1582, align 4 - store i32 %161, ptr %add.ptr.i.i.i1584, align 4 - %incdec.ptr.i.i.i.i.i1585 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i1582, i64 1 - %inc.i.i.i1586 = add nuw nsw i64 %i.07.i.i.i1583, 1 - %exitcond.not.i.i.i1587 = icmp eq i64 %inc.i.i.i1586, %.sink.i.i1566 - br i1 %exitcond.not.i.i.i1587, label %invoke.cont21.i.i1588, label %for.inc.i.i.i1581, !llvm.loop !12 +for.inc.i.i.i1584: ; preds = %call5.i.i.i.i5.i.i.noexc1602, %for.inc.i.i.i1584 + %move_values.sroa.0.0.i.i1585 = phi ptr [ %incdec.ptr.i.i.i.i.i1588, %for.inc.i.i.i1584 ], [ %.sink3.i.i1568, %call5.i.i.i.i5.i.i.noexc1602 ] + %i.07.i.i.i1586 = phi i64 [ %inc.i.i.i1589, %for.inc.i.i.i1584 ], [ 0, %call5.i.i.i.i5.i.i.noexc1602 ] + %add.ptr.i.i.i1587 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1603, i64 %i.07.i.i.i1586 + %161 = load i32, ptr %move_values.sroa.0.0.i.i1585, align 4 + store i32 %161, ptr %add.ptr.i.i.i1587, align 4 + %incdec.ptr.i.i.i.i.i1588 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i1585, i64 1 + %inc.i.i.i1589 = add nuw nsw i64 %i.07.i.i.i1586, 1 + %exitcond.not.i.i.i1590 = icmp eq i64 %inc.i.i.i1589, %.sink.i.i1569 + br i1 %exitcond.not.i.i.i1590, label %invoke.cont21.i.i1591, label %for.inc.i.i.i1584, !llvm.loop !12 -invoke.cont21.i.i1588: ; preds = %for.inc.i.i.i1581, %call5.i.i.i.i5.i.i.noexc1599 - br i1 %tobool.i.not.i.i1562, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1591, label %if.then.i.i.i1589 +invoke.cont21.i.i1591: ; preds = %for.inc.i.i.i1584, %call5.i.i.i.i5.i.i.noexc1602 + br i1 %tobool.i.not.i.i1565, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1594, label %if.then.i.i.i1592 -if.then.i.i.i1589: ; preds = %invoke.cont21.i.i1588 +if.then.i.i.i1592: ; preds = %invoke.cont21.i.i1591 call void @_ZdlPv(ptr noundef %157) #32 - %.pre.i.i1590 = load i64, ptr %v242, align 8 - br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1591 - -_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1591: ; preds = %if.then.i.i.i1589, %invoke.cont21.i.i1588 - %162 = phi i64 [ %.pre.i.i1590, %if.then.i.i.i1589 ], [ %156, %invoke.cont21.i.i1588 ] - store ptr %call5.i.i.i.i5.i.i1600, ptr %data_.i1.i.i1563, align 8 - store i64 %mul.i.i.i1575, ptr %allocated_capacity.i.i.i1564, align 8 - %or.i.i.i1592 = or i64 %162, 1 - br label %call.i.i.i.noexc603 - -call.i.i.i.noexc603: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1591, %if.then.i1569 - %storemerge.in.i1571 = phi i64 [ %159, %if.then.i1569 ], [ %or.i.i.i1592, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1591 ] - %storemerge.i1573 = add i64 %storemerge.in.i1571, 2 - store i64 %storemerge.i1573, ptr %v242, align 8 - %inc.i601 = add nuw nsw i64 %i.04.i599, 1 - %exitcond.not.i602 = icmp eq i64 %inc.i601, %len.03501 - br i1 %exitcond.not.i602, label %invoke.cont244, label %for.body.i598, !llvm.loop !13 - -invoke.cont244: ; preds = %call.i.i.i.noexc603, %invoke.cont241.thread - %std_v239.sroa.24.42332 = phi ptr [ null, %invoke.cont241.thread ], [ %std_v239.sroa.24.3, %call.i.i.i.noexc603 ] - %std_v239.sroa.11.42331 = phi ptr [ null, %invoke.cont241.thread ], [ %std_v239.sroa.11.3, %call.i.i.i.noexc603 ] - %std_v239.sroa.0.42329 = phi ptr [ null, %invoke.cont241.thread ], [ %std_v239.sroa.0.3, %call.i.i.i.noexc603 ] + %.pre.i.i1593 = load i64, ptr %v242, align 8 + br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1594 + +_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1594: ; preds = %if.then.i.i.i1592, %invoke.cont21.i.i1591 + %162 = phi i64 [ %.pre.i.i1593, %if.then.i.i.i1592 ], [ %156, %invoke.cont21.i.i1591 ] + store ptr %call5.i.i.i.i5.i.i1603, ptr %data_.i1.i.i1566, align 8 + store i64 %mul.i.i.i1578, ptr %allocated_capacity.i.i.i1567, align 8 + %or.i.i.i1595 = or i64 %162, 1 + br label %call.i.i.i.noexc605 + +call.i.i.i.noexc605: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1594, %if.then.i1572 + %storemerge.in.i1574 = phi i64 [ %159, %if.then.i1572 ], [ %or.i.i.i1595, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1594 ] + %storemerge.i1576 = add i64 %storemerge.in.i1574, 2 + store i64 %storemerge.i1576, ptr %v242, align 8 + %inc.i603 = add nuw nsw i64 %i.04.i601, 1 + %exitcond.not.i604 = icmp eq i64 %inc.i603, %len.03526 + br i1 %exitcond.not.i604, label %invoke.cont244, label %for.body.i600, !llvm.loop !13 + +invoke.cont244: ; preds = %call.i.i.i.noexc605, %invoke.cont241.thread + %std_v239.sroa.24.42339 = phi ptr [ null, %invoke.cont241.thread ], [ %std_v239.sroa.24.3, %call.i.i.i.noexc605 ] + %std_v239.sroa.11.42338 = phi ptr [ null, %invoke.cont241.thread ], [ %std_v239.sroa.11.3, %call.i.i.i.noexc605 ] + %std_v239.sroa.0.42336 = phi ptr [ null, %invoke.cont241.thread ], [ %std_v239.sroa.0.3, %call.i.i.i.noexc605 ] store i32 9999, ptr %ref.tmp247, align 4 store i32 8888, ptr %arrayinit.element249, align 4 store i32 7777, ptr %arrayinit.element250, align 4 @@ -24970,8 +24964,8 @@ call5.i.i.i.i.i.noexc.i: ; preds = %for.body.i.i store i32 %163, ptr %_M_storage.i.i.i.i, align 4 store ptr %call5.i.i.i.i.i2.i, ptr %__to.06.i.i, align 8 %__first.addr.05.i.i.add = add nuw nsw i64 %__first.addr.05.i.i.idx, 4 - %cmp.not.i.i608 = icmp eq i64 %__first.addr.05.i.i.add, 12 - br i1 %cmp.not.i.i608, label %invoke.cont256, label %for.body.i.i, !llvm.loop !546 + %cmp.not.i.i610 = icmp eq i64 %__first.addr.05.i.i.add, 12 + br i1 %cmp.not.i.i610, label %invoke.cont256, label %for.body.i.i, !llvm.loop !546 lpad3.i: ; preds = %for.body.i.i %164 = landingpad { ptr, i32 } @@ -24984,68 +24978,68 @@ while.body.i.i.i: ; preds = %lpad3.i, %while.bod %__curr.08.i.i.i = phi ptr [ %165, %while.body.i.i.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0., %lpad3.i ] %165 = load ptr, ptr %__curr.08.i.i.i, align 8 call void @_ZdlPv(ptr noundef nonnull %__curr.08.i.i.i) #32 - %cmp.not.i.i.i607 = icmp eq ptr %165, null - br i1 %cmp.not.i.i.i607, label %_ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i, label %while.body.i.i.i, !llvm.loop !547 + %cmp.not.i.i.i609 = icmp eq ptr %165, null + br i1 %cmp.not.i.i.i609, label %_ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i, label %while.body.i.i.i, !llvm.loop !547 _ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i: ; preds = %while.body.i.i.i, %lpad3.i store ptr null, ptr %input245.sroa.0, align 8 br label %ehcleanup342 invoke.cont256: ; preds = %call5.i.i.i.i.i.noexc.i - %add.ptr.i610 = getelementptr inbounds i32, ptr %std_v239.sroa.0.42329, i64 %pos.03500 - %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221 = load ptr, ptr %input245.sroa.0, align 8 - %sub.ptr.lhs.cast.i.i611 = ptrtoint ptr %add.ptr.i610 to i64 - %sub.ptr.rhs.cast.i.i612 = ptrtoint ptr %std_v239.sroa.0.42329 to i64 - %cmp.i.not.i1602 = icmp eq ptr %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221, null - br i1 %cmp.i.not.i1602, label %invoke.cont275, label %while.body.i.i.i1603 - -while.body.i.i.i1603: ; preds = %invoke.cont256, %while.body.i.i.i1603 - %__n.05.i.i.i1604 = phi i64 [ %inc.i.i.i1606, %while.body.i.i.i1603 ], [ 0, %invoke.cont256 ] - %__first.sroa.0.04.i.i.i1605 = phi ptr [ %166, %while.body.i.i.i1603 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221, %invoke.cont256 ] - %166 = load ptr, ptr %__first.sroa.0.04.i.i.i1605, align 8 - %inc.i.i.i1606 = add nuw nsw i64 %__n.05.i.i.i1604, 1 - %cmp.i.not.i.i.i1607 = icmp eq ptr %166, null - br i1 %cmp.i.not.i.i.i1607, label %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i1608, label %while.body.i.i.i1603, !llvm.loop !548 - -_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i1608: ; preds = %while.body.i.i.i1603 - %sub.ptr.lhs.cast.i1611 = ptrtoint ptr %std_v239.sroa.24.42332 to i64 - %sub.ptr.rhs.cast.i1612 = ptrtoint ptr %std_v239.sroa.11.42331 to i64 - %sub.ptr.sub.i1613 = sub i64 %sub.ptr.lhs.cast.i1611, %sub.ptr.rhs.cast.i1612 - %sub.ptr.div.i1614 = ashr exact i64 %sub.ptr.sub.i1613, 2 - %cmp.not.not.i = icmp ugt i64 %sub.ptr.div.i1614, %__n.05.i.i.i1604 - br i1 %cmp.not.not.i, label %if.then9.i1644, label %if.else68.i1615 - -if.then9.i1644: ; preds = %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i1608 - %sub.ptr.sub.i.i1646 = sub i64 %sub.ptr.rhs.cast.i1612, %sub.ptr.lhs.cast.i.i611 - %sub.ptr.div.i.i1647 = ashr exact i64 %sub.ptr.sub.i.i1646, 2 - %cmp15.i1648 = icmp ugt i64 %sub.ptr.div.i.i1647, %inc.i.i.i1606 - br i1 %cmp15.i1648, label %if.then16.i, label %if.else.i1649 - -if.then16.i: ; preds = %if.then9.i1644 - %idx.neg.i1655 = xor i64 %__n.05.i.i.i1604, -1 - %add.ptr.i1656 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42331, i64 %idx.neg.i1655 - %idx.neg.neg.i = shl i64 %__n.05.i.i.i1604, 2 + %add.ptr.i612 = getelementptr inbounds i32, ptr %std_v239.sroa.0.42336, i64 %pos.03525 + %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223 = load ptr, ptr %input245.sroa.0, align 8 + %sub.ptr.lhs.cast.i.i613 = ptrtoint ptr %add.ptr.i612 to i64 + %sub.ptr.rhs.cast.i.i614 = ptrtoint ptr %std_v239.sroa.0.42336 to i64 + %cmp.i.not.i1605 = icmp eq ptr %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, null + br i1 %cmp.i.not.i1605, label %invoke.cont275, label %while.body.i.i.i1606 + +while.body.i.i.i1606: ; preds = %invoke.cont256, %while.body.i.i.i1606 + %__n.05.i.i.i1607 = phi i64 [ %inc.i.i.i1609, %while.body.i.i.i1606 ], [ 0, %invoke.cont256 ] + %__first.sroa.0.04.i.i.i1608 = phi ptr [ %166, %while.body.i.i.i1606 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, %invoke.cont256 ] + %166 = load ptr, ptr %__first.sroa.0.04.i.i.i1608, align 8 + %inc.i.i.i1609 = add nuw nsw i64 %__n.05.i.i.i1607, 1 + %cmp.i.not.i.i.i1610 = icmp eq ptr %166, null + br i1 %cmp.i.not.i.i.i1610, label %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i1611, label %while.body.i.i.i1606, !llvm.loop !548 + +_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i1611: ; preds = %while.body.i.i.i1606 + %sub.ptr.lhs.cast.i1614 = ptrtoint ptr %std_v239.sroa.24.42339 to i64 + %sub.ptr.rhs.cast.i1615 = ptrtoint ptr %std_v239.sroa.11.42338 to i64 + %sub.ptr.sub.i1616 = sub i64 %sub.ptr.lhs.cast.i1614, %sub.ptr.rhs.cast.i1615 + %sub.ptr.div.i1617 = ashr exact i64 %sub.ptr.sub.i1616, 2 + %cmp.not.not.i = icmp ugt i64 %sub.ptr.div.i1617, %__n.05.i.i.i1607 + br i1 %cmp.not.not.i, label %if.then9.i1640, label %if.else68.i1618 + +if.then9.i1640: ; preds = %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i1611 + %sub.ptr.sub.i.i1642 = sub i64 %sub.ptr.rhs.cast.i1615, %sub.ptr.lhs.cast.i.i613 + %sub.ptr.div.i.i1643 = ashr exact i64 %sub.ptr.sub.i.i1642, 2 + %cmp15.i1644 = icmp ugt i64 %sub.ptr.div.i.i1643, %inc.i.i.i1609 + br i1 %cmp15.i1644, label %if.then16.i, label %if.else.i1645 + +if.then16.i: ; preds = %if.then9.i1640 + %idx.neg.i1651 = xor i64 %__n.05.i.i.i1607, -1 + %add.ptr.i1652 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42338, i64 %idx.neg.i1651 + %idx.neg.neg.i = shl i64 %__n.05.i.i.i1607, 2 %add.ptr.idx.neg.i = add i64 %idx.neg.neg.i, 4 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %std_v239.sroa.11.42331, ptr nonnull align 4 %add.ptr.i1656, i64 %add.ptr.idx.neg.i, i1 false) - %add.ptr27.i1657 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42331, i64 %inc.i.i.i1606 - %tobool.not.i.i.i.i.i.i1658 = icmp eq ptr %add.ptr.i1656, %add.ptr.i610 - br i1 %tobool.not.i.i.i.i.i.i1658, label %for.body.i.i.i.i.i.i.preheader, label %if.then.i.i.i.i.i.i1659 - -if.then.i.i.i.i.i.i1659: ; preds = %if.then16.i - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1660 = ptrtoint ptr %add.ptr.i1656 to i64 - %sub.ptr.sub.i.i.i.i.i.i1661 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1660, %sub.ptr.lhs.cast.i.i611 - %sub.ptr.div.i.i.i.i.i.i1662 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1661, 2 - %.pre.i.i.i.i.i.i1663 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i1662 - %add.ptr.i.i.i.i.i.i1664 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42331, i64 %.pre.i.i.i.i.i.i1663 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i1664, ptr align 4 %add.ptr.i610, i64 %sub.ptr.sub.i.i.i.i.i.i1661, i1 false) + call void @llvm.memmove.p0.p0.i64(ptr align 4 %std_v239.sroa.11.42338, ptr nonnull align 4 %add.ptr.i1652, i64 %add.ptr.idx.neg.i, i1 false) + %add.ptr27.i1653 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42338, i64 %inc.i.i.i1609 + %tobool.not.i.i.i.i.i.i1654 = icmp eq ptr %add.ptr.i1652, %add.ptr.i612 + br i1 %tobool.not.i.i.i.i.i.i1654, label %for.body.i.i.i.i.i.i.preheader, label %if.then.i.i.i.i.i.i1655 + +if.then.i.i.i.i.i.i1655: ; preds = %if.then16.i + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1656 = ptrtoint ptr %add.ptr.i1652 to i64 + %sub.ptr.sub.i.i.i.i.i.i1657 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1656, %sub.ptr.lhs.cast.i.i613 + %sub.ptr.div.i.i.i.i.i.i1658 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1657, 2 + %.pre.i.i.i.i.i.i1659 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i1658 + %add.ptr.i.i.i.i.i.i1660 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42338, i64 %.pre.i.i.i.i.i.i1659 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i1660, ptr align 4 %add.ptr.i612, i64 %sub.ptr.sub.i.i.i.i.i.i1657, i1 false) br label %for.body.i.i.i.i.i.i.preheader -for.body.i.i.i.i.i.i.preheader: ; preds = %if.then.i.i.i.i.i.i1659, %if.then16.i +for.body.i.i.i.i.i.i.preheader: ; preds = %if.then.i.i.i.i.i.i1655, %if.then16.i br label %for.body.i.i.i.i.i.i for.body.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i.i.preheader, %for.body.i.i.i.i.i.i - %__result.addr.07.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %for.body.i.i.i.i.i.i ], [ %add.ptr.i610, %for.body.i.i.i.i.i.i.preheader ] - %__first.sroa.0.06.i.i.i.i.i.i = phi ptr [ %168, %for.body.i.i.i.i.i.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221, %for.body.i.i.i.i.i.i.preheader ] + %__result.addr.07.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i, %for.body.i.i.i.i.i.i ], [ %add.ptr.i612, %for.body.i.i.i.i.i.i.preheader ] + %__first.sroa.0.06.i.i.i.i.i.i = phi ptr [ %168, %for.body.i.i.i.i.i.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, %for.body.i.i.i.i.i.i.preheader ] %_M_storage.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %__first.sroa.0.06.i.i.i.i.i.i, i64 0, i32 1 %167 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i, align 4 store i32 %167, ptr %__result.addr.07.i.i.i.i.i.i, align 4 @@ -25054,25 +25048,25 @@ for.body.i.i.i.i.i.i: ; preds = %for.body.i.i.i.i.i. %cmp.i.not.i.i.i.i.i.i = icmp eq ptr %168, null br i1 %cmp.i.not.i.i.i.i.i.i, label %invoke.cont275, label %for.body.i.i.i.i.i.i, !llvm.loop !549 -if.else.i1649: ; preds = %if.then9.i1644 - %tobool.not1.i.i.i = icmp eq ptr %std_v239.sroa.11.42331, %add.ptr.i610 +if.else.i1645: ; preds = %if.then9.i1640 + %tobool.not1.i.i.i = icmp eq ptr %std_v239.sroa.11.42338, %add.ptr.i612 br i1 %tobool.not1.i.i.i, label %_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i, label %while.body.i.i26.i -while.body.i.i26.i: ; preds = %if.else.i1649, %while.body.i.i26.i - %__n.addr.02.i.i.i = phi i64 [ %dec.i.i.i, %while.body.i.i26.i ], [ %sub.ptr.div.i.i1647, %if.else.i1649 ] - %169 = phi ptr [ %170, %while.body.i.i26.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221, %if.else.i1649 ] +while.body.i.i26.i: ; preds = %if.else.i1645, %while.body.i.i26.i + %__n.addr.02.i.i.i = phi i64 [ %dec.i.i.i, %while.body.i.i26.i ], [ %sub.ptr.div.i.i1643, %if.else.i1645 ] + %169 = phi ptr [ %170, %while.body.i.i26.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, %if.else.i1645 ] %dec.i.i.i = add nsw i64 %__n.addr.02.i.i.i, -1 %170 = load ptr, ptr %169, align 8 - %tobool.not.i.i.i1650 = icmp eq i64 %dec.i.i.i, 0 - br i1 %tobool.not.i.i.i1650, label %_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i, label %while.body.i.i26.i, !llvm.loop !550 + %tobool.not.i.i.i1646 = icmp eq i64 %dec.i.i.i, 0 + br i1 %tobool.not.i.i.i1646, label %_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i, label %while.body.i.i26.i, !llvm.loop !550 -_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i: ; preds = %while.body.i.i26.i, %if.else.i1649 - %__mid.sroa.0.0.i = phi ptr [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221, %if.else.i1649 ], [ %170, %while.body.i.i26.i ] +_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i: ; preds = %while.body.i.i26.i, %if.else.i1645 + %__mid.sroa.0.0.i = phi ptr [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, %if.else.i1645 ], [ %170, %while.body.i.i26.i ] %cmp.i.not5.i.i.i.i.i.i.i.i.i = icmp eq ptr %__mid.sroa.0.0.i, null br i1 %cmp.i.not5.i.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aISt24_Fwd_list_const_iteratorIiEPiiET0_T_S4_S3_RSaIT1_E.exit.i, label %for.body.i.i.i.i.i.i.i.i.i for.body.i.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i, %for.body.i.i.i.i.i.i.i.i.i - %__result.addr.07.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i ], [ %std_v239.sroa.11.42331, %_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i ] + %__result.addr.07.i.i.i.i.i.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i.i.i ], [ %std_v239.sroa.11.42338, %_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i ] %__first.sroa.0.06.i.i.i.i.i.i.i.i.i = phi ptr [ %172, %for.body.i.i.i.i.i.i.i.i.i ], [ %__mid.sroa.0.0.i, %_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i ] %_M_storage.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %__first.sroa.0.06.i.i.i.i.i.i.i.i.i, i64 0, i32 1 %171 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i.i.i, align 4 @@ -25083,454 +25077,451 @@ for.body.i.i.i.i.i.i.i.i.i: ; preds = %_ZSt7advanceISt24_F br i1 %cmp.i.not.i.i.i.i.i.i.i.i.i, label %_ZSt22__uninitialized_copy_aISt24_Fwd_list_const_iteratorIiEPiiET0_T_S4_S3_RSaIT1_E.exit.i, label %for.body.i.i.i.i.i.i.i.i.i, !llvm.loop !549 _ZSt22__uninitialized_copy_aISt24_Fwd_list_const_iteratorIiEPiiET0_T_S4_S3_RSaIT1_E.exit.i: ; preds = %for.body.i.i.i.i.i.i.i.i.i, %_ZSt7advanceISt24_Fwd_list_const_iteratorIiEmEvRT_T0_.exit.i - br i1 %tobool.not1.i.i.i, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i, label %if.then.i.i.i.i.i.i.i.i.i31.i + %sub.i1648 = sub i64 %inc.i.i.i1609, %sub.ptr.div.i.i1643 + %add.ptr50.i1649 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42338, i64 %sub.i1648 + br i1 %tobool.not1.i.i.i, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i, label %if.then.i.i.i.i.i.i.i.i.i31.i if.then.i.i.i.i.i.i.i.i.i31.i: ; preds = %_ZSt22__uninitialized_copy_aISt24_Fwd_list_const_iteratorIiEPiiET0_T_S4_S3_RSaIT1_E.exit.i - %sub.i1652 = sub i64 %inc.i.i.i1606, %sub.ptr.div.i.i1647 - %add.ptr50.i1653 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42331, i64 %sub.i1652 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr50.i1653, ptr align 4 %add.ptr.i610, i64 %sub.ptr.sub.i.i1646, i1 false) - br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i - -_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i31.i, %_ZSt22__uninitialized_copy_aISt24_Fwd_list_const_iteratorIiEPiiET0_T_S4_S3_RSaIT1_E.exit.i - %add.ptr58.i1654 = getelementptr inbounds i32, ptr %std_v239.sroa.11.42331, i64 %inc.i.i.i1606 - %cmp.i.not5.i.i.i.i.i35.i = icmp eq ptr %__mid.sroa.0.0.i, %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221 - br i1 %cmp.i.not5.i.i.i.i.i35.i, label %invoke.cont275, label %for.body.i.i.i.i.i36.i - -for.body.i.i.i.i.i36.i: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i, %for.body.i.i.i.i.i36.i - %__result.addr.07.i.i.i.i.i37.i = phi ptr [ %incdec.ptr.i.i.i.i.i40.i, %for.body.i.i.i.i.i36.i ], [ %add.ptr.i610, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i ] - %__first.sroa.0.06.i.i.i.i.i38.i = phi ptr [ %174, %for.body.i.i.i.i.i36.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i ] - %_M_storage.i.i.i.i.i.i.i39.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %__first.sroa.0.06.i.i.i.i.i38.i, i64 0, i32 1 - %173 = load i32, ptr %_M_storage.i.i.i.i.i.i.i39.i, align 4 - store i32 %173, ptr %__result.addr.07.i.i.i.i.i37.i, align 4 - %incdec.ptr.i.i.i.i.i40.i = getelementptr inbounds i32, ptr %__result.addr.07.i.i.i.i.i37.i, i64 1 - %174 = load ptr, ptr %__first.sroa.0.06.i.i.i.i.i38.i, align 8 - %cmp.i.not.i.i.i.i.i41.i = icmp eq ptr %174, %__mid.sroa.0.0.i - br i1 %cmp.i.not.i.i.i.i.i41.i, label %invoke.cont275, label %for.body.i.i.i.i.i36.i, !llvm.loop !549 - -if.else68.i1615: ; preds = %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i1608 - %sub.ptr.sub.i.i.i1617 = sub i64 %sub.ptr.rhs.cast.i1612, %sub.ptr.rhs.cast.i.i612 - %sub.ptr.div.i.i.i1618 = ashr exact i64 %sub.ptr.sub.i.i.i1617, 2 - %sub.i.i1619 = sub nsw i64 2305843009213693951, %sub.ptr.div.i.i.i1618 - %cmp.i49.not.i = icmp ugt i64 %sub.i.i1619, %__n.05.i.i.i1604 - br i1 %cmp.i49.not.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1621, label %if.then.i.i1620 - -if.then.i.i1620: ; preds = %if.else68.i1615 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr50.i1649, ptr align 4 %add.ptr.i612, i64 %sub.ptr.sub.i.i1642, i1 false) + br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i + +_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i31.i, %_ZSt22__uninitialized_copy_aISt24_Fwd_list_const_iteratorIiEPiiET0_T_S4_S3_RSaIT1_E.exit.i + %add.ptr58.i1650 = getelementptr inbounds i8, ptr %add.ptr50.i1649, i64 %sub.ptr.sub.i.i1642 + %cmp.i.not5.i.i.i.i.i34.i = icmp eq ptr %__mid.sroa.0.0.i, %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223 + br i1 %cmp.i.not5.i.i.i.i.i34.i, label %invoke.cont275, label %for.body.i.i.i.i.i35.i + +for.body.i.i.i.i.i35.i: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i, %for.body.i.i.i.i.i35.i + %__result.addr.07.i.i.i.i.i36.i = phi ptr [ %incdec.ptr.i.i.i.i.i39.i, %for.body.i.i.i.i.i35.i ], [ %add.ptr.i612, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i ] + %__first.sroa.0.06.i.i.i.i.i37.i = phi ptr [ %174, %for.body.i.i.i.i.i35.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i ] + %_M_storage.i.i.i.i.i.i.i38.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %__first.sroa.0.06.i.i.i.i.i37.i, i64 0, i32 1 + %173 = load i32, ptr %_M_storage.i.i.i.i.i.i.i38.i, align 4 + store i32 %173, ptr %__result.addr.07.i.i.i.i.i36.i, align 4 + %incdec.ptr.i.i.i.i.i39.i = getelementptr inbounds i32, ptr %__result.addr.07.i.i.i.i.i36.i, i64 1 + %174 = load ptr, ptr %__first.sroa.0.06.i.i.i.i.i37.i, align 8 + %cmp.i.not.i.i.i.i.i40.i = icmp eq ptr %174, %__mid.sroa.0.0.i + br i1 %cmp.i.not.i.i.i.i.i40.i, label %invoke.cont275, label %for.body.i.i.i.i.i35.i, !llvm.loop !549 + +if.else68.i1618: ; preds = %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i1611 + %sub.ptr.sub.i.i.i1620 = sub i64 %sub.ptr.rhs.cast.i1615, %sub.ptr.rhs.cast.i.i614 + %sub.ptr.div.i.i.i1621 = ashr exact i64 %sub.ptr.sub.i.i.i1620, 2 + %sub.i.i1622 = sub nsw i64 2305843009213693951, %sub.ptr.div.i.i.i1621 + %cmp.i47.not.i = icmp ugt i64 %sub.i.i1622, %__n.05.i.i.i1607 + br i1 %cmp.i47.not.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1624, label %if.then.i.i1623 + +if.then.i.i1623: ; preds = %if.else68.i1618 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.310) #31 - to label %.noexc1665 unwind label %lpad274.loopexit.split-lp - -.noexc1665: ; preds = %if.then.i.i1620 - unreachable - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1621: ; preds = %if.else68.i1615 - %.sroa.speculated.i.i1622 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i1618, i64 %inc.i.i.i1606) - %add.i.i1623 = add i64 %.sroa.speculated.i.i1622, %sub.ptr.div.i.i.i1618 - %cmp7.i.i1624 = icmp ult i64 %add.i.i1623, %sub.ptr.div.i.i.i1618 - %cmp9.i.i1625 = icmp ugt i64 %add.i.i1623, 2305843009213693951 - %or.cond.i.i1626 = or i1 %cmp7.i.i1624, %cmp9.i.i1625 - %cond.i.i1627 = select i1 %or.cond.i.i1626, i64 2305843009213693951, i64 %add.i.i1623 - %cmp.not.i.i1628 = icmp eq i64 %cond.i.i1627, 0 - br i1 %cmp.not.i.i1628, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1631, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1629 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1629: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1621 - %mul.i.i.i.i1630 = shl nuw nsw i64 %cond.i.i1627, 2 - %call5.i.i.i.i1667 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i1630) #33 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1631 unwind label %lpad274.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1631: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1629, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1621 - %cond.i50.i1632 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1621 ], [ %call5.i.i.i.i1667, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1629 ] - %tobool.not.i.i.i.i.i.i.i.i.i54.i1635 = icmp eq i64 %pos.03500, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i54.i1635, label %for.body.i.i.i.i.i.i.i.i59.preheader.i, label %if.then.i.i.i.i.i.i.i.i.i55.i1636 - -if.then.i.i.i.i.i.i.i.i.i55.i1636: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1631 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i50.i1632, ptr align 4 %std_v239.sroa.0.42329, i64 %add.ptr.i216.idx, i1 false) - br label %for.body.i.i.i.i.i.i.i.i59.preheader.i - -for.body.i.i.i.i.i.i.i.i59.preheader.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i55.i1636, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1631 - %add.ptr.i.i.i.i.i.i.i.i.i57.i1638 = getelementptr inbounds i32, ptr %cond.i50.i1632, i64 %pos.03500 - br label %for.body.i.i.i.i.i.i.i.i59.i - -for.body.i.i.i.i.i.i.i.i59.i: ; preds = %for.body.i.i.i.i.i.i.i.i59.i, %for.body.i.i.i.i.i.i.i.i59.preheader.i - %__result.addr.07.i.i.i.i.i.i.i.i60.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i63.i, %for.body.i.i.i.i.i.i.i.i59.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i57.i1638, %for.body.i.i.i.i.i.i.i.i59.preheader.i ] - %__first.sroa.0.06.i.i.i.i.i.i.i.i61.i = phi ptr [ %176, %for.body.i.i.i.i.i.i.i.i59.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2221, %for.body.i.i.i.i.i.i.i.i59.preheader.i ] - %_M_storage.i.i.i.i.i.i.i.i.i.i62.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %__first.sroa.0.06.i.i.i.i.i.i.i.i61.i, i64 0, i32 1 - %175 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i.i62.i, align 4 - store i32 %175, ptr %__result.addr.07.i.i.i.i.i.i.i.i60.i, align 4 - %incdec.ptr.i.i.i.i.i.i.i.i63.i = getelementptr inbounds i32, ptr %__result.addr.07.i.i.i.i.i.i.i.i60.i, i64 1 - %176 = load ptr, ptr %__first.sroa.0.06.i.i.i.i.i.i.i.i61.i, align 8 - %cmp.i.not.i.i.i.i.i.i.i.i64.i = icmp eq ptr %176, null - br i1 %cmp.i.not.i.i.i.i.i.i.i.i64.i, label %invoke.cont83.i1639, label %for.body.i.i.i.i.i.i.i.i59.i, !llvm.loop !549 - -invoke.cont83.i1639: ; preds = %for.body.i.i.i.i.i.i.i.i59.i - %sub.ptr.sub.i.i.i.i.i.i.i.i.i69.i = sub i64 %sub.ptr.rhs.cast.i1612, %sub.ptr.lhs.cast.i.i611 - %tobool.not.i.i.i.i.i.i.i.i.i70.i = icmp eq ptr %std_v239.sroa.11.42331, %add.ptr.i610 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i70.i, label %invoke.cont87.i1640, label %if.then.i.i.i.i.i.i.i.i.i71.i - -if.then.i.i.i.i.i.i.i.i.i71.i: ; preds = %invoke.cont83.i1639 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %incdec.ptr.i.i.i.i.i.i.i.i63.i, ptr align 4 %add.ptr.i610, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i69.i, i1 false) - br label %invoke.cont87.i1640 - -invoke.cont87.i1640: ; preds = %if.then.i.i.i.i.i.i.i.i.i71.i, %invoke.cont83.i1639 - %sub.ptr.div.i.i.i.i.i.i.i.i.i72.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i69.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i73.i = getelementptr inbounds i32, ptr %incdec.ptr.i.i.i.i.i.i.i.i63.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i72.i - %tobool.not.i.i1641 = icmp eq ptr %std_v239.sroa.0.42329, null - br i1 %tobool.not.i.i1641, label %invoke.cont275, label %if.then.i75.i - -if.then.i75.i: ; preds = %invoke.cont87.i1640 - call void @_ZdlPv(ptr noundef nonnull %std_v239.sroa.0.42329) #32 + to label %.noexc1661 unwind label %lpad274.loopexit.split-lp + +.noexc1661: ; preds = %if.then.i.i1623 + unreachable + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1624: ; preds = %if.else68.i1618 + %.sroa.speculated.i.i1625 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i1621, i64 %inc.i.i.i1609) + %add.i.i1626 = add i64 %.sroa.speculated.i.i1625, %sub.ptr.div.i.i.i1621 + %cmp7.i.i1627 = icmp ult i64 %add.i.i1626, %sub.ptr.div.i.i.i1621 + %cmp9.i.i1628 = icmp ugt i64 %add.i.i1626, 2305843009213693951 + %or.cond.i.i1629 = or i1 %cmp7.i.i1627, %cmp9.i.i1628 + %cond.i.i1630 = select i1 %or.cond.i.i1629, i64 2305843009213693951, i64 %add.i.i1626 + %cmp.not.i.i1631 = icmp eq i64 %cond.i.i1630, 0 + br i1 %cmp.not.i.i1631, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1634, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1632 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1632: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1624 + %mul.i.i.i.i1633 = shl nuw nsw i64 %cond.i.i1630, 2 + %call5.i.i.i.i1663 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i1633) #33 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1634 unwind label %lpad274.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1634: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1632, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1624 + %cond.i48.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1624 ], [ %call5.i.i.i.i1663, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1632 ] + %tobool.not.i.i.i.i.i.i.i.i.i52.i = icmp eq i64 %pos.03525, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i52.i, label %for.body.i.i.i.i.i.i.i.i56.preheader.i, label %if.then.i.i.i.i.i.i.i.i.i53.i + +if.then.i.i.i.i.i.i.i.i.i53.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1634 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i48.i, ptr align 4 %std_v239.sroa.0.42336, i64 %add.ptr.idx.pre-phi, i1 false) + br label %for.body.i.i.i.i.i.i.i.i56.preheader.i + +for.body.i.i.i.i.i.i.i.i56.preheader.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i53.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1634 + %add.ptr.i.i.i.i.i.i.i.i.i54.i = getelementptr inbounds i8, ptr %cond.i48.i, i64 %add.ptr.idx.pre-phi + br label %for.body.i.i.i.i.i.i.i.i56.i + +for.body.i.i.i.i.i.i.i.i56.i: ; preds = %for.body.i.i.i.i.i.i.i.i56.i, %for.body.i.i.i.i.i.i.i.i56.preheader.i + %__result.addr.07.i.i.i.i.i.i.i.i57.i = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i60.i, %for.body.i.i.i.i.i.i.i.i56.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i54.i, %for.body.i.i.i.i.i.i.i.i56.preheader.i ] + %__first.sroa.0.06.i.i.i.i.i.i.i.i58.i = phi ptr [ %176, %for.body.i.i.i.i.i.i.i.i56.i ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, %for.body.i.i.i.i.i.i.i.i56.preheader.i ] + %_M_storage.i.i.i.i.i.i.i.i.i.i59.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %__first.sroa.0.06.i.i.i.i.i.i.i.i58.i, i64 0, i32 1 + %175 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i.i59.i, align 4 + store i32 %175, ptr %__result.addr.07.i.i.i.i.i.i.i.i57.i, align 4 + %incdec.ptr.i.i.i.i.i.i.i.i60.i = getelementptr inbounds i32, ptr %__result.addr.07.i.i.i.i.i.i.i.i57.i, i64 1 + %176 = load ptr, ptr %__first.sroa.0.06.i.i.i.i.i.i.i.i58.i, align 8 + %cmp.i.not.i.i.i.i.i.i.i.i61.i = icmp eq ptr %176, null + br i1 %cmp.i.not.i.i.i.i.i.i.i.i61.i, label %invoke.cont83.i1635, label %for.body.i.i.i.i.i.i.i.i56.i, !llvm.loop !549 + +invoke.cont83.i1635: ; preds = %for.body.i.i.i.i.i.i.i.i56.i + %sub.ptr.sub.i.i.i.i.i.i.i.i.i66.i = sub i64 %sub.ptr.rhs.cast.i1615, %sub.ptr.lhs.cast.i.i613 + %tobool.not.i.i.i.i.i.i.i.i.i67.i = icmp eq ptr %std_v239.sroa.11.42338, %add.ptr.i612 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i67.i, label %invoke.cont87.i1636, label %if.then.i.i.i.i.i.i.i.i.i68.i + +if.then.i.i.i.i.i.i.i.i.i68.i: ; preds = %invoke.cont83.i1635 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %incdec.ptr.i.i.i.i.i.i.i.i60.i, ptr align 4 %add.ptr.i612, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i66.i, i1 false) + br label %invoke.cont87.i1636 + +invoke.cont87.i1636: ; preds = %if.then.i.i.i.i.i.i.i.i.i68.i, %invoke.cont83.i1635 + %add.ptr.i.i.i.i.i.i.i.i.i69.i = getelementptr inbounds i8, ptr %incdec.ptr.i.i.i.i.i.i.i.i60.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i66.i + %tobool.not.i.i1637 = icmp eq ptr %std_v239.sroa.0.42336, null + br i1 %tobool.not.i.i1637, label %invoke.cont275, label %if.then.i71.i + +if.then.i71.i: ; preds = %invoke.cont87.i1636 + call void @_ZdlPv(ptr noundef nonnull %std_v239.sroa.0.42336) #32 br label %invoke.cont275 -invoke.cont275: ; preds = %for.body.i.i.i.i.i36.i, %for.body.i.i.i.i.i.i, %invoke.cont87.i1640, %if.then.i75.i, %invoke.cont256, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i - %std_v239.sroa.0.5 = phi ptr [ %std_v239.sroa.0.42329, %invoke.cont256 ], [ %std_v239.sroa.0.42329, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i ], [ %cond.i50.i1632, %if.then.i75.i ], [ %cond.i50.i1632, %invoke.cont87.i1640 ], [ %std_v239.sroa.0.42329, %for.body.i.i.i.i.i.i ], [ %std_v239.sroa.0.42329, %for.body.i.i.i.i.i36.i ] - %std_v239.sroa.11.5 = phi ptr [ %std_v239.sroa.11.42331, %invoke.cont256 ], [ %add.ptr58.i1654, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit34.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i73.i, %if.then.i75.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i73.i, %invoke.cont87.i1640 ], [ %add.ptr27.i1657, %for.body.i.i.i.i.i.i ], [ %add.ptr58.i1654, %for.body.i.i.i.i.i36.i ] +invoke.cont275: ; preds = %for.body.i.i.i.i.i35.i, %for.body.i.i.i.i.i.i, %invoke.cont87.i1636, %if.then.i71.i, %invoke.cont256, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i + %std_v239.sroa.0.5 = phi ptr [ %std_v239.sroa.0.42336, %invoke.cont256 ], [ %std_v239.sroa.0.42336, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i ], [ %cond.i48.i, %if.then.i71.i ], [ %cond.i48.i, %invoke.cont87.i1636 ], [ %std_v239.sroa.0.42336, %for.body.i.i.i.i.i.i ], [ %std_v239.sroa.0.42336, %for.body.i.i.i.i.i35.i ] + %std_v239.sroa.11.5 = phi ptr [ %std_v239.sroa.11.42338, %invoke.cont256 ], [ %add.ptr58.i1650, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit33.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i69.i, %if.then.i71.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i69.i, %invoke.cont87.i1636 ], [ %add.ptr27.i1653, %for.body.i.i.i.i.i.i ], [ %add.ptr58.i1650, %for.body.i.i.i.i.i35.i ] %177 = load i64, ptr %v242, align 8 - %and.i.i.i.i618 = and i64 %177, 1 - %tobool.i.not.i.i.i619 = icmp eq i64 %and.i.i.i.i618, 0 - %178 = load ptr, ptr %data_.i1.i.i1563, align 8 - %cond.i.i.i621 = select i1 %tobool.i.not.i.i.i619, ptr %data_.i1.i.i1563, ptr %178 - %add.ptr281 = getelementptr inbounds i32, ptr %cond.i.i.i621, i64 %pos.03500 - %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2222 = load ptr, ptr %input245.sroa.0, align 8 - %cmp.i.not.i622 = icmp eq ptr %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2222, null - br i1 %cmp.i.not.i622, label %invoke.cont290, label %while.body.i.i.i623 - -while.body.i.i.i623: ; preds = %invoke.cont275, %while.body.i.i.i623 - %__n.05.i.i.i = phi i64 [ %inc.i.i.i, %while.body.i.i.i623 ], [ 0, %invoke.cont275 ] - %__first.sroa.0.04.i.i.i = phi ptr [ %179, %while.body.i.i.i623 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2222, %invoke.cont275 ] + %and.i.i.i.i619 = and i64 %177, 1 + %tobool.i.not.i.i.i620 = icmp eq i64 %and.i.i.i.i619, 0 + %178 = load ptr, ptr %data_.i1.i.i1566, align 8 + %cond.i.i.i622 = select i1 %tobool.i.not.i.i.i620, ptr %data_.i1.i.i1566, ptr %178 + %add.ptr281 = getelementptr inbounds i32, ptr %cond.i.i.i622, i64 %pos.03525 + %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224 = load ptr, ptr %input245.sroa.0, align 8 + %cmp.i.not.i623 = icmp eq ptr %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224, null + br i1 %cmp.i.not.i623, label %invoke.cont290, label %while.body.i.i.i624 + +while.body.i.i.i624: ; preds = %invoke.cont275, %while.body.i.i.i624 + %__n.05.i.i.i = phi i64 [ %inc.i.i.i, %while.body.i.i.i624 ], [ 0, %invoke.cont275 ] + %__first.sroa.0.04.i.i.i = phi ptr [ %179, %while.body.i.i.i624 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224, %invoke.cont275 ] %179 = load ptr, ptr %__first.sroa.0.04.i.i.i, align 8 %inc.i.i.i = add nuw nsw i64 %__n.05.i.i.i, 1 %cmp.i.not.i.i.i = icmp eq ptr %179, null - br i1 %cmp.i.not.i.i.i, label %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i, label %while.body.i.i.i623, !llvm.loop !548 - -_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i: ; preds = %while.body.i.i.i623 - %180 = load i64, ptr %allocated_capacity.i.i.i1564, align 8, !noalias !551 - %.sink.i.i1673 = select i1 %tobool.i.not.i.i.i619, i64 8, i64 %180 - %shr.i.sink.i.i1674 = lshr i64 %177, 1 - %add.i1679 = add nuw i64 %inc.i.i.i, %pos.03500 - %add3.i1680 = add nuw i64 %inc.i.i.i, %shr.i.sink.i.i1674 - %cmp.i1681 = icmp ugt i64 %add3.i1680, %.sink.i.i1673 - br i1 %cmp.i1681, label %invoke.cont16.i1712, label %if.else.i1682 - -invoke.cont16.i1712: ; preds = %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i - %mul.i.i.i1713 = shl i64 %.sink.i.i1673, 1 - %.sroa.speculated.i.i1714 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1713, i64 %add3.i1680) - %cmp.i.i.i.i.i1715 = icmp ugt i64 %.sroa.speculated.i.i1714, 2305843009213693951 - br i1 %cmp.i.i.i.i.i1715, label %if.then.i.i.i.i.i1748, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1716 - -if.then.i.i.i.i.i1748: ; preds = %invoke.cont16.i1712 - %cmp2.i.i.i.i.i1749 = icmp ugt i64 %.sroa.speculated.i.i1714, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i1749, label %if.then3.i.i.i.i.i1751, label %if.end.i.i.i.i.i1750 - -if.then3.i.i.i.i.i1751: ; preds = %if.then.i.i.i.i.i1748 + br i1 %cmp.i.not.i.i.i, label %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i, label %while.body.i.i.i624, !llvm.loop !548 + +_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i: ; preds = %while.body.i.i.i624 + %180 = load i64, ptr %allocated_capacity.i.i.i1567, align 8, !noalias !551 + %.sink.i.i1669 = select i1 %tobool.i.not.i.i.i620, i64 8, i64 %180 + %shr.i.sink.i.i1670 = lshr i64 %177, 1 + %add.i1675 = add nuw i64 %inc.i.i.i, %pos.03525 + %add3.i1676 = add nuw i64 %inc.i.i.i, %shr.i.sink.i.i1670 + %cmp.i1677 = icmp ugt i64 %add3.i1676, %.sink.i.i1669 + br i1 %cmp.i1677, label %invoke.cont16.i1708, label %if.else.i1678 + +invoke.cont16.i1708: ; preds = %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i + %mul.i.i.i1709 = shl i64 %.sink.i.i1669, 1 + %.sroa.speculated.i.i1710 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1709, i64 %add3.i1676) + %cmp.i.i.i.i.i1711 = icmp ugt i64 %.sroa.speculated.i.i1710, 2305843009213693951 + br i1 %cmp.i.i.i.i.i1711, label %if.then.i.i.i.i.i1744, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1712 + +if.then.i.i.i.i.i1744: ; preds = %invoke.cont16.i1708 + %cmp2.i.i.i.i.i1745 = icmp ugt i64 %.sroa.speculated.i.i1710, 4611686018427387903 + br i1 %cmp2.i.i.i.i.i1745, label %if.then3.i.i.i.i.i1747, label %if.end.i.i.i.i.i1746 + +if.then3.i.i.i.i.i1747: ; preds = %if.then.i.i.i.i.i1744 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1752 unwind label %lpad274.loopexit.split-lp + to label %.noexc1748 unwind label %lpad274.loopexit.split-lp -.noexc1752: ; preds = %if.then3.i.i.i.i.i1751 +.noexc1748: ; preds = %if.then3.i.i.i.i.i1747 unreachable -if.end.i.i.i.i.i1750: ; preds = %if.then.i.i.i.i.i1748 +if.end.i.i.i.i.i1746: ; preds = %if.then.i.i.i.i.i1744 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1753 unwind label %lpad274.loopexit.split-lp + to label %.noexc1749 unwind label %lpad274.loopexit.split-lp -.noexc1753: ; preds = %if.end.i.i.i.i.i1750 +.noexc1749: ; preds = %if.end.i.i.i.i.i1746 unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1716: ; preds = %invoke.cont16.i1712 - %mul.i.i.i.i.i1717 = shl nuw nsw i64 %.sroa.speculated.i.i1714, 2 - %call5.i.i.i.i29.i1755 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1717) #33 - to label %call5.i.i.i.i29.i.noexc1754 unwind label %lpad274.loopexit +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1712: ; preds = %invoke.cont16.i1708 + %mul.i.i.i.i.i1713 = shl nuw nsw i64 %.sroa.speculated.i.i1710, 2 + %call5.i.i.i.i29.i1751 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1713) #33 + to label %call5.i.i.i.i29.i.noexc1750 unwind label %lpad274.loopexit -call5.i.i.i.i29.i.noexc1754: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1716 - %add.ptr.i1718 = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1755, i64 %pos.03500 - br label %for.body.i.i.i1719 +call5.i.i.i.i29.i.noexc1750: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1712 + %add.ptr.i1714 = getelementptr inbounds i8, ptr %call5.i.i.i.i29.i1751, i64 %add.ptr.idx.pre-phi + br label %for.body.i.i.i1715 -for.body.i.i.i1719: ; preds = %for.body.i.i.i1719, %call5.i.i.i.i29.i.noexc1754 - %values.sroa.0.0.i = phi ptr [ %182, %for.body.i.i.i1719 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2222, %call5.i.i.i.i29.i.noexc1754 ] - %i.04.i.i.i1720 = phi i64 [ %inc.i.i.i1722, %for.body.i.i.i1719 ], [ 0, %call5.i.i.i.i29.i.noexc1754 ] - %add.ptr.i.i.i1721 = getelementptr inbounds i32, ptr %add.ptr.i1718, i64 %i.04.i.i.i1720 +for.body.i.i.i1715: ; preds = %for.body.i.i.i1715, %call5.i.i.i.i29.i.noexc1750 + %values.sroa.0.0.i = phi ptr [ %182, %for.body.i.i.i1715 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224, %call5.i.i.i.i29.i.noexc1750 ] + %i.04.i.i.i1716 = phi i64 [ %inc.i.i.i1718, %for.body.i.i.i1715 ], [ 0, %call5.i.i.i.i29.i.noexc1750 ] + %add.ptr.i.i.i1717 = getelementptr inbounds i32, ptr %add.ptr.i1714, i64 %i.04.i.i.i1716 %_M_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %values.sroa.0.0.i, i64 0, i32 1 %181 = load i32, ptr %_M_storage.i.i.i.i.i.i, align 4 - store i32 %181, ptr %add.ptr.i.i.i1721, align 4 + store i32 %181, ptr %add.ptr.i.i.i1717, align 4 %182 = load ptr, ptr %values.sroa.0.0.i, align 8 - %inc.i.i.i1722 = add nuw i64 %i.04.i.i.i1720, 1 - %exitcond.not.i.i.i1723 = icmp eq i64 %i.04.i.i.i1720, %__n.05.i.i.i - br i1 %exitcond.not.i.i.i1723, label %invoke.cont20.i1724, label %for.body.i.i.i1719, !llvm.loop !554 - -invoke.cont20.i1724: ; preds = %for.body.i.i.i1719 - %cmp6.not.i.i.i1725 = icmp eq i64 %pos.03500, 0 - br i1 %cmp6.not.i.i.i1725, label %invoke.cont22.i1731, label %for.inc.i.i.i1726 - -for.inc.i.i.i1726: ; preds = %invoke.cont20.i1724, %for.inc.i.i.i1726 - %move_values.sroa.0.0.i1727 = phi ptr [ %incdec.ptr.i.i.i.i.i1730, %for.inc.i.i.i1726 ], [ %cond.i.i.i621, %invoke.cont20.i1724 ] - %i.07.i.i.i1728 = phi i64 [ %inc.i.i32.i, %for.inc.i.i.i1726 ], [ 0, %invoke.cont20.i1724 ] - %add.ptr.i.i31.i1729 = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1755, i64 %i.07.i.i.i1728 - %183 = load i32, ptr %move_values.sroa.0.0.i1727, align 4 - store i32 %183, ptr %add.ptr.i.i31.i1729, align 4 - %incdec.ptr.i.i.i.i.i1730 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i1727, i64 1 - %inc.i.i32.i = add nuw nsw i64 %i.07.i.i.i1728, 1 - %exitcond.not.i.i33.i = icmp eq i64 %inc.i.i32.i, %pos.03500 - br i1 %exitcond.not.i.i33.i, label %invoke.cont22.i1731, label %for.inc.i.i.i1726, !llvm.loop !12 - -invoke.cont22.i1731: ; preds = %for.inc.i.i.i1726, %invoke.cont20.i1724 - %move_values.sroa.0.1.i1732 = phi ptr [ %add.ptr281, %invoke.cont20.i1724 ], [ %incdec.ptr.i.i.i.i.i1730, %for.inc.i.i.i1726 ] - %add.ptr24.i1733 = getelementptr i32, ptr %call5.i.i.i.i29.i1755, i64 %add.i1679 - %sub.i1734 = sub nsw i64 %shr.i.sink.i.i1674, %pos.03500 - %cmp6.not.i.i1735 = icmp eq i64 %shr.i.sink.i.i1674, %pos.03500 - br i1 %cmp6.not.i.i1735, label %invoke.cont32.i1743, label %for.inc.i.i1736 - -for.inc.i.i1736: ; preds = %invoke.cont22.i1731, %for.inc.i.i1736 - %move_values.sroa.0.2.i1737 = phi ptr [ %incdec.ptr.i.i.i.i1740, %for.inc.i.i1736 ], [ %move_values.sroa.0.1.i1732, %invoke.cont22.i1731 ] - %i.07.i.i1738 = phi i64 [ %inc.i.i1741, %for.inc.i.i1736 ], [ 0, %invoke.cont22.i1731 ] - %add.ptr.i.i1739 = getelementptr inbounds i32, ptr %add.ptr24.i1733, i64 %i.07.i.i1738 - %184 = load i32, ptr %move_values.sroa.0.2.i1737, align 4 - store i32 %184, ptr %add.ptr.i.i1739, align 4 - %incdec.ptr.i.i.i.i1740 = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i1737, i64 1 - %inc.i.i1741 = add nuw i64 %i.07.i.i1738, 1 - %exitcond.not.i.i1742 = icmp eq i64 %inc.i.i1741, %sub.i1734 - br i1 %exitcond.not.i.i1742, label %invoke.cont32.i1743, label %for.inc.i.i1736, !llvm.loop !12 - -invoke.cont32.i1743: ; preds = %for.inc.i.i1736, %invoke.cont22.i1731 - br i1 %tobool.i.not.i.i.i619, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1745, label %if.then.i.i1744 - -if.then.i.i1744: ; preds = %invoke.cont32.i1743 + %inc.i.i.i1718 = add nuw i64 %i.04.i.i.i1716, 1 + %exitcond.not.i.i.i1719 = icmp eq i64 %i.04.i.i.i1716, %__n.05.i.i.i + br i1 %exitcond.not.i.i.i1719, label %invoke.cont20.i1720, label %for.body.i.i.i1715, !llvm.loop !554 + +invoke.cont20.i1720: ; preds = %for.body.i.i.i1715 + %cmp6.not.i.i.i1721 = icmp eq i64 %pos.03525, 0 + br i1 %cmp6.not.i.i.i1721, label %invoke.cont22.i1727, label %for.inc.i.i.i1722 + +for.inc.i.i.i1722: ; preds = %invoke.cont20.i1720, %for.inc.i.i.i1722 + %move_values.sroa.0.0.i1723 = phi ptr [ %incdec.ptr.i.i.i.i.i1726, %for.inc.i.i.i1722 ], [ %cond.i.i.i622, %invoke.cont20.i1720 ] + %i.07.i.i.i1724 = phi i64 [ %inc.i.i32.i, %for.inc.i.i.i1722 ], [ 0, %invoke.cont20.i1720 ] + %add.ptr.i.i31.i1725 = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1751, i64 %i.07.i.i.i1724 + %183 = load i32, ptr %move_values.sroa.0.0.i1723, align 4 + store i32 %183, ptr %add.ptr.i.i31.i1725, align 4 + %incdec.ptr.i.i.i.i.i1726 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i1723, i64 1 + %inc.i.i32.i = add nuw nsw i64 %i.07.i.i.i1724, 1 + %exitcond.not.i.i33.i = icmp eq i64 %inc.i.i32.i, %pos.03525 + br i1 %exitcond.not.i.i33.i, label %invoke.cont22.i1727, label %for.inc.i.i.i1722, !llvm.loop !12 + +invoke.cont22.i1727: ; preds = %for.inc.i.i.i1722, %invoke.cont20.i1720 + %move_values.sroa.0.1.i1728 = phi ptr [ %add.ptr281, %invoke.cont20.i1720 ], [ %incdec.ptr.i.i.i.i.i1726, %for.inc.i.i.i1722 ] + %add.ptr24.i1729 = getelementptr i32, ptr %call5.i.i.i.i29.i1751, i64 %add.i1675 + %sub.i1730 = sub nsw i64 %shr.i.sink.i.i1670, %pos.03525 + %cmp6.not.i.i1731 = icmp eq i64 %shr.i.sink.i.i1670, %pos.03525 + br i1 %cmp6.not.i.i1731, label %invoke.cont32.i1739, label %for.inc.i.i1732 + +for.inc.i.i1732: ; preds = %invoke.cont22.i1727, %for.inc.i.i1732 + %move_values.sroa.0.2.i1733 = phi ptr [ %incdec.ptr.i.i.i.i1736, %for.inc.i.i1732 ], [ %move_values.sroa.0.1.i1728, %invoke.cont22.i1727 ] + %i.07.i.i1734 = phi i64 [ %inc.i.i1737, %for.inc.i.i1732 ], [ 0, %invoke.cont22.i1727 ] + %add.ptr.i.i1735 = getelementptr inbounds i32, ptr %add.ptr24.i1729, i64 %i.07.i.i1734 + %184 = load i32, ptr %move_values.sroa.0.2.i1733, align 4 + store i32 %184, ptr %add.ptr.i.i1735, align 4 + %incdec.ptr.i.i.i.i1736 = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i1733, i64 1 + %inc.i.i1737 = add nuw i64 %i.07.i.i1734, 1 + %exitcond.not.i.i1738 = icmp eq i64 %inc.i.i1737, %sub.i1730 + br i1 %exitcond.not.i.i1738, label %invoke.cont32.i1739, label %for.inc.i.i1732, !llvm.loop !12 + +invoke.cont32.i1739: ; preds = %for.inc.i.i1732, %invoke.cont22.i1727 + br i1 %tobool.i.not.i.i.i620, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1741, label %if.then.i.i1740 + +if.then.i.i1740: ; preds = %invoke.cont32.i1739 call void @_ZdlPv(ptr noundef %178) #32 - br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1745 - -_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1745: ; preds = %if.then.i.i1744, %invoke.cont32.i1743 - store ptr %call5.i.i.i.i29.i1755, ptr %data_.i1.i.i1563, align 8 - store i64 %.sroa.speculated.i.i1714, ptr %allocated_capacity.i.i.i1564, align 8 - %shl.i.i1746 = shl i64 %add3.i1680, 1 - %or.i.i1747 = or disjoint i64 %shl.i.i1746, 1 - br label %call10.i.noexc625 - -if.else.i1682: ; preds = %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i - %.sroa.speculated.i1683 = call i64 @llvm.umax.i64(i64 %add.i1679, i64 %shr.i.sink.i.i1674) - %add.ptr51.i1684 = getelementptr i32, ptr %cond.i.i.i621, i64 %.sroa.speculated.i1683 - %sub52.i1685 = sub i64 %add3.i1680, %.sroa.speculated.i1683 - %add.ptr56.i1687 = getelementptr inbounds i32, ptr %cond.i.i.i621, i64 %add.i1679 - %sub57.i1688 = sub i64 %.sroa.speculated.i1683, %add.i1679 - %add.ptr61.i1689 = getelementptr inbounds i32, ptr %add.ptr281, i64 %sub52.i1685 - %sub63.i1690 = sub i64 %inc.i.i.i, %sub52.i1685 - %cmp6.not.i.i48.i = icmp eq i64 %pos.03500, %shr.i.sink.i.i1674 - br i1 %cmp6.not.i.i48.i, label %invoke.cont66.i1694, label %for.inc.i.i51.preheader.i - -for.inc.i.i51.preheader.i: ; preds = %if.else.i1682 - %sub45.i1691 = sub i64 %.sroa.speculated.i1683, %inc.i.i.i - %add.ptr46.i1692 = getelementptr i32, ptr %cond.i.i.i621, i64 %sub45.i1691 + br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1741 + +_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1741: ; preds = %if.then.i.i1740, %invoke.cont32.i1739 + store ptr %call5.i.i.i.i29.i1751, ptr %data_.i1.i.i1566, align 8 + store i64 %.sroa.speculated.i.i1710, ptr %allocated_capacity.i.i.i1567, align 8 + %shl.i.i1742 = shl i64 %add3.i1676, 1 + %or.i.i1743 = or disjoint i64 %shl.i.i1742, 1 + br label %call10.i.noexc626 + +if.else.i1678: ; preds = %_ZSt8distanceISt24_Fwd_list_const_iteratorIiEENSt15iterator_traitsIT_E15difference_typeES3_S3_.exit.i + %.sroa.speculated.i1679 = call i64 @llvm.umax.i64(i64 %add.i1675, i64 %shr.i.sink.i.i1670) + %add.ptr51.i1680 = getelementptr i32, ptr %cond.i.i.i622, i64 %.sroa.speculated.i1679 + %sub52.i1681 = sub i64 %add3.i1676, %.sroa.speculated.i1679 + %add.ptr56.i1683 = getelementptr inbounds i32, ptr %cond.i.i.i622, i64 %add.i1675 + %sub57.i1684 = sub i64 %.sroa.speculated.i1679, %add.i1675 + %add.ptr61.i1685 = getelementptr inbounds i32, ptr %add.ptr281, i64 %sub52.i1681 + %sub63.i1686 = sub i64 %inc.i.i.i, %sub52.i1681 + %cmp6.not.i.i48.i = icmp eq i64 %pos.03525, %shr.i.sink.i.i1670 + br i1 %cmp6.not.i.i48.i, label %invoke.cont66.i1690, label %for.inc.i.i51.preheader.i + +for.inc.i.i51.preheader.i: ; preds = %if.else.i1678 + %sub45.i1687 = sub i64 %.sroa.speculated.i1679, %inc.i.i.i + %add.ptr46.i1688 = getelementptr i32, ptr %cond.i.i.i622, i64 %sub45.i1687 br label %for.inc.i.i51.i for.inc.i.i51.i: ; preds = %for.inc.i.i51.i, %for.inc.i.i51.preheader.i - %move_construction_values.sroa.0.0.i1693 = phi ptr [ %incdec.ptr.i.i.i.i54.i, %for.inc.i.i51.i ], [ %add.ptr46.i1692, %for.inc.i.i51.preheader.i ] + %move_construction_values.sroa.0.0.i1689 = phi ptr [ %incdec.ptr.i.i.i.i54.i, %for.inc.i.i51.i ], [ %add.ptr46.i1688, %for.inc.i.i51.preheader.i ] %i.07.i.i52.i = phi i64 [ %inc.i.i55.i, %for.inc.i.i51.i ], [ 0, %for.inc.i.i51.preheader.i ] - %add.ptr.i.i53.i = getelementptr inbounds i32, ptr %add.ptr51.i1684, i64 %i.07.i.i52.i - %185 = load i32, ptr %move_construction_values.sroa.0.0.i1693, align 4 + %add.ptr.i.i53.i = getelementptr inbounds i32, ptr %add.ptr51.i1680, i64 %i.07.i.i52.i + %185 = load i32, ptr %move_construction_values.sroa.0.0.i1689, align 4 store i32 %185, ptr %add.ptr.i.i53.i, align 4 - %incdec.ptr.i.i.i.i54.i = getelementptr inbounds i32, ptr %move_construction_values.sroa.0.0.i1693, i64 1 + %incdec.ptr.i.i.i.i54.i = getelementptr inbounds i32, ptr %move_construction_values.sroa.0.0.i1689, i64 1 %inc.i.i55.i = add nuw i64 %i.07.i.i52.i, 1 - %exitcond.not.i.i56.i = icmp eq i64 %inc.i.i55.i, %sub52.i1685 - br i1 %exitcond.not.i.i56.i, label %invoke.cont66.i1694, label %for.inc.i.i51.i, !llvm.loop !12 - -invoke.cont66.i1694: ; preds = %for.inc.i.i51.i, %if.else.i1682 - %incdec.ptr112.i = getelementptr inbounds i32, ptr %add.ptr51.i1684, i64 -1 - %cmp74113.i = icmp ult ptr %incdec.ptr112.i, %add.ptr56.i1687 - br i1 %cmp74113.i, label %for.end.i1701, label %if.end.preheader.i1695 - -if.end.preheader.i1695: ; preds = %invoke.cont66.i1694 - %add.ptr72.i1696 = getelementptr inbounds i32, ptr %add.ptr281, i64 %sub57.i1688 - br label %if.end.i1697 - -if.end.i1697: ; preds = %if.end.i1697, %if.end.preheader.i1695 - %incdec.ptr115.i = phi ptr [ %incdec.ptr.i1699, %if.end.i1697 ], [ %incdec.ptr112.i, %if.end.preheader.i1695 ] - %source.0114.i = phi ptr [ %incdec.ptr73.i1698, %if.end.i1697 ], [ %add.ptr72.i1696, %if.end.preheader.i1695 ] - %incdec.ptr73.i1698 = getelementptr inbounds i32, ptr %source.0114.i, i64 -1 - %186 = load i32, ptr %incdec.ptr73.i1698, align 4 + %exitcond.not.i.i56.i = icmp eq i64 %inc.i.i55.i, %sub52.i1681 + br i1 %exitcond.not.i.i56.i, label %invoke.cont66.i1690, label %for.inc.i.i51.i, !llvm.loop !12 + +invoke.cont66.i1690: ; preds = %for.inc.i.i51.i, %if.else.i1678 + %incdec.ptr112.i = getelementptr inbounds i32, ptr %add.ptr51.i1680, i64 -1 + %cmp74113.i = icmp ult ptr %incdec.ptr112.i, %add.ptr56.i1683 + br i1 %cmp74113.i, label %for.end.i1697, label %if.end.preheader.i1691 + +if.end.preheader.i1691: ; preds = %invoke.cont66.i1690 + %add.ptr72.i1692 = getelementptr inbounds i32, ptr %add.ptr281, i64 %sub57.i1684 + br label %if.end.i1693 + +if.end.i1693: ; preds = %if.end.i1693, %if.end.preheader.i1691 + %incdec.ptr115.i = phi ptr [ %incdec.ptr.i1695, %if.end.i1693 ], [ %incdec.ptr112.i, %if.end.preheader.i1691 ] + %source.0114.i = phi ptr [ %incdec.ptr73.i1694, %if.end.i1693 ], [ %add.ptr72.i1692, %if.end.preheader.i1691 ] + %incdec.ptr73.i1694 = getelementptr inbounds i32, ptr %source.0114.i, i64 -1 + %186 = load i32, ptr %incdec.ptr73.i1694, align 4 store i32 %186, ptr %incdec.ptr115.i, align 4 - %incdec.ptr.i1699 = getelementptr inbounds i32, ptr %incdec.ptr115.i, i64 -1 - %cmp74.i1700 = icmp ult ptr %incdec.ptr.i1699, %add.ptr56.i1687 - br i1 %cmp74.i1700, label %for.end.i1701, label %if.end.i1697, !llvm.loop !555 - -for.end.i1701: ; preds = %if.end.i1697, %invoke.cont66.i1694 - br i1 %cmp6.not.i.i48.i, label %invoke.cont79.i1705, label %for.body.i.i1702 - -for.body.i.i1702: ; preds = %for.end.i1701, %for.body.i.i1702 - %values.sroa.0.1.i1703 = phi ptr [ %188, %for.body.i.i1702 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2222, %for.end.i1701 ] - %i.04.i.i1704 = phi i64 [ %inc.i64.i, %for.body.i.i1702 ], [ 0, %for.end.i1701 ] - %add.ptr.i63.i = getelementptr inbounds i32, ptr %add.ptr281, i64 %i.04.i.i1704 - %_M_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %values.sroa.0.1.i1703, i64 0, i32 1 + %incdec.ptr.i1695 = getelementptr inbounds i32, ptr %incdec.ptr115.i, i64 -1 + %cmp74.i1696 = icmp ult ptr %incdec.ptr.i1695, %add.ptr56.i1683 + br i1 %cmp74.i1696, label %for.end.i1697, label %if.end.i1693, !llvm.loop !555 + +for.end.i1697: ; preds = %if.end.i1693, %invoke.cont66.i1690 + br i1 %cmp6.not.i.i48.i, label %invoke.cont79.i1701, label %for.body.i.i1698 + +for.body.i.i1698: ; preds = %for.end.i1697, %for.body.i.i1698 + %values.sroa.0.1.i1699 = phi ptr [ %188, %for.body.i.i1698 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224, %for.end.i1697 ] + %i.04.i.i1700 = phi i64 [ %inc.i64.i, %for.body.i.i1698 ], [ 0, %for.end.i1697 ] + %add.ptr.i63.i = getelementptr inbounds i32, ptr %add.ptr281, i64 %i.04.i.i1700 + %_M_storage.i.i.i.i.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %values.sroa.0.1.i1699, i64 0, i32 1 %187 = load i32, ptr %_M_storage.i.i.i.i.i, align 4 store i32 %187, ptr %add.ptr.i63.i, align 4 - %188 = load ptr, ptr %values.sroa.0.1.i1703, align 8 - %inc.i64.i = add nuw i64 %i.04.i.i1704, 1 - %exitcond.not.i65.i = icmp eq i64 %inc.i64.i, %sub52.i1685 - br i1 %exitcond.not.i65.i, label %invoke.cont79.i1705, label %for.body.i.i1702, !llvm.loop !556 - -invoke.cont79.i1705: ; preds = %for.body.i.i1702, %for.end.i1701 - %values.sroa.0.2.i1706 = phi ptr [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2222, %for.end.i1701 ], [ %188, %for.body.i.i1702 ] - %cmp3.not.i67.i = icmp eq i64 %sub52.i1685, %inc.i.i.i - br i1 %cmp3.not.i67.i, label %invoke.cont85.i1708, label %for.body.i70.i - -for.body.i70.i: ; preds = %invoke.cont79.i1705, %for.body.i70.i - %values.sroa.0.3.i1707 = phi ptr [ %190, %for.body.i70.i ], [ %values.sroa.0.2.i1706, %invoke.cont79.i1705 ] - %i.04.i71.i = phi i64 [ %inc.i74.i, %for.body.i70.i ], [ 0, %invoke.cont79.i1705 ] - %add.ptr.i72.i = getelementptr inbounds i32, ptr %add.ptr61.i1689, i64 %i.04.i71.i - %_M_storage.i.i.i.i73.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %values.sroa.0.3.i1707, i64 0, i32 1 + %188 = load ptr, ptr %values.sroa.0.1.i1699, align 8 + %inc.i64.i = add nuw i64 %i.04.i.i1700, 1 + %exitcond.not.i65.i = icmp eq i64 %inc.i64.i, %sub52.i1681 + br i1 %exitcond.not.i65.i, label %invoke.cont79.i1701, label %for.body.i.i1698, !llvm.loop !556 + +invoke.cont79.i1701: ; preds = %for.body.i.i1698, %for.end.i1697 + %values.sroa.0.2.i1702 = phi ptr [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224, %for.end.i1697 ], [ %188, %for.body.i.i1698 ] + %cmp3.not.i67.i = icmp eq i64 %sub52.i1681, %inc.i.i.i + br i1 %cmp3.not.i67.i, label %invoke.cont85.i1704, label %for.body.i70.i + +for.body.i70.i: ; preds = %invoke.cont79.i1701, %for.body.i70.i + %values.sroa.0.3.i1703 = phi ptr [ %190, %for.body.i70.i ], [ %values.sroa.0.2.i1702, %invoke.cont79.i1701 ] + %i.04.i71.i = phi i64 [ %inc.i74.i, %for.body.i70.i ], [ 0, %invoke.cont79.i1701 ] + %add.ptr.i72.i = getelementptr inbounds i32, ptr %add.ptr61.i1685, i64 %i.04.i71.i + %_M_storage.i.i.i.i73.i = getelementptr inbounds %"struct.std::_Fwd_list_node", ptr %values.sroa.0.3.i1703, i64 0, i32 1 %189 = load i32, ptr %_M_storage.i.i.i.i73.i, align 4 store i32 %189, ptr %add.ptr.i72.i, align 4 - %190 = load ptr, ptr %values.sroa.0.3.i1707, align 8 + %190 = load ptr, ptr %values.sroa.0.3.i1703, align 8 %inc.i74.i = add nuw i64 %i.04.i71.i, 1 - %exitcond.not.i75.i = icmp eq i64 %inc.i74.i, %sub63.i1690 - br i1 %exitcond.not.i75.i, label %invoke.cont85.i1708, label %for.body.i70.i, !llvm.loop !554 + %exitcond.not.i75.i = icmp eq i64 %inc.i74.i, %sub63.i1686 + br i1 %exitcond.not.i75.i, label %invoke.cont85.i1704, label %for.body.i70.i, !llvm.loop !554 -invoke.cont85.i1708: ; preds = %for.body.i70.i, %invoke.cont79.i1705 +invoke.cont85.i1704: ; preds = %for.body.i70.i, %invoke.cont79.i1701 %shl.i76.i = shl nuw i64 %inc.i.i.i, 1 %191 = load i64, ptr %v242, align 8 - %add.i.i1709 = add i64 %191, %shl.i76.i - br label %call10.i.noexc625 + %add.i.i1705 = add i64 %191, %shl.i76.i + br label %call10.i.noexc626 -call10.i.noexc625: ; preds = %invoke.cont85.i1708, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1745 - %storemerge.i1710 = phi i64 [ %add.i.i1709, %invoke.cont85.i1708 ], [ %or.i.i1747, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1745 ] - %retval.0.i1711 = phi ptr [ %add.ptr281, %invoke.cont85.i1708 ], [ %add.ptr.i1718, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1745 ] - store i64 %storemerge.i1710, ptr %v242, align 8 +call10.i.noexc626: ; preds = %invoke.cont85.i1704, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1741 + %storemerge.i1706 = phi i64 [ %add.i.i1705, %invoke.cont85.i1704 ], [ %or.i.i1743, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1741 ] + %retval.0.i1707 = phi ptr [ %add.ptr281, %invoke.cont85.i1704 ], [ %add.ptr.i1714, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1741 ] + store i64 %storemerge.i1706, ptr %v242, align 8 br label %invoke.cont290 -invoke.cont290: ; preds = %call10.i.noexc625, %invoke.cont275 - %retval.0.i624 = phi ptr [ %retval.0.i1711, %call10.i.noexc625 ], [ %add.ptr281, %invoke.cont275 ] - store ptr %retval.0.i624, ptr %it279, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i628 = ptrtoint ptr %std_v239.sroa.11.5 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i629 = ptrtoint ptr %std_v239.sroa.0.5 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i630 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i628, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i629 - %cmp.i.i.i.i.i.i632 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i630, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i632, label %if.then.i.i.i.i.i.i639, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i633 +invoke.cont290: ; preds = %call10.i.noexc626, %invoke.cont275 + %retval.0.i625 = phi ptr [ %retval.0.i1707, %call10.i.noexc626 ], [ %add.ptr281, %invoke.cont275 ] + store ptr %retval.0.i625, ptr %it279, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i629 = ptrtoint ptr %std_v239.sroa.11.5 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i630 = ptrtoint ptr %std_v239.sroa.0.5 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i631 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i629, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i630 + %cmp.i.i.i.i.i.i632 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i631, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i632, label %if.then.i.i.i.i.i.i640, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i633 -if.then.i.i.i.i.i.i639: ; preds = %invoke.cont290 +if.then.i.i.i.i.i.i640: ; preds = %invoke.cont290 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc640 unwind label %lpad274.loopexit.split-lp + to label %.noexc641 unwind label %lpad274.loopexit.split-lp -.noexc640: ; preds = %if.then.i.i.i.i.i.i639 +.noexc641: ; preds = %if.then.i.i.i.i.i.i640 unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i633: ; preds = %invoke.cont290 %cmp.not.i.i.i.i.i.i634 = icmp eq ptr %std_v239.sroa.11.5, %std_v239.sroa.0.5 - br i1 %cmp.not.i.i.i.i.i.i634, label %invoke.cont.thread.i660, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635 + br i1 %cmp.not.i.i.i.i.i.i634, label %invoke.cont.thread.i661, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635 if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i633 - %call5.i.i.i.i1.i.i.i.i642 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i630) #33 - to label %cond.true.i.i.i.i.i.i.i651 unwind label %lpad274.loopexit + %call5.i.i.i.i1.i.i.i.i643 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i631) #33 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i652 unwind label %lpad274.loopexit -invoke.cont.thread.i660: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i633 - %sub.ptr.div.i.i.i.i19.i661 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i630, 2 - %add.ptr.i.i.i.i.i14.i663 = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i19.i661 +invoke.cont.thread.i661: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i633 + %add.ptr.i.i.i.i.i14.i663 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i631 store i64 0, ptr %ref.tmp293, align 8, !alias.scope !557 store ptr %add.ptr.i.i.i.i.i14.i663, ptr %_M_end_of_storage.i.i.i.i.i.i658, align 8, !alias.scope !557 br label %invoke.cont297 -cond.true.i.i.i.i.i.i.i651: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i642, ptr align 4 %std_v239.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i630, i1 false), !noalias !560 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i652: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i643, ptr align 4 %std_v239.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i631, i1 false), !noalias !560 call void @llvm.experimental.noalias.scope.decl(metadata !557) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp293, i8 0, i64 24, i1 false), !alias.scope !557 - %call5.i.i.i.i2.i6.i.i.i2.i652 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i630) #33 - to label %if.then.i.i.i.i.i654 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i653, !noalias !557 + %call5.i.i.i.i2.i6.i.i.i2.i653 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i631) #33 + to label %if.then.i.i.i.i.i655 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i654, !noalias !557 -if.then.i.i.i.i.i654: ; preds = %cond.true.i.i.i.i.i.i.i651 - %sub.ptr.div.i.i.i.i.i655 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i630, 2 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i652, ptr %ref.tmp293, align 8, !alias.scope !557 - %add.ptr.i.i.i.i.i.i657 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i652, i64 %sub.ptr.div.i.i.i.i.i655 +if.then.i.i.i.i.i655: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i652 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i653, ptr %ref.tmp293, align 8, !alias.scope !557 + %add.ptr.i.i.i.i.i.i657 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i653, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i631 store ptr %add.ptr.i.i.i.i.i.i657, ptr %_M_end_of_storage.i.i.i.i.i.i658, align 8, !alias.scope !557 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i652, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i642, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i630, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i653, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i643, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i631, i1 false) br label %invoke.cont297 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i653: ; preds = %cond.true.i.i.i.i.i.i.i651 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i654: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i652 %192 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i694 + br label %if.then.i.i.i.i695 -invoke.cont297: ; preds = %if.then.i.i.i.i.i654, %invoke.cont.thread.i660 - %storemerge5754 = phi ptr [ %add.ptr.i.i.i.i.i.i657, %if.then.i.i.i.i.i654 ], [ %add.ptr.i.i.i.i.i14.i663, %invoke.cont.thread.i660 ] - %agg.tmp294.sroa.0.24641 = phi ptr [ %call5.i.i.i.i1.i.i.i.i642, %if.then.i.i.i.i.i654 ], [ null, %invoke.cont.thread.i660 ] - store ptr %storemerge5754, ptr %_M_finish.i.i.i.i.i.i656, align 8, !alias.scope !557 +invoke.cont297: ; preds = %if.then.i.i.i.i.i655, %invoke.cont.thread.i661 + %storemerge5766 = phi ptr [ %add.ptr.i.i.i.i.i.i657, %if.then.i.i.i.i.i655 ], [ %add.ptr.i.i.i.i.i14.i663, %invoke.cont.thread.i661 ] + %agg.tmp294.sroa.0.24663 = phi ptr [ %call5.i.i.i.i1.i.i.i.i643, %if.then.i.i.i.i.i655 ], [ null, %invoke.cont.thread.i661 ] + store ptr %storemerge5766, ptr %_M_finish.i.i.i.i.i.i656, align 8, !alias.scope !557 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm8ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar292, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp293, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(40) %v242) to label %invoke.cont299 unwind label %lpad298 invoke.cont299: ; preds = %invoke.cont297 %193 = load ptr, ptr %ref.tmp293, align 8 - %tobool.not.i.i.i.i.i670 = icmp eq ptr %193, null - br i1 %tobool.not.i.i.i.i.i670, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit672, label %if.then.i.i.i.i.i671 + %tobool.not.i.i.i.i.i671 = icmp eq ptr %193, null + br i1 %tobool.not.i.i.i.i.i671, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit673, label %if.then.i.i.i.i.i672 -if.then.i.i.i.i.i671: ; preds = %invoke.cont299 +if.then.i.i.i.i.i672: ; preds = %invoke.cont299 call void @_ZdlPv(ptr noundef nonnull %193) #32 - br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit672 + br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit673 -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit672: ; preds = %invoke.cont299, %if.then.i.i.i.i.i671 - %tobool.not.i.i.i.i673 = icmp eq ptr %agg.tmp294.sroa.0.24641, null - br i1 %tobool.not.i.i.i.i673, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit675, label %if.then.i.i.i.i674 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit673: ; preds = %invoke.cont299, %if.then.i.i.i.i.i672 + %tobool.not.i.i.i.i674 = icmp eq ptr %agg.tmp294.sroa.0.24663, null + br i1 %tobool.not.i.i.i.i674, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit676, label %if.then.i.i.i.i675 -if.then.i.i.i.i674: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit672 - call void @_ZdlPv(ptr noundef nonnull %agg.tmp294.sroa.0.24641) #32 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit675 +if.then.i.i.i.i675: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit673 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp294.sroa.0.24663) #32 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit676 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit675: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit672, %if.then.i.i.i.i674 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit676: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit673, %if.then.i.i.i.i675 %194 = load i8, ptr %gtest_ar292, align 8 %195 = and i8 %194, 1 - %tobool.i676.not = icmp eq i8 %195, 0 - br i1 %tobool.i676.not, label %if.else304, label %if.end317 + %tobool.i677.not = icmp eq i8 %195, 0 + br i1 %tobool.i677.not, label %if.else304, label %if.end317 -ehcleanup235: ; preds = %_ZN7testing7MessageD2Ev.exit532, %lpad223 - %.pn59.pn = phi { ptr, i32 } [ %.pn59, %_ZN7testing7MessageD2Ev.exit532 ], [ %147, %lpad223 ] +ehcleanup235: ; preds = %_ZN7testing7MessageD2Ev.exit533, %lpad223 + %.pn59.pn = phi { ptr, i32 } [ %.pn59, %_ZN7testing7MessageD2Ev.exit533 ], [ %147, %lpad223 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar214) #29 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit680 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit681 -_ZNSt6vectorIiSaIiEED2Ev.exit680: ; preds = %lpad169.loopexit, %lpad169.loopexit.split-lp, %if.then.i.i.i.i484, %ehcleanup196, %ehcleanup235, %ehcleanup213 - %std_v140.sroa.0.7 = phi ptr [ %std_v140.sroa.0.5, %ehcleanup235 ], [ %std_v140.sroa.0.5, %ehcleanup213 ], [ %std_v140.sroa.0.5, %ehcleanup196 ], [ %std_v140.sroa.0.5, %if.then.i.i.i.i484 ], [ %std_v140.sroa.0.6.ph, %lpad169.loopexit ], [ %std_v140.sroa.0.6.ph2401, %lpad169.loopexit.split-lp ] - %.pn59.pn.pn = phi { ptr, i32 } [ %.pn59.pn, %ehcleanup235 ], [ %.pn56.pn, %ehcleanup213 ], [ %128, %ehcleanup196 ], [ %.pn544639, %if.then.i.i.i.i484 ], [ %lpad.loopexit2402, %lpad169.loopexit ], [ %lpad.loopexit.split-lp2403, %lpad169.loopexit.split-lp ] +_ZNSt6vectorIiSaIiEED2Ev.exit681: ; preds = %lpad169.loopexit, %lpad169.loopexit.split-lp, %if.then.i.i.i.i485, %ehcleanup196, %ehcleanup235, %ehcleanup213 + %std_v140.sroa.0.7 = phi ptr [ %std_v140.sroa.0.5, %ehcleanup235 ], [ %std_v140.sroa.0.5, %ehcleanup213 ], [ %std_v140.sroa.0.5, %ehcleanup196 ], [ %std_v140.sroa.0.5, %if.then.i.i.i.i485 ], [ %std_v140.sroa.0.6.ph, %lpad169.loopexit ], [ %std_v140.sroa.0.6.ph2426, %lpad169.loopexit.split-lp ] + %.pn59.pn.pn = phi { ptr, i32 } [ %.pn59.pn, %ehcleanup235 ], [ %.pn56.pn, %ehcleanup213 ], [ %128, %ehcleanup196 ], [ %.pn544661, %if.then.i.i.i.i485 ], [ %lpad.loopexit2427, %lpad169.loopexit ], [ %lpad.loopexit.split-lp2428, %lpad169.loopexit.split-lp ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i) #32 br label %ehcleanup237 -ehcleanup237: ; preds = %lpad144.loopexit, %lpad144.loopexit.split-lp, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i, %_ZNSt6vectorIiSaIiEED2Ev.exit680 - %std_v140.sroa.0.8 = phi ptr [ %std_v140.sroa.0.7, %_ZNSt6vectorIiSaIiEED2Ev.exit680 ], [ %std_v140.sroa.0.42324, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i ], [ %std_v140.sroa.0.3, %lpad144.loopexit ], [ %std_v140.sroa.0.3, %lpad144.loopexit.split-lp ] - %.pn59.pn.pn.pn = phi { ptr, i32 } [ %.pn59.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit680 ], [ %110, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i ], [ %lpad.loopexit2372, %lpad144.loopexit ], [ %lpad.loopexit.split-lp2373, %lpad144.loopexit.split-lp ] +ehcleanup237: ; preds = %lpad144.loopexit, %lpad144.loopexit.split-lp, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i, %_ZNSt6vectorIiSaIiEED2Ev.exit681 + %std_v140.sroa.0.8 = phi ptr [ %std_v140.sroa.0.7, %_ZNSt6vectorIiSaIiEED2Ev.exit681 ], [ %std_v140.sroa.0.42324, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i ], [ %std_v140.sroa.0.3, %lpad144.loopexit ], [ %std_v140.sroa.0.3, %lpad144.loopexit.split-lp ] + %.pn59.pn.pn.pn = phi { ptr, i32 } [ %.pn59.pn.pn, %_ZNSt6vectorIiSaIiEED2Ev.exit681 ], [ %110, %_ZNSt12_Vector_baseIiSaIiEED2Ev.exit.i ], [ %lpad.loopexit2397, %lpad144.loopexit ], [ %lpad.loopexit.split-lp2398, %lpad144.loopexit.split-lp ] %196 = load i64, ptr %v143, align 8 - %and.i.i.i.i681 = and i64 %196, 1 - %tobool.i.not.i.i.i682 = icmp eq i64 %and.i.i.i.i681, 0 - br i1 %tobool.i.not.i.i.i682, label %ehcleanup238, label %if.then.i.i.i683 + %and.i.i.i.i682 = and i64 %196, 1 + %tobool.i.not.i.i.i683 = icmp eq i64 %and.i.i.i.i682, 0 + br i1 %tobool.i.not.i.i.i683, label %ehcleanup238, label %if.then.i.i.i684 -if.then.i.i.i683: ; preds = %ehcleanup237 - %197 = load ptr, ptr %data_.i1.i.i1388, align 8 +if.then.i.i.i684: ; preds = %ehcleanup237 + %197 = load ptr, ptr %data_.i1.i.i1389, align 8 call void @_ZdlPv(ptr noundef %197) #32 br label %ehcleanup238 -ehcleanup238: ; preds = %lpad141.loopexit, %lpad141.loopexit.split-lp, %if.then.i.i.i683, %ehcleanup237 - %std_v140.sroa.0.9 = phi ptr [ %std_v140.sroa.0.8, %ehcleanup237 ], [ %std_v140.sroa.0.8, %if.then.i.i.i683 ], [ %std_v140.sroa.0.2, %lpad141.loopexit ], [ %std_v140.sroa.0.2, %lpad141.loopexit.split-lp ] - %.pn59.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn59.pn.pn.pn, %ehcleanup237 ], [ %.pn59.pn.pn.pn, %if.then.i.i.i683 ], [ %lpad.loopexit2375, %lpad141.loopexit ], [ %lpad.loopexit.split-lp2376, %lpad141.loopexit.split-lp ] - %tobool.not.i.i.i686 = icmp eq ptr %std_v140.sroa.0.9, null - br i1 %tobool.not.i.i.i686, label %eh.resume, label %eh.resume.sink.split +ehcleanup238: ; preds = %lpad141.loopexit, %lpad141.loopexit.split-lp, %if.then.i.i.i684, %ehcleanup237 + %std_v140.sroa.0.9 = phi ptr [ %std_v140.sroa.0.8, %ehcleanup237 ], [ %std_v140.sroa.0.8, %if.then.i.i.i684 ], [ %std_v140.sroa.0.2, %lpad141.loopexit ], [ %std_v140.sroa.0.2, %lpad141.loopexit.split-lp ] + %.pn59.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn59.pn.pn.pn, %ehcleanup237 ], [ %.pn59.pn.pn.pn, %if.then.i.i.i684 ], [ %lpad.loopexit2400, %lpad141.loopexit ], [ %lpad.loopexit.split-lp2401, %lpad141.loopexit.split-lp ] + %tobool.not.i.i.i687 = icmp eq ptr %std_v140.sroa.0.9, null + br i1 %tobool.not.i.i.i687, label %eh.resume, label %eh.resume.sink.split -lpad240.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i578 - %lpad.loopexit2369 = landingpad { ptr, i32 } +lpad240.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i579 + %lpad.loopexit2394 = landingpad { ptr, i32 } cleanup br label %ehcleanup343 -lpad240.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i591 - %lpad.loopexit.split-lp2370 = landingpad { ptr, i32 } +lpad240.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i593 + %lpad.loopexit.split-lp2395 = landingpad { ptr, i32 } cleanup br label %ehcleanup343 -lpad243.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1577 - %lpad.loopexit2366 = landingpad { ptr, i32 } +lpad243.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1580 + %lpad.loopexit2391 = landingpad { ptr, i32 } cleanup br label %ehcleanup342 -lpad243.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i1596, %if.end.i.i.i.i.i.i1595 - %lpad.loopexit.split-lp2367 = landingpad { ptr, i32 } +lpad243.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i1599, %if.end.i.i.i.i.i.i1598 + %lpad.loopexit.split-lp2392 = landingpad { ptr, i32 } cleanup br label %ehcleanup342 -lpad274.loopexit: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635, %if.then.i.i722, %if.end.i.i721, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1629, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1716 - %std_v239.sroa.0.6.ph = phi ptr [ %std_v239.sroa.0.42329, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1629 ], [ %std_v239.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1716 ], [ %std_v239.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635 ], [ %std_v239.sroa.0.5, %if.end.i.i721 ], [ %std_v239.sroa.0.5, %if.then.i.i722 ] - %lpad.loopexit2406 = landingpad { ptr, i32 } +lpad274.loopexit: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635, %if.then.i.i723, %if.end.i.i722, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1632, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1712 + %std_v239.sroa.0.6.ph = phi ptr [ %std_v239.sroa.0.42336, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1632 ], [ %std_v239.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1712 ], [ %std_v239.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i635 ], [ %std_v239.sroa.0.5, %if.end.i.i722 ], [ %std_v239.sroa.0.5, %if.then.i.i723 ] + %lpad.loopexit2431 = landingpad { ptr, i32 } cleanup br label %ehcleanup341 -lpad274.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i639, %if.then.i.i1620, %if.then3.i.i.i.i.i1751, %if.end.i.i.i.i.i1750 - %std_v239.sroa.0.6.ph2405 = phi ptr [ %std_v239.sroa.0.42329, %if.then.i.i1620 ], [ %std_v239.sroa.0.5, %if.end.i.i.i.i.i1750 ], [ %std_v239.sroa.0.5, %if.then3.i.i.i.i.i1751 ], [ %std_v239.sroa.0.5, %if.then.i.i.i.i.i.i639 ] - %lpad.loopexit.split-lp2407 = landingpad { ptr, i32 } +lpad274.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i640, %if.then.i.i1623, %if.then3.i.i.i.i.i1747, %if.end.i.i.i.i.i1746 + %std_v239.sroa.0.6.ph2430 = phi ptr [ %std_v239.sroa.0.42336, %if.then.i.i1623 ], [ %std_v239.sroa.0.5, %if.end.i.i.i.i.i1746 ], [ %std_v239.sroa.0.5, %if.then3.i.i.i.i.i1747 ], [ %std_v239.sroa.0.5, %if.then.i.i.i.i.i.i640 ] + %lpad.loopexit.split-lp2432 = landingpad { ptr, i32 } cleanup br label %ehcleanup341 @@ -25538,39 +25529,39 @@ lpad298: ; preds = %invoke.cont297 %198 = landingpad { ptr, i32 } cleanup %199 = load ptr, ptr %ref.tmp293, align 8 - %tobool.not.i.i.i.i.i690 = icmp eq ptr %199, null - br i1 %tobool.not.i.i.i.i.i690, label %ehcleanup301, label %if.then.i.i.i.i.i691 + %tobool.not.i.i.i.i.i691 = icmp eq ptr %199, null + br i1 %tobool.not.i.i.i.i.i691, label %ehcleanup301, label %if.then.i.i.i.i.i692 -if.then.i.i.i.i.i691: ; preds = %lpad298 +if.then.i.i.i.i.i692: ; preds = %lpad298 call void @_ZdlPv(ptr noundef nonnull %199) #32 br label %ehcleanup301 -ehcleanup301: ; preds = %if.then.i.i.i.i.i691, %lpad298 - %tobool.not.i.i.i.i693 = icmp eq ptr %agg.tmp294.sroa.0.24641, null - br i1 %tobool.not.i.i.i.i693, label %ehcleanup341, label %if.then.i.i.i.i694 +ehcleanup301: ; preds = %if.then.i.i.i.i.i692, %lpad298 + %tobool.not.i.i.i.i694 = icmp eq ptr %agg.tmp294.sroa.0.24663, null + br i1 %tobool.not.i.i.i.i694, label %ehcleanup341, label %if.then.i.i.i.i695 -if.then.i.i.i.i694: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i653, %ehcleanup301 - %.pn654648 = phi { ptr, i32 } [ %198, %ehcleanup301 ], [ %192, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i653 ] - %agg.tmp294.sroa.0.246434647 = phi ptr [ %agg.tmp294.sroa.0.24641, %ehcleanup301 ], [ %call5.i.i.i.i1.i.i.i.i642, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i653 ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp294.sroa.0.246434647) #32 +if.then.i.i.i.i695: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i654, %ehcleanup301 + %.pn654670 = phi { ptr, i32 } [ %198, %ehcleanup301 ], [ %192, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i654 ] + %agg.tmp294.sroa.0.246654669 = phi ptr [ %agg.tmp294.sroa.0.24663, %ehcleanup301 ], [ %call5.i.i.i.i1.i.i.i.i643, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i654 ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp294.sroa.0.246654669) #32 br label %ehcleanup341 -if.else304: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit675 +if.else304: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit676 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp305) to label %invoke.cont307 unwind label %lpad306 invoke.cont307: ; preds = %if.else304 - %200 = load ptr, ptr %message_.i.i696, align 8 - %cmp.i.i.not.i.i697 = icmp eq ptr %200, null - br i1 %cmp.i.i.not.i.i697, label %invoke.cont310, label %cond.true.i.i698 + %200 = load ptr, ptr %message_.i.i697, align 8 + %cmp.i.i.not.i.i698 = icmp eq ptr %200, null + br i1 %cmp.i.i.not.i.i698, label %invoke.cont310, label %cond.true.i.i699 -cond.true.i.i698: ; preds = %invoke.cont307 - %call4.i.i699 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %200) #29 +cond.true.i.i699: ; preds = %invoke.cont307 + %call4.i.i700 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %200) #29 br label %invoke.cont310 -invoke.cont310: ; preds = %cond.true.i.i698, %invoke.cont307 - %cond.i.i700 = phi ptr [ %call4.i.i699, %cond.true.i.i698 ], [ @.str.202, %invoke.cont307 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp308, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 538, ptr noundef %cond.i.i700) +invoke.cont310: ; preds = %cond.true.i.i699, %invoke.cont307 + %cond.i.i701 = phi ptr [ %call4.i.i700, %cond.true.i.i699 ], [ @.str.202, %invoke.cont307 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp308, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 538, ptr noundef %cond.i.i701) to label %invoke.cont312 unwind label %lpad309 invoke.cont312: ; preds = %invoke.cont310 @@ -25580,17 +25571,17 @@ invoke.cont312: ; preds = %invoke.cont310 invoke.cont314: ; preds = %invoke.cont312 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp308) #29 %201 = load ptr, ptr %ref.tmp305, align 8 - %cmp.not.i.i702 = icmp eq ptr %201, null - br i1 %cmp.not.i.i702, label %_ZN7testing7MessageD2Ev.exit706, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i703 + %cmp.not.i.i703 = icmp eq ptr %201, null + br i1 %cmp.not.i.i703, label %_ZN7testing7MessageD2Ev.exit707, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i704 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i703: ; preds = %invoke.cont314 - %vtable.i.i.i704 = load ptr, ptr %201, align 8 - %vfn.i.i.i705 = getelementptr inbounds ptr, ptr %vtable.i.i.i704, i64 1 - %202 = load ptr, ptr %vfn.i.i.i705, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i704: ; preds = %invoke.cont314 + %vtable.i.i.i705 = load ptr, ptr %201, align 8 + %vfn.i.i.i706 = getelementptr inbounds ptr, ptr %vtable.i.i.i705, i64 1 + %202 = load ptr, ptr %vfn.i.i.i706, align 8 call void %202(ptr noundef nonnull align 8 dereferenceable(128) %201) #29 - br label %_ZN7testing7MessageD2Ev.exit706 + br label %_ZN7testing7MessageD2Ev.exit707 -_ZN7testing7MessageD2Ev.exit706: ; preds = %invoke.cont314, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i703 +_ZN7testing7MessageD2Ev.exit707: ; preds = %invoke.cont314, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i704 store ptr null, ptr %ref.tmp305, align 8 br label %if.end317 @@ -25613,59 +25604,59 @@ lpad313: ; preds = %invoke.cont312 ehcleanup316: ; preds = %lpad313, %lpad309 %.pn67 = phi { ptr, i32 } [ %205, %lpad313 ], [ %204, %lpad309 ] %206 = load ptr, ptr %ref.tmp305, align 8 - %cmp.not.i.i707 = icmp eq ptr %206, null - br i1 %cmp.not.i.i707, label %_ZN7testing7MessageD2Ev.exit711, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i708 + %cmp.not.i.i708 = icmp eq ptr %206, null + br i1 %cmp.not.i.i708, label %_ZN7testing7MessageD2Ev.exit712, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i709 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i708: ; preds = %ehcleanup316 - %vtable.i.i.i709 = load ptr, ptr %206, align 8 - %vfn.i.i.i710 = getelementptr inbounds ptr, ptr %vtable.i.i.i709, i64 1 - %207 = load ptr, ptr %vfn.i.i.i710, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i709: ; preds = %ehcleanup316 + %vtable.i.i.i710 = load ptr, ptr %206, align 8 + %vfn.i.i.i711 = getelementptr inbounds ptr, ptr %vtable.i.i.i710, i64 1 + %207 = load ptr, ptr %vfn.i.i.i711, align 8 call void %207(ptr noundef nonnull align 8 dereferenceable(128) %206) #29 - br label %_ZN7testing7MessageD2Ev.exit711 + br label %_ZN7testing7MessageD2Ev.exit712 -_ZN7testing7MessageD2Ev.exit711: ; preds = %ehcleanup316, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i708 +_ZN7testing7MessageD2Ev.exit712: ; preds = %ehcleanup316, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i709 store ptr null, ptr %ref.tmp305, align 8 br label %ehcleanup318 -if.end317: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit675, %_ZN7testing7MessageD2Ev.exit706 - %208 = load ptr, ptr %message_.i.i696, align 8 - %cmp.not.i.i713 = icmp eq ptr %208, null - br i1 %cmp.not.i.i713, label %_ZN7testing15AssertionResultD2Ev.exit715, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i714 +if.end317: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit676, %_ZN7testing7MessageD2Ev.exit707 + %208 = load ptr, ptr %message_.i.i697, align 8 + %cmp.not.i.i714 = icmp eq ptr %208, null + br i1 %cmp.not.i.i714, label %_ZN7testing15AssertionResultD2Ev.exit716, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i714: ; preds = %if.end317 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715: ; preds = %if.end317 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #29 call void @_ZdlPv(ptr noundef nonnull %208) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit715 + br label %_ZN7testing15AssertionResultD2Ev.exit716 -_ZN7testing15AssertionResultD2Ev.exit715: ; preds = %if.end317, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i714 - store ptr null, ptr %message_.i.i696, align 8 +_ZN7testing15AssertionResultD2Ev.exit716: ; preds = %if.end317, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715 + store ptr null, ptr %message_.i.i697, align 8 %209 = load i64, ptr %v242, align 8 - %and.i.i.i.i716 = and i64 %209, 1 - %tobool.i.not.i.i.i717 = icmp eq i64 %and.i.i.i.i716, 0 - %210 = load ptr, ptr %data_.i1.i.i1563, align 8 - %cond.i.i.i719 = select i1 %tobool.i.not.i.i.i717, ptr %data_.i1.i.i1563, ptr %210 - %add.ptr322 = getelementptr inbounds i32, ptr %cond.i.i.i719, i64 %pos.03500 + %and.i.i.i.i717 = and i64 %209, 1 + %tobool.i.not.i.i.i718 = icmp eq i64 %and.i.i.i.i717, 0 + %210 = load ptr, ptr %data_.i1.i.i1566, align 8 + %cond.i.i.i720 = select i1 %tobool.i.not.i.i.i718, ptr %data_.i1.i.i1566, ptr %210 + %add.ptr322 = getelementptr inbounds i32, ptr %cond.i.i.i720, i64 %pos.03525 store ptr %add.ptr322, ptr %ref.tmp320, align 8 %211 = load ptr, ptr %it279, align 8, !noalias !565 - %cmp.i.i720 = icmp eq ptr %211, %add.ptr322 - br i1 %cmp.i.i720, label %if.then.i.i722, label %if.end.i.i721 + %cmp.i.i721 = icmp eq ptr %211, %add.ptr322 + br i1 %cmp.i.i721, label %if.then.i.i723, label %if.end.i.i722 -if.then.i.i722: ; preds = %_ZN7testing15AssertionResultD2Ev.exit715 +if.then.i.i723: ; preds = %_ZN7testing15AssertionResultD2Ev.exit716 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar319) to label %invoke.cont323 unwind label %lpad274.loopexit -if.end.i.i721: ; preds = %_ZN7testing15AssertionResultD2Ev.exit715 +if.end.i.i722: ; preds = %_ZN7testing15AssertionResultD2Ev.exit716 invoke void @_ZN7testing8internal18CmpHelperEQFailureIPiPKiEENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar319, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.291, ptr noundef nonnull align 8 dereferenceable(8) %it279, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp320) to label %invoke.cont323 unwind label %lpad274.loopexit -invoke.cont323: ; preds = %if.then.i.i722, %if.end.i.i721 +invoke.cont323: ; preds = %if.then.i.i723, %if.end.i.i722 %212 = load i8, ptr %gtest_ar319, align 8 %213 = and i8 %212, 1 - %tobool.i726.not = icmp eq i8 %213, 0 - br i1 %tobool.i726.not, label %if.else326, label %if.end339 + %tobool.i727.not = icmp eq i8 %213, 0 + br i1 %tobool.i727.not, label %if.else326, label %if.end339 -ehcleanup318: ; preds = %_ZN7testing7MessageD2Ev.exit711, %lpad306 - %.pn67.pn = phi { ptr, i32 } [ %.pn67, %_ZN7testing7MessageD2Ev.exit711 ], [ %203, %lpad306 ] +ehcleanup318: ; preds = %_ZN7testing7MessageD2Ev.exit712, %lpad306 + %.pn67.pn = phi { ptr, i32 } [ %.pn67, %_ZN7testing7MessageD2Ev.exit712 ], [ %203, %lpad306 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar292) #29 br label %ehcleanup341 @@ -25674,17 +25665,17 @@ if.else326: ; preds = %invoke.cont323 to label %invoke.cont329 unwind label %lpad328 invoke.cont329: ; preds = %if.else326 - %214 = load ptr, ptr %message_.i.i727, align 8 - %cmp.i.i.not.i.i728 = icmp eq ptr %214, null - br i1 %cmp.i.i.not.i.i728, label %invoke.cont332, label %cond.true.i.i729 + %214 = load ptr, ptr %message_.i.i728, align 8 + %cmp.i.i.not.i.i729 = icmp eq ptr %214, null + br i1 %cmp.i.i.not.i.i729, label %invoke.cont332, label %cond.true.i.i730 -cond.true.i.i729: ; preds = %invoke.cont329 - %call4.i.i730 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %214) #29 +cond.true.i.i730: ; preds = %invoke.cont329 + %call4.i.i731 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %214) #29 br label %invoke.cont332 -invoke.cont332: ; preds = %cond.true.i.i729, %invoke.cont329 - %cond.i.i731 = phi ptr [ %call4.i.i730, %cond.true.i.i729 ], [ @.str.202, %invoke.cont329 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp330, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 539, ptr noundef %cond.i.i731) +invoke.cont332: ; preds = %cond.true.i.i730, %invoke.cont329 + %cond.i.i732 = phi ptr [ %call4.i.i731, %cond.true.i.i730 ], [ @.str.202, %invoke.cont329 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp330, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 539, ptr noundef %cond.i.i732) to label %invoke.cont334 unwind label %lpad331 invoke.cont334: ; preds = %invoke.cont332 @@ -25694,17 +25685,17 @@ invoke.cont334: ; preds = %invoke.cont332 invoke.cont336: ; preds = %invoke.cont334 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp330) #29 %215 = load ptr, ptr %ref.tmp327, align 8 - %cmp.not.i.i733 = icmp eq ptr %215, null - br i1 %cmp.not.i.i733, label %_ZN7testing7MessageD2Ev.exit737, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i734 + %cmp.not.i.i734 = icmp eq ptr %215, null + br i1 %cmp.not.i.i734, label %_ZN7testing7MessageD2Ev.exit738, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i735 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i734: ; preds = %invoke.cont336 - %vtable.i.i.i735 = load ptr, ptr %215, align 8 - %vfn.i.i.i736 = getelementptr inbounds ptr, ptr %vtable.i.i.i735, i64 1 - %216 = load ptr, ptr %vfn.i.i.i736, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i735: ; preds = %invoke.cont336 + %vtable.i.i.i736 = load ptr, ptr %215, align 8 + %vfn.i.i.i737 = getelementptr inbounds ptr, ptr %vtable.i.i.i736, i64 1 + %216 = load ptr, ptr %vfn.i.i.i737, align 8 call void %216(ptr noundef nonnull align 8 dereferenceable(128) %215) #29 - br label %_ZN7testing7MessageD2Ev.exit737 + br label %_ZN7testing7MessageD2Ev.exit738 -_ZN7testing7MessageD2Ev.exit737: ; preds = %invoke.cont336, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i734 +_ZN7testing7MessageD2Ev.exit738: ; preds = %invoke.cont336, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i735 store ptr null, ptr %ref.tmp327, align 8 br label %if.end339 @@ -25727,317 +25718,316 @@ lpad335: ; preds = %invoke.cont334 ehcleanup338: ; preds = %lpad335, %lpad331 %.pn70 = phi { ptr, i32 } [ %219, %lpad335 ], [ %218, %lpad331 ] %220 = load ptr, ptr %ref.tmp327, align 8 - %cmp.not.i.i738 = icmp eq ptr %220, null - br i1 %cmp.not.i.i738, label %_ZN7testing7MessageD2Ev.exit742, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739 + %cmp.not.i.i739 = icmp eq ptr %220, null + br i1 %cmp.not.i.i739, label %_ZN7testing7MessageD2Ev.exit743, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i740 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739: ; preds = %ehcleanup338 - %vtable.i.i.i740 = load ptr, ptr %220, align 8 - %vfn.i.i.i741 = getelementptr inbounds ptr, ptr %vtable.i.i.i740, i64 1 - %221 = load ptr, ptr %vfn.i.i.i741, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i740: ; preds = %ehcleanup338 + %vtable.i.i.i741 = load ptr, ptr %220, align 8 + %vfn.i.i.i742 = getelementptr inbounds ptr, ptr %vtable.i.i.i741, i64 1 + %221 = load ptr, ptr %vfn.i.i.i742, align 8 call void %221(ptr noundef nonnull align 8 dereferenceable(128) %220) #29 - br label %_ZN7testing7MessageD2Ev.exit742 + br label %_ZN7testing7MessageD2Ev.exit743 -_ZN7testing7MessageD2Ev.exit742: ; preds = %ehcleanup338, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i739 +_ZN7testing7MessageD2Ev.exit743: ; preds = %ehcleanup338, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i740 store ptr null, ptr %ref.tmp327, align 8 br label %ehcleanup340 -if.end339: ; preds = %invoke.cont323, %_ZN7testing7MessageD2Ev.exit737 - %222 = load ptr, ptr %message_.i.i727, align 8 - %cmp.not.i.i744 = icmp eq ptr %222, null - br i1 %cmp.not.i.i744, label %_ZN7testing15AssertionResultD2Ev.exit746, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i745 +if.end339: ; preds = %invoke.cont323, %_ZN7testing7MessageD2Ev.exit738 + %222 = load ptr, ptr %message_.i.i728, align 8 + %cmp.not.i.i745 = icmp eq ptr %222, null + br i1 %cmp.not.i.i745, label %_ZN7testing15AssertionResultD2Ev.exit747, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i746 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i745: ; preds = %if.end339 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i746: ; preds = %if.end339 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #29 call void @_ZdlPv(ptr noundef nonnull %222) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit746 - -_ZN7testing15AssertionResultD2Ev.exit746: ; preds = %if.end339, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i745 - store ptr null, ptr %message_.i.i727, align 8 - %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223 = load ptr, ptr %input245.sroa.0, align 8 - %cmp.not7.i.i.i747 = icmp eq ptr %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, null - br i1 %cmp.not7.i.i.i747, label %_ZNSt12forward_listIiSaIiEED2Ev.exit, label %while.body.i.i.i748 - -while.body.i.i.i748: ; preds = %_ZN7testing15AssertionResultD2Ev.exit746, %while.body.i.i.i748 - %__curr.08.i.i.i749 = phi ptr [ %223, %while.body.i.i.i748 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2223, %_ZN7testing15AssertionResultD2Ev.exit746 ] - %223 = load ptr, ptr %__curr.08.i.i.i749, align 8 - call void @_ZdlPv(ptr noundef nonnull %__curr.08.i.i.i749) #32 - %cmp.not.i.i.i750 = icmp eq ptr %223, null - br i1 %cmp.not.i.i.i750, label %_ZNSt12forward_listIiSaIiEED2Ev.exit, label %while.body.i.i.i748, !llvm.loop !547 - -_ZNSt12forward_listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i748, %_ZN7testing15AssertionResultD2Ev.exit746 + br label %_ZN7testing15AssertionResultD2Ev.exit747 + +_ZN7testing15AssertionResultD2Ev.exit747: ; preds = %if.end339, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i746 + store ptr null, ptr %message_.i.i728, align 8 + %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2225 = load ptr, ptr %input245.sroa.0, align 8 + %cmp.not7.i.i.i748 = icmp eq ptr %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2225, null + br i1 %cmp.not7.i.i.i748, label %_ZNSt12forward_listIiSaIiEED2Ev.exit, label %while.body.i.i.i749 + +while.body.i.i.i749: ; preds = %_ZN7testing15AssertionResultD2Ev.exit747, %while.body.i.i.i749 + %__curr.08.i.i.i750 = phi ptr [ %223, %while.body.i.i.i749 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2225, %_ZN7testing15AssertionResultD2Ev.exit747 ] + %223 = load ptr, ptr %__curr.08.i.i.i750, align 8 + call void @_ZdlPv(ptr noundef nonnull %__curr.08.i.i.i750) #32 + %cmp.not.i.i.i751 = icmp eq ptr %223, null + br i1 %cmp.not.i.i.i751, label %_ZNSt12forward_listIiSaIiEED2Ev.exit, label %while.body.i.i.i749, !llvm.loop !547 + +_ZNSt12forward_listIiSaIiEED2Ev.exit: ; preds = %while.body.i.i.i749, %_ZN7testing15AssertionResultD2Ev.exit747 store ptr null, ptr %input245.sroa.0, align 8 %224 = load i64, ptr %v242, align 8 - %and.i.i.i.i752 = and i64 %224, 1 - %tobool.i.not.i.i.i753 = icmp eq i64 %and.i.i.i.i752, 0 - br i1 %tobool.i.not.i.i.i753, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit756, label %if.then.i.i.i754 + %and.i.i.i.i753 = and i64 %224, 1 + %tobool.i.not.i.i.i754 = icmp eq i64 %and.i.i.i.i753, 0 + br i1 %tobool.i.not.i.i.i754, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit757, label %if.then.i.i.i755 -if.then.i.i.i754: ; preds = %_ZNSt12forward_listIiSaIiEED2Ev.exit - %225 = load ptr, ptr %data_.i1.i.i1563, align 8 +if.then.i.i.i755: ; preds = %_ZNSt12forward_listIiSaIiEED2Ev.exit + %225 = load ptr, ptr %data_.i1.i.i1566, align 8 call void @_ZdlPv(ptr noundef %225) #32 - br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit756 + br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit757 -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit756: ; preds = %_ZNSt12forward_listIiSaIiEED2Ev.exit, %if.then.i.i.i754 - %tobool.not.i.i.i757 = icmp eq ptr %std_v239.sroa.0.5, null - br i1 %tobool.not.i.i.i757, label %_ZNSt6vectorIiSaIiEED2Ev.exit760, label %if.then.i.i.i758 +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit757: ; preds = %_ZNSt12forward_listIiSaIiEED2Ev.exit, %if.then.i.i.i755 + %tobool.not.i.i.i758 = icmp eq ptr %std_v239.sroa.0.5, null + br i1 %tobool.not.i.i.i758, label %_ZNSt6vectorIiSaIiEED2Ev.exit761, label %if.then.i.i.i759 -if.then.i.i.i758: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit756 +if.then.i.i.i759: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit757 call void @_ZdlPv(ptr noundef nonnull %std_v239.sroa.0.5) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit760 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit761 -_ZNSt6vectorIiSaIiEED2Ev.exit760: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit756, %if.then.i.i.i758 - br i1 %cmp4.not.i, label %invoke.cont346.thread, label %for.body.i766 +_ZNSt6vectorIiSaIiEED2Ev.exit761: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit757, %if.then.i.i.i759 + br i1 %cmp4.not.i, label %invoke.cont346.thread, label %for.body.i767 -invoke.cont346.thread: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit760 +invoke.cont346.thread: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit761 store i64 0, ptr %v347, align 8 br label %invoke.cont349 -for.body.i766: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit760, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772 - %std_v344.sroa.0.2 = phi ptr [ %std_v344.sroa.0.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit760 ] - %std_v344.sroa.24.2 = phi ptr [ %std_v344.sroa.24.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit760 ] - %226 = phi ptr [ %std_v344.sroa.11.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit760 ] - %i.05.i767 = phi i64 [ %inc.i773, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772 ], [ 0, %_ZNSt6vectorIiSaIiEED2Ev.exit760 ] - %conv.i768 = trunc i64 %i.05.i767 to i32 - %cmp.not.i.i.i769 = icmp eq ptr %226, %std_v344.sroa.24.2 - br i1 %cmp.not.i.i.i769, label %if.else.i.i.i775, label %if.then.i.i.i770 - -if.then.i.i.i770: ; preds = %for.body.i766 - store i32 %conv.i768, ptr %226, align 4 - br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772 - -if.else.i.i.i775: ; preds = %for.body.i766 - %sub.ptr.lhs.cast.i.i.i.i.i.i776 = ptrtoint ptr %std_v344.sroa.24.2 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i777 = ptrtoint ptr %std_v344.sroa.0.2 to i64 - %sub.ptr.sub.i.i.i.i.i.i778 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i776, %sub.ptr.rhs.cast.i.i.i.i.i.i777 - %cmp.i.i.i.i.i779 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i778, 9223372036854775804 - br i1 %cmp.i.i.i.i.i779, label %if.then.i.i.i.i.i802, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i780 - -if.then.i.i.i.i.i802: ; preds = %if.else.i.i.i775 +for.body.i767: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit761, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773 + %std_v344.sroa.0.2 = phi ptr [ %std_v344.sroa.0.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit761 ] + %std_v344.sroa.24.2 = phi ptr [ %std_v344.sroa.24.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit761 ] + %226 = phi ptr [ %std_v344.sroa.11.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit761 ] + %i.05.i768 = phi i64 [ %inc.i774, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773 ], [ 0, %_ZNSt6vectorIiSaIiEED2Ev.exit761 ] + %conv.i769 = trunc i64 %i.05.i768 to i32 + %cmp.not.i.i.i770 = icmp eq ptr %226, %std_v344.sroa.24.2 + br i1 %cmp.not.i.i.i770, label %if.else.i.i.i776, label %if.then.i.i.i771 + +if.then.i.i.i771: ; preds = %for.body.i767 + store i32 %conv.i769, ptr %226, align 4 + br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773 + +if.else.i.i.i776: ; preds = %for.body.i767 + %sub.ptr.lhs.cast.i.i.i.i.i.i777 = ptrtoint ptr %std_v344.sroa.24.2 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i778 = ptrtoint ptr %std_v344.sroa.0.2 to i64 + %sub.ptr.sub.i.i.i.i.i.i779 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i777, %sub.ptr.rhs.cast.i.i.i.i.i.i778 + %cmp.i.i.i.i.i780 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i779, 9223372036854775804 + br i1 %cmp.i.i.i.i.i780, label %if.then.i.i.i.i.i804, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i781 + +if.then.i.i.i.i.i804: ; preds = %if.else.i.i.i776 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc803 unwind label %lpad345.loopexit.split-lp - -.noexc803: ; preds = %if.then.i.i.i.i.i802 - unreachable - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i780: ; preds = %if.else.i.i.i775 - %sub.ptr.div.i.i.i.i.i.i781 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i778, 2 - %.sroa.speculated.i.i.i.i.i782 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i781, i64 1) - %add.i.i.i.i.i783 = add i64 %.sroa.speculated.i.i.i.i.i782, %sub.ptr.div.i.i.i.i.i.i781 - %cmp7.i.i.i.i.i784 = icmp ult i64 %add.i.i.i.i.i783, %sub.ptr.div.i.i.i.i.i.i781 - %cmp9.i.i.i.i.i785 = icmp ugt i64 %add.i.i.i.i.i783, 2305843009213693951 - %or.cond.i.i.i.i.i786 = or i1 %cmp7.i.i.i.i.i784, %cmp9.i.i.i.i.i785 - %cond.i.i.i.i.i787 = select i1 %or.cond.i.i.i.i.i786, i64 2305843009213693951, i64 %add.i.i.i.i.i783 - %cmp.not.i.i.i.i.i788 = icmp eq i64 %cond.i.i.i.i.i787, 0 - br i1 %cmp.not.i.i.i.i.i788, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i791, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i789 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i789: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i780 - %mul.i.i.i.i.i.i.i790 = shl nuw nsw i64 %cond.i.i.i.i.i787, 2 - %call5.i.i.i.i.i.i.i805 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i790) #33 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i791 unwind label %lpad345.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i791: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i789, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i780 - %cond.i10.i.i.i.i792 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i780 ], [ %call5.i.i.i.i.i.i.i805, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i789 ] - %add.ptr.i.i.i.i793 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i792, i64 %sub.ptr.div.i.i.i.i.i.i781 - store i32 %conv.i768, ptr %add.ptr.i.i.i.i793, align 4 - %cmp.i.i.i11.i.i.i.i794 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i781, 0 - br i1 %cmp.i.i.i11.i.i.i.i794, label %if.then.i.i.i12.i.i.i.i801, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i795 - -if.then.i.i.i12.i.i.i.i801: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i791 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i792, ptr align 4 %std_v344.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i778, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i795 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i795: ; preds = %if.then.i.i.i12.i.i.i.i801, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i791 - %tobool.not.i.i.i.i.i797 = icmp eq ptr %std_v344.sroa.0.2, null - br i1 %tobool.not.i.i.i.i.i797, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i799, label %if.then.i21.i.i.i.i798 - -if.then.i21.i.i.i.i798: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i795 + to label %.noexc805 unwind label %lpad345.loopexit.split-lp + +.noexc805: ; preds = %if.then.i.i.i.i.i804 + unreachable + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i781: ; preds = %if.else.i.i.i776 + %sub.ptr.div.i.i.i.i.i.i782 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i779, 2 + %.sroa.speculated.i.i.i.i.i783 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i782, i64 1) + %add.i.i.i.i.i784 = add i64 %.sroa.speculated.i.i.i.i.i783, %sub.ptr.div.i.i.i.i.i.i782 + %cmp7.i.i.i.i.i785 = icmp ult i64 %add.i.i.i.i.i784, %sub.ptr.div.i.i.i.i.i.i782 + %cmp9.i.i.i.i.i786 = icmp ugt i64 %add.i.i.i.i.i784, 2305843009213693951 + %or.cond.i.i.i.i.i787 = or i1 %cmp7.i.i.i.i.i785, %cmp9.i.i.i.i.i786 + %cond.i.i.i.i.i788 = select i1 %or.cond.i.i.i.i.i787, i64 2305843009213693951, i64 %add.i.i.i.i.i784 + %cmp.not.i.i.i.i.i789 = icmp eq i64 %cond.i.i.i.i.i788, 0 + br i1 %cmp.not.i.i.i.i.i789, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i792, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i790 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i790: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i781 + %mul.i.i.i.i.i.i.i791 = shl nuw nsw i64 %cond.i.i.i.i.i788, 2 + %call5.i.i.i.i.i.i.i807 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i791) #33 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i792 unwind label %lpad345.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i792: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i790, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i781 + %cond.i10.i.i.i.i793 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i781 ], [ %call5.i.i.i.i.i.i.i807, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i790 ] + %add.ptr.i.i.i.i794 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i793, i64 %sub.ptr.div.i.i.i.i.i.i782 + store i32 %conv.i769, ptr %add.ptr.i.i.i.i794, align 4 + %cmp.i.i.i11.i.i.i.i795 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i779, 0 + br i1 %cmp.i.i.i11.i.i.i.i795, label %if.then.i.i.i12.i.i.i.i803, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i796 + +if.then.i.i.i12.i.i.i.i803: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i792 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i793, ptr align 4 %std_v344.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i779, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i796 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i796: ; preds = %if.then.i.i.i12.i.i.i.i803, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i792 + %add.ptr.i.i.i.i.i.i.i797 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i793, i64 %sub.ptr.sub.i.i.i.i.i.i779 + %tobool.not.i.i.i.i.i799 = icmp eq ptr %std_v344.sroa.0.2, null + br i1 %tobool.not.i.i.i.i.i799, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i801, label %if.then.i20.i.i.i.i800 + +if.then.i20.i.i.i.i800: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i796 call void @_ZdlPv(ptr noundef nonnull %std_v344.sroa.0.2) #32 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i799 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i799: ; preds = %if.then.i21.i.i.i.i798, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i795 - %add.ptr19.i.i.i.i800 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i792, i64 %cond.i.i.i.i.i787 - br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772 - -_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i799, %if.then.i.i.i770 - %std_v344.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i792, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i799 ], [ %std_v344.sroa.0.2, %if.then.i.i.i770 ] - %add.ptr.i.i.i.i793.pn = phi ptr [ %add.ptr.i.i.i.i793, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i799 ], [ %226, %if.then.i.i.i770 ] - %std_v344.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i800, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i799 ], [ %std_v344.sroa.24.2, %if.then.i.i.i770 ] - %std_v344.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i793.pn, i64 1 - %inc.i773 = add nuw nsw i64 %i.05.i767, 1 - %exitcond.not.i774 = icmp eq i64 %inc.i773, %len.03501 - br i1 %exitcond.not.i774, label %invoke.cont346, label %for.body.i766, !llvm.loop !489 - -invoke.cont346: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i772 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i801 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i801: ; preds = %if.then.i20.i.i.i.i800, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i796 + %add.ptr19.i.i.i.i802 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i793, i64 %cond.i.i.i.i.i788 + br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773 + +_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i801, %if.then.i.i.i771 + %std_v344.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i793, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i801 ], [ %std_v344.sroa.0.2, %if.then.i.i.i771 ] + %add.ptr.i.i.i.i.i.i.i797.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i797, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i801 ], [ %226, %if.then.i.i.i771 ] + %std_v344.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i802, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i801 ], [ %std_v344.sroa.24.2, %if.then.i.i.i771 ] + %std_v344.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i797.pn, i64 1 + %inc.i774 = add nuw nsw i64 %i.05.i768, 1 + %exitcond.not.i775 = icmp eq i64 %inc.i774, %len.03526 + br i1 %exitcond.not.i775, label %invoke.cont346, label %for.body.i767, !llvm.loop !489 + +invoke.cont346: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i773 store i64 0, ptr %v347, align 8 - br label %for.body.i809 - -for.body.i809: ; preds = %invoke.cont346, %call.i.i.i.noexc814 - %227 = phi i64 [ %storemerge.i1768, %call.i.i.i.noexc814 ], [ 0, %invoke.cont346 ] - %i.04.i810 = phi i64 [ %inc.i812, %call.i.i.i.noexc814 ], [ 0, %invoke.cont346 ] - %conv.i811 = trunc i64 %i.04.i810 to i32 - %and.i.i.i1756 = and i64 %227, 1 - %tobool.i.not.i.i1757 = icmp eq i64 %and.i.i.i1756, 0 - %228 = load ptr, ptr %data_.i1.i.i1758, align 8 - %229 = load i64, ptr %allocated_capacity.i.i.i1759, align 8, !noalias !11 - %.sink3.i.i1760 = select i1 %tobool.i.not.i.i1757, ptr %data_.i1.i.i1758, ptr %228 - %.sink.i.i1761 = select i1 %tobool.i.not.i.i1757, i64 8, i64 %229 - %shr.i.sink.i.i1762 = lshr i64 %227, 1 - %cmp.not.i1763 = icmp eq i64 %shr.i.sink.i.i1762, %.sink.i.i1761 - br i1 %cmp.not.i1763, label %if.end.i1769, label %if.then.i1764 - -if.then.i1764: ; preds = %for.body.i809 - %add.ptr.i1765 = getelementptr inbounds i32, ptr %.sink3.i.i1760, i64 %shr.i.sink.i.i1762 - store i32 %conv.i811, ptr %add.ptr.i1765, align 4 + br label %for.body.i811 + +for.body.i811: ; preds = %invoke.cont346, %call.i.i.i.noexc816 + %227 = phi i64 [ %storemerge.i1764, %call.i.i.i.noexc816 ], [ 0, %invoke.cont346 ] + %i.04.i812 = phi i64 [ %inc.i814, %call.i.i.i.noexc816 ], [ 0, %invoke.cont346 ] + %conv.i813 = trunc i64 %i.04.i812 to i32 + %and.i.i.i1752 = and i64 %227, 1 + %tobool.i.not.i.i1753 = icmp eq i64 %and.i.i.i1752, 0 + %228 = load ptr, ptr %data_.i1.i.i1754, align 8 + %229 = load i64, ptr %allocated_capacity.i.i.i1755, align 8, !noalias !11 + %.sink3.i.i1756 = select i1 %tobool.i.not.i.i1753, ptr %data_.i1.i.i1754, ptr %228 + %.sink.i.i1757 = select i1 %tobool.i.not.i.i1753, i64 8, i64 %229 + %shr.i.sink.i.i1758 = lshr i64 %227, 1 + %cmp.not.i1759 = icmp eq i64 %shr.i.sink.i.i1758, %.sink.i.i1757 + br i1 %cmp.not.i1759, label %if.end.i1765, label %if.then.i1760 + +if.then.i1760: ; preds = %for.body.i811 + %add.ptr.i1761 = getelementptr inbounds i32, ptr %.sink3.i.i1756, i64 %shr.i.sink.i.i1758 + store i32 %conv.i813, ptr %add.ptr.i1761, align 4 %230 = load i64, ptr %v347, align 8 - br label %call.i.i.i.noexc814 + br label %call.i.i.i.noexc816 -if.end.i1769: ; preds = %for.body.i809 +if.end.i1765: ; preds = %for.body.i811 %231 = shl i64 %229, 1 - %mul.i.i.i1770 = select i1 %tobool.i.not.i.i1757, i64 16, i64 %231 - %cmp.i.i.i.i.i.i1771 = icmp ugt i64 %mul.i.i.i1770, 2305843009213693951 - br i1 %cmp.i.i.i.i.i.i1771, label %if.then.i.i.i.i.i.i1788, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1772 + %mul.i.i.i1766 = select i1 %tobool.i.not.i.i1753, i64 16, i64 %231 + %cmp.i.i.i.i.i.i1767 = icmp ugt i64 %mul.i.i.i1766, 2305843009213693951 + br i1 %cmp.i.i.i.i.i.i1767, label %if.then.i.i.i.i.i.i1784, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1768 -if.then.i.i.i.i.i.i1788: ; preds = %if.end.i1769 - %cmp2.i.i.i.i.i.i1789 = icmp ugt i64 %mul.i.i.i1770, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i.i1789, label %if.then3.i.i.i.i.i.i1791, label %if.end.i.i.i.i.i.i1790 +if.then.i.i.i.i.i.i1784: ; preds = %if.end.i1765 + %cmp2.i.i.i.i.i.i1785 = icmp ugt i64 %mul.i.i.i1766, 4611686018427387903 + br i1 %cmp2.i.i.i.i.i.i1785, label %if.then3.i.i.i.i.i.i1787, label %if.end.i.i.i.i.i.i1786 -if.then3.i.i.i.i.i.i1791: ; preds = %if.then.i.i.i.i.i.i1788 +if.then3.i.i.i.i.i.i1787: ; preds = %if.then.i.i.i.i.i.i1784 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc1792 unwind label %lpad348.loopexit.split-lp.loopexit.split-lp + to label %.noexc1788 unwind label %lpad348.loopexit.split-lp.loopexit.split-lp -.noexc1792: ; preds = %if.then3.i.i.i.i.i.i1791 +.noexc1788: ; preds = %if.then3.i.i.i.i.i.i1787 unreachable -if.end.i.i.i.i.i.i1790: ; preds = %if.then.i.i.i.i.i.i1788 +if.end.i.i.i.i.i.i1786: ; preds = %if.then.i.i.i.i.i.i1784 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc1793 unwind label %lpad348.loopexit.split-lp.loopexit.split-lp + to label %.noexc1789 unwind label %lpad348.loopexit.split-lp.loopexit.split-lp -.noexc1793: ; preds = %if.end.i.i.i.i.i.i1790 +.noexc1789: ; preds = %if.end.i.i.i.i.i.i1786 unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1772: ; preds = %if.end.i1769 - %mul.i.i.i.i.i.i1773 = shl nuw nsw i64 %mul.i.i.i1770, 2 - %call5.i.i.i.i5.i.i1795 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i1773) #33 - to label %call5.i.i.i.i5.i.i.noexc1794 unwind label %lpad348.loopexit +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1768: ; preds = %if.end.i1765 + %mul.i.i.i.i.i.i1769 = shl nuw nsw i64 %mul.i.i.i1766, 2 + %call5.i.i.i.i5.i.i1791 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i1769) #33 + to label %call5.i.i.i.i5.i.i.noexc1790 unwind label %lpad348.loopexit -call5.i.i.i.i5.i.i.noexc1794: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1772 - %add.ptr.i.i1774 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1795, i64 %.sink.i.i1761 - store i32 %conv.i811, ptr %add.ptr.i.i1774, align 4 - %cmp6.not.i.i.i1775 = icmp ult i64 %227, 2 - br i1 %cmp6.not.i.i.i1775, label %invoke.cont21.i.i1783, label %for.inc.i.i.i1776 +call5.i.i.i.i5.i.i.noexc1790: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1768 + %add.ptr.i.i1770 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1791, i64 %.sink.i.i1757 + store i32 %conv.i813, ptr %add.ptr.i.i1770, align 4 + %cmp6.not.i.i.i1771 = icmp ult i64 %227, 2 + br i1 %cmp6.not.i.i.i1771, label %invoke.cont21.i.i1779, label %for.inc.i.i.i1772 -for.inc.i.i.i1776: ; preds = %call5.i.i.i.i5.i.i.noexc1794, %for.inc.i.i.i1776 - %move_values.sroa.0.0.i.i1777 = phi ptr [ %incdec.ptr.i.i.i.i.i1780, %for.inc.i.i.i1776 ], [ %.sink3.i.i1760, %call5.i.i.i.i5.i.i.noexc1794 ] - %i.07.i.i.i1778 = phi i64 [ %inc.i.i.i1781, %for.inc.i.i.i1776 ], [ 0, %call5.i.i.i.i5.i.i.noexc1794 ] - %add.ptr.i.i.i1779 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1795, i64 %i.07.i.i.i1778 - %232 = load i32, ptr %move_values.sroa.0.0.i.i1777, align 4 - store i32 %232, ptr %add.ptr.i.i.i1779, align 4 - %incdec.ptr.i.i.i.i.i1780 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i1777, i64 1 - %inc.i.i.i1781 = add nuw nsw i64 %i.07.i.i.i1778, 1 - %exitcond.not.i.i.i1782 = icmp eq i64 %inc.i.i.i1781, %.sink.i.i1761 - br i1 %exitcond.not.i.i.i1782, label %invoke.cont21.i.i1783, label %for.inc.i.i.i1776, !llvm.loop !12 +for.inc.i.i.i1772: ; preds = %call5.i.i.i.i5.i.i.noexc1790, %for.inc.i.i.i1772 + %move_values.sroa.0.0.i.i1773 = phi ptr [ %incdec.ptr.i.i.i.i.i1776, %for.inc.i.i.i1772 ], [ %.sink3.i.i1756, %call5.i.i.i.i5.i.i.noexc1790 ] + %i.07.i.i.i1774 = phi i64 [ %inc.i.i.i1777, %for.inc.i.i.i1772 ], [ 0, %call5.i.i.i.i5.i.i.noexc1790 ] + %add.ptr.i.i.i1775 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i1791, i64 %i.07.i.i.i1774 + %232 = load i32, ptr %move_values.sroa.0.0.i.i1773, align 4 + store i32 %232, ptr %add.ptr.i.i.i1775, align 4 + %incdec.ptr.i.i.i.i.i1776 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i.i1773, i64 1 + %inc.i.i.i1777 = add nuw nsw i64 %i.07.i.i.i1774, 1 + %exitcond.not.i.i.i1778 = icmp eq i64 %inc.i.i.i1777, %.sink.i.i1757 + br i1 %exitcond.not.i.i.i1778, label %invoke.cont21.i.i1779, label %for.inc.i.i.i1772, !llvm.loop !12 -invoke.cont21.i.i1783: ; preds = %for.inc.i.i.i1776, %call5.i.i.i.i5.i.i.noexc1794 - br i1 %tobool.i.not.i.i1757, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1786, label %if.then.i.i.i1784 +invoke.cont21.i.i1779: ; preds = %for.inc.i.i.i1772, %call5.i.i.i.i5.i.i.noexc1790 + br i1 %tobool.i.not.i.i1753, label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1782, label %if.then.i.i.i1780 -if.then.i.i.i1784: ; preds = %invoke.cont21.i.i1783 +if.then.i.i.i1780: ; preds = %invoke.cont21.i.i1779 call void @_ZdlPv(ptr noundef %228) #32 - %.pre.i.i1785 = load i64, ptr %v347, align 8 - br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1786 - -_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1786: ; preds = %if.then.i.i.i1784, %invoke.cont21.i.i1783 - %233 = phi i64 [ %.pre.i.i1785, %if.then.i.i.i1784 ], [ %227, %invoke.cont21.i.i1783 ] - store ptr %call5.i.i.i.i5.i.i1795, ptr %data_.i1.i.i1758, align 8 - store i64 %mul.i.i.i1770, ptr %allocated_capacity.i.i.i1759, align 8 - %or.i.i.i1787 = or i64 %233, 1 - br label %call.i.i.i.noexc814 - -call.i.i.i.noexc814: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1786, %if.then.i1764 - %storemerge.in.i1766 = phi i64 [ %230, %if.then.i1764 ], [ %or.i.i.i1787, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1786 ] - %storemerge.i1768 = add i64 %storemerge.in.i1766, 2 - store i64 %storemerge.i1768, ptr %v347, align 8 - %inc.i812 = add nuw nsw i64 %i.04.i810, 1 - %exitcond.not.i813 = icmp eq i64 %inc.i812, %len.03501 - br i1 %exitcond.not.i813, label %invoke.cont349, label %for.body.i809, !llvm.loop !13 - -invoke.cont349: ; preds = %call.i.i.i.noexc814, %invoke.cont346.thread - %std_v344.sroa.24.42339 = phi ptr [ null, %invoke.cont346.thread ], [ %std_v344.sroa.24.3, %call.i.i.i.noexc814 ] - %std_v344.sroa.11.42338 = phi ptr [ null, %invoke.cont346.thread ], [ %std_v344.sroa.11.3, %call.i.i.i.noexc814 ] - %std_v344.sroa.0.42336 = phi ptr [ null, %invoke.cont346.thread ], [ %std_v344.sroa.0.3, %call.i.i.i.noexc814 ] - %add.ptr.i817 = getelementptr inbounds i32, ptr %std_v344.sroa.0.42336, i64 %pos.03500 + %.pre.i.i1781 = load i64, ptr %v347, align 8 + br label %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1782 + +_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1782: ; preds = %if.then.i.i.i1780, %invoke.cont21.i.i1779 + %233 = phi i64 [ %.pre.i.i1781, %if.then.i.i.i1780 ], [ %227, %invoke.cont21.i.i1779 ] + store ptr %call5.i.i.i.i5.i.i1791, ptr %data_.i1.i.i1754, align 8 + store i64 %mul.i.i.i1766, ptr %allocated_capacity.i.i.i1755, align 8 + %or.i.i.i1783 = or i64 %233, 1 + br label %call.i.i.i.noexc816 + +call.i.i.i.noexc816: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1782, %if.then.i1760 + %storemerge.in.i1762 = phi i64 [ %230, %if.then.i1760 ], [ %or.i.i.i1783, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1782 ] + %storemerge.i1764 = add i64 %storemerge.in.i1762, 2 + store i64 %storemerge.i1764, ptr %v347, align 8 + %inc.i814 = add nuw nsw i64 %i.04.i812, 1 + %exitcond.not.i815 = icmp eq i64 %inc.i814, %len.03526 + br i1 %exitcond.not.i815, label %invoke.cont349, label %for.body.i811, !llvm.loop !13 + +invoke.cont349: ; preds = %call.i.i.i.noexc816, %invoke.cont346.thread + %std_v344.sroa.24.42346 = phi ptr [ null, %invoke.cont346.thread ], [ %std_v344.sroa.24.3, %call.i.i.i.noexc816 ] + %std_v344.sroa.11.42345 = phi ptr [ null, %invoke.cont346.thread ], [ %std_v344.sroa.11.3, %call.i.i.i.noexc816 ] + %std_v344.sroa.0.42343 = phi ptr [ null, %invoke.cont346.thread ], [ %std_v344.sroa.0.3, %call.i.i.i.noexc816 ] + %add.ptr.i819 = getelementptr inbounds i32, ptr %std_v344.sroa.0.42343, i64 %pos.03525 store i32 9999, ptr %ref.tmp358, align 4 store i32 8888, ptr %arrayinit.element360, align 4 store i32 7777, ptr %arrayinit.element361, align 4 - %sub.ptr.lhs.cast.i.i818 = ptrtoint ptr %add.ptr.i817 to i64 - %sub.ptr.lhs.cast.i1802 = ptrtoint ptr %std_v344.sroa.24.42339 to i64 - %sub.ptr.rhs.cast.i1803 = ptrtoint ptr %std_v344.sroa.11.42338 to i64 - %sub.ptr.sub.i1804 = sub i64 %sub.ptr.lhs.cast.i1802, %sub.ptr.rhs.cast.i1803 - %cmp3.not.i1806 = icmp ult i64 %sub.ptr.sub.i1804, 12 - br i1 %cmp3.not.i1806, label %if.else50.i, label %if.then4.i1807 - -if.then4.i1807: ; preds = %invoke.cont349 - %sub.ptr.sub.i.i1809 = sub i64 %sub.ptr.rhs.cast.i1803, %sub.ptr.lhs.cast.i.i818 - %sub.ptr.div.i.i1810 = ashr exact i64 %sub.ptr.sub.i.i1809, 2 - %cmp10.i1811 = icmp ugt i64 %sub.ptr.div.i.i1810, 3 - br i1 %cmp10.i1811, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i1827, label %_ZSt7advanceIPKimEvRT_T0_.exit.i - -_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i1827: ; preds = %if.then4.i1807 - %add.ptr.i1828 = getelementptr inbounds i32, ptr %std_v344.sroa.11.42338, i64 -3 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %std_v344.sroa.11.42338, ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i1828, i64 12, i1 false) - %add.ptr22.i = getelementptr inbounds i32, ptr %std_v344.sroa.11.42338, i64 3 - %tobool.not.i.i.i.i.i.i1829 = icmp eq ptr %add.ptr.i1828, %add.ptr.i817 - br i1 %tobool.not.i.i.i.i.i.i1829, label %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i.i1830 - -if.then.i.i.i.i.i.i1830: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i1827 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1831 = ptrtoint ptr %add.ptr.i1828 to i64 - %sub.ptr.sub.i.i.i.i.i.i1832 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1831, %sub.ptr.lhs.cast.i.i818 - %sub.ptr.div.i.i.i.i.i.i1833 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1832, 2 - %.pre.i.i.i.i.i.i1834 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i1833 - %add.ptr.i.i.i.i.i.i1835 = getelementptr inbounds i32, ptr %std_v344.sroa.11.42338, i64 %.pre.i.i.i.i.i.i1834 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i1835, ptr align 4 %add.ptr.i817, i64 %sub.ptr.sub.i.i.i.i.i.i1832, i1 false) + %sub.ptr.lhs.cast.i.i820 = ptrtoint ptr %add.ptr.i819 to i64 + %sub.ptr.lhs.cast.i1798 = ptrtoint ptr %std_v344.sroa.24.42346 to i64 + %sub.ptr.rhs.cast.i1799 = ptrtoint ptr %std_v344.sroa.11.42345 to i64 + %sub.ptr.sub.i1800 = sub i64 %sub.ptr.lhs.cast.i1798, %sub.ptr.rhs.cast.i1799 + %cmp3.not.i1802 = icmp ult i64 %sub.ptr.sub.i1800, 12 + br i1 %cmp3.not.i1802, label %if.else50.i, label %if.then4.i1803 + +if.then4.i1803: ; preds = %invoke.cont349 + %sub.ptr.sub.i.i1805 = sub i64 %sub.ptr.rhs.cast.i1799, %sub.ptr.lhs.cast.i.i820 + %sub.ptr.div.i.i1806 = ashr exact i64 %sub.ptr.sub.i.i1805, 2 + %cmp10.i1807 = icmp ugt i64 %sub.ptr.div.i.i1806, 3 + br i1 %cmp10.i1807, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i1825, label %_ZSt7advanceIPKimEvRT_T0_.exit.i + +_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i1825: ; preds = %if.then4.i1803 + %add.ptr.i1826 = getelementptr inbounds i32, ptr %std_v344.sroa.11.42345, i64 -3 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %std_v344.sroa.11.42345, ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i1826, i64 12, i1 false) + %add.ptr22.i = getelementptr inbounds i8, ptr %std_v344.sroa.11.42345, i64 12 + %tobool.not.i.i.i.i.i.i1827 = icmp eq ptr %add.ptr.i1826, %add.ptr.i819 + br i1 %tobool.not.i.i.i.i.i.i1827, label %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i, label %if.then.i.i.i.i.i.i1828 + +if.then.i.i.i.i.i.i1828: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i1825 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1829 = ptrtoint ptr %add.ptr.i1826 to i64 + %sub.ptr.sub.i.i.i.i.i.i1830 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i1829, %sub.ptr.lhs.cast.i.i820 + %sub.ptr.div.i.i.i.i.i.i1831 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1830, 2 + %.pre.i.i.i.i.i.i1832 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i1831 + %add.ptr.i.i.i.i.i.i1833 = getelementptr inbounds i32, ptr %std_v344.sroa.11.42345, i64 %.pre.i.i.i.i.i.i1832 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i.i.i.i.i.i1833, ptr align 4 %add.ptr.i819, i64 %sub.ptr.sub.i.i.i.i.i.i1830, i1 false) br label %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i -_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i.i1830, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i1827 - call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i817, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp358, i64 12, i1 false) +_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i: ; preds = %if.then.i.i.i.i.i.i1828, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i1825 + call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i819, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp358, i64 12, i1 false) br label %invoke.cont366 -_ZSt7advanceIPKimEvRT_T0_.exit.i: ; preds = %if.then4.i1807 - %tobool.not.i.i.i.i.i.i.i.i.i1821 = icmp eq i64 %sub.ptr.sub.i.i1809, 12 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i1821, label %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i, label %if.then.i.i.i.i.i.i.i.i.i1822 +_ZSt7advanceIPKimEvRT_T0_.exit.i: ; preds = %if.then4.i1803 + %tobool.not.i.i.i.i.i.i.i.i.i1817 = icmp eq i64 %sub.ptr.sub.i.i1805, 12 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i1817, label %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i, label %if.then.i.i.i.i.i.i.i.i.i1818 -if.then.i.i.i.i.i.i.i.i.i1822: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit.i - %incdec.ptr.i.i.i1820 = getelementptr inbounds i32, ptr %ref.tmp358, i64 %sub.ptr.div.i.i1810 - %gepdiff2349 = sub nsw i64 12, %sub.ptr.sub.i.i1809 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %std_v344.sroa.11.42338, ptr nonnull align 4 %incdec.ptr.i.i.i1820, i64 %gepdiff2349, i1 false) +if.then.i.i.i.i.i.i.i.i.i1818: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit.i + %add.ptr.i.i.i1815.ptr = getelementptr inbounds i8, ptr %ref.tmp358, i64 %sub.ptr.sub.i.i1805 + %gepdiff6785 = sub nsw i64 12, %sub.ptr.sub.i.i1805 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %std_v344.sroa.11.42345, ptr nonnull align 4 %add.ptr.i.i.i1815.ptr, i64 %gepdiff6785, i1 false) br label %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i -_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1822, %_ZSt7advanceIPKimEvRT_T0_.exit.i - %.sink.i18194653 = phi i64 [ %sub.ptr.div.i.i1810, %if.then.i.i.i.i.i.i.i.i.i1822 ], [ 3, %_ZSt7advanceIPKimEvRT_T0_.exit.i ] - %sub.i1826 = xor i64 %sub.ptr.div.i.i1810, 3 - %add.ptr36.i = getelementptr inbounds i32, ptr %std_v344.sroa.11.42338, i64 %sub.i1826 - %tobool.not.i.i.i.i.i.i.i.i.i45.i = icmp eq ptr %std_v344.sroa.11.42338, %add.ptr.i817 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45.i, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i, label %if.then.i.i.i.i.i.i.i.i.i46.i - -if.then.i.i.i.i.i.i.i.i.i46.i: ; preds = %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr36.i, ptr align 4 %add.ptr.i817, i64 %sub.ptr.sub.i.i1809, i1 false) - br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i - -_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i46.i, %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i - %add.ptr44.i = getelementptr inbounds i32, ptr %add.ptr36.i, i64 %sub.ptr.div.i.i1810 - %tobool.not.i.i.i.i.i53.i = icmp eq i64 %.sink.i18194653, 0 - br i1 %tobool.not.i.i.i.i.i53.i, label %invoke.cont366, label %if.then.i.i.i.i.i54.i - -if.then.i.i.i.i.i54.i: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i - %incdec.ptr.i.i.idx.i = shl nuw nsw i64 %.sink.i18194653, 2 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i817, ptr nonnull align 4 %ref.tmp358, i64 %incdec.ptr.i.i.idx.i, i1 false) +_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i1818, %_ZSt7advanceIPKimEvRT_T0_.exit.i + %sub.i1821 = xor i64 %sub.ptr.div.i.i1806, 3 + %add.ptr36.i = getelementptr inbounds i32, ptr %std_v344.sroa.11.42345, i64 %sub.i1821 + %tobool.not.i.i.i.i.i.i.i.i.i44.i = icmp eq ptr %std_v344.sroa.11.42345, %add.ptr.i819 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44.i, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i, label %if.then.i.i.i.i.i.i.i.i.i45.i + +if.then.i.i.i.i.i.i.i.i.i45.i: ; preds = %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr36.i, ptr align 4 %add.ptr.i819, i64 %sub.ptr.sub.i.i1805, i1 false) + br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i + +_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i45.i, %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i + %add.ptr44.i = getelementptr inbounds i8, ptr %add.ptr36.i, i64 %sub.ptr.sub.i.i1805 + %tobool.not.i.i.i.i.i51.i = icmp eq ptr %std_v344.sroa.11.42345, %add.ptr.i819 + br i1 %tobool.not.i.i.i.i.i51.i, label %invoke.cont366, label %if.then.i.i.i.i.i52.i + +if.then.i.i.i.i.i52.i: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i819, ptr nonnull align 4 %ref.tmp358, i64 %sub.ptr.sub.i.i1805, i1 false) br label %invoke.cont366 if.else50.i: ; preds = %invoke.cont349 - %sub.ptr.rhs.cast.i.i819 = ptrtoint ptr %std_v344.sroa.0.42336 to i64 - %sub.ptr.sub.i.i60.i = sub i64 %sub.ptr.rhs.cast.i1803, %sub.ptr.rhs.cast.i.i819 - %sub.ptr.div.i.i61.i = ashr exact i64 %sub.ptr.sub.i.i60.i, 2 - %234 = add nsw i64 %sub.ptr.div.i.i61.i, -2305843009213693949 - %cmp.i.i1837 = icmp ult i64 %234, 3 - br i1 %cmp.i.i1837, label %if.then.i.i1852, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1838 + %sub.ptr.rhs.cast.i.i821 = ptrtoint ptr %std_v344.sroa.0.42343 to i64 + %sub.ptr.sub.i.i57.i = sub i64 %sub.ptr.rhs.cast.i1799, %sub.ptr.rhs.cast.i.i821 + %sub.ptr.div.i.i58.i = ashr exact i64 %sub.ptr.sub.i.i57.i, 2 + %234 = add nsw i64 %sub.ptr.div.i.i58.i, -2305843009213693949 + %cmp.i.i1835 = icmp ult i64 %234, 3 + br i1 %cmp.i.i1835, label %if.then.i.i1852, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1836 if.then.i.i1852: ; preds = %if.else50.i invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.310) #31 @@ -26046,74 +26036,73 @@ if.then.i.i1852: ; preds = %if.else50.i .noexc1853: ; preds = %if.then.i.i1852 unreachable -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1838: ; preds = %if.else50.i - %.sroa.speculated.i.i1839 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61.i, i64 3) - %add.i.i1840 = add nsw i64 %.sroa.speculated.i.i1839, %sub.ptr.div.i.i61.i - %cmp7.i.i1841 = icmp ult i64 %add.i.i1840, %sub.ptr.div.i.i61.i - %cmp9.i.i1842 = icmp ugt i64 %add.i.i1840, 2305843009213693951 - %or.cond.i.i1843 = or i1 %cmp7.i.i1841, %cmp9.i.i1842 - %cond.i.i1844 = select i1 %or.cond.i.i1843, i64 2305843009213693951, i64 %add.i.i1840 - %cmp.not.i.i1845 = icmp eq i64 %cond.i.i1844, 0 - br i1 %cmp.not.i.i1845, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1848, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1846 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1846: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1838 - %mul.i.i.i.i1847 = shl nuw nsw i64 %cond.i.i1844, 2 - %call5.i.i.i.i1855 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i1847) #33 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1848 unwind label %lpad348.loopexit.split-lp.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1848: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1846, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1838 - %cond.i62.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1838 ], [ %call5.i.i.i.i1855, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1846 ] - %tobool.not.i.i.i.i.i.i.i.i.i66.i = icmp eq i64 %pos.03500, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66.i, label %invoke.cont61.i, label %if.then.i.i.i.i.i.i.i.i.i67.i - -if.then.i.i.i.i.i.i.i.i.i67.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1848 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i62.i, ptr align 4 %std_v344.sroa.0.42336, i64 %add.ptr.i216.idx, i1 false) +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1836: ; preds = %if.else50.i + %.sroa.speculated.i.i1837 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58.i, i64 3) + %add.i.i1838 = add nsw i64 %.sroa.speculated.i.i1837, %sub.ptr.div.i.i58.i + %cmp7.i.i1839 = icmp ult i64 %add.i.i1838, %sub.ptr.div.i.i58.i + %cmp9.i.i1840 = icmp ugt i64 %add.i.i1838, 2305843009213693951 + %or.cond.i.i1841 = or i1 %cmp7.i.i1839, %cmp9.i.i1840 + %cond.i.i1842 = select i1 %or.cond.i.i1841, i64 2305843009213693951, i64 %add.i.i1838 + %cmp.not.i.i1843 = icmp eq i64 %cond.i.i1842, 0 + br i1 %cmp.not.i.i1843, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1846, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1844 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1844: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1836 + %mul.i.i.i.i1845 = shl nuw nsw i64 %cond.i.i1842, 2 + %call5.i.i.i.i1855 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i1845) #33 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1846 unwind label %lpad348.loopexit.split-lp.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1846: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1844, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1836 + %cond.i59.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i1836 ], [ %call5.i.i.i.i1855, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1844 ] + %tobool.not.i.i.i.i.i.i.i.i.i63.i = icmp eq i64 %pos.03525, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63.i, label %invoke.cont61.i, label %if.then.i.i.i.i.i.i.i.i.i64.i + +if.then.i.i.i.i.i.i.i.i.i64.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1846 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i59.i, ptr align 4 %std_v344.sroa.0.42343, i64 %add.ptr.idx.pre-phi, i1 false) br label %invoke.cont61.i -invoke.cont61.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i67.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1848 - %add.ptr.i.i.i.i.i.i.i.i.i69.i = getelementptr inbounds i32, ptr %cond.i62.i, i64 %pos.03500 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i.i.i.i.i.i.i.i.i69.i, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp358, i64 12, i1 false) - %add.ptr.i.i.i.i.i.i.i.i76.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i69.i, i64 3 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80.i = sub i64 %sub.ptr.rhs.cast.i1803, %sub.ptr.lhs.cast.i.i818 - %tobool.not.i.i.i.i.i.i.i.i.i81.i = icmp eq ptr %std_v344.sroa.11.42338, %add.ptr.i817 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81.i, label %invoke.cont65.i1849, label %if.then.i.i.i.i.i.i.i.i.i82.i +invoke.cont61.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i64.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i1846 + %add.ptr.i.i.i.i.i.i.i.i.i65.i = getelementptr inbounds i8, ptr %cond.i59.i, i64 %add.ptr.idx.pre-phi + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %add.ptr.i.i.i.i.i.i.i.i.i65.i, ptr noundef nonnull align 4 dereferenceable(12) %ref.tmp358, i64 12, i1 false) + %add.ptr.i.i.i.i.i.i.i.i71.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65.i, i64 12 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75.i = sub i64 %sub.ptr.rhs.cast.i1799, %sub.ptr.lhs.cast.i.i820 + %tobool.not.i.i.i.i.i.i.i.i.i76.i1847 = icmp eq ptr %std_v344.sroa.11.42345, %add.ptr.i819 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76.i1847, label %invoke.cont65.i1849, label %if.then.i.i.i.i.i.i.i.i.i77.i1848 -if.then.i.i.i.i.i.i.i.i.i82.i: ; preds = %invoke.cont61.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i76.i, ptr align 4 %add.ptr.i817, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80.i, i1 false) +if.then.i.i.i.i.i.i.i.i.i77.i1848: ; preds = %invoke.cont61.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i71.i, ptr align 4 %add.ptr.i819, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75.i, i1 false) br label %invoke.cont65.i1849 -invoke.cont65.i1849: ; preds = %if.then.i.i.i.i.i.i.i.i.i82.i, %invoke.cont61.i - %sub.ptr.div.i.i.i.i.i.i.i.i.i83.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80.i, 2 - %add.ptr.i.i.i.i.i.i.i.i.i84.i = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i76.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83.i - %tobool.not.i.i1850 = icmp eq ptr %std_v344.sroa.0.42336, null - br i1 %tobool.not.i.i1850, label %invoke.cont366, label %if.then.i86.i +invoke.cont65.i1849: ; preds = %if.then.i.i.i.i.i.i.i.i.i77.i1848, %invoke.cont61.i + %add.ptr.i.i.i.i.i.i.i.i.i78.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75.i + %tobool.not.i.i1850 = icmp eq ptr %std_v344.sroa.0.42343, null + br i1 %tobool.not.i.i1850, label %invoke.cont366, label %if.then.i80.i -if.then.i86.i: ; preds = %invoke.cont65.i1849 - call void @_ZdlPv(ptr noundef nonnull %std_v344.sroa.0.42336) #32 +if.then.i80.i: ; preds = %invoke.cont65.i1849 + call void @_ZdlPv(ptr noundef nonnull %std_v344.sroa.0.42343) #32 br label %invoke.cont366 -invoke.cont366: ; preds = %invoke.cont65.i1849, %if.then.i86.i, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i, %if.then.i.i.i.i.i54.i - %std_v344.sroa.0.5 = phi ptr [ %std_v344.sroa.0.42336, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i ], [ %std_v344.sroa.0.42336, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i ], [ %std_v344.sroa.0.42336, %if.then.i.i.i.i.i54.i ], [ %cond.i62.i, %if.then.i86.i ], [ %cond.i62.i, %invoke.cont65.i1849 ] - %std_v344.sroa.11.5 = phi ptr [ %add.ptr22.i, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i ], [ %add.ptr44.i, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i ], [ %add.ptr44.i, %if.then.i.i.i.i.i54.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i84.i, %if.then.i86.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i84.i, %invoke.cont65.i1849 ] +invoke.cont366: ; preds = %invoke.cont65.i1849, %if.then.i80.i, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i, %if.then.i.i.i.i.i52.i + %std_v344.sroa.0.5 = phi ptr [ %std_v344.sroa.0.42343, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i ], [ %std_v344.sroa.0.42343, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i ], [ %std_v344.sroa.0.42343, %if.then.i.i.i.i.i52.i ], [ %cond.i59.i, %if.then.i80.i ], [ %cond.i59.i, %invoke.cont65.i1849 ] + %std_v344.sroa.11.5 = phi ptr [ %add.ptr22.i, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i ], [ %add.ptr44.i, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i ], [ %add.ptr44.i, %if.then.i.i.i.i.i52.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i78.i, %if.then.i80.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i78.i, %invoke.cont65.i1849 ] call void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp372) #29 - %call.i827 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp371) + %call.i828 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp371) to label %call.i.noexc unwind label %lpad373 call.i.noexc: ; preds = %invoke.cont366 - invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp371, ptr noundef %call.i827, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp372) - to label %.noexc828 unwind label %lpad373 + invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp371, ptr noundef %call.i828, ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp372) + to label %.noexc829 unwind label %lpad373 -.noexc828: ; preds = %call.i.noexc +.noexc829: ; preds = %call.i.noexc invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp371, ptr noundef nonnull @.str.292, ptr noundef nonnull getelementptr inbounds ([15 x i8], ptr @.str.292, i64 0, i64 14)) - to label %invoke.cont374 unwind label %lpad.i826 + to label %invoke.cont374 unwind label %lpad.i827 -lpad.i826: ; preds = %.noexc828 +lpad.i827: ; preds = %.noexc829 %235 = landingpad { ptr, i32 } cleanup call void @_ZNSaIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp371) #29 br label %ehcleanup378 -invoke.cont374: ; preds = %.noexc828 +invoke.cont374: ; preds = %.noexc829 invoke void @_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(120) %input370, ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp371, i32 noundef 8) to label %invoke.cont376 unwind label %lpad375 @@ -26121,73 +26110,77 @@ invoke.cont376: ; preds = %invoke.cont374 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp371) #29 call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp372) #29 %236 = load i64, ptr %v347, align 8 - %and.i.i.i.i830 = and i64 %236, 1 - %tobool.i.not.i.i.i831 = icmp eq i64 %and.i.i.i.i830, 0 - %237 = load ptr, ptr %data_.i1.i.i1758, align 8 - %cond.i.i.i833 = select i1 %tobool.i.not.i.i.i831, ptr %data_.i1.i.i1758, ptr %237 + %and.i.i.i.i831 = and i64 %236, 1 + %tobool.i.not.i.i.i832 = icmp eq i64 %and.i.i.i.i831, 0 + %237 = load ptr, ptr %data_.i1.i.i1754, align 8 + %cond.i.i.i834 = select i1 %tobool.i.not.i.i.i832, ptr %data_.i1.i.i1754, ptr %237 store ptr %input370, ptr %agg.tmp382, align 8 store i8 1, ptr %_M_ok.i, align 4 - %call.i.i834837 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %input370, ptr noundef nonnull align 4 dereferenceable(4) %_M_value.i.i) - to label %call.i.i834.noexc unwind label %lpad383.loopexit.split-lp.loopexit + %call.i.i835838 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %input370, ptr noundef nonnull align 4 dereferenceable(4) %_M_value.i.i) + to label %call.i.i835.noexc unwind label %lpad383.loopexit.split-lp.loopexit -call.i.i834.noexc: ; preds = %invoke.cont376 - %vtable.i.i = load ptr, ptr %call.i.i834837, align 8 +call.i.i835.noexc: ; preds = %invoke.cont376 + %vtable.i.i = load ptr, ptr %call.i.i835838, align 8 %vbase.offset.ptr.i.i = getelementptr i8, ptr %vtable.i.i, i64 -24 %vbase.offset.i.i = load i64, ptr %vbase.offset.ptr.i.i, align 8 - %add.ptr.i.i835 = getelementptr inbounds i8, ptr %call.i.i834837, i64 %vbase.offset.i.i - %call3.i.i838 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %add.ptr.i.i835) + %add.ptr.i.i836 = getelementptr inbounds i8, ptr %call.i.i835838, i64 %vbase.offset.i.i + %call3.i.i839 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %add.ptr.i.i836) to label %call3.i.i.noexc unwind label %lpad383.loopexit.split-lp.loopexit -call3.i.i.noexc: ; preds = %call.i.i834.noexc - br i1 %call3.i.i838, label %if.then.i.i836, label %call3.i.i.noexc.invoke.cont384_crit_edge +call3.i.i.noexc: ; preds = %call.i.i835.noexc + br i1 %call3.i.i839, label %if.then.i.i837, label %call3.i.i.noexc.invoke.cont384_crit_edge call3.i.i.noexc.invoke.cont384_crit_edge: ; preds = %call3.i.i.noexc %.pre = load i8, ptr %_M_ok.i, align 4 br label %invoke.cont384 -if.then.i.i836: ; preds = %call3.i.i.noexc +if.then.i.i837: ; preds = %call3.i.i.noexc store ptr null, ptr %agg.tmp382, align 8 store i8 0, ptr %_M_ok.i, align 4 br label %invoke.cont384 -invoke.cont384: ; preds = %call3.i.i.noexc.invoke.cont384_crit_edge, %if.then.i.i836 - %238 = phi i8 [ %.pre, %call3.i.i.noexc.invoke.cont384_crit_edge ], [ 0, %if.then.i.i836 ] - %add.ptr381 = getelementptr inbounds i32, ptr %cond.i.i.i833, i64 %pos.03500 +invoke.cont384: ; preds = %call3.i.i.noexc.invoke.cont384_crit_edge, %if.then.i.i837 + %238 = phi i8 [ %.pre, %call3.i.i.noexc.invoke.cont384_crit_edge ], [ 0, %if.then.i.i837 ] + %add.ptr381 = getelementptr inbounds i32, ptr %cond.i.i.i834, i64 %pos.03525 %239 = load i64, ptr %v347, align 8 %and.i.i.i.i.i = and i64 %239, 1 %tobool.i.not.i.i.i.i = icmp eq i64 %and.i.i.i.i.i, 0 - %240 = load ptr, ptr %data_.i1.i.i1758, align 8 - %cond.i.i.i.i = select i1 %tobool.i.not.i.i.i.i, ptr %data_.i1.i.i1758, ptr %240 + %240 = load ptr, ptr %data_.i1.i.i1754, align 8 + %cond.i.i.i.i = select i1 %tobool.i.not.i.i.i.i, ptr %data_.i1.i.i1754, ptr %240 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %add.ptr381 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %cond.i.i.i.i to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 2 %241 = and i8 %238, 1 - %cmp.i.i.i3498 = icmp eq i8 %241, 0 - br i1 %cmp.i.i.i3498, label %invoke.cont386, label %for.body.i841 + %cmp.i.i.i3523 = icmp eq i8 %241, 0 + br i1 %cmp.i.i.i3523, label %invoke.cont386, label %for.body.i842.preheader + +for.body.i842.preheader: ; preds = %invoke.cont384 + %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 2 + br label %for.body.i842 -for.body.i841: ; preds = %invoke.cont384, %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i - %indvars.iv4592.in = phi i64 [ %indvars.iv4592, %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i ], [ %sub.ptr.div.i.i.i, %invoke.cont384 ] - %i.0.i3499 = phi i64 [ %add.i1867, %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i ], [ %sub.ptr.div.i.i.i, %invoke.cont384 ] - %indvars.iv4592 = add i64 %indvars.iv4592.in, 1 +for.body.i842: ; preds = %for.body.i842.preheader, %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i + %indvars.iv4617.in = phi i64 [ %sub.ptr.div.i.i.i, %for.body.i842.preheader ], [ %indvars.iv4617, %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i ] + %i.0.i3524 = phi i64 [ %sub.ptr.div.i.i.i, %for.body.i842.preheader ], [ %add.i1867, %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i ] + %indvars.iv4617 = add i64 %indvars.iv4617.in, 1 %242 = load i64, ptr %v347, align 8 %and.i.i.i = and i64 %242, 1 %tobool.i.not.i.i = icmp eq i64 %and.i.i.i, 0 - %243 = load ptr, ptr %data_.i1.i.i1758, align 8 - %cond.i.i842 = select i1 %tobool.i.not.i.i, ptr %data_.i1.i.i1758, ptr %243 - %add.ptr.i843 = getelementptr i32, ptr %cond.i.i842, i64 %i.0.i3499 + %243 = load ptr, ptr %data_.i1.i.i1754, align 8 + %cond.i.i843 = select i1 %tobool.i.not.i.i, ptr %data_.i1.i.i1754, ptr %243 + %add.ptr.i844 = getelementptr i32, ptr %cond.i.i843, i64 %i.0.i3524 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %dealias.i.i.i) %244 = load i32, ptr %_M_value.i.i, align 8 store i32 %244, ptr %dealias.i.i.i, align 4 - %245 = load i64, ptr %allocated_capacity.i.i.i1759, align 8, !noalias !570 + %245 = load i64, ptr %allocated_capacity.i.i.i1755, align 8, !noalias !570 %.sink.i.i1861 = select i1 %tobool.i.not.i.i, i64 8, i64 %245 %shr.i.sink.i.i1862 = lshr i64 %242, 1 - %add.i1867 = add i64 %i.0.i3499, 1 + %add.ptr.i844.idx = shl nsw i64 %i.0.i3524, 2 + %add.i1867 = add i64 %i.0.i3524, 1 %add3.i1868 = add nuw i64 %shr.i.sink.i.i1862, 1 %cmp.i1869.not = icmp ult i64 %shr.i.sink.i.i1862, %.sink.i.i1861 br i1 %cmp.i1869.not, label %if.else.i1870, label %invoke.cont16.i1923 -invoke.cont16.i1923: ; preds = %for.body.i841 +invoke.cont16.i1923: ; preds = %for.body.i842 %mul.i.i.i1924 = shl i64 %.sink.i.i1861, 1 %.sroa.speculated.i.i1925 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i1924, i64 %add3.i1868) %cmp.i.i.i.i.i1926 = icmp ugt i64 %.sroa.speculated.i.i1925, 2305843009213693951 @@ -26217,27 +26210,27 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit. to label %call5.i.i.i.i29.i.noexc1962 unwind label %lpad383.loopexit call5.i.i.i.i29.i.noexc1962: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1927 - %add.ptr.i1929 = getelementptr i32, ptr %call5.i.i.i.i29.i1963, i64 %i.0.i3499 + %add.ptr.i1929 = getelementptr i8, ptr %call5.i.i.i.i29.i1963, i64 %add.ptr.i844.idx store i32 %244, ptr %add.ptr.i1929, align 4 - %cmp6.not.i.i30.i1931 = icmp eq i64 %i.0.i3499, 0 + %cmp6.not.i.i30.i1931 = icmp eq i64 %i.0.i3524, 0 br i1 %cmp6.not.i.i30.i1931, label %invoke.cont22.i1939, label %for.inc.i.i33.i1932 for.inc.i.i33.i1932: ; preds = %call5.i.i.i.i29.i.noexc1962, %for.inc.i.i33.i1932 - %move_values.sroa.0.0.i1933 = phi ptr [ %incdec.ptr.i.i.i.i36.i1936, %for.inc.i.i33.i1932 ], [ %cond.i.i842, %call5.i.i.i.i29.i.noexc1962 ] + %move_values.sroa.0.0.i1933 = phi ptr [ %incdec.ptr.i.i.i.i36.i1936, %for.inc.i.i33.i1932 ], [ %cond.i.i843, %call5.i.i.i.i29.i.noexc1962 ] %i.07.i.i34.i1934 = phi i64 [ %inc.i.i37.i1937, %for.inc.i.i33.i1932 ], [ 0, %call5.i.i.i.i29.i.noexc1962 ] %add.ptr.i.i35.i1935 = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i1963, i64 %i.07.i.i34.i1934 %246 = load i32, ptr %move_values.sroa.0.0.i1933, align 4 store i32 %246, ptr %add.ptr.i.i35.i1935, align 4 %incdec.ptr.i.i.i.i36.i1936 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i1933, i64 1 %inc.i.i37.i1937 = add nuw i64 %i.07.i.i34.i1934, 1 - %exitcond.not.i.i38.i1938 = icmp eq i64 %inc.i.i37.i1937, %i.0.i3499 + %exitcond.not.i.i38.i1938 = icmp eq i64 %inc.i.i37.i1937, %i.0.i3524 br i1 %exitcond.not.i.i38.i1938, label %invoke.cont22.i1939, label %for.inc.i.i33.i1932, !llvm.loop !12 invoke.cont22.i1939: ; preds = %for.inc.i.i33.i1932, %call5.i.i.i.i29.i.noexc1962 - %move_values.sroa.0.1.i1940 = phi ptr [ %add.ptr.i843, %call5.i.i.i.i29.i.noexc1962 ], [ %incdec.ptr.i.i.i.i36.i1936, %for.inc.i.i33.i1932 ] + %move_values.sroa.0.1.i1940 = phi ptr [ %add.ptr.i844, %call5.i.i.i.i29.i.noexc1962 ], [ %incdec.ptr.i.i.i.i36.i1936, %for.inc.i.i33.i1932 ] %add.ptr24.i1941 = getelementptr i32, ptr %call5.i.i.i.i29.i1963, i64 %add.i1867 - %sub.i1942 = sub i64 %shr.i.sink.i.i1862, %i.0.i3499 - %cmp6.not.i.i1943 = icmp eq i64 %shr.i.sink.i.i1862, %i.0.i3499 + %sub.i1942 = sub i64 %shr.i.sink.i.i1862, %i.0.i3524 + %cmp6.not.i.i1943 = icmp eq i64 %shr.i.sink.i.i1862, %i.0.i3524 br i1 %cmp6.not.i.i1943, label %invoke.cont32.i1951, label %for.inc.i.i1944 for.inc.i.i1944: ; preds = %invoke.cont22.i1939, %for.inc.i.i1944 @@ -26259,31 +26252,31 @@ if.then.i.i1952: ; preds = %invoke.cont32.i1951 br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1953 _ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1953: ; preds = %if.then.i.i1952, %invoke.cont32.i1951 - store ptr %call5.i.i.i.i29.i1963, ptr %data_.i1.i.i1758, align 8 - store i64 %.sroa.speculated.i.i1925, ptr %allocated_capacity.i.i.i1759, align 8 + store ptr %call5.i.i.i.i29.i1963, ptr %data_.i1.i.i1754, align 8 + store i64 %.sroa.speculated.i.i1925, ptr %allocated_capacity.i.i.i1755, align 8 %shl.i.i1954 = shl i64 %add3.i1868, 1 %or.i.i1955 = or disjoint i64 %shl.i.i1954, 1 - br label %call.i.i.i.noexc848 + br label %call.i.i.i.noexc849 -if.else.i1870: ; preds = %for.body.i841 +if.else.i1870: ; preds = %for.body.i842 %.sroa.speculated.i1871 = call i64 @llvm.umax.i64(i64 %add.i1867, i64 %shr.i.sink.i.i1862) - %add.ptr51.i1872 = getelementptr i32, ptr %cond.i.i842, i64 %.sroa.speculated.i1871 + %add.ptr51.i1872 = getelementptr i32, ptr %cond.i.i843, i64 %.sroa.speculated.i1871 %sub52.i1873 = sub i64 %add3.i1868, %.sroa.speculated.i1871 - %add.ptr56.i1875 = getelementptr inbounds i32, ptr %cond.i.i842, i64 %add.i1867 + %add.ptr56.i1875 = getelementptr inbounds i32, ptr %cond.i.i843, i64 %add.i1867 %sub57.i1876 = sub i64 %.sroa.speculated.i1871, %add.i1867 - %add.ptr61.i1877 = getelementptr i32, ptr %add.ptr.i843, i64 %sub52.i1873 - %cmp6.not.i.i54.i1879 = icmp eq i64 %i.0.i3499, %shr.i.sink.i.i1862 + %add.ptr61.i1877 = getelementptr i32, ptr %add.ptr.i844, i64 %sub52.i1873 + %cmp6.not.i.i54.i1879 = icmp eq i64 %i.0.i3524, %shr.i.sink.i.i1862 br i1 %cmp6.not.i.i54.i1879, label %invoke.cont66.i1890, label %for.inc.i.i57.preheader.i1880 for.inc.i.i57.preheader.i1880: ; preds = %if.else.i1870 %add.ptr46.i1882 = getelementptr i32, ptr %add.ptr51.i1872, i64 -1 - %load_initial6771 = load i32, ptr %add.ptr46.i1882, align 4 + %load_initial6783 = load i32, ptr %add.ptr46.i1882, align 4 br label %for.inc.i.i57.i1883 for.inc.i.i57.i1883: ; preds = %for.inc.i.i57.i1883, %for.inc.i.i57.preheader.i1880 %i.07.i.i58.i1885 = phi i64 [ %inc.i.i61.i1888, %for.inc.i.i57.i1883 ], [ 0, %for.inc.i.i57.preheader.i1880 ] %add.ptr.i.i59.i1886 = getelementptr inbounds i32, ptr %add.ptr51.i1872, i64 %i.07.i.i58.i1885 - store i32 %load_initial6771, ptr %add.ptr.i.i59.i1886, align 4 + store i32 %load_initial6783, ptr %add.ptr.i.i59.i1886, align 4 %inc.i.i61.i1888 = add nuw i64 %i.07.i.i58.i1885, 1 %exitcond.not.i.i62.i1889 = icmp eq i64 %inc.i.i61.i1888, %sub52.i1873 br i1 %exitcond.not.i.i62.i1889, label %invoke.cont66.i1890, label %for.inc.i.i57.i1883, !llvm.loop !12 @@ -26294,7 +26287,7 @@ invoke.cont66.i1890: ; preds = %for.inc.i.i57.i1883 br i1 %cmp74121.i1892, label %for.end.i1901, label %if.end.preheader.i1893 if.end.preheader.i1893: ; preds = %invoke.cont66.i1890 - %add.ptr72.i1894 = getelementptr inbounds i32, ptr %add.ptr.i843, i64 %sub57.i1876 + %add.ptr72.i1894 = getelementptr inbounds i32, ptr %add.ptr.i844, i64 %sub57.i1876 br label %if.end.i1895 if.end.i1895: ; preds = %if.end.i1895, %if.end.preheader.i1893 @@ -26312,14 +26305,14 @@ for.end.i1901: ; preds = %if.end.i1895, %invo for.body.i.i1902.preheader: ; preds = %for.end.i1901 %249 = shl nuw i64 %sub52.i1873, 2 - call void @llvm.memcpy.p0.p0.i64(ptr align 4 %add.ptr.i843, ptr nonnull align 4 %dealias.i.i.i, i64 %249, i1 false) - %250 = call i64 @llvm.usub.sat.i64(i64 %indvars.iv4592, i64 %shr.i.sink.i.i1862) - %.neg4607 = mul i64 %250, -4 - %scevgep4595 = getelementptr i8, ptr %scevgep4591, i64 %.neg4607 + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %add.ptr.i844, ptr nonnull align 4 %dealias.i.i.i, i64 %249, i1 false) + %250 = call i64 @llvm.usub.sat.i64(i64 %indvars.iv4617, i64 %shr.i.sink.i.i1862) + %.neg4633 = mul i64 %250, -4 + %scevgep4620 = getelementptr i8, ptr %scevgep4616, i64 %.neg4633 br label %invoke.cont79.i1909 invoke.cont79.i1909: ; preds = %for.body.i.i1902.preheader, %for.end.i1901 - %values.sroa.0.2.i1910 = phi ptr [ %dealias.i.i.i, %for.end.i1901 ], [ %scevgep4595, %for.body.i.i1902.preheader ] + %values.sroa.0.2.i1910 = phi ptr [ %dealias.i.i.i, %for.end.i1901 ], [ %scevgep4620, %for.body.i.i1902.preheader ] %cmp6.not.i74.i1911 = icmp eq i64 %sub52.i1873, 1 br i1 %cmp6.not.i74.i1911, label %invoke.cont85.i1919, label %for.inc.i77.i1912.preheader @@ -26332,9 +26325,9 @@ for.inc.i77.i1912.preheader: ; preds = %invoke.cont79.i1909 invoke.cont85.i1919: ; preds = %for.inc.i77.i1912.preheader, %invoke.cont79.i1909 %253 = load i64, ptr %v347, align 8 %add.i.i1920 = add i64 %253, 2 - br label %call.i.i.i.noexc848 + br label %call.i.i.i.noexc849 -call.i.i.i.noexc848: ; preds = %invoke.cont85.i1919, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1953 +call.i.i.i.noexc849: ; preds = %invoke.cont85.i1919, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1953 %storemerge.i1921 = phi i64 [ %add.i.i1920, %invoke.cont85.i1919 ], [ %or.i.i1955, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i1953 ] store i64 %storemerge.i1921, ptr %v347, align 8 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %dealias.i.i.i) @@ -26342,188 +26335,186 @@ call.i.i.i.noexc848: ; preds = %invoke.cont85.i1919 %tobool.not.i.i3.i = icmp eq ptr %254, null br i1 %tobool.not.i.i3.i, label %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i, label %land.lhs.true.i.i.i -land.lhs.true.i.i.i: ; preds = %call.i.i.i.noexc848 - %call.i.i4.i850 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %254, ptr noundef nonnull align 4 dereferenceable(4) %_M_value.i.i) +land.lhs.true.i.i.i: ; preds = %call.i.i.i.noexc849 + %call.i.i4.i851 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %254, ptr noundef nonnull align 4 dereferenceable(4) %_M_value.i.i) to label %call.i.i4.i.noexc unwind label %lpad383.loopexit call.i.i4.i.noexc: ; preds = %land.lhs.true.i.i.i - %vtable.i.i.i845 = load ptr, ptr %call.i.i4.i850, align 8 - %vbase.offset.ptr.i.i.i = getelementptr i8, ptr %vtable.i.i.i845, i64 -24 + %vtable.i.i.i846 = load ptr, ptr %call.i.i4.i851, align 8 + %vbase.offset.ptr.i.i.i = getelementptr i8, ptr %vtable.i.i.i846, i64 -24 %vbase.offset.i.i.i = load i64, ptr %vbase.offset.ptr.i.i.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call.i.i4.i850, i64 %vbase.offset.i.i.i - %call3.i.i.i851 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %add.ptr.i.i.i) + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call.i.i4.i851, i64 %vbase.offset.i.i.i + %call3.i.i.i852 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %add.ptr.i.i.i) to label %call3.i.i.i.noexc unwind label %lpad383.loopexit call3.i.i.i.noexc: ; preds = %call.i.i4.i.noexc - br i1 %call3.i.i.i851, label %if.then.i.i.i846, label %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i + br i1 %call3.i.i.i852, label %if.then.i.i.i847, label %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i -if.then.i.i.i846: ; preds = %call3.i.i.i.noexc +if.then.i.i.i847: ; preds = %call3.i.i.i.noexc store ptr null, ptr %agg.tmp382, align 8 store i8 0, ptr %_M_ok.i, align 4 br label %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i -_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i: ; preds = %if.then.i.i.i846, %call3.i.i.i.noexc, %call.i.i.i.noexc848 +_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i: ; preds = %if.then.i.i.i847, %call3.i.i.i.noexc, %call.i.i.i.noexc849 %255 = load i8, ptr %_M_ok.i, align 4 %256 = and i8 %255, 1 %cmp.i.i.i = icmp eq i8 %256, 0 - br i1 %cmp.i.i.i, label %invoke.cont386.loopexit, label %for.body.i841, !llvm.loop !573 + br i1 %cmp.i.i.i, label %invoke.cont386.loopexit, label %for.body.i842, !llvm.loop !573 invoke.cont386.loopexit: ; preds = %_ZNSt16istream_iteratorIicSt11char_traitsIcElEppEv.exit.i - %.pre4604 = load i64, ptr %v347, align 8 - %.pre4605 = load ptr, ptr %data_.i1.i.i1758, align 8 - %.pre4606 = and i64 %.pre4604, 1 + %.pre4629 = load i64, ptr %v347, align 8 + %.pre4630 = load ptr, ptr %data_.i1.i.i1754, align 8 + %.pre4632 = and i64 %.pre4629, 1 br label %invoke.cont386 invoke.cont386: ; preds = %invoke.cont386.loopexit, %invoke.cont384 - %and.i.i6.i.pre-phi = phi i64 [ %.pre4606, %invoke.cont386.loopexit ], [ %and.i.i.i.i.i, %invoke.cont384 ] - %257 = phi ptr [ %.pre4605, %invoke.cont386.loopexit ], [ %240, %invoke.cont384 ] + %and.i.i6.i.pre-phi = phi i64 [ %.pre4632, %invoke.cont386.loopexit ], [ %and.i.i.i.i.i, %invoke.cont384 ] + %257 = phi ptr [ %.pre4630, %invoke.cont386.loopexit ], [ %240, %invoke.cont384 ] %tobool.i.not.i7.i = icmp eq i64 %and.i.i6.i.pre-phi, 0 - %cond.i9.i = select i1 %tobool.i.not.i7.i, ptr %data_.i1.i.i1758, ptr %257 - %add.ptr9.i = getelementptr inbounds i32, ptr %cond.i9.i, i64 %sub.ptr.div.i.i.i + %cond.i9.i = select i1 %tobool.i.not.i7.i, ptr %data_.i1.i.i1754, ptr %257 + %add.ptr9.i = getelementptr inbounds i8, ptr %cond.i9.i, i64 %sub.ptr.sub.i.i.i store ptr %add.ptr9.i, ptr %it379, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i853 = ptrtoint ptr %std_v344.sroa.11.5 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i854 = ptrtoint ptr %std_v344.sroa.0.5 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i855 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i853, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i854 - %cmp.i.i.i.i.i.i857 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i855, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i857, label %if.then.i.i.i.i.i.i864, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i858 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i854 = ptrtoint ptr %std_v344.sroa.11.5 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i855 = ptrtoint ptr %std_v344.sroa.0.5 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i856 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i854, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i855 + %cmp.i.i.i.i.i.i857 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i856, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i857, label %if.then.i.i.i.i.i.i865, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i858 -if.then.i.i.i.i.i.i864: ; preds = %invoke.cont386 +if.then.i.i.i.i.i.i865: ; preds = %invoke.cont386 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc865 unwind label %lpad383.loopexit.split-lp.loopexit.split-lp + to label %.noexc866 unwind label %lpad383.loopexit.split-lp.loopexit.split-lp -.noexc865: ; preds = %if.then.i.i.i.i.i.i864 +.noexc866: ; preds = %if.then.i.i.i.i.i.i865 unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i858: ; preds = %invoke.cont386 %cmp.not.i.i.i.i.i.i859 = icmp eq ptr %std_v344.sroa.11.5, %std_v344.sroa.0.5 - br i1 %cmp.not.i.i.i.i.i.i859, label %invoke.cont.thread.i885, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i860 + br i1 %cmp.not.i.i.i.i.i.i859, label %invoke.cont.thread.i886, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i860 if.then.i.i.i.i.i.i.i.i.i.i.i.i.i860: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i858 - %call5.i.i.i.i1.i.i.i.i867 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i855) #33 - to label %cond.true.i.i.i.i.i.i.i876 unwind label %lpad383.loopexit.split-lp.loopexit + %call5.i.i.i.i1.i.i.i.i868 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i856) #33 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i877 unwind label %lpad383.loopexit.split-lp.loopexit -invoke.cont.thread.i885: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i858 - %sub.ptr.div.i.i.i.i19.i886 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i855, 2 - %add.ptr.i.i.i.i.i14.i888 = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i19.i886 +invoke.cont.thread.i886: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i858 + %add.ptr.i.i.i.i.i14.i888 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i856 store i64 0, ptr %ref.tmp389, align 8, !alias.scope !574 store ptr %add.ptr.i.i.i.i.i14.i888, ptr %_M_end_of_storage.i.i.i.i.i.i883, align 8, !alias.scope !574 br label %invoke.cont393 -cond.true.i.i.i.i.i.i.i876: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i860 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i867, ptr align 4 %std_v344.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i855, i1 false), !noalias !577 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i877: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i860 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i868, ptr align 4 %std_v344.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i856, i1 false), !noalias !577 call void @llvm.experimental.noalias.scope.decl(metadata !574) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp389, i8 0, i64 24, i1 false), !alias.scope !574 - %call5.i.i.i.i2.i6.i.i.i2.i877 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i855) #33 - to label %if.then.i.i.i.i.i879 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i878, !noalias !574 + %call5.i.i.i.i2.i6.i.i.i2.i878 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i856) #33 + to label %if.then.i.i.i.i.i880 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i879, !noalias !574 -if.then.i.i.i.i.i879: ; preds = %cond.true.i.i.i.i.i.i.i876 - %sub.ptr.div.i.i.i.i.i880 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i855, 2 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i877, ptr %ref.tmp389, align 8, !alias.scope !574 - %add.ptr.i.i.i.i.i.i882 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i877, i64 %sub.ptr.div.i.i.i.i.i880 +if.then.i.i.i.i.i880: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i877 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i878, ptr %ref.tmp389, align 8, !alias.scope !574 + %add.ptr.i.i.i.i.i.i882 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i878, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i856 store ptr %add.ptr.i.i.i.i.i.i882, ptr %_M_end_of_storage.i.i.i.i.i.i883, align 8, !alias.scope !574 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i877, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i867, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i855, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i878, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i868, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i856, i1 false) br label %invoke.cont393 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i878: ; preds = %cond.true.i.i.i.i.i.i.i876 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i879: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i877 %258 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i921 + br label %if.then.i.i.i.i922 -invoke.cont393: ; preds = %if.then.i.i.i.i.i879, %invoke.cont.thread.i885 - %storemerge5755 = phi ptr [ %add.ptr.i.i.i.i.i.i882, %if.then.i.i.i.i.i879 ], [ %add.ptr.i.i.i.i.i14.i888, %invoke.cont.thread.i885 ] - %agg.tmp390.sroa.0.24655 = phi ptr [ %call5.i.i.i.i1.i.i.i.i867, %if.then.i.i.i.i.i879 ], [ null, %invoke.cont.thread.i885 ] - store ptr %storemerge5755, ptr %_M_finish.i.i.i.i.i.i881, align 8, !alias.scope !574 +invoke.cont393: ; preds = %if.then.i.i.i.i.i880, %invoke.cont.thread.i886 + %storemerge5767 = phi ptr [ %add.ptr.i.i.i.i.i.i882, %if.then.i.i.i.i.i880 ], [ %add.ptr.i.i.i.i.i14.i888, %invoke.cont.thread.i886 ] + %agg.tmp390.sroa.0.24672 = phi ptr [ %call5.i.i.i.i1.i.i.i.i868, %if.then.i.i.i.i.i880 ], [ null, %invoke.cont.thread.i886 ] + store ptr %storemerge5767, ptr %_M_finish.i.i.i.i.i.i881, align 8, !alias.scope !574 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm8ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar388, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp389, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(40) %v347) to label %invoke.cont395 unwind label %lpad394 invoke.cont395: ; preds = %invoke.cont393 %259 = load ptr, ptr %ref.tmp389, align 8 - %tobool.not.i.i.i.i.i895 = icmp eq ptr %259, null - br i1 %tobool.not.i.i.i.i.i895, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit897, label %if.then.i.i.i.i.i896 + %tobool.not.i.i.i.i.i896 = icmp eq ptr %259, null + br i1 %tobool.not.i.i.i.i.i896, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit898, label %if.then.i.i.i.i.i897 -if.then.i.i.i.i.i896: ; preds = %invoke.cont395 +if.then.i.i.i.i.i897: ; preds = %invoke.cont395 call void @_ZdlPv(ptr noundef nonnull %259) #32 - br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit897 + br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit898 -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit897: ; preds = %invoke.cont395, %if.then.i.i.i.i.i896 - %tobool.not.i.i.i.i898 = icmp eq ptr %agg.tmp390.sroa.0.24655, null - br i1 %tobool.not.i.i.i.i898, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit900, label %if.then.i.i.i.i899 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit898: ; preds = %invoke.cont395, %if.then.i.i.i.i.i897 + %tobool.not.i.i.i.i899 = icmp eq ptr %agg.tmp390.sroa.0.24672, null + br i1 %tobool.not.i.i.i.i899, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit901, label %if.then.i.i.i.i900 -if.then.i.i.i.i899: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit897 - call void @_ZdlPv(ptr noundef nonnull %agg.tmp390.sroa.0.24655) #32 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit900 +if.then.i.i.i.i900: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit898 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp390.sroa.0.24672) #32 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit901 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit900: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit897, %if.then.i.i.i.i899 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit901: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit898, %if.then.i.i.i.i900 %260 = load i8, ptr %gtest_ar388, align 8 %261 = and i8 %260, 1 - %tobool.i901.not = icmp eq i8 %261, 0 - br i1 %tobool.i901.not, label %if.else400, label %if.end413 + %tobool.i902.not = icmp eq i8 %261, 0 + br i1 %tobool.i902.not, label %if.else400, label %if.end413 -ehcleanup340: ; preds = %_ZN7testing7MessageD2Ev.exit742, %lpad328 - %.pn70.pn = phi { ptr, i32 } [ %.pn70, %_ZN7testing7MessageD2Ev.exit742 ], [ %217, %lpad328 ] +ehcleanup340: ; preds = %_ZN7testing7MessageD2Ev.exit743, %lpad328 + %.pn70.pn = phi { ptr, i32 } [ %.pn70, %_ZN7testing7MessageD2Ev.exit743 ], [ %217, %lpad328 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar319) #29 br label %ehcleanup341 -ehcleanup341: ; preds = %lpad274.loopexit, %lpad274.loopexit.split-lp, %if.then.i.i.i.i694, %ehcleanup301, %ehcleanup340, %ehcleanup318 - %std_v239.sroa.0.7 = phi ptr [ %std_v239.sroa.0.5, %ehcleanup340 ], [ %std_v239.sroa.0.5, %ehcleanup318 ], [ %std_v239.sroa.0.5, %ehcleanup301 ], [ %std_v239.sroa.0.5, %if.then.i.i.i.i694 ], [ %std_v239.sroa.0.6.ph, %lpad274.loopexit ], [ %std_v239.sroa.0.6.ph2405, %lpad274.loopexit.split-lp ] - %.pn70.pn.pn = phi { ptr, i32 } [ %.pn70.pn, %ehcleanup340 ], [ %.pn67.pn, %ehcleanup318 ], [ %198, %ehcleanup301 ], [ %.pn654648, %if.then.i.i.i.i694 ], [ %lpad.loopexit2406, %lpad274.loopexit ], [ %lpad.loopexit.split-lp2407, %lpad274.loopexit.split-lp ] - %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224 = load ptr, ptr %input245.sroa.0, align 8 - %cmp.not7.i.i.i902 = icmp eq ptr %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224, null - br i1 %cmp.not7.i.i.i902, label %_ZNSt12forward_listIiSaIiEED2Ev.exit907, label %while.body.i.i.i903 - -while.body.i.i.i903: ; preds = %ehcleanup341, %while.body.i.i.i903 - %__curr.08.i.i.i904 = phi ptr [ %262, %while.body.i.i.i903 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2224, %ehcleanup341 ] - %262 = load ptr, ptr %__curr.08.i.i.i904, align 8 - call void @_ZdlPv(ptr noundef nonnull %__curr.08.i.i.i904) #32 - %cmp.not.i.i.i905 = icmp eq ptr %262, null - br i1 %cmp.not.i.i.i905, label %_ZNSt12forward_listIiSaIiEED2Ev.exit907, label %while.body.i.i.i903, !llvm.loop !547 - -_ZNSt12forward_listIiSaIiEED2Ev.exit907: ; preds = %while.body.i.i.i903, %ehcleanup341 +ehcleanup341: ; preds = %lpad274.loopexit, %lpad274.loopexit.split-lp, %if.then.i.i.i.i695, %ehcleanup301, %ehcleanup340, %ehcleanup318 + %std_v239.sroa.0.7 = phi ptr [ %std_v239.sroa.0.5, %ehcleanup340 ], [ %std_v239.sroa.0.5, %ehcleanup318 ], [ %std_v239.sroa.0.5, %ehcleanup301 ], [ %std_v239.sroa.0.5, %if.then.i.i.i.i695 ], [ %std_v239.sroa.0.6.ph, %lpad274.loopexit ], [ %std_v239.sroa.0.6.ph2430, %lpad274.loopexit.split-lp ] + %.pn70.pn.pn = phi { ptr, i32 } [ %.pn70.pn, %ehcleanup340 ], [ %.pn67.pn, %ehcleanup318 ], [ %198, %ehcleanup301 ], [ %.pn654670, %if.then.i.i.i.i695 ], [ %lpad.loopexit2431, %lpad274.loopexit ], [ %lpad.loopexit.split-lp2432, %lpad274.loopexit.split-lp ] + %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2226 = load ptr, ptr %input245.sroa.0, align 8 + %cmp.not7.i.i.i903 = icmp eq ptr %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2226, null + br i1 %cmp.not7.i.i.i903, label %_ZNSt12forward_listIiSaIiEED2Ev.exit908, label %while.body.i.i.i904 + +while.body.i.i.i904: ; preds = %ehcleanup341, %while.body.i.i.i904 + %__curr.08.i.i.i905 = phi ptr [ %262, %while.body.i.i.i904 ], [ %input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.input245.sroa.0.0.2226, %ehcleanup341 ] + %262 = load ptr, ptr %__curr.08.i.i.i905, align 8 + call void @_ZdlPv(ptr noundef nonnull %__curr.08.i.i.i905) #32 + %cmp.not.i.i.i906 = icmp eq ptr %262, null + br i1 %cmp.not.i.i.i906, label %_ZNSt12forward_listIiSaIiEED2Ev.exit908, label %while.body.i.i.i904, !llvm.loop !547 + +_ZNSt12forward_listIiSaIiEED2Ev.exit908: ; preds = %while.body.i.i.i904, %ehcleanup341 store ptr null, ptr %input245.sroa.0, align 8 br label %ehcleanup342 -ehcleanup342: ; preds = %lpad243.loopexit, %lpad243.loopexit.split-lp, %_ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i, %_ZNSt12forward_listIiSaIiEED2Ev.exit907 - %std_v239.sroa.0.8 = phi ptr [ %std_v239.sroa.0.7, %_ZNSt12forward_listIiSaIiEED2Ev.exit907 ], [ %std_v239.sroa.0.42329, %_ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i ], [ %std_v239.sroa.0.3, %lpad243.loopexit ], [ %std_v239.sroa.0.3, %lpad243.loopexit.split-lp ] - %.pn70.pn.pn.pn = phi { ptr, i32 } [ %.pn70.pn.pn, %_ZNSt12forward_listIiSaIiEED2Ev.exit907 ], [ %164, %_ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i ], [ %lpad.loopexit2366, %lpad243.loopexit ], [ %lpad.loopexit.split-lp2367, %lpad243.loopexit.split-lp ] +ehcleanup342: ; preds = %lpad243.loopexit, %lpad243.loopexit.split-lp, %_ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i, %_ZNSt12forward_listIiSaIiEED2Ev.exit908 + %std_v239.sroa.0.8 = phi ptr [ %std_v239.sroa.0.7, %_ZNSt12forward_listIiSaIiEED2Ev.exit908 ], [ %std_v239.sroa.0.42336, %_ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i ], [ %std_v239.sroa.0.3, %lpad243.loopexit ], [ %std_v239.sroa.0.3, %lpad243.loopexit.split-lp ] + %.pn70.pn.pn.pn = phi { ptr, i32 } [ %.pn70.pn.pn, %_ZNSt12forward_listIiSaIiEED2Ev.exit908 ], [ %164, %_ZNSt14_Fwd_list_baseIiSaIiEED2Ev.exit.i ], [ %lpad.loopexit2391, %lpad243.loopexit ], [ %lpad.loopexit.split-lp2392, %lpad243.loopexit.split-lp ] %263 = load i64, ptr %v242, align 8 - %and.i.i.i.i908 = and i64 %263, 1 - %tobool.i.not.i.i.i909 = icmp eq i64 %and.i.i.i.i908, 0 - br i1 %tobool.i.not.i.i.i909, label %ehcleanup343, label %if.then.i.i.i910 + %and.i.i.i.i909 = and i64 %263, 1 + %tobool.i.not.i.i.i910 = icmp eq i64 %and.i.i.i.i909, 0 + br i1 %tobool.i.not.i.i.i910, label %ehcleanup343, label %if.then.i.i.i911 -if.then.i.i.i910: ; preds = %ehcleanup342 - %264 = load ptr, ptr %data_.i1.i.i1563, align 8 +if.then.i.i.i911: ; preds = %ehcleanup342 + %264 = load ptr, ptr %data_.i1.i.i1566, align 8 call void @_ZdlPv(ptr noundef %264) #32 br label %ehcleanup343 -ehcleanup343: ; preds = %lpad240.loopexit, %lpad240.loopexit.split-lp, %if.then.i.i.i910, %ehcleanup342 - %std_v239.sroa.0.9 = phi ptr [ %std_v239.sroa.0.8, %ehcleanup342 ], [ %std_v239.sroa.0.8, %if.then.i.i.i910 ], [ %std_v239.sroa.0.2, %lpad240.loopexit ], [ %std_v239.sroa.0.2, %lpad240.loopexit.split-lp ] - %.pn70.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn70.pn.pn.pn, %ehcleanup342 ], [ %.pn70.pn.pn.pn, %if.then.i.i.i910 ], [ %lpad.loopexit2369, %lpad240.loopexit ], [ %lpad.loopexit.split-lp2370, %lpad240.loopexit.split-lp ] - %tobool.not.i.i.i913 = icmp eq ptr %std_v239.sroa.0.9, null - br i1 %tobool.not.i.i.i913, label %eh.resume, label %eh.resume.sink.split +ehcleanup343: ; preds = %lpad240.loopexit, %lpad240.loopexit.split-lp, %if.then.i.i.i911, %ehcleanup342 + %std_v239.sroa.0.9 = phi ptr [ %std_v239.sroa.0.8, %ehcleanup342 ], [ %std_v239.sroa.0.8, %if.then.i.i.i911 ], [ %std_v239.sroa.0.2, %lpad240.loopexit ], [ %std_v239.sroa.0.2, %lpad240.loopexit.split-lp ] + %.pn70.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn70.pn.pn.pn, %ehcleanup342 ], [ %.pn70.pn.pn.pn, %if.then.i.i.i911 ], [ %lpad.loopexit2394, %lpad240.loopexit ], [ %lpad.loopexit.split-lp2395, %lpad240.loopexit.split-lp ] + %tobool.not.i.i.i914 = icmp eq ptr %std_v239.sroa.0.9, null + br i1 %tobool.not.i.i.i914, label %eh.resume, label %eh.resume.sink.split -lpad345.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i789 - %lpad.loopexit2362 = landingpad { ptr, i32 } +lpad345.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i790 + %lpad.loopexit2387 = landingpad { ptr, i32 } cleanup br label %ehcleanup439 -lpad345.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i802 - %lpad.loopexit.split-lp2363 = landingpad { ptr, i32 } +lpad345.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i804 + %lpad.loopexit.split-lp2388 = landingpad { ptr, i32 } cleanup br label %ehcleanup439 -lpad348.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1772 - %lpad.loopexit2359 = landingpad { ptr, i32 } +lpad348.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1768 + %lpad.loopexit2384 = landingpad { ptr, i32 } cleanup br label %ehcleanup438 -lpad348.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1846 - %lpad.loopexit2409 = landingpad { ptr, i32 } +lpad348.loopexit.split-lp.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i1844 + %lpad.loopexit2434 = landingpad { ptr, i32 } cleanup br label %ehcleanup438 -lpad348.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i1852, %if.end.i.i.i.i.i.i1790, %if.then3.i.i.i.i.i.i1791 - %std_v344.sroa.0.42337.ph.ph = phi ptr [ %std_v344.sroa.0.42336, %if.then.i.i1852 ], [ %std_v344.sroa.0.3, %if.end.i.i.i.i.i.i1790 ], [ %std_v344.sroa.0.3, %if.then3.i.i.i.i.i.i1791 ] - %lpad.loopexit.split-lp2410 = landingpad { ptr, i32 } +lpad348.loopexit.split-lp.loopexit.split-lp: ; preds = %if.then.i.i1852, %if.end.i.i.i.i.i.i1786, %if.then3.i.i.i.i.i.i1787 + %std_v344.sroa.0.42344.ph.ph = phi ptr [ %std_v344.sroa.0.42343, %if.then.i.i1852 ], [ %std_v344.sroa.0.3, %if.end.i.i.i.i.i.i1786 ], [ %std_v344.sroa.0.3, %if.then3.i.i.i.i.i.i1787 ] + %lpad.loopexit.split-lp2435 = landingpad { ptr, i32 } cleanup br label %ehcleanup438 @@ -26538,23 +26529,23 @@ lpad375: ; preds = %invoke.cont374 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp371) #29 br label %ehcleanup378 -ehcleanup378: ; preds = %lpad373, %lpad.i826, %lpad375 - %.pn76 = phi { ptr, i32 } [ %266, %lpad375 ], [ %265, %lpad373 ], [ %235, %lpad.i826 ] +ehcleanup378: ; preds = %lpad373, %lpad.i827, %lpad375 + %.pn76 = phi { ptr, i32 } [ %266, %lpad375 ], [ %265, %lpad373 ], [ %235, %lpad.i827 ] call void @_ZNSaIcED1Ev(ptr noundef nonnull align 1 dereferenceable(1) %ref.tmp372) #29 br label %ehcleanup438 lpad383.loopexit: ; preds = %land.lhs.true.i.i.i, %call.i.i4.i.noexc, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i1927 - %lpad.loopexit2356 = landingpad { ptr, i32 } + %lpad.loopexit2381 = landingpad { ptr, i32 } cleanup br label %ehcleanup437 -lpad383.loopexit.split-lp.loopexit: ; preds = %if.end.i.i948, %if.then.i.i949, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i860, %call.i.i834.noexc, %invoke.cont376 - %lpad.loopexit2412 = landingpad { ptr, i32 } +lpad383.loopexit.split-lp.loopexit: ; preds = %if.end.i.i949, %if.then.i.i950, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i860, %call.i.i835.noexc, %invoke.cont376 + %lpad.loopexit2437 = landingpad { ptr, i32 } cleanup br label %ehcleanup437 -lpad383.loopexit.split-lp.loopexit.split-lp: ; preds = %if.end.i.i.i.i.i1958, %if.then3.i.i.i.i.i1959, %if.then.i.i.i.i.i.i864 - %lpad.loopexit.split-lp2413 = landingpad { ptr, i32 } +lpad383.loopexit.split-lp.loopexit.split-lp: ; preds = %if.end.i.i.i.i.i1958, %if.then3.i.i.i.i.i1959, %if.then.i.i.i.i.i.i865 + %lpad.loopexit.split-lp2438 = landingpad { ptr, i32 } cleanup br label %ehcleanup437 @@ -26562,39 +26553,39 @@ lpad394: ; preds = %invoke.cont393 %267 = landingpad { ptr, i32 } cleanup %268 = load ptr, ptr %ref.tmp389, align 8 - %tobool.not.i.i.i.i.i917 = icmp eq ptr %268, null - br i1 %tobool.not.i.i.i.i.i917, label %ehcleanup397, label %if.then.i.i.i.i.i918 + %tobool.not.i.i.i.i.i918 = icmp eq ptr %268, null + br i1 %tobool.not.i.i.i.i.i918, label %ehcleanup397, label %if.then.i.i.i.i.i919 -if.then.i.i.i.i.i918: ; preds = %lpad394 +if.then.i.i.i.i.i919: ; preds = %lpad394 call void @_ZdlPv(ptr noundef nonnull %268) #32 br label %ehcleanup397 -ehcleanup397: ; preds = %if.then.i.i.i.i.i918, %lpad394 - %tobool.not.i.i.i.i920 = icmp eq ptr %agg.tmp390.sroa.0.24655, null - br i1 %tobool.not.i.i.i.i920, label %ehcleanup437, label %if.then.i.i.i.i921 +ehcleanup397: ; preds = %if.then.i.i.i.i.i919, %lpad394 + %tobool.not.i.i.i.i921 = icmp eq ptr %agg.tmp390.sroa.0.24672, null + br i1 %tobool.not.i.i.i.i921, label %ehcleanup437, label %if.then.i.i.i.i922 -if.then.i.i.i.i921: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i878, %ehcleanup397 - %.pn784662 = phi { ptr, i32 } [ %267, %ehcleanup397 ], [ %258, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i878 ] - %agg.tmp390.sroa.0.246574661 = phi ptr [ %agg.tmp390.sroa.0.24655, %ehcleanup397 ], [ %call5.i.i.i.i1.i.i.i.i867, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i878 ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp390.sroa.0.246574661) #32 +if.then.i.i.i.i922: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i879, %ehcleanup397 + %.pn784679 = phi { ptr, i32 } [ %267, %ehcleanup397 ], [ %258, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i879 ] + %agg.tmp390.sroa.0.246744678 = phi ptr [ %agg.tmp390.sroa.0.24672, %ehcleanup397 ], [ %call5.i.i.i.i1.i.i.i.i868, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i879 ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp390.sroa.0.246744678) #32 br label %ehcleanup437 -if.else400: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit900 +if.else400: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit901 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp401) to label %invoke.cont403 unwind label %lpad402 invoke.cont403: ; preds = %if.else400 - %269 = load ptr, ptr %message_.i.i923, align 8 - %cmp.i.i.not.i.i924 = icmp eq ptr %269, null - br i1 %cmp.i.i.not.i.i924, label %invoke.cont406, label %cond.true.i.i925 + %269 = load ptr, ptr %message_.i.i924, align 8 + %cmp.i.i.not.i.i925 = icmp eq ptr %269, null + br i1 %cmp.i.i.not.i.i925, label %invoke.cont406, label %cond.true.i.i926 -cond.true.i.i925: ; preds = %invoke.cont403 - %call4.i.i926 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %269) #29 +cond.true.i.i926: ; preds = %invoke.cont403 + %call4.i.i927 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %269) #29 br label %invoke.cont406 -invoke.cont406: ; preds = %cond.true.i.i925, %invoke.cont403 - %cond.i.i927 = phi ptr [ %call4.i.i926, %cond.true.i.i925 ], [ @.str.202, %invoke.cont403 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp404, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 553, ptr noundef %cond.i.i927) +invoke.cont406: ; preds = %cond.true.i.i926, %invoke.cont403 + %cond.i.i928 = phi ptr [ %call4.i.i927, %cond.true.i.i926 ], [ @.str.202, %invoke.cont403 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp404, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 553, ptr noundef %cond.i.i928) to label %invoke.cont408 unwind label %lpad405 invoke.cont408: ; preds = %invoke.cont406 @@ -26604,17 +26595,17 @@ invoke.cont408: ; preds = %invoke.cont406 invoke.cont410: ; preds = %invoke.cont408 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp404) #29 %270 = load ptr, ptr %ref.tmp401, align 8 - %cmp.not.i.i929 = icmp eq ptr %270, null - br i1 %cmp.not.i.i929, label %_ZN7testing7MessageD2Ev.exit933, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i930 + %cmp.not.i.i930 = icmp eq ptr %270, null + br i1 %cmp.not.i.i930, label %_ZN7testing7MessageD2Ev.exit934, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i931 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i930: ; preds = %invoke.cont410 - %vtable.i.i.i931 = load ptr, ptr %270, align 8 - %vfn.i.i.i932 = getelementptr inbounds ptr, ptr %vtable.i.i.i931, i64 1 - %271 = load ptr, ptr %vfn.i.i.i932, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i931: ; preds = %invoke.cont410 + %vtable.i.i.i932 = load ptr, ptr %270, align 8 + %vfn.i.i.i933 = getelementptr inbounds ptr, ptr %vtable.i.i.i932, i64 1 + %271 = load ptr, ptr %vfn.i.i.i933, align 8 call void %271(ptr noundef nonnull align 8 dereferenceable(128) %270) #29 - br label %_ZN7testing7MessageD2Ev.exit933 + br label %_ZN7testing7MessageD2Ev.exit934 -_ZN7testing7MessageD2Ev.exit933: ; preds = %invoke.cont410, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i930 +_ZN7testing7MessageD2Ev.exit934: ; preds = %invoke.cont410, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i931 store ptr null, ptr %ref.tmp401, align 8 br label %if.end413 @@ -26637,59 +26628,59 @@ lpad409: ; preds = %invoke.cont408 ehcleanup412: ; preds = %lpad409, %lpad405 %.pn80 = phi { ptr, i32 } [ %274, %lpad409 ], [ %273, %lpad405 ] %275 = load ptr, ptr %ref.tmp401, align 8 - %cmp.not.i.i934 = icmp eq ptr %275, null - br i1 %cmp.not.i.i934, label %_ZN7testing7MessageD2Ev.exit938, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i935 + %cmp.not.i.i935 = icmp eq ptr %275, null + br i1 %cmp.not.i.i935, label %_ZN7testing7MessageD2Ev.exit939, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i936 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i935: ; preds = %ehcleanup412 - %vtable.i.i.i936 = load ptr, ptr %275, align 8 - %vfn.i.i.i937 = getelementptr inbounds ptr, ptr %vtable.i.i.i936, i64 1 - %276 = load ptr, ptr %vfn.i.i.i937, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i936: ; preds = %ehcleanup412 + %vtable.i.i.i937 = load ptr, ptr %275, align 8 + %vfn.i.i.i938 = getelementptr inbounds ptr, ptr %vtable.i.i.i937, i64 1 + %276 = load ptr, ptr %vfn.i.i.i938, align 8 call void %276(ptr noundef nonnull align 8 dereferenceable(128) %275) #29 - br label %_ZN7testing7MessageD2Ev.exit938 + br label %_ZN7testing7MessageD2Ev.exit939 -_ZN7testing7MessageD2Ev.exit938: ; preds = %ehcleanup412, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i935 +_ZN7testing7MessageD2Ev.exit939: ; preds = %ehcleanup412, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i936 store ptr null, ptr %ref.tmp401, align 8 br label %ehcleanup414 -if.end413: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit900, %_ZN7testing7MessageD2Ev.exit933 - %277 = load ptr, ptr %message_.i.i923, align 8 - %cmp.not.i.i940 = icmp eq ptr %277, null - br i1 %cmp.not.i.i940, label %_ZN7testing15AssertionResultD2Ev.exit942, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i941 +if.end413: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit901, %_ZN7testing7MessageD2Ev.exit934 + %277 = load ptr, ptr %message_.i.i924, align 8 + %cmp.not.i.i941 = icmp eq ptr %277, null + br i1 %cmp.not.i.i941, label %_ZN7testing15AssertionResultD2Ev.exit943, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i942 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i941: ; preds = %if.end413 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i942: ; preds = %if.end413 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #29 call void @_ZdlPv(ptr noundef nonnull %277) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit942 + br label %_ZN7testing15AssertionResultD2Ev.exit943 -_ZN7testing15AssertionResultD2Ev.exit942: ; preds = %if.end413, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i941 - store ptr null, ptr %message_.i.i923, align 8 +_ZN7testing15AssertionResultD2Ev.exit943: ; preds = %if.end413, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i942 + store ptr null, ptr %message_.i.i924, align 8 %278 = load i64, ptr %v347, align 8 - %and.i.i.i.i943 = and i64 %278, 1 - %tobool.i.not.i.i.i944 = icmp eq i64 %and.i.i.i.i943, 0 - %279 = load ptr, ptr %data_.i1.i.i1758, align 8 - %cond.i.i.i946 = select i1 %tobool.i.not.i.i.i944, ptr %data_.i1.i.i1758, ptr %279 - %add.ptr418 = getelementptr inbounds i32, ptr %cond.i.i.i946, i64 %pos.03500 + %and.i.i.i.i944 = and i64 %278, 1 + %tobool.i.not.i.i.i945 = icmp eq i64 %and.i.i.i.i944, 0 + %279 = load ptr, ptr %data_.i1.i.i1754, align 8 + %cond.i.i.i947 = select i1 %tobool.i.not.i.i.i945, ptr %data_.i1.i.i1754, ptr %279 + %add.ptr418 = getelementptr inbounds i32, ptr %cond.i.i.i947, i64 %pos.03525 store ptr %add.ptr418, ptr %ref.tmp416, align 8 %280 = load ptr, ptr %it379, align 8, !noalias !582 - %cmp.i.i947 = icmp eq ptr %280, %add.ptr418 - br i1 %cmp.i.i947, label %if.then.i.i949, label %if.end.i.i948 + %cmp.i.i948 = icmp eq ptr %280, %add.ptr418 + br i1 %cmp.i.i948, label %if.then.i.i950, label %if.end.i.i949 -if.then.i.i949: ; preds = %_ZN7testing15AssertionResultD2Ev.exit942 +if.then.i.i950: ; preds = %_ZN7testing15AssertionResultD2Ev.exit943 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar415) to label %invoke.cont419 unwind label %lpad383.loopexit.split-lp.loopexit -if.end.i.i948: ; preds = %_ZN7testing15AssertionResultD2Ev.exit942 +if.end.i.i949: ; preds = %_ZN7testing15AssertionResultD2Ev.exit943 invoke void @_ZN7testing8internal18CmpHelperEQFailureIPiPKiEENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar415, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.291, ptr noundef nonnull align 8 dereferenceable(8) %it379, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp416) to label %invoke.cont419 unwind label %lpad383.loopexit.split-lp.loopexit -invoke.cont419: ; preds = %if.then.i.i949, %if.end.i.i948 +invoke.cont419: ; preds = %if.then.i.i950, %if.end.i.i949 %281 = load i8, ptr %gtest_ar415, align 8 %282 = and i8 %281, 1 - %tobool.i953.not = icmp eq i8 %282, 0 - br i1 %tobool.i953.not, label %if.else422, label %if.end435 + %tobool.i954.not = icmp eq i8 %282, 0 + br i1 %tobool.i954.not, label %if.else422, label %if.end435 -ehcleanup414: ; preds = %_ZN7testing7MessageD2Ev.exit938, %lpad402 - %.pn80.pn = phi { ptr, i32 } [ %.pn80, %_ZN7testing7MessageD2Ev.exit938 ], [ %272, %lpad402 ] +ehcleanup414: ; preds = %_ZN7testing7MessageD2Ev.exit939, %lpad402 + %.pn80.pn = phi { ptr, i32 } [ %.pn80, %_ZN7testing7MessageD2Ev.exit939 ], [ %272, %lpad402 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar388) #29 br label %ehcleanup437 @@ -26698,17 +26689,17 @@ if.else422: ; preds = %invoke.cont419 to label %invoke.cont425 unwind label %lpad424 invoke.cont425: ; preds = %if.else422 - %283 = load ptr, ptr %message_.i.i954, align 8 - %cmp.i.i.not.i.i955 = icmp eq ptr %283, null - br i1 %cmp.i.i.not.i.i955, label %invoke.cont428, label %cond.true.i.i956 + %283 = load ptr, ptr %message_.i.i955, align 8 + %cmp.i.i.not.i.i956 = icmp eq ptr %283, null + br i1 %cmp.i.i.not.i.i956, label %invoke.cont428, label %cond.true.i.i957 -cond.true.i.i956: ; preds = %invoke.cont425 - %call4.i.i957 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %283) #29 +cond.true.i.i957: ; preds = %invoke.cont425 + %call4.i.i958 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %283) #29 br label %invoke.cont428 -invoke.cont428: ; preds = %cond.true.i.i956, %invoke.cont425 - %cond.i.i958 = phi ptr [ %call4.i.i957, %cond.true.i.i956 ], [ @.str.202, %invoke.cont425 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp426, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 554, ptr noundef %cond.i.i958) +invoke.cont428: ; preds = %cond.true.i.i957, %invoke.cont425 + %cond.i.i959 = phi ptr [ %call4.i.i958, %cond.true.i.i957 ], [ @.str.202, %invoke.cont425 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp426, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 554, ptr noundef %cond.i.i959) to label %invoke.cont430 unwind label %lpad427 invoke.cont430: ; preds = %invoke.cont428 @@ -26718,17 +26709,17 @@ invoke.cont430: ; preds = %invoke.cont428 invoke.cont432: ; preds = %invoke.cont430 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp426) #29 %284 = load ptr, ptr %ref.tmp423, align 8 - %cmp.not.i.i960 = icmp eq ptr %284, null - br i1 %cmp.not.i.i960, label %_ZN7testing7MessageD2Ev.exit964, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i961 + %cmp.not.i.i961 = icmp eq ptr %284, null + br i1 %cmp.not.i.i961, label %_ZN7testing7MessageD2Ev.exit965, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i962 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i961: ; preds = %invoke.cont432 - %vtable.i.i.i962 = load ptr, ptr %284, align 8 - %vfn.i.i.i963 = getelementptr inbounds ptr, ptr %vtable.i.i.i962, i64 1 - %285 = load ptr, ptr %vfn.i.i.i963, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i962: ; preds = %invoke.cont432 + %vtable.i.i.i963 = load ptr, ptr %284, align 8 + %vfn.i.i.i964 = getelementptr inbounds ptr, ptr %vtable.i.i.i963, i64 1 + %285 = load ptr, ptr %vfn.i.i.i964, align 8 call void %285(ptr noundef nonnull align 8 dereferenceable(128) %284) #29 - br label %_ZN7testing7MessageD2Ev.exit964 + br label %_ZN7testing7MessageD2Ev.exit965 -_ZN7testing7MessageD2Ev.exit964: ; preds = %invoke.cont432, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i961 +_ZN7testing7MessageD2Ev.exit965: ; preds = %invoke.cont432, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i962 store ptr null, ptr %ref.tmp423, align 8 br label %if.end435 @@ -26751,141 +26742,142 @@ lpad431: ; preds = %invoke.cont430 ehcleanup434: ; preds = %lpad431, %lpad427 %.pn83 = phi { ptr, i32 } [ %288, %lpad431 ], [ %287, %lpad427 ] %289 = load ptr, ptr %ref.tmp423, align 8 - %cmp.not.i.i965 = icmp eq ptr %289, null - br i1 %cmp.not.i.i965, label %_ZN7testing7MessageD2Ev.exit969, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i966 + %cmp.not.i.i966 = icmp eq ptr %289, null + br i1 %cmp.not.i.i966, label %_ZN7testing7MessageD2Ev.exit970, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i967 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i966: ; preds = %ehcleanup434 - %vtable.i.i.i967 = load ptr, ptr %289, align 8 - %vfn.i.i.i968 = getelementptr inbounds ptr, ptr %vtable.i.i.i967, i64 1 - %290 = load ptr, ptr %vfn.i.i.i968, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i967: ; preds = %ehcleanup434 + %vtable.i.i.i968 = load ptr, ptr %289, align 8 + %vfn.i.i.i969 = getelementptr inbounds ptr, ptr %vtable.i.i.i968, i64 1 + %290 = load ptr, ptr %vfn.i.i.i969, align 8 call void %290(ptr noundef nonnull align 8 dereferenceable(128) %289) #29 - br label %_ZN7testing7MessageD2Ev.exit969 + br label %_ZN7testing7MessageD2Ev.exit970 -_ZN7testing7MessageD2Ev.exit969: ; preds = %ehcleanup434, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i966 +_ZN7testing7MessageD2Ev.exit970: ; preds = %ehcleanup434, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i967 store ptr null, ptr %ref.tmp423, align 8 br label %ehcleanup436 -if.end435: ; preds = %invoke.cont419, %_ZN7testing7MessageD2Ev.exit964 - %291 = load ptr, ptr %message_.i.i954, align 8 - %cmp.not.i.i971 = icmp eq ptr %291, null - br i1 %cmp.not.i.i971, label %_ZN7testing15AssertionResultD2Ev.exit973, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i972 +if.end435: ; preds = %invoke.cont419, %_ZN7testing7MessageD2Ev.exit965 + %291 = load ptr, ptr %message_.i.i955, align 8 + %cmp.not.i.i972 = icmp eq ptr %291, null + br i1 %cmp.not.i.i972, label %_ZN7testing15AssertionResultD2Ev.exit974, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i973 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i972: ; preds = %if.end435 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i973: ; preds = %if.end435 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %291) #29 call void @_ZdlPv(ptr noundef nonnull %291) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit973 + br label %_ZN7testing15AssertionResultD2Ev.exit974 -_ZN7testing15AssertionResultD2Ev.exit973: ; preds = %if.end435, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i972 - store ptr null, ptr %message_.i.i954, align 8 +_ZN7testing15AssertionResultD2Ev.exit974: ; preds = %if.end435, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i973 + store ptr null, ptr %message_.i.i955, align 8 call void @_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(120) %input370) #29 %292 = load i64, ptr %v347, align 8 - %and.i.i.i.i974 = and i64 %292, 1 - %tobool.i.not.i.i.i975 = icmp eq i64 %and.i.i.i.i974, 0 - br i1 %tobool.i.not.i.i.i975, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit978, label %if.then.i.i.i976 + %and.i.i.i.i975 = and i64 %292, 1 + %tobool.i.not.i.i.i976 = icmp eq i64 %and.i.i.i.i975, 0 + br i1 %tobool.i.not.i.i.i976, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit979, label %if.then.i.i.i977 -if.then.i.i.i976: ; preds = %_ZN7testing15AssertionResultD2Ev.exit973 - %293 = load ptr, ptr %data_.i1.i.i1758, align 8 +if.then.i.i.i977: ; preds = %_ZN7testing15AssertionResultD2Ev.exit974 + %293 = load ptr, ptr %data_.i1.i.i1754, align 8 call void @_ZdlPv(ptr noundef %293) #32 - br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit978 + br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit979 -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit978: ; preds = %_ZN7testing15AssertionResultD2Ev.exit973, %if.then.i.i.i976 - %tobool.not.i.i.i979 = icmp eq ptr %std_v344.sroa.0.5, null - br i1 %tobool.not.i.i.i979, label %_ZNSt6vectorIiSaIiEED2Ev.exit982, label %if.then.i.i.i980 +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit979: ; preds = %_ZN7testing15AssertionResultD2Ev.exit974, %if.then.i.i.i977 + %tobool.not.i.i.i980 = icmp eq ptr %std_v344.sroa.0.5, null + br i1 %tobool.not.i.i.i980, label %_ZNSt6vectorIiSaIiEED2Ev.exit983, label %if.then.i.i.i981 -if.then.i.i.i980: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit978 +if.then.i.i.i981: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit979 call void @_ZdlPv(ptr noundef nonnull %std_v344.sroa.0.5) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit982 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit983 -_ZNSt6vectorIiSaIiEED2Ev.exit982: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit978, %if.then.i.i.i980 - br i1 %cmp4.not.i, label %invoke.cont442.thread, label %for.body.i988 +_ZNSt6vectorIiSaIiEED2Ev.exit983: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit979, %if.then.i.i.i981 + br i1 %cmp4.not.i, label %invoke.cont442.thread, label %for.body.i989 -invoke.cont442.thread: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit982 +invoke.cont442.thread: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit983 store i64 0, ptr %v443, align 8 br label %invoke.cont445 -for.body.i988: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit982, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994 - %std_v440.sroa.0.2 = phi ptr [ %std_v440.sroa.0.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit982 ] - %std_v440.sroa.24.2 = phi ptr [ %std_v440.sroa.24.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit982 ] - %294 = phi ptr [ %std_v440.sroa.11.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit982 ] - %i.05.i989 = phi i64 [ %inc.i995, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994 ], [ 0, %_ZNSt6vectorIiSaIiEED2Ev.exit982 ] - %conv.i990 = trunc i64 %i.05.i989 to i32 - %cmp.not.i.i.i991 = icmp eq ptr %294, %std_v440.sroa.24.2 - br i1 %cmp.not.i.i.i991, label %if.else.i.i.i997, label %if.then.i.i.i992 - -if.then.i.i.i992: ; preds = %for.body.i988 - store i32 %conv.i990, ptr %294, align 4 - br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994 - -if.else.i.i.i997: ; preds = %for.body.i988 - %sub.ptr.lhs.cast.i.i.i.i.i.i998 = ptrtoint ptr %std_v440.sroa.24.2 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i999 = ptrtoint ptr %std_v440.sroa.0.2 to i64 - %sub.ptr.sub.i.i.i.i.i.i1000 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i998, %sub.ptr.rhs.cast.i.i.i.i.i.i999 - %cmp.i.i.i.i.i1001 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i1000, 9223372036854775804 - br i1 %cmp.i.i.i.i.i1001, label %if.then.i.i.i.i.i1024, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1002 - -if.then.i.i.i.i.i1024: ; preds = %if.else.i.i.i997 +for.body.i989: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit983, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995 + %std_v440.sroa.0.2 = phi ptr [ %std_v440.sroa.0.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit983 ] + %std_v440.sroa.24.2 = phi ptr [ %std_v440.sroa.24.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit983 ] + %294 = phi ptr [ %std_v440.sroa.11.3, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995 ], [ null, %_ZNSt6vectorIiSaIiEED2Ev.exit983 ] + %i.05.i990 = phi i64 [ %inc.i996, %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995 ], [ 0, %_ZNSt6vectorIiSaIiEED2Ev.exit983 ] + %conv.i991 = trunc i64 %i.05.i990 to i32 + %cmp.not.i.i.i992 = icmp eq ptr %294, %std_v440.sroa.24.2 + br i1 %cmp.not.i.i.i992, label %if.else.i.i.i998, label %if.then.i.i.i993 + +if.then.i.i.i993: ; preds = %for.body.i989 + store i32 %conv.i991, ptr %294, align 4 + br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995 + +if.else.i.i.i998: ; preds = %for.body.i989 + %sub.ptr.lhs.cast.i.i.i.i.i.i999 = ptrtoint ptr %std_v440.sroa.24.2 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i1000 = ptrtoint ptr %std_v440.sroa.0.2 to i64 + %sub.ptr.sub.i.i.i.i.i.i1001 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i999, %sub.ptr.rhs.cast.i.i.i.i.i.i1000 + %cmp.i.i.i.i.i1002 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i.i1001, 9223372036854775804 + br i1 %cmp.i.i.i.i.i1002, label %if.then.i.i.i.i.i1026, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1003 + +if.then.i.i.i.i.i1026: ; preds = %if.else.i.i.i998 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc1025 unwind label %lpad441.loopexit.split-lp - -.noexc1025: ; preds = %if.then.i.i.i.i.i1024 - unreachable - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1002: ; preds = %if.else.i.i.i997 - %sub.ptr.div.i.i.i.i.i.i1003 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1000, 2 - %.sroa.speculated.i.i.i.i.i1004 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i1003, i64 1) - %add.i.i.i.i.i1005 = add i64 %.sroa.speculated.i.i.i.i.i1004, %sub.ptr.div.i.i.i.i.i.i1003 - %cmp7.i.i.i.i.i1006 = icmp ult i64 %add.i.i.i.i.i1005, %sub.ptr.div.i.i.i.i.i.i1003 - %cmp9.i.i.i.i.i1007 = icmp ugt i64 %add.i.i.i.i.i1005, 2305843009213693951 - %or.cond.i.i.i.i.i1008 = or i1 %cmp7.i.i.i.i.i1006, %cmp9.i.i.i.i.i1007 - %cond.i.i.i.i.i1009 = select i1 %or.cond.i.i.i.i.i1008, i64 2305843009213693951, i64 %add.i.i.i.i.i1005 - %cmp.not.i.i.i.i.i1010 = icmp eq i64 %cond.i.i.i.i.i1009, 0 - br i1 %cmp.not.i.i.i.i.i1010, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1013, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1011 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1011: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1002 - %mul.i.i.i.i.i.i.i1012 = shl nuw nsw i64 %cond.i.i.i.i.i1009, 2 - %call5.i.i.i.i.i.i.i1027 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i1012) #33 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1013 unwind label %lpad441.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1013: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1011, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1002 - %cond.i10.i.i.i.i1014 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1002 ], [ %call5.i.i.i.i.i.i.i1027, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1011 ] - %add.ptr.i.i.i.i1015 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i1014, i64 %sub.ptr.div.i.i.i.i.i.i1003 - store i32 %conv.i990, ptr %add.ptr.i.i.i.i1015, align 4 - %cmp.i.i.i11.i.i.i.i1016 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i.i1003, 0 - br i1 %cmp.i.i.i11.i.i.i.i1016, label %if.then.i.i.i12.i.i.i.i1023, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i1017 - -if.then.i.i.i12.i.i.i.i1023: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1013 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i1014, ptr align 4 %std_v440.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i1000, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i1017 - -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i1017: ; preds = %if.then.i.i.i12.i.i.i.i1023, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1013 - %tobool.not.i.i.i.i.i1019 = icmp eq ptr %std_v440.sroa.0.2, null - br i1 %tobool.not.i.i.i.i.i1019, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1021, label %if.then.i21.i.i.i.i1020 - -if.then.i21.i.i.i.i1020: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i1017 + to label %.noexc1027 unwind label %lpad441.loopexit.split-lp + +.noexc1027: ; preds = %if.then.i.i.i.i.i1026 + unreachable + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1003: ; preds = %if.else.i.i.i998 + %sub.ptr.div.i.i.i.i.i.i1004 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i1001, 2 + %.sroa.speculated.i.i.i.i.i1005 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i.i1004, i64 1) + %add.i.i.i.i.i1006 = add i64 %.sroa.speculated.i.i.i.i.i1005, %sub.ptr.div.i.i.i.i.i.i1004 + %cmp7.i.i.i.i.i1007 = icmp ult i64 %add.i.i.i.i.i1006, %sub.ptr.div.i.i.i.i.i.i1004 + %cmp9.i.i.i.i.i1008 = icmp ugt i64 %add.i.i.i.i.i1006, 2305843009213693951 + %or.cond.i.i.i.i.i1009 = or i1 %cmp7.i.i.i.i.i1007, %cmp9.i.i.i.i.i1008 + %cond.i.i.i.i.i1010 = select i1 %or.cond.i.i.i.i.i1009, i64 2305843009213693951, i64 %add.i.i.i.i.i1006 + %cmp.not.i.i.i.i.i1011 = icmp eq i64 %cond.i.i.i.i.i1010, 0 + br i1 %cmp.not.i.i.i.i.i1011, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1014, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1012 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1012: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1003 + %mul.i.i.i.i.i.i.i1013 = shl nuw nsw i64 %cond.i.i.i.i.i1010, 2 + %call5.i.i.i.i.i.i.i1029 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i1013) #33 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1014 unwind label %lpad441.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1014: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1012, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1003 + %cond.i10.i.i.i.i1015 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i.i1003 ], [ %call5.i.i.i.i.i.i.i1029, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1012 ] + %add.ptr.i.i.i.i1016 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i1015, i64 %sub.ptr.div.i.i.i.i.i.i1004 + store i32 %conv.i991, ptr %add.ptr.i.i.i.i1016, align 4 + %cmp.i.i.i11.i.i.i.i1017 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i.i1001, 0 + br i1 %cmp.i.i.i11.i.i.i.i1017, label %if.then.i.i.i12.i.i.i.i1025, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i1018 + +if.then.i.i.i12.i.i.i.i1025: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1014 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i.i1015, ptr align 4 %std_v440.sroa.0.2, i64 %sub.ptr.sub.i.i.i.i.i.i1001, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i1018 + +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i1018: ; preds = %if.then.i.i.i12.i.i.i.i1025, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i.i1014 + %add.ptr.i.i.i.i.i.i.i1019 = getelementptr inbounds i8, ptr %cond.i10.i.i.i.i1015, i64 %sub.ptr.sub.i.i.i.i.i.i1001 + %tobool.not.i.i.i.i.i1021 = icmp eq ptr %std_v440.sroa.0.2, null + br i1 %tobool.not.i.i.i.i.i1021, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1023, label %if.then.i20.i.i.i.i1022 + +if.then.i20.i.i.i.i1022: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i1018 call void @_ZdlPv(ptr noundef nonnull %std_v440.sroa.0.2) #32 - br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1021 - -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1021: ; preds = %if.then.i21.i.i.i.i1020, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i.i1017 - %add.ptr19.i.i.i.i1022 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i1014, i64 %cond.i.i.i.i.i1009 - br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994 - -_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1021, %if.then.i.i.i992 - %std_v440.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i1014, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1021 ], [ %std_v440.sroa.0.2, %if.then.i.i.i992 ] - %add.ptr.i.i.i.i1015.pn = phi ptr [ %add.ptr.i.i.i.i1015, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1021 ], [ %294, %if.then.i.i.i992 ] - %std_v440.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i1022, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1021 ], [ %std_v440.sroa.24.2, %if.then.i.i.i992 ] - %std_v440.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i1015.pn, i64 1 - %inc.i995 = add nuw nsw i64 %i.05.i989, 1 - %exitcond.not.i996 = icmp eq i64 %inc.i995, %len.03501 - br i1 %exitcond.not.i996, label %invoke.cont442, label %for.body.i988, !llvm.loop !489 - -invoke.cont442: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i994 + br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1023 + +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1023: ; preds = %if.then.i20.i.i.i.i1022, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i.i1018 + %add.ptr19.i.i.i.i1024 = getelementptr inbounds i32, ptr %cond.i10.i.i.i.i1015, i64 %cond.i.i.i.i.i1010 + br label %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995 + +_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1023, %if.then.i.i.i993 + %std_v440.sroa.0.3 = phi ptr [ %cond.i10.i.i.i.i1015, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1023 ], [ %std_v440.sroa.0.2, %if.then.i.i.i993 ] + %add.ptr.i.i.i.i.i.i.i1019.pn = phi ptr [ %add.ptr.i.i.i.i.i.i.i1019, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1023 ], [ %294, %if.then.i.i.i993 ] + %std_v440.sroa.24.3 = phi ptr [ %add.ptr19.i.i.i.i1024, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i.i1023 ], [ %std_v440.sroa.24.2, %if.then.i.i.i993 ] + %std_v440.sroa.11.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i1019.pn, i64 1 + %inc.i996 = add nuw nsw i64 %i.05.i990, 1 + %exitcond.not.i997 = icmp eq i64 %inc.i996, %len.03526 + br i1 %exitcond.not.i997, label %invoke.cont442, label %for.body.i989, !llvm.loop !489 + +invoke.cont442: ; preds = %_ZNSt6vectorIiSaIiEE9push_backEOi.exit.i995 store i64 0, ptr %v443, align 8 - br label %for.body.i1031 + br label %for.body.i1033 -for.body.i1031: ; preds = %invoke.cont442, %call.i.i.i.noexc1036 - %295 = phi i64 [ %storemerge.i1977, %call.i.i.i.noexc1036 ], [ 0, %invoke.cont442 ] - %i.04.i1032 = phi i64 [ %inc.i1034, %call.i.i.i.noexc1036 ], [ 0, %invoke.cont442 ] - %conv.i1033 = trunc i64 %i.04.i1032 to i32 +for.body.i1033: ; preds = %invoke.cont442, %call.i.i.i.noexc1038 + %295 = phi i64 [ %storemerge.i1977, %call.i.i.i.noexc1038 ], [ 0, %invoke.cont442 ] + %i.04.i1034 = phi i64 [ %inc.i1036, %call.i.i.i.noexc1038 ], [ 0, %invoke.cont442 ] + %conv.i1035 = trunc i64 %i.04.i1034 to i32 %and.i.i.i1965 = and i64 %295, 1 %tobool.i.not.i.i1966 = icmp eq i64 %and.i.i.i1965, 0 %296 = load ptr, ptr %data_.i1.i.i1967, align 8 @@ -26896,13 +26888,13 @@ for.body.i1031: ; preds = %invoke.cont442, %ca %cmp.not.i1972 = icmp eq i64 %shr.i.sink.i.i1971, %.sink.i.i1970 br i1 %cmp.not.i1972, label %if.end.i1978, label %if.then.i1973 -if.then.i1973: ; preds = %for.body.i1031 +if.then.i1973: ; preds = %for.body.i1033 %add.ptr.i1974 = getelementptr inbounds i32, ptr %.sink3.i.i1969, i64 %shr.i.sink.i.i1971 - store i32 %conv.i1033, ptr %add.ptr.i1974, align 4 + store i32 %conv.i1035, ptr %add.ptr.i1974, align 4 %298 = load i64, ptr %v443, align 8 - br label %call.i.i.i.noexc1036 + br label %call.i.i.i.noexc1038 -if.end.i1978: ; preds = %for.body.i1031 +if.end.i1978: ; preds = %for.body.i1033 %299 = shl i64 %297, 1 %mul.i.i.i1979 = select i1 %tobool.i.not.i.i1966, i64 16, i64 %299 %cmp.i.i.i.i.i.i1980 = icmp ugt i64 %mul.i.i.i1979, 2305843009213693951 @@ -26933,7 +26925,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit. call5.i.i.i.i5.i.i.noexc2003: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i.i1981 %add.ptr.i.i1983 = getelementptr inbounds i32, ptr %call5.i.i.i.i5.i.i2004, i64 %.sink.i.i1970 - store i32 %conv.i1033, ptr %add.ptr.i.i1983, align 4 + store i32 %conv.i1035, ptr %add.ptr.i.i1983, align 4 %cmp6.not.i.i.i1984 = icmp ult i64 %295, 2 br i1 %cmp6.not.i.i.i1984, label %invoke.cont21.i.i1992, label %for.inc.i.i.i1985 @@ -26961,439 +26953,434 @@ _ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDp store ptr %call5.i.i.i.i5.i.i2004, ptr %data_.i1.i.i1967, align 8 store i64 %mul.i.i.i1979, ptr %allocated_capacity.i.i.i1968, align 8 %or.i.i.i1996 = or i64 %301, 1 - br label %call.i.i.i.noexc1036 + br label %call.i.i.i.noexc1038 -call.i.i.i.noexc1036: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1995, %if.then.i1973 +call.i.i.i.noexc1038: ; preds = %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1995, %if.then.i1973 %storemerge.in.i1975 = phi i64 [ %298, %if.then.i1973 ], [ %or.i.i.i1996, %_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE15EmplaceBackSlowIJiEEERiDpOT_.exit.i1995 ] %storemerge.i1977 = add i64 %storemerge.in.i1975, 2 store i64 %storemerge.i1977, ptr %v443, align 8 - %inc.i1034 = add nuw nsw i64 %i.04.i1032, 1 - %exitcond.not.i1035 = icmp eq i64 %inc.i1034, %len.03501 - br i1 %exitcond.not.i1035, label %invoke.cont445, label %for.body.i1031, !llvm.loop !13 - -invoke.cont445: ; preds = %call.i.i.i.noexc1036, %invoke.cont442.thread - %std_v440.sroa.24.42345 = phi ptr [ null, %invoke.cont442.thread ], [ %std_v440.sroa.24.3, %call.i.i.i.noexc1036 ] - %std_v440.sroa.11.42344 = phi ptr [ null, %invoke.cont442.thread ], [ %std_v440.sroa.11.3, %call.i.i.i.noexc1036 ] - %std_v440.sroa.0.42343 = phi ptr [ null, %invoke.cont442.thread ], [ %std_v440.sroa.0.3, %call.i.i.i.noexc1036 ] - %add.ptr.i1039 = getelementptr inbounds i32, ptr %std_v440.sroa.0.42343, i64 %pos.03500 + %inc.i1036 = add nuw nsw i64 %i.04.i1034, 1 + %exitcond.not.i1037 = icmp eq i64 %inc.i1036, %len.03526 + br i1 %exitcond.not.i1037, label %invoke.cont445, label %for.body.i1033, !llvm.loop !13 + +invoke.cont445: ; preds = %call.i.i.i.noexc1038, %invoke.cont442.thread + %std_v440.sroa.24.42359 = phi ptr [ null, %invoke.cont442.thread ], [ %std_v440.sroa.24.3, %call.i.i.i.noexc1038 ] + %std_v440.sroa.11.42358 = phi ptr [ null, %invoke.cont442.thread ], [ %std_v440.sroa.11.3, %call.i.i.i.noexc1038 ] + %std_v440.sroa.0.42357 = phi ptr [ null, %invoke.cont442.thread ], [ %std_v440.sroa.0.3, %call.i.i.i.noexc1038 ] + %add.ptr.i1041 = getelementptr inbounds i32, ptr %std_v440.sroa.0.42357, i64 %pos.03525 store i32 9999, ptr %ref.tmp454, align 8 store i32 8888, ptr %arrayinit.element456, align 4 - %sub.ptr.lhs.cast.i.i1040 = ptrtoint ptr %add.ptr.i1039 to i64 - %sub.ptr.lhs.cast.i2011 = ptrtoint ptr %std_v440.sroa.24.42345 to i64 - %sub.ptr.rhs.cast.i2012 = ptrtoint ptr %std_v440.sroa.11.42344 to i64 + %sub.ptr.lhs.cast.i.i1042 = ptrtoint ptr %add.ptr.i1041 to i64 + %sub.ptr.lhs.cast.i2011 = ptrtoint ptr %std_v440.sroa.24.42359 to i64 + %sub.ptr.rhs.cast.i2012 = ptrtoint ptr %std_v440.sroa.11.42358 to i64 %sub.ptr.sub.i2013 = sub i64 %sub.ptr.lhs.cast.i2011, %sub.ptr.rhs.cast.i2012 %cmp3.not.i2015 = icmp ult i64 %sub.ptr.sub.i2013, 8 - br i1 %cmp3.not.i2015, label %if.else50.i2059, label %if.then4.i2016 + br i1 %cmp3.not.i2015, label %if.else50.i2063, label %if.then4.i2016 if.then4.i2016: ; preds = %invoke.cont445 - %sub.ptr.sub.i.i2018 = sub i64 %sub.ptr.rhs.cast.i2012, %sub.ptr.lhs.cast.i.i1040 + %sub.ptr.sub.i.i2018 = sub i64 %sub.ptr.rhs.cast.i2012, %sub.ptr.lhs.cast.i.i1042 %sub.ptr.div.i.i2019 = ashr exact i64 %sub.ptr.sub.i.i2018, 2 %cmp10.i2020 = icmp ugt i64 %sub.ptr.div.i.i2019, 2 - br i1 %cmp10.i2020, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i2047, label %_ZSt7advanceIPKimEvRT_T0_.exit.i2028 - -_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i2047: ; preds = %if.then4.i2016 - %add.ptr.i2048 = getelementptr inbounds i32, ptr %std_v440.sroa.11.42344, i64 -2 - %302 = load i64, ptr %add.ptr.i2048, align 4 - store i64 %302, ptr %std_v440.sroa.11.42344, align 4 - %add.ptr22.i2050 = getelementptr inbounds i32, ptr %std_v440.sroa.11.42344, i64 2 - %tobool.not.i.i.i.i.i.i2051 = icmp eq ptr %add.ptr.i2048, %add.ptr.i1039 - br i1 %tobool.not.i.i.i.i.i.i2051, label %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2058, label %if.then.i.i.i.i.i.i2052 - -if.then.i.i.i.i.i.i2052: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i2047 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i2053 = ptrtoint ptr %add.ptr.i2048 to i64 - %sub.ptr.sub.i.i.i.i.i.i2054 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i2053, %sub.ptr.lhs.cast.i.i1040 - %sub.ptr.div.i.i.i.i.i.i2055 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i2054, 2 - %.pre.i.i.i.i.i.i2056 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i2055 - %add.ptr.i.i.i.i.i.i2057 = getelementptr inbounds i32, ptr %std_v440.sroa.11.42344, i64 %.pre.i.i.i.i.i.i2056 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i2057, ptr align 4 %add.ptr.i1039, i64 %sub.ptr.sub.i.i.i.i.i.i2054, i1 false) - br label %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2058 - -_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2058: ; preds = %if.then.i.i.i.i.i.i2052, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i2047 + br i1 %cmp10.i2020, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i2051, label %_ZSt7advanceIPKimEvRT_T0_.exit.i2029 + +_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i2051: ; preds = %if.then4.i2016 + %add.ptr.i2052 = getelementptr inbounds i32, ptr %std_v440.sroa.11.42358, i64 -2 + %302 = load i64, ptr %add.ptr.i2052, align 4 + store i64 %302, ptr %std_v440.sroa.11.42358, align 4 + %add.ptr22.i2054 = getelementptr inbounds i8, ptr %std_v440.sroa.11.42358, i64 8 + %tobool.not.i.i.i.i.i.i2055 = icmp eq ptr %add.ptr.i2052, %add.ptr.i1041 + br i1 %tobool.not.i.i.i.i.i.i2055, label %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2062, label %if.then.i.i.i.i.i.i2056 + +if.then.i.i.i.i.i.i2056: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i2051 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i2057 = ptrtoint ptr %add.ptr.i2052 to i64 + %sub.ptr.sub.i.i.i.i.i.i2058 = sub i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i.i.i2057, %sub.ptr.lhs.cast.i.i1042 + %sub.ptr.div.i.i.i.i.i.i2059 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i2058, 2 + %.pre.i.i.i.i.i.i2060 = sub nsw i64 0, %sub.ptr.div.i.i.i.i.i.i2059 + %add.ptr.i.i.i.i.i.i2061 = getelementptr inbounds i32, ptr %std_v440.sroa.11.42358, i64 %.pre.i.i.i.i.i.i2060 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i2061, ptr align 4 %add.ptr.i1041, i64 %sub.ptr.sub.i.i.i.i.i.i2058, i1 false) + br label %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2062 + +_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2062: ; preds = %if.then.i.i.i.i.i.i2056, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit.i2051 %303 = load i64, ptr %ref.tmp454, align 8 - store i64 %303, ptr %add.ptr.i1039, align 4 + store i64 %303, ptr %add.ptr.i1041, align 4 br label %invoke.cont461 -_ZSt7advanceIPKimEvRT_T0_.exit.i2028: ; preds = %if.then4.i2016 - %tobool.not.i.i.i.i.i.i.i.i.i2031 = icmp eq i64 %sub.ptr.sub.i.i2018, 8 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i2031, label %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036, label %if.then.i.i.i.i.i.i.i.i.i2032 +_ZSt7advanceIPKimEvRT_T0_.exit.i2029: ; preds = %if.then4.i2016 + %tobool.not.i.i.i.i.i.i.i.i.i2032 = icmp eq i64 %sub.ptr.sub.i.i2018, 8 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i2032, label %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036, label %if.then.i.i.i.i.i.i.i.i.i2033 -if.then.i.i.i.i.i.i.i.i.i2032: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit.i2028 - %incdec.ptr.i.i.i2030 = getelementptr inbounds i32, ptr %ref.tmp454, i64 %sub.ptr.div.i.i2019 - %gepdiff2351 = sub nsw i64 8, %sub.ptr.sub.i.i2018 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %std_v440.sroa.11.42344, ptr nonnull align 4 %incdec.ptr.i.i.i2030, i64 %gepdiff2351, i1 false) +if.then.i.i.i.i.i.i.i.i.i2033: ; preds = %_ZSt7advanceIPKimEvRT_T0_.exit.i2029 + %add.ptr.i.i.i2028.ptr = getelementptr inbounds i8, ptr %ref.tmp454, i64 %sub.ptr.sub.i.i2018 + %gepdiff6786 = sub nsw i64 8, %sub.ptr.sub.i.i2018 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %std_v440.sroa.11.42358, ptr nonnull align 4 %add.ptr.i.i.i2028.ptr, i64 %gepdiff6786, i1 false) br label %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036 -_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036: ; preds = %if.then.i.i.i.i.i.i.i.i.i2032, %_ZSt7advanceIPKimEvRT_T0_.exit.i2028 - %.sink.i20294667 = phi i64 [ %sub.ptr.div.i.i2019, %if.then.i.i.i.i.i.i.i.i.i2032 ], [ 2, %_ZSt7advanceIPKimEvRT_T0_.exit.i2028 ] - %tobool.not.i.i.i.i.i.i.i.i.i45.i2039 = icmp eq ptr %std_v440.sroa.11.42344, %add.ptr.i1039 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i45.i2039, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i2042, label %if.then.i.i.i.i.i.i.i.i.i46.i2040 - -if.then.i.i.i.i.i.i.i.i.i46.i2040: ; preds = %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036 - %sub.i2037 = sub nuw nsw i64 2, %sub.ptr.div.i.i2019 - %add.ptr36.i2038 = getelementptr inbounds i32, ptr %std_v440.sroa.11.42344, i64 %sub.i2037 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr36.i2038, ptr align 4 %add.ptr.i1039, i64 %sub.ptr.sub.i.i2018, i1 false) - br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i2042 - -_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i2042: ; preds = %if.then.i.i.i.i.i.i.i.i.i46.i2040, %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036 - %add.ptr44.i2043 = getelementptr inbounds i32, ptr %std_v440.sroa.11.42344, i64 2 - %tobool.not.i.i.i.i.i53.i2044 = icmp eq i64 %.sink.i20294667, 0 - br i1 %tobool.not.i.i.i.i.i53.i2044, label %invoke.cont461, label %if.then.i.i.i.i.i54.i2045 - -if.then.i.i.i.i.i54.i2045: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i2042 - %incdec.ptr.i.i.idx.i2046 = shl nuw nsw i64 %.sink.i20294667, 2 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i1039, ptr nonnull align 8 %ref.tmp454, i64 %incdec.ptr.i.i.idx.i2046, i1 false) +_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036: ; preds = %if.then.i.i.i.i.i.i.i.i.i2033, %_ZSt7advanceIPKimEvRT_T0_.exit.i2029 + %sub.i2037 = sub nsw i64 2, %sub.ptr.div.i.i2019 + %add.ptr36.i2038 = getelementptr inbounds i32, ptr %std_v440.sroa.11.42358, i64 %sub.i2037 + %tobool.not.i.i.i.i.i.i.i.i.i44.i2039 = icmp eq ptr %std_v440.sroa.11.42358, %add.ptr.i1041 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i44.i2039, label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i2042, label %if.then.i.i.i.i.i.i.i.i.i45.i2040 + +if.then.i.i.i.i.i.i.i.i.i45.i2040: ; preds = %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr36.i2038, ptr align 4 %add.ptr.i1041, i64 %sub.ptr.sub.i.i2018, i1 false) + br label %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i2042 + +_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i2042: ; preds = %if.then.i.i.i.i.i.i.i.i.i45.i2040, %_ZSt22__uninitialized_copy_aIPKiPiiET0_T_S4_S3_RSaIT1_E.exit.i2036 + %add.ptr44.i2043 = getelementptr inbounds i8, ptr %add.ptr36.i2038, i64 %sub.ptr.sub.i.i2018 + %tobool.not.i.i.i.i.i51.i2044 = icmp eq ptr %std_v440.sroa.11.42358, %add.ptr.i1041 + br i1 %tobool.not.i.i.i.i.i51.i2044, label %invoke.cont461, label %if.then.i.i.i.i.i52.i2045 + +if.then.i.i.i.i.i52.i2045: ; preds = %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i2042 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %add.ptr.i1041, ptr nonnull align 8 %ref.tmp454, i64 %sub.ptr.sub.i.i2018, i1 false) br label %invoke.cont461 -if.else50.i2059: ; preds = %invoke.cont445 - %sub.ptr.rhs.cast.i.i1041 = ptrtoint ptr %std_v440.sroa.0.42343 to i64 - %sub.ptr.sub.i.i60.i2061 = sub i64 %sub.ptr.rhs.cast.i2012, %sub.ptr.rhs.cast.i.i1041 - %304 = and i64 %sub.ptr.sub.i.i60.i2061, -8 - %cmp.i.i2064 = icmp eq i64 %304, 9223372036854775800 - br i1 %cmp.i.i2064, label %if.then.i.i2095, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2065 +if.else50.i2063: ; preds = %invoke.cont445 + %sub.ptr.rhs.cast.i.i1043 = ptrtoint ptr %std_v440.sroa.0.42357 to i64 + %sub.ptr.sub.i.i57.i2065 = sub i64 %sub.ptr.rhs.cast.i2012, %sub.ptr.rhs.cast.i.i1043 + %304 = and i64 %sub.ptr.sub.i.i57.i2065, -8 + %cmp.i.i2068 = icmp eq i64 %304, 9223372036854775800 + br i1 %cmp.i.i2068, label %if.then.i.i2097, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2069 -if.then.i.i2095: ; preds = %if.else50.i2059 +if.then.i.i2097: ; preds = %if.else50.i2063 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.310) #31 - to label %.noexc2096 unwind label %lpad444.loopexit.split-lp.loopexit.split-lp - -.noexc2096: ; preds = %if.then.i.i2095 - unreachable - -_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2065: ; preds = %if.else50.i2059 - %sub.ptr.div.i.i61.i2062 = ashr exact i64 %sub.ptr.sub.i.i60.i2061, 2 - %.sroa.speculated.i.i2066 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i61.i2062, i64 2) - %add.i.i2067 = add nsw i64 %.sroa.speculated.i.i2066, %sub.ptr.div.i.i61.i2062 - %cmp7.i.i2068 = icmp ult i64 %add.i.i2067, %sub.ptr.div.i.i61.i2062 - %cmp9.i.i2069 = icmp ugt i64 %add.i.i2067, 2305843009213693951 - %or.cond.i.i2070 = or i1 %cmp7.i.i2068, %cmp9.i.i2069 - %cond.i.i2071 = select i1 %or.cond.i.i2070, i64 2305843009213693951, i64 %add.i.i2067 - %cmp.not.i.i2072 = icmp eq i64 %cond.i.i2071, 0 - br i1 %cmp.not.i.i2072, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2075, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2073 - -_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2073: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2065 - %mul.i.i.i.i2074 = shl nuw nsw i64 %cond.i.i2071, 2 - %call5.i.i.i.i2098 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i2074) #33 - to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2075 unwind label %lpad444.loopexit.split-lp.loopexit - -_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2075: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2073, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2065 - %cond.i62.i2076 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2065 ], [ %call5.i.i.i.i2098, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2073 ] - %tobool.not.i.i.i.i.i.i.i.i.i66.i2079 = icmp eq i64 %pos.03500, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i66.i2079, label %invoke.cont61.i2081, label %if.then.i.i.i.i.i.i.i.i.i67.i2080 - -if.then.i.i.i.i.i.i.i.i.i67.i2080: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2075 - call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i62.i2076, ptr align 4 %std_v440.sroa.0.42343, i64 %add.ptr.i216.idx, i1 false) - br label %invoke.cont61.i2081 - -invoke.cont61.i2081: ; preds = %if.then.i.i.i.i.i.i.i.i.i67.i2080, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2075 - %add.ptr.i.i.i.i.i.i.i.i.i69.i2083 = getelementptr inbounds i32, ptr %cond.i62.i2076, i64 %pos.03500 + to label %.noexc2098 unwind label %lpad444.loopexit.split-lp.loopexit.split-lp + +.noexc2098: ; preds = %if.then.i.i2097 + unreachable + +_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2069: ; preds = %if.else50.i2063 + %sub.ptr.div.i.i58.i2066 = ashr exact i64 %sub.ptr.sub.i.i57.i2065, 2 + %.sroa.speculated.i.i2070 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i58.i2066, i64 2) + %add.i.i2071 = add nsw i64 %.sroa.speculated.i.i2070, %sub.ptr.div.i.i58.i2066 + %cmp7.i.i2072 = icmp ult i64 %add.i.i2071, %sub.ptr.div.i.i58.i2066 + %cmp9.i.i2073 = icmp ugt i64 %add.i.i2071, 2305843009213693951 + %or.cond.i.i2074 = or i1 %cmp7.i.i2072, %cmp9.i.i2073 + %cond.i.i2075 = select i1 %or.cond.i.i2074, i64 2305843009213693951, i64 %add.i.i2071 + %cmp.not.i.i2076 = icmp eq i64 %cond.i.i2075, 0 + br i1 %cmp.not.i.i2076, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2079, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2077 + +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2077: ; preds = %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2069 + %mul.i.i.i.i2078 = shl nuw nsw i64 %cond.i.i2075, 2 + %call5.i.i.i.i2100 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i2078) #33 + to label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2079 unwind label %lpad444.loopexit.split-lp.loopexit + +_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2079: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2077, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2069 + %cond.i59.i2080 = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i2069 ], [ %call5.i.i.i.i2100, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2077 ] + %tobool.not.i.i.i.i.i.i.i.i.i63.i2083 = icmp eq i64 %pos.03525, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i63.i2083, label %invoke.cont61.i2085, label %if.then.i.i.i.i.i.i.i.i.i64.i2084 + +if.then.i.i.i.i.i.i.i.i.i64.i2084: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2079 + call void @llvm.memmove.p0.p0.i64(ptr align 4 %cond.i59.i2080, ptr align 4 %std_v440.sroa.0.42357, i64 %add.ptr.idx.pre-phi, i1 false) + br label %invoke.cont61.i2085 + +invoke.cont61.i2085: ; preds = %if.then.i.i.i.i.i.i.i.i.i64.i2084, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i2079 + %add.ptr.i.i.i.i.i.i.i.i.i65.i2086 = getelementptr inbounds i8, ptr %cond.i59.i2080, i64 %add.ptr.idx.pre-phi %305 = load i64, ptr %ref.tmp454, align 8 - store i64 %305, ptr %add.ptr.i.i.i.i.i.i.i.i.i69.i2083, align 4 - %add.ptr.i.i.i.i.i.i.i.i76.i2084 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i.i69.i2083, i64 2 - %sub.ptr.sub.i.i.i.i.i.i.i.i.i80.i2085 = sub i64 %sub.ptr.rhs.cast.i2012, %sub.ptr.lhs.cast.i.i1040 - %tobool.not.i.i.i.i.i.i.i.i.i81.i2086 = icmp eq ptr %std_v440.sroa.11.42344, %add.ptr.i1039 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i81.i2086, label %invoke.cont65.i2088, label %if.then.i.i.i.i.i.i.i.i.i82.i2087 - -if.then.i.i.i.i.i.i.i.i.i82.i2087: ; preds = %invoke.cont61.i2081 - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i76.i2084, ptr align 4 %add.ptr.i1039, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80.i2085, i1 false) - br label %invoke.cont65.i2088 - -invoke.cont65.i2088: ; preds = %if.then.i.i.i.i.i.i.i.i.i82.i2087, %invoke.cont61.i2081 - %sub.ptr.div.i.i.i.i.i.i.i.i.i83.i2089 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i80.i2085, 2 - %add.ptr.i.i.i.i.i.i.i.i.i84.i2090 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.i.i76.i2084, i64 %sub.ptr.div.i.i.i.i.i.i.i.i.i83.i2089 - %tobool.not.i.i2091 = icmp eq ptr %std_v440.sroa.0.42343, null - br i1 %tobool.not.i.i2091, label %invoke.cont461, label %if.then.i86.i2092 - -if.then.i86.i2092: ; preds = %invoke.cont65.i2088 - call void @_ZdlPv(ptr noundef nonnull %std_v440.sroa.0.42343) #32 + store i64 %305, ptr %add.ptr.i.i.i.i.i.i.i.i.i65.i2086, align 4 + %add.ptr.i.i.i.i.i.i.i.i71.i2087 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i.i65.i2086, i64 8 + %sub.ptr.sub.i.i.i.i.i.i.i.i.i75.i2088 = sub i64 %sub.ptr.rhs.cast.i2012, %sub.ptr.lhs.cast.i.i1042 + %tobool.not.i.i.i.i.i.i.i.i.i76.i2089 = icmp eq ptr %std_v440.sroa.11.42358, %add.ptr.i1041 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i76.i2089, label %invoke.cont65.i2091, label %if.then.i.i.i.i.i.i.i.i.i77.i2090 + +if.then.i.i.i.i.i.i.i.i.i77.i2090: ; preds = %invoke.cont61.i2085 + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %add.ptr.i.i.i.i.i.i.i.i71.i2087, ptr align 4 %add.ptr.i1041, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75.i2088, i1 false) + br label %invoke.cont65.i2091 + +invoke.cont65.i2091: ; preds = %if.then.i.i.i.i.i.i.i.i.i77.i2090, %invoke.cont61.i2085 + %add.ptr.i.i.i.i.i.i.i.i.i78.i2092 = getelementptr inbounds i8, ptr %add.ptr.i.i.i.i.i.i.i.i71.i2087, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i.i75.i2088 + %tobool.not.i.i2093 = icmp eq ptr %std_v440.sroa.0.42357, null + br i1 %tobool.not.i.i2093, label %invoke.cont461, label %if.then.i80.i2094 + +if.then.i80.i2094: ; preds = %invoke.cont65.i2091 + call void @_ZdlPv(ptr noundef nonnull %std_v440.sroa.0.42357) #32 br label %invoke.cont461 -invoke.cont461: ; preds = %invoke.cont65.i2088, %if.then.i86.i2092, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2058, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i2042, %if.then.i.i.i.i.i54.i2045 - %std_v440.sroa.0.5 = phi ptr [ %std_v440.sroa.0.42343, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2058 ], [ %std_v440.sroa.0.42343, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i2042 ], [ %std_v440.sroa.0.42343, %if.then.i.i.i.i.i54.i2045 ], [ %cond.i62.i2076, %if.then.i86.i2092 ], [ %cond.i62.i2076, %invoke.cont65.i2088 ] - %std_v440.sroa.11.5 = phi ptr [ %add.ptr22.i2050, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2058 ], [ %add.ptr44.i2043, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit49.i2042 ], [ %add.ptr44.i2043, %if.then.i.i.i.i.i54.i2045 ], [ %add.ptr.i.i.i.i.i.i.i.i.i84.i2090, %if.then.i86.i2092 ], [ %add.ptr.i.i.i.i.i.i.i.i.i84.i2090, %invoke.cont65.i2088 ] +invoke.cont461: ; preds = %invoke.cont65.i2091, %if.then.i80.i2094, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2062, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i2042, %if.then.i.i.i.i.i52.i2045 + %std_v440.sroa.0.5 = phi ptr [ %std_v440.sroa.0.42357, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2062 ], [ %std_v440.sroa.0.42357, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i2042 ], [ %std_v440.sroa.0.42357, %if.then.i.i.i.i.i52.i2045 ], [ %cond.i59.i2080, %if.then.i80.i2094 ], [ %cond.i59.i2080, %invoke.cont65.i2091 ] + %std_v440.sroa.11.5 = phi ptr [ %add.ptr22.i2054, %_ZSt4copyIPKiN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEET0_T_SA_S9_.exit.i2062 ], [ %add.ptr44.i2043, %_ZSt22__uninitialized_move_aIPiS0_SaIiEET0_T_S3_S2_RT1_.exit47.i2042 ], [ %add.ptr44.i2043, %if.then.i.i.i.i.i52.i2045 ], [ %add.ptr.i.i.i.i.i.i.i.i.i78.i2092, %if.then.i80.i2094 ], [ %add.ptr.i.i.i.i.i.i.i.i.i78.i2092, %invoke.cont65.i2091 ] %306 = load i64, ptr %v443, align 8 - %and.i.i.i.i1049 = and i64 %306, 1 - %tobool.i.not.i.i.i1050 = icmp eq i64 %and.i.i.i.i1049, 0 + %and.i.i.i.i1050 = and i64 %306, 1 + %tobool.i.not.i.i.i1051 = icmp eq i64 %and.i.i.i.i1050, 0 %307 = load ptr, ptr %data_.i1.i.i1967, align 8 - %cond.i.i.i1052 = select i1 %tobool.i.not.i.i.i1050, ptr %data_.i1.i.i1967, ptr %307 - %add.ptr467 = getelementptr i32, ptr %cond.i.i.i1052, i64 %pos.03500 + %cond.i.i.i1053 = select i1 %tobool.i.not.i.i.i1051, ptr %data_.i1.i.i1967, ptr %307 + %add.ptr467 = getelementptr i32, ptr %cond.i.i.i1053, i64 %pos.03525 store i32 9999, ptr %ref.tmp469, align 8 store i32 8888, ptr %arrayinit.element471, align 4 %308 = load i64, ptr %allocated_capacity.i.i.i1968, align 8, !noalias !587 - %.sink.i.i2105 = select i1 %tobool.i.not.i.i.i1050, i64 8, i64 %308 - %shr.i.sink.i.i2106 = lshr i64 %306, 1 - %add.i2111 = add nuw nsw i64 %pos.03500, 2 - %add2.i2112 = add nuw i64 %shr.i.sink.i.i2106, 2 - %cmp.i2113 = icmp ugt i64 %add2.i2112, %.sink.i.i2105 - br i1 %cmp.i2113, label %invoke.cont15.i2154, label %if.else.i2114 - -invoke.cont15.i2154: ; preds = %invoke.cont461 - %mul.i.i.i2155 = shl i64 %.sink.i.i2105, 1 - %.sroa.speculated.i.i2156 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i2155, i64 %add2.i2112) - %cmp.i.i.i.i.i2157 = icmp ugt i64 %.sroa.speculated.i.i2156, 2305843009213693951 - br i1 %cmp.i.i.i.i.i2157, label %if.then.i.i.i.i.i2187, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2158 - -if.then.i.i.i.i.i2187: ; preds = %invoke.cont15.i2154 - %cmp2.i.i.i.i.i2188 = icmp ugt i64 %.sroa.speculated.i.i2156, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i2188, label %if.then3.i.i.i.i.i2190, label %if.end.i.i.i.i.i2189 - -if.then3.i.i.i.i.i2190: ; preds = %if.then.i.i.i.i.i2187 + %.sink.i.i2107 = select i1 %tobool.i.not.i.i.i1051, i64 8, i64 %308 + %shr.i.sink.i.i2108 = lshr i64 %306, 1 + %add.i2113 = add nuw nsw i64 %pos.03525, 2 + %add2.i2114 = add nuw i64 %shr.i.sink.i.i2108, 2 + %cmp.i2115 = icmp ugt i64 %add2.i2114, %.sink.i.i2107 + br i1 %cmp.i2115, label %invoke.cont15.i2156, label %if.else.i2116 + +invoke.cont15.i2156: ; preds = %invoke.cont461 + %mul.i.i.i2157 = shl i64 %.sink.i.i2107, 1 + %.sroa.speculated.i.i2158 = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i2157, i64 %add2.i2114) + %cmp.i.i.i.i.i2159 = icmp ugt i64 %.sroa.speculated.i.i2158, 2305843009213693951 + br i1 %cmp.i.i.i.i.i2159, label %if.then.i.i.i.i.i2189, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2160 + +if.then.i.i.i.i.i2189: ; preds = %invoke.cont15.i2156 + %cmp2.i.i.i.i.i2190 = icmp ugt i64 %.sroa.speculated.i.i2158, 4611686018427387903 + br i1 %cmp2.i.i.i.i.i2190, label %if.then3.i.i.i.i.i2192, label %if.end.i.i.i.i.i2191 + +if.then3.i.i.i.i.i2192: ; preds = %if.then.i.i.i.i.i2189 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc2191 unwind label %lpad444.loopexit.split-lp.loopexit.split-lp + to label %.noexc2193 unwind label %lpad444.loopexit.split-lp.loopexit.split-lp -.noexc2191: ; preds = %if.then3.i.i.i.i.i2190 +.noexc2193: ; preds = %if.then3.i.i.i.i.i2192 unreachable -if.end.i.i.i.i.i2189: ; preds = %if.then.i.i.i.i.i2187 +if.end.i.i.i.i.i2191: ; preds = %if.then.i.i.i.i.i2189 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc2192 unwind label %lpad444.loopexit.split-lp.loopexit.split-lp + to label %.noexc2194 unwind label %lpad444.loopexit.split-lp.loopexit.split-lp -.noexc2192: ; preds = %if.end.i.i.i.i.i2189 +.noexc2194: ; preds = %if.end.i.i.i.i.i2191 unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2158: ; preds = %invoke.cont15.i2154 - %mul.i.i.i.i.i2159 = shl nuw nsw i64 %.sroa.speculated.i.i2156, 2 - %call5.i.i.i.i29.i2194 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i2159) #33 - to label %call5.i.i.i.i29.i.noexc2193 unwind label %lpad444.loopexit.split-lp.loopexit +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2160: ; preds = %invoke.cont15.i2156 + %mul.i.i.i.i.i2161 = shl nuw nsw i64 %.sroa.speculated.i.i2158, 2 + %call5.i.i.i.i29.i2196 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i2161) #33 + to label %call5.i.i.i.i29.i.noexc2195 unwind label %lpad444.loopexit.split-lp.loopexit -call5.i.i.i.i29.i.noexc2193: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2158 - %add.ptr.i2160 = getelementptr i32, ptr %call5.i.i.i.i29.i2194, i64 %pos.03500 +call5.i.i.i.i29.i.noexc2195: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2160 + %add.ptr.i2162 = getelementptr i8, ptr %call5.i.i.i.i29.i2196, i64 %add.ptr.idx.pre-phi %309 = load i64, ptr %ref.tmp469, align 8 - store i64 %309, ptr %add.ptr.i2160, align 4 - %cmp6.not.i.i.i2163 = icmp eq i64 %pos.03500, 0 - br i1 %cmp6.not.i.i.i2163, label %invoke.cont21.i2171, label %for.inc.i.i.i2164 - -for.inc.i.i.i2164: ; preds = %call5.i.i.i.i29.i.noexc2193, %for.inc.i.i.i2164 - %move_values.sroa.0.0.i2165 = phi ptr [ %incdec.ptr.i.i.i.i.i2168, %for.inc.i.i.i2164 ], [ %cond.i.i.i1052, %call5.i.i.i.i29.i.noexc2193 ] - %i.07.i.i.i2166 = phi i64 [ %inc.i.i32.i2169, %for.inc.i.i.i2164 ], [ 0, %call5.i.i.i.i29.i.noexc2193 ] - %add.ptr.i.i31.i2167 = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i2194, i64 %i.07.i.i.i2166 - %310 = load i32, ptr %move_values.sroa.0.0.i2165, align 4 - store i32 %310, ptr %add.ptr.i.i31.i2167, align 4 - %incdec.ptr.i.i.i.i.i2168 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i2165, i64 1 - %inc.i.i32.i2169 = add nuw nsw i64 %i.07.i.i.i2166, 1 - %exitcond.not.i.i33.i2170 = icmp eq i64 %inc.i.i32.i2169, %pos.03500 - br i1 %exitcond.not.i.i33.i2170, label %invoke.cont21.i2171, label %for.inc.i.i.i2164, !llvm.loop !12 - -invoke.cont21.i2171: ; preds = %for.inc.i.i.i2164, %call5.i.i.i.i29.i.noexc2193 - %move_values.sroa.0.1.i2172 = phi ptr [ %add.ptr467, %call5.i.i.i.i29.i.noexc2193 ], [ %incdec.ptr.i.i.i.i.i2168, %for.inc.i.i.i2164 ] - %add.ptr23.i2173 = getelementptr i32, ptr %call5.i.i.i.i29.i2194, i64 %add.i2111 - %sub.i2174 = sub nsw i64 %shr.i.sink.i.i2106, %pos.03500 - %cmp6.not.i.i2175 = icmp eq i64 %shr.i.sink.i.i2106, %pos.03500 - br i1 %cmp6.not.i.i2175, label %invoke.cont31.i2182, label %for.inc.i.i2176 - -for.inc.i.i2176: ; preds = %invoke.cont21.i2171, %for.inc.i.i2176 - %move_values.sroa.0.2.i2177 = phi ptr [ %incdec.ptr.i.i.i35.i, %for.inc.i.i2176 ], [ %move_values.sroa.0.1.i2172, %invoke.cont21.i2171 ] - %i.07.i.i2178 = phi i64 [ %inc.i.i2180, %for.inc.i.i2176 ], [ 0, %invoke.cont21.i2171 ] - %add.ptr.i.i2179 = getelementptr inbounds i32, ptr %add.ptr23.i2173, i64 %i.07.i.i2178 - %311 = load i32, ptr %move_values.sroa.0.2.i2177, align 4 - store i32 %311, ptr %add.ptr.i.i2179, align 4 - %incdec.ptr.i.i.i35.i = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i2177, i64 1 - %inc.i.i2180 = add nuw i64 %i.07.i.i2178, 1 - %exitcond.not.i.i2181 = icmp eq i64 %inc.i.i2180, %sub.i2174 - br i1 %exitcond.not.i.i2181, label %invoke.cont31.i2182, label %for.inc.i.i2176, !llvm.loop !12 - -invoke.cont31.i2182: ; preds = %for.inc.i.i2176, %invoke.cont21.i2171 - br i1 %tobool.i.not.i.i.i1050, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2184, label %if.then.i.i2183 - -if.then.i.i2183: ; preds = %invoke.cont31.i2182 + store i64 %309, ptr %add.ptr.i2162, align 4 + %cmp6.not.i.i.i2165 = icmp eq i64 %pos.03525, 0 + br i1 %cmp6.not.i.i.i2165, label %invoke.cont21.i2173, label %for.inc.i.i.i2166 + +for.inc.i.i.i2166: ; preds = %call5.i.i.i.i29.i.noexc2195, %for.inc.i.i.i2166 + %move_values.sroa.0.0.i2167 = phi ptr [ %incdec.ptr.i.i.i.i.i2170, %for.inc.i.i.i2166 ], [ %cond.i.i.i1053, %call5.i.i.i.i29.i.noexc2195 ] + %i.07.i.i.i2168 = phi i64 [ %inc.i.i32.i2171, %for.inc.i.i.i2166 ], [ 0, %call5.i.i.i.i29.i.noexc2195 ] + %add.ptr.i.i31.i2169 = getelementptr inbounds i32, ptr %call5.i.i.i.i29.i2196, i64 %i.07.i.i.i2168 + %310 = load i32, ptr %move_values.sroa.0.0.i2167, align 4 + store i32 %310, ptr %add.ptr.i.i31.i2169, align 4 + %incdec.ptr.i.i.i.i.i2170 = getelementptr inbounds i32, ptr %move_values.sroa.0.0.i2167, i64 1 + %inc.i.i32.i2171 = add nuw nsw i64 %i.07.i.i.i2168, 1 + %exitcond.not.i.i33.i2172 = icmp eq i64 %inc.i.i32.i2171, %pos.03525 + br i1 %exitcond.not.i.i33.i2172, label %invoke.cont21.i2173, label %for.inc.i.i.i2166, !llvm.loop !12 + +invoke.cont21.i2173: ; preds = %for.inc.i.i.i2166, %call5.i.i.i.i29.i.noexc2195 + %move_values.sroa.0.1.i2174 = phi ptr [ %add.ptr467, %call5.i.i.i.i29.i.noexc2195 ], [ %incdec.ptr.i.i.i.i.i2170, %for.inc.i.i.i2166 ] + %add.ptr23.i2175 = getelementptr i32, ptr %call5.i.i.i.i29.i2196, i64 %add.i2113 + %sub.i2176 = sub nsw i64 %shr.i.sink.i.i2108, %pos.03525 + %cmp6.not.i.i2177 = icmp eq i64 %shr.i.sink.i.i2108, %pos.03525 + br i1 %cmp6.not.i.i2177, label %invoke.cont31.i2184, label %for.inc.i.i2178 + +for.inc.i.i2178: ; preds = %invoke.cont21.i2173, %for.inc.i.i2178 + %move_values.sroa.0.2.i2179 = phi ptr [ %incdec.ptr.i.i.i35.i, %for.inc.i.i2178 ], [ %move_values.sroa.0.1.i2174, %invoke.cont21.i2173 ] + %i.07.i.i2180 = phi i64 [ %inc.i.i2182, %for.inc.i.i2178 ], [ 0, %invoke.cont21.i2173 ] + %add.ptr.i.i2181 = getelementptr inbounds i32, ptr %add.ptr23.i2175, i64 %i.07.i.i2180 + %311 = load i32, ptr %move_values.sroa.0.2.i2179, align 4 + store i32 %311, ptr %add.ptr.i.i2181, align 4 + %incdec.ptr.i.i.i35.i = getelementptr inbounds i32, ptr %move_values.sroa.0.2.i2179, i64 1 + %inc.i.i2182 = add nuw i64 %i.07.i.i2180, 1 + %exitcond.not.i.i2183 = icmp eq i64 %inc.i.i2182, %sub.i2176 + br i1 %exitcond.not.i.i2183, label %invoke.cont31.i2184, label %for.inc.i.i2178, !llvm.loop !12 + +invoke.cont31.i2184: ; preds = %for.inc.i.i2178, %invoke.cont21.i2173 + br i1 %tobool.i.not.i.i.i1051, label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2186, label %if.then.i.i2185 + +if.then.i.i2185: ; preds = %invoke.cont31.i2184 call void @_ZdlPv(ptr noundef %307) #32 - br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2184 + br label %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2186 -_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2184: ; preds = %if.then.i.i2183, %invoke.cont31.i2182 - store ptr %call5.i.i.i.i29.i2194, ptr %data_.i1.i.i1967, align 8 - store i64 %.sroa.speculated.i.i2156, ptr %allocated_capacity.i.i.i1968, align 8 - %shl.i.i2185 = shl i64 %add2.i2112, 1 - %or.i.i2186 = or disjoint i64 %shl.i.i2185, 1 +_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2186: ; preds = %if.then.i.i2185, %invoke.cont31.i2184 + store ptr %call5.i.i.i.i29.i2196, ptr %data_.i1.i.i1967, align 8 + store i64 %.sroa.speculated.i.i2158, ptr %allocated_capacity.i.i.i1968, align 8 + %shl.i.i2187 = shl i64 %add2.i2114, 1 + %or.i.i2188 = or disjoint i64 %shl.i.i2187, 1 br label %invoke.cont475 -if.else.i2114: ; preds = %invoke.cont461 - %.sroa.speculated.i2115 = call i64 @llvm.umax.i64(i64 %add.i2111, i64 %shr.i.sink.i.i2106) - %add.ptr50.i2116 = getelementptr i32, ptr %cond.i.i.i1052, i64 %.sroa.speculated.i2115 - %sub51.i2117 = sub i64 %add2.i2112, %.sroa.speculated.i2115 - %add.ptr55.i2119 = getelementptr inbounds i32, ptr %cond.i.i.i1052, i64 %add.i2111 - %sub56.i2120 = sub nsw i64 %.sroa.speculated.i2115, %add.i2111 - %add.ptr60.i2121 = getelementptr i32, ptr %add.ptr467, i64 %sub51.i2117 - %cmp6.not.i.i49.i2123 = icmp eq i64 %pos.03500, %shr.i.sink.i.i2106 - br i1 %cmp6.not.i.i49.i2123, label %invoke.cont65.i2134, label %for.inc.i.i52.preheader.i2124 - -for.inc.i.i52.preheader.i2124: ; preds = %if.else.i2114 - %add.ptr45.i2126 = getelementptr i32, ptr %add.ptr50.i2116, i64 -2 - br label %for.inc.i.i52.i2127 - -for.inc.i.i52.i2127: ; preds = %for.inc.i.i52.i2127, %for.inc.i.i52.preheader.i2124 - %move_construction_values.sroa.0.0.i2128 = phi ptr [ %incdec.ptr.i.i.i.i55.i2131, %for.inc.i.i52.i2127 ], [ %add.ptr45.i2126, %for.inc.i.i52.preheader.i2124 ] - %i.07.i.i53.i2129 = phi i64 [ %inc.i.i56.i2132, %for.inc.i.i52.i2127 ], [ 0, %for.inc.i.i52.preheader.i2124 ] - %add.ptr.i.i54.i2130 = getelementptr inbounds i32, ptr %add.ptr50.i2116, i64 %i.07.i.i53.i2129 - %312 = load i32, ptr %move_construction_values.sroa.0.0.i2128, align 4 - store i32 %312, ptr %add.ptr.i.i54.i2130, align 4 - %incdec.ptr.i.i.i.i55.i2131 = getelementptr inbounds i32, ptr %move_construction_values.sroa.0.0.i2128, i64 1 - %inc.i.i56.i2132 = add nuw i64 %i.07.i.i53.i2129, 1 - %exitcond.not.i.i57.i2133 = icmp eq i64 %inc.i.i56.i2132, %sub51.i2117 - br i1 %exitcond.not.i.i57.i2133, label %invoke.cont65.i2134, label %for.inc.i.i52.i2127, !llvm.loop !12 - -invoke.cont65.i2134: ; preds = %for.inc.i.i52.i2127, %if.else.i2114 - %incdec.ptr113.i = getelementptr inbounds i32, ptr %add.ptr50.i2116, i64 -1 - %cmp73114.i = icmp ult ptr %incdec.ptr113.i, %add.ptr55.i2119 - br i1 %cmp73114.i, label %for.end.i2141, label %if.end.preheader.i2135 - -if.end.preheader.i2135: ; preds = %invoke.cont65.i2134 - %add.ptr71.i2136 = getelementptr inbounds i32, ptr %add.ptr467, i64 %sub56.i2120 - br label %if.end.i2137 - -if.end.i2137: ; preds = %if.end.i2137, %if.end.preheader.i2135 - %incdec.ptr116.i = phi ptr [ %incdec.ptr.i2139, %if.end.i2137 ], [ %incdec.ptr113.i, %if.end.preheader.i2135 ] - %source.0115.i = phi ptr [ %incdec.ptr72.i2138, %if.end.i2137 ], [ %add.ptr71.i2136, %if.end.preheader.i2135 ] - %incdec.ptr72.i2138 = getelementptr inbounds i32, ptr %source.0115.i, i64 -1 - %313 = load i32, ptr %incdec.ptr72.i2138, align 4 +if.else.i2116: ; preds = %invoke.cont461 + %.sroa.speculated.i2117 = call i64 @llvm.umax.i64(i64 %add.i2113, i64 %shr.i.sink.i.i2108) + %add.ptr50.i2118 = getelementptr i32, ptr %cond.i.i.i1053, i64 %.sroa.speculated.i2117 + %sub51.i2119 = sub i64 %add2.i2114, %.sroa.speculated.i2117 + %add.ptr55.i2121 = getelementptr inbounds i32, ptr %cond.i.i.i1053, i64 %add.i2113 + %sub56.i2122 = sub nsw i64 %.sroa.speculated.i2117, %add.i2113 + %add.ptr60.i2123 = getelementptr i32, ptr %add.ptr467, i64 %sub51.i2119 + %cmp6.not.i.i49.i2125 = icmp eq i64 %pos.03525, %shr.i.sink.i.i2108 + br i1 %cmp6.not.i.i49.i2125, label %invoke.cont65.i2136, label %for.inc.i.i52.preheader.i2126 + +for.inc.i.i52.preheader.i2126: ; preds = %if.else.i2116 + %add.ptr45.i2128 = getelementptr i32, ptr %add.ptr50.i2118, i64 -2 + br label %for.inc.i.i52.i2129 + +for.inc.i.i52.i2129: ; preds = %for.inc.i.i52.i2129, %for.inc.i.i52.preheader.i2126 + %move_construction_values.sroa.0.0.i2130 = phi ptr [ %incdec.ptr.i.i.i.i55.i2133, %for.inc.i.i52.i2129 ], [ %add.ptr45.i2128, %for.inc.i.i52.preheader.i2126 ] + %i.07.i.i53.i2131 = phi i64 [ %inc.i.i56.i2134, %for.inc.i.i52.i2129 ], [ 0, %for.inc.i.i52.preheader.i2126 ] + %add.ptr.i.i54.i2132 = getelementptr inbounds i32, ptr %add.ptr50.i2118, i64 %i.07.i.i53.i2131 + %312 = load i32, ptr %move_construction_values.sroa.0.0.i2130, align 4 + store i32 %312, ptr %add.ptr.i.i54.i2132, align 4 + %incdec.ptr.i.i.i.i55.i2133 = getelementptr inbounds i32, ptr %move_construction_values.sroa.0.0.i2130, i64 1 + %inc.i.i56.i2134 = add nuw i64 %i.07.i.i53.i2131, 1 + %exitcond.not.i.i57.i2135 = icmp eq i64 %inc.i.i56.i2134, %sub51.i2119 + br i1 %exitcond.not.i.i57.i2135, label %invoke.cont65.i2136, label %for.inc.i.i52.i2129, !llvm.loop !12 + +invoke.cont65.i2136: ; preds = %for.inc.i.i52.i2129, %if.else.i2116 + %incdec.ptr113.i = getelementptr inbounds i32, ptr %add.ptr50.i2118, i64 -1 + %cmp73114.i = icmp ult ptr %incdec.ptr113.i, %add.ptr55.i2121 + br i1 %cmp73114.i, label %for.end.i2143, label %if.end.preheader.i2137 + +if.end.preheader.i2137: ; preds = %invoke.cont65.i2136 + %add.ptr71.i2138 = getelementptr inbounds i32, ptr %add.ptr467, i64 %sub56.i2122 + br label %if.end.i2139 + +if.end.i2139: ; preds = %if.end.i2139, %if.end.preheader.i2137 + %incdec.ptr116.i = phi ptr [ %incdec.ptr.i2141, %if.end.i2139 ], [ %incdec.ptr113.i, %if.end.preheader.i2137 ] + %source.0115.i = phi ptr [ %incdec.ptr72.i2140, %if.end.i2139 ], [ %add.ptr71.i2138, %if.end.preheader.i2137 ] + %incdec.ptr72.i2140 = getelementptr inbounds i32, ptr %source.0115.i, i64 -1 + %313 = load i32, ptr %incdec.ptr72.i2140, align 4 store i32 %313, ptr %incdec.ptr116.i, align 4 - %incdec.ptr.i2139 = getelementptr inbounds i32, ptr %incdec.ptr116.i, i64 -1 - %cmp73.i2140 = icmp ult ptr %incdec.ptr.i2139, %add.ptr55.i2119 - br i1 %cmp73.i2140, label %for.end.i2141, label %if.end.i2137, !llvm.loop !590 + %incdec.ptr.i2141 = getelementptr inbounds i32, ptr %incdec.ptr116.i, i64 -1 + %cmp73.i2142 = icmp ult ptr %incdec.ptr.i2141, %add.ptr55.i2121 + br i1 %cmp73.i2142, label %for.end.i2143, label %if.end.i2139, !llvm.loop !590 -for.end.i2141: ; preds = %if.end.i2137, %invoke.cont65.i2134 - br i1 %cmp6.not.i.i49.i2123, label %invoke.cont78.i2147, label %for.body.i.i2142.preheader +for.end.i2143: ; preds = %if.end.i2139, %invoke.cont65.i2136 + br i1 %cmp6.not.i.i49.i2125, label %invoke.cont78.i2149, label %for.body.i.i2144.preheader -for.body.i.i2142.preheader: ; preds = %for.end.i2141 - %314 = shl nuw i64 %sub51.i2117, 2 +for.body.i.i2144.preheader: ; preds = %for.end.i2143 + %314 = shl nuw i64 %sub51.i2119, 2 call void @llvm.memcpy.p0.p0.i64(ptr align 4 %add.ptr467, ptr nonnull align 8 %ref.tmp469, i64 %314, i1 false) - %315 = call i64 @llvm.usub.sat.i64(i64 %indvars.iv4597, i64 %shr.i.sink.i.i2106) - %.neg4608 = mul i64 %315, -4 - %scevgep4600 = getelementptr i8, ptr %scevgep4596, i64 %.neg4608 - br label %invoke.cont78.i2147 - -invoke.cont78.i2147: ; preds = %for.body.i.i2142.preheader, %for.end.i2141 - %values.sroa.0.2.i2148 = phi ptr [ %ref.tmp469, %for.end.i2141 ], [ %scevgep4600, %for.body.i.i2142.preheader ] - %cmp3.not.i68.i = icmp eq i64 %sub51.i2117, 2 - br i1 %cmp3.not.i68.i, label %invoke.cont84.i2150, label %for.body.i71.i.preheader - -for.body.i71.i.preheader: ; preds = %invoke.cont78.i2147 - %316 = sub nsw i64 %.sroa.speculated.i2115, %shr.i.sink.i.i2106 + %315 = call i64 @llvm.usub.sat.i64(i64 %indvars.iv4622, i64 %shr.i.sink.i.i2108) + %.neg4634 = mul i64 %315, -4 + %scevgep4625 = getelementptr i8, ptr %scevgep4621, i64 %.neg4634 + br label %invoke.cont78.i2149 + +invoke.cont78.i2149: ; preds = %for.body.i.i2144.preheader, %for.end.i2143 + %values.sroa.0.2.i2150 = phi ptr [ %ref.tmp469, %for.end.i2143 ], [ %scevgep4625, %for.body.i.i2144.preheader ] + %cmp3.not.i68.i = icmp eq i64 %sub51.i2119, 2 + br i1 %cmp3.not.i68.i, label %invoke.cont84.i2152, label %for.body.i71.i.preheader + +for.body.i71.i.preheader: ; preds = %invoke.cont78.i2149 + %316 = sub nsw i64 %.sroa.speculated.i2117, %shr.i.sink.i.i2108 %317 = shl i64 %316, 2 - call void @llvm.memcpy.p0.p0.i64(ptr align 4 %add.ptr60.i2121, ptr align 4 %values.sroa.0.2.i2148, i64 %317, i1 false) - br label %invoke.cont84.i2150 + call void @llvm.memcpy.p0.p0.i64(ptr align 4 %add.ptr60.i2123, ptr align 4 %values.sroa.0.2.i2150, i64 %317, i1 false) + br label %invoke.cont84.i2152 -invoke.cont84.i2150: ; preds = %for.body.i71.i.preheader, %invoke.cont78.i2147 +invoke.cont84.i2152: ; preds = %for.body.i71.i.preheader, %invoke.cont78.i2149 %318 = load i64, ptr %v443, align 8 - %add.i.i2151 = add i64 %318, 4 + %add.i.i2153 = add i64 %318, 4 br label %invoke.cont475 -invoke.cont475: ; preds = %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2184, %invoke.cont84.i2150 - %storemerge.i2152 = phi i64 [ %add.i.i2151, %invoke.cont84.i2150 ], [ %or.i.i2186, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2184 ] - %retval.0.i2153 = phi ptr [ %add.ptr467, %invoke.cont84.i2150 ], [ %add.ptr.i2160, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2184 ] - store i64 %storemerge.i2152, ptr %v443, align 8 - store ptr %retval.0.i2153, ptr %it465, align 8 - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i1056 = ptrtoint ptr %std_v440.sroa.11.5 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i1057 = ptrtoint ptr %std_v440.sroa.0.5 to i64 - %sub.ptr.sub.i.i.i.i.i.i.i.i1058 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i1056, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i1057 - %cmp.i.i.i.i.i.i1060 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1058, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i1060, label %if.then.i.i.i.i.i.i1067, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i1061 - -if.then.i.i.i.i.i.i1067: ; preds = %invoke.cont475 +invoke.cont475: ; preds = %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2186, %invoke.cont84.i2152 + %storemerge.i2154 = phi i64 [ %add.i.i2153, %invoke.cont84.i2152 ], [ %or.i.i2188, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2186 ] + %retval.0.i2155 = phi ptr [ %add.ptr467, %invoke.cont84.i2152 ], [ %add.ptr.i2162, %_ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit.i2186 ] + store i64 %storemerge.i2154, ptr %v443, align 8 + store ptr %retval.0.i2155, ptr %it465, align 8 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i1057 = ptrtoint ptr %std_v440.sroa.11.5 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i1058 = ptrtoint ptr %std_v440.sroa.0.5 to i64 + %sub.ptr.sub.i.i.i.i.i.i.i.i1059 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i1057, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i1058 + %cmp.i.i.i.i.i.i1060 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1059, 9223372036854775804 + br i1 %cmp.i.i.i.i.i.i1060, label %if.then.i.i.i.i.i.i1068, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i1061 + +if.then.i.i.i.i.i.i1068: ; preds = %invoke.cont475 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc1068 unwind label %lpad444.loopexit.split-lp.loopexit.split-lp + to label %.noexc1069 unwind label %lpad444.loopexit.split-lp.loopexit.split-lp -.noexc1068: ; preds = %if.then.i.i.i.i.i.i1067 +.noexc1069: ; preds = %if.then.i.i.i.i.i.i1068 unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i1061: ; preds = %invoke.cont475 %cmp.not.i.i.i.i.i.i1062 = icmp eq ptr %std_v440.sroa.11.5, %std_v440.sroa.0.5 - br i1 %cmp.not.i.i.i.i.i.i1062, label %invoke.cont.thread.i1088, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063 + br i1 %cmp.not.i.i.i.i.i.i1062, label %invoke.cont.thread.i1089, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063 if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i1061 - %call5.i.i.i.i1.i.i.i.i1070 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i1058) #33 - to label %cond.true.i.i.i.i.i.i.i1079 unwind label %lpad444.loopexit.split-lp.loopexit + %call5.i.i.i.i1.i.i.i.i1071 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i1059) #33 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i1080 unwind label %lpad444.loopexit.split-lp.loopexit -invoke.cont.thread.i1088: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i1061 - %sub.ptr.div.i.i.i.i19.i1089 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1058, 2 - %add.ptr.i.i.i.i.i14.i1091 = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i19.i1089 +invoke.cont.thread.i1089: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i1061 + %add.ptr.i.i.i.i.i14.i1091 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1059 store i64 0, ptr %ref.tmp478, align 8, !alias.scope !591 store ptr %add.ptr.i.i.i.i.i14.i1091, ptr %_M_end_of_storage.i.i.i.i.i.i1086, align 8, !alias.scope !591 br label %invoke.cont482 -cond.true.i.i.i.i.i.i.i1079: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i1070, ptr align 4 %std_v440.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1058, i1 false), !noalias !594 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i1080: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i1071, ptr align 4 %std_v440.sroa.0.5, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1059, i1 false), !noalias !594 call void @llvm.experimental.noalias.scope.decl(metadata !591) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp478, i8 0, i64 24, i1 false), !alias.scope !591 - %call5.i.i.i.i2.i6.i.i.i2.i1080 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i1058) #33 - to label %if.then.i.i.i.i.i1082 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1081, !noalias !591 + %call5.i.i.i.i2.i6.i.i.i2.i1081 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i.i.i1059) #33 + to label %if.then.i.i.i.i.i1083 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1082, !noalias !591 -if.then.i.i.i.i.i1082: ; preds = %cond.true.i.i.i.i.i.i.i1079 - %sub.ptr.div.i.i.i.i.i1083 = lshr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1058, 2 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i1080, ptr %ref.tmp478, align 8, !alias.scope !591 - %add.ptr.i.i.i.i.i.i1085 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i1080, i64 %sub.ptr.div.i.i.i.i.i1083 +if.then.i.i.i.i.i1083: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i1080 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i1081, ptr %ref.tmp478, align 8, !alias.scope !591 + %add.ptr.i.i.i.i.i.i1085 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i1081, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1059 store ptr %add.ptr.i.i.i.i.i.i1085, ptr %_M_end_of_storage.i.i.i.i.i.i1086, align 8, !alias.scope !591 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i1080, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i1070, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1058, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i1081, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i1071, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i1059, i1 false) br label %invoke.cont482 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1081: ; preds = %cond.true.i.i.i.i.i.i.i1079 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1082: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i1080 %319 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i1118 + br label %if.then.i.i.i.i1119 -invoke.cont482: ; preds = %if.then.i.i.i.i.i1082, %invoke.cont.thread.i1088 - %storemerge5756 = phi ptr [ %add.ptr.i.i.i.i.i.i1085, %if.then.i.i.i.i.i1082 ], [ %add.ptr.i.i.i.i.i14.i1091, %invoke.cont.thread.i1088 ] - %agg.tmp479.sroa.0.24669 = phi ptr [ %call5.i.i.i.i1.i.i.i.i1070, %if.then.i.i.i.i.i1082 ], [ null, %invoke.cont.thread.i1088 ] - store ptr %storemerge5756, ptr %_M_finish.i.i.i.i.i.i1084, align 8, !alias.scope !591 +invoke.cont482: ; preds = %if.then.i.i.i.i.i1083, %invoke.cont.thread.i1089 + %storemerge5768 = phi ptr [ %add.ptr.i.i.i.i.i.i1085, %if.then.i.i.i.i.i1083 ], [ %add.ptr.i.i.i.i.i14.i1091, %invoke.cont.thread.i1089 ] + %agg.tmp479.sroa.0.24681 = phi ptr [ %call5.i.i.i.i1.i.i.i.i1071, %if.then.i.i.i.i.i1083 ], [ null, %invoke.cont.thread.i1089 ] + store ptr %storemerge5768, ptr %_M_finish.i.i.i.i.i.i1084, align 8, !alias.scope !591 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm8ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar477, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp478, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(40) %v443) to label %invoke.cont484 unwind label %lpad483 invoke.cont484: ; preds = %invoke.cont482 %320 = load ptr, ptr %ref.tmp478, align 8 - %tobool.not.i.i.i.i.i1098 = icmp eq ptr %320, null - br i1 %tobool.not.i.i.i.i.i1098, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1100, label %if.then.i.i.i.i.i1099 + %tobool.not.i.i.i.i.i1099 = icmp eq ptr %320, null + br i1 %tobool.not.i.i.i.i.i1099, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1101, label %if.then.i.i.i.i.i1100 -if.then.i.i.i.i.i1099: ; preds = %invoke.cont484 +if.then.i.i.i.i.i1100: ; preds = %invoke.cont484 call void @_ZdlPv(ptr noundef nonnull %320) #32 - br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1100 + br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1101 -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1100: ; preds = %invoke.cont484, %if.then.i.i.i.i.i1099 - %tobool.not.i.i.i.i1101 = icmp eq ptr %agg.tmp479.sroa.0.24669, null - br i1 %tobool.not.i.i.i.i1101, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1103, label %if.then.i.i.i.i1102 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1101: ; preds = %invoke.cont484, %if.then.i.i.i.i.i1100 + %tobool.not.i.i.i.i1102 = icmp eq ptr %agg.tmp479.sroa.0.24681, null + br i1 %tobool.not.i.i.i.i1102, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1104, label %if.then.i.i.i.i1103 -if.then.i.i.i.i1102: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1100 - call void @_ZdlPv(ptr noundef nonnull %agg.tmp479.sroa.0.24669) #32 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1103 +if.then.i.i.i.i1103: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1101 + call void @_ZdlPv(ptr noundef nonnull %agg.tmp479.sroa.0.24681) #32 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1104 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1103: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1100, %if.then.i.i.i.i1102 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1104: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit1101, %if.then.i.i.i.i1103 %321 = load i8, ptr %gtest_ar477, align 8 %322 = and i8 %321, 1 - %tobool.i1104.not = icmp eq i8 %322, 0 - br i1 %tobool.i1104.not, label %if.else489, label %if.end502 + %tobool.i1105.not = icmp eq i8 %322, 0 + br i1 %tobool.i1105.not, label %if.else489, label %if.end502 -ehcleanup436: ; preds = %_ZN7testing7MessageD2Ev.exit969, %lpad424 - %.pn83.pn = phi { ptr, i32 } [ %.pn83, %_ZN7testing7MessageD2Ev.exit969 ], [ %286, %lpad424 ] +ehcleanup436: ; preds = %_ZN7testing7MessageD2Ev.exit970, %lpad424 + %.pn83.pn = phi { ptr, i32 } [ %.pn83, %_ZN7testing7MessageD2Ev.exit970 ], [ %286, %lpad424 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar415) #29 br label %ehcleanup437 -ehcleanup437: ; preds = %lpad383.loopexit, %lpad383.loopexit.split-lp.loopexit.split-lp, %lpad383.loopexit.split-lp.loopexit, %if.then.i.i.i.i921, %ehcleanup397, %ehcleanup436, %ehcleanup414 - %.pn83.pn.pn = phi { ptr, i32 } [ %.pn83.pn, %ehcleanup436 ], [ %.pn80.pn, %ehcleanup414 ], [ %267, %ehcleanup397 ], [ %.pn784662, %if.then.i.i.i.i921 ], [ %lpad.loopexit2356, %lpad383.loopexit ], [ %lpad.loopexit2412, %lpad383.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2413, %lpad383.loopexit.split-lp.loopexit.split-lp ] +ehcleanup437: ; preds = %lpad383.loopexit, %lpad383.loopexit.split-lp.loopexit.split-lp, %lpad383.loopexit.split-lp.loopexit, %if.then.i.i.i.i922, %ehcleanup397, %ehcleanup436, %ehcleanup414 + %.pn83.pn.pn = phi { ptr, i32 } [ %.pn83.pn, %ehcleanup436 ], [ %.pn80.pn, %ehcleanup414 ], [ %267, %ehcleanup397 ], [ %.pn784679, %if.then.i.i.i.i922 ], [ %lpad.loopexit2381, %lpad383.loopexit ], [ %lpad.loopexit2437, %lpad383.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2438, %lpad383.loopexit.split-lp.loopexit.split-lp ] call void @_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(120) %input370) #29 br label %ehcleanup438 ehcleanup438: ; preds = %lpad348.loopexit, %lpad348.loopexit.split-lp.loopexit.split-lp, %lpad348.loopexit.split-lp.loopexit, %ehcleanup437, %ehcleanup378 - %std_v344.sroa.0.6 = phi ptr [ %std_v344.sroa.0.5, %ehcleanup437 ], [ %std_v344.sroa.0.5, %ehcleanup378 ], [ %std_v344.sroa.0.3, %lpad348.loopexit ], [ %std_v344.sroa.0.42336, %lpad348.loopexit.split-lp.loopexit ], [ %std_v344.sroa.0.42337.ph.ph, %lpad348.loopexit.split-lp.loopexit.split-lp ] - %.pn83.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn, %ehcleanup437 ], [ %.pn76, %ehcleanup378 ], [ %lpad.loopexit2359, %lpad348.loopexit ], [ %lpad.loopexit2409, %lpad348.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2410, %lpad348.loopexit.split-lp.loopexit.split-lp ] + %std_v344.sroa.0.6 = phi ptr [ %std_v344.sroa.0.5, %ehcleanup437 ], [ %std_v344.sroa.0.5, %ehcleanup378 ], [ %std_v344.sroa.0.3, %lpad348.loopexit ], [ %std_v344.sroa.0.42343, %lpad348.loopexit.split-lp.loopexit ], [ %std_v344.sroa.0.42344.ph.ph, %lpad348.loopexit.split-lp.loopexit.split-lp ] + %.pn83.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn, %ehcleanup437 ], [ %.pn76, %ehcleanup378 ], [ %lpad.loopexit2384, %lpad348.loopexit ], [ %lpad.loopexit2434, %lpad348.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2435, %lpad348.loopexit.split-lp.loopexit.split-lp ] %323 = load i64, ptr %v347, align 8 - %and.i.i.i.i1105 = and i64 %323, 1 - %tobool.i.not.i.i.i1106 = icmp eq i64 %and.i.i.i.i1105, 0 - br i1 %tobool.i.not.i.i.i1106, label %ehcleanup439, label %if.then.i.i.i1107 + %and.i.i.i.i1106 = and i64 %323, 1 + %tobool.i.not.i.i.i1107 = icmp eq i64 %and.i.i.i.i1106, 0 + br i1 %tobool.i.not.i.i.i1107, label %ehcleanup439, label %if.then.i.i.i1108 -if.then.i.i.i1107: ; preds = %ehcleanup438 - %324 = load ptr, ptr %data_.i1.i.i1758, align 8 +if.then.i.i.i1108: ; preds = %ehcleanup438 + %324 = load ptr, ptr %data_.i1.i.i1754, align 8 call void @_ZdlPv(ptr noundef %324) #32 br label %ehcleanup439 -ehcleanup439: ; preds = %lpad345.loopexit, %lpad345.loopexit.split-lp, %if.then.i.i.i1107, %ehcleanup438 - %std_v344.sroa.0.7 = phi ptr [ %std_v344.sroa.0.6, %ehcleanup438 ], [ %std_v344.sroa.0.6, %if.then.i.i.i1107 ], [ %std_v344.sroa.0.2, %lpad345.loopexit ], [ %std_v344.sroa.0.2, %lpad345.loopexit.split-lp ] - %.pn83.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn, %ehcleanup438 ], [ %.pn83.pn.pn.pn, %if.then.i.i.i1107 ], [ %lpad.loopexit2362, %lpad345.loopexit ], [ %lpad.loopexit.split-lp2363, %lpad345.loopexit.split-lp ] - %tobool.not.i.i.i1110 = icmp eq ptr %std_v344.sroa.0.7, null - br i1 %tobool.not.i.i.i1110, label %eh.resume, label %eh.resume.sink.split +ehcleanup439: ; preds = %lpad345.loopexit, %lpad345.loopexit.split-lp, %if.then.i.i.i1108, %ehcleanup438 + %std_v344.sroa.0.7 = phi ptr [ %std_v344.sroa.0.6, %ehcleanup438 ], [ %std_v344.sroa.0.6, %if.then.i.i.i1108 ], [ %std_v344.sroa.0.2, %lpad345.loopexit ], [ %std_v344.sroa.0.2, %lpad345.loopexit.split-lp ] + %.pn83.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn83.pn.pn.pn, %ehcleanup438 ], [ %.pn83.pn.pn.pn, %if.then.i.i.i1108 ], [ %lpad.loopexit2387, %lpad345.loopexit ], [ %lpad.loopexit.split-lp2388, %lpad345.loopexit.split-lp ] + %tobool.not.i.i.i1111 = icmp eq ptr %std_v344.sroa.0.7, null + br i1 %tobool.not.i.i.i1111, label %eh.resume, label %eh.resume.sink.split -lpad441.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1011 - %lpad.loopexit2353 = landingpad { ptr, i32 } +lpad441.loopexit: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i1012 + %lpad.loopexit2378 = landingpad { ptr, i32 } cleanup br label %ehcleanup527 -lpad441.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i1024 - %lpad.loopexit.split-lp2354 = landingpad { ptr, i32 } +lpad441.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i1026 + %lpad.loopexit.split-lp2379 = landingpad { ptr, i32 } cleanup br label %ehcleanup527 @@ -27402,15 +27389,15 @@ lpad444.loopexit: ; preds = %_ZN4absl23inlined_v cleanup br label %ehcleanup526 -lpad444.loopexit.split-lp.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2158, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2073, %if.end.i.i1145, %if.then.i.i1146, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063 - %std_v440.sroa.0.6.ph.ph = phi ptr [ %std_v440.sroa.0.5, %if.then.i.i1146 ], [ %std_v440.sroa.0.5, %if.end.i.i1145 ], [ %std_v440.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063 ], [ %std_v440.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2158 ], [ %std_v440.sroa.0.42343, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2073 ] - %lpad.loopexit2416 = landingpad { ptr, i32 } +lpad444.loopexit.split-lp.loopexit: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2160, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2077, %if.end.i.i1146, %if.then.i.i1147, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063 + %std_v440.sroa.0.6.ph.ph = phi ptr [ %std_v440.sroa.0.5, %if.then.i.i1147 ], [ %std_v440.sroa.0.5, %if.end.i.i1146 ], [ %std_v440.sroa.0.5, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i1063 ], [ %std_v440.sroa.0.5, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i2160 ], [ %std_v440.sroa.0.42357, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i2077 ] + %lpad.loopexit2441 = landingpad { ptr, i32 } cleanup br label %ehcleanup526 -lpad444.loopexit.split-lp.loopexit.split-lp: ; preds = %if.end.i.i.i.i.i2189, %if.then3.i.i.i.i.i2190, %if.then.i.i2095, %if.end.i.i.i.i.i.i1999, %if.then3.i.i.i.i.i.i2000, %if.then.i.i.i.i.i.i1067 - %std_v440.sroa.0.6.ph.ph2415 = phi ptr [ %std_v440.sroa.0.42343, %if.then.i.i2095 ], [ %std_v440.sroa.0.5, %if.then3.i.i.i.i.i2190 ], [ %std_v440.sroa.0.5, %if.end.i.i.i.i.i2189 ], [ %std_v440.sroa.0.5, %if.then.i.i.i.i.i.i1067 ], [ %std_v440.sroa.0.3, %if.then3.i.i.i.i.i.i2000 ], [ %std_v440.sroa.0.3, %if.end.i.i.i.i.i.i1999 ] - %lpad.loopexit.split-lp2417 = landingpad { ptr, i32 } +lpad444.loopexit.split-lp.loopexit.split-lp: ; preds = %if.end.i.i.i.i.i2191, %if.then3.i.i.i.i.i2192, %if.then.i.i2097, %if.end.i.i.i.i.i.i1999, %if.then3.i.i.i.i.i.i2000, %if.then.i.i.i.i.i.i1068 + %std_v440.sroa.0.6.ph.ph2440 = phi ptr [ %std_v440.sroa.0.42357, %if.then.i.i2097 ], [ %std_v440.sroa.0.5, %if.then3.i.i.i.i.i2192 ], [ %std_v440.sroa.0.5, %if.end.i.i.i.i.i2191 ], [ %std_v440.sroa.0.5, %if.then.i.i.i.i.i.i1068 ], [ %std_v440.sroa.0.3, %if.then3.i.i.i.i.i.i2000 ], [ %std_v440.sroa.0.3, %if.end.i.i.i.i.i.i1999 ] + %lpad.loopexit.split-lp2442 = landingpad { ptr, i32 } cleanup br label %ehcleanup526 @@ -27418,39 +27405,39 @@ lpad483: ; preds = %invoke.cont482 %325 = landingpad { ptr, i32 } cleanup %326 = load ptr, ptr %ref.tmp478, align 8 - %tobool.not.i.i.i.i.i1114 = icmp eq ptr %326, null - br i1 %tobool.not.i.i.i.i.i1114, label %ehcleanup486, label %if.then.i.i.i.i.i1115 + %tobool.not.i.i.i.i.i1115 = icmp eq ptr %326, null + br i1 %tobool.not.i.i.i.i.i1115, label %ehcleanup486, label %if.then.i.i.i.i.i1116 -if.then.i.i.i.i.i1115: ; preds = %lpad483 +if.then.i.i.i.i.i1116: ; preds = %lpad483 call void @_ZdlPv(ptr noundef nonnull %326) #32 br label %ehcleanup486 -ehcleanup486: ; preds = %if.then.i.i.i.i.i1115, %lpad483 - %tobool.not.i.i.i.i1117 = icmp eq ptr %agg.tmp479.sroa.0.24669, null - br i1 %tobool.not.i.i.i.i1117, label %ehcleanup526, label %if.then.i.i.i.i1118 +ehcleanup486: ; preds = %if.then.i.i.i.i.i1116, %lpad483 + %tobool.not.i.i.i.i1118 = icmp eq ptr %agg.tmp479.sroa.0.24681, null + br i1 %tobool.not.i.i.i.i1118, label %ehcleanup526, label %if.then.i.i.i.i1119 -if.then.i.i.i.i1118: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1081, %ehcleanup486 - %.pn894676 = phi { ptr, i32 } [ %325, %ehcleanup486 ], [ %319, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1081 ] - %agg.tmp479.sroa.0.246714675 = phi ptr [ %agg.tmp479.sroa.0.24669, %ehcleanup486 ], [ %call5.i.i.i.i1.i.i.i.i1070, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1081 ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp479.sroa.0.246714675) #32 +if.then.i.i.i.i1119: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1082, %ehcleanup486 + %.pn894688 = phi { ptr, i32 } [ %325, %ehcleanup486 ], [ %319, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1082 ] + %agg.tmp479.sroa.0.246834687 = phi ptr [ %agg.tmp479.sroa.0.24681, %ehcleanup486 ], [ %call5.i.i.i.i1.i.i.i.i1071, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i1082 ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp479.sroa.0.246834687) #32 br label %ehcleanup526 -if.else489: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1103 +if.else489: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1104 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp490) to label %invoke.cont492 unwind label %lpad491 invoke.cont492: ; preds = %if.else489 - %327 = load ptr, ptr %message_.i.i1120, align 8 - %cmp.i.i.not.i.i1121 = icmp eq ptr %327, null - br i1 %cmp.i.i.not.i.i1121, label %invoke.cont495, label %cond.true.i.i1122 + %327 = load ptr, ptr %message_.i.i1121, align 8 + %cmp.i.i.not.i.i1122 = icmp eq ptr %327, null + br i1 %cmp.i.i.not.i.i1122, label %invoke.cont495, label %cond.true.i.i1123 -cond.true.i.i1122: ; preds = %invoke.cont492 - %call4.i.i1123 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %327) #29 +cond.true.i.i1123: ; preds = %invoke.cont492 + %call4.i.i1124 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %327) #29 br label %invoke.cont495 -invoke.cont495: ; preds = %cond.true.i.i1122, %invoke.cont492 - %cond.i.i1124 = phi ptr [ %call4.i.i1123, %cond.true.i.i1122 ], [ @.str.202, %invoke.cont492 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp493, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 565, ptr noundef %cond.i.i1124) +invoke.cont495: ; preds = %cond.true.i.i1123, %invoke.cont492 + %cond.i.i1125 = phi ptr [ %call4.i.i1124, %cond.true.i.i1123 ], [ @.str.202, %invoke.cont492 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp493, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 565, ptr noundef %cond.i.i1125) to label %invoke.cont497 unwind label %lpad494 invoke.cont497: ; preds = %invoke.cont495 @@ -27460,17 +27447,17 @@ invoke.cont497: ; preds = %invoke.cont495 invoke.cont499: ; preds = %invoke.cont497 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp493) #29 %328 = load ptr, ptr %ref.tmp490, align 8 - %cmp.not.i.i1126 = icmp eq ptr %328, null - br i1 %cmp.not.i.i1126, label %_ZN7testing7MessageD2Ev.exit1130, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1127 + %cmp.not.i.i1127 = icmp eq ptr %328, null + br i1 %cmp.not.i.i1127, label %_ZN7testing7MessageD2Ev.exit1131, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1128 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1127: ; preds = %invoke.cont499 - %vtable.i.i.i1128 = load ptr, ptr %328, align 8 - %vfn.i.i.i1129 = getelementptr inbounds ptr, ptr %vtable.i.i.i1128, i64 1 - %329 = load ptr, ptr %vfn.i.i.i1129, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1128: ; preds = %invoke.cont499 + %vtable.i.i.i1129 = load ptr, ptr %328, align 8 + %vfn.i.i.i1130 = getelementptr inbounds ptr, ptr %vtable.i.i.i1129, i64 1 + %329 = load ptr, ptr %vfn.i.i.i1130, align 8 call void %329(ptr noundef nonnull align 8 dereferenceable(128) %328) #29 - br label %_ZN7testing7MessageD2Ev.exit1130 + br label %_ZN7testing7MessageD2Ev.exit1131 -_ZN7testing7MessageD2Ev.exit1130: ; preds = %invoke.cont499, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1127 +_ZN7testing7MessageD2Ev.exit1131: ; preds = %invoke.cont499, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1128 store ptr null, ptr %ref.tmp490, align 8 br label %if.end502 @@ -27493,59 +27480,59 @@ lpad498: ; preds = %invoke.cont497 ehcleanup501: ; preds = %lpad498, %lpad494 %.pn91 = phi { ptr, i32 } [ %332, %lpad498 ], [ %331, %lpad494 ] %333 = load ptr, ptr %ref.tmp490, align 8 - %cmp.not.i.i1131 = icmp eq ptr %333, null - br i1 %cmp.not.i.i1131, label %_ZN7testing7MessageD2Ev.exit1135, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1132 + %cmp.not.i.i1132 = icmp eq ptr %333, null + br i1 %cmp.not.i.i1132, label %_ZN7testing7MessageD2Ev.exit1136, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1133 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1132: ; preds = %ehcleanup501 - %vtable.i.i.i1133 = load ptr, ptr %333, align 8 - %vfn.i.i.i1134 = getelementptr inbounds ptr, ptr %vtable.i.i.i1133, i64 1 - %334 = load ptr, ptr %vfn.i.i.i1134, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1133: ; preds = %ehcleanup501 + %vtable.i.i.i1134 = load ptr, ptr %333, align 8 + %vfn.i.i.i1135 = getelementptr inbounds ptr, ptr %vtable.i.i.i1134, i64 1 + %334 = load ptr, ptr %vfn.i.i.i1135, align 8 call void %334(ptr noundef nonnull align 8 dereferenceable(128) %333) #29 - br label %_ZN7testing7MessageD2Ev.exit1135 + br label %_ZN7testing7MessageD2Ev.exit1136 -_ZN7testing7MessageD2Ev.exit1135: ; preds = %ehcleanup501, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1132 +_ZN7testing7MessageD2Ev.exit1136: ; preds = %ehcleanup501, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1133 store ptr null, ptr %ref.tmp490, align 8 br label %ehcleanup503 -if.end502: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1103, %_ZN7testing7MessageD2Ev.exit1130 - %335 = load ptr, ptr %message_.i.i1120, align 8 - %cmp.not.i.i1137 = icmp eq ptr %335, null - br i1 %cmp.not.i.i1137, label %_ZN7testing15AssertionResultD2Ev.exit1139, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1138 +if.end502: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit1104, %_ZN7testing7MessageD2Ev.exit1131 + %335 = load ptr, ptr %message_.i.i1121, align 8 + %cmp.not.i.i1138 = icmp eq ptr %335, null + br i1 %cmp.not.i.i1138, label %_ZN7testing15AssertionResultD2Ev.exit1140, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1139 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1138: ; preds = %if.end502 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1139: ; preds = %if.end502 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %335) #29 call void @_ZdlPv(ptr noundef nonnull %335) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit1139 + br label %_ZN7testing15AssertionResultD2Ev.exit1140 -_ZN7testing15AssertionResultD2Ev.exit1139: ; preds = %if.end502, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1138 - store ptr null, ptr %message_.i.i1120, align 8 +_ZN7testing15AssertionResultD2Ev.exit1140: ; preds = %if.end502, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1139 + store ptr null, ptr %message_.i.i1121, align 8 %336 = load i64, ptr %v443, align 8 - %and.i.i.i.i1140 = and i64 %336, 1 - %tobool.i.not.i.i.i1141 = icmp eq i64 %and.i.i.i.i1140, 0 + %and.i.i.i.i1141 = and i64 %336, 1 + %tobool.i.not.i.i.i1142 = icmp eq i64 %and.i.i.i.i1141, 0 %337 = load ptr, ptr %data_.i1.i.i1967, align 8 - %cond.i.i.i1143 = select i1 %tobool.i.not.i.i.i1141, ptr %data_.i1.i.i1967, ptr %337 - %add.ptr507 = getelementptr inbounds i32, ptr %cond.i.i.i1143, i64 %pos.03500 + %cond.i.i.i1144 = select i1 %tobool.i.not.i.i.i1142, ptr %data_.i1.i.i1967, ptr %337 + %add.ptr507 = getelementptr inbounds i32, ptr %cond.i.i.i1144, i64 %pos.03525 store ptr %add.ptr507, ptr %ref.tmp505, align 8 %338 = load ptr, ptr %it465, align 8, !noalias !599 - %cmp.i.i1144 = icmp eq ptr %338, %add.ptr507 - br i1 %cmp.i.i1144, label %if.then.i.i1146, label %if.end.i.i1145 + %cmp.i.i1145 = icmp eq ptr %338, %add.ptr507 + br i1 %cmp.i.i1145, label %if.then.i.i1147, label %if.end.i.i1146 -if.then.i.i1146: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1139 +if.then.i.i1147: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1140 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar504) to label %invoke.cont508 unwind label %lpad444.loopexit.split-lp.loopexit -if.end.i.i1145: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1139 +if.end.i.i1146: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1140 invoke void @_ZN7testing8internal18CmpHelperEQFailureIPiPKiEENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar504, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.291, ptr noundef nonnull align 8 dereferenceable(8) %it465, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp505) to label %invoke.cont508 unwind label %lpad444.loopexit.split-lp.loopexit -invoke.cont508: ; preds = %if.then.i.i1146, %if.end.i.i1145 +invoke.cont508: ; preds = %if.then.i.i1147, %if.end.i.i1146 %339 = load i8, ptr %gtest_ar504, align 8 %340 = and i8 %339, 1 - %tobool.i1150.not = icmp eq i8 %340, 0 - br i1 %tobool.i1150.not, label %if.else511, label %if.end524 + %tobool.i1151.not = icmp eq i8 %340, 0 + br i1 %tobool.i1151.not, label %if.else511, label %if.end524 -ehcleanup503: ; preds = %_ZN7testing7MessageD2Ev.exit1135, %lpad491 - %.pn91.pn = phi { ptr, i32 } [ %.pn91, %_ZN7testing7MessageD2Ev.exit1135 ], [ %330, %lpad491 ] +ehcleanup503: ; preds = %_ZN7testing7MessageD2Ev.exit1136, %lpad491 + %.pn91.pn = phi { ptr, i32 } [ %.pn91, %_ZN7testing7MessageD2Ev.exit1136 ], [ %330, %lpad491 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar477) #29 br label %ehcleanup526 @@ -27554,17 +27541,17 @@ if.else511: ; preds = %invoke.cont508 to label %invoke.cont514 unwind label %lpad513 invoke.cont514: ; preds = %if.else511 - %341 = load ptr, ptr %message_.i.i1151, align 8 - %cmp.i.i.not.i.i1152 = icmp eq ptr %341, null - br i1 %cmp.i.i.not.i.i1152, label %invoke.cont517, label %cond.true.i.i1153 + %341 = load ptr, ptr %message_.i.i1152, align 8 + %cmp.i.i.not.i.i1153 = icmp eq ptr %341, null + br i1 %cmp.i.i.not.i.i1153, label %invoke.cont517, label %cond.true.i.i1154 -cond.true.i.i1153: ; preds = %invoke.cont514 - %call4.i.i1154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %341) #29 +cond.true.i.i1154: ; preds = %invoke.cont514 + %call4.i.i1155 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %341) #29 br label %invoke.cont517 -invoke.cont517: ; preds = %cond.true.i.i1153, %invoke.cont514 - %cond.i.i1155 = phi ptr [ %call4.i.i1154, %cond.true.i.i1153 ], [ @.str.202, %invoke.cont514 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp515, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 566, ptr noundef %cond.i.i1155) +invoke.cont517: ; preds = %cond.true.i.i1154, %invoke.cont514 + %cond.i.i1156 = phi ptr [ %call4.i.i1155, %cond.true.i.i1154 ], [ @.str.202, %invoke.cont514 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp515, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 566, ptr noundef %cond.i.i1156) to label %invoke.cont519 unwind label %lpad516 invoke.cont519: ; preds = %invoke.cont517 @@ -27574,17 +27561,17 @@ invoke.cont519: ; preds = %invoke.cont517 invoke.cont521: ; preds = %invoke.cont519 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp515) #29 %342 = load ptr, ptr %ref.tmp512, align 8 - %cmp.not.i.i1157 = icmp eq ptr %342, null - br i1 %cmp.not.i.i1157, label %_ZN7testing7MessageD2Ev.exit1161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1158 + %cmp.not.i.i1158 = icmp eq ptr %342, null + br i1 %cmp.not.i.i1158, label %_ZN7testing7MessageD2Ev.exit1162, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1159 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1158: ; preds = %invoke.cont521 - %vtable.i.i.i1159 = load ptr, ptr %342, align 8 - %vfn.i.i.i1160 = getelementptr inbounds ptr, ptr %vtable.i.i.i1159, i64 1 - %343 = load ptr, ptr %vfn.i.i.i1160, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1159: ; preds = %invoke.cont521 + %vtable.i.i.i1160 = load ptr, ptr %342, align 8 + %vfn.i.i.i1161 = getelementptr inbounds ptr, ptr %vtable.i.i.i1160, i64 1 + %343 = load ptr, ptr %vfn.i.i.i1161, align 8 call void %343(ptr noundef nonnull align 8 dereferenceable(128) %342) #29 - br label %_ZN7testing7MessageD2Ev.exit1161 + br label %_ZN7testing7MessageD2Ev.exit1162 -_ZN7testing7MessageD2Ev.exit1161: ; preds = %invoke.cont521, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1158 +_ZN7testing7MessageD2Ev.exit1162: ; preds = %invoke.cont521, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1159 store ptr null, ptr %ref.tmp512, align 8 br label %if.end524 @@ -27607,85 +27594,85 @@ lpad520: ; preds = %invoke.cont519 ehcleanup523: ; preds = %lpad520, %lpad516 %.pn94 = phi { ptr, i32 } [ %346, %lpad520 ], [ %345, %lpad516 ] %347 = load ptr, ptr %ref.tmp512, align 8 - %cmp.not.i.i1162 = icmp eq ptr %347, null - br i1 %cmp.not.i.i1162, label %_ZN7testing7MessageD2Ev.exit1166, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1163 + %cmp.not.i.i1163 = icmp eq ptr %347, null + br i1 %cmp.not.i.i1163, label %_ZN7testing7MessageD2Ev.exit1167, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1164 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1163: ; preds = %ehcleanup523 - %vtable.i.i.i1164 = load ptr, ptr %347, align 8 - %vfn.i.i.i1165 = getelementptr inbounds ptr, ptr %vtable.i.i.i1164, i64 1 - %348 = load ptr, ptr %vfn.i.i.i1165, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1164: ; preds = %ehcleanup523 + %vtable.i.i.i1165 = load ptr, ptr %347, align 8 + %vfn.i.i.i1166 = getelementptr inbounds ptr, ptr %vtable.i.i.i1165, i64 1 + %348 = load ptr, ptr %vfn.i.i.i1166, align 8 call void %348(ptr noundef nonnull align 8 dereferenceable(128) %347) #29 - br label %_ZN7testing7MessageD2Ev.exit1166 + br label %_ZN7testing7MessageD2Ev.exit1167 -_ZN7testing7MessageD2Ev.exit1166: ; preds = %ehcleanup523, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1163 +_ZN7testing7MessageD2Ev.exit1167: ; preds = %ehcleanup523, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1164 store ptr null, ptr %ref.tmp512, align 8 br label %ehcleanup525 -if.end524: ; preds = %invoke.cont508, %_ZN7testing7MessageD2Ev.exit1161 - %349 = load ptr, ptr %message_.i.i1151, align 8 - %cmp.not.i.i1168 = icmp eq ptr %349, null - br i1 %cmp.not.i.i1168, label %_ZN7testing15AssertionResultD2Ev.exit1170, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1169 +if.end524: ; preds = %invoke.cont508, %_ZN7testing7MessageD2Ev.exit1162 + %349 = load ptr, ptr %message_.i.i1152, align 8 + %cmp.not.i.i1169 = icmp eq ptr %349, null + br i1 %cmp.not.i.i1169, label %_ZN7testing15AssertionResultD2Ev.exit1171, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1170 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1169: ; preds = %if.end524 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1170: ; preds = %if.end524 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %349) #29 call void @_ZdlPv(ptr noundef nonnull %349) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit1170 + br label %_ZN7testing15AssertionResultD2Ev.exit1171 -_ZN7testing15AssertionResultD2Ev.exit1170: ; preds = %if.end524, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1169 - store ptr null, ptr %message_.i.i1151, align 8 +_ZN7testing15AssertionResultD2Ev.exit1171: ; preds = %if.end524, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i1170 + store ptr null, ptr %message_.i.i1152, align 8 %350 = load i64, ptr %v443, align 8 - %and.i.i.i.i1171 = and i64 %350, 1 - %tobool.i.not.i.i.i1172 = icmp eq i64 %and.i.i.i.i1171, 0 - br i1 %tobool.i.not.i.i.i1172, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1175, label %if.then.i.i.i1173 + %and.i.i.i.i1172 = and i64 %350, 1 + %tobool.i.not.i.i.i1173 = icmp eq i64 %and.i.i.i.i1172, 0 + br i1 %tobool.i.not.i.i.i1173, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1176, label %if.then.i.i.i1174 -if.then.i.i.i1173: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1170 +if.then.i.i.i1174: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1171 %351 = load ptr, ptr %data_.i1.i.i1967, align 8 call void @_ZdlPv(ptr noundef %351) #32 - br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1175 + br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1176 -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1175: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1170, %if.then.i.i.i1173 - %tobool.not.i.i.i1176 = icmp eq ptr %std_v440.sroa.0.5, null - br i1 %tobool.not.i.i.i1176, label %_ZNSt6vectorIiSaIiEED2Ev.exit1179, label %if.then.i.i.i1177 +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1176: ; preds = %_ZN7testing15AssertionResultD2Ev.exit1171, %if.then.i.i.i1174 + %tobool.not.i.i.i1177 = icmp eq ptr %std_v440.sroa.0.5, null + br i1 %tobool.not.i.i.i1177, label %_ZNSt6vectorIiSaIiEED2Ev.exit1180, label %if.then.i.i.i1178 -if.then.i.i.i1177: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1175 +if.then.i.i.i1178: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1176 call void @_ZdlPv(ptr noundef nonnull %std_v440.sroa.0.5) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit1179 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit1180 -_ZNSt6vectorIiSaIiEED2Ev.exit1179: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1175, %if.then.i.i.i1177 +_ZNSt6vectorIiSaIiEED2Ev.exit1180: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit1176, %if.then.i.i.i1178 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %indvars.iv.next4598 = add nuw nsw i64 %indvars.iv4597, 1 - %exitcond.not = icmp eq i64 %add.i, %indvars.iv4601 + %indvars.iv.next4623 = add nuw nsw i64 %indvars.iv4622, 1 + %exitcond.not = icmp eq i64 %add.i, %indvars.iv4626 br i1 %exitcond.not, label %for.inc528, label %for.body4, !llvm.loop !604 -ehcleanup525: ; preds = %_ZN7testing7MessageD2Ev.exit1166, %lpad513 - %.pn94.pn = phi { ptr, i32 } [ %.pn94, %_ZN7testing7MessageD2Ev.exit1166 ], [ %344, %lpad513 ] +ehcleanup525: ; preds = %_ZN7testing7MessageD2Ev.exit1167, %lpad513 + %.pn94.pn = phi { ptr, i32 } [ %.pn94, %_ZN7testing7MessageD2Ev.exit1167 ], [ %344, %lpad513 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar504) #29 br label %ehcleanup526 -ehcleanup526: ; preds = %lpad444.loopexit, %lpad444.loopexit.split-lp.loopexit.split-lp, %lpad444.loopexit.split-lp.loopexit, %if.then.i.i.i.i1118, %ehcleanup486, %ehcleanup525, %ehcleanup503 - %std_v440.sroa.0.7 = phi ptr [ %std_v440.sroa.0.5, %ehcleanup525 ], [ %std_v440.sroa.0.5, %ehcleanup503 ], [ %std_v440.sroa.0.5, %ehcleanup486 ], [ %std_v440.sroa.0.5, %if.then.i.i.i.i1118 ], [ %std_v440.sroa.0.3, %lpad444.loopexit ], [ %std_v440.sroa.0.6.ph.ph, %lpad444.loopexit.split-lp.loopexit ], [ %std_v440.sroa.0.6.ph.ph2415, %lpad444.loopexit.split-lp.loopexit.split-lp ] - %.pn94.pn.pn = phi { ptr, i32 } [ %.pn94.pn, %ehcleanup525 ], [ %.pn91.pn, %ehcleanup503 ], [ %325, %ehcleanup486 ], [ %.pn894676, %if.then.i.i.i.i1118 ], [ %lpad.loopexit, %lpad444.loopexit ], [ %lpad.loopexit2416, %lpad444.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2417, %lpad444.loopexit.split-lp.loopexit.split-lp ] +ehcleanup526: ; preds = %lpad444.loopexit, %lpad444.loopexit.split-lp.loopexit.split-lp, %lpad444.loopexit.split-lp.loopexit, %if.then.i.i.i.i1119, %ehcleanup486, %ehcleanup525, %ehcleanup503 + %std_v440.sroa.0.7 = phi ptr [ %std_v440.sroa.0.5, %ehcleanup525 ], [ %std_v440.sroa.0.5, %ehcleanup503 ], [ %std_v440.sroa.0.5, %ehcleanup486 ], [ %std_v440.sroa.0.5, %if.then.i.i.i.i1119 ], [ %std_v440.sroa.0.3, %lpad444.loopexit ], [ %std_v440.sroa.0.6.ph.ph, %lpad444.loopexit.split-lp.loopexit ], [ %std_v440.sroa.0.6.ph.ph2440, %lpad444.loopexit.split-lp.loopexit.split-lp ] + %.pn94.pn.pn = phi { ptr, i32 } [ %.pn94.pn, %ehcleanup525 ], [ %.pn91.pn, %ehcleanup503 ], [ %325, %ehcleanup486 ], [ %.pn894688, %if.then.i.i.i.i1119 ], [ %lpad.loopexit, %lpad444.loopexit ], [ %lpad.loopexit2441, %lpad444.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp2442, %lpad444.loopexit.split-lp.loopexit.split-lp ] %352 = load i64, ptr %v443, align 8 - %and.i.i.i.i1180 = and i64 %352, 1 - %tobool.i.not.i.i.i1181 = icmp eq i64 %and.i.i.i.i1180, 0 - br i1 %tobool.i.not.i.i.i1181, label %ehcleanup527, label %if.then.i.i.i1182 + %and.i.i.i.i1181 = and i64 %352, 1 + %tobool.i.not.i.i.i1182 = icmp eq i64 %and.i.i.i.i1181, 0 + br i1 %tobool.i.not.i.i.i1182, label %ehcleanup527, label %if.then.i.i.i1183 -if.then.i.i.i1182: ; preds = %ehcleanup526 +if.then.i.i.i1183: ; preds = %ehcleanup526 %353 = load ptr, ptr %data_.i1.i.i1967, align 8 call void @_ZdlPv(ptr noundef %353) #32 br label %ehcleanup527 -ehcleanup527: ; preds = %lpad441.loopexit, %lpad441.loopexit.split-lp, %if.then.i.i.i1182, %ehcleanup526 - %std_v440.sroa.0.8 = phi ptr [ %std_v440.sroa.0.7, %ehcleanup526 ], [ %std_v440.sroa.0.7, %if.then.i.i.i1182 ], [ %std_v440.sroa.0.2, %lpad441.loopexit ], [ %std_v440.sroa.0.2, %lpad441.loopexit.split-lp ] - %.pn94.pn.pn.pn = phi { ptr, i32 } [ %.pn94.pn.pn, %ehcleanup526 ], [ %.pn94.pn.pn, %if.then.i.i.i1182 ], [ %lpad.loopexit2353, %lpad441.loopexit ], [ %lpad.loopexit.split-lp2354, %lpad441.loopexit.split-lp ] - %tobool.not.i.i.i1185 = icmp eq ptr %std_v440.sroa.0.8, null - br i1 %tobool.not.i.i.i1185, label %eh.resume, label %eh.resume.sink.split +ehcleanup527: ; preds = %lpad441.loopexit, %lpad441.loopexit.split-lp, %if.then.i.i.i1183, %ehcleanup526 + %std_v440.sroa.0.8 = phi ptr [ %std_v440.sroa.0.7, %ehcleanup526 ], [ %std_v440.sroa.0.7, %if.then.i.i.i1183 ], [ %std_v440.sroa.0.2, %lpad441.loopexit ], [ %std_v440.sroa.0.2, %lpad441.loopexit.split-lp ] + %.pn94.pn.pn.pn = phi { ptr, i32 } [ %.pn94.pn.pn, %ehcleanup526 ], [ %.pn94.pn.pn, %if.then.i.i.i1183 ], [ %lpad.loopexit2378, %lpad441.loopexit ], [ %lpad.loopexit.split-lp2379, %lpad441.loopexit.split-lp ] + %tobool.not.i.i.i1186 = icmp eq ptr %std_v440.sroa.0.8, null + br i1 %tobool.not.i.i.i1186, label %eh.resume, label %eh.resume.sink.split -for.inc528: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1179 - %inc529 = add nuw nsw i64 %len.03501, 1 - %indvars.iv.next4602 = add nuw nsw i64 %indvars.iv4601, 1 - %exitcond4603.not = icmp eq i64 %inc529, 20 - br i1 %exitcond4603.not, label %for.end530, label %for.cond2.preheader, !llvm.loop !605 +for.inc528: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit1180 + %inc529 = add nuw nsw i64 %len.03526, 1 + %indvars.iv.next4627 = add nuw nsw i64 %indvars.iv4626, 1 + %exitcond4628.not = icmp eq i64 %inc529, 20 + br i1 %exitcond4628.not, label %for.end530, label %for.cond2.preheader, !llvm.loop !605 for.end530: ; preds = %for.inc528 ret void @@ -31044,6 +31031,7 @@ _ZN12_GLOBAL__N_110RefCountedC2ERKS0_.exit.i.i: ; preds = %_ZNKSt14default_del %this.val4.i.i.i.i = load i64, ptr %1, align 8, !noalias !666 %this.val4.sink.i.i.i.i = select i1 %tobool.i.not.i.i, i64 8, i64 %this.val4.i.i.i.i %shr.i.sink.i.i.i.i = lshr i64 %this.val.i.i, 1 + %add.ptr.idx = shl nsw i64 %storemerge1493, 4 %add.i.i.i = add i64 %storemerge1493, 1 %add3.i.i.i = add nuw i64 %shr.i.sink.i.i.i.i, 1 %cmp.not.i.i.i107 = icmp ult i64 %shr.i.sink.i.i.i.i, %this.val4.sink.i.i.i.i @@ -31079,9 +31067,9 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN12_GLOBAL__N_110RefCountedE to label %for.inc.i342 unwind label %lpad.i.i.loopexit for.inc.i342: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN12_GLOBAL__N_110RefCountedEELb0EE8AllocateERS4_m.exit.i.i.i.i - %add.ptr.i.i.i108 = getelementptr inbounds %"class.(anonymous namespace)::RefCounted", ptr %call5.i.i.i.i53.i3.i.i, i64 %storemerge1493 + %add.ptr.i.i.i108 = getelementptr inbounds i8, ptr %call5.i.i.i.i53.i3.i.i, i64 %add.ptr.idx store i32 9999, ptr %add.ptr.i.i.i108, align 8 - %count_.i.i.i.i.i339 = getelementptr inbounds %"class.(anonymous namespace)::RefCounted", ptr %call5.i.i.i.i53.i3.i.i, i64 %storemerge1493, i32 1 + %count_.i.i.i.i.i339 = getelementptr inbounds %"class.(anonymous namespace)::RefCounted", ptr %add.ptr.i.i.i108, i64 0, i32 1 store ptr %inserted_count, ptr %count_.i.i.i.i.i339, align 8 %inc.i.i.i.i.i.i343 = add nsw i32 %59, 2 store i32 %inc.i.i.i.i.i.i343, ptr %inserted_count, align 4 @@ -31375,7 +31363,12 @@ unreachable.i258: ; preds = %lpad.i254 .noexc4.i.i: ; preds = %for.inc.i247, %if.else.i.i.i %cmp74188.i.i.i = icmp ult ptr %add.ptr46.i.i.i, %add.ptr56.i.i.i - br i1 %cmp74188.i.i.i, label %for.end.i.i.i, label %if.end.i.i.i + br i1 %cmp74188.i.i.i, label %for.end.i.i.i, label %if.end.lr.ph.i.i.i + +if.end.lr.ph.i.i.i: ; preds = %.noexc4.i.i + %sub57.i.i.i = sub i64 %.sroa.speculated.i.i.i, %add.i.i.i + %add.ptr72.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::RefCounted", ptr %add.ptr, i64 %sub57.i.i.i + br label %if.end.i.i.i lpad47.i.i.i: ; preds = %call.i.i.i.i.i.noexc.i.i.i, %while.body.i.i.i.i.i.i.i, %call.i.i.i.noexc.i.i.i, %while.body.i.i.i.i.i %102 = landingpad { ptr, i32 } @@ -31387,12 +31380,13 @@ lpad47.i.i.i.body: ; preds = %lpad1.i, %lpad47.i. %cmp.i.not.i93.i.i.i = icmp eq ptr %90, null br i1 %cmp.i.not.i93.i.i.i, label %lpad.body.i.i, label %invoke.cont3.i94.i.i.i -if.end.i.i.i: ; preds = %.noexc4.i.i, %_ZN12_GLOBAL__N_110RefCountedD2Ev.exit.i.i.i - %incdec.ptr191.i.i.i = phi ptr [ %incdec.ptr.i.i.i, %_ZN12_GLOBAL__N_110RefCountedD2Ev.exit.i.i.i ], [ %add.ptr46.i.i.i, %.noexc4.i.i ] - %destination.0189.i.i.i = phi ptr [ %incdec.ptr191.i.i.i, %_ZN12_GLOBAL__N_110RefCountedD2Ev.exit.i.i.i ], [ %90, %.noexc4.i.i ] - %incdec.ptr.i.i.i = getelementptr %"class.(anonymous namespace)::RefCounted", ptr %incdec.ptr191.i.i.i, i64 -1 - %103 = load i32, ptr %incdec.ptr.i.i.i, align 8 - %count_3.i.i.i.i = getelementptr %"class.(anonymous namespace)::RefCounted", ptr %incdec.ptr191.i.i.i, i64 -1, i32 1 +if.end.i.i.i: ; preds = %_ZN12_GLOBAL__N_110RefCountedD2Ev.exit.i.i.i, %if.end.lr.ph.i.i.i + %incdec.ptr191.i.i.i = phi ptr [ %add.ptr46.i.i.i, %if.end.lr.ph.i.i.i ], [ %incdec.ptr.i.i.i, %_ZN12_GLOBAL__N_110RefCountedD2Ev.exit.i.i.i ] + %source.0190.i.i.i = phi ptr [ %add.ptr72.i.i.i, %if.end.lr.ph.i.i.i ], [ %incdec.ptr73192.i.i.i, %_ZN12_GLOBAL__N_110RefCountedD2Ev.exit.i.i.i ] + %destination.0189.i.i.i = phi ptr [ %90, %if.end.lr.ph.i.i.i ], [ %incdec.ptr191.i.i.i, %_ZN12_GLOBAL__N_110RefCountedD2Ev.exit.i.i.i ] + %incdec.ptr73192.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::RefCounted", ptr %source.0190.i.i.i, i64 -1 + %103 = load i32, ptr %incdec.ptr73192.i.i.i, align 8 + %count_3.i.i.i.i = getelementptr %"class.(anonymous namespace)::RefCounted", ptr %source.0190.i.i.i, i64 -1, i32 1 %104 = load ptr, ptr %count_3.i.i.i.i, align 8 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %ref.tmp5.i.i.i.i.i) %cmp.not.i.i.i.i.i.i = icmp eq ptr %104, null @@ -31454,6 +31448,7 @@ terminate.lpad.i.i.i.i: ; preds = %call.i.i.i.noexc.i. _ZN12_GLOBAL__N_110RefCountedD2Ev.exit.i.i.i: ; preds = %invoke.cont79.i.i.i call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %ref.tmp5.i.i84.i.i.i) + %incdec.ptr.i.i.i = getelementptr inbounds %"class.(anonymous namespace)::RefCounted", ptr %incdec.ptr191.i.i.i, i64 -1 %cmp74.i.i.i = icmp ult ptr %incdec.ptr.i.i.i, %add.ptr56.i.i.i br i1 %cmp74.i.i.i, label %for.end.i.i.i, label %if.end.i.i.i, !llvm.loop !669 @@ -39339,7 +39334,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN12_GLOBAL__N_124NotTriviall to label %invoke.cont18.i unwind label %lpad12.i invoke.cont18.i: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN12_GLOBAL__N_124NotTriviallyDestructibleEELb0EE8AllocateERS4_m.exit.i.i - %add.ptr.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %call5.i.i.i.i51.i, i64 %sub.ptr.div.i.i.i + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i51.i, i64 %sub.ptr.sub.i.i.i invoke fastcc void @_ZN4absl23inlined_vector_internal17ConstructElementsISaIN12_GLOBAL__N_124NotTriviallyDestructibleEENS0_20IteratorValueAdapterIS4_St13move_iteratorIPS3_EEEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsISB_E7pointerERT0_NSG_9size_typeE(ptr noundef nonnull %add.ptr.i, ptr noundef nonnull align 8 dereferenceable(8) %values.i, i64 noundef 1) to label %invoke.cont20.i unwind label %lpad12.i @@ -39416,7 +39411,7 @@ if.else.i: ; preds = %entry %5 = ptrtoint ptr %add.ptr46.i to i64 store i64 %5, ptr %move_construction_values.i, align 8 %sub52.i = sub i64 %add3.i, %.sroa.speculated.i - %add.ptr54.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %this.val1.sink.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr54.i = getelementptr inbounds i8, ptr %this.val1.sink.i.i, i64 %sub.ptr.sub.i.i.i %add.ptr56.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %this.val1.sink.i.i, i64 %add.i %add.ptr61.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %add.ptr54.i, i64 %sub52.i %sub63.i = sub i64 1, %sub52.i @@ -39425,7 +39420,12 @@ if.else.i: ; preds = %entry invoke.cont66.i: ; preds = %if.else.i %cmp74136.i = icmp ult ptr %add.ptr46.i, %add.ptr56.i - br i1 %cmp74136.i, label %for.end.i, label %if.end.i + br i1 %cmp74136.i, label %for.end.i, label %if.end.preheader.i + +if.end.preheader.i: ; preds = %invoke.cont66.i + %sub57.i = sub i64 %.sroa.speculated.i, %add.i + %add.ptr72.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %add.ptr54.i, i64 %sub57.i + br label %if.end.i lpad47.loopexit.i: ; preds = %for.body.i84.i %lpad.loopexit.i = landingpad { ptr, i32 } @@ -39451,10 +39451,11 @@ lpad47.i: ; preds = %lpad47.loopexit.spl call fastcc void @_ZN4absl23inlined_vector_internal23ConstructionTransactionISaIN12_GLOBAL__N_124NotTriviallyDestructibleEEED2Ev(ptr %move_construction_tx41.sroa.0.0.i, i64 %move_construction_tx41.sroa.5.0.i) #29 br label %lpad.body -if.end.i: ; preds = %invoke.cont66.i, %_ZN12_GLOBAL__N_124NotTriviallyDestructibleaSERKS0_.exit.i - %incdec.ptr138.i = phi ptr [ %incdec.ptr.i, %_ZN12_GLOBAL__N_124NotTriviallyDestructibleaSERKS0_.exit.i ], [ %add.ptr46.i, %invoke.cont66.i ] - %incdec.ptr.i = getelementptr %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %incdec.ptr138.i, i64 -1 - %incdec.ptr73.val.i = load ptr, ptr %incdec.ptr.i, align 8 +if.end.i: ; preds = %_ZN12_GLOBAL__N_124NotTriviallyDestructibleaSERKS0_.exit.i, %if.end.preheader.i + %incdec.ptr138.i = phi ptr [ %incdec.ptr.i, %_ZN12_GLOBAL__N_124NotTriviallyDestructibleaSERKS0_.exit.i ], [ %add.ptr46.i, %if.end.preheader.i ] + %source.0137.i = phi ptr [ %incdec.ptr73.i, %_ZN12_GLOBAL__N_124NotTriviallyDestructibleaSERKS0_.exit.i ], [ %add.ptr72.i, %if.end.preheader.i ] + %incdec.ptr73.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %source.0137.i, i64 -1 + %incdec.ptr73.val.i = load ptr, ptr %incdec.ptr73.i, align 8 %call.i.i83.i = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #33 to label %call.i.i.noexc.i unwind label %lpad47.loopexit.split-lp.loopexit.i @@ -39471,6 +39472,7 @@ _ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i82.i: ; preds = %call.i.i.noexc.i br label %_ZN12_GLOBAL__N_124NotTriviallyDestructibleaSERKS0_.exit.i _ZN12_GLOBAL__N_124NotTriviallyDestructibleaSERKS0_.exit.i: ; preds = %_ZNKSt14default_deleteIiEclEPi.exit.i.i.i.i.i82.i, %call.i.i.noexc.i + %incdec.ptr.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %incdec.ptr138.i, i64 -1 %cmp74.i = icmp ult ptr %incdec.ptr.i, %add.ptr56.i br i1 %cmp74.i, label %for.end.i, label %if.end.i @@ -40729,7 +40731,7 @@ _ZN4absl23inlined_vector_internal13MallocAdapterISaIN12_GLOBAL__N_124NotTriviall to label %invoke.cont16.i unwind label %lpad11.i invoke.cont16.i: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIN12_GLOBAL__N_124NotTriviallyDestructibleEELb0EE8AllocateERS4_m.exit.i.i - %add.ptr.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %call5.i.i.i.i51.i, i64 %sub.ptr.div.i.i.i + %add.ptr.i = getelementptr inbounds i8, ptr %call5.i.i.i.i51.i, i64 %sub.ptr.sub.i.i.i invoke fastcc void @_ZN4absl23inlined_vector_internal17ConstructElementsISaIN12_GLOBAL__N_124NotTriviallyDestructibleEENS0_16CopyValueAdapterIS4_EEEEvRNS0_12TypeIdentityIT_E4typeENSt16allocator_traitsIS8_E7pointerERT0_NSD_9size_typeE(ptr noundef nonnull %add.ptr.i, ptr noundef nonnull align 8 dereferenceable(8) %values.i, i64 noundef %n) to label %invoke.cont18.i unwind label %lpad11.i @@ -40807,7 +40809,7 @@ if.else.i: ; preds = %if.then store i64 %4, ptr %move_construction_values.i, align 8 %add.ptr49.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %this.val1.sink.i.i, i64 %.sroa.speculated.i %sub50.i = sub i64 %add2.i, %.sroa.speculated.i - %add.ptr52.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %this.val1.sink.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr52.i = getelementptr inbounds i8, ptr %this.val1.sink.i.i, i64 %sub.ptr.sub.i.i.i %add.ptr54.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %this.val1.sink.i.i, i64 %add.i %add.ptr59.i = getelementptr inbounds %"class.(anonymous namespace)::NotTriviallyDestructible", ptr %add.ptr52.i, i64 %sub50.i %sub61.i = sub i64 %n, %sub50.i @@ -44826,8 +44828,7 @@ entry: %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %__last.coerce to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %__first.coerce to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 5 - %cmp.i = icmp ugt i64 %sub.ptr.div.i.i.i, 288230376151711743 + %cmp.i = icmp ugt i64 %sub.ptr.sub.i.i.i, 9223372036854775776 br i1 %cmp.i, label %if.then.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit if.then.i: ; preds = %entry @@ -44840,7 +44841,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_ch _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr5 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr null, i64 %sub.ptr.div.i.i.i + %add.ptr5 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage6 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr5, ptr %_M_end_of_storage6, align 8 br label %_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEPS7_S7_ET0_T_SG_SF_RSaIT1_E.exit @@ -44848,7 +44849,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i) #33 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -48388,8 +48389,7 @@ entry: %sub.ptr.lhs.cast.i.i = ptrtoint ptr %__last to i64 %sub.ptr.rhs.cast.i.i = ptrtoint ptr %__first to i64 %sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i.i - %sub.ptr.div.i.i = ashr exact i64 %sub.ptr.sub.i.i, 5 - %cmp.i = icmp ugt i64 %sub.ptr.div.i.i, 288230376151711743 + %cmp.i = icmp ugt i64 %sub.ptr.sub.i.i, 9223372036854775776 br i1 %cmp.i, label %if.then.i, label %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit if.then.i: ; preds = %entry @@ -48402,7 +48402,7 @@ _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_ch _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm.exit.thread: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit store ptr null, ptr %this, align 8 - %add.ptr7 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr null, i64 %sub.ptr.div.i.i + %add.ptr7 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i %_M_end_of_storage8 = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr7, ptr %_M_end_of_storage8, align 8 br label %_ZSt22__uninitialized_copy_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S5_ET0_T_S8_S7_RSaIT1_E.exit @@ -48410,7 +48410,7 @@ _ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE for.body.i.i.i.i.preheader: ; preds = %_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_.exit %call5.i.i.i = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i) #33 store ptr %call5.i.i.i, ptr %this, align 8 - %add.ptr = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i, i64 %sub.ptr.div.i.i + %add.ptr = getelementptr inbounds i8, ptr %call5.i.i.i, i64 %sub.ptr.sub.i.i %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %this, i64 0, i32 2 store ptr %add.ptr, ptr %_M_end_of_storage, align 8 br label %for.body.i.i.i.i @@ -52025,7 +52025,7 @@ entry: ; Function Attrs: mustprogress uwtable define internal void @_ZN12_GLOBAL__N_125IntVec_RelationalOps_Test8TestBodyEv(ptr nocapture nonnull readnone align 8 %this) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 { -_ZN7testing15AssertionResultD2Ev.exit354: +_ZN7testing15AssertionResultD2Ev.exit378: %a = alloca %"class.absl::InlinedVector", align 8 %b = alloca %"class.absl::InlinedVector", align 8 %ref.tmp203 = alloca i32, align 4 @@ -52066,74 +52066,78 @@ _ZN7testing15AssertionResultD2Ev.exit354: %data_.i.i.i = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %a, i64 0, i32 1 %data_.i.i7.i = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage", ptr %b, i64 0, i32 1 store i32 3, ptr %ref.tmp203, align 4 - %call.i.i355 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE11EmplaceBackIJiEEERiDpOT_(ptr noundef nonnull align 8 dereferenceable(40) %b, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp203) + %call.i.i379 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN4absl23inlined_vector_internal7StorageIiLm8ESaIiEE11EmplaceBackIJiEEERiDpOT_(ptr noundef nonnull align 8 dereferenceable(40) %b, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp203) to label %invoke.cont204 unwind label %lpad -lpad: ; preds = %_ZN7testing15AssertionResultD2Ev.exit354 +lpad: ; preds = %_ZN7testing15AssertionResultD2Ev.exit378 %0 = landingpad { ptr, i32 } cleanup br label %ehcleanup417 -invoke.cont204: ; preds = %_ZN7testing15AssertionResultD2Ev.exit354 +invoke.cont204: ; preds = %_ZN7testing15AssertionResultD2Ev.exit378 %1 = load i64, ptr %a, align 8 - %and.i.i.i356 = and i64 %1, 1 - %tobool.i.not.i.i357 = icmp eq i64 %and.i.i.i356, 0 + %and.i.i.i380 = and i64 %1, 1 + %tobool.i.not.i.i381 = icmp eq i64 %and.i.i.i380, 0 %2 = load ptr, ptr %data_.i.i.i, align 8 - %cond.i.i359 = select i1 %tobool.i.not.i.i357, ptr %data_.i.i.i, ptr %2 + %cond.i.i383 = select i1 %tobool.i.not.i.i381, ptr %data_.i.i.i, ptr %2 %3 = load i64, ptr %b, align 8 - %and.i.i5.i360 = and i64 %3, 1 - %tobool.i.not.i6.i361 = icmp eq i64 %and.i.i5.i360, 0 + %and.i.i5.i384 = and i64 %3, 1 + %tobool.i.not.i6.i385 = icmp eq i64 %and.i.i5.i384, 0 %4 = load ptr, ptr %data_.i.i7.i, align 8 - %cond.i8.i363 = select i1 %tobool.i.not.i6.i361, ptr %data_.i.i7.i, ptr %4 - %shr.i.i.i364 = lshr i64 %1, 1 - %shr.i.i9.i365 = lshr i64 %3, 1 - %add.ptr4.i366 = getelementptr inbounds i32, ptr %cond.i8.i363, i64 %shr.i.i9.i365 - %cond.i.i.i.i.i.i.v.i367 = call i64 @llvm.umin.i64(i64 %shr.i.i9.i365, i64 %shr.i.i.i364) - %cond.i.i.i.i.i.i.i368 = getelementptr inbounds i32, ptr %cond.i.i359, i64 %cond.i.i.i.i.i.i.v.i367 - %cmp.not18.i.i.i.i.i.i369 = icmp eq i64 %cond.i.i.i.i.i.i.v.i367, 0 - br i1 %cmp.not18.i.i.i.i.i.i369, label %invoke.cont207, label %for.body.i.i.i.i.i.i370 - -for.body.i.i.i.i.i.i370: ; preds = %invoke.cont204, %for.inc.i.i.i.i.i.i376 - %__first2.addr.020.i.i.i.i.i.i371 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i378, %for.inc.i.i.i.i.i.i376 ], [ %cond.i8.i363, %invoke.cont204 ] - %__first1.addr.019.i.i.i.i.i.i372 = phi ptr [ %incdec.ptr.i.i.i.i.i.i377, %for.inc.i.i.i.i.i.i376 ], [ %cond.i.i359, %invoke.cont204 ] - %5 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i372, align 4 - %6 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i371, align 4 - %cmp.i15.i.i.i.i.i.i373 = icmp slt i32 %5, %6 - br i1 %cmp.i15.i.i.i.i.i.i373, label %invoke.cont207.thread, label %if.end.i.i.i.i.i.i374 - -invoke.cont207.thread: ; preds = %for.body.i.i.i.i.i.i370 + %cond.i8.i387 = select i1 %tobool.i.not.i6.i385, ptr %data_.i.i7.i, ptr %4 + %shr.i.i.i388 = lshr i64 %1, 1 + %add.ptr.i389 = getelementptr inbounds i32, ptr %cond.i.i383, i64 %shr.i.i.i388 + %shr.i.i9.i390 = lshr i64 %3, 1 + %add.ptr4.i391 = getelementptr inbounds i32, ptr %cond.i8.i387, i64 %shr.i.i9.i390 + %add.ptr.idx.i392 = shl nsw i64 %shr.i.i.i388, 2 + %add.ptr4.idx.i393 = shl nsw i64 %shr.i.i9.i390, 2 + %cmp.i.i.i.i.i.i.i394 = icmp ult i64 %add.ptr4.idx.i393, %add.ptr.idx.i392 + %add.ptr.i.i.i.i.i.i.i395 = getelementptr inbounds i8, ptr %cond.i.i383, i64 %add.ptr4.idx.i393 + %cond.i.i.i.i.i.i.i396 = select i1 %cmp.i.i.i.i.i.i.i394, ptr %add.ptr.i.i.i.i.i.i.i395, ptr %add.ptr.i389 + %cmp.not18.i.i.i.i.i.i397 = icmp eq ptr %cond.i.i.i.i.i.i.i396, %cond.i.i383 + br i1 %cmp.not18.i.i.i.i.i.i397, label %invoke.cont207, label %for.body.i.i.i.i.i.i398 + +for.body.i.i.i.i.i.i398: ; preds = %invoke.cont204, %for.inc.i.i.i.i.i.i404 + %__first2.addr.020.i.i.i.i.i.i399 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i406, %for.inc.i.i.i.i.i.i404 ], [ %cond.i8.i387, %invoke.cont204 ] + %__first1.addr.019.i.i.i.i.i.i400 = phi ptr [ %incdec.ptr.i.i.i.i.i.i405, %for.inc.i.i.i.i.i.i404 ], [ %cond.i.i383, %invoke.cont204 ] + %5 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i400, align 4 + %6 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i399, align 4 + %cmp.i15.i.i.i.i.i.i401 = icmp slt i32 %5, %6 + br i1 %cmp.i15.i.i.i.i.i.i401, label %invoke.cont207.thread, label %if.end.i.i.i.i.i.i402 + +invoke.cont207.thread: ; preds = %for.body.i.i.i.i.i.i398 store i8 1, ptr %gtest_ar_205, align 8 - %message_.i385848 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_205, i64 0, i32 1 - store ptr null, ptr %message_.i385848, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit400 + %message_.i413904 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_205, i64 0, i32 1 + store ptr null, ptr %message_.i413904, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit428 -if.end.i.i.i.i.i.i374: ; preds = %for.body.i.i.i.i.i.i370 - %cmp.i16.i.i.i.i.i.i375 = icmp slt i32 %6, %5 - br i1 %cmp.i16.i.i.i.i.i.i375, label %invoke.cont207.thread851, label %for.inc.i.i.i.i.i.i376 +if.end.i.i.i.i.i.i402: ; preds = %for.body.i.i.i.i.i.i398 + %cmp.i16.i.i.i.i.i.i403 = icmp slt i32 %6, %5 + br i1 %cmp.i16.i.i.i.i.i.i403, label %invoke.cont207.thread907, label %for.inc.i.i.i.i.i.i404 -invoke.cont207.thread851: ; preds = %if.end.i.i.i.i.i.i374 +invoke.cont207.thread907: ; preds = %if.end.i.i.i.i.i.i402 store i8 0, ptr %gtest_ar_205, align 8 - %message_.i385854 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_205, i64 0, i32 1 - store ptr null, ptr %message_.i385854, align 8 + %message_.i413910 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_205, i64 0, i32 1 + store ptr null, ptr %message_.i413910, align 8 br label %if.else213 -for.inc.i.i.i.i.i.i376: ; preds = %if.end.i.i.i.i.i.i374 - %incdec.ptr.i.i.i.i.i.i377 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i372, i64 1 - %incdec.ptr6.i.i.i.i.i.i378 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i371, i64 1 - %cmp.not.i.i.i.i.i.i379 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i377, %cond.i.i.i.i.i.i.i368 - br i1 %cmp.not.i.i.i.i.i.i379, label %invoke.cont207, label %for.body.i.i.i.i.i.i370, !llvm.loop !1078 +for.inc.i.i.i.i.i.i404: ; preds = %if.end.i.i.i.i.i.i402 + %incdec.ptr.i.i.i.i.i.i405 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i400, i64 1 + %incdec.ptr6.i.i.i.i.i.i406 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i399, i64 1 + %cmp.not.i.i.i.i.i.i407 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i405, %cond.i.i.i.i.i.i.i396 + br i1 %cmp.not.i.i.i.i.i.i407, label %invoke.cont207, label %for.body.i.i.i.i.i.i398, !llvm.loop !1078 -invoke.cont207: ; preds = %for.inc.i.i.i.i.i.i376, %invoke.cont204 - %__first2.addr.0.lcssa.i.i.i.i.i.i381 = phi ptr [ %cond.i8.i363, %invoke.cont204 ], [ %incdec.ptr6.i.i.i.i.i.i378, %for.inc.i.i.i.i.i.i376 ] - %cmp9.i.i.i.i.i.i382 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i381, %add.ptr4.i366 - %frombool209 = zext i1 %cmp9.i.i.i.i.i.i382 to i8 +invoke.cont207: ; preds = %for.inc.i.i.i.i.i.i404, %invoke.cont204 + %__first2.addr.0.lcssa.i.i.i.i.i.i409 = phi ptr [ %cond.i8.i387, %invoke.cont204 ], [ %incdec.ptr6.i.i.i.i.i.i406, %for.inc.i.i.i.i.i.i404 ] + %cmp9.i.i.i.i.i.i410 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i409, %add.ptr4.i391 + %frombool209 = zext i1 %cmp9.i.i.i.i.i.i410 to i8 store i8 %frombool209, ptr %gtest_ar_205, align 8 - %message_.i385 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_205, i64 0, i32 1 - store ptr null, ptr %message_.i385, align 8 - br i1 %cmp9.i.i.i.i.i.i382, label %_ZN7testing15AssertionResultD2Ev.exit400, label %if.else213 + %message_.i413 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_205, i64 0, i32 1 + store ptr null, ptr %message_.i413, align 8 + br i1 %cmp9.i.i.i.i.i.i410, label %_ZN7testing15AssertionResultD2Ev.exit428, label %if.else213 -if.else213: ; preds = %invoke.cont207.thread851, %invoke.cont207 - %message_.i385856 = phi ptr [ %message_.i385854, %invoke.cont207.thread851 ], [ %message_.i385, %invoke.cont207 ] +if.else213: ; preds = %invoke.cont207.thread907, %invoke.cont207 + %message_.i413912 = phi ptr [ %message_.i413910, %invoke.cont207.thread907 ], [ %message_.i413, %invoke.cont207 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp214) to label %invoke.cont216 unwind label %lpad215 @@ -52154,13 +52158,13 @@ invoke.cont225: ; preds = %invoke.cont223 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp217) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp218) #29 %7 = load ptr, ptr %ref.tmp214, align 8 - %cmp.not.i.i387 = icmp eq ptr %7, null - br i1 %cmp.not.i.i387, label %if.end229, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i388 + %cmp.not.i.i415 = icmp eq ptr %7, null + br i1 %cmp.not.i.i415, label %if.end229, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i416 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i388: ; preds = %invoke.cont225 - %vtable.i.i.i389 = load ptr, ptr %7, align 8 - %vfn.i.i.i390 = getelementptr inbounds ptr, ptr %vtable.i.i.i389, i64 1 - %8 = load ptr, ptr %vfn.i.i.i390, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i416: ; preds = %invoke.cont225 + %vtable.i.i.i417 = load ptr, ptr %7, align 8 + %vfn.i.i.i418 = getelementptr inbounds ptr, ptr %vtable.i.i.i417, i64 1 + %8 = load ptr, ptr %vfn.i.i.i418, align 8 call void %8(ptr noundef nonnull align 8 dereferenceable(128) %7) #29 br label %if.end229 @@ -52193,98 +52197,102 @@ ehcleanup227: ; preds = %lpad224, %lpad222 ehcleanup228: ; preds = %ehcleanup227, %lpad219 %.pn32.pn = phi { ptr, i32 } [ %.pn32, %ehcleanup227 ], [ %10, %lpad219 ] %13 = load ptr, ptr %ref.tmp214, align 8 - %cmp.not.i.i392 = icmp eq ptr %13, null - br i1 %cmp.not.i.i392, label %_ZN7testing7MessageD2Ev.exit396, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i393 + %cmp.not.i.i420 = icmp eq ptr %13, null + br i1 %cmp.not.i.i420, label %_ZN7testing7MessageD2Ev.exit424, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i421 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i393: ; preds = %ehcleanup228 - %vtable.i.i.i394 = load ptr, ptr %13, align 8 - %vfn.i.i.i395 = getelementptr inbounds ptr, ptr %vtable.i.i.i394, i64 1 - %14 = load ptr, ptr %vfn.i.i.i395, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i421: ; preds = %ehcleanup228 + %vtable.i.i.i422 = load ptr, ptr %13, align 8 + %vfn.i.i.i423 = getelementptr inbounds ptr, ptr %vtable.i.i.i422, i64 1 + %14 = load ptr, ptr %vfn.i.i.i423, align 8 call void %14(ptr noundef nonnull align 8 dereferenceable(128) %13) #29 - br label %_ZN7testing7MessageD2Ev.exit396 + br label %_ZN7testing7MessageD2Ev.exit424 -_ZN7testing7MessageD2Ev.exit396: ; preds = %ehcleanup228, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i393 +_ZN7testing7MessageD2Ev.exit424: ; preds = %ehcleanup228, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i421 store ptr null, ptr %ref.tmp214, align 8 br label %ehcleanup230 -if.end229: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i388, %invoke.cont225 +if.end229: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i416, %invoke.cont225 store ptr null, ptr %ref.tmp214, align 8 - %.pr857 = load ptr, ptr %message_.i385856, align 8 - %cmp.not.i.i398 = icmp eq ptr %.pr857, null - br i1 %cmp.not.i.i398, label %_ZN7testing15AssertionResultD2Ev.exit400, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399: ; preds = %if.end229 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr857) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr857) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit400 - -_ZN7testing15AssertionResultD2Ev.exit400: ; preds = %invoke.cont207, %invoke.cont207.thread, %if.end229, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399 - %message_.i385850860 = phi ptr [ %message_.i385856, %if.end229 ], [ %message_.i385856, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i399 ], [ %message_.i385, %invoke.cont207 ], [ %message_.i385848, %invoke.cont207.thread ] - store ptr null, ptr %message_.i385850860, align 8 + %.pr913 = load ptr, ptr %message_.i413912, align 8 + %cmp.not.i.i426 = icmp eq ptr %.pr913, null + br i1 %cmp.not.i.i426, label %_ZN7testing15AssertionResultD2Ev.exit428, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i427 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i427: ; preds = %if.end229 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr913) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr913) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit428 + +_ZN7testing15AssertionResultD2Ev.exit428: ; preds = %invoke.cont207, %invoke.cont207.thread, %if.end229, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i427 + %message_.i413906916 = phi ptr [ %message_.i413912, %if.end229 ], [ %message_.i413912, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i427 ], [ %message_.i413, %invoke.cont207 ], [ %message_.i413904, %invoke.cont207.thread ] + store ptr null, ptr %message_.i413906916, align 8 %15 = load i64, ptr %b, align 8 - %and.i.i.i401 = and i64 %15, 1 - %tobool.i.not.i.i402 = icmp eq i64 %and.i.i.i401, 0 + %and.i.i.i429 = and i64 %15, 1 + %tobool.i.not.i.i430 = icmp eq i64 %and.i.i.i429, 0 %16 = load ptr, ptr %data_.i.i7.i, align 8 - %cond.i.i404 = select i1 %tobool.i.not.i.i402, ptr %data_.i.i7.i, ptr %16 + %cond.i.i432 = select i1 %tobool.i.not.i.i430, ptr %data_.i.i7.i, ptr %16 %17 = load i64, ptr %a, align 8 - %and.i.i5.i405 = and i64 %17, 1 - %tobool.i.not.i6.i406 = icmp eq i64 %and.i.i5.i405, 0 + %and.i.i5.i433 = and i64 %17, 1 + %tobool.i.not.i6.i434 = icmp eq i64 %and.i.i5.i433, 0 %18 = load ptr, ptr %data_.i.i.i, align 8 - %cond.i8.i408 = select i1 %tobool.i.not.i6.i406, ptr %data_.i.i.i, ptr %18 - %shr.i.i.i409 = lshr i64 %15, 1 - %shr.i.i9.i410 = lshr i64 %17, 1 - %add.ptr4.i411 = getelementptr inbounds i32, ptr %cond.i8.i408, i64 %shr.i.i9.i410 - %cond.i.i.i.i.i.i.v.i412 = call i64 @llvm.umin.i64(i64 %shr.i.i9.i410, i64 %shr.i.i.i409) - %cond.i.i.i.i.i.i.i413 = getelementptr inbounds i32, ptr %cond.i.i404, i64 %cond.i.i.i.i.i.i.v.i412 - %cmp.not18.i.i.i.i.i.i414 = icmp eq i64 %cond.i.i.i.i.i.i.v.i412, 0 - br i1 %cmp.not18.i.i.i.i.i.i414, label %invoke.cont233, label %for.body.i.i.i.i.i.i415 - -for.body.i.i.i.i.i.i415: ; preds = %_ZN7testing15AssertionResultD2Ev.exit400, %for.inc.i.i.i.i.i.i421 - %__first2.addr.020.i.i.i.i.i.i416 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i423, %for.inc.i.i.i.i.i.i421 ], [ %cond.i8.i408, %_ZN7testing15AssertionResultD2Ev.exit400 ] - %__first1.addr.019.i.i.i.i.i.i417 = phi ptr [ %incdec.ptr.i.i.i.i.i.i422, %for.inc.i.i.i.i.i.i421 ], [ %cond.i.i404, %_ZN7testing15AssertionResultD2Ev.exit400 ] - %19 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i417, align 4 - %20 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i416, align 4 - %cmp.i15.i.i.i.i.i.i418 = icmp slt i32 %19, %20 - br i1 %cmp.i15.i.i.i.i.i.i418, label %invoke.cont233.thread867, label %if.end.i.i.i.i.i.i419 - -invoke.cont233.thread867: ; preds = %for.body.i.i.i.i.i.i415 + %cond.i8.i436 = select i1 %tobool.i.not.i6.i434, ptr %data_.i.i.i, ptr %18 + %shr.i.i.i437 = lshr i64 %15, 1 + %add.ptr.i438 = getelementptr inbounds i32, ptr %cond.i.i432, i64 %shr.i.i.i437 + %shr.i.i9.i439 = lshr i64 %17, 1 + %add.ptr4.i440 = getelementptr inbounds i32, ptr %cond.i8.i436, i64 %shr.i.i9.i439 + %add.ptr.idx.i441 = shl nsw i64 %shr.i.i.i437, 2 + %add.ptr4.idx.i442 = shl nsw i64 %shr.i.i9.i439, 2 + %cmp.i.i.i.i.i.i.i443 = icmp ult i64 %add.ptr4.idx.i442, %add.ptr.idx.i441 + %add.ptr.i.i.i.i.i.i.i444 = getelementptr inbounds i8, ptr %cond.i.i432, i64 %add.ptr4.idx.i442 + %cond.i.i.i.i.i.i.i445 = select i1 %cmp.i.i.i.i.i.i.i443, ptr %add.ptr.i.i.i.i.i.i.i444, ptr %add.ptr.i438 + %cmp.not18.i.i.i.i.i.i446 = icmp eq ptr %cond.i.i.i.i.i.i.i445, %cond.i.i432 + br i1 %cmp.not18.i.i.i.i.i.i446, label %invoke.cont233, label %for.body.i.i.i.i.i.i447 + +for.body.i.i.i.i.i.i447: ; preds = %_ZN7testing15AssertionResultD2Ev.exit428, %for.inc.i.i.i.i.i.i453 + %__first2.addr.020.i.i.i.i.i.i448 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i455, %for.inc.i.i.i.i.i.i453 ], [ %cond.i8.i436, %_ZN7testing15AssertionResultD2Ev.exit428 ] + %__first1.addr.019.i.i.i.i.i.i449 = phi ptr [ %incdec.ptr.i.i.i.i.i.i454, %for.inc.i.i.i.i.i.i453 ], [ %cond.i.i432, %_ZN7testing15AssertionResultD2Ev.exit428 ] + %19 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i449, align 4 + %20 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i448, align 4 + %cmp.i15.i.i.i.i.i.i450 = icmp slt i32 %19, %20 + br i1 %cmp.i15.i.i.i.i.i.i450, label %invoke.cont233.thread923, label %if.end.i.i.i.i.i.i451 + +invoke.cont233.thread923: ; preds = %for.body.i.i.i.i.i.i447 store i8 0, ptr %gtest_ar_231, align 8 - %message_.i430871 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_231, i64 0, i32 1 - store ptr null, ptr %message_.i430871, align 8 + %message_.i462927 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_231, i64 0, i32 1 + store ptr null, ptr %message_.i462927, align 8 br label %if.else240 -if.end.i.i.i.i.i.i419: ; preds = %for.body.i.i.i.i.i.i415 - %cmp.i16.i.i.i.i.i.i420 = icmp slt i32 %20, %19 - br i1 %cmp.i16.i.i.i.i.i.i420, label %invoke.cont233.thread, label %for.inc.i.i.i.i.i.i421 +if.end.i.i.i.i.i.i451: ; preds = %for.body.i.i.i.i.i.i447 + %cmp.i16.i.i.i.i.i.i452 = icmp slt i32 %20, %19 + br i1 %cmp.i16.i.i.i.i.i.i452, label %invoke.cont233.thread, label %for.inc.i.i.i.i.i.i453 -invoke.cont233.thread: ; preds = %if.end.i.i.i.i.i.i419 +invoke.cont233.thread: ; preds = %if.end.i.i.i.i.i.i451 store i8 1, ptr %gtest_ar_231, align 8 - %message_.i430864 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_231, i64 0, i32 1 - store ptr null, ptr %message_.i430864, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit445 - -for.inc.i.i.i.i.i.i421: ; preds = %if.end.i.i.i.i.i.i419 - %incdec.ptr.i.i.i.i.i.i422 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i417, i64 1 - %incdec.ptr6.i.i.i.i.i.i423 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i416, i64 1 - %cmp.not.i.i.i.i.i.i424 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i422, %cond.i.i.i.i.i.i.i413 - br i1 %cmp.not.i.i.i.i.i.i424, label %invoke.cont233, label %for.body.i.i.i.i.i.i415, !llvm.loop !1078 - -invoke.cont233: ; preds = %for.inc.i.i.i.i.i.i421, %_ZN7testing15AssertionResultD2Ev.exit400 - %__first2.addr.0.lcssa.i.i.i.i.i.i426 = phi ptr [ %cond.i8.i408, %_ZN7testing15AssertionResultD2Ev.exit400 ], [ %incdec.ptr6.i.i.i.i.i.i423, %for.inc.i.i.i.i.i.i421 ] - %cmp9.i.i.i.i.i.i427.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i426, %add.ptr4.i411 - %frombool236 = zext i1 %cmp9.i.i.i.i.i.i427.not to i8 + %message_.i462920 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_231, i64 0, i32 1 + store ptr null, ptr %message_.i462920, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit477 + +for.inc.i.i.i.i.i.i453: ; preds = %if.end.i.i.i.i.i.i451 + %incdec.ptr.i.i.i.i.i.i454 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i449, i64 1 + %incdec.ptr6.i.i.i.i.i.i455 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i448, i64 1 + %cmp.not.i.i.i.i.i.i456 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i454, %cond.i.i.i.i.i.i.i445 + br i1 %cmp.not.i.i.i.i.i.i456, label %invoke.cont233, label %for.body.i.i.i.i.i.i447, !llvm.loop !1078 + +invoke.cont233: ; preds = %for.inc.i.i.i.i.i.i453, %_ZN7testing15AssertionResultD2Ev.exit428 + %__first2.addr.0.lcssa.i.i.i.i.i.i458 = phi ptr [ %cond.i8.i436, %_ZN7testing15AssertionResultD2Ev.exit428 ], [ %incdec.ptr6.i.i.i.i.i.i455, %for.inc.i.i.i.i.i.i453 ] + %cmp9.i.i.i.i.i.i459.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i458, %add.ptr4.i440 + %frombool236 = zext i1 %cmp9.i.i.i.i.i.i459.not to i8 store i8 %frombool236, ptr %gtest_ar_231, align 8 - %message_.i430 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_231, i64 0, i32 1 - store ptr null, ptr %message_.i430, align 8 - br i1 %cmp9.i.i.i.i.i.i427.not, label %_ZN7testing15AssertionResultD2Ev.exit445, label %if.else240 + %message_.i462 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_231, i64 0, i32 1 + store ptr null, ptr %message_.i462, align 8 + br i1 %cmp9.i.i.i.i.i.i459.not, label %_ZN7testing15AssertionResultD2Ev.exit477, label %if.else240 -ehcleanup230: ; preds = %_ZN7testing7MessageD2Ev.exit396, %lpad215 - %.pn32.pn.pn = phi { ptr, i32 } [ %.pn32.pn, %_ZN7testing7MessageD2Ev.exit396 ], [ %9, %lpad215 ] +ehcleanup230: ; preds = %_ZN7testing7MessageD2Ev.exit424, %lpad215 + %.pn32.pn.pn = phi { ptr, i32 } [ %.pn32.pn, %_ZN7testing7MessageD2Ev.exit424 ], [ %9, %lpad215 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_205) #29 br label %ehcleanup417 -if.else240: ; preds = %invoke.cont233.thread867, %invoke.cont233 - %message_.i430873 = phi ptr [ %message_.i430871, %invoke.cont233.thread867 ], [ %message_.i430, %invoke.cont233 ] +if.else240: ; preds = %invoke.cont233.thread923, %invoke.cont233 + %message_.i462929 = phi ptr [ %message_.i462927, %invoke.cont233.thread923 ], [ %message_.i462, %invoke.cont233 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp241) to label %invoke.cont243 unwind label %lpad242 @@ -52305,13 +52313,13 @@ invoke.cont252: ; preds = %invoke.cont250 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp244) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp245) #29 %21 = load ptr, ptr %ref.tmp241, align 8 - %cmp.not.i.i432 = icmp eq ptr %21, null - br i1 %cmp.not.i.i432, label %if.end256, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i433 + %cmp.not.i.i464 = icmp eq ptr %21, null + br i1 %cmp.not.i.i464, label %if.end256, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i465 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i433: ; preds = %invoke.cont252 - %vtable.i.i.i434 = load ptr, ptr %21, align 8 - %vfn.i.i.i435 = getelementptr inbounds ptr, ptr %vtable.i.i.i434, i64 1 - %22 = load ptr, ptr %vfn.i.i.i435, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i465: ; preds = %invoke.cont252 + %vtable.i.i.i466 = load ptr, ptr %21, align 8 + %vfn.i.i.i467 = getelementptr inbounds ptr, ptr %vtable.i.i.i466, i64 1 + %22 = load ptr, ptr %vfn.i.i.i467, align 8 call void %22(ptr noundef nonnull align 8 dereferenceable(128) %21) #29 br label %if.end256 @@ -52344,98 +52352,102 @@ ehcleanup254: ; preds = %lpad251, %lpad249 ehcleanup255: ; preds = %ehcleanup254, %lpad246 %.pn36.pn = phi { ptr, i32 } [ %.pn36, %ehcleanup254 ], [ %24, %lpad246 ] %27 = load ptr, ptr %ref.tmp241, align 8 - %cmp.not.i.i437 = icmp eq ptr %27, null - br i1 %cmp.not.i.i437, label %_ZN7testing7MessageD2Ev.exit441, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i438 + %cmp.not.i.i469 = icmp eq ptr %27, null + br i1 %cmp.not.i.i469, label %_ZN7testing7MessageD2Ev.exit473, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i470 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i438: ; preds = %ehcleanup255 - %vtable.i.i.i439 = load ptr, ptr %27, align 8 - %vfn.i.i.i440 = getelementptr inbounds ptr, ptr %vtable.i.i.i439, i64 1 - %28 = load ptr, ptr %vfn.i.i.i440, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i470: ; preds = %ehcleanup255 + %vtable.i.i.i471 = load ptr, ptr %27, align 8 + %vfn.i.i.i472 = getelementptr inbounds ptr, ptr %vtable.i.i.i471, i64 1 + %28 = load ptr, ptr %vfn.i.i.i472, align 8 call void %28(ptr noundef nonnull align 8 dereferenceable(128) %27) #29 - br label %_ZN7testing7MessageD2Ev.exit441 + br label %_ZN7testing7MessageD2Ev.exit473 -_ZN7testing7MessageD2Ev.exit441: ; preds = %ehcleanup255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i438 +_ZN7testing7MessageD2Ev.exit473: ; preds = %ehcleanup255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i470 store ptr null, ptr %ref.tmp241, align 8 br label %ehcleanup257 -if.end256: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i433, %invoke.cont252 +if.end256: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i465, %invoke.cont252 store ptr null, ptr %ref.tmp241, align 8 - %.pr874 = load ptr, ptr %message_.i430873, align 8 - %cmp.not.i.i443 = icmp eq ptr %.pr874, null - br i1 %cmp.not.i.i443, label %_ZN7testing15AssertionResultD2Ev.exit445, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i444 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i444: ; preds = %if.end256 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr874) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr874) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit445 - -_ZN7testing15AssertionResultD2Ev.exit445: ; preds = %invoke.cont233, %invoke.cont233.thread, %if.end256, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i444 - %message_.i430866877 = phi ptr [ %message_.i430873, %if.end256 ], [ %message_.i430873, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i444 ], [ %message_.i430, %invoke.cont233 ], [ %message_.i430864, %invoke.cont233.thread ] - store ptr null, ptr %message_.i430866877, align 8 + %.pr930 = load ptr, ptr %message_.i462929, align 8 + %cmp.not.i.i475 = icmp eq ptr %.pr930, null + br i1 %cmp.not.i.i475, label %_ZN7testing15AssertionResultD2Ev.exit477, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i476 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i476: ; preds = %if.end256 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr930) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr930) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit477 + +_ZN7testing15AssertionResultD2Ev.exit477: ; preds = %invoke.cont233, %invoke.cont233.thread, %if.end256, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i476 + %message_.i462922933 = phi ptr [ %message_.i462929, %if.end256 ], [ %message_.i462929, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i476 ], [ %message_.i462, %invoke.cont233 ], [ %message_.i462920, %invoke.cont233.thread ] + store ptr null, ptr %message_.i462922933, align 8 %29 = load i64, ptr %b, align 8 - %and.i.i.i.i446 = and i64 %29, 1 - %tobool.i.not.i.i.i447 = icmp eq i64 %and.i.i.i.i446, 0 + %and.i.i.i.i478 = and i64 %29, 1 + %tobool.i.not.i.i.i479 = icmp eq i64 %and.i.i.i.i478, 0 %30 = load ptr, ptr %data_.i.i7.i, align 8 - %cond.i.i.i449 = select i1 %tobool.i.not.i.i.i447, ptr %data_.i.i7.i, ptr %30 + %cond.i.i.i481 = select i1 %tobool.i.not.i.i.i479, ptr %data_.i.i7.i, ptr %30 %31 = load i64, ptr %a, align 8 - %and.i.i5.i.i450 = and i64 %31, 1 - %tobool.i.not.i6.i.i451 = icmp eq i64 %and.i.i5.i.i450, 0 + %and.i.i5.i.i482 = and i64 %31, 1 + %tobool.i.not.i6.i.i483 = icmp eq i64 %and.i.i5.i.i482, 0 %32 = load ptr, ptr %data_.i.i.i, align 8 - %cond.i8.i.i453 = select i1 %tobool.i.not.i6.i.i451, ptr %data_.i.i.i, ptr %32 - %shr.i.i.i.i454 = lshr i64 %29, 1 - %shr.i.i9.i.i455 = lshr i64 %31, 1 - %add.ptr4.i.i456 = getelementptr inbounds i32, ptr %cond.i8.i.i453, i64 %shr.i.i9.i.i455 - %cond.i.i.i.i.i.i.v.i.i457 = call i64 @llvm.umin.i64(i64 %shr.i.i9.i.i455, i64 %shr.i.i.i.i454) - %cond.i.i.i.i.i.i.i.i458 = getelementptr inbounds i32, ptr %cond.i.i.i449, i64 %cond.i.i.i.i.i.i.v.i.i457 - %cmp.not18.i.i.i.i.i.i.i459 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i457, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i459, label %invoke.cont260, label %for.body.i.i.i.i.i.i.i460 - -for.body.i.i.i.i.i.i.i460: ; preds = %_ZN7testing15AssertionResultD2Ev.exit445, %for.inc.i.i.i.i.i.i.i466 - %__first2.addr.020.i.i.i.i.i.i.i461 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i468, %for.inc.i.i.i.i.i.i.i466 ], [ %cond.i8.i.i453, %_ZN7testing15AssertionResultD2Ev.exit445 ] - %__first1.addr.019.i.i.i.i.i.i.i462 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i467, %for.inc.i.i.i.i.i.i.i466 ], [ %cond.i.i.i449, %_ZN7testing15AssertionResultD2Ev.exit445 ] - %33 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i462, align 4 - %34 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i461, align 4 - %cmp.i15.i.i.i.i.i.i.i463 = icmp slt i32 %33, %34 - br i1 %cmp.i15.i.i.i.i.i.i.i463, label %invoke.cont260.thread884, label %if.end.i.i.i.i.i.i.i464 - -invoke.cont260.thread884: ; preds = %for.body.i.i.i.i.i.i.i460 + %cond.i8.i.i485 = select i1 %tobool.i.not.i6.i.i483, ptr %data_.i.i.i, ptr %32 + %shr.i.i.i.i486 = lshr i64 %29, 1 + %add.ptr.i.i487 = getelementptr inbounds i32, ptr %cond.i.i.i481, i64 %shr.i.i.i.i486 + %shr.i.i9.i.i488 = lshr i64 %31, 1 + %add.ptr4.i.i489 = getelementptr inbounds i32, ptr %cond.i8.i.i485, i64 %shr.i.i9.i.i488 + %add.ptr.idx.i.i490 = shl nsw i64 %shr.i.i.i.i486, 2 + %add.ptr4.idx.i.i491 = shl nsw i64 %shr.i.i9.i.i488, 2 + %cmp.i.i.i.i.i.i.i.i492 = icmp ult i64 %add.ptr4.idx.i.i491, %add.ptr.idx.i.i490 + %add.ptr.i.i.i.i.i.i.i.i493 = getelementptr inbounds i8, ptr %cond.i.i.i481, i64 %add.ptr4.idx.i.i491 + %cond.i.i.i.i.i.i.i.i494 = select i1 %cmp.i.i.i.i.i.i.i.i492, ptr %add.ptr.i.i.i.i.i.i.i.i493, ptr %add.ptr.i.i487 + %cmp.not18.i.i.i.i.i.i.i495 = icmp eq ptr %cond.i.i.i.i.i.i.i.i494, %cond.i.i.i481 + br i1 %cmp.not18.i.i.i.i.i.i.i495, label %invoke.cont260, label %for.body.i.i.i.i.i.i.i496 + +for.body.i.i.i.i.i.i.i496: ; preds = %_ZN7testing15AssertionResultD2Ev.exit477, %for.inc.i.i.i.i.i.i.i502 + %__first2.addr.020.i.i.i.i.i.i.i497 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i504, %for.inc.i.i.i.i.i.i.i502 ], [ %cond.i8.i.i485, %_ZN7testing15AssertionResultD2Ev.exit477 ] + %__first1.addr.019.i.i.i.i.i.i.i498 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i503, %for.inc.i.i.i.i.i.i.i502 ], [ %cond.i.i.i481, %_ZN7testing15AssertionResultD2Ev.exit477 ] + %33 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i498, align 4 + %34 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i497, align 4 + %cmp.i15.i.i.i.i.i.i.i499 = icmp slt i32 %33, %34 + br i1 %cmp.i15.i.i.i.i.i.i.i499, label %invoke.cont260.thread940, label %if.end.i.i.i.i.i.i.i500 + +invoke.cont260.thread940: ; preds = %for.body.i.i.i.i.i.i.i496 store i8 0, ptr %gtest_ar_258, align 8 - %message_.i475888 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_258, i64 0, i32 1 - store ptr null, ptr %message_.i475888, align 8 + %message_.i511944 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_258, i64 0, i32 1 + store ptr null, ptr %message_.i511944, align 8 br label %if.else267 -if.end.i.i.i.i.i.i.i464: ; preds = %for.body.i.i.i.i.i.i.i460 - %cmp.i16.i.i.i.i.i.i.i465 = icmp slt i32 %34, %33 - br i1 %cmp.i16.i.i.i.i.i.i.i465, label %invoke.cont260.thread, label %for.inc.i.i.i.i.i.i.i466 +if.end.i.i.i.i.i.i.i500: ; preds = %for.body.i.i.i.i.i.i.i496 + %cmp.i16.i.i.i.i.i.i.i501 = icmp slt i32 %34, %33 + br i1 %cmp.i16.i.i.i.i.i.i.i501, label %invoke.cont260.thread, label %for.inc.i.i.i.i.i.i.i502 -invoke.cont260.thread: ; preds = %if.end.i.i.i.i.i.i.i464 +invoke.cont260.thread: ; preds = %if.end.i.i.i.i.i.i.i500 store i8 1, ptr %gtest_ar_258, align 8 - %message_.i475881 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_258, i64 0, i32 1 - store ptr null, ptr %message_.i475881, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit490 - -for.inc.i.i.i.i.i.i.i466: ; preds = %if.end.i.i.i.i.i.i.i464 - %incdec.ptr.i.i.i.i.i.i.i467 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i462, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i468 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i461, i64 1 - %cmp.not.i.i.i.i.i.i.i469 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i467, %cond.i.i.i.i.i.i.i.i458 - br i1 %cmp.not.i.i.i.i.i.i.i469, label %invoke.cont260, label %for.body.i.i.i.i.i.i.i460, !llvm.loop !1078 - -invoke.cont260: ; preds = %for.inc.i.i.i.i.i.i.i466, %_ZN7testing15AssertionResultD2Ev.exit445 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i471 = phi ptr [ %cond.i8.i.i453, %_ZN7testing15AssertionResultD2Ev.exit445 ], [ %incdec.ptr6.i.i.i.i.i.i.i468, %for.inc.i.i.i.i.i.i.i466 ] - %cmp9.i.i.i.i.i.i.i472.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i471, %add.ptr4.i.i456 - %frombool263 = zext i1 %cmp9.i.i.i.i.i.i.i472.not to i8 + %message_.i511937 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_258, i64 0, i32 1 + store ptr null, ptr %message_.i511937, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit526 + +for.inc.i.i.i.i.i.i.i502: ; preds = %if.end.i.i.i.i.i.i.i500 + %incdec.ptr.i.i.i.i.i.i.i503 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i498, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i504 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i497, i64 1 + %cmp.not.i.i.i.i.i.i.i505 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i503, %cond.i.i.i.i.i.i.i.i494 + br i1 %cmp.not.i.i.i.i.i.i.i505, label %invoke.cont260, label %for.body.i.i.i.i.i.i.i496, !llvm.loop !1078 + +invoke.cont260: ; preds = %for.inc.i.i.i.i.i.i.i502, %_ZN7testing15AssertionResultD2Ev.exit477 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i507 = phi ptr [ %cond.i8.i.i485, %_ZN7testing15AssertionResultD2Ev.exit477 ], [ %incdec.ptr6.i.i.i.i.i.i.i504, %for.inc.i.i.i.i.i.i.i502 ] + %cmp9.i.i.i.i.i.i.i508.not = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i507, %add.ptr4.i.i489 + %frombool263 = zext i1 %cmp9.i.i.i.i.i.i.i508.not to i8 store i8 %frombool263, ptr %gtest_ar_258, align 8 - %message_.i475 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_258, i64 0, i32 1 - store ptr null, ptr %message_.i475, align 8 - br i1 %cmp9.i.i.i.i.i.i.i472.not, label %_ZN7testing15AssertionResultD2Ev.exit490, label %if.else267 + %message_.i511 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_258, i64 0, i32 1 + store ptr null, ptr %message_.i511, align 8 + br i1 %cmp9.i.i.i.i.i.i.i508.not, label %_ZN7testing15AssertionResultD2Ev.exit526, label %if.else267 -ehcleanup257: ; preds = %_ZN7testing7MessageD2Ev.exit441, %lpad242 - %.pn36.pn.pn = phi { ptr, i32 } [ %.pn36.pn, %_ZN7testing7MessageD2Ev.exit441 ], [ %23, %lpad242 ] +ehcleanup257: ; preds = %_ZN7testing7MessageD2Ev.exit473, %lpad242 + %.pn36.pn.pn = phi { ptr, i32 } [ %.pn36.pn, %_ZN7testing7MessageD2Ev.exit473 ], [ %23, %lpad242 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_231) #29 br label %ehcleanup417 -if.else267: ; preds = %invoke.cont260.thread884, %invoke.cont260 - %message_.i475890 = phi ptr [ %message_.i475888, %invoke.cont260.thread884 ], [ %message_.i475, %invoke.cont260 ] +if.else267: ; preds = %invoke.cont260.thread940, %invoke.cont260 + %message_.i511946 = phi ptr [ %message_.i511944, %invoke.cont260.thread940 ], [ %message_.i511, %invoke.cont260 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp268) to label %invoke.cont270 unwind label %lpad269 @@ -52456,13 +52468,13 @@ invoke.cont279: ; preds = %invoke.cont277 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp271) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp272) #29 %35 = load ptr, ptr %ref.tmp268, align 8 - %cmp.not.i.i477 = icmp eq ptr %35, null - br i1 %cmp.not.i.i477, label %if.end283, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478 + %cmp.not.i.i513 = icmp eq ptr %35, null + br i1 %cmp.not.i.i513, label %if.end283, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i514 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478: ; preds = %invoke.cont279 - %vtable.i.i.i479 = load ptr, ptr %35, align 8 - %vfn.i.i.i480 = getelementptr inbounds ptr, ptr %vtable.i.i.i479, i64 1 - %36 = load ptr, ptr %vfn.i.i.i480, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i514: ; preds = %invoke.cont279 + %vtable.i.i.i515 = load ptr, ptr %35, align 8 + %vfn.i.i.i516 = getelementptr inbounds ptr, ptr %vtable.i.i.i515, i64 1 + %36 = load ptr, ptr %vfn.i.i.i516, align 8 call void %36(ptr noundef nonnull align 8 dereferenceable(128) %35) #29 br label %if.end283 @@ -52495,98 +52507,102 @@ ehcleanup281: ; preds = %lpad278, %lpad276 ehcleanup282: ; preds = %ehcleanup281, %lpad273 %.pn40.pn = phi { ptr, i32 } [ %.pn40, %ehcleanup281 ], [ %38, %lpad273 ] %41 = load ptr, ptr %ref.tmp268, align 8 - %cmp.not.i.i482 = icmp eq ptr %41, null - br i1 %cmp.not.i.i482, label %_ZN7testing7MessageD2Ev.exit486, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i483 + %cmp.not.i.i518 = icmp eq ptr %41, null + br i1 %cmp.not.i.i518, label %_ZN7testing7MessageD2Ev.exit522, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i519 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i483: ; preds = %ehcleanup282 - %vtable.i.i.i484 = load ptr, ptr %41, align 8 - %vfn.i.i.i485 = getelementptr inbounds ptr, ptr %vtable.i.i.i484, i64 1 - %42 = load ptr, ptr %vfn.i.i.i485, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i519: ; preds = %ehcleanup282 + %vtable.i.i.i520 = load ptr, ptr %41, align 8 + %vfn.i.i.i521 = getelementptr inbounds ptr, ptr %vtable.i.i.i520, i64 1 + %42 = load ptr, ptr %vfn.i.i.i521, align 8 call void %42(ptr noundef nonnull align 8 dereferenceable(128) %41) #29 - br label %_ZN7testing7MessageD2Ev.exit486 + br label %_ZN7testing7MessageD2Ev.exit522 -_ZN7testing7MessageD2Ev.exit486: ; preds = %ehcleanup282, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i483 +_ZN7testing7MessageD2Ev.exit522: ; preds = %ehcleanup282, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i519 store ptr null, ptr %ref.tmp268, align 8 br label %ehcleanup284 -if.end283: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i478, %invoke.cont279 +if.end283: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i514, %invoke.cont279 store ptr null, ptr %ref.tmp268, align 8 - %.pr891 = load ptr, ptr %message_.i475890, align 8 - %cmp.not.i.i488 = icmp eq ptr %.pr891, null - br i1 %cmp.not.i.i488, label %_ZN7testing15AssertionResultD2Ev.exit490, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i489 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i489: ; preds = %if.end283 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr891) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr891) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit490 - -_ZN7testing15AssertionResultD2Ev.exit490: ; preds = %invoke.cont260, %invoke.cont260.thread, %if.end283, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i489 - %message_.i475883894 = phi ptr [ %message_.i475890, %if.end283 ], [ %message_.i475890, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i489 ], [ %message_.i475, %invoke.cont260 ], [ %message_.i475881, %invoke.cont260.thread ] - store ptr null, ptr %message_.i475883894, align 8 + %.pr947 = load ptr, ptr %message_.i511946, align 8 + %cmp.not.i.i524 = icmp eq ptr %.pr947, null + br i1 %cmp.not.i.i524, label %_ZN7testing15AssertionResultD2Ev.exit526, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i525 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i525: ; preds = %if.end283 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr947) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr947) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit526 + +_ZN7testing15AssertionResultD2Ev.exit526: ; preds = %invoke.cont260, %invoke.cont260.thread, %if.end283, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i525 + %message_.i511939950 = phi ptr [ %message_.i511946, %if.end283 ], [ %message_.i511946, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i525 ], [ %message_.i511, %invoke.cont260 ], [ %message_.i511937, %invoke.cont260.thread ] + store ptr null, ptr %message_.i511939950, align 8 %43 = load i64, ptr %a, align 8 - %and.i.i.i.i491 = and i64 %43, 1 - %tobool.i.not.i.i.i492 = icmp eq i64 %and.i.i.i.i491, 0 + %and.i.i.i.i527 = and i64 %43, 1 + %tobool.i.not.i.i.i528 = icmp eq i64 %and.i.i.i.i527, 0 %44 = load ptr, ptr %data_.i.i.i, align 8 - %cond.i.i.i494 = select i1 %tobool.i.not.i.i.i492, ptr %data_.i.i.i, ptr %44 + %cond.i.i.i530 = select i1 %tobool.i.not.i.i.i528, ptr %data_.i.i.i, ptr %44 %45 = load i64, ptr %b, align 8 - %and.i.i5.i.i495 = and i64 %45, 1 - %tobool.i.not.i6.i.i496 = icmp eq i64 %and.i.i5.i.i495, 0 + %and.i.i5.i.i531 = and i64 %45, 1 + %tobool.i.not.i6.i.i532 = icmp eq i64 %and.i.i5.i.i531, 0 %46 = load ptr, ptr %data_.i.i7.i, align 8 - %cond.i8.i.i498 = select i1 %tobool.i.not.i6.i.i496, ptr %data_.i.i7.i, ptr %46 - %shr.i.i.i.i499 = lshr i64 %43, 1 - %shr.i.i9.i.i500 = lshr i64 %45, 1 - %add.ptr4.i.i501 = getelementptr inbounds i32, ptr %cond.i8.i.i498, i64 %shr.i.i9.i.i500 - %cond.i.i.i.i.i.i.v.i.i502 = call i64 @llvm.umin.i64(i64 %shr.i.i9.i.i500, i64 %shr.i.i.i.i499) - %cond.i.i.i.i.i.i.i.i503 = getelementptr inbounds i32, ptr %cond.i.i.i494, i64 %cond.i.i.i.i.i.i.v.i.i502 - %cmp.not18.i.i.i.i.i.i.i504 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i502, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i504, label %invoke.cont287, label %for.body.i.i.i.i.i.i.i505 - -for.body.i.i.i.i.i.i.i505: ; preds = %_ZN7testing15AssertionResultD2Ev.exit490, %for.inc.i.i.i.i.i.i.i511 - %__first2.addr.020.i.i.i.i.i.i.i506 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i513, %for.inc.i.i.i.i.i.i.i511 ], [ %cond.i8.i.i498, %_ZN7testing15AssertionResultD2Ev.exit490 ] - %__first1.addr.019.i.i.i.i.i.i.i507 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i512, %for.inc.i.i.i.i.i.i.i511 ], [ %cond.i.i.i494, %_ZN7testing15AssertionResultD2Ev.exit490 ] - %47 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i507, align 4 - %48 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i506, align 4 - %cmp.i15.i.i.i.i.i.i.i508 = icmp slt i32 %47, %48 - br i1 %cmp.i15.i.i.i.i.i.i.i508, label %invoke.cont287.thread, label %if.end.i.i.i.i.i.i.i509 - -invoke.cont287.thread: ; preds = %for.body.i.i.i.i.i.i.i505 + %cond.i8.i.i534 = select i1 %tobool.i.not.i6.i.i532, ptr %data_.i.i7.i, ptr %46 + %shr.i.i.i.i535 = lshr i64 %43, 1 + %add.ptr.i.i536 = getelementptr inbounds i32, ptr %cond.i.i.i530, i64 %shr.i.i.i.i535 + %shr.i.i9.i.i537 = lshr i64 %45, 1 + %add.ptr4.i.i538 = getelementptr inbounds i32, ptr %cond.i8.i.i534, i64 %shr.i.i9.i.i537 + %add.ptr.idx.i.i539 = shl nsw i64 %shr.i.i.i.i535, 2 + %add.ptr4.idx.i.i540 = shl nsw i64 %shr.i.i9.i.i537, 2 + %cmp.i.i.i.i.i.i.i.i541 = icmp ult i64 %add.ptr4.idx.i.i540, %add.ptr.idx.i.i539 + %add.ptr.i.i.i.i.i.i.i.i542 = getelementptr inbounds i8, ptr %cond.i.i.i530, i64 %add.ptr4.idx.i.i540 + %cond.i.i.i.i.i.i.i.i543 = select i1 %cmp.i.i.i.i.i.i.i.i541, ptr %add.ptr.i.i.i.i.i.i.i.i542, ptr %add.ptr.i.i536 + %cmp.not18.i.i.i.i.i.i.i544 = icmp eq ptr %cond.i.i.i.i.i.i.i.i543, %cond.i.i.i530 + br i1 %cmp.not18.i.i.i.i.i.i.i544, label %invoke.cont287, label %for.body.i.i.i.i.i.i.i545 + +for.body.i.i.i.i.i.i.i545: ; preds = %_ZN7testing15AssertionResultD2Ev.exit526, %for.inc.i.i.i.i.i.i.i551 + %__first2.addr.020.i.i.i.i.i.i.i546 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i553, %for.inc.i.i.i.i.i.i.i551 ], [ %cond.i8.i.i534, %_ZN7testing15AssertionResultD2Ev.exit526 ] + %__first1.addr.019.i.i.i.i.i.i.i547 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i552, %for.inc.i.i.i.i.i.i.i551 ], [ %cond.i.i.i530, %_ZN7testing15AssertionResultD2Ev.exit526 ] + %47 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i547, align 4 + %48 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i546, align 4 + %cmp.i15.i.i.i.i.i.i.i548 = icmp slt i32 %47, %48 + br i1 %cmp.i15.i.i.i.i.i.i.i548, label %invoke.cont287.thread, label %if.end.i.i.i.i.i.i.i549 + +invoke.cont287.thread: ; preds = %for.body.i.i.i.i.i.i.i545 store i8 1, ptr %gtest_ar_285, align 8 - %message_.i520897 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_285, i64 0, i32 1 - store ptr null, ptr %message_.i520897, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit535 + %message_.i560953 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_285, i64 0, i32 1 + store ptr null, ptr %message_.i560953, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit575 -if.end.i.i.i.i.i.i.i509: ; preds = %for.body.i.i.i.i.i.i.i505 - %cmp.i16.i.i.i.i.i.i.i510 = icmp slt i32 %48, %47 - br i1 %cmp.i16.i.i.i.i.i.i.i510, label %invoke.cont287.thread900, label %for.inc.i.i.i.i.i.i.i511 +if.end.i.i.i.i.i.i.i549: ; preds = %for.body.i.i.i.i.i.i.i545 + %cmp.i16.i.i.i.i.i.i.i550 = icmp slt i32 %48, %47 + br i1 %cmp.i16.i.i.i.i.i.i.i550, label %invoke.cont287.thread956, label %for.inc.i.i.i.i.i.i.i551 -invoke.cont287.thread900: ; preds = %if.end.i.i.i.i.i.i.i509 +invoke.cont287.thread956: ; preds = %if.end.i.i.i.i.i.i.i549 store i8 0, ptr %gtest_ar_285, align 8 - %message_.i520903 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_285, i64 0, i32 1 - store ptr null, ptr %message_.i520903, align 8 + %message_.i560959 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_285, i64 0, i32 1 + store ptr null, ptr %message_.i560959, align 8 br label %if.else293 -for.inc.i.i.i.i.i.i.i511: ; preds = %if.end.i.i.i.i.i.i.i509 - %incdec.ptr.i.i.i.i.i.i.i512 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i507, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i513 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i506, i64 1 - %cmp.not.i.i.i.i.i.i.i514 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i512, %cond.i.i.i.i.i.i.i.i503 - br i1 %cmp.not.i.i.i.i.i.i.i514, label %invoke.cont287, label %for.body.i.i.i.i.i.i.i505, !llvm.loop !1078 +for.inc.i.i.i.i.i.i.i551: ; preds = %if.end.i.i.i.i.i.i.i549 + %incdec.ptr.i.i.i.i.i.i.i552 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i547, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i553 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i546, i64 1 + %cmp.not.i.i.i.i.i.i.i554 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i552, %cond.i.i.i.i.i.i.i.i543 + br i1 %cmp.not.i.i.i.i.i.i.i554, label %invoke.cont287, label %for.body.i.i.i.i.i.i.i545, !llvm.loop !1078 -invoke.cont287: ; preds = %for.inc.i.i.i.i.i.i.i511, %_ZN7testing15AssertionResultD2Ev.exit490 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i516 = phi ptr [ %cond.i8.i.i498, %_ZN7testing15AssertionResultD2Ev.exit490 ], [ %incdec.ptr6.i.i.i.i.i.i.i513, %for.inc.i.i.i.i.i.i.i511 ] - %cmp9.i.i.i.i.i.i.i517 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i516, %add.ptr4.i.i501 - %frombool289 = zext i1 %cmp9.i.i.i.i.i.i.i517 to i8 +invoke.cont287: ; preds = %for.inc.i.i.i.i.i.i.i551, %_ZN7testing15AssertionResultD2Ev.exit526 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i556 = phi ptr [ %cond.i8.i.i534, %_ZN7testing15AssertionResultD2Ev.exit526 ], [ %incdec.ptr6.i.i.i.i.i.i.i553, %for.inc.i.i.i.i.i.i.i551 ] + %cmp9.i.i.i.i.i.i.i557 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i556, %add.ptr4.i.i538 + %frombool289 = zext i1 %cmp9.i.i.i.i.i.i.i557 to i8 store i8 %frombool289, ptr %gtest_ar_285, align 8 - %message_.i520 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_285, i64 0, i32 1 - store ptr null, ptr %message_.i520, align 8 - br i1 %cmp9.i.i.i.i.i.i.i517, label %_ZN7testing15AssertionResultD2Ev.exit535, label %if.else293 + %message_.i560 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_285, i64 0, i32 1 + store ptr null, ptr %message_.i560, align 8 + br i1 %cmp9.i.i.i.i.i.i.i557, label %_ZN7testing15AssertionResultD2Ev.exit575, label %if.else293 -ehcleanup284: ; preds = %_ZN7testing7MessageD2Ev.exit486, %lpad269 - %.pn40.pn.pn = phi { ptr, i32 } [ %.pn40.pn, %_ZN7testing7MessageD2Ev.exit486 ], [ %37, %lpad269 ] +ehcleanup284: ; preds = %_ZN7testing7MessageD2Ev.exit522, %lpad269 + %.pn40.pn.pn = phi { ptr, i32 } [ %.pn40.pn, %_ZN7testing7MessageD2Ev.exit522 ], [ %37, %lpad269 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_258) #29 br label %ehcleanup417 -if.else293: ; preds = %invoke.cont287.thread900, %invoke.cont287 - %message_.i520905 = phi ptr [ %message_.i520903, %invoke.cont287.thread900 ], [ %message_.i520, %invoke.cont287 ] +if.else293: ; preds = %invoke.cont287.thread956, %invoke.cont287 + %message_.i560961 = phi ptr [ %message_.i560959, %invoke.cont287.thread956 ], [ %message_.i560, %invoke.cont287 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp294) to label %invoke.cont296 unwind label %lpad295 @@ -52607,13 +52623,13 @@ invoke.cont305: ; preds = %invoke.cont303 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp297) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp298) #29 %49 = load ptr, ptr %ref.tmp294, align 8 - %cmp.not.i.i522 = icmp eq ptr %49, null - br i1 %cmp.not.i.i522, label %if.end309, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i523 + %cmp.not.i.i562 = icmp eq ptr %49, null + br i1 %cmp.not.i.i562, label %if.end309, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i563 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i523: ; preds = %invoke.cont305 - %vtable.i.i.i524 = load ptr, ptr %49, align 8 - %vfn.i.i.i525 = getelementptr inbounds ptr, ptr %vtable.i.i.i524, i64 1 - %50 = load ptr, ptr %vfn.i.i.i525, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i563: ; preds = %invoke.cont305 + %vtable.i.i.i564 = load ptr, ptr %49, align 8 + %vfn.i.i.i565 = getelementptr inbounds ptr, ptr %vtable.i.i.i564, i64 1 + %50 = load ptr, ptr %vfn.i.i.i565, align 8 call void %50(ptr noundef nonnull align 8 dereferenceable(128) %49) #29 br label %if.end309 @@ -52646,98 +52662,102 @@ ehcleanup307: ; preds = %lpad304, %lpad302 ehcleanup308: ; preds = %ehcleanup307, %lpad299 %.pn44.pn = phi { ptr, i32 } [ %.pn44, %ehcleanup307 ], [ %52, %lpad299 ] %55 = load ptr, ptr %ref.tmp294, align 8 - %cmp.not.i.i527 = icmp eq ptr %55, null - br i1 %cmp.not.i.i527, label %_ZN7testing7MessageD2Ev.exit531, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i528 + %cmp.not.i.i567 = icmp eq ptr %55, null + br i1 %cmp.not.i.i567, label %_ZN7testing7MessageD2Ev.exit571, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i528: ; preds = %ehcleanup308 - %vtable.i.i.i529 = load ptr, ptr %55, align 8 - %vfn.i.i.i530 = getelementptr inbounds ptr, ptr %vtable.i.i.i529, i64 1 - %56 = load ptr, ptr %vfn.i.i.i530, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568: ; preds = %ehcleanup308 + %vtable.i.i.i569 = load ptr, ptr %55, align 8 + %vfn.i.i.i570 = getelementptr inbounds ptr, ptr %vtable.i.i.i569, i64 1 + %56 = load ptr, ptr %vfn.i.i.i570, align 8 call void %56(ptr noundef nonnull align 8 dereferenceable(128) %55) #29 - br label %_ZN7testing7MessageD2Ev.exit531 + br label %_ZN7testing7MessageD2Ev.exit571 -_ZN7testing7MessageD2Ev.exit531: ; preds = %ehcleanup308, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i528 +_ZN7testing7MessageD2Ev.exit571: ; preds = %ehcleanup308, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568 store ptr null, ptr %ref.tmp294, align 8 br label %ehcleanup310 -if.end309: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i523, %invoke.cont305 +if.end309: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i563, %invoke.cont305 store ptr null, ptr %ref.tmp294, align 8 - %.pr906 = load ptr, ptr %message_.i520905, align 8 - %cmp.not.i.i533 = icmp eq ptr %.pr906, null - br i1 %cmp.not.i.i533, label %_ZN7testing15AssertionResultD2Ev.exit535, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i534 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i534: ; preds = %if.end309 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr906) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr906) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit535 - -_ZN7testing15AssertionResultD2Ev.exit535: ; preds = %invoke.cont287, %invoke.cont287.thread, %if.end309, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i534 - %message_.i520899909 = phi ptr [ %message_.i520905, %if.end309 ], [ %message_.i520905, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i534 ], [ %message_.i520, %invoke.cont287 ], [ %message_.i520897, %invoke.cont287.thread ] - store ptr null, ptr %message_.i520899909, align 8 + %.pr962 = load ptr, ptr %message_.i560961, align 8 + %cmp.not.i.i573 = icmp eq ptr %.pr962, null + br i1 %cmp.not.i.i573, label %_ZN7testing15AssertionResultD2Ev.exit575, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i574 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i574: ; preds = %if.end309 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr962) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr962) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit575 + +_ZN7testing15AssertionResultD2Ev.exit575: ; preds = %invoke.cont287, %invoke.cont287.thread, %if.end309, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i574 + %message_.i560955965 = phi ptr [ %message_.i560961, %if.end309 ], [ %message_.i560961, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i574 ], [ %message_.i560, %invoke.cont287 ], [ %message_.i560953, %invoke.cont287.thread ] + store ptr null, ptr %message_.i560955965, align 8 %57 = load i64, ptr %b, align 8 - %and.i.i.i.i536 = and i64 %57, 1 - %tobool.i.not.i.i.i537 = icmp eq i64 %and.i.i.i.i536, 0 + %and.i.i.i.i576 = and i64 %57, 1 + %tobool.i.not.i.i.i577 = icmp eq i64 %and.i.i.i.i576, 0 %58 = load ptr, ptr %data_.i.i7.i, align 8 - %cond.i.i.i539 = select i1 %tobool.i.not.i.i.i537, ptr %data_.i.i7.i, ptr %58 + %cond.i.i.i579 = select i1 %tobool.i.not.i.i.i577, ptr %data_.i.i7.i, ptr %58 %59 = load i64, ptr %a, align 8 - %and.i.i5.i.i540 = and i64 %59, 1 - %tobool.i.not.i6.i.i541 = icmp eq i64 %and.i.i5.i.i540, 0 + %and.i.i5.i.i580 = and i64 %59, 1 + %tobool.i.not.i6.i.i581 = icmp eq i64 %and.i.i5.i.i580, 0 %60 = load ptr, ptr %data_.i.i.i, align 8 - %cond.i8.i.i543 = select i1 %tobool.i.not.i6.i.i541, ptr %data_.i.i.i, ptr %60 - %shr.i.i.i.i544 = lshr i64 %57, 1 - %shr.i.i9.i.i545 = lshr i64 %59, 1 - %add.ptr4.i.i546 = getelementptr inbounds i32, ptr %cond.i8.i.i543, i64 %shr.i.i9.i.i545 - %cond.i.i.i.i.i.i.v.i.i547 = call i64 @llvm.umin.i64(i64 %shr.i.i9.i.i545, i64 %shr.i.i.i.i544) - %cond.i.i.i.i.i.i.i.i548 = getelementptr inbounds i32, ptr %cond.i.i.i539, i64 %cond.i.i.i.i.i.i.v.i.i547 - %cmp.not18.i.i.i.i.i.i.i549 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i547, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i549, label %invoke.cont313, label %for.body.i.i.i.i.i.i.i550 - -for.body.i.i.i.i.i.i.i550: ; preds = %_ZN7testing15AssertionResultD2Ev.exit535, %for.inc.i.i.i.i.i.i.i556 - %__first2.addr.020.i.i.i.i.i.i.i551 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i558, %for.inc.i.i.i.i.i.i.i556 ], [ %cond.i8.i.i543, %_ZN7testing15AssertionResultD2Ev.exit535 ] - %__first1.addr.019.i.i.i.i.i.i.i552 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i557, %for.inc.i.i.i.i.i.i.i556 ], [ %cond.i.i.i539, %_ZN7testing15AssertionResultD2Ev.exit535 ] - %61 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i552, align 4 - %62 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i551, align 4 - %cmp.i15.i.i.i.i.i.i.not.i553 = icmp slt i32 %61, %62 - br i1 %cmp.i15.i.i.i.i.i.i.not.i553, label %invoke.cont313.thread915, label %if.end.i.i.i.i.i.i.i554 - -invoke.cont313.thread915: ; preds = %for.body.i.i.i.i.i.i.i550 + %cond.i8.i.i583 = select i1 %tobool.i.not.i6.i.i581, ptr %data_.i.i.i, ptr %60 + %shr.i.i.i.i584 = lshr i64 %57, 1 + %add.ptr.i.i585 = getelementptr inbounds i32, ptr %cond.i.i.i579, i64 %shr.i.i.i.i584 + %shr.i.i9.i.i586 = lshr i64 %59, 1 + %add.ptr4.i.i587 = getelementptr inbounds i32, ptr %cond.i8.i.i583, i64 %shr.i.i9.i.i586 + %add.ptr.idx.i.i588 = shl nsw i64 %shr.i.i.i.i584, 2 + %add.ptr4.idx.i.i589 = shl nsw i64 %shr.i.i9.i.i586, 2 + %cmp.i.i.i.i.i.i.i.i590 = icmp ult i64 %add.ptr4.idx.i.i589, %add.ptr.idx.i.i588 + %add.ptr.i.i.i.i.i.i.i.i591 = getelementptr inbounds i8, ptr %cond.i.i.i579, i64 %add.ptr4.idx.i.i589 + %cond.i.i.i.i.i.i.i.i592 = select i1 %cmp.i.i.i.i.i.i.i.i590, ptr %add.ptr.i.i.i.i.i.i.i.i591, ptr %add.ptr.i.i585 + %cmp.not18.i.i.i.i.i.i.i593 = icmp eq ptr %cond.i.i.i.i.i.i.i.i592, %cond.i.i.i579 + br i1 %cmp.not18.i.i.i.i.i.i.i593, label %invoke.cont313, label %for.body.i.i.i.i.i.i.i594 + +for.body.i.i.i.i.i.i.i594: ; preds = %_ZN7testing15AssertionResultD2Ev.exit575, %for.inc.i.i.i.i.i.i.i600 + %__first2.addr.020.i.i.i.i.i.i.i595 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i602, %for.inc.i.i.i.i.i.i.i600 ], [ %cond.i8.i.i583, %_ZN7testing15AssertionResultD2Ev.exit575 ] + %__first1.addr.019.i.i.i.i.i.i.i596 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i601, %for.inc.i.i.i.i.i.i.i600 ], [ %cond.i.i.i579, %_ZN7testing15AssertionResultD2Ev.exit575 ] + %61 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i596, align 4 + %62 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i595, align 4 + %cmp.i15.i.i.i.i.i.i.not.i597 = icmp slt i32 %61, %62 + br i1 %cmp.i15.i.i.i.i.i.i.not.i597, label %invoke.cont313.thread971, label %if.end.i.i.i.i.i.i.i598 + +invoke.cont313.thread971: ; preds = %for.body.i.i.i.i.i.i.i594 store i8 0, ptr %gtest_ar_311, align 8 - %message_.i565918 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_311, i64 0, i32 1 - store ptr null, ptr %message_.i565918, align 8 + %message_.i609974 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_311, i64 0, i32 1 + store ptr null, ptr %message_.i609974, align 8 br label %if.else319 -if.end.i.i.i.i.i.i.i554: ; preds = %for.body.i.i.i.i.i.i.i550 - %cmp.i16.i.i.i.i.i.i.i555 = icmp slt i32 %62, %61 - br i1 %cmp.i16.i.i.i.i.i.i.i555, label %invoke.cont313.thread, label %for.inc.i.i.i.i.i.i.i556 +if.end.i.i.i.i.i.i.i598: ; preds = %for.body.i.i.i.i.i.i.i594 + %cmp.i16.i.i.i.i.i.i.i599 = icmp slt i32 %62, %61 + br i1 %cmp.i16.i.i.i.i.i.i.i599, label %invoke.cont313.thread, label %for.inc.i.i.i.i.i.i.i600 -invoke.cont313.thread: ; preds = %if.end.i.i.i.i.i.i.i554 +invoke.cont313.thread: ; preds = %if.end.i.i.i.i.i.i.i598 store i8 1, ptr %gtest_ar_311, align 8 - %message_.i565912 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_311, i64 0, i32 1 - store ptr null, ptr %message_.i565912, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit580 - -for.inc.i.i.i.i.i.i.i556: ; preds = %if.end.i.i.i.i.i.i.i554 - %incdec.ptr.i.i.i.i.i.i.i557 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i552, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i558 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i551, i64 1 - %cmp.not.i.i.i.i.i.i.i559 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i557, %cond.i.i.i.i.i.i.i.i548 - br i1 %cmp.not.i.i.i.i.i.i.i559, label %invoke.cont313, label %for.body.i.i.i.i.i.i.i550, !llvm.loop !1078 - -invoke.cont313: ; preds = %for.inc.i.i.i.i.i.i.i556, %_ZN7testing15AssertionResultD2Ev.exit535 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i561 = phi ptr [ %cond.i8.i.i543, %_ZN7testing15AssertionResultD2Ev.exit535 ], [ %incdec.ptr6.i.i.i.i.i.i.i558, %for.inc.i.i.i.i.i.i.i556 ] - %cmp9.i.i.i.i.i.i.i562 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i561, %add.ptr4.i.i546 - %frombool315 = zext i1 %cmp9.i.i.i.i.i.i.i562 to i8 + %message_.i609968 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_311, i64 0, i32 1 + store ptr null, ptr %message_.i609968, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit624 + +for.inc.i.i.i.i.i.i.i600: ; preds = %if.end.i.i.i.i.i.i.i598 + %incdec.ptr.i.i.i.i.i.i.i601 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i596, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i602 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i595, i64 1 + %cmp.not.i.i.i.i.i.i.i603 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i601, %cond.i.i.i.i.i.i.i.i592 + br i1 %cmp.not.i.i.i.i.i.i.i603, label %invoke.cont313, label %for.body.i.i.i.i.i.i.i594, !llvm.loop !1078 + +invoke.cont313: ; preds = %for.inc.i.i.i.i.i.i.i600, %_ZN7testing15AssertionResultD2Ev.exit575 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i605 = phi ptr [ %cond.i8.i.i583, %_ZN7testing15AssertionResultD2Ev.exit575 ], [ %incdec.ptr6.i.i.i.i.i.i.i602, %for.inc.i.i.i.i.i.i.i600 ] + %cmp9.i.i.i.i.i.i.i606 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i605, %add.ptr4.i.i587 + %frombool315 = zext i1 %cmp9.i.i.i.i.i.i.i606 to i8 store i8 %frombool315, ptr %gtest_ar_311, align 8 - %message_.i565 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_311, i64 0, i32 1 - store ptr null, ptr %message_.i565, align 8 - br i1 %cmp9.i.i.i.i.i.i.i562, label %_ZN7testing15AssertionResultD2Ev.exit580, label %if.else319 + %message_.i609 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_311, i64 0, i32 1 + store ptr null, ptr %message_.i609, align 8 + br i1 %cmp9.i.i.i.i.i.i.i606, label %_ZN7testing15AssertionResultD2Ev.exit624, label %if.else319 -ehcleanup310: ; preds = %_ZN7testing7MessageD2Ev.exit531, %lpad295 - %.pn44.pn.pn = phi { ptr, i32 } [ %.pn44.pn, %_ZN7testing7MessageD2Ev.exit531 ], [ %51, %lpad295 ] +ehcleanup310: ; preds = %_ZN7testing7MessageD2Ev.exit571, %lpad295 + %.pn44.pn.pn = phi { ptr, i32 } [ %.pn44.pn, %_ZN7testing7MessageD2Ev.exit571 ], [ %51, %lpad295 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_285) #29 br label %ehcleanup417 -if.else319: ; preds = %invoke.cont313.thread915, %invoke.cont313 - %message_.i565920 = phi ptr [ %message_.i565918, %invoke.cont313.thread915 ], [ %message_.i565, %invoke.cont313 ] +if.else319: ; preds = %invoke.cont313.thread971, %invoke.cont313 + %message_.i609976 = phi ptr [ %message_.i609974, %invoke.cont313.thread971 ], [ %message_.i609, %invoke.cont313 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp320) to label %invoke.cont322 unwind label %lpad321 @@ -52758,13 +52778,13 @@ invoke.cont331: ; preds = %invoke.cont329 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp323) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp324) #29 %63 = load ptr, ptr %ref.tmp320, align 8 - %cmp.not.i.i567 = icmp eq ptr %63, null - br i1 %cmp.not.i.i567, label %if.end335, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568 + %cmp.not.i.i611 = icmp eq ptr %63, null + br i1 %cmp.not.i.i611, label %if.end335, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i612 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568: ; preds = %invoke.cont331 - %vtable.i.i.i569 = load ptr, ptr %63, align 8 - %vfn.i.i.i570 = getelementptr inbounds ptr, ptr %vtable.i.i.i569, i64 1 - %64 = load ptr, ptr %vfn.i.i.i570, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i612: ; preds = %invoke.cont331 + %vtable.i.i.i613 = load ptr, ptr %63, align 8 + %vfn.i.i.i614 = getelementptr inbounds ptr, ptr %vtable.i.i.i613, i64 1 + %64 = load ptr, ptr %vfn.i.i.i614, align 8 call void %64(ptr noundef nonnull align 8 dereferenceable(128) %63) #29 br label %if.end335 @@ -52797,98 +52817,102 @@ ehcleanup333: ; preds = %lpad330, %lpad328 ehcleanup334: ; preds = %ehcleanup333, %lpad325 %.pn48.pn = phi { ptr, i32 } [ %.pn48, %ehcleanup333 ], [ %66, %lpad325 ] %69 = load ptr, ptr %ref.tmp320, align 8 - %cmp.not.i.i572 = icmp eq ptr %69, null - br i1 %cmp.not.i.i572, label %_ZN7testing7MessageD2Ev.exit576, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573 + %cmp.not.i.i616 = icmp eq ptr %69, null + br i1 %cmp.not.i.i616, label %_ZN7testing7MessageD2Ev.exit620, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i617 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573: ; preds = %ehcleanup334 - %vtable.i.i.i574 = load ptr, ptr %69, align 8 - %vfn.i.i.i575 = getelementptr inbounds ptr, ptr %vtable.i.i.i574, i64 1 - %70 = load ptr, ptr %vfn.i.i.i575, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i617: ; preds = %ehcleanup334 + %vtable.i.i.i618 = load ptr, ptr %69, align 8 + %vfn.i.i.i619 = getelementptr inbounds ptr, ptr %vtable.i.i.i618, i64 1 + %70 = load ptr, ptr %vfn.i.i.i619, align 8 call void %70(ptr noundef nonnull align 8 dereferenceable(128) %69) #29 - br label %_ZN7testing7MessageD2Ev.exit576 + br label %_ZN7testing7MessageD2Ev.exit620 -_ZN7testing7MessageD2Ev.exit576: ; preds = %ehcleanup334, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i573 +_ZN7testing7MessageD2Ev.exit620: ; preds = %ehcleanup334, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i617 store ptr null, ptr %ref.tmp320, align 8 br label %ehcleanup336 -if.end335: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i568, %invoke.cont331 +if.end335: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i612, %invoke.cont331 store ptr null, ptr %ref.tmp320, align 8 - %.pr921 = load ptr, ptr %message_.i565920, align 8 - %cmp.not.i.i578 = icmp eq ptr %.pr921, null - br i1 %cmp.not.i.i578, label %_ZN7testing15AssertionResultD2Ev.exit580, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579: ; preds = %if.end335 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr921) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr921) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit580 - -_ZN7testing15AssertionResultD2Ev.exit580: ; preds = %invoke.cont313, %invoke.cont313.thread, %if.end335, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579 - %message_.i565914924 = phi ptr [ %message_.i565920, %if.end335 ], [ %message_.i565920, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i579 ], [ %message_.i565, %invoke.cont313 ], [ %message_.i565912, %invoke.cont313.thread ] - store ptr null, ptr %message_.i565914924, align 8 + %.pr977 = load ptr, ptr %message_.i609976, align 8 + %cmp.not.i.i622 = icmp eq ptr %.pr977, null + br i1 %cmp.not.i.i622, label %_ZN7testing15AssertionResultD2Ev.exit624, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623: ; preds = %if.end335 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr977) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr977) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit624 + +_ZN7testing15AssertionResultD2Ev.exit624: ; preds = %invoke.cont313, %invoke.cont313.thread, %if.end335, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623 + %message_.i609970980 = phi ptr [ %message_.i609976, %if.end335 ], [ %message_.i609976, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i623 ], [ %message_.i609, %invoke.cont313 ], [ %message_.i609968, %invoke.cont313.thread ] + store ptr null, ptr %message_.i609970980, align 8 %71 = load i64, ptr %a, align 8 - %and.i.i.i.i581 = and i64 %71, 1 - %tobool.i.not.i.i.i582 = icmp eq i64 %and.i.i.i.i581, 0 + %and.i.i.i.i625 = and i64 %71, 1 + %tobool.i.not.i.i.i626 = icmp eq i64 %and.i.i.i.i625, 0 %72 = load ptr, ptr %data_.i.i.i, align 8 - %cond.i.i.i584 = select i1 %tobool.i.not.i.i.i582, ptr %data_.i.i.i, ptr %72 + %cond.i.i.i628 = select i1 %tobool.i.not.i.i.i626, ptr %data_.i.i.i, ptr %72 %73 = load i64, ptr %b, align 8 - %and.i.i5.i.i585 = and i64 %73, 1 - %tobool.i.not.i6.i.i586 = icmp eq i64 %and.i.i5.i.i585, 0 + %and.i.i5.i.i629 = and i64 %73, 1 + %tobool.i.not.i6.i.i630 = icmp eq i64 %and.i.i5.i.i629, 0 %74 = load ptr, ptr %data_.i.i7.i, align 8 - %cond.i8.i.i588 = select i1 %tobool.i.not.i6.i.i586, ptr %data_.i.i7.i, ptr %74 - %shr.i.i.i.i589 = lshr i64 %71, 1 - %shr.i.i9.i.i590 = lshr i64 %73, 1 - %add.ptr4.i.i591 = getelementptr inbounds i32, ptr %cond.i8.i.i588, i64 %shr.i.i9.i.i590 - %cond.i.i.i.i.i.i.v.i.i592 = call i64 @llvm.umin.i64(i64 %shr.i.i9.i.i590, i64 %shr.i.i.i.i589) - %cond.i.i.i.i.i.i.i.i593 = getelementptr inbounds i32, ptr %cond.i.i.i584, i64 %cond.i.i.i.i.i.i.v.i.i592 - %cmp.not18.i.i.i.i.i.i.i594 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i592, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i594, label %invoke.cont339, label %for.body.i.i.i.i.i.i.i595 - -for.body.i.i.i.i.i.i.i595: ; preds = %_ZN7testing15AssertionResultD2Ev.exit580, %for.inc.i.i.i.i.i.i.i601 - %__first2.addr.020.i.i.i.i.i.i.i596 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i603, %for.inc.i.i.i.i.i.i.i601 ], [ %cond.i8.i.i588, %_ZN7testing15AssertionResultD2Ev.exit580 ] - %__first1.addr.019.i.i.i.i.i.i.i597 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i602, %for.inc.i.i.i.i.i.i.i601 ], [ %cond.i.i.i584, %_ZN7testing15AssertionResultD2Ev.exit580 ] - %75 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i597, align 4 - %76 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i596, align 4 - %cmp.i15.i.i.i.i.i.i.not.i598 = icmp slt i32 %75, %76 - br i1 %cmp.i15.i.i.i.i.i.i.not.i598, label %invoke.cont339.thread, label %if.end.i.i.i.i.i.i.i599 - -invoke.cont339.thread: ; preds = %for.body.i.i.i.i.i.i.i595 + %cond.i8.i.i632 = select i1 %tobool.i.not.i6.i.i630, ptr %data_.i.i7.i, ptr %74 + %shr.i.i.i.i633 = lshr i64 %71, 1 + %add.ptr.i.i634 = getelementptr inbounds i32, ptr %cond.i.i.i628, i64 %shr.i.i.i.i633 + %shr.i.i9.i.i635 = lshr i64 %73, 1 + %add.ptr4.i.i636 = getelementptr inbounds i32, ptr %cond.i8.i.i632, i64 %shr.i.i9.i.i635 + %add.ptr.idx.i.i637 = shl nsw i64 %shr.i.i.i.i633, 2 + %add.ptr4.idx.i.i638 = shl nsw i64 %shr.i.i9.i.i635, 2 + %cmp.i.i.i.i.i.i.i.i639 = icmp ult i64 %add.ptr4.idx.i.i638, %add.ptr.idx.i.i637 + %add.ptr.i.i.i.i.i.i.i.i640 = getelementptr inbounds i8, ptr %cond.i.i.i628, i64 %add.ptr4.idx.i.i638 + %cond.i.i.i.i.i.i.i.i641 = select i1 %cmp.i.i.i.i.i.i.i.i639, ptr %add.ptr.i.i.i.i.i.i.i.i640, ptr %add.ptr.i.i634 + %cmp.not18.i.i.i.i.i.i.i642 = icmp eq ptr %cond.i.i.i.i.i.i.i.i641, %cond.i.i.i628 + br i1 %cmp.not18.i.i.i.i.i.i.i642, label %invoke.cont339, label %for.body.i.i.i.i.i.i.i643 + +for.body.i.i.i.i.i.i.i643: ; preds = %_ZN7testing15AssertionResultD2Ev.exit624, %for.inc.i.i.i.i.i.i.i649 + %__first2.addr.020.i.i.i.i.i.i.i644 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i651, %for.inc.i.i.i.i.i.i.i649 ], [ %cond.i8.i.i632, %_ZN7testing15AssertionResultD2Ev.exit624 ] + %__first1.addr.019.i.i.i.i.i.i.i645 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i650, %for.inc.i.i.i.i.i.i.i649 ], [ %cond.i.i.i628, %_ZN7testing15AssertionResultD2Ev.exit624 ] + %75 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i645, align 4 + %76 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i644, align 4 + %cmp.i15.i.i.i.i.i.i.not.i646 = icmp slt i32 %75, %76 + br i1 %cmp.i15.i.i.i.i.i.i.not.i646, label %invoke.cont339.thread, label %if.end.i.i.i.i.i.i.i647 + +invoke.cont339.thread: ; preds = %for.body.i.i.i.i.i.i.i643 store i8 1, ptr %gtest_ar_337, align 8 - %message_.i610928 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_337, i64 0, i32 1 - store ptr null, ptr %message_.i610928, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit625 + %message_.i658984 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_337, i64 0, i32 1 + store ptr null, ptr %message_.i658984, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit673 -if.end.i.i.i.i.i.i.i599: ; preds = %for.body.i.i.i.i.i.i.i595 - %cmp.i16.i.i.i.i.i.i.i600 = icmp slt i32 %76, %75 - br i1 %cmp.i16.i.i.i.i.i.i.i600, label %invoke.cont339.thread931, label %for.inc.i.i.i.i.i.i.i601 +if.end.i.i.i.i.i.i.i647: ; preds = %for.body.i.i.i.i.i.i.i643 + %cmp.i16.i.i.i.i.i.i.i648 = icmp slt i32 %76, %75 + br i1 %cmp.i16.i.i.i.i.i.i.i648, label %invoke.cont339.thread987, label %for.inc.i.i.i.i.i.i.i649 -invoke.cont339.thread931: ; preds = %if.end.i.i.i.i.i.i.i599 +invoke.cont339.thread987: ; preds = %if.end.i.i.i.i.i.i.i647 store i8 0, ptr %gtest_ar_337, align 8 - %message_.i610935 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_337, i64 0, i32 1 - store ptr null, ptr %message_.i610935, align 8 + %message_.i658991 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_337, i64 0, i32 1 + store ptr null, ptr %message_.i658991, align 8 br label %if.else346 -for.inc.i.i.i.i.i.i.i601: ; preds = %if.end.i.i.i.i.i.i.i599 - %incdec.ptr.i.i.i.i.i.i.i602 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i597, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i603 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i596, i64 1 - %cmp.not.i.i.i.i.i.i.i604 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i602, %cond.i.i.i.i.i.i.i.i593 - br i1 %cmp.not.i.i.i.i.i.i.i604, label %invoke.cont339, label %for.body.i.i.i.i.i.i.i595, !llvm.loop !1078 +for.inc.i.i.i.i.i.i.i649: ; preds = %if.end.i.i.i.i.i.i.i647 + %incdec.ptr.i.i.i.i.i.i.i650 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i645, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i651 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i644, i64 1 + %cmp.not.i.i.i.i.i.i.i652 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i650, %cond.i.i.i.i.i.i.i.i641 + br i1 %cmp.not.i.i.i.i.i.i.i652, label %invoke.cont339, label %for.body.i.i.i.i.i.i.i643, !llvm.loop !1078 -invoke.cont339: ; preds = %for.inc.i.i.i.i.i.i.i601, %_ZN7testing15AssertionResultD2Ev.exit580 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i606 = phi ptr [ %cond.i8.i.i588, %_ZN7testing15AssertionResultD2Ev.exit580 ], [ %incdec.ptr6.i.i.i.i.i.i.i603, %for.inc.i.i.i.i.i.i.i601 ] - %cmp9.i.i.i.i.i.i.i607 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i606, %add.ptr4.i.i591 - %frombool342 = zext i1 %cmp9.i.i.i.i.i.i.i607 to i8 +invoke.cont339: ; preds = %for.inc.i.i.i.i.i.i.i649, %_ZN7testing15AssertionResultD2Ev.exit624 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i654 = phi ptr [ %cond.i8.i.i632, %_ZN7testing15AssertionResultD2Ev.exit624 ], [ %incdec.ptr6.i.i.i.i.i.i.i651, %for.inc.i.i.i.i.i.i.i649 ] + %cmp9.i.i.i.i.i.i.i655 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i654, %add.ptr4.i.i636 + %frombool342 = zext i1 %cmp9.i.i.i.i.i.i.i655 to i8 store i8 %frombool342, ptr %gtest_ar_337, align 8 - %message_.i610 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_337, i64 0, i32 1 - store ptr null, ptr %message_.i610, align 8 - br i1 %cmp9.i.i.i.i.i.i.i607, label %_ZN7testing15AssertionResultD2Ev.exit625, label %if.else346 + %message_.i658 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_337, i64 0, i32 1 + store ptr null, ptr %message_.i658, align 8 + br i1 %cmp9.i.i.i.i.i.i.i655, label %_ZN7testing15AssertionResultD2Ev.exit673, label %if.else346 -ehcleanup336: ; preds = %_ZN7testing7MessageD2Ev.exit576, %lpad321 - %.pn48.pn.pn = phi { ptr, i32 } [ %.pn48.pn, %_ZN7testing7MessageD2Ev.exit576 ], [ %65, %lpad321 ] +ehcleanup336: ; preds = %_ZN7testing7MessageD2Ev.exit620, %lpad321 + %.pn48.pn.pn = phi { ptr, i32 } [ %.pn48.pn, %_ZN7testing7MessageD2Ev.exit620 ], [ %65, %lpad321 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_311) #29 br label %ehcleanup417 -if.else346: ; preds = %invoke.cont339.thread931, %invoke.cont339 - %message_.i610937 = phi ptr [ %message_.i610935, %invoke.cont339.thread931 ], [ %message_.i610, %invoke.cont339 ] +if.else346: ; preds = %invoke.cont339.thread987, %invoke.cont339 + %message_.i658993 = phi ptr [ %message_.i658991, %invoke.cont339.thread987 ], [ %message_.i658, %invoke.cont339 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp347) to label %invoke.cont349 unwind label %lpad348 @@ -52909,13 +52933,13 @@ invoke.cont358: ; preds = %invoke.cont356 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp350) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp351) #29 %77 = load ptr, ptr %ref.tmp347, align 8 - %cmp.not.i.i612 = icmp eq ptr %77, null - br i1 %cmp.not.i.i612, label %if.end362, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i613 + %cmp.not.i.i660 = icmp eq ptr %77, null + br i1 %cmp.not.i.i660, label %if.end362, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i661 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i613: ; preds = %invoke.cont358 - %vtable.i.i.i614 = load ptr, ptr %77, align 8 - %vfn.i.i.i615 = getelementptr inbounds ptr, ptr %vtable.i.i.i614, i64 1 - %78 = load ptr, ptr %vfn.i.i.i615, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i661: ; preds = %invoke.cont358 + %vtable.i.i.i662 = load ptr, ptr %77, align 8 + %vfn.i.i.i663 = getelementptr inbounds ptr, ptr %vtable.i.i.i662, i64 1 + %78 = load ptr, ptr %vfn.i.i.i663, align 8 call void %78(ptr noundef nonnull align 8 dereferenceable(128) %77) #29 br label %if.end362 @@ -52948,98 +52972,102 @@ ehcleanup360: ; preds = %lpad357, %lpad355 ehcleanup361: ; preds = %ehcleanup360, %lpad352 %.pn52.pn = phi { ptr, i32 } [ %.pn52, %ehcleanup360 ], [ %80, %lpad352 ] %83 = load ptr, ptr %ref.tmp347, align 8 - %cmp.not.i.i617 = icmp eq ptr %83, null - br i1 %cmp.not.i.i617, label %_ZN7testing7MessageD2Ev.exit621, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i618 + %cmp.not.i.i665 = icmp eq ptr %83, null + br i1 %cmp.not.i.i665, label %_ZN7testing7MessageD2Ev.exit669, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i666 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i618: ; preds = %ehcleanup361 - %vtable.i.i.i619 = load ptr, ptr %83, align 8 - %vfn.i.i.i620 = getelementptr inbounds ptr, ptr %vtable.i.i.i619, i64 1 - %84 = load ptr, ptr %vfn.i.i.i620, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i666: ; preds = %ehcleanup361 + %vtable.i.i.i667 = load ptr, ptr %83, align 8 + %vfn.i.i.i668 = getelementptr inbounds ptr, ptr %vtable.i.i.i667, i64 1 + %84 = load ptr, ptr %vfn.i.i.i668, align 8 call void %84(ptr noundef nonnull align 8 dereferenceable(128) %83) #29 - br label %_ZN7testing7MessageD2Ev.exit621 + br label %_ZN7testing7MessageD2Ev.exit669 -_ZN7testing7MessageD2Ev.exit621: ; preds = %ehcleanup361, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i618 +_ZN7testing7MessageD2Ev.exit669: ; preds = %ehcleanup361, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i666 store ptr null, ptr %ref.tmp347, align 8 br label %ehcleanup363 -if.end362: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i613, %invoke.cont358 +if.end362: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i661, %invoke.cont358 store ptr null, ptr %ref.tmp347, align 8 - %.pr938 = load ptr, ptr %message_.i610937, align 8 - %cmp.not.i.i623 = icmp eq ptr %.pr938, null - br i1 %cmp.not.i.i623, label %_ZN7testing15AssertionResultD2Ev.exit625, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i624 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i624: ; preds = %if.end362 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr938) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr938) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit625 - -_ZN7testing15AssertionResultD2Ev.exit625: ; preds = %invoke.cont339, %invoke.cont339.thread, %if.end362, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i624 - %message_.i610930941 = phi ptr [ %message_.i610937, %if.end362 ], [ %message_.i610937, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i624 ], [ %message_.i610, %invoke.cont339 ], [ %message_.i610928, %invoke.cont339.thread ] - store ptr null, ptr %message_.i610930941, align 8 + %.pr994 = load ptr, ptr %message_.i658993, align 8 + %cmp.not.i.i671 = icmp eq ptr %.pr994, null + br i1 %cmp.not.i.i671, label %_ZN7testing15AssertionResultD2Ev.exit673, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i672 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i672: ; preds = %if.end362 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr994) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr994) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit673 + +_ZN7testing15AssertionResultD2Ev.exit673: ; preds = %invoke.cont339, %invoke.cont339.thread, %if.end362, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i672 + %message_.i658986997 = phi ptr [ %message_.i658993, %if.end362 ], [ %message_.i658993, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i672 ], [ %message_.i658, %invoke.cont339 ], [ %message_.i658984, %invoke.cont339.thread ] + store ptr null, ptr %message_.i658986997, align 8 %85 = load i64, ptr %a, align 8 - %and.i.i.i.i626 = and i64 %85, 1 - %tobool.i.not.i.i.i627 = icmp eq i64 %and.i.i.i.i626, 0 + %and.i.i.i.i674 = and i64 %85, 1 + %tobool.i.not.i.i.i675 = icmp eq i64 %and.i.i.i.i674, 0 %86 = load ptr, ptr %data_.i.i.i, align 8 - %cond.i.i.i629 = select i1 %tobool.i.not.i.i.i627, ptr %data_.i.i.i, ptr %86 + %cond.i.i.i677 = select i1 %tobool.i.not.i.i.i675, ptr %data_.i.i.i, ptr %86 %87 = load i64, ptr %b, align 8 - %and.i.i5.i.i630 = and i64 %87, 1 - %tobool.i.not.i6.i.i631 = icmp eq i64 %and.i.i5.i.i630, 0 + %and.i.i5.i.i678 = and i64 %87, 1 + %tobool.i.not.i6.i.i679 = icmp eq i64 %and.i.i5.i.i678, 0 %88 = load ptr, ptr %data_.i.i7.i, align 8 - %cond.i8.i.i633 = select i1 %tobool.i.not.i6.i.i631, ptr %data_.i.i7.i, ptr %88 - %shr.i.i.i.i634 = lshr i64 %85, 1 - %shr.i.i9.i.i635 = lshr i64 %87, 1 - %add.ptr4.i.i636 = getelementptr inbounds i32, ptr %cond.i8.i.i633, i64 %shr.i.i9.i.i635 - %cond.i.i.i.i.i.i.v.i.i637 = call i64 @llvm.umin.i64(i64 %shr.i.i9.i.i635, i64 %shr.i.i.i.i634) - %cond.i.i.i.i.i.i.i.i638 = getelementptr inbounds i32, ptr %cond.i.i.i629, i64 %cond.i.i.i.i.i.i.v.i.i637 - %cmp.not18.i.i.i.i.i.i.i639 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i637, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i639, label %invoke.cont366, label %for.body.i.i.i.i.i.i.i640 - -for.body.i.i.i.i.i.i.i640: ; preds = %_ZN7testing15AssertionResultD2Ev.exit625, %for.inc.i.i.i.i.i.i.i646 - %__first2.addr.020.i.i.i.i.i.i.i641 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i648, %for.inc.i.i.i.i.i.i.i646 ], [ %cond.i8.i.i633, %_ZN7testing15AssertionResultD2Ev.exit625 ] - %__first1.addr.019.i.i.i.i.i.i.i642 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i647, %for.inc.i.i.i.i.i.i.i646 ], [ %cond.i.i.i629, %_ZN7testing15AssertionResultD2Ev.exit625 ] - %89 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i642, align 4 - %90 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i641, align 4 - %cmp.i15.i.i.i.i.i.i.not.i643 = icmp slt i32 %89, %90 - br i1 %cmp.i15.i.i.i.i.i.i.not.i643, label %invoke.cont366.thread, label %if.end.i.i.i.i.i.i.i644 - -invoke.cont366.thread: ; preds = %for.body.i.i.i.i.i.i.i640 + %cond.i8.i.i681 = select i1 %tobool.i.not.i6.i.i679, ptr %data_.i.i7.i, ptr %88 + %shr.i.i.i.i682 = lshr i64 %85, 1 + %add.ptr.i.i683 = getelementptr inbounds i32, ptr %cond.i.i.i677, i64 %shr.i.i.i.i682 + %shr.i.i9.i.i684 = lshr i64 %87, 1 + %add.ptr4.i.i685 = getelementptr inbounds i32, ptr %cond.i8.i.i681, i64 %shr.i.i9.i.i684 + %add.ptr.idx.i.i686 = shl nsw i64 %shr.i.i.i.i682, 2 + %add.ptr4.idx.i.i687 = shl nsw i64 %shr.i.i9.i.i684, 2 + %cmp.i.i.i.i.i.i.i.i688 = icmp ult i64 %add.ptr4.idx.i.i687, %add.ptr.idx.i.i686 + %add.ptr.i.i.i.i.i.i.i.i689 = getelementptr inbounds i8, ptr %cond.i.i.i677, i64 %add.ptr4.idx.i.i687 + %cond.i.i.i.i.i.i.i.i690 = select i1 %cmp.i.i.i.i.i.i.i.i688, ptr %add.ptr.i.i.i.i.i.i.i.i689, ptr %add.ptr.i.i683 + %cmp.not18.i.i.i.i.i.i.i691 = icmp eq ptr %cond.i.i.i.i.i.i.i.i690, %cond.i.i.i677 + br i1 %cmp.not18.i.i.i.i.i.i.i691, label %invoke.cont366, label %for.body.i.i.i.i.i.i.i692 + +for.body.i.i.i.i.i.i.i692: ; preds = %_ZN7testing15AssertionResultD2Ev.exit673, %for.inc.i.i.i.i.i.i.i698 + %__first2.addr.020.i.i.i.i.i.i.i693 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i700, %for.inc.i.i.i.i.i.i.i698 ], [ %cond.i8.i.i681, %_ZN7testing15AssertionResultD2Ev.exit673 ] + %__first1.addr.019.i.i.i.i.i.i.i694 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i699, %for.inc.i.i.i.i.i.i.i698 ], [ %cond.i.i.i677, %_ZN7testing15AssertionResultD2Ev.exit673 ] + %89 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i694, align 4 + %90 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i693, align 4 + %cmp.i15.i.i.i.i.i.i.not.i695 = icmp slt i32 %89, %90 + br i1 %cmp.i15.i.i.i.i.i.i.not.i695, label %invoke.cont366.thread, label %if.end.i.i.i.i.i.i.i696 + +invoke.cont366.thread: ; preds = %for.body.i.i.i.i.i.i.i692 store i8 1, ptr %gtest_ar_364, align 8 - %message_.i655945 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_364, i64 0, i32 1 - store ptr null, ptr %message_.i655945, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit670 + %message_.i7071001 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_364, i64 0, i32 1 + store ptr null, ptr %message_.i7071001, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit722 -if.end.i.i.i.i.i.i.i644: ; preds = %for.body.i.i.i.i.i.i.i640 - %cmp.i16.i.i.i.i.i.i.i645 = icmp slt i32 %90, %89 - br i1 %cmp.i16.i.i.i.i.i.i.i645, label %invoke.cont366.thread948, label %for.inc.i.i.i.i.i.i.i646 +if.end.i.i.i.i.i.i.i696: ; preds = %for.body.i.i.i.i.i.i.i692 + %cmp.i16.i.i.i.i.i.i.i697 = icmp slt i32 %90, %89 + br i1 %cmp.i16.i.i.i.i.i.i.i697, label %invoke.cont366.thread1004, label %for.inc.i.i.i.i.i.i.i698 -invoke.cont366.thread948: ; preds = %if.end.i.i.i.i.i.i.i644 +invoke.cont366.thread1004: ; preds = %if.end.i.i.i.i.i.i.i696 store i8 0, ptr %gtest_ar_364, align 8 - %message_.i655952 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_364, i64 0, i32 1 - store ptr null, ptr %message_.i655952, align 8 + %message_.i7071008 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_364, i64 0, i32 1 + store ptr null, ptr %message_.i7071008, align 8 br label %if.else373 -for.inc.i.i.i.i.i.i.i646: ; preds = %if.end.i.i.i.i.i.i.i644 - %incdec.ptr.i.i.i.i.i.i.i647 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i642, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i648 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i641, i64 1 - %cmp.not.i.i.i.i.i.i.i649 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i647, %cond.i.i.i.i.i.i.i.i638 - br i1 %cmp.not.i.i.i.i.i.i.i649, label %invoke.cont366, label %for.body.i.i.i.i.i.i.i640, !llvm.loop !1078 +for.inc.i.i.i.i.i.i.i698: ; preds = %if.end.i.i.i.i.i.i.i696 + %incdec.ptr.i.i.i.i.i.i.i699 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i694, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i700 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i693, i64 1 + %cmp.not.i.i.i.i.i.i.i701 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i699, %cond.i.i.i.i.i.i.i.i690 + br i1 %cmp.not.i.i.i.i.i.i.i701, label %invoke.cont366, label %for.body.i.i.i.i.i.i.i692, !llvm.loop !1078 -invoke.cont366: ; preds = %for.inc.i.i.i.i.i.i.i646, %_ZN7testing15AssertionResultD2Ev.exit625 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i651 = phi ptr [ %cond.i8.i.i633, %_ZN7testing15AssertionResultD2Ev.exit625 ], [ %incdec.ptr6.i.i.i.i.i.i.i648, %for.inc.i.i.i.i.i.i.i646 ] - %cmp9.i.i.i.i.i.i.i652 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i651, %add.ptr4.i.i636 - %frombool369 = zext i1 %cmp9.i.i.i.i.i.i.i652 to i8 +invoke.cont366: ; preds = %for.inc.i.i.i.i.i.i.i698, %_ZN7testing15AssertionResultD2Ev.exit673 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i703 = phi ptr [ %cond.i8.i.i681, %_ZN7testing15AssertionResultD2Ev.exit673 ], [ %incdec.ptr6.i.i.i.i.i.i.i700, %for.inc.i.i.i.i.i.i.i698 ] + %cmp9.i.i.i.i.i.i.i704 = icmp ne ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i703, %add.ptr4.i.i685 + %frombool369 = zext i1 %cmp9.i.i.i.i.i.i.i704 to i8 store i8 %frombool369, ptr %gtest_ar_364, align 8 - %message_.i655 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_364, i64 0, i32 1 - store ptr null, ptr %message_.i655, align 8 - br i1 %cmp9.i.i.i.i.i.i.i652, label %_ZN7testing15AssertionResultD2Ev.exit670, label %if.else373 + %message_.i707 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_364, i64 0, i32 1 + store ptr null, ptr %message_.i707, align 8 + br i1 %cmp9.i.i.i.i.i.i.i704, label %_ZN7testing15AssertionResultD2Ev.exit722, label %if.else373 -ehcleanup363: ; preds = %_ZN7testing7MessageD2Ev.exit621, %lpad348 - %.pn52.pn.pn = phi { ptr, i32 } [ %.pn52.pn, %_ZN7testing7MessageD2Ev.exit621 ], [ %79, %lpad348 ] +ehcleanup363: ; preds = %_ZN7testing7MessageD2Ev.exit669, %lpad348 + %.pn52.pn.pn = phi { ptr, i32 } [ %.pn52.pn, %_ZN7testing7MessageD2Ev.exit669 ], [ %79, %lpad348 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_337) #29 br label %ehcleanup417 -if.else373: ; preds = %invoke.cont366.thread948, %invoke.cont366 - %message_.i655954 = phi ptr [ %message_.i655952, %invoke.cont366.thread948 ], [ %message_.i655, %invoke.cont366 ] +if.else373: ; preds = %invoke.cont366.thread1004, %invoke.cont366 + %message_.i7071010 = phi ptr [ %message_.i7071008, %invoke.cont366.thread1004 ], [ %message_.i707, %invoke.cont366 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp374) to label %invoke.cont376 unwind label %lpad375 @@ -53060,13 +53088,13 @@ invoke.cont385: ; preds = %invoke.cont383 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp377) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp378) #29 %91 = load ptr, ptr %ref.tmp374, align 8 - %cmp.not.i.i657 = icmp eq ptr %91, null - br i1 %cmp.not.i.i657, label %if.end389, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i658 + %cmp.not.i.i709 = icmp eq ptr %91, null + br i1 %cmp.not.i.i709, label %if.end389, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i658: ; preds = %invoke.cont385 - %vtable.i.i.i659 = load ptr, ptr %91, align 8 - %vfn.i.i.i660 = getelementptr inbounds ptr, ptr %vtable.i.i.i659, i64 1 - %92 = load ptr, ptr %vfn.i.i.i660, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710: ; preds = %invoke.cont385 + %vtable.i.i.i711 = load ptr, ptr %91, align 8 + %vfn.i.i.i712 = getelementptr inbounds ptr, ptr %vtable.i.i.i711, i64 1 + %92 = load ptr, ptr %vfn.i.i.i712, align 8 call void %92(ptr noundef nonnull align 8 dereferenceable(128) %91) #29 br label %if.end389 @@ -53099,98 +53127,102 @@ ehcleanup387: ; preds = %lpad384, %lpad382 ehcleanup388: ; preds = %ehcleanup387, %lpad379 %.pn56.pn = phi { ptr, i32 } [ %.pn56, %ehcleanup387 ], [ %94, %lpad379 ] %97 = load ptr, ptr %ref.tmp374, align 8 - %cmp.not.i.i662 = icmp eq ptr %97, null - br i1 %cmp.not.i.i662, label %_ZN7testing7MessageD2Ev.exit666, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i663 + %cmp.not.i.i714 = icmp eq ptr %97, null + br i1 %cmp.not.i.i714, label %_ZN7testing7MessageD2Ev.exit718, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i663: ; preds = %ehcleanup388 - %vtable.i.i.i664 = load ptr, ptr %97, align 8 - %vfn.i.i.i665 = getelementptr inbounds ptr, ptr %vtable.i.i.i664, i64 1 - %98 = load ptr, ptr %vfn.i.i.i665, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715: ; preds = %ehcleanup388 + %vtable.i.i.i716 = load ptr, ptr %97, align 8 + %vfn.i.i.i717 = getelementptr inbounds ptr, ptr %vtable.i.i.i716, i64 1 + %98 = load ptr, ptr %vfn.i.i.i717, align 8 call void %98(ptr noundef nonnull align 8 dereferenceable(128) %97) #29 - br label %_ZN7testing7MessageD2Ev.exit666 + br label %_ZN7testing7MessageD2Ev.exit718 -_ZN7testing7MessageD2Ev.exit666: ; preds = %ehcleanup388, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i663 +_ZN7testing7MessageD2Ev.exit718: ; preds = %ehcleanup388, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i715 store ptr null, ptr %ref.tmp374, align 8 br label %ehcleanup390 -if.end389: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i658, %invoke.cont385 +if.end389: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i710, %invoke.cont385 store ptr null, ptr %ref.tmp374, align 8 - %.pr955 = load ptr, ptr %message_.i655954, align 8 - %cmp.not.i.i668 = icmp eq ptr %.pr955, null - br i1 %cmp.not.i.i668, label %_ZN7testing15AssertionResultD2Ev.exit670, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i669 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i669: ; preds = %if.end389 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr955) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr955) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit670 - -_ZN7testing15AssertionResultD2Ev.exit670: ; preds = %invoke.cont366, %invoke.cont366.thread, %if.end389, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i669 - %message_.i655947958 = phi ptr [ %message_.i655954, %if.end389 ], [ %message_.i655954, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i669 ], [ %message_.i655, %invoke.cont366 ], [ %message_.i655945, %invoke.cont366.thread ] - store ptr null, ptr %message_.i655947958, align 8 + %.pr1011 = load ptr, ptr %message_.i7071010, align 8 + %cmp.not.i.i720 = icmp eq ptr %.pr1011, null + br i1 %cmp.not.i.i720, label %_ZN7testing15AssertionResultD2Ev.exit722, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721: ; preds = %if.end389 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr1011) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr1011) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit722 + +_ZN7testing15AssertionResultD2Ev.exit722: ; preds = %invoke.cont366, %invoke.cont366.thread, %if.end389, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721 + %message_.i70710031014 = phi ptr [ %message_.i7071010, %if.end389 ], [ %message_.i7071010, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i721 ], [ %message_.i707, %invoke.cont366 ], [ %message_.i7071001, %invoke.cont366.thread ] + store ptr null, ptr %message_.i70710031014, align 8 %99 = load i64, ptr %b, align 8 - %and.i.i.i.i671 = and i64 %99, 1 - %tobool.i.not.i.i.i672 = icmp eq i64 %and.i.i.i.i671, 0 + %and.i.i.i.i723 = and i64 %99, 1 + %tobool.i.not.i.i.i724 = icmp eq i64 %and.i.i.i.i723, 0 %100 = load ptr, ptr %data_.i.i7.i, align 8 - %cond.i.i.i674 = select i1 %tobool.i.not.i.i.i672, ptr %data_.i.i7.i, ptr %100 + %cond.i.i.i726 = select i1 %tobool.i.not.i.i.i724, ptr %data_.i.i7.i, ptr %100 %101 = load i64, ptr %a, align 8 - %and.i.i5.i.i675 = and i64 %101, 1 - %tobool.i.not.i6.i.i676 = icmp eq i64 %and.i.i5.i.i675, 0 + %and.i.i5.i.i727 = and i64 %101, 1 + %tobool.i.not.i6.i.i728 = icmp eq i64 %and.i.i5.i.i727, 0 %102 = load ptr, ptr %data_.i.i.i, align 8 - %cond.i8.i.i678 = select i1 %tobool.i.not.i6.i.i676, ptr %data_.i.i.i, ptr %102 - %shr.i.i.i.i679 = lshr i64 %99, 1 - %shr.i.i9.i.i680 = lshr i64 %101, 1 - %add.ptr4.i.i681 = getelementptr inbounds i32, ptr %cond.i8.i.i678, i64 %shr.i.i9.i.i680 - %cond.i.i.i.i.i.i.v.i.i682 = call i64 @llvm.umin.i64(i64 %shr.i.i9.i.i680, i64 %shr.i.i.i.i679) - %cond.i.i.i.i.i.i.i.i683 = getelementptr inbounds i32, ptr %cond.i.i.i674, i64 %cond.i.i.i.i.i.i.v.i.i682 - %cmp.not18.i.i.i.i.i.i.i684 = icmp eq i64 %cond.i.i.i.i.i.i.v.i.i682, 0 - br i1 %cmp.not18.i.i.i.i.i.i.i684, label %invoke.cont393, label %for.body.i.i.i.i.i.i.i685 - -for.body.i.i.i.i.i.i.i685: ; preds = %_ZN7testing15AssertionResultD2Ev.exit670, %for.inc.i.i.i.i.i.i.i691 - %__first2.addr.020.i.i.i.i.i.i.i686 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i693, %for.inc.i.i.i.i.i.i.i691 ], [ %cond.i8.i.i678, %_ZN7testing15AssertionResultD2Ev.exit670 ] - %__first1.addr.019.i.i.i.i.i.i.i687 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i692, %for.inc.i.i.i.i.i.i.i691 ], [ %cond.i.i.i674, %_ZN7testing15AssertionResultD2Ev.exit670 ] - %103 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i687, align 4 - %104 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i686, align 4 - %cmp.i15.i.i.i.i.i.i.not.i688 = icmp slt i32 %103, %104 - br i1 %cmp.i15.i.i.i.i.i.i.not.i688, label %invoke.cont393.thread964, label %if.end.i.i.i.i.i.i.i689 - -invoke.cont393.thread964: ; preds = %for.body.i.i.i.i.i.i.i685 + %cond.i8.i.i730 = select i1 %tobool.i.not.i6.i.i728, ptr %data_.i.i.i, ptr %102 + %shr.i.i.i.i731 = lshr i64 %99, 1 + %add.ptr.i.i732 = getelementptr inbounds i32, ptr %cond.i.i.i726, i64 %shr.i.i.i.i731 + %shr.i.i9.i.i733 = lshr i64 %101, 1 + %add.ptr4.i.i734 = getelementptr inbounds i32, ptr %cond.i8.i.i730, i64 %shr.i.i9.i.i733 + %add.ptr.idx.i.i735 = shl nsw i64 %shr.i.i.i.i731, 2 + %add.ptr4.idx.i.i736 = shl nsw i64 %shr.i.i9.i.i733, 2 + %cmp.i.i.i.i.i.i.i.i737 = icmp ult i64 %add.ptr4.idx.i.i736, %add.ptr.idx.i.i735 + %add.ptr.i.i.i.i.i.i.i.i738 = getelementptr inbounds i8, ptr %cond.i.i.i726, i64 %add.ptr4.idx.i.i736 + %cond.i.i.i.i.i.i.i.i739 = select i1 %cmp.i.i.i.i.i.i.i.i737, ptr %add.ptr.i.i.i.i.i.i.i.i738, ptr %add.ptr.i.i732 + %cmp.not18.i.i.i.i.i.i.i740 = icmp eq ptr %cond.i.i.i.i.i.i.i.i739, %cond.i.i.i726 + br i1 %cmp.not18.i.i.i.i.i.i.i740, label %invoke.cont393, label %for.body.i.i.i.i.i.i.i741 + +for.body.i.i.i.i.i.i.i741: ; preds = %_ZN7testing15AssertionResultD2Ev.exit722, %for.inc.i.i.i.i.i.i.i747 + %__first2.addr.020.i.i.i.i.i.i.i742 = phi ptr [ %incdec.ptr6.i.i.i.i.i.i.i749, %for.inc.i.i.i.i.i.i.i747 ], [ %cond.i8.i.i730, %_ZN7testing15AssertionResultD2Ev.exit722 ] + %__first1.addr.019.i.i.i.i.i.i.i743 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i748, %for.inc.i.i.i.i.i.i.i747 ], [ %cond.i.i.i726, %_ZN7testing15AssertionResultD2Ev.exit722 ] + %103 = load i32, ptr %__first1.addr.019.i.i.i.i.i.i.i743, align 4 + %104 = load i32, ptr %__first2.addr.020.i.i.i.i.i.i.i742, align 4 + %cmp.i15.i.i.i.i.i.i.not.i744 = icmp slt i32 %103, %104 + br i1 %cmp.i15.i.i.i.i.i.i.not.i744, label %invoke.cont393.thread1020, label %if.end.i.i.i.i.i.i.i745 + +invoke.cont393.thread1020: ; preds = %for.body.i.i.i.i.i.i.i741 store i8 0, ptr %gtest_ar_391, align 8 - %message_.i700967 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_391, i64 0, i32 1 - store ptr null, ptr %message_.i700967, align 8 + %message_.i7561023 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_391, i64 0, i32 1 + store ptr null, ptr %message_.i7561023, align 8 br label %if.else399 -if.end.i.i.i.i.i.i.i689: ; preds = %for.body.i.i.i.i.i.i.i685 - %cmp.i16.i.i.i.i.i.i.i690 = icmp slt i32 %104, %103 - br i1 %cmp.i16.i.i.i.i.i.i.i690, label %invoke.cont393.thread, label %for.inc.i.i.i.i.i.i.i691 +if.end.i.i.i.i.i.i.i745: ; preds = %for.body.i.i.i.i.i.i.i741 + %cmp.i16.i.i.i.i.i.i.i746 = icmp slt i32 %104, %103 + br i1 %cmp.i16.i.i.i.i.i.i.i746, label %invoke.cont393.thread, label %for.inc.i.i.i.i.i.i.i747 -invoke.cont393.thread: ; preds = %if.end.i.i.i.i.i.i.i689 +invoke.cont393.thread: ; preds = %if.end.i.i.i.i.i.i.i745 store i8 1, ptr %gtest_ar_391, align 8 - %message_.i700961 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_391, i64 0, i32 1 - store ptr null, ptr %message_.i700961, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit715 - -for.inc.i.i.i.i.i.i.i691: ; preds = %if.end.i.i.i.i.i.i.i689 - %incdec.ptr.i.i.i.i.i.i.i692 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i687, i64 1 - %incdec.ptr6.i.i.i.i.i.i.i693 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i686, i64 1 - %cmp.not.i.i.i.i.i.i.i694 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i692, %cond.i.i.i.i.i.i.i.i683 - br i1 %cmp.not.i.i.i.i.i.i.i694, label %invoke.cont393, label %for.body.i.i.i.i.i.i.i685, !llvm.loop !1078 - -invoke.cont393: ; preds = %for.inc.i.i.i.i.i.i.i691, %_ZN7testing15AssertionResultD2Ev.exit670 - %__first2.addr.0.lcssa.i.i.i.i.i.i.i696 = phi ptr [ %cond.i8.i.i678, %_ZN7testing15AssertionResultD2Ev.exit670 ], [ %incdec.ptr6.i.i.i.i.i.i.i693, %for.inc.i.i.i.i.i.i.i691 ] - %cmp9.i.i.i.i.i.i.i697 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i696, %add.ptr4.i.i681 - %frombool395 = zext i1 %cmp9.i.i.i.i.i.i.i697 to i8 + %message_.i7561017 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_391, i64 0, i32 1 + store ptr null, ptr %message_.i7561017, align 8 + br label %_ZN7testing15AssertionResultD2Ev.exit771 + +for.inc.i.i.i.i.i.i.i747: ; preds = %if.end.i.i.i.i.i.i.i745 + %incdec.ptr.i.i.i.i.i.i.i748 = getelementptr inbounds i32, ptr %__first1.addr.019.i.i.i.i.i.i.i743, i64 1 + %incdec.ptr6.i.i.i.i.i.i.i749 = getelementptr inbounds i32, ptr %__first2.addr.020.i.i.i.i.i.i.i742, i64 1 + %cmp.not.i.i.i.i.i.i.i750 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i748, %cond.i.i.i.i.i.i.i.i739 + br i1 %cmp.not.i.i.i.i.i.i.i750, label %invoke.cont393, label %for.body.i.i.i.i.i.i.i741, !llvm.loop !1078 + +invoke.cont393: ; preds = %for.inc.i.i.i.i.i.i.i747, %_ZN7testing15AssertionResultD2Ev.exit722 + %__first2.addr.0.lcssa.i.i.i.i.i.i.i752 = phi ptr [ %cond.i8.i.i730, %_ZN7testing15AssertionResultD2Ev.exit722 ], [ %incdec.ptr6.i.i.i.i.i.i.i749, %for.inc.i.i.i.i.i.i.i747 ] + %cmp9.i.i.i.i.i.i.i753 = icmp eq ptr %__first2.addr.0.lcssa.i.i.i.i.i.i.i752, %add.ptr4.i.i734 + %frombool395 = zext i1 %cmp9.i.i.i.i.i.i.i753 to i8 store i8 %frombool395, ptr %gtest_ar_391, align 8 - %message_.i700 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_391, i64 0, i32 1 - store ptr null, ptr %message_.i700, align 8 - br i1 %cmp9.i.i.i.i.i.i.i697, label %_ZN7testing15AssertionResultD2Ev.exit715, label %if.else399 + %message_.i756 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_391, i64 0, i32 1 + store ptr null, ptr %message_.i756, align 8 + br i1 %cmp9.i.i.i.i.i.i.i753, label %_ZN7testing15AssertionResultD2Ev.exit771, label %if.else399 -ehcleanup390: ; preds = %_ZN7testing7MessageD2Ev.exit666, %lpad375 - %.pn56.pn.pn = phi { ptr, i32 } [ %.pn56.pn, %_ZN7testing7MessageD2Ev.exit666 ], [ %93, %lpad375 ] +ehcleanup390: ; preds = %_ZN7testing7MessageD2Ev.exit718, %lpad375 + %.pn56.pn.pn = phi { ptr, i32 } [ %.pn56.pn, %_ZN7testing7MessageD2Ev.exit718 ], [ %93, %lpad375 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_364) #29 br label %ehcleanup417 -if.else399: ; preds = %invoke.cont393.thread964, %invoke.cont393 - %message_.i700969 = phi ptr [ %message_.i700967, %invoke.cont393.thread964 ], [ %message_.i700, %invoke.cont393 ] +if.else399: ; preds = %invoke.cont393.thread1020, %invoke.cont393 + %message_.i7561025 = phi ptr [ %message_.i7561023, %invoke.cont393.thread1020 ], [ %message_.i756, %invoke.cont393 ] invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp400) to label %invoke.cont402 unwind label %lpad401 @@ -53211,13 +53243,13 @@ invoke.cont411: ; preds = %invoke.cont409 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp403) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp404) #29 %105 = load ptr, ptr %ref.tmp400, align 8 - %cmp.not.i.i702 = icmp eq ptr %105, null - br i1 %cmp.not.i.i702, label %if.end415, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i703 + %cmp.not.i.i758 = icmp eq ptr %105, null + br i1 %cmp.not.i.i758, label %if.end415, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i759 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i703: ; preds = %invoke.cont411 - %vtable.i.i.i704 = load ptr, ptr %105, align 8 - %vfn.i.i.i705 = getelementptr inbounds ptr, ptr %vtable.i.i.i704, i64 1 - %106 = load ptr, ptr %vfn.i.i.i705, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i759: ; preds = %invoke.cont411 + %vtable.i.i.i760 = load ptr, ptr %105, align 8 + %vfn.i.i.i761 = getelementptr inbounds ptr, ptr %vtable.i.i.i760, i64 1 + %106 = load ptr, ptr %vfn.i.i.i761, align 8 call void %106(ptr noundef nonnull align 8 dereferenceable(128) %105) #29 br label %if.end415 @@ -53250,87 +53282,87 @@ ehcleanup413: ; preds = %lpad410, %lpad408 ehcleanup414: ; preds = %ehcleanup413, %lpad405 %.pn60.pn = phi { ptr, i32 } [ %.pn60, %ehcleanup413 ], [ %108, %lpad405 ] %111 = load ptr, ptr %ref.tmp400, align 8 - %cmp.not.i.i707 = icmp eq ptr %111, null - br i1 %cmp.not.i.i707, label %_ZN7testing7MessageD2Ev.exit711, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i708 + %cmp.not.i.i763 = icmp eq ptr %111, null + br i1 %cmp.not.i.i763, label %_ZN7testing7MessageD2Ev.exit767, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i764 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i708: ; preds = %ehcleanup414 - %vtable.i.i.i709 = load ptr, ptr %111, align 8 - %vfn.i.i.i710 = getelementptr inbounds ptr, ptr %vtable.i.i.i709, i64 1 - %112 = load ptr, ptr %vfn.i.i.i710, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i764: ; preds = %ehcleanup414 + %vtable.i.i.i765 = load ptr, ptr %111, align 8 + %vfn.i.i.i766 = getelementptr inbounds ptr, ptr %vtable.i.i.i765, i64 1 + %112 = load ptr, ptr %vfn.i.i.i766, align 8 call void %112(ptr noundef nonnull align 8 dereferenceable(128) %111) #29 - br label %_ZN7testing7MessageD2Ev.exit711 + br label %_ZN7testing7MessageD2Ev.exit767 -_ZN7testing7MessageD2Ev.exit711: ; preds = %ehcleanup414, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i708 +_ZN7testing7MessageD2Ev.exit767: ; preds = %ehcleanup414, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i764 store ptr null, ptr %ref.tmp400, align 8 br label %ehcleanup416 -if.end415: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i703, %invoke.cont411 +if.end415: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i759, %invoke.cont411 store ptr null, ptr %ref.tmp400, align 8 - %.pr970 = load ptr, ptr %message_.i700969, align 8 - %cmp.not.i.i713 = icmp eq ptr %.pr970, null - br i1 %cmp.not.i.i713, label %_ZN7testing15AssertionResultD2Ev.exit715, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i714 - -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i714: ; preds = %if.end415 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr970) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr970) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit715 - -_ZN7testing15AssertionResultD2Ev.exit715: ; preds = %invoke.cont393, %invoke.cont393.thread, %if.end415, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i714 - %message_.i700963973 = phi ptr [ %message_.i700969, %if.end415 ], [ %message_.i700969, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i714 ], [ %message_.i700, %invoke.cont393 ], [ %message_.i700961, %invoke.cont393.thread ] - store ptr null, ptr %message_.i700963973, align 8 + %.pr1026 = load ptr, ptr %message_.i7561025, align 8 + %cmp.not.i.i769 = icmp eq ptr %.pr1026, null + br i1 %cmp.not.i.i769, label %_ZN7testing15AssertionResultD2Ev.exit771, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i770 + +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i770: ; preds = %if.end415 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr1026) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr1026) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit771 + +_ZN7testing15AssertionResultD2Ev.exit771: ; preds = %invoke.cont393, %invoke.cont393.thread, %if.end415, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i770 + %message_.i75610191029 = phi ptr [ %message_.i7561025, %if.end415 ], [ %message_.i7561025, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i770 ], [ %message_.i756, %invoke.cont393 ], [ %message_.i7561017, %invoke.cont393.thread ] + store ptr null, ptr %message_.i75610191029, align 8 %113 = load i64, ptr %b, align 8 - %and.i.i.i.i716 = and i64 %113, 1 - %tobool.i.not.i.i.i717 = icmp eq i64 %and.i.i.i.i716, 0 - br i1 %tobool.i.not.i.i.i717, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit, label %if.then.i.i.i + %and.i.i.i.i772 = and i64 %113, 1 + %tobool.i.not.i.i.i773 = icmp eq i64 %and.i.i.i.i772, 0 + br i1 %tobool.i.not.i.i.i773, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit, label %if.then.i.i.i -if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit715 +if.then.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit771 %114 = load ptr, ptr %data_.i.i7.i, align 8 call void @_ZdlPv(ptr noundef %114) #32 br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit715, %if.then.i.i.i +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit771, %if.then.i.i.i %115 = load i64, ptr %a, align 8 - %and.i.i.i.i719 = and i64 %115, 1 - %tobool.i.not.i.i.i720 = icmp eq i64 %and.i.i.i.i719, 0 - br i1 %tobool.i.not.i.i.i720, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit723, label %if.then.i.i.i721 + %and.i.i.i.i775 = and i64 %115, 1 + %tobool.i.not.i.i.i776 = icmp eq i64 %and.i.i.i.i775, 0 + br i1 %tobool.i.not.i.i.i776, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit779, label %if.then.i.i.i777 -if.then.i.i.i721: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit +if.then.i.i.i777: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit %116 = load ptr, ptr %data_.i.i.i, align 8 call void @_ZdlPv(ptr noundef %116) #32 - br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit723 + br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit779 -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit723: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit, %if.then.i.i.i721 +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit779: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit, %if.then.i.i.i777 ret void -ehcleanup416: ; preds = %_ZN7testing7MessageD2Ev.exit711, %lpad401 - %.pn60.pn.pn = phi { ptr, i32 } [ %.pn60.pn, %_ZN7testing7MessageD2Ev.exit711 ], [ %107, %lpad401 ] +ehcleanup416: ; preds = %_ZN7testing7MessageD2Ev.exit767, %lpad401 + %.pn60.pn.pn = phi { ptr, i32 } [ %.pn60.pn, %_ZN7testing7MessageD2Ev.exit767 ], [ %107, %lpad401 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_391) #29 br label %ehcleanup417 ehcleanup417: ; preds = %ehcleanup416, %ehcleanup390, %ehcleanup363, %ehcleanup336, %ehcleanup310, %ehcleanup284, %ehcleanup257, %ehcleanup230, %lpad %.pn60.pn.pn.pn = phi { ptr, i32 } [ %.pn60.pn.pn, %ehcleanup416 ], [ %0, %lpad ], [ %.pn56.pn.pn, %ehcleanup390 ], [ %.pn52.pn.pn, %ehcleanup363 ], [ %.pn48.pn.pn, %ehcleanup336 ], [ %.pn44.pn.pn, %ehcleanup310 ], [ %.pn40.pn.pn, %ehcleanup284 ], [ %.pn36.pn.pn, %ehcleanup257 ], [ %.pn32.pn.pn, %ehcleanup230 ] %117 = load i64, ptr %b, align 8 - %and.i.i.i.i724 = and i64 %117, 1 - %tobool.i.not.i.i.i725 = icmp eq i64 %and.i.i.i.i724, 0 - br i1 %tobool.i.not.i.i.i725, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit728, label %if.then.i.i.i726 + %and.i.i.i.i780 = and i64 %117, 1 + %tobool.i.not.i.i.i781 = icmp eq i64 %and.i.i.i.i780, 0 + br i1 %tobool.i.not.i.i.i781, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit784, label %if.then.i.i.i782 -if.then.i.i.i726: ; preds = %ehcleanup417 +if.then.i.i.i782: ; preds = %ehcleanup417 %118 = load ptr, ptr %data_.i.i7.i, align 8 call void @_ZdlPv(ptr noundef %118) #32 - br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit728 + br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit784 -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit728: ; preds = %ehcleanup417, %if.then.i.i.i726 +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit784: ; preds = %ehcleanup417, %if.then.i.i.i782 %119 = load i64, ptr %a, align 8 - %and.i.i.i.i729 = and i64 %119, 1 - %tobool.i.not.i.i.i730 = icmp eq i64 %and.i.i.i.i729, 0 - br i1 %tobool.i.not.i.i.i730, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit733, label %if.then.i.i.i731 + %and.i.i.i.i785 = and i64 %119, 1 + %tobool.i.not.i.i.i786 = icmp eq i64 %and.i.i.i.i785, 0 + br i1 %tobool.i.not.i.i.i786, label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit789, label %if.then.i.i.i787 -if.then.i.i.i731: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit728 +if.then.i.i.i787: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit784 %120 = load ptr, ptr %data_.i.i.i, align 8 call void @_ZdlPv(ptr noundef %120) #32 - br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit733 + br label %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit789 -_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit733: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit728, %if.then.i.i.i731 +_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit789: ; preds = %_ZN4absl13InlinedVectorIiLm8ESaIiEED2Ev.exit784, %if.then.i.i.i787 resume { ptr, i32 } %.pn60.pn.pn.pn } @@ -61738,7 +61770,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.376, ptr %call5.i.i.i.i2.i, align 8 @@ -66920,7 +66952,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.376, ptr %call5.i.i.i.i2.i, align 8 @@ -70796,7 +70828,7 @@ invoke.cont5: ; preds = %.noexc18 call5.i.i.i.i.noexc: ; preds = %invoke.cont5 store ptr %call5.i.i.i.i76, ptr %source_v, align 8 - %add.ptr.i74 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %call5.i.i.i.i76, i64 2 + %add.ptr.i74 = getelementptr inbounds i8, ptr %call5.i.i.i.i76, i64 64 %_M_end_of_storage.i = getelementptr inbounds %"struct.std::_Vector_base, std::allocator>>::_Vector_impl_data", ptr %source_v, i64 0, i32 2 store ptr %add.ptr.i74, ptr %_M_end_of_storage.i, align 8 br label %for.body.i.i.i.i.i @@ -71599,10 +71631,10 @@ _ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit: %message_.i.i103 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar77, i64 0, i32 1 %_M_finish.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp100, i64 0, i32 1 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp100, i64 0, i32 2 - %message_.i.i144 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar99, i64 0, i32 1 + %message_.i.i143 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar99, i64 0, i32 1 br label %for.body -for.body: ; preds = %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit, %_ZNSt6vectorIiSaIiEED2Ev.exit185 +for.body: ; preds = %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit, %_ZNSt6vectorIiSaIiEED2Ev.exit184 call void @_ZN7testing11ScopedTraceC2ImEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1412, ptr noundef nonnull @.str.4, i32 noundef 1412, ptr noundef nonnull align 8 dereferenceable(8) %original_size) %0 = load i64, ptr %original_size, align 8 %cmp.i.i = icmp ugt i64 %0, 2305843009213693951 @@ -71610,7 +71642,7 @@ for.body: ; preds = %_ZN4absl13InlinedVe if.then.i.i: ; preds = %for.body invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc unwind label %lpad.loopexit.split-lp236 + to label %.noexc unwind label %lpad.loopexit.split-lp232 .noexc: ; preds = %if.then.i.i unreachable @@ -71622,7 +71654,7 @@ _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i: ; preds = %for.body if.end.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i %mul.i.i.i.i.i.i = shl nuw nsw i64 %0, 2 %call5.i.i.i.i2.i.i22 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i) #33 - to label %call5.i.i.i.i2.i.i.noexc unwind label %lpad.loopexit235 + to label %call5.i.i.i.i2.i.i.noexc unwind label %lpad.loopexit231 call5.i.i.i.i2.i.i.noexc: ; preds = %if.end.i.i.i.i.i.i.i %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i22, i64 %0 @@ -71651,7 +71683,7 @@ invoke.cont: ; preds = %for.body.i.i.i.i.i. br label %for.body6 for.body6: ; preds = %invoke.cont, %_ZNSt6vectorIiSaIiEED2Ev.exit - %storemerge3387 = phi i64 [ 0, %invoke.cont ], [ %inc130, %_ZNSt6vectorIiSaIiEED2Ev.exit ] + %storemerge3374 = phi i64 [ 0, %invoke.cont ], [ %inc130, %_ZNSt6vectorIiSaIiEED2Ev.exit ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i) invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i) @@ -71660,7 +71692,7 @@ for.body6: ; preds = %invoke.cont, %_ZNSt .noexc23: ; preds = %for.body6 %2 = load ptr, ptr %ref.tmp.i, align 8 %add.ptr.i.i = getelementptr inbounds i8, ptr %2, i64 16 - %call2.i2.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i, i64 noundef %storemerge3387) + %call2.i2.i = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %add.ptr.i.i, i64 noundef %storemerge3374) to label %invoke.cont.i unwind label %lpad.i invoke.cont.i: ; preds = %.noexc23 @@ -71711,26 +71743,26 @@ _ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE invoke.cont8: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i, %invoke.cont4.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i) - %cmp10381.not = icmp eq i64 %storemerge3387, 0 - br i1 %cmp10381.not, label %for.end, label %for.body11 + %cmp10368.not = icmp eq i64 %storemerge3374, 0 + br i1 %cmp10368.not, label %for.end, label %for.body11 for.body11: ; preds = %invoke.cont8, %for.inc - %i.0385 = phi i64 [ %inc, %for.inc ], [ 0, %invoke.cont8 ] - %new_contents.sroa.17.2384 = phi ptr [ %new_contents.sroa.17.3, %for.inc ], [ null, %invoke.cont8 ] - %new_contents.sroa.9.2383 = phi ptr [ %new_contents.sroa.9.3, %for.inc ], [ null, %invoke.cont8 ] - %new_contents.sroa.0.2382 = phi ptr [ %new_contents.sroa.0.3, %for.inc ], [ null, %invoke.cont8 ] - %9 = trunc i64 %i.0385 to i32 + %i.0372 = phi i64 [ %inc, %for.inc ], [ 0, %invoke.cont8 ] + %new_contents.sroa.17.2371 = phi ptr [ %new_contents.sroa.17.3, %for.inc ], [ null, %invoke.cont8 ] + %new_contents.sroa.9.2370 = phi ptr [ %new_contents.sroa.9.3, %for.inc ], [ null, %invoke.cont8 ] + %new_contents.sroa.0.2369 = phi ptr [ %new_contents.sroa.0.3, %for.inc ], [ null, %invoke.cont8 ] + %9 = trunc i64 %i.0372 to i32 %conv = add i32 %9, 3 - %cmp.not.i.i = icmp eq ptr %new_contents.sroa.9.2383, %new_contents.sroa.17.2384 + %cmp.not.i.i = icmp eq ptr %new_contents.sroa.9.2370, %new_contents.sroa.17.2371 br i1 %cmp.not.i.i, label %if.else.i.i, label %if.then.i.i24 if.then.i.i24: ; preds = %for.body11 - store i32 %conv, ptr %new_contents.sroa.9.2383, align 4 + store i32 %conv, ptr %new_contents.sroa.9.2370, align 4 br label %for.inc if.else.i.i: ; preds = %for.body11 - %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %new_contents.sroa.17.2384 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %new_contents.sroa.0.2382 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %new_contents.sroa.17.2371 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i = ptrtoint ptr %new_contents.sroa.0.2369 to i64 %sub.ptr.sub.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i %cmp.i.i.i.i = icmp eq i64 %sub.ptr.sub.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i @@ -71762,41 +71794,42 @@ _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16allocat %cond.i10.i.i.i = phi ptr [ null, %_ZNKSt6vectorIiSaIiEE12_M_check_lenEmPKc.exit.i.i.i ], [ %call5.i.i.i.i.i.i29, %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i ] %add.ptr.i.i.i27 = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store i32 %conv, ptr %add.ptr.i.i.i27, align 4 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %new_contents.sroa.0.2382, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 4 %cond.i10.i.i.i, ptr align 4 %new_contents.sroa.0.2369, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) + br label %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i -_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i - %tobool.not.i.i.i.i = icmp eq ptr %new_contents.sroa.0.2382, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i +_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %tobool.not.i.i.i.i = icmp eq ptr %new_contents.sroa.0.2369, null + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i - call void @_ZdlPv(ptr noundef nonnull %new_contents.sroa.0.2382) #32 +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i + call void @_ZdlPv(ptr noundef nonnull %new_contents.sroa.0.2369) #32 br label %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i -_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit20.i.i.i +_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIiSaIiEE11_S_relocateEPiS2_S2_RS0_.exit19.i.i.i %add.ptr19.i.i.i = getelementptr inbounds i32, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i br label %for.inc for.inc: ; preds = %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i, %if.then.i.i24 - %new_contents.sroa.0.3 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %new_contents.sroa.0.2382, %if.then.i.i24 ] - %add.ptr.i.i.i27.pn = phi ptr [ %add.ptr.i.i.i27, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %new_contents.sroa.9.2383, %if.then.i.i24 ] - %new_contents.sroa.17.3 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %new_contents.sroa.17.2384, %if.then.i.i24 ] - %new_contents.sroa.9.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i27.pn, i64 1 - %inc = add nuw nsw i64 %i.0385, 1 - %exitcond.not = icmp eq i64 %inc, %storemerge3387 + %new_contents.sroa.0.3 = phi ptr [ %cond.i10.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %new_contents.sroa.0.2369, %if.then.i.i24 ] + %add.ptr.i.i.i.i.i.i.pn = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %new_contents.sroa.9.2370, %if.then.i.i24 ] + %new_contents.sroa.17.3 = phi ptr [ %add.ptr19.i.i.i, %_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.exit.i.i ], [ %new_contents.sroa.17.2371, %if.then.i.i24 ] + %new_contents.sroa.9.3 = getelementptr inbounds i32, ptr %add.ptr.i.i.i.i.i.i.pn, i64 1 + %inc = add nuw nsw i64 %i.0372, 1 + %exitcond.not = icmp eq i64 %inc, %storemerge3374 br i1 %exitcond.not, label %for.end, label %for.body11, !llvm.loop !1606 -lpad.loopexit235: ; preds = %if.end.i.i.i.i.i.i.i - %lpad.loopexit237 = landingpad { ptr, i32 } +lpad.loopexit231: ; preds = %if.end.i.i.i.i.i.i.i + %lpad.loopexit233 = landingpad { ptr, i32 } cleanup br label %ehcleanup133 -lpad.loopexit.split-lp236: ; preds = %if.then.i.i - %lpad.loopexit.split-lp238 = landingpad { ptr, i32 } +lpad.loopexit.split-lp232: ; preds = %if.then.i.i + %lpad.loopexit.split-lp234 = landingpad { ptr, i32 } cleanup br label %ehcleanup133 @@ -71850,12 +71883,12 @@ for.body.preheader.i.i.i: ; preds = %if.end.i.i, %call5. br label %invoke.cont23 lpad.i33.thread: ; preds = %if.end.thread.i.i - %lpad.loopexit226 = landingpad { ptr, i32 } + %lpad.loopexit225 = landingpad { ptr, i32 } cleanup br label %ehcleanup127 lpad.i33: ; preds = %if.then3.i.i.i.i.i - %lpad.loopexit.split-lp227 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp226 = landingpad { ptr, i32 } cleanup %.pre = load i64, ptr %v, align 8 %11 = and i64 %.pre, 1 @@ -71882,38 +71915,38 @@ invoke.cont23: ; preds = %for.body.preheader. %.sink3.i.i = select i1 %tobool.i.not.i.i, ptr %data_.i4.i.i, ptr %16 %.sink.i.i = select i1 %tobool.i.not.i.i, i64 4, i64 %17 %cmp.i = icmp ult i64 %.sink.i.i, %sub.ptr.div.i.i.i.i42 - br i1 %cmp.i, label %invoke.cont.i195, label %if.else.i191 + br i1 %cmp.i, label %invoke.cont.i194, label %if.else.i190 -invoke.cont.i195: ; preds = %invoke.cont23 +invoke.cont.i194: ; preds = %invoke.cont23 %mul.i.i.i = shl i64 %.sink.i.i, 1 %.sroa.speculated.i.i = call noundef i64 @llvm.umax.i64(i64 %mul.i.i.i, i64 %sub.ptr.div.i.i.i.i42) - %cmp.i.i.i.i.i196 = icmp ugt i64 %.sroa.speculated.i.i, 2305843009213693951 - br i1 %cmp.i.i.i.i.i196, label %if.then.i.i.i.i.i198, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i + %cmp.i.i.i.i.i195 = icmp ugt i64 %.sroa.speculated.i.i, 2305843009213693951 + br i1 %cmp.i.i.i.i.i195, label %if.then.i.i.i.i.i197, label %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i -if.then.i.i.i.i.i198: ; preds = %invoke.cont.i195 +if.then.i.i.i.i.i197: ; preds = %invoke.cont.i194 %cmp2.i.i.i.i.i = icmp ugt i64 %.sroa.speculated.i.i, 4611686018427387903 - br i1 %cmp2.i.i.i.i.i, label %if.then3.i.i.i.i.i199, label %if.end.i.i.i.i.i + br i1 %cmp2.i.i.i.i.i, label %if.then3.i.i.i.i.i198, label %if.end.i.i.i.i.i -if.then3.i.i.i.i.i199: ; preds = %if.then.i.i.i.i.i198 +if.then3.i.i.i.i.i198: ; preds = %if.then.i.i.i.i.i197 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc200 unwind label %lpad32.loopexit.split-lp + to label %.noexc199 unwind label %lpad32.loopexit.split-lp -.noexc200: ; preds = %if.then3.i.i.i.i.i199 +.noexc199: ; preds = %if.then3.i.i.i.i.i198 unreachable -if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i198 +if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i197 invoke void @_ZSt17__throw_bad_allocv() #31 - to label %.noexc201 unwind label %lpad32.loopexit.split-lp + to label %.noexc200 unwind label %lpad32.loopexit.split-lp -.noexc201: ; preds = %if.end.i.i.i.i.i +.noexc200: ; preds = %if.end.i.i.i.i.i unreachable -_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i: ; preds = %invoke.cont.i195 - %mul.i.i.i.i.i197 = shl nuw nsw i64 %.sroa.speculated.i.i, 2 - %call5.i.i.i.i11.i202 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i197) #33 +_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i: ; preds = %invoke.cont.i194 + %mul.i.i.i.i.i196 = shl nuw nsw i64 %.sroa.speculated.i.i, 2 + %call5.i.i.i.i11.i201 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i196) #33 to label %for.body.preheader.i20.i unwind label %lpad32.loopexit -if.else.i191: ; preds = %invoke.cont23 +if.else.i190: ; preds = %invoke.cont23 %shr.i.sink.i.i = lshr i64 %add.i.i.i, 1 %cmp9.i = icmp ult i64 %shr.i.sink.i.i, %sub.ptr.div.i.i.i.i42 %add.ptr.i = getelementptr inbounds i32, ptr %.sink3.i.i, i64 %shr.i.sink.i.i @@ -71922,19 +71955,19 @@ if.else.i191: ; preds = %invoke.cont23 %cmp3.not.i.i = icmp eq i64 %assign_loop.sroa.4.0.i, 0 br i1 %cmp3.not.i.i, label %invoke.cont30.i, label %for.body.i.i -for.body.i.i: ; preds = %if.else.i191, %for.body.i.i - %values.sroa.0.0.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i ], [ %new_contents.sroa.0.2.lcssa, %if.else.i191 ] - %i.04.i.i = phi i64 [ %inc.i.i, %for.body.i.i ], [ 0, %if.else.i191 ] - %add.ptr.i.i192 = getelementptr inbounds i32, ptr %.sink3.i.i, i64 %i.04.i.i +for.body.i.i: ; preds = %if.else.i190, %for.body.i.i + %values.sroa.0.0.i = phi ptr [ %incdec.ptr.i.i.i.i, %for.body.i.i ], [ %new_contents.sroa.0.2.lcssa, %if.else.i190 ] + %i.04.i.i = phi i64 [ %inc.i.i, %for.body.i.i ], [ 0, %if.else.i190 ] + %add.ptr.i.i191 = getelementptr inbounds i32, ptr %.sink3.i.i, i64 %i.04.i.i %18 = load i32, ptr %values.sroa.0.0.i, align 4 - store i32 %18, ptr %add.ptr.i.i192, align 4 + store i32 %18, ptr %add.ptr.i.i191, align 4 %incdec.ptr.i.i.i.i = getelementptr inbounds i32, ptr %values.sroa.0.0.i, i64 1 %inc.i.i = add nuw nsw i64 %i.04.i.i, 1 %exitcond.not.i.i = icmp eq i64 %inc.i.i, %assign_loop.sroa.4.0.i br i1 %exitcond.not.i.i, label %invoke.cont30.i, label %for.body.i.i, !llvm.loop !1610 -invoke.cont30.i: ; preds = %for.body.i.i, %if.else.i191 - %values.sroa.0.1.i = phi ptr [ %new_contents.sroa.0.2.lcssa, %if.else.i191 ], [ %incdec.ptr.i.i.i.i, %for.body.i.i ] +invoke.cont30.i: ; preds = %for.body.i.i, %if.else.i190 + %values.sroa.0.1.i = phi ptr [ %new_contents.sroa.0.2.lcssa, %if.else.i190 ], [ %incdec.ptr.i.i.i.i, %for.body.i.i ] br i1 %cmp9.i, label %for.body.preheader.i20.i, label %invoke.cont30._ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit36_crit_edge.i invoke.cont30._ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2Ev.exit36_crit_edge.i: ; preds = %invoke.cont30.i @@ -71944,9 +71977,9 @@ invoke.cont30._ZN4absl23inlined_vector_internal21AllocationTransactionISaIiEED2E for.body.preheader.i20.i: ; preds = %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i, %invoke.cont30.i %values.sroa.0.173.i = phi ptr [ %values.sroa.0.1.i, %invoke.cont30.i ], [ %new_contents.sroa.0.2.lcssa, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ] %construct_loop.sroa.4.05772.i = phi i64 [ %construct_loop.sroa.4.0.i, %invoke.cont30.i ], [ %sub.ptr.div.i.i.i.i42, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ] - %construct_loop.sroa.0.05871.i = phi ptr [ %add.ptr.i, %invoke.cont30.i ], [ %call5.i.i.i.i11.i202, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ] + %construct_loop.sroa.0.05871.i = phi ptr [ %add.ptr.i, %invoke.cont30.i ], [ %call5.i.i.i.i11.i201, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ] %allocation_tx.sroa.7.05969.i = phi i64 [ 0, %invoke.cont30.i ], [ %.sroa.speculated.i.i, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ] - %allocation_tx.sroa.0.06067.i = phi ptr [ null, %invoke.cont30.i ], [ %call5.i.i.i.i11.i202, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ] + %allocation_tx.sroa.0.06067.i = phi ptr [ null, %invoke.cont30.i ], [ %call5.i.i.i.i11.i201, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i ] br label %for.body.i22.i for.body.i22.i: ; preds = %for.body.i22.i, %for.body.preheader.i20.i @@ -71968,14 +72001,14 @@ invoke.cont39.i: ; preds = %for.body.i22.i if.then41.i: ; preds = %invoke.cont39.i %and.i.i29.i = and i64 %.pre78.i, 1 %tobool.i.not.i30.i = icmp eq i64 %and.i.i29.i, 0 - br i1 %tobool.i.not.i30.i, label %invoke.cont43.i, label %if.then.i.i193 + br i1 %tobool.i.not.i30.i, label %invoke.cont43.i, label %if.then.i.i192 -if.then.i.i193: ; preds = %if.then41.i +if.then.i.i192: ; preds = %if.then41.i %20 = load ptr, ptr %data_.i4.i.i, align 8 call void @_ZdlPv(ptr noundef %20) #32 br label %invoke.cont43.i -invoke.cont43.i: ; preds = %if.then.i.i193, %if.then41.i +invoke.cont43.i: ; preds = %if.then.i.i192, %if.then41.i store ptr %allocation_tx.sroa.0.06067.i, ptr %data_.i4.i.i, align 8 store i64 %allocation_tx.sroa.7.05969.i, ptr %allocated_capacity.i.i.i, align 8 br label %invoke.cont33 @@ -72007,12 +72040,12 @@ invoke.cont38: ; preds = %if.then.i.i48, %if. br i1 %tobool.i.not, label %if.else, label %if.end lpad32.loopexit: ; preds = %if.then.i.i48, %if.end.i.i47, %if.then.i, %if.else.i, %if.then.i.i98, %if.end.i.i97, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZN4absl23inlined_vector_internal13MallocAdapterISaIiELb0EE8AllocateERS2_m.exit.i.i - %lpad.loopexit229 = landingpad { ptr, i32 } + %lpad.loopexit228 = landingpad { ptr, i32 } cleanup br label %ehcleanup126 -lpad32.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i, %if.then3.i.i.i.i.i199, %if.end.i.i.i.i.i - %lpad.loopexit.split-lp230 = landingpad { ptr, i32 } +lpad32.loopexit.split-lp: ; preds = %if.then.i.i.i.i.i.i, %if.then3.i.i.i.i.i198, %if.end.i.i.i.i.i + %lpad.loopexit.split-lp229 = landingpad { ptr, i32 } cleanup br label %ehcleanup126 @@ -72214,7 +72247,7 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit90: ; preds = %if.end72, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i89 store ptr null, ptr %message_.i.i71, align 8 %46 = load i64, ptr %inlined_capacity, align 8 - %cmp74.not = icmp ugt i64 %storemerge3387, %46 + %cmp74.not = icmp ugt i64 %storemerge3374, %46 %47 = load i64, ptr %original_size, align 8 %cmp75.not = icmp ugt i64 %47, %46 %or.cond = select i1 %cmp74.not, i1 true, i1 %cmp75.not @@ -72341,14 +72374,14 @@ ehcleanup97: ; preds = %_ZN7testing7Message br label %ehcleanup126 if.end98: ; preds = %_ZN7testing15AssertionResultD2Ev.exit122, %_ZN7testing15AssertionResultD2Ev.exit90 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i42, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i41, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %if.end98 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc125 unwind label %lpad32.loopexit.split-lp + to label %.noexc124 unwind label %lpad32.loopexit.split-lp -.noexc125: ; preds = %if.then.i.i.i.i.i.i +.noexc124: ; preds = %if.then.i.i.i.i.i.i unreachable _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i: ; preds = %if.end98 @@ -72356,100 +72389,83 @@ _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i: ; preds = %if.end br i1 %cmp.not.i.i.i.i.i.i, label %invoke.cont.thread.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i - %call5.i.i.i.i1.i.i.i.i126 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i41) #33 - to label %cond.true.i.i.i.i.i.i unwind label %lpad32.loopexit - -cond.true.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i126, ptr align 4 %new_contents.sroa.0.2.lcssa, i64 %sub.ptr.sub.i.i.i.i41, i1 false), !noalias !1612 - call void @llvm.experimental.noalias.scope.decl(metadata !1617) - %cmp.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i41, 9223372036854775804 - br i1 %cmp.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i, label %call5.i.i.i.i2.i6.i.i.i.noexc - -if.then3.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i - invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc131 unwind label %lpad103.loopexit.split-lp - -.noexc131: ; preds = %if.then3.i.i.i.i.i.i.i.i - unreachable + %call5.i.i.i.i1.i.i.i.i125 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i41) #33 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %lpad32.loopexit invoke.cont.thread.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i.i.i - %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i42 - store i64 0, ptr %ref.tmp100, align 8, !alias.scope !1617 - store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !1617 + %add.ptr.i.i.i.i.i14.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i41 + store i64 0, ptr %ref.tmp100, align 8, !alias.scope !1612 + store ptr %add.ptr.i.i.i.i.i14.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !1612 br label %invoke.cont104 -call5.i.i.i.i2.i6.i.i.i.noexc: ; preds = %cond.true.i.i.i.i.i.i - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp100, i8 0, i64 24, i1 false), !alias.scope !1617 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i125, ptr align 4 %new_contents.sroa.0.2.lcssa, i64 %sub.ptr.sub.i.i.i.i41, i1 false), !noalias !1615 + call void @llvm.experimental.noalias.scope.decl(metadata !1612) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp100, i8 0, i64 24, i1 false), !alias.scope !1612 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i41) #33 - to label %if.then.i.i.i.i.i unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !1617 - -if.then.i.i.i.i.i: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc - %sub.ptr.div.i.i.i.i.i130 = lshr exact i64 %sub.ptr.sub.i.i.i.i41, 2 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp100, align 8, !alias.scope !1617 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.div.i.i.i.i.i130 - store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !1617 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i126, i64 %sub.ptr.sub.i.i.i.i41, i1 false) + to label %if.then.i.i.i.i.i unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !1612 + +if.then.i.i.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i + store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp100, align 8, !alias.scope !1612 + %add.ptr.i.i.i.i.i.i129 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 %sub.ptr.sub.i.i.i.i41 + store ptr %add.ptr.i.i.i.i.i.i129, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !1612 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i.i.i2.i, ptr nonnull align 4 %call5.i.i.i.i1.i.i.i.i125, i64 %sub.ptr.sub.i.i.i.i41, i1 false) br label %invoke.cont104 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %call5.i.i.i.i2.i6.i.i.i.noexc +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %61 = landingpad { ptr, i32 } cleanup - br label %if.then.i.i.i.i142 + br label %if.then.i.i.i.i141 invoke.cont104: ; preds = %if.then.i.i.i.i.i, %invoke.cont.thread.i - %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i, %if.then.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] - %agg.tmp101.sroa.0.2477 = phi ptr [ %call5.i.i.i.i1.i.i.i.i126, %if.then.i.i.i.i.i ], [ null, %invoke.cont.thread.i ] - store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !1617 + %storemerge = phi ptr [ %add.ptr.i.i.i.i.i.i129, %if.then.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i14.i, %invoke.cont.thread.i ] + %agg.tmp101.sroa.0.2461 = phi ptr [ %call5.i.i.i.i1.i.i.i.i125, %if.then.i.i.i.i.i ], [ null, %invoke.cont.thread.i ] + store ptr %storemerge, ptr %_M_finish.i.i.i.i.i.i, align 8, !alias.scope !1612 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm3ESaIiEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar99, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp100, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(24) %v) to label %invoke.cont106 unwind label %lpad105 invoke.cont106: ; preds = %invoke.cont104 %62 = load ptr, ptr %ref.tmp100, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %62, null - br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit, label %if.then.i.i.i.i.i134 + br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit, label %if.then.i.i.i.i.i133 -if.then.i.i.i.i.i134: ; preds = %invoke.cont106 +if.then.i.i.i.i.i133: ; preds = %invoke.cont106 call void @_ZdlPv(ptr noundef nonnull %62) #32 br label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit: ; preds = %invoke.cont106, %if.then.i.i.i.i.i134 - %tobool.not.i.i.i.i135 = icmp eq ptr %agg.tmp101.sroa.0.2477, null - br i1 %tobool.not.i.i.i.i135, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i136 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit: ; preds = %invoke.cont106, %if.then.i.i.i.i.i133 + %tobool.not.i.i.i.i134 = icmp eq ptr %agg.tmp101.sroa.0.2461, null + br i1 %tobool.not.i.i.i.i134, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i135 -if.then.i.i.i.i136: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit - call void @_ZdlPv(ptr noundef nonnull %agg.tmp101.sroa.0.2477) #32 +if.then.i.i.i.i135: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit + call void @_ZdlPv(ptr noundef nonnull %agg.tmp101.sroa.0.2461) #32 br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit, %if.then.i.i.i.i136 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEED2Ev.exit, %if.then.i.i.i.i135 %63 = load i8, ptr %gtest_ar99, align 8 %64 = and i8 %63, 1 - %tobool.i137.not = icmp eq i8 %64, 0 - br i1 %tobool.i137.not, label %if.else111, label %if.end124 - -lpad103.loopexit.split-lp: ; preds = %if.then3.i.i.i.i.i.i.i.i - %lpad.loopexit.split-lp233 = landingpad { ptr, i32 } - cleanup - br label %if.then.i.i.i.i142 + %tobool.i136.not = icmp eq i8 %64, 0 + br i1 %tobool.i136.not, label %if.else111, label %if.end124 lpad105: ; preds = %invoke.cont104 %65 = landingpad { ptr, i32 } cleanup %66 = load ptr, ptr %ref.tmp100, align 8 - %tobool.not.i.i.i.i.i138 = icmp eq ptr %66, null - br i1 %tobool.not.i.i.i.i.i138, label %ehcleanup108, label %if.then.i.i.i.i.i139 + %tobool.not.i.i.i.i.i137 = icmp eq ptr %66, null + br i1 %tobool.not.i.i.i.i.i137, label %ehcleanup108, label %if.then.i.i.i.i.i138 -if.then.i.i.i.i.i139: ; preds = %lpad105 +if.then.i.i.i.i.i138: ; preds = %lpad105 call void @_ZdlPv(ptr noundef nonnull %66) #32 br label %ehcleanup108 -ehcleanup108: ; preds = %if.then.i.i.i.i.i139, %lpad105 - %tobool.not.i.i.i.i141 = icmp eq ptr %agg.tmp101.sroa.0.2477, null - br i1 %tobool.not.i.i.i.i141, label %ehcleanup126, label %if.then.i.i.i.i142 +ehcleanup108: ; preds = %if.then.i.i.i.i.i138, %lpad105 + %tobool.not.i.i.i.i140 = icmp eq ptr %agg.tmp101.sroa.0.2461, null + br i1 %tobool.not.i.i.i.i140, label %ehcleanup126, label %if.then.i.i.i.i141 -if.then.i.i.i.i142: ; preds = %lpad103.loopexit.split-lp, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %ehcleanup108 - %.pn12484 = phi { ptr, i32 } [ %65, %ehcleanup108 ], [ %lpad.loopexit.split-lp233, %lpad103.loopexit.split-lp ], [ %61, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] - %agg.tmp101.sroa.0.2479483 = phi ptr [ %agg.tmp101.sroa.0.2477, %ehcleanup108 ], [ %call5.i.i.i.i1.i.i.i.i126, %lpad103.loopexit.split-lp ], [ %call5.i.i.i.i1.i.i.i.i126, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] - call void @_ZdlPv(ptr noundef nonnull %agg.tmp101.sroa.0.2479483) #32 +if.then.i.i.i.i141: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %ehcleanup108 + %.pn12468 = phi { ptr, i32 } [ %65, %ehcleanup108 ], [ %61, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] + %agg.tmp101.sroa.0.2463467 = phi ptr [ %agg.tmp101.sroa.0.2461, %ehcleanup108 ], [ %call5.i.i.i.i1.i.i.i.i125, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ] + call void @_ZdlPv(ptr noundef nonnull %agg.tmp101.sroa.0.2463467) #32 br label %ehcleanup126 if.else111: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit @@ -72457,17 +72473,17 @@ if.else111: ; preds = %_ZN7testing8interna to label %invoke.cont114 unwind label %lpad113 invoke.cont114: ; preds = %if.else111 - %67 = load ptr, ptr %message_.i.i144, align 8 - %cmp.i.i.not.i.i145 = icmp eq ptr %67, null - br i1 %cmp.i.i.not.i.i145, label %invoke.cont117, label %cond.true.i.i146 + %67 = load ptr, ptr %message_.i.i143, align 8 + %cmp.i.i.not.i.i144 = icmp eq ptr %67, null + br i1 %cmp.i.i.not.i.i144, label %invoke.cont117, label %cond.true.i.i145 -cond.true.i.i146: ; preds = %invoke.cont114 - %call4.i.i147 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #29 +cond.true.i.i145: ; preds = %invoke.cont114 + %call4.i.i146 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #29 br label %invoke.cont117 -invoke.cont117: ; preds = %cond.true.i.i146, %invoke.cont114 - %cond.i.i148 = phi ptr [ %call4.i.i147, %cond.true.i.i146 ], [ @.str.202, %invoke.cont114 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp115, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1436, ptr noundef %cond.i.i148) +invoke.cont117: ; preds = %cond.true.i.i145, %invoke.cont114 + %cond.i.i147 = phi ptr [ %call4.i.i146, %cond.true.i.i145 ], [ @.str.202, %invoke.cont114 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp115, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1436, ptr noundef %cond.i.i147) to label %invoke.cont119 unwind label %lpad116 invoke.cont119: ; preds = %invoke.cont117 @@ -72477,17 +72493,17 @@ invoke.cont119: ; preds = %invoke.cont117 invoke.cont121: ; preds = %invoke.cont119 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp115) #29 %68 = load ptr, ptr %ref.tmp112, align 8 - %cmp.not.i.i150 = icmp eq ptr %68, null - br i1 %cmp.not.i.i150, label %_ZN7testing7MessageD2Ev.exit154, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 + %cmp.not.i.i149 = icmp eq ptr %68, null + br i1 %cmp.not.i.i149, label %_ZN7testing7MessageD2Ev.exit153, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151: ; preds = %invoke.cont121 - %vtable.i.i.i152 = load ptr, ptr %68, align 8 - %vfn.i.i.i153 = getelementptr inbounds ptr, ptr %vtable.i.i.i152, i64 1 - %69 = load ptr, ptr %vfn.i.i.i153, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150: ; preds = %invoke.cont121 + %vtable.i.i.i151 = load ptr, ptr %68, align 8 + %vfn.i.i.i152 = getelementptr inbounds ptr, ptr %vtable.i.i.i151, i64 1 + %69 = load ptr, ptr %vfn.i.i.i152, align 8 call void %69(ptr noundef nonnull align 8 dereferenceable(128) %68) #29 - br label %_ZN7testing7MessageD2Ev.exit154 + br label %_ZN7testing7MessageD2Ev.exit153 -_ZN7testing7MessageD2Ev.exit154: ; preds = %invoke.cont121, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 +_ZN7testing7MessageD2Ev.exit153: ; preds = %invoke.cont121, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150 store ptr null, ptr %ref.tmp112, align 8 br label %if.end124 @@ -72510,96 +72526,96 @@ lpad120: ; preds = %invoke.cont119 ehcleanup123: ; preds = %lpad120, %lpad116 %.pn14 = phi { ptr, i32 } [ %72, %lpad120 ], [ %71, %lpad116 ] %73 = load ptr, ptr %ref.tmp112, align 8 - %cmp.not.i.i155 = icmp eq ptr %73, null - br i1 %cmp.not.i.i155, label %_ZN7testing7MessageD2Ev.exit159, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 + %cmp.not.i.i154 = icmp eq ptr %73, null + br i1 %cmp.not.i.i154, label %_ZN7testing7MessageD2Ev.exit158, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156: ; preds = %ehcleanup123 - %vtable.i.i.i157 = load ptr, ptr %73, align 8 - %vfn.i.i.i158 = getelementptr inbounds ptr, ptr %vtable.i.i.i157, i64 1 - %74 = load ptr, ptr %vfn.i.i.i158, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155: ; preds = %ehcleanup123 + %vtable.i.i.i156 = load ptr, ptr %73, align 8 + %vfn.i.i.i157 = getelementptr inbounds ptr, ptr %vtable.i.i.i156, i64 1 + %74 = load ptr, ptr %vfn.i.i.i157, align 8 call void %74(ptr noundef nonnull align 8 dereferenceable(128) %73) #29 - br label %_ZN7testing7MessageD2Ev.exit159 + br label %_ZN7testing7MessageD2Ev.exit158 -_ZN7testing7MessageD2Ev.exit159: ; preds = %ehcleanup123, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 +_ZN7testing7MessageD2Ev.exit158: ; preds = %ehcleanup123, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 store ptr null, ptr %ref.tmp112, align 8 br label %ehcleanup125 -if.end124: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit154 - %75 = load ptr, ptr %message_.i.i144, align 8 - %cmp.not.i.i161 = icmp eq ptr %75, null - br i1 %cmp.not.i.i161, label %_ZN7testing15AssertionResultD2Ev.exit163, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162 +if.end124: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit153 + %75 = load ptr, ptr %message_.i.i143, align 8 + %cmp.not.i.i160 = icmp eq ptr %75, null + br i1 %cmp.not.i.i160, label %_ZN7testing15AssertionResultD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162: ; preds = %if.end124 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161: ; preds = %if.end124 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #29 call void @_ZdlPv(ptr noundef nonnull %75) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit163 + br label %_ZN7testing15AssertionResultD2Ev.exit162 -_ZN7testing15AssertionResultD2Ev.exit163: ; preds = %if.end124, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162 - store ptr null, ptr %message_.i.i144, align 8 +_ZN7testing15AssertionResultD2Ev.exit162: ; preds = %if.end124, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 + store ptr null, ptr %message_.i.i143, align 8 %76 = load i64, ptr %v, align 8 - %and.i.i.i.i164 = and i64 %76, 1 - %tobool.i.not.i.i.i165 = icmp eq i64 %and.i.i.i.i164, 0 - br i1 %tobool.i.not.i.i.i165, label %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit169, label %if.then.i.i.i166 + %and.i.i.i.i163 = and i64 %76, 1 + %tobool.i.not.i.i.i164 = icmp eq i64 %and.i.i.i.i163, 0 + br i1 %tobool.i.not.i.i.i164, label %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit168, label %if.then.i.i.i165 -if.then.i.i.i166: ; preds = %_ZN7testing15AssertionResultD2Ev.exit163 +if.then.i.i.i165: ; preds = %_ZN7testing15AssertionResultD2Ev.exit162 %77 = load ptr, ptr %data_.i4.i.i, align 8 call void @_ZdlPv(ptr noundef %77) #32 - br label %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit169 + br label %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit168 -_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit169: ; preds = %_ZN7testing15AssertionResultD2Ev.exit163, %if.then.i.i.i166 +_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit168: ; preds = %_ZN7testing15AssertionResultD2Ev.exit162, %if.then.i.i.i165 %tobool.not.i.i.i = icmp eq ptr %new_contents.sroa.0.2.lcssa, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i171 + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIiSaIiEED2Ev.exit, label %if.then.i.i.i170 -if.then.i.i.i171: ; preds = %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit169 +if.then.i.i.i170: ; preds = %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit168 call void @_ZdlPv(ptr noundef nonnull %new_contents.sroa.0.2.lcssa) #32 br label %_ZNSt6vectorIiSaIiEED2Ev.exit -_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit169, %if.then.i.i.i171 +_ZNSt6vectorIiSaIiEED2Ev.exit: ; preds = %_ZN4absl13InlinedVectorIiLm3ESaIiEED2Ev.exit168, %if.then.i.i.i170 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1417) #29 - %inc130 = add nuw nsw i64 %storemerge3387, 1 - %exitcond472.not = icmp eq i64 %inc130, 6 - br i1 %exitcond472.not, label %for.end131, label %for.body6, !llvm.loop !1620 + %inc130 = add nuw nsw i64 %storemerge3374, 1 + %exitcond456.not = icmp eq i64 %inc130, 6 + br i1 %exitcond456.not, label %for.end131, label %for.body6, !llvm.loop !1620 -ehcleanup125: ; preds = %_ZN7testing7MessageD2Ev.exit159, %lpad113 - %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit159 ], [ %70, %lpad113 ] +ehcleanup125: ; preds = %_ZN7testing7MessageD2Ev.exit158, %lpad113 + %.pn14.pn = phi { ptr, i32 } [ %.pn14, %_ZN7testing7MessageD2Ev.exit158 ], [ %70, %lpad113 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar99) #29 br label %ehcleanup126 -ehcleanup126: ; preds = %lpad32.loopexit, %lpad32.loopexit.split-lp, %if.then.i.i.i.i142, %ehcleanup108, %ehcleanup125, %ehcleanup97, %ehcleanup73, %ehcleanup50 - %.pn14.pn.pn = phi { ptr, i32 } [ %.pn14.pn, %ehcleanup125 ], [ %.pn9.pn, %ehcleanup97 ], [ %.pn6.pn, %ehcleanup73 ], [ %.pn.pn, %ehcleanup50 ], [ %65, %ehcleanup108 ], [ %.pn12484, %if.then.i.i.i.i142 ], [ %lpad.loopexit229, %lpad32.loopexit ], [ %lpad.loopexit.split-lp230, %lpad32.loopexit.split-lp ] +ehcleanup126: ; preds = %lpad32.loopexit, %lpad32.loopexit.split-lp, %if.then.i.i.i.i141, %ehcleanup108, %ehcleanup125, %ehcleanup97, %ehcleanup73, %ehcleanup50 + %.pn14.pn.pn = phi { ptr, i32 } [ %.pn14.pn, %ehcleanup125 ], [ %.pn9.pn, %ehcleanup97 ], [ %.pn6.pn, %ehcleanup73 ], [ %.pn.pn, %ehcleanup50 ], [ %65, %ehcleanup108 ], [ %.pn12468, %if.then.i.i.i.i141 ], [ %lpad.loopexit228, %lpad32.loopexit ], [ %lpad.loopexit.split-lp229, %lpad32.loopexit.split-lp ] %78 = load i64, ptr %v, align 8 - %and.i.i.i.i172 = and i64 %78, 1 - %tobool.i.not.i.i.i173 = icmp eq i64 %and.i.i.i.i172, 0 - br i1 %tobool.i.not.i.i.i173, label %ehcleanup127, label %if.then.i.i.i174 + %and.i.i.i.i171 = and i64 %78, 1 + %tobool.i.not.i.i.i172 = icmp eq i64 %and.i.i.i.i171, 0 + br i1 %tobool.i.not.i.i.i172, label %ehcleanup127, label %if.then.i.i.i173 -if.then.i.i.i174: ; preds = %ehcleanup126 +if.then.i.i.i173: ; preds = %ehcleanup126 %79 = load ptr, ptr %data_.i4.i.i, align 8 call void @_ZdlPv(ptr noundef %79) #32 br label %ehcleanup127 -ehcleanup127: ; preds = %lpad.i33.thread, %lpad13.loopexit, %lpad13.loopexit.split-lp, %if.then.i.i.i174, %ehcleanup126, %if.then.i.i.i36, %lpad.i33 - %new_contents.sroa.0.2246 = phi ptr [ %new_contents.sroa.0.2.lcssa, %if.then.i.i.i36 ], [ %new_contents.sroa.0.2.lcssa, %lpad.i33 ], [ %new_contents.sroa.0.2.lcssa, %ehcleanup126 ], [ %new_contents.sroa.0.2.lcssa, %if.then.i.i.i174 ], [ %new_contents.sroa.0.2382, %lpad13.loopexit ], [ %new_contents.sroa.0.2382, %lpad13.loopexit.split-lp ], [ %new_contents.sroa.0.2.lcssa, %lpad.i33.thread ] - %.pn18 = phi { ptr, i32 } [ %lpad.loopexit.split-lp227, %if.then.i.i.i36 ], [ %lpad.loopexit.split-lp227, %lpad.i33 ], [ %.pn14.pn.pn, %ehcleanup126 ], [ %.pn14.pn.pn, %if.then.i.i.i174 ], [ %lpad.loopexit, %lpad13.loopexit ], [ %lpad.loopexit.split-lp, %lpad13.loopexit.split-lp ], [ %lpad.loopexit226, %lpad.i33.thread ] - %tobool.not.i.i.i179 = icmp eq ptr %new_contents.sroa.0.2246, null - br i1 %tobool.not.i.i.i179, label %_ZNSt6vectorIiSaIiEED2Ev.exit181, label %if.then.i.i.i180 +ehcleanup127: ; preds = %lpad.i33.thread, %lpad13.loopexit, %lpad13.loopexit.split-lp, %if.then.i.i.i173, %ehcleanup126, %if.then.i.i.i36, %lpad.i33 + %new_contents.sroa.0.2242 = phi ptr [ %new_contents.sroa.0.2.lcssa, %if.then.i.i.i36 ], [ %new_contents.sroa.0.2.lcssa, %lpad.i33 ], [ %new_contents.sroa.0.2.lcssa, %ehcleanup126 ], [ %new_contents.sroa.0.2.lcssa, %if.then.i.i.i173 ], [ %new_contents.sroa.0.2369, %lpad13.loopexit ], [ %new_contents.sroa.0.2369, %lpad13.loopexit.split-lp ], [ %new_contents.sroa.0.2.lcssa, %lpad.i33.thread ] + %.pn18 = phi { ptr, i32 } [ %lpad.loopexit.split-lp226, %if.then.i.i.i36 ], [ %lpad.loopexit.split-lp226, %lpad.i33 ], [ %.pn14.pn.pn, %ehcleanup126 ], [ %.pn14.pn.pn, %if.then.i.i.i173 ], [ %lpad.loopexit, %lpad13.loopexit ], [ %lpad.loopexit.split-lp, %lpad13.loopexit.split-lp ], [ %lpad.loopexit225, %lpad.i33.thread ] + %tobool.not.i.i.i178 = icmp eq ptr %new_contents.sroa.0.2242, null + br i1 %tobool.not.i.i.i178, label %_ZNSt6vectorIiSaIiEED2Ev.exit180, label %if.then.i.i.i179 -if.then.i.i.i180: ; preds = %ehcleanup127 - call void @_ZdlPv(ptr noundef nonnull %new_contents.sroa.0.2246) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit181 +if.then.i.i.i179: ; preds = %ehcleanup127 + call void @_ZdlPv(ptr noundef nonnull %new_contents.sroa.0.2242) #32 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit180 -_ZNSt6vectorIiSaIiEED2Ev.exit181: ; preds = %ehcleanup127, %if.then.i.i.i180 +_ZNSt6vectorIiSaIiEED2Ev.exit180: ; preds = %ehcleanup127, %if.then.i.i.i179 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1417) #29 br label %ehcleanup132 for.end131: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit - %tobool.not.i.i.i183 = icmp eq ptr %original_contents.sroa.0.1, null - br i1 %tobool.not.i.i.i183, label %_ZNSt6vectorIiSaIiEED2Ev.exit185, label %if.then.i.i.i184 + %tobool.not.i.i.i182 = icmp eq ptr %original_contents.sroa.0.1, null + br i1 %tobool.not.i.i.i182, label %_ZNSt6vectorIiSaIiEED2Ev.exit184, label %if.then.i.i.i183 -if.then.i.i.i184: ; preds = %for.end131 +if.then.i.i.i183: ; preds = %for.end131 call void @_ZdlPv(ptr noundef nonnull %original_contents.sroa.0.1) #32 - br label %_ZNSt6vectorIiSaIiEED2Ev.exit185 + br label %_ZNSt6vectorIiSaIiEED2Ev.exit184 -_ZNSt6vectorIiSaIiEED2Ev.exit185: ; preds = %for.end131, %if.then.i.i.i184 +_ZNSt6vectorIiSaIiEED2Ev.exit184: ; preds = %for.end131, %if.then.i.i.i183 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1412) #29 %80 = load i64, ptr %original_size, align 8 %inc135 = add i64 %80, 1 @@ -72607,21 +72623,21 @@ _ZNSt6vectorIiSaIiEED2Ev.exit185: ; preds = %for.end131, %if.the %cmp = icmp ult i64 %inc135, 6 br i1 %cmp, label %for.body, label %for.end136, !llvm.loop !1621 -ehcleanup132: ; preds = %lpad7, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i, %ehcleanup.i, %_ZNSt6vectorIiSaIiEED2Ev.exit181 - %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZNSt6vectorIiSaIiEED2Ev.exit181 ], [ %10, %lpad7 ], [ %.pn.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i ], [ %.pn.i, %ehcleanup.i ] - %tobool.not.i.i.i187 = icmp eq ptr %original_contents.sroa.0.1, null - br i1 %tobool.not.i.i.i187, label %ehcleanup133, label %if.then.i.i.i188 +ehcleanup132: ; preds = %lpad7, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i, %ehcleanup.i, %_ZNSt6vectorIiSaIiEED2Ev.exit180 + %.pn18.pn = phi { ptr, i32 } [ %.pn18, %_ZNSt6vectorIiSaIiEED2Ev.exit180 ], [ %10, %lpad7 ], [ %.pn.i, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i ], [ %.pn.i, %ehcleanup.i ] + %tobool.not.i.i.i186 = icmp eq ptr %original_contents.sroa.0.1, null + br i1 %tobool.not.i.i.i186, label %ehcleanup133, label %if.then.i.i.i187 -if.then.i.i.i188: ; preds = %ehcleanup132 +if.then.i.i.i187: ; preds = %ehcleanup132 call void @_ZdlPv(ptr noundef nonnull %original_contents.sroa.0.1) #32 br label %ehcleanup133 -ehcleanup133: ; preds = %lpad.loopexit235, %lpad.loopexit.split-lp236, %if.then.i.i.i188, %ehcleanup132 - %.pn18.pn.pn = phi { ptr, i32 } [ %.pn18.pn, %ehcleanup132 ], [ %.pn18.pn, %if.then.i.i.i188 ], [ %lpad.loopexit237, %lpad.loopexit235 ], [ %lpad.loopexit.split-lp238, %lpad.loopexit.split-lp236 ] +ehcleanup133: ; preds = %lpad.loopexit231, %lpad.loopexit.split-lp232, %if.then.i.i.i187, %ehcleanup132 + %.pn18.pn.pn = phi { ptr, i32 } [ %.pn18.pn, %ehcleanup132 ], [ %.pn18.pn, %if.then.i.i.i187 ], [ %lpad.loopexit233, %lpad.loopexit231 ], [ %lpad.loopexit.split-lp234, %lpad.loopexit.split-lp232 ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1412) #29 resume { ptr, i32 } %.pn18.pn.pn -for.end136: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit185 +for.end136: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit184 ret void } @@ -76509,7 +76525,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.399, ptr %call5.i.i.i.i2.i, align 8 @@ -79485,7 +79501,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.399, ptr %call5.i.i.i.i2.i, align 8 @@ -84925,7 +84941,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.399, ptr %call5.i.i.i.i2.i, align 8 @@ -88118,7 +88134,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.399, ptr %call5.i.i.i.i2.i, align 8 @@ -89768,7 +89784,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.399, ptr %call5.i.i.i.i2.i, align 8 @@ -98348,44 +98364,44 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit126: ; preds = %if.end85, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i125 store ptr null, ptr %message_.i123, align 8 invoke void @_ZN4absl23inlined_vector_internal7StorageIiLm4ENS_18container_internal17CountingAllocatorIiEEE4SwapEPS5_(ptr noundef nonnull align 8 dereferenceable(40) %v1, ptr noundef nonnull %v2) - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad8 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %lpad8 -cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit126 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit126 call void @llvm.experimental.noalias.scope.decl(metadata !2374) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp89, i8 0, i64 24, i1 false), !alias.scope !2374 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(36) ptr @_Znwm(i64 noundef 36) #33 to label %invoke.cont93 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !2374 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %43 = landingpad { ptr, i32 } cleanup br label %ehcleanup210 -invoke.cont93: ; preds = %cond.true.i.i.i.i.i.i.i +invoke.cont93: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp89, align 8, !alias.scope !2374 %_M_finish.i.i.i.i.i.i131 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i132 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 9 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 36 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp89, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i132, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !2374 + store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !2374 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(36) %call5.i.i.i.i2.i6.i.i.i2.i, ptr noundef nonnull align 16 dereferenceable(36) @__const._ZN12_GLOBAL__N_143AllocatorSupportTest_SwapBothAllocated_Test8TestBodyEv.ia2, i64 36, i1 false) - store ptr %add.ptr.i.i.i.i.i.i132, ptr %_M_finish.i.i.i.i.i.i131, align 8, !alias.scope !2374 + store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i131, align 8, !alias.scope !2374 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm4ENS6_18container_internal17CountingAllocatorIiEEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar88, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp89, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(40) %v1) to label %invoke.cont95 unwind label %lpad94 invoke.cont95: ; preds = %invoke.cont93 %44 = load ptr, ptr %ref.tmp89, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %44, null - br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i136 + br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i135 -if.then.i.i.i.i.i136: ; preds = %invoke.cont95 +if.then.i.i.i.i.i135: ; preds = %invoke.cont95 call void @_ZdlPv(ptr noundef nonnull %44) #32 br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %invoke.cont95, %if.then.i.i.i.i.i136 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %invoke.cont95, %if.then.i.i.i.i.i135 %45 = load i8, ptr %gtest_ar88, align 8 %46 = and i8 %45, 1 - %tobool.i137.not = icmp eq i8 %46, 0 - br i1 %tobool.i137.not, label %if.else100, label %if.end113 + %tobool.i136.not = icmp eq i8 %46, 0 + br i1 %tobool.i136.not, label %if.else100, label %if.end113 ehcleanup86: ; preds = %_ZN7testing7MessageD2Ev.exit122, %lpad74 %.pn6.pn = phi { ptr, i32 } [ %.pn6, %_ZN7testing7MessageD2Ev.exit122 ], [ %37, %lpad74 ] @@ -98396,10 +98412,10 @@ lpad94: ; preds = %invoke.cont93 %47 = landingpad { ptr, i32 } cleanup %48 = load ptr, ptr %ref.tmp89, align 8 - %tobool.not.i.i.i.i.i138 = icmp eq ptr %48, null - br i1 %tobool.not.i.i.i.i.i138, label %ehcleanup210, label %if.then.i.i.i.i.i139 + %tobool.not.i.i.i.i.i137 = icmp eq ptr %48, null + br i1 %tobool.not.i.i.i.i.i137, label %ehcleanup210, label %if.then.i.i.i.i.i138 -if.then.i.i.i.i.i139: ; preds = %lpad94 +if.then.i.i.i.i.i138: ; preds = %lpad94 call void @_ZdlPv(ptr noundef nonnull %48) #32 br label %ehcleanup210 @@ -98408,18 +98424,18 @@ if.else100: ; preds = %_ZN7testing8interna to label %invoke.cont103 unwind label %lpad102 invoke.cont103: ; preds = %if.else100 - %message_.i.i144 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar88, i64 0, i32 1 - %49 = load ptr, ptr %message_.i.i144, align 8 - %cmp.i.i.not.i.i145 = icmp eq ptr %49, null - br i1 %cmp.i.i.not.i.i145, label %invoke.cont106, label %cond.true.i.i146 + %message_.i.i143 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar88, i64 0, i32 1 + %49 = load ptr, ptr %message_.i.i143, align 8 + %cmp.i.i.not.i.i144 = icmp eq ptr %49, null + br i1 %cmp.i.i.not.i.i144, label %invoke.cont106, label %cond.true.i.i145 -cond.true.i.i146: ; preds = %invoke.cont103 - %call4.i.i147 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #29 +cond.true.i.i145: ; preds = %invoke.cont103 + %call4.i.i146 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #29 br label %invoke.cont106 -invoke.cont106: ; preds = %cond.true.i.i146, %invoke.cont103 - %cond.i.i148 = phi ptr [ %call4.i.i147, %cond.true.i.i146 ], [ @.str.202, %invoke.cont103 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1743, ptr noundef %cond.i.i148) +invoke.cont106: ; preds = %cond.true.i.i145, %invoke.cont103 + %cond.i.i147 = phi ptr [ %call4.i.i146, %cond.true.i.i145 ], [ @.str.202, %invoke.cont103 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1743, ptr noundef %cond.i.i147) to label %invoke.cont108 unwind label %lpad105 invoke.cont108: ; preds = %invoke.cont106 @@ -98429,17 +98445,17 @@ invoke.cont108: ; preds = %invoke.cont106 invoke.cont110: ; preds = %invoke.cont108 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp104) #29 %50 = load ptr, ptr %ref.tmp101, align 8 - %cmp.not.i.i150 = icmp eq ptr %50, null - br i1 %cmp.not.i.i150, label %_ZN7testing7MessageD2Ev.exit154, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 + %cmp.not.i.i149 = icmp eq ptr %50, null + br i1 %cmp.not.i.i149, label %_ZN7testing7MessageD2Ev.exit153, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151: ; preds = %invoke.cont110 - %vtable.i.i.i152 = load ptr, ptr %50, align 8 - %vfn.i.i.i153 = getelementptr inbounds ptr, ptr %vtable.i.i.i152, i64 1 - %51 = load ptr, ptr %vfn.i.i.i153, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150: ; preds = %invoke.cont110 + %vtable.i.i.i151 = load ptr, ptr %50, align 8 + %vfn.i.i.i152 = getelementptr inbounds ptr, ptr %vtable.i.i.i151, i64 1 + %51 = load ptr, ptr %vfn.i.i.i152, align 8 call void %51(ptr noundef nonnull align 8 dereferenceable(128) %50) #29 - br label %_ZN7testing7MessageD2Ev.exit154 + br label %_ZN7testing7MessageD2Ev.exit153 -_ZN7testing7MessageD2Ev.exit154: ; preds = %invoke.cont110, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i151 +_ZN7testing7MessageD2Ev.exit153: ; preds = %invoke.cont110, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i150 store ptr null, ptr %ref.tmp101, align 8 br label %if.end113 @@ -98462,71 +98478,71 @@ lpad109: ; preds = %invoke.cont108 ehcleanup112: ; preds = %lpad109, %lpad105 %.pn11 = phi { ptr, i32 } [ %54, %lpad109 ], [ %53, %lpad105 ] %55 = load ptr, ptr %ref.tmp101, align 8 - %cmp.not.i.i155 = icmp eq ptr %55, null - br i1 %cmp.not.i.i155, label %_ZN7testing7MessageD2Ev.exit159, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 + %cmp.not.i.i154 = icmp eq ptr %55, null + br i1 %cmp.not.i.i154, label %_ZN7testing7MessageD2Ev.exit158, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156: ; preds = %ehcleanup112 - %vtable.i.i.i157 = load ptr, ptr %55, align 8 - %vfn.i.i.i158 = getelementptr inbounds ptr, ptr %vtable.i.i.i157, i64 1 - %56 = load ptr, ptr %vfn.i.i.i158, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155: ; preds = %ehcleanup112 + %vtable.i.i.i156 = load ptr, ptr %55, align 8 + %vfn.i.i.i157 = getelementptr inbounds ptr, ptr %vtable.i.i.i156, i64 1 + %56 = load ptr, ptr %vfn.i.i.i157, align 8 call void %56(ptr noundef nonnull align 8 dereferenceable(128) %55) #29 - br label %_ZN7testing7MessageD2Ev.exit159 + br label %_ZN7testing7MessageD2Ev.exit158 -_ZN7testing7MessageD2Ev.exit159: ; preds = %ehcleanup112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i156 +_ZN7testing7MessageD2Ev.exit158: ; preds = %ehcleanup112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i155 store ptr null, ptr %ref.tmp101, align 8 br label %ehcleanup114 -if.end113: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit154 - %message_.i160 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar88, i64 0, i32 1 - %57 = load ptr, ptr %message_.i160, align 8 - %cmp.not.i.i161 = icmp eq ptr %57, null - br i1 %cmp.not.i.i161, label %_ZN7testing15AssertionResultD2Ev.exit163, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162 +if.end113: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit153 + %message_.i159 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar88, i64 0, i32 1 + %57 = load ptr, ptr %message_.i159, align 8 + %cmp.not.i.i160 = icmp eq ptr %57, null + br i1 %cmp.not.i.i160, label %_ZN7testing15AssertionResultD2Ev.exit162, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162: ; preds = %if.end113 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161: ; preds = %if.end113 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #29 call void @_ZdlPv(ptr noundef nonnull %57) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit163 + br label %_ZN7testing15AssertionResultD2Ev.exit162 -_ZN7testing15AssertionResultD2Ev.exit163: ; preds = %if.end113, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162 - store ptr null, ptr %message_.i160, align 8 +_ZN7testing15AssertionResultD2Ev.exit162: ; preds = %if.end113, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i161 + store ptr null, ptr %message_.i159, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !2377) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp116, i8 0, i64 24, i1 false), !alias.scope !2377 - %call5.i.i.i.i2.i6.i.i.i2.i175 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #33 - to label %invoke.cont120 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i176, !noalias !2377 + %call5.i.i.i.i2.i6.i.i.i2.i174 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #33 + to label %invoke.cont120 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i175, !noalias !2377 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i176: ; preds = %_ZN7testing15AssertionResultD2Ev.exit163 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i175: ; preds = %_ZN7testing15AssertionResultD2Ev.exit162 %58 = landingpad { ptr, i32 } cleanup br label %ehcleanup210 -invoke.cont120: ; preds = %_ZN7testing15AssertionResultD2Ev.exit163 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i175, ptr %ref.tmp116, align 8, !alias.scope !2377 - %_M_finish.i.i.i.i.i.i179 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp116, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i180 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i175, i64 8 - %_M_end_of_storage.i.i.i.i.i.i181 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp116, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i180, ptr %_M_end_of_storage.i.i.i.i.i.i181, align 8, !alias.scope !2377 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %call5.i.i.i.i2.i6.i.i.i2.i175, ptr noundef nonnull align 16 dereferenceable(32) @__const._ZN12_GLOBAL__N_142AllocatorSupportTest_SwapOneAllocated_Test8TestBodyEv.ia1, i64 32, i1 false) - store ptr %add.ptr.i.i.i.i.i.i180, ptr %_M_finish.i.i.i.i.i.i179, align 8, !alias.scope !2377 +invoke.cont120: ; preds = %_ZN7testing15AssertionResultD2Ev.exit162 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i174, ptr %ref.tmp116, align 8, !alias.scope !2377 + %_M_finish.i.i.i.i.i.i177 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp116, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i178 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i174, i64 32 + %_M_end_of_storage.i.i.i.i.i.i179 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp116, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i178, ptr %_M_end_of_storage.i.i.i.i.i.i179, align 8, !alias.scope !2377 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %call5.i.i.i.i2.i6.i.i.i2.i174, ptr noundef nonnull align 16 dereferenceable(32) @__const._ZN12_GLOBAL__N_142AllocatorSupportTest_SwapOneAllocated_Test8TestBodyEv.ia1, i64 32, i1 false) + store ptr %add.ptr.i.i.i.i.i.i178, ptr %_M_finish.i.i.i.i.i.i177, align 8, !alias.scope !2377 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm4ENS6_18container_internal17CountingAllocatorIiEEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar115, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp116, ptr noundef nonnull @.str.410, ptr noundef nonnull align 8 dereferenceable(40) %v2) to label %invoke.cont122 unwind label %lpad121 invoke.cont122: ; preds = %invoke.cont120 %59 = load ptr, ptr %ref.tmp116, align 8 - %tobool.not.i.i.i.i.i193 = icmp eq ptr %59, null - br i1 %tobool.not.i.i.i.i.i193, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit198, label %if.then.i.i.i.i.i194 + %tobool.not.i.i.i.i.i192 = icmp eq ptr %59, null + br i1 %tobool.not.i.i.i.i.i192, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit197, label %if.then.i.i.i.i.i193 -if.then.i.i.i.i.i194: ; preds = %invoke.cont122 +if.then.i.i.i.i.i193: ; preds = %invoke.cont122 call void @_ZdlPv(ptr noundef nonnull %59) #32 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit198 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit197 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit198: ; preds = %invoke.cont122, %if.then.i.i.i.i.i194 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit197: ; preds = %invoke.cont122, %if.then.i.i.i.i.i193 %60 = load i8, ptr %gtest_ar115, align 8 %61 = and i8 %60, 1 - %tobool.i199.not = icmp eq i8 %61, 0 - br i1 %tobool.i199.not, label %if.else127, label %if.end140 + %tobool.i198.not = icmp eq i8 %61, 0 + br i1 %tobool.i198.not, label %if.else127, label %if.end140 -ehcleanup114: ; preds = %_ZN7testing7MessageD2Ev.exit159, %lpad102 - %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit159 ], [ %52, %lpad102 ] +ehcleanup114: ; preds = %_ZN7testing7MessageD2Ev.exit158, %lpad102 + %.pn11.pn = phi { ptr, i32 } [ %.pn11, %_ZN7testing7MessageD2Ev.exit158 ], [ %52, %lpad102 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar88) #29 br label %ehcleanup210 @@ -98534,30 +98550,30 @@ lpad121: ; preds = %invoke.cont120 %62 = landingpad { ptr, i32 } cleanup %63 = load ptr, ptr %ref.tmp116, align 8 - %tobool.not.i.i.i.i.i200 = icmp eq ptr %63, null - br i1 %tobool.not.i.i.i.i.i200, label %ehcleanup210, label %if.then.i.i.i.i.i201 + %tobool.not.i.i.i.i.i199 = icmp eq ptr %63, null + br i1 %tobool.not.i.i.i.i.i199, label %ehcleanup210, label %if.then.i.i.i.i.i200 -if.then.i.i.i.i.i201: ; preds = %lpad121 +if.then.i.i.i.i.i200: ; preds = %lpad121 call void @_ZdlPv(ptr noundef nonnull %63) #32 br label %ehcleanup210 -if.else127: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit198 +if.else127: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit197 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128) to label %invoke.cont130 unwind label %lpad129 invoke.cont130: ; preds = %if.else127 - %message_.i.i206 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar115, i64 0, i32 1 - %64 = load ptr, ptr %message_.i.i206, align 8 - %cmp.i.i.not.i.i207 = icmp eq ptr %64, null - br i1 %cmp.i.i.not.i.i207, label %invoke.cont133, label %cond.true.i.i208 + %message_.i.i205 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar115, i64 0, i32 1 + %64 = load ptr, ptr %message_.i.i205, align 8 + %cmp.i.i.not.i.i206 = icmp eq ptr %64, null + br i1 %cmp.i.i.not.i.i206, label %invoke.cont133, label %cond.true.i.i207 -cond.true.i.i208: ; preds = %invoke.cont130 - %call4.i.i209 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %64) #29 +cond.true.i.i207: ; preds = %invoke.cont130 + %call4.i.i208 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %64) #29 br label %invoke.cont133 -invoke.cont133: ; preds = %cond.true.i.i208, %invoke.cont130 - %cond.i.i210 = phi ptr [ %call4.i.i209, %cond.true.i.i208 ], [ @.str.202, %invoke.cont130 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp131, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1744, ptr noundef %cond.i.i210) +invoke.cont133: ; preds = %cond.true.i.i207, %invoke.cont130 + %cond.i.i209 = phi ptr [ %call4.i.i208, %cond.true.i.i207 ], [ @.str.202, %invoke.cont130 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp131, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1744, ptr noundef %cond.i.i209) to label %invoke.cont135 unwind label %lpad132 invoke.cont135: ; preds = %invoke.cont133 @@ -98567,17 +98583,17 @@ invoke.cont135: ; preds = %invoke.cont133 invoke.cont137: ; preds = %invoke.cont135 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp131) #29 %65 = load ptr, ptr %ref.tmp128, align 8 - %cmp.not.i.i212 = icmp eq ptr %65, null - br i1 %cmp.not.i.i212, label %_ZN7testing7MessageD2Ev.exit216, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213 + %cmp.not.i.i211 = icmp eq ptr %65, null + br i1 %cmp.not.i.i211, label %_ZN7testing7MessageD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213: ; preds = %invoke.cont137 - %vtable.i.i.i214 = load ptr, ptr %65, align 8 - %vfn.i.i.i215 = getelementptr inbounds ptr, ptr %vtable.i.i.i214, i64 1 - %66 = load ptr, ptr %vfn.i.i.i215, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212: ; preds = %invoke.cont137 + %vtable.i.i.i213 = load ptr, ptr %65, align 8 + %vfn.i.i.i214 = getelementptr inbounds ptr, ptr %vtable.i.i.i213, i64 1 + %66 = load ptr, ptr %vfn.i.i.i214, align 8 call void %66(ptr noundef nonnull align 8 dereferenceable(128) %65) #29 - br label %_ZN7testing7MessageD2Ev.exit216 + br label %_ZN7testing7MessageD2Ev.exit215 -_ZN7testing7MessageD2Ev.exit216: ; preds = %invoke.cont137, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213 +_ZN7testing7MessageD2Ev.exit215: ; preds = %invoke.cont137, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 store ptr null, ptr %ref.tmp128, align 8 br label %if.end140 @@ -98600,39 +98616,39 @@ lpad136: ; preds = %invoke.cont135 ehcleanup139: ; preds = %lpad136, %lpad132 %.pn16 = phi { ptr, i32 } [ %69, %lpad136 ], [ %68, %lpad132 ] %70 = load ptr, ptr %ref.tmp128, align 8 - %cmp.not.i.i217 = icmp eq ptr %70, null - br i1 %cmp.not.i.i217, label %_ZN7testing7MessageD2Ev.exit221, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 + %cmp.not.i.i216 = icmp eq ptr %70, null + br i1 %cmp.not.i.i216, label %_ZN7testing7MessageD2Ev.exit220, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218: ; preds = %ehcleanup139 - %vtable.i.i.i219 = load ptr, ptr %70, align 8 - %vfn.i.i.i220 = getelementptr inbounds ptr, ptr %vtable.i.i.i219, i64 1 - %71 = load ptr, ptr %vfn.i.i.i220, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217: ; preds = %ehcleanup139 + %vtable.i.i.i218 = load ptr, ptr %70, align 8 + %vfn.i.i.i219 = getelementptr inbounds ptr, ptr %vtable.i.i.i218, i64 1 + %71 = load ptr, ptr %vfn.i.i.i219, align 8 call void %71(ptr noundef nonnull align 8 dereferenceable(128) %70) #29 - br label %_ZN7testing7MessageD2Ev.exit221 + br label %_ZN7testing7MessageD2Ev.exit220 -_ZN7testing7MessageD2Ev.exit221: ; preds = %ehcleanup139, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 +_ZN7testing7MessageD2Ev.exit220: ; preds = %ehcleanup139, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217 store ptr null, ptr %ref.tmp128, align 8 br label %ehcleanup141 -if.end140: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit198, %_ZN7testing7MessageD2Ev.exit216 - %message_.i222 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar115, i64 0, i32 1 - %72 = load ptr, ptr %message_.i222, align 8 - %cmp.not.i.i223 = icmp eq ptr %72, null - br i1 %cmp.not.i.i223, label %invoke.cont153, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224 +if.end140: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit197, %_ZN7testing7MessageD2Ev.exit215 + %message_.i221 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar115, i64 0, i32 1 + %72 = load ptr, ptr %message_.i221, align 8 + %cmp.not.i.i222 = icmp eq ptr %72, null + br i1 %cmp.not.i.i222, label %invoke.cont153, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224: ; preds = %if.end140 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223: ; preds = %if.end140 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #29 call void @_ZdlPv(ptr noundef nonnull %72) #32 br label %invoke.cont153 -invoke.cont153: ; preds = %if.end140, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224 - store ptr null, ptr %message_.i222, align 8 +invoke.cont153: ; preds = %if.end140, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 + store ptr null, ptr %message_.i221, align 8 %73 = load i64, ptr %2, align 8 - %and.i.i227 = and i64 %73, 1 - %tobool.i.not.i228 = icmp eq i64 %and.i.i227, 0 + %and.i.i226 = and i64 %73, 1 + %tobool.i.not.i227 = icmp eq i64 %and.i.i226, 0 %74 = load i64, ptr %allocated_capacity.i.i.i47, align 8 %75 = shl i64 %74, 2 - %mul146 = select i1 %tobool.i.not.i228, i64 16, i64 %75 + %mul146 = select i1 %tobool.i.not.i227, i64 16, i64 %75 store i64 %mul146, ptr %ref.tmp143, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIlEEEclIlEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar142, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp143, ptr noundef nonnull @.str.424, ptr noundef nonnull align 8 dereferenceable(8) %allocated1) to label %invoke.cont158 unwind label %lpad8 @@ -98640,11 +98656,11 @@ invoke.cont153: ; preds = %if.end140, %_ZNKSt1 invoke.cont158: ; preds = %invoke.cont153 %76 = load i8, ptr %gtest_ar142, align 8 %77 = and i8 %76, 1 - %tobool.i231.not = icmp eq i8 %77, 0 - br i1 %tobool.i231.not, label %if.else161, label %if.end174 + %tobool.i230.not = icmp eq i8 %77, 0 + br i1 %tobool.i230.not, label %if.else161, label %if.end174 -ehcleanup141: ; preds = %_ZN7testing7MessageD2Ev.exit221, %lpad129 - %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit221 ], [ %67, %lpad129 ] +ehcleanup141: ; preds = %_ZN7testing7MessageD2Ev.exit220, %lpad129 + %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit220 ], [ %67, %lpad129 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar115) #29 br label %ehcleanup210 @@ -98653,18 +98669,18 @@ if.else161: ; preds = %invoke.cont158 to label %invoke.cont164 unwind label %lpad163 invoke.cont164: ; preds = %if.else161 - %message_.i.i232 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar142, i64 0, i32 1 - %78 = load ptr, ptr %message_.i.i232, align 8 - %cmp.i.i.not.i.i233 = icmp eq ptr %78, null - br i1 %cmp.i.i.not.i.i233, label %invoke.cont167, label %cond.true.i.i234 + %message_.i.i231 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar142, i64 0, i32 1 + %78 = load ptr, ptr %message_.i.i231, align 8 + %cmp.i.i.not.i.i232 = icmp eq ptr %78, null + br i1 %cmp.i.i.not.i.i232, label %invoke.cont167, label %cond.true.i.i233 -cond.true.i.i234: ; preds = %invoke.cont164 - %call4.i.i235 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #29 +cond.true.i.i233: ; preds = %invoke.cont164 + %call4.i.i234 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #29 br label %invoke.cont167 -invoke.cont167: ; preds = %cond.true.i.i234, %invoke.cont164 - %cond.i.i236 = phi ptr [ %call4.i.i235, %cond.true.i.i234 ], [ @.str.202, %invoke.cont164 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1746, ptr noundef %cond.i.i236) +invoke.cont167: ; preds = %cond.true.i.i233, %invoke.cont164 + %cond.i.i235 = phi ptr [ %call4.i.i234, %cond.true.i.i233 ], [ @.str.202, %invoke.cont164 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1746, ptr noundef %cond.i.i235) to label %invoke.cont169 unwind label %lpad166 invoke.cont169: ; preds = %invoke.cont167 @@ -98674,17 +98690,17 @@ invoke.cont169: ; preds = %invoke.cont167 invoke.cont171: ; preds = %invoke.cont169 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp165) #29 %79 = load ptr, ptr %ref.tmp162, align 8 - %cmp.not.i.i238 = icmp eq ptr %79, null - br i1 %cmp.not.i.i238, label %_ZN7testing7MessageD2Ev.exit242, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239 + %cmp.not.i.i237 = icmp eq ptr %79, null + br i1 %cmp.not.i.i237, label %_ZN7testing7MessageD2Ev.exit241, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239: ; preds = %invoke.cont171 - %vtable.i.i.i240 = load ptr, ptr %79, align 8 - %vfn.i.i.i241 = getelementptr inbounds ptr, ptr %vtable.i.i.i240, i64 1 - %80 = load ptr, ptr %vfn.i.i.i241, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238: ; preds = %invoke.cont171 + %vtable.i.i.i239 = load ptr, ptr %79, align 8 + %vfn.i.i.i240 = getelementptr inbounds ptr, ptr %vtable.i.i.i239, i64 1 + %80 = load ptr, ptr %vfn.i.i.i240, align 8 call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #29 - br label %_ZN7testing7MessageD2Ev.exit242 + br label %_ZN7testing7MessageD2Ev.exit241 -_ZN7testing7MessageD2Ev.exit242: ; preds = %invoke.cont171, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i239 +_ZN7testing7MessageD2Ev.exit241: ; preds = %invoke.cont171, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i238 store ptr null, ptr %ref.tmp162, align 8 br label %if.end174 @@ -98707,39 +98723,39 @@ lpad170: ; preds = %invoke.cont169 ehcleanup173: ; preds = %lpad170, %lpad166 %.pn19 = phi { ptr, i32 } [ %83, %lpad170 ], [ %82, %lpad166 ] %84 = load ptr, ptr %ref.tmp162, align 8 - %cmp.not.i.i243 = icmp eq ptr %84, null - br i1 %cmp.not.i.i243, label %_ZN7testing7MessageD2Ev.exit247, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244 + %cmp.not.i.i242 = icmp eq ptr %84, null + br i1 %cmp.not.i.i242, label %_ZN7testing7MessageD2Ev.exit246, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244: ; preds = %ehcleanup173 - %vtable.i.i.i245 = load ptr, ptr %84, align 8 - %vfn.i.i.i246 = getelementptr inbounds ptr, ptr %vtable.i.i.i245, i64 1 - %85 = load ptr, ptr %vfn.i.i.i246, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243: ; preds = %ehcleanup173 + %vtable.i.i.i244 = load ptr, ptr %84, align 8 + %vfn.i.i.i245 = getelementptr inbounds ptr, ptr %vtable.i.i.i244, i64 1 + %85 = load ptr, ptr %vfn.i.i.i245, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #29 - br label %_ZN7testing7MessageD2Ev.exit247 + br label %_ZN7testing7MessageD2Ev.exit246 -_ZN7testing7MessageD2Ev.exit247: ; preds = %ehcleanup173, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i244 +_ZN7testing7MessageD2Ev.exit246: ; preds = %ehcleanup173, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i243 store ptr null, ptr %ref.tmp162, align 8 br label %ehcleanup175 -if.end174: ; preds = %invoke.cont158, %_ZN7testing7MessageD2Ev.exit242 - %message_.i248 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar142, i64 0, i32 1 - %86 = load ptr, ptr %message_.i248, align 8 - %cmp.not.i.i249 = icmp eq ptr %86, null - br i1 %cmp.not.i.i249, label %invoke.cont187, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 +if.end174: ; preds = %invoke.cont158, %_ZN7testing7MessageD2Ev.exit241 + %message_.i247 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar142, i64 0, i32 1 + %86 = load ptr, ptr %message_.i247, align 8 + %cmp.not.i.i248 = icmp eq ptr %86, null + br i1 %cmp.not.i.i248, label %invoke.cont187, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i249 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250: ; preds = %if.end174 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i249: ; preds = %if.end174 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #29 call void @_ZdlPv(ptr noundef nonnull %86) #32 br label %invoke.cont187 -invoke.cont187: ; preds = %if.end174, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i250 - store ptr null, ptr %message_.i248, align 8 +invoke.cont187: ; preds = %if.end174, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i249 + store ptr null, ptr %message_.i247, align 8 %87 = load i64, ptr %0, align 8 - %and.i.i253 = and i64 %87, 1 - %tobool.i.not.i254 = icmp eq i64 %and.i.i253, 0 + %and.i.i252 = and i64 %87, 1 + %tobool.i.not.i253 = icmp eq i64 %and.i.i252, 0 %88 = load i64, ptr %allocated_capacity.i.i.i, align 8 %89 = shl i64 %88, 2 - %mul180 = select i1 %tobool.i.not.i254, i64 16, i64 %89 + %mul180 = select i1 %tobool.i.not.i253, i64 16, i64 %89 store i64 %mul180, ptr %ref.tmp177, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIlEEEclIlEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar176, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp177, ptr noundef nonnull @.str.420, ptr noundef nonnull align 8 dereferenceable(8) %allocated2) to label %invoke.cont192 unwind label %lpad8 @@ -98747,11 +98763,11 @@ invoke.cont187: ; preds = %if.end174, %_ZNKSt1 invoke.cont192: ; preds = %invoke.cont187 %90 = load i8, ptr %gtest_ar176, align 8 %91 = and i8 %90, 1 - %tobool.i257.not = icmp eq i8 %91, 0 - br i1 %tobool.i257.not, label %if.else195, label %if.end208 + %tobool.i256.not = icmp eq i8 %91, 0 + br i1 %tobool.i256.not, label %if.else195, label %if.end208 -ehcleanup175: ; preds = %_ZN7testing7MessageD2Ev.exit247, %lpad163 - %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit247 ], [ %81, %lpad163 ] +ehcleanup175: ; preds = %_ZN7testing7MessageD2Ev.exit246, %lpad163 + %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit246 ], [ %81, %lpad163 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar142) #29 br label %ehcleanup210 @@ -98760,18 +98776,18 @@ if.else195: ; preds = %invoke.cont192 to label %invoke.cont198 unwind label %lpad197 invoke.cont198: ; preds = %if.else195 - %message_.i.i258 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar176, i64 0, i32 1 - %92 = load ptr, ptr %message_.i.i258, align 8 - %cmp.i.i.not.i.i259 = icmp eq ptr %92, null - br i1 %cmp.i.i.not.i.i259, label %invoke.cont201, label %cond.true.i.i260 + %message_.i.i257 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar176, i64 0, i32 1 + %92 = load ptr, ptr %message_.i.i257, align 8 + %cmp.i.i.not.i.i258 = icmp eq ptr %92, null + br i1 %cmp.i.i.not.i.i258, label %invoke.cont201, label %cond.true.i.i259 -cond.true.i.i260: ; preds = %invoke.cont198 - %call4.i.i261 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %92) #29 +cond.true.i.i259: ; preds = %invoke.cont198 + %call4.i.i260 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %92) #29 br label %invoke.cont201 -invoke.cont201: ; preds = %cond.true.i.i260, %invoke.cont198 - %cond.i.i262 = phi ptr [ %call4.i.i261, %cond.true.i.i260 ], [ @.str.202, %invoke.cont198 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp199, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1748, ptr noundef %cond.i.i262) +invoke.cont201: ; preds = %cond.true.i.i259, %invoke.cont198 + %cond.i.i261 = phi ptr [ %call4.i.i260, %cond.true.i.i259 ], [ @.str.202, %invoke.cont198 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp199, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1748, ptr noundef %cond.i.i261) to label %invoke.cont203 unwind label %lpad200 invoke.cont203: ; preds = %invoke.cont201 @@ -98781,17 +98797,17 @@ invoke.cont203: ; preds = %invoke.cont201 invoke.cont205: ; preds = %invoke.cont203 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp199) #29 %93 = load ptr, ptr %ref.tmp196, align 8 - %cmp.not.i.i264 = icmp eq ptr %93, null - br i1 %cmp.not.i.i264, label %_ZN7testing7MessageD2Ev.exit268, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265 + %cmp.not.i.i263 = icmp eq ptr %93, null + br i1 %cmp.not.i.i263, label %_ZN7testing7MessageD2Ev.exit267, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i264 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265: ; preds = %invoke.cont205 - %vtable.i.i.i266 = load ptr, ptr %93, align 8 - %vfn.i.i.i267 = getelementptr inbounds ptr, ptr %vtable.i.i.i266, i64 1 - %94 = load ptr, ptr %vfn.i.i.i267, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i264: ; preds = %invoke.cont205 + %vtable.i.i.i265 = load ptr, ptr %93, align 8 + %vfn.i.i.i266 = getelementptr inbounds ptr, ptr %vtable.i.i.i265, i64 1 + %94 = load ptr, ptr %vfn.i.i.i266, align 8 call void %94(ptr noundef nonnull align 8 dereferenceable(128) %93) #29 - br label %_ZN7testing7MessageD2Ev.exit268 + br label %_ZN7testing7MessageD2Ev.exit267 -_ZN7testing7MessageD2Ev.exit268: ; preds = %invoke.cont205, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265 +_ZN7testing7MessageD2Ev.exit267: ; preds = %invoke.cont205, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i264 store ptr null, ptr %ref.tmp196, align 8 br label %if.end208 @@ -98814,89 +98830,89 @@ lpad204: ; preds = %invoke.cont203 ehcleanup207: ; preds = %lpad204, %lpad200 %.pn22 = phi { ptr, i32 } [ %97, %lpad204 ], [ %96, %lpad200 ] %98 = load ptr, ptr %ref.tmp196, align 8 - %cmp.not.i.i269 = icmp eq ptr %98, null - br i1 %cmp.not.i.i269, label %_ZN7testing7MessageD2Ev.exit273, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i270 + %cmp.not.i.i268 = icmp eq ptr %98, null + br i1 %cmp.not.i.i268, label %_ZN7testing7MessageD2Ev.exit272, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i269 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i270: ; preds = %ehcleanup207 - %vtable.i.i.i271 = load ptr, ptr %98, align 8 - %vfn.i.i.i272 = getelementptr inbounds ptr, ptr %vtable.i.i.i271, i64 1 - %99 = load ptr, ptr %vfn.i.i.i272, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i269: ; preds = %ehcleanup207 + %vtable.i.i.i270 = load ptr, ptr %98, align 8 + %vfn.i.i.i271 = getelementptr inbounds ptr, ptr %vtable.i.i.i270, i64 1 + %99 = load ptr, ptr %vfn.i.i.i271, align 8 call void %99(ptr noundef nonnull align 8 dereferenceable(128) %98) #29 - br label %_ZN7testing7MessageD2Ev.exit273 + br label %_ZN7testing7MessageD2Ev.exit272 -_ZN7testing7MessageD2Ev.exit273: ; preds = %ehcleanup207, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i270 +_ZN7testing7MessageD2Ev.exit272: ; preds = %ehcleanup207, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i269 store ptr null, ptr %ref.tmp196, align 8 br label %ehcleanup209 -if.end208: ; preds = %invoke.cont192, %_ZN7testing7MessageD2Ev.exit268 - %message_.i274 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar176, i64 0, i32 1 - %100 = load ptr, ptr %message_.i274, align 8 - %cmp.not.i.i275 = icmp eq ptr %100, null - br i1 %cmp.not.i.i275, label %_ZN7testing15AssertionResultD2Ev.exit277, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i276 +if.end208: ; preds = %invoke.cont192, %_ZN7testing7MessageD2Ev.exit267 + %message_.i273 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar176, i64 0, i32 1 + %100 = load ptr, ptr %message_.i273, align 8 + %cmp.not.i.i274 = icmp eq ptr %100, null + br i1 %cmp.not.i.i274, label %_ZN7testing15AssertionResultD2Ev.exit276, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i276: ; preds = %if.end208 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275: ; preds = %if.end208 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #29 call void @_ZdlPv(ptr noundef nonnull %100) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit277 + br label %_ZN7testing15AssertionResultD2Ev.exit276 -_ZN7testing15AssertionResultD2Ev.exit277: ; preds = %if.end208, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i276 - store ptr null, ptr %message_.i274, align 8 +_ZN7testing15AssertionResultD2Ev.exit276: ; preds = %if.end208, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i275 + store ptr null, ptr %message_.i273, align 8 %101 = load i64, ptr %2, align 8 %and.i.i.i.i = and i64 %101, 1 %tobool.i.not.i.i.i = icmp eq i64 %and.i.i.i.i, 0 - br i1 %tobool.i.not.i.i.i, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, label %if.then.i.i.i.i279 + br i1 %tobool.i.not.i.i.i, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, label %if.then.i.i.i.i278 -if.then.i.i.i.i279: ; preds = %_ZN7testing15AssertionResultD2Ev.exit277 +if.then.i.i.i.i278: ; preds = %_ZN7testing15AssertionResultD2Ev.exit276 %102 = load ptr, ptr %data_.i.i.i46, align 8 %103 = load i64, ptr %allocated_capacity.i.i.i47, align 8 call void @_ZdlPv(ptr noundef %102) #32 %104 = load ptr, ptr %v2, align 8 - %cmp.not.i.i.i.i.i.i.i280 = icmp eq ptr %104, null - br i1 %cmp.not.i.i.i.i.i.i.i280, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, label %if.then.i.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i.i279 = icmp eq ptr %104, null + br i1 %cmp.not.i.i.i.i.i.i.i279, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, label %if.then.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i279 +if.then.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i278 %mul.i.i.i.i.i.i.i = shl i64 %103, 2 %105 = load i64, ptr %104, align 8 %sub.i.i.i.i.i.i.i = sub i64 %105, %mul.i.i.i.i.i.i.i store i64 %sub.i.i.i.i.i.i.i, ptr %104, align 8 br label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit -_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit277, %if.then.i.i.i.i279, %if.then.i.i.i.i.i.i.i +_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit276, %if.then.i.i.i.i278, %if.then.i.i.i.i.i.i.i %106 = load i64, ptr %0, align 8 - %and.i.i.i.i282 = and i64 %106, 1 - %tobool.i.not.i.i.i283 = icmp eq i64 %and.i.i.i.i282, 0 - br i1 %tobool.i.not.i.i.i283, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit291, label %if.then.i.i.i.i284 + %and.i.i.i.i281 = and i64 %106, 1 + %tobool.i.not.i.i.i282 = icmp eq i64 %and.i.i.i.i281, 0 + br i1 %tobool.i.not.i.i.i282, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit290, label %if.then.i.i.i.i283 -if.then.i.i.i.i284: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit +if.then.i.i.i.i283: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit %107 = load ptr, ptr %data_.i.i.i, align 8 %108 = load i64, ptr %allocated_capacity.i.i.i, align 8 call void @_ZdlPv(ptr noundef %107) #32 %109 = load ptr, ptr %v1, align 8 - %cmp.not.i.i.i.i.i.i.i287 = icmp eq ptr %109, null - br i1 %cmp.not.i.i.i.i.i.i.i287, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit291, label %if.then.i.i.i.i.i.i.i288 + %cmp.not.i.i.i.i.i.i.i286 = icmp eq ptr %109, null + br i1 %cmp.not.i.i.i.i.i.i.i286, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit290, label %if.then.i.i.i.i.i.i.i287 -if.then.i.i.i.i.i.i.i288: ; preds = %if.then.i.i.i.i284 - %mul.i.i.i.i.i.i.i289 = shl i64 %108, 2 +if.then.i.i.i.i.i.i.i287: ; preds = %if.then.i.i.i.i283 + %mul.i.i.i.i.i.i.i288 = shl i64 %108, 2 %110 = load i64, ptr %109, align 8 - %sub.i.i.i.i.i.i.i290 = sub i64 %110, %mul.i.i.i.i.i.i.i289 - store i64 %sub.i.i.i.i.i.i.i290, ptr %109, align 8 - br label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit291 + %sub.i.i.i.i.i.i.i289 = sub i64 %110, %mul.i.i.i.i.i.i.i288 + store i64 %sub.i.i.i.i.i.i.i289, ptr %109, align 8 + br label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit290 -_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit291: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, %if.then.i.i.i.i284, %if.then.i.i.i.i.i.i.i288 +_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit290: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, %if.then.i.i.i.i283, %if.then.i.i.i.i.i.i.i287 store i32 0, ptr %ref.tmp213, align 4 call void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIlEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar212, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp213, ptr noundef nonnull @.str.424, ptr noundef nonnull align 8 dereferenceable(8) %allocated1) %111 = load i8, ptr %gtest_ar212, align 8 %112 = and i8 %111, 1 - %tobool.i292.not = icmp eq i8 %112, 0 - br i1 %tobool.i292.not, label %if.else218, label %if.end231 + %tobool.i291.not = icmp eq i8 %112, 0 + br i1 %tobool.i291.not, label %if.else218, label %if.end231 -ehcleanup209: ; preds = %_ZN7testing7MessageD2Ev.exit273, %lpad197 - %.pn22.pn = phi { ptr, i32 } [ %.pn22, %_ZN7testing7MessageD2Ev.exit273 ], [ %95, %lpad197 ] +ehcleanup209: ; preds = %_ZN7testing7MessageD2Ev.exit272, %lpad197 + %.pn22.pn = phi { ptr, i32 } [ %.pn22, %_ZN7testing7MessageD2Ev.exit272 ], [ %95, %lpad197 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar176) #29 br label %ehcleanup210 -ehcleanup210: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i176, %lpad121, %if.then.i.i.i.i.i201, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %lpad94, %if.then.i.i.i.i.i139, %ehcleanup209, %ehcleanup175, %ehcleanup141, %ehcleanup114, %ehcleanup86, %ehcleanup52, %ehcleanup21, %lpad8 - %.pn22.pn.pn = phi { ptr, i32 } [ %.pn22.pn, %ehcleanup209 ], [ %5, %lpad8 ], [ %.pn19.pn, %ehcleanup175 ], [ %.pn16.pn, %ehcleanup141 ], [ %.pn11.pn, %ehcleanup114 ], [ %.pn6.pn, %ehcleanup86 ], [ %.pn3.pn, %ehcleanup52 ], [ %.pn.pn, %ehcleanup21 ], [ %43, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ], [ %47, %lpad94 ], [ %47, %if.then.i.i.i.i.i139 ], [ %58, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i176 ], [ %62, %lpad121 ], [ %62, %if.then.i.i.i.i.i201 ] +ehcleanup210: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i175, %lpad121, %if.then.i.i.i.i.i200, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %lpad94, %if.then.i.i.i.i.i138, %ehcleanup209, %ehcleanup175, %ehcleanup141, %ehcleanup114, %ehcleanup86, %ehcleanup52, %ehcleanup21, %lpad8 + %.pn22.pn.pn = phi { ptr, i32 } [ %.pn22.pn, %ehcleanup209 ], [ %5, %lpad8 ], [ %.pn19.pn, %ehcleanup175 ], [ %.pn16.pn, %ehcleanup141 ], [ %.pn11.pn, %ehcleanup114 ], [ %.pn6.pn, %ehcleanup86 ], [ %.pn3.pn, %ehcleanup52 ], [ %.pn.pn, %ehcleanup21 ], [ %43, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ], [ %47, %lpad94 ], [ %47, %if.then.i.i.i.i.i138 ], [ %58, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i175 ], [ %62, %lpad121 ], [ %62, %if.then.i.i.i.i.i200 ] call void @_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %v2) #29 br label %ehcleanup211 @@ -98905,23 +98921,23 @@ ehcleanup211: ; preds = %lpad.i38, %ehcleanu call void @_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %v1) #29 br label %common.resume -if.else218: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit291 +if.else218: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit290 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp219) to label %invoke.cont221 unwind label %lpad220 invoke.cont221: ; preds = %if.else218 - %message_.i.i293 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar212, i64 0, i32 1 - %113 = load ptr, ptr %message_.i.i293, align 8 - %cmp.i.i.not.i.i294 = icmp eq ptr %113, null - br i1 %cmp.i.i.not.i.i294, label %invoke.cont224, label %cond.true.i.i295 + %message_.i.i292 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar212, i64 0, i32 1 + %113 = load ptr, ptr %message_.i.i292, align 8 + %cmp.i.i.not.i.i293 = icmp eq ptr %113, null + br i1 %cmp.i.i.not.i.i293, label %invoke.cont224, label %cond.true.i.i294 -cond.true.i.i295: ; preds = %invoke.cont221 - %call4.i.i296 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %113) #29 +cond.true.i.i294: ; preds = %invoke.cont221 + %call4.i.i295 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %113) #29 br label %invoke.cont224 -invoke.cont224: ; preds = %cond.true.i.i295, %invoke.cont221 - %cond.i.i297 = phi ptr [ %call4.i.i296, %cond.true.i.i295 ], [ @.str.202, %invoke.cont221 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp222, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1750, ptr noundef %cond.i.i297) +invoke.cont224: ; preds = %cond.true.i.i294, %invoke.cont221 + %cond.i.i296 = phi ptr [ %call4.i.i295, %cond.true.i.i294 ], [ @.str.202, %invoke.cont221 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp222, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1750, ptr noundef %cond.i.i296) to label %invoke.cont226 unwind label %lpad223 invoke.cont226: ; preds = %invoke.cont224 @@ -98931,17 +98947,17 @@ invoke.cont226: ; preds = %invoke.cont224 invoke.cont228: ; preds = %invoke.cont226 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp222) #29 %114 = load ptr, ptr %ref.tmp219, align 8 - %cmp.not.i.i299 = icmp eq ptr %114, null - br i1 %cmp.not.i.i299, label %_ZN7testing7MessageD2Ev.exit303, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300 + %cmp.not.i.i298 = icmp eq ptr %114, null + br i1 %cmp.not.i.i298, label %_ZN7testing7MessageD2Ev.exit302, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300: ; preds = %invoke.cont228 - %vtable.i.i.i301 = load ptr, ptr %114, align 8 - %vfn.i.i.i302 = getelementptr inbounds ptr, ptr %vtable.i.i.i301, i64 1 - %115 = load ptr, ptr %vfn.i.i.i302, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299: ; preds = %invoke.cont228 + %vtable.i.i.i300 = load ptr, ptr %114, align 8 + %vfn.i.i.i301 = getelementptr inbounds ptr, ptr %vtable.i.i.i300, i64 1 + %115 = load ptr, ptr %vfn.i.i.i301, align 8 call void %115(ptr noundef nonnull align 8 dereferenceable(128) %114) #29 - br label %_ZN7testing7MessageD2Ev.exit303 + br label %_ZN7testing7MessageD2Ev.exit302 -_ZN7testing7MessageD2Ev.exit303: ; preds = %invoke.cont228, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300 +_ZN7testing7MessageD2Ev.exit302: ; preds = %invoke.cont228, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i299 store ptr null, ptr %ref.tmp219, align 8 br label %if.end231 @@ -98964,62 +98980,62 @@ lpad227: ; preds = %invoke.cont226 ehcleanup230: ; preds = %lpad227, %lpad223 %.pn27 = phi { ptr, i32 } [ %118, %lpad227 ], [ %117, %lpad223 ] %119 = load ptr, ptr %ref.tmp219, align 8 - %cmp.not.i.i304 = icmp eq ptr %119, null - br i1 %cmp.not.i.i304, label %_ZN7testing7MessageD2Ev.exit308, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i305 + %cmp.not.i.i303 = icmp eq ptr %119, null + br i1 %cmp.not.i.i303, label %_ZN7testing7MessageD2Ev.exit307, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i305: ; preds = %ehcleanup230 - %vtable.i.i.i306 = load ptr, ptr %119, align 8 - %vfn.i.i.i307 = getelementptr inbounds ptr, ptr %vtable.i.i.i306, i64 1 - %120 = load ptr, ptr %vfn.i.i.i307, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304: ; preds = %ehcleanup230 + %vtable.i.i.i305 = load ptr, ptr %119, align 8 + %vfn.i.i.i306 = getelementptr inbounds ptr, ptr %vtable.i.i.i305, i64 1 + %120 = load ptr, ptr %vfn.i.i.i306, align 8 call void %120(ptr noundef nonnull align 8 dereferenceable(128) %119) #29 - br label %_ZN7testing7MessageD2Ev.exit308 + br label %_ZN7testing7MessageD2Ev.exit307 -_ZN7testing7MessageD2Ev.exit308: ; preds = %ehcleanup230, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i305 +_ZN7testing7MessageD2Ev.exit307: ; preds = %ehcleanup230, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i304 store ptr null, ptr %ref.tmp219, align 8 br label %ehcleanup232 -if.end231: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit291, %_ZN7testing7MessageD2Ev.exit303 - %message_.i309 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar212, i64 0, i32 1 - %121 = load ptr, ptr %message_.i309, align 8 - %cmp.not.i.i310 = icmp eq ptr %121, null - br i1 %cmp.not.i.i310, label %_ZN7testing15AssertionResultD2Ev.exit312, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i311 +if.end231: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit290, %_ZN7testing7MessageD2Ev.exit302 + %message_.i308 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar212, i64 0, i32 1 + %121 = load ptr, ptr %message_.i308, align 8 + %cmp.not.i.i309 = icmp eq ptr %121, null + br i1 %cmp.not.i.i309, label %_ZN7testing15AssertionResultD2Ev.exit311, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i311: ; preds = %if.end231 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310: ; preds = %if.end231 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #29 call void @_ZdlPv(ptr noundef nonnull %121) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit312 + br label %_ZN7testing15AssertionResultD2Ev.exit311 -_ZN7testing15AssertionResultD2Ev.exit312: ; preds = %if.end231, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i311 - store ptr null, ptr %message_.i309, align 8 +_ZN7testing15AssertionResultD2Ev.exit311: ; preds = %if.end231, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310 + store ptr null, ptr %message_.i308, align 8 store i32 0, ptr %ref.tmp234, align 4 call void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIlEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar233, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp234, ptr noundef nonnull @.str.420, ptr noundef nonnull align 8 dereferenceable(8) %allocated2) %122 = load i8, ptr %gtest_ar233, align 8 %123 = and i8 %122, 1 - %tobool.i313.not = icmp eq i8 %123, 0 - br i1 %tobool.i313.not, label %if.else239, label %if.end252 + %tobool.i312.not = icmp eq i8 %123, 0 + br i1 %tobool.i312.not, label %if.else239, label %if.end252 -ehcleanup232: ; preds = %_ZN7testing7MessageD2Ev.exit308, %lpad220 - %.pn27.pn = phi { ptr, i32 } [ %.pn27, %_ZN7testing7MessageD2Ev.exit308 ], [ %116, %lpad220 ] +ehcleanup232: ; preds = %_ZN7testing7MessageD2Ev.exit307, %lpad220 + %.pn27.pn = phi { ptr, i32 } [ %.pn27, %_ZN7testing7MessageD2Ev.exit307 ], [ %116, %lpad220 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar212) #29 br label %common.resume -if.else239: ; preds = %_ZN7testing15AssertionResultD2Ev.exit312 +if.else239: ; preds = %_ZN7testing15AssertionResultD2Ev.exit311 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp240) to label %invoke.cont242 unwind label %lpad241 invoke.cont242: ; preds = %if.else239 - %message_.i.i314 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar233, i64 0, i32 1 - %124 = load ptr, ptr %message_.i.i314, align 8 - %cmp.i.i.not.i.i315 = icmp eq ptr %124, null - br i1 %cmp.i.i.not.i.i315, label %invoke.cont245, label %cond.true.i.i316 + %message_.i.i313 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar233, i64 0, i32 1 + %124 = load ptr, ptr %message_.i.i313, align 8 + %cmp.i.i.not.i.i314 = icmp eq ptr %124, null + br i1 %cmp.i.i.not.i.i314, label %invoke.cont245, label %cond.true.i.i315 -cond.true.i.i316: ; preds = %invoke.cont242 - %call4.i.i317 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %124) #29 +cond.true.i.i315: ; preds = %invoke.cont242 + %call4.i.i316 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %124) #29 br label %invoke.cont245 -invoke.cont245: ; preds = %cond.true.i.i316, %invoke.cont242 - %cond.i.i318 = phi ptr [ %call4.i.i317, %cond.true.i.i316 ], [ @.str.202, %invoke.cont242 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp243, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1751, ptr noundef %cond.i.i318) +invoke.cont245: ; preds = %cond.true.i.i315, %invoke.cont242 + %cond.i.i317 = phi ptr [ %call4.i.i316, %cond.true.i.i315 ], [ @.str.202, %invoke.cont242 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp243, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1751, ptr noundef %cond.i.i317) to label %invoke.cont247 unwind label %lpad244 invoke.cont247: ; preds = %invoke.cont245 @@ -99029,17 +99045,17 @@ invoke.cont247: ; preds = %invoke.cont245 invoke.cont249: ; preds = %invoke.cont247 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp243) #29 %125 = load ptr, ptr %ref.tmp240, align 8 - %cmp.not.i.i320 = icmp eq ptr %125, null - br i1 %cmp.not.i.i320, label %_ZN7testing7MessageD2Ev.exit324, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i321 + %cmp.not.i.i319 = icmp eq ptr %125, null + br i1 %cmp.not.i.i319, label %_ZN7testing7MessageD2Ev.exit323, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i320 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i321: ; preds = %invoke.cont249 - %vtable.i.i.i322 = load ptr, ptr %125, align 8 - %vfn.i.i.i323 = getelementptr inbounds ptr, ptr %vtable.i.i.i322, i64 1 - %126 = load ptr, ptr %vfn.i.i.i323, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i320: ; preds = %invoke.cont249 + %vtable.i.i.i321 = load ptr, ptr %125, align 8 + %vfn.i.i.i322 = getelementptr inbounds ptr, ptr %vtable.i.i.i321, i64 1 + %126 = load ptr, ptr %vfn.i.i.i322, align 8 call void %126(ptr noundef nonnull align 8 dereferenceable(128) %125) #29 - br label %_ZN7testing7MessageD2Ev.exit324 + br label %_ZN7testing7MessageD2Ev.exit323 -_ZN7testing7MessageD2Ev.exit324: ; preds = %invoke.cont249, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i321 +_ZN7testing7MessageD2Ev.exit323: ; preds = %invoke.cont249, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i320 store ptr null, ptr %ref.tmp240, align 8 br label %if.end252 @@ -99062,36 +99078,36 @@ lpad248: ; preds = %invoke.cont247 ehcleanup251: ; preds = %lpad248, %lpad244 %.pn30 = phi { ptr, i32 } [ %129, %lpad248 ], [ %128, %lpad244 ] %130 = load ptr, ptr %ref.tmp240, align 8 - %cmp.not.i.i325 = icmp eq ptr %130, null - br i1 %cmp.not.i.i325, label %_ZN7testing7MessageD2Ev.exit329, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i326 + %cmp.not.i.i324 = icmp eq ptr %130, null + br i1 %cmp.not.i.i324, label %_ZN7testing7MessageD2Ev.exit328, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i325 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i326: ; preds = %ehcleanup251 - %vtable.i.i.i327 = load ptr, ptr %130, align 8 - %vfn.i.i.i328 = getelementptr inbounds ptr, ptr %vtable.i.i.i327, i64 1 - %131 = load ptr, ptr %vfn.i.i.i328, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i325: ; preds = %ehcleanup251 + %vtable.i.i.i326 = load ptr, ptr %130, align 8 + %vfn.i.i.i327 = getelementptr inbounds ptr, ptr %vtable.i.i.i326, i64 1 + %131 = load ptr, ptr %vfn.i.i.i327, align 8 call void %131(ptr noundef nonnull align 8 dereferenceable(128) %130) #29 - br label %_ZN7testing7MessageD2Ev.exit329 + br label %_ZN7testing7MessageD2Ev.exit328 -_ZN7testing7MessageD2Ev.exit329: ; preds = %ehcleanup251, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i326 +_ZN7testing7MessageD2Ev.exit328: ; preds = %ehcleanup251, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i325 store ptr null, ptr %ref.tmp240, align 8 br label %ehcleanup253 -if.end252: ; preds = %_ZN7testing15AssertionResultD2Ev.exit312, %_ZN7testing7MessageD2Ev.exit324 - %message_.i330 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar233, i64 0, i32 1 - %132 = load ptr, ptr %message_.i330, align 8 - %cmp.not.i.i331 = icmp eq ptr %132, null - br i1 %cmp.not.i.i331, label %_ZN7testing15AssertionResultD2Ev.exit333, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i332 +if.end252: ; preds = %_ZN7testing15AssertionResultD2Ev.exit311, %_ZN7testing7MessageD2Ev.exit323 + %message_.i329 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar233, i64 0, i32 1 + %132 = load ptr, ptr %message_.i329, align 8 + %cmp.not.i.i330 = icmp eq ptr %132, null + br i1 %cmp.not.i.i330, label %_ZN7testing15AssertionResultD2Ev.exit332, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i332: ; preds = %if.end252 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331: ; preds = %if.end252 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #29 call void @_ZdlPv(ptr noundef nonnull %132) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit333 + br label %_ZN7testing15AssertionResultD2Ev.exit332 -_ZN7testing15AssertionResultD2Ev.exit333: ; preds = %if.end252, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i332 +_ZN7testing15AssertionResultD2Ev.exit332: ; preds = %if.end252, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i331 ret void -ehcleanup253: ; preds = %_ZN7testing7MessageD2Ev.exit329, %lpad241 - %.pn30.pn = phi { ptr, i32 } [ %.pn30, %_ZN7testing7MessageD2Ev.exit329 ], [ %127, %lpad241 ] +ehcleanup253: ; preds = %_ZN7testing7MessageD2Ev.exit328, %lpad241 + %.pn30.pn = phi { ptr, i32 } [ %.pn30, %_ZN7testing7MessageD2Ev.exit328 ], [ %127, %lpad241 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar233) #29 br label %common.resume } @@ -101462,11 +101478,11 @@ _ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEEC2IP for.body.i.i.i43thread-pre-split: ; preds = %for.inc.i.i.i50 %incdec.ptr.i.i.i.i51 = getelementptr inbounds i32, ptr %values.sroa.0.0.i.i44, i64 1 - %.pr332 = load ptr, ptr %a2.sroa.3.0.v2.sroa_idx, align 8 + %.pr331 = load ptr, ptr %a2.sroa.3.0.v2.sroa_idx, align 8 br label %for.body.i.i.i43 for.body.i.i.i43: ; preds = %for.body.i.i.i43thread-pre-split, %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEEC2IPKiTnNSt9enable_ifIXsr23inlined_vector_internal24IsAtLeastForwardIteratorIT_EE5valueEiE4typeELi0EEES9_S9_RKS3_.exit - %3 = phi ptr [ %.pr332, %for.body.i.i.i43thread-pre-split ], [ null, %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEEC2IPKiTnNSt9enable_ifIXsr23inlined_vector_internal24IsAtLeastForwardIteratorIT_EE5valueEiE4typeELi0EEES9_S9_RKS3_.exit ] + %3 = phi ptr [ %.pr331, %for.body.i.i.i43thread-pre-split ], [ null, %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEEC2IPKiTnNSt9enable_ifIXsr23inlined_vector_internal24IsAtLeastForwardIteratorIT_EE5valueEiE4typeELi0EEES9_S9_RKS3_.exit ] %values.sroa.0.0.i.i44 = phi ptr [ %incdec.ptr.i.i.i.i51, %for.body.i.i.i43thread-pre-split ], [ @__const._ZN12_GLOBAL__N_142AllocatorSupportTest_SwapOneAllocated_Test8TestBodyEv.ia2, %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEEC2IPKiTnNSt9enable_ifIXsr23inlined_vector_internal24IsAtLeastForwardIteratorIT_EE5valueEiE4typeELi0EEES9_S9_RKS3_.exit ] %i.07.i.i.i45 = phi i64 [ %inc.i.i.i52, %for.body.i.i.i43thread-pre-split ], [ 0, %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEEC2IPKiTnNSt9enable_ifIXsr23inlined_vector_internal24IsAtLeastForwardIteratorIT_EE5valueEiE4typeELi0EEES9_S9_RKS3_.exit ] %add.ptr.i.i.i46 = getelementptr inbounds i32, ptr %data_.i4.i.i, i64 %i.07.i.i.i45 @@ -101699,44 +101715,44 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit83: ; preds = %if.end60, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i82 store ptr null, ptr %message_.i80, align 8 invoke void @_ZN4absl23inlined_vector_internal7StorageIiLm4ENS_18container_internal17CountingAllocatorIiEEE4SwapEPS5_(ptr noundef nonnull align 8 dereferenceable(40) %v1, ptr noundef nonnull %v2) - to label %cond.true.i.i.i.i.i.i.i unwind label %lpad6 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %lpad6 -cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit83 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit83 call void @llvm.experimental.noalias.scope.decl(metadata !2421) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp64, i8 0, i64 24, i1 false), !alias.scope !2421 %call5.i.i.i.i2.i6.i.i.i2.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #33 to label %invoke.cont68 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, !noalias !2421 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %cond.true.i.i.i.i.i.i.i +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %32 = landingpad { ptr, i32 } cleanup br label %ehcleanup237 -invoke.cont68: ; preds = %cond.true.i.i.i.i.i.i.i +invoke.cont68: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i store ptr %call5.i.i.i.i2.i6.i.i.i2.i, ptr %ref.tmp64, align 8, !alias.scope !2421 %_M_finish.i.i.i.i.i.i86 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp64, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i87 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 4 + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i, i64 16 %_M_end_of_storage.i.i.i.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp64, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i87, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !2421 + store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i, align 8, !alias.scope !2421 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i2.i, ptr noundef nonnull align 16 dereferenceable(16) @__const._ZN12_GLOBAL__N_142AllocatorSupportTest_SwapOneAllocated_Test8TestBodyEv.ia2, i64 16, i1 false) - store ptr %add.ptr.i.i.i.i.i.i87, ptr %_M_finish.i.i.i.i.i.i86, align 8, !alias.scope !2421 + store ptr %add.ptr.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i86, align 8, !alias.scope !2421 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm4ENS6_18container_internal17CountingAllocatorIiEEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar63, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp64, ptr noundef nonnull @.str.409, ptr noundef nonnull align 8 dereferenceable(40) %v1) to label %invoke.cont70 unwind label %lpad69 invoke.cont70: ; preds = %invoke.cont68 %33 = load ptr, ptr %ref.tmp64, align 8 %tobool.not.i.i.i.i.i = icmp eq ptr %33, null - br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i89 + br i1 %tobool.not.i.i.i.i.i, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, label %if.then.i.i.i.i.i88 -if.then.i.i.i.i.i89: ; preds = %invoke.cont70 +if.then.i.i.i.i.i88: ; preds = %invoke.cont70 call void @_ZdlPv(ptr noundef nonnull %33) #32 br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %invoke.cont70, %if.then.i.i.i.i.i89 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit: ; preds = %invoke.cont70, %if.then.i.i.i.i.i88 %34 = load i8, ptr %gtest_ar63, align 8 %35 = and i8 %34, 1 - %tobool.i90.not = icmp eq i8 %35, 0 - br i1 %tobool.i90.not, label %if.else75, label %if.end88 + %tobool.i89.not = icmp eq i8 %35, 0 + br i1 %tobool.i89.not, label %if.else75, label %if.end88 ehcleanup61: ; preds = %_ZN7testing7MessageD2Ev.exit79, %lpad49 %.pn3.pn = phi { ptr, i32 } [ %.pn3, %_ZN7testing7MessageD2Ev.exit79 ], [ %26, %lpad49 ] @@ -101747,10 +101763,10 @@ lpad69: ; preds = %invoke.cont68 %36 = landingpad { ptr, i32 } cleanup %37 = load ptr, ptr %ref.tmp64, align 8 - %tobool.not.i.i.i.i.i91 = icmp eq ptr %37, null - br i1 %tobool.not.i.i.i.i.i91, label %ehcleanup237, label %if.then.i.i.i.i.i92 + %tobool.not.i.i.i.i.i90 = icmp eq ptr %37, null + br i1 %tobool.not.i.i.i.i.i90, label %ehcleanup237, label %if.then.i.i.i.i.i91 -if.then.i.i.i.i.i92: ; preds = %lpad69 +if.then.i.i.i.i.i91: ; preds = %lpad69 call void @_ZdlPv(ptr noundef nonnull %37) #32 br label %ehcleanup237 @@ -101759,18 +101775,18 @@ if.else75: ; preds = %_ZN7testing8interna to label %invoke.cont78 unwind label %lpad77 invoke.cont78: ; preds = %if.else75 - %message_.i.i97 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar63, i64 0, i32 1 - %38 = load ptr, ptr %message_.i.i97, align 8 - %cmp.i.i.not.i.i98 = icmp eq ptr %38, null - br i1 %cmp.i.i.not.i.i98, label %invoke.cont81, label %cond.true.i.i99 + %message_.i.i96 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar63, i64 0, i32 1 + %38 = load ptr, ptr %message_.i.i96, align 8 + %cmp.i.i.not.i.i97 = icmp eq ptr %38, null + br i1 %cmp.i.i.not.i.i97, label %invoke.cont81, label %cond.true.i.i98 -cond.true.i.i99: ; preds = %invoke.cont78 - %call4.i.i100 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %38) #29 +cond.true.i.i98: ; preds = %invoke.cont78 + %call4.i.i99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %38) #29 br label %invoke.cont81 -invoke.cont81: ; preds = %cond.true.i.i99, %invoke.cont78 - %cond.i.i101 = phi ptr [ %call4.i.i100, %cond.true.i.i99 ], [ @.str.202, %invoke.cont78 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp79, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1770, ptr noundef %cond.i.i101) +invoke.cont81: ; preds = %cond.true.i.i98, %invoke.cont78 + %cond.i.i100 = phi ptr [ %call4.i.i99, %cond.true.i.i98 ], [ @.str.202, %invoke.cont78 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp79, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1770, ptr noundef %cond.i.i100) to label %invoke.cont83 unwind label %lpad80 invoke.cont83: ; preds = %invoke.cont81 @@ -101780,17 +101796,17 @@ invoke.cont83: ; preds = %invoke.cont81 invoke.cont85: ; preds = %invoke.cont83 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp79) #29 %39 = load ptr, ptr %ref.tmp76, align 8 - %cmp.not.i.i103 = icmp eq ptr %39, null - br i1 %cmp.not.i.i103, label %_ZN7testing7MessageD2Ev.exit107, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 + %cmp.not.i.i102 = icmp eq ptr %39, null + br i1 %cmp.not.i.i102, label %_ZN7testing7MessageD2Ev.exit106, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104: ; preds = %invoke.cont85 - %vtable.i.i.i105 = load ptr, ptr %39, align 8 - %vfn.i.i.i106 = getelementptr inbounds ptr, ptr %vtable.i.i.i105, i64 1 - %40 = load ptr, ptr %vfn.i.i.i106, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103: ; preds = %invoke.cont85 + %vtable.i.i.i104 = load ptr, ptr %39, align 8 + %vfn.i.i.i105 = getelementptr inbounds ptr, ptr %vtable.i.i.i104, i64 1 + %40 = load ptr, ptr %vfn.i.i.i105, align 8 call void %40(ptr noundef nonnull align 8 dereferenceable(128) %39) #29 - br label %_ZN7testing7MessageD2Ev.exit107 + br label %_ZN7testing7MessageD2Ev.exit106 -_ZN7testing7MessageD2Ev.exit107: ; preds = %invoke.cont85, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i104 +_ZN7testing7MessageD2Ev.exit106: ; preds = %invoke.cont85, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i103 store ptr null, ptr %ref.tmp76, align 8 br label %if.end88 @@ -101813,71 +101829,71 @@ lpad84: ; preds = %invoke.cont83 ehcleanup87: ; preds = %lpad84, %lpad80 %.pn8 = phi { ptr, i32 } [ %43, %lpad84 ], [ %42, %lpad80 ] %44 = load ptr, ptr %ref.tmp76, align 8 - %cmp.not.i.i108 = icmp eq ptr %44, null - br i1 %cmp.not.i.i108, label %_ZN7testing7MessageD2Ev.exit112, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 + %cmp.not.i.i107 = icmp eq ptr %44, null + br i1 %cmp.not.i.i107, label %_ZN7testing7MessageD2Ev.exit111, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109: ; preds = %ehcleanup87 - %vtable.i.i.i110 = load ptr, ptr %44, align 8 - %vfn.i.i.i111 = getelementptr inbounds ptr, ptr %vtable.i.i.i110, i64 1 - %45 = load ptr, ptr %vfn.i.i.i111, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108: ; preds = %ehcleanup87 + %vtable.i.i.i109 = load ptr, ptr %44, align 8 + %vfn.i.i.i110 = getelementptr inbounds ptr, ptr %vtable.i.i.i109, i64 1 + %45 = load ptr, ptr %vfn.i.i.i110, align 8 call void %45(ptr noundef nonnull align 8 dereferenceable(128) %44) #29 - br label %_ZN7testing7MessageD2Ev.exit112 + br label %_ZN7testing7MessageD2Ev.exit111 -_ZN7testing7MessageD2Ev.exit112: ; preds = %ehcleanup87, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i109 +_ZN7testing7MessageD2Ev.exit111: ; preds = %ehcleanup87, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i108 store ptr null, ptr %ref.tmp76, align 8 br label %ehcleanup89 -if.end88: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit107 - %message_.i113 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar63, i64 0, i32 1 - %46 = load ptr, ptr %message_.i113, align 8 - %cmp.not.i.i114 = icmp eq ptr %46, null - br i1 %cmp.not.i.i114, label %_ZN7testing15AssertionResultD2Ev.exit116, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 +if.end88: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit, %_ZN7testing7MessageD2Ev.exit106 + %message_.i112 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar63, i64 0, i32 1 + %46 = load ptr, ptr %message_.i112, align 8 + %cmp.not.i.i113 = icmp eq ptr %46, null + br i1 %cmp.not.i.i113, label %_ZN7testing15AssertionResultD2Ev.exit115, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115: ; preds = %if.end88 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114: ; preds = %if.end88 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #29 call void @_ZdlPv(ptr noundef nonnull %46) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit116 + br label %_ZN7testing15AssertionResultD2Ev.exit115 -_ZN7testing15AssertionResultD2Ev.exit116: ; preds = %if.end88, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i115 - store ptr null, ptr %message_.i113, align 8 +_ZN7testing15AssertionResultD2Ev.exit115: ; preds = %if.end88, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i114 + store ptr null, ptr %message_.i112, align 8 call void @llvm.experimental.noalias.scope.decl(metadata !2424) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp91, i8 0, i64 24, i1 false), !alias.scope !2424 - %call5.i.i.i.i2.i6.i.i.i2.i128 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #33 - to label %invoke.cont95 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i129, !noalias !2424 + %call5.i.i.i.i2.i6.i.i.i2.i127 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #33 + to label %invoke.cont95 unwind label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i128, !noalias !2424 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i129: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i128: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 %47 = landingpad { ptr, i32 } cleanup br label %ehcleanup237 -invoke.cont95: ; preds = %_ZN7testing15AssertionResultD2Ev.exit116 - store ptr %call5.i.i.i.i2.i6.i.i.i2.i128, ptr %ref.tmp91, align 8, !alias.scope !2424 - %_M_finish.i.i.i.i.i.i132 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp91, i64 0, i32 1 - %add.ptr.i.i.i.i.i.i133 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i2.i128, i64 8 - %_M_end_of_storage.i.i.i.i.i.i134 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp91, i64 0, i32 2 - store ptr %add.ptr.i.i.i.i.i.i133, ptr %_M_end_of_storage.i.i.i.i.i.i134, align 8, !alias.scope !2424 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %call5.i.i.i.i2.i6.i.i.i2.i128, ptr noundef nonnull align 16 dereferenceable(32) @__const._ZN12_GLOBAL__N_142AllocatorSupportTest_SwapOneAllocated_Test8TestBodyEv.ia1, i64 32, i1 false) - store ptr %add.ptr.i.i.i.i.i.i133, ptr %_M_finish.i.i.i.i.i.i132, align 8, !alias.scope !2424 +invoke.cont95: ; preds = %_ZN7testing15AssertionResultD2Ev.exit115 + store ptr %call5.i.i.i.i2.i6.i.i.i2.i127, ptr %ref.tmp91, align 8, !alias.scope !2424 + %_M_finish.i.i.i.i.i.i130 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp91, i64 0, i32 1 + %add.ptr.i.i.i.i.i.i131 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i2.i127, i64 32 + %_M_end_of_storage.i.i.i.i.i.i132 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp91, i64 0, i32 2 + store ptr %add.ptr.i.i.i.i.i.i131, ptr %_M_end_of_storage.i.i.i.i.i.i132, align 8, !alias.scope !2424 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(32) %call5.i.i.i.i2.i6.i.i.i2.i127, ptr noundef nonnull align 16 dereferenceable(32) @__const._ZN12_GLOBAL__N_142AllocatorSupportTest_SwapOneAllocated_Test8TestBodyEv.ia1, i64 32, i1 false) + store ptr %add.ptr.i.i.i.i.i.i131, ptr %_M_finish.i.i.i.i.i.i130, align 8, !alias.scope !2424 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEclIN4absl13InlinedVectorIiLm4ENS6_18container_internal17CountingAllocatorIiEEEEEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar90, ptr noundef nonnull align 8 dereferenceable(24) %ref.tmp91, ptr noundef nonnull @.str.410, ptr noundef nonnull align 8 dereferenceable(40) %v2) to label %invoke.cont97 unwind label %lpad96 invoke.cont97: ; preds = %invoke.cont95 %48 = load ptr, ptr %ref.tmp91, align 8 - %tobool.not.i.i.i.i.i146 = icmp eq ptr %48, null - br i1 %tobool.not.i.i.i.i.i146, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit151, label %if.then.i.i.i.i.i147 + %tobool.not.i.i.i.i.i145 = icmp eq ptr %48, null + br i1 %tobool.not.i.i.i.i.i145, label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150, label %if.then.i.i.i.i.i146 -if.then.i.i.i.i.i147: ; preds = %invoke.cont97 +if.then.i.i.i.i.i146: ; preds = %invoke.cont97 call void @_ZdlPv(ptr noundef nonnull %48) #32 - br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit151 + br label %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150 -_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit151: ; preds = %invoke.cont97, %if.then.i.i.i.i.i147 +_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150: ; preds = %invoke.cont97, %if.then.i.i.i.i.i146 %49 = load i8, ptr %gtest_ar90, align 8 %50 = and i8 %49, 1 - %tobool.i152.not = icmp eq i8 %50, 0 - br i1 %tobool.i152.not, label %if.else102, label %if.end115 + %tobool.i151.not = icmp eq i8 %50, 0 + br i1 %tobool.i151.not, label %if.else102, label %if.end115 -ehcleanup89: ; preds = %_ZN7testing7MessageD2Ev.exit112, %lpad77 - %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit112 ], [ %41, %lpad77 ] +ehcleanup89: ; preds = %_ZN7testing7MessageD2Ev.exit111, %lpad77 + %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit111 ], [ %41, %lpad77 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar63) #29 br label %ehcleanup237 @@ -101885,30 +101901,30 @@ lpad96: ; preds = %invoke.cont95 %51 = landingpad { ptr, i32 } cleanup %52 = load ptr, ptr %ref.tmp91, align 8 - %tobool.not.i.i.i.i.i153 = icmp eq ptr %52, null - br i1 %tobool.not.i.i.i.i.i153, label %ehcleanup237, label %if.then.i.i.i.i.i154 + %tobool.not.i.i.i.i.i152 = icmp eq ptr %52, null + br i1 %tobool.not.i.i.i.i.i152, label %ehcleanup237, label %if.then.i.i.i.i.i153 -if.then.i.i.i.i.i154: ; preds = %lpad96 +if.then.i.i.i.i.i153: ; preds = %lpad96 call void @_ZdlPv(ptr noundef nonnull %52) #32 br label %ehcleanup237 -if.else102: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit151 +if.else102: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp103) to label %invoke.cont105 unwind label %lpad104 invoke.cont105: ; preds = %if.else102 - %message_.i.i159 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar90, i64 0, i32 1 - %53 = load ptr, ptr %message_.i.i159, align 8 - %cmp.i.i.not.i.i160 = icmp eq ptr %53, null - br i1 %cmp.i.i.not.i.i160, label %invoke.cont108, label %cond.true.i.i161 + %message_.i.i158 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar90, i64 0, i32 1 + %53 = load ptr, ptr %message_.i.i158, align 8 + %cmp.i.i.not.i.i159 = icmp eq ptr %53, null + br i1 %cmp.i.i.not.i.i159, label %invoke.cont108, label %cond.true.i.i160 -cond.true.i.i161: ; preds = %invoke.cont105 - %call4.i.i162 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #29 +cond.true.i.i160: ; preds = %invoke.cont105 + %call4.i.i161 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #29 br label %invoke.cont108 -invoke.cont108: ; preds = %cond.true.i.i161, %invoke.cont105 - %cond.i.i163 = phi ptr [ %call4.i.i162, %cond.true.i.i161 ], [ @.str.202, %invoke.cont105 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp106, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1771, ptr noundef %cond.i.i163) +invoke.cont108: ; preds = %cond.true.i.i160, %invoke.cont105 + %cond.i.i162 = phi ptr [ %call4.i.i161, %cond.true.i.i160 ], [ @.str.202, %invoke.cont105 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp106, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1771, ptr noundef %cond.i.i162) to label %invoke.cont110 unwind label %lpad107 invoke.cont110: ; preds = %invoke.cont108 @@ -101918,17 +101934,17 @@ invoke.cont110: ; preds = %invoke.cont108 invoke.cont112: ; preds = %invoke.cont110 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp106) #29 %54 = load ptr, ptr %ref.tmp103, align 8 - %cmp.not.i.i165 = icmp eq ptr %54, null - br i1 %cmp.not.i.i165, label %_ZN7testing7MessageD2Ev.exit169, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 + %cmp.not.i.i164 = icmp eq ptr %54, null + br i1 %cmp.not.i.i164, label %_ZN7testing7MessageD2Ev.exit168, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166: ; preds = %invoke.cont112 - %vtable.i.i.i167 = load ptr, ptr %54, align 8 - %vfn.i.i.i168 = getelementptr inbounds ptr, ptr %vtable.i.i.i167, i64 1 - %55 = load ptr, ptr %vfn.i.i.i168, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165: ; preds = %invoke.cont112 + %vtable.i.i.i166 = load ptr, ptr %54, align 8 + %vfn.i.i.i167 = getelementptr inbounds ptr, ptr %vtable.i.i.i166, i64 1 + %55 = load ptr, ptr %vfn.i.i.i167, align 8 call void %55(ptr noundef nonnull align 8 dereferenceable(128) %54) #29 - br label %_ZN7testing7MessageD2Ev.exit169 + br label %_ZN7testing7MessageD2Ev.exit168 -_ZN7testing7MessageD2Ev.exit169: ; preds = %invoke.cont112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i166 +_ZN7testing7MessageD2Ev.exit168: ; preds = %invoke.cont112, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i165 store ptr null, ptr %ref.tmp103, align 8 br label %if.end115 @@ -101951,40 +101967,40 @@ lpad111: ; preds = %invoke.cont110 ehcleanup114: ; preds = %lpad111, %lpad107 %.pn13 = phi { ptr, i32 } [ %58, %lpad111 ], [ %57, %lpad107 ] %59 = load ptr, ptr %ref.tmp103, align 8 - %cmp.not.i.i170 = icmp eq ptr %59, null - br i1 %cmp.not.i.i170, label %_ZN7testing7MessageD2Ev.exit174, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171 + %cmp.not.i.i169 = icmp eq ptr %59, null + br i1 %cmp.not.i.i169, label %_ZN7testing7MessageD2Ev.exit173, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171: ; preds = %ehcleanup114 - %vtable.i.i.i172 = load ptr, ptr %59, align 8 - %vfn.i.i.i173 = getelementptr inbounds ptr, ptr %vtable.i.i.i172, i64 1 - %60 = load ptr, ptr %vfn.i.i.i173, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170: ; preds = %ehcleanup114 + %vtable.i.i.i171 = load ptr, ptr %59, align 8 + %vfn.i.i.i172 = getelementptr inbounds ptr, ptr %vtable.i.i.i171, i64 1 + %60 = load ptr, ptr %vfn.i.i.i172, align 8 call void %60(ptr noundef nonnull align 8 dereferenceable(128) %59) #29 - br label %_ZN7testing7MessageD2Ev.exit174 + br label %_ZN7testing7MessageD2Ev.exit173 -_ZN7testing7MessageD2Ev.exit174: ; preds = %ehcleanup114, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i171 +_ZN7testing7MessageD2Ev.exit173: ; preds = %ehcleanup114, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i170 store ptr null, ptr %ref.tmp103, align 8 br label %ehcleanup116 -if.end115: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit151, %_ZN7testing7MessageD2Ev.exit169 - %message_.i175 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar90, i64 0, i32 1 - %61 = load ptr, ptr %message_.i175, align 8 - %cmp.not.i.i176 = icmp eq ptr %61, null - br i1 %cmp.not.i.i176, label %invoke.cont128, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177 +if.end115: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit150, %_ZN7testing7MessageD2Ev.exit168 + %message_.i174 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar90, i64 0, i32 1 + %61 = load ptr, ptr %message_.i174, align 8 + %cmp.not.i.i175 = icmp eq ptr %61, null + br i1 %cmp.not.i.i175, label %invoke.cont128, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177: ; preds = %if.end115 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176: ; preds = %if.end115 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #29 call void @_ZdlPv(ptr noundef nonnull %61) #32 br label %invoke.cont128 -invoke.cont128: ; preds = %if.end115, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i177 - store ptr null, ptr %message_.i175, align 8 +invoke.cont128: ; preds = %if.end115, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i176 + store ptr null, ptr %message_.i174, align 8 %62 = load i64, ptr %2, align 8 - %and.i.i180 = and i64 %62, 1 - %tobool.i.not.i181 = icmp eq i64 %and.i.i180, 0 - %allocated_capacity.i.i182 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage.982", ptr %v2, i64 0, i32 1, i32 0, i32 1 - %63 = load i64, ptr %allocated_capacity.i.i182, align 8 + %and.i.i179 = and i64 %62, 1 + %tobool.i.not.i180 = icmp eq i64 %and.i.i179, 0 + %allocated_capacity.i.i181 = getelementptr inbounds %"class.absl::inlined_vector_internal::Storage.982", ptr %v2, i64 0, i32 1, i32 0, i32 1 + %63 = load i64, ptr %allocated_capacity.i.i181, align 8 %64 = shl i64 %63, 2 - %mul121 = select i1 %tobool.i.not.i181, i64 16, i64 %64 + %mul121 = select i1 %tobool.i.not.i180, i64 16, i64 %64 store i64 %mul121, ptr %ref.tmp118, align 8 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIlEEEclIlEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar117, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp118, ptr noundef nonnull @.str.424, ptr noundef nonnull align 8 dereferenceable(8) %allocated1) to label %invoke.cont133 unwind label %lpad6 @@ -101992,11 +102008,11 @@ invoke.cont128: ; preds = %if.end115, %_ZNKSt1 invoke.cont133: ; preds = %invoke.cont128 %65 = load i8, ptr %gtest_ar117, align 8 %66 = and i8 %65, 1 - %tobool.i184.not = icmp eq i8 %66, 0 - br i1 %tobool.i184.not, label %if.else136, label %if.end149 + %tobool.i183.not = icmp eq i8 %66, 0 + br i1 %tobool.i183.not, label %if.else136, label %if.end149 -ehcleanup116: ; preds = %_ZN7testing7MessageD2Ev.exit174, %lpad104 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit174 ], [ %56, %lpad104 ] +ehcleanup116: ; preds = %_ZN7testing7MessageD2Ev.exit173, %lpad104 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit173 ], [ %56, %lpad104 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar90) #29 br label %ehcleanup237 @@ -102005,18 +102021,18 @@ if.else136: ; preds = %invoke.cont133 to label %invoke.cont139 unwind label %lpad138 invoke.cont139: ; preds = %if.else136 - %message_.i.i185 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar117, i64 0, i32 1 - %67 = load ptr, ptr %message_.i.i185, align 8 - %cmp.i.i.not.i.i186 = icmp eq ptr %67, null - br i1 %cmp.i.i.not.i.i186, label %invoke.cont142, label %cond.true.i.i187 + %message_.i.i184 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar117, i64 0, i32 1 + %67 = load ptr, ptr %message_.i.i184, align 8 + %cmp.i.i.not.i.i185 = icmp eq ptr %67, null + br i1 %cmp.i.i.not.i.i185, label %invoke.cont142, label %cond.true.i.i186 -cond.true.i.i187: ; preds = %invoke.cont139 - %call4.i.i188 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #29 +cond.true.i.i186: ; preds = %invoke.cont139 + %call4.i.i187 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #29 br label %invoke.cont142 -invoke.cont142: ; preds = %cond.true.i.i187, %invoke.cont139 - %cond.i.i189 = phi ptr [ %call4.i.i188, %cond.true.i.i187 ], [ @.str.202, %invoke.cont139 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp140, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1773, ptr noundef %cond.i.i189) +invoke.cont142: ; preds = %cond.true.i.i186, %invoke.cont139 + %cond.i.i188 = phi ptr [ %call4.i.i187, %cond.true.i.i186 ], [ @.str.202, %invoke.cont139 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp140, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1773, ptr noundef %cond.i.i188) to label %invoke.cont144 unwind label %lpad141 invoke.cont144: ; preds = %invoke.cont142 @@ -102026,17 +102042,17 @@ invoke.cont144: ; preds = %invoke.cont142 invoke.cont146: ; preds = %invoke.cont144 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp140) #29 %68 = load ptr, ptr %ref.tmp137, align 8 - %cmp.not.i.i191 = icmp eq ptr %68, null - br i1 %cmp.not.i.i191, label %_ZN7testing7MessageD2Ev.exit195, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 + %cmp.not.i.i190 = icmp eq ptr %68, null + br i1 %cmp.not.i.i190, label %_ZN7testing7MessageD2Ev.exit194, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192: ; preds = %invoke.cont146 - %vtable.i.i.i193 = load ptr, ptr %68, align 8 - %vfn.i.i.i194 = getelementptr inbounds ptr, ptr %vtable.i.i.i193, i64 1 - %69 = load ptr, ptr %vfn.i.i.i194, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191: ; preds = %invoke.cont146 + %vtable.i.i.i192 = load ptr, ptr %68, align 8 + %vfn.i.i.i193 = getelementptr inbounds ptr, ptr %vtable.i.i.i192, i64 1 + %69 = load ptr, ptr %vfn.i.i.i193, align 8 call void %69(ptr noundef nonnull align 8 dereferenceable(128) %68) #29 - br label %_ZN7testing7MessageD2Ev.exit195 + br label %_ZN7testing7MessageD2Ev.exit194 -_ZN7testing7MessageD2Ev.exit195: ; preds = %invoke.cont146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i192 +_ZN7testing7MessageD2Ev.exit194: ; preds = %invoke.cont146, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i191 store ptr null, ptr %ref.tmp137, align 8 br label %if.end149 @@ -102059,33 +102075,33 @@ lpad145: ; preds = %invoke.cont144 ehcleanup148: ; preds = %lpad145, %lpad141 %.pn16 = phi { ptr, i32 } [ %72, %lpad145 ], [ %71, %lpad141 ] %73 = load ptr, ptr %ref.tmp137, align 8 - %cmp.not.i.i196 = icmp eq ptr %73, null - br i1 %cmp.not.i.i196, label %_ZN7testing7MessageD2Ev.exit200, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197 + %cmp.not.i.i195 = icmp eq ptr %73, null + br i1 %cmp.not.i.i195, label %_ZN7testing7MessageD2Ev.exit199, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197: ; preds = %ehcleanup148 - %vtable.i.i.i198 = load ptr, ptr %73, align 8 - %vfn.i.i.i199 = getelementptr inbounds ptr, ptr %vtable.i.i.i198, i64 1 - %74 = load ptr, ptr %vfn.i.i.i199, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196: ; preds = %ehcleanup148 + %vtable.i.i.i197 = load ptr, ptr %73, align 8 + %vfn.i.i.i198 = getelementptr inbounds ptr, ptr %vtable.i.i.i197, i64 1 + %74 = load ptr, ptr %vfn.i.i.i198, align 8 call void %74(ptr noundef nonnull align 8 dereferenceable(128) %73) #29 - br label %_ZN7testing7MessageD2Ev.exit200 + br label %_ZN7testing7MessageD2Ev.exit199 -_ZN7testing7MessageD2Ev.exit200: ; preds = %ehcleanup148, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i197 +_ZN7testing7MessageD2Ev.exit199: ; preds = %ehcleanup148, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i196 store ptr null, ptr %ref.tmp137, align 8 br label %ehcleanup150 -if.end149: ; preds = %invoke.cont133, %_ZN7testing7MessageD2Ev.exit195 - %message_.i201 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar117, i64 0, i32 1 - %75 = load ptr, ptr %message_.i201, align 8 - %cmp.not.i.i202 = icmp eq ptr %75, null - br i1 %cmp.not.i.i202, label %invoke.cont160, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 +if.end149: ; preds = %invoke.cont133, %_ZN7testing7MessageD2Ev.exit194 + %message_.i200 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar117, i64 0, i32 1 + %75 = load ptr, ptr %message_.i200, align 8 + %cmp.not.i.i201 = icmp eq ptr %75, null + br i1 %cmp.not.i.i201, label %invoke.cont160, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203: ; preds = %if.end149 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202: ; preds = %if.end149 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #29 call void @_ZdlPv(ptr noundef nonnull %75) #32 br label %invoke.cont160 -invoke.cont160: ; preds = %if.end149, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i203 - store ptr null, ptr %message_.i201, align 8 +invoke.cont160: ; preds = %if.end149, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i202 + store ptr null, ptr %message_.i200, align 8 store i32 0, ptr %ref.tmp152, align 4 invoke void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_9EqMatcherIiEEEclIlEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar151, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp152, ptr noundef nonnull @.str.420, ptr noundef nonnull align 8 dereferenceable(8) %allocated2) to label %invoke.cont165 unwind label %lpad6 @@ -102093,11 +102109,11 @@ invoke.cont160: ; preds = %if.end149, %_ZNKSt1 invoke.cont165: ; preds = %invoke.cont160 %76 = load i8, ptr %gtest_ar151, align 8 %77 = and i8 %76, 1 - %tobool.i205.not = icmp eq i8 %77, 0 - br i1 %tobool.i205.not, label %if.else168, label %if.end181 + %tobool.i204.not = icmp eq i8 %77, 0 + br i1 %tobool.i204.not, label %if.else168, label %if.end181 -ehcleanup150: ; preds = %_ZN7testing7MessageD2Ev.exit200, %lpad138 - %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit200 ], [ %70, %lpad138 ] +ehcleanup150: ; preds = %_ZN7testing7MessageD2Ev.exit199, %lpad138 + %.pn16.pn = phi { ptr, i32 } [ %.pn16, %_ZN7testing7MessageD2Ev.exit199 ], [ %70, %lpad138 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar117) #29 br label %ehcleanup237 @@ -102106,18 +102122,18 @@ if.else168: ; preds = %invoke.cont165 to label %invoke.cont171 unwind label %lpad170 invoke.cont171: ; preds = %if.else168 - %message_.i.i206 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %78 = load ptr, ptr %message_.i.i206, align 8 - %cmp.i.i.not.i.i207 = icmp eq ptr %78, null - br i1 %cmp.i.i.not.i.i207, label %invoke.cont174, label %cond.true.i.i208 + %message_.i.i205 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %78 = load ptr, ptr %message_.i.i205, align 8 + %cmp.i.i.not.i.i206 = icmp eq ptr %78, null + br i1 %cmp.i.i.not.i.i206, label %invoke.cont174, label %cond.true.i.i207 -cond.true.i.i208: ; preds = %invoke.cont171 - %call4.i.i209 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #29 +cond.true.i.i207: ; preds = %invoke.cont171 + %call4.i.i208 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %78) #29 br label %invoke.cont174 -invoke.cont174: ; preds = %cond.true.i.i208, %invoke.cont171 - %cond.i.i210 = phi ptr [ %call4.i.i209, %cond.true.i.i208 ], [ @.str.202, %invoke.cont171 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp172, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1774, ptr noundef %cond.i.i210) +invoke.cont174: ; preds = %cond.true.i.i207, %invoke.cont171 + %cond.i.i209 = phi ptr [ %call4.i.i208, %cond.true.i.i207 ], [ @.str.202, %invoke.cont171 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp172, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1774, ptr noundef %cond.i.i209) to label %invoke.cont176 unwind label %lpad173 invoke.cont176: ; preds = %invoke.cont174 @@ -102127,17 +102143,17 @@ invoke.cont176: ; preds = %invoke.cont174 invoke.cont178: ; preds = %invoke.cont176 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp172) #29 %79 = load ptr, ptr %ref.tmp169, align 8 - %cmp.not.i.i212 = icmp eq ptr %79, null - br i1 %cmp.not.i.i212, label %_ZN7testing7MessageD2Ev.exit216, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213 + %cmp.not.i.i211 = icmp eq ptr %79, null + br i1 %cmp.not.i.i211, label %_ZN7testing7MessageD2Ev.exit215, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213: ; preds = %invoke.cont178 - %vtable.i.i.i214 = load ptr, ptr %79, align 8 - %vfn.i.i.i215 = getelementptr inbounds ptr, ptr %vtable.i.i.i214, i64 1 - %80 = load ptr, ptr %vfn.i.i.i215, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212: ; preds = %invoke.cont178 + %vtable.i.i.i213 = load ptr, ptr %79, align 8 + %vfn.i.i.i214 = getelementptr inbounds ptr, ptr %vtable.i.i.i213, i64 1 + %80 = load ptr, ptr %vfn.i.i.i214, align 8 call void %80(ptr noundef nonnull align 8 dereferenceable(128) %79) #29 - br label %_ZN7testing7MessageD2Ev.exit216 + br label %_ZN7testing7MessageD2Ev.exit215 -_ZN7testing7MessageD2Ev.exit216: ; preds = %invoke.cont178, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i213 +_ZN7testing7MessageD2Ev.exit215: ; preds = %invoke.cont178, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i212 store ptr null, ptr %ref.tmp169, align 8 br label %if.end181 @@ -102160,33 +102176,33 @@ lpad177: ; preds = %invoke.cont176 ehcleanup180: ; preds = %lpad177, %lpad173 %.pn19 = phi { ptr, i32 } [ %83, %lpad177 ], [ %82, %lpad173 ] %84 = load ptr, ptr %ref.tmp169, align 8 - %cmp.not.i.i217 = icmp eq ptr %84, null - br i1 %cmp.not.i.i217, label %_ZN7testing7MessageD2Ev.exit221, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 + %cmp.not.i.i216 = icmp eq ptr %84, null + br i1 %cmp.not.i.i216, label %_ZN7testing7MessageD2Ev.exit220, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218: ; preds = %ehcleanup180 - %vtable.i.i.i219 = load ptr, ptr %84, align 8 - %vfn.i.i.i220 = getelementptr inbounds ptr, ptr %vtable.i.i.i219, i64 1 - %85 = load ptr, ptr %vfn.i.i.i220, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217: ; preds = %ehcleanup180 + %vtable.i.i.i218 = load ptr, ptr %84, align 8 + %vfn.i.i.i219 = getelementptr inbounds ptr, ptr %vtable.i.i.i218, i64 1 + %85 = load ptr, ptr %vfn.i.i.i219, align 8 call void %85(ptr noundef nonnull align 8 dereferenceable(128) %84) #29 - br label %_ZN7testing7MessageD2Ev.exit221 + br label %_ZN7testing7MessageD2Ev.exit220 -_ZN7testing7MessageD2Ev.exit221: ; preds = %ehcleanup180, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i218 +_ZN7testing7MessageD2Ev.exit220: ; preds = %ehcleanup180, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i217 store ptr null, ptr %ref.tmp169, align 8 br label %ehcleanup182 -if.end181: ; preds = %invoke.cont165, %_ZN7testing7MessageD2Ev.exit216 - %message_.i222 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 - %86 = load ptr, ptr %message_.i222, align 8 - %cmp.not.i.i223 = icmp eq ptr %86, null - br i1 %cmp.not.i.i223, label %invoke.cont185, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224 +if.end181: ; preds = %invoke.cont165, %_ZN7testing7MessageD2Ev.exit215 + %message_.i221 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar151, i64 0, i32 1 + %86 = load ptr, ptr %message_.i221, align 8 + %cmp.not.i.i222 = icmp eq ptr %86, null + br i1 %cmp.not.i.i222, label %invoke.cont185, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224: ; preds = %if.end181 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223: ; preds = %if.end181 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #29 call void @_ZdlPv(ptr noundef nonnull %86) #32 br label %invoke.cont185 -invoke.cont185: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i224, %if.end181 - store ptr null, ptr %message_.i222, align 8 +invoke.cont185: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i223, %if.end181 + store ptr null, ptr %message_.i221, align 8 %retval.sroa.0.0.copyload.i = load ptr, ptr %v2, align 8 %retval.sroa.2.0.copyload.i = load ptr, ptr %a2.sroa.3.0.v2.sroa_idx, align 8 %cmp.i = icmp eq ptr %retval.sroa.0.0.copyload.i, %allocated1 @@ -102194,12 +102210,12 @@ invoke.cont185: ; preds = %_ZNKSt14default_del %87 = select i1 %cmp.i, i1 %cmp3.i, i1 false %frombool = zext i1 %87 to i8 store i8 %frombool, ptr %gtest_ar_, align 8 - %message_.i227 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 - store ptr null, ptr %message_.i227, align 8 + %message_.i226 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_, i64 0, i32 1 + store ptr null, ptr %message_.i226, align 8 br i1 %87, label %invoke.cont212, label %if.else191 -ehcleanup182: ; preds = %_ZN7testing7MessageD2Ev.exit221, %lpad170 - %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit221 ], [ %81, %lpad170 ] +ehcleanup182: ; preds = %_ZN7testing7MessageD2Ev.exit220, %lpad170 + %.pn19.pn = phi { ptr, i32 } [ %.pn19, %_ZN7testing7MessageD2Ev.exit220 ], [ %81, %lpad170 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar151) #29 br label %ehcleanup237 @@ -102224,13 +102240,13 @@ invoke.cont203: ; preds = %invoke.cont201 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp195) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp196) #29 %88 = load ptr, ptr %ref.tmp192, align 8 - %cmp.not.i.i229 = icmp eq ptr %88, null - br i1 %cmp.not.i.i229, label %if.end207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i230 + %cmp.not.i.i228 = icmp eq ptr %88, null + br i1 %cmp.not.i.i228, label %if.end207, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i230: ; preds = %invoke.cont203 - %vtable.i.i.i231 = load ptr, ptr %88, align 8 - %vfn.i.i.i232 = getelementptr inbounds ptr, ptr %vtable.i.i.i231, i64 1 - %89 = load ptr, ptr %vfn.i.i.i232, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229: ; preds = %invoke.cont203 + %vtable.i.i.i230 = load ptr, ptr %88, align 8 + %vfn.i.i.i231 = getelementptr inbounds ptr, ptr %vtable.i.i.i230, i64 1 + %89 = load ptr, ptr %vfn.i.i.i231, align 8 call void %89(ptr noundef nonnull align 8 dereferenceable(128) %88) #29 br label %if.end207 @@ -102263,46 +102279,46 @@ ehcleanup205: ; preds = %lpad202, %lpad200 ehcleanup206: ; preds = %ehcleanup205, %lpad197 %.pn22.pn = phi { ptr, i32 } [ %.pn22, %ehcleanup205 ], [ %91, %lpad197 ] %94 = load ptr, ptr %ref.tmp192, align 8 - %cmp.not.i.i234 = icmp eq ptr %94, null - br i1 %cmp.not.i.i234, label %_ZN7testing7MessageD2Ev.exit238, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i235 + %cmp.not.i.i233 = icmp eq ptr %94, null + br i1 %cmp.not.i.i233, label %_ZN7testing7MessageD2Ev.exit237, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i235: ; preds = %ehcleanup206 - %vtable.i.i.i236 = load ptr, ptr %94, align 8 - %vfn.i.i.i237 = getelementptr inbounds ptr, ptr %vtable.i.i.i236, i64 1 - %95 = load ptr, ptr %vfn.i.i.i237, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234: ; preds = %ehcleanup206 + %vtable.i.i.i235 = load ptr, ptr %94, align 8 + %vfn.i.i.i236 = getelementptr inbounds ptr, ptr %vtable.i.i.i235, i64 1 + %95 = load ptr, ptr %vfn.i.i.i236, align 8 call void %95(ptr noundef nonnull align 8 dereferenceable(128) %94) #29 - br label %_ZN7testing7MessageD2Ev.exit238 + br label %_ZN7testing7MessageD2Ev.exit237 -_ZN7testing7MessageD2Ev.exit238: ; preds = %ehcleanup206, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i235 +_ZN7testing7MessageD2Ev.exit237: ; preds = %ehcleanup206, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i234 store ptr null, ptr %ref.tmp192, align 8 br label %ehcleanup208 -if.end207: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i230, %invoke.cont203 +if.end207: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i229, %invoke.cont203 store ptr null, ptr %ref.tmp192, align 8 - %.pr = load ptr, ptr %message_.i227, align 8 - %cmp.not.i.i240 = icmp eq ptr %.pr, null - br i1 %cmp.not.i.i240, label %invoke.cont212, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241 + %.pr = load ptr, ptr %message_.i226, align 8 + %cmp.not.i.i239 = icmp eq ptr %.pr, null + br i1 %cmp.not.i.i239, label %invoke.cont212, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i240 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241: ; preds = %if.end207 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i240: ; preds = %if.end207 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr) #29 call void @_ZdlPv(ptr noundef nonnull %.pr) #32 br label %invoke.cont212 -invoke.cont212: ; preds = %invoke.cont185, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i241, %if.end207 - store ptr null, ptr %message_.i227, align 8 - %retval.sroa.0.0.copyload.i243 = load ptr, ptr %v1, align 8 - %retval.sroa.2.0.copyload.i245 = load ptr, ptr %a1.sroa.3.0.v1.sroa_idx, align 8 - %cmp.i248 = icmp eq ptr %retval.sroa.0.0.copyload.i243, %allocated2 - %cmp3.i251 = icmp eq ptr %retval.sroa.2.0.copyload.i245, null - %96 = select i1 %cmp.i248, i1 %cmp3.i251, i1 false +invoke.cont212: ; preds = %invoke.cont185, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i240, %if.end207 + store ptr null, ptr %message_.i226, align 8 + %retval.sroa.0.0.copyload.i242 = load ptr, ptr %v1, align 8 + %retval.sroa.2.0.copyload.i244 = load ptr, ptr %a1.sroa.3.0.v1.sroa_idx, align 8 + %cmp.i247 = icmp eq ptr %retval.sroa.0.0.copyload.i242, %allocated2 + %cmp3.i250 = icmp eq ptr %retval.sroa.2.0.copyload.i244, null + %96 = select i1 %cmp.i247, i1 %cmp3.i250, i1 false %frombool215 = zext i1 %96 to i8 store i8 %frombool215, ptr %gtest_ar_209, align 8 - %message_.i252 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_209, i64 0, i32 1 - store ptr null, ptr %message_.i252, align 8 - br i1 %96, label %_ZN7testing15AssertionResultD2Ev.exit267, label %if.else219 + %message_.i251 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_209, i64 0, i32 1 + store ptr null, ptr %message_.i251, align 8 + br i1 %96, label %_ZN7testing15AssertionResultD2Ev.exit266, label %if.else219 -ehcleanup208: ; preds = %_ZN7testing7MessageD2Ev.exit238, %lpad193 - %.pn22.pn.pn = phi { ptr, i32 } [ %.pn22.pn, %_ZN7testing7MessageD2Ev.exit238 ], [ %90, %lpad193 ] +ehcleanup208: ; preds = %_ZN7testing7MessageD2Ev.exit237, %lpad193 + %.pn22.pn.pn = phi { ptr, i32 } [ %.pn22.pn, %_ZN7testing7MessageD2Ev.exit237 ], [ %90, %lpad193 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_) #29 br label %ehcleanup237 @@ -102327,13 +102343,13 @@ invoke.cont231: ; preds = %invoke.cont229 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp223) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp224) #29 %97 = load ptr, ptr %ref.tmp220, align 8 - %cmp.not.i.i254 = icmp eq ptr %97, null - br i1 %cmp.not.i.i254, label %if.end235, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i255 + %cmp.not.i.i253 = icmp eq ptr %97, null + br i1 %cmp.not.i.i253, label %if.end235, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i255: ; preds = %invoke.cont231 - %vtable.i.i.i256 = load ptr, ptr %97, align 8 - %vfn.i.i.i257 = getelementptr inbounds ptr, ptr %vtable.i.i.i256, i64 1 - %98 = load ptr, ptr %vfn.i.i.i257, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254: ; preds = %invoke.cont231 + %vtable.i.i.i255 = load ptr, ptr %97, align 8 + %vfn.i.i.i256 = getelementptr inbounds ptr, ptr %vtable.i.i.i255, i64 1 + %98 = load ptr, ptr %vfn.i.i.i256, align 8 call void %98(ptr noundef nonnull align 8 dereferenceable(128) %97) #29 br label %if.end235 @@ -102366,110 +102382,110 @@ ehcleanup233: ; preds = %lpad230, %lpad228 ehcleanup234: ; preds = %ehcleanup233, %lpad225 %.pn26.pn = phi { ptr, i32 } [ %.pn26, %ehcleanup233 ], [ %100, %lpad225 ] %103 = load ptr, ptr %ref.tmp220, align 8 - %cmp.not.i.i259 = icmp eq ptr %103, null - br i1 %cmp.not.i.i259, label %_ZN7testing7MessageD2Ev.exit263, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i260 + %cmp.not.i.i258 = icmp eq ptr %103, null + br i1 %cmp.not.i.i258, label %_ZN7testing7MessageD2Ev.exit262, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i260: ; preds = %ehcleanup234 - %vtable.i.i.i261 = load ptr, ptr %103, align 8 - %vfn.i.i.i262 = getelementptr inbounds ptr, ptr %vtable.i.i.i261, i64 1 - %104 = load ptr, ptr %vfn.i.i.i262, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259: ; preds = %ehcleanup234 + %vtable.i.i.i260 = load ptr, ptr %103, align 8 + %vfn.i.i.i261 = getelementptr inbounds ptr, ptr %vtable.i.i.i260, i64 1 + %104 = load ptr, ptr %vfn.i.i.i261, align 8 call void %104(ptr noundef nonnull align 8 dereferenceable(128) %103) #29 - br label %_ZN7testing7MessageD2Ev.exit263 + br label %_ZN7testing7MessageD2Ev.exit262 -_ZN7testing7MessageD2Ev.exit263: ; preds = %ehcleanup234, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i260 +_ZN7testing7MessageD2Ev.exit262: ; preds = %ehcleanup234, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i259 store ptr null, ptr %ref.tmp220, align 8 br label %ehcleanup236 -if.end235: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i255, %invoke.cont231 +if.end235: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i254, %invoke.cont231 store ptr null, ptr %ref.tmp220, align 8 - %.pr329 = load ptr, ptr %message_.i252, align 8 - %cmp.not.i.i265 = icmp eq ptr %.pr329, null - br i1 %cmp.not.i.i265, label %_ZN7testing15AssertionResultD2Ev.exit267, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i266 + %.pr328 = load ptr, ptr %message_.i251, align 8 + %cmp.not.i.i264 = icmp eq ptr %.pr328, null + br i1 %cmp.not.i.i264, label %_ZN7testing15AssertionResultD2Ev.exit266, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i266: ; preds = %if.end235 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr329) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr329) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit267 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265: ; preds = %if.end235 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr328) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr328) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit266 -_ZN7testing15AssertionResultD2Ev.exit267: ; preds = %invoke.cont212, %if.end235, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i266 - store ptr null, ptr %message_.i252, align 8 +_ZN7testing15AssertionResultD2Ev.exit266: ; preds = %invoke.cont212, %if.end235, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i265 + store ptr null, ptr %message_.i251, align 8 %105 = load i64, ptr %2, align 8 %and.i.i.i.i = and i64 %105, 1 %tobool.i.not.i.i.i = icmp eq i64 %and.i.i.i.i, 0 - br i1 %tobool.i.not.i.i.i, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, label %if.then.i.i.i.i269 + br i1 %tobool.i.not.i.i.i, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, label %if.then.i.i.i.i268 -if.then.i.i.i.i269: ; preds = %_ZN7testing15AssertionResultD2Ev.exit267 +if.then.i.i.i.i268: ; preds = %_ZN7testing15AssertionResultD2Ev.exit266 %106 = load ptr, ptr %data_.i4.i.i, align 8 - %107 = load i64, ptr %allocated_capacity.i.i182, align 8 + %107 = load i64, ptr %allocated_capacity.i.i181, align 8 call void @_ZdlPv(ptr noundef %106) #32 %108 = load ptr, ptr %v2, align 8 - %cmp.not.i.i.i.i.i.i.i270 = icmp eq ptr %108, null - br i1 %cmp.not.i.i.i.i.i.i.i270, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, label %if.then.i.i.i.i.i.i.i + %cmp.not.i.i.i.i.i.i.i269 = icmp eq ptr %108, null + br i1 %cmp.not.i.i.i.i.i.i.i269, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, label %if.then.i.i.i.i.i.i.i -if.then.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i269 +if.then.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i268 %mul.i.i.i.i.i.i.i = shl i64 %107, 2 %109 = load i64, ptr %108, align 8 %sub.i.i.i.i.i.i.i = sub i64 %109, %mul.i.i.i.i.i.i.i store i64 %sub.i.i.i.i.i.i.i, ptr %108, align 8 br label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit -_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit267, %if.then.i.i.i.i269, %if.then.i.i.i.i.i.i.i +_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit266, %if.then.i.i.i.i268, %if.then.i.i.i.i.i.i.i %110 = load i64, ptr %0, align 8 - %and.i.i.i.i272 = and i64 %110, 1 - %tobool.i.not.i.i.i273 = icmp eq i64 %and.i.i.i.i272, 0 - br i1 %tobool.i.not.i.i.i273, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit281, label %if.then.i.i.i.i274 + %and.i.i.i.i271 = and i64 %110, 1 + %tobool.i.not.i.i.i272 = icmp eq i64 %and.i.i.i.i271, 0 + br i1 %tobool.i.not.i.i.i272, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit280, label %if.then.i.i.i.i273 -if.then.i.i.i.i274: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit +if.then.i.i.i.i273: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit %111 = load ptr, ptr %data_.i.i.i, align 8 %112 = load i64, ptr %allocated_capacity.i.i.i, align 8 call void @_ZdlPv(ptr noundef %111) #32 %113 = load ptr, ptr %v1, align 8 - %cmp.not.i.i.i.i.i.i.i277 = icmp eq ptr %113, null - br i1 %cmp.not.i.i.i.i.i.i.i277, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit281, label %if.then.i.i.i.i.i.i.i278 + %cmp.not.i.i.i.i.i.i.i276 = icmp eq ptr %113, null + br i1 %cmp.not.i.i.i.i.i.i.i276, label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit280, label %if.then.i.i.i.i.i.i.i277 -if.then.i.i.i.i.i.i.i278: ; preds = %if.then.i.i.i.i274 - %mul.i.i.i.i.i.i.i279 = shl i64 %112, 2 +if.then.i.i.i.i.i.i.i277: ; preds = %if.then.i.i.i.i273 + %mul.i.i.i.i.i.i.i278 = shl i64 %112, 2 %114 = load i64, ptr %113, align 8 - %sub.i.i.i.i.i.i.i280 = sub i64 %114, %mul.i.i.i.i.i.i.i279 - store i64 %sub.i.i.i.i.i.i.i280, ptr %113, align 8 - br label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit281 + %sub.i.i.i.i.i.i.i279 = sub i64 %114, %mul.i.i.i.i.i.i.i278 + store i64 %sub.i.i.i.i.i.i.i279, ptr %113, align 8 + br label %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit280 -_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit281: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, %if.then.i.i.i.i274, %if.then.i.i.i.i.i.i.i278 +_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit280: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit, %if.then.i.i.i.i273, %if.then.i.i.i.i.i.i.i277 store i32 0, ptr %ref.tmp240, align 4 call void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIlEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar239, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp240, ptr noundef nonnull @.str.424, ptr noundef nonnull align 8 dereferenceable(8) %allocated1) %115 = load i8, ptr %gtest_ar239, align 8 %116 = and i8 %115, 1 - %tobool.i282.not = icmp eq i8 %116, 0 - br i1 %tobool.i282.not, label %if.else245, label %if.end258 + %tobool.i281.not = icmp eq i8 %116, 0 + br i1 %tobool.i281.not, label %if.else245, label %if.end258 -ehcleanup236: ; preds = %_ZN7testing7MessageD2Ev.exit263, %lpad221 - %.pn26.pn.pn = phi { ptr, i32 } [ %.pn26.pn, %_ZN7testing7MessageD2Ev.exit263 ], [ %99, %lpad221 ] +ehcleanup236: ; preds = %_ZN7testing7MessageD2Ev.exit262, %lpad221 + %.pn26.pn.pn = phi { ptr, i32 } [ %.pn26.pn, %_ZN7testing7MessageD2Ev.exit262 ], [ %99, %lpad221 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_209) #29 br label %ehcleanup237 -ehcleanup237: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i129, %lpad96, %if.then.i.i.i.i.i154, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %lpad69, %if.then.i.i.i.i.i92, %ehcleanup236, %ehcleanup208, %ehcleanup182, %ehcleanup150, %ehcleanup116, %ehcleanup89, %ehcleanup61, %ehcleanup29, %lpad6 - %.pn26.pn.pn.pn = phi { ptr, i32 } [ %.pn26.pn.pn, %ehcleanup236 ], [ %11, %lpad6 ], [ %.pn22.pn.pn, %ehcleanup208 ], [ %.pn19.pn, %ehcleanup182 ], [ %.pn16.pn, %ehcleanup150 ], [ %.pn13.pn, %ehcleanup116 ], [ %.pn8.pn, %ehcleanup89 ], [ %.pn3.pn, %ehcleanup61 ], [ %.pn.pn, %ehcleanup29 ], [ %32, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ], [ %36, %lpad69 ], [ %36, %if.then.i.i.i.i.i92 ], [ %47, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i129 ], [ %51, %lpad96 ], [ %51, %if.then.i.i.i.i.i154 ] +ehcleanup237: ; preds = %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i128, %lpad96, %if.then.i.i.i.i.i153, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i, %lpad69, %if.then.i.i.i.i.i91, %ehcleanup236, %ehcleanup208, %ehcleanup182, %ehcleanup150, %ehcleanup116, %ehcleanup89, %ehcleanup61, %ehcleanup29, %lpad6 + %.pn26.pn.pn.pn = phi { ptr, i32 } [ %.pn26.pn.pn, %ehcleanup236 ], [ %11, %lpad6 ], [ %.pn22.pn.pn, %ehcleanup208 ], [ %.pn19.pn, %ehcleanup182 ], [ %.pn16.pn, %ehcleanup150 ], [ %.pn13.pn, %ehcleanup116 ], [ %.pn8.pn, %ehcleanup89 ], [ %.pn3.pn, %ehcleanup61 ], [ %.pn.pn, %ehcleanup29 ], [ %32, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i ], [ %36, %lpad69 ], [ %36, %if.then.i.i.i.i.i91 ], [ %47, %_ZN7testing8internal23ElementsAreArrayMatcherIiED2Ev.exit5.i128 ], [ %51, %lpad96 ], [ %51, %if.then.i.i.i.i.i153 ] call void @_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %v2) #29 call void @_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %v1) #29 br label %common.resume -if.else245: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit281 +if.else245: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit280 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp246) to label %invoke.cont248 unwind label %lpad247 invoke.cont248: ; preds = %if.else245 - %message_.i.i283 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar239, i64 0, i32 1 - %117 = load ptr, ptr %message_.i.i283, align 8 - %cmp.i.i.not.i.i284 = icmp eq ptr %117, null - br i1 %cmp.i.i.not.i.i284, label %invoke.cont251, label %cond.true.i.i285 + %message_.i.i282 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar239, i64 0, i32 1 + %117 = load ptr, ptr %message_.i.i282, align 8 + %cmp.i.i.not.i.i283 = icmp eq ptr %117, null + br i1 %cmp.i.i.not.i.i283, label %invoke.cont251, label %cond.true.i.i284 -cond.true.i.i285: ; preds = %invoke.cont248 - %call4.i.i286 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %117) #29 +cond.true.i.i284: ; preds = %invoke.cont248 + %call4.i.i285 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %117) #29 br label %invoke.cont251 -invoke.cont251: ; preds = %cond.true.i.i285, %invoke.cont248 - %cond.i.i287 = phi ptr [ %call4.i.i286, %cond.true.i.i285 ], [ @.str.202, %invoke.cont248 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp249, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1778, ptr noundef %cond.i.i287) +invoke.cont251: ; preds = %cond.true.i.i284, %invoke.cont248 + %cond.i.i286 = phi ptr [ %call4.i.i285, %cond.true.i.i284 ], [ @.str.202, %invoke.cont248 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp249, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1778, ptr noundef %cond.i.i286) to label %invoke.cont253 unwind label %lpad250 invoke.cont253: ; preds = %invoke.cont251 @@ -102479,17 +102495,17 @@ invoke.cont253: ; preds = %invoke.cont251 invoke.cont255: ; preds = %invoke.cont253 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp249) #29 %118 = load ptr, ptr %ref.tmp246, align 8 - %cmp.not.i.i289 = icmp eq ptr %118, null - br i1 %cmp.not.i.i289, label %_ZN7testing7MessageD2Ev.exit293, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290 + %cmp.not.i.i288 = icmp eq ptr %118, null + br i1 %cmp.not.i.i288, label %_ZN7testing7MessageD2Ev.exit292, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290: ; preds = %invoke.cont255 - %vtable.i.i.i291 = load ptr, ptr %118, align 8 - %vfn.i.i.i292 = getelementptr inbounds ptr, ptr %vtable.i.i.i291, i64 1 - %119 = load ptr, ptr %vfn.i.i.i292, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289: ; preds = %invoke.cont255 + %vtable.i.i.i290 = load ptr, ptr %118, align 8 + %vfn.i.i.i291 = getelementptr inbounds ptr, ptr %vtable.i.i.i290, i64 1 + %119 = load ptr, ptr %vfn.i.i.i291, align 8 call void %119(ptr noundef nonnull align 8 dereferenceable(128) %118) #29 - br label %_ZN7testing7MessageD2Ev.exit293 + br label %_ZN7testing7MessageD2Ev.exit292 -_ZN7testing7MessageD2Ev.exit293: ; preds = %invoke.cont255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i290 +_ZN7testing7MessageD2Ev.exit292: ; preds = %invoke.cont255, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i289 store ptr null, ptr %ref.tmp246, align 8 br label %if.end258 @@ -102512,62 +102528,62 @@ lpad254: ; preds = %invoke.cont253 ehcleanup257: ; preds = %lpad254, %lpad250 %.pn32 = phi { ptr, i32 } [ %122, %lpad254 ], [ %121, %lpad250 ] %123 = load ptr, ptr %ref.tmp246, align 8 - %cmp.not.i.i294 = icmp eq ptr %123, null - br i1 %cmp.not.i.i294, label %_ZN7testing7MessageD2Ev.exit298, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 + %cmp.not.i.i293 = icmp eq ptr %123, null + br i1 %cmp.not.i.i293, label %_ZN7testing7MessageD2Ev.exit297, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295: ; preds = %ehcleanup257 - %vtable.i.i.i296 = load ptr, ptr %123, align 8 - %vfn.i.i.i297 = getelementptr inbounds ptr, ptr %vtable.i.i.i296, i64 1 - %124 = load ptr, ptr %vfn.i.i.i297, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294: ; preds = %ehcleanup257 + %vtable.i.i.i295 = load ptr, ptr %123, align 8 + %vfn.i.i.i296 = getelementptr inbounds ptr, ptr %vtable.i.i.i295, i64 1 + %124 = load ptr, ptr %vfn.i.i.i296, align 8 call void %124(ptr noundef nonnull align 8 dereferenceable(128) %123) #29 - br label %_ZN7testing7MessageD2Ev.exit298 + br label %_ZN7testing7MessageD2Ev.exit297 -_ZN7testing7MessageD2Ev.exit298: ; preds = %ehcleanup257, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i295 +_ZN7testing7MessageD2Ev.exit297: ; preds = %ehcleanup257, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i294 store ptr null, ptr %ref.tmp246, align 8 br label %ehcleanup259 -if.end258: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit281, %_ZN7testing7MessageD2Ev.exit293 - %message_.i299 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar239, i64 0, i32 1 - %125 = load ptr, ptr %message_.i299, align 8 - %cmp.not.i.i300 = icmp eq ptr %125, null - br i1 %cmp.not.i.i300, label %_ZN7testing15AssertionResultD2Ev.exit302, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301 +if.end258: ; preds = %_ZN4absl13InlinedVectorIiLm4ENS_18container_internal17CountingAllocatorIiEEED2Ev.exit280, %_ZN7testing7MessageD2Ev.exit292 + %message_.i298 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar239, i64 0, i32 1 + %125 = load ptr, ptr %message_.i298, align 8 + %cmp.not.i.i299 = icmp eq ptr %125, null + br i1 %cmp.not.i.i299, label %_ZN7testing15AssertionResultD2Ev.exit301, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301: ; preds = %if.end258 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300: ; preds = %if.end258 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #29 call void @_ZdlPv(ptr noundef nonnull %125) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit302 + br label %_ZN7testing15AssertionResultD2Ev.exit301 -_ZN7testing15AssertionResultD2Ev.exit302: ; preds = %if.end258, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i301 - store ptr null, ptr %message_.i299, align 8 +_ZN7testing15AssertionResultD2Ev.exit301: ; preds = %if.end258, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i300 + store ptr null, ptr %message_.i298, align 8 store i32 0, ptr %ref.tmp261, align 4 call void @_ZNK7testing8internal29PredicateFormatterFromMatcherIiEclIlEENS_15AssertionResultEPKcRKT_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar260, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp261, ptr noundef nonnull @.str.420, ptr noundef nonnull align 8 dereferenceable(8) %allocated2) %126 = load i8, ptr %gtest_ar260, align 8 %127 = and i8 %126, 1 - %tobool.i303.not = icmp eq i8 %127, 0 - br i1 %tobool.i303.not, label %if.else266, label %if.end279 + %tobool.i302.not = icmp eq i8 %127, 0 + br i1 %tobool.i302.not, label %if.else266, label %if.end279 -ehcleanup259: ; preds = %_ZN7testing7MessageD2Ev.exit298, %lpad247 - %.pn32.pn = phi { ptr, i32 } [ %.pn32, %_ZN7testing7MessageD2Ev.exit298 ], [ %120, %lpad247 ] +ehcleanup259: ; preds = %_ZN7testing7MessageD2Ev.exit297, %lpad247 + %.pn32.pn = phi { ptr, i32 } [ %.pn32, %_ZN7testing7MessageD2Ev.exit297 ], [ %120, %lpad247 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar239) #29 br label %common.resume -if.else266: ; preds = %_ZN7testing15AssertionResultD2Ev.exit302 +if.else266: ; preds = %_ZN7testing15AssertionResultD2Ev.exit301 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp267) to label %invoke.cont269 unwind label %lpad268 invoke.cont269: ; preds = %if.else266 - %message_.i.i304 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar260, i64 0, i32 1 - %128 = load ptr, ptr %message_.i.i304, align 8 - %cmp.i.i.not.i.i305 = icmp eq ptr %128, null - br i1 %cmp.i.i.not.i.i305, label %invoke.cont272, label %cond.true.i.i306 + %message_.i.i303 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar260, i64 0, i32 1 + %128 = load ptr, ptr %message_.i.i303, align 8 + %cmp.i.i.not.i.i304 = icmp eq ptr %128, null + br i1 %cmp.i.i.not.i.i304, label %invoke.cont272, label %cond.true.i.i305 -cond.true.i.i306: ; preds = %invoke.cont269 - %call4.i.i307 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %128) #29 +cond.true.i.i305: ; preds = %invoke.cont269 + %call4.i.i306 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %128) #29 br label %invoke.cont272 -invoke.cont272: ; preds = %cond.true.i.i306, %invoke.cont269 - %cond.i.i308 = phi ptr [ %call4.i.i307, %cond.true.i.i306 ], [ @.str.202, %invoke.cont269 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp270, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1779, ptr noundef %cond.i.i308) +invoke.cont272: ; preds = %cond.true.i.i305, %invoke.cont269 + %cond.i.i307 = phi ptr [ %call4.i.i306, %cond.true.i.i305 ], [ @.str.202, %invoke.cont269 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp270, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1779, ptr noundef %cond.i.i307) to label %invoke.cont274 unwind label %lpad271 invoke.cont274: ; preds = %invoke.cont272 @@ -102577,17 +102593,17 @@ invoke.cont274: ; preds = %invoke.cont272 invoke.cont276: ; preds = %invoke.cont274 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp270) #29 %129 = load ptr, ptr %ref.tmp267, align 8 - %cmp.not.i.i310 = icmp eq ptr %129, null - br i1 %cmp.not.i.i310, label %_ZN7testing7MessageD2Ev.exit314, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i311 + %cmp.not.i.i309 = icmp eq ptr %129, null + br i1 %cmp.not.i.i309, label %_ZN7testing7MessageD2Ev.exit313, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i311: ; preds = %invoke.cont276 - %vtable.i.i.i312 = load ptr, ptr %129, align 8 - %vfn.i.i.i313 = getelementptr inbounds ptr, ptr %vtable.i.i.i312, i64 1 - %130 = load ptr, ptr %vfn.i.i.i313, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310: ; preds = %invoke.cont276 + %vtable.i.i.i311 = load ptr, ptr %129, align 8 + %vfn.i.i.i312 = getelementptr inbounds ptr, ptr %vtable.i.i.i311, i64 1 + %130 = load ptr, ptr %vfn.i.i.i312, align 8 call void %130(ptr noundef nonnull align 8 dereferenceable(128) %129) #29 - br label %_ZN7testing7MessageD2Ev.exit314 + br label %_ZN7testing7MessageD2Ev.exit313 -_ZN7testing7MessageD2Ev.exit314: ; preds = %invoke.cont276, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i311 +_ZN7testing7MessageD2Ev.exit313: ; preds = %invoke.cont276, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i310 store ptr null, ptr %ref.tmp267, align 8 br label %if.end279 @@ -102610,36 +102626,36 @@ lpad275: ; preds = %invoke.cont274 ehcleanup278: ; preds = %lpad275, %lpad271 %.pn35 = phi { ptr, i32 } [ %133, %lpad275 ], [ %132, %lpad271 ] %134 = load ptr, ptr %ref.tmp267, align 8 - %cmp.not.i.i315 = icmp eq ptr %134, null - br i1 %cmp.not.i.i315, label %_ZN7testing7MessageD2Ev.exit319, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i316 + %cmp.not.i.i314 = icmp eq ptr %134, null + br i1 %cmp.not.i.i314, label %_ZN7testing7MessageD2Ev.exit318, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i315 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i316: ; preds = %ehcleanup278 - %vtable.i.i.i317 = load ptr, ptr %134, align 8 - %vfn.i.i.i318 = getelementptr inbounds ptr, ptr %vtable.i.i.i317, i64 1 - %135 = load ptr, ptr %vfn.i.i.i318, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i315: ; preds = %ehcleanup278 + %vtable.i.i.i316 = load ptr, ptr %134, align 8 + %vfn.i.i.i317 = getelementptr inbounds ptr, ptr %vtable.i.i.i316, i64 1 + %135 = load ptr, ptr %vfn.i.i.i317, align 8 call void %135(ptr noundef nonnull align 8 dereferenceable(128) %134) #29 - br label %_ZN7testing7MessageD2Ev.exit319 + br label %_ZN7testing7MessageD2Ev.exit318 -_ZN7testing7MessageD2Ev.exit319: ; preds = %ehcleanup278, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i316 +_ZN7testing7MessageD2Ev.exit318: ; preds = %ehcleanup278, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i315 store ptr null, ptr %ref.tmp267, align 8 br label %ehcleanup280 -if.end279: ; preds = %_ZN7testing15AssertionResultD2Ev.exit302, %_ZN7testing7MessageD2Ev.exit314 - %message_.i320 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar260, i64 0, i32 1 - %136 = load ptr, ptr %message_.i320, align 8 - %cmp.not.i.i321 = icmp eq ptr %136, null - br i1 %cmp.not.i.i321, label %_ZN7testing15AssertionResultD2Ev.exit323, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i322 +if.end279: ; preds = %_ZN7testing15AssertionResultD2Ev.exit301, %_ZN7testing7MessageD2Ev.exit313 + %message_.i319 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar260, i64 0, i32 1 + %136 = load ptr, ptr %message_.i319, align 8 + %cmp.not.i.i320 = icmp eq ptr %136, null + br i1 %cmp.not.i.i320, label %_ZN7testing15AssertionResultD2Ev.exit322, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i321 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i322: ; preds = %if.end279 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i321: ; preds = %if.end279 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #29 call void @_ZdlPv(ptr noundef nonnull %136) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit323 + br label %_ZN7testing15AssertionResultD2Ev.exit322 -_ZN7testing15AssertionResultD2Ev.exit323: ; preds = %if.end279, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i322 +_ZN7testing15AssertionResultD2Ev.exit322: ; preds = %if.end279, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i321 ret void -ehcleanup280: ; preds = %_ZN7testing7MessageD2Ev.exit319, %lpad268 - %.pn35.pn = phi { ptr, i32 } [ %.pn35, %_ZN7testing7MessageD2Ev.exit319 ], [ %131, %lpad268 ] +ehcleanup280: ; preds = %_ZN7testing7MessageD2Ev.exit318, %lpad268 + %.pn35.pn = phi { ptr, i32 } [ %.pn35, %_ZN7testing7MessageD2Ev.exit318 ], [ %131, %lpad268 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar260) #29 br label %common.resume } @@ -103785,8 +103801,7 @@ if.then6: ; preds = %if.else %sub.ptr.lhs.cast.i = ptrtoint ptr %11 to i64 %sub.ptr.rhs.cast.i = ptrtoint ptr %10 to i64 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i - %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 2 - %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i, 2305843009213693951 + %cmp.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i, label %_ZNSt15__new_allocatorIiE8allocateEmPKv.exit.i.i.i.i.i if.then3.i.i.i.i.i.i: ; preds = %if.then6 @@ -103815,7 +103830,7 @@ invoke.cont: ; preds = %if.then.i.i.i.i, %c store ptr %call5.i.i3.i.i.i.i12, ptr %0, align 8 %_M_finish.i10 = getelementptr inbounds i8, ptr %this, i64 24 store ptr %call5.i.i3.i.i.i.i12, ptr %_M_finish.i10, align 8 - %add.ptr10.i = getelementptr inbounds i32, ptr %call5.i.i3.i.i.i.i12, i64 %sub.ptr.div.i + %add.ptr10.i = getelementptr inbounds i8, ptr %call5.i.i3.i.i.i.i12, i64 %sub.ptr.sub.i %_M_end_of_storage.i = getelementptr inbounds i8, ptr %this, i64 32 store ptr %add.ptr10.i, ptr %_M_end_of_storage.i, align 8 %14 = load ptr, ptr %add.ptr4, align 8 @@ -109627,23 +109642,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0973, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0974, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %25, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaISA_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISK_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %25, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %25) #32 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE11_S_relocateEPSJ_SM_SM_RSK_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -109651,7 +109667,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i, %if.then.i.i - %26 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %24, %if.then.i.i ] + %26 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_13InlinedVectorIiLm4ESaIiEEEEESaIS9_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISJ_EE17_M_realloc_insertIJSJ_EEEvN9__gnu_cxx17__normal_iteratorIPSJ_SL_EEDpOT_.exit.i.i ], [ %24, %if.then.i.i ] %inc = add i64 %i.0974, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %27 = load ptr, ptr %26, align 8, !noalias !2568 @@ -117889,14 +117905,14 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit55: ; preds = %if.end53, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 store ptr null, ptr %message_.i52, align 8 %call5.i.i.i.i2.i6.i.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 - to label %cond.true.i.i.i.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, !noalias !2826 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %ehcleanup.i, !noalias !2826 -_ZNSt6vectorIiSaIiEED2Ev.exit10.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 +ehcleanup.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 %36 = landingpad { ptr, i32 } cleanup br label %ehcleanup86 -cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, align 4, !noalias !2826 %ref.tmp60.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 4 store i32 2, ptr %ref.tmp60.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i.sroa_idx, align 4, !noalias !2826 @@ -117905,10 +117921,10 @@ cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15Assert %call5.i.i.i.i2.i6.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 to label %invoke.cont64 unwind label %lpad63.body, !noalias !2829 -invoke.cont64: ; preds = %cond.true.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 3 +invoke.cont64: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i3.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 12, i1 false), !noalias !2829 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar55, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.448, ptr noundef nonnull align 8 dereferenceable(24) %inlined) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 12 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar55, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.448, ptr noundef nonnull align 8 dereferenceable(24) %inlined) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit63 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont64 @@ -117924,7 +117940,7 @@ ehcleanup54: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar32) #29 br label %ehcleanup86 -lpad63.body: ; preds = %cond.true.i.i.i.i.i.i.i +lpad63.body: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %39 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 @@ -118151,8 +118167,8 @@ ehcleanup85: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar55) #29 br label %ehcleanup86 -ehcleanup86: ; preds = %lpad3, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, %ehcleanup85, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66, %ehcleanup54, %ehcleanup31 - %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup85 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 ], [ %.pn3.pn, %ehcleanup54 ], [ %.pn.pn, %ehcleanup31 ], [ %14, %lpad3 ], [ %36, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i ] +ehcleanup86: ; preds = %lpad3, %ehcleanup.i, %ehcleanup85, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66, %ehcleanup54, %ehcleanup31 + %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup85 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 ], [ %.pn3.pn, %ehcleanup54 ], [ %.pn.pn, %ehcleanup31 ], [ %14, %lpad3 ], [ %36, %ehcleanup.i ] call fastcc void @_ZN4absl13InlinedVectorIN12_GLOBAL__N_129MoveConstructibleOnlyInstanceELm2ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %allocated) #29 br label %ehcleanup87 @@ -118525,21 +118541,20 @@ call.i.i1.i.i.i.i.i.i.i3.i.noexc.i.i.i.i.i: ; preds = %call.i.i.i.i.i2.i.n %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %this.16.val to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %this.8.val to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %rhs_.i.i.i.i.i.i, i8 0, i64 24, i1 false), !noalias !2849 %cmp.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %this.16.val, %this.8.val br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.thread.i.i.i.i.i, label %cond.true.i.i.i.i.i.i.i.i.i.i invoke.cont.i.i.thread.i.i.i.i.i: ; preds = %call.i.i1.i.i.i.i.i.i.i3.i.noexc.i.i.i.i.i %_M_finish.i.i.i.i2.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher<(anonymous namespace)::HasValueMatcher, std::vector>::Impl", ptr %call.i.i.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i3.i.i.i.i.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i3.i.i.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i4.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher<(anonymous namespace)::HasValueMatcher, std::vector>::Impl", ptr %call.i.i.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %rhs_.i.i.i.i.i.i, i8 0, i64 16, i1 false), !noalias !2849 store ptr %add.ptr.i.i.i.i3.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i4.i.i.i.i.i, align 8, !noalias !2849 br label %_ZN7testing15SafeMatcherCastIRKN4absl13InlinedVectorIN12_GLOBAL__N_129MoveConstructibleOnlyInstanceELm2ESaIS4_EEENS_8internal16PointwiseMatcherINS3_15HasValueMatcherESt6vectorIiSaIiEEEEEENS_7MatcherIT_EERKT0_.exit cond.true.i.i.i.i.i.i.i.i.i.i: ; preds = %call.i.i1.i.i.i.i.i.i.i3.i.noexc.i.i.i.i.i - %cmp.i.i.i.i.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i.i.i.i.i @@ -118557,7 +118572,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_tr store ptr %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, ptr %rhs_.i.i.i.i.i.i, align 8, !noalias !2849 %_M_finish.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher<(anonymous namespace)::HasValueMatcher, std::vector>::Impl", ptr %call.i.i.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 store ptr %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i.i.i, align 8, !noalias !2849 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher<(anonymous namespace)::HasValueMatcher, std::vector>::Impl", ptr %call.i.i.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i, align 8, !noalias !2849 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, ptr align 4 %this.8.val, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !2849 @@ -118584,9 +118599,10 @@ lpad.body.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i, %lp br label %common.resume _ZN7testing15SafeMatcherCastIRKN4absl13InlinedVectorIN12_GLOBAL__N_129MoveConstructibleOnlyInstanceELm2ESaIS4_EEENS_8internal16PointwiseMatcherINS3_15HasValueMatcherESt6vectorIiSaIiEEEEEENS_7MatcherIT_EERKT0_.exit: ; preds = %invoke.cont.i.i.thread.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i - %add.ptr.i.i.i.i6.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i3.i.i.i.i.i, %invoke.cont.i.i.thread.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] - %_M_finish.i.i.i.i5.i.i.i.i.i = phi ptr [ %_M_finish.i.i.i.i2.i.i.i.i.i, %invoke.cont.i.i.thread.i.i.i.i.i ], [ %_M_finish.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] - store ptr %add.ptr.i.i.i.i6.i.i.i.i.i, ptr %_M_finish.i.i.i.i5.i.i.i.i.i, align 8, !noalias !2849 + %_M_finish.i.i.i.i6.i.i.i.i.i = phi ptr [ %_M_finish.i.i.i.i2.i.i.i.i.i, %invoke.cont.i.i.thread.i.i.i.i.i ], [ %_M_finish.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] + %cond.i.i.i.i.i5.i.i.i.i.i = phi ptr [ null, %invoke.cont.i.i.thread.i.i.i.i.i ], [ %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i6.i.i.i.i.i, align 8, !noalias !2849 %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.1172", ptr %matcher, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.1172", ptr %matcher, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKN4absl13InlinedVectorIN12_GLOBAL__N_129MoveConstructibleOnlyInstanceELm2ESaIS5_EEEE9GetVTableINSA_11ValuePolicyIPKNS_16MatcherInterfaceIS9_EELb1EEEEEPKNSA_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !2849 @@ -120857,9 +120873,9 @@ _ZN7testing15AssertionResultD2Ev.exit55: ; preds = %if.end50, %_ZNKSt14 to label %invoke.cont59 unwind label %lpad58.body, !noalias !2868 invoke.cont59: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 1 store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i3.i, align 4 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar52, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.419, ptr noundef nonnull align 8 dereferenceable(24) %allocated) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 4 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar52, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.419, ptr noundef nonnull align 8 dereferenceable(24) %allocated) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit63 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont59 @@ -121442,9 +121458,9 @@ _ZN7testing15AssertionResultD2Ev.exit55: ; preds = %if.end44, %_ZNKSt14 to label %invoke.cont53 unwind label %lpad52.body, !noalias !2871 invoke.cont53: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 1 store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i3.i, align 4 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar46, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.460, ptr noundef nonnull align 8 dereferenceable(24) %inlined_a) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 4 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar46, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.460, ptr noundef nonnull align 8 dereferenceable(24) %inlined_a) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit63 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont53 @@ -122044,22 +122060,22 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit55: ; preds = %if.end59, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 store ptr null, ptr %message_.i52, align 8 %call5.i.i.i.i2.i6.i.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #33 - to label %cond.true.i.i.i.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, !noalias !2874 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %ehcleanup.i, !noalias !2874 -_ZNSt6vectorIiSaIiEED2Ev.exit10.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 +ehcleanup.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 %36 = landingpad { ptr, i32 } cleanup br label %ehcleanup92 -cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 store <4 x i32> , ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, align 4, !noalias !2874 %call5.i.i.i.i2.i6.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #33 to label %invoke.cont70 unwind label %lpad69.body, !noalias !2877 -invoke.cont70: ; preds = %cond.true.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 4 +invoke.cont70: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i3.i, ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 16, i1 false), !noalias !2877 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar61, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.461, ptr noundef nonnull align 8 dereferenceable(24) %allocated_a) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 16 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar61, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.461, ptr noundef nonnull align 8 dereferenceable(24) %allocated_a) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit63 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont70 @@ -122075,7 +122091,7 @@ ehcleanup60: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar39) #29 br label %ehcleanup92 -lpad69.body: ; preds = %cond.true.i.i.i.i.i.i.i +lpad69.body: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %39 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 @@ -122302,8 +122318,8 @@ ehcleanup91: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar61) #29 br label %ehcleanup92 -ehcleanup92: ; preds = %lpad9, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, %ehcleanup91, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66, %ehcleanup60, %ehcleanup38 - %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup91 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 ], [ %.pn3.pn, %ehcleanup60 ], [ %.pn.pn, %ehcleanup38 ], [ %14, %lpad9 ], [ %36, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i ] +ehcleanup92: ; preds = %lpad9, %ehcleanup.i, %ehcleanup91, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66, %ehcleanup60, %ehcleanup38 + %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup91 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 ], [ %.pn3.pn, %ehcleanup60 ], [ %.pn.pn, %ehcleanup38 ], [ %14, %lpad9 ], [ %36, %ehcleanup.i ] call fastcc void @_ZN4absl13InlinedVectorIN12_GLOBAL__N_129MoveConstructibleOnlyInstanceELm2ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %allocated_b) #29 br label %ehcleanup93 @@ -122627,14 +122643,14 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit54: ; preds = %if.end46, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53 store ptr null, ptr %message_.i51, align 8 %call5.i.i.i.i2.i6.i.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 - to label %cond.true.i.i.i.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, !noalias !2880 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %ehcleanup.i, !noalias !2880 -_ZNSt6vectorIiSaIiEED2Ev.exit10.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit54 +ehcleanup.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit54 %34 = landingpad { ptr, i32 } cleanup br label %ehcleanup78 -cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit54 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit54 store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, align 4, !noalias !2880 %ref.tmp52.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 4 store i32 2, ptr %ref.tmp52.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i.sroa_idx, align 4, !noalias !2880 @@ -122643,10 +122659,10 @@ cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15Assert %call5.i.i.i.i2.i6.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 to label %invoke.cont56 unwind label %lpad55.body, !noalias !2883 -invoke.cont56: ; preds = %cond.true.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 3 +invoke.cont56: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i3.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 12, i1 false), !noalias !2883 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar48, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(24) %v) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 12 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_29MoveConstructibleOnlyInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar48, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(24) %v) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit62 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont56 @@ -122662,7 +122678,7 @@ ehcleanup47: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar26) #29 br label %ehcleanup78 -lpad55.body: ; preds = %cond.true.i.i.i.i.i.i.i +lpad55.body: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %37 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65 @@ -122839,8 +122855,8 @@ ehcleanup77: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar48) #29 br label %ehcleanup78 -ehcleanup78: ; preds = %lpad, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, %ehcleanup77, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65, %ehcleanup47, %ehcleanup25 - %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup77 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65 ], [ %.pn3.pn, %ehcleanup47 ], [ %.pn.pn, %ehcleanup25 ], [ %12, %lpad ], [ %34, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i ] +ehcleanup78: ; preds = %lpad, %ehcleanup.i, %ehcleanup77, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65, %ehcleanup47, %ehcleanup25 + %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup77 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65 ], [ %.pn3.pn, %ehcleanup47 ], [ %.pn.pn, %ehcleanup25 ], [ %12, %lpad ], [ %34, %ehcleanup.i ] call fastcc void @_ZN4absl13InlinedVectorIN12_GLOBAL__N_129MoveConstructibleOnlyInstanceELm2ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %v) #29 call void @_ZN4absl13test_internal15InstanceTrackerD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %tracker) #29 resume { ptr, i32 } %.pn8.pn.pn @@ -123185,14 +123201,14 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit55: ; preds = %if.end49, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i54 store ptr null, ptr %message_.i52, align 8 %call5.i.i.i.i2.i6.i.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 - to label %cond.true.i.i.i.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, !noalias !2886 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %ehcleanup.i, !noalias !2886 -_ZNSt6vectorIiSaIiEED2Ev.exit10.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 +ehcleanup.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 %36 = landingpad { ptr, i32 } cleanup br label %ehcleanup81 -cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit55 store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, align 4, !noalias !2886 %ref.tmp55.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 4 store i32 2, ptr %ref.tmp55.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i.sroa_idx, align 4, !noalias !2886 @@ -123201,10 +123217,10 @@ cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15Assert %call5.i.i.i.i2.i6.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 to label %invoke.cont59 unwind label %lpad58.body, !noalias !2889 -invoke.cont59: ; preds = %cond.true.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 3 +invoke.cont59: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i3.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 12, i1 false), !noalias !2889 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar51, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.448, ptr noundef nonnull align 8 dereferenceable(24) %inlined) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 12 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar51, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.448, ptr noundef nonnull align 8 dereferenceable(24) %inlined) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit63 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont59 @@ -123220,7 +123236,7 @@ ehcleanup50: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar29) #29 br label %ehcleanup81 -lpad58.body: ; preds = %cond.true.i.i.i.i.i.i.i +lpad58.body: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %39 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 @@ -123447,8 +123463,8 @@ ehcleanup80: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar51) #29 br label %ehcleanup81 -ehcleanup81: ; preds = %lpad3, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, %ehcleanup80, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66, %ehcleanup50, %ehcleanup28 - %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup80 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 ], [ %.pn3.pn, %ehcleanup50 ], [ %.pn.pn, %ehcleanup28 ], [ %14, %lpad3 ], [ %36, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i ] +ehcleanup81: ; preds = %lpad3, %ehcleanup.i, %ehcleanup80, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66, %ehcleanup50, %ehcleanup28 + %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup80 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit66 ], [ %.pn3.pn, %ehcleanup50 ], [ %.pn.pn, %ehcleanup28 ], [ %14, %lpad3 ], [ %36, %ehcleanup.i ] call fastcc void @_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %allocated) #29 br label %ehcleanup82 @@ -123599,7 +123615,7 @@ _ZN4absl23inlined_vector_internal7StorageIN12_GLOBAL__N_120NonSwappableInstanceE ret void } -; Function Attrs: mustprogress nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable +; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable define internal fastcc void @_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EE4swapERS4_(ptr noundef nonnull align 8 dereferenceable(24) %this, ptr noundef nonnull align 8 dereferenceable(24) %other) unnamed_addr #22 align 2 personality ptr @__gxx_personality_v0 { entry: %__tmp.i.i = alloca %"struct.absl::inlined_vector_internal::Storage<(anonymous namespace)::NonSwappableInstance, 2, std::allocator<(anonymous namespace)::NonSwappableInstance>>::Allocated", align 8 @@ -123885,21 +123901,20 @@ call.i.i1.i.i.i.i.i.i.i3.i.noexc.i.i.i.i.i: ; preds = %call.i.i.i.i.i2.i.n %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %this.16.val to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %this.8.val to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 2 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %rhs_.i.i.i.i.i.i, i8 0, i64 24, i1 false), !noalias !2910 %cmp.not.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %this.16.val, %this.8.val br i1 %cmp.not.i.i.i.i.i.i.i.i.i.i, label %invoke.cont.i.i.thread.i.i.i.i.i, label %cond.true.i.i.i.i.i.i.i.i.i.i invoke.cont.i.i.thread.i.i.i.i.i: ; preds = %call.i.i1.i.i.i.i.i.i.i3.i.noexc.i.i.i.i.i %_M_finish.i.i.i.i2.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher<(anonymous namespace)::HasValueMatcher, std::vector>::Impl.1238", ptr %call.i.i.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 - %add.ptr.i.i.i.i3.i.i.i.i.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i3.i.i.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i4.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher<(anonymous namespace)::HasValueMatcher, std::vector>::Impl.1238", ptr %call.i.i.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %rhs_.i.i.i.i.i.i, i8 0, i64 16, i1 false), !noalias !2910 store ptr %add.ptr.i.i.i.i3.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i4.i.i.i.i.i, align 8, !noalias !2910 br label %_ZN7testing15SafeMatcherCastIRKN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS4_EEENS_8internal16PointwiseMatcherINS3_15HasValueMatcherESt6vectorIiSaIiEEEEEENS_7MatcherIT_EERKT0_.exit cond.true.i.i.i.i.i.i.i.i.i.i: ; preds = %call.i.i1.i.i.i.i.i.i.i3.i.noexc.i.i.i.i.i - %cmp.i.i.i.i.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i.i.i.i.i.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i.i.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %cond.true.i.i.i.i.i.i.i.i.i.i @@ -123917,7 +123932,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt16allocator_tr store ptr %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, ptr %rhs_.i.i.i.i.i.i, align 8, !noalias !2910 %_M_finish.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher<(anonymous namespace)::HasValueMatcher, std::vector>::Impl.1238", ptr %call.i.i.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 1 store ptr %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i.i.i.i.i.i, align 8, !noalias !2910 - %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, i64 %sub.ptr.div.i.i.i.i.i.i.i.i + %add.ptr.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i %_M_end_of_storage.i.i.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::PointwiseMatcher<(anonymous namespace)::HasValueMatcher, std::vector>::Impl.1238", ptr %call.i.i.i.i.i, i64 0, i32 2, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i.i.i.i.i.i.i, ptr %_M_end_of_storage.i.i.i.i.i.i.i.i.i, align 8, !noalias !2910 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, ptr align 4 %this.8.val, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false), !noalias !2910 @@ -123944,9 +123959,10 @@ lpad.body.i.i.i.i.i: ; preds = %lpad.i.i.i.i.i, %lp br label %common.resume _ZN7testing15SafeMatcherCastIRKN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS4_EEENS_8internal16PointwiseMatcherINS3_15HasValueMatcherESt6vectorIiSaIiEEEEEENS_7MatcherIT_EERKT0_.exit: ; preds = %invoke.cont.i.i.thread.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i - %add.ptr.i.i.i.i6.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i.i3.i.i.i.i.i, %invoke.cont.i.i.thread.i.i.i.i.i ], [ %add.ptr.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] - %_M_finish.i.i.i.i5.i.i.i.i.i = phi ptr [ %_M_finish.i.i.i.i2.i.i.i.i.i, %invoke.cont.i.i.thread.i.i.i.i.i ], [ %_M_finish.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] - store ptr %add.ptr.i.i.i.i6.i.i.i.i.i, ptr %_M_finish.i.i.i.i5.i.i.i.i.i, align 8, !noalias !2910 + %_M_finish.i.i.i.i6.i.i.i.i.i = phi ptr [ %_M_finish.i.i.i.i2.i.i.i.i.i, %invoke.cont.i.i.thread.i.i.i.i.i ], [ %_M_finish.i.i.i.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] + %cond.i.i.i.i.i5.i.i.i.i.i = phi ptr [ null, %invoke.cont.i.i.thread.i.i.i.i.i ], [ %call5.i.i.i.i2.i6.i4.i.i.i.i.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i.i.i.i.i5.i.i.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i.i6.i.i.i.i.i, align 8, !noalias !2910 %vtable_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.1235", ptr %matcher, i64 0, i32 1 %buffer_.i.i.i.i.i.i.i = getelementptr inbounds %"class.testing::internal::MatcherBase.1235", ptr %matcher, i64 0, i32 2 store ptr @_ZZN7testing8internal11MatcherBaseIRKN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS5_EEEE9GetVTableINSA_11ValuePolicyIPKNS_16MatcherInterfaceIS9_EELb1EEEEEPKNSA_6VTableEvE7kVTable, ptr %vtable_.i.i.i.i.i.i.i, align 8, !alias.scope !2910 @@ -126185,9 +126201,9 @@ _ZN7testing15AssertionResultD2Ev.exit66: ; preds = %if.end43, %_ZNKSt14 to label %invoke.cont52 unwind label %lpad51.body, !noalias !2929 invoke.cont52: ; preds = %_ZN7testing15AssertionResultD2Ev.exit66 - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 1 store i32 2, ptr %call5.i.i.i.i2.i6.i.i.i3.i, align 4 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar45, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.460, ptr noundef nonnull align 8 dereferenceable(24) %inlined_a) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 4 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar45, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.460, ptr noundef nonnull align 8 dereferenceable(24) %inlined_a) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit74 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont52 @@ -126299,21 +126315,21 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit97: ; preds = %if.end72, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96 store ptr null, ptr %message_.i94, align 8 - %call5.i.i.i.i2.i6.i.i.i3.i115 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #33 + %call5.i.i.i.i2.i6.i.i.i3.i116 = invoke noalias noundef nonnull dereferenceable(4) ptr @_Znwm(i64 noundef 4) #33 to label %invoke.cont87 unwind label %lpad86.body, !noalias !2932 invoke.cont87: ; preds = %_ZN7testing15AssertionResultD2Ev.exit97 - %add.ptr.i.i.i.i.i.i120 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i115, i64 1 - store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i3.i115, align 4 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar74, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i115, ptr nonnull %add.ptr.i.i.i.i.i.i120, ptr noundef nonnull @.str.462, ptr noundef nonnull align 8 dereferenceable(24) %inlined_b) - to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit137 unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit141 + store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i3.i116, align 4 + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i122 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i116, i64 4 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar74, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i116, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i122, ptr noundef nonnull @.str.462, ptr noundef nonnull align 8 dereferenceable(24) %inlined_b) + to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit138 unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit142 -_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit137: ; preds = %invoke.cont87 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i3.i115) #32 +_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit138: ; preds = %invoke.cont87 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i3.i116) #32 %49 = load i8, ptr %gtest_ar74, align 8 %50 = and i8 %49, 1 - %tobool.i138.not = icmp eq i8 %50, 0 - br i1 %tobool.i138.not, label %if.else94, label %if.end107 + %tobool.i139.not = icmp eq i8 %50, 0 + br i1 %tobool.i139.not, label %if.else94, label %if.end107 ehcleanup73: ; preds = %_ZN7testing7MessageD2Ev.exit93, %lpad61 %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit93 ], [ %43, %lpad61 ] @@ -126325,29 +126341,29 @@ lpad86.body: ; preds = %_ZN7testing15Assert cleanup br label %ehcleanup109 -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit141: ; preds = %invoke.cont87 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit142: ; preds = %invoke.cont87 %52 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i3.i115) #32 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i3.i116) #32 br label %ehcleanup109 -if.else94: ; preds = %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit137 +if.else94: ; preds = %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit138 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp95) to label %invoke.cont97 unwind label %lpad96 invoke.cont97: ; preds = %if.else94 - %message_.i.i145 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar74, i64 0, i32 1 - %53 = load ptr, ptr %message_.i.i145, align 8 - %cmp.i.i.not.i.i146 = icmp eq ptr %53, null - br i1 %cmp.i.i.not.i.i146, label %invoke.cont100, label %cond.true.i.i147 + %message_.i.i146 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar74, i64 0, i32 1 + %53 = load ptr, ptr %message_.i.i146, align 8 + %cmp.i.i.not.i.i147 = icmp eq ptr %53, null + br i1 %cmp.i.i.not.i.i147, label %invoke.cont100, label %cond.true.i.i148 -cond.true.i.i147: ; preds = %invoke.cont97 - %call4.i.i148 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #29 +cond.true.i.i148: ; preds = %invoke.cont97 + %call4.i.i149 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #29 br label %invoke.cont100 -invoke.cont100: ; preds = %cond.true.i.i147, %invoke.cont97 - %cond.i.i149 = phi ptr [ %call4.i.i148, %cond.true.i.i147 ], [ @.str.202, %invoke.cont97 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp98, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 2057, ptr noundef %cond.i.i149) +invoke.cont100: ; preds = %cond.true.i.i148, %invoke.cont97 + %cond.i.i150 = phi ptr [ %call4.i.i149, %cond.true.i.i148 ], [ @.str.202, %invoke.cont97 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp98, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 2057, ptr noundef %cond.i.i150) to label %invoke.cont102 unwind label %lpad99 invoke.cont102: ; preds = %invoke.cont100 @@ -126357,17 +126373,17 @@ invoke.cont102: ; preds = %invoke.cont100 invoke.cont104: ; preds = %invoke.cont102 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp98) #29 %54 = load ptr, ptr %ref.tmp95, align 8 - %cmp.not.i.i151 = icmp eq ptr %54, null - br i1 %cmp.not.i.i151, label %_ZN7testing7MessageD2Ev.exit155, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 + %cmp.not.i.i152 = icmp eq ptr %54, null + br i1 %cmp.not.i.i152, label %_ZN7testing7MessageD2Ev.exit156, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152: ; preds = %invoke.cont104 - %vtable.i.i.i153 = load ptr, ptr %54, align 8 - %vfn.i.i.i154 = getelementptr inbounds ptr, ptr %vtable.i.i.i153, i64 1 - %55 = load ptr, ptr %vfn.i.i.i154, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153: ; preds = %invoke.cont104 + %vtable.i.i.i154 = load ptr, ptr %54, align 8 + %vfn.i.i.i155 = getelementptr inbounds ptr, ptr %vtable.i.i.i154, i64 1 + %55 = load ptr, ptr %vfn.i.i.i155, align 8 call void %55(ptr noundef nonnull align 8 dereferenceable(128) %54) #29 - br label %_ZN7testing7MessageD2Ev.exit155 + br label %_ZN7testing7MessageD2Ev.exit156 -_ZN7testing7MessageD2Ev.exit155: ; preds = %invoke.cont104, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 +_ZN7testing7MessageD2Ev.exit156: ; preds = %invoke.cont104, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 store ptr null, ptr %ref.tmp95, align 8 br label %if.end107 @@ -126390,47 +126406,47 @@ lpad103: ; preds = %invoke.cont102 ehcleanup106: ; preds = %lpad103, %lpad99 %.pn13 = phi { ptr, i32 } [ %58, %lpad103 ], [ %57, %lpad99 ] %59 = load ptr, ptr %ref.tmp95, align 8 - %cmp.not.i.i156 = icmp eq ptr %59, null - br i1 %cmp.not.i.i156, label %_ZN7testing7MessageD2Ev.exit160, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157 + %cmp.not.i.i157 = icmp eq ptr %59, null + br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157: ; preds = %ehcleanup106 - %vtable.i.i.i158 = load ptr, ptr %59, align 8 - %vfn.i.i.i159 = getelementptr inbounds ptr, ptr %vtable.i.i.i158, i64 1 - %60 = load ptr, ptr %vfn.i.i.i159, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %ehcleanup106 + %vtable.i.i.i159 = load ptr, ptr %59, align 8 + %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 + %60 = load ptr, ptr %vfn.i.i.i160, align 8 call void %60(ptr noundef nonnull align 8 dereferenceable(128) %59) #29 - br label %_ZN7testing7MessageD2Ev.exit160 + br label %_ZN7testing7MessageD2Ev.exit161 -_ZN7testing7MessageD2Ev.exit160: ; preds = %ehcleanup106, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157 +_ZN7testing7MessageD2Ev.exit161: ; preds = %ehcleanup106, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 store ptr null, ptr %ref.tmp95, align 8 br label %ehcleanup108 -if.end107: ; preds = %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit137, %_ZN7testing7MessageD2Ev.exit155 - %message_.i161 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar74, i64 0, i32 1 - %61 = load ptr, ptr %message_.i161, align 8 - %cmp.not.i.i162 = icmp eq ptr %61, null - br i1 %cmp.not.i.i162, label %_ZN7testing15AssertionResultD2Ev.exit164, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +if.end107: ; preds = %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit138, %_ZN7testing7MessageD2Ev.exit156 + %message_.i162 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar74, i64 0, i32 1 + %61 = load ptr, ptr %message_.i162, align 8 + %cmp.not.i.i163 = icmp eq ptr %61, null + br i1 %cmp.not.i.i163, label %_ZN7testing15AssertionResultD2Ev.exit165, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %if.end107 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164: ; preds = %if.end107 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #29 call void @_ZdlPv(ptr noundef nonnull %61) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit164 + br label %_ZN7testing15AssertionResultD2Ev.exit165 -_ZN7testing15AssertionResultD2Ev.exit164: ; preds = %if.end107, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 - store ptr null, ptr %message_.i161, align 8 +_ZN7testing15AssertionResultD2Ev.exit165: ; preds = %if.end107, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 + store ptr null, ptr %message_.i162, align 8 %62 = load i64, ptr %inlined_b, align 8 - %cmp.i.i165 = icmp eq i64 %62, 0 - br i1 %cmp.i.i165, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, label %if.end.i.i166 + %cmp.i.i166 = icmp eq i64 %62, 0 + br i1 %cmp.i.i166, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, label %if.end.i.i167 -if.end.i.i166: ; preds = %_ZN7testing15AssertionResultD2Ev.exit164 +if.end.i.i167: ; preds = %_ZN7testing15AssertionResultD2Ev.exit165 %and.i.i.i.i = and i64 %62, 1 %tobool.i.not.i.i.i = icmp eq i64 %and.i.i.i.i, 0 %63 = getelementptr inbounds i8, ptr %inlined_b, i64 8 %this.val1.i.i.i = load ptr, ptr %63, align 8 %cond.i.i.i = select i1 %tobool.i.not.i.i.i, ptr %63, ptr %this.val1.i.i.i %cmp.not4.i.i.i.i = icmp eq i64 %62, 1 - br i1 %cmp.not4.i.i.i.i, label %if.then.i.i.i.i167, label %for.body.preheader.i.i.i.i + br i1 %cmp.not4.i.i.i.i, label %if.then.i.i.i.i168, label %for.body.preheader.i.i.i.i -for.body.preheader.i.i.i.i: ; preds = %if.end.i.i166 +for.body.preheader.i.i.i.i: ; preds = %if.end.i.i167 %shr.i.i.i.i = lshr i64 %62, 1 %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 @@ -126460,72 +126476,72 @@ _ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_E br i1 %cmp.not.i.i.i.i, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, label %for.body.i.i.i.i, !llvm.loop !2892 _ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i - br i1 %tobool.i.not.i.i.i, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, label %if.then.i.i.i.i167 + br i1 %tobool.i.not.i.i.i, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, label %if.then.i.i.i.i168 -if.then.i.i.i.i167: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.end.i.i166 +if.then.i.i.i.i168: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.end.i.i167 call void @_ZdlPv(ptr noundef %this.val1.i.i.i) #32 br label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit -_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit164, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.then.i.i.i.i167 +_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit165, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.then.i.i.i.i168 %66 = load i64, ptr %inlined_a, align 8 - %cmp.i.i168 = icmp eq i64 %66, 0 - br i1 %cmp.i.i168, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197, label %if.end.i.i169 + %cmp.i.i169 = icmp eq i64 %66, 0 + br i1 %cmp.i.i169, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198, label %if.end.i.i170 -if.end.i.i169: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit - %and.i.i.i.i170 = and i64 %66, 1 - %tobool.i.not.i.i.i171 = icmp eq i64 %and.i.i.i.i170, 0 +if.end.i.i170: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit + %and.i.i.i.i171 = and i64 %66, 1 + %tobool.i.not.i.i.i172 = icmp eq i64 %and.i.i.i.i171, 0 %67 = getelementptr inbounds i8, ptr %inlined_a, i64 8 - %this.val1.i.i.i172 = load ptr, ptr %67, align 8 - %cond.i.i.i173 = select i1 %tobool.i.not.i.i.i171, ptr %67, ptr %this.val1.i.i.i172 - %cmp.not4.i.i.i.i174 = icmp eq i64 %66, 1 - br i1 %cmp.not4.i.i.i.i174, label %if.then.i.i.i.i196, label %for.body.preheader.i.i.i.i175 - -for.body.preheader.i.i.i.i175: ; preds = %if.end.i.i169 - %shr.i.i.i.i176 = lshr i64 %66, 1 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i177 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i178 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i179 - -for.body.i.i.i.i179: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189, %for.body.preheader.i.i.i.i175 - %i.07.i.i.i.i180 = phi i64 [ %dec.i.i.i.i183, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 ], [ %shr.i.i.i.i176, %for.body.preheader.i.i.i.i175 ] - %dec.i.i.i.i16.i.i.i.i181 = phi i32 [ %dec.i.i.i.i.i.i.i.i185, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i178, %for.body.preheader.i.i.i.i175 ] - %dec2.i.i.i.i35.i.i.i.i182 = phi i32 [ %dec2.i.i.i.i2.i.i.i.i190, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i177, %for.body.preheader.i.i.i.i175 ] - %dec.i.i.i.i183 = add nsw i64 %i.07.i.i.i.i180, -1 - %68 = getelementptr %"class.(anonymous namespace)::NonSwappableInstance", ptr %cond.i.i.i173, i64 %dec.i.i.i.i183, i32 0, i32 1 - %add.ptr.val.i.i.i.i184 = load i8, ptr %68, align 4 - %dec.i.i.i.i.i.i.i.i185 = add nsw i32 %dec.i.i.i.i16.i.i.i.i181, -1 - store i32 %dec.i.i.i.i.i.i.i.i185, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %69 = and i8 %add.ptr.val.i.i.i.i184, 1 - %tobool.not.i.i.i.i.i.i.i.i186 = icmp eq i8 %69, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i186, label %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189, label %if.then.i.i.i.i.i.i.i.i187 - -if.then.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i179 - %dec2.i.i.i.i.i.i.i.i188 = add nsw i32 %dec2.i.i.i.i35.i.i.i.i182, -1 - store i32 %dec2.i.i.i.i.i.i.i.i188, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 - -_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189: ; preds = %if.then.i.i.i.i.i.i.i.i187, %for.body.i.i.i.i179 - %dec2.i.i.i.i2.i.i.i.i190 = phi i32 [ %dec2.i.i.i.i35.i.i.i.i182, %for.body.i.i.i.i179 ], [ %dec2.i.i.i.i.i.i.i.i188, %if.then.i.i.i.i.i.i.i.i187 ] - %cmp.not.i.i.i.i191 = icmp eq i64 %dec.i.i.i.i183, 0 - br i1 %cmp.not.i.i.i.i191, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i192, label %for.body.i.i.i.i179, !llvm.loop !2892 - -_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i192: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 - br i1 %tobool.i.not.i.i.i171, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197, label %if.then.i.i.i.i196 - -if.then.i.i.i.i196: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i192, %if.end.i.i169 - call void @_ZdlPv(ptr noundef %this.val1.i.i.i172) #32 - br label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197 - -_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i192, %if.then.i.i.i.i196 + %this.val1.i.i.i173 = load ptr, ptr %67, align 8 + %cond.i.i.i174 = select i1 %tobool.i.not.i.i.i172, ptr %67, ptr %this.val1.i.i.i173 + %cmp.not4.i.i.i.i175 = icmp eq i64 %66, 1 + br i1 %cmp.not4.i.i.i.i175, label %if.then.i.i.i.i197, label %for.body.preheader.i.i.i.i176 + +for.body.preheader.i.i.i.i176: ; preds = %if.end.i.i170 + %shr.i.i.i.i177 = lshr i64 %66, 1 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i178 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i179 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i180 + +for.body.i.i.i.i180: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190, %for.body.preheader.i.i.i.i176 + %i.07.i.i.i.i181 = phi i64 [ %dec.i.i.i.i184, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 ], [ %shr.i.i.i.i177, %for.body.preheader.i.i.i.i176 ] + %dec.i.i.i.i16.i.i.i.i182 = phi i32 [ %dec.i.i.i.i.i.i.i.i186, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i179, %for.body.preheader.i.i.i.i176 ] + %dec2.i.i.i.i35.i.i.i.i183 = phi i32 [ %dec2.i.i.i.i2.i.i.i.i191, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i178, %for.body.preheader.i.i.i.i176 ] + %dec.i.i.i.i184 = add nsw i64 %i.07.i.i.i.i181, -1 + %68 = getelementptr %"class.(anonymous namespace)::NonSwappableInstance", ptr %cond.i.i.i174, i64 %dec.i.i.i.i184, i32 0, i32 1 + %add.ptr.val.i.i.i.i185 = load i8, ptr %68, align 4 + %dec.i.i.i.i.i.i.i.i186 = add nsw i32 %dec.i.i.i.i16.i.i.i.i182, -1 + store i32 %dec.i.i.i.i.i.i.i.i186, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %69 = and i8 %add.ptr.val.i.i.i.i185, 1 + %tobool.not.i.i.i.i.i.i.i.i187 = icmp eq i8 %69, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i187, label %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190, label %if.then.i.i.i.i.i.i.i.i188 + +if.then.i.i.i.i.i.i.i.i188: ; preds = %for.body.i.i.i.i180 + %dec2.i.i.i.i.i.i.i.i189 = add nsw i32 %dec2.i.i.i.i35.i.i.i.i183, -1 + store i32 %dec2.i.i.i.i.i.i.i.i189, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 + +_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190: ; preds = %if.then.i.i.i.i.i.i.i.i188, %for.body.i.i.i.i180 + %dec2.i.i.i.i2.i.i.i.i191 = phi i32 [ %dec2.i.i.i.i35.i.i.i.i183, %for.body.i.i.i.i180 ], [ %dec2.i.i.i.i.i.i.i.i189, %if.then.i.i.i.i.i.i.i.i188 ] + %cmp.not.i.i.i.i192 = icmp eq i64 %dec.i.i.i.i184, 0 + br i1 %cmp.not.i.i.i.i192, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i193, label %for.body.i.i.i.i180, !llvm.loop !2892 + +_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i193: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 + br i1 %tobool.i.not.i.i.i172, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198, label %if.then.i.i.i.i197 + +if.then.i.i.i.i197: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i193, %if.end.i.i170 + call void @_ZdlPv(ptr noundef %this.val1.i.i.i173) #32 + br label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198 + +_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i193, %if.then.i.i.i.i197 %70 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 %cmp.not.i = icmp eq i32 %70, %0 br i1 %cmp.not.i, label %if.end.i, label %if.then.i -if.then.i: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197 +if.then.i: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198 call void @abort() #28 unreachable -if.end.i: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197 +if.end.i: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198 %71 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %cmp3.not.i = icmp eq i32 %71, %1 br i1 %cmp3.not.i, label %_ZN4absl13test_internal15InstanceTrackerD2Ev.exit, label %if.then4.i @@ -126537,13 +126553,13 @@ if.then4.i: ; preds = %if.end.i _ZN4absl13test_internal15InstanceTrackerD2Ev.exit: ; preds = %if.end.i ret void -ehcleanup108: ; preds = %_ZN7testing7MessageD2Ev.exit160, %lpad96 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit160 ], [ %56, %lpad96 ] +ehcleanup108: ; preds = %_ZN7testing7MessageD2Ev.exit161, %lpad96 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit161 ], [ %56, %lpad96 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar74) #29 br label %ehcleanup109 -ehcleanup109: ; preds = %lpad86.body, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit141, %lpad51.body, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit74, %lpad3, %ehcleanup108, %ehcleanup73, %ehcleanup44, %ehcleanup22 - %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup108 ], [ %.pn8.pn, %ehcleanup73 ], [ %.pn3.pn, %ehcleanup44 ], [ %.pn.pn, %ehcleanup22 ], [ %14, %lpad3 ], [ %39, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit74 ], [ %38, %lpad51.body ], [ %52, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit141 ], [ %51, %lpad86.body ] +ehcleanup109: ; preds = %lpad86.body, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit142, %lpad51.body, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit74, %lpad3, %ehcleanup108, %ehcleanup73, %ehcleanup44, %ehcleanup22 + %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup108 ], [ %.pn8.pn, %ehcleanup73 ], [ %.pn3.pn, %ehcleanup44 ], [ %.pn.pn, %ehcleanup22 ], [ %14, %lpad3 ], [ %39, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit74 ], [ %38, %lpad51.body ], [ %52, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit142 ], [ %51, %lpad86.body ] call fastcc void @_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %inlined_b) #29 br label %ehcleanup110 @@ -126908,22 +126924,22 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit66: ; preds = %if.end58, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i65 store ptr null, ptr %message_.i63, align 8 %call5.i.i.i.i2.i6.i.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #33 - to label %cond.true.i.i.i.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, !noalias !2935 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %ehcleanup.i, !noalias !2935 -_ZNSt6vectorIiSaIiEED2Ev.exit10.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit66 +ehcleanup.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit66 %36 = landingpad { ptr, i32 } cleanup br label %ehcleanup128 -cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit66 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit66 store <4 x i32> , ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, align 4, !noalias !2935 %call5.i.i.i.i2.i6.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #33 to label %invoke.cont69 unwind label %lpad68.body, !noalias !2938 -invoke.cont69: ; preds = %cond.true.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 4 +invoke.cont69: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i3.i, ptr noundef nonnull align 4 dereferenceable(16) %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 16, i1 false), !noalias !2938 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar60, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.461, ptr noundef nonnull align 8 dereferenceable(24) %allocated_a) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 16 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar60, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.461, ptr noundef nonnull align 8 dereferenceable(24) %allocated_a) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit74 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont69 @@ -126939,7 +126955,7 @@ ehcleanup59: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar38) #29 br label %ehcleanup128 -lpad68.body: ; preds = %cond.true.i.i.i.i.i.i.i +lpad68.body: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %39 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit77 @@ -127042,74 +127058,74 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit97: ; preds = %if.end89, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i96 store ptr null, ptr %message_.i94, align 8 %call5.i.i.i.i2.i6.i.i.i.i3.i99 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 - to label %cond.true.i.i.i.i.i.i.i113 unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit10.i100, !noalias !2941 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i114 unwind label %ehcleanup.i100, !noalias !2941 -_ZNSt6vectorIiSaIiEED2Ev.exit10.i100: ; preds = %_ZN7testing15AssertionResultD2Ev.exit97 +ehcleanup.i100: ; preds = %_ZN7testing15AssertionResultD2Ev.exit97 %50 = landingpad { ptr, i32 } cleanup br label %ehcleanup128 -cond.true.i.i.i.i.i.i.i113: ; preds = %_ZN7testing15AssertionResultD2Ev.exit97 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i114: ; preds = %_ZN7testing15AssertionResultD2Ev.exit97 store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i99, align 4, !noalias !2941 %ref.tmp97.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i99.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i99, i64 4 store i32 2, ptr %ref.tmp97.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i99.sroa_idx, align 4, !noalias !2941 %ref.tmp97.sroa.3.0.call5.i.i.i.i2.i6.i.i.i.i3.i99.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i99, i64 8 store i32 3, ptr %ref.tmp97.sroa.3.0.call5.i.i.i.i2.i6.i.i.i.i3.i99.sroa_idx, align 4, !noalias !2941 - %call5.i.i.i.i2.i6.i.i.i3.i115 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 + %call5.i.i.i.i2.i6.i.i.i3.i116 = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 to label %invoke.cont106 unwind label %lpad105.body, !noalias !2944 -invoke.cont106: ; preds = %cond.true.i.i.i.i.i.i.i113 - %add.ptr.i.i.i.i.i.i120 = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i115, i64 3 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i3.i115, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i3.i99, i64 12, i1 false), !noalias !2944 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar91, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i115, ptr nonnull %add.ptr.i.i.i.i.i.i120, ptr noundef nonnull @.str.463, ptr noundef nonnull align 8 dereferenceable(24) %allocated_b) - to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit137 unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit141 +invoke.cont106: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i114 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i3.i116, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i3.i99, i64 12, i1 false), !noalias !2944 + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i122 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i116, i64 12 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar91, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i116, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i122, ptr noundef nonnull @.str.463, ptr noundef nonnull align 8 dereferenceable(24) %allocated_b) + to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit138 unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit142 -_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit137: ; preds = %invoke.cont106 - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i3.i115) #32 +_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit138: ; preds = %invoke.cont106 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i3.i116) #32 call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i.i3.i99) #32 %51 = load i8, ptr %gtest_ar91, align 8 %52 = and i8 %51, 1 - %tobool.i138.not = icmp eq i8 %52, 0 - br i1 %tobool.i138.not, label %if.else113, label %if.end126 + %tobool.i139.not = icmp eq i8 %52, 0 + br i1 %tobool.i139.not, label %if.else113, label %if.end126 ehcleanup90: ; preds = %_ZN7testing7MessageD2Ev.exit93, %lpad78 %.pn8.pn = phi { ptr, i32 } [ %.pn8, %_ZN7testing7MessageD2Ev.exit93 ], [ %44, %lpad78 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar60) #29 br label %ehcleanup128 -lpad105.body: ; preds = %cond.true.i.i.i.i.i.i.i113 +lpad105.body: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i114 %53 = landingpad { ptr, i32 } cleanup - br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit144 + br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit145 -_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit141: ; preds = %invoke.cont106 +_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit142: ; preds = %invoke.cont106 %54 = landingpad { ptr, i32 } cleanup - call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i3.i115) #32 - br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit144 + call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i3.i116) #32 + br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit145 -_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit144: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit141, %lpad105.body - %.pn11 = phi { ptr, i32 } [ %54, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit141 ], [ %53, %lpad105.body ] +_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit145: ; preds = %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit142, %lpad105.body + %.pn11 = phi { ptr, i32 } [ %54, %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit142 ], [ %53, %lpad105.body ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i2.i6.i.i.i.i3.i99) #32 br label %ehcleanup128 -if.else113: ; preds = %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit137 +if.else113: ; preds = %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit138 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp114) to label %invoke.cont116 unwind label %lpad115 invoke.cont116: ; preds = %if.else113 - %message_.i.i145 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar91, i64 0, i32 1 - %55 = load ptr, ptr %message_.i.i145, align 8 - %cmp.i.i.not.i.i146 = icmp eq ptr %55, null - br i1 %cmp.i.i.not.i.i146, label %invoke.cont119, label %cond.true.i.i147 + %message_.i.i146 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar91, i64 0, i32 1 + %55 = load ptr, ptr %message_.i.i146, align 8 + %cmp.i.i.not.i.i147 = icmp eq ptr %55, null + br i1 %cmp.i.i.not.i.i147, label %invoke.cont119, label %cond.true.i.i148 -cond.true.i.i147: ; preds = %invoke.cont116 - %call4.i.i148 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %55) #29 +cond.true.i.i148: ; preds = %invoke.cont116 + %call4.i.i149 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %55) #29 br label %invoke.cont119 -invoke.cont119: ; preds = %cond.true.i.i147, %invoke.cont116 - %cond.i.i149 = phi ptr [ %call4.i.i148, %cond.true.i.i147 ], [ @.str.202, %invoke.cont116 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp117, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 2079, ptr noundef %cond.i.i149) +invoke.cont119: ; preds = %cond.true.i.i148, %invoke.cont116 + %cond.i.i150 = phi ptr [ %call4.i.i149, %cond.true.i.i148 ], [ @.str.202, %invoke.cont116 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp117, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 2079, ptr noundef %cond.i.i150) to label %invoke.cont121 unwind label %lpad118 invoke.cont121: ; preds = %invoke.cont119 @@ -127119,17 +127135,17 @@ invoke.cont121: ; preds = %invoke.cont119 invoke.cont123: ; preds = %invoke.cont121 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp117) #29 %56 = load ptr, ptr %ref.tmp114, align 8 - %cmp.not.i.i151 = icmp eq ptr %56, null - br i1 %cmp.not.i.i151, label %_ZN7testing7MessageD2Ev.exit155, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 + %cmp.not.i.i152 = icmp eq ptr %56, null + br i1 %cmp.not.i.i152, label %_ZN7testing7MessageD2Ev.exit156, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152: ; preds = %invoke.cont123 - %vtable.i.i.i153 = load ptr, ptr %56, align 8 - %vfn.i.i.i154 = getelementptr inbounds ptr, ptr %vtable.i.i.i153, i64 1 - %57 = load ptr, ptr %vfn.i.i.i154, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153: ; preds = %invoke.cont123 + %vtable.i.i.i154 = load ptr, ptr %56, align 8 + %vfn.i.i.i155 = getelementptr inbounds ptr, ptr %vtable.i.i.i154, i64 1 + %57 = load ptr, ptr %vfn.i.i.i155, align 8 call void %57(ptr noundef nonnull align 8 dereferenceable(128) %56) #29 - br label %_ZN7testing7MessageD2Ev.exit155 + br label %_ZN7testing7MessageD2Ev.exit156 -_ZN7testing7MessageD2Ev.exit155: ; preds = %invoke.cont123, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i152 +_ZN7testing7MessageD2Ev.exit156: ; preds = %invoke.cont123, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i153 store ptr null, ptr %ref.tmp114, align 8 br label %if.end126 @@ -127152,47 +127168,47 @@ lpad122: ; preds = %invoke.cont121 ehcleanup125: ; preds = %lpad122, %lpad118 %.pn13 = phi { ptr, i32 } [ %60, %lpad122 ], [ %59, %lpad118 ] %61 = load ptr, ptr %ref.tmp114, align 8 - %cmp.not.i.i156 = icmp eq ptr %61, null - br i1 %cmp.not.i.i156, label %_ZN7testing7MessageD2Ev.exit160, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157 + %cmp.not.i.i157 = icmp eq ptr %61, null + br i1 %cmp.not.i.i157, label %_ZN7testing7MessageD2Ev.exit161, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157: ; preds = %ehcleanup125 - %vtable.i.i.i158 = load ptr, ptr %61, align 8 - %vfn.i.i.i159 = getelementptr inbounds ptr, ptr %vtable.i.i.i158, i64 1 - %62 = load ptr, ptr %vfn.i.i.i159, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158: ; preds = %ehcleanup125 + %vtable.i.i.i159 = load ptr, ptr %61, align 8 + %vfn.i.i.i160 = getelementptr inbounds ptr, ptr %vtable.i.i.i159, i64 1 + %62 = load ptr, ptr %vfn.i.i.i160, align 8 call void %62(ptr noundef nonnull align 8 dereferenceable(128) %61) #29 - br label %_ZN7testing7MessageD2Ev.exit160 + br label %_ZN7testing7MessageD2Ev.exit161 -_ZN7testing7MessageD2Ev.exit160: ; preds = %ehcleanup125, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i157 +_ZN7testing7MessageD2Ev.exit161: ; preds = %ehcleanup125, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i158 store ptr null, ptr %ref.tmp114, align 8 br label %ehcleanup127 -if.end126: ; preds = %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit137, %_ZN7testing7MessageD2Ev.exit155 - %message_.i161 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar91, i64 0, i32 1 - %63 = load ptr, ptr %message_.i161, align 8 - %cmp.not.i.i162 = icmp eq ptr %63, null - br i1 %cmp.not.i.i162, label %_ZN7testing15AssertionResultD2Ev.exit164, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 +if.end126: ; preds = %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit138, %_ZN7testing7MessageD2Ev.exit156 + %message_.i162 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar91, i64 0, i32 1 + %63 = load ptr, ptr %message_.i162, align 8 + %cmp.not.i.i163 = icmp eq ptr %63, null + br i1 %cmp.not.i.i163, label %_ZN7testing15AssertionResultD2Ev.exit165, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163: ; preds = %if.end126 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164: ; preds = %if.end126 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #29 call void @_ZdlPv(ptr noundef nonnull %63) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit164 + br label %_ZN7testing15AssertionResultD2Ev.exit165 -_ZN7testing15AssertionResultD2Ev.exit164: ; preds = %if.end126, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i163 - store ptr null, ptr %message_.i161, align 8 +_ZN7testing15AssertionResultD2Ev.exit165: ; preds = %if.end126, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i164 + store ptr null, ptr %message_.i162, align 8 %64 = load i64, ptr %allocated_b, align 8 - %cmp.i.i165 = icmp eq i64 %64, 0 - br i1 %cmp.i.i165, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, label %if.end.i.i166 + %cmp.i.i166 = icmp eq i64 %64, 0 + br i1 %cmp.i.i166, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, label %if.end.i.i167 -if.end.i.i166: ; preds = %_ZN7testing15AssertionResultD2Ev.exit164 +if.end.i.i167: ; preds = %_ZN7testing15AssertionResultD2Ev.exit165 %and.i.i.i.i = and i64 %64, 1 %tobool.i.not.i.i.i = icmp eq i64 %and.i.i.i.i, 0 %65 = getelementptr inbounds i8, ptr %allocated_b, i64 8 %this.val1.i.i.i = load ptr, ptr %65, align 8 %cond.i.i.i = select i1 %tobool.i.not.i.i.i, ptr %65, ptr %this.val1.i.i.i %cmp.not4.i.i.i.i = icmp eq i64 %64, 1 - br i1 %cmp.not4.i.i.i.i, label %if.then.i.i.i.i167, label %for.body.preheader.i.i.i.i + br i1 %cmp.not4.i.i.i.i, label %if.then.i.i.i.i168, label %for.body.preheader.i.i.i.i -for.body.preheader.i.i.i.i: ; preds = %if.end.i.i166 +for.body.preheader.i.i.i.i: ; preds = %if.end.i.i167 %shr.i.i.i.i = lshr i64 %64, 1 %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 @@ -127222,72 +127238,72 @@ _ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_E br i1 %cmp.not.i.i.i.i, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, label %for.body.i.i.i.i, !llvm.loop !2892 _ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i - br i1 %tobool.i.not.i.i.i, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, label %if.then.i.i.i.i167 + br i1 %tobool.i.not.i.i.i, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, label %if.then.i.i.i.i168 -if.then.i.i.i.i167: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.end.i.i166 +if.then.i.i.i.i168: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.end.i.i167 call void @_ZdlPv(ptr noundef %this.val1.i.i.i) #32 br label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit -_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit164, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.then.i.i.i.i167 +_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit: ; preds = %_ZN7testing15AssertionResultD2Ev.exit165, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i, %if.then.i.i.i.i168 %68 = load i64, ptr %allocated_a, align 8 - %cmp.i.i168 = icmp eq i64 %68, 0 - br i1 %cmp.i.i168, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197, label %if.end.i.i169 + %cmp.i.i169 = icmp eq i64 %68, 0 + br i1 %cmp.i.i169, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198, label %if.end.i.i170 -if.end.i.i169: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit - %and.i.i.i.i170 = and i64 %68, 1 - %tobool.i.not.i.i.i171 = icmp eq i64 %and.i.i.i.i170, 0 +if.end.i.i170: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit + %and.i.i.i.i171 = and i64 %68, 1 + %tobool.i.not.i.i.i172 = icmp eq i64 %and.i.i.i.i171, 0 %69 = getelementptr inbounds i8, ptr %allocated_a, i64 8 - %this.val1.i.i.i172 = load ptr, ptr %69, align 8 - %cond.i.i.i173 = select i1 %tobool.i.not.i.i.i171, ptr %69, ptr %this.val1.i.i.i172 - %cmp.not4.i.i.i.i174 = icmp eq i64 %68, 1 - br i1 %cmp.not4.i.i.i.i174, label %if.then.i.i.i.i196, label %for.body.preheader.i.i.i.i175 - -for.body.preheader.i.i.i.i175: ; preds = %if.end.i.i169 - %shr.i.i.i.i176 = lshr i64 %68, 1 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i177 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i178 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i179 - -for.body.i.i.i.i179: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189, %for.body.preheader.i.i.i.i175 - %i.07.i.i.i.i180 = phi i64 [ %dec.i.i.i.i183, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 ], [ %shr.i.i.i.i176, %for.body.preheader.i.i.i.i175 ] - %dec.i.i.i.i16.i.i.i.i181 = phi i32 [ %dec.i.i.i.i.i.i.i.i185, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i178, %for.body.preheader.i.i.i.i175 ] - %dec2.i.i.i.i35.i.i.i.i182 = phi i32 [ %dec2.i.i.i.i2.i.i.i.i190, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i177, %for.body.preheader.i.i.i.i175 ] - %dec.i.i.i.i183 = add nsw i64 %i.07.i.i.i.i180, -1 - %70 = getelementptr %"class.(anonymous namespace)::NonSwappableInstance", ptr %cond.i.i.i173, i64 %dec.i.i.i.i183, i32 0, i32 1 - %add.ptr.val.i.i.i.i184 = load i8, ptr %70, align 4 - %dec.i.i.i.i.i.i.i.i185 = add nsw i32 %dec.i.i.i.i16.i.i.i.i181, -1 - store i32 %dec.i.i.i.i.i.i.i.i185, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %71 = and i8 %add.ptr.val.i.i.i.i184, 1 - %tobool.not.i.i.i.i.i.i.i.i186 = icmp eq i8 %71, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i186, label %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189, label %if.then.i.i.i.i.i.i.i.i187 - -if.then.i.i.i.i.i.i.i.i187: ; preds = %for.body.i.i.i.i179 - %dec2.i.i.i.i.i.i.i.i188 = add nsw i32 %dec2.i.i.i.i35.i.i.i.i182, -1 - store i32 %dec2.i.i.i.i.i.i.i.i188, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 - -_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189: ; preds = %if.then.i.i.i.i.i.i.i.i187, %for.body.i.i.i.i179 - %dec2.i.i.i.i2.i.i.i.i190 = phi i32 [ %dec2.i.i.i.i35.i.i.i.i182, %for.body.i.i.i.i179 ], [ %dec2.i.i.i.i.i.i.i.i188, %if.then.i.i.i.i.i.i.i.i187 ] - %cmp.not.i.i.i.i191 = icmp eq i64 %dec.i.i.i.i183, 0 - br i1 %cmp.not.i.i.i.i191, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i192, label %for.body.i.i.i.i179, !llvm.loop !2892 - -_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i192: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i189 - br i1 %tobool.i.not.i.i.i171, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197, label %if.then.i.i.i.i196 - -if.then.i.i.i.i196: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i192, %if.end.i.i169 - call void @_ZdlPv(ptr noundef %this.val1.i.i.i172) #32 - br label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197 - -_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i192, %if.then.i.i.i.i196 + %this.val1.i.i.i173 = load ptr, ptr %69, align 8 + %cond.i.i.i174 = select i1 %tobool.i.not.i.i.i172, ptr %69, ptr %this.val1.i.i.i173 + %cmp.not4.i.i.i.i175 = icmp eq i64 %68, 1 + br i1 %cmp.not4.i.i.i.i175, label %if.then.i.i.i.i197, label %for.body.preheader.i.i.i.i176 + +for.body.preheader.i.i.i.i176: ; preds = %if.end.i.i170 + %shr.i.i.i.i177 = lshr i64 %68, 1 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i178 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i179 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i180 + +for.body.i.i.i.i180: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190, %for.body.preheader.i.i.i.i176 + %i.07.i.i.i.i181 = phi i64 [ %dec.i.i.i.i184, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 ], [ %shr.i.i.i.i177, %for.body.preheader.i.i.i.i176 ] + %dec.i.i.i.i16.i.i.i.i182 = phi i32 [ %dec.i.i.i.i.i.i.i.i186, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i179, %for.body.preheader.i.i.i.i176 ] + %dec2.i.i.i.i35.i.i.i.i183 = phi i32 [ %dec2.i.i.i.i2.i.i.i.i191, %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i178, %for.body.preheader.i.i.i.i176 ] + %dec.i.i.i.i184 = add nsw i64 %i.07.i.i.i.i181, -1 + %70 = getelementptr %"class.(anonymous namespace)::NonSwappableInstance", ptr %cond.i.i.i174, i64 %dec.i.i.i.i184, i32 0, i32 1 + %add.ptr.val.i.i.i.i185 = load i8, ptr %70, align 4 + %dec.i.i.i.i.i.i.i.i186 = add nsw i32 %dec.i.i.i.i16.i.i.i.i182, -1 + store i32 %dec.i.i.i.i.i.i.i.i186, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %71 = and i8 %add.ptr.val.i.i.i.i185, 1 + %tobool.not.i.i.i.i.i.i.i.i187 = icmp eq i8 %71, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i187, label %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190, label %if.then.i.i.i.i.i.i.i.i188 + +if.then.i.i.i.i.i.i.i.i188: ; preds = %for.body.i.i.i.i180 + %dec2.i.i.i.i.i.i.i.i189 = add nsw i32 %dec2.i.i.i.i35.i.i.i.i183, -1 + store i32 %dec2.i.i.i.i.i.i.i.i189, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 + +_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190: ; preds = %if.then.i.i.i.i.i.i.i.i188, %for.body.i.i.i.i180 + %dec2.i.i.i.i2.i.i.i.i191 = phi i32 [ %dec2.i.i.i.i35.i.i.i.i183, %for.body.i.i.i.i180 ], [ %dec2.i.i.i.i.i.i.i.i189, %if.then.i.i.i.i.i.i.i.i188 ] + %cmp.not.i.i.i.i192 = icmp eq i64 %dec.i.i.i.i184, 0 + br i1 %cmp.not.i.i.i.i192, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i193, label %for.body.i.i.i.i180, !llvm.loop !2892 + +_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i193: ; preds = %_ZNSt16allocator_traitsISaIN12_GLOBAL__N_120NonSwappableInstanceEEE7destroyIS1_EEvRS2_PT_.exit.i.i.i.i190 + br i1 %tobool.i.not.i.i.i172, label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198, label %if.then.i.i.i.i197 + +if.then.i.i.i.i197: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i193, %if.end.i.i170 + call void @_ZdlPv(ptr noundef %this.val1.i.i.i173) #32 + br label %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198 + +_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaIN12_GLOBAL__N_120NonSwappableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i193, %if.then.i.i.i.i197 %72 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 %cmp.not.i = icmp eq i32 %72, %0 br i1 %cmp.not.i, label %if.end.i, label %if.then.i -if.then.i: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197 +if.then.i: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198 call void @abort() #28 unreachable -if.end.i: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit197 +if.end.i: ; preds = %_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev.exit198 %73 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %cmp3.not.i = icmp eq i32 %73, %1 br i1 %cmp3.not.i, label %_ZN4absl13test_internal15InstanceTrackerD2Ev.exit, label %if.then4.i @@ -127299,13 +127315,13 @@ if.then4.i: ; preds = %if.end.i _ZN4absl13test_internal15InstanceTrackerD2Ev.exit: ; preds = %if.end.i ret void -ehcleanup127: ; preds = %_ZN7testing7MessageD2Ev.exit160, %lpad115 - %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit160 ], [ %58, %lpad115 ] +ehcleanup127: ; preds = %_ZN7testing7MessageD2Ev.exit161, %lpad115 + %.pn13.pn = phi { ptr, i32 } [ %.pn13, %_ZN7testing7MessageD2Ev.exit161 ], [ %58, %lpad115 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar91) #29 br label %ehcleanup128 -ehcleanup128: ; preds = %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i100, %lpad9, %ehcleanup127, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit144, %ehcleanup90, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit77, %ehcleanup59, %ehcleanup37 - %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup127 ], [ %.pn11, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit144 ], [ %.pn8.pn, %ehcleanup90 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit77 ], [ %.pn3.pn, %ehcleanup59 ], [ %.pn.pn, %ehcleanup37 ], [ %36, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i ], [ %14, %lpad9 ], [ %50, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i100 ] +ehcleanup128: ; preds = %ehcleanup.i, %ehcleanup.i100, %lpad9, %ehcleanup127, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit145, %ehcleanup90, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit77, %ehcleanup59, %ehcleanup37 + %.pn13.pn.pn = phi { ptr, i32 } [ %.pn13.pn, %ehcleanup127 ], [ %.pn11, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit145 ], [ %.pn8.pn, %ehcleanup90 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit77 ], [ %.pn3.pn, %ehcleanup59 ], [ %.pn.pn, %ehcleanup37 ], [ %36, %ehcleanup.i ], [ %14, %lpad9 ], [ %50, %ehcleanup.i100 ] call fastcc void @_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %allocated_b) #29 br label %ehcleanup129 @@ -127629,14 +127645,14 @@ _ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEP _ZN7testing15AssertionResultD2Ev.exit54: ; preds = %if.end45, %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i53 store ptr null, ptr %message_.i51, align 8 %call5.i.i.i.i2.i6.i.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 - to label %cond.true.i.i.i.i.i.i.i unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, !noalias !2947 + to label %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i unwind label %ehcleanup.i, !noalias !2947 -_ZNSt6vectorIiSaIiEED2Ev.exit10.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit54 +ehcleanup.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit54 %34 = landingpad { ptr, i32 } cleanup br label %ehcleanup77 -cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit54 +_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i: ; preds = %_ZN7testing15AssertionResultD2Ev.exit54 store i32 1, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, align 4, !noalias !2947 %ref.tmp51.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i.sroa_idx = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 4 store i32 2, ptr %ref.tmp51.sroa.2.0.call5.i.i.i.i2.i6.i.i.i.i3.i.sroa_idx, align 4, !noalias !2947 @@ -127645,10 +127661,10 @@ cond.true.i.i.i.i.i.i.i: ; preds = %_ZN7testing15Assert %call5.i.i.i.i2.i6.i.i.i3.i = invoke noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #33 to label %invoke.cont55 unwind label %lpad54.body, !noalias !2950 -invoke.cont55: ; preds = %cond.true.i.i.i.i.i.i.i - %add.ptr.i.i.i.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 3 +invoke.cont55: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i3.i, ptr noundef nonnull align 4 dereferenceable(12) %call5.i.i.i.i2.i6.i.i.i.i3.i, i64 12, i1 false), !noalias !2950 - invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar47, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(24) %v) + %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i6.i.i.i3.i, i64 12 + invoke fastcc void @_ZNK7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEEclIN4absl13InlinedVectorINS3_20NonSwappableInstanceELm2ESaISD_EEEEENS_15AssertionResultEPKcRKT_(ptr noalias nonnull align 8 %gtest_ar47, ptr nonnull %call5.i.i.i.i2.i6.i.i.i3.i, ptr nonnull %add.ptr.i.i.i.i.i.i.i.i.i.i.i.i, ptr noundef nonnull @.str.289, ptr noundef nonnull align 8 dereferenceable(24) %v) to label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit unwind label %_ZN7testing8internal29PredicateFormatterFromMatcherINS0_16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEEEED2Ev.exit62 _ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit: ; preds = %invoke.cont55 @@ -127664,7 +127680,7 @@ ehcleanup46: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar25) #29 br label %ehcleanup77 -lpad54.body: ; preds = %cond.true.i.i.i.i.i.i.i +lpad54.body: ; preds = %_ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i.i.i %37 = landingpad { ptr, i32 } cleanup br label %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65 @@ -127841,8 +127857,8 @@ ehcleanup76: ; preds = %_ZN7testing7Message call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar47) #29 br label %ehcleanup77 -ehcleanup77: ; preds = %lpad, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i, %ehcleanup76, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65, %ehcleanup46, %ehcleanup24 - %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup76 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65 ], [ %.pn3.pn, %ehcleanup46 ], [ %.pn.pn, %ehcleanup24 ], [ %12, %lpad ], [ %34, %_ZNSt6vectorIiSaIiEED2Ev.exit10.i ] +ehcleanup77: ; preds = %lpad, %ehcleanup.i, %ehcleanup76, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65, %ehcleanup46, %ehcleanup24 + %.pn8.pn.pn = phi { ptr, i32 } [ %.pn8.pn, %ehcleanup76 ], [ %.pn6, %_ZN7testing8internal16PointwiseMatcherIN12_GLOBAL__N_115HasValueMatcherESt6vectorIiSaIiEEED2Ev.exit65 ], [ %.pn3.pn, %ehcleanup46 ], [ %.pn.pn, %ehcleanup24 ], [ %12, %lpad ], [ %34, %ehcleanup.i ] call fastcc void @_ZN4absl13InlinedVectorIN12_GLOBAL__N_120NonSwappableInstanceELm2ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %v) #29 call void @_ZN4absl13test_internal15InstanceTrackerD2Ev(ptr noundef nonnull align 4 dereferenceable(24) %tracker) #29 resume { ptr, i32 } %.pn8.pn.pn @@ -169059,7 +169075,7 @@ invoke.cont4: ; preds = %invoke.cont3 call5.i.i.i.i.noexc.i.i: ; preds = %invoke.cont4 store ptr %call5.i.i.i.i2.i.i, ptr %source_v.i344, align 8 - %add.ptr.i1.i.i = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %call5.i.i.i.i2.i.i, i64 2 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 16 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %source_v.i344, i64 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 br label %for.body.i.i.i.i.i.i.i @@ -170172,7 +170188,7 @@ invoke.cont7: ; preds = %invoke.cont6 call5.i.i.i.i.noexc.i.i627: ; preds = %invoke.cont7 store ptr %call5.i.i.i.i2.i.i611, ptr %source_v.i567, align 8 - %add.ptr.i1.i.i628 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %call5.i.i.i.i2.i.i611, i64 2 + %add.ptr.i1.i.i628 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i611, i64 16 %_M_end_of_storage.i.i.i629 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %source_v.i567, i64 0, i32 2 store ptr %add.ptr.i1.i.i628, ptr %_M_end_of_storage.i.i.i629, align 8 br label %for.body.i.i.i.i.i.i.i630 @@ -173553,7 +173569,7 @@ invoke.cont4: ; preds = %invoke.cont3 call5.i.i.i.i.noexc.i.i: ; preds = %invoke.cont4 store ptr %call5.i.i.i.i2.i.i, ptr %source_v.i344, align 8 - %add.ptr.i1.i.i = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %call5.i.i.i.i2.i.i, i64 2 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 16 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %source_v.i344, i64 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 br label %for.body.i.i.i.i.i.i.i @@ -174666,7 +174682,7 @@ invoke.cont7: ; preds = %invoke.cont6 call5.i.i.i.i.noexc.i.i627: ; preds = %invoke.cont7 store ptr %call5.i.i.i.i2.i.i611, ptr %source_v.i567, align 8 - %add.ptr.i1.i.i628 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %call5.i.i.i.i2.i.i611, i64 2 + %add.ptr.i1.i.i628 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i611, i64 16 %_M_end_of_storage.i.i.i629 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %source_v.i567, i64 0, i32 2 store ptr %add.ptr.i1.i.i628, ptr %_M_end_of_storage.i.i.i629, align 8 br label %for.body.i.i.i.i.i.i.i630 @@ -178777,7 +178793,7 @@ invoke.cont4: ; preds = %invoke.cont3 call5.i.i.i.i.noexc.i.i: ; preds = %invoke.cont4 store ptr %call5.i.i.i.i2.i.i, ptr %source_v.i344, align 8 - %add.ptr.i1.i.i = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %call5.i.i.i.i2.i.i, i64 2 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 16 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %source_v.i344, i64 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 br label %for.body.i.i.i.i.i.i.i @@ -179890,7 +179906,7 @@ invoke.cont7: ; preds = %invoke.cont6 call5.i.i.i.i.noexc.i.i627: ; preds = %invoke.cont7 store ptr %call5.i.i.i.i2.i.i611, ptr %source_v.i567, align 8 - %add.ptr.i1.i.i628 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %call5.i.i.i.i2.i.i611, i64 2 + %add.ptr.i1.i.i628 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i611, i64 16 %_M_end_of_storage.i.i.i629 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %source_v.i567, i64 0, i32 2 store ptr %add.ptr.i1.i.i628, ptr %_M_end_of_storage.i.i.i629, align 8 br label %for.body.i.i.i.i.i.i.i630 @@ -183271,7 +183287,7 @@ invoke.cont4: ; preds = %invoke.cont3 call5.i.i.i.i.noexc.i.i: ; preds = %invoke.cont4 store ptr %call5.i.i.i.i2.i.i, ptr %source_v.i344, align 8 - %add.ptr.i1.i.i = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %call5.i.i.i.i2.i.i, i64 2 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 16 %_M_end_of_storage.i.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %source_v.i344, i64 0, i32 2 store ptr %add.ptr.i1.i.i, ptr %_M_end_of_storage.i.i.i, align 8 br label %for.body.i.i.i.i.i.i.i @@ -184384,7 +184400,7 @@ invoke.cont7: ; preds = %invoke.cont6 call5.i.i.i.i.noexc.i.i627: ; preds = %invoke.cont7 store ptr %call5.i.i.i.i2.i.i611, ptr %source_v.i567, align 8 - %add.ptr.i1.i.i628 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %call5.i.i.i.i2.i.i611, i64 2 + %add.ptr.i1.i.i628 = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i611, i64 16 %_M_end_of_storage.i.i.i629 = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %source_v.i567, i64 0, i32 2 store ptr %add.ptr.i1.i.i628, ptr %_M_end_of_storage.i.i.i629, align 8 br label %for.body.i.i.i.i.i.i.i630 @@ -186157,7 +186173,7 @@ entry: invoke.cont.i: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit226.i, %entry invoke void @_ZN7testing11ScopedTraceC2ImEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1454.i, ptr noundef nonnull @.str.4, i32 noundef 1454, ptr noundef nonnull align 8 dereferenceable(8) %original_size.i) - to label %.noexc unwind label %lpad.loopexit1331 + to label %.noexc unwind label %lpad.loopexit1330 .noexc: ; preds = %invoke.cont.i %0 = load i64, ptr %original_size.i, align 8 @@ -187482,7 +187498,7 @@ invoke.cont: ; preds = %_ZNSt6vectorIN4absl call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp128.i) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp129.i) invoke void @_ZN7testing11ScopedTraceC2EPKciS2_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1494, ptr noundef nonnull @.str.4, i32 noundef 1494, ptr noundef nonnull @.str.507) - to label %invoke.cont2 unwind label %lpad.loopexit.split-lp1332 + to label %invoke.cont2 unwind label %lpad.loopexit.split-lp1331 invoke.cont2: ; preds = %invoke.cont call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %original_size.i6) @@ -189257,8 +189273,7 @@ for.end.i485: ; preds = %_ZN4absl13test_inte %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %new_contents_in.sroa.8.3.i479 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %new_contents_in.sroa.0.3.i478 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i661, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i _ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i: ; preds = %invoke.cont8.i462 @@ -189277,9 +189292,9 @@ _ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init br i1 %cmp.not.i.i.i49.i, label %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i, label %for.body.i.i.i.i.preheader.i.i.i _ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i - %new_contents_in.sroa.0.2.lcssa723754.i = phi ptr [ null, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i ], [ %new_contents_in.sroa.0.3.i478, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ] - %sub.ptr.div.i.i.i.i.i744750.i = phi i64 [ 0, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i ], [ %sub.ptr.div.i.i.i.i.i.i, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ] - %add.ptr7.i.i.i = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr null, i64 %sub.ptr.div.i.i.i.i.i744750.i + %new_contents_in.sroa.0.2.lcssa722751.i = phi ptr [ null, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i ], [ %new_contents_in.sroa.0.3.i478, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ] + %sub.ptr.sub.i.i.i.i.i742747.i = phi i64 [ 0, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i ], [ %sub.ptr.sub.i.i.i.i.i.i, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ] + %add.ptr7.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i742747.i store ptr %add.ptr7.i.i.i, ptr %_M_end_of_storage.i.i52.i, align 8 br label %invoke.cont24.i492 @@ -189289,7 +189304,7 @@ for.body.i.i.i.i.preheader.i.i.i: ; preds = %_ZNSt6vectorIN4absl call5.i.i.i.i.noexc.i.i488: ; preds = %for.body.i.i.i.i.preheader.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %new_contents.i378, align 8 - %add.ptr.i.i51.i = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i51.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i store ptr %add.ptr.i.i51.i, ptr %_M_end_of_storage.i.i52.i, align 8 %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 br label %for.body.i.i.i.i.i.i53.i @@ -189337,9 +189352,9 @@ lpad.i50.loopexit.split-lp.i: ; preds = %if.then.i.i.i.i661 br label %ehcleanup144.i486 invoke.cont24.i492: ; preds = %for.inc.i.i.i.i.i.i.i491, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i - %cmp.not.i.i.i49755.i = phi i1 [ true, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ false, %for.inc.i.i.i.i.i.i.i491 ] - %new_contents_in.sroa.0.2.lcssa723753.i = phi ptr [ %new_contents_in.sroa.0.2.lcssa723754.i, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %new_contents_in.sroa.0.3.i478, %for.inc.i.i.i.i.i.i.i491 ] - %new_contents_in.sroa.8.2.lcssa733751.i = phi ptr [ %new_contents_in.sroa.0.2.lcssa723754.i, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %new_contents_in.sroa.8.3.i479, %for.inc.i.i.i.i.i.i.i491 ] + %cmp.not.i.i.i49752.i = phi i1 [ true, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ false, %for.inc.i.i.i.i.i.i.i491 ] + %new_contents_in.sroa.0.2.lcssa722750.i = phi ptr [ %new_contents_in.sroa.0.2.lcssa722751.i, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %new_contents_in.sroa.0.3.i478, %for.inc.i.i.i.i.i.i.i491 ] + %new_contents_in.sroa.8.2.lcssa732748.i = phi ptr [ %new_contents_in.sroa.0.2.lcssa722751.i, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %new_contents_in.sroa.8.3.i479, %for.inc.i.i.i.i.i.i.i491 ] %297 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %for.inc.i.i.i.i.i.i.i491 ] %298 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i60.i, %for.inc.i.i.i.i.i.i.i491 ] store ptr %298, ptr %_M_finish.i.i63.i, align 8 @@ -190020,7 +190035,7 @@ if.then.i.i.i189.i: ; preds = %invoke.cont.i187.i br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i601 _ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i601: ; preds = %if.then.i.i.i189.i, %invoke.cont.i187.i - br i1 %cmp.not.i.i.i49755.i, label %invoke.cont.i211.i, label %for.body.preheader.i.i.i.i193.i + br i1 %cmp.not.i.i.i49752.i, label %invoke.cont.i211.i, label %for.body.preheader.i.i.i.i193.i for.body.preheader.i.i.i.i193.i: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i601 %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 @@ -190028,7 +190043,7 @@ for.body.preheader.i.i.i.i193.i: ; preds = %_ZNSt6vectorIN4absl br label %for.body.i.i.i.i196.i for.body.i.i.i.i196.i: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i, %for.body.preheader.i.i.i.i193.i - %__first.addr.09.i.i.i.i197.i = phi ptr [ %incdec.ptr.i.i.i.i207.i, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i ], [ %new_contents_in.sroa.0.2.lcssa723753.i, %for.body.preheader.i.i.i.i193.i ] + %__first.addr.09.i.i.i.i197.i = phi ptr [ %incdec.ptr.i.i.i.i207.i, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i ], [ %new_contents_in.sroa.0.2.lcssa722750.i, %for.body.preheader.i.i.i.i193.i ] %dec.i.i.i38.i.i.i.i198.i = phi i32 [ %dec.i.i.i.i.i.i.i200.i, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i, %for.body.preheader.i.i.i.i193.i ] %dec2.i.i.i57.i.i.i.i199.i = phi i32 [ %dec2.i.i.i4.i.i.i.i206.i, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i, %for.body.preheader.i.i.i.i193.i ] %dec.i.i.i.i.i.i.i200.i = add nsw i32 %dec.i.i.i38.i.i.i.i198.i, -1 @@ -190046,7 +190061,7 @@ if.then.i.i.i.i.i.i.i203.i: ; preds = %for.body.i.i.i.i196 _ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i: ; preds = %if.then.i.i.i.i.i.i.i203.i, %for.body.i.i.i.i196.i %dec2.i.i.i4.i.i.i.i206.i = phi i32 [ %dec2.i.i.i57.i.i.i.i199.i, %for.body.i.i.i.i196.i ], [ %dec2.i.i.i.i.i.i.i204.i, %if.then.i.i.i.i.i.i.i203.i ] %incdec.ptr.i.i.i.i207.i = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i197.i, i64 1 - %cmp.not.i.i.i.i208.i = icmp eq ptr %incdec.ptr.i.i.i.i207.i, %new_contents_in.sroa.8.2.lcssa733751.i + %cmp.not.i.i.i.i208.i = icmp eq ptr %incdec.ptr.i.i.i.i207.i, %new_contents_in.sroa.8.2.lcssa732748.i br i1 %cmp.not.i.i.i.i208.i, label %for.cond.for.end_crit_edge.i.i.i.i209.i, label %for.body.i.i.i.i196.i, !llvm.loop !1238 for.cond.for.end_crit_edge.i.i.i.i209.i: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i @@ -190054,11 +190069,11 @@ for.cond.for.end_crit_edge.i.i.i.i209.i: ; preds = %_ZSt8_DestroyIN4abs br label %invoke.cont.i211.i invoke.cont.i211.i: ; preds = %for.cond.for.end_crit_edge.i.i.i.i209.i, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i601 - %tobool.not.i.i.i212.i = icmp eq ptr %new_contents_in.sroa.0.2.lcssa723753.i, null + %tobool.not.i.i.i212.i = icmp eq ptr %new_contents_in.sroa.0.2.lcssa722750.i, null br i1 %tobool.not.i.i.i212.i, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i, label %if.then.i.i.i213.i if.then.i.i.i213.i: ; preds = %invoke.cont.i211.i - call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2.lcssa723753.i) #32 + call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2.lcssa722750.i) #32 br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i _ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i: ; preds = %if.then.i.i.i213.i, %invoke.cont.i211.i @@ -190083,8 +190098,8 @@ ehcleanup143.i517: ; preds = %ehcleanup142.i515, br label %ehcleanup144.i486 ehcleanup144.i486: ; preds = %ehcleanup143.i517, %lpad.i50.loopexit.split-lp.i, %lpad.i50.loopexit.i, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i678 - %new_contents_in.sroa.0.2421.i = phi ptr [ %new_contents_in.sroa.0.2538.i, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i678 ], [ %new_contents_in.sroa.0.2.lcssa723753.i, %ehcleanup143.i517 ], [ %new_contents_in.sroa.0.3.i478, %lpad.i50.loopexit.i ], [ %new_contents_in.sroa.0.3.i478, %lpad.i50.loopexit.split-lp.i ] - %new_contents_in.sroa.8.2385.i = phi ptr [ %new_contents_in.sroa.16.2540.i, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i678 ], [ %new_contents_in.sroa.8.2.lcssa733751.i, %ehcleanup143.i517 ], [ %new_contents_in.sroa.8.3.i479, %lpad.i50.loopexit.i ], [ %new_contents_in.sroa.8.3.i479, %lpad.i50.loopexit.split-lp.i ] + %new_contents_in.sroa.0.2421.i = phi ptr [ %new_contents_in.sroa.0.2538.i, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i678 ], [ %new_contents_in.sroa.0.2.lcssa722750.i, %ehcleanup143.i517 ], [ %new_contents_in.sroa.0.3.i478, %lpad.i50.loopexit.i ], [ %new_contents_in.sroa.0.3.i478, %lpad.i50.loopexit.split-lp.i ] + %new_contents_in.sroa.8.2385.i = phi ptr [ %new_contents_in.sroa.16.2540.i, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i678 ], [ %new_contents_in.sroa.8.2.lcssa732748.i, %ehcleanup143.i517 ], [ %new_contents_in.sroa.8.3.i479, %lpad.i50.loopexit.i ], [ %new_contents_in.sroa.8.3.i479, %lpad.i50.loopexit.split-lp.i ] %.pn18.i487 = phi { ptr, i32 } [ %lpad.phi.i681, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i678 ], [ %.pn12.pn.pn.pn.pn.i518, %ehcleanup143.i517 ], [ %lpad.loopexit374.i, %lpad.i50.loopexit.i ], [ %lpad.loopexit.split-lp375.i, %lpad.i50.loopexit.split-lp.i ] %cmp.not6.i.i.i.i217.i = icmp eq ptr %new_contents_in.sroa.0.2421.i, %new_contents_in.sroa.8.2385.i br i1 %cmp.not6.i.i.i.i217.i, label %invoke.cont.i236.i, label %for.body.preheader.i.i.i.i218.i @@ -190294,11 +190309,11 @@ invoke.cont8: ; preds = %invoke.cont7 %message_.i159.i738 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_.i727, i64 0, i32 1 br label %invoke.cont.i739 -invoke.cont.i739: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1113, %invoke.cont8 +invoke.cont.i739: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1112, %invoke.cont8 invoke void @_ZN7testing11ScopedTraceC2ImEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1454.i708, ptr noundef nonnull @.str.4, i32 noundef 1454, ptr noundef nonnull align 8 dereferenceable(8) %original_size.i707) - to label %.noexc1326 unwind label %lpad9 + to label %.noexc1325 unwind label %lpad9 -.noexc1326: ; preds = %invoke.cont.i739 +.noexc1325: ; preds = %invoke.cont.i739 %377 = load i64, ptr %original_size.i707, align 8 %378 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 %inc.i.i.i740 = add i32 %378, 1 @@ -190307,16 +190322,16 @@ invoke.cont.i739: ; preds = %_ZNSt6vectorIN4absl %inc2.i.i.i741 = add i32 %379, 1 store i32 %inc2.i.i.i741, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %cmp.i.i.i742 = icmp ugt i64 %377, 1152921504606846975 - br i1 %cmp.i.i.i742, label %if.then.i.i.i1320, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i743 + br i1 %cmp.i.i.i742, label %if.then.i.i.i1319, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i743 -if.then.i.i.i1320: ; preds = %.noexc1326 +if.then.i.i.i1319: ; preds = %.noexc1325 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc.i1325 unwind label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1321 + to label %.noexc.i1324 unwind label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1320 -.noexc.i1325: ; preds = %if.then.i.i.i1320 +.noexc.i1324: ; preds = %if.then.i.i.i1319 unreachable -_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i743: ; preds = %.noexc1326 +_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i743: ; preds = %.noexc1325 %cmp.not.i.i.i.i.i744 = icmp eq i64 %377, 0 br i1 %cmp.not.i.i.i.i.i744, label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit.i766, label %for.body.lr.ph.i.i.i.i.i.i.i745 @@ -190372,8 +190387,8 @@ _ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit.i766: ; preds = %_ZN4absl %387 = trunc i64 %sub.ptr.div.i.i.i.i.i773 to i32 br label %for.body6.i780 -for.body6.i780: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1089, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit.i766 - %storemerge3547.i781 = phi i64 [ 0, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit.i766 ], [ %inc147.i1090, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1089 ] +for.body6.i780: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1088, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit.i766 + %storemerge3547.i781 = phi i64 [ 0, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit.i766 ], [ %inc147.i1089, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1088 ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i.i705) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i706) invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i706) @@ -190434,7 +190449,7 @@ invoke.cont8.i823: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i.i705) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i706) %cmp10537.not.i824 = icmp eq i64 %storemerge3547.i781, 0 - br i1 %cmp10537.not.i824, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1319, label %invoke.cont14.preheader.i825 + br i1 %cmp10537.not.i824, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1318, label %invoke.cont14.preheader.i825 invoke.cont14.preheader.i825: ; preds = %invoke.cont8.i823 %.pre.i826 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 @@ -190455,7 +190470,7 @@ invoke.cont14.i828: ; preds = %_ZN4absl13test_inte %inc2.i.i28.i836 = add nsw i32 %395, 1 store i32 %inc2.i.i28.i836, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %cmp.not.i.i.i837 = icmp eq ptr %new_contents_in.sroa.8.2539.i831, %new_contents_in.sroa.16.2540.i830 - br i1 %cmp.not.i.i.i837, label %if.else.i.i.i1237, label %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 + br i1 %cmp.not.i.i.i837, label %if.else.i.i.i1236, label %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 _ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838: ; preds = %invoke.cont14.i828 store i32 %add.i834, ptr %new_contents_in.sroa.8.2539.i831, align 4 @@ -190473,137 +190488,137 @@ _ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constr %incdec.ptr.i.i.i843 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %new_contents_in.sroa.8.2539.i831, i64 1 br label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit36.i844 -if.else.i.i.i1237: ; preds = %invoke.cont14.i828 - %sub.ptr.lhs.cast.i.i.i.i1238 = ptrtoint ptr %new_contents_in.sroa.16.2540.i830 to i64 - %sub.ptr.rhs.cast.i.i.i.i1239 = ptrtoint ptr %new_contents_in.sroa.0.2538.i832 to i64 - %sub.ptr.sub.i.i.i.i1240 = sub i64 %sub.ptr.lhs.cast.i.i.i.i1238, %sub.ptr.rhs.cast.i.i.i.i1239 - %cmp.i.i292.i1241 = icmp eq i64 %sub.ptr.sub.i.i.i.i1240, 9223372036854775800 - br i1 %cmp.i.i292.i1241, label %if.then.i.i331.i1313, label %_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1242 +if.else.i.i.i1236: ; preds = %invoke.cont14.i828 + %sub.ptr.lhs.cast.i.i.i.i1237 = ptrtoint ptr %new_contents_in.sroa.16.2540.i830 to i64 + %sub.ptr.rhs.cast.i.i.i.i1238 = ptrtoint ptr %new_contents_in.sroa.0.2538.i832 to i64 + %sub.ptr.sub.i.i.i.i1239 = sub i64 %sub.ptr.lhs.cast.i.i.i.i1237, %sub.ptr.rhs.cast.i.i.i.i1238 + %cmp.i.i292.i1240 = icmp eq i64 %sub.ptr.sub.i.i.i.i1239, 9223372036854775800 + br i1 %cmp.i.i292.i1240, label %if.then.i.i331.i1312, label %_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1241 -if.then.i.i331.i1313: ; preds = %if.else.i.i.i1237 +if.then.i.i331.i1312: ; preds = %if.else.i.i.i1236 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc332.i1318 unwind label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1314 - -.noexc332.i1318: ; preds = %if.then.i.i331.i1313 - unreachable - -_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1242: ; preds = %if.else.i.i.i1237 - %sub.ptr.div.i.i.i.i1243 = ashr exact i64 %sub.ptr.sub.i.i.i.i1240, 3 - %.sroa.speculated.i.i.i1244 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i1243, i64 1) - %add.i.i.i1245 = add i64 %.sroa.speculated.i.i.i1244, %sub.ptr.div.i.i.i.i1243 - %cmp7.i.i.i1246 = icmp ult i64 %add.i.i.i1245, %sub.ptr.div.i.i.i.i1243 - %cmp9.i.i.i1247 = icmp ugt i64 %add.i.i.i1245, 1152921504606846975 - %or.cond.i.i.i1248 = or i1 %cmp7.i.i.i1246, %cmp9.i.i.i1247 - %cond.i.i293.i1249 = select i1 %or.cond.i.i.i1248, i64 1152921504606846975, i64 %add.i.i.i1245 - %cmp.not.i.i294.i1250 = icmp eq i64 %cond.i.i293.i1249, 0 - br i1 %cmp.not.i.i294.i1250, label %invoke.cont.i296.i1260, label %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1251 - -_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1251: ; preds = %_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1242 - %mul.i.i.i.i.i1252 = shl nuw nsw i64 %cond.i.i293.i1249, 3 - %call5.i.i.i.i333.i1253 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1252) #33 - to label %invoke.cont.i296.i1260 unwind label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1254 - -invoke.cont.i296.i1260: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1251, %_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1242 - %cond.i19.i.i1261 = phi ptr [ null, %_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1242 ], [ %call5.i.i.i.i333.i1253, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1251 ] - %add.ptr.i295.i1262 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i19.i.i1261, i64 %sub.ptr.div.i.i.i.i1243 - store i32 %add.i834, ptr %add.ptr.i295.i1262, align 4 - %is_live_.i.i.i.i.i.i1263 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %add.ptr.i295.i1262, i64 0, i32 1 - store i8 1, ptr %is_live_.i.i.i.i.i.i1263, align 4 - %inc.i.i.i.i.i.i1264 = add i32 %396, 2 - store i32 %inc.i.i.i.i.i.i1264, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %inc6.i.i.i.i.i.i1265 = add nsw i32 %395, 2 - store i32 %inc6.i.i.i.i.i.i1265, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + to label %.noexc332.i1317 unwind label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1313 + +.noexc332.i1317: ; preds = %if.then.i.i331.i1312 + unreachable + +_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1241: ; preds = %if.else.i.i.i1236 + %sub.ptr.div.i.i.i.i1242 = ashr exact i64 %sub.ptr.sub.i.i.i.i1239, 3 + %.sroa.speculated.i.i.i1243 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i1242, i64 1) + %add.i.i.i1244 = add i64 %.sroa.speculated.i.i.i1243, %sub.ptr.div.i.i.i.i1242 + %cmp7.i.i.i1245 = icmp ult i64 %add.i.i.i1244, %sub.ptr.div.i.i.i.i1242 + %cmp9.i.i.i1246 = icmp ugt i64 %add.i.i.i1244, 1152921504606846975 + %or.cond.i.i.i1247 = or i1 %cmp7.i.i.i1245, %cmp9.i.i.i1246 + %cond.i.i293.i1248 = select i1 %or.cond.i.i.i1247, i64 1152921504606846975, i64 %add.i.i.i1244 + %cmp.not.i.i294.i1249 = icmp eq i64 %cond.i.i293.i1248, 0 + br i1 %cmp.not.i.i294.i1249, label %invoke.cont.i296.i1259, label %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1250 + +_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1250: ; preds = %_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1241 + %mul.i.i.i.i.i1251 = shl nuw nsw i64 %cond.i.i293.i1248, 3 + %call5.i.i.i.i333.i1252 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1251) #33 + to label %invoke.cont.i296.i1259 unwind label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1253 + +invoke.cont.i296.i1259: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1250, %_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1241 + %cond.i19.i.i1260 = phi ptr [ null, %_ZNKSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1241 ], [ %call5.i.i.i.i333.i1252, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1250 ] + %add.ptr.i295.i1261 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i19.i.i1260, i64 %sub.ptr.div.i.i.i.i1242 + store i32 %add.i834, ptr %add.ptr.i295.i1261, align 4 + %is_live_.i.i.i.i.i.i1262 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %add.ptr.i295.i1261, i64 0, i32 1 + store i8 1, ptr %is_live_.i.i.i.i.i.i1262, align 4 + %inc.i.i.i.i.i.i1263 = add i32 %396, 2 + store i32 %inc.i.i.i.i.i.i1263, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %inc6.i.i.i.i.i.i1264 = add nsw i32 %395, 2 + store i32 %inc6.i.i.i.i.i.i1264, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %400 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - %inc7.i.i.i.i.i.i1266 = add nsw i32 %400, 1 - store i32 %inc7.i.i.i.i.i.i1266, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - %cmp.not7.i.i.i.i.i.i.i1267 = icmp eq ptr %new_contents_in.sroa.0.2538.i832, %new_contents_in.sroa.16.2540.i830 - br i1 %cmp.not7.i.i.i.i.i.i.i1267, label %invoke.cont14.i.thread.i1311, label %for.body.i.i.i.i.i.i298.i1268 - -invoke.cont14.i.thread.i1311: ; preds = %invoke.cont.i296.i1260 - %incdec.ptr.i311364.i1312 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i19.i.i1261, i64 1 - br label %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1300 - -for.body.i.i.i.i.i.i298.i1268: ; preds = %invoke.cont.i296.i1260, %for.inc.i.i.i.i.i.i306.i1280 - %inc7.i.i.i.i.i.i.i.i67.i.i1269 = phi i32 [ %inc7.i.i.i.i.i.i.i.i.i307.i1282, %for.inc.i.i.i.i.i.i306.i1280 ], [ %inc7.i.i.i.i.i.i1266, %invoke.cont.i296.i1260 ] - %inc6.i.i.i.i.i.i.i.i66.i.i1270 = phi i32 [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1281, %for.inc.i.i.i.i.i.i306.i1280 ], [ %inc6.i.i.i.i.i.i1265, %invoke.cont.i296.i1260 ] - %inc.i.i.i.i.i.i.i.i64.i.i1271 = phi i32 [ %inc.i.i.i.i.i.i.i.i.i302.i1276, %for.inc.i.i.i.i.i.i306.i1280 ], [ %inc.i.i.i.i.i.i1264, %invoke.cont.i296.i1260 ] - %__cur.09.i.i.i.i.i.i299.i1272 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i1284, %for.inc.i.i.i.i.i.i306.i1280 ], [ %cond.i19.i.i1261, %invoke.cont.i296.i1260 ] - %__first.addr.08.i.i.i.i.i.i.i1273 = phi ptr [ %incdec.ptr.i.i.i.i.i.i308.i1283, %for.inc.i.i.i.i.i.i306.i1280 ], [ %new_contents_in.sroa.0.2538.i832, %invoke.cont.i296.i1260 ] - %401 = load i32, ptr %__first.addr.08.i.i.i.i.i.i.i1273, align 4 - store i32 %401, ptr %__cur.09.i.i.i.i.i.i299.i1272, align 4 - %is_live_.i.i.i.i.i.i.i.i.i300.i1274 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__cur.09.i.i.i.i.i.i299.i1272, i64 0, i32 1 - %is_live_3.i.i.i.i.i.i.i.i.i301.i1275 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.08.i.i.i.i.i.i.i1273, i64 0, i32 1 - %402 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i301.i1275, align 4 + %inc7.i.i.i.i.i.i1265 = add nsw i32 %400, 1 + store i32 %inc7.i.i.i.i.i.i1265, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + %cmp.not7.i.i.i.i.i.i.i1266 = icmp eq ptr %new_contents_in.sroa.0.2538.i832, %new_contents_in.sroa.16.2540.i830 + br i1 %cmp.not7.i.i.i.i.i.i.i1266, label %invoke.cont14.i.thread.i1310, label %for.body.i.i.i.i.i.i298.i1267 + +invoke.cont14.i.thread.i1310: ; preds = %invoke.cont.i296.i1259 + %incdec.ptr.i311364.i1311 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i19.i.i1260, i64 1 + br label %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1299 + +for.body.i.i.i.i.i.i298.i1267: ; preds = %invoke.cont.i296.i1259, %for.inc.i.i.i.i.i.i306.i1279 + %inc7.i.i.i.i.i.i.i.i67.i.i1268 = phi i32 [ %inc7.i.i.i.i.i.i.i.i.i307.i1281, %for.inc.i.i.i.i.i.i306.i1279 ], [ %inc7.i.i.i.i.i.i1265, %invoke.cont.i296.i1259 ] + %inc6.i.i.i.i.i.i.i.i66.i.i1269 = phi i32 [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1280, %for.inc.i.i.i.i.i.i306.i1279 ], [ %inc6.i.i.i.i.i.i1264, %invoke.cont.i296.i1259 ] + %inc.i.i.i.i.i.i.i.i64.i.i1270 = phi i32 [ %inc.i.i.i.i.i.i.i.i.i302.i1275, %for.inc.i.i.i.i.i.i306.i1279 ], [ %inc.i.i.i.i.i.i1263, %invoke.cont.i296.i1259 ] + %__cur.09.i.i.i.i.i.i299.i1271 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i1283, %for.inc.i.i.i.i.i.i306.i1279 ], [ %cond.i19.i.i1260, %invoke.cont.i296.i1259 ] + %__first.addr.08.i.i.i.i.i.i.i1272 = phi ptr [ %incdec.ptr.i.i.i.i.i.i308.i1282, %for.inc.i.i.i.i.i.i306.i1279 ], [ %new_contents_in.sroa.0.2538.i832, %invoke.cont.i296.i1259 ] + %401 = load i32, ptr %__first.addr.08.i.i.i.i.i.i.i1272, align 4 + store i32 %401, ptr %__cur.09.i.i.i.i.i.i299.i1271, align 4 + %is_live_.i.i.i.i.i.i.i.i.i300.i1273 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__cur.09.i.i.i.i.i.i299.i1271, i64 0, i32 1 + %is_live_3.i.i.i.i.i.i.i.i.i301.i1274 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.08.i.i.i.i.i.i.i1272, i64 0, i32 1 + %402 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i301.i1274, align 4 %403 = and i8 %402, 1 - store i8 %403, ptr %is_live_.i.i.i.i.i.i.i.i.i300.i1274, align 4 - %inc.i.i.i.i.i.i.i.i.i302.i1276 = add nsw i32 %inc.i.i.i.i.i.i.i.i64.i.i1271, 1 - store i32 %inc.i.i.i.i.i.i.i.i.i302.i1276, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %tobool5.not.i.i.i.i.i.i.i.i.i303.i1277 = icmp eq i8 %403, 0 - br i1 %tobool5.not.i.i.i.i.i.i.i.i.i303.i1277, label %for.inc.i.i.i.i.i.i306.i1280, label %if.then.i.i.i.i.i.i.i.i.i304.i1278 - -if.then.i.i.i.i.i.i.i.i.i304.i1278: ; preds = %for.body.i.i.i.i.i.i298.i1268 - %inc6.i.i.i.i.i.i.i.i.i305.i1279 = add nsw i32 %inc6.i.i.i.i.i.i.i.i66.i.i1270, 1 - store i32 %inc6.i.i.i.i.i.i.i.i.i305.i1279, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %for.inc.i.i.i.i.i.i306.i1280 - -for.inc.i.i.i.i.i.i306.i1280: ; preds = %if.then.i.i.i.i.i.i.i.i.i304.i1278, %for.body.i.i.i.i.i.i298.i1268 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1281 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i305.i1279, %if.then.i.i.i.i.i.i.i.i.i304.i1278 ], [ %inc6.i.i.i.i.i.i.i.i66.i.i1270, %for.body.i.i.i.i.i.i298.i1268 ] - %inc7.i.i.i.i.i.i.i.i.i307.i1282 = add nsw i32 %inc7.i.i.i.i.i.i.i.i67.i.i1269, 1 - store i32 %inc7.i.i.i.i.i.i.i.i.i307.i1282, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - %incdec.ptr.i.i.i.i.i.i308.i1283 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.08.i.i.i.i.i.i.i1273, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i1284 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__cur.09.i.i.i.i.i.i299.i1272, i64 1 - %cmp.not.i.i.i.i.i.i309.i1285 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i308.i1283, %new_contents_in.sroa.16.2540.i830 - br i1 %cmp.not.i.i.i.i.i.i309.i1285, label %for.body.i.i.i.i316.i1288, label %for.body.i.i.i.i.i.i298.i1268, !llvm.loop !3411 - -for.body.i.i.i.i316.i1288: ; preds = %for.inc.i.i.i.i.i.i306.i1280, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1295 - %__first.addr.09.i.i.i.i317.i1289 = phi ptr [ %incdec.ptr.i.i.i.i327.i1297, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1295 ], [ %new_contents_in.sroa.0.2538.i832, %for.inc.i.i.i.i.i.i306.i1280 ] - %dec2.i.i.i57.i.i.i.i319.i1290 = phi i32 [ %dec2.i.i.i4.i.i.i.i326.i1296, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1295 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1281, %for.inc.i.i.i.i.i.i306.i1280 ] - %is_live_.i.i.i.i.i.i.i321.i1291 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i317.i1289, i64 0, i32 1 - %404 = load i8, ptr %is_live_.i.i.i.i.i.i.i321.i1291, align 4 + store i8 %403, ptr %is_live_.i.i.i.i.i.i.i.i.i300.i1273, align 4 + %inc.i.i.i.i.i.i.i.i.i302.i1275 = add nsw i32 %inc.i.i.i.i.i.i.i.i64.i.i1270, 1 + store i32 %inc.i.i.i.i.i.i.i.i.i302.i1275, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %tobool5.not.i.i.i.i.i.i.i.i.i303.i1276 = icmp eq i8 %403, 0 + br i1 %tobool5.not.i.i.i.i.i.i.i.i.i303.i1276, label %for.inc.i.i.i.i.i.i306.i1279, label %if.then.i.i.i.i.i.i.i.i.i304.i1277 + +if.then.i.i.i.i.i.i.i.i.i304.i1277: ; preds = %for.body.i.i.i.i.i.i298.i1267 + %inc6.i.i.i.i.i.i.i.i.i305.i1278 = add nsw i32 %inc6.i.i.i.i.i.i.i.i66.i.i1269, 1 + store i32 %inc6.i.i.i.i.i.i.i.i.i305.i1278, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %for.inc.i.i.i.i.i.i306.i1279 + +for.inc.i.i.i.i.i.i306.i1279: ; preds = %if.then.i.i.i.i.i.i.i.i.i304.i1277, %for.body.i.i.i.i.i.i298.i1267 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1280 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i305.i1278, %if.then.i.i.i.i.i.i.i.i.i304.i1277 ], [ %inc6.i.i.i.i.i.i.i.i66.i.i1269, %for.body.i.i.i.i.i.i298.i1267 ] + %inc7.i.i.i.i.i.i.i.i.i307.i1281 = add nsw i32 %inc7.i.i.i.i.i.i.i.i67.i.i1268, 1 + store i32 %inc7.i.i.i.i.i.i.i.i.i307.i1281, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + %incdec.ptr.i.i.i.i.i.i308.i1282 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.08.i.i.i.i.i.i.i1272, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i1283 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__cur.09.i.i.i.i.i.i299.i1271, i64 1 + %cmp.not.i.i.i.i.i.i309.i1284 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i308.i1282, %new_contents_in.sroa.16.2540.i830 + br i1 %cmp.not.i.i.i.i.i.i309.i1284, label %for.body.i.i.i.i316.i1287, label %for.body.i.i.i.i.i.i298.i1267, !llvm.loop !3411 + +for.body.i.i.i.i316.i1287: ; preds = %for.inc.i.i.i.i.i.i306.i1279, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1294 + %__first.addr.09.i.i.i.i317.i1288 = phi ptr [ %incdec.ptr.i.i.i.i327.i1296, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1294 ], [ %new_contents_in.sroa.0.2538.i832, %for.inc.i.i.i.i.i.i306.i1279 ] + %dec2.i.i.i57.i.i.i.i319.i1289 = phi i32 [ %dec2.i.i.i4.i.i.i.i326.i1295, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1294 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1280, %for.inc.i.i.i.i.i.i306.i1279 ] + %is_live_.i.i.i.i.i.i.i321.i1290 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i317.i1288, i64 0, i32 1 + %404 = load i8, ptr %is_live_.i.i.i.i.i.i.i321.i1290, align 4 %405 = and i8 %404, 1 - %tobool.not.i.i.i.i.i.i.i322.i1292 = icmp eq i8 %405, 0 - br i1 %tobool.not.i.i.i.i.i.i.i322.i1292, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1295, label %if.then.i.i.i.i.i.i.i323.i1293 - -if.then.i.i.i.i.i.i.i323.i1293: ; preds = %for.body.i.i.i.i316.i1288 - %dec2.i.i.i.i.i.i.i324.i1294 = add nsw i32 %dec2.i.i.i57.i.i.i.i319.i1290, -1 - store i32 %dec2.i.i.i.i.i.i.i324.i1294, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1295 - -_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1295: ; preds = %if.then.i.i.i.i.i.i.i323.i1293, %for.body.i.i.i.i316.i1288 - %dec2.i.i.i4.i.i.i.i326.i1296 = phi i32 [ %dec2.i.i.i57.i.i.i.i319.i1290, %for.body.i.i.i.i316.i1288 ], [ %dec2.i.i.i.i.i.i.i324.i1294, %if.then.i.i.i.i.i.i.i323.i1293 ] - %incdec.ptr.i.i.i.i327.i1297 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i317.i1289, i64 1 - %cmp.not.i.i.i.i328.i1298 = icmp eq ptr %incdec.ptr.i.i.i.i327.i1297, %new_contents_in.sroa.16.2540.i830 - br i1 %cmp.not.i.i.i.i328.i1298, label %for.cond.for.end_crit_edge.i.i.i.i329.i1299, label %for.body.i.i.i.i316.i1288, !llvm.loop !1238 - -for.cond.for.end_crit_edge.i.i.i.i329.i1299: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1295 - %incdec.ptr.i311.i1287 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__cur.09.i.i.i.i.i.i299.i1272, i64 2 - store i32 %inc.i.i.i.i.i.i1264, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1300 - -_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1300: ; preds = %for.cond.for.end_crit_edge.i.i.i.i329.i1299, %invoke.cont14.i.thread.i1311 - %.pre707715.i1301 = phi i32 [ %inc6.i.i.i.i.i.i1265, %invoke.cont14.i.thread.i1311 ], [ %dec2.i.i.i4.i.i.i.i326.i1296, %for.cond.for.end_crit_edge.i.i.i.i329.i1299 ] - %incdec.ptr.i311365.i1302 = phi ptr [ %incdec.ptr.i311364.i1312, %invoke.cont14.i.thread.i1311 ], [ %incdec.ptr.i311.i1287, %for.cond.for.end_crit_edge.i.i.i.i329.i1299 ] - %tobool.not.i.i330.i1303 = icmp eq ptr %new_contents_in.sroa.0.2538.i832, null - br i1 %tobool.not.i.i330.i1303, label %.noexc30.i1307, label %if.then.i37.i.i1304 - -if.then.i37.i.i1304: ; preds = %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1300 + %tobool.not.i.i.i.i.i.i.i322.i1291 = icmp eq i8 %405, 0 + br i1 %tobool.not.i.i.i.i.i.i.i322.i1291, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1294, label %if.then.i.i.i.i.i.i.i323.i1292 + +if.then.i.i.i.i.i.i.i323.i1292: ; preds = %for.body.i.i.i.i316.i1287 + %dec2.i.i.i.i.i.i.i324.i1293 = add nsw i32 %dec2.i.i.i57.i.i.i.i319.i1289, -1 + store i32 %dec2.i.i.i.i.i.i.i324.i1293, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1294 + +_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1294: ; preds = %if.then.i.i.i.i.i.i.i323.i1292, %for.body.i.i.i.i316.i1287 + %dec2.i.i.i4.i.i.i.i326.i1295 = phi i32 [ %dec2.i.i.i57.i.i.i.i319.i1289, %for.body.i.i.i.i316.i1287 ], [ %dec2.i.i.i.i.i.i.i324.i1293, %if.then.i.i.i.i.i.i.i323.i1292 ] + %incdec.ptr.i.i.i.i327.i1296 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i317.i1288, i64 1 + %cmp.not.i.i.i.i328.i1297 = icmp eq ptr %incdec.ptr.i.i.i.i327.i1296, %new_contents_in.sroa.16.2540.i830 + br i1 %cmp.not.i.i.i.i328.i1297, label %for.cond.for.end_crit_edge.i.i.i.i329.i1298, label %for.body.i.i.i.i316.i1287, !llvm.loop !1238 + +for.cond.for.end_crit_edge.i.i.i.i329.i1298: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i325.i1294 + %incdec.ptr.i311.i1286 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__cur.09.i.i.i.i.i.i299.i1271, i64 2 + store i32 %inc.i.i.i.i.i.i1263, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1299 + +_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1299: ; preds = %for.cond.for.end_crit_edge.i.i.i.i329.i1298, %invoke.cont14.i.thread.i1310 + %.pre707715.i1300 = phi i32 [ %inc6.i.i.i.i.i.i1264, %invoke.cont14.i.thread.i1310 ], [ %dec2.i.i.i4.i.i.i.i326.i1295, %for.cond.for.end_crit_edge.i.i.i.i329.i1298 ] + %incdec.ptr.i311365.i1301 = phi ptr [ %incdec.ptr.i311364.i1311, %invoke.cont14.i.thread.i1310 ], [ %incdec.ptr.i311.i1286, %for.cond.for.end_crit_edge.i.i.i.i329.i1298 ] + %tobool.not.i.i330.i1302 = icmp eq ptr %new_contents_in.sroa.0.2538.i832, null + br i1 %tobool.not.i.i330.i1302, label %.noexc30.i1306, label %if.then.i37.i.i1303 + +if.then.i37.i.i1303: ; preds = %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1299 call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2538.i832) #32 - %.pre706.pre.i1305 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %.pre707.pre.i1306 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %.noexc30.i1307 - -.noexc30.i1307: ; preds = %if.then.i37.i.i1304, %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1300 - %.pre707.i1308 = phi i32 [ %.pre707.pre.i1306, %if.then.i37.i.i1304 ], [ %.pre707715.i1301, %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1300 ] - %.pre706.i1309 = phi i32 [ %.pre706.pre.i1305, %if.then.i37.i.i1304 ], [ %inc.i.i.i.i.i.i1264, %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1300 ] - %add.ptr29.i.i1310 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i19.i.i1261, i64 %cond.i.i293.i1249 + %.pre706.pre.i1304 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %.pre707.pre.i1305 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %.noexc30.i1306 + +.noexc30.i1306: ; preds = %if.then.i37.i.i1303, %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1299 + %.pre707.i1307 = phi i32 [ %.pre707.pre.i1305, %if.then.i37.i.i1303 ], [ %.pre707715.i1300, %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1299 ] + %.pre706.i1308 = phi i32 [ %.pre706.pre.i1304, %if.then.i37.i.i1303 ], [ %inc.i.i.i.i.i.i1263, %_ZSt8_DestroyIPN4absl13test_internal20CopyableOnlyInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1299 ] + %add.ptr29.i.i1309 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i19.i.i1260, i64 %cond.i.i293.i1248 br label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit36.i844 -_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit36.i844: ; preds = %.noexc30.i1307, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 - %406 = phi i32 [ %.pre707.i1308, %.noexc30.i1307 ], [ %inc6.i.i.i.i.i.i.i841, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] - %407 = phi i32 [ %.pre706.i1309, %.noexc30.i1307 ], [ %inc.i.i.i.i.i.i.i840, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] - %new_contents_in.sroa.0.3.i845 = phi ptr [ %cond.i19.i.i1261, %.noexc30.i1307 ], [ %new_contents_in.sroa.0.2538.i832, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] - %new_contents_in.sroa.8.3.i846 = phi ptr [ %incdec.ptr.i311365.i1302, %.noexc30.i1307 ], [ %incdec.ptr.i.i.i843, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] - %new_contents_in.sroa.16.3.i847 = phi ptr [ %add.ptr29.i.i1310, %.noexc30.i1307 ], [ %new_contents_in.sroa.16.2540.i830, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] +_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit36.i844: ; preds = %.noexc30.i1306, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 + %406 = phi i32 [ %.pre707.i1307, %.noexc30.i1306 ], [ %inc6.i.i.i.i.i.i.i841, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] + %407 = phi i32 [ %.pre706.i1308, %.noexc30.i1306 ], [ %inc.i.i.i.i.i.i.i840, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] + %new_contents_in.sroa.0.3.i845 = phi ptr [ %cond.i19.i.i1260, %.noexc30.i1306 ], [ %new_contents_in.sroa.0.2538.i832, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] + %new_contents_in.sroa.8.3.i846 = phi ptr [ %incdec.ptr.i311365.i1301, %.noexc30.i1306 ], [ %incdec.ptr.i.i.i843, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] + %new_contents_in.sroa.16.3.i847 = phi ptr [ %add.ptr29.i.i1309, %.noexc30.i1306 ], [ %new_contents_in.sroa.16.2540.i830, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE9constructIS2_JS2_EEEvRS3_PT_DpOT0_.exit.i.i.i838 ] %dec.i.i31.i848 = add nsw i32 %407, -1 store i32 %dec.i.i31.i848, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 %dec2.i.i35.i849 = add nsw i32 %406, -1 @@ -190617,19 +190632,19 @@ _ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748: ; preds cleanup br label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.i750 -_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1321: ; preds = %if.then.i.i.i1320 - %lpad.loopexit.split-lp381.i1322 = landingpad { ptr, i32 } +_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1320: ; preds = %if.then.i.i.i1319 + %lpad.loopexit.split-lp381.i1321 = landingpad { ptr, i32 } cleanup - %.pre710.i1323 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %.pre711.i1324 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %408 = add nsw i32 %.pre710.i1323, -1 - %409 = add nsw i32 %.pre711.i1324, -1 + %.pre710.i1322 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %.pre711.i1323 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %408 = add nsw i32 %.pre710.i1322, -1 + %409 = add nsw i32 %.pre711.i1323, -1 br label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.i750 -_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.i750: ; preds = %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1321, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748 - %dec2.i.i41.i751 = phi i32 [ %379, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748 ], [ %409, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1321 ] - %dec.i.i37.i752 = phi i32 [ %378, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748 ], [ %408, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1321 ] - %lpad.phi382.i753 = phi { ptr, i32 } [ %lpad.loopexit380.i749, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748 ], [ %lpad.loopexit.split-lp381.i1322, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1321 ] +_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.i750: ; preds = %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1320, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748 + %dec2.i.i41.i751 = phi i32 [ %379, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748 ], [ %409, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1320 ] + %dec.i.i37.i752 = phi i32 [ %378, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748 ], [ %408, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1320 ] + %lpad.phi382.i753 = phi { ptr, i32 } [ %lpad.loopexit380.i749, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.i748 ], [ %lpad.loopexit.split-lp381.i1321, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit42.loopexit.split-lp.i1320 ] store i32 %dec.i.i37.i752, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 store i32 %dec2.i.i41.i751, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 br label %ehcleanup150.i754 @@ -190639,960 +190654,959 @@ lpad7.i782: ; preds = %for.body6.i780 cleanup br label %ehcleanup149.i783 -_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1254: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1251 - %lpad.loopexit.i1255 = landingpad { ptr, i32 } +_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1253: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE8allocateERS3_m.exit.i.i.i1250 + %lpad.loopexit.i1254 = landingpad { ptr, i32 } cleanup - br label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1256 + br label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1255 -_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1314: ; preds = %if.then.i.i331.i1313 - %lpad.loopexit.split-lp.i1315 = landingpad { ptr, i32 } +_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1313: ; preds = %if.then.i.i331.i1312 + %lpad.loopexit.split-lp.i1314 = landingpad { ptr, i32 } cleanup - %.pre708.i1316 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %.pre709.i1317 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %411 = add nsw i32 %.pre708.i1316, -1 - %412 = add nsw i32 %.pre709.i1317, -1 - br label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1256 + %.pre708.i1315 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %.pre709.i1316 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %411 = add nsw i32 %.pre708.i1315, -1 + %412 = add nsw i32 %.pre709.i1316, -1 + br label %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1255 -_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1256: ; preds = %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1314, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1254 - %dec2.i.i47.i1257 = phi i32 [ %395, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1254 ], [ %412, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1314 ] - %dec.i.i43.i1258 = phi i32 [ %396, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1254 ], [ %411, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1314 ] - %lpad.phi.i1259 = phi { ptr, i32 } [ %lpad.loopexit.i1255, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1254 ], [ %lpad.loopexit.split-lp.i1315, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1314 ] - store i32 %dec.i.i43.i1258, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - store i32 %dec2.i.i47.i1257, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %ehcleanup144.i864 +_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1255: ; preds = %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1313, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1253 + %dec2.i.i47.i1256 = phi i32 [ %395, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1253 ], [ %412, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1313 ] + %dec.i.i43.i1257 = phi i32 [ %396, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1253 ], [ %411, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1313 ] + %lpad.phi.i1258 = phi { ptr, i32 } [ %lpad.loopexit.i1254, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.i1253 ], [ %lpad.loopexit.split-lp.i1314, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.loopexit.split-lp.i1313 ] + store i32 %dec.i.i43.i1257, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + store i32 %dec2.i.i47.i1256, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %ehcleanup144.i863 for.end.i852: ; preds = %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit36.i844 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %new_contents.i710, i8 0, i64 24, i1 false) %sub.ptr.lhs.cast.i.i.i.i.i.i853 = ptrtoint ptr %new_contents_in.sroa.8.3.i846 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i854 = ptrtoint ptr %new_contents_in.sroa.0.3.i845 to i64 %sub.ptr.sub.i.i.i.i.i.i855 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i853, %sub.ptr.rhs.cast.i.i.i.i.i.i854 - %sub.ptr.div.i.i.i.i.i.i856 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i855, 3 - %cmp.i.i.i.i857 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i856, 1152921504606846975 - br i1 %cmp.i.i.i.i857, label %if.then.i.i.i.i1233, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i858 + %cmp.i.i.i.i856 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i855, 9223372036854775800 + br i1 %cmp.i.i.i.i856, label %if.then.i.i.i.i1232, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i857 -_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1319: ; preds = %invoke.cont8.i823 +_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1318: ; preds = %invoke.cont8.i823 store i64 0, ptr %new_contents.i710, align 8 - br label %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228 + br label %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227 -if.then.i.i.i.i1233: ; preds = %for.end.i852 +if.then.i.i.i.i1232: ; preds = %for.end.i852 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc.i.i1236 unwind label %lpad.i50.loopexit.split-lp.i1234 - -.noexc.i.i1236: ; preds = %if.then.i.i.i.i1233 - unreachable - -_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i858: ; preds = %for.end.i852 - %cmp.not.i.i.i49.i859 = icmp eq ptr %new_contents_in.sroa.8.3.i846, %new_contents_in.sroa.0.3.i845 - br i1 %cmp.not.i.i.i49.i859, label %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228, label %for.body.i.i.i.i.preheader.i.i.i860 - -_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i858, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1319 - %new_contents_in.sroa.0.2.lcssa723754.i1229 = phi ptr [ null, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1319 ], [ %new_contents_in.sroa.0.3.i845, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i858 ] - %sub.ptr.div.i.i.i.i.i744750.i1231 = phi i64 [ 0, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1319 ], [ %sub.ptr.div.i.i.i.i.i.i856, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i858 ] - %add.ptr7.i.i.i1232 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr null, i64 %sub.ptr.div.i.i.i.i.i744750.i1231 - store ptr %add.ptr7.i.i.i1232, ptr %_M_end_of_storage.i.i52.i731, align 8 - br label %invoke.cont24.i913 - -for.body.i.i.i.i.preheader.i.i.i860: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i858 - %call5.i.i.i.i1.i.i861 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i855) #33 - to label %call5.i.i.i.i.noexc.i.i890 unwind label %lpad.i50.loopexit.i862 - -call5.i.i.i.i.noexc.i.i890: ; preds = %for.body.i.i.i.i.preheader.i.i.i860 - store ptr %call5.i.i.i.i1.i.i861, ptr %new_contents.i710, align 8 - %add.ptr.i.i51.i891 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %call5.i.i.i.i1.i.i861, i64 %sub.ptr.div.i.i.i.i.i.i856 - store ptr %add.ptr.i.i51.i891, ptr %_M_end_of_storage.i.i52.i731, align 8 - %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i894 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - br label %for.body.i.i.i.i.i.i53.i895 - -for.body.i.i.i.i.i.i53.i895: ; preds = %for.inc.i.i.i.i.i.i.i907, %call5.i.i.i.i.noexc.i.i890 - %inc7.i.i.i.i.i.i.i5.i.i.i896 = phi i32 [ %inc7.i.i.i.i.i.i.i.i.i59.i909, %for.inc.i.i.i.i.i.i.i907 ], [ %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i894, %call5.i.i.i.i.noexc.i.i890 ] - %inc6.i.i.i.i.i.i.i4.i.i.i897 = phi i32 [ %inc6.i.i.i.i.i.i.i3.i.i.i908, %for.inc.i.i.i.i.i.i.i907 ], [ %dec2.i.i35.i849, %call5.i.i.i.i.noexc.i.i890 ] - %inc.i.i.i.i.i.i.i2.i.i.i898 = phi i32 [ %inc.i.i.i.i.i.i.i.i.i56.i903, %for.inc.i.i.i.i.i.i.i907 ], [ %dec.i.i31.i848, %call5.i.i.i.i.noexc.i.i890 ] - %__cur.09.i.i.i.i.i.i.i899 = phi ptr [ %incdec.ptr.i.i.i.i.i.i60.i911, %for.inc.i.i.i.i.i.i.i907 ], [ %call5.i.i.i.i1.i.i861, %call5.i.i.i.i.noexc.i.i890 ] - %__first.sroa.0.08.i.i.i.i.i.i.i900 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i910, %for.inc.i.i.i.i.i.i.i907 ], [ %new_contents_in.sroa.0.3.i845, %call5.i.i.i.i.noexc.i.i890 ] - %413 = load i32, ptr %__first.sroa.0.08.i.i.i.i.i.i.i900, align 4 - store i32 %413, ptr %__cur.09.i.i.i.i.i.i.i899, align 4 - %is_live_.i.i.i.i.i.i.i.i.i54.i901 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__cur.09.i.i.i.i.i.i.i899, i64 0, i32 1 - %is_live_3.i.i.i.i.i.i.i.i.i55.i902 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.sroa.0.08.i.i.i.i.i.i.i900, i64 0, i32 1 - %414 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i55.i902, align 4 + to label %.noexc.i.i1235 unwind label %lpad.i50.loopexit.split-lp.i1233 + +.noexc.i.i1235: ; preds = %if.then.i.i.i.i1232 + unreachable + +_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i857: ; preds = %for.end.i852 + %cmp.not.i.i.i49.i858 = icmp eq ptr %new_contents_in.sroa.8.3.i846, %new_contents_in.sroa.0.3.i845 + br i1 %cmp.not.i.i.i49.i858, label %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227, label %for.body.i.i.i.i.preheader.i.i.i859 + +_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i857, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1318 + %new_contents_in.sroa.0.2.lcssa722751.i1228 = phi ptr [ null, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1318 ], [ %new_contents_in.sroa.0.3.i845, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i857 ] + %sub.ptr.sub.i.i.i.i.i742747.i1230 = phi i64 [ 0, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1318 ], [ %sub.ptr.sub.i.i.i.i.i.i855, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i857 ] + %add.ptr7.i.i.i1231 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i742747.i1230 + store ptr %add.ptr7.i.i.i1231, ptr %_M_end_of_storage.i.i52.i731, align 8 + br label %invoke.cont24.i912 + +for.body.i.i.i.i.preheader.i.i.i859: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i857 + %call5.i.i.i.i1.i.i860 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i855) #33 + to label %call5.i.i.i.i.noexc.i.i889 unwind label %lpad.i50.loopexit.i861 + +call5.i.i.i.i.noexc.i.i889: ; preds = %for.body.i.i.i.i.preheader.i.i.i859 + store ptr %call5.i.i.i.i1.i.i860, ptr %new_contents.i710, align 8 + %add.ptr.i.i51.i890 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i860, i64 %sub.ptr.sub.i.i.i.i.i.i855 + store ptr %add.ptr.i.i51.i890, ptr %_M_end_of_storage.i.i52.i731, align 8 + %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i893 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + br label %for.body.i.i.i.i.i.i53.i894 + +for.body.i.i.i.i.i.i53.i894: ; preds = %for.inc.i.i.i.i.i.i.i906, %call5.i.i.i.i.noexc.i.i889 + %inc7.i.i.i.i.i.i.i5.i.i.i895 = phi i32 [ %inc7.i.i.i.i.i.i.i.i.i59.i908, %for.inc.i.i.i.i.i.i.i906 ], [ %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i893, %call5.i.i.i.i.noexc.i.i889 ] + %inc6.i.i.i.i.i.i.i4.i.i.i896 = phi i32 [ %inc6.i.i.i.i.i.i.i3.i.i.i907, %for.inc.i.i.i.i.i.i.i906 ], [ %dec2.i.i35.i849, %call5.i.i.i.i.noexc.i.i889 ] + %inc.i.i.i.i.i.i.i2.i.i.i897 = phi i32 [ %inc.i.i.i.i.i.i.i.i.i56.i902, %for.inc.i.i.i.i.i.i.i906 ], [ %dec.i.i31.i848, %call5.i.i.i.i.noexc.i.i889 ] + %__cur.09.i.i.i.i.i.i.i898 = phi ptr [ %incdec.ptr.i.i.i.i.i.i60.i910, %for.inc.i.i.i.i.i.i.i906 ], [ %call5.i.i.i.i1.i.i860, %call5.i.i.i.i.noexc.i.i889 ] + %__first.sroa.0.08.i.i.i.i.i.i.i899 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i909, %for.inc.i.i.i.i.i.i.i906 ], [ %new_contents_in.sroa.0.3.i845, %call5.i.i.i.i.noexc.i.i889 ] + %413 = load i32, ptr %__first.sroa.0.08.i.i.i.i.i.i.i899, align 4 + store i32 %413, ptr %__cur.09.i.i.i.i.i.i.i898, align 4 + %is_live_.i.i.i.i.i.i.i.i.i54.i900 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__cur.09.i.i.i.i.i.i.i898, i64 0, i32 1 + %is_live_3.i.i.i.i.i.i.i.i.i55.i901 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.sroa.0.08.i.i.i.i.i.i.i899, i64 0, i32 1 + %414 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i55.i901, align 4 %415 = and i8 %414, 1 - store i8 %415, ptr %is_live_.i.i.i.i.i.i.i.i.i54.i901, align 4 - %inc.i.i.i.i.i.i.i.i.i56.i903 = add nsw i32 %inc.i.i.i.i.i.i.i2.i.i.i898, 1 - store i32 %inc.i.i.i.i.i.i.i.i.i56.i903, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %tobool5.not.i.i.i.i.i.i.i.i.i57.i904 = icmp eq i8 %415, 0 - br i1 %tobool5.not.i.i.i.i.i.i.i.i.i57.i904, label %for.inc.i.i.i.i.i.i.i907, label %if.then.i.i.i.i.i.i.i.i.i.i905 - -if.then.i.i.i.i.i.i.i.i.i.i905: ; preds = %for.body.i.i.i.i.i.i53.i895 - %inc6.i.i.i.i.i.i.i.i.i58.i906 = add nsw i32 %inc6.i.i.i.i.i.i.i4.i.i.i897, 1 - store i32 %inc6.i.i.i.i.i.i.i.i.i58.i906, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %for.inc.i.i.i.i.i.i.i907 - -for.inc.i.i.i.i.i.i.i907: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i905, %for.body.i.i.i.i.i.i53.i895 - %inc6.i.i.i.i.i.i.i3.i.i.i908 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i58.i906, %if.then.i.i.i.i.i.i.i.i.i.i905 ], [ %inc6.i.i.i.i.i.i.i4.i.i.i897, %for.body.i.i.i.i.i.i53.i895 ] - %inc7.i.i.i.i.i.i.i.i.i59.i909 = add nsw i32 %inc7.i.i.i.i.i.i.i5.i.i.i896, 1 - store i32 %inc7.i.i.i.i.i.i.i.i.i59.i909, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - %incdec.ptr.i.i.i.i.i.i.i.i910 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.sroa.0.08.i.i.i.i.i.i.i900, i64 1 - %incdec.ptr.i.i.i.i.i.i60.i911 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__cur.09.i.i.i.i.i.i.i899, i64 1 - %cmp.i.not.i.i.i.i.i.i.i912 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i910, %new_contents_in.sroa.8.3.i846 - br i1 %cmp.i.not.i.i.i.i.i.i.i912, label %invoke.cont24.i913, label %for.body.i.i.i.i.i.i53.i895, !llvm.loop !3433 - -lpad.i50.loopexit.i862: ; preds = %for.body.i.i.i.i.preheader.i.i.i860 - %lpad.loopexit374.i863 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup144.i864 - -lpad.i50.loopexit.split-lp.i1234: ; preds = %if.then.i.i.i.i1233 - %lpad.loopexit.split-lp375.i1235 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup144.i864 - -invoke.cont24.i913: ; preds = %for.inc.i.i.i.i.i.i.i907, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228 - %cmp.not.i.i.i49755.i914 = phi i1 [ true, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228 ], [ false, %for.inc.i.i.i.i.i.i.i907 ] - %new_contents_in.sroa.0.2.lcssa723753.i915 = phi ptr [ %new_contents_in.sroa.0.2.lcssa723754.i1229, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228 ], [ %new_contents_in.sroa.0.3.i845, %for.inc.i.i.i.i.i.i.i907 ] - %new_contents_in.sroa.8.2.lcssa733751.i916 = phi ptr [ %new_contents_in.sroa.0.2.lcssa723754.i1229, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228 ], [ %new_contents_in.sroa.8.3.i846, %for.inc.i.i.i.i.i.i.i907 ] - %416 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228 ], [ %call5.i.i.i.i1.i.i861, %for.inc.i.i.i.i.i.i.i907 ] - %417 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1228 ], [ %incdec.ptr.i.i.i.i.i.i60.i911, %for.inc.i.i.i.i.i.i.i907 ] + store i8 %415, ptr %is_live_.i.i.i.i.i.i.i.i.i54.i900, align 4 + %inc.i.i.i.i.i.i.i.i.i56.i902 = add nsw i32 %inc.i.i.i.i.i.i.i2.i.i.i897, 1 + store i32 %inc.i.i.i.i.i.i.i.i.i56.i902, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %tobool5.not.i.i.i.i.i.i.i.i.i57.i903 = icmp eq i8 %415, 0 + br i1 %tobool5.not.i.i.i.i.i.i.i.i.i57.i903, label %for.inc.i.i.i.i.i.i.i906, label %if.then.i.i.i.i.i.i.i.i.i.i904 + +if.then.i.i.i.i.i.i.i.i.i.i904: ; preds = %for.body.i.i.i.i.i.i53.i894 + %inc6.i.i.i.i.i.i.i.i.i58.i905 = add nsw i32 %inc6.i.i.i.i.i.i.i4.i.i.i896, 1 + store i32 %inc6.i.i.i.i.i.i.i.i.i58.i905, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %for.inc.i.i.i.i.i.i.i906 + +for.inc.i.i.i.i.i.i.i906: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i904, %for.body.i.i.i.i.i.i53.i894 + %inc6.i.i.i.i.i.i.i3.i.i.i907 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i58.i905, %if.then.i.i.i.i.i.i.i.i.i.i904 ], [ %inc6.i.i.i.i.i.i.i4.i.i.i896, %for.body.i.i.i.i.i.i53.i894 ] + %inc7.i.i.i.i.i.i.i.i.i59.i908 = add nsw i32 %inc7.i.i.i.i.i.i.i5.i.i.i895, 1 + store i32 %inc7.i.i.i.i.i.i.i.i.i59.i908, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + %incdec.ptr.i.i.i.i.i.i.i.i909 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.sroa.0.08.i.i.i.i.i.i.i899, i64 1 + %incdec.ptr.i.i.i.i.i.i60.i910 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__cur.09.i.i.i.i.i.i.i898, i64 1 + %cmp.i.not.i.i.i.i.i.i.i911 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i909, %new_contents_in.sroa.8.3.i846 + br i1 %cmp.i.not.i.i.i.i.i.i.i911, label %invoke.cont24.i912, label %for.body.i.i.i.i.i.i53.i894, !llvm.loop !3433 + +lpad.i50.loopexit.i861: ; preds = %for.body.i.i.i.i.preheader.i.i.i859 + %lpad.loopexit374.i862 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup144.i863 + +lpad.i50.loopexit.split-lp.i1233: ; preds = %if.then.i.i.i.i1232 + %lpad.loopexit.split-lp375.i1234 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup144.i863 + +invoke.cont24.i912: ; preds = %for.inc.i.i.i.i.i.i.i906, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227 + %cmp.not.i.i.i49752.i913 = phi i1 [ true, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227 ], [ false, %for.inc.i.i.i.i.i.i.i906 ] + %new_contents_in.sroa.0.2.lcssa722750.i914 = phi ptr [ %new_contents_in.sroa.0.2.lcssa722751.i1228, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227 ], [ %new_contents_in.sroa.0.3.i845, %for.inc.i.i.i.i.i.i.i906 ] + %new_contents_in.sroa.8.2.lcssa732748.i915 = phi ptr [ %new_contents_in.sroa.0.2.lcssa722751.i1228, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227 ], [ %new_contents_in.sroa.8.3.i846, %for.inc.i.i.i.i.i.i.i906 ] + %416 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227 ], [ %call5.i.i.i.i1.i.i860, %for.inc.i.i.i.i.i.i.i906 ] + %417 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1227 ], [ %incdec.ptr.i.i.i.i.i.i60.i910, %for.inc.i.i.i.i.i.i.i906 ] store ptr %417, ptr %_M_finish.i.i63.i732, align 8 store i64 0, ptr %v.i711, align 8 - br i1 %cmp.i.i66.i774, label %if.then.i.i68.i1216, label %if.end.i.i.i917 + br i1 %cmp.i.i66.i774, label %if.then.i.i68.i1215, label %if.end.i.i.i916 -if.then.i.i68.i1216: ; preds = %invoke.cont24.i913 - br i1 %cmp.i.i.i.i.i.i776, label %if.then3.i.i.i.i.i.i1224, label %if.end.thread.i.i.i1217 +if.then.i.i68.i1215: ; preds = %invoke.cont24.i912 + br i1 %cmp.i.i.i.i.i.i776, label %if.then3.i.i.i.i.i.i1223, label %if.end.thread.i.i.i1216 -if.then3.i.i.i.i.i.i1224: ; preds = %if.then.i.i68.i1216 +if.then3.i.i.i.i.i.i1223: ; preds = %if.then.i.i68.i1215 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc.i71.i1227 unwind label %lpad.i69.loopexit.split-lp.i1225 + to label %.noexc.i71.i1226 unwind label %lpad.i69.loopexit.split-lp.i1224 -.noexc.i71.i1227: ; preds = %if.then3.i.i.i.i.i.i1224 +.noexc.i71.i1226: ; preds = %if.then3.i.i.i.i.i.i1223 unreachable -if.end.thread.i.i.i1217: ; preds = %if.then.i.i68.i1216 - %call5.i.i.i.i2.i.i1218 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i778) #33 - to label %call5.i.i.i.i.noexc.i70.i1223 unwind label %lpad.i69.loopexit.i1219 +if.end.thread.i.i.i1216: ; preds = %if.then.i.i68.i1215 + %call5.i.i.i.i2.i.i1217 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i778) #33 + to label %call5.i.i.i.i.noexc.i70.i1222 unwind label %lpad.i69.loopexit.i1218 -call5.i.i.i.i.noexc.i70.i1223: ; preds = %if.end.thread.i.i.i1217 - store ptr %call5.i.i.i.i2.i.i1218, ptr %data_.i4.i.i.i733, align 8 +call5.i.i.i.i.noexc.i70.i1222: ; preds = %if.end.thread.i.i.i1216 + store ptr %call5.i.i.i.i2.i.i1217, ptr %data_.i4.i.i.i733, align 8 store i64 %.sroa.speculated.i.i.i.i777, ptr %allocated_capacity.i.i.i.i734, align 8 store i64 1, ptr %v.i711, align 8 - br label %for.body.preheader.i.i.i.i918 - -if.end.i.i.i917: ; preds = %invoke.cont24.i913 - br i1 %cmp8.not.i.i.i.i775, label %invoke.cont35.i940, label %for.body.preheader.i.i.i.i918 - -for.body.preheader.i.i.i.i918: ; preds = %if.end.i.i.i917, %call5.i.i.i.i.noexc.i70.i1223 - %construct_data.07.i.i.i919 = phi ptr [ %call5.i.i.i.i2.i.i1218, %call5.i.i.i.i.noexc.i70.i1223 ], [ %data_.i4.i.i.i733, %if.end.i.i.i917 ] - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i920 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i921 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i922 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - br label %for.body.i.i.i.i923 - -for.body.i.i.i.i923: ; preds = %for.inc.i.i.i.i933, %for.body.preheader.i.i.i.i918 - %inc6.i.i.i.i.i.i.i.i545.i924 = phi i32 [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i921, %for.body.preheader.i.i.i.i918 ], [ %inc6.i.i.i.i.i.i.i.i544.i934, %for.inc.i.i.i.i933 ] - %values.sroa.0.0.i.i.i925 = phi ptr [ %original_contents.sroa.0.1.i767, %for.body.preheader.i.i.i.i918 ], [ %incdec.ptr.i.i.i.i.i.i935, %for.inc.i.i.i.i933 ] - %i.09.i.i.i.i926 = phi i64 [ 0, %for.body.preheader.i.i.i.i918 ], [ %inc.i.i.i.i936, %for.inc.i.i.i.i933 ] - %add.ptr.i.i.i67.i927 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %construct_data.07.i.i.i919, i64 %i.09.i.i.i.i926 - %418 = load i32, ptr %values.sroa.0.0.i.i.i925, align 4 - store i32 %418, ptr %add.ptr.i.i.i67.i927, align 4 - %is_live_.i.i.i.i.i.i.i.i.i928 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %add.ptr.i.i.i67.i927, i64 0, i32 1 - %is_live_3.i.i.i.i.i.i.i.i.i929 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %values.sroa.0.0.i.i.i925, i64 0, i32 1 - %419 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i929, align 4 + br label %for.body.preheader.i.i.i.i917 + +if.end.i.i.i916: ; preds = %invoke.cont24.i912 + br i1 %cmp8.not.i.i.i.i775, label %invoke.cont35.i939, label %for.body.preheader.i.i.i.i917 + +for.body.preheader.i.i.i.i917: ; preds = %if.end.i.i.i916, %call5.i.i.i.i.noexc.i70.i1222 + %construct_data.07.i.i.i918 = phi ptr [ %call5.i.i.i.i2.i.i1217, %call5.i.i.i.i.noexc.i70.i1222 ], [ %data_.i4.i.i.i733, %if.end.i.i.i916 ] + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i919 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i920 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i921 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + br label %for.body.i.i.i.i922 + +for.body.i.i.i.i922: ; preds = %for.inc.i.i.i.i932, %for.body.preheader.i.i.i.i917 + %inc6.i.i.i.i.i.i.i.i545.i923 = phi i32 [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i920, %for.body.preheader.i.i.i.i917 ], [ %inc6.i.i.i.i.i.i.i.i544.i933, %for.inc.i.i.i.i932 ] + %values.sroa.0.0.i.i.i924 = phi ptr [ %original_contents.sroa.0.1.i767, %for.body.preheader.i.i.i.i917 ], [ %incdec.ptr.i.i.i.i.i.i934, %for.inc.i.i.i.i932 ] + %i.09.i.i.i.i925 = phi i64 [ 0, %for.body.preheader.i.i.i.i917 ], [ %inc.i.i.i.i935, %for.inc.i.i.i.i932 ] + %add.ptr.i.i.i67.i926 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %construct_data.07.i.i.i918, i64 %i.09.i.i.i.i925 + %418 = load i32, ptr %values.sroa.0.0.i.i.i924, align 4 + store i32 %418, ptr %add.ptr.i.i.i67.i926, align 4 + %is_live_.i.i.i.i.i.i.i.i.i927 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %add.ptr.i.i.i67.i926, i64 0, i32 1 + %is_live_3.i.i.i.i.i.i.i.i.i928 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %values.sroa.0.0.i.i.i924, i64 0, i32 1 + %419 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i928, align 4 %420 = and i8 %419, 1 - store i8 %420, ptr %is_live_.i.i.i.i.i.i.i.i.i928, align 4 - %tobool5.not.i.i.i.i.i.i.i.i.i930 = icmp eq i8 %420, 0 - br i1 %tobool5.not.i.i.i.i.i.i.i.i.i930, label %for.inc.i.i.i.i933, label %if.then.i.i.i.i.i.i.i.i.i931 - -if.then.i.i.i.i.i.i.i.i.i931: ; preds = %for.body.i.i.i.i923 - %inc6.i.i.i.i.i.i.i.i.i932 = add nsw i32 %inc6.i.i.i.i.i.i.i.i545.i924, 1 - store i32 %inc6.i.i.i.i.i.i.i.i.i932, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %for.inc.i.i.i.i933 - -for.inc.i.i.i.i933: ; preds = %if.then.i.i.i.i.i.i.i.i.i931, %for.body.i.i.i.i923 - %inc6.i.i.i.i.i.i.i.i544.i934 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i932, %if.then.i.i.i.i.i.i.i.i.i931 ], [ %inc6.i.i.i.i.i.i.i.i545.i924, %for.body.i.i.i.i923 ] - %incdec.ptr.i.i.i.i.i.i935 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %values.sroa.0.0.i.i.i925, i64 1 - %inc.i.i.i.i936 = add nuw i64 %i.09.i.i.i.i926, 1 - %exitcond.not.i.i.i.i937 = icmp eq i64 %inc.i.i.i.i936, %sub.ptr.div.i.i.i.i.i773 - br i1 %exitcond.not.i.i.i.i937, label %invoke.cont11.loopexit.i.i938, label %for.body.i.i.i.i923, !llvm.loop !1236 - -invoke.cont11.loopexit.i.i938: ; preds = %for.inc.i.i.i.i933 - %421 = add i32 %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i922, %387 - %422 = add i32 %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i920, %387 + store i8 %420, ptr %is_live_.i.i.i.i.i.i.i.i.i927, align 4 + %tobool5.not.i.i.i.i.i.i.i.i.i929 = icmp eq i8 %420, 0 + br i1 %tobool5.not.i.i.i.i.i.i.i.i.i929, label %for.inc.i.i.i.i932, label %if.then.i.i.i.i.i.i.i.i.i930 + +if.then.i.i.i.i.i.i.i.i.i930: ; preds = %for.body.i.i.i.i922 + %inc6.i.i.i.i.i.i.i.i.i931 = add nsw i32 %inc6.i.i.i.i.i.i.i.i545.i923, 1 + store i32 %inc6.i.i.i.i.i.i.i.i.i931, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %for.inc.i.i.i.i932 + +for.inc.i.i.i.i932: ; preds = %if.then.i.i.i.i.i.i.i.i.i930, %for.body.i.i.i.i922 + %inc6.i.i.i.i.i.i.i.i544.i933 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i931, %if.then.i.i.i.i.i.i.i.i.i930 ], [ %inc6.i.i.i.i.i.i.i.i545.i923, %for.body.i.i.i.i922 ] + %incdec.ptr.i.i.i.i.i.i934 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %values.sroa.0.0.i.i.i924, i64 1 + %inc.i.i.i.i935 = add nuw i64 %i.09.i.i.i.i925, 1 + %exitcond.not.i.i.i.i936 = icmp eq i64 %inc.i.i.i.i935, %sub.ptr.div.i.i.i.i.i773 + br i1 %exitcond.not.i.i.i.i936, label %invoke.cont11.loopexit.i.i937, label %for.body.i.i.i.i922, !llvm.loop !1236 + +invoke.cont11.loopexit.i.i937: ; preds = %for.inc.i.i.i.i932 + %421 = add i32 %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i921, %387 + %422 = add i32 %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i919, %387 store i32 %422, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 store i32 %421, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - %.pre.i.i939 = load i64, ptr %v.i711, align 8 - br label %invoke.cont35.i940 + %.pre.i.i938 = load i64, ptr %v.i711, align 8 + br label %invoke.cont35.i939 -lpad.i69.loopexit.i1219: ; preds = %if.end.thread.i.i.i1217 - %lpad.loopexit377.i1220 = landingpad { ptr, i32 } +lpad.i69.loopexit.i1218: ; preds = %if.end.thread.i.i.i1216 + %lpad.loopexit377.i1219 = landingpad { ptr, i32 } cleanup - br label %lpad.i69.i1221 + br label %lpad.i69.i1220 -lpad.i69.loopexit.split-lp.i1225: ; preds = %if.then3.i.i.i.i.i.i1224 - %lpad.loopexit.split-lp378.i1226 = landingpad { ptr, i32 } +lpad.i69.loopexit.split-lp.i1224: ; preds = %if.then3.i.i.i.i.i.i1223 + %lpad.loopexit.split-lp378.i1225 = landingpad { ptr, i32 } cleanup - br label %lpad.i69.i1221 + br label %lpad.i69.i1220 -lpad.i69.i1221: ; preds = %lpad.i69.loopexit.split-lp.i1225, %lpad.i69.loopexit.i1219 - %lpad.phi379.i1222 = phi { ptr, i32 } [ %lpad.loopexit377.i1220, %lpad.i69.loopexit.i1219 ], [ %lpad.loopexit.split-lp378.i1226, %lpad.i69.loopexit.split-lp.i1225 ] +lpad.i69.i1220: ; preds = %lpad.i69.loopexit.split-lp.i1224, %lpad.i69.loopexit.i1218 + %lpad.phi379.i1221 = phi { ptr, i32 } [ %lpad.loopexit377.i1219, %lpad.i69.loopexit.i1218 ], [ %lpad.loopexit.split-lp378.i1225, %lpad.i69.loopexit.split-lp.i1224 ] call void @_ZN4absl23inlined_vector_internal7StorageINS_13test_internal20CopyableOnlyInstanceELm3ESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %v.i711) #29 - br label %ehcleanup143.i948 + br label %ehcleanup143.i947 -invoke.cont35.i940: ; preds = %invoke.cont11.loopexit.i.i938, %if.end.i.i.i917 - %423 = phi i64 [ %.pre.i.i939, %invoke.cont11.loopexit.i.i938 ], [ 0, %if.end.i.i.i917 ] - %add.i.i.i.i941 = add i64 %423, %shl.i.i.i.i779 - store i64 %add.i.i.i.i941, ptr %v.i711, align 8 +invoke.cont35.i939: ; preds = %invoke.cont11.loopexit.i.i937, %if.end.i.i.i916 + %423 = phi i64 [ %.pre.i.i938, %invoke.cont11.loopexit.i.i937 ], [ 0, %if.end.i.i.i916 ] + %add.i.i.i.i940 = add i64 %423, %shl.i.i.i.i779 + store i64 %add.i.i.i.i940, ptr %v.i711, align 8 %424 = ptrtoint ptr %416 to i64 - %sub.ptr.lhs.cast.i.i.i.i74.i942 = ptrtoint ptr %417 to i64 - %sub.ptr.sub.i.i.i.i75.i943 = sub i64 %sub.ptr.lhs.cast.i.i.i.i74.i942, %424 - %sub.ptr.div.i.i.i.i76.i944 = ashr exact i64 %sub.ptr.sub.i.i.i.i75.i943, 3 - invoke void @_ZN4absl23inlined_vector_internal7StorageINS_13test_internal20CopyableOnlyInstanceELm3ESaIS3_EE6AssignINS0_20IteratorValueAdapterIS4_N9__gnu_cxx17__normal_iteratorIPKS3_St6vectorIS3_S4_EEEEEEEvT_m(ptr noundef nonnull align 8 dereferenceable(32) %v.i711, ptr %416, i64 noundef %sub.ptr.div.i.i.i.i76.i944) - to label %invoke.cont45.i950 unwind label %lpad44.i945 - -invoke.cont45.i950: ; preds = %invoke.cont35.i940 - store i64 %sub.ptr.div.i.i.i.i76.i944, ptr %ref.tmp46.i713, align 8 + %sub.ptr.lhs.cast.i.i.i.i74.i941 = ptrtoint ptr %417 to i64 + %sub.ptr.sub.i.i.i.i75.i942 = sub i64 %sub.ptr.lhs.cast.i.i.i.i74.i941, %424 + %sub.ptr.div.i.i.i.i76.i943 = ashr exact i64 %sub.ptr.sub.i.i.i.i75.i942, 3 + invoke void @_ZN4absl23inlined_vector_internal7StorageINS_13test_internal20CopyableOnlyInstanceELm3ESaIS3_EE6AssignINS0_20IteratorValueAdapterIS4_N9__gnu_cxx17__normal_iteratorIPKS3_St6vectorIS3_S4_EEEEEEEvT_m(ptr noundef nonnull align 8 dereferenceable(32) %v.i711, ptr %416, i64 noundef %sub.ptr.div.i.i.i.i76.i943) + to label %invoke.cont45.i949 unwind label %lpad44.i944 + +invoke.cont45.i949: ; preds = %invoke.cont35.i939 + store i64 %sub.ptr.div.i.i.i.i76.i943, ptr %ref.tmp46.i713, align 8 %425 = load i64, ptr %v.i711, align 8 - %shr.i.i.i951 = lshr i64 %425, 1 - store i64 %shr.i.i.i951, ptr %ref.tmp48.i714, align 8 - %cmp.i.i79.i952 = icmp eq i64 %sub.ptr.div.i.i.i.i76.i944, %shr.i.i.i951 - br i1 %cmp.i.i79.i952, label %if.then.i.i81.i1215, label %if.end.i.i80.i953 + %shr.i.i.i950 = lshr i64 %425, 1 + store i64 %shr.i.i.i950, ptr %ref.tmp48.i714, align 8 + %cmp.i.i79.i951 = icmp eq i64 %sub.ptr.div.i.i.i.i76.i943, %shr.i.i.i950 + br i1 %cmp.i.i79.i951, label %if.then.i.i81.i1214, label %if.end.i.i80.i952 -if.then.i.i81.i1215: ; preds = %invoke.cont45.i950 +if.then.i.i81.i1214: ; preds = %invoke.cont45.i949 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i712) - to label %invoke.cont50.i954 unwind label %lpad44.i945 + to label %invoke.cont50.i953 unwind label %lpad44.i944 -if.end.i.i80.i953: ; preds = %invoke.cont45.i950 +if.end.i.i80.i952: ; preds = %invoke.cont45.i949 invoke void @_ZN7testing8internal18CmpHelperEQFailureImmEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i712, ptr noundef nonnull @.str.396, ptr noundef nonnull @.str.185, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46.i713, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp48.i714) - to label %invoke.cont50.i954 unwind label %lpad44.i945 + to label %invoke.cont50.i953 unwind label %lpad44.i944 -invoke.cont50.i954: ; preds = %if.end.i.i80.i953, %if.then.i.i81.i1215 +invoke.cont50.i953: ; preds = %if.end.i.i80.i952, %if.then.i.i81.i1214 %426 = load i8, ptr %gtest_ar.i712, align 8 %427 = and i8 %426, 1 - %tobool.i.not.i955 = icmp eq i8 %427, 0 - br i1 %tobool.i.not.i955, label %if.else.i1189, label %if.end.i956 + %tobool.i.not.i954 = icmp eq i8 %427, 0 + br i1 %tobool.i.not.i954, label %if.else.i1188, label %if.end.i955 -lpad44.i945: ; preds = %if.end.i.i126.i1128, %if.then.i.i127.i1161, %if.else.i.i1188, %if.then.i.i964, %if.end.i.i80.i953, %if.then.i.i81.i1215, %invoke.cont35.i940 +lpad44.i944: ; preds = %if.end.i.i126.i1127, %if.then.i.i127.i1160, %if.else.i.i1187, %if.then.i.i963, %if.end.i.i80.i952, %if.then.i.i81.i1214, %invoke.cont35.i939 %428 = landingpad { ptr, i32 } cleanup - br label %ehcleanup142.i946 + br label %ehcleanup142.i945 -if.else.i1189: ; preds = %invoke.cont50.i954 +if.else.i1188: ; preds = %invoke.cont50.i953 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52.i715) - to label %invoke.cont54.i1193 unwind label %lpad53.i1190 + to label %invoke.cont54.i1192 unwind label %lpad53.i1189 -invoke.cont54.i1193: ; preds = %if.else.i1189 +invoke.cont54.i1192: ; preds = %if.else.i1188 %429 = load ptr, ptr %message_.i.i.i735, align 8 - %cmp.i.i.not.i.i.i1194 = icmp eq ptr %429, null - br i1 %cmp.i.i.not.i.i.i1194, label %invoke.cont57.i1197, label %cond.true.i.i.i1195 + %cmp.i.i.not.i.i.i1193 = icmp eq ptr %429, null + br i1 %cmp.i.i.not.i.i.i1193, label %invoke.cont57.i1196, label %cond.true.i.i.i1194 -cond.true.i.i.i1195: ; preds = %invoke.cont54.i1193 - %call4.i.i.i1196 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %429) #29 - br label %invoke.cont57.i1197 +cond.true.i.i.i1194: ; preds = %invoke.cont54.i1192 + %call4.i.i.i1195 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %429) #29 + br label %invoke.cont57.i1196 -invoke.cont57.i1197: ; preds = %cond.true.i.i.i1195, %invoke.cont54.i1193 - %cond.i.i.i1198 = phi ptr [ %call4.i.i.i1196, %cond.true.i.i.i1195 ], [ @.str.202, %invoke.cont54.i1193 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i716, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1476, ptr noundef %cond.i.i.i1198) - to label %invoke.cont59.i1207 unwind label %lpad56.i1199 +invoke.cont57.i1196: ; preds = %cond.true.i.i.i1194, %invoke.cont54.i1192 + %cond.i.i.i1197 = phi ptr [ %call4.i.i.i1195, %cond.true.i.i.i1194 ], [ @.str.202, %invoke.cont54.i1192 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i716, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1476, ptr noundef %cond.i.i.i1197) + to label %invoke.cont59.i1206 unwind label %lpad56.i1198 -invoke.cont59.i1207: ; preds = %invoke.cont57.i1197 +invoke.cont59.i1206: ; preds = %invoke.cont57.i1196 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i716, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52.i715) - to label %invoke.cont61.i1209 unwind label %lpad60.i1208 + to label %invoke.cont61.i1208 unwind label %lpad60.i1207 -invoke.cont61.i1209: ; preds = %invoke.cont59.i1207 +invoke.cont61.i1208: ; preds = %invoke.cont59.i1206 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i716) #29 %430 = load ptr, ptr %ref.tmp52.i715, align 8 - %cmp.not.i.i84.i1210 = icmp eq ptr %430, null - br i1 %cmp.not.i.i84.i1210, label %_ZN7testing7MessageD2Ev.exit.i1214, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1211 + %cmp.not.i.i84.i1209 = icmp eq ptr %430, null + br i1 %cmp.not.i.i84.i1209, label %_ZN7testing7MessageD2Ev.exit.i1213, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1210 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1211: ; preds = %invoke.cont61.i1209 - %vtable.i.i.i.i1212 = load ptr, ptr %430, align 8 - %vfn.i.i.i.i1213 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i1212, i64 1 - %431 = load ptr, ptr %vfn.i.i.i.i1213, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1210: ; preds = %invoke.cont61.i1208 + %vtable.i.i.i.i1211 = load ptr, ptr %430, align 8 + %vfn.i.i.i.i1212 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i1211, i64 1 + %431 = load ptr, ptr %vfn.i.i.i.i1212, align 8 call void %431(ptr noundef nonnull align 8 dereferenceable(128) %430) #29 - br label %_ZN7testing7MessageD2Ev.exit.i1214 + br label %_ZN7testing7MessageD2Ev.exit.i1213 -_ZN7testing7MessageD2Ev.exit.i1214: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1211, %invoke.cont61.i1209 +_ZN7testing7MessageD2Ev.exit.i1213: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1210, %invoke.cont61.i1208 store ptr null, ptr %ref.tmp52.i715, align 8 - br label %if.end.i956 + br label %if.end.i955 -lpad53.i1190: ; preds = %if.else.i1189 +lpad53.i1189: ; preds = %if.else.i1188 %432 = landingpad { ptr, i32 } cleanup - br label %ehcleanup62.i1191 + br label %ehcleanup62.i1190 -lpad56.i1199: ; preds = %invoke.cont57.i1197 +lpad56.i1198: ; preds = %invoke.cont57.i1196 %433 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i1200 + br label %ehcleanup.i1199 -lpad60.i1208: ; preds = %invoke.cont59.i1207 +lpad60.i1207: ; preds = %invoke.cont59.i1206 %434 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i716) #29 - br label %ehcleanup.i1200 + br label %ehcleanup.i1199 -ehcleanup.i1200: ; preds = %lpad60.i1208, %lpad56.i1199 - %.pn.i1201 = phi { ptr, i32 } [ %434, %lpad60.i1208 ], [ %433, %lpad56.i1199 ] +ehcleanup.i1199: ; preds = %lpad60.i1207, %lpad56.i1198 + %.pn.i1200 = phi { ptr, i32 } [ %434, %lpad60.i1207 ], [ %433, %lpad56.i1198 ] %435 = load ptr, ptr %ref.tmp52.i715, align 8 - %cmp.not.i.i85.i1202 = icmp eq ptr %435, null - br i1 %cmp.not.i.i85.i1202, label %_ZN7testing7MessageD2Ev.exit89.i1206, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1203 + %cmp.not.i.i85.i1201 = icmp eq ptr %435, null + br i1 %cmp.not.i.i85.i1201, label %_ZN7testing7MessageD2Ev.exit89.i1205, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1202 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1203: ; preds = %ehcleanup.i1200 - %vtable.i.i.i87.i1204 = load ptr, ptr %435, align 8 - %vfn.i.i.i88.i1205 = getelementptr inbounds ptr, ptr %vtable.i.i.i87.i1204, i64 1 - %436 = load ptr, ptr %vfn.i.i.i88.i1205, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1202: ; preds = %ehcleanup.i1199 + %vtable.i.i.i87.i1203 = load ptr, ptr %435, align 8 + %vfn.i.i.i88.i1204 = getelementptr inbounds ptr, ptr %vtable.i.i.i87.i1203, i64 1 + %436 = load ptr, ptr %vfn.i.i.i88.i1204, align 8 call void %436(ptr noundef nonnull align 8 dereferenceable(128) %435) #29 - br label %_ZN7testing7MessageD2Ev.exit89.i1206 + br label %_ZN7testing7MessageD2Ev.exit89.i1205 -_ZN7testing7MessageD2Ev.exit89.i1206: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1203, %ehcleanup.i1200 +_ZN7testing7MessageD2Ev.exit89.i1205: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1202, %ehcleanup.i1199 store ptr null, ptr %ref.tmp52.i715, align 8 - br label %ehcleanup62.i1191 + br label %ehcleanup62.i1190 -if.end.i956: ; preds = %_ZN7testing7MessageD2Ev.exit.i1214, %invoke.cont50.i954 +if.end.i955: ; preds = %_ZN7testing7MessageD2Ev.exit.i1213, %invoke.cont50.i953 %437 = load ptr, ptr %message_.i.i.i735, align 8 - %cmp.not.i.i90.i957 = icmp eq ptr %437, null - br i1 %cmp.not.i.i90.i957, label %_ZN7testing15AssertionResultD2Ev.exit.i959, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i958 + %cmp.not.i.i90.i956 = icmp eq ptr %437, null + br i1 %cmp.not.i.i90.i956, label %_ZN7testing15AssertionResultD2Ev.exit.i958, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i957 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i958: ; preds = %if.end.i956 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i957: ; preds = %if.end.i955 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %437) #29 call void @_ZdlPv(ptr noundef nonnull %437) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit.i959 + br label %_ZN7testing15AssertionResultD2Ev.exit.i958 -_ZN7testing15AssertionResultD2Ev.exit.i959: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i958, %if.end.i956 +_ZN7testing15AssertionResultD2Ev.exit.i958: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i957, %if.end.i955 store ptr null, ptr %message_.i.i.i735, align 8 - store i64 %sub.ptr.div.i.i.i.i76.i944, ptr %ref.tmp64.i718, align 8 + store i64 %sub.ptr.div.i.i.i.i76.i943, ptr %ref.tmp64.i718, align 8 %438 = load i64, ptr %v.i711, align 8 - %and.i.i.i960 = and i64 %438, 1 - %tobool.i.not.i.i961 = icmp eq i64 %and.i.i.i960, 0 + %and.i.i.i959 = and i64 %438, 1 + %tobool.i.not.i.i960 = icmp eq i64 %and.i.i.i959, 0 %439 = load i64, ptr %allocated_capacity.i.i.i.i734, align 8 - %cond.i.i962 = select i1 %tobool.i.not.i.i961, i64 3, i64 %439 - store i64 %cond.i.i962, ptr %ref.tmp66.i719, align 8 - %cmp.not.i.i963 = icmp ugt i64 %sub.ptr.div.i.i.i.i76.i944, %cond.i.i962 - br i1 %cmp.not.i.i963, label %if.else.i.i1188, label %if.then.i.i964 + %cond.i.i961 = select i1 %tobool.i.not.i.i960, i64 3, i64 %439 + store i64 %cond.i.i961, ptr %ref.tmp66.i719, align 8 + %cmp.not.i.i962 = icmp ugt i64 %sub.ptr.div.i.i.i.i76.i943, %cond.i.i961 + br i1 %cmp.not.i.i962, label %if.else.i.i1187, label %if.then.i.i963 -if.then.i.i964: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i959 +if.then.i.i963: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i958 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar63.i717) - to label %invoke.cont68.i965 unwind label %lpad44.i945 + to label %invoke.cont68.i964 unwind label %lpad44.i944 -if.else.i.i1188: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i959 +if.else.i.i1187: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i958 invoke void @_ZN7testing8internal18CmpHelperOpFailureImmEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar63.i717, ptr noundef nonnull @.str.396, ptr noundef nonnull @.str.186, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i718, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp66.i719, ptr noundef nonnull @.str.203) - to label %invoke.cont68.i965 unwind label %lpad44.i945 + to label %invoke.cont68.i964 unwind label %lpad44.i944 -invoke.cont68.i965: ; preds = %if.else.i.i1188, %if.then.i.i964 +invoke.cont68.i964: ; preds = %if.else.i.i1187, %if.then.i.i963 %440 = load i8, ptr %gtest_ar63.i717, align 8 %441 = and i8 %440, 1 - %tobool.i99.not.i966 = icmp eq i8 %441, 0 - br i1 %tobool.i99.not.i966, label %if.else71.i1162, label %if.end84.i967 + %tobool.i99.not.i965 = icmp eq i8 %441, 0 + br i1 %tobool.i99.not.i965, label %if.else71.i1161, label %if.end84.i966 -ehcleanup62.i1191: ; preds = %_ZN7testing7MessageD2Ev.exit89.i1206, %lpad53.i1190 - %.pn.pn.i1192 = phi { ptr, i32 } [ %.pn.i1201, %_ZN7testing7MessageD2Ev.exit89.i1206 ], [ %432, %lpad53.i1190 ] +ehcleanup62.i1190: ; preds = %_ZN7testing7MessageD2Ev.exit89.i1205, %lpad53.i1189 + %.pn.pn.i1191 = phi { ptr, i32 } [ %.pn.i1200, %_ZN7testing7MessageD2Ev.exit89.i1205 ], [ %432, %lpad53.i1189 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i712) #29 - br label %ehcleanup142.i946 + br label %ehcleanup142.i945 -if.else71.i1162: ; preds = %invoke.cont68.i965 +if.else71.i1161: ; preds = %invoke.cont68.i964 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72.i720) - to label %invoke.cont74.i1166 unwind label %lpad73.i1163 + to label %invoke.cont74.i1165 unwind label %lpad73.i1162 -invoke.cont74.i1166: ; preds = %if.else71.i1162 +invoke.cont74.i1165: ; preds = %if.else71.i1161 %442 = load ptr, ptr %message_.i.i100.i736, align 8 - %cmp.i.i.not.i.i101.i1167 = icmp eq ptr %442, null - br i1 %cmp.i.i.not.i.i101.i1167, label %invoke.cont77.i1170, label %cond.true.i.i102.i1168 + %cmp.i.i.not.i.i101.i1166 = icmp eq ptr %442, null + br i1 %cmp.i.i.not.i.i101.i1166, label %invoke.cont77.i1169, label %cond.true.i.i102.i1167 -cond.true.i.i102.i1168: ; preds = %invoke.cont74.i1166 - %call4.i.i103.i1169 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %442) #29 - br label %invoke.cont77.i1170 +cond.true.i.i102.i1167: ; preds = %invoke.cont74.i1165 + %call4.i.i103.i1168 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %442) #29 + br label %invoke.cont77.i1169 -invoke.cont77.i1170: ; preds = %cond.true.i.i102.i1168, %invoke.cont74.i1166 - %cond.i.i104.i1171 = phi ptr [ %call4.i.i103.i1169, %cond.true.i.i102.i1168 ], [ @.str.202, %invoke.cont74.i1166 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i721, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1477, ptr noundef %cond.i.i104.i1171) - to label %invoke.cont79.i1180 unwind label %lpad76.i1172 +invoke.cont77.i1169: ; preds = %cond.true.i.i102.i1167, %invoke.cont74.i1165 + %cond.i.i104.i1170 = phi ptr [ %call4.i.i103.i1168, %cond.true.i.i102.i1167 ], [ @.str.202, %invoke.cont74.i1165 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i721, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1477, ptr noundef %cond.i.i104.i1170) + to label %invoke.cont79.i1179 unwind label %lpad76.i1171 -invoke.cont79.i1180: ; preds = %invoke.cont77.i1170 +invoke.cont79.i1179: ; preds = %invoke.cont77.i1169 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i721, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72.i720) - to label %invoke.cont81.i1182 unwind label %lpad80.i1181 + to label %invoke.cont81.i1181 unwind label %lpad80.i1180 -invoke.cont81.i1182: ; preds = %invoke.cont79.i1180 +invoke.cont81.i1181: ; preds = %invoke.cont79.i1179 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i721) #29 %443 = load ptr, ptr %ref.tmp72.i720, align 8 - %cmp.not.i.i106.i1183 = icmp eq ptr %443, null - br i1 %cmp.not.i.i106.i1183, label %_ZN7testing7MessageD2Ev.exit110.i1187, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1184 + %cmp.not.i.i106.i1182 = icmp eq ptr %443, null + br i1 %cmp.not.i.i106.i1182, label %_ZN7testing7MessageD2Ev.exit110.i1186, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1183 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1184: ; preds = %invoke.cont81.i1182 - %vtable.i.i.i108.i1185 = load ptr, ptr %443, align 8 - %vfn.i.i.i109.i1186 = getelementptr inbounds ptr, ptr %vtable.i.i.i108.i1185, i64 1 - %444 = load ptr, ptr %vfn.i.i.i109.i1186, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1183: ; preds = %invoke.cont81.i1181 + %vtable.i.i.i108.i1184 = load ptr, ptr %443, align 8 + %vfn.i.i.i109.i1185 = getelementptr inbounds ptr, ptr %vtable.i.i.i108.i1184, i64 1 + %444 = load ptr, ptr %vfn.i.i.i109.i1185, align 8 call void %444(ptr noundef nonnull align 8 dereferenceable(128) %443) #29 - br label %_ZN7testing7MessageD2Ev.exit110.i1187 + br label %_ZN7testing7MessageD2Ev.exit110.i1186 -_ZN7testing7MessageD2Ev.exit110.i1187: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1184, %invoke.cont81.i1182 +_ZN7testing7MessageD2Ev.exit110.i1186: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1183, %invoke.cont81.i1181 store ptr null, ptr %ref.tmp72.i720, align 8 - br label %if.end84.i967 + br label %if.end84.i966 -lpad73.i1163: ; preds = %if.else71.i1162 +lpad73.i1162: ; preds = %if.else71.i1161 %445 = landingpad { ptr, i32 } cleanup - br label %ehcleanup85.i1164 + br label %ehcleanup85.i1163 -lpad76.i1172: ; preds = %invoke.cont77.i1170 +lpad76.i1171: ; preds = %invoke.cont77.i1169 %446 = landingpad { ptr, i32 } cleanup - br label %ehcleanup83.i1173 + br label %ehcleanup83.i1172 -lpad80.i1181: ; preds = %invoke.cont79.i1180 +lpad80.i1180: ; preds = %invoke.cont79.i1179 %447 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i721) #29 - br label %ehcleanup83.i1173 + br label %ehcleanup83.i1172 -ehcleanup83.i1173: ; preds = %lpad80.i1181, %lpad76.i1172 - %.pn6.i1174 = phi { ptr, i32 } [ %447, %lpad80.i1181 ], [ %446, %lpad76.i1172 ] +ehcleanup83.i1172: ; preds = %lpad80.i1180, %lpad76.i1171 + %.pn6.i1173 = phi { ptr, i32 } [ %447, %lpad80.i1180 ], [ %446, %lpad76.i1171 ] %448 = load ptr, ptr %ref.tmp72.i720, align 8 - %cmp.not.i.i111.i1175 = icmp eq ptr %448, null - br i1 %cmp.not.i.i111.i1175, label %_ZN7testing7MessageD2Ev.exit115.i1179, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1176 + %cmp.not.i.i111.i1174 = icmp eq ptr %448, null + br i1 %cmp.not.i.i111.i1174, label %_ZN7testing7MessageD2Ev.exit115.i1178, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1175 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1176: ; preds = %ehcleanup83.i1173 - %vtable.i.i.i113.i1177 = load ptr, ptr %448, align 8 - %vfn.i.i.i114.i1178 = getelementptr inbounds ptr, ptr %vtable.i.i.i113.i1177, i64 1 - %449 = load ptr, ptr %vfn.i.i.i114.i1178, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1175: ; preds = %ehcleanup83.i1172 + %vtable.i.i.i113.i1176 = load ptr, ptr %448, align 8 + %vfn.i.i.i114.i1177 = getelementptr inbounds ptr, ptr %vtable.i.i.i113.i1176, i64 1 + %449 = load ptr, ptr %vfn.i.i.i114.i1177, align 8 call void %449(ptr noundef nonnull align 8 dereferenceable(128) %448) #29 - br label %_ZN7testing7MessageD2Ev.exit115.i1179 + br label %_ZN7testing7MessageD2Ev.exit115.i1178 -_ZN7testing7MessageD2Ev.exit115.i1179: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1176, %ehcleanup83.i1173 +_ZN7testing7MessageD2Ev.exit115.i1178: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1175, %ehcleanup83.i1172 store ptr null, ptr %ref.tmp72.i720, align 8 - br label %ehcleanup85.i1164 + br label %ehcleanup85.i1163 -if.end84.i967: ; preds = %_ZN7testing7MessageD2Ev.exit110.i1187, %invoke.cont68.i965 +if.end84.i966: ; preds = %_ZN7testing7MessageD2Ev.exit110.i1186, %invoke.cont68.i964 %450 = load ptr, ptr %message_.i.i100.i736, align 8 - %cmp.not.i.i117.i968 = icmp eq ptr %450, null - br i1 %cmp.not.i.i117.i968, label %_ZN7testing15AssertionResultD2Ev.exit119.i970, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i969 + %cmp.not.i.i117.i967 = icmp eq ptr %450, null + br i1 %cmp.not.i.i117.i967, label %_ZN7testing15AssertionResultD2Ev.exit119.i969, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i968 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i969: ; preds = %if.end84.i967 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i968: ; preds = %if.end84.i966 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %450) #29 call void @_ZdlPv(ptr noundef nonnull %450) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit119.i970 + br label %_ZN7testing15AssertionResultD2Ev.exit119.i969 -_ZN7testing15AssertionResultD2Ev.exit119.i970: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i969, %if.end84.i967 +_ZN7testing15AssertionResultD2Ev.exit119.i969: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i968, %if.end84.i966 store ptr null, ptr %message_.i.i100.i736, align 8 - %cmp86.i971 = icmp ult i64 %storemerge3547.i781, 4 + %cmp86.i970 = icmp ult i64 %storemerge3547.i781, 4 %451 = load i64, ptr %original_size.i707, align 8 - %cmp87.i972 = icmp ult i64 %451, 4 - %or.cond.i973 = select i1 %cmp86.i971, i1 %cmp87.i972, i1 false - br i1 %or.cond.i973, label %if.then88.i1123, label %if.end111.i974 + %cmp87.i971 = icmp ult i64 %451, 4 + %or.cond.i972 = select i1 %cmp86.i970, i1 %cmp87.i971, i1 false + br i1 %or.cond.i972, label %if.then88.i1122, label %if.end111.i973 -if.then88.i1123: ; preds = %_ZN7testing15AssertionResultD2Ev.exit119.i970 +if.then88.i1122: ; preds = %_ZN7testing15AssertionResultD2Ev.exit119.i969 store i32 3, ptr %ref.tmp90.i723, align 4 %452 = load i64, ptr %v.i711, align 8 - %and.i.i121.i1124 = and i64 %452, 1 - %tobool.i.not.i122.i1125 = icmp eq i64 %and.i.i121.i1124, 0 + %and.i.i121.i1123 = and i64 %452, 1 + %tobool.i.not.i122.i1124 = icmp eq i64 %and.i.i121.i1123, 0 %453 = load i64, ptr %allocated_capacity.i.i.i.i734, align 8 - %cond.i124.i1126 = select i1 %tobool.i.not.i122.i1125, i64 3, i64 %453 - store i64 %cond.i124.i1126, ptr %ref.tmp91.i724, align 8 - %cmp.i.i125.i1127 = icmp eq i64 %cond.i124.i1126, 3 - br i1 %cmp.i.i125.i1127, label %if.then.i.i127.i1161, label %if.end.i.i126.i1128 + %cond.i124.i1125 = select i1 %tobool.i.not.i122.i1124, i64 3, i64 %453 + store i64 %cond.i124.i1125, ptr %ref.tmp91.i724, align 8 + %cmp.i.i125.i1126 = icmp eq i64 %cond.i124.i1125, 3 + br i1 %cmp.i.i125.i1126, label %if.then.i.i127.i1160, label %if.end.i.i126.i1127 -if.then.i.i127.i1161: ; preds = %if.then88.i1123 +if.then.i.i127.i1160: ; preds = %if.then88.i1122 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar89.i722) - to label %invoke.cont93.i1129 unwind label %lpad44.i945 + to label %invoke.cont93.i1128 unwind label %lpad44.i944 -if.end.i.i126.i1128: ; preds = %if.then88.i1123 +if.end.i.i126.i1127: ; preds = %if.then88.i1122 invoke void @_ZN7testing8internal18CmpHelperEQFailureIjmEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar89.i722, ptr noundef nonnull @.str.288, ptr noundef nonnull @.str.186, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp90.i723, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp91.i724) - to label %invoke.cont93.i1129 unwind label %lpad44.i945 + to label %invoke.cont93.i1128 unwind label %lpad44.i944 -invoke.cont93.i1129: ; preds = %if.end.i.i126.i1128, %if.then.i.i127.i1161 +invoke.cont93.i1128: ; preds = %if.end.i.i126.i1127, %if.then.i.i127.i1160 %454 = load i8, ptr %gtest_ar89.i722, align 8 %455 = and i8 %454, 1 - %tobool.i130.not.i1130 = icmp eq i8 %455, 0 - br i1 %tobool.i130.not.i1130, label %if.else96.i1135, label %if.end109.i1131 + %tobool.i130.not.i1129 = icmp eq i8 %455, 0 + br i1 %tobool.i130.not.i1129, label %if.else96.i1134, label %if.end109.i1130 -ehcleanup85.i1164: ; preds = %_ZN7testing7MessageD2Ev.exit115.i1179, %lpad73.i1163 - %.pn6.pn.i1165 = phi { ptr, i32 } [ %.pn6.i1174, %_ZN7testing7MessageD2Ev.exit115.i1179 ], [ %445, %lpad73.i1163 ] +ehcleanup85.i1163: ; preds = %_ZN7testing7MessageD2Ev.exit115.i1178, %lpad73.i1162 + %.pn6.pn.i1164 = phi { ptr, i32 } [ %.pn6.i1173, %_ZN7testing7MessageD2Ev.exit115.i1178 ], [ %445, %lpad73.i1162 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar63.i717) #29 - br label %ehcleanup142.i946 + br label %ehcleanup142.i945 -if.else96.i1135: ; preds = %invoke.cont93.i1129 +if.else96.i1134: ; preds = %invoke.cont93.i1128 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp97.i725) - to label %invoke.cont99.i1139 unwind label %lpad98.i1136 + to label %invoke.cont99.i1138 unwind label %lpad98.i1135 -invoke.cont99.i1139: ; preds = %if.else96.i1135 +invoke.cont99.i1138: ; preds = %if.else96.i1134 %456 = load ptr, ptr %message_.i.i131.i737, align 8 - %cmp.i.i.not.i.i132.i1140 = icmp eq ptr %456, null - br i1 %cmp.i.i.not.i.i132.i1140, label %invoke.cont102.i1143, label %cond.true.i.i133.i1141 + %cmp.i.i.not.i.i132.i1139 = icmp eq ptr %456, null + br i1 %cmp.i.i.not.i.i132.i1139, label %invoke.cont102.i1142, label %cond.true.i.i133.i1140 -cond.true.i.i133.i1141: ; preds = %invoke.cont99.i1139 - %call4.i.i134.i1142 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %456) #29 - br label %invoke.cont102.i1143 +cond.true.i.i133.i1140: ; preds = %invoke.cont99.i1138 + %call4.i.i134.i1141 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %456) #29 + br label %invoke.cont102.i1142 -invoke.cont102.i1143: ; preds = %cond.true.i.i133.i1141, %invoke.cont99.i1139 - %cond.i.i135.i1144 = phi ptr [ %call4.i.i134.i1142, %cond.true.i.i133.i1141 ], [ @.str.202, %invoke.cont99.i1139 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i726, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1480, ptr noundef %cond.i.i135.i1144) - to label %invoke.cont104.i1153 unwind label %lpad101.i1145 +invoke.cont102.i1142: ; preds = %cond.true.i.i133.i1140, %invoke.cont99.i1138 + %cond.i.i135.i1143 = phi ptr [ %call4.i.i134.i1141, %cond.true.i.i133.i1140 ], [ @.str.202, %invoke.cont99.i1138 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i726, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1480, ptr noundef %cond.i.i135.i1143) + to label %invoke.cont104.i1152 unwind label %lpad101.i1144 -invoke.cont104.i1153: ; preds = %invoke.cont102.i1143 +invoke.cont104.i1152: ; preds = %invoke.cont102.i1142 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i726, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp97.i725) - to label %invoke.cont106.i1155 unwind label %lpad105.i1154 + to label %invoke.cont106.i1154 unwind label %lpad105.i1153 -invoke.cont106.i1155: ; preds = %invoke.cont104.i1153 +invoke.cont106.i1154: ; preds = %invoke.cont104.i1152 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i726) #29 %457 = load ptr, ptr %ref.tmp97.i725, align 8 - %cmp.not.i.i137.i1156 = icmp eq ptr %457, null - br i1 %cmp.not.i.i137.i1156, label %_ZN7testing7MessageD2Ev.exit141.i1160, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1157 + %cmp.not.i.i137.i1155 = icmp eq ptr %457, null + br i1 %cmp.not.i.i137.i1155, label %_ZN7testing7MessageD2Ev.exit141.i1159, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1156 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1157: ; preds = %invoke.cont106.i1155 - %vtable.i.i.i139.i1158 = load ptr, ptr %457, align 8 - %vfn.i.i.i140.i1159 = getelementptr inbounds ptr, ptr %vtable.i.i.i139.i1158, i64 1 - %458 = load ptr, ptr %vfn.i.i.i140.i1159, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1156: ; preds = %invoke.cont106.i1154 + %vtable.i.i.i139.i1157 = load ptr, ptr %457, align 8 + %vfn.i.i.i140.i1158 = getelementptr inbounds ptr, ptr %vtable.i.i.i139.i1157, i64 1 + %458 = load ptr, ptr %vfn.i.i.i140.i1158, align 8 call void %458(ptr noundef nonnull align 8 dereferenceable(128) %457) #29 - br label %_ZN7testing7MessageD2Ev.exit141.i1160 + br label %_ZN7testing7MessageD2Ev.exit141.i1159 -_ZN7testing7MessageD2Ev.exit141.i1160: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1157, %invoke.cont106.i1155 +_ZN7testing7MessageD2Ev.exit141.i1159: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1156, %invoke.cont106.i1154 store ptr null, ptr %ref.tmp97.i725, align 8 - br label %if.end109.i1131 + br label %if.end109.i1130 -lpad98.i1136: ; preds = %if.else96.i1135 +lpad98.i1135: ; preds = %if.else96.i1134 %459 = landingpad { ptr, i32 } cleanup - br label %ehcleanup110.i1137 + br label %ehcleanup110.i1136 -lpad101.i1145: ; preds = %invoke.cont102.i1143 +lpad101.i1144: ; preds = %invoke.cont102.i1142 %460 = landingpad { ptr, i32 } cleanup - br label %ehcleanup108.i1146 + br label %ehcleanup108.i1145 -lpad105.i1154: ; preds = %invoke.cont104.i1153 +lpad105.i1153: ; preds = %invoke.cont104.i1152 %461 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i726) #29 - br label %ehcleanup108.i1146 + br label %ehcleanup108.i1145 -ehcleanup108.i1146: ; preds = %lpad105.i1154, %lpad101.i1145 - %.pn9.i1147 = phi { ptr, i32 } [ %461, %lpad105.i1154 ], [ %460, %lpad101.i1145 ] +ehcleanup108.i1145: ; preds = %lpad105.i1153, %lpad101.i1144 + %.pn9.i1146 = phi { ptr, i32 } [ %461, %lpad105.i1153 ], [ %460, %lpad101.i1144 ] %462 = load ptr, ptr %ref.tmp97.i725, align 8 - %cmp.not.i.i142.i1148 = icmp eq ptr %462, null - br i1 %cmp.not.i.i142.i1148, label %_ZN7testing7MessageD2Ev.exit146.i1152, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1149 + %cmp.not.i.i142.i1147 = icmp eq ptr %462, null + br i1 %cmp.not.i.i142.i1147, label %_ZN7testing7MessageD2Ev.exit146.i1151, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1148 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1149: ; preds = %ehcleanup108.i1146 - %vtable.i.i.i144.i1150 = load ptr, ptr %462, align 8 - %vfn.i.i.i145.i1151 = getelementptr inbounds ptr, ptr %vtable.i.i.i144.i1150, i64 1 - %463 = load ptr, ptr %vfn.i.i.i145.i1151, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1148: ; preds = %ehcleanup108.i1145 + %vtable.i.i.i144.i1149 = load ptr, ptr %462, align 8 + %vfn.i.i.i145.i1150 = getelementptr inbounds ptr, ptr %vtable.i.i.i144.i1149, i64 1 + %463 = load ptr, ptr %vfn.i.i.i145.i1150, align 8 call void %463(ptr noundef nonnull align 8 dereferenceable(128) %462) #29 - br label %_ZN7testing7MessageD2Ev.exit146.i1152 + br label %_ZN7testing7MessageD2Ev.exit146.i1151 -_ZN7testing7MessageD2Ev.exit146.i1152: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1149, %ehcleanup108.i1146 +_ZN7testing7MessageD2Ev.exit146.i1151: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1148, %ehcleanup108.i1145 store ptr null, ptr %ref.tmp97.i725, align 8 - br label %ehcleanup110.i1137 + br label %ehcleanup110.i1136 -if.end109.i1131: ; preds = %_ZN7testing7MessageD2Ev.exit141.i1160, %invoke.cont93.i1129 +if.end109.i1130: ; preds = %_ZN7testing7MessageD2Ev.exit141.i1159, %invoke.cont93.i1128 %464 = load ptr, ptr %message_.i.i131.i737, align 8 - %cmp.not.i.i148.i1132 = icmp eq ptr %464, null - br i1 %cmp.not.i.i148.i1132, label %_ZN7testing15AssertionResultD2Ev.exit150.i1134, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1133 + %cmp.not.i.i148.i1131 = icmp eq ptr %464, null + br i1 %cmp.not.i.i148.i1131, label %_ZN7testing15AssertionResultD2Ev.exit150.i1133, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1132 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1133: ; preds = %if.end109.i1131 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1132: ; preds = %if.end109.i1130 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %464) #29 call void @_ZdlPv(ptr noundef nonnull %464) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit150.i1134 + br label %_ZN7testing15AssertionResultD2Ev.exit150.i1133 -_ZN7testing15AssertionResultD2Ev.exit150.i1134: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1133, %if.end109.i1131 +_ZN7testing15AssertionResultD2Ev.exit150.i1133: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1132, %if.end109.i1130 store ptr null, ptr %message_.i.i131.i737, align 8 - br label %if.end111.i974 + br label %if.end111.i973 -ehcleanup110.i1137: ; preds = %_ZN7testing7MessageD2Ev.exit146.i1152, %lpad98.i1136 - %.pn9.pn.i1138 = phi { ptr, i32 } [ %.pn9.i1147, %_ZN7testing7MessageD2Ev.exit146.i1152 ], [ %459, %lpad98.i1136 ] +ehcleanup110.i1136: ; preds = %_ZN7testing7MessageD2Ev.exit146.i1151, %lpad98.i1135 + %.pn9.pn.i1137 = phi { ptr, i32 } [ %.pn9.i1146, %_ZN7testing7MessageD2Ev.exit146.i1151 ], [ %459, %lpad98.i1135 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar89.i722) #29 - br label %ehcleanup142.i946 + br label %ehcleanup142.i945 -if.end111.i974: ; preds = %_ZN7testing15AssertionResultD2Ev.exit150.i1134, %_ZN7testing15AssertionResultD2Ev.exit119.i970 +if.end111.i973: ; preds = %_ZN7testing15AssertionResultD2Ev.exit150.i1133, %_ZN7testing15AssertionResultD2Ev.exit119.i969 %465 = load i64, ptr %v.i711, align 8 - %and.i.i.i.i975 = and i64 %465, 1 - %tobool.i.not.i.i.i976 = icmp eq i64 %and.i.i.i.i975, 0 + %and.i.i.i.i974 = and i64 %465, 1 + %tobool.i.not.i.i.i975 = icmp eq i64 %and.i.i.i.i974, 0 %466 = load ptr, ptr %data_.i4.i.i.i733, align 8 - %cond.i.i152.i977 = select i1 %tobool.i.not.i.i.i976, ptr %data_.i4.i.i.i733, ptr %466 - %shr.i.i.i.i978 = lshr i64 %465, 1 - %add.ptr.i.i979 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i.i152.i977, i64 %shr.i.i.i.i978 - %cmp.not4.i.i980 = icmp ult i64 %465, 2 - br i1 %cmp.not4.i.i980, label %if.end140.thread.i1120, label %for.body.i.i981 - -for.body.i.i981: ; preds = %if.end111.i974, %for.inc.i.i1116 - %__first1.addr.06.i.i982 = phi ptr [ %incdec.ptr.i.i1117, %for.inc.i.i1116 ], [ %cond.i.i152.i977, %if.end111.i974 ] - %__first2.sroa.0.05.i.i983 = phi ptr [ %incdec.ptr.i.i157.i1118, %for.inc.i.i1116 ], [ %416, %if.end111.i974 ] - %is_live_.i.i334.i984 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first1.addr.06.i.i982, i64 0, i32 1 - %467 = load i8, ptr %is_live_.i.i334.i984, align 4 + %cond.i.i152.i976 = select i1 %tobool.i.not.i.i.i975, ptr %data_.i4.i.i.i733, ptr %466 + %shr.i.i.i.i977 = lshr i64 %465, 1 + %add.ptr.i.i978 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i.i152.i976, i64 %shr.i.i.i.i977 + %cmp.not4.i.i979 = icmp ult i64 %465, 2 + br i1 %cmp.not4.i.i979, label %if.end140.thread.i1119, label %for.body.i.i980 + +for.body.i.i980: ; preds = %if.end111.i973, %for.inc.i.i1115 + %__first1.addr.06.i.i981 = phi ptr [ %incdec.ptr.i.i1116, %for.inc.i.i1115 ], [ %cond.i.i152.i976, %if.end111.i973 ] + %__first2.sroa.0.05.i.i982 = phi ptr [ %incdec.ptr.i.i157.i1117, %for.inc.i.i1115 ], [ %416, %if.end111.i973 ] + %is_live_.i.i334.i983 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first1.addr.06.i.i981, i64 0, i32 1 + %467 = load i8, ptr %is_live_.i.i334.i983, align 4 %468 = and i8 %467, 1 - %tobool.not.i.i335.i985 = icmp eq i8 %468, 0 - br i1 %tobool.not.i.i335.i985, label %if.then.i.i336.i1122, label %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i986 + %tobool.not.i.i335.i984 = icmp eq i8 %468, 0 + br i1 %tobool.not.i.i335.i984, label %if.then.i.i336.i1121, label %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i985 -if.then.i.i336.i1122: ; preds = %for.body.i.i981 +if.then.i.i336.i1121: ; preds = %for.body.i.i980 call void @abort() #28 unreachable -_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i986: ; preds = %for.body.i.i981 - %is_live_.i1.i.i987 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first2.sroa.0.05.i.i983, i64 0, i32 1 - %469 = load i8, ptr %is_live_.i1.i.i987, align 4 +_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i985: ; preds = %for.body.i.i980 + %is_live_.i1.i.i986 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first2.sroa.0.05.i.i982, i64 0, i32 1 + %469 = load i8, ptr %is_live_.i1.i.i986, align 4 %470 = and i8 %469, 1 - %tobool.not.i2.i.i988 = icmp eq i8 %470, 0 - br i1 %tobool.not.i2.i.i988, label %if.then.i3.i.i1121, label %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal20CopyableOnlyInstanceEEEbRKT_S6_.exit.i989 + %tobool.not.i2.i.i987 = icmp eq i8 %470, 0 + br i1 %tobool.not.i2.i.i987, label %if.then.i3.i.i1120, label %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal20CopyableOnlyInstanceEEEbRKT_S6_.exit.i988 -if.then.i3.i.i1121: ; preds = %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i986 +if.then.i3.i.i1120: ; preds = %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i985 call void @abort() #28 unreachable -_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal20CopyableOnlyInstanceEEEbRKT_S6_.exit.i989: ; preds = %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i986 - %471 = load i32, ptr %__first1.addr.06.i.i982, align 4 - %472 = load i32, ptr %__first2.sroa.0.05.i.i983, align 4 - %cmp.i.i990 = icmp eq i32 %471, %472 - br i1 %cmp.i.i990, label %for.inc.i.i1116, label %if.else124.i991 +_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal20CopyableOnlyInstanceEEEbRKT_S6_.exit.i988: ; preds = %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i985 + %471 = load i32, ptr %__first1.addr.06.i.i981, align 4 + %472 = load i32, ptr %__first2.sroa.0.05.i.i982, align 4 + %cmp.i.i989 = icmp eq i32 %471, %472 + br i1 %cmp.i.i989, label %for.inc.i.i1115, label %if.else124.i990 -for.inc.i.i1116: ; preds = %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal20CopyableOnlyInstanceEEEbRKT_S6_.exit.i989 - %incdec.ptr.i.i1117 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first1.addr.06.i.i982, i64 1 - %incdec.ptr.i.i157.i1118 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first2.sroa.0.05.i.i983, i64 1 - %cmp.not.i158.i1119 = icmp eq ptr %incdec.ptr.i.i1117, %add.ptr.i.i979 - br i1 %cmp.not.i158.i1119, label %if.end140.thread.i1120, label %for.body.i.i981, !llvm.loop !3438 +for.inc.i.i1115: ; preds = %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal20CopyableOnlyInstanceEEEbRKT_S6_.exit.i988 + %incdec.ptr.i.i1116 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first1.addr.06.i.i981, i64 1 + %incdec.ptr.i.i157.i1117 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first2.sroa.0.05.i.i982, i64 1 + %cmp.not.i158.i1118 = icmp eq ptr %incdec.ptr.i.i1116, %add.ptr.i.i978 + br i1 %cmp.not.i158.i1118, label %if.end140.thread.i1119, label %for.body.i.i980, !llvm.loop !3438 -if.end140.thread.i1120: ; preds = %for.inc.i.i1116, %if.end111.i974 +if.end140.thread.i1119: ; preds = %for.inc.i.i1115, %if.end111.i973 store i8 1, ptr %gtest_ar_.i727, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit174.i1020 + br label %_ZN7testing15AssertionResultD2Ev.exit174.i1019 -if.else124.i991: ; preds = %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal20CopyableOnlyInstanceEEEbRKT_S6_.exit.i989 +if.else124.i990: ; preds = %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal20CopyableOnlyInstanceEEEbRKT_S6_.exit.i988 store i8 0, ptr %gtest_ar_.i727, align 8 store ptr null, ptr %message_.i159.i738, align 8 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp125.i728) - to label %invoke.cont127.i995 unwind label %lpad126.i992 + to label %invoke.cont127.i994 unwind label %lpad126.i991 -invoke.cont127.i995: ; preds = %if.else124.i991 +invoke.cont127.i994: ; preds = %if.else124.i990 invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageB5cxx11ERKNS_15AssertionResultEPKcS5_S5_(ptr nonnull sret(%"class.std::__cxx11::basic_string") align 8 %ref.tmp129.i730, ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_.i727, ptr noundef nonnull @.str.512, ptr noundef nonnull @.str.263, ptr noundef nonnull @.str.264) - to label %invoke.cont131.i1004 unwind label %lpad130.i996 + to label %invoke.cont131.i1003 unwind label %lpad130.i995 -invoke.cont131.i1004: ; preds = %invoke.cont127.i995 - %call132.i1005 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129.i730) #29 - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i729, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1483, ptr noundef %call132.i1005) - to label %invoke.cont134.i1009 unwind label %lpad133.i1006 +invoke.cont131.i1003: ; preds = %invoke.cont127.i994 + %call132.i1004 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129.i730) #29 + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i729, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1483, ptr noundef %call132.i1004) + to label %invoke.cont134.i1008 unwind label %lpad133.i1005 -invoke.cont134.i1009: ; preds = %invoke.cont131.i1004 +invoke.cont134.i1008: ; preds = %invoke.cont131.i1003 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i729, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp125.i728) - to label %invoke.cont136.i1011 unwind label %lpad135.i1010 + to label %invoke.cont136.i1010 unwind label %lpad135.i1009 -invoke.cont136.i1011: ; preds = %invoke.cont134.i1009 +invoke.cont136.i1010: ; preds = %invoke.cont134.i1008 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i729) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129.i730) #29 %473 = load ptr, ptr %ref.tmp125.i728, align 8 - %cmp.not.i.i161.i1012 = icmp eq ptr %473, null - br i1 %cmp.not.i.i161.i1012, label %if.end140.i1016, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1013 + %cmp.not.i.i161.i1011 = icmp eq ptr %473, null + br i1 %cmp.not.i.i161.i1011, label %if.end140.i1015, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1012 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1013: ; preds = %invoke.cont136.i1011 - %vtable.i.i.i163.i1014 = load ptr, ptr %473, align 8 - %vfn.i.i.i164.i1015 = getelementptr inbounds ptr, ptr %vtable.i.i.i163.i1014, i64 1 - %474 = load ptr, ptr %vfn.i.i.i164.i1015, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1012: ; preds = %invoke.cont136.i1010 + %vtable.i.i.i163.i1013 = load ptr, ptr %473, align 8 + %vfn.i.i.i164.i1014 = getelementptr inbounds ptr, ptr %vtable.i.i.i163.i1013, i64 1 + %474 = load ptr, ptr %vfn.i.i.i164.i1014, align 8 call void %474(ptr noundef nonnull align 8 dereferenceable(128) %473) #29 - br label %if.end140.i1016 + br label %if.end140.i1015 -lpad126.i992: ; preds = %if.else124.i991 +lpad126.i991: ; preds = %if.else124.i990 %475 = landingpad { ptr, i32 } cleanup - br label %ehcleanup141.i993 + br label %ehcleanup141.i992 -lpad130.i996: ; preds = %invoke.cont127.i995 +lpad130.i995: ; preds = %invoke.cont127.i994 %476 = landingpad { ptr, i32 } cleanup - br label %ehcleanup139.i997 + br label %ehcleanup139.i996 -lpad133.i1006: ; preds = %invoke.cont131.i1004 +lpad133.i1005: ; preds = %invoke.cont131.i1003 %477 = landingpad { ptr, i32 } cleanup - br label %ehcleanup138.i1007 + br label %ehcleanup138.i1006 -lpad135.i1010: ; preds = %invoke.cont134.i1009 +lpad135.i1009: ; preds = %invoke.cont134.i1008 %478 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i729) #29 - br label %ehcleanup138.i1007 + br label %ehcleanup138.i1006 -ehcleanup138.i1007: ; preds = %lpad135.i1010, %lpad133.i1006 - %.pn12.i1008 = phi { ptr, i32 } [ %478, %lpad135.i1010 ], [ %477, %lpad133.i1006 ] +ehcleanup138.i1006: ; preds = %lpad135.i1009, %lpad133.i1005 + %.pn12.i1007 = phi { ptr, i32 } [ %478, %lpad135.i1009 ], [ %477, %lpad133.i1005 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129.i730) #29 - br label %ehcleanup139.i997 + br label %ehcleanup139.i996 -ehcleanup139.i997: ; preds = %ehcleanup138.i1007, %lpad130.i996 - %.pn12.pn.i998 = phi { ptr, i32 } [ %.pn12.i1008, %ehcleanup138.i1007 ], [ %476, %lpad130.i996 ] +ehcleanup139.i996: ; preds = %ehcleanup138.i1006, %lpad130.i995 + %.pn12.pn.i997 = phi { ptr, i32 } [ %.pn12.i1007, %ehcleanup138.i1006 ], [ %476, %lpad130.i995 ] %479 = load ptr, ptr %ref.tmp125.i728, align 8 - %cmp.not.i.i166.i999 = icmp eq ptr %479, null - br i1 %cmp.not.i.i166.i999, label %_ZN7testing7MessageD2Ev.exit170.i1003, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i1000 + %cmp.not.i.i166.i998 = icmp eq ptr %479, null + br i1 %cmp.not.i.i166.i998, label %_ZN7testing7MessageD2Ev.exit170.i1002, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i999 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i1000: ; preds = %ehcleanup139.i997 - %vtable.i.i.i168.i1001 = load ptr, ptr %479, align 8 - %vfn.i.i.i169.i1002 = getelementptr inbounds ptr, ptr %vtable.i.i.i168.i1001, i64 1 - %480 = load ptr, ptr %vfn.i.i.i169.i1002, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i999: ; preds = %ehcleanup139.i996 + %vtable.i.i.i168.i1000 = load ptr, ptr %479, align 8 + %vfn.i.i.i169.i1001 = getelementptr inbounds ptr, ptr %vtable.i.i.i168.i1000, i64 1 + %480 = load ptr, ptr %vfn.i.i.i169.i1001, align 8 call void %480(ptr noundef nonnull align 8 dereferenceable(128) %479) #29 - br label %_ZN7testing7MessageD2Ev.exit170.i1003 + br label %_ZN7testing7MessageD2Ev.exit170.i1002 -_ZN7testing7MessageD2Ev.exit170.i1003: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i1000, %ehcleanup139.i997 +_ZN7testing7MessageD2Ev.exit170.i1002: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i999, %ehcleanup139.i996 store ptr null, ptr %ref.tmp125.i728, align 8 - br label %ehcleanup141.i993 + br label %ehcleanup141.i992 -if.end140.i1016: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1013, %invoke.cont136.i1011 +if.end140.i1015: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1012, %invoke.cont136.i1010 store ptr null, ptr %ref.tmp125.i728, align 8 - %.pr.i1017 = load ptr, ptr %message_.i159.i738, align 8 - %cmp.not.i.i172.i1018 = icmp eq ptr %.pr.i1017, null - br i1 %cmp.not.i.i172.i1018, label %_ZN7testing15AssertionResultD2Ev.exit174.i1020, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1019 + %.pr.i1016 = load ptr, ptr %message_.i159.i738, align 8 + %cmp.not.i.i172.i1017 = icmp eq ptr %.pr.i1016, null + br i1 %cmp.not.i.i172.i1017, label %_ZN7testing15AssertionResultD2Ev.exit174.i1019, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1018 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1019: ; preds = %if.end140.i1016 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr.i1017) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr.i1017) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit174.i1020 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1018: ; preds = %if.end140.i1015 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr.i1016) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr.i1016) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit174.i1019 -_ZN7testing15AssertionResultD2Ev.exit174.i1020: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1019, %if.end140.i1016, %if.end140.thread.i1120 +_ZN7testing15AssertionResultD2Ev.exit174.i1019: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1018, %if.end140.i1015, %if.end140.thread.i1119 store ptr null, ptr %message_.i159.i738, align 8 %481 = load i64, ptr %v.i711, align 8 - %cmp.i.i175.i1021 = icmp eq i64 %481, 0 - br i1 %cmp.i.i175.i1021, label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1046, label %if.end.i.i176.i1022 + %cmp.i.i175.i1020 = icmp eq i64 %481, 0 + br i1 %cmp.i.i175.i1020, label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1045, label %if.end.i.i176.i1021 -if.end.i.i176.i1022: ; preds = %_ZN7testing15AssertionResultD2Ev.exit174.i1020 - %and.i.i.i.i.i1023 = and i64 %481, 1 - %tobool.i.not.i.i.i.i1024 = icmp eq i64 %and.i.i.i.i.i1023, 0 +if.end.i.i176.i1021: ; preds = %_ZN7testing15AssertionResultD2Ev.exit174.i1019 + %and.i.i.i.i.i1022 = and i64 %481, 1 + %tobool.i.not.i.i.i.i1023 = icmp eq i64 %and.i.i.i.i.i1022, 0 %482 = load ptr, ptr %data_.i4.i.i.i733, align 8 - %cond.i.i.i.i1025 = select i1 %tobool.i.not.i.i.i.i1024, ptr %data_.i4.i.i.i733, ptr %482 - %cmp.not6.i.i.i.i.i1026 = icmp eq i64 %481, 1 - br i1 %cmp.not6.i.i.i.i.i1026, label %if.then.i.i.i.i.i1045, label %for.body.preheader.i.i.i.i.i1027 - -for.body.preheader.i.i.i.i.i1027: ; preds = %if.end.i.i176.i1022 - %shr.i.i.i.i.i1028 = lshr i64 %481, 1 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i.i1029 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i.i1030 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i.i1031 - -for.body.i.i.i.i.i1031: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1041, %for.body.preheader.i.i.i.i.i1027 - %i.09.i.i.i.i.i1032 = phi i64 [ %dec.i.i.i.i.i1035, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1041 ], [ %shr.i.i.i.i.i1028, %for.body.preheader.i.i.i.i.i1027 ] - %dec.i.i.i.i38.i.i.i.i.i1033 = phi i32 [ %dec.i.i.i.i.i.i.i.i.i1036, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1041 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i.i1030, %for.body.preheader.i.i.i.i.i1027 ] - %dec2.i.i.i.i57.i.i.i.i.i1034 = phi i32 [ %dec2.i.i.i.i4.i.i.i.i.i1042, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1041 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i.i1029, %for.body.preheader.i.i.i.i.i1027 ] - %dec.i.i.i.i.i1035 = add nsw i64 %i.09.i.i.i.i.i1032, -1 - %dec.i.i.i.i.i.i.i.i.i1036 = add nsw i32 %dec.i.i.i.i38.i.i.i.i.i1033, -1 - store i32 %dec.i.i.i.i.i.i.i.i.i1036, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %is_live_.i.i.i.i.i.i.i.i177.i1037 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i.i.i.i1025, i64 %dec.i.i.i.i.i1035, i32 0, i32 1 - %483 = load i8, ptr %is_live_.i.i.i.i.i.i.i.i177.i1037, align 4 + %cond.i.i.i.i1024 = select i1 %tobool.i.not.i.i.i.i1023, ptr %data_.i4.i.i.i733, ptr %482 + %cmp.not6.i.i.i.i.i1025 = icmp eq i64 %481, 1 + br i1 %cmp.not6.i.i.i.i.i1025, label %if.then.i.i.i.i.i1044, label %for.body.preheader.i.i.i.i.i1026 + +for.body.preheader.i.i.i.i.i1026: ; preds = %if.end.i.i176.i1021 + %shr.i.i.i.i.i1027 = lshr i64 %481, 1 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i.i1028 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i.i1029 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i.i1030 + +for.body.i.i.i.i.i1030: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1040, %for.body.preheader.i.i.i.i.i1026 + %i.09.i.i.i.i.i1031 = phi i64 [ %dec.i.i.i.i.i1034, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1040 ], [ %shr.i.i.i.i.i1027, %for.body.preheader.i.i.i.i.i1026 ] + %dec.i.i.i.i38.i.i.i.i.i1032 = phi i32 [ %dec.i.i.i.i.i.i.i.i.i1035, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1040 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i.i1029, %for.body.preheader.i.i.i.i.i1026 ] + %dec2.i.i.i.i57.i.i.i.i.i1033 = phi i32 [ %dec2.i.i.i.i4.i.i.i.i.i1041, %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1040 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i.i1028, %for.body.preheader.i.i.i.i.i1026 ] + %dec.i.i.i.i.i1034 = add nsw i64 %i.09.i.i.i.i.i1031, -1 + %dec.i.i.i.i.i.i.i.i.i1035 = add nsw i32 %dec.i.i.i.i38.i.i.i.i.i1032, -1 + store i32 %dec.i.i.i.i.i.i.i.i.i1035, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %is_live_.i.i.i.i.i.i.i.i177.i1036 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %cond.i.i.i.i1024, i64 %dec.i.i.i.i.i1034, i32 0, i32 1 + %483 = load i8, ptr %is_live_.i.i.i.i.i.i.i.i177.i1036, align 4 %484 = and i8 %483, 1 - %tobool.not.i.i.i.i.i.i.i.i.i1038 = icmp eq i8 %484, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i1038, label %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1041, label %if.then.i.i.i.i.i.i.i.i178.i1039 + %tobool.not.i.i.i.i.i.i.i.i.i1037 = icmp eq i8 %484, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i1037, label %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1040, label %if.then.i.i.i.i.i.i.i.i178.i1038 -if.then.i.i.i.i.i.i.i.i178.i1039: ; preds = %for.body.i.i.i.i.i1031 - %dec2.i.i.i.i.i.i.i.i.i1040 = add nsw i32 %dec2.i.i.i.i57.i.i.i.i.i1034, -1 - store i32 %dec2.i.i.i.i.i.i.i.i.i1040, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1041 +if.then.i.i.i.i.i.i.i.i178.i1038: ; preds = %for.body.i.i.i.i.i1030 + %dec2.i.i.i.i.i.i.i.i.i1039 = add nsw i32 %dec2.i.i.i.i57.i.i.i.i.i1033, -1 + store i32 %dec2.i.i.i.i.i.i.i.i.i1039, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1040 -_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1041: ; preds = %if.then.i.i.i.i.i.i.i.i178.i1039, %for.body.i.i.i.i.i1031 - %dec2.i.i.i.i4.i.i.i.i.i1042 = phi i32 [ %dec2.i.i.i.i57.i.i.i.i.i1034, %for.body.i.i.i.i.i1031 ], [ %dec2.i.i.i.i.i.i.i.i.i1040, %if.then.i.i.i.i.i.i.i.i178.i1039 ] - %cmp.not.i.i.i.i179.i1043 = icmp eq i64 %dec.i.i.i.i.i1035, 0 - br i1 %cmp.not.i.i.i.i179.i1043, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1044, label %for.body.i.i.i.i.i1031, !llvm.loop !1237 +_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1040: ; preds = %if.then.i.i.i.i.i.i.i.i178.i1038, %for.body.i.i.i.i.i1030 + %dec2.i.i.i.i4.i.i.i.i.i1041 = phi i32 [ %dec2.i.i.i.i57.i.i.i.i.i1033, %for.body.i.i.i.i.i1030 ], [ %dec2.i.i.i.i.i.i.i.i.i1039, %if.then.i.i.i.i.i.i.i.i178.i1038 ] + %cmp.not.i.i.i.i179.i1042 = icmp eq i64 %dec.i.i.i.i.i1034, 0 + br i1 %cmp.not.i.i.i.i179.i1042, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1043, label %for.body.i.i.i.i.i1030, !llvm.loop !1237 -_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1044: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1041 - br i1 %tobool.i.not.i.i.i.i1024, label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1046, label %if.then.i.i.i.i.i1045 +_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1043: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal20CopyableOnlyInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1040 + br i1 %tobool.i.not.i.i.i.i1023, label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1045, label %if.then.i.i.i.i.i1044 -if.then.i.i.i.i.i1045: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1044, %if.end.i.i176.i1022 +if.then.i.i.i.i.i1044: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1043, %if.end.i.i176.i1021 call void @_ZdlPv(ptr noundef %482) #32 - br label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1046 - -_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1046: ; preds = %if.then.i.i.i.i.i1045, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1044, %_ZN7testing15AssertionResultD2Ev.exit174.i1020 - %cmp.not6.i.i.i.i181.i1047 = icmp eq ptr %416, %417 - br i1 %cmp.not6.i.i.i.i181.i1047, label %invoke.cont.i187.i1065, label %for.body.preheader.i.i.i.i182.i1048 - -for.body.preheader.i.i.i.i182.i1048: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1046 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i183.i1049 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i184.i1050 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i185.i1051 - -for.body.i.i.i.i185.i1051: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1060, %for.body.preheader.i.i.i.i182.i1048 - %__first.addr.09.i.i.i.i.i1052 = phi ptr [ %incdec.ptr.i.i.i.i.i1062, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1060 ], [ %416, %for.body.preheader.i.i.i.i182.i1048 ] - %dec.i.i.i38.i.i.i.i.i1053 = phi i32 [ %dec.i.i.i.i.i.i.i.i1055, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1060 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i184.i1050, %for.body.preheader.i.i.i.i182.i1048 ] - %dec2.i.i.i57.i.i.i.i.i1054 = phi i32 [ %dec2.i.i.i4.i.i.i.i.i1061, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1060 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i183.i1049, %for.body.preheader.i.i.i.i182.i1048 ] - %dec.i.i.i.i.i.i.i.i1055 = add nsw i32 %dec.i.i.i38.i.i.i.i.i1053, -1 - %is_live_.i.i.i.i.i.i.i.i1056 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i.i1052, i64 0, i32 1 - %485 = load i8, ptr %is_live_.i.i.i.i.i.i.i.i1056, align 4 + br label %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1045 + +_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1045: ; preds = %if.then.i.i.i.i.i1044, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal20CopyableOnlyInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1043, %_ZN7testing15AssertionResultD2Ev.exit174.i1019 + %cmp.not6.i.i.i.i181.i1046 = icmp eq ptr %416, %417 + br i1 %cmp.not6.i.i.i.i181.i1046, label %invoke.cont.i187.i1064, label %for.body.preheader.i.i.i.i182.i1047 + +for.body.preheader.i.i.i.i182.i1047: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1045 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i183.i1048 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i184.i1049 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i185.i1050 + +for.body.i.i.i.i185.i1050: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1059, %for.body.preheader.i.i.i.i182.i1047 + %__first.addr.09.i.i.i.i.i1051 = phi ptr [ %incdec.ptr.i.i.i.i.i1061, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1059 ], [ %416, %for.body.preheader.i.i.i.i182.i1047 ] + %dec.i.i.i38.i.i.i.i.i1052 = phi i32 [ %dec.i.i.i.i.i.i.i.i1054, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1059 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i184.i1049, %for.body.preheader.i.i.i.i182.i1047 ] + %dec2.i.i.i57.i.i.i.i.i1053 = phi i32 [ %dec2.i.i.i4.i.i.i.i.i1060, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1059 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i183.i1048, %for.body.preheader.i.i.i.i182.i1047 ] + %dec.i.i.i.i.i.i.i.i1054 = add nsw i32 %dec.i.i.i38.i.i.i.i.i1052, -1 + %is_live_.i.i.i.i.i.i.i.i1055 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i.i1051, i64 0, i32 1 + %485 = load i8, ptr %is_live_.i.i.i.i.i.i.i.i1055, align 4 %486 = and i8 %485, 1 - %tobool.not.i.i.i.i.i.i.i.i1057 = icmp eq i8 %486, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i1057, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1060, label %if.then.i.i.i.i.i.i.i.i1058 + %tobool.not.i.i.i.i.i.i.i.i1056 = icmp eq i8 %486, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i1056, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1059, label %if.then.i.i.i.i.i.i.i.i1057 -if.then.i.i.i.i.i.i.i.i1058: ; preds = %for.body.i.i.i.i185.i1051 - %dec2.i.i.i.i.i.i.i.i1059 = add nsw i32 %dec2.i.i.i57.i.i.i.i.i1054, -1 - store i32 %dec2.i.i.i.i.i.i.i.i1059, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1060 +if.then.i.i.i.i.i.i.i.i1057: ; preds = %for.body.i.i.i.i185.i1050 + %dec2.i.i.i.i.i.i.i.i1058 = add nsw i32 %dec2.i.i.i57.i.i.i.i.i1053, -1 + store i32 %dec2.i.i.i.i.i.i.i.i1058, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1059 -_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1060: ; preds = %if.then.i.i.i.i.i.i.i.i1058, %for.body.i.i.i.i185.i1051 - %dec2.i.i.i4.i.i.i.i.i1061 = phi i32 [ %dec2.i.i.i57.i.i.i.i.i1054, %for.body.i.i.i.i185.i1051 ], [ %dec2.i.i.i.i.i.i.i.i1059, %if.then.i.i.i.i.i.i.i.i1058 ] - %incdec.ptr.i.i.i.i.i1062 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i.i1052, i64 1 - %cmp.not.i.i.i.i186.i1063 = icmp eq ptr %incdec.ptr.i.i.i.i.i1062, %417 - br i1 %cmp.not.i.i.i.i186.i1063, label %for.cond.for.end_crit_edge.i.i.i.i.i1064, label %for.body.i.i.i.i185.i1051, !llvm.loop !1238 +_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1059: ; preds = %if.then.i.i.i.i.i.i.i.i1057, %for.body.i.i.i.i185.i1050 + %dec2.i.i.i4.i.i.i.i.i1060 = phi i32 [ %dec2.i.i.i57.i.i.i.i.i1053, %for.body.i.i.i.i185.i1050 ], [ %dec2.i.i.i.i.i.i.i.i1058, %if.then.i.i.i.i.i.i.i.i1057 ] + %incdec.ptr.i.i.i.i.i1061 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i.i1051, i64 1 + %cmp.not.i.i.i.i186.i1062 = icmp eq ptr %incdec.ptr.i.i.i.i.i1061, %417 + br i1 %cmp.not.i.i.i.i186.i1062, label %for.cond.for.end_crit_edge.i.i.i.i.i1063, label %for.body.i.i.i.i185.i1050, !llvm.loop !1238 -for.cond.for.end_crit_edge.i.i.i.i.i1064: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1060 - store i32 %dec.i.i.i.i.i.i.i.i1055, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %invoke.cont.i187.i1065 +for.cond.for.end_crit_edge.i.i.i.i.i1063: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i.i1059 + store i32 %dec.i.i.i.i.i.i.i.i1054, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %invoke.cont.i187.i1064 -invoke.cont.i187.i1065: ; preds = %for.cond.for.end_crit_edge.i.i.i.i.i1064, %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1046 - %tobool.not.i.i.i188.i1066 = icmp eq ptr %416, null - br i1 %tobool.not.i.i.i188.i1066, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1068, label %if.then.i.i.i189.i1067 +invoke.cont.i187.i1064: ; preds = %for.cond.for.end_crit_edge.i.i.i.i.i1063, %_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev.exit.i1045 + %tobool.not.i.i.i188.i1065 = icmp eq ptr %416, null + br i1 %tobool.not.i.i.i188.i1065, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1067, label %if.then.i.i.i189.i1066 -if.then.i.i.i189.i1067: ; preds = %invoke.cont.i187.i1065 +if.then.i.i.i189.i1066: ; preds = %invoke.cont.i187.i1064 call void @_ZdlPv(ptr noundef nonnull %416) #32 - br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1068 - -_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1068: ; preds = %if.then.i.i.i189.i1067, %invoke.cont.i187.i1065 - br i1 %cmp.not.i.i.i49755.i914, label %invoke.cont.i211.i1086, label %for.body.preheader.i.i.i.i193.i1069 - -for.body.preheader.i.i.i.i193.i1069: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1068 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i1070 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i1071 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i196.i1072 - -for.body.i.i.i.i196.i1072: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1081, %for.body.preheader.i.i.i.i193.i1069 - %__first.addr.09.i.i.i.i197.i1073 = phi ptr [ %incdec.ptr.i.i.i.i207.i1083, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1081 ], [ %new_contents_in.sroa.0.2.lcssa723753.i915, %for.body.preheader.i.i.i.i193.i1069 ] - %dec.i.i.i38.i.i.i.i198.i1074 = phi i32 [ %dec.i.i.i.i.i.i.i200.i1076, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1081 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i1071, %for.body.preheader.i.i.i.i193.i1069 ] - %dec2.i.i.i57.i.i.i.i199.i1075 = phi i32 [ %dec2.i.i.i4.i.i.i.i206.i1082, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1081 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i1070, %for.body.preheader.i.i.i.i193.i1069 ] - %dec.i.i.i.i.i.i.i200.i1076 = add nsw i32 %dec.i.i.i38.i.i.i.i198.i1074, -1 - %is_live_.i.i.i.i.i.i.i201.i1077 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i197.i1073, i64 0, i32 1 - %487 = load i8, ptr %is_live_.i.i.i.i.i.i.i201.i1077, align 4 + br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1067 + +_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1067: ; preds = %if.then.i.i.i189.i1066, %invoke.cont.i187.i1064 + br i1 %cmp.not.i.i.i49752.i913, label %invoke.cont.i211.i1085, label %for.body.preheader.i.i.i.i193.i1068 + +for.body.preheader.i.i.i.i193.i1068: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1067 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i1069 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i1070 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i196.i1071 + +for.body.i.i.i.i196.i1071: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1080, %for.body.preheader.i.i.i.i193.i1068 + %__first.addr.09.i.i.i.i197.i1072 = phi ptr [ %incdec.ptr.i.i.i.i207.i1082, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1080 ], [ %new_contents_in.sroa.0.2.lcssa722750.i914, %for.body.preheader.i.i.i.i193.i1068 ] + %dec.i.i.i38.i.i.i.i198.i1073 = phi i32 [ %dec.i.i.i.i.i.i.i200.i1075, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1080 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i1070, %for.body.preheader.i.i.i.i193.i1068 ] + %dec2.i.i.i57.i.i.i.i199.i1074 = phi i32 [ %dec2.i.i.i4.i.i.i.i206.i1081, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1080 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i1069, %for.body.preheader.i.i.i.i193.i1068 ] + %dec.i.i.i.i.i.i.i200.i1075 = add nsw i32 %dec.i.i.i38.i.i.i.i198.i1073, -1 + %is_live_.i.i.i.i.i.i.i201.i1076 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i197.i1072, i64 0, i32 1 + %487 = load i8, ptr %is_live_.i.i.i.i.i.i.i201.i1076, align 4 %488 = and i8 %487, 1 - %tobool.not.i.i.i.i.i.i.i202.i1078 = icmp eq i8 %488, 0 - br i1 %tobool.not.i.i.i.i.i.i.i202.i1078, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1081, label %if.then.i.i.i.i.i.i.i203.i1079 + %tobool.not.i.i.i.i.i.i.i202.i1077 = icmp eq i8 %488, 0 + br i1 %tobool.not.i.i.i.i.i.i.i202.i1077, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1080, label %if.then.i.i.i.i.i.i.i203.i1078 -if.then.i.i.i.i.i.i.i203.i1079: ; preds = %for.body.i.i.i.i196.i1072 - %dec2.i.i.i.i.i.i.i204.i1080 = add nsw i32 %dec2.i.i.i57.i.i.i.i199.i1075, -1 - store i32 %dec2.i.i.i.i.i.i.i204.i1080, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1081 +if.then.i.i.i.i.i.i.i203.i1078: ; preds = %for.body.i.i.i.i196.i1071 + %dec2.i.i.i.i.i.i.i204.i1079 = add nsw i32 %dec2.i.i.i57.i.i.i.i199.i1074, -1 + store i32 %dec2.i.i.i.i.i.i.i204.i1079, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1080 -_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1081: ; preds = %if.then.i.i.i.i.i.i.i203.i1079, %for.body.i.i.i.i196.i1072 - %dec2.i.i.i4.i.i.i.i206.i1082 = phi i32 [ %dec2.i.i.i57.i.i.i.i199.i1075, %for.body.i.i.i.i196.i1072 ], [ %dec2.i.i.i.i.i.i.i204.i1080, %if.then.i.i.i.i.i.i.i203.i1079 ] - %incdec.ptr.i.i.i.i207.i1083 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i197.i1073, i64 1 - %cmp.not.i.i.i.i208.i1084 = icmp eq ptr %incdec.ptr.i.i.i.i207.i1083, %new_contents_in.sroa.8.2.lcssa733751.i916 - br i1 %cmp.not.i.i.i.i208.i1084, label %for.cond.for.end_crit_edge.i.i.i.i209.i1085, label %for.body.i.i.i.i196.i1072, !llvm.loop !1238 +_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1080: ; preds = %if.then.i.i.i.i.i.i.i203.i1078, %for.body.i.i.i.i196.i1071 + %dec2.i.i.i4.i.i.i.i206.i1081 = phi i32 [ %dec2.i.i.i57.i.i.i.i199.i1074, %for.body.i.i.i.i196.i1071 ], [ %dec2.i.i.i.i.i.i.i204.i1079, %if.then.i.i.i.i.i.i.i203.i1078 ] + %incdec.ptr.i.i.i.i207.i1082 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i197.i1072, i64 1 + %cmp.not.i.i.i.i208.i1083 = icmp eq ptr %incdec.ptr.i.i.i.i207.i1082, %new_contents_in.sroa.8.2.lcssa732748.i915 + br i1 %cmp.not.i.i.i.i208.i1083, label %for.cond.for.end_crit_edge.i.i.i.i209.i1084, label %for.body.i.i.i.i196.i1071, !llvm.loop !1238 -for.cond.for.end_crit_edge.i.i.i.i209.i1085: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1081 - store i32 %dec.i.i.i.i.i.i.i200.i1076, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %invoke.cont.i211.i1086 +for.cond.for.end_crit_edge.i.i.i.i209.i1084: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i205.i1080 + store i32 %dec.i.i.i.i.i.i.i200.i1075, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %invoke.cont.i211.i1085 -invoke.cont.i211.i1086: ; preds = %for.cond.for.end_crit_edge.i.i.i.i209.i1085, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1068 - %tobool.not.i.i.i212.i1087 = icmp eq ptr %new_contents_in.sroa.0.2.lcssa723753.i915, null - br i1 %tobool.not.i.i.i212.i1087, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1089, label %if.then.i.i.i213.i1088 +invoke.cont.i211.i1085: ; preds = %for.cond.for.end_crit_edge.i.i.i.i209.i1084, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit.i1067 + %tobool.not.i.i.i212.i1086 = icmp eq ptr %new_contents_in.sroa.0.2.lcssa722750.i914, null + br i1 %tobool.not.i.i.i212.i1086, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1088, label %if.then.i.i.i213.i1087 -if.then.i.i.i213.i1088: ; preds = %invoke.cont.i211.i1086 - call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2.lcssa723753.i915) #32 - br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1089 +if.then.i.i.i213.i1087: ; preds = %invoke.cont.i211.i1085 + call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2.lcssa722750.i914) #32 + br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1088 -_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1089: ; preds = %if.then.i.i.i213.i1088, %invoke.cont.i211.i1086 +_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1088: ; preds = %if.then.i.i.i213.i1087, %invoke.cont.i211.i1085 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1459.i709) #29 - %inc147.i1090 = add nuw nsw i64 %storemerge3547.i781, 1 - %exitcond704.not.i1091 = icmp eq i64 %inc147.i1090, 6 - br i1 %exitcond704.not.i1091, label %for.end148.i1092, label %for.body6.i780, !llvm.loop !3439 + %inc147.i1089 = add nuw nsw i64 %storemerge3547.i781, 1 + %exitcond704.not.i1090 = icmp eq i64 %inc147.i1089, 6 + br i1 %exitcond704.not.i1090, label %for.end148.i1091, label %for.body6.i780, !llvm.loop !3439 -ehcleanup141.i993: ; preds = %_ZN7testing7MessageD2Ev.exit170.i1003, %lpad126.i992 - %.pn12.pn.pn.i994 = phi { ptr, i32 } [ %.pn12.pn.i998, %_ZN7testing7MessageD2Ev.exit170.i1003 ], [ %475, %lpad126.i992 ] +ehcleanup141.i992: ; preds = %_ZN7testing7MessageD2Ev.exit170.i1002, %lpad126.i991 + %.pn12.pn.pn.i993 = phi { ptr, i32 } [ %.pn12.pn.i997, %_ZN7testing7MessageD2Ev.exit170.i1002 ], [ %475, %lpad126.i991 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_.i727) #29 - br label %ehcleanup142.i946 + br label %ehcleanup142.i945 -ehcleanup142.i946: ; preds = %ehcleanup141.i993, %ehcleanup110.i1137, %ehcleanup85.i1164, %ehcleanup62.i1191, %lpad44.i945 - %.pn12.pn.pn.pn.i947 = phi { ptr, i32 } [ %.pn12.pn.pn.i994, %ehcleanup141.i993 ], [ %428, %lpad44.i945 ], [ %.pn9.pn.i1138, %ehcleanup110.i1137 ], [ %.pn6.pn.i1165, %ehcleanup85.i1164 ], [ %.pn.pn.i1192, %ehcleanup62.i1191 ] +ehcleanup142.i945: ; preds = %ehcleanup141.i992, %ehcleanup110.i1136, %ehcleanup85.i1163, %ehcleanup62.i1190, %lpad44.i944 + %.pn12.pn.pn.pn.i946 = phi { ptr, i32 } [ %.pn12.pn.pn.i993, %ehcleanup141.i992 ], [ %428, %lpad44.i944 ], [ %.pn9.pn.i1137, %ehcleanup110.i1136 ], [ %.pn6.pn.i1164, %ehcleanup85.i1163 ], [ %.pn.pn.i1191, %ehcleanup62.i1190 ] call void @_ZN4absl13InlinedVectorINS_13test_internal20CopyableOnlyInstanceELm3ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %v.i711) #29 - br label %ehcleanup143.i948 + br label %ehcleanup143.i947 -ehcleanup143.i948: ; preds = %ehcleanup142.i946, %lpad.i69.i1221 - %.pn12.pn.pn.pn.pn.i949 = phi { ptr, i32 } [ %.pn12.pn.pn.pn.i947, %ehcleanup142.i946 ], [ %lpad.phi379.i1222, %lpad.i69.i1221 ] +ehcleanup143.i947: ; preds = %ehcleanup142.i945, %lpad.i69.i1220 + %.pn12.pn.pn.pn.pn.i948 = phi { ptr, i32 } [ %.pn12.pn.pn.pn.i946, %ehcleanup142.i945 ], [ %lpad.phi379.i1221, %lpad.i69.i1220 ] call void @_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %new_contents.i710) #29 - br label %ehcleanup144.i864 - -ehcleanup144.i864: ; preds = %ehcleanup143.i948, %lpad.i50.loopexit.split-lp.i1234, %lpad.i50.loopexit.i862, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1256 - %new_contents_in.sroa.0.2421.i865 = phi ptr [ %new_contents_in.sroa.0.2538.i832, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1256 ], [ %new_contents_in.sroa.0.2.lcssa723753.i915, %ehcleanup143.i948 ], [ %new_contents_in.sroa.0.3.i845, %lpad.i50.loopexit.i862 ], [ %new_contents_in.sroa.0.3.i845, %lpad.i50.loopexit.split-lp.i1234 ] - %new_contents_in.sroa.8.2385.i866 = phi ptr [ %new_contents_in.sroa.16.2540.i830, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1256 ], [ %new_contents_in.sroa.8.2.lcssa733751.i916, %ehcleanup143.i948 ], [ %new_contents_in.sroa.8.3.i846, %lpad.i50.loopexit.i862 ], [ %new_contents_in.sroa.8.3.i846, %lpad.i50.loopexit.split-lp.i1234 ] - %.pn18.i867 = phi { ptr, i32 } [ %lpad.phi.i1259, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1256 ], [ %.pn12.pn.pn.pn.pn.i949, %ehcleanup143.i948 ], [ %lpad.loopexit374.i863, %lpad.i50.loopexit.i862 ], [ %lpad.loopexit.split-lp375.i1235, %lpad.i50.loopexit.split-lp.i1234 ] - %cmp.not6.i.i.i.i217.i868 = icmp eq ptr %new_contents_in.sroa.0.2421.i865, %new_contents_in.sroa.8.2385.i866 - br i1 %cmp.not6.i.i.i.i217.i868, label %invoke.cont.i236.i886, label %for.body.preheader.i.i.i.i218.i869 - -for.body.preheader.i.i.i.i218.i869: ; preds = %ehcleanup144.i864 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i219.i870 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i220.i871 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i221.i872 - -for.body.i.i.i.i221.i872: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i881, %for.body.preheader.i.i.i.i218.i869 - %__first.addr.09.i.i.i.i222.i873 = phi ptr [ %incdec.ptr.i.i.i.i232.i883, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i881 ], [ %new_contents_in.sroa.0.2421.i865, %for.body.preheader.i.i.i.i218.i869 ] - %dec.i.i.i38.i.i.i.i223.i874 = phi i32 [ %dec.i.i.i.i.i.i.i225.i876, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i881 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i220.i871, %for.body.preheader.i.i.i.i218.i869 ] - %dec2.i.i.i57.i.i.i.i224.i875 = phi i32 [ %dec2.i.i.i4.i.i.i.i231.i882, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i881 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i219.i870, %for.body.preheader.i.i.i.i218.i869 ] - %dec.i.i.i.i.i.i.i225.i876 = add nsw i32 %dec.i.i.i38.i.i.i.i223.i874, -1 - %is_live_.i.i.i.i.i.i.i226.i877 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i222.i873, i64 0, i32 1 - %489 = load i8, ptr %is_live_.i.i.i.i.i.i.i226.i877, align 4 + br label %ehcleanup144.i863 + +ehcleanup144.i863: ; preds = %ehcleanup143.i947, %lpad.i50.loopexit.split-lp.i1233, %lpad.i50.loopexit.i861, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1255 + %new_contents_in.sroa.0.2421.i864 = phi ptr [ %new_contents_in.sroa.0.2538.i832, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1255 ], [ %new_contents_in.sroa.0.2.lcssa722750.i914, %ehcleanup143.i947 ], [ %new_contents_in.sroa.0.3.i845, %lpad.i50.loopexit.i861 ], [ %new_contents_in.sroa.0.3.i845, %lpad.i50.loopexit.split-lp.i1233 ] + %new_contents_in.sroa.8.2385.i865 = phi ptr [ %new_contents_in.sroa.16.2540.i830, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1255 ], [ %new_contents_in.sroa.8.2.lcssa732748.i915, %ehcleanup143.i947 ], [ %new_contents_in.sroa.8.3.i846, %lpad.i50.loopexit.i861 ], [ %new_contents_in.sroa.8.3.i846, %lpad.i50.loopexit.split-lp.i1233 ] + %.pn18.i866 = phi { ptr, i32 } [ %lpad.phi.i1258, %_ZN4absl13test_internal20CopyableOnlyInstanceD2Ev.exit48.i1255 ], [ %.pn12.pn.pn.pn.pn.i948, %ehcleanup143.i947 ], [ %lpad.loopexit374.i862, %lpad.i50.loopexit.i861 ], [ %lpad.loopexit.split-lp375.i1234, %lpad.i50.loopexit.split-lp.i1233 ] + %cmp.not6.i.i.i.i217.i867 = icmp eq ptr %new_contents_in.sroa.0.2421.i864, %new_contents_in.sroa.8.2385.i865 + br i1 %cmp.not6.i.i.i.i217.i867, label %invoke.cont.i236.i885, label %for.body.preheader.i.i.i.i218.i868 + +for.body.preheader.i.i.i.i218.i868: ; preds = %ehcleanup144.i863 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i219.i869 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i220.i870 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i221.i871 + +for.body.i.i.i.i221.i871: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i880, %for.body.preheader.i.i.i.i218.i868 + %__first.addr.09.i.i.i.i222.i872 = phi ptr [ %incdec.ptr.i.i.i.i232.i882, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i880 ], [ %new_contents_in.sroa.0.2421.i864, %for.body.preheader.i.i.i.i218.i868 ] + %dec.i.i.i38.i.i.i.i223.i873 = phi i32 [ %dec.i.i.i.i.i.i.i225.i875, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i880 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i220.i870, %for.body.preheader.i.i.i.i218.i868 ] + %dec2.i.i.i57.i.i.i.i224.i874 = phi i32 [ %dec2.i.i.i4.i.i.i.i231.i881, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i880 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i219.i869, %for.body.preheader.i.i.i.i218.i868 ] + %dec.i.i.i.i.i.i.i225.i875 = add nsw i32 %dec.i.i.i38.i.i.i.i223.i873, -1 + %is_live_.i.i.i.i.i.i.i226.i876 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i222.i872, i64 0, i32 1 + %489 = load i8, ptr %is_live_.i.i.i.i.i.i.i226.i876, align 4 %490 = and i8 %489, 1 - %tobool.not.i.i.i.i.i.i.i227.i878 = icmp eq i8 %490, 0 - br i1 %tobool.not.i.i.i.i.i.i.i227.i878, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i881, label %if.then.i.i.i.i.i.i.i228.i879 + %tobool.not.i.i.i.i.i.i.i227.i877 = icmp eq i8 %490, 0 + br i1 %tobool.not.i.i.i.i.i.i.i227.i877, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i880, label %if.then.i.i.i.i.i.i.i228.i878 -if.then.i.i.i.i.i.i.i228.i879: ; preds = %for.body.i.i.i.i221.i872 - %dec2.i.i.i.i.i.i.i229.i880 = add nsw i32 %dec2.i.i.i57.i.i.i.i224.i875, -1 - store i32 %dec2.i.i.i.i.i.i.i229.i880, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i881 +if.then.i.i.i.i.i.i.i228.i878: ; preds = %for.body.i.i.i.i221.i871 + %dec2.i.i.i.i.i.i.i229.i879 = add nsw i32 %dec2.i.i.i57.i.i.i.i224.i874, -1 + store i32 %dec2.i.i.i.i.i.i.i229.i879, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i880 -_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i881: ; preds = %if.then.i.i.i.i.i.i.i228.i879, %for.body.i.i.i.i221.i872 - %dec2.i.i.i4.i.i.i.i231.i882 = phi i32 [ %dec2.i.i.i57.i.i.i.i224.i875, %for.body.i.i.i.i221.i872 ], [ %dec2.i.i.i.i.i.i.i229.i880, %if.then.i.i.i.i.i.i.i228.i879 ] - %incdec.ptr.i.i.i.i232.i883 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i222.i873, i64 1 - %cmp.not.i.i.i.i233.i884 = icmp eq ptr %incdec.ptr.i.i.i.i232.i883, %new_contents_in.sroa.8.2385.i866 - br i1 %cmp.not.i.i.i.i233.i884, label %for.cond.for.end_crit_edge.i.i.i.i234.i885, label %for.body.i.i.i.i221.i872, !llvm.loop !1238 +_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i880: ; preds = %if.then.i.i.i.i.i.i.i228.i878, %for.body.i.i.i.i221.i871 + %dec2.i.i.i4.i.i.i.i231.i881 = phi i32 [ %dec2.i.i.i57.i.i.i.i224.i874, %for.body.i.i.i.i221.i871 ], [ %dec2.i.i.i.i.i.i.i229.i879, %if.then.i.i.i.i.i.i.i228.i878 ] + %incdec.ptr.i.i.i.i232.i882 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i222.i872, i64 1 + %cmp.not.i.i.i.i233.i883 = icmp eq ptr %incdec.ptr.i.i.i.i232.i882, %new_contents_in.sroa.8.2385.i865 + br i1 %cmp.not.i.i.i.i233.i883, label %for.cond.for.end_crit_edge.i.i.i.i234.i884, label %for.body.i.i.i.i221.i871, !llvm.loop !1238 -for.cond.for.end_crit_edge.i.i.i.i234.i885: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i881 - store i32 %dec.i.i.i.i.i.i.i225.i876, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %invoke.cont.i236.i886 +for.cond.for.end_crit_edge.i.i.i.i234.i884: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i230.i880 + store i32 %dec.i.i.i.i.i.i.i225.i875, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %invoke.cont.i236.i885 -invoke.cont.i236.i886: ; preds = %for.cond.for.end_crit_edge.i.i.i.i234.i885, %ehcleanup144.i864 - %tobool.not.i.i.i237.i887 = icmp eq ptr %new_contents_in.sroa.0.2421.i865, null - br i1 %tobool.not.i.i.i237.i887, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i889, label %if.then.i.i.i238.i888 +invoke.cont.i236.i885: ; preds = %for.cond.for.end_crit_edge.i.i.i.i234.i884, %ehcleanup144.i863 + %tobool.not.i.i.i237.i886 = icmp eq ptr %new_contents_in.sroa.0.2421.i864, null + br i1 %tobool.not.i.i.i237.i886, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i888, label %if.then.i.i.i238.i887 -if.then.i.i.i238.i888: ; preds = %invoke.cont.i236.i886 - call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2421.i865) #32 - br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i889 +if.then.i.i.i238.i887: ; preds = %invoke.cont.i236.i885 + call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2421.i864) #32 + br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i888 -_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i889: ; preds = %if.then.i.i.i238.i888, %invoke.cont.i236.i886 +_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i888: ; preds = %if.then.i.i.i238.i887, %invoke.cont.i236.i885 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1459.i709) #29 br label %ehcleanup149.i783 -for.end148.i1092: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1089 - br i1 %cmp8.not.i.i.i.i775, label %invoke.cont.i261.i1110, label %for.body.preheader.i.i.i.i243.i1093 - -for.body.preheader.i.i.i.i243.i1093: ; preds = %for.end148.i1092 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i244.i1094 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i245.i1095 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i246.i1096 - -for.body.i.i.i.i246.i1096: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1105, %for.body.preheader.i.i.i.i243.i1093 - %__first.addr.09.i.i.i.i247.i1097 = phi ptr [ %incdec.ptr.i.i.i.i257.i1107, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1105 ], [ %original_contents.sroa.0.1.i767, %for.body.preheader.i.i.i.i243.i1093 ] - %dec.i.i.i38.i.i.i.i248.i1098 = phi i32 [ %dec.i.i.i.i.i.i.i250.i1100, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1105 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i245.i1095, %for.body.preheader.i.i.i.i243.i1093 ] - %dec2.i.i.i57.i.i.i.i249.i1099 = phi i32 [ %dec2.i.i.i4.i.i.i.i256.i1106, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1105 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i244.i1094, %for.body.preheader.i.i.i.i243.i1093 ] - %dec.i.i.i.i.i.i.i250.i1100 = add nsw i32 %dec.i.i.i38.i.i.i.i248.i1098, -1 - %is_live_.i.i.i.i.i.i.i251.i1101 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i247.i1097, i64 0, i32 1 - %491 = load i8, ptr %is_live_.i.i.i.i.i.i.i251.i1101, align 4 +for.end148.i1091: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit215.i1088 + br i1 %cmp8.not.i.i.i.i775, label %invoke.cont.i261.i1109, label %for.body.preheader.i.i.i.i243.i1092 + +for.body.preheader.i.i.i.i243.i1092: ; preds = %for.end148.i1091 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i244.i1093 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i245.i1094 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i246.i1095 + +for.body.i.i.i.i246.i1095: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1104, %for.body.preheader.i.i.i.i243.i1092 + %__first.addr.09.i.i.i.i247.i1096 = phi ptr [ %incdec.ptr.i.i.i.i257.i1106, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1104 ], [ %original_contents.sroa.0.1.i767, %for.body.preheader.i.i.i.i243.i1092 ] + %dec.i.i.i38.i.i.i.i248.i1097 = phi i32 [ %dec.i.i.i.i.i.i.i250.i1099, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1104 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i245.i1094, %for.body.preheader.i.i.i.i243.i1092 ] + %dec2.i.i.i57.i.i.i.i249.i1098 = phi i32 [ %dec2.i.i.i4.i.i.i.i256.i1105, %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1104 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i244.i1093, %for.body.preheader.i.i.i.i243.i1092 ] + %dec.i.i.i.i.i.i.i250.i1099 = add nsw i32 %dec.i.i.i38.i.i.i.i248.i1097, -1 + %is_live_.i.i.i.i.i.i.i251.i1100 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i247.i1096, i64 0, i32 1 + %491 = load i8, ptr %is_live_.i.i.i.i.i.i.i251.i1100, align 4 %492 = and i8 %491, 1 - %tobool.not.i.i.i.i.i.i.i252.i1102 = icmp eq i8 %492, 0 - br i1 %tobool.not.i.i.i.i.i.i.i252.i1102, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1105, label %if.then.i.i.i.i.i.i.i253.i1103 + %tobool.not.i.i.i.i.i.i.i252.i1101 = icmp eq i8 %492, 0 + br i1 %tobool.not.i.i.i.i.i.i.i252.i1101, label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1104, label %if.then.i.i.i.i.i.i.i253.i1102 -if.then.i.i.i.i.i.i.i253.i1103: ; preds = %for.body.i.i.i.i246.i1096 - %dec2.i.i.i.i.i.i.i254.i1104 = add nsw i32 %dec2.i.i.i57.i.i.i.i249.i1099, -1 - store i32 %dec2.i.i.i.i.i.i.i254.i1104, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1105 +if.then.i.i.i.i.i.i.i253.i1102: ; preds = %for.body.i.i.i.i246.i1095 + %dec2.i.i.i.i.i.i.i254.i1103 = add nsw i32 %dec2.i.i.i57.i.i.i.i249.i1098, -1 + store i32 %dec2.i.i.i.i.i.i.i254.i1103, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1104 -_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1105: ; preds = %if.then.i.i.i.i.i.i.i253.i1103, %for.body.i.i.i.i246.i1096 - %dec2.i.i.i4.i.i.i.i256.i1106 = phi i32 [ %dec2.i.i.i57.i.i.i.i249.i1099, %for.body.i.i.i.i246.i1096 ], [ %dec2.i.i.i.i.i.i.i254.i1104, %if.then.i.i.i.i.i.i.i253.i1103 ] - %incdec.ptr.i.i.i.i257.i1107 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i247.i1097, i64 1 - %cmp.not.i.i.i.i258.i1108 = icmp eq ptr %incdec.ptr.i.i.i.i257.i1107, %__cur.0.lcssa.i.i.i.i.i.i.i768 - br i1 %cmp.not.i.i.i.i258.i1108, label %for.cond.for.end_crit_edge.i.i.i.i259.i1109, label %for.body.i.i.i.i246.i1096, !llvm.loop !1238 +_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1104: ; preds = %if.then.i.i.i.i.i.i.i253.i1102, %for.body.i.i.i.i246.i1095 + %dec2.i.i.i4.i.i.i.i256.i1105 = phi i32 [ %dec2.i.i.i57.i.i.i.i249.i1098, %for.body.i.i.i.i246.i1095 ], [ %dec2.i.i.i.i.i.i.i254.i1103, %if.then.i.i.i.i.i.i.i253.i1102 ] + %incdec.ptr.i.i.i.i257.i1106 = getelementptr inbounds %"class.absl::test_internal::CopyableOnlyInstance", ptr %__first.addr.09.i.i.i.i247.i1096, i64 1 + %cmp.not.i.i.i.i258.i1107 = icmp eq ptr %incdec.ptr.i.i.i.i257.i1106, %__cur.0.lcssa.i.i.i.i.i.i.i768 + br i1 %cmp.not.i.i.i.i258.i1107, label %for.cond.for.end_crit_edge.i.i.i.i259.i1108, label %for.body.i.i.i.i246.i1095, !llvm.loop !1238 -for.cond.for.end_crit_edge.i.i.i.i259.i1109: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1105 - store i32 %dec.i.i.i.i.i.i.i250.i1100, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %invoke.cont.i261.i1110 +for.cond.for.end_crit_edge.i.i.i.i259.i1108: ; preds = %_ZSt8_DestroyIN4absl13test_internal20CopyableOnlyInstanceEEvPT_.exit.i.i.i.i255.i1104 + store i32 %dec.i.i.i.i.i.i.i250.i1099, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %invoke.cont.i261.i1109 -invoke.cont.i261.i1110: ; preds = %for.cond.for.end_crit_edge.i.i.i.i259.i1109, %for.end148.i1092 - %tobool.not.i.i.i262.i1111 = icmp eq ptr %original_contents.sroa.0.1.i767, null - br i1 %tobool.not.i.i.i262.i1111, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1113, label %if.then.i.i.i263.i1112 +invoke.cont.i261.i1109: ; preds = %for.cond.for.end_crit_edge.i.i.i.i259.i1108, %for.end148.i1091 + %tobool.not.i.i.i262.i1110 = icmp eq ptr %original_contents.sroa.0.1.i767, null + br i1 %tobool.not.i.i.i262.i1110, label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1112, label %if.then.i.i.i263.i1111 -if.then.i.i.i263.i1112: ; preds = %invoke.cont.i261.i1110 +if.then.i.i.i263.i1111: ; preds = %invoke.cont.i261.i1109 call void @_ZdlPv(ptr noundef nonnull %original_contents.sroa.0.1.i767) #32 - br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1113 + br label %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1112 -_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1113: ; preds = %if.then.i.i.i263.i1112, %invoke.cont.i261.i1110 +_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1112: ; preds = %if.then.i.i.i263.i1111, %invoke.cont.i261.i1109 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1454.i708) #29 %493 = load i64, ptr %original_size.i707, align 8 - %inc152.i1114 = add i64 %493, 1 - store i64 %inc152.i1114, ptr %original_size.i707, align 8 - %cmp.i1115 = icmp ult i64 %inc152.i1114, 6 - br i1 %cmp.i1115, label %invoke.cont.i739, label %invoke.cont10, !llvm.loop !3440 + %inc152.i1113 = add i64 %493, 1 + store i64 %inc152.i1113, ptr %original_size.i707, align 8 + %cmp.i1114 = icmp ult i64 %inc152.i1113, 6 + br i1 %cmp.i1114, label %invoke.cont.i739, label %invoke.cont10, !llvm.loop !3440 -ehcleanup149.i783: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i889, %lpad7.i782, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i.i812, %ehcleanup.i.i809 - %.pn18.pn.i784 = phi { ptr, i32 } [ %.pn18.i867, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i889 ], [ %410, %lpad7.i782 ], [ %.pn.i.i810, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i.i812 ], [ %.pn.i.i810, %ehcleanup.i.i809 ] +ehcleanup149.i783: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i888, %lpad7.i782, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i.i812, %ehcleanup.i.i809 + %.pn18.pn.i784 = phi { ptr, i32 } [ %.pn18.i866, %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit240.i888 ], [ %410, %lpad7.i782 ], [ %.pn.i.i810, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i.i812 ], [ %.pn.i.i810, %ehcleanup.i.i809 ] br i1 %cmp8.not.i.i.i.i775, label %invoke.cont.i286.i802, label %for.body.preheader.i.i.i.i268.i785 for.body.preheader.i.i.i.i268.i785: ; preds = %ehcleanup149.i783 @@ -191639,7 +191653,7 @@ ehcleanup150.i754: ; preds = %if.then.i.i.i288.i8 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1454.i708) #29 br label %lpad9.body -invoke.cont10: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1113 +invoke.cont10: ; preds = %_ZNSt6vectorIN4absl13test_internal20CopyableOnlyInstanceESaIS2_EED2Ev.exit265.i1112 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %original_size.i707) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_1454.i708) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_1459.i709) @@ -191670,23 +191684,23 @@ invoke.cont10: ; preds = %_ZNSt6vectorIN4absl call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1492) #29 ret void -lpad.loopexit1331: ; preds = %invoke.cont.i - %lpad.loopexit1333 = landingpad { ptr, i32 } +lpad.loopexit1330: ; preds = %invoke.cont.i + %lpad.loopexit1332 = landingpad { ptr, i32 } cleanup br label %ehcleanup12 -lpad.loopexit.split-lp1332: ; preds = %invoke.cont - %lpad.loopexit.split-lp1334 = landingpad { ptr, i32 } +lpad.loopexit.split-lp1331: ; preds = %invoke.cont + %lpad.loopexit.split-lp1333 = landingpad { ptr, i32 } cleanup br label %ehcleanup12 lpad3.loopexit: ; preds = %invoke.cont.i35 - %lpad.loopexit1328 = landingpad { ptr, i32 } + %lpad.loopexit1327 = landingpad { ptr, i32 } cleanup br label %ehcleanup11 lpad3.loopexit.split-lp: ; preds = %invoke.cont4 - %lpad.loopexit.split-lp1329 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1328 = landingpad { ptr, i32 } cleanup br label %ehcleanup11 @@ -191706,22 +191720,22 @@ lpad9: ; preds = %invoke.cont.i739 br label %lpad9.body lpad9.body: ; preds = %ehcleanup150.i754, %lpad9 - %eh.lpad-body1327 = phi { ptr, i32 } [ %496, %lpad9 ], [ %.pn18.pn.pn.i755, %ehcleanup150.i754 ] + %eh.lpad-body1326 = phi { ptr, i32 } [ %496, %lpad9 ], [ %.pn18.pn.pn.i755, %ehcleanup150.i754 ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1498) #29 br label %ehcleanup ehcleanup: ; preds = %lpad6.loopexit, %lpad6.loopexit.split-lp, %ehcleanup150.i415, %lpad9.body - %.pn = phi { ptr, i32 } [ %eh.lpad-body1327, %lpad9.body ], [ %.pn18.pn.pn.i416, %ehcleanup150.i415 ], [ %lpad.loopexit, %lpad6.loopexit ], [ %lpad.loopexit.split-lp, %lpad6.loopexit.split-lp ] + %.pn = phi { ptr, i32 } [ %eh.lpad-body1326, %lpad9.body ], [ %.pn18.pn.pn.i416, %ehcleanup150.i415 ], [ %lpad.loopexit, %lpad6.loopexit ], [ %lpad.loopexit.split-lp, %lpad6.loopexit.split-lp ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1496) #29 br label %ehcleanup11 ehcleanup11: ; preds = %lpad3.loopexit, %lpad3.loopexit.split-lp, %ehcleanup150.i48, %ehcleanup - %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %.pn18.pn.pn.i49, %ehcleanup150.i48 ], [ %lpad.loopexit1328, %lpad3.loopexit ], [ %lpad.loopexit.split-lp1329, %lpad3.loopexit.split-lp ] + %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %.pn18.pn.pn.i49, %ehcleanup150.i48 ], [ %lpad.loopexit1327, %lpad3.loopexit ], [ %lpad.loopexit.split-lp1328, %lpad3.loopexit.split-lp ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1494) #29 br label %ehcleanup12 -ehcleanup12: ; preds = %lpad.loopexit1331, %lpad.loopexit.split-lp1332, %ehcleanup150.i, %ehcleanup11 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup11 ], [ %.pn18.pn.pn.i, %ehcleanup150.i ], [ %lpad.loopexit1333, %lpad.loopexit1331 ], [ %lpad.loopexit.split-lp1334, %lpad.loopexit.split-lp1332 ] +ehcleanup12: ; preds = %lpad.loopexit1330, %lpad.loopexit.split-lp1331, %ehcleanup150.i, %ehcleanup11 + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup11 ], [ %.pn18.pn.pn.i, %ehcleanup150.i ], [ %lpad.loopexit1332, %lpad.loopexit1330 ], [ %lpad.loopexit.split-lp1333, %lpad.loopexit.split-lp1331 ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1492) #29 resume { ptr, i32 } %.pn.pn.pn } @@ -192915,7 +192929,7 @@ entry: for.body.i: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit226.i, %entry invoke void @_ZN7testing11ScopedTraceC2ImEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1454.i, ptr noundef nonnull @.str.4, i32 noundef 1454, ptr noundef nonnull align 8 dereferenceable(8) %original_size.i) - to label %.noexc unwind label %lpad.loopexit1320 + to label %.noexc unwind label %lpad.loopexit1319 .noexc: ; preds = %for.body.i %0 = load i64, ptr %original_size.i, align 8 @@ -194232,7 +194246,7 @@ invoke.cont: ; preds = %_ZNSt6vectorIN4absl call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp128.i) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp129.i) invoke void @_ZN7testing11ScopedTraceC2EPKciS2_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1494, ptr noundef nonnull @.str.4, i32 noundef 1494, ptr noundef nonnull @.str.507) - to label %invoke.cont2 unwind label %lpad.loopexit.split-lp1321 + to label %invoke.cont2 unwind label %lpad.loopexit.split-lp1320 invoke.cont2: ; preds = %invoke.cont call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %original_size.i6) @@ -195991,8 +196005,7 @@ for.end.i479: ; preds = %_ZN4absl13test_inte %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %new_contents_in.sroa.8.3.i474 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %new_contents_in.sroa.0.3.i473 to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i655, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i _ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i: ; preds = %invoke.cont8.i458 @@ -196011,9 +196024,9 @@ _ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_i br i1 %cmp.not.i.i.i49.i, label %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i, label %for.body.i.i.i.i.preheader.i.i.i _ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i - %new_contents_in.sroa.0.2.lcssa719750.i = phi ptr [ null, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i ], [ %new_contents_in.sroa.0.3.i473, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ] - %sub.ptr.div.i.i.i.i.i740746.i = phi i64 [ 0, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i ], [ %sub.ptr.div.i.i.i.i.i.i, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ] - %add.ptr7.i.i.i = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr null, i64 %sub.ptr.div.i.i.i.i.i740746.i + %new_contents_in.sroa.0.2.lcssa718747.i = phi ptr [ null, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i ], [ %new_contents_in.sroa.0.3.i473, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ] + %sub.ptr.sub.i.i.i.i.i738743.i = phi i64 [ 0, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i ], [ %sub.ptr.sub.i.i.i.i.i.i, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i ] + %add.ptr7.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i738743.i store ptr %add.ptr7.i.i.i, ptr %_M_end_of_storage.i.i52.i, align 8 br label %invoke.cont24.i486 @@ -196023,7 +196036,7 @@ for.body.i.i.i.i.preheader.i.i.i: ; preds = %_ZNSt6vectorIN4absl call5.i.i.i.i.noexc.i.i482: ; preds = %for.body.i.i.i.i.preheader.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %new_contents.i374, align 8 - %add.ptr.i.i51.i = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i51.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i store ptr %add.ptr.i.i51.i, ptr %_M_end_of_storage.i.i52.i, align 8 %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 @@ -196072,9 +196085,9 @@ lpad.i50.loopexit.split-lp.i: ; preds = %if.then.i.i.i.i655 br label %ehcleanup144.i480 invoke.cont24.i486: ; preds = %for.inc.i.i.i.i.i.i.i485, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i - %cmp.not.i.i.i49751.i = phi i1 [ true, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ false, %for.inc.i.i.i.i.i.i.i485 ] - %new_contents_in.sroa.0.2.lcssa719749.i = phi ptr [ %new_contents_in.sroa.0.2.lcssa719750.i, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %new_contents_in.sroa.0.3.i473, %for.inc.i.i.i.i.i.i.i485 ] - %new_contents_in.sroa.8.2.lcssa729747.i = phi ptr [ %new_contents_in.sroa.0.2.lcssa719750.i, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %new_contents_in.sroa.8.3.i474, %for.inc.i.i.i.i.i.i.i485 ] + %cmp.not.i.i.i49748.i = phi i1 [ true, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ false, %for.inc.i.i.i.i.i.i.i485 ] + %new_contents_in.sroa.0.2.lcssa718746.i = phi ptr [ %new_contents_in.sroa.0.2.lcssa718747.i, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %new_contents_in.sroa.0.3.i473, %for.inc.i.i.i.i.i.i.i485 ] + %new_contents_in.sroa.8.2.lcssa728744.i = phi ptr [ %new_contents_in.sroa.0.2.lcssa718747.i, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %new_contents_in.sroa.8.3.i474, %for.inc.i.i.i.i.i.i.i485 ] %291 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %for.inc.i.i.i.i.i.i.i485 ] %292 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i60.i, %for.inc.i.i.i.i.i.i.i485 ] store ptr %292, ptr %_M_finish.i.i63.i, align 8 @@ -196755,7 +196768,7 @@ if.then.i.i.i189.i: ; preds = %invoke.cont.i187.i br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i595 _ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i595: ; preds = %if.then.i.i.i189.i, %invoke.cont.i187.i - br i1 %cmp.not.i.i.i49751.i, label %invoke.cont.i211.i, label %for.body.preheader.i.i.i.i193.i + br i1 %cmp.not.i.i.i49748.i, label %invoke.cont.i211.i, label %for.body.preheader.i.i.i.i193.i for.body.preheader.i.i.i.i193.i: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i595 %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 @@ -196763,7 +196776,7 @@ for.body.preheader.i.i.i.i193.i: ; preds = %_ZNSt6vectorIN4absl br label %for.body.i.i.i.i196.i for.body.i.i.i.i196.i: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i, %for.body.preheader.i.i.i.i193.i - %__first.addr.09.i.i.i.i197.i = phi ptr [ %incdec.ptr.i.i.i.i207.i, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i ], [ %new_contents_in.sroa.0.2.lcssa719749.i, %for.body.preheader.i.i.i.i193.i ] + %__first.addr.09.i.i.i.i197.i = phi ptr [ %incdec.ptr.i.i.i.i207.i, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i ], [ %new_contents_in.sroa.0.2.lcssa718746.i, %for.body.preheader.i.i.i.i193.i ] %dec.i.i.i38.i.i.i.i198.i = phi i32 [ %dec.i.i.i.i.i.i.i200.i, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i, %for.body.preheader.i.i.i.i193.i ] %dec2.i.i.i57.i.i.i.i199.i = phi i32 [ %dec2.i.i.i4.i.i.i.i206.i, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i, %for.body.preheader.i.i.i.i193.i ] %dec.i.i.i.i.i.i.i200.i = add nsw i32 %dec.i.i.i38.i.i.i.i198.i, -1 @@ -196781,7 +196794,7 @@ if.then.i.i.i.i.i.i.i203.i: ; preds = %for.body.i.i.i.i196 _ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i: ; preds = %if.then.i.i.i.i.i.i.i203.i, %for.body.i.i.i.i196.i %dec2.i.i.i4.i.i.i.i206.i = phi i32 [ %dec2.i.i.i57.i.i.i.i199.i, %for.body.i.i.i.i196.i ], [ %dec2.i.i.i.i.i.i.i204.i, %if.then.i.i.i.i.i.i.i203.i ] %incdec.ptr.i.i.i.i207.i = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i197.i, i64 1 - %cmp.not.i.i.i.i208.i = icmp eq ptr %incdec.ptr.i.i.i.i207.i, %new_contents_in.sroa.8.2.lcssa729747.i + %cmp.not.i.i.i.i208.i = icmp eq ptr %incdec.ptr.i.i.i.i207.i, %new_contents_in.sroa.8.2.lcssa728744.i br i1 %cmp.not.i.i.i.i208.i, label %for.cond.for.end_crit_edge.i.i.i.i209.i, label %for.body.i.i.i.i196.i, !llvm.loop !1390 for.cond.for.end_crit_edge.i.i.i.i209.i: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i @@ -196789,11 +196802,11 @@ for.cond.for.end_crit_edge.i.i.i.i209.i: ; preds = %_ZSt8_DestroyIN4abs br label %invoke.cont.i211.i invoke.cont.i211.i: ; preds = %for.cond.for.end_crit_edge.i.i.i.i209.i, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i595 - %tobool.not.i.i.i212.i = icmp eq ptr %new_contents_in.sroa.0.2.lcssa719749.i, null + %tobool.not.i.i.i212.i = icmp eq ptr %new_contents_in.sroa.0.2.lcssa718746.i, null br i1 %tobool.not.i.i.i212.i, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i, label %if.then.i.i.i213.i if.then.i.i.i213.i: ; preds = %invoke.cont.i211.i - call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2.lcssa719749.i) #32 + call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2.lcssa718746.i) #32 br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i _ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i: ; preds = %if.then.i.i.i213.i, %invoke.cont.i211.i @@ -196818,8 +196831,8 @@ ehcleanup143.i511: ; preds = %ehcleanup142.i509, br label %ehcleanup144.i480 ehcleanup144.i480: ; preds = %ehcleanup143.i511, %lpad.i50.loopexit.split-lp.i, %lpad.i50.loopexit.i, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i672 - %new_contents_in.sroa.0.2421.i = phi ptr [ %new_contents_in.sroa.0.2538.i, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i672 ], [ %new_contents_in.sroa.0.2.lcssa719749.i, %ehcleanup143.i511 ], [ %new_contents_in.sroa.0.3.i473, %lpad.i50.loopexit.i ], [ %new_contents_in.sroa.0.3.i473, %lpad.i50.loopexit.split-lp.i ] - %new_contents_in.sroa.8.2385.i = phi ptr [ %new_contents_in.sroa.16.2540.i, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i672 ], [ %new_contents_in.sroa.8.2.lcssa729747.i, %ehcleanup143.i511 ], [ %new_contents_in.sroa.8.3.i474, %lpad.i50.loopexit.i ], [ %new_contents_in.sroa.8.3.i474, %lpad.i50.loopexit.split-lp.i ] + %new_contents_in.sroa.0.2421.i = phi ptr [ %new_contents_in.sroa.0.2538.i, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i672 ], [ %new_contents_in.sroa.0.2.lcssa718746.i, %ehcleanup143.i511 ], [ %new_contents_in.sroa.0.3.i473, %lpad.i50.loopexit.i ], [ %new_contents_in.sroa.0.3.i473, %lpad.i50.loopexit.split-lp.i ] + %new_contents_in.sroa.8.2385.i = phi ptr [ %new_contents_in.sroa.16.2540.i, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i672 ], [ %new_contents_in.sroa.8.2.lcssa728744.i, %ehcleanup143.i511 ], [ %new_contents_in.sroa.8.3.i474, %lpad.i50.loopexit.i ], [ %new_contents_in.sroa.8.3.i474, %lpad.i50.loopexit.split-lp.i ] %.pn18.i481 = phi { ptr, i32 } [ %lpad.phi.i675, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i672 ], [ %.pn12.pn.pn.pn.pn.i512, %ehcleanup143.i511 ], [ %lpad.loopexit374.i, %lpad.i50.loopexit.i ], [ %lpad.loopexit.split-lp375.i, %lpad.i50.loopexit.split-lp.i ] %cmp.not6.i.i.i.i217.i = icmp eq ptr %new_contents_in.sroa.0.2421.i, %new_contents_in.sroa.8.2385.i br i1 %cmp.not6.i.i.i.i217.i, label %invoke.cont.i236.i, label %for.body.preheader.i.i.i.i218.i @@ -197029,11 +197042,11 @@ invoke.cont8: ; preds = %invoke.cont7 %message_.i159.i732 = getelementptr inbounds %"class.testing::AssertionResult", ptr %gtest_ar_.i721, i64 0, i32 1 br label %for.body.i733 -for.body.i733: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1104, %invoke.cont8 +for.body.i733: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1103, %invoke.cont8 invoke void @_ZN7testing11ScopedTraceC2ImEEPKciRKT_(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1454.i702, ptr noundef nonnull @.str.4, i32 noundef 1454, ptr noundef nonnull align 8 dereferenceable(8) %original_size.i701) - to label %.noexc1315 unwind label %lpad9 + to label %.noexc1314 unwind label %lpad9 -.noexc1315: ; preds = %for.body.i733 +.noexc1314: ; preds = %for.body.i733 %371 = load i64, ptr %original_size.i701, align 8 %372 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 %inc.i.i.i734 = add i32 %372, 1 @@ -197042,16 +197055,16 @@ for.body.i733: ; preds = %_ZNSt6vectorIN4absl %inc2.i.i.i735 = add i32 %373, 1 store i32 %inc2.i.i.i735, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %cmp.i.i.i736 = icmp ugt i64 %371, 1152921504606846975 - br i1 %cmp.i.i.i736, label %if.then.i.i.i1309, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i737 + br i1 %cmp.i.i.i736, label %if.then.i.i.i1308, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i737 -if.then.i.i.i1309: ; preds = %.noexc1315 +if.then.i.i.i1308: ; preds = %.noexc1314 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc.i1314 unwind label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1310 + to label %.noexc.i1313 unwind label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1309 -.noexc.i1314: ; preds = %if.then.i.i.i1309 +.noexc.i1313: ; preds = %if.then.i.i.i1308 unreachable -_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i737: ; preds = %.noexc1315 +_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i737: ; preds = %.noexc1314 %cmp.not.i.i.i.i.i738 = icmp eq i64 %371, 0 br i1 %cmp.not.i.i.i.i.i738, label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit.i760, label %for.body.lr.ph.i.i.i.i.i.i.i739 @@ -197107,8 +197120,8 @@ _ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit.i760: ; preds = %_ZN4a %381 = trunc i64 %sub.ptr.div.i.i.i.i.i767 to i32 br label %for.body6.i774 -for.body6.i774: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1080, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit.i760 - %storemerge3547.i775 = phi i64 [ 0, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit.i760 ], [ %inc147.i1081, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1080 ] +for.body6.i774: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1079, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit.i760 + %storemerge3547.i775 = phi i64 [ 0, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit.i760 ], [ %inc147.i1080, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1079 ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %agg.tmp.i.i699) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp.i.i700) invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp.i.i700) @@ -197169,7 +197182,7 @@ invoke.cont8.i817: ; preds = %_ZNKSt14default_del call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %agg.tmp.i.i699) call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp.i.i700) %cmp10537.not.i818 = icmp eq i64 %storemerge3547.i775, 0 - br i1 %cmp10537.not.i818, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1308, label %for.body11.preheader.i819 + br i1 %cmp10537.not.i818, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1307, label %for.body11.preheader.i819 for.body11.preheader.i819: ; preds = %invoke.cont8.i817 %.pre.i820 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 @@ -197189,7 +197202,7 @@ for.body11.i821: ; preds = %_ZN4absl13test_inte %inc2.i.i28.i829 = add nsw i32 %390, 1 store i32 %inc2.i.i28.i829, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 %cmp.not.i.i.i830 = icmp eq ptr %new_contents_in.sroa.8.2539.i824, %new_contents_in.sroa.16.2540.i823 - br i1 %cmp.not.i.i.i830, label %if.else.i.i.i1228, label %if.then.i.i29.i831 + br i1 %cmp.not.i.i.i830, label %if.else.i.i.i1227, label %if.then.i.i29.i831 if.then.i.i29.i831: ; preds = %for.body11.i821 store i32 %add.i827, ptr %new_contents_in.sroa.8.2539.i824, align 4 @@ -197204,135 +197217,135 @@ if.then.i.i29.i831: ; preds = %for.body11.i821 %incdec.ptr.i.i.i835 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %new_contents_in.sroa.8.2539.i824, i64 1 br label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit36.i836 -if.else.i.i.i1228: ; preds = %for.body11.i821 - %sub.ptr.lhs.cast.i.i.i.i1229 = ptrtoint ptr %new_contents_in.sroa.16.2540.i823 to i64 - %sub.ptr.rhs.cast.i.i.i.i1230 = ptrtoint ptr %new_contents_in.sroa.0.2538.i825 to i64 - %sub.ptr.sub.i.i.i.i1231 = sub i64 %sub.ptr.lhs.cast.i.i.i.i1229, %sub.ptr.rhs.cast.i.i.i.i1230 - %cmp.i.i292.i1232 = icmp eq i64 %sub.ptr.sub.i.i.i.i1231, 9223372036854775800 - br i1 %cmp.i.i292.i1232, label %if.then.i.i331.i1302, label %_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1233 +if.else.i.i.i1227: ; preds = %for.body11.i821 + %sub.ptr.lhs.cast.i.i.i.i1228 = ptrtoint ptr %new_contents_in.sroa.16.2540.i823 to i64 + %sub.ptr.rhs.cast.i.i.i.i1229 = ptrtoint ptr %new_contents_in.sroa.0.2538.i825 to i64 + %sub.ptr.sub.i.i.i.i1230 = sub i64 %sub.ptr.lhs.cast.i.i.i.i1228, %sub.ptr.rhs.cast.i.i.i.i1229 + %cmp.i.i292.i1231 = icmp eq i64 %sub.ptr.sub.i.i.i.i1230, 9223372036854775800 + br i1 %cmp.i.i292.i1231, label %if.then.i.i331.i1301, label %_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1232 -if.then.i.i331.i1302: ; preds = %if.else.i.i.i1228 +if.then.i.i331.i1301: ; preds = %if.else.i.i.i1227 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.293) #31 - to label %.noexc332.i1307 unwind label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1303 - -.noexc332.i1307: ; preds = %if.then.i.i331.i1302 - unreachable - -_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1233: ; preds = %if.else.i.i.i1228 - %sub.ptr.div.i.i.i.i1234 = ashr exact i64 %sub.ptr.sub.i.i.i.i1231, 3 - %.sroa.speculated.i.i.i1235 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i1234, i64 1) - %add.i.i.i1236 = add i64 %.sroa.speculated.i.i.i1235, %sub.ptr.div.i.i.i.i1234 - %cmp7.i.i.i1237 = icmp ult i64 %add.i.i.i1236, %sub.ptr.div.i.i.i.i1234 - %cmp9.i.i.i1238 = icmp ugt i64 %add.i.i.i1236, 1152921504606846975 - %or.cond.i.i.i1239 = or i1 %cmp7.i.i.i1237, %cmp9.i.i.i1238 - %cond.i.i293.i1240 = select i1 %or.cond.i.i.i1239, i64 1152921504606846975, i64 %add.i.i.i1236 - %cmp.not.i.i294.i1241 = icmp eq i64 %cond.i.i293.i1240, 0 - br i1 %cmp.not.i.i294.i1241, label %invoke.cont.i295.i1251, label %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1242 - -_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1242: ; preds = %_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1233 - %mul.i.i.i.i.i1243 = shl nuw nsw i64 %cond.i.i293.i1240, 3 - %call5.i.i.i.i333.i1244 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1243) #33 - to label %invoke.cont.i295.i1251 unwind label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1245 - -invoke.cont.i295.i1251: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1242, %_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1233 - %cond.i19.i.i1252 = phi ptr [ null, %_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1233 ], [ %call5.i.i.i.i333.i1244, %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1242 ] - %add.ptr.i296.i1253 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i19.i.i1252, i64 %sub.ptr.div.i.i.i.i1234 - store i32 %add.i827, ptr %add.ptr.i296.i1253, align 4 - %is_live_.i.i.i.i.i.i1254 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %add.ptr.i296.i1253, i64 0, i32 1 - store i8 1, ptr %is_live_.i.i.i.i.i.i1254, align 4 - %inc.i.i.i.i.i.i1255 = add i32 %389, 2 - store i32 %inc.i.i.i.i.i.i1255, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + to label %.noexc332.i1306 unwind label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1302 + +.noexc332.i1306: ; preds = %if.then.i.i331.i1301 + unreachable + +_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1232: ; preds = %if.else.i.i.i1227 + %sub.ptr.div.i.i.i.i1233 = ashr exact i64 %sub.ptr.sub.i.i.i.i1230, 3 + %.sroa.speculated.i.i.i1234 = call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i1233, i64 1) + %add.i.i.i1235 = add i64 %.sroa.speculated.i.i.i1234, %sub.ptr.div.i.i.i.i1233 + %cmp7.i.i.i1236 = icmp ult i64 %add.i.i.i1235, %sub.ptr.div.i.i.i.i1233 + %cmp9.i.i.i1237 = icmp ugt i64 %add.i.i.i1235, 1152921504606846975 + %or.cond.i.i.i1238 = or i1 %cmp7.i.i.i1236, %cmp9.i.i.i1237 + %cond.i.i293.i1239 = select i1 %or.cond.i.i.i1238, i64 1152921504606846975, i64 %add.i.i.i1235 + %cmp.not.i.i294.i1240 = icmp eq i64 %cond.i.i293.i1239, 0 + br i1 %cmp.not.i.i294.i1240, label %invoke.cont.i295.i1250, label %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1241 + +_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1241: ; preds = %_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1232 + %mul.i.i.i.i.i1242 = shl nuw nsw i64 %cond.i.i293.i1239, 3 + %call5.i.i.i.i333.i1243 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i1242) #33 + to label %invoke.cont.i295.i1250 unwind label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1244 + +invoke.cont.i295.i1250: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1241, %_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1232 + %cond.i19.i.i1251 = phi ptr [ null, %_ZNKSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE12_M_check_lenEmPKc.exit.i.i1232 ], [ %call5.i.i.i.i333.i1243, %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1241 ] + %add.ptr.i296.i1252 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i19.i.i1251, i64 %sub.ptr.div.i.i.i.i1233 + store i32 %add.i827, ptr %add.ptr.i296.i1252, align 4 + %is_live_.i.i.i.i.i.i1253 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %add.ptr.i296.i1252, i64 0, i32 1 + store i8 1, ptr %is_live_.i.i.i.i.i.i1253, align 4 + %inc.i.i.i.i.i.i1254 = add i32 %389, 2 + store i32 %inc.i.i.i.i.i.i1254, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 %393 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance10num_moves_E, align 4 - %inc5.i.i.i.i.i.i1256 = add nsw i32 %393, 1 - store i32 %inc5.i.i.i.i.i.i1256, ptr @_ZN4absl13test_internal19BaseCountedInstance10num_moves_E, align 4 - %cmp.not7.i.i.i.i.i.i.i1257 = icmp eq ptr %new_contents_in.sroa.0.2538.i825, %new_contents_in.sroa.16.2540.i823 - br i1 %cmp.not7.i.i.i.i.i.i.i1257, label %invoke.cont14.i.thread.i1300, label %for.body.i.i.i.i.i.preheader.i297.i1258 - -invoke.cont14.i.thread.i1300: ; preds = %invoke.cont.i295.i1251 - %incdec.ptr.i311364.i1301 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i19.i.i1252, i64 1 - br label %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1292 - -for.body.i.i.i.i.i.preheader.i297.i1258: ; preds = %invoke.cont.i295.i1251 - %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i1259 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - br label %for.body.i.i.i.i.i.i298.i1260 - -for.body.i.i.i.i.i.i298.i1260: ; preds = %for.inc.i.i.i.i.i.i306.i1272, %for.body.i.i.i.i.i.preheader.i297.i1258 - %inc7.i.i.i.i.i.i.i.i66.i.i1261 = phi i32 [ %inc7.i.i.i.i.i.i.i.i.i307.i1274, %for.inc.i.i.i.i.i.i306.i1272 ], [ %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i1259, %for.body.i.i.i.i.i.preheader.i297.i1258 ] - %inc6.i.i.i.i.i.i.i.i65.i.i1262 = phi i32 [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1273, %for.inc.i.i.i.i.i.i306.i1272 ], [ %inc2.i.i28.i829, %for.body.i.i.i.i.i.preheader.i297.i1258 ] - %inc.i.i.i.i.i.i.i.i63.i.i1263 = phi i32 [ %inc.i.i.i.i.i.i.i.i.i302.i1268, %for.inc.i.i.i.i.i.i306.i1272 ], [ %inc.i.i.i.i.i.i1255, %for.body.i.i.i.i.i.preheader.i297.i1258 ] - %__cur.09.i.i.i.i.i.i299.i1264 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i1276, %for.inc.i.i.i.i.i.i306.i1272 ], [ %cond.i19.i.i1252, %for.body.i.i.i.i.i.preheader.i297.i1258 ] - %__first.addr.08.i.i.i.i.i.i.i1265 = phi ptr [ %incdec.ptr.i.i.i.i.i.i308.i1275, %for.inc.i.i.i.i.i.i306.i1272 ], [ %new_contents_in.sroa.0.2538.i825, %for.body.i.i.i.i.i.preheader.i297.i1258 ] - %394 = load i32, ptr %__first.addr.08.i.i.i.i.i.i.i1265, align 4 - store i32 %394, ptr %__cur.09.i.i.i.i.i.i299.i1264, align 4 - %is_live_.i.i.i.i.i.i.i.i.i300.i1266 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__cur.09.i.i.i.i.i.i299.i1264, i64 0, i32 1 - %is_live_3.i.i.i.i.i.i.i.i.i301.i1267 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.08.i.i.i.i.i.i.i1265, i64 0, i32 1 - %395 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i301.i1267, align 4 + %inc5.i.i.i.i.i.i1255 = add nsw i32 %393, 1 + store i32 %inc5.i.i.i.i.i.i1255, ptr @_ZN4absl13test_internal19BaseCountedInstance10num_moves_E, align 4 + %cmp.not7.i.i.i.i.i.i.i1256 = icmp eq ptr %new_contents_in.sroa.0.2538.i825, %new_contents_in.sroa.16.2540.i823 + br i1 %cmp.not7.i.i.i.i.i.i.i1256, label %invoke.cont14.i.thread.i1299, label %for.body.i.i.i.i.i.preheader.i297.i1257 + +invoke.cont14.i.thread.i1299: ; preds = %invoke.cont.i295.i1250 + %incdec.ptr.i311364.i1300 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i19.i.i1251, i64 1 + br label %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1291 + +for.body.i.i.i.i.i.preheader.i297.i1257: ; preds = %invoke.cont.i295.i1250 + %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i1258 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + br label %for.body.i.i.i.i.i.i298.i1259 + +for.body.i.i.i.i.i.i298.i1259: ; preds = %for.inc.i.i.i.i.i.i306.i1271, %for.body.i.i.i.i.i.preheader.i297.i1257 + %inc7.i.i.i.i.i.i.i.i66.i.i1260 = phi i32 [ %inc7.i.i.i.i.i.i.i.i.i307.i1273, %for.inc.i.i.i.i.i.i306.i1271 ], [ %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i1258, %for.body.i.i.i.i.i.preheader.i297.i1257 ] + %inc6.i.i.i.i.i.i.i.i65.i.i1261 = phi i32 [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1272, %for.inc.i.i.i.i.i.i306.i1271 ], [ %inc2.i.i28.i829, %for.body.i.i.i.i.i.preheader.i297.i1257 ] + %inc.i.i.i.i.i.i.i.i63.i.i1262 = phi i32 [ %inc.i.i.i.i.i.i.i.i.i302.i1267, %for.inc.i.i.i.i.i.i306.i1271 ], [ %inc.i.i.i.i.i.i1254, %for.body.i.i.i.i.i.preheader.i297.i1257 ] + %__cur.09.i.i.i.i.i.i299.i1263 = phi ptr [ %incdec.ptr1.i.i.i.i.i.i.i1275, %for.inc.i.i.i.i.i.i306.i1271 ], [ %cond.i19.i.i1251, %for.body.i.i.i.i.i.preheader.i297.i1257 ] + %__first.addr.08.i.i.i.i.i.i.i1264 = phi ptr [ %incdec.ptr.i.i.i.i.i.i308.i1274, %for.inc.i.i.i.i.i.i306.i1271 ], [ %new_contents_in.sroa.0.2538.i825, %for.body.i.i.i.i.i.preheader.i297.i1257 ] + %394 = load i32, ptr %__first.addr.08.i.i.i.i.i.i.i1264, align 4 + store i32 %394, ptr %__cur.09.i.i.i.i.i.i299.i1263, align 4 + %is_live_.i.i.i.i.i.i.i.i.i300.i1265 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__cur.09.i.i.i.i.i.i299.i1263, i64 0, i32 1 + %is_live_3.i.i.i.i.i.i.i.i.i301.i1266 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.08.i.i.i.i.i.i.i1264, i64 0, i32 1 + %395 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i301.i1266, align 4 %396 = and i8 %395, 1 - store i8 %396, ptr %is_live_.i.i.i.i.i.i.i.i.i300.i1266, align 4 - %inc.i.i.i.i.i.i.i.i.i302.i1268 = add nsw i32 %inc.i.i.i.i.i.i.i.i63.i.i1263, 1 - store i32 %inc.i.i.i.i.i.i.i.i.i302.i1268, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %tobool5.not.i.i.i.i.i.i.i.i.i303.i1269 = icmp eq i8 %396, 0 - br i1 %tobool5.not.i.i.i.i.i.i.i.i.i303.i1269, label %for.inc.i.i.i.i.i.i306.i1272, label %if.then.i.i.i.i.i.i.i.i.i304.i1270 - -if.then.i.i.i.i.i.i.i.i.i304.i1270: ; preds = %for.body.i.i.i.i.i.i298.i1260 - %inc6.i.i.i.i.i.i.i.i.i305.i1271 = add nsw i32 %inc6.i.i.i.i.i.i.i.i65.i.i1262, 1 - store i32 %inc6.i.i.i.i.i.i.i.i.i305.i1271, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %for.inc.i.i.i.i.i.i306.i1272 - -for.inc.i.i.i.i.i.i306.i1272: ; preds = %if.then.i.i.i.i.i.i.i.i.i304.i1270, %for.body.i.i.i.i.i.i298.i1260 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1273 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i305.i1271, %if.then.i.i.i.i.i.i.i.i.i304.i1270 ], [ %inc6.i.i.i.i.i.i.i.i65.i.i1262, %for.body.i.i.i.i.i.i298.i1260 ] - %inc7.i.i.i.i.i.i.i.i.i307.i1274 = add nsw i32 %inc7.i.i.i.i.i.i.i.i66.i.i1261, 1 - store i32 %inc7.i.i.i.i.i.i.i.i.i307.i1274, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - %incdec.ptr.i.i.i.i.i.i308.i1275 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.08.i.i.i.i.i.i.i1265, i64 1 - %incdec.ptr1.i.i.i.i.i.i.i1276 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__cur.09.i.i.i.i.i.i299.i1264, i64 1 - %cmp.not.i.i.i.i.i.i309.i1277 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i308.i1275, %new_contents_in.sroa.16.2540.i823 - br i1 %cmp.not.i.i.i.i.i.i309.i1277, label %for.body.i.i.i.i316.i1280, label %for.body.i.i.i.i.i.i298.i1260, !llvm.loop !3418 - -for.body.i.i.i.i316.i1280: ; preds = %for.inc.i.i.i.i.i.i306.i1272, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1287 - %__first.addr.09.i.i.i.i317.i1281 = phi ptr [ %incdec.ptr.i.i.i.i327.i1289, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1287 ], [ %new_contents_in.sroa.0.2538.i825, %for.inc.i.i.i.i.i.i306.i1272 ] - %dec2.i.i.i57.i.i.i.i319.i1282 = phi i32 [ %dec2.i.i.i4.i.i.i.i326.i1288, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1287 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1273, %for.inc.i.i.i.i.i.i306.i1272 ] - %is_live_.i.i.i.i.i.i.i321.i1283 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i317.i1281, i64 0, i32 1 - %397 = load i8, ptr %is_live_.i.i.i.i.i.i.i321.i1283, align 4 + store i8 %396, ptr %is_live_.i.i.i.i.i.i.i.i.i300.i1265, align 4 + %inc.i.i.i.i.i.i.i.i.i302.i1267 = add nsw i32 %inc.i.i.i.i.i.i.i.i63.i.i1262, 1 + store i32 %inc.i.i.i.i.i.i.i.i.i302.i1267, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %tobool5.not.i.i.i.i.i.i.i.i.i303.i1268 = icmp eq i8 %396, 0 + br i1 %tobool5.not.i.i.i.i.i.i.i.i.i303.i1268, label %for.inc.i.i.i.i.i.i306.i1271, label %if.then.i.i.i.i.i.i.i.i.i304.i1269 + +if.then.i.i.i.i.i.i.i.i.i304.i1269: ; preds = %for.body.i.i.i.i.i.i298.i1259 + %inc6.i.i.i.i.i.i.i.i.i305.i1270 = add nsw i32 %inc6.i.i.i.i.i.i.i.i65.i.i1261, 1 + store i32 %inc6.i.i.i.i.i.i.i.i.i305.i1270, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %for.inc.i.i.i.i.i.i306.i1271 + +for.inc.i.i.i.i.i.i306.i1271: ; preds = %if.then.i.i.i.i.i.i.i.i.i304.i1269, %for.body.i.i.i.i.i.i298.i1259 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1272 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i305.i1270, %if.then.i.i.i.i.i.i.i.i.i304.i1269 ], [ %inc6.i.i.i.i.i.i.i.i65.i.i1261, %for.body.i.i.i.i.i.i298.i1259 ] + %inc7.i.i.i.i.i.i.i.i.i307.i1273 = add nsw i32 %inc7.i.i.i.i.i.i.i.i66.i.i1260, 1 + store i32 %inc7.i.i.i.i.i.i.i.i.i307.i1273, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + %incdec.ptr.i.i.i.i.i.i308.i1274 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.08.i.i.i.i.i.i.i1264, i64 1 + %incdec.ptr1.i.i.i.i.i.i.i1275 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__cur.09.i.i.i.i.i.i299.i1263, i64 1 + %cmp.not.i.i.i.i.i.i309.i1276 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i308.i1274, %new_contents_in.sroa.16.2540.i823 + br i1 %cmp.not.i.i.i.i.i.i309.i1276, label %for.body.i.i.i.i316.i1279, label %for.body.i.i.i.i.i.i298.i1259, !llvm.loop !3418 + +for.body.i.i.i.i316.i1279: ; preds = %for.inc.i.i.i.i.i.i306.i1271, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1286 + %__first.addr.09.i.i.i.i317.i1280 = phi ptr [ %incdec.ptr.i.i.i.i327.i1288, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1286 ], [ %new_contents_in.sroa.0.2538.i825, %for.inc.i.i.i.i.i.i306.i1271 ] + %dec2.i.i.i57.i.i.i.i319.i1281 = phi i32 [ %dec2.i.i.i4.i.i.i.i326.i1287, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1286 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i315.i1272, %for.inc.i.i.i.i.i.i306.i1271 ] + %is_live_.i.i.i.i.i.i.i321.i1282 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i317.i1280, i64 0, i32 1 + %397 = load i8, ptr %is_live_.i.i.i.i.i.i.i321.i1282, align 4 %398 = and i8 %397, 1 - %tobool.not.i.i.i.i.i.i.i322.i1284 = icmp eq i8 %398, 0 - br i1 %tobool.not.i.i.i.i.i.i.i322.i1284, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1287, label %if.then.i.i.i.i.i.i.i323.i1285 - -if.then.i.i.i.i.i.i.i323.i1285: ; preds = %for.body.i.i.i.i316.i1280 - %dec2.i.i.i.i.i.i.i324.i1286 = add nsw i32 %dec2.i.i.i57.i.i.i.i319.i1282, -1 - store i32 %dec2.i.i.i.i.i.i.i324.i1286, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1287 - -_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1287: ; preds = %if.then.i.i.i.i.i.i.i323.i1285, %for.body.i.i.i.i316.i1280 - %dec2.i.i.i4.i.i.i.i326.i1288 = phi i32 [ %dec2.i.i.i57.i.i.i.i319.i1282, %for.body.i.i.i.i316.i1280 ], [ %dec2.i.i.i.i.i.i.i324.i1286, %if.then.i.i.i.i.i.i.i323.i1285 ] - %incdec.ptr.i.i.i.i327.i1289 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i317.i1281, i64 1 - %cmp.not.i.i.i.i328.i1290 = icmp eq ptr %incdec.ptr.i.i.i.i327.i1289, %new_contents_in.sroa.16.2540.i823 - br i1 %cmp.not.i.i.i.i328.i1290, label %for.cond.for.end_crit_edge.i.i.i.i329.i1291, label %for.body.i.i.i.i316.i1280, !llvm.loop !1390 - -for.cond.for.end_crit_edge.i.i.i.i329.i1291: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1287 - %incdec.ptr.i311.i1279 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__cur.09.i.i.i.i.i.i299.i1264, i64 2 - store i32 %inc.i.i.i.i.i.i1255, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1292 - -_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1292: ; preds = %for.cond.for.end_crit_edge.i.i.i.i329.i1291, %invoke.cont14.i.thread.i1300 - %incdec.ptr.i311365.i1293 = phi ptr [ %incdec.ptr.i311364.i1301, %invoke.cont14.i.thread.i1300 ], [ %incdec.ptr.i311.i1279, %for.cond.for.end_crit_edge.i.i.i.i329.i1291 ] - %tobool.not.i.i330.i1294 = icmp eq ptr %new_contents_in.sroa.0.2538.i825, null - br i1 %tobool.not.i.i330.i1294, label %.noexc30.i1297, label %if.then.i37.i.i1295 - -if.then.i37.i.i1295: ; preds = %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1292 + %tobool.not.i.i.i.i.i.i.i322.i1283 = icmp eq i8 %398, 0 + br i1 %tobool.not.i.i.i.i.i.i.i322.i1283, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1286, label %if.then.i.i.i.i.i.i.i323.i1284 + +if.then.i.i.i.i.i.i.i323.i1284: ; preds = %for.body.i.i.i.i316.i1279 + %dec2.i.i.i.i.i.i.i324.i1285 = add nsw i32 %dec2.i.i.i57.i.i.i.i319.i1281, -1 + store i32 %dec2.i.i.i.i.i.i.i324.i1285, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1286 + +_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1286: ; preds = %if.then.i.i.i.i.i.i.i323.i1284, %for.body.i.i.i.i316.i1279 + %dec2.i.i.i4.i.i.i.i326.i1287 = phi i32 [ %dec2.i.i.i57.i.i.i.i319.i1281, %for.body.i.i.i.i316.i1279 ], [ %dec2.i.i.i.i.i.i.i324.i1285, %if.then.i.i.i.i.i.i.i323.i1284 ] + %incdec.ptr.i.i.i.i327.i1288 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i317.i1280, i64 1 + %cmp.not.i.i.i.i328.i1289 = icmp eq ptr %incdec.ptr.i.i.i.i327.i1288, %new_contents_in.sroa.16.2540.i823 + br i1 %cmp.not.i.i.i.i328.i1289, label %for.cond.for.end_crit_edge.i.i.i.i329.i1290, label %for.body.i.i.i.i316.i1279, !llvm.loop !1390 + +for.cond.for.end_crit_edge.i.i.i.i329.i1290: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i325.i1286 + %incdec.ptr.i311.i1278 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__cur.09.i.i.i.i.i.i299.i1263, i64 2 + store i32 %inc.i.i.i.i.i.i1254, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1291 + +_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1291: ; preds = %for.cond.for.end_crit_edge.i.i.i.i329.i1290, %invoke.cont14.i.thread.i1299 + %incdec.ptr.i311365.i1292 = phi ptr [ %incdec.ptr.i311364.i1300, %invoke.cont14.i.thread.i1299 ], [ %incdec.ptr.i311.i1278, %for.cond.for.end_crit_edge.i.i.i.i329.i1290 ] + %tobool.not.i.i330.i1293 = icmp eq ptr %new_contents_in.sroa.0.2538.i825, null + br i1 %tobool.not.i.i330.i1293, label %.noexc30.i1296, label %if.then.i37.i.i1294 + +if.then.i37.i.i1294: ; preds = %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1291 call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2538.i825) #32 - %.pre705.pre.i1296 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %.noexc30.i1297 + %.pre705.pre.i1295 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %.noexc30.i1296 -.noexc30.i1297: ; preds = %if.then.i37.i.i1295, %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1292 - %.pre705.i1298 = phi i32 [ %.pre705.pre.i1296, %if.then.i37.i.i1295 ], [ %inc.i.i.i.i.i.i1255, %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1292 ] - %add.ptr29.i.i1299 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i19.i.i1252, i64 %cond.i.i293.i1240 +.noexc30.i1296: ; preds = %if.then.i37.i.i1294, %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1291 + %.pre705.i1297 = phi i32 [ %.pre705.pre.i1295, %if.then.i37.i.i1294 ], [ %inc.i.i.i.i.i.i1254, %_ZSt8_DestroyIPN4absl13test_internal23CopyableMovableInstanceES2_EvT_S4_RSaIT0_E.exit.i.i1291 ] + %add.ptr29.i.i1298 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i19.i.i1251, i64 %cond.i.i293.i1239 br label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit36.i836 -_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit36.i836: ; preds = %.noexc30.i1297, %if.then.i.i29.i831 - %399 = phi i32 [ %.pre705.i1298, %.noexc30.i1297 ], [ %inc.i.i.i.i.i.i.i833, %if.then.i.i29.i831 ] - %new_contents_in.sroa.0.3.i837 = phi ptr [ %cond.i19.i.i1252, %.noexc30.i1297 ], [ %new_contents_in.sroa.0.2538.i825, %if.then.i.i29.i831 ] - %new_contents_in.sroa.8.3.i838 = phi ptr [ %incdec.ptr.i311365.i1293, %.noexc30.i1297 ], [ %incdec.ptr.i.i.i835, %if.then.i.i29.i831 ] - %new_contents_in.sroa.16.3.i839 = phi ptr [ %add.ptr29.i.i1299, %.noexc30.i1297 ], [ %new_contents_in.sroa.16.2540.i823, %if.then.i.i29.i831 ] +_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit36.i836: ; preds = %.noexc30.i1296, %if.then.i.i29.i831 + %399 = phi i32 [ %.pre705.i1297, %.noexc30.i1296 ], [ %inc.i.i.i.i.i.i.i833, %if.then.i.i29.i831 ] + %new_contents_in.sroa.0.3.i837 = phi ptr [ %cond.i19.i.i1251, %.noexc30.i1296 ], [ %new_contents_in.sroa.0.2538.i825, %if.then.i.i29.i831 ] + %new_contents_in.sroa.8.3.i838 = phi ptr [ %incdec.ptr.i311365.i1292, %.noexc30.i1296 ], [ %incdec.ptr.i.i.i835, %if.then.i.i29.i831 ] + %new_contents_in.sroa.16.3.i839 = phi ptr [ %add.ptr29.i.i1298, %.noexc30.i1296 ], [ %new_contents_in.sroa.16.2540.i823, %if.then.i.i29.i831 ] %dec.i.i31.i840 = add nsw i32 %399, -1 store i32 %dec.i.i31.i840, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 %inc.i841 = add nuw nsw i64 %i.0541.i822, 1 @@ -197344,19 +197357,19 @@ _ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742: ; pre cleanup br label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.i744 -_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1310: ; preds = %if.then.i.i.i1309 - %lpad.loopexit.split-lp381.i1311 = landingpad { ptr, i32 } +_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1309: ; preds = %if.then.i.i.i1308 + %lpad.loopexit.split-lp381.i1310 = landingpad { ptr, i32 } cleanup - %.pre708.i1312 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %.pre709.i1313 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %400 = add nsw i32 %.pre708.i1312, -1 - %401 = add nsw i32 %.pre709.i1313, -1 + %.pre708.i1311 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %.pre709.i1312 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %400 = add nsw i32 %.pre708.i1311, -1 + %401 = add nsw i32 %.pre709.i1312, -1 br label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.i744 -_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.i744: ; preds = %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1310, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742 - %dec2.i.i41.i745 = phi i32 [ %373, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742 ], [ %401, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1310 ] - %dec.i.i37.i746 = phi i32 [ %372, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742 ], [ %400, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1310 ] - %lpad.phi382.i747 = phi { ptr, i32 } [ %lpad.loopexit380.i743, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742 ], [ %lpad.loopexit.split-lp381.i1311, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1310 ] +_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.i744: ; preds = %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1309, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742 + %dec2.i.i41.i745 = phi i32 [ %373, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742 ], [ %401, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1309 ] + %dec.i.i37.i746 = phi i32 [ %372, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742 ], [ %400, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1309 ] + %lpad.phi382.i747 = phi { ptr, i32 } [ %lpad.loopexit380.i743, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.i742 ], [ %lpad.loopexit.split-lp381.i1310, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit42.loopexit.split-lp.i1309 ] store i32 %dec.i.i37.i746, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 store i32 %dec2.i.i41.i745, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 br label %ehcleanup150.i748 @@ -197366,961 +197379,960 @@ lpad7.i776: ; preds = %for.body6.i774 cleanup br label %ehcleanup149.i777 -_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1245: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1242 - %lpad.loopexit.i1246 = landingpad { ptr, i32 } +_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1244: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE8allocateERS3_m.exit.i.i.i1241 + %lpad.loopexit.i1245 = landingpad { ptr, i32 } cleanup - br label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1247 + br label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1246 -_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1303: ; preds = %if.then.i.i331.i1302 - %lpad.loopexit.split-lp.i1304 = landingpad { ptr, i32 } +_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1302: ; preds = %if.then.i.i331.i1301 + %lpad.loopexit.split-lp.i1303 = landingpad { ptr, i32 } cleanup - %.pre706.i1305 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %.pre707.i1306 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %403 = add nsw i32 %.pre706.i1305, -1 - %404 = add nsw i32 %.pre707.i1306, -1 - br label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1247 + %.pre706.i1304 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %.pre707.i1305 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %403 = add nsw i32 %.pre706.i1304, -1 + %404 = add nsw i32 %.pre707.i1305, -1 + br label %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1246 -_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1247: ; preds = %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1303, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1245 - %dec2.i.i47.i1248 = phi i32 [ %390, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1245 ], [ %404, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1303 ] - %dec.i.i43.i1249 = phi i32 [ %389, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1245 ], [ %403, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1303 ] - %lpad.phi.i1250 = phi { ptr, i32 } [ %lpad.loopexit.i1246, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1245 ], [ %lpad.loopexit.split-lp.i1304, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1303 ] - store i32 %dec.i.i43.i1249, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - store i32 %dec2.i.i47.i1248, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %ehcleanup144.i855 +_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1246: ; preds = %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1302, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1244 + %dec2.i.i47.i1247 = phi i32 [ %390, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1244 ], [ %404, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1302 ] + %dec.i.i43.i1248 = phi i32 [ %389, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1244 ], [ %403, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1302 ] + %lpad.phi.i1249 = phi { ptr, i32 } [ %lpad.loopexit.i1245, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.i1244 ], [ %lpad.loopexit.split-lp.i1303, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.loopexit.split-lp.i1302 ] + store i32 %dec.i.i43.i1248, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + store i32 %dec2.i.i47.i1247, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %ehcleanup144.i854 for.end.i843: ; preds = %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit36.i836 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %new_contents.i704, i8 0, i64 24, i1 false) %sub.ptr.lhs.cast.i.i.i.i.i.i844 = ptrtoint ptr %new_contents_in.sroa.8.3.i838 to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i845 = ptrtoint ptr %new_contents_in.sroa.0.3.i837 to i64 %sub.ptr.sub.i.i.i.i.i.i846 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i844, %sub.ptr.rhs.cast.i.i.i.i.i.i845 - %sub.ptr.div.i.i.i.i.i.i847 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i846, 3 - %cmp.i.i.i.i848 = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i847, 1152921504606846975 - br i1 %cmp.i.i.i.i848, label %if.then.i.i.i.i1224, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i849 + %cmp.i.i.i.i847 = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i846, 9223372036854775800 + br i1 %cmp.i.i.i.i847, label %if.then.i.i.i.i1223, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i848 -_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1308: ; preds = %invoke.cont8.i817 +_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1307: ; preds = %invoke.cont8.i817 store i64 0, ptr %new_contents.i704, align 8 - br label %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219 + br label %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218 -if.then.i.i.i.i1224: ; preds = %for.end.i843 +if.then.i.i.i.i1223: ; preds = %for.end.i843 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.259) #31 - to label %.noexc.i.i1227 unwind label %lpad.i50.loopexit.split-lp.i1225 - -.noexc.i.i1227: ; preds = %if.then.i.i.i.i1224 - unreachable - -_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i849: ; preds = %for.end.i843 - %cmp.not.i.i.i49.i850 = icmp eq ptr %new_contents_in.sroa.8.3.i838, %new_contents_in.sroa.0.3.i837 - br i1 %cmp.not.i.i.i49.i850, label %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219, label %for.body.i.i.i.i.preheader.i.i.i851 - -_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i849, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1308 - %new_contents_in.sroa.0.2.lcssa719750.i1220 = phi ptr [ null, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1308 ], [ %new_contents_in.sroa.0.3.i837, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i849 ] - %sub.ptr.div.i.i.i.i.i740746.i1222 = phi i64 [ 0, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1308 ], [ %sub.ptr.div.i.i.i.i.i.i847, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i849 ] - %add.ptr7.i.i.i1223 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr null, i64 %sub.ptr.div.i.i.i.i.i740746.i1222 - store ptr %add.ptr7.i.i.i1223, ptr %_M_end_of_storage.i.i52.i725, align 8 - br label %invoke.cont24.i904 - -for.body.i.i.i.i.preheader.i.i.i851: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i849 - %call5.i.i.i.i1.i.i852 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i846) #33 - to label %call5.i.i.i.i.noexc.i.i881 unwind label %lpad.i50.loopexit.i853 - -call5.i.i.i.i.noexc.i.i881: ; preds = %for.body.i.i.i.i.preheader.i.i.i851 - store ptr %call5.i.i.i.i1.i.i852, ptr %new_contents.i704, align 8 - %add.ptr.i.i51.i882 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %call5.i.i.i.i1.i.i852, i64 %sub.ptr.div.i.i.i.i.i.i847 - store ptr %add.ptr.i.i51.i882, ptr %_M_end_of_storage.i.i52.i725, align 8 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i884 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i885 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - br label %for.body.i.i.i.i.i.i53.i886 - -for.body.i.i.i.i.i.i53.i886: ; preds = %for.inc.i.i.i.i.i.i.i898, %call5.i.i.i.i.noexc.i.i881 - %inc7.i.i.i.i.i.i.i5.i.i.i887 = phi i32 [ %inc7.i.i.i.i.i.i.i.i.i59.i900, %for.inc.i.i.i.i.i.i.i898 ], [ %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i885, %call5.i.i.i.i.noexc.i.i881 ] - %inc6.i.i.i.i.i.i.i4.i.i.i888 = phi i32 [ %inc6.i.i.i.i.i.i.i3.i.i.i899, %for.inc.i.i.i.i.i.i.i898 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i884, %call5.i.i.i.i.noexc.i.i881 ] - %inc.i.i.i.i.i.i.i2.i.i.i889 = phi i32 [ %inc.i.i.i.i.i.i.i.i.i56.i894, %for.inc.i.i.i.i.i.i.i898 ], [ %dec.i.i31.i840, %call5.i.i.i.i.noexc.i.i881 ] - %__cur.09.i.i.i.i.i.i.i890 = phi ptr [ %incdec.ptr.i.i.i.i.i.i60.i902, %for.inc.i.i.i.i.i.i.i898 ], [ %call5.i.i.i.i1.i.i852, %call5.i.i.i.i.noexc.i.i881 ] - %__first.sroa.0.08.i.i.i.i.i.i.i891 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i901, %for.inc.i.i.i.i.i.i.i898 ], [ %new_contents_in.sroa.0.3.i837, %call5.i.i.i.i.noexc.i.i881 ] - %405 = load i32, ptr %__first.sroa.0.08.i.i.i.i.i.i.i891, align 4 - store i32 %405, ptr %__cur.09.i.i.i.i.i.i.i890, align 4 - %is_live_.i.i.i.i.i.i.i.i.i54.i892 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__cur.09.i.i.i.i.i.i.i890, i64 0, i32 1 - %is_live_3.i.i.i.i.i.i.i.i.i55.i893 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.sroa.0.08.i.i.i.i.i.i.i891, i64 0, i32 1 - %406 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i55.i893, align 4 + to label %.noexc.i.i1226 unwind label %lpad.i50.loopexit.split-lp.i1224 + +.noexc.i.i1226: ; preds = %if.then.i.i.i.i1223 + unreachable + +_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i848: ; preds = %for.end.i843 + %cmp.not.i.i.i49.i849 = icmp eq ptr %new_contents_in.sroa.8.3.i838, %new_contents_in.sroa.0.3.i837 + br i1 %cmp.not.i.i.i49.i849, label %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218, label %for.body.i.i.i.i.preheader.i.i.i850 + +_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i848, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1307 + %new_contents_in.sroa.0.2.lcssa718747.i1219 = phi ptr [ null, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1307 ], [ %new_contents_in.sroa.0.3.i837, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i848 ] + %sub.ptr.sub.i.i.i.i.i738743.i1221 = phi i64 [ 0, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.thread.i1307 ], [ %sub.ptr.sub.i.i.i.i.i.i846, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i848 ] + %add.ptr7.i.i.i1222 = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i738743.i1221 + store ptr %add.ptr7.i.i.i1222, ptr %_M_end_of_storage.i.i52.i725, align 8 + br label %invoke.cont24.i903 + +for.body.i.i.i.i.preheader.i.i.i850: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE17_S_check_init_lenEmRKS3_.exit.i.i.i848 + %call5.i.i.i.i1.i.i851 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %sub.ptr.sub.i.i.i.i.i.i846) #33 + to label %call5.i.i.i.i.noexc.i.i880 unwind label %lpad.i50.loopexit.i852 + +call5.i.i.i.i.noexc.i.i880: ; preds = %for.body.i.i.i.i.preheader.i.i.i850 + store ptr %call5.i.i.i.i1.i.i851, ptr %new_contents.i704, align 8 + %add.ptr.i.i51.i881 = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i851, i64 %sub.ptr.sub.i.i.i.i.i.i846 + store ptr %add.ptr.i.i51.i881, ptr %_M_end_of_storage.i.i52.i725, align 8 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i883 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i884 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + br label %for.body.i.i.i.i.i.i53.i885 + +for.body.i.i.i.i.i.i53.i885: ; preds = %for.inc.i.i.i.i.i.i.i897, %call5.i.i.i.i.noexc.i.i880 + %inc7.i.i.i.i.i.i.i5.i.i.i886 = phi i32 [ %inc7.i.i.i.i.i.i.i.i.i59.i899, %for.inc.i.i.i.i.i.i.i897 ], [ %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i.i.i884, %call5.i.i.i.i.noexc.i.i880 ] + %inc6.i.i.i.i.i.i.i4.i.i.i887 = phi i32 [ %inc6.i.i.i.i.i.i.i3.i.i.i898, %for.inc.i.i.i.i.i.i.i897 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i883, %call5.i.i.i.i.noexc.i.i880 ] + %inc.i.i.i.i.i.i.i2.i.i.i888 = phi i32 [ %inc.i.i.i.i.i.i.i.i.i56.i893, %for.inc.i.i.i.i.i.i.i897 ], [ %dec.i.i31.i840, %call5.i.i.i.i.noexc.i.i880 ] + %__cur.09.i.i.i.i.i.i.i889 = phi ptr [ %incdec.ptr.i.i.i.i.i.i60.i901, %for.inc.i.i.i.i.i.i.i897 ], [ %call5.i.i.i.i1.i.i851, %call5.i.i.i.i.noexc.i.i880 ] + %__first.sroa.0.08.i.i.i.i.i.i.i890 = phi ptr [ %incdec.ptr.i.i.i.i.i.i.i.i900, %for.inc.i.i.i.i.i.i.i897 ], [ %new_contents_in.sroa.0.3.i837, %call5.i.i.i.i.noexc.i.i880 ] + %405 = load i32, ptr %__first.sroa.0.08.i.i.i.i.i.i.i890, align 4 + store i32 %405, ptr %__cur.09.i.i.i.i.i.i.i889, align 4 + %is_live_.i.i.i.i.i.i.i.i.i54.i891 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__cur.09.i.i.i.i.i.i.i889, i64 0, i32 1 + %is_live_3.i.i.i.i.i.i.i.i.i55.i892 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.sroa.0.08.i.i.i.i.i.i.i890, i64 0, i32 1 + %406 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i55.i892, align 4 %407 = and i8 %406, 1 - store i8 %407, ptr %is_live_.i.i.i.i.i.i.i.i.i54.i892, align 4 - %inc.i.i.i.i.i.i.i.i.i56.i894 = add nsw i32 %inc.i.i.i.i.i.i.i2.i.i.i889, 1 - store i32 %inc.i.i.i.i.i.i.i.i.i56.i894, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %tobool5.not.i.i.i.i.i.i.i.i.i57.i895 = icmp eq i8 %407, 0 - br i1 %tobool5.not.i.i.i.i.i.i.i.i.i57.i895, label %for.inc.i.i.i.i.i.i.i898, label %if.then.i.i.i.i.i.i.i.i.i.i896 - -if.then.i.i.i.i.i.i.i.i.i.i896: ; preds = %for.body.i.i.i.i.i.i53.i886 - %inc6.i.i.i.i.i.i.i.i.i58.i897 = add nsw i32 %inc6.i.i.i.i.i.i.i4.i.i.i888, 1 - store i32 %inc6.i.i.i.i.i.i.i.i.i58.i897, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %for.inc.i.i.i.i.i.i.i898 - -for.inc.i.i.i.i.i.i.i898: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i896, %for.body.i.i.i.i.i.i53.i886 - %inc6.i.i.i.i.i.i.i3.i.i.i899 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i58.i897, %if.then.i.i.i.i.i.i.i.i.i.i896 ], [ %inc6.i.i.i.i.i.i.i4.i.i.i888, %for.body.i.i.i.i.i.i53.i886 ] - %inc7.i.i.i.i.i.i.i.i.i59.i900 = add nsw i32 %inc7.i.i.i.i.i.i.i5.i.i.i887, 1 - store i32 %inc7.i.i.i.i.i.i.i.i.i59.i900, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - %incdec.ptr.i.i.i.i.i.i.i.i901 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.sroa.0.08.i.i.i.i.i.i.i891, i64 1 - %incdec.ptr.i.i.i.i.i.i60.i902 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__cur.09.i.i.i.i.i.i.i890, i64 1 - %cmp.i.not.i.i.i.i.i.i.i903 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i901, %new_contents_in.sroa.8.3.i838 - br i1 %cmp.i.not.i.i.i.i.i.i.i903, label %invoke.cont24.i904, label %for.body.i.i.i.i.i.i53.i886, !llvm.loop !3467 - -lpad.i50.loopexit.i853: ; preds = %for.body.i.i.i.i.preheader.i.i.i851 - %lpad.loopexit374.i854 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup144.i855 - -lpad.i50.loopexit.split-lp.i1225: ; preds = %if.then.i.i.i.i1224 - %lpad.loopexit.split-lp375.i1226 = landingpad { ptr, i32 } - cleanup - br label %ehcleanup144.i855 - -invoke.cont24.i904: ; preds = %for.inc.i.i.i.i.i.i.i898, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219 - %cmp.not.i.i.i49751.i905 = phi i1 [ true, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219 ], [ false, %for.inc.i.i.i.i.i.i.i898 ] - %new_contents_in.sroa.0.2.lcssa719749.i906 = phi ptr [ %new_contents_in.sroa.0.2.lcssa719750.i1220, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219 ], [ %new_contents_in.sroa.0.3.i837, %for.inc.i.i.i.i.i.i.i898 ] - %new_contents_in.sroa.8.2.lcssa729747.i907 = phi ptr [ %new_contents_in.sroa.0.2.lcssa719750.i1220, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219 ], [ %new_contents_in.sroa.8.3.i838, %for.inc.i.i.i.i.i.i.i898 ] - %408 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219 ], [ %call5.i.i.i.i1.i.i852, %for.inc.i.i.i.i.i.i.i898 ] - %409 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1219 ], [ %incdec.ptr.i.i.i.i.i.i60.i902, %for.inc.i.i.i.i.i.i.i898 ] + store i8 %407, ptr %is_live_.i.i.i.i.i.i.i.i.i54.i891, align 4 + %inc.i.i.i.i.i.i.i.i.i56.i893 = add nsw i32 %inc.i.i.i.i.i.i.i2.i.i.i888, 1 + store i32 %inc.i.i.i.i.i.i.i.i.i56.i893, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %tobool5.not.i.i.i.i.i.i.i.i.i57.i894 = icmp eq i8 %407, 0 + br i1 %tobool5.not.i.i.i.i.i.i.i.i.i57.i894, label %for.inc.i.i.i.i.i.i.i897, label %if.then.i.i.i.i.i.i.i.i.i.i895 + +if.then.i.i.i.i.i.i.i.i.i.i895: ; preds = %for.body.i.i.i.i.i.i53.i885 + %inc6.i.i.i.i.i.i.i.i.i58.i896 = add nsw i32 %inc6.i.i.i.i.i.i.i4.i.i.i887, 1 + store i32 %inc6.i.i.i.i.i.i.i.i.i58.i896, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %for.inc.i.i.i.i.i.i.i897 + +for.inc.i.i.i.i.i.i.i897: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i895, %for.body.i.i.i.i.i.i53.i885 + %inc6.i.i.i.i.i.i.i3.i.i.i898 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i58.i896, %if.then.i.i.i.i.i.i.i.i.i.i895 ], [ %inc6.i.i.i.i.i.i.i4.i.i.i887, %for.body.i.i.i.i.i.i53.i885 ] + %inc7.i.i.i.i.i.i.i.i.i59.i899 = add nsw i32 %inc7.i.i.i.i.i.i.i5.i.i.i886, 1 + store i32 %inc7.i.i.i.i.i.i.i.i.i59.i899, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + %incdec.ptr.i.i.i.i.i.i.i.i900 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.sroa.0.08.i.i.i.i.i.i.i890, i64 1 + %incdec.ptr.i.i.i.i.i.i60.i901 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__cur.09.i.i.i.i.i.i.i889, i64 1 + %cmp.i.not.i.i.i.i.i.i.i902 = icmp eq ptr %incdec.ptr.i.i.i.i.i.i.i.i900, %new_contents_in.sroa.8.3.i838 + br i1 %cmp.i.not.i.i.i.i.i.i.i902, label %invoke.cont24.i903, label %for.body.i.i.i.i.i.i53.i885, !llvm.loop !3467 + +lpad.i50.loopexit.i852: ; preds = %for.body.i.i.i.i.preheader.i.i.i850 + %lpad.loopexit374.i853 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup144.i854 + +lpad.i50.loopexit.split-lp.i1224: ; preds = %if.then.i.i.i.i1223 + %lpad.loopexit.split-lp375.i1225 = landingpad { ptr, i32 } + cleanup + br label %ehcleanup144.i854 + +invoke.cont24.i903: ; preds = %for.inc.i.i.i.i.i.i.i897, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218 + %cmp.not.i.i.i49748.i904 = phi i1 [ true, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218 ], [ false, %for.inc.i.i.i.i.i.i.i897 ] + %new_contents_in.sroa.0.2.lcssa718746.i905 = phi ptr [ %new_contents_in.sroa.0.2.lcssa718747.i1219, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218 ], [ %new_contents_in.sroa.0.3.i837, %for.inc.i.i.i.i.i.i.i897 ] + %new_contents_in.sroa.8.2.lcssa728744.i906 = phi ptr [ %new_contents_in.sroa.0.2.lcssa718747.i1219, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218 ], [ %new_contents_in.sroa.8.3.i838, %for.inc.i.i.i.i.i.i.i897 ] + %408 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218 ], [ %call5.i.i.i.i1.i.i851, %for.inc.i.i.i.i.i.i.i897 ] + %409 = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl13test_internal23CopyableMovableInstanceESaIS2_EE11_M_allocateEm.exit.thread.i.i.i1218 ], [ %incdec.ptr.i.i.i.i.i.i60.i901, %for.inc.i.i.i.i.i.i.i897 ] store ptr %409, ptr %_M_finish.i.i63.i726, align 8 store i64 0, ptr %v.i705, align 8 - br i1 %cmp.i.i66.i768, label %if.then.i.i68.i1207, label %if.end.i.i.i908 + br i1 %cmp.i.i66.i768, label %if.then.i.i68.i1206, label %if.end.i.i.i907 -if.then.i.i68.i1207: ; preds = %invoke.cont24.i904 - br i1 %cmp.i.i.i.i.i.i770, label %if.then3.i.i.i.i.i.i1215, label %if.end.thread.i.i.i1208 +if.then.i.i68.i1206: ; preds = %invoke.cont24.i903 + br i1 %cmp.i.i.i.i.i.i770, label %if.then3.i.i.i.i.i.i1214, label %if.end.thread.i.i.i1207 -if.then3.i.i.i.i.i.i1215: ; preds = %if.then.i.i68.i1207 +if.then3.i.i.i.i.i.i1214: ; preds = %if.then.i.i68.i1206 invoke void @_ZSt28__throw_bad_array_new_lengthv() #31 - to label %.noexc.i71.i1218 unwind label %lpad.i69.loopexit.split-lp.i1216 + to label %.noexc.i71.i1217 unwind label %lpad.i69.loopexit.split-lp.i1215 -.noexc.i71.i1218: ; preds = %if.then3.i.i.i.i.i.i1215 +.noexc.i71.i1217: ; preds = %if.then3.i.i.i.i.i.i1214 unreachable -if.end.thread.i.i.i1208: ; preds = %if.then.i.i68.i1207 - %call5.i.i.i.i2.i.i1209 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i772) #33 - to label %call5.i.i.i.i.noexc.i70.i1214 unwind label %lpad.i69.loopexit.i1210 +if.end.thread.i.i.i1207: ; preds = %if.then.i.i68.i1206 + %call5.i.i.i.i2.i.i1208 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i772) #33 + to label %call5.i.i.i.i.noexc.i70.i1213 unwind label %lpad.i69.loopexit.i1209 -call5.i.i.i.i.noexc.i70.i1214: ; preds = %if.end.thread.i.i.i1208 - store ptr %call5.i.i.i.i2.i.i1209, ptr %data_.i4.i.i.i727, align 8 +call5.i.i.i.i.noexc.i70.i1213: ; preds = %if.end.thread.i.i.i1207 + store ptr %call5.i.i.i.i2.i.i1208, ptr %data_.i4.i.i.i727, align 8 store i64 %.sroa.speculated.i.i.i.i771, ptr %allocated_capacity.i.i.i.i728, align 8 store i64 1, ptr %v.i705, align 8 - br label %for.body.preheader.i.i.i.i909 - -if.end.i.i.i908: ; preds = %invoke.cont24.i904 - br i1 %cmp8.not.i.i.i.i769, label %invoke.cont35.i931, label %for.body.preheader.i.i.i.i909 - -for.body.preheader.i.i.i.i909: ; preds = %if.end.i.i.i908, %call5.i.i.i.i.noexc.i70.i1214 - %construct_data.07.i.i.i910 = phi ptr [ %call5.i.i.i.i2.i.i1209, %call5.i.i.i.i.noexc.i70.i1214 ], [ %data_.i4.i.i.i727, %if.end.i.i.i908 ] - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i911 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i912 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i913 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - br label %for.body.i.i.i.i914 - -for.body.i.i.i.i914: ; preds = %for.inc.i.i.i.i924, %for.body.preheader.i.i.i.i909 - %inc6.i.i.i.i.i.i.i.i545.i915 = phi i32 [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i912, %for.body.preheader.i.i.i.i909 ], [ %inc6.i.i.i.i.i.i.i.i544.i925, %for.inc.i.i.i.i924 ] - %values.sroa.0.0.i.i.i916 = phi ptr [ %original_contents.sroa.0.1.i761, %for.body.preheader.i.i.i.i909 ], [ %incdec.ptr.i.i.i.i.i.i926, %for.inc.i.i.i.i924 ] - %i.09.i.i.i.i917 = phi i64 [ 0, %for.body.preheader.i.i.i.i909 ], [ %inc.i.i.i.i927, %for.inc.i.i.i.i924 ] - %add.ptr.i.i.i67.i918 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %construct_data.07.i.i.i910, i64 %i.09.i.i.i.i917 - %410 = load i32, ptr %values.sroa.0.0.i.i.i916, align 4 - store i32 %410, ptr %add.ptr.i.i.i67.i918, align 4 - %is_live_.i.i.i.i.i.i.i.i.i919 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %add.ptr.i.i.i67.i918, i64 0, i32 1 - %is_live_3.i.i.i.i.i.i.i.i.i920 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %values.sroa.0.0.i.i.i916, i64 0, i32 1 - %411 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i920, align 4 + br label %for.body.preheader.i.i.i.i908 + +if.end.i.i.i907: ; preds = %invoke.cont24.i903 + br i1 %cmp8.not.i.i.i.i769, label %invoke.cont35.i930, label %for.body.preheader.i.i.i.i908 + +for.body.preheader.i.i.i.i908: ; preds = %if.end.i.i.i907, %call5.i.i.i.i.noexc.i70.i1213 + %construct_data.07.i.i.i909 = phi ptr [ %call5.i.i.i.i2.i.i1208, %call5.i.i.i.i.noexc.i70.i1213 ], [ %data_.i4.i.i.i727, %if.end.i.i.i907 ] + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i910 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i911 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i912 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 + br label %for.body.i.i.i.i913 + +for.body.i.i.i.i913: ; preds = %for.inc.i.i.i.i923, %for.body.preheader.i.i.i.i908 + %inc6.i.i.i.i.i.i.i.i545.i914 = phi i32 [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i911, %for.body.preheader.i.i.i.i908 ], [ %inc6.i.i.i.i.i.i.i.i544.i924, %for.inc.i.i.i.i923 ] + %values.sroa.0.0.i.i.i915 = phi ptr [ %original_contents.sroa.0.1.i761, %for.body.preheader.i.i.i.i908 ], [ %incdec.ptr.i.i.i.i.i.i925, %for.inc.i.i.i.i923 ] + %i.09.i.i.i.i916 = phi i64 [ 0, %for.body.preheader.i.i.i.i908 ], [ %inc.i.i.i.i926, %for.inc.i.i.i.i923 ] + %add.ptr.i.i.i67.i917 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %construct_data.07.i.i.i909, i64 %i.09.i.i.i.i916 + %410 = load i32, ptr %values.sroa.0.0.i.i.i915, align 4 + store i32 %410, ptr %add.ptr.i.i.i67.i917, align 4 + %is_live_.i.i.i.i.i.i.i.i.i918 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %add.ptr.i.i.i67.i917, i64 0, i32 1 + %is_live_3.i.i.i.i.i.i.i.i.i919 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %values.sroa.0.0.i.i.i915, i64 0, i32 1 + %411 = load i8, ptr %is_live_3.i.i.i.i.i.i.i.i.i919, align 4 %412 = and i8 %411, 1 - store i8 %412, ptr %is_live_.i.i.i.i.i.i.i.i.i919, align 4 - %tobool5.not.i.i.i.i.i.i.i.i.i921 = icmp eq i8 %412, 0 - br i1 %tobool5.not.i.i.i.i.i.i.i.i.i921, label %for.inc.i.i.i.i924, label %if.then.i.i.i.i.i.i.i.i.i922 - -if.then.i.i.i.i.i.i.i.i.i922: ; preds = %for.body.i.i.i.i914 - %inc6.i.i.i.i.i.i.i.i.i923 = add nsw i32 %inc6.i.i.i.i.i.i.i.i545.i915, 1 - store i32 %inc6.i.i.i.i.i.i.i.i.i923, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %for.inc.i.i.i.i924 - -for.inc.i.i.i.i924: ; preds = %if.then.i.i.i.i.i.i.i.i.i922, %for.body.i.i.i.i914 - %inc6.i.i.i.i.i.i.i.i544.i925 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i923, %if.then.i.i.i.i.i.i.i.i.i922 ], [ %inc6.i.i.i.i.i.i.i.i545.i915, %for.body.i.i.i.i914 ] - %incdec.ptr.i.i.i.i.i.i926 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %values.sroa.0.0.i.i.i916, i64 1 - %inc.i.i.i.i927 = add nuw i64 %i.09.i.i.i.i917, 1 - %exitcond.not.i.i.i.i928 = icmp eq i64 %inc.i.i.i.i927, %sub.ptr.div.i.i.i.i.i767 - br i1 %exitcond.not.i.i.i.i928, label %invoke.cont11.loopexit.i.i929, label %for.body.i.i.i.i914, !llvm.loop !1388 - -invoke.cont11.loopexit.i.i929: ; preds = %for.inc.i.i.i.i924 - %413 = add i32 %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i913, %381 - %414 = add i32 %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i911, %381 + store i8 %412, ptr %is_live_.i.i.i.i.i.i.i.i.i918, align 4 + %tobool5.not.i.i.i.i.i.i.i.i.i920 = icmp eq i8 %412, 0 + br i1 %tobool5.not.i.i.i.i.i.i.i.i.i920, label %for.inc.i.i.i.i923, label %if.then.i.i.i.i.i.i.i.i.i921 + +if.then.i.i.i.i.i.i.i.i.i921: ; preds = %for.body.i.i.i.i913 + %inc6.i.i.i.i.i.i.i.i.i922 = add nsw i32 %inc6.i.i.i.i.i.i.i.i545.i914, 1 + store i32 %inc6.i.i.i.i.i.i.i.i.i922, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %for.inc.i.i.i.i923 + +for.inc.i.i.i.i923: ; preds = %if.then.i.i.i.i.i.i.i.i.i921, %for.body.i.i.i.i913 + %inc6.i.i.i.i.i.i.i.i544.i924 = phi i32 [ %inc6.i.i.i.i.i.i.i.i.i922, %if.then.i.i.i.i.i.i.i.i.i921 ], [ %inc6.i.i.i.i.i.i.i.i545.i914, %for.body.i.i.i.i913 ] + %incdec.ptr.i.i.i.i.i.i925 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %values.sroa.0.0.i.i.i915, i64 1 + %inc.i.i.i.i926 = add nuw i64 %i.09.i.i.i.i916, 1 + %exitcond.not.i.i.i.i927 = icmp eq i64 %inc.i.i.i.i926, %sub.ptr.div.i.i.i.i.i767 + br i1 %exitcond.not.i.i.i.i927, label %invoke.cont11.loopexit.i.i928, label %for.body.i.i.i.i913, !llvm.loop !1388 + +invoke.cont11.loopexit.i.i928: ; preds = %for.inc.i.i.i.i923 + %413 = add i32 %_ZN4absl13test_internal19BaseCountedInstance11num_copies_E.promoted.i912, %381 + %414 = add i32 %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i910, %381 store i32 %414, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 store i32 %413, ptr @_ZN4absl13test_internal19BaseCountedInstance11num_copies_E, align 4 - %.pre.i.i930 = load i64, ptr %v.i705, align 8 - br label %invoke.cont35.i931 + %.pre.i.i929 = load i64, ptr %v.i705, align 8 + br label %invoke.cont35.i930 -lpad.i69.loopexit.i1210: ; preds = %if.end.thread.i.i.i1208 - %lpad.loopexit377.i1211 = landingpad { ptr, i32 } +lpad.i69.loopexit.i1209: ; preds = %if.end.thread.i.i.i1207 + %lpad.loopexit377.i1210 = landingpad { ptr, i32 } cleanup - br label %lpad.i69.i1212 + br label %lpad.i69.i1211 -lpad.i69.loopexit.split-lp.i1216: ; preds = %if.then3.i.i.i.i.i.i1215 - %lpad.loopexit.split-lp378.i1217 = landingpad { ptr, i32 } +lpad.i69.loopexit.split-lp.i1215: ; preds = %if.then3.i.i.i.i.i.i1214 + %lpad.loopexit.split-lp378.i1216 = landingpad { ptr, i32 } cleanup - br label %lpad.i69.i1212 + br label %lpad.i69.i1211 -lpad.i69.i1212: ; preds = %lpad.i69.loopexit.split-lp.i1216, %lpad.i69.loopexit.i1210 - %lpad.phi379.i1213 = phi { ptr, i32 } [ %lpad.loopexit377.i1211, %lpad.i69.loopexit.i1210 ], [ %lpad.loopexit.split-lp378.i1217, %lpad.i69.loopexit.split-lp.i1216 ] +lpad.i69.i1211: ; preds = %lpad.i69.loopexit.split-lp.i1215, %lpad.i69.loopexit.i1209 + %lpad.phi379.i1212 = phi { ptr, i32 } [ %lpad.loopexit377.i1210, %lpad.i69.loopexit.i1209 ], [ %lpad.loopexit.split-lp378.i1216, %lpad.i69.loopexit.split-lp.i1215 ] call void @_ZN4absl23inlined_vector_internal7StorageINS_13test_internal23CopyableMovableInstanceELm3ESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %v.i705) #29 - br label %ehcleanup143.i939 + br label %ehcleanup143.i938 -invoke.cont35.i931: ; preds = %invoke.cont11.loopexit.i.i929, %if.end.i.i.i908 - %415 = phi i64 [ %.pre.i.i930, %invoke.cont11.loopexit.i.i929 ], [ 0, %if.end.i.i.i908 ] - %add.i.i.i.i932 = add i64 %415, %shl.i.i.i.i773 - store i64 %add.i.i.i.i932, ptr %v.i705, align 8 +invoke.cont35.i930: ; preds = %invoke.cont11.loopexit.i.i928, %if.end.i.i.i907 + %415 = phi i64 [ %.pre.i.i929, %invoke.cont11.loopexit.i.i928 ], [ 0, %if.end.i.i.i907 ] + %add.i.i.i.i931 = add i64 %415, %shl.i.i.i.i773 + store i64 %add.i.i.i.i931, ptr %v.i705, align 8 %416 = ptrtoint ptr %408 to i64 - %sub.ptr.lhs.cast.i.i.i.i74.i933 = ptrtoint ptr %409 to i64 - %sub.ptr.sub.i.i.i.i75.i934 = sub i64 %sub.ptr.lhs.cast.i.i.i.i74.i933, %416 - %sub.ptr.div.i.i.i.i76.i935 = ashr exact i64 %sub.ptr.sub.i.i.i.i75.i934, 3 - invoke void @_ZN4absl23inlined_vector_internal7StorageINS_13test_internal23CopyableMovableInstanceELm3ESaIS3_EE6AssignINS0_20IteratorValueAdapterIS4_N9__gnu_cxx17__normal_iteratorIPKS3_St6vectorIS3_S4_EEEEEEEvT_m(ptr noundef nonnull align 8 dereferenceable(32) %v.i705, ptr %408, i64 noundef %sub.ptr.div.i.i.i.i76.i935) - to label %invoke.cont45.i941 unwind label %lpad44.i936 - -invoke.cont45.i941: ; preds = %invoke.cont35.i931 - store i64 %sub.ptr.div.i.i.i.i76.i935, ptr %ref.tmp46.i707, align 8 + %sub.ptr.lhs.cast.i.i.i.i74.i932 = ptrtoint ptr %409 to i64 + %sub.ptr.sub.i.i.i.i75.i933 = sub i64 %sub.ptr.lhs.cast.i.i.i.i74.i932, %416 + %sub.ptr.div.i.i.i.i76.i934 = ashr exact i64 %sub.ptr.sub.i.i.i.i75.i933, 3 + invoke void @_ZN4absl23inlined_vector_internal7StorageINS_13test_internal23CopyableMovableInstanceELm3ESaIS3_EE6AssignINS0_20IteratorValueAdapterIS4_N9__gnu_cxx17__normal_iteratorIPKS3_St6vectorIS3_S4_EEEEEEEvT_m(ptr noundef nonnull align 8 dereferenceable(32) %v.i705, ptr %408, i64 noundef %sub.ptr.div.i.i.i.i76.i934) + to label %invoke.cont45.i940 unwind label %lpad44.i935 + +invoke.cont45.i940: ; preds = %invoke.cont35.i930 + store i64 %sub.ptr.div.i.i.i.i76.i934, ptr %ref.tmp46.i707, align 8 %417 = load i64, ptr %v.i705, align 8 - %shr.i.i.i942 = lshr i64 %417, 1 - store i64 %shr.i.i.i942, ptr %ref.tmp48.i708, align 8 - %cmp.i.i79.i943 = icmp eq i64 %sub.ptr.div.i.i.i.i76.i935, %shr.i.i.i942 - br i1 %cmp.i.i79.i943, label %if.then.i.i81.i1206, label %if.end.i.i80.i944 + %shr.i.i.i941 = lshr i64 %417, 1 + store i64 %shr.i.i.i941, ptr %ref.tmp48.i708, align 8 + %cmp.i.i79.i942 = icmp eq i64 %sub.ptr.div.i.i.i.i76.i934, %shr.i.i.i941 + br i1 %cmp.i.i79.i942, label %if.then.i.i81.i1205, label %if.end.i.i80.i943 -if.then.i.i81.i1206: ; preds = %invoke.cont45.i941 +if.then.i.i81.i1205: ; preds = %invoke.cont45.i940 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i706) - to label %invoke.cont50.i945 unwind label %lpad44.i936 + to label %invoke.cont50.i944 unwind label %lpad44.i935 -if.end.i.i80.i944: ; preds = %invoke.cont45.i941 +if.end.i.i80.i943: ; preds = %invoke.cont45.i940 invoke void @_ZN7testing8internal18CmpHelperEQFailureImmEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar.i706, ptr noundef nonnull @.str.396, ptr noundef nonnull @.str.185, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp46.i707, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp48.i708) - to label %invoke.cont50.i945 unwind label %lpad44.i936 + to label %invoke.cont50.i944 unwind label %lpad44.i935 -invoke.cont50.i945: ; preds = %if.end.i.i80.i944, %if.then.i.i81.i1206 +invoke.cont50.i944: ; preds = %if.end.i.i80.i943, %if.then.i.i81.i1205 %418 = load i8, ptr %gtest_ar.i706, align 8 %419 = and i8 %418, 1 - %tobool.i.not.i946 = icmp eq i8 %419, 0 - br i1 %tobool.i.not.i946, label %if.else.i1180, label %if.end.i947 + %tobool.i.not.i945 = icmp eq i8 %419, 0 + br i1 %tobool.i.not.i945, label %if.else.i1179, label %if.end.i946 -lpad44.i936: ; preds = %if.end.i.i126.i1119, %if.then.i.i127.i1152, %if.else.i.i1179, %if.then.i.i955, %if.end.i.i80.i944, %if.then.i.i81.i1206, %invoke.cont35.i931 +lpad44.i935: ; preds = %if.end.i.i126.i1118, %if.then.i.i127.i1151, %if.else.i.i1178, %if.then.i.i954, %if.end.i.i80.i943, %if.then.i.i81.i1205, %invoke.cont35.i930 %420 = landingpad { ptr, i32 } cleanup - br label %ehcleanup142.i937 + br label %ehcleanup142.i936 -if.else.i1180: ; preds = %invoke.cont50.i945 +if.else.i1179: ; preds = %invoke.cont50.i944 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52.i709) - to label %invoke.cont54.i1184 unwind label %lpad53.i1181 + to label %invoke.cont54.i1183 unwind label %lpad53.i1180 -invoke.cont54.i1184: ; preds = %if.else.i1180 +invoke.cont54.i1183: ; preds = %if.else.i1179 %421 = load ptr, ptr %message_.i.i.i729, align 8 - %cmp.i.i.not.i.i.i1185 = icmp eq ptr %421, null - br i1 %cmp.i.i.not.i.i.i1185, label %invoke.cont57.i1188, label %cond.true.i.i.i1186 + %cmp.i.i.not.i.i.i1184 = icmp eq ptr %421, null + br i1 %cmp.i.i.not.i.i.i1184, label %invoke.cont57.i1187, label %cond.true.i.i.i1185 -cond.true.i.i.i1186: ; preds = %invoke.cont54.i1184 - %call4.i.i.i1187 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %421) #29 - br label %invoke.cont57.i1188 +cond.true.i.i.i1185: ; preds = %invoke.cont54.i1183 + %call4.i.i.i1186 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %421) #29 + br label %invoke.cont57.i1187 -invoke.cont57.i1188: ; preds = %cond.true.i.i.i1186, %invoke.cont54.i1184 - %cond.i.i.i1189 = phi ptr [ %call4.i.i.i1187, %cond.true.i.i.i1186 ], [ @.str.202, %invoke.cont54.i1184 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i710, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1476, ptr noundef %cond.i.i.i1189) - to label %invoke.cont59.i1198 unwind label %lpad56.i1190 +invoke.cont57.i1187: ; preds = %cond.true.i.i.i1185, %invoke.cont54.i1183 + %cond.i.i.i1188 = phi ptr [ %call4.i.i.i1186, %cond.true.i.i.i1185 ], [ @.str.202, %invoke.cont54.i1183 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i710, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1476, ptr noundef %cond.i.i.i1188) + to label %invoke.cont59.i1197 unwind label %lpad56.i1189 -invoke.cont59.i1198: ; preds = %invoke.cont57.i1188 +invoke.cont59.i1197: ; preds = %invoke.cont57.i1187 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i710, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp52.i709) - to label %invoke.cont61.i1200 unwind label %lpad60.i1199 + to label %invoke.cont61.i1199 unwind label %lpad60.i1198 -invoke.cont61.i1200: ; preds = %invoke.cont59.i1198 +invoke.cont61.i1199: ; preds = %invoke.cont59.i1197 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i710) #29 %422 = load ptr, ptr %ref.tmp52.i709, align 8 - %cmp.not.i.i84.i1201 = icmp eq ptr %422, null - br i1 %cmp.not.i.i84.i1201, label %_ZN7testing7MessageD2Ev.exit.i1205, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1202 + %cmp.not.i.i84.i1200 = icmp eq ptr %422, null + br i1 %cmp.not.i.i84.i1200, label %_ZN7testing7MessageD2Ev.exit.i1204, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1201 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1202: ; preds = %invoke.cont61.i1200 - %vtable.i.i.i.i1203 = load ptr, ptr %422, align 8 - %vfn.i.i.i.i1204 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i1203, i64 1 - %423 = load ptr, ptr %vfn.i.i.i.i1204, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1201: ; preds = %invoke.cont61.i1199 + %vtable.i.i.i.i1202 = load ptr, ptr %422, align 8 + %vfn.i.i.i.i1203 = getelementptr inbounds ptr, ptr %vtable.i.i.i.i1202, i64 1 + %423 = load ptr, ptr %vfn.i.i.i.i1203, align 8 call void %423(ptr noundef nonnull align 8 dereferenceable(128) %422) #29 - br label %_ZN7testing7MessageD2Ev.exit.i1205 + br label %_ZN7testing7MessageD2Ev.exit.i1204 -_ZN7testing7MessageD2Ev.exit.i1205: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1202, %invoke.cont61.i1200 +_ZN7testing7MessageD2Ev.exit.i1204: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i1201, %invoke.cont61.i1199 store ptr null, ptr %ref.tmp52.i709, align 8 - br label %if.end.i947 + br label %if.end.i946 -lpad53.i1181: ; preds = %if.else.i1180 +lpad53.i1180: ; preds = %if.else.i1179 %424 = landingpad { ptr, i32 } cleanup - br label %ehcleanup62.i1182 + br label %ehcleanup62.i1181 -lpad56.i1190: ; preds = %invoke.cont57.i1188 +lpad56.i1189: ; preds = %invoke.cont57.i1187 %425 = landingpad { ptr, i32 } cleanup - br label %ehcleanup.i1191 + br label %ehcleanup.i1190 -lpad60.i1199: ; preds = %invoke.cont59.i1198 +lpad60.i1198: ; preds = %invoke.cont59.i1197 %426 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp55.i710) #29 - br label %ehcleanup.i1191 + br label %ehcleanup.i1190 -ehcleanup.i1191: ; preds = %lpad60.i1199, %lpad56.i1190 - %.pn.i1192 = phi { ptr, i32 } [ %426, %lpad60.i1199 ], [ %425, %lpad56.i1190 ] +ehcleanup.i1190: ; preds = %lpad60.i1198, %lpad56.i1189 + %.pn.i1191 = phi { ptr, i32 } [ %426, %lpad60.i1198 ], [ %425, %lpad56.i1189 ] %427 = load ptr, ptr %ref.tmp52.i709, align 8 - %cmp.not.i.i85.i1193 = icmp eq ptr %427, null - br i1 %cmp.not.i.i85.i1193, label %_ZN7testing7MessageD2Ev.exit89.i1197, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1194 + %cmp.not.i.i85.i1192 = icmp eq ptr %427, null + br i1 %cmp.not.i.i85.i1192, label %_ZN7testing7MessageD2Ev.exit89.i1196, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1193 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1194: ; preds = %ehcleanup.i1191 - %vtable.i.i.i87.i1195 = load ptr, ptr %427, align 8 - %vfn.i.i.i88.i1196 = getelementptr inbounds ptr, ptr %vtable.i.i.i87.i1195, i64 1 - %428 = load ptr, ptr %vfn.i.i.i88.i1196, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1193: ; preds = %ehcleanup.i1190 + %vtable.i.i.i87.i1194 = load ptr, ptr %427, align 8 + %vfn.i.i.i88.i1195 = getelementptr inbounds ptr, ptr %vtable.i.i.i87.i1194, i64 1 + %428 = load ptr, ptr %vfn.i.i.i88.i1195, align 8 call void %428(ptr noundef nonnull align 8 dereferenceable(128) %427) #29 - br label %_ZN7testing7MessageD2Ev.exit89.i1197 + br label %_ZN7testing7MessageD2Ev.exit89.i1196 -_ZN7testing7MessageD2Ev.exit89.i1197: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1194, %ehcleanup.i1191 +_ZN7testing7MessageD2Ev.exit89.i1196: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i86.i1193, %ehcleanup.i1190 store ptr null, ptr %ref.tmp52.i709, align 8 - br label %ehcleanup62.i1182 + br label %ehcleanup62.i1181 -if.end.i947: ; preds = %_ZN7testing7MessageD2Ev.exit.i1205, %invoke.cont50.i945 +if.end.i946: ; preds = %_ZN7testing7MessageD2Ev.exit.i1204, %invoke.cont50.i944 %429 = load ptr, ptr %message_.i.i.i729, align 8 - %cmp.not.i.i90.i948 = icmp eq ptr %429, null - br i1 %cmp.not.i.i90.i948, label %_ZN7testing15AssertionResultD2Ev.exit.i950, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i949 + %cmp.not.i.i90.i947 = icmp eq ptr %429, null + br i1 %cmp.not.i.i90.i947, label %_ZN7testing15AssertionResultD2Ev.exit.i949, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i948 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i949: ; preds = %if.end.i947 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i948: ; preds = %if.end.i946 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %429) #29 call void @_ZdlPv(ptr noundef nonnull %429) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit.i950 + br label %_ZN7testing15AssertionResultD2Ev.exit.i949 -_ZN7testing15AssertionResultD2Ev.exit.i950: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i949, %if.end.i947 +_ZN7testing15AssertionResultD2Ev.exit.i949: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i.i948, %if.end.i946 store ptr null, ptr %message_.i.i.i729, align 8 - store i64 %sub.ptr.div.i.i.i.i76.i935, ptr %ref.tmp64.i712, align 8 + store i64 %sub.ptr.div.i.i.i.i76.i934, ptr %ref.tmp64.i712, align 8 %430 = load i64, ptr %v.i705, align 8 - %and.i.i.i951 = and i64 %430, 1 - %tobool.i.not.i.i952 = icmp eq i64 %and.i.i.i951, 0 + %and.i.i.i950 = and i64 %430, 1 + %tobool.i.not.i.i951 = icmp eq i64 %and.i.i.i950, 0 %431 = load i64, ptr %allocated_capacity.i.i.i.i728, align 8 - %cond.i.i953 = select i1 %tobool.i.not.i.i952, i64 3, i64 %431 - store i64 %cond.i.i953, ptr %ref.tmp66.i713, align 8 - %cmp.not.i.i954 = icmp ugt i64 %sub.ptr.div.i.i.i.i76.i935, %cond.i.i953 - br i1 %cmp.not.i.i954, label %if.else.i.i1179, label %if.then.i.i955 + %cond.i.i952 = select i1 %tobool.i.not.i.i951, i64 3, i64 %431 + store i64 %cond.i.i952, ptr %ref.tmp66.i713, align 8 + %cmp.not.i.i953 = icmp ugt i64 %sub.ptr.div.i.i.i.i76.i934, %cond.i.i952 + br i1 %cmp.not.i.i953, label %if.else.i.i1178, label %if.then.i.i954 -if.then.i.i955: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i950 +if.then.i.i954: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i949 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar63.i711) - to label %invoke.cont68.i956 unwind label %lpad44.i936 + to label %invoke.cont68.i955 unwind label %lpad44.i935 -if.else.i.i1179: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i950 +if.else.i.i1178: ; preds = %_ZN7testing15AssertionResultD2Ev.exit.i949 invoke void @_ZN7testing8internal18CmpHelperOpFailureImmEENS_15AssertionResultEPKcS4_RKT_RKT0_S4_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar63.i711, ptr noundef nonnull @.str.396, ptr noundef nonnull @.str.186, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp64.i712, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp66.i713, ptr noundef nonnull @.str.203) - to label %invoke.cont68.i956 unwind label %lpad44.i936 + to label %invoke.cont68.i955 unwind label %lpad44.i935 -invoke.cont68.i956: ; preds = %if.else.i.i1179, %if.then.i.i955 +invoke.cont68.i955: ; preds = %if.else.i.i1178, %if.then.i.i954 %432 = load i8, ptr %gtest_ar63.i711, align 8 %433 = and i8 %432, 1 - %tobool.i99.not.i957 = icmp eq i8 %433, 0 - br i1 %tobool.i99.not.i957, label %if.else71.i1153, label %if.end84.i958 + %tobool.i99.not.i956 = icmp eq i8 %433, 0 + br i1 %tobool.i99.not.i956, label %if.else71.i1152, label %if.end84.i957 -ehcleanup62.i1182: ; preds = %_ZN7testing7MessageD2Ev.exit89.i1197, %lpad53.i1181 - %.pn.pn.i1183 = phi { ptr, i32 } [ %.pn.i1192, %_ZN7testing7MessageD2Ev.exit89.i1197 ], [ %424, %lpad53.i1181 ] +ehcleanup62.i1181: ; preds = %_ZN7testing7MessageD2Ev.exit89.i1196, %lpad53.i1180 + %.pn.pn.i1182 = phi { ptr, i32 } [ %.pn.i1191, %_ZN7testing7MessageD2Ev.exit89.i1196 ], [ %424, %lpad53.i1180 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar.i706) #29 - br label %ehcleanup142.i937 + br label %ehcleanup142.i936 -if.else71.i1153: ; preds = %invoke.cont68.i956 +if.else71.i1152: ; preds = %invoke.cont68.i955 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72.i714) - to label %invoke.cont74.i1157 unwind label %lpad73.i1154 + to label %invoke.cont74.i1156 unwind label %lpad73.i1153 -invoke.cont74.i1157: ; preds = %if.else71.i1153 +invoke.cont74.i1156: ; preds = %if.else71.i1152 %434 = load ptr, ptr %message_.i.i100.i730, align 8 - %cmp.i.i.not.i.i101.i1158 = icmp eq ptr %434, null - br i1 %cmp.i.i.not.i.i101.i1158, label %invoke.cont77.i1161, label %cond.true.i.i102.i1159 + %cmp.i.i.not.i.i101.i1157 = icmp eq ptr %434, null + br i1 %cmp.i.i.not.i.i101.i1157, label %invoke.cont77.i1160, label %cond.true.i.i102.i1158 -cond.true.i.i102.i1159: ; preds = %invoke.cont74.i1157 - %call4.i.i103.i1160 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %434) #29 - br label %invoke.cont77.i1161 +cond.true.i.i102.i1158: ; preds = %invoke.cont74.i1156 + %call4.i.i103.i1159 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %434) #29 + br label %invoke.cont77.i1160 -invoke.cont77.i1161: ; preds = %cond.true.i.i102.i1159, %invoke.cont74.i1157 - %cond.i.i104.i1162 = phi ptr [ %call4.i.i103.i1160, %cond.true.i.i102.i1159 ], [ @.str.202, %invoke.cont74.i1157 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i715, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1477, ptr noundef %cond.i.i104.i1162) - to label %invoke.cont79.i1171 unwind label %lpad76.i1163 +invoke.cont77.i1160: ; preds = %cond.true.i.i102.i1158, %invoke.cont74.i1156 + %cond.i.i104.i1161 = phi ptr [ %call4.i.i103.i1159, %cond.true.i.i102.i1158 ], [ @.str.202, %invoke.cont74.i1156 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i715, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1477, ptr noundef %cond.i.i104.i1161) + to label %invoke.cont79.i1170 unwind label %lpad76.i1162 -invoke.cont79.i1171: ; preds = %invoke.cont77.i1161 +invoke.cont79.i1170: ; preds = %invoke.cont77.i1160 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i715, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp72.i714) - to label %invoke.cont81.i1173 unwind label %lpad80.i1172 + to label %invoke.cont81.i1172 unwind label %lpad80.i1171 -invoke.cont81.i1173: ; preds = %invoke.cont79.i1171 +invoke.cont81.i1172: ; preds = %invoke.cont79.i1170 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i715) #29 %435 = load ptr, ptr %ref.tmp72.i714, align 8 - %cmp.not.i.i106.i1174 = icmp eq ptr %435, null - br i1 %cmp.not.i.i106.i1174, label %_ZN7testing7MessageD2Ev.exit110.i1178, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1175 + %cmp.not.i.i106.i1173 = icmp eq ptr %435, null + br i1 %cmp.not.i.i106.i1173, label %_ZN7testing7MessageD2Ev.exit110.i1177, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1174 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1175: ; preds = %invoke.cont81.i1173 - %vtable.i.i.i108.i1176 = load ptr, ptr %435, align 8 - %vfn.i.i.i109.i1177 = getelementptr inbounds ptr, ptr %vtable.i.i.i108.i1176, i64 1 - %436 = load ptr, ptr %vfn.i.i.i109.i1177, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1174: ; preds = %invoke.cont81.i1172 + %vtable.i.i.i108.i1175 = load ptr, ptr %435, align 8 + %vfn.i.i.i109.i1176 = getelementptr inbounds ptr, ptr %vtable.i.i.i108.i1175, i64 1 + %436 = load ptr, ptr %vfn.i.i.i109.i1176, align 8 call void %436(ptr noundef nonnull align 8 dereferenceable(128) %435) #29 - br label %_ZN7testing7MessageD2Ev.exit110.i1178 + br label %_ZN7testing7MessageD2Ev.exit110.i1177 -_ZN7testing7MessageD2Ev.exit110.i1178: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1175, %invoke.cont81.i1173 +_ZN7testing7MessageD2Ev.exit110.i1177: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i107.i1174, %invoke.cont81.i1172 store ptr null, ptr %ref.tmp72.i714, align 8 - br label %if.end84.i958 + br label %if.end84.i957 -lpad73.i1154: ; preds = %if.else71.i1153 +lpad73.i1153: ; preds = %if.else71.i1152 %437 = landingpad { ptr, i32 } cleanup - br label %ehcleanup85.i1155 + br label %ehcleanup85.i1154 -lpad76.i1163: ; preds = %invoke.cont77.i1161 +lpad76.i1162: ; preds = %invoke.cont77.i1160 %438 = landingpad { ptr, i32 } cleanup - br label %ehcleanup83.i1164 + br label %ehcleanup83.i1163 -lpad80.i1172: ; preds = %invoke.cont79.i1171 +lpad80.i1171: ; preds = %invoke.cont79.i1170 %439 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp75.i715) #29 - br label %ehcleanup83.i1164 + br label %ehcleanup83.i1163 -ehcleanup83.i1164: ; preds = %lpad80.i1172, %lpad76.i1163 - %.pn6.i1165 = phi { ptr, i32 } [ %439, %lpad80.i1172 ], [ %438, %lpad76.i1163 ] +ehcleanup83.i1163: ; preds = %lpad80.i1171, %lpad76.i1162 + %.pn6.i1164 = phi { ptr, i32 } [ %439, %lpad80.i1171 ], [ %438, %lpad76.i1162 ] %440 = load ptr, ptr %ref.tmp72.i714, align 8 - %cmp.not.i.i111.i1166 = icmp eq ptr %440, null - br i1 %cmp.not.i.i111.i1166, label %_ZN7testing7MessageD2Ev.exit115.i1170, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1167 + %cmp.not.i.i111.i1165 = icmp eq ptr %440, null + br i1 %cmp.not.i.i111.i1165, label %_ZN7testing7MessageD2Ev.exit115.i1169, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1166 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1167: ; preds = %ehcleanup83.i1164 - %vtable.i.i.i113.i1168 = load ptr, ptr %440, align 8 - %vfn.i.i.i114.i1169 = getelementptr inbounds ptr, ptr %vtable.i.i.i113.i1168, i64 1 - %441 = load ptr, ptr %vfn.i.i.i114.i1169, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1166: ; preds = %ehcleanup83.i1163 + %vtable.i.i.i113.i1167 = load ptr, ptr %440, align 8 + %vfn.i.i.i114.i1168 = getelementptr inbounds ptr, ptr %vtable.i.i.i113.i1167, i64 1 + %441 = load ptr, ptr %vfn.i.i.i114.i1168, align 8 call void %441(ptr noundef nonnull align 8 dereferenceable(128) %440) #29 - br label %_ZN7testing7MessageD2Ev.exit115.i1170 + br label %_ZN7testing7MessageD2Ev.exit115.i1169 -_ZN7testing7MessageD2Ev.exit115.i1170: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1167, %ehcleanup83.i1164 +_ZN7testing7MessageD2Ev.exit115.i1169: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i112.i1166, %ehcleanup83.i1163 store ptr null, ptr %ref.tmp72.i714, align 8 - br label %ehcleanup85.i1155 + br label %ehcleanup85.i1154 -if.end84.i958: ; preds = %_ZN7testing7MessageD2Ev.exit110.i1178, %invoke.cont68.i956 +if.end84.i957: ; preds = %_ZN7testing7MessageD2Ev.exit110.i1177, %invoke.cont68.i955 %442 = load ptr, ptr %message_.i.i100.i730, align 8 - %cmp.not.i.i117.i959 = icmp eq ptr %442, null - br i1 %cmp.not.i.i117.i959, label %_ZN7testing15AssertionResultD2Ev.exit119.i961, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i960 + %cmp.not.i.i117.i958 = icmp eq ptr %442, null + br i1 %cmp.not.i.i117.i958, label %_ZN7testing15AssertionResultD2Ev.exit119.i960, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i959 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i960: ; preds = %if.end84.i958 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i959: ; preds = %if.end84.i957 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %442) #29 call void @_ZdlPv(ptr noundef nonnull %442) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit119.i961 + br label %_ZN7testing15AssertionResultD2Ev.exit119.i960 -_ZN7testing15AssertionResultD2Ev.exit119.i961: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i960, %if.end84.i958 +_ZN7testing15AssertionResultD2Ev.exit119.i960: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i118.i959, %if.end84.i957 store ptr null, ptr %message_.i.i100.i730, align 8 - %cmp86.i962 = icmp ult i64 %storemerge3547.i775, 4 + %cmp86.i961 = icmp ult i64 %storemerge3547.i775, 4 %443 = load i64, ptr %original_size.i701, align 8 - %cmp87.i963 = icmp ult i64 %443, 4 - %or.cond.i964 = select i1 %cmp86.i962, i1 %cmp87.i963, i1 false - br i1 %or.cond.i964, label %if.then88.i1114, label %if.end111.i965 + %cmp87.i962 = icmp ult i64 %443, 4 + %or.cond.i963 = select i1 %cmp86.i961, i1 %cmp87.i962, i1 false + br i1 %or.cond.i963, label %if.then88.i1113, label %if.end111.i964 -if.then88.i1114: ; preds = %_ZN7testing15AssertionResultD2Ev.exit119.i961 +if.then88.i1113: ; preds = %_ZN7testing15AssertionResultD2Ev.exit119.i960 store i32 3, ptr %ref.tmp90.i717, align 4 %444 = load i64, ptr %v.i705, align 8 - %and.i.i121.i1115 = and i64 %444, 1 - %tobool.i.not.i122.i1116 = icmp eq i64 %and.i.i121.i1115, 0 + %and.i.i121.i1114 = and i64 %444, 1 + %tobool.i.not.i122.i1115 = icmp eq i64 %and.i.i121.i1114, 0 %445 = load i64, ptr %allocated_capacity.i.i.i.i728, align 8 - %cond.i124.i1117 = select i1 %tobool.i.not.i122.i1116, i64 3, i64 %445 - store i64 %cond.i124.i1117, ptr %ref.tmp91.i718, align 8 - %cmp.i.i125.i1118 = icmp eq i64 %cond.i124.i1117, 3 - br i1 %cmp.i.i125.i1118, label %if.then.i.i127.i1152, label %if.end.i.i126.i1119 + %cond.i124.i1116 = select i1 %tobool.i.not.i122.i1115, i64 3, i64 %445 + store i64 %cond.i124.i1116, ptr %ref.tmp91.i718, align 8 + %cmp.i.i125.i1117 = icmp eq i64 %cond.i124.i1116, 3 + br i1 %cmp.i.i125.i1117, label %if.then.i.i127.i1151, label %if.end.i.i126.i1118 -if.then.i.i127.i1152: ; preds = %if.then88.i1114 +if.then.i.i127.i1151: ; preds = %if.then88.i1113 invoke void @_ZN7testing16AssertionSuccessEv(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar89.i716) - to label %invoke.cont93.i1120 unwind label %lpad44.i936 + to label %invoke.cont93.i1119 unwind label %lpad44.i935 -if.end.i.i126.i1119: ; preds = %if.then88.i1114 +if.end.i.i126.i1118: ; preds = %if.then88.i1113 invoke void @_ZN7testing8internal18CmpHelperEQFailureIjmEENS_15AssertionResultEPKcS4_RKT_RKT0_(ptr nonnull sret(%"class.testing::AssertionResult") align 8 %gtest_ar89.i716, ptr noundef nonnull @.str.288, ptr noundef nonnull @.str.186, ptr noundef nonnull align 4 dereferenceable(4) %ref.tmp90.i717, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp91.i718) - to label %invoke.cont93.i1120 unwind label %lpad44.i936 + to label %invoke.cont93.i1119 unwind label %lpad44.i935 -invoke.cont93.i1120: ; preds = %if.end.i.i126.i1119, %if.then.i.i127.i1152 +invoke.cont93.i1119: ; preds = %if.end.i.i126.i1118, %if.then.i.i127.i1151 %446 = load i8, ptr %gtest_ar89.i716, align 8 %447 = and i8 %446, 1 - %tobool.i130.not.i1121 = icmp eq i8 %447, 0 - br i1 %tobool.i130.not.i1121, label %if.else96.i1126, label %if.end109.i1122 + %tobool.i130.not.i1120 = icmp eq i8 %447, 0 + br i1 %tobool.i130.not.i1120, label %if.else96.i1125, label %if.end109.i1121 -ehcleanup85.i1155: ; preds = %_ZN7testing7MessageD2Ev.exit115.i1170, %lpad73.i1154 - %.pn6.pn.i1156 = phi { ptr, i32 } [ %.pn6.i1165, %_ZN7testing7MessageD2Ev.exit115.i1170 ], [ %437, %lpad73.i1154 ] +ehcleanup85.i1154: ; preds = %_ZN7testing7MessageD2Ev.exit115.i1169, %lpad73.i1153 + %.pn6.pn.i1155 = phi { ptr, i32 } [ %.pn6.i1164, %_ZN7testing7MessageD2Ev.exit115.i1169 ], [ %437, %lpad73.i1153 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar63.i711) #29 - br label %ehcleanup142.i937 + br label %ehcleanup142.i936 -if.else96.i1126: ; preds = %invoke.cont93.i1120 +if.else96.i1125: ; preds = %invoke.cont93.i1119 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp97.i719) - to label %invoke.cont99.i1130 unwind label %lpad98.i1127 + to label %invoke.cont99.i1129 unwind label %lpad98.i1126 -invoke.cont99.i1130: ; preds = %if.else96.i1126 +invoke.cont99.i1129: ; preds = %if.else96.i1125 %448 = load ptr, ptr %message_.i.i131.i731, align 8 - %cmp.i.i.not.i.i132.i1131 = icmp eq ptr %448, null - br i1 %cmp.i.i.not.i.i132.i1131, label %invoke.cont102.i1134, label %cond.true.i.i133.i1132 + %cmp.i.i.not.i.i132.i1130 = icmp eq ptr %448, null + br i1 %cmp.i.i.not.i.i132.i1130, label %invoke.cont102.i1133, label %cond.true.i.i133.i1131 -cond.true.i.i133.i1132: ; preds = %invoke.cont99.i1130 - %call4.i.i134.i1133 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %448) #29 - br label %invoke.cont102.i1134 +cond.true.i.i133.i1131: ; preds = %invoke.cont99.i1129 + %call4.i.i134.i1132 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %448) #29 + br label %invoke.cont102.i1133 -invoke.cont102.i1134: ; preds = %cond.true.i.i133.i1132, %invoke.cont99.i1130 - %cond.i.i135.i1135 = phi ptr [ %call4.i.i134.i1133, %cond.true.i.i133.i1132 ], [ @.str.202, %invoke.cont99.i1130 ] - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i720, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1480, ptr noundef %cond.i.i135.i1135) - to label %invoke.cont104.i1144 unwind label %lpad101.i1136 +invoke.cont102.i1133: ; preds = %cond.true.i.i133.i1131, %invoke.cont99.i1129 + %cond.i.i135.i1134 = phi ptr [ %call4.i.i134.i1132, %cond.true.i.i133.i1131 ], [ @.str.202, %invoke.cont99.i1129 ] + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i720, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1480, ptr noundef %cond.i.i135.i1134) + to label %invoke.cont104.i1143 unwind label %lpad101.i1135 -invoke.cont104.i1144: ; preds = %invoke.cont102.i1134 +invoke.cont104.i1143: ; preds = %invoke.cont102.i1133 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i720, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp97.i719) - to label %invoke.cont106.i1146 unwind label %lpad105.i1145 + to label %invoke.cont106.i1145 unwind label %lpad105.i1144 -invoke.cont106.i1146: ; preds = %invoke.cont104.i1144 +invoke.cont106.i1145: ; preds = %invoke.cont104.i1143 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i720) #29 %449 = load ptr, ptr %ref.tmp97.i719, align 8 - %cmp.not.i.i137.i1147 = icmp eq ptr %449, null - br i1 %cmp.not.i.i137.i1147, label %_ZN7testing7MessageD2Ev.exit141.i1151, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1148 + %cmp.not.i.i137.i1146 = icmp eq ptr %449, null + br i1 %cmp.not.i.i137.i1146, label %_ZN7testing7MessageD2Ev.exit141.i1150, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1147 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1148: ; preds = %invoke.cont106.i1146 - %vtable.i.i.i139.i1149 = load ptr, ptr %449, align 8 - %vfn.i.i.i140.i1150 = getelementptr inbounds ptr, ptr %vtable.i.i.i139.i1149, i64 1 - %450 = load ptr, ptr %vfn.i.i.i140.i1150, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1147: ; preds = %invoke.cont106.i1145 + %vtable.i.i.i139.i1148 = load ptr, ptr %449, align 8 + %vfn.i.i.i140.i1149 = getelementptr inbounds ptr, ptr %vtable.i.i.i139.i1148, i64 1 + %450 = load ptr, ptr %vfn.i.i.i140.i1149, align 8 call void %450(ptr noundef nonnull align 8 dereferenceable(128) %449) #29 - br label %_ZN7testing7MessageD2Ev.exit141.i1151 + br label %_ZN7testing7MessageD2Ev.exit141.i1150 -_ZN7testing7MessageD2Ev.exit141.i1151: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1148, %invoke.cont106.i1146 +_ZN7testing7MessageD2Ev.exit141.i1150: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i138.i1147, %invoke.cont106.i1145 store ptr null, ptr %ref.tmp97.i719, align 8 - br label %if.end109.i1122 + br label %if.end109.i1121 -lpad98.i1127: ; preds = %if.else96.i1126 +lpad98.i1126: ; preds = %if.else96.i1125 %451 = landingpad { ptr, i32 } cleanup - br label %ehcleanup110.i1128 + br label %ehcleanup110.i1127 -lpad101.i1136: ; preds = %invoke.cont102.i1134 +lpad101.i1135: ; preds = %invoke.cont102.i1133 %452 = landingpad { ptr, i32 } cleanup - br label %ehcleanup108.i1137 + br label %ehcleanup108.i1136 -lpad105.i1145: ; preds = %invoke.cont104.i1144 +lpad105.i1144: ; preds = %invoke.cont104.i1143 %453 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp100.i720) #29 - br label %ehcleanup108.i1137 + br label %ehcleanup108.i1136 -ehcleanup108.i1137: ; preds = %lpad105.i1145, %lpad101.i1136 - %.pn9.i1138 = phi { ptr, i32 } [ %453, %lpad105.i1145 ], [ %452, %lpad101.i1136 ] +ehcleanup108.i1136: ; preds = %lpad105.i1144, %lpad101.i1135 + %.pn9.i1137 = phi { ptr, i32 } [ %453, %lpad105.i1144 ], [ %452, %lpad101.i1135 ] %454 = load ptr, ptr %ref.tmp97.i719, align 8 - %cmp.not.i.i142.i1139 = icmp eq ptr %454, null - br i1 %cmp.not.i.i142.i1139, label %_ZN7testing7MessageD2Ev.exit146.i1143, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1140 + %cmp.not.i.i142.i1138 = icmp eq ptr %454, null + br i1 %cmp.not.i.i142.i1138, label %_ZN7testing7MessageD2Ev.exit146.i1142, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1139 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1140: ; preds = %ehcleanup108.i1137 - %vtable.i.i.i144.i1141 = load ptr, ptr %454, align 8 - %vfn.i.i.i145.i1142 = getelementptr inbounds ptr, ptr %vtable.i.i.i144.i1141, i64 1 - %455 = load ptr, ptr %vfn.i.i.i145.i1142, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1139: ; preds = %ehcleanup108.i1136 + %vtable.i.i.i144.i1140 = load ptr, ptr %454, align 8 + %vfn.i.i.i145.i1141 = getelementptr inbounds ptr, ptr %vtable.i.i.i144.i1140, i64 1 + %455 = load ptr, ptr %vfn.i.i.i145.i1141, align 8 call void %455(ptr noundef nonnull align 8 dereferenceable(128) %454) #29 - br label %_ZN7testing7MessageD2Ev.exit146.i1143 + br label %_ZN7testing7MessageD2Ev.exit146.i1142 -_ZN7testing7MessageD2Ev.exit146.i1143: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1140, %ehcleanup108.i1137 +_ZN7testing7MessageD2Ev.exit146.i1142: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i143.i1139, %ehcleanup108.i1136 store ptr null, ptr %ref.tmp97.i719, align 8 - br label %ehcleanup110.i1128 + br label %ehcleanup110.i1127 -if.end109.i1122: ; preds = %_ZN7testing7MessageD2Ev.exit141.i1151, %invoke.cont93.i1120 +if.end109.i1121: ; preds = %_ZN7testing7MessageD2Ev.exit141.i1150, %invoke.cont93.i1119 %456 = load ptr, ptr %message_.i.i131.i731, align 8 - %cmp.not.i.i148.i1123 = icmp eq ptr %456, null - br i1 %cmp.not.i.i148.i1123, label %_ZN7testing15AssertionResultD2Ev.exit150.i1125, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1124 + %cmp.not.i.i148.i1122 = icmp eq ptr %456, null + br i1 %cmp.not.i.i148.i1122, label %_ZN7testing15AssertionResultD2Ev.exit150.i1124, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1123 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1124: ; preds = %if.end109.i1122 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1123: ; preds = %if.end109.i1121 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %456) #29 call void @_ZdlPv(ptr noundef nonnull %456) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit150.i1125 + br label %_ZN7testing15AssertionResultD2Ev.exit150.i1124 -_ZN7testing15AssertionResultD2Ev.exit150.i1125: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1124, %if.end109.i1122 +_ZN7testing15AssertionResultD2Ev.exit150.i1124: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i149.i1123, %if.end109.i1121 store ptr null, ptr %message_.i.i131.i731, align 8 - br label %if.end111.i965 + br label %if.end111.i964 -ehcleanup110.i1128: ; preds = %_ZN7testing7MessageD2Ev.exit146.i1143, %lpad98.i1127 - %.pn9.pn.i1129 = phi { ptr, i32 } [ %.pn9.i1138, %_ZN7testing7MessageD2Ev.exit146.i1143 ], [ %451, %lpad98.i1127 ] +ehcleanup110.i1127: ; preds = %_ZN7testing7MessageD2Ev.exit146.i1142, %lpad98.i1126 + %.pn9.pn.i1128 = phi { ptr, i32 } [ %.pn9.i1137, %_ZN7testing7MessageD2Ev.exit146.i1142 ], [ %451, %lpad98.i1126 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar89.i716) #29 - br label %ehcleanup142.i937 + br label %ehcleanup142.i936 -if.end111.i965: ; preds = %_ZN7testing15AssertionResultD2Ev.exit150.i1125, %_ZN7testing15AssertionResultD2Ev.exit119.i961 +if.end111.i964: ; preds = %_ZN7testing15AssertionResultD2Ev.exit150.i1124, %_ZN7testing15AssertionResultD2Ev.exit119.i960 %457 = load i64, ptr %v.i705, align 8 - %and.i.i.i.i966 = and i64 %457, 1 - %tobool.i.not.i.i.i967 = icmp eq i64 %and.i.i.i.i966, 0 + %and.i.i.i.i965 = and i64 %457, 1 + %tobool.i.not.i.i.i966 = icmp eq i64 %and.i.i.i.i965, 0 %458 = load ptr, ptr %data_.i4.i.i.i727, align 8 - %cond.i.i152.i968 = select i1 %tobool.i.not.i.i.i967, ptr %data_.i4.i.i.i727, ptr %458 - %shr.i.i.i.i969 = lshr i64 %457, 1 - %add.ptr.i.i970 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i.i152.i968, i64 %shr.i.i.i.i969 - %cmp.not4.i.i971 = icmp ult i64 %457, 2 - br i1 %cmp.not4.i.i971, label %if.end140.thread.i1111, label %for.body.i.i972 - -for.body.i.i972: ; preds = %if.end111.i965, %for.inc.i.i1107 - %__first1.addr.06.i.i973 = phi ptr [ %incdec.ptr.i.i1108, %for.inc.i.i1107 ], [ %cond.i.i152.i968, %if.end111.i965 ] - %__first2.sroa.0.05.i.i974 = phi ptr [ %incdec.ptr.i.i157.i1109, %for.inc.i.i1107 ], [ %408, %if.end111.i965 ] - %is_live_.i.i334.i975 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first1.addr.06.i.i973, i64 0, i32 1 - %459 = load i8, ptr %is_live_.i.i334.i975, align 4 + %cond.i.i152.i967 = select i1 %tobool.i.not.i.i.i966, ptr %data_.i4.i.i.i727, ptr %458 + %shr.i.i.i.i968 = lshr i64 %457, 1 + %add.ptr.i.i969 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i.i152.i967, i64 %shr.i.i.i.i968 + %cmp.not4.i.i970 = icmp ult i64 %457, 2 + br i1 %cmp.not4.i.i970, label %if.end140.thread.i1110, label %for.body.i.i971 + +for.body.i.i971: ; preds = %if.end111.i964, %for.inc.i.i1106 + %__first1.addr.06.i.i972 = phi ptr [ %incdec.ptr.i.i1107, %for.inc.i.i1106 ], [ %cond.i.i152.i967, %if.end111.i964 ] + %__first2.sroa.0.05.i.i973 = phi ptr [ %incdec.ptr.i.i157.i1108, %for.inc.i.i1106 ], [ %408, %if.end111.i964 ] + %is_live_.i.i334.i974 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first1.addr.06.i.i972, i64 0, i32 1 + %459 = load i8, ptr %is_live_.i.i334.i974, align 4 %460 = and i8 %459, 1 - %tobool.not.i.i335.i976 = icmp eq i8 %460, 0 - br i1 %tobool.not.i.i335.i976, label %if.then.i.i336.i1113, label %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i977 + %tobool.not.i.i335.i975 = icmp eq i8 %460, 0 + br i1 %tobool.not.i.i335.i975, label %if.then.i.i336.i1112, label %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i976 -if.then.i.i336.i1113: ; preds = %for.body.i.i972 +if.then.i.i336.i1112: ; preds = %for.body.i.i971 call void @abort() #28 unreachable -_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i977: ; preds = %for.body.i.i972 - %is_live_.i1.i.i978 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first2.sroa.0.05.i.i974, i64 0, i32 1 - %461 = load i8, ptr %is_live_.i1.i.i978, align 4 +_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i976: ; preds = %for.body.i.i971 + %is_live_.i1.i.i977 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first2.sroa.0.05.i.i973, i64 0, i32 1 + %461 = load i8, ptr %is_live_.i1.i.i977, align 4 %462 = and i8 %461, 1 - %tobool.not.i2.i.i979 = icmp eq i8 %462, 0 - br i1 %tobool.not.i2.i.i979, label %if.then.i3.i.i1112, label %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal23CopyableMovableInstanceEEEbRKT_S6_.exit.i980 + %tobool.not.i2.i.i978 = icmp eq i8 %462, 0 + br i1 %tobool.not.i2.i.i978, label %if.then.i3.i.i1111, label %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal23CopyableMovableInstanceEEEbRKT_S6_.exit.i979 -if.then.i3.i.i1112: ; preds = %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i977 +if.then.i3.i.i1111: ; preds = %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i976 call void @abort() #28 unreachable -_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal23CopyableMovableInstanceEEEbRKT_S6_.exit.i980: ; preds = %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i977 - %463 = load i32, ptr %__first1.addr.06.i.i973, align 4 - %464 = load i32, ptr %__first2.sroa.0.05.i.i974, align 4 - %cmp.i.i981 = icmp eq i32 %463, %464 - br i1 %cmp.i.i981, label %for.inc.i.i1107, label %if.else124.i982 +_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal23CopyableMovableInstanceEEEbRKT_S6_.exit.i979: ; preds = %_ZNK4absl13test_internal19BaseCountedInstance5valueEv.exit.i.i976 + %463 = load i32, ptr %__first1.addr.06.i.i972, align 4 + %464 = load i32, ptr %__first2.sroa.0.05.i.i973, align 4 + %cmp.i.i980 = icmp eq i32 %463, %464 + br i1 %cmp.i.i980, label %for.inc.i.i1106, label %if.else124.i981 -for.inc.i.i1107: ; preds = %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal23CopyableMovableInstanceEEEbRKT_S6_.exit.i980 - %incdec.ptr.i.i1108 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first1.addr.06.i.i973, i64 1 - %incdec.ptr.i.i157.i1109 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first2.sroa.0.05.i.i974, i64 1 - %cmp.not.i158.i1110 = icmp eq ptr %incdec.ptr.i.i1108, %add.ptr.i.i970 - br i1 %cmp.not.i158.i1110, label %if.end140.thread.i1111, label %for.body.i.i972, !llvm.loop !3472 +for.inc.i.i1106: ; preds = %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal23CopyableMovableInstanceEEEbRKT_S6_.exit.i979 + %incdec.ptr.i.i1107 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first1.addr.06.i.i972, i64 1 + %incdec.ptr.i.i157.i1108 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first2.sroa.0.05.i.i973, i64 1 + %cmp.not.i158.i1109 = icmp eq ptr %incdec.ptr.i.i1107, %add.ptr.i.i969 + br i1 %cmp.not.i158.i1109, label %if.end140.thread.i1110, label %for.body.i.i971, !llvm.loop !3472 -if.end140.thread.i1111: ; preds = %for.inc.i.i1107, %if.end111.i965 +if.end140.thread.i1110: ; preds = %for.inc.i.i1106, %if.end111.i964 store i8 1, ptr %gtest_ar_.i721, align 8 - br label %_ZN7testing15AssertionResultD2Ev.exit174.i1011 + br label %_ZN7testing15AssertionResultD2Ev.exit174.i1010 -if.else124.i982: ; preds = %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal23CopyableMovableInstanceEEEbRKT_S6_.exit.i980 +if.else124.i981: ; preds = %_ZN12_GLOBAL__N_119InstanceValuesEqualIN4absl13test_internal23CopyableMovableInstanceEEEbRKT_S6_.exit.i979 store i8 0, ptr %gtest_ar_.i721, align 8 store ptr null, ptr %message_.i159.i732, align 8 invoke void @_ZN7testing7MessageC1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp125.i722) - to label %invoke.cont127.i986 unwind label %lpad126.i983 + to label %invoke.cont127.i985 unwind label %lpad126.i982 -invoke.cont127.i986: ; preds = %if.else124.i982 +invoke.cont127.i985: ; preds = %if.else124.i981 invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageB5cxx11ERKNS_15AssertionResultEPKcS5_S5_(ptr nonnull sret(%"class.std::__cxx11::basic_string") align 8 %ref.tmp129.i724, ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_.i721, ptr noundef nonnull @.str.512, ptr noundef nonnull @.str.263, ptr noundef nonnull @.str.264) - to label %invoke.cont131.i995 unwind label %lpad130.i987 + to label %invoke.cont131.i994 unwind label %lpad130.i986 -invoke.cont131.i995: ; preds = %invoke.cont127.i986 - %call132.i996 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129.i724) #29 - invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i723, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1483, ptr noundef %call132.i996) - to label %invoke.cont134.i1000 unwind label %lpad133.i997 +invoke.cont131.i994: ; preds = %invoke.cont127.i985 + %call132.i995 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129.i724) #29 + invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i723, i32 noundef 1, ptr noundef nonnull @.str.4, i32 noundef 1483, ptr noundef %call132.i995) + to label %invoke.cont134.i999 unwind label %lpad133.i996 -invoke.cont134.i1000: ; preds = %invoke.cont131.i995 +invoke.cont134.i999: ; preds = %invoke.cont131.i994 invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i723, ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp125.i722) - to label %invoke.cont136.i1002 unwind label %lpad135.i1001 + to label %invoke.cont136.i1001 unwind label %lpad135.i1000 -invoke.cont136.i1002: ; preds = %invoke.cont134.i1000 +invoke.cont136.i1001: ; preds = %invoke.cont134.i999 call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i723) #29 call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129.i724) #29 %465 = load ptr, ptr %ref.tmp125.i722, align 8 - %cmp.not.i.i161.i1003 = icmp eq ptr %465, null - br i1 %cmp.not.i.i161.i1003, label %if.end140.i1007, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1004 + %cmp.not.i.i161.i1002 = icmp eq ptr %465, null + br i1 %cmp.not.i.i161.i1002, label %if.end140.i1006, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1003 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1004: ; preds = %invoke.cont136.i1002 - %vtable.i.i.i163.i1005 = load ptr, ptr %465, align 8 - %vfn.i.i.i164.i1006 = getelementptr inbounds ptr, ptr %vtable.i.i.i163.i1005, i64 1 - %466 = load ptr, ptr %vfn.i.i.i164.i1006, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1003: ; preds = %invoke.cont136.i1001 + %vtable.i.i.i163.i1004 = load ptr, ptr %465, align 8 + %vfn.i.i.i164.i1005 = getelementptr inbounds ptr, ptr %vtable.i.i.i163.i1004, i64 1 + %466 = load ptr, ptr %vfn.i.i.i164.i1005, align 8 call void %466(ptr noundef nonnull align 8 dereferenceable(128) %465) #29 - br label %if.end140.i1007 + br label %if.end140.i1006 -lpad126.i983: ; preds = %if.else124.i982 +lpad126.i982: ; preds = %if.else124.i981 %467 = landingpad { ptr, i32 } cleanup - br label %ehcleanup141.i984 + br label %ehcleanup141.i983 -lpad130.i987: ; preds = %invoke.cont127.i986 +lpad130.i986: ; preds = %invoke.cont127.i985 %468 = landingpad { ptr, i32 } cleanup - br label %ehcleanup139.i988 + br label %ehcleanup139.i987 -lpad133.i997: ; preds = %invoke.cont131.i995 +lpad133.i996: ; preds = %invoke.cont131.i994 %469 = landingpad { ptr, i32 } cleanup - br label %ehcleanup138.i998 + br label %ehcleanup138.i997 -lpad135.i1001: ; preds = %invoke.cont134.i1000 +lpad135.i1000: ; preds = %invoke.cont134.i999 %470 = landingpad { ptr, i32 } cleanup call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %ref.tmp128.i723) #29 - br label %ehcleanup138.i998 + br label %ehcleanup138.i997 -ehcleanup138.i998: ; preds = %lpad135.i1001, %lpad133.i997 - %.pn12.i999 = phi { ptr, i32 } [ %470, %lpad135.i1001 ], [ %469, %lpad133.i997 ] +ehcleanup138.i997: ; preds = %lpad135.i1000, %lpad133.i996 + %.pn12.i998 = phi { ptr, i32 } [ %470, %lpad135.i1000 ], [ %469, %lpad133.i996 ] call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %ref.tmp129.i724) #29 - br label %ehcleanup139.i988 + br label %ehcleanup139.i987 -ehcleanup139.i988: ; preds = %ehcleanup138.i998, %lpad130.i987 - %.pn12.pn.i989 = phi { ptr, i32 } [ %.pn12.i999, %ehcleanup138.i998 ], [ %468, %lpad130.i987 ] +ehcleanup139.i987: ; preds = %ehcleanup138.i997, %lpad130.i986 + %.pn12.pn.i988 = phi { ptr, i32 } [ %.pn12.i998, %ehcleanup138.i997 ], [ %468, %lpad130.i986 ] %471 = load ptr, ptr %ref.tmp125.i722, align 8 - %cmp.not.i.i166.i990 = icmp eq ptr %471, null - br i1 %cmp.not.i.i166.i990, label %_ZN7testing7MessageD2Ev.exit170.i994, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i991 + %cmp.not.i.i166.i989 = icmp eq ptr %471, null + br i1 %cmp.not.i.i166.i989, label %_ZN7testing7MessageD2Ev.exit170.i993, label %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i990 -_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i991: ; preds = %ehcleanup139.i988 - %vtable.i.i.i168.i992 = load ptr, ptr %471, align 8 - %vfn.i.i.i169.i993 = getelementptr inbounds ptr, ptr %vtable.i.i.i168.i992, i64 1 - %472 = load ptr, ptr %vfn.i.i.i169.i993, align 8 +_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i990: ; preds = %ehcleanup139.i987 + %vtable.i.i.i168.i991 = load ptr, ptr %471, align 8 + %vfn.i.i.i169.i992 = getelementptr inbounds ptr, ptr %vtable.i.i.i168.i991, i64 1 + %472 = load ptr, ptr %vfn.i.i.i169.i992, align 8 call void %472(ptr noundef nonnull align 8 dereferenceable(128) %471) #29 - br label %_ZN7testing7MessageD2Ev.exit170.i994 + br label %_ZN7testing7MessageD2Ev.exit170.i993 -_ZN7testing7MessageD2Ev.exit170.i994: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i991, %ehcleanup139.i988 +_ZN7testing7MessageD2Ev.exit170.i993: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i167.i990, %ehcleanup139.i987 store ptr null, ptr %ref.tmp125.i722, align 8 - br label %ehcleanup141.i984 + br label %ehcleanup141.i983 -if.end140.i1007: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1004, %invoke.cont136.i1002 +if.end140.i1006: ; preds = %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i162.i1003, %invoke.cont136.i1001 store ptr null, ptr %ref.tmp125.i722, align 8 - %.pr.i1008 = load ptr, ptr %message_.i159.i732, align 8 - %cmp.not.i.i172.i1009 = icmp eq ptr %.pr.i1008, null - br i1 %cmp.not.i.i172.i1009, label %_ZN7testing15AssertionResultD2Ev.exit174.i1011, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1010 + %.pr.i1007 = load ptr, ptr %message_.i159.i732, align 8 + %cmp.not.i.i172.i1008 = icmp eq ptr %.pr.i1007, null + br i1 %cmp.not.i.i172.i1008, label %_ZN7testing15AssertionResultD2Ev.exit174.i1010, label %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1009 -_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1010: ; preds = %if.end140.i1007 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr.i1008) #29 - call void @_ZdlPv(ptr noundef nonnull %.pr.i1008) #32 - br label %_ZN7testing15AssertionResultD2Ev.exit174.i1011 +_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1009: ; preds = %if.end140.i1006 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(32) %.pr.i1007) #29 + call void @_ZdlPv(ptr noundef nonnull %.pr.i1007) #32 + br label %_ZN7testing15AssertionResultD2Ev.exit174.i1010 -_ZN7testing15AssertionResultD2Ev.exit174.i1011: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1010, %if.end140.i1007, %if.end140.thread.i1111 +_ZN7testing15AssertionResultD2Ev.exit174.i1010: ; preds = %_ZNKSt14default_deleteINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i173.i1009, %if.end140.i1006, %if.end140.thread.i1110 store ptr null, ptr %message_.i159.i732, align 8 %473 = load i64, ptr %v.i705, align 8 - %cmp.i.i175.i1012 = icmp eq i64 %473, 0 - br i1 %cmp.i.i175.i1012, label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1037, label %if.end.i.i176.i1013 + %cmp.i.i175.i1011 = icmp eq i64 %473, 0 + br i1 %cmp.i.i175.i1011, label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1036, label %if.end.i.i176.i1012 -if.end.i.i176.i1013: ; preds = %_ZN7testing15AssertionResultD2Ev.exit174.i1011 - %and.i.i.i.i.i1014 = and i64 %473, 1 - %tobool.i.not.i.i.i.i1015 = icmp eq i64 %and.i.i.i.i.i1014, 0 +if.end.i.i176.i1012: ; preds = %_ZN7testing15AssertionResultD2Ev.exit174.i1010 + %and.i.i.i.i.i1013 = and i64 %473, 1 + %tobool.i.not.i.i.i.i1014 = icmp eq i64 %and.i.i.i.i.i1013, 0 %474 = load ptr, ptr %data_.i4.i.i.i727, align 8 - %cond.i.i.i.i1016 = select i1 %tobool.i.not.i.i.i.i1015, ptr %data_.i4.i.i.i727, ptr %474 - %cmp.not6.i.i.i.i.i1017 = icmp eq i64 %473, 1 - br i1 %cmp.not6.i.i.i.i.i1017, label %if.then.i.i.i.i.i1036, label %for.body.preheader.i.i.i.i.i1018 - -for.body.preheader.i.i.i.i.i1018: ; preds = %if.end.i.i176.i1013 - %shr.i.i.i.i.i1019 = lshr i64 %473, 1 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i.i1020 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i.i1021 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i.i1022 - -for.body.i.i.i.i.i1022: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1032, %for.body.preheader.i.i.i.i.i1018 - %i.09.i.i.i.i.i1023 = phi i64 [ %dec.i.i.i.i.i1026, %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1032 ], [ %shr.i.i.i.i.i1019, %for.body.preheader.i.i.i.i.i1018 ] - %dec.i.i.i.i38.i.i.i.i.i1024 = phi i32 [ %dec.i.i.i.i.i.i.i.i.i1027, %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1032 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i.i1021, %for.body.preheader.i.i.i.i.i1018 ] - %dec2.i.i.i.i57.i.i.i.i.i1025 = phi i32 [ %dec2.i.i.i.i4.i.i.i.i.i1033, %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1032 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i.i1020, %for.body.preheader.i.i.i.i.i1018 ] - %dec.i.i.i.i.i1026 = add nsw i64 %i.09.i.i.i.i.i1023, -1 - %dec.i.i.i.i.i.i.i.i.i1027 = add nsw i32 %dec.i.i.i.i38.i.i.i.i.i1024, -1 - store i32 %dec.i.i.i.i.i.i.i.i.i1027, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - %is_live_.i.i.i.i.i.i.i.i177.i1028 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i.i.i.i1016, i64 %dec.i.i.i.i.i1026, i32 0, i32 1 - %475 = load i8, ptr %is_live_.i.i.i.i.i.i.i.i177.i1028, align 4 + %cond.i.i.i.i1015 = select i1 %tobool.i.not.i.i.i.i1014, ptr %data_.i4.i.i.i727, ptr %474 + %cmp.not6.i.i.i.i.i1016 = icmp eq i64 %473, 1 + br i1 %cmp.not6.i.i.i.i.i1016, label %if.then.i.i.i.i.i1035, label %for.body.preheader.i.i.i.i.i1017 + +for.body.preheader.i.i.i.i.i1017: ; preds = %if.end.i.i176.i1012 + %shr.i.i.i.i.i1018 = lshr i64 %473, 1 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i.i1019 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i.i1020 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i.i1021 + +for.body.i.i.i.i.i1021: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1031, %for.body.preheader.i.i.i.i.i1017 + %i.09.i.i.i.i.i1022 = phi i64 [ %dec.i.i.i.i.i1025, %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1031 ], [ %shr.i.i.i.i.i1018, %for.body.preheader.i.i.i.i.i1017 ] + %dec.i.i.i.i38.i.i.i.i.i1023 = phi i32 [ %dec.i.i.i.i.i.i.i.i.i1026, %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1031 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i.i1020, %for.body.preheader.i.i.i.i.i1017 ] + %dec2.i.i.i.i57.i.i.i.i.i1024 = phi i32 [ %dec2.i.i.i.i4.i.i.i.i.i1032, %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1031 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i.i1019, %for.body.preheader.i.i.i.i.i1017 ] + %dec.i.i.i.i.i1025 = add nsw i64 %i.09.i.i.i.i.i1022, -1 + %dec.i.i.i.i.i.i.i.i.i1026 = add nsw i32 %dec.i.i.i.i38.i.i.i.i.i1023, -1 + store i32 %dec.i.i.i.i.i.i.i.i.i1026, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + %is_live_.i.i.i.i.i.i.i.i177.i1027 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %cond.i.i.i.i1015, i64 %dec.i.i.i.i.i1025, i32 0, i32 1 + %475 = load i8, ptr %is_live_.i.i.i.i.i.i.i.i177.i1027, align 4 %476 = and i8 %475, 1 - %tobool.not.i.i.i.i.i.i.i.i.i1029 = icmp eq i8 %476, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i.i1029, label %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1032, label %if.then.i.i.i.i.i.i.i.i178.i1030 + %tobool.not.i.i.i.i.i.i.i.i.i1028 = icmp eq i8 %476, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i.i1028, label %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1031, label %if.then.i.i.i.i.i.i.i.i178.i1029 -if.then.i.i.i.i.i.i.i.i178.i1030: ; preds = %for.body.i.i.i.i.i1022 - %dec2.i.i.i.i.i.i.i.i.i1031 = add nsw i32 %dec2.i.i.i.i57.i.i.i.i.i1025, -1 - store i32 %dec2.i.i.i.i.i.i.i.i.i1031, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1032 +if.then.i.i.i.i.i.i.i.i178.i1029: ; preds = %for.body.i.i.i.i.i1021 + %dec2.i.i.i.i.i.i.i.i.i1030 = add nsw i32 %dec2.i.i.i.i57.i.i.i.i.i1024, -1 + store i32 %dec2.i.i.i.i.i.i.i.i.i1030, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1031 -_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1032: ; preds = %if.then.i.i.i.i.i.i.i.i178.i1030, %for.body.i.i.i.i.i1022 - %dec2.i.i.i.i4.i.i.i.i.i1033 = phi i32 [ %dec2.i.i.i.i57.i.i.i.i.i1025, %for.body.i.i.i.i.i1022 ], [ %dec2.i.i.i.i.i.i.i.i.i1031, %if.then.i.i.i.i.i.i.i.i178.i1030 ] - %cmp.not.i.i.i.i179.i1034 = icmp eq i64 %dec.i.i.i.i.i1026, 0 - br i1 %cmp.not.i.i.i.i179.i1034, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1035, label %for.body.i.i.i.i.i1022, !llvm.loop !1389 +_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1031: ; preds = %if.then.i.i.i.i.i.i.i.i178.i1029, %for.body.i.i.i.i.i1021 + %dec2.i.i.i.i4.i.i.i.i.i1032 = phi i32 [ %dec2.i.i.i.i57.i.i.i.i.i1024, %for.body.i.i.i.i.i1021 ], [ %dec2.i.i.i.i.i.i.i.i.i1030, %if.then.i.i.i.i.i.i.i.i178.i1029 ] + %cmp.not.i.i.i.i179.i1033 = icmp eq i64 %dec.i.i.i.i.i1025, 0 + br i1 %cmp.not.i.i.i.i179.i1033, label %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1034, label %for.body.i.i.i.i.i1021, !llvm.loop !1389 -_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1035: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1032 - br i1 %tobool.i.not.i.i.i.i1015, label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1037, label %if.then.i.i.i.i.i1036 +_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1034: ; preds = %_ZNSt16allocator_traitsISaIN4absl13test_internal23CopyableMovableInstanceEEE7destroyIS2_EEvRS3_PT_.exit.i.i.i.i.i1031 + br i1 %tobool.i.not.i.i.i.i1014, label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1036, label %if.then.i.i.i.i.i1035 -if.then.i.i.i.i.i1036: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1035, %if.end.i.i176.i1013 +if.then.i.i.i.i.i1035: ; preds = %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1034, %if.end.i.i176.i1012 call void @_ZdlPv(ptr noundef %474) #32 - br label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1037 - -_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1037: ; preds = %if.then.i.i.i.i.i1036, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1035, %_ZN7testing15AssertionResultD2Ev.exit174.i1011 - %cmp.not6.i.i.i.i181.i1038 = icmp eq ptr %408, %409 - br i1 %cmp.not6.i.i.i.i181.i1038, label %invoke.cont.i187.i1056, label %for.body.preheader.i.i.i.i182.i1039 - -for.body.preheader.i.i.i.i182.i1039: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1037 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i183.i1040 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i184.i1041 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i185.i1042 - -for.body.i.i.i.i185.i1042: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1051, %for.body.preheader.i.i.i.i182.i1039 - %__first.addr.09.i.i.i.i.i1043 = phi ptr [ %incdec.ptr.i.i.i.i.i1053, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1051 ], [ %408, %for.body.preheader.i.i.i.i182.i1039 ] - %dec.i.i.i38.i.i.i.i.i1044 = phi i32 [ %dec.i.i.i.i.i.i.i.i1046, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1051 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i184.i1041, %for.body.preheader.i.i.i.i182.i1039 ] - %dec2.i.i.i57.i.i.i.i.i1045 = phi i32 [ %dec2.i.i.i4.i.i.i.i.i1052, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1051 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i183.i1040, %for.body.preheader.i.i.i.i182.i1039 ] - %dec.i.i.i.i.i.i.i.i1046 = add nsw i32 %dec.i.i.i38.i.i.i.i.i1044, -1 - %is_live_.i.i.i.i.i.i.i.i1047 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i.i1043, i64 0, i32 1 - %477 = load i8, ptr %is_live_.i.i.i.i.i.i.i.i1047, align 4 + br label %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1036 + +_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1036: ; preds = %if.then.i.i.i.i.i1035, %_ZN4absl23inlined_vector_internal14DestroyAdapterISaINS_13test_internal23CopyableMovableInstanceEELb0EE15DestroyElementsERS4_PS3_m.exit.i.i.i.i1034, %_ZN7testing15AssertionResultD2Ev.exit174.i1010 + %cmp.not6.i.i.i.i181.i1037 = icmp eq ptr %408, %409 + br i1 %cmp.not6.i.i.i.i181.i1037, label %invoke.cont.i187.i1055, label %for.body.preheader.i.i.i.i182.i1038 + +for.body.preheader.i.i.i.i182.i1038: ; preds = %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1036 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i183.i1039 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i184.i1040 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i185.i1041 + +for.body.i.i.i.i185.i1041: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1050, %for.body.preheader.i.i.i.i182.i1038 + %__first.addr.09.i.i.i.i.i1042 = phi ptr [ %incdec.ptr.i.i.i.i.i1052, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1050 ], [ %408, %for.body.preheader.i.i.i.i182.i1038 ] + %dec.i.i.i38.i.i.i.i.i1043 = phi i32 [ %dec.i.i.i.i.i.i.i.i1045, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1050 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i184.i1040, %for.body.preheader.i.i.i.i182.i1038 ] + %dec2.i.i.i57.i.i.i.i.i1044 = phi i32 [ %dec2.i.i.i4.i.i.i.i.i1051, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1050 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i183.i1039, %for.body.preheader.i.i.i.i182.i1038 ] + %dec.i.i.i.i.i.i.i.i1045 = add nsw i32 %dec.i.i.i38.i.i.i.i.i1043, -1 + %is_live_.i.i.i.i.i.i.i.i1046 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i.i1042, i64 0, i32 1 + %477 = load i8, ptr %is_live_.i.i.i.i.i.i.i.i1046, align 4 %478 = and i8 %477, 1 - %tobool.not.i.i.i.i.i.i.i.i1048 = icmp eq i8 %478, 0 - br i1 %tobool.not.i.i.i.i.i.i.i.i1048, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1051, label %if.then.i.i.i.i.i.i.i.i1049 + %tobool.not.i.i.i.i.i.i.i.i1047 = icmp eq i8 %478, 0 + br i1 %tobool.not.i.i.i.i.i.i.i.i1047, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1050, label %if.then.i.i.i.i.i.i.i.i1048 -if.then.i.i.i.i.i.i.i.i1049: ; preds = %for.body.i.i.i.i185.i1042 - %dec2.i.i.i.i.i.i.i.i1050 = add nsw i32 %dec2.i.i.i57.i.i.i.i.i1045, -1 - store i32 %dec2.i.i.i.i.i.i.i.i1050, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1051 +if.then.i.i.i.i.i.i.i.i1048: ; preds = %for.body.i.i.i.i185.i1041 + %dec2.i.i.i.i.i.i.i.i1049 = add nsw i32 %dec2.i.i.i57.i.i.i.i.i1044, -1 + store i32 %dec2.i.i.i.i.i.i.i.i1049, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1050 -_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1051: ; preds = %if.then.i.i.i.i.i.i.i.i1049, %for.body.i.i.i.i185.i1042 - %dec2.i.i.i4.i.i.i.i.i1052 = phi i32 [ %dec2.i.i.i57.i.i.i.i.i1045, %for.body.i.i.i.i185.i1042 ], [ %dec2.i.i.i.i.i.i.i.i1050, %if.then.i.i.i.i.i.i.i.i1049 ] - %incdec.ptr.i.i.i.i.i1053 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i.i1043, i64 1 - %cmp.not.i.i.i.i186.i1054 = icmp eq ptr %incdec.ptr.i.i.i.i.i1053, %409 - br i1 %cmp.not.i.i.i.i186.i1054, label %for.cond.for.end_crit_edge.i.i.i.i.i1055, label %for.body.i.i.i.i185.i1042, !llvm.loop !1390 +_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1050: ; preds = %if.then.i.i.i.i.i.i.i.i1048, %for.body.i.i.i.i185.i1041 + %dec2.i.i.i4.i.i.i.i.i1051 = phi i32 [ %dec2.i.i.i57.i.i.i.i.i1044, %for.body.i.i.i.i185.i1041 ], [ %dec2.i.i.i.i.i.i.i.i1049, %if.then.i.i.i.i.i.i.i.i1048 ] + %incdec.ptr.i.i.i.i.i1052 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i.i1042, i64 1 + %cmp.not.i.i.i.i186.i1053 = icmp eq ptr %incdec.ptr.i.i.i.i.i1052, %409 + br i1 %cmp.not.i.i.i.i186.i1053, label %for.cond.for.end_crit_edge.i.i.i.i.i1054, label %for.body.i.i.i.i185.i1041, !llvm.loop !1390 -for.cond.for.end_crit_edge.i.i.i.i.i1055: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1051 - store i32 %dec.i.i.i.i.i.i.i.i1046, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %invoke.cont.i187.i1056 +for.cond.for.end_crit_edge.i.i.i.i.i1054: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i.i1050 + store i32 %dec.i.i.i.i.i.i.i.i1045, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %invoke.cont.i187.i1055 -invoke.cont.i187.i1056: ; preds = %for.cond.for.end_crit_edge.i.i.i.i.i1055, %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1037 - %tobool.not.i.i.i188.i1057 = icmp eq ptr %408, null - br i1 %tobool.not.i.i.i188.i1057, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1059, label %if.then.i.i.i189.i1058 +invoke.cont.i187.i1055: ; preds = %for.cond.for.end_crit_edge.i.i.i.i.i1054, %_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev.exit.i1036 + %tobool.not.i.i.i188.i1056 = icmp eq ptr %408, null + br i1 %tobool.not.i.i.i188.i1056, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1058, label %if.then.i.i.i189.i1057 -if.then.i.i.i189.i1058: ; preds = %invoke.cont.i187.i1056 +if.then.i.i.i189.i1057: ; preds = %invoke.cont.i187.i1055 call void @_ZdlPv(ptr noundef nonnull %408) #32 - br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1059 - -_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1059: ; preds = %if.then.i.i.i189.i1058, %invoke.cont.i187.i1056 - br i1 %cmp.not.i.i.i49751.i905, label %invoke.cont.i211.i1077, label %for.body.preheader.i.i.i.i193.i1060 - -for.body.preheader.i.i.i.i193.i1060: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1059 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i1061 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i1062 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i196.i1063 - -for.body.i.i.i.i196.i1063: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1072, %for.body.preheader.i.i.i.i193.i1060 - %__first.addr.09.i.i.i.i197.i1064 = phi ptr [ %incdec.ptr.i.i.i.i207.i1074, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1072 ], [ %new_contents_in.sroa.0.2.lcssa719749.i906, %for.body.preheader.i.i.i.i193.i1060 ] - %dec.i.i.i38.i.i.i.i198.i1065 = phi i32 [ %dec.i.i.i.i.i.i.i200.i1067, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1072 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i1062, %for.body.preheader.i.i.i.i193.i1060 ] - %dec2.i.i.i57.i.i.i.i199.i1066 = phi i32 [ %dec2.i.i.i4.i.i.i.i206.i1073, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1072 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i1061, %for.body.preheader.i.i.i.i193.i1060 ] - %dec.i.i.i.i.i.i.i200.i1067 = add nsw i32 %dec.i.i.i38.i.i.i.i198.i1065, -1 - %is_live_.i.i.i.i.i.i.i201.i1068 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i197.i1064, i64 0, i32 1 - %479 = load i8, ptr %is_live_.i.i.i.i.i.i.i201.i1068, align 4 + br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1058 + +_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1058: ; preds = %if.then.i.i.i189.i1057, %invoke.cont.i187.i1055 + br i1 %cmp.not.i.i.i49748.i904, label %invoke.cont.i211.i1076, label %for.body.preheader.i.i.i.i193.i1059 + +for.body.preheader.i.i.i.i193.i1059: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1058 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i1060 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i1061 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i196.i1062 + +for.body.i.i.i.i196.i1062: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1071, %for.body.preheader.i.i.i.i193.i1059 + %__first.addr.09.i.i.i.i197.i1063 = phi ptr [ %incdec.ptr.i.i.i.i207.i1073, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1071 ], [ %new_contents_in.sroa.0.2.lcssa718746.i905, %for.body.preheader.i.i.i.i193.i1059 ] + %dec.i.i.i38.i.i.i.i198.i1064 = phi i32 [ %dec.i.i.i.i.i.i.i200.i1066, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1071 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i195.i1061, %for.body.preheader.i.i.i.i193.i1059 ] + %dec2.i.i.i57.i.i.i.i199.i1065 = phi i32 [ %dec2.i.i.i4.i.i.i.i206.i1072, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1071 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i194.i1060, %for.body.preheader.i.i.i.i193.i1059 ] + %dec.i.i.i.i.i.i.i200.i1066 = add nsw i32 %dec.i.i.i38.i.i.i.i198.i1064, -1 + %is_live_.i.i.i.i.i.i.i201.i1067 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i197.i1063, i64 0, i32 1 + %479 = load i8, ptr %is_live_.i.i.i.i.i.i.i201.i1067, align 4 %480 = and i8 %479, 1 - %tobool.not.i.i.i.i.i.i.i202.i1069 = icmp eq i8 %480, 0 - br i1 %tobool.not.i.i.i.i.i.i.i202.i1069, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1072, label %if.then.i.i.i.i.i.i.i203.i1070 + %tobool.not.i.i.i.i.i.i.i202.i1068 = icmp eq i8 %480, 0 + br i1 %tobool.not.i.i.i.i.i.i.i202.i1068, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1071, label %if.then.i.i.i.i.i.i.i203.i1069 -if.then.i.i.i.i.i.i.i203.i1070: ; preds = %for.body.i.i.i.i196.i1063 - %dec2.i.i.i.i.i.i.i204.i1071 = add nsw i32 %dec2.i.i.i57.i.i.i.i199.i1066, -1 - store i32 %dec2.i.i.i.i.i.i.i204.i1071, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1072 +if.then.i.i.i.i.i.i.i203.i1069: ; preds = %for.body.i.i.i.i196.i1062 + %dec2.i.i.i.i.i.i.i204.i1070 = add nsw i32 %dec2.i.i.i57.i.i.i.i199.i1065, -1 + store i32 %dec2.i.i.i.i.i.i.i204.i1070, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1071 -_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1072: ; preds = %if.then.i.i.i.i.i.i.i203.i1070, %for.body.i.i.i.i196.i1063 - %dec2.i.i.i4.i.i.i.i206.i1073 = phi i32 [ %dec2.i.i.i57.i.i.i.i199.i1066, %for.body.i.i.i.i196.i1063 ], [ %dec2.i.i.i.i.i.i.i204.i1071, %if.then.i.i.i.i.i.i.i203.i1070 ] - %incdec.ptr.i.i.i.i207.i1074 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i197.i1064, i64 1 - %cmp.not.i.i.i.i208.i1075 = icmp eq ptr %incdec.ptr.i.i.i.i207.i1074, %new_contents_in.sroa.8.2.lcssa729747.i907 - br i1 %cmp.not.i.i.i.i208.i1075, label %for.cond.for.end_crit_edge.i.i.i.i209.i1076, label %for.body.i.i.i.i196.i1063, !llvm.loop !1390 +_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1071: ; preds = %if.then.i.i.i.i.i.i.i203.i1069, %for.body.i.i.i.i196.i1062 + %dec2.i.i.i4.i.i.i.i206.i1072 = phi i32 [ %dec2.i.i.i57.i.i.i.i199.i1065, %for.body.i.i.i.i196.i1062 ], [ %dec2.i.i.i.i.i.i.i204.i1070, %if.then.i.i.i.i.i.i.i203.i1069 ] + %incdec.ptr.i.i.i.i207.i1073 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i197.i1063, i64 1 + %cmp.not.i.i.i.i208.i1074 = icmp eq ptr %incdec.ptr.i.i.i.i207.i1073, %new_contents_in.sroa.8.2.lcssa728744.i906 + br i1 %cmp.not.i.i.i.i208.i1074, label %for.cond.for.end_crit_edge.i.i.i.i209.i1075, label %for.body.i.i.i.i196.i1062, !llvm.loop !1390 -for.cond.for.end_crit_edge.i.i.i.i209.i1076: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1072 - store i32 %dec.i.i.i.i.i.i.i200.i1067, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %invoke.cont.i211.i1077 +for.cond.for.end_crit_edge.i.i.i.i209.i1075: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i205.i1071 + store i32 %dec.i.i.i.i.i.i.i200.i1066, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %invoke.cont.i211.i1076 -invoke.cont.i211.i1077: ; preds = %for.cond.for.end_crit_edge.i.i.i.i209.i1076, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1059 - %tobool.not.i.i.i212.i1078 = icmp eq ptr %new_contents_in.sroa.0.2.lcssa719749.i906, null - br i1 %tobool.not.i.i.i212.i1078, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1080, label %if.then.i.i.i213.i1079 +invoke.cont.i211.i1076: ; preds = %for.cond.for.end_crit_edge.i.i.i.i209.i1075, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit.i1058 + %tobool.not.i.i.i212.i1077 = icmp eq ptr %new_contents_in.sroa.0.2.lcssa718746.i905, null + br i1 %tobool.not.i.i.i212.i1077, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1079, label %if.then.i.i.i213.i1078 -if.then.i.i.i213.i1079: ; preds = %invoke.cont.i211.i1077 - call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2.lcssa719749.i906) #32 - br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1080 +if.then.i.i.i213.i1078: ; preds = %invoke.cont.i211.i1076 + call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2.lcssa718746.i905) #32 + br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1079 -_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1080: ; preds = %if.then.i.i.i213.i1079, %invoke.cont.i211.i1077 +_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1079: ; preds = %if.then.i.i.i213.i1078, %invoke.cont.i211.i1076 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1459.i703) #29 - %inc147.i1081 = add nuw nsw i64 %storemerge3547.i775, 1 - %exitcond704.not.i1082 = icmp eq i64 %inc147.i1081, 6 - br i1 %exitcond704.not.i1082, label %for.end148.i1083, label %for.body6.i774, !llvm.loop !3473 + %inc147.i1080 = add nuw nsw i64 %storemerge3547.i775, 1 + %exitcond704.not.i1081 = icmp eq i64 %inc147.i1080, 6 + br i1 %exitcond704.not.i1081, label %for.end148.i1082, label %for.body6.i774, !llvm.loop !3473 -ehcleanup141.i984: ; preds = %_ZN7testing7MessageD2Ev.exit170.i994, %lpad126.i983 - %.pn12.pn.pn.i985 = phi { ptr, i32 } [ %.pn12.pn.i989, %_ZN7testing7MessageD2Ev.exit170.i994 ], [ %467, %lpad126.i983 ] +ehcleanup141.i983: ; preds = %_ZN7testing7MessageD2Ev.exit170.i993, %lpad126.i982 + %.pn12.pn.pn.i984 = phi { ptr, i32 } [ %.pn12.pn.i988, %_ZN7testing7MessageD2Ev.exit170.i993 ], [ %467, %lpad126.i982 ] call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %gtest_ar_.i721) #29 - br label %ehcleanup142.i937 + br label %ehcleanup142.i936 -ehcleanup142.i937: ; preds = %ehcleanup141.i984, %ehcleanup110.i1128, %ehcleanup85.i1155, %ehcleanup62.i1182, %lpad44.i936 - %.pn12.pn.pn.pn.i938 = phi { ptr, i32 } [ %.pn12.pn.pn.i985, %ehcleanup141.i984 ], [ %420, %lpad44.i936 ], [ %.pn9.pn.i1129, %ehcleanup110.i1128 ], [ %.pn6.pn.i1156, %ehcleanup85.i1155 ], [ %.pn.pn.i1183, %ehcleanup62.i1182 ] +ehcleanup142.i936: ; preds = %ehcleanup141.i983, %ehcleanup110.i1127, %ehcleanup85.i1154, %ehcleanup62.i1181, %lpad44.i935 + %.pn12.pn.pn.pn.i937 = phi { ptr, i32 } [ %.pn12.pn.pn.i984, %ehcleanup141.i983 ], [ %420, %lpad44.i935 ], [ %.pn9.pn.i1128, %ehcleanup110.i1127 ], [ %.pn6.pn.i1155, %ehcleanup85.i1154 ], [ %.pn.pn.i1182, %ehcleanup62.i1181 ] call void @_ZN4absl13InlinedVectorINS_13test_internal23CopyableMovableInstanceELm3ESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %v.i705) #29 - br label %ehcleanup143.i939 + br label %ehcleanup143.i938 -ehcleanup143.i939: ; preds = %ehcleanup142.i937, %lpad.i69.i1212 - %.pn12.pn.pn.pn.pn.i940 = phi { ptr, i32 } [ %.pn12.pn.pn.pn.i938, %ehcleanup142.i937 ], [ %lpad.phi379.i1213, %lpad.i69.i1212 ] +ehcleanup143.i938: ; preds = %ehcleanup142.i936, %lpad.i69.i1211 + %.pn12.pn.pn.pn.pn.i939 = phi { ptr, i32 } [ %.pn12.pn.pn.pn.i937, %ehcleanup142.i936 ], [ %lpad.phi379.i1212, %lpad.i69.i1211 ] call void @_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %new_contents.i704) #29 - br label %ehcleanup144.i855 - -ehcleanup144.i855: ; preds = %ehcleanup143.i939, %lpad.i50.loopexit.split-lp.i1225, %lpad.i50.loopexit.i853, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1247 - %new_contents_in.sroa.0.2421.i856 = phi ptr [ %new_contents_in.sroa.0.2538.i825, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1247 ], [ %new_contents_in.sroa.0.2.lcssa719749.i906, %ehcleanup143.i939 ], [ %new_contents_in.sroa.0.3.i837, %lpad.i50.loopexit.i853 ], [ %new_contents_in.sroa.0.3.i837, %lpad.i50.loopexit.split-lp.i1225 ] - %new_contents_in.sroa.8.2385.i857 = phi ptr [ %new_contents_in.sroa.16.2540.i823, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1247 ], [ %new_contents_in.sroa.8.2.lcssa729747.i907, %ehcleanup143.i939 ], [ %new_contents_in.sroa.8.3.i838, %lpad.i50.loopexit.i853 ], [ %new_contents_in.sroa.8.3.i838, %lpad.i50.loopexit.split-lp.i1225 ] - %.pn18.i858 = phi { ptr, i32 } [ %lpad.phi.i1250, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1247 ], [ %.pn12.pn.pn.pn.pn.i940, %ehcleanup143.i939 ], [ %lpad.loopexit374.i854, %lpad.i50.loopexit.i853 ], [ %lpad.loopexit.split-lp375.i1226, %lpad.i50.loopexit.split-lp.i1225 ] - %cmp.not6.i.i.i.i217.i859 = icmp eq ptr %new_contents_in.sroa.0.2421.i856, %new_contents_in.sroa.8.2385.i857 - br i1 %cmp.not6.i.i.i.i217.i859, label %invoke.cont.i236.i877, label %for.body.preheader.i.i.i.i218.i860 - -for.body.preheader.i.i.i.i218.i860: ; preds = %ehcleanup144.i855 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i219.i861 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i220.i862 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i221.i863 - -for.body.i.i.i.i221.i863: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i872, %for.body.preheader.i.i.i.i218.i860 - %__first.addr.09.i.i.i.i222.i864 = phi ptr [ %incdec.ptr.i.i.i.i232.i874, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i872 ], [ %new_contents_in.sroa.0.2421.i856, %for.body.preheader.i.i.i.i218.i860 ] - %dec.i.i.i38.i.i.i.i223.i865 = phi i32 [ %dec.i.i.i.i.i.i.i225.i867, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i872 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i220.i862, %for.body.preheader.i.i.i.i218.i860 ] - %dec2.i.i.i57.i.i.i.i224.i866 = phi i32 [ %dec2.i.i.i4.i.i.i.i231.i873, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i872 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i219.i861, %for.body.preheader.i.i.i.i218.i860 ] - %dec.i.i.i.i.i.i.i225.i867 = add nsw i32 %dec.i.i.i38.i.i.i.i223.i865, -1 - %is_live_.i.i.i.i.i.i.i226.i868 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i222.i864, i64 0, i32 1 - %481 = load i8, ptr %is_live_.i.i.i.i.i.i.i226.i868, align 4 + br label %ehcleanup144.i854 + +ehcleanup144.i854: ; preds = %ehcleanup143.i938, %lpad.i50.loopexit.split-lp.i1224, %lpad.i50.loopexit.i852, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1246 + %new_contents_in.sroa.0.2421.i855 = phi ptr [ %new_contents_in.sroa.0.2538.i825, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1246 ], [ %new_contents_in.sroa.0.2.lcssa718746.i905, %ehcleanup143.i938 ], [ %new_contents_in.sroa.0.3.i837, %lpad.i50.loopexit.i852 ], [ %new_contents_in.sroa.0.3.i837, %lpad.i50.loopexit.split-lp.i1224 ] + %new_contents_in.sroa.8.2385.i856 = phi ptr [ %new_contents_in.sroa.16.2540.i823, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1246 ], [ %new_contents_in.sroa.8.2.lcssa728744.i906, %ehcleanup143.i938 ], [ %new_contents_in.sroa.8.3.i838, %lpad.i50.loopexit.i852 ], [ %new_contents_in.sroa.8.3.i838, %lpad.i50.loopexit.split-lp.i1224 ] + %.pn18.i857 = phi { ptr, i32 } [ %lpad.phi.i1249, %_ZN4absl13test_internal23CopyableMovableInstanceD2Ev.exit48.i1246 ], [ %.pn12.pn.pn.pn.pn.i939, %ehcleanup143.i938 ], [ %lpad.loopexit374.i853, %lpad.i50.loopexit.i852 ], [ %lpad.loopexit.split-lp375.i1225, %lpad.i50.loopexit.split-lp.i1224 ] + %cmp.not6.i.i.i.i217.i858 = icmp eq ptr %new_contents_in.sroa.0.2421.i855, %new_contents_in.sroa.8.2385.i856 + br i1 %cmp.not6.i.i.i.i217.i858, label %invoke.cont.i236.i876, label %for.body.preheader.i.i.i.i218.i859 + +for.body.preheader.i.i.i.i218.i859: ; preds = %ehcleanup144.i854 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i219.i860 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i220.i861 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i221.i862 + +for.body.i.i.i.i221.i862: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i871, %for.body.preheader.i.i.i.i218.i859 + %__first.addr.09.i.i.i.i222.i863 = phi ptr [ %incdec.ptr.i.i.i.i232.i873, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i871 ], [ %new_contents_in.sroa.0.2421.i855, %for.body.preheader.i.i.i.i218.i859 ] + %dec.i.i.i38.i.i.i.i223.i864 = phi i32 [ %dec.i.i.i.i.i.i.i225.i866, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i871 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i220.i861, %for.body.preheader.i.i.i.i218.i859 ] + %dec2.i.i.i57.i.i.i.i224.i865 = phi i32 [ %dec2.i.i.i4.i.i.i.i231.i872, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i871 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i219.i860, %for.body.preheader.i.i.i.i218.i859 ] + %dec.i.i.i.i.i.i.i225.i866 = add nsw i32 %dec.i.i.i38.i.i.i.i223.i864, -1 + %is_live_.i.i.i.i.i.i.i226.i867 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i222.i863, i64 0, i32 1 + %481 = load i8, ptr %is_live_.i.i.i.i.i.i.i226.i867, align 4 %482 = and i8 %481, 1 - %tobool.not.i.i.i.i.i.i.i227.i869 = icmp eq i8 %482, 0 - br i1 %tobool.not.i.i.i.i.i.i.i227.i869, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i872, label %if.then.i.i.i.i.i.i.i228.i870 + %tobool.not.i.i.i.i.i.i.i227.i868 = icmp eq i8 %482, 0 + br i1 %tobool.not.i.i.i.i.i.i.i227.i868, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i871, label %if.then.i.i.i.i.i.i.i228.i869 -if.then.i.i.i.i.i.i.i228.i870: ; preds = %for.body.i.i.i.i221.i863 - %dec2.i.i.i.i.i.i.i229.i871 = add nsw i32 %dec2.i.i.i57.i.i.i.i224.i866, -1 - store i32 %dec2.i.i.i.i.i.i.i229.i871, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i872 +if.then.i.i.i.i.i.i.i228.i869: ; preds = %for.body.i.i.i.i221.i862 + %dec2.i.i.i.i.i.i.i229.i870 = add nsw i32 %dec2.i.i.i57.i.i.i.i224.i865, -1 + store i32 %dec2.i.i.i.i.i.i.i229.i870, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i871 -_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i872: ; preds = %if.then.i.i.i.i.i.i.i228.i870, %for.body.i.i.i.i221.i863 - %dec2.i.i.i4.i.i.i.i231.i873 = phi i32 [ %dec2.i.i.i57.i.i.i.i224.i866, %for.body.i.i.i.i221.i863 ], [ %dec2.i.i.i.i.i.i.i229.i871, %if.then.i.i.i.i.i.i.i228.i870 ] - %incdec.ptr.i.i.i.i232.i874 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i222.i864, i64 1 - %cmp.not.i.i.i.i233.i875 = icmp eq ptr %incdec.ptr.i.i.i.i232.i874, %new_contents_in.sroa.8.2385.i857 - br i1 %cmp.not.i.i.i.i233.i875, label %for.cond.for.end_crit_edge.i.i.i.i234.i876, label %for.body.i.i.i.i221.i863, !llvm.loop !1390 +_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i871: ; preds = %if.then.i.i.i.i.i.i.i228.i869, %for.body.i.i.i.i221.i862 + %dec2.i.i.i4.i.i.i.i231.i872 = phi i32 [ %dec2.i.i.i57.i.i.i.i224.i865, %for.body.i.i.i.i221.i862 ], [ %dec2.i.i.i.i.i.i.i229.i870, %if.then.i.i.i.i.i.i.i228.i869 ] + %incdec.ptr.i.i.i.i232.i873 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i222.i863, i64 1 + %cmp.not.i.i.i.i233.i874 = icmp eq ptr %incdec.ptr.i.i.i.i232.i873, %new_contents_in.sroa.8.2385.i856 + br i1 %cmp.not.i.i.i.i233.i874, label %for.cond.for.end_crit_edge.i.i.i.i234.i875, label %for.body.i.i.i.i221.i862, !llvm.loop !1390 -for.cond.for.end_crit_edge.i.i.i.i234.i876: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i872 - store i32 %dec.i.i.i.i.i.i.i225.i867, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %invoke.cont.i236.i877 +for.cond.for.end_crit_edge.i.i.i.i234.i875: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i230.i871 + store i32 %dec.i.i.i.i.i.i.i225.i866, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %invoke.cont.i236.i876 -invoke.cont.i236.i877: ; preds = %for.cond.for.end_crit_edge.i.i.i.i234.i876, %ehcleanup144.i855 - %tobool.not.i.i.i237.i878 = icmp eq ptr %new_contents_in.sroa.0.2421.i856, null - br i1 %tobool.not.i.i.i237.i878, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i880, label %if.then.i.i.i238.i879 +invoke.cont.i236.i876: ; preds = %for.cond.for.end_crit_edge.i.i.i.i234.i875, %ehcleanup144.i854 + %tobool.not.i.i.i237.i877 = icmp eq ptr %new_contents_in.sroa.0.2421.i855, null + br i1 %tobool.not.i.i.i237.i877, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i879, label %if.then.i.i.i238.i878 -if.then.i.i.i238.i879: ; preds = %invoke.cont.i236.i877 - call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2421.i856) #32 - br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i880 +if.then.i.i.i238.i878: ; preds = %invoke.cont.i236.i876 + call void @_ZdlPv(ptr noundef nonnull %new_contents_in.sroa.0.2421.i855) #32 + br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i879 -_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i880: ; preds = %if.then.i.i.i238.i879, %invoke.cont.i236.i877 +_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i879: ; preds = %if.then.i.i.i238.i878, %invoke.cont.i236.i876 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1459.i703) #29 br label %ehcleanup149.i777 -for.end148.i1083: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1080 - br i1 %cmp8.not.i.i.i.i769, label %invoke.cont.i261.i1101, label %for.body.preheader.i.i.i.i243.i1084 - -for.body.preheader.i.i.i.i243.i1084: ; preds = %for.end148.i1083 - %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i244.i1085 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i245.i1086 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %for.body.i.i.i.i246.i1087 - -for.body.i.i.i.i246.i1087: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1096, %for.body.preheader.i.i.i.i243.i1084 - %__first.addr.09.i.i.i.i247.i1088 = phi ptr [ %incdec.ptr.i.i.i.i257.i1098, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1096 ], [ %original_contents.sroa.0.1.i761, %for.body.preheader.i.i.i.i243.i1084 ] - %dec.i.i.i38.i.i.i.i248.i1089 = phi i32 [ %dec.i.i.i.i.i.i.i250.i1091, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1096 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i245.i1086, %for.body.preheader.i.i.i.i243.i1084 ] - %dec2.i.i.i57.i.i.i.i249.i1090 = phi i32 [ %dec2.i.i.i4.i.i.i.i256.i1097, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1096 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i244.i1085, %for.body.preheader.i.i.i.i243.i1084 ] - %dec.i.i.i.i.i.i.i250.i1091 = add nsw i32 %dec.i.i.i38.i.i.i.i248.i1089, -1 - %is_live_.i.i.i.i.i.i.i251.i1092 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i247.i1088, i64 0, i32 1 - %483 = load i8, ptr %is_live_.i.i.i.i.i.i.i251.i1092, align 4 +for.end148.i1082: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit215.i1079 + br i1 %cmp8.not.i.i.i.i769, label %invoke.cont.i261.i1100, label %for.body.preheader.i.i.i.i243.i1083 + +for.body.preheader.i.i.i.i243.i1083: ; preds = %for.end148.i1082 + %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i244.i1084 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i245.i1085 = load i32, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %for.body.i.i.i.i246.i1086 + +for.body.i.i.i.i246.i1086: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1095, %for.body.preheader.i.i.i.i243.i1083 + %__first.addr.09.i.i.i.i247.i1087 = phi ptr [ %incdec.ptr.i.i.i.i257.i1097, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1095 ], [ %original_contents.sroa.0.1.i761, %for.body.preheader.i.i.i.i243.i1083 ] + %dec.i.i.i38.i.i.i.i248.i1088 = phi i32 [ %dec.i.i.i.i.i.i.i250.i1090, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1095 ], [ %_ZN4absl13test_internal19BaseCountedInstance14num_instances_E.promoted.i.i.i.i245.i1085, %for.body.preheader.i.i.i.i243.i1083 ] + %dec2.i.i.i57.i.i.i.i249.i1089 = phi i32 [ %dec2.i.i.i4.i.i.i.i256.i1096, %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1095 ], [ %_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E.promoted.i.i.i.i244.i1084, %for.body.preheader.i.i.i.i243.i1083 ] + %dec.i.i.i.i.i.i.i250.i1090 = add nsw i32 %dec.i.i.i38.i.i.i.i248.i1088, -1 + %is_live_.i.i.i.i.i.i.i251.i1091 = getelementptr inbounds %"class.absl::test_internal::BaseCountedInstance", ptr %__first.addr.09.i.i.i.i247.i1087, i64 0, i32 1 + %483 = load i8, ptr %is_live_.i.i.i.i.i.i.i251.i1091, align 4 %484 = and i8 %483, 1 - %tobool.not.i.i.i.i.i.i.i252.i1093 = icmp eq i8 %484, 0 - br i1 %tobool.not.i.i.i.i.i.i.i252.i1093, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1096, label %if.then.i.i.i.i.i.i.i253.i1094 + %tobool.not.i.i.i.i.i.i.i252.i1092 = icmp eq i8 %484, 0 + br i1 %tobool.not.i.i.i.i.i.i.i252.i1092, label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1095, label %if.then.i.i.i.i.i.i.i253.i1093 -if.then.i.i.i.i.i.i.i253.i1094: ; preds = %for.body.i.i.i.i246.i1087 - %dec2.i.i.i.i.i.i.i254.i1095 = add nsw i32 %dec2.i.i.i57.i.i.i.i249.i1090, -1 - store i32 %dec2.i.i.i.i.i.i.i254.i1095, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 - br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1096 +if.then.i.i.i.i.i.i.i253.i1093: ; preds = %for.body.i.i.i.i246.i1086 + %dec2.i.i.i.i.i.i.i254.i1094 = add nsw i32 %dec2.i.i.i57.i.i.i.i249.i1089, -1 + store i32 %dec2.i.i.i.i.i.i.i254.i1094, ptr @_ZN4absl13test_internal19BaseCountedInstance19num_live_instances_E, align 4 + br label %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1095 -_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1096: ; preds = %if.then.i.i.i.i.i.i.i253.i1094, %for.body.i.i.i.i246.i1087 - %dec2.i.i.i4.i.i.i.i256.i1097 = phi i32 [ %dec2.i.i.i57.i.i.i.i249.i1090, %for.body.i.i.i.i246.i1087 ], [ %dec2.i.i.i.i.i.i.i254.i1095, %if.then.i.i.i.i.i.i.i253.i1094 ] - %incdec.ptr.i.i.i.i257.i1098 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i247.i1088, i64 1 - %cmp.not.i.i.i.i258.i1099 = icmp eq ptr %incdec.ptr.i.i.i.i257.i1098, %__cur.0.lcssa.i.i.i.i.i.i.i762 - br i1 %cmp.not.i.i.i.i258.i1099, label %for.cond.for.end_crit_edge.i.i.i.i259.i1100, label %for.body.i.i.i.i246.i1087, !llvm.loop !1390 +_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1095: ; preds = %if.then.i.i.i.i.i.i.i253.i1093, %for.body.i.i.i.i246.i1086 + %dec2.i.i.i4.i.i.i.i256.i1096 = phi i32 [ %dec2.i.i.i57.i.i.i.i249.i1089, %for.body.i.i.i.i246.i1086 ], [ %dec2.i.i.i.i.i.i.i254.i1094, %if.then.i.i.i.i.i.i.i253.i1093 ] + %incdec.ptr.i.i.i.i257.i1097 = getelementptr inbounds %"class.absl::test_internal::CopyableMovableInstance", ptr %__first.addr.09.i.i.i.i247.i1087, i64 1 + %cmp.not.i.i.i.i258.i1098 = icmp eq ptr %incdec.ptr.i.i.i.i257.i1097, %__cur.0.lcssa.i.i.i.i.i.i.i762 + br i1 %cmp.not.i.i.i.i258.i1098, label %for.cond.for.end_crit_edge.i.i.i.i259.i1099, label %for.body.i.i.i.i246.i1086, !llvm.loop !1390 -for.cond.for.end_crit_edge.i.i.i.i259.i1100: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1096 - store i32 %dec.i.i.i.i.i.i.i250.i1091, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 - br label %invoke.cont.i261.i1101 +for.cond.for.end_crit_edge.i.i.i.i259.i1099: ; preds = %_ZSt8_DestroyIN4absl13test_internal23CopyableMovableInstanceEEvPT_.exit.i.i.i.i255.i1095 + store i32 %dec.i.i.i.i.i.i.i250.i1090, ptr @_ZN4absl13test_internal19BaseCountedInstance14num_instances_E, align 4 + br label %invoke.cont.i261.i1100 -invoke.cont.i261.i1101: ; preds = %for.cond.for.end_crit_edge.i.i.i.i259.i1100, %for.end148.i1083 - %tobool.not.i.i.i262.i1102 = icmp eq ptr %original_contents.sroa.0.1.i761, null - br i1 %tobool.not.i.i.i262.i1102, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1104, label %if.then.i.i.i263.i1103 +invoke.cont.i261.i1100: ; preds = %for.cond.for.end_crit_edge.i.i.i.i259.i1099, %for.end148.i1082 + %tobool.not.i.i.i262.i1101 = icmp eq ptr %original_contents.sroa.0.1.i761, null + br i1 %tobool.not.i.i.i262.i1101, label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1103, label %if.then.i.i.i263.i1102 -if.then.i.i.i263.i1103: ; preds = %invoke.cont.i261.i1101 +if.then.i.i.i263.i1102: ; preds = %invoke.cont.i261.i1100 call void @_ZdlPv(ptr noundef nonnull %original_contents.sroa.0.1.i761) #32 - br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1104 + br label %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1103 -_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1104: ; preds = %if.then.i.i.i263.i1103, %invoke.cont.i261.i1101 +_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1103: ; preds = %if.then.i.i.i263.i1102, %invoke.cont.i261.i1100 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1454.i702) #29 %485 = load i64, ptr %original_size.i701, align 8 - %inc152.i1105 = add i64 %485, 1 - store i64 %inc152.i1105, ptr %original_size.i701, align 8 - %cmp.i1106 = icmp ult i64 %inc152.i1105, 6 - br i1 %cmp.i1106, label %for.body.i733, label %invoke.cont10, !llvm.loop !3474 + %inc152.i1104 = add i64 %485, 1 + store i64 %inc152.i1104, ptr %original_size.i701, align 8 + %cmp.i1105 = icmp ult i64 %inc152.i1104, 6 + br i1 %cmp.i1105, label %for.body.i733, label %invoke.cont10, !llvm.loop !3474 -ehcleanup149.i777: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i880, %lpad7.i776, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i.i806, %ehcleanup.i.i803 - %.pn18.pn.i778 = phi { ptr, i32 } [ %.pn18.i858, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i880 ], [ %402, %lpad7.i776 ], [ %.pn.i.i804, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i.i806 ], [ %.pn.i.i804, %ehcleanup.i.i803 ] +ehcleanup149.i777: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i879, %lpad7.i776, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i.i806, %ehcleanup.i.i803 + %.pn18.pn.i778 = phi { ptr, i32 } [ %.pn18.i857, %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit240.i879 ], [ %402, %lpad7.i776 ], [ %.pn.i.i804, %_ZNKSt14default_deleteINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEEEclEPS5_.exit.i.i4.i.i806 ], [ %.pn.i.i804, %ehcleanup.i.i803 ] br i1 %cmp8.not.i.i.i.i769, label %invoke.cont.i286.i796, label %for.body.preheader.i.i.i.i268.i779 for.body.preheader.i.i.i.i268.i779: ; preds = %ehcleanup149.i777 @@ -198367,7 +198379,7 @@ ehcleanup150.i748: ; preds = %if.then.i.i.i288.i7 call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1454.i702) #29 br label %lpad9.body -invoke.cont10: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1104 +invoke.cont10: ; preds = %_ZNSt6vectorIN4absl13test_internal23CopyableMovableInstanceESaIS2_EED2Ev.exit265.i1103 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %original_size.i701) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_1454.i702) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %gtest_trace_1459.i703) @@ -198398,23 +198410,23 @@ invoke.cont10: ; preds = %_ZNSt6vectorIN4absl call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1492) #29 ret void -lpad.loopexit1320: ; preds = %for.body.i - %lpad.loopexit1322 = landingpad { ptr, i32 } +lpad.loopexit1319: ; preds = %for.body.i + %lpad.loopexit1321 = landingpad { ptr, i32 } cleanup br label %ehcleanup12 -lpad.loopexit.split-lp1321: ; preds = %invoke.cont - %lpad.loopexit.split-lp1323 = landingpad { ptr, i32 } +lpad.loopexit.split-lp1320: ; preds = %invoke.cont + %lpad.loopexit.split-lp1322 = landingpad { ptr, i32 } cleanup br label %ehcleanup12 lpad3.loopexit: ; preds = %for.body.i35 - %lpad.loopexit1317 = landingpad { ptr, i32 } + %lpad.loopexit1316 = landingpad { ptr, i32 } cleanup br label %ehcleanup11 lpad3.loopexit.split-lp: ; preds = %invoke.cont4 - %lpad.loopexit.split-lp1318 = landingpad { ptr, i32 } + %lpad.loopexit.split-lp1317 = landingpad { ptr, i32 } cleanup br label %ehcleanup11 @@ -198434,22 +198446,22 @@ lpad9: ; preds = %for.body.i733 br label %lpad9.body lpad9.body: ; preds = %ehcleanup150.i748, %lpad9 - %eh.lpad-body1316 = phi { ptr, i32 } [ %488, %lpad9 ], [ %.pn18.pn.pn.i749, %ehcleanup150.i748 ] + %eh.lpad-body1315 = phi { ptr, i32 } [ %488, %lpad9 ], [ %.pn18.pn.pn.i749, %ehcleanup150.i748 ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1498) #29 br label %ehcleanup ehcleanup: ; preds = %lpad6.loopexit, %lpad6.loopexit.split-lp, %ehcleanup150.i411, %lpad9.body - %.pn = phi { ptr, i32 } [ %eh.lpad-body1316, %lpad9.body ], [ %.pn18.pn.pn.i412, %ehcleanup150.i411 ], [ %lpad.loopexit, %lpad6.loopexit ], [ %lpad.loopexit.split-lp, %lpad6.loopexit.split-lp ] + %.pn = phi { ptr, i32 } [ %eh.lpad-body1315, %lpad9.body ], [ %.pn18.pn.pn.i412, %ehcleanup150.i411 ], [ %lpad.loopexit, %lpad6.loopexit ], [ %lpad.loopexit.split-lp, %lpad6.loopexit.split-lp ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1496) #29 br label %ehcleanup11 ehcleanup11: ; preds = %lpad3.loopexit, %lpad3.loopexit.split-lp, %ehcleanup150.i48, %ehcleanup - %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %.pn18.pn.pn.i49, %ehcleanup150.i48 ], [ %lpad.loopexit1317, %lpad3.loopexit ], [ %lpad.loopexit.split-lp1318, %lpad3.loopexit.split-lp ] + %.pn.pn = phi { ptr, i32 } [ %.pn, %ehcleanup ], [ %.pn18.pn.pn.i49, %ehcleanup150.i48 ], [ %lpad.loopexit1316, %lpad3.loopexit ], [ %lpad.loopexit.split-lp1317, %lpad3.loopexit.split-lp ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1494) #29 br label %ehcleanup12 -ehcleanup12: ; preds = %lpad.loopexit1320, %lpad.loopexit.split-lp1321, %ehcleanup150.i, %ehcleanup11 - %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup11 ], [ %.pn18.pn.pn.i, %ehcleanup150.i ], [ %lpad.loopexit1322, %lpad.loopexit1320 ], [ %lpad.loopexit.split-lp1323, %lpad.loopexit.split-lp1321 ] +ehcleanup12: ; preds = %lpad.loopexit1319, %lpad.loopexit.split-lp1320, %ehcleanup150.i, %ehcleanup11 + %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %ehcleanup11 ], [ %.pn18.pn.pn.i, %ehcleanup150.i ], [ %lpad.loopexit1321, %lpad.loopexit1319 ], [ %lpad.loopexit.split-lp1322, %lpad.loopexit.split-lp1320 ] call void @_ZN7testing11ScopedTraceD1Ev(ptr noundef nonnull align 1 dereferenceable(1) %gtest_trace_1492) #29 resume { ptr, i32 } %.pn.pn.pn } @@ -201318,7 +201330,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.399, ptr %call5.i.i.i.i2.i, align 8 @@ -203279,7 +203291,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.399, ptr %call5.i.i.i.i2.i, align 8 @@ -210430,7 +210442,7 @@ attributes #18 = { mustprogress noreturn nounwind uwtable "frame-pointer"="all" attributes #19 = { mustprogress nofree nounwind willreturn memory(read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #20 = { mustprogress nofree nounwind willreturn memory(argmem: read) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #21 = { mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #22 = { mustprogress nofree nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #22 = { mustprogress nofree norecurse nosync nounwind memory(readwrite, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #23 = { uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #24 = { nofree nounwind willreturn memory(argmem: read) } attributes #25 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } @@ -212058,14 +212070,14 @@ attributes #34 = { nounwind willreturn memory(read) } !1609 = distinct !{!1609, !"_ZN4absl23inlined_vector_internal7StorageIiLm3ESaIiEE15MakeStorageViewEv"} !1610 = distinct !{!1610, !9} !1611 = distinct !{!1611, !9} -!1612 = !{!1613, !1615} -!1613 = distinct !{!1613, !1614, !"_ZN7testing16ElementsAreArrayIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEENS_8internal23ElementsAreArrayMatcherINSt15iterator_traitsIT_E10value_typeEEESC_SC_: %agg.result"} -!1614 = distinct !{!1614, !"_ZN7testing16ElementsAreArrayIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEENS_8internal23ElementsAreArrayMatcherINSt15iterator_traitsIT_E10value_typeEEESC_SC_"} -!1615 = distinct !{!1615, !1616, !"_ZN7testing16ElementsAreArrayISt6vectorIiSaIiEEEEDTcl16ElementsAreArraycldtfp_5beginEcldtfp_3endEEERKT_: %agg.result"} -!1616 = distinct !{!1616, !"_ZN7testing16ElementsAreArrayISt6vectorIiSaIiEEEEDTcl16ElementsAreArraycldtfp_5beginEcldtfp_3endEEERKT_"} -!1617 = !{!1618} -!1618 = distinct !{!1618, !1619, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_: %agg.result"} -!1619 = distinct !{!1619, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_"} +!1612 = !{!1613} +!1613 = distinct !{!1613, !1614, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_: %agg.result"} +!1614 = distinct !{!1614, !"_ZN7testing8internal33MakePredicateFormatterFromMatcherINS0_23ElementsAreArrayMatcherIiEEEENS0_29PredicateFormatterFromMatcherIT_EES5_"} +!1615 = !{!1616, !1618} +!1616 = distinct !{!1616, !1617, !"_ZN7testing16ElementsAreArrayIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEENS_8internal23ElementsAreArrayMatcherINSt15iterator_traitsIT_E10value_typeEEESC_SC_: %agg.result"} +!1617 = distinct !{!1617, !"_ZN7testing16ElementsAreArrayIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEENS_8internal23ElementsAreArrayMatcherINSt15iterator_traitsIT_E10value_typeEEESC_SC_"} +!1618 = distinct !{!1618, !1619, !"_ZN7testing16ElementsAreArrayISt6vectorIiSaIiEEEEDTcl16ElementsAreArraycldtfp_5beginEcldtfp_3endEEERKT_: %agg.result"} +!1619 = distinct !{!1619, !"_ZN7testing16ElementsAreArrayISt6vectorIiSaIiEEEEDTcl16ElementsAreArraycldtfp_5beginEcldtfp_3endEEERKT_"} !1620 = distinct !{!1620, !9} !1621 = distinct !{!1621, !9} !1622 = !{!1623} diff --git a/bench/abseil-cpp/optimized/int128_stream_test.cc.ll b/bench/abseil-cpp/optimized/int128_stream_test.cc.ll index f6956c65285..bc4266c4147 100644 --- a/bench/abseil-cpp/optimized/int128_stream_test.cc.ll +++ b/bench/abseil-cpp/optimized/int128_stream_test.cc.ll @@ -1132,11 +1132,11 @@ entry: switch i32 %and.i, label %sw.epilog [ i32 2, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i i32 64, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i28 - i32 8, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i65 + i32 8, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i66 ] -lpad: ; preds = %if.then.i.i.i.i190.invoke, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i291, %if.then.i.i.i.i304, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i253, %if.then.i.i.i.i266, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i215, %if.then.i.i.i.i228, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i177, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i140, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i103, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i65, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i28, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i, %if.end38 - %flagstr.sroa.0.0 = phi ptr [ %flagstr.sroa.0.14, %if.end38 ], [ %flagstr.sroa.0.12, %if.then.i.i.i.i304 ], [ %flagstr.sroa.0.12, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i291 ], [ %flagstr.sroa.0.10, %if.then.i.i.i.i266 ], [ %flagstr.sroa.0.10, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i253 ], [ %flagstr.sroa.0.8, %if.then.i.i.i.i228 ], [ %flagstr.sroa.0.8, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i215 ], [ %flagstr.sroa.0.4, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i177 ], [ %flagstr.sroa.0.4, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i140 ], [ %flagstr.sroa.0.4, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i103 ], [ null, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i65 ], [ null, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i28 ], [ null, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i ], [ %flagstr.sroa.0.4, %if.then.i.i.i.i190.invoke ] +lpad: ; preds = %if.then.i.i.i.i195.invoke, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i298, %if.then.i.i.i.i312, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i259, %if.then.i.i.i.i273, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i220, %if.then.i.i.i.i234, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i181, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i143, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i105, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i66, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i28, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i, %if.end38 + %flagstr.sroa.0.0 = phi ptr [ %flagstr.sroa.0.14, %if.end38 ], [ %flagstr.sroa.0.12, %if.then.i.i.i.i312 ], [ %flagstr.sroa.0.12, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i298 ], [ %flagstr.sroa.0.10, %if.then.i.i.i.i273 ], [ %flagstr.sroa.0.10, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i259 ], [ %flagstr.sroa.0.8, %if.then.i.i.i.i234 ], [ %flagstr.sroa.0.8, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i220 ], [ %flagstr.sroa.0.4, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i181 ], [ %flagstr.sroa.0.4, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i143 ], [ %flagstr.sroa.0.4, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i105 ], [ null, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i66 ], [ null, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i28 ], [ null, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i ], [ %flagstr.sroa.0.4, %if.then.i.i.i.i195.invoke ] %0 = landingpad { ptr, i32 } cleanup br label %ehcleanup @@ -1151,394 +1151,400 @@ _ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit: ; preds = %_ZNSt16allocator_tr br label %sw.epilog _ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i28: ; preds = %entry - %call5.i.i.i.i.i.i44 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #18 - to label %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit45 unwind label %lpad + %call5.i.i.i.i.i.i45 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #18 + to label %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit46 unwind label %lpad -_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit45: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i28 - store ptr @.str.36, ptr %call5.i.i.i.i.i.i44, align 8 - %incdec.ptr.i.i.i35 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i44, i64 1 +_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit46: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i28 + store ptr @.str.36, ptr %call5.i.i.i.i.i.i45, align 8 + %incdec.ptr.i.i.i36 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i45, i64 1 br label %sw.epilog -_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i65: ; preds = %entry - %call5.i.i.i.i.i.i81 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #18 - to label %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit82 unwind label %lpad +_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i66: ; preds = %entry + %call5.i.i.i.i.i.i83 = invoke noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #18 + to label %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit84 unwind label %lpad -_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit82: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i65 - store ptr @.str.37, ptr %call5.i.i.i.i.i.i81, align 8 - %incdec.ptr.i.i.i72 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i81, i64 1 +_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit84: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i66 + store ptr @.str.37, ptr %call5.i.i.i.i.i.i83, align 8 + %incdec.ptr.i.i.i74 = getelementptr inbounds ptr, ptr %call5.i.i.i.i.i.i83, i64 1 br label %sw.epilog -sw.epilog: ; preds = %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit82, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit45, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit, %entry - %flagstr.sroa.63.3 = phi ptr [ null, %entry ], [ %incdec.ptr.i.i.i72, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit82 ], [ %incdec.ptr.i.i.i35, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit45 ], [ %incdec.ptr.i.i.i, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit ] - %flagstr.sroa.0.4 = phi ptr [ null, %entry ], [ %call5.i.i.i.i.i.i81, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit82 ], [ %call5.i.i.i.i.i.i44, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit45 ], [ %call5.i.i.i.i.i.i8, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit ] +sw.epilog: ; preds = %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit84, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit46, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit, %entry + %flagstr.sroa.63.3 = phi ptr [ null, %entry ], [ %incdec.ptr.i.i.i74, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit84 ], [ %incdec.ptr.i.i.i36, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit46 ], [ %incdec.ptr.i.i.i, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit ] + %flagstr.sroa.0.4 = phi ptr [ null, %entry ], [ %call5.i.i.i.i.i.i83, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit84 ], [ %call5.i.i.i.i.i.i45, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit46 ], [ %call5.i.i.i.i.i.i8, %_ZNSt6vectorIPKcSaIS1_EE9push_backEOS1_.exit ] %1 = trunc i32 %flags to i8 %trunc = and i8 %1, -80 switch i8 %trunc, label %sw.epilog20 [ - i8 32, label %if.else.i.i89 - i8 16, label %if.else.i.i126 - i8 -128, label %if.else.i.i163 + i8 32, label %if.else.i.i91 + i8 16, label %if.else.i.i129 + i8 -128, label %if.else.i.i167 ] -if.else.i.i89: ; preds = %sw.epilog - %sub.ptr.lhs.cast.i.i.i.i.i90 = ptrtoint ptr %flagstr.sroa.63.3 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i91 = ptrtoint ptr %flagstr.sroa.0.4 to i64 - %sub.ptr.sub.i.i.i.i.i92 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i90, %sub.ptr.rhs.cast.i.i.i.i.i91 - %cmp.i.i.i.i93 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i92, 9223372036854775800 - br i1 %cmp.i.i.i.i93, label %if.then.i.i.i.i190.invoke, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i94 - -_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i94: ; preds = %if.else.i.i89 - %sub.ptr.div.i.i.i.i.i95 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i92, 3 - %.sroa.speculated.i.i.i.i96 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i95, i64 1) - %add.i.i.i.i97 = add i64 %.sroa.speculated.i.i.i.i96, %sub.ptr.div.i.i.i.i.i95 - %cmp7.i.i.i.i98 = icmp ult i64 %add.i.i.i.i97, %sub.ptr.div.i.i.i.i.i95 - %cmp9.i.i.i.i99 = icmp ugt i64 %add.i.i.i.i97, 1152921504606846975 - %or.cond.i.i.i.i100 = or i1 %cmp7.i.i.i.i98, %cmp9.i.i.i.i99 - %cond.i.i.i.i101 = select i1 %or.cond.i.i.i.i100, i64 1152921504606846975, i64 %add.i.i.i.i97 - %cmp.not.i.i.i.i102 = icmp eq i64 %cond.i.i.i.i101, 0 - br i1 %cmp.not.i.i.i.i102, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i105, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i103 - -_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i103: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i94 - %mul.i.i.i.i.i.i104 = shl nuw nsw i64 %cond.i.i.i.i101, 3 - %call5.i.i.i.i.i.i119 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i104) #18 - to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i105 unwind label %lpad - -_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i105: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i103, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i94 - %cond.i10.i.i.i106 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i94 ], [ %call5.i.i.i.i.i.i119, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i103 ] - %add.ptr.i.i.i107 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i106, i64 %sub.ptr.div.i.i.i.i.i95 - store ptr @.str.38, ptr %add.ptr.i.i.i107, align 8 - %cmp.i.i.i11.i.i.i108 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i95, 0 - br i1 %cmp.i.i.i11.i.i.i108, label %if.then.i.i.i12.i.i.i115, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i109 - -if.then.i.i.i12.i.i.i115: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i105 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i106, ptr align 8 %flagstr.sroa.0.4, i64 %sub.ptr.sub.i.i.i.i.i92, i1 false) - br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i109 - -_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i109: ; preds = %if.then.i.i.i12.i.i.i115, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i105 - %incdec.ptr.i.i.i110 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i107, i64 1 - %tobool.not.i.i.i.i111 = icmp eq ptr %flagstr.sroa.0.4, null - br i1 %tobool.not.i.i.i.i111, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i113, label %if.then.i21.i.i.i112 - -if.then.i21.i.i.i112: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i109 +if.else.i.i91: ; preds = %sw.epilog + %sub.ptr.lhs.cast.i.i.i.i.i92 = ptrtoint ptr %flagstr.sroa.63.3 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i93 = ptrtoint ptr %flagstr.sroa.0.4 to i64 + %sub.ptr.sub.i.i.i.i.i94 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i92, %sub.ptr.rhs.cast.i.i.i.i.i93 + %cmp.i.i.i.i95 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i94, 9223372036854775800 + br i1 %cmp.i.i.i.i95, label %if.then.i.i.i.i195.invoke, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i96 + +_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i96: ; preds = %if.else.i.i91 + %sub.ptr.div.i.i.i.i.i97 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i94, 3 + %.sroa.speculated.i.i.i.i98 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i97, i64 1) + %add.i.i.i.i99 = add i64 %.sroa.speculated.i.i.i.i98, %sub.ptr.div.i.i.i.i.i97 + %cmp7.i.i.i.i100 = icmp ult i64 %add.i.i.i.i99, %sub.ptr.div.i.i.i.i.i97 + %cmp9.i.i.i.i101 = icmp ugt i64 %add.i.i.i.i99, 1152921504606846975 + %or.cond.i.i.i.i102 = or i1 %cmp7.i.i.i.i100, %cmp9.i.i.i.i101 + %cond.i.i.i.i103 = select i1 %or.cond.i.i.i.i102, i64 1152921504606846975, i64 %add.i.i.i.i99 + %cmp.not.i.i.i.i104 = icmp eq i64 %cond.i.i.i.i103, 0 + br i1 %cmp.not.i.i.i.i104, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i107, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i105 + +_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i105: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i96 + %mul.i.i.i.i.i.i106 = shl nuw nsw i64 %cond.i.i.i.i103, 3 + %call5.i.i.i.i.i.i122 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i106) #18 + to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i107 unwind label %lpad + +_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i107: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i105, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i96 + %cond.i10.i.i.i108 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i96 ], [ %call5.i.i.i.i.i.i122, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i105 ] + %add.ptr.i.i.i109 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i108, i64 %sub.ptr.div.i.i.i.i.i97 + store ptr @.str.38, ptr %add.ptr.i.i.i109, align 8 + %cmp.i.i.i11.i.i.i110 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i94, 0 + br i1 %cmp.i.i.i11.i.i.i110, label %if.then.i.i.i12.i.i.i118, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i111 + +if.then.i.i.i12.i.i.i118: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i107 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i108, ptr align 8 %flagstr.sroa.0.4, i64 %sub.ptr.sub.i.i.i.i.i94, i1 false) + br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i111 + +_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i111: ; preds = %if.then.i.i.i12.i.i.i118, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i107 + %add.ptr.i.i.i.i.i.i112 = getelementptr inbounds i8, ptr %cond.i10.i.i.i108, i64 %sub.ptr.sub.i.i.i.i.i94 + %incdec.ptr.i.i.i113 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i112, i64 1 + %tobool.not.i.i.i.i114 = icmp eq ptr %flagstr.sroa.0.4, null + br i1 %tobool.not.i.i.i.i114, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i116, label %if.then.i20.i.i.i115 + +if.then.i20.i.i.i115: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i111 tail call void @_ZdlPv(ptr noundef nonnull %flagstr.sroa.0.4) #17 - br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i113 + br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i116 -_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i113: ; preds = %if.then.i21.i.i.i112, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i109 - %add.ptr19.i.i.i114 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i106, i64 %cond.i.i.i.i101 +_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i116: ; preds = %if.then.i20.i.i.i115, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i111 + %add.ptr19.i.i.i117 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i108, i64 %cond.i.i.i.i103 br label %sw.epilog20 -if.else.i.i126: ; preds = %sw.epilog - %sub.ptr.lhs.cast.i.i.i.i.i127 = ptrtoint ptr %flagstr.sroa.63.3 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i128 = ptrtoint ptr %flagstr.sroa.0.4 to i64 - %sub.ptr.sub.i.i.i.i.i129 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i127, %sub.ptr.rhs.cast.i.i.i.i.i128 - %cmp.i.i.i.i130 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i129, 9223372036854775800 - br i1 %cmp.i.i.i.i130, label %if.then.i.i.i.i190.invoke, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i131 - -_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i131: ; preds = %if.else.i.i126 - %sub.ptr.div.i.i.i.i.i132 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i129, 3 - %.sroa.speculated.i.i.i.i133 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i132, i64 1) - %add.i.i.i.i134 = add i64 %.sroa.speculated.i.i.i.i133, %sub.ptr.div.i.i.i.i.i132 - %cmp7.i.i.i.i135 = icmp ult i64 %add.i.i.i.i134, %sub.ptr.div.i.i.i.i.i132 - %cmp9.i.i.i.i136 = icmp ugt i64 %add.i.i.i.i134, 1152921504606846975 - %or.cond.i.i.i.i137 = or i1 %cmp7.i.i.i.i135, %cmp9.i.i.i.i136 - %cond.i.i.i.i138 = select i1 %or.cond.i.i.i.i137, i64 1152921504606846975, i64 %add.i.i.i.i134 - %cmp.not.i.i.i.i139 = icmp eq i64 %cond.i.i.i.i138, 0 - br i1 %cmp.not.i.i.i.i139, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i142, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i140 - -_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i140: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i131 - %mul.i.i.i.i.i.i141 = shl nuw nsw i64 %cond.i.i.i.i138, 3 - %call5.i.i.i.i.i.i156 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i141) #18 - to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i142 unwind label %lpad - -_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i142: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i140, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i131 - %cond.i10.i.i.i143 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i131 ], [ %call5.i.i.i.i.i.i156, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i140 ] - %add.ptr.i.i.i144 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i143, i64 %sub.ptr.div.i.i.i.i.i132 - store ptr @.str.39, ptr %add.ptr.i.i.i144, align 8 - %cmp.i.i.i11.i.i.i145 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i132, 0 - br i1 %cmp.i.i.i11.i.i.i145, label %if.then.i.i.i12.i.i.i152, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i146 - -if.then.i.i.i12.i.i.i152: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i142 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i143, ptr align 8 %flagstr.sroa.0.4, i64 %sub.ptr.sub.i.i.i.i.i129, i1 false) - br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i146 - -_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i146: ; preds = %if.then.i.i.i12.i.i.i152, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i142 - %incdec.ptr.i.i.i147 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i144, i64 1 - %tobool.not.i.i.i.i148 = icmp eq ptr %flagstr.sroa.0.4, null - br i1 %tobool.not.i.i.i.i148, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i150, label %if.then.i21.i.i.i149 - -if.then.i21.i.i.i149: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i146 +if.else.i.i129: ; preds = %sw.epilog + %sub.ptr.lhs.cast.i.i.i.i.i130 = ptrtoint ptr %flagstr.sroa.63.3 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i131 = ptrtoint ptr %flagstr.sroa.0.4 to i64 + %sub.ptr.sub.i.i.i.i.i132 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i130, %sub.ptr.rhs.cast.i.i.i.i.i131 + %cmp.i.i.i.i133 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i132, 9223372036854775800 + br i1 %cmp.i.i.i.i133, label %if.then.i.i.i.i195.invoke, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i134 + +_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i134: ; preds = %if.else.i.i129 + %sub.ptr.div.i.i.i.i.i135 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i132, 3 + %.sroa.speculated.i.i.i.i136 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i135, i64 1) + %add.i.i.i.i137 = add i64 %.sroa.speculated.i.i.i.i136, %sub.ptr.div.i.i.i.i.i135 + %cmp7.i.i.i.i138 = icmp ult i64 %add.i.i.i.i137, %sub.ptr.div.i.i.i.i.i135 + %cmp9.i.i.i.i139 = icmp ugt i64 %add.i.i.i.i137, 1152921504606846975 + %or.cond.i.i.i.i140 = or i1 %cmp7.i.i.i.i138, %cmp9.i.i.i.i139 + %cond.i.i.i.i141 = select i1 %or.cond.i.i.i.i140, i64 1152921504606846975, i64 %add.i.i.i.i137 + %cmp.not.i.i.i.i142 = icmp eq i64 %cond.i.i.i.i141, 0 + br i1 %cmp.not.i.i.i.i142, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i145, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i143 + +_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i143: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i134 + %mul.i.i.i.i.i.i144 = shl nuw nsw i64 %cond.i.i.i.i141, 3 + %call5.i.i.i.i.i.i160 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i144) #18 + to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i145 unwind label %lpad + +_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i145: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i143, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i134 + %cond.i10.i.i.i146 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i134 ], [ %call5.i.i.i.i.i.i160, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i143 ] + %add.ptr.i.i.i147 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i146, i64 %sub.ptr.div.i.i.i.i.i135 + store ptr @.str.39, ptr %add.ptr.i.i.i147, align 8 + %cmp.i.i.i11.i.i.i148 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i132, 0 + br i1 %cmp.i.i.i11.i.i.i148, label %if.then.i.i.i12.i.i.i156, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i149 + +if.then.i.i.i12.i.i.i156: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i145 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i146, ptr align 8 %flagstr.sroa.0.4, i64 %sub.ptr.sub.i.i.i.i.i132, i1 false) + br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i149 + +_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i149: ; preds = %if.then.i.i.i12.i.i.i156, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i145 + %add.ptr.i.i.i.i.i.i150 = getelementptr inbounds i8, ptr %cond.i10.i.i.i146, i64 %sub.ptr.sub.i.i.i.i.i132 + %incdec.ptr.i.i.i151 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i150, i64 1 + %tobool.not.i.i.i.i152 = icmp eq ptr %flagstr.sroa.0.4, null + br i1 %tobool.not.i.i.i.i152, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i154, label %if.then.i20.i.i.i153 + +if.then.i20.i.i.i153: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i149 tail call void @_ZdlPv(ptr noundef nonnull %flagstr.sroa.0.4) #17 - br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i150 + br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i154 -_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i150: ; preds = %if.then.i21.i.i.i149, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i146 - %add.ptr19.i.i.i151 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i143, i64 %cond.i.i.i.i138 +_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i154: ; preds = %if.then.i20.i.i.i153, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i149 + %add.ptr19.i.i.i155 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i146, i64 %cond.i.i.i.i141 br label %sw.epilog20 -if.else.i.i163: ; preds = %sw.epilog - %sub.ptr.lhs.cast.i.i.i.i.i164 = ptrtoint ptr %flagstr.sroa.63.3 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i165 = ptrtoint ptr %flagstr.sroa.0.4 to i64 - %sub.ptr.sub.i.i.i.i.i166 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i164, %sub.ptr.rhs.cast.i.i.i.i.i165 - %cmp.i.i.i.i167 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i166, 9223372036854775800 - br i1 %cmp.i.i.i.i167, label %if.then.i.i.i.i190.invoke, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i168 +if.else.i.i167: ; preds = %sw.epilog + %sub.ptr.lhs.cast.i.i.i.i.i168 = ptrtoint ptr %flagstr.sroa.63.3 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i169 = ptrtoint ptr %flagstr.sroa.0.4 to i64 + %sub.ptr.sub.i.i.i.i.i170 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i168, %sub.ptr.rhs.cast.i.i.i.i.i169 + %cmp.i.i.i.i171 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i170, 9223372036854775800 + br i1 %cmp.i.i.i.i171, label %if.then.i.i.i.i195.invoke, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i172 -if.then.i.i.i.i190.invoke: ; preds = %if.else.i.i163, %if.else.i.i126, %if.else.i.i89 +if.then.i.i.i.i195.invoke: ; preds = %if.else.i.i167, %if.else.i.i129, %if.else.i.i91 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.50) #19 - to label %if.then.i.i.i.i190.cont unwind label %lpad + to label %if.then.i.i.i.i195.cont unwind label %lpad -if.then.i.i.i.i190.cont: ; preds = %if.then.i.i.i.i190.invoke +if.then.i.i.i.i195.cont: ; preds = %if.then.i.i.i.i195.invoke unreachable -_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i168: ; preds = %if.else.i.i163 - %sub.ptr.div.i.i.i.i.i169 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i166, 3 - %.sroa.speculated.i.i.i.i170 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i169, i64 1) - %add.i.i.i.i171 = add i64 %.sroa.speculated.i.i.i.i170, %sub.ptr.div.i.i.i.i.i169 - %cmp7.i.i.i.i172 = icmp ult i64 %add.i.i.i.i171, %sub.ptr.div.i.i.i.i.i169 - %cmp9.i.i.i.i173 = icmp ugt i64 %add.i.i.i.i171, 1152921504606846975 - %or.cond.i.i.i.i174 = or i1 %cmp7.i.i.i.i172, %cmp9.i.i.i.i173 - %cond.i.i.i.i175 = select i1 %or.cond.i.i.i.i174, i64 1152921504606846975, i64 %add.i.i.i.i171 - %cmp.not.i.i.i.i176 = icmp eq i64 %cond.i.i.i.i175, 0 - br i1 %cmp.not.i.i.i.i176, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i179, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i177 - -_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i177: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i168 - %mul.i.i.i.i.i.i178 = shl nuw nsw i64 %cond.i.i.i.i175, 3 - %call5.i.i.i.i.i.i193 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i178) #18 - to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i179 unwind label %lpad - -_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i179: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i177, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i168 - %cond.i10.i.i.i180 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i168 ], [ %call5.i.i.i.i.i.i193, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i177 ] - %add.ptr.i.i.i181 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i180, i64 %sub.ptr.div.i.i.i.i.i169 - store ptr @.str.40, ptr %add.ptr.i.i.i181, align 8 - %cmp.i.i.i11.i.i.i182 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i169, 0 - br i1 %cmp.i.i.i11.i.i.i182, label %if.then.i.i.i12.i.i.i189, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i183 - -if.then.i.i.i12.i.i.i189: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i179 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i180, ptr align 8 %flagstr.sroa.0.4, i64 %sub.ptr.sub.i.i.i.i.i166, i1 false) - br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i183 - -_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i183: ; preds = %if.then.i.i.i12.i.i.i189, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i179 - %incdec.ptr.i.i.i184 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i181, i64 1 - %tobool.not.i.i.i.i185 = icmp eq ptr %flagstr.sroa.0.4, null - br i1 %tobool.not.i.i.i.i185, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i187, label %if.then.i21.i.i.i186 - -if.then.i21.i.i.i186: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i183 +_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i172: ; preds = %if.else.i.i167 + %sub.ptr.div.i.i.i.i.i173 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i170, 3 + %.sroa.speculated.i.i.i.i174 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i173, i64 1) + %add.i.i.i.i175 = add i64 %.sroa.speculated.i.i.i.i174, %sub.ptr.div.i.i.i.i.i173 + %cmp7.i.i.i.i176 = icmp ult i64 %add.i.i.i.i175, %sub.ptr.div.i.i.i.i.i173 + %cmp9.i.i.i.i177 = icmp ugt i64 %add.i.i.i.i175, 1152921504606846975 + %or.cond.i.i.i.i178 = or i1 %cmp7.i.i.i.i176, %cmp9.i.i.i.i177 + %cond.i.i.i.i179 = select i1 %or.cond.i.i.i.i178, i64 1152921504606846975, i64 %add.i.i.i.i175 + %cmp.not.i.i.i.i180 = icmp eq i64 %cond.i.i.i.i179, 0 + br i1 %cmp.not.i.i.i.i180, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i183, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i181 + +_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i181: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i172 + %mul.i.i.i.i.i.i182 = shl nuw nsw i64 %cond.i.i.i.i179, 3 + %call5.i.i.i.i.i.i198 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i182) #18 + to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i183 unwind label %lpad + +_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i183: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i181, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i172 + %cond.i10.i.i.i184 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i172 ], [ %call5.i.i.i.i.i.i198, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i181 ] + %add.ptr.i.i.i185 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i184, i64 %sub.ptr.div.i.i.i.i.i173 + store ptr @.str.40, ptr %add.ptr.i.i.i185, align 8 + %cmp.i.i.i11.i.i.i186 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i170, 0 + br i1 %cmp.i.i.i11.i.i.i186, label %if.then.i.i.i12.i.i.i194, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i187 + +if.then.i.i.i12.i.i.i194: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i183 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i184, ptr align 8 %flagstr.sroa.0.4, i64 %sub.ptr.sub.i.i.i.i.i170, i1 false) + br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i187 + +_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i187: ; preds = %if.then.i.i.i12.i.i.i194, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i183 + %add.ptr.i.i.i.i.i.i188 = getelementptr inbounds i8, ptr %cond.i10.i.i.i184, i64 %sub.ptr.sub.i.i.i.i.i170 + %incdec.ptr.i.i.i189 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i188, i64 1 + %tobool.not.i.i.i.i190 = icmp eq ptr %flagstr.sroa.0.4, null + br i1 %tobool.not.i.i.i.i190, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i192, label %if.then.i20.i.i.i191 + +if.then.i20.i.i.i191: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i187 tail call void @_ZdlPv(ptr noundef nonnull %flagstr.sroa.0.4) #17 - br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i187 + br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i192 -_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i187: ; preds = %if.then.i21.i.i.i186, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i183 - %add.ptr19.i.i.i188 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i180, i64 %cond.i.i.i.i175 +_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i192: ; preds = %if.then.i20.i.i.i191, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i187 + %add.ptr19.i.i.i193 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i184, i64 %cond.i.i.i.i179 br label %sw.epilog20 -sw.epilog20: ; preds = %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i187, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i150, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i113, %sw.epilog - %flagstr.sroa.63.7 = phi ptr [ %flagstr.sroa.63.3, %sw.epilog ], [ %add.ptr19.i.i.i114, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i113 ], [ %add.ptr19.i.i.i151, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i150 ], [ %add.ptr19.i.i.i188, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i187 ] - %flagstr.sroa.24.7 = phi ptr [ %flagstr.sroa.63.3, %sw.epilog ], [ %incdec.ptr.i.i.i110, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i113 ], [ %incdec.ptr.i.i.i147, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i150 ], [ %incdec.ptr.i.i.i184, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i187 ] - %flagstr.sroa.0.8 = phi ptr [ %flagstr.sroa.0.4, %sw.epilog ], [ %cond.i10.i.i.i106, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i113 ], [ %cond.i10.i.i.i143, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i150 ], [ %cond.i10.i.i.i180, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i187 ] - %and.i195 = and i32 %flags, 16384 - %tobool.not = icmp eq i32 %and.i195, 0 +sw.epilog20: ; preds = %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i192, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i154, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i116, %sw.epilog + %flagstr.sroa.63.7 = phi ptr [ %flagstr.sroa.63.3, %sw.epilog ], [ %add.ptr19.i.i.i117, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i116 ], [ %add.ptr19.i.i.i155, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i154 ], [ %add.ptr19.i.i.i193, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i192 ] + %flagstr.sroa.24.7 = phi ptr [ %flagstr.sroa.63.3, %sw.epilog ], [ %incdec.ptr.i.i.i113, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i116 ], [ %incdec.ptr.i.i.i151, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i154 ], [ %incdec.ptr.i.i.i189, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i192 ] + %flagstr.sroa.0.8 = phi ptr [ %flagstr.sroa.0.4, %sw.epilog ], [ %cond.i10.i.i.i108, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i116 ], [ %cond.i10.i.i.i146, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i154 ], [ %cond.i10.i.i.i184, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i192 ] + %and.i200 = and i32 %flags, 16384 + %tobool.not = icmp eq i32 %and.i200, 0 br i1 %tobool.not, label %if.end, label %if.then if.then: ; preds = %sw.epilog20 - %cmp.not.i.i198 = icmp eq ptr %flagstr.sroa.24.7, %flagstr.sroa.63.7 - br i1 %cmp.not.i.i198, label %if.else.i.i201, label %if.then.i.i199 + %cmp.not.i.i203 = icmp eq ptr %flagstr.sroa.24.7, %flagstr.sroa.63.7 + br i1 %cmp.not.i.i203, label %if.else.i.i206, label %if.then.i.i204 -if.then.i.i199: ; preds = %if.then +if.then.i.i204: ; preds = %if.then store ptr @.str.41, ptr %flagstr.sroa.24.7, align 8 - %incdec.ptr.i.i200 = getelementptr inbounds ptr, ptr %flagstr.sroa.24.7, i64 1 + %incdec.ptr.i.i205 = getelementptr inbounds ptr, ptr %flagstr.sroa.24.7, i64 1 br label %if.end -if.else.i.i201: ; preds = %if.then - %sub.ptr.lhs.cast.i.i.i.i.i202 = ptrtoint ptr %flagstr.sroa.63.7 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i203 = ptrtoint ptr %flagstr.sroa.0.8 to i64 - %sub.ptr.sub.i.i.i.i.i204 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i202, %sub.ptr.rhs.cast.i.i.i.i.i203 - %cmp.i.i.i.i205 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i204, 9223372036854775800 - br i1 %cmp.i.i.i.i205, label %if.then.i.i.i.i228, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i206 +if.else.i.i206: ; preds = %if.then + %sub.ptr.lhs.cast.i.i.i.i.i207 = ptrtoint ptr %flagstr.sroa.63.7 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i208 = ptrtoint ptr %flagstr.sroa.0.8 to i64 + %sub.ptr.sub.i.i.i.i.i209 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i207, %sub.ptr.rhs.cast.i.i.i.i.i208 + %cmp.i.i.i.i210 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i209, 9223372036854775800 + br i1 %cmp.i.i.i.i210, label %if.then.i.i.i.i234, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i211 -if.then.i.i.i.i228: ; preds = %if.else.i.i201 +if.then.i.i.i.i234: ; preds = %if.else.i.i206 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.50) #19 - to label %.noexc229 unwind label %lpad + to label %.noexc235 unwind label %lpad -.noexc229: ; preds = %if.then.i.i.i.i228 +.noexc235: ; preds = %if.then.i.i.i.i234 unreachable -_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i206: ; preds = %if.else.i.i201 - %sub.ptr.div.i.i.i.i.i207 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i204, 3 - %.sroa.speculated.i.i.i.i208 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i207, i64 1) - %add.i.i.i.i209 = add i64 %.sroa.speculated.i.i.i.i208, %sub.ptr.div.i.i.i.i.i207 - %cmp7.i.i.i.i210 = icmp ult i64 %add.i.i.i.i209, %sub.ptr.div.i.i.i.i.i207 - %cmp9.i.i.i.i211 = icmp ugt i64 %add.i.i.i.i209, 1152921504606846975 - %or.cond.i.i.i.i212 = or i1 %cmp7.i.i.i.i210, %cmp9.i.i.i.i211 - %cond.i.i.i.i213 = select i1 %or.cond.i.i.i.i212, i64 1152921504606846975, i64 %add.i.i.i.i209 - %cmp.not.i.i.i.i214 = icmp eq i64 %cond.i.i.i.i213, 0 - br i1 %cmp.not.i.i.i.i214, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i217, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i215 - -_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i215: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i206 - %mul.i.i.i.i.i.i216 = shl nuw nsw i64 %cond.i.i.i.i213, 3 - %call5.i.i.i.i.i.i231 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i216) #18 - to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i217 unwind label %lpad - -_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i217: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i215, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i206 - %cond.i10.i.i.i218 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i206 ], [ %call5.i.i.i.i.i.i231, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i215 ] - %add.ptr.i.i.i219 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i218, i64 %sub.ptr.div.i.i.i.i.i207 - store ptr @.str.41, ptr %add.ptr.i.i.i219, align 8 - %cmp.i.i.i11.i.i.i220 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i207, 0 - br i1 %cmp.i.i.i11.i.i.i220, label %if.then.i.i.i12.i.i.i227, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i221 - -if.then.i.i.i12.i.i.i227: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i217 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i218, ptr align 8 %flagstr.sroa.0.8, i64 %sub.ptr.sub.i.i.i.i.i204, i1 false) - br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i221 - -_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i221: ; preds = %if.then.i.i.i12.i.i.i227, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i217 - %incdec.ptr.i.i.i222 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i219, i64 1 - %tobool.not.i.i.i.i223 = icmp eq ptr %flagstr.sroa.0.8, null - br i1 %tobool.not.i.i.i.i223, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i225, label %if.then.i21.i.i.i224 - -if.then.i21.i.i.i224: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i221 +_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i211: ; preds = %if.else.i.i206 + %sub.ptr.div.i.i.i.i.i212 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i209, 3 + %.sroa.speculated.i.i.i.i213 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i212, i64 1) + %add.i.i.i.i214 = add i64 %.sroa.speculated.i.i.i.i213, %sub.ptr.div.i.i.i.i.i212 + %cmp7.i.i.i.i215 = icmp ult i64 %add.i.i.i.i214, %sub.ptr.div.i.i.i.i.i212 + %cmp9.i.i.i.i216 = icmp ugt i64 %add.i.i.i.i214, 1152921504606846975 + %or.cond.i.i.i.i217 = or i1 %cmp7.i.i.i.i215, %cmp9.i.i.i.i216 + %cond.i.i.i.i218 = select i1 %or.cond.i.i.i.i217, i64 1152921504606846975, i64 %add.i.i.i.i214 + %cmp.not.i.i.i.i219 = icmp eq i64 %cond.i.i.i.i218, 0 + br i1 %cmp.not.i.i.i.i219, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i222, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i220 + +_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i220: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i211 + %mul.i.i.i.i.i.i221 = shl nuw nsw i64 %cond.i.i.i.i218, 3 + %call5.i.i.i.i.i.i237 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i221) #18 + to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i222 unwind label %lpad + +_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i222: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i220, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i211 + %cond.i10.i.i.i223 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i211 ], [ %call5.i.i.i.i.i.i237, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i220 ] + %add.ptr.i.i.i224 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i223, i64 %sub.ptr.div.i.i.i.i.i212 + store ptr @.str.41, ptr %add.ptr.i.i.i224, align 8 + %cmp.i.i.i11.i.i.i225 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i209, 0 + br i1 %cmp.i.i.i11.i.i.i225, label %if.then.i.i.i12.i.i.i233, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i226 + +if.then.i.i.i12.i.i.i233: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i222 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i223, ptr align 8 %flagstr.sroa.0.8, i64 %sub.ptr.sub.i.i.i.i.i209, i1 false) + br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i226 + +_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i226: ; preds = %if.then.i.i.i12.i.i.i233, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i222 + %add.ptr.i.i.i.i.i.i227 = getelementptr inbounds i8, ptr %cond.i10.i.i.i223, i64 %sub.ptr.sub.i.i.i.i.i209 + %incdec.ptr.i.i.i228 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i227, i64 1 + %tobool.not.i.i.i.i229 = icmp eq ptr %flagstr.sroa.0.8, null + br i1 %tobool.not.i.i.i.i229, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i231, label %if.then.i20.i.i.i230 + +if.then.i20.i.i.i230: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i226 tail call void @_ZdlPv(ptr noundef nonnull %flagstr.sroa.0.8) #17 - br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i225 + br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i231 -_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i225: ; preds = %if.then.i21.i.i.i224, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i221 - %add.ptr19.i.i.i226 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i218, i64 %cond.i.i.i.i213 +_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i231: ; preds = %if.then.i20.i.i.i230, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i226 + %add.ptr19.i.i.i232 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i223, i64 %cond.i.i.i.i218 br label %if.end -if.end: ; preds = %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i225, %if.then.i.i199, %sw.epilog20 - %flagstr.sroa.63.9 = phi ptr [ %flagstr.sroa.63.7, %sw.epilog20 ], [ %add.ptr19.i.i.i226, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i225 ], [ %flagstr.sroa.63.7, %if.then.i.i199 ] - %flagstr.sroa.24.9 = phi ptr [ %flagstr.sroa.24.7, %sw.epilog20 ], [ %incdec.ptr.i.i.i222, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i225 ], [ %incdec.ptr.i.i200, %if.then.i.i199 ] - %flagstr.sroa.0.10 = phi ptr [ %flagstr.sroa.0.8, %sw.epilog20 ], [ %cond.i10.i.i.i218, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i225 ], [ %flagstr.sroa.0.8, %if.then.i.i199 ] - %and.i233 = and i32 %flags, 512 - %tobool27.not = icmp eq i32 %and.i233, 0 +if.end: ; preds = %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i231, %if.then.i.i204, %sw.epilog20 + %flagstr.sroa.63.9 = phi ptr [ %flagstr.sroa.63.7, %sw.epilog20 ], [ %add.ptr19.i.i.i232, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i231 ], [ %flagstr.sroa.63.7, %if.then.i.i204 ] + %flagstr.sroa.24.9 = phi ptr [ %flagstr.sroa.24.7, %sw.epilog20 ], [ %incdec.ptr.i.i.i228, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i231 ], [ %incdec.ptr.i.i205, %if.then.i.i204 ] + %flagstr.sroa.0.10 = phi ptr [ %flagstr.sroa.0.8, %sw.epilog20 ], [ %cond.i10.i.i.i223, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i231 ], [ %flagstr.sroa.0.8, %if.then.i.i204 ] + %and.i239 = and i32 %flags, 512 + %tobool27.not = icmp eq i32 %and.i239, 0 br i1 %tobool27.not, label %if.end31, label %if.then28 if.then28: ; preds = %if.end - %cmp.not.i.i236 = icmp eq ptr %flagstr.sroa.24.9, %flagstr.sroa.63.9 - br i1 %cmp.not.i.i236, label %if.else.i.i239, label %if.then.i.i237 + %cmp.not.i.i242 = icmp eq ptr %flagstr.sroa.24.9, %flagstr.sroa.63.9 + br i1 %cmp.not.i.i242, label %if.else.i.i245, label %if.then.i.i243 -if.then.i.i237: ; preds = %if.then28 +if.then.i.i243: ; preds = %if.then28 store ptr @.str.42, ptr %flagstr.sroa.24.9, align 8 - %incdec.ptr.i.i238 = getelementptr inbounds ptr, ptr %flagstr.sroa.24.9, i64 1 + %incdec.ptr.i.i244 = getelementptr inbounds ptr, ptr %flagstr.sroa.24.9, i64 1 br label %if.end31 -if.else.i.i239: ; preds = %if.then28 - %sub.ptr.lhs.cast.i.i.i.i.i240 = ptrtoint ptr %flagstr.sroa.63.9 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i241 = ptrtoint ptr %flagstr.sroa.0.10 to i64 - %sub.ptr.sub.i.i.i.i.i242 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i240, %sub.ptr.rhs.cast.i.i.i.i.i241 - %cmp.i.i.i.i243 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i242, 9223372036854775800 - br i1 %cmp.i.i.i.i243, label %if.then.i.i.i.i266, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i244 +if.else.i.i245: ; preds = %if.then28 + %sub.ptr.lhs.cast.i.i.i.i.i246 = ptrtoint ptr %flagstr.sroa.63.9 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i247 = ptrtoint ptr %flagstr.sroa.0.10 to i64 + %sub.ptr.sub.i.i.i.i.i248 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i246, %sub.ptr.rhs.cast.i.i.i.i.i247 + %cmp.i.i.i.i249 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i248, 9223372036854775800 + br i1 %cmp.i.i.i.i249, label %if.then.i.i.i.i273, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i250 -if.then.i.i.i.i266: ; preds = %if.else.i.i239 +if.then.i.i.i.i273: ; preds = %if.else.i.i245 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.50) #19 - to label %.noexc267 unwind label %lpad + to label %.noexc274 unwind label %lpad -.noexc267: ; preds = %if.then.i.i.i.i266 +.noexc274: ; preds = %if.then.i.i.i.i273 unreachable -_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i244: ; preds = %if.else.i.i239 - %sub.ptr.div.i.i.i.i.i245 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i242, 3 - %.sroa.speculated.i.i.i.i246 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i245, i64 1) - %add.i.i.i.i247 = add i64 %.sroa.speculated.i.i.i.i246, %sub.ptr.div.i.i.i.i.i245 - %cmp7.i.i.i.i248 = icmp ult i64 %add.i.i.i.i247, %sub.ptr.div.i.i.i.i.i245 - %cmp9.i.i.i.i249 = icmp ugt i64 %add.i.i.i.i247, 1152921504606846975 - %or.cond.i.i.i.i250 = or i1 %cmp7.i.i.i.i248, %cmp9.i.i.i.i249 - %cond.i.i.i.i251 = select i1 %or.cond.i.i.i.i250, i64 1152921504606846975, i64 %add.i.i.i.i247 - %cmp.not.i.i.i.i252 = icmp eq i64 %cond.i.i.i.i251, 0 - br i1 %cmp.not.i.i.i.i252, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i255, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i253 - -_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i253: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i244 - %mul.i.i.i.i.i.i254 = shl nuw nsw i64 %cond.i.i.i.i251, 3 - %call5.i.i.i.i.i.i269 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i254) #18 - to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i255 unwind label %lpad - -_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i255: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i253, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i244 - %cond.i10.i.i.i256 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i244 ], [ %call5.i.i.i.i.i.i269, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i253 ] - %add.ptr.i.i.i257 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i256, i64 %sub.ptr.div.i.i.i.i.i245 - store ptr @.str.42, ptr %add.ptr.i.i.i257, align 8 - %cmp.i.i.i11.i.i.i258 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i245, 0 - br i1 %cmp.i.i.i11.i.i.i258, label %if.then.i.i.i12.i.i.i265, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i259 - -if.then.i.i.i12.i.i.i265: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i255 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i256, ptr align 8 %flagstr.sroa.0.10, i64 %sub.ptr.sub.i.i.i.i.i242, i1 false) - br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i259 - -_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i259: ; preds = %if.then.i.i.i12.i.i.i265, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i255 - %incdec.ptr.i.i.i260 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i257, i64 1 - %tobool.not.i.i.i.i261 = icmp eq ptr %flagstr.sroa.0.10, null - br i1 %tobool.not.i.i.i.i261, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i263, label %if.then.i21.i.i.i262 - -if.then.i21.i.i.i262: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i259 +_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i250: ; preds = %if.else.i.i245 + %sub.ptr.div.i.i.i.i.i251 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i248, 3 + %.sroa.speculated.i.i.i.i252 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i251, i64 1) + %add.i.i.i.i253 = add i64 %.sroa.speculated.i.i.i.i252, %sub.ptr.div.i.i.i.i.i251 + %cmp7.i.i.i.i254 = icmp ult i64 %add.i.i.i.i253, %sub.ptr.div.i.i.i.i.i251 + %cmp9.i.i.i.i255 = icmp ugt i64 %add.i.i.i.i253, 1152921504606846975 + %or.cond.i.i.i.i256 = or i1 %cmp7.i.i.i.i254, %cmp9.i.i.i.i255 + %cond.i.i.i.i257 = select i1 %or.cond.i.i.i.i256, i64 1152921504606846975, i64 %add.i.i.i.i253 + %cmp.not.i.i.i.i258 = icmp eq i64 %cond.i.i.i.i257, 0 + br i1 %cmp.not.i.i.i.i258, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i261, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i259 + +_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i259: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i250 + %mul.i.i.i.i.i.i260 = shl nuw nsw i64 %cond.i.i.i.i257, 3 + %call5.i.i.i.i.i.i276 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i260) #18 + to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i261 unwind label %lpad + +_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i261: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i259, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i250 + %cond.i10.i.i.i262 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i250 ], [ %call5.i.i.i.i.i.i276, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i259 ] + %add.ptr.i.i.i263 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i262, i64 %sub.ptr.div.i.i.i.i.i251 + store ptr @.str.42, ptr %add.ptr.i.i.i263, align 8 + %cmp.i.i.i11.i.i.i264 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i248, 0 + br i1 %cmp.i.i.i11.i.i.i264, label %if.then.i.i.i12.i.i.i272, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i265 + +if.then.i.i.i12.i.i.i272: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i261 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i262, ptr align 8 %flagstr.sroa.0.10, i64 %sub.ptr.sub.i.i.i.i.i248, i1 false) + br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i265 + +_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i265: ; preds = %if.then.i.i.i12.i.i.i272, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i261 + %add.ptr.i.i.i.i.i.i266 = getelementptr inbounds i8, ptr %cond.i10.i.i.i262, i64 %sub.ptr.sub.i.i.i.i.i248 + %incdec.ptr.i.i.i267 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i266, i64 1 + %tobool.not.i.i.i.i268 = icmp eq ptr %flagstr.sroa.0.10, null + br i1 %tobool.not.i.i.i.i268, label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i270, label %if.then.i20.i.i.i269 + +if.then.i20.i.i.i269: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i265 tail call void @_ZdlPv(ptr noundef nonnull %flagstr.sroa.0.10) #17 - br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i263 + br label %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i270 -_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i263: ; preds = %if.then.i21.i.i.i262, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i259 - %add.ptr19.i.i.i264 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i256, i64 %cond.i.i.i.i251 +_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i270: ; preds = %if.then.i20.i.i.i269, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i265 + %add.ptr19.i.i.i271 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i262, i64 %cond.i.i.i.i257 br label %if.end31 -if.end31: ; preds = %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i263, %if.then.i.i237, %if.end - %flagstr.sroa.63.11 = phi ptr [ %flagstr.sroa.63.9, %if.end ], [ %add.ptr19.i.i.i264, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i263 ], [ %flagstr.sroa.63.9, %if.then.i.i237 ] - %flagstr.sroa.24.11 = phi ptr [ %flagstr.sroa.24.9, %if.end ], [ %incdec.ptr.i.i.i260, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i263 ], [ %incdec.ptr.i.i238, %if.then.i.i237 ] - %flagstr.sroa.0.12 = phi ptr [ %flagstr.sroa.0.10, %if.end ], [ %cond.i10.i.i.i256, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i263 ], [ %flagstr.sroa.0.10, %if.then.i.i237 ] - %and.i271 = and i32 %flags, 2048 - %tobool34.not = icmp eq i32 %and.i271, 0 +if.end31: ; preds = %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i270, %if.then.i.i243, %if.end + %flagstr.sroa.63.11 = phi ptr [ %flagstr.sroa.63.9, %if.end ], [ %add.ptr19.i.i.i271, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i270 ], [ %flagstr.sroa.63.9, %if.then.i.i243 ] + %flagstr.sroa.24.11 = phi ptr [ %flagstr.sroa.24.9, %if.end ], [ %incdec.ptr.i.i.i267, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i270 ], [ %incdec.ptr.i.i244, %if.then.i.i243 ] + %flagstr.sroa.0.12 = phi ptr [ %flagstr.sroa.0.10, %if.end ], [ %cond.i10.i.i.i262, %_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i270 ], [ %flagstr.sroa.0.10, %if.then.i.i243 ] + %and.i278 = and i32 %flags, 2048 + %tobool34.not = icmp eq i32 %and.i278, 0 br i1 %tobool34.not, label %if.end38, label %if.then35 if.then35: ; preds = %if.end31 - %cmp.not.i.i274 = icmp eq ptr %flagstr.sroa.24.11, %flagstr.sroa.63.11 - br i1 %cmp.not.i.i274, label %if.else.i.i277, label %if.then.i.i275 + %cmp.not.i.i281 = icmp eq ptr %flagstr.sroa.24.11, %flagstr.sroa.63.11 + br i1 %cmp.not.i.i281, label %if.else.i.i284, label %if.then.i.i282 -if.then.i.i275: ; preds = %if.then35 +if.then.i.i282: ; preds = %if.then35 store ptr @.str.43, ptr %flagstr.sroa.24.11, align 8 - %incdec.ptr.i.i276 = getelementptr inbounds ptr, ptr %flagstr.sroa.24.11, i64 1 + %incdec.ptr.i.i283 = getelementptr inbounds ptr, ptr %flagstr.sroa.24.11, i64 1 br label %if.end38 -if.else.i.i277: ; preds = %if.then35 - %sub.ptr.lhs.cast.i.i.i.i.i278 = ptrtoint ptr %flagstr.sroa.63.11 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i279 = ptrtoint ptr %flagstr.sroa.0.12 to i64 - %sub.ptr.sub.i.i.i.i.i280 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i278, %sub.ptr.rhs.cast.i.i.i.i.i279 - %cmp.i.i.i.i281 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i280, 9223372036854775800 - br i1 %cmp.i.i.i.i281, label %if.then.i.i.i.i304, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i282 +if.else.i.i284: ; preds = %if.then35 + %sub.ptr.lhs.cast.i.i.i.i.i285 = ptrtoint ptr %flagstr.sroa.63.11 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i286 = ptrtoint ptr %flagstr.sroa.0.12 to i64 + %sub.ptr.sub.i.i.i.i.i287 = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i285, %sub.ptr.rhs.cast.i.i.i.i.i286 + %cmp.i.i.i.i288 = icmp eq i64 %sub.ptr.sub.i.i.i.i.i287, 9223372036854775800 + br i1 %cmp.i.i.i.i288, label %if.then.i.i.i.i312, label %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i289 -if.then.i.i.i.i304: ; preds = %if.else.i.i277 +if.then.i.i.i.i312: ; preds = %if.else.i.i284 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.50) #19 - to label %.noexc305 unwind label %lpad + to label %.noexc313 unwind label %lpad -.noexc305: ; preds = %if.then.i.i.i.i304 +.noexc313: ; preds = %if.then.i.i.i.i312 unreachable -_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i282: ; preds = %if.else.i.i277 - %sub.ptr.div.i.i.i.i.i283 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i280, 3 - %.sroa.speculated.i.i.i.i284 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i283, i64 1) - %add.i.i.i.i285 = add i64 %.sroa.speculated.i.i.i.i284, %sub.ptr.div.i.i.i.i.i283 - %cmp7.i.i.i.i286 = icmp ult i64 %add.i.i.i.i285, %sub.ptr.div.i.i.i.i.i283 - %cmp9.i.i.i.i287 = icmp ugt i64 %add.i.i.i.i285, 1152921504606846975 - %or.cond.i.i.i.i288 = or i1 %cmp7.i.i.i.i286, %cmp9.i.i.i.i287 - %cond.i.i.i.i289 = select i1 %or.cond.i.i.i.i288, i64 1152921504606846975, i64 %add.i.i.i.i285 - %cmp.not.i.i.i.i290 = icmp eq i64 %cond.i.i.i.i289, 0 - br i1 %cmp.not.i.i.i.i290, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i293, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i291 - -_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i291: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i282 - %mul.i.i.i.i.i.i292 = shl nuw nsw i64 %cond.i.i.i.i289, 3 - %call5.i.i.i.i.i.i307 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i292) #18 - to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i293 unwind label %lpad - -_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i293: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i291, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i282 - %cond.i10.i.i.i294 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i282 ], [ %call5.i.i.i.i.i.i307, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i291 ] - %add.ptr.i.i.i295 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i294, i64 %sub.ptr.div.i.i.i.i.i283 - store ptr @.str.43, ptr %add.ptr.i.i.i295, align 8 - %cmp.i.i.i11.i.i.i296 = icmp sgt i64 %sub.ptr.div.i.i.i.i.i283, 0 - br i1 %cmp.i.i.i11.i.i.i296, label %if.then.i.i.i12.i.i.i303, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i297 - -if.then.i.i.i12.i.i.i303: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i293 - tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i294, ptr align 8 %flagstr.sroa.0.12, i64 %sub.ptr.sub.i.i.i.i.i280, i1 false) - br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i297 - -_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i297: ; preds = %if.then.i.i.i12.i.i.i303, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i293 - %incdec.ptr.i.i.i298 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i295, i64 1 - %tobool.not.i.i.i.i299 = icmp eq ptr %flagstr.sroa.0.12, null - br i1 %tobool.not.i.i.i.i299, label %if.end38, label %if.then.i21.i.i.i300 - -if.then.i21.i.i.i300: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i297 +_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i289: ; preds = %if.else.i.i284 + %sub.ptr.div.i.i.i.i.i290 = ashr exact i64 %sub.ptr.sub.i.i.i.i.i287, 3 + %.sroa.speculated.i.i.i.i291 = tail call i64 @llvm.umax.i64(i64 %sub.ptr.div.i.i.i.i.i290, i64 1) + %add.i.i.i.i292 = add i64 %.sroa.speculated.i.i.i.i291, %sub.ptr.div.i.i.i.i.i290 + %cmp7.i.i.i.i293 = icmp ult i64 %add.i.i.i.i292, %sub.ptr.div.i.i.i.i.i290 + %cmp9.i.i.i.i294 = icmp ugt i64 %add.i.i.i.i292, 1152921504606846975 + %or.cond.i.i.i.i295 = or i1 %cmp7.i.i.i.i293, %cmp9.i.i.i.i294 + %cond.i.i.i.i296 = select i1 %or.cond.i.i.i.i295, i64 1152921504606846975, i64 %add.i.i.i.i292 + %cmp.not.i.i.i.i297 = icmp eq i64 %cond.i.i.i.i296, 0 + br i1 %cmp.not.i.i.i.i297, label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i300, label %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i298 + +_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i298: ; preds = %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i289 + %mul.i.i.i.i.i.i299 = shl nuw nsw i64 %cond.i.i.i.i296, 3 + %call5.i.i.i.i.i.i315 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i299) #18 + to label %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i300 unwind label %lpad + +_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i300: ; preds = %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i298, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i289 + %cond.i10.i.i.i301 = phi ptr [ null, %_ZNKSt6vectorIPKcSaIS1_EE12_M_check_lenEmS1_.exit.i.i.i289 ], [ %call5.i.i.i.i.i.i315, %_ZNSt16allocator_traitsISaIPKcEE8allocateERS2_m.exit.i.i.i.i298 ] + %add.ptr.i.i.i302 = getelementptr inbounds ptr, ptr %cond.i10.i.i.i301, i64 %sub.ptr.div.i.i.i.i.i290 + store ptr @.str.43, ptr %add.ptr.i.i.i302, align 8 + %cmp.i.i.i11.i.i.i303 = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i287, 0 + br i1 %cmp.i.i.i11.i.i.i303, label %if.then.i.i.i12.i.i.i311, label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i304 + +if.then.i.i.i12.i.i.i311: ; preds = %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i300 + tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i301, ptr align 8 %flagstr.sroa.0.12, i64 %sub.ptr.sub.i.i.i.i.i287, i1 false) + br label %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i304 + +_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i304: ; preds = %if.then.i.i.i12.i.i.i311, %_ZNSt12_Vector_baseIPKcSaIS1_EE11_M_allocateEm.exit.i.i.i300 + %add.ptr.i.i.i.i.i.i305 = getelementptr inbounds i8, ptr %cond.i10.i.i.i301, i64 %sub.ptr.sub.i.i.i.i.i287 + %incdec.ptr.i.i.i306 = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i305, i64 1 + %tobool.not.i.i.i.i307 = icmp eq ptr %flagstr.sroa.0.12, null + br i1 %tobool.not.i.i.i.i307, label %if.end38, label %if.then.i20.i.i.i308 + +if.then.i20.i.i.i308: ; preds = %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i304 tail call void @_ZdlPv(ptr noundef nonnull %flagstr.sroa.0.12) #17 br label %if.end38 -if.end38: ; preds = %if.then.i.i275, %if.then.i21.i.i.i300, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i297, %if.end31 - %flagstr.sroa.24.13 = phi ptr [ %flagstr.sroa.24.11, %if.end31 ], [ %incdec.ptr.i.i276, %if.then.i.i275 ], [ %incdec.ptr.i.i.i298, %if.then.i21.i.i.i300 ], [ %incdec.ptr.i.i.i298, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i297 ] - %flagstr.sroa.0.14 = phi ptr [ %flagstr.sroa.0.12, %if.end31 ], [ %flagstr.sroa.0.12, %if.then.i.i275 ], [ %cond.i10.i.i.i294, %if.then.i21.i.i.i300 ], [ %cond.i10.i.i.i294, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i297 ] +if.end38: ; preds = %if.then.i.i282, %if.then.i20.i.i.i308, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i304, %if.end31 + %flagstr.sroa.24.13 = phi ptr [ %flagstr.sroa.24.11, %if.end31 ], [ %incdec.ptr.i.i283, %if.then.i.i282 ], [ %incdec.ptr.i.i.i306, %if.then.i20.i.i.i308 ], [ %incdec.ptr.i.i.i306, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i304 ] + %flagstr.sroa.0.14 = phi ptr [ %flagstr.sroa.0.12, %if.end31 ], [ %flagstr.sroa.0.12, %if.then.i.i282 ], [ %cond.i10.i.i.i301, %if.then.i20.i.i.i308 ], [ %cond.i10.i.i.i301, %_ZNSt6vectorIPKcSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i304 ] invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %msg) to label %invoke.cont39 unwind label %lpad @@ -1556,12 +1562,12 @@ for.cond.preheader: ; preds = %invoke.cont41 %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i %sub.ptr.div.i = ashr exact i64 %sub.ptr.sub.i, 3 %sub = add nsw i64 %sub.ptr.div.i, -1 - %cmp364.not = icmp eq i64 %sub, 0 - br i1 %cmp364.not, label %for.end, label %for.body + %cmp372.not = icmp eq i64 %sub, 0 + br i1 %cmp372.not, label %for.end, label %for.body for.body: ; preds = %for.cond.preheader, %for.inc - %i.0365 = phi i64 [ %inc, %for.inc ], [ 0, %for.cond.preheader ] - %add.ptr.i = getelementptr inbounds ptr, ptr %flagstr.sroa.0.14, i64 %i.0365 + %i.0373 = phi i64 [ %inc, %for.inc ], [ 0, %for.cond.preheader ] + %add.ptr.i = getelementptr inbounds ptr, ptr %flagstr.sroa.0.14, i64 %i.0373 %2 = load ptr, ptr %add.ptr.i, align 8 %call48 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %msg, ptr noundef %2) to label %invoke.cont47 unwind label %lpad40.loopexit @@ -1571,7 +1577,7 @@ invoke.cont47: ; preds = %for.body to label %for.inc unwind label %lpad40.loopexit for.inc: ; preds = %invoke.cont47 - %inc = add nuw i64 %i.0365, 1 + %inc = add nuw i64 %i.0373, 1 %exitcond.not = icmp eq i64 %inc, %sub br i1 %exitcond.not, label %for.end, label %for.body, !llvm.loop !18 @@ -1639,14 +1645,14 @@ _ZNSt6vectorIPKcSaIS1_EED2Ev.exit: ; preds = %invoke.cont67, %if. ehcleanup: ; preds = %lpad40, %lpad %flagstr.sroa.0.15 = phi ptr [ %flagstr.sroa.0.14, %lpad40 ], [ %flagstr.sroa.0.0, %lpad ] %.pn = phi { ptr, i32 } [ %lpad.phi, %lpad40 ], [ %0, %lpad ] - %tobool.not.i.i.i311 = icmp eq ptr %flagstr.sroa.0.15, null - br i1 %tobool.not.i.i.i311, label %_ZNSt6vectorIPKcSaIS1_EED2Ev.exit313, label %if.then.i.i.i312 + %tobool.not.i.i.i319 = icmp eq ptr %flagstr.sroa.0.15, null + br i1 %tobool.not.i.i.i319, label %_ZNSt6vectorIPKcSaIS1_EED2Ev.exit321, label %if.then.i.i.i320 -if.then.i.i.i312: ; preds = %ehcleanup +if.then.i.i.i320: ; preds = %ehcleanup call void @_ZdlPv(ptr noundef nonnull %flagstr.sroa.0.15) #17 - br label %_ZNSt6vectorIPKcSaIS1_EED2Ev.exit313 + br label %_ZNSt6vectorIPKcSaIS1_EED2Ev.exit321 -_ZNSt6vectorIPKcSaIS1_EED2Ev.exit313: ; preds = %ehcleanup, %if.then.i.i.i312 +_ZNSt6vectorIPKcSaIS1_EED2Ev.exit321: ; preds = %ehcleanup, %if.then.i.i.i320 resume { ptr, i32 } %.pn } diff --git a/bench/abseil-cpp/optimized/int128_test.cc.ll b/bench/abseil-cpp/optimized/int128_test.cc.ll index 3798cfa09d2..b94b2af281c 100644 --- a/bench/abseil-cpp/optimized/int128_test.cc.ll +++ b/bench/abseil-cpp/optimized/int128_test.cc.ll @@ -21850,23 +21850,24 @@ _ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectl store ptr %__begin0.sroa.0.0969, ptr %add.ptr.i.i.i55, align 8 %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx = getelementptr inbounds i8, ptr %add.ptr.i.i.i55, i64 8 store i64 %i.0970, ptr %ref.tmp24.sroa.3.0.add.ptr.i.i.i55.sroa_idx, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_7uint128EEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %14, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit20.i.i.i + br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit19.i.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_7uint128EEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i55, i64 1 +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyISt6vectorISt7variantIJPKNS0_7uint128EEESaIS8_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISI_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds %struct.Info, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %14, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE17_M_realloc_insertIJSH_EEEvN9__gnu_cxx17__normal_iteratorIPSH_SJ_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE17_M_realloc_insertIJSH_EEEvN9__gnu_cxx17__normal_iteratorIPSH_SJ_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %14) #23 br label %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE17_M_realloc_insertIJSH_EEEvN9__gnu_cxx17__normal_iteratorIPSH_SJ_EEDpOT_.exit.i.i -_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE17_M_realloc_insertIJSH_EEEvN9__gnu_cxx17__normal_iteratorIPSH_SJ_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit20.i.i.i +_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE17_M_realloc_insertIJSH_EEEvN9__gnu_cxx17__normal_iteratorIPSH_SJ_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE11_S_relocateEPSH_SK_SK_RSI_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %c.1, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i54, align 8 %add.ptr19.i.i.i = getelementptr inbounds %struct.Info, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -21874,7 +21875,7 @@ _ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt br label %invoke.cont26 invoke.cont26: ; preds = %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE17_M_realloc_insertIJSH_EEEvN9__gnu_cxx17__normal_iteratorIPSH_SJ_EEDpOT_.exit.i.i, %if.then.i.i - %15 = phi ptr [ %add.ptr.i.i.i55, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE17_M_realloc_insertIJSH_EEEvN9__gnu_cxx17__normal_iteratorIPSH_SJ_EEDpOT_.exit.i.i ], [ %13, %if.then.i.i ] + %15 = phi ptr [ %add.ptr.i.i.i.i.i.i, %_ZNSt6vectorIZN4absl13hash_internal37VerifyTypeImplementsAbslHashCorrectlyIS_ISt7variantIJPKNS0_7uint128EEESaIS7_EENS1_13DefaultEqualsEEEN7testing15AssertionResultERKT_T0_E4InfoSaISH_EE17_M_realloc_insertIJSH_EEEvN9__gnu_cxx17__normal_iteratorIPSH_SJ_EEDpOT_.exit.i.i ], [ %13, %if.then.i.i ] %inc = add i64 %i.0970, 1 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp.i) %16 = load ptr, ptr %15, align 8, !noalias !456 diff --git a/bench/abseil-cpp/optimized/layout_test.cc.ll b/bench/abseil-cpp/optimized/layout_test.cc.ll index 0ad6d254cf0..a3af93a84cc 100644 --- a/bench/abseil-cpp/optimized/layout_test.cc.ll +++ b/bench/abseil-cpp/optimized/layout_test.cc.ll @@ -59052,7 +59052,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.525, ptr %call5.i.i.i.i2.i, align 8 @@ -61232,7 +61232,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.525, ptr %call5.i.i.i.i2.i, align 8 @@ -64284,7 +64284,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.525, ptr %call5.i.i.i.i2.i, align 8 @@ -66372,7 +66372,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.525, ptr %call5.i.i.i.i2.i, align 8 @@ -78667,7 +78667,7 @@ lpad.i: ; preds = %if.end invoke.cont6: ; preds = %if.end store ptr %call5.i.i.i.i2.i, ptr %ref.tmp, align 8 - %add.ptr.i1.i = getelementptr inbounds ptr, ptr %call5.i.i.i.i2.i, i64 1 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 8 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base>::_Vector_impl_data", ptr %ref.tmp, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store ptr @.str.525, ptr %call5.i.i.i.i2.i, align 8 diff --git a/bench/abseil-cpp/optimized/log_basic_test.cc.ll b/bench/abseil-cpp/optimized/log_basic_test.cc.ll index 5eb3b5e143e..4a6eb692a71 100644 --- a/bench/abseil-cpp/optimized/log_basic_test.cc.ll +++ b/bench/abseil-cpp/optimized/log_basic_test.cc.ll @@ -1993,23 +1993,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #31 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -2044,7 +2045,7 @@ declare void @_ZNSaIcEC1Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnam define internal void @_ZN17absl_log_internalL42gtest_WithParamBasicLogTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(20) ptr @_Znwm(i64 noundef 20) #30, !noalias !5 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 5 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 20 store <4 x i32> , ptr %call5.i.i.i.i2.i.i.i, align 4, !noalias !5 %ref.tmp.sroa.5.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 16 store i32 1000, ptr %ref.tmp.sroa.5.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 4, !noalias !5 @@ -7671,7 +7672,7 @@ ehcleanup141: ; preds = %ehcleanup140, %lpad define internal void @_ZN17absl_log_internalL47gtest_WithParamBasicLogDeathTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(12) ptr @_Znwm(i64 noundef 12) #30, !noalias !75 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 3 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 12 store i32 0, ptr %call5.i.i.i.i2.i.i.i, align 4, !noalias !75 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 4 store i32 3, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 4, !noalias !75 @@ -17020,8 +17021,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 2 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorIN4absl18LogSeverityAtLeastESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -17036,7 +17036,7 @@ _ZNSt6vectorIN4absl18LogSeverityAtLeastESaIS1_EE17_S_check_init_lenEmRKS2_.exit. br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIN4absl18LogSeverityAtLeastESaIS1_EE11_M_allocateEm.exit.thread.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIN4absl18LogSeverityAtLeastESaIS1_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIN4absl18LogSeverityAtLeastESaIS1_EE17_S_check_init_lenEmRKS2_.exit.i.i.i - %add.ptr3.i.i.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr3.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage4.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i, ptr %_M_end_of_storage4.i.i.i, align 8 br label %invoke.cont @@ -17047,7 +17047,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIN4absl call5.i.i.i.i.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i, ptr align 4 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) @@ -17065,9 +17065,10 @@ if.then.i.i2.i.i: ; preds = %lpad.i.i br label %lpad.body invoke.cont: ; preds = %call5.i.i.i.i.noexc.i.i, %_ZNSt12_Vector_baseIN4absl18LogSeverityAtLeastESaIS1_EE11_M_allocateEm.exit.thread.i.i.i - %add.ptr5.i.i.i = phi ptr [ %add.ptr3.i.i.i, %_ZNSt12_Vector_baseIN4absl18LogSeverityAtLeastESaIS1_EE11_M_allocateEm.exit.thread.i.i.i ], [ %add.ptr.i.i.i, %call5.i.i.i.i.noexc.i.i ] + %cond.i5.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIN4absl18LogSeverityAtLeastESaIS1_EE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %call5.i.i.i.i.noexc.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_finish.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %call, ptr %agg.result, align 8 %_M_refcount.i.i.i = getelementptr inbounds %"class.std::__shared_ptr", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i, align 8 @@ -25575,23 +25576,24 @@ _ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPKvEE8allocateERS2_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPKvSaIS1_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i -_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #31 br label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i -_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %untyped_actions_, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/log_modifier_methods_test.cc.ll b/bench/abseil-cpp/optimized/log_modifier_methods_test.cc.ll index 16673632171..046776d9704 100644 --- a/bench/abseil-cpp/optimized/log_modifier_methods_test.cc.ll +++ b/bench/abseil-cpp/optimized/log_modifier_methods_test.cc.ll @@ -17149,23 +17149,24 @@ _ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPKvEE8allocateERS2_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPKvSaIS1_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i -_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #27 br label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i -_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %untyped_actions_, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/log_severity_test.cc.ll b/bench/abseil-cpp/optimized/log_severity_test.cc.ll index 6e3debf859a..1294b7448aa 100644 --- a/bench/abseil-cpp/optimized/log_severity_test.cc.ll +++ b/bench/abseil-cpp/optimized/log_severity_test.cc.ll @@ -2234,23 +2234,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #27 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -2282,7 +2283,7 @@ if.end25: ; preds = %_ZNSt6vectorIPN7tes define internal void @_ZN12_GLOBAL__N_168gtest_InstantiationParseFlagFromOutOfRangeIntegerTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #26, !noalias !5 - %add.ptr.i1.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i2.i.i.i, i64 2 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 16 store i64 -2147483649, ptr %call5.i.i.i.i2.i.i.i, align 8, !noalias !5 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 8 store i64 2147483648, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 8, !noalias !5 @@ -2508,23 +2509,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #27 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -2556,7 +2558,7 @@ if.end25: ; preds = %_ZNSt6vectorIPN7tes define internal void @_ZN12_GLOBAL__N_174gtest_InstantiationParseFlagFromAlmostOutOfRangeIntegerTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator.24") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #26, !noalias !13 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 2 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 8 store i32 -2147483648, ptr %call5.i.i.i.i2.i.i.i, align 4, !noalias !13 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 4 store i32 2147483647, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i.i, align 4, !noalias !13 @@ -2782,23 +2784,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #27 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -3118,23 +3121,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #27 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -3565,23 +3569,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #27 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -3836,23 +3841,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %16, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %16, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %16) #27 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i @@ -3959,7 +3965,7 @@ _ZN7testing8internal16DefaultParamNameISt5tupleIJN4absl11LogSeverityESt17basic_s define internal void @_ZN12_GLOBAL__N_163gtest_InstantiationUnparseFlagToOtherIntegerTest_EvalGenerator_Ev(ptr noalias sret(%"class.testing::internal::ParamGenerator.24") align 8 %agg.result) #3 personality ptr @__gxx_personality_v0 { entry: %call5.i.i.i.i2.i.i.i = tail call noalias noundef nonnull dereferenceable(16) ptr @_Znwm(i64 noundef 16) #26, !noalias !63 - %add.ptr.i1.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i2.i.i.i, i64 4 + %add.ptr.i1.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i.i, i64 16 store <4 x i32> , ptr %call5.i.i.i.i2.i.i.i, align 4, !noalias !63 invoke void @_ZN7testing8ValuesInIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEENS_8internal14ParamGeneratorINSt15iterator_traitsIT_E10value_typeEEESC_SC_(ptr sret(%"class.testing::internal::ParamGenerator.24") align 8 %agg.result, ptr nonnull %call5.i.i.i.i2.i.i.i, ptr nonnull %add.ptr.i1.i.i.i) to label %_ZNK7testing8internal10ValueArrayIJiiiiEEcvNS0_14ParamGeneratorIT_EEIiEEv.exit unwind label %_ZNSt6vectorIiSaIiEED2Ev.exit3.i @@ -5993,8 +5999,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 3 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 1152921504606846975 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775800 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorIlSaIlEE17_S_check_init_lenEmRKS0_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -6009,7 +6014,7 @@ _ZNSt6vectorIlSaIlEE17_S_check_init_lenEmRKS0_.exit.i.i.i: ; preds = %entry br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.thread.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIlSaIlEE17_S_check_init_lenEmRKS0_.exit.i.i.i - %add.ptr3.i.i.i = getelementptr inbounds i64, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr3.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage4.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i, ptr %_M_end_of_storage4.i.i.i, align 8 br label %invoke.cont @@ -6020,7 +6025,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIlSaIlE call5.i.i.i.i.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds i64, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i, ptr align 8 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) @@ -6038,9 +6043,10 @@ if.then.i.i2.i.i: ; preds = %lpad.i.i br label %lpad.body invoke.cont: ; preds = %call5.i.i.i.i.noexc.i.i, %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.thread.i.i.i - %add.ptr5.i.i.i = phi ptr [ %add.ptr3.i.i.i, %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.thread.i.i.i ], [ %add.ptr.i.i.i, %call5.i.i.i.i.noexc.i.i ] + %cond.i5.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIlSaIlEE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %call5.i.i.i.i.noexc.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_finish.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %call, ptr %agg.result, align 8 %_M_refcount.i.i.i = getelementptr inbounds %"class.std::__shared_ptr", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i, align 8 @@ -8351,8 +8357,7 @@ entry: %sub.ptr.lhs.cast.i.i.i.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.rhs.cast.i.i.i.i.i.i = ptrtoint ptr %begin.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 2 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 2305843009213693951 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775804 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -8367,7 +8372,7 @@ _ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i: ; preds = %entry br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i, label %if.then.i.i.i.i.i.i.i.i.i.i.i _ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE17_S_check_init_lenEmRKS0_.exit.i.i.i - %add.ptr3.i.i.i = getelementptr inbounds i32, ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr3.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage4.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.194", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr3.i.i.i, ptr %_M_end_of_storage4.i.i.i, align 8 br label %invoke.cont @@ -8378,7 +8383,7 @@ if.then.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiE call5.i.i.i.i.noexc.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds i32, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.194", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %call5.i.i.i.i1.i.i, ptr align 4 %begin.coerce, i64 %sub.ptr.sub.i.i.i.i.i.i, i1 false) @@ -8396,9 +8401,10 @@ if.then.i.i2.i.i: ; preds = %lpad.i.i br label %lpad.body invoke.cont: ; preds = %call5.i.i.i.i.noexc.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i - %add.ptr5.i.i.i = phi ptr [ %add.ptr3.i.i.i, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i ], [ %add.ptr.i.i.i, %call5.i.i.i.i.noexc.i.i ] + %cond.i5.i.i.i = phi ptr [ null, %_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEm.exit.thread.i.i.i ], [ %call5.i.i.i.i1.i.i, %call5.i.i.i.i.noexc.i.i ] + %add.ptr.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i5.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_finish.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.194", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 1 - store ptr %add.ptr5.i.i.i, ptr %_M_finish.i.i.i, align 8 + store ptr %add.ptr.i.i.i.i.i.i.i.i.i.i.i, ptr %_M_finish.i.i.i, align 8 store ptr %call, ptr %agg.result, align 8 %_M_refcount.i.i.i = getelementptr inbounds %"class.std::__shared_ptr.26", ptr %agg.result, i64 0, i32 1 store ptr null, ptr %_M_refcount.i.i.i, align 8 @@ -11091,7 +11097,7 @@ entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.result, i8 0, i64 24, i1 false) %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(264) ptr @_Znwm(i64 noundef 264) #26 store ptr %call5.i.i.i.i2.i, ptr %agg.result, align 8 - %add.ptr.i1.i = getelementptr inbounds %"class.std::tuple.277", ptr %call5.i.i.i.i2.i, i64 11 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 264 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base, absl::LogSeverity>, std::allocator, absl::LogSeverity>>>::_Vector_impl_data", ptr %agg.result, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 %0, ptr %call5.i.i.i.i2.i, align 8 @@ -11191,7 +11197,7 @@ _ZNSt6vectorISt5tupleIJSt17basic_string_viewIcSt11char_traitsIcEEN4absl11LogSeve br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseISt5tupleIJSt17basic_string_viewIcSt11char_traitsIcEEN4absl11LogSeverityEEESaIS7_EE11_M_allocateEm.exit.thread.i.i.i, label %for.body.i.i.i.i.preheader.i.i.i _ZNSt12_Vector_baseISt5tupleIJSt17basic_string_viewIcSt11char_traitsIcEEN4absl11LogSeverityEEESaIS7_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorISt5tupleIJSt17basic_string_viewIcSt11char_traitsIcEEN4absl11LogSeverityEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i.i.i - %add.ptr6.i.i.i = getelementptr inbounds %"class.std::tuple.277", ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr6.i.i.i = getelementptr inbounds i8, ptr null, i64 %reass.sub.fr.i.i %_M_end_of_storage7.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.275", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr6.i.i.i, ptr %_M_end_of_storage7.i.i.i, align 8 br label %invoke.cont @@ -11202,7 +11208,7 @@ for.body.i.i.i.i.preheader.i.i.i: ; preds = %_ZNSt6vectorISt5tup call5.i.i.i.i.noexc.i.i: ; preds = %for.body.i.i.i.i.preheader.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::tuple.277", ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %reass.sub.fr.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.275", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 %0 = add i64 %reass.sub.fr.i.i, -24 @@ -12576,7 +12582,7 @@ entry: %7 = load ptr, ptr %add.ptr.i.i.i9.i, align 8, !noalias !192 %call.i.i.i.i.i10.i = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %7) #24, !noalias !192 %call5.i.i.i.i2.i.i = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #26, !noalias !192 - %add.ptr.i1.i.i = getelementptr inbounds %"class.std::tuple.337", ptr %call5.i.i.i.i2.i.i, i64 4 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 96 store i32 %0, ptr %call5.i.i.i.i2.i.i, align 8, !noalias !192 %ref.tmp.sroa.212.0.call5.i.i.i.i2.i.sroa_idx.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 8 store i64 %call.i.i.i.i.i.i, ptr %ref.tmp.sroa.212.0.call5.i.i.i.i2.i.sroa_idx.i, align 8, !noalias !192 @@ -12641,7 +12647,7 @@ _ZNSt6vectorISt5tupleIJSt17basic_string_viewIcSt11char_traitsIcEEiEESaIS5_EE17_S br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseISt5tupleIJSt17basic_string_viewIcSt11char_traitsIcEEiEESaIS5_EE11_M_allocateEm.exit.thread.i.i.i, label %for.body.i.i.i.i.preheader.i.i.i _ZNSt12_Vector_baseISt5tupleIJSt17basic_string_viewIcSt11char_traitsIcEEiEESaIS5_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorISt5tupleIJSt17basic_string_viewIcSt11char_traitsIcEEiEESaIS5_EE17_S_check_init_lenEmRKS6_.exit.i.i.i - %add.ptr6.i.i.i = getelementptr inbounds %"class.std::tuple.337", ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr6.i.i.i = getelementptr inbounds i8, ptr null, i64 %reass.sub.fr.i.i %_M_end_of_storage7.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.335", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr6.i.i.i, ptr %_M_end_of_storage7.i.i.i, align 8 br label %invoke.cont @@ -12652,7 +12658,7 @@ for.body.i.i.i.i.preheader.i.i.i: ; preds = %_ZNSt6vectorISt5tup call5.i.i.i.i.noexc.i.i: ; preds = %for.body.i.i.i.i.preheader.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::tuple.337", ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %reass.sub.fr.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.335", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 %0 = add i64 %reass.sub.fr.i.i, -24 @@ -14105,7 +14111,7 @@ entry: tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %agg.result, i8 0, i64 24, i1 false) %call5.i.i.i.i2.i = tail call noalias noundef nonnull dereferenceable(480) ptr @_Znwm(i64 noundef 480) #26 store ptr %call5.i.i.i.i2.i, ptr %agg.result, align 8 - %add.ptr.i1.i = getelementptr inbounds %"class.std::tuple.277", ptr %call5.i.i.i.i2.i, i64 20 + %add.ptr.i1.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i, i64 480 %_M_end_of_storage.i.i = getelementptr inbounds %"struct.std::_Vector_base, absl::LogSeverity>, std::allocator, absl::LogSeverity>>>::_Vector_impl_data", ptr %agg.result, i64 0, i32 2 store ptr %add.ptr.i1.i, ptr %_M_end_of_storage.i.i, align 8 store i32 %0, ptr %call5.i.i.i.i2.i, align 8 @@ -14597,7 +14603,7 @@ entry: %5 = load ptr, ptr %add.ptr.i12.i, align 8, !noalias !206 %call.i.i13.i = tail call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %5) #24, !noalias !206 %call5.i.i.i.i2.i.i = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #26, !noalias !206 - %add.ptr.i1.i.i = getelementptr inbounds %"class.std::basic_string_view", ptr %call5.i.i.i.i2.i.i, i64 6 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 96 store i64 %call.i.i.i, ptr %call5.i.i.i.i2.i.i, align 8, !noalias !206 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 8 store ptr %0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i, align 8, !noalias !206 @@ -14645,8 +14651,7 @@ entry: %__first.coerce4.i.i.i = ptrtoint ptr %begin.coerce to i64 %__last.coerce3.i.i.i = ptrtoint ptr %end.coerce to i64 %sub.ptr.sub.i.i.i.i.i.i = sub i64 %__last.coerce3.i.i.i, %__first.coerce4.i.i.i - %sub.ptr.div.i.i.i.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i.i.i.i, 4 - %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.div.i.i.i.i.i.i, 576460752303423487 + %cmp.i.i.i.i = icmp ugt i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775792 br i1 %cmp.i.i.i.i, label %if.then.i.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i if.then.i.i.i.i: ; preds = %entry @@ -14661,7 +14666,7 @@ _ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_S_check_init_l br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_M_allocateEm.exit.thread.i.i.i, label %for.body.i.i.i.i.preheader.i.i.i _ZNSt12_Vector_baseISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_S_check_init_lenEmRKS4_.exit.i.i.i - %add.ptr6.i.i.i = getelementptr inbounds %"class.std::basic_string_view", ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr6.i.i.i = getelementptr inbounds i8, ptr null, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage7.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.421", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr6.i.i.i, ptr %_M_end_of_storage7.i.i.i, align 8 br label %invoke.cont @@ -14672,10 +14677,10 @@ for.body.i.i.i.i.preheader.i.i.i: ; preds = %_ZNSt6vectorISt17ba call5.i.i.i.i.noexc.i.i: ; preds = %for.body.i.i.i.i.preheader.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::basic_string_view", ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.sub.i.i.i.i.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.421", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 - %0 = and i64 %sub.ptr.sub.i.i.i.i.i.i, -16 + %0 = and i64 %sub.ptr.sub.i.i.i.i.i.i, 9223372036854775792 tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %call5.i.i.i.i1.i.i, ptr align 8 %begin.coerce, i64 %0, i1 false) %scevgep.i.i.i = getelementptr i8, ptr %call5.i.i.i.i1.i.i, i64 %0 br label %invoke.cont @@ -15930,7 +15935,7 @@ entry: %add.ptr.i.i.i11.i = getelementptr inbounds i8, ptr %this, i64 56 %7 = load i32, ptr %add.ptr.i.i.i11.i, align 8, !noalias !220 %call5.i.i.i.i2.i.i = tail call noalias noundef nonnull dereferenceable(96) ptr @_Znwm(i64 noundef 96) #26, !noalias !220 - %add.ptr.i1.i.i = getelementptr inbounds %"class.std::tuple.480", ptr %call5.i.i.i.i2.i.i, i64 4 + %add.ptr.i1.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 96 store i64 %call.i.i.i.i.i.i.i, ptr %call5.i.i.i.i2.i.i, align 8, !noalias !220 %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i = getelementptr inbounds i8, ptr %call5.i.i.i.i2.i.i, i64 8 store ptr %0, ptr %ref.tmp.sroa.2.0.call5.i.i.i.i2.i.sroa_idx.i, align 8, !noalias !220 @@ -15995,7 +16000,7 @@ _ZNSt6vectorISt5tupleIJN4absl11LogSeverityESt17basic_string_viewIcSt11char_trait br i1 %cmp.not.i.i.i.i, label %_ZNSt12_Vector_baseISt5tupleIJN4absl11LogSeverityESt17basic_string_viewIcSt11char_traitsIcEEEESaIS7_EE11_M_allocateEm.exit.thread.i.i.i, label %for.body.i.i.i.i.preheader.i.i.i _ZNSt12_Vector_baseISt5tupleIJN4absl11LogSeverityESt17basic_string_viewIcSt11char_traitsIcEEEESaIS7_EE11_M_allocateEm.exit.thread.i.i.i: ; preds = %_ZNSt6vectorISt5tupleIJN4absl11LogSeverityESt17basic_string_viewIcSt11char_traitsIcEEEESaIS7_EE17_S_check_init_lenEmRKS8_.exit.i.i.i - %add.ptr6.i.i.i = getelementptr inbounds %"class.std::tuple.480", ptr null, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr6.i.i.i = getelementptr inbounds i8, ptr null, i64 %reass.sub.fr.i.i %_M_end_of_storage7.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.478", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr6.i.i.i, ptr %_M_end_of_storage7.i.i.i, align 8 br label %invoke.cont @@ -16006,7 +16011,7 @@ for.body.i.i.i.i.preheader.i.i.i: ; preds = %_ZNSt6vectorISt5tup call5.i.i.i.i.noexc.i.i: ; preds = %for.body.i.i.i.i.preheader.i.i.i store ptr %call5.i.i.i.i1.i.i, ptr %container_.i, align 8 - %add.ptr.i.i.i = getelementptr inbounds %"class.std::tuple.480", ptr %call5.i.i.i.i1.i.i, i64 %sub.ptr.div.i.i.i.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i1.i.i, i64 %reass.sub.fr.i.i %_M_end_of_storage.i.i.i = getelementptr inbounds %"class.testing::internal::ValuesInIteratorRangeGenerator.478", ptr %call, i64 0, i32 1, i32 0, i32 0, i32 0, i32 2 store ptr %add.ptr.i.i.i, ptr %_M_end_of_storage.i.i.i, align 8 %0 = add i64 %reass.sub.fr.i.i, -24 diff --git a/bench/abseil-cpp/optimized/log_sink_set.cc.ll b/bench/abseil-cpp/optimized/log_sink_set.cc.ll index adf7161ed5f..34bbdbd19c2 100644 --- a/bench/abseil-cpp/optimized/log_sink_set.cc.ll +++ b/bench/abseil-cpp/optimized/log_sink_set.cc.ll @@ -54,7 +54,7 @@ $_ZNK4absl13base_internal10AtomicHookIPFvNS_11LogSeverityEPKciRKNSt7__cxx1112bas @.str.2 = private unnamed_addr constant [26 x i8] c"vector::_M_realloc_insert\00", align 1 @.str.4 = private unnamed_addr constant [34 x i8] c"Mismatched log sink being removed\00", align 1 -; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable +; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable define dso_local noundef zeroext i1 @_ZN4absl12log_internal24ThreadIsLoggingToLogSinkEv() local_unnamed_addr #0 { entry: %0 = tail call noundef nonnull align 1 dereferenceable(1) ptr @llvm.threadlocal.address.p0(ptr align 1 @_ZZN4absl12log_internal12_GLOBAL__N_121ThreadIsLoggingStatusEvE17thread_is_logging) @@ -139,8 +139,7 @@ invoke.cont.i1: ; preds = %if.then.i %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %12 to i64 %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %11 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 3 - %add.ptr.i.i5.i = getelementptr inbounds ptr, ptr %11, i64 %sub.ptr.div.i.i.i + %add.ptr.i.i5.i = getelementptr inbounds i8, ptr %11, i64 %sub.ptr.sub.i.i.i %cmp.not5.i6.i = icmp eq ptr %12, %11 br i1 %cmp.not5.i6.i, label %_ZN4absl7CleanupINS_16cleanup_internal3TagEZNS_12log_internal12_GLOBAL__N_116GlobalLogSinkSet10LogToSinksERKNS_8LogEntryENS_4SpanIPNS_7LogSinkEEEbEUlvE_ED2Ev.exit.i, label %for.body.i7.i @@ -375,23 +374,24 @@ _ZNSt12_Vector_baseIPN4absl7LogSinkESaIS2_EE11_M_allocateEm.exit.i.i: ; preds = %cond.i10.i.i = phi ptr [ null, %_ZNKSt6vectorIPN4absl7LogSinkESaIS2_EE12_M_check_lenEmPKc.exit.i.i ], [ %call5.i.i.i.i.i5, %_ZNSt16allocator_traitsISaIPN4absl7LogSinkEEE8allocateERS3_m.exit.i.i.i ] %add.ptr.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %sub.ptr.div.i.i.i.i store ptr %sink, ptr %add.ptr.i.i, align 8 - %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i.i + %cmp.i.i.i11.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i, label %if.then.i.i.i12.i.i, label %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i.i if.then.i.i.i12.i.i: ; preds = %_ZNSt12_Vector_baseIPN4absl7LogSinkESaIS2_EE11_M_allocateEm.exit.i.i tail call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i, ptr align 8 %0, i64 %sub.ptr.sub.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i.i + br label %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i.i -_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPN4absl7LogSinkESaIS2_EE11_M_allocateEm.exit.i.i - %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i, i64 1 +_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i.i: ; preds = %if.then.i.i.i12.i.i, %_ZNSt12_Vector_baseIPN4absl7LogSinkESaIS2_EE11_M_allocateEm.exit.i.i + %add.ptr.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i, i64 %sub.ptr.sub.i.i.i.i + %incdec.ptr.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i, i64 1 %tobool.not.i.i.i = icmp eq ptr %0, null - br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, label %if.then.i21.i.i + br i1 %tobool.not.i.i.i, label %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i, label %if.then.i20.i.i -if.then.i21.i.i: ; preds = %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i.i +if.then.i20.i.i: ; preds = %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i.i tail call void @_ZdlPv(ptr noundef nonnull %0) #21 br label %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i -_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i: ; preds = %if.then.i21.i.i, %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit20.i.i +_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_.exit.i: ; preds = %if.then.i20.i.i, %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit19.i.i store ptr %cond.i10.i.i, ptr getelementptr inbounds (%"class.absl::NoDestructor", ptr @_ZZN4absl12log_internal12_GLOBAL__N_111GlobalSinksEvE12global_sinks, i64 0, i32 0, i32 0, i64 8), align 8 store ptr %incdec.ptr.i.i, ptr getelementptr inbounds (%"class.absl::NoDestructor", ptr @_ZZN4absl12log_internal12_GLOBAL__N_111GlobalSinksEvE12global_sinks, i64 0, i32 0, i32 0, i64 16), align 8 %add.ptr19.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i, i64 %cond.i.i.i @@ -580,8 +580,7 @@ invoke.cont.i1: ; preds = %for.body.i.i.i.i, % if.then.i: ; preds = %invoke.cont.i1 %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %retval.sroa.0.0.in.sroa.speculated.i.i.i.i to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i - %sub.ptr.div.i.i.i = ashr exact i64 %sub.ptr.sub.i.i.i, 3 - %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %3, i64 %sub.ptr.div.i.i.i + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %3, i64 %sub.ptr.sub.i.i.i %add.ptr.i.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 %cmp.i.not.i.i.i = icmp eq ptr %add.ptr.i.i.i.i, %4 br i1 %cmp.i.not.i.i.i, label %_ZNSt6vectorIPN4absl7LogSinkESaIS2_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS2_S4_EE.exit.i, label %_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPPN4absl7LogSinkESt6vectorIS4_SaIS4_EEEES9_ET0_T_SB_SA_.exit.i.i.i @@ -1167,7 +1166,7 @@ declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #15 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i64 @llvm.umax.i64(i64, i64) #16 -attributes #0 = { mustprogress nofree nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } +attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #1 = { mustprogress uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) } attributes #3 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) } diff --git a/bench/abseil-cpp/optimized/log_sink_test.cc.ll b/bench/abseil-cpp/optimized/log_sink_test.cc.ll index 2e9dd4d49c9..22c26287279 100644 --- a/bench/abseil-cpp/optimized/log_sink_test.cc.ll +++ b/bench/abseil-cpp/optimized/log_sink_test.cc.ll @@ -15704,23 +15704,24 @@ _ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPKvEE8allocateERS2_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPKvSaIS1_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i -_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #25 br label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i -_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %untyped_actions_, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/log_streamer_test.cc.ll b/bench/abseil-cpp/optimized/log_streamer_test.cc.ll index 1014facc9f6..e80c6b7efd6 100644 --- a/bench/abseil-cpp/optimized/log_streamer_test.cc.ll +++ b/bench/abseil-cpp/optimized/log_streamer_test.cc.ll @@ -14439,23 +14439,24 @@ _ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i: ; preds = %_ZNSt16all %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPKvEE8allocateERS2_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPKvSaIS1_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %10, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i + br label %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i -_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPKvSaIS1_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %10, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %10) #25 br label %_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i -_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit20.i.i.i +_ZNSt6vectorIPKvSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPKvSaIS1_EE11_S_relocateEPS1_S4_S4_RS2_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %untyped_actions_, align 8 store ptr %incdec.ptr.i.i.i, ptr %_M_finish.i.i, align 8 %add.ptr19.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %cond.i.i.i.i diff --git a/bench/abseil-cpp/optimized/log_uniform_int_distribution_test.cc.ll b/bench/abseil-cpp/optimized/log_uniform_int_distribution_test.cc.ll index be8b0610ad6..1c739c44751 100644 --- a/bench/abseil-cpp/optimized/log_uniform_int_distribution_test.cc.ll +++ b/bench/abseil-cpp/optimized/log_uniform_int_distribution_test.cc.ll @@ -1185,23 +1185,24 @@ _ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE %cond.i10.i.i.i = phi ptr [ %call5.i.i.i.i.i.i, %_ZNSt16allocator_traitsISaIPN7testing8internal30ParameterizedTestSuiteInfoBaseEEE8allocateERS4_m.exit.i.i.i.i ], [ null, %_ZNKSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i ] %add.ptr.i.i.i = getelementptr inbounds ptr, ptr %cond.i10.i.i.i, i64 %sub.ptr.div.i.i.i.i.i store ptr %call18, ptr %add.ptr.i.i.i, align 8 - %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.div.i.i.i.i.i, 0 - br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + %cmp.i.i.i11.i.i.i = icmp sgt i64 %sub.ptr.sub.i.i.i.i.i, 0 + br i1 %cmp.i.i.i11.i.i.i, label %if.then.i.i.i12.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i if.then.i.i.i12.i.i.i: ; preds = %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %cond.i10.i.i.i, ptr align 8 %20, i64 %sub.ptr.sub.i.i.i.i.i, i1 false) - br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i + br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i - %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i, i64 1 +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i: ; preds = %if.then.i.i.i12.i.i.i, %_ZNSt12_Vector_baseIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_M_allocateEm.exit.i.i.i + %add.ptr.i.i.i.i.i.i = getelementptr inbounds i8, ptr %cond.i10.i.i.i, i64 %sub.ptr.sub.i.i.i.i.i + %incdec.ptr.i.i.i = getelementptr inbounds ptr, ptr %add.ptr.i.i.i.i.i.i, i64 1 %tobool.not.i.i.i.i = icmp eq ptr %20, null - br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i21.i.i.i + br i1 %tobool.not.i.i.i.i, label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %if.then.i20.i.i.i -if.then.i21.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +if.then.i20.i.i.i: ; preds = %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i call void @_ZdlPv(ptr noundef nonnull %20) #28 br label %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i -_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i21.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit20.i.i.i +_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i: ; preds = %if.then.i20.i.i.i, %_ZNSt6vectorIPN7testing8internal30ParameterizedTestSuiteInfoBaseESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit19.i.i.i store ptr %cond.i10.i.i.i, ptr %this, align 8 store ptr %in{"code":"deadline_exceeded","msg":"operation timed out"}